diff --git a/.dprint.jsonc b/.dprint.jsonc index 945a51ab237e9..a5b46620d6465 100644 --- a/.dprint.jsonc +++ b/.dprint.jsonc @@ -1,4 +1,5 @@ { + // If updating this, also update the config in dtsBundler.mjs. "indentWidth": 4, "lineWidth": 1000, "newLineKind": "auto", @@ -56,9 +57,10 @@ "**/_namespaces/**" ], // Note: if adding new languages, make sure settings.template.json is updated too. + // Also, if updating typescript, update the one in package.json. "plugins": [ - "https://plugins.dprint.dev/typescript-0.90.0.wasm", - "https://plugins.dprint.dev/json-0.19.2.wasm", - "https://plugins.dprint.dev/prettier-0.39.0.json@896b70f29ef8213c1b0ba81a93cee9c2d4f39ac2194040313cd433906db7bc7c" + "https://plugins.dprint.dev/typescript-0.91.0.wasm", + "https://plugins.dprint.dev/json-0.19.3.wasm", + "https://plugins.dprint.dev/prettier-0.40.0.json@68c668863ec834d4be0f6f5ccaab415df75336a992aceb7eeeb14fdf096a9e9c" ] } diff --git a/.eslintrc.json b/.eslintrc.json index 668bbad52298f..1c2de33bec6c9 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -144,7 +144,8 @@ "local/no-in-operator": "error", "local/debug-assert": "error", "local/no-keywords": "error", - "local/jsdoc-format": "error" + "local/jsdoc-format": "error", + "local/js-extensions": "error" }, "overrides": [ // By default, the ESLint CLI only looks at .js files. But, it will also look at diff --git a/.github/workflows/accept-baselines-fix-lints.yaml b/.github/workflows/accept-baselines-fix-lints.yaml index e0e458f2c065a..6b9480874288f 100644 --- a/.github/workflows/accept-baselines-fix-lints.yaml +++ b/.github/workflows/accept-baselines-fix-lints.yaml @@ -17,7 +17,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 with: token: ${{ secrets.TS_BOT_GITHUB_TOKEN }} - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index edb7a14820c51..b5d1897e216f3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -49,7 +49,7 @@ jobs: name: Test Node ${{ matrix.node-version }} on ${{ matrix.os }}${{ (!matrix.bundle && ' with --no-bundle') || '' }} steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 - name: Use node version ${{ matrix.node-version }} uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: @@ -73,7 +73,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: node-version: '*' @@ -87,7 +87,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: node-version: '*' @@ -108,7 +108,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: node-version: '*' @@ -125,7 +125,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: node-version: '*' @@ -139,7 +139,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: @@ -181,11 +181,11 @@ jobs: if: github.event_name == 'pull_request' steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 with: path: pr - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 with: path: base ref: ${{ github.base_ref }} @@ -223,7 +223,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: node-version: '*' @@ -240,7 +240,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: node-version: '*' @@ -260,7 +260,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: node-version: '*' diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index f696653c70f7f..9367758462749 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -42,11 +42,11 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@d39d31e687223d841ef683f52467bd88e9b21c14 # v3.25.3 + uses: github/codeql-action/init@ccf74c947955fd1cf117aef6a0e4e66191ef6f61 # v3.25.4 with: config-file: ./.github/codeql/codeql-configuration.yml # Override language selection by uncommenting this and choosing your languages @@ -56,7 +56,7 @@ jobs: # 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@d39d31e687223d841ef683f52467bd88e9b21c14 # v3.25.3 + uses: github/codeql-action/autobuild@ccf74c947955fd1cf117aef6a0e4e66191ef6f61 # v3.25.4 # ℹī¸ 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 @@ -70,4 +70,4 @@ jobs: # make release - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@d39d31e687223d841ef683f52467bd88e9b21c14 # v3.25.3 + uses: github/codeql-action/analyze@ccf74c947955fd1cf117aef6a0e4e66191ef6f61 # v3.25.4 diff --git a/.github/workflows/create-cherry-pick-pr.yml b/.github/workflows/create-cherry-pick-pr.yml index 1024070708f4b..73a199291872e 100644 --- a/.github/workflows/create-cherry-pick-pr.yml +++ b/.github/workflows/create-cherry-pick-pr.yml @@ -47,7 +47,7 @@ jobs: if: github.repository == 'microsoft/TypeScript' steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 with: filter: blob:none # https://github.blog/2020-12-21-get-up-to-speed-with-partial-clone-and-shallow-clone/ fetch-depth: 0 # Default is 1; need to set to 0 to get the benefits of blob:none. diff --git a/.github/workflows/insiders.yaml b/.github/workflows/insiders.yaml index 0b24d11baa0e7..c5ebda6349150 100644 --- a/.github/workflows/insiders.yaml +++ b/.github/workflows/insiders.yaml @@ -20,7 +20,7 @@ jobs: if: github.repository == 'microsoft/TypeScript' steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: node-version: 'lts/*' @@ -42,7 +42,7 @@ jobs: if: github.repository == 'microsoft/TypeScript' steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: node-version: 'lts/*' diff --git a/.github/workflows/lkg.yml b/.github/workflows/lkg.yml index 72cd27b7c062b..d79d96790556a 100644 --- a/.github/workflows/lkg.yml +++ b/.github/workflows/lkg.yml @@ -27,7 +27,7 @@ jobs: exit 1 fi - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 with: ref: ${{ inputs.branch_name }} token: ${{ secrets.TS_BOT_GITHUB_TOKEN }} diff --git a/.github/workflows/new-release-branch.yaml b/.github/workflows/new-release-branch.yaml index 68ef5bcda76b5..5f485067b8343 100644 --- a/.github/workflows/new-release-branch.yaml +++ b/.github/workflows/new-release-branch.yaml @@ -50,7 +50,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 with: filter: blob:none # https://github.blog/2020-12-21-get-up-to-speed-with-partial-clone-and-shallow-clone/ fetch-depth: 0 # Default is 1; need to set to 0 to get the benefits of blob:none. diff --git a/.github/workflows/nightly.yaml b/.github/workflows/nightly.yaml index 8aa7b7a97ae8d..e6cd366e14558 100644 --- a/.github/workflows/nightly.yaml +++ b/.github/workflows/nightly.yaml @@ -21,7 +21,7 @@ jobs: if: github.repository == 'microsoft/TypeScript' steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: node-version: 'lts/*' @@ -42,7 +42,7 @@ jobs: if: github.repository == 'microsoft/TypeScript' steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: node-version: 'lts/*' diff --git a/.github/workflows/release-branch-artifact.yaml b/.github/workflows/release-branch-artifact.yaml index c097bf46abd78..08a79bfabd9c9 100644 --- a/.github/workflows/release-branch-artifact.yaml +++ b/.github/workflows/release-branch-artifact.yaml @@ -19,7 +19,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: node-version: 'lts/*' diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index bad1aa47aaceb..4df7ed4df43d5 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -29,12 +29,12 @@ jobs: steps: - name: 'Checkout code' - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 with: persist-credentials: false - name: 'Run analysis' - uses: ossf/scorecard-action@0864cf19026789058feabb7e87baa5f140aac736 # v2.3.1 + uses: ossf/scorecard-action@dc50aa9510b46c811795eb24b2f1ba02a914e534 # v2.3.3 with: results_file: results.sarif results_format: sarif @@ -55,6 +55,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@d39d31e687223d841ef683f52467bd88e9b21c14 # v3.25.3 + uses: github/codeql-action/upload-sarif@ccf74c947955fd1cf117aef6a0e4e66191ef6f61 # v3.25.4 with: sarif_file: results.sarif diff --git a/.github/workflows/set-version.yaml b/.github/workflows/set-version.yaml index 6a7fd02f88834..4837a7775a54f 100644 --- a/.github/workflows/set-version.yaml +++ b/.github/workflows/set-version.yaml @@ -49,7 +49,7 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 with: ref: ${{ inputs.branch_name }} token: ${{ secrets.TS_BOT_GITHUB_TOKEN }} diff --git a/.github/workflows/sync-branch.yaml b/.github/workflows/sync-branch.yaml index 753f93b77d8e7..6b343119a105b 100644 --- a/.github/workflows/sync-branch.yaml +++ b/.github/workflows/sync-branch.yaml @@ -45,7 +45,7 @@ jobs: - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: node-version: 'lts/*' - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 with: ref: ${{ inputs.branch_name }} filter: blob:none # https://github.blog/2020-12-21-get-up-to-speed-with-partial-clone-and-shallow-clone/ diff --git a/.github/workflows/sync-wiki.yml b/.github/workflows/sync-wiki.yml index efa7cd7d375ea..c5cc842efa914 100644 --- a/.github/workflows/sync-wiki.yml +++ b/.github/workflows/sync-wiki.yml @@ -18,7 +18,7 @@ jobs: - name: Get repo name run: R=${GITHUB_REPOSITORY%?wiki}; echo "BASENAME=${R##*/}" >> $GITHUB_ENV - name: Checkout ${{ env.BASENAME }}-wiki - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 with: repository: '${{ GITHUB.repository_owner }}/${{ env.BASENAME }}-wiki' token: ${{ secrets.TS_BOT_GITHUB_TOKEN }} diff --git a/.github/workflows/twoslash-repros.yaml b/.github/workflows/twoslash-repros.yaml index 211c41e502b10..972c431606da9 100644 --- a/.github/workflows/twoslash-repros.yaml +++ b/.github/workflows/twoslash-repros.yaml @@ -49,12 +49,12 @@ jobs: runs-on: ubuntu-latest steps: - if: ${{ github.event.inputs.bisect }} - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 with: filter: blob:none # https://github.blog/2020-12-21-get-up-to-speed-with-partial-clone-and-shallow-clone/ fetch-depth: 0 # Default is 1; need to set to 0 to get the benefits of blob:none. - if: ${{ !github.event.inputs.bisect }} - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: node-version: 'lts/*' diff --git a/.github/workflows/update-package-lock.yaml b/.github/workflows/update-package-lock.yaml index dc016ee2652b5..a6897956604fb 100644 --- a/.github/workflows/update-package-lock.yaml +++ b/.github/workflows/update-package-lock.yaml @@ -22,7 +22,7 @@ jobs: if: github.repository == 'microsoft/TypeScript' steps: - - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 + - uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5 with: token: ${{ secrets.TS_BOT_GITHUB_TOKEN }} - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 diff --git a/.vscode/settings.template.json b/.vscode/settings.template.json index e918fd9577867..82315167674d9 100644 --- a/.vscode/settings.template.json +++ b/.vscode/settings.template.json @@ -18,6 +18,9 @@ ".git-blame-ignore-revs" ], + "javascript.preferences.importModuleSpecifierEnding": "js", + "typescript.preferences.importModuleSpecifierEnding": "js", + // Match dprint in organize/auto-imports. "typescript.unstable": { "organizeImportsCollation": "unicode", diff --git a/package-lock.json b/package-lock.json index 90a05842f36e2..75d6c9fad24d6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,9 +13,11 @@ "tsserver": "bin/tsserver" }, "devDependencies": { + "@dprint/formatter": "^0.3.0", + "@dprint/typescript": "0.91.0", "@esfx/canceltoken": "^1.0.0", - "@octokit/rest": "^20.0.2", - "@types/chai": "^4.3.14", + "@octokit/rest": "^20.1.1", + "@types/chai": "^4.3.16", "@types/microsoft__typescript-etw": "^0.1.3", "@types/minimist": "^1.2.5", "@types/mocha": "^10.0.6", @@ -23,48 +25,39 @@ "@types/node": "latest", "@types/source-map-support": "^0.5.10", "@types/which": "^3.0.3", - "@typescript-eslint/eslint-plugin": "^7.3.1", - "@typescript-eslint/parser": "^7.3.1", - "@typescript-eslint/utils": "^7.3.1", - "azure-devops-node-api": "^12.5.0", + "@typescript-eslint/eslint-plugin": "^7.11.0", + "@typescript-eslint/parser": "^7.11.0", + "@typescript-eslint/utils": "^7.11.0", + "azure-devops-node-api": "^13.0.0", "c8": "^9.1.0", "chai": "^4.4.1", "chalk": "^4.1.2", "chokidar": "^3.6.0", "diff": "^5.2.0", - "dprint": "^0.45.0", - "esbuild": "^0.20.2", + "dprint": "^0.46.1", + "esbuild": "^0.21.4", "eslint": "^8.57.0", "eslint-formatter-autolinkable-stylish": "^1.3.0", - "eslint-plugin-local": "^4.2.1", - "fast-xml-parser": "^4.3.6", - "glob": "^10.3.10", + "eslint-plugin-local": "^4.2.2", + "fast-xml-parser": "^4.4.0", + "glob": "^10.4.1", "hereby": "^1.8.9", "jsonc-parser": "^3.2.1", "minimist": "^1.2.8", - "mocha": "^10.3.0", + "mocha": "^10.4.0", "mocha-fivemat-progress-reporter": "^0.1.0", "ms": "^2.1.3", "node-fetch": "^3.3.2", - "playwright": "^1.42.1", + "playwright": "^1.44.1", "source-map-support": "^0.5.21", "tslib": "^2.6.2", - "typescript": "^5.4.3", + "typescript": "^5.4.5", "which": "^3.0.1" }, "engines": { "node": ">=14.17" } }, - "node_modules/@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/@bcoe/v8-coverage": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", @@ -72,9 +65,9 @@ "dev": true }, "node_modules/@dprint/darwin-arm64": { - "version": "0.45.1", - "resolved": "https://registry.npmjs.org/@dprint/darwin-arm64/-/darwin-arm64-0.45.1.tgz", - "integrity": "sha512-pH0/uKLJ5SJPoHhOwLWFMhCmL0BY3FzWQbull8OGMK/FRkIPgOl2adZSovtUZpUMGWyDOzIWH1fW9X2DuMhnEg==", + "version": "0.46.1", + "resolved": "https://registry.npmjs.org/@dprint/darwin-arm64/-/darwin-arm64-0.46.1.tgz", + "integrity": "sha512-dycE/uE++NGKYhKwSOrm1EculcD48GM12A1BF0f3Q2OW1ZNUqvlui/99lrohjPulJaIYX/QZQJ4hzTnaa6EDUA==", "cpu": [ "arm64" ], @@ -85,9 +78,9 @@ ] }, "node_modules/@dprint/darwin-x64": { - "version": "0.45.1", - "resolved": "https://registry.npmjs.org/@dprint/darwin-x64/-/darwin-x64-0.45.1.tgz", - "integrity": "sha512-YUj421LmBLDlxpIER3pORKfQmpmXD50n5mClHjpZrnl17WTiHtQ+jHvDJdJoxH2eS66W0mQyxLoGo5SfFfiM7A==", + "version": "0.46.1", + "resolved": "https://registry.npmjs.org/@dprint/darwin-x64/-/darwin-x64-0.46.1.tgz", + "integrity": "sha512-q4Q8TQj51OU+SXhHCzP6jxUtwyCR6Vsmla7yyJVZKryA5l2WUqsSPimkq7Tt4K6ciDficTNxi5aaN/DMXBND2w==", "cpu": [ "x64" ], @@ -97,10 +90,16 @@ "darwin" ] }, + "node_modules/@dprint/formatter": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@dprint/formatter/-/formatter-0.3.0.tgz", + "integrity": "sha512-N9fxCxbaBOrDkteSOzaCqwWjso5iAe+WJPsHC021JfHNj2ThInPNEF13ORDKta3llq5D1TlclODCvOvipH7bWQ==", + "dev": true + }, "node_modules/@dprint/linux-arm64-glibc": { - "version": "0.45.1", - "resolved": "https://registry.npmjs.org/@dprint/linux-arm64-glibc/-/linux-arm64-glibc-0.45.1.tgz", - "integrity": "sha512-lJ7s/pOQWRJ0mstjZQnVyX2/3QRXZ9cpFHJDZ7e81Y8QSn/iqxTrnK0DPgxUrDG8hYKQmWQdQLU4sP5DKBz0Jg==", + "version": "0.46.1", + "resolved": "https://registry.npmjs.org/@dprint/linux-arm64-glibc/-/linux-arm64-glibc-0.46.1.tgz", + "integrity": "sha512-kT6UHU8nN516nfk42IpxvQ9yRHg+lVcWyaGU6Pk/Wn0t/9UDqS2SWXfNNYFvq3A+IVsOAEY6ZvD40D1uXey0Pg==", "cpu": [ "arm64" ], @@ -111,9 +110,9 @@ ] }, "node_modules/@dprint/linux-arm64-musl": { - "version": "0.45.1", - "resolved": "https://registry.npmjs.org/@dprint/linux-arm64-musl/-/linux-arm64-musl-0.45.1.tgz", - "integrity": "sha512-un2awe1L1sAJLsCPSEUrE0/cgupdzbYFoyBOutyU1zHR9KQn47AtIDw+chvuinU4xleHDuEGyXGuJ6NE+Ky6vw==", + "version": "0.46.1", + "resolved": "https://registry.npmjs.org/@dprint/linux-arm64-musl/-/linux-arm64-musl-0.46.1.tgz", + "integrity": "sha512-Qo71XzmL7GWEKPKKTFDf27WUO8mO+eXEvKY4gRiFuV2lOPw0VCfadc4iqlTCPj8Wp9qIKK7z/NgQXkVjPMbx5Q==", "cpu": [ "arm64" ], @@ -124,9 +123,9 @@ ] }, "node_modules/@dprint/linux-x64-glibc": { - "version": "0.45.1", - "resolved": "https://registry.npmjs.org/@dprint/linux-x64-glibc/-/linux-x64-glibc-0.45.1.tgz", - "integrity": "sha512-5Civht90S/g8zlyYB7n4oH78p+sLbNqeFCFuImJRK7uRxZwCRya7lji6RwlB6DQ7qngVqovTHj9RLOYfZzfVlg==", + "version": "0.46.1", + "resolved": "https://registry.npmjs.org/@dprint/linux-x64-glibc/-/linux-x64-glibc-0.46.1.tgz", + "integrity": "sha512-ZDgJaCTY8Cb9F2FUlBgpN++stVamGKvy7MfdkKvvahAdkCQvba7kJg91aLGHNhDilDTo1IPgLcXLEP4xPhXMyA==", "cpu": [ "x64" ], @@ -137,9 +136,9 @@ ] }, "node_modules/@dprint/linux-x64-musl": { - "version": "0.45.1", - "resolved": "https://registry.npmjs.org/@dprint/linux-x64-musl/-/linux-x64-musl-0.45.1.tgz", - "integrity": "sha512-p2/gjnHDd8GRCvtey5HZO4o/He6pSmY/zpcCuIXprFW9P0vNlEj3DFhz4FPpOKXM+csrsVWWs2E0T/xr5QZtVg==", + "version": "0.46.1", + "resolved": "https://registry.npmjs.org/@dprint/linux-x64-musl/-/linux-x64-musl-0.46.1.tgz", + "integrity": "sha512-6I+ubsGL89k9Vezo6AwWoLDHMoyGdBiHvVvfopF3GwDW1y4jRFXqSeVt3IGoeNa2PXZBEzhGzgiNl1YFFjao/A==", "cpu": [ "x64" ], @@ -149,10 +148,16 @@ "linux" ] }, + "node_modules/@dprint/typescript": { + "version": "0.91.0", + "resolved": "https://registry.npmjs.org/@dprint/typescript/-/typescript-0.91.0.tgz", + "integrity": "sha512-NUKkNbuSnaEHONhiKhyn+V+wMzuLFXMZB7ACtyqKcdTJCXajmzkb6oSeaTAgTeNgRlua1zKgUOzKVAc/cp5Qwg==", + "dev": true + }, "node_modules/@dprint/win32-x64": { - "version": "0.45.1", - "resolved": "https://registry.npmjs.org/@dprint/win32-x64/-/win32-x64-0.45.1.tgz", - "integrity": "sha512-2l78XM7KsW46P2Yv6uPB3fE+y92EsBlrCxi+RVQ0pbznPFdMdkLyGgaCuh683zdld14jHlaADpIQ7YchGAEMAg==", + "version": "0.46.1", + "resolved": "https://registry.npmjs.org/@dprint/win32-x64/-/win32-x64-0.46.1.tgz", + "integrity": "sha512-ugdhmL3Lo9n6Si/7eBtj1Rgo3Hbmf+9G0JxsWvuZBRA7Y+Xa9vtxbU4XqpUfG8rict5wR3b0i2X0iexVUgMYxA==", "cpu": [ "x64" ], @@ -163,9 +168,9 @@ ] }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz", - "integrity": "sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.4.tgz", + "integrity": "sha512-Zrm+B33R4LWPLjDEVnEqt2+SLTATlru1q/xYKVn8oVTbiRBGmK2VIMoIYGJDGyftnGaC788IuzGFAlb7IQ0Y8A==", "cpu": [ "ppc64" ], @@ -179,9 +184,9 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.2.tgz", - "integrity": "sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.4.tgz", + "integrity": "sha512-E7H/yTd8kGQfY4z9t3nRPk/hrhaCajfA3YSQSBrst8B+3uTcgsi8N+ZWYCaeIDsiVs6m65JPCaQN/DxBRclF3A==", "cpu": [ "arm" ], @@ -195,9 +200,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz", - "integrity": "sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.4.tgz", + "integrity": "sha512-fYFnz+ObClJ3dNiITySBUx+oNalYUT18/AryMxfovLkYWbutXsct3Wz2ZWAcGGppp+RVVX5FiXeLYGi97umisA==", "cpu": [ "arm64" ], @@ -211,9 +216,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.2.tgz", - "integrity": "sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.4.tgz", + "integrity": "sha512-mDqmlge3hFbEPbCWxp4fM6hqq7aZfLEHZAKGP9viq9wMUBVQx202aDIfc3l+d2cKhUJM741VrCXEzRFhPDKH3Q==", "cpu": [ "x64" ], @@ -227,9 +232,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz", - "integrity": "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.4.tgz", + "integrity": "sha512-72eaIrDZDSiWqpmCzVaBD58c8ea8cw/U0fq/PPOTqE3c53D0xVMRt2ooIABZ6/wj99Y+h4ksT/+I+srCDLU9TA==", "cpu": [ "arm64" ], @@ -243,9 +248,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz", - "integrity": "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.4.tgz", + "integrity": "sha512-uBsuwRMehGmw1JC7Vecu/upOjTsMhgahmDkWhGLWxIgUn2x/Y4tIwUZngsmVb6XyPSTXJYS4YiASKPcm9Zitag==", "cpu": [ "x64" ], @@ -259,9 +264,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz", - "integrity": "sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.4.tgz", + "integrity": "sha512-8JfuSC6YMSAEIZIWNL3GtdUT5NhUA/CMUCpZdDRolUXNAXEE/Vbpe6qlGLpfThtY5NwXq8Hi4nJy4YfPh+TwAg==", "cpu": [ "arm64" ], @@ -275,9 +280,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz", - "integrity": "sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.4.tgz", + "integrity": "sha512-8d9y9eQhxv4ef7JmXny7591P/PYsDFc4+STaxC1GBv0tMyCdyWfXu2jBuqRsyhY8uL2HU8uPyscgE2KxCY9imQ==", "cpu": [ "x64" ], @@ -291,9 +296,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz", - "integrity": "sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.4.tgz", + "integrity": "sha512-2rqFFefpYmpMs+FWjkzSgXg5vViocqpq5a1PSRgT0AvSgxoXmGF17qfGAzKedg6wAwyM7UltrKVo9kxaJLMF/g==", "cpu": [ "arm" ], @@ -307,9 +312,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz", - "integrity": "sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.4.tgz", + "integrity": "sha512-/GLD2orjNU50v9PcxNpYZi+y8dJ7e7/LhQukN3S4jNDXCKkyyiyAz9zDw3siZ7Eh1tRcnCHAo/WcqKMzmi4eMQ==", "cpu": [ "arm64" ], @@ -323,9 +328,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz", - "integrity": "sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.4.tgz", + "integrity": "sha512-pNftBl7m/tFG3t2m/tSjuYeWIffzwAZT9m08+9DPLizxVOsUl8DdFzn9HvJrTQwe3wvJnwTdl92AonY36w/25g==", "cpu": [ "ia32" ], @@ -339,9 +344,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz", - "integrity": "sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.4.tgz", + "integrity": "sha512-cSD2gzCK5LuVX+hszzXQzlWya6c7hilO71L9h4KHwqI4qeqZ57bAtkgcC2YioXjsbfAv4lPn3qe3b00Zt+jIfQ==", "cpu": [ "loong64" ], @@ -355,9 +360,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz", - "integrity": "sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.4.tgz", + "integrity": "sha512-qtzAd3BJh7UdbiXCrg6npWLYU0YpufsV9XlufKhMhYMJGJCdfX/G6+PNd0+v877X1JG5VmjBLUiFB0o8EUSicA==", "cpu": [ "mips64el" ], @@ -371,9 +376,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz", - "integrity": "sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.4.tgz", + "integrity": "sha512-yB8AYzOTaL0D5+2a4xEy7OVvbcypvDR05MsB/VVPVA7nL4hc5w5Dyd/ddnayStDgJE59fAgNEOdLhBxjfx5+dg==", "cpu": [ "ppc64" ], @@ -387,9 +392,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz", - "integrity": "sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.4.tgz", + "integrity": "sha512-Y5AgOuVzPjQdgU59ramLoqSSiXddu7F3F+LI5hYy/d1UHN7K5oLzYBDZe23QmQJ9PIVUXwOdKJ/jZahPdxzm9w==", "cpu": [ "riscv64" ], @@ -403,9 +408,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz", - "integrity": "sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.4.tgz", + "integrity": "sha512-Iqc/l/FFwtt8FoTK9riYv9zQNms7B8u+vAI/rxKuN10HgQIXaPzKZc479lZ0x6+vKVQbu55GdpYpeNWzjOhgbA==", "cpu": [ "s390x" ], @@ -419,9 +424,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz", - "integrity": "sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.4.tgz", + "integrity": "sha512-Td9jv782UMAFsuLZINfUpoF5mZIbAj+jv1YVtE58rFtfvoKRiKSkRGQfHTgKamLVT/fO7203bHa3wU122V/Bdg==", "cpu": [ "x64" ], @@ -435,9 +440,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz", - "integrity": "sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.4.tgz", + "integrity": "sha512-Awn38oSXxsPMQxaV0Ipb7W/gxZtk5Tx3+W+rAPdZkyEhQ6968r9NvtkjhnhbEgWXYbgV+JEONJ6PcdBS+nlcpA==", "cpu": [ "x64" ], @@ -451,9 +456,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz", - "integrity": "sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.4.tgz", + "integrity": "sha512-IsUmQeCY0aU374R82fxIPu6vkOybWIMc3hVGZ3ChRwL9hA1TwY+tS0lgFWV5+F1+1ssuvvXt3HFqe8roCip8Hg==", "cpu": [ "x64" ], @@ -467,9 +472,9 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz", - "integrity": "sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.4.tgz", + "integrity": "sha512-hsKhgZ4teLUaDA6FG/QIu2q0rI6I36tZVfM4DBZv3BG0mkMIdEnMbhc4xwLvLJSS22uWmaVkFkqWgIS0gPIm+A==", "cpu": [ "x64" ], @@ -483,9 +488,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz", - "integrity": "sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.4.tgz", + "integrity": "sha512-UUfMgMoXPoA/bvGUNfUBFLCh0gt9dxZYIx9W4rfJr7+hKe5jxxHmfOK8YSH4qsHLLN4Ck8JZ+v7Q5fIm1huErg==", "cpu": [ "arm64" ], @@ -499,9 +504,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz", - "integrity": "sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.4.tgz", + "integrity": "sha512-yIxbspZb5kGCAHWm8dexALQ9en1IYDfErzjSEq1KzXFniHv019VT3mNtTK7t8qdy4TwT6QYHI9sEZabONHg+aw==", "cpu": [ "ia32" ], @@ -515,9 +520,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz", - "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.4.tgz", + "integrity": "sha512-sywLRD3UK/qRJt0oBwdpYLBibk7KiRfbswmWRDabuncQYSlf8aLEEUor/oP6KRz8KEG+HoiVLBhPRD5JWjS8Sg==", "cpu": [ "x64" ], @@ -857,18 +862,18 @@ } }, "node_modules/@octokit/openapi-types": { - "version": "22.1.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-22.1.0.tgz", - "integrity": "sha512-pGUdSP+eEPfZiQHNkZI0U01HLipxncisdJQB4G//OAmfeO8sqTQ9KRa0KF03TUPCziNsoXUrTg4B2Q1EX++T0Q==", + "version": "22.2.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-22.2.0.tgz", + "integrity": "sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg==", "dev": true }, "node_modules/@octokit/plugin-paginate-rest": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-9.2.1.tgz", - "integrity": "sha512-wfGhE/TAkXZRLjksFXuDZdmGnJQHvtU/joFQdweXUgzo1XwvBCD4o4+75NtFfjfLK5IwLf9vHTfSiU3sLRYpRw==", + "version": "11.3.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.3.1.tgz", + "integrity": "sha512-ryqobs26cLtM1kQxqeZui4v8FeznirUsksiA+RYemMPJ7Micju0WSkv50dBksTuZks9O5cg4wp+t8fZ/cLY56g==", "dev": true, "dependencies": { - "@octokit/types": "^12.6.0" + "@octokit/types": "^13.5.0" }, "engines": { "node": ">= 18" @@ -877,21 +882,6 @@ "@octokit/core": "5" } }, - "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/openapi-types": { - "version": "20.0.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-20.0.0.tgz", - "integrity": "sha512-EtqRBEjp1dL/15V7WiX5LJMIxxkdiGJnabzYx5Apx4FkQIFgAfKumXeYAqqJCj1s+BMX4cPFIFC4OLCR6stlnA==", - "dev": true - }, - "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types": { - "version": "12.6.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-12.6.0.tgz", - "integrity": "sha512-1rhSOfRa6H9w4YwK0yrf5faDaDTb+yLyBUKOCV4xtCDB5VmIPqd/v9yr9o6SAzOAlRxMiRiCic6JVM1/kunVkw==", - "dev": true, - "dependencies": { - "@octokit/openapi-types": "^20.0.0" - } - }, "node_modules/@octokit/plugin-request-log": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-4.0.1.tgz", @@ -905,33 +895,18 @@ } }, "node_modules/@octokit/plugin-rest-endpoint-methods": { - "version": "10.4.1", - "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-10.4.1.tgz", - "integrity": "sha512-xV1b+ceKV9KytQe3zCVqjg+8GTGfDYwaT1ATU5isiUyVtlVAO3HNdzpS4sr4GBx4hxQ46s7ITtZrAsxG22+rVg==", + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-13.2.2.tgz", + "integrity": "sha512-EI7kXWidkt3Xlok5uN43suK99VWqc8OaIMktY9d9+RNKl69juoTyxmLoWPIZgJYzi41qj/9zU7G/ljnNOJ5AFA==", "dev": true, "dependencies": { - "@octokit/types": "^12.6.0" + "@octokit/types": "^13.5.0" }, "engines": { "node": ">= 18" }, "peerDependencies": { - "@octokit/core": "5" - } - }, - "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/openapi-types": { - "version": "20.0.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-20.0.0.tgz", - "integrity": "sha512-EtqRBEjp1dL/15V7WiX5LJMIxxkdiGJnabzYx5Apx4FkQIFgAfKumXeYAqqJCj1s+BMX4cPFIFC4OLCR6stlnA==", - "dev": true - }, - "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types": { - "version": "12.6.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-12.6.0.tgz", - "integrity": "sha512-1rhSOfRa6H9w4YwK0yrf5faDaDTb+yLyBUKOCV4xtCDB5VmIPqd/v9yr9o6SAzOAlRxMiRiCic6JVM1/kunVkw==", - "dev": true, - "dependencies": { - "@octokit/openapi-types": "^20.0.0" + "@octokit/core": "^5" } }, "node_modules/@octokit/request": { @@ -964,27 +939,27 @@ } }, "node_modules/@octokit/rest": { - "version": "20.1.0", - "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-20.1.0.tgz", - "integrity": "sha512-STVO3itHQLrp80lvcYB2UIKoeil5Ctsgd2s1AM+du3HqZIR35ZH7WE9HLwUOLXH0myA0y3AGNPo8gZtcgIbw0g==", + "version": "20.1.1", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-20.1.1.tgz", + "integrity": "sha512-MB4AYDsM5jhIHro/dq4ix1iWTLGToIGk6cWF5L6vanFaMble5jTX/UBQyiv05HsWnwUtY8JrfHy2LWfKwihqMw==", "dev": true, "dependencies": { "@octokit/core": "^5.0.2", - "@octokit/plugin-paginate-rest": "^9.1.5", + "@octokit/plugin-paginate-rest": "11.3.1", "@octokit/plugin-request-log": "^4.0.0", - "@octokit/plugin-rest-endpoint-methods": "^10.2.0" + "@octokit/plugin-rest-endpoint-methods": "13.2.2" }, "engines": { "node": ">= 18" } }, "node_modules/@octokit/types": { - "version": "13.4.1", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.4.1.tgz", - "integrity": "sha512-Y73oOAzRBAUzR/iRAbGULzpNkX8vaxKCqEtg6K74Ff3w9f5apFnWtE/2nade7dMWWW3bS5Kkd6DJS4HF04xreg==", + "version": "13.5.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.5.0.tgz", + "integrity": "sha512-HdqWTf5Z3qwDVlzCrP8UJquMwunpDiMPt5er+QjGzL4hqr/vBVY/MauQgS1xWxCDT1oMx1EULyqxncdCY/NVSQ==", "dev": true, "dependencies": { - "@octokit/openapi-types": "^22.1.0" + "@octokit/openapi-types": "^22.2.0" } }, "node_modules/@pkgjs/parseargs": { @@ -1010,9 +985,9 @@ } }, "node_modules/@types/chai": { - "version": "4.3.14", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.14.tgz", - "integrity": "sha512-Wj71sXE4Q4AkGdG9Tvq1u/fquNz9EdG4LIJMwVVII7ashjD/8cf8fyIfJAjRr6YcsXnSE8cOGQPq1gqeR8z+3w==", + "version": "4.3.16", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.16.tgz", + "integrity": "sha512-PatH4iOdyh3MyWtmHVFXLWCCIhUbopaltqddG9BzB+gMIzee2MJrvd+jouii9Z3wzQJruGWAm7WOMjgfG8hQlQ==", "dev": true }, "node_modules/@types/istanbul-lib-coverage": { @@ -1021,12 +996,6 @@ "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", "dev": true }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true - }, "node_modules/@types/microsoft__typescript-etw": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/@types/microsoft__typescript-etw/-/microsoft__typescript-etw-0.1.3.tgz", @@ -1052,20 +1021,14 @@ "dev": true }, "node_modules/@types/node": { - "version": "20.12.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.7.tgz", - "integrity": "sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==", + "version": "20.12.13", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.13.tgz", + "integrity": "sha512-gBGeanV41c1L171rR7wjbMiEpEI/l5XFQdLLfhr/REwpgDy/4U8y89+i8kRiLzDyZdOkXh+cRaTetUnCYutoXA==", "dev": true, "dependencies": { "undici-types": "~5.26.4" } }, - "node_modules/@types/semver": { - "version": "7.5.8", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", - "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", - "dev": true - }, "node_modules/@types/source-map-support": { "version": "0.5.10", "resolved": "https://registry.npmjs.org/@types/source-map-support/-/source-map-support-0.5.10.tgz", @@ -1082,21 +1045,19 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.7.0.tgz", - "integrity": "sha512-GJWR0YnfrKnsRoluVO3PRb9r5aMZriiMMM/RHj5nnTrBy1/wIgk76XCtCKcnXGjpZQJQRFtGV9/0JJ6n30uwpQ==", + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.11.0.tgz", + "integrity": "sha512-P+qEahbgeHW4JQ/87FuItjBj8O3MYv5gELDzr8QaQ7fsll1gSMTYb6j87MYyxwf3DtD7uGFB9ShwgmCJB5KmaQ==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "7.7.0", - "@typescript-eslint/type-utils": "7.7.0", - "@typescript-eslint/utils": "7.7.0", - "@typescript-eslint/visitor-keys": "7.7.0", - "debug": "^4.3.4", + "@typescript-eslint/scope-manager": "7.11.0", + "@typescript-eslint/type-utils": "7.11.0", + "@typescript-eslint/utils": "7.11.0", + "@typescript-eslint/visitor-keys": "7.11.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", - "semver": "^7.6.0", "ts-api-utils": "^1.3.0" }, "engines": { @@ -1117,15 +1078,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.7.0.tgz", - "integrity": "sha512-fNcDm3wSwVM8QYL4HKVBggdIPAy9Q41vcvC/GtDobw3c4ndVT3K6cqudUmjHPw8EAp4ufax0o58/xvWaP2FmTg==", + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.11.0.tgz", + "integrity": "sha512-yimw99teuaXVWsBcPO1Ais02kwJ1jmNA1KxE7ng0aT7ndr1pT1wqj0OJnsYVGKKlc4QJai86l/025L6z8CljOg==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "7.7.0", - "@typescript-eslint/types": "7.7.0", - "@typescript-eslint/typescript-estree": "7.7.0", - "@typescript-eslint/visitor-keys": "7.7.0", + "@typescript-eslint/scope-manager": "7.11.0", + "@typescript-eslint/types": "7.11.0", + "@typescript-eslint/typescript-estree": "7.11.0", + "@typescript-eslint/visitor-keys": "7.11.0", "debug": "^4.3.4" }, "engines": { @@ -1145,13 +1106,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.7.0.tgz", - "integrity": "sha512-/8INDn0YLInbe9Wt7dK4cXLDYp0fNHP5xKLHvZl3mOT5X17rK/YShXaiNmorl+/U4VKCVIjJnx4Ri5b0y+HClw==", + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.11.0.tgz", + "integrity": "sha512-27tGdVEiutD4POirLZX4YzT180vevUURJl4wJGmm6TrQoiYwuxTIY98PBp6L2oN+JQxzE0URvYlzJaBHIekXAw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "7.7.0", - "@typescript-eslint/visitor-keys": "7.7.0" + "@typescript-eslint/types": "7.11.0", + "@typescript-eslint/visitor-keys": "7.11.0" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -1162,13 +1123,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.7.0.tgz", - "integrity": "sha512-bOp3ejoRYrhAlnT/bozNQi3nio9tIgv3U5C0mVDdZC7cpcQEDZXvq8inrHYghLVwuNABRqrMW5tzAv88Vy77Sg==", + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.11.0.tgz", + "integrity": "sha512-WmppUEgYy+y1NTseNMJ6mCFxt03/7jTOy08bcg7bxJJdsM4nuhnchyBbE8vryveaJUf62noH7LodPSo5Z0WUCg==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "7.7.0", - "@typescript-eslint/utils": "7.7.0", + "@typescript-eslint/typescript-estree": "7.11.0", + "@typescript-eslint/utils": "7.11.0", "debug": "^4.3.4", "ts-api-utils": "^1.3.0" }, @@ -1189,9 +1150,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.7.0.tgz", - "integrity": "sha512-G01YPZ1Bd2hn+KPpIbrAhEWOn5lQBrjxkzHkWvP6NucMXFtfXoevK82hzQdpfuQYuhkvFDeQYbzXCjR1z9Z03w==", + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.11.0.tgz", + "integrity": "sha512-MPEsDRZTyCiXkD4vd3zywDCifi7tatc4K37KqTprCvaXptP7Xlpdw0NR2hRJTetG5TxbWDB79Ys4kLmHliEo/w==", "dev": true, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -1202,13 +1163,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.7.0.tgz", - "integrity": "sha512-8p71HQPE6CbxIBy2kWHqM1KGrC07pk6RJn40n0DSc6bMOBBREZxSDJ+BmRzc8B5OdaMh1ty3mkuWRg4sCFiDQQ==", + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.11.0.tgz", + "integrity": "sha512-cxkhZ2C/iyi3/6U9EPc5y+a6csqHItndvN/CzbNXTNrsC3/ASoYQZEt9uMaEp+xFNjasqQyszp5TumAVKKvJeQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "7.7.0", - "@typescript-eslint/visitor-keys": "7.7.0", + "@typescript-eslint/types": "7.11.0", + "@typescript-eslint/visitor-keys": "7.11.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -1230,18 +1191,15 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.7.0.tgz", - "integrity": "sha512-LKGAXMPQs8U/zMRFXDZOzmMKgFv3COlxUQ+2NMPhbqgVm6R1w+nU1i4836Pmxu9jZAuIeyySNrN/6Rc657ggig==", + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.11.0.tgz", + "integrity": "sha512-xlAWwPleNRHwF37AhrZurOxA1wyXowW4PqVXZVUNCLjB48CqdPJoJWkrpH2nij9Q3Lb7rtWindtoXwxjxlKKCA==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@types/json-schema": "^7.0.15", - "@types/semver": "^7.5.8", - "@typescript-eslint/scope-manager": "7.7.0", - "@typescript-eslint/types": "7.7.0", - "@typescript-eslint/typescript-estree": "7.7.0", - "semver": "^7.6.0" + "@typescript-eslint/scope-manager": "7.11.0", + "@typescript-eslint/types": "7.11.0", + "@typescript-eslint/typescript-estree": "7.11.0" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -1255,12 +1213,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.7.0.tgz", - "integrity": "sha512-h0WHOj8MhdhY8YWkzIF30R379y0NqyOHExI9N9KCzvmu05EgG4FumeYa3ccfKUSphyWkWQE1ybVrgz/Pbam6YA==", + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.11.0.tgz", + "integrity": "sha512-7syYk4MzjxTEk0g/w3iqtgxnFQspDJfn6QKD36xMuuhTzjcxY7F8EmBLnALjVyaOF1/bVocu3bS/2/F7rXrveQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "7.7.0", + "@typescript-eslint/types": "7.11.0", "eslint-visitor-keys": "^3.4.3" }, "engines": { @@ -1394,9 +1352,9 @@ } }, "node_modules/azure-devops-node-api": { - "version": "12.5.0", - "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-12.5.0.tgz", - "integrity": "sha512-R5eFskGvOm3U/GzeAuxRkUsAl0hrAwGgWn6zAd2KrZmrEhWZVqLew4OOupbQlXUuojUzpGtq62SmdhJ06N88og==", + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-13.0.0.tgz", + "integrity": "sha512-T/i3pt2Dxb2//1+TJT05Ff5heUmQEWKwa8sdguIhdRYT3Zge9FYw98zpfFvCD7CZsz6AN74SKGgqF3ISVN2TGg==", "dev": true, "dependencies": { "tunnel": "0.0.6", @@ -1437,12 +1395,12 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -1919,22 +1877,22 @@ } }, "node_modules/dprint": { - "version": "0.45.1", - "resolved": "https://registry.npmjs.org/dprint/-/dprint-0.45.1.tgz", - "integrity": "sha512-OYefcDgxd6jSdig/Cfkw1vdvyiOIRruCPnqGBbXpc95buDt9kvwL+Lic1OHc+SaQSsQub0BUZMd5+TNgy8Sh3A==", + "version": "0.46.1", + "resolved": "https://registry.npmjs.org/dprint/-/dprint-0.46.1.tgz", + "integrity": "sha512-OdILoUitGxbykCYcTijUOtY7bD4kNoSSzm4kHd5sYNh6f64P8Zfcr+e/Dh4oEn89wHIl10TTrrUs7ny5MELKkQ==", "dev": true, "hasInstallScript": true, "bin": { "dprint": "bin.js" }, "optionalDependencies": { - "@dprint/darwin-arm64": "0.45.1", - "@dprint/darwin-x64": "0.45.1", - "@dprint/linux-arm64-glibc": "0.45.1", - "@dprint/linux-arm64-musl": "0.45.1", - "@dprint/linux-x64-glibc": "0.45.1", - "@dprint/linux-x64-musl": "0.45.1", - "@dprint/win32-x64": "0.45.1" + "@dprint/darwin-arm64": "0.46.1", + "@dprint/darwin-x64": "0.46.1", + "@dprint/linux-arm64-glibc": "0.46.1", + "@dprint/linux-arm64-musl": "0.46.1", + "@dprint/linux-x64-glibc": "0.46.1", + "@dprint/linux-x64-musl": "0.46.1", + "@dprint/win32-x64": "0.46.1" } }, "node_modules/eastasianwidth": { @@ -1971,9 +1929,9 @@ } }, "node_modules/esbuild": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz", - "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.4.tgz", + "integrity": "sha512-sFMcNNrj+Q0ZDolrp5pDhH0nRPN9hLIM3fRPwgbLYJeSHHgnXSnbV3xYgSVuOeLWH9c73VwmEverVzupIv5xuA==", "dev": true, "hasInstallScript": true, "bin": { @@ -1983,29 +1941,29 @@ "node": ">=12" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.20.2", - "@esbuild/android-arm": "0.20.2", - "@esbuild/android-arm64": "0.20.2", - "@esbuild/android-x64": "0.20.2", - "@esbuild/darwin-arm64": "0.20.2", - "@esbuild/darwin-x64": "0.20.2", - "@esbuild/freebsd-arm64": "0.20.2", - "@esbuild/freebsd-x64": "0.20.2", - "@esbuild/linux-arm": "0.20.2", - "@esbuild/linux-arm64": "0.20.2", - "@esbuild/linux-ia32": "0.20.2", - "@esbuild/linux-loong64": "0.20.2", - "@esbuild/linux-mips64el": "0.20.2", - "@esbuild/linux-ppc64": "0.20.2", - "@esbuild/linux-riscv64": "0.20.2", - "@esbuild/linux-s390x": "0.20.2", - "@esbuild/linux-x64": "0.20.2", - "@esbuild/netbsd-x64": "0.20.2", - "@esbuild/openbsd-x64": "0.20.2", - "@esbuild/sunos-x64": "0.20.2", - "@esbuild/win32-arm64": "0.20.2", - "@esbuild/win32-ia32": "0.20.2", - "@esbuild/win32-x64": "0.20.2" + "@esbuild/aix-ppc64": "0.21.4", + "@esbuild/android-arm": "0.21.4", + "@esbuild/android-arm64": "0.21.4", + "@esbuild/android-x64": "0.21.4", + "@esbuild/darwin-arm64": "0.21.4", + "@esbuild/darwin-x64": "0.21.4", + "@esbuild/freebsd-arm64": "0.21.4", + "@esbuild/freebsd-x64": "0.21.4", + "@esbuild/linux-arm": "0.21.4", + "@esbuild/linux-arm64": "0.21.4", + "@esbuild/linux-ia32": "0.21.4", + "@esbuild/linux-loong64": "0.21.4", + "@esbuild/linux-mips64el": "0.21.4", + "@esbuild/linux-ppc64": "0.21.4", + "@esbuild/linux-riscv64": "0.21.4", + "@esbuild/linux-s390x": "0.21.4", + "@esbuild/linux-x64": "0.21.4", + "@esbuild/netbsd-x64": "0.21.4", + "@esbuild/openbsd-x64": "0.21.4", + "@esbuild/sunos-x64": "0.21.4", + "@esbuild/win32-arm64": "0.21.4", + "@esbuild/win32-ia32": "0.21.4", + "@esbuild/win32-x64": "0.21.4" } }, "node_modules/escalade": { @@ -2101,9 +2059,9 @@ } }, "node_modules/eslint-plugin-local": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-local/-/eslint-plugin-local-4.2.1.tgz", - "integrity": "sha512-ucwGuCldrHVF7ei/El3H+TVH7BjTB78EmyCdQgqMk3cVdoapXshfxpsuIDHsFQwxashycB+/I8Z50xO9pQOo4A==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-local/-/eslint-plugin-local-4.2.2.tgz", + "integrity": "sha512-9yNacxuEAVw2nYGCAj+ofx74cWODq7N7jcajlq1tzz6xuJS0WFhp72s/WSvIyJG6b/75+n63SKxUFVrt1UHmfQ==", "dev": true, "dependencies": { "@thisismanta/pessimist": "^1.2.0", @@ -2272,9 +2230,9 @@ "dev": true }, "node_modules/fast-xml-parser": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.3.6.tgz", - "integrity": "sha512-M2SovcRxD4+vC493Uc2GZVcZaj66CCJhWurC4viynVSTvrpErCShNcDz1lAho6n9REQKvL/ll4A4/fw6Y9z8nw==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.0.tgz", + "integrity": "sha512-kLY3jFlwIYwBNDojclKsNAC12sfD6NwW74QB2CoNGPvtVxjliYehVunB3HYyNi+n4Tt1dAcgwYvmKF/Z18flqg==", "dev": true, "funding": [ { @@ -2347,9 +2305,9 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, "dependencies": { "to-regex-range": "^5.0.1" @@ -2498,22 +2456,22 @@ } }, "node_modules/glob": { - "version": "10.3.12", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.12.tgz", - "integrity": "sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==", + "version": "10.4.1", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.1.tgz", + "integrity": "sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==", "dev": true, "dependencies": { "foreground-child": "^3.1.0", - "jackspeak": "^2.3.6", - "minimatch": "^9.0.1", - "minipass": "^7.0.4", - "path-scurry": "^1.10.2" + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=16 || 14 >=14.18" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -2724,6 +2682,7 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", "dev": true, "dependencies": { "once": "^1.3.0", @@ -2869,9 +2828,9 @@ } }, "node_modules/jackspeak": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", - "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.1.2.tgz", + "integrity": "sha512-kWmLKn2tRtfYMF/BakihVVRzBKOxz4gJMiL2Rj91WnAB5TPZumSH99R/Yf1qE1u4uRimvCSJfm6hnxohXeEXjQ==", "dev": true, "dependencies": { "@isaacs/cliui": "^8.0.2" @@ -2997,9 +2956,9 @@ } }, "node_modules/lru-cache": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", - "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", + "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", "dev": true, "engines": { "node": "14 || >=16.14" @@ -3030,12 +2989,12 @@ } }, "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", + "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", "dev": true, "dependencies": { - "braces": "^3.0.2", + "braces": "^3.0.3", "picomatch": "^2.3.1" }, "engines": { @@ -3067,9 +3026,9 @@ } }, "node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "dev": true, "engines": { "node": ">=16 || 14 >=14.17" @@ -3173,6 +3132,7 @@ "version": "8.1.0", "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, "dependencies": { "fs.realpath": "^1.0.0", @@ -3350,17 +3310,17 @@ } }, "node_modules/optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" }, "engines": { "node": ">= 0.8.0" @@ -3448,16 +3408,16 @@ } }, "node_modules/path-scurry": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.2.tgz", - "integrity": "sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", "dev": true, "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=16 || 14 >=14.18" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -3482,9 +3442,9 @@ } }, "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", "dev": true }, "node_modules/picomatch": { @@ -3500,12 +3460,12 @@ } }, "node_modules/playwright": { - "version": "1.43.1", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.43.1.tgz", - "integrity": "sha512-V7SoH0ai2kNt1Md9E3Gwas5B9m8KR2GVvwZnAI6Pg0m3sh7UvgiYhRrhsziCmqMJNouPckiOhk8T+9bSAK0VIA==", + "version": "1.44.1", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.44.1.tgz", + "integrity": "sha512-qr/0UJ5CFAtloI3avF95Y0L1xQo6r3LQArLIg/z/PoGJ6xa+EwzrwO5lpNr/09STxdHuUoP2mvuELJS+hLdtgg==", "dev": true, "dependencies": { - "playwright-core": "1.43.1" + "playwright-core": "1.44.1" }, "bin": { "playwright": "cli.js" @@ -3518,9 +3478,9 @@ } }, "node_modules/playwright-core": { - "version": "1.43.1", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.43.1.tgz", - "integrity": "sha512-EI36Mto2Vrx6VF7rm708qSnesVQKbxEWvPrfA1IPY6HgczBplDx7ENtx+K2n4kJ41sLLkuGfmb0ZLSSXlDhqPg==", + "version": "1.44.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.44.1.tgz", + "integrity": "sha512-wh0JWtYTrhv1+OSsLPgFzGzt67Y7BE/ZS3jEqgGBlp2ppp1ZDj8c+9IARNW4dwf1poq5MgHreEM2KV/GuR4cFA==", "dev": true, "bin": { "playwright-core": "cli.js" @@ -3688,6 +3648,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, "dependencies": { "glob": "^7.1.3" @@ -3713,6 +3674,7 @@ "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, "dependencies": { "fs.realpath": "^1.0.0", @@ -3785,13 +3747,10 @@ ] }, "node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -3799,18 +3758,6 @@ "node": ">=10" } }, - "node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/serialize-javascript": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", @@ -4079,6 +4026,7 @@ "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, "dependencies": { "fs.realpath": "^1.0.0", @@ -4283,6 +4231,15 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/wordwrapjs": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-4.0.1.tgz", @@ -4411,12 +4368,6 @@ "node": ">=10" } }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/yargs": { "version": "17.7.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", @@ -4493,12 +4444,6 @@ } }, "dependencies": { - "@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true - }, "@bcoe/v8-coverage": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", @@ -4506,212 +4451,224 @@ "dev": true }, "@dprint/darwin-arm64": { - "version": "0.45.1", - "resolved": "https://registry.npmjs.org/@dprint/darwin-arm64/-/darwin-arm64-0.45.1.tgz", - "integrity": "sha512-pH0/uKLJ5SJPoHhOwLWFMhCmL0BY3FzWQbull8OGMK/FRkIPgOl2adZSovtUZpUMGWyDOzIWH1fW9X2DuMhnEg==", + "version": "0.46.1", + "resolved": "https://registry.npmjs.org/@dprint/darwin-arm64/-/darwin-arm64-0.46.1.tgz", + "integrity": "sha512-dycE/uE++NGKYhKwSOrm1EculcD48GM12A1BF0f3Q2OW1ZNUqvlui/99lrohjPulJaIYX/QZQJ4hzTnaa6EDUA==", "dev": true, "optional": true }, "@dprint/darwin-x64": { - "version": "0.45.1", - "resolved": "https://registry.npmjs.org/@dprint/darwin-x64/-/darwin-x64-0.45.1.tgz", - "integrity": "sha512-YUj421LmBLDlxpIER3pORKfQmpmXD50n5mClHjpZrnl17WTiHtQ+jHvDJdJoxH2eS66W0mQyxLoGo5SfFfiM7A==", + "version": "0.46.1", + "resolved": "https://registry.npmjs.org/@dprint/darwin-x64/-/darwin-x64-0.46.1.tgz", + "integrity": "sha512-q4Q8TQj51OU+SXhHCzP6jxUtwyCR6Vsmla7yyJVZKryA5l2WUqsSPimkq7Tt4K6ciDficTNxi5aaN/DMXBND2w==", "dev": true, "optional": true }, + "@dprint/formatter": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@dprint/formatter/-/formatter-0.3.0.tgz", + "integrity": "sha512-N9fxCxbaBOrDkteSOzaCqwWjso5iAe+WJPsHC021JfHNj2ThInPNEF13ORDKta3llq5D1TlclODCvOvipH7bWQ==", + "dev": true + }, "@dprint/linux-arm64-glibc": { - "version": "0.45.1", - "resolved": "https://registry.npmjs.org/@dprint/linux-arm64-glibc/-/linux-arm64-glibc-0.45.1.tgz", - "integrity": "sha512-lJ7s/pOQWRJ0mstjZQnVyX2/3QRXZ9cpFHJDZ7e81Y8QSn/iqxTrnK0DPgxUrDG8hYKQmWQdQLU4sP5DKBz0Jg==", + "version": "0.46.1", + "resolved": "https://registry.npmjs.org/@dprint/linux-arm64-glibc/-/linux-arm64-glibc-0.46.1.tgz", + "integrity": "sha512-kT6UHU8nN516nfk42IpxvQ9yRHg+lVcWyaGU6Pk/Wn0t/9UDqS2SWXfNNYFvq3A+IVsOAEY6ZvD40D1uXey0Pg==", "dev": true, "optional": true }, "@dprint/linux-arm64-musl": { - "version": "0.45.1", - "resolved": "https://registry.npmjs.org/@dprint/linux-arm64-musl/-/linux-arm64-musl-0.45.1.tgz", - "integrity": "sha512-un2awe1L1sAJLsCPSEUrE0/cgupdzbYFoyBOutyU1zHR9KQn47AtIDw+chvuinU4xleHDuEGyXGuJ6NE+Ky6vw==", + "version": "0.46.1", + "resolved": "https://registry.npmjs.org/@dprint/linux-arm64-musl/-/linux-arm64-musl-0.46.1.tgz", + "integrity": "sha512-Qo71XzmL7GWEKPKKTFDf27WUO8mO+eXEvKY4gRiFuV2lOPw0VCfadc4iqlTCPj8Wp9qIKK7z/NgQXkVjPMbx5Q==", "dev": true, "optional": true }, "@dprint/linux-x64-glibc": { - "version": "0.45.1", - "resolved": "https://registry.npmjs.org/@dprint/linux-x64-glibc/-/linux-x64-glibc-0.45.1.tgz", - "integrity": "sha512-5Civht90S/g8zlyYB7n4oH78p+sLbNqeFCFuImJRK7uRxZwCRya7lji6RwlB6DQ7qngVqovTHj9RLOYfZzfVlg==", + "version": "0.46.1", + "resolved": "https://registry.npmjs.org/@dprint/linux-x64-glibc/-/linux-x64-glibc-0.46.1.tgz", + "integrity": "sha512-ZDgJaCTY8Cb9F2FUlBgpN++stVamGKvy7MfdkKvvahAdkCQvba7kJg91aLGHNhDilDTo1IPgLcXLEP4xPhXMyA==", "dev": true, "optional": true }, "@dprint/linux-x64-musl": { - "version": "0.45.1", - "resolved": "https://registry.npmjs.org/@dprint/linux-x64-musl/-/linux-x64-musl-0.45.1.tgz", - "integrity": "sha512-p2/gjnHDd8GRCvtey5HZO4o/He6pSmY/zpcCuIXprFW9P0vNlEj3DFhz4FPpOKXM+csrsVWWs2E0T/xr5QZtVg==", + "version": "0.46.1", + "resolved": "https://registry.npmjs.org/@dprint/linux-x64-musl/-/linux-x64-musl-0.46.1.tgz", + "integrity": "sha512-6I+ubsGL89k9Vezo6AwWoLDHMoyGdBiHvVvfopF3GwDW1y4jRFXqSeVt3IGoeNa2PXZBEzhGzgiNl1YFFjao/A==", "dev": true, "optional": true }, + "@dprint/typescript": { + "version": "0.91.0", + "resolved": "https://registry.npmjs.org/@dprint/typescript/-/typescript-0.91.0.tgz", + "integrity": "sha512-NUKkNbuSnaEHONhiKhyn+V+wMzuLFXMZB7ACtyqKcdTJCXajmzkb6oSeaTAgTeNgRlua1zKgUOzKVAc/cp5Qwg==", + "dev": true + }, "@dprint/win32-x64": { - "version": "0.45.1", - "resolved": "https://registry.npmjs.org/@dprint/win32-x64/-/win32-x64-0.45.1.tgz", - "integrity": "sha512-2l78XM7KsW46P2Yv6uPB3fE+y92EsBlrCxi+RVQ0pbznPFdMdkLyGgaCuh683zdld14jHlaADpIQ7YchGAEMAg==", + "version": "0.46.1", + "resolved": "https://registry.npmjs.org/@dprint/win32-x64/-/win32-x64-0.46.1.tgz", + "integrity": "sha512-ugdhmL3Lo9n6Si/7eBtj1Rgo3Hbmf+9G0JxsWvuZBRA7Y+Xa9vtxbU4XqpUfG8rict5wR3b0i2X0iexVUgMYxA==", "dev": true, "optional": true }, "@esbuild/aix-ppc64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz", - "integrity": "sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.4.tgz", + "integrity": "sha512-Zrm+B33R4LWPLjDEVnEqt2+SLTATlru1q/xYKVn8oVTbiRBGmK2VIMoIYGJDGyftnGaC788IuzGFAlb7IQ0Y8A==", "dev": true, "optional": true }, "@esbuild/android-arm": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.2.tgz", - "integrity": "sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.4.tgz", + "integrity": "sha512-E7H/yTd8kGQfY4z9t3nRPk/hrhaCajfA3YSQSBrst8B+3uTcgsi8N+ZWYCaeIDsiVs6m65JPCaQN/DxBRclF3A==", "dev": true, "optional": true }, "@esbuild/android-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz", - "integrity": "sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.4.tgz", + "integrity": "sha512-fYFnz+ObClJ3dNiITySBUx+oNalYUT18/AryMxfovLkYWbutXsct3Wz2ZWAcGGppp+RVVX5FiXeLYGi97umisA==", "dev": true, "optional": true }, "@esbuild/android-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.2.tgz", - "integrity": "sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.4.tgz", + "integrity": "sha512-mDqmlge3hFbEPbCWxp4fM6hqq7aZfLEHZAKGP9viq9wMUBVQx202aDIfc3l+d2cKhUJM741VrCXEzRFhPDKH3Q==", "dev": true, "optional": true }, "@esbuild/darwin-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz", - "integrity": "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.4.tgz", + "integrity": "sha512-72eaIrDZDSiWqpmCzVaBD58c8ea8cw/U0fq/PPOTqE3c53D0xVMRt2ooIABZ6/wj99Y+h4ksT/+I+srCDLU9TA==", "dev": true, "optional": true }, "@esbuild/darwin-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz", - "integrity": "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.4.tgz", + "integrity": "sha512-uBsuwRMehGmw1JC7Vecu/upOjTsMhgahmDkWhGLWxIgUn2x/Y4tIwUZngsmVb6XyPSTXJYS4YiASKPcm9Zitag==", "dev": true, "optional": true }, "@esbuild/freebsd-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz", - "integrity": "sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.4.tgz", + "integrity": "sha512-8JfuSC6YMSAEIZIWNL3GtdUT5NhUA/CMUCpZdDRolUXNAXEE/Vbpe6qlGLpfThtY5NwXq8Hi4nJy4YfPh+TwAg==", "dev": true, "optional": true }, "@esbuild/freebsd-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz", - "integrity": "sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.4.tgz", + "integrity": "sha512-8d9y9eQhxv4ef7JmXny7591P/PYsDFc4+STaxC1GBv0tMyCdyWfXu2jBuqRsyhY8uL2HU8uPyscgE2KxCY9imQ==", "dev": true, "optional": true }, "@esbuild/linux-arm": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz", - "integrity": "sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.4.tgz", + "integrity": "sha512-2rqFFefpYmpMs+FWjkzSgXg5vViocqpq5a1PSRgT0AvSgxoXmGF17qfGAzKedg6wAwyM7UltrKVo9kxaJLMF/g==", "dev": true, "optional": true }, "@esbuild/linux-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz", - "integrity": "sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.4.tgz", + "integrity": "sha512-/GLD2orjNU50v9PcxNpYZi+y8dJ7e7/LhQukN3S4jNDXCKkyyiyAz9zDw3siZ7Eh1tRcnCHAo/WcqKMzmi4eMQ==", "dev": true, "optional": true }, "@esbuild/linux-ia32": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz", - "integrity": "sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.4.tgz", + "integrity": "sha512-pNftBl7m/tFG3t2m/tSjuYeWIffzwAZT9m08+9DPLizxVOsUl8DdFzn9HvJrTQwe3wvJnwTdl92AonY36w/25g==", "dev": true, "optional": true }, "@esbuild/linux-loong64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz", - "integrity": "sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.4.tgz", + "integrity": "sha512-cSD2gzCK5LuVX+hszzXQzlWya6c7hilO71L9h4KHwqI4qeqZ57bAtkgcC2YioXjsbfAv4lPn3qe3b00Zt+jIfQ==", "dev": true, "optional": true }, "@esbuild/linux-mips64el": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz", - "integrity": "sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.4.tgz", + "integrity": "sha512-qtzAd3BJh7UdbiXCrg6npWLYU0YpufsV9XlufKhMhYMJGJCdfX/G6+PNd0+v877X1JG5VmjBLUiFB0o8EUSicA==", "dev": true, "optional": true }, "@esbuild/linux-ppc64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz", - "integrity": "sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.4.tgz", + "integrity": "sha512-yB8AYzOTaL0D5+2a4xEy7OVvbcypvDR05MsB/VVPVA7nL4hc5w5Dyd/ddnayStDgJE59fAgNEOdLhBxjfx5+dg==", "dev": true, "optional": true }, "@esbuild/linux-riscv64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz", - "integrity": "sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.4.tgz", + "integrity": "sha512-Y5AgOuVzPjQdgU59ramLoqSSiXddu7F3F+LI5hYy/d1UHN7K5oLzYBDZe23QmQJ9PIVUXwOdKJ/jZahPdxzm9w==", "dev": true, "optional": true }, "@esbuild/linux-s390x": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz", - "integrity": "sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.4.tgz", + "integrity": "sha512-Iqc/l/FFwtt8FoTK9riYv9zQNms7B8u+vAI/rxKuN10HgQIXaPzKZc479lZ0x6+vKVQbu55GdpYpeNWzjOhgbA==", "dev": true, "optional": true }, "@esbuild/linux-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz", - "integrity": "sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.4.tgz", + "integrity": "sha512-Td9jv782UMAFsuLZINfUpoF5mZIbAj+jv1YVtE58rFtfvoKRiKSkRGQfHTgKamLVT/fO7203bHa3wU122V/Bdg==", "dev": true, "optional": true }, "@esbuild/netbsd-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz", - "integrity": "sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.4.tgz", + "integrity": "sha512-Awn38oSXxsPMQxaV0Ipb7W/gxZtk5Tx3+W+rAPdZkyEhQ6968r9NvtkjhnhbEgWXYbgV+JEONJ6PcdBS+nlcpA==", "dev": true, "optional": true }, "@esbuild/openbsd-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz", - "integrity": "sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.4.tgz", + "integrity": "sha512-IsUmQeCY0aU374R82fxIPu6vkOybWIMc3hVGZ3ChRwL9hA1TwY+tS0lgFWV5+F1+1ssuvvXt3HFqe8roCip8Hg==", "dev": true, "optional": true }, "@esbuild/sunos-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz", - "integrity": "sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.4.tgz", + "integrity": "sha512-hsKhgZ4teLUaDA6FG/QIu2q0rI6I36tZVfM4DBZv3BG0mkMIdEnMbhc4xwLvLJSS22uWmaVkFkqWgIS0gPIm+A==", "dev": true, "optional": true }, "@esbuild/win32-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz", - "integrity": "sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.4.tgz", + "integrity": "sha512-UUfMgMoXPoA/bvGUNfUBFLCh0gt9dxZYIx9W4rfJr7+hKe5jxxHmfOK8YSH4qsHLLN4Ck8JZ+v7Q5fIm1huErg==", "dev": true, "optional": true }, "@esbuild/win32-ia32": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz", - "integrity": "sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.4.tgz", + "integrity": "sha512-yIxbspZb5kGCAHWm8dexALQ9en1IYDfErzjSEq1KzXFniHv019VT3mNtTK7t8qdy4TwT6QYHI9sEZabONHg+aw==", "dev": true, "optional": true }, "@esbuild/win32-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz", - "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.4.tgz", + "integrity": "sha512-sywLRD3UK/qRJt0oBwdpYLBibk7KiRfbswmWRDabuncQYSlf8aLEEUor/oP6KRz8KEG+HoiVLBhPRD5JWjS8Sg==", "dev": true, "optional": true }, @@ -4972,35 +4929,18 @@ } }, "@octokit/openapi-types": { - "version": "22.1.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-22.1.0.tgz", - "integrity": "sha512-pGUdSP+eEPfZiQHNkZI0U01HLipxncisdJQB4G//OAmfeO8sqTQ9KRa0KF03TUPCziNsoXUrTg4B2Q1EX++T0Q==", + "version": "22.2.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-22.2.0.tgz", + "integrity": "sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg==", "dev": true }, "@octokit/plugin-paginate-rest": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-9.2.1.tgz", - "integrity": "sha512-wfGhE/TAkXZRLjksFXuDZdmGnJQHvtU/joFQdweXUgzo1XwvBCD4o4+75NtFfjfLK5IwLf9vHTfSiU3sLRYpRw==", + "version": "11.3.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.3.1.tgz", + "integrity": "sha512-ryqobs26cLtM1kQxqeZui4v8FeznirUsksiA+RYemMPJ7Micju0WSkv50dBksTuZks9O5cg4wp+t8fZ/cLY56g==", "dev": true, "requires": { - "@octokit/types": "^12.6.0" - }, - "dependencies": { - "@octokit/openapi-types": { - "version": "20.0.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-20.0.0.tgz", - "integrity": "sha512-EtqRBEjp1dL/15V7WiX5LJMIxxkdiGJnabzYx5Apx4FkQIFgAfKumXeYAqqJCj1s+BMX4cPFIFC4OLCR6stlnA==", - "dev": true - }, - "@octokit/types": { - "version": "12.6.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-12.6.0.tgz", - "integrity": "sha512-1rhSOfRa6H9w4YwK0yrf5faDaDTb+yLyBUKOCV4xtCDB5VmIPqd/v9yr9o6SAzOAlRxMiRiCic6JVM1/kunVkw==", - "dev": true, - "requires": { - "@octokit/openapi-types": "^20.0.0" - } - } + "@octokit/types": "^13.5.0" } }, "@octokit/plugin-request-log": { @@ -5011,29 +4951,12 @@ "requires": {} }, "@octokit/plugin-rest-endpoint-methods": { - "version": "10.4.1", - "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-10.4.1.tgz", - "integrity": "sha512-xV1b+ceKV9KytQe3zCVqjg+8GTGfDYwaT1ATU5isiUyVtlVAO3HNdzpS4sr4GBx4hxQ46s7ITtZrAsxG22+rVg==", + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-13.2.2.tgz", + "integrity": "sha512-EI7kXWidkt3Xlok5uN43suK99VWqc8OaIMktY9d9+RNKl69juoTyxmLoWPIZgJYzi41qj/9zU7G/ljnNOJ5AFA==", "dev": true, "requires": { - "@octokit/types": "^12.6.0" - }, - "dependencies": { - "@octokit/openapi-types": { - "version": "20.0.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-20.0.0.tgz", - "integrity": "sha512-EtqRBEjp1dL/15V7WiX5LJMIxxkdiGJnabzYx5Apx4FkQIFgAfKumXeYAqqJCj1s+BMX4cPFIFC4OLCR6stlnA==", - "dev": true - }, - "@octokit/types": { - "version": "12.6.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-12.6.0.tgz", - "integrity": "sha512-1rhSOfRa6H9w4YwK0yrf5faDaDTb+yLyBUKOCV4xtCDB5VmIPqd/v9yr9o6SAzOAlRxMiRiCic6JVM1/kunVkw==", - "dev": true, - "requires": { - "@octokit/openapi-types": "^20.0.0" - } - } + "@octokit/types": "^13.5.0" } }, "@octokit/request": { @@ -5060,24 +4983,24 @@ } }, "@octokit/rest": { - "version": "20.1.0", - "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-20.1.0.tgz", - "integrity": "sha512-STVO3itHQLrp80lvcYB2UIKoeil5Ctsgd2s1AM+du3HqZIR35ZH7WE9HLwUOLXH0myA0y3AGNPo8gZtcgIbw0g==", + "version": "20.1.1", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-20.1.1.tgz", + "integrity": "sha512-MB4AYDsM5jhIHro/dq4ix1iWTLGToIGk6cWF5L6vanFaMble5jTX/UBQyiv05HsWnwUtY8JrfHy2LWfKwihqMw==", "dev": true, "requires": { "@octokit/core": "^5.0.2", - "@octokit/plugin-paginate-rest": "^9.1.5", + "@octokit/plugin-paginate-rest": "11.3.1", "@octokit/plugin-request-log": "^4.0.0", - "@octokit/plugin-rest-endpoint-methods": "^10.2.0" + "@octokit/plugin-rest-endpoint-methods": "13.2.2" } }, "@octokit/types": { - "version": "13.4.1", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.4.1.tgz", - "integrity": "sha512-Y73oOAzRBAUzR/iRAbGULzpNkX8vaxKCqEtg6K74Ff3w9f5apFnWtE/2nade7dMWWW3bS5Kkd6DJS4HF04xreg==", + "version": "13.5.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.5.0.tgz", + "integrity": "sha512-HdqWTf5Z3qwDVlzCrP8UJquMwunpDiMPt5er+QjGzL4hqr/vBVY/MauQgS1xWxCDT1oMx1EULyqxncdCY/NVSQ==", "dev": true, "requires": { - "@octokit/openapi-types": "^22.1.0" + "@octokit/openapi-types": "^22.2.0" } }, "@pkgjs/parseargs": { @@ -5097,9 +5020,9 @@ } }, "@types/chai": { - "version": "4.3.14", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.14.tgz", - "integrity": "sha512-Wj71sXE4Q4AkGdG9Tvq1u/fquNz9EdG4LIJMwVVII7ashjD/8cf8fyIfJAjRr6YcsXnSE8cOGQPq1gqeR8z+3w==", + "version": "4.3.16", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.16.tgz", + "integrity": "sha512-PatH4iOdyh3MyWtmHVFXLWCCIhUbopaltqddG9BzB+gMIzee2MJrvd+jouii9Z3wzQJruGWAm7WOMjgfG8hQlQ==", "dev": true }, "@types/istanbul-lib-coverage": { @@ -5108,12 +5031,6 @@ "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", "dev": true }, - "@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true - }, "@types/microsoft__typescript-etw": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/@types/microsoft__typescript-etw/-/microsoft__typescript-etw-0.1.3.tgz", @@ -5139,20 +5056,14 @@ "dev": true }, "@types/node": { - "version": "20.12.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.7.tgz", - "integrity": "sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==", + "version": "20.12.13", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.13.tgz", + "integrity": "sha512-gBGeanV41c1L171rR7wjbMiEpEI/l5XFQdLLfhr/REwpgDy/4U8y89+i8kRiLzDyZdOkXh+cRaTetUnCYutoXA==", "dev": true, "requires": { "undici-types": "~5.26.4" } }, - "@types/semver": { - "version": "7.5.8", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", - "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", - "dev": true - }, "@types/source-map-support": { "version": "0.5.10", "resolved": "https://registry.npmjs.org/@types/source-map-support/-/source-map-support-0.5.10.tgz", @@ -5169,73 +5080,71 @@ "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.7.0.tgz", - "integrity": "sha512-GJWR0YnfrKnsRoluVO3PRb9r5aMZriiMMM/RHj5nnTrBy1/wIgk76XCtCKcnXGjpZQJQRFtGV9/0JJ6n30uwpQ==", + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.11.0.tgz", + "integrity": "sha512-P+qEahbgeHW4JQ/87FuItjBj8O3MYv5gELDzr8QaQ7fsll1gSMTYb6j87MYyxwf3DtD7uGFB9ShwgmCJB5KmaQ==", "dev": true, "requires": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "7.7.0", - "@typescript-eslint/type-utils": "7.7.0", - "@typescript-eslint/utils": "7.7.0", - "@typescript-eslint/visitor-keys": "7.7.0", - "debug": "^4.3.4", + "@typescript-eslint/scope-manager": "7.11.0", + "@typescript-eslint/type-utils": "7.11.0", + "@typescript-eslint/utils": "7.11.0", + "@typescript-eslint/visitor-keys": "7.11.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", - "semver": "^7.6.0", "ts-api-utils": "^1.3.0" } }, "@typescript-eslint/parser": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.7.0.tgz", - "integrity": "sha512-fNcDm3wSwVM8QYL4HKVBggdIPAy9Q41vcvC/GtDobw3c4ndVT3K6cqudUmjHPw8EAp4ufax0o58/xvWaP2FmTg==", + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.11.0.tgz", + "integrity": "sha512-yimw99teuaXVWsBcPO1Ais02kwJ1jmNA1KxE7ng0aT7ndr1pT1wqj0OJnsYVGKKlc4QJai86l/025L6z8CljOg==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "7.7.0", - "@typescript-eslint/types": "7.7.0", - "@typescript-eslint/typescript-estree": "7.7.0", - "@typescript-eslint/visitor-keys": "7.7.0", + "@typescript-eslint/scope-manager": "7.11.0", + "@typescript-eslint/types": "7.11.0", + "@typescript-eslint/typescript-estree": "7.11.0", + "@typescript-eslint/visitor-keys": "7.11.0", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.7.0.tgz", - "integrity": "sha512-/8INDn0YLInbe9Wt7dK4cXLDYp0fNHP5xKLHvZl3mOT5X17rK/YShXaiNmorl+/U4VKCVIjJnx4Ri5b0y+HClw==", + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.11.0.tgz", + "integrity": "sha512-27tGdVEiutD4POirLZX4YzT180vevUURJl4wJGmm6TrQoiYwuxTIY98PBp6L2oN+JQxzE0URvYlzJaBHIekXAw==", "dev": true, "requires": { - "@typescript-eslint/types": "7.7.0", - "@typescript-eslint/visitor-keys": "7.7.0" + "@typescript-eslint/types": "7.11.0", + "@typescript-eslint/visitor-keys": "7.11.0" } }, "@typescript-eslint/type-utils": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.7.0.tgz", - "integrity": "sha512-bOp3ejoRYrhAlnT/bozNQi3nio9tIgv3U5C0mVDdZC7cpcQEDZXvq8inrHYghLVwuNABRqrMW5tzAv88Vy77Sg==", + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.11.0.tgz", + "integrity": "sha512-WmppUEgYy+y1NTseNMJ6mCFxt03/7jTOy08bcg7bxJJdsM4nuhnchyBbE8vryveaJUf62noH7LodPSo5Z0WUCg==", "dev": true, "requires": { - "@typescript-eslint/typescript-estree": "7.7.0", - "@typescript-eslint/utils": "7.7.0", + "@typescript-eslint/typescript-estree": "7.11.0", + "@typescript-eslint/utils": "7.11.0", "debug": "^4.3.4", "ts-api-utils": "^1.3.0" } }, "@typescript-eslint/types": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.7.0.tgz", - "integrity": "sha512-G01YPZ1Bd2hn+KPpIbrAhEWOn5lQBrjxkzHkWvP6NucMXFtfXoevK82hzQdpfuQYuhkvFDeQYbzXCjR1z9Z03w==", + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.11.0.tgz", + "integrity": "sha512-MPEsDRZTyCiXkD4vd3zywDCifi7tatc4K37KqTprCvaXptP7Xlpdw0NR2hRJTetG5TxbWDB79Ys4kLmHliEo/w==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.7.0.tgz", - "integrity": "sha512-8p71HQPE6CbxIBy2kWHqM1KGrC07pk6RJn40n0DSc6bMOBBREZxSDJ+BmRzc8B5OdaMh1ty3mkuWRg4sCFiDQQ==", + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.11.0.tgz", + "integrity": "sha512-cxkhZ2C/iyi3/6U9EPc5y+a6csqHItndvN/CzbNXTNrsC3/ASoYQZEt9uMaEp+xFNjasqQyszp5TumAVKKvJeQ==", "dev": true, "requires": { - "@typescript-eslint/types": "7.7.0", - "@typescript-eslint/visitor-keys": "7.7.0", + "@typescript-eslint/types": "7.11.0", + "@typescript-eslint/visitor-keys": "7.11.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -5245,27 +5154,24 @@ } }, "@typescript-eslint/utils": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.7.0.tgz", - "integrity": "sha512-LKGAXMPQs8U/zMRFXDZOzmMKgFv3COlxUQ+2NMPhbqgVm6R1w+nU1i4836Pmxu9jZAuIeyySNrN/6Rc657ggig==", + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.11.0.tgz", + "integrity": "sha512-xlAWwPleNRHwF37AhrZurOxA1wyXowW4PqVXZVUNCLjB48CqdPJoJWkrpH2nij9Q3Lb7rtWindtoXwxjxlKKCA==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.4.0", - "@types/json-schema": "^7.0.15", - "@types/semver": "^7.5.8", - "@typescript-eslint/scope-manager": "7.7.0", - "@typescript-eslint/types": "7.7.0", - "@typescript-eslint/typescript-estree": "7.7.0", - "semver": "^7.6.0" + "@typescript-eslint/scope-manager": "7.11.0", + "@typescript-eslint/types": "7.11.0", + "@typescript-eslint/typescript-estree": "7.11.0" } }, "@typescript-eslint/visitor-keys": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.7.0.tgz", - "integrity": "sha512-h0WHOj8MhdhY8YWkzIF30R379y0NqyOHExI9N9KCzvmu05EgG4FumeYa3ccfKUSphyWkWQE1ybVrgz/Pbam6YA==", + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.11.0.tgz", + "integrity": "sha512-7syYk4MzjxTEk0g/w3iqtgxnFQspDJfn6QKD36xMuuhTzjcxY7F8EmBLnALjVyaOF1/bVocu3bS/2/F7rXrveQ==", "dev": true, "requires": { - "@typescript-eslint/types": "7.7.0", + "@typescript-eslint/types": "7.11.0", "eslint-visitor-keys": "^3.4.3" } }, @@ -5356,9 +5262,9 @@ "dev": true }, "azure-devops-node-api": { - "version": "12.5.0", - "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-12.5.0.tgz", - "integrity": "sha512-R5eFskGvOm3U/GzeAuxRkUsAl0hrAwGgWn6zAd2KrZmrEhWZVqLew4OOupbQlXUuojUzpGtq62SmdhJ06N88og==", + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-13.0.0.tgz", + "integrity": "sha512-T/i3pt2Dxb2//1+TJT05Ff5heUmQEWKwa8sdguIhdRYT3Zge9FYw98zpfFvCD7CZsz6AN74SKGgqF3ISVN2TGg==", "dev": true, "requires": { "tunnel": "0.0.6", @@ -5393,12 +5299,12 @@ } }, "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, "requires": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" } }, "browser-stdout": { @@ -5759,18 +5665,18 @@ } }, "dprint": { - "version": "0.45.1", - "resolved": "https://registry.npmjs.org/dprint/-/dprint-0.45.1.tgz", - "integrity": "sha512-OYefcDgxd6jSdig/Cfkw1vdvyiOIRruCPnqGBbXpc95buDt9kvwL+Lic1OHc+SaQSsQub0BUZMd5+TNgy8Sh3A==", + "version": "0.46.1", + "resolved": "https://registry.npmjs.org/dprint/-/dprint-0.46.1.tgz", + "integrity": "sha512-OdILoUitGxbykCYcTijUOtY7bD4kNoSSzm4kHd5sYNh6f64P8Zfcr+e/Dh4oEn89wHIl10TTrrUs7ny5MELKkQ==", "dev": true, "requires": { - "@dprint/darwin-arm64": "0.45.1", - "@dprint/darwin-x64": "0.45.1", - "@dprint/linux-arm64-glibc": "0.45.1", - "@dprint/linux-arm64-musl": "0.45.1", - "@dprint/linux-x64-glibc": "0.45.1", - "@dprint/linux-x64-musl": "0.45.1", - "@dprint/win32-x64": "0.45.1" + "@dprint/darwin-arm64": "0.46.1", + "@dprint/darwin-x64": "0.46.1", + "@dprint/linux-arm64-glibc": "0.46.1", + "@dprint/linux-arm64-musl": "0.46.1", + "@dprint/linux-x64-glibc": "0.46.1", + "@dprint/linux-x64-musl": "0.46.1", + "@dprint/win32-x64": "0.46.1" } }, "eastasianwidth": { @@ -5801,34 +5707,34 @@ "dev": true }, "esbuild": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz", - "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==", - "dev": true, - "requires": { - "@esbuild/aix-ppc64": "0.20.2", - "@esbuild/android-arm": "0.20.2", - "@esbuild/android-arm64": "0.20.2", - "@esbuild/android-x64": "0.20.2", - "@esbuild/darwin-arm64": "0.20.2", - "@esbuild/darwin-x64": "0.20.2", - "@esbuild/freebsd-arm64": "0.20.2", - "@esbuild/freebsd-x64": "0.20.2", - "@esbuild/linux-arm": "0.20.2", - "@esbuild/linux-arm64": "0.20.2", - "@esbuild/linux-ia32": "0.20.2", - "@esbuild/linux-loong64": "0.20.2", - "@esbuild/linux-mips64el": "0.20.2", - "@esbuild/linux-ppc64": "0.20.2", - "@esbuild/linux-riscv64": "0.20.2", - "@esbuild/linux-s390x": "0.20.2", - "@esbuild/linux-x64": "0.20.2", - "@esbuild/netbsd-x64": "0.20.2", - "@esbuild/openbsd-x64": "0.20.2", - "@esbuild/sunos-x64": "0.20.2", - "@esbuild/win32-arm64": "0.20.2", - "@esbuild/win32-ia32": "0.20.2", - "@esbuild/win32-x64": "0.20.2" + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.4.tgz", + "integrity": "sha512-sFMcNNrj+Q0ZDolrp5pDhH0nRPN9hLIM3fRPwgbLYJeSHHgnXSnbV3xYgSVuOeLWH9c73VwmEverVzupIv5xuA==", + "dev": true, + "requires": { + "@esbuild/aix-ppc64": "0.21.4", + "@esbuild/android-arm": "0.21.4", + "@esbuild/android-arm64": "0.21.4", + "@esbuild/android-x64": "0.21.4", + "@esbuild/darwin-arm64": "0.21.4", + "@esbuild/darwin-x64": "0.21.4", + "@esbuild/freebsd-arm64": "0.21.4", + "@esbuild/freebsd-x64": "0.21.4", + "@esbuild/linux-arm": "0.21.4", + "@esbuild/linux-arm64": "0.21.4", + "@esbuild/linux-ia32": "0.21.4", + "@esbuild/linux-loong64": "0.21.4", + "@esbuild/linux-mips64el": "0.21.4", + "@esbuild/linux-ppc64": "0.21.4", + "@esbuild/linux-riscv64": "0.21.4", + "@esbuild/linux-s390x": "0.21.4", + "@esbuild/linux-x64": "0.21.4", + "@esbuild/netbsd-x64": "0.21.4", + "@esbuild/openbsd-x64": "0.21.4", + "@esbuild/sunos-x64": "0.21.4", + "@esbuild/win32-arm64": "0.21.4", + "@esbuild/win32-ia32": "0.21.4", + "@esbuild/win32-x64": "0.21.4" } }, "escalade": { @@ -5930,9 +5836,9 @@ } }, "eslint-plugin-local": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-local/-/eslint-plugin-local-4.2.1.tgz", - "integrity": "sha512-ucwGuCldrHVF7ei/El3H+TVH7BjTB78EmyCdQgqMk3cVdoapXshfxpsuIDHsFQwxashycB+/I8Z50xO9pQOo4A==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-local/-/eslint-plugin-local-4.2.2.tgz", + "integrity": "sha512-9yNacxuEAVw2nYGCAj+ofx74cWODq7N7jcajlq1tzz6xuJS0WFhp72s/WSvIyJG6b/75+n63SKxUFVrt1UHmfQ==", "dev": true, "requires": { "@thisismanta/pessimist": "^1.2.0", @@ -6028,9 +5934,9 @@ "dev": true }, "fast-xml-parser": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.3.6.tgz", - "integrity": "sha512-M2SovcRxD4+vC493Uc2GZVcZaj66CCJhWurC4viynVSTvrpErCShNcDz1lAho6n9REQKvL/ll4A4/fw6Y9z8nw==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.0.tgz", + "integrity": "sha512-kLY3jFlwIYwBNDojclKsNAC12sfD6NwW74QB2CoNGPvtVxjliYehVunB3HYyNi+n4Tt1dAcgwYvmKF/Z18flqg==", "dev": true, "requires": { "strnum": "^1.0.5" @@ -6071,9 +5977,9 @@ } }, "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, "requires": { "to-regex-range": "^5.0.1" @@ -6176,16 +6082,16 @@ } }, "glob": { - "version": "10.3.12", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.12.tgz", - "integrity": "sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==", + "version": "10.4.1", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.1.tgz", + "integrity": "sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==", "dev": true, "requires": { "foreground-child": "^3.1.0", - "jackspeak": "^2.3.6", - "minimatch": "^9.0.1", - "minipass": "^7.0.4", - "path-scurry": "^1.10.2" + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "path-scurry": "^1.11.1" } }, "glob-parent": { @@ -6435,9 +6341,9 @@ } }, "jackspeak": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", - "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.1.2.tgz", + "integrity": "sha512-kWmLKn2tRtfYMF/BakihVVRzBKOxz4gJMiL2Rj91WnAB5TPZumSH99R/Yf1qE1u4uRimvCSJfm6hnxohXeEXjQ==", "dev": true, "requires": { "@isaacs/cliui": "^8.0.2", @@ -6537,9 +6443,9 @@ } }, "lru-cache": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", - "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", + "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", "dev": true }, "make-dir": { @@ -6558,12 +6464,12 @@ "dev": true }, "micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", + "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", "dev": true, "requires": { - "braces": "^3.0.2", + "braces": "^3.0.3", "picomatch": "^2.3.1" } }, @@ -6583,9 +6489,9 @@ "dev": true }, "minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "dev": true }, "mocha": { @@ -6788,17 +6694,17 @@ } }, "optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, "requires": { - "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" } }, "p-limit": { @@ -6853,9 +6759,9 @@ "dev": true }, "path-scurry": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.2.tgz", - "integrity": "sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", "dev": true, "requires": { "lru-cache": "^10.2.0", @@ -6875,9 +6781,9 @@ "dev": true }, "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", "dev": true }, "picomatch": { @@ -6887,13 +6793,13 @@ "dev": true }, "playwright": { - "version": "1.43.1", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.43.1.tgz", - "integrity": "sha512-V7SoH0ai2kNt1Md9E3Gwas5B9m8KR2GVvwZnAI6Pg0m3sh7UvgiYhRrhsziCmqMJNouPckiOhk8T+9bSAK0VIA==", + "version": "1.44.1", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.44.1.tgz", + "integrity": "sha512-qr/0UJ5CFAtloI3avF95Y0L1xQo6r3LQArLIg/z/PoGJ6xa+EwzrwO5lpNr/09STxdHuUoP2mvuELJS+hLdtgg==", "dev": true, "requires": { "fsevents": "2.3.2", - "playwright-core": "1.43.1" + "playwright-core": "1.44.1" }, "dependencies": { "fsevents": { @@ -6906,9 +6812,9 @@ } }, "playwright-core": { - "version": "1.43.1", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.43.1.tgz", - "integrity": "sha512-EI36Mto2Vrx6VF7rm708qSnesVQKbxEWvPrfA1IPY6HgczBplDx7ENtx+K2n4kJ41sLLkuGfmb0ZLSSXlDhqPg==", + "version": "1.44.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.44.1.tgz", + "integrity": "sha512-wh0JWtYTrhv1+OSsLPgFzGzt67Y7BE/ZS3jEqgGBlp2ppp1ZDj8c+9IARNW4dwf1poq5MgHreEM2KV/GuR4cFA==", "dev": true }, "plur": { @@ -7058,24 +6964,10 @@ "dev": true }, "semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - } - } + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "dev": true }, "serialize-javascript": { "version": "6.0.0", @@ -7430,6 +7322,12 @@ "isexe": "^2.0.0" } }, + "word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true + }, "wordwrapjs": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-4.0.1.tgz", @@ -7522,12 +7420,6 @@ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "yargs": { "version": "17.7.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", diff --git a/package.json b/package.json index 1e143ca3f23ce..0db39bd81b327 100644 --- a/package.json +++ b/package.json @@ -39,9 +39,11 @@ "!**/.gitattributes" ], "devDependencies": { + "@dprint/formatter": "^0.3.0", + "@dprint/typescript": "0.91.0", "@esfx/canceltoken": "^1.0.0", - "@octokit/rest": "^20.0.2", - "@types/chai": "^4.3.14", + "@octokit/rest": "^20.1.1", + "@types/chai": "^4.3.16", "@types/microsoft__typescript-etw": "^0.1.3", "@types/minimist": "^1.2.5", "@types/mocha": "^10.0.6", @@ -49,33 +51,33 @@ "@types/node": "latest", "@types/source-map-support": "^0.5.10", "@types/which": "^3.0.3", - "@typescript-eslint/eslint-plugin": "^7.3.1", - "@typescript-eslint/parser": "^7.3.1", - "@typescript-eslint/utils": "^7.3.1", - "azure-devops-node-api": "^12.5.0", + "@typescript-eslint/eslint-plugin": "^7.11.0", + "@typescript-eslint/parser": "^7.11.0", + "@typescript-eslint/utils": "^7.11.0", + "azure-devops-node-api": "^13.0.0", "c8": "^9.1.0", "chai": "^4.4.1", "chalk": "^4.1.2", "chokidar": "^3.6.0", "diff": "^5.2.0", - "dprint": "^0.45.0", - "esbuild": "^0.20.2", + "dprint": "^0.46.1", + "esbuild": "^0.21.4", "eslint": "^8.57.0", "eslint-formatter-autolinkable-stylish": "^1.3.0", - "eslint-plugin-local": "^4.2.1", - "fast-xml-parser": "^4.3.6", - "glob": "^10.3.10", + "eslint-plugin-local": "^4.2.2", + "fast-xml-parser": "^4.4.0", + "glob": "^10.4.1", "hereby": "^1.8.9", "jsonc-parser": "^3.2.1", "minimist": "^1.2.8", - "mocha": "^10.3.0", + "mocha": "^10.4.0", "mocha-fivemat-progress-reporter": "^0.1.0", "ms": "^2.1.3", "node-fetch": "^3.3.2", - "playwright": "^1.42.1", + "playwright": "^1.44.1", "source-map-support": "^0.5.21", "tslib": "^2.6.2", - "typescript": "^5.4.3", + "typescript": "^5.4.5", "which": "^3.0.1" }, "overrides": { diff --git a/scripts/dtsBundler.mjs b/scripts/dtsBundler.mjs index e7ace12303e1d..7323c77c1c1ca 100644 --- a/scripts/dtsBundler.mjs +++ b/scripts/dtsBundler.mjs @@ -5,8 +5,9 @@ * bundle as namespaces again, even though the project is modules. */ +import * as dprintFormatter from "@dprint/formatter"; +import * as dprintTypeScript from "@dprint/typescript"; import assert, { fail } from "assert"; -import cp from "child_process"; import fs from "fs"; import minimist from "minimist"; import path from "path"; @@ -475,23 +476,23 @@ if (publicContents.includes("@internal")) { console.error("Output includes untrimmed @internal nodes!"); } -const dprintPath = path.resolve(__dirname, "..", "node_modules", "dprint", "bin.js"); +const buffer = fs.readFileSync(dprintTypeScript.getPath()); +const formatter = dprintFormatter.createFromBuffer(buffer); +formatter.setConfig({ + indentWidth: 4, + lineWidth: 1000, + newLineKind: "auto", + useTabs: false, +}, { + quoteStyle: "preferDouble", +}); /** * @param {string} contents * @returns {string} */ function dprint(contents) { - const result = cp.execFileSync( - process.execPath, - [dprintPath, "fmt", "--stdin", "ts"], - { - stdio: ["pipe", "pipe", "inherit"], - encoding: "utf-8", - input: contents, - maxBuffer: 100 * 1024 * 1024, // 100 MB "ought to be enough for anyone"; https://github.com/nodejs/node/issues/9829 - }, - ); + const result = formatter.formatText("dummy.d.ts", contents); return result.replace(/\r\n/g, "\n"); } diff --git a/scripts/eslint/rules/js-extensions.cjs b/scripts/eslint/rules/js-extensions.cjs new file mode 100644 index 0000000000000..7e435d1ada8ce --- /dev/null +++ b/scripts/eslint/rules/js-extensions.cjs @@ -0,0 +1,70 @@ +const { createRule } = require("./utils.cjs"); + +module.exports = createRule({ + name: "js-extensions", + meta: { + docs: { + description: ``, + }, + messages: { + missingJsExtension: `This relative module reference is missing a '.js' extension`, + }, + schema: [], + type: "suggestion", + fixable: "code", + }, + defaultOptions: [], + + create(context) { + /** @type {( + * node: + * | import("@typescript-eslint/utils").TSESTree.ImportDeclaration + * | import("@typescript-eslint/utils").TSESTree.ExportAllDeclaration + * | import("@typescript-eslint/utils").TSESTree.ExportNamedDeclaration + * | import("@typescript-eslint/utils").TSESTree.TSImportEqualsDeclaration + * | import("@typescript-eslint/utils").TSESTree.TSModuleDeclaration + * ) => void} + */ + const check = node => { + let source; + if (node.type === "TSImportEqualsDeclaration") { + const moduleReference = node.moduleReference; + if ( + moduleReference.type === "TSExternalModuleReference" + && moduleReference.expression.type === "Literal" + && typeof moduleReference.expression.value === "string" + ) { + source = moduleReference.expression; + } + } + else if (node.type === "TSModuleDeclaration") { + if (node.kind === "module" && node.id.type === "Literal") { + source = node.id; + } + } + else { + source = node.source; + } + + // This is not 100% accurate; this could point to a nested package, or to a directory + // containing an index.js file. But we don't have anything like that in our repo, + // so this check is good enough. Replicate this logic at your own risk. + if (source?.value.startsWith(".") && !/\.[cm]?js$/.test(source.value)) { + const quote = source.raw[0]; + context.report({ + messageId: "missingJsExtension", + node: source, + fix: fixer => fixer.replaceText(source, `${quote}${source.value}.js${quote}`), + }); + } + }; + + return { + ImportDeclaration: check, + ExportAllDeclaration: check, + ExportNamedDeclaration: check, + TSImportEqualsDeclaration: check, + TSModuleDeclaration: check, + }; + }, +}); diff --git a/scripts/eslint/tests/js-extensions.cjs b/scripts/eslint/tests/js-extensions.cjs new file mode 100644 index 0000000000000..177070ab5f520 --- /dev/null +++ b/scripts/eslint/tests/js-extensions.cjs @@ -0,0 +1,149 @@ +const { RuleTester } = require("./support/RuleTester.cjs"); +const rule = require("../rules/js-extensions.cjs"); + +const ruleTester = new RuleTester({ + parserOptions: { + warnOnUnsupportedTypeScriptVersion: false, + }, + parser: require.resolve("@typescript-eslint/parser"), +}); + +ruleTester.run("js-extensions", rule, { + valid: [ + { + code: ` +import "some-library"; +import "./a.js"; +import "./a.mjs"; +import "./a.cjs"; +import "../foo/a.js"; +import "../foo/a.mjs"; +import "../foo/a.cjs"; + `, + }, + { + code: ` +import * as blah from "some-library"; +import * as blah from "./a.js"; +import * as blah from "./a.mjs"; +import * as blah from "./a.cjs"; +import * as blah from "../foo/a.js"; +import * as blah from "../foo/a.mjs"; +import * as blah from "../foo/a.cjs"; + `, + }, + { + code: ` +export * from "some-library"; +export * from "./a.js"; +export * from "./a.mjs"; +export * from "./a.cjs"; +export * from "../foo/a.js"; +export * from "../foo/a.mjs"; +export * from "../foo/a.cjs"; + `, + }, + { + code: ` +import blah = require("some-library"); +import blah = require("./a.js"); +import blah = require("./a.mjs"); +import blah = require("./a.cjs"); +import blah = require("../foo/a.js"); +import blah = require("../foo/a.mjs"); +import blah = require("../foo/a.cjs"); + `, + }, + ], + + invalid: [ + { + code: ` +import "./a"; +import "../foo/a"; + `, + errors: [ + { + messageId: "missingJsExtension", + line: 2, + column: 8, + }, + { + messageId: "missingJsExtension", + line: 3, + column: 8, + }, + ], + output: ` +import "./a.js"; +import "../foo/a.js"; + `, + }, + { + code: ` +import * as blah from "./a"; +import * as blah from "../foo/a"; + `, + errors: [ + { + messageId: "missingJsExtension", + line: 2, + column: 23, + }, + { + messageId: "missingJsExtension", + line: 3, + column: 23, + }, + ], + output: ` +import * as blah from "./a.js"; +import * as blah from "../foo/a.js"; + `, + }, + { + code: ` +export * from "./a"; +export * from "../foo/a"; + `, + errors: [ + { + messageId: "missingJsExtension", + line: 2, + column: 15, + }, + { + messageId: "missingJsExtension", + line: 3, + column: 15, + }, + ], + output: ` +export * from "./a.js"; +export * from "../foo/a.js"; + `, + }, + { + code: ` +import blah = require("./a"); +import blah = require("../foo/a"); + `, + errors: [ + { + messageId: "missingJsExtension", + line: 2, + column: 23, + }, + { + messageId: "missingJsExtension", + line: 3, + column: 23, + }, + ], + output: ` +import blah = require("./a.js"); +import blah = require("../foo/a.js"); + `, + }, + ], +}); diff --git a/scripts/processDiagnosticMessages.mjs b/scripts/processDiagnosticMessages.mjs index 069bd95aa4308..b3f398b802c18 100644 --- a/scripts/processDiagnosticMessages.mjs +++ b/scripts/processDiagnosticMessages.mjs @@ -86,7 +86,7 @@ function buildInfoFileOutput(messageTable, inputFilePathRel) { "// ", `// generated from '${inputFilePathRel}'`, "", - 'import { DiagnosticCategory, DiagnosticMessage } from "./types";', + 'import { DiagnosticCategory, DiagnosticMessage } from "./types.js";', "", "function diag(code: number, category: DiagnosticCategory, key: string, message: string, reportsUnnecessary?: {}, elidedInCompatabilityPyramid?: boolean, reportsDeprecated?: {}): DiagnosticMessage {", " return { code, category, key, message, reportsUnnecessary, elidedInCompatabilityPyramid, reportsDeprecated };", diff --git a/scripts/regenerate-unicode-identifier-parts.mjs b/scripts/regenerate-unicode-identifier-parts.mjs index e993a40e7a8d9..4dbc0354ebe87 100644 --- a/scripts/regenerate-unicode-identifier-parts.mjs +++ b/scripts/regenerate-unicode-identifier-parts.mjs @@ -20,10 +20,12 @@ for (let i = 0; i < MAX_UNICODE_CODEPOINT; i++) { } console.log(`/** -* Generated by scripts/regenerate-unicode-identifier-parts.js on node ${process.version} with unicode ${process.versions.unicode} -* based on http://www.unicode.org/reports/tr31/ and https://www.ecma-international.org/ecma-262/6.0/#sec-names-and-keywords -* unicodeESNextIdentifierStart corresponds to the ID_Start and Other_ID_Start property, and -* unicodeESNextIdentifierPart corresponds to ID_Continue, Other_ID_Continue, plus ID_Start and Other_ID_Start -*/`); + * Generated by scripts/regenerate-unicode-identifier-parts.mjs on node ${process.version} with unicode ${process.versions.unicode} + * based on http://www.unicode.org/reports/tr31/ and https://www.ecma-international.org/ecma-262/6.0/#sec-names-and-keywords + * unicodeESNextIdentifierStart corresponds to the ID_Start and Other_ID_Start property, and + * unicodeESNextIdentifierPart corresponds to ID_Continue, Other_ID_Continue, plus ID_Start and Other_ID_Start + */`); +console.log(`// dprint-ignore`); console.log(`const unicodeESNextIdentifierStart = [${starts.join(", ")}];`); +console.log(`// dprint-ignore`); console.log(`const unicodeESNextIdentifierPart = [${parts.join(", ")}];`); diff --git a/src/compiler/_namespaces/ts.moduleSpecifiers.ts b/src/compiler/_namespaces/ts.moduleSpecifiers.ts index 47a204d4a72b9..445d749e07810 100644 --- a/src/compiler/_namespaces/ts.moduleSpecifiers.ts +++ b/src/compiler/_namespaces/ts.moduleSpecifiers.ts @@ -1,3 +1,3 @@ /* Generated file to emulate the ts.moduleSpecifiers namespace. */ -export * from "../moduleSpecifiers"; +export * from "../moduleSpecifiers.js"; diff --git a/src/compiler/_namespaces/ts.performance.ts b/src/compiler/_namespaces/ts.performance.ts index 707f8f85ef697..58639cdda87ad 100644 --- a/src/compiler/_namespaces/ts.performance.ts +++ b/src/compiler/_namespaces/ts.performance.ts @@ -1,3 +1,3 @@ /* Generated file to emulate the ts.performance namespace. */ -export * from "../performance"; +export * from "../performance.js"; diff --git a/src/compiler/_namespaces/ts.ts b/src/compiler/_namespaces/ts.ts index 61f836b427b37..17b7bd7841238 100644 --- a/src/compiler/_namespaces/ts.ts +++ b/src/compiler/_namespaces/ts.ts @@ -1,79 +1,79 @@ /* Generated file to emulate the ts namespace. */ -export * from "../corePublic"; -export * from "../core"; -export * from "../debug"; -export * from "../semver"; -export * from "../performanceCore"; -export * from "../perfLogger"; -export * from "../tracing"; -export * from "../types"; -export * from "../sys"; -export * from "../path"; -export * from "../diagnosticInformationMap.generated"; -export * from "../scanner"; -export * from "../utilitiesPublic"; -export * from "../utilities"; -export * from "../factory/baseNodeFactory"; -export * from "../factory/parenthesizerRules"; -export * from "../factory/nodeConverters"; -export * from "../factory/nodeFactory"; -export * from "../factory/emitNode"; -export * from "../factory/emitHelpers"; -export * from "../factory/nodeTests"; -export * from "../factory/nodeChildren"; -export * from "../factory/utilities"; -export * from "../factory/utilitiesPublic"; -export * from "../parser"; -export * from "../commandLineParser"; -export * from "../moduleNameResolver"; -export * from "../binder"; -export * from "../symbolWalker"; -export * from "../checker"; -export * from "../visitorPublic"; -export * from "../sourcemap"; -export * from "../transformers/utilities"; -export * from "../transformers/destructuring"; -export * from "../transformers/classThis"; -export * from "../transformers/namedEvaluation"; -export * from "../transformers/taggedTemplate"; -export * from "../transformers/ts"; -export * from "../transformers/classFields"; -export * from "../transformers/typeSerializer"; -export * from "../transformers/legacyDecorators"; -export * from "../transformers/esDecorators"; -export * from "../transformers/es2017"; -export * from "../transformers/es2018"; -export * from "../transformers/es2019"; -export * from "../transformers/es2020"; -export * from "../transformers/es2021"; -export * from "../transformers/esnext"; -export * from "../transformers/jsx"; -export * from "../transformers/es2016"; -export * from "../transformers/es2015"; -export * from "../transformers/generators"; -export * from "../transformers/module/module"; -export * from "../transformers/module/system"; -export * from "../transformers/module/esnextAnd2015"; -export * from "../transformers/module/impliedNodeFormatDependent"; -export * from "../transformers/declarations/diagnostics"; -export * from "../transformers/declarations"; -export * from "../transformer"; -export * from "../emitter"; -export * from "../watchUtilities"; -export * from "../program"; -export * from "../builderStatePublic"; -export * from "../builderState"; -export * from "../builder"; -export * from "../builderPublic"; -export * from "../resolutionCache"; -export * from "../watch"; -export * from "../watchPublic"; -export * from "../tsbuild"; -export * from "../tsbuildPublic"; -export * from "../executeCommandLine"; -export * from "../expressionToTypeNode"; -import * as moduleSpecifiers from "./ts.moduleSpecifiers"; +export * from "../corePublic.js"; +export * from "../core.js"; +export * from "../debug.js"; +export * from "../semver.js"; +export * from "../performanceCore.js"; +export * from "../perfLogger.js"; +export * from "../tracing.js"; +export * from "../types.js"; +export * from "../sys.js"; +export * from "../path.js"; +export * from "../diagnosticInformationMap.generated.js"; +export * from "../scanner.js"; +export * from "../utilitiesPublic.js"; +export * from "../utilities.js"; +export * from "../factory/baseNodeFactory.js"; +export * from "../factory/parenthesizerRules.js"; +export * from "../factory/nodeConverters.js"; +export * from "../factory/nodeFactory.js"; +export * from "../factory/emitNode.js"; +export * from "../factory/emitHelpers.js"; +export * from "../factory/nodeTests.js"; +export * from "../factory/nodeChildren.js"; +export * from "../factory/utilities.js"; +export * from "../factory/utilitiesPublic.js"; +export * from "../parser.js"; +export * from "../commandLineParser.js"; +export * from "../moduleNameResolver.js"; +export * from "../binder.js"; +export * from "../symbolWalker.js"; +export * from "../checker.js"; +export * from "../visitorPublic.js"; +export * from "../sourcemap.js"; +export * from "../transformers/utilities.js"; +export * from "../transformers/destructuring.js"; +export * from "../transformers/classThis.js"; +export * from "../transformers/namedEvaluation.js"; +export * from "../transformers/taggedTemplate.js"; +export * from "../transformers/ts.js"; +export * from "../transformers/classFields.js"; +export * from "../transformers/typeSerializer.js"; +export * from "../transformers/legacyDecorators.js"; +export * from "../transformers/esDecorators.js"; +export * from "../transformers/es2017.js"; +export * from "../transformers/es2018.js"; +export * from "../transformers/es2019.js"; +export * from "../transformers/es2020.js"; +export * from "../transformers/es2021.js"; +export * from "../transformers/esnext.js"; +export * from "../transformers/jsx.js"; +export * from "../transformers/es2016.js"; +export * from "../transformers/es2015.js"; +export * from "../transformers/generators.js"; +export * from "../transformers/module/module.js"; +export * from "../transformers/module/system.js"; +export * from "../transformers/module/esnextAnd2015.js"; +export * from "../transformers/module/impliedNodeFormatDependent.js"; +export * from "../transformers/declarations/diagnostics.js"; +export * from "../transformers/declarations.js"; +export * from "../transformer.js"; +export * from "../emitter.js"; +export * from "../watchUtilities.js"; +export * from "../program.js"; +export * from "../builderStatePublic.js"; +export * from "../builderState.js"; +export * from "../builder.js"; +export * from "../builderPublic.js"; +export * from "../resolutionCache.js"; +export * from "../watch.js"; +export * from "../watchPublic.js"; +export * from "../tsbuild.js"; +export * from "../tsbuildPublic.js"; +export * from "../executeCommandLine.js"; +export * from "../expressionToTypeNode.js"; +import * as moduleSpecifiers from "./ts.moduleSpecifiers.js"; export { moduleSpecifiers }; -import * as performance from "./ts.performance"; +import * as performance from "./ts.performance.js"; export { performance }; diff --git a/src/compiler/binder.ts b/src/compiler/binder.ts index 59b1eb19d7323..ea263f471cbdc 100644 --- a/src/compiler/binder.ts +++ b/src/compiler/binder.ts @@ -320,8 +320,8 @@ import { VariableDeclaration, WhileStatement, WithStatement, -} from "./_namespaces/ts"; -import * as performance from "./_namespaces/ts.performance"; +} from "./_namespaces/ts.js"; +import * as performance from "./_namespaces/ts.performance.js"; /** @internal */ export const enum ModuleInstanceState { diff --git a/src/compiler/builder.ts b/src/compiler/builder.ts index d2f7b376ddd5b..3b75cb86732c0 100644 --- a/src/compiler/builder.ts +++ b/src/compiler/builder.ts @@ -1,6 +1,7 @@ import { addRange, AffectedFileResult, + append, arrayFrom, arrayToMap, BuilderProgram, @@ -49,6 +50,7 @@ import { getOptionsNameMap, getOwnKeys, getRelativePathFromDirectory, + getSourceFileOfNode, getTsBuildInfoEmitOutputFilePath, handleNoEmitOptions, HostForComputeHash, @@ -58,6 +60,7 @@ import { isNumber, isString, map, + mapDefinedIterator, maybeBind, noop, notImplemented, @@ -73,15 +76,18 @@ import { sameMap, SemanticDiagnosticsBuilderProgram, SignatureInfo, + skipAlias, skipTypeChecking, + some, SourceFile, sourceFileMayBeEmitted, SourceMapEmitResult, + SymbolFlags, toPath, tryAddToSet, WriteFileCallback, WriteFileCallbackData, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; /** @internal */ export interface ReusableDiagnostic extends ReusableDiagnosticRelatedInformation { @@ -97,7 +103,7 @@ export interface ReusableDiagnostic extends ReusableDiagnosticRelatedInformation export interface ReusableDiagnosticRelatedInformation { category: DiagnosticCategory; code: number; - file: string | undefined; + file: string | undefined | false; start: number | undefined; length: number | undefined; messageText: string | ReusableDiagnosticMessageChain; @@ -379,7 +385,7 @@ function createBuilderProgramState(newProgram: Program, oldState: Readonly convertOrRepopulateDiagnosticMessageChain(chain, sourceFile, newProgram, repopulateInfo)); } -function convertToDiagnostics(diagnostics: readonly ReusableDiagnostic[], newProgram: Program): readonly Diagnostic[] { +function convertToDiagnostics(diagnostics: readonly ReusableDiagnostic[], diagnosticFilePath: Path, newProgram: Program): readonly Diagnostic[] { if (!diagnostics.length) return emptyArray; let buildInfoDirectory: string | undefined; return diagnostics.map(diagnostic => { - const result: Diagnostic = convertToDiagnosticRelatedInformation(diagnostic, newProgram, toPathInBuildInfoDirectory); + const result: Diagnostic = convertToDiagnosticRelatedInformation(diagnostic, diagnosticFilePath, newProgram, toPathInBuildInfoDirectory); result.reportsUnnecessary = diagnostic.reportsUnnecessary; result.reportsDeprecated = diagnostic.reportDeprecated; result.source = diagnostic.source; @@ -523,7 +529,7 @@ function convertToDiagnostics(diagnostics: readonly ReusableDiagnostic[], newPro const { relatedInformation } = diagnostic; result.relatedInformation = relatedInformation ? relatedInformation.length ? - relatedInformation.map(r => convertToDiagnosticRelatedInformation(r, newProgram, toPathInBuildInfoDirectory)) : + relatedInformation.map(r => convertToDiagnosticRelatedInformation(r, diagnosticFilePath, newProgram, toPathInBuildInfoDirectory)) : [] : undefined; return result; @@ -535,9 +541,11 @@ function convertToDiagnostics(diagnostics: readonly ReusableDiagnostic[], newPro } } -function convertToDiagnosticRelatedInformation(diagnostic: ReusableDiagnosticRelatedInformation, newProgram: Program, toPath: (path: string) => Path): DiagnosticRelatedInformation { +function convertToDiagnosticRelatedInformation(diagnostic: ReusableDiagnosticRelatedInformation, diagnosticFilePath: Path, newProgram: Program, toPath: (path: string) => Path): DiagnosticRelatedInformation { const { file } = diagnostic; - const sourceFile = file ? newProgram.getSourceFileByPath(toPath(file)) : undefined; + const sourceFile = file !== false ? + newProgram.getSourceFileByPath(file ? toPath(file) : diagnosticFilePath) : + undefined; return { ...diagnostic, file: sourceFile, @@ -761,6 +769,7 @@ function handleDtsMayChangeOfAffectedFile( function handleDtsMayChangeOf( state: BuilderProgramState, path: Path, + invalidateJsFiles: boolean, cancellationToken: CancellationToken | undefined, host: BuilderProgramHost, ): void { @@ -784,7 +793,10 @@ function handleDtsMayChangeOf( /*useFileVersionAsSignature*/ true, ); // If not dts emit, nothing more to do - if (getEmitDeclarations(state.compilerOptions)) { + if (invalidateJsFiles) { + addToAffectedFilesPendingEmit(state, path, getBuilderFileEmit(state.compilerOptions)); + } + else if (getEmitDeclarations(state.compilerOptions)) { addToAffectedFilesPendingEmit(state, path, state.compilerOptions.declarationMap ? BuilderFileEmit.AllDts : BuilderFileEmit.Dts); } } @@ -813,6 +825,7 @@ function isChangedSignature(state: BuilderProgramState, path: Path) { function handleDtsMayChangeOfGlobalScope( state: BuilderProgramState, filePath: Path, + invalidateJsFiles: boolean, cancellationToken: CancellationToken | undefined, host: BuilderProgramHost, ): boolean { @@ -823,6 +836,7 @@ function handleDtsMayChangeOfGlobalScope( handleDtsMayChangeOf( state, file.resolvedPath, + invalidateJsFiles, cancellationToken, host, ) @@ -855,8 +869,16 @@ function handleDtsMayChangeOfReferencingExportOfAffectedFile( const currentPath = queue.pop()!; if (!seenFileNamesMap.has(currentPath)) { seenFileNamesMap.set(currentPath, true); - if (handleDtsMayChangeOfGlobalScope(state, currentPath, cancellationToken, host)) return; - handleDtsMayChangeOf(state, currentPath, cancellationToken, host); + if ( + handleDtsMayChangeOfGlobalScope( + state, + currentPath, + /*invalidateJsFiles*/ false, + cancellationToken, + host, + ) + ) return; + handleDtsMayChangeOf(state, currentPath, /*invalidateJsFiles*/ false, cancellationToken, host); if (isChangedSignature(state, currentPath)) { const currentSourceFile = Debug.checkDefined(state.program).getSourceFileByPath(currentPath)!; queue.push(...BuilderState.getReferencedByPaths(state, currentSourceFile.resolvedPath)); @@ -866,14 +888,26 @@ function handleDtsMayChangeOfReferencingExportOfAffectedFile( } const seenFileAndExportsOfFile = new Set(); + // If exported const enum, we need to ensure that js files are emitted as well since the const enum value changed + const invalidateJsFiles = !!affectedFile.symbol?.exports && !!forEachEntry( + affectedFile.symbol.exports, + exported => { + if ((exported.flags & SymbolFlags.ConstEnum) !== 0) return true; + const aliased = skipAlias(exported, state.program!.getTypeChecker()); + if (aliased === exported) return false; + return (aliased.flags & SymbolFlags.ConstEnum) !== 0 && + some(aliased.declarations, d => getSourceFileOfNode(d) === affectedFile); + }, + ); // Go through files that reference affected file and handle dts emit and semantic diagnostics for them and their references state.referencedMap.getKeys(affectedFile.resolvedPath)?.forEach(exportedFromPath => { - if (handleDtsMayChangeOfGlobalScope(state, exportedFromPath, cancellationToken, host)) return true; + if (handleDtsMayChangeOfGlobalScope(state, exportedFromPath, invalidateJsFiles, cancellationToken, host)) return true; const references = state.referencedMap!.getKeys(exportedFromPath); return references && forEachKey(references, filePath => handleDtsMayChangeOfFileAndExportsOfFile( state, filePath, + invalidateJsFiles, seenFileAndExportsOfFile, cancellationToken, host, @@ -888,20 +922,22 @@ function handleDtsMayChangeOfReferencingExportOfAffectedFile( function handleDtsMayChangeOfFileAndExportsOfFile( state: BuilderProgramState, filePath: Path, + invalidateJsFiles: boolean, seenFileAndExportsOfFile: Set, cancellationToken: CancellationToken | undefined, host: BuilderProgramHost, ): boolean | undefined { if (!tryAddToSet(seenFileAndExportsOfFile, filePath)) return undefined; - if (handleDtsMayChangeOfGlobalScope(state, filePath, cancellationToken, host)) return true; - handleDtsMayChangeOf(state, filePath, cancellationToken, host); + if (handleDtsMayChangeOfGlobalScope(state, filePath, invalidateJsFiles, cancellationToken, host)) return true; + handleDtsMayChangeOf(state, filePath, invalidateJsFiles, cancellationToken, host); // Remove the diagnostics of files that import this file and handle all its exports too state.referencedMap!.getKeys(filePath)?.forEach(referencingFilePath => handleDtsMayChangeOfFileAndExportsOfFile( state, referencingFilePath, + invalidateJsFiles, seenFileAndExportsOfFile, cancellationToken, host, @@ -948,7 +984,14 @@ export type ProgramBuildInfoFileId = number & { __programBuildInfoFileIdBrand: a /** @internal */ export type ProgramBuildInfoFileIdListId = number & { __programBuildInfoFileIdListIdBrand: any; }; /** @internal */ -export type ProgramBuildInfoDiagnostic = ProgramBuildInfoFileId | [fileId: ProgramBuildInfoFileId, diagnostics: readonly ReusableDiagnostic[]]; +export type ProgramBuildInfoDiagnosticOfFile = [fileId: ProgramBuildInfoFileId, diagnostics: readonly ReusableDiagnostic[]]; +/** @internal */ +export type ProgramBuildInfoDiagnostic = + | ProgramBuildInfoFileId // File is not in changedSet and still doesnt have cached diagnostics + | ProgramBuildInfoDiagnosticOfFile; // Diagnostics for file +/** @internal */ +export type ProgramBuildInfoEmitDiagnostic = ProgramBuildInfoDiagnosticOfFile; // Diagnostics for the file + /** * fileId if pending emit is same as what compilerOptions suggest * [fileId] if pending emit is only dts file emit @@ -990,15 +1033,18 @@ export type ProgramBuildInfoRootStartEnd = [start: ProgramBuildInfoFileId, end: */ export type ProgramBuildInfoRoot = ProgramBuildInfoRootStartEnd | ProgramBuildInfoFileId; /** @internal */ +export type ProgramBuildInfoResolvedRoot = [resolved: ProgramBuildInfoFileId, root: ProgramBuildInfoFileId]; +/** @internal */ export interface ProgramMultiFileEmitBuildInfo { fileNames: readonly string[]; fileInfos: readonly ProgramMultiFileEmitBuildInfoFileInfo[]; root: readonly ProgramBuildInfoRoot[]; + resolvedRoot: readonly ProgramBuildInfoResolvedRoot[] | undefined; options: CompilerOptions | undefined; fileIdsList: readonly (readonly ProgramBuildInfoFileId[])[] | undefined; referencedMap: ProgramBuildInfoReferencedMap | undefined; semanticDiagnosticsPerFile: ProgramBuildInfoDiagnostic[] | undefined; - emitDiagnosticsPerFile: ProgramBuildInfoDiagnostic[] | undefined; + emitDiagnosticsPerFile: ProgramBuildInfoEmitDiagnostic[] | undefined; affectedFilesPendingEmit: ProgramBuilderInfoFilePendingEmit[] | undefined; changeFileSet: readonly ProgramBuildInfoFileId[] | undefined; emitSignatures: readonly ProgramBuildInfoEmitSignature[] | undefined; @@ -1023,6 +1069,7 @@ export interface ProgramBundleEmitBuildInfo { fileNames: readonly string[]; fileInfos: readonly ProgramBundleEmitBuildInfoFileInfo[]; root: readonly ProgramBuildInfoRoot[]; + resolvedRoot: readonly ProgramBuildInfoResolvedRoot[] | undefined; options: CompilerOptions | undefined; outSignature: EmitSignature | undefined; latestChangedDtsFile: string | undefined; @@ -1047,6 +1094,7 @@ function getBuildInfo(state: BuilderProgramState): BuildInfo { const latestChangedDtsFile = state.latestChangedDtsFile ? relativeToBuildInfoEnsuringAbsolutePath(state.latestChangedDtsFile) : undefined; const fileNames: string[] = []; const fileNameToFileId = new Map(); + const rootFileNames = new Set(state.program!.getRootFileNames().map(f => toPath(f, currentDirectory, state.program!.getCanonicalFileName))); const root: ProgramBuildInfoRoot[] = []; if (state.compilerOptions.outFile) { // Copy all fileInfo, version and impliedFormat @@ -1063,6 +1111,7 @@ function getBuildInfo(state: BuilderProgramState): BuildInfo { fileNames, fileInfos, root, + resolvedRoot: toResolvedRoot(), options: convertToProgramBuildInfoCompilerOptions(state.compilerOptions), outSignature: state.outSignature, latestChangedDtsFile, @@ -1090,7 +1139,8 @@ function getBuildInfo(state: BuilderProgramState): BuildInfo { if (!isJsonSourceFile(file) && sourceFileMayBeEmitted(file, state.program!)) { const emitSignature = state.emitSignatures?.get(key); if (emitSignature !== actualSignature) { - (emitSignatures ||= []).push( + emitSignatures = append( + emitSignatures, emitSignature === undefined ? fileId : // There is no emit, encode as false // fileId, signature: emptyArray if signature only differs in dtsMap option than our own compilerOptions otherwise EmitSignature @@ -1116,14 +1166,14 @@ function getBuildInfo(state: BuilderProgramState): BuildInfo { }); let referencedMap: ProgramBuildInfoReferencedMap | undefined; - if (state.referencedMap) { + if (state.referencedMap?.size()) { referencedMap = arrayFrom(state.referencedMap.keys()).sort(compareStringsCaseSensitive).map(key => [ toFileId(key), toFileIdListId(state.referencedMap!.getValues(key)!), ]); } - const semanticDiagnosticsPerFile = convertToProgramBuildInfoDiagnostics(state.semanticDiagnosticsPerFile); + const semanticDiagnosticsPerFile = convertToProgramBuildInfoDiagnostics(); let affectedFilesPendingEmit: ProgramBuilderInfoFilePendingEmit[] | undefined; if (state.affectedFilesPendingEmit?.size) { const fullEmitForOptions = getBuilderFileEmit(state.compilerOptions); @@ -1133,7 +1183,8 @@ function getBuildInfo(state: BuilderProgramState): BuildInfo { const file = state.program!.getSourceFileByPath(path); if (!file || !sourceFileMayBeEmitted(file, state.program!)) continue; const fileId = toFileId(path), pendingEmit = state.affectedFilesPendingEmit.get(path)!; - (affectedFilesPendingEmit ||= []).push( + affectedFilesPendingEmit = append( + affectedFilesPendingEmit, pendingEmit === fullEmitForOptions ? fileId : // Pending full emit per options pendingEmit === BuilderFileEmit.Dts ? @@ -1147,14 +1198,15 @@ function getBuildInfo(state: BuilderProgramState): BuildInfo { let changeFileSet: ProgramBuildInfoFileId[] | undefined; if (state.changedFilesSet.size) { for (const path of arrayFrom(state.changedFilesSet.keys()).sort(compareStringsCaseSensitive)) { - (changeFileSet ||= []).push(toFileId(path)); + changeFileSet = append(changeFileSet, toFileId(path)); } } - const emitDiagnosticsPerFile = convertToProgramBuildInfoDiagnostics(state.emitDiagnosticsPerFile); + const emitDiagnosticsPerFile = convertToProgramBuildInfoEmitDiagnostics(); const program: ProgramMultiFileEmitBuildInfo = { fileNames, fileInfos, root, + resolvedRoot: toResolvedRoot(), options: convertToProgramBuildInfoCompilerOptions(state.compilerOptions), fileIdsList, referencedMap, @@ -1189,8 +1241,8 @@ function getBuildInfo(state: BuilderProgramState): BuildInfo { const key = fileIds.join(); let fileIdListId = fileNamesToFileIdListId?.get(key); if (fileIdListId === undefined) { - (fileIdsList ||= []).push(fileIds); - (fileNamesToFileIdListId ||= new Map()).set(key, fileIdListId = fileIdsList.length as ProgramBuildInfoFileIdListId); + fileIdsList = append(fileIdsList, fileIds); + (fileNamesToFileIdListId ??= new Map()).set(key, fileIdListId = fileIdsList.length as ProgramBuildInfoFileIdListId); } return fileIdListId; } @@ -1214,6 +1266,17 @@ function getBuildInfo(state: BuilderProgramState): BuildInfo { return root.length = root.length - 1; } + function toResolvedRoot(): ProgramBuildInfoResolvedRoot[] | undefined { + let result: ProgramBuildInfoResolvedRoot[] | undefined; + rootFileNames.forEach(path => { + const file = state.program!.getSourceFileByPath(path); + if (file && path !== file.resolvedPath) { + result = append(result, [toFileId(file.resolvedPath), toFileId(path)]); + } + }); + return result; + } + /** * @param optionKey key of CommandLineOption to use to determine if the option should be serialized in tsbuildinfo */ @@ -1248,28 +1311,40 @@ function getBuildInfo(state: BuilderProgramState): BuildInfo { return value; } - function convertToProgramBuildInfoDiagnostics(diagnostics: Map | undefined) { + function convertToProgramBuildInfoDiagnostics() { let result: ProgramBuildInfoDiagnostic[] | undefined; - if (diagnostics) { - for (const key of arrayFrom(diagnostics.keys()).sort(compareStringsCaseSensitive)) { - const value = diagnostics.get(key)!; - (result ||= []).push( - value.length ? - [ - toFileId(key), - convertToReusableDiagnostics(value), - ] : - toFileId(key), - ); + state.fileInfos.forEach((_value, key) => { + const value = state.semanticDiagnosticsPerFile?.get(key); + if (!value) { + if (!state.changedFilesSet.has(key)) result = append(result, toFileId(key)); + } + else if (value.length) { + result = append(result, [ + toFileId(key), + convertToReusableDiagnostics(value, key), + ]); } + }); + return result; + } + + function convertToProgramBuildInfoEmitDiagnostics() { + let result: ProgramBuildInfoEmitDiagnostic[] | undefined; + if (!state.emitDiagnosticsPerFile?.size) return result; + for (const key of arrayFrom(state.emitDiagnosticsPerFile.keys()).sort(compareStringsCaseSensitive)) { + const value = state.emitDiagnosticsPerFile.get(key)!; + result = append(result, [ + toFileId(key), + convertToReusableDiagnostics(value, key), + ]); } return result; } - function convertToReusableDiagnostics(diagnostics: readonly Diagnostic[]): readonly ReusableDiagnostic[] { + function convertToReusableDiagnostics(diagnostics: readonly Diagnostic[], diagnosticFilePath: Path): readonly ReusableDiagnostic[] { Debug.assert(!!diagnostics.length); return diagnostics.map(diagnostic => { - const result: ReusableDiagnostic = convertToReusableDiagnosticRelatedInformation(diagnostic); + const result: ReusableDiagnostic = convertToReusableDiagnosticRelatedInformation(diagnostic, diagnosticFilePath); result.reportsUnnecessary = diagnostic.reportsUnnecessary; result.reportDeprecated = diagnostic.reportsDeprecated; result.source = diagnostic.source; @@ -1277,18 +1352,22 @@ function getBuildInfo(state: BuilderProgramState): BuildInfo { const { relatedInformation } = diagnostic; result.relatedInformation = relatedInformation ? relatedInformation.length ? - relatedInformation.map(r => convertToReusableDiagnosticRelatedInformation(r)) : + relatedInformation.map(r => convertToReusableDiagnosticRelatedInformation(r, diagnosticFilePath)) : [] : undefined; return result; }); } - function convertToReusableDiagnosticRelatedInformation(diagnostic: DiagnosticRelatedInformation): ReusableDiagnosticRelatedInformation { + function convertToReusableDiagnosticRelatedInformation(diagnostic: DiagnosticRelatedInformation, diagnosticFilePath: Path): ReusableDiagnosticRelatedInformation { const { file } = diagnostic; return { ...diagnostic, - file: file ? relativeToBuildInfo(file.resolvedPath) : undefined, + file: file ? + file.resolvedPath === diagnosticFilePath ? + undefined : + relativeToBuildInfo(file.resolvedPath) : + false, messageText: isString(diagnostic.messageText) ? diagnostic.messageText : convertToReusableDiagnosticMessageChain(diagnostic.messageText), }; } @@ -1827,16 +1906,17 @@ export function createBuilderProgramUsingProgramBuildInfo(buildInfo: BuildInfo, ); } }); + const changedFilesSet = new Set(map(program.changeFileSet, toFilePath)); const fullEmitForOptions = program.affectedFilesPendingEmit ? getBuilderFileEmit(program.options || {}) : undefined; state = { fileInfos, compilerOptions: program.options ? convertToOptionsWithAbsolutePaths(program.options, toAbsolutePath) : {}, - referencedMap: toManyToManyPathMap(program.referencedMap), - semanticDiagnosticsPerFile: toPerFileDiagnostics(program.semanticDiagnosticsPerFile), - emitDiagnosticsPerFile: toPerFileDiagnostics(program.emitDiagnosticsPerFile), + referencedMap: toManyToManyPathMap(program.referencedMap, program.options ?? {}), + semanticDiagnosticsPerFile: toPerFileSemanticDiagnostics(program.semanticDiagnosticsPerFile, fileInfos, changedFilesSet), + emitDiagnosticsPerFile: toPerFileEmitDiagnostics(program.emitDiagnosticsPerFile), hasReusableDiagnostic: true, affectedFilesPendingEmit: program.affectedFilesPendingEmit && arrayToMap(program.affectedFilesPendingEmit, value => toFilePath(isNumber(value) ? value : value[0]), value => toBuilderFileEmit(value, fullEmitForOptions!)), - changedFilesSet: new Set(map(program.changeFileSet, toFilePath)), + changedFilesSet, latestChangedDtsFile, emitSignatures: emitSignatures?.size ? emitSignatures : undefined, }; @@ -1884,18 +1964,33 @@ export function createBuilderProgramUsingProgramBuildInfo(buildInfo: BuildInfo, return filePathsSetList![fileIdsListId - 1]; } - function toManyToManyPathMap(referenceMap: ProgramBuildInfoReferencedMap | undefined): BuilderState.ManyToManyPathMap | undefined { - if (!referenceMap) { - return undefined; - } - - const map = BuilderState.createManyToManyPathMap(); + function toManyToManyPathMap(referenceMap: ProgramBuildInfoReferencedMap | undefined, options: CompilerOptions): BuilderState.ManyToManyPathMap | undefined { + const map = BuilderState.createReferencedMap(options); + if (!map || !referenceMap) return map; referenceMap.forEach(([fileId, fileIdListId]) => map.set(toFilePath(fileId), toFilePathsSet(fileIdListId))); return map; } - function toPerFileDiagnostics(diagnostics: readonly ProgramBuildInfoDiagnostic[] | undefined): Map | undefined { - return diagnostics && arrayToMap(diagnostics, value => toFilePath(isNumber(value) ? value : value[0]), value => isNumber(value) ? emptyArray : value[1]); + function toPerFileSemanticDiagnostics( + diagnostics: readonly ProgramBuildInfoDiagnostic[] | undefined, + fileInfos: Map, + changedFilesSet: Set, + ): Map | undefined { + const semanticDiagnostics = new Map( + mapDefinedIterator( + fileInfos.keys(), + key => !changedFilesSet.has(key) ? [key, emptyArray] : undefined, + ), + ); + diagnostics?.forEach(value => { + if (isNumber(value)) semanticDiagnostics.delete(toFilePath(value)); + else semanticDiagnostics.set(toFilePath(value[0]), value[1]); + }); + return semanticDiagnostics.size ? semanticDiagnostics : undefined; + } + + function toPerFileEmitDiagnostics(diagnostics: readonly ProgramBuildInfoEmitDiagnostic[] | undefined): Map | undefined { + return diagnostics && arrayToMap(diagnostics, value => toFilePath(value[0]), value => value[1]); } } @@ -1909,7 +2004,9 @@ export function getBuildInfoFileVersionMap( const getCanonicalFileName = createGetCanonicalFileName(host.useCaseSensitiveFileNames()); const fileInfos = new Map(); let rootIndex = 0; - const roots: Path[] = []; + // Root name to resolved + const roots = new Map(); + const resolvedRoots = new Map(program.resolvedRoot); program.fileInfos.forEach((fileInfo, index) => { const path = toPath(program.fileNames[index], buildInfoDirectory, getCanonicalFileName); const version = isString(fileInfo) ? fileInfo : fileInfo.version; @@ -1919,17 +2016,27 @@ export function getBuildInfoFileVersionMap( const fileId = (index + 1) as ProgramBuildInfoFileId; if (isArray(current)) { if (current[0] <= fileId && fileId <= current[1]) { - roots.push(path); + addRoot(fileId, path); if (current[1] === fileId) rootIndex++; } } else if (current === fileId) { - roots.push(path); + addRoot(fileId, path); rootIndex++; } } }); return { fileInfos, roots }; + + function addRoot(fileId: ProgramBuildInfoFileId, path: Path) { + const root = resolvedRoots.get(fileId); + if (root) { + roots.set(toPath(program.fileNames[root - 1], buildInfoDirectory, getCanonicalFileName), path); + } + else { + roots.set(path, undefined); + } + } } /** @internal */ diff --git a/src/compiler/builderPublic.ts b/src/compiler/builderPublic.ts index 57f2124c9997f..eb2b9b9f4f6dc 100644 --- a/src/compiler/builderPublic.ts +++ b/src/compiler/builderPublic.ts @@ -16,7 +16,7 @@ import { SavedBuildProgramEmitState, SourceFile, WriteFileCallback, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; export type AffectedFileResult = { result: T; affected: SourceFile | Program; } | undefined; diff --git a/src/compiler/builderState.ts b/src/compiler/builderState.ts index ded9436a279bd..6e23eaddc3741 100644 --- a/src/compiler/builderState.ts +++ b/src/compiler/builderState.ts @@ -1,6 +1,7 @@ import { arrayFrom, CancellationToken, + CompilerOptions, computeSignatureWithDiagnostics, CustomTransformers, Debug, @@ -31,7 +32,7 @@ import { Symbol, toPath, TypeChecker, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; /** @internal */ export function getFileEmitOutput( @@ -110,6 +111,7 @@ export namespace BuilderState { getKeys(v: Path): ReadonlySet | undefined; getValues(k: Path): ReadonlySet | undefined; keys(): IterableIterator; + size(): number; } export interface ManyToManyPathMap extends ReadonlyManyToManyPathMap { @@ -123,6 +125,7 @@ export namespace BuilderState { getKeys: v => reverse.get(v), getValues: k => forward.get(k), keys: () => forward.keys(), + size: () => forward.size, deleteKey: k => { (deleted ||= new Set()).add(k); @@ -292,15 +295,19 @@ export namespace BuilderState { return oldState && !oldState.referencedMap === !newReferencedMap; } + export function createReferencedMap(options: CompilerOptions) { + return options.module !== ModuleKind.None && !options.outFile ? + createManyToManyPathMap() : + undefined; + } + /** * Creates the state of file references and signature for the new program from oldState if it is safe */ export function create(newProgram: Program, oldState: Readonly | undefined, disableUseFileVersionAsSignature: boolean): BuilderState { const fileInfos = new Map(); const options = newProgram.getCompilerOptions(); - const isOutFile = options.outFile; - const referencedMap = options.module !== ModuleKind.None && !isOutFile ? - createManyToManyPathMap() : undefined; + const referencedMap = createReferencedMap(options); const useOldState = canReuseOldState(referencedMap, oldState); // Ensure source files have parent pointers set @@ -323,7 +330,7 @@ export namespace BuilderState { version, signature, // No need to calculate affectsGlobalScope with --out since its not used at all - affectsGlobalScope: !isOutFile ? isFileAffectingGlobalScope(sourceFile) || undefined : undefined, + affectsGlobalScope: !options.outFile ? isFileAffectingGlobalScope(sourceFile) || undefined : undefined, impliedFormat: sourceFile.impliedNodeFormat, }); } diff --git a/src/compiler/builderStatePublic.ts b/src/compiler/builderStatePublic.ts index 9b3a302d2e547..50d08838d0f38 100644 --- a/src/compiler/builderStatePublic.ts +++ b/src/compiler/builderStatePublic.ts @@ -1,7 +1,7 @@ import { Diagnostic, WriteFileCallbackData, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; export interface EmitOutput { outputFiles: OutputFile[]; diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 0d615ef6115f2..65f8bad6a4d04 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -446,6 +446,7 @@ import { InterfaceType, InterfaceTypeWithDeclaredMembers, InternalSymbolName, + IntersectionFlags, IntersectionType, IntersectionTypeNode, intrinsicTagNameToString, @@ -489,6 +490,7 @@ import { isCatchClauseVariableDeclarationOrBindingElement, isCheckJsEnabledForFile, isClassDeclaration, + isClassElement, isClassExpression, isClassInstanceProperty, isClassLike, @@ -692,6 +694,7 @@ import { isPrivateIdentifierPropertyAccessExpression, isPropertyAccessEntityNameExpression, isPropertyAccessExpression, + isPropertyAccessOrQualifiedName, isPropertyAccessOrQualifiedNameOrImportTypeNode, isPropertyAssignment, isPropertyDeclaration, @@ -738,6 +741,7 @@ import { isThisInitializedObjectBindingExpression, isThisInTypeQuery, isThisProperty, + isThisTypeNode, isThisTypeParameter, isThisTypePredicate, isTransientSymbol, @@ -778,7 +782,6 @@ import { JSDocAugmentsTag, JSDocCallbackTag, JSDocComment, - JSDocEnumTag, JSDocFunctionType, JSDocImplementsTag, JSDocImportTag, @@ -835,6 +838,7 @@ import { LateBoundDeclaration, LateBoundName, LateVisibilityPaintedStatement, + LazyNodeCheckFlags, length, LiteralExpression, LiteralType, @@ -1104,13 +1108,25 @@ import { WideningContext, WithStatement, YieldExpression, -} from "./_namespaces/ts"; -import * as moduleSpecifiers from "./_namespaces/ts.moduleSpecifiers"; -import * as performance from "./_namespaces/ts.performance"; +} from "./_namespaces/ts.js"; +import * as moduleSpecifiers from "./_namespaces/ts.moduleSpecifiers.js"; +import * as performance from "./_namespaces/ts.performance.js"; const ambientModuleSymbolRegex = /^".+"$/; const anon = "(anonymous)" as __String & string; +const enum ReferenceHint { + Unspecified, + Identifier, + Property, + ExportAssignment, + Jsx, + AsyncFunction, + ExportImportEquals, + ExportSpecifier, + Decorator, +} + let nextSymbolId = 1; let nextNodeId = 1; let nextMergeId = 1; @@ -1272,7 +1288,6 @@ const enum TypeSystemPropertyName { DeclaredType, ResolvedReturnType, ImmediateBaseConstraint, - EnumTagType, ResolvedTypeArguments, ResolvedBaseTypes, WriteType, @@ -1448,9 +1463,6 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { // they no longer need the information (for example, if the user started editing again). var cancellationToken: CancellationToken | undefined; - var requestedExternalEmitHelperNames = new Set(); - var requestedExternalEmitHelpers: ExternalEmitHelpers; - var externalHelpersModule: Symbol; var scanner: Scanner | undefined; var Symbol = objectAllocator.getSymbolConstructor(); @@ -1492,7 +1504,6 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { var syntacticNodeBuilder = createSyntacticTypeNodeBuilder(compilerOptions, { isEntityNameVisible, isExpandoFunctionDeclaration, - isNonNarrowedBindableName, getAllAccessorDeclarations: getAllAccessorDeclarationsForDeclaration, requiresAddingImplicitUndefined, isUndefinedIdentifierExpression(node: Identifier) { @@ -1899,6 +1910,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { getMemberOverrideModifierStatus, isTypeParameterPossiblyReferenced, typeHasCallOrConstructSignatures, + getSymbolFlags, }; function getCandidateSignaturesForStringLiteralCompletions(call: CallLikeExpression, editingArgument: Node) { @@ -2415,10 +2427,10 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { return visitEachChild(node, markAsSynthetic, /*context*/ undefined); } - function getEmitResolver(sourceFile: SourceFile, cancellationToken: CancellationToken) { + function getEmitResolver(sourceFile: SourceFile, cancellationToken: CancellationToken, skipDiagnostics?: boolean) { // Ensure we have all the type information in place for this file so that all the // emitter questions of this resolver will return the right information. - getDiagnostics(sourceFile, cancellationToken); + if (!skipDiagnostics) getDiagnostics(sourceFile, cancellationToken); return emitResolver; } @@ -2608,7 +2620,16 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { if (resolvedTarget === unknownSymbol) { return source; } - target = cloneSymbol(resolvedTarget); + if ( + !(resolvedTarget.flags & getExcludedSymbolFlags(source.flags)) || + (source.flags | resolvedTarget.flags) & SymbolFlags.Assignment + ) { + target = cloneSymbol(resolvedTarget); + } + else { + reportMergeSymbolError(target, source); + return source; + } } // Javascript static-property-assignment declarations always merge, even though they are also values if (source.flags & SymbolFlags.ValueModule && target.flags & SymbolFlags.ValueModule && target.constEnumOnlyModule && !source.constEnumOnlyModule) { @@ -2644,7 +2665,12 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { ); } } - else { // error + else { + reportMergeSymbolError(target, source); + } + return target; + + function reportMergeSymbolError(target: Symbol, source: Symbol) { const isEitherEnum = !!(target.flags & SymbolFlags.Enum || source.flags & SymbolFlags.Enum); const isEitherBlockScoped = !!(target.flags & SymbolFlags.BlockScopedVariable || source.flags & SymbolFlags.BlockScopedVariable); const message = isEitherEnum ? Diagnostics.Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations @@ -2671,7 +2697,6 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { if (!isTargetPlainJs) addDuplicateDeclarationErrorsForSymbols(target, message, symbolName, source); } } - return target; function addDuplicateLocations(locs: Declaration[], symbol: Symbol): void { if (symbol.declarations) { @@ -2808,7 +2833,6 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { if (meaning) { const symbol = getMergedSymbol(symbols.get(name)); if (symbol) { - Debug.assert((getCheckFlags(symbol) & CheckFlags.Instantiated) === 0, "Should never get an instantiated symbol here."); if (symbol.flags & meaning) { return symbol; } @@ -4242,6 +4266,13 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { return undefined; } const links = getSymbolLinks(symbol); + if (links.typeOnlyDeclaration === undefined) { + // We need to set a WIP value here to prevent reentrancy during `getImmediateAliasedSymbol` which, paradoxically, can depend on this + links.typeOnlyDeclaration = false; + const resolved = resolveSymbol(symbol); // do this before the `resolveImmediate` below, as it uses a different circularity cache and we might hide a circularity error if we blindly get the immediate alias first + // While usually the alias will have been marked during the pass by the full typecheck, we may still need to calculate the alias declaration now + markSymbolOfAliasDeclarationIfTypeOnly(symbol.declarations?.[0], getDeclarationOfAliasSymbol(symbol) && getImmediateAliasedSymbol(symbol), resolved, /*overwriteEmpty*/ true); + } if (include === undefined) { return links.typeOnlyDeclaration || undefined; } @@ -4254,44 +4285,6 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { return undefined; } - function markExportAsReferenced(node: ImportEqualsDeclaration | ExportSpecifier) { - if (!canCollectSymbolAliasAccessabilityData) { - return; - } - const symbol = getSymbolOfDeclaration(node); - const target = resolveAlias(symbol); - if (target) { - const markAlias = target === unknownSymbol || - ((getSymbolFlags(symbol, /*excludeTypeOnlyMeanings*/ true) & SymbolFlags.Value) && !isConstEnumOrConstEnumOnlyModule(target)); - - if (markAlias) { - markAliasSymbolAsReferenced(symbol); - } - } - } - - // When an alias symbol is referenced, we need to mark the entity it references as referenced and in turn repeat that until - // we reach a non-alias or an exported entity (which is always considered referenced). We do this by checking the target of - // the alias as an expression (which recursively takes us back here if the target references another alias). - function markAliasSymbolAsReferenced(symbol: Symbol) { - Debug.assert(canCollectSymbolAliasAccessabilityData); - const links = getSymbolLinks(symbol); - if (!links.referenced) { - links.referenced = true; - const node = getDeclarationOfAliasSymbol(symbol); - if (!node) return Debug.fail(); - // We defer checking of the reference of an `import =` until the import itself is referenced, - // This way a chain of imports can be elided if ultimately the final input is only used in a type - // position. - if (isInternalModuleImportEqualsDeclaration(node)) { - if (getSymbolFlags(resolveSymbol(symbol)) & SymbolFlags.Value) { - // import foo = - checkExpressionCached(node.moduleReference as Expression); - } - } - } - } - // This function is only for imports with entity names function getSymbolOfPartOfRightHandSideOfImportEquals(entityName: EntityName, dontResolveAlias?: boolean): Symbol | undefined { // There are three things we might try to look for. In the following examples, @@ -4439,7 +4432,6 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { else { Debug.assertNever(name, "Unknown entity name kind."); } - Debug.assert((getCheckFlags(symbol) & CheckFlags.Instantiated) === 0, "Should never get an instantiated symbol here."); if (!nodeIsSynthesized(name) && isEntityName(name) && (symbol.flags & SymbolFlags.Alias || name.parent.kind === SyntaxKind.ExportAssignment)) { markSymbolOfAliasDeclarationIfTypeOnly(getAliasDeclarationFromName(name), symbol, /*finalTarget*/ undefined, /*overwriteEmpty*/ true); } @@ -5889,8 +5881,15 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { return { accessibility: SymbolAccessibility.Accessible }; } + if (!symbol) { + return { + accessibility: SymbolAccessibility.NotResolved, + errorSymbolName: getTextOfNode(firstIdentifier), + errorNode: firstIdentifier, + }; + } // Verify if the symbol is accessible - return (symbol && hasVisibleDeclarations(symbol, shouldComputeAliasToMakeVisible)) || { + return hasVisibleDeclarations(symbol, shouldComputeAliasToMakeVisible) || { accessibility: SymbolAccessibility.NotAccessible, errorSymbolName: getTextOfNode(firstIdentifier), errorNode: firstIdentifier, @@ -5991,7 +5990,14 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { function isClassInstanceSide(type: Type) { return !!type.symbol && !!(type.symbol.flags & SymbolFlags.Class) && (type === getDeclaredTypeOfClassOrInterface(type.symbol) || (!!(type.flags & TypeFlags.Object) && !!(getObjectFlags(type) & ObjectFlags.IsClassInstanceClone))); } - + /** + * Same as getTypeFromTypeNode, but for use in createNodeBuilder + * Inside createNodeBuilder we shadow getTypeFromTypeNode to make sure anyone using this function will call the local version that does type mapping if appropriate + * This function is used to still be able to call the original getTypeFromTypeNode from the local scope version of getTypeFromTypeNode + */ + function getTypeFromTypeNodeWithoutContext(node: TypeNode) { + return getTypeFromTypeNode(node); + } function createNodeBuilder() { return { typeToTypeNode: (type: Type, enclosingDeclaration?: Node, flags?: NodeBuilderFlags, tracker?: SymbolTracker) => withContext(enclosingDeclaration, flags, tracker, context => typeToTypeNodeHelper(type, context)), @@ -6010,6 +6016,16 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { symbolToNode: (symbol: Symbol, meaning: SymbolFlags, enclosingDeclaration?: Node, flags?: NodeBuilderFlags, tracker?: SymbolTracker) => withContext(enclosingDeclaration, flags, tracker, context => symbolToNode(symbol, context, meaning)), }; + function getTypeFromTypeNode(context: NodeBuilderContext, node: TypeNode, noMappedTypes?: false): Type; + function getTypeFromTypeNode(context: NodeBuilderContext, node: TypeNode, noMappedTypes: true): Type | undefined; + function getTypeFromTypeNode(context: NodeBuilderContext, node: TypeNode, noMappedTypes?: boolean): Type | undefined { + const type = getTypeFromTypeNodeWithoutContext(node); + if (!context.mapper) return type; + + const mappedType = instantiateType(type, context.mapper); + return noMappedTypes && mappedType !== type ? undefined : mappedType; + } + /** * Unlike the utilities `setTextRange`, this checks if the `location` we're trying to set on `range` is within the * same file as the active context. If not, the range is not applied. This prevents us from copying ranges across files, @@ -6023,6 +6039,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { if (!nodeIsSynthesized(range) && !(range.flags & NodeFlags.Synthesized) && (!context.enclosingFile || context.enclosingFile !== getSourceFileOfNode(range))) { range = factory.cloneNode(range); } + if (range === location) return range; if (!location) { return range; } @@ -6078,7 +6095,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } const clone = tryReuseExistingNonParameterTypeNode(context, typeNode, type, host); if (clone) { - if (addUndefined && !someType(getTypeFromTypeNode(typeNode), t => !!(t.flags & TypeFlags.Undefined))) { + if (addUndefined && !someType(getTypeFromTypeNode(context, typeNode), t => !!(t.flags & TypeFlags.Undefined))) { return factory.createUnionTypeNode([clone, factory.createKeywordTypeNode(SyntaxKind.UndefinedKeyword)]); } return clone; @@ -6097,9 +6114,9 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { existing: TypeNode, type: Type, host = context.enclosingDeclaration, - annotationType?: Type, + annotationType = getTypeFromTypeNode(context, existing, /*noMappedTypes*/ true), ) { - if (typeNodeIsEquivalentToType(existing, host, type, annotationType) && existingTypeNodeIsNotReferenceOrIsReferenceWithCompatibleTypeArgumentCount(existing, type)) { + if (annotationType && typeNodeIsEquivalentToType(host, type, annotationType) && existingTypeNodeIsNotReferenceOrIsReferenceWithCompatibleTypeArgumentCount(existing, type)) { const result = tryReuseExistingTypeNodeHelper(context, existing); if (result) { return result; @@ -6124,7 +6141,6 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } function withContext(enclosingDeclaration: Node | undefined, flags: NodeBuilderFlags | undefined, tracker: SymbolTracker | undefined, cb: (context: NodeBuilderContext) => T): T | undefined { - Debug.assert(enclosingDeclaration === undefined || (enclosingDeclaration.flags & NodeFlags.Synthesized) === 0); const moduleResolverHost = tracker?.trackSymbol ? tracker.moduleResolverHost : flags! & NodeBuilderFlags.DoNotIncludeSymbolChain ? createBasicNodeBuilderModuleSpecifierResolutionHost(host) : undefined; @@ -6141,6 +6157,18 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { approximateLength: 0, trackedSymbols: undefined, bundled: !!compilerOptions.outFile && !!enclosingDeclaration && isExternalOrCommonJsModule(getSourceFileOfNode(enclosingDeclaration)), + truncating: false, + usedSymbolNames: undefined, + remappedSymbolNames: undefined, + remappedSymbolReferences: undefined, + reverseMappedStack: undefined, + mustCreateTypeParameterSymbolList: true, + typeParameterSymbolList: undefined, + mustCreateTypeParametersNamesLookups: true, + typeParameterNames: undefined, + typeParameterNamesByText: undefined, + typeParameterNamesByTextNextNameCount: undefined, + mapper: undefined, }; context.tracker = new SymbolTrackerImpl(context, tracker, moduleResolverHost); const resultingNode = cb(context); @@ -6430,8 +6458,8 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { context.inferTypeParameters = type.root.inferTypeParameters; const extendsTypeNode = typeToTypeNodeHelper(instantiateType(type.root.extendsType, newMapper), context); context.inferTypeParameters = saveInferTypeParameters; - const trueTypeNode = typeToTypeNodeOrCircularityElision(instantiateType(getTypeFromTypeNode(type.root.node.trueType), newMapper)); - const falseTypeNode = typeToTypeNodeOrCircularityElision(instantiateType(getTypeFromTypeNode(type.root.node.falseType), newMapper)); + const trueTypeNode = typeToTypeNodeOrCircularityElision(instantiateType(getTypeFromTypeNode(context, type.root.node.trueType), newMapper)); + const falseTypeNode = typeToTypeNodeOrCircularityElision(instantiateType(getTypeFromTypeNode(context, type.root.node.falseType), newMapper)); // outermost conditional makes `T` a type parameter, allowing the inner conditionals to be distributive // second conditional makes `T` have `T & checkType` substitution, so it is correctly usable as the checkType @@ -6528,7 +6556,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { // homomorphic mapped type with a non-homomorphic naive inlining // wrap it with a conditional like `SomeModifiersType extends infer U ? {..the mapped type...} : never` to ensure the resulting // type stays homomorphic - const originalConstraint = instantiateType(getConstraintOfTypeParameter(getTypeFromTypeNode((type.declaration.typeParameter.constraint! as TypeOperatorNode).type) as TypeParameter) || unknownType, type.mapper); + const originalConstraint = instantiateType(getConstraintOfTypeParameter(getTypeFromTypeNode(context, (type.declaration.typeParameter.constraint! as TypeOperatorNode).type) as TypeParameter) || unknownType, type.mapper); return factory.createConditionalTypeNode( typeToTypeNodeHelper(getModifiersTypeFromMappedType(type), context), factory.createInferTypeNode(factory.createTypeParameterDeclaration(/*modifiers*/ undefined, factory.cloneNode(newTypeVariable!.typeName) as Identifier, originalConstraint.flags & TypeFlags.Unknown ? undefined : typeToTypeNodeHelper(originalConstraint, context))), @@ -7210,11 +7238,13 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } function signatureToSignatureDeclarationHelper(signature: Signature, kind: SignatureDeclaration["kind"], context: NodeBuilderContext, options?: SignatureToSignatureDeclarationOptions): SignatureDeclaration { - const flags = context.flags; - context.flags &= ~NodeBuilderFlags.SuppressAnyReturnType; // SuppressAnyReturnType should only apply to the signature `return` position - context.approximateLength += 3; // Usually a signature contributes a few more characters than this, but 3 is the minimum let typeParameters: TypeParameterDeclaration[] | undefined; let typeArguments: TypeNode[] | undefined; + + const expandedParams = getExpandedParameters(signature, /*skipUnionExpanding*/ true)[0]; + const cleanup = enterNewScope(context, signature.declaration, expandedParams, signature.typeParameters, signature.parameters, signature.mapper); + context.approximateLength += 3; // Usually a signature contributes a few more characters than this, but 3 is the minimum + if (context.flags & NodeBuilderFlags.WriteTypeArgumentsOfSignature && signature.target && signature.mapper && signature.target.typeParameters) { typeArguments = signature.target.typeParameters.map(parameter => typeToTypeNodeHelper(instantiateType(parameter, signature.mapper), context)); } @@ -7222,9 +7252,8 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { typeParameters = signature.typeParameters && signature.typeParameters.map(parameter => typeParameterToDeclaration(parameter, context)); } - const expandedParams = getExpandedParameters(signature, /*skipUnionExpanding*/ true)[0]; - const cleanup = enterNewScope(context, signature.declaration, expandedParams, signature.typeParameters); - + const flags = context.flags; + context.flags &= ~NodeBuilderFlags.SuppressAnyReturnType; // SuppressAnyReturnType should only apply to the signature `return` position // If the expanded parameter list had a variadic in a non-trailing position, don't expand it const parameters = (some(expandedParams, p => p !== expandedParams[expandedParams.length - 1] && !!(getCheckFlags(p) & CheckFlags.RestParameter)) ? signature.parameters : expandedParams).map(parameter => symbolToParameterDeclaration(parameter, context, kind === SyntaxKind.Constructor)); const thisParameter = context.flags & NodeBuilderFlags.OmitThisParameter ? undefined : tryGetThisParameterDeclaration(signature, context); @@ -7284,10 +7313,18 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } function getParametersInScope(node: IntroducesNewScopeNode | ConditionalTypeNode) { - return isFunctionLike(node) || isJSDocSignature(node) ? getExpandedParameters(getSignatureFromDeclaration(node), /*skipUnionExpanding*/ true)[0] : undefined; + return isFunctionLike(node) || isJSDocSignature(node) ? getSignatureFromDeclaration(node).parameters : undefined; } - function enterNewScope(context: NodeBuilderContext, declaration: IntroducesNewScopeNode | ConditionalTypeNode | undefined, expandedParams: readonly Symbol[] | undefined, typeParameters: readonly TypeParameter[] | undefined) { + function enterNewScope( + context: NodeBuilderContext, + declaration: IntroducesNewScopeNode | ConditionalTypeNode | undefined, + expandedParams: readonly Symbol[] | undefined, + typeParameters: readonly TypeParameter[] | undefined, + originalParameters?: readonly Symbol[] | undefined, + mapper?: TypeMapper, + ) { + const cleanupContext = cloneNodeBuilderContext(context); // For regular function/method declarations, the enclosing declaration will already be signature.declaration, // so this is a no-op, but for arrow functions and function expressions, the enclosing declaration will be // the declaration that the arrow function / function expression is assigned to. @@ -7300,17 +7337,14 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { // accessible to the current enclosing declaration, or gain access to symbols not accessible to the current // enclosing declaration. To keep this chain accurate, insert a fake scope into the chain which makes the // function's parameters visible. - // - // If the declaration is in a JS file, then we don't need to do this at all, as there are no annotations besides - // JSDoc, which are always outside the function declaration, so are not in the parameter scope. - let cleanup: (() => void) | undefined; - if ( - context.enclosingDeclaration - && declaration - && declaration !== context.enclosingDeclaration - && !isInJSFile(declaration) - && (some(expandedParams) || some(typeParameters)) - ) { + let cleanupParams: (() => void) | undefined; + let cleanupTypeParams: (() => void) | undefined; + const oldEnclosingDecl = context.enclosingDeclaration; + const oldMapper = context.mapper; + if (mapper) { + context.mapper = mapper; + } + if (context.enclosingDeclaration && declaration) { // As a performance optimization, reuse the same fake scope within this chain. // This is especially needed when we are working on an excessively deep type; // if we don't do this, then we spend all of our time adding more and more @@ -7327,11 +7361,22 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { // Note that we only check the most immediate enclosingDeclaration; the only place we // could potentially add another fake scope into the chain is right here, so we don't // traverse all ancestors. - pushFakeScope( + cleanupParams = !some(expandedParams) ? undefined : pushFakeScope( "params", add => { - for (const param of expandedParams ?? emptyArray) { - if ( + if (!expandedParams) return; + for (let pIndex = 0; pIndex < expandedParams.length; pIndex++) { + const param = expandedParams[pIndex]; + const originalParam = originalParameters?.[pIndex]; + if (originalParameters && originalParam !== param) { + // Can't reference parameters that come from an expansion + add(param.escapedName, unknownSymbol); + // Can't reference the original expanded parameter either + if (originalParam) { + add(originalParam.escapedName, unknownSymbol); + } + } + else if ( !forEach(param.declarations, d => { if (isParameter(d) && isBindingPattern(d.name)) { bindPattern(d.name); @@ -7365,9 +7410,8 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { }, ); - if (context.flags & NodeBuilderFlags.GenerateNamesForShadowedTypeParams) { - // TODO(jakebailey): should this instead be done before walking type parameters? - pushFakeScope( + if (context.flags & NodeBuilderFlags.GenerateNamesForShadowedTypeParams && some(typeParameters)) { + cleanupTypeParams = pushFakeScope( "typeParams", add => { for (const typeParam of typeParameters ?? emptyArray) { @@ -7378,8 +7422,6 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { ); } - return cleanup; - function pushFakeScope(kind: "params" | "typeParams", addAll: (addSymbol: (name: __String, symbol: Symbol) => void) => void) { // We only ever need to look two declarations upward. Debug.assert(context.enclosingDeclaration); @@ -7394,41 +7436,48 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { const locals = existingFakeScope?.locals ?? createSymbolTable(); let newLocals: __String[] | undefined; + let oldLocals: { name: __String; oldSymbol: Symbol; }[] | undefined; addAll((name, symbol) => { - if (!locals.has(name)) { - newLocals = append(newLocals, name); - locals.set(name, symbol); + // Add cleanup information only if we don't own the fake scope + if (existingFakeScope) { + const oldSymbol = locals.get(name); + if (!oldSymbol) { + newLocals = append(newLocals, name); + } + else { + oldLocals = append(oldLocals, { name, oldSymbol }); + } } + locals.set(name, symbol); }); - if (!newLocals) return; - - const oldCleanup = cleanup; - function undo() { - forEach(newLocals, s => locals.delete(s)); - oldCleanup?.(); - } - if (existingFakeScope) { - cleanup = undo; - } - else { + if (!existingFakeScope) { // Use a Block for this; the type of the node doesn't matter so long as it // has locals, and this is cheaper/easier than using a function-ish Node. - const fakeScope = parseNodeFactory.createBlock(emptyArray); + const fakeScope = factory.createBlock(emptyArray); getNodeLinks(fakeScope).fakeScopeForSignatureDeclaration = kind; fakeScope.locals = locals; - const saveEnclosingDeclaration = context.enclosingDeclaration; - setParent(fakeScope, saveEnclosingDeclaration); + setParent(fakeScope, context.enclosingDeclaration); context.enclosingDeclaration = fakeScope; - - cleanup = () => { - context.enclosingDeclaration = saveEnclosingDeclaration; - undo(); + } + else { + // We did not create the current scope, so we have to clean it up + return function undo() { + forEach(newLocals, s => locals.delete(s)); + forEach(oldLocals, s => locals.set(s.name, s.oldSymbol)); }; } } } + + return () => { + cleanupParams?.(); + cleanupTypeParams?.(); + cleanupContext(); + context.enclosingDeclaration = oldEnclosingDecl; + context.mapper = oldMapper; + }; } function tryGetThisParameterDeclaration(signature: Signature, context: NodeBuilderContext) { @@ -7443,7 +7492,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { /*dotDotDotToken*/ undefined, "this", /*questionToken*/ undefined, - typeToTypeNodeHelper(getTypeFromTypeNode(thisTag.typeExpression), context), + typeToTypeNodeHelper(getTypeFromTypeNode(context, thisTag.typeExpression), context), ); } } @@ -7460,8 +7509,12 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { return factory.createTypeParameterDeclaration(modifiers, name, constraintNode, defaultParameterNode); } + function typeToTypeNodeHelperWithPossibleReusableTypeNode(type: Type, typeNode: TypeNode | undefined, context: NodeBuilderContext) { + return typeNode && tryReuseExistingNonParameterTypeNode(context, typeNode, type) || typeToTypeNodeHelper(type, context); + } + function typeParameterToDeclaration(type: TypeParameter, context: NodeBuilderContext, constraint = getConstraintOfTypeParameter(type)): TypeParameterDeclaration { - const constraintNode = constraint && typeToTypeNodeHelper(constraint, context); + const constraintNode = constraint && typeToTypeNodeHelperWithPossibleReusableTypeNode(constraint, getConstraintDeclaration(type), context); return typeParameterToDeclarationWithConstraint(type, context, constraintNode); } @@ -7661,7 +7714,11 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { if (context.typeParameterSymbolList?.has(symbolId)) { return undefined; } - (context.typeParameterSymbolList || (context.typeParameterSymbolList = new Set())).add(symbolId); + if (context.mustCreateTypeParameterSymbolList) { + context.mustCreateTypeParameterSymbolList = false; + context.typeParameterSymbolList = new Set(context.typeParameterSymbolList); + } + context.typeParameterSymbolList!.add(symbolId); let typeParameterNodes: readonly TypeNode[] | readonly TypeParameterDeclaration[] | undefined; if (context.flags & NodeBuilderFlags.WriteTypeParametersInQualifiedName && index < (chain.length - 1)) { const parentSymbol = symbol; @@ -7946,11 +8003,17 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { result = factory.createIdentifier(text); setIdentifierTypeArguments(result, typeArguments); } + if (context.mustCreateTypeParametersNamesLookups) { + context.mustCreateTypeParametersNamesLookups = false; + context.typeParameterNames = new Map(context.typeParameterNames); + context.typeParameterNamesByTextNextNameCount = new Map(context.typeParameterNamesByTextNextNameCount); + context.typeParameterNamesByText = new Set(context.typeParameterNamesByText); + } // avoiding iterations of the above loop turns out to be worth it when `i` starts to get large, so we cache the max // `i` we've used thus far, to save work later - (context.typeParameterNamesByTextNextNameCount ||= new Map()).set(rawtext, i); - (context.typeParameterNames ||= new Map()).set(getTypeId(type), result); - (context.typeParameterNamesByText ||= new Set()).add(text); + context.typeParameterNamesByTextNextNameCount!.set(rawtext, i); + context.typeParameterNames!.set(getTypeId(type), result); + context.typeParameterNamesByText!.add(text); } return result; } @@ -8093,8 +8156,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } } - function cloneNodeBuilderContext(context: NodeBuilderContext): NodeBuilderContext { - const initial: NodeBuilderContext = { ...context }; + function cloneNodeBuilderContext(context: NodeBuilderContext) { // Make type parameters created within this context not consume the name outside this context // The symbol serializer ends up creating many sibling scopes that all need "separate" contexts when // it comes to naming things - within a normal `typeToTypeNode` call, the node builder only ever descends @@ -8107,23 +8169,25 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { // we write it out like that, rather than as // export const x: (x: T) => T // export const y: (x: T_1) => T_1 - if (initial.typeParameterNames) { - initial.typeParameterNames = new Map(initial.typeParameterNames); - } - if (initial.typeParameterNamesByText) { - initial.typeParameterNamesByText = new Set(initial.typeParameterNamesByText); - } - if (initial.typeParameterSymbolList) { - initial.typeParameterSymbolList = new Set(initial.typeParameterSymbolList); - } - if (initial.typeParameterNamesByTextNextNameCount) { - initial.typeParameterNamesByTextNextNameCount = new Map(initial.typeParameterNamesByTextNextNameCount); - } - initial.tracker = new SymbolTrackerImpl(initial, initial.tracker.inner, initial.tracker.moduleResolverHost); - return initial; + const oldMustCreateTypeParameterSymbolList = context.mustCreateTypeParameterSymbolList; + const oldMustCreateTypeParametersNamesLookups = context.mustCreateTypeParametersNamesLookups; + context.mustCreateTypeParameterSymbolList = true; + context.mustCreateTypeParametersNamesLookups = true; + const oldTypeParameterNames = context.typeParameterNames; + const oldTypeParameterNamesByText = context.typeParameterNamesByText; + const oldTypeParameterNamesByTextNextNameCount = context.typeParameterNamesByTextNextNameCount; + const oldTypeParameterSymbolList = context.typeParameterSymbolList; + return () => { + context.typeParameterNames = oldTypeParameterNames; + context.typeParameterNamesByText = oldTypeParameterNamesByText; + context.typeParameterNamesByTextNextNameCount = oldTypeParameterNamesByTextNextNameCount; + context.typeParameterSymbolList = oldTypeParameterSymbolList; + context.mustCreateTypeParameterSymbolList = oldMustCreateTypeParameterSymbolList; + context.mustCreateTypeParametersNamesLookups = oldMustCreateTypeParametersNamesLookups; + }; } - function getDeclarationWithTypeAnnotation(symbol: Symbol, enclosingDeclaration: Node | undefined) { + function getDeclarationWithTypeAnnotation(symbol: Symbol, enclosingDeclaration?: Node | undefined) { return symbol.declarations && find(symbol.declarations, s => !!getNonlocalEffectiveTypeAnnotationNode(s) && (!enclosingDeclaration || !!findAncestor(s, n => n === enclosingDeclaration))); } @@ -8158,20 +8222,25 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { function serializeTypeForDeclaration(context: NodeBuilderContext, declaration: Declaration | undefined, type: Type, symbol: Symbol) { const addUndefined = declaration && (isParameter(declaration) || isJSDocParameterTag(declaration)) && requiresAddingImplicitUndefined(declaration); const enclosingDeclaration = context.enclosingDeclaration; - if (!isErrorType(type) && enclosingDeclaration) { + const oldFlags = context.flags; + if (declaration && hasInferredType(declaration) && !(context.flags & NodeBuilderFlags.NoSyntacticPrinter)) { + syntacticNodeBuilder.serializeTypeOfDeclaration(declaration, context); + } + context.flags |= NodeBuilderFlags.NoSyntacticPrinter; + if (enclosingDeclaration && (!isErrorType(type) || (context.flags & NodeBuilderFlags.AllowUnresolvedNames))) { const declWithExistingAnnotation = declaration && getNonlocalEffectiveTypeAnnotationNode(declaration) ? declaration - : getDeclarationWithTypeAnnotation(symbol, getEnclosingDeclarationIgnoringFakeScope(enclosingDeclaration)); + : getDeclarationWithTypeAnnotation(symbol); if (declWithExistingAnnotation && !isFunctionLikeDeclaration(declWithExistingAnnotation) && !isGetAccessorDeclaration(declWithExistingAnnotation)) { // try to reuse the existing annotation const existing = getNonlocalEffectiveTypeAnnotationNode(declWithExistingAnnotation)!; - const result = tryReuseExistingTypeNode(context, existing, type, declWithExistingAnnotation, addUndefined); + const result = !isTypePredicateNode(existing) && tryReuseExistingTypeNode(context, existing, type, declWithExistingAnnotation, addUndefined); if (result) { + context.flags = oldFlags; return result; } } } - const oldFlags = context.flags; if ( type.flags & TypeFlags.UniqueESSymbol && type.symbol === symbol && (!context.enclosingDeclaration || some(symbol.declarations, d => getSourceFileOfNode(d) === getSourceFileOfNode(context.enclosingDeclaration!))) @@ -8182,16 +8251,12 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { const decl = declaration ?? symbol.valueDeclaration ?? symbol.declarations?.[0]; const expr = decl && isDeclarationWithPossibleInnerTypeNodeReuse(decl) ? getPossibleTypeNodeReuseExpression(decl) : undefined; - if (decl && hasInferredType(decl) && !(context.flags & NodeBuilderFlags.NoSyntacticPrinter)) { - syntacticNodeBuilder.serializeTypeOfDeclaration(decl, context); - } - context.flags |= NodeBuilderFlags.NoSyntacticPrinter; const result = expressionOrTypeToTypeNode(context, expr, type, addUndefined); context.flags = oldFlags; return result; } - function typeNodeIsEquivalentToType(typeNode: TypeNode, annotatedDeclaration: Node | undefined, type: Type, typeFromTypeNode = getTypeFromTypeNode(typeNode)) { + function typeNodeIsEquivalentToType(annotatedDeclaration: Node | undefined, type: Type, typeFromTypeNode: Type) { if (typeFromTypeNode === type) { return true; } @@ -8224,13 +8289,12 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { function serializeReturnTypeForSignatureWorker(context: NodeBuilderContext, signature: Signature) { const typePredicate = getTypePredicateOfSignature(signature); const type = getReturnTypeOfSignature(signature); - if (!isErrorType(type) && context.enclosingDeclaration) { + if (context.enclosingDeclaration && (!isErrorType(type) || (context.flags & NodeBuilderFlags.AllowUnresolvedNames)) && signature.declaration && !nodeIsSynthesized(signature.declaration)) { const annotation = signature.declaration && getNonlocalEffectiveReturnTypeAnnotationNode(signature.declaration); - const enclosingDeclarationIgnoringFakeScope = getEnclosingDeclarationIgnoringFakeScope(context.enclosingDeclaration); - if (!!findAncestor(annotation, n => n === enclosingDeclarationIgnoringFakeScope) && annotation) { - const annotated = getTypeFromTypeNode(annotation); - const thisInstantiated = annotated.flags & TypeFlags.TypeParameter && (annotated as TypeParameter).isThisType ? instantiateType(annotated, signature.mapper) : annotated; - const result = tryReuseExistingNonParameterTypeNode(context, annotation, type, signature.declaration, thisInstantiated); + // Default constructor signatures inherited from base classes return the derived class but have the base class declaration + // To ensure we don't serialize the wrong type we check that that return type of the signature corresponds to the declaration return type signature + if (annotation && getTypeFromTypeNode(context, annotation) === type) { + const result = tryReuseExistingTypeNodeHelper(context, annotation); if (result) { return result; } @@ -8262,21 +8326,50 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { return { introducesError, node: attachSymbolToLeftmostIdentifier(node) as T }; } sym = resolveEntityName(leftmost, meaning, /*ignoreErrors*/ true, /*dontResolveAlias*/ true); + if ( + context.enclosingDeclaration && + !(sym && sym.flags & SymbolFlags.TypeParameter) + ) { + sym = getExportSymbolOfValueSymbolIfExported(sym); + // Some declarations may be transplanted to a new location. + // When this happens we need to make sure that the name has the same meaning at both locations + // We also check for the unknownSymbol because when we create a fake scope some parameters may actually not be usable + // either because they are the expanded rest parameter, + // or because they are the newly added parameters from the tuple, which might have different meanings in the original context + const symAtLocation = resolveEntityName(leftmost, meaning, /*ignoreErrors*/ true, /*dontResolveAlias*/ true, context.enclosingDeclaration); + if ( + // Check for unusable parameters symbols + symAtLocation === unknownSymbol || + // If the symbol is not found, but was not found in the original scope either we probably have an error, don't reuse the node + (symAtLocation === undefined && sym !== undefined) || + // If the symbol is found both in declaration scope and in current scope then it shoudl point to the same reference + (symAtLocation && sym && !getSymbolIfSameReference(getExportSymbolOfValueSymbolIfExported(symAtLocation), sym)) + ) { + // In isolated declaration we will not do rest parameter expansion so there is no need to report on these. + if (symAtLocation !== unknownSymbol) { + context.tracker.reportInferenceFallback(node); + } + introducesError = true; + return { introducesError, node, sym }; + } + } + if (sym) { // If a parameter is resolvable in the current context it is also visible, so no need to go to symbol accesibility if ( sym.flags & SymbolFlags.FunctionScopedVariable && sym.valueDeclaration ) { - if (isPartOfParameterDeclaration(sym.valueDeclaration)) { + if (isPartOfParameterDeclaration(sym.valueDeclaration) || isJSDocParameterTag(sym.valueDeclaration)) { return { introducesError, node: attachSymbolToLeftmostIdentifier(node) as T }; } } if ( - !(sym.flags & SymbolFlags.TypeParameter) && // Type parameters are visible in the curent context if they are are resolvable + !(sym.flags & SymbolFlags.TypeParameter) && // Type parameters are visible in the current context if they are are resolvable !isDeclarationName(node) && isSymbolAccessible(sym, context.enclosingDeclaration, meaning, /*shouldComputeAliasesToMakeVisible*/ false).accessibility !== SymbolAccessibility.Accessible ) { + context.tracker.reportInferenceFallback(node); introducesError = true; } else { @@ -8306,6 +8399,70 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } } + function serializeTypeName(context: NodeBuilderContext, node: EntityName, isTypeOf?: boolean, typeArguments?: readonly TypeNode[]) { + const meaning = isTypeOf ? SymbolFlags.Value : SymbolFlags.Type; + const symbol = resolveEntityName(node, meaning, /*ignoreErrors*/ true); + if (!symbol) return undefined; + const resolvedSymbol = symbol.flags & SymbolFlags.Alias ? resolveAlias(symbol) : symbol; + if (isSymbolAccessible(symbol, context.enclosingDeclaration, meaning, /*shouldComputeAliasesToMakeVisible*/ false).accessibility !== SymbolAccessibility.Accessible) return undefined; + return symbolToTypeNode(resolvedSymbol, context, meaning, typeArguments); + } + + function canReuseTypeNode(context: NodeBuilderContext, existing: TypeNode) { + if (isInJSFile(existing)) { + if (isLiteralImportTypeNode(existing)) { + // Ensure resolvedSymbol is present + void getTypeFromImportTypeNode(existing); + const nodeSymbol = getNodeLinks(existing).resolvedSymbol; + return ( + !nodeSymbol || + !( + // The import type resolved using jsdoc fallback logic + (!existing.isTypeOf && !(nodeSymbol.flags & SymbolFlags.Type)) || + // The import type had type arguments autofilled by js fallback logic + !(length(existing.typeArguments) >= getMinTypeArgumentCount(getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(nodeSymbol))) + ) + ); + } + } + if (isThisTypeNode(existing)) { + if (context.mapper === undefined) return true; + const type = getTypeFromTypeNode(context, existing, /*noMappedTypes*/ true); + return !!type; + } + if (isTypeReferenceNode(existing)) { + if (isConstTypeReference(existing)) return false; + const type = getTypeFromTypeReference(existing); + const symbol = getNodeLinks(existing).resolvedSymbol; + if (!symbol) return false; + if (symbol.flags & SymbolFlags.TypeParameter) { + const type = getDeclaredTypeOfSymbol(symbol); + if (context.mapper && getMappedType(type, context.mapper) !== type) { + return false; + } + } + if (isInJSDoc(existing)) { + return existingTypeNodeIsNotReferenceOrIsReferenceWithCompatibleTypeArgumentCount(existing, type) + && !getIntendedTypeFromJSDocTypeReference(existing) // We should probably allow the reuse of JSDoc reference types such as String Number etc + && (symbol.flags & SymbolFlags.Type); // JSDoc type annotations can reference values (meaning typeof value) as well as types. We only reuse type nodes + } + } + if ( + isTypeOperatorNode(existing) && + existing.operator === SyntaxKind.UniqueKeyword && + existing.type.kind === SyntaxKind.SymbolKeyword + ) { + const effectiveEnclosingContext = context.enclosingDeclaration && getEnclosingDeclarationIgnoringFakeScope(context.enclosingDeclaration); + return !!findAncestor(existing, n => n === effectiveEnclosingContext); + } + return true; + } + + function serializeExistingTypeNode(context: NodeBuilderContext, typeNode: TypeNode) { + const type = getTypeFromTypeNode(context, typeNode); + return typeToTypeNodeHelper(type, context); + } + /** * Do you mean to call this directly? You probably should use `tryReuseExistingTypeNode` instead, * which performs sanity checking on the type before doing this. @@ -8315,16 +8472,30 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { cancellationToken.throwIfCancellationRequested(); } let hadError = false; + const { finalizeBoundary, startRecoveryScope } = createRecoveryBoundary(); const transformed = visitNode(existing, visitExistingNodeTreeSymbols, isTypeNode); - if (hadError) { + if (!finalizeBoundary()) { return undefined; } + context.approximateLength += existing.end - existing.pos; return transformed; function visitExistingNodeTreeSymbols(node: Node): Node | undefined { + // If there was an error in a sibling node bail early, the result will be discarded anyway + if (hadError) return node; + const recover = startRecoveryScope(); const onExitNewScope = isNewScopeNode(node) ? onEnterNewScope(node) : undefined; const result = visitExistingNodeTreeSymbolsWorker(node); onExitNewScope?.(); + + // If there was an error, maybe we can recover by serializing the actual type of the node + if (hadError) { + if (isTypeNode(node) && !isTypePredicateNode(node)) { + recover(); + return serializeExistingTypeNode(context, node); + } + return node; + } // We want to clone the subtree, so when we mark it up with __pos and __end in quickfixes, // we don't get odd behavior because of reused nodes. We also need to clone to _remove_ // the position information if the node comes from a different file than the one the node builder @@ -8334,20 +8505,95 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { return result === node ? setTextRange(context, factory.cloneNode(result), node) : result; } - function onEnterNewScope(node: IntroducesNewScopeNode | ConditionalTypeNode) { - const oldContex = context; - context = cloneNodeBuilderContext(context); - const cleanup = enterNewScope(context, node, getParametersInScope(node), getTypeParametersInScope(node)); + function createRecoveryBoundary() { + let unreportedErrors: (() => void)[]; + const oldTracker = context.tracker; + const oldTrackedSymbols = context.trackedSymbols; + context.trackedSymbols = []; + const oldEncounteredError = context.encounteredError; + context.tracker = new SymbolTrackerImpl(context, { + ...oldTracker.inner, + reportCyclicStructureError() { + markError(() => oldTracker.reportCyclicStructureError()); + }, + reportInaccessibleThisError() { + markError(() => oldTracker.reportInaccessibleThisError()); + }, + reportInaccessibleUniqueSymbolError() { + markError(() => oldTracker.reportInaccessibleUniqueSymbolError()); + }, + reportLikelyUnsafeImportRequiredError(specifier) { + markError(() => oldTracker.reportLikelyUnsafeImportRequiredError(specifier)); + }, + reportNonSerializableProperty(name) { + markError(() => oldTracker.reportNonSerializableProperty(name)); + }, + trackSymbol(sym, decl, meaning) { + const accessibility = isSymbolAccessible(sym, decl, meaning, /*shouldComputeAliasesToMakeVisible*/ false); + if (accessibility.accessibility !== SymbolAccessibility.Accessible) { + (context.trackedSymbols ??= []).push([sym, decl, meaning]); + return true; + } + return false; + }, + moduleResolverHost: context.tracker.moduleResolverHost, + }, context.tracker.moduleResolverHost); + + return { + startRecoveryScope, + finalizeBoundary, + }; + + function markError(unreportedError: () => void) { + hadError = true; + (unreportedErrors ??= []).push(unreportedError); + } + + function startRecoveryScope() { + const initialTrackedSymbolsTop = context.trackedSymbols?.length ?? 0; + const unreportedErrorsTop = unreportedErrors?.length ?? 0; + return () => { + hadError = false; + // Reset the tracked symbols to before the error + if (context.trackedSymbols) { + context.trackedSymbols.length = initialTrackedSymbolsTop; + } + if (unreportedErrors) { + unreportedErrors.length = unreportedErrorsTop; + } + }; + } - return onExitNewScope; + function finalizeBoundary() { + context.tracker = oldTracker; + const newTrackedSymbols = context.trackedSymbols; + context.trackedSymbols = oldTrackedSymbols; + context.encounteredError = oldEncounteredError; - function onExitNewScope() { - cleanup?.(); - context = oldContex; + unreportedErrors?.forEach(fn => fn()); + if (hadError) { + return false; + } + newTrackedSymbols?.forEach( + ([symbol, enclosingDeclaration, meaning]) => + context.tracker.trackSymbol( + symbol, + enclosingDeclaration, + meaning, + ), + ); + return true; } } + function onEnterNewScope(node: IntroducesNewScopeNode | ConditionalTypeNode) { + return enterNewScope(context, node, getParametersInScope(node), getTypeParametersInScope(node)); + } function visitExistingNodeTreeSymbolsWorker(node: Node): Node | undefined { + if (isJSDocTypeExpression(node)) { + // Unwrap JSDocTypeExpressions + return visitNode(node.type, visitExistingNodeTreeSymbols, isTypeNode); + } // We don't _actually_ support jsdoc namepath types, emit `any` instead if (isJSDocAllType(node) || node.kind === SyntaxKind.JSDocNamepathType) { return factory.createKeywordTypeNode(SyntaxKind.AnyKeyword); @@ -8370,8 +8616,8 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { if (isJSDocTypeLiteral(node)) { return factory.createTypeLiteralNode(map(node.jsDocPropertyTags, t => { const name = isIdentifier(t.name) ? t.name : t.name.right; - const typeViaParent = getTypeOfPropertyOfType(getTypeFromTypeNode(node), name.escapedText); - const overrideTypeNode = typeViaParent && t.typeExpression && getTypeFromTypeNode(t.typeExpression.type) !== typeViaParent ? typeToTypeNodeHelper(typeViaParent, context) : undefined; + const typeViaParent = getTypeOfPropertyOfType(getTypeFromTypeNode(context, node), name.escapedText); + const overrideTypeNode = typeViaParent && t.typeExpression && getTypeFromTypeNode(context, t.typeExpression.type) !== typeViaParent ? typeToTypeNodeHelper(typeViaParent, context) : undefined; return factory.createPropertySignature( /*modifiers*/ undefined, @@ -8407,7 +8653,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { p.name && isIdentifier(p.name) && p.name.escapedText === "new" ? (newTypeNode = p.type, undefined) : factory.createParameterDeclaration( /*modifiers*/ undefined, getEffectiveDotDotDotForParameter(p), - getNameForJSDocFunctionParameter(p, i), + setTextRange(context, factory.createIdentifier(getNameForJSDocFunctionParameter(p, i)), p), p.questionToken, visitNode(p.type, visitExistingNodeTreeSymbols, isTypeNode), /*initializer*/ undefined, @@ -8422,7 +8668,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { factory.createParameterDeclaration( /*modifiers*/ undefined, getEffectiveDotDotDotForParameter(p), - getNameForJSDocFunctionParameter(p, i), + setTextRange(context, factory.createIdentifier(getNameForJSDocFunctionParameter(p, i)), p), p.questionToken, visitNode(p.type, visitExistingNodeTreeSymbols, isTypeNode), /*initializer*/ undefined, @@ -8431,8 +8677,42 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { ); } } - if (isTypeReferenceNode(node) && isInJSDoc(node) && (!existingTypeNodeIsNotReferenceOrIsReferenceWithCompatibleTypeArgumentCount(node, getTypeFromTypeNode(node)) || getIntendedTypeFromJSDocTypeReference(node) || unknownSymbol === resolveTypeReferenceName(node, SymbolFlags.Type, /*ignoreErrors*/ true))) { - return setOriginalNode(typeToTypeNodeHelper(getTypeFromTypeNode(node), context), node); + if (isThisTypeNode(node)) { + if (canReuseTypeNode(context, node)) { + return node; + } + return serializeExistingTypeNode(context, node); + } + if (isTypeParameterDeclaration(node)) { + return factory.updateTypeParameterDeclaration( + node, + node.modifiers, + setTextRange(context, typeParameterToName(getDeclaredTypeOfSymbol(getSymbolOfDeclaration(node)), context), node), + visitNode(node.constraint, visitExistingNodeTreeSymbols, isTypeNode), + visitNode(node.default, visitExistingNodeTreeSymbols, isTypeNode), + ); + } + if (isTypeReferenceNode(node)) { + if (canReuseTypeNode(context, node)) { + const { introducesError, node: newName } = trackExistingEntityName(node.typeName, context); + const typeArguments = visitNodes(node.typeArguments, visitExistingNodeTreeSymbols, isTypeNode); + + if (!introducesError) { + const updated = factory.updateTypeReferenceNode( + node, + newName, + typeArguments, + ); + return setTextRange(context, updated, node); + } + else { + const serializedName = serializeTypeName(context, node.typeName, /*isTypeOf*/ false, typeArguments); + if (serializedName) { + return setTextRange(context, serializedName, node.typeName); + } + } + } + return serializeExistingTypeNode(context, node); } if (isLiteralImportTypeNode(node)) { const nodeSymbol = getNodeLinks(node).resolvedSymbol; @@ -8446,7 +8726,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { !(length(node.typeArguments) >= getMinTypeArgumentCount(getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(nodeSymbol))) ) ) { - return setOriginalNode(typeToTypeNodeHelper(getTypeFromTypeNode(node), context), node); + return setTextRange(context, typeToTypeNodeHelper(getTypeFromTypeNode(context, node), context), node); } return factory.updateImportTypeNode( node, @@ -8458,7 +8738,9 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { ); } if (isNamedDeclaration(node) && node.name.kind === SyntaxKind.ComputedPropertyName && !isLateBindableName(node.name)) { - return undefined; + if (!(context.flags & NodeBuilderFlags.AllowUnresolvedNames && hasDynamicName(node) && isEntityNameExpression(node.name.expression) && checkComputedPropertyName(node.name).flags & TypeFlags.Any)) { + return undefined; + } } if ( (isFunctionLike(node) && !node.type) @@ -8476,15 +8758,54 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } return visited; } - - if (isEntityName(node) || isEntityNameExpression(node)) { - if (isDeclarationName(node)) { - return node; + if (isTypeQueryNode(node)) { + const { introducesError, node: exprName } = trackExistingEntityName(node.exprName, context); + if (introducesError) { + const serializedName = serializeTypeName(context, node.exprName, /*isTypeOf*/ true); + if (serializedName) { + return setTextRange(context, serializedName, node.exprName); + } + return serializeExistingTypeNode(context, node); } - const { introducesError, node: result } = trackExistingEntityName(node, context); - hadError = hadError || introducesError; - // We should not go to child nodes of the entity name, they will not be accessible - return result; + return factory.updateTypeQueryNode( + node, + exprName, + visitNodes(node.typeArguments, visitExistingNodeTreeSymbols, isTypeNode), + ); + } + if (isComputedPropertyName(node) && isEntityNameExpression(node.expression)) { + const { node: result, introducesError } = trackExistingEntityName(node.expression, context); + if (!introducesError) { + return factory.updateComputedPropertyName(node, result); + } + else { + const type = getWidenedType(getRegularTypeOfExpression(node.expression)); + const computedPropertyNameType = typeToTypeNodeHelper(type, context); + Debug.assertNode(computedPropertyNameType, isLiteralTypeNode); + const literal = computedPropertyNameType.literal; + if (literal.kind === SyntaxKind.StringLiteral && isIdentifierText(literal.text, getEmitScriptTarget(compilerOptions))) { + return factory.createIdentifier(literal.text); + } + if (literal.kind === SyntaxKind.NumericLiteral && !literal.text.startsWith("-")) { + return literal; + } + return factory.updateComputedPropertyName(node, literal); + } + } + if (isTypePredicateNode(node)) { + let parameterName; + if (isIdentifier(node.parameterName)) { + const { node: result, introducesError } = trackExistingEntityName(node.parameterName, context); + // Should not usually happen the only case is when a type predicate comes from a JSDoc type annotation with it's own parameter symbol definition. + // /** @type {(v: unknown) => v is undefined} */ + // const isUndef = v => v === undefined; + hadError = hadError || introducesError; + parameterName = result; + } + else { + parameterName = node.parameterName; + } + return factory.updateTypePredicateNode(node, node.assertsModifier, parameterName, visitNode(node.type, visitExistingNodeTreeSymbols, isTypeNode)); } if (isTupleTypeNode(node) || isTypeLiteralNode(node) || isMappedTypeNode(node)) { @@ -8516,6 +8837,12 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { ); } + if (isTypeOperatorNode(node) && node.operator === SyntaxKind.UniqueKeyword && node.type.kind === SyntaxKind.SymbolKeyword) { + if (!canReuseTypeNode(context, node)) { + return serializeExistingTypeNode(context, node); + } + } + return visitEachChild(node, visitExistingNodeTreeSymbols, /*context*/ undefined); function getEffectiveDotDotDotForParameter(p: ParameterDeclaration) { @@ -8531,13 +8858,30 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { function rewriteModuleSpecifier(parent: ImportTypeNode, lit: StringLiteral) { if (context.bundled || context.enclosingFile !== getSourceFileOfNode(lit)) { - const targetFile = getExternalModuleFileFromDeclaration(parent); - if (targetFile) { - const newName = getSpecifierForModuleSymbol(targetFile.symbol, context); - if (newName !== lit.text) { - return setOriginalNode(factory.createStringLiteral(newName), lit); + let name = lit.text; + const nodeSymbol = getNodeLinks(node).resolvedSymbol; + const meaning = parent.isTypeOf ? SymbolFlags.Value : SymbolFlags.Type; + const parentSymbol = nodeSymbol + && isSymbolAccessible(nodeSymbol, context.enclosingDeclaration, meaning, /*shouldComputeAliasesToMakeVisible*/ false).accessibility === SymbolAccessibility.Accessible + && lookupSymbolChain(nodeSymbol, context, meaning, /*yieldModuleSymbol*/ true)[0]; + if (parentSymbol && parentSymbol.flags & SymbolFlags.Module) { + name = getSpecifierForModuleSymbol(parentSymbol, context); + } + else { + const targetFile = getExternalModuleFileFromDeclaration(parent); + if (targetFile) { + name = getSpecifierForModuleSymbol(targetFile.symbol, context); } } + if (name.includes("/node_modules/")) { + context.encounteredError = true; + if (context.tracker.reportLikelyUnsafeImportRequiredError) { + context.tracker.reportLikelyUnsafeImportRequiredError(name); + } + } + if (name !== lit.text) { + return setOriginalNode(factory.createStringLiteral(name), lit); + } } return visitNode(lit, visitExistingNodeTreeSymbols, isStringLiteral)!; } @@ -8804,17 +9148,9 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { // Only actually serialize symbols within the correct enclosing declaration, otherwise do nothing with the out-of-context symbol const skipMembershipCheck = !isPrivate; // We only call this on exported symbols when we know they're in the correct scope if (skipMembershipCheck || (!!length(symbol.declarations) && some(symbol.declarations, d => !!findAncestor(d, n => n === enclosingDeclaration)))) { - const oldContext = context; - context = cloneNodeBuilderContext(context); + const scopeCleanup = cloneNodeBuilderContext(context); serializeSymbolWorker(symbol, isPrivate, propertyAsAlias); - if (context.reportedDiagnostic) { - oldcontext.reportedDiagnostic = context.reportedDiagnostic; // hoist diagnostic result into outer context - } - if (context.trackedSymbols) { - if (!oldContext.trackedSymbols) oldContext.trackedSymbols = context.trackedSymbols; - else Debug.assert(context.trackedSymbols === oldContext.trackedSymbols); - } - context = oldContext; + scopeCleanup(); } } @@ -9325,8 +9661,8 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { return cleanup(factory.createExpressionWithTypeArguments( expr, map(e.typeArguments, a => - tryReuseExistingNonParameterTypeNode(context, a, getTypeFromTypeNode(a)) - || typeToTypeNodeHelper(getTypeFromTypeNode(a), context)), + tryReuseExistingNonParameterTypeNode(context, a, getTypeFromTypeNode(context, a)) + || typeToTypeNodeHelper(getTypeFromTypeNode(context, a), context)), )); function cleanup(result: T): T { @@ -10486,8 +10822,6 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { switch (propertyName) { case TypeSystemPropertyName.Type: return !!getSymbolLinks(target as Symbol).type; - case TypeSystemPropertyName.EnumTagType: - return !!(getNodeLinks(target as JSDocEnumTag).resolvedEnumType); case TypeSystemPropertyName.DeclaredType: return !!getSymbolLinks(target as Symbol).declaredType; case TypeSystemPropertyName.ResolvedBaseConstructorType: @@ -14196,7 +14530,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } } // The source types were normalized; ensure the result is normalized too. - return getNormalizedType(getIntersectionType(constraints), /*writing*/ false); + return getNormalizedType(getIntersectionType(constraints, IntersectionFlags.NoConstraintReduction), /*writing*/ false); } return undefined; } @@ -16906,6 +17240,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { if (flags & TypeFlags.Instantiable) includes |= TypeFlags.IncludesInstantiable; if (flags & TypeFlags.Intersection && getObjectFlags(type) & ObjectFlags.IsConstrainedTypeVariable) includes |= TypeFlags.IncludesConstrainedTypeVariable; if (type === wildcardType) includes |= TypeFlags.IncludesWildcard; + if (isErrorType(type)) includes |= TypeFlags.IncludesError; if (!strictNullChecks && flags & TypeFlags.Nullable) { if (!(getObjectFlags(type) & ObjectFlags.ContainsWideningType)) includes |= TypeFlags.IncludesNonWideningType; } @@ -17157,7 +17492,8 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { if (unionReduction !== UnionReduction.None) { if (includes & TypeFlags.AnyOrUnknown) { return includes & TypeFlags.Any ? - includes & TypeFlags.IncludesWildcard ? wildcardType : anyType : + includes & TypeFlags.IncludesWildcard ? wildcardType : + includes & TypeFlags.IncludesError ? errorType : anyType : unknownType; } if (includes & TypeFlags.Undefined) { @@ -17299,6 +17635,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { else { if (flags & TypeFlags.AnyOrUnknown) { if (type === wildcardType) includes |= TypeFlags.IncludesWildcard; + if (isErrorType(type)) includes |= TypeFlags.IncludesError; } else if (strictNullChecks || !(flags & TypeFlags.Nullable)) { if (type === missingType) { @@ -17459,7 +17796,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { // a type alias of the form "type List = T & { next: List }" cannot be reduced during its declaration. // Also, unlike union types, the order of the constituent types is preserved in order that overload resolution // for intersections of types with signatures can be deterministic. - function getIntersectionType(types: readonly Type[], aliasSymbol?: Symbol, aliasTypeArguments?: readonly Type[], noSupertypeReduction?: boolean): Type { + function getIntersectionType(types: readonly Type[], flags = IntersectionFlags.None, aliasSymbol?: Symbol, aliasTypeArguments?: readonly Type[]): Type { const typeMembershipMap = new Map(); const includes = addTypesToIntersection(typeMembershipMap, 0 as TypeFlags, types); const typeSet: Type[] = arrayFrom(typeMembershipMap.values()); @@ -17491,7 +17828,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { return neverType; } if (includes & TypeFlags.Any) { - return includes & TypeFlags.IncludesWildcard ? wildcardType : anyType; + return includes & TypeFlags.IncludesWildcard ? wildcardType : includes & TypeFlags.IncludesError ? errorType : anyType; } if (!strictNullChecks && includes & TypeFlags.Nullable) { return includes & TypeFlags.IncludesEmptyObject ? neverType : includes & TypeFlags.Undefined ? undefinedType : nullType; @@ -17504,7 +17841,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { includes & TypeFlags.Void && includes & TypeFlags.Undefined || includes & TypeFlags.IncludesEmptyObject && includes & TypeFlags.DefinitelyNonNullable ) { - if (!noSupertypeReduction) removeRedundantSupertypes(typeSet, includes); + if (!(flags & IntersectionFlags.NoSupertypeReduction)) removeRedundantSupertypes(typeSet, includes); } if (includes & TypeFlags.IncludesMissingType) { typeSet[typeSet.indexOf(undefinedType)] = missingType; @@ -17515,7 +17852,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { if (typeSet.length === 1) { return typeSet[0]; } - if (typeSet.length === 2) { + if (typeSet.length === 2 && !(flags & IntersectionFlags.NoConstraintReduction)) { const typeVarIndex = typeSet[0].flags & TypeFlags.TypeVariable ? 0 : 1; const typeVariable = typeSet[typeVarIndex]; const primitiveType = typeSet[1 - typeVarIndex]; @@ -17548,7 +17885,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } } } - const id = getTypeListId(typeSet) + getAliasId(aliasSymbol, aliasTypeArguments); + const id = getTypeListId(typeSet) + (flags & IntersectionFlags.NoConstraintReduction ? "*" : getAliasId(aliasSymbol, aliasTypeArguments)); let result = intersectionTypes.get(id); if (!result) { if (includes & TypeFlags.Union) { @@ -17556,16 +17893,16 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { // When the intersection creates a reduced set (which might mean that *all* union types have // disappeared), we restart the operation to get a new set of combined flags. Once we have // reduced we'll never reduce again, so this occurs at most once. - result = getIntersectionType(typeSet, aliasSymbol, aliasTypeArguments); + result = getIntersectionType(typeSet, flags, aliasSymbol, aliasTypeArguments); } else if (every(typeSet, t => !!(t.flags & TypeFlags.Union && (t as UnionType).types[0].flags & TypeFlags.Undefined))) { const containedUndefinedType = some(typeSet, containsMissingType) ? missingType : undefinedType; removeFromEach(typeSet, TypeFlags.Undefined); - result = getUnionType([getIntersectionType(typeSet), containedUndefinedType], UnionReduction.Literal, aliasSymbol, aliasTypeArguments); + result = getUnionType([getIntersectionType(typeSet, flags), containedUndefinedType], UnionReduction.Literal, aliasSymbol, aliasTypeArguments); } else if (every(typeSet, t => !!(t.flags & TypeFlags.Union && ((t as UnionType).types[0].flags & TypeFlags.Null || (t as UnionType).types[1].flags & TypeFlags.Null)))) { removeFromEach(typeSet, TypeFlags.Null); - result = getUnionType([getIntersectionType(typeSet), nullType], UnionReduction.Literal, aliasSymbol, aliasTypeArguments); + result = getUnionType([getIntersectionType(typeSet, flags), nullType], UnionReduction.Literal, aliasSymbol, aliasTypeArguments); } else if (typeSet.length >= 4) { // When we have four or more constituents, some of which are unions, we employ a "divide and conquer" strategy @@ -17573,7 +17910,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { // unions of intersections than the full cartesian product (due to some intersections becoming `never`), this can // dramatically reduce the overall work. const middle = Math.floor(typeSet.length / 2); - result = getIntersectionType([getIntersectionType(typeSet.slice(0, middle)), getIntersectionType(typeSet.slice(middle))], aliasSymbol, aliasTypeArguments); + result = getIntersectionType([getIntersectionType(typeSet.slice(0, middle), flags), getIntersectionType(typeSet.slice(middle), flags)], flags, aliasSymbol, aliasTypeArguments); } else { // We are attempting to construct a type of the form X & (A | B) & (C | D). Transform this into a type of @@ -17582,7 +17919,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { if (!checkCrossProductUnion(typeSet)) { return errorType; } - const constituents = getCrossProductIntersections(typeSet); + const constituents = getCrossProductIntersections(typeSet, flags); // We attach a denormalized origin type when at least one constituent of the cross-product union is an // intersection (i.e. when the intersection didn't just reduce one or more unions to smaller unions) and // the denormalized origin has fewer constituents than the union itself. @@ -17612,7 +17949,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { return true; } - function getCrossProductIntersections(types: readonly Type[]) { + function getCrossProductIntersections(types: readonly Type[], flags: IntersectionFlags) { const count = getCrossProductUnionSize(types); const intersections: Type[] = []; for (let i = 0; i < count; i++) { @@ -17626,7 +17963,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { n = Math.floor(n / length); } } - const t = getIntersectionType(constituents); + const t = getIntersectionType(constituents, flags); if (!(t.flags & TypeFlags.Never)) intersections.push(t); } return intersections; @@ -17653,7 +17990,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { const emptyIndex = types.length === 2 ? types.indexOf(emptyTypeLiteralType) : -1; const t = emptyIndex >= 0 ? types[1 - emptyIndex] : unknownType; const noSupertypeReduction = !!(t.flags & (TypeFlags.String | TypeFlags.Number | TypeFlags.BigInt) || t.flags & TypeFlags.TemplateLiteral && isPatternLiteralType(t)); - links.resolvedType = getIntersectionType(types, aliasSymbol, getTypeArgumentsForAliasSymbol(aliasSymbol), noSupertypeReduction); + links.resolvedType = getIntersectionType(types, noSupertypeReduction ? IntersectionFlags.NoSupertypeReduction : 0, aliasSymbol, getTypeArgumentsForAliasSymbol(aliasSymbol)); } return links.resolvedType; } @@ -17869,16 +18206,6 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { if (contains(types, wildcardType)) { return wildcardType; } - if ( - texts.length === 2 && texts[0] === "" && texts[1] === "" - // literals (including string enums) are stringified below - && !(types[0].flags & TypeFlags.Literal) - // infer T extends StringLike can't be unwrapped eagerly - && !types[0].symbol?.declarations?.some(d => d.parent.kind === SyntaxKind.InferType) - && isTypeAssignableTo(types[0], stringType) - ) { - return types[0]; - } const newTypes: Type[] = []; const newTexts: string[] = []; let text = texts[0]; @@ -18533,7 +18860,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { return undefined; } return accessFlags & AccessFlags.Writing - ? getIntersectionType(propTypes, aliasSymbol, aliasTypeArguments) + ? getIntersectionType(propTypes, IntersectionFlags.None, aliasSymbol, aliasTypeArguments) : getUnionType(propTypes, UnionReduction.Literal, aliasSymbol, aliasTypeArguments); } return getPropertyTypeForIndexType(objectType, apparentObjectType, indexType, indexType, accessNode, accessFlags | AccessFlags.CacheSymbol | AccessFlags.ReportDeprecated); @@ -19884,7 +20211,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { const newAliasSymbol = aliasSymbol || type.aliasSymbol; const newAliasTypeArguments = aliasSymbol ? aliasTypeArguments : instantiateTypes(type.aliasTypeArguments, mapper); return flags & TypeFlags.Intersection || origin && origin.flags & TypeFlags.Intersection ? - getIntersectionType(newTypes, newAliasSymbol, newAliasTypeArguments) : + getIntersectionType(newTypes, IntersectionFlags.None, newAliasSymbol, newAliasTypeArguments) : getUnionType(newTypes, UnionReduction.Literal, newAliasSymbol, newAliasTypeArguments); } if (flags & TypeFlags.Index) { @@ -20769,7 +21096,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { for (let i = 0; i < paramCount; i++) { const sourceType = i === restIndex ? getRestOrAnyTypeAtPosition(source, i) : tryGetTypeAtPosition(source, i); const targetType = i === restIndex ? getRestOrAnyTypeAtPosition(target, i) : tryGetTypeAtPosition(target, i); - if (sourceType && targetType) { + if (sourceType && targetType && (sourceType !== targetType || checkMode & SignatureCheckMode.StrictArity)) { // In order to ensure that any generic type Foo is at least co-variant with respect to T no matter // how Foo uses T, we need to relate parameters bi-variantly (given that parameters are input positions, // they naturally relate only contra-variantly). However, if the source and target parameters both have @@ -24951,13 +25278,17 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } function applyToReturnTypes(source: Signature, target: Signature, callback: (s: Type, t: Type) => void) { - const sourceTypePredicate = getTypePredicateOfSignature(source); const targetTypePredicate = getTypePredicateOfSignature(target); - if (sourceTypePredicate && targetTypePredicate && typePredicateKindsMatch(sourceTypePredicate, targetTypePredicate) && sourceTypePredicate.type && targetTypePredicate.type) { - callback(sourceTypePredicate.type, targetTypePredicate.type); + if (targetTypePredicate) { + const sourceTypePredicate = getTypePredicateOfSignature(source); + if (sourceTypePredicate && typePredicateKindsMatch(sourceTypePredicate, targetTypePredicate) && sourceTypePredicate.type && targetTypePredicate.type) { + callback(sourceTypePredicate.type, targetTypePredicate.type); + return; + } } - else { - callback(getReturnTypeOfSignature(source), getReturnTypeOfSignature(target)); + const targetReturnType = getReturnTypeOfSignature(target); + if (couldContainTypeVariables(targetReturnType)) { + callback(getReturnTypeOfSignature(source), targetReturnType); } } @@ -29180,6 +29511,286 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { }); } + /** + * This function marks all the imports the given location refers to as `.referenced` in `NodeLinks` (transitively through local import aliases). + * (This corresponds to not getting elided in JS emit.) + * It can be called on *most* nodes in the AST with `ReferenceHint.Unspecified` and will filter its inputs, but care should be taken to avoid calling it on the RHS of an `import =` or specifiers in a `import {} from "..."`, + * unless you *really* want to *definitely* mark those as referenced. + * These shouldn't be directly marked, and should only get marked transitively by the internals of this function. + * + * @param location The location to mark js import refernces for + * @param hint The kind of reference `location` has already been checked to be + * @param propSymbol The optional symbol of the property we're looking up - this is used for property accesses when `const enum`s do not count as references (no `isolatedModules`, no `preserveConstEnums` + export). It will be calculated if not provided. + * @param parentType The optional type of the parent of the LHS of the property access - this will be recalculated if not provided (but is costly). + */ + function markLinkedReferences(location: PropertyAccessExpression | QualifiedName, hint: ReferenceHint.Property, propSymbol: Symbol | undefined, parentType: Type): void; + function markLinkedReferences(location: Identifier, hint: ReferenceHint.Identifier): void; + function markLinkedReferences(location: ExportAssignment, hint: ReferenceHint.ExportAssignment): void; + function markLinkedReferences(location: JsxOpeningLikeElement | JsxOpeningFragment, hint: ReferenceHint.Jsx): void; + function markLinkedReferences(location: FunctionLikeDeclaration | MethodSignature, hint: ReferenceHint.AsyncFunction): void; + function markLinkedReferences(location: ImportEqualsDeclaration, hint: ReferenceHint.ExportImportEquals): void; + function markLinkedReferences(location: ExportSpecifier, hint: ReferenceHint.ExportSpecifier): void; + function markLinkedReferences(location: HasDecorators, hint: ReferenceHint.Decorator): void; + function markLinkedReferences(location: Node, hint: ReferenceHint.Unspecified, propSymbol?: Symbol, parentType?: Type): void; + function markLinkedReferences(location: Node, hint: ReferenceHint, propSymbol?: Symbol, parentType?: Type) { + if (!canCollectSymbolAliasAccessabilityData) { + return; + } + if (location.flags & NodeFlags.Ambient) { + return; // References within types and declaration files are never going to contribute to retaining a JS import + } + switch (hint) { + case ReferenceHint.Identifier: + return markIdentifierAliasReferenced(location as Identifier); + case ReferenceHint.Property: + return markPropertyAliasReferenced(location as PropertyAccessExpression | QualifiedName, propSymbol, parentType); + case ReferenceHint.ExportAssignment: + return markExportAssignmentAliasReferenced(location as ExportAssignment); + case ReferenceHint.Jsx: + return markJsxAliasReferenced(location as JsxOpeningLikeElement | JsxOpeningFragment); + case ReferenceHint.AsyncFunction: + return markAsyncFunctionAliasReferenced(location as FunctionLikeDeclaration | MethodSignature); + case ReferenceHint.ExportImportEquals: + return markImportEqualsAliasReferenced(location as ImportEqualsDeclaration); + case ReferenceHint.ExportSpecifier: + return markExportSpecifierAliasReferenced(location as ExportSpecifier); + case ReferenceHint.Decorator: + return markDecoratorAliasReferenced(location as HasDecorators); + case ReferenceHint.Unspecified: { + // Identifiers in expression contexts are emitted, so we need to follow their referenced aliases and mark them as used + // Some non-expression identifiers are also treated as expression identifiers for this purpose, eg, `a` in `b = {a}` or `q` in `import r = q` + // This is the exception, rather than the rule - most non-expression identifiers are declaration names. + if (isIdentifier(location) && (isExpressionNode(location) || isShorthandPropertyAssignment(location.parent) || (isImportEqualsDeclaration(location.parent) && location.parent.moduleReference === location)) && shouldMarkIdentifierAliasReferenced(location)) { + if (isPropertyAccessOrQualifiedName(location.parent)) { + const left = isPropertyAccessExpression(location.parent) ? location.parent.expression : location.parent.left; + if (left !== location) return; // Only mark the LHS (the RHS is a property lookup) + } + markIdentifierAliasReferenced(location); + return; + } + if (isPropertyAccessOrQualifiedName(location)) { + let topProp: Node | undefined = location; + while (isPropertyAccessOrQualifiedName(topProp)) { + if (isPartOfTypeNode(topProp)) return; + topProp = topProp.parent; + } + return markPropertyAliasReferenced(location); + } + if (isExportAssignment(location)) { + return markExportAssignmentAliasReferenced(location); + } + if (isJsxOpeningLikeElement(location) || isJsxOpeningFragment(location)) { + return markJsxAliasReferenced(location); + } + if (isImportEqualsDeclaration(location)) { + if (isInternalModuleImportEqualsDeclaration(location) || checkExternalImportOrExportDeclaration(location)) { + return markImportEqualsAliasReferenced(location); + } + return; + } + if (isExportSpecifier(location)) { + return markExportSpecifierAliasReferenced(location); + } + if (isFunctionLikeDeclaration(location) || isMethodSignature(location)) { + markAsyncFunctionAliasReferenced(location); + // Might be decorated, fall through to decorator final case + } + if (!compilerOptions.emitDecoratorMetadata) { + return; + } + if (!canHaveDecorators(location) || !hasDecorators(location) || !location.modifiers || !nodeCanBeDecorated(legacyDecorators, location, location.parent, location.parent.parent)) { + return; + } + + return markDecoratorAliasReferenced(location); + } + default: + Debug.assertNever(hint, `Unhandled reference hint: ${hint}`); + } + } + + function markIdentifierAliasReferenced(location: Identifier) { + const symbol = getResolvedSymbol(location); + if (symbol && symbol !== argumentsSymbol && symbol !== unknownSymbol && !isThisInTypeQuery(location)) { + markAliasReferenced(symbol, location); + } + } + + function markPropertyAliasReferenced(location: PropertyAccessExpression | QualifiedName, propSymbol?: Symbol, parentType?: Type) { + const left = isPropertyAccessExpression(location) ? location.expression : location.left; + if (isThisIdentifier(left) || !isIdentifier(left)) { + return; + } + const parentSymbol = getResolvedSymbol(left); + if (!parentSymbol || parentSymbol === unknownSymbol) { + return; + } + // In `Foo.Bar.Baz`, 'Foo' is not referenced if 'Bar' is a const enum or a module containing only const enums. + // `Foo` is also not referenced in `enum FooCopy { Bar = Foo.Bar }`, because the enum member value gets inlined + // here even if `Foo` is not a const enum. + // + // The exceptions are: + // 1. if 'isolatedModules' is enabled, because the const enum value will not be inlined, and + // 2. if 'preserveConstEnums' is enabled and the expression is itself an export, e.g. `export = Foo.Bar.Baz`. + // + // The property lookup is deferred as much as possible, in as many situations as possible, to avoid alias marking + // pulling on types/symbols it doesn't strictly need to. + if (getIsolatedModules(compilerOptions) || (shouldPreserveConstEnums(compilerOptions) && isExportOrExportExpression(location))) { + markAliasReferenced(parentSymbol, location); + return; + } + // Hereafter, this relies on type checking - but every check prior to this only used symbol information + const leftType = parentType || checkExpressionCached(left); + if (isTypeAny(leftType) || leftType === silentNeverType) { + markAliasReferenced(parentSymbol, location); + return; + } + let prop = propSymbol; + if (!prop && !parentType) { + const right = isPropertyAccessExpression(location) ? location.name : location.right; + const lexicallyScopedSymbol = isPrivateIdentifier(right) && lookupSymbolForPrivateIdentifierDeclaration(right.escapedText, right); + const assignmentKind = getAssignmentTargetKind(location); + const apparentType = getApparentType(assignmentKind !== AssignmentKind.None || isMethodAccessForCall(location) ? getWidenedType(leftType) : leftType); + prop = isPrivateIdentifier(right) ? lexicallyScopedSymbol && getPrivateIdentifierPropertyOfType(apparentType, lexicallyScopedSymbol) || undefined : getPropertyOfType(apparentType, right.escapedText); + } + if ( + !(prop && (isConstEnumOrConstEnumOnlyModule(prop) || prop.flags & SymbolFlags.EnumMember && location.parent.kind === SyntaxKind.EnumMember)) + ) { + markAliasReferenced(parentSymbol, location); + } + return; + } + + function markExportAssignmentAliasReferenced(location: ExportAssignment) { + if (isIdentifier(location.expression)) { + const id = location.expression; + const sym = getExportSymbolOfValueSymbolIfExported(resolveEntityName(id, SymbolFlags.All, /*ignoreErrors*/ true, /*dontResolveAlias*/ true, location)); + if (sym) { + markAliasReferenced(sym, id); + } + } + } + + function markJsxAliasReferenced(node: JsxOpeningLikeElement | JsxOpeningFragment) { + if (!getJsxNamespaceContainerForImplicitImport(node)) { + // The reactNamespace/jsxFactory's root symbol should be marked as 'used' so we don't incorrectly elide its import. + // And if there is no reactNamespace/jsxFactory's symbol in scope when targeting React emit, we should issue an error. + const jsxFactoryRefErr = diagnostics && compilerOptions.jsx === JsxEmit.React ? Diagnostics.Cannot_find_name_0 : undefined; + const jsxFactoryNamespace = getJsxNamespace(node); + const jsxFactoryLocation = isJsxOpeningLikeElement(node) ? node.tagName : node; + + // allow null as jsxFragmentFactory + let jsxFactorySym: Symbol | undefined; + if (!(isJsxOpeningFragment(node) && jsxFactoryNamespace === "null")) { + jsxFactorySym = resolveName(jsxFactoryLocation, jsxFactoryNamespace, SymbolFlags.Value, jsxFactoryRefErr, /*isUse*/ true); + } + + if (jsxFactorySym) { + // Mark local symbol as referenced here because it might not have been marked + // if jsx emit was not jsxFactory as there wont be error being emitted + jsxFactorySym.isReferenced = SymbolFlags.All; + + // If react/jsxFactory symbol is alias, mark it as refereced + if (canCollectSymbolAliasAccessabilityData && jsxFactorySym.flags & SymbolFlags.Alias && !getTypeOnlyAliasDeclaration(jsxFactorySym)) { + markAliasSymbolAsReferenced(jsxFactorySym); + } + } + + // For JsxFragment, mark jsx pragma as referenced via resolveName + if (isJsxOpeningFragment(node)) { + const file = getSourceFileOfNode(node); + const localJsxNamespace = getLocalJsxNamespace(file); + if (localJsxNamespace) { + resolveName(jsxFactoryLocation, localJsxNamespace, SymbolFlags.Value, jsxFactoryRefErr, /*isUse*/ true); + } + } + } + return; + } + + function markAsyncFunctionAliasReferenced(location: FunctionLikeDeclaration | MethodSignature) { + if (languageVersion < ScriptTarget.ES2015) { + if (getFunctionFlags(location) & FunctionFlags.Async) { + const returnTypeNode = getEffectiveReturnTypeNode(location); + markTypeNodeAsReferenced(returnTypeNode); + } + } + } + + function markImportEqualsAliasReferenced(location: ImportEqualsDeclaration) { + if (hasSyntacticModifier(location, ModifierFlags.Export)) { + markExportAsReferenced(location); + } + } + + function markExportSpecifierAliasReferenced(location: ExportSpecifier) { + if (!location.parent.parent.moduleSpecifier && !location.isTypeOnly && !location.parent.parent.isTypeOnly) { + const exportedName = location.propertyName || location.name; + const symbol = resolveName(exportedName, exportedName.escapedText, SymbolFlags.Value | SymbolFlags.Type | SymbolFlags.Namespace | SymbolFlags.Alias, /*nameNotFoundMessage*/ undefined, /*isUse*/ true); + if (symbol && (symbol === undefinedSymbol || symbol === globalThisSymbol || symbol.declarations && isGlobalSourceFile(getDeclarationContainer(symbol.declarations[0])))) { + // Do nothing, non-local symbol + } + else { + const target = symbol && (symbol.flags & SymbolFlags.Alias ? resolveAlias(symbol) : symbol); + if (!target || getSymbolFlags(target) & SymbolFlags.Value) { + markExportAsReferenced(location); // marks export as used + markIdentifierAliasReferenced(location.propertyName || location.name); // marks target of export as used + } + } + return; + } + } + + function markDecoratorAliasReferenced(node: HasDecorators) { + if (compilerOptions.emitDecoratorMetadata) { + const firstDecorator = find(node.modifiers, isDecorator); + if (!firstDecorator) { + return; + } + + checkExternalEmitHelpers(firstDecorator, ExternalEmitHelpers.Metadata); + + // we only need to perform these checks if we are emitting serialized type metadata for the target of a decorator. + switch (node.kind) { + case SyntaxKind.ClassDeclaration: + const constructor = getFirstConstructorWithBody(node); + if (constructor) { + for (const parameter of constructor.parameters) { + markDecoratorMedataDataTypeNodeAsReferenced(getParameterTypeNodeForDecoratorCheck(parameter)); + } + } + break; + + case SyntaxKind.GetAccessor: + case SyntaxKind.SetAccessor: + const otherKind = node.kind === SyntaxKind.GetAccessor ? SyntaxKind.SetAccessor : SyntaxKind.GetAccessor; + const otherAccessor = getDeclarationOfKind(getSymbolOfDeclaration(node), otherKind); + markDecoratorMedataDataTypeNodeAsReferenced(getAnnotatedAccessorTypeNode(node) || otherAccessor && getAnnotatedAccessorTypeNode(otherAccessor)); + break; + case SyntaxKind.MethodDeclaration: + for (const parameter of node.parameters) { + markDecoratorMedataDataTypeNodeAsReferenced(getParameterTypeNodeForDecoratorCheck(parameter)); + } + + markDecoratorMedataDataTypeNodeAsReferenced(getEffectiveReturnTypeNode(node)); + break; + + case SyntaxKind.PropertyDeclaration: + markDecoratorMedataDataTypeNodeAsReferenced(getEffectiveTypeAnnotationNode(node)); + break; + + case SyntaxKind.Parameter: + markDecoratorMedataDataTypeNodeAsReferenced(getParameterTypeNodeForDecoratorCheck(node)); + const containingSignature = node.parent; + for (const parameter of containingSignature.parameters) { + markDecoratorMedataDataTypeNodeAsReferenced(getParameterTypeNodeForDecoratorCheck(parameter)); + } + markDecoratorMedataDataTypeNodeAsReferenced(getEffectiveReturnTypeNode(containingSignature)); + break; + } + } + } + function markAliasReferenced(symbol: Symbol, location: Node) { if (!canCollectSymbolAliasAccessabilityData) { return; @@ -29201,6 +29812,95 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } } + // When an alias symbol is referenced, we need to mark the entity it references as referenced and in turn repeat that until + // we reach a non-alias or an exported entity (which is always considered referenced). We do this by checking the target of + // the alias as an expression (which recursively takes us back here if the target references another alias). + function markAliasSymbolAsReferenced(symbol: Symbol) { + Debug.assert(canCollectSymbolAliasAccessabilityData); + const links = getSymbolLinks(symbol); + if (!links.referenced) { + links.referenced = true; + const node = getDeclarationOfAliasSymbol(symbol); + if (!node) return Debug.fail(); + // We defer checking of the reference of an `import =` until the import itself is referenced, + // This way a chain of imports can be elided if ultimately the final input is only used in a type + // position. + if (isInternalModuleImportEqualsDeclaration(node)) { + if (getSymbolFlags(resolveSymbol(symbol)) & SymbolFlags.Value) { + // import foo = + const left = getFirstIdentifier(node.moduleReference as EntityNameExpression); + markIdentifierAliasReferenced(left); + } + } + } + } + + function markExportAsReferenced(node: ImportEqualsDeclaration | ExportSpecifier) { + const symbol = getSymbolOfDeclaration(node); + const target = resolveAlias(symbol); + if (target) { + const markAlias = target === unknownSymbol || + ((getSymbolFlags(symbol, /*excludeTypeOnlyMeanings*/ true) & SymbolFlags.Value) && !isConstEnumOrConstEnumOnlyModule(target)); + + if (markAlias) { + markAliasSymbolAsReferenced(symbol); + } + } + } + + function markEntityNameOrEntityExpressionAsReference(typeName: EntityNameOrEntityNameExpression | undefined, forDecoratorMetadata: boolean) { + if (!typeName) return; + + const rootName = getFirstIdentifier(typeName); + const meaning = (typeName.kind === SyntaxKind.Identifier ? SymbolFlags.Type : SymbolFlags.Namespace) | SymbolFlags.Alias; + const rootSymbol = resolveName(rootName, rootName.escapedText, meaning, /*nameNotFoundMessage*/ undefined, /*isUse*/ true); + if (rootSymbol && rootSymbol.flags & SymbolFlags.Alias) { + if ( + canCollectSymbolAliasAccessabilityData + && symbolIsValue(rootSymbol) + && !isConstEnumOrConstEnumOnlyModule(resolveAlias(rootSymbol)) + && !getTypeOnlyAliasDeclaration(rootSymbol) + ) { + markAliasSymbolAsReferenced(rootSymbol); + } + else if ( + forDecoratorMetadata + && getIsolatedModules(compilerOptions) + && getEmitModuleKind(compilerOptions) >= ModuleKind.ES2015 + && !symbolIsValue(rootSymbol) + && !some(rootSymbol.declarations, isTypeOnlyImportOrExportDeclaration) + ) { + const diag = error(typeName, Diagnostics.A_type_referenced_in_a_decorated_signature_must_be_imported_with_import_type_or_a_namespace_import_when_isolatedModules_and_emitDecoratorMetadata_are_enabled); + const aliasDeclaration = find(rootSymbol.declarations || emptyArray, isAliasSymbolDeclaration); + if (aliasDeclaration) { + addRelatedInfo(diag, createDiagnosticForNode(aliasDeclaration, Diagnostics._0_was_imported_here, idText(rootName))); + } + } + } + } + + /** + * If a TypeNode can be resolved to a value symbol imported from an external module, it is + * marked as referenced to prevent import elision. + */ + function markTypeNodeAsReferenced(node: TypeNode | undefined) { + markEntityNameOrEntityExpressionAsReference(node && getEntityNameFromTypeNode(node), /*forDecoratorMetadata*/ false); + } + + /** + * This function marks the type used for metadata decorator as referenced if it is import + * from external module. + * This is different from markTypeNodeAsReferenced because it tries to simplify type nodes in + * union and intersection type + * @param node + */ + function markDecoratorMedataDataTypeNodeAsReferenced(node: TypeNode | undefined): void { + const entityName = getEntityNameForDecoratorMetadata(node); + if (entityName && isEntityName(entityName)) { + markEntityNameOrEntityExpressionAsReference(entityName, /*forDecoratorMetadata*/ true); + } + } + function getNarrowedTypeOfSymbol(symbol: Symbol, location: Identifier, checkMode?: CheckMode) { const type = getTypeOfSymbol(symbol, checkMode); const declaration = symbol.valueDeclaration; @@ -29290,15 +29990,12 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { return type; } - function checkIdentifier(node: Identifier, checkMode: CheckMode | undefined): Type { - if (isThisInTypeQuery(node)) { - return checkThisExpression(node); - } - - const symbol = getResolvedSymbol(node); - if (symbol === unknownSymbol) { - return errorType; - } + /** + * This part of `checkIdentifier` is kept seperate from the rest, so `NodeCheckFlags` (and related diagnostics) can be lazily calculated + * without calculating the flow type of the identifier. + */ + function checkIdentifierCalculateNodeCheckFlags(node: Identifier, symbol: Symbol) { + if (isThisInTypeQuery(node)) return; // As noted in ECMAScript 6 language spec, arrow functions never have an arguments objects. // Although in down-level emit of arrow function, we emit it using function expression which means that @@ -29309,7 +30006,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { if (symbol === argumentsSymbol) { if (isInPropertyInitializerOrClassStaticBlock(node)) { error(node, Diagnostics.arguments_cannot_be_referenced_in_property_initializers); - return errorType; + return; } let container = getContainingFunction(node); @@ -29331,11 +30028,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } } } - return getTypeOfSymbol(symbol); - } - - if (shouldMarkIdentifierAliasReferenced(node)) { - markAliasReferenced(symbol, node); + return; } const localOrExportSymbol = getExportSymbolOfValueSymbolIfExported(symbol); @@ -29344,7 +30037,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { addDeprecatedSuggestion(node, targetSymbol.declarations, node.escapedText as string); } - let declaration = localOrExportSymbol.valueDeclaration; + const declaration = localOrExportSymbol.valueDeclaration; if (declaration && localOrExportSymbol.flags & SymbolFlags.Class) { // When we downlevel classes we may emit some code outside of the class body. Due to the fact the // class name is double-bound, we must ensure we mark references to the class name so that we can @@ -29364,6 +30057,33 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } checkNestedBlockScopedBinding(node, symbol); + } + + function checkIdentifier(node: Identifier, checkMode: CheckMode | undefined): Type { + if (isThisInTypeQuery(node)) { + return checkThisExpression(node); + } + + const symbol = getResolvedSymbol(node); + if (symbol === unknownSymbol) { + return errorType; + } + + checkIdentifierCalculateNodeCheckFlags(node, symbol); + + if (symbol === argumentsSymbol) { + if (isInPropertyInitializerOrClassStaticBlock(node)) { + return errorType; + } + return getTypeOfSymbol(symbol); + } + + if (shouldMarkIdentifierAliasReferenced(node)) { + markLinkedReferences(node, ReferenceHint.Identifier); + } + + const localOrExportSymbol = getExportSymbolOfValueSymbolIfExported(symbol); + let declaration = localOrExportSymbol.valueDeclaration; let type = getNarrowedTypeOfSymbol(localOrExportSymbol, node, checkMode); const assignmentKind = getAssignmentTargetKind(node); @@ -30328,9 +31048,19 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { if (!node.asteriskToken && contextualReturnType.flags & TypeFlags.Union) { contextualReturnType = filterType(contextualReturnType, type => !!getIterationTypeOfGeneratorFunctionReturnType(IterationTypeKind.Return, type, isAsyncGenerator)); } - return node.asteriskToken - ? contextualReturnType - : getIterationTypeOfGeneratorFunctionReturnType(IterationTypeKind.Yield, contextualReturnType, isAsyncGenerator); + if (node.asteriskToken) { + const iterationTypes = getIterationTypesOfGeneratorFunctionReturnType(contextualReturnType, isAsyncGenerator); + const yieldType = iterationTypes?.yieldType ?? silentNeverType; + const returnType = getContextualType(node, contextFlags) ?? silentNeverType; + const nextType = iterationTypes?.nextType ?? unknownType; + const generatorType = createGeneratorType(yieldType, returnType, nextType, /*isAsyncGenerator*/ false); + if (isAsyncGenerator) { + const asyncGeneratorType = createGeneratorType(yieldType, returnType, nextType, /*isAsyncGenerator*/ true); + return getUnionType([generatorType, asyncGeneratorType]); + } + return generatorType; + } + return getIterationTypeOfGeneratorFunctionReturnType(IterationTypeKind.Yield, contextualReturnType, isAsyncGenerator); } } @@ -31388,7 +32118,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { scanner.setScriptTarget(sourceFile.languageVersion); scanner.setLanguageVariant(sourceFile.languageVariant); scanner.setOnError((message, length, arg0) => { - // emulate `parseErrorAtPosition` from parser.ts + // For providing spelling suggestions const start = scanner!.getTokenEnd(); if (message.category === DiagnosticCategory.Message && lastError && start === lastError.start && length === lastError.length) { const error = createDetachedDiagnostic(sourceFile.fileName, sourceFile.text, start, length, message, arg0); @@ -32194,12 +32924,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { const errorMessage = isClassic ? Diagnostics.Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_nodenext_or_to_add_aliases_to_the_paths_option : Diagnostics.Cannot_find_module_0_or_its_corresponding_type_declarations; - // Synthesized JSX import is either first or after tslib - const jsxImportIndex = compilerOptions.importHelpers ? 1 : 0; - const specifier = file?.imports[jsxImportIndex]; - if (specifier) { - Debug.assert(nodeIsSynthesized(specifier) && specifier.text === runtimeImportSpecifier, `Expected sourceFile.imports[${jsxImportIndex}] to be the synthesized JSX runtime import`); - } + const specifier = getJSXRuntimeImportSpecifier(file, runtimeImportSpecifier); const mod = resolveExternalModule(specifier || location!, runtimeImportSpecifier, errorMessage, location!); const result = mod && mod !== unknownSymbol ? getMergedSymbol(resolveSymbol(mod)) : undefined; if (links) { @@ -32475,39 +33200,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { checkJsxPreconditions(node); - if (!getJsxNamespaceContainerForImplicitImport(node)) { - // The reactNamespace/jsxFactory's root symbol should be marked as 'used' so we don't incorrectly elide its import. - // And if there is no reactNamespace/jsxFactory's symbol in scope when targeting React emit, we should issue an error. - const jsxFactoryRefErr = diagnostics && compilerOptions.jsx === JsxEmit.React ? Diagnostics.Cannot_find_name_0 : undefined; - const jsxFactoryNamespace = getJsxNamespace(node); - const jsxFactoryLocation = isNodeOpeningLikeElement ? node.tagName : node; - - // allow null as jsxFragmentFactory - let jsxFactorySym: Symbol | undefined; - if (!(isJsxOpeningFragment(node) && jsxFactoryNamespace === "null")) { - jsxFactorySym = resolveName(jsxFactoryLocation, jsxFactoryNamespace, SymbolFlags.Value, jsxFactoryRefErr, /*isUse*/ true); - } - - if (jsxFactorySym) { - // Mark local symbol as referenced here because it might not have been marked - // if jsx emit was not jsxFactory as there wont be error being emitted - jsxFactorySym.isReferenced = SymbolFlags.All; - - // If react/jsxFactory symbol is alias, mark it as refereced - if (canCollectSymbolAliasAccessabilityData && jsxFactorySym.flags & SymbolFlags.Alias && !getTypeOnlyAliasDeclaration(jsxFactorySym)) { - markAliasSymbolAsReferenced(jsxFactorySym); - } - } - - // For JsxFragment, mark jsx pragma as referenced via resolveName - if (isJsxOpeningFragment(node)) { - const file = getSourceFileOfNode(node); - const localJsxNamespace = getLocalJsxNamespace(file); - if (localJsxNamespace) { - resolveName(jsxFactoryLocation, localJsxNamespace, SymbolFlags.Value, jsxFactoryRefErr, /*isUse*/ true); - } - } - } + markLinkedReferences(node, ReferenceHint.Jsx); if (isNodeOpeningLikeElement) { const jsxOpeningLikeNode = node; @@ -33084,28 +33777,13 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { else { if (isAnyLike) { if (isIdentifier(left) && parentSymbol) { - markAliasReferenced(parentSymbol, node); + markLinkedReferences(node, ReferenceHint.Property, /*propSymbol*/ undefined, leftType); } return isErrorType(apparentType) ? errorType : apparentType; } prop = getPropertyOfType(apparentType, right.escapedText, /*skipObjectFunctionPropertyAugment*/ isConstEnumObjectType(apparentType), /*includeTypeOnlyMembers*/ node.kind === SyntaxKind.QualifiedName); } - // In `Foo.Bar.Baz`, 'Foo' is not referenced if 'Bar' is a const enum or a module containing only const enums. - // `Foo` is also not referenced in `enum FooCopy { Bar = Foo.Bar }`, because the enum member value gets inlined - // here even if `Foo` is not a const enum. - // - // The exceptions are: - // 1. if 'isolatedModules' is enabled, because the const enum value will not be inlined, and - // 2. if 'preserveConstEnums' is enabled and the expression is itself an export, e.g. `export = Foo.Bar.Baz`. - if ( - isIdentifier(left) && parentSymbol && ( - getIsolatedModules(compilerOptions) || - !(prop && (isConstEnumOrConstEnumOnlyModule(prop) || prop.flags & SymbolFlags.EnumMember && node.parent.kind === SyntaxKind.EnumMember)) || - shouldPreserveConstEnums(compilerOptions) && isExportOrExportExpression(node) - ) - ) { - markAliasReferenced(parentSymbol, node); - } + markLinkedReferences(node, ReferenceHint.Property, prop, leftType); let propType: Type; if (!prop) { @@ -37294,7 +37972,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } if (isGenerator) { - return createGeneratorReturnType( + return createGeneratorType( yieldType || neverType, returnType || fallbackReturnType, nextType || getContextualIterationType(IterationTypeKind.Next, func) || unknownType, @@ -37311,7 +37989,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } } - function createGeneratorReturnType(yieldType: Type, returnType: Type, nextType: Type, isAsyncGenerator: boolean) { + function createGeneratorType(yieldType: Type, returnType: Type, nextType: Type, isAsyncGenerator: boolean) { const resolver = isAsyncGenerator ? asyncIterationTypesResolver : syncIterationTypesResolver; const globalGeneratorType = resolver.getGlobalGeneratorType(/*reportErrors*/ false); yieldType = resolver.resolveIterationType(yieldType, /*errorNode*/ undefined) || unknownType; @@ -39230,11 +39908,14 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { texts.push(span.literal.text); types.push(isTypeAssignableTo(type, templateConstraintType) ? type : stringType); } + const evaluated = node.parent.kind !== SyntaxKind.TaggedTemplateExpression && evaluate(node).value; + if (evaluated) { + return getFreshTypeOfLiteralType(getStringLiteralType(evaluated)); + } if (isConstContext(node) || isTemplateLiteralContext(node) || someType(getContextualType(node, /*contextFlags*/ undefined) || unknownType, isTemplateLiteralContextualType)) { return getTemplateLiteralType(texts, types); } - const evaluated = node.parent.kind !== SyntaxKind.TaggedTemplateExpression && evaluate(node).value; - return evaluated ? getFreshTypeOfLiteralType(getStringLiteralType(evaluated)) : stringType; + return stringType; } function isTemplateLiteralContextualType(type: Type): boolean { @@ -40110,7 +40791,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { const generatorYieldType = getIterationTypeOfGeneratorFunctionReturnType(IterationTypeKind.Yield, returnType, (functionFlags & FunctionFlags.Async) !== 0) || anyType; const generatorReturnType = getIterationTypeOfGeneratorFunctionReturnType(IterationTypeKind.Return, returnType, (functionFlags & FunctionFlags.Async) !== 0) || generatorYieldType; const generatorNextType = getIterationTypeOfGeneratorFunctionReturnType(IterationTypeKind.Next, returnType, (functionFlags & FunctionFlags.Async) !== 0) || unknownType; - const generatorInstantiation = createGeneratorReturnType(generatorYieldType, generatorReturnType, generatorNextType, !!(functionFlags & FunctionFlags.Async)); + const generatorInstantiation = createGeneratorType(generatorYieldType, generatorReturnType, generatorNextType, !!(functionFlags & FunctionFlags.Async)); return checkTypeAssignableTo(generatorInstantiation, returnType, errorNode); } @@ -41441,10 +42122,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { // - The base constraint of `T` is an object type with a callable `then` method. if (isAwaitedTypeNeeded(type)) { - const awaitedType = tryCreateAwaitedType(type); - if (awaitedType) { - return awaitedType; - } + return tryCreateAwaitedType(type) ?? type; } Debug.assert(isAwaitedTypeInstantiation(type) || getPromisedTypeOfPromise(type) === undefined, "type provided should not be a non-generic 'promise'-like."); @@ -41649,8 +42327,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } else { // Always mark the type node as referenced if it points to a value - markTypeNodeAsReferenced(returnTypeNode); - + markLinkedReferences(node, ReferenceHint.AsyncFunction); if (isErrorType(returnType)) { return; } @@ -41869,59 +42546,6 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { return createFunctionType(/*typeParameters*/ undefined, /*thisParameter*/ undefined, [valueParam], voidType); } - /** - * If a TypeNode can be resolved to a value symbol imported from an external module, it is - * marked as referenced to prevent import elision. - */ - function markTypeNodeAsReferenced(node: TypeNode) { - markEntityNameOrEntityExpressionAsReference(node && getEntityNameFromTypeNode(node), /*forDecoratorMetadata*/ false); - } - - function markEntityNameOrEntityExpressionAsReference(typeName: EntityNameOrEntityNameExpression | undefined, forDecoratorMetadata: boolean) { - if (!typeName) return; - - const rootName = getFirstIdentifier(typeName); - const meaning = (typeName.kind === SyntaxKind.Identifier ? SymbolFlags.Type : SymbolFlags.Namespace) | SymbolFlags.Alias; - const rootSymbol = resolveName(rootName, rootName.escapedText, meaning, /*nameNotFoundMessage*/ undefined, /*isUse*/ true); - if (rootSymbol && rootSymbol.flags & SymbolFlags.Alias) { - if ( - canCollectSymbolAliasAccessabilityData - && symbolIsValue(rootSymbol) - && !isConstEnumOrConstEnumOnlyModule(resolveAlias(rootSymbol)) - && !getTypeOnlyAliasDeclaration(rootSymbol) - ) { - markAliasSymbolAsReferenced(rootSymbol); - } - else if ( - forDecoratorMetadata - && getIsolatedModules(compilerOptions) - && getEmitModuleKind(compilerOptions) >= ModuleKind.ES2015 - && !symbolIsValue(rootSymbol) - && !some(rootSymbol.declarations, isTypeOnlyImportOrExportDeclaration) - ) { - const diag = error(typeName, Diagnostics.A_type_referenced_in_a_decorated_signature_must_be_imported_with_import_type_or_a_namespace_import_when_isolatedModules_and_emitDecoratorMetadata_are_enabled); - const aliasDeclaration = find(rootSymbol.declarations || emptyArray, isAliasSymbolDeclaration); - if (aliasDeclaration) { - addRelatedInfo(diag, createDiagnosticForNode(aliasDeclaration, Diagnostics._0_was_imported_here, idText(rootName))); - } - } - } - } - - /** - * This function marks the type used for metadata decorator as referenced if it is import - * from external module. - * This is different from markTypeNodeAsReferenced because it tries to simplify type nodes in - * union and intersection type - * @param node - */ - function markDecoratorMedataDataTypeNodeAsReferenced(node: TypeNode | undefined): void { - const entityName = getEntityNameForDecoratorMetadata(node); - if (entityName && isEntityName(entityName)) { - markEntityNameOrEntityExpressionAsReference(entityName, /*forDecoratorMetadata*/ true); - } - } - function getEntityNameForDecoratorMetadata(node: TypeNode | undefined): EntityName | undefined { if (node) { switch (node.kind) { @@ -42029,48 +42653,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } } - if (compilerOptions.emitDecoratorMetadata) { - checkExternalEmitHelpers(firstDecorator, ExternalEmitHelpers.Metadata); - - // we only need to perform these checks if we are emitting serialized type metadata for the target of a decorator. - switch (node.kind) { - case SyntaxKind.ClassDeclaration: - const constructor = getFirstConstructorWithBody(node); - if (constructor) { - for (const parameter of constructor.parameters) { - markDecoratorMedataDataTypeNodeAsReferenced(getParameterTypeNodeForDecoratorCheck(parameter)); - } - } - break; - - case SyntaxKind.GetAccessor: - case SyntaxKind.SetAccessor: - const otherKind = node.kind === SyntaxKind.GetAccessor ? SyntaxKind.SetAccessor : SyntaxKind.GetAccessor; - const otherAccessor = getDeclarationOfKind(getSymbolOfDeclaration(node), otherKind); - markDecoratorMedataDataTypeNodeAsReferenced(getAnnotatedAccessorTypeNode(node) || otherAccessor && getAnnotatedAccessorTypeNode(otherAccessor)); - break; - case SyntaxKind.MethodDeclaration: - for (const parameter of node.parameters) { - markDecoratorMedataDataTypeNodeAsReferenced(getParameterTypeNodeForDecoratorCheck(parameter)); - } - - markDecoratorMedataDataTypeNodeAsReferenced(getEffectiveReturnTypeNode(node)); - break; - - case SyntaxKind.PropertyDeclaration: - markDecoratorMedataDataTypeNodeAsReferenced(getEffectiveTypeAnnotationNode(node)); - break; - - case SyntaxKind.Parameter: - markDecoratorMedataDataTypeNodeAsReferenced(getParameterTypeNodeForDecoratorCheck(node)); - const containingSignature = node.parent; - for (const parameter of containingSignature.parameters) { - markDecoratorMedataDataTypeNodeAsReferenced(getParameterTypeNodeForDecoratorCheck(parameter)); - } - markDecoratorMedataDataTypeNodeAsReferenced(getEffectiveReturnTypeNode(containingSignature)); - break; - } - } + markLinkedReferences(node, ReferenceHint.Decorator); for (const modifier of node.modifiers) { if (isDecorator(modifier)) { @@ -46402,9 +46985,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { checkGrammarModifiers(node); if (isInternalModuleImportEqualsDeclaration(node) || checkExternalImportOrExportDeclaration(node)) { checkImportBinding(node); - if (hasSyntacticModifier(node, ModifierFlags.Export)) { - markExportAsReferenced(node); - } + markLinkedReferences(node, ReferenceHint.ExportImportEquals); if (node.moduleReference.kind !== SyntaxKind.ExternalModuleReference) { const target = resolveAlias(getSymbolOfDeclaration(node)); if (target !== unknownSymbol) { @@ -46513,13 +47094,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { error(exportedName, Diagnostics.Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module, idText(exportedName)); } else { - if (!node.isTypeOnly && !node.parent.parent.isTypeOnly) { - markExportAsReferenced(node); - } - const target = symbol && (symbol.flags & SymbolFlags.Alias ? resolveAlias(symbol) : symbol); - if (!target || getSymbolFlags(target) & SymbolFlags.Value) { - checkExpressionCached(node.propertyName || node.name); - } + markLinkedReferences(node, ReferenceHint.ExportSpecifier); } } else { @@ -46572,8 +47147,8 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { const id = node.expression as Identifier; const sym = getExportSymbolOfValueSymbolIfExported(resolveEntityName(id, SymbolFlags.All, /*ignoreErrors*/ true, /*dontResolveAlias*/ true, node)); if (sym) { + markLinkedReferences(node, ReferenceHint.ExportAssignment); const typeOnlyDeclaration = getTypeOnlyAliasDeclaration(sym, SymbolFlags.Value); - markAliasReferenced(sym, id); // If not a value, we're interpreting the identifier as a type export, along the lines of (`export { Id as default }`) if (getSymbolFlags(sym) & SymbolFlags.Value) { // However if it is a value, we need to check it's being used correctly @@ -48212,12 +48787,11 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { if (links.isDeclarationWithCollidingName === undefined) { const container = getEnclosingBlockScopeContainer(symbol.valueDeclaration); if (isStatementWithLocals(container) || isSymbolOfDestructuredElementOfCatchBinding(symbol)) { - const nodeLinks = getNodeLinks(symbol.valueDeclaration); if (resolveName(container.parent, symbol.escapedName, SymbolFlags.Value, /*nameNotFoundMessage*/ undefined, /*isUse*/ false)) { // redeclaration - always should be renamed links.isDeclarationWithCollidingName = true; } - else if (nodeLinks.flags & NodeCheckFlags.CapturedBlockScopedBinding) { + else if (hasNodeCheckFlag(symbol.valueDeclaration, NodeCheckFlags.CapturedBlockScopedBinding)) { // binding is captured in the function // should be renamed if: // - binding is not top level - top level bindings never collide with anything @@ -48233,7 +48807,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { // * variables from initializer are passed to rewritten loop body as parameters so they are not captured directly // * variables that are declared immediately in loop body will become top level variable after loop is rewritten and thus // they will not collide with anything - const isDeclaredInLoop = nodeLinks.flags & NodeCheckFlags.BlockScopedBindingInLoop; + const isDeclaredInLoop = hasNodeCheckFlag(symbol.valueDeclaration, NodeCheckFlags.BlockScopedBindingInLoop); const inLoopInitializer = isIterationStatement(container, /*lookInLabeledStatements*/ false); const inLoopBodyBlock = container.kind === SyntaxKind.Block && isIterationStatement(container.parent, /*lookInLabeledStatements*/ false); @@ -48320,6 +48894,12 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { if (!symbol) { return false; } + const container = getSourceFileOfNode(symbol.valueDeclaration); + const fileSymbol = container && getSymbolOfDeclaration(container); + // Ensures cjs export assignment is setup, since this symbol may point at, and merge with, the file itself. + // If we don't, the merge may not have yet occured, and the flags check below will be missing flags that + // are added as a result of the merge. + void resolveExternalModuleSymbol(fileSymbol); const target = getExportSymbolOfValueSymbolIfExported(resolveAlias(symbol)); if (target === unknownSymbol) { return !excludeTypeOnlyValues || !getTypeOnlyAliasDeclaration(symbol); @@ -48446,6 +49026,129 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { return nodeLinks[nodeId]?.flags || 0; } + function hasNodeCheckFlag(node: Node, flag: LazyNodeCheckFlags) { + calculateNodeCheckFlagWorker(node, flag); + return !!(getNodeCheckFlags(node) & flag); + } + + function calculateNodeCheckFlagWorker(node: Node, flag: LazyNodeCheckFlags) { + if (!compilerOptions.noCheck) { + // Unless noCheck is passed, assume calculation of node check flags has been done eagerly. + // This saves needing to mark up where in the eager traversal certain results are "done", + // just to reconcile the eager and lazy results. This wouldn't be hard if an eager typecheck + // was actually an in-order traversal, but it isn't - some nodes are deferred, and so don't + // have these node check flags calculated until that deferral is completed. As an example, + // in concept, we could consider a class that we've called `checkSourceElement` on as having had + // these flags calculated, but since the method bodies are deferred, we actually can't set the + // flags as having been calculated until that deferral is completed. + // The downside to this either/or approach to eager or lazy calculation is that we can't combine + // a partial eager traversal and lazy calculation for the missing bits, and there's a bit of + // overlap in functionality. This isn't a huge loss for any usecases today, but would be nice + // alongside language service partial file checking and editor-triggered emit. + return; + } + const links = getNodeLinks(node); + if (links.calculatedFlags & flag) { + return; + } + // This is only the set of `NodeCheckFlags` our emitter actually looks for, not all of them + switch (flag) { + case NodeCheckFlags.SuperInstance: + case NodeCheckFlags.SuperStatic: + return checkSingleSuperExpression(node); + case NodeCheckFlags.MethodWithSuperPropertyAccessInAsync: + case NodeCheckFlags.MethodWithSuperPropertyAssignmentInAsync: + case NodeCheckFlags.ContainsSuperPropertyInStaticInitializer: + return checkChildSuperExpressions(node); + case NodeCheckFlags.CaptureArguments: + case NodeCheckFlags.ContainsCapturedBlockScopeBinding: + case NodeCheckFlags.NeedsLoopOutParameter: + case NodeCheckFlags.ContainsConstructorReference: + return checkChildIdentifiers(node); + case NodeCheckFlags.ConstructorReference: + return checkSingleIdentifier(node); + case NodeCheckFlags.LoopWithCapturedBlockScopedBinding: + case NodeCheckFlags.BlockScopedBindingInLoop: + case NodeCheckFlags.CapturedBlockScopedBinding: + return checkContainingBlockScopeBindingUses(node); + default: + return Debug.assertNever(flag, `Unhandled node check flag calculation: ${Debug.formatNodeCheckFlags(flag)}`); + } + + function forEachNodeRecursively(root: Node, cb: (node: Node, parent: Node) => T | "skip" | undefined): T | undefined { + const rootResult = cb(root, root.parent); + if (rootResult === "skip") return undefined; + if (rootResult) return rootResult; + return forEachChildRecursively(root, cb); + } + + function checkSuperExpressions(node: Node) { + const links = getNodeLinks(node); + if (links.calculatedFlags & flag) return "skip"; + links.calculatedFlags |= NodeCheckFlags.MethodWithSuperPropertyAccessInAsync | NodeCheckFlags.MethodWithSuperPropertyAssignmentInAsync | NodeCheckFlags.ContainsSuperPropertyInStaticInitializer; + checkSingleSuperExpression(node); + return undefined; + } + + function checkChildSuperExpressions(node: Node) { + forEachNodeRecursively(node, checkSuperExpressions); + } + + function checkSingleSuperExpression(node: Node) { + const nodeLinks = getNodeLinks(node); // This is called on sub-nodes of the original input, make sure we set `calculatedFlags` on the correct node + nodeLinks.calculatedFlags |= NodeCheckFlags.SuperInstance | NodeCheckFlags.SuperStatic; // Yes, we set this on non-applicable nodes, so we can entirely skip the traversal on future calls + if (node.kind === SyntaxKind.SuperKeyword) { + checkSuperExpression(node); + } + } + + function checkIdentifiers(node: Node) { + const links = getNodeLinks(node); + if (links.calculatedFlags & flag) return "skip"; + links.calculatedFlags |= NodeCheckFlags.CaptureArguments | NodeCheckFlags.ContainsCapturedBlockScopeBinding | NodeCheckFlags.NeedsLoopOutParameter | NodeCheckFlags.ContainsConstructorReference; + checkSingleIdentifier(node); + return undefined; + } + + function checkChildIdentifiers(node: Node) { + forEachNodeRecursively(node, checkIdentifiers); + } + + function checkSingleIdentifier(node: Node) { + const nodeLinks = getNodeLinks(node); + nodeLinks.calculatedFlags |= NodeCheckFlags.ConstructorReference | NodeCheckFlags.CapturedBlockScopedBinding | NodeCheckFlags.BlockScopedBindingInLoop; + if (isIdentifier(node) && isExpressionNode(node) && !(isPropertyAccessExpression(node.parent) && node.parent.name === node)) { + const s = getSymbolAtLocation(node, /*ignoreErrors*/ true); + if (s && s !== unknownSymbol) { + checkIdentifierCalculateNodeCheckFlags(node, s); + } + } + } + + function checkBlockScopeBindings(node: Node) { + const links = getNodeLinks(node); + if (links.calculatedFlags & flag) return "skip"; + links.calculatedFlags |= NodeCheckFlags.LoopWithCapturedBlockScopedBinding | NodeCheckFlags.BlockScopedBindingInLoop | NodeCheckFlags.CapturedBlockScopedBinding; + checkSingleBlockScopeBinding(node); + return undefined; + } + + function checkContainingBlockScopeBindingUses(node: Node) { + const scope = getEnclosingBlockScopeContainer(isDeclarationName(node) ? node.parent : node); + forEachNodeRecursively(scope, checkBlockScopeBindings); + } + + function checkSingleBlockScopeBinding(node: Node) { + checkSingleIdentifier(node); + if (isComputedPropertyName(node)) { + checkComputedPropertyName(node); + } + if (isPrivateIdentifier(node) && isClassElement(node.parent)) { + setNodeLinksForPrivateIdentifierScope(node.parent as PropertyDeclaration | PropertySignature | MethodDeclaration | MethodSignature | AccessorDeclaration); + } + } + } + function getEnumMemberValue(node: EnumMember): EvaluatorResult { computeEnumMemberValues(node.parent); return getNodeLinks(node).enumMemberValue ?? evaluatorResult(/*value*/ undefined); @@ -48466,7 +49169,10 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { return getEnumMemberValue(node).value; } - const symbol = getNodeLinks(node).resolvedSymbol; + if (!getNodeLinks(node).resolvedSymbol) { + void checkExpressionCached(node); // ensure cached resolved symbol is set + } + const symbol = getNodeLinks(node).resolvedSymbol || (isEntityNameExpression(node) ? resolveEntityName(node, SymbolFlags.Value, /*ignoreErrors*/ true) : undefined); if (symbol && (symbol.flags & SymbolFlags.EnumMember)) { // inline property\index accesses only for const enums const member = symbol.valueDeclaration as EnumMember; @@ -48623,6 +49329,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { function getSingleReturnExpression(declaration: SignatureDeclaration | undefined): Expression | undefined { let candidateExpr: Expression | undefined; if (declaration && !nodeIsMissing((declaration as FunctionLikeDeclaration).body)) { + if (getFunctionFlags(declaration) & FunctionFlags.AsyncGenerator) return undefined; const body = (declaration as FunctionLikeDeclaration).body; if (body && isBlock(body)) { forEachReturnStatement(body, s => { @@ -48762,25 +49469,6 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } return false; } - function isNonNarrowedBindableName(node: ComputedPropertyName) { - if (!hasBindableName(node.parent)) { - return false; - } - - const expression = node.expression; - if (!isEntityNameExpression(expression)) { - return true; - } - - const type = getTypeOfExpression(expression); - const symbol = getSymbolAtLocation(expression); - if (!symbol) { - return false; - } - // Ensure not type narrowing - const declaredType = getTypeOfSymbol(symbol); - return declaredType === type; - } function literalTypeToNode(type: FreshableType, enclosing: Node, tracker: SymbolTracker): Expression { const enumResult = type.flags & TypeFlags.EnumLike ? nodeBuilder.symbolToExpression(type.symbol, SymbolFlags.Value, enclosing, /*flags*/ undefined, tracker) @@ -48871,9 +49559,10 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { // Synthesized nodes are always treated as referenced. return node && canCollectSymbolAliasAccessabilityData ? isReferencedAliasDeclaration(node, checkChildren) : true; }, - getNodeCheckFlags: nodeIn => { + hasNodeCheckFlag: (nodeIn, flag) => { const node = getParseTreeNode(nodeIn); - return node ? getNodeCheckFlags(node) : 0; + if (!node) return false; + return hasNodeCheckFlag(node, flag); }, isTopLevelValueImportEqualsWithEntityName, isDeclarationVisible, @@ -48896,6 +49585,10 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { return node ? getEnumMemberValue(node) : undefined; }, collectLinkedAliases, + markLinkedReferences: nodeIn => { + const node = getParseTreeNode(nodeIn); + return node && markLinkedReferences(node, ReferenceHint.Unspecified); + }, getReferencedValueDeclaration, getReferencedValueDeclarations, getTypeReferenceSerializationKind, @@ -48906,7 +49599,6 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { return node && getExternalModuleFileFromDeclaration(node); }, isLiteralConstDeclaration, - isNonNarrowedBindableName, isLateBound: (nodeIn: Declaration): nodeIn is LateBoundDeclaration => { const node = getParseTreeNode(nodeIn, isDeclaration); const symbol = node && getSymbolOfDeclaration(node); @@ -49096,42 +49788,43 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } function checkExternalEmitHelpers(location: Node, helpers: ExternalEmitHelpers) { - if ((requestedExternalEmitHelpers & helpers) !== helpers && compilerOptions.importHelpers) { + if (compilerOptions.importHelpers) { const sourceFile = getSourceFileOfNode(location); if (isEffectiveExternalModule(sourceFile, compilerOptions) && !(location.flags & NodeFlags.Ambient)) { const helpersModule = resolveHelpersModule(sourceFile, location); if (helpersModule !== unknownSymbol) { - const uncheckedHelpers = helpers & ~requestedExternalEmitHelpers; - for (let helper = ExternalEmitHelpers.FirstEmitHelper; helper <= ExternalEmitHelpers.LastEmitHelper; helper <<= 1) { - if (uncheckedHelpers & helper) { - for (const name of getHelperNames(helper)) { - if (requestedExternalEmitHelperNames.has(name)) continue; - requestedExternalEmitHelperNames.add(name); - - const symbol = resolveSymbol(getSymbol(getExportsOfModule(helpersModule), escapeLeadingUnderscores(name), SymbolFlags.Value)); - if (!symbol) { - error(location, Diagnostics.This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_version_of_0, externalHelpersModuleNameText, name); - } - else if (helper & ExternalEmitHelpers.ClassPrivateFieldGet) { - if (!some(getSignaturesOfSymbol(symbol), signature => getParameterCount(signature) > 3)) { - error(location, Diagnostics.This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_one_in_0_Consider_upgrading_your_version_of_0, externalHelpersModuleNameText, name, 4); + const links = getSymbolLinks(helpersModule); + links.requestedExternalEmitHelpers ??= 0 as ExternalEmitHelpers; + if ((links.requestedExternalEmitHelpers & helpers) !== helpers) { + const uncheckedHelpers = helpers & ~links.requestedExternalEmitHelpers; + for (let helper = ExternalEmitHelpers.FirstEmitHelper; helper <= ExternalEmitHelpers.LastEmitHelper; helper <<= 1) { + if (uncheckedHelpers & helper) { + for (const name of getHelperNames(helper)) { + const symbol = resolveSymbol(getSymbol(getExportsOfModule(helpersModule), escapeLeadingUnderscores(name), SymbolFlags.Value)); + if (!symbol) { + error(location, Diagnostics.This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_version_of_0, externalHelpersModuleNameText, name); } - } - else if (helper & ExternalEmitHelpers.ClassPrivateFieldSet) { - if (!some(getSignaturesOfSymbol(symbol), signature => getParameterCount(signature) > 4)) { - error(location, Diagnostics.This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_one_in_0_Consider_upgrading_your_version_of_0, externalHelpersModuleNameText, name, 5); + else if (helper & ExternalEmitHelpers.ClassPrivateFieldGet) { + if (!some(getSignaturesOfSymbol(symbol), signature => getParameterCount(signature) > 3)) { + error(location, Diagnostics.This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_one_in_0_Consider_upgrading_your_version_of_0, externalHelpersModuleNameText, name, 4); + } } - } - else if (helper & ExternalEmitHelpers.SpreadArray) { - if (!some(getSignaturesOfSymbol(symbol), signature => getParameterCount(signature) > 2)) { - error(location, Diagnostics.This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_one_in_0_Consider_upgrading_your_version_of_0, externalHelpersModuleNameText, name, 3); + else if (helper & ExternalEmitHelpers.ClassPrivateFieldSet) { + if (!some(getSignaturesOfSymbol(symbol), signature => getParameterCount(signature) > 4)) { + error(location, Diagnostics.This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_one_in_0_Consider_upgrading_your_version_of_0, externalHelpersModuleNameText, name, 5); + } + } + else if (helper & ExternalEmitHelpers.SpreadArray) { + if (!some(getSignaturesOfSymbol(symbol), signature => getParameterCount(signature) > 2)) { + error(location, Diagnostics.This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_one_in_0_Consider_upgrading_your_version_of_0, externalHelpersModuleNameText, name, 3); + } } } } } } + links.requestedExternalEmitHelpers |= helpers; } - requestedExternalEmitHelpers |= helpers; } } } @@ -49193,11 +49886,12 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } } - function resolveHelpersModule(node: SourceFile, errorNode: Node) { - if (!externalHelpersModule) { - externalHelpersModule = resolveExternalModule(node, externalHelpersModuleNameText, Diagnostics.This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found, errorNode) || unknownSymbol; + function resolveHelpersModule(file: SourceFile, errorNode: Node) { + const links = getNodeLinks(file); + if (!links.externalHelpersModule) { + links.externalHelpersModule = resolveExternalModule(getImportHelpersImportSpecifier(file), externalHelpersModuleNameText, Diagnostics.This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found, errorNode) || unknownSymbol; } - return externalHelpersModule; + return links.externalHelpersModule; } // GRAMMAR CHECKING @@ -51145,6 +51839,23 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { blockScopeKind === NodeFlags.Using || blockScopeKind === NodeFlags.AwaitUsing; } + + function getJSXRuntimeImportSpecifier(file: SourceFile | undefined, specifierText: string) { + // Synthesized JSX import is either first or after tslib + const jsxImportIndex = compilerOptions.importHelpers ? 1 : 0; + const specifier = file?.imports[jsxImportIndex]; + if (specifier) { + Debug.assert(nodeIsSynthesized(specifier) && specifier.text === specifierText, `Expected sourceFile.imports[${jsxImportIndex}] to be the synthesized JSX runtime import`); + } + return specifier; + } + + function getImportHelpersImportSpecifier(file: SourceFile) { + Debug.assert(compilerOptions.importHelpers, "Expected importHelpers to be enabled"); + const specifier = file.imports[0]; + Debug.assert(specifier && nodeIsSynthesized(specifier) && specifier.text === "tslib", `Expected sourceFile.imports[0] to be the synthesized tslib import`); + return specifier; + } } function isNotAccessor(declaration: Declaration): boolean { @@ -51242,16 +51953,19 @@ interface NodeBuilderContext { symbolDepth: Map | undefined; inferTypeParameters: TypeParameter[] | undefined; approximateLength: number; - truncating?: boolean; - typeParameterSymbolList?: Set; - typeParameterNames?: Map; - typeParameterNamesByText?: Set; - typeParameterNamesByTextNextNameCount?: Map; - usedSymbolNames?: Set; - remappedSymbolNames?: Map; - remappedSymbolReferences?: Map; - reverseMappedStack?: ReverseMappedSymbol[]; - bundled?: boolean; + truncating: boolean; + mustCreateTypeParameterSymbolList: boolean; + typeParameterSymbolList: Set | undefined; + mustCreateTypeParametersNamesLookups: boolean; + typeParameterNames: Map | undefined; + typeParameterNamesByText: Set | undefined; + typeParameterNamesByTextNextNameCount: Map | undefined; + usedSymbolNames: Set | undefined; + remappedSymbolNames: Map | undefined; + remappedSymbolReferences: Map | undefined; + reverseMappedStack: ReverseMappedSymbol[] | undefined; + bundled: boolean; + mapper: TypeMapper | undefined; } class SymbolTrackerImpl implements SymbolTracker { diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index 9e103d0a90dce..4a9918c9671e9 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -121,7 +121,7 @@ import { WatchDirectoryKind, WatchFileKind, WatchOptions, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; /** @internal */ export const compileOnSaveCommandLineOption: CommandLineOption = { @@ -778,7 +778,7 @@ const commandOptionsWithoutBuild: CommandLineOption[] = [ showInSimplifiedHelpView: false, category: Diagnostics.Compiler_Diagnostics, description: Diagnostics.Disable_full_type_checking_only_critical_parse_and_emit_errors_will_be_reported, - transpileOptionValue: undefined, + transpileOptionValue: true, defaultValueDescription: false, affectsSemanticDiagnostics: true, affectsBuildInfo: true, @@ -1639,6 +1639,12 @@ export const configDirTemplateSubstitutionWatchOptions: readonly CommandLineOpti option => option.allowConfigDirTemplateSubstitution || (!option.isCommandLineOnly && option.isFilePath), ); +/** @internal */ +export const commandLineOptionOfCustomType: readonly CommandLineOptionOfCustomType[] = optionDeclarations.filter(isCommandLineOptionOfCustomType); +function isCommandLineOptionOfCustomType(option: CommandLineOption): option is CommandLineOptionOfCustomType { + return !isString(option.type); +} + // Build related options /** @internal */ export const optionsForBuild: CommandLineOption[] = [ diff --git a/src/compiler/core.ts b/src/compiler/core.ts index 93772d05b2721..d7f6fe0580d5f 100644 --- a/src/compiler/core.ts +++ b/src/compiler/core.ts @@ -9,7 +9,7 @@ import { SortedArray, SortedReadonlyArray, TextSpan, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; /** @internal */ export const emptyArray: never[] = [] as never[]; diff --git a/src/compiler/debug.ts b/src/compiler/debug.ts index 98fcde9847420..baa8ce61a90f2 100644 --- a/src/compiler/debug.ts +++ b/src/compiler/debug.ts @@ -1,4 +1,4 @@ -import * as ts from "./_namespaces/ts"; +import * as ts from "./_namespaces/ts.js"; import { AnyFunction, AssertionLevel, @@ -64,6 +64,7 @@ import { ModifierFlags, Node, NodeArray, + NodeCheckFlags, NodeFlags, nodeIsSynthesized, noop, @@ -91,7 +92,7 @@ import { unescapeLeadingUnderscores, VarianceFlags, zipWith, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; /** @internal */ export enum LogLevel { @@ -455,6 +456,10 @@ export namespace Debug { return formatEnum(flags, (ts as any).NodeFlags, /*isFlags*/ true); } + export function formatNodeCheckFlags(flags: NodeCheckFlags | undefined): string { + return formatEnum(flags, (ts as any).NodeCheckFlags, /*isFlags*/ true); + } + export function formatModifierFlags(flags: ModifierFlags | undefined): string { return formatEnum(flags, (ts as any).ModifierFlags, /*isFlags*/ true); } diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index 1db3b8c70bc30..e74033719b5b8 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -1789,7 +1789,7 @@ "category": "Error", "code": 1533 }, - "This backreference is invalid because the containing regular expression contains no capturing groups.": { + "This backreference refers to a group that does not exist. There are no capturing groups in this regular expression.": { "category": "Error", "code": 1534 }, @@ -1797,6 +1797,14 @@ "category": "Error", "code": 1535 }, + "Octal escape sequences and backreferences are not allowed in a character class. If this was intended as an escape sequence, use the syntax '{0}' instead.": { + "category": "Error", + "code": 1536 + }, + "Decimal escape sequences and backreferences are not allowed in a character class.": { + "category": "Error", + "code": 1537 + }, "The types of '{0}' are incompatible between these types.": { "category": "Error", @@ -4200,10 +4208,6 @@ "category": "Error", "code": 4085 }, - "Conflicting definitions for '{0}' found at '{1}' and '{2}'. Consider installing a specific version of this library to resolve the conflict.": { - "category": "Error", - "code": 4090 - }, "Parameter '{0}' of index signature from exported interface has or is using name '{1}' from private module '{2}'.": { "category": "Error", "code": 4091 @@ -7018,6 +7022,14 @@ "category": "Error", "code": 9037 }, + "Computed property names on class or object literals cannot be inferred with --isolatedDeclarations.": { + "category": "Error", + "code": 9038 + }, + "Type containing private name '{0}' can't be used with --isolatedDeclarations.": { + "category": "Error", + "code": 9039 + }, "JSX attributes must only be assigned a non-empty 'expression'.": { "category": "Error", "code": 17000 diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index 2b95abb5db68c..539190c63c336 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -1,4 +1,4 @@ -import * as ts from "./_namespaces/ts"; +import * as ts from "./_namespaces/ts.js"; import { AccessorDeclaration, ArrayBindingPattern, @@ -207,6 +207,7 @@ import { isGeneratedPrivateIdentifier, isIdentifier, isImportAttributes, + isImportEqualsDeclaration, isIncrementalCompilation, isInJsonFile, isJSDocLikeText, @@ -420,8 +421,8 @@ import { writeCommentRange, writeFile, YieldExpression, -} from "./_namespaces/ts"; -import * as performance from "./_namespaces/ts.performance"; +} from "./_namespaces/ts.js"; +import * as performance from "./_namespaces/ts.performance.js"; const brackets = createBracketsMap(); @@ -717,6 +718,11 @@ export function getFirstProjectOutput(configFile: ParsedCommandLine, ignoreCase: return Debug.fail(`project ${configFile.options.configFilePath} expected to have at least one output`); } +/** @internal */ +export function emitResolverSkipsTypeChecking(emitOnly: boolean | EmitOnly | undefined, forceDtsEmit: boolean | undefined) { + return !!forceDtsEmit && !!emitOnly; +} + /** @internal */ // targetSourceFile is when users only want one file in entire project to be emitted. This is used in compileOnSave feature export function emitFiles(resolver: EmitResolver, host: EmitHost, targetSourceFile: SourceFile | undefined, { scriptTransformers, declarationTransformers }: EmitTransformers, emitOnly?: boolean | EmitOnly, onlyBuildInfo?: boolean, forceDtsEmit?: boolean): EmitResult { @@ -793,6 +799,11 @@ export function emitFiles(resolver: EmitResolver, host: EmitHost, targetSourceFi emitSkipped = true; return; } + + if (compilerOptions.noCheck) { + (isSourceFile(sourceFileOrBundle) ? [sourceFileOrBundle] : filter(sourceFileOrBundle.sourceFiles, isSourceFileNotJson)).forEach(markLinkedReferences); + } + // Transform the source files const transform = transformNodes(resolver, host, factory, compilerOptions, [sourceFileOrBundle], scriptTransformers, /*allowDtsFiles*/ false); @@ -848,7 +859,11 @@ export function emitFiles(resolver: EmitResolver, host: EmitHost, targetSourceFi const filesForEmit = forceDtsEmit ? sourceFiles : filter(sourceFiles, isSourceFileNotJson); // Setup and perform the transformation to retrieve declarations from the input files const inputListOrBundle = compilerOptions.outFile ? [factory.createBundle(filesForEmit)] : filesForEmit; - if ((emitOnly && !getEmitDeclarations(compilerOptions)) || compilerOptions.noCheck) { + if ( + (emitOnly && !getEmitDeclarations(compilerOptions)) || + compilerOptions.noCheck || + emitResolverSkipsTypeChecking(emitOnly, forceDtsEmit) + ) { // Checker wont collect the linked aliases since thats only done when declaration is enabled and checking is performed. // Do that here when emitting only dts files filesForEmit.forEach(collectLinkedAliases); @@ -924,6 +939,14 @@ export function emitFiles(resolver: EmitResolver, host: EmitHost, targetSourceFi forEachChild(node, collectLinkedAliases); } + function markLinkedReferences(file: SourceFile) { + ts.forEachChildRecursively(file, n => { + if (isImportEqualsDeclaration(n) && !(ts.getSyntacticModifierFlags(n) & ts.ModifierFlags.Export)) return "skip"; // These are deferred and marked in a chain when referenced + if (ts.isImportDeclaration(n)) return "skip"; // likewise, these are ultimately what get marked by calls on other nodes - we want to skip them + resolver.markLinkedReferences(n); + }); + } + function printSourceFileOrBundle(jsFilePath: string, sourceMapFilePath: string | undefined, transform: TransformationResult, printer: Printer, mapOptions: SourceMapOptions) { const sourceFileOrBundle = transform.transformed[0]; const bundle = sourceFileOrBundle.kind === SyntaxKind.Bundle ? sourceFileOrBundle : undefined; @@ -1090,10 +1113,11 @@ export const notImplementedResolver: EmitResolver = { isValueAliasDeclaration: notImplemented, isReferencedAliasDeclaration: notImplemented, isTopLevelValueImportEqualsWithEntityName: notImplemented, - getNodeCheckFlags: notImplemented, + hasNodeCheckFlag: notImplemented, isDeclarationVisible: notImplemented, isLateBound: (_node): _node is LateBoundDeclaration => false, collectLinkedAliases: notImplemented, + markLinkedReferences: notImplemented, isImplementationOfOverload: notImplemented, requiresAddingImplicitUndefined: notImplemented, isExpandoFunctionDeclaration: notImplemented, @@ -1114,7 +1138,6 @@ export const notImplementedResolver: EmitResolver = { isArgumentsLocalBinding: notImplemented, getExternalModuleFileFromDeclaration: notImplemented, isLiteralConstDeclaration: notImplemented, - isNonNarrowedBindableName: notImplemented, getJsxFactoryEntity: notImplemented, getJsxFragmentFactoryEntity: notImplemented, isBindingCapturedByNode: notImplemented, @@ -2125,13 +2148,9 @@ export function createPrinter(printerOptions: PrinterOptions = {}, handlers: Pri } function emitComputedPropertyName(node: ComputedPropertyName) { - const savedPrivateNameTempFlags = privateNameTempFlags; - const savedReservedMemberNames = reservedPrivateNames; - popPrivateNameGenerationScope(); writePunctuation("["); emitExpression(node.expression, parenthesizer.parenthesizeExpressionOfComputedPropertyName); writePunctuation("]"); - pushPrivateNameGenerationScope(savedPrivateNameTempFlags, savedReservedMemberNames); } // @@ -2198,15 +2217,10 @@ export function createPrinter(printerOptions: PrinterOptions = {}, handlers: Pri } function emitMethodSignature(node: MethodSignature) { - pushNameGenerationScope(node); emitModifierList(node, node.modifiers); emit(node.name); emit(node.questionToken); - emitTypeParameters(node, node.typeParameters); - emitParameters(node, node.parameters); - emitTypeAnnotation(node.type); - writeTrailingSemicolon(); - popNameGenerationScope(node); + emitSignatureAndBody(node, emitSignatureHead, emitEmptyFunctionBody); } function emitMethodDeclaration(node: MethodDeclaration) { @@ -2214,18 +2228,20 @@ export function createPrinter(printerOptions: PrinterOptions = {}, handlers: Pri emit(node.asteriskToken); emit(node.name); emit(node.questionToken); - emitSignatureAndBody(node, emitSignatureHead); + emitSignatureAndBody(node, emitSignatureHead, emitFunctionBody); } function emitClassStaticBlockDeclaration(node: ClassStaticBlockDeclaration) { writeKeyword("static"); + pushNameGenerationScope(node); emitBlockFunctionBody(node.body); + popNameGenerationScope(node); } function emitConstructor(node: ConstructorDeclaration) { emitDecoratorsAndModifiers(node, node.modifiers, /*allowDecorators*/ false); writeKeyword("constructor"); - emitSignatureAndBody(node, emitSignatureHead); + emitSignatureAndBody(node, emitSignatureHead, emitFunctionBody); } function emitAccessorDeclaration(node: AccessorDeclaration) { @@ -2234,27 +2250,17 @@ export function createPrinter(printerOptions: PrinterOptions = {}, handlers: Pri emitTokenWithComment(token, pos, writeKeyword, node); writeSpace(); emit(node.name); - emitSignatureAndBody(node, emitSignatureHead); + emitSignatureAndBody(node, emitSignatureHead, emitFunctionBody); } function emitCallSignature(node: CallSignatureDeclaration) { - pushNameGenerationScope(node); - emitTypeParameters(node, node.typeParameters); - emitParameters(node, node.parameters); - emitTypeAnnotation(node.type); - writeTrailingSemicolon(); - popNameGenerationScope(node); + emitSignatureAndBody(node, emitSignatureHead, emitEmptyFunctionBody); } function emitConstructSignature(node: ConstructSignatureDeclaration) { - pushNameGenerationScope(node); writeKeyword("new"); writeSpace(); - emitTypeParameters(node, node.typeParameters); - emitParameters(node, node.parameters); - emitTypeAnnotation(node.type); - writeTrailingSemicolon(); - popNameGenerationScope(node); + emitSignatureAndBody(node, emitSignatureHead, emitEmptyFunctionBody); } function emitIndexSignature(node: IndexSignatureDeclaration) { @@ -2297,14 +2303,19 @@ export function createPrinter(printerOptions: PrinterOptions = {}, handlers: Pri } function emitFunctionType(node: FunctionTypeNode) { - pushNameGenerationScope(node); + emitSignatureAndBody(node, emitFunctionTypeHead, emitFunctionTypeBody); + } + + function emitFunctionTypeHead(node: FunctionTypeNode | ConstructorTypeNode) { emitTypeParameters(node, node.typeParameters); emitParametersForArrow(node, node.parameters); writeSpace(); writePunctuation("=>"); + } + + function emitFunctionTypeBody(node: FunctionTypeNode | ConstructorTypeNode) { writeSpace(); emit(node.type); - popNameGenerationScope(node); } function emitJSDocFunctionType(node: JSDocFunctionType) { @@ -2330,17 +2341,10 @@ export function createPrinter(printerOptions: PrinterOptions = {}, handlers: Pri } function emitConstructorType(node: ConstructorTypeNode) { - pushNameGenerationScope(node); emitModifierList(node, node.modifiers); writeKeyword("new"); writeSpace(); - emitTypeParameters(node, node.typeParameters); - emitParameters(node, node.parameters); - writeSpace(); - writePunctuation("=>"); - writeSpace(); - emit(node.type); - popNameGenerationScope(node); + emitSignatureAndBody(node, emitFunctionTypeHead, emitFunctionTypeBody); } function emitTypeQuery(node: TypeQueryNode) { @@ -2351,16 +2355,15 @@ export function createPrinter(printerOptions: PrinterOptions = {}, handlers: Pri } function emitTypeLiteral(node: TypeLiteralNode) { - // Type literals don't have private names, but we need to push a new scope so that - // we can step out of it when emitting a computed property. - pushPrivateNameGenerationScope(TempFlags.Auto, /*newReservedMemberNames*/ undefined); + pushNameGenerationScope(node); + forEach(node.members, generateMemberNames); writePunctuation("{"); const flags = getEmitFlags(node) & EmitFlags.SingleLine ? ListFormat.SingleLineTypeLiteralMembers : ListFormat.MultiLineTypeLiteralMembers; emitList(node, node.members, flags | ListFormat.NoSpaceIfEmpty); writePunctuation("}"); - popPrivateNameGenerationScope(); + popNameGenerationScope(node); } function emitArrayType(node: ArrayTypeNode) { @@ -2569,9 +2572,7 @@ export function createPrinter(printerOptions: PrinterOptions = {}, handlers: Pri } function emitObjectLiteralExpression(node: ObjectLiteralExpression) { - // Object literals don't have private names, but we need to push a new scope so that - // we can step out of it when emitting a computed property. - pushPrivateNameGenerationScope(TempFlags.Auto, /*newReservedMemberNames*/ undefined); + pushNameGenerationScope(node); forEach(node.properties, generateMemberNames); const indentedFlag = getEmitFlags(node) & EmitFlags.Indented; @@ -2587,7 +2588,7 @@ export function createPrinter(printerOptions: PrinterOptions = {}, handlers: Pri decreaseIndent(); } - popPrivateNameGenerationScope(); + popNameGenerationScope(node); } function emitPropertyAccessExpression(node: PropertyAccessExpression) { @@ -2714,7 +2715,7 @@ export function createPrinter(printerOptions: PrinterOptions = {}, handlers: Pri function emitArrowFunction(node: ArrowFunction) { emitModifierList(node, node.modifiers); - emitSignatureAndBody(node, emitArrowFunctionHead); + emitSignatureAndBody(node, emitArrowFunctionHead, emitArrowFunctionBody); } function emitArrowFunctionHead(node: ArrowFunction) { @@ -2725,6 +2726,16 @@ export function createPrinter(printerOptions: PrinterOptions = {}, handlers: Pri emit(node.equalsGreaterThanToken); } + function emitArrowFunctionBody(node: ArrowFunction) { + if (isBlock(node.body)) { + emitBlockFunctionBody(node.body); + } + else { + writeSpace(); + emitExpression(node.body, parenthesizer.parenthesizeConciseBodyOfArrowFunction); + } + } + function emitDeleteExpression(node: DeleteExpression) { emitTokenWithComment(SyntaxKind.DeleteKeyword, node.pos, writeKeyword, node); writeSpace(); @@ -3305,42 +3316,40 @@ export function createPrinter(printerOptions: PrinterOptions = {}, handlers: Pri emit(node.asteriskToken); writeSpace(); emitIdentifierName(node.name); - emitSignatureAndBody(node, emitSignatureHead); + emitSignatureAndBody(node, emitSignatureHead, emitFunctionBody); } - function emitSignatureAndBody(node: T, emitSignatureHead: (node: T) => void) { - const body = node.body; - if (body) { - if (isBlock(body)) { - const indentedFlag = getEmitFlags(node) & EmitFlags.Indented; - if (indentedFlag) { - increaseIndent(); - } + function emitSignatureAndBody(node: T, emitSignatureHead: (node: T) => void, emitBody: (node: T) => void) { + const indentedFlag = getEmitFlags(node) & EmitFlags.Indented; + if (indentedFlag) { + increaseIndent(); + } - pushNameGenerationScope(node); - forEach(node.parameters, generateNames); - generateNames(node.body); + pushNameGenerationScope(node); + forEach(node.parameters, generateNames); + emitSignatureHead(node); + emitBody(node); + popNameGenerationScope(node); - emitSignatureHead(node); - emitBlockFunctionBody(body); - popNameGenerationScope(node); + if (indentedFlag) { + decreaseIndent(); + } + } - if (indentedFlag) { - decreaseIndent(); - } - } - else { - emitSignatureHead(node); - writeSpace(); - emitExpression(body, parenthesizer.parenthesizeConciseBodyOfArrowFunction); - } + function emitFunctionBody>(node: T) { + const body = node.body; + if (body) { + emitBlockFunctionBody(body); } else { - emitSignatureHead(node); writeTrailingSemicolon(); } } + function emitEmptyFunctionBody(_node: SignatureDeclaration) { + writeTrailingSemicolon(); + } + function emitSignatureHead(node: SignatureDeclaration) { emitTypeParameters(node, node.typeParameters); emitParameters(node, node.parameters); @@ -3388,6 +3397,7 @@ export function createPrinter(printerOptions: PrinterOptions = {}, handlers: Pri } function emitBlockFunctionBody(body: Block) { + generateNames(body); onBeforeEmitNode?.(body); writeSpace(); writePunctuation("{"); @@ -3428,10 +3438,6 @@ export function createPrinter(printerOptions: PrinterOptions = {}, handlers: Pri } function emitClassDeclarationOrExpression(node: ClassDeclaration | ClassExpression) { - pushPrivateNameGenerationScope(TempFlags.Auto, /*newReservedMemberNames*/ undefined); - - forEach(node.members, generateMemberNames); - emitDecoratorsAndModifiers(node, node.modifiers, /*allowDecorators*/ true); emitTokenWithComment(SyntaxKind.ClassKeyword, moveRangePastModifiers(node).pos, writeKeyword, node); if (node.name) { @@ -3446,24 +3452,22 @@ export function createPrinter(printerOptions: PrinterOptions = {}, handlers: Pri emitTypeParameters(node, node.typeParameters); emitList(node, node.heritageClauses, ListFormat.ClassHeritageClauses); - writeSpace(); writePunctuation("{"); + + pushNameGenerationScope(node); + forEach(node.members, generateMemberNames); emitList(node, node.members, ListFormat.ClassMembers); + popNameGenerationScope(node); + writePunctuation("}"); if (indentedFlag) { decreaseIndent(); } - - popPrivateNameGenerationScope(); } function emitInterfaceDeclaration(node: InterfaceDeclaration) { - // Interfaces don't have private names, but we need to push a new scope so that - // we can step out of it when emitting a computed property. - pushPrivateNameGenerationScope(TempFlags.Auto, /*newReservedMemberNames*/ undefined); - emitDecoratorsAndModifiers(node, node.modifiers, /*allowDecorators*/ false); writeKeyword("interface"); writeSpace(); @@ -3472,10 +3476,13 @@ export function createPrinter(printerOptions: PrinterOptions = {}, handlers: Pri emitList(node, node.heritageClauses, ListFormat.HeritageClauses); writeSpace(); writePunctuation("{"); + + pushNameGenerationScope(node); + forEach(node.members, generateMemberNames); emitList(node, node.members, ListFormat.InterfaceMembers); - writePunctuation("}"); + popNameGenerationScope(node); - popPrivateNameGenerationScope(); + writePunctuation("}"); } function emitTypeAliasDeclaration(node: TypeAliasDeclaration) { @@ -4488,7 +4495,7 @@ export function createPrinter(printerOptions: PrinterOptions = {}, handlers: Pri emitList(parentNode, parameters, ListFormat.Parameters); } - function canEmitSimpleArrowHead(parentNode: FunctionTypeNode | ArrowFunction, parameters: NodeArray) { + function canEmitSimpleArrowHead(parentNode: FunctionTypeNode | ConstructorTypeNode | ArrowFunction, parameters: NodeArray) { const parameter = singleOrUndefined(parameters); return parameter && parameter.pos === parentNode.pos // may not have parsed tokens between parent and parameter @@ -4504,7 +4511,7 @@ export function createPrinter(printerOptions: PrinterOptions = {}, handlers: Pri && isIdentifier(parameter.name); // parameter name must be identifier } - function emitParametersForArrow(parentNode: FunctionTypeNode | ArrowFunction, parameters: NodeArray) { + function emitParametersForArrow(parentNode: FunctionTypeNode | ConstructorTypeNode | ArrowFunction, parameters: NodeArray) { if (canEmitSimpleArrowHead(parentNode, parameters)) { emitList(parentNode, parameters, ListFormat.Parameters & ~ListFormat.Parenthesis); } @@ -5172,9 +5179,14 @@ export function createPrinter(printerOptions: PrinterOptions = {}, handlers: Pri * Push a new name generation scope. */ function pushNameGenerationScope(node: Node | undefined) { + privateNameTempFlagsStack.push(privateNameTempFlags); + privateNameTempFlags = TempFlags.Auto; + reservedPrivateNamesStack.push(reservedPrivateNames); + if (node && getEmitFlags(node) & EmitFlags.ReuseTempVariableScope) { return; } + tempFlagsStack.push(tempFlags); tempFlags = TempFlags.Auto; formattedNameTempFlagsStack.push(formattedNameTempFlags); @@ -5186,9 +5198,13 @@ export function createPrinter(printerOptions: PrinterOptions = {}, handlers: Pri * Pop the current name generation scope. */ function popNameGenerationScope(node: Node | undefined) { + privateNameTempFlags = privateNameTempFlagsStack.pop()!; + reservedPrivateNames = reservedPrivateNamesStack.pop(); + if (node && getEmitFlags(node) & EmitFlags.ReuseTempVariableScope) { return; } + tempFlags = tempFlagsStack.pop()!; formattedNameTempFlags = formattedNameTempFlagsStack.pop(); reservedNames = reservedNamesStack.pop(); @@ -5201,24 +5217,6 @@ export function createPrinter(printerOptions: PrinterOptions = {}, handlers: Pri reservedNames.add(name); } - /** - * Push a new member name generation scope. - */ - function pushPrivateNameGenerationScope(newPrivateNameTempFlags: TempFlags, newReservedMemberNames: Set | undefined) { - privateNameTempFlagsStack.push(privateNameTempFlags); - privateNameTempFlags = newPrivateNameTempFlags; - reservedPrivateNamesStack.push(reservedNames); - reservedPrivateNames = newReservedMemberNames; - } - - /** - * Pop the current member name generation scope. - */ - function popPrivateNameGenerationScope() { - privateNameTempFlags = privateNameTempFlagsStack.pop()!; - reservedPrivateNames = reservedPrivateNamesStack.pop(); - } - function reservePrivateNameInNestedScopes(name: string) { if (!reservedPrivateNames || reservedPrivateNames === lastOrUndefined(reservedPrivateNamesStack)) { reservedPrivateNames = new Set(); @@ -5318,7 +5316,9 @@ export function createPrinter(printerOptions: PrinterOptions = {}, handlers: Pri case SyntaxKind.PropertyAssignment: case SyntaxKind.ShorthandPropertyAssignment: case SyntaxKind.PropertyDeclaration: + case SyntaxKind.PropertySignature: case SyntaxKind.MethodDeclaration: + case SyntaxKind.MethodSignature: case SyntaxKind.GetAccessor: case SyntaxKind.SetAccessor: generateNameIfNeeded((node as NamedDeclaration).name); @@ -5372,7 +5372,30 @@ export function createPrinter(printerOptions: PrinterOptions = {}, handlers: Pri } function isReservedName(name: string, privateName: boolean): boolean { - return privateName ? !!reservedPrivateNames?.has(name) : !!reservedNames?.has(name); + let set: Set | undefined; + let stack: (Set | undefined)[]; + if (privateName) { + set = reservedPrivateNames; + stack = reservedPrivateNamesStack; + } + else { + set = reservedNames; + stack = reservedNamesStack; + } + + if (set?.has(name)) { + return true; + } + for (let i = stack.length - 1; i >= 0; i--) { + if (set === stack[i]) { + continue; + } + set = stack[i]; + if (set?.has(name)) { + return true; + } + } + return false; } /** diff --git a/src/compiler/executeCommandLine.ts b/src/compiler/executeCommandLine.ts index 4053523f3565b..f9b1400b4daad 100644 --- a/src/compiler/executeCommandLine.ts +++ b/src/compiler/executeCommandLine.ts @@ -86,8 +86,8 @@ import { WatchCompilerHost, WatchOfConfigFile, WatchOptions, -} from "./_namespaces/ts"; -import * as performance from "./performance"; +} from "./_namespaces/ts.js"; +import * as performance from "./performance.js"; interface Statistic { name: string; diff --git a/src/compiler/expressionToTypeNode.ts b/src/compiler/expressionToTypeNode.ts index a9f64a4919bc8..e1a9c0548a77e 100644 --- a/src/compiler/expressionToTypeNode.ts +++ b/src/compiler/expressionToTypeNode.ts @@ -14,10 +14,12 @@ import { Expression, forEachReturnStatement, FunctionExpression, + FunctionFlags, FunctionLikeDeclaration, GetAccessorDeclaration, getEffectiveReturnTypeNode, getEffectiveTypeAnnotationNode, + getFunctionFlags, getJSDocTypeAssertionType, getStrictOptionValue, HasInferredType, @@ -26,12 +28,10 @@ import { isBlock, isConstTypeReference, isDeclarationReadonly, - isEntityNameExpression, isGetAccessor, isIdentifier, isJSDocTypeAssertion, isKeyword, - isParameter, isPrimitiveLiteralValue, isShorthandPropertyAssignment, isSpreadAssignment, @@ -55,7 +55,6 @@ import { PropertySignature, SetAccessorDeclaration, SignatureDeclaration, - SymbolAccessibility, SyntacticTypeNodeBuilderContext, SyntacticTypeNodeBuilderResolver, SyntaxKind, @@ -64,7 +63,7 @@ import { TypeParameterDeclaration, UnionTypeNode, VariableDeclaration, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; /** @internal */ export function createSyntacticTypeNodeBuilder(options: CompilerOptions, resolver: SyntacticTypeNodeBuilderResolver) { @@ -76,8 +75,8 @@ export function createSyntacticTypeNodeBuilder(options: CompilerOptions, resolve serializeReturnTypeForSignature, serializeTypeOfExpression, }; - function serializeExistingTypeAnnotation(type: TypeNode | undefined) { - return type === undefined ? undefined : !type.parent || !isParameter(type.parent) || !resolver.requiresAddingImplicitUndefined(type.parent) || canAddUndefined(type); + function serializeExistingTypeAnnotation(type: TypeNode | undefined, addUndefined?: boolean) { + return type !== undefined && (!addUndefined || (type && canAddUndefined(type))) ? true : undefined; } function serializeTypeOfExpression(expr: Expression, context: SyntacticTypeNodeBuilderContext, addUndefined?: boolean, preserveLiterals?: boolean) { return typeFromExpression(expr, context, /*isConstContext*/ false, addUndefined, preserveLiterals) ?? inferExpressionType(expr, context); @@ -181,12 +180,12 @@ export function createSyntacticTypeNodeBuilder(options: CompilerOptions, resolve const declaredType = getEffectiveTypeAnnotationNode(node); const addUndefined = resolver.requiresAddingImplicitUndefined(node); let resultType; - if (!addUndefined) { - if (declaredType) { - return serializeExistingTypeAnnotation(declaredType); - } + if (declaredType) { + resultType = serializeExistingTypeAnnotation(declaredType, addUndefined); + } + else { if (node.initializer && isIdentifier(node.name)) { - resultType = typeFromExpression(node.initializer, context); + resultType = typeFromExpression(node.initializer, context, /*isConstContext*/ undefined, addUndefined); } } return resultType ?? inferTypeOfDeclaration(node, context); @@ -351,7 +350,7 @@ export function createSyntacticTypeNodeBuilder(options: CompilerOptions, resolve } else if (prop.name.kind === SyntaxKind.ComputedPropertyName) { const expression = prop.name.expression; - if (!isPrimitiveLiteralValue(expression, /*includeBigInt*/ false) && !isEntityNameExpression(expression)) { + if (!isPrimitiveLiteralValue(expression, /*includeBigInt*/ false)) { context.tracker.reportInferenceFallback(prop.name); result = false; } @@ -367,17 +366,6 @@ export function createSyntacticTypeNodeBuilder(options: CompilerOptions, resolve Debug.assert(!isShorthandPropertyAssignment(prop) && !isSpreadAssignment(prop)); const name = prop.name; - if (prop.name.kind === SyntaxKind.ComputedPropertyName) { - if (!resolver.isNonNarrowedBindableName(prop.name)) { - context.tracker.reportInferenceFallback(prop.name); - } - else if (isEntityNameExpression(prop.name.expression)) { - const visibilityResult = resolver.isEntityNameVisible(prop.name.expression, context.enclosingDeclaration!, /*shouldComputeAliasToMakeVisible*/ false); - if (visibilityResult.accessibility !== SymbolAccessibility.Accessible) { - context.tracker.reportInferenceFallback(prop.name); - } - } - } switch (prop.kind) { case SyntaxKind.MethodDeclaration: canInferObjectLiteral = !!typeFromObjectLiteralMethod(prop, name, context) && canInferObjectLiteral; @@ -482,6 +470,8 @@ export function createSyntacticTypeNodeBuilder(options: CompilerOptions, resolve function typeFromSingleReturnExpression(declaration: FunctionLikeDeclaration | undefined, context: SyntacticTypeNodeBuilderContext): boolean | undefined { let candidateExpr: Expression | undefined; if (declaration && !nodeIsMissing(declaration.body)) { + if (getFunctionFlags(declaration) & FunctionFlags.AsyncGenerator) return undefined; + const body = declaration.body; if (body && isBlock(body)) { forEachReturnStatement(body, s => { diff --git a/src/compiler/factory/baseNodeFactory.ts b/src/compiler/factory/baseNodeFactory.ts index 9ea81cdf5632b..4043f1a8931a1 100644 --- a/src/compiler/factory/baseNodeFactory.ts +++ b/src/compiler/factory/baseNodeFactory.ts @@ -2,7 +2,7 @@ import { Node, objectAllocator, SyntaxKind, -} from "../_namespaces/ts"; +} from "../_namespaces/ts.js"; /** * A `BaseNodeFactory` is an abstraction over an `ObjectAllocator` that handles caching `Node` constructors diff --git a/src/compiler/factory/emitHelpers.ts b/src/compiler/factory/emitHelpers.ts index 0937915e75b16..365dc03925d07 100644 --- a/src/compiler/factory/emitHelpers.ts +++ b/src/compiler/factory/emitHelpers.ts @@ -35,7 +35,7 @@ import { TextRange, TransformationContext, UnscopedEmitHelper, -} from "../_namespaces/ts"; +} from "../_namespaces/ts.js"; /** @internal */ export const enum PrivateIdentifierKind { @@ -1395,7 +1395,7 @@ export const addDisposableResourceHelper: UnscopedEmitHelper = { var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) { if (value !== null && value !== void 0) { if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected."); - var dispose; + var dispose, inner; if (async) { if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined."); dispose = value[Symbol.asyncDispose]; @@ -1403,8 +1403,10 @@ export const addDisposableResourceHelper: UnscopedEmitHelper = { if (dispose === void 0) { if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined."); dispose = value[Symbol.dispose]; + if (async) inner = dispose; } if (typeof dispose !== "function") throw new TypeError("Object not disposable."); + if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } }; env.stack.push({ value: value, dispose: dispose, async: async }); } else if (async) { diff --git a/src/compiler/factory/emitNode.ts b/src/compiler/factory/emitNode.ts index fba507d899ea7..9d649979b8f24 100644 --- a/src/compiler/factory/emitNode.ts +++ b/src/compiler/factory/emitNode.ts @@ -26,7 +26,7 @@ import { TextRange, TypeNode, TypeParameterDeclaration, -} from "../_namespaces/ts"; +} from "../_namespaces/ts.js"; /** * Associates a node with the current transformation, initializing diff --git a/src/compiler/factory/nodeChildren.ts b/src/compiler/factory/nodeChildren.ts index aa41f5955fb69..79e8563f6f593 100644 --- a/src/compiler/factory/nodeChildren.ts +++ b/src/compiler/factory/nodeChildren.ts @@ -2,7 +2,7 @@ import { emptyArray, isNodeKind, Node, -} from "../_namespaces/ts"; +} from "../_namespaces/ts.js"; const nodeChildren = new WeakMap(); diff --git a/src/compiler/factory/nodeConverters.ts b/src/compiler/factory/nodeConverters.ts index 33ab7b4b598ad..14ef80f2ae379 100644 --- a/src/compiler/factory/nodeConverters.ts +++ b/src/compiler/factory/nodeConverters.ts @@ -35,7 +35,7 @@ import { setStartsOnNewLine, setTextRange, SyntaxKind, -} from "../_namespaces/ts"; +} from "../_namespaces/ts.js"; /** @internal */ export function createNodeConverters(factory: NodeFactory): NodeConverters { diff --git a/src/compiler/factory/nodeFactory.ts b/src/compiler/factory/nodeFactory.ts index 78e3e3e5fd5ef..9fcd2a4acf7c1 100644 --- a/src/compiler/factory/nodeFactory.ts +++ b/src/compiler/factory/nodeFactory.ts @@ -456,7 +456,7 @@ import { WhileStatement, WithStatement, YieldExpression, -} from "../_namespaces/ts"; +} from "../_namespaces/ts.js"; let nextAutoGenerateId = 0; diff --git a/src/compiler/factory/nodeTests.ts b/src/compiler/factory/nodeTests.ts index 012616ac5dc70..cd31b63f81843 100644 --- a/src/compiler/factory/nodeTests.ts +++ b/src/compiler/factory/nodeTests.ts @@ -227,7 +227,7 @@ import { WhileStatement, WithStatement, YieldExpression, -} from "../_namespaces/ts"; +} from "../_namespaces/ts.js"; // Literals diff --git a/src/compiler/factory/parenthesizerRules.ts b/src/compiler/factory/parenthesizerRules.ts index b90cc220fb616..3a67604847438 100644 --- a/src/compiler/factory/parenthesizerRules.ts +++ b/src/compiler/factory/parenthesizerRules.ts @@ -48,7 +48,7 @@ import { SyntaxKind, TypeNode, UnaryExpression, -} from "../_namespaces/ts"; +} from "../_namespaces/ts.js"; /** @internal */ export function createParenthesizerRules(factory: NodeFactory): ParenthesizerRules { diff --git a/src/compiler/factory/utilities.ts b/src/compiler/factory/utilities.ts index 731c13d78ec60..502ffd17db5e0 100644 --- a/src/compiler/factory/utilities.ts +++ b/src/compiler/factory/utilities.ts @@ -180,7 +180,7 @@ import { TransformFlags, TypeNode, WrappedExpression, -} from "../_namespaces/ts"; +} from "../_namespaces/ts.js"; // Compound nodes diff --git a/src/compiler/factory/utilitiesPublic.ts b/src/compiler/factory/utilitiesPublic.ts index 5380a4a1604e0..be395a64523a4 100644 --- a/src/compiler/factory/utilitiesPublic.ts +++ b/src/compiler/factory/utilitiesPublic.ts @@ -5,7 +5,7 @@ import { setTextRangePosEnd, SyntaxKind, TextRange, -} from "../_namespaces/ts"; +} from "../_namespaces/ts.js"; export function setTextRange(range: T, location: TextRange | undefined): T { return location ? setTextRangePosEnd(range, location.pos, location.end) : range; diff --git a/src/compiler/moduleNameResolver.ts b/src/compiler/moduleNameResolver.ts index 699e902dab5a6..9ede133aae270 100644 --- a/src/compiler/moduleNameResolver.ts +++ b/src/compiler/moduleNameResolver.ts @@ -108,7 +108,7 @@ import { version, versionMajorMinor, VersionRange, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; /** @internal */ export function trace(host: ModuleResolutionHost, message: DiagnosticMessage, ...args: any[]): void { diff --git a/src/compiler/moduleSpecifiers.ts b/src/compiler/moduleSpecifiers.ts index cf3eeca0488f8..6e21b0678a9c1 100644 --- a/src/compiler/moduleSpecifiers.ts +++ b/src/compiler/moduleSpecifiers.ts @@ -107,6 +107,7 @@ import { removeTrailingDirectorySeparator, replaceFirstStar, ResolutionMode, + ResolvedModuleSpecifierInfo, resolveModuleName, resolvePath, ScriptKind, @@ -124,7 +125,7 @@ import { tryParsePatterns, TypeChecker, UserPreferences, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; // Used by importFixes, getEditsForFileRename, and declaration emit to synthesize import module specifiers. @@ -287,14 +288,15 @@ export function tryGetModuleSpecifiersFromCache( host: ModuleSpecifierResolutionHost, userPreferences: UserPreferences, options: ModuleSpecifierOptions = {}, -): readonly string[] | undefined { - return tryGetModuleSpecifiersFromCacheWorker( +): ModuleSpecifierResult | undefined { + const result = tryGetModuleSpecifiersFromCacheWorker( moduleSymbol, importingSourceFile, host, userPreferences, options, - )[0]; + ); + return result[1] && { kind: result[0], moduleSpecifiers: result[1], computedWithoutCache: false }; } function tryGetModuleSpecifiersFromCacheWorker( @@ -303,7 +305,7 @@ function tryGetModuleSpecifiersFromCacheWorker( host: ModuleSpecifierResolutionHost, userPreferences: UserPreferences, options: ModuleSpecifierOptions = {}, -): readonly [specifiers?: readonly string[], moduleFile?: SourceFile, modulePaths?: readonly ModulePath[], cache?: ModuleSpecifierCache] { +): readonly [kind?: ModuleSpecifierResult["kind"], specifiers?: readonly string[], moduleFile?: SourceFile, modulePaths?: readonly ModulePath[], cache?: ModuleSpecifierCache] { const moduleSourceFile = getSourceFileOfModule(moduleSymbol); if (!moduleSourceFile) { return emptyArray as []; @@ -311,7 +313,7 @@ function tryGetModuleSpecifiersFromCacheWorker( const cache = host.getModuleSpecifierCache?.(); const cached = cache?.get(importingSourceFile.path, moduleSourceFile.path, userPreferences, options); - return [cached?.moduleSpecifiers, moduleSourceFile, cached?.modulePaths, cache]; + return [cached?.kind, cached?.moduleSpecifiers, moduleSourceFile, cached?.modulePaths, cache]; } /** @@ -340,6 +342,13 @@ export function getModuleSpecifiers( ).moduleSpecifiers; } +/** @internal */ +export interface ModuleSpecifierResult { + kind: ResolvedModuleSpecifierInfo["kind"]; + moduleSpecifiers: readonly string[]; + computedWithoutCache: boolean; +} + /** @internal */ export function getModuleSpecifiersWithCacheInfo( moduleSymbol: Symbol, @@ -350,21 +359,21 @@ export function getModuleSpecifiersWithCacheInfo( userPreferences: UserPreferences, options: ModuleSpecifierOptions = {}, forAutoImport: boolean, -): { moduleSpecifiers: readonly string[]; computedWithoutCache: boolean; } { +): ModuleSpecifierResult { let computedWithoutCache = false; const ambient = tryGetModuleNameFromAmbientModule(moduleSymbol, checker); - if (ambient) return { moduleSpecifiers: [ambient], computedWithoutCache }; + if (ambient) return { kind: "ambient", moduleSpecifiers: [ambient], computedWithoutCache }; // eslint-disable-next-line prefer-const - let [specifiers, moduleSourceFile, modulePaths, cache] = tryGetModuleSpecifiersFromCacheWorker( + let [kind, specifiers, moduleSourceFile, modulePaths, cache] = tryGetModuleSpecifiersFromCacheWorker( moduleSymbol, importingSourceFile, host, userPreferences, options, ); - if (specifiers) return { moduleSpecifiers: specifiers, computedWithoutCache }; - if (!moduleSourceFile) return { moduleSpecifiers: emptyArray, computedWithoutCache }; + if (specifiers) return { kind, moduleSpecifiers: specifiers, computedWithoutCache }; + if (!moduleSourceFile) return { kind: undefined, moduleSpecifiers: emptyArray, computedWithoutCache }; computedWithoutCache = true; modulePaths ||= getAllModulePathsWorker(getInfo(importingSourceFile.fileName, host), moduleSourceFile.originalFileName, host, compilerOptions, options); @@ -377,8 +386,8 @@ export function getModuleSpecifiersWithCacheInfo( options, forAutoImport, ); - cache?.set(importingSourceFile.path, moduleSourceFile.path, userPreferences, options, modulePaths, result); - return { moduleSpecifiers: result, computedWithoutCache }; + cache?.set(importingSourceFile.path, moduleSourceFile.path, userPreferences, options, result.kind, modulePaths, result.moduleSpecifiers); + return result; } /** @internal */ @@ -409,7 +418,7 @@ function computeModuleSpecifiers( userPreferences: UserPreferences, options: ModuleSpecifierOptions = {}, forAutoImport: boolean, -): readonly string[] { +): ModuleSpecifierResult { const info = getInfo(importingSourceFile.fileName, host); const preferences = getModuleSpecifierPreferences(userPreferences, host, compilerOptions, importingSourceFile); const existingSpecifier = isFullSourceFile(importingSourceFile) && forEach(modulePaths, modulePath => @@ -432,8 +441,7 @@ function computeModuleSpecifiers( }, )); if (existingSpecifier) { - const moduleSpecifiers = [existingSpecifier]; - return moduleSpecifiers; + return { kind: undefined, moduleSpecifiers: [existingSpecifier], computedWithoutCache: true }; } const importedFileIsInNodeModules = some(modulePaths, p => p.isInNodeModules); @@ -455,7 +463,7 @@ function computeModuleSpecifiers( if (specifier && modulePath.isRedirect) { // If we got a specifier for a redirect, it was a bare package specifier (e.g. "@foo/bar", // not "@foo/bar/path/to/file"). No other specifier will be this good, so stop looking. - return nodeModulesSpecifiers!; + return { kind: "node_modules", moduleSpecifiers: nodeModulesSpecifiers!, computedWithoutCache: true }; } if (!specifier) { @@ -501,10 +509,10 @@ function computeModuleSpecifiers( } } - return pathsSpecifiers?.length ? pathsSpecifiers : - redirectPathsSpecifiers?.length ? redirectPathsSpecifiers : - nodeModulesSpecifiers?.length ? nodeModulesSpecifiers : - Debug.checkDefined(relativeSpecifiers); + return pathsSpecifiers?.length ? { kind: "paths", moduleSpecifiers: pathsSpecifiers, computedWithoutCache: true } : + redirectPathsSpecifiers?.length ? { kind: "redirect", moduleSpecifiers: redirectPathsSpecifiers, computedWithoutCache: true } : + nodeModulesSpecifiers?.length ? { kind: "node_modules", moduleSpecifiers: nodeModulesSpecifiers, computedWithoutCache: true } : + { kind: "relative", moduleSpecifiers: Debug.checkDefined(relativeSpecifiers), computedWithoutCache: true }; } interface Info { diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index 80c63bbe58964..56b958bcf3b74 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -62,7 +62,6 @@ import { DeleteExpression, Diagnostic, DiagnosticArguments, - DiagnosticCategory, DiagnosticMessage, Diagnostics, DiagnosticWithDetachedLocation, @@ -397,8 +396,8 @@ import { WhileStatement, WithStatement, YieldExpression, -} from "./_namespaces/ts"; -import * as performance from "./_namespaces/ts.performance"; +} from "./_namespaces/ts.js"; +import * as performance from "./_namespaces/ts.performance.js"; const enum SignatureFlags { None = 0, @@ -2144,11 +2143,7 @@ namespace Parser { // Don't report another error if it would just be at the same position as the last error. const lastError = lastOrUndefined(parseDiagnostics); let result: DiagnosticWithDetachedLocation | undefined; - if (message.category === DiagnosticCategory.Message && lastError && start === lastError.start && length === lastError.length) { - result = createDetachedDiagnostic(fileName, sourceText, start, length, message, ...args); - addRelatedInfo(lastError, result); - } - else if (!lastError || start !== lastError.start) { + if (!lastError || start !== lastError.start) { result = createDetachedDiagnostic(fileName, sourceText, start, length, message, ...args); parseDiagnostics.push(result); } diff --git a/src/compiler/path.ts b/src/compiler/path.ts index 8c7f75f816a8b..cbafbb785147f 100644 --- a/src/compiler/path.ts +++ b/src/compiler/path.ts @@ -16,7 +16,7 @@ import { Path, some, startsWith, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; /** * Internally, we represent paths as strings with '/' as the directory separator. diff --git a/src/compiler/performance.ts b/src/compiler/performance.ts index 40b333041e636..6784d1d0f7dce 100644 --- a/src/compiler/performance.ts +++ b/src/compiler/performance.ts @@ -7,7 +7,7 @@ import { System, timestamp, tryGetNativePerformanceHooks, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; /** Performance measurements for the compiler. */ diff --git a/src/compiler/performanceCore.ts b/src/compiler/performanceCore.ts index 9493115ea1ed3..abff50eb8aae6 100644 --- a/src/compiler/performanceCore.ts +++ b/src/compiler/performanceCore.ts @@ -1,4 +1,4 @@ -import { isNodeLikeSystem } from "./_namespaces/ts"; +import { isNodeLikeSystem } from "./_namespaces/ts.js"; // The following definitions provide the minimum compatible support for the Web Performance User Timings API // between browsers and NodeJS: diff --git a/src/compiler/program.ts b/src/compiler/program.ts index a89ae1f365f1d..0402c1bba985d 100644 --- a/src/compiler/program.ts +++ b/src/compiler/program.ts @@ -15,6 +15,7 @@ import { changesAffectingProgramStructure, changesAffectModuleResolution, combinePaths, + commandLineOptionOfCustomType, CommentDirective, CommentDirectivesMap, compareDataObjects, @@ -67,6 +68,7 @@ import { EmitHost, emitModuleKindIsNonNodeESM, EmitOnly, + emitResolverSkipsTypeChecking, EmitResult, emptyArray, ensureTrailingDirectorySeparator, @@ -86,6 +88,7 @@ import { fileIncludeReasonToDiagnostics, FilePreprocessingDiagnostics, FilePreprocessingDiagnosticsKind, + FilePreprocessingLibReferenceDiagnostic, FileReference, filter, find, @@ -326,8 +329,8 @@ import { WriteFileCallback, WriteFileCallbackData, writeFileEnsuringDirectories, -} from "./_namespaces/ts"; -import * as performance from "./_namespaces/ts.performance"; +} from "./_namespaces/ts.js"; +import * as performance from "./_namespaces/ts.performance.js"; export function findConfigFile(searchPath: string, fileExists: (fileName: string) => boolean, configName = "tsconfig.json"): string | undefined { return forEachAncestorDirectory(searchPath, ancestor => { @@ -1056,8 +1059,7 @@ export function createModuleResolutionLoader( } function getTypeReferenceResolutionName(entry: T) { - // We lower-case all type references because npm automatically lowercases all packages. See GH#9824. - return !isString(entry) ? toFileNameLowerCase(entry.fileName) : entry; + return !isString(entry) ? entry.fileName : entry; } const typeReferenceResolutionNameAndModeGetter: ResolutionNameAndModeGetter = { @@ -1190,10 +1192,13 @@ export function getLibraryNameFromLibFileName(libFileName: string) { return "@typescript/lib-" + path; } +function getLibNameFromLibReference(libReference: FileReference) { + return toFileNameLowerCase(libReference.fileName); +} + function getLibFileNameFromLibReference(libReference: FileReference) { - const libName = toFileNameLowerCase(libReference.fileName); - const libFileName = libMap.get(libName); - return { libName, libFileName }; + const libName = getLibNameFromLibReference(libReference); + return libMap.get(libName); } interface DiagnosticCache { @@ -1238,11 +1243,11 @@ export function isReferenceFileLocation(location: ReferenceFileLocation | Synthe export function getReferencedFileLocation(program: Program, ref: ReferencedFile): ReferenceFileLocation | SyntheticReferenceFileLocation { const file = Debug.checkDefined(program.getSourceFileByPath(ref.file)); const { kind, index } = ref; - let pos: number | undefined, end: number | undefined, packageId: PackageId | undefined, resolutionMode: FileReference["resolutionMode"] | undefined; + let pos: number | undefined, end: number | undefined, packageId: PackageId | undefined; switch (kind) { case FileIncludeKind.Import: const importLiteral = getModuleNameStringLiteralAt(file, index); - packageId = program.getResolvedModule(file, importLiteral.text, program.getModeForUsageLocation(file, importLiteral))?.resolvedModule?.packageId; + packageId = program.getResolvedModuleFromModuleSpecifier(importLiteral, file)?.resolvedModule?.packageId; if (importLiteral.pos === -1) return { file, packageId, text: importLiteral.text }; pos = skipTrivia(file.text, importLiteral.pos); end = importLiteral.end; @@ -1251,8 +1256,8 @@ export function getReferencedFileLocation(program: Program, ref: ReferencedFile) ({ pos, end } = file.referencedFiles[index]); break; case FileIncludeKind.TypeReferenceDirective: - ({ pos, end, resolutionMode } = file.typeReferenceDirectives[index]); - packageId = program.getResolvedTypeReferenceDirective(file, toFileNameLowerCase(file.typeReferenceDirectives[index].fileName), resolutionMode || file.impliedNodeFormat)?.resolvedTypeReferenceDirective?.packageId; + ({ pos, end } = file.typeReferenceDirectives[index]); + packageId = program.getResolvedTypeReferenceDirectiveFromTypeReferenceDirective(file.typeReferenceDirectives[index], file)?.resolvedTypeReferenceDirective?.packageId; break; case FileIncludeKind.LibReferenceDirective: ({ pos, end } = file.libReferenceDirectives[index]); @@ -1499,6 +1504,16 @@ export const plainJSErrors = new Set([ Diagnostics.This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value.code, ]); +interface LazyProgramDiagnosticExplainingFile { + file: SourceFile; + diagnostic: DiagnosticMessage; + args: DiagnosticArguments; +} +interface FileReasonToChainCache { + fileIncludeReasonDetails: DiagnosticMessageChain | undefined; + redirectInfo: DiagnosticMessageChain[] | undefined; + details?: DiagnosticMessageChain[]; +} /** * Determine if source file needs to be re-created even if its text hasn't changed */ @@ -1550,6 +1565,13 @@ export function createProgram(rootNamesOrOptions: readonly string[] | CreateProg const createProgramOptions = isArray(rootNamesOrOptions) ? createCreateProgramOptions(rootNamesOrOptions, _options!, _host, _oldProgram, _configFileParsingDiagnostics) : rootNamesOrOptions; // TODO: GH#18217 const { rootNames, options, configFileParsingDiagnostics, projectReferences, typeScriptVersion } = createProgramOptions; let { oldProgram } = createProgramOptions; + for (const option of commandLineOptionOfCustomType) { + if (hasProperty(options, option.name)) { + if (typeof options[option.name] === "string") { + throw new Error(`${option.name} is a string value; tsconfig JSON must be parsed with parseJsonSourceFileConfigFileContent or getParsedCommandLineOfConfigFile before passing to createProgram`); + } + } + } const reportInvalidIgnoreDeprecations = memoize(() => createOptionValueDiagnostic("ignoreDeprecations", Diagnostics.Invalid_value_for_ignoreDeprecations)); @@ -1562,10 +1584,12 @@ export function createProgram(rootNamesOrOptions: readonly string[] | CreateProg let classifiableNames: Set<__String>; const ambientModuleNameToUnmodifiedFileName = new Map(); let fileReasons = createMultiMap(); + let filesWithReferencesProcessed: Set | undefined; + let fileReasonsToChain: Map | undefined; + let reasonToRelatedInfo: Map | undefined; const cachedBindAndCheckDiagnosticsForFile: DiagnosticCache = {}; const cachedDeclarationDiagnosticsForFile: DiagnosticCache = {}; - let resolvedTypeReferenceDirectives = createModeAwareCache(); let fileProcessingDiagnostics: FilePreprocessingDiagnostics[] | undefined; let automaticTypeDirectiveNames: string[] | undefined; let automaticTypeDirectiveResolutions: ModeAwareCache; @@ -1612,6 +1636,7 @@ export function createProgram(rootNamesOrOptions: readonly string[] | CreateProg * Otherwise fileProcessingDiagnostics is correct locations so that the diagnostics can be reported in all structure use scenarios */ const programDiagnostics = createDiagnosticCollection(); + let lazyProgramDiagnosticExplainingFile: LazyProgramDiagnosticExplainingFile[] | undefined = []; const currentDirectory = host.getCurrentDirectory(); const supportedExtensions = getSupportedExtensions(options); const supportedExtensionsWithJsonIfResolveJsonModule = getSupportedExtensionsWithJsonIfResolveJsonModule(options, supportedExtensions); @@ -1858,6 +1883,7 @@ export function createProgram(rootNamesOrOptions: readonly string[] | CreateProg files = stableSort(processingDefaultLibFiles, compareDefaultLibFiles).concat(processingOtherFiles); processingDefaultLibFiles = undefined; processingOtherFiles = undefined; + filesWithReferencesProcessed = undefined; } // Release any files we have acquired in the old program but are @@ -1934,7 +1960,6 @@ export function createProgram(rootNamesOrOptions: readonly string[] | CreateProg getInstantiationCount: () => getTypeChecker().getInstantiationCount(), getRelationCacheSizes: () => getTypeChecker().getRelationCacheSizes(), getFileProcessingDiagnostics: () => fileProcessingDiagnostics, - getResolvedTypeReferenceDirectives: () => resolvedTypeReferenceDirectives, getAutomaticTypeDirectiveNames: () => automaticTypeDirectiveNames!, getAutomaticTypeDirectiveResolutions: () => automaticTypeDirectiveResolutions, isSourceFileFromExternalLibrary, @@ -1953,6 +1978,7 @@ export function createProgram(rootNamesOrOptions: readonly string[] | CreateProg getResolvedModule, getResolvedModuleFromModuleSpecifier, getResolvedTypeReferenceDirective, + getResolvedTypeReferenceDirectiveFromTypeReferenceDirective, forEachResolvedModule, forEachResolvedTypeReferenceDirective, getCurrentPackagesMap: () => packageMap, @@ -1988,21 +2014,6 @@ export function createProgram(rootNamesOrOptions: readonly string[] | CreateProg onProgramCreateComplete(); - // Add file processingDiagnostics - fileProcessingDiagnostics?.forEach(diagnostic => { - switch (diagnostic.kind) { - case FilePreprocessingDiagnosticsKind.FilePreprocessingFileExplainingDiagnostic: - return programDiagnostics.add(createDiagnosticExplainingFile(diagnostic.file && getSourceFileByPath(diagnostic.file), diagnostic.fileProcessingReason, diagnostic.diagnostic, diagnostic.args || emptyArray)); - case FilePreprocessingDiagnosticsKind.FilePreprocessingReferencedDiagnostic: - const { file, pos, end } = getReferencedFileLocation(program, diagnostic.reason) as ReferenceFileLocation; - return programDiagnostics.add(createFileDiagnostic(file, Debug.checkDefined(pos), Debug.checkDefined(end) - pos, diagnostic.diagnostic, ...diagnostic.args || emptyArray)); - case FilePreprocessingDiagnosticsKind.ResolutionDiagnostics: - return diagnostic.diagnostics.forEach(d => programDiagnostics.add(d)); - default: - Debug.assertNever(diagnostic); - } - }); - verifyCompilerOptions(); performance.mark("afterProgram"); performance.measure("Program", "beforeProgram", "afterProgram"); @@ -2010,12 +2021,62 @@ export function createProgram(rootNamesOrOptions: readonly string[] | CreateProg return program; + function updateAndGetProgramDiagnostics() { + if (lazyProgramDiagnosticExplainingFile) { + // Add file processingDiagnostics + fileProcessingDiagnostics?.forEach(diagnostic => { + switch (diagnostic.kind) { + case FilePreprocessingDiagnosticsKind.FilePreprocessingFileExplainingDiagnostic: + return programDiagnostics.add( + createDiagnosticExplainingFile( + diagnostic.file && getSourceFileByPath(diagnostic.file), + diagnostic.fileProcessingReason, + diagnostic.diagnostic, + diagnostic.args || emptyArray, + ), + ); + case FilePreprocessingDiagnosticsKind.FilePreprocessingLibReferenceDiagnostic: + return programDiagnostics.add(filePreprocessingLibreferenceDiagnostic(diagnostic)); + case FilePreprocessingDiagnosticsKind.ResolutionDiagnostics: + return diagnostic.diagnostics.forEach(d => programDiagnostics.add(d)); + default: + Debug.assertNever(diagnostic); + } + }); + lazyProgramDiagnosticExplainingFile.forEach(({ file, diagnostic, args }) => + programDiagnostics.add( + createDiagnosticExplainingFile(file, /*fileProcessingReason*/ undefined, diagnostic, args), + ) + ); + lazyProgramDiagnosticExplainingFile = undefined; + fileReasonsToChain = undefined; + reasonToRelatedInfo = undefined; + } + return programDiagnostics; + } + + function filePreprocessingLibreferenceDiagnostic({ reason }: FilePreprocessingLibReferenceDiagnostic) { + const { file, pos, end } = getReferencedFileLocation(program, reason) as ReferenceFileLocation; + const libReference = file.libReferenceDirectives[reason.index]; + const libName = getLibNameFromLibReference(libReference); + const unqualifiedLibName = removeSuffix(removePrefix(libName, "lib."), ".d.ts"); + const suggestion = getSpellingSuggestion(unqualifiedLibName, libs, identity); + return createFileDiagnostic( + file, + Debug.checkDefined(pos), + Debug.checkDefined(end) - pos, + suggestion ? Diagnostics.Cannot_find_lib_definition_for_0_Did_you_mean_1 : Diagnostics.Cannot_find_lib_definition_for_0, + libName, + suggestion!, + ); + } + function getResolvedModule(file: SourceFile, moduleName: string, mode: ResolutionMode) { return resolvedModules?.get(file.path)?.get(moduleName, mode); } - function getResolvedModuleFromModuleSpecifier(moduleSpecifier: StringLiteralLike): ResolvedModuleWithFailedLookupLocations | undefined { - const sourceFile = getSourceFileOfNode(moduleSpecifier); + function getResolvedModuleFromModuleSpecifier(moduleSpecifier: StringLiteralLike, sourceFile?: SourceFile): ResolvedModuleWithFailedLookupLocations | undefined { + sourceFile ??= getSourceFileOfNode(moduleSpecifier); Debug.assertIsDefined(sourceFile, "`moduleSpecifier` must have a `SourceFile` ancestor. Use `program.getResolvedModule` instead to provide the containing file and resolution mode."); return getResolvedModule(sourceFile, moduleSpecifier.text, getModeForUsageLocation(sourceFile, moduleSpecifier)); } @@ -2024,6 +2085,10 @@ export function createProgram(rootNamesOrOptions: readonly string[] | CreateProg return resolvedTypeReferenceDirectiveNames?.get(file.path)?.get(typeDirectiveName, mode); } + function getResolvedTypeReferenceDirectiveFromTypeReferenceDirective(typeRef: FileReference, sourceFile: SourceFile) { + return getResolvedTypeReferenceDirective(sourceFile, typeRef.fileName, typeRef.resolutionMode || sourceFile.impliedNodeFormat); + } + function forEachResolvedModule( callback: (resolution: ResolvedModuleWithFailedLookupLocations, moduleName: string, mode: ResolutionMode, filePath: Path) => void, file?: SourceFile, @@ -2656,7 +2721,6 @@ export function createProgram(rootNamesOrOptions: readonly string[] | CreateProg files = newSourceFiles; fileReasons = oldProgram.getFileIncludeReasons(); fileProcessingDiagnostics = oldProgram.getFileProcessingDiagnostics(); - resolvedTypeReferenceDirectives = oldProgram.getResolvedTypeReferenceDirectives(); automaticTypeDirectiveNames = oldProgram.getAutomaticTypeDirectiveNames(); automaticTypeDirectiveResolutions = oldProgram.getAutomaticTypeDirectiveResolutions(); @@ -2807,18 +2871,27 @@ export function createProgram(rootNamesOrOptions: readonly string[] | CreateProg // This is because in the -out scenario all files need to be emitted, and therefore all // files need to be type checked. And the way to specify that all files need to be type // checked is to not pass the file to getEmitResolver. - const emitResolver = getTypeChecker().getEmitResolver(options.outFile ? undefined : sourceFile, cancellationToken); + const typeChecker = getTypeChecker(); + const emitResolver = typeChecker.getEmitResolver( + options.outFile ? undefined : sourceFile, + cancellationToken, + emitResolverSkipsTypeChecking(emitOnly, forceDtsEmit), + ); performance.mark("beforeEmit"); - const emitResult = emitFiles( - emitResolver, - getEmitHost(writeFileCallback), - sourceFile, - getTransformers(options, customTransformers, emitOnly), - emitOnly, - /*onlyBuildInfo*/ false, - forceDtsEmit, + const emitResult = typeChecker.runWithCancellationToken( + cancellationToken, + () => + emitFiles( + emitResolver, + getEmitHost(writeFileCallback), + sourceFile, + getTransformers(options, customTransformers, emitOnly), + emitOnly, + /*onlyBuildInfo*/ false, + forceDtsEmit, + ), ); performance.mark("afterEmit"); @@ -2873,7 +2946,7 @@ export function createProgram(rootNamesOrOptions: readonly string[] | CreateProg return emptyArray; } - const programDiagnosticsInFile = programDiagnostics.getDiagnostics(sourceFile.fileName); + const programDiagnosticsInFile = updateAndGetProgramDiagnostics().getDiagnostics(sourceFile.fileName); if (!sourceFile.commentDirectives?.length) { return programDiagnosticsInFile; } @@ -3319,16 +3392,16 @@ export function createProgram(rootNamesOrOptions: readonly string[] | CreateProg function getOptionsDiagnostics(): SortedReadonlyArray { return sortAndDeduplicateDiagnostics(concatenate( - programDiagnostics.getGlobalDiagnostics(), + updateAndGetProgramDiagnostics().getGlobalDiagnostics(), getOptionsDiagnosticsOfConfigFile(), )); } function getOptionsDiagnosticsOfConfigFile() { if (!options.configFile) return emptyArray; - let diagnostics = programDiagnostics.getDiagnostics(options.configFile.fileName); + let diagnostics = updateAndGetProgramDiagnostics().getDiagnostics(options.configFile.fileName); forEachResolvedProjectReference(resolvedRef => { - diagnostics = concatenate(diagnostics, programDiagnostics.getDiagnostics(resolvedRef.sourceFile.fileName)); + diagnostics = concatenate(diagnostics, updateAndGetProgramDiagnostics().getDiagnostics(resolvedRef.sourceFile.fileName)); }); return diagnostics; } @@ -3357,7 +3430,7 @@ export function createProgram(rootNamesOrOptions: readonly string[] | CreateProg function createSyntheticImport(text: string, file: SourceFile) { const externalHelpersModuleReference = factory.createStringLiteral(text); - const importDecl = factory.createImportDeclaration(/*modifiers*/ undefined, /*importClause*/ undefined, externalHelpersModuleReference, /*attributes*/ undefined); + const importDecl = factory.createImportDeclaration(/*modifiers*/ undefined, /*importClause*/ undefined, externalHelpersModuleReference); addInternalEmitFlags(importDecl, InternalEmitFlags.NeverApplyImportHelper); setParent(externalHelpersModuleReference, importDecl); setParent(importDecl, file); @@ -3382,11 +3455,11 @@ export function createProgram(rootNamesOrOptions: readonly string[] | CreateProg let ambientModules: string[] | undefined; // If we are importing helpers, we need to add a synthetic reference to resolve the - // helpers library. - if ( - (getIsolatedModules(options) || isExternalModuleFile) - && !file.isDeclarationFile - ) { + // helpers library. (A JavaScript file without `externalModuleIndicator` set might be + // a CommonJS module; `commonJsModuleIndicator` doesn't get set until the binder has + // run. We synthesize a helpers import for it just in case; it will never be used if + // the binder doesn't find and set a `commonJsModuleIndicator`.) + if (isJavaScriptFile || (!file.isDeclarationFile && (getIsolatedModules(options) || isExternalModule(file)))) { if (options.importHelpers) { // synthesize 'import "tslib"' declaration imports = [createSyntheticImport(externalHelpersModuleNameText, file)]; @@ -3506,7 +3579,7 @@ export function createProgram(rootNamesOrOptions: readonly string[] | CreateProg } function getLibFileFromReference(ref: FileReference) { - const { libFileName } = getLibFileNameFromLibReference(ref); + const libFileName = getLibFileNameFromLibReference(ref); const actualFileName = libFileName && resolvedLibReferences?.get(libFileName)?.actual; return actualFileName !== undefined ? getSourceFile(actualFileName) : undefined; } @@ -3658,10 +3731,10 @@ export function createProgram(rootNamesOrOptions: readonly string[] | CreateProg const originalFileName = fileName; if (filesByName.has(path)) { const file = filesByName.get(path); - addFileIncludeReason(file || undefined, reason); + const addedReason = addFileIncludeReason(file || undefined, reason, /*checkExisting*/ true); // try to check if we've already seen this file but with a different casing in path // NOTE: this only makes sense for case-insensitive file systems, and only on files which are not redirected - if (file && !(options.forceConsistentCasingInFileNames === false)) { + if (file && addedReason && !(options.forceConsistentCasingInFileNames === false)) { const checkedName = file.fileName; const isRedirect = toPath(checkedName) !== toPath(fileName); if (isRedirect) { @@ -3702,7 +3775,7 @@ export function createProgram(rootNamesOrOptions: readonly string[] | CreateProg } let redirectedPath: Path | undefined; - if (isReferencedFile(reason) && !useSourceOfProjectReferenceRedirect) { + if (!useSourceOfProjectReferenceRedirect) { const redirectProject = getProjectReferenceRedirectProject(fileName); if (redirectProject) { if (redirectProject.commandLine.options.outFile) { @@ -3738,7 +3811,7 @@ export function createProgram(rootNamesOrOptions: readonly string[] | CreateProg const dupFile = createRedirectedSourceFile(fileFromPackageId, file!, fileName, path, toPath(fileName), originalFileName, sourceFileOptions); redirectTargetsMap.add(fileFromPackageId.path, fileName); addFileToFilesByName(dupFile, path, fileName, redirectedPath); - addFileIncludeReason(dupFile, reason); + addFileIncludeReason(dupFile, reason, /*checkExisting*/ false); sourceFileToPackageName.set(path, packageIdToPackageName(packageId)); processingOtherFiles!.push(dupFile); return dupFile; @@ -3759,7 +3832,7 @@ export function createProgram(rootNamesOrOptions: readonly string[] | CreateProg file.originalFileName = originalFileName; file.packageJsonLocations = sourceFileOptions.packageJsonLocations?.length ? sourceFileOptions.packageJsonLocations : undefined; file.packageJsonScope = sourceFileOptions.packageJsonScope; - addFileIncludeReason(file, reason); + addFileIncludeReason(file, reason, /*checkExisting*/ false); if (host.useCaseSensitiveFileNames()) { const pathLowerCase = toFileNameLowerCase(path); @@ -3792,12 +3865,17 @@ export function createProgram(rootNamesOrOptions: readonly string[] | CreateProg else { processingOtherFiles!.push(file); } + (filesWithReferencesProcessed ??= new Set()).add(file.path); } return file; } - function addFileIncludeReason(file: SourceFile | undefined, reason: FileIncludeReason) { - if (file) fileReasons.add(file.path, reason); + function addFileIncludeReason(file: SourceFile | undefined, reason: FileIncludeReason, checkExisting: boolean) { + if (file && (!checkExisting || !isReferencedFile(reason) || !filesWithReferencesProcessed?.has(reason.file))) { + fileReasons.add(file.path, reason); + return true; + } + return false; } function addFileToFilesByName(file: SourceFile | undefined, path: Path, fileName: string, redirectedPath: Path | undefined) { @@ -3923,7 +4001,7 @@ export function createProgram(rootNamesOrOptions: readonly string[] | CreateProg const ref = file.typeReferenceDirectives[index]; const resolvedTypeReferenceDirective = resolutions[index]; // store resolved type directive on the file - const fileName = toFileNameLowerCase(ref.fileName); + const fileName = ref.fileName; resolutionsInFile.set(fileName, getModeForFileReference(ref, file.impliedNodeFormat), resolvedTypeReferenceDirective); const mode = ref.resolutionMode || getDefaultResolutionModeForFile(file); processTypeReferenceDirective(fileName, mode, resolvedTypeReferenceDirective, { kind: FileIncludeKind.TypeReferenceDirective, file: file.path, index }); @@ -3952,55 +4030,18 @@ export function createProgram(rootNamesOrOptions: readonly string[] | CreateProg reason: FileIncludeReason, ): void { addResolutionDiagnostics(resolution); - // If we already found this library as a primary reference - nothing to do - const previousResolution = resolvedTypeReferenceDirectives.get(typeReferenceDirective, mode)?.resolvedTypeReferenceDirective; - if (previousResolution && previousResolution.primary) { - return; - } - let saveResolution = true; const { resolvedTypeReferenceDirective } = resolution; if (resolvedTypeReferenceDirective) { if (resolvedTypeReferenceDirective.isExternalLibraryImport) currentNodeModulesDepth++; - if (resolvedTypeReferenceDirective.primary) { - // resolved from the primary path - processSourceFile(resolvedTypeReferenceDirective.resolvedFileName!, /*isDefaultLib*/ false, /*ignoreNoDefaultLib*/ false, resolvedTypeReferenceDirective.packageId, reason); // TODO: GH#18217 - } - else { - // If we already resolved to this file, it must have been a secondary reference. Check file contents - // for sameness and possibly issue an error - if (previousResolution) { - // Don't bother reading the file again if it's the same file. - if (resolvedTypeReferenceDirective.resolvedFileName !== previousResolution.resolvedFileName) { - const otherFileText = host.readFile(resolvedTypeReferenceDirective.resolvedFileName!); - const existingFile = getSourceFile(previousResolution.resolvedFileName!)!; - if (otherFileText !== existingFile.text) { - addFilePreprocessingFileExplainingDiagnostic( - existingFile, - reason, - Diagnostics.Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_library_to_resolve_the_conflict, - [typeReferenceDirective, resolvedTypeReferenceDirective.resolvedFileName!, previousResolution.resolvedFileName!], - ); - } - } - // don't overwrite previous resolution result - saveResolution = false; - } - else { - // First resolution of this library - processSourceFile(resolvedTypeReferenceDirective.resolvedFileName!, /*isDefaultLib*/ false, /*ignoreNoDefaultLib*/ false, resolvedTypeReferenceDirective.packageId, reason); - } - } + // resolved from the primary path + processSourceFile(resolvedTypeReferenceDirective.resolvedFileName!, /*isDefaultLib*/ false, /*ignoreNoDefaultLib*/ false, resolvedTypeReferenceDirective.packageId, reason); // TODO: GH#18217 if (resolvedTypeReferenceDirective.isExternalLibraryImport) currentNodeModulesDepth--; } else { addFilePreprocessingFileExplainingDiagnostic(/*file*/ undefined, reason, Diagnostics.Cannot_find_type_definition_file_for_0, [typeReferenceDirective]); } - - if (saveResolution) { - resolvedTypeReferenceDirectives.set(typeReferenceDirective, mode, resolution); - } } function pathForLibFile(libFileName: string): string { @@ -4059,21 +4100,15 @@ export function createProgram(rootNamesOrOptions: readonly string[] | CreateProg function processLibReferenceDirectives(file: SourceFile) { forEach(file.libReferenceDirectives, (libReference, index) => { - const { libName, libFileName } = getLibFileNameFromLibReference(libReference); + const libFileName = getLibFileNameFromLibReference(libReference); if (libFileName) { // we ignore any 'no-default-lib' reference set on this file. processRootFile(pathForLibFile(libFileName), /*isDefaultLib*/ true, /*ignoreNoDefaultLib*/ true, { kind: FileIncludeKind.LibReferenceDirective, file: file.path, index }); } else { - const unqualifiedLibName = removeSuffix(removePrefix(libName, "lib."), ".d.ts"); - const suggestion = getSpellingSuggestion(unqualifiedLibName, libs, identity); - const diagnostic = suggestion ? Diagnostics.Cannot_find_lib_definition_for_0_Did_you_mean_1 : Diagnostics.Cannot_find_lib_definition_for_0; - const args = suggestion ? [libName, suggestion] : [libName]; (fileProcessingDiagnostics ||= []).push({ - kind: FilePreprocessingDiagnosticsKind.FilePreprocessingReferencedDiagnostic, + kind: FilePreprocessingDiagnosticsKind.FilePreprocessingLibReferenceDiagnostic, reason: { kind: FileIncludeKind.LibReferenceDirective, file: file.path, index }, - diagnostic, - args, }); } }); @@ -4158,7 +4193,7 @@ export function createProgram(rootNamesOrOptions: readonly string[] | CreateProg if (!sourceFile.isDeclarationFile) { const absoluteSourceFilePath = host.getCanonicalFileName(getNormalizedAbsolutePath(sourceFile.fileName, currentDirectory)); if (absoluteSourceFilePath.indexOf(absoluteRootDirectoryPath) !== 0) { - addProgramDiagnosticExplainingFile( + addLazyProgramDiagnosticExplainingFile( sourceFile, Diagnostics.File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files, [sourceFile.fileName, rootDirectory], @@ -4281,7 +4316,7 @@ export function createProgram(rootNamesOrOptions: readonly string[] | CreateProg for (const file of files) { // Ignore file that is not emitted if (sourceFileMayBeEmitted(file, program) && !rootPaths.has(file.path)) { - addProgramDiagnosticExplainingFile( + addLazyProgramDiagnosticExplainingFile( file, Diagnostics.File_0_is_not_listed_within_the_file_list_of_project_1_Projects_must_list_all_files_or_use_an_include_pattern, [file.fileName, options.configFilePath || ""], @@ -4429,9 +4464,6 @@ export function createProgram(rootNamesOrOptions: readonly string[] | CreateProg if (options.noEmit) { createDiagnosticForOptionName(Diagnostics.Option_0_cannot_be_specified_with_option_1, "noCheck", "noEmit"); } - if (!options.emitDeclarationOnly) { - createDiagnosticForOptionName(Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1, "noCheck", "emitDeclarationOnly"); - } } if ( @@ -4671,38 +4703,122 @@ export function createProgram(rootNamesOrOptions: readonly string[] | CreateProg }); } - function createDiagnosticExplainingFile(file: SourceFile | undefined, fileProcessingReason: FileIncludeReason | undefined, diagnostic: DiagnosticMessage, args: DiagnosticArguments | undefined): Diagnostic { + function createDiagnosticExplainingFile(file: SourceFile | undefined, fileProcessingReason: FileIncludeReason | undefined, diagnostic: DiagnosticMessage, args: DiagnosticArguments): Diagnostic { + let seenReasons: Set | undefined; + const reasons = file && fileReasons.get(file.path); let fileIncludeReasons: DiagnosticMessageChain[] | undefined; - let relatedInfo: Diagnostic[] | undefined; + let relatedInfo: DiagnosticWithLocation[] | undefined; let locationReason = isReferencedFile(fileProcessingReason) ? fileProcessingReason : undefined; - if (file) fileReasons.get(file.path)?.forEach(processReason); + let fileIncludeReasonDetails: DiagnosticMessageChain | undefined; + let redirectInfo: DiagnosticMessageChain[] | undefined; + let cachedChain = file && fileReasonsToChain?.get(file.path); + let chain: DiagnosticMessageChain | undefined; + if (cachedChain) { + if (cachedChain.fileIncludeReasonDetails) { + seenReasons = new Set(reasons); + reasons?.forEach(populateRelatedInfo); + } + else { + reasons?.forEach(processReason); + } + redirectInfo = cachedChain.redirectInfo; + } + else { + reasons?.forEach(processReason); + redirectInfo = file && explainIfFileIsRedirectAndImpliedFormat(file, getCompilerOptionsForFile(file)); + } + if (fileProcessingReason) processReason(fileProcessingReason); + const processedExtraReason = seenReasons?.size !== reasons?.length; + // If we have location and there is only one reason file is in which is the location, dont add details for file include - if (locationReason && fileIncludeReasons?.length === 1) fileIncludeReasons = undefined; + if (locationReason && seenReasons?.size === 1) seenReasons = undefined; + + if (seenReasons && cachedChain) { + if (cachedChain.details && !processedExtraReason) { + chain = chainDiagnosticMessages(cachedChain.details, diagnostic, ...args || emptyArray); + } + else if (cachedChain.fileIncludeReasonDetails) { + if (!processedExtraReason) { + if (!cachedFileIncludeDetailsHasProcessedExtraReason()) { + fileIncludeReasonDetails = cachedChain.fileIncludeReasonDetails; + } + else { + fileIncludeReasons = cachedChain.fileIncludeReasonDetails.next!.slice(0, reasons!.length); + } + } + else { + if (!cachedFileIncludeDetailsHasProcessedExtraReason()) { + fileIncludeReasons = [...cachedChain.fileIncludeReasonDetails.next!, fileIncludeReasons![0]]; + } + else { + fileIncludeReasons = append(cachedChain.fileIncludeReasonDetails.next!.slice(0, reasons!.length), fileIncludeReasons![0]); + } + } + } + } + + if (!chain) { + if (!fileIncludeReasonDetails) fileIncludeReasonDetails = seenReasons && chainDiagnosticMessages(fileIncludeReasons, Diagnostics.The_file_is_in_the_program_because_Colon); + chain = chainDiagnosticMessages( + redirectInfo ? + fileIncludeReasonDetails ? [fileIncludeReasonDetails, ...redirectInfo] : redirectInfo : + fileIncludeReasonDetails, + diagnostic, + ...args || emptyArray, + ); + } + + // This is chain's next contains: + // - File is in program because: + // - Files reasons listed + // - extra reason if its not already processed - this happens in case sensitive file system where files differ in casing and we are giving reasons for two files so reason is not in file's reason + // fyi above whole secton is ommited if we have single reason and we are reporting at that reason's location + // - redirect and additional information about file + // So cache result if we havent ommited file include reasons + if (file) { + if (cachedChain) { + // Cache new fileIncludeDetails if we have update + // Or if we had cached with more details than the reasons + if (!cachedChain.fileIncludeReasonDetails || (!processedExtraReason && fileIncludeReasonDetails)) { + cachedChain.fileIncludeReasonDetails = fileIncludeReasonDetails; + } + } + else { + (fileReasonsToChain ??= new Map()).set(file.path, cachedChain = { fileIncludeReasonDetails, redirectInfo }); + } + // If we didnt compute extra file include reason , cache the details to use directly + if (!cachedChain.details && !processedExtraReason) cachedChain.details = chain.next; + } + const location = locationReason && getReferencedFileLocation(program, locationReason); - const fileIncludeReasonDetails = fileIncludeReasons && chainDiagnosticMessages(fileIncludeReasons, Diagnostics.The_file_is_in_the_program_because_Colon); - const optionsForFile = file && getCompilerOptionsForFile(file) || options; - const redirectInfo = file && explainIfFileIsRedirectAndImpliedFormat(file, optionsForFile); - const chain = chainDiagnosticMessages(redirectInfo ? fileIncludeReasonDetails ? [fileIncludeReasonDetails, ...redirectInfo] : redirectInfo : fileIncludeReasonDetails, diagnostic, ...args || emptyArray); return location && isReferenceFileLocation(location) ? createFileDiagnosticFromMessageChain(location.file, location.pos, location.end - location.pos, chain, relatedInfo) : createCompilerDiagnosticFromMessageChain(chain, relatedInfo); function processReason(reason: FileIncludeReason) { - (fileIncludeReasons ||= []).push(fileIncludeReasonToDiagnostics(program, reason)); + if (seenReasons?.has(reason)) return; + (seenReasons ??= new Set()).add(reason); + (fileIncludeReasons ??= []).push(fileIncludeReasonToDiagnostics(program, reason)); + populateRelatedInfo(reason); + } + + function populateRelatedInfo(reason: FileIncludeReason) { if (!locationReason && isReferencedFile(reason)) { // Report error at first reference file or file currently in processing and dont report in related information locationReason = reason; } else if (locationReason !== reason) { - relatedInfo = append(relatedInfo, fileIncludeReasonToRelatedInformation(reason)); + relatedInfo = append(relatedInfo, getFileIncludeReasonToRelatedInformation(reason)); } - // Remove fileProcessingReason if its already included in fileReasons of the program - if (reason === fileProcessingReason) fileProcessingReason = undefined; + } + + function cachedFileIncludeDetailsHasProcessedExtraReason() { + return cachedChain!.fileIncludeReasonDetails!.next?.length !== reasons?.length; } } - function addFilePreprocessingFileExplainingDiagnostic(file: SourceFile | undefined, fileProcessingReason: FileIncludeReason, diagnostic: DiagnosticMessage, args?: DiagnosticArguments) { + function addFilePreprocessingFileExplainingDiagnostic(file: SourceFile | undefined, fileProcessingReason: FileIncludeReason, diagnostic: DiagnosticMessage, args: DiagnosticArguments) { (fileProcessingDiagnostics ||= []).push({ kind: FilePreprocessingDiagnosticsKind.FilePreprocessingFileExplainingDiagnostic, file: file && file.path, @@ -4712,8 +4828,14 @@ export function createProgram(rootNamesOrOptions: readonly string[] | CreateProg }); } - function addProgramDiagnosticExplainingFile(file: SourceFile, diagnostic: DiagnosticMessage, args?: DiagnosticArguments) { - programDiagnostics.add(createDiagnosticExplainingFile(file, /*fileProcessingReason*/ undefined, diagnostic, args)); + function addLazyProgramDiagnosticExplainingFile(file: SourceFile, diagnostic: DiagnosticMessage, args: DiagnosticArguments) { + lazyProgramDiagnosticExplainingFile!.push({ file, diagnostic, args }); + } + + function getFileIncludeReasonToRelatedInformation(reason: FileIncludeReason) { + let relatedInfo = reasonToRelatedInfo?.get(reason); + if (relatedInfo === undefined) (reasonToRelatedInfo ??= new Map()).set(reason, relatedInfo = fileIncludeReasonToRelatedInformation(reason) ?? false); + return relatedInfo || undefined; } function fileIncludeReasonToRelatedInformation(reason: FileIncludeReason): DiagnosticWithLocation | undefined { diff --git a/src/compiler/resolutionCache.ts b/src/compiler/resolutionCache.ts index 5fd381cf84c39..cbfa95b27d537 100644 --- a/src/compiler/resolutionCache.ts +++ b/src/compiler/resolutionCache.ts @@ -76,7 +76,7 @@ import { trace, updateResolutionField, WatchDirectoryFlags, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; /** @internal */ export interface HasInvalidatedFromResolutionCache { diff --git a/src/compiler/scanner.ts b/src/compiler/scanner.ts index 7b7e8875c6711..ad6928331f26d 100644 --- a/src/compiler/scanner.ts +++ b/src/compiler/scanner.ts @@ -33,7 +33,7 @@ import { SyntaxKind, TextRange, TokenFlags, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; export type ErrorCallback = (message: DiagnosticMessage, length: number, arg0?: any) => void; @@ -329,15 +329,15 @@ const unicodeES5IdentifierStart = [170, 170, 181, 181, 186, 186, 192, 214, 216, const unicodeES5IdentifierPart = [170, 170, 181, 181, 186, 186, 192, 214, 216, 246, 248, 705, 710, 721, 736, 740, 748, 748, 750, 750, 768, 884, 886, 887, 890, 893, 902, 902, 904, 906, 908, 908, 910, 929, 931, 1013, 1015, 1153, 1155, 1159, 1162, 1319, 1329, 1366, 1369, 1369, 1377, 1415, 1425, 1469, 1471, 1471, 1473, 1474, 1476, 1477, 1479, 1479, 1488, 1514, 1520, 1522, 1552, 1562, 1568, 1641, 1646, 1747, 1749, 1756, 1759, 1768, 1770, 1788, 1791, 1791, 1808, 1866, 1869, 1969, 1984, 2037, 2042, 2042, 2048, 2093, 2112, 2139, 2208, 2208, 2210, 2220, 2276, 2302, 2304, 2403, 2406, 2415, 2417, 2423, 2425, 2431, 2433, 2435, 2437, 2444, 2447, 2448, 2451, 2472, 2474, 2480, 2482, 2482, 2486, 2489, 2492, 2500, 2503, 2504, 2507, 2510, 2519, 2519, 2524, 2525, 2527, 2531, 2534, 2545, 2561, 2563, 2565, 2570, 2575, 2576, 2579, 2600, 2602, 2608, 2610, 2611, 2613, 2614, 2616, 2617, 2620, 2620, 2622, 2626, 2631, 2632, 2635, 2637, 2641, 2641, 2649, 2652, 2654, 2654, 2662, 2677, 2689, 2691, 2693, 2701, 2703, 2705, 2707, 2728, 2730, 2736, 2738, 2739, 2741, 2745, 2748, 2757, 2759, 2761, 2763, 2765, 2768, 2768, 2784, 2787, 2790, 2799, 2817, 2819, 2821, 2828, 2831, 2832, 2835, 2856, 2858, 2864, 2866, 2867, 2869, 2873, 2876, 2884, 2887, 2888, 2891, 2893, 2902, 2903, 2908, 2909, 2911, 2915, 2918, 2927, 2929, 2929, 2946, 2947, 2949, 2954, 2958, 2960, 2962, 2965, 2969, 2970, 2972, 2972, 2974, 2975, 2979, 2980, 2984, 2986, 2990, 3001, 3006, 3010, 3014, 3016, 3018, 3021, 3024, 3024, 3031, 3031, 3046, 3055, 3073, 3075, 3077, 3084, 3086, 3088, 3090, 3112, 3114, 3123, 3125, 3129, 3133, 3140, 3142, 3144, 3146, 3149, 3157, 3158, 3160, 3161, 3168, 3171, 3174, 3183, 3202, 3203, 3205, 3212, 3214, 3216, 3218, 3240, 3242, 3251, 3253, 3257, 3260, 3268, 3270, 3272, 3274, 3277, 3285, 3286, 3294, 3294, 3296, 3299, 3302, 3311, 3313, 3314, 3330, 3331, 3333, 3340, 3342, 3344, 3346, 3386, 3389, 3396, 3398, 3400, 3402, 3406, 3415, 3415, 3424, 3427, 3430, 3439, 3450, 3455, 3458, 3459, 3461, 3478, 3482, 3505, 3507, 3515, 3517, 3517, 3520, 3526, 3530, 3530, 3535, 3540, 3542, 3542, 3544, 3551, 3570, 3571, 3585, 3642, 3648, 3662, 3664, 3673, 3713, 3714, 3716, 3716, 3719, 3720, 3722, 3722, 3725, 3725, 3732, 3735, 3737, 3743, 3745, 3747, 3749, 3749, 3751, 3751, 3754, 3755, 3757, 3769, 3771, 3773, 3776, 3780, 3782, 3782, 3784, 3789, 3792, 3801, 3804, 3807, 3840, 3840, 3864, 3865, 3872, 3881, 3893, 3893, 3895, 3895, 3897, 3897, 3902, 3911, 3913, 3948, 3953, 3972, 3974, 3991, 3993, 4028, 4038, 4038, 4096, 4169, 4176, 4253, 4256, 4293, 4295, 4295, 4301, 4301, 4304, 4346, 4348, 4680, 4682, 4685, 4688, 4694, 4696, 4696, 4698, 4701, 4704, 4744, 4746, 4749, 4752, 4784, 4786, 4789, 4792, 4798, 4800, 4800, 4802, 4805, 4808, 4822, 4824, 4880, 4882, 4885, 4888, 4954, 4957, 4959, 4992, 5007, 5024, 5108, 5121, 5740, 5743, 5759, 5761, 5786, 5792, 5866, 5870, 5872, 5888, 5900, 5902, 5908, 5920, 5940, 5952, 5971, 5984, 5996, 5998, 6000, 6002, 6003, 6016, 6099, 6103, 6103, 6108, 6109, 6112, 6121, 6155, 6157, 6160, 6169, 6176, 6263, 6272, 6314, 6320, 6389, 6400, 6428, 6432, 6443, 6448, 6459, 6470, 6509, 6512, 6516, 6528, 6571, 6576, 6601, 6608, 6617, 6656, 6683, 6688, 6750, 6752, 6780, 6783, 6793, 6800, 6809, 6823, 6823, 6912, 6987, 6992, 7001, 7019, 7027, 7040, 7155, 7168, 7223, 7232, 7241, 7245, 7293, 7376, 7378, 7380, 7414, 7424, 7654, 7676, 7957, 7960, 7965, 7968, 8005, 8008, 8013, 8016, 8023, 8025, 8025, 8027, 8027, 8029, 8029, 8031, 8061, 8064, 8116, 8118, 8124, 8126, 8126, 8130, 8132, 8134, 8140, 8144, 8147, 8150, 8155, 8160, 8172, 8178, 8180, 8182, 8188, 8204, 8205, 8255, 8256, 8276, 8276, 8305, 8305, 8319, 8319, 8336, 8348, 8400, 8412, 8417, 8417, 8421, 8432, 8450, 8450, 8455, 8455, 8458, 8467, 8469, 8469, 8473, 8477, 8484, 8484, 8486, 8486, 8488, 8488, 8490, 8493, 8495, 8505, 8508, 8511, 8517, 8521, 8526, 8526, 8544, 8584, 11264, 11310, 11312, 11358, 11360, 11492, 11499, 11507, 11520, 11557, 11559, 11559, 11565, 11565, 11568, 11623, 11631, 11631, 11647, 11670, 11680, 11686, 11688, 11694, 11696, 11702, 11704, 11710, 11712, 11718, 11720, 11726, 11728, 11734, 11736, 11742, 11744, 11775, 11823, 11823, 12293, 12295, 12321, 12335, 12337, 12341, 12344, 12348, 12353, 12438, 12441, 12442, 12445, 12447, 12449, 12538, 12540, 12543, 12549, 12589, 12593, 12686, 12704, 12730, 12784, 12799, 13312, 19893, 19968, 40908, 40960, 42124, 42192, 42237, 42240, 42508, 42512, 42539, 42560, 42607, 42612, 42621, 42623, 42647, 42655, 42737, 42775, 42783, 42786, 42888, 42891, 42894, 42896, 42899, 42912, 42922, 43000, 43047, 43072, 43123, 43136, 43204, 43216, 43225, 43232, 43255, 43259, 43259, 43264, 43309, 43312, 43347, 43360, 43388, 43392, 43456, 43471, 43481, 43520, 43574, 43584, 43597, 43600, 43609, 43616, 43638, 43642, 43643, 43648, 43714, 43739, 43741, 43744, 43759, 43762, 43766, 43777, 43782, 43785, 43790, 43793, 43798, 43808, 43814, 43816, 43822, 43968, 44010, 44012, 44013, 44016, 44025, 44032, 55203, 55216, 55238, 55243, 55291, 63744, 64109, 64112, 64217, 64256, 64262, 64275, 64279, 64285, 64296, 64298, 64310, 64312, 64316, 64318, 64318, 64320, 64321, 64323, 64324, 64326, 64433, 64467, 64829, 64848, 64911, 64914, 64967, 65008, 65019, 65024, 65039, 65056, 65062, 65075, 65076, 65101, 65103, 65136, 65140, 65142, 65276, 65296, 65305, 65313, 65338, 65343, 65343, 65345, 65370, 65382, 65470, 65474, 65479, 65482, 65487, 65490, 65495, 65498, 65500 ]; /** - * Generated by scripts/regenerate-unicode-identifier-parts.js on node v12.4.0 with unicode 12.1 + * Generated by scripts/regenerate-unicode-identifier-parts.mjs on node v22.1.0 with unicode 15.1 * based on http://www.unicode.org/reports/tr31/ and https://www.ecma-international.org/ecma-262/6.0/#sec-names-and-keywords * unicodeESNextIdentifierStart corresponds to the ID_Start and Other_ID_Start property, and * unicodeESNextIdentifierPart corresponds to ID_Continue, Other_ID_Continue, plus ID_Start and Other_ID_Start */ // dprint-ignore -const unicodeESNextIdentifierStart = [65, 90, 97, 122, 170, 170, 181, 181, 186, 186, 192, 214, 216, 246, 248, 705, 710, 721, 736, 740, 748, 748, 750, 750, 880, 884, 886, 887, 890, 893, 895, 895, 902, 902, 904, 906, 908, 908, 910, 929, 931, 1013, 1015, 1153, 1162, 1327, 1329, 1366, 1369, 1369, 1376, 1416, 1488, 1514, 1519, 1522, 1568, 1610, 1646, 1647, 1649, 1747, 1749, 1749, 1765, 1766, 1774, 1775, 1786, 1788, 1791, 1791, 1808, 1808, 1810, 1839, 1869, 1957, 1969, 1969, 1994, 2026, 2036, 2037, 2042, 2042, 2048, 2069, 2074, 2074, 2084, 2084, 2088, 2088, 2112, 2136, 2144, 2154, 2208, 2228, 2230, 2237, 2308, 2361, 2365, 2365, 2384, 2384, 2392, 2401, 2417, 2432, 2437, 2444, 2447, 2448, 2451, 2472, 2474, 2480, 2482, 2482, 2486, 2489, 2493, 2493, 2510, 2510, 2524, 2525, 2527, 2529, 2544, 2545, 2556, 2556, 2565, 2570, 2575, 2576, 2579, 2600, 2602, 2608, 2610, 2611, 2613, 2614, 2616, 2617, 2649, 2652, 2654, 2654, 2674, 2676, 2693, 2701, 2703, 2705, 2707, 2728, 2730, 2736, 2738, 2739, 2741, 2745, 2749, 2749, 2768, 2768, 2784, 2785, 2809, 2809, 2821, 2828, 2831, 2832, 2835, 2856, 2858, 2864, 2866, 2867, 2869, 2873, 2877, 2877, 2908, 2909, 2911, 2913, 2929, 2929, 2947, 2947, 2949, 2954, 2958, 2960, 2962, 2965, 2969, 2970, 2972, 2972, 2974, 2975, 2979, 2980, 2984, 2986, 2990, 3001, 3024, 3024, 3077, 3084, 3086, 3088, 3090, 3112, 3114, 3129, 3133, 3133, 3160, 3162, 3168, 3169, 3200, 3200, 3205, 3212, 3214, 3216, 3218, 3240, 3242, 3251, 3253, 3257, 3261, 3261, 3294, 3294, 3296, 3297, 3313, 3314, 3333, 3340, 3342, 3344, 3346, 3386, 3389, 3389, 3406, 3406, 3412, 3414, 3423, 3425, 3450, 3455, 3461, 3478, 3482, 3505, 3507, 3515, 3517, 3517, 3520, 3526, 3585, 3632, 3634, 3635, 3648, 3654, 3713, 3714, 3716, 3716, 3718, 3722, 3724, 3747, 3749, 3749, 3751, 3760, 3762, 3763, 3773, 3773, 3776, 3780, 3782, 3782, 3804, 3807, 3840, 3840, 3904, 3911, 3913, 3948, 3976, 3980, 4096, 4138, 4159, 4159, 4176, 4181, 4186, 4189, 4193, 4193, 4197, 4198, 4206, 4208, 4213, 4225, 4238, 4238, 4256, 4293, 4295, 4295, 4301, 4301, 4304, 4346, 4348, 4680, 4682, 4685, 4688, 4694, 4696, 4696, 4698, 4701, 4704, 4744, 4746, 4749, 4752, 4784, 4786, 4789, 4792, 4798, 4800, 4800, 4802, 4805, 4808, 4822, 4824, 4880, 4882, 4885, 4888, 4954, 4992, 5007, 5024, 5109, 5112, 5117, 5121, 5740, 5743, 5759, 5761, 5786, 5792, 5866, 5870, 5880, 5888, 5900, 5902, 5905, 5920, 5937, 5952, 5969, 5984, 5996, 5998, 6000, 6016, 6067, 6103, 6103, 6108, 6108, 6176, 6264, 6272, 6312, 6314, 6314, 6320, 6389, 6400, 6430, 6480, 6509, 6512, 6516, 6528, 6571, 6576, 6601, 6656, 6678, 6688, 6740, 6823, 6823, 6917, 6963, 6981, 6987, 7043, 7072, 7086, 7087, 7098, 7141, 7168, 7203, 7245, 7247, 7258, 7293, 7296, 7304, 7312, 7354, 7357, 7359, 7401, 7404, 7406, 7411, 7413, 7414, 7418, 7418, 7424, 7615, 7680, 7957, 7960, 7965, 7968, 8005, 8008, 8013, 8016, 8023, 8025, 8025, 8027, 8027, 8029, 8029, 8031, 8061, 8064, 8116, 8118, 8124, 8126, 8126, 8130, 8132, 8134, 8140, 8144, 8147, 8150, 8155, 8160, 8172, 8178, 8180, 8182, 8188, 8305, 8305, 8319, 8319, 8336, 8348, 8450, 8450, 8455, 8455, 8458, 8467, 8469, 8469, 8472, 8477, 8484, 8484, 8486, 8486, 8488, 8488, 8490, 8505, 8508, 8511, 8517, 8521, 8526, 8526, 8544, 8584, 11264, 11310, 11312, 11358, 11360, 11492, 11499, 11502, 11506, 11507, 11520, 11557, 11559, 11559, 11565, 11565, 11568, 11623, 11631, 11631, 11648, 11670, 11680, 11686, 11688, 11694, 11696, 11702, 11704, 11710, 11712, 11718, 11720, 11726, 11728, 11734, 11736, 11742, 12293, 12295, 12321, 12329, 12337, 12341, 12344, 12348, 12353, 12438, 12443, 12447, 12449, 12538, 12540, 12543, 12549, 12591, 12593, 12686, 12704, 12730, 12784, 12799, 13312, 19893, 19968, 40943, 40960, 42124, 42192, 42237, 42240, 42508, 42512, 42527, 42538, 42539, 42560, 42606, 42623, 42653, 42656, 42735, 42775, 42783, 42786, 42888, 42891, 42943, 42946, 42950, 42999, 43009, 43011, 43013, 43015, 43018, 43020, 43042, 43072, 43123, 43138, 43187, 43250, 43255, 43259, 43259, 43261, 43262, 43274, 43301, 43312, 43334, 43360, 43388, 43396, 43442, 43471, 43471, 43488, 43492, 43494, 43503, 43514, 43518, 43520, 43560, 43584, 43586, 43588, 43595, 43616, 43638, 43642, 43642, 43646, 43695, 43697, 43697, 43701, 43702, 43705, 43709, 43712, 43712, 43714, 43714, 43739, 43741, 43744, 43754, 43762, 43764, 43777, 43782, 43785, 43790, 43793, 43798, 43808, 43814, 43816, 43822, 43824, 43866, 43868, 43879, 43888, 44002, 44032, 55203, 55216, 55238, 55243, 55291, 63744, 64109, 64112, 64217, 64256, 64262, 64275, 64279, 64285, 64285, 64287, 64296, 64298, 64310, 64312, 64316, 64318, 64318, 64320, 64321, 64323, 64324, 64326, 64433, 64467, 64829, 64848, 64911, 64914, 64967, 65008, 65019, 65136, 65140, 65142, 65276, 65313, 65338, 65345, 65370, 65382, 65470, 65474, 65479, 65482, 65487, 65490, 65495, 65498, 65500, 65536, 65547, 65549, 65574, 65576, 65594, 65596, 65597, 65599, 65613, 65616, 65629, 65664, 65786, 65856, 65908, 66176, 66204, 66208, 66256, 66304, 66335, 66349, 66378, 66384, 66421, 66432, 66461, 66464, 66499, 66504, 66511, 66513, 66517, 66560, 66717, 66736, 66771, 66776, 66811, 66816, 66855, 66864, 66915, 67072, 67382, 67392, 67413, 67424, 67431, 67584, 67589, 67592, 67592, 67594, 67637, 67639, 67640, 67644, 67644, 67647, 67669, 67680, 67702, 67712, 67742, 67808, 67826, 67828, 67829, 67840, 67861, 67872, 67897, 67968, 68023, 68030, 68031, 68096, 68096, 68112, 68115, 68117, 68119, 68121, 68149, 68192, 68220, 68224, 68252, 68288, 68295, 68297, 68324, 68352, 68405, 68416, 68437, 68448, 68466, 68480, 68497, 68608, 68680, 68736, 68786, 68800, 68850, 68864, 68899, 69376, 69404, 69415, 69415, 69424, 69445, 69600, 69622, 69635, 69687, 69763, 69807, 69840, 69864, 69891, 69926, 69956, 69956, 69968, 70002, 70006, 70006, 70019, 70066, 70081, 70084, 70106, 70106, 70108, 70108, 70144, 70161, 70163, 70187, 70272, 70278, 70280, 70280, 70282, 70285, 70287, 70301, 70303, 70312, 70320, 70366, 70405, 70412, 70415, 70416, 70419, 70440, 70442, 70448, 70450, 70451, 70453, 70457, 70461, 70461, 70480, 70480, 70493, 70497, 70656, 70708, 70727, 70730, 70751, 70751, 70784, 70831, 70852, 70853, 70855, 70855, 71040, 71086, 71128, 71131, 71168, 71215, 71236, 71236, 71296, 71338, 71352, 71352, 71424, 71450, 71680, 71723, 71840, 71903, 71935, 71935, 72096, 72103, 72106, 72144, 72161, 72161, 72163, 72163, 72192, 72192, 72203, 72242, 72250, 72250, 72272, 72272, 72284, 72329, 72349, 72349, 72384, 72440, 72704, 72712, 72714, 72750, 72768, 72768, 72818, 72847, 72960, 72966, 72968, 72969, 72971, 73008, 73030, 73030, 73056, 73061, 73063, 73064, 73066, 73097, 73112, 73112, 73440, 73458, 73728, 74649, 74752, 74862, 74880, 75075, 77824, 78894, 82944, 83526, 92160, 92728, 92736, 92766, 92880, 92909, 92928, 92975, 92992, 92995, 93027, 93047, 93053, 93071, 93760, 93823, 93952, 94026, 94032, 94032, 94099, 94111, 94176, 94177, 94179, 94179, 94208, 100343, 100352, 101106, 110592, 110878, 110928, 110930, 110948, 110951, 110960, 111355, 113664, 113770, 113776, 113788, 113792, 113800, 113808, 113817, 119808, 119892, 119894, 119964, 119966, 119967, 119970, 119970, 119973, 119974, 119977, 119980, 119982, 119993, 119995, 119995, 119997, 120003, 120005, 120069, 120071, 120074, 120077, 120084, 120086, 120092, 120094, 120121, 120123, 120126, 120128, 120132, 120134, 120134, 120138, 120144, 120146, 120485, 120488, 120512, 120514, 120538, 120540, 120570, 120572, 120596, 120598, 120628, 120630, 120654, 120656, 120686, 120688, 120712, 120714, 120744, 120746, 120770, 120772, 120779, 123136, 123180, 123191, 123197, 123214, 123214, 123584, 123627, 124928, 125124, 125184, 125251, 125259, 125259, 126464, 126467, 126469, 126495, 126497, 126498, 126500, 126500, 126503, 126503, 126505, 126514, 126516, 126519, 126521, 126521, 126523, 126523, 126530, 126530, 126535, 126535, 126537, 126537, 126539, 126539, 126541, 126543, 126545, 126546, 126548, 126548, 126551, 126551, 126553, 126553, 126555, 126555, 126557, 126557, 126559, 126559, 126561, 126562, 126564, 126564, 126567, 126570, 126572, 126578, 126580, 126583, 126585, 126588, 126590, 126590, 126592, 126601, 126603, 126619, 126625, 126627, 126629, 126633, 126635, 126651, 131072, 173782, 173824, 177972, 177984, 178205, 178208, 183969, 183984, 191456, 194560, 195101]; +const unicodeESNextIdentifierStart = [65, 90, 97, 122, 170, 170, 181, 181, 186, 186, 192, 214, 216, 246, 248, 705, 710, 721, 736, 740, 748, 748, 750, 750, 880, 884, 886, 887, 890, 893, 895, 895, 902, 902, 904, 906, 908, 908, 910, 929, 931, 1013, 1015, 1153, 1162, 1327, 1329, 1366, 1369, 1369, 1376, 1416, 1488, 1514, 1519, 1522, 1568, 1610, 1646, 1647, 1649, 1747, 1749, 1749, 1765, 1766, 1774, 1775, 1786, 1788, 1791, 1791, 1808, 1808, 1810, 1839, 1869, 1957, 1969, 1969, 1994, 2026, 2036, 2037, 2042, 2042, 2048, 2069, 2074, 2074, 2084, 2084, 2088, 2088, 2112, 2136, 2144, 2154, 2160, 2183, 2185, 2190, 2208, 2249, 2308, 2361, 2365, 2365, 2384, 2384, 2392, 2401, 2417, 2432, 2437, 2444, 2447, 2448, 2451, 2472, 2474, 2480, 2482, 2482, 2486, 2489, 2493, 2493, 2510, 2510, 2524, 2525, 2527, 2529, 2544, 2545, 2556, 2556, 2565, 2570, 2575, 2576, 2579, 2600, 2602, 2608, 2610, 2611, 2613, 2614, 2616, 2617, 2649, 2652, 2654, 2654, 2674, 2676, 2693, 2701, 2703, 2705, 2707, 2728, 2730, 2736, 2738, 2739, 2741, 2745, 2749, 2749, 2768, 2768, 2784, 2785, 2809, 2809, 2821, 2828, 2831, 2832, 2835, 2856, 2858, 2864, 2866, 2867, 2869, 2873, 2877, 2877, 2908, 2909, 2911, 2913, 2929, 2929, 2947, 2947, 2949, 2954, 2958, 2960, 2962, 2965, 2969, 2970, 2972, 2972, 2974, 2975, 2979, 2980, 2984, 2986, 2990, 3001, 3024, 3024, 3077, 3084, 3086, 3088, 3090, 3112, 3114, 3129, 3133, 3133, 3160, 3162, 3165, 3165, 3168, 3169, 3200, 3200, 3205, 3212, 3214, 3216, 3218, 3240, 3242, 3251, 3253, 3257, 3261, 3261, 3293, 3294, 3296, 3297, 3313, 3314, 3332, 3340, 3342, 3344, 3346, 3386, 3389, 3389, 3406, 3406, 3412, 3414, 3423, 3425, 3450, 3455, 3461, 3478, 3482, 3505, 3507, 3515, 3517, 3517, 3520, 3526, 3585, 3632, 3634, 3635, 3648, 3654, 3713, 3714, 3716, 3716, 3718, 3722, 3724, 3747, 3749, 3749, 3751, 3760, 3762, 3763, 3773, 3773, 3776, 3780, 3782, 3782, 3804, 3807, 3840, 3840, 3904, 3911, 3913, 3948, 3976, 3980, 4096, 4138, 4159, 4159, 4176, 4181, 4186, 4189, 4193, 4193, 4197, 4198, 4206, 4208, 4213, 4225, 4238, 4238, 4256, 4293, 4295, 4295, 4301, 4301, 4304, 4346, 4348, 4680, 4682, 4685, 4688, 4694, 4696, 4696, 4698, 4701, 4704, 4744, 4746, 4749, 4752, 4784, 4786, 4789, 4792, 4798, 4800, 4800, 4802, 4805, 4808, 4822, 4824, 4880, 4882, 4885, 4888, 4954, 4992, 5007, 5024, 5109, 5112, 5117, 5121, 5740, 5743, 5759, 5761, 5786, 5792, 5866, 5870, 5880, 5888, 5905, 5919, 5937, 5952, 5969, 5984, 5996, 5998, 6000, 6016, 6067, 6103, 6103, 6108, 6108, 6176, 6264, 6272, 6312, 6314, 6314, 6320, 6389, 6400, 6430, 6480, 6509, 6512, 6516, 6528, 6571, 6576, 6601, 6656, 6678, 6688, 6740, 6823, 6823, 6917, 6963, 6981, 6988, 7043, 7072, 7086, 7087, 7098, 7141, 7168, 7203, 7245, 7247, 7258, 7293, 7296, 7304, 7312, 7354, 7357, 7359, 7401, 7404, 7406, 7411, 7413, 7414, 7418, 7418, 7424, 7615, 7680, 7957, 7960, 7965, 7968, 8005, 8008, 8013, 8016, 8023, 8025, 8025, 8027, 8027, 8029, 8029, 8031, 8061, 8064, 8116, 8118, 8124, 8126, 8126, 8130, 8132, 8134, 8140, 8144, 8147, 8150, 8155, 8160, 8172, 8178, 8180, 8182, 8188, 8305, 8305, 8319, 8319, 8336, 8348, 8450, 8450, 8455, 8455, 8458, 8467, 8469, 8469, 8472, 8477, 8484, 8484, 8486, 8486, 8488, 8488, 8490, 8505, 8508, 8511, 8517, 8521, 8526, 8526, 8544, 8584, 11264, 11492, 11499, 11502, 11506, 11507, 11520, 11557, 11559, 11559, 11565, 11565, 11568, 11623, 11631, 11631, 11648, 11670, 11680, 11686, 11688, 11694, 11696, 11702, 11704, 11710, 11712, 11718, 11720, 11726, 11728, 11734, 11736, 11742, 12293, 12295, 12321, 12329, 12337, 12341, 12344, 12348, 12353, 12438, 12443, 12447, 12449, 12538, 12540, 12543, 12549, 12591, 12593, 12686, 12704, 12735, 12784, 12799, 13312, 19903, 19968, 42124, 42192, 42237, 42240, 42508, 42512, 42527, 42538, 42539, 42560, 42606, 42623, 42653, 42656, 42735, 42775, 42783, 42786, 42888, 42891, 42954, 42960, 42961, 42963, 42963, 42965, 42969, 42994, 43009, 43011, 43013, 43015, 43018, 43020, 43042, 43072, 43123, 43138, 43187, 43250, 43255, 43259, 43259, 43261, 43262, 43274, 43301, 43312, 43334, 43360, 43388, 43396, 43442, 43471, 43471, 43488, 43492, 43494, 43503, 43514, 43518, 43520, 43560, 43584, 43586, 43588, 43595, 43616, 43638, 43642, 43642, 43646, 43695, 43697, 43697, 43701, 43702, 43705, 43709, 43712, 43712, 43714, 43714, 43739, 43741, 43744, 43754, 43762, 43764, 43777, 43782, 43785, 43790, 43793, 43798, 43808, 43814, 43816, 43822, 43824, 43866, 43868, 43881, 43888, 44002, 44032, 55203, 55216, 55238, 55243, 55291, 63744, 64109, 64112, 64217, 64256, 64262, 64275, 64279, 64285, 64285, 64287, 64296, 64298, 64310, 64312, 64316, 64318, 64318, 64320, 64321, 64323, 64324, 64326, 64433, 64467, 64829, 64848, 64911, 64914, 64967, 65008, 65019, 65136, 65140, 65142, 65276, 65313, 65338, 65345, 65370, 65382, 65470, 65474, 65479, 65482, 65487, 65490, 65495, 65498, 65500, 65536, 65547, 65549, 65574, 65576, 65594, 65596, 65597, 65599, 65613, 65616, 65629, 65664, 65786, 65856, 65908, 66176, 66204, 66208, 66256, 66304, 66335, 66349, 66378, 66384, 66421, 66432, 66461, 66464, 66499, 66504, 66511, 66513, 66517, 66560, 66717, 66736, 66771, 66776, 66811, 66816, 66855, 66864, 66915, 66928, 66938, 66940, 66954, 66956, 66962, 66964, 66965, 66967, 66977, 66979, 66993, 66995, 67001, 67003, 67004, 67072, 67382, 67392, 67413, 67424, 67431, 67456, 67461, 67463, 67504, 67506, 67514, 67584, 67589, 67592, 67592, 67594, 67637, 67639, 67640, 67644, 67644, 67647, 67669, 67680, 67702, 67712, 67742, 67808, 67826, 67828, 67829, 67840, 67861, 67872, 67897, 67968, 68023, 68030, 68031, 68096, 68096, 68112, 68115, 68117, 68119, 68121, 68149, 68192, 68220, 68224, 68252, 68288, 68295, 68297, 68324, 68352, 68405, 68416, 68437, 68448, 68466, 68480, 68497, 68608, 68680, 68736, 68786, 68800, 68850, 68864, 68899, 69248, 69289, 69296, 69297, 69376, 69404, 69415, 69415, 69424, 69445, 69488, 69505, 69552, 69572, 69600, 69622, 69635, 69687, 69745, 69746, 69749, 69749, 69763, 69807, 69840, 69864, 69891, 69926, 69956, 69956, 69959, 69959, 69968, 70002, 70006, 70006, 70019, 70066, 70081, 70084, 70106, 70106, 70108, 70108, 70144, 70161, 70163, 70187, 70207, 70208, 70272, 70278, 70280, 70280, 70282, 70285, 70287, 70301, 70303, 70312, 70320, 70366, 70405, 70412, 70415, 70416, 70419, 70440, 70442, 70448, 70450, 70451, 70453, 70457, 70461, 70461, 70480, 70480, 70493, 70497, 70656, 70708, 70727, 70730, 70751, 70753, 70784, 70831, 70852, 70853, 70855, 70855, 71040, 71086, 71128, 71131, 71168, 71215, 71236, 71236, 71296, 71338, 71352, 71352, 71424, 71450, 71488, 71494, 71680, 71723, 71840, 71903, 71935, 71942, 71945, 71945, 71948, 71955, 71957, 71958, 71960, 71983, 71999, 71999, 72001, 72001, 72096, 72103, 72106, 72144, 72161, 72161, 72163, 72163, 72192, 72192, 72203, 72242, 72250, 72250, 72272, 72272, 72284, 72329, 72349, 72349, 72368, 72440, 72704, 72712, 72714, 72750, 72768, 72768, 72818, 72847, 72960, 72966, 72968, 72969, 72971, 73008, 73030, 73030, 73056, 73061, 73063, 73064, 73066, 73097, 73112, 73112, 73440, 73458, 73474, 73474, 73476, 73488, 73490, 73523, 73648, 73648, 73728, 74649, 74752, 74862, 74880, 75075, 77712, 77808, 77824, 78895, 78913, 78918, 82944, 83526, 92160, 92728, 92736, 92766, 92784, 92862, 92880, 92909, 92928, 92975, 92992, 92995, 93027, 93047, 93053, 93071, 93760, 93823, 93952, 94026, 94032, 94032, 94099, 94111, 94176, 94177, 94179, 94179, 94208, 100343, 100352, 101589, 101632, 101640, 110576, 110579, 110581, 110587, 110589, 110590, 110592, 110882, 110898, 110898, 110928, 110930, 110933, 110933, 110948, 110951, 110960, 111355, 113664, 113770, 113776, 113788, 113792, 113800, 113808, 113817, 119808, 119892, 119894, 119964, 119966, 119967, 119970, 119970, 119973, 119974, 119977, 119980, 119982, 119993, 119995, 119995, 119997, 120003, 120005, 120069, 120071, 120074, 120077, 120084, 120086, 120092, 120094, 120121, 120123, 120126, 120128, 120132, 120134, 120134, 120138, 120144, 120146, 120485, 120488, 120512, 120514, 120538, 120540, 120570, 120572, 120596, 120598, 120628, 120630, 120654, 120656, 120686, 120688, 120712, 120714, 120744, 120746, 120770, 120772, 120779, 122624, 122654, 122661, 122666, 122928, 122989, 123136, 123180, 123191, 123197, 123214, 123214, 123536, 123565, 123584, 123627, 124112, 124139, 124896, 124902, 124904, 124907, 124909, 124910, 124912, 124926, 124928, 125124, 125184, 125251, 125259, 125259, 126464, 126467, 126469, 126495, 126497, 126498, 126500, 126500, 126503, 126503, 126505, 126514, 126516, 126519, 126521, 126521, 126523, 126523, 126530, 126530, 126535, 126535, 126537, 126537, 126539, 126539, 126541, 126543, 126545, 126546, 126548, 126548, 126551, 126551, 126553, 126553, 126555, 126555, 126557, 126557, 126559, 126559, 126561, 126562, 126564, 126564, 126567, 126570, 126572, 126578, 126580, 126583, 126585, 126588, 126590, 126590, 126592, 126601, 126603, 126619, 126625, 126627, 126629, 126633, 126635, 126651, 131072, 173791, 173824, 177977, 177984, 178205, 178208, 183969, 183984, 191456, 191472, 192093, 194560, 195101, 196608, 201546, 201552, 205743]; // dprint-ignore -const unicodeESNextIdentifierPart = [48, 57, 65, 90, 95, 95, 97, 122, 170, 170, 181, 181, 183, 183, 186, 186, 192, 214, 216, 246, 248, 705, 710, 721, 736, 740, 748, 748, 750, 750, 768, 884, 886, 887, 890, 893, 895, 895, 902, 906, 908, 908, 910, 929, 931, 1013, 1015, 1153, 1155, 1159, 1162, 1327, 1329, 1366, 1369, 1369, 1376, 1416, 1425, 1469, 1471, 1471, 1473, 1474, 1476, 1477, 1479, 1479, 1488, 1514, 1519, 1522, 1552, 1562, 1568, 1641, 1646, 1747, 1749, 1756, 1759, 1768, 1770, 1788, 1791, 1791, 1808, 1866, 1869, 1969, 1984, 2037, 2042, 2042, 2045, 2045, 2048, 2093, 2112, 2139, 2144, 2154, 2208, 2228, 2230, 2237, 2259, 2273, 2275, 2403, 2406, 2415, 2417, 2435, 2437, 2444, 2447, 2448, 2451, 2472, 2474, 2480, 2482, 2482, 2486, 2489, 2492, 2500, 2503, 2504, 2507, 2510, 2519, 2519, 2524, 2525, 2527, 2531, 2534, 2545, 2556, 2556, 2558, 2558, 2561, 2563, 2565, 2570, 2575, 2576, 2579, 2600, 2602, 2608, 2610, 2611, 2613, 2614, 2616, 2617, 2620, 2620, 2622, 2626, 2631, 2632, 2635, 2637, 2641, 2641, 2649, 2652, 2654, 2654, 2662, 2677, 2689, 2691, 2693, 2701, 2703, 2705, 2707, 2728, 2730, 2736, 2738, 2739, 2741, 2745, 2748, 2757, 2759, 2761, 2763, 2765, 2768, 2768, 2784, 2787, 2790, 2799, 2809, 2815, 2817, 2819, 2821, 2828, 2831, 2832, 2835, 2856, 2858, 2864, 2866, 2867, 2869, 2873, 2876, 2884, 2887, 2888, 2891, 2893, 2902, 2903, 2908, 2909, 2911, 2915, 2918, 2927, 2929, 2929, 2946, 2947, 2949, 2954, 2958, 2960, 2962, 2965, 2969, 2970, 2972, 2972, 2974, 2975, 2979, 2980, 2984, 2986, 2990, 3001, 3006, 3010, 3014, 3016, 3018, 3021, 3024, 3024, 3031, 3031, 3046, 3055, 3072, 3084, 3086, 3088, 3090, 3112, 3114, 3129, 3133, 3140, 3142, 3144, 3146, 3149, 3157, 3158, 3160, 3162, 3168, 3171, 3174, 3183, 3200, 3203, 3205, 3212, 3214, 3216, 3218, 3240, 3242, 3251, 3253, 3257, 3260, 3268, 3270, 3272, 3274, 3277, 3285, 3286, 3294, 3294, 3296, 3299, 3302, 3311, 3313, 3314, 3328, 3331, 3333, 3340, 3342, 3344, 3346, 3396, 3398, 3400, 3402, 3406, 3412, 3415, 3423, 3427, 3430, 3439, 3450, 3455, 3458, 3459, 3461, 3478, 3482, 3505, 3507, 3515, 3517, 3517, 3520, 3526, 3530, 3530, 3535, 3540, 3542, 3542, 3544, 3551, 3558, 3567, 3570, 3571, 3585, 3642, 3648, 3662, 3664, 3673, 3713, 3714, 3716, 3716, 3718, 3722, 3724, 3747, 3749, 3749, 3751, 3773, 3776, 3780, 3782, 3782, 3784, 3789, 3792, 3801, 3804, 3807, 3840, 3840, 3864, 3865, 3872, 3881, 3893, 3893, 3895, 3895, 3897, 3897, 3902, 3911, 3913, 3948, 3953, 3972, 3974, 3991, 3993, 4028, 4038, 4038, 4096, 4169, 4176, 4253, 4256, 4293, 4295, 4295, 4301, 4301, 4304, 4346, 4348, 4680, 4682, 4685, 4688, 4694, 4696, 4696, 4698, 4701, 4704, 4744, 4746, 4749, 4752, 4784, 4786, 4789, 4792, 4798, 4800, 4800, 4802, 4805, 4808, 4822, 4824, 4880, 4882, 4885, 4888, 4954, 4957, 4959, 4969, 4977, 4992, 5007, 5024, 5109, 5112, 5117, 5121, 5740, 5743, 5759, 5761, 5786, 5792, 5866, 5870, 5880, 5888, 5900, 5902, 5908, 5920, 5940, 5952, 5971, 5984, 5996, 5998, 6000, 6002, 6003, 6016, 6099, 6103, 6103, 6108, 6109, 6112, 6121, 6155, 6157, 6160, 6169, 6176, 6264, 6272, 6314, 6320, 6389, 6400, 6430, 6432, 6443, 6448, 6459, 6470, 6509, 6512, 6516, 6528, 6571, 6576, 6601, 6608, 6618, 6656, 6683, 6688, 6750, 6752, 6780, 6783, 6793, 6800, 6809, 6823, 6823, 6832, 6845, 6912, 6987, 6992, 7001, 7019, 7027, 7040, 7155, 7168, 7223, 7232, 7241, 7245, 7293, 7296, 7304, 7312, 7354, 7357, 7359, 7376, 7378, 7380, 7418, 7424, 7673, 7675, 7957, 7960, 7965, 7968, 8005, 8008, 8013, 8016, 8023, 8025, 8025, 8027, 8027, 8029, 8029, 8031, 8061, 8064, 8116, 8118, 8124, 8126, 8126, 8130, 8132, 8134, 8140, 8144, 8147, 8150, 8155, 8160, 8172, 8178, 8180, 8182, 8188, 8255, 8256, 8276, 8276, 8305, 8305, 8319, 8319, 8336, 8348, 8400, 8412, 8417, 8417, 8421, 8432, 8450, 8450, 8455, 8455, 8458, 8467, 8469, 8469, 8472, 8477, 8484, 8484, 8486, 8486, 8488, 8488, 8490, 8505, 8508, 8511, 8517, 8521, 8526, 8526, 8544, 8584, 11264, 11310, 11312, 11358, 11360, 11492, 11499, 11507, 11520, 11557, 11559, 11559, 11565, 11565, 11568, 11623, 11631, 11631, 11647, 11670, 11680, 11686, 11688, 11694, 11696, 11702, 11704, 11710, 11712, 11718, 11720, 11726, 11728, 11734, 11736, 11742, 11744, 11775, 12293, 12295, 12321, 12335, 12337, 12341, 12344, 12348, 12353, 12438, 12441, 12447, 12449, 12538, 12540, 12543, 12549, 12591, 12593, 12686, 12704, 12730, 12784, 12799, 13312, 19893, 19968, 40943, 40960, 42124, 42192, 42237, 42240, 42508, 42512, 42539, 42560, 42607, 42612, 42621, 42623, 42737, 42775, 42783, 42786, 42888, 42891, 42943, 42946, 42950, 42999, 43047, 43072, 43123, 43136, 43205, 43216, 43225, 43232, 43255, 43259, 43259, 43261, 43309, 43312, 43347, 43360, 43388, 43392, 43456, 43471, 43481, 43488, 43518, 43520, 43574, 43584, 43597, 43600, 43609, 43616, 43638, 43642, 43714, 43739, 43741, 43744, 43759, 43762, 43766, 43777, 43782, 43785, 43790, 43793, 43798, 43808, 43814, 43816, 43822, 43824, 43866, 43868, 43879, 43888, 44010, 44012, 44013, 44016, 44025, 44032, 55203, 55216, 55238, 55243, 55291, 63744, 64109, 64112, 64217, 64256, 64262, 64275, 64279, 64285, 64296, 64298, 64310, 64312, 64316, 64318, 64318, 64320, 64321, 64323, 64324, 64326, 64433, 64467, 64829, 64848, 64911, 64914, 64967, 65008, 65019, 65024, 65039, 65056, 65071, 65075, 65076, 65101, 65103, 65136, 65140, 65142, 65276, 65296, 65305, 65313, 65338, 65343, 65343, 65345, 65370, 65382, 65470, 65474, 65479, 65482, 65487, 65490, 65495, 65498, 65500, 65536, 65547, 65549, 65574, 65576, 65594, 65596, 65597, 65599, 65613, 65616, 65629, 65664, 65786, 65856, 65908, 66045, 66045, 66176, 66204, 66208, 66256, 66272, 66272, 66304, 66335, 66349, 66378, 66384, 66426, 66432, 66461, 66464, 66499, 66504, 66511, 66513, 66517, 66560, 66717, 66720, 66729, 66736, 66771, 66776, 66811, 66816, 66855, 66864, 66915, 67072, 67382, 67392, 67413, 67424, 67431, 67584, 67589, 67592, 67592, 67594, 67637, 67639, 67640, 67644, 67644, 67647, 67669, 67680, 67702, 67712, 67742, 67808, 67826, 67828, 67829, 67840, 67861, 67872, 67897, 67968, 68023, 68030, 68031, 68096, 68099, 68101, 68102, 68108, 68115, 68117, 68119, 68121, 68149, 68152, 68154, 68159, 68159, 68192, 68220, 68224, 68252, 68288, 68295, 68297, 68326, 68352, 68405, 68416, 68437, 68448, 68466, 68480, 68497, 68608, 68680, 68736, 68786, 68800, 68850, 68864, 68903, 68912, 68921, 69376, 69404, 69415, 69415, 69424, 69456, 69600, 69622, 69632, 69702, 69734, 69743, 69759, 69818, 69840, 69864, 69872, 69881, 69888, 69940, 69942, 69951, 69956, 69958, 69968, 70003, 70006, 70006, 70016, 70084, 70089, 70092, 70096, 70106, 70108, 70108, 70144, 70161, 70163, 70199, 70206, 70206, 70272, 70278, 70280, 70280, 70282, 70285, 70287, 70301, 70303, 70312, 70320, 70378, 70384, 70393, 70400, 70403, 70405, 70412, 70415, 70416, 70419, 70440, 70442, 70448, 70450, 70451, 70453, 70457, 70459, 70468, 70471, 70472, 70475, 70477, 70480, 70480, 70487, 70487, 70493, 70499, 70502, 70508, 70512, 70516, 70656, 70730, 70736, 70745, 70750, 70751, 70784, 70853, 70855, 70855, 70864, 70873, 71040, 71093, 71096, 71104, 71128, 71133, 71168, 71232, 71236, 71236, 71248, 71257, 71296, 71352, 71360, 71369, 71424, 71450, 71453, 71467, 71472, 71481, 71680, 71738, 71840, 71913, 71935, 71935, 72096, 72103, 72106, 72151, 72154, 72161, 72163, 72164, 72192, 72254, 72263, 72263, 72272, 72345, 72349, 72349, 72384, 72440, 72704, 72712, 72714, 72758, 72760, 72768, 72784, 72793, 72818, 72847, 72850, 72871, 72873, 72886, 72960, 72966, 72968, 72969, 72971, 73014, 73018, 73018, 73020, 73021, 73023, 73031, 73040, 73049, 73056, 73061, 73063, 73064, 73066, 73102, 73104, 73105, 73107, 73112, 73120, 73129, 73440, 73462, 73728, 74649, 74752, 74862, 74880, 75075, 77824, 78894, 82944, 83526, 92160, 92728, 92736, 92766, 92768, 92777, 92880, 92909, 92912, 92916, 92928, 92982, 92992, 92995, 93008, 93017, 93027, 93047, 93053, 93071, 93760, 93823, 93952, 94026, 94031, 94087, 94095, 94111, 94176, 94177, 94179, 94179, 94208, 100343, 100352, 101106, 110592, 110878, 110928, 110930, 110948, 110951, 110960, 111355, 113664, 113770, 113776, 113788, 113792, 113800, 113808, 113817, 113821, 113822, 119141, 119145, 119149, 119154, 119163, 119170, 119173, 119179, 119210, 119213, 119362, 119364, 119808, 119892, 119894, 119964, 119966, 119967, 119970, 119970, 119973, 119974, 119977, 119980, 119982, 119993, 119995, 119995, 119997, 120003, 120005, 120069, 120071, 120074, 120077, 120084, 120086, 120092, 120094, 120121, 120123, 120126, 120128, 120132, 120134, 120134, 120138, 120144, 120146, 120485, 120488, 120512, 120514, 120538, 120540, 120570, 120572, 120596, 120598, 120628, 120630, 120654, 120656, 120686, 120688, 120712, 120714, 120744, 120746, 120770, 120772, 120779, 120782, 120831, 121344, 121398, 121403, 121452, 121461, 121461, 121476, 121476, 121499, 121503, 121505, 121519, 122880, 122886, 122888, 122904, 122907, 122913, 122915, 122916, 122918, 122922, 123136, 123180, 123184, 123197, 123200, 123209, 123214, 123214, 123584, 123641, 124928, 125124, 125136, 125142, 125184, 125259, 125264, 125273, 126464, 126467, 126469, 126495, 126497, 126498, 126500, 126500, 126503, 126503, 126505, 126514, 126516, 126519, 126521, 126521, 126523, 126523, 126530, 126530, 126535, 126535, 126537, 126537, 126539, 126539, 126541, 126543, 126545, 126546, 126548, 126548, 126551, 126551, 126553, 126553, 126555, 126555, 126557, 126557, 126559, 126559, 126561, 126562, 126564, 126564, 126567, 126570, 126572, 126578, 126580, 126583, 126585, 126588, 126590, 126590, 126592, 126601, 126603, 126619, 126625, 126627, 126629, 126633, 126635, 126651, 131072, 173782, 173824, 177972, 177984, 178205, 178208, 183969, 183984, 191456, 194560, 195101, 917760, 917999]; +const unicodeESNextIdentifierPart = [48, 57, 65, 90, 95, 95, 97, 122, 170, 170, 181, 181, 183, 183, 186, 186, 192, 214, 216, 246, 248, 705, 710, 721, 736, 740, 748, 748, 750, 750, 768, 884, 886, 887, 890, 893, 895, 895, 902, 906, 908, 908, 910, 929, 931, 1013, 1015, 1153, 1155, 1159, 1162, 1327, 1329, 1366, 1369, 1369, 1376, 1416, 1425, 1469, 1471, 1471, 1473, 1474, 1476, 1477, 1479, 1479, 1488, 1514, 1519, 1522, 1552, 1562, 1568, 1641, 1646, 1747, 1749, 1756, 1759, 1768, 1770, 1788, 1791, 1791, 1808, 1866, 1869, 1969, 1984, 2037, 2042, 2042, 2045, 2045, 2048, 2093, 2112, 2139, 2144, 2154, 2160, 2183, 2185, 2190, 2200, 2273, 2275, 2403, 2406, 2415, 2417, 2435, 2437, 2444, 2447, 2448, 2451, 2472, 2474, 2480, 2482, 2482, 2486, 2489, 2492, 2500, 2503, 2504, 2507, 2510, 2519, 2519, 2524, 2525, 2527, 2531, 2534, 2545, 2556, 2556, 2558, 2558, 2561, 2563, 2565, 2570, 2575, 2576, 2579, 2600, 2602, 2608, 2610, 2611, 2613, 2614, 2616, 2617, 2620, 2620, 2622, 2626, 2631, 2632, 2635, 2637, 2641, 2641, 2649, 2652, 2654, 2654, 2662, 2677, 2689, 2691, 2693, 2701, 2703, 2705, 2707, 2728, 2730, 2736, 2738, 2739, 2741, 2745, 2748, 2757, 2759, 2761, 2763, 2765, 2768, 2768, 2784, 2787, 2790, 2799, 2809, 2815, 2817, 2819, 2821, 2828, 2831, 2832, 2835, 2856, 2858, 2864, 2866, 2867, 2869, 2873, 2876, 2884, 2887, 2888, 2891, 2893, 2901, 2903, 2908, 2909, 2911, 2915, 2918, 2927, 2929, 2929, 2946, 2947, 2949, 2954, 2958, 2960, 2962, 2965, 2969, 2970, 2972, 2972, 2974, 2975, 2979, 2980, 2984, 2986, 2990, 3001, 3006, 3010, 3014, 3016, 3018, 3021, 3024, 3024, 3031, 3031, 3046, 3055, 3072, 3084, 3086, 3088, 3090, 3112, 3114, 3129, 3132, 3140, 3142, 3144, 3146, 3149, 3157, 3158, 3160, 3162, 3165, 3165, 3168, 3171, 3174, 3183, 3200, 3203, 3205, 3212, 3214, 3216, 3218, 3240, 3242, 3251, 3253, 3257, 3260, 3268, 3270, 3272, 3274, 3277, 3285, 3286, 3293, 3294, 3296, 3299, 3302, 3311, 3313, 3315, 3328, 3340, 3342, 3344, 3346, 3396, 3398, 3400, 3402, 3406, 3412, 3415, 3423, 3427, 3430, 3439, 3450, 3455, 3457, 3459, 3461, 3478, 3482, 3505, 3507, 3515, 3517, 3517, 3520, 3526, 3530, 3530, 3535, 3540, 3542, 3542, 3544, 3551, 3558, 3567, 3570, 3571, 3585, 3642, 3648, 3662, 3664, 3673, 3713, 3714, 3716, 3716, 3718, 3722, 3724, 3747, 3749, 3749, 3751, 3773, 3776, 3780, 3782, 3782, 3784, 3790, 3792, 3801, 3804, 3807, 3840, 3840, 3864, 3865, 3872, 3881, 3893, 3893, 3895, 3895, 3897, 3897, 3902, 3911, 3913, 3948, 3953, 3972, 3974, 3991, 3993, 4028, 4038, 4038, 4096, 4169, 4176, 4253, 4256, 4293, 4295, 4295, 4301, 4301, 4304, 4346, 4348, 4680, 4682, 4685, 4688, 4694, 4696, 4696, 4698, 4701, 4704, 4744, 4746, 4749, 4752, 4784, 4786, 4789, 4792, 4798, 4800, 4800, 4802, 4805, 4808, 4822, 4824, 4880, 4882, 4885, 4888, 4954, 4957, 4959, 4969, 4977, 4992, 5007, 5024, 5109, 5112, 5117, 5121, 5740, 5743, 5759, 5761, 5786, 5792, 5866, 5870, 5880, 5888, 5909, 5919, 5940, 5952, 5971, 5984, 5996, 5998, 6000, 6002, 6003, 6016, 6099, 6103, 6103, 6108, 6109, 6112, 6121, 6155, 6157, 6159, 6169, 6176, 6264, 6272, 6314, 6320, 6389, 6400, 6430, 6432, 6443, 6448, 6459, 6470, 6509, 6512, 6516, 6528, 6571, 6576, 6601, 6608, 6618, 6656, 6683, 6688, 6750, 6752, 6780, 6783, 6793, 6800, 6809, 6823, 6823, 6832, 6845, 6847, 6862, 6912, 6988, 6992, 7001, 7019, 7027, 7040, 7155, 7168, 7223, 7232, 7241, 7245, 7293, 7296, 7304, 7312, 7354, 7357, 7359, 7376, 7378, 7380, 7418, 7424, 7957, 7960, 7965, 7968, 8005, 8008, 8013, 8016, 8023, 8025, 8025, 8027, 8027, 8029, 8029, 8031, 8061, 8064, 8116, 8118, 8124, 8126, 8126, 8130, 8132, 8134, 8140, 8144, 8147, 8150, 8155, 8160, 8172, 8178, 8180, 8182, 8188, 8204, 8205, 8255, 8256, 8276, 8276, 8305, 8305, 8319, 8319, 8336, 8348, 8400, 8412, 8417, 8417, 8421, 8432, 8450, 8450, 8455, 8455, 8458, 8467, 8469, 8469, 8472, 8477, 8484, 8484, 8486, 8486, 8488, 8488, 8490, 8505, 8508, 8511, 8517, 8521, 8526, 8526, 8544, 8584, 11264, 11492, 11499, 11507, 11520, 11557, 11559, 11559, 11565, 11565, 11568, 11623, 11631, 11631, 11647, 11670, 11680, 11686, 11688, 11694, 11696, 11702, 11704, 11710, 11712, 11718, 11720, 11726, 11728, 11734, 11736, 11742, 11744, 11775, 12293, 12295, 12321, 12335, 12337, 12341, 12344, 12348, 12353, 12438, 12441, 12447, 12449, 12543, 12549, 12591, 12593, 12686, 12704, 12735, 12784, 12799, 13312, 19903, 19968, 42124, 42192, 42237, 42240, 42508, 42512, 42539, 42560, 42607, 42612, 42621, 42623, 42737, 42775, 42783, 42786, 42888, 42891, 42954, 42960, 42961, 42963, 42963, 42965, 42969, 42994, 43047, 43052, 43052, 43072, 43123, 43136, 43205, 43216, 43225, 43232, 43255, 43259, 43259, 43261, 43309, 43312, 43347, 43360, 43388, 43392, 43456, 43471, 43481, 43488, 43518, 43520, 43574, 43584, 43597, 43600, 43609, 43616, 43638, 43642, 43714, 43739, 43741, 43744, 43759, 43762, 43766, 43777, 43782, 43785, 43790, 43793, 43798, 43808, 43814, 43816, 43822, 43824, 43866, 43868, 43881, 43888, 44010, 44012, 44013, 44016, 44025, 44032, 55203, 55216, 55238, 55243, 55291, 63744, 64109, 64112, 64217, 64256, 64262, 64275, 64279, 64285, 64296, 64298, 64310, 64312, 64316, 64318, 64318, 64320, 64321, 64323, 64324, 64326, 64433, 64467, 64829, 64848, 64911, 64914, 64967, 65008, 65019, 65024, 65039, 65056, 65071, 65075, 65076, 65101, 65103, 65136, 65140, 65142, 65276, 65296, 65305, 65313, 65338, 65343, 65343, 65345, 65370, 65381, 65470, 65474, 65479, 65482, 65487, 65490, 65495, 65498, 65500, 65536, 65547, 65549, 65574, 65576, 65594, 65596, 65597, 65599, 65613, 65616, 65629, 65664, 65786, 65856, 65908, 66045, 66045, 66176, 66204, 66208, 66256, 66272, 66272, 66304, 66335, 66349, 66378, 66384, 66426, 66432, 66461, 66464, 66499, 66504, 66511, 66513, 66517, 66560, 66717, 66720, 66729, 66736, 66771, 66776, 66811, 66816, 66855, 66864, 66915, 66928, 66938, 66940, 66954, 66956, 66962, 66964, 66965, 66967, 66977, 66979, 66993, 66995, 67001, 67003, 67004, 67072, 67382, 67392, 67413, 67424, 67431, 67456, 67461, 67463, 67504, 67506, 67514, 67584, 67589, 67592, 67592, 67594, 67637, 67639, 67640, 67644, 67644, 67647, 67669, 67680, 67702, 67712, 67742, 67808, 67826, 67828, 67829, 67840, 67861, 67872, 67897, 67968, 68023, 68030, 68031, 68096, 68099, 68101, 68102, 68108, 68115, 68117, 68119, 68121, 68149, 68152, 68154, 68159, 68159, 68192, 68220, 68224, 68252, 68288, 68295, 68297, 68326, 68352, 68405, 68416, 68437, 68448, 68466, 68480, 68497, 68608, 68680, 68736, 68786, 68800, 68850, 68864, 68903, 68912, 68921, 69248, 69289, 69291, 69292, 69296, 69297, 69373, 69404, 69415, 69415, 69424, 69456, 69488, 69509, 69552, 69572, 69600, 69622, 69632, 69702, 69734, 69749, 69759, 69818, 69826, 69826, 69840, 69864, 69872, 69881, 69888, 69940, 69942, 69951, 69956, 69959, 69968, 70003, 70006, 70006, 70016, 70084, 70089, 70092, 70094, 70106, 70108, 70108, 70144, 70161, 70163, 70199, 70206, 70209, 70272, 70278, 70280, 70280, 70282, 70285, 70287, 70301, 70303, 70312, 70320, 70378, 70384, 70393, 70400, 70403, 70405, 70412, 70415, 70416, 70419, 70440, 70442, 70448, 70450, 70451, 70453, 70457, 70459, 70468, 70471, 70472, 70475, 70477, 70480, 70480, 70487, 70487, 70493, 70499, 70502, 70508, 70512, 70516, 70656, 70730, 70736, 70745, 70750, 70753, 70784, 70853, 70855, 70855, 70864, 70873, 71040, 71093, 71096, 71104, 71128, 71133, 71168, 71232, 71236, 71236, 71248, 71257, 71296, 71352, 71360, 71369, 71424, 71450, 71453, 71467, 71472, 71481, 71488, 71494, 71680, 71738, 71840, 71913, 71935, 71942, 71945, 71945, 71948, 71955, 71957, 71958, 71960, 71989, 71991, 71992, 71995, 72003, 72016, 72025, 72096, 72103, 72106, 72151, 72154, 72161, 72163, 72164, 72192, 72254, 72263, 72263, 72272, 72345, 72349, 72349, 72368, 72440, 72704, 72712, 72714, 72758, 72760, 72768, 72784, 72793, 72818, 72847, 72850, 72871, 72873, 72886, 72960, 72966, 72968, 72969, 72971, 73014, 73018, 73018, 73020, 73021, 73023, 73031, 73040, 73049, 73056, 73061, 73063, 73064, 73066, 73102, 73104, 73105, 73107, 73112, 73120, 73129, 73440, 73462, 73472, 73488, 73490, 73530, 73534, 73538, 73552, 73561, 73648, 73648, 73728, 74649, 74752, 74862, 74880, 75075, 77712, 77808, 77824, 78895, 78912, 78933, 82944, 83526, 92160, 92728, 92736, 92766, 92768, 92777, 92784, 92862, 92864, 92873, 92880, 92909, 92912, 92916, 92928, 92982, 92992, 92995, 93008, 93017, 93027, 93047, 93053, 93071, 93760, 93823, 93952, 94026, 94031, 94087, 94095, 94111, 94176, 94177, 94179, 94180, 94192, 94193, 94208, 100343, 100352, 101589, 101632, 101640, 110576, 110579, 110581, 110587, 110589, 110590, 110592, 110882, 110898, 110898, 110928, 110930, 110933, 110933, 110948, 110951, 110960, 111355, 113664, 113770, 113776, 113788, 113792, 113800, 113808, 113817, 113821, 113822, 118528, 118573, 118576, 118598, 119141, 119145, 119149, 119154, 119163, 119170, 119173, 119179, 119210, 119213, 119362, 119364, 119808, 119892, 119894, 119964, 119966, 119967, 119970, 119970, 119973, 119974, 119977, 119980, 119982, 119993, 119995, 119995, 119997, 120003, 120005, 120069, 120071, 120074, 120077, 120084, 120086, 120092, 120094, 120121, 120123, 120126, 120128, 120132, 120134, 120134, 120138, 120144, 120146, 120485, 120488, 120512, 120514, 120538, 120540, 120570, 120572, 120596, 120598, 120628, 120630, 120654, 120656, 120686, 120688, 120712, 120714, 120744, 120746, 120770, 120772, 120779, 120782, 120831, 121344, 121398, 121403, 121452, 121461, 121461, 121476, 121476, 121499, 121503, 121505, 121519, 122624, 122654, 122661, 122666, 122880, 122886, 122888, 122904, 122907, 122913, 122915, 122916, 122918, 122922, 122928, 122989, 123023, 123023, 123136, 123180, 123184, 123197, 123200, 123209, 123214, 123214, 123536, 123566, 123584, 123641, 124112, 124153, 124896, 124902, 124904, 124907, 124909, 124910, 124912, 124926, 124928, 125124, 125136, 125142, 125184, 125259, 125264, 125273, 126464, 126467, 126469, 126495, 126497, 126498, 126500, 126500, 126503, 126503, 126505, 126514, 126516, 126519, 126521, 126521, 126523, 126523, 126530, 126530, 126535, 126535, 126537, 126537, 126539, 126539, 126541, 126543, 126545, 126546, 126548, 126548, 126551, 126551, 126553, 126553, 126555, 126555, 126557, 126557, 126559, 126559, 126561, 126562, 126564, 126564, 126567, 126570, 126572, 126578, 126580, 126583, 126585, 126588, 126590, 126590, 126592, 126601, 126603, 126619, 126625, 126627, 126629, 126633, 126635, 126651, 130032, 130041, 131072, 173791, 173824, 177977, 177984, 178205, 178208, 183969, 183984, 191456, 191472, 192093, 194560, 195101, 196608, 201546, 201552, 205743, 917760, 917999]; /** * Test for whether a single line comment with leading whitespace trimmed's text contains a directive. @@ -997,6 +997,19 @@ export function isIdentifierText(name: string, languageVersion: ScriptTarget | u return true; } +const enum EscapeSequenceScanningFlags { + String = 1 << 0, + ReportErrors = 1 << 1, + + RegularExpression = 1 << 2, + AnnexB = 1 << 3, + AnyUnicodeMode = 1 << 4, + AtomEscape = 1 << 5, + + ReportInvalidEscapeErrors = RegularExpression | ReportErrors, + ScanExtendedUnicodeEscape = String | AnyUnicodeMode, +} + const enum ClassSetExpressionType { Unknown, ClassUnion, @@ -1416,7 +1429,7 @@ export function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean } if (ch === CharacterCodes.backslash && !jsxAttributeString) { result += text.substring(start, pos); - result += scanEscapeSequence(/*shouldEmitInvalidEscapeError*/ true, /*isRegularExpression*/ false); + result += scanEscapeSequence(EscapeSequenceScanningFlags.String | EscapeSequenceScanningFlags.ReportErrors); start = pos; continue; } @@ -1474,7 +1487,7 @@ export function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean // Escape character if (currChar === CharacterCodes.backslash) { contents += text.substring(start, pos); - contents += scanEscapeSequence(shouldEmitInvalidEscapeError, /*isRegularExpression*/ false); + contents += scanEscapeSequence(EscapeSequenceScanningFlags.String | (shouldEmitInvalidEscapeError ? EscapeSequenceScanningFlags.ReportErrors : 0)); start = pos; continue; } @@ -1517,7 +1530,7 @@ export function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean // | [0-3] [0-7] [0-7]? // | [4-7] [0-7] // NonOctalDecimalEscapeSequence ::= [89] - function scanEscapeSequence(shouldEmitInvalidEscapeError: boolean, isRegularExpression: boolean | "annex-b"): string { + function scanEscapeSequence(flags: EscapeSequenceScanningFlags): string { const start = pos; pos++; if (pos >= end) { @@ -1554,9 +1567,12 @@ export function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean } // '\47' tokenFlags |= TokenFlags.ContainsInvalidEscape; - if (isRegularExpression || shouldEmitInvalidEscapeError) { + if (flags & EscapeSequenceScanningFlags.ReportInvalidEscapeErrors) { const code = parseInt(text.substring(start + 1, pos), 8); - if (isRegularExpression !== "annex-b") { + if (flags & EscapeSequenceScanningFlags.RegularExpression && !(flags & EscapeSequenceScanningFlags.AtomEscape) && ch !== CharacterCodes._0) { + error(Diagnostics.Octal_escape_sequences_and_backreferences_are_not_allowed_in_a_character_class_If_this_was_intended_as_an_escape_sequence_use_the_syntax_0_instead, start, pos - start, "\\x" + code.toString(16).padStart(2, "0")); + } + else { error(Diagnostics.Octal_escape_sequences_are_not_allowed_Use_the_syntax_0, start, pos - start, "\\x" + code.toString(16).padStart(2, "0")); } return String.fromCharCode(code); @@ -1566,8 +1582,13 @@ export function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean case CharacterCodes._9: // the invalid '\8' and '\9' tokenFlags |= TokenFlags.ContainsInvalidEscape; - if (isRegularExpression || shouldEmitInvalidEscapeError) { - error(Diagnostics.Escape_sequence_0_is_not_allowed, start, pos - start, text.substring(start, pos)); + if (flags & EscapeSequenceScanningFlags.ReportInvalidEscapeErrors) { + if (flags & EscapeSequenceScanningFlags.RegularExpression && !(flags & EscapeSequenceScanningFlags.AtomEscape)) { + error(Diagnostics.Decimal_escape_sequences_and_backreferences_are_not_allowed_in_a_character_class, start, pos - start); + } + else { + error(Diagnostics.Escape_sequence_0_is_not_allowed, start, pos - start, text.substring(start, pos)); + } return String.fromCharCode(ch); } return text.substring(start, pos); @@ -1589,18 +1610,18 @@ export function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean return '"'; case CharacterCodes.u: if ( - (!isRegularExpression || shouldEmitInvalidEscapeError) && + flags & EscapeSequenceScanningFlags.ScanExtendedUnicodeEscape && pos < end && charCodeUnchecked(pos) === CharacterCodes.openBrace ) { // '\u{DDDDDD}' pos -= 2; - return scanExtendedUnicodeEscape(!!isRegularExpression || shouldEmitInvalidEscapeError); + return scanExtendedUnicodeEscape(!!(flags & EscapeSequenceScanningFlags.ReportInvalidEscapeErrors)); } // '\uDDDD' for (; pos < start + 6; pos++) { if (!(pos < end && isHexDigit(charCodeUnchecked(pos)))) { tokenFlags |= TokenFlags.ContainsInvalidEscape; - if (isRegularExpression || shouldEmitInvalidEscapeError) { + if (flags & EscapeSequenceScanningFlags.ReportInvalidEscapeErrors) { error(Diagnostics.Hexadecimal_digit_expected); } return text.substring(start, pos); @@ -1610,10 +1631,10 @@ export function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean const escapedValue = parseInt(text.substring(start + 2, pos), 16); const escapedValueString = String.fromCharCode(escapedValue); if ( - isRegularExpression && shouldEmitInvalidEscapeError && escapedValue >= 0xD800 && escapedValue <= 0xDBFF && + flags & EscapeSequenceScanningFlags.AnyUnicodeMode && escapedValue >= 0xD800 && escapedValue <= 0xDBFF && pos + 6 < end && text.substring(pos, pos + 2) === "\\u" && charCodeUnchecked(pos + 2) !== CharacterCodes.openBrace ) { - // For regular expressions in Unicode mode, \u HexLeadSurrogate \u HexTrailSurrogate is treated as a single character + // For regular expressions in any Unicode mode, \u HexLeadSurrogate \u HexTrailSurrogate is treated as a single character // for the purpose of determining whether a character class range is out of order // https://tc39.es/ecma262/#prod-RegExpUnicodeEscapeSequence const nextStart = pos; @@ -1637,7 +1658,7 @@ export function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean for (; pos < start + 4; pos++) { if (!(pos < end && isHexDigit(charCodeUnchecked(pos)))) { tokenFlags |= TokenFlags.ContainsInvalidEscape; - if (isRegularExpression || shouldEmitInvalidEscapeError) { + if (flags & EscapeSequenceScanningFlags.ReportInvalidEscapeErrors) { error(Diagnostics.Hexadecimal_digit_expected); } return text.substring(start, pos); @@ -1658,7 +1679,12 @@ export function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean case CharacterCodes.paragraphSeparator: return ""; default: - if (isRegularExpression === true && (shouldEmitInvalidEscapeError || isIdentifierPart(ch, languageVersion))) { + if ( + flags & EscapeSequenceScanningFlags.AnyUnicodeMode + || flags & EscapeSequenceScanningFlags.RegularExpression + && !(flags & EscapeSequenceScanningFlags.AnnexB) + && isIdentifierPart(ch, languageVersion) + ) { error(Diagnostics.This_character_cannot_be_escaped_in_a_regular_expression, pos - 2, 2); } return String.fromCharCode(ch); @@ -2424,10 +2450,15 @@ export function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean function reScanSlashToken(reportErrors?: boolean): SyntaxKind { if (token === SyntaxKind.SlashToken || token === SyntaxKind.SlashEqualsToken) { // Quickly get to the end of regex such that we know the flags - let p = tokenStart + 1; + const startOfRegExpBody = tokenStart + 1; + pos = startOfRegExpBody; let inEscape = false; + let namedCaptureGroups = false; // Although nested character classes are allowed in Unicode Sets mode, - // an unescaped slash is nevertheless invalid even in a character class in Unicode mode. + // an unescaped slash is nevertheless invalid even in a character class in any Unicode mode. + // This is indicated by Section 12.9.5 Regular Expression Literals of the specification, + // where nested character classes are not considered at all. (A `[` RegularExpressionClassChar + // does nothing in a RegularExpressionClass, and a `]` always closes the class.) // Additionally, parsing nested character classes will misinterpret regexes like `/[[]/` // as unterminated, consuming characters beyond the slash. (This even applies to `/[[]/v`, // which should be parsed as a well-terminated regex with an incomplete character class.) @@ -2436,16 +2467,9 @@ export function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean while (true) { // If we reach the end of a file, or hit a newline, then this is an unterminated // regex. Report error and return what we have so far. - if (p >= end) { - tokenFlags |= TokenFlags.Unterminated; - error(Diagnostics.Unterminated_regular_expression_literal); - break; - } - - const ch = charCodeUnchecked(p); - if (isLineBreak(ch)) { + const ch = charCodeChecked(pos); + if (ch === CharacterCodes.EOF || isLineBreak(ch)) { tokenFlags |= TokenFlags.Unterminated; - error(Diagnostics.Unterminated_regular_expression_literal); break; } @@ -2457,7 +2481,6 @@ export function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean else if (ch === CharacterCodes.slash && !inCharacterClass) { // A slash within a character class is permissible, // but in general it signals the end of the regexp literal. - p++; break; } else if (ch === CharacterCodes.openBracket) { @@ -2469,47 +2492,99 @@ export function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean else if (ch === CharacterCodes.closeBracket) { inCharacterClass = false; } - p++; - } - const isUnterminated = !!(tokenFlags & TokenFlags.Unterminated); - const endOfBody = p - (isUnterminated ? 0 : 1); - let regExpFlags = RegularExpressionFlags.None; - while (p < end) { - const ch = charCodeUnchecked(p); - if (!isIdentifierPart(ch, languageVersion)) { - break; + else if ( + !inCharacterClass + && ch === CharacterCodes.openParen + && charCodeChecked(pos + 1) === CharacterCodes.question + && charCodeChecked(pos + 2) === CharacterCodes.lessThan + && charCodeChecked(pos + 3) !== CharacterCodes.equals + && charCodeChecked(pos + 3) !== CharacterCodes.exclamation + ) { + namedCaptureGroups = true; } - if (reportErrors) { - const flag = characterToRegularExpressionFlag(String.fromCharCode(ch)); - if (flag === undefined) { - error(Diagnostics.Unknown_regular_expression_flag, p, 1); + pos++; + } + const endOfRegExpBody = pos; + if (tokenFlags & TokenFlags.Unterminated) { + // Search for the nearest unbalanced bracket for better recovery. Since the expression is + // invalid anyways, we take nested square brackets into consideration for the best guess. + pos = startOfRegExpBody; + inEscape = false; + let characterClassDepth = 0; + let inDecimalQuantifier = false; + let groupDepth = 0; + while (pos < endOfRegExpBody) { + const ch = charCodeUnchecked(pos); + if (inEscape) { + inEscape = false; + } + else if (ch === CharacterCodes.backslash) { + inEscape = true; + } + else if (ch === CharacterCodes.openBracket) { + characterClassDepth++; + } + else if (ch === CharacterCodes.closeBracket && characterClassDepth) { + characterClassDepth--; + } + else if (!characterClassDepth) { + if (ch === CharacterCodes.openBrace) { + inDecimalQuantifier = true; + } + else if (ch === CharacterCodes.closeBrace && inDecimalQuantifier) { + inDecimalQuantifier = false; + } + else if (!inDecimalQuantifier) { + if (ch === CharacterCodes.openParen) { + groupDepth++; + } + else if (ch === CharacterCodes.closeParen && groupDepth) { + groupDepth--; + } + else if (ch === CharacterCodes.closeParen || ch === CharacterCodes.closeBracket || ch === CharacterCodes.closeBrace) { + // We encountered an unbalanced bracket outside a character class. Treat this position as the end of regex. + break; + } + } } - else if (regExpFlags & flag) { - error(Diagnostics.Duplicate_regular_expression_flag, p, 1); + pos++; + } + // Whitespaces and semicolons at the end are not likely to be part of the regex + while (isWhiteSpaceLike(charCodeChecked(pos - 1)) || charCodeChecked(pos - 1) === CharacterCodes.semicolon) pos--; + error(Diagnostics.Unterminated_regular_expression_literal, tokenStart, pos - tokenStart); + } + else { + // Consume the slash character + pos++; + let regExpFlags = RegularExpressionFlags.None; + while (true) { + const ch = codePointChecked(pos); + if (ch === CharacterCodes.EOF || !isIdentifierPart(ch, languageVersion)) { + break; } - else if (((regExpFlags | flag) & RegularExpressionFlags.UnicodeMode) === RegularExpressionFlags.UnicodeMode) { - error(Diagnostics.The_Unicode_u_flag_and_the_Unicode_Sets_v_flag_cannot_be_set_simultaneously, p, 1); + if (reportErrors) { + const flag = characterToRegularExpressionFlag(String.fromCharCode(ch)); + if (flag === undefined) { + error(Diagnostics.Unknown_regular_expression_flag, pos, 1); + } + else if (regExpFlags & flag) { + error(Diagnostics.Duplicate_regular_expression_flag, pos, 1); + } + else if (((regExpFlags | flag) & RegularExpressionFlags.AnyUnicodeMode) === RegularExpressionFlags.AnyUnicodeMode) { + error(Diagnostics.The_Unicode_u_flag_and_the_Unicode_Sets_v_flag_cannot_be_set_simultaneously, pos, 1); + } + else { + regExpFlags |= flag; + checkRegularExpressionFlagAvailable(flag, pos); + } } - else { - regExpFlags |= flag; - checkRegularExpressionFlagAvailable(flag, p); - } - } - p++; - } - pos = p; - if (reportErrors) { - const saveTokenStart = tokenStart; - const saveTokenFlags = tokenFlags; - const savePos = pos; - const saveEnd = end; - pos = tokenStart + 1; - end = endOfBody; - scanRegularExpressionWorker(regExpFlags, isUnterminated, /*annexB*/ true); - tokenStart = saveTokenStart; - tokenFlags = saveTokenFlags; - pos = savePos; - end = saveEnd; + pos++; + } + if (reportErrors) { + scanRange(startOfRegExpBody, endOfRegExpBody - startOfRegExpBody, () => { + scanRegularExpressionWorker(regExpFlags, /*annexB*/ true, namedCaptureGroups); + }); + } } tokenValue = text.substring(tokenStart, pos); token = SyntaxKind.RegularExpressionLiteral; @@ -2517,7 +2592,7 @@ export function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean return token; } - function scanRegularExpressionWorker(regExpFlags: RegularExpressionFlags, isUnterminated: boolean, annexB: boolean) { + function scanRegularExpressionWorker(regExpFlags: RegularExpressionFlags, annexB: boolean, namedCaptureGroups: boolean) { // Why var? It avoids TDZ checks in the runtime which can be costly. // See: https://github.com/microsoft/TypeScript/issues/52924 /* eslint-disable no-var */ @@ -2525,17 +2600,16 @@ export function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean /** Grammar parameter */ var unicodeSetsMode = !!(regExpFlags & RegularExpressionFlags.UnicodeSets); /** Grammar parameter */ - var unicodeMode = !!(regExpFlags & RegularExpressionFlags.UnicodeMode); + var anyUnicodeMode = !!(regExpFlags & RegularExpressionFlags.AnyUnicodeMode); - if (unicodeMode) { - // Annex B treats any unicode mode as the strict syntax. - annexB = false; - } + // Regular expressions are checked more strictly when either in 'u' or 'v' mode, or + // when not using the looser interpretation of the syntax from ECMA-262 Annex B. + var anyUnicodeModeOrNonAnnexB = anyUnicodeMode || !annexB; /** @see {scanClassSetExpression} */ var mayContainStrings = false; - /** The number of numeric (anonymous) capturing groups defined in the regex. */ + /** The number of all (named and unnamed) capturing groups defined in the regex. */ var numberOfCapturingGroups = 0; /** All named capturing groups defined in the regex. */ var groupSpecifiers: Set | undefined; @@ -2626,7 +2700,7 @@ export function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean case CharacterCodes.exclamation: pos++; // In Annex B, `(?=Disjunction)` and `(?!Disjunction)` are quantifiable - isPreviousTermQuantifiable = annexB; + isPreviousTermQuantifiable = !anyUnicodeModeOrNonAnnexB; break; case CharacterCodes.lessThan: const groupNameStart = pos; @@ -2675,6 +2749,10 @@ export function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean const digitsStart = pos; scanDigits(); const min = tokenValue; + if (!anyUnicodeModeOrNonAnnexB && !min) { + isPreviousTermQuantifiable = true; + break; + } if (charCodeChecked(pos) === CharacterCodes.comma) { pos++; scanDigits(); @@ -2684,26 +2762,32 @@ export function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean error(Diagnostics.Incomplete_quantifier_Digit_expected, digitsStart, 0); } else { - if (unicodeMode) { - error(Diagnostics.Unexpected_0_Did_you_mean_to_escape_it_with_backslash, start, 1, String.fromCharCode(ch)); - } + error(Diagnostics.Unexpected_0_Did_you_mean_to_escape_it_with_backslash, start, 1, String.fromCharCode(ch)); isPreviousTermQuantifiable = true; break; } } - if (max && Number.parseInt(min) > Number.parseInt(max)) { + else if (max && Number.parseInt(min) > Number.parseInt(max) && (anyUnicodeModeOrNonAnnexB || charCodeChecked(pos) === CharacterCodes.closeBrace)) { error(Diagnostics.Numbers_out_of_order_in_quantifier, digitsStart, pos - digitsStart); } } else if (!min) { - if (unicodeMode) { + if (anyUnicodeModeOrNonAnnexB) { error(Diagnostics.Unexpected_0_Did_you_mean_to_escape_it_with_backslash, start, 1, String.fromCharCode(ch)); } isPreviousTermQuantifiable = true; break; } - scanExpectedChar(CharacterCodes.closeBrace); - pos--; + if (charCodeChecked(pos) !== CharacterCodes.closeBrace) { + if (anyUnicodeModeOrNonAnnexB) { + error(Diagnostics._0_expected, pos, 0, String.fromCharCode(CharacterCodes.closeBrace)); + pos--; + } + else { + isPreviousTermQuantifiable = true; + break; + } + } // falls through case CharacterCodes.asterisk: case CharacterCodes.plus: @@ -2740,11 +2824,7 @@ export function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean // falls through case CharacterCodes.closeBracket: case CharacterCodes.closeBrace: - if (isUnterminated && !isInGroup) { - // Assume what starting from the character to be outside of the regex - return; - } - if (unicodeMode || ch === CharacterCodes.closeParen) { + if (anyUnicodeModeOrNonAnnexB || ch === CharacterCodes.closeParen) { error(Diagnostics.Unexpected_0_Did_you_mean_to_escape_it_with_backslash, pos, 1, String.fromCharCode(ch)); } pos++; @@ -2801,7 +2881,7 @@ export function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean scanGroupName(/*isReference*/ true); scanExpectedChar(CharacterCodes.greaterThan); } - else if (unicodeMode) { + else if (anyUnicodeModeOrNonAnnexB || namedCaptureGroups) { error(Diagnostics.k_must_be_followed_by_a_capturing_group_name_enclosed_in_angle_brackets, pos - 2, 2); } break; @@ -2844,6 +2924,9 @@ export function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean Debug.assertEqual(charCodeUnchecked(pos - 1), CharacterCodes.backslash); let ch = charCodeChecked(pos); switch (ch) { + case CharacterCodes.EOF: + error(Diagnostics.Undetermined_character_escape, pos - 1, 1); + return "\\"; case CharacterCodes.c: pos++; ch = charCodeChecked(pos); @@ -2851,10 +2934,10 @@ export function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean pos++; return String.fromCharCode(ch & 0x1f); } - if (unicodeMode) { + if (anyUnicodeModeOrNonAnnexB) { error(Diagnostics.c_must_be_followed_by_an_ASCII_letter, pos - 2, 2); } - else if (atomEscape && annexB) { + else if (atomEscape) { // Annex B treats // // ExtendedAtom : `\` [lookahead = `c`] @@ -2882,12 +2965,13 @@ export function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean pos++; return String.fromCharCode(ch); default: - if (pos >= end) { - error(Diagnostics.Undetermined_character_escape, pos - 1, 1); - return "\\"; - } pos--; - return scanEscapeSequence(/*shouldEmitInvalidEscapeError*/ unicodeMode, /*isRegularExpression*/ annexB ? "annex-b" : true); + return scanEscapeSequence( + EscapeSequenceScanningFlags.RegularExpression + | (annexB ? EscapeSequenceScanningFlags.AnnexB : 0) + | (anyUnicodeMode ? EscapeSequenceScanningFlags.AnyUnicodeMode : 0) + | (atomEscape ? EscapeSequenceScanningFlags.AtomEscape : 0), + ); } } @@ -2936,12 +3020,12 @@ export function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean if (isClassContentExit(ch)) { return; } - if (!minCharacter && !annexB) { + if (!minCharacter && anyUnicodeModeOrNonAnnexB) { error(Diagnostics.A_character_class_range_must_not_be_bounded_by_another_character_class, minStart, pos - 1 - minStart); } const maxStart = pos; const maxCharacter = scanClassAtom(); - if (!maxCharacter && !annexB) { + if (!maxCharacter && anyUnicodeModeOrNonAnnexB) { error(Diagnostics.A_character_class_range_must_not_be_bounded_by_another_character_class, maxStart, pos - maxStart); continue; } @@ -3433,13 +3517,17 @@ export function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean } } scanExpectedChar(CharacterCodes.closeBrace); - if (!unicodeMode) { + if (!anyUnicodeMode) { error(Diagnostics.Unicode_property_value_expressions_are_only_available_when_the_Unicode_u_flag_or_the_Unicode_Sets_v_flag_is_set, start, pos - start); } } - else if (unicodeMode) { + else if (anyUnicodeModeOrNonAnnexB) { error(Diagnostics._0_must_be_followed_by_a_Unicode_property_value_expression_enclosed_in_braces, pos - 2, 2, String.fromCharCode(ch)); } + else { + pos--; + return false; + } return true; } return false; @@ -3459,7 +3547,7 @@ export function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean } function scanSourceCharacter(): string { - const size = unicodeMode ? charSize(charCodeChecked(pos)) : 1; + const size = anyUnicodeMode ? charSize(charCodeChecked(pos)) : 1; pos += size; return size > 0 ? text.substring(pos - size, pos) : ""; } @@ -3481,14 +3569,15 @@ export function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean } }); forEach(decimalEscapes, escape => { - // in AnnexB, if a DecimalEscape is greater than the number of capturing groups then it is treated as - // either a LegacyOctalEscapeSequence or IdentityEscape - if (!annexB && escape.value > numberOfCapturingGroups) { + // Although a DecimalEscape with a value greater than the number of capturing groups + // is treated as either a LegacyOctalEscapeSequence or an IdentityEscape in Annex B, + // an error is nevertheless reported since it's most likely a mistake. + if (escape.value > numberOfCapturingGroups) { if (numberOfCapturingGroups) { error(Diagnostics.This_backreference_refers_to_a_group_that_does_not_exist_There_are_only_0_capturing_groups_in_this_regular_expression, escape.pos, escape.end - escape.pos, numberOfCapturingGroups); } else { - error(Diagnostics.This_backreference_is_invalid_because_the_containing_regular_expression_contains_no_capturing_groups, escape.pos, escape.end - escape.pos); + error(Diagnostics.This_backreference_refers_to_a_group_that_does_not_exist_There_are_no_capturing_groups_in_this_regular_expression, escape.pos, escape.end - escape.pos); } } }); diff --git a/src/compiler/semver.ts b/src/compiler/semver.ts index 23573253459d5..2e472e3af5af1 100644 --- a/src/compiler/semver.ts +++ b/src/compiler/semver.ts @@ -8,7 +8,7 @@ import { isArray, map, some, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; // https://semver.org/#spec-item-2 // > A normal version number MUST take the form X.Y.Z where X, Y, and Z are non-negative diff --git a/src/compiler/sourcemap.ts b/src/compiler/sourcemap.ts index d6240cf0aa2bf..fbc30ba0c6ddd 100644 --- a/src/compiler/sourcemap.ts +++ b/src/compiler/sourcemap.ts @@ -24,8 +24,8 @@ import { sortAndDeduplicate, SortedReadonlyArray, SourceMapGenerator, -} from "./_namespaces/ts"; -import * as performance from "./_namespaces/ts.performance"; +} from "./_namespaces/ts.js"; +import * as performance from "./_namespaces/ts.performance.js"; /** @internal */ export interface SourceMapGeneratorOptions { diff --git a/src/compiler/symbolWalker.ts b/src/compiler/symbolWalker.ts index 3adeee07406e4..6942028d9af79 100644 --- a/src/compiler/symbolWalker.ts +++ b/src/compiler/symbolWalker.ts @@ -24,7 +24,7 @@ import { TypeQueryNode, TypeReference, UnionOrIntersectionType, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; /** @internal */ export function createGetSymbolWalker( diff --git a/src/compiler/sys.ts b/src/compiler/sys.ts index 86e029c799494..a8fdd4d156822 100644 --- a/src/compiler/sys.ts +++ b/src/compiler/sys.ts @@ -46,7 +46,7 @@ import { WatchFileKind, WatchOptions, writeFileEnsuringDirectories, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; declare function setTimeout(handler: (...args: any[]) => void, timeout: number): any; declare function clearTimeout(handle: any): void; diff --git a/src/compiler/tracing.ts b/src/compiler/tracing.ts index a1431b5749ee2..94e9bd57c83b6 100644 --- a/src/compiler/tracing.ts +++ b/src/compiler/tracing.ts @@ -20,8 +20,8 @@ import { TypeReference, unescapeLeadingUnderscores, UnionType, -} from "./_namespaces/ts"; -import * as performance from "./_namespaces/ts.performance"; +} from "./_namespaces/ts.js"; +import * as performance from "./_namespaces/ts.performance.js"; /* Tracing events for the compiler. */ diff --git a/src/compiler/transformer.ts b/src/compiler/transformer.ts index 607cf01e63deb..bd181e5f3c028 100644 --- a/src/compiler/transformer.ts +++ b/src/compiler/transformer.ts @@ -72,8 +72,8 @@ import { transformSystemModule, transformTypeScript, VariableDeclaration, -} from "./_namespaces/ts"; -import * as performance from "./_namespaces/ts.performance"; +} from "./_namespaces/ts.js"; +import * as performance from "./_namespaces/ts.performance.js"; function getModuleTransformer(moduleKind: ModuleKind): TransformerFactory { switch (moduleKind) { diff --git a/src/compiler/transformers/classFields.ts b/src/compiler/transformers/classFields.ts index ede44357f242d..b75468adc642f 100644 --- a/src/compiler/transformers/classFields.ts +++ b/src/compiler/transformers/classFields.ts @@ -86,9 +86,9 @@ import { isCallChain, isCallToHelper, isCatchClause, - isClassDeclaration, isClassElement, isClassExpression, + isClassLike, isClassNamedEvaluationHelperBlock, isClassStaticBlockDeclaration, isClassThisAssignmentBlock, @@ -225,7 +225,7 @@ import { Visitor, visitParameterList, VisitResult, -} from "../_namespaces/ts"; +} from "../_namespaces/ts.js"; const enum ClassPropertySubstitutionFlags { /** @@ -901,10 +901,9 @@ export function transformClassFields(context: TransformationContext): (x: Source } } - function getClassThis() { + function tryGetClassThis() { const lex = getClassLexicalEnvironment(); - const classThis = lex.classThis ?? lex.classConstructor ?? currentClassContainer?.name; - return Debug.checkDefined(classThis); + return lex.classThis ?? lex.classConstructor ?? currentClassContainer?.name; } function transformAutoAccessor(node: AutoAccessorPropertyDeclaration): VisitResult { @@ -946,7 +945,7 @@ export function transformClassFields(context: TransformationContext): (x: Source setEmitFlags(backingField, EmitFlags.NoComments); setSourceMapRange(backingField, sourceMapRange); - const receiver = isStatic(node) ? getClassThis() : factory.createThis(); + const receiver = isStatic(node) ? tryGetClassThis() ?? factory.createThis() : factory.createThis(); const getter = createAccessorPropertyGetRedirector(factory, node, modifiers, getterName, receiver); setOriginalNode(getter, node); setCommentRange(getter, commentRange); @@ -1713,7 +1712,7 @@ export function transformClassFields(context: TransformationContext): (x: Source function getClassFacts(node: ClassLikeDeclaration) { let facts = ClassFacts.None; const original = getOriginalNode(node); - if (isClassDeclaration(original) && classOrConstructorParameterIsDecorated(legacyDecorators, original)) { + if (isClassLike(original) && classOrConstructorParameterIsDecorated(legacyDecorators, original)) { facts |= ClassFacts.ClassWasDecorated; } if (shouldTransformPrivateElementsOrClassStaticBlocks && (classHasClassThisAssignment(node) || classHasExplicitlyAssignedName(node))) { @@ -1755,7 +1754,7 @@ export function transformClassFields(context: TransformationContext): (x: Source } else if (isPrivateIdentifierClassElementDeclaration(member)) { containsInstancePrivateElements = true; - if (resolver.getNodeCheckFlags(member) & NodeCheckFlags.ContainsConstructorReference) { + if (resolver.hasNodeCheckFlag(member, NodeCheckFlags.ContainsConstructorReference)) { facts |= ClassFacts.NeedsClassConstructorReference; } } @@ -1889,7 +1888,7 @@ export function transformClassFields(context: TransformationContext): (x: Source getClassLexicalEnvironment().classThis = node.emitNode.classThis; } - const isClassWithConstructorReference = resolver.getNodeCheckFlags(node) & NodeCheckFlags.ContainsConstructorReference; + const isClassWithConstructorReference = resolver.hasNodeCheckFlag(node, NodeCheckFlags.ContainsConstructorReference); const isExport = hasSyntacticModifier(node, ModifierFlags.Export); const isDefault = hasSyntacticModifier(node, ModifierFlags.Default); let modifiers = visitNodes(node.modifiers, modifierVisitor, isModifier); @@ -1965,8 +1964,8 @@ export function transformClassFields(context: TransformationContext): (x: Source // these statements after the class expression variable statement. const isDecoratedClassDeclaration = !!(facts & ClassFacts.ClassWasDecorated); const staticPropertiesOrClassStaticBlocks = getStaticPropertiesAndClassStaticBlock(node); - const classCheckFlags = resolver.getNodeCheckFlags(node); - const isClassWithConstructorReference = classCheckFlags & NodeCheckFlags.ContainsConstructorReference; + const isClassWithConstructorReference = resolver.hasNodeCheckFlag(node, NodeCheckFlags.ContainsConstructorReference); + const requiresBlockScopedVar = resolver.hasNodeCheckFlag(node, NodeCheckFlags.BlockScopedBindingInLoop); let temp: Identifier | undefined; function createClassTempVar() { @@ -1983,7 +1982,6 @@ export function transformClassFields(context: TransformationContext): (x: Source return getClassLexicalEnvironment().classConstructor = node.emitNode.classThis; } - const requiresBlockScopedVar = classCheckFlags & NodeCheckFlags.BlockScopedBindingInLoop; const temp = factory.createTempVariable(requiresBlockScopedVar ? addBlockScopedVariable : hoistVariableDeclaration, /*reservedInNestedScopes*/ true); getClassLexicalEnvironment().classConstructor = factory.cloneNode(temp); return temp; @@ -2712,7 +2710,7 @@ export function transformClassFields(context: TransformationContext): (x: Source const alreadyTransformed = !!cacheAssignment || isAssignmentExpression(innerExpression) && isGeneratedIdentifier(innerExpression.left); if (!alreadyTransformed && !inlinable && shouldHoist) { const generatedName = factory.getGeneratedNameForNode(name); - if (resolver.getNodeCheckFlags(name) & NodeCheckFlags.BlockScopedBindingInLoop) { + if (resolver.hasNodeCheckFlag(name, NodeCheckFlags.BlockScopedBindingInLoop)) { addBlockScopedVariable(generatedName); } else { @@ -2960,7 +2958,7 @@ export function transformClassFields(context: TransformationContext): (x: Source typeof name === "string" ? factory.createUniqueName(name, GeneratedIdentifierFlags.Optimistic, prefix, suffix) : factory.createTempVariable(/*recordTempVariable*/ undefined, /*reservedInNestedScopes*/ true, prefix, suffix); - if (resolver.getNodeCheckFlags(node) & NodeCheckFlags.BlockScopedBindingInLoop) { + if (resolver.hasNodeCheckFlag(node, NodeCheckFlags.BlockScopedBindingInLoop)) { addBlockScopedVariable(identifier); } else { @@ -3295,7 +3293,7 @@ export function transformClassFields(context: TransformationContext): (x: Source function trySubstituteClassAlias(node: Identifier): Expression | undefined { if (enabledSubstitutions & ClassPropertySubstitutionFlags.ClassAliases) { - if (resolver.getNodeCheckFlags(node) & NodeCheckFlags.ConstructorReference) { + if (resolver.hasNodeCheckFlag(node, NodeCheckFlags.ConstructorReference)) { // Due to the emit for class decorators, any reference to the class from inside of the class body // must instead be rewritten to point to a temporary variable to avoid issues with the double-bind // behavior of class names in ES6. diff --git a/src/compiler/transformers/classThis.ts b/src/compiler/transformers/classThis.ts index 48f51ea8477c4..d6678e6c082a2 100644 --- a/src/compiler/transformers/classThis.ts +++ b/src/compiler/transformers/classThis.ts @@ -21,7 +21,7 @@ import { Statement, SyntaxKind, ThisExpression, -} from "../_namespaces/ts"; +} from "../_namespaces/ts.js"; /** * Creates a class `static {}` block used to assign the static `this` to a `_classThis` (or similar) variable. diff --git a/src/compiler/transformers/declarations.ts b/src/compiler/transformers/declarations.ts index c14408ad5ef7d..ab75abaad6e0e 100644 --- a/src/compiler/transformers/declarations.ts +++ b/src/compiler/transformers/declarations.ts @@ -139,6 +139,7 @@ import { isTupleTypeNode, isTypeAliasDeclaration, isTypeElement, + isTypeLiteralNode, isTypeNode, isTypeParameterDeclaration, isTypeQueryNode, @@ -210,7 +211,7 @@ import { visitNode, visitNodes, VisitResult, -} from "../_namespaces/ts"; +} from "../_namespaces/ts.js"; /** @internal */ export function getDeclarationDiagnostics(host: EmitHost, resolver: EmitResolver, file: SourceFile | undefined): DiagnosticWithLocation[] | undefined { @@ -233,6 +234,7 @@ const declarationEmitNodeBuilderFlags = NodeBuilderFlags.MultilineObjectLiterals NodeBuilderFlags.UseTypeOfFunction | NodeBuilderFlags.UseStructuralFallback | NodeBuilderFlags.AllowEmptyTuple | + NodeBuilderFlags.AllowUnresolvedNames | NodeBuilderFlags.GenerateNamesForShadowedTypeParams | NodeBuilderFlags.NoTruncation; @@ -323,7 +325,8 @@ export function transformDeclarations(context: TransformationContext) { } // TODO: Do all these accessibility checks inside/after the first pass in the checker when declarations are enabled, if possible } - else { + // The checker should issue errors on unresolvable names, skip the declaration emit error for using a private/unreachable name for those + else if (symbolAccessibilityResult.accessibility !== SymbolAccessibility.NotResolved) { // Report error const errorInfo = getSymbolAccessibilityDiagnostic(symbolAccessibilityResult); if (errorInfo) { @@ -993,20 +996,26 @@ export function transformDeclarations(context: TransformationContext) { if (shouldStripInternal(input)) return; if (isDeclaration(input)) { if (isDeclarationAndNotVisible(input)) return; - if (hasDynamicName(input) && !resolver.isLateBound(getParseTreeNode(input) as Declaration)) { - if ( - isolatedDeclarations - // Classes usually elide properties with computed names that are not of a literal type + if (hasDynamicName(input)) { + if (isolatedDeclarations) { + // Classes and object literals usually elide properties with computed names that are not of a literal type // In isolated declarations TSC needs to error on these as we don't know the type in a DTE. - && isClassDeclaration(input.parent) - && isEntityNameExpression(input.name.expression) - // If the symbol is not accessible we get another TS error no need to add to that - && resolver.isEntityNameVisible(input.name.expression, input.parent).accessibility === SymbolAccessibility.Accessible - && !resolver.isNonNarrowedBindableName(input.name) - ) { - context.addDiagnostic(createDiagnosticForNode(input, Diagnostics.Computed_properties_must_be_number_or_string_literals_variables_or_dotted_expressions_with_isolatedDeclarations)); + if (isClassDeclaration(input.parent) || isObjectLiteralExpression(input.parent)) { + context.addDiagnostic(createDiagnosticForNode(input, Diagnostics.Computed_property_names_on_class_or_object_literals_cannot_be_inferred_with_isolatedDeclarations)); + return; + } + else if ( + // Type declarations just need to double-check that the input computed name is an entity name expression + (isInterfaceDeclaration(input.parent) || isTypeLiteralNode(input.parent)) + && !isEntityNameExpression(input.name.expression) + ) { + context.addDiagnostic(createDiagnosticForNode(input, Diagnostics.Computed_properties_must_be_number_or_string_literals_variables_or_dotted_expressions_with_isolatedDeclarations)); + return; + } + } + else if (!resolver.isLateBound(getParseTreeNode(input) as Declaration) || !isEntityNameExpression(input.name.expression)) { + return; } - return; } } @@ -1778,7 +1787,7 @@ export function transformDeclarations(context: TransformationContext) { getSymbolAccessibilityDiagnostic = createGetSymbolAccessibilityDiagnosticForNodeName(node); } errorNameNode = (node as NamedDeclaration).name; - Debug.assert(resolver.isLateBound(getParseTreeNode(node) as Declaration)); // Should only be called with dynamic names + Debug.assert(hasDynamicName(node as NamedDeclaration)); // Should only be called with dynamic names const decl = node as NamedDeclaration as LateBoundDeclaration; const entityName = decl.name.expression; checkEntityNameVisibility(entityName, enclosingDeclaration); diff --git a/src/compiler/transformers/declarations/diagnostics.ts b/src/compiler/transformers/declarations/diagnostics.ts index 7d0c9551e61bb..22bb998ae60bf 100644 --- a/src/compiler/transformers/declarations/diagnostics.ts +++ b/src/compiler/transformers/declarations/diagnostics.ts @@ -19,12 +19,14 @@ import { DiagnosticWithLocation, ElementAccessExpression, EmitResolver, + EntityNameOrEntityNameExpression, ExportAssignment, Expression, ExpressionWithTypeArguments, findAncestor, FunctionDeclaration, FunctionExpression, + FunctionLikeDeclaration, GetAccessorDeclaration, getAllAccessorDeclarations, getNameOfDeclaration, @@ -40,9 +42,12 @@ import { isConstructorDeclaration, isConstructSignatureDeclaration, isElementAccessExpression, + isEntityName, + isEntityNameExpression, isExportAssignment, isExpressionWithTypeArguments, isFunctionDeclaration, + isFunctionLikeDeclaration, isGetAccessor, isHeritageClause, isImportEqualsDeclaration, @@ -53,15 +58,18 @@ import { isParameter, isParameterPropertyDeclaration, isParenthesizedExpression, + isPartOfTypeNode, isPropertyAccessExpression, isPropertyDeclaration, isPropertySignature, + isReturnStatement, isSetAccessor, isStatement, isStatic, isTypeAliasDeclaration, isTypeAssertionExpression, isTypeParameterDeclaration, + isTypeQueryNode, isVariableDeclaration, JSDocCallbackTag, JSDocEnumTag, @@ -87,7 +95,7 @@ import { TypeAliasDeclaration, TypeParameterDeclaration, VariableDeclaration, -} from "../../_namespaces/ts"; +} from "../../_namespaces/ts.js"; /** @internal */ export type GetSymbolAccessibilityDiagnostic = (symbolAccessibilityResult: SymbolAccessibilityResult) => SymbolAccessibilityDiagnostic | undefined; @@ -623,7 +631,7 @@ export function createGetIsolatedDeclarationErrors(resolver: EmitResolver) { [SyntaxKind.VariableDeclaration]: Diagnostics.Variable_must_have_an_explicit_type_annotation_with_isolatedDeclarations, [SyntaxKind.PropertyDeclaration]: Diagnostics.Property_must_have_an_explicit_type_annotation_with_isolatedDeclarations, [SyntaxKind.PropertySignature]: Diagnostics.Property_must_have_an_explicit_type_annotation_with_isolatedDeclarations, - [SyntaxKind.ComputedPropertyName]: Diagnostics.Computed_properties_must_be_number_or_string_literals_variables_or_dotted_expressions_with_isolatedDeclarations, + [SyntaxKind.ComputedPropertyName]: Diagnostics.Computed_property_names_on_class_or_object_literals_cannot_be_inferred_with_isolatedDeclarations, [SyntaxKind.SpreadAssignment]: Diagnostics.Objects_that_contain_spread_assignments_can_t_be_inferred_with_isolatedDeclarations, [SyntaxKind.ShorthandPropertyAssignment]: Diagnostics.Objects_that_contain_shorthand_properties_can_t_be_inferred_with_isolatedDeclarations, [SyntaxKind.ArrayLiteralExpression]: Diagnostics.Only_const_arrays_can_be_inferred_with_isolatedDeclarations, @@ -658,6 +666,9 @@ export function createGetIsolatedDeclarationErrors(resolver: EmitResolver) { if (heritageClause) { return createDiagnosticForNode(node, Diagnostics.Extends_clause_can_t_contain_an_expression_with_isolatedDeclarations); } + if ((isPartOfTypeNode(node) || isTypeQueryNode(node.parent)) && (isEntityName(node) || isEntityNameExpression(node))) { + return createEntityInTypeNodeError(node); + } Debug.type(node); switch (node.kind) { case SyntaxKind.GetAccessor: @@ -694,8 +705,15 @@ export function createGetIsolatedDeclarationErrors(resolver: EmitResolver) { } function findNearestDeclaration(node: Node) { - const result = findAncestor(node, n => isExportAssignment(n) || (isStatement(n) ? "quit" : isVariableDeclaration(n) || isPropertyDeclaration(n) || isParameter(n))); - return result as VariableDeclaration | PropertyDeclaration | ParameterDeclaration | ExportAssignment | undefined; + const result = findAncestor(node, n => isExportAssignment(n) || isStatement(n) || isVariableDeclaration(n) || isPropertyDeclaration(n) || isParameter(n)); + if (!result) return undefined; + + if (isExportAssignment(result)) return result; + + if (isReturnStatement(result)) { + return findAncestor(result, (n): n is Exclude => isFunctionLikeDeclaration(n) && !isConstructorDeclaration(n)); + } + return (isStatement(result) ? undefined : result) as VariableDeclaration | PropertyDeclaration | ParameterDeclaration | ExportAssignment | undefined; } function createAccessorTypeError(node: GetAccessorDeclaration | SetAccessorDeclaration) { @@ -712,31 +730,27 @@ export function createGetIsolatedDeclarationErrors(resolver: EmitResolver) { } return diag; } - function createObjectLiteralError(node: ShorthandPropertyAssignment | SpreadAssignment | ComputedPropertyName) { - const diag = createDiagnosticForNode(node, errorByDeclarationKind[node.kind]); + function addParentDeclarationRelatedInfo(node: Node, diag: DiagnosticWithLocation) { const parentDeclaration = findNearestDeclaration(node); if (parentDeclaration) { - const targetStr = isExportAssignment(parentDeclaration) ? "" : getTextOfNode(parentDeclaration.name, /*includeTrivia*/ false); + const targetStr = isExportAssignment(parentDeclaration) || !parentDeclaration.name ? "" : getTextOfNode(parentDeclaration.name, /*includeTrivia*/ false); addRelatedInfo(diag, createDiagnosticForNode(parentDeclaration, relatedSuggestionByDeclarationKind[parentDeclaration.kind], targetStr)); } return diag; } + function createObjectLiteralError(node: ShorthandPropertyAssignment | SpreadAssignment | ComputedPropertyName) { + const diag = createDiagnosticForNode(node, errorByDeclarationKind[node.kind]); + addParentDeclarationRelatedInfo(node, diag); + return diag; + } function createArrayLiteralError(node: ArrayLiteralExpression | SpreadElement) { const diag = createDiagnosticForNode(node, errorByDeclarationKind[node.kind]); - const parentDeclaration = findNearestDeclaration(node); - if (parentDeclaration) { - const targetStr = isExportAssignment(parentDeclaration) ? "" : getTextOfNode(parentDeclaration.name, /*includeTrivia*/ false); - addRelatedInfo(diag, createDiagnosticForNode(parentDeclaration, relatedSuggestionByDeclarationKind[parentDeclaration.kind], targetStr)); - } + addParentDeclarationRelatedInfo(node, diag); return diag; } function createReturnTypeError(node: FunctionDeclaration | FunctionExpression | ArrowFunction | MethodDeclaration | ConstructSignatureDeclaration) { const diag = createDiagnosticForNode(node, errorByDeclarationKind[node.kind]); - const parentDeclaration = findNearestDeclaration(node); - if (parentDeclaration) { - const targetStr = isExportAssignment(parentDeclaration) ? "" : getTextOfNode(parentDeclaration.name, /*includeTrivia*/ false); - addRelatedInfo(diag, createDiagnosticForNode(parentDeclaration, relatedSuggestionByDeclarationKind[parentDeclaration.kind], targetStr)); - } + addParentDeclarationRelatedInfo(node, diag); addRelatedInfo(diag, createDiagnosticForNode(node, relatedSuggestionByDeclarationKind[node.kind])); return diag; } @@ -768,12 +782,18 @@ export function createGetIsolatedDeclarationErrors(resolver: EmitResolver) { function createClassExpressionError(node: Expression) { return createExpressionError(node, Diagnostics.Inference_from_class_expressions_is_not_supported_with_isolatedDeclarations); } + function createEntityInTypeNodeError(node: EntityNameOrEntityNameExpression) { + const diag = createDiagnosticForNode(node, Diagnostics.Type_containing_private_name_0_can_t_be_used_with_isolatedDeclarations, getTextOfNode(node, /*includeTrivia*/ false)); + addParentDeclarationRelatedInfo(node, diag); + return diag; + } function createExpressionError(node: Expression, diagnosticMessage?: DiagnosticMessage) { const parentDeclaration = findNearestDeclaration(node); let diag: DiagnosticWithLocation; if (parentDeclaration) { - const targetStr = isExportAssignment(parentDeclaration) ? "" : getTextOfNode(parentDeclaration.name, /*includeTrivia*/ false); + const targetStr = isExportAssignment(parentDeclaration) || !parentDeclaration.name ? "" : getTextOfNode(parentDeclaration.name, /*includeTrivia*/ false); const parent = findAncestor(node.parent, n => isExportAssignment(n) || (isStatement(n) ? "quit" : !isParenthesizedExpression(n) && !isTypeAssertionExpression(n) && !isAsExpression(n))); + if (parentDeclaration === parent) { diag = createDiagnosticForNode(node, diagnosticMessage ?? errorByDeclarationKind[parentDeclaration.kind]); addRelatedInfo(diag, createDiagnosticForNode(parentDeclaration, relatedSuggestionByDeclarationKind[parentDeclaration.kind], targetStr)); diff --git a/src/compiler/transformers/destructuring.ts b/src/compiler/transformers/destructuring.ts index 1a3b93e8b77fa..aa61d9f64787b 100644 --- a/src/compiler/transformers/destructuring.ts +++ b/src/compiler/transformers/destructuring.ts @@ -60,7 +60,7 @@ import { VariableDeclaration, visitNode, VisitResult, -} from "../_namespaces/ts"; +} from "../_namespaces/ts.js"; interface FlattenContext { context: TransformationContext; diff --git a/src/compiler/transformers/es2015.ts b/src/compiler/transformers/es2015.ts index f8849b8cb23f7..6973b1aef26e0 100644 --- a/src/compiler/transformers/es2015.ts +++ b/src/compiler/transformers/es2015.ts @@ -215,7 +215,7 @@ import { VoidExpression, WhileStatement, YieldExpression, -} from "../_namespaces/ts"; +} from "../_namespaces/ts.js"; const enum ES2015SubstitutionFlags { /** Enables substitutions for captured `this` */ @@ -2867,9 +2867,8 @@ export function transformES2015(context: TransformationContext): (x: SourceFile // * Why loop initializer is excluded? // - Since we've introduced a fresh name it already will be undefined. - const flags = resolver.getNodeCheckFlags(node); - const isCapturedInFunction = flags & NodeCheckFlags.CapturedBlockScopedBinding; - const isDeclaredInLoop = flags & NodeCheckFlags.BlockScopedBindingInLoop; + const isCapturedInFunction = resolver.hasNodeCheckFlag(node, NodeCheckFlags.CapturedBlockScopedBinding); + const isDeclaredInLoop = resolver.hasNodeCheckFlag(node, NodeCheckFlags.BlockScopedBindingInLoop); const emittedAsTopLevel = (hierarchyFacts & HierarchyFacts.TopLevel) !== 0 || (isCapturedInFunction && isDeclaredInLoop @@ -3373,7 +3372,7 @@ export function transformES2015(context: TransformationContext): (x: SourceFile } function shouldConvertPartOfIterationStatement(node: Node) { - return (resolver.getNodeCheckFlags(node) & NodeCheckFlags.ContainsCapturedBlockScopeBinding) !== 0; + return resolver.hasNodeCheckFlag(node, NodeCheckFlags.ContainsCapturedBlockScopeBinding); } function shouldConvertInitializerOfForStatement(node: IterationStatement): node is ForStatementWithConvertibleInitializer { @@ -3394,7 +3393,7 @@ export function transformES2015(context: TransformationContext): (x: SourceFile } function shouldConvertBodyOfIterationStatement(node: IterationStatement): boolean { - return (resolver.getNodeCheckFlags(node) & NodeCheckFlags.LoopWithCapturedBlockScopedBinding) !== 0; + return resolver.hasNodeCheckFlag(node, NodeCheckFlags.LoopWithCapturedBlockScopedBinding); } /** @@ -4057,11 +4056,11 @@ export function transformES2015(context: TransformationContext): (x: SourceFile } else { loopParameters.push(factory.createParameterDeclaration(/*modifiers*/ undefined, /*dotDotDotToken*/ undefined, name)); - const checkFlags = resolver.getNodeCheckFlags(decl); - if (checkFlags & NodeCheckFlags.NeedsLoopOutParameter || hasCapturedBindingsInForHead) { + const needsOutParam = resolver.hasNodeCheckFlag(decl, NodeCheckFlags.NeedsLoopOutParameter); + if (needsOutParam || hasCapturedBindingsInForHead) { const outParamName = factory.createUniqueName("out_" + idText(name)); let flags = LoopOutParameterFlags.None; - if (checkFlags & NodeCheckFlags.NeedsLoopOutParameter) { + if (needsOutParam) { flags |= LoopOutParameterFlags.Body; } if (isForStatement(container)) { diff --git a/src/compiler/transformers/es2016.ts b/src/compiler/transformers/es2016.ts index 39d3e05a27d65..27118ae2f1d9c 100644 --- a/src/compiler/transformers/es2016.ts +++ b/src/compiler/transformers/es2016.ts @@ -15,7 +15,7 @@ import { visitEachChild, visitNode, VisitResult, -} from "../_namespaces/ts"; +} from "../_namespaces/ts.js"; /** @internal */ export function transformES2016(context: TransformationContext): (x: SourceFile | Bundle) => SourceFile | Bundle { diff --git a/src/compiler/transformers/es2017.ts b/src/compiler/transformers/es2017.ts index 7aeb18db18b54..e1f0c9756b242 100644 --- a/src/compiler/transformers/es2017.ts +++ b/src/compiler/transformers/es2017.ts @@ -99,7 +99,7 @@ import { visitNodes, visitParameterList, VisitResult, -} from "../_namespaces/ts"; +} from "../_namespaces/ts.js"; type SuperContainer = ClassDeclaration | MethodDeclaration | GetAccessorDeclaration | SetAccessorDeclaration | ConstructorDeclaration; @@ -659,7 +659,7 @@ export function transformES2017(context: TransformationContext): (x: SourceFile // 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) && + (resolver.hasNodeCheckFlag(node, NodeCheckFlags.MethodWithSuperPropertyAssignmentInAsync) || resolver.hasNodeCheckFlag(node, NodeCheckFlags.MethodWithSuperPropertyAccessInAsync)) && (getFunctionFlags(originalMethod) & FunctionFlags.AsyncGenerator) !== FunctionFlags.AsyncGenerator; if (emitSuperHelpers) { @@ -675,10 +675,10 @@ export function transformES2017(context: TransformationContext): (x: SourceFile if (hasSuperElementAccess) { // Emit helpers for super element access expressions (`super[x]`). - if (resolver.getNodeCheckFlags(node) & NodeCheckFlags.MethodWithSuperPropertyAssignmentInAsync) { + if (resolver.hasNodeCheckFlag(node, NodeCheckFlags.MethodWithSuperPropertyAssignmentInAsync)) { addEmitHelper(updated, advancedAsyncSuperHelper); } - else if (resolver.getNodeCheckFlags(node) & NodeCheckFlags.MethodWithSuperPropertyAccessInAsync) { + else if (resolver.hasNodeCheckFlag(node, NodeCheckFlags.MethodWithSuperPropertyAccessInAsync)) { addEmitHelper(updated, asyncSuperHelper); } } @@ -743,7 +743,7 @@ export function transformES2017(context: TransformationContext): (x: SourceFile const promiseConstructor = languageVersion < ScriptTarget.ES2015 ? getPromiseConstructor(nodeType) : undefined; const isArrowFunction = node.kind === SyntaxKind.ArrowFunction; const savedLexicalArgumentsBinding = lexicalArgumentsBinding; - const hasLexicalArguments = (resolver.getNodeCheckFlags(node) & NodeCheckFlags.CaptureArguments) !== 0; + const hasLexicalArguments = resolver.hasNodeCheckFlag(node, NodeCheckFlags.CaptureArguments); const captureLexicalArguments = hasLexicalArguments && !lexicalArgumentsBinding; if (captureLexicalArguments) { lexicalArgumentsBinding = factory.createUniqueName("arguments"); @@ -816,7 +816,7 @@ export function transformES2017(context: TransformationContext): (x: SourceFile // 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.MethodWithSuperPropertyAssignmentInAsync | NodeCheckFlags.MethodWithSuperPropertyAccessInAsync); + const emitSuperHelpers = languageVersion >= ScriptTarget.ES2015 && (resolver.hasNodeCheckFlag(node, NodeCheckFlags.MethodWithSuperPropertyAssignmentInAsync) || resolver.hasNodeCheckFlag(node, NodeCheckFlags.MethodWithSuperPropertyAccessInAsync)); if (emitSuperHelpers) { enableSubstitutionForAsyncMethodsWithSuper(); @@ -836,10 +836,10 @@ export function transformES2017(context: TransformationContext): (x: SourceFile if (emitSuperHelpers && hasSuperElementAccess) { // Emit helpers for super element access expressions (`super[x]`). - if (resolver.getNodeCheckFlags(node) & NodeCheckFlags.MethodWithSuperPropertyAssignmentInAsync) { + if (resolver.hasNodeCheckFlag(node, NodeCheckFlags.MethodWithSuperPropertyAssignmentInAsync)) { addEmitHelper(block, advancedAsyncSuperHelper); } - else if (resolver.getNodeCheckFlags(node) & NodeCheckFlags.MethodWithSuperPropertyAccessInAsync) { + else if (resolver.hasNodeCheckFlag(node, NodeCheckFlags.MethodWithSuperPropertyAccessInAsync)) { addEmitHelper(block, asyncSuperHelper); } } @@ -926,7 +926,7 @@ export function transformES2017(context: TransformationContext): (x: SourceFile // 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.MethodWithSuperPropertyAccessInAsync | NodeCheckFlags.MethodWithSuperPropertyAssignmentInAsync); + const superContainerFlags = (resolver.hasNodeCheckFlag(node, NodeCheckFlags.MethodWithSuperPropertyAccessInAsync) ? NodeCheckFlags.MethodWithSuperPropertyAccessInAsync : 0) | (resolver.hasNodeCheckFlag(node, NodeCheckFlags.MethodWithSuperPropertyAssignmentInAsync) ? NodeCheckFlags.MethodWithSuperPropertyAssignmentInAsync : 0); if (superContainerFlags !== enclosingSuperContainerFlags) { const savedEnclosingSuperContainerFlags = enclosingSuperContainerFlags; enclosingSuperContainerFlags = superContainerFlags; @@ -1058,7 +1058,7 @@ export function transformES2017(context: TransformationContext): (x: SourceFile 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.MethodWithSuperPropertyAssignmentInAsync) !== 0; + const hasBinding = resolver.hasNodeCheckFlag(node, NodeCheckFlags.MethodWithSuperPropertyAssignmentInAsync); 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 421bb548bf26f..4eff61428d9fd 100644 --- a/src/compiler/transformers/es2018.ts +++ b/src/compiler/transformers/es2018.ts @@ -110,7 +110,7 @@ import { VisitResult, VoidExpression, YieldExpression, -} from "../_namespaces/ts"; +} from "../_namespaces/ts.js"; const enum ESNextSubstitutionFlags { /** Enables substitutions for async methods with `super` calls. */ @@ -1190,7 +1190,7 @@ export function transformES2018(context: TransformationContext): (x: SourceFile // 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.MethodWithSuperPropertyAssignmentInAsync | NodeCheckFlags.MethodWithSuperPropertyAccessInAsync); + const emitSuperHelpers = languageVersion >= ScriptTarget.ES2015 && (resolver.hasNodeCheckFlag(node, NodeCheckFlags.MethodWithSuperPropertyAssignmentInAsync) || resolver.hasNodeCheckFlag(node, NodeCheckFlags.MethodWithSuperPropertyAccessInAsync)); if (emitSuperHelpers) { enableSubstitutionForAsyncMethodsWithSuper(); const variableStatement = createSuperAccessVariableStatement(factory, resolver, node, capturedSuperProperties); @@ -1202,10 +1202,10 @@ export function transformES2018(context: TransformationContext): (x: SourceFile const block = factory.updateBlock(node.body!, outerStatements); if (emitSuperHelpers && hasSuperElementAccess) { - if (resolver.getNodeCheckFlags(node) & NodeCheckFlags.MethodWithSuperPropertyAssignmentInAsync) { + if (resolver.hasNodeCheckFlag(node, NodeCheckFlags.MethodWithSuperPropertyAssignmentInAsync)) { addEmitHelper(block, advancedAsyncSuperHelper); } - else if (resolver.getNodeCheckFlags(node) & NodeCheckFlags.MethodWithSuperPropertyAccessInAsync) { + else if (resolver.hasNodeCheckFlag(node, NodeCheckFlags.MethodWithSuperPropertyAccessInAsync)) { addEmitHelper(block, asyncSuperHelper); } } @@ -1360,7 +1360,7 @@ export function transformES2018(context: TransformationContext): (x: SourceFile // 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.MethodWithSuperPropertyAccessInAsync | NodeCheckFlags.MethodWithSuperPropertyAssignmentInAsync); + const superContainerFlags = (resolver.hasNodeCheckFlag(node, NodeCheckFlags.MethodWithSuperPropertyAccessInAsync) ? NodeCheckFlags.MethodWithSuperPropertyAccessInAsync : 0) | (resolver.hasNodeCheckFlag(node, NodeCheckFlags.MethodWithSuperPropertyAssignmentInAsync) ? NodeCheckFlags.MethodWithSuperPropertyAssignmentInAsync : 0); if (superContainerFlags !== enclosingSuperContainerFlags) { const savedEnclosingSuperContainerFlags = enclosingSuperContainerFlags; enclosingSuperContainerFlags = superContainerFlags; diff --git a/src/compiler/transformers/es2019.ts b/src/compiler/transformers/es2019.ts index 0435e4c352707..15c139078efe4 100644 --- a/src/compiler/transformers/es2019.ts +++ b/src/compiler/transformers/es2019.ts @@ -11,7 +11,7 @@ import { visitEachChild, visitNode, VisitResult, -} from "../_namespaces/ts"; +} from "../_namespaces/ts.js"; /** @internal */ export function transformES2019(context: TransformationContext): (x: SourceFile | Bundle) => SourceFile | Bundle { diff --git a/src/compiler/transformers/es2020.ts b/src/compiler/transformers/es2020.ts index c3eb99351fde9..8d25281d799b7 100644 --- a/src/compiler/transformers/es2020.ts +++ b/src/compiler/transformers/es2020.ts @@ -36,7 +36,7 @@ import { visitNode, visitNodes, VisitResult, -} from "../_namespaces/ts"; +} from "../_namespaces/ts.js"; /** @internal */ export function transformES2020(context: TransformationContext): (x: SourceFile | Bundle) => SourceFile | Bundle { diff --git a/src/compiler/transformers/es2021.ts b/src/compiler/transformers/es2021.ts index 08ab7af2a239b..026083fd5f5be 100644 --- a/src/compiler/transformers/es2021.ts +++ b/src/compiler/transformers/es2021.ts @@ -19,7 +19,7 @@ import { visitEachChild, visitNode, VisitResult, -} from "../_namespaces/ts"; +} from "../_namespaces/ts.js"; /** @internal */ export function transformES2021(context: TransformationContext): (x: SourceFile | Bundle) => SourceFile | Bundle { diff --git a/src/compiler/transformers/esDecorators.ts b/src/compiler/transformers/esDecorators.ts index e164665379205..7609ab957a0c5 100644 --- a/src/compiler/transformers/esDecorators.ts +++ b/src/compiler/transformers/esDecorators.ts @@ -188,7 +188,7 @@ import { Visitor, VisitResult, WrappedExpression, -} from "../_namespaces/ts"; +} from "../_namespaces/ts.js"; // Class/Decorator evaluation order, as it pertains to this transformer: // diff --git a/src/compiler/transformers/esnext.ts b/src/compiler/transformers/esnext.ts index 62d40e7831270..ecb75018d9be4 100644 --- a/src/compiler/transformers/esnext.ts +++ b/src/compiler/transformers/esnext.ts @@ -61,7 +61,7 @@ import { visitNode, visitNodes, VisitResult, -} from "../_namespaces/ts"; +} from "../_namespaces/ts.js"; const enum UsingKind { None, diff --git a/src/compiler/transformers/generators.ts b/src/compiler/transformers/generators.ts index 775075a6e8f6f..4031cb704665a 100644 --- a/src/compiler/transformers/generators.ts +++ b/src/compiler/transformers/generators.ts @@ -95,7 +95,7 @@ import { WhileStatement, WithStatement, YieldExpression, -} from "../_namespaces/ts"; +} from "../_namespaces/ts.js"; // Transforms generator functions into a compatible ES5 representation with similar runtime // semantics. This is accomplished by first transforming the body of each generator diff --git a/src/compiler/transformers/jsx.ts b/src/compiler/transformers/jsx.ts index 1044618351aef..49d04a2fd8280 100644 --- a/src/compiler/transformers/jsx.ts +++ b/src/compiler/transformers/jsx.ts @@ -84,7 +84,7 @@ import { visitEachChild, visitNode, VisitResult, -} from "../_namespaces/ts"; +} from "../_namespaces/ts.js"; /** @internal */ export function transformJsx(context: TransformationContext): (x: SourceFile | Bundle) => SourceFile | Bundle { diff --git a/src/compiler/transformers/legacyDecorators.ts b/src/compiler/transformers/legacyDecorators.ts index 69f955e39b9cd..6ef7745dfd301 100644 --- a/src/compiler/transformers/legacyDecorators.ts +++ b/src/compiler/transformers/legacyDecorators.ts @@ -82,7 +82,7 @@ import { visitNode, visitNodes, VisitResult, -} from "../_namespaces/ts"; +} from "../_namespaces/ts.js"; /** @internal */ export function transformLegacyDecorators(context: TransformationContext): (x: SourceFile | Bundle) => SourceFile | Bundle { @@ -773,7 +773,7 @@ export function transformLegacyDecorators(context: TransformationContext): (x: S * double-binding semantics for the class name. */ function getClassAliasIfNeeded(node: ClassDeclaration) { - if (resolver.getNodeCheckFlags(node) & NodeCheckFlags.ContainsConstructorReference) { + if (resolver.hasNodeCheckFlag(node, NodeCheckFlags.ContainsConstructorReference)) { enableSubstitutionForClassAliases(); const classAlias = factory.createUniqueName(node.name && !isGeneratedIdentifier(node.name) ? idText(node.name) : "default"); classAliases[getOriginalNodeId(node)] = classAlias; @@ -822,7 +822,7 @@ export function transformLegacyDecorators(context: TransformationContext): (x: S function trySubstituteClassAlias(node: Identifier): Expression | undefined { if (classAliases) { - if (resolver.getNodeCheckFlags(node) & NodeCheckFlags.ConstructorReference) { + if (resolver.hasNodeCheckFlag(node, NodeCheckFlags.ConstructorReference)) { // Due to the emit for class decorators, any reference to the class from inside of the class body // must instead be rewritten to point to a temporary variable to avoid issues with the double-bind // behavior of class names in ES6. diff --git a/src/compiler/transformers/module/esnextAnd2015.ts b/src/compiler/transformers/module/esnextAnd2015.ts index 12c8fd87136ed..0c3bbc8129a2a 100644 --- a/src/compiler/transformers/module/esnextAnd2015.ts +++ b/src/compiler/transformers/module/esnextAnd2015.ts @@ -49,7 +49,7 @@ import { visitEachChild, visitNodes, VisitResult, -} from "../../_namespaces/ts"; +} from "../../_namespaces/ts.js"; /** @internal */ export function transformECMAScriptModule(context: TransformationContext): (x: SourceFile | Bundle) => SourceFile | Bundle { diff --git a/src/compiler/transformers/module/impliedNodeFormatDependent.ts b/src/compiler/transformers/module/impliedNodeFormatDependent.ts index c96ead5ebf753..7a5bf9e210fcd 100644 --- a/src/compiler/transformers/module/impliedNodeFormatDependent.ts +++ b/src/compiler/transformers/module/impliedNodeFormatDependent.ts @@ -11,7 +11,7 @@ import { TransformationContext, transformECMAScriptModule, transformModule, -} from "../../_namespaces/ts"; +} from "../../_namespaces/ts.js"; /** @internal */ export function transformImpliedNodeFormatDependentModule(context: TransformationContext) { diff --git a/src/compiler/transformers/module/module.ts b/src/compiler/transformers/module/module.ts index 959c59f3e2952..92b214276e533 100644 --- a/src/compiler/transformers/module/module.ts +++ b/src/compiler/transformers/module/module.ts @@ -161,7 +161,7 @@ import { VisitResult, WhileStatement, WithStatement, -} from "../../_namespaces/ts"; +} from "../../_namespaces/ts.js"; /** @internal */ export function transformModule(context: TransformationContext): (x: SourceFile | Bundle) => SourceFile | Bundle { @@ -283,10 +283,8 @@ export function transformModule(context: TransformationContext): (x: SourceFile ); } } - if (some(currentModuleInfo.exportedFunctions)) { - for (const f of currentModuleInfo.exportedFunctions) { - appendExportsOfHoistedDeclaration(statements, f); - } + for (const f of currentModuleInfo.exportedFunctions) { + appendExportsOfHoistedDeclaration(statements, f); } append(statements, visitNode(currentModuleInfo.externalHelpersImportDeclaration, topLevelVisitor, isStatement)); @@ -613,10 +611,8 @@ export function transformModule(context: TransformationContext): (x: SourceFile if (some(currentModuleInfo.exportedNames)) { append(statements, factory.createExpressionStatement(reduceLeft(currentModuleInfo.exportedNames, (prev, nextId) => factory.createAssignment(factory.createPropertyAccessExpression(factory.createIdentifier("exports"), factory.createIdentifier(idText(nextId))), prev), factory.createVoidZero() as Expression))); } - if (some(currentModuleInfo.exportedFunctions)) { - for (const f of currentModuleInfo.exportedFunctions) { - appendExportsOfHoistedDeclaration(statements, f); - } + for (const f of currentModuleInfo.exportedFunctions) { + appendExportsOfHoistedDeclaration(statements, f); } // Visit each statement of the module body. diff --git a/src/compiler/transformers/module/system.ts b/src/compiler/transformers/module/system.ts index 10d6b7047ed74..f03ad63a1c0ca 100644 --- a/src/compiler/transformers/module/system.ts +++ b/src/compiler/transformers/module/system.ts @@ -128,7 +128,7 @@ import { VisitResult, WhileStatement, WithStatement, -} from "../../_namespaces/ts"; +} from "../../_namespaces/ts.js"; /** @internal */ export function transformSystemModule(context: TransformationContext): (x: SourceFile | Bundle) => SourceFile | Bundle { @@ -433,7 +433,7 @@ export function transformSystemModule(context: TransformationContext): (x: Sourc // this set is used to filter names brought by star expors. // local names set should only be added if we have anything exported - if (!some(moduleInfo.exportedNames) && !some(moduleInfo.exportedFunctions) && moduleInfo.exportSpecifiers.size === 0) { + if (!some(moduleInfo.exportedNames) && moduleInfo.exportedFunctions.size === 0 && moduleInfo.exportSpecifiers.size === 0) { // no exported declarations (export var ...) or export specifiers (export {x}) // check if we have any non star export declarations. let hasExportDeclarationWithExportClause = false; @@ -469,21 +469,19 @@ export function transformSystemModule(context: TransformationContext): (x: Sourc } } - if (moduleInfo.exportedFunctions) { - for (const f of moduleInfo.exportedFunctions) { - if (hasSyntacticModifier(f, ModifierFlags.Default)) { - continue; - } - Debug.assert(!!f.name); - - // write name of exported declaration, i.e 'export var x...' - exportedNames.push( - factory.createPropertyAssignment( - factory.createStringLiteralFromNode(f.name), - factory.createTrue(), - ), - ); + for (const f of moduleInfo.exportedFunctions) { + if (hasSyntacticModifier(f, ModifierFlags.Default)) { + continue; } + Debug.assert(!!f.name); + + // write name of exported declaration, i.e 'export var x...' + exportedNames.push( + factory.createPropertyAssignment( + factory.createStringLiteralFromNode(f.name), + factory.createTrue(), + ), + ); } const exportedNamesStorageRef = factory.createUniqueName("exportedNames"); diff --git a/src/compiler/transformers/namedEvaluation.ts b/src/compiler/transformers/namedEvaluation.ts index 34123cf560080..785ed280c4158 100644 --- a/src/compiler/transformers/namedEvaluation.ts +++ b/src/compiler/transformers/namedEvaluation.ts @@ -48,7 +48,7 @@ import { TransformationContext, VariableDeclaration, WrappedExpression, -} from "../_namespaces/ts"; +} from "../_namespaces/ts.js"; /** * Gets a string literal to use as the assigned name of an anonymous class or function declaration. diff --git a/src/compiler/transformers/taggedTemplate.ts b/src/compiler/transformers/taggedTemplate.ts index a905dcb26ecb8..94f01dec4ba5e 100644 --- a/src/compiler/transformers/taggedTemplate.ts +++ b/src/compiler/transformers/taggedTemplate.ts @@ -23,7 +23,7 @@ import { visitEachChild, visitNode, Visitor, -} from "../_namespaces/ts"; +} from "../_namespaces/ts.js"; /** @internal */ export enum ProcessLevel { diff --git a/src/compiler/transformers/ts.ts b/src/compiler/transformers/ts.ts index b4c7172cf05d2..668da90d8e696 100644 --- a/src/compiler/transformers/ts.ts +++ b/src/compiler/transformers/ts.ts @@ -201,7 +201,7 @@ import { visitNodes, visitParameterList, VisitResult, -} from "../_namespaces/ts"; +} from "../_namespaces/ts.js"; /** * Indicates whether to emit type metadata in the new format. diff --git a/src/compiler/transformers/typeSerializer.ts b/src/compiler/transformers/typeSerializer.ts index 2fcd9264e0b06..4c9d397b74385 100644 --- a/src/compiler/transformers/typeSerializer.ts +++ b/src/compiler/transformers/typeSerializer.ts @@ -67,7 +67,7 @@ import { TypeReferenceSerializationKind, UnionOrIntersectionTypeNode, VoidExpression, -} from "../_namespaces/ts"; +} from "../_namespaces/ts.js"; /** @internal */ export type SerializedEntityName = diff --git a/src/compiler/transformers/utilities.ts b/src/compiler/transformers/utilities.ts index ad86ded1cb6f2..8f5f2b257a004 100644 --- a/src/compiler/transformers/utilities.ts +++ b/src/compiler/transformers/utilities.ts @@ -90,7 +90,7 @@ import { unorderedRemoveItem, VariableDeclaration, VariableStatement, -} from "../_namespaces/ts"; +} from "../_namespaces/ts.js"; /** @internal */ export function getOriginalNodeId(node: Node) { @@ -105,7 +105,7 @@ export interface ExternalModuleInfo { exportSpecifiers: IdentifierNameMap; // file-local export specifiers by name (no reexports) exportedBindings: Identifier[][]; // exported names of local declarations exportedNames: Identifier[] | undefined; // all exported names in the module, both local and reexported, excluding the names of locally exported function declarations - exportedFunctions: FunctionDeclaration[] | undefined; // all of the top-level exported function declarations + exportedFunctions: Set; // all of the top-level exported function declarations exportEquals: ExportAssignment | undefined; // an export= declaration if one was present hasExportStarsToExportValues: boolean; // whether this module contains export* } @@ -174,8 +174,8 @@ export function collectExternalModuleInfo(context: TransformationContext, source const exportSpecifiers = new IdentifierNameMultiMap(); const exportedBindings: Identifier[][] = []; const uniqueExports = new Map(); + const exportedFunctions = new Set(); let exportedNames: Identifier[] | undefined; - let exportedFunctions: FunctionDeclaration[] | undefined; let hasExportDefault = false; let exportEquals: ExportAssignment | undefined; let hasExportStarsToExportValues = false; @@ -256,22 +256,7 @@ export function collectExternalModuleInfo(context: TransformationContext, source case SyntaxKind.FunctionDeclaration: if (hasSyntacticModifier(node, ModifierFlags.Export)) { - exportedFunctions = append(exportedFunctions, node as FunctionDeclaration); - if (hasSyntacticModifier(node, ModifierFlags.Default)) { - // export default function() { } - if (!hasExportDefault) { - multiMapSparseArrayAdd(exportedBindings, getOriginalNodeId(node), context.factory.getDeclarationName(node as FunctionDeclaration)); - hasExportDefault = true; - } - } - else { - // export function x() { } - const name = (node as FunctionDeclaration).name!; - if (!uniqueExports.get(idText(name))) { - multiMapSparseArrayAdd(exportedBindings, getOriginalNodeId(node), name); - uniqueExports.set(idText(name), true); - } - } + addExportedFunctionDeclaration(node as FunctionDeclaration, /*name*/ undefined, hasSyntacticModifier(node, ModifierFlags.Default)); } break; @@ -317,6 +302,11 @@ export function collectExternalModuleInfo(context: TransformationContext, source || resolver.getReferencedValueDeclaration(name); if (decl) { + if (decl.kind === SyntaxKind.FunctionDeclaration) { + addExportedFunctionDeclaration(decl as FunctionDeclaration, specifier.name, specifier.name.escapedText === InternalSymbolName.Default); + continue; + } + multiMapSparseArrayAdd(exportedBindings, getOriginalNodeId(decl), specifier.name); } @@ -325,6 +315,27 @@ export function collectExternalModuleInfo(context: TransformationContext, source } } } + + function addExportedFunctionDeclaration(node: FunctionDeclaration, name: Identifier | undefined, isDefault: boolean) { + exportedFunctions.add(node); + if (isDefault) { + // export default function() { } + // function x() { } + export { x as default }; + if (!hasExportDefault) { + multiMapSparseArrayAdd(exportedBindings, getOriginalNodeId(node), name ?? context.factory.getDeclarationName(node)); + hasExportDefault = true; + } + } + else { + // export function x() { } + // function x() { } + export { x } + name ??= node.name!; + if (!uniqueExports.get(idText(name))) { + multiMapSparseArrayAdd(exportedBindings, getOriginalNodeId(node), name); + uniqueExports.set(idText(name), true); + } + } + } } function collectExportedVariableInfo(decl: VariableDeclaration | BindingElement, uniqueExports: Map, exportedNames: Identifier[] | undefined, exportedBindings: Identifier[][]) { diff --git a/src/compiler/tsbuild.ts b/src/compiler/tsbuild.ts index cf902ea11c2f8..39a448fea9a15 100644 --- a/src/compiler/tsbuild.ts +++ b/src/compiler/tsbuild.ts @@ -4,7 +4,7 @@ import { fileExtensionIs, Path, ResolvedConfigFileName, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; /** @internal */ export enum UpToDateStatusType { diff --git a/src/compiler/tsbuildPublic.ts b/src/compiler/tsbuildPublic.ts index a44e6a6bc428d..a7ca5dad5bdbe 100644 --- a/src/compiler/tsbuildPublic.ts +++ b/src/compiler/tsbuildPublic.ts @@ -48,6 +48,7 @@ import { findIndex, flattenDiagnosticMessageText, forEach, + forEachEntry, forEachKey, ForegroundColorEscapeSequences, formatColorAndReset, @@ -70,7 +71,6 @@ import { getWatchErrorSummaryDiagnosticMessage, hasProperty, identity, - isArray, isIgnoredFileFromWildCardWatching, isIncrementalCompilation, isPackageJsonInfo, @@ -104,7 +104,6 @@ import { SemanticDiagnosticsBuilderProgram, setGetSourceFileAsHashVersioned, SharedExtendedConfigFileWatcher, - some, SourceFile, Status, sys, @@ -126,8 +125,8 @@ import { WildcardDirectoryWatcher, writeFile, WriteFileCallback, -} from "./_namespaces/ts"; -import * as performance from "./_namespaces/ts.performance"; +} from "./_namespaces/ts.js"; +import * as performance from "./_namespaces/ts.performance.js"; const minimumDate = new Date(-8640000000000000); const maximumDate = new Date(8640000000000000); @@ -1697,7 +1696,7 @@ function getUpToDateStatusWorker(state: SolutionBuilde (!project.options.noEmit ? (buildInfo.program as ProgramMultiFileEmitBuildInfo).affectedFilesPendingEmit?.length || (buildInfo.program as ProgramMultiFileEmitBuildInfo).emitDiagnosticsPerFile?.length : - some((buildInfo.program as ProgramMultiFileEmitBuildInfo).semanticDiagnosticsPerFile, isArray)) + (buildInfo.program as ProgramMultiFileEmitBuildInfo).semanticDiagnosticsPerFile?.length) ) { return { type: UpToDateStatusType.OutOfDateBuildInfo, @@ -1734,6 +1733,7 @@ function getUpToDateStatusWorker(state: SolutionBuilde }; } + const inputPath = buildInfoProgram ? toPath(state, inputFile) : undefined; // If an buildInfo is older than the newest input, we can stop checking if (buildInfoTime && buildInfoTime < inputTime) { let version: string | undefined; @@ -1741,8 +1741,9 @@ function getUpToDateStatusWorker(state: SolutionBuilde if (buildInfoProgram) { // Read files and see if they are same, read is anyways cached if (!buildInfoVersionMap) buildInfoVersionMap = getBuildInfoFileVersionMap(buildInfoProgram, buildInfoPath!, host); - version = buildInfoVersionMap.fileInfos.get(toPath(state, inputFile)); - const text = version ? state.readFileWithCache(inputFile) : undefined; + const resolvedInputPath = buildInfoVersionMap.roots.get(inputPath!); + version = buildInfoVersionMap.fileInfos.get(resolvedInputPath ?? inputPath!); + const text = version ? state.readFileWithCache(resolvedInputPath ?? inputFile) : undefined; currentVersion = text !== undefined ? getSourceFileVersionAsHashFromText(host, text) : undefined; if (version && version === currentVersion) pseudoInputUpToDate = true; } @@ -1761,20 +1762,22 @@ function getUpToDateStatusWorker(state: SolutionBuilde newestInputFileTime = inputTime; } - if (buildInfoProgram) seenRoots.add(toPath(state, inputFile)); + if (buildInfoProgram) seenRoots.add(inputPath!); } if (buildInfoProgram) { if (!buildInfoVersionMap) buildInfoVersionMap = getBuildInfoFileVersionMap(buildInfoProgram, buildInfoPath!, host); - for (const existingRoot of buildInfoVersionMap.roots) { - if (!seenRoots.has(existingRoot)) { - // File was root file when project was built but its not any more - return { - type: UpToDateStatusType.OutOfDateRoots, - buildInfoFile: buildInfoPath!, - inputFile: existingRoot, - }; - } + const existingRoot = forEachEntry( + buildInfoVersionMap.roots, + // File was root file when project was built but its not any more + (_resolved, existingRoot) => !seenRoots.has(existingRoot) ? existingRoot : undefined, + ); + if (existingRoot) { + return { + type: UpToDateStatusType.OutOfDateRoots, + buildInfoFile: buildInfoPath!, + inputFile: existingRoot, + }; } } diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 21339a7742bd9..4994322657070 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -16,7 +16,7 @@ import { ProgramBuildInfo, SymlinkCache, ThisContainer, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; // branded string type used to store absolute, normalized and canonicalized paths // arbitrary file name can be converted to Path via toPath function @@ -2765,17 +2765,17 @@ export interface RegularExpressionLiteral extends LiteralExpression { // dprint-ignore /** @internal */ export const enum RegularExpressionFlags { - None = 0, - HasIndices = 1 << 0, // d - Global = 1 << 1, // g - IgnoreCase = 1 << 2, // i - Multiline = 1 << 3, // m - DotAll = 1 << 4, // s - Unicode = 1 << 5, // u - UnicodeSets = 1 << 6, // v - Sticky = 1 << 7, // y - UnicodeMode = Unicode | UnicodeSets, - Modifiers = IgnoreCase | Multiline | DotAll, + None = 0, + HasIndices = 1 << 0, // d + Global = 1 << 1, // g + IgnoreCase = 1 << 2, // i + Multiline = 1 << 3, // m + DotAll = 1 << 4, // s + Unicode = 1 << 5, // u + UnicodeSets = 1 << 6, // v + Sticky = 1 << 7, // y + AnyUnicodeMode = Unicode | UnicodeSets, + Modifiers = IgnoreCase | Multiline | DotAll, } export interface NoSubstitutionTemplateLiteral extends LiteralExpression, TemplateLiteralLikeNode, Declaration { @@ -4608,26 +4608,24 @@ export type FileIncludeReason = /** @internal */ export const enum FilePreprocessingDiagnosticsKind { - FilePreprocessingReferencedDiagnostic, + FilePreprocessingLibReferenceDiagnostic, FilePreprocessingFileExplainingDiagnostic, ResolutionDiagnostics, } /** @internal */ -export interface FilePreprocessingReferencedDiagnostic { - kind: FilePreprocessingDiagnosticsKind.FilePreprocessingReferencedDiagnostic; - reason: ReferencedFile; - diagnostic: DiagnosticMessage; - args?: DiagnosticArguments; +export interface FilePreprocessingLibReferenceDiagnostic { + kind: FilePreprocessingDiagnosticsKind.FilePreprocessingLibReferenceDiagnostic; + reason: ReferencedFile & { kind: FileIncludeKind.LibReferenceDirective; }; } /** @internal */ export interface FilePreprocessingFileExplainingDiagnostic { kind: FilePreprocessingDiagnosticsKind.FilePreprocessingFileExplainingDiagnostic; - file?: Path; + file: Path | undefined; fileProcessingReason: FileIncludeReason; diagnostic: DiagnosticMessage; - args?: DiagnosticArguments; + args: DiagnosticArguments; } /** @internal */ @@ -4637,7 +4635,7 @@ export interface ResolutionDiagnostics { } /** @internal */ -export type FilePreprocessingDiagnostics = FilePreprocessingReferencedDiagnostic | FilePreprocessingFileExplainingDiagnostic | ResolutionDiagnostics; +export type FilePreprocessingDiagnostics = FilePreprocessingLibReferenceDiagnostic | FilePreprocessingFileExplainingDiagnostic | ResolutionDiagnostics; /** @internal */ export const enum EmitOnly { @@ -4681,10 +4679,12 @@ export interface Program extends ScriptReferenceHost { /** @internal */ getResolvedModule(f: SourceFile, moduleName: string, mode: ResolutionMode): ResolvedModuleWithFailedLookupLocations | undefined; /** @internal */ - getResolvedModuleFromModuleSpecifier(moduleSpecifier: StringLiteralLike): ResolvedModuleWithFailedLookupLocations | undefined; + getResolvedModuleFromModuleSpecifier(moduleSpecifier: StringLiteralLike, sourceFile?: SourceFile): ResolvedModuleWithFailedLookupLocations | undefined; /** @internal */ getResolvedTypeReferenceDirective(f: SourceFile, typeDirectiveName: string, mode: ResolutionMode): ResolvedTypeReferenceDirectiveWithFailedLookupLocations | undefined; /** @internal */ + getResolvedTypeReferenceDirectiveFromTypeReferenceDirective(typedRef: FileReference, sourceFile: SourceFile): ResolvedTypeReferenceDirectiveWithFailedLookupLocations | undefined; + /** @internal */ forEachResolvedModule( callback: (resolution: ResolvedModuleWithFailedLookupLocations, moduleName: string, mode: ResolutionMode, filePath: Path) => void, file?: SourceFile, @@ -4740,7 +4740,6 @@ export interface Program extends ScriptReferenceHost { getRelationCacheSizes(): { assignable: number; identity: number; subtype: number; strictSubtype: number; }; /** @internal */ getFileProcessingDiagnostics(): FilePreprocessingDiagnostics[] | undefined; - /** @internal */ getResolvedTypeReferenceDirectives(): ModeAwareCache; /** @internal */ getAutomaticTypeDirectiveNames(): string[]; /** @internal */ getAutomaticTypeDirectiveResolutions(): ModeAwareCache; isSourceFileFromExternalLibrary(file: SourceFile): boolean; @@ -5265,7 +5264,7 @@ export interface TypeChecker { // Should not be called directly. Should only be accessed through the Program instance. /** @internal */ getDiagnostics(sourceFile?: SourceFile, cancellationToken?: CancellationToken): Diagnostic[]; /** @internal */ getGlobalDiagnostics(): Diagnostic[]; - /** @internal */ getEmitResolver(sourceFile?: SourceFile, cancellationToken?: CancellationToken): EmitResolver; + /** @internal */ getEmitResolver(sourceFile?: SourceFile, cancellationToken?: CancellationToken, forceDts?: boolean): EmitResolver; /** @internal */ getNodeCount(): number; /** @internal */ getIdentifierCount(): number; @@ -5355,6 +5354,8 @@ export interface TypeChecker { * and the operation is cancelled, then it should be discarded, otherwise it is safe to keep. */ runWithCancellationToken(token: CancellationToken, cb: (checker: TypeChecker) => T): T; + /**@internal */ + runWithCancellationToken(token: CancellationToken | undefined, cb: (checker: TypeChecker) => T): T; // eslint-disable-line @typescript-eslint/unified-signatures /** @internal */ getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(symbol: Symbol): readonly TypeParameter[] | undefined; /** @internal */ isDeclarationVisible(node: Declaration | AnyImportSyntax): boolean; @@ -5363,6 +5364,7 @@ export interface TypeChecker { /** @internal */ getMemberOverrideModifierStatus(node: ClassLikeDeclaration, member: ClassElement, memberSymbol: Symbol): MemberOverrideStatus; /** @internal */ isTypeParameterPossiblyReferenced(tp: TypeParameter, node: Node): boolean; /** @internal */ typeHasCallOrConstructSignatures(type: Type): boolean; + /** @internal */ getSymbolFlags(symbol: Symbol): SymbolFlags; } /** @internal */ @@ -5379,6 +5381,13 @@ export const enum UnionReduction { Subtype, } +/** @internal */ +export const enum IntersectionFlags { + None = 0, + NoSupertypeReduction = 1 << 0, + NoConstraintReduction = 1 << 1, +} + // dprint-ignore /** @internal */ export const enum ContextFlags { @@ -5426,6 +5435,7 @@ export const enum NodeBuilderFlags { // Errors (cont.) AllowNodeModulesRelativePaths = 1 << 26, /** @internal */ DoNotIncludeSymbolChain = 1 << 27, // Skip looking up and printing an accessible symbol chain + /** @internal */ AllowUnresolvedNames = 1 << 32, IgnoreErrors = AllowThisInObjectLiteral | AllowQualifiedNameInPlaceOfIdentifier | AllowAnonymousIdentifier | AllowEmptyUnionOrIntersection | AllowEmptyTuple | AllowEmptyIndexInfoType | AllowNodeModulesRelativePaths, @@ -5536,6 +5546,7 @@ export const enum SymbolAccessibility { Accessible, NotAccessible, CannotBeNamed, + NotResolved, } /** @internal */ @@ -5741,9 +5752,24 @@ export enum TypeReferenceSerializationKind { ObjectType, } +/** @internal */ +export type LazyNodeCheckFlags = + | NodeCheckFlags.SuperInstance + | NodeCheckFlags.SuperStatic + | NodeCheckFlags.MethodWithSuperPropertyAccessInAsync + | NodeCheckFlags.MethodWithSuperPropertyAssignmentInAsync + | NodeCheckFlags.ContainsSuperPropertyInStaticInitializer + | NodeCheckFlags.CaptureArguments + | NodeCheckFlags.ContainsCapturedBlockScopeBinding + | NodeCheckFlags.NeedsLoopOutParameter + | NodeCheckFlags.ContainsConstructorReference + | NodeCheckFlags.ConstructorReference + | NodeCheckFlags.CapturedBlockScopedBinding + | NodeCheckFlags.BlockScopedBindingInLoop + | NodeCheckFlags.LoopWithCapturedBlockScopedBinding; + /** @internal */ export interface EmitResolver { - isNonNarrowedBindableName(node: ComputedPropertyName): boolean; hasGlobalName(name: string): boolean; getReferencedExportContainer(node: Identifier, prefixLocals?: boolean): SourceFile | ModuleDeclaration | EnumDeclaration | undefined; getReferencedImportDeclaration(node: Identifier): Declaration | undefined; @@ -5752,10 +5778,11 @@ export interface EmitResolver { isValueAliasDeclaration(node: Node): boolean; isReferencedAliasDeclaration(node: Node, checkChildren?: boolean): boolean; isTopLevelValueImportEqualsWithEntityName(node: ImportEqualsDeclaration): boolean; - getNodeCheckFlags(node: Node): NodeCheckFlags; + hasNodeCheckFlag(node: Node, flags: LazyNodeCheckFlags): boolean; isDeclarationVisible(node: Declaration | AnyImportSyntax): boolean; isLateBound(node: Declaration): node is LateBoundDeclaration; collectLinkedAliases(node: Identifier, setVisibility?: boolean): Node[] | undefined; + markLinkedReferences(node: Node): void; isImplementationOfOverload(node: SignatureDeclaration): boolean | undefined; requiresAddingImplicitUndefined(node: ParameterDeclaration): boolean; isExpandoFunctionDeclaration(node: FunctionDeclaration | VariableDeclaration): boolean; @@ -5911,10 +5938,7 @@ export interface SymbolLinks { uniqueESSymbolType?: Type; // UniqueESSymbol type for a symbol declaredType?: Type; // Type of class, interface, enum, type alias, or type parameter typeParameters?: TypeParameter[]; // Type parameters of type alias (undefined if non-generic) - outerTypeParameters?: TypeParameter[]; // Outer type parameters of anonymous object type instantiations?: Map; // Instantiations of generic type alias (undefined if non-generic) - aliasSymbol?: Symbol; // Alias associated with generic type alias instantiation - aliasTypeArguments?: readonly Type[] // Alias type arguments (if any) inferredClassSymbol?: Map; // Symbol of an inferred ES5 constructor function mapper?: TypeMapper; // Type mapper for instantiation alias referenced?: boolean; // True if alias symbol has been referenced as a value that can be emitted @@ -5929,8 +5953,6 @@ export interface SymbolLinks { typeParametersChecked?: boolean; // True if type parameters of merged class and interface declarations have been checked. isDeclarationWithCollidingName?: boolean; // True if symbol is block scoped redeclaration bindingElement?: BindingElement; // Binding element associated with property symbol - exportsSomeValue?: boolean; // True if module exports some value (not just types) - enumKind?: EnumKind; // Enum declaration classification originatingImport?: ImportDeclaration | ImportCall; // Import declaration which produced the symbol, present if the symbol is marked as uncallable but had call signatures in `resolveESModuleSymbol` lateSymbol?: Symbol; // Late-bound symbol for a computed property specifierCache?: Map; // For symbols corresponding to external modules, a cache of incoming path -> module specifier name mappings @@ -5948,12 +5970,7 @@ export interface SymbolLinks { tupleLabelDeclaration?: NamedTupleMember | ParameterDeclaration; // Declaration associated with the tuple's label accessibleChainCache?: Map; filteredIndexSymbolCache?: Map //Symbol with applicable declarations -} - -/** @internal */ -export const enum EnumKind { - Numeric, // Numeric enum (each member has a TypeFlags.Enum type) - Literal, // Literal enum (each member has a TypeFlags.EnumLiteral type) + requestedExternalEmitHelpers?: ExternalEmitHelpers; // External emit helpers already checked for this symbol. } // dprint-ignore @@ -6097,6 +6114,21 @@ export const enum NodeCheckFlags { ContainsClassWithPrivateIdentifiers = 1 << 20, // Marked on all block-scoped containers containing a class with private identifiers. ContainsSuperPropertyInStaticInitializer = 1 << 21, // Marked on all block-scoped containers containing a static initializer with 'super.x' or 'super[x]'. InCheckIdentifier = 1 << 22, + + /** These flags are LazyNodeCheckFlags and can be calculated lazily by `hasNodeCheckFlag` */ + LazyFlags = SuperInstance + | SuperStatic + | MethodWithSuperPropertyAccessInAsync + | MethodWithSuperPropertyAssignmentInAsync + | ContainsSuperPropertyInStaticInitializer + | CaptureArguments + | ContainsCapturedBlockScopeBinding + | NeedsLoopOutParameter + | ContainsConstructorReference + | ConstructorReference + | CapturedBlockScopedBinding + | BlockScopedBindingInLoop + | LoopWithCapturedBlockScopedBinding, } /** @internal */ @@ -6111,8 +6143,8 @@ export interface EvaluatorResult | undefined; - set(fromFileName: Path, toFileName: Path, preferences: UserPreferences, options: ModuleSpecifierOptions, modulePaths: readonly ModulePath[], moduleSpecifiers: readonly string[]): void; + set(fromFileName: Path, toFileName: Path, preferences: UserPreferences, options: ModuleSpecifierOptions, kind: ResolvedModuleSpecifierInfo["kind"], modulePaths: readonly ModulePath[], moduleSpecifiers: readonly string[]): void; setBlockedByPackageJsonDependencies(fromFileName: Path, toFileName: Path, preferences: UserPreferences, options: ModuleSpecifierOptions, isBlockedByPackageJsonDependencies: boolean): void; setModulePaths(fromFileName: Path, toFileName: Path, preferences: UserPreferences, options: ModuleSpecifierOptions, modulePaths: readonly ModulePath[]): void; clear(): void; @@ -10291,7 +10329,6 @@ export interface SyntacticTypeNodeBuilderContext { /** @internal */ export interface SyntacticTypeNodeBuilderResolver { isUndefinedIdentifierExpression(name: Identifier): boolean; - isNonNarrowedBindableName(name: ComputedPropertyName): boolean; isExpandoFunctionDeclaration(name: FunctionDeclaration | VariableDeclaration): boolean; getAllAccessorDeclarations(declaration: AccessorDeclaration): AllAccessorDeclarations; isEntityNameVisible(entityName: EntityNameOrEntityNameExpression, enclosingDeclaration: Node, shouldComputeAliasToMakeVisible?: boolean): SymbolVisibilityResult; diff --git a/src/compiler/utilities.ts b/src/compiler/utilities.ts index b22ba836761e2..4cf5f0082cd20 100644 --- a/src/compiler/utilities.ts +++ b/src/compiler/utilities.ts @@ -585,7 +585,7 @@ import { WriteFileCallback, WriteFileCallbackData, YieldExpression, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; /** @internal */ export const resolvingEmptyArray: never[] = []; @@ -2474,6 +2474,7 @@ export function getJSDocCommentRanges(node: Node, text: string) { getLeadingCommentRanges(text, node.pos); // True if the comment starts with '/**' but not if it is '/**/' return filter(commentRanges, comment => + comment.end <= node.end && // Due to parse errors sometime empty parameter may get comments assigned to it that end up not in parameter range text.charCodeAt(comment.pos + 1) === CharacterCodes.asterisk && text.charCodeAt(comment.pos + 2) === CharacterCodes.asterisk && text.charCodeAt(comment.pos + 3) !== CharacterCodes.slash); @@ -6668,6 +6669,7 @@ export function getAllAccessorDeclarations(declarations: readonly Declaration[] */ export function getEffectiveTypeAnnotationNode(node: Node): TypeNode | undefined { if (!isInJSFile(node) && isFunctionDeclaration(node)) return undefined; + if (isTypeAliasDeclaration(node)) return undefined; // has a .type, is not a type annotation const type = (node as HasType).type; if (type || !isInJSFile(node)) return type; return isJSDocPropertyLikeTag(node) ? node.typeExpression && node.typeExpression.type : getJSDocType(node); @@ -11105,7 +11107,8 @@ export function createNameResolver({ if (meaning & result.flags & SymbolFlags.Type && lastLocation.kind !== SyntaxKind.JSDoc) { useResult = result.flags & SymbolFlags.TypeParameter // type parameters are visible in parameter list, return type and type parameter list - ? lastLocation === (location as FunctionLikeDeclaration).type || + ? !!(lastLocation.flags & NodeFlags.Synthesized) || // Synthetic fake scopes are added for signatures so type parameters are accessible from them + lastLocation === (location as FunctionLikeDeclaration).type || lastLocation.kind === SyntaxKind.Parameter || lastLocation.kind === SyntaxKind.JSDocParameterTag || lastLocation.kind === SyntaxKind.JSDocReturnTag || @@ -11124,6 +11127,7 @@ export function createNameResolver({ // however it is detected separately when checking initializers of parameters // to make sure that they reference no variables declared after them. useResult = lastLocation.kind === SyntaxKind.Parameter || + !!(lastLocation.flags & NodeFlags.Synthesized) || // Synthetic fake scopes are added for signatures so parameters are accessible from them ( lastLocation === (location as FunctionLikeDeclaration).type && !!findAncestor(result.valueDeclaration, isParameter) diff --git a/src/compiler/utilitiesPublic.ts b/src/compiler/utilitiesPublic.ts index 35cabc9011aae..2ff6e7adaa867 100644 --- a/src/compiler/utilitiesPublic.ts +++ b/src/compiler/utilitiesPublic.ts @@ -295,7 +295,7 @@ import { TypeReferenceType, UnaryExpression, VariableDeclaration, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; export function isExternalModuleNameRelative(moduleName: string): boolean { // TypeScript 1.0 spec (April 2014): 11.2.1 @@ -1253,7 +1253,7 @@ function formatJSDocLink(link: JSDocLink | JSDocLinkCode | JSDocLinkPlain) { : link.kind === SyntaxKind.JSDocLinkCode ? "linkcode" : "linkplain"; const name = link.name ? entityNameToString(link.name) : ""; - const space = link.name && link.text.startsWith("://") ? "" : " "; + const space = link.name && (link.text === "" || link.text.startsWith("://")) ? "" : " "; return `{@${kind} ${name}${space}${link.text}}`; } @@ -2320,7 +2320,8 @@ function isDeclarationKind(kind: SyntaxKind) { || kind === SyntaxKind.VariableDeclaration || kind === SyntaxKind.JSDocTypedefTag || kind === SyntaxKind.JSDocCallbackTag - || kind === SyntaxKind.JSDocPropertyTag; + || kind === SyntaxKind.JSDocPropertyTag + || kind === SyntaxKind.NamedTupleMember; } function isDeclarationStatementKind(kind: SyntaxKind) { diff --git a/src/compiler/visitorPublic.ts b/src/compiler/visitorPublic.ts index 0a4c746c2e7c6..21e477329270e 100644 --- a/src/compiler/visitorPublic.ts +++ b/src/compiler/visitorPublic.ts @@ -102,7 +102,7 @@ import { SyntaxKind, TransformationContext, Visitor, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; /** * Visits a Node using the supplied visitor, possibly returning a new Node in its place. diff --git a/src/compiler/watch.ts b/src/compiler/watch.ts index 431156743f538..4b28e288a3442 100644 --- a/src/compiler/watch.ts +++ b/src/compiler/watch.ts @@ -106,7 +106,7 @@ import { WatchStatusReporter, whitespaceOrMapCommentRegExp, WriteFileCallback, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; const sysFormatDiagnosticsHost: FormatDiagnosticsHost | undefined = sys ? { getCurrentDirectory: () => sys.getCurrentDirectory(), diff --git a/src/compiler/watchPublic.ts b/src/compiler/watchPublic.ts index ca3561747f636..7c29f9ec6a085 100644 --- a/src/compiler/watchPublic.ts +++ b/src/compiler/watchPublic.ts @@ -94,7 +94,7 @@ import { WatchType, WatchTypeRegistry, WildcardDirectoryWatcher, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; export interface ReadBuildProgramHost { useCaseSensitiveFileNames(): boolean; @@ -594,6 +594,7 @@ export function createWatchProgram(host: WatchCompiler }); parsedConfigs = undefined; } + builderProgram = undefined!; } function getResolutionCache() { diff --git a/src/compiler/watchUtilities.ts b/src/compiler/watchUtilities.ts index 34794533ace12..425fedfdd6f22 100644 --- a/src/compiler/watchUtilities.ts +++ b/src/compiler/watchUtilities.ts @@ -56,7 +56,7 @@ import { WatchDirectoryFlags, WatchFileKind, WatchOptions, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; /** * Partial interface of the System thats needed to support the caching of directory structure diff --git a/src/deprecatedCompat/_namespaces/ts.ts b/src/deprecatedCompat/_namespaces/ts.ts index cbfc88edbb648..0d062e9bc024d 100644 --- a/src/deprecatedCompat/_namespaces/ts.ts +++ b/src/deprecatedCompat/_namespaces/ts.ts @@ -1,4 +1,4 @@ /* Generated file to emulate the ts namespace. */ -export * from "../../compiler/_namespaces/ts"; -export * from "../deprecations"; +export * from "../../compiler/_namespaces/ts.js"; +export * from "../deprecations.js"; diff --git a/src/deprecatedCompat/deprecate.ts b/src/deprecatedCompat/deprecate.ts index 0bb11bfd228ab..595376a5222d1 100644 --- a/src/deprecatedCompat/deprecate.ts +++ b/src/deprecatedCompat/deprecate.ts @@ -5,7 +5,7 @@ import { noop, Version, version, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; export let enableDeprecationWarnings = true; diff --git a/src/deprecatedCompat/deprecations.ts b/src/deprecatedCompat/deprecations.ts index 23dd903c44428..4f4ec88e957fb 100644 --- a/src/deprecatedCompat/deprecations.ts +++ b/src/deprecatedCompat/deprecations.ts @@ -2,8 +2,8 @@ import { hasProperty, UnionToIntersection, Version, -} from "./_namespaces/ts"; -import { deprecate } from "./deprecate"; +} from "./_namespaces/ts.js"; +import { deprecate } from "./deprecate.js"; /** @internal */ export interface DeprecationOptions { diff --git a/src/harness/_namespaces/FourSlash.ts b/src/harness/_namespaces/FourSlash.ts index c069ebaf784de..ff7722f62895b 100644 --- a/src/harness/_namespaces/FourSlash.ts +++ b/src/harness/_namespaces/FourSlash.ts @@ -1,3 +1,3 @@ /* Generated file to emulate the FourSlash namespace. */ -export * from "../fourslashImpl"; +export * from "../fourslashImpl.js"; diff --git a/src/harness/_namespaces/FourSlashInterface.ts b/src/harness/_namespaces/FourSlashInterface.ts index 270be7300135f..88127d65a0ea0 100644 --- a/src/harness/_namespaces/FourSlashInterface.ts +++ b/src/harness/_namespaces/FourSlashInterface.ts @@ -1,3 +1,3 @@ /* Generated file to emulate the FourSlashInterface namespace. */ -export * from "../fourslashInterfaceImpl"; +export * from "../fourslashInterfaceImpl.js"; diff --git a/src/harness/_namespaces/Harness.LanguageService.ts b/src/harness/_namespaces/Harness.LanguageService.ts index 53544477e279c..d485be2af0b73 100644 --- a/src/harness/_namespaces/Harness.LanguageService.ts +++ b/src/harness/_namespaces/Harness.LanguageService.ts @@ -1,3 +1,3 @@ /* Generated file to emulate the Harness.LanguageService namespace. */ -export * from "../harnessLanguageService"; +export * from "../harnessLanguageService.js"; diff --git a/src/harness/_namespaces/Harness.SourceMapRecorder.ts b/src/harness/_namespaces/Harness.SourceMapRecorder.ts index 909654b08d165..8ae47bc803a6d 100644 --- a/src/harness/_namespaces/Harness.SourceMapRecorder.ts +++ b/src/harness/_namespaces/Harness.SourceMapRecorder.ts @@ -1,3 +1,3 @@ /* Generated file to emulate the Harness.SourceMapRecorder namespace. */ -export * from "../sourceMapRecorder"; +export * from "../sourceMapRecorder.js"; diff --git a/src/harness/_namespaces/Harness.ts b/src/harness/_namespaces/Harness.ts index 3ff4b006555c1..964d64de66cb1 100644 --- a/src/harness/_namespaces/Harness.ts +++ b/src/harness/_namespaces/Harness.ts @@ -1,9 +1,9 @@ /* Generated file to emulate the Harness namespace. */ -export * from "../runnerbase"; -export * from "../harnessIO"; -export * from "../typeWriter"; -import * as LanguageService from "./Harness.LanguageService"; +export * from "../runnerbase.js"; +export * from "../harnessIO.js"; +export * from "../typeWriter.js"; +import * as LanguageService from "./Harness.LanguageService.js"; export { LanguageService }; -import * as SourceMapRecorder from "./Harness.SourceMapRecorder"; +import * as SourceMapRecorder from "./Harness.SourceMapRecorder.js"; export { SourceMapRecorder }; diff --git a/src/harness/_namespaces/Utils.ts b/src/harness/_namespaces/Utils.ts index 3b958cd166789..d15b5cc7e3b72 100644 --- a/src/harness/_namespaces/Utils.ts +++ b/src/harness/_namespaces/Utils.ts @@ -1,5 +1,5 @@ /* Generated file to emulate the Utils namespace. */ -export * from "../util"; -export * from "../findUpDir"; -export * from "../harnessUtils"; +export * from "../util.js"; +export * from "../findUpDir.js"; +export * from "../harnessUtils.js"; diff --git a/src/harness/_namespaces/collections.ts b/src/harness/_namespaces/collections.ts index 870e956769ebb..3445e7971ffeb 100644 --- a/src/harness/_namespaces/collections.ts +++ b/src/harness/_namespaces/collections.ts @@ -1,3 +1,3 @@ /* Generated file to emulate the collections namespace. */ -export * from "../collectionsImpl"; +export * from "../collectionsImpl.js"; diff --git a/src/harness/_namespaces/compiler.ts b/src/harness/_namespaces/compiler.ts index 3ff645eca59d2..3b53847394748 100644 --- a/src/harness/_namespaces/compiler.ts +++ b/src/harness/_namespaces/compiler.ts @@ -1,3 +1,3 @@ /* Generated file to emulate the compiler namespace. */ -export * from "../compilerImpl"; +export * from "../compilerImpl.js"; diff --git a/src/harness/_namespaces/documents.ts b/src/harness/_namespaces/documents.ts index 67dbd0e6c1c20..c1bba77a940a4 100644 --- a/src/harness/_namespaces/documents.ts +++ b/src/harness/_namespaces/documents.ts @@ -1,3 +1,3 @@ /* Generated file to emulate the documents namespace. */ -export * from "../documentsUtil"; +export * from "../documentsUtil.js"; diff --git a/src/harness/_namespaces/evaluator.ts b/src/harness/_namespaces/evaluator.ts index e47f3eb0aeee2..d052b6c8fe4d3 100644 --- a/src/harness/_namespaces/evaluator.ts +++ b/src/harness/_namespaces/evaluator.ts @@ -1,3 +1,3 @@ /* Generated file to emulate the evaluator namespace. */ -export * from "../evaluatorImpl"; +export * from "../evaluatorImpl.js"; diff --git a/src/harness/_namespaces/fakes.ts b/src/harness/_namespaces/fakes.ts index d2a68860bbb15..f5d19a8eeec15 100644 --- a/src/harness/_namespaces/fakes.ts +++ b/src/harness/_namespaces/fakes.ts @@ -1,3 +1,3 @@ /* Generated file to emulate the fakes namespace. */ -export * from "../fakesHosts"; +export * from "../fakesHosts.js"; diff --git a/src/harness/_namespaces/ts.server.ts b/src/harness/_namespaces/ts.server.ts index 714986489e3d5..d808ae75c51c4 100644 --- a/src/harness/_namespaces/ts.server.ts +++ b/src/harness/_namespaces/ts.server.ts @@ -1,6 +1,6 @@ /* Generated file to emulate the ts.server namespace. */ -export * from "../../jsTyping/_namespaces/ts.server"; -export * from "../../server/_namespaces/ts.server"; -export * from "../../typingsInstallerCore/_namespaces/ts.server"; -export * from "../client"; +export * from "../../jsTyping/_namespaces/ts.server.js"; +export * from "../../server/_namespaces/ts.server.js"; +export * from "../../typingsInstallerCore/_namespaces/ts.server.js"; +export * from "../client.js"; diff --git a/src/harness/_namespaces/ts.ts b/src/harness/_namespaces/ts.ts index 3f6ecdc8eeea5..a8d0cb3f723c2 100644 --- a/src/harness/_namespaces/ts.ts +++ b/src/harness/_namespaces/ts.ts @@ -1,11 +1,11 @@ /* Generated file to emulate the ts namespace. */ -export * from "../../compiler/_namespaces/ts"; -export * from "../../services/_namespaces/ts"; -export * from "../../jsTyping/_namespaces/ts"; -export * from "../../server/_namespaces/ts"; -export * from "../../typingsInstallerCore/_namespaces/ts"; -export * from "../../deprecatedCompat/_namespaces/ts"; -export * from "../harnessGlobals"; -import * as server from "./ts.server"; +export * from "../../compiler/_namespaces/ts.js"; +export * from "../../services/_namespaces/ts.js"; +export * from "../../jsTyping/_namespaces/ts.js"; +export * from "../../server/_namespaces/ts.js"; +export * from "../../typingsInstallerCore/_namespaces/ts.js"; +export * from "../../deprecatedCompat/_namespaces/ts.js"; +export * from "../harnessGlobals.js"; +import * as server from "./ts.server.js"; export { server }; diff --git a/src/harness/_namespaces/vfs.ts b/src/harness/_namespaces/vfs.ts index 1eb82cd822103..ddd2347e4a99e 100644 --- a/src/harness/_namespaces/vfs.ts +++ b/src/harness/_namespaces/vfs.ts @@ -1,3 +1,3 @@ /* Generated file to emulate the vfs namespace. */ -export * from "../vfsUtil"; +export * from "../vfsUtil.js"; diff --git a/src/harness/_namespaces/vpath.ts b/src/harness/_namespaces/vpath.ts index 7430c87d9b6ad..5c9c5ff5e95df 100644 --- a/src/harness/_namespaces/vpath.ts +++ b/src/harness/_namespaces/vpath.ts @@ -1,3 +1,3 @@ /* Generated file to emulate the vpath namespace. */ -export * from "../vpathUtil"; +export * from "../vpathUtil.js"; diff --git a/src/harness/client.ts b/src/harness/client.ts index cc138546174e5..2d764ad15d9d6 100644 --- a/src/harness/client.ts +++ b/src/harness/client.ts @@ -48,6 +48,8 @@ import { notImplemented, OrganizeImportsArgs, OutliningSpan, + PasteEdits, + PasteEditsArgs, PatternMatchKind, Program, QuickInfo, @@ -73,8 +75,8 @@ import { TodoComment, TodoCommentDescriptor, UserPreferences, -} from "./_namespaces/ts"; -import { protocol } from "./_namespaces/ts.server"; +} from "./_namespaces/ts.js"; +import { protocol } from "./_namespaces/ts.server.js"; export interface SessionClientHost extends LanguageServiceHost { writeMessage(message: string): void; @@ -787,6 +789,8 @@ export class SessionClient implements LanguageService { }); } + mapCode = notImplemented; + private createFileLocationOrRangeRequestArgs(positionOrRange: number | TextRange, fileName: string): protocol.FileLocationOrRangeRequestArgs { return typeof positionOrRange === "number" ? this.createFileLocationRequestArgs(fileName, positionOrRange) @@ -1006,6 +1010,26 @@ export class SessionClient implements LanguageService { return getSupportedCodeFixes(); } + getPasteEdits( + { targetFile, pastedText, pasteLocations, copiedFrom }: PasteEditsArgs, + formatOptions: FormatCodeSettings, + ): PasteEdits { + this.setFormattingOptions(formatOptions); + const args: protocol.GetPasteEditsRequestArgs = { + file: targetFile, + pastedText, + pasteLocations: pasteLocations.map(range => ({ start: this.positionToOneBasedLineOffset(targetFile, range.pos), end: this.positionToOneBasedLineOffset(targetFile, range.end) })), + copiedFrom: copiedFrom ? { file: copiedFrom.file, spans: copiedFrom.range.map(range => ({ start: this.positionToOneBasedLineOffset(copiedFrom.file, range.pos), end: this.positionToOneBasedLineOffset(copiedFrom.file, range.end) })) } : undefined, + }; + const request = this.processRequest(protocol.CommandTypes.GetPasteEdits, args); + const response = this.processResponse(request); + if (!response.body) { + return { edits: [] }; + } + const edits: FileTextChanges[] = this.convertCodeEditsToTextChanges(response.body.edits); + return { edits, fixId: response.body.fixId }; + } + getProgram(): Program { throw new Error("Program objects are not serializable through the server protocol."); } diff --git a/src/harness/collectionsImpl.ts b/src/harness/collectionsImpl.ts index 5e6b3d1fb4446..7b0a859d0fcbc 100644 --- a/src/harness/collectionsImpl.ts +++ b/src/harness/collectionsImpl.ts @@ -1,4 +1,4 @@ -import * as ts from "./_namespaces/ts"; +import * as ts from "./_namespaces/ts.js"; export interface SortOptions { comparer: (a: T, b: T) => number; diff --git a/src/harness/compilerImpl.ts b/src/harness/compilerImpl.ts index f73e739e8b2d0..90393622d9308 100644 --- a/src/harness/compilerImpl.ts +++ b/src/harness/compilerImpl.ts @@ -1,10 +1,10 @@ -import * as collections from "./_namespaces/collections"; -import * as documents from "./_namespaces/documents"; -import * as fakes from "./_namespaces/fakes"; -import * as Harness from "./_namespaces/Harness"; -import * as ts from "./_namespaces/ts"; -import * as vfs from "./_namespaces/vfs"; -import * as vpath from "./_namespaces/vpath"; +import * as collections from "./_namespaces/collections.js"; +import * as documents from "./_namespaces/documents.js"; +import * as fakes from "./_namespaces/fakes.js"; +import * as Harness from "./_namespaces/Harness.js"; +import * as ts from "./_namespaces/ts.js"; +import * as vfs from "./_namespaces/vfs.js"; +import * as vpath from "./_namespaces/vpath.js"; /** * Test harness compiler functionality. diff --git a/src/harness/documentsUtil.ts b/src/harness/documentsUtil.ts index 8699609ef5350..8a96d4d290f3e 100644 --- a/src/harness/documentsUtil.ts +++ b/src/harness/documentsUtil.ts @@ -1,5 +1,5 @@ -import * as Harness from "./_namespaces/Harness"; -import * as ts from "./_namespaces/ts"; +import * as Harness from "./_namespaces/Harness.js"; +import * as ts from "./_namespaces/ts.js"; // NOTE: The contents of this file are all exported from the namespace 'documents'. This is to // support the eventual conversion of harness into a modular system. diff --git a/src/harness/evaluatorImpl.ts b/src/harness/evaluatorImpl.ts index b8decf789a1aa..9fdeed5b6cdc7 100644 --- a/src/harness/evaluatorImpl.ts +++ b/src/harness/evaluatorImpl.ts @@ -1,9 +1,9 @@ -import * as compiler from "./_namespaces/compiler"; -import * as fakes from "./_namespaces/fakes"; -import * as Harness from "./_namespaces/Harness"; -import * as ts from "./_namespaces/ts"; -import * as vfs from "./_namespaces/vfs"; -import * as vpath from "./_namespaces/vpath"; +import * as compiler from "./_namespaces/compiler.js"; +import * as fakes from "./_namespaces/fakes.js"; +import * as Harness from "./_namespaces/Harness.js"; +import * as ts from "./_namespaces/ts.js"; +import * as vfs from "./_namespaces/vfs.js"; +import * as vpath from "./_namespaces/vpath.js"; const sourceFile = vpath.combine(vfs.srcFolder, "source.ts"); const sourceFileJs = vpath.combine(vfs.srcFolder, "source.js"); diff --git a/src/harness/fakesHosts.ts b/src/harness/fakesHosts.ts index 4388b77aa1ca5..b677d7248261d 100644 --- a/src/harness/fakesHosts.ts +++ b/src/harness/fakesHosts.ts @@ -1,10 +1,10 @@ -import * as collections from "./_namespaces/collections"; -import * as documents from "./_namespaces/documents"; -import * as Harness from "./_namespaces/Harness"; -import * as ts from "./_namespaces/ts"; -import * as Utils from "./_namespaces/Utils"; -import * as vfs from "./_namespaces/vfs"; -import * as vpath from "./_namespaces/vpath"; +import * as collections from "./_namespaces/collections.js"; +import * as documents from "./_namespaces/documents.js"; +import * as Harness from "./_namespaces/Harness.js"; +import * as ts from "./_namespaces/ts.js"; +import * as Utils from "./_namespaces/Utils.js"; +import * as vfs from "./_namespaces/vfs.js"; +import * as vpath from "./_namespaces/vpath.js"; /** * Fake implementations of various compiler dependencies. diff --git a/src/harness/fourslashImpl.ts b/src/harness/fourslashImpl.ts index fc544bc2e0e6d..ac44525404f5d 100644 --- a/src/harness/fourslashImpl.ts +++ b/src/harness/fourslashImpl.ts @@ -1,11 +1,11 @@ -import * as fakes from "./_namespaces/fakes"; -import * as FourSlashInterface from "./_namespaces/FourSlashInterface"; -import * as Harness from "./_namespaces/Harness"; -import * as ts from "./_namespaces/ts"; -import * as Utils from "./_namespaces/Utils"; -import * as vfs from "./_namespaces/vfs"; -import * as vpath from "./_namespaces/vpath"; -import { LoggerWithInMemoryLogs } from "./tsserverLogger"; +import * as fakes from "./_namespaces/fakes.js"; +import * as FourSlashInterface from "./_namespaces/FourSlashInterface.js"; +import * as Harness from "./_namespaces/Harness.js"; +import * as ts from "./_namespaces/ts.js"; +import * as Utils from "./_namespaces/Utils.js"; +import * as vfs from "./_namespaces/vfs.js"; +import * as vpath from "./_namespaces/vpath.js"; +import { LoggerWithInMemoryLogs } from "./tsserverLogger.js"; import ArrayOrSingle = FourSlashInterface.ArrayOrSingle; @@ -3560,6 +3560,11 @@ export class TestState { assert.deepEqual(actualModuleSpecifiers, moduleSpecifiers); } + public verifyPasteEdits(options: FourSlashInterface.PasteEditsOptions): void { + const editInfo = this.languageService.getPasteEdits({ targetFile: this.activeFile.fileName, pastedText: options.args.pastedText, pasteLocations: options.args.pasteLocations, copiedFrom: options.args.copiedFrom, preferences: options.args.preferences }, this.formatCodeSettings); + this.verifyNewContent({ newFileContent: options.newFileContents }, editInfo.edits); + } + public verifyDocCommentTemplate(expected: ts.TextInsertion | undefined, options?: ts.DocCommentTemplateOptions) { const name = "verifyDocCommentTemplate"; const actual = this.languageService.getDocCommentTemplateAtPosition(this.activeFile.fileName, this.currentCaretPosition, options || { generateReturnInDocTemplate: true }, this.formatCodeSettings)!; @@ -4505,6 +4510,57 @@ export class TestState { this.verifyCurrentFileContent(newFileContent); } + + public baselineMapCode( + ranges: Range[][], + changes: string[] = [], + ): void { + const fileName = this.activeFile.fileName; + const focusLocations = ranges.map(r => + r.map(({ pos, end }) => { + return { start: pos, length: end - pos }; + }) + ); + let before = this.getFileContent(fileName); + const edits = this.languageService.mapCode( + fileName, + // We trim the leading whitespace stuff just so our test cases can be more readable. + changes, + focusLocations, + this.formatCodeSettings, + {}, + ); + this.applyChanges(edits); + focusLocations.forEach(r => { + r.sort((a, b) => a.start - b.start); + }); + focusLocations.sort((a, b) => a[0].start - b[0].start); + for (const subLoc of focusLocations) { + for (const { start, length } of subLoc) { + let offset = 0; + for (const sl2 of focusLocations) { + for (const { start: s2, length: l2 } of sl2) { + if (s2 < start) { + offset += 4; + if ((s2 + l2) > start) { + offset -= 2; + } + } + } + } + before = before.slice(0, start + offset) + "[|" + before.slice(start + offset, start + offset + length) + "|]" + before.slice(start + offset + length); + } + } + const after = this.getFileContent(fileName); + const baseline = ` +// === ORIGINAL === +${before} +// === INCOMING CHANGES === +${changes.join("\n// ---\n")} +// === MAPPED === +${after}`; + this.baseline("mapCode", baseline, ".mapCode.ts"); + } } function updateTextRangeForTextChanges({ pos, end }: ts.TextRange, textChanges: readonly ts.TextChange[]): ts.TextRange { diff --git a/src/harness/fourslashInterfaceImpl.ts b/src/harness/fourslashInterfaceImpl.ts index 64577f69ced7c..f04ac4594f918 100644 --- a/src/harness/fourslashInterfaceImpl.ts +++ b/src/harness/fourslashInterfaceImpl.ts @@ -1,5 +1,5 @@ -import * as FourSlash from "./_namespaces/FourSlash"; -import * as ts from "./_namespaces/ts"; +import * as FourSlash from "./_namespaces/FourSlash.js"; +import * as ts from "./_namespaces/ts.js"; export class Test { constructor(private state: FourSlash.TestState) { @@ -239,6 +239,10 @@ export class VerifyNegatable { public uncommentSelection(newFileContent: string) { this.state.uncommentSelection(newFileContent); } + + public baselineMapCode(ranges: FourSlash.Range[][], changes: string[] = []): void { + this.state.baselineMapCode(ranges, changes); + } } export class Verify extends VerifyNegatable { @@ -620,6 +624,10 @@ export class Verify extends VerifyNegatable { public organizeImports(newContent: string, mode?: ts.OrganizeImportsMode, preferences?: ts.UserPreferences): void { this.state.verifyOrganizeImports(newContent, mode, preferences); } + + public pasteEdits(options: PasteEditsOptions): void { + this.state.verifyPasteEdits(options); + } } export class Edit { @@ -1923,6 +1931,12 @@ export interface MoveToFileOptions { readonly preferences?: ts.UserPreferences; } +export interface PasteEditsOptions { + readonly newFileContents: { readonly [fileName: string]: string; }; + args: ts.PasteEditsArgs; + readonly fixId: string; +} + export type RenameLocationsOptions = readonly RenameLocationOptions[] | { readonly findInStrings?: boolean; readonly findInComments?: boolean; diff --git a/src/harness/harnessGlobals.ts b/src/harness/harnessGlobals.ts index a83bff41287ba..87831e80f66d5 100644 --- a/src/harness/harnessGlobals.ts +++ b/src/harness/harnessGlobals.ts @@ -1,6 +1,6 @@ import * as chai from "chai"; -import * as ts from "./_namespaces/ts"; +import * as ts from "./_namespaces/ts.js"; // this will work in the browser via browserify declare global { diff --git a/src/harness/harnessIO.ts b/src/harness/harnessIO.ts index a9891d70921b0..ea8e988eb991b 100644 --- a/src/harness/harnessIO.ts +++ b/src/harness/harnessIO.ts @@ -1,15 +1,15 @@ -import * as compiler from "./_namespaces/compiler"; -import * as documents from "./_namespaces/documents"; -import * as fakes from "./_namespaces/fakes"; +import * as compiler from "./_namespaces/compiler.js"; +import * as documents from "./_namespaces/documents.js"; +import * as fakes from "./_namespaces/fakes.js"; import { RunnerBase, TypeWriterResult, TypeWriterWalker, -} from "./_namespaces/Harness"; -import * as ts from "./_namespaces/ts"; -import * as Utils from "./_namespaces/Utils"; -import * as vfs from "./_namespaces/vfs"; -import * as vpath from "./_namespaces/vpath"; +} from "./_namespaces/Harness.js"; +import * as ts from "./_namespaces/ts.js"; +import * as Utils from "./_namespaces/Utils.js"; +import * as vfs from "./_namespaces/vfs.js"; +import * as vpath from "./_namespaces/vpath.js"; export interface IO { newLine(): string; @@ -1001,9 +1001,10 @@ export namespace Compiler { jsCode += "\r\n\r\n"; jsCode += getErrorBaseline(tsConfigFiles.concat(declFileCompilationResult.declInputFiles, declFileCompilationResult.declOtherFiles), declFileCompilationResult.declResult.diagnostics); } - else if (!options.noCheck && !options.noEmit && (options.composite || options.declaration || options.emitDeclarationOnly)) { - const withoutChecking = result.repeat({ noCheck: "true", emitDeclarationOnly: "true" }); + else if (!options.noCheck && !options.noEmit) { + const withoutChecking = result.repeat({ noCheck: "true" }); compareResultFileSets(withoutChecking.dts, result.dts); + compareResultFileSets(withoutChecking.js, result.js); } // eslint-disable-next-line no-restricted-syntax diff --git a/src/harness/harnessLanguageService.ts b/src/harness/harnessLanguageService.ts index c890eadc37e75..4dfd58a297a96 100644 --- a/src/harness/harnessLanguageService.ts +++ b/src/harness/harnessLanguageService.ts @@ -1,22 +1,22 @@ -import * as collections from "./_namespaces/collections"; -import * as fakes from "./_namespaces/fakes"; +import * as collections from "./_namespaces/collections.js"; +import * as fakes from "./_namespaces/fakes.js"; import { Compiler, mockHash, virtualFileSystemRoot, -} from "./_namespaces/Harness"; -import * as ts from "./_namespaces/ts"; -import { getNewLineCharacter } from "./_namespaces/ts"; -import * as vfs from "./_namespaces/vfs"; -import * as vpath from "./_namespaces/vpath"; -import { incrementalVerifier } from "./incrementalUtils"; -import { patchServiceForStateBaseline } from "./projectServiceStateLogger"; +} from "./_namespaces/Harness.js"; +import * as ts from "./_namespaces/ts.js"; +import { getNewLineCharacter } from "./_namespaces/ts.js"; +import * as vfs from "./_namespaces/vfs.js"; +import * as vpath from "./_namespaces/vpath.js"; +import { incrementalVerifier } from "./incrementalUtils.js"; +import { patchServiceForStateBaseline } from "./projectServiceStateLogger.js"; import { createLoggerWithInMemoryLogs, HarnessLSCouldNotResolveModule, LoggerWithInMemoryLogs, -} from "./tsserverLogger"; -import { createWatchUtils } from "./watchUtils"; +} from "./tsserverLogger.js"; +import { createWatchUtils } from "./watchUtils.js"; export function makeDefaultProxy(info: ts.server.PluginCreateInfo): ts.LanguageService { const proxy = Object.create(/*o*/ null); // eslint-disable-line no-restricted-syntax diff --git a/src/harness/harnessUtils.ts b/src/harness/harnessUtils.ts index cb335891e893b..d7989da8d6980 100644 --- a/src/harness/harnessUtils.ts +++ b/src/harness/harnessUtils.ts @@ -1,5 +1,5 @@ -import * as Harness from "./_namespaces/Harness"; -import * as ts from "./_namespaces/ts"; +import * as Harness from "./_namespaces/Harness.js"; +import * as ts from "./_namespaces/ts.js"; export function encodeString(s: string): string { return Buffer.from(s).toString("utf8"); diff --git a/src/harness/incrementalUtils.ts b/src/harness/incrementalUtils.ts index 0ac3c9da9d2d3..ae48d0bed6694 100644 --- a/src/harness/incrementalUtils.ts +++ b/src/harness/incrementalUtils.ts @@ -1,4 +1,4 @@ -import * as ts from "./_namespaces/ts"; +import * as ts from "./_namespaces/ts.js"; export function reportDocumentRegistryStats(documentRegistry: ts.DocumentRegistry) { const str: string[] = []; diff --git a/src/harness/projectServiceStateLogger.ts b/src/harness/projectServiceStateLogger.ts index fd3f75853079d..599769b8e734b 100644 --- a/src/harness/projectServiceStateLogger.ts +++ b/src/harness/projectServiceStateLogger.ts @@ -9,7 +9,7 @@ import { isString, noop, SourceMapper, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; import { AutoImportProviderProject, AuxiliaryProject, @@ -23,8 +23,8 @@ import { ScriptInfo, SourceMapFileWatcher, TextStorage, -} from "./_namespaces/ts.server"; -import { LoggerWithInMemoryLogs } from "./tsserverLogger"; +} from "./_namespaces/ts.server.js"; +import { LoggerWithInMemoryLogs } from "./tsserverLogger.js"; interface ProjectData { projectStateVersion: Project["projectStateVersion"]; @@ -104,7 +104,11 @@ export function patchServiceForStateBaseline(service: ProjectService) { function baselineProjects(currentMappers: Set) { const autoImportProviderProjects = [] as AutoImportProviderProject[]; const auxiliaryProjects = [] as AuxiliaryProject[]; - const orphanConfiguredProjects = service.getOrphanConfiguredProjects(/*toRetainConfiguredProjects*/ undefined); + const orphanConfiguredProjects = service.getOrphanConfiguredProjects( + /*toRetainConfiguredProjects*/ undefined, + /*openFilesWithRetainedConfiguredProject*/ undefined, + /*externalProjectsRetainingConfiguredProjects*/ undefined, + ); const noOpenRef = (project: Project) => isConfiguredProject(project) && (project.isClosed() || orphanConfiguredProjects.has(project)); return baselineState( [service.externalProjects, service.configuredProjects, service.inferredProjects, autoImportProviderProjects, auxiliaryProjects], diff --git a/src/harness/runnerbase.ts b/src/harness/runnerbase.ts index cc341aa499e89..17c6e5cb556a2 100644 --- a/src/harness/runnerbase.ts +++ b/src/harness/runnerbase.ts @@ -1,8 +1,8 @@ import { IO, userSpecifiedRoot, -} from "./_namespaces/Harness"; -import * as ts from "./_namespaces/ts"; +} from "./_namespaces/Harness.js"; +import * as ts from "./_namespaces/ts.js"; export type TestRunnerKind = CompilerTestKind | FourslashTestKind | "project" | "transpile"; export type CompilerTestKind = "conformance" | "compiler"; diff --git a/src/harness/sourceMapRecorder.ts b/src/harness/sourceMapRecorder.ts index 6504f33877614..44a6c12edf935 100644 --- a/src/harness/sourceMapRecorder.ts +++ b/src/harness/sourceMapRecorder.ts @@ -1,7 +1,7 @@ -import * as documents from "./_namespaces/documents"; -import { Compiler } from "./_namespaces/Harness"; -import * as ts from "./_namespaces/ts"; -import * as Utils from "./_namespaces/Utils"; +import * as documents from "./_namespaces/documents.js"; +import { Compiler } from "./_namespaces/Harness.js"; +import * as ts from "./_namespaces/ts.js"; +import * as Utils from "./_namespaces/Utils.js"; interface SourceMapSpanWithDecodeErrors { sourceMapSpan: ts.Mapping; diff --git a/src/harness/tsserverLogger.ts b/src/harness/tsserverLogger.ts index 605d478824d40..6e8d18be74c6e 100644 --- a/src/harness/tsserverLogger.ts +++ b/src/harness/tsserverLogger.ts @@ -1,5 +1,5 @@ -import * as ts from "./_namespaces/ts"; -import { Compiler } from "./harnessIO"; +import * as ts from "./_namespaces/ts.js"; +import { Compiler } from "./harnessIO.js"; export const HarnessLSCouldNotResolveModule = "HarnessLanguageService:: Could not resolve module"; diff --git a/src/harness/typeWriter.ts b/src/harness/typeWriter.ts index d8dd2326ddbd2..e09f8bd56a272 100644 --- a/src/harness/typeWriter.ts +++ b/src/harness/typeWriter.ts @@ -1,9 +1,9 @@ -import * as ts from "./_namespaces/ts"; +import * as ts from "./_namespaces/ts.js"; import { createPrinter, createTextWriter, memoize, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; export interface TypeWriterTypeResult { line: number; diff --git a/src/harness/util.ts b/src/harness/util.ts index 59bbbb0cec6af..4b0f7e28b9a09 100644 --- a/src/harness/util.ts +++ b/src/harness/util.ts @@ -1,4 +1,4 @@ -import * as ts from "./_namespaces/ts"; +import * as ts from "./_namespaces/ts.js"; /** * Common utilities diff --git a/src/harness/vfsUtil.ts b/src/harness/vfsUtil.ts index 11ffcfb25a683..7e6e76d545d19 100644 --- a/src/harness/vfsUtil.ts +++ b/src/harness/vfsUtil.ts @@ -1,8 +1,8 @@ -import * as collections from "./_namespaces/collections"; -import * as documents from "./_namespaces/documents"; -import * as Harness from "./_namespaces/Harness"; -import * as ts from "./_namespaces/ts"; -import * as vpath from "./_namespaces/vpath"; +import * as collections from "./_namespaces/collections.js"; +import * as documents from "./_namespaces/documents.js"; +import * as Harness from "./_namespaces/Harness.js"; +import * as ts from "./_namespaces/ts.js"; +import * as vpath from "./_namespaces/vpath.js"; /** * Posix-style path to the TypeScript compiler build outputs (including tsc.js, lib.d.ts, etc.) @@ -788,8 +788,8 @@ export class FileSystem { } private static fileDiff(container: FileSet, basename: string, changed: FileSystem, changedNode: FileInode, base: FileSystem, baseNode: FileInode, options: DiffOptions) { - while (!changedNode.buffer && changedNode.shadowRoot) changedNode = changedNode.shadowRoot; - while (!baseNode.buffer && baseNode.shadowRoot) baseNode = baseNode.shadowRoot; + changedNode = walkSameNodes(changedNode); + baseNode = walkSameNodes(baseNode); // no difference if the nodes are the same reference if (changedNode === baseNode) return false; @@ -827,6 +827,15 @@ export class FileSystem { container[basename] = new File(changedBuffer.data, { encoding: changedBuffer.encoding }); return true; + + function walkSameNodes(node: FileInode) { + while ( + !node.buffer && + node.shadowRoot && + (!options.includeChangedFileWithSameContent || node.mtimeMs === node.shadowRoot.mtimeMs) + ) node = node.shadowRoot; + return node; + } } private static symlinkDiff(container: FileSet, basename: string, changedNode: SymlinkInode, baseNode: SymlinkInode) { diff --git a/src/harness/vpathUtil.ts b/src/harness/vpathUtil.ts index 9b9d5e79fdfe6..c7c1ef4ce47c8 100644 --- a/src/harness/vpathUtil.ts +++ b/src/harness/vpathUtil.ts @@ -1,5 +1,5 @@ -import * as ts from "./_namespaces/ts"; -import * as vfs from "./_namespaces/vfs"; +import * as ts from "./_namespaces/ts.js"; +import * as vfs from "./_namespaces/vfs.js"; export import sep = ts.directorySeparator; export import normalizeSeparators = ts.normalizeSlashes; diff --git a/src/harness/watchUtils.ts b/src/harness/watchUtils.ts index fd0201f28b20f..194a4d3225b2d 100644 --- a/src/harness/watchUtils.ts +++ b/src/harness/watchUtils.ts @@ -10,7 +10,7 @@ import { MultiMap, PollingInterval, System, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; export interface TestFileWatcher { cb: FileWatcherCallback; diff --git a/src/jsTyping/_namespaces/ts.JsTyping.ts b/src/jsTyping/_namespaces/ts.JsTyping.ts index 6b010af980713..92abff3bea4b5 100644 --- a/src/jsTyping/_namespaces/ts.JsTyping.ts +++ b/src/jsTyping/_namespaces/ts.JsTyping.ts @@ -1,3 +1,3 @@ /* Generated file to emulate the ts.JsTyping namespace. */ -export * from "../jsTyping"; +export * from "../jsTyping.js"; diff --git a/src/jsTyping/_namespaces/ts.server.ts b/src/jsTyping/_namespaces/ts.server.ts index fe67648d42d98..a378332035669 100644 --- a/src/jsTyping/_namespaces/ts.server.ts +++ b/src/jsTyping/_namespaces/ts.server.ts @@ -1,4 +1,4 @@ /* Generated file to emulate the ts.server namespace. */ -export * from "../shared"; -export * from "../types"; +export * from "../shared.js"; +export * from "../types.js"; diff --git a/src/jsTyping/_namespaces/ts.ts b/src/jsTyping/_namespaces/ts.ts index adf9791f4d2b5..db60f5218cf19 100644 --- a/src/jsTyping/_namespaces/ts.ts +++ b/src/jsTyping/_namespaces/ts.ts @@ -1,7 +1,7 @@ /* Generated file to emulate the ts namespace. */ -export * from "../../compiler/_namespaces/ts"; -import * as JsTyping from "./ts.JsTyping"; +export * from "../../compiler/_namespaces/ts.js"; +import * as JsTyping from "./ts.JsTyping.js"; export { JsTyping }; -import * as server from "./ts.server"; +import * as server from "./ts.server.js"; export { server }; diff --git a/src/jsTyping/jsTyping.ts b/src/jsTyping/jsTyping.ts index 1f81cca4ad7ad..c1d2babeab10c 100644 --- a/src/jsTyping/jsTyping.ts +++ b/src/jsTyping/jsTyping.ts @@ -29,8 +29,8 @@ import { TypeAcquisition, Version, versionMajorMinor, -} from "./_namespaces/ts"; -import { stringifyIndented } from "./_namespaces/ts.server"; +} from "./_namespaces/ts.js"; +import { stringifyIndented } from "./_namespaces/ts.server.js"; export interface TypingResolutionHost { directoryExists(path: string): boolean; diff --git a/src/jsTyping/shared.ts b/src/jsTyping/shared.ts index ab163bccbc34e..ddf13a4c9f9d7 100644 --- a/src/jsTyping/shared.ts +++ b/src/jsTyping/shared.ts @@ -1,4 +1,4 @@ -import { sys } from "./_namespaces/ts"; +import { sys } from "./_namespaces/ts.js"; export type ActionSet = "action::set"; export type ActionInvalidate = "action::invalidate"; diff --git a/src/jsTyping/types.ts b/src/jsTyping/types.ts index 8d84a0d3bfdfb..0504a9344ca05 100644 --- a/src/jsTyping/types.ts +++ b/src/jsTyping/types.ts @@ -5,7 +5,7 @@ import { Path, SortedReadonlyArray, TypeAcquisition, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; import { ActionInvalidate, ActionPackageInstalled, @@ -15,7 +15,7 @@ import { EventEndInstallTypes, EventInitializationFailed, EventTypesRegistry, -} from "./_namespaces/ts.server"; +} from "./_namespaces/ts.server.js"; export interface TypingInstallerResponse { readonly kind: ActionSet | ActionInvalidate | EventTypesRegistry | ActionPackageInstalled | EventBeginInstallTypes | EventEndInstallTypes | EventInitializationFailed | ActionWatchTypingLocations; diff --git a/src/lib/esnext.collection.d.ts b/src/lib/esnext.collection.d.ts index 7a799f3c494e7..504ed6782d4bb 100644 --- a/src/lib/esnext.collection.d.ts +++ b/src/lib/esnext.collection.d.ts @@ -9,3 +9,80 @@ interface MapConstructor { keySelector: (item: T, index: number) => K, ): Map; } + +interface ReadonlySetLike { + /** + * Despite its name, returns an iterator of the values in the set-like. + */ + keys(): Iterator; + /** + * @returns a boolean indicating whether an element with the specified value exists in the set-like or not. + */ + has(value: T): boolean; + /** + * @returns the number of (unique) elements in the set-like. + */ + readonly size: number; +} + +interface Set { + /** + * @returns a new Set containing all the elements in this Set and also all the elements in the argument. + */ + union(other: ReadonlySetLike): Set; + /** + * @returns a new Set containing all the elements which are both in this Set and in the argument. + */ + intersection(other: ReadonlySetLike): Set; + /** + * @returns a new Set containing all the elements in this Set which are not also in the argument. + */ + difference(other: ReadonlySetLike): Set; + /** + * @returns a new Set containing all the elements which are in either this Set or in the argument, but not in both. + */ + symmetricDifference(other: ReadonlySetLike): Set; + /** + * @returns a boolean indicating whether all the elements in this Set are also in the argument. + */ + isSubsetOf(other: ReadonlySetLike): boolean; + /** + * @returns a boolean indicating whether all the elements in the argument are also in this Set. + */ + isSupersetOf(other: ReadonlySetLike): boolean; + /** + * @returns a boolean indicating whether this Set has no elements in common with the argument. + */ + isDisjointFrom(other: ReadonlySetLike): boolean; +} + +interface ReadonlySet { + /** + * @returns a new Set containing all the elements in this Set and also all the elements in the argument. + */ + union(other: ReadonlySetLike): Set; + /** + * @returns a new Set containing all the elements which are both in this Set and in the argument. + */ + intersection(other: ReadonlySetLike): Set; + /** + * @returns a new Set containing all the elements in this Set which are not also in the argument. + */ + difference(other: ReadonlySetLike): Set; + /** + * @returns a new Set containing all the elements which are in either this Set or in the argument, but not in both. + */ + symmetricDifference(other: ReadonlySetLike): Set; + /** + * @returns a boolean indicating whether all the elements in this Set are also in the argument. + */ + isSubsetOf(other: ReadonlySetLike): boolean; + /** + * @returns a boolean indicating whether all the elements in the argument are also in this Set. + */ + isSupersetOf(other: ReadonlySetLike): boolean; + /** + * @returns a boolean indicating whether this Set has no elements in common with the argument. + */ + isDisjointFrom(other: ReadonlySetLike): boolean; +} diff --git a/src/server/_namespaces/ts.server.protocol.ts b/src/server/_namespaces/ts.server.protocol.ts index 781f82d050732..09d3f3b43b855 100644 --- a/src/server/_namespaces/ts.server.protocol.ts +++ b/src/server/_namespaces/ts.server.protocol.ts @@ -1,3 +1,3 @@ /* Generated file to emulate the ts.server.protocol namespace. */ -export * from "../protocol"; +export * from "../protocol.js"; diff --git a/src/server/_namespaces/ts.server.ts b/src/server/_namespaces/ts.server.ts index deaf2e873c38d..cc95db272e9d9 100644 --- a/src/server/_namespaces/ts.server.ts +++ b/src/server/_namespaces/ts.server.ts @@ -1,18 +1,18 @@ /* Generated file to emulate the ts.server namespace. */ -export * from "../../jsTyping/_namespaces/ts.server"; -export * from "../../typingsInstallerCore/_namespaces/ts.server"; -export * from "../types"; -export * from "../utilitiesPublic"; -export * from "../utilities"; -import * as protocol from "./ts.server.protocol"; +export * from "../../jsTyping/_namespaces/ts.server.js"; +export * from "../../typingsInstallerCore/_namespaces/ts.server.js"; +export * from "../types.js"; +export * from "../utilitiesPublic.js"; +export * from "../utilities.js"; +import * as protocol from "./ts.server.protocol.js"; export { protocol }; -export * from "../scriptInfo"; -export * from "../typingsCache"; -export * from "../project"; -export * from "../editorServices"; -export * from "../moduleSpecifierCache"; -export * from "../packageJsonCache"; -export * from "../session"; -export * from "../scriptVersionCache"; -export * from "../typingInstallerAdapter"; +export * from "../scriptInfo.js"; +export * from "../typingsCache.js"; +export * from "../project.js"; +export * from "../editorServices.js"; +export * from "../moduleSpecifierCache.js"; +export * from "../packageJsonCache.js"; +export * from "../session.js"; +export * from "../scriptVersionCache.js"; +export * from "../typingInstallerAdapter.js"; diff --git a/src/server/_namespaces/ts.ts b/src/server/_namespaces/ts.ts index 26e554e4cd973..59404d1b09eac 100644 --- a/src/server/_namespaces/ts.ts +++ b/src/server/_namespaces/ts.ts @@ -1,9 +1,9 @@ /* Generated file to emulate the ts namespace. */ -export * from "../../compiler/_namespaces/ts"; -export * from "../../jsTyping/_namespaces/ts"; -export * from "../../services/_namespaces/ts"; +export * from "../../compiler/_namespaces/ts.js"; +export * from "../../jsTyping/_namespaces/ts.js"; +export * from "../../services/_namespaces/ts.js"; // Pull this in here so that plugins loaded by the server see compat wrappers. -export * from "../../deprecatedCompat/_namespaces/ts"; -import * as server from "./ts.server"; +export * from "../../deprecatedCompat/_namespaces/ts.js"; +import * as server from "./ts.server.js"; export { server }; diff --git a/src/server/editorServices.ts b/src/server/editorServices.ts index 389c879feb106..ae10458e5ad79 100644 --- a/src/server/editorServices.ts +++ b/src/server/editorServices.ts @@ -1,7 +1,6 @@ import { addToSeen, arrayFrom, - arrayToMap, AssertionLevel, CachedDirectoryStructureHost, canJsonReportNoInputFiles, @@ -40,7 +39,6 @@ import { FileWatcherCallback, FileWatcherEventKind, find, - flatMap, forEach, forEachAncestorDirectory, forEachEntry, @@ -106,8 +104,8 @@ import { removeMinAndVersionNumbers, ResolvedProjectReference, resolveProjectReferencePath, + returnFalse, returnNoopFileWatcher, - returnTrue, ScriptKind, SharedExtendedConfigFileWatcher, some, @@ -136,7 +134,7 @@ import { WatchOptions, WatchType, WildcardDirectoryWatcher, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; import { ActionInvalidate, ActionSet, @@ -159,6 +157,7 @@ import { isBackgroundProject, isConfiguredProject, isDynamicFileName, + isExternalProject, isInferredProject, isInferredProjectName, isProjectDeferredClose, @@ -186,8 +185,8 @@ import { toNormalizedPath, TypingsCache, WatchTypingLocations, -} from "./_namespaces/ts.server"; -import * as protocol from "./protocol"; +} from "./_namespaces/ts.server.js"; +import * as protocol from "./protocol.js"; export const maxProgramSizeForNonTsFiles = 20 * 1024 * 1024; /** @internal */ @@ -526,7 +525,7 @@ export interface OpenConfiguredProjectResult { } interface AssignProjectResult extends OpenConfiguredProjectResult { - retainProjects: readonly ConfiguredProject[] | ConfiguredProject | undefined; + retainProjects: Set | undefined; } interface FilePropertyReader { @@ -582,14 +581,15 @@ export interface ConfigFileExistenceInfo { * (config file may include the inferred project files after the change and hence may be wont need to be in inferred project) */ exists: boolean; + /** + * Tracks how many open files are impacted by this config file that are root of inferred project + */ + inferredProjectRoots?: number; /** * openFilesImpactedByConfigFiles is a map of open files that would be impacted by this config file * because these are the paths being looked up for their default configured project location - * The value in the map is true if the open file is root of the inferred project - * It is false when the open file that would still be impacted by existence of - * this config file but it is not the root of inferred project */ - openFilesImpactedByConfigFile?: Map; + openFilesImpactedByConfigFile?: Set; /** * The file watcher watching the config file because there is open script info that is root of * inferred project and will be impacted by change in the status of the config file @@ -626,19 +626,36 @@ export interface ProjectServiceOptions { jsDocParsingMode?: JSDocParsingMode; } -interface OriginalFileInfo { +/** + * string if file name, + * false if no config file name + * @internal + */ +export type ConfigFileName = NormalizedPath | false; + +/** Gets cached value of config file name based on open script info or ancestor script info */ +function getConfigFileNameFromCache(info: OpenScriptInfoOrClosedOrConfigFileInfo, cache: Map | undefined): ConfigFileName | undefined { + if (!cache || isAncestorConfigFileInfo(info)) return undefined; + return cache.get(info.path); +} + +/** @internal */ +export interface OriginalFileInfo { fileName: NormalizedPath; path: Path; } -interface AncestorConfigFileInfo { +/** @internal */ +export interface AncestorConfigFileInfo { /** config file name */ - fileName: string; + fileName: NormalizedPath; /** path of open file so we can look at correct root */ path: Path; configFileInfo: true; } -type OpenScriptInfoOrClosedFileInfo = ScriptInfo | OriginalFileInfo; -type OpenScriptInfoOrClosedOrConfigFileInfo = OpenScriptInfoOrClosedFileInfo | AncestorConfigFileInfo; +/** @internal */ +export type OpenScriptInfoOrClosedFileInfo = ScriptInfo | OriginalFileInfo; +/** @internal */ +export type OpenScriptInfoOrClosedOrConfigFileInfo = OpenScriptInfoOrClosedFileInfo | AncestorConfigFileInfo; function isOpenScriptInfo(infoOrFileNameOrConfig: OpenScriptInfoOrClosedOrConfigFileInfo): infoOrFileNameOrConfig is ScriptInfo { return !!(infoOrFileNameOrConfig as ScriptInfo).containingProjects; @@ -648,68 +665,136 @@ function isAncestorConfigFileInfo(infoOrFileNameOrConfig: OpenScriptInfoOrClosed return !!(infoOrFileNameOrConfig as AncestorConfigFileInfo).configFileInfo; } -/** - * Kind of operation to perform to get project reference project - * - * @internal - */ -export enum ProjectReferenceProjectLoadKind { - /** Find existing project for project reference */ +/** @internal */ +export enum ConfiguredProjectLoadKind { Find, - /** Find existing project or create one for the project reference */ - FindCreate, - /** Find existing project or create and load it for the project reference */ - FindCreateLoad, + Create, + Reload, } /** @internal */ -export function forEachResolvedProjectReferenceProject( - project: ConfiguredProject, - fileName: string | undefined, - cb: (child: ConfiguredProject) => T | undefined, - projectReferenceProjectLoadKind: ProjectReferenceProjectLoadKind.Find | ProjectReferenceProjectLoadKind.FindCreate, -): T | undefined; +export interface DefaultConfiguredProjectResult { + defaultProject: ConfiguredProject | undefined; + sentConfigDiag: Set; + seenProjects: Set; +} + /** @internal */ -export function forEachResolvedProjectReferenceProject( +export interface FindCreateOrLoadConfiguredProjectResult { + project: ConfiguredProject; + sentConfigFileDiag: boolean; +} + +/** + * Goes through each tsconfig from project till project root of open script info and finds, creates or reloads project per kind + */ +function forEachAncestorProject( + info: ScriptInfo, project: ConfiguredProject, - fileName: string | undefined, - cb: (child: ConfiguredProject) => T | undefined, - projectReferenceProjectLoadKind: ProjectReferenceProjectLoadKind, + cb: (ancestor: ConfiguredProject) => T | undefined, + kind: ConfiguredProjectLoadKind, + /** Used with ConfiguredProjectLoadKind.Create or ConfiguredProjectLoadKind.Reload for new projects or reload updates */ reason: string, -): T | undefined; + /** Used with ConfiguredProjectLoadKind.Find to get deferredClosed projects as well */ + allowDeferredClosed: boolean | undefined, + /** Used with ConfiguredProjectLoadKind.Reload to check if this project was already reloaded */ + reloadedProjects: Set | undefined, + /** Used with ConfiguredProjectLoadKind.Reload to specify delay reload, and also a set of configured projects already marked for delay load */ + delayReloadedConfiguredProjects?: Set, +): T | undefined { + // Create configured project till project root + while (true) { + // Skip if project is not composite and we are only looking for solution + if ( + !project.isInitialLoadPending() && + ( + !project.getCompilerOptions().composite || + project.getCompilerOptions().disableSolutionSearching + ) + ) return; + + // Get config file name + const configFileName = project.projectService.getConfigFileNameForFile({ + fileName: project.getConfigFilePath(), + path: info.path, + configFileInfo: true, + }, kind === ConfiguredProjectLoadKind.Find); + if (!configFileName) return; + + // find or delay load the project + const ancestor = project.projectService.findCreateOrReloadConfiguredProject( + configFileName, + kind, + reason, + allowDeferredClosed, + /*triggerFile*/ undefined, + reloadedProjects, + /*delayLoad*/ true, + delayReloadedConfiguredProjects, + ); + if (!ancestor) return; + + // If this ancestor is new and was delay loaded, then set the project as potential project reference + if ( + ancestor.project.isInitialLoadPending() && + project.getCompilerOptions().composite + ) { + // Set a potential project reference + // Debug.assert(ancestor.); + ancestor.project.setPotentialProjectReference(project.canonicalConfigFilePath); + } + const result = cb(ancestor.project); + if (result) return result; + project = ancestor.project; + } +} + +/** + * Goes through project's resolved project references and finds, creates or reloads project per kind + * If project for this resolved reference exists its used immediately otherwise, + * follows all references in order, deciding if references of the visited project can be loaded or not + * @internal + */ export function forEachResolvedProjectReferenceProject( project: ConfiguredProject, fileName: string | undefined, - cb: (child: ConfiguredProject) => T | undefined, - projectReferenceProjectLoadKind: ProjectReferenceProjectLoadKind, - reason?: string, + cb: (child: ConfiguredProject, sentConfigFileDiag: boolean) => T | undefined, + kind: ConfiguredProjectLoadKind, + reason: string, + /** Used with ConfiguredProjectLoadKind.Find to get deferredClosed projects as well */ + allowDeferredClosed?: boolean, + /** Used with ConfiguredProjectLoadKind.Create to send configFileDiag */ + triggerFile?: NormalizedPath, + /** Used with ConfiguredProjectLoadKind.Reload to check if this project was already reloaded */ + reloadedProjects?: Set, ): T | undefined { const resolvedRefs = project.getCurrentProgram()?.getResolvedProjectReferences(); if (!resolvedRefs) return undefined; - let seenResolvedRefs: Map | undefined; const possibleDefaultRef = fileName ? project.getResolvedProjectReferenceToRedirect(fileName) : undefined; if (possibleDefaultRef) { // Try to find the name of the file directly through resolved project references const configFileName = toNormalizedPath(possibleDefaultRef.sourceFile.fileName); - const child = project.projectService.findConfiguredProjectByProjectName(configFileName); + // We are not using findCreateOrLoadConfiguredProject with kind thats passed in since + // we want to determine if we can really create a new project if it doesnt exist + // based on following references and determining based on disableReferencedProjectLoad + const child = project.projectService.findConfiguredProjectByProjectName( + configFileName, + allowDeferredClosed, + ); if (child) { - const result = cb(child); + const result = callbackWithProjectFoundUsingFind(child); if (result) return result; } - else if (projectReferenceProjectLoadKind !== ProjectReferenceProjectLoadKind.Find) { - seenResolvedRefs = new Map(); - // Try to see if this project can be loaded + else if (kind !== ConfiguredProjectLoadKind.Find) { + // Try to see if this project can be loaded and load only that one instead of loading all the projects const result = forEachResolvedProjectReferenceProjectWorker( resolvedRefs, project.getCompilerOptions(), (ref, loadKind) => possibleDefaultRef === ref ? callback(ref, loadKind) : undefined, - projectReferenceProjectLoadKind, + kind, project.projectService, - seenResolvedRefs, ); if (result) return result; - // Cleanup seenResolvedRefs - seenResolvedRefs.clear(); } } @@ -717,36 +802,56 @@ export function forEachResolvedProjectReferenceProject( resolvedRefs, project.getCompilerOptions(), (ref, loadKind) => possibleDefaultRef !== ref ? callback(ref, loadKind) : undefined, - projectReferenceProjectLoadKind, + kind, project.projectService, - seenResolvedRefs, ); - function callback(ref: ResolvedProjectReference, loadKind: ProjectReferenceProjectLoadKind) { - const configFileName = toNormalizedPath(ref.sourceFile.fileName); - const child = project.projectService.findConfiguredProjectByProjectName(configFileName) || ( - loadKind === ProjectReferenceProjectLoadKind.Find ? - undefined : - loadKind === ProjectReferenceProjectLoadKind.FindCreate ? - project.projectService.createConfiguredProject(configFileName) : - loadKind === ProjectReferenceProjectLoadKind.FindCreateLoad ? - project.projectService.createAndLoadConfiguredProject(configFileName, reason!) : - Debug.assertNever(loadKind) + function callback(ref: ResolvedProjectReference, loadKind: ConfiguredProjectLoadKind) { + const result = project.projectService.findCreateOrReloadConfiguredProject( + toNormalizedPath(ref.sourceFile.fileName), + loadKind, + reason, + allowDeferredClosed, + triggerFile, + reloadedProjects, ); + return result && ( + loadKind === kind ? + cb(result.project, result.sentConfigFileDiag) : + callbackWithProjectFoundUsingFind(result.project) + ); + } - return child && cb(child); + function callbackWithProjectFoundUsingFind(child: ConfiguredProject) { + let sentConfigFileDiag = false; + // This project was found using "Find" instead of the actually specified kind of "Create" or "Reload", + // We need to update or reload this existing project before calling callback + switch (kind) { + case ConfiguredProjectLoadKind.Create: + sentConfigFileDiag = updateConfiguredProject(child, triggerFile); + break; + case ConfiguredProjectLoadKind.Reload: + sentConfigFileDiag = child.projectService.reloadConfiguredProjectClearingSemanticCache(child, reason, reloadedProjects!); + break; + case ConfiguredProjectLoadKind.Find: + break; + default: + Debug.assertNever(kind); + } + const result = cb(child, sentConfigFileDiag); + if (result) return result; } } function forEachResolvedProjectReferenceProjectWorker( resolvedProjectReferences: readonly (ResolvedProjectReference | undefined)[], parentOptions: CompilerOptions, - cb: (resolvedRef: ResolvedProjectReference, loadKind: ProjectReferenceProjectLoadKind) => T | undefined, - projectReferenceProjectLoadKind: ProjectReferenceProjectLoadKind, + cb: (resolvedRef: ResolvedProjectReference, loadKind: ConfiguredProjectLoadKind) => T | undefined, + kind: ConfiguredProjectLoadKind, projectService: ProjectService, - seenResolvedRefs: Map | undefined, + seenResolvedRefs?: Map, ): T | undefined { - const loadKind = parentOptions.disableReferencedProjectLoad ? ProjectReferenceProjectLoadKind.Find : projectReferenceProjectLoadKind; + const loadKind = parentOptions.disableReferencedProjectLoad ? ConfiguredProjectLoadKind.Find : kind; return forEach(resolvedProjectReferences, ref => { if (!ref) return undefined; @@ -833,16 +938,6 @@ function isScriptInfoWatchedFromNodeModules(info: ScriptInfo) { return !info.isScriptOpen() && info.mTime !== undefined; } -/** - * true if script info is part of project and is not in project because it is referenced from project reference source - * - * @internal - */ -export function projectContainsInfoDirectly(project: Project, info: ScriptInfo) { - return project.containsScriptInfo(info) && - !project.isSourceOfProjectReferenceRedirect(info.path); -} - /** * returns true if project updated with new program * @internal @@ -852,10 +947,39 @@ export function updateProjectIfDirty(project: Project) { return project.dirty && !project.updateGraph(); } -function updateConfiguredProjectWithoutConfigDiagIfDirty(project: ConfiguredProject) { - project.skipConfigDiagEvent = true; - updateProjectIfDirty(project); - project.skipConfigDiagEvent = undefined; +/** Updates the program for triggerFile and returns true if sent configFileDiagEvent */ +function updateWithTriggerFile(project: ConfiguredProject, triggerFile: NormalizedPath, isReload: boolean): boolean { + if (!isReload) { + project.invalidateResolutionsOfFailedLookupLocations(); + if (!project.dirty) return false; + } + project.triggerFileForConfigFileDiag = triggerFile; + const updateLevel = project.pendingUpdateLevel; + project.updateGraph(); + // On full update the event is sent by recursive updateWithTrigger through reloadConfiguredProject + if (!project.triggerFileForConfigFileDiag && !isReload) return updateLevel === ProgramUpdateLevel.Full; + const sent = project.projectService.sendConfigFileDiagEvent(project, triggerFile, isReload); + project.triggerFileForConfigFileDiag = undefined; + return sent; +} + +/** Updates with triggerFile if persent otherwise updateProjectIfDirty, returns true if sent configFileDiagEvent */ +function updateConfiguredProject(project: ConfiguredProject, triggerFile: NormalizedPath | undefined) { + if (triggerFile) { + if (updateWithTriggerFile(project, triggerFile, /*isReload*/ false)) return true; + } + else { + updateProjectIfDirty(project); + } + return false; +} + +function fileOpenReason(info: ScriptInfo) { + return `Creating possible configured project for ${info.fileName} to open`; +} + +function reloadReason(reason: string) { + return `User requested reload projects: ${reason}`; } function setProjectOptionsUsed(project: ConfiguredProject | ExternalProject) { @@ -1070,8 +1194,10 @@ export class ProjectService { * Open files: with value being project root path, and key being Path of the file that is open */ readonly openFiles: Map = new Map(); - /** @internal */ - readonly configFileForOpenFiles = new Map(); + /** Config files looked up and cached config files for open script info */ + private readonly configFileForOpenFiles = new Map(); + /** Set of open script infos that are root of inferred project */ + private rootOfInferredProjects = new Set(); /** * Map of open files that are opened without complete path but have projectRoot as current directory */ @@ -1104,6 +1230,11 @@ export class ProjectService { private readonly legacySafelist = new Map(); private pendingProjectUpdates = new Map(); + /** + * All the open script info that needs recalculation of the default project, + * this also caches config file info before config file change was detected to use it in case projects are not updated yet + */ + private pendingOpenFileProjectUpdates?: Map; /** @internal */ pendingEnsureProjectForOpenFiles = false; @@ -1536,9 +1667,29 @@ export class ProjectService { return scriptInfo && !scriptInfo.isOrphan() ? scriptInfo.getDefaultProject() : undefined; } + /** + * If there is default project calculation pending for this file, + * then it completes that calculation so that correct default project is used for the project + */ + private tryGetDefaultProjectForEnsuringConfiguredProjectForFile(fileNameOrScriptInfo: NormalizedPath | ScriptInfo): Project | undefined { + const scriptInfo = isString(fileNameOrScriptInfo) ? this.getScriptInfoForNormalizedPath(fileNameOrScriptInfo) : fileNameOrScriptInfo; + if (!scriptInfo) return undefined; + if (this.pendingOpenFileProjectUpdates?.delete(scriptInfo.path)) { + this.tryFindDefaultConfiguredProjectAndLoadAncestorsForOpenScriptInfo( + scriptInfo, + ConfiguredProjectLoadKind.Create, + ); + if (scriptInfo.isOrphan()) { + this.assignOrphanScriptInfoToInferredProject(scriptInfo, this.openFiles.get(scriptInfo.path)); + } + } + + return this.tryGetDefaultProjectForFile(scriptInfo); + } + /** @internal */ ensureDefaultProjectForFile(fileNameOrScriptInfo: NormalizedPath | ScriptInfo): Project { - return this.tryGetDefaultProjectForFile(fileNameOrScriptInfo) || this.doEnsureDefaultProjectForFile(fileNameOrScriptInfo); + return this.tryGetDefaultProjectForEnsuringConfiguredProjectForFile(fileNameOrScriptInfo) || this.doEnsureDefaultProjectForFile(fileNameOrScriptInfo); } private doEnsureDefaultProjectForFile(fileNameOrScriptInfo: NormalizedPath | ScriptInfo): Project { @@ -1713,7 +1864,7 @@ export class ProjectService { // Load root file names for configured project with the config file name // But only schedule update if project references this config file const updateLevel = configuredProjectForConfig === project ? ProgramUpdateLevel.RootNamesAndUpdate : ProgramUpdateLevel.Update; - if (project.pendingUpdateLevel !== undefined && project.pendingUpdateLevel > updateLevel) return; + if (project.pendingUpdateLevel > updateLevel) return; // don't trigger callback on open, existing files if (this.openFiles.has(fileOrDirectoryPath)) { @@ -1794,7 +1945,7 @@ export class ProjectService { } /** @internal */ - private onConfigFileChanged(canonicalConfigFilePath: NormalizedPath, eventKind: FileWatcherEventKind) { + private onConfigFileChanged(configFileName: NormalizedPath, canonicalConfigFilePath: NormalizedPath, eventKind: FileWatcherEventKind) { const configFileExistenceInfo = this.configFileExistenceInfoCache.get(canonicalConfigFilePath)!; const project = this.getConfiguredProjectByCanonicalConfigFilePath(canonicalConfigFilePath); const wasDefferedClose = project?.deferredClose; @@ -1817,60 +1968,46 @@ export class ProjectService { } // Update projects watching config - this.delayUpdateProjectsFromParsedConfigOnConfigFileChange(canonicalConfigFilePath, "Change in config file detected"); - - // Reload the configured projects for the open files in the map as they are affected by this config file - // If the configured project was deleted, we want to reload projects for all the open files including files - // that are not root of the inferred project - // Otherwise, we scheduled the update on configured project graph, - // we would need to schedule the project reload for only the root of inferred projects - // Get open files to reload projects for - this.delayReloadConfiguredProjectsForFile( - configFileExistenceInfo, - !wasDefferedClose && eventKind !== FileWatcherEventKind.Deleted ? - identity : // Reload open files if they are root of inferred project - returnTrue, // Reload all the open files impacted by config file + this.delayUpdateProjectsFromParsedConfigOnConfigFileChange( + canonicalConfigFilePath, "Change in config file detected", ); - this.delayEnsureProjectForOpenFiles(); - } - /** - * This function goes through all the openFiles and tries to file the config file for them. - * If the config file is found and it refers to existing project, it schedules the reload it for reload - * If there is no existing project it just opens the configured project for the config file - * shouldReloadProjectFor provides a way to filter out files to reload configured project for - */ - private delayReloadConfiguredProjectsForFile( - configFileExistenceInfo: ConfigFileExistenceInfo | undefined, - shouldReloadProjectFor: (infoIsRootOfInferredProject: boolean) => boolean, - reason: string, - ) { - const updatedProjects = new Set(); - // try to reload config file for all open files - configFileExistenceInfo?.openFilesImpactedByConfigFile?.forEach((infoIsRootOfInferredProject, path) => { + const updatedProjects = new Set(project ? [project] : undefined); + this.openFiles.forEach((_projectRootPath, path) => { + const configFileForOpenFile = this.configFileForOpenFiles.get(path); + + // If this open script info does not depend on this config file, skip + if (!configFileExistenceInfo.openFilesImpactedByConfigFile?.has(path)) return; // Invalidate default config file name for open file this.configFileForOpenFiles.delete(path); - // Filter out the files that need to be ignored - if (!shouldReloadProjectFor(infoIsRootOfInferredProject)) { - return; - } const info = this.getScriptInfoForPath(path)!; - Debug.assert(info.isScriptOpen()); - // This tries to search for a tsconfig.json for the given file. If we found it, - // we first detect if there is already a configured project created for it: if so, - // we re- read the tsconfig file content and update the project only if we havent already done so - // otherwise we create a new one. - const configFileName = this.getConfigFileNameForFile(info); - if (configFileName) { - const project = this.findConfiguredProjectByProjectName(configFileName) || this.createConfiguredProject(configFileName); - if (tryAddToSet(updatedProjects, project)) { - project.pendingUpdateLevel = ProgramUpdateLevel.Full; - project.pendingUpdateReason = reason; - this.delayUpdateProjectGraph(project); - } + + // Find new default config file name for this open file + const newConfigFileNameForInfo = this.getConfigFileNameForFile(info, /*findFromCacheOnly*/ false); + if (!newConfigFileNameForInfo) return; + + // Create new project for this open file with delay load + const projectForInfo = this.findConfiguredProjectByProjectName(newConfigFileNameForInfo) ?? + this.createConfiguredProject( + newConfigFileNameForInfo, + `Change in config file ${configFileName} detected, ${fileOpenReason(info)}`, + ); + + // Cache the existing config file info for this open file if not already done so + if (!this.pendingOpenFileProjectUpdates?.has(path)) { + (this.pendingOpenFileProjectUpdates ??= new Map()).set(path, configFileForOpenFile); + } + + // If this was not already updated, and its new project, schedule for update + // Existing projects dont need to update if they were not using the changed config in any way + if (tryAddToSet(updatedProjects, projectForInfo) && projectForInfo.isInitialLoadPending()) { + this.delayUpdateProjectGraph(projectForInfo); } }); + + // Ensure that all the open files have project + this.delayEnsureProjectForOpenFiles(); } private removeProject(project: Project) { @@ -1926,7 +2063,6 @@ export class ProjectService { /** @internal */ assignOrphanScriptInfoToInferredProject(info: ScriptInfo, projectRootPath: NormalizedPath | undefined) { Debug.assert(info.isOrphan()); - const project = this.getOrCreateInferredProjectForProjectRootPathIfEnabled(info, projectRootPath) || this.getOrCreateSingleInferredProjectIfEnabled() || this.getOrCreateSingleInferredWithoutProjectRoot( @@ -1999,7 +2135,7 @@ export class ProjectService { // to the disk, and the server's version of the file can be out of sync. const fileExists = info.isDynamic ? false : this.host.fileExists(info.fileName); info.close(fileExists); - this.stopWatchingConfigFilesForClosedScriptInfo(info); + this.stopWatchingConfigFilesForScriptInfo(info); const canonicalFileName = this.toCanonicalFileName(info.fileName); if (this.openFilesWithNonRootedDiskPath.get(canonicalFileName) === info) { @@ -2021,7 +2157,7 @@ export class ProjectService { const updateLevel = p.openFileWatchTriggered.get(info.path); if (updateLevel !== undefined) { p.openFileWatchTriggered.delete(info.path); - if (p.pendingUpdateLevel !== undefined && p.pendingUpdateLevel < updateLevel) { + if (p.pendingUpdateLevel < updateLevel) { p.pendingUpdateLevel = updateLevel; p.markFileAsDirty(info.path); } @@ -2048,6 +2184,8 @@ export class ProjectService { this.openFiles.delete(info.path); this.configFileForOpenFiles.delete(info.path); + this.pendingOpenFileProjectUpdates?.delete(info.path); + Debug.assert(!this.rootOfInferredProjects.has(info)); if (!skipAssignOrphanScriptInfosToInferredProject && ensureProjectsForOpenFiles) { this.assignOrphanScriptInfosToInferredProject(); @@ -2081,16 +2219,18 @@ export class ProjectService { } private configFileExists(configFileName: NormalizedPath, canonicalConfigFilePath: NormalizedPath, info: OpenScriptInfoOrClosedOrConfigFileInfo) { - let configFileExistenceInfo = this.configFileExistenceInfoCache.get(canonicalConfigFilePath); - if (configFileExistenceInfo) { + const configFileExistenceInfo = this.configFileExistenceInfoCache.get(canonicalConfigFilePath); + + let openFilesImpactedByConfigFile: Set | undefined; + if (this.openFiles.has(info.path) && !isAncestorConfigFileInfo(info)) { // By default the info would get impacted by presence of config file since its in the detection path // Only adding the info as a root to inferred project will need the existence to be watched by file watcher - if (isOpenScriptInfo(info) && !configFileExistenceInfo.openFilesImpactedByConfigFile?.has(info.path)) { - (configFileExistenceInfo.openFilesImpactedByConfigFile ||= new Map()).set(info.path, false); - } - return configFileExistenceInfo.exists; + if (configFileExistenceInfo) (configFileExistenceInfo.openFilesImpactedByConfigFile ??= new Set()).add(info.path); + else (openFilesImpactedByConfigFile = new Set()).add(info.path); } + if (configFileExistenceInfo) return configFileExistenceInfo.exists; + // Theoretically we should be adding watch for the directory here itself. // In practice there will be very few scenarios where the config file gets added // somewhere inside the another config file directory. @@ -2102,12 +2242,7 @@ export class ProjectService { // Cache the host value of file exists and add the info to map of open files impacted by this config file const exists = this.host.fileExists(configFileName); - let openFilesImpactedByConfigFile: Map | undefined; - if (isOpenScriptInfo(info)) { - (openFilesImpactedByConfigFile ||= new Map()).set(info.path, false); - } - configFileExistenceInfo = { exists, openFilesImpactedByConfigFile }; - this.configFileExistenceInfoCache.set(canonicalConfigFilePath, configFileExistenceInfo); + this.configFileExistenceInfoCache.set(canonicalConfigFilePath, { exists, openFilesImpactedByConfigFile }); return exists; } @@ -2118,7 +2253,7 @@ export class ProjectService { if (!configFileExistenceInfo.watcher || configFileExistenceInfo.watcher === noopConfigFileWatcher) { configFileExistenceInfo.watcher = this.watchFactory.watchFile( configFileName, - (_fileName, eventKind) => this.onConfigFileChanged(canonicalConfigFilePath, eventKind), + (_fileName, eventKind) => this.onConfigFileChanged(configFileName, canonicalConfigFilePath, eventKind), PollingInterval.High, this.getWatchOptionsFromProjectWatchOptions(configFileExistenceInfo?.config?.parsedCommandLine?.watchOptions, getDirectoryPath(configFileName)), WatchType.ConfigFile, @@ -2130,14 +2265,6 @@ export class ProjectService { projects.set(forProject.canonicalConfigFilePath, projects.get(forProject.canonicalConfigFilePath) || false); } - /** - * Returns true if the configFileExistenceInfo is needed/impacted by open files that are root of inferred project - */ - private configFileExistenceImpactsRootOfInferredProject(configFileExistenceInfo: ConfigFileExistenceInfo) { - return configFileExistenceInfo.openFilesImpactedByConfigFile && - forEachEntry(configFileExistenceInfo.openFilesImpactedByConfigFile, identity); - } - /** @internal */ releaseParsedConfig(canonicalConfigFilePath: NormalizedPath, forProject: ConfiguredProject) { const configFileExistenceInfo = this.configFileExistenceInfoCache.get(canonicalConfigFilePath)!; @@ -2152,7 +2279,7 @@ export class ProjectService { // If there are open files that are impacted by this config file existence // but none of them are root of inferred project, the config file watcher will be // created when any of the script infos are added as root of inferred project - if (this.configFileExistenceImpactsRootOfInferredProject(configFileExistenceInfo)) { + if (configFileExistenceInfo.inferredProjectRoots) { // If we cannot watch config file existence without configured project, close the configured file watcher if (!canWatchDirectoryOrFile(getPathComponents(getDirectoryPath(canonicalConfigFilePath) as Path))) { configFileExistenceInfo.watcher!.close(); @@ -2173,56 +2300,58 @@ export class ProjectService { } /** - * Close the config file watcher in the cached ConfigFileExistenceInfo - * if there arent any open files that are root of inferred project and there is no parsed config held by any project - * + * This is called on file close or when its removed from inferred project as root, + * so that we handle the watches and inferred project root data * @internal */ - private closeConfigFileWatcherOnReleaseOfOpenFile(configFileExistenceInfo: ConfigFileExistenceInfo) { - // Close the config file watcher if there are no more open files that are root of inferred project - // or if there are no projects that need to watch this config file existence info - if ( - configFileExistenceInfo.watcher && - !configFileExistenceInfo.config && - !this.configFileExistenceImpactsRootOfInferredProject(configFileExistenceInfo) - ) { - configFileExistenceInfo.watcher.close(); - configFileExistenceInfo.watcher = undefined; - } - } - - /** - * This is called on file close, so that we stop watching the config file for this script info - */ - private stopWatchingConfigFilesForClosedScriptInfo(info: ScriptInfo) { - Debug.assert(!info.isScriptOpen()); + stopWatchingConfigFilesForScriptInfo(info: ScriptInfo) { + if (this.serverMode !== LanguageServiceMode.Semantic) return; + const isRootOfInferredProject = this.rootOfInferredProjects.delete(info); + const isOpen = info.isScriptOpen(); + // Nothing to stop watching if this is open script info and not root of inferred project + if (isOpen && !isRootOfInferredProject) return; this.forEachConfigFileLocation(info, canonicalConfigFilePath => { const configFileExistenceInfo = this.configFileExistenceInfoCache.get(canonicalConfigFilePath); - if (configFileExistenceInfo) { - const infoIsRootOfInferredProject = configFileExistenceInfo.openFilesImpactedByConfigFile?.get(info.path); + if (!configFileExistenceInfo) return; + if (isOpen) { + // If this file doesnt get impacted by this config file, skip + if (!configFileExistenceInfo?.openFilesImpactedByConfigFile?.has(info.path)) return; + } + else { // Delete the info from map, since this file is no more open - configFileExistenceInfo.openFilesImpactedByConfigFile?.delete(info.path); - - // If the script info was not root of inferred project, - // there wont be config file watch open because of this script info - if (infoIsRootOfInferredProject) { - // But if it is a root, it could be the last script info that is root of inferred project - // and hence we would need to close the config file watcher - this.closeConfigFileWatcherOnReleaseOfOpenFile(configFileExistenceInfo); - } + if (!configFileExistenceInfo.openFilesImpactedByConfigFile?.delete(info.path)) return; + } - // If there are no open files that are impacted by configFileExistenceInfo after closing this script info - // and there is are no projects that need the config file existence or parsed config, - // remove the cached existence info + // If the script info was not root of inferred project, + // there wont be config file watch open because of this script info + if (isRootOfInferredProject) { + // But if it is a root, it could be the last script info that is root of inferred project + // and hence we would need to close the config file watcher + configFileExistenceInfo.inferredProjectRoots!--; + + // Close the config file watcher if there are no more open files that are root of inferred project + // or if there are no projects that need to watch this config file existence info if ( - !configFileExistenceInfo.openFilesImpactedByConfigFile?.size && - !configFileExistenceInfo.config + configFileExistenceInfo.watcher && + !configFileExistenceInfo.config && + !configFileExistenceInfo.inferredProjectRoots ) { - Debug.assert(!configFileExistenceInfo.watcher); - this.configFileExistenceInfoCache.delete(canonicalConfigFilePath); + configFileExistenceInfo.watcher.close(); + configFileExistenceInfo.watcher = undefined; } } + + // If there are no open files that are impacted by configFileExistenceInfo after closing this script info + // and there is are no projects that need the config file existence or parsed config, + // remove the cached existence info + if ( + !configFileExistenceInfo.openFilesImpactedByConfigFile?.size && + !configFileExistenceInfo.config + ) { + Debug.assert(!configFileExistenceInfo.watcher); + this.configFileExistenceInfoCache.delete(canonicalConfigFilePath); + } }); } @@ -2232,23 +2361,30 @@ export class ProjectService { * @internal */ startWatchingConfigFilesForInferredProjectRoot(info: ScriptInfo) { + if (this.serverMode !== LanguageServiceMode.Semantic) return; Debug.assert(info.isScriptOpen()); + // Set this file as the root of inferred project + this.rootOfInferredProjects.add(info); this.forEachConfigFileLocation(info, (canonicalConfigFilePath, configFileName) => { let configFileExistenceInfo = this.configFileExistenceInfoCache.get(canonicalConfigFilePath); if (!configFileExistenceInfo) { // Create the cache - configFileExistenceInfo = { exists: this.host.fileExists(configFileName) }; + configFileExistenceInfo = { exists: this.host.fileExists(configFileName), inferredProjectRoots: 1 }; this.configFileExistenceInfoCache.set(canonicalConfigFilePath, configFileExistenceInfo); } + else { + configFileExistenceInfo.inferredProjectRoots = (configFileExistenceInfo.inferredProjectRoots ?? 0) + 1; + } - // Set this file as the root of inferred project - (configFileExistenceInfo.openFilesImpactedByConfigFile ||= new Map()).set(info.path, true); + // It might not have been marked as impacting by presence of this script info if + // this is in ancestor folder of config that was not looked up yet + (configFileExistenceInfo.openFilesImpactedByConfigFile ??= new Set()).add(info.path); // If there is no configured project for this config file, add the file watcher configFileExistenceInfo.watcher ||= canWatchDirectoryOrFile(getPathComponents(getDirectoryPath(canonicalConfigFilePath) as Path)) ? this.watchFactory.watchFile( configFileName, - (_filename, eventKind) => this.onConfigFileChanged(canonicalConfigFilePath, eventKind), + (_filename, eventKind) => this.onConfigFileChanged(configFileName, canonicalConfigFilePath, eventKind), PollingInterval.High, this.hostConfiguration.watchOptions, WatchType.ConfigFileForInferredRoot, @@ -2257,26 +2393,6 @@ export class ProjectService { }); } - /** - * This is called by inferred project whenever root script info is removed from it - * - * @internal - */ - stopWatchingConfigFilesForInferredProjectRoot(info: ScriptInfo) { - this.forEachConfigFileLocation(info, canonicalConfigFilePath => { - const configFileExistenceInfo = this.configFileExistenceInfoCache.get(canonicalConfigFilePath); - if (configFileExistenceInfo?.openFilesImpactedByConfigFile?.has(info.path)) { - Debug.assert(info.isScriptOpen()); - - // Info is not root of inferred project any more - configFileExistenceInfo.openFilesImpactedByConfigFile.set(info.path, false); - - // Close the config file watcher - this.closeConfigFileWatcherOnReleaseOfOpenFile(configFileExistenceInfo); - } - }); - } - /** * This function tries to search for a tsconfig.json for the given file. * This is different from the method the compiler uses because @@ -2333,14 +2449,34 @@ export class ProjectService { /** @internal */ findDefaultConfiguredProject(info: ScriptInfo) { - if (!info.isScriptOpen()) return undefined; - const configFileName = this.getConfigFileNameForFile(info); - const project = configFileName && - this.findConfiguredProjectByProjectName(configFileName); + return info.isScriptOpen() ? + this.tryFindDefaultConfiguredProjectForOpenScriptInfo( + info, + ConfiguredProjectLoadKind.Find, + )?.defaultProject : + undefined; + } - return project && projectContainsInfoDirectly(project, info) ? - project : - project?.getDefaultChildProjectFromProjectWithReferences(info); + /** Get cached configFileName for scriptInfo or ancestor of open script info */ + private getConfigFileNameForFileFromCache( + info: OpenScriptInfoOrClosedOrConfigFileInfo, + lookInPendingFilesForValue: boolean, + ): ConfigFileName | undefined { + if (lookInPendingFilesForValue) { + const result = getConfigFileNameFromCache(info, this.pendingOpenFileProjectUpdates); + if (result !== undefined) return result; + } + return getConfigFileNameFromCache(info, this.configFileForOpenFiles); + } + + /** Caches the configFilename for script info or ancestor of open script info */ + private setConfigFileNameForFileInCache( + info: OpenScriptInfoOrClosedOrConfigFileInfo, + configFileName: NormalizedPath | undefined, + ) { + if (!this.openFiles.has(info.path)) return; // Dont cache for closed script infos + if (isAncestorConfigFileInfo(info)) return; // Dont cache for ancestors + this.configFileForOpenFiles.set(info.path, configFileName || false); } /** @@ -2352,17 +2488,17 @@ export class ProjectService { * the newly opened file. * If script info is passed in, it is asserted to be open script info * otherwise just file name + * when findFromCacheOnly is true only looked up in cache instead of hitting disk to figure things out + * @internal */ - private getConfigFileNameForFile(info: OpenScriptInfoOrClosedOrConfigFileInfo) { - if (!isAncestorConfigFileInfo(info)) { - const result = this.configFileForOpenFiles.get(info.path); - if (result !== undefined) return result || undefined; - } + getConfigFileNameForFile(info: OpenScriptInfoOrClosedOrConfigFileInfo, findFromCacheOnly: boolean) { + // If we are using already cached values, look for values from pending update as well + const fromCache = this.getConfigFileNameForFileFromCache(info, findFromCacheOnly); + if (fromCache !== undefined) return fromCache || undefined; + if (findFromCacheOnly) return undefined; const configFileName = this.forEachConfigFileLocation(info, (canonicalConfigFilePath, configFileName) => this.configFileExists(configFileName, canonicalConfigFilePath, info)); this.logger.info(`getConfigFileNameForFile:: File: ${info.fileName} ProjectRootPath: ${this.openFiles.get(info.path)}:: Result: ${configFileName}`); - if (isOpenScriptInfo(info)) { - this.configFileForOpenFiles.set(info.path, configFileName || false); - } + this.setConfigFileNameForFileInCache(info, configFileName); return configFileName; } @@ -2388,11 +2524,11 @@ export class ProjectService { } /** @internal */ - findConfiguredProjectByProjectName(configFileName: NormalizedPath): ConfiguredProject | undefined { + findConfiguredProjectByProjectName(configFileName: NormalizedPath, allowDeferredClosed?: boolean): ConfiguredProject | undefined { // make sure that casing of config file name is consistent const canonicalConfigFilePath = asNormalizedPath(this.toCanonicalFileName(configFileName)); const result = this.getConfiguredProjectByCanonicalConfigFilePath(canonicalConfigFilePath); - return !result?.deferredClose ? result : undefined; + return allowDeferredClosed ? result : !result?.deferredClose ? result : undefined; } private getConfiguredProjectByCanonicalConfigFilePath(canonicalConfigFilePath: string): ConfiguredProject | undefined { @@ -2514,7 +2650,7 @@ export class ProjectService { } /** @internal */ - createConfiguredProject(configFileName: NormalizedPath) { + createConfiguredProject(configFileName: NormalizedPath, reason: string) { tracing?.instant(tracing.Phase.Session, "createConfiguredProject", { configFilePath: configFileName }); this.logger.info(`Creating configuration project ${configFileName}`); const canonicalConfigFilePath = asNormalizedPath(this.toCanonicalFileName(configFileName)); @@ -2541,6 +2677,7 @@ export class ProjectService { this, this.documentRegistry, configFileExistenceInfo.config.cachedDirectoryStructureHost, + reason, ); Debug.assert(!this.configuredProjects.has(canonicalConfigFilePath)); this.configuredProjects.set(canonicalConfigFilePath, project); @@ -2548,29 +2685,6 @@ export class ProjectService { return project; } - /** @internal */ - private createConfiguredProjectWithDelayLoad(configFileName: NormalizedPath, reason: string) { - const project = this.createConfiguredProject(configFileName); - project.pendingUpdateLevel = ProgramUpdateLevel.Full; - project.pendingUpdateReason = reason; - return project; - } - - /** @internal */ - createAndLoadConfiguredProject(configFileName: NormalizedPath, reason: string) { - const project = this.createConfiguredProject(configFileName); - this.loadConfiguredProject(project, reason); - return project; - } - - /** @internal */ - private createLoadAndUpdateConfiguredProject(configFileName: NormalizedPath, reason: string) { - const project = this.createAndLoadConfiguredProject(configFileName, reason); - project.skipConfigDiagEvent = true; - project.updateGraph(); - return project; - } - /** * Read the config file of the project, and update the project root file names. * @@ -2779,7 +2893,7 @@ export class ProjectService { path = normalizedPathToPath(fileName, this.currentDirectory, this.toCanonicalFileName); const existingValue = projectRootFilesMap.get(path); if (existingValue) { - if (existingValue.info) { + if (existingValue.info?.path === path) { project.removeFile(existingValue.info, /*fileExists*/ false, /*detachFromProject*/ true); existingValue.info = undefined; } @@ -2880,31 +2994,42 @@ export class ProjectService { this.updateNonInferredProjectFiles(project, fileNames, fileNamePropertyReader); } + /** @internal */ + reloadConfiguredProjectClearingSemanticCache( + project: ConfiguredProject, + reason: string, + reloadedProjects: Set, + ) { + if (!tryAddToSet(reloadedProjects, project)) return false; + this.clearSemanticCache(project); + this.reloadConfiguredProject(project, reloadReason(reason)); + return true; + } + /** * Read the config file of the project again by clearing the cache and update the project graph * * @internal */ - reloadConfiguredProject(project: ConfiguredProject, reason: string, isInitialLoad: boolean, clearSemanticCache: boolean) { + reloadConfiguredProject(project: ConfiguredProject, reason: string) { + project.isInitialLoadPending = returnFalse; + project.pendingUpdateReason = undefined; + project.pendingUpdateLevel = ProgramUpdateLevel.Update; + // At this point, there is no reason to not have configFile in the host const host = project.getCachedDirectoryStructureHost(); - if (clearSemanticCache) this.clearSemanticCache(project); // Clear the cache since we are reloading the project from disk host.clearCache(); - const configFileName = project.getConfigFilePath(); - this.logger.info(`${isInitialLoad ? "Loading" : "Reloading"} configured project ${configFileName}`); // Load project from the disk this.loadConfiguredProject(project, reason); - project.skipConfigDiagEvent = true; - project.updateGraph(); - - this.sendConfigFileDiagEvent(project, configFileName); + updateWithTriggerFile(project, project.triggerFileForConfigFileDiag ?? project.getConfigFilePath(), /*isReload*/ true); } /** @internal */ private clearSemanticCache(project: Project) { + project.originalConfiguredProjects = undefined; project.resolutionCache.clear(); project.getLanguageService(/*ensureSynchronized*/ false).cleanupSemanticCache(); project.cleanupProgram(); @@ -2912,23 +3037,20 @@ export class ProjectService { } /** @internal */ - sendConfigFileDiagEvent(project: ConfiguredProject, triggerFile: NormalizedPath | undefined) { - if (!this.eventHandler || this.suppressDiagnosticEvents) { - return; - } + sendConfigFileDiagEvent(project: ConfiguredProject, triggerFile: NormalizedPath | undefined, force: boolean) { + if (!this.eventHandler || this.suppressDiagnosticEvents) return false; const diagnostics = project.getLanguageService().getCompilerOptionsDiagnostics(); diagnostics.push(...project.getAllProjectErrors()); - if (!triggerFile && !!diagnostics.length === !!project.hasConfigFileDiagnostics) return; - - project.hasConfigFileDiagnostics = !!diagnostics.length; - + if (!force && diagnostics.length === (project.configDiagDiagnosticsReported ?? 0)) return false; + project.configDiagDiagnosticsReported = diagnostics.length; this.eventHandler( { eventName: ConfigFileDiagEvent, data: { configFileName: project.getConfigFilePath(), diagnostics, triggerFile: triggerFile ?? project.getConfigFilePath() }, } satisfies ConfigFileDiagEvent, ); + return true; } private getOrCreateInferredProjectForProjectRootPathIfEnabled(info: ScriptInfo, projectRootPath: NormalizedPath | undefined): InferredProject | undefined { @@ -3580,9 +3702,8 @@ export class ProjectService { if ( !project.deferredClose && !project.isClosed() && - project.hasExternalProjectRef() && project.pendingUpdateLevel === ProgramUpdateLevel.Full && - !this.pendingProjectUpdates.has(project.getProjectName()) + !this.hasPendingProjectUpdate(project) ) { project.updateGraph(); } @@ -3668,81 +3789,74 @@ export class ProjectService { this.pendingProjectUpdates.delete(projectName); }); this.throttledOperations.cancel(ensureProjectForOpenFileSchedule); + this.pendingOpenFileProjectUpdates = undefined; this.pendingEnsureProjectForOpenFiles = false; // Ensure everything is reloaded for cached configs this.configFileExistenceInfoCache.forEach(info => { if (info.config) info.config.updateLevel = ProgramUpdateLevel.Full; }); + this.configFileForOpenFiles.clear(); // Reload Projects - this.reloadConfiguredProjectForFiles("User requested reload projects"); this.externalProjects.forEach(project => { this.clearSemanticCache(project); project.updateGraph(); }); + + // Configured projects of external files + const reloadedConfiguredProjects = new Set(); + const delayReloadedConfiguredProjects = new Set(); + this.externalProjectToConfiguredProjectMap.forEach((projects, externalProjectName) => { + const reason = `Reloading configured project in external project: ${externalProjectName}`; + projects.forEach(project => { + if (this.getHostPreferences().lazyConfiguredProjectsFromExternalProject) { + if (!project.isInitialLoadPending()) { + this.clearSemanticCache(project); + project.pendingUpdateLevel = ProgramUpdateLevel.Full; + project.pendingUpdateReason = reloadReason(reason); + } + delayReloadedConfiguredProjects.add(project); + } + else { + this.reloadConfiguredProjectClearingSemanticCache( + project, + reason, + reloadedConfiguredProjects, + ); + } + }); + }); + + // Configured projects for open file + this.openFiles.forEach((_projectRootPath, path) => { + const info = this.getScriptInfoForPath(path)!; + if (find(info.containingProjects, isExternalProject)) return; + this.tryFindDefaultConfiguredProjectAndLoadAncestorsForOpenScriptInfo( + info, + ConfiguredProjectLoadKind.Reload, + reloadedConfiguredProjects, + delayReloadedConfiguredProjects, + ); + }); + + // Retain delay loaded configured projects too + delayReloadedConfiguredProjects.forEach(p => reloadedConfiguredProjects.add(p)); + this.inferredProjects.forEach(project => this.clearSemanticCache(project)); this.ensureProjectForOpenFiles(); + // Cleanup + this.cleanupProjectsAndScriptInfos( + reloadedConfiguredProjects, + new Set(this.openFiles.keys()), + new Set(this.externalProjectToConfiguredProjectMap.keys()), + ); + this.logger.info("After reloading projects.."); this.printProjects(); } - /** - * This function goes through all the openFiles and tries to file the config file for them. - * If the config file is found and it refers to existing project, it reloads it either immediately - * If there is no existing project it just opens the configured project for the config file - */ - private reloadConfiguredProjectForFiles(reason: string) { - const updatedProjects = new Set(); - const reloadChildProject = (child: ConfiguredProject) => { - if (tryAddToSet(updatedProjects, child)) { - this.reloadConfiguredProject(child, reason, /*isInitialLoad*/ false, /*clearSemanticCache*/ true); - } - }; - // try to reload config file for all open files - this.openFiles?.forEach((_projectRoot, path) => { - // Invalidate default config file name for open file - this.configFileForOpenFiles.delete(path); - - const info = this.getScriptInfoForPath(path)!; // TODO: GH#18217 - Debug.assert(info.isScriptOpen()); - // This tries to search for a tsconfig.json for the given file. If we found it, - // we first detect if there is already a configured project created for it: if so, - // we re- read the tsconfig file content and update the project only if we havent already done so - // otherwise we create a new one. - const configFileName = this.getConfigFileNameForFile(info); - if (configFileName) { - const project = this.findConfiguredProjectByProjectName(configFileName) || this.createConfiguredProject(configFileName); - if (tryAddToSet(updatedProjects, project)) { - // reload from the disk - this.reloadConfiguredProject(project, reason, /*isInitialLoad*/ false, /*clearSemanticCache*/ true); - // If this project does not contain this file directly, reload the project till the reloaded project contains the script info directly - if (!projectContainsInfoDirectly(project, info)) { - const referencedProject = forEachResolvedProjectReferenceProject( - project, - info.path, - child => { - reloadChildProject(child); - return projectContainsInfoDirectly(child, info); - }, - ProjectReferenceProjectLoadKind.FindCreate, - ); - if (referencedProject) { - // Reload the project's tree that is already present - forEachResolvedProjectReferenceProject( - project, - /*fileName*/ undefined, - reloadChildProject, - ProjectReferenceProjectLoadKind.Find, - ); - } - } - } - } - }); - } - /** * Remove the root of inferred project if script info is part of another project */ @@ -3785,6 +3899,18 @@ export class ProjectService { this.logger.info("Before ensureProjectForOpenFiles:"); this.printProjects(); + // Ensure that default projects for pending openFile updates are created + const pendingOpenFileProjectUpdates = this.pendingOpenFileProjectUpdates; + this.pendingOpenFileProjectUpdates = undefined; + pendingOpenFileProjectUpdates?.forEach((_config, path) => + this.tryFindDefaultConfiguredProjectAndLoadAncestorsForOpenScriptInfo( + this.getScriptInfoForPath(path)!, + ConfiguredProjectLoadKind.Create, + ) + ); + + // Assigned the orphan scriptInfos to inferred project + // Remove the infos from inferred project that no longer need to be part of it this.openFiles.forEach((projectRootPath, path) => { const info = this.getScriptInfoForPath(path)!; // collect all orphaned script infos from open files @@ -3825,7 +3951,7 @@ export class ProjectService { if (!scriptInfo && !this.host.fileExists(fileName)) return undefined; const originalFileInfo: OriginalFileInfo = { fileName: toNormalizedPath(fileName), path: this.toPath(fileName) }; - const configFileName = this.getConfigFileNameForFile(originalFileInfo); + const configFileName = this.getConfigFileNameForFile(originalFileInfo, /*findFromCacheOnly*/ false); if (!configFileName) return undefined; let configuredProject: ConfiguredProject | undefined = this.findConfiguredProjectByProjectName(configFileName); @@ -3845,13 +3971,15 @@ export class ProjectService { : location; } - configuredProject = this.createAndLoadConfiguredProject(configFileName, `Creating project for original file: ${originalFileInfo.fileName}${location !== originalLocation ? " for location: " + location.fileName : ""}`); + configuredProject = this.createConfiguredProject(configFileName, `Creating project for original file: ${originalFileInfo.fileName}${location !== originalLocation ? " for location: " + location.fileName : ""}`); } updateProjectIfDirty(configuredProject); const projectContainsOriginalInfo = (project: ConfiguredProject) => { const info = this.getScriptInfo(fileName); - return info && projectContainsInfoDirectly(project, info); + return info && + project.containsScriptInfo(info) && + !project.isSourceOfProjectReferenceRedirect(info.path); }; if (configuredProject.isSolution() || !projectContainsOriginalInfo(configuredProject)) { @@ -3859,11 +3987,8 @@ export class ProjectService { configuredProject = forEachResolvedProjectReferenceProject( configuredProject, fileName, - child => { - updateProjectIfDirty(child); - return projectContainsOriginalInfo(child) ? child : undefined; - }, - ProjectReferenceProjectLoadKind.FindCreateLoad, + child => projectContainsOriginalInfo(child) ? child : undefined, + ConfiguredProjectLoadKind.Create, `Creating project referenced in solution ${configuredProject.projectName} to find possible configured project for original file: ${originalFileInfo.fileName}${location !== originalLocation ? " for location: " + location.fileName : ""}`, ); if (!configuredProject) return undefined; @@ -3926,73 +4051,21 @@ export class ProjectService { private assignProjectToOpenedScriptInfo(info: ScriptInfo): AssignProjectResult { let configFileName: NormalizedPath | undefined; let configFileErrors: readonly Diagnostic[] | undefined; - let project: ConfiguredProject | ExternalProject | undefined = this.findExternalProjectContainingOpenScriptInfo(info); - let retainProjects: ConfiguredProject[] | ConfiguredProject | undefined; - let projectForConfigFileDiag: ConfiguredProject | undefined; - let defaultConfigProjectIsCreated = false; + const project = this.findExternalProjectContainingOpenScriptInfo(info); + let retainProjects: Set | undefined; + let sentConfigDiag: Set | undefined; if (!project && this.serverMode === LanguageServiceMode.Semantic) { // Checking semantic mode is an optimization - configFileName = this.getConfigFileNameForFile(info); - if (configFileName) { - project = this.findConfiguredProjectByProjectName(configFileName); - if (!project) { - project = this.createLoadAndUpdateConfiguredProject(configFileName, `Creating possible configured project for ${info.fileName} to open`); - defaultConfigProjectIsCreated = true; - } - else { - // Ensure project is ready to check if it contains opened script info - updateConfiguredProjectWithoutConfigDiagIfDirty(project); - } - - projectForConfigFileDiag = project.containsScriptInfo(info) ? project : undefined; - retainProjects = project; - - // If this configured project doesnt contain script info but - // it is solution with project references, try those project references - if (!projectContainsInfoDirectly(project, info)) { - forEachResolvedProjectReferenceProject( - project, - info.path, - child => { - updateConfiguredProjectWithoutConfigDiagIfDirty(child); - // Retain these projects - if (!isArray(retainProjects)) { - retainProjects = [project as ConfiguredProject, child]; - } - else { - retainProjects.push(child); - } - - // If script info belongs to this child project, use this as default config project - if (projectContainsInfoDirectly(child, info)) { - projectForConfigFileDiag = child; - return child; - } - - // If this project uses the script info (even through project reference), if default project is not found, use this for configFileDiag - if (!projectForConfigFileDiag && child.containsScriptInfo(info)) { - projectForConfigFileDiag = child; - } - }, - ProjectReferenceProjectLoadKind.FindCreateLoad, - `Creating project referenced in solution ${project.projectName} to find possible configured project for ${info.fileName} to open`, - ); - } - - // Send the event only if the project got created as part of this open request and info is part of the project - if (projectForConfigFileDiag) { - configFileName = projectForConfigFileDiag.getConfigFilePath(); - if (projectForConfigFileDiag !== project || defaultConfigProjectIsCreated) { - configFileErrors = projectForConfigFileDiag.getAllProjectErrors(); - this.sendConfigFileDiagEvent(projectForConfigFileDiag, info.fileName); - } - } - else { - // Since the file isnt part of configured project, do not send config file info - configFileName = undefined; + const result = this.tryFindDefaultConfiguredProjectAndLoadAncestorsForOpenScriptInfo( + info, + ConfiguredProjectLoadKind.Create, + ); + if (result) { + retainProjects = result.seenProjects; + sentConfigDiag = result.sentConfigDiag; + if (result.defaultProject) { + configFileName = result.defaultProject.getConfigFilePath(); + configFileErrors = result.defaultProject.getAllProjectErrors(); } - - // Create ancestor configured project - this.createAncestorProjects(info, project); } } @@ -4009,12 +4082,9 @@ export class ProjectService { // So if it still doesnt have any containing projects, it needs to be part of inferred project if (info.isOrphan()) { // Even though this info did not belong to any of the configured projects, send the config file diag - if (isArray(retainProjects)) { - retainProjects.forEach(project => this.sendConfigFileDiagEvent(project, info.fileName)); - } - else if (retainProjects) { - this.sendConfigFileDiagEvent(retainProjects, info.fileName); - } + retainProjects?.forEach(project => { + if (!sentConfigDiag!.has(project)) this.sendConfigFileDiagEvent(project, info.fileName, /*force*/ true); + }); Debug.assert(this.openFiles.has(info.path)); this.assignOrphanScriptInfoToInferredProject(info, this.openFiles.get(info.path)); } @@ -4022,38 +4092,183 @@ export class ProjectService { return { configFileName, configFileErrors, retainProjects }; } - private createAncestorProjects(info: ScriptInfo, project: ConfiguredProject) { - // Skip if info is not part of default configured project - if (!info.isAttached(project)) return; + /** + * Depending on kind + * - Find the configuedProject and return it - if allowDeferredClosed is set it will find the deferredClosed project as well + * - Create - if the project doesnt exist, it creates one as well. If not delayLoad, the project is updated (with triggerFile if passed) + * - Reload - if the project doesnt exist, it creates one. If not delayLoad, the project is reloaded clearing semantic cache + * @internal + */ + findCreateOrReloadConfiguredProject( + configFileName: NormalizedPath, + kind: ConfiguredProjectLoadKind, + /** Used with ConfiguredProjectLoadKind.Create or ConfiguredProjectLoadKind.Reload for new projects or reload updates */ + reason?: string, + /** Used with ConfiguredProjectLoadKind.Find to get deferredClosed projects as well */ + allowDeferredClosed?: boolean, + /** Used with ConfiguredProjectLoadKind.Create to send configFileDiag */ + triggerFile?: NormalizedPath, + /** Used with ConfiguredProjectLoadKind.Reload to check if this project was already reloaded */ + reloadedProjects?: Set, + /** Used with ConfiguredProjectLoadKind.Create to specify only create project without updating */ + delayLoad?: boolean, + /** Used with ConfiguredProjectLoadKind.Reload to specify delay reload, and also a set of configured projects already marked for delay load */ + delayReloadedConfiguredProjects?: Set, + ): FindCreateOrLoadConfiguredProjectResult | undefined { + let project = this.findConfiguredProjectByProjectName(configFileName, allowDeferredClosed); + let sentConfigFileDiag = false; + switch (kind) { + case ConfiguredProjectLoadKind.Find: + if (!project) return; + break; + case ConfiguredProjectLoadKind.Create: + project ??= this.createConfiguredProject(configFileName, reason!); + // Ensure project is updated + sentConfigFileDiag = !delayLoad && updateConfiguredProject(project, triggerFile); + break; + case ConfiguredProjectLoadKind.Reload: + project ??= this.createConfiguredProject(configFileName, reloadReason(reason!)); + // Reload immediately if not delayed + sentConfigFileDiag = !delayReloadedConfiguredProjects && + this.reloadConfiguredProjectClearingSemanticCache(project, reason!, reloadedProjects!); + if ( + delayReloadedConfiguredProjects && + !delayReloadedConfiguredProjects.has(project) && + !reloadedProjects!.has(project) + ) { + // Add to delayed reload + project.pendingUpdateLevel = ProgramUpdateLevel.Full; + project.pendingUpdateReason = reloadReason(reason!); + delayReloadedConfiguredProjects.add(project); + } + break; + default: + Debug.assertNever(kind); + } + return { project, sentConfigFileDiag }; + } + + /** + * Finds the default configured project for given info + * For any tsconfig found, it looks into that project, if not then all its references, + * The search happens for all tsconfigs till projectRootPath + */ + private tryFindDefaultConfiguredProjectForOpenScriptInfo( + info: ScriptInfo, + kind: ConfiguredProjectLoadKind, + /** Used with ConfiguredProjectLoadKind.Find to get deferredClosed projects as well */ + allowDeferredClosed?: boolean, + /** Used with ConfiguredProjectLoadKind.Reload to check if this project was already reloaded */ + reloadedProjects?: Set, + ): DefaultConfiguredProjectResult | undefined { + const configFileName = this.getConfigFileNameForFile(info, kind === ConfiguredProjectLoadKind.Find); + // If no config file name, no result + if (!configFileName) return; + + const result = this.findCreateOrReloadConfiguredProject( + configFileName, + kind, + fileOpenReason(info), + allowDeferredClosed, + info.fileName, + reloadedProjects, + ); + // If the project for the configFileName does not exist, no result + if (!result) return; + + const seenProjects = new Set(); + const sentConfigDiag = new Set(result.sentConfigFileDiag ? [result.project] : undefined); + let defaultProject: ConfiguredProject | undefined; + let possiblyDefault: ConfiguredProject | undefined; + // See if this is the project or is it one of the references or find ancestor projects + tryFindDefaultConfiguredProject(result.project); + return { + defaultProject: defaultProject ?? possiblyDefault, + sentConfigDiag, + seenProjects, + }; - // Create configured project till project root - while (true) { - // Skip if project is not composite - if ( - !project.isInitialLoadPending() && - ( - !project.getCompilerOptions().composite || - project.getCompilerOptions().disableSolutionSearching - ) - ) return; + function tryFindDefaultConfiguredProject(project: ConfiguredProject): ConfiguredProject | undefined { + return isDefaultProject(project) ? + defaultProject : + tryFindDefaultConfiguredProjectFromReferences(project); + } + + function isDefaultProject(project: ConfiguredProject): ConfiguredProject | undefined { + // Skip already looked up projects + if (!tryAddToSet(seenProjects, project)) return; + // If script info belongs to this project, use this as default config project + const projectWithInfo = project.containsScriptInfo(info); + if (projectWithInfo && !project.isSourceOfProjectReferenceRedirect(info.path)) return defaultProject = project; + // If this project uses the script info, if default project is not found, use this project as possible default + possiblyDefault ??= projectWithInfo ? project : undefined; + } + + function tryFindDefaultConfiguredProjectFromReferences(project: ConfiguredProject) { + // If this configured project doesnt contain script info but + // if this is solution with project references, try those project references + return forEachResolvedProjectReferenceProject( + project, + info.path, + (child, sentConfigFileDiag) => { + if (sentConfigFileDiag) sentConfigDiag.add(child); + return isDefaultProject(child); + }, + kind, + `Creating project referenced in solution ${project.projectName} to find possible configured project for ${info.fileName} to open`, + allowDeferredClosed, + info.fileName, + reloadedProjects, + ); + } + } - // Get config file name - const configFileName = this.getConfigFileNameForFile({ - fileName: project.getConfigFilePath(), - path: info.path, - configFileInfo: true, - }); - if (!configFileName) return; - - // find or delay load the project - const ancestor = this.findConfiguredProjectByProjectName(configFileName) || - this.createConfiguredProjectWithDelayLoad(configFileName, `Creating project possibly referencing default composite project ${project.getProjectName()} of open file ${info.fileName}`); - if (ancestor.isInitialLoadPending()) { - // Set a potential project reference - ancestor.setPotentialProjectReference(project.canonicalConfigFilePath); - } - project = ancestor; + /** + * Finds the default configured project, if found, it creates the solution projects (does not load them right away) + * with Find: finds the projects even if the project is deferredClosed + */ + private tryFindDefaultConfiguredProjectAndLoadAncestorsForOpenScriptInfo( + info: ScriptInfo, + kind: ConfiguredProjectLoadKind.Find | ConfiguredProjectLoadKind.Create, + ): DefaultConfiguredProjectResult | undefined; + private tryFindDefaultConfiguredProjectAndLoadAncestorsForOpenScriptInfo( + info: ScriptInfo, + kind: ConfiguredProjectLoadKind.Reload, + reloadedProjects: Set, + delayReloadedConfiguredProjects: Set, + ): DefaultConfiguredProjectResult | undefined; + private tryFindDefaultConfiguredProjectAndLoadAncestorsForOpenScriptInfo( + info: ScriptInfo, + kind: ConfiguredProjectLoadKind, + reloadedProjects?: Set, + delayReloadedConfiguredProjects?: Set, + ): DefaultConfiguredProjectResult | undefined { + const allowDeferredClosed = kind === ConfiguredProjectLoadKind.Find; + // Find default project + const result = this.tryFindDefaultConfiguredProjectForOpenScriptInfo( + info, + kind, + allowDeferredClosed, + reloadedProjects, + ); + if (!result) return; + const { defaultProject, seenProjects } = result; + if (defaultProject) { + // Create ancestor tree for findAllRefs (dont load them right away) + forEachAncestorProject( + info, + defaultProject, + ancestor => { + seenProjects.add(ancestor); + }, + kind, + `Creating project possibly referencing default composite project ${defaultProject.getProjectName()} of open file ${info.fileName}`, + allowDeferredClosed, + reloadedProjects, + delayReloadedConfiguredProjects, + ); } + return result; } /** @internal */ @@ -4091,8 +4306,11 @@ export class ProjectService { // Load this project, const configFileName = toNormalizedPath(child.sourceFile.fileName); - const childProject = project.projectService.findConfiguredProjectByProjectName(configFileName) || - project.projectService.createAndLoadConfiguredProject(configFileName, `Creating project referenced by : ${project.projectName} as it references project ${referencedProject.sourceFile.fileName}`); + const childProject = this.findConfiguredProjectByProjectName(configFileName) ?? + this.createConfiguredProject( + configFileName, + `Creating project referenced by : ${project.projectName} as it references project ${referencedProject.sourceFile.fileName}`, + ); updateProjectIfDirty(childProject); // Ensure children for this project @@ -4100,10 +4318,32 @@ export class ProjectService { } } - private cleanupAfterOpeningFile(toRetainConfigProjects: readonly ConfiguredProject[] | ConfiguredProject | undefined) { + private cleanupConfiguredProjects( + toRetainConfiguredProjects?: Set, + externalProjectsRetainingConfiguredProjects?: Set, + openFilesWithRetainedConfiguredProject?: Set, + ) { + // Remove all orphan projects + this.getOrphanConfiguredProjects( + toRetainConfiguredProjects, + openFilesWithRetainedConfiguredProject, + externalProjectsRetainingConfiguredProjects, + ).forEach(project => this.removeProject(project)); + } + + private cleanupProjectsAndScriptInfos( + toRetainConfiguredProjects: Set | undefined, + openFilesWithRetainedConfiguredProject: Set | undefined, + externalProjectsRetainingConfiguredProjects: Set | undefined, + ) { // This was postponed from closeOpenFile to after opening next file, // so that we can reuse the project if we need to right away - this.removeOrphanConfiguredProjects(toRetainConfigProjects); + // Remove all the non marked projects + this.cleanupConfiguredProjects( + toRetainConfiguredProjects, + externalProjectsRetainingConfiguredProjects, + openFilesWithRetainedConfiguredProject, + ); // Remove orphan inferred projects now that we have reused projects // We need to create a duplicate because we cant guarantee order after removal @@ -4123,20 +4363,22 @@ export class ProjectService { openClientFileWithNormalizedPath(fileName: NormalizedPath, fileContent?: string, scriptKind?: ScriptKind, hasMixedContent?: boolean, projectRootPath?: NormalizedPath): OpenConfiguredProjectResult { const info = this.getOrCreateOpenScriptInfo(fileName, fileContent, scriptKind, hasMixedContent, projectRootPath); const { retainProjects, ...result } = this.assignProjectToOpenedScriptInfo(info); - this.cleanupAfterOpeningFile(retainProjects); + this.cleanupProjectsAndScriptInfos( + retainProjects, + new Set([info.path]), + /*externalProjectsRetainingConfiguredProjects*/ undefined, + ); this.telemetryOnOpenFile(info); this.printProjects(); return result; } - private removeOrphanConfiguredProjects(toRetainConfiguredProjects: readonly ConfiguredProject[] | ConfiguredProject | undefined) { - const orphanConfiguredProjects = this.getOrphanConfiguredProjects(toRetainConfiguredProjects); - // Remove all the non marked projects - orphanConfiguredProjects.forEach(project => this.removeProject(project)); - } - /** @internal */ - getOrphanConfiguredProjects(toRetainConfiguredProjects: readonly ConfiguredProject[] | ConfiguredProject | undefined) { + getOrphanConfiguredProjects( + toRetainConfiguredProjects: Set | undefined, + openFilesWithRetainedConfiguredProject: Set | undefined, + externalProjectsRetainingConfiguredProjects: Set | undefined, + ) { const toRemoveConfiguredProjects = new Set(this.configuredProjects.values()); const markOriginalProjectsAsUsed = (project: Project) => { if (project.originalConfiguredProjects && (isConfiguredProject(project) || !project.isOrphan())) { @@ -4148,43 +4390,62 @@ export class ProjectService { ); } }; - if (toRetainConfiguredProjects) { - if (isArray(toRetainConfiguredProjects)) { - toRetainConfiguredProjects.forEach(retainConfiguredProject); - } - else { - retainConfiguredProject(toRetainConfiguredProjects); - } - } + toRetainConfiguredProjects?.forEach(retainConfiguredProject); // Do not remove configured projects that are used as original projects of other this.inferredProjects.forEach(markOriginalProjectsAsUsed); this.externalProjects.forEach(markOriginalProjectsAsUsed); - this.configuredProjects.forEach(project => { - if (!toRemoveConfiguredProjects.has(project)) return; - // If project has open ref (there are more than zero references from external project/open file), keep it alive as well as any project it references - if (project.hasOpenRef()) { - retainConfiguredProject(project); + // Retain all configured projects referenced by external projects + this.externalProjectToConfiguredProjectMap.forEach((projects, externalProjectName) => { + if (!externalProjectsRetainingConfiguredProjects?.has(externalProjectName)) { + projects.forEach(retainConfiguredProject); + } + }); + this.openFiles.forEach((_projectRootPath, path) => { + if (openFilesWithRetainedConfiguredProject?.has(path)) return; + const info = this.getScriptInfoForPath(path)!; + // Part of external project + if (find(info.containingProjects, isExternalProject)) return; + // We want to retain the projects for open file if they are pending updates so deferredClosed projects are ok + const result = this.tryFindDefaultConfiguredProjectAndLoadAncestorsForOpenScriptInfo( + info, + ConfiguredProjectLoadKind.Find, + ); + if (result?.defaultProject) { + result?.seenProjects.forEach(retainConfiguredProject); } - // If the configured project for project reference has more than zero references, keep it alive - else if (forEachReferencedProject(project, ref => isRetained(ref))) { - retainConfiguredProject(project); + }); + + // Retain all the configured projects that have pending updates + // or the ones that is referencing retained project (or to be retained) + this.configuredProjects.forEach(project => { + if (toRemoveConfiguredProjects.has(project)) { + if (isPendingUpdate(project) || forEachReferencedProject(project, isRetained)) { + retainConfiguredProject(project); + } } }); return toRemoveConfiguredProjects; function isRetained(project: ConfiguredProject) { - return !toRemoveConfiguredProjects.has(project) || project.hasOpenRef(); + return !toRemoveConfiguredProjects.has(project) || isPendingUpdate(project); + } + + function isPendingUpdate(project: ConfiguredProject) { + return ( + project.deferredClose || + project.projectService.hasPendingProjectUpdate(project) + ) && + !!project.projectService.configFileExistenceInfoCache.get(project.canonicalConfigFilePath)?.openFilesImpactedByConfigFile?.size; } function retainConfiguredProject(project: ConfiguredProject) { - if (toRemoveConfiguredProjects.delete(project)) { - // Keep original projects used - markOriginalProjectsAsUsed(project); - // Keep all the references alive - forEachReferencedProject(project, retainConfiguredProject); - } + if (!toRemoveConfiguredProjects.delete(project)) return; + // Keep original projects used + markOriginalProjectsAsUsed(project); + // Keep all the references alive + forEachReferencedProject(project, retainConfiguredProject); } } @@ -4334,10 +4595,8 @@ export class ProjectService { } // All the script infos now exist, so ok to go update projects for open files - let retainProjects: readonly ConfiguredProject[] | undefined; - if (openScriptInfos) { - retainProjects = flatMap(openScriptInfos, info => this.assignProjectToOpenedScriptInfo(info).retainProjects); - } + let retainProjects: Set | undefined; + openScriptInfos?.forEach(info => this.assignProjectToOpenedScriptInfo(info).retainProjects?.forEach(p => (retainProjects ??= new Set()).add(p))); // While closing files there could be open files that needed assigning new inferred projects, do it now if (assignOrphanScriptInfosToInferredProject) { @@ -4346,7 +4605,11 @@ export class ProjectService { if (openScriptInfos) { // Cleanup projects - this.cleanupAfterOpeningFile(retainProjects); + this.cleanupProjectsAndScriptInfos( + retainProjects, + new Set(openScriptInfos.map(info => info.path)), + /*externalProjectsRetainingConfiguredProjects*/ undefined, + ); // Telemetry openScriptInfos.forEach(info => this.telemetryOnOpenFile(info)); this.printProjects(); @@ -4363,23 +4626,13 @@ export class ProjectService { } } - private closeConfiguredProjectReferencedFromExternalProject(configuredProjects: Set | undefined) { - configuredProjects?.forEach(configuredProject => { - if (!configuredProject.isClosed()) { - configuredProject.deleteExternalProjectReference(); - if (!configuredProject.hasOpenRef()) this.removeProject(configuredProject); - } - }); - } - closeExternalProject(uncheckedFileName: string): void; /** @internal */ - closeExternalProject(uncheckedFileName: string, print: boolean): void; // eslint-disable-line @typescript-eslint/unified-signatures - closeExternalProject(uncheckedFileName: string, print?: boolean): void { + closeExternalProject(uncheckedFileName: string, cleanupAfter: boolean): void; // eslint-disable-line @typescript-eslint/unified-signatures + closeExternalProject(uncheckedFileName: string, cleanupAfter?: boolean) { const fileName = toNormalizedPath(uncheckedFileName); - const configuredProjects = this.externalProjectToConfiguredProjectMap.get(fileName); - if (configuredProjects) { - this.closeConfiguredProjectReferencedFromExternalProject(configuredProjects); + const projects = this.externalProjectToConfiguredProjectMap.get(fileName); + if (projects) { this.externalProjectToConfiguredProjectMap.delete(fileName); } else { @@ -4389,27 +4642,28 @@ export class ProjectService { this.removeProject(externalProject); } } - if (print) this.printProjects(); + if (cleanupAfter) { + this.cleanupConfiguredProjects(); + this.printProjects(); + } } openExternalProjects(projects: protocol.ExternalProject[]): void { // record project list before the update - const projectsToClose = arrayToMap(this.externalProjects, p => p.getProjectName(), _ => true); - forEachKey(this.externalProjectToConfiguredProjectMap, externalProjectName => { - projectsToClose.set(externalProjectName, true); - }); + const projectsToClose = new Set(this.externalProjects.map(p => p.getProjectName())); + this.externalProjectToConfiguredProjectMap.forEach((_, externalProjectName) => projectsToClose.add(externalProjectName)); for (const externalProject of projects) { - this.openExternalProject(externalProject, /*print*/ false); + this.openExternalProject(externalProject, /*cleanupAfter*/ false); // delete project that is present in input list projectsToClose.delete(externalProject.projectFileName); } // close projects that were missing in the input list - forEachKey(projectsToClose, externalProjectName => { - this.closeExternalProject(externalProjectName, /*print*/ false); - }); + projectsToClose.forEach(externalProjectName => this.closeExternalProject(externalProjectName, /*cleanupAfter*/ false)); + // Cleanup + this.cleanupConfiguredProjects(); this.printProjects(); } @@ -4542,14 +4796,11 @@ export class ProjectService { excludedFiles.push(normalizedNames[index]); } } - openExternalProject(proj: protocol.ExternalProject): void; /** @internal */ - openExternalProject(proj: protocol.ExternalProject, print: boolean): void; // eslint-disable-line @typescript-eslint/unified-signatures - openExternalProject(proj: protocol.ExternalProject, print?: boolean): void { + openExternalProject(proj: protocol.ExternalProject, cleanupAfter: boolean): void; // eslint-disable-line @typescript-eslint/unified-signatures + openExternalProject(proj: protocol.ExternalProject, cleanupAfter?: boolean): void { const existingExternalProject = this.findExternalProjectByProjectName(proj.projectFileName); - const existingConfiguredProjects = this.externalProjectToConfiguredProjectMap.get(proj.projectFileName); - let configuredProjects: Set | undefined; let rootFiles: protocol.ExternalFile[] = []; for (const file of proj.rootFiles) { @@ -4559,16 +4810,11 @@ export class ProjectService { let project = this.findConfiguredProjectByProjectName(normalized); if (!project) { // errors are stored in the project, do not need to update the graph - project = this.getHostPreferences().lazyConfiguredProjectsFromExternalProject ? - this.createConfiguredProjectWithDelayLoad(normalized, `Creating configured project in external project: ${proj.projectFileName}`) : - this.createLoadAndUpdateConfiguredProject(normalized, `Creating configured project in external project: ${proj.projectFileName}`); - } - if (!existingConfiguredProjects?.has(project)) { - // keep project alive even if no documents are opened - its lifetime is bound to the lifetime of containing external project - project.addExternalProjectReference(); + project = this.createConfiguredProject(normalized, `Creating configured project in external project: ${proj.projectFileName}`); + if (!this.getHostPreferences().lazyConfiguredProjectsFromExternalProject) project.updateGraph(); } (configuredProjects ??= new Set()).add(project); - existingConfiguredProjects?.delete(project); + Debug.assert(!project.isClosed()); // Should not have closed project } } else { @@ -4619,10 +4865,13 @@ export class ProjectService { } } - // Remove unused configured projects - this.closeConfiguredProjectReferencedFromExternalProject(existingConfiguredProjects); - - if (print) this.printProjects(); + if (cleanupAfter) { + this.cleanupConfiguredProjects( + configuredProjects, + new Set(proj.projectFileName), + ); + this.printProjects(); + } } hasDeferredExtension() { diff --git a/src/server/moduleSpecifierCache.ts b/src/server/moduleSpecifierCache.ts index fd5d74fcd861e..73e1168afd2f6 100644 --- a/src/server/moduleSpecifierCache.ts +++ b/src/server/moduleSpecifierCache.ts @@ -9,7 +9,7 @@ import { Path, ResolvedModuleSpecifierInfo, UserPreferences, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; /** @internal */ export interface ModuleSpecifierResolutionCacheHost { @@ -27,8 +27,8 @@ export function createModuleSpecifierCache(host: ModuleSpecifierResolutionCacheH if (!cache || currentKey !== key(fromFileName, preferences, options)) return undefined; return cache.get(toFileName); }, - set(fromFileName, toFileName, preferences, options, modulePaths, moduleSpecifiers) { - ensureCache(fromFileName, preferences, options).set(toFileName, createInfo(modulePaths, moduleSpecifiers, /*isBlockedByPackageJsonDependencies*/ false)); + set(fromFileName, toFileName, preferences, options, kind, modulePaths, moduleSpecifiers) { + ensureCache(fromFileName, preferences, options).set(toFileName, createInfo(kind, modulePaths, moduleSpecifiers, /*isBlockedByPackageJsonDependencies*/ false)); // If any module specifiers were generated based off paths in node_modules, // a package.json file in that package was read and is an input to the cached. @@ -58,7 +58,7 @@ export function createModuleSpecifierCache(host: ModuleSpecifierResolutionCacheH info.modulePaths = modulePaths; } else { - cache.set(toFileName, createInfo(modulePaths, /*moduleSpecifiers*/ undefined, /*isBlockedByPackageJsonDependencies*/ undefined)); + cache.set(toFileName, createInfo(/*kind*/ undefined, modulePaths, /*moduleSpecifiers*/ undefined, /*isBlockedByPackageJsonDependencies*/ undefined)); } }, setBlockedByPackageJsonDependencies(fromFileName, toFileName, preferences, options, isBlockedByPackageJsonDependencies) { @@ -68,7 +68,7 @@ export function createModuleSpecifierCache(host: ModuleSpecifierResolutionCacheH info.isBlockedByPackageJsonDependencies = isBlockedByPackageJsonDependencies; } else { - cache.set(toFileName, createInfo(/*modulePaths*/ undefined, /*moduleSpecifiers*/ undefined, isBlockedByPackageJsonDependencies)); + cache.set(toFileName, createInfo(/*kind*/ undefined, /*modulePaths*/ undefined, /*moduleSpecifiers*/ undefined, isBlockedByPackageJsonDependencies)); } }, clear() { @@ -100,10 +100,11 @@ export function createModuleSpecifierCache(host: ModuleSpecifierResolutionCacheH } function createInfo( + kind: ResolvedModuleSpecifierInfo["kind"] | undefined, modulePaths: readonly ModulePath[] | undefined, moduleSpecifiers: readonly string[] | undefined, isBlockedByPackageJsonDependencies: boolean | undefined, ): ResolvedModuleSpecifierInfo { - return { modulePaths, moduleSpecifiers, isBlockedByPackageJsonDependencies }; + return { kind, modulePaths, moduleSpecifiers, isBlockedByPackageJsonDependencies }; } } diff --git a/src/server/packageJsonCache.ts b/src/server/packageJsonCache.ts index 522bf0933d16e..e525d6b7b4a7e 100644 --- a/src/server/packageJsonCache.ts +++ b/src/server/packageJsonCache.ts @@ -8,8 +8,8 @@ import { ProjectPackageJsonInfo, Ternary, tryFileExists, -} from "./_namespaces/ts"; -import { ProjectService } from "./_namespaces/ts.server"; +} from "./_namespaces/ts.js"; +import { ProjectService } from "./_namespaces/ts.server.js"; /** @internal */ export interface PackageJsonCache { diff --git a/src/server/project.ts b/src/server/project.ts index db1e5307f74c4..d4c519614be56 100644 --- a/src/server/project.ts +++ b/src/server/project.ts @@ -1,4 +1,4 @@ -import * as ts from "./_namespaces/ts"; +import * as ts from "./_namespaces/ts.js"; import { addRange, append, @@ -88,7 +88,6 @@ import { noopFileWatcher, normalizePath, normalizeSlashes, - orderedRemoveItem, PackageJsonAutoImportPreference, PackageJsonInfo, ParsedCommandLine, @@ -133,7 +132,7 @@ import { WatchDirectoryFlags, WatchOptions, WatchType, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; import { ActionInvalidate, asNormalizedPath, @@ -141,15 +140,12 @@ import { emptyArray, Errors, FileStats, - forEachResolvedProjectReferenceProject, LogLevel, ModuleImportResult, Msg, NormalizedPath, PackageJsonWatcher, - projectContainsInfoDirectly, ProjectOptions, - ProjectReferenceProjectLoadKind, ProjectService, ScriptInfo, ServerHost, @@ -157,8 +153,8 @@ import { toNormalizedPath, TypingsCache, updateProjectIfDirty, -} from "./_namespaces/ts.server"; -import * as protocol from "./protocol"; +} from "./_namespaces/ts.server.js"; +import * as protocol from "./protocol.js"; export enum ProjectKind { Inferred, @@ -312,8 +308,7 @@ const enum TypingWatcherType { type TypingWatchers = Map & { isInvoked?: boolean; }; export abstract class Project implements LanguageServiceHost, ModuleResolutionHost { - private rootFiles: ScriptInfo[] = []; - private rootFilesMap = new Map(); + private rootFilesMap = new Map(); private program: Program | undefined; private externalFiles: SortedReadonlyArray | undefined; private missingFilesMap: Map | undefined; @@ -644,7 +639,7 @@ export abstract class Project implements LanguageServiceHost, ModuleResolutionHo } getScriptFileNames() { - if (!this.rootFiles) { + if (!this.rootFilesMap.size) { return ts.emptyArray; } @@ -670,7 +665,6 @@ export abstract class Project implements LanguageServiceHost, ModuleResolutionHo const existingValue = this.rootFilesMap.get(scriptInfo.path); if (existingValue && existingValue.info !== scriptInfo) { // This was missing path earlier but now the file exists. Update the root - this.rootFiles.push(scriptInfo); existingValue.info = scriptInfo; } scriptInfo.attachToProject(this); @@ -1082,12 +1076,9 @@ export abstract class Project implements LanguageServiceHost, ModuleResolutionHo // Release external files forEach(this.externalFiles, externalFile => this.detachScriptInfoIfNotRoot(externalFile)); // Always remove root files from the project - for (const root of this.rootFiles) { - root.detachFromProject(this); - } + this.rootFilesMap.forEach(root => root.info?.detachFromProject(this)); this.projectService.pendingEnsureProjectForOpenFiles = true; - this.rootFiles = undefined!; this.rootFilesMap = undefined!; this.externalFiles = undefined; this.program = undefined; @@ -1138,11 +1129,11 @@ export abstract class Project implements LanguageServiceHost, ModuleResolutionHo } isClosed() { - return this.rootFiles === undefined; + return this.rootFilesMap === undefined; } hasRoots() { - return this.rootFiles && this.rootFiles.length > 0; + return !!this.rootFilesMap?.size; } /** @internal */ @@ -1150,8 +1141,8 @@ export abstract class Project implements LanguageServiceHost, ModuleResolutionHo return false; } - getRootFiles() { - return this.rootFiles && this.rootFiles.map(info => info.fileName); + getRootFiles(): NormalizedPath[] { + return this.rootFilesMap && arrayFrom(ts.mapDefinedIterator(this.rootFilesMap.values(), value => value.info?.fileName)); } /** @internal */ @@ -1160,13 +1151,13 @@ export abstract class Project implements LanguageServiceHost, ModuleResolutionHo } getRootScriptInfos() { - return this.rootFiles; + return arrayFrom(ts.mapDefinedIterator(this.rootFilesMap.values(), value => value.info)); } getScriptInfos(): ScriptInfo[] { if (!this.languageServiceEnabled) { // if language service is not enabled - return just root files - return this.rootFiles; + return this.getRootScriptInfos(); } return map(this.program!.getSourceFiles(), sourceFile => { const scriptInfo = this.projectService.getScriptInfoForPath(sourceFile.resolvedPath); @@ -1259,13 +1250,12 @@ export abstract class Project implements LanguageServiceHost, ModuleResolutionHo } isRoot(info: ScriptInfo) { - return this.rootFilesMap && this.rootFilesMap.get(info.path)?.info === info; + return this.rootFilesMap?.get(info.path)?.info === info; } // add a root file to project addRoot(info: ScriptInfo, fileName?: NormalizedPath) { Debug.assert(!this.isRoot(info)); - this.rootFiles.push(info); this.rootFilesMap.set(info.path, { fileName: fileName || info.fileName, info }); info.attachToProject(this); @@ -1589,6 +1579,16 @@ export abstract class Project implements LanguageServiceHost, ModuleResolutionHo }); } + // Update roots + this.rootFilesMap.forEach((value, path) => { + const file = this.program!.getSourceFileByPath(path); + const info = value.info; + if (!file || value.info?.path === file.resolvedPath) return; + value.info = this.projectService.getScriptInfo(file.fileName)!; + Debug.assert(value.info.isAttached(this)); + info?.detachFromProject(this); + }); + // Update the missing file paths watcher updateMissingFilePathsWatch( this.program, @@ -2009,7 +2009,6 @@ export abstract class Project implements LanguageServiceHost, ModuleResolutionHo // remove a root file from project protected removeRoot(info: ScriptInfo): void { - orderedRemoveItem(this.rootFiles, info); this.rootFilesMap.delete(info.path); } @@ -2211,7 +2210,7 @@ export abstract class Project implements LanguageServiceHost, ModuleResolutionHo private isDefaultProjectForOpenFiles(): boolean { return !!forEachEntry( this.projectService.openFiles, - (_, fileName) => this.projectService.tryGetDefaultProjectForFile(toNormalizedPath(fileName)) === this, + (_projectRootPath, path) => this.projectService.tryGetDefaultProjectForFile(this.projectService.getScriptInfoForPath(path)!) === this, ); } @@ -2238,6 +2237,18 @@ export abstract class Project implements LanguageServiceHost, ModuleResolutionHo return this.noDtsResolutionProject; } + /** @internal */ + runWithTemporaryFileUpdate(rootFile: string, updatedText: string, cb: (updatedProgram: Program, originalProgram: Program | undefined, updatedFile: SourceFile) => void) { + const originalProgram = this.program; + const rootSourceFile = Debug.checkDefined(this.program?.getSourceFile(rootFile), "Expected file to be part of program"); + const originalText = Debug.checkDefined(rootSourceFile.getText()); + + this.getScriptInfo(rootFile)?.editContent(0, originalText.length, updatedText); + this.updateGraph(); + cb(this.program!, originalProgram, (this.program?.getSourceFile(rootFile))!); + this.getScriptInfo(rootFile)?.editContent(0, this.program!.getSourceFile(rootFile)!.getText().length, originalText); + } + /** @internal */ private getCompilerOptionsForNoDtsResolutionProject() { return { @@ -2376,7 +2387,7 @@ export class InferredProject extends Project { } override removeRoot(info: ScriptInfo) { - this.projectService.stopWatchingConfigFilesForInferredProjectRoot(info); + this.projectService.stopWatchingConfigFilesForScriptInfo(info); super.removeRoot(info); // Delay toggling to isJsInferredProject = false till we actually need it again if (!this.isOrphan() && this._isJsInferredProject && info.isJavaScript()) { @@ -2400,7 +2411,7 @@ export class InferredProject extends Project { } override close() { - forEach(this.getRootScriptInfos(), info => this.projectService.stopWatchingConfigFilesForInferredProjectRoot(info)); + forEach(this.getRootScriptInfos(), info => this.projectService.stopWatchingConfigFilesForScriptInfo(info)); super.close(); } @@ -2741,7 +2752,7 @@ export class AutoImportProviderProject extends Project { */ export class ConfiguredProject extends Project { /** @internal */ - pendingUpdateLevel: ProgramUpdateLevel | undefined; + pendingUpdateLevel: ProgramUpdateLevel; /** @internal */ pendingUpdateReason: string | undefined; @@ -2751,9 +2762,6 @@ export class ConfiguredProject extends Project { /** @internal */ canConfigFileJsonReportNoInputFiles = false; - /** Ref count to the project when opened from external project */ - private externalProjectRefCount = 0; - private projectReferences: readonly ProjectReference[] | undefined; /** @@ -2776,10 +2784,10 @@ export class ConfiguredProject extends Project { private compilerHost?: CompilerHost; /** @internal */ - hasConfigFileDiagnostics?: boolean; + configDiagDiagnosticsReported?: number; /** @internal */ - skipConfigDiagEvent?: true; + triggerFileForConfigFileDiag?: NormalizedPath; /** @internal */ deferredClose?: boolean; @@ -2791,8 +2799,11 @@ export class ConfiguredProject extends Project { projectService: ProjectService, documentRegistry: DocumentRegistry, cachedDirectoryStructureHost: CachedDirectoryStructureHost, + pendingUpdateReason: string, ) { super(configFileName, ProjectKind.Configured, projectService, documentRegistry, /*hasExplicitListOfFiles*/ false, /*lastFileExceededProgramSize*/ undefined, /*compilerOptions*/ {}, /*compileOnSaveEnabled*/ false, /*watchOptions*/ undefined, cachedDirectoryStructureHost, getDirectoryPath(configFileName)); + this.pendingUpdateLevel = ProgramUpdateLevel.Full; + this.pendingUpdateReason = pendingUpdateReason; } /** @internal */ @@ -2845,7 +2856,7 @@ export class ConfiguredProject extends Project { */ override updateGraph(): boolean { if (this.deferredClose) return false; - const isInitialLoad = this.isInitialLoadPending(); + const isDirty = this.dirty; this.isInitialLoadPending = returnFalse; const updateLevel = this.pendingUpdateLevel; this.pendingUpdateLevel = ProgramUpdateLevel.Update; @@ -2858,8 +2869,7 @@ export class ConfiguredProject extends Project { case ProgramUpdateLevel.Full: this.openFileWatchTriggered.clear(); const reason = Debug.checkDefined(this.pendingUpdateReason); - this.pendingUpdateReason = undefined; - this.projectService.reloadConfiguredProject(this, reason, isInitialLoad, /*clearSemanticCache*/ false); + this.projectService.reloadConfiguredProject(this, reason); result = true; break; default: @@ -2868,8 +2878,21 @@ export class ConfiguredProject extends Project { this.compilerHost = undefined; this.projectService.sendProjectLoadingFinishEvent(this); this.projectService.sendProjectTelemetry(this); - if (!this.skipConfigDiagEvent && !result) { // If new program, send event if diagnostics presence has changed - this.projectService.sendConfigFileDiagEvent(this, /*triggerFile*/ undefined); + if ( + updateLevel === ProgramUpdateLevel.Full || ( // Already sent event through reload + result && ( // Not new program + !isDirty || + !this.triggerFileForConfigFileDiag || + this.getCurrentProgram()!.structureIsReused === StructureIsReused.Completely + ) + ) + ) { + // Dont send the configFileDiag + this.triggerFileForConfigFileDiag = undefined; + } + else if (!this.triggerFileForConfigFileDiag) { + // If we arent tracking to send configFileDiag, send event if diagnostics presence has changed + this.projectService.sendConfigFileDiagEvent(this, /*triggerFile*/ undefined, /*force*/ false); } return result; } @@ -2970,91 +2993,17 @@ export class ConfiguredProject extends Project { super.markAsDirty(); } - /** @internal */ - addExternalProjectReference() { - this.externalProjectRefCount++; - } - - /** @internal */ - deleteExternalProjectReference() { - this.externalProjectRefCount--; - } - /** @internal */ isSolution() { return this.getRootFilesMap().size === 0 && !this.canConfigFileJsonReportNoInputFiles; } - /** - * Find the configured project from the project references in project which contains the info directly - * - * @internal - */ - getDefaultChildProjectFromProjectWithReferences(info: ScriptInfo) { - return forEachResolvedProjectReferenceProject( - this, - info.path, - child => - projectContainsInfoDirectly(child, info) ? - child : - undefined, - ProjectReferenceProjectLoadKind.Find, - ); - } - - /** - * Returns true if the project is needed by any of the open script info/external project - * - * @internal - */ - hasOpenRef() { - if (!!this.externalProjectRefCount) { - return true; - } - - // Closed project doesnt have any reference - if (this.isClosed()) { - return false; - } - - const configFileExistenceInfo = this.projectService.configFileExistenceInfoCache.get(this.canonicalConfigFilePath)!; - if (this.deferredClose) return !!configFileExistenceInfo.openFilesImpactedByConfigFile?.size; - if (this.projectService.hasPendingProjectUpdate(this)) { - // If there is pending update for this project, - // we dont know if this project would be needed by any of the open files impacted by this config file - // In that case keep the project alive if there are open files impacted by this project - return !!configFileExistenceInfo.openFilesImpactedByConfigFile?.size; - } - - // If there is no pending update for this project, - // We know exact set of open files that get impacted by this configured project as the files in the project - // The project is referenced only if open files impacted by this project are present in this project - return !!configFileExistenceInfo.openFilesImpactedByConfigFile && forEachEntry( - configFileExistenceInfo.openFilesImpactedByConfigFile, - (_value, infoPath) => { - const info = this.projectService.getScriptInfoForPath(infoPath)!; - return this.containsScriptInfo(info) || - !!forEachResolvedProjectReferenceProject( - this, - info.path, - child => child.containsScriptInfo(info), - ProjectReferenceProjectLoadKind.Find, - ); - }, - ) || false; - } - /** @internal */ override isOrphan(): boolean { return !!this.deferredClose; } - /** @internal */ - hasExternalProjectRef() { - return !!this.externalProjectRefCount; - } - getEffectiveTypeRoots() { return getEffectiveTypeRoots(this.getCompilationSettings(), this) || []; } diff --git a/src/server/protocol.ts b/src/server/protocol.ts index b27fb4d5c3dc1..d12c97bdebc32 100644 --- a/src/server/protocol.ts +++ b/src/server/protocol.ts @@ -1,4 +1,4 @@ -import type * as ts from "./_namespaces/ts"; +import type * as ts from "./_namespaces/ts.js"; import type { ApplicableRefactorInfo, CompilerOptionsValue, @@ -6,13 +6,21 @@ import type { EndOfLineState, FileExtensionInfo, HighlightSpanKind, + InlayHintKind, InteractiveRefactorArguments, OutputFile, + RefactorActionInfo, RefactorTriggerReason, RenameInfoFailure, RenameLocation, ScriptElementKind, ScriptKind, + SignatureHelpCharacterTypedReason, + SignatureHelpInvokedReason, + SignatureHelpParameter, + SignatureHelpRetriggerCharacter, + SignatureHelpRetriggeredReason, + SignatureHelpTriggerCharacter, SignatureHelpTriggerReason, SymbolDisplayPart, TextChange, @@ -21,16 +29,16 @@ import type { TodoCommentDescriptor, TypeAcquisition, UserPreferences, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; import { ClassificationType, CompletionTriggerKind, OrganizeImportsMode, SemicolonPreference, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; // These types/enums used to be defined in duplicate here and exported. They are re-exported to avoid breaking changes. -export { ApplicableRefactorInfo, ClassificationType, CompletionsTriggerCharacter, CompletionTriggerKind, OrganizeImportsMode, RefactorTriggerReason, RenameInfoFailure, SemicolonPreference, SignatureHelpTriggerReason, SymbolDisplayPart, UserPreferences }; +export { ApplicableRefactorInfo, ClassificationType, CompletionsTriggerCharacter, CompletionTriggerKind, InlayHintKind, OrganizeImportsMode, RefactorActionInfo, RefactorTriggerReason, RenameInfoFailure, SemicolonPreference, SignatureHelpCharacterTypedReason, SignatureHelpInvokedReason, SignatureHelpParameter, SignatureHelpRetriggerCharacter, SignatureHelpRetriggeredReason, SignatureHelpTriggerCharacter, SignatureHelpTriggerReason, SymbolDisplayPart, UserPreferences }; type ChangeStringIndexSignature = { [K in keyof T]: string extends K ? NewStringIndexSignatureType : T[K]; }; type ChangePropertyTypes = { @@ -161,6 +169,7 @@ export const enum CommandTypes { GetApplicableRefactors = "getApplicableRefactors", GetEditsForRefactor = "getEditsForRefactor", GetMoveToRefactoringFileSuggestions = "getMoveToRefactoringFileSuggestions", + GetPasteEdits = "getPasteEdits", /** @internal */ GetEditsForRefactorFull = "getEditsForRefactor-full", @@ -191,6 +200,7 @@ export const enum CommandTypes { ProvideCallHierarchyOutgoingCalls = "provideCallHierarchyOutgoingCalls", ProvideInlayHints = "provideInlayHints", WatchChange = "watchChange", + MapCode = "mapCode", } /** @@ -625,6 +635,35 @@ export interface GetMoveToRefactoringFileSuggestions extends Response { }; } +/** + * Request refactorings at a given position post pasting text from some other location. + */ + +export interface GetPasteEditsRequest extends Request { + command: CommandTypes.GetPasteEdits; + arguments: GetPasteEditsRequestArgs; +} + +export interface GetPasteEditsRequestArgs extends FileRequestArgs { + /** The text that gets pasted in a file. */ + pastedText: string[]; + /** Locations of where the `pastedText` gets added in a file. If the length of the `pastedText` and `pastedLocations` are not the same, + * then the `pastedText` is combined into one and added at all the `pastedLocations`. + */ + pasteLocations: TextSpan[]; + /** The source location of each `pastedText`. If present, the length of `spans` must be equal to the length of `pastedText`. */ + copiedFrom?: { file: string; spans: TextSpan[]; }; +} + +export interface GetPasteEditsResponse extends Response { + body: PasteEditsAction; +} + +export interface PasteEditsAction { + edits: FileCodeEdits[]; + fixId?: {}; +} + export interface GetEditsForRefactorRequest extends Request { command: CommandTypes.GetEditsForRefactor; arguments: GetEditsForRefactorRequestArgs; @@ -2304,6 +2343,38 @@ export interface InlayHintsResponse extends Response { body?: InlayHintItem[]; } +export interface MapCodeRequestArgs extends FileRequestArgs { + /** + * The files and changes to try and apply/map. + */ + mapping: MapCodeRequestDocumentMapping; +} + +export interface MapCodeRequestDocumentMapping { + /** + * The specific code to map/insert/replace in the file. + */ + contents: string[]; + + /** + * Areas of "focus" to inform the code mapper with. For example, cursor + * location, current selection, viewport, etc. Nested arrays denote + * priority: toplevel arrays are more important than inner arrays, and + * inner array priorities are based on items within that array. Items + * earlier in the arrays have higher priority. + */ + focusLocations?: TextSpan[][]; +} + +export interface MapCodeRequest extends FileRequest { + command: CommandTypes.MapCode; + arguments: MapCodeRequestArgs; +} + +export interface MapCodeResponse extends Response { + body: readonly FileCodeEdits[]; +} + /** * Synchronous request for semantic diagnostics of one file. */ diff --git a/src/server/scriptInfo.ts b/src/server/scriptInfo.ts index 42a0ba4782c9e..eaeec70784193 100644 --- a/src/server/scriptInfo.ts +++ b/src/server/scriptInfo.ts @@ -34,12 +34,11 @@ import { SourceFile, SourceFileLike, TextSpan, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; import { AbsolutePositionAndLineText, ConfiguredProject, Errors, - ExternalProject, InferredProject, isBackgroundProject, isConfiguredProject, @@ -51,8 +50,8 @@ import { Project, ScriptVersionCache, ServerHost, -} from "./_namespaces/ts.server"; -import * as protocol from "./protocol"; +} from "./_namespaces/ts.server.js"; +import * as protocol from "./protocol.js"; /** @internal */ export class TextStorage { @@ -580,18 +579,16 @@ export class ScriptInfo { case 0: return Errors.ThrowNoProject(); case 1: - return ensurePrimaryProjectKind( - !isProjectDeferredClose(this.containingProjects[0]) ? - this.containingProjects[0] : undefined, - ); + return isProjectDeferredClose(this.containingProjects[0]) || isBackgroundProject(this.containingProjects[0]) ? + Errors.ThrowNoProject() : + this.containingProjects[0]; default: // If this file belongs to multiple projects, below is the order in which default project is used + // - first external project // - for open script info, its default configured project during opening is default if info is part of it // - first configured project of which script info is not a source of project reference redirect // - first configured project - // - first external project // - first inferred project - let firstExternalProject: ExternalProject | undefined; let firstConfiguredProject: ConfiguredProject | undefined; let firstInferredProject: InferredProject | undefined; let firstNonSourceOfProjectReferenceRedirect: ConfiguredProject | undefined; @@ -614,20 +611,17 @@ export class ScriptInfo { } if (!firstConfiguredProject) firstConfiguredProject = project; } - else if (!firstExternalProject && isExternalProject(project)) { - firstExternalProject = project; + else if (isExternalProject(project)) { + return project; } else if (!firstInferredProject && isInferredProject(project)) { firstInferredProject = project; } } - return ensurePrimaryProjectKind( - defaultConfiguredProject || - firstNonSourceOfProjectReferenceRedirect || - firstConfiguredProject || - firstExternalProject || - firstInferredProject, - ); + return (defaultConfiguredProject || + firstNonSourceOfProjectReferenceRedirect || + firstConfiguredProject || + firstInferredProject) ?? Errors.ThrowNoProject(); } } @@ -742,18 +736,6 @@ export class ScriptInfo { } } -/** - * Throws an error if `project` is an AutoImportProvider or AuxiliaryProject, - * which are used in the background by other Projects and should never be - * reported as the default project for a ScriptInfo. - */ -function ensurePrimaryProjectKind(project: Project | undefined) { - if (!project || isBackgroundProject(project)) { - return Errors.ThrowNoProject(); - } - return project; -} - function failIfInvalidPosition(position: number) { Debug.assert(typeof position === "number", `Expected position ${position} to be a number.`); Debug.assert(position >= 0, `Expected position to be non-negative.`); diff --git a/src/server/scriptVersionCache.ts b/src/server/scriptVersionCache.ts index ecf62c7445f91..306e310f23ee3 100644 --- a/src/server/scriptVersionCache.ts +++ b/src/server/scriptVersionCache.ts @@ -8,9 +8,9 @@ import { TextChangeRange, TextSpan, unchangedTextChangeRange, -} from "./_namespaces/ts"; -import { emptyArray } from "./_namespaces/ts.server"; -import * as protocol from "./protocol"; +} from "./_namespaces/ts.js"; +import { emptyArray } from "./_namespaces/ts.server.js"; +import * as protocol from "./protocol.js"; const lineCollectionCapacity = 4; diff --git a/src/server/session.ts b/src/server/session.ts index f05b431aa9260..1d3b34d66f719 100644 --- a/src/server/session.ts +++ b/src/server/session.ts @@ -100,6 +100,7 @@ import { OperationCanceledException, OrganizeImportsMode, OutliningSpan, + PasteEdits, Path, perfLogger, PerformanceEvent, @@ -136,7 +137,7 @@ import { unmangleScopedPackageName, version, WithMetadata, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; import { AuxiliaryProject, CloseFileWatcherEvent, @@ -180,8 +181,8 @@ import { stringifyIndented, toNormalizedPath, updateProjectIfDirty, -} from "./_namespaces/ts.server"; -import * as protocol from "./protocol"; +} from "./_namespaces/ts.server.js"; +import * as protocol from "./protocol.js"; interface StackTraceError extends Error { stack?: string; @@ -910,6 +911,7 @@ const invalidPartialSemanticModeCommands: readonly protocol.CommandTypes[] = [ protocol.CommandTypes.PrepareCallHierarchy, protocol.CommandTypes.ProvideCallHierarchyIncomingCalls, protocol.CommandTypes.ProvideCallHierarchyOutgoingCalls, + protocol.CommandTypes.GetPasteEdits, ]; const invalidSyntacticModeCommands: readonly protocol.CommandTypes[] = [ @@ -1904,6 +1906,26 @@ export class Session implements EventSender { }); } + private mapCode(args: protocol.MapCodeRequestArgs): protocol.FileCodeEdits[] { + const formatOptions = this.getHostFormatOptions(); + const preferences = this.getHostPreferences(); + const { file, languageService } = this.getFileAndLanguageServiceForSyntacticOperation(args); + const scriptInfo = this.projectService.getScriptInfoForNormalizedPath(file)!; + const focusLocations = args.mapping.focusLocations?.map(spans => { + return spans.map(loc => { + const start = scriptInfo.lineOffsetToPosition(loc.start.line, loc.start.offset); + const end = scriptInfo.lineOffsetToPosition(loc.end.line, loc.end.offset); + return { + start, + length: end - start, + }; + }); + }); + + const changes = languageService.mapCode(file, args.mapping.contents, focusLocations, formatOptions, preferences); + return this.mapTextChangesToCodeEdits(changes); + } + private setCompilerOptionsForInferredProjects(args: protocol.SetCompilerOptionsForInferredProjectsArgs): void { this.projectService.setCompilerOptionsForInferredProjects(args.options, args.projectRootPath); } @@ -2796,6 +2818,24 @@ export class Session implements EventSender { return project.getLanguageService().getMoveToRefactoringFileSuggestions(file, this.extractPositionOrRange(args, scriptInfo), this.getPreferences(file)); } + private getPasteEdits(args: protocol.GetPasteEditsRequestArgs): protocol.PasteEditsAction | undefined { + const { file, project } = this.getFileAndProject(args); + const copiedFrom = args.copiedFrom + ? { file: args.copiedFrom.file, range: args.copiedFrom.spans.map(copies => this.getRange({ file: args.copiedFrom!.file, startLine: copies.start.line, startOffset: copies.start.offset, endLine: copies.end.line, endOffset: copies.end.offset }, project.getScriptInfoForNormalizedPath(toNormalizedPath(args.copiedFrom!.file))!)) } + : undefined; + const result = project.getLanguageService().getPasteEdits( + { + targetFile: file, + pastedText: args.pastedText, + pasteLocations: args.pasteLocations.map(paste => this.getRange({ file, startLine: paste.start.line, startOffset: paste.start.offset, endLine: paste.end.line, endOffset: paste.end.offset }, project.getScriptInfoForNormalizedPath(file)!)), + copiedFrom, + preferences: this.getPreferences(file), + }, + this.getFormatOptions(file), + ); + return result && this.mapPasteEditsAction(result); + } + private organizeImports(args: protocol.OrganizeImportsRequestArgs, simplifiedResult: boolean): readonly protocol.FileCodeEdits[] | readonly FileTextChanges[] { Debug.assert(args.scope.type === "file"); const { file, project } = this.getFileAndProject(args.scope.args); @@ -2928,6 +2968,10 @@ export class Session implements EventSender { return { fixName, description, changes: this.mapTextChangesToCodeEdits(changes), commands, fixId, fixAllDescription }; } + private mapPasteEditsAction({ edits, fixId }: PasteEdits): protocol.PasteEditsAction { + return { edits: this.mapTextChangesToCodeEdits(edits), fixId }; + } + private mapTextChangesToCodeEdits(textChanges: readonly FileTextChanges[]): protocol.FileCodeEdits[] { return textChanges.map(change => this.mapTextChangeToCodeEdit(change)); } @@ -3190,7 +3234,7 @@ export class Session implements EventSender { return this.requiredResponse(response); }, [protocol.CommandTypes.OpenExternalProject]: (request: protocol.OpenExternalProjectRequest) => { - this.projectService.openExternalProject(request.arguments, /*print*/ true); + this.projectService.openExternalProject(request.arguments, /*cleanupAfter*/ true); // TODO: GH#20447 report errors return this.requiredResponse(/*response*/ true); }, @@ -3200,7 +3244,7 @@ export class Session implements EventSender { return this.requiredResponse(/*response*/ true); }, [protocol.CommandTypes.CloseExternalProject]: (request: protocol.CloseExternalProjectRequest) => { - this.projectService.closeExternalProject(request.arguments.projectFileName, /*print*/ true); + this.projectService.closeExternalProject(request.arguments.projectFileName, /*cleanupAfter*/ true); // TODO: GH#20447 report errors return this.requiredResponse(/*response*/ true); }, @@ -3521,6 +3565,9 @@ export class Session implements EventSender { [protocol.CommandTypes.GetMoveToRefactoringFileSuggestions]: (request: protocol.GetMoveToRefactoringFileSuggestionsRequest) => { return this.requiredResponse(this.getMoveToRefactoringFileSuggestions(request.arguments)); }, + [protocol.CommandTypes.GetPasteEdits]: (request: protocol.GetPasteEditsRequest) => { + return this.requiredResponse(this.getPasteEdits(request.arguments)); + }, [protocol.CommandTypes.GetEditsForRefactorFull]: (request: protocol.GetEditsForRefactorRequest) => { return this.requiredResponse(this.getEditsForRefactor(request.arguments, /*simplifiedResult*/ false)); }, @@ -3583,6 +3630,9 @@ export class Session implements EventSender { [protocol.CommandTypes.ProvideInlayHints]: (request: protocol.InlayHintsRequest) => { return this.requiredResponse(this.provideInlayHints(request.arguments)); }, + [protocol.CommandTypes.MapCode]: (request: protocol.MapCodeRequest) => { + return this.requiredResponse(this.mapCode(request.arguments)); + }, })); public addProtocolHandler(command: string, handler: (request: protocol.Request) => HandlerResponse) { diff --git a/src/server/types.ts b/src/server/types.ts index 4a6aa56f7fb46..1ab26e0f20cf9 100644 --- a/src/server/types.ts +++ b/src/server/types.ts @@ -4,7 +4,7 @@ import { FileWatcherCallback, System, WatchOptions, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; export interface CompressedData { length: number; diff --git a/src/server/typingInstallerAdapter.ts b/src/server/typingInstallerAdapter.ts index 9470a17c0496e..5f8e90b7f837d 100644 --- a/src/server/typingInstallerAdapter.ts +++ b/src/server/typingInstallerAdapter.ts @@ -8,7 +8,7 @@ import { server, SortedReadonlyArray, TypeAcquisition, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; import { ActionInvalidate, ActionPackageInstalled, @@ -39,7 +39,7 @@ import { stringifyIndented, TypesRegistryResponse, TypingInstallerRequestUnion, -} from "./_namespaces/ts.server"; +} from "./_namespaces/ts.server.js"; /** @internal */ export interface TypingsInstallerWorkerProcess { diff --git a/src/server/typingsCache.ts b/src/server/typingsCache.ts index 726006c6cdf6e..daa3737344011 100644 --- a/src/server/typingsCache.ts +++ b/src/server/typingsCache.ts @@ -11,12 +11,12 @@ import { sort, SortedReadonlyArray, TypeAcquisition, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; import { emptyArray, Project, ProjectService, -} from "./_namespaces/ts.server"; +} from "./_namespaces/ts.server.js"; export interface InstallPackageOptionsWithProject extends InstallPackageOptions { projectName: string; diff --git a/src/server/utilities.ts b/src/server/utilities.ts index 088a2f9f16684..012270f5d14ad 100644 --- a/src/server/utilities.ts +++ b/src/server/utilities.ts @@ -5,13 +5,13 @@ import { identity, perfLogger, SortedArray, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; import { Logger, LogLevel, NormalizedPath, ServerHost, -} from "./_namespaces/ts.server"; +} from "./_namespaces/ts.server.js"; /** @internal */ export class ThrottledOperations { diff --git a/src/server/utilitiesPublic.ts b/src/server/utilitiesPublic.ts index ac8e0f3c131c3..c0ce5dfea1295 100644 --- a/src/server/utilitiesPublic.ts +++ b/src/server/utilitiesPublic.ts @@ -6,11 +6,11 @@ import { SortedArray, SortedReadonlyArray, TypeAcquisition, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; import { DiscoverTypings, Project, -} from "./_namespaces/ts.server"; +} from "./_namespaces/ts.server.js"; export enum LogLevel { terse, diff --git a/src/services/_namespaces/ts.BreakpointResolver.ts b/src/services/_namespaces/ts.BreakpointResolver.ts index 25d68e38408d2..4e74d10c32023 100644 --- a/src/services/_namespaces/ts.BreakpointResolver.ts +++ b/src/services/_namespaces/ts.BreakpointResolver.ts @@ -1,3 +1,3 @@ /* Generated file to emulate the ts.BreakpointResolver namespace. */ -export * from "../breakpoints"; +export * from "../breakpoints.js"; diff --git a/src/services/_namespaces/ts.CallHierarchy.ts b/src/services/_namespaces/ts.CallHierarchy.ts index 412260c0935f4..b1055790b5bdc 100644 --- a/src/services/_namespaces/ts.CallHierarchy.ts +++ b/src/services/_namespaces/ts.CallHierarchy.ts @@ -1,3 +1,3 @@ /* Generated file to emulate the ts.CallHierarchy namespace. */ -export * from "../callHierarchy"; +export * from "../callHierarchy.js"; diff --git a/src/services/_namespaces/ts.Completions.StringCompletions.ts b/src/services/_namespaces/ts.Completions.StringCompletions.ts index 23e0c06c32ffd..144208dacca1c 100644 --- a/src/services/_namespaces/ts.Completions.StringCompletions.ts +++ b/src/services/_namespaces/ts.Completions.StringCompletions.ts @@ -1,3 +1,3 @@ /* Generated file to emulate the ts.Completions.StringCompletions namespace. */ -export * from "../stringCompletions"; +export * from "../stringCompletions.js"; diff --git a/src/services/_namespaces/ts.Completions.ts b/src/services/_namespaces/ts.Completions.ts index bd0d6a8522511..0a644a6391168 100644 --- a/src/services/_namespaces/ts.Completions.ts +++ b/src/services/_namespaces/ts.Completions.ts @@ -1,5 +1,5 @@ /* Generated file to emulate the ts.Completions namespace. */ -export * from "../completions"; -import * as StringCompletions from "./ts.Completions.StringCompletions"; +export * from "../completions.js"; +import * as StringCompletions from "./ts.Completions.StringCompletions.js"; export { StringCompletions }; diff --git a/src/services/_namespaces/ts.FindAllReferences.ts b/src/services/_namespaces/ts.FindAllReferences.ts index a5325a82f0cc4..76f8567e81465 100644 --- a/src/services/_namespaces/ts.FindAllReferences.ts +++ b/src/services/_namespaces/ts.FindAllReferences.ts @@ -1,4 +1,4 @@ /* Generated file to emulate the ts.FindAllReferences namespace. */ -export * from "../importTracker"; -export * from "../findAllReferences"; +export * from "../importTracker.js"; +export * from "../findAllReferences.js"; diff --git a/src/services/_namespaces/ts.GoToDefinition.ts b/src/services/_namespaces/ts.GoToDefinition.ts index 41c12c0d1f1dc..04a5f473c4119 100644 --- a/src/services/_namespaces/ts.GoToDefinition.ts +++ b/src/services/_namespaces/ts.GoToDefinition.ts @@ -1,3 +1,3 @@ /* Generated file to emulate the ts.GoToDefinition namespace. */ -export * from "../goToDefinition"; +export * from "../goToDefinition.js"; diff --git a/src/services/_namespaces/ts.InlayHints.ts b/src/services/_namespaces/ts.InlayHints.ts index fd189d5732578..920473f13537d 100644 --- a/src/services/_namespaces/ts.InlayHints.ts +++ b/src/services/_namespaces/ts.InlayHints.ts @@ -1,3 +1,3 @@ /* Generated file to emulate the ts.InlayHints namespace. */ -export * from "../inlayHints"; +export * from "../inlayHints.js"; diff --git a/src/services/_namespaces/ts.JsDoc.ts b/src/services/_namespaces/ts.JsDoc.ts index 1572df70c3b20..e283c34ba63d6 100644 --- a/src/services/_namespaces/ts.JsDoc.ts +++ b/src/services/_namespaces/ts.JsDoc.ts @@ -1,3 +1,3 @@ /* Generated file to emulate the ts.JsDoc namespace. */ -export * from "../jsDoc"; +export * from "../jsDoc.js"; diff --git a/src/services/_namespaces/ts.MapCode.ts b/src/services/_namespaces/ts.MapCode.ts new file mode 100644 index 0000000000000..1ef9ddd0f1283 --- /dev/null +++ b/src/services/_namespaces/ts.MapCode.ts @@ -0,0 +1,3 @@ +/* Generated file to emulate the ts.MapCode namespace. */ + +export * from "../mapCode.js"; diff --git a/src/services/_namespaces/ts.NavigateTo.ts b/src/services/_namespaces/ts.NavigateTo.ts index cf0e35ad1cf1c..ba6ef9d35f665 100644 --- a/src/services/_namespaces/ts.NavigateTo.ts +++ b/src/services/_namespaces/ts.NavigateTo.ts @@ -1,3 +1,3 @@ /* Generated file to emulate the ts.NavigateTo namespace. */ -export * from "../navigateTo"; +export * from "../navigateTo.js"; diff --git a/src/services/_namespaces/ts.NavigationBar.ts b/src/services/_namespaces/ts.NavigationBar.ts index ad1c32d373d63..46d2b628078d2 100644 --- a/src/services/_namespaces/ts.NavigationBar.ts +++ b/src/services/_namespaces/ts.NavigationBar.ts @@ -1,3 +1,3 @@ /* Generated file to emulate the ts.NavigationBar namespace. */ -export * from "../navigationBar"; +export * from "../navigationBar.js"; diff --git a/src/services/_namespaces/ts.OrganizeImports.ts b/src/services/_namespaces/ts.OrganizeImports.ts index 1a338fc8e12b1..f5f2c3e495954 100644 --- a/src/services/_namespaces/ts.OrganizeImports.ts +++ b/src/services/_namespaces/ts.OrganizeImports.ts @@ -1,3 +1,3 @@ /* Generated file to emulate the ts.OrganizeImports namespace. */ -export * from "../organizeImports"; +export * from "../organizeImports.js"; diff --git a/src/services/_namespaces/ts.OutliningElementsCollector.ts b/src/services/_namespaces/ts.OutliningElementsCollector.ts index b6b05f8f6772e..960464818a40d 100644 --- a/src/services/_namespaces/ts.OutliningElementsCollector.ts +++ b/src/services/_namespaces/ts.OutliningElementsCollector.ts @@ -1,3 +1,3 @@ /* Generated file to emulate the ts.OutliningElementsCollector namespace. */ -export * from "../outliningElementsCollector"; +export * from "../outliningElementsCollector.js"; diff --git a/src/services/_namespaces/ts.PasteEdits.ts b/src/services/_namespaces/ts.PasteEdits.ts new file mode 100644 index 0000000000000..b9a30dec6f501 --- /dev/null +++ b/src/services/_namespaces/ts.PasteEdits.ts @@ -0,0 +1 @@ +export * from "../pasteEdits.js"; diff --git a/src/services/_namespaces/ts.Rename.ts b/src/services/_namespaces/ts.Rename.ts index e587684f8e689..de87aac59ebf3 100644 --- a/src/services/_namespaces/ts.Rename.ts +++ b/src/services/_namespaces/ts.Rename.ts @@ -1,3 +1,3 @@ /* Generated file to emulate the ts.Rename namespace. */ -export * from "../rename"; +export * from "../rename.js"; diff --git a/src/services/_namespaces/ts.SignatureHelp.ts b/src/services/_namespaces/ts.SignatureHelp.ts index c87bf5c7e8d14..592b993aab81b 100644 --- a/src/services/_namespaces/ts.SignatureHelp.ts +++ b/src/services/_namespaces/ts.SignatureHelp.ts @@ -1,3 +1,3 @@ /* Generated file to emulate the ts.SignatureHelp namespace. */ -export * from "../signatureHelp"; +export * from "../signatureHelp.js"; diff --git a/src/services/_namespaces/ts.SmartSelectionRange.ts b/src/services/_namespaces/ts.SmartSelectionRange.ts index f90161430d9b0..1e14c3b606ec9 100644 --- a/src/services/_namespaces/ts.SmartSelectionRange.ts +++ b/src/services/_namespaces/ts.SmartSelectionRange.ts @@ -1,3 +1,3 @@ /* Generated file to emulate the ts.SmartSelectionRange namespace. */ -export * from "../smartSelection"; +export * from "../smartSelection.js"; diff --git a/src/services/_namespaces/ts.SymbolDisplay.ts b/src/services/_namespaces/ts.SymbolDisplay.ts index fcb8050c44372..851401ae7f32e 100644 --- a/src/services/_namespaces/ts.SymbolDisplay.ts +++ b/src/services/_namespaces/ts.SymbolDisplay.ts @@ -1,3 +1,3 @@ /* Generated file to emulate the ts.SymbolDisplay namespace. */ -export * from "../symbolDisplay"; +export * from "../symbolDisplay.js"; diff --git a/src/services/_namespaces/ts.classifier.ts b/src/services/_namespaces/ts.classifier.ts index 34bc4e52196cc..fda72f72284f1 100644 --- a/src/services/_namespaces/ts.classifier.ts +++ b/src/services/_namespaces/ts.classifier.ts @@ -1,4 +1,4 @@ /* Generated file to emulate the ts.classifier namespace. */ -import * as v2020 from "./ts.classifier.v2020"; +import * as v2020 from "./ts.classifier.v2020.js"; export { v2020 }; diff --git a/src/services/_namespaces/ts.classifier.v2020.ts b/src/services/_namespaces/ts.classifier.v2020.ts index 361c15f82351b..c4410e139a621 100644 --- a/src/services/_namespaces/ts.classifier.v2020.ts +++ b/src/services/_namespaces/ts.classifier.v2020.ts @@ -1,3 +1,3 @@ /* Generated file to emulate the ts.classifier.v2020 namespace. */ -export * from "../classifier2020"; +export * from "../classifier2020.js"; diff --git a/src/services/_namespaces/ts.codefix.ts b/src/services/_namespaces/ts.codefix.ts index b4b2dd37846e0..988323bd6a885 100644 --- a/src/services/_namespaces/ts.codefix.ts +++ b/src/services/_namespaces/ts.codefix.ts @@ -1,75 +1,75 @@ /* Generated file to emulate the ts.codefix namespace. */ -export * from "../codeFixProvider"; -export * from "../codefixes/addConvertToUnknownForNonOverlappingTypes"; -export * from "../codefixes/addEmptyExportDeclaration"; -export * from "../codefixes/addMissingAsync"; -export * from "../codefixes/addMissingAwait"; -export * from "../codefixes/addMissingConst"; -export * from "../codefixes/addMissingDeclareProperty"; -export * from "../codefixes/addMissingInvocationForDecorator"; -export * from "../codefixes/addNameToNamelessParameter"; -export * from "../codefixes/addOptionalPropertyUndefined"; -export * from "../codefixes/annotateWithTypeFromJSDoc"; -export * from "../codefixes/convertFunctionToEs6Class"; -export * from "../codefixes/convertToAsyncFunction"; -export * from "../codefixes/convertToEsModule"; -export * from "../codefixes/correctQualifiedNameToIndexedAccessType"; -export * from "../codefixes/convertToTypeOnlyExport"; -export * from "../codefixes/convertToTypeOnlyImport"; -export * from "../codefixes/convertTypedefToType"; -export * from "../codefixes/convertLiteralTypeToMappedType"; -export * from "../codefixes/fixClassIncorrectlyImplementsInterface"; -export * from "../codefixes/importFixes"; -export * from "../codefixes/fixAddMissingConstraint"; -export * from "../codefixes/fixOverrideModifier"; -export * from "../codefixes/fixNoPropertyAccessFromIndexSignature"; -export * from "../codefixes/fixImplicitThis"; -export * from "../codefixes/fixImportNonExportedMember"; -export * from "../codefixes/fixIncorrectNamedTupleSyntax"; -export * from "../codefixes/fixSpelling"; -export * from "../codefixes/returnValueCorrect"; -export * from "../codefixes/fixAddMissingMember"; -export * from "../codefixes/fixAddMissingNewOperator"; -export * from "../codefixes/fixAddMissingParam"; -export * from "../codefixes/fixCannotFindModule"; -export * from "../codefixes/fixClassDoesntImplementInheritedAbstractMember"; -export * from "../codefixes/fixClassSuperMustPrecedeThisAccess"; -export * from "../codefixes/fixConstructorForDerivedNeedSuperCall"; -export * from "../codefixes/fixEnableJsxFlag"; -export * from "../codefixes/fixNaNEquality"; -export * from "../codefixes/fixModuleAndTargetOptions"; -export * from "../codefixes/fixPropertyAssignment"; -export * from "../codefixes/fixExtendsInterfaceBecomesImplements"; -export * from "../codefixes/fixForgottenThisPropertyAccess"; -export * from "../codefixes/fixInvalidJsxCharacters"; -export * from "../codefixes/fixUnmatchedParameter"; -export * from "../codefixes/fixUnreferenceableDecoratorMetadata"; -export * from "../codefixes/fixUnusedIdentifier"; -export * from "../codefixes/fixUnreachableCode"; -export * from "../codefixes/fixUnusedLabel"; -export * from "../codefixes/fixJSDocTypes"; -export * from "../codefixes/fixMissingCallParentheses"; -export * from "../codefixes/fixMissingTypeAnnotationOnExports"; -export * from "../codefixes/fixAwaitInSyncFunction"; -export * from "../codefixes/fixPropertyOverrideAccessor"; -export * from "../codefixes/inferFromUsage"; -export * from "../codefixes/fixReturnTypeInAsyncFunction"; -export * from "../codefixes/disableJsDiagnostics"; -export * from "../codefixes/helpers"; -export * from "../codefixes/generateAccessors"; -export * from "../codefixes/fixInvalidImportSyntax"; -export * from "../codefixes/fixStrictClassInitialization"; -export * from "../codefixes/requireInTs"; -export * from "../codefixes/useDefaultImport"; -export * from "../codefixes/useBigintLiteral"; -export * from "../codefixes/fixAddModuleReferTypeMissingTypeof"; -export * from "../codefixes/wrapJsxInFragment"; -export * from "../codefixes/wrapDecoratorInParentheses"; -export * from "../codefixes/convertToMappedObjectType"; -export * from "../codefixes/removeAccidentalCallParentheses"; -export * from "../codefixes/removeUnnecessaryAwait"; -export * from "../codefixes/splitTypeOnlyImport"; -export * from "../codefixes/convertConstToLet"; -export * from "../codefixes/fixExpectedComma"; -export * from "../codefixes/fixAddVoidToPromise"; +export * from "../codeFixProvider.js"; +export * from "../codefixes/addConvertToUnknownForNonOverlappingTypes.js"; +export * from "../codefixes/addEmptyExportDeclaration.js"; +export * from "../codefixes/addMissingAsync.js"; +export * from "../codefixes/addMissingAwait.js"; +export * from "../codefixes/addMissingConst.js"; +export * from "../codefixes/addMissingDeclareProperty.js"; +export * from "../codefixes/addMissingInvocationForDecorator.js"; +export * from "../codefixes/addNameToNamelessParameter.js"; +export * from "../codefixes/addOptionalPropertyUndefined.js"; +export * from "../codefixes/annotateWithTypeFromJSDoc.js"; +export * from "../codefixes/convertFunctionToEs6Class.js"; +export * from "../codefixes/convertToAsyncFunction.js"; +export * from "../codefixes/convertToEsModule.js"; +export * from "../codefixes/correctQualifiedNameToIndexedAccessType.js"; +export * from "../codefixes/convertToTypeOnlyExport.js"; +export * from "../codefixes/convertToTypeOnlyImport.js"; +export * from "../codefixes/convertTypedefToType.js"; +export * from "../codefixes/convertLiteralTypeToMappedType.js"; +export * from "../codefixes/fixClassIncorrectlyImplementsInterface.js"; +export * from "../codefixes/importFixes.js"; +export * from "../codefixes/fixAddMissingConstraint.js"; +export * from "../codefixes/fixOverrideModifier.js"; +export * from "../codefixes/fixNoPropertyAccessFromIndexSignature.js"; +export * from "../codefixes/fixImplicitThis.js"; +export * from "../codefixes/fixImportNonExportedMember.js"; +export * from "../codefixes/fixIncorrectNamedTupleSyntax.js"; +export * from "../codefixes/fixSpelling.js"; +export * from "../codefixes/returnValueCorrect.js"; +export * from "../codefixes/fixAddMissingMember.js"; +export * from "../codefixes/fixAddMissingNewOperator.js"; +export * from "../codefixes/fixAddMissingParam.js"; +export * from "../codefixes/fixCannotFindModule.js"; +export * from "../codefixes/fixClassDoesntImplementInheritedAbstractMember.js"; +export * from "../codefixes/fixClassSuperMustPrecedeThisAccess.js"; +export * from "../codefixes/fixConstructorForDerivedNeedSuperCall.js"; +export * from "../codefixes/fixEnableJsxFlag.js"; +export * from "../codefixes/fixNaNEquality.js"; +export * from "../codefixes/fixModuleAndTargetOptions.js"; +export * from "../codefixes/fixPropertyAssignment.js"; +export * from "../codefixes/fixExtendsInterfaceBecomesImplements.js"; +export * from "../codefixes/fixForgottenThisPropertyAccess.js"; +export * from "../codefixes/fixInvalidJsxCharacters.js"; +export * from "../codefixes/fixUnmatchedParameter.js"; +export * from "../codefixes/fixUnreferenceableDecoratorMetadata.js"; +export * from "../codefixes/fixUnusedIdentifier.js"; +export * from "../codefixes/fixUnreachableCode.js"; +export * from "../codefixes/fixUnusedLabel.js"; +export * from "../codefixes/fixJSDocTypes.js"; +export * from "../codefixes/fixMissingCallParentheses.js"; +export * from "../codefixes/fixMissingTypeAnnotationOnExports.js"; +export * from "../codefixes/fixAwaitInSyncFunction.js"; +export * from "../codefixes/fixPropertyOverrideAccessor.js"; +export * from "../codefixes/inferFromUsage.js"; +export * from "../codefixes/fixReturnTypeInAsyncFunction.js"; +export * from "../codefixes/disableJsDiagnostics.js"; +export * from "../codefixes/helpers.js"; +export * from "../codefixes/generateAccessors.js"; +export * from "../codefixes/fixInvalidImportSyntax.js"; +export * from "../codefixes/fixStrictClassInitialization.js"; +export * from "../codefixes/requireInTs.js"; +export * from "../codefixes/useDefaultImport.js"; +export * from "../codefixes/useBigintLiteral.js"; +export * from "../codefixes/fixAddModuleReferTypeMissingTypeof.js"; +export * from "../codefixes/wrapJsxInFragment.js"; +export * from "../codefixes/wrapDecoratorInParentheses.js"; +export * from "../codefixes/convertToMappedObjectType.js"; +export * from "../codefixes/removeAccidentalCallParentheses.js"; +export * from "../codefixes/removeUnnecessaryAwait.js"; +export * from "../codefixes/splitTypeOnlyImport.js"; +export * from "../codefixes/convertConstToLet.js"; +export * from "../codefixes/fixExpectedComma.js"; +export * from "../codefixes/fixAddVoidToPromise.js"; diff --git a/src/services/_namespaces/ts.formatting.ts b/src/services/_namespaces/ts.formatting.ts index 72e03b2f7e915..bd1396e355176 100644 --- a/src/services/_namespaces/ts.formatting.ts +++ b/src/services/_namespaces/ts.formatting.ts @@ -1,9 +1,9 @@ /* Generated file to emulate the ts.formatting namespace. */ -export * from "../formatting/formattingContext"; -export * from "../formatting/formattingScanner"; -export * from "../formatting/rule"; -export * from "../formatting/rules"; -export * from "../formatting/rulesMap"; -export * from "../formatting/formatting"; -export * from "../formatting/smartIndenter"; +export * from "../formatting/formattingContext.js"; +export * from "../formatting/formattingScanner.js"; +export * from "../formatting/rule.js"; +export * from "../formatting/rules.js"; +export * from "../formatting/rulesMap.js"; +export * from "../formatting/formatting.js"; +export * from "../formatting/smartIndenter.js"; diff --git a/src/services/_namespaces/ts.refactor.addOrRemoveBracesToArrowFunction.ts b/src/services/_namespaces/ts.refactor.addOrRemoveBracesToArrowFunction.ts index 5dd00f2f63b86..6c5178ed60d8e 100644 --- a/src/services/_namespaces/ts.refactor.addOrRemoveBracesToArrowFunction.ts +++ b/src/services/_namespaces/ts.refactor.addOrRemoveBracesToArrowFunction.ts @@ -1,4 +1,4 @@ /* Generated file to emulate the ts.refactor.addOrRemoveBracesToArrowFunction namespace. */ -export * from "../refactors/convertOverloadListToSingleSignature"; -export * from "../refactors/addOrRemoveBracesToArrowFunction"; +export * from "../refactors/convertOverloadListToSingleSignature.js"; +export * from "../refactors/addOrRemoveBracesToArrowFunction.js"; diff --git a/src/services/_namespaces/ts.refactor.convertArrowFunctionOrFunctionExpression.ts b/src/services/_namespaces/ts.refactor.convertArrowFunctionOrFunctionExpression.ts index 48fb788058cd4..fc3c0762497e5 100644 --- a/src/services/_namespaces/ts.refactor.convertArrowFunctionOrFunctionExpression.ts +++ b/src/services/_namespaces/ts.refactor.convertArrowFunctionOrFunctionExpression.ts @@ -1,3 +1,3 @@ /* Generated file to emulate the ts.refactor.convertArrowFunctionOrFunctionExpression namespace. */ -export * from "../refactors/convertArrowFunctionOrFunctionExpression"; +export * from "../refactors/convertArrowFunctionOrFunctionExpression.js"; diff --git a/src/services/_namespaces/ts.refactor.convertParamsToDestructuredObject.ts b/src/services/_namespaces/ts.refactor.convertParamsToDestructuredObject.ts index 3cc94f5e9f048..488602adfab5f 100644 --- a/src/services/_namespaces/ts.refactor.convertParamsToDestructuredObject.ts +++ b/src/services/_namespaces/ts.refactor.convertParamsToDestructuredObject.ts @@ -1,3 +1,3 @@ /* Generated file to emulate the ts.refactor.convertParamsToDestructuredObject namespace. */ -export * from "../refactors/convertParamsToDestructuredObject"; +export * from "../refactors/convertParamsToDestructuredObject.js"; diff --git a/src/services/_namespaces/ts.refactor.convertStringOrTemplateLiteral.ts b/src/services/_namespaces/ts.refactor.convertStringOrTemplateLiteral.ts index e084befebaafc..ba98999f2afa2 100644 --- a/src/services/_namespaces/ts.refactor.convertStringOrTemplateLiteral.ts +++ b/src/services/_namespaces/ts.refactor.convertStringOrTemplateLiteral.ts @@ -1,3 +1,3 @@ /* Generated file to emulate the ts.refactor.convertStringOrTemplateLiteral namespace. */ -export * from "../refactors/convertStringOrTemplateLiteral"; +export * from "../refactors/convertStringOrTemplateLiteral.js"; diff --git a/src/services/_namespaces/ts.refactor.convertToOptionalChainExpression.ts b/src/services/_namespaces/ts.refactor.convertToOptionalChainExpression.ts index d8b0ab31eabaa..f6eabd9e28e61 100644 --- a/src/services/_namespaces/ts.refactor.convertToOptionalChainExpression.ts +++ b/src/services/_namespaces/ts.refactor.convertToOptionalChainExpression.ts @@ -1,3 +1,3 @@ /* Generated file to emulate the ts.refactor.convertToOptionalChainExpression namespace. */ -export * from "../refactors/convertToOptionalChainExpression"; +export * from "../refactors/convertToOptionalChainExpression.js"; diff --git a/src/services/_namespaces/ts.refactor.extractSymbol.ts b/src/services/_namespaces/ts.refactor.extractSymbol.ts index c71cacd346c4d..1a0fb218580eb 100644 --- a/src/services/_namespaces/ts.refactor.extractSymbol.ts +++ b/src/services/_namespaces/ts.refactor.extractSymbol.ts @@ -1,3 +1,3 @@ /* Generated file to emulate the ts.refactor.extractSymbol namespace. */ -export * from "../refactors/extractSymbol"; +export * from "../refactors/extractSymbol.js"; diff --git a/src/services/_namespaces/ts.refactor.generateGetAccessorAndSetAccessor.ts b/src/services/_namespaces/ts.refactor.generateGetAccessorAndSetAccessor.ts index 8128f0cb6cb0e..961e779e74e2d 100644 --- a/src/services/_namespaces/ts.refactor.generateGetAccessorAndSetAccessor.ts +++ b/src/services/_namespaces/ts.refactor.generateGetAccessorAndSetAccessor.ts @@ -1,3 +1,3 @@ /* Generated file to emulate the ts.refactor.generateGetAccessorAndSetAccessor namespace. */ -export * from "../refactors/generateGetAccessorAndSetAccessor"; +export * from "../refactors/generateGetAccessorAndSetAccessor.js"; diff --git a/src/services/_namespaces/ts.refactor.inferFunctionReturnType.ts b/src/services/_namespaces/ts.refactor.inferFunctionReturnType.ts index 3dd2e0a9b04ad..36262dc39371b 100644 --- a/src/services/_namespaces/ts.refactor.inferFunctionReturnType.ts +++ b/src/services/_namespaces/ts.refactor.inferFunctionReturnType.ts @@ -1,3 +1,3 @@ /* Generated file to emulate the ts.refactor.inferFunctionReturnType namespace. */ -export * from "../refactors/inferFunctionReturnType"; +export * from "../refactors/inferFunctionReturnType.js"; diff --git a/src/services/_namespaces/ts.refactor.ts b/src/services/_namespaces/ts.refactor.ts index e397f484766ba..e0b976da62f2e 100644 --- a/src/services/_namespaces/ts.refactor.ts +++ b/src/services/_namespaces/ts.refactor.ts @@ -1,26 +1,26 @@ /* Generated file to emulate the ts.refactor namespace. */ -export * from "../refactorProvider"; -export * from "../refactors/convertExport"; -export * from "../refactors/convertImport"; -export * from "../refactors/extractType"; -export * from "../refactors/helpers"; -export * from "../refactors/inlineVariable"; -export * from "../refactors/moveToNewFile"; -export * from "../refactors/moveToFile"; -import * as addOrRemoveBracesToArrowFunction from "./ts.refactor.addOrRemoveBracesToArrowFunction"; +export * from "../refactorProvider.js"; +export * from "../refactors/convertExport.js"; +export * from "../refactors/convertImport.js"; +export * from "../refactors/extractType.js"; +export * from "../refactors/helpers.js"; +export * from "../refactors/inlineVariable.js"; +export * from "../refactors/moveToNewFile.js"; +export * from "../refactors/moveToFile.js"; +import * as addOrRemoveBracesToArrowFunction from "./ts.refactor.addOrRemoveBracesToArrowFunction.js"; export { addOrRemoveBracesToArrowFunction }; -import * as convertArrowFunctionOrFunctionExpression from "./ts.refactor.convertArrowFunctionOrFunctionExpression"; +import * as convertArrowFunctionOrFunctionExpression from "./ts.refactor.convertArrowFunctionOrFunctionExpression.js"; export { convertArrowFunctionOrFunctionExpression }; -import * as convertParamsToDestructuredObject from "./ts.refactor.convertParamsToDestructuredObject"; +import * as convertParamsToDestructuredObject from "./ts.refactor.convertParamsToDestructuredObject.js"; export { convertParamsToDestructuredObject }; -import * as convertStringOrTemplateLiteral from "./ts.refactor.convertStringOrTemplateLiteral"; +import * as convertStringOrTemplateLiteral from "./ts.refactor.convertStringOrTemplateLiteral.js"; export { convertStringOrTemplateLiteral }; -import * as convertToOptionalChainExpression from "./ts.refactor.convertToOptionalChainExpression"; +import * as convertToOptionalChainExpression from "./ts.refactor.convertToOptionalChainExpression.js"; export { convertToOptionalChainExpression }; -import * as extractSymbol from "./ts.refactor.extractSymbol"; +import * as extractSymbol from "./ts.refactor.extractSymbol.js"; export { extractSymbol }; -import * as generateGetAccessorAndSetAccessor from "./ts.refactor.generateGetAccessorAndSetAccessor"; +import * as generateGetAccessorAndSetAccessor from "./ts.refactor.generateGetAccessorAndSetAccessor.js"; export { generateGetAccessorAndSetAccessor }; -import * as inferFunctionReturnType from "./ts.refactor.inferFunctionReturnType"; +import * as inferFunctionReturnType from "./ts.refactor.inferFunctionReturnType.js"; export { inferFunctionReturnType }; diff --git a/src/services/_namespaces/ts.textChanges.ts b/src/services/_namespaces/ts.textChanges.ts index 12a272788fd09..5e3ec149c9f35 100644 --- a/src/services/_namespaces/ts.textChanges.ts +++ b/src/services/_namespaces/ts.textChanges.ts @@ -1,3 +1,3 @@ /* Generated file to emulate the ts.textChanges namespace. */ -export * from "../textChanges"; +export * from "../textChanges.js"; diff --git a/src/services/_namespaces/ts.ts b/src/services/_namespaces/ts.ts index e30ea818a04b5..b98a2f743cf59 100644 --- a/src/services/_namespaces/ts.ts +++ b/src/services/_namespaces/ts.ts @@ -1,58 +1,62 @@ /* Generated file to emulate the ts namespace. */ -export * from "../../compiler/_namespaces/ts"; -export * from "../../jsTyping/_namespaces/ts"; -export * from "../types"; -export * from "../utilities"; -export * from "../exportInfoMap"; -export * from "../classifier"; -export * from "../documentHighlights"; -export * from "../documentRegistry"; -export * from "../getEditsForFileRename"; -export * from "../patternMatcher"; -export * from "../preProcess"; -export * from "../sourcemaps"; -export * from "../suggestionDiagnostics"; -export * from "../transpile"; -export * from "../services"; -export * from "../transform"; -import * as BreakpointResolver from "./ts.BreakpointResolver"; +export * from "../../compiler/_namespaces/ts.js"; +export * from "../../jsTyping/_namespaces/ts.js"; +export * from "../types.js"; +export * from "../utilities.js"; +export * from "../exportInfoMap.js"; +export * from "../classifier.js"; +export * from "../documentHighlights.js"; +export * from "../documentRegistry.js"; +export * from "../getEditsForFileRename.js"; +export * from "../patternMatcher.js"; +export * from "../preProcess.js"; +export * from "../sourcemaps.js"; +export * from "../suggestionDiagnostics.js"; +export * from "../transpile.js"; +export * from "../services.js"; +export * from "../transform.js"; +import * as BreakpointResolver from "./ts.BreakpointResolver.js"; export { BreakpointResolver }; -import * as CallHierarchy from "./ts.CallHierarchy"; +import * as CallHierarchy from "./ts.CallHierarchy.js"; export { CallHierarchy }; -import * as classifier from "./ts.classifier"; +import * as classifier from "./ts.classifier.js"; export { classifier }; -import * as codefix from "./ts.codefix"; +import * as codefix from "./ts.codefix.js"; export { codefix }; -import * as Completions from "./ts.Completions"; +import * as Completions from "./ts.Completions.js"; export { Completions }; -import * as FindAllReferences from "./ts.FindAllReferences"; +import * as FindAllReferences from "./ts.FindAllReferences.js"; export { FindAllReferences }; -import * as GoToDefinition from "./ts.GoToDefinition"; +import * as GoToDefinition from "./ts.GoToDefinition.js"; export { GoToDefinition }; -import * as InlayHints from "./ts.InlayHints"; +import * as InlayHints from "./ts.InlayHints.js"; export { InlayHints }; -import * as JsDoc from "./ts.JsDoc"; +import * as JsDoc from "./ts.JsDoc.js"; +import * as MapCode from "./ts.MapCode.js"; +export { MapCode }; export { JsDoc }; -import * as NavigateTo from "./ts.NavigateTo"; +import * as NavigateTo from "./ts.NavigateTo.js"; export { NavigateTo }; -import * as NavigationBar from "./ts.NavigationBar"; +import * as NavigationBar from "./ts.NavigationBar.js"; export { NavigationBar }; -import * as OrganizeImports from "./ts.OrganizeImports"; +import * as OrganizeImports from "./ts.OrganizeImports.js"; export { OrganizeImports }; -import * as OutliningElementsCollector from "./ts.OutliningElementsCollector"; +import * as OutliningElementsCollector from "./ts.OutliningElementsCollector.js"; export { OutliningElementsCollector }; -import * as refactor from "./ts.refactor"; +import * as refactor from "./ts.refactor.js"; export { refactor }; -import * as Rename from "./ts.Rename"; +import * as Rename from "./ts.Rename.js"; export { Rename }; -import * as SignatureHelp from "./ts.SignatureHelp"; +import * as SignatureHelp from "./ts.SignatureHelp.js"; export { SignatureHelp }; -import * as SmartSelectionRange from "./ts.SmartSelectionRange"; +import * as SmartSelectionRange from "./ts.SmartSelectionRange.js"; export { SmartSelectionRange }; -import * as SymbolDisplay from "./ts.SymbolDisplay"; +import * as SymbolDisplay from "./ts.SymbolDisplay.js"; export { SymbolDisplay }; -import * as textChanges from "./ts.textChanges"; +import * as textChanges from "./ts.textChanges.js"; export { textChanges }; -import * as formatting from "./ts.formatting"; +import * as formatting from "./ts.formatting.js"; export { formatting }; +import * as pasteEdits from "./ts.PasteEdits.js"; +export { pasteEdits }; diff --git a/src/services/breakpoints.ts b/src/services/breakpoints.ts index 8963a5dcf0d73..17d20da69ee92 100644 --- a/src/services/breakpoints.ts +++ b/src/services/breakpoints.ts @@ -70,7 +70,7 @@ import { VariableStatement, WhileStatement, WithStatement, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; /** * Get the breakpoint span in given sourceFile diff --git a/src/services/callHierarchy.ts b/src/services/callHierarchy.ts index 6b354cbde9d73..77a3b4698e2c0 100644 --- a/src/services/callHierarchy.ts +++ b/src/services/callHierarchy.ts @@ -105,7 +105,7 @@ import { TypeChecker, usingSingleLineStringWriter, VariableDeclaration, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; /** @internal */ export type NamedExpression = diff --git a/src/services/classifier.ts b/src/services/classifier.ts index df9b7d3e14880..0e9e509edcaa7 100644 --- a/src/services/classifier.ts +++ b/src/services/classifier.ts @@ -75,7 +75,7 @@ import { TokenClass, TypeChecker, TypeParameterDeclaration, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; /** The classifier is used for syntactic highlighting in editors via the TSServer */ export function createClassifier(): Classifier { diff --git a/src/services/classifier2020.ts b/src/services/classifier2020.ts index 1fa90584974f5..529b0adc03563 100644 --- a/src/services/classifier2020.ts +++ b/src/services/classifier2020.ts @@ -43,7 +43,7 @@ import { Type, TypeChecker, VariableDeclaration, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; /** @internal */ export const enum TokenEncodingConsts { diff --git a/src/services/codeFixProvider.ts b/src/services/codeFixProvider.ts index 2e2282afbc6e1..686a96dea6c8e 100644 --- a/src/services/codeFixProvider.ts +++ b/src/services/codeFixProvider.ts @@ -23,7 +23,7 @@ import { map, TextChange, textChanges, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; const errorCodeToFixes = createMultiMap(); const fixIdToRegistration = new Map(); diff --git a/src/services/codefixes/addConvertToUnknownForNonOverlappingTypes.ts b/src/services/codefixes/addConvertToUnknownForNonOverlappingTypes.ts index 4b27aee72c953..942cb05ffb687 100644 --- a/src/services/codefixes/addConvertToUnknownForNonOverlappingTypes.ts +++ b/src/services/codefixes/addConvertToUnknownForNonOverlappingTypes.ts @@ -1,3 +1,8 @@ +import { + codeFixAll, + createCodeFixAction, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { AsExpression, Diagnostics, @@ -11,12 +16,7 @@ import { SyntaxKind, textChanges, TypeAssertion, -} from "../_namespaces/ts"; -import { - codeFixAll, - createCodeFixAction, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const fixId = "addConvertToUnknownForNonOverlappingTypes"; const errorCodes = [Diagnostics.Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the_other_If_this_was_intentional_convert_the_expression_to_unknown_first.code]; diff --git a/src/services/codefixes/addEmptyExportDeclaration.ts b/src/services/codefixes/addEmptyExportDeclaration.ts index d1c9bbf9a6e54..6241d9841c4e1 100644 --- a/src/services/codefixes/addEmptyExportDeclaration.ts +++ b/src/services/codefixes/addEmptyExportDeclaration.ts @@ -1,12 +1,12 @@ +import { + createCodeFixActionWithoutFixAll, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { Diagnostics, factory, textChanges, -} from "../_namespaces/ts"; -import { - createCodeFixActionWithoutFixAll, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; registerCodeFix({ errorCodes: [ diff --git a/src/services/codefixes/addMissingAsync.ts b/src/services/codefixes/addMissingAsync.ts index 39a6f97c8bacd..9afd41691787a 100644 --- a/src/services/codefixes/addMissingAsync.ts +++ b/src/services/codefixes/addMissingAsync.ts @@ -1,3 +1,8 @@ +import { + codeFixAll, + createCodeFixAction, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { ArrowFunction, CodeFixAllContext, @@ -28,12 +33,7 @@ import { TextSpan, textSpanEnd, textSpansEqual, -} from "../_namespaces/ts"; -import { - codeFixAll, - createCodeFixAction, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; type ContextualTrackChangesFunction = (cb: (changeTracker: textChanges.ChangeTracker) => void) => FileTextChanges[]; const fixId = "addMissingAsync"; diff --git a/src/services/codefixes/addMissingAwait.ts b/src/services/codefixes/addMissingAwait.ts index 61c2692b3a8b5..0fc96ba514b37 100644 --- a/src/services/codefixes/addMissingAwait.ts +++ b/src/services/codefixes/addMissingAwait.ts @@ -1,3 +1,9 @@ +import { + codeFixAll, + createCodeFixAction, + createCodeFixActionWithoutFixAll, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { CancellationToken, CodeFixAllContext, @@ -44,13 +50,7 @@ import { tryCast, TypeChecker, TypeFlags, -} from "../_namespaces/ts"; -import { - codeFixAll, - createCodeFixAction, - createCodeFixActionWithoutFixAll, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; type ContextualTrackChangesFunction = (cb: (changeTracker: textChanges.ChangeTracker) => void) => FileTextChanges[]; const fixId = "addMissingAwait"; diff --git a/src/services/codefixes/addMissingConst.ts b/src/services/codefixes/addMissingConst.ts index 87adb892cd9f6..17340f6eafc3d 100644 --- a/src/services/codefixes/addMissingConst.ts +++ b/src/services/codefixes/addMissingConst.ts @@ -1,3 +1,8 @@ +import { + codeFixAll, + createCodeFixAction, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { Diagnostics, every, @@ -17,12 +22,7 @@ import { textChanges, tryAddToSet, TypeChecker, -} from "../_namespaces/ts"; -import { - codeFixAll, - createCodeFixAction, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const fixId = "addMissingConst"; const errorCodes = [ diff --git a/src/services/codefixes/addMissingDeclareProperty.ts b/src/services/codefixes/addMissingDeclareProperty.ts index e78a76e25e96d..598195c23d192 100644 --- a/src/services/codefixes/addMissingDeclareProperty.ts +++ b/src/services/codefixes/addMissingDeclareProperty.ts @@ -1,3 +1,8 @@ +import { + codeFixAll, + createCodeFixAction, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { Diagnostics, getTokenAtPosition, @@ -7,12 +12,7 @@ import { SyntaxKind, textChanges, tryAddToSet, -} from "../_namespaces/ts"; -import { - codeFixAll, - createCodeFixAction, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const fixId = "addMissingDeclareProperty"; const errorCodes = [ diff --git a/src/services/codefixes/addMissingInvocationForDecorator.ts b/src/services/codefixes/addMissingInvocationForDecorator.ts index 330757c9fa76f..020768dc8540a 100644 --- a/src/services/codefixes/addMissingInvocationForDecorator.ts +++ b/src/services/codefixes/addMissingInvocationForDecorator.ts @@ -1,3 +1,8 @@ +import { + codeFixAll, + createCodeFixAction, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { Debug, Diagnostics, @@ -7,12 +12,7 @@ import { isDecorator, SourceFile, textChanges, -} from "../_namespaces/ts"; -import { - codeFixAll, - createCodeFixAction, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const fixId = "addMissingInvocationForDecorator"; const errorCodes = [Diagnostics._0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write_0.code]; diff --git a/src/services/codefixes/addNameToNamelessParameter.ts b/src/services/codefixes/addNameToNamelessParameter.ts index ca55406e9ca96..d8e5e24e1cdd6 100644 --- a/src/services/codefixes/addNameToNamelessParameter.ts +++ b/src/services/codefixes/addNameToNamelessParameter.ts @@ -1,3 +1,8 @@ +import { + codeFixAll, + createCodeFixAction, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { createRange, Debug, @@ -14,12 +19,7 @@ import { SyntaxKind, textChanges, TypeNode, -} from "../_namespaces/ts"; -import { - codeFixAll, - createCodeFixAction, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const fixId = "addNameToNamelessParameter"; const errorCodes = [Diagnostics.Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1.code]; diff --git a/src/services/codefixes/addOptionalPropertyUndefined.ts b/src/services/codefixes/addOptionalPropertyUndefined.ts index 4b584c3f617ca..cb33ed9d5fa98 100644 --- a/src/services/codefixes/addOptionalPropertyUndefined.ts +++ b/src/services/codefixes/addOptionalPropertyUndefined.ts @@ -1,3 +1,7 @@ +import { + createCodeFixActionWithoutFixAll, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { Diagnostics, emptyArray, @@ -26,11 +30,7 @@ import { TextSpan, TypeChecker, UnionTypeNode, -} from "../_namespaces/ts"; -import { - createCodeFixActionWithoutFixAll, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const addOptionalPropertyUndefined = "addOptionalPropertyUndefined"; diff --git a/src/services/codefixes/annotateWithTypeFromJSDoc.ts b/src/services/codefixes/annotateWithTypeFromJSDoc.ts index a73a19abffe60..72a9cd7d19297 100644 --- a/src/services/codefixes/annotateWithTypeFromJSDoc.ts +++ b/src/services/codefixes/annotateWithTypeFromJSDoc.ts @@ -1,3 +1,8 @@ +import { + codeFixAll, + createCodeFixAction, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { Debug, Diagnostics, @@ -40,12 +45,7 @@ import { visitEachChild, visitNode, visitNodes, -} from "../_namespaces/ts"; -import { - codeFixAll, - createCodeFixAction, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const fixId = "annotateWithTypeFromJSDoc"; const errorCodes = [Diagnostics.JSDoc_types_may_be_moved_to_TypeScript_types.code]; diff --git a/src/services/codefixes/convertConstToLet.ts b/src/services/codefixes/convertConstToLet.ts index fb1cefbc859b3..8497cb2ee8053 100644 --- a/src/services/codefixes/convertConstToLet.ts +++ b/src/services/codefixes/convertConstToLet.ts @@ -1,3 +1,9 @@ +import { + createCodeFixActionMaybeFixAll, + createCombinedCodeActions, + eachDiagnostic, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { addToSeen, Diagnostics, @@ -13,13 +19,7 @@ import { textChanges, Token, tryCast, -} from "../_namespaces/ts"; -import { - createCodeFixActionMaybeFixAll, - createCombinedCodeActions, - eachDiagnostic, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const fixId = "fixConvertConstToLet"; const errorCodes = [Diagnostics.Cannot_assign_to_0_because_it_is_a_constant.code]; diff --git a/src/services/codefixes/convertFunctionToEs6Class.ts b/src/services/codefixes/convertFunctionToEs6Class.ts index 92d1c85f269f6..56fdaeec81da2 100644 --- a/src/services/codefixes/convertFunctionToEs6Class.ts +++ b/src/services/codefixes/convertFunctionToEs6Class.ts @@ -1,3 +1,8 @@ +import { + codeFixAll, + createCodeFixAction, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { __String, AccessExpression, @@ -60,12 +65,7 @@ import { TypeChecker, UserPreferences, VariableDeclaration, -} from "../_namespaces/ts"; -import { - codeFixAll, - createCodeFixAction, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const fixId = "convertFunctionToEs6Class"; const errorCodes = [Diagnostics.This_constructor_function_may_be_converted_to_a_class_declaration.code]; diff --git a/src/services/codefixes/convertLiteralTypeToMappedType.ts b/src/services/codefixes/convertLiteralTypeToMappedType.ts index bde76824b8ce6..1811087c077c4 100644 --- a/src/services/codefixes/convertLiteralTypeToMappedType.ts +++ b/src/services/codefixes/convertLiteralTypeToMappedType.ts @@ -1,3 +1,8 @@ +import { + codeFixAll, + createCodeFixAction, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { cast, Diagnostics, @@ -10,12 +15,7 @@ import { textChanges, TypeLiteralNode, TypeNode, -} from "../_namespaces/ts"; -import { - codeFixAll, - createCodeFixAction, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const fixId = "convertLiteralTypeToMappedType"; const errorCodes = [Diagnostics._0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0.code]; diff --git a/src/services/codefixes/convertToAsyncFunction.ts b/src/services/codefixes/convertToAsyncFunction.ts index cb122865c66ac..07ac83e40ea19 100644 --- a/src/services/codefixes/convertToAsyncFunction.ts +++ b/src/services/codefixes/convertToAsyncFunction.ts @@ -1,3 +1,8 @@ +import { + codeFixAll, + createCodeFixAction, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { ArrowFunction, AwaitExpression, @@ -77,12 +82,7 @@ import { TypeNode, TypeReference, UnionReduction, -} from "../_namespaces/ts"; -import { - codeFixAll, - createCodeFixAction, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const fixId = "convertToAsyncFunction"; const errorCodes = [Diagnostics.This_may_be_converted_to_an_async_function.code]; diff --git a/src/services/codefixes/convertToEsModule.ts b/src/services/codefixes/convertToEsModule.ts index b78669dc244a0..02d1a5f930114 100644 --- a/src/services/codefixes/convertToEsModule.ts +++ b/src/services/codefixes/convertToEsModule.ts @@ -1,3 +1,7 @@ +import { + createCodeFixActionWithoutFixAll, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { __String, arrayFrom, @@ -54,6 +58,7 @@ import { mapIterator, MethodDeclaration, Modifier, + moduleSpecifierToValidIdentifier, Node, NodeArray, NodeFlags, @@ -74,12 +79,7 @@ import { textChanges, TypeChecker, VariableStatement, -} from "../_namespaces/ts"; -import { - createCodeFixActionWithoutFixAll, - moduleSpecifierToValidIdentifier, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; registerCodeFix({ errorCodes: [Diagnostics.File_is_a_CommonJS_module_it_may_be_converted_to_an_ES_module.code], @@ -106,7 +106,7 @@ function fixImportOfModuleExports( quotePreference: QuotePreference, ) { for (const moduleSpecifier of importingFile.imports) { - const imported = program.getResolvedModuleFromModuleSpecifier(moduleSpecifier)?.resolvedModule; + const imported = program.getResolvedModuleFromModuleSpecifier(moduleSpecifier, importingFile)?.resolvedModule; if (!imported || imported.resolvedFileName !== exportingFile.fileName) { continue; } diff --git a/src/services/codefixes/convertToMappedObjectType.ts b/src/services/codefixes/convertToMappedObjectType.ts index f07987f258c6b..c4330112e8100 100644 --- a/src/services/codefixes/convertToMappedObjectType.ts +++ b/src/services/codefixes/convertToMappedObjectType.ts @@ -1,3 +1,8 @@ +import { + codeFixAll, + createCodeFixAction, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { cast, Diagnostics, @@ -21,12 +26,7 @@ import { TypeAliasDeclaration, TypeLiteralNode, TypeNode, -} from "../_namespaces/ts"; -import { - codeFixAll, - createCodeFixAction, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const fixId = "fixConvertToMappedObjectType"; const errorCodes = [Diagnostics.An_index_signature_parameter_type_cannot_be_a_literal_type_or_generic_type_Consider_using_a_mapped_object_type_instead.code]; diff --git a/src/services/codefixes/convertToTypeOnlyExport.ts b/src/services/codefixes/convertToTypeOnlyExport.ts index 14ec2e3e8e31d..5f2e80f4c8481 100644 --- a/src/services/codefixes/convertToTypeOnlyExport.ts +++ b/src/services/codefixes/convertToTypeOnlyExport.ts @@ -1,3 +1,8 @@ +import { + codeFixAll, + createCodeFixAction, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { addToSeen, CodeFixContextBase, @@ -17,12 +22,7 @@ import { textChanges, TextSpan, tryCast, -} from "../_namespaces/ts"; -import { - codeFixAll, - createCodeFixAction, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const errorCodes = [Diagnostics.Re_exporting_a_type_when_0_is_enabled_requires_using_export_type.code]; const fixId = "convertToTypeOnlyExport"; diff --git a/src/services/codefixes/convertToTypeOnlyImport.ts b/src/services/codefixes/convertToTypeOnlyImport.ts index 54f1121657432..3fdc81f3e4bbb 100644 --- a/src/services/codefixes/convertToTypeOnlyImport.ts +++ b/src/services/codefixes/convertToTypeOnlyImport.ts @@ -1,3 +1,9 @@ +import { + codeFixAll, + createCodeFixAction, + createCodeFixActionWithoutFixAll, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { Diagnostics, factory, @@ -17,13 +23,7 @@ import { SourceFile, SyntaxKind, textChanges, -} from "../_namespaces/ts"; -import { - codeFixAll, - createCodeFixAction, - createCodeFixActionWithoutFixAll, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const errorCodes = [ Diagnostics._0_is_a_type_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled.code, diff --git a/src/services/codefixes/convertTypedefToType.ts b/src/services/codefixes/convertTypedefToType.ts index 395ee58f1378f..70d02fb846678 100644 --- a/src/services/codefixes/convertTypedefToType.ts +++ b/src/services/codefixes/convertTypedefToType.ts @@ -1,3 +1,8 @@ +import { + codeFixAll, + createCodeFixAction, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { Diagnostics, factory, @@ -23,12 +28,7 @@ import { SyntaxKind, textChanges, TypeAliasDeclaration, -} from "../_namespaces/ts"; -import { - codeFixAll, - createCodeFixAction, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const fixId = "convertTypedefToType"; const errorCodes = [Diagnostics.JSDoc_typedef_may_be_converted_to_TypeScript_type.code]; diff --git a/src/services/codefixes/correctQualifiedNameToIndexedAccessType.ts b/src/services/codefixes/correctQualifiedNameToIndexedAccessType.ts index 3dbcb5e8f2180..96a7b8914bfe5 100644 --- a/src/services/codefixes/correctQualifiedNameToIndexedAccessType.ts +++ b/src/services/codefixes/correctQualifiedNameToIndexedAccessType.ts @@ -1,3 +1,8 @@ +import { + codeFixAll, + createCodeFixAction, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { Debug, Diagnostics, @@ -10,12 +15,7 @@ import { QualifiedName, SourceFile, textChanges, -} from "../_namespaces/ts"; -import { - codeFixAll, - createCodeFixAction, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const fixId = "correctQualifiedNameToIndexedAccessType"; const errorCodes = [Diagnostics.Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_property_1_in_0_with_0_1.code]; diff --git a/src/services/codefixes/disableJsDiagnostics.ts b/src/services/codefixes/disableJsDiagnostics.ts index 09d7a00d0c6c5..3d7aa72e4f672 100644 --- a/src/services/codefixes/disableJsDiagnostics.ts +++ b/src/services/codefixes/disableJsDiagnostics.ts @@ -1,3 +1,10 @@ +import { + codeFixAll, + createCodeFixAction, + createCodeFixActionWithoutFixAll, + createFileTextChanges, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { CodeFixAction, createTextChange, @@ -13,14 +20,7 @@ import { SourceFile, textChanges, tryAddToSet, -} from "../_namespaces/ts"; -import { - codeFixAll, - createCodeFixAction, - createCodeFixActionWithoutFixAll, - createFileTextChanges, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const fixName = "disableJsDiagnostics"; const fixId = "disableJsDiagnostics"; diff --git a/src/services/codefixes/fixAddMissingConstraint.ts b/src/services/codefixes/fixAddMissingConstraint.ts index 267cabc534e02..fad9a8f003a5c 100644 --- a/src/services/codefixes/fixAddMissingConstraint.ts +++ b/src/services/codefixes/fixAddMissingConstraint.ts @@ -1,3 +1,13 @@ +import { + createCodeFixAction, + createCombinedCodeActions, + createImportAdder, + eachDiagnostic, + findAncestorMatchingSpan, + getNoopSymbolTrackerWithResolver, + registerCodeFix, + typeToAutoImportableTypeNode, +} from "../_namespaces/ts.codefix.js"; import { addToSeen, createTextSpan, @@ -25,17 +35,7 @@ import { TypeChecker, TypeParameterDeclaration, UserPreferences, -} from "../_namespaces/ts"; -import { - createCodeFixAction, - createCombinedCodeActions, - createImportAdder, - eachDiagnostic, - findAncestorMatchingSpan, - getNoopSymbolTrackerWithResolver, - registerCodeFix, - typeToAutoImportableTypeNode, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const fixId = "addMissingConstraint"; const errorCodes = [ diff --git a/src/services/codefixes/fixAddMissingMember.ts b/src/services/codefixes/fixAddMissingMember.ts index 1210275178f6b..f5bf022fd5755 100644 --- a/src/services/codefixes/fixAddMissingMember.ts +++ b/src/services/codefixes/fixAddMissingMember.ts @@ -1,3 +1,16 @@ +import { + createCodeFixAction, + createCodeFixActionWithoutFixAll, + createCombinedCodeActions, + createImportAdder, + createSignatureDeclarationFromCallExpression, + createSignatureDeclarationFromSignature, + createStubbedBody, + eachDiagnostic, + getAllSupers, + ImportAdder, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { __String, addToSeen, @@ -112,20 +125,7 @@ import { TypeNode, TypeReference, UnionType, -} from "../_namespaces/ts"; -import { - createCodeFixAction, - createCodeFixActionWithoutFixAll, - createCombinedCodeActions, - createImportAdder, - createSignatureDeclarationFromCallExpression, - createSignatureDeclarationFromSignature, - createStubbedBody, - eachDiagnostic, - getAllSupers, - ImportAdder, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const fixMissingMember = "fixMissingMember"; const fixMissingProperties = "fixMissingProperties"; diff --git a/src/services/codefixes/fixAddMissingNewOperator.ts b/src/services/codefixes/fixAddMissingNewOperator.ts index 8a44e267fb5f7..adbabbfe2e0a7 100644 --- a/src/services/codefixes/fixAddMissingNewOperator.ts +++ b/src/services/codefixes/fixAddMissingNewOperator.ts @@ -1,3 +1,8 @@ +import { + codeFixAll, + createCodeFixAction, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { cast, Diagnostics, @@ -9,12 +14,7 @@ import { textChanges, TextSpan, textSpanEnd, -} from "../_namespaces/ts"; -import { - codeFixAll, - createCodeFixAction, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const fixId = "addMissingNewOperator"; const errorCodes = [Diagnostics.Value_of_type_0_is_not_callable_Did_you_mean_to_include_new.code]; diff --git a/src/services/codefixes/fixAddMissingParam.ts b/src/services/codefixes/fixAddMissingParam.ts index df78a311337e6..c5ac4f25b2b09 100644 --- a/src/services/codefixes/fixAddMissingParam.ts +++ b/src/services/codefixes/fixAddMissingParam.ts @@ -1,3 +1,12 @@ +import { + codeFixAll, + createCodeFixAction, + createImportAdder, + ImportAdder, + importSymbols, + registerCodeFix, + tryGetAutoImportableReferenceFromTypeNode, +} from "../_namespaces/ts.codefix.js"; import { append, ArrowFunction, @@ -44,16 +53,7 @@ import { TypeChecker, TypeNode, UserPreferences, -} from "../_namespaces/ts"; -import { - codeFixAll, - createCodeFixAction, - createImportAdder, - ImportAdder, - importSymbols, - registerCodeFix, - tryGetAutoImportableReferenceFromTypeNode, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const addMissingParamFixId = "addMissingParam"; const addOptionalParamFixId = "addOptionalParam"; diff --git a/src/services/codefixes/fixAddModuleReferTypeMissingTypeof.ts b/src/services/codefixes/fixAddModuleReferTypeMissingTypeof.ts index 1523819f60190..3d9bb53799fb0 100644 --- a/src/services/codefixes/fixAddModuleReferTypeMissingTypeof.ts +++ b/src/services/codefixes/fixAddModuleReferTypeMissingTypeof.ts @@ -1,3 +1,8 @@ +import { + codeFixAll, + createCodeFixAction, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { Debug, Diagnostics, @@ -7,12 +12,7 @@ import { SourceFile, SyntaxKind, textChanges, -} from "../_namespaces/ts"; -import { - codeFixAll, - createCodeFixAction, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const fixIdAddMissingTypeof = "fixAddModuleReferTypeMissingTypeof"; const fixId = fixIdAddMissingTypeof; diff --git a/src/services/codefixes/fixAddVoidToPromise.ts b/src/services/codefixes/fixAddVoidToPromise.ts index 82114594c92fb..a9061b9d24ca7 100644 --- a/src/services/codefixes/fixAddVoidToPromise.ts +++ b/src/services/codefixes/fixAddVoidToPromise.ts @@ -1,3 +1,8 @@ +import { + codeFixAll, + createCodeFixAction, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { CodeFixAllContext, Diagnostics, @@ -24,12 +29,7 @@ import { textChanges, TextSpan, TypeFlags, -} from "../_namespaces/ts"; -import { - codeFixAll, - createCodeFixAction, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const fixName = "addVoidToPromise"; const fixId = "addVoidToPromise"; diff --git a/src/services/codefixes/fixAwaitInSyncFunction.ts b/src/services/codefixes/fixAwaitInSyncFunction.ts index e1f78e928cd00..d6b5d766caf12 100644 --- a/src/services/codefixes/fixAwaitInSyncFunction.ts +++ b/src/services/codefixes/fixAwaitInSyncFunction.ts @@ -1,3 +1,8 @@ +import { + codeFixAll, + createCodeFixAction, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { addToSeen, ArrowFunction, @@ -19,12 +24,7 @@ import { SyntaxKind, textChanges, TypeNode, -} from "../_namespaces/ts"; -import { - codeFixAll, - createCodeFixAction, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const fixId = "fixAwaitInSyncFunction"; const errorCodes = [ diff --git a/src/services/codefixes/fixCannotFindModule.ts b/src/services/codefixes/fixCannotFindModule.ts index d128045f7f075..4be66a264636b 100644 --- a/src/services/codefixes/fixCannotFindModule.ts +++ b/src/services/codefixes/fixCannotFindModule.ts @@ -1,3 +1,8 @@ +import { + codeFixAll, + createCodeFixAction, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { Debug, Diagnostics, @@ -11,12 +16,7 @@ import { parsePackageName, SourceFile, tryCast, -} from "../_namespaces/ts"; -import { - codeFixAll, - createCodeFixAction, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const fixName = "fixCannotFindModule"; const fixIdInstallTypesPackage = "installTypesPackage"; diff --git a/src/services/codefixes/fixClassDoesntImplementInheritedAbstractMember.ts b/src/services/codefixes/fixClassDoesntImplementInheritedAbstractMember.ts index d22e9b08678b7..8f77976267f1b 100644 --- a/src/services/codefixes/fixClassDoesntImplementInheritedAbstractMember.ts +++ b/src/services/codefixes/fixClassDoesntImplementInheritedAbstractMember.ts @@ -1,3 +1,11 @@ +import { + codeFixAll, + createCodeFixAction, + createImportAdder, + createMissingMemberNodes, + registerCodeFix, + TypeConstructionContext, +} from "../_namespaces/ts.codefix.js"; import { addToSeen, cast, @@ -15,15 +23,7 @@ import { Symbol, textChanges, UserPreferences, -} from "../_namespaces/ts"; -import { - codeFixAll, - createCodeFixAction, - createImportAdder, - createMissingMemberNodes, - registerCodeFix, - TypeConstructionContext, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const errorCodes = [ Diagnostics.Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2.code, diff --git a/src/services/codefixes/fixClassIncorrectlyImplementsInterface.ts b/src/services/codefixes/fixClassIncorrectlyImplementsInterface.ts index 7c5e3652af32a..d5dacd51dc59d 100644 --- a/src/services/codefixes/fixClassIncorrectlyImplementsInterface.ts +++ b/src/services/codefixes/fixClassIncorrectlyImplementsInterface.ts @@ -1,3 +1,12 @@ +import { + codeFixAll, + createCodeFixAction, + createImportAdder, + createMissingMemberNodes, + getNoopSymbolTrackerWithResolver, + registerCodeFix, + TypeConstructionContext, +} from "../_namespaces/ts.codefix.js"; import { addToSeen, and, @@ -27,16 +36,7 @@ import { textChanges, TypeChecker, UserPreferences, -} from "../_namespaces/ts"; -import { - codeFixAll, - createCodeFixAction, - createImportAdder, - createMissingMemberNodes, - getNoopSymbolTrackerWithResolver, - registerCodeFix, - TypeConstructionContext, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const errorCodes = [ Diagnostics.Class_0_incorrectly_implements_interface_1.code, diff --git a/src/services/codefixes/fixClassSuperMustPrecedeThisAccess.ts b/src/services/codefixes/fixClassSuperMustPrecedeThisAccess.ts index 66032b9f315ee..a3585ace24d79 100644 --- a/src/services/codefixes/fixClassSuperMustPrecedeThisAccess.ts +++ b/src/services/codefixes/fixClassSuperMustPrecedeThisAccess.ts @@ -1,3 +1,8 @@ +import { + codeFixAll, + createCodeFixAction, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { addToSeen, CallExpression, @@ -16,12 +21,7 @@ import { SourceFile, SyntaxKind, textChanges, -} from "../_namespaces/ts"; -import { - codeFixAll, - createCodeFixAction, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const fixId = "classSuperMustPrecedeThisAccess"; const errorCodes = [Diagnostics.super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class.code]; diff --git a/src/services/codefixes/fixConstructorForDerivedNeedSuperCall.ts b/src/services/codefixes/fixConstructorForDerivedNeedSuperCall.ts index 20e0cb3b35d9a..8f46f23073b9f 100644 --- a/src/services/codefixes/fixConstructorForDerivedNeedSuperCall.ts +++ b/src/services/codefixes/fixConstructorForDerivedNeedSuperCall.ts @@ -1,3 +1,8 @@ +import { + codeFixAll, + createCodeFixAction, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { ConstructorDeclaration, Debug, @@ -8,12 +13,7 @@ import { isConstructorDeclaration, SourceFile, textChanges, -} from "../_namespaces/ts"; -import { - codeFixAll, - createCodeFixAction, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const fixId = "constructorForDerivedNeedSuperCall"; const errorCodes = [Diagnostics.Constructors_for_derived_classes_must_contain_a_super_call.code]; diff --git a/src/services/codefixes/fixEnableJsxFlag.ts b/src/services/codefixes/fixEnableJsxFlag.ts index 6d00ac88e072b..de3f4b0bea557 100644 --- a/src/services/codefixes/fixEnableJsxFlag.ts +++ b/src/services/codefixes/fixEnableJsxFlag.ts @@ -1,15 +1,15 @@ -import { - Diagnostics, - factory, - textChanges, - TsConfigSourceFile, -} from "../_namespaces/ts"; import { codeFixAll, createCodeFixActionWithoutFixAll, registerCodeFix, setJsonCompilerOptionValue, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.codefix.js"; +import { + Diagnostics, + factory, + textChanges, + TsConfigSourceFile, +} from "../_namespaces/ts.js"; const fixID = "fixEnableJsxFlag"; const errorCodes = [Diagnostics.Cannot_use_JSX_unless_the_jsx_flag_is_provided.code]; diff --git a/src/services/codefixes/fixExpectedComma.ts b/src/services/codefixes/fixExpectedComma.ts index 352760d482a28..7882467591b7d 100644 --- a/src/services/codefixes/fixExpectedComma.ts +++ b/src/services/codefixes/fixExpectedComma.ts @@ -1,3 +1,8 @@ +import { + codeFixAll, + createCodeFixAction, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { Diagnostics, factory, @@ -8,12 +13,7 @@ import { SourceFile, SyntaxKind, textChanges, -} from "../_namespaces/ts"; -import { - codeFixAll, - createCodeFixAction, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const fixId = "fixExpectedComma"; const expectedErrorCode = Diagnostics._0_expected.code; diff --git a/src/services/codefixes/fixExtendsInterfaceBecomesImplements.ts b/src/services/codefixes/fixExtendsInterfaceBecomesImplements.ts index 65595a78b8b6a..0a92ba2013e64 100644 --- a/src/services/codefixes/fixExtendsInterfaceBecomesImplements.ts +++ b/src/services/codefixes/fixExtendsInterfaceBecomesImplements.ts @@ -1,3 +1,8 @@ +import { + codeFixAll, + createCodeFixAction, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { Diagnostics, factory, @@ -9,12 +14,7 @@ import { SourceFile, SyntaxKind, textChanges, -} from "../_namespaces/ts"; -import { - codeFixAll, - createCodeFixAction, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const fixId = "extendsInterfaceBecomesImplements"; const errorCodes = [Diagnostics.Cannot_extend_an_interface_0_Did_you_mean_implements.code]; diff --git a/src/services/codefixes/fixForgottenThisPropertyAccess.ts b/src/services/codefixes/fixForgottenThisPropertyAccess.ts index 1bd0de54296ee..0f1d197414cea 100644 --- a/src/services/codefixes/fixForgottenThisPropertyAccess.ts +++ b/src/services/codefixes/fixForgottenThisPropertyAccess.ts @@ -1,3 +1,8 @@ +import { + codeFixAll, + createCodeFixAction, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { Diagnostics, factory, @@ -10,12 +15,7 @@ import { SourceFile, suppressLeadingAndTrailingTrivia, textChanges, -} from "../_namespaces/ts"; -import { - codeFixAll, - createCodeFixAction, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const fixId = "forgottenThisPropertyAccess"; const didYouMeanStaticMemberCode = Diagnostics.Cannot_find_name_0_Did_you_mean_the_static_member_1_0.code; diff --git a/src/services/codefixes/fixImplicitThis.ts b/src/services/codefixes/fixImplicitThis.ts index 9a867574cac10..91be565e56570 100644 --- a/src/services/codefixes/fixImplicitThis.ts +++ b/src/services/codefixes/fixImplicitThis.ts @@ -1,3 +1,8 @@ +import { + codeFixAll, + createCodeFixAction, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { ANONYMOUS, Debug, @@ -17,12 +22,7 @@ import { SyntaxKind, textChanges, TypeChecker, -} from "../_namespaces/ts"; -import { - codeFixAll, - createCodeFixAction, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const fixId = "fixImplicitThis"; const errorCodes = [Diagnostics.this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation.code]; diff --git a/src/services/codefixes/fixImportNonExportedMember.ts b/src/services/codefixes/fixImportNonExportedMember.ts index 56208667bdb5e..c7be6b5a9fe22 100644 --- a/src/services/codefixes/fixImportNonExportedMember.ts +++ b/src/services/codefixes/fixImportNonExportedMember.ts @@ -1,3 +1,9 @@ +import { + createCodeFixAction, + createCombinedCodeActions, + eachDiagnostic, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { canHaveExportModifier, canHaveLocals, @@ -30,13 +36,7 @@ import { textChanges, tryCast, VariableStatement, -} from "../_namespaces/ts"; -import { - createCodeFixAction, - createCombinedCodeActions, - eachDiagnostic, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const fixId = "fixImportNonExportedMember"; const errorCodes = [ @@ -119,7 +119,7 @@ function getInfo(sourceFile: SourceFile, pos: number, program: Program): Info | const moduleSpecifier = isStringLiteral(importDeclaration.moduleSpecifier) ? importDeclaration.moduleSpecifier : undefined; if (moduleSpecifier === undefined) return undefined; - const resolvedModule = program.getResolvedModuleFromModuleSpecifier(moduleSpecifier)?.resolvedModule; + const resolvedModule = program.getResolvedModuleFromModuleSpecifier(moduleSpecifier, sourceFile)?.resolvedModule; if (resolvedModule === undefined) return undefined; const moduleSourceFile = program.getSourceFile(resolvedModule.resolvedFileName); diff --git a/src/services/codefixes/fixIncorrectNamedTupleSyntax.ts b/src/services/codefixes/fixIncorrectNamedTupleSyntax.ts index 4c831bac51529..7982f63b61ec5 100644 --- a/src/services/codefixes/fixIncorrectNamedTupleSyntax.ts +++ b/src/services/codefixes/fixIncorrectNamedTupleSyntax.ts @@ -1,3 +1,7 @@ +import { + createCodeFixAction, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { Diagnostics, factory, @@ -10,11 +14,7 @@ import { SourceFile, SyntaxKind, textChanges, -} from "../_namespaces/ts"; -import { - createCodeFixAction, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const fixId = "fixIncorrectNamedTupleSyntax"; const errorCodes = [ diff --git a/src/services/codefixes/fixInvalidImportSyntax.ts b/src/services/codefixes/fixInvalidImportSyntax.ts index 6301bf0ba6e16..2f2663825062f 100644 --- a/src/services/codefixes/fixInvalidImportSyntax.ts +++ b/src/services/codefixes/fixInvalidImportSyntax.ts @@ -1,3 +1,7 @@ +import { + createCodeFixActionWithoutFixAll, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { addRange, CallExpression, @@ -24,11 +28,7 @@ import { SourceFile, SyntaxKind, textChanges, -} from "../_namespaces/ts"; -import { - createCodeFixActionWithoutFixAll, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const fixName = "invalidImportSyntax"; diff --git a/src/services/codefixes/fixInvalidJsxCharacters.ts b/src/services/codefixes/fixInvalidJsxCharacters.ts index 744354c7fb87b..803bc8137a2d4 100644 --- a/src/services/codefixes/fixInvalidJsxCharacters.ts +++ b/src/services/codefixes/fixInvalidJsxCharacters.ts @@ -1,3 +1,8 @@ +import { + codeFixAll, + createCodeFixAction, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { Diagnostics, hasProperty, @@ -5,12 +10,7 @@ import { SourceFile, textChanges, UserPreferences, -} from "../_namespaces/ts"; -import { - codeFixAll, - createCodeFixAction, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const fixIdExpression = "fixInvalidJsxCharacters_expression"; const fixIdHtmlEntity = "fixInvalidJsxCharacters_htmlEntity"; diff --git a/src/services/codefixes/fixJSDocTypes.ts b/src/services/codefixes/fixJSDocTypes.ts index 2a35ba3fdb3a9..7d3983db3d48d 100644 --- a/src/services/codefixes/fixJSDocTypes.ts +++ b/src/services/codefixes/fixJSDocTypes.ts @@ -1,3 +1,8 @@ +import { + codeFixAll, + createCodeFixAction, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { append, AsExpression, @@ -30,12 +35,7 @@ import { TypeFlags, TypeNode, VariableDeclaration, -} from "../_namespaces/ts"; -import { - codeFixAll, - createCodeFixAction, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const fixIdPlain = "fixJSDocTypes_plain"; const fixIdNullable = "fixJSDocTypes_nullable"; diff --git a/src/services/codefixes/fixMissingCallParentheses.ts b/src/services/codefixes/fixMissingCallParentheses.ts index 5a254bc1392dc..5bbe7a04a58e3 100644 --- a/src/services/codefixes/fixMissingCallParentheses.ts +++ b/src/services/codefixes/fixMissingCallParentheses.ts @@ -1,3 +1,8 @@ +import { + codeFixAll, + createCodeFixAction, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { Diagnostics, getTokenAtPosition, @@ -8,12 +13,7 @@ import { PropertyAccessExpression, SourceFile, textChanges, -} from "../_namespaces/ts"; -import { - codeFixAll, - createCodeFixAction, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const fixId = "fixMissingCallParentheses"; const errorCodes = [ diff --git a/src/services/codefixes/fixMissingTypeAnnotationOnExports.ts b/src/services/codefixes/fixMissingTypeAnnotationOnExports.ts index 9abf1758b64d2..1b2f93d06c78d 100644 --- a/src/services/codefixes/fixMissingTypeAnnotationOnExports.ts +++ b/src/services/codefixes/fixMissingTypeAnnotationOnExports.ts @@ -65,6 +65,7 @@ import { isSpreadAssignment, isSpreadElement, isStatement, + isTypeNode, isValueSignatureDeclaration, isVariableDeclaration, ModifierFlags, @@ -94,7 +95,7 @@ import { VariableDeclaration, VariableStatement, walkUpParenthesizedExpressions, -} from "../_namespaces/ts"; +} from "../_namespaces/ts.js"; import { createCodeFixAction, @@ -103,8 +104,8 @@ import { eachDiagnostic, registerCodeFix, typeToAutoImportableTypeNode, -} from "../_namespaces/ts.codefix"; -import { getIdentifierForNode } from "../refactors/helpers"; +} from "../_namespaces/ts.codefix.js"; +import { getIdentifierForNode } from "../refactors/helpers.js"; const fixId = "fixMissingTypeAnnotationOnExports"; @@ -121,6 +122,7 @@ const errorCodes = [ Diagnostics.Property_must_have_an_explicit_type_annotation_with_isolatedDeclarations.code, Diagnostics.Expression_type_can_t_be_inferred_with_isolatedDeclarations.code, Diagnostics.Binding_elements_can_t_be_exported_directly_with_isolatedDeclarations.code, + Diagnostics.Computed_property_names_on_class_or_object_literals_cannot_be_inferred_with_isolatedDeclarations.code, Diagnostics.Computed_properties_must_be_number_or_string_literals_variables_or_dotted_expressions_with_isolatedDeclarations.code, Diagnostics.Enum_member_initializers_must_be_computable_without_references_to_external_symbols_with_isolatedDeclarations.code, Diagnostics.Extends_clause_can_t_contain_an_expression_with_isolatedDeclarations.code, @@ -131,6 +133,7 @@ const errorCodes = [ Diagnostics.Only_const_arrays_can_be_inferred_with_isolatedDeclarations.code, Diagnostics.Assigning_properties_to_functions_without_declaring_them_is_not_supported_with_isolatedDeclarations_Add_an_explicit_declaration_for_the_properties_assigned_to_this_function.code, Diagnostics.Declaration_emit_for_this_parameter_requires_implicitly_adding_undefined_to_it_s_type_This_is_not_supported_with_isolatedDeclarations.code, + Diagnostics.Type_containing_private_name_0_can_t_be_used_with_isolatedDeclarations.code, Diagnostics.Add_satisfies_and_a_type_assertion_to_this_expression_satisfies_T_as_T_to_make_the_type_explicit.code, ]; @@ -351,7 +354,7 @@ function withContext( return undefined; } // No support for typeof in extends clauses - if (isExpressionTarget && findAncestor(targetNode, isHeritageClause)) { + if (isExpressionTarget && (findAncestor(targetNode, isHeritageClause) || findAncestor(targetNode, isTypeNode))) { return undefined; } // Can't inline type spread elements. Whatever you do isolated declarations will not infer from them diff --git a/src/services/codefixes/fixModuleAndTargetOptions.ts b/src/services/codefixes/fixModuleAndTargetOptions.ts index 5ae7d53a89438..8f24304624a05 100644 --- a/src/services/codefixes/fixModuleAndTargetOptions.ts +++ b/src/services/codefixes/fixModuleAndTargetOptions.ts @@ -1,3 +1,9 @@ +import { + createCodeFixActionWithoutFixAll, + registerCodeFix, + setJsonCompilerOptionValue, + setJsonCompilerOptionValues, +} from "../_namespaces/ts.codefix.js"; import { CodeFixAction, Diagnostics, @@ -9,13 +15,7 @@ import { ModuleKind, ScriptTarget, textChanges, -} from "../_namespaces/ts"; -import { - createCodeFixActionWithoutFixAll, - registerCodeFix, - setJsonCompilerOptionValue, - setJsonCompilerOptionValues, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; registerCodeFix({ errorCodes: [ diff --git a/src/services/codefixes/fixNaNEquality.ts b/src/services/codefixes/fixNaNEquality.ts index bd64d8b82a70a..3e617cc77f303 100644 --- a/src/services/codefixes/fixNaNEquality.ts +++ b/src/services/codefixes/fixNaNEquality.ts @@ -1,3 +1,9 @@ +import { + codeFixAll, + createCodeFixAction, + findAncestorMatchingSpan, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { BinaryExpression, createTextSpan, @@ -14,13 +20,7 @@ import { SyntaxKind, textChanges, TextSpan, -} from "../_namespaces/ts"; -import { - codeFixAll, - createCodeFixAction, - findAncestorMatchingSpan, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const fixId = "fixNaNEquality"; const errorCodes = [ diff --git a/src/services/codefixes/fixNoPropertyAccessFromIndexSignature.ts b/src/services/codefixes/fixNoPropertyAccessFromIndexSignature.ts index 3ae9b9045e223..2c5f37e715686 100644 --- a/src/services/codefixes/fixNoPropertyAccessFromIndexSignature.ts +++ b/src/services/codefixes/fixNoPropertyAccessFromIndexSignature.ts @@ -1,3 +1,8 @@ +import { + codeFixAll, + createCodeFixAction, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { cast, Diagnostics, @@ -11,12 +16,7 @@ import { SourceFile, textChanges, UserPreferences, -} from "../_namespaces/ts"; -import { - codeFixAll, - createCodeFixAction, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const fixId = "fixNoPropertyAccessFromIndexSignature"; const errorCodes = [ diff --git a/src/services/codefixes/fixOverrideModifier.ts b/src/services/codefixes/fixOverrideModifier.ts index 2c3f8242a7ff5..360c7eda51c61 100644 --- a/src/services/codefixes/fixOverrideModifier.ts +++ b/src/services/codefixes/fixOverrideModifier.ts @@ -1,3 +1,8 @@ +import { + codeFixAll, + createCodeFixActionMaybeFixAll, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { CodeFixAllContext, CodeFixContext, @@ -31,12 +36,7 @@ import { SourceFile, SyntaxKind, textChanges, -} from "../_namespaces/ts"; -import { - codeFixAll, - createCodeFixActionMaybeFixAll, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const fixName = "fixOverrideModifier"; const fixAddOverrideId = "fixAddOverrideModifier"; diff --git a/src/services/codefixes/fixPropertyAssignment.ts b/src/services/codefixes/fixPropertyAssignment.ts index d75fb8b365ac3..e24f3de7445c7 100644 --- a/src/services/codefixes/fixPropertyAssignment.ts +++ b/src/services/codefixes/fixPropertyAssignment.ts @@ -1,3 +1,8 @@ +import { + codeFixAll, + createCodeFixAction, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { cast, Diagnostics, @@ -8,12 +13,7 @@ import { ShorthandPropertyAssignment, SourceFile, textChanges, -} from "../_namespaces/ts"; -import { - codeFixAll, - createCodeFixAction, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const fixId = "fixPropertyAssignment"; const errorCodes = [ diff --git a/src/services/codefixes/fixPropertyOverrideAccessor.ts b/src/services/codefixes/fixPropertyOverrideAccessor.ts index 4ee42dbbeee1e..c1b446bcf7d34 100644 --- a/src/services/codefixes/fixPropertyOverrideAccessor.ts +++ b/src/services/codefixes/fixPropertyOverrideAccessor.ts @@ -1,3 +1,10 @@ +import { + codeFixAll, + createCodeFixAction, + generateAccessorFromProperty, + getAllSupers, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { CodeFixAllContext, CodeFixContext, @@ -11,14 +18,7 @@ import { singleOrUndefined, SourceFile, unescapeLeadingUnderscores, -} from "../_namespaces/ts"; -import { - codeFixAll, - createCodeFixAction, - generateAccessorFromProperty, - getAllSupers, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const errorCodes = [ Diagnostics._0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property.code, diff --git a/src/services/codefixes/fixReturnTypeInAsyncFunction.ts b/src/services/codefixes/fixReturnTypeInAsyncFunction.ts index 8b33ec0c8cede..a6ada40a34175 100644 --- a/src/services/codefixes/fixReturnTypeInAsyncFunction.ts +++ b/src/services/codefixes/fixReturnTypeInAsyncFunction.ts @@ -1,3 +1,8 @@ +import { + codeFixAll, + createCodeFixAction, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { Diagnostics, factory, @@ -10,12 +15,7 @@ import { Type, TypeChecker, TypeNode, -} from "../_namespaces/ts"; -import { - codeFixAll, - createCodeFixAction, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const fixId = "fixReturnTypeInAsyncFunction"; const errorCodes = [ diff --git a/src/services/codefixes/fixSpelling.ts b/src/services/codefixes/fixSpelling.ts index 8c2130ab57c91..21a32bd00c411 100644 --- a/src/services/codefixes/fixSpelling.ts +++ b/src/services/codefixes/fixSpelling.ts @@ -1,3 +1,8 @@ +import { + codeFixAll, + createCodeFixAction, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { CodeFixContextBase, Debug, @@ -36,12 +41,7 @@ import { symbolName, SyntaxKind, textChanges, -} from "../_namespaces/ts"; -import { - codeFixAll, - createCodeFixAction, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const fixId = "fixSpelling"; const errorCodes = [ @@ -118,7 +118,7 @@ function getInfo(sourceFile: SourceFile, pos: number, context: CodeFixContextBas else if (isImportSpecifier(parent) && parent.name === node) { Debug.assertNode(node, isIdentifier, "Expected an identifier for spelling (import)"); const importDeclaration = findAncestor(node, isImportDeclaration)!; - const resolvedSourceFile = getResolvedSourceFileFromImportDeclaration(context, importDeclaration); + const resolvedSourceFile = getResolvedSourceFileFromImportDeclaration(context, importDeclaration, sourceFile); if (resolvedSourceFile && resolvedSourceFile.symbol) { suggestedSymbol = checker.getSuggestedSymbolForNonexistentModule(node, resolvedSourceFile.symbol); } @@ -177,10 +177,10 @@ function convertSemanticMeaningToSymbolFlags(meaning: SemanticMeaning): SymbolFl return flags; } -function getResolvedSourceFileFromImportDeclaration(context: CodeFixContextBase, importDeclaration: ImportDeclaration): SourceFile | undefined { +function getResolvedSourceFileFromImportDeclaration(context: CodeFixContextBase, importDeclaration: ImportDeclaration, importingFile: SourceFile): SourceFile | undefined { if (!importDeclaration || !isStringLiteralLike(importDeclaration.moduleSpecifier)) return undefined; - const resolvedModule = context.program.getResolvedModuleFromModuleSpecifier(importDeclaration.moduleSpecifier)?.resolvedModule; + const resolvedModule = context.program.getResolvedModuleFromModuleSpecifier(importDeclaration.moduleSpecifier, importingFile)?.resolvedModule; if (!resolvedModule) return undefined; return context.program.getSourceFile(resolvedModule.resolvedFileName); diff --git a/src/services/codefixes/fixStrictClassInitialization.ts b/src/services/codefixes/fixStrictClassInitialization.ts index d42e858964a1b..4ce6108cea74e 100644 --- a/src/services/codefixes/fixStrictClassInitialization.ts +++ b/src/services/codefixes/fixStrictClassInitialization.ts @@ -1,3 +1,8 @@ +import { + codeFixAll, + createCodeFixAction, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { append, BigIntLiteralType, @@ -27,12 +32,7 @@ import { TypeChecker, TypeFlags, TypeNode, -} from "../_namespaces/ts"; -import { - codeFixAll, - createCodeFixAction, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const fixName = "strictClassInitialization"; const fixIdAddDefiniteAssignmentAssertions = "addMissingPropertyDefiniteAssignmentAssertions"; diff --git a/src/services/codefixes/fixUnmatchedParameter.ts b/src/services/codefixes/fixUnmatchedParameter.ts index bba50c32e589f..71a5c097deae0 100644 --- a/src/services/codefixes/fixUnmatchedParameter.ts +++ b/src/services/codefixes/fixUnmatchedParameter.ts @@ -1,3 +1,10 @@ +import { + createCodeFixAction, + createCodeFixActionWithoutFixAll, + createCombinedCodeActions, + eachDiagnostic, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { __String, append, @@ -21,14 +28,7 @@ import { SignatureDeclaration, SourceFile, textChanges, -} from "../_namespaces/ts"; -import { - createCodeFixAction, - createCodeFixActionWithoutFixAll, - createCombinedCodeActions, - eachDiagnostic, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const deleteUnmatchedParameter = "deleteUnmatchedParameter"; const renameUnmatchedParameter = "renameUnmatchedParameter"; diff --git a/src/services/codefixes/fixUnreachableCode.ts b/src/services/codefixes/fixUnreachableCode.ts index 61c363c3fc868..948512305f27f 100644 --- a/src/services/codefixes/fixUnreachableCode.ts +++ b/src/services/codefixes/fixUnreachableCode.ts @@ -1,3 +1,8 @@ +import { + codeFixAll, + createCodeFixAction, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { Debug, Diagnostics, @@ -13,12 +18,7 @@ import { SourceFile, SyntaxKind, textChanges, -} from "../_namespaces/ts"; -import { - codeFixAll, - createCodeFixAction, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const fixId = "fixUnreachableCode"; const errorCodes = [Diagnostics.Unreachable_code_detected.code]; diff --git a/src/services/codefixes/fixUnreferenceableDecoratorMetadata.ts b/src/services/codefixes/fixUnreferenceableDecoratorMetadata.ts index 4c35ee6b9629a..61c2a20949a4e 100644 --- a/src/services/codefixes/fixUnreferenceableDecoratorMetadata.ts +++ b/src/services/codefixes/fixUnreferenceableDecoratorMetadata.ts @@ -1,3 +1,7 @@ +import { + createCodeFixActionWithoutFixAll, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { append, CodeFixAction, @@ -23,11 +27,7 @@ import { SyntaxKind, textChanges, tryCast, -} from "../_namespaces/ts"; -import { - createCodeFixActionWithoutFixAll, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const fixId = "fixUnreferenceableDecoratorMetadata"; const errorCodes = [Diagnostics.A_type_referenced_in_a_decorated_signature_must_be_imported_with_import_type_or_a_namespace_import_when_isolatedModules_and_emitDecoratorMetadata_are_enabled.code]; diff --git a/src/services/codefixes/fixUnusedIdentifier.ts b/src/services/codefixes/fixUnusedIdentifier.ts index 9e3677d3e23b6..1974e8067a45f 100644 --- a/src/services/codefixes/fixUnusedIdentifier.ts +++ b/src/services/codefixes/fixUnusedIdentifier.ts @@ -1,3 +1,8 @@ +import { + codeFixAll, + createCodeFixAction, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { ArrayBindingPattern, CancellationToken, @@ -59,12 +64,7 @@ import { TypeChecker, VariableDeclaration, VariableDeclarationList, -} from "../_namespaces/ts"; -import { - codeFixAll, - createCodeFixAction, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const fixName = "unusedIdentifier"; const fixIdPrefix = "unusedIdentifier_prefix"; diff --git a/src/services/codefixes/fixUnusedLabel.ts b/src/services/codefixes/fixUnusedLabel.ts index 88e6aed5d41a6..0466f9c8419b2 100644 --- a/src/services/codefixes/fixUnusedLabel.ts +++ b/src/services/codefixes/fixUnusedLabel.ts @@ -1,3 +1,8 @@ +import { + codeFixAll, + createCodeFixAction, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { cast, Diagnostics, @@ -9,12 +14,7 @@ import { SourceFile, SyntaxKind, textChanges, -} from "../_namespaces/ts"; -import { - codeFixAll, - createCodeFixAction, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const fixId = "fixUnusedLabel"; const errorCodes = [Diagnostics.Unused_label.code]; diff --git a/src/services/codefixes/generateAccessors.ts b/src/services/codefixes/generateAccessors.ts index fe4af3faca1c1..75837f080749f 100644 --- a/src/services/codefixes/generateAccessors.ts +++ b/src/services/codefixes/generateAccessors.ts @@ -55,7 +55,7 @@ import { textChanges, TypeChecker, TypeNode, -} from "../_namespaces/ts"; +} from "../_namespaces/ts.js"; /** @internal */ export type AcceptedDeclaration = ParameterPropertyDeclaration | PropertyDeclaration | PropertyAssignment; diff --git a/src/services/codefixes/helpers.ts b/src/services/codefixes/helpers.ts index ee01e0f00a4b3..361141a7d8adf 100644 --- a/src/services/codefixes/helpers.ts +++ b/src/services/codefixes/helpers.ts @@ -1,3 +1,4 @@ +import { ImportAdder } from "../_namespaces/ts.codefix.js"; import { AccessorDeclaration, append, @@ -110,8 +111,7 @@ import { visitEachChild, visitNode, visitNodes, -} from "../_namespaces/ts"; -import { ImportAdder } from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; /** * Finds members of the resolved type that are missing in the class pointed to by class decl @@ -397,7 +397,7 @@ export function createSignatureDeclarationFromSignature( let typeParameters = isJs ? undefined : signatureDeclaration.typeParameters; let parameters = signatureDeclaration.parameters; - let type = isJs ? undefined : signatureDeclaration.type; + let type = isJs ? undefined : getSynthesizedDeepClone(signatureDeclaration.type); if (importAdder) { if (typeParameters) { const newTypeParameters = sameMap(typeParameters, typeParameterDecl => { diff --git a/src/services/codefixes/importFixes.ts b/src/services/codefixes/importFixes.ts index 0312c459d6c24..c584de5b475af 100644 --- a/src/services/codefixes/importFixes.ts +++ b/src/services/codefixes/importFixes.ts @@ -1,3 +1,9 @@ +import { + createCodeFixAction, + createCombinedCodeActions, + eachDiagnostic, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { AnyImportOrRequire, AnyImportOrRequireStatement, @@ -35,12 +41,12 @@ import { flatMap, flatMapIterator, forEachExternalModuleToImportFrom, + forEachNameOfDefaultExport, formatting, FutureSourceFile, FutureSymbolExportInfo, getAllowSyntheticDefaultImports, getBaseFileName, - getDefaultExportInfoWorker, getDefaultLikeExportInfo, getDirectoryPath, getEmitModuleFormatOfFileWorker, @@ -49,7 +55,6 @@ import { getEmitScriptTarget, getExportInfoMap, getImpliedNodeFormatForEmitWorker, - getMeaningFromDeclaration, getMeaningFromLocation, getNameForExportedSymbol, getOutputExtension, @@ -65,6 +70,7 @@ import { hasJSFileExtension, hostGetCanonicalFileName, Identifier, + identity, ImportClause, ImportEqualsDeclaration, importFromModuleSpecifier, @@ -75,8 +81,6 @@ import { isExternalModuleReference, isFullSourceFile, isIdentifier, - isIdentifierPart, - isIdentifierStart, isImportableFile, isImportDeclaration, isImportEqualsDeclaration, @@ -90,7 +94,6 @@ import { isNamespaceImport, isRequireVariableStatement, isSourceFileJS, - isStringANonContextualKeyword, isStringLiteral, isStringLiteralLike, isTypeOnlyImportDeclaration, @@ -108,6 +111,7 @@ import { ModuleKind, moduleResolutionUsesNodeModules, moduleSpecifiers, + moduleSymbolToValidIdentifier, MultiMap, Mutable, NamedImports, @@ -123,12 +127,9 @@ import { pathIsBareSpecifier, Program, QuotePreference, - removeFileExtension, - removeSuffix, RequireOrImportCall, RequireVariableStatement, sameMap, - ScriptTarget, SemanticMeaning, shouldUseUriStyleNodeCoreModules, single, @@ -153,13 +154,7 @@ import { TypeOnlyAliasDeclaration, UserPreferences, VariableDeclarationInitializedTo, -} from "../_namespaces/ts"; -import { - createCodeFixAction, - createCombinedCodeActions, - eachDiagnostic, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; /** @internal */ export const importFixName = "import"; @@ -345,6 +340,7 @@ function createImportAdderWorker(sourceFile: SourceFile | FutureSourceFile, prog ); const fix: FixAddNewImport = { kind: ImportFixKind.AddNew, + moduleSpecifierKind: "relative", moduleSpecifier, importKind, addAsTypeOnly, @@ -718,7 +714,7 @@ export function createImportSpecifierResolver(importingFile: SourceFile, program importMap, fromCacheOnly, ); - const result = getBestFix(fixes, importingFile, program, packageJsonImportFilter, host); + const result = getBestFix(fixes, importingFile, program, packageJsonImportFilter, host, preferences); return result && { ...result, computedWithoutCacheCount }; } } @@ -747,6 +743,7 @@ type ImportFixWithModuleSpecifier = FixUseNamespaceImport | FixAddJsdocTypeImpor interface ImportFixBase { readonly isReExport?: boolean; readonly exportInfo?: SymbolExportInfo | FutureSymbolExportInfo; + readonly moduleSpecifierKind: moduleSpecifiers.ModuleSpecifierResult["kind"]; readonly moduleSpecifier: string; } interface Qualification { @@ -855,7 +852,7 @@ export function getPromoteTypeOnlyCompletionAction(sourceFile: SourceFile, symbo function getImportFixForSymbol(sourceFile: SourceFile | FutureSourceFile, exportInfos: readonly SymbolExportInfo[], program: Program, position: number | undefined, isValidTypeOnlyUseSite: boolean, useRequire: boolean, host: LanguageServiceHost, preferences: UserPreferences) { const packageJsonImportFilter = createPackageJsonImportFilter(sourceFile, preferences, host); - return getBestFix(getImportFixes(exportInfos, position, isValidTypeOnlyUseSite, useRequire, program, sourceFile, host, preferences).fixes, sourceFile, program, packageJsonImportFilter, host); + return getBestFix(getImportFixes(exportInfos, position, isValidTypeOnlyUseSite, useRequire, program, sourceFile, host, preferences).fixes, sourceFile, program, packageJsonImportFilter, host, preferences); } function codeFixActionToCodeAction({ description, changes, commands }: CodeFixAction): CodeAction { @@ -873,7 +870,6 @@ function getAllExportInfoForSymbol(importingFile: SourceFile | FutureSourceFile, } function getSingleExportInfoForSymbol(symbol: Symbol, symbolName: string, moduleSymbol: Symbol, program: Program, host: LanguageServiceHost): SymbolExportInfo { - const compilerOptions = program.getCompilerOptions(); const mainProgramInfo = getInfoWithChecker(program.getTypeChecker(), /*isFromPackageJson*/ false); if (mainProgramInfo) { return mainProgramInfo; @@ -882,7 +878,7 @@ function getSingleExportInfoForSymbol(symbol: Symbol, symbolName: string, module return Debug.checkDefined(autoImportProvider && getInfoWithChecker(autoImportProvider, /*isFromPackageJson*/ true), `Could not find symbol in specified module for code actions`); function getInfoWithChecker(checker: TypeChecker, isFromPackageJson: boolean): SymbolExportInfo | undefined { - const defaultInfo = getDefaultLikeExportInfo(moduleSymbol, checker, compilerOptions); + const defaultInfo = getDefaultLikeExportInfo(moduleSymbol, checker); if (defaultInfo && skipAlias(defaultInfo.symbol, checker) === symbol) { return { symbol: defaultInfo.symbol, moduleSymbol, moduleFileName: undefined, exportKind: defaultInfo.exportKind, targetFlags: skipAlias(symbol, checker).flags, isFromPackageJson }; } @@ -893,10 +889,6 @@ function getSingleExportInfoForSymbol(symbol: Symbol, symbolName: string, module } } -function isFutureSymbolExportInfoArray(info: readonly SymbolExportInfo[] | readonly FutureSymbolExportInfo[]): info is readonly FutureSymbolExportInfo[] { - return info[0].symbol === undefined; -} - function getImportFixes( exportInfos: readonly SymbolExportInfo[] | readonly FutureSymbolExportInfo[], usagePosition: number | undefined, @@ -910,7 +902,7 @@ function getImportFixes( fromCacheOnly?: boolean, ): { computedWithoutCacheCount: number; fixes: readonly ImportFixWithModuleSpecifier[]; } { const checker = program.getTypeChecker(); - const existingImports = importMap && !isFutureSymbolExportInfoArray(exportInfos) ? flatMap(exportInfos, importMap.getImportsForExportInfo) : emptyArray; + const existingImports = importMap ? flatMap(exportInfos, importMap.getImportsForExportInfo) : emptyArray; const useNamespace = usagePosition !== undefined && tryUseExistingNamespaceImport(existingImports, usagePosition); const addToExisting = tryAddToExistingImport(existingImports, isValidTypeOnlyUseSite, checker, program.getCompilerOptions()); if (addToExisting) { @@ -957,7 +949,7 @@ function tryUseExistingNamespaceImport(existingImports: readonly FixAddToExistin const namespacePrefix = getNamespaceLikeImportText(declaration); const moduleSpecifier = namespacePrefix && tryGetModuleSpecifierFromDeclaration(declaration)?.text; if (moduleSpecifier) { - return { kind: ImportFixKind.UseNamespace, namespacePrefix, usagePosition: position, moduleSpecifier }; + return { kind: ImportFixKind.UseNamespace, namespacePrefix, usagePosition: position, moduleSpecifierKind: undefined, moduleSpecifier }; } }); } @@ -1027,7 +1019,7 @@ function tryAddToExistingImport(existingImports: readonly FixAddToExistingImport if (declaration.kind === SyntaxKind.VariableDeclaration) { return (importKind === ImportKind.Named || importKind === ImportKind.Default) && declaration.name.kind === SyntaxKind.ObjectBindingPattern - ? { kind: ImportFixKind.AddToExisting, importClauseOrBindingPattern: declaration.name, importKind, moduleSpecifier: declaration.initializer.arguments[0].text, addAsTypeOnly: AddAsTypeOnly.NotAllowed } + ? { kind: ImportFixKind.AddToExisting, importClauseOrBindingPattern: declaration.name, importKind, moduleSpecifierKind: undefined, moduleSpecifier: declaration.initializer.arguments[0].text, addAsTypeOnly: AddAsTypeOnly.NotAllowed } : undefined; } @@ -1066,6 +1058,7 @@ function tryAddToExistingImport(existingImports: readonly FixAddToExistingImport kind: ImportFixKind.AddToExisting, importClauseOrBindingPattern: importClause, importKind, + moduleSpecifierKind: undefined, moduleSpecifier: declaration.moduleSpecifier.text, addAsTypeOnly, }; @@ -1092,7 +1085,7 @@ function createExistingImportMap(importingFile: SourceFile, program: Program) { } return { - getImportsForExportInfo: ({ moduleSymbol, exportKind, targetFlags, symbol }: SymbolExportInfo): readonly FixAddToExistingImportInfo[] => { + getImportsForExportInfo: ({ moduleSymbol, exportKind, targetFlags, symbol }: SymbolExportInfo | FutureSymbolExportInfo): readonly FixAddToExistingImportInfo[] => { const matchingDeclarations = importMap?.get(getSymbolId(moduleSymbol)); if (!matchingDeclarations) return emptyArray; @@ -1164,13 +1157,13 @@ function getNewImportFixes( const moduleResolution = getEmitModuleResolutionKind(compilerOptions); const rejectNodeModulesRelativePaths = moduleResolutionUsesNodeModules(moduleResolution); const getModuleSpecifiers = fromCacheOnly - ? (exportInfo: SymbolExportInfo | FutureSymbolExportInfo) => ({ moduleSpecifiers: moduleSpecifiers.tryGetModuleSpecifiersFromCache(exportInfo.moduleSymbol, sourceFile, moduleSpecifierResolutionHost, preferences), computedWithoutCache: false }) + ? (exportInfo: SymbolExportInfo | FutureSymbolExportInfo) => moduleSpecifiers.tryGetModuleSpecifiersFromCache(exportInfo.moduleSymbol, sourceFile, moduleSpecifierResolutionHost, preferences) : (exportInfo: SymbolExportInfo | FutureSymbolExportInfo, checker: TypeChecker) => moduleSpecifiers.getModuleSpecifiersWithCacheInfo(exportInfo.moduleSymbol, checker, compilerOptions, sourceFile, moduleSpecifierResolutionHost, preferences, /*options*/ undefined, /*forAutoImport*/ true); let computedWithoutCacheCount = 0; const fixes = flatMap(exportInfo, (exportInfo, i) => { const checker = getChecker(exportInfo.isFromPackageJson); - const { computedWithoutCache, moduleSpecifiers } = getModuleSpecifiers(exportInfo, checker); + const { computedWithoutCache, moduleSpecifiers, kind: moduleSpecifierKind } = getModuleSpecifiers(exportInfo, checker) ?? {}; const importedSymbolHasValueMeaning = !!(exportInfo.targetFlags & SymbolFlags.Value); const addAsTypeOnly = getAddAsTypeOnly(isValidTypeOnlyUseSite, /*isForNewImportDeclaration*/ true, exportInfo.symbol, exportInfo.targetFlags, checker, compilerOptions); computedWithoutCacheCount += computedWithoutCache ? 1 : 0; @@ -1180,7 +1173,7 @@ function getNewImportFixes( } if (!importedSymbolHasValueMeaning && isJs && usagePosition !== undefined) { // `position` should only be undefined at a missing jsx namespace, in which case we shouldn't be looking for pure types. - return { kind: ImportFixKind.JsdocTypeImport, moduleSpecifier, usagePosition, exportInfo, isReExport: i > 0 }; + return { kind: ImportFixKind.JsdocTypeImport, moduleSpecifierKind, moduleSpecifier, usagePosition, exportInfo, isReExport: i > 0 }; } const importKind = getImportKind(sourceFile, exportInfo.exportKind, program); let qualification: Qualification | undefined; @@ -1194,7 +1187,7 @@ function getNewImportFixes( const exportEquals = checker.resolveExternalModuleSymbol(exportInfo.moduleSymbol); let namespacePrefix; if (exportEquals !== exportInfo.moduleSymbol) { - namespacePrefix = getDefaultExportInfoWorker(exportEquals, checker, compilerOptions)?.name; + namespacePrefix = forEachNameOfDefaultExport(exportEquals, checker, compilerOptions, /*preferCapitalizedNames*/ false, identity)!; } namespacePrefix ||= moduleSymbolToValidIdentifier( exportInfo.moduleSymbol, @@ -1205,6 +1198,7 @@ function getNewImportFixes( } return { kind: ImportFixKind.AddNew, + moduleSpecifierKind, moduleSpecifier, importKind, useRequire, @@ -1247,7 +1241,7 @@ function newImportInfoFromExistingSpecifier( const addAsTypeOnly = useRequire ? AddAsTypeOnly.NotAllowed : getAddAsTypeOnly(isValidTypeOnlyUseSite, /*isForNewImportDeclaration*/ true, symbol, targetFlags, checker, compilerOptions); - return { kind: ImportFixKind.AddNew, moduleSpecifier, importKind, addAsTypeOnly, useRequire }; + return { kind: ImportFixKind.AddNew, moduleSpecifierKind: undefined, moduleSpecifier, importKind, addAsTypeOnly, useRequire }; } } @@ -1276,24 +1270,24 @@ function getFixInfos(context: CodeFixContextBase, errorCode: number, pos: number } const packageJsonImportFilter = createPackageJsonImportFilter(context.sourceFile, context.preferences, context.host); - return info && sortFixInfo(info, context.sourceFile, context.program, packageJsonImportFilter, context.host); + return info && sortFixInfo(info, context.sourceFile, context.program, packageJsonImportFilter, context.host, context.preferences); } -function sortFixInfo(fixes: readonly (FixInfo & { fix: ImportFixWithModuleSpecifier; })[], sourceFile: SourceFile, program: Program, packageJsonImportFilter: PackageJsonImportFilter, host: LanguageServiceHost): readonly (FixInfo & { fix: ImportFixWithModuleSpecifier; })[] { +function sortFixInfo(fixes: readonly (FixInfo & { fix: ImportFixWithModuleSpecifier; })[], sourceFile: SourceFile, program: Program, packageJsonImportFilter: PackageJsonImportFilter, host: LanguageServiceHost, preferences: UserPreferences): readonly (FixInfo & { fix: ImportFixWithModuleSpecifier; })[] { const _toPath = (fileName: string) => toPath(fileName, host.getCurrentDirectory(), hostGetCanonicalFileName(host)); return sort(fixes, (a, b) => compareBooleans(!!a.isJsxNamespaceFix, !!b.isJsxNamespaceFix) || compareValues(a.fix.kind, b.fix.kind) || - compareModuleSpecifiers(a.fix, b.fix, sourceFile, program, packageJsonImportFilter.allowsImportingSpecifier, _toPath)); + compareModuleSpecifiers(a.fix, b.fix, sourceFile, program, preferences, packageJsonImportFilter.allowsImportingSpecifier, _toPath)); } function getFixInfosWithoutDiagnostic(context: CodeFixContextBase, symbolToken: Identifier, useAutoImportProvider: boolean): readonly FixInfo[] | undefined { const info = getFixesInfoForNonUMDImport(context, symbolToken, useAutoImportProvider); const packageJsonImportFilter = createPackageJsonImportFilter(context.sourceFile, context.preferences, context.host); - return info && sortFixInfo(info, context.sourceFile, context.program, packageJsonImportFilter, context.host); + return info && sortFixInfo(info, context.sourceFile, context.program, packageJsonImportFilter, context.host, context.preferences); } -function getBestFix(fixes: readonly ImportFixWithModuleSpecifier[], sourceFile: SourceFile | FutureSourceFile, program: Program, packageJsonImportFilter: PackageJsonImportFilter, host: LanguageServiceHost): ImportFixWithModuleSpecifier | undefined { +function getBestFix(fixes: readonly ImportFixWithModuleSpecifier[], sourceFile: SourceFile | FutureSourceFile, program: Program, packageJsonImportFilter: PackageJsonImportFilter, host: LanguageServiceHost, preferences: UserPreferences): ImportFixWithModuleSpecifier | undefined { if (!some(fixes)) return; // These will always be placed first if available, and are better than other kinds if (fixes[0].kind === ImportFixKind.UseNamespace || fixes[0].kind === ImportFixKind.AddToExisting) { @@ -1307,6 +1301,7 @@ function getBestFix(fixes: readonly ImportFixWithModuleSpecifier[], sourceFile: best, sourceFile, program, + preferences, packageJsonImportFilter.allowsImportingSpecifier, fileName => toPath(fileName, host.getCurrentDirectory(), hostGetCanonicalFileName(host)), ) === Comparison.LessThan ? fix : best @@ -1319,11 +1314,16 @@ function compareModuleSpecifiers( b: ImportFixWithModuleSpecifier, importingFile: SourceFile | FutureSourceFile, program: Program, + preferences: UserPreferences, allowsImportingSpecifier: (specifier: string) => boolean, toPath: (fileName: string) => Path, ): Comparison { if (a.kind !== ImportFixKind.UseNamespace && b.kind !== ImportFixKind.UseNamespace) { - return compareBooleans(allowsImportingSpecifier(b.moduleSpecifier), allowsImportingSpecifier(a.moduleSpecifier)) + return compareBooleans( + b.moduleSpecifierKind !== "node_modules" || allowsImportingSpecifier(b.moduleSpecifier), + a.moduleSpecifierKind !== "node_modules" || allowsImportingSpecifier(a.moduleSpecifier), + ) + || compareModuleSpecifierRelativity(a, b, preferences) || compareNodeCoreModuleSpecifiers(a.moduleSpecifier, b.moduleSpecifier, importingFile, program) || compareBooleans( isFixPossiblyReExportingImportingFile(a, importingFile.path, toPath), @@ -1334,6 +1334,13 @@ function compareModuleSpecifiers( return Comparison.EqualTo; } +function compareModuleSpecifierRelativity(a: ImportFixWithModuleSpecifier, b: ImportFixWithModuleSpecifier, preferences: UserPreferences): Comparison { + if (preferences.importModuleSpecifierPreference === "non-relative" || preferences.importModuleSpecifierPreference === "project-relative") { + return compareBooleans(a.moduleSpecifierKind === "relative", b.moduleSpecifierKind === "relative"); + } + return Comparison.EqualTo; +} + // This is a simple heuristic to try to avoid creating an import cycle with a barrel re-export. // E.g., do not `import { Foo } from ".."` when you could `import { Foo } from "../Foo"`. // This can produce false positives or negatives if re-exports cross into sibling directories @@ -1533,14 +1540,18 @@ function getExportInfos( cancellationToken.throwIfCancellationRequested(); const compilerOptions = program.getCompilerOptions(); - const defaultInfo = getDefaultLikeExportInfo(moduleSymbol, checker, compilerOptions); - if (defaultInfo && (defaultInfo.name === symbolName || moduleSymbolToValidIdentifier(moduleSymbol, getEmitScriptTarget(compilerOptions), isJsxTagName) === symbolName) && symbolHasMeaning(defaultInfo.resolvedSymbol, currentTokenMeaning)) { + const defaultInfo = getDefaultLikeExportInfo(moduleSymbol, checker); + if ( + defaultInfo + && symbolFlagsHaveMeaning(checker.getSymbolFlags(defaultInfo.symbol), currentTokenMeaning) + && forEachNameOfDefaultExport(defaultInfo.symbol, checker, compilerOptions, isJsxTagName, name => name === symbolName) + ) { addSymbol(moduleSymbol, sourceFile, defaultInfo.symbol, defaultInfo.exportKind, program, isFromPackageJson); } // check exports with the same name const exportSymbolWithIdenticalName = checker.tryGetMemberInModuleExportsAndProperties(symbolName, moduleSymbol); - if (exportSymbolWithIdenticalName && symbolHasMeaning(exportSymbolWithIdenticalName, currentTokenMeaning)) { + if (exportSymbolWithIdenticalName && symbolFlagsHaveMeaning(checker.getSymbolFlags(exportSymbolWithIdenticalName), currentTokenMeaning)) { addSymbol(moduleSymbol, sourceFile, exportSymbolWithIdenticalName, ExportKind.Named, program, isFromPackageJson); } }); @@ -1721,7 +1732,7 @@ function promoteFromTypeOnly( // Change .ts extension to .js if necessary if (!compilerOptions.allowImportingTsExtensions) { const moduleSpecifier = tryGetModuleSpecifierFromDeclaration(importClause.parent); - const resolvedModule = moduleSpecifier && program.getResolvedModuleFromModuleSpecifier(moduleSpecifier)?.resolvedModule; + const resolvedModule = moduleSpecifier && program.getResolvedModuleFromModuleSpecifier(moduleSpecifier, sourceFile)?.resolvedModule; if (resolvedModule?.resolvedUsingTsExtension) { const changedExtension = changeAnyExtension(moduleSpecifier!.text, getOutputExtension(moduleSpecifier!.text, compilerOptions)); changes.replaceNode(sourceFile, moduleSpecifier!, factory.createStringLiteral(changedExtension)); @@ -2009,44 +2020,12 @@ function createConstEqualsRequireDeclaration(name: string | ObjectBindingPattern ) as RequireVariableStatement; } -function symbolHasMeaning({ declarations }: Symbol, meaning: SemanticMeaning): boolean { - return some(declarations, decl => !!(getMeaningFromDeclaration(decl) & meaning)); -} - -/** @internal */ -export function moduleSymbolToValidIdentifier(moduleSymbol: Symbol, target: ScriptTarget | undefined, forceCapitalize: boolean): string { - return moduleSpecifierToValidIdentifier(removeFileExtension(stripQuotes(moduleSymbol.name)), target, forceCapitalize); -} - -/** @internal */ -export function moduleSpecifierToValidIdentifier(moduleSpecifier: string, target: ScriptTarget | undefined, forceCapitalize?: boolean): string { - const baseName = getBaseFileName(removeSuffix(moduleSpecifier, "/index")); - let res = ""; - let lastCharWasValid = true; - const firstCharCode = baseName.charCodeAt(0); - if (isIdentifierStart(firstCharCode, target)) { - res += String.fromCharCode(firstCharCode); - if (forceCapitalize) { - res = res.toUpperCase(); - } - } - else { - lastCharWasValid = false; - } - for (let i = 1; i < baseName.length; i++) { - const ch = baseName.charCodeAt(i); - const isValid = isIdentifierPart(ch, target); - if (isValid) { - let char = String.fromCharCode(ch); - if (!lastCharWasValid) { - char = char.toUpperCase(); - } - res += char; - } - lastCharWasValid = isValid; - } - // Need `|| "_"` to ensure result isn't empty. - return !isStringANonContextualKeyword(res) ? res || "_" : `_${res}`; +function symbolFlagsHaveMeaning(flags: SymbolFlags, meaning: SemanticMeaning): boolean { + return meaning === SemanticMeaning.All ? true : + meaning & SemanticMeaning.Value ? !!(flags & SymbolFlags.Value) : + meaning & SemanticMeaning.Type ? !!(flags & SymbolFlags.Type) : + meaning & SemanticMeaning.Namespace ? !!(flags & SymbolFlags.Namespace) : + false; } function getImpliedNodeFormatForEmit(file: SourceFile | FutureSourceFile, program: Program) { diff --git a/src/services/codefixes/inferFromUsage.ts b/src/services/codefixes/inferFromUsage.ts index 95a19e1d39638..620542686acab 100644 --- a/src/services/codefixes/inferFromUsage.ts +++ b/src/services/codefixes/inferFromUsage.ts @@ -1,3 +1,11 @@ +import { + codeFixAll, + createCodeFixAction, + createImportAdder, + ImportAdder, + registerCodeFix, + tryGetAutoImportableReferenceFromTypeNode, +} from "../_namespaces/ts.codefix.js"; import { __String, AnonymousType, @@ -101,15 +109,7 @@ import { UnionReduction, UserPreferences, VariableDeclaration, -} from "../_namespaces/ts"; -import { - codeFixAll, - createCodeFixAction, - createImportAdder, - ImportAdder, - registerCodeFix, - tryGetAutoImportableReferenceFromTypeNode, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const fixId = "inferFromUsage"; const errorCodes = [ diff --git a/src/services/codefixes/removeAccidentalCallParentheses.ts b/src/services/codefixes/removeAccidentalCallParentheses.ts index c4ad5c9ea3721..56f883cc54f6a 100644 --- a/src/services/codefixes/removeAccidentalCallParentheses.ts +++ b/src/services/codefixes/removeAccidentalCallParentheses.ts @@ -1,14 +1,14 @@ +import { + createCodeFixActionWithoutFixAll, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { Diagnostics, findAncestor, getTokenAtPosition, isCallExpression, textChanges, -} from "../_namespaces/ts"; -import { - createCodeFixActionWithoutFixAll, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const fixId = "removeAccidentalCallParentheses"; const errorCodes = [ diff --git a/src/services/codefixes/removeUnnecessaryAwait.ts b/src/services/codefixes/removeUnnecessaryAwait.ts index 45e6dcdef0dcd..1272ba512d38b 100644 --- a/src/services/codefixes/removeUnnecessaryAwait.ts +++ b/src/services/codefixes/removeUnnecessaryAwait.ts @@ -1,3 +1,8 @@ +import { + codeFixAll, + createCodeFixAction, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { AwaitKeyword, Diagnostics, @@ -13,12 +18,7 @@ import { textChanges, TextSpan, tryCast, -} from "../_namespaces/ts"; -import { - codeFixAll, - createCodeFixAction, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const fixId = "removeUnnecessaryAwait"; const errorCodes = [ diff --git a/src/services/codefixes/requireInTs.ts b/src/services/codefixes/requireInTs.ts index 1c385d5ed0e19..f087722dbb047 100644 --- a/src/services/codefixes/requireInTs.ts +++ b/src/services/codefixes/requireInTs.ts @@ -1,3 +1,8 @@ +import { + codeFixAll, + createCodeFixAction, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { cast, Debug, @@ -21,12 +26,7 @@ import { textChanges, tryCast, VariableStatement, -} from "../_namespaces/ts"; -import { - codeFixAll, - createCodeFixAction, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const fixId = "requireInTs"; const errorCodes = [Diagnostics.require_call_may_be_converted_to_an_import.code]; diff --git a/src/services/codefixes/returnValueCorrect.ts b/src/services/codefixes/returnValueCorrect.ts index 3aba6c183d29a..b021eb9f8105c 100644 --- a/src/services/codefixes/returnValueCorrect.ts +++ b/src/services/codefixes/returnValueCorrect.ts @@ -1,3 +1,8 @@ +import { + codeFixAll, + createCodeFixAction, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { append, ArrowFunction, @@ -39,12 +44,7 @@ import { Type, TypeChecker, VariableLikeDeclaration, -} from "../_namespaces/ts"; -import { - codeFixAll, - createCodeFixAction, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const fixId = "returnValueCorrect"; const fixIdAddReturnStatement = "fixAddReturnStatement"; diff --git a/src/services/codefixes/splitTypeOnlyImport.ts b/src/services/codefixes/splitTypeOnlyImport.ts index 8ceba91300fbe..967d6fc837c10 100644 --- a/src/services/codefixes/splitTypeOnlyImport.ts +++ b/src/services/codefixes/splitTypeOnlyImport.ts @@ -1,3 +1,8 @@ +import { + codeFixAll, + createCodeFixAction, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { CodeFixContextBase, Debug, @@ -10,12 +15,7 @@ import { SourceFile, textChanges, TextSpan, -} from "../_namespaces/ts"; -import { - codeFixAll, - createCodeFixAction, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const errorCodes = [Diagnostics.A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both.code]; const fixId = "splitTypeOnlyImport"; diff --git a/src/services/codefixes/useBigintLiteral.ts b/src/services/codefixes/useBigintLiteral.ts index 4492e176b5c57..33248f01b811b 100644 --- a/src/services/codefixes/useBigintLiteral.ts +++ b/src/services/codefixes/useBigintLiteral.ts @@ -1,3 +1,8 @@ +import { + codeFixAll, + createCodeFixAction, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { Diagnostics, factory, @@ -7,12 +12,7 @@ import { textChanges, TextSpan, tryCast, -} from "../_namespaces/ts"; -import { - codeFixAll, - createCodeFixAction, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const fixId = "useBigintLiteral"; const errorCodes = [ diff --git a/src/services/codefixes/useDefaultImport.ts b/src/services/codefixes/useDefaultImport.ts index 11d647517593a..a7efb9b98f33e 100644 --- a/src/services/codefixes/useDefaultImport.ts +++ b/src/services/codefixes/useDefaultImport.ts @@ -1,3 +1,8 @@ +import { + codeFixAll, + createCodeFixAction, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { AnyImportSyntax, Diagnostics, @@ -14,12 +19,7 @@ import { SourceFile, textChanges, UserPreferences, -} from "../_namespaces/ts"; -import { - codeFixAll, - createCodeFixAction, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const fixId = "useDefaultImport"; const errorCodes = [Diagnostics.Import_may_be_converted_to_a_default_import.code]; diff --git a/src/services/codefixes/wrapDecoratorInParentheses.ts b/src/services/codefixes/wrapDecoratorInParentheses.ts index 10066eebda99f..74652e0794509 100644 --- a/src/services/codefixes/wrapDecoratorInParentheses.ts +++ b/src/services/codefixes/wrapDecoratorInParentheses.ts @@ -1,3 +1,8 @@ +import { + codeFixAll, + createCodeFixAction, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { Debug, Diagnostics, @@ -7,12 +12,7 @@ import { isDecorator, SourceFile, textChanges, -} from "../_namespaces/ts"; -import { - codeFixAll, - createCodeFixAction, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const fixId = "wrapDecoratorInParentheses"; const errorCodes = [Diagnostics.Expression_must_be_enclosed_in_parentheses_to_be_used_as_a_decorator.code]; diff --git a/src/services/codefixes/wrapJsxInFragment.ts b/src/services/codefixes/wrapJsxInFragment.ts index 11693d88a4c43..4c6c1470172e3 100644 --- a/src/services/codefixes/wrapJsxInFragment.ts +++ b/src/services/codefixes/wrapJsxInFragment.ts @@ -1,3 +1,8 @@ +import { + codeFixAll, + createCodeFixAction, + registerCodeFix, +} from "../_namespaces/ts.codefix.js"; import { BinaryExpression, Diagnostics, @@ -11,12 +16,7 @@ import { SourceFile, SyntaxKind, textChanges, -} from "../_namespaces/ts"; -import { - codeFixAll, - createCodeFixAction, - registerCodeFix, -} from "../_namespaces/ts.codefix"; +} from "../_namespaces/ts.js"; const fixID = "wrapJsxInFragment"; const errorCodes = [Diagnostics.JSX_expressions_must_have_one_parent_element.code]; diff --git a/src/services/completions.ts b/src/services/completions.ts index 386e53f2d8e19..d09e81736433f 100644 --- a/src/services/completions.ts +++ b/src/services/completions.ts @@ -1,3 +1,4 @@ +import { StringCompletions } from "./_namespaces/ts.Completions.js"; import { __String, addToSeen, @@ -389,8 +390,7 @@ import { UserPreferences, VariableDeclaration, walkUpParenthesizedExpressions, -} from "./_namespaces/ts"; -import { StringCompletions } from "./_namespaces/ts.Completions"; +} from "./_namespaces/ts.js"; // Exported only for tests /** @internal */ diff --git a/src/services/documentHighlights.ts b/src/services/documentHighlights.ts index 37faabf7b5328..0cb7654459ca4 100644 --- a/src/services/documentHighlights.ts +++ b/src/services/documentHighlights.ts @@ -81,7 +81,7 @@ import { toPath, tryCast, TryStatement, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; export interface DocumentHighlights { fileName: string; diff --git a/src/services/documentRegistry.ts b/src/services/documentRegistry.ts index fc42cacce7d5b..5c9aefd0a0a05 100644 --- a/src/services/documentRegistry.ts +++ b/src/services/documentRegistry.ts @@ -28,7 +28,7 @@ import { toPath, tracing, updateLanguageServiceSourceFile, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; /** * The document registry represents a store of SourceFile objects that can be shared between diff --git a/src/services/exportInfoMap.ts b/src/services/exportInfoMap.ts index f7c6521448d3a..24d0c7b9b8000 100644 --- a/src/services/exportInfoMap.ts +++ b/src/services/exportInfoMap.ts @@ -1,6 +1,7 @@ import { __String, addToSeen, + append, arrayIsEqualTo, CancellationToken, CompilerOptions, @@ -10,15 +11,15 @@ import { emptyArray, ensureTrailingDirectorySeparator, findIndex, - firstDefined, forEachAncestorDirectory, forEachEntry, FutureSourceFile, getBaseFileName, GetCanonicalFileName, + getDefaultLikeExportNameFromDeclaration, getDirectoryPath, + getEmitScriptTarget, getLocalSymbolForExportDefault, - getNameForExportedSymbol, getNamesForExportedSymbol, getNodeModulePathParts, getPackageNameFromTypesPackageName, @@ -28,12 +29,9 @@ import { hostGetCanonicalFileName, hostUsesCaseSensitiveFileNames, InternalSymbolName, - isExportAssignment, - isExportSpecifier, isExternalModuleNameRelative, isExternalModuleSymbol, isExternalOrCommonJsModule, - isIdentifier, isKnownSymbol, isNonGlobalAmbientModule, isPrivateIdentifierSymbol, @@ -42,13 +40,13 @@ import { ModuleSpecifierCache, ModuleSpecifierResolutionHost, moduleSpecifiers, + moduleSymbolToValidIdentifier, nodeModulesPathPart, PackageJsonImportFilter, Path, pathContainsNodeModules, Program, skipAlias, - skipOuterExpressions, SourceFile, startsWith, Statement, @@ -56,12 +54,11 @@ import { Symbol, SymbolFlags, timestamp, - tryCast, TypeChecker, unescapeLeadingUnderscores, unmangleScopedPackageName, UserPreferences, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; /** @internal */ export const enum ImportKind { @@ -502,14 +499,13 @@ export function getExportInfoMap(importingFile: SourceFile | FutureSourceFile, h } host.log?.("getExportInfoMap: cache miss or empty; calculating new results"); - const compilerOptions = program.getCompilerOptions(); let moduleCount = 0; try { forEachExternalModuleToImportFrom(program, host, preferences, /*useAutoImportProvider*/ true, (moduleSymbol, moduleFile, program, isFromPackageJson) => { if (++moduleCount % 100 === 0) cancellationToken?.throwIfCancellationRequested(); const seenExports = new Map<__String, true>(); const checker = program.getTypeChecker(); - const defaultInfo = getDefaultLikeExportInfo(moduleSymbol, checker, compilerOptions); + const defaultInfo = getDefaultLikeExportInfo(moduleSymbol, checker); // Note: I think we shouldn't actually see resolved module symbols here, but weird merges // can cause it to happen: see 'completionsImport_mergedReExport.ts' if (defaultInfo && isImportableSymbol(defaultInfo.symbol, checker)) { @@ -551,61 +547,49 @@ export function getExportInfoMap(importingFile: SourceFile | FutureSourceFile, h } /** @internal */ -export function getDefaultLikeExportInfo(moduleSymbol: Symbol, checker: TypeChecker, compilerOptions: CompilerOptions) { - const exported = getDefaultLikeExportWorker(moduleSymbol, checker); - if (!exported) return undefined; - const { symbol, exportKind } = exported; - const info = getDefaultExportInfoWorker(symbol, checker, compilerOptions); - return info && { symbol, exportKind, ...info }; +export function getDefaultLikeExportInfo(moduleSymbol: Symbol, checker: TypeChecker) { + const exportEquals = checker.resolveExternalModuleSymbol(moduleSymbol); + if (exportEquals !== moduleSymbol) return { symbol: exportEquals, exportKind: ExportKind.ExportEquals }; + const defaultExport = checker.tryGetMemberInModuleExports(InternalSymbolName.Default, moduleSymbol); + if (defaultExport) return { symbol: defaultExport, exportKind: ExportKind.Default }; } function isImportableSymbol(symbol: Symbol, checker: TypeChecker) { return !checker.isUndefinedSymbol(symbol) && !checker.isUnknownSymbol(symbol) && !isKnownSymbol(symbol) && !isPrivateIdentifierSymbol(symbol); } -function getDefaultLikeExportWorker(moduleSymbol: Symbol, checker: TypeChecker): { readonly symbol: Symbol; readonly exportKind: ExportKind; } | undefined { - const exportEquals = checker.resolveExternalModuleSymbol(moduleSymbol); - if (exportEquals !== moduleSymbol) return { symbol: exportEquals, exportKind: ExportKind.ExportEquals }; - const defaultExport = checker.tryGetMemberInModuleExports(InternalSymbolName.Default, moduleSymbol); - if (defaultExport) return { symbol: defaultExport, exportKind: ExportKind.Default }; -} +/** + * @internal + * May call `cb` multiple times with the same name. + * Terminates when `cb` returns a truthy value. + */ +export function forEachNameOfDefaultExport(defaultExport: Symbol, checker: TypeChecker, compilerOptions: CompilerOptions, preferCapitalizedNames: boolean, cb: (name: string) => T | undefined): T | undefined { + let chain: Symbol[] | undefined; + let current: Symbol | undefined = defaultExport; + + while (current) { + // The predecessor to this function also looked for a name on the `localSymbol` + // of default exports, but I think `getDefaultLikeExportNameFromDeclaration` + // accomplishes the same thing via syntax - no tests failed when I removed it. + const fromDeclaration = getDefaultLikeExportNameFromDeclaration(current); + if (fromDeclaration) { + const final = cb(fromDeclaration); + if (final) return final; + } -/** @internal */ -export function getDefaultExportInfoWorker(defaultExport: Symbol, checker: TypeChecker, compilerOptions: CompilerOptions): { readonly resolvedSymbol: Symbol; readonly name: string; } | undefined { - const localSymbol = getLocalSymbolForExportDefault(defaultExport); - if (localSymbol) return { resolvedSymbol: localSymbol, name: localSymbol.name }; - - const name = getNameForExportDefault(defaultExport); - if (name !== undefined) return { resolvedSymbol: defaultExport, name }; - - if (defaultExport.flags & SymbolFlags.Alias) { - const aliased = checker.getImmediateAliasedSymbol(defaultExport); - if (aliased && aliased.parent) { - // - `aliased` will be undefined if the module is exporting an unresolvable name, - // but we can still offer completions for it. - // - `aliased.parent` will be undefined if the module is exporting `globalThis.something`, - // or another expression that resolves to a global. - return getDefaultExportInfoWorker(aliased, checker, compilerOptions); + if (current.escapedName !== InternalSymbolName.Default && current.escapedName !== InternalSymbolName.ExportEquals) { + const final = cb(current.name); + if (final) return final; } - } - if ( - defaultExport.escapedName !== InternalSymbolName.Default && - defaultExport.escapedName !== InternalSymbolName.ExportEquals - ) { - return { resolvedSymbol: defaultExport, name: defaultExport.getName() }; + chain = append(chain, current); + current = current.flags & SymbolFlags.Alias ? checker.getImmediateAliasedSymbol(current) : undefined; } - return { resolvedSymbol: defaultExport, name: getNameForExportedSymbol(defaultExport, compilerOptions.target) }; -} -function getNameForExportDefault(symbol: Symbol): string | undefined { - return symbol.declarations && firstDefined(symbol.declarations, declaration => { - if (isExportAssignment(declaration)) { - return tryCast(skipOuterExpressions(declaration.expression), isIdentifier)?.text; - } - else if (isExportSpecifier(declaration)) { - Debug.assert(declaration.name.text === InternalSymbolName.Default, "Expected the specifier to be a default export"); - return declaration.propertyName && declaration.propertyName.text; + for (const symbol of chain ?? emptyArray) { + if (symbol.parent && isExternalModuleSymbol(symbol.parent)) { + const final = cb(moduleSymbolToValidIdentifier(symbol.parent, getEmitScriptTarget(compilerOptions), preferCapitalizedNames)); + if (final) return final; } - }); + } } diff --git a/src/services/findAllReferences.ts b/src/services/findAllReferences.ts index 9276c30ad8dba..7abf2257b6386 100644 --- a/src/services/findAllReferences.ts +++ b/src/services/findAllReferences.ts @@ -1,3 +1,15 @@ +import { + createImportTracker, + ExportInfo, + ExportKind, + findModuleReferences, + getExportInfo, + getImportOrExportSymbol, + ImportExport, + ImportsResult, + ImportTracker, + ModuleReference, +} from "./_namespaces/ts.FindAllReferences.js"; import { __String, addToSeen, @@ -253,19 +265,7 @@ import { TypeChecker, TypeLiteralNode, VariableDeclaration, -} from "./_namespaces/ts"; -import { - createImportTracker, - ExportInfo, - ExportKind, - findModuleReferences, - getExportInfo, - getImportOrExportSymbol, - ImportExport, - ImportsResult, - ImportTracker, - ModuleReference, -} from "./_namespaces/ts.FindAllReferences"; +} from "./_namespaces/ts.js"; /** @internal */ export interface SymbolAndEntries { @@ -757,7 +757,7 @@ interface PrefixAndSuffix { readonly suffixText?: string; } function getPrefixAndSuffixText(entry: Entry, originalNode: Node, checker: TypeChecker, quotePreference: QuotePreference): PrefixAndSuffix { - if (entry.kind !== EntryKind.Span && isIdentifier(originalNode)) { + if (entry.kind !== EntryKind.Span && (isIdentifier(originalNode) || isStringLiteralLike(originalNode))) { const { node, kind } = entry; const parent = node.parent; const name = originalNode.text; diff --git a/src/services/formatting/formatting.ts b/src/services/formatting/formatting.ts index 881a26c5e4e8a..2dc19c021e302 100644 --- a/src/services/formatting/formatting.ts +++ b/src/services/formatting/formatting.ts @@ -1,3 +1,14 @@ +import { + FormattingContext, + FormattingRequestKind, + FormattingScanner, + getFormattingScanner, + Rule, + RuleAction, + RuleFlags, + RulesMap, + SmartIndenter, +} from "../_namespaces/ts.formatting.js"; import { Block, CallExpression, @@ -65,18 +76,7 @@ import { TextRange, TriviaSyntaxKind, TypeReferenceNode, -} from "../_namespaces/ts"; -import { - FormattingContext, - FormattingRequestKind, - FormattingScanner, - getFormattingScanner, - Rule, - RuleAction, - RuleFlags, - RulesMap, - SmartIndenter, -} from "../_namespaces/ts.formatting"; +} from "../_namespaces/ts.js"; /** @internal */ export interface FormatContext { diff --git a/src/services/formatting/formattingContext.ts b/src/services/formatting/formattingContext.ts index be23fe764396b..f41b7ee0ca283 100644 --- a/src/services/formatting/formattingContext.ts +++ b/src/services/formatting/formattingContext.ts @@ -1,3 +1,4 @@ +import { TextRangeWithKind } from "../_namespaces/ts.formatting.js"; import { Debug, findChildOfKind, @@ -5,8 +6,7 @@ import { Node, SourceFileLike, SyntaxKind, -} from "../_namespaces/ts"; -import { TextRangeWithKind } from "../_namespaces/ts.formatting"; +} from "../_namespaces/ts.js"; /** @internal */ export const enum FormattingRequestKind { diff --git a/src/services/formatting/formattingScanner.ts b/src/services/formatting/formattingScanner.ts index 78890ad3a29b3..8a3baa2d13896 100644 --- a/src/services/formatting/formattingScanner.ts +++ b/src/services/formatting/formattingScanner.ts @@ -1,3 +1,9 @@ +import { + createTextRangeWithKind, + TextRangeWithKind, + TextRangeWithTriviaKind, + TokenInfo, +} from "../_namespaces/ts.formatting.js"; import { append, createScanner, @@ -14,13 +20,7 @@ import { NodeArray, ScriptTarget, SyntaxKind, -} from "../_namespaces/ts"; -import { - createTextRangeWithKind, - TextRangeWithKind, - TextRangeWithTriviaKind, - TokenInfo, -} from "../_namespaces/ts.formatting"; +} from "../_namespaces/ts.js"; const standardScanner = createScanner(ScriptTarget.Latest, /*skipTrivia*/ false, LanguageVariant.Standard); const jsxScanner = createScanner(ScriptTarget.Latest, /*skipTrivia*/ false, LanguageVariant.JSX); diff --git a/src/services/formatting/rule.ts b/src/services/formatting/rule.ts index ba4293102644e..4e10219d8e335 100644 --- a/src/services/formatting/rule.ts +++ b/src/services/formatting/rule.ts @@ -1,8 +1,8 @@ +import { FormattingContext } from "../_namespaces/ts.formatting.js"; import { emptyArray, SyntaxKind, -} from "../_namespaces/ts"; -import { FormattingContext } from "../_namespaces/ts.formatting"; +} from "../_namespaces/ts.js"; /** @internal */ export interface Rule { diff --git a/src/services/formatting/rules.ts b/src/services/formatting/rules.ts index 39a94b032fd66..806dc6003f510 100644 --- a/src/services/formatting/rules.ts +++ b/src/services/formatting/rules.ts @@ -1,3 +1,14 @@ +import { + anyContext, + ContextPredicate, + FormattingContext, + FormattingRequestKind, + Rule, + RuleAction, + RuleFlags, + TextRangeWithKind, + TokenRange, +} from "../_namespaces/ts.formatting.js"; import { BinaryExpression, contains, @@ -20,18 +31,7 @@ import { SyntaxKind, typeKeywords, YieldExpression, -} from "../_namespaces/ts"; -import { - anyContext, - ContextPredicate, - FormattingContext, - FormattingRequestKind, - Rule, - RuleAction, - RuleFlags, - TextRangeWithKind, - TokenRange, -} from "../_namespaces/ts.formatting"; +} from "../_namespaces/ts.js"; /** @internal */ export interface RuleSpec { diff --git a/src/services/formatting/rulesMap.ts b/src/services/formatting/rulesMap.ts index 15ee6fa629043..d3145b2728d64 100644 --- a/src/services/formatting/rulesMap.ts +++ b/src/services/formatting/rulesMap.ts @@ -1,10 +1,3 @@ -import { - Debug, - every, - FormatCodeSettings, - FormattingHost, - SyntaxKind, -} from "../_namespaces/ts"; import { anyContext, FormatContext, @@ -13,7 +6,14 @@ import { Rule, RuleAction, RuleSpec, -} from "../_namespaces/ts.formatting"; +} from "../_namespaces/ts.formatting.js"; +import { + Debug, + every, + FormatCodeSettings, + FormattingHost, + SyntaxKind, +} from "../_namespaces/ts.js"; /** @internal */ export function getFormatContext(options: FormatCodeSettings, host: FormattingHost): FormatContext { diff --git a/src/services/formatting/smartIndenter.ts b/src/services/formatting/smartIndenter.ts index ca0936f3f7851..c2141602f1108 100644 --- a/src/services/formatting/smartIndenter.ts +++ b/src/services/formatting/smartIndenter.ts @@ -1,3 +1,7 @@ +import { + getRangeOfEnclosingComment, + TextRangeWithKind, +} from "../_namespaces/ts.formatting.js"; import { ArrayBindingPattern, ArrayLiteralExpression, @@ -52,11 +56,7 @@ import { TypeLiteralNode, TypeReferenceNode, VariableDeclarationList, -} from "../_namespaces/ts"; -import { - getRangeOfEnclosingComment, - TextRangeWithKind, -} from "../_namespaces/ts.formatting"; +} from "../_namespaces/ts.js"; /** @internal */ export namespace SmartIndenter { diff --git a/src/services/getEditsForFileRename.ts b/src/services/getEditsForFileRename.ts index 860202a0bb285..cffc15aeeabb3 100644 --- a/src/services/getEditsForFileRename.ts +++ b/src/services/getEditsForFileRename.ts @@ -48,7 +48,7 @@ import { TextRange, tryRemoveDirectoryPrefix, UserPreferences, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; /** @internal */ export function getEditsForFileRename( @@ -247,7 +247,7 @@ function getSourceFileToImport( else { const mode = program.getModeForUsageLocation(importingSourceFile, importLiteral); const resolved = host.resolveModuleNameLiterals || !host.resolveModuleNames ? - program.getResolvedModuleFromModuleSpecifier(importLiteral) : + program.getResolvedModuleFromModuleSpecifier(importLiteral, importingSourceFile) : host.getResolvedModuleWithFailedLookupLocationsFromCache && host.getResolvedModuleWithFailedLookupLocationsFromCache(importLiteral.text, importingSourceFile.fileName, mode); return getSourceFileToImportFromResolved(importLiteral, resolved, oldToNew, program.getSourceFiles()); } diff --git a/src/services/goToDefinition.ts b/src/services/goToDefinition.ts index 8fbfbe145e6ef..a576f684ede54 100644 --- a/src/services/goToDefinition.ts +++ b/src/services/goToDefinition.ts @@ -1,3 +1,4 @@ +import { isContextWithStartAndEndNode } from "./_namespaces/ts.FindAllReferences.js"; import { AssignmentDeclarationKind, AssignmentExpression, @@ -105,8 +106,7 @@ import { TypeFlags, TypeReference, unescapeLeadingUnderscores, -} from "./_namespaces/ts"; -import { isContextWithStartAndEndNode } from "./_namespaces/ts.FindAllReferences"; +} from "./_namespaces/ts.js"; /** @internal */ export function getDefinitionAtPosition(program: Program, sourceFile: SourceFile, position: number, searchOtherFilesOnly?: boolean, stopAtAlias?: boolean): readonly DefinitionInfo[] | undefined { @@ -199,7 +199,7 @@ export function getDefinitionAtPosition(program: Program, sourceFile: SourceFile if (!symbol && isModuleSpecifierLike(fallbackNode)) { // We couldn't resolve the module specifier as an external module, but it could // be that module resolution succeeded but the target was not a module. - const ref = program.getResolvedModuleFromModuleSpecifier(fallbackNode)?.resolvedModule; + const ref = program.getResolvedModuleFromModuleSpecifier(fallbackNode, sourceFile)?.resolvedModule; if (ref) { return [{ name: fallbackNode.text, @@ -225,7 +225,7 @@ export function getDefinitionAtPosition(program: Program, sourceFile: SourceFile const calledDeclaration = tryGetSignatureDeclaration(typeChecker, node); // Don't go to the component constructor definition for a JSX element, just go to the component definition. - if (calledDeclaration && !(isJsxOpeningLikeElement(node.parent) && isConstructorLike(calledDeclaration))) { + if (calledDeclaration && !(isJsxOpeningLikeElement(node.parent) && isJsxConstructorLike(calledDeclaration))) { const sigInfo = createDefinitionFromSignatureDeclaration(typeChecker, calledDeclaration, failedAliasResolution); // For a function, if this is the original function definition, return just sigInfo. // If this is the original constructor definition, parent is the class. @@ -341,7 +341,7 @@ export function getReferenceAtPosition(sourceFile: SourceFile, position: number, const typeReferenceDirective = findReferenceInPosition(sourceFile.typeReferenceDirectives, position); if (typeReferenceDirective) { - const reference = program.getResolvedTypeReferenceDirectives().get(typeReferenceDirective.fileName, typeReferenceDirective.resolutionMode || program.getDefaultResolutionModeForFile(sourceFile))?.resolvedTypeReferenceDirective; + const reference = program.getResolvedTypeReferenceDirectiveFromTypeReferenceDirective(typeReferenceDirective, sourceFile)?.resolvedTypeReferenceDirective; const file = reference && program.getSourceFile(reference.resolvedFileName!); // TODO:GH#18217 return file && { reference: typeReferenceDirective, fileName: file.fileName, file, unverified: false }; } @@ -355,7 +355,7 @@ export function getReferenceAtPosition(sourceFile: SourceFile, position: number, if (sourceFile.imports.length || sourceFile.moduleAugmentations.length) { const node = getTouchingToken(sourceFile, position); let resolution: ResolvedModuleWithFailedLookupLocations | undefined; - if (isModuleSpecifierLike(node) && isExternalModuleNameRelative(node.text) && (resolution = program.getResolvedModuleFromModuleSpecifier(node))) { + if (isModuleSpecifierLike(node) && isExternalModuleNameRelative(node.text) && (resolution = program.getResolvedModuleFromModuleSpecifier(node, sourceFile))) { const verifiedFileName = resolution.resolvedModule?.resolvedFileName; const fileName = verifiedFileName || resolvePath(getDirectoryPath(sourceFile.fileName), node.text); return { @@ -741,10 +741,11 @@ function tryGetSignatureDeclaration(typeChecker: TypeChecker, node: Node): Signa return tryCast(signature && signature.declaration, (d): d is SignatureDeclaration => isFunctionLike(d) && !isFunctionTypeNode(d)); } -function isConstructorLike(node: Node): boolean { +function isJsxConstructorLike(node: Node): boolean { switch (node.kind) { case SyntaxKind.Constructor: case SyntaxKind.ConstructorType: + case SyntaxKind.CallSignature: case SyntaxKind.ConstructSignature: return true; default: diff --git a/src/services/importTracker.ts b/src/services/importTracker.ts index 516df4dbdb5b4..ade3cd39edd2a 100644 --- a/src/services/importTracker.ts +++ b/src/services/importTracker.ts @@ -83,7 +83,7 @@ import { ValidImportTypeNode, VariableDeclaration, walkUpBindingElementsAndPatterns, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; /* Code for finding imports of an exported symbol. Used only by FindAllReferences. */ @@ -480,7 +480,7 @@ export function findModuleReferences(program: Program, sourceFiles: readonly Sou } } for (const ref of referencingFile.typeReferenceDirectives) { - const referenced = program.getResolvedTypeReferenceDirectives().get(ref.fileName, ref.resolutionMode || program.getDefaultResolutionModeForFile(referencingFile))?.resolvedTypeReferenceDirective; + const referenced = program.getResolvedTypeReferenceDirectiveFromTypeReferenceDirective(ref, referencingFile)?.resolvedTypeReferenceDirective; if (referenced !== undefined && referenced.resolvedFileName === (searchSourceFile as SourceFile).fileName) { refs.push({ kind: "reference", referencingFile, ref }); } diff --git a/src/services/inlayHints.ts b/src/services/inlayHints.ts index ed084912c6863..ce779052a053a 100644 --- a/src/services/inlayHints.ts +++ b/src/services/inlayHints.ts @@ -123,7 +123,7 @@ import { UserPreferences, usingSingleLineStringWriter, VariableDeclaration, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; const leadingParameterNameCommentRegexFactory = (name: string) => { return new RegExp(`^\\s?/\\*\\*?\\s?${name}\\s?\\*\\/\\s?$`); diff --git a/src/services/jsDoc.ts b/src/services/jsDoc.ts index a08937cfd7e99..94664ce5d4332 100644 --- a/src/services/jsDoc.ts +++ b/src/services/jsDoc.ts @@ -92,7 +92,7 @@ import { TypeChecker, typeParameterNamePart, VariableStatement, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; const jsDocTagNames = [ "abstract", diff --git a/src/services/mapCode.ts b/src/services/mapCode.ts new file mode 100644 index 0000000000000..b87ea5e75301f --- /dev/null +++ b/src/services/mapCode.ts @@ -0,0 +1,323 @@ +import { + Block, + ClassElement, + ClassLikeDeclaration, + createSourceFile, + FileTextChanges, + find, + findAncestor, + findLast, + flatten, + forEach, + formatting, + getTokenAtPosition, + isBlock, + isClassElement, + isClassLike, + isForInOrOfStatement, + isForStatement, + isIfStatement, + isInterfaceDeclaration, + isLabeledStatement, + isNamedDeclaration, + isSourceFile, + isTypeElement, + isWhileStatement, + LanguageServiceHost, + Mutable, + Node, + NodeArray, + or, + some, + SourceFile, + Statement, + SyntaxKind, + textChanges, + TextSpan, + TypeElement, + UserPreferences, +} from "./_namespaces/ts.js"; +import { ChangeTracker } from "./textChanges.js"; + +/** @internal */ +export function mapCode( + sourceFile: SourceFile, + contents: string[], + focusLocations: TextSpan[][] | undefined, + host: LanguageServiceHost, + formatContext: formatting.FormatContext, + preferences: UserPreferences, +): FileTextChanges[] { + return textChanges.ChangeTracker.with( + { host, formatContext, preferences }, + changeTracker => { + const parsed = contents.map(c => parse(sourceFile, c)); + const flattenedLocations = focusLocations && flatten(focusLocations); + for (const nodes of parsed) { + placeNodeGroup( + sourceFile, + changeTracker, + nodes, + flattenedLocations, + ); + } + }, + ); +} + +/** + * Tries to parse something into either "top-level" statements, or into blocks + * of class-context definitions. + */ +function parse(sourceFile: SourceFile, content: string): NodeArray { + // We're going to speculatively parse different kinds of contexts to see + // which one makes the most sense, and grab the NodeArray from there. Do + // this as lazily as possible. + const nodeKinds = [ + { + parse: () => + createSourceFile( + "__mapcode_content_nodes.ts", + content, + sourceFile.languageVersion, + /*setParentNodes*/ true, + sourceFile.scriptKind, + ), + body: (sf: SourceFile) => sf.statements, + }, + { + parse: () => + createSourceFile( + "__mapcode_class_content_nodes.ts", + `class __class {\n${content}\n}`, + sourceFile.languageVersion, + /*setParentNodes*/ true, + sourceFile.scriptKind, + ), + body: (cw: SourceFile) => (cw.statements[0] as ClassLikeDeclaration).members, + }, + ]; + + const parsedNodes = []; + for (const { parse, body } of nodeKinds) { + const sourceFile = parse(); + const bod = body(sourceFile); + if (bod.length && sourceFile.parseDiagnostics.length === 0) { + // If we run into a case with no parse errors, this is likely the right kind. + return bod; + } + // We only want to keep the ones that have some kind of body. + else if (bod.length) { + // Otherwise, we'll need to look at others. + parsedNodes.push({ sourceFile, body: bod }); + } + } + // Heuristic: fewer errors = more likely to be the right kind. + const { body } = parsedNodes.sort( + (a, b) => + a.sourceFile.parseDiagnostics.length - + b.sourceFile.parseDiagnostics.length, + )[0]; + return body; +} + +function placeNodeGroup( + originalFile: SourceFile, + changeTracker: ChangeTracker, + changes: NodeArray, + focusLocations?: TextSpan[], +) { + if (isClassElement(changes[0]) || isTypeElement(changes[0])) { + placeClassNodeGroup( + originalFile, + changeTracker, + changes as NodeArray, + focusLocations, + ); + } + else { + placeStatements( + originalFile, + changeTracker, + changes as NodeArray, + focusLocations, + ); + } +} + +function placeClassNodeGroup( + originalFile: SourceFile, + changeTracker: ChangeTracker, + changes: NodeArray | NodeArray, + focusLocations?: TextSpan[], +) { + let classOrInterface; + if (!focusLocations || !focusLocations.length) { + classOrInterface = find(originalFile.statements, or(isClassLike, isInterfaceDeclaration)); + } + else { + classOrInterface = forEach(focusLocations, location => + findAncestor( + getTokenAtPosition(originalFile, location.start), + or(isClassLike, isInterfaceDeclaration), + )); + } + + if (!classOrInterface) { + // No class? don't insert. + return; + } + + const firstMatch = classOrInterface.members.find(member => changes.some(change => matchNode(change, member))); + if (firstMatch) { + // can't be undefined here, since we know we have at least one match. + const lastMatch = findLast( + classOrInterface.members as NodeArray, + member => changes.some(change => matchNode(change, member)), + )!; + + forEach(changes, wipeNode); + changeTracker.replaceNodeRangeWithNodes( + originalFile, + firstMatch, + lastMatch, + changes, + ); + return; + } + + forEach(changes, wipeNode); + changeTracker.insertNodesAfter( + originalFile, + classOrInterface.members[classOrInterface.members.length - 1], + changes, + ); +} + +function placeStatements( + originalFile: SourceFile, + changeTracker: ChangeTracker, + changes: NodeArray, + focusLocations?: TextSpan[], +) { + if (!focusLocations?.length) { + changeTracker.insertNodesAtEndOfFile( + originalFile, + changes, + /*blankLineBetween*/ false, + ); + return; + } + + for (const location of focusLocations) { + const scope = findAncestor( + getTokenAtPosition(originalFile, location.start), + (block): block is Block | SourceFile => + or(isBlock, isSourceFile)(block) && + some(block.statements, origStmt => changes.some(newStmt => matchNode(newStmt, origStmt))), + ); + if (scope) { + const start = scope.statements.find(stmt => changes.some(node => matchNode(node, stmt))); + if (start) { + // Can't be undefined here, since we know we have at least one match. + const end = findLast(scope.statements, stmt => changes.some(node => matchNode(node, stmt)))!; + forEach(changes, wipeNode); + changeTracker.replaceNodeRangeWithNodes( + originalFile, + start, + end, + changes, + ); + return; + } + } + } + + let scopeStatements: NodeArray = originalFile.statements; + for (const location of focusLocations) { + const block = findAncestor( + getTokenAtPosition(originalFile, location.start), + isBlock, + ); + if (block) { + scopeStatements = block.statements; + break; + } + } + forEach(changes, wipeNode); + changeTracker.insertNodesAfter( + originalFile, + scopeStatements[scopeStatements.length - 1], + changes, + ); +} + +function matchNode(a: Node, b: Node): boolean { + if (a.kind !== b.kind) { + return false; + } + + if (a.kind === SyntaxKind.Constructor) { + return a.kind === b.kind; + } + + if (isNamedDeclaration(a) && isNamedDeclaration(b)) { + return a.name.getText() === b.name.getText(); + } + + if (isIfStatement(a) && isIfStatement(b)) { + return ( + a.expression.getText() === b.expression.getText() + ); + } + + if (isWhileStatement(a) && isWhileStatement(b)) { + return ( + a.expression.getText() === + b.expression.getText() + ); + } + + if (isForStatement(a) && isForStatement(b)) { + return ( + a.initializer?.getText() === + b.initializer?.getText() && + a.incrementor?.getText() === + b.incrementor?.getText() && + a.condition?.getText() === b.condition?.getText() + ); + } + + if (isForInOrOfStatement(a) && isForInOrOfStatement(b)) { + return ( + a.expression.getText() === + b.expression.getText() && + a.initializer.getText() === + b.initializer.getText() + ); + } + + if (isLabeledStatement(a) && isLabeledStatement(b)) { + // If we're actually labeling/naming something, we should be a bit + // more lenient about when we match, so we don't care what the actual + // related statement is: we just replace. + return a.label.getText() === b.label.getText(); + } + + if (a.getText() === b.getText()) { + return true; + } + + return false; +} + +function wipeNode(node: Mutable) { + resetNodePositions(node); + node.parent = undefined!; +} + +function resetNodePositions(node: Mutable) { + node.pos = -1; + node.end = -1; + node.forEachChild(resetNodePositions); +} diff --git a/src/services/navigateTo.ts b/src/services/navigateTo.ts index 5beb279698d2e..cb75e1478113f 100644 --- a/src/services/navigateTo.ts +++ b/src/services/navigateTo.ts @@ -27,7 +27,7 @@ import { SourceFile, SyntaxKind, TypeChecker, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; interface RawNavigateToItem { readonly name: string; diff --git a/src/services/navigationBar.ts b/src/services/navigationBar.ts index 167ca62982e94..fc2a316361c06 100644 --- a/src/services/navigationBar.ts +++ b/src/services/navigationBar.ts @@ -111,7 +111,7 @@ import { TypeElement, unescapeLeadingUnderscores, VariableDeclaration, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; /** * Matches all whitespace characters in a string. Eg: diff --git a/src/services/organizeImports.ts b/src/services/organizeImports.ts index 14a794c526af5..facc06742ded7 100644 --- a/src/services/organizeImports.ts +++ b/src/services/organizeImports.ts @@ -63,7 +63,7 @@ import { TransformFlags, tryCast, UserPreferences, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; /** * Organize imports by: diff --git a/src/services/outliningElementsCollector.ts b/src/services/outliningElementsCollector.ts index 740b246eb066f..19d1438c6ea3f 100644 --- a/src/services/outliningElementsCollector.ts +++ b/src/services/outliningElementsCollector.ts @@ -53,7 +53,7 @@ import { TemplateExpression, TextSpan, TryStatement, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; /** @internal */ export function collectElements(sourceFile: SourceFile, cancellationToken: CancellationToken): OutliningSpan[] { diff --git a/src/services/pasteEdits.ts b/src/services/pasteEdits.ts new file mode 100644 index 0000000000000..9b67d62e96576 --- /dev/null +++ b/src/services/pasteEdits.ts @@ -0,0 +1,126 @@ +import { findIndex } from "../compiler/core.js"; +import { + CancellationToken, + Program, + SourceFile, + Statement, + SymbolFlags, + TextRange, + UserPreferences, +} from "../compiler/types.js"; +import { + codefix, + Debug, + fileShouldUseJavaScriptRequire, + forEachChild, + formatting, + getQuotePreference, + isIdentifier, + textChanges, +} from "./_namespaces/ts.js"; +import { addTargetFileImports } from "./refactors/helpers.js"; +import { + addExportsInOldFile, + getExistingLocals, + getUsageInfo, +} from "./refactors/moveToFile.js"; +import { + CodeFixContextBase, + FileTextChanges, + LanguageServiceHost, + PasteEdits, +} from "./types.js"; + +const fixId = "providePostPasteEdits"; +/** @internal */ +export function pasteEditsProvider( + targetFile: SourceFile, + pastedText: string[], + pasteLocations: TextRange[], + copiedFrom: { file: SourceFile; range: TextRange[]; } | undefined, + host: LanguageServiceHost, + preferences: UserPreferences, + formatContext: formatting.FormatContext, + cancellationToken: CancellationToken, +): PasteEdits { + const changes: FileTextChanges[] = textChanges.ChangeTracker.with({ host, formatContext, preferences }, changeTracker => pasteEdits(targetFile, pastedText, pasteLocations, copiedFrom, host, preferences, formatContext, cancellationToken, changeTracker)); + return { edits: changes, fixId }; +} + +function pasteEdits( + targetFile: SourceFile, + pastedText: string[], + pasteLocations: TextRange[], + copiedFrom: { file: SourceFile; range: TextRange[]; } | undefined, + host: LanguageServiceHost, + preferences: UserPreferences, + formatContext: formatting.FormatContext, + cancellationToken: CancellationToken, + changes: textChanges.ChangeTracker, +) { + let actualPastedText: string[] | undefined; + if (pastedText.length !== pasteLocations.length) { + actualPastedText = pastedText.length === 1 ? pastedText : [pastedText.join("\n")]; + } + + const statements: Statement[] = []; + + let newText = targetFile.text; + for (let i = pasteLocations.length - 1; i >= 0; i--) { + const { pos, end } = pasteLocations[i]; + newText = actualPastedText ? newText.slice(0, pos) + actualPastedText[0] + newText.slice(end) : newText.slice(0, pos) + pastedText[i] + newText.slice(end); + } + + Debug.checkDefined(host.runWithTemporaryFileUpdate).call(host, targetFile.fileName, newText, (updatedProgram: Program, originalProgram: Program | undefined, updatedFile: SourceFile) => { + const importAdder = codefix.createImportAdder(updatedFile, updatedProgram, preferences, host); + if (copiedFrom?.range) { + Debug.assert(copiedFrom.range.length === pastedText.length); + copiedFrom.range.forEach(copy => { + const statementsInSourceFile = copiedFrom.file.statements; + const startNodeIndex = findIndex(statementsInSourceFile, s => s.end > copy.pos); + if (startNodeIndex === -1) return undefined; + let endNodeIndex = findIndex(statementsInSourceFile, s => s.end >= copy.end, startNodeIndex); + /** + * [|console.log(a); + * |] + * console.log(b); + */ + if (endNodeIndex !== -1 && copy.end <= statementsInSourceFile[endNodeIndex].getStart()) { + endNodeIndex--; + } + statements.push(...statementsInSourceFile.slice(startNodeIndex, endNodeIndex === -1 ? statementsInSourceFile.length : endNodeIndex + 1)); + }); + const usage = getUsageInfo(copiedFrom.file, statements, originalProgram!.getTypeChecker(), getExistingLocals(updatedFile, statements, originalProgram!.getTypeChecker())); + Debug.assertIsDefined(originalProgram); + const useEsModuleSyntax = !fileShouldUseJavaScriptRequire(targetFile.fileName, originalProgram, host, !!copiedFrom.file.commonJsModuleIndicator); + addExportsInOldFile(copiedFrom.file, usage.targetFileImportsFromOldFile, changes, useEsModuleSyntax); + addTargetFileImports(copiedFrom.file, usage.oldImportsNeededByTargetFile, usage.targetFileImportsFromOldFile, originalProgram.getTypeChecker(), updatedProgram, importAdder); + } + else { + const context: CodeFixContextBase = { + sourceFile: updatedFile, + program: originalProgram!, + cancellationToken, + host, + preferences, + formatContext, + }; + forEachChild(updatedFile, function cb(node) { + if (isIdentifier(node) && !originalProgram?.getTypeChecker().resolveName(node.text, node, SymbolFlags.All, /*excludeGlobals*/ false)) { + // generate imports + importAdder.addImportForUnresolvedIdentifier(context, node, /*useAutoImportProvider*/ true); + } + node.forEachChild(cb); + }); + } + importAdder.writeFixes(changes, getQuotePreference(copiedFrom ? copiedFrom.file : targetFile, preferences)); + }); + pasteLocations.forEach((paste, i) => { + changes.replaceRangeWithText( + targetFile, + { pos: paste.pos, end: paste.end }, + actualPastedText ? + actualPastedText[0] : pastedText[i], + ); + }); +} diff --git a/src/services/patternMatcher.ts b/src/services/patternMatcher.ts index e3394439757b2..f146e8d32b4ae 100644 --- a/src/services/patternMatcher.ts +++ b/src/services/patternMatcher.ts @@ -10,7 +10,7 @@ import { ScriptTarget, startsWith, TextSpan, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; // Note(cyrusn): this enum is ordered from strongest match type to weakest match type. /** @internal */ diff --git a/src/services/preProcess.ts b/src/services/preProcess.ts index 2d98a63586c55..5ae905fb506ba 100644 --- a/src/services/preProcess.ts +++ b/src/services/preProcess.ts @@ -11,7 +11,7 @@ import { scanner, ScriptTarget, SyntaxKind, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; export function preProcessFile(sourceText: string, readImportFiles = true, detectJavaScriptImports = false): PreProcessedFileInfo { const pragmaContext: PragmaContext = { diff --git a/src/services/refactorProvider.ts b/src/services/refactorProvider.ts index 368bd8810962e..1b21149070931 100644 --- a/src/services/refactorProvider.ts +++ b/src/services/refactorProvider.ts @@ -6,8 +6,8 @@ import { Refactor, RefactorContext, RefactorEditInfo, -} from "./_namespaces/ts"; -import { refactorKindBeginsWith } from "./_namespaces/ts.refactor"; +} from "./_namespaces/ts.js"; +import { refactorKindBeginsWith } from "./_namespaces/ts.refactor.js"; // A map with the refactor code as key, the refactor itself as value // e.g. nonSuggestableRefactors[refactorCode] -> the refactor you want diff --git a/src/services/refactors/addOrRemoveBracesToArrowFunction.ts b/src/services/refactors/addOrRemoveBracesToArrowFunction.ts index 6cd5bb9f05ddd..4392c19211061 100644 --- a/src/services/refactors/addOrRemoveBracesToArrowFunction.ts +++ b/src/services/refactors/addOrRemoveBracesToArrowFunction.ts @@ -28,13 +28,13 @@ import { SourceFile, SyntaxKind, textChanges, -} from "../_namespaces/ts"; +} from "../_namespaces/ts.js"; import { isRefactorErrorInfo, RefactorErrorInfo, refactorKindBeginsWith, registerRefactor, -} from "../_namespaces/ts.refactor"; +} from "../_namespaces/ts.refactor.js"; const refactorName = "Add or remove braces in an arrow function"; const refactorDescription = getLocaleSpecificMessage(Diagnostics.Add_or_remove_braces_in_an_arrow_function); diff --git a/src/services/refactors/convertArrowFunctionOrFunctionExpression.ts b/src/services/refactors/convertArrowFunctionOrFunctionExpression.ts index 05d13bdc8fd91..ef0576e59f8bb 100644 --- a/src/services/refactors/convertArrowFunctionOrFunctionExpression.ts +++ b/src/services/refactors/convertArrowFunctionOrFunctionExpression.ts @@ -52,11 +52,11 @@ import { VariableDeclaration, VariableDeclarationList, VariableStatement, -} from "../_namespaces/ts"; +} from "../_namespaces/ts.js"; import { refactorKindBeginsWith, registerRefactor, -} from "../_namespaces/ts.refactor"; +} from "../_namespaces/ts.refactor.js"; const refactorName = "Convert arrow function or function expression"; const refactorDescription = getLocaleSpecificMessage(Diagnostics.Convert_arrow_function_or_function_expression); diff --git a/src/services/refactors/convertExport.ts b/src/services/refactors/convertExport.ts index 7f477fc1a86ac..5e722c083a9a0 100644 --- a/src/services/refactors/convertExport.ts +++ b/src/services/refactors/convertExport.ts @@ -50,12 +50,12 @@ import { TypeAliasDeclaration, TypeChecker, VariableStatement, -} from "../_namespaces/ts"; +} from "../_namespaces/ts.js"; import { isRefactorErrorInfo, RefactorErrorInfo, registerRefactor, -} from "../_namespaces/ts.refactor"; +} from "../_namespaces/ts.refactor.js"; const refactorName = "Convert export"; diff --git a/src/services/refactors/convertImport.ts b/src/services/refactors/convertImport.ts index 4dbfd40d89185..55e14b576e1f7 100644 --- a/src/services/refactors/convertImport.ts +++ b/src/services/refactors/convertImport.ts @@ -1,7 +1,6 @@ import { ApplicableRefactorInfo, arrayFrom, - codefix, Debug, Diagnostics, emptyArray, @@ -29,6 +28,7 @@ import { isPropertyAccessOrQualifiedName, isShorthandPropertyAssignment, isStringLiteral, + moduleSpecifierToValidIdentifier, NamedImports, NamespaceImport, or, @@ -45,12 +45,12 @@ import { SyntaxKind, textChanges, TypeChecker, -} from "../_namespaces/ts"; +} from "../_namespaces/ts.js"; import { isRefactorErrorInfo, RefactorErrorInfo, registerRefactor, -} from "../_namespaces/ts.refactor"; +} from "../_namespaces/ts.refactor.js"; const refactorName = "Convert import"; @@ -222,7 +222,7 @@ export function doChangeNamedToNamespaceOrDefault(sourceFile: SourceFile, progra toConvertSymbols.add(symbol); } }); - const preferredName = moduleSpecifier && isStringLiteral(moduleSpecifier) ? codefix.moduleSpecifierToValidIdentifier(moduleSpecifier.text, ScriptTarget.ESNext) : "module"; + const preferredName = moduleSpecifier && isStringLiteral(moduleSpecifier) ? moduleSpecifierToValidIdentifier(moduleSpecifier.text, ScriptTarget.ESNext) : "module"; function hasNamespaceNameConflict(namedImport: ImportSpecifier): boolean { // We need to check if the preferred namespace name (`preferredName`) we'd like to use in the refactored code will present a name conflict. // A name conflict means that, in a scope where we would like to use the preferred namespace name, there already exists a symbol with that name in that scope. diff --git a/src/services/refactors/convertOverloadListToSingleSignature.ts b/src/services/refactors/convertOverloadListToSingleSignature.ts index 915b59077f8c3..c9fd31f1b4e70 100644 --- a/src/services/refactors/convertOverloadListToSingleSignature.ts +++ b/src/services/refactors/convertOverloadListToSingleSignature.ts @@ -39,8 +39,8 @@ import { SyntaxKind, textChanges, TupleTypeNode, -} from "../_namespaces/ts"; -import { registerRefactor } from "../_namespaces/ts.refactor"; +} from "../_namespaces/ts.js"; +import { registerRefactor } from "../_namespaces/ts.refactor.js"; const refactorName = "Convert overload list to single signature"; const refactorDescription = getLocaleSpecificMessage(Diagnostics.Convert_overload_list_to_single_signature); diff --git a/src/services/refactors/convertParamsToDestructuredObject.ts b/src/services/refactors/convertParamsToDestructuredObject.ts index 164c725f7a932..9c1792b9b8cbe 100644 --- a/src/services/refactors/convertParamsToDestructuredObject.ts +++ b/src/services/refactors/convertParamsToDestructuredObject.ts @@ -103,8 +103,8 @@ import { TypeLiteralNode, TypeNode, VariableDeclaration, -} from "../_namespaces/ts"; -import { registerRefactor } from "../_namespaces/ts.refactor"; +} from "../_namespaces/ts.js"; +import { registerRefactor } from "../_namespaces/ts.refactor.js"; const refactorName = "Convert parameters to destructured object"; const minimumParameterLength = 1; diff --git a/src/services/refactors/convertStringOrTemplateLiteral.ts b/src/services/refactors/convertStringOrTemplateLiteral.ts index cd8fe2ad5032b..c6eb8494fe3ad 100644 --- a/src/services/refactors/convertStringOrTemplateLiteral.ts +++ b/src/services/refactors/convertStringOrTemplateLiteral.ts @@ -36,8 +36,8 @@ import { TemplateTail, textChanges, Token, -} from "../_namespaces/ts"; -import { registerRefactor } from "../_namespaces/ts.refactor"; +} from "../_namespaces/ts.js"; +import { registerRefactor } from "../_namespaces/ts.refactor.js"; const refactorName = "Convert to template string"; const refactorDescription = getLocaleSpecificMessage(Diagnostics.Convert_to_template_string); diff --git a/src/services/refactors/convertToOptionalChainExpression.ts b/src/services/refactors/convertToOptionalChainExpression.ts index ebacc0935a5c2..333e200f6a0b4 100644 --- a/src/services/refactors/convertToOptionalChainExpression.ts +++ b/src/services/refactors/convertToOptionalChainExpression.ts @@ -40,12 +40,12 @@ import { TextSpan, TypeChecker, VariableStatement, -} from "../_namespaces/ts"; +} from "../_namespaces/ts.js"; import { isRefactorErrorInfo, RefactorErrorInfo, registerRefactor, -} from "../_namespaces/ts.refactor"; +} from "../_namespaces/ts.refactor.js"; const refactorName = "Convert to optional chain expression"; const convertToOptionalChainExpressionMessage = getLocaleSpecificMessage(Diagnostics.Convert_to_optional_chain_expression); diff --git a/src/services/refactors/extractSymbol.ts b/src/services/refactors/extractSymbol.ts index 9e04d91d10d8e..d5ebc4e3c040d 100644 --- a/src/services/refactors/extractSymbol.ts +++ b/src/services/refactors/extractSymbol.ts @@ -157,12 +157,12 @@ import { visitNode, visitNodes, VisitResult, -} from "../_namespaces/ts"; +} from "../_namespaces/ts.js"; import { getIdentifierForNode, refactorKindBeginsWith, registerRefactor, -} from "../_namespaces/ts.refactor"; +} from "../_namespaces/ts.refactor.js"; const refactorName = "Extract Symbol"; diff --git a/src/services/refactors/extractType.ts b/src/services/refactors/extractType.ts index fe1e8e3ddb2fa..b6f4c97b55a5d 100644 --- a/src/services/refactors/extractType.ts +++ b/src/services/refactors/extractType.ts @@ -67,12 +67,12 @@ import { TypeElement, TypeNode, TypeParameterDeclaration, -} from "../_namespaces/ts"; +} from "../_namespaces/ts.js"; import { isRefactorErrorInfo, RefactorErrorInfo, registerRefactor, -} from "../_namespaces/ts.refactor"; +} from "../_namespaces/ts.refactor.js"; const refactorName = "Extract type"; diff --git a/src/services/refactors/generateGetAccessorAndSetAccessor.ts b/src/services/refactors/generateGetAccessorAndSetAccessor.ts index 2756ae20471ed..7e0820c3e2224 100644 --- a/src/services/refactors/generateGetAccessorAndSetAccessor.ts +++ b/src/services/refactors/generateGetAccessorAndSetAccessor.ts @@ -9,11 +9,11 @@ import { isIdentifier, isParameter, RefactorContext, -} from "../_namespaces/ts"; +} from "../_namespaces/ts.js"; import { isRefactorErrorInfo, registerRefactor, -} from "../_namespaces/ts.refactor"; +} from "../_namespaces/ts.refactor.js"; const actionName = "Generate 'get' and 'set' accessors"; const actionDescription = getLocaleSpecificMessage(Diagnostics.Generate_get_and_set_accessors); diff --git a/src/services/refactors/helpers.ts b/src/services/refactors/helpers.ts index e72eea44693a6..459979c3ef0dc 100644 --- a/src/services/refactors/helpers.ts +++ b/src/services/refactors/helpers.ts @@ -18,8 +18,8 @@ import { Symbol, SymbolFlags, TypeChecker, -} from "../_namespaces/ts"; -import { addImportsForMovedSymbols } from "./moveToFile"; +} from "../_namespaces/ts.js"; +import { addImportsForMovedSymbols } from "./moveToFile.js"; /** * Returned by refactor functions when some error message needs to be surfaced to users. * diff --git a/src/services/refactors/inferFunctionReturnType.ts b/src/services/refactors/inferFunctionReturnType.ts index dc3a9adbd0d7f..3bf9bdb1afaf9 100644 --- a/src/services/refactors/inferFunctionReturnType.ts +++ b/src/services/refactors/inferFunctionReturnType.ts @@ -26,13 +26,13 @@ import { Type, TypeChecker, TypeNode, -} from "../_namespaces/ts"; +} from "../_namespaces/ts.js"; import { isRefactorErrorInfo, RefactorErrorInfo, refactorKindBeginsWith, registerRefactor, -} from "../_namespaces/ts.refactor"; +} from "../_namespaces/ts.refactor.js"; const refactorName = "Infer function return type"; const refactorDescription = getLocaleSpecificMessage(Diagnostics.Infer_function_return_type); diff --git a/src/services/refactors/inlineVariable.ts b/src/services/refactors/inlineVariable.ts index bdd5af771e761..0bcf841ce39e2 100644 --- a/src/services/refactors/inlineVariable.ts +++ b/src/services/refactors/inlineVariable.ts @@ -38,11 +38,11 @@ import { textRangeContainsPositionInclusive, TypeChecker, VariableDeclaration, -} from "../_namespaces/ts"; +} from "../_namespaces/ts.js"; import { RefactorErrorInfo, registerRefactor, -} from "../_namespaces/ts.refactor"; +} from "../_namespaces/ts.refactor.js"; const refactorName = "Inline variable"; const refactorDescription = getLocaleSpecificMessage(Diagnostics.Inline_variable); diff --git a/src/services/refactors/moveToFile.ts b/src/services/refactors/moveToFile.ts index dea0ebc4c43e1..286b9c2a89533 100644 --- a/src/services/refactors/moveToFile.ts +++ b/src/services/refactors/moveToFile.ts @@ -1,4 +1,4 @@ -import { getModuleSpecifier } from "../../compiler/_namespaces/ts.moduleSpecifiers"; +import { getModuleSpecifier } from "../../compiler/_namespaces/ts.moduleSpecifiers.js"; import { ApplicableRefactorInfo, arrayFrom, @@ -118,6 +118,7 @@ import { ModifierLike, ModuleDeclaration, ModuleKind, + moduleSpecifierToValidIdentifier, NamedImportBindings, Node, NodeFlags, @@ -153,9 +154,9 @@ import { VariableDeclaration, VariableDeclarationList, VariableStatement, -} from "../_namespaces/ts"; -import { addTargetFileImports } from "../_namespaces/ts.refactor"; -import { registerRefactor } from "../refactorProvider"; +} from "../_namespaces/ts.js"; +import { addTargetFileImports } from "../_namespaces/ts.refactor.js"; +import { registerRefactor } from "../refactorProvider.js"; const refactorNameForMoveToFile = "Move to file"; const description = getLocaleSpecificMessage(Diagnostics.Move_to_file); @@ -175,7 +176,7 @@ registerRefactor(refactorNameForMoveToFile, { } /** If the start/end nodes of the selection are inside a block like node do not show the `Move to file` code action * This condition is used in order to show less often the `Move to file` code action */ - if (context.endPosition !== undefined) { + if (context.triggerReason === "implicit" && context.endPosition !== undefined) { const startNodeAncestor = findAncestor(getTokenAtPosition(file, context.startPosition), isBlockLike); const endNodeAncestor = findAncestor(getTokenAtPosition(file, context.endPosition), isBlockLike); if (startNodeAncestor && !isSourceFile(startNodeAncestor) && endNodeAncestor && !isSourceFile(endNodeAncestor)) { @@ -307,7 +308,8 @@ export function deleteUnusedOldImports(oldFile: SourceFile, toMove: readonly Sta } } -function addExportsInOldFile(oldFile: SourceFile, targetFileImportsFromOldFile: Map, changes: textChanges.ChangeTracker, useEsModuleSyntax: boolean) { +/** @internal */ +export function addExportsInOldFile(oldFile: SourceFile, targetFileImportsFromOldFile: Map, changes: textChanges.ChangeTracker, useEsModuleSyntax: boolean) { const markSeenTop = nodeSeenTracker(); // Needed because multiple declarations may appear in `const x = 0, y = 1;`. targetFileImportsFromOldFile.forEach((_, symbol) => { if (!symbol.declarations) { @@ -392,7 +394,7 @@ function updateNamespaceLikeImport( oldImportNode: SupportedImport, quotePreference: QuotePreference, ): void { - const preferredNewNamespaceName = codefix.moduleSpecifierToValidIdentifier(newModuleSpecifier, ScriptTarget.ESNext); + const preferredNewNamespaceName = moduleSpecifierToValidIdentifier(newModuleSpecifier, ScriptTarget.ESNext); let needUniqueName = false; const toChange: Identifier[] = []; FindAllReferences.Core.eachSymbolReferenceInFile(oldImportId, checker, sourceFile, ref => { @@ -1118,7 +1120,8 @@ function getOverloadRangeToMove(sourceFile: SourceFile, statement: Statement) { return undefined; } -function getExistingLocals(sourceFile: SourceFile, statements: readonly Statement[], checker: TypeChecker) { +/** @internal */ +export function getExistingLocals(sourceFile: SourceFile, statements: readonly Statement[], checker: TypeChecker) { const existingLocals = new Set(); for (const moduleSpecifier of sourceFile.imports) { const declaration = importFromModuleSpecifier(moduleSpecifier); @@ -1146,7 +1149,7 @@ function getExistingLocals(sourceFile: SourceFile, statements: readonly Statemen for (const statement of statements) { forEachReference(statement, checker, s => { const symbol = skipAlias(s, checker); - if (symbol.valueDeclaration && getSourceFileOfNode(symbol.valueDeclaration) === sourceFile) { + if (symbol.valueDeclaration && getSourceFileOfNode(symbol.valueDeclaration).path === sourceFile.path) { existingLocals.add(symbol); } }); diff --git a/src/services/refactors/moveToNewFile.ts b/src/services/refactors/moveToNewFile.ts index 2665239e10483..90971ebaacfd8 100644 --- a/src/services/refactors/moveToNewFile.ts +++ b/src/services/refactors/moveToNewFile.ts @@ -5,9 +5,13 @@ import { Debug, Diagnostics, emptyArray, + findAncestor, getLineAndCharacterOfPosition, getLocaleSpecificMessage, + getTokenAtPosition, hostGetCanonicalFileName, + isBlockLike, + isSourceFile, LanguageServiceHost, last, ModuleKind, @@ -17,7 +21,7 @@ import { SourceFile, textChanges, UserPreferences, -} from "../_namespaces/ts"; +} from "../_namespaces/ts.js"; import { addNewFileToTsconfig, createNewFileName, @@ -26,7 +30,7 @@ import { getUsageInfo, registerRefactor, ToMove, -} from "../_namespaces/ts.refactor"; +} from "../_namespaces/ts.refactor.js"; const refactorName = "Move to a new file"; const description = getLocaleSpecificMessage(Diagnostics.Move_to_a_new_file); @@ -40,6 +44,16 @@ registerRefactor(refactorName, { kinds: [moveToNewFileAction.kind], getAvailableActions: function getRefactorActionsToMoveToNewFile(context): readonly ApplicableRefactorInfo[] { const statements = getStatementsToMove(context); + + const file = context.file; + if (context.triggerReason === "implicit" && context.endPosition !== undefined) { + const startNodeAncestor = findAncestor(getTokenAtPosition(file, context.startPosition), isBlockLike); + const endNodeAncestor = findAncestor(getTokenAtPosition(file, context.endPosition), isBlockLike); + if (startNodeAncestor && !isSourceFile(startNodeAncestor) && endNodeAncestor && !isSourceFile(endNodeAncestor)) { + return emptyArray; + } + } + if (context.preferences.allowTextChangesInNewFiles && statements) { const file = context.file; const affectedTextRange = { diff --git a/src/services/rename.ts b/src/services/rename.ts index 1260fef23d5cc..64f817dcd03e5 100644 --- a/src/services/rename.ts +++ b/src/services/rename.ts @@ -51,7 +51,7 @@ import { TypeFlags, UnionType, UserPreferences, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; /** @internal */ export function getRenameInfo(program: Program, sourceFile: SourceFile, position: number, preferences: UserPreferences): RenameInfo { diff --git a/src/services/services.ts b/src/services/services.ts index 375c0ddce113e..2bd5c94bb0efe 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -211,6 +211,7 @@ import { LinkedEditingInfo, LiteralType, map, + MapCode, mapDefined, MapLike, mapOneOrMany, @@ -241,6 +242,9 @@ import { ParseConfigFileHost, ParsedCommandLine, parseJsonSourceFileConfigFileContent, + PasteEdits, + pasteEdits, + PasteEditsArgs, Path, positionIsSynthesized, PossibleProgramFileInfo, @@ -326,16 +330,16 @@ import { updateSourceFile, UserPreferences, VariableDeclaration, -} from "./_namespaces/ts"; -import * as NavigateTo from "./_namespaces/ts.NavigateTo"; -import * as NavigationBar from "./_namespaces/ts.NavigationBar"; +} from "./_namespaces/ts.js"; +import * as NavigateTo from "./_namespaces/ts.NavigateTo.js"; +import * as NavigationBar from "./_namespaces/ts.NavigationBar.js"; import { containsJsx, createNewFileName, getStatementsToMove, -} from "./_namespaces/ts.refactor"; -import * as classifier from "./classifier"; -import * as classifier2020 from "./classifier2020"; +} from "./_namespaces/ts.refactor.js"; +import * as classifier from "./classifier.js"; +import * as classifier2020 from "./classifier2020.js"; /** The version of the language service API */ export const servicesVersion = "0.8"; @@ -1573,6 +1577,7 @@ const invalidOperationsInPartialSemanticMode: readonly (keyof LanguageService)[] "provideCallHierarchyOutgoingCalls", "provideInlayHints", "getSupportedCodeFixes", + "getPasteEdits", ]; const invalidOperationsInSyntacticMode: readonly (keyof LanguageService)[] = [ @@ -1596,7 +1601,7 @@ const invalidOperationsInSyntacticMode: readonly (keyof LanguageService)[] = [ ]; export function createLanguageService( host: LanguageServiceHost, - documentRegistry: DocumentRegistry = createDocumentRegistry(host.useCaseSensitiveFileNames && host.useCaseSensitiveFileNames(), host.getCurrentDirectory()), + documentRegistry: DocumentRegistry = createDocumentRegistry(host.useCaseSensitiveFileNames && host.useCaseSensitiveFileNames(), host.getCurrentDirectory(), host.jsDocParsingMode), syntaxOnlyOrLanguageServiceMode?: boolean | LanguageServiceMode, ): LanguageService { let languageServiceMode: LanguageServiceMode; @@ -2128,6 +2133,23 @@ export function createLanguageService( }; } + function getPasteEdits( + args: PasteEditsArgs, + formatOptions: FormatCodeSettings, + ): PasteEdits { + synchronizeHostData(); + return pasteEdits.pasteEditsProvider( + getValidSourceFile(args.targetFile), + args.pastedText, + args.pasteLocations, + args.copiedFrom ? { file: getValidSourceFile(args.copiedFrom.file), range: args.copiedFrom.range } : undefined, + host, + args.preferences, + formatting.getFormatContext(formatOptions, host), + cancellationToken, + ); + } + function getNodeForQuickInfo(node: Node): Node { if (isNewExpression(node.parent) && node.pos === node.parent.pos) { return node.parent.expression; @@ -3144,6 +3166,17 @@ export function createLanguageService( return InlayHints.provideInlayHints(getInlayHintsContext(sourceFile, span, preferences)); } + function mapCode(sourceFile: string, contents: string[], focusLocations: TextSpan[][] | undefined, formatOptions: FormatCodeSettings, preferences: UserPreferences): FileTextChanges[] { + return MapCode.mapCode( + syntaxTreeCache.getCurrentSourceFile(sourceFile), + contents, + focusLocations, + host, + formatting.getFormatContext(formatOptions, host), + preferences, + ); + } + const ls: LanguageService = { dispose, cleanupSemanticCache, @@ -3214,6 +3247,8 @@ export function createLanguageService( uncommentSelection, provideInlayHints, getSupportedCodeFixes, + getPasteEdits, + mapCode, }; switch (languageServiceMode) { diff --git a/src/services/signatureHelp.ts b/src/services/signatureHelp.ts index 28f0d188854bb..ab1fdcbee22b2 100644 --- a/src/services/signatureHelp.ts +++ b/src/services/signatureHelp.ts @@ -91,7 +91,7 @@ import { Type, TypeChecker, TypeParameter, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; const enum InvocationKind { Call, diff --git a/src/services/smartSelection.ts b/src/services/smartSelection.ts index d726d177e682a..f58862d76ab68 100644 --- a/src/services/smartSelection.ts +++ b/src/services/smartSelection.ts @@ -46,7 +46,7 @@ import { SyntaxList, textSpanIntersectsWithPosition, textSpansEqual, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; /** @internal */ export function getSmartSelectionRange(pos: number, sourceFile: SourceFile): SelectionRange { diff --git a/src/services/sourcemaps.ts b/src/services/sourcemaps.ts index 0a58a2cda4705..954616d3f0317 100644 --- a/src/services/sourcemaps.ts +++ b/src/services/sourcemaps.ts @@ -25,7 +25,7 @@ import { toPath as ts_toPath, tryGetSourceMappingURL, tryParseRawSourceMap, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; const base64UrlRegExp = /^data:(?:application\/json(?:;charset=[uU][tT][fF]-8);base64,([A-Za-z0-9+/=]+)$)?/; diff --git a/src/services/stringCompletions.ts b/src/services/stringCompletions.ts index b1db1fc467bdd..06f488ed47bcb 100644 --- a/src/services/stringCompletions.ts +++ b/src/services/stringCompletions.ts @@ -1,4 +1,13 @@ -import { getModuleSpecifierPreferences } from "../compiler/moduleSpecifiers"; +import { getModuleSpecifierPreferences } from "../compiler/moduleSpecifiers.js"; +import { + CompletionKind, + createCompletionDetails, + createCompletionDetailsForSymbol, + getCompletionEntriesFromSymbols, + getPropertiesForObjectExpression, + Log, + SortText, +} from "./_namespaces/ts.Completions.js"; import { addToSeen, altDirectorySeparator, @@ -148,16 +157,7 @@ import { UserPreferences, walkUpParenthesizedExpressions, walkUpParenthesizedTypes, -} from "./_namespaces/ts"; -import { - CompletionKind, - createCompletionDetails, - createCompletionDetailsForSymbol, - getCompletionEntriesFromSymbols, - getPropertiesForObjectExpression, - Log, - SortText, -} from "./_namespaces/ts.Completions"; +} from "./_namespaces/ts.js"; interface NameAndKindSet { add(value: NameAndKind): void; diff --git a/src/services/suggestionDiagnostics.ts b/src/services/suggestionDiagnostics.ts index 91e99ba9450db..a5daf3e6666f2 100644 --- a/src/services/suggestionDiagnostics.ts +++ b/src/services/suggestionDiagnostics.ts @@ -57,7 +57,7 @@ import { SyntaxKind, TypeChecker, VariableStatement, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; const visitedNestedConvertibleFunctions = new Map(); @@ -87,7 +87,7 @@ export function computeSuggestionDiagnostics(sourceFile: SourceFile, program: Pr const importNode = importFromModuleSpecifier(moduleSpecifier); const name = importNameForConvertToDefaultImport(importNode); if (!name) continue; - const module = program.getResolvedModuleFromModuleSpecifier(moduleSpecifier)?.resolvedModule; + const module = program.getResolvedModuleFromModuleSpecifier(moduleSpecifier, sourceFile)?.resolvedModule; const resolvedFile = module && program.getSourceFile(module.resolvedFileName); if (resolvedFile && resolvedFile.externalModuleIndicator && resolvedFile.externalModuleIndicator !== true && isExportAssignment(resolvedFile.externalModuleIndicator) && resolvedFile.externalModuleIndicator.isExportEquals) { diags.push(createDiagnosticForNode(name, Diagnostics.Import_may_be_converted_to_a_default_import)); diff --git a/src/services/symbolDisplay.ts b/src/services/symbolDisplay.ts index 0524d150972bc..5ba8170b17b32 100644 --- a/src/services/symbolDisplay.ts +++ b/src/services/symbolDisplay.ts @@ -108,7 +108,7 @@ import { TypeParameter, typeToDisplayParts, VariableDeclaration, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; const symbolDisplayNodeBuilderFlags = NodeBuilderFlags.OmitParameterModifiers | NodeBuilderFlags.IgnoreErrors | NodeBuilderFlags.UseAliasDefinedOutsideCurrentScope; @@ -557,7 +557,7 @@ function getSymbolDisplayPartsDocumentationAndSymbolKindWorker(typeChecker: Type typeChecker, resolvedSymbol, getSourceFileOfNode(resolvedNode), - resolvedNode, + enclosingDeclaration, declarationName, type, semanticMeaning, diff --git a/src/services/textChanges.ts b/src/services/textChanges.ts index 5887fba6ae2e6..1fa19379afc4c 100644 --- a/src/services/textChanges.ts +++ b/src/services/textChanges.ts @@ -174,7 +174,7 @@ import { visitEachChild, visitNodes, Visitor, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; /** * Currently for simplicity we store recovered positions on the node itself. diff --git a/src/services/transform.ts b/src/services/transform.ts index 85fae890c0984..a8d03f62a19fb 100644 --- a/src/services/transform.ts +++ b/src/services/transform.ts @@ -9,7 +9,7 @@ import { TransformationResult, TransformerFactory, transformNodes, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; /** * Transform one or more nodes using the supplied transformers. diff --git a/src/services/transpile.ts b/src/services/transpile.ts index b9179bcd2a198..ccf8396247ca8 100644 --- a/src/services/transpile.ts +++ b/src/services/transpile.ts @@ -28,7 +28,7 @@ import { ScriptTarget, toPath, transpileOptionValueCompilerOptions, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; export interface TranspileOptions { compilerOptions?: CompilerOptions; @@ -59,6 +59,7 @@ const optionsRedundantWithVerbatimModuleSyntax = new Set([ * - noLib = true * - noResolve = true * - declaration = false + * - noCheck = true */ export function transpileModule(input: string, transpileOptions: TranspileOptions): TranspileOutput { return transpileWorker(input, transpileOptions, /*declaration*/ false); @@ -142,7 +143,6 @@ function transpileWorker(input: string, transpileOptions: TranspileOptions, decl options.declaration = true; options.emitDeclarationOnly = true; options.isolatedDeclarations = true; - options.noCheck = true; } else { options.declaration = false; diff --git a/src/services/types.ts b/src/services/types.ts index 3adcf0c39e65f..0dc8b87790260 100644 --- a/src/services/types.ts +++ b/src/services/types.ts @@ -41,9 +41,9 @@ import { TextRange, TextSpan, UserPreferences, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; -declare module "../compiler/types" { +declare module "../compiler/types.js" { // Module transform: converted from interface augmentation export interface Node { getSourceFile(): SourceFile; @@ -73,21 +73,21 @@ declare module "../compiler/types" { } } -declare module "../compiler/types" { +declare module "../compiler/types.js" { // Module transform: converted from interface augmentation export interface Identifier { readonly text: string; } } -declare module "../compiler/types" { +declare module "../compiler/types.js" { // Module transform: converted from interface augmentation export interface PrivateIdentifier { readonly text: string; } } -declare module "../compiler/types" { +declare module "../compiler/types.js" { // Module transform: converted from interface augmentation export interface Symbol { readonly name: string; @@ -104,7 +104,7 @@ declare module "../compiler/types" { } } -declare module "../compiler/types" { +declare module "../compiler/types.js" { // Module transform: converted from interface augmentation export interface Type { getFlags(): TypeFlags; @@ -136,14 +136,14 @@ declare module "../compiler/types" { } } -declare module "../compiler/types" { +declare module "../compiler/types.js" { // Module transform: converted from interface augmentation export interface TypeReference { typeArguments?: readonly Type[]; } } -declare module "../compiler/types" { +declare module "../compiler/types.js" { // Module transform: converted from interface augmentation export interface Signature { getDeclaration(): SignatureDeclaration; @@ -156,7 +156,7 @@ declare module "../compiler/types" { } } -declare module "../compiler/types" { +declare module "../compiler/types.js" { // Module transform: converted from interface augmentation export interface SourceFile { /** @internal */ version: string; @@ -175,14 +175,14 @@ declare module "../compiler/types" { } } -declare module "../compiler/types" { +declare module "../compiler/types.js" { // Module transform: converted from interface augmentation export interface SourceFileLike { getLineAndCharacterOfPosition(pos: number): LineAndCharacter; } } -declare module "../compiler/types" { +declare module "../compiler/types.js" { // Module transform: converted from interface augmentation export interface SourceMapSource { getLineAndCharacterOfPosition(pos: number): LineAndCharacter; @@ -431,7 +431,7 @@ export interface LanguageServiceHost extends GetEffectiveTypeRootsHost, MinimalR getParsedCommandLine?(fileName: string): ParsedCommandLine | undefined; /** @internal */ onReleaseParsedCommandLine?(configFileName: string, oldResolvedRef: ResolvedProjectReference | undefined, optionOptions: CompilerOptions): void; /** @internal */ getIncompleteCompletionsCache?(): IncompleteCompletionsCache; - + /** @internal */ runWithTemporaryFileUpdate?(rootFile: string, updatedText: string, cb: (updatedProgram: Program, originalProgram: Program | undefined, updatedPastedText: SourceFile) => void): void; jsDocParsingMode?: JSDocParsingMode | undefined; } @@ -683,7 +683,13 @@ export interface LanguageService { getSupportedCodeFixes(fileName?: string): readonly string[]; + /** @internal */ mapCode(fileName: string, contents: string[], focusLocations: TextSpan[][] | undefined, formatOptions: FormatCodeSettings, preferences: UserPreferences): readonly FileTextChanges[]; + dispose(): void; + getPasteEdits( + args: PasteEditsArgs, + formatOptions: FormatCodeSettings, + ): PasteEdits; } export interface JsxClosingTagInfo { @@ -706,6 +712,19 @@ export const enum OrganizeImportsMode { RemoveUnused = "RemoveUnused", } +export interface PasteEdits { + edits: readonly FileTextChanges[]; + fixId?: {}; +} + +export interface PasteEditsArgs { + targetFile: string; + pastedText: string[]; + pasteLocations: TextRange[]; + copiedFrom: { file: string; range: TextRange[]; } | undefined; + preferences: UserPreferences; +} + export interface OrganizeImportsArgs extends CombinedCodeFixScope { /** @deprecated Use `mode` instead */ skipDestructiveCodeActions?: boolean; diff --git a/src/services/utilities.ts b/src/services/utilities.ts index fe0de5d35e1cc..2d57952373316 100644 --- a/src/services/utilities.ts +++ b/src/services/utilities.ts @@ -20,7 +20,6 @@ import { ClassDeclaration, ClassExpression, clone, - codefix, combinePaths, CommentKind, CommentRange, @@ -92,6 +91,7 @@ import { FunctionLikeDeclaration, FutureSourceFile, getAssignmentDeclarationKind, + getBaseFileName, getCombinedNodeFlagsAlwaysIncludeJSDoc, getDirectoryPath, getEmitModuleKind, @@ -181,6 +181,8 @@ import { isGlobalScopeAugmentation, isHeritageClause, isIdentifier, + isIdentifierPart, + isIdentifierStart, isImportCall, isImportClause, isImportDeclaration, @@ -240,6 +242,7 @@ import { isSetAccessorDeclaration, isSourceFile, isSourceFileJS, + isStringANonContextualKeyword, isStringDoubleQuoted, isStringLiteral, isStringLiteralLike, @@ -319,6 +322,8 @@ import { pseudoBigIntToString, QualifiedName, RefactorContext, + removeFileExtension, + removeSuffix, Scanner, ScriptElementKind, ScriptElementKindModifier, @@ -327,6 +332,7 @@ import { SemicolonPreference, setConfigFileInOptions, setOriginalNode, + setParentRecursive, setTextRange, Signature, SignatureDeclaration, @@ -384,7 +390,7 @@ import { VoidExpression, walkUpParenthesizedExpressions, YieldExpression, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; // These utilities are common to multiple language service features. // #region @@ -3167,7 +3173,7 @@ export function getPrecedingNonSpaceCharacterPosition(text: string, position: nu export function getSynthesizedDeepClone(node: T, includeTrivia = true): T { const clone = node && getSynthesizedDeepCloneWorker(node); if (clone && !includeTrivia) suppressLeadingAndTrailingTrivia(clone); - return clone; + return setParentRecursive(clone, /*incremental*/ false); } /** @internal */ @@ -4023,8 +4029,8 @@ export function getNamesForExportedSymbol(symbol: Symbol, scriptTarget: ScriptTa if (needsNameFromDeclaration(symbol)) { const fromDeclaration = getDefaultLikeExportNameFromDeclaration(symbol); if (fromDeclaration) return fromDeclaration; - const fileNameCase = codefix.moduleSymbolToValidIdentifier(getSymbolParentOrFail(symbol), scriptTarget, /*forceCapitalize*/ false); - const capitalized = codefix.moduleSymbolToValidIdentifier(getSymbolParentOrFail(symbol), scriptTarget, /*forceCapitalize*/ true); + const fileNameCase = moduleSymbolToValidIdentifier(getSymbolParentOrFail(symbol), scriptTarget, /*forceCapitalize*/ false); + const capitalized = moduleSymbolToValidIdentifier(getSymbolParentOrFail(symbol), scriptTarget, /*forceCapitalize*/ true); if (fileNameCase === capitalized) return fileNameCase; return [fileNameCase, capitalized]; } @@ -4039,7 +4045,7 @@ export function getNameForExportedSymbol(symbol: Symbol, scriptTarget: ScriptTar // - export { foo as default } => foo // - export default 0 => filename converted to camelCase return getDefaultLikeExportNameFromDeclaration(symbol) - || codefix.moduleSymbolToValidIdentifier(getSymbolParentOrFail(symbol), scriptTarget, !!preferCapitalized); + || moduleSymbolToValidIdentifier(getSymbolParentOrFail(symbol), scriptTarget, !!preferCapitalized); } return symbol.name; } @@ -4048,7 +4054,8 @@ function needsNameFromDeclaration(symbol: Symbol) { return !(symbol.flags & SymbolFlags.Transient) && (symbol.escapedName === InternalSymbolName.ExportEquals || symbol.escapedName === InternalSymbolName.Default); } -function getDefaultLikeExportNameFromDeclaration(symbol: Symbol): string | undefined { +/** @internal */ +export function getDefaultLikeExportNameFromDeclaration(symbol: Symbol): string | undefined { return firstDefined(symbol.declarations, d => { // "export default" in this case. See `ExportAssignment`for more details. if (isExportAssignment(d)) { @@ -4063,7 +4070,8 @@ function getDefaultLikeExportNameFromDeclaration(symbol: Symbol): string | undef }); } -function getSymbolParentOrFail(symbol: Symbol) { +/** @internal */ +export function getSymbolParentOrFail(symbol: Symbol) { return Debug.checkDefined( symbol.parent, `Symbol parent was undefined. Flags: ${Debug.formatSymbolFlags(symbol.flags)}. ` + @@ -4078,6 +4086,42 @@ function getSymbolParentOrFail(symbol: Symbol) { ); } +/** @internal */ +export function moduleSymbolToValidIdentifier(moduleSymbol: Symbol, target: ScriptTarget | undefined, forceCapitalize: boolean): string { + return moduleSpecifierToValidIdentifier(removeFileExtension(stripQuotes(moduleSymbol.name)), target, forceCapitalize); +} + +/** @internal */ +export function moduleSpecifierToValidIdentifier(moduleSpecifier: string, target: ScriptTarget | undefined, forceCapitalize?: boolean): string { + const baseName = getBaseFileName(removeSuffix(moduleSpecifier, "/index")); + let res = ""; + let lastCharWasValid = true; + const firstCharCode = baseName.charCodeAt(0); + if (isIdentifierStart(firstCharCode, target)) { + res += String.fromCharCode(firstCharCode); + if (forceCapitalize) { + res = res.toUpperCase(); + } + } + else { + lastCharWasValid = false; + } + for (let i = 1; i < baseName.length; i++) { + const ch = baseName.charCodeAt(i); + const isValid = isIdentifierPart(ch, target); + if (isValid) { + let char = String.fromCharCode(ch); + if (!lastCharWasValid) { + char = char.toUpperCase(); + } + res += char; + } + lastCharWasValid = isValid; + } + // Need `|| "_"` to ensure result isn't empty. + return !isStringANonContextualKeyword(res) ? res || "_" : `_${res}`; +} + /** * Useful to check whether a string contains another string at a specific index * without allocating another string or traversing the entire contents of the outer string. diff --git a/src/testRunner/_namespaces/FourSlash.ts b/src/testRunner/_namespaces/FourSlash.ts index b81535c48ffd8..39911defc1d7a 100644 --- a/src/testRunner/_namespaces/FourSlash.ts +++ b/src/testRunner/_namespaces/FourSlash.ts @@ -1,3 +1,3 @@ /* Generated file to emulate the FourSlash namespace. */ -export * from "../../harness/_namespaces/FourSlash"; +export * from "../../harness/_namespaces/FourSlash.js"; diff --git a/src/testRunner/_namespaces/Harness.Parallel.Host.ts b/src/testRunner/_namespaces/Harness.Parallel.Host.ts index 8104cc9ecfdf6..d8ebbf319731a 100644 --- a/src/testRunner/_namespaces/Harness.Parallel.Host.ts +++ b/src/testRunner/_namespaces/Harness.Parallel.Host.ts @@ -1,3 +1,3 @@ /* Generated file to emulate the Harness.Parallel.Host namespace. */ -export * from "../parallel/host"; +export * from "../parallel/host.js"; diff --git a/src/testRunner/_namespaces/Harness.Parallel.Worker.ts b/src/testRunner/_namespaces/Harness.Parallel.Worker.ts index ecca4b9659e6e..de2a725adb08f 100644 --- a/src/testRunner/_namespaces/Harness.Parallel.Worker.ts +++ b/src/testRunner/_namespaces/Harness.Parallel.Worker.ts @@ -1,3 +1,3 @@ /* Generated file to emulate the Harness.Parallel.Worker namespace. */ -export * from "../parallel/worker"; +export * from "../parallel/worker.js"; diff --git a/src/testRunner/_namespaces/Harness.Parallel.ts b/src/testRunner/_namespaces/Harness.Parallel.ts index 10087db7557c3..8f2b792e406d1 100644 --- a/src/testRunner/_namespaces/Harness.Parallel.ts +++ b/src/testRunner/_namespaces/Harness.Parallel.ts @@ -1,7 +1,7 @@ /* Generated file to emulate the Harness.Parallel namespace. */ -export * from "../parallel/shared"; -import * as Host from "./Harness.Parallel.Host"; +export * from "../parallel/shared.js"; +import * as Host from "./Harness.Parallel.Host.js"; export { Host }; -import * as Worker from "./Harness.Parallel.Worker"; +import * as Worker from "./Harness.Parallel.Worker.js"; export { Worker }; diff --git a/src/testRunner/_namespaces/Harness.ts b/src/testRunner/_namespaces/Harness.ts index 7577c667a8050..fd50d80a5621f 100644 --- a/src/testRunner/_namespaces/Harness.ts +++ b/src/testRunner/_namespaces/Harness.ts @@ -1,17 +1,11 @@ /* Generated file to emulate the Harness namespace. */ -export * from "../../harness/_namespaces/Harness"; +export * from "../../harness/_namespaces/Harness.js"; -import * as Parallel from "./Harness.Parallel"; +import * as Parallel from "./Harness.Parallel.js"; export { Parallel }; -export * from "../fourslashRunner"; -export * from "../compilerRunner"; -export * from "../transpileRunner"; -export * from "../runner"; - -// If running as emitted CJS, don't start executing the tests here; instead start in runner.ts. -// If running bundled, we want this to be here so that esbuild places the tests after runner.ts. -if (!__filename.endsWith("Harness.js")) { - require("../tests"); -} +export * from "../fourslashRunner.js"; +export * from "../compilerRunner.js"; +export * from "../transpileRunner.js"; +export * from "../runner.js"; diff --git a/src/testRunner/_namespaces/Utils.ts b/src/testRunner/_namespaces/Utils.ts index f7bd754263d74..f513c8cfc9ed2 100644 --- a/src/testRunner/_namespaces/Utils.ts +++ b/src/testRunner/_namespaces/Utils.ts @@ -1,3 +1,3 @@ /* Generated file to emulate the Utils namespace. */ -export * from "../../harness/_namespaces/Utils"; +export * from "../../harness/_namespaces/Utils.js"; diff --git a/src/testRunner/_namespaces/compiler.ts b/src/testRunner/_namespaces/compiler.ts index 62e194d59712a..fefbd43af363d 100644 --- a/src/testRunner/_namespaces/compiler.ts +++ b/src/testRunner/_namespaces/compiler.ts @@ -1,3 +1,3 @@ /* Generated file to emulate the compiler namespace. */ -export * from "../../harness/_namespaces/compiler"; +export * from "../../harness/_namespaces/compiler.js"; diff --git a/src/testRunner/_namespaces/documents.ts b/src/testRunner/_namespaces/documents.ts index bf76b1332fc47..853d1defc3c0a 100644 --- a/src/testRunner/_namespaces/documents.ts +++ b/src/testRunner/_namespaces/documents.ts @@ -1,3 +1,3 @@ /* Generated file to emulate the documents namespace. */ -export * from "../../harness/_namespaces/documents"; +export * from "../../harness/_namespaces/documents.js"; diff --git a/src/testRunner/_namespaces/evaluator.ts b/src/testRunner/_namespaces/evaluator.ts index 9710863c9b2ec..83ec0908821a7 100644 --- a/src/testRunner/_namespaces/evaluator.ts +++ b/src/testRunner/_namespaces/evaluator.ts @@ -1,3 +1,3 @@ /* Generated file to emulate the evaluator namespace. */ -export * from "../../harness/_namespaces/evaluator"; +export * from "../../harness/_namespaces/evaluator.js"; diff --git a/src/testRunner/_namespaces/fakes.ts b/src/testRunner/_namespaces/fakes.ts index 1b6c51d409411..c7290912b6ce1 100644 --- a/src/testRunner/_namespaces/fakes.ts +++ b/src/testRunner/_namespaces/fakes.ts @@ -1,3 +1,3 @@ /* Generated file to emulate the fakes namespace. */ -export * from "../../harness/_namespaces/fakes"; +export * from "../../harness/_namespaces/fakes.js"; diff --git a/src/testRunner/_namespaces/project.ts b/src/testRunner/_namespaces/project.ts index c9d999adbfff1..fe75d6e294718 100644 --- a/src/testRunner/_namespaces/project.ts +++ b/src/testRunner/_namespaces/project.ts @@ -1,3 +1,3 @@ /* Generated file to emulate the project namespace. */ -export * from "../projectsRunner"; +export * from "../projectsRunner.js"; diff --git a/src/testRunner/_namespaces/ts.server.ts b/src/testRunner/_namespaces/ts.server.ts index b0a090fcfed08..5fa9fe89382e6 100644 --- a/src/testRunner/_namespaces/ts.server.ts +++ b/src/testRunner/_namespaces/ts.server.ts @@ -1,6 +1,6 @@ /* Generated file to emulate the ts.server namespace. */ -export * from "../../jsTyping/_namespaces/ts.server"; -export * from "../../server/_namespaces/ts.server"; -export * from "../../typingsInstallerCore/_namespaces/ts.server"; -export * from "../../harness/_namespaces/ts.server"; +export * from "../../jsTyping/_namespaces/ts.server.js"; +export * from "../../server/_namespaces/ts.server.js"; +export * from "../../typingsInstallerCore/_namespaces/ts.server.js"; +export * from "../../harness/_namespaces/ts.server.js"; diff --git a/src/testRunner/_namespaces/ts.ts b/src/testRunner/_namespaces/ts.ts index 27efc73b10f55..11b145abe4621 100644 --- a/src/testRunner/_namespaces/ts.ts +++ b/src/testRunner/_namespaces/ts.ts @@ -1,11 +1,11 @@ /* Generated file to emulate the ts namespace. */ -export * from "../../compiler/_namespaces/ts"; -export * from "../../services/_namespaces/ts"; -export * from "../../jsTyping/_namespaces/ts"; -export * from "../../server/_namespaces/ts"; -export * from "../../typingsInstallerCore/_namespaces/ts"; -export * from "../../deprecatedCompat/_namespaces/ts"; -export * from "../../harness/_namespaces/ts"; -import * as server from "./ts.server"; +export * from "../../compiler/_namespaces/ts.js"; +export * from "../../services/_namespaces/ts.js"; +export * from "../../jsTyping/_namespaces/ts.js"; +export * from "../../server/_namespaces/ts.js"; +export * from "../../typingsInstallerCore/_namespaces/ts.js"; +export * from "../../deprecatedCompat/_namespaces/ts.js"; +export * from "../../harness/_namespaces/ts.js"; +import * as server from "./ts.server.js"; export { server }; diff --git a/src/testRunner/_namespaces/vfs.ts b/src/testRunner/_namespaces/vfs.ts index 5fe2e7d9362b5..eeb46064fb93f 100644 --- a/src/testRunner/_namespaces/vfs.ts +++ b/src/testRunner/_namespaces/vfs.ts @@ -1,3 +1,3 @@ /* Generated file to emulate the vfs namespace. */ -export * from "../../harness/_namespaces/vfs"; +export * from "../../harness/_namespaces/vfs.js"; diff --git a/src/testRunner/_namespaces/vpath.ts b/src/testRunner/_namespaces/vpath.ts index 9ae8ad3777f57..1c8261db73c3c 100644 --- a/src/testRunner/_namespaces/vpath.ts +++ b/src/testRunner/_namespaces/vpath.ts @@ -1,3 +1,3 @@ /* Generated file to emulate the vpath namespace. */ -export * from "../../harness/_namespaces/vpath"; +export * from "../../harness/_namespaces/vpath.js"; diff --git a/src/testRunner/compilerRunner.ts b/src/testRunner/compilerRunner.ts index 3d82d232ccc05..93bc55c1159fe 100644 --- a/src/testRunner/compilerRunner.ts +++ b/src/testRunner/compilerRunner.ts @@ -9,11 +9,11 @@ import { RunnerBase, TestCaseParser, TestRunnerKind, -} from "./_namespaces/Harness"; -import * as ts from "./_namespaces/ts"; -import * as Utils from "./_namespaces/Utils"; -import * as vfs from "./_namespaces/vfs"; -import * as vpath from "./_namespaces/vpath"; +} from "./_namespaces/Harness.js"; +import * as ts from "./_namespaces/ts.js"; +import * as Utils from "./_namespaces/Utils.js"; +import * as vfs from "./_namespaces/vfs.js"; +import * as vpath from "./_namespaces/vpath.js"; export const enum CompilerTestType { Conformance, diff --git a/src/testRunner/fourslashRunner.ts b/src/testRunner/fourslashRunner.ts index 6fd61eb0e3b08..e1a0535963ca3 100644 --- a/src/testRunner/fourslashRunner.ts +++ b/src/testRunner/fourslashRunner.ts @@ -1,10 +1,10 @@ -import * as FourSlash from "./_namespaces/FourSlash"; +import * as FourSlash from "./_namespaces/FourSlash.js"; import { IO, RunnerBase, TestRunnerKind, -} from "./_namespaces/Harness"; -import * as ts from "./_namespaces/ts"; +} from "./_namespaces/Harness.js"; +import * as ts from "./_namespaces/ts.js"; export class FourSlashRunner extends RunnerBase { protected basePath: string; diff --git a/src/testRunner/parallel/host.ts b/src/testRunner/parallel/host.ts index 346982ae5fe1b..cbfc9b391c491 100644 --- a/src/testRunner/parallel/host.ts +++ b/src/testRunner/parallel/host.ts @@ -12,7 +12,7 @@ import { TestConfig, TestRunnerKind, workerCount, -} from "../_namespaces/Harness"; +} from "../_namespaces/Harness.js"; import { ErrorInfo, ParallelClientMessage, @@ -21,11 +21,11 @@ import { Task, TaskTimeout, TestInfo, -} from "../_namespaces/Harness.Parallel"; -import * as ts from "../_namespaces/ts"; -import * as Utils from "../_namespaces/Utils"; +} from "../_namespaces/Harness.Parallel.js"; +import * as ts from "../_namespaces/ts.js"; +import * as Utils from "../_namespaces/Utils.js"; -export function start() { +export function start(importTests: () => Promise) { const Mocha = require("mocha") as typeof import("mocha"); const Base = Mocha.reporters.Base; const color = Base.color; @@ -656,5 +656,5 @@ export function start() { shimNoopTestInterface(global); } - setTimeout(() => startDelayed(perfData, totalCost), 0); // Do real startup on next tick, so all unit tests have been collected + importTests().then(() => startDelayed(perfData, totalCost)); } diff --git a/src/testRunner/parallel/shared.ts b/src/testRunner/parallel/shared.ts index 755d353be1f9f..53d310eefcf15 100644 --- a/src/testRunner/parallel/shared.ts +++ b/src/testRunner/parallel/shared.ts @@ -1,5 +1,5 @@ -import { TestRunnerKind } from "../_namespaces/Harness"; -import * as ts from "../_namespaces/ts"; +import { TestRunnerKind } from "../_namespaces/Harness.js"; +import * as ts from "../_namespaces/ts.js"; export interface RunnerTask { runner: TestRunnerKind; diff --git a/src/testRunner/parallel/worker.ts b/src/testRunner/parallel/worker.ts index 3637721240732..4b61633e45a53 100644 --- a/src/testRunner/parallel/worker.ts +++ b/src/testRunner/parallel/worker.ts @@ -3,7 +3,7 @@ import { globalTimeout, RunnerBase, runUnitTests, -} from "../_namespaces/Harness"; +} from "../_namespaces/Harness.js"; import { ErrorInfo, ParallelClientMessage, @@ -14,9 +14,12 @@ import { TaskResult, TestInfo, UnitTestTask, -} from "../_namespaces/Harness.Parallel"; +} from "../_namespaces/Harness.Parallel.js"; + +export function start(importTests: () => Promise) { + // This brings in the tests after we finish setting things up and yield to the event loop. + const importTestsPromise = importTests(); -export function start() { function hookUncaughtExceptions() { if (!exceptionsHooked) { process.on("uncaughtException", handleUncaughtException); @@ -277,7 +280,9 @@ export function start() { return !!tasks && Array.isArray(tasks) && tasks.length > 0 && tasks.every(validateTest); } - function processHostMessage(message: ParallelHostMessage) { + async function processHostMessage(message: ParallelHostMessage) { + await importTestsPromise; + if (!validateHostMessage(message)) { console.log("Invalid message:", message); return; diff --git a/src/testRunner/projectsRunner.ts b/src/testRunner/projectsRunner.ts index 56394ed3ce28a..fa5d15a11a13e 100644 --- a/src/testRunner/projectsRunner.ts +++ b/src/testRunner/projectsRunner.ts @@ -1,10 +1,10 @@ -import * as documents from "./_namespaces/documents"; -import * as fakes from "./_namespaces/fakes"; -import * as Harness from "./_namespaces/Harness"; -import * as ts from "./_namespaces/ts"; -import * as Utils from "./_namespaces/Utils"; -import * as vfs from "./_namespaces/vfs"; -import * as vpath from "./_namespaces/vpath"; +import * as documents from "./_namespaces/documents.js"; +import * as fakes from "./_namespaces/fakes.js"; +import * as Harness from "./_namespaces/Harness.js"; +import * as ts from "./_namespaces/ts.js"; +import * as Utils from "./_namespaces/Utils.js"; +import * as vfs from "./_namespaces/vfs.js"; +import * as vpath from "./_namespaces/vpath.js"; // Test case is json of below type in tests/cases/project/ interface ProjectRunnerTestCase { diff --git a/src/testRunner/runner.ts b/src/testRunner/runner.ts index e5ac52c131025..12fc1308ecba7 100644 --- a/src/testRunner/runner.ts +++ b/src/testRunner/runner.ts @@ -1,4 +1,4 @@ -import * as FourSlash from "./_namespaces/FourSlash"; +import * as FourSlash from "./_namespaces/FourSlash.js"; import { CompilerBaselineRunner, CompilerTestType, @@ -12,10 +12,10 @@ import { setShards, TestRunnerKind, TranspileRunner, -} from "./_namespaces/Harness"; -import * as project from "./_namespaces/project"; -import * as ts from "./_namespaces/ts"; -import * as vpath from "./_namespaces/vpath"; +} from "./_namespaces/Harness.js"; +import * as project from "./_namespaces/project.js"; +import * as ts from "./_namespaces/ts.js"; +import * as vpath from "./_namespaces/vpath.js"; /* eslint-disable prefer-const */ export let runners: RunnerBase[] = []; @@ -249,6 +249,10 @@ function beginTests() { } } +function importTests() { + return import("./tests.js"); +} + export let isWorker: boolean; function startTestEnvironment() { // For debugging convenience. @@ -256,20 +260,13 @@ function startTestEnvironment() { isWorker = handleTestConfig(); if (isWorker) { - return Parallel.Worker.start(); + return Parallel.Worker.start(importTests); } else if (taskConfigsFolder && workerCount && workerCount > 1) { - return Parallel.Host.start(); + return Parallel.Host.start(importTests); } beginTests(); + importTests(); } startTestEnvironment(); - -// This brings in all of the unittests. - -// If running as emitted CJS, we want to start the tests here after startTestEnvironment. -// If running bundled, we will do this in Harness.ts. -if (__filename.endsWith("runner.js")) { - require("./tests"); -} diff --git a/src/testRunner/tests.ts b/src/testRunner/tests.ts index 75a0ca1d32c70..af34d74a1ac66 100644 --- a/src/testRunner/tests.ts +++ b/src/testRunner/tests.ts @@ -1,221 +1,228 @@ -import "./unittests/asserts"; -import "./unittests/base64"; -import "./unittests/builder"; -import "./unittests/canWatch"; -import "./unittests/comments"; -import "./unittests/compilerCore"; -import "./unittests/convertToBase64"; -import "./unittests/customTransforms"; -import "./unittests/diagnosticCollection"; -import "./unittests/factory"; -import "./unittests/incrementalParser"; -import "./unittests/jsDocParsing"; -import "./unittests/jsonParserRecovery"; -import "./unittests/moduleResolution"; -import "./unittests/parsePseudoBigInt"; -import "./unittests/paths"; -import "./unittests/printer"; -import "./unittests/programApi"; -import "./unittests/publicApi"; -import "./unittests/reuseProgramStructure"; -import "./unittests/semver"; -import "./unittests/transform"; -import "./unittests/typeParameterIsPossiblyReferenced"; -import "./unittests/config/commandLineParsing"; -import "./unittests/config/configurationExtension"; -import "./unittests/config/convertCompilerOptionsFromJson"; -import "./unittests/config/convertTypeAcquisitionFromJson"; -import "./unittests/config/initializeTSConfig"; -import "./unittests/config/matchFiles"; -import "./unittests/config/showConfig"; -import "./unittests/config/tsconfigParsing"; -import "./unittests/config/tsconfigParsingWatchOptions"; -import "./unittests/evaluation/arraySpread"; -import "./unittests/evaluation/asyncArrow"; -import "./unittests/evaluation/asyncGenerator"; -import "./unittests/evaluation/autoAccessors"; -import "./unittests/evaluation/awaiter"; -import "./unittests/evaluation/constEnum"; -import "./unittests/evaluation/destructuring"; -import "./unittests/evaluation/externalModules"; -import "./unittests/evaluation/esDecorators"; -import "./unittests/evaluation/esDecoratorsMetadata"; -import "./unittests/evaluation/forAwaitOf"; -import "./unittests/evaluation/forOf"; -import "./unittests/evaluation/generator"; -import "./unittests/evaluation/optionalCall"; -import "./unittests/evaluation/objectRest"; -import "./unittests/evaluation/superInStaticInitializer"; -import "./unittests/evaluation/templateLiteral"; -import "./unittests/evaluation/updateExpressionInModule"; -import "./unittests/evaluation/usingDeclarations"; -import "./unittests/evaluation/awaitUsingDeclarations"; -import "./unittests/services/cancellableLanguageServiceOperations"; -import "./unittests/services/colorization"; -import "./unittests/services/convertToAsyncFunction"; -import "./unittests/services/documentRegistry"; -import "./unittests/services/extract/constants"; -import "./unittests/services/extract/functions"; -import "./unittests/services/extract/symbolWalker"; -import "./unittests/services/extract/ranges"; -import "./unittests/services/hostNewLineSupport"; -import "./unittests/services/languageService"; -import "./unittests/services/organizeImports"; -import "./unittests/services/patternMatcher"; -import "./unittests/services/preProcessFile"; -import "./unittests/services/textChanges"; -import "./unittests/services/transpile"; -import "./unittests/services/utilities"; -import "./unittests/sys/symlinkWatching"; -import "./unittests/tsbuild/amdModulesWithOut"; -import "./unittests/tsbuild/clean"; -import "./unittests/tsbuild/commandLine"; -import "./unittests/tsbuild/configFileErrors"; -import "./unittests/tsbuild/configFileExtends"; -import "./unittests/tsbuild/containerOnlyReferenced"; -import "./unittests/tsbuild/declarationEmit"; -import "./unittests/tsbuild/demo"; -import "./unittests/tsbuild/emitDeclarationOnly"; -import "./unittests/tsbuild/emptyFiles"; -import "./unittests/tsbuild/exitCodeOnBogusFile"; -import "./unittests/tsbuild/extends"; -import "./unittests/tsbuild/fileDelete"; -import "./unittests/tsbuild/graphOrdering"; -import "./unittests/tsbuild/inferredTypeFromTransitiveModule"; -import "./unittests/tsbuild/javascriptProjectEmit"; -import "./unittests/tsbuild/lateBoundSymbol"; -import "./unittests/tsbuild/libraryResolution"; -import "./unittests/tsbuild/moduleResolution"; -import "./unittests/tsbuild/moduleSpecifiers"; -import "./unittests/tsbuild/noCheck"; -import "./unittests/tsbuild/noEmit"; -import "./unittests/tsbuild/noEmitOnError"; -import "./unittests/tsbuild/outFile"; -import "./unittests/tsbuild/outputPaths"; -import "./unittests/tsbuild/publicApi"; -import "./unittests/tsbuild/referencesWithRootDirInParent"; -import "./unittests/tsbuild/resolveJsonModule"; -import "./unittests/tsbuild/roots"; -import "./unittests/tsbuild/sample"; -import "./unittests/tsbuild/transitiveReferences"; -import "./unittests/tsbuildWatch/configFileErrors"; -import "./unittests/tsbuildWatch/demo"; -import "./unittests/tsbuildWatch/extends"; -import "./unittests/tsbuildWatch/libraryResolution"; -import "./unittests/tsbuildWatch/moduleResolution"; -import "./unittests/tsbuildWatch/noEmit"; -import "./unittests/tsbuildWatch/noEmitOnError"; -import "./unittests/tsbuildWatch/programUpdates"; -import "./unittests/tsbuildWatch/projectsBuilding"; -import "./unittests/tsbuildWatch/publicApi"; -import "./unittests/tsbuildWatch/reexport"; -import "./unittests/tsbuildWatch/watchEnvironment"; -import "./unittests/tsc/cancellationToken"; -import "./unittests/tsc/composite"; -import "./unittests/tsc/declarationEmit"; -import "./unittests/tsc/extends"; -import "./unittests/tsc/forceConsistentCasingInFileNames"; -import "./unittests/tsc/incremental"; -import "./unittests/tsc/libraryResolution"; -import "./unittests/tsc/listFilesOnly"; -import "./unittests/tsc/moduleResolution"; -import "./unittests/tsc/projectReferences"; -import "./unittests/tsc/projectReferencesConfig"; -import "./unittests/tsc/redirect"; -import "./unittests/tsc/runWithoutArgs"; -import "./unittests/tscWatch/consoleClearing"; -import "./unittests/tscWatch/emit"; -import "./unittests/tscWatch/nodeNextWatch"; -import "./unittests/tscWatch/emitAndErrorUpdates"; -import "./unittests/tscWatch/extends"; -import "./unittests/tscWatch/forceConsistentCasingInFileNames"; -import "./unittests/tscWatch/incremental"; -import "./unittests/tscWatch/libraryResolution"; -import "./unittests/tscWatch/moduleResolution"; -import "./unittests/tscWatch/programUpdates"; -import "./unittests/tscWatch/projectsWithReferences"; -import "./unittests/tscWatch/resolutionCache"; -import "./unittests/tscWatch/resolveJsonModuleWithIncremental"; -import "./unittests/tscWatch/sourceOfProjectReferenceRedirect"; -import "./unittests/tscWatch/symlinks"; -import "./unittests/tscWatch/watchApi"; -import "./unittests/tscWatch/watchEnvironment"; -import "./unittests/tsserver/applyChangesToOpenFiles"; -import "./unittests/tsserver/autoImportProvider"; -import "./unittests/tsserver/auxiliaryProject"; -import "./unittests/tsserver/cachingFileSystemInformation"; -import "./unittests/tsserver/cancellationToken"; -import "./unittests/tsserver/codeFix"; -import "./unittests/tsserver/compileOnSave"; -import "./unittests/tsserver/completions"; -import "./unittests/tsserver/completionsIncomplete"; -import "./unittests/tsserver/configFileSearch"; -import "./unittests/tsserver/configuredProjects"; -import "./unittests/tsserver/declarationFileMaps"; -import "./unittests/tsserver/documentRegistry"; -import "./unittests/tsserver/duplicatePackages"; -import "./unittests/tsserver/dynamicFiles"; -import "./unittests/tsserver/events/largeFileReferenced"; -import "./unittests/tsserver/events/projectLanguageServiceState"; -import "./unittests/tsserver/events/projectLoading"; -import "./unittests/tsserver/events/projectUpdatedInBackground"; -import "./unittests/tsserver/events/watchEvents"; -import "./unittests/tsserver/exportMapCache"; -import "./unittests/tsserver/extends"; -import "./unittests/tsserver/externalProjects"; -import "./unittests/tsserver/findAllReferences"; -import "./unittests/tsserver/forceConsistentCasingInFileNames"; -import "./unittests/tsserver/formatSettings"; -import "./unittests/tsserver/getApplicableRefactors"; -import "./unittests/tsserver/getEditsForFileRename"; -import "./unittests/tsserver/getExportReferences"; -import "./unittests/tsserver/getFileReferences"; -import "./unittests/tsserver/goToDefinition"; -import "./unittests/tsserver/importHelpers"; -import "./unittests/tsserver/inlayHints"; -import "./unittests/tsserver/inferredProjects"; -import "./unittests/tsserver/jsdocTag"; -import "./unittests/tsserver/languageService"; -import "./unittests/tsserver/libraryResolution"; -import "./unittests/tsserver/maxNodeModuleJsDepth"; -import "./unittests/tsserver/metadataInResponse"; -import "./unittests/tsserver/moduleResolution"; -import "./unittests/tsserver/moduleSpecifierCache"; -import "./unittests/tsserver/navTo"; -import "./unittests/tsserver/occurences"; -import "./unittests/tsserver/openFile"; -import "./unittests/tsserver/packageJsonInfo"; -import "./unittests/tsserver/partialSemanticServer"; -import "./unittests/tsserver/plugins"; -import "./unittests/tsserver/pluginsAsync"; -import "./unittests/tsserver/projectErrors"; -import "./unittests/tsserver/projectReferenceCompileOnSave"; -import "./unittests/tsserver/projectReferenceErrors"; -import "./unittests/tsserver/projectReferences"; -import "./unittests/tsserver/projectReferencesSourcemap"; -import "./unittests/tsserver/projects"; -import "./unittests/tsserver/projectsWithReferences"; -import "./unittests/tsserver/refactors"; -import "./unittests/tsserver/reload"; -import "./unittests/tsserver/reloadProjects"; -import "./unittests/tsserver/rename"; -import "./unittests/tsserver/resolutionCache"; -import "./unittests/tsserver/session"; -import "./unittests/tsserver/skipLibCheck"; -import "./unittests/tsserver/smartSelection"; -import "./unittests/tsserver/symlinkCache"; -import "./unittests/tsserver/symLinks"; -import "./unittests/tsserver/syntacticServer"; -import "./unittests/tsserver/syntaxOperations"; -import "./unittests/tsserver/textStorage"; -import "./unittests/tsserver/telemetry"; -import "./unittests/tsserver/typeAquisition"; -import "./unittests/tsserver/typeOnlyImportChains"; -import "./unittests/tsserver/typeReferenceDirectives"; -import "./unittests/tsserver/typingsInstaller"; -import "./unittests/tsserver/versionCache"; -import "./unittests/tsserver/watchEnvironment"; -import "./unittests/debugDeprecation"; -import "./unittests/tsserver/inconsistentErrorInEditor"; -import "./unittests/tsserver/getMoveToRefactoringFileSuggestions"; -import "./unittests/skipJSDocParsing"; +export * from "./unittests/asserts.js"; +export * from "./unittests/base64.js"; +export * from "./unittests/builder.js"; +export * from "./unittests/canWatch.js"; +export * from "./unittests/comments.js"; +export * from "./unittests/compilerCore.js"; +export * from "./unittests/config/commandLineParsing.js"; +export * from "./unittests/config/configurationExtension.js"; +export * from "./unittests/config/convertCompilerOptionsFromJson.js"; +export * from "./unittests/config/convertTypeAcquisitionFromJson.js"; +export * from "./unittests/config/initializeTSConfig.js"; +export * from "./unittests/config/matchFiles.js"; +export * from "./unittests/config/showConfig.js"; +export * from "./unittests/config/tsconfigParsing.js"; +export * from "./unittests/config/tsconfigParsingWatchOptions.js"; +export * from "./unittests/convertToBase64.js"; +export * from "./unittests/customTransforms.js"; +export * from "./unittests/debugDeprecation.js"; +export * from "./unittests/diagnosticCollection.js"; +export * from "./unittests/evaluation/arraySpread.js"; +export * from "./unittests/evaluation/asyncArrow.js"; +export * from "./unittests/evaluation/asyncGenerator.js"; +export * from "./unittests/evaluation/autoAccessors.js"; +export * from "./unittests/evaluation/awaiter.js"; +export * from "./unittests/evaluation/awaitUsingDeclarations.js"; +export * from "./unittests/evaluation/constEnum.js"; +export * from "./unittests/evaluation/destructuring.js"; +export * from "./unittests/evaluation/esDecorators.js"; +export * from "./unittests/evaluation/esDecoratorsMetadata.js"; +export * from "./unittests/evaluation/externalModules.js"; +export * from "./unittests/evaluation/forAwaitOf.js"; +export * from "./unittests/evaluation/forOf.js"; +export * from "./unittests/evaluation/generator.js"; +export * from "./unittests/evaluation/objectRest.js"; +export * from "./unittests/evaluation/optionalCall.js"; +export * from "./unittests/evaluation/superInStaticInitializer.js"; +export * from "./unittests/evaluation/templateLiteral.js"; +export * from "./unittests/evaluation/updateExpressionInModule.js"; +export * from "./unittests/evaluation/usingDeclarations.js"; +export * from "./unittests/factory.js"; +export * from "./unittests/incrementalParser.js"; +export * from "./unittests/jsDocParsing.js"; +export * from "./unittests/jsonParserRecovery.js"; +export * from "./unittests/moduleResolution.js"; +export * from "./unittests/parsePseudoBigInt.js"; +export * from "./unittests/paths.js"; +export * from "./unittests/printer.js"; +export * from "./unittests/programApi.js"; +export * from "./unittests/publicApi.js"; +export * from "./unittests/regExpScannerRecovery.js"; +export * from "./unittests/reuseProgramStructure.js"; +export * from "./unittests/semver.js"; +export * from "./unittests/services/cancellableLanguageServiceOperations.js"; +export * from "./unittests/services/colorization.js"; +export * from "./unittests/services/convertToAsyncFunction.js"; +export * from "./unittests/services/documentRegistry.js"; +export * from "./unittests/services/extract/constants.js"; +export * from "./unittests/services/extract/functions.js"; +export * from "./unittests/services/extract/ranges.js"; +export * from "./unittests/services/extract/symbolWalker.js"; +export * from "./unittests/services/hostNewLineSupport.js"; +export * from "./unittests/services/languageService.js"; +export * from "./unittests/services/organizeImports.js"; +export * from "./unittests/services/patternMatcher.js"; +export * from "./unittests/services/preProcessFile.js"; +export * from "./unittests/services/textChanges.js"; +export * from "./unittests/services/transpile.js"; +export * from "./unittests/services/utilities.js"; +export * from "./unittests/skipJSDocParsing.js"; +export * from "./unittests/sys/symlinkWatching.js"; +export * from "./unittests/transform.js"; +export * from "./unittests/tsbuild/amdModulesWithOut.js"; +export * from "./unittests/tsbuild/clean.js"; +export * from "./unittests/tsbuild/commandLine.js"; +export * from "./unittests/tsbuild/configFileErrors.js"; +export * from "./unittests/tsbuild/configFileExtends.js"; +export * from "./unittests/tsbuild/containerOnlyReferenced.js"; +export * from "./unittests/tsbuild/declarationEmit.js"; +export * from "./unittests/tsbuild/demo.js"; +export * from "./unittests/tsbuild/emitDeclarationOnly.js"; +export * from "./unittests/tsbuild/emptyFiles.js"; +export * from "./unittests/tsbuild/exitCodeOnBogusFile.js"; +export * from "./unittests/tsbuild/extends.js"; +export * from "./unittests/tsbuild/fileDelete.js"; +export * from "./unittests/tsbuild/graphOrdering.js"; +export * from "./unittests/tsbuild/inferredTypeFromTransitiveModule.js"; +export * from "./unittests/tsbuild/javascriptProjectEmit.js"; +export * from "./unittests/tsbuild/lateBoundSymbol.js"; +export * from "./unittests/tsbuild/libraryResolution.js"; +export * from "./unittests/tsbuild/moduleResolution.js"; +export * from "./unittests/tsbuild/moduleSpecifiers.js"; +export * from "./unittests/tsbuild/noCheck.js"; +export * from "./unittests/tsbuild/noEmit.js"; +export * from "./unittests/tsbuild/noEmitOnError.js"; +export * from "./unittests/tsbuild/outFile.js"; +export * from "./unittests/tsbuild/outputPaths.js"; +export * from "./unittests/tsbuild/publicApi.js"; +export * from "./unittests/tsbuild/referencesWithRootDirInParent.js"; +export * from "./unittests/tsbuild/resolveJsonModule.js"; +export * from "./unittests/tsbuild/roots.js"; +export * from "./unittests/tsbuild/sample.js"; +export * from "./unittests/tsbuild/transitiveReferences.js"; +export * from "./unittests/tsbuildWatch/configFileErrors.js"; +export * from "./unittests/tsbuildWatch/demo.js"; +export * from "./unittests/tsbuildWatch/extends.js"; +export * from "./unittests/tsbuildWatch/libraryResolution.js"; +export * from "./unittests/tsbuildWatch/moduleResolution.js"; +export * from "./unittests/tsbuildWatch/noEmit.js"; +export * from "./unittests/tsbuildWatch/noEmitOnError.js"; +export * from "./unittests/tsbuildWatch/programUpdates.js"; +export * from "./unittests/tsbuildWatch/projectsBuilding.js"; +export * from "./unittests/tsbuildWatch/publicApi.js"; +export * from "./unittests/tsbuildWatch/reexport.js"; +export * from "./unittests/tsbuildWatch/roots.js"; +export * from "./unittests/tsbuildWatch/watchEnvironment.js"; +export * from "./unittests/tsc/cancellationToken.js"; +export * from "./unittests/tsc/composite.js"; +export * from "./unittests/tsc/declarationEmit.js"; +export * from "./unittests/tsc/extends.js"; +export * from "./unittests/tsc/forceConsistentCasingInFileNames.js"; +export * from "./unittests/tsc/incremental.js"; +export * from "./unittests/tsc/libraryResolution.js"; +export * from "./unittests/tsc/listFilesOnly.js"; +export * from "./unittests/tsc/moduleResolution.js"; +export * from "./unittests/tsc/noEmit.js"; +export * from "./unittests/tsc/noEmitOnError.js"; +export * from "./unittests/tsc/projectReferences.js"; +export * from "./unittests/tsc/projectReferencesConfig.js"; +export * from "./unittests/tsc/redirect.js"; +export * from "./unittests/tsc/runWithoutArgs.js"; +export * from "./unittests/tscWatch/consoleClearing.js"; +export * from "./unittests/tscWatch/emit.js"; +export * from "./unittests/tscWatch/emitAndErrorUpdates.js"; +export * from "./unittests/tscWatch/extends.js"; +export * from "./unittests/tscWatch/forceConsistentCasingInFileNames.js"; +export * from "./unittests/tscWatch/incremental.js"; +export * from "./unittests/tscWatch/libraryResolution.js"; +export * from "./unittests/tscWatch/moduleResolution.js"; +export * from "./unittests/tscWatch/nodeNextWatch.js"; +export * from "./unittests/tscWatch/noEmitOnError.js"; +export * from "./unittests/tscWatch/programUpdates.js"; +export * from "./unittests/tscWatch/projectsWithReferences.js"; +export * from "./unittests/tscWatch/resolutionCache.js"; +export * from "./unittests/tscWatch/resolveJsonModuleWithIncremental.js"; +export * from "./unittests/tscWatch/sourceOfProjectReferenceRedirect.js"; +export * from "./unittests/tscWatch/symlinks.js"; +export * from "./unittests/tscWatch/watchApi.js"; +export * from "./unittests/tscWatch/watchEnvironment.js"; +export * from "./unittests/tsserver/applyChangesToOpenFiles.js"; +export * from "./unittests/tsserver/autoImportProvider.js"; +export * from "./unittests/tsserver/auxiliaryProject.js"; +export * from "./unittests/tsserver/cachingFileSystemInformation.js"; +export * from "./unittests/tsserver/cancellationToken.js"; +export * from "./unittests/tsserver/codeFix.js"; +export * from "./unittests/tsserver/compileOnSave.js"; +export * from "./unittests/tsserver/completions.js"; +export * from "./unittests/tsserver/completionsIncomplete.js"; +export * from "./unittests/tsserver/configFileSearch.js"; +export * from "./unittests/tsserver/configuredProjects.js"; +export * from "./unittests/tsserver/declarationFileMaps.js"; +export * from "./unittests/tsserver/documentRegistry.js"; +export * from "./unittests/tsserver/duplicatePackages.js"; +export * from "./unittests/tsserver/dynamicFiles.js"; +export * from "./unittests/tsserver/events/largeFileReferenced.js"; +export * from "./unittests/tsserver/events/projectLanguageServiceState.js"; +export * from "./unittests/tsserver/events/projectLoading.js"; +export * from "./unittests/tsserver/events/projectUpdatedInBackground.js"; +export * from "./unittests/tsserver/events/watchEvents.js"; +export * from "./unittests/tsserver/exportMapCache.js"; +export * from "./unittests/tsserver/extends.js"; +export * from "./unittests/tsserver/externalProjects.js"; +export * from "./unittests/tsserver/findAllReferences.js"; +export * from "./unittests/tsserver/forceConsistentCasingInFileNames.js"; +export * from "./unittests/tsserver/formatSettings.js"; +export * from "./unittests/tsserver/getApplicableRefactors.js"; +export * from "./unittests/tsserver/getEditsForFileRename.js"; +export * from "./unittests/tsserver/getExportReferences.js"; +export * from "./unittests/tsserver/getFileReferences.js"; +export * from "./unittests/tsserver/getMoveToRefactoringFileSuggestions.js"; +export * from "./unittests/tsserver/goToDefinition.js"; +export * from "./unittests/tsserver/importHelpers.js"; +export * from "./unittests/tsserver/inconsistentErrorInEditor.js"; +export * from "./unittests/tsserver/inferredProjects.js"; +export * from "./unittests/tsserver/inlayHints.js"; +export * from "./unittests/tsserver/jsdocTag.js"; +export * from "./unittests/tsserver/languageService.js"; +export * from "./unittests/tsserver/libraryResolution.js"; +export * from "./unittests/tsserver/maxNodeModuleJsDepth.js"; +export * from "./unittests/tsserver/metadataInResponse.js"; +export * from "./unittests/tsserver/moduleResolution.js"; +export * from "./unittests/tsserver/moduleSpecifierCache.js"; +export * from "./unittests/tsserver/navTo.js"; +export * from "./unittests/tsserver/occurences.js"; +export * from "./unittests/tsserver/openFile.js"; +export * from "./unittests/tsserver/packageJsonInfo.js"; +export * from "./unittests/tsserver/partialSemanticServer.js"; +export * from "./unittests/tsserver/pasteEdits.js"; +export * from "./unittests/tsserver/plugins.js"; +export * from "./unittests/tsserver/pluginsAsync.js"; +export * from "./unittests/tsserver/projectErrors.js"; +export * from "./unittests/tsserver/projectReferenceCompileOnSave.js"; +export * from "./unittests/tsserver/projectReferenceErrors.js"; +export * from "./unittests/tsserver/projectReferences.js"; +export * from "./unittests/tsserver/projectReferencesSourcemap.js"; +export * from "./unittests/tsserver/projectRootFiles.js"; +export * from "./unittests/tsserver/projects.js"; +export * from "./unittests/tsserver/projectsWithReferences.js"; +export * from "./unittests/tsserver/refactors.js"; +export * from "./unittests/tsserver/reload.js"; +export * from "./unittests/tsserver/reloadProjects.js"; +export * from "./unittests/tsserver/rename.js"; +export * from "./unittests/tsserver/resolutionCache.js"; +export * from "./unittests/tsserver/session.js"; +export * from "./unittests/tsserver/skipLibCheck.js"; +export * from "./unittests/tsserver/smartSelection.js"; +export * from "./unittests/tsserver/symlinkCache.js"; +export * from "./unittests/tsserver/symLinks.js"; +export * from "./unittests/tsserver/syntacticServer.js"; +export * from "./unittests/tsserver/syntaxOperations.js"; +export * from "./unittests/tsserver/telemetry.js"; +export * from "./unittests/tsserver/textStorage.js"; +export * from "./unittests/tsserver/typeAquisition.js"; +export * from "./unittests/tsserver/typeOnlyImportChains.js"; +export * from "./unittests/tsserver/typeReferenceDirectives.js"; +export * from "./unittests/tsserver/typingsInstaller.js"; +export * from "./unittests/tsserver/versionCache.js"; +export * from "./unittests/tsserver/watchEnvironment.js"; +export * from "./unittests/typeParameterIsPossiblyReferenced.js"; diff --git a/src/testRunner/transpileRunner.ts b/src/testRunner/transpileRunner.ts index fd8526d79a69d..80a9794fe2bc1 100644 --- a/src/testRunner/transpileRunner.ts +++ b/src/testRunner/transpileRunner.ts @@ -6,9 +6,9 @@ import { RunnerBase, TestCaseParser, TestRunnerKind, -} from "./_namespaces/Harness"; -import * as ts from "./_namespaces/ts"; -import * as vpath from "./_namespaces/vpath"; +} from "./_namespaces/Harness.js"; +import * as ts from "./_namespaces/ts.js"; +import * as vpath from "./_namespaces/vpath.js"; export class TranspileRunner extends RunnerBase { protected basePath = "tests/cases/transpile"; diff --git a/src/testRunner/unittests/asserts.ts b/src/testRunner/unittests/asserts.ts index 0656156e852c0..48f1d32fd146c 100644 --- a/src/testRunner/unittests/asserts.ts +++ b/src/testRunner/unittests/asserts.ts @@ -1,4 +1,4 @@ -import * as ts from "../_namespaces/ts"; +import * as ts from "../_namespaces/ts.js"; describe("unittests:: assert", () => { it("deepEqual", () => { diff --git a/src/testRunner/unittests/base64.ts b/src/testRunner/unittests/base64.ts index 82ae5df634814..996cae1d12ebf 100644 --- a/src/testRunner/unittests/base64.ts +++ b/src/testRunner/unittests/base64.ts @@ -1,4 +1,4 @@ -import * as ts from "../_namespaces/ts"; +import * as ts from "../_namespaces/ts.js"; describe("unittests:: base64", () => { describe("base64decode", () => { diff --git a/src/testRunner/unittests/builder.ts b/src/testRunner/unittests/builder.ts index 65ad35bfd6c6c..66b133cfa02c6 100644 --- a/src/testRunner/unittests/builder.ts +++ b/src/testRunner/unittests/builder.ts @@ -1,4 +1,4 @@ -import * as ts from "../_namespaces/ts"; +import * as ts from "../_namespaces/ts.js"; import { NamedSourceText, newProgram, @@ -6,7 +6,7 @@ import { SourceText, updateProgram, updateProgramText, -} from "./helpers"; +} from "./helpers.js"; describe("unittests:: builder", () => { it("emits dependent files", () => { diff --git a/src/testRunner/unittests/canWatch.ts b/src/testRunner/unittests/canWatch.ts index 736d45b5198ab..b5d4f4f58af1d 100644 --- a/src/testRunner/unittests/canWatch.ts +++ b/src/testRunner/unittests/canWatch.ts @@ -1,5 +1,5 @@ -import { Baseline } from "../_namespaces/Harness"; -import * as ts from "../_namespaces/ts"; +import { Baseline } from "../_namespaces/Harness.js"; +import * as ts from "../_namespaces/ts.js"; describe("unittests:: canWatch::", () => { baselineCanWatch( "canWatchDirectoryOrFile", diff --git a/src/testRunner/unittests/comments.ts b/src/testRunner/unittests/comments.ts index 74d6919285616..a1eeeb8aacfa1 100644 --- a/src/testRunner/unittests/comments.ts +++ b/src/testRunner/unittests/comments.ts @@ -1,4 +1,4 @@ -import * as ts from "../_namespaces/ts"; +import * as ts from "../_namespaces/ts.js"; describe("comment parsing", () => { const withShebang = `#! node @@ -14,19 +14,19 @@ describe("comment parsing", () => { it("skips shebang", () => { const result = ts.getLeadingCommentRanges(withShebang, 0); assert.isDefined(result); - assert.strictEqual(result!.length, 2); + assert.strictEqual(result.length, 2); }); it("treats all comments at start of file as leading comments", () => { const result = ts.getLeadingCommentRanges(noShebang, 0); assert.isDefined(result); - assert.strictEqual(result!.length, 2); + assert.strictEqual(result.length, 2); }); it("returns leading comments if position is not 0", () => { const result = ts.getLeadingCommentRanges(withTrailing, 1); assert.isDefined(result); - assert.strictEqual(result!.length, 1); - assert.strictEqual(result![0].kind, ts.SyntaxKind.SingleLineCommentTrivia); + assert.strictEqual(result.length, 1); + assert.strictEqual(result[0].kind, ts.SyntaxKind.SingleLineCommentTrivia); }); }); diff --git a/src/testRunner/unittests/compilerCore.ts b/src/testRunner/unittests/compilerCore.ts index ed2415eb6aec5..82a259df154ef 100644 --- a/src/testRunner/unittests/compilerCore.ts +++ b/src/testRunner/unittests/compilerCore.ts @@ -1,4 +1,4 @@ -import * as ts from "../_namespaces/ts"; +import * as ts from "../_namespaces/ts.js"; describe("unittests:: compilerCore", () => { describe("equalOwnProperties", () => { diff --git a/src/testRunner/unittests/config/commandLineParsing.ts b/src/testRunner/unittests/config/commandLineParsing.ts index 6173663884323..9c5dc6d3f2351 100644 --- a/src/testRunner/unittests/config/commandLineParsing.ts +++ b/src/testRunner/unittests/config/commandLineParsing.ts @@ -1,6 +1,6 @@ -import * as Harness from "../../_namespaces/Harness"; -import * as ts from "../../_namespaces/ts"; -import { jsonToReadableText } from "../helpers"; +import * as Harness from "../../_namespaces/Harness.js"; +import * as ts from "../../_namespaces/ts.js"; +import { jsonToReadableText } from "../helpers.js"; describe("unittests:: config:: commandLineParsing:: parseCommandLine", () => { function assertParseResult(subScenario: string, commandLine: string[], workerDiagnostic?: () => ts.ParseCommandLineWorkerDiagnostics) { diff --git a/src/testRunner/unittests/config/configurationExtension.ts b/src/testRunner/unittests/config/configurationExtension.ts index 7006b3dbe7169..251cc965746c7 100644 --- a/src/testRunner/unittests/config/configurationExtension.ts +++ b/src/testRunner/unittests/config/configurationExtension.ts @@ -1,12 +1,12 @@ -import * as fakes from "../../_namespaces/fakes"; -import * as Harness from "../../_namespaces/Harness"; -import * as ts from "../../_namespaces/ts"; -import * as vfs from "../../_namespaces/vfs"; -import { jsonToReadableText } from "../helpers"; +import * as fakes from "../../_namespaces/fakes.js"; +import * as Harness from "../../_namespaces/Harness.js"; +import * as ts from "../../_namespaces/ts.js"; +import * as vfs from "../../_namespaces/vfs.js"; +import { jsonToReadableText } from "../helpers.js"; import { baselineParseConfig, baselineParseConfigHost, -} from "./helpers"; +} from "./helpers.js"; function createFileSystem(ignoreCase: boolean, cwd: string, root: string) { return new vfs.FileSystem(ignoreCase, { diff --git a/src/testRunner/unittests/config/convertCompilerOptionsFromJson.ts b/src/testRunner/unittests/config/convertCompilerOptionsFromJson.ts index 684484c6c2ce2..1acec6596358e 100644 --- a/src/testRunner/unittests/config/convertCompilerOptionsFromJson.ts +++ b/src/testRunner/unittests/config/convertCompilerOptionsFromJson.ts @@ -1,7 +1,7 @@ -import * as fakes from "../../_namespaces/fakes"; -import * as vfs from "../../_namespaces/vfs"; -import { jsonToReadableText } from "../helpers"; -import { baselineParseConfig } from "./helpers"; +import * as fakes from "../../_namespaces/fakes.js"; +import * as vfs from "../../_namespaces/vfs.js"; +import { jsonToReadableText } from "../helpers.js"; +import { baselineParseConfig } from "./helpers.js"; describe("unittests:: config:: convertCompilerOptionsFromJson", () => { function baselineCompilerOptions(subScenario: string, json: any, configFileName: string) { diff --git a/src/testRunner/unittests/config/convertTypeAcquisitionFromJson.ts b/src/testRunner/unittests/config/convertTypeAcquisitionFromJson.ts index 2a0e1f458af1a..9cdad65b4c40b 100644 --- a/src/testRunner/unittests/config/convertTypeAcquisitionFromJson.ts +++ b/src/testRunner/unittests/config/convertTypeAcquisitionFromJson.ts @@ -1,7 +1,7 @@ -import * as fakes from "../../_namespaces/fakes"; -import * as vfs from "../../_namespaces/vfs"; -import { jsonToReadableText } from "../helpers"; -import { baselineParseConfig } from "./helpers"; +import * as fakes from "../../_namespaces/fakes.js"; +import * as vfs from "../../_namespaces/vfs.js"; +import { jsonToReadableText } from "../helpers.js"; +import { baselineParseConfig } from "./helpers.js"; describe("unittests:: config:: convertTypeAcquisitionFromJson", () => { function baselineTypeAcquisition(subScenario: string, json: any, configFileName: string) { diff --git a/src/testRunner/unittests/config/helpers.ts b/src/testRunner/unittests/config/helpers.ts index dd219e84afe39..5a5aa78c24fed 100644 --- a/src/testRunner/unittests/config/helpers.ts +++ b/src/testRunner/unittests/config/helpers.ts @@ -1,7 +1,7 @@ -import * as fakes from "../../_namespaces/fakes"; -import * as Harness from "../../_namespaces/Harness"; -import * as ts from "../../_namespaces/ts"; -import * as vfs from "../../_namespaces/vfs"; +import * as fakes from "../../_namespaces/fakes.js"; +import * as Harness from "../../_namespaces/Harness.js"; +import * as ts from "../../_namespaces/ts.js"; +import * as vfs from "../../_namespaces/vfs.js"; function getParsedCommandJson( jsonText: string, diff --git a/src/testRunner/unittests/config/initializeTSConfig.ts b/src/testRunner/unittests/config/initializeTSConfig.ts index d2965cdca7c17..713c693d0e807 100644 --- a/src/testRunner/unittests/config/initializeTSConfig.ts +++ b/src/testRunner/unittests/config/initializeTSConfig.ts @@ -1,5 +1,5 @@ -import * as Harness from "../../_namespaces/Harness"; -import * as ts from "../../_namespaces/ts"; +import * as Harness from "../../_namespaces/Harness.js"; +import * as ts from "../../_namespaces/ts.js"; describe("unittests:: config:: initTSConfig", () => { function initTSConfigCorrectly(name: string, commandLinesArgs: string[]) { diff --git a/src/testRunner/unittests/config/matchFiles.ts b/src/testRunner/unittests/config/matchFiles.ts index f2359ca9922ea..05a668e3e079d 100644 --- a/src/testRunner/unittests/config/matchFiles.ts +++ b/src/testRunner/unittests/config/matchFiles.ts @@ -1,8 +1,8 @@ -import * as fakes from "../../_namespaces/fakes"; -import * as ts from "../../_namespaces/ts"; -import * as vfs from "../../_namespaces/vfs"; -import { jsonToReadableText } from "../helpers"; -import { baselineParseConfig } from "./helpers"; +import * as fakes from "../../_namespaces/fakes.js"; +import * as ts from "../../_namespaces/ts.js"; +import * as vfs from "../../_namespaces/vfs.js"; +import { jsonToReadableText } from "../helpers.js"; +import { baselineParseConfig } from "./helpers.js"; const caseInsensitiveBasePath = "c:/dev/"; const caseInsensitiveTsconfigPath = "c:/dev/tsconfig.json"; diff --git a/src/testRunner/unittests/config/showConfig.ts b/src/testRunner/unittests/config/showConfig.ts index 3e02a256d8f29..0061df800a223 100644 --- a/src/testRunner/unittests/config/showConfig.ts +++ b/src/testRunner/unittests/config/showConfig.ts @@ -1,5 +1,5 @@ -import * as Harness from "../../_namespaces/Harness"; -import * as ts from "../../_namespaces/ts"; +import * as Harness from "../../_namespaces/Harness.js"; +import * as ts from "../../_namespaces/ts.js"; describe("unittests:: config:: showConfig", () => { function showTSConfigCorrectly(name: string, commandLinesArgs: string[], configJson?: object) { diff --git a/src/testRunner/unittests/config/tsconfigParsing.ts b/src/testRunner/unittests/config/tsconfigParsing.ts index 6652c2ffb2b38..c3893dde6eb59 100644 --- a/src/testRunner/unittests/config/tsconfigParsing.ts +++ b/src/testRunner/unittests/config/tsconfigParsing.ts @@ -1,9 +1,9 @@ -import * as fakes from "../../_namespaces/fakes"; -import * as Harness from "../../_namespaces/Harness"; -import * as ts from "../../_namespaces/ts"; -import * as vfs from "../../_namespaces/vfs"; -import { jsonToReadableText } from "../helpers"; -import { baselineParseConfig } from "./helpers"; +import * as fakes from "../../_namespaces/fakes.js"; +import * as Harness from "../../_namespaces/Harness.js"; +import * as ts from "../../_namespaces/ts.js"; +import * as vfs from "../../_namespaces/vfs.js"; +import { jsonToReadableText } from "../helpers.js"; +import { baselineParseConfig } from "./helpers.js"; describe("unittests:: config:: tsconfigParsing:: parseConfigFileTextToJson", () => { function formatErrors(errors: readonly ts.Diagnostic[]) { diff --git a/src/testRunner/unittests/config/tsconfigParsingWatchOptions.ts b/src/testRunner/unittests/config/tsconfigParsingWatchOptions.ts index 24837791623a7..1890be7fb560f 100644 --- a/src/testRunner/unittests/config/tsconfigParsingWatchOptions.ts +++ b/src/testRunner/unittests/config/tsconfigParsingWatchOptions.ts @@ -1,8 +1,8 @@ -import * as fakes from "../../_namespaces/fakes"; -import * as ts from "../../_namespaces/ts"; -import * as vfs from "../../_namespaces/vfs"; -import { jsonToReadableText } from "../helpers"; -import { baselineParseConfig } from "./helpers"; +import * as fakes from "../../_namespaces/fakes.js"; +import * as ts from "../../_namespaces/ts.js"; +import * as vfs from "../../_namespaces/vfs.js"; +import { jsonToReadableText } from "../helpers.js"; +import { baselineParseConfig } from "./helpers.js"; describe("unittests:: config:: tsconfigParsingWatchOptions:: parseConfigFileTextToJson", () => { interface VerifyWatchOptions { diff --git a/src/testRunner/unittests/convertToBase64.ts b/src/testRunner/unittests/convertToBase64.ts index e801451208ef9..a3465854d7853 100644 --- a/src/testRunner/unittests/convertToBase64.ts +++ b/src/testRunner/unittests/convertToBase64.ts @@ -1,4 +1,4 @@ -import * as ts from "../_namespaces/ts"; +import * as ts from "../_namespaces/ts.js"; describe("unittests:: convertToBase64", () => { function runTest(input: string): void { diff --git a/src/testRunner/unittests/customTransforms.ts b/src/testRunner/unittests/customTransforms.ts index 2af7834ccf72b..ec46c04206ad4 100644 --- a/src/testRunner/unittests/customTransforms.ts +++ b/src/testRunner/unittests/customTransforms.ts @@ -1,5 +1,5 @@ -import * as Harness from "../_namespaces/Harness"; -import * as ts from "../_namespaces/ts"; +import * as Harness from "../_namespaces/Harness.js"; +import * as ts from "../_namespaces/ts.js"; describe("unittests:: customTransforms", () => { function emitsCorrectly(name: string, sources: { file: string; text: string; }[], customTransformers: ts.CustomTransformers, options: ts.CompilerOptions = {}) { diff --git a/src/testRunner/unittests/debugDeprecation.ts b/src/testRunner/unittests/debugDeprecation.ts index 4019a021bb807..09cc781114780 100644 --- a/src/testRunner/unittests/debugDeprecation.ts +++ b/src/testRunner/unittests/debugDeprecation.ts @@ -1,5 +1,5 @@ -import { deprecate } from "../../deprecatedCompat/deprecate"; -import * as ts from "../_namespaces/ts"; +import { deprecate } from "../../deprecatedCompat/deprecate.js"; +import * as ts from "../_namespaces/ts.js"; describe("unittests:: debugDeprecation", () => { let loggingHost: ts.LoggingHost | undefined; diff --git a/src/testRunner/unittests/diagnosticCollection.ts b/src/testRunner/unittests/diagnosticCollection.ts index e0b543ac31272..4ea709f78049e 100644 --- a/src/testRunner/unittests/diagnosticCollection.ts +++ b/src/testRunner/unittests/diagnosticCollection.ts @@ -1,4 +1,4 @@ -import * as ts from "../_namespaces/ts"; +import * as ts from "../_namespaces/ts.js"; describe("unittests:: internalApi:: diagnosticCollection", () => { describe("add", () => { diff --git a/src/testRunner/unittests/evaluation/arraySpread.ts b/src/testRunner/unittests/evaluation/arraySpread.ts index cc871a76a2f46..aaf113dcaf4ef 100644 --- a/src/testRunner/unittests/evaluation/arraySpread.ts +++ b/src/testRunner/unittests/evaluation/arraySpread.ts @@ -1,4 +1,4 @@ -import * as evaluator from "../../_namespaces/evaluator"; +import * as evaluator from "../../_namespaces/evaluator.js"; describe("unittests:: evaluation:: arraySpread", () => { it("array spread preserves side-effects", async () => { diff --git a/src/testRunner/unittests/evaluation/asyncArrow.ts b/src/testRunner/unittests/evaluation/asyncArrow.ts index 6521e89e2befd..652a66a88e5ec 100644 --- a/src/testRunner/unittests/evaluation/asyncArrow.ts +++ b/src/testRunner/unittests/evaluation/asyncArrow.ts @@ -1,4 +1,4 @@ -import * as evaluator from "../../_namespaces/evaluator"; +import * as evaluator from "../../_namespaces/evaluator.js"; describe("unittests:: evaluation:: asyncArrowEvaluation", () => { // https://github.com/Microsoft/TypeScript/issues/24722 @@ -17,4 +17,29 @@ describe("unittests:: evaluation:: asyncArrowEvaluation", () => { await result.main(); assert.instanceOf(result.output[0].a(), result.A); }); + + // https://github.com/microsoft/TypeScript/issues/57897 + it("Class alias (es5)", async () => { + const result = evaluator.evaluateTypeScript(` + class X { + public static a = async (someVar: boolean = true) => { + return await X.b(); + }; + + public static b = async () => { + return "GOOD"; + }; + } + + export async function main() { + try { + return await X.a(); + } + catch (e) { + return "BAD"; + } + }`); + const output = await result.main(); + assert.equal(output, "GOOD"); + }); }); diff --git a/src/testRunner/unittests/evaluation/asyncGenerator.ts b/src/testRunner/unittests/evaluation/asyncGenerator.ts index f067c872aaff2..78c54bde9238e 100644 --- a/src/testRunner/unittests/evaluation/asyncGenerator.ts +++ b/src/testRunner/unittests/evaluation/asyncGenerator.ts @@ -1,5 +1,5 @@ -import * as evaluator from "../../_namespaces/evaluator"; -import * as ts from "../../_namespaces/ts"; +import * as evaluator from "../../_namespaces/evaluator.js"; +import * as ts from "../../_namespaces/ts.js"; describe("unittests:: evaluation:: asyncGeneratorEvaluation", () => { it("return (es5)", async () => { diff --git a/src/testRunner/unittests/evaluation/autoAccessors.ts b/src/testRunner/unittests/evaluation/autoAccessors.ts index 6f4d37587a3f7..2a02ed1483786 100644 --- a/src/testRunner/unittests/evaluation/autoAccessors.ts +++ b/src/testRunner/unittests/evaluation/autoAccessors.ts @@ -1,5 +1,5 @@ -import * as evaluator from "../../_namespaces/evaluator"; -import * as ts from "../../_namespaces/ts"; +import * as evaluator from "../../_namespaces/evaluator.js"; +import * as ts from "../../_namespaces/ts.js"; describe("unittests:: evaluation:: autoAccessors", () => { const editions = [ @@ -20,8 +20,8 @@ describe("unittests:: evaluation:: autoAccessors", () => { const desc = Object.getOwnPropertyDescriptor(C.prototype, "x"); assert.isDefined(desc); - assert.isFunction(desc!.get); - assert.isFunction(desc!.set); + assert.isFunction(desc.get); + assert.isFunction(desc.set); }); it("storage is private", async () => { diff --git a/src/testRunner/unittests/evaluation/awaitUsingDeclarations.ts b/src/testRunner/unittests/evaluation/awaitUsingDeclarations.ts index aced8512f138f..2ba072b212270 100644 --- a/src/testRunner/unittests/evaluation/awaitUsingDeclarations.ts +++ b/src/testRunner/unittests/evaluation/awaitUsingDeclarations.ts @@ -1,5 +1,5 @@ -import * as evaluator from "../../_namespaces/evaluator"; -import * as ts from "../../_namespaces/ts"; +import * as evaluator from "../../_namespaces/evaluator.js"; +import * as ts from "../../_namespaces/ts.js"; function FakeSuppressedError(error: any, suppressed: any) { return { error, suppressed }; @@ -232,8 +232,8 @@ describe("unittests:: evaluation:: awaitUsingDeclarations", () => { ]); assert.instanceOf(output[4], Error); assert.strictEqual(output[4].name, "SuppressedError"); - assert.strictEqual(output[4].error, "dispose error"); - assert.strictEqual(output[4].suppressed, "body error"); + assert.strictEqual((output[4] as any).error, "dispose error"); + assert.strictEqual((output[4] as any).suppressed, "body error"); assert.deepEqual(output.slice(5), [ "after try", ]); @@ -1791,4 +1791,87 @@ describe("unittests:: evaluation:: awaitUsingDeclarations", () => { "no interleave", ]); }); + + // https://github.com/microsoft/TypeScript/issues/58077 + it("Promise returned by sync dispose is not awaited", async () => { + const { main, output } = evaluator.evaluateTypeScript( + ` + export const output: any[] = []; + + export async function main() { + const promiseDispose = new Promise((resolve) => { + setTimeout(() => { + output.push("y dispose promise body"); + resolve(); + }, 0); + }); + + { + await using x = { + async [Symbol.asyncDispose]() { + output.push("x asyncDispose body"); + }, + }; + await using y = { + [Symbol.dispose]() { + output.push("y dispose body"); + return promiseDispose; + }, + }; + } + + output.push("body"); + await promiseDispose; + } + + `, + { target: ts.ScriptTarget.ES2018 }, + ); + + await main(); + + assert.deepEqual(output, [ + "y dispose body", + "x asyncDispose body", + "body", + "y dispose promise body", + ]); + }); + + // https://github.com/microsoft/TypeScript/issues/58077 + it("Exception thrown by sync dispose is handled as rejection", async () => { + const { main, output } = evaluator.evaluateTypeScript( + ` + export const output: any[] = []; + + export async function main() { + const interleave = Promise.resolve().then(() => { output.push("interleave"); }); + + try { + await using x = { + [Symbol.dispose]() { + output.push("dispose"); + throw null; + }, + }; + } + catch { + output.push("catch"); + } + + await interleave; + } + + `, + { target: ts.ScriptTarget.ES2018 }, + ); + + await main(); + + assert.deepEqual(output, [ + "dispose", + "interleave", + "catch", + ]); + }); }); diff --git a/src/testRunner/unittests/evaluation/awaiter.ts b/src/testRunner/unittests/evaluation/awaiter.ts index 87007d8925934..718521d0bb309 100644 --- a/src/testRunner/unittests/evaluation/awaiter.ts +++ b/src/testRunner/unittests/evaluation/awaiter.ts @@ -1,4 +1,4 @@ -import * as evaluator from "../../_namespaces/evaluator"; +import * as evaluator from "../../_namespaces/evaluator.js"; describe("unittests:: evaluation:: awaiter", () => { // NOTE: This could break if the ECMAScript spec ever changes the timing behavior for Promises (again) diff --git a/src/testRunner/unittests/evaluation/constEnum.ts b/src/testRunner/unittests/evaluation/constEnum.ts index 8074c00627ff6..9060dba8d2843 100644 --- a/src/testRunner/unittests/evaluation/constEnum.ts +++ b/src/testRunner/unittests/evaluation/constEnum.ts @@ -1,4 +1,4 @@ -import * as evaluator from "../../_namespaces/evaluator"; +import * as evaluator from "../../_namespaces/evaluator.js"; describe("unittests:: evaluation:: constEnum", () => { it("correct order of operations for inlined negative numbers", async () => { diff --git a/src/testRunner/unittests/evaluation/destructuring.ts b/src/testRunner/unittests/evaluation/destructuring.ts index 6a36f92fab830..a8dbf796653a2 100644 --- a/src/testRunner/unittests/evaluation/destructuring.ts +++ b/src/testRunner/unittests/evaluation/destructuring.ts @@ -1,5 +1,5 @@ -import * as evaluator from "../../_namespaces/evaluator"; -import * as ts from "../../_namespaces/ts"; +import * as evaluator from "../../_namespaces/evaluator.js"; +import * as ts from "../../_namespaces/ts.js"; describe("unittests:: evaluation:: destructuring", () => { // https://github.com/microsoft/TypeScript/issues/39205 diff --git a/src/testRunner/unittests/evaluation/esDecorators.ts b/src/testRunner/unittests/evaluation/esDecorators.ts index 258bfcc803e6a..5c54951a57b95 100644 --- a/src/testRunner/unittests/evaluation/esDecorators.ts +++ b/src/testRunner/unittests/evaluation/esDecorators.ts @@ -1,6 +1,6 @@ -import * as evaluator from "../../_namespaces/evaluator"; -import * as ts from "../../_namespaces/ts"; -import { ScriptTarget } from "../../_namespaces/ts"; +import * as evaluator from "../../_namespaces/evaluator.js"; +import * as ts from "../../_namespaces/ts.js"; +import { ScriptTarget } from "../../_namespaces/ts.js"; describe("unittests:: evaluation:: esDecorators", () => { const options: ts.CompilerOptions = { target: ts.ScriptTarget.ES2021 }; diff --git a/src/testRunner/unittests/evaluation/esDecoratorsMetadata.ts b/src/testRunner/unittests/evaluation/esDecoratorsMetadata.ts index 3a5a979d4895d..5261c3d7cef96 100644 --- a/src/testRunner/unittests/evaluation/esDecoratorsMetadata.ts +++ b/src/testRunner/unittests/evaluation/esDecoratorsMetadata.ts @@ -1,6 +1,6 @@ -import * as evaluator from "../../_namespaces/evaluator"; -import * as ts from "../../_namespaces/ts"; -import { ScriptTarget } from "../../_namespaces/ts"; +import * as evaluator from "../../_namespaces/evaluator.js"; +import * as ts from "../../_namespaces/ts.js"; +import { ScriptTarget } from "../../_namespaces/ts.js"; describe("unittests:: evaluation:: esDecoratorsMetadata", () => { const nodeVersion = new ts.Version(process.versions.node); diff --git a/src/testRunner/unittests/evaluation/externalModules.ts b/src/testRunner/unittests/evaluation/externalModules.ts index f6719764870bb..b387ad62b22a3 100644 --- a/src/testRunner/unittests/evaluation/externalModules.ts +++ b/src/testRunner/unittests/evaluation/externalModules.ts @@ -1,4 +1,4 @@ -import * as evaluator from "../../_namespaces/evaluator"; +import * as evaluator from "../../_namespaces/evaluator.js"; describe("unittests:: evaluation:: externalModules", () => { // https://github.com/microsoft/TypeScript/issues/35420 diff --git a/src/testRunner/unittests/evaluation/forAwaitOf.ts b/src/testRunner/unittests/evaluation/forAwaitOf.ts index 76b1f931c5540..1f2d4c2668261 100644 --- a/src/testRunner/unittests/evaluation/forAwaitOf.ts +++ b/src/testRunner/unittests/evaluation/forAwaitOf.ts @@ -1,5 +1,5 @@ -import * as evaluator from "../../_namespaces/evaluator"; -import * as ts from "../../_namespaces/ts"; +import * as evaluator from "../../_namespaces/evaluator.js"; +import * as ts from "../../_namespaces/ts.js"; describe("unittests:: evaluation:: forAwaitOfEvaluation", () => { it("sync (es5)", async () => { diff --git a/src/testRunner/unittests/evaluation/forOf.ts b/src/testRunner/unittests/evaluation/forOf.ts index 8b2fd226770e8..b95914a6d5970 100644 --- a/src/testRunner/unittests/evaluation/forOf.ts +++ b/src/testRunner/unittests/evaluation/forOf.ts @@ -1,5 +1,5 @@ -import * as evaluator from "../../_namespaces/evaluator"; -import * as ts from "../../_namespaces/ts"; +import * as evaluator from "../../_namespaces/evaluator.js"; +import * as ts from "../../_namespaces/ts.js"; describe("unittests:: evaluation:: forOfEvaluation", () => { it("es5 over a array with no Symbol", () => { diff --git a/src/testRunner/unittests/evaluation/generator.ts b/src/testRunner/unittests/evaluation/generator.ts index 676b9ff699750..06f22c3680fa5 100644 --- a/src/testRunner/unittests/evaluation/generator.ts +++ b/src/testRunner/unittests/evaluation/generator.ts @@ -1,5 +1,5 @@ -import * as evaluator from "../../_namespaces/evaluator"; -import * as ts from "../../_namespaces/ts"; +import * as evaluator from "../../_namespaces/evaluator.js"; +import * as ts from "../../_namespaces/ts.js"; describe("unittests:: evaluation:: generatorEvaluation", () => { it("throw before start (es5)", () => { diff --git a/src/testRunner/unittests/evaluation/objectRest.ts b/src/testRunner/unittests/evaluation/objectRest.ts index ebbaa7219a7f6..20f5481588eb6 100644 --- a/src/testRunner/unittests/evaluation/objectRest.ts +++ b/src/testRunner/unittests/evaluation/objectRest.ts @@ -1,4 +1,4 @@ -import * as evaluator from "../../_namespaces/evaluator"; +import * as evaluator from "../../_namespaces/evaluator.js"; describe("unittests:: evaluation:: objectRest", () => { // https://github.com/microsoft/TypeScript/issues/31469 diff --git a/src/testRunner/unittests/evaluation/optionalCall.ts b/src/testRunner/unittests/evaluation/optionalCall.ts index db92162a3e14f..392bdd3c40804 100644 --- a/src/testRunner/unittests/evaluation/optionalCall.ts +++ b/src/testRunner/unittests/evaluation/optionalCall.ts @@ -1,4 +1,4 @@ -import * as evaluator from "../../_namespaces/evaluator"; +import * as evaluator from "../../_namespaces/evaluator.js"; describe("unittests:: evaluation:: optionalCall", () => { it("f?.()", async () => { diff --git a/src/testRunner/unittests/evaluation/superInStaticInitializer.ts b/src/testRunner/unittests/evaluation/superInStaticInitializer.ts index c5e2f84b4eb0b..ad07548f204bf 100644 --- a/src/testRunner/unittests/evaluation/superInStaticInitializer.ts +++ b/src/testRunner/unittests/evaluation/superInStaticInitializer.ts @@ -1,5 +1,5 @@ -import * as evaluator from "../../_namespaces/evaluator"; -import * as ts from "../../_namespaces/ts"; +import * as evaluator from "../../_namespaces/evaluator.js"; +import * as ts from "../../_namespaces/ts.js"; describe("unittests:: evaluation:: superInStaticInitializer", () => { it("super-property-get in es2015", () => { diff --git a/src/testRunner/unittests/evaluation/templateLiteral.ts b/src/testRunner/unittests/evaluation/templateLiteral.ts index 65fabb9d4ccbb..924bc60389066 100644 --- a/src/testRunner/unittests/evaluation/templateLiteral.ts +++ b/src/testRunner/unittests/evaluation/templateLiteral.ts @@ -1,4 +1,4 @@ -import * as evaluator from "../../_namespaces/evaluator"; +import * as evaluator from "../../_namespaces/evaluator.js"; describe("unittests:: evaluation:: templateLiteral", () => { it("toString() over valueOf()", () => { diff --git a/src/testRunner/unittests/evaluation/updateExpressionInModule.ts b/src/testRunner/unittests/evaluation/updateExpressionInModule.ts index dc0eaade1c1eb..2dc7b5188a650 100644 --- a/src/testRunner/unittests/evaluation/updateExpressionInModule.ts +++ b/src/testRunner/unittests/evaluation/updateExpressionInModule.ts @@ -1,5 +1,5 @@ -import * as evaluator from "../../_namespaces/evaluator"; -import * as ts from "../../_namespaces/ts"; +import * as evaluator from "../../_namespaces/evaluator.js"; +import * as ts from "../../_namespaces/ts.js"; describe("unittests:: evaluation:: updateExpressionInModule", () => { // only run BigInt tests if BigInt is supported in the host environment diff --git a/src/testRunner/unittests/evaluation/usingDeclarations.ts b/src/testRunner/unittests/evaluation/usingDeclarations.ts index 11adef2fb2b31..d7c3bd26a47b5 100644 --- a/src/testRunner/unittests/evaluation/usingDeclarations.ts +++ b/src/testRunner/unittests/evaluation/usingDeclarations.ts @@ -1,5 +1,5 @@ -import * as evaluator from "../../_namespaces/evaluator"; -import * as ts from "../../_namespaces/ts"; +import * as evaluator from "../../_namespaces/evaluator.js"; +import * as ts from "../../_namespaces/ts.js"; function FakeSuppressedError(error: any, suppressed: any) { return { error, suppressed }; @@ -351,8 +351,8 @@ describe("unittests:: evaluation:: usingDeclarations", () => { ]); assert.instanceOf(output[4], Error); assert.strictEqual(output[4].name, "SuppressedError"); - assert.strictEqual(output[4].error, "dispose error"); - assert.strictEqual(output[4].suppressed, "body error"); + assert.strictEqual((output[4] as any).error, "dispose error"); + assert.strictEqual((output[4] as any).suppressed, "body error"); assert.deepEqual(output.slice(5), [ "after try", ]); diff --git a/src/testRunner/unittests/factory.ts b/src/testRunner/unittests/factory.ts index 903388588aa69..c5e897e4d2066 100644 --- a/src/testRunner/unittests/factory.ts +++ b/src/testRunner/unittests/factory.ts @@ -1,4 +1,4 @@ -import * as ts from "../_namespaces/ts"; +import * as ts from "../_namespaces/ts.js"; describe("unittests:: FactoryAPI", () => { function assertSyntaxKind(node: ts.Node, expected: ts.SyntaxKind) { diff --git a/src/testRunner/unittests/helpers.ts b/src/testRunner/unittests/helpers.ts index fb5b95a24802f..9ec9b57e6618e 100644 --- a/src/testRunner/unittests/helpers.ts +++ b/src/testRunner/unittests/helpers.ts @@ -1,4 +1,4 @@ -import * as ts from "../_namespaces/ts"; +import * as ts from "../_namespaces/ts.js"; const enum ChangedPart { none = 0, @@ -21,6 +21,7 @@ export interface NamedSourceText { export interface ProgramWithSourceTexts extends ts.Program { sourceTexts?: readonly NamedSourceText[]; host: TestCompilerHost; + version: number; } export interface TestCompilerHost extends ts.CompilerHost { @@ -102,7 +103,7 @@ function createSourceFileWithText(fileName: string, sourceText: SourceText, targ return file; } -export function createTestCompilerHost(texts: readonly NamedSourceText[], target: ts.ScriptTarget, oldProgram?: ProgramWithSourceTexts, useGetSourceFileByPath?: boolean) { +export function createTestCompilerHost(texts: readonly NamedSourceText[], target: ts.ScriptTarget, oldProgram?: ProgramWithSourceTexts, useGetSourceFileByPath?: boolean, useCaseSensitiveFileNames?: boolean) { const files = ts.arrayToMap(texts, t => t.name, t => { if (oldProgram) { let oldFile = oldProgram.getSourceFile(t.name) as SourceFileWithText; @@ -115,14 +116,15 @@ export function createTestCompilerHost(texts: readonly NamedSourceText[], target } return createSourceFileWithText(t.name, t.text, target); }); - const useCaseSensitiveFileNames = ts.sys && ts.sys.useCaseSensitiveFileNames; + if (useCaseSensitiveFileNames === undefined) useCaseSensitiveFileNames = ts.sys && ts.sys.useCaseSensitiveFileNames; const getCanonicalFileName = ts.createGetCanonicalFileName(useCaseSensitiveFileNames); + const filesByPath = ts.mapEntries(files, (fileName, file) => [ts.toPath(fileName, "", getCanonicalFileName), file]); const trace: string[] = []; const result: TestCompilerHost = { trace: s => trace.push(s), getTrace: () => trace, clearTrace: () => trace.length = 0, - getSourceFile: fileName => files.get(fileName), + getSourceFile: fileName => filesByPath.get(ts.toPath(fileName, "", getCanonicalFileName)), getDefaultLibFileName: () => "lib.d.ts", writeFile: ts.notImplemented, getCurrentDirectory: () => "", @@ -130,37 +132,48 @@ export function createTestCompilerHost(texts: readonly NamedSourceText[], target getCanonicalFileName, useCaseSensitiveFileNames: () => useCaseSensitiveFileNames, getNewLine: () => ts.sys ? ts.sys.newLine : newLine, - fileExists: fileName => files.has(fileName), + fileExists: fileName => filesByPath.has(ts.toPath(fileName, "", getCanonicalFileName)), readFile: fileName => { - const file = files.get(fileName); + const file = filesByPath.get(ts.toPath(fileName, "", getCanonicalFileName)); return file && file.text; }, }; if (useGetSourceFileByPath) { - const filesByPath = ts.mapEntries(files, (fileName, file) => [ts.toPath(fileName, "", getCanonicalFileName), file]); result.getSourceFileByPath = (_fileName, path) => filesByPath.get(path); } return result; } -export function newProgram(texts: NamedSourceText[], rootNames: string[], options: ts.CompilerOptions, useGetSourceFileByPath?: boolean): ProgramWithSourceTexts { - const host = createTestCompilerHost(texts, options.target!, /*oldProgram*/ undefined, useGetSourceFileByPath); - const program = ts.createProgram(rootNames, options, host) as ProgramWithSourceTexts; - program.sourceTexts = texts; - program.host = host; - return program; +export function newProgram(texts: NamedSourceText[], rootNames: string[], options: ts.CompilerOptions, useGetSourceFileByPath?: boolean, useCaseSensitiveFileNames?: boolean): ProgramWithSourceTexts { + const host = createTestCompilerHost(texts, options.target!, /*oldProgram*/ undefined, useGetSourceFileByPath, useCaseSensitiveFileNames); + return programToProgramWithSourceTexts( + ts.createProgram(rootNames, options, host), + texts, + host, + 1, + ); } -export function updateProgram(oldProgram: ProgramWithSourceTexts, rootNames: readonly string[], options: ts.CompilerOptions, updater: (files: NamedSourceText[]) => void, newTexts?: NamedSourceText[], useGetSourceFileByPath?: boolean) { +function programToProgramWithSourceTexts(program: ts.Program, texts: NamedSourceText[], host: TestCompilerHost, version: number): ProgramWithSourceTexts { + const result = program as ProgramWithSourceTexts; + result.sourceTexts = texts; + result.host = host; + result.version = version; + return result; +} + +export function updateProgram(oldProgram: ProgramWithSourceTexts, rootNames: readonly string[], options: ts.CompilerOptions, updater: (files: NamedSourceText[]) => void, newTexts?: NamedSourceText[], useGetSourceFileByPath?: boolean, useCaseSensitiveFileNames?: boolean) { if (!newTexts) { newTexts = oldProgram.sourceTexts!.slice(0); } updater(newTexts); - const host = createTestCompilerHost(newTexts, options.target!, oldProgram, useGetSourceFileByPath); - const program = ts.createProgram(rootNames, options, host, oldProgram) as ProgramWithSourceTexts; - program.sourceTexts = newTexts; - program.host = host; - return program; + const host = createTestCompilerHost(newTexts, options.target!, oldProgram, useGetSourceFileByPath, useCaseSensitiveFileNames); + return programToProgramWithSourceTexts( + ts.createProgram(rootNames, options, host, oldProgram), + newTexts, + host, + oldProgram.version + 1, + ); } export function updateProgramText(files: readonly NamedSourceText[], fileName: string, newProgramText: string) { diff --git a/src/testRunner/unittests/helpers/alternateResult.ts b/src/testRunner/unittests/helpers/alternateResult.ts index d43e1eb8d68c9..265f9c0c0f767 100644 --- a/src/testRunner/unittests/helpers/alternateResult.ts +++ b/src/testRunner/unittests/helpers/alternateResult.ts @@ -1,7 +1,7 @@ -import { dedent } from "../../_namespaces/Utils"; -import { jsonToReadableText } from "../helpers"; -import { FsContents } from "./contents"; -import { libFile } from "./virtualFileSystemWithWatch"; +import { dedent } from "../../_namespaces/Utils.js"; +import { jsonToReadableText } from "../helpers.js"; +import { FsContents } from "./contents.js"; +import { libFile } from "./virtualFileSystemWithWatch.js"; export function getFsConentsForAlternateResultAtTypesPackageJson(packageName: string, addTypesCondition: boolean) { return jsonToReadableText({ diff --git a/src/testRunner/unittests/helpers/baseline.ts b/src/testRunner/unittests/helpers/baseline.ts index 21cf49ad95b90..11454d75d9f78 100644 --- a/src/testRunner/unittests/helpers/baseline.ts +++ b/src/testRunner/unittests/helpers/baseline.ts @@ -1,9 +1,15 @@ -import * as fakes from "../../_namespaces/fakes"; -import * as Harness from "../../_namespaces/Harness"; -import * as ts from "../../_namespaces/ts"; -import { jsonToReadableText } from "../helpers"; -import { TscCompileSystem } from "./tsc"; -import { TestServerHost } from "./virtualFileSystemWithWatch"; +import * as fakes from "../../_namespaces/fakes.js"; +import * as Harness from "../../_namespaces/Harness.js"; +import * as ts from "../../_namespaces/ts.js"; +import { jsonToReadableText } from "../helpers.js"; +import { TscCompileSystem } from "./tsc.js"; +import { TestServerHost } from "./virtualFileSystemWithWatch.js"; + +export function sanitizeSysOutput(output: string) { + return output + .replace(/Elapsed::\s[0-9]+(?:\.\d+)?ms/g, "Elapsed:: *ms") + .replace(/[0-9][0-9]:[0-9][0-9]:[0-9][0-9]\s(A|P)M/g, "HH:MM:SS AM"); +} export type CommandLineProgram = [ts.Program, ts.BuilderProgram?]; export interface CommandLineCallbacks { @@ -130,10 +136,12 @@ export function generateSourceMapBaselineFiles(sys: ts.System & { writtenFiles: } } -export type ReadableProgramBuildInfoDiagnostic = string | [string, readonly ts.ReusableDiagnostic[]]; +export type ReadableProgramBuildInfoDiagnosticOfFile = [file: string, diagnostics: readonly ts.ReusableDiagnostic[]]; +export type ReadableProgramBuildInfoDiagnostic = [file: string, "not cached or not changed"] | ReadableProgramBuildInfoDiagnosticOfFile; +export type ReadableProgramBuildInfoEmitDiagnostic = ReadableProgramBuildInfoDiagnosticOfFile; export type ReadableBuilderFileEmit = string & { __readableBuilderFileEmit: any; }; export type ReadableProgramBuilderInfoFilePendingEmit = [original: string | [string], emitKind: ReadableBuilderFileEmit]; -export type ReadableProgramBuildInfoEmitSignature = string | [string, ts.EmitSignature | []]; +export type ReadableProgramBuildInfoEmitSignature = string | [file: string, signature: ts.EmitSignature | []]; export type ReadableProgramBuildInfoFileInfo = Omit & { impliedFormat: string | undefined; original: T | undefined; @@ -141,21 +149,28 @@ export type ReadableProgramBuildInfoFileInfo = Omit & { + +export type ReadableProgramBuildInfoResolvedRoot = [ + original: ts.ProgramBuildInfoResolvedRoot, + readable: [resolved: string, root: string], +]; +export type ReadableProgramMultiFileEmitBuildInfo = Omit & { fileNamesList: readonly (readonly string[])[] | undefined; fileInfos: ts.MapLike>; root: readonly ReadableProgramBuildInfoRoot[]; + resolvedRoot: readonly ReadableProgramBuildInfoResolvedRoot[] | undefined; referencedMap: ts.MapLike | undefined; semanticDiagnosticsPerFile: readonly ReadableProgramBuildInfoDiagnostic[] | undefined; - emitDiagnosticsPerFile: readonly ReadableProgramBuildInfoDiagnostic[] | undefined; + emitDiagnosticsPerFile: readonly ReadableProgramBuildInfoEmitDiagnostic[] | undefined; affectedFilesPendingEmit: readonly ReadableProgramBuilderInfoFilePendingEmit[] | undefined; changeFileSet: readonly string[] | undefined; emitSignatures: readonly ReadableProgramBuildInfoEmitSignature[] | undefined; }; export type ReadableProgramBuildInfoBundlePendingEmit = [emitKind: ReadableBuilderFileEmit, original: ts.ProgramBuildInfoBundlePendingEmit]; -export type ReadableProgramBundleEmitBuildInfo = Omit & { +export type ReadableProgramBundleEmitBuildInfo = Omit & { fileInfos: ts.MapLike>; root: readonly ReadableProgramBuildInfoRoot[]; + resolvedRoot: readonly ReadableProgramBuildInfoResolvedRoot[] | undefined; pendingEmit: ReadableProgramBuildInfoBundlePendingEmit | undefined; }; @@ -180,6 +195,7 @@ function generateBuildInfoProgramBaseline(sys: ts.System, buildInfoPath: string, ...buildInfo.program, fileInfos, root: buildInfo.program.root.map(toReadableProgramBuildInfoRoot), + resolvedRoot: buildInfo.program.resolvedRoot?.map(toReadableProgramBuildInfoResolvedRoot), pendingEmit: pendingEmit === undefined ? undefined : [ @@ -198,10 +214,11 @@ function generateBuildInfoProgramBaseline(sys: ts.System, buildInfoPath: string, fileNamesList, fileInfos: buildInfo.program.fileInfos ? fileInfos : undefined!, root: buildInfo.program.root.map(toReadableProgramBuildInfoRoot), + resolvedRoot: buildInfo.program.resolvedRoot?.map(toReadableProgramBuildInfoResolvedRoot), options: buildInfo.program.options, referencedMap: toMapOfReferencedSet(buildInfo.program.referencedMap), semanticDiagnosticsPerFile: toReadableProgramBuildInfoDiagnosticsPerFile(buildInfo.program.semanticDiagnosticsPerFile), - emitDiagnosticsPerFile: toReadableProgramBuildInfoDiagnosticsPerFile(buildInfo.program.emitDiagnosticsPerFile), + emitDiagnosticsPerFile: toReadableProgramBuildInfoEmitDiagnosticsPerFile(buildInfo.program.emitDiagnosticsPerFile), affectedFilesPendingEmit: buildInfo.program.affectedFilesPendingEmit?.map(value => toReadableProgramBuilderInfoFilePendingEmit(value, fullEmitForOptions!)), changeFileSet: buildInfo.program.changeFileSet?.map(toFileName), emitSignatures: buildInfo.program.emitSignatures?.map(s => @@ -245,6 +262,10 @@ function generateBuildInfoProgramBaseline(sys: ts.System, buildInfoPath: string, return [original, readable]; } + function toReadableProgramBuildInfoResolvedRoot(original: ts.ProgramBuildInfoResolvedRoot): ReadableProgramBuildInfoResolvedRoot { + return [original, [toFileName(original[0]), toFileName(original[1])]]; + } + function toMapOfReferencedSet(referenceMap: ts.ProgramBuildInfoReferencedMap | undefined): ts.MapLike | undefined { if (!referenceMap) return undefined; const result: ts.MapLike = {}; @@ -279,10 +300,14 @@ function generateBuildInfoProgramBaseline(sys: ts.System, buildInfoPath: string, function toReadableProgramBuildInfoDiagnosticsPerFile(diagnostics: ts.ProgramBuildInfoDiagnostic[] | undefined): readonly ReadableProgramBuildInfoDiagnostic[] | undefined { return diagnostics?.map(d => ts.isNumber(d) ? - toFileName(d) : + [toFileName(d), "not cached or not changed"] : [toFileName(d[0]), d[1]] ); } + + function toReadableProgramBuildInfoEmitDiagnosticsPerFile(diagnostics: ts.ProgramBuildInfoEmitDiagnostic[] | undefined): readonly ReadableProgramBuildInfoEmitDiagnostic[] | undefined { + return diagnostics?.map(d => [toFileName(d[0]), d[1]]); + } } export function toPathWithSystem(sys: ts.System, fileName: string): ts.Path { diff --git a/src/testRunner/unittests/helpers/contents.ts b/src/testRunner/unittests/helpers/contents.ts index c01f55d7d35f3..943093d2704af 100644 --- a/src/testRunner/unittests/helpers/contents.ts +++ b/src/testRunner/unittests/helpers/contents.ts @@ -1,5 +1,5 @@ -import * as ts from "../../_namespaces/ts"; -import { libFile } from "./virtualFileSystemWithWatch"; +import * as ts from "../../_namespaces/ts.js"; +import { libFile } from "./virtualFileSystemWithWatch.js"; export function compilerOptionsToConfigJson(options: ts.CompilerOptions) { return ts.optionMapToObject(ts.serializeCompilerOptions(options)); diff --git a/src/testRunner/unittests/helpers/declarationEmit.ts b/src/testRunner/unittests/helpers/declarationEmit.ts new file mode 100644 index 0000000000000..2b811b7cfd632 --- /dev/null +++ b/src/testRunner/unittests/helpers/declarationEmit.ts @@ -0,0 +1,93 @@ +import { CompilerOptions } from "../../_namespaces/ts.js"; +import { dedent } from "../../_namespaces/Utils.js"; +import { FileSystem } from "../../_namespaces/vfs.js"; +import { jsonToReadableText } from "../helpers.js"; +import { libContent } from "./contents.js"; +import { loadProjectFromFiles } from "./vfs.js"; + +export function getFsForDeclarationEmitWithErrors(options: CompilerOptions, incremental: true | undefined) { + return loadProjectFromFiles({ + "/src/project/tsconfig.json": jsonToReadableText({ + compilerOptions: { + module: "NodeNext", + moduleResolution: "NodeNext", + ...options, + incremental, + skipLibCheck: true, + skipDefaultLibCheck: true, + }, + }), + "/src/project/index.ts": dedent` + import ky from 'ky'; + export const api = ky.extend({}); + `, + "/src/project/package.json": jsonToReadableText({ + type: "module", + }), + "/src/project/node_modules/ky/distribution/index.d.ts": dedent` + type KyInstance = { + extend(options: Record): KyInstance; + } + declare const ky: KyInstance; + export default ky; + `, + "/src/project/node_modules/ky/package.json": jsonToReadableText({ + name: "ky", + type: "module", + main: "./distribution/index.js", + }), + "/lib/lib.esnext.full.d.ts": libContent, + }); +} + +export function getFsForDeclarationEmitWithErrorsWithOutFile(options: CompilerOptions, incremental: true | undefined) { + return loadProjectFromFiles({ + "/src/project/tsconfig.json": jsonToReadableText({ + compilerOptions: { + module: "amd", + ...options, + incremental, + skipLibCheck: true, + skipDefaultLibCheck: true, + outFile: "./outFile.js", + }, + include: ["src"], + }), + "/src/project/src/index.ts": dedent` + import ky from 'ky'; + export const api = ky.extend({}); + `, + "/src/project/ky.d.ts": dedent` + type KyInstance = { + extend(options: Record): KyInstance; + } + declare const ky: KyInstance; + export default ky; + `, + "/lib/lib.esnext.full.d.ts": libContent, + }); +} + +export function forEachDeclarationEmitWithErrorsScenario( + action: ( + scenarioName: (scenario: string) => string, + fs: () => FileSystem, + ) => void, + withComposite: boolean, +) { + for (const outFile of [false, true]) { + for (const incremental of [undefined, true] as const) { + action( + scenario => `${scenario}${outFile ? " outFile" : ""}${incremental ? " with incremental" : ""}`, + () => + (outFile ? getFsForDeclarationEmitWithErrorsWithOutFile : + getFsForDeclarationEmitWithErrors)( + withComposite && incremental ? + { composite: true } : + { declaration: true }, + incremental, + ), + ); + } + } +} diff --git a/src/testRunner/unittests/helpers/demoProjectReferences.ts b/src/testRunner/unittests/helpers/demoProjectReferences.ts index 7189d5afbe23c..9276fbc8d88cd 100644 --- a/src/testRunner/unittests/helpers/demoProjectReferences.ts +++ b/src/testRunner/unittests/helpers/demoProjectReferences.ts @@ -1,14 +1,14 @@ -import { dedent } from "../../_namespaces/Utils"; -import { jsonToReadableText } from "../helpers"; +import { dedent } from "../../_namespaces/Utils.js"; +import { jsonToReadableText } from "../helpers.js"; import { FsContents, libContent, -} from "./contents"; -import { loadProjectFromFiles } from "./vfs"; +} from "./contents.js"; +import { loadProjectFromFiles } from "./vfs.js"; import { createWatchedSystem, libFile, -} from "./virtualFileSystemWithWatch"; +} from "./virtualFileSystemWithWatch.js"; export function getFsContentsForDemoProjectReferencesCoreConfig(additional?: object) { return jsonToReadableText({ diff --git a/src/testRunner/unittests/helpers/extends.ts b/src/testRunner/unittests/helpers/extends.ts index e9398ab4b4708..a67007064efaa 100644 --- a/src/testRunner/unittests/helpers/extends.ts +++ b/src/testRunner/unittests/helpers/extends.ts @@ -1,12 +1,12 @@ -import { dedent } from "../../_namespaces/Utils"; -import { jsonToReadableText } from "../helpers"; -import { FsContents } from "./contents"; +import { dedent } from "../../_namespaces/Utils.js"; +import { jsonToReadableText } from "../helpers.js"; +import { FsContents } from "./contents.js"; import { createServerHost, createWatchedSystem, libFile, TestServerHost, -} from "./virtualFileSystemWithWatch"; +} from "./virtualFileSystemWithWatch.js"; export function getSymlinkedExtendsSys(forTsserver?: true): TestServerHost { return (!forTsserver ? createWatchedSystem : createServerHost)({ diff --git a/src/testRunner/unittests/helpers/forceConsistentCasingInFileNames.ts b/src/testRunner/unittests/helpers/forceConsistentCasingInFileNames.ts new file mode 100644 index 0000000000000..8e38d59fbbd60 --- /dev/null +++ b/src/testRunner/unittests/helpers/forceConsistentCasingInFileNames.ts @@ -0,0 +1,33 @@ +import { dedent } from "../../_namespaces/Utils.js"; +import { jsonToReadableText } from "../helpers.js"; +import { + FsContents, + libContent, +} from "./contents.js"; +import { libFile } from "./virtualFileSystemWithWatch.js"; + +export function getFsContentsForMultipleErrorsForceConsistentCasingInFileNames(): FsContents { + return { + "/home/src/projects/project/src/struct.d.ts": dedent` + import * as xs1 from "fp-ts/lib/Struct"; + import * as xs2 from "fp-ts/lib/struct"; + import * as xs3 from "./Struct"; + import * as xs4 from "./struct"; + `, + "/home/src/projects/project/src/anotherFile.ts": dedent` + import * as xs1 from "fp-ts/lib/Struct"; + import * as xs2 from "fp-ts/lib/struct"; + import * as xs3 from "./Struct"; + import * as xs4 from "./struct"; + `, + "/home/src/projects/project/src/oneMore.ts": dedent` + import * as xs1 from "fp-ts/lib/Struct"; + import * as xs2 from "fp-ts/lib/struct"; + import * as xs3 from "./Struct"; + import * as xs4 from "./struct"; + `, + "/home/src/projects/project/tsconfig.json": jsonToReadableText({}), + "/home/src/projects/project/node_modules/fp-ts/lib/struct.d.ts": `export function foo(): void`, + [libFile.path]: libContent, + }; +} diff --git a/src/testRunner/unittests/helpers/libraryResolution.ts b/src/testRunner/unittests/helpers/libraryResolution.ts index aef17d25f8154..bbe0b0c22052d 100644 --- a/src/testRunner/unittests/helpers/libraryResolution.ts +++ b/src/testRunner/unittests/helpers/libraryResolution.ts @@ -1,14 +1,14 @@ -import { dedent } from "../../_namespaces/Utils"; -import { jsonToReadableText } from "../helpers"; +import { dedent } from "../../_namespaces/Utils.js"; +import { jsonToReadableText } from "../helpers.js"; import { FsContents, libContent, -} from "./contents"; -import { loadProjectFromFiles } from "./vfs"; +} from "./contents.js"; +import { loadProjectFromFiles } from "./vfs.js"; import { createServerHost, createWatchedSystem, -} from "./virtualFileSystemWithWatch"; +} from "./virtualFileSystemWithWatch.js"; function getFsContentsForLibResolution(libRedirection?: boolean): FsContents { return { @@ -91,3 +91,46 @@ export function getCommandLineArgsForLibResolution(withoutConfig: true | undefin ["project1/core.d.ts", "project1/utils.d.ts", "project1/file.ts", "project1/index.ts", "project1/file2.ts", "--lib", "es5,dom", "--traceResolution", "--explainFiles"] : ["-p", "project1", "--explainFiles"]; } + +function getFsContentsForLibResolutionUnknown(): FsContents { + return { + "/home/src/projects/project1/utils.d.ts": `export const y = 10;`, + "/home/src/projects/project1/file.ts": `export const file = 10;`, + "/home/src/projects/project1/core.d.ts": `export const core = 10;`, + "/home/src/projects/project1/index.ts": `export const x = "type1";`, + "/home/src/projects/project1/file2.ts": dedent` + /// + /// + /// + `, + "/home/src/projects/project1/tsconfig.json": jsonToReadableText({ + compilerOptions: { + composite: true, + traceResolution: true, + }, + }), + "/home/src/lib/lib.d.ts": libContent, + "/home/src/lib/lib.webworker.d.ts": "interface WebWorkerInterface { }", + "/home/src/lib/lib.scripthost.d.ts": "interface ScriptHostInterface { }", + }; +} + +export function getFsForLibResolutionUnknown() { + return loadProjectFromFiles( + getFsContentsForLibResolutionUnknown(), + { + cwd: "/home/src/projects", + executingFilePath: "/home/src/lib/tsc.js", + }, + ); +} + +export function getSysForLibResolutionUnknown() { + return createWatchedSystem( + getFsContentsForLibResolutionUnknown(), + { + currentDirectory: "/home/src/projects", + executingFilePath: "/home/src/lib/tsc.js", + }, + ); +} diff --git a/src/testRunner/unittests/helpers/monorepoSymlinkedSiblingPackages.ts b/src/testRunner/unittests/helpers/monorepoSymlinkedSiblingPackages.ts index 5d3b02eceffb4..30d94e847a58d 100644 --- a/src/testRunner/unittests/helpers/monorepoSymlinkedSiblingPackages.ts +++ b/src/testRunner/unittests/helpers/monorepoSymlinkedSiblingPackages.ts @@ -1,13 +1,13 @@ -import { dedent } from "../../_namespaces/Utils"; -import { jsonToReadableText } from "../helpers"; -import { libContent } from "./contents"; -import { solutionBuildWithBaseline } from "./solutionBuilder"; +import { dedent } from "../../_namespaces/Utils.js"; +import { jsonToReadableText } from "../helpers.js"; +import { libContent } from "./contents.js"; +import { solutionBuildWithBaseline } from "./solutionBuilder.js"; import { createServerHost, createWatchedSystem, TestServerHost, TestServerHostOsFlavor, -} from "./virtualFileSystemWithWatch"; +} from "./virtualFileSystemWithWatch.js"; export function getMonorepoSymlinkedSiblingPackagesSys(forTsserver: boolean, built: boolean, osFlavor?: TestServerHostOsFlavor): TestServerHost { const configText = jsonToReadableText({ diff --git a/src/testRunner/unittests/helpers/noEmitOnError.ts b/src/testRunner/unittests/helpers/noEmitOnError.ts index c0fda49bd28eb..8db21b5a39c6c 100644 --- a/src/testRunner/unittests/helpers/noEmitOnError.ts +++ b/src/testRunner/unittests/helpers/noEmitOnError.ts @@ -1,20 +1,18 @@ -import { dedent } from "../../_namespaces/Utils"; -import { jsonToReadableText } from "../helpers"; +import { dedent } from "../../_namespaces/Utils.js"; +import { jsonToReadableText } from "../helpers.js"; import { FsContents, libContent, -} from "./contents"; -import { loadProjectFromFiles } from "./vfs"; -import { - createWatchedSystem, - libFile, -} from "./virtualFileSystemWithWatch"; +} from "./contents.js"; +import { libFile } from "./virtualFileSystemWithWatch.js"; -export function getFsContentsForNoEmitOnError(): FsContents { +function getFsContentsForNoEmitOnError(outFile: boolean, declaration: true | undefined, incremental: true | undefined): FsContents { return { "/user/username/projects/noEmitOnError/tsconfig.json": jsonToReadableText({ compilerOptions: { - outDir: "./dev-build", + ...outFile ? { outFile: "../dev-build.js", module: "amd" } : { outDir: "./dev-build" }, + declaration, + incremental, noEmitOnError: true, }, }), @@ -37,21 +35,26 @@ export function getFsContentsForNoEmitOnError(): FsContents { }; } -export function getFsForNoEmitOnError() { - return loadProjectFromFiles( - getFsContentsForNoEmitOnError(), - { - cwd: "/user/username/projects/noEmitOnError", - executingFilePath: libFile.path, - }, - ); -} - -export function getSysForNoEmitOnError() { - return createWatchedSystem( - getFsContentsForNoEmitOnError(), - { - currentDirectory: "/user/username/projects/noEmitOnError", - }, - ); +export function forEachNoEmitOnErrorScenario( + loadFs: (contents: FsContents, currentDirectory: string, executingFilePath: string) => T, + action: ( + scenarioName: (scenario: string) => string, + fs: () => T, + ) => void, +) { + for (const outFile of [false, true]) { + for (const declaration of [undefined, true] as const) { + for (const incremental of [undefined, true] as const) { + action( + scenario => `${scenario}${outFile ? " outFile" : ""}${declaration ? " with declaration" : ""}${incremental ? " with incremental" : ""}`, + () => + loadFs( + getFsContentsForNoEmitOnError(outFile, declaration, incremental), + "/user/username/projects/noEmitOnError", + libFile.path, + ), + ); + } + } + } } diff --git a/src/testRunner/unittests/helpers/projectRoots.ts b/src/testRunner/unittests/helpers/projectRoots.ts new file mode 100644 index 0000000000000..916290bfd49ec --- /dev/null +++ b/src/testRunner/unittests/helpers/projectRoots.ts @@ -0,0 +1,66 @@ +import { dedent } from "../../_namespaces/Utils.js"; +import { jsonToReadableText } from "../helpers.js"; +import { + FsContents, + libContent, +} from "./contents.js"; +import { libFile } from "./virtualFileSystemWithWatch.js"; + +function getFsContentsForRootsFromReferencedProject(serverFirst: boolean): FsContents { + return { + "/home/src/workspaces/tsconfig.json": jsonToReadableText({ + compilerOptions: { + composite: true, + }, + references: [ + { path: "projects/server" }, + { path: "projects/shared" }, + ], + }), + "/home/src/workspaces/projects/shared/src/myClass.ts": `export class MyClass { }`, + "/home/src/workspaces/projects/shared/src/logging.ts": dedent` + export function log(str: string) { + console.log(str); + } + `, + "/home/src/workspaces/projects/shared/src/random.ts": dedent` + export function randomFn(str: string) { + console.log(str); + } + `, + "/home/src/workspaces/projects/shared/tsconfig.json": jsonToReadableText({ + extends: "../../tsconfig.json", + compilerOptions: { + outDir: "./dist", + }, + include: ["src/**/*.ts"], + }), + "/home/src/workspaces/projects/server/src/server.ts": dedent` + import { MyClass } from ':shared/myClass.js'; + console.log('Hello, world!'); + `, + "/home/src/workspaces/projects/server/tsconfig.json": jsonToReadableText({ + extends: "../../tsconfig.json", + compilerOptions: { + baseUrl: "./src", + rootDir: "..", + outDir: "./dist", + paths: { + ":shared/*": ["../../shared/src/*"], + }, + }, + include: serverFirst ? + ["src/**/*.ts", "../shared/src/**/*.ts"] : + ["../shared/src/**/*.ts", "src/**/*.ts"], + references: [ + { path: "../shared" }, + ], + }), + [libFile.path]: libContent, + }; +} + +export function forEachScenarioForRootsFromReferencedProject(action: (subScenario: string, getFsContents: () => FsContents) => void) { + action("when root file is from referenced project", () => getFsContentsForRootsFromReferencedProject(/*serverFirst*/ true)); + action("when root file is from referenced project and shared is first", () => getFsContentsForRootsFromReferencedProject(/*serverFirst*/ false)); +} diff --git a/src/testRunner/unittests/helpers/sampleProjectReferences.ts b/src/testRunner/unittests/helpers/sampleProjectReferences.ts index 7d417940e88cc..7c5634c0120e3 100644 --- a/src/testRunner/unittests/helpers/sampleProjectReferences.ts +++ b/src/testRunner/unittests/helpers/sampleProjectReferences.ts @@ -1,15 +1,15 @@ -import { dedent } from "../../_namespaces/Utils"; -import { jsonToReadableText } from "../helpers"; +import { dedent } from "../../_namespaces/Utils.js"; +import { jsonToReadableText } from "../helpers.js"; import { FsContents, getProjectConfigWithNodeNext, -} from "./contents"; -import { loadProjectFromFiles } from "./vfs"; +} from "./contents.js"; +import { loadProjectFromFiles } from "./vfs.js"; import { createServerHost, createWatchedSystem, libFile, -} from "./virtualFileSystemWithWatch"; +} from "./virtualFileSystemWithWatch.js"; export function getFsContentsForSampleProjectReferencesLogicConfig(withNodeNext?: boolean) { return jsonToReadableText({ diff --git a/src/testRunner/unittests/helpers/solutionBuilder.ts b/src/testRunner/unittests/helpers/solutionBuilder.ts index cc0f5c9e6bc58..7225deed28def 100644 --- a/src/testRunner/unittests/helpers/solutionBuilder.ts +++ b/src/testRunner/unittests/helpers/solutionBuilder.ts @@ -1,15 +1,15 @@ -import * as fakes from "../../_namespaces/fakes"; -import * as ts from "../../_namespaces/ts"; -import { jsonToReadableText } from "../helpers"; -import { commandLineCallbacks } from "./baseline"; +import * as fakes from "../../_namespaces/fakes.js"; +import * as ts from "../../_namespaces/ts.js"; +import { jsonToReadableText } from "../helpers.js"; +import { commandLineCallbacks } from "./baseline.js"; import { makeSystemReadyForBaseline, TscCompileSystem, -} from "./tsc"; +} from "./tsc.js"; import { changeToHostTrackingWrittenFiles, TestServerHost, -} from "./virtualFileSystemWithWatch"; +} from "./virtualFileSystemWithWatch.js"; export function createSolutionBuilderHostForBaseline( sys: TscCompileSystem | TestServerHost, diff --git a/src/testRunner/unittests/helpers/transitiveReferences.ts b/src/testRunner/unittests/helpers/transitiveReferences.ts index 958371ee25e40..7bfc10aec4792 100644 --- a/src/testRunner/unittests/helpers/transitiveReferences.ts +++ b/src/testRunner/unittests/helpers/transitiveReferences.ts @@ -1,11 +1,11 @@ -import { dedent } from "../../_namespaces/Utils"; -import { jsonToReadableText } from "../helpers"; +import { dedent } from "../../_namespaces/Utils.js"; +import { jsonToReadableText } from "../helpers.js"; import { FsContents, getProjectConfigWithNodeNext, libContent, -} from "./contents"; -import { libFile } from "./virtualFileSystemWithWatch"; +} from "./contents.js"; +import { libFile } from "./virtualFileSystemWithWatch.js"; export function getFsContentsForTransitiveReferencesRefsAdts() { return dedent` diff --git a/src/testRunner/unittests/helpers/tsc.ts b/src/testRunner/unittests/helpers/tsc.ts index ac4c9868e76cb..c64934e4d8b97 100644 --- a/src/testRunner/unittests/helpers/tsc.ts +++ b/src/testRunner/unittests/helpers/tsc.ts @@ -1,8 +1,8 @@ -import * as fakes from "../../_namespaces/fakes"; -import * as Harness from "../../_namespaces/Harness"; -import * as ts from "../../_namespaces/ts"; -import * as vfs from "../../_namespaces/vfs"; -import { jsonToReadableText } from "../helpers"; +import * as fakes from "../../_namespaces/fakes.js"; +import * as Harness from "../../_namespaces/Harness.js"; +import * as ts from "../../_namespaces/ts.js"; +import * as vfs from "../../_namespaces/vfs.js"; +import { jsonToReadableText } from "../helpers.js"; import { baselinePrograms, CommandLineCallbacks, @@ -13,9 +13,10 @@ import { ReadableBuildInfo, ReadableProgramBuildInfoFileInfo, ReadableProgramMultiFileEmitBuildInfo, + sanitizeSysOutput, toPathWithSystem, tscBaselineName, -} from "./baseline"; +} from "./baseline.js"; export type TscCompileSystem = fakes.System & { writtenFiles: Set; @@ -88,7 +89,7 @@ export function testTscCompileLike(input: TestTscCompileLike) { ${baseFsPatch ? vfs.formatPatch(baseFsPatch) : ""} Output:: -${sys.output.join("")} +${sys.output.map(sanitizeSysOutput).join("")} ${patch ? vfs.formatPatch(patch) : ""}`, }; diff --git a/src/testRunner/unittests/helpers/tscWatch.ts b/src/testRunner/unittests/helpers/tscWatch.ts index 94a7acc6c160e..e4b03bd697881 100644 --- a/src/testRunner/unittests/helpers/tscWatch.ts +++ b/src/testRunner/unittests/helpers/tscWatch.ts @@ -1,10 +1,10 @@ import { verifyProgramStructure, verifyResolutionCache, -} from "../../../harness/incrementalUtils"; -import { patchHostForBuildInfoReadWrite } from "../../_namespaces/fakes"; -import { Baseline } from "../../_namespaces/Harness"; -import * as ts from "../../_namespaces/ts"; +} from "../../../harness/incrementalUtils.js"; +import { patchHostForBuildInfoReadWrite } from "../../_namespaces/fakes.js"; +import { Baseline } from "../../_namespaces/Harness.js"; +import * as ts from "../../_namespaces/ts.js"; import { baselinePrograms, CommandLineCallbacks, @@ -12,7 +12,7 @@ import { CommandLineProgram, generateSourceMapBaselineFiles, tscBaselineName, -} from "./baseline"; +} from "./baseline.js"; import { changeToHostTrackingWrittenFiles, File, @@ -20,7 +20,7 @@ import { StateLogger, TestServerHost, TestServerHostTrackingWrittenFiles, -} from "./virtualFileSystemWithWatch"; +} from "./virtualFileSystemWithWatch.js"; export const commonFile1: File = { path: "/a/b/commonFile1.ts", @@ -104,8 +104,7 @@ function changeToTestServerHostWithTimeoutLogging(host: TestServerHostTrackingWr log: s => baseline.push(s), logs: baseline, }; - host.timeoutCallbacks.switchToBaseliningInvoke(logger, SerializeOutputOrder.BeforeDiff); - host.immediateCallbacks.switchToBaseliningInvoke(logger, SerializeOutputOrder.BeforeDiff); + host.switchToBaseliningInvoke(logger, SerializeOutputOrder.BeforeDiff); return host; } diff --git a/src/testRunner/unittests/helpers/tsserver.ts b/src/testRunner/unittests/helpers/tsserver.ts index b1c2192730c25..7a5d133164f43 100644 --- a/src/testRunner/unittests/helpers/tsserver.ts +++ b/src/testRunner/unittests/helpers/tsserver.ts @@ -1,18 +1,18 @@ -import { incrementalVerifier } from "../../../harness/incrementalUtils"; -import { patchServiceForStateBaseline } from "../../../harness/projectServiceStateLogger"; +import { incrementalVerifier } from "../../../harness/incrementalUtils.js"; +import { patchServiceForStateBaseline } from "../../../harness/projectServiceStateLogger.js"; import { createLoggerWithInMemoryLogs, LoggerWithInMemoryLogs, -} from "../../../harness/tsserverLogger"; -import { patchHostForBuildInfoReadWrite } from "../../_namespaces/fakes"; -import * as Harness from "../../_namespaces/Harness"; -import * as ts from "../../_namespaces/ts"; -import { ensureErrorFreeBuild } from "./solutionBuilder"; +} from "../../../harness/tsserverLogger.js"; +import { patchHostForBuildInfoReadWrite } from "../../_namespaces/fakes.js"; +import * as Harness from "../../_namespaces/Harness.js"; +import * as ts from "../../_namespaces/ts.js"; +import { ensureErrorFreeBuild } from "./solutionBuilder.js"; import { customTypesMap, TestTypingsInstallerAdapter, TestTypingsInstallerOptions, -} from "./typingsInstaller"; +} from "./typingsInstaller.js"; import { changeToHostTrackingWrittenFiles, createServerHost, @@ -20,10 +20,9 @@ import { FileOrFolderOrSymLink, libFile, SerializeOutputOrder, - StateLogger, TestServerHost, TestServerHostTrackingWrittenFiles, -} from "./virtualFileSystemWithWatch"; +} from "./virtualFileSystemWithWatch.js"; export function baselineTsserverLogs(scenario: string, subScenario: string, sessionOrService: { logger: LoggerWithInMemoryLogs; }) { Harness.Baseline.runBaseline(`tsserver/${scenario}/${subScenario.split(" ").join("-")}.js`, sessionOrService.logger.logs.join("\r\n")); @@ -56,21 +55,11 @@ export function patchHostTimeouts( return host; } - const originalSetTime = host.setTime; - - host.timeoutCallbacks.switchToBaseliningInvoke(logger, SerializeOutputOrder.None); - host.immediateCallbacks.switchToBaseliningInvoke(logger as StateLogger, SerializeOutputOrder.None); - host.pendingInstalls.switchToBaseliningInvoke(logger, SerializeOutputOrder.None); - host.setTime = setTime; + host.switchToBaseliningInvoke(logger, SerializeOutputOrder.None); host.baselineHost = baselineHost; host.patched = true; return host; - function setTime(time: number) { - logger.log(`Host is moving to new time`); - return originalSetTime.call(host, time); - } - function baselineHost(title: string) { logger.log(title); host.serializeState(logger.logs, SerializeOutputOrder.None); diff --git a/src/testRunner/unittests/helpers/typingsInstaller.ts b/src/testRunner/unittests/helpers/typingsInstaller.ts index a12caae2052b3..752992304827d 100644 --- a/src/testRunner/unittests/helpers/typingsInstaller.ts +++ b/src/testRunner/unittests/helpers/typingsInstaller.ts @@ -1,15 +1,15 @@ import { LoggerWithInMemoryLogs, nowString, -} from "../../../harness/tsserverLogger"; -import * as ts from "../../_namespaces/ts"; -import { stringifyIndented } from "../../_namespaces/ts.server"; -import { jsonToReadableText } from "../helpers"; -import { TestSession } from "./tsserver"; +} from "../../../harness/tsserverLogger.js"; +import * as ts from "../../_namespaces/ts.js"; +import { stringifyIndented } from "../../_namespaces/ts.server.js"; +import { jsonToReadableText } from "../helpers.js"; +import { TestSession } from "./tsserver.js"; import { File, TestServerHost, -} from "./virtualFileSystemWithWatch"; +} from "./virtualFileSystemWithWatch.js"; export const customTypesMap = { path: "/typesMap.json" as ts.Path, diff --git a/src/testRunner/unittests/helpers/vfs.ts b/src/testRunner/unittests/helpers/vfs.ts index 5b8a264f75fcf..cd8ec94018a12 100644 --- a/src/testRunner/unittests/helpers/vfs.ts +++ b/src/testRunner/unittests/helpers/vfs.ts @@ -1,6 +1,6 @@ -import { getDirectoryPath } from "../../_namespaces/ts"; -import * as vfs from "../../_namespaces/vfs"; -import { libContent } from "./contents"; +import { getDirectoryPath } from "../../_namespaces/ts.js"; +import * as vfs from "../../_namespaces/vfs.js"; +import { libContent } from "./contents.js"; export interface FsOptions { libContentToAppend?: string; diff --git a/src/testRunner/unittests/helpers/virtualFileSystemWithWatch.ts b/src/testRunner/unittests/helpers/virtualFileSystemWithWatch.ts index e7ff6a7d405bc..ab487a77abdd3 100644 --- a/src/testRunner/unittests/helpers/virtualFileSystemWithWatch.ts +++ b/src/testRunner/unittests/helpers/virtualFileSystemWithWatch.ts @@ -2,8 +2,9 @@ import { createWatchUtils, Watches, WatchUtils, -} from "../../../harness/watchUtils"; +} from "../../../harness/watchUtils.js"; import { + append, arrayFrom, clear, clone, @@ -43,9 +44,10 @@ import { SortedArray, sys, toPath, -} from "../../_namespaces/ts"; -import { typingsInstaller } from "../../_namespaces/ts.server"; -import { timeIncrements } from "../../_namespaces/vfs"; +} from "../../_namespaces/ts.js"; +import { typingsInstaller } from "../../_namespaces/ts.server.js"; +import { timeIncrements } from "../../_namespaces/vfs.js"; +import { sanitizeSysOutput } from "./baseline.js"; export const libFile: File = { path: "/a/lib/lib.d.ts", @@ -458,6 +460,17 @@ export class TestServerHost implements server.ServerHost, FormatDiagnosticsHost, this.time = time; } + switchToBaseliningInvoke(logger: StateLogger, serializeOutputOrder: SerializeOutputOrder) { + const originalSetTime = this.setTime; + this.setTime = time => { + logger.log(`Host is moving to new time`); + return originalSetTime.call(this, time); + }; + this.timeoutCallbacks.switchToBaseliningInvoke(logger, serializeOutputOrder); + this.immediateCallbacks.switchToBaseliningInvoke(logger, serializeOutputOrder); + this.pendingInstalls.switchToBaseliningInvoke(logger, serializeOutputOrder); + } + private reloadFS(fileOrFolderOrSymLinkList: FileOrFolderOrSymLinkMap | readonly FileOrFolderOrSymLink[]) { Debug.assert(this.fs.size === 0); if (isArray(fileOrFolderOrSymLinkList)) { @@ -1180,11 +1193,7 @@ function diffFsEntry(baseline: string[], oldFsEntry: FSEntry | undefined, newFsE function baselineOutputs(baseline: string[], output: readonly string[], start: number, end = output.length) { let baselinedOutput: string[] | undefined; for (let i = start; i < end; i++) { - (baselinedOutput ||= []).push( - output[i] - .replace(/Elapsed::\s[0-9]+(?:\.\d+)?ms/g, "Elapsed:: *ms") - .replace(/[0-9][0-9]:[0-9][0-9]:[0-9][0-9]\s(A|P)M/g, "HH:MM:SS AM"), - ); + baselinedOutput = append(baselinedOutput, sanitizeSysOutput(output[i])); } if (baselinedOutput) baseline.push(baselinedOutput.join("")); } diff --git a/src/testRunner/unittests/incrementalParser.ts b/src/testRunner/unittests/incrementalParser.ts index a42044d0a67db..ae464630afc0a 100644 --- a/src/testRunner/unittests/incrementalParser.ts +++ b/src/testRunner/unittests/incrementalParser.ts @@ -1,5 +1,5 @@ -import * as ts from "../_namespaces/ts"; -import * as Utils from "../_namespaces/Utils"; +import * as ts from "../_namespaces/ts.js"; +import * as Utils from "../_namespaces/Utils.js"; function withChange(text: ts.IScriptSnapshot, start: number, length: number, newText: string): { text: ts.IScriptSnapshot; textChangeRange: ts.TextChangeRange; } { const contents = ts.getSnapshotText(text); @@ -120,7 +120,7 @@ function insertCode(source: string, index: number, toInsert: string) { } } -describe("unittests:: Incremental Parser", () => { +describe("unittests:: incrementalParser::", () => { it("Inserting into method", () => { const source = "class C {\r\n" + " public foo1() { }\r\n" + @@ -160,7 +160,7 @@ describe("unittests:: Incremental Parser", () => { const oldText = ts.ScriptSnapshot.fromString(source); const newTextAndChange = withInsert(oldText, semicolonIndex, "/"); - compareTrees(oldText, newTextAndChange.text, newTextAndChange.textChangeRange, 0); + compareTrees(oldText, newTextAndChange.text, newTextAndChange.textChangeRange, 4); }); it("Regular expression 2", () => { @@ -806,6 +806,15 @@ module m3 { }\ deleteCode(source, index, "extends IFoo"); }); + it("when comment changes to incomplete", () => { + const source = "function bug(\r\n test /** */ true = test test 123\r\n) {}"; + const oldText = ts.ScriptSnapshot.fromString(source); + const index = source.indexOf("/"); + const newTextAndChange = withChange(oldText, index, 1, ""); + + compareTrees(oldText, newTextAndChange.text, newTextAndChange.textChangeRange, 0); + }); + it("Type after incomplete enum 1", () => { const source = "function foo() {\r\n" + " function getOccurrencesAtPosition() {\r\n" + diff --git a/src/testRunner/unittests/jsDocParsing.ts b/src/testRunner/unittests/jsDocParsing.ts index 02f5c8e199980..546bffaa777e1 100644 --- a/src/testRunner/unittests/jsDocParsing.ts +++ b/src/testRunner/unittests/jsDocParsing.ts @@ -1,6 +1,6 @@ -import * as Harness from "../_namespaces/Harness"; -import * as ts from "../_namespaces/ts"; -import * as Utils from "../_namespaces/Utils"; +import * as Harness from "../_namespaces/Harness.js"; +import * as ts from "../_namespaces/ts.js"; +import * as Utils from "../_namespaces/Utils.js"; describe("unittests:: JSDocParsing", () => { describe("TypeExpressions", () => { @@ -519,7 +519,7 @@ oh.no assert.equal(root.kind, ts.SyntaxKind.SourceFile); const first = root.getFirstToken(); assert.isDefined(first); - assert.equal(first!.kind, ts.SyntaxKind.VarKeyword); + assert.equal(first.kind, ts.SyntaxKind.VarKeyword); }); }); describe("getLastToken", () => { @@ -528,7 +528,7 @@ oh.no assert.isDefined(root); const last = root.getLastToken(); assert.isDefined(last); - assert.equal(last!.kind, ts.SyntaxKind.EndOfFileToken); + assert.equal(last.kind, ts.SyntaxKind.EndOfFileToken); }); }); describe("getStart", () => { @@ -560,4 +560,22 @@ class Foo {}; assert.equal(ts.getTextOfJSDocComment(seeTag.comment), "{@link foo#bar label}"); }); }); + + describe("getTextOfJSDocComment", () => { + it("should preserve link without introducing space", () => { + const sourceText = ` +/** + * + * @see {@link foo} + */ +class Foo {}; +`; + + const root = ts.createSourceFile("foo.ts", sourceText, ts.ScriptTarget.ES5, /*setParentNodes*/ true); + const [classDecl] = root.statements; + const [seeTag] = ts.getJSDocTags(classDecl); + + assert.equal(ts.getTextOfJSDocComment(seeTag.comment), "{@link foo}"); + }); + }); }); diff --git a/src/testRunner/unittests/jsonParserRecovery.ts b/src/testRunner/unittests/jsonParserRecovery.ts index c68253ab03609..fb03cbf045a6f 100644 --- a/src/testRunner/unittests/jsonParserRecovery.ts +++ b/src/testRunner/unittests/jsonParserRecovery.ts @@ -1,5 +1,5 @@ -import * as Harness from "../_namespaces/Harness"; -import * as ts from "../_namespaces/ts"; +import * as Harness from "../_namespaces/Harness.js"; +import * as ts from "../_namespaces/ts.js"; describe("unittests:: jsonParserRecovery", () => { function parsesToValidSourceFileWithErrors(name: string, text: string) { diff --git a/src/testRunner/unittests/moduleResolution.ts b/src/testRunner/unittests/moduleResolution.ts index 5ee17d871dd6e..4cc25806235dd 100644 --- a/src/testRunner/unittests/moduleResolution.ts +++ b/src/testRunner/unittests/moduleResolution.ts @@ -1,6 +1,6 @@ -import * as Harness from "../_namespaces/Harness"; -import * as ts from "../_namespaces/ts"; -import { jsonToReadableText } from "./helpers"; +import * as Harness from "../_namespaces/Harness.js"; +import * as ts from "../_namespaces/ts.js"; +import { jsonToReadableText } from "./helpers.js"; interface File { name: string; diff --git a/src/testRunner/unittests/parsePseudoBigInt.ts b/src/testRunner/unittests/parsePseudoBigInt.ts index affe01a2d0d3d..8f95e3cc30da3 100644 --- a/src/testRunner/unittests/parsePseudoBigInt.ts +++ b/src/testRunner/unittests/parsePseudoBigInt.ts @@ -1,4 +1,4 @@ -import * as ts from "../_namespaces/ts"; +import * as ts from "../_namespaces/ts.js"; describe("unittests:: BigInt literal base conversions", () => { describe("parsePseudoBigInt", () => { diff --git a/src/testRunner/unittests/paths.ts b/src/testRunner/unittests/paths.ts index 33de6b314914c..56a49f57f392a 100644 --- a/src/testRunner/unittests/paths.ts +++ b/src/testRunner/unittests/paths.ts @@ -1,4 +1,4 @@ -import * as ts from "../_namespaces/ts"; +import * as ts from "../_namespaces/ts.js"; describe("unittests:: core paths", () => { it("normalizeSlashes", () => { diff --git a/src/testRunner/unittests/printer.ts b/src/testRunner/unittests/printer.ts index dd724ed73f855..76f23ab692fb0 100644 --- a/src/testRunner/unittests/printer.ts +++ b/src/testRunner/unittests/printer.ts @@ -1,7 +1,7 @@ -import * as fakes from "../_namespaces/fakes"; -import * as Harness from "../_namespaces/Harness"; -import * as ts from "../_namespaces/ts"; -import * as vfs from "../_namespaces/vfs"; +import * as fakes from "../_namespaces/fakes.js"; +import * as Harness from "../_namespaces/Harness.js"; +import * as ts from "../_namespaces/ts.js"; +import * as vfs from "../_namespaces/vfs.js"; describe("unittests:: PrinterAPI", () => { function makePrintsCorrectly(prefix: string) { diff --git a/src/testRunner/unittests/programApi.ts b/src/testRunner/unittests/programApi.ts index fe129d78a9ade..44f391b869002 100644 --- a/src/testRunner/unittests/programApi.ts +++ b/src/testRunner/unittests/programApi.ts @@ -1,9 +1,9 @@ -import * as documents from "../_namespaces/documents"; -import * as fakes from "../_namespaces/fakes"; -import * as Harness from "../_namespaces/Harness"; -import * as ts from "../_namespaces/ts"; -import * as vfs from "../_namespaces/vfs"; -import { jsonToReadableText } from "./helpers"; +import * as documents from "../_namespaces/documents.js"; +import * as fakes from "../_namespaces/fakes.js"; +import * as Harness from "../_namespaces/Harness.js"; +import * as ts from "../_namespaces/ts.js"; +import * as vfs from "../_namespaces/vfs.js"; +import { jsonToReadableText } from "./helpers.js"; function verifyMissingFilePaths(missing: ReturnType, expected: readonly string[]) { assert.isDefined(missing); diff --git a/src/testRunner/unittests/publicApi.ts b/src/testRunner/unittests/publicApi.ts index 1b5ab93f0a187..011f32ae285fa 100644 --- a/src/testRunner/unittests/publicApi.ts +++ b/src/testRunner/unittests/publicApi.ts @@ -1,8 +1,11 @@ -import * as documents from "../_namespaces/documents"; -import * as fakes from "../_namespaces/fakes"; -import * as Harness from "../_namespaces/Harness"; -import * as ts from "../_namespaces/ts"; -import * as vfs from "../_namespaces/vfs"; +import * as documents from "../_namespaces/documents.js"; +import * as fakes from "../_namespaces/fakes.js"; +import * as Harness from "../_namespaces/Harness.js"; +import * as ts from "../_namespaces/ts.js"; +import * as vfs from "../_namespaces/vfs.js"; +import { jsonToReadableText } from "./helpers.js"; +import { libContent } from "./helpers/contents.js"; +import { loadProjectFromFiles } from "./helpers/vfs.js"; describe("unittests:: Public APIs", () => { function verifyApi(fileName: string) { @@ -64,7 +67,7 @@ function test() {}`; const funcDec = testSourceFile.statements.find(ts.isFunctionDeclaration)!; const tags = ts.getJSDocTags(funcDec); assert.isDefined(tags[0].comment); - assert.isDefined(tags[0].comment![0]); + assert.isDefined(tags[0].comment[0]); assert.isString(tags[0].comment); assert.equal(tags[0].comment as string, "Some\n text\r\n with newlines."); }); @@ -262,3 +265,70 @@ class C { assert.equal(ts.ModifierFlags.None, ts.getSyntacticModifierFlags(propNode)); }); }); + +describe("unittests:: Public APIs:: createProgram", () => { + function verifyAPI(useJsonParsingApi: boolean) { + const fs = loadProjectFromFiles({ + "/src/projects/project/packages/a/index.js": `export const a = 'a';`, + "/src/projects/project/packages/a/test/index.js": `import 'a';`, + "/src/projects/project/packages/a/tsconfig.json": jsonToReadableText({ + compilerOptions: { + checkJs: true, + composite: true, + declaration: true, + emitDeclarationOnly: true, + module: "nodenext", + outDir: "types", + }, + }), + "/src/projects/project/packages/a/package.json": jsonToReadableText({ + name: "a", + version: "0.0.0", + type: "module", + exports: { + ".": { + types: "./types/index.d.ts", + default: "./index.js", + }, + }, + }), + "/lib/lib.esnext.full.d.ts": libContent, + }, { cwd: "/src/projects/project", executingFilePath: "/lib/tsc.js" }); + const sys = new fakes.System(fs, { executingFilePath: "/lib/tsc.js" }); + const commandLine = ts.getParsedCommandLineOfConfigFile( + "/src/projects/project/packages/a/tsconfig.json", + /*optionsToExtend*/ undefined, + { + fileExists: sys.fileExists.bind(sys), + getCurrentDirectory: sys.getCurrentDirectory.bind(sys), + onUnRecoverableConfigFileDiagnostic: () => {}, + readDirectory: sys.readDirectory.bind(sys), + readFile: sys.readFile.bind(sys), + useCaseSensitiveFileNames: sys.useCaseSensitiveFileNames, + directoryExists: sys.directoryExists.bind(sys), + getDirectories: sys.getDirectories.bind(sys), + realpath: sys.realpath.bind(sys), + }, + )!; + const config = !useJsonParsingApi ? JSON.parse(fs.readFileSync("/src/projects/project/packages/a/tsconfig.json", "utf-8")) : undefined; + // This is really createCompilerHost but we want to use our own sys so simple usage + const host = ts.createCompilerHostWorker( + useJsonParsingApi ? commandLine.options : config.compilerOptions, + /*setParentNodes*/ undefined, + sys, + ); + (useJsonParsingApi ? assert.doesNotThrow : assert.throws)(() => + ts.createProgram({ + rootNames: commandLine.fileNames, + options: useJsonParsingApi ? commandLine.options : config.compilerOptions, + host, + }) + ); + } + it("when using correct config file API", () => { + verifyAPI(/*useJsonParsingApi*/ true); + }); + it("when using direct json read", () => { + verifyAPI(/*useJsonParsingApi*/ false); + }); +}); diff --git a/src/testRunner/unittests/regExpScannerRecovery.ts b/src/testRunner/unittests/regExpScannerRecovery.ts new file mode 100644 index 0000000000000..a4e6dd02a7394 --- /dev/null +++ b/src/testRunner/unittests/regExpScannerRecovery.ts @@ -0,0 +1,81 @@ +import * as ts from "../_namespaces/ts.js"; + +describe("unittests:: regExpScannerRecovery", () => { + const testCases = [ + "/", + "/[]", + "/{}", + "/()", + "/foo", + "/foo[]", + "/foo{}", + "/foo()", + "/[]foo", + "/{}foo", + "/()foo", + "/{[]}", + "/([])", + "/[)}({]", + "/({[]})", + "/\\[", + "/\\{", + "/\\(", + "/[\\[]", + "/(\\[)", + "/{\\[}", + "/[\\(]", + "/(\\()", + "/{\\(}", + "/[\\{]", + "/(\\{)", + "/{\\{}", + "/\\{(\\[\\([{])", + "/\\]", + "/\\}", + "/\\)", + "/[\\]]", + "/(\\])", + "/{\\]}", + "/[\\)]", + "/(\\))", + "/{\\)}", + "/[\\}]", + "/(\\})", + "/{\\}}", + "/({[\\])]})", + ]; + const whiteSpaceSequences = [ + "", + " ", + "\t\f", + "\u3000\u2003", + ]; + for (const testCase of testCases) { + for (const whiteSpaces of whiteSpaceSequences) { + const testCaseWithWhiteSpaces = testCase + whiteSpaces; + const sources = [ + `const regex = ${testCaseWithWhiteSpaces};`, + `(${testCaseWithWhiteSpaces});`, + `([${testCaseWithWhiteSpaces}]);`, + `({prop: ${testCaseWithWhiteSpaces}});`, + `({prop: ([(${testCaseWithWhiteSpaces})])});`, + `({[(${testCaseWithWhiteSpaces}).source]: 42});`, + ]; + for (const source of sources) { + it("stops parsing unterminated regexes at correct position: " + JSON.stringify(source), () => { + const { parseDiagnostics } = ts.createLanguageServiceSourceFile( + /*fileName*/ "", + ts.ScriptSnapshot.fromString(source), + ts.ScriptTarget.Latest, + /*version*/ "0", + /*setNodeParents*/ false, + ); + const diagnostic = ts.find(parseDiagnostics, ({ code }) => code === ts.Diagnostics.Unterminated_regular_expression_literal.code); + assert(diagnostic, "There should be an 'Unterminated regular expression literal.' error"); + assert.equal(diagnostic.start, source.indexOf("/"), "Diagnostic should start at where the regex starts"); + assert.equal(diagnostic.length, testCase.length, "Diagnostic should end at where the regex ends"); + }); + } + } + } +}); diff --git a/src/testRunner/unittests/reuseProgramStructure.ts b/src/testRunner/unittests/reuseProgramStructure.ts index b3685eac1f74c..7e940f16abe52 100644 --- a/src/testRunner/unittests/reuseProgramStructure.ts +++ b/src/testRunner/unittests/reuseProgramStructure.ts @@ -1,6 +1,6 @@ -import * as Harness from "../_namespaces/Harness"; -import * as ts from "../_namespaces/ts"; -import * as Utils from "../_namespaces/Utils"; +import * as Harness from "../_namespaces/Harness.js"; +import * as ts from "../_namespaces/ts.js"; +import * as Utils from "../_namespaces/Utils.js"; import { createTestCompilerHost, jsonToReadableText, @@ -12,14 +12,15 @@ import { TestCompilerHost, updateProgram, updateProgramText, -} from "./helpers"; +} from "./helpers.js"; import { createWatchedSystem, File, libFile, -} from "./helpers/virtualFileSystemWithWatch"; +} from "./helpers/virtualFileSystemWithWatch.js"; -describe("unittests:: Reuse program structure:: General", () => { +describe("unittests:: reuseProgramStructure:: General", () => { + type ProgramToBaseline = ts.Program & Pick; function baselineCache( baselines: string[], cacheType: string, @@ -40,8 +41,21 @@ describe("unittests:: Reuse program structure:: General", () => { baselines.push(`${key}: ${mode ? ts.getNameOfCompilerOptionValue(mode, ts.moduleOptionDeclaration.type) + ": " : ""}${jsonToReadableText(resolved)}`); } } - function baselineProgram(baselines: string[], program: ts.Program, host?: TestCompilerHost) { - baselines.push(`Program Reused:: ${(ts as any).StructureIsReused[program.structureIsReused]}`); + + function baselineDiagnostics(baselines: string[], program: ProgramToBaseline, skipHeader?: boolean) { + if (!skipHeader) { + baselines.push(`Program ${program.version} Reused:: ${(ts as any).StructureIsReused[program.structureIsReused]}`); + baselines.push(`Diagnostics:`); + } + baselines.push(ts.formatDiagnostics(program.getSemanticDiagnostics(), { + getCurrentDirectory: () => program.getCurrentDirectory(), + getNewLine: () => "\n", + getCanonicalFileName: ts.createGetCanonicalFileName(program.useCaseSensitiveFileNames()), + })); + baselines.push("", ""); + } + function baselineProgram(baselines: string[], program: ProgramToBaseline, host?: TestCompilerHost, skipDiagnostics?: boolean) { + baselines.push(`Program ${program.version} Reused:: ${(ts as any).StructureIsReused[program.structureIsReused]}`); program.getSourceFiles().forEach(f => { baselines.push(`File: ${f.fileName}`, f.text); baselineCache(baselines, "resolvedModules", f, program.forEachResolvedModule); @@ -55,12 +69,12 @@ describe("unittests:: Reuse program structure:: General", () => { baselines.push(""); baselines.push(`MissingPaths:: ${jsonToReadableText(ts.arrayFrom(program.getMissingFilePaths().values()))}`); baselines.push(""); - baselines.push(ts.formatDiagnostics(program.getSemanticDiagnostics(), { - getCurrentDirectory: () => program.getCurrentDirectory(), - getNewLine: () => "\n", - getCanonicalFileName: ts.createGetCanonicalFileName(program.useCaseSensitiveFileNames()), - })); - baselines.push("", ""); + if (!skipDiagnostics) { + baselineDiagnostics(baselines, program, /*skipHeader*/ true); + } + else { + baselines.push("Skipped diagnostics", "", ""); + } } function runBaseline(scenario: string, baselines: readonly string[]) { @@ -281,7 +295,8 @@ describe("unittests:: Reuse program structure:: General", () => { ]; const host = createTestCompilerHost(files, target); const options: ts.CompilerOptions = { target, typeRoots: ["/types"] }; - const program1 = ts.createProgram(["/a.ts"], options, host); + const program1 = ts.createProgram(["/a.ts"], options, host) as ProgramToBaseline; + program1.version = 1; let sourceFile = program1.getSourceFile("/a.ts")!; const baselines: string[] = []; baselineProgram(baselines, program1, host); @@ -293,7 +308,8 @@ describe("unittests:: Reuse program structure:: General", () => { return fileName === sourceFile.fileName ? sourceFile : program1.getSourceFile(fileName); }, }; - const program2 = ts.createProgram(["/a.ts"], options, updateHost, program1); + const program2 = ts.createProgram(["/a.ts"], options, updateHost, program1) as ProgramToBaseline; + program2.version = 2; baselineProgram(baselines, program2, updateHost); baselines.push(`parent pointers are not altered: ${sourceFile.statements[2].getSourceFile() === sourceFile}`); runBaseline("works with updated SourceFiles", baselines); @@ -554,15 +570,217 @@ describe("unittests:: Reuse program structure:: General", () => { verifyRedirects(/*useGetSourceFileByPath*/ true); }); }); + + it("forceConsistentCasingInFileNames:: handles file preprocessing dignostics", () => { + const files = [ + { + name: "/src/project/src/struct.d.ts", + text: SourceText.New( + "", + "", + Utils.dedent` + import * as xs1 from "fp-ts/lib/Struct"; + import * as xs2 from "fp-ts/lib/struct"; + import * as xs3 from "./Struct"; + import * as xs4 from "./struct"; + `, + ), + }, + { + name: "/src/project/src/anotherFile.ts", + text: SourceText.New( + "", + "", + Utils.dedent` + import * as xs1 from "fp-ts/lib/Struct"; + import * as xs2 from "fp-ts/lib/struct"; + import * as xs3 from "./Struct"; + import * as xs4 from "./struct"; + `, + ), + }, + { + name: "/src/project/src/oneMore.ts", + text: SourceText.New( + "", + "", + Utils.dedent` + import * as xs1 from "fp-ts/lib/Struct"; + import * as xs2 from "fp-ts/lib/struct"; + import * as xs3 from "./Struct"; + import * as xs4 from "./struct"; + `, + ), + }, + { + name: "/src/project/node_modules/fp-ts/lib/struct.d.ts", + text: SourceText.New("", "", `export function foo(): void`), + }, + ]; + + const options: ts.CompilerOptions = { target, moduleResolution: ts.ModuleResolutionKind.Node10 }; + const rootNames = files.map(f => f.name); + const program1 = newProgram(files, rootNames, options, /*useGetSourceFileByPath*/ undefined, /*useCaseSensitiveFileNames*/ false); + const baselines: string[] = []; + baselineProgram(baselines, program1); + + const program2 = updateProgram( + program1, + rootNames, + options, + files => { + files[0].text = files[0].text.updateProgram(files[0].text.getFullText() + "export const y = 10;"); + }, + /*newTexts*/ undefined, + /*useGetSourceFileByPath*/ undefined, + /*useCaseSensitiveFileNames*/ false, + ); + baselineProgram(baselines, program2); + + const program3 = updateProgram( + program2, + rootNames, + options, + files => { + files[0].text = files[0].text.updateProgram(Utils.dedent` + import * as xs1 from "fp-ts/lib/Struct"; + import * as xs2 from "fp-ts/lib/struct"; + import * as xs3 from "./Struct"; + `); + }, + /*newTexts*/ undefined, + /*useGetSourceFileByPath*/ undefined, + /*useCaseSensitiveFileNames*/ false, + ); + baselineProgram(baselines, program3); + runBaseline("handles file preprocessing dignostics", baselines); + }); + + it("forceConsistentCasingInFileNames:: handles file preprocessing dignostics when diagnostics are not queried", () => { + const files = [ + { + name: "/src/project/src/struct.d.ts", + text: SourceText.New( + "", + "", + Utils.dedent` + import * as xs1 from "fp-ts/lib/Struct"; + import * as xs2 from "fp-ts/lib/struct"; + import * as xs3 from "./Struct"; + import * as xs4 from "./struct"; + `, + ), + }, + { + name: "/src/project/src/anotherFile.ts", + text: SourceText.New( + "", + "", + Utils.dedent` + import * as xs1 from "fp-ts/lib/Struct"; + import * as xs2 from "fp-ts/lib/struct"; + import * as xs3 from "./Struct"; + import * as xs4 from "./struct"; + `, + ), + }, + { + name: "/src/project/src/oneMore.ts", + text: SourceText.New( + "", + "", + Utils.dedent` + import * as xs1 from "fp-ts/lib/Struct"; + import * as xs2 from "fp-ts/lib/struct"; + import * as xs3 from "./Struct"; + import * as xs4 from "./struct"; + `, + ), + }, + { + name: "/src/project/node_modules/fp-ts/lib/struct.d.ts", + text: SourceText.New("", "", `export function foo(): void`), + }, + ]; + + const options: ts.CompilerOptions = { target, moduleResolution: ts.ModuleResolutionKind.Node10 }; + const rootNames = files.map(f => f.name); + const program1 = newProgram(files, rootNames, options, /*useGetSourceFileByPath*/ undefined, /*useCaseSensitiveFileNames*/ false); + const baselines: string[] = []; + baselineProgram(baselines, program1, /*host*/ undefined, /*skipDiagnostics*/ true); + + const program2 = updateProgram( + program1, + rootNames, + options, + files => { + files[0].text = files[0].text.updateProgram(files[0].text.getFullText() + "export const y = 10;"); + }, + /*newTexts*/ undefined, + /*useGetSourceFileByPath*/ undefined, + /*useCaseSensitiveFileNames*/ false, + ); + baselineProgram(baselines, program2, /*host*/ undefined, /*skipDiagnostics*/ true); + baselineDiagnostics(baselines, program1); + + const program3 = updateProgram( + program2, + rootNames, + options, + files => { + files[0].text = files[0].text.updateProgram(files[0].text.getFullText() + "export const z = 10;"); + }, + /*newTexts*/ undefined, + /*useGetSourceFileByPath*/ undefined, + /*useCaseSensitiveFileNames*/ false, + ); + baselineProgram(baselines, program3); + baselineDiagnostics(baselines, program2); + + const program4 = updateProgram( + program3, + rootNames, + options, + files => { + files[0].text = files[0].text.updateProgram(Utils.dedent` + import * as xs1 from "fp-ts/lib/Struct"; + import * as xs2 from "fp-ts/lib/struct"; + import * as xs3 from "./Struct"; + `); + }, + /*newTexts*/ undefined, + /*useGetSourceFileByPath*/ undefined, + /*useCaseSensitiveFileNames*/ false, + ); + baselineProgram(baselines, program4, /*host*/ undefined, /*skipDiagnostics*/ true); + + const program5 = updateProgram( + program4, + rootNames, + options, + files => { + files[0].text = files[0].text.updateProgram(Utils.dedent` + import * as xs1 from "fp-ts/lib/Struct"; + import * as xs3 from "./Struct"; + `); + }, + /*newTexts*/ undefined, + /*useGetSourceFileByPath*/ undefined, + /*useCaseSensitiveFileNames*/ false, + ); + baselineProgram(baselines, program5); + baselineDiagnostics(baselines, program4); + runBaseline("handles file preprocessing dignostics when diagnostics are not queried", baselines); + }); }); -describe("unittests:: Reuse program structure:: host is optional", () => { +describe("unittests:: reuseProgramStructure:: host is optional", () => { it("should work if host is not provided", () => { ts.createProgram([], {}); }); }); -describe("unittests:: Reuse program structure:: isProgramUptoDate", () => { +describe("unittests:: reuseProgramStructure:: isProgramUptoDate::", () => { function getWhetherProgramIsUptoDate( program: ts.Program, newRootFileNames: string[], diff --git a/src/testRunner/unittests/semver.ts b/src/testRunner/unittests/semver.ts index 241a2f7209e0b..c5bc9b289f3ee 100644 --- a/src/testRunner/unittests/semver.ts +++ b/src/testRunner/unittests/semver.ts @@ -1,5 +1,5 @@ -import * as ts from "../_namespaces/ts"; -import * as Utils from "../_namespaces/Utils"; +import * as ts from "../_namespaces/ts.js"; +import * as Utils from "../_namespaces/Utils.js"; import theory = Utils.theory; describe("unittests:: semver", () => { diff --git a/src/testRunner/unittests/services/cancellableLanguageServiceOperations.ts b/src/testRunner/unittests/services/cancellableLanguageServiceOperations.ts index ca397ab02d125..9a83bb77fe673 100644 --- a/src/testRunner/unittests/services/cancellableLanguageServiceOperations.ts +++ b/src/testRunner/unittests/services/cancellableLanguageServiceOperations.ts @@ -1,5 +1,5 @@ -import * as Harness from "../../_namespaces/Harness"; -import * as ts from "../../_namespaces/ts"; +import * as Harness from "../../_namespaces/Harness.js"; +import * as ts from "../../_namespaces/ts.js"; describe("unittests:: services:: cancellableLanguageServiceOperations", () => { const file = ` diff --git a/src/testRunner/unittests/services/colorization.ts b/src/testRunner/unittests/services/colorization.ts index 83ed8fbcc443e..b2fe6ea378836 100644 --- a/src/testRunner/unittests/services/colorization.ts +++ b/src/testRunner/unittests/services/colorization.ts @@ -1,5 +1,5 @@ -import * as Harness from "../../_namespaces/Harness"; -import * as ts from "../../_namespaces/ts"; +import * as Harness from "../../_namespaces/Harness.js"; +import * as ts from "../../_namespaces/ts.js"; // lots of tests use quoted code /* eslint-disable no-template-curly-in-string */ diff --git a/src/testRunner/unittests/services/convertToAsyncFunction.ts b/src/testRunner/unittests/services/convertToAsyncFunction.ts index 0da12eaaa0d33..0fd0761c30736 100644 --- a/src/testRunner/unittests/services/convertToAsyncFunction.ts +++ b/src/testRunner/unittests/services/convertToAsyncFunction.ts @@ -1,15 +1,15 @@ -import * as Harness from "../../_namespaces/Harness"; -import * as ts from "../../_namespaces/ts"; +import * as Harness from "../../_namespaces/Harness.js"; +import * as ts from "../../_namespaces/ts.js"; import { createServerHost, File, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; import { extractTest, newLineCharacter, notImplementedHost, TestProjectService, -} from "./extract/helpers"; +} from "./extract/helpers.js"; const libFile: File = { path: "/a/lib/lib.d.ts", diff --git a/src/testRunner/unittests/services/documentRegistry.ts b/src/testRunner/unittests/services/documentRegistry.ts index d9ab9e24ed956..b001d7a707e6f 100644 --- a/src/testRunner/unittests/services/documentRegistry.ts +++ b/src/testRunner/unittests/services/documentRegistry.ts @@ -1,4 +1,4 @@ -import * as ts from "../../_namespaces/ts"; +import * as ts from "../../_namespaces/ts.js"; describe("unittests:: services:: DocumentRegistry", () => { it("documents are shared between projects", () => { diff --git a/src/testRunner/unittests/services/extract/constants.ts b/src/testRunner/unittests/services/extract/constants.ts index a479a311b1aea..91ace16cf392d 100644 --- a/src/testRunner/unittests/services/extract/constants.ts +++ b/src/testRunner/unittests/services/extract/constants.ts @@ -1,8 +1,8 @@ -import * as ts from "../../../_namespaces/ts"; +import * as ts from "../../../_namespaces/ts.js"; import { testExtractSymbol, testExtractSymbolFailed, -} from "./helpers"; +} from "./helpers.js"; describe("unittests:: services:: extract:: extractConstants", () => { testExtractConstant("extractConstant_TopLevel", `let x = [#|1|];`); diff --git a/src/testRunner/unittests/services/extract/functions.ts b/src/testRunner/unittests/services/extract/functions.ts index 58df9dc87823f..8e5a009ae34b8 100644 --- a/src/testRunner/unittests/services/extract/functions.ts +++ b/src/testRunner/unittests/services/extract/functions.ts @@ -1,5 +1,5 @@ -import * as ts from "../../../_namespaces/ts"; -import { testExtractSymbol } from "./helpers"; +import * as ts from "../../../_namespaces/ts.js"; +import { testExtractSymbol } from "./helpers.js"; describe("unittests:: services:: extract:: extractFunctions", () => { testExtractFunction( diff --git a/src/testRunner/unittests/services/extract/helpers.ts b/src/testRunner/unittests/services/extract/helpers.ts index c3065e0a0d558..4a75167cd1563 100644 --- a/src/testRunner/unittests/services/extract/helpers.ts +++ b/src/testRunner/unittests/services/extract/helpers.ts @@ -1,13 +1,13 @@ -import { incrementalVerifier } from "../../../../harness/incrementalUtils"; -import { createHasErrorMessageLogger } from "../../../../harness/tsserverLogger"; -import * as Harness from "../../../_namespaces/Harness"; -import * as ts from "../../../_namespaces/ts"; -import { customTypesMap } from "../../helpers/typingsInstaller"; +import { incrementalVerifier } from "../../../../harness/incrementalUtils.js"; +import { createHasErrorMessageLogger } from "../../../../harness/tsserverLogger.js"; +import * as Harness from "../../../_namespaces/Harness.js"; +import * as ts from "../../../_namespaces/ts.js"; +import { customTypesMap } from "../../helpers/typingsInstaller.js"; import { createServerHost, libFile, TestServerHost, -} from "../../helpers/virtualFileSystemWithWatch"; +} from "../../helpers/virtualFileSystemWithWatch.js"; export interface TestProjectServiceOptions extends ts.server.ProjectServiceOptions { host: TestServerHost; diff --git a/src/testRunner/unittests/services/extract/ranges.ts b/src/testRunner/unittests/services/extract/ranges.ts index b5c2745950333..9fd9bee8bebbe 100644 --- a/src/testRunner/unittests/services/extract/ranges.ts +++ b/src/testRunner/unittests/services/extract/ranges.ts @@ -1,5 +1,5 @@ -import * as ts from "../../../_namespaces/ts"; -import { extractTest } from "./helpers"; +import * as ts from "../../../_namespaces/ts.js"; +import { extractTest } from "./helpers.js"; function testExtractRangeFailed(caption: string, s: string, expectedErrors: string[]) { return it(caption, () => { diff --git a/src/testRunner/unittests/services/extract/symbolWalker.ts b/src/testRunner/unittests/services/extract/symbolWalker.ts index 48a2121a4f565..e6c6591249d26 100644 --- a/src/testRunner/unittests/services/extract/symbolWalker.ts +++ b/src/testRunner/unittests/services/extract/symbolWalker.ts @@ -1,5 +1,5 @@ -import * as Harness from "../../../_namespaces/Harness"; -import * as ts from "../../../_namespaces/ts"; +import * as Harness from "../../../_namespaces/Harness.js"; +import * as ts from "../../../_namespaces/ts.js"; describe("unittests:: services:: extract:: Symbol Walker", () => { function test(description: string, source: string, verifier: (file: ts.SourceFile, checker: ts.TypeChecker) => void) { diff --git a/src/testRunner/unittests/services/hostNewLineSupport.ts b/src/testRunner/unittests/services/hostNewLineSupport.ts index a509a29e16f48..3879e78d0bf68 100644 --- a/src/testRunner/unittests/services/hostNewLineSupport.ts +++ b/src/testRunner/unittests/services/hostNewLineSupport.ts @@ -1,5 +1,5 @@ -import * as Harness from "../../_namespaces/Harness"; -import * as ts from "../../_namespaces/ts"; +import * as Harness from "../../_namespaces/Harness.js"; +import * as ts from "../../_namespaces/ts.js"; describe("unittests:: services:: hostNewLineSupport", () => { function testLSWithFiles(settings: ts.CompilerOptions, files: Harness.Compiler.TestFile[]) { diff --git a/src/testRunner/unittests/services/languageService.ts b/src/testRunner/unittests/services/languageService.ts index 9e4e7568bb699..1c5b15f60eeb4 100644 --- a/src/testRunner/unittests/services/languageService.ts +++ b/src/testRunner/unittests/services/languageService.ts @@ -1,12 +1,12 @@ import { expect } from "chai"; -import * as ts from "../../_namespaces/ts"; -import { jsonToReadableText } from "../helpers"; +import * as ts from "../../_namespaces/ts.js"; +import { jsonToReadableText } from "../helpers.js"; import { createServerHost, File, libFile, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: services:: languageService", () => { const files: { [index: string]: string; } = { diff --git a/src/testRunner/unittests/services/organizeImports.ts b/src/testRunner/unittests/services/organizeImports.ts index 30c5abcfc0f58..23ce1cafe4cf5 100644 --- a/src/testRunner/unittests/services/organizeImports.ts +++ b/src/testRunner/unittests/services/organizeImports.ts @@ -1,13 +1,13 @@ -import * as Harness from "../../_namespaces/Harness"; -import * as ts from "../../_namespaces/ts"; +import * as Harness from "../../_namespaces/Harness.js"; +import * as ts from "../../_namespaces/ts.js"; import { createServerHost, File, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; import { newLineCharacter, TestProjectService, -} from "./extract/helpers"; +} from "./extract/helpers.js"; describe("unittests:: services:: organizeImports", () => { describe("Sort imports", () => { diff --git a/src/testRunner/unittests/services/patternMatcher.ts b/src/testRunner/unittests/services/patternMatcher.ts index 8fc1e390157ec..7627bb416937f 100644 --- a/src/testRunner/unittests/services/patternMatcher.ts +++ b/src/testRunner/unittests/services/patternMatcher.ts @@ -1,4 +1,4 @@ -import * as ts from "../../_namespaces/ts"; +import * as ts from "../../_namespaces/ts.js"; describe("unittests:: services:: PatternMatcher", () => { describe("BreakIntoCharacterSpans", () => { diff --git a/src/testRunner/unittests/services/preProcessFile.ts b/src/testRunner/unittests/services/preProcessFile.ts index 4f22b123dc79a..c7c08f36920e4 100644 --- a/src/testRunner/unittests/services/preProcessFile.ts +++ b/src/testRunner/unittests/services/preProcessFile.ts @@ -1,5 +1,5 @@ -import * as ts from "../../_namespaces/ts"; -import { jsonToReadableText } from "../helpers"; +import * as ts from "../../_namespaces/ts.js"; +import { jsonToReadableText } from "../helpers.js"; describe("unittests:: services:: PreProcessFile:", () => { function test(sourceText: string, readImportFile: boolean, detectJavaScriptImports: boolean, expectedPreProcess: ts.PreProcessedFileInfo): void { diff --git a/src/testRunner/unittests/services/textChanges.ts b/src/testRunner/unittests/services/textChanges.ts index 00ad1d26943d5..bff7291664b0f 100644 --- a/src/testRunner/unittests/services/textChanges.ts +++ b/src/testRunner/unittests/services/textChanges.ts @@ -1,6 +1,6 @@ -import * as Harness from "../../_namespaces/Harness"; -import * as ts from "../../_namespaces/ts"; -import { notImplementedHost } from "./extract/helpers"; +import * as Harness from "../../_namespaces/Harness.js"; +import * as ts from "../../_namespaces/ts.js"; +import { notImplementedHost } from "./extract/helpers.js"; // Some tests have trailing whitespace diff --git a/src/testRunner/unittests/services/transpile.ts b/src/testRunner/unittests/services/transpile.ts index 7349aae1daa18..640923c53c65e 100644 --- a/src/testRunner/unittests/services/transpile.ts +++ b/src/testRunner/unittests/services/transpile.ts @@ -1,5 +1,5 @@ -import * as Harness from "../../_namespaces/Harness"; -import * as ts from "../../_namespaces/ts"; +import * as Harness from "../../_namespaces/Harness.js"; +import * as ts from "../../_namespaces/ts.js"; describe("unittests:: services:: Transpile", () => { interface TranspileTestSettings { diff --git a/src/testRunner/unittests/services/utilities.ts b/src/testRunner/unittests/services/utilities.ts index 91b82462b479e..2d0fc8876f23d 100644 --- a/src/testRunner/unittests/services/utilities.ts +++ b/src/testRunner/unittests/services/utilities.ts @@ -1,4 +1,4 @@ -import * as ts from "../../_namespaces/ts"; +import * as ts from "../../_namespaces/ts.js"; describe("unittests:: services:: utilities", () => { describe("Test findPrecedingMatchingToken,", () => { diff --git a/src/testRunner/unittests/skipJSDocParsing.ts b/src/testRunner/unittests/skipJSDocParsing.ts index 6498e6f214c44..4fd6e87819628 100644 --- a/src/testRunner/unittests/skipJSDocParsing.ts +++ b/src/testRunner/unittests/skipJSDocParsing.ts @@ -1,6 +1,6 @@ -import * as Harness from "../_namespaces/Harness"; -import * as ts from "../_namespaces/ts"; -import * as Utils from "../_namespaces/Utils"; +import * as Harness from "../_namespaces/Harness.js"; +import * as ts from "../_namespaces/ts.js"; +import * as Utils from "../_namespaces/Utils.js"; describe("unittests:: skipJSDocParsing", () => { const Diff = require("diff"); diff --git a/src/testRunner/unittests/sys/symlinkWatching.ts b/src/testRunner/unittests/sys/symlinkWatching.ts index f0deb2c0c9431..142c02fb215cc 100644 --- a/src/testRunner/unittests/sys/symlinkWatching.ts +++ b/src/testRunner/unittests/sys/symlinkWatching.ts @@ -1,17 +1,17 @@ import * as fs from "fs"; -import { IO } from "../../_namespaces/Harness"; -import * as ts from "../../_namespaces/ts"; +import { IO } from "../../_namespaces/Harness.js"; +import * as ts from "../../_namespaces/ts.js"; import { defer, Deferred, -} from "../../_namespaces/Utils"; +} from "../../_namespaces/Utils.js"; import { createWatchedSystem, FileOrFolderOrSymLinkMap, osFlavorToString, TestServerHostOsFlavor, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: sys:: symlinkWatching::", () => { function delayedOp(op: () => void, delay: number) { ts.sys.setTimeout!(op, delay); diff --git a/src/testRunner/unittests/transform.ts b/src/testRunner/unittests/transform.ts index 85b10333a0fbc..4c4f84790ea63 100644 --- a/src/testRunner/unittests/transform.ts +++ b/src/testRunner/unittests/transform.ts @@ -1,14 +1,14 @@ -import * as documents from "../_namespaces/documents"; -import * as evaluator from "../_namespaces/evaluator"; -import * as fakes from "../_namespaces/fakes"; -import * as Harness from "../_namespaces/Harness"; -import * as ts from "../_namespaces/ts"; +import * as documents from "../_namespaces/documents.js"; +import * as evaluator from "../_namespaces/evaluator.js"; +import * as fakes from "../_namespaces/fakes.js"; +import * as Harness from "../_namespaces/Harness.js"; +import * as ts from "../_namespaces/ts.js"; import { NewLineKind, ScriptTarget, transpileModule, -} from "../_namespaces/ts"; -import * as vfs from "../_namespaces/vfs"; +} from "../_namespaces/ts.js"; +import * as vfs from "../_namespaces/vfs.js"; describe("unittests:: TransformAPI", () => { function replaceUndefinedWithVoid0(context: ts.TransformationContext) { diff --git a/src/testRunner/unittests/tsbuild/amdModulesWithOut.ts b/src/testRunner/unittests/tsbuild/amdModulesWithOut.ts index d4375b95ed0b1..e221ca1130b68 100644 --- a/src/testRunner/unittests/tsbuild/amdModulesWithOut.ts +++ b/src/testRunner/unittests/tsbuild/amdModulesWithOut.ts @@ -1,12 +1,12 @@ -import { dedent } from "../../_namespaces/Utils"; -import * as vfs from "../../_namespaces/vfs"; -import { jsonToReadableText } from "../helpers"; -import { verifyTsc } from "../helpers/tsc"; +import { dedent } from "../../_namespaces/Utils.js"; +import * as vfs from "../../_namespaces/vfs.js"; +import { jsonToReadableText } from "../helpers.js"; +import { verifyTsc } from "../helpers/tsc.js"; import { appendText, loadProjectFromFiles, replaceText, -} from "../helpers/vfs"; +} from "../helpers/vfs.js"; describe("unittests:: tsbuild:: outFile:: on amd modules with --out", () => { function outFileFs(prepend?: boolean) { diff --git a/src/testRunner/unittests/tsbuild/clean.ts b/src/testRunner/unittests/tsbuild/clean.ts index da33f6c8a7255..341d08a12b20c 100644 --- a/src/testRunner/unittests/tsbuild/clean.ts +++ b/src/testRunner/unittests/tsbuild/clean.ts @@ -1,10 +1,10 @@ -import { noop } from "../../_namespaces/ts"; -import { jsonToReadableText } from "../helpers"; +import { noop } from "../../_namespaces/ts.js"; +import { jsonToReadableText } from "../helpers.js"; import { noChangeRun, verifyTsc, -} from "../helpers/tsc"; -import { loadProjectFromFiles } from "../helpers/vfs"; +} from "../helpers/tsc.js"; +import { loadProjectFromFiles } from "../helpers/vfs.js"; describe("unittests:: tsbuild - clean::", () => { verifyTsc({ diff --git a/src/testRunner/unittests/tsbuild/commandLine.ts b/src/testRunner/unittests/tsbuild/commandLine.ts index 1aa8cdb8daf0b..f0196213262fa 100644 --- a/src/testRunner/unittests/tsbuild/commandLine.ts +++ b/src/testRunner/unittests/tsbuild/commandLine.ts @@ -1,16 +1,16 @@ -import * as ts from "../../_namespaces/ts"; -import { jsonToReadableText } from "../helpers"; -import { compilerOptionsToConfigJson } from "../helpers/contents"; +import * as ts from "../../_namespaces/ts.js"; +import { jsonToReadableText } from "../helpers.js"; +import { compilerOptionsToConfigJson } from "../helpers/contents.js"; import { noChangeRun, TestTscEdit, verifyTsc, -} from "../helpers/tsc"; +} from "../helpers/tsc.js"; import { appendText, loadProjectFromFiles, replaceText, -} from "../helpers/vfs"; +} from "../helpers/vfs.js"; describe("unittests:: tsbuild:: commandLine::", () => { describe("different options::", () => { diff --git a/src/testRunner/unittests/tsbuild/configFileErrors.ts b/src/testRunner/unittests/tsbuild/configFileErrors.ts index 4137e99475750..c33ab9577ede9 100644 --- a/src/testRunner/unittests/tsbuild/configFileErrors.ts +++ b/src/testRunner/unittests/tsbuild/configFileErrors.ts @@ -1,14 +1,14 @@ -import { dedent } from "../../_namespaces/Utils"; -import { jsonToReadableText } from "../helpers"; +import { dedent } from "../../_namespaces/Utils.js"; +import { jsonToReadableText } from "../helpers.js"; import { noChangeRun, verifyTsc, -} from "../helpers/tsc"; +} from "../helpers/tsc.js"; import { appendText, loadProjectFromFiles, replaceText, -} from "../helpers/vfs"; +} from "../helpers/vfs.js"; describe("unittests:: tsbuild:: configFileErrors:: when tsconfig extends the missing file", () => { verifyTsc({ @@ -43,57 +43,61 @@ describe("unittests:: tsbuild:: configFileErrors:: when tsconfig extends the mis }); describe("unittests:: tsbuild:: configFileErrors:: reports syntax errors in config file", () => { - verifyTsc({ - scenario: "configFileErrors", - subScenario: "reports syntax errors in config file", - fs: () => - loadProjectFromFiles({ - "/src/a.ts": "export function foo() { }", - "/src/b.ts": "export function bar() { }", - "/src/tsconfig.json": dedent` + function verify(outFile?: object) { + verifyTsc({ + scenario: "configFileErrors", + subScenario: `reports syntax errors in config file${outFile ? " with outFile" : ""}`, + fs: () => + loadProjectFromFiles({ + "/src/a.ts": "export function foo() { }", + "/src/b.ts": "export function bar() { }", + "/src/tsconfig.json": dedent` { "compilerOptions": { - "composite": true, + "composite": true,${outFile ? jsonToReadableText(outFile).replace(/[{}]/g, "") : ""} }, "files": [ "a.ts" "b.ts" ] }`, - }), - commandLineArgs: ["--b", "/src/tsconfig.json"], - edits: [ - { - edit: fs => - replaceText( - fs, - "/src/tsconfig.json", - ",", - `, + }), + commandLineArgs: ["--b", "/src/tsconfig.json"], + edits: [ + { + edit: fs => + replaceText( + fs, + "/src/tsconfig.json", + ",", + `, "declaration": true,`, - ), - caption: "reports syntax errors after change to config file", - discrepancyExplanation: () => [ - "During incremental build, tsbuildinfo is not emitted, so declaration option is not present", - "Clean build has declaration option in tsbuildinfo", - ], - }, - { - edit: fs => appendText(fs, "/src/a.ts", "export function fooBar() { }"), - caption: "reports syntax errors after change to ts file", - }, - noChangeRun, - { - edit: fs => - fs.writeFileSync( - "/src/tsconfig.json", - jsonToReadableText({ - compilerOptions: { composite: true, declaration: true }, - files: ["a.ts", "b.ts"], - }), - ), - caption: "builds after fixing config file errors", - }, - ], - }); + ), + caption: "reports syntax errors after change to config file", + discrepancyExplanation: !outFile ? () => [ + "During incremental build, tsbuildinfo is not emitted, so declaration option is not present", + "Clean build has declaration option in tsbuildinfo", + ] : undefined, + }, + { + edit: fs => appendText(fs, "/src/a.ts", "export function fooBar() { }"), + caption: "reports syntax errors after change to ts file", + }, + noChangeRun, + { + edit: fs => + fs.writeFileSync( + "/src/tsconfig.json", + jsonToReadableText({ + compilerOptions: { composite: true, declaration: true, ...outFile }, + files: ["a.ts", "b.ts"], + }), + ), + caption: "builds after fixing config file errors", + }, + ], + }); + } + verify(); + verify({ outFile: "../outFile.js", module: "amd" }); }); diff --git a/src/testRunner/unittests/tsbuild/configFileExtends.ts b/src/testRunner/unittests/tsbuild/configFileExtends.ts index 5f396a4296d44..9a9fdbff9ed69 100644 --- a/src/testRunner/unittests/tsbuild/configFileExtends.ts +++ b/src/testRunner/unittests/tsbuild/configFileExtends.ts @@ -1,6 +1,6 @@ -import { jsonToReadableText } from "../helpers"; -import { verifyTsc } from "../helpers/tsc"; -import { loadProjectFromFiles } from "../helpers/vfs"; +import { jsonToReadableText } from "../helpers.js"; +import { verifyTsc } from "../helpers/tsc.js"; +import { loadProjectFromFiles } from "../helpers/vfs.js"; describe("unittests:: tsbuild:: configFileExtends:: when tsconfig extends another config", () => { function getConfigExtendsWithIncludeFs() { diff --git a/src/testRunner/unittests/tsbuild/containerOnlyReferenced.ts b/src/testRunner/unittests/tsbuild/containerOnlyReferenced.ts index 0f9081be8ea36..225c7a20c8e76 100644 --- a/src/testRunner/unittests/tsbuild/containerOnlyReferenced.ts +++ b/src/testRunner/unittests/tsbuild/containerOnlyReferenced.ts @@ -1,12 +1,12 @@ -import { jsonToReadableText } from "../helpers"; +import { jsonToReadableText } from "../helpers.js"; import { noChangeOnlyRuns, verifyTsc, -} from "../helpers/tsc"; +} from "../helpers/tsc.js"; import { loadProjectFromFiles, replaceText, -} from "../helpers/vfs"; +} from "../helpers/vfs.js"; describe("unittests:: tsbuild:: when containerOnly project is referenced", () => { verifyTsc({ diff --git a/src/testRunner/unittests/tsbuild/declarationEmit.ts b/src/testRunner/unittests/tsbuild/declarationEmit.ts index aee908cc055b4..97fd704c9d540 100644 --- a/src/testRunner/unittests/tsbuild/declarationEmit.ts +++ b/src/testRunner/unittests/tsbuild/declarationEmit.ts @@ -1,12 +1,12 @@ -import { dedent } from "../../_namespaces/Utils"; -import { FileSet } from "../../_namespaces/vfs"; -import { jsonToReadableText } from "../helpers"; -import { libContent } from "../helpers/contents"; +import { dedent } from "../../_namespaces/Utils.js"; +import { FileSet } from "../../_namespaces/vfs.js"; +import { jsonToReadableText } from "../helpers.js"; +import { forEachDeclarationEmitWithErrorsScenario } from "../helpers/declarationEmit.js"; import { noChangeOnlyRuns, verifyTsc, -} from "../helpers/tsc"; -import { loadProjectFromFiles } from "../helpers/vfs"; +} from "../helpers/tsc.js"; +import { loadProjectFromFiles } from "../helpers/vfs.js"; describe("unittests:: tsbuild:: declarationEmit", () => { function getFiles(): FileSet { @@ -126,43 +126,16 @@ export function fn4() { commandLineArgs: ["--b", "/src/packages/pkg2/tsconfig.json", "--verbose"], }); - verifyTsc({ - scenario: "declarationEmit", - subScenario: "reports dts generation errors with incremental", - commandLineArgs: ["-b", `/src/project`, "--explainFiles", "--listEmittedFiles", "--v"], - fs: () => - loadProjectFromFiles({ - "/src/project/tsconfig.json": jsonToReadableText({ - compilerOptions: { - module: "NodeNext", - moduleResolution: "NodeNext", - incremental: true, - declaration: true, - skipLibCheck: true, - skipDefaultLibCheck: true, - }, - }), - "/src/project/index.ts": dedent` - import ky from 'ky'; - export const api = ky.extend({}); - `, - "/src/project/package.json": jsonToReadableText({ - type: "module", - }), - "/src/project/node_modules/ky/distribution/index.d.ts": dedent` - type KyInstance = { - extend(options: Record): KyInstance; - } - declare const ky: KyInstance; - export default ky; - `, - "/src/project/node_modules/ky/package.json": jsonToReadableText({ - name: "ky", - type: "module", - main: "./distribution/index.js", - }), - "/lib/lib.esnext.full.d.ts": libContent, - }), - edits: noChangeOnlyRuns, - }); + forEachDeclarationEmitWithErrorsScenario( + (scenario, fs) => { + verifyTsc({ + scenario: "declarationEmit", + subScenario: scenario("reports dts generation errors"), + commandLineArgs: ["-b", `/src/project`, "--explainFiles", "--listEmittedFiles", "--v"], + fs, + edits: noChangeOnlyRuns, + }); + }, + /*withComposite*/ false, + ); }); diff --git a/src/testRunner/unittests/tsbuild/demo.ts b/src/testRunner/unittests/tsbuild/demo.ts index b486d2ecefe9d..7e828d2b89b8c 100644 --- a/src/testRunner/unittests/tsbuild/demo.ts +++ b/src/testRunner/unittests/tsbuild/demo.ts @@ -1,10 +1,10 @@ -import * as vfs from "../../_namespaces/vfs"; +import * as vfs from "../../_namespaces/vfs.js"; import { getFsContentsForDemoProjectReferencesCoreConfig, getFsForDemoProjectReferences, -} from "../helpers/demoProjectReferences"; -import { verifyTsc } from "../helpers/tsc"; -import { prependText } from "../helpers/vfs"; +} from "../helpers/demoProjectReferences.js"; +import { verifyTsc } from "../helpers/tsc.js"; +import { prependText } from "../helpers/vfs.js"; describe("unittests:: tsbuild:: on demo project", () => { let projFs: vfs.FileSystem; diff --git a/src/testRunner/unittests/tsbuild/emitDeclarationOnly.ts b/src/testRunner/unittests/tsbuild/emitDeclarationOnly.ts index b1c2c0a425d65..57e4e789c4596 100644 --- a/src/testRunner/unittests/tsbuild/emitDeclarationOnly.ts +++ b/src/testRunner/unittests/tsbuild/emitDeclarationOnly.ts @@ -1,11 +1,11 @@ -import { dedent } from "../../_namespaces/Utils"; -import * as vfs from "../../_namespaces/vfs"; -import { jsonToReadableText } from "../helpers"; -import { verifyTsc } from "../helpers/tsc"; +import { dedent } from "../../_namespaces/Utils.js"; +import * as vfs from "../../_namespaces/vfs.js"; +import { jsonToReadableText } from "../helpers.js"; +import { verifyTsc } from "../helpers/tsc.js"; import { loadProjectFromFiles, replaceText, -} from "../helpers/vfs"; +} from "../helpers/vfs.js"; describe("unittests:: tsbuild:: on project with emitDeclarationOnly set to true", () => { let projFs: vfs.FileSystem; diff --git a/src/testRunner/unittests/tsbuild/emptyFiles.ts b/src/testRunner/unittests/tsbuild/emptyFiles.ts index 77cbc6c2da39d..e1f324a941951 100644 --- a/src/testRunner/unittests/tsbuild/emptyFiles.ts +++ b/src/testRunner/unittests/tsbuild/emptyFiles.ts @@ -1,6 +1,6 @@ -import { jsonToReadableText } from "../helpers"; -import { verifyTsc } from "../helpers/tsc"; -import { loadProjectFromFiles } from "../helpers/vfs"; +import { jsonToReadableText } from "../helpers.js"; +import { verifyTsc } from "../helpers/tsc.js"; +import { loadProjectFromFiles } from "../helpers/vfs.js"; describe("unittests:: tsbuild - empty files option in tsconfig", () => { verifyTsc({ diff --git a/src/testRunner/unittests/tsbuild/exitCodeOnBogusFile.ts b/src/testRunner/unittests/tsbuild/exitCodeOnBogusFile.ts index 933aa4a67f2cc..105821400a5f4 100644 --- a/src/testRunner/unittests/tsbuild/exitCodeOnBogusFile.ts +++ b/src/testRunner/unittests/tsbuild/exitCodeOnBogusFile.ts @@ -1,5 +1,5 @@ -import { verifyTsc } from "../helpers/tsc"; -import { loadProjectFromFiles } from "../helpers/vfs"; +import { verifyTsc } from "../helpers/tsc.js"; +import { loadProjectFromFiles } from "../helpers/vfs.js"; // https://github.com/microsoft/TypeScript/issues/33849 describe("unittests:: tsbuild:: exitCodeOnBogusFile:: test exit code", () => { diff --git a/src/testRunner/unittests/tsbuild/extends.ts b/src/testRunner/unittests/tsbuild/extends.ts index 5a2341306ce4a..05267388b0068 100644 --- a/src/testRunner/unittests/tsbuild/extends.ts +++ b/src/testRunner/unittests/tsbuild/extends.ts @@ -1,10 +1,10 @@ import { getConfigDirExtendsSys, getSymlinkedExtendsSys, -} from "../helpers/extends"; -import { verifyTsc } from "../helpers/tsc"; -import { verifyTscWatch } from "../helpers/tscWatch"; -import { loadProjectFromFiles } from "../helpers/vfs"; +} from "../helpers/extends.js"; +import { verifyTsc } from "../helpers/tsc.js"; +import { verifyTscWatch } from "../helpers/tscWatch.js"; +import { loadProjectFromFiles } from "../helpers/vfs.js"; describe("unittests:: tsbuild:: extends::", () => { verifyTscWatch({ diff --git a/src/testRunner/unittests/tsbuild/fileDelete.ts b/src/testRunner/unittests/tsbuild/fileDelete.ts index f360c5880485d..26b9893303bdd 100644 --- a/src/testRunner/unittests/tsbuild/fileDelete.ts +++ b/src/testRunner/unittests/tsbuild/fileDelete.ts @@ -1,9 +1,9 @@ -import * as ts from "../../_namespaces/ts"; -import { dedent } from "../../_namespaces/Utils"; -import { jsonToReadableText } from "../helpers"; -import { compilerOptionsToConfigJson } from "../helpers/contents"; -import { verifyTsc } from "../helpers/tsc"; -import { loadProjectFromFiles } from "../helpers/vfs"; +import * as ts from "../../_namespaces/ts.js"; +import { dedent } from "../../_namespaces/Utils.js"; +import { jsonToReadableText } from "../helpers.js"; +import { compilerOptionsToConfigJson } from "../helpers/contents.js"; +import { verifyTsc } from "../helpers/tsc.js"; +import { loadProjectFromFiles } from "../helpers/vfs.js"; describe("unittests:: tsbuild:: fileDelete::", () => { function fs(childOptions: ts.CompilerOptions, mainOptions?: ts.CompilerOptions) { diff --git a/src/testRunner/unittests/tsbuild/graphOrdering.ts b/src/testRunner/unittests/tsbuild/graphOrdering.ts index 75780224aa7e0..09128e50dc147 100644 --- a/src/testRunner/unittests/tsbuild/graphOrdering.ts +++ b/src/testRunner/unittests/tsbuild/graphOrdering.ts @@ -1,7 +1,7 @@ -import * as fakes from "../../_namespaces/fakes"; -import * as ts from "../../_namespaces/ts"; -import * as vfs from "../../_namespaces/vfs"; -import { jsonToReadableText } from "../helpers"; +import * as fakes from "../../_namespaces/fakes.js"; +import * as ts from "../../_namespaces/ts.js"; +import * as vfs from "../../_namespaces/vfs.js"; +import { jsonToReadableText } from "../helpers.js"; describe("unittests:: tsbuild - graph-ordering", () => { let host: fakes.SolutionBuilderHost | undefined; diff --git a/src/testRunner/unittests/tsbuild/inferredTypeFromTransitiveModule.ts b/src/testRunner/unittests/tsbuild/inferredTypeFromTransitiveModule.ts index 78f292a10eb43..a321ad77ca822 100644 --- a/src/testRunner/unittests/tsbuild/inferredTypeFromTransitiveModule.ts +++ b/src/testRunner/unittests/tsbuild/inferredTypeFromTransitiveModule.ts @@ -1,12 +1,12 @@ -import { dedent } from "../../_namespaces/Utils"; -import * as vfs from "../../_namespaces/vfs"; -import { jsonToReadableText } from "../helpers"; -import { verifyTsc } from "../helpers/tsc"; +import { dedent } from "../../_namespaces/Utils.js"; +import * as vfs from "../../_namespaces/vfs.js"; +import { jsonToReadableText } from "../helpers.js"; +import { verifyTsc } from "../helpers/tsc.js"; import { appendText, loadProjectFromFiles, replaceText, -} from "../helpers/vfs"; +} from "../helpers/vfs.js"; describe("unittests:: tsbuild:: inferredTypeFromTransitiveModule::", () => { let projFs: vfs.FileSystem; diff --git a/src/testRunner/unittests/tsbuild/javascriptProjectEmit.ts b/src/testRunner/unittests/tsbuild/javascriptProjectEmit.ts index 64a7c32d9179b..3cc15150bf951 100644 --- a/src/testRunner/unittests/tsbuild/javascriptProjectEmit.ts +++ b/src/testRunner/unittests/tsbuild/javascriptProjectEmit.ts @@ -1,7 +1,7 @@ -import * as Utils from "../../_namespaces/Utils"; -import { symbolLibContent } from "../helpers/contents"; -import { verifyTsc } from "../helpers/tsc"; -import { loadProjectFromFiles } from "../helpers/vfs"; +import * as Utils from "../../_namespaces/Utils.js"; +import { symbolLibContent } from "../helpers/contents.js"; +import { verifyTsc } from "../helpers/tsc.js"; +import { loadProjectFromFiles } from "../helpers/vfs.js"; describe("unittests:: tsbuild:: javascriptProjectEmit::", () => { verifyTsc({ diff --git a/src/testRunner/unittests/tsbuild/lateBoundSymbol.ts b/src/testRunner/unittests/tsbuild/lateBoundSymbol.ts index 61cb5d4aed5db..4c23ab332449d 100644 --- a/src/testRunner/unittests/tsbuild/lateBoundSymbol.ts +++ b/src/testRunner/unittests/tsbuild/lateBoundSymbol.ts @@ -1,11 +1,11 @@ -import { dedent } from "../../_namespaces/Utils"; -import { jsonToReadableText } from "../helpers"; -import { verifyTsc } from "../helpers/tsc"; +import { dedent } from "../../_namespaces/Utils.js"; +import { jsonToReadableText } from "../helpers.js"; +import { verifyTsc } from "../helpers/tsc.js"; import { appendText, loadProjectFromFiles, replaceText, -} from "../helpers/vfs"; +} from "../helpers/vfs.js"; describe("unittests:: tsbuild:: lateBoundSymbol:: interface is merged and contains late bound member", () => { verifyTsc({ diff --git a/src/testRunner/unittests/tsbuild/libraryResolution.ts b/src/testRunner/unittests/tsbuild/libraryResolution.ts index ed854616c3ac2..eb747120ffd89 100644 --- a/src/testRunner/unittests/tsbuild/libraryResolution.ts +++ b/src/testRunner/unittests/tsbuild/libraryResolution.ts @@ -1,5 +1,5 @@ -import { getFsForLibResolution } from "../helpers/libraryResolution"; -import { verifyTsc } from "../helpers/tsc"; +import { getFsForLibResolution } from "../helpers/libraryResolution.js"; +import { verifyTsc } from "../helpers/tsc.js"; describe("unittests:: tsbuild:: libraryResolution:: library file resolution", () => { function verify(libRedirection?: true) { diff --git a/src/testRunner/unittests/tsbuild/moduleResolution.ts b/src/testRunner/unittests/tsbuild/moduleResolution.ts index 95b597afac5e7..9ffac36f535c6 100644 --- a/src/testRunner/unittests/tsbuild/moduleResolution.ts +++ b/src/testRunner/unittests/tsbuild/moduleResolution.ts @@ -1,17 +1,17 @@ -import * as ts from "../../_namespaces/ts"; -import * as Utils from "../../_namespaces/Utils"; -import { Symlink } from "../../_namespaces/vfs"; -import { jsonToReadableText } from "../helpers"; +import * as ts from "../../_namespaces/ts.js"; +import * as Utils from "../../_namespaces/Utils.js"; +import { Symlink } from "../../_namespaces/vfs.js"; +import { jsonToReadableText } from "../helpers.js"; import { noChangeOnlyRuns, verifyTsc, -} from "../helpers/tsc"; -import { verifyTscWatch } from "../helpers/tscWatch"; -import { loadProjectFromFiles } from "../helpers/vfs"; +} from "../helpers/tsc.js"; +import { verifyTscWatch } from "../helpers/tscWatch.js"; +import { loadProjectFromFiles } from "../helpers/vfs.js"; import { createWatchedSystem, libFile, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsbuild:: moduleResolution:: handles the modules and options from referenced project correctly", () => { function sys(optionsToExtend?: ts.CompilerOptions) { diff --git a/src/testRunner/unittests/tsbuild/moduleSpecifiers.ts b/src/testRunner/unittests/tsbuild/moduleSpecifiers.ts index b22d9a611996a..58493d3b9c2f0 100644 --- a/src/testRunner/unittests/tsbuild/moduleSpecifiers.ts +++ b/src/testRunner/unittests/tsbuild/moduleSpecifiers.ts @@ -1,8 +1,8 @@ -import * as Utils from "../../_namespaces/Utils"; -import { symbolLibContent } from "../helpers/contents"; -import { verifyTsc } from "../helpers/tsc"; -import { loadProjectFromFiles } from "../helpers/vfs"; -import { libFile } from "../helpers/virtualFileSystemWithWatch"; +import * as Utils from "../../_namespaces/Utils.js"; +import { symbolLibContent } from "../helpers/contents.js"; +import { verifyTsc } from "../helpers/tsc.js"; +import { loadProjectFromFiles } from "../helpers/vfs.js"; +import { libFile } from "../helpers/virtualFileSystemWithWatch.js"; // https://github.com/microsoft/TypeScript/issues/31696 describe("unittests:: tsbuild:: moduleSpecifiers:: synthesized module specifiers to referenced projects resolve correctly", () => { diff --git a/src/testRunner/unittests/tsbuild/noCheck.ts b/src/testRunner/unittests/tsbuild/noCheck.ts index 376289aeb7949..9cfef3a03ae23 100644 --- a/src/testRunner/unittests/tsbuild/noCheck.ts +++ b/src/testRunner/unittests/tsbuild/noCheck.ts @@ -1,13 +1,13 @@ import { CommandLineOption, optionDeclarations, -} from "../../_namespaces/ts"; -import { jsonToReadableText } from "../helpers"; +} from "../../_namespaces/ts.js"; +import { jsonToReadableText } from "../helpers.js"; import { noChangeRun, verifyTsc, -} from "../helpers/tsc"; -import { loadProjectFromFiles } from "../helpers/vfs"; +} from "../helpers/tsc.js"; +import { loadProjectFromFiles } from "../helpers/vfs.js"; function verifyNoCheckFlag(variant: string) { function verifyNoCheckWorker(subScenario: string, declAText: string, commandLineArgs: readonly string[]) { diff --git a/src/testRunner/unittests/tsbuild/noEmit.ts b/src/testRunner/unittests/tsbuild/noEmit.ts index 97747b8bb3b72..dd225b15953f7 100644 --- a/src/testRunner/unittests/tsbuild/noEmit.ts +++ b/src/testRunner/unittests/tsbuild/noEmit.ts @@ -1,12 +1,12 @@ -import { jsonToReadableText } from "../helpers"; +import { jsonToReadableText } from "../helpers.js"; import { noChangeRun, verifyTsc, -} from "../helpers/tsc"; -import { loadProjectFromFiles } from "../helpers/vfs"; +} from "../helpers/tsc.js"; +import { loadProjectFromFiles } from "../helpers/vfs.js"; describe("unittests:: tsbuild:: noEmit", () => { - function verifyNoEmitWorker(subScenario: string, aTsContent: string, commandLineArgs: readonly string[]) { + function verifyNoEmitWorker(subScenario: string, aTsContent: string, commandLineArgs: readonly string[], options?: object) { verifyTsc({ scenario: "noEmit", subScenario, @@ -14,7 +14,7 @@ describe("unittests:: tsbuild:: noEmit", () => { loadProjectFromFiles({ "/src/a.ts": aTsContent, "/src/tsconfig.json": jsonToReadableText({ - compilerOptions: { noEmit: true }, + compilerOptions: { ...options, noEmit: true }, }), }), commandLineArgs, @@ -33,6 +33,8 @@ describe("unittests:: tsbuild:: noEmit", () => { function verifyNoEmit(subScenario: string, aTsContent: string) { verifyNoEmitWorker(subScenario, aTsContent, ["--b", "/src/tsconfig.json", "-v"]); verifyNoEmitWorker(`${subScenario} with incremental`, aTsContent, ["--b", "/src/tsconfig.json", "-v", "--incremental"]); + verifyNoEmitWorker(`${subScenario} with outFile`, aTsContent, ["--b", "/src/tsconfig.json", "-v"], { outFile: "../outFile.js" }); + verifyNoEmitWorker(`${subScenario} with outFile with incremental`, aTsContent, ["--b", "/src/tsconfig.json", "-v", "--incremental"], { outFile: "../outFile.js" }); } verifyNoEmit("syntax errors", `const a = "hello`); diff --git a/src/testRunner/unittests/tsbuild/noEmitOnError.ts b/src/testRunner/unittests/tsbuild/noEmitOnError.ts index d52036dd6ad51..d594684a38143 100644 --- a/src/testRunner/unittests/tsbuild/noEmitOnError.ts +++ b/src/testRunner/unittests/tsbuild/noEmitOnError.ts @@ -1,122 +1,68 @@ -import * as vfs from "../../_namespaces/vfs"; -import { getFsForNoEmitOnError } from "../helpers/noEmitOnError"; +import { forEachNoEmitOnErrorScenario } from "../helpers/noEmitOnError.js"; import { noChangeRun, verifyTsc, -} from "../helpers/tsc"; +} from "../helpers/tsc.js"; +import { loadProjectFromFiles } from "../helpers/vfs.js"; -describe("unittests:: tsbuild - with noEmitOnError", () => { - let projFs: vfs.FileSystem; - before(() => { - projFs = getFsForNoEmitOnError(); - }); - after(() => { - projFs = undefined!; - }); - - verifyTsc({ - scenario: "noEmitOnError", - subScenario: "syntax errors", - fs: () => projFs, - commandLineArgs: ["--b"], - edits: [ - noChangeRun, - { - caption: "Fix error", - edit: fs => - fs.writeFileSync( - "src/main.ts", - `import { A } from "../shared/types/db"; -const a = { - lastName: 'sdsd' -};`, - "utf-8", - ), - }, - noChangeRun, - ], - baselinePrograms: true, - }); - - verifyTsc({ - scenario: "noEmitOnError", - subScenario: "syntax errors with incremental", - fs: () => projFs, - commandLineArgs: ["--b", "--incremental"], - edits: [ - noChangeRun, - { - caption: "Fix error", - edit: fs => - fs.writeFileSync( - "src/main.ts", - `import { A } from "../shared/types/db"; +describe("unittests:: tsbuild - with noEmitOnError::", () => { + forEachNoEmitOnErrorScenario( + (fsContents, cwd, executingFilePath) => loadProjectFromFiles(fsContents, { cwd, executingFilePath }), + (scenarioName, fs) => { + describe(scenarioName("verify noEmitOnError"), () => { + verifyTsc({ + scenario: "noEmitOnError", + subScenario: scenarioName("syntax errors"), + fs, + commandLineArgs: ["--b", "--verbose"], + edits: [ + noChangeRun, + { + caption: "Fix error", + edit: fs => + fs.writeFileSync( + "src/main.ts", + `import { A } from "../shared/types/db"; const a = { lastName: 'sdsd' };`, - "utf-8", - ), - }, - noChangeRun, - ], - baselinePrograms: true, - }); - - verifyTsc({ - scenario: "noEmitOnError", - subScenario: "semantic errors", - fs: () => projFs, - modifyFs: fs => - fs.writeFileSync( - "src/main.ts", - `import { A } from "../shared/types/db"; -const a: string = 10;`, - "utf-8", - ), - commandLineArgs: ["--b"], - edits: [ - noChangeRun, - { - caption: "Fix error", - edit: fs => - fs.writeFileSync( - "src/main.ts", - `import { A } from "../shared/types/db"; -const a: string = "hello";`, - "utf-8", - ), - }, - noChangeRun, - ], - baselinePrograms: true, - }); + "utf-8", + ), + }, + noChangeRun, + ], + baselinePrograms: true, + }); - verifyTsc({ - scenario: "noEmitOnError", - subScenario: "semantic errors with incremental", - fs: () => projFs, - modifyFs: fs => - fs.writeFileSync( - "src/main.ts", - `import { A } from "../shared/types/db"; + verifyTsc({ + scenario: "noEmitOnError", + subScenario: scenarioName("semantic errors"), + fs, + modifyFs: fs => + fs.writeFileSync( + "src/main.ts", + `import { A } from "../shared/types/db"; const a: string = 10;`, - "utf-8", - ), - commandLineArgs: ["--b", "--incremental"], - edits: [ - noChangeRun, - { - caption: "Fix error", - edit: fs => - fs.writeFileSync( - "src/main.ts", - `import { A } from "../shared/types/db"; + "utf-8", + ), + commandLineArgs: ["--b", "--verbose"], + edits: [ + noChangeRun, + { + caption: "Fix error", + edit: fs => + fs.writeFileSync( + "src/main.ts", + `import { A } from "../shared/types/db"; const a: string = "hello";`, - "utf-8", - ), - }, - noChangeRun, - ], - baselinePrograms: true, - }); + "utf-8", + ), + }, + noChangeRun, + ], + baselinePrograms: true, + }); + }); + }, + ); }); diff --git a/src/testRunner/unittests/tsbuild/outFile.ts b/src/testRunner/unittests/tsbuild/outFile.ts index 1a6b801db5c39..016788a486db9 100644 --- a/src/testRunner/unittests/tsbuild/outFile.ts +++ b/src/testRunner/unittests/tsbuild/outFile.ts @@ -1,21 +1,21 @@ -import * as fakes from "../../_namespaces/fakes"; -import * as ts from "../../_namespaces/ts"; -import { dedent } from "../../_namespaces/Utils"; -import * as vfs from "../../_namespaces/vfs"; -import { jsonToReadableText } from "../helpers"; -import { createSolutionBuilderHostForBaseline } from "../helpers/solutionBuilder"; +import * as fakes from "../../_namespaces/fakes.js"; +import * as ts from "../../_namespaces/ts.js"; +import { dedent } from "../../_namespaces/Utils.js"; +import * as vfs from "../../_namespaces/vfs.js"; +import { jsonToReadableText } from "../helpers.js"; +import { createSolutionBuilderHostForBaseline } from "../helpers/solutionBuilder.js"; import { noChangeOnlyRuns, testTscCompileLike, TscCompileSystem, verifyTsc, verifyTscCompileLike, -} from "../helpers/tsc"; +} from "../helpers/tsc.js"; import { appendText, loadProjectFromFiles, replaceText, -} from "../helpers/vfs"; +} from "../helpers/vfs.js"; describe("unittests:: tsbuild:: outFile::", () => { let outFileFs: vfs.FileSystem; diff --git a/src/testRunner/unittests/tsbuild/outputPaths.ts b/src/testRunner/unittests/tsbuild/outputPaths.ts index 0e856df73a0c6..4235de081d661 100644 --- a/src/testRunner/unittests/tsbuild/outputPaths.ts +++ b/src/testRunner/unittests/tsbuild/outputPaths.ts @@ -1,14 +1,14 @@ -import * as fakes from "../../_namespaces/fakes"; -import * as ts from "../../_namespaces/ts"; -import { jsonToReadableText } from "../helpers"; +import * as fakes from "../../_namespaces/fakes.js"; +import * as ts from "../../_namespaces/ts.js"; +import { jsonToReadableText } from "../helpers.js"; import { noChangeRun, TestTscEdit, TscCompileSystem, verifyTsc, VerifyTscWithEditsInput, -} from "../helpers/tsc"; -import { loadProjectFromFiles } from "../helpers/vfs"; +} from "../helpers/tsc.js"; +import { loadProjectFromFiles } from "../helpers/vfs.js"; describe("unittests:: tsbuild - output file paths", () => { const noChangeProject: TestTscEdit = { diff --git a/src/testRunner/unittests/tsbuild/publicApi.ts b/src/testRunner/unittests/tsbuild/publicApi.ts index b75f378649e79..123e193665061 100644 --- a/src/testRunner/unittests/tsbuild/publicApi.ts +++ b/src/testRunner/unittests/tsbuild/publicApi.ts @@ -1,17 +1,17 @@ -import * as fakes from "../../_namespaces/fakes"; -import * as ts from "../../_namespaces/ts"; -import * as vfs from "../../_namespaces/vfs"; -import { jsonToReadableText } from "../helpers"; +import * as fakes from "../../_namespaces/fakes.js"; +import * as ts from "../../_namespaces/ts.js"; +import * as vfs from "../../_namespaces/vfs.js"; +import { jsonToReadableText } from "../helpers.js"; import { baselinePrograms, commandLineCallbacks, toPathWithSystem, -} from "../helpers/baseline"; +} from "../helpers/baseline.js"; import { TscCompileSystem, verifyTscBaseline, -} from "../helpers/tsc"; -import { loadProjectFromFiles } from "../helpers/vfs"; +} from "../helpers/tsc.js"; +import { loadProjectFromFiles } from "../helpers/vfs.js"; describe("unittests:: tsbuild:: Public API with custom transformers when passed to build", () => { let sys: TscCompileSystem; diff --git a/src/testRunner/unittests/tsbuild/referencesWithRootDirInParent.ts b/src/testRunner/unittests/tsbuild/referencesWithRootDirInParent.ts index 500ea68bf7af3..5cb80fcc896bb 100644 --- a/src/testRunner/unittests/tsbuild/referencesWithRootDirInParent.ts +++ b/src/testRunner/unittests/tsbuild/referencesWithRootDirInParent.ts @@ -1,11 +1,14 @@ -import { dedent } from "../../_namespaces/Utils"; -import * as vfs from "../../_namespaces/vfs"; -import { jsonToReadableText } from "../helpers"; -import { verifyTsc } from "../helpers/tsc"; +import { dedent } from "../../_namespaces/Utils.js"; +import * as vfs from "../../_namespaces/vfs.js"; +import { jsonToReadableText } from "../helpers.js"; +import { + noChangeOnlyRuns, + verifyTsc, +} from "../helpers/tsc.js"; import { loadProjectFromFiles, replaceText, -} from "../helpers/vfs"; +} from "../helpers/vfs.js"; describe("unittests:: tsbuild:: with rootDir of project reference in parentDirectory", () => { let projFs: vfs.FileSystem; @@ -84,6 +87,7 @@ describe("unittests:: tsbuild:: with rootDir of project reference in parentDirec }), ); }, + edits: noChangeOnlyRuns, }); verifyTsc({ @@ -108,5 +112,6 @@ describe("unittests:: tsbuild:: with rootDir of project reference in parentDirec }), ); }, + edits: noChangeOnlyRuns, }); }); diff --git a/src/testRunner/unittests/tsbuild/resolveJsonModule.ts b/src/testRunner/unittests/tsbuild/resolveJsonModule.ts index 6cc71087a210a..b12f0f1b4c947 100644 --- a/src/testRunner/unittests/tsbuild/resolveJsonModule.ts +++ b/src/testRunner/unittests/tsbuild/resolveJsonModule.ts @@ -1,15 +1,15 @@ -import { CompilerOptions } from "../../_namespaces/ts"; -import { dedent } from "../../_namespaces/Utils"; -import { jsonToReadableText } from "../helpers"; +import { CompilerOptions } from "../../_namespaces/ts.js"; +import { dedent } from "../../_namespaces/Utils.js"; +import { jsonToReadableText } from "../helpers.js"; import { noChangeOnlyRuns, verifyTsc, VerifyTscWithEditsInput, -} from "../helpers/tsc"; +} from "../helpers/tsc.js"; import { loadProjectFromFiles, replaceText, -} from "../helpers/vfs"; +} from "../helpers/vfs.js"; describe("unittests:: tsbuild:: with resolveJsonModule option on project resolveJsonModuleAndComposite", () => { function getProjFs(tsconfigFiles: object, additionalCompilerOptions?: CompilerOptions) { diff --git a/src/testRunner/unittests/tsbuild/roots.ts b/src/testRunner/unittests/tsbuild/roots.ts index ba6255a2012fb..52357c8dceed5 100644 --- a/src/testRunner/unittests/tsbuild/roots.ts +++ b/src/testRunner/unittests/tsbuild/roots.ts @@ -1,7 +1,14 @@ -import { dedent } from "../../_namespaces/Utils"; -import { jsonToReadableText } from "../helpers"; -import { verifyTsc } from "../helpers/tsc"; -import { loadProjectFromFiles } from "../helpers/vfs"; +import { dedent } from "../../_namespaces/Utils.js"; +import { jsonToReadableText } from "../helpers.js"; +import { forEachScenarioForRootsFromReferencedProject } from "../helpers/projectRoots.js"; +import { + noChangeRun, + verifyTsc, +} from "../helpers/tsc.js"; +import { + appendText, + loadProjectFromFiles, +} from "../helpers/vfs.js"; describe("unittests:: tsbuild:: roots::", () => { verifyTsc({ @@ -118,4 +125,28 @@ describe("unittests:: tsbuild:: roots::", () => { }, }], }); + + describe("when root file is from referenced project", () => { + forEachScenarioForRootsFromReferencedProject((subScenario, getFsContents) => { + verifyTsc({ + scenario: "roots", + subScenario, + commandLineArgs: ["--b", "projects/server", "-v", "--traceResolution", "--explainFiles"], + fs: () => loadProjectFromFiles(getFsContents(), { cwd: "/home/src/workspaces" }), + edits: [ + noChangeRun, + { + caption: "edit logging file", + edit: fs => appendText(fs, "/home/src/workspaces/projects/shared/src/logging.ts", "export const x = 10;"), + }, + noChangeRun, + { + caption: "delete random file", + edit: fs => fs.unlinkSync("/home/src/workspaces/projects/shared/src/random.ts"), + }, + noChangeRun, + ], + }); + }); + }); }); diff --git a/src/testRunner/unittests/tsbuild/sample.ts b/src/testRunner/unittests/tsbuild/sample.ts index 396ed09741a66..7740022960b1b 100644 --- a/src/testRunner/unittests/tsbuild/sample.ts +++ b/src/testRunner/unittests/tsbuild/sample.ts @@ -1,17 +1,17 @@ -import * as fakes from "../../_namespaces/fakes"; -import * as Harness from "../../_namespaces/Harness"; -import * as ts from "../../_namespaces/ts"; -import * as vfs from "../../_namespaces/vfs"; -import { jsonToReadableText } from "../helpers"; +import * as fakes from "../../_namespaces/fakes.js"; +import * as Harness from "../../_namespaces/Harness.js"; +import * as ts from "../../_namespaces/ts.js"; +import * as vfs from "../../_namespaces/vfs.js"; +import { jsonToReadableText } from "../helpers.js"; import { libContent, libPath, -} from "../helpers/contents"; +} from "../helpers/contents.js"; import { getFsForSampleProjectReferences, getSysForSampleProjectReferences, -} from "../helpers/sampleProjectReferences"; -import { createSolutionBuilderHostForBaseline } from "../helpers/solutionBuilder"; +} from "../helpers/sampleProjectReferences.js"; +import { createSolutionBuilderHostForBaseline } from "../helpers/solutionBuilder.js"; import { noChangeOnlyRuns, noChangeRun, @@ -20,18 +20,18 @@ import { TscCompileSystem, verifyTsc, verifyTscCompileLike, -} from "../helpers/tsc"; +} from "../helpers/tsc.js"; import { appendText, loadProjectFromFiles, prependText, replaceText, -} from "../helpers/vfs"; +} from "../helpers/vfs.js"; import { changeToHostTrackingWrittenFiles, libFile, SerializeOutputOrder, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsbuild:: on 'sample1' project", () => { let projFs: vfs.FileSystem; diff --git a/src/testRunner/unittests/tsbuild/transitiveReferences.ts b/src/testRunner/unittests/tsbuild/transitiveReferences.ts index 0b062d537336c..20b310f95ca18 100644 --- a/src/testRunner/unittests/tsbuild/transitiveReferences.ts +++ b/src/testRunner/unittests/tsbuild/transitiveReferences.ts @@ -1,9 +1,9 @@ -import * as vfs from "../../_namespaces/vfs"; -import { jsonToReadableText } from "../helpers"; -import { getFsContentsForTransitiveReferences } from "../helpers/transitiveReferences"; -import { verifyTsc } from "../helpers/tsc"; -import { loadProjectFromFiles } from "../helpers/vfs"; -import { libFile } from "../helpers/virtualFileSystemWithWatch"; +import * as vfs from "../../_namespaces/vfs.js"; +import { jsonToReadableText } from "../helpers.js"; +import { getFsContentsForTransitiveReferences } from "../helpers/transitiveReferences.js"; +import { verifyTsc } from "../helpers/tsc.js"; +import { loadProjectFromFiles } from "../helpers/vfs.js"; +import { libFile } from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsbuild:: when project reference is referenced transitively", () => { let projFs: vfs.FileSystem; diff --git a/src/testRunner/unittests/tsbuildWatch/configFileErrors.ts b/src/testRunner/unittests/tsbuildWatch/configFileErrors.ts index ebbc53b8a14bb..e42977767ac80 100644 --- a/src/testRunner/unittests/tsbuildWatch/configFileErrors.ts +++ b/src/testRunner/unittests/tsbuildWatch/configFileErrors.ts @@ -1,72 +1,76 @@ -import { dedent } from "../../_namespaces/Utils"; -import { jsonToReadableText } from "../helpers"; -import { verifyTscWatch } from "../helpers/tscWatch"; +import { dedent } from "../../_namespaces/Utils.js"; +import { jsonToReadableText } from "../helpers.js"; +import { verifyTscWatch } from "../helpers/tscWatch.js"; import { createWatchedSystem, libFile, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsbuildWatch:: watchMode:: configFileErrors:: reports syntax errors in config file", () => { - verifyTscWatch({ - scenario: "configFileErrors", - subScenario: "reports syntax errors in config file", - sys: () => - createWatchedSystem( - [ - { path: `/user/username/projects/myproject/a.ts`, content: "export function foo() { }" }, - { path: `/user/username/projects/myproject/b.ts`, content: "export function bar() { }" }, - { - path: `/user/username/projects/myproject/tsconfig.json`, - content: dedent` + function verify(outFile?: object) { + verifyTscWatch({ + scenario: "configFileErrors", + subScenario: `reports syntax errors in config file${outFile ? " with outFile" : ""}`, + sys: () => + createWatchedSystem( + [ + { path: `/user/username/projects/myproject/a.ts`, content: "export function foo() { }" }, + { path: `/user/username/projects/myproject/b.ts`, content: "export function bar() { }" }, + { + path: `/user/username/projects/myproject/tsconfig.json`, + content: dedent` { "compilerOptions": { - "composite": true, + "composite": true,${outFile ? jsonToReadableText(outFile).replace(/[{}]/g, "") : ""} }, "files": [ "a.ts" "b.ts" ] }`, - }, - libFile, - ], - { currentDirectory: "/user/username/projects/myproject" }, - ), - commandLineArgs: ["--b", "-w"], - edits: [ - { - caption: "reports syntax errors after change to config file", - edit: sys => - sys.replaceFileText( - `/user/username/projects/myproject/tsconfig.json`, - ",", - `, + }, + libFile, + ], + { currentDirectory: "/user/username/projects/myproject" }, + ), + commandLineArgs: ["--b", "-w"], + edits: [ + { + caption: "reports syntax errors after change to config file", + edit: sys => + sys.replaceFileText( + `/user/username/projects/myproject/tsconfig.json`, + ",", + `, "declaration": true,`, - ), - timeouts: sys => sys.runQueuedTimeoutCallbacks(), // build the project - }, - { - caption: "reports syntax errors after change to ts file", - edit: sys => sys.replaceFileText(`/user/username/projects/myproject/a.ts`, "foo", "fooBar"), - timeouts: sys => sys.runQueuedTimeoutCallbacks(), // build the project - }, - { - caption: "reports error when there is no change to tsconfig file", - edit: sys => sys.replaceFileText(`/user/username/projects/myproject/tsconfig.json`, "", ""), - timeouts: sys => sys.runQueuedTimeoutCallbacks(), // build the project - }, - { - caption: "builds after fixing config file errors", - edit: sys => - sys.writeFile( - `/user/username/projects/myproject/tsconfig.json`, - jsonToReadableText({ - compilerOptions: { composite: true, declaration: true }, - files: ["a.ts", "b.ts"], - }), - ), - timeouts: sys => sys.runQueuedTimeoutCallbacks(), // build the project - }, - ], - }); + ), + timeouts: sys => sys.runQueuedTimeoutCallbacks(), // build the project + }, + { + caption: "reports syntax errors after change to ts file", + edit: sys => sys.replaceFileText(`/user/username/projects/myproject/a.ts`, "foo", "fooBar"), + timeouts: sys => sys.runQueuedTimeoutCallbacks(), // build the project + }, + { + caption: "reports error when there is no change to tsconfig file", + edit: sys => sys.replaceFileText(`/user/username/projects/myproject/tsconfig.json`, "", ""), + timeouts: sys => sys.runQueuedTimeoutCallbacks(), // build the project + }, + { + caption: "builds after fixing config file errors", + edit: sys => + sys.writeFile( + `/user/username/projects/myproject/tsconfig.json`, + jsonToReadableText({ + compilerOptions: { composite: true, declaration: true, ...outFile }, + files: ["a.ts", "b.ts"], + }), + ), + timeouts: sys => sys.runQueuedTimeoutCallbacks(), // build the project + }, + ], + }); + } + verify(); + verify({ outFile: "../outFile.js", module: "amd" }); }); diff --git a/src/testRunner/unittests/tsbuildWatch/demo.ts b/src/testRunner/unittests/tsbuildWatch/demo.ts index 1c83351fefb3b..e79a2904f4a6f 100644 --- a/src/testRunner/unittests/tsbuildWatch/demo.ts +++ b/src/testRunner/unittests/tsbuildWatch/demo.ts @@ -1,9 +1,9 @@ -import { dedent } from "../../_namespaces/Utils"; +import { dedent } from "../../_namespaces/Utils.js"; import { getFsContentsForDemoProjectReferencesCoreConfig, getSysForDemoProjectReferences, -} from "../helpers/demoProjectReferences"; -import { verifyTscWatch } from "../helpers/tscWatch"; +} from "../helpers/demoProjectReferences.js"; +import { verifyTscWatch } from "../helpers/tscWatch.js"; describe("unittests:: tsbuildWatch:: watchMode:: with demo project", () => { verifyTscWatch({ diff --git a/src/testRunner/unittests/tsbuildWatch/extends.ts b/src/testRunner/unittests/tsbuildWatch/extends.ts index 5fc08c2795b0f..954ae0b3275c3 100644 --- a/src/testRunner/unittests/tsbuildWatch/extends.ts +++ b/src/testRunner/unittests/tsbuildWatch/extends.ts @@ -1,9 +1,9 @@ import { getConfigDirExtendsSys, modifyFirstExtendedConfigOfConfigDirExtendsSys, -} from "../helpers/extends"; -import { verifyTscWatch } from "../helpers/tscWatch"; -import { createWatchedSystem } from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/extends.js"; +import { verifyTscWatch } from "../helpers/tscWatch.js"; +import { createWatchedSystem } from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsbuildWatch:: watchMode:: extends::", () => { verifyTscWatch({ diff --git a/src/testRunner/unittests/tsbuildWatch/libraryResolution.ts b/src/testRunner/unittests/tsbuildWatch/libraryResolution.ts index a6391cdb9b7ee..5910a622372a1 100644 --- a/src/testRunner/unittests/tsbuildWatch/libraryResolution.ts +++ b/src/testRunner/unittests/tsbuildWatch/libraryResolution.ts @@ -1,5 +1,5 @@ -import { getSysForLibResolution } from "../helpers/libraryResolution"; -import { verifyTscWatch } from "../helpers/tscWatch"; +import { getSysForLibResolution } from "../helpers/libraryResolution.js"; +import { verifyTscWatch } from "../helpers/tscWatch.js"; describe("unittests:: tsbuildWatch:: watchMode:: libraryResolution:: library file resolution", () => { function verify(libRedirection?: true) { diff --git a/src/testRunner/unittests/tsbuildWatch/moduleResolution.ts b/src/testRunner/unittests/tsbuildWatch/moduleResolution.ts index 8c72b41bdd2bb..65cad81476462 100644 --- a/src/testRunner/unittests/tsbuildWatch/moduleResolution.ts +++ b/src/testRunner/unittests/tsbuildWatch/moduleResolution.ts @@ -1,10 +1,10 @@ -import { dedent } from "../../_namespaces/Utils"; -import { jsonToReadableText } from "../helpers"; -import { verifyTscWatch } from "../helpers/tscWatch"; +import { dedent } from "../../_namespaces/Utils.js"; +import { jsonToReadableText } from "../helpers.js"; +import { verifyTscWatch } from "../helpers/tscWatch.js"; import { createWatchedSystem, libFile, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsbuildWatch:: watchMode:: moduleResolution", () => { verifyTscWatch({ diff --git a/src/testRunner/unittests/tsbuildWatch/noEmit.ts b/src/testRunner/unittests/tsbuildWatch/noEmit.ts index 2d74e68de2758..d5712bd681ae0 100644 --- a/src/testRunner/unittests/tsbuildWatch/noEmit.ts +++ b/src/testRunner/unittests/tsbuildWatch/noEmit.ts @@ -1,37 +1,47 @@ -import { jsonToReadableText } from "../helpers"; -import { libContent } from "../helpers/contents"; -import { verifyTscWatch } from "../helpers/tscWatch"; +import { jsonToReadableText } from "../helpers.js"; +import { libContent } from "../helpers/contents.js"; +import { verifyTscWatch } from "../helpers/tscWatch.js"; import { createWatchedSystem, libFile, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsbuildWatch:: watchMode:: with noEmit", () => { - verifyTscWatch({ - scenario: "noEmit", - subScenario: "does not go in loop when watching when no files are emitted", - commandLineArgs: ["-b", "-w", "-verbose"], - sys: () => - createWatchedSystem({ - [libFile.path]: libContent, - "/user/username/projects/myproject/a.js": "", - "/user/username/projects/myproject/b.ts": "", - "/user/username/projects/myproject/tsconfig.json": jsonToReadableText({ compilerOptions: { allowJs: true, noEmit: true } }), - }, { currentDirectory: "/user/username/projects/myproject" }), - edits: [ - { - caption: "No change", - edit: sys => sys.writeFile(`/user/username/projects/myproject/a.js`, sys.readFile(`/user/username/projects/myproject/a.js`)!), - // build project - timeouts: sys => sys.runQueuedTimeoutCallbacks(), - }, - { - caption: "change", - edit: sys => sys.writeFile(`/user/username/projects/myproject/a.js`, "const x = 10;"), - // build project - timeouts: sys => sys.runQueuedTimeoutCallbacks(), - }, - ], - baselineIncremental: true, - }); + function verify(outFile?: object) { + verifyTscWatch({ + scenario: "noEmit", + subScenario: `does not go in loop when watching when no files are emitted${outFile ? " with outFile" : ""}`, + commandLineArgs: ["-b", "-w", "-verbose"], + sys: () => + createWatchedSystem({ + [libFile.path]: libContent, + "/user/username/projects/myproject/a.js": "", + "/user/username/projects/myproject/b.ts": "", + "/user/username/projects/myproject/tsconfig.json": jsonToReadableText({ + compilerOptions: { + allowJs: true, + noEmit: true, + ...outFile, + }, + }), + }, { currentDirectory: "/user/username/projects/myproject" }), + edits: [ + { + caption: "No change", + edit: sys => sys.writeFile(`/user/username/projects/myproject/a.js`, sys.readFile(`/user/username/projects/myproject/a.js`)!), + // build project + timeouts: sys => sys.runQueuedTimeoutCallbacks(), + }, + { + caption: "change", + edit: sys => sys.writeFile(`/user/username/projects/myproject/a.js`, "const x = 10;"), + // build project + timeouts: sys => sys.runQueuedTimeoutCallbacks(), + }, + ], + baselineIncremental: true, + }); + } + verify(); + verify({ outFile: "../out.js" }); }); diff --git a/src/testRunner/unittests/tsbuildWatch/noEmitOnError.ts b/src/testRunner/unittests/tsbuildWatch/noEmitOnError.ts index 11d77047fb8bf..d02ba7ced44c9 100644 --- a/src/testRunner/unittests/tsbuildWatch/noEmitOnError.ts +++ b/src/testRunner/unittests/tsbuildWatch/noEmitOnError.ts @@ -1,10 +1,11 @@ -import { getSysForNoEmitOnError } from "../helpers/noEmitOnError"; +import { forEachNoEmitOnErrorScenario } from "../helpers/noEmitOnError.js"; import { TscWatchCompileChange, verifyTscWatch, -} from "../helpers/tscWatch"; +} from "../helpers/tscWatch.js"; +import { createWatchedSystem } from "../helpers/virtualFileSystemWithWatch.js"; -describe("unittests:: tsbuildWatch:: watchMode:: with noEmitOnError", () => { +describe("unittests:: tsbuildWatch:: watchMode:: with noEmitOnError::", () => { function change(caption: string, content: string): TscWatchCompileChange { return { caption, @@ -20,33 +21,36 @@ describe("unittests:: tsbuildWatch:: watchMode:: with noEmitOnError", () => { // build project timeouts: sys => sys.runQueuedTimeoutCallbacks(), }; - verifyTscWatch({ - scenario: "noEmitOnError", - subScenario: "does not emit any files on error", - commandLineArgs: ["-b", "-w", "-verbose"], - sys: getSysForNoEmitOnError, - edits: [ - noChange, - change( - "Fix Syntax error", - `import { A } from "../shared/types/db"; + forEachNoEmitOnErrorScenario( + (fsContents, currentDirectory) => createWatchedSystem(fsContents, { currentDirectory }), + (scenarioName, sys) => + verifyTscWatch({ + scenario: "noEmitOnError", + subScenario: scenarioName("does not emit any files on error"), + commandLineArgs: ["-b", "-w", "-verbose"], + sys, + edits: [ + noChange, + change( + "Fix Syntax error", + `import { A } from "../shared/types/db"; const a = { lastName: 'sdsd' };`, - ), - change( - "Semantic Error", - `import { A } from "../shared/types/db"; + ), + change( + "Semantic Error", + `import { A } from "../shared/types/db"; const a: string = 10;`, - ), - noChange, - change( - "Fix Semantic Error", - `import { A } from "../shared/types/db"; + ), + noChange, + change( + "Fix Semantic Error", + `import { A } from "../shared/types/db"; const a: string = "hello";`, - ), - noChange, - ], - baselineIncremental: true, - }); + ), + noChange, + ], + }), + ); }); diff --git a/src/testRunner/unittests/tsbuildWatch/programUpdates.ts b/src/testRunner/unittests/tsbuildWatch/programUpdates.ts index 492172dc37e84..b3a4f1cbfa78c 100644 --- a/src/testRunner/unittests/tsbuildWatch/programUpdates.ts +++ b/src/testRunner/unittests/tsbuildWatch/programUpdates.ts @@ -1,11 +1,11 @@ -import * as ts from "../../_namespaces/ts"; -import { jsonToReadableText } from "../helpers"; -import { FsContents } from "../helpers/contents"; +import * as ts from "../../_namespaces/ts.js"; +import { jsonToReadableText } from "../helpers.js"; +import { FsContents } from "../helpers/contents.js"; import { getFsContentsForSampleProjectReferences, getFsContentsForSampleProjectReferencesLogicConfig, getSysForSampleProjectReferences, -} from "../helpers/sampleProjectReferences"; +} from "../helpers/sampleProjectReferences.js"; import { commonFile1, commonFile2, @@ -15,12 +15,12 @@ import { runWatchBaseline, TscWatchCompileChange, verifyTscWatch, -} from "../helpers/tscWatch"; +} from "../helpers/tscWatch.js"; import { createWatchedSystem, File, libFile, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsbuildWatch:: watchMode:: program updates", () => { verifyTscWatch({ diff --git a/src/testRunner/unittests/tsbuildWatch/projectsBuilding.ts b/src/testRunner/unittests/tsbuildWatch/projectsBuilding.ts index 67385b1c70260..73275c27f28cd 100644 --- a/src/testRunner/unittests/tsbuildWatch/projectsBuilding.ts +++ b/src/testRunner/unittests/tsbuildWatch/projectsBuilding.ts @@ -1,15 +1,15 @@ -import * as ts from "../../_namespaces/ts"; -import { jsonToReadableText } from "../helpers"; +import * as ts from "../../_namespaces/ts.js"; +import { jsonToReadableText } from "../helpers.js"; import { noopChange, TscWatchCompileChange, verifyTscWatch, -} from "../helpers/tscWatch"; +} from "../helpers/tscWatch.js"; import { createWatchedSystem, File, libFile, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsbuildWatch:: watchMode:: projectsBuilding", () => { function pkgs(cb: (index: number) => T, count: number, startIndex?: number): T[] { diff --git a/src/testRunner/unittests/tsbuildWatch/publicApi.ts b/src/testRunner/unittests/tsbuildWatch/publicApi.ts index 6739656e67920..c842419f507dd 100644 --- a/src/testRunner/unittests/tsbuildWatch/publicApi.ts +++ b/src/testRunner/unittests/tsbuildWatch/publicApi.ts @@ -1,15 +1,15 @@ -import * as ts from "../../_namespaces/ts"; -import { jsonToReadableText } from "../helpers"; +import * as ts from "../../_namespaces/ts.js"; +import { jsonToReadableText } from "../helpers.js"; import { createBaseline, createSolutionBuilderWithWatchHostForBaseline, runWatchBaseline, -} from "../helpers/tscWatch"; +} from "../helpers/tscWatch.js"; import { createWatchedSystem, File, libFile, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; it("unittests:: tsbuildWatch:: watchMode:: Public API with custom transformers", () => { const solution: File = { diff --git a/src/testRunner/unittests/tsbuildWatch/reexport.ts b/src/testRunner/unittests/tsbuildWatch/reexport.ts index 168fc249a12be..8a86c08341f35 100644 --- a/src/testRunner/unittests/tsbuildWatch/reexport.ts +++ b/src/testRunner/unittests/tsbuildWatch/reexport.ts @@ -1,11 +1,11 @@ -import { dedent } from "../../_namespaces/Utils"; -import { jsonToReadableText } from "../helpers"; -import { libContent } from "../helpers/contents"; -import { verifyTscWatch } from "../helpers/tscWatch"; +import { dedent } from "../../_namespaces/Utils.js"; +import { jsonToReadableText } from "../helpers.js"; +import { libContent } from "../helpers/contents.js"; +import { verifyTscWatch } from "../helpers/tscWatch.js"; import { createWatchedSystem, libFile, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsbuildWatch:: watchMode:: with reexport when referenced project reexports definitions from another file", () => { verifyTscWatch({ diff --git a/src/testRunner/unittests/tsbuildWatch/roots.ts b/src/testRunner/unittests/tsbuildWatch/roots.ts new file mode 100644 index 0000000000000..79043b6d8a50c --- /dev/null +++ b/src/testRunner/unittests/tsbuildWatch/roots.ts @@ -0,0 +1,40 @@ +import { forEachScenarioForRootsFromReferencedProject } from "../helpers/projectRoots.js"; +import { + noopChange, + verifyTscWatch, +} from "../helpers/tscWatch.js"; +import { createWatchedSystem } from "../helpers/virtualFileSystemWithWatch.js"; + +describe("unittests:: tsbuildWatch:: watchMode:: roots::", () => { + describe("when root file is from referenced project", () => { + forEachScenarioForRootsFromReferencedProject((subScenario, getFsContents) => { + verifyTscWatch({ + scenario: "roots", + subScenario, + commandLineArgs: ["--b", "projects/server", "-w", "-v", "--traceResolution", "--explainFiles"], + sys: () => createWatchedSystem(getFsContents(), { currentDirectory: "/home/src/workspaces" }), + edits: [ + noopChange, + { + caption: "edit logging file", + edit: sys => sys.appendFile("/home/src/workspaces/projects/shared/src/logging.ts", "export const x = 10;"), + timeouts: sys => { + sys.runQueuedTimeoutCallbacks(); // build shared + sys.runQueuedTimeoutCallbacks(); // build server + }, + }, + noopChange, + { + caption: "delete random file", + edit: sys => sys.deleteFile("/home/src/workspaces/projects/shared/src/random.ts"), + timeouts: sys => { + sys.runQueuedTimeoutCallbacks(); // build shared + sys.runQueuedTimeoutCallbacks(); // build server + }, + }, + noopChange, + ], + }); + }); + }); +}); diff --git a/src/testRunner/unittests/tsbuildWatch/watchEnvironment.ts b/src/testRunner/unittests/tsbuildWatch/watchEnvironment.ts index b431518ec8e12..ad830d0d92a82 100644 --- a/src/testRunner/unittests/tsbuildWatch/watchEnvironment.ts +++ b/src/testRunner/unittests/tsbuildWatch/watchEnvironment.ts @@ -1,16 +1,16 @@ -import * as ts from "../../_namespaces/ts"; -import { jsonToReadableText } from "../helpers"; +import * as ts from "../../_namespaces/ts.js"; +import { jsonToReadableText } from "../helpers.js"; import { createBaseline, createSolutionBuilderWithWatchHostForBaseline, runWatchBaseline, -} from "../helpers/tscWatch"; +} from "../helpers/tscWatch.js"; import { createWatchedSystem, File, libFile, TestServerHost, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsbuildWatch:: watchEnvironment:: tsbuild:: watchMode:: with different watch environments", () => { it("watchFile on same file multiple times because file is part of multiple projects", () => { diff --git a/src/testRunner/unittests/tsc/cancellationToken.ts b/src/testRunner/unittests/tsc/cancellationToken.ts index a2df9298c5a9b..a9b1406192318 100644 --- a/src/testRunner/unittests/tsc/cancellationToken.ts +++ b/src/testRunner/unittests/tsc/cancellationToken.ts @@ -1,23 +1,23 @@ -import * as Harness from "../../_namespaces/Harness"; -import * as ts from "../../_namespaces/ts"; -import * as Utils from "../../_namespaces/Utils"; -import { jsonToReadableText } from "../helpers"; +import * as Harness from "../../_namespaces/Harness.js"; +import * as ts from "../../_namespaces/ts.js"; +import * as Utils from "../../_namespaces/Utils.js"; +import { jsonToReadableText } from "../helpers.js"; import { baselineBuildInfo, CommandLineProgram, -} from "../helpers/baseline"; +} from "../helpers/baseline.js"; import { applyEdit, createBaseline, watchBaseline, -} from "../helpers/tscWatch"; +} from "../helpers/tscWatch.js"; import { createWatchedSystem, File, libFile, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; -describe("unittests:: tsc:: builder cancellationToken", () => { +describe("unittests:: tsc:: builder cancellationToken::", () => { verifyCancellation(/*useBuildInfo*/ true, "when emitting buildInfo"); verifyCancellation(/*useBuildInfo*/ false, "when using state"); function verifyCancellation(useBuildInfo: boolean, scenario: string) { @@ -41,9 +41,9 @@ describe("unittests:: tsc:: builder cancellationToken", () => { const cFile: File = { path: `/user/username/projects/myproject/c.ts`, content: Utils.dedent` - export class C { + export var C = class CReal { d = 1; - }`, + };`, }; const dFile: File = { path: `/user/username/projects/myproject/d.ts`, diff --git a/src/testRunner/unittests/tsc/composite.ts b/src/testRunner/unittests/tsc/composite.ts index 3b385290717e7..0a9dbfb7de6ff 100644 --- a/src/testRunner/unittests/tsc/composite.ts +++ b/src/testRunner/unittests/tsc/composite.ts @@ -1,10 +1,10 @@ -import * as Utils from "../../_namespaces/Utils"; -import { jsonToReadableText } from "../helpers"; -import { verifyTsc } from "../helpers/tsc"; +import * as Utils from "../../_namespaces/Utils.js"; +import { jsonToReadableText } from "../helpers.js"; +import { verifyTsc } from "../helpers/tsc.js"; import { loadProjectFromFiles, replaceText, -} from "../helpers/vfs"; +} from "../helpers/vfs.js"; describe("unittests:: tsc:: composite::", () => { verifyTsc({ diff --git a/src/testRunner/unittests/tsc/declarationEmit.ts b/src/testRunner/unittests/tsc/declarationEmit.ts index 7cda171565795..44a5be383a019 100644 --- a/src/testRunner/unittests/tsc/declarationEmit.ts +++ b/src/testRunner/unittests/tsc/declarationEmit.ts @@ -1,74 +1,80 @@ -import * as Utils from "../../_namespaces/Utils"; -import { jsonToReadableText } from "../helpers"; -import { verifyTscWatch } from "../helpers/tscWatch"; +import * as Utils from "../../_namespaces/Utils.js"; +import { jsonToReadableText } from "../helpers.js"; +import { forEachDeclarationEmitWithErrorsScenario } from "../helpers/declarationEmit.js"; +import { + noChangeRun, + verifyTsc, +} from "../helpers/tsc.js"; +import { verifyTscWatch } from "../helpers/tscWatch.js"; import { createWatchedSystem, FileOrFolderOrSymLink, isSymLink, libFile, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsc:: declarationEmit::", () => { - interface VerifyDeclarationEmitInput { - subScenario: string; - files: FileOrFolderOrSymLink[]; - rootProject: string; - changeCaseFileTestPath: (path: string) => boolean; - } - - function changeCaseFile(file: FileOrFolderOrSymLink, testPath: (path: string) => boolean, replacePath: (path: string) => string): FileOrFolderOrSymLink { - return !isSymLink(file) || !testPath(file.symLink) ? - testPath(file.path) ? { ...file, path: replacePath(file.path) } : file : - { path: testPath(file.path) ? replacePath(file.path) : file.path, symLink: replacePath(file.symLink) }; - } + describe("with casing changes", () => { + interface VerifyDeclarationEmitInput { + subScenario: string; + files: FileOrFolderOrSymLink[]; + rootProject: string; + changeCaseFileTestPath: (path: string) => boolean; + } - function verifyDeclarationEmit({ subScenario, files, rootProject, changeCaseFileTestPath }: VerifyDeclarationEmitInput) { - describe(subScenario, () => { - verifyTscWatch({ - scenario: "declarationEmit", - subScenario, - sys: () => createWatchedSystem(files, { currentDirectory: "/user/username/projects/myproject" }), - commandLineArgs: ["-p", rootProject, "--explainFiles"], - }); - }); + function changeCaseFile(file: FileOrFolderOrSymLink, testPath: (path: string) => boolean, replacePath: (path: string) => string): FileOrFolderOrSymLink { + return !isSymLink(file) || !testPath(file.symLink) ? + testPath(file.path) ? { ...file, path: replacePath(file.path) } : file : + { path: testPath(file.path) ? replacePath(file.path) : file.path, symLink: replacePath(file.symLink) }; + } - const caseChangeScenario = `${subScenario} moduleCaseChange`; - describe(caseChangeScenario, () => { - verifyTscWatch({ - scenario: "declarationEmit", - subScenario: caseChangeScenario, - sys: () => - createWatchedSystem( - files.map(f => changeCaseFile(f, changeCaseFileTestPath, str => str.replace("myproject", "myProject"))), - { currentDirectory: "/user/username/projects/myproject" }, - ), - commandLineArgs: ["-p", rootProject, "--explainFiles"], + function verifyDeclarationEmit({ subScenario, files, rootProject, changeCaseFileTestPath }: VerifyDeclarationEmitInput) { + describe(subScenario, () => { + verifyTscWatch({ + scenario: "declarationEmit", + subScenario, + sys: () => createWatchedSystem(files, { currentDirectory: "/user/username/projects/myproject" }), + commandLineArgs: ["-p", rootProject, "--explainFiles"], + }); }); - }); - } - describe("with symlinks in sibling folders and common package referenced from both folders", () => { - function pluginOneConfig() { - return jsonToReadableText({ - compilerOptions: { - target: "es5", - declaration: true, - traceResolution: true, - }, + const caseChangeScenario = `${subScenario} moduleCaseChange`; + describe(caseChangeScenario, () => { + verifyTscWatch({ + scenario: "declarationEmit", + subScenario: caseChangeScenario, + sys: () => + createWatchedSystem( + files.map(f => changeCaseFile(f, changeCaseFileTestPath, str => str.replace("myproject", "myProject"))), + { currentDirectory: "/user/username/projects/myproject" }, + ), + commandLineArgs: ["-p", rootProject, "--explainFiles"], + }); }); } - function pluginOneIndex() { - return `import pluginTwo from "plugin-two"; // include this to add reference to symlink`; - } - function pluginOneAction() { - return Utils.dedent` + + describe("with symlinks in sibling folders and common package referenced from both folders", () => { + function pluginOneConfig() { + return jsonToReadableText({ + compilerOptions: { + target: "es5", + declaration: true, + traceResolution: true, + }, + }); + } + function pluginOneIndex() { + return `import pluginTwo from "plugin-two"; // include this to add reference to symlink`; + } + function pluginOneAction() { + return Utils.dedent` import { actionCreatorFactory } from "typescript-fsa"; // Include version of shared lib const action = actionCreatorFactory("somekey"); const featureOne = action<{ route: string }>("feature-one"); export const actions = { featureOne };`; - } - function pluginTwoDts() { - return Utils.dedent` + } + function pluginTwoDts() { + return Utils.dedent` declare const _default: { features: { featureOne: { @@ -90,15 +96,15 @@ describe("unittests:: tsc:: declarationEmit::", () => { }; }; export default _default;`; - } - function fsaPackageJson() { - return jsonToReadableText({ - name: "typescript-fsa", - version: "3.0.0-beta-2", - }); - } - function fsaIndex() { - return Utils.dedent` + } + function fsaPackageJson() { + return jsonToReadableText({ + name: "typescript-fsa", + version: "3.0.0-beta-2", + }); + } + function fsaIndex() { + return Utils.dedent` export interface Action { type: string; payload: Payload; @@ -112,69 +118,69 @@ describe("unittests:: tsc:: declarationEmit::", () => { } export declare function actionCreatorFactory(prefix?: string | null): ActionCreatorFactory; export default actionCreatorFactory;`; - } + } - verifyDeclarationEmit({ - subScenario: "when same version is referenced through source and another symlinked package", - rootProject: "plugin-one", - files: [ - { path: `/user/username/projects/myproject/plugin-two/index.d.ts`, content: pluginTwoDts() }, - { path: `/user/username/projects/myproject/plugin-two/node_modules/typescript-fsa/package.json`, content: fsaPackageJson() }, - { path: `/user/username/projects/myproject/plugin-two/node_modules/typescript-fsa/index.d.ts`, content: fsaIndex() }, - { path: `/user/username/projects/myproject/plugin-one/tsconfig.json`, content: pluginOneConfig() }, - { path: `/user/username/projects/myproject/plugin-one/index.ts`, content: pluginOneIndex() }, - { path: `/user/username/projects/myproject/plugin-one/action.ts`, content: pluginOneAction() }, - { path: `/user/username/projects/myproject/plugin-one/node_modules/typescript-fsa/package.json`, content: fsaPackageJson() }, - { path: `/user/username/projects/myproject/plugin-one/node_modules/typescript-fsa/index.d.ts`, content: fsaIndex() }, - { path: `/user/username/projects/myproject/plugin-one/node_modules/plugin-two`, symLink: `/user/username/projects/myproject/plugin-two` }, - libFile, - ], - changeCaseFileTestPath: str => str.includes("/plugin-two"), + verifyDeclarationEmit({ + subScenario: "when same version is referenced through source and another symlinked package", + rootProject: "plugin-one", + files: [ + { path: `/user/username/projects/myproject/plugin-two/index.d.ts`, content: pluginTwoDts() }, + { path: `/user/username/projects/myproject/plugin-two/node_modules/typescript-fsa/package.json`, content: fsaPackageJson() }, + { path: `/user/username/projects/myproject/plugin-two/node_modules/typescript-fsa/index.d.ts`, content: fsaIndex() }, + { path: `/user/username/projects/myproject/plugin-one/tsconfig.json`, content: pluginOneConfig() }, + { path: `/user/username/projects/myproject/plugin-one/index.ts`, content: pluginOneIndex() }, + { path: `/user/username/projects/myproject/plugin-one/action.ts`, content: pluginOneAction() }, + { path: `/user/username/projects/myproject/plugin-one/node_modules/typescript-fsa/package.json`, content: fsaPackageJson() }, + { path: `/user/username/projects/myproject/plugin-one/node_modules/typescript-fsa/index.d.ts`, content: fsaIndex() }, + { path: `/user/username/projects/myproject/plugin-one/node_modules/plugin-two`, symLink: `/user/username/projects/myproject/plugin-two` }, + libFile, + ], + changeCaseFileTestPath: str => str.includes("/plugin-two"), + }); + + verifyDeclarationEmit({ + subScenario: "when same version is referenced through source and another symlinked package with indirect link", + rootProject: "plugin-one", + files: [ + { + path: `/user/username/projects/myproject/plugin-two/package.json`, + content: jsonToReadableText({ + name: "plugin-two", + version: "0.1.3", + main: "dist/commonjs/index.js", + }), + }, + { path: `/user/username/projects/myproject/plugin-two/dist/commonjs/index.d.ts`, content: pluginTwoDts() }, + { path: `/user/username/projects/myproject/plugin-two/node_modules/typescript-fsa/package.json`, content: fsaPackageJson() }, + { path: `/user/username/projects/myproject/plugin-two/node_modules/typescript-fsa/index.d.ts`, content: fsaIndex() }, + { path: `/user/username/projects/myproject/plugin-one/tsconfig.json`, content: pluginOneConfig() }, + { + path: `/user/username/projects/myproject/plugin-one/index.ts`, + content: `${pluginOneIndex()} +${pluginOneAction()}`, + }, + { path: `/user/username/projects/myproject/plugin-one/node_modules/typescript-fsa/package.json`, content: fsaPackageJson() }, + { path: `/user/username/projects/myproject/plugin-one/node_modules/typescript-fsa/index.d.ts`, content: fsaIndex() }, + { path: `/temp/yarn/data/link/plugin-two`, symLink: `/user/username/projects/myproject/plugin-two` }, + { path: `/user/username/projects/myproject/plugin-one/node_modules/plugin-two`, symLink: `/temp/yarn/data/link/plugin-two` }, + libFile, + ], + changeCaseFileTestPath: str => str.includes("/plugin-two"), + }); }); verifyDeclarationEmit({ - subScenario: "when same version is referenced through source and another symlinked package with indirect link", - rootProject: "plugin-one", + subScenario: "when pkg references sibling package through indirect symlink", + rootProject: "pkg3", files: [ { - path: `/user/username/projects/myproject/plugin-two/package.json`, - content: jsonToReadableText({ - name: "plugin-two", - version: "0.1.3", - main: "dist/commonjs/index.js", - }), + path: `/user/username/projects/myproject/pkg1/dist/index.d.ts`, + content: Utils.dedent` + export * from './types';`, }, - { path: `/user/username/projects/myproject/plugin-two/dist/commonjs/index.d.ts`, content: pluginTwoDts() }, - { path: `/user/username/projects/myproject/plugin-two/node_modules/typescript-fsa/package.json`, content: fsaPackageJson() }, - { path: `/user/username/projects/myproject/plugin-two/node_modules/typescript-fsa/index.d.ts`, content: fsaIndex() }, - { path: `/user/username/projects/myproject/plugin-one/tsconfig.json`, content: pluginOneConfig() }, { - path: `/user/username/projects/myproject/plugin-one/index.ts`, - content: `${pluginOneIndex()} -${pluginOneAction()}`, - }, - { path: `/user/username/projects/myproject/plugin-one/node_modules/typescript-fsa/package.json`, content: fsaPackageJson() }, - { path: `/user/username/projects/myproject/plugin-one/node_modules/typescript-fsa/index.d.ts`, content: fsaIndex() }, - { path: `/temp/yarn/data/link/plugin-two`, symLink: `/user/username/projects/myproject/plugin-two` }, - { path: `/user/username/projects/myproject/plugin-one/node_modules/plugin-two`, symLink: `/temp/yarn/data/link/plugin-two` }, - libFile, - ], - changeCaseFileTestPath: str => str.includes("/plugin-two"), - }); - }); - - verifyDeclarationEmit({ - subScenario: "when pkg references sibling package through indirect symlink", - rootProject: "pkg3", - files: [ - { - path: `/user/username/projects/myproject/pkg1/dist/index.d.ts`, - content: Utils.dedent` - export * from './types';`, - }, - { - path: `/user/username/projects/myproject/pkg1/dist/types.d.ts`, - content: Utils.dedent` + path: `/user/username/projects/myproject/pkg1/dist/types.d.ts`, + content: Utils.dedent` export declare type A = { id: string; }; @@ -188,71 +194,72 @@ ${pluginOneAction()}`, toString(): string; static create(key: string): MetadataAccessor; }`, - }, - { - path: `/user/username/projects/myproject/pkg1/package.json`, - content: jsonToReadableText({ - name: "@raymondfeng/pkg1", - version: "1.0.0", - main: "dist/index.js", - typings: "dist/index.d.ts", - }), - }, - { - path: `/user/username/projects/myproject/pkg2/dist/index.d.ts`, - content: Utils.dedent` + }, + { + path: `/user/username/projects/myproject/pkg1/package.json`, + content: jsonToReadableText({ + name: "@raymondfeng/pkg1", + version: "1.0.0", + main: "dist/index.js", + typings: "dist/index.d.ts", + }), + }, + { + path: `/user/username/projects/myproject/pkg2/dist/index.d.ts`, + content: Utils.dedent` export * from './types';`, - }, - { - path: `/user/username/projects/myproject/pkg2/dist/types.d.ts`, - content: Utils.dedent` + }, + { + path: `/user/username/projects/myproject/pkg2/dist/types.d.ts`, + content: Utils.dedent` export {MetadataAccessor} from '@raymondfeng/pkg1';`, - }, - { - path: `/user/username/projects/myproject/pkg2/package.json`, - content: jsonToReadableText({ - name: "@raymondfeng/pkg2", - version: "1.0.0", - main: "dist/index.js", - typings: "dist/index.d.ts", - }), - }, - { - path: `/user/username/projects/myproject/pkg3/src/index.ts`, - content: Utils.dedent` + }, + { + path: `/user/username/projects/myproject/pkg2/package.json`, + content: jsonToReadableText({ + name: "@raymondfeng/pkg2", + version: "1.0.0", + main: "dist/index.js", + typings: "dist/index.d.ts", + }), + }, + { + path: `/user/username/projects/myproject/pkg3/src/index.ts`, + content: Utils.dedent` export * from './keys';`, - }, - { - path: `/user/username/projects/myproject/pkg3/src/keys.ts`, - content: Utils.dedent` + }, + { + path: `/user/username/projects/myproject/pkg3/src/keys.ts`, + content: Utils.dedent` import {MetadataAccessor} from "@raymondfeng/pkg2"; export const ADMIN = MetadataAccessor.create('1');`, - }, - { - path: `/user/username/projects/myproject/pkg3/tsconfig.json`, - content: jsonToReadableText({ - compilerOptions: { - outDir: "dist", - rootDir: "src", - target: "es5", - module: "commonjs", - strict: true, - esModuleInterop: true, - declaration: true, - }, - }), - }, - { - path: `/user/username/projects/myproject/pkg2/node_modules/@raymondfeng/pkg1`, - symLink: `/user/username/projects/myproject/pkg1`, - }, - { - path: `/user/username/projects/myproject/pkg3/node_modules/@raymondfeng/pkg2`, - symLink: `/user/username/projects/myproject/pkg2`, - }, - libFile, - ], - changeCaseFileTestPath: str => str.includes("/pkg1"), + }, + { + path: `/user/username/projects/myproject/pkg3/tsconfig.json`, + content: jsonToReadableText({ + compilerOptions: { + outDir: "dist", + rootDir: "src", + target: "es5", + module: "commonjs", + strict: true, + esModuleInterop: true, + declaration: true, + }, + }), + }, + { + path: `/user/username/projects/myproject/pkg2/node_modules/@raymondfeng/pkg1`, + symLink: `/user/username/projects/myproject/pkg1`, + }, + { + path: `/user/username/projects/myproject/pkg3/node_modules/@raymondfeng/pkg2`, + symLink: `/user/username/projects/myproject/pkg2`, + }, + libFile, + ], + changeCaseFileTestPath: str => str.includes("/pkg1"), + }); }); verifyTscWatch({ @@ -348,4 +355,20 @@ ${pluginOneAction()}`, ], { currentDirectory: "D:\\Work\\pkg1", windowsStyleRoot: "D:/" }), commandLineArgs: ["-p", "D:\\Work\\pkg1", "--explainFiles"], }); + + forEachDeclarationEmitWithErrorsScenario((scenarioName, fs) => { + verifyTsc({ + scenario: "declarationEmit", + subScenario: scenarioName("reports dts generation errors"), + commandLineArgs: ["-p", `/src/project`, "--explainFiles", "--listEmittedFiles"], + fs, + edits: [ + noChangeRun, + { + ...noChangeRun, + commandLineArgs: ["-b", `/src/project`, "--explainFiles", "--listEmittedFiles", "-v"], + }, + ], + }); + }, /*withComposite*/ true); }); diff --git a/src/testRunner/unittests/tsc/extends.ts b/src/testRunner/unittests/tsc/extends.ts index 19cb499db6472..e1cd9d1c1152c 100644 --- a/src/testRunner/unittests/tsc/extends.ts +++ b/src/testRunner/unittests/tsc/extends.ts @@ -1,10 +1,10 @@ import { getConfigDirExtendsSys, getSymlinkedExtendsSys, -} from "../helpers/extends"; -import { verifyTsc } from "../helpers/tsc"; -import { verifyTscWatch } from "../helpers/tscWatch"; -import { loadProjectFromFiles } from "../helpers/vfs"; +} from "../helpers/extends.js"; +import { verifyTsc } from "../helpers/tsc.js"; +import { verifyTscWatch } from "../helpers/tscWatch.js"; +import { loadProjectFromFiles } from "../helpers/vfs.js"; describe("unittests:: tsc:: extends::", () => { verifyTscWatch({ diff --git a/src/testRunner/unittests/tsc/forceConsistentCasingInFileNames.ts b/src/testRunner/unittests/tsc/forceConsistentCasingInFileNames.ts index 24aa8f61df742..3e5cc966d83b6 100644 --- a/src/testRunner/unittests/tsc/forceConsistentCasingInFileNames.ts +++ b/src/testRunner/unittests/tsc/forceConsistentCasingInFileNames.ts @@ -1,6 +1,7 @@ -import * as Utils from "../../_namespaces/Utils"; -import { verifyTsc } from "../helpers/tsc"; -import { loadProjectFromFiles } from "../helpers/vfs"; +import { dedent } from "../../_namespaces/Utils.js"; +import { getFsContentsForMultipleErrorsForceConsistentCasingInFileNames } from "../helpers/forceConsistentCasingInFileNames.js"; +import { verifyTsc } from "../helpers/tsc.js"; +import { loadProjectFromFiles } from "../helpers/vfs.js"; describe("unittests:: tsc:: forceConsistentCasingInFileNames::", () => { verifyTsc({ @@ -9,7 +10,7 @@ describe("unittests:: tsc:: forceConsistentCasingInFileNames::", () => { commandLineArgs: ["/src/project/src/struct.d.ts", "--forceConsistentCasingInFileNames", "--explainFiles"], fs: () => loadProjectFromFiles({ - "/src/project/src/struct.d.ts": Utils.dedent` + "/src/project/src/struct.d.ts": dedent` import * as xs1 from "fp-ts/lib/Struct"; import * as xs2 from "fp-ts/lib/struct"; import * as xs3 from "./Struct"; @@ -18,4 +19,26 @@ describe("unittests:: tsc:: forceConsistentCasingInFileNames::", () => { "/src/project/node_modules/fp-ts/lib/struct.d.ts": `export function foo(): void`, }), }); + + verifyTsc({ + scenario: "forceConsistentCasingInFileNames", + subScenario: "when file is included from multiple places with different casing", + commandLineArgs: ["-p", "/home/src/projects/project/tsconfig.json", "--explainFiles"], + fs: () => loadProjectFromFiles(getFsContentsForMultipleErrorsForceConsistentCasingInFileNames()), + }); + + verifyTsc({ + scenario: "forceConsistentCasingInFileNames", + subScenario: "with type ref from file", + commandLineArgs: ["-p", "/src/project/src", "--explainFiles", "--traceResolution"], + fs: () => + loadProjectFromFiles({ + "/src/project/src/fileOne.d.ts": `declare class c { }`, + "/src/project/src/file2.d.ts": dedent` + /// + declare const y: c; + `, + "/src/project/src/tsconfig.json": "{ }", + }), + }); }); diff --git a/src/testRunner/unittests/tsc/incremental.ts b/src/testRunner/unittests/tsc/incremental.ts index 58c4055e25dd7..9d3e8e33076d2 100644 --- a/src/testRunner/unittests/tsc/incremental.ts +++ b/src/testRunner/unittests/tsc/incremental.ts @@ -1,24 +1,22 @@ -import * as ts from "../../_namespaces/ts"; -import * as Utils from "../../_namespaces/Utils"; -import * as vfs from "../../_namespaces/vfs"; -import { jsonToReadableText } from "../helpers"; +import * as ts from "../../_namespaces/ts.js"; +import { dedent } from "../../_namespaces/Utils.js"; +import { jsonToReadableText } from "../helpers.js"; import { compilerOptionsToConfigJson, libContent, -} from "../helpers/contents"; -import { getFsForNoEmitOnError } from "../helpers/noEmitOnError"; +} from "../helpers/contents.js"; import { noChangeOnlyRuns, noChangeRun, TestTscEdit, verifyTsc, -} from "../helpers/tsc"; +} from "../helpers/tsc.js"; import { appendText, loadProjectFromFiles, prependText, replaceText, -} from "../helpers/vfs"; +} from "../helpers/vfs.js"; describe("unittests:: tsc:: incremental::", () => { verifyTsc({ @@ -27,7 +25,7 @@ describe("unittests:: tsc:: incremental::", () => { fs: () => loadProjectFromFiles({ "/src/project/src/main.ts": "export const x = 10;", - "/src/project/tsconfig.json": Utils.dedent` + "/src/project/tsconfig.json": dedent` { "compilerOptions": { "target": "es5", @@ -48,7 +46,7 @@ describe("unittests:: tsc:: incremental::", () => { fs: () => loadProjectFromFiles({ "/src/project/src/main.ts": "export const x = 10;", - "/src/project/tsconfig.json": Utils.dedent` + "/src/project/tsconfig.json": dedent` { "compilerOptions": { "incremental": true, @@ -85,7 +83,7 @@ describe("unittests:: tsc:: incremental::", () => { fs: () => loadProjectFromFiles({ "/src/project/src/main.ts": "export const x = 10;", - "/src/project/tsconfig.json": Utils.dedent` + "/src/project/tsconfig.json": dedent` { "compilerOptions": { "incremental": true, @@ -114,205 +112,17 @@ describe("unittests:: tsc:: incremental::", () => { }], }); - describe("with noEmitOnError", () => { - let projFs: vfs.FileSystem; - before(() => { - projFs = getFsForNoEmitOnError(); - }); - after(() => { - projFs = undefined!; - }); - - function verifyNoEmitOnError(subScenario: string, fixModifyFs: TestTscEdit["edit"], modifyFs?: TestTscEdit["edit"]) { - verifyTsc({ - scenario: "incremental", - subScenario, - fs: () => projFs, - commandLineArgs: ["--incremental"], - modifyFs, - edits: [ - noChangeRun, - { - caption: "incremental-declaration-doesnt-change", - edit: fixModifyFs, - }, - noChangeRun, - ], - baselinePrograms: true, - }); - } - verifyNoEmitOnError( - "with noEmitOnError syntax errors", - fs => - fs.writeFileSync( - "src/main.ts", - `import { A } from "../shared/types/db"; -const a = { - lastName: 'sdsd' -};`, - "utf-8", - ), - ); - - verifyNoEmitOnError( - "with noEmitOnError semantic errors", - fs => - fs.writeFileSync( - "src/main.ts", - `import { A } from "../shared/types/db"; -const a: string = "hello";`, - "utf-8", - ), - fs => - fs.writeFileSync( - "src/main.ts", - `import { A } from "../shared/types/db"; -const a: string = 10;`, - "utf-8", - ), - ); - }); - - describe("when noEmit changes between compilation", () => { - verifyNoEmitChanges({ incremental: true }); - verifyNoEmitChanges({ incremental: true, declaration: true }); - verifyNoEmitChanges({ composite: true }); - - function verifyNoEmitChanges(compilerOptions: ts.CompilerOptions) { - const discrepancyExplanation = () => [ - "Clean build will not have latestChangedDtsFile as there was no emit and emitSignatures as undefined for files", - "Incremental will store the past latestChangedDtsFile and emitSignatures", - ]; - const noChangeRunWithNoEmit: TestTscEdit = { - ...noChangeRun, - caption: "No Change run with noEmit", - commandLineArgs: ["--p", "src/project", "--noEmit"], - discrepancyExplanation: compilerOptions.composite ? - discrepancyExplanation : - undefined, - }; - const noChangeRunWithEmit: TestTscEdit = { - ...noChangeRun, - caption: "No Change run with emit", - commandLineArgs: ["--p", "src/project"], - }; - let optionsString = ""; - for (const key in compilerOptions) { - if (ts.hasProperty(compilerOptions, key)) { - optionsString += ` ${key}`; - } - } - - verifyTsc({ - scenario: "incremental", - subScenario: `noEmit changes${optionsString}`, - commandLineArgs: ["--p", "src/project"], - fs, - edits: [ - noChangeRunWithNoEmit, - noChangeRunWithNoEmit, - { - caption: "Introduce error but still noEmit", - commandLineArgs: ["--p", "src/project", "--noEmit"], - edit: fs => replaceText(fs, "/src/project/src/class.ts", "prop", "prop1"), - discrepancyExplanation: compilerOptions.composite ? - discrepancyExplanation : - undefined, - }, - { - caption: "Fix error and emit", - edit: fs => replaceText(fs, "/src/project/src/class.ts", "prop1", "prop"), - }, - noChangeRunWithEmit, - noChangeRunWithNoEmit, - noChangeRunWithNoEmit, - noChangeRunWithEmit, - { - caption: "Introduce error and emit", - edit: fs => replaceText(fs, "/src/project/src/class.ts", "prop", "prop1"), - }, - noChangeRunWithEmit, - noChangeRunWithNoEmit, - noChangeRunWithNoEmit, - noChangeRunWithEmit, - { - caption: "Fix error and no emit", - commandLineArgs: ["--p", "src/project", "--noEmit"], - edit: fs => replaceText(fs, "/src/project/src/class.ts", "prop1", "prop"), - discrepancyExplanation: compilerOptions.composite ? - discrepancyExplanation : - undefined, - }, - noChangeRunWithEmit, - noChangeRunWithNoEmit, - noChangeRunWithNoEmit, - noChangeRunWithEmit, - ], - }); - - verifyTsc({ - scenario: "incremental", - subScenario: `noEmit changes with initial noEmit${optionsString}`, - commandLineArgs: ["--p", "src/project", "--noEmit"], - fs, - edits: [ - noChangeRunWithEmit, - { - caption: "Introduce error with emit", - commandLineArgs: ["--p", "src/project"], - edit: fs => replaceText(fs, "/src/project/src/class.ts", "prop", "prop1"), - }, - { - caption: "Fix error and no emit", - edit: fs => replaceText(fs, "/src/project/src/class.ts", "prop1", "prop"), - discrepancyExplanation: compilerOptions.composite ? - discrepancyExplanation : - undefined, - }, - noChangeRunWithEmit, - ], - }); - - function fs() { - return loadProjectFromFiles({ - "/src/project/src/class.ts": Utils.dedent` - export class classC { - prop = 1; - }`, - "/src/project/src/indirectClass.ts": Utils.dedent` - import { classC } from './class'; - export class indirectClass { - classC = new classC(); - }`, - "/src/project/src/directUse.ts": Utils.dedent` - import { indirectClass } from './indirectClass'; - new indirectClass().classC.prop;`, - "/src/project/src/indirectUse.ts": Utils.dedent` - import { indirectClass } from './indirectClass'; - new indirectClass().classC.prop;`, - "/src/project/src/noChangeFile.ts": Utils.dedent` - export function writeLog(s: string) { - }`, - "/src/project/src/noChangeFileWithEmitSpecificError.ts": Utils.dedent` - function someFunc(arguments: boolean, ...rest: any[]) { - }`, - "/src/project/tsconfig.json": jsonToReadableText({ compilerOptions }), - }); - } - } - }); - verifyTsc({ scenario: "incremental", subScenario: `when global file is added, the signatures are updated`, fs: () => loadProjectFromFiles({ - "/src/project/src/main.ts": Utils.dedent` + "/src/project/src/main.ts": dedent` /// /// function main() { } `, - "/src/project/src/anotherFileWithSameReferenes.ts": Utils.dedent` + "/src/project/src/anotherFileWithSameReferenes.ts": dedent` /// /// function anotherFileWithSameReferenes() { } @@ -463,24 +273,6 @@ declare global { ], }); - verifyTsc({ - scenario: "incremental", - subScenario: "when project has strict true", - commandLineArgs: ["-noEmit", "-p", `src/project`], - fs: () => - loadProjectFromFiles({ - "/src/project/tsconfig.json": jsonToReadableText({ - compilerOptions: { - incremental: true, - strict: true, - }, - }), - "/src/project/class1.ts": `export class class1 {}`, - }), - edits: noChangeOnlyRuns, - baselinePrograms: true, - }); - verifyTsc({ scenario: "incremental", subScenario: "serializing error chains", @@ -495,7 +287,7 @@ declare global { module: "esnext", }, }), - "/src/project/index.tsx": Utils.dedent` + "/src/project/index.tsx": dedent` declare namespace JSX { interface ElementChildrenAttribute { children: {}; } interface IntrinsicElements { div: {} } @@ -518,7 +310,7 @@ declare global { subScenario: "ts file with no-default-lib that augments the global scope", fs: () => loadProjectFromFiles({ - "/src/project/src/main.ts": Utils.dedent` + "/src/project/src/main.ts": dedent` /// /// @@ -529,7 +321,7 @@ declare global { export {}; `, - "/src/project/tsconfig.json": Utils.dedent` + "/src/project/tsconfig.json": dedent` { "compilerOptions": { "target": "ESNext", @@ -590,12 +382,12 @@ console.log(a);`, fs: () => loadProjectFromFiles({ "/src/project/tsconfig.json": jsonToReadableText({ compilerOptions: { declaration } }), - "/src/project/main.ts": Utils.dedent` + "/src/project/main.ts": dedent` import MessageablePerson from './MessageablePerson.js'; function logMessage( person: MessageablePerson ) { console.log( person.message ); }`, - "/src/project/MessageablePerson.ts": Utils.dedent` + "/src/project/MessageablePerson.ts": dedent` const Messageable = () => { return class MessageableClass { public message = 'hello'; @@ -609,7 +401,7 @@ console.log(a);`, appendText( fs, "/lib/lib.d.ts", - Utils.dedent` + dedent` type ReturnType any> = T extends (...args: any) => infer R ? R : any; type InstanceType any> = T extends abstract new (...args: any) => infer R ? R : any;`, ), @@ -631,72 +423,6 @@ console.log(a);`, verifyModifierChange(/*declaration*/ false); verifyModifierChange(/*declaration*/ true); - verifyTsc({ - scenario: "incremental", - subScenario: `when declarationMap changes`, - fs: () => - loadProjectFromFiles({ - "/src/project/tsconfig.json": jsonToReadableText({ - compilerOptions: { - noEmitOnError: true, - declaration: true, - composite: true, - }, - }), - "/src/project/a.ts": "const x = 10;", - "/src/project/b.ts": "const y = 10;", - }), - commandLineArgs: ["--p", "/src/project"], - edits: [ - { - caption: "error and enable declarationMap", - edit: fs => replaceText(fs, "/src/project/a.ts", "x", "x: 20"), - commandLineArgs: ["--p", "/src/project", "--declarationMap"], - discrepancyExplanation: () => [ - `Clean build does not emit any file so will have emitSignatures with all files since they are not emitted`, - `Incremental build has emitSignatures from before, so it will have a.ts with signature since file.version isnt same`, - `Incremental build will also have emitSignatureDtsMapDiffers for both files since the emitSignatures were without declarationMap but currentOptions have declrationMap`, - ], - }, - { - caption: "fix error declarationMap", - edit: fs => replaceText(fs, "/src/project/a.ts", "x: 20", "x"), - commandLineArgs: ["--p", "/src/project", "--declarationMap"], - }, - ], - }); - - verifyTsc({ - scenario: "incremental", - subScenario: `when declarationMap changes with outFile`, - fs: () => - loadProjectFromFiles({ - "/src/project/tsconfig.json": jsonToReadableText({ - compilerOptions: { - noEmitOnError: true, - declaration: true, - composite: true, - outFile: "../outFile.js", - }, - }), - "/src/project/a.ts": "const x = 10;", - "/src/project/b.ts": "const y = 10;", - }), - commandLineArgs: ["--p", "/src/project"], - edits: [ - { - caption: "error and enable declarationMap", - edit: fs => replaceText(fs, "/src/project/a.ts", "x", "x: 20"), - commandLineArgs: ["--p", "/src/project", "--declarationMap"], - }, - { - caption: "fix error declarationMap", - edit: fs => replaceText(fs, "/src/project/a.ts", "x: 20", "x"), - commandLineArgs: ["--p", "/src/project", "--declarationMap"], - }, - ], - }); - describe("different options::", () => { function withOptionChange(caption: string, ...options: readonly string[]): TestTscEdit { return { @@ -886,28 +612,6 @@ console.log(a);`, ], }); - verifyTsc({ - scenario: "incremental", - subScenario: "file deleted before fixing error with noEmitOnError", - fs: () => - loadProjectFromFiles({ - "/src/project/tsconfig.json": jsonToReadableText({ - compilerOptions: { - outDir: "outDir", - noEmitOnError: true, - }, - }), - "/src/project/file1.ts": `export const x: 30 = "hello";`, - "/src/project/file2.ts": `export class D { }`, - }), - commandLineArgs: ["--p", "/src/project", "-i"], - edits: [{ - caption: "delete file without error", - edit: fs => fs.unlinkSync("/src/project/file2.ts"), - }], - baselinePrograms: true, - }); - verifyTsc({ scenario: "incremental", subScenario: "generates typerefs correctly", @@ -922,12 +626,12 @@ console.log(a);`, }, include: ["src"], }), - "/src/project/src/box.ts": Utils.dedent` + "/src/project/src/box.ts": dedent` export interface Box { unbox(): T } `, - "/src/project/src/bug.js": Utils.dedent` + "/src/project/src/bug.js": dedent` import * as B from "./box.js" import * as W from "./wrap.js" @@ -947,7 +651,7 @@ console.log(a);`, export const bug = wrap({ n: box(1) }); `, - "/src/project/src/wrap.ts": Utils.dedent` + "/src/project/src/wrap.ts": dedent` export type Wrap = { [K in keyof C]: { wrapped: C[K] } } @@ -959,48 +663,78 @@ console.log(a);`, }], }); - verifyTsc({ - scenario: "incremental", - subScenario: "reports dts generation errors", - commandLineArgs: ["-p", `/src/project`, "--explainFiles", "--listEmittedFiles"], - fs: () => - loadProjectFromFiles({ - "/src/project/tsconfig.json": jsonToReadableText({ - compilerOptions: { - module: "NodeNext", - moduleResolution: "NodeNext", - composite: true, - skipLibCheck: true, - skipDefaultLibCheck: true, + describe("with const enums", () => { + enum AliasType { + None = "", + SameFile = "aliased ", + DifferentFile = "aliased in different file ", + } + function fileWithEnum(withAlias: AliasType) { + return withAlias !== AliasType.DifferentFile ? "/src/project/b.d.ts" : "/src/project/worker.d.ts"; + } + function verify(withAlias: AliasType, preserveConstEnums: boolean) { + verifyTsc({ + scenario: "incremental", + subScenario: `with ${withAlias}const enums${preserveConstEnums ? " with preserveConstEnums" : ""}`, + commandLineArgs: ["-i", `/src/project/a.ts`, "--tsbuildinfofile", "/src/project/a.tsbuildinfo", ...preserveConstEnums ? ["--preserveConstEnums"] : []], + fs: () => + loadProjectFromFiles({ + "/src/project/a.ts": dedent` + import {A} from "./c" + let a = A.ONE + `, + "/src/project/b.d.ts": withAlias === AliasType.SameFile ? + dedent` + declare const enum AWorker { + ONE = 1 + } + export { AWorker as A }; + ` : + withAlias === AliasType.DifferentFile ? + dedent` + export { AWorker as A } from "./worker"; + ` : + dedent` + export const enum A { + ONE = 1 + } + `, + "/src/project/c.ts": dedent` + import {A} from "./b" + let b = A.ONE + export {A} + `, + "/src/project/worker.d.ts": dedent` + export const enum AWorker { + ONE = 1 + } + `, + }), + edits: [ + { + caption: "change enum value", + edit: fs => replaceText(fs, fileWithEnum(withAlias), "1", "2"), }, - }), - "/src/project/index.ts": Utils.dedent` - import ky from 'ky'; - export const api = ky.extend({}); - `, - "/src/project/package.json": jsonToReadableText({ - type: "module", - }), - "/src/project/node_modules/ky/distribution/index.d.ts": Utils.dedent` - type KyInstance = { - extend(options: Record): KyInstance; - } - declare const ky: KyInstance; - export default ky; - `, - "/src/project/node_modules/ky/package.json": jsonToReadableText({ - name: "ky", - type: "module", - main: "./distribution/index.js", - }), - "/lib/lib.esnext.full.d.ts": libContent, - }), - edits: [ - noChangeRun, - { - ...noChangeRun, - commandLineArgs: ["-b", `/src/project`, "--explainFiles", "--listEmittedFiles", "-v"], - }, - ], + { + caption: "change enum value again", + edit: fs => replaceText(fs, fileWithEnum(withAlias), "2", "3"), + }, + { + caption: "something else changes in b.d.ts", + edit: fs => appendText(fs, "/src/project/b.d.ts", "export const randomThing = 10;"), + }, + { + caption: "something else changes in b.d.ts again", + edit: fs => appendText(fs, "/src/project/b.d.ts", "export const randomThing2 = 10;"), + }, + ], + }); + } + verify(/*withAlias*/ AliasType.None, /*preserveConstEnums*/ false); + verify(/*withAlias*/ AliasType.SameFile, /*preserveConstEnums*/ false); + verify(/*withAlias*/ AliasType.DifferentFile, /*preserveConstEnums*/ false); + verify(/*withAlias*/ AliasType.None, /*preserveConstEnums*/ true); + verify(/*withAlias*/ AliasType.SameFile, /*preserveConstEnums*/ true); + verify(/*withAlias*/ AliasType.DifferentFile, /*preserveConstEnums*/ true); }); }); diff --git a/src/testRunner/unittests/tsc/libraryResolution.ts b/src/testRunner/unittests/tsc/libraryResolution.ts index 5a6bb2b29ddb8..23d73ceb48d7f 100644 --- a/src/testRunner/unittests/tsc/libraryResolution.ts +++ b/src/testRunner/unittests/tsc/libraryResolution.ts @@ -1,8 +1,9 @@ import { getCommandLineArgsForLibResolution, getFsForLibResolution, -} from "../helpers/libraryResolution"; -import { verifyTsc } from "../helpers/tsc"; + getFsForLibResolutionUnknown, +} from "../helpers/libraryResolution.js"; +import { verifyTsc } from "../helpers/tsc.js"; describe("unittests:: tsc:: libraryResolution:: library file resolution", () => { function verify(libRedirection?: true, withoutConfig?: true) { @@ -18,4 +19,12 @@ describe("unittests:: tsc:: libraryResolution:: library file resolution", () => verify(/*libRedirection*/ true); verify(/*libRedirection*/ undefined, /*withoutConfig*/ true); verify(/*libRedirection*/ true, /*withoutConfig*/ true); + + verifyTsc({ + scenario: "libraryResolution", + subScenario: "unknown lib", + fs: () => getFsForLibResolutionUnknown(), + commandLineArgs: getCommandLineArgsForLibResolution(/*withoutConfig*/ undefined), + baselinePrograms: true, + }); }); diff --git a/src/testRunner/unittests/tsc/listFilesOnly.ts b/src/testRunner/unittests/tsc/listFilesOnly.ts index d4a2dd6eab711..ac5a11f825982 100644 --- a/src/testRunner/unittests/tsc/listFilesOnly.ts +++ b/src/testRunner/unittests/tsc/listFilesOnly.ts @@ -1,9 +1,9 @@ -import * as Utils from "../../_namespaces/Utils"; +import * as Utils from "../../_namespaces/Utils.js"; import { noChangeRun, verifyTsc, -} from "../helpers/tsc"; -import { loadProjectFromFiles } from "../helpers/vfs"; +} from "../helpers/tsc.js"; +import { loadProjectFromFiles } from "../helpers/vfs.js"; describe("unittests:: tsc:: listFilesOnly::", () => { verifyTsc({ diff --git a/src/testRunner/unittests/tsc/moduleResolution.ts b/src/testRunner/unittests/tsc/moduleResolution.ts index 4eb42bf26225f..19326d2d89215 100644 --- a/src/testRunner/unittests/tsc/moduleResolution.ts +++ b/src/testRunner/unittests/tsc/moduleResolution.ts @@ -1,16 +1,16 @@ -import { dedent } from "../../_namespaces/Utils"; -import { jsonToReadableText } from "../helpers"; +import { dedent } from "../../_namespaces/Utils.js"; +import { jsonToReadableText } from "../helpers.js"; import { getFsConentsForAlternateResultAtTypesPackageJson, getFsContentsForAlternateResult, getFsContentsForAlternateResultDts, getFsContentsForAlternateResultPackageJson, -} from "../helpers/alternateResult"; -import { libContent } from "../helpers/contents"; -import { verifyTsc } from "../helpers/tsc"; -import { verifyTscWatch } from "../helpers/tscWatch"; -import { loadProjectFromFiles } from "../helpers/vfs"; -import { createWatchedSystem } from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/alternateResult.js"; +import { libContent } from "../helpers/contents.js"; +import { verifyTsc } from "../helpers/tsc.js"; +import { verifyTscWatch } from "../helpers/tscWatch.js"; +import { loadProjectFromFiles } from "../helpers/vfs.js"; +import { createWatchedSystem } from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsc:: moduleResolution::", () => { verifyTsc({ diff --git a/src/testRunner/unittests/tsc/noEmit.ts b/src/testRunner/unittests/tsc/noEmit.ts new file mode 100644 index 0000000000000..1040e4d7dc558 --- /dev/null +++ b/src/testRunner/unittests/tsc/noEmit.ts @@ -0,0 +1,164 @@ +import * as ts from "../../_namespaces/ts.js"; +import { dedent } from "../../_namespaces/Utils.js"; +import { jsonToReadableText } from "../helpers.js"; +import { + noChangeOnlyRuns, + noChangeRun, + TestTscEdit, + verifyTsc, +} from "../helpers/tsc.js"; +import { + loadProjectFromFiles, + replaceText, +} from "../helpers/vfs.js"; +describe("unittests:: tsc:: noEmit::", () => { + describe("when noEmit changes between compilation", () => { + verifyNoEmitChanges({ incremental: true }); + verifyNoEmitChanges({ incremental: true, declaration: true }); + verifyNoEmitChanges({ composite: true }); + verifyNoEmitChanges({ incremental: true, outFile: "../outFile.js" }); + verifyNoEmitChanges({ incremental: true, declaration: true, outFile: "../outFile.js" }); + verifyNoEmitChanges({ composite: true, outFile: "../outFile.js" }); + + function verifyNoEmitChanges(compilerOptions: ts.CompilerOptions) { + const discrepancyExplanation = () => [ + "Clean build will not have latestChangedDtsFile as there was no emit and emitSignatures as undefined for files", + "Incremental will store the past latestChangedDtsFile and emitSignatures", + ]; + const noChangeRunWithNoEmit: TestTscEdit = { + ...noChangeRun, + caption: "No Change run with noEmit", + commandLineArgs: ["--p", "src/project", "--noEmit"], + discrepancyExplanation: compilerOptions.composite && !compilerOptions.outFile ? + discrepancyExplanation : + undefined, + }; + const noChangeRunWithEmit: TestTscEdit = { + ...noChangeRun, + caption: "No Change run with emit", + commandLineArgs: ["--p", "src/project"], + }; + let optionsString = ""; + for (const key in compilerOptions) { + if (ts.hasProperty(compilerOptions, key)) { + optionsString += ` ${key}`; + } + } + + verifyTsc({ + scenario: "noEmit", + subScenario: `changes${optionsString}`, + commandLineArgs: ["--p", "src/project"], + fs, + edits: [ + noChangeRunWithNoEmit, + noChangeRunWithNoEmit, + { + caption: "Introduce error but still noEmit", + commandLineArgs: ["--p", "src/project", "--noEmit"], + edit: fs => replaceText(fs, "/src/project/src/class.ts", "prop", "prop1"), + discrepancyExplanation: compilerOptions.composite && !compilerOptions.outFile ? + discrepancyExplanation : + undefined, + }, + { + caption: "Fix error and emit", + edit: fs => replaceText(fs, "/src/project/src/class.ts", "prop1", "prop"), + }, + noChangeRunWithEmit, + noChangeRunWithNoEmit, + noChangeRunWithNoEmit, + noChangeRunWithEmit, + { + caption: "Introduce error and emit", + edit: fs => replaceText(fs, "/src/project/src/class.ts", "prop", "prop1"), + }, + noChangeRunWithEmit, + noChangeRunWithNoEmit, + noChangeRunWithNoEmit, + noChangeRunWithEmit, + { + caption: "Fix error and no emit", + commandLineArgs: ["--p", "src/project", "--noEmit"], + edit: fs => replaceText(fs, "/src/project/src/class.ts", "prop1", "prop"), + discrepancyExplanation: compilerOptions.composite && !compilerOptions.outFile ? + discrepancyExplanation : + undefined, + }, + noChangeRunWithEmit, + noChangeRunWithNoEmit, + noChangeRunWithNoEmit, + noChangeRunWithEmit, + ], + }); + + verifyTsc({ + scenario: "noEmit", + subScenario: `changes with initial noEmit${optionsString}`, + commandLineArgs: ["--p", "src/project", "--noEmit"], + fs, + edits: [ + noChangeRunWithEmit, + { + caption: "Introduce error with emit", + commandLineArgs: ["--p", "src/project"], + edit: fs => replaceText(fs, "/src/project/src/class.ts", "prop", "prop1"), + }, + { + caption: "Fix error and no emit", + edit: fs => replaceText(fs, "/src/project/src/class.ts", "prop1", "prop"), + discrepancyExplanation: compilerOptions.composite && !compilerOptions.outFile ? + discrepancyExplanation : + undefined, + }, + noChangeRunWithEmit, + ], + }); + + function fs() { + return loadProjectFromFiles({ + "/src/project/src/class.ts": dedent` + export class classC { + prop = 1; + }`, + "/src/project/src/indirectClass.ts": dedent` + import { classC } from './class'; + export class indirectClass { + classC = new classC(); + }`, + "/src/project/src/directUse.ts": dedent` + import { indirectClass } from './indirectClass'; + new indirectClass().classC.prop;`, + "/src/project/src/indirectUse.ts": dedent` + import { indirectClass } from './indirectClass'; + new indirectClass().classC.prop;`, + "/src/project/src/noChangeFile.ts": dedent` + export function writeLog(s: string) { + }`, + "/src/project/src/noChangeFileWithEmitSpecificError.ts": dedent` + function someFunc(arguments: boolean, ...rest: any[]) { + }`, + "/src/project/tsconfig.json": jsonToReadableText({ compilerOptions }), + }); + } + } + }); + + verifyTsc({ + scenario: "noEmit", + subScenario: "when project has strict true", + commandLineArgs: ["-noEmit", "-p", `src/project`], + fs: () => + loadProjectFromFiles({ + "/src/project/tsconfig.json": jsonToReadableText({ + compilerOptions: { + incremental: true, + strict: true, + }, + }), + "/src/project/class1.ts": `export class class1 {}`, + }), + edits: noChangeOnlyRuns, + baselinePrograms: true, + }); +}); diff --git a/src/testRunner/unittests/tsc/noEmitOnError.ts b/src/testRunner/unittests/tsc/noEmitOnError.ts new file mode 100644 index 0000000000000..bf2b320d72a07 --- /dev/null +++ b/src/testRunner/unittests/tsc/noEmitOnError.ts @@ -0,0 +1,180 @@ +import { jsonToReadableText } from "../helpers.js"; +import { forEachNoEmitOnErrorScenario } from "../helpers/noEmitOnError.js"; +import { + noChangeRun, + TestTscEdit, + verifyTsc, +} from "../helpers/tsc.js"; +import { + loadProjectFromFiles, + replaceText, +} from "../helpers/vfs.js"; + +describe("unittests:: tsc:: noEmitOnError::", () => { + forEachNoEmitOnErrorScenario( + (fsContents, cwd, executingFilePath) => loadProjectFromFiles(fsContents, { cwd, executingFilePath }), + (scnearioName, fs) => { + describe(scnearioName("verify noEmitOnError"), () => { + function verifyNoEmitOnError(subScenario: string, fixModifyFs: TestTscEdit["edit"], modifyFs?: TestTscEdit["edit"]) { + verifyTsc({ + scenario: "noEmitOnError", + subScenario: scnearioName(subScenario), + fs, + commandLineArgs: [], + modifyFs, + edits: [ + noChangeRun, + { + caption: "incremental-declaration-doesnt-change", + edit: fixModifyFs, + }, + noChangeRun, + ], + baselinePrograms: true, + }); + } + verifyNoEmitOnError( + "syntax errors", + fs => + fs.writeFileSync( + "src/main.ts", + `import { A } from "../shared/types/db"; +const a = { + lastName: 'sdsd' +};`, + "utf-8", + ), + ); + + verifyNoEmitOnError( + "semantic errors", + fs => + fs.writeFileSync( + "src/main.ts", + `import { A } from "../shared/types/db"; +const a: string = "hello";`, + "utf-8", + ), + fs => + fs.writeFileSync( + "src/main.ts", + `import { A } from "../shared/types/db"; +const a: string = 10;`, + "utf-8", + ), + ); + }); + }, + ); + + verifyTsc({ + scenario: "noEmitOnError", + subScenario: `when declarationMap changes`, + fs: () => + loadProjectFromFiles({ + "/src/project/tsconfig.json": jsonToReadableText({ + compilerOptions: { + noEmitOnError: true, + declaration: true, + composite: true, + }, + }), + "/src/project/a.ts": "const x = 10;", + "/src/project/b.ts": "const y = 10;", + }), + commandLineArgs: ["--p", "/src/project"], + edits: [ + { + caption: "error and enable declarationMap", + edit: fs => replaceText(fs, "/src/project/a.ts", "x", "x: 20"), + commandLineArgs: ["--p", "/src/project", "--declarationMap"], + discrepancyExplanation: () => [ + `Clean build does not emit any file so will have emitSignatures with all files since they are not emitted`, + `Incremental build has emitSignatures from before, so it will have a.ts with signature since file.version isnt same`, + `Incremental build will also have emitSignatureDtsMapDiffers for both files since the emitSignatures were without declarationMap but currentOptions have declrationMap`, + ], + }, + { + caption: "fix error declarationMap", + edit: fs => replaceText(fs, "/src/project/a.ts", "x: 20", "x"), + commandLineArgs: ["--p", "/src/project", "--declarationMap"], + }, + ], + }); + + verifyTsc({ + scenario: "noEmitOnError", + subScenario: `when declarationMap changes with outFile`, + fs: () => + loadProjectFromFiles({ + "/src/project/tsconfig.json": jsonToReadableText({ + compilerOptions: { + noEmitOnError: true, + declaration: true, + composite: true, + outFile: "../outFile.js", + }, + }), + "/src/project/a.ts": "const x = 10;", + "/src/project/b.ts": "const y = 10;", + }), + commandLineArgs: ["--p", "/src/project"], + edits: [ + { + caption: "error and enable declarationMap", + edit: fs => replaceText(fs, "/src/project/a.ts", "x", "x: 20"), + commandLineArgs: ["--p", "/src/project", "--declarationMap"], + }, + { + caption: "fix error declarationMap", + edit: fs => replaceText(fs, "/src/project/a.ts", "x: 20", "x"), + commandLineArgs: ["--p", "/src/project", "--declarationMap"], + }, + ], + }); + + verifyTsc({ + scenario: "noEmitOnError", + subScenario: "file deleted before fixing error with noEmitOnError", + fs: () => + loadProjectFromFiles({ + "/src/project/tsconfig.json": jsonToReadableText({ + compilerOptions: { + outDir: "outDir", + noEmitOnError: true, + }, + }), + "/src/project/file1.ts": `export const x: 30 = "hello";`, + "/src/project/file2.ts": `export class D { }`, + }), + commandLineArgs: ["--p", "/src/project", "-i"], + edits: [{ + caption: "delete file without error", + edit: fs => fs.unlinkSync("/src/project/file2.ts"), + }], + baselinePrograms: true, + }); + + verifyTsc({ + scenario: "noEmitOnError", + subScenario: "file deleted before fixing error with noEmitOnError with outFile", + fs: () => + loadProjectFromFiles({ + "/src/project/tsconfig.json": jsonToReadableText({ + compilerOptions: { + outFile: "../outFile.js", + module: "amd", + noEmitOnError: true, + }, + }), + "/src/project/file1.ts": `export const x: 30 = "hello";`, + "/src/project/file2.ts": `export class D { }`, + }), + commandLineArgs: ["--p", "/src/project", "-i"], + edits: [{ + caption: "delete file without error", + edit: fs => fs.unlinkSync("/src/project/file2.ts"), + }], + baselinePrograms: true, + }); +}); diff --git a/src/testRunner/unittests/tsc/projectReferences.ts b/src/testRunner/unittests/tsc/projectReferences.ts index 95768a24c21b3..d1dda68e0784c 100644 --- a/src/testRunner/unittests/tsc/projectReferences.ts +++ b/src/testRunner/unittests/tsc/projectReferences.ts @@ -1,6 +1,6 @@ -import { jsonToReadableText } from "../helpers"; -import { verifyTsc } from "../helpers/tsc"; -import { loadProjectFromFiles } from "../helpers/vfs"; +import { jsonToReadableText } from "../helpers.js"; +import { verifyTsc } from "../helpers/tsc.js"; +import { loadProjectFromFiles } from "../helpers/vfs.js"; describe("unittests:: tsc:: projectReferences::", () => { verifyTsc({ diff --git a/src/testRunner/unittests/tsc/projectReferencesConfig.ts b/src/testRunner/unittests/tsc/projectReferencesConfig.ts index 819c777956fee..89febb5ffa34d 100644 --- a/src/testRunner/unittests/tsc/projectReferencesConfig.ts +++ b/src/testRunner/unittests/tsc/projectReferencesConfig.ts @@ -1,7 +1,7 @@ -import * as ts from "../../_namespaces/ts"; -import { jsonToReadableText } from "../helpers"; -import { verifyTsc } from "../helpers/tsc"; -import { loadProjectFromFiles } from "../helpers/vfs"; +import * as ts from "../../_namespaces/ts.js"; +import { jsonToReadableText } from "../helpers.js"; +import { verifyTsc } from "../helpers/tsc.js"; +import { loadProjectFromFiles } from "../helpers/vfs.js"; function emptyModule() { return "export { };"; diff --git a/src/testRunner/unittests/tsc/redirect.ts b/src/testRunner/unittests/tsc/redirect.ts index fc35d072ffb66..3ffae289d6655 100644 --- a/src/testRunner/unittests/tsc/redirect.ts +++ b/src/testRunner/unittests/tsc/redirect.ts @@ -1,6 +1,6 @@ -import { jsonToReadableText } from "../helpers"; -import { verifyTsc } from "../helpers/tsc"; -import { loadProjectFromFiles } from "../helpers/vfs"; +import { jsonToReadableText } from "../helpers.js"; +import { verifyTsc } from "../helpers/tsc.js"; +import { loadProjectFromFiles } from "../helpers/vfs.js"; describe("unittests:: tsc:: redirect::", () => { verifyTsc({ diff --git a/src/testRunner/unittests/tsc/runWithoutArgs.ts b/src/testRunner/unittests/tsc/runWithoutArgs.ts index ed26b9a4853fc..e8534f84997aa 100644 --- a/src/testRunner/unittests/tsc/runWithoutArgs.ts +++ b/src/testRunner/unittests/tsc/runWithoutArgs.ts @@ -1,5 +1,5 @@ -import { verifyTsc } from "../helpers/tsc"; -import { loadProjectFromFiles } from "../helpers/vfs"; +import { verifyTsc } from "../helpers/tsc.js"; +import { loadProjectFromFiles } from "../helpers/vfs.js"; describe("unittests:: tsc:: runWithoutArgs::", () => { verifyTsc({ diff --git a/src/testRunner/unittests/tscWatch/consoleClearing.ts b/src/testRunner/unittests/tscWatch/consoleClearing.ts index 6af2bb7d85857..74f88b9d11cb9 100644 --- a/src/testRunner/unittests/tscWatch/consoleClearing.ts +++ b/src/testRunner/unittests/tscWatch/consoleClearing.ts @@ -1,17 +1,17 @@ -import * as ts from "../../_namespaces/ts"; -import { jsonToReadableText } from "../helpers"; +import * as ts from "../../_namespaces/ts.js"; +import { jsonToReadableText } from "../helpers.js"; import { createBaseline, createWatchCompilerHostOfConfigFileForBaseline, runWatchBaseline, TscWatchCompileChange, verifyTscWatch, -} from "../helpers/tscWatch"; +} from "../helpers/tscWatch.js"; import { createWatchedSystem, File, libFile, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsc-watch:: console clearing", () => { const scenario = "consoleClearing"; diff --git a/src/testRunner/unittests/tscWatch/emit.ts b/src/testRunner/unittests/tscWatch/emit.ts index 849ad87f06a81..78e92a1b89978 100644 --- a/src/testRunner/unittests/tscWatch/emit.ts +++ b/src/testRunner/unittests/tscWatch/emit.ts @@ -1,15 +1,15 @@ -import * as ts from "../../_namespaces/ts"; -import { jsonToReadableText } from "../helpers"; +import * as ts from "../../_namespaces/ts.js"; +import { jsonToReadableText } from "../helpers.js"; import { TscWatchCompileChange, verifyTscWatch, -} from "../helpers/tscWatch"; +} from "../helpers/tscWatch.js"; import { createWatchedSystem, File, libFile, TestServerHost, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; const scenario = "emit"; describe("unittests:: tsc-watch:: emit with outFile or out setting", () => { diff --git a/src/testRunner/unittests/tscWatch/emitAndErrorUpdates.ts b/src/testRunner/unittests/tscWatch/emitAndErrorUpdates.ts index 9c9abf7cfd8a4..9070b8529749c 100644 --- a/src/testRunner/unittests/tscWatch/emitAndErrorUpdates.ts +++ b/src/testRunner/unittests/tscWatch/emitAndErrorUpdates.ts @@ -1,15 +1,14 @@ -import { jsonToReadableText } from "../helpers"; -import { FsContents } from "../helpers/contents"; -import { getFsContentsForNoEmitOnError } from "../helpers/noEmitOnError"; +import { jsonToReadableText } from "../helpers.js"; +import { FsContents } from "../helpers/contents.js"; import { TscWatchCompileChange, verifyTscWatch, -} from "../helpers/tscWatch"; +} from "../helpers/tscWatch.js"; import { createWatchedSystem, File, libFile, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsc-watch:: Emit times and Error updates in builder after program changes", () => { const config: File = { @@ -350,48 +349,4 @@ export class Data2 { ); }); }); - - describe("with noEmitOnError", () => { - function change(caption: string, content: string): TscWatchCompileChange { - return { - caption, - edit: sys => sys.writeFile(`/user/username/projects/noEmitOnError/src/main.ts`, content), - // build project - timeouts: sys => sys.runQueuedTimeoutCallbacks(), - }; - } - const noChange: TscWatchCompileChange = { - caption: "No change", - edit: sys => sys.writeFile(`/user/username/projects/noEmitOnError/src/main.ts`, sys.readFile(`/user/username/projects/noEmitOnError/src/main.ts`)!), - // build project - timeouts: sys => sys.runQueuedTimeoutCallbacks(), - }; - verifyEmitAndErrorUpdates({ - subScenario: "with noEmitOnError", - currentDirectory: `/user/username/projects/noEmitOnError`, - files: getFsContentsForNoEmitOnError, - changes: [ - noChange, - change( - "Fix Syntax error", - `import { A } from "../shared/types/db"; -const a = { - lastName: 'sdsd' -};`, - ), - change( - "Semantic Error", - `import { A } from "../shared/types/db"; -const a: string = 10;`, - ), - noChange, - change( - "Fix Semantic Error", - `import { A } from "../shared/types/db"; -const a: string = "hello";`, - ), - noChange, - ], - }); - }); }); diff --git a/src/testRunner/unittests/tscWatch/extends.ts b/src/testRunner/unittests/tscWatch/extends.ts index e325aaede2856..7f5e31ac2a778 100644 --- a/src/testRunner/unittests/tscWatch/extends.ts +++ b/src/testRunner/unittests/tscWatch/extends.ts @@ -2,9 +2,9 @@ import { getConfigDirExtendsSys, getSymlinkedExtendsSys, modifyFirstExtendedConfigOfConfigDirExtendsSys, -} from "../helpers/extends"; -import { verifyTscWatch } from "../helpers/tscWatch"; -import { createWatchedSystem } from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/extends.js"; +import { verifyTscWatch } from "../helpers/tscWatch.js"; +import { createWatchedSystem } from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsc-watch:: extends::", () => { verifyTscWatch({ diff --git a/src/testRunner/unittests/tscWatch/forceConsistentCasingInFileNames.ts b/src/testRunner/unittests/tscWatch/forceConsistentCasingInFileNames.ts index 7c7361222e754..38718c9fd4fec 100644 --- a/src/testRunner/unittests/tscWatch/forceConsistentCasingInFileNames.ts +++ b/src/testRunner/unittests/tscWatch/forceConsistentCasingInFileNames.ts @@ -1,17 +1,18 @@ -import * as Utils from "../../_namespaces/Utils"; -import { jsonToReadableText } from "../helpers"; +import { dedent } from "../../_namespaces/Utils.js"; +import { jsonToReadableText } from "../helpers.js"; +import { getFsContentsForMultipleErrorsForceConsistentCasingInFileNames } from "../helpers/forceConsistentCasingInFileNames.js"; import { TscWatchCompileChange, verifyTscWatch, -} from "../helpers/tscWatch"; +} from "../helpers/tscWatch.js"; import { createWatchedSystem, File, libFile, SymLink, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; -describe("unittests:: tsc-watch:: forceConsistentCasingInFileNames", () => { +describe("unittests:: tsc-watch:: forceConsistentCasingInFileNames::", () => { const loggerFile: File = { path: `/user/username/projects/myproject/logger.ts`, content: `export class logger { }`, @@ -334,7 +335,7 @@ a;b; ".": "./dist/index.js", }, }), - "/Users/name/projects/web/index.ts": Utils.dedent` + "/Users/name/projects/web/index.ts": dedent` import * as me from "@this/package"; me.thing(); export function thing(): void {} @@ -365,10 +366,10 @@ a;b; type: "module", exports: "./src/index.ts", }), - "/Users/name/projects/lib-boilerplate/src/index.ts": Utils.dedent` + "/Users/name/projects/lib-boilerplate/src/index.ts": dedent` export function thing(): void {} `, - "/Users/name/projects/lib-boilerplate/test/basic.spec.ts": Utils.dedent` + "/Users/name/projects/lib-boilerplate/test/basic.spec.ts": dedent` import { thing } from 'lib-boilerplate' `, "/Users/name/projects/lib-boilerplate/tsconfig.json": jsonToReadableText({ @@ -382,4 +383,35 @@ a;b; "/a/lib/lib.es2021.full.d.ts": libFile.content, }, { currentDirectory: "/Users/name/projects/lib-boilerplate" }), }); + + verifyTscWatch({ + scenario: "forceConsistentCasingInFileNames", + subScenario: "when file is included from multiple places with different casing", + commandLineArgs: ["-w", "--explainFiles"], + sys: () => + createWatchedSystem( + getFsContentsForMultipleErrorsForceConsistentCasingInFileNames(), + { currentDirectory: "/home/src/projects/project" }, + ), + edits: [ + { + caption: "change to reuse imports", + edit: sys => sys.appendFile("/home/src/projects/project/src/struct.d.ts", "export const y = 10;"), + timeouts: sys => sys.runQueuedTimeoutCallbacks(), + }, + { + caption: "change to update imports", + edit: sys => + sys.writeFile( + "/home/src/projects/project/src/struct.d.ts", + dedent` + import * as xs1 from "fp-ts/lib/Struct"; + import * as xs2 from "fp-ts/lib/struct"; + import * as xs3 from "./Struct"; + `, + ), + timeouts: sys => sys.runQueuedTimeoutCallbacks(), + }, + ], + }); }); diff --git a/src/testRunner/unittests/tscWatch/incremental.ts b/src/testRunner/unittests/tscWatch/incremental.ts index 8e86fdfb93fd8..a702d2c22f74f 100644 --- a/src/testRunner/unittests/tscWatch/incremental.ts +++ b/src/testRunner/unittests/tscWatch/incremental.ts @@ -1,20 +1,20 @@ -import * as Harness from "../../_namespaces/Harness"; -import * as ts from "../../_namespaces/ts"; -import { jsonToReadableText } from "../helpers"; -import { CommandLineProgram } from "../helpers/baseline"; -import { libContent } from "../helpers/contents"; +import * as Harness from "../../_namespaces/Harness.js"; +import * as ts from "../../_namespaces/ts.js"; +import { jsonToReadableText } from "../helpers.js"; +import { CommandLineProgram } from "../helpers/baseline.js"; +import { libContent } from "../helpers/contents.js"; import { applyEdit, createBaseline, verifyTscWatch, watchBaseline, -} from "../helpers/tscWatch"; +} from "../helpers/tscWatch.js"; import { createWatchedSystem, File, libFile, TestServerHost, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsc-watch:: emit file --incremental", () => { const project = "/users/username/projects/project"; diff --git a/src/testRunner/unittests/tscWatch/libraryResolution.ts b/src/testRunner/unittests/tscWatch/libraryResolution.ts index 0efbe202e91bc..c66ef4e49eb8d 100644 --- a/src/testRunner/unittests/tscWatch/libraryResolution.ts +++ b/src/testRunner/unittests/tscWatch/libraryResolution.ts @@ -1,15 +1,17 @@ -import { jsonToReadableText } from "../helpers"; +import { dedent } from "../../_namespaces/Utils.js"; +import { jsonToReadableText } from "../helpers.js"; import { getCommandLineArgsForLibResolution, getSysForLibResolution, -} from "../helpers/libraryResolution"; + getSysForLibResolutionUnknown, +} from "../helpers/libraryResolution.js"; import { TscWatchCompileChange, TscWatchSystem, verifyTscWatch, -} from "../helpers/tscWatch"; +} from "../helpers/tscWatch.js"; -describe("unittests:: tsc-watch:: libraryResolution", () => { +describe("unittests:: tsc-watch:: libraryResolution::", () => { function commandLineArgs(withoutConfig: true | undefined) { return ["-w", ...getCommandLineArgsForLibResolution(withoutConfig), "--extendedDiagnostics"]; } @@ -147,4 +149,47 @@ describe("unittests:: tsc-watch:: libraryResolution", () => { } verify(); verify(/*withoutConfig*/ true); + + verifyTscWatch({ + scenario: "libraryResolution", + subScenario: "unknwon lib", + sys: () => getSysForLibResolutionUnknown(), + commandLineArgs: commandLineArgs(/*withoutConfig*/ undefined), + edits: [ + { + caption: "edit index", + edit: sys => sys.appendFile("/home/src/projects/project1/index.ts", "export const xyz = 10;"), + timeouts: sys => sys.runQueuedTimeoutCallbacks(), + }, + { + caption: "delete core", + edit: sys => sys.deleteFile("/home/src/projects/project1/core.d.ts"), + timeouts: sys => sys.runQueuedTimeoutCallbacks(), + }, + { + caption: "remove unknown lib", + edit: sys => + sys.writeFile( + "/home/src/projects/project1/file2.ts", + dedent` + /// + /// + `, + ), + timeouts: sys => sys.runQueuedTimeoutCallbacks(), + }, + { + caption: "correct webworker lib", + edit: sys => + sys.writeFile( + "/home/src/projects/project1/file2.ts", + dedent` + /// + /// + `, + ), + timeouts: sys => sys.runQueuedTimeoutCallbacks(), + }, + ], + }); }); diff --git a/src/testRunner/unittests/tscWatch/moduleResolution.ts b/src/testRunner/unittests/tscWatch/moduleResolution.ts index d11a142d876b8..8ffa7c9362f83 100644 --- a/src/testRunner/unittests/tscWatch/moduleResolution.ts +++ b/src/testRunner/unittests/tscWatch/moduleResolution.ts @@ -1,17 +1,17 @@ -import * as Utils from "../../_namespaces/Utils"; -import { jsonToReadableText } from "../helpers"; +import * as Utils from "../../_namespaces/Utils.js"; +import { jsonToReadableText } from "../helpers.js"; import { getFsConentsForAlternateResultAtTypesPackageJson, getFsContentsForAlternateResult, getFsContentsForAlternateResultDts, getFsContentsForAlternateResultPackageJson, -} from "../helpers/alternateResult"; -import { verifyTscWatch } from "../helpers/tscWatch"; +} from "../helpers/alternateResult.js"; +import { verifyTscWatch } from "../helpers/tscWatch.js"; import { createWatchedSystem, File, libFile, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsc-watch:: moduleResolution", () => { verifyTscWatch({ diff --git a/src/testRunner/unittests/tscWatch/noEmitOnError.ts b/src/testRunner/unittests/tscWatch/noEmitOnError.ts new file mode 100644 index 0000000000000..32b154c1f58db --- /dev/null +++ b/src/testRunner/unittests/tscWatch/noEmitOnError.ts @@ -0,0 +1,56 @@ +import { forEachNoEmitOnErrorScenario } from "../helpers/noEmitOnError.js"; +import { + TscWatchCompileChange, + verifyTscWatch, +} from "../helpers/tscWatch.js"; +import { createWatchedSystem } from "../helpers/virtualFileSystemWithWatch.js"; + +describe("unittests:: tsc-watch:: noEmitOnError::", () => { + function change(caption: string, content: string): TscWatchCompileChange { + return { + caption, + edit: sys => sys.writeFile(`/user/username/projects/noEmitOnError/src/main.ts`, content), + // build project + timeouts: sys => sys.runQueuedTimeoutCallbacks(), + }; + } + const noChange: TscWatchCompileChange = { + caption: "No change", + edit: sys => sys.writeFile(`/user/username/projects/noEmitOnError/src/main.ts`, sys.readFile(`/user/username/projects/noEmitOnError/src/main.ts`)!), + // build project + timeouts: sys => sys.runQueuedTimeoutCallbacks(), + }; + forEachNoEmitOnErrorScenario( + (fsContents, currentDirectory) => createWatchedSystem(fsContents, { currentDirectory }), + (scenarioName, sys) => { + verifyTscWatch({ + scenario: "noEmitOnError", + subScenario: scenarioName("noEmitOnError"), + commandLineArgs: ["--w"], + sys, + edits: [ + noChange, + change( + "Fix Syntax error", + `import { A } from "../shared/types/db"; +const a = { + lastName: 'sdsd' +};`, + ), + change( + "Semantic Error", + `import { A } from "../shared/types/db"; +const a: string = 10;`, + ), + noChange, + change( + "Fix Semantic Error", + `import { A } from "../shared/types/db"; +const a: string = "hello";`, + ), + noChange, + ], + }); + }, + ); +}); diff --git a/src/testRunner/unittests/tscWatch/nodeNextWatch.ts b/src/testRunner/unittests/tscWatch/nodeNextWatch.ts index 2f753a4e05170..6e5b9c0c7ea0b 100644 --- a/src/testRunner/unittests/tscWatch/nodeNextWatch.ts +++ b/src/testRunner/unittests/tscWatch/nodeNextWatch.ts @@ -1,11 +1,11 @@ -import * as Utils from "../../_namespaces/Utils"; -import { jsonToReadableText } from "../helpers"; -import { verifyTscWatch } from "../helpers/tscWatch"; +import * as Utils from "../../_namespaces/Utils.js"; +import { jsonToReadableText } from "../helpers.js"; +import { verifyTscWatch } from "../helpers/tscWatch.js"; import { createWatchedSystem, File, libFile, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsc-watch:: nodeNextWatch:: emit when module emit is specified as nodenext", () => { verifyTscWatch({ diff --git a/src/testRunner/unittests/tscWatch/programUpdates.ts b/src/testRunner/unittests/tscWatch/programUpdates.ts index b583441801f83..600a45563b4a8 100644 --- a/src/testRunner/unittests/tscWatch/programUpdates.ts +++ b/src/testRunner/unittests/tscWatch/programUpdates.ts @@ -1,8 +1,8 @@ -import * as Harness from "../../_namespaces/Harness"; -import * as ts from "../../_namespaces/ts"; -import { jsonToReadableText } from "../helpers"; -import { commandLineCallbacks } from "../helpers/baseline"; -import { compilerOptionsToConfigJson } from "../helpers/contents"; +import * as Harness from "../../_namespaces/Harness.js"; +import * as ts from "../../_namespaces/ts.js"; +import { jsonToReadableText } from "../helpers.js"; +import { commandLineCallbacks } from "../helpers/baseline.js"; +import { compilerOptionsToConfigJson } from "../helpers/contents.js"; import { commonFile1, commonFile2, @@ -13,14 +13,14 @@ import { TscWatchCompileChange, verifyTscWatch, watchBaseline, -} from "../helpers/tscWatch"; +} from "../helpers/tscWatch.js"; import { createWatchedSystem, File, libFile, SymLink, TestServerHost, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsc-watch:: program updates", () => { const scenario = "programUpdates"; diff --git a/src/testRunner/unittests/tscWatch/projectsWithReferences.ts b/src/testRunner/unittests/tscWatch/projectsWithReferences.ts index a6cc9f2ea89bf..e26fd44c774d9 100644 --- a/src/testRunner/unittests/tscWatch/projectsWithReferences.ts +++ b/src/testRunner/unittests/tscWatch/projectsWithReferences.ts @@ -1,23 +1,23 @@ -import { noop } from "../../_namespaces/ts"; -import { jsonToReadableText } from "../helpers"; -import { getProjectConfigWithNodeNext } from "../helpers/contents"; -import { getSysForSampleProjectReferences } from "../helpers/sampleProjectReferences"; +import { noop } from "../../_namespaces/ts.js"; +import { jsonToReadableText } from "../helpers.js"; +import { getProjectConfigWithNodeNext } from "../helpers/contents.js"; +import { getSysForSampleProjectReferences } from "../helpers/sampleProjectReferences.js"; import { createSolutionBuilder, solutionBuildWithBaseline, -} from "../helpers/solutionBuilder"; +} from "../helpers/solutionBuilder.js"; import { getFsContentsForTransitiveReferences, getFsContentsForTransitiveReferencesAConfig, getFsContentsForTransitiveReferencesBConfig, getFsContentsForTransitiveReferencesRefsAdts, -} from "../helpers/transitiveReferences"; -import { verifyTscWatch } from "../helpers/tscWatch"; +} from "../helpers/transitiveReferences.js"; +import { verifyTscWatch } from "../helpers/tscWatch.js"; import { createWatchedSystem, libFile, TestServerHost, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsc-watch:: projects with references: invoking when references are already built", () => { function verifySampleProject(withNodeNext: boolean) { diff --git a/src/testRunner/unittests/tscWatch/resolutionCache.ts b/src/testRunner/unittests/tscWatch/resolutionCache.ts index cb59a30499668..5df04803dc40d 100644 --- a/src/testRunner/unittests/tscWatch/resolutionCache.ts +++ b/src/testRunner/unittests/tscWatch/resolutionCache.ts @@ -1,19 +1,19 @@ -import * as ts from "../../_namespaces/ts"; -import * as Utils from "../../_namespaces/Utils"; -import { jsonToReadableText } from "../helpers"; -import { libContent } from "../helpers/contents"; +import * as ts from "../../_namespaces/ts.js"; +import * as Utils from "../../_namespaces/Utils.js"; +import { jsonToReadableText } from "../helpers.js"; +import { libContent } from "../helpers/contents.js"; import { createBaseline, createWatchCompilerHostOfFilesAndCompilerOptionsForBaseline, runWatchBaseline, verifyTscWatch, -} from "../helpers/tscWatch"; +} from "../helpers/tscWatch.js"; import { createWatchedSystem, File, libFile, SymLink, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsc-watch:: resolutionCache:: tsc-watch module resolution caching", () => { const scenario = "resolutionCache"; diff --git a/src/testRunner/unittests/tscWatch/resolveJsonModuleWithIncremental.ts b/src/testRunner/unittests/tscWatch/resolveJsonModuleWithIncremental.ts index a5ba4c33c3d8f..0679965470a07 100644 --- a/src/testRunner/unittests/tscWatch/resolveJsonModuleWithIncremental.ts +++ b/src/testRunner/unittests/tscWatch/resolveJsonModuleWithIncremental.ts @@ -1,9 +1,9 @@ -import { jsonToReadableText } from "../helpers"; -import { verifyTscWatch } from "../helpers/tscWatch"; +import { jsonToReadableText } from "../helpers.js"; +import { verifyTscWatch } from "../helpers/tscWatch.js"; import { createWatchedSystem, libFile, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsc-watch:: resolveJsonModuleWithIncremental:: emit file --incremental", () => { verifyTscWatch({ diff --git a/src/testRunner/unittests/tscWatch/sourceOfProjectReferenceRedirect.ts b/src/testRunner/unittests/tscWatch/sourceOfProjectReferenceRedirect.ts index ba76f6f73f204..d4a524ca76266 100644 --- a/src/testRunner/unittests/tscWatch/sourceOfProjectReferenceRedirect.ts +++ b/src/testRunner/unittests/tscWatch/sourceOfProjectReferenceRedirect.ts @@ -1,20 +1,20 @@ -import * as ts from "../../_namespaces/ts"; -import { jsonToReadableText } from "../helpers"; -import { FsContents } from "../helpers/contents"; -import { getFsContentsForDemoProjectReferences } from "../helpers/demoProjectReferences"; -import { solutionBuildWithBaseline } from "../helpers/solutionBuilder"; +import * as ts from "../../_namespaces/ts.js"; +import { jsonToReadableText } from "../helpers.js"; +import { FsContents } from "../helpers/contents.js"; +import { getFsContentsForDemoProjectReferences } from "../helpers/demoProjectReferences.js"; +import { solutionBuildWithBaseline } from "../helpers/solutionBuilder.js"; import { createBaseline, createWatchCompilerHostOfConfigFileForBaseline, runWatchBaseline, -} from "../helpers/tscWatch"; +} from "../helpers/tscWatch.js"; import { createWatchedSystem, File, FileOrFolderOrSymLink, libFile, SymLink, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsc-watch:: watchAPI:: with sourceOfProjectReferenceRedirect", () => { interface VerifyWatchInput { diff --git a/src/testRunner/unittests/tscWatch/symlinks.ts b/src/testRunner/unittests/tscWatch/symlinks.ts index b7cfd8697df52..3e019bead1b9b 100644 --- a/src/testRunner/unittests/tscWatch/symlinks.ts +++ b/src/testRunner/unittests/tscWatch/symlinks.ts @@ -2,15 +2,15 @@ import { buildMonorepoSymlinkedSiblingPackage1, cleanMonorepoSymlinkedSiblingPackage1, getMonorepoSymlinkedSiblingPackagesSys, -} from "../helpers/monorepoSymlinkedSiblingPackages"; +} from "../helpers/monorepoSymlinkedSiblingPackages.js"; import { noopChange, verifyTscWatch, -} from "../helpers/tscWatch"; +} from "../helpers/tscWatch.js"; import { osFlavorToString, TestServerHostOsFlavor, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsc-watch:: symlinks::", () => { describe("monorepoSymlinkedSiblingPackages:: monorepo style sibling packages symlinked", () => { diff --git a/src/testRunner/unittests/tscWatch/watchApi.ts b/src/testRunner/unittests/tscWatch/watchApi.ts index 0498d83869ed9..d49521a5b8478 100644 --- a/src/testRunner/unittests/tscWatch/watchApi.ts +++ b/src/testRunner/unittests/tscWatch/watchApi.ts @@ -1,9 +1,12 @@ -import * as Harness from "../../_namespaces/Harness"; -import * as ts from "../../_namespaces/ts"; -import { dedent } from "../../_namespaces/Utils"; -import { jsonToReadableText } from "../helpers"; -import { commandLineCallbacks } from "../helpers/baseline"; -import { libContent } from "../helpers/contents"; +import * as Harness from "../../_namespaces/Harness.js"; +import * as ts from "../../_namespaces/ts.js"; +import { dedent } from "../../_namespaces/Utils.js"; +import { jsonToReadableText } from "../helpers.js"; +import { commandLineCallbacks } from "../helpers/baseline.js"; +import { + compilerOptionsToConfigJson, + libContent, +} from "../helpers/contents.js"; import { applyEdit, createBaseline, @@ -12,12 +15,12 @@ import { runWatchBaseline, TscWatchSystem, watchBaseline, -} from "../helpers/tscWatch"; +} from "../helpers/tscWatch.js"; import { createWatchedSystem, File, libFile, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsc-watch:: watchAPI:: tsc-watch with custom module resolution", () => { it("verify that module resolution with json extension works when returned without extension", () => { @@ -337,111 +340,120 @@ describe("unittests:: tsc-watch:: watchAPI:: when watchHost uses createSemanticD verifyOutputs(baseline, sys, emitSys); } - it("verifies that noEmit is handled on createSemanticDiagnosticsBuilderProgram and typechecking happens only on affected files", () => { - const { sys, baseline, cb, getPrograms, config, mainFile } = createSystem("{}", "export const x = 10;"); - const host = createWatchCompilerHostOfConfigFileForBaseline({ - configFileName: config.path, - optionsToExtend: { noEmit: true }, - createProgram: ts.createSemanticDiagnosticsBuilderProgram, - system: sys, - cb, - }); - const watch = ts.createWatchProgram(host); - runWatchBaseline({ - scenario: "watchApi", - subScenario: "verifies that noEmit is handled on createSemanticDiagnosticsBuilderProgram", - commandLineArgs: ["--w", "--p", config.path], - sys, - baseline, - getPrograms, - edits: [{ - caption: "Modify a file", - edit: sys => sys.appendFile(mainFile.path, "\n// SomeComment"), - timeouts: sys => sys.runQueuedTimeoutCallbacks(), - }], - watchOrSolution: watch, + function verify(outFileOptions: ts.CompilerOptions | undefined) { + function scenarioName(scenario: string) { + return `${scenario}${outFileOptions ? "with outFile" : ""}`; + } + function baselineName(baseline: string) { + return `tscWatch/watchApi/${baseline}${outFileOptions ? "-outFile" : ""}.js`; + } + it(scenarioName("verifies that noEmit is handled on createSemanticDiagnosticsBuilderProgram and typechecking happens only on affected files"), () => { + const { sys, baseline, cb, getPrograms, config, mainFile } = createSystem("{}", "export const x = 10;"); + const host = createWatchCompilerHostOfConfigFileForBaseline({ + configFileName: config.path, + optionsToExtend: { noEmit: true, ...outFileOptions }, + createProgram: ts.createSemanticDiagnosticsBuilderProgram, + system: sys, + cb, + }); + const watch = ts.createWatchProgram(host); + runWatchBaseline({ + scenario: "watchApi", + subScenario: scenarioName("verifies that noEmit is handled on createSemanticDiagnosticsBuilderProgram"), + commandLineArgs: ["--w", "--p", config.path], + sys, + baseline, + getPrograms, + edits: [{ + caption: "Modify a file", + edit: sys => sys.appendFile(mainFile.path, "\n// SomeComment"), + timeouts: sys => sys.runQueuedTimeoutCallbacks(), + }], + watchOrSolution: watch, + }); }); - }); - - describe("noEmit with composite writes the tsbuildinfo with pending affected files correctly", () => { - let baseline: string[]; - let emitBaseline: string[]; - before(() => { - const configText = jsonToReadableText({ compilerOptions: { composite: true } }); - const mainText = "export const x = 10;"; - const result = createSystemForBuilderTest(configText, mainText); - baseline = result.baseline; - emitBaseline = result.emitBaseline; - const { sys, config, mainFile, emitSys } = result; + describe(scenarioName("noEmit with composite writes the tsbuildinfo with pending affected files correctly"), () => { + let baseline: string[]; + let emitBaseline: string[]; + before(() => { + const configText = jsonToReadableText({ compilerOptions: { composite: true, ...outFileOptions ? compilerOptionsToConfigJson(outFileOptions) : undefined } }); + const mainText = "export const x = 10;"; + const result = createSystemForBuilderTest(configText, mainText); + baseline = result.baseline; + emitBaseline = result.emitBaseline; + const { sys, config, mainFile, emitSys } = result; - // No Emit - verifyBuilder(baseline, emitBaseline, config, sys, emitSys, ts.createEmitAndSemanticDiagnosticsBuilderProgram, { noEmit: true }); + // No Emit + verifyBuilder(baseline, emitBaseline, config, sys, emitSys, ts.createEmitAndSemanticDiagnosticsBuilderProgram, { noEmit: true }); - // Emit on both sys should result in same output - verifyBuilder(baseline, emitBaseline, config, sys, emitSys, ts.createEmitAndSemanticDiagnosticsBuilderProgram); + // Emit on both sys should result in same output + verifyBuilder(baseline, emitBaseline, config, sys, emitSys, ts.createEmitAndSemanticDiagnosticsBuilderProgram); - // Change file - applyChangeForBuilderTest(baseline, emitBaseline, sys, emitSys, sys => sys.appendFile(mainFile.path, "\n// SomeComment"), "Add comment"); + // Change file + applyChangeForBuilderTest(baseline, emitBaseline, sys, emitSys, sys => sys.appendFile(mainFile.path, "\n// SomeComment"), "Add comment"); - // Verify noEmit results in same output - verifyBuilder(baseline, emitBaseline, config, sys, emitSys, ts.createSemanticDiagnosticsBuilderProgram, { noEmit: true }); + // Verify noEmit results in same output + verifyBuilder(baseline, emitBaseline, config, sys, emitSys, ts.createSemanticDiagnosticsBuilderProgram, { noEmit: true }); - // Emit on both sys should result in same output - verifyBuilder(baseline, emitBaseline, config, sys, emitSys, ts.createEmitAndSemanticDiagnosticsBuilderProgram); + // Emit on both sys should result in same output + verifyBuilder(baseline, emitBaseline, config, sys, emitSys, ts.createEmitAndSemanticDiagnosticsBuilderProgram); - // Change file - applyChangeForBuilderTest(baseline, emitBaseline, sys, emitSys, sys => sys.appendFile(mainFile.path, "\n// SomeComment"), "Add comment"); + // Change file + applyChangeForBuilderTest(baseline, emitBaseline, sys, emitSys, sys => sys.appendFile(mainFile.path, "\n// SomeComment"), "Add comment"); - // Emit on both the builders should result in same files - verifyBuilder(baseline, emitBaseline, config, sys, emitSys, ts.createSemanticDiagnosticsBuilderProgram); - }); - after(() => { - baseline = undefined!; - emitBaseline = undefined!; - }); - it("noEmit with composite writes the tsbuildinfo with pending affected files correctly", () => { - Harness.Baseline.runBaseline(`tscWatch/watchApi/noEmit-with-composite-with-semantic-builder.js`, baseline.join("\r\n")); - }); - it("baseline in createEmitAndSemanticDiagnosticsBuilderProgram:: noEmit with composite writes the tsbuildinfo with pending affected files correctly", () => { - Harness.Baseline.runBaseline(`tscWatch/watchApi/noEmit-with-composite-with-emit-builder.js`, emitBaseline.join("\r\n")); + // Emit on both the builders should result in same files + verifyBuilder(baseline, emitBaseline, config, sys, emitSys, ts.createSemanticDiagnosticsBuilderProgram); + }); + after(() => { + baseline = undefined!; + emitBaseline = undefined!; + }); + it("noEmit with composite writes the tsbuildinfo with pending affected files correctly", () => { + Harness.Baseline.runBaseline(baselineName("noEmit-with-composite-with-semantic-builder"), baseline.join("\r\n")); + }); + it("baseline in createEmitAndSemanticDiagnosticsBuilderProgram:: noEmit with composite writes the tsbuildinfo with pending affected files correctly", () => { + Harness.Baseline.runBaseline(baselineName("noEmit-with-composite-with-emit-builder"), emitBaseline.join("\r\n")); + }); }); - }); - describe("noEmitOnError with composite writes the tsbuildinfo with pending affected files correctly", () => { - let baseline: string[]; - let emitBaseline: string[]; - before(() => { - const configText = jsonToReadableText({ compilerOptions: { composite: true, noEmitOnError: true } }); - const mainText = "export const x: string = 10;"; - const result = createSystemForBuilderTest(configText, mainText); - baseline = result.baseline; - emitBaseline = result.emitBaseline; - const { sys, config, mainFile, emitSys } = result; + describe(scenarioName("noEmitOnError with composite writes the tsbuildinfo with pending affected files correctly"), () => { + let baseline: string[]; + let emitBaseline: string[]; + before(() => { + const configText = jsonToReadableText({ compilerOptions: { composite: true, noEmitOnError: true, ...outFileOptions ? compilerOptionsToConfigJson(outFileOptions) : undefined } }); + const mainText = "export const x: string = 10;"; + const result = createSystemForBuilderTest(configText, mainText); + baseline = result.baseline; + emitBaseline = result.emitBaseline; + const { sys, config, mainFile, emitSys } = result; - // Verify noEmit results in same output - verifyBuilder(baseline, emitBaseline, config, sys, emitSys, ts.createSemanticDiagnosticsBuilderProgram); + // Verify noEmit results in same output + verifyBuilder(baseline, emitBaseline, config, sys, emitSys, ts.createSemanticDiagnosticsBuilderProgram); - // Change file - applyChangeForBuilderTest(baseline, emitBaseline, sys, emitSys, sys => sys.appendFile(mainFile.path, "\n// SomeComment"), "Add comment"); + // Change file + applyChangeForBuilderTest(baseline, emitBaseline, sys, emitSys, sys => sys.appendFile(mainFile.path, "\n// SomeComment"), "Add comment"); - // Verify noEmit results in same output - verifyBuilder(baseline, emitBaseline, config, sys, emitSys, ts.createSemanticDiagnosticsBuilderProgram); + // Verify noEmit results in same output + verifyBuilder(baseline, emitBaseline, config, sys, emitSys, ts.createSemanticDiagnosticsBuilderProgram); - // Fix error - const fixed = "export const x = 10;"; - applyChangeForBuilderTest(baseline, emitBaseline, sys, emitSys, sys => sys.writeFile(mainFile.path, fixed), "Fix error"); + // Fix error + const fixed = "export const x = 10;"; + applyChangeForBuilderTest(baseline, emitBaseline, sys, emitSys, sys => sys.writeFile(mainFile.path, fixed), "Fix error"); - // Emit on both the builders should result in same files - verifyBuilder(baseline, emitBaseline, config, sys, emitSys, ts.createSemanticDiagnosticsBuilderProgram); - }); + // Emit on both the builders should result in same files + verifyBuilder(baseline, emitBaseline, config, sys, emitSys, ts.createSemanticDiagnosticsBuilderProgram); + }); - it("noEmitOnError with composite writes the tsbuildinfo with pending affected files correctly", () => { - Harness.Baseline.runBaseline(`tscWatch/watchApi/noEmitOnError-with-composite-with-semantic-builder.js`, baseline.join("\r\n")); - }); - it("baseline in createEmitAndSemanticDiagnosticsBuilderProgram:: noEmitOnError with composite writes the tsbuildinfo with pending affected files correctly", () => { - Harness.Baseline.runBaseline(`tscWatch/watchApi/noEmitOnError-with-composite-with-emit-builder.js`, emitBaseline.join("\r\n")); + it("noEmitOnError with composite writes the tsbuildinfo with pending affected files correctly", () => { + Harness.Baseline.runBaseline(baselineName("noEmitOnError-with-composite-with-semantic-builder"), baseline.join("\r\n")); + }); + it("baseline in createEmitAndSemanticDiagnosticsBuilderProgram:: noEmitOnError with composite writes the tsbuildinfo with pending affected files correctly", () => { + Harness.Baseline.runBaseline(baselineName("noEmitOnError-with-composite-with-emit-builder"), emitBaseline.join("\r\n")); + }); }); - }); + } + verify(/*outFileOptions*/ undefined); + verify({ outFile: "../outFile.js", module: ts.ModuleKind.AMD }); it("SemanticDiagnosticsBuilderProgram emitDtsOnly does not update affected files pending emit", () => { // Initial diff --git a/src/testRunner/unittests/tscWatch/watchEnvironment.ts b/src/testRunner/unittests/tscWatch/watchEnvironment.ts index 9310dbc1b3a62..de1d6dc34b562 100644 --- a/src/testRunner/unittests/tscWatch/watchEnvironment.ts +++ b/src/testRunner/unittests/tscWatch/watchEnvironment.ts @@ -1,11 +1,11 @@ -import * as ts from "../../_namespaces/ts"; -import { jsonToReadableText } from "../helpers"; +import * as ts from "../../_namespaces/ts.js"; +import { jsonToReadableText } from "../helpers.js"; import { commonFile1, commonFile2, noopChange, verifyTscWatch, -} from "../helpers/tscWatch"; +} from "../helpers/tscWatch.js"; import { createWatchedSystem, File, @@ -15,7 +15,7 @@ import { TestServerHostOsFlavor, Tsc_WatchDirectory, Tsc_WatchFile, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsc-watch:: watchEnvironment:: tsc-watch with different polling/non polling options", () => { const scenario = "watchEnvironment"; diff --git a/src/testRunner/unittests/tsserver/applyChangesToOpenFiles.ts b/src/testRunner/unittests/tsserver/applyChangesToOpenFiles.ts index aa164b8a68e41..03bd9121af320 100644 --- a/src/testRunner/unittests/tsserver/applyChangesToOpenFiles.ts +++ b/src/testRunner/unittests/tsserver/applyChangesToOpenFiles.ts @@ -1,17 +1,17 @@ -import * as ts from "../../_namespaces/ts"; +import * as ts from "../../_namespaces/ts.js"; import { commonFile1, commonFile2, -} from "../helpers/tscWatch"; +} from "../helpers/tscWatch.js"; import { baselineTsserverLogs, TestSession, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, File, libFile, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: applyChangesToOpenFiles", () => { function fileContentWithComment(file: File) { diff --git a/src/testRunner/unittests/tsserver/autoImportProvider.ts b/src/testRunner/unittests/tsserver/autoImportProvider.ts index f0f8bb107d4a5..29267fd3ff8b9 100644 --- a/src/testRunner/unittests/tsserver/autoImportProvider.ts +++ b/src/testRunner/unittests/tsserver/autoImportProvider.ts @@ -1,15 +1,15 @@ -import * as ts from "../../_namespaces/ts"; -import { jsonToReadableText } from "../helpers"; +import * as ts from "../../_namespaces/ts.js"; +import { jsonToReadableText } from "../helpers.js"; import { baselineTsserverLogs, closeFilesForSession, openFilesForSession, TestSession, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, File, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; const angularFormsDts: File = { path: "/node_modules/@angular/forms/forms.d.ts", diff --git a/src/testRunner/unittests/tsserver/auxiliaryProject.ts b/src/testRunner/unittests/tsserver/auxiliaryProject.ts index b030d17429387..4571aa3865570 100644 --- a/src/testRunner/unittests/tsserver/auxiliaryProject.ts +++ b/src/testRunner/unittests/tsserver/auxiliaryProject.ts @@ -1,17 +1,17 @@ -import * as ts from "../../_namespaces/ts"; -import { dedent } from "../../_namespaces/Utils"; -import { jsonToReadableText } from "../helpers"; +import * as ts from "../../_namespaces/ts.js"; +import { dedent } from "../../_namespaces/Utils.js"; +import { jsonToReadableText } from "../helpers.js"; import { baselineTsserverLogs, openFilesForSession, protocolFileLocationFromSubstring, TestSession, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, File, libFile, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: auxiliaryProject::", () => { it("AuxiliaryProject does not remove scrips from InferredProject", () => { diff --git a/src/testRunner/unittests/tsserver/cachingFileSystemInformation.ts b/src/testRunner/unittests/tsserver/cachingFileSystemInformation.ts index 56854dd05894e..44ea2d57e82c0 100644 --- a/src/testRunner/unittests/tsserver/cachingFileSystemInformation.ts +++ b/src/testRunner/unittests/tsserver/cachingFileSystemInformation.ts @@ -1,14 +1,14 @@ -import { IncrementalVerifierCallbacks } from "../../../harness/incrementalUtils"; -import { LoggerWithInMemoryLogs } from "../../../harness/tsserverLogger"; -import * as ts from "../../_namespaces/ts"; -import { jsonToReadableText } from "../helpers"; +import { IncrementalVerifierCallbacks } from "../../../harness/incrementalUtils.js"; +import { LoggerWithInMemoryLogs } from "../../../harness/tsserverLogger.js"; +import * as ts from "../../_namespaces/ts.js"; +import { jsonToReadableText } from "../helpers.js"; import { baselineTsserverLogs, logDiagnostics, openFilesForSession, setCompilerOptionsForInferredProjectsRequestForSession, TestSession, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, File, @@ -16,7 +16,7 @@ import { libFile, SymLink, TestServerHost, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: CachingFileSystemInformation:: tsserverProjectSystem CachingFileSystemInformation", () => { type CalledMapsWithSingleArg = "fileExists" | "directoryExists" | "getDirectories" | "readFile"; diff --git a/src/testRunner/unittests/tsserver/cancellationToken.ts b/src/testRunner/unittests/tsserver/cancellationToken.ts index 7feaac7c930ca..b1562e039877a 100644 --- a/src/testRunner/unittests/tsserver/cancellationToken.ts +++ b/src/testRunner/unittests/tsserver/cancellationToken.ts @@ -1,11 +1,11 @@ -import * as ts from "../../_namespaces/ts"; -import { jsonToReadableText } from "../helpers"; +import * as ts from "../../_namespaces/ts.js"; +import { jsonToReadableText } from "../helpers.js"; import { baselineTsserverLogs, TestSession, TestSessionRequest, -} from "../helpers/tsserver"; -import { createServerHost } from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/tsserver.js"; +import { createServerHost } from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: cancellationToken", () => { // Disable sourcemap support for the duration of the test, as sourcemapping the errors generated during this test is slow and not something we care to test diff --git a/src/testRunner/unittests/tsserver/codeFix.ts b/src/testRunner/unittests/tsserver/codeFix.ts index 3b22ca80a5c5d..fbf76a8f74b71 100644 --- a/src/testRunner/unittests/tsserver/codeFix.ts +++ b/src/testRunner/unittests/tsserver/codeFix.ts @@ -1,14 +1,14 @@ -import * as ts from "../../_namespaces/ts"; -import { dedent } from "../../_namespaces/Utils"; +import * as ts from "../../_namespaces/ts.js"; +import { dedent } from "../../_namespaces/Utils.js"; import { baselineTsserverLogs, openFilesForSession, TestSession, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, libFile, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: codeFix::", () => { function setup() { diff --git a/src/testRunner/unittests/tsserver/compileOnSave.ts b/src/testRunner/unittests/tsserver/compileOnSave.ts index 2d85bea12db48..2fc1754e4cd08 100644 --- a/src/testRunner/unittests/tsserver/compileOnSave.ts +++ b/src/testRunner/unittests/tsserver/compileOnSave.ts @@ -1,9 +1,9 @@ import { createLoggerWithInMemoryLogs, LoggerWithInMemoryLogs, -} from "../../../harness/tsserverLogger"; -import * as ts from "../../_namespaces/ts"; -import { jsonToReadableText } from "../helpers"; +} from "../../../harness/tsserverLogger.js"; +import * as ts from "../../_namespaces/ts.js"; +import { jsonToReadableText } from "../helpers.js"; import { baselineTsserverLogs, openExternalProjectForSession, @@ -11,12 +11,12 @@ import { protocolTextSpanFromSubstring, TestSession, toExternalFiles, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, File, libFile, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: compileOnSave:: affected list", () => { describe("for configured projects", () => { diff --git a/src/testRunner/unittests/tsserver/completions.ts b/src/testRunner/unittests/tsserver/completions.ts index aeaee7cd1e82f..bf8f58bc3a088 100644 --- a/src/testRunner/unittests/tsserver/completions.ts +++ b/src/testRunner/unittests/tsserver/completions.ts @@ -1,15 +1,15 @@ -import * as ts from "../../_namespaces/ts"; -import { jsonToReadableText } from "../helpers"; +import * as ts from "../../_namespaces/ts.js"; +import { jsonToReadableText } from "../helpers.js"; import { baselineTsserverLogs, openFilesForSession, TestSession, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, File, libFile, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: completions::", () => { it("works", () => { diff --git a/src/testRunner/unittests/tsserver/completionsIncomplete.ts b/src/testRunner/unittests/tsserver/completionsIncomplete.ts index 3467e99090efe..a9c2d49230f94 100644 --- a/src/testRunner/unittests/tsserver/completionsIncomplete.ts +++ b/src/testRunner/unittests/tsserver/completionsIncomplete.ts @@ -1,13 +1,13 @@ -import * as ts from "../../_namespaces/ts"; +import * as ts from "../../_namespaces/ts.js"; import { baselineTsserverLogs, openFilesForSession, TestSession, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, File, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; function createExportingModuleFile(path: string, exportPrefix: string, exportCount: number): File { return { diff --git a/src/testRunner/unittests/tsserver/configFileSearch.ts b/src/testRunner/unittests/tsserver/configFileSearch.ts index bac7a19820298..3ee337cf11799 100644 --- a/src/testRunner/unittests/tsserver/configFileSearch.ts +++ b/src/testRunner/unittests/tsserver/configFileSearch.ts @@ -3,12 +3,12 @@ import { closeFilesForSession, openFilesForSession, TestSession, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, File, libFile, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: configFileSearch:: searching for config file", () => { it("should stop at projectRootPath if given", () => { diff --git a/src/testRunner/unittests/tsserver/configuredProjects.ts b/src/testRunner/unittests/tsserver/configuredProjects.ts index 937dddc7ce3c6..96c3a48c7f81d 100644 --- a/src/testRunner/unittests/tsserver/configuredProjects.ts +++ b/src/testRunner/unittests/tsserver/configuredProjects.ts @@ -1,26 +1,26 @@ -import * as ts from "../../_namespaces/ts"; -import { jsonToReadableText } from "../helpers"; -import { compilerOptionsToConfigJson } from "../helpers/contents"; -import { ensureErrorFreeBuild } from "../helpers/solutionBuilder"; +import * as ts from "../../_namespaces/ts.js"; +import { jsonToReadableText } from "../helpers.js"; +import { compilerOptionsToConfigJson } from "../helpers/contents.js"; +import { ensureErrorFreeBuild } from "../helpers/solutionBuilder.js"; import { commonFile1, commonFile2, -} from "../helpers/tscWatch"; +} from "../helpers/tscWatch.js"; import { baselineTsserverLogs, closeFilesForSession, openFilesForSession, TestSession, verifyGetErrRequest, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, File, libFile, SymLink, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; -describe("unittests:: tsserver:: ConfiguredProjects", () => { +describe("unittests:: tsserver:: configuredProjects::", () => { it("create configured project without file list", () => { const configFile: File = { path: "/a/b/tsconfig.json", @@ -132,108 +132,160 @@ describe("unittests:: tsserver:: ConfiguredProjects", () => { baselineTsserverLogs("configuredProjects", "add and then remove a config file in a folder with loose files", session); }); - it("add and then remove a config file when parent folder has config file", () => { - const configFile: File = { - path: `/user/username/projects/myproject/folder/tsconfig.json`, - content: jsonToReadableText({ files: ["commonFile1.ts"] }), - }; - const parentConfigFile: File = { - path: `/user/username/projects/myproject/tsconfig.json`, - content: jsonToReadableText({ files: ["folder/commonFile2.ts"] }), - }; - const commonFile1: File = { - path: `/user/username/projects/myproject/folder/commonFile1.ts`, - content: "let x = 1", - }; - const commonFile2: File = { - path: `/user/username/projects/myproject/folder/commonFile2.ts`, - content: "let y = 1", - }; + describe("add and then remove a config file with another config", () => { + function setup(parentOrSiblingConfigFile: File) { + const configFile: File = { + path: `/user/username/projects/myproject/folder/tsconfig.json`, + content: jsonToReadableText({ files: ["commonFile1.ts"] }), + }; + const commonFile1: File = { + path: `/user/username/projects/myproject/folder/commonFile1.ts`, + content: "let x = 1", + }; + const commonFile2: File = { + path: `/user/username/projects/myproject/folder/commonFile2.ts`, + content: "let y = 1", + }; - const host = createServerHost([libFile, commonFile1, commonFile2, configFile, parentConfigFile]); + const host = createServerHost([libFile, commonFile1, commonFile2, configFile, parentOrSiblingConfigFile]); + const session = new TestSession(host); + return { host, session, commonFile1, commonFile2, configFile }; + } + function verify(scenario: string, parentOrSiblingConfigFile: File) { + it(`add and then remove a config file ${scenario}`, () => { + const { host, session, commonFile1, commonFile2, configFile } = setup(parentOrSiblingConfigFile); - const session = new TestSession(host); + openFilesForSession([commonFile1], session); - // 1: When config file is deleted and then another file is opened - openFilesForSession([commonFile1], session); + session.logger.log("1: When config file is deleted and then another file is opened"); + // remove the tsconfig file + host.deleteFile(configFile.path); + openFilesForSession([commonFile2], session); - // remove the tsconfig file - host.deleteFile(configFile.path); - openFilesForSession([commonFile2], session); + // Add a tsconfig file + host.writeFile(configFile.path, configFile.content); + host.runQueuedTimeoutCallbacks(); - // Add a tsconfig file - host.writeFile(configFile.path, configFile.content); - host.runQueuedTimeoutCallbacks(); + // Check the state after files collected + openFilesForSession([{ file: "/random/random.ts", content: "export const y = 10;" }], session); - // Check the state after files collected - openFilesForSession([{ file: "/random/random.ts", content: "export const y = 10;" }], session); + // Check status when all files are closed + closeFilesForSession([commonFile1, commonFile2, "/random/random.ts"], session); + openFilesForSession([{ file: "/random/random.ts", content: "export const y = 10;" }], session); - // Check status when all files are closed - closeFilesForSession([commonFile1, commonFile2, "/random/random.ts"], session); - openFilesForSession([{ file: "/random/random.ts", content: "export const y = 10;" }], session); + closeFilesForSession(["/random/random.ts"], session); + openFilesForSession([commonFile1, commonFile2], session); - // 2: When both files are open and config file is deleted - closeFilesForSession(["/random/random.ts"], session); - openFilesForSession([commonFile1, commonFile2], session); + session.logger.log("2: When both files are open and config file is deleted"); + // remove the tsconfig file + host.deleteFile(configFile.path); + host.runQueuedTimeoutCallbacks(); - // remove the tsconfig file - host.deleteFile(configFile.path); - host.runQueuedTimeoutCallbacks(); + // Add a tsconfig file + host.writeFile(configFile.path, configFile.content); + host.runQueuedTimeoutCallbacks(); // load configured project from disk + ensureProjectsForOpenFiles - // Add a tsconfig file - host.writeFile(configFile.path, configFile.content); - host.runQueuedTimeoutCallbacks(); // load configured project from disk + ensureProjectsForOpenFiles + openFilesForSession([{ file: "/random/random.ts", content: "export const y = 10;" }], session); - openFilesForSession([{ file: "/random/random.ts", content: "export const y = 10;" }], session); + closeFilesForSession([commonFile1, commonFile2, "/random/random.ts"], session); + openFilesForSession([{ file: "/random/random.ts", content: "export const y = 10;" }], session); - closeFilesForSession([commonFile1, commonFile2, "/random/random.ts"], session); - openFilesForSession([{ file: "/random/random.ts", content: "export const y = 10;" }], session); + closeFilesForSession(["/random/random.ts"], session); + openFilesForSession([commonFile1], session); - // 3: Check when both files are closed when config file is deleted - closeFilesForSession(["/random/random.ts"], session); - openFilesForSession([commonFile1], session); + session.logger.log("3: Check when both files are closed when config file is deleted"); + // remove the tsconfig file + host.deleteFile(configFile.path); + openFilesForSession([commonFile2], session); - // remove the tsconfig file - host.deleteFile(configFile.path); - openFilesForSession([commonFile2], session); + // State after open files are closed + closeFilesForSession([commonFile1, commonFile2], session); + openFilesForSession([{ file: "/random/random.ts", content: "export const y = 10;" }], session); - // State after open files are closed - closeFilesForSession([commonFile1, commonFile2], session); - openFilesForSession([{ file: "/random/random.ts", content: "export const y = 10;" }], session); + host.writeFile(configFile.path, configFile.content); + closeFilesForSession(["/random/random.ts"], session); + openFilesForSession([commonFile1], session); - // 4: Check when both files are closed one by one when file is deleted - host.writeFile(configFile.path, configFile.content); - closeFilesForSession(["/random/random.ts"], session); - openFilesForSession([commonFile1], session); + session.logger.log("4: Check when both files are closed one by one when file is deleted"); + // remove the tsconfig file + host.deleteFile(configFile.path); + openFilesForSession([commonFile2], session); - // remove the tsconfig file - host.deleteFile(configFile.path); - openFilesForSession([commonFile2], session); + // State after open files are closed + closeFilesForSession([commonFile1], session); + openFilesForSession([{ file: "/random/random.ts", content: "export const y = 10;" }], session); - // State after open files are closed - closeFilesForSession([commonFile1], session); - openFilesForSession([{ file: "/random/random.ts", content: "export const y = 10;" }], session); + closeFilesForSession([commonFile2, "random/random.ts"], session); + openFilesForSession([{ file: "/random/random.ts", content: "export const y = 10;" }], session); - closeFilesForSession([commonFile2, "random/random.ts"], session); - openFilesForSession([{ file: "/random/random.ts", content: "export const y = 10;" }], session); + host.writeFile(configFile.path, configFile.content); + closeFilesForSession(["/random/random.ts"], session); + openFilesForSession([commonFile1], session); - // 5: Check when both files are closed one by one when file is deleted order changed - host.writeFile(configFile.path, configFile.content); - closeFilesForSession(["/random/random.ts"], session); - openFilesForSession([commonFile1], session); + session.logger.log("5: Check when both files are closed one by one when file is deleted order changed"); + // remove the tsconfig file + host.deleteFile(configFile.path); + openFilesForSession([commonFile2], session); - // remove the tsconfig file - host.deleteFile(configFile.path); - openFilesForSession([commonFile2], session); + // State after open files are closed + closeFilesForSession([commonFile2], session); + openFilesForSession([{ file: "/random/random.ts", content: "export const y = 10;" }], session); - // State after open files are closed - closeFilesForSession([commonFile2], session); - openFilesForSession([{ file: "/random/random.ts", content: "export const y = 10;" }], session); + closeFilesForSession([commonFile1, "random/random.ts"], session); + openFilesForSession([{ file: "/random/random.ts", content: "export const y = 10;" }], session); - closeFilesForSession([commonFile1, "random/random.ts"], session); - openFilesForSession([{ file: "/random/random.ts", content: "export const y = 10;" }], session); + session.logger.log("6. Check closing commonFile2 first"); + host.writeFile(configFile.path, configFile.content); + closeFilesForSession(["/random/random.ts"], session); + openFilesForSession([commonFile1, commonFile2], session); + closeFilesForSession([commonFile2], session); + openFilesForSession([{ file: "/random/random.ts", content: "export const y = 10;" }], session); + + baselineTsserverLogs("configuredProjects", `add and then remove a config file ${scenario}`, session); + }); + + it(`add and then remove a config file ${scenario} and file from first config is not open`, () => { + const { host, session, commonFile2, configFile } = setup(parentOrSiblingConfigFile); + openFilesForSession([commonFile2], session); + + session.logger.log("1: When config file is deleted"); + // remove the tsconfig file + host.deleteFile(configFile.path); + host.runQueuedTimeoutCallbacks(); + + // Add a tsconfig file + host.writeFile(configFile.path, configFile.content); + host.runQueuedTimeoutCallbacks(); + + // Check the state after files collected + openFilesForSession([{ file: "/random/random.ts", content: "export const y = 10;" }], session); + + // Check status when all files are closed + closeFilesForSession([commonFile2, "/random/random.ts"], session); + openFilesForSession([{ file: "/random/random.ts", content: "export const y = 10;" }], session); - baselineTsserverLogs("configuredProjects", "add and then remove a config file when parent folder has config file", session); + closeFilesForSession(["/random/random.ts"], session); + openFilesForSession([commonFile2], session); + + session.logger.log("2: Check when file is closed when config file is deleted"); + // remove the tsconfig file + host.deleteFile(configFile.path); + + // State after open files are closed + closeFilesForSession([commonFile2], session); + openFilesForSession([{ file: "/random/random.ts", content: "export const y = 10;" }], session); + + baselineTsserverLogs("configuredProjects", `add and then remove a config file ${scenario} and file from first config is not open`, session); + }); + } + verify("when parent folder has config file", { + path: `/user/username/projects/myproject/tsconfig.json`, + content: jsonToReadableText({ files: ["folder/commonFile2.ts"] }), + }); + verify("with sibling jsconfig file", { + path: `/user/username/projects/myproject/folder/jsconfig.json`, + content: jsonToReadableText({ files: ["commonFile2.ts"], typeAcquisition: { enable: false } }), + }); }); it("add new files to a configured project without file list", () => { diff --git a/src/testRunner/unittests/tsserver/declarationFileMaps.ts b/src/testRunner/unittests/tsserver/declarationFileMaps.ts index f46a08399d372..f3418e893df4c 100644 --- a/src/testRunner/unittests/tsserver/declarationFileMaps.ts +++ b/src/testRunner/unittests/tsserver/declarationFileMaps.ts @@ -1,16 +1,16 @@ -import * as ts from "../../_namespaces/ts"; -import { jsonToReadableText } from "../helpers"; +import * as ts from "../../_namespaces/ts.js"; +import { jsonToReadableText } from "../helpers.js"; import { baselineTsserverLogs, closeFilesForSession, openFilesForSession, protocolFileLocationFromSubstring, TestSession, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, File, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; function checkDeclarationFiles(file: File, session: TestSession): void { openFilesForSession([file], session); diff --git a/src/testRunner/unittests/tsserver/documentRegistry.ts b/src/testRunner/unittests/tsserver/documentRegistry.ts index 449c076118ae2..f135495ef6947 100644 --- a/src/testRunner/unittests/tsserver/documentRegistry.ts +++ b/src/testRunner/unittests/tsserver/documentRegistry.ts @@ -1,17 +1,17 @@ -import { reportDocumentRegistryStats } from "../../../harness/incrementalUtils"; -import * as ts from "../../_namespaces/ts"; -import { jsonToReadableText } from "../helpers"; +import { reportDocumentRegistryStats } from "../../../harness/incrementalUtils.js"; +import * as ts from "../../_namespaces/ts.js"; +import { jsonToReadableText } from "../helpers.js"; import { baselineTsserverLogs, closeFilesForSession, openFilesForSession, TestSession, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, File, libFile, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: documentRegistry:: document registry in project service", () => { const importModuleContent = `import {a} from "./module1"`; diff --git a/src/testRunner/unittests/tsserver/duplicatePackages.ts b/src/testRunner/unittests/tsserver/duplicatePackages.ts index 2a5078493127d..9997277e6977c 100644 --- a/src/testRunner/unittests/tsserver/duplicatePackages.ts +++ b/src/testRunner/unittests/tsserver/duplicatePackages.ts @@ -1,14 +1,14 @@ -import * as ts from "../../_namespaces/ts"; -import { jsonToReadableText } from "../helpers"; +import * as ts from "../../_namespaces/ts.js"; +import { jsonToReadableText } from "../helpers.js"; import { baselineTsserverLogs, openFilesForSession, TestSession, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, File, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: duplicate packages", () => { // Tests that 'moduleSpecifiers.ts' will import from the redirecting file, and not from the file it redirects to, if that can provide a global module specifier. diff --git a/src/testRunner/unittests/tsserver/dynamicFiles.ts b/src/testRunner/unittests/tsserver/dynamicFiles.ts index df1e603348be5..adbaff4bf957b 100644 --- a/src/testRunner/unittests/tsserver/dynamicFiles.ts +++ b/src/testRunner/unittests/tsserver/dynamicFiles.ts @@ -1,4 +1,4 @@ -import * as ts from "../../_namespaces/ts"; +import * as ts from "../../_namespaces/ts.js"; import { baselineTsserverLogs, closeFilesForSession, @@ -6,12 +6,12 @@ import { protocolFileLocationFromSubstring, setCompilerOptionsForInferredProjectsRequestForSession, TestSession, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, File, libFile, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; function verifyPathRecognizedAsDynamic(subscenario: string, path: string) { it(subscenario, () => { @@ -217,10 +217,7 @@ describe("unittests:: tsserver:: dynamicFiles:: ", () => { }], session); } catch (e) { - assert.strictEqual( - e.message.replace(/\r?\n/, "\n"), - `Debug Failure. False expression.\nVerbose Debug Information: {"fileName":"^walkThroughSnippet:/Users/UserName/projects/someProject/out/someFile#1.js","currentDirectory":"/user/username/projects/myproject","hostCurrentDirectory":"/","openKeys":[]}\nDynamic files must always be opened with service's current directory or service should support inferred project per projectRootPath.`, - ); + session.logger.info(e.message); } const file2Path = file.path.replace("#1", "#2"); openFilesForSession([{ file: file2Path, content: file.content }], session); diff --git a/src/testRunner/unittests/tsserver/events/largeFileReferenced.ts b/src/testRunner/unittests/tsserver/events/largeFileReferenced.ts index f596808ad1232..0efdef96bae23 100644 --- a/src/testRunner/unittests/tsserver/events/largeFileReferenced.ts +++ b/src/testRunner/unittests/tsserver/events/largeFileReferenced.ts @@ -1,15 +1,15 @@ -import * as ts from "../../../_namespaces/ts"; -import { jsonToReadableText } from "../../helpers"; +import * as ts from "../../../_namespaces/ts.js"; +import { jsonToReadableText } from "../../helpers.js"; import { baselineTsserverLogs, openFilesForSession, TestSession, -} from "../../helpers/tsserver"; +} from "../../helpers/tsserver.js"; import { createServerHost, File, libFile, -} from "../../helpers/virtualFileSystemWithWatch"; +} from "../../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: events:: LargeFileReferencedEvent with large file", () => { function getFileType(useLargeTsFile: boolean) { diff --git a/src/testRunner/unittests/tsserver/events/projectLanguageServiceState.ts b/src/testRunner/unittests/tsserver/events/projectLanguageServiceState.ts index 86b70c73a0d93..78c8ebe54abe5 100644 --- a/src/testRunner/unittests/tsserver/events/projectLanguageServiceState.ts +++ b/src/testRunner/unittests/tsserver/events/projectLanguageServiceState.ts @@ -1,15 +1,15 @@ -import * as ts from "../../../_namespaces/ts"; -import { jsonToReadableText } from "../../helpers"; +import * as ts from "../../../_namespaces/ts.js"; +import { jsonToReadableText } from "../../helpers.js"; import { baselineTsserverLogs, openFilesForSession, TestSession, -} from "../../helpers/tsserver"; +} from "../../helpers/tsserver.js"; import { createServerHost, File, libFile, -} from "../../helpers/virtualFileSystemWithWatch"; +} from "../../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: events:: ProjectLanguageServiceStateEvent", () => { it("language service disabled events are triggered", () => { diff --git a/src/testRunner/unittests/tsserver/events/projectLoading.ts b/src/testRunner/unittests/tsserver/events/projectLoading.ts index 928385c5d7d70..37563484175f1 100644 --- a/src/testRunner/unittests/tsserver/events/projectLoading.ts +++ b/src/testRunner/unittests/tsserver/events/projectLoading.ts @@ -1,5 +1,5 @@ -import * as ts from "../../../_namespaces/ts"; -import { jsonToReadableText } from "../../helpers"; +import * as ts from "../../../_namespaces/ts.js"; +import { jsonToReadableText } from "../../helpers.js"; import { baselineTsserverLogs, createSessionWithCustomEventHandler, @@ -8,13 +8,13 @@ import { protocolLocationFromSubstring, TestSession, toExternalFiles, -} from "../../helpers/tsserver"; +} from "../../helpers/tsserver.js"; import { createServerHost, File, libFile, TestServerHost, -} from "../../helpers/virtualFileSystemWithWatch"; +} from "../../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: events:: ProjectLoadingStart and ProjectLoadingFinish events", () => { const aTs: File = { diff --git a/src/testRunner/unittests/tsserver/events/projectUpdatedInBackground.ts b/src/testRunner/unittests/tsserver/events/projectUpdatedInBackground.ts index 853d503d86467..dc811257d56a7 100644 --- a/src/testRunner/unittests/tsserver/events/projectUpdatedInBackground.ts +++ b/src/testRunner/unittests/tsserver/events/projectUpdatedInBackground.ts @@ -1,17 +1,17 @@ -import * as ts from "../../../_namespaces/ts"; -import { jsonToReadableText } from "../../helpers"; +import * as ts from "../../../_namespaces/ts.js"; +import { jsonToReadableText } from "../../helpers.js"; import { baselineTsserverLogs, createSessionWithCustomEventHandler, openFilesForSession, TestSession, -} from "../../helpers/tsserver"; +} from "../../helpers/tsserver.js"; import { createServerHost, File, libFile, TestServerHost, -} from "../../helpers/virtualFileSystemWithWatch"; +} from "../../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: events:: ProjectsUpdatedInBackground", () => { function verifyProjectsUpdatedInBackgroundEvent(scenario: string, createSession: (host: TestServerHost) => TestSession) { diff --git a/src/testRunner/unittests/tsserver/events/watchEvents.ts b/src/testRunner/unittests/tsserver/events/watchEvents.ts index fac344a166ed3..8093406908c50 100644 --- a/src/testRunner/unittests/tsserver/events/watchEvents.ts +++ b/src/testRunner/unittests/tsserver/events/watchEvents.ts @@ -1,25 +1,25 @@ import { createLoggerWithInMemoryLogs, LoggerWithInMemoryLogs, -} from "../../../../harness/tsserverLogger"; +} from "../../../../harness/tsserverLogger.js"; import { createWatchUtils, Watches, WatchUtils, -} from "../../../../harness/watchUtils"; -import * as ts from "../../../_namespaces/ts"; +} from "../../../../harness/watchUtils.js"; +import * as ts from "../../../_namespaces/ts.js"; import { baselineTsserverLogs, closeFilesForSession, createSessionWithCustomEventHandler, openFilesForSession, TestSession, -} from "../../helpers/tsserver"; +} from "../../helpers/tsserver.js"; import { createServerHost, libFile, TestServerHost, -} from "../../helpers/virtualFileSystemWithWatch"; +} from "../../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: events:: watchEvents", () => { interface TestServerHostWithCustomWatch extends TestServerHost { diff --git a/src/testRunner/unittests/tsserver/exportMapCache.ts b/src/testRunner/unittests/tsserver/exportMapCache.ts index 5d0e6bf375bd9..7c3bfb2d6176a 100644 --- a/src/testRunner/unittests/tsserver/exportMapCache.ts +++ b/src/testRunner/unittests/tsserver/exportMapCache.ts @@ -1,20 +1,20 @@ -import * as ts from "../../_namespaces/ts"; +import * as ts from "../../_namespaces/ts.js"; import { protocol, updateProjectIfDirty, -} from "../../_namespaces/ts.server"; -import { jsonToReadableText } from "../helpers"; +} from "../../_namespaces/ts.server.js"; +import { jsonToReadableText } from "../helpers.js"; import { baselineTsserverLogs, closeFilesForSession, openFilesForSession, TestSession, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, File, libFile, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; const packageJson: File = { path: "/package.json", @@ -117,8 +117,8 @@ describe("unittests:: tsserver:: exportMapCache::", () => { if (symbolName === "SIGINT") sigintPropBefore = info; }); assert.ok(sigintPropBefore); - assert.ok(sigintPropBefore![0].symbol.flags & ts.SymbolFlags.Transient); - const symbolIdBefore = ts.getSymbolId(sigintPropBefore![0].symbol); + assert.ok(sigintPropBefore[0].symbol.flags & ts.SymbolFlags.Transient); + const symbolIdBefore = ts.getSymbolId(sigintPropBefore[0].symbol); // Update program without clearing cache session.executeCommandSeq({ @@ -143,7 +143,7 @@ describe("unittests:: tsserver:: exportMapCache::", () => { if (symbolName === "SIGINT") sigintPropAfter = info; }); assert.ok(sigintPropAfter); - assert.notEqual(symbolIdBefore, ts.getSymbolId(sigintPropAfter![0].symbol)); + assert.notEqual(symbolIdBefore, ts.getSymbolId(sigintPropAfter[0].symbol)); baselineTsserverLogs("exportMapCache", "does not store transient symbols through program updates", session); }); diff --git a/src/testRunner/unittests/tsserver/extends.ts b/src/testRunner/unittests/tsserver/extends.ts index d3ad57a291f72..388837918b764 100644 --- a/src/testRunner/unittests/tsserver/extends.ts +++ b/src/testRunner/unittests/tsserver/extends.ts @@ -1,15 +1,15 @@ -import * as ts from "../../_namespaces/ts"; +import * as ts from "../../_namespaces/ts.js"; import { getConfigDirExtendsSys, getSymlinkedExtendsSys, modifyFirstExtendedConfigOfConfigDirExtendsSys, -} from "../helpers/extends"; +} from "../helpers/extends.js"; import { baselineTsserverLogs, openFilesForSession, TestSession, -} from "../helpers/tsserver"; -import { createServerHost } from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/tsserver.js"; +import { createServerHost } from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: extends::", () => { it("resolves the symlink path", () => { diff --git a/src/testRunner/unittests/tsserver/externalProjects.ts b/src/testRunner/unittests/tsserver/externalProjects.ts index a134fb28e5573..8065081c1114b 100644 --- a/src/testRunner/unittests/tsserver/externalProjects.ts +++ b/src/testRunner/unittests/tsserver/externalProjects.ts @@ -1,6 +1,6 @@ -import * as Harness from "../../_namespaces/Harness"; -import * as ts from "../../_namespaces/ts"; -import { jsonToReadableText } from "../helpers"; +import * as Harness from "../../_namespaces/Harness.js"; +import * as ts from "../../_namespaces/ts.js"; +import { jsonToReadableText } from "../helpers.js"; import { baselineTsserverLogs, closeFilesForSession, @@ -10,12 +10,12 @@ import { TestSession, toExternalFile, toExternalFiles, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, File, libFile, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: externalProjects", () => { describe("can handle tsconfig file name with difference casing", () => { diff --git a/src/testRunner/unittests/tsserver/findAllReferences.ts b/src/testRunner/unittests/tsserver/findAllReferences.ts index f2be8e7887a12..3ed4ee78ed4f4 100644 --- a/src/testRunner/unittests/tsserver/findAllReferences.ts +++ b/src/testRunner/unittests/tsserver/findAllReferences.ts @@ -1,12 +1,12 @@ -import { protocol } from "../../_namespaces/ts.server"; +import { protocol } from "../../_namespaces/ts.server.js"; import { baselineTsserverLogs, TestSession, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, File, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: services:: findAllReferences", () => { it("does not try to open a file in a project that was updated and no longer has the file", () => { diff --git a/src/testRunner/unittests/tsserver/forceConsistentCasingInFileNames.ts b/src/testRunner/unittests/tsserver/forceConsistentCasingInFileNames.ts index 3bec79f503616..2e621e27083bf 100644 --- a/src/testRunner/unittests/tsserver/forceConsistentCasingInFileNames.ts +++ b/src/testRunner/unittests/tsserver/forceConsistentCasingInFileNames.ts @@ -1,22 +1,24 @@ -import * as ts from "../../_namespaces/ts"; -import { dedent } from "../../_namespaces/Utils"; -import { jsonToReadableText } from "../helpers"; +import * as ts from "../../_namespaces/ts.js"; +import { dedent } from "../../_namespaces/Utils.js"; +import { jsonToReadableText } from "../helpers.js"; +import { getFsContentsForMultipleErrorsForceConsistentCasingInFileNames } from "../helpers/forceConsistentCasingInFileNames.js"; import { baselineTsserverLogs, closeFilesForSession, openFilesForSession, + protocolFileLocationFromSubstring, protocolTextSpanFromSubstring, TestSession, verifyGetErrRequest, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, File, libFile, SymLink, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; -describe("unittests:: tsserver:: forceConsistentCasingInFileNames", () => { +describe("unittests:: tsserver:: forceConsistentCasingInFileNames::", () => { it("works when extends is specified with a case insensitive file system", () => { const rootPath = "/Users/username/dev/project"; const file1: File = { @@ -328,4 +330,63 @@ describe("unittests:: tsserver:: forceConsistentCasingInFileNames", () => { verifyDirSymlink("when import and directory symlink target agree but do not match disk", `/user/username/projects/myproject/XY`, `/user/username/projects/myproject/Xy`, `./Xy`); verifyDirSymlink("when import, directory symlink target, and disk are all different", `/user/username/projects/myproject/XY`, `/user/username/projects/myproject/Xy`, `./xY`); }); + + it("when file is included from multiple places with different casing", () => { + const host = createServerHost(getFsContentsForMultipleErrorsForceConsistentCasingInFileNames()); + const session = new TestSession(host); + const file = "/home/src/projects/project/src/struct.d.ts"; + let fileText = host.readFile(file)!; + openFilesForSession([{ file, projectRootPath: "/home/src/projects/project" }], session); + verifyGetErrRequest({ session, files: [file] }); + + // Update file without import but dont get errors: + updateFile(fileText + "\nexport const y = 10;"); + goToDef(); + + // Update file without import and get errors: + updateFile(fileText + "\nexport const yy = 10;"); + verifyGetErrRequest({ session, files: [file] }); + + // Remove one import, dont get errors + updateFile(dedent` + import * as xs1 from "fp-ts/lib/Struct"; + import * as xs2 from "fp-ts/lib/struct"; + import * as xs3 from "./Struct"; + `); + goToDef(); + + // Remove import, get errors + updateFile(dedent` + import * as xs1 from "fp-ts/lib/Struct"; + import * as xs3 from "./struct"; + `); + verifyGetErrRequest({ session, files: [file] }); + baselineTsserverLogs("forceConsistentCasingInFileNames", "when file is included from multiple places with different casing", session); + + function updateFile(newText: string) { + session.executeCommandSeq({ + command: ts.server.protocol.CommandTypes.UpdateOpen, + arguments: { + changedFiles: [{ + fileName: file, + textChanges: [{ + newText, + ...protocolTextSpanFromSubstring( + fileText, + fileText, + ), + }], + }], + }, + }); + fileText = newText; + } + + function goToDef() { + session.executeCommandSeq({ + command: ts.server.protocol.CommandTypes.Definition, + arguments: protocolFileLocationFromSubstring({ path: file, content: fileText }, `"fp-ts/lib/Struct"`), + }); + } + }); }); diff --git a/src/testRunner/unittests/tsserver/formatSettings.ts b/src/testRunner/unittests/tsserver/formatSettings.ts index 213ea404860f1..950ac34691618 100644 --- a/src/testRunner/unittests/tsserver/formatSettings.ts +++ b/src/testRunner/unittests/tsserver/formatSettings.ts @@ -1,11 +1,11 @@ -import * as ts from "../../_namespaces/ts"; -import { jsonToReadableText } from "../helpers"; +import * as ts from "../../_namespaces/ts.js"; +import { jsonToReadableText } from "../helpers.js"; import { baselineTsserverLogs, openFilesForSession, TestSession, -} from "../helpers/tsserver"; -import { createServerHost } from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/tsserver.js"; +import { createServerHost } from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: formatSettings", () => { it("can be set globally", () => { diff --git a/src/testRunner/unittests/tsserver/getApplicableRefactors.ts b/src/testRunner/unittests/tsserver/getApplicableRefactors.ts index 92cbc2b0abd49..c08dd42107d31 100644 --- a/src/testRunner/unittests/tsserver/getApplicableRefactors.ts +++ b/src/testRunner/unittests/tsserver/getApplicableRefactors.ts @@ -1,13 +1,13 @@ -import * as ts from "../../_namespaces/ts"; +import * as ts from "../../_namespaces/ts.js"; import { baselineTsserverLogs, openFilesForSession, TestSession, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, File, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: getApplicableRefactors", () => { it("works when taking position", () => { diff --git a/src/testRunner/unittests/tsserver/getEditsForFileRename.ts b/src/testRunner/unittests/tsserver/getEditsForFileRename.ts index 54025265b275f..e755bff4c3bed 100644 --- a/src/testRunner/unittests/tsserver/getEditsForFileRename.ts +++ b/src/testRunner/unittests/tsserver/getEditsForFileRename.ts @@ -1,15 +1,15 @@ -import * as ts from "../../_namespaces/ts"; -import { jsonToReadableText } from "../helpers"; +import * as ts from "../../_namespaces/ts.js"; +import { jsonToReadableText } from "../helpers.js"; import { baselineTsserverLogs, openFilesForSession, TestSession, textSpanFromSubstring, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, File, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: getEditsForFileRename", () => { it("works for host implementing 'resolveModuleNames' and 'getResolvedModuleWithFailedLookupLocationsFromCache'", () => { diff --git a/src/testRunner/unittests/tsserver/getExportReferences.ts b/src/testRunner/unittests/tsserver/getExportReferences.ts index 00ba5750c5bf8..acc691133ecb0 100644 --- a/src/testRunner/unittests/tsserver/getExportReferences.ts +++ b/src/testRunner/unittests/tsserver/getExportReferences.ts @@ -1,14 +1,14 @@ -import * as ts from "../../_namespaces/ts"; +import * as ts from "../../_namespaces/ts.js"; import { baselineTsserverLogs, openFilesForSession, protocolFileLocationFromSubstring, TestSession, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, File, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: getExportReferences", () => { function makeSampleSession() { diff --git a/src/testRunner/unittests/tsserver/getFileReferences.ts b/src/testRunner/unittests/tsserver/getFileReferences.ts index f83b8580a63e3..751ddec533b86 100644 --- a/src/testRunner/unittests/tsserver/getFileReferences.ts +++ b/src/testRunner/unittests/tsserver/getFileReferences.ts @@ -1,13 +1,13 @@ -import * as ts from "../../_namespaces/ts"; +import * as ts from "../../_namespaces/ts.js"; import { baselineTsserverLogs, openFilesForSession, TestSession, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, File, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: getFileReferences", () => { const importA = `import "./a";`; diff --git a/src/testRunner/unittests/tsserver/getMoveToRefactoringFileSuggestions.ts b/src/testRunner/unittests/tsserver/getMoveToRefactoringFileSuggestions.ts index 90d7fa870edb1..4ed96447f0d30 100644 --- a/src/testRunner/unittests/tsserver/getMoveToRefactoringFileSuggestions.ts +++ b/src/testRunner/unittests/tsserver/getMoveToRefactoringFileSuggestions.ts @@ -1,14 +1,14 @@ -import * as ts from "../../_namespaces/ts"; -import { jsonToReadableText } from "../helpers"; +import * as ts from "../../_namespaces/ts.js"; +import { jsonToReadableText } from "../helpers.js"; import { baselineTsserverLogs, openFilesForSession, TestSession, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, File, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: getMoveToRefactoringFileSuggestions", () => { it("works for suggesting a list of files, excluding node_modules within a project", () => { diff --git a/src/testRunner/unittests/tsserver/goToDefinition.ts b/src/testRunner/unittests/tsserver/goToDefinition.ts index c08b827e7528c..2ffbde53847b3 100644 --- a/src/testRunner/unittests/tsserver/goToDefinition.ts +++ b/src/testRunner/unittests/tsserver/goToDefinition.ts @@ -1,12 +1,12 @@ -import { protocol } from "../../_namespaces/ts.server"; +import { protocol } from "../../_namespaces/ts.server.js"; import { baselineTsserverLogs, TestSession, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, File, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: services:: goToDefinition", () => { it("does not issue errors on jsdoc in TS", () => { diff --git a/src/testRunner/unittests/tsserver/importHelpers.ts b/src/testRunner/unittests/tsserver/importHelpers.ts index 95228dd4266f4..426c385ba9494 100644 --- a/src/testRunner/unittests/tsserver/importHelpers.ts +++ b/src/testRunner/unittests/tsserver/importHelpers.ts @@ -3,8 +3,8 @@ import { openExternalProjectForSession, TestSession, toExternalFile, -} from "../helpers/tsserver"; -import { createServerHost } from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/tsserver.js"; +import { createServerHost } from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: importHelpers", () => { it("should not crash in tsserver", () => { diff --git a/src/testRunner/unittests/tsserver/inconsistentErrorInEditor.ts b/src/testRunner/unittests/tsserver/inconsistentErrorInEditor.ts index bab2c00a0e13e..e71aecc8c6da7 100644 --- a/src/testRunner/unittests/tsserver/inconsistentErrorInEditor.ts +++ b/src/testRunner/unittests/tsserver/inconsistentErrorInEditor.ts @@ -1,10 +1,10 @@ -import * as ts from "../../_namespaces/ts"; +import * as ts from "../../_namespaces/ts.js"; import { baselineTsserverLogs, TestSession, verifyGetErrRequest, -} from "../helpers/tsserver"; -import { createServerHost } from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/tsserver.js"; +import { createServerHost } from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: inconsistentErrorInEditor", () => { it("should not error", () => { const host = createServerHost([]); diff --git a/src/testRunner/unittests/tsserver/inferredProjects.ts b/src/testRunner/unittests/tsserver/inferredProjects.ts index 2dcdb3019162a..696798d1720ef 100644 --- a/src/testRunner/unittests/tsserver/inferredProjects.ts +++ b/src/testRunner/unittests/tsserver/inferredProjects.ts @@ -1,19 +1,19 @@ -import * as ts from "../../_namespaces/ts"; -import { dedent } from "../../_namespaces/Utils"; -import { jsonToReadableText } from "../helpers"; -import { commonFile1 } from "../helpers/tscWatch"; +import * as ts from "../../_namespaces/ts.js"; +import { dedent } from "../../_namespaces/Utils.js"; +import { jsonToReadableText } from "../helpers.js"; +import { commonFile1 } from "../helpers/tscWatch.js"; import { baselineTsserverLogs, closeFilesForSession, openFilesForSession, setCompilerOptionsForInferredProjectsRequestForSession, TestSession, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, File, libFile, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: inferredProjects", () => { it("create inferred project", () => { diff --git a/src/testRunner/unittests/tsserver/inlayHints.ts b/src/testRunner/unittests/tsserver/inlayHints.ts index 98c5a4b78b81a..646ad6625a0e6 100644 --- a/src/testRunner/unittests/tsserver/inlayHints.ts +++ b/src/testRunner/unittests/tsserver/inlayHints.ts @@ -1,17 +1,17 @@ -import * as ts from "../../_namespaces/ts"; +import * as ts from "../../_namespaces/ts.js"; import { commonFile1, commonFile2, -} from "../helpers/tscWatch"; +} from "../helpers/tscWatch.js"; import { baselineTsserverLogs, TestSession, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, File, libFile, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: inlayHints", () => { const configFile: File = { diff --git a/src/testRunner/unittests/tsserver/jsdocTag.ts b/src/testRunner/unittests/tsserver/jsdocTag.ts index ea05b360783f2..af3a13eb8a0d7 100644 --- a/src/testRunner/unittests/tsserver/jsdocTag.ts +++ b/src/testRunner/unittests/tsserver/jsdocTag.ts @@ -1,13 +1,13 @@ -import * as ts from "../../_namespaces/ts"; +import * as ts from "../../_namespaces/ts.js"; import { baselineTsserverLogs, openFilesForSession, TestSession, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, File, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: jsdocTag:: jsdoc @link ", () => { const config: File = { diff --git a/src/testRunner/unittests/tsserver/languageService.ts b/src/testRunner/unittests/tsserver/languageService.ts index 72e972f67d336..a8a4f14634d5e 100644 --- a/src/testRunner/unittests/tsserver/languageService.ts +++ b/src/testRunner/unittests/tsserver/languageService.ts @@ -1,11 +1,11 @@ -import * as Utils from "../../_namespaces/Utils"; +import * as Utils from "../../_namespaces/Utils.js"; import { baselineTsserverLogs, logDiagnostics, openFilesForSession, TestSession, -} from "../helpers/tsserver"; -import { createServerHost } from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/tsserver.js"; +import { createServerHost } from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: languageService", () => { it("should work correctly on case-sensitive file systems", () => { diff --git a/src/testRunner/unittests/tsserver/libraryResolution.ts b/src/testRunner/unittests/tsserver/libraryResolution.ts index 23c912ec834d1..af82ffb0ba5b9 100644 --- a/src/testRunner/unittests/tsserver/libraryResolution.ts +++ b/src/testRunner/unittests/tsserver/libraryResolution.ts @@ -1,12 +1,12 @@ -import { jsonToReadableText } from "../helpers"; -import { getServerHostForLibResolution } from "../helpers/libraryResolution"; +import { jsonToReadableText } from "../helpers.js"; +import { getServerHostForLibResolution } from "../helpers/libraryResolution.js"; import { baselineTsserverLogs, openFilesForSession, TestSession, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; -describe("unittests:: tsserver:: libraryResolution", () => { +describe("unittests:: tsserver:: libraryResolution::", () => { it("with config", () => { const host = getServerHostForLibResolution(); const session = new TestSession(host); @@ -45,6 +45,7 @@ describe("unittests:: tsserver:: libraryResolution", () => { ); host.ensureFileOrFolder({ path: "/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts", content: "interface DOMInterface { }" }); host.runQueuedTimeoutCallbacks(); + host.runQueuedTimeoutCallbacks(); host.ensureFileOrFolder({ path: "/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts", content: "interface WebWorkerInterface { }" }); host.runQueuedTimeoutCallbacks(); host.runQueuedTimeoutCallbacks(); diff --git a/src/testRunner/unittests/tsserver/maxNodeModuleJsDepth.ts b/src/testRunner/unittests/tsserver/maxNodeModuleJsDepth.ts index 1db62cbb5fe16..ead6bf2432160 100644 --- a/src/testRunner/unittests/tsserver/maxNodeModuleJsDepth.ts +++ b/src/testRunner/unittests/tsserver/maxNodeModuleJsDepth.ts @@ -1,17 +1,17 @@ -import * as ts from "../../_namespaces/ts"; -import { dedent } from "../../_namespaces/Utils"; +import * as ts from "../../_namespaces/ts.js"; +import { dedent } from "../../_namespaces/Utils.js"; import { baselineTsserverLogs, closeFilesForSession, openFilesForSession, setCompilerOptionsForInferredProjectsRequestForSession, TestSession, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, File, libFile, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: maxNodeModuleJsDepth for inferred projects", () => { it("should be set to 2 if the project has js root files", () => { diff --git a/src/testRunner/unittests/tsserver/metadataInResponse.ts b/src/testRunner/unittests/tsserver/metadataInResponse.ts index fa40e5fdda6dc..feea1ab952e0e 100644 --- a/src/testRunner/unittests/tsserver/metadataInResponse.ts +++ b/src/testRunner/unittests/tsserver/metadataInResponse.ts @@ -1,15 +1,15 @@ -import * as Harness from "../../_namespaces/Harness"; -import * as ts from "../../_namespaces/ts"; -import { jsonToReadableText } from "../helpers"; +import * as Harness from "../../_namespaces/Harness.js"; +import * as ts from "../../_namespaces/ts.js"; +import { jsonToReadableText } from "../helpers.js"; import { baselineTsserverLogs, openFilesForSession, TestSession, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, File, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: with metadataInResponse::", () => { const metadata = "Extra Info"; diff --git a/src/testRunner/unittests/tsserver/moduleResolution.ts b/src/testRunner/unittests/tsserver/moduleResolution.ts index 82b8294afe666..c42f4026c7d18 100644 --- a/src/testRunner/unittests/tsserver/moduleResolution.ts +++ b/src/testRunner/unittests/tsserver/moduleResolution.ts @@ -1,26 +1,26 @@ -import * as ts from "../../_namespaces/ts"; -import { dedent } from "../../_namespaces/Utils"; -import { jsonToReadableText } from "../helpers"; +import * as ts from "../../_namespaces/ts.js"; +import { dedent } from "../../_namespaces/Utils.js"; +import { jsonToReadableText } from "../helpers.js"; import { getFsConentsForAlternateResultAtTypesPackageJson, getFsContentsForAlternateResult, getFsContentsForAlternateResultDts, getFsContentsForAlternateResultPackageJson, -} from "../helpers/alternateResult"; -import { libContent } from "../helpers/contents"; -import { solutionBuildWithBaseline } from "../helpers/solutionBuilder"; +} from "../helpers/alternateResult.js"; +import { libContent } from "../helpers/contents.js"; +import { solutionBuildWithBaseline } from "../helpers/solutionBuilder.js"; import { baselineTsserverLogs, openFilesForSession, protocolTextSpanFromSubstring, TestSession, verifyGetErrRequest, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, File, libFile, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: moduleResolution", () => { describe("package json file is edited", () => { diff --git a/src/testRunner/unittests/tsserver/moduleSpecifierCache.ts b/src/testRunner/unittests/tsserver/moduleSpecifierCache.ts index 773d6c2c651d1..db0e436fffd22 100644 --- a/src/testRunner/unittests/tsserver/moduleSpecifierCache.ts +++ b/src/testRunner/unittests/tsserver/moduleSpecifierCache.ts @@ -1,15 +1,15 @@ -import * as ts from "../../_namespaces/ts"; -import { jsonToReadableText } from "../helpers"; +import * as ts from "../../_namespaces/ts.js"; +import { jsonToReadableText } from "../helpers.js"; import { baselineTsserverLogs, openFilesForSession, TestSession, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, File, SymLink, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; const packageJson: File = { path: "/package.json", diff --git a/src/testRunner/unittests/tsserver/navTo.ts b/src/testRunner/unittests/tsserver/navTo.ts index 1df2f1e36e300..928e49c43d80f 100644 --- a/src/testRunner/unittests/tsserver/navTo.ts +++ b/src/testRunner/unittests/tsserver/navTo.ts @@ -1,15 +1,15 @@ -import * as ts from "../../_namespaces/ts"; -import { jsonToReadableText } from "../helpers"; +import * as ts from "../../_namespaces/ts.js"; +import { jsonToReadableText } from "../helpers.js"; import { baselineTsserverLogs, openFilesForSession, TestSession, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, File, libFile, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: navigate-to for javascript project", () => { it("should not include type symbols", () => { diff --git a/src/testRunner/unittests/tsserver/occurences.ts b/src/testRunner/unittests/tsserver/occurences.ts index c65d9c8238456..0cf6c90b406aa 100644 --- a/src/testRunner/unittests/tsserver/occurences.ts +++ b/src/testRunner/unittests/tsserver/occurences.ts @@ -1,13 +1,13 @@ -import * as ts from "../../_namespaces/ts"; +import * as ts from "../../_namespaces/ts.js"; import { baselineTsserverLogs, openFilesForSession, TestSession, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, File, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: occurrence highlight on string", () => { it("should be marked if only on string values", () => { diff --git a/src/testRunner/unittests/tsserver/openFile.ts b/src/testRunner/unittests/tsserver/openFile.ts index bfc32d87f0859..21f84ca257247 100644 --- a/src/testRunner/unittests/tsserver/openFile.ts +++ b/src/testRunner/unittests/tsserver/openFile.ts @@ -1,4 +1,4 @@ -import * as ts from "../../_namespaces/ts"; +import * as ts from "../../_namespaces/ts.js"; import { baselineTsserverLogs, closeFilesForSession, @@ -8,12 +8,12 @@ import { TestSession, toExternalFile, verifyGetErrRequest, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, File, libFile, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: Open-file", () => { it("can be reloaded with empty content", () => { diff --git a/src/testRunner/unittests/tsserver/packageJsonInfo.ts b/src/testRunner/unittests/tsserver/packageJsonInfo.ts index f258be6cab492..28aedef03d6de 100644 --- a/src/testRunner/unittests/tsserver/packageJsonInfo.ts +++ b/src/testRunner/unittests/tsserver/packageJsonInfo.ts @@ -1,13 +1,13 @@ -import { jsonToReadableText } from "../helpers"; +import { jsonToReadableText } from "../helpers.js"; import { baselineTsserverLogs, openFilesForSession, TestSession, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, File, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; const tsConfig: File = { path: "/tsconfig.json", diff --git a/src/testRunner/unittests/tsserver/partialSemanticServer.ts b/src/testRunner/unittests/tsserver/partialSemanticServer.ts index 23264937e22ed..7256b5889f21a 100644 --- a/src/testRunner/unittests/tsserver/partialSemanticServer.ts +++ b/src/testRunner/unittests/tsserver/partialSemanticServer.ts @@ -1,4 +1,4 @@ -import * as ts from "../../_namespaces/ts"; +import * as ts from "../../_namespaces/ts.js"; import { baselineTsserverLogs, closeFilesForSession, @@ -6,12 +6,12 @@ import { protocolFileLocationFromSubstring, TestSession, verifyGetErrRequest, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, File, libFile, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: Semantic operations on partialSemanticServer", () => { function setup() { @@ -118,8 +118,8 @@ import { something } from "something"; }; const response = session.executeCommandSeq(request).response as ts.server.protocol.SyntacticDiagnosticsSyncResponse["body"]; assert.isDefined(response); - assert.equal(response!.length, 1); - assert.equal((response![0] as ts.server.protocol.Diagnostic).text, expectedErrorMessage); + assert.equal(response.length, 1); + assert.equal((response[0] as ts.server.protocol.Diagnostic).text, expectedErrorMessage); const project = service.inferredProjects[0]; const diagnostics = project.getLanguageService().getSyntacticDiagnostics(file1.path); diff --git a/src/testRunner/unittests/tsserver/pasteEdits.ts b/src/testRunner/unittests/tsserver/pasteEdits.ts new file mode 100644 index 0000000000000..2af5d74804098 --- /dev/null +++ b/src/testRunner/unittests/tsserver/pasteEdits.ts @@ -0,0 +1,45 @@ +import * as ts from "../../_namespaces/ts.js"; +import { + baselineTsserverLogs, + openFilesForSession, + TestSession, + verifyGetErrRequest, +} from "../helpers/tsserver.js"; +import { + createServerHost, + File, + libFile, +} from "../helpers/virtualFileSystemWithWatch.js"; + +describe("unittests:: tsserver:: pasteEdits", () => { + it("adds paste edits", () => { + const target: File = { + path: "/project/a/target.ts", + content: `const a = 1; +const b = 2; +const c = 3;`, + }; + const tsconfig: File = { + path: "/project/tsconfig.json", + content: "{}", + }; + const pastedText = `const q = 1; +function e(); +const f = r + s;`; + + const host = createServerHost([target, tsconfig, libFile]); + const session = new TestSession(host); + openFilesForSession([target], session); + + session.executeCommandSeq({ + command: ts.server.protocol.CommandTypes.GetPasteEdits, + arguments: { + file: target.path, + pastedText: [pastedText], + pasteLocations: [{ start: { line: 2, offset: 0 }, end: { line: 2, offset: 0 } }], + }, + }); + verifyGetErrRequest({ session, files: [target.path] }); + baselineTsserverLogs("pasteEdits", "adds paste edits", session); + }); +}); diff --git a/src/testRunner/unittests/tsserver/plugins.ts b/src/testRunner/unittests/tsserver/plugins.ts index 9d24ecb3c1aaf..c0c5c43cdd7b4 100644 --- a/src/testRunner/unittests/tsserver/plugins.ts +++ b/src/testRunner/unittests/tsserver/plugins.ts @@ -1,17 +1,17 @@ -import * as Harness from "../../_namespaces/Harness"; -import * as ts from "../../_namespaces/ts"; -import { jsonToReadableText } from "../helpers"; +import * as Harness from "../../_namespaces/Harness.js"; +import * as ts from "../../_namespaces/ts.js"; +import { jsonToReadableText } from "../helpers.js"; import { baselineTsserverLogs, openFilesForSession, TestSession, verifyGetErrRequest, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, File, libFile, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: plugins:: loading", () => { const testProtocolCommand = "testProtocolCommand"; diff --git a/src/testRunner/unittests/tsserver/pluginsAsync.ts b/src/testRunner/unittests/tsserver/pluginsAsync.ts index 7c4b912fbd798..647f0bbbde684 100644 --- a/src/testRunner/unittests/tsserver/pluginsAsync.ts +++ b/src/testRunner/unittests/tsserver/pluginsAsync.ts @@ -1,18 +1,18 @@ -import * as ts from "../../_namespaces/ts"; +import * as ts from "../../_namespaces/ts.js"; import { defer, Deferred, -} from "../../_namespaces/Utils"; +} from "../../_namespaces/Utils.js"; import { baselineTsserverLogs, closeFilesForSession, openFilesForSession, TestSession, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, libFile, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: pluginsAsync:: async loaded plugins", () => { function setup(globalPlugins: string[]) { diff --git a/src/testRunner/unittests/tsserver/projectErrors.ts b/src/testRunner/unittests/tsserver/projectErrors.ts index 552da6a0875b3..d5adbef939760 100644 --- a/src/testRunner/unittests/tsserver/projectErrors.ts +++ b/src/testRunner/unittests/tsserver/projectErrors.ts @@ -1,5 +1,5 @@ -import * as ts from "../../_namespaces/ts"; -import { jsonToReadableText } from "../helpers"; +import * as ts from "../../_namespaces/ts.js"; +import { jsonToReadableText } from "../helpers.js"; import { baselineTsserverLogs, closeFilesForSession, @@ -11,14 +11,14 @@ import { toExternalFiles, verifyGetErrRequest, verifyGetErrScenario, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, File, Folder, libFile, TestServerHostOsFlavor, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: projectErrors::", () => { it("external project - diagnostics for missing files", () => { diff --git a/src/testRunner/unittests/tsserver/projectReferenceCompileOnSave.ts b/src/testRunner/unittests/tsserver/projectReferenceCompileOnSave.ts index 80cf128b37c82..a22c539d567d6 100644 --- a/src/testRunner/unittests/tsserver/projectReferenceCompileOnSave.ts +++ b/src/testRunner/unittests/tsserver/projectReferenceCompileOnSave.ts @@ -1,17 +1,17 @@ -import * as ts from "../../_namespaces/ts"; -import { jsonToReadableText } from "../helpers"; -import { ensureErrorFreeBuild } from "../helpers/solutionBuilder"; +import * as ts from "../../_namespaces/ts.js"; +import { jsonToReadableText } from "../helpers.js"; +import { ensureErrorFreeBuild } from "../helpers/solutionBuilder.js"; import { baselineTsserverLogs, openFilesForSession, protocolToLocation, TestSession, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, File, libFile, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: with project references and compile on save", () => { const dependecyLocation = `/user/username/projects/myproject/dependency`; diff --git a/src/testRunner/unittests/tsserver/projectReferenceErrors.ts b/src/testRunner/unittests/tsserver/projectReferenceErrors.ts index d8950ebe20f87..98b1506ad8ac9 100644 --- a/src/testRunner/unittests/tsserver/projectReferenceErrors.ts +++ b/src/testRunner/unittests/tsserver/projectReferenceErrors.ts @@ -1,19 +1,19 @@ -import * as ts from "../../_namespaces/ts"; -import { dedent } from "../../_namespaces/Utils"; -import { jsonToReadableText } from "../helpers"; -import { libContent } from "../helpers/contents"; +import * as ts from "../../_namespaces/ts.js"; +import { dedent } from "../../_namespaces/Utils.js"; +import { jsonToReadableText } from "../helpers.js"; +import { libContent } from "../helpers/contents.js"; import { baselineTsserverLogs, GetErrForProjectDiagnostics, openFilesForSession, TestSession, verifyGetErrScenario, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { File, libFile, TestServerHost, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: projectReferenceErrors:: with project references and error reporting", () => { const dependecyLocation = `/user/username/projects/myproject/dependency`; diff --git a/src/testRunner/unittests/tsserver/projectReferences.ts b/src/testRunner/unittests/tsserver/projectReferences.ts index e54644c40ed96..1a775d30f6e90 100644 --- a/src/testRunner/unittests/tsserver/projectReferences.ts +++ b/src/testRunner/unittests/tsserver/projectReferences.ts @@ -1,7 +1,8 @@ -import * as ts from "../../_namespaces/ts"; -import { dedent } from "../../_namespaces/Utils"; -import { jsonToReadableText } from "../helpers"; -import { solutionBuildWithBaseline } from "../helpers/solutionBuilder"; +import * as ts from "../../_namespaces/ts.js"; +import { dedent } from "../../_namespaces/Utils.js"; +import { jsonToReadableText } from "../helpers.js"; +import { libContent } from "../helpers/contents.js"; +import { solutionBuildWithBaseline } from "../helpers/solutionBuilder.js"; import { baselineTsserverLogs, closeFilesForSession, @@ -11,15 +12,23 @@ import { protocolLocationFromSubstring, TestSession, verifyGetErrRequest, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, File, libFile, SymLink, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; + +function logDefaultProjectAndDefaultConfiguredProject(session: TestSession, file: File) { + const info = session.getProjectService().getScriptInfo(file.path); + const defaultProject = session.getProjectService().tryGetDefaultProjectForFile(file.path as ts.server.NormalizedPath); + const defaultConfiguredProject = info && session.getProjectService().findDefaultConfiguredProject(info); + session.logger.info(`File: ${file.path}:\n\tgetDefaultProjectForFile:\n\t\t${defaultProject?.projectName}\n\tfindDefaultConfiguredProject:\n\t\t${defaultConfiguredProject?.projectName}`); + return { defaultProject, defaultConfiguredProject }; +} -describe("unittests:: tsserver:: with project references and tsbuild", () => { +describe("unittests:: tsserver:: with projectReferences:: and tsbuild", () => { describe("with container project", () => { function setup(tempFile?: File) { const containerLibConfig: File = { @@ -1074,13 +1083,7 @@ export function bar() {}`, function verifySolutionScenario(input: Setup) { const { session, host } = setup(input); - - const info = session.getProjectService().getScriptInfoForPath(main.path as ts.Path)!; - const defaultProject = info.getDefaultProject(); - session.logger.startGroup(); - session.logger.info(`getDefaultProject for ${main.path}: ${defaultProject.projectName}`); - session.logger.info(`findDefaultConfiguredProject for ${main.path}: ${session.getProjectService().findDefaultConfiguredProject(info)!.projectName}`); - session.logger.endGroup(); + const { defaultProject } = logDefaultProjectAndDefaultConfiguredProject(session, main); // Verify errors verifyGetErrRequest({ session, files: [main] }); @@ -1095,7 +1098,7 @@ export function bar() {}`, openFilesForSession([dummyFilePath], session); // Verify that tsconfig can be deleted and watched - if (ts.server.isConfiguredProject(defaultProject)) { + if (ts.server.isConfiguredProject(defaultProject!)) { closeFilesForSession([dummyFilePath], session); const config = defaultProject.projectName; const content = host.readFile(config)!; @@ -1159,12 +1162,7 @@ export function bar() {}`, function verifyDisableReferencedProjectLoad(input: Setup) { const { session } = setup(input); - - const info = session.getProjectService().getScriptInfoForPath(main.path as ts.Path)!; - session.logger.startGroup(); - session.logger.info(`getDefaultProject for ${main.path}: ${info.getDefaultProject().projectName}`); - session.logger.info(`findDefaultConfiguredProject for ${main.path}: ${session.getProjectService().findDefaultConfiguredProject(info)?.projectName}`); - session.logger.endGroup(); + logDefaultProjectAndDefaultConfiguredProject(session, main); // Verify collection of script infos openFilesForSession([dummyFilePath], session); @@ -1729,4 +1727,260 @@ const b: B = new B();`, } /* eslint-enable local/argument-trivia */ }); + + describe("when file is not part of first config tree found", () => { + it("finds default project", () => { + const { session, appDemo, baseline, verifyProjectManagement } = setup(); + verifyGetErrRequest({ + files: [appDemo], + session, + }); + verifyProjectManagement(); // Should not remove projects for file + closeFilesForSession([appDemo], session); + verifyProjectManagement(); // Should remove projects for file + baseline("finds default project"); + }); + + // Changes to app Config + verifyAppConfigNotComposite(); + + // Changes to solution Config + verifySolutionConfigWithoutReferenceToDemo(); + verifySolutionConfigDelete(); + + // Demo config + verfiyDemoConfigChange(); + + it("reload projects", () => { + const { session, baseline } = setup(); + session.executeCommandSeq({ + command: ts.server.protocol.CommandTypes.ReloadProjects, + }); + baseline("reload projects"); + }); + + function setup() { + const appDemo: File = { + path: "/home/src/projects/project/app/Component-demos.ts", + content: dedent` + import * as helpers from 'demos/helpers'; + export const demo = () => { + helpers; + } + `, + }; + const app: File = { + path: "/home/src/projects/project/app/Component.ts", + content: dedent` + export const Component = () => {} + `, + }; + const appConfig: File = { + path: "/home/src/projects/project/app/tsconfig.json", + content: jsonToReadableText({ + compilerOptions: { + composite: true, + outDir: "../app-dist/", + }, + include: ["**/*"], + exclude: ["**/*-demos.*"], + }), + }; + const demoHelpers: File = { + path: "/home/src/projects/project/demos/helpers.ts", + content: dedent` + export const foo = 1; + `, + }; + const demoConfig: File = { + path: "/home/src/projects/project/demos/tsconfig.json", + content: jsonToReadableText({ + compilerOptions: { + composite: true, + rootDir: "../", + outDir: "../demos-dist/", + paths: { + "demos/*": ["./*"], + }, + }, + include: [ + "**/*", + "../app/**/*-demos.*", + ], + }), + }; + const solutionConfig: File = { + path: "/home/src/projects/project/tsconfig.json", + content: jsonToReadableText({ + compilerOptions: { + outDir: "./dist/", + }, + references: [ + { path: "./demos/tsconfig.json" }, + { path: "./app/tsconfig.json" }, + ], + }), + }; + const randomTs: File = { + path: "/home/src/projects/random/random.ts", + content: "export let a = 10;", + }; + const randomConfig: File = { + path: "/home/src/projects/random/tsconfig.json", + content: "{ }", + }; + const host = createServerHost([appDemo, app, appConfig, demoHelpers, demoConfig, solutionConfig, randomTs, randomConfig, libFile]); + const session = new TestSession(host); + openFilesForSession([appDemo], session); + return { + host, + session, + appDemo, + configs: { appConfig, demoConfig, solutionConfig }, + verifyProjectManagement, + baseline, + }; + + function verifyProjectManagement() { + logDefaultProjectAndDefaultConfiguredProject(session, appDemo); + openFilesForSession([randomTs], session); // Verify Project management + closeFilesForSession([randomTs], session); + logDefaultProjectAndDefaultConfiguredProject(session, appDemo); + } + + function baseline(scenario: string) { + baselineTsserverLogs( + "projectReferences", + `when file is not part of first config tree found ${scenario}`, + session, + ); + } + } + + function verifyAppConfigNotComposite() { + // Not composite + verifyConfigChange("appConfig not composite", ({ appConfig }) => ({ + config: appConfig, + change: appConfig.content.replace(`"composite": true,`, ""), + })); + } + + function verifySolutionConfigWithoutReferenceToDemo() { + // Not referencing demos + verifyConfigChange("solutionConfig without reference to demo", ({ solutionConfig }) => ({ + config: solutionConfig, + change: jsonToReadableText({ + compilerOptions: { + outDir: "./dist/", + }, + references: [ + { path: "./app/tsconfig.json" }, + ], + }), + })); + } + + function verifySolutionConfigDelete() { + // Delete solution file + verifyConfigChange("solutionConfig delete", ({ solutionConfig }) => ({ + config: solutionConfig, + change: undefined, + })); + } + + function verfiyDemoConfigChange() { + // Make some errors in demo:: + verifyConfigChange("demoConfig change", ({ demoConfig }) => ({ + config: demoConfig, + change: demoConfig.content.replace(`"../app/**/*-demos.*"`, ""), + })); + } + + function verifyConfigChange( + scenario: string, + configAndChange: (configs: ReturnType["configs"]) => { config: File; change: string | undefined; }, + ) { + verifyConfigChangeWorker(scenario, /*fileOpenBeforeRevert*/ true, configAndChange); + verifyConfigChangeWorker(scenario, /*fileOpenBeforeRevert*/ false, configAndChange); + } + + function verifyConfigChangeWorker( + scenario: string, + fileOpenBeforeRevert: boolean, + configAndChange: (configs: ReturnType["configs"]) => { config: File; change: string | undefined; }, + ) { + it(`${scenario}${fileOpenBeforeRevert ? " with file open before revert" : ""}`, () => { + const { host, session, appDemo, configs, verifyProjectManagement, baseline } = setup(); + const { config, change } = configAndChange(configs); + + if (change !== undefined) host.writeFile(config.path, change); + else host.deleteFile(config.path); + host.runQueuedTimeoutCallbacks(); + + if (fileOpenBeforeRevert) verifyProjectManagement(); + else logDefaultProjectAndDefaultConfiguredProject(session, appDemo); + + // Revert + host.writeFile(config.path, config.content); + host.runQueuedTimeoutCallbacks(); + + if (!fileOpenBeforeRevert) verifyProjectManagement(); + else logDefaultProjectAndDefaultConfiguredProject(session, appDemo); + + baseline(`${scenario}${fileOpenBeforeRevert ? " with file open before revert" : ""}`); + }); + } + }); + + it("with dts file next to ts file", () => { + const indexDts: File = { + path: "/home/src/projects/project/src/index.d.ts", + content: dedent` + declare global { + interface Window { + electron: ElectronAPI + api: unknown + } + } + `, + }; + const host = createServerHost({ + [indexDts.path]: indexDts.content, + "/home/src/projects/project/src/index.ts": dedent` + const api = {} + `, + "/home/src/projects/project/tsconfig.json": jsonToReadableText({ + include: [ + "src/*.d.ts", + ], + references: [{ path: "./tsconfig.node.json" }], + }), + "/home/src/projects/project/tsconfig.node.json": jsonToReadableText({ + include: ["src/**/*"], + compilerOptions: { + composite: true, + }, + }), + [libFile.path]: libContent, + }); + const session = new TestSession(host); + openFilesForSession([{ file: indexDts, projectRootPath: "/home/src/projects/project" }], session); + session.executeCommandSeq({ + command: ts.server.protocol.CommandTypes.DocumentHighlights, + arguments: { + ...protocolFileLocationFromSubstring(indexDts, "global"), + filesToSearch: ["/home/src/projects/project/src/index.d.ts"], + }, + }); + session.executeCommandSeq({ + command: ts.server.protocol.CommandTypes.EncodedSemanticClassificationsFull, + arguments: { + file: indexDts.path, + start: 0, + length: indexDts.content.length, + format: "2020", + }, + }); + baselineTsserverLogs("projectReferences", "with dts file next to ts file", session); + }); }); diff --git a/src/testRunner/unittests/tsserver/projectReferencesSourcemap.ts b/src/testRunner/unittests/tsserver/projectReferencesSourcemap.ts index c02a39264febe..cf8ea4992218b 100644 --- a/src/testRunner/unittests/tsserver/projectReferencesSourcemap.ts +++ b/src/testRunner/unittests/tsserver/projectReferencesSourcemap.ts @@ -1,5 +1,5 @@ -import * as ts from "../../_namespaces/ts"; -import { jsonToReadableText } from "../helpers"; +import * as ts from "../../_namespaces/ts.js"; +import { jsonToReadableText } from "../helpers.js"; import { baselineTsserverLogs, closeFilesForSession, @@ -7,13 +7,13 @@ import { openFilesForSession, TestSession, TestSessionRequest, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, File, libFile, TestServerHost, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: projectReferencesSourcemap:: with project references and tsbuild source map", () => { const dependecyLocation = `/user/username/projects/myproject/dependency`; diff --git a/src/testRunner/unittests/tsserver/projectRootFiles.ts b/src/testRunner/unittests/tsserver/projectRootFiles.ts new file mode 100644 index 0000000000000..ab3908db873eb --- /dev/null +++ b/src/testRunner/unittests/tsserver/projectRootFiles.ts @@ -0,0 +1,27 @@ +import { forEachScenarioForRootsFromReferencedProject } from "../helpers/projectRoots.js"; +import { + baselineTsserverLogs, + openFilesForSession, + TestSession, +} from "../helpers/tsserver.js"; +import { createServerHost } from "../helpers/virtualFileSystemWithWatch.js"; + +describe("unittests:: tsserver:: projectRootFiles:: roots::", () => { + describe("when root file is from referenced project", () => { + forEachScenarioForRootsFromReferencedProject((subScenario, getFsContents) => { + it(subScenario, () => { + const host = createServerHost(getFsContents(), { currentDirectory: "/home/src/workspaces" }); + const session = new TestSession(host); + openFilesForSession(["/home/src/workspaces/projects/server/src/server.ts"], session); + + host.appendFile("/home/src/workspaces/projects/shared/src/logging.ts", "export const x = 10;"); + host.runQueuedTimeoutCallbacks(); + + host.deleteFile("/home/src/workspaces/projects/shared/src/random.ts"); + host.runQueuedTimeoutCallbacks(); + + baselineTsserverLogs("projectRootFiles", subScenario, session); + }); + }); + }); +}); diff --git a/src/testRunner/unittests/tsserver/projects.ts b/src/testRunner/unittests/tsserver/projects.ts index 6dac7fa3763ab..dfa401753906d 100644 --- a/src/testRunner/unittests/tsserver/projects.ts +++ b/src/testRunner/unittests/tsserver/projects.ts @@ -1,10 +1,10 @@ -import { createLoggerWithInMemoryLogs } from "../../../harness/tsserverLogger"; -import * as ts from "../../_namespaces/ts"; -import { jsonToReadableText } from "../helpers"; +import { createLoggerWithInMemoryLogs } from "../../../harness/tsserverLogger.js"; +import * as ts from "../../_namespaces/ts.js"; +import { jsonToReadableText } from "../helpers.js"; import { commonFile1, commonFile2, -} from "../helpers/tscWatch"; +} from "../helpers/tscWatch.js"; import { baselineTsserverLogs, closeFilesForSession, @@ -17,14 +17,14 @@ import { toExternalFile, toExternalFiles, verifyGetErrRequest, -} from "../helpers/tsserver"; -import { customTypesMap } from "../helpers/typingsInstaller"; +} from "../helpers/tsserver.js"; +import { customTypesMap } from "../helpers/typingsInstaller.js"; import { createServerHost, File, libFile, TestServerHost, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: projects::", () => { it("handles the missing files - that were added to program because they were added with /// { @@ -177,7 +177,7 @@ describe("unittests:: tsserver:: projects::", () => { }; session.host.baselineHost("Before request"); session.logger.info(`request:${ts.server.stringifyIndented(request)}`); - session.getProjectService().openExternalProject(request.arguments, /*print*/ true); + session.getProjectService().openExternalProject(request.arguments, /*cleanupAfter*/ true); session.host.baselineHost("After request"); baselineTsserverLogs("projects", "external project including config file", session); }); @@ -1416,7 +1416,7 @@ describe("unittests:: tsserver:: projects::", () => { }); } catch (e) { - assert.isTrue(e.message.indexOf("Debug Failure. False expression: Found script Info still attached to project") === 0); + session.logger.log(e.message); } baselineTsserverLogs("projects", "assert when removing project", session); }); diff --git a/src/testRunner/unittests/tsserver/projectsWithReferences.ts b/src/testRunner/unittests/tsserver/projectsWithReferences.ts index 66e11ebcc9187..6617d814afbbe 100644 --- a/src/testRunner/unittests/tsserver/projectsWithReferences.ts +++ b/src/testRunner/unittests/tsserver/projectsWithReferences.ts @@ -1,15 +1,15 @@ -import { jsonToReadableText } from "../helpers"; -import { getFsContentsForSampleProjectReferences } from "../helpers/sampleProjectReferences"; +import { jsonToReadableText } from "../helpers.js"; +import { getFsContentsForSampleProjectReferences } from "../helpers/sampleProjectReferences.js"; import { baselineTsserverLogs, openFilesForSession, TestSession, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, File, libFile, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: projects with references: invoking when references are already built", () => { it("on sample project", () => { diff --git a/src/testRunner/unittests/tsserver/refactors.ts b/src/testRunner/unittests/tsserver/refactors.ts index 59dbbce0c66bf..141c03c0197c2 100644 --- a/src/testRunner/unittests/tsserver/refactors.ts +++ b/src/testRunner/unittests/tsserver/refactors.ts @@ -1,13 +1,13 @@ -import * as ts from "../../_namespaces/ts"; +import * as ts from "../../_namespaces/ts.js"; import { baselineTsserverLogs, openFilesForSession, TestSession, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, File, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: refactors", () => { it("use formatting options", () => { diff --git a/src/testRunner/unittests/tsserver/reload.ts b/src/testRunner/unittests/tsserver/reload.ts index e7b610c7bdcf1..9e7e74b24d39e 100644 --- a/src/testRunner/unittests/tsserver/reload.ts +++ b/src/testRunner/unittests/tsserver/reload.ts @@ -1,14 +1,14 @@ -import * as ts from "../../_namespaces/ts"; +import * as ts from "../../_namespaces/ts.js"; import { baselineTsserverLogs, closeFilesForSession, openFilesForSession, TestSession, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, libFile, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: reload", () => { it("should work with temp file", () => { diff --git a/src/testRunner/unittests/tsserver/reloadProjects.ts b/src/testRunner/unittests/tsserver/reloadProjects.ts index 5c0a8b4934a9d..9e20342e6991b 100644 --- a/src/testRunner/unittests/tsserver/reloadProjects.ts +++ b/src/testRunner/unittests/tsserver/reloadProjects.ts @@ -1,18 +1,18 @@ -import * as ts from "../../_namespaces/ts"; -import { jsonToReadableText } from "../helpers"; +import * as ts from "../../_namespaces/ts.js"; +import { jsonToReadableText } from "../helpers.js"; import { baselineTsserverLogs, openExternalProjectForSession, openFilesForSession, setCompilerOptionsForInferredProjectsRequestForSession, TestSession, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, File, libFile, TestServerHost, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: reloadProjects", () => { const configFile: File = { diff --git a/src/testRunner/unittests/tsserver/rename.ts b/src/testRunner/unittests/tsserver/rename.ts index a46816203ece4..433e26f061121 100644 --- a/src/testRunner/unittests/tsserver/rename.ts +++ b/src/testRunner/unittests/tsserver/rename.ts @@ -1,18 +1,18 @@ -import * as ts from "../../_namespaces/ts"; -import { dedent } from "../../_namespaces/Utils"; -import { jsonToReadableText } from "../helpers"; -import { libContent } from "../helpers/contents"; +import * as ts from "../../_namespaces/ts.js"; +import { dedent } from "../../_namespaces/Utils.js"; +import { jsonToReadableText } from "../helpers.js"; +import { libContent } from "../helpers/contents.js"; import { baselineTsserverLogs, openFilesForSession, protocolFileLocationFromSubstring, TestSession, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, File, libFile, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: rename", () => { it("works with fileToRename", () => { diff --git a/src/testRunner/unittests/tsserver/resolutionCache.ts b/src/testRunner/unittests/tsserver/resolutionCache.ts index 507e236f6cd50..ba95fda4f5b8b 100644 --- a/src/testRunner/unittests/tsserver/resolutionCache.ts +++ b/src/testRunner/unittests/tsserver/resolutionCache.ts @@ -1,7 +1,7 @@ -import * as ts from "../../_namespaces/ts"; -import * as Utils from "../../_namespaces/Utils"; -import { jsonToReadableText } from "../helpers"; -import { compilerOptionsToConfigJson } from "../helpers/contents"; +import * as ts from "../../_namespaces/ts.js"; +import * as Utils from "../../_namespaces/Utils.js"; +import { jsonToReadableText } from "../helpers.js"; +import { compilerOptionsToConfigJson } from "../helpers/contents.js"; import { baselineTsserverLogs, openExternalProjectForSession, @@ -10,12 +10,12 @@ import { TestSession, toExternalFiles, verifyGetErrRequest, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, File, libFile, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: resolutionCache:: tsserverProjectSystem extra resolution pass in server host", () => { it("can load typings that are proper modules", () => { diff --git a/src/testRunner/unittests/tsserver/session.ts b/src/testRunner/unittests/tsserver/session.ts index bc1f17167d58a..e25464bab471d 100644 --- a/src/testRunner/unittests/tsserver/session.ts +++ b/src/testRunner/unittests/tsserver/session.ts @@ -1,12 +1,12 @@ import { expect } from "chai"; -import { incrementalVerifier } from "../../../harness/incrementalUtils"; +import { incrementalVerifier } from "../../../harness/incrementalUtils.js"; import { createHasErrorMessageLogger, nullLogger, -} from "../../../harness/tsserverLogger"; -import * as Harness from "../../_namespaces/Harness"; -import * as ts from "../../_namespaces/ts"; +} from "../../../harness/tsserverLogger.js"; +import * as Harness from "../../_namespaces/Harness.js"; +import * as ts from "../../_namespaces/ts.js"; let lastWrittenToHost: string; const noopFileWatcher: ts.FileWatcher = { close: ts.noop }; diff --git a/src/testRunner/unittests/tsserver/skipLibCheck.ts b/src/testRunner/unittests/tsserver/skipLibCheck.ts index e31d8103fbfb8..fc792a329662c 100644 --- a/src/testRunner/unittests/tsserver/skipLibCheck.ts +++ b/src/testRunner/unittests/tsserver/skipLibCheck.ts @@ -1,13 +1,13 @@ -import * as ts from "../../_namespaces/ts"; -import { jsonToReadableText } from "../helpers"; +import * as ts from "../../_namespaces/ts.js"; +import { jsonToReadableText } from "../helpers.js"; import { baselineTsserverLogs, openExternalProjectForSession, openFilesForSession, TestSession, toExternalFiles, -} from "../helpers/tsserver"; -import { createServerHost } from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/tsserver.js"; +import { createServerHost } from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: with skipLibCheck", () => { it("should be turned on for js-only inferred projects", () => { diff --git a/src/testRunner/unittests/tsserver/smartSelection.ts b/src/testRunner/unittests/tsserver/smartSelection.ts index b784c611520b2..94d738be3544f 100644 --- a/src/testRunner/unittests/tsserver/smartSelection.ts +++ b/src/testRunner/unittests/tsserver/smartSelection.ts @@ -1,14 +1,14 @@ -import * as ts from "../../_namespaces/ts"; +import * as ts from "../../_namespaces/ts.js"; import { baselineTsserverLogs, openFilesForSession, TestSession, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, File, libFile, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; // More tests in fourslash/smartSelection_* describe("unittests:: tsserver:: smartSelection", () => { diff --git a/src/testRunner/unittests/tsserver/symLinks.ts b/src/testRunner/unittests/tsserver/symLinks.ts index 2b25999573e9b..77ba8c49c28d1 100644 --- a/src/testRunner/unittests/tsserver/symLinks.ts +++ b/src/testRunner/unittests/tsserver/symLinks.ts @@ -1,11 +1,11 @@ -import * as ts from "../../_namespaces/ts"; -import { dedent } from "../../_namespaces/Utils"; -import { jsonToReadableText } from "../helpers"; +import * as ts from "../../_namespaces/ts.js"; +import { dedent } from "../../_namespaces/Utils.js"; +import { jsonToReadableText } from "../helpers.js"; import { buildMonorepoSymlinkedSiblingPackage1, cleanMonorepoSymlinkedSiblingPackage1, getMonorepoSymlinkedSiblingPackagesSys, -} from "../helpers/monorepoSymlinkedSiblingPackages"; +} from "../helpers/monorepoSymlinkedSiblingPackages.js"; import { baselineTsserverLogs, closeFilesForSession, @@ -13,7 +13,7 @@ import { protocolLocationFromSubstring, TestSession, verifyGetErrRequest, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, File, @@ -22,7 +22,7 @@ import { SymLink, TestServerHost, TestServerHostOsFlavor, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: symLinks::", () => { it("rename in common file renames all project", () => { diff --git a/src/testRunner/unittests/tsserver/symlinkCache.ts b/src/testRunner/unittests/tsserver/symlinkCache.ts index fd004772ee9c0..41bf308d299ad 100644 --- a/src/testRunner/unittests/tsserver/symlinkCache.ts +++ b/src/testRunner/unittests/tsserver/symlinkCache.ts @@ -1,14 +1,14 @@ -import * as ts from "../../_namespaces/ts"; +import * as ts from "../../_namespaces/ts.js"; import { baselineTsserverLogs, openFilesForSession, TestSession, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, File, SymLink, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: symlinkCache", () => { it("contains symlinks discovered by project references resolution after program creation", () => { diff --git a/src/testRunner/unittests/tsserver/syntacticServer.ts b/src/testRunner/unittests/tsserver/syntacticServer.ts index 53e9a25099d19..4f87f42987a6c 100644 --- a/src/testRunner/unittests/tsserver/syntacticServer.ts +++ b/src/testRunner/unittests/tsserver/syntacticServer.ts @@ -1,4 +1,4 @@ -import * as ts from "../../_namespaces/ts"; +import * as ts from "../../_namespaces/ts.js"; import { baselineTsserverLogs, closeFilesForSession, @@ -6,12 +6,12 @@ import { protocolFileLocationFromSubstring, TestSession, TestSessionRequest, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, File, libFile, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: Semantic operations on Syntax server", () => { function setup() { diff --git a/src/testRunner/unittests/tsserver/syntaxOperations.ts b/src/testRunner/unittests/tsserver/syntaxOperations.ts index 853b69fbf378f..4adc2c1ed19fa 100644 --- a/src/testRunner/unittests/tsserver/syntaxOperations.ts +++ b/src/testRunner/unittests/tsserver/syntaxOperations.ts @@ -1,14 +1,14 @@ -import * as ts from "../../_namespaces/ts"; +import * as ts from "../../_namespaces/ts.js"; import { baselineTsserverLogs, openFilesForSession, TestSession, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, File, libFile, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: syntax operations", () => { it("works when file is removed and added with different content", () => { diff --git a/src/testRunner/unittests/tsserver/telemetry.ts b/src/testRunner/unittests/tsserver/telemetry.ts index 6dab706cab254..e4cb6d611769d 100644 --- a/src/testRunner/unittests/tsserver/telemetry.ts +++ b/src/testRunner/unittests/tsserver/telemetry.ts @@ -1,5 +1,5 @@ -import * as ts from "../../_namespaces/ts"; -import { jsonToReadableText } from "../helpers"; +import * as ts from "../../_namespaces/ts.js"; +import { jsonToReadableText } from "../helpers.js"; import { baselineTsserverLogs, closeFilesForSession, @@ -7,11 +7,11 @@ import { openFilesForSession, TestSession, toExternalFiles, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, File, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: project telemetry", () => { it("does nothing for inferred project", () => { diff --git a/src/testRunner/unittests/tsserver/textStorage.ts b/src/testRunner/unittests/tsserver/textStorage.ts index e3a617e430760..23ae4d210ddb4 100644 --- a/src/testRunner/unittests/tsserver/textStorage.ts +++ b/src/testRunner/unittests/tsserver/textStorage.ts @@ -1,10 +1,10 @@ -import * as ts from "../../_namespaces/ts"; +import * as ts from "../../_namespaces/ts.js"; import { baselineTsserverLogs, openFilesForSession, TestSession, -} from "../helpers/tsserver"; -import { createServerHost } from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/tsserver.js"; +import { createServerHost } from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: Text storage", () => { const f = { diff --git a/src/testRunner/unittests/tsserver/typeAquisition.ts b/src/testRunner/unittests/tsserver/typeAquisition.ts index f8f543a1511bb..a4a32407ee0c2 100644 --- a/src/testRunner/unittests/tsserver/typeAquisition.ts +++ b/src/testRunner/unittests/tsserver/typeAquisition.ts @@ -1,12 +1,12 @@ -import { jsonToReadableText } from "../helpers"; +import { jsonToReadableText } from "../helpers.js"; import { baselineTsserverLogs, openExternalProjectForSession, openFilesForSession, TestSession, toExternalFile, -} from "../helpers/tsserver"; -import { createServerHost } from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/tsserver.js"; +import { createServerHost } from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: typeAquisition:: autoDiscovery", () => { it("does not depend on extension", () => { diff --git a/src/testRunner/unittests/tsserver/typeOnlyImportChains.ts b/src/testRunner/unittests/tsserver/typeOnlyImportChains.ts index 41c35cd0ffe92..d2fe43b15b522 100644 --- a/src/testRunner/unittests/tsserver/typeOnlyImportChains.ts +++ b/src/testRunner/unittests/tsserver/typeOnlyImportChains.ts @@ -1,14 +1,14 @@ -import * as ts from "../../_namespaces/ts"; +import * as ts from "../../_namespaces/ts.js"; import { baselineTsserverLogs, openFilesForSession, TestSession, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, File, libFile, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: typeOnlyImportChains", () => { it("named export -> type-only namespace import -> named export -> named import", () => { diff --git a/src/testRunner/unittests/tsserver/typeReferenceDirectives.ts b/src/testRunner/unittests/tsserver/typeReferenceDirectives.ts index af0757d12889f..167a707458b48 100644 --- a/src/testRunner/unittests/tsserver/typeReferenceDirectives.ts +++ b/src/testRunner/unittests/tsserver/typeReferenceDirectives.ts @@ -1,16 +1,16 @@ -import { jsonToReadableText } from "../helpers"; +import { jsonToReadableText } from "../helpers.js"; import { baselineTsserverLogs, openFilesForSession, TestSession, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, File, libFile, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; -describe("unittests:: tsserver:: typeReferenceDirectives", () => { +describe("unittests:: tsserver:: typeReferenceDirectives::", () => { it("when typeReferenceDirective contains UpperCasePackage", () => { const libProjectLocation = `/user/username/projects/myproject/lib`; const typeLib: File = { @@ -52,6 +52,7 @@ declare class TestLib { compilerOptions: { module: "amd", typeRoots: ["../lib/@types", "../lib/@app"], + traceResolution: true, }, }), }; diff --git a/src/testRunner/unittests/tsserver/typingsInstaller.ts b/src/testRunner/unittests/tsserver/typingsInstaller.ts index cc4c9633e5347..38d05aa1ee1b0 100644 --- a/src/testRunner/unittests/tsserver/typingsInstaller.ts +++ b/src/testRunner/unittests/tsserver/typingsInstaller.ts @@ -1,8 +1,8 @@ import { createLoggerWithInMemoryLogs, replaceAll, -} from "../../../harness/tsserverLogger"; -import * as ts from "../../_namespaces/ts"; +} from "../../../harness/tsserverLogger.js"; +import * as ts from "../../_namespaces/ts.js"; import { baselineTsserverLogs, closeFilesForSession, @@ -13,24 +13,24 @@ import { TestSession, TestSessionRequest, toExternalFile, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createTypesRegistry, customTypesMap, FileWithPackageName, loggerToTypingsInstallerLog, -} from "../helpers/typingsInstaller"; +} from "../helpers/typingsInstaller.js"; import { changeToHostTrackingWrittenFiles, createServerHost, File, libFile, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; import validatePackageName = ts.JsTyping.validatePackageName; import NameValidationResult = ts.JsTyping.NameValidationResult; -import { stringifyIndented } from "../../_namespaces/ts.server"; -import { jsonToReadableText } from "../helpers"; +import { stringifyIndented } from "../../_namespaces/ts.server.js"; +import { jsonToReadableText } from "../helpers.js"; describe("unittests:: tsserver:: typingsInstaller:: local module", () => { it("should not be picked up", () => { diff --git a/src/testRunner/unittests/tsserver/versionCache.ts b/src/testRunner/unittests/tsserver/versionCache.ts index fefccff86f876..aa89a12f416b3 100644 --- a/src/testRunner/unittests/tsserver/versionCache.ts +++ b/src/testRunner/unittests/tsserver/versionCache.ts @@ -1,5 +1,5 @@ -import * as Harness from "../../_namespaces/Harness"; -import * as ts from "../../_namespaces/ts"; +import * as Harness from "../../_namespaces/Harness.js"; +import * as ts from "../../_namespaces/ts.js"; function editFlat(position: number, deletedLength: number, newText: string, source: string) { return source.substring(0, position) + newText + source.substring(position + deletedLength, source.length); diff --git a/src/testRunner/unittests/tsserver/watchEnvironment.ts b/src/testRunner/unittests/tsserver/watchEnvironment.ts index 58136c4aaa88a..4e6ccfa7319ac 100644 --- a/src/testRunner/unittests/tsserver/watchEnvironment.ts +++ b/src/testRunner/unittests/tsserver/watchEnvironment.ts @@ -1,13 +1,13 @@ import { createLoggerWithInMemoryLogs, LoggerWithInMemoryLogs, -} from "../../../harness/tsserverLogger"; -import * as ts from "../../_namespaces/ts"; -import { jsonToReadableText } from "../helpers"; +} from "../../../harness/tsserverLogger.js"; +import * as ts from "../../_namespaces/ts.js"; +import { jsonToReadableText } from "../helpers.js"; import { commonFile1, commonFile2, -} from "../helpers/tscWatch"; +} from "../helpers/tscWatch.js"; import { baselineTsserverLogs, openExternalProjectForSession, @@ -17,14 +17,14 @@ import { TestSession, toExternalFiles, verifyGetErrRequest, -} from "../helpers/tsserver"; +} from "../helpers/tsserver.js"; import { createServerHost, File, libFile, TestServerHostOsFlavor, Tsc_WatchDirectory, -} from "../helpers/virtualFileSystemWithWatch"; +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: watchEnvironment:: tsserverProjectSystem watchDirectories implementation", () => { function verifyCompletionListWithNewFileInSubFolder(scenario: string, tscWatchDirectory: Tsc_WatchDirectory) { diff --git a/src/testRunner/unittests/typeParameterIsPossiblyReferenced.ts b/src/testRunner/unittests/typeParameterIsPossiblyReferenced.ts index b97d9ffcb951f..d0c4a26a16e04 100644 --- a/src/testRunner/unittests/typeParameterIsPossiblyReferenced.ts +++ b/src/testRunner/unittests/typeParameterIsPossiblyReferenced.ts @@ -1,8 +1,8 @@ -import * as documents from "../_namespaces/documents"; -import * as fakes from "../_namespaces/fakes"; -import * as Harness from "../_namespaces/Harness"; -import * as ts from "../_namespaces/ts"; -import * as vfs from "../_namespaces/vfs"; +import * as documents from "../_namespaces/documents.js"; +import * as fakes from "../_namespaces/fakes.js"; +import * as Harness from "../_namespaces/Harness.js"; +import * as ts from "../_namespaces/ts.js"; +import * as vfs from "../_namespaces/vfs.js"; describe("unittests :: internalApi :: typeParameterIsPossiblyReferenced", () => { it("with type parameter aliasing", () => { diff --git a/src/tsc/_namespaces/ts.ts b/src/tsc/_namespaces/ts.ts index b9fd7c710ab69..67be3307c1ecc 100644 --- a/src/tsc/_namespaces/ts.ts +++ b/src/tsc/_namespaces/ts.ts @@ -1,3 +1,3 @@ /* Generated file to emulate the ts namespace. */ -export * from "../../compiler/_namespaces/ts"; +export * from "../../compiler/_namespaces/ts.js"; diff --git a/src/tsc/tsc.ts b/src/tsc/tsc.ts index d7c3c42a01f61..f3f22307e3e67 100644 --- a/src/tsc/tsc.ts +++ b/src/tsc/tsc.ts @@ -1,4 +1,4 @@ -import * as ts from "./_namespaces/ts"; +import * as ts from "./_namespaces/ts.js"; // This file actually uses arguments passed on commandline and executes it diff --git a/src/tsserver/common.ts b/src/tsserver/common.ts index bdf6ca2a17ea0..01fd6db7dcf7c 100644 --- a/src/tsserver/common.ts +++ b/src/tsserver/common.ts @@ -1,4 +1,4 @@ -import * as ts from "../typescript/typescript"; +import * as ts from "../typescript/typescript.js"; /** @internal */ export function getLogLevel(level: string | undefined) { diff --git a/src/tsserver/nodeServer.ts b/src/tsserver/nodeServer.ts index 15b45588c9a5a..280b0d3b630df 100644 --- a/src/tsserver/nodeServer.ts +++ b/src/tsserver/nodeServer.ts @@ -23,13 +23,13 @@ import { validateLocaleAndSetLanguage, versionMajorMinor, WatchOptions, -} from "../typescript/typescript"; -import * as ts from "../typescript/typescript"; +} from "../typescript/typescript.js"; +import * as ts from "../typescript/typescript.js"; import { getLogLevel, StartInput, StartSessionOptions, -} from "./common"; +} from "./common.js"; interface LogOptions { file?: string; diff --git a/src/tsserver/server.ts b/src/tsserver/server.ts index 3049187b8be1a..dac80d8496f2f 100644 --- a/src/tsserver/server.ts +++ b/src/tsserver/server.ts @@ -1,6 +1,6 @@ -import * as ts from "../typescript/typescript"; -import { StartInput } from "./common"; -import { initializeNodeSystem } from "./nodeServer"; +import * as ts from "../typescript/typescript.js"; +import { StartInput } from "./common.js"; +import { initializeNodeSystem } from "./nodeServer.js"; function findArgumentStringArray(argName: string): readonly string[] { const arg = ts.server.findArgument(argName); diff --git a/src/typescript/_namespaces/ts.server.ts b/src/typescript/_namespaces/ts.server.ts index 21b0d0335fbd0..6e53b0a9aef37 100644 --- a/src/typescript/_namespaces/ts.server.ts +++ b/src/typescript/_namespaces/ts.server.ts @@ -1,4 +1,4 @@ /* Generated file to emulate the ts.server namespace. */ -export * from "../../jsTyping/_namespaces/ts.server"; -export * from "../../server/_namespaces/ts.server"; +export * from "../../jsTyping/_namespaces/ts.server.js"; +export * from "../../server/_namespaces/ts.server.js"; diff --git a/src/typescript/_namespaces/ts.ts b/src/typescript/_namespaces/ts.ts index 3060a64378787..1c1a9fcb82264 100644 --- a/src/typescript/_namespaces/ts.ts +++ b/src/typescript/_namespaces/ts.ts @@ -1,8 +1,8 @@ /* Generated file to emulate the ts namespace. */ -export * from "../../compiler/_namespaces/ts"; -export * from "../../jsTyping/_namespaces/ts"; -export * from "../../services/_namespaces/ts"; -export * from "../../server/_namespaces/ts"; -import * as server from "./ts.server"; +export * from "../../compiler/_namespaces/ts.js"; +export * from "../../jsTyping/_namespaces/ts.js"; +export * from "../../services/_namespaces/ts.js"; +export * from "../../server/_namespaces/ts.js"; +import * as server from "./ts.server.js"; export { server }; diff --git a/src/typescript/typescript.ts b/src/typescript/typescript.ts index 0df80b850032d..9e54bbe9c15b0 100644 --- a/src/typescript/typescript.ts +++ b/src/typescript/typescript.ts @@ -1,7 +1,7 @@ import { Debug, LogLevel, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; // enable deprecation logging declare const console: any; @@ -22,4 +22,4 @@ if (typeof console !== "undefined") { }; } -export * from "./_namespaces/ts"; +export * from "./_namespaces/ts.js"; diff --git a/src/typingsInstaller/nodeTypingsInstaller.ts b/src/typingsInstaller/nodeTypingsInstaller.ts index 7fb5b38e73367..836b64473cb05 100644 --- a/src/typingsInstaller/nodeTypingsInstaller.ts +++ b/src/typingsInstaller/nodeTypingsInstaller.ts @@ -11,8 +11,8 @@ import { sys, toPath, version, -} from "../typescript/typescript"; -import * as ts from "../typescript/typescript"; +} from "../typescript/typescript.js"; +import * as ts from "../typescript/typescript.js"; class FileLog implements ts.server.typingsInstaller.Log { constructor(private logFile: string | undefined) { diff --git a/src/typingsInstallerCore/_namespaces/ts.server.ts b/src/typingsInstallerCore/_namespaces/ts.server.ts index 252296d2335cf..ca409c9f6cf20 100644 --- a/src/typingsInstallerCore/_namespaces/ts.server.ts +++ b/src/typingsInstallerCore/_namespaces/ts.server.ts @@ -1,5 +1,5 @@ /* Generated file to emulate the ts.server namespace. */ -export * from "../../jsTyping/_namespaces/ts.server"; -import * as typingsInstaller from "./ts.server.typingsInstaller"; +export * from "../../jsTyping/_namespaces/ts.server.js"; +import * as typingsInstaller from "./ts.server.typingsInstaller.js"; export { typingsInstaller }; diff --git a/src/typingsInstallerCore/_namespaces/ts.server.typingsInstaller.ts b/src/typingsInstallerCore/_namespaces/ts.server.typingsInstaller.ts index 2964824604001..fb809d455542a 100644 --- a/src/typingsInstallerCore/_namespaces/ts.server.typingsInstaller.ts +++ b/src/typingsInstallerCore/_namespaces/ts.server.typingsInstaller.ts @@ -1,3 +1,3 @@ /* Generated file to emulate the ts.server.typingsInstaller namespace. */ -export * from "../typingsInstaller"; +export * from "../typingsInstaller.js"; diff --git a/src/typingsInstallerCore/_namespaces/ts.ts b/src/typingsInstallerCore/_namespaces/ts.ts index aa90e7daa8eae..aaadedb2ed647 100644 --- a/src/typingsInstallerCore/_namespaces/ts.ts +++ b/src/typingsInstallerCore/_namespaces/ts.ts @@ -1,6 +1,6 @@ /* Generated file to emulate the ts namespace. */ -export * from "../../compiler/_namespaces/ts"; -export * from "../../jsTyping/_namespaces/ts"; -import * as server from "./ts.server"; +export * from "../../compiler/_namespaces/ts.js"; +export * from "../../jsTyping/_namespaces/ts.js"; +import * as server from "./ts.server.js"; export { server }; diff --git a/src/typingsInstallerCore/typingsInstaller.ts b/src/typingsInstallerCore/typingsInstaller.ts index 412faeb4b42d1..6b49ab576392c 100644 --- a/src/typingsInstallerCore/typingsInstaller.ts +++ b/src/typingsInstallerCore/typingsInstaller.ts @@ -18,7 +18,7 @@ import { Version, version, versionMajorMinor, -} from "./_namespaces/ts"; +} from "./_namespaces/ts.js"; import { ActionPackageInstalled, ActionSet, @@ -39,7 +39,7 @@ import { TypesRegistryResponse, TypingInstallerRequestUnion, WatchTypingLocations, -} from "./_namespaces/ts.server"; +} from "./_namespaces/ts.server.js"; interface NpmConfig { devDependencies: MapLike; diff --git a/tests/baselines/reference/1.0lib-noErrors.types b/tests/baselines/reference/1.0lib-noErrors.types index 54d41fe4a6a94..f7d94356d476b 100644 --- a/tests/baselines/reference/1.0lib-noErrors.types +++ b/tests/baselines/reference/1.0lib-noErrors.types @@ -532,7 +532,7 @@ interface String { */ match(regexp: string): string[]; >match : { (regexp: string): string[]; (regexp: RegExp): string[]; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >regexp : string > : ^^^^^^ @@ -542,7 +542,7 @@ interface String { */ match(regexp: RegExp): string[]; >match : { (regexp: string): string[]; (regexp: RegExp): string[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >regexp : RegExp > : ^^^^^^ @@ -553,7 +553,7 @@ interface String { */ replace(searchValue: string, replaceValue: string): string; >replace : { (searchValue: string, replaceValue: string): string; (searchValue: string, replaceValue: (substring: string, ...args: any[]) => string): string; (searchValue: RegExp, replaceValue: string): string; (searchValue: RegExp, replaceValue: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >searchValue : string > : ^^^^^^ >replaceValue : string @@ -566,7 +566,7 @@ interface String { */ replace(searchValue: string, replaceValue: (substring: string, ...args: any[]) => string): string; >replace : { (searchValue: string, replaceValue: string): string; (searchValue: string, replaceValue: (substring: string, ...args: any[]) => string): string; (searchValue: RegExp, replaceValue: string): string; (searchValue: RegExp, replaceValue: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >searchValue : string > : ^^^^^^ >replaceValue : (substring: string, ...args: any[]) => string @@ -583,7 +583,7 @@ interface String { */ replace(searchValue: RegExp, replaceValue: string): string; >replace : { (searchValue: string, replaceValue: string): string; (searchValue: string, replaceValue: (substring: string, ...args: any[]) => string): string; (searchValue: RegExp, replaceValue: string): string; (searchValue: RegExp, replaceValue: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >searchValue : RegExp > : ^^^^^^ >replaceValue : string @@ -596,7 +596,7 @@ interface String { */ replace(searchValue: RegExp, replaceValue: (substring: string, ...args: any[]) => string): string; >replace : { (searchValue: string, replaceValue: string): string; (searchValue: string, replaceValue: (substring: string, ...args: any[]) => string): string; (searchValue: RegExp, replaceValue: string): string; (searchValue: RegExp, replaceValue: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >searchValue : RegExp > : ^^^^^^ >replaceValue : (substring: string, ...args: any[]) => string @@ -612,7 +612,7 @@ interface String { */ search(regexp: string): number; >search : { (regexp: string): number; (regexp: RegExp): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >regexp : string > : ^^^^^^ @@ -622,7 +622,7 @@ interface String { */ search(regexp: RegExp): number; >search : { (regexp: string): number; (regexp: RegExp): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >regexp : RegExp > : ^^^^^^ @@ -647,7 +647,7 @@ interface String { */ split(separator: string, limit?: number): string[]; >split : { (separator: string, limit?: number): string[]; (separator: RegExp, limit?: number): string[]; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >separator : string > : ^^^^^^ >limit : number @@ -660,7 +660,7 @@ interface String { */ split(separator: RegExp, limit?: number): string[]; >split : { (separator: string, limit?: number): string[]; (separator: RegExp, limit?: number): string[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >separator : RegExp > : ^^^^^^ >limit : number @@ -1590,13 +1590,13 @@ interface RegExpExecArray { splice(start: number): string[]; >splice : { (start: number): string[]; (start: number, deleteCount: number, ...items: string[]): string[]; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >start : number > : ^^^^^^ splice(start: number, deleteCount: number, ...items: string[]): string[]; >splice : { (start: number): string[]; (start: number, deleteCount: number, ...items: string[]): string[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >start : number > : ^^^^^^ >deleteCount : number @@ -1990,7 +1990,7 @@ interface JSON { */ stringify(value: any): string; >stringify : { (value: any): string; (value: any, replacer: (key: string, value: any) => any): string; (value: any, replacer: any[]): string; (value: any, replacer: (key: string, value: any) => any, space: any): string; (value: any, replacer: any[], space: any): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >value : any /** @@ -2000,7 +2000,7 @@ interface JSON { */ stringify(value: any, replacer: (key: string, value: any) => any): string; >stringify : { (value: any): string; (value: any, replacer: (key: string, value: any) => any): string; (value: any, replacer: any[]): string; (value: any, replacer: (key: string, value: any) => any, space: any): string; (value: any, replacer: any[], space: any): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >value : any >replacer : (key: string, value: any) => any > : ^ ^^ ^^ ^^ ^^^^^ @@ -2015,7 +2015,7 @@ interface JSON { */ stringify(value: any, replacer: any[]): string; >stringify : { (value: any): string; (value: any, replacer: (key: string, value: any) => any): string; (value: any, replacer: any[]): string; (value: any, replacer: (key: string, value: any) => any, space: any): string; (value: any, replacer: any[], space: any): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >value : any >replacer : any[] > : ^^^^^ @@ -2028,7 +2028,7 @@ interface JSON { */ stringify(value: any, replacer: (key: string, value: any) => any, space: any): string; >stringify : { (value: any): string; (value: any, replacer: (key: string, value: any) => any): string; (value: any, replacer: any[]): string; (value: any, replacer: (key: string, value: any) => any, space: any): string; (value: any, replacer: any[], space: any): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >value : any >replacer : (key: string, value: any) => any > : ^ ^^ ^^ ^^ ^^^^^ @@ -2045,7 +2045,7 @@ interface JSON { */ stringify(value: any, replacer: any[], space: any): string; >stringify : { (value: any): string; (value: any, replacer: (key: string, value: any) => any): string; (value: any, replacer: any[]): string; (value: any, replacer: (key: string, value: any) => any, space: any): string; (value: any, replacer: any[], space: any): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >value : any >replacer : any[] > : ^^^^^ @@ -2081,7 +2081,7 @@ interface Array { */ concat(...items: U[]): T[]; >concat : { (...items: U[]): T[]; (...items: T[]): T[]; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ >items : U[] > : ^^^ @@ -2091,7 +2091,7 @@ interface Array { */ concat(...items: T[]): T[]; >concat : { (...items: U[]): T[]; (...items: T[]): T[]; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ >items : T[] > : ^^^ @@ -2169,7 +2169,7 @@ interface Array { */ splice(start: number): T[]; >splice : { (start: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >start : number > : ^^^^^^ @@ -2181,7 +2181,7 @@ interface Array { */ splice(start: number, deleteCount: number, ...items: T[]): T[]; >splice : { (start: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >start : number > : ^^^^^^ >deleteCount : number @@ -2322,7 +2322,7 @@ interface Array { */ reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; >reduce : { (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; (callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >callbackfn : (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T > : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >previousValue : T @@ -2343,7 +2343,7 @@ interface Array { */ reduce(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; >reduce : { (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; (callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >callbackfn : (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U > : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >previousValue : U @@ -2364,7 +2364,7 @@ interface Array { */ reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; >reduceRight : { (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; (callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >callbackfn : (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T > : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >previousValue : T @@ -2385,7 +2385,7 @@ interface Array { */ reduceRight(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; >reduceRight : { (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; (callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >callbackfn : (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U > : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >previousValue : U @@ -2411,8 +2411,8 @@ interface Array { > : ^^^^^^ } declare var Array: { ->Array : { (arrayLength?: number): any[]; (arrayLength: number): T[]; (...items: T_1[]): T_1[]; new (arrayLength?: number): any[]; new (arrayLength: number): T_2[]; new (...items: T_3[]): T_3[]; isArray(arg: any): boolean; prototype: Array; } -> : ^^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^^^ ^^ ^^^ ^^^^^^^ ^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^ ^^^ +>Array : { (arrayLength?: number): any[]; (arrayLength: number): T[]; (...items: T[]): T[]; new (arrayLength?: number): any[]; new (arrayLength: number): T[]; new (...items: T[]): T[]; isArray(arg: any): boolean; prototype: Array; } +> : ^^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^^^ ^^ ^^^ ^^^^^^^ ^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^ ^^^ new (arrayLength?: number): any[]; >arrayLength : number diff --git a/tests/baselines/reference/2dArrays.types b/tests/baselines/reference/2dArrays.types index ce8614e1597ee..426d608a52f51 100644 --- a/tests/baselines/reference/2dArrays.types +++ b/tests/baselines/reference/2dArrays.types @@ -35,7 +35,7 @@ class Board { >this.ships.every(function (val) { return val.isSunk; }) : boolean > : ^^^^^^^ >this.ships.every : { (predicate: (value: Ship, index: number, array: Ship[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: Ship, index: number, array: Ship[]) => unknown, thisArg?: any): boolean; } -> : ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ >this.ships : Ship[] > : ^^^^^^ >this : this @@ -43,7 +43,7 @@ class Board { >ships : Ship[] > : ^^^^^^ >every : { (predicate: (value: Ship, index: number, array: Ship[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: Ship, index: number, array: Ship[]) => unknown, thisArg?: any): boolean; } -> : ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ >function (val) { return val.isSunk; } : (val: Ship) => boolean > : ^ ^^^^^^^^^^^^^^^^^^ >val : Ship diff --git a/tests/baselines/reference/AmbientModuleAndAmbientFunctionWithTheSameNameAndCommonRoot.types b/tests/baselines/reference/AmbientModuleAndAmbientFunctionWithTheSameNameAndCommonRoot.types index 3c31779f833f1..39bd39b358535 100644 --- a/tests/baselines/reference/AmbientModuleAndAmbientFunctionWithTheSameNameAndCommonRoot.types +++ b/tests/baselines/reference/AmbientModuleAndAmbientFunctionWithTheSameNameAndCommonRoot.types @@ -34,19 +34,19 @@ var cl: { x: number; y: number; } var cl = Point(); >cl : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >Point() : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >Point : typeof Point > : ^^^^^^^^^^^^ var cl = Point.Origin; >cl : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >Point.Origin : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >Point : typeof Point > : ^^^^^^^^^^^^ >Origin : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ diff --git a/tests/baselines/reference/AmbientModuleAndAmbientWithSameNameAndCommonRoot.types b/tests/baselines/reference/AmbientModuleAndAmbientWithSameNameAndCommonRoot.types index f0c2db329d517..9dfdfee91e6bc 100644 --- a/tests/baselines/reference/AmbientModuleAndAmbientWithSameNameAndCommonRoot.types +++ b/tests/baselines/reference/AmbientModuleAndAmbientWithSameNameAndCommonRoot.types @@ -60,9 +60,9 @@ var p: { x: number; y: number; } var p = A.Point.Origin; >p : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >A.Point.Origin : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >A.Point : typeof A.Point > : ^^^^^^^^^^^^^^ >A : typeof A @@ -70,11 +70,11 @@ var p = A.Point.Origin; >Point : typeof A.Point > : ^^^^^^^^^^^^^^ >Origin : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ var p = new A.Point(0, 0); // unexpected error here, bug 840000 >p : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >new A.Point(0, 0) : A.Point > : ^^^^^^^ >A.Point : typeof A.Point diff --git a/tests/baselines/reference/AmbientModuleAndNonAmbientClassWithSameNameAndCommonRoot.types b/tests/baselines/reference/AmbientModuleAndNonAmbientClassWithSameNameAndCommonRoot.types index 2dd9fed3005bb..280e9ba03bb85 100644 --- a/tests/baselines/reference/AmbientModuleAndNonAmbientClassWithSameNameAndCommonRoot.types +++ b/tests/baselines/reference/AmbientModuleAndNonAmbientClassWithSameNameAndCommonRoot.types @@ -52,9 +52,9 @@ var p: { x: number; y: number; } var p = A.Point.Origin; >p : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >A.Point.Origin : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >A.Point : typeof A.Point > : ^^^^^^^^^^^^^^ >A : typeof A @@ -62,11 +62,11 @@ var p = A.Point.Origin; >Point : typeof A.Point > : ^^^^^^^^^^^^^^ >Origin : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ var p = new A.Point(0, 0); // unexpected error here, bug 840000 >p : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >new A.Point(0, 0) : A.Point > : ^^^^^^^ >A.Point : typeof A.Point diff --git a/tests/baselines/reference/AmbientModuleAndNonAmbientFunctionWithTheSameNameAndCommonRoot.types b/tests/baselines/reference/AmbientModuleAndNonAmbientFunctionWithTheSameNameAndCommonRoot.types index 7dbc3f7669693..ab16963cf4100 100644 --- a/tests/baselines/reference/AmbientModuleAndNonAmbientFunctionWithTheSameNameAndCommonRoot.types +++ b/tests/baselines/reference/AmbientModuleAndNonAmbientFunctionWithTheSameNameAndCommonRoot.types @@ -43,7 +43,7 @@ var cl: { x: number; y: number; } var cl = Point(); >cl : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >Point() : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >Point : typeof Point @@ -51,11 +51,11 @@ var cl = Point(); var cl = Point.Origin; >cl : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >Point.Origin : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >Point : typeof Point > : ^^^^^^^^^^^^ >Origin : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ diff --git a/tests/baselines/reference/ArrowFunction1.types b/tests/baselines/reference/ArrowFunction1.types index c0f36308a4c3a..e05ceb280edb9 100644 --- a/tests/baselines/reference/ArrowFunction1.types +++ b/tests/baselines/reference/ArrowFunction1.types @@ -3,9 +3,9 @@ === ArrowFunction1.ts === var v = (a: ) => { >v : (a: any) => void -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >(a: ) => { } : (a: any) => void -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >a : any > : ^^^ diff --git a/tests/baselines/reference/ClassAndModuleThatMergeWithModuleMemberThatUsesClassTypeParameter.types b/tests/baselines/reference/ClassAndModuleThatMergeWithModuleMemberThatUsesClassTypeParameter.types index 3b9a05088c0b9..9bce00088aa1c 100644 --- a/tests/baselines/reference/ClassAndModuleThatMergeWithModuleMemberThatUsesClassTypeParameter.types +++ b/tests/baselines/reference/ClassAndModuleThatMergeWithModuleMemberThatUsesClassTypeParameter.types @@ -22,7 +22,7 @@ module clodule1 { function f(x: T) { } >f : (x: T) => void -> : ^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >x : T > : ^ } diff --git a/tests/baselines/reference/ES5For-of1.types b/tests/baselines/reference/ES5For-of1.types index 19c89e862f85b..2e769b3684013 100644 --- a/tests/baselines/reference/ES5For-of1.types +++ b/tests/baselines/reference/ES5For-of1.types @@ -17,11 +17,11 @@ for (var v of ['a', 'b', 'c']) { >console.log(v) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >v : string > : ^^^^^^ } diff --git a/tests/baselines/reference/ES5For-of22.types b/tests/baselines/reference/ES5For-of22.types index 31969c20e73ca..71e3820fee878 100644 --- a/tests/baselines/reference/ES5For-of22.types +++ b/tests/baselines/reference/ES5For-of22.types @@ -23,11 +23,11 @@ for (var x of [1, 2, 3]) { >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : number > : ^^^^^^ } diff --git a/tests/baselines/reference/ES5For-of23.types b/tests/baselines/reference/ES5For-of23.types index 11c58f1a1fd2f..16e19d8fe6ff5 100644 --- a/tests/baselines/reference/ES5For-of23.types +++ b/tests/baselines/reference/ES5For-of23.types @@ -23,11 +23,11 @@ for (var x of [1, 2, 3]) { >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : number > : ^^^^^^ } diff --git a/tests/baselines/reference/ES5For-of33.types b/tests/baselines/reference/ES5For-of33.types index 22515744ce282..f21f2292603bb 100644 --- a/tests/baselines/reference/ES5For-of33.types +++ b/tests/baselines/reference/ES5For-of33.types @@ -17,11 +17,11 @@ for (var v of ['a', 'b', 'c']) { >console.log(v) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >v : string > : ^^^^^^ } diff --git a/tests/baselines/reference/ES5For-of37.types b/tests/baselines/reference/ES5For-of37.types index 7b98595802d01..58c2d9689f3f5 100644 --- a/tests/baselines/reference/ES5For-of37.types +++ b/tests/baselines/reference/ES5For-of37.types @@ -54,11 +54,11 @@ for (const i of [0, 1, 2, 3, 4]) { >console.log(i) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >i : number > : ^^^^^^ @@ -69,11 +69,11 @@ for (const i of [0, 1, 2, 3, 4]) { >console.log('E %s %s', i, err) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'E %s %s' : "E %s %s" > : ^^^^^^^^^ >i : number diff --git a/tests/baselines/reference/ES5SymbolProperty4.types b/tests/baselines/reference/ES5SymbolProperty4.types index adf898424968b..7b02ee9fa6eb0 100644 --- a/tests/baselines/reference/ES5SymbolProperty4.types +++ b/tests/baselines/reference/ES5SymbolProperty4.types @@ -17,7 +17,7 @@ class C { >Symbol.iterator : string > : ^^^^^^ >Symbol : { iterator: string; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ >iterator : string > : ^^^^^^ } @@ -33,7 +33,7 @@ class C { >Symbol.iterator : string > : ^^^^^^ >Symbol : { iterator: string; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ >iterator : string > : ^^^^^^ diff --git a/tests/baselines/reference/ES5SymbolProperty5.types b/tests/baselines/reference/ES5SymbolProperty5.types index 244b173d284b6..1fba891c701c5 100644 --- a/tests/baselines/reference/ES5SymbolProperty5.types +++ b/tests/baselines/reference/ES5SymbolProperty5.types @@ -17,7 +17,7 @@ class C { >Symbol.iterator : symbol > : ^^^^^^ >Symbol : { iterator: symbol; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ >iterator : symbol > : ^^^^^^ } @@ -34,7 +34,7 @@ class C { >Symbol.iterator : symbol > : ^^^^^^ >Symbol : { iterator: symbol; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ >iterator : symbol > : ^^^^^^ >0 : 0 diff --git a/tests/baselines/reference/ES5SymbolProperty7.types b/tests/baselines/reference/ES5SymbolProperty7.types index 5c501225dbbe7..324525e5ca3ca 100644 --- a/tests/baselines/reference/ES5SymbolProperty7.types +++ b/tests/baselines/reference/ES5SymbolProperty7.types @@ -15,7 +15,7 @@ class C { > : ^^^^^^^^^^ >Symbol.iterator : any >Symbol : { iterator: any; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ >iterator : any > : ^^^ } @@ -30,7 +30,7 @@ class C { > : ^^^^^^^^ >Symbol.iterator : any >Symbol : { iterator: any; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ >iterator : any > : ^^^ diff --git a/tests/baselines/reference/ES5SymbolType1.types b/tests/baselines/reference/ES5SymbolType1.types index a2daa7d66639c..a8c00932002b0 100644 --- a/tests/baselines/reference/ES5SymbolType1.types +++ b/tests/baselines/reference/ES5SymbolType1.types @@ -9,9 +9,9 @@ s.toString(); >s.toString() : string > : ^^^^^^ >s.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >s : symbol > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/EnumAndModuleWithSameNameAndCommonRoot.types b/tests/baselines/reference/EnumAndModuleWithSameNameAndCommonRoot.types index 5ef15456d81fa..6eb5814cd7d18 100644 --- a/tests/baselines/reference/EnumAndModuleWithSameNameAndCommonRoot.types +++ b/tests/baselines/reference/EnumAndModuleWithSameNameAndCommonRoot.types @@ -52,7 +52,7 @@ var y: { x: number; y: number }; var y = new enumdule.Point(0, 0); >y : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >new enumdule.Point(0, 0) : enumdule.Point > : ^^^^^^^^^^^^^^ >enumdule.Point : typeof enumdule.Point diff --git a/tests/baselines/reference/FunctionAndModuleWithSameNameAndCommonRoot.types b/tests/baselines/reference/FunctionAndModuleWithSameNameAndCommonRoot.types index b04f7afd598d8..da0e9c66d64ba 100644 --- a/tests/baselines/reference/FunctionAndModuleWithSameNameAndCommonRoot.types +++ b/tests/baselines/reference/FunctionAndModuleWithSameNameAndCommonRoot.types @@ -59,7 +59,7 @@ var fn: () => { x: number; y: number }; var fn = A.Point; >fn : () => { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >A.Point : typeof A.Point > : ^^^^^^^^^^^^^^ >A : typeof A @@ -77,7 +77,7 @@ var cl: { x: number; y: number; } var cl = A.Point(); >cl : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >A.Point() : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >A.Point : typeof A.Point @@ -89,7 +89,7 @@ var cl = A.Point(); var cl = A.Point.Origin; // not expected to be an error. >cl : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >A.Point.Origin : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >A.Point : typeof A.Point @@ -146,7 +146,7 @@ module B { var fn: () => { x: number; y: number }; >fn : () => { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >x : number > : ^^^^^^ >y : number @@ -154,7 +154,7 @@ var fn: () => { x: number; y: number }; var fn = B.Point; // not expected to be an error. bug 840000: [corelang] Function of fundule not assignalbe as expected >fn : () => { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >B.Point : typeof B.Point > : ^^^^^^^^^^^^^^ >B : typeof B @@ -164,7 +164,7 @@ var fn = B.Point; // not expected to be an error. bug 840000: [corelang] Functi var cl: { x: number; y: number; } >cl : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >x : number > : ^^^^^^ >y : number @@ -172,7 +172,7 @@ var cl: { x: number; y: number; } var cl = B.Point(); >cl : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >B.Point() : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >B.Point : typeof B.Point @@ -184,7 +184,7 @@ var cl = B.Point(); var cl = B.Point.Origin; >cl : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >B.Point.Origin : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >B.Point : typeof B.Point diff --git a/tests/baselines/reference/FunctionAndModuleWithSameNameAndDifferentCommonRoot.types b/tests/baselines/reference/FunctionAndModuleWithSameNameAndDifferentCommonRoot.types index 270c5b36268cb..4e7b739d3199a 100644 --- a/tests/baselines/reference/FunctionAndModuleWithSameNameAndDifferentCommonRoot.types +++ b/tests/baselines/reference/FunctionAndModuleWithSameNameAndDifferentCommonRoot.types @@ -59,7 +59,7 @@ var fn: () => { x: number; y: number }; var fn = A.Point; >fn : () => { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >A.Point : () => { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >A : typeof A @@ -77,7 +77,7 @@ var cl: { x: number; y: number; } var cl = B.Point.Origin; >cl : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >B.Point.Origin : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >B.Point : typeof B.Point diff --git a/tests/baselines/reference/ModuleAndEnumWithSameNameAndCommonRoot.types b/tests/baselines/reference/ModuleAndEnumWithSameNameAndCommonRoot.types index ffb222bf44319..86293d379a2ee 100644 --- a/tests/baselines/reference/ModuleAndEnumWithSameNameAndCommonRoot.types +++ b/tests/baselines/reference/ModuleAndEnumWithSameNameAndCommonRoot.types @@ -52,7 +52,7 @@ var y: { x: number; y: number }; var y = new enumdule.Point(0, 0); >y : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >new enumdule.Point(0, 0) : enumdule.Point > : ^^^^^^^^^^^^^^ >enumdule.Point : typeof enumdule.Point diff --git a/tests/baselines/reference/ModuleWithExportedAndNonExportedClasses.types b/tests/baselines/reference/ModuleWithExportedAndNonExportedClasses.types index b45fc86067580..61f34242e1e08 100644 --- a/tests/baselines/reference/ModuleWithExportedAndNonExportedClasses.types +++ b/tests/baselines/reference/ModuleWithExportedAndNonExportedClasses.types @@ -69,7 +69,7 @@ var a: { id: number; name: string }; var a = new A.A(); >a : { id: number; name: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^ ^^^ >new A.A() : A.A > : ^^^ >A.A : typeof A.A diff --git a/tests/baselines/reference/ModuleWithExportedAndNonExportedFunctions.types b/tests/baselines/reference/ModuleWithExportedAndNonExportedFunctions.types index 1862adfdd7db7..73a4a2b513ba5 100644 --- a/tests/baselines/reference/ModuleWithExportedAndNonExportedFunctions.types +++ b/tests/baselines/reference/ModuleWithExportedAndNonExportedFunctions.types @@ -55,7 +55,7 @@ var fn: (s: string) => boolean; var fn = A.fn; >fn : (s: string) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >A.fn : (s: string) => boolean > : ^ ^^ ^^^^^^^^^^^^ >A : typeof A @@ -71,13 +71,13 @@ var fng: (s: T) => U; var fng = A.fng; // bug 838015 >fng : (s: T) => U -> : ^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >A.fng : (s: T) => U -> : ^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >A : typeof A > : ^^^^^^^^ >fng : (s: T) => U -> : ^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ // these should be errors since the functions are not exported var fn2 = A.fn2; diff --git a/tests/baselines/reference/ModuleWithExportedAndNonExportedImportAlias.types b/tests/baselines/reference/ModuleWithExportedAndNonExportedImportAlias.types index 857318c63fd6d..2c9bcc56bbbf0 100644 --- a/tests/baselines/reference/ModuleWithExportedAndNonExportedImportAlias.types +++ b/tests/baselines/reference/ModuleWithExportedAndNonExportedImportAlias.types @@ -110,7 +110,7 @@ var p: { x: number; y: number }; var p: Geometry.Points.Point; >p : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >Geometry : any > : ^^^ >Points : any @@ -118,7 +118,7 @@ var p: Geometry.Points.Point; var p = Geometry.Origin; >p : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >Geometry.Origin : A.Point > : ^^^^^^^ >Geometry : typeof Geometry @@ -144,7 +144,7 @@ var line: { start: { x: number; y: number }; end: { x: number; y: number; } }; var line = Geometry.Unit; >line : { start: { x: number; y: number; }; end: { x: number; y: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^ ^^^ >Geometry.Unit : B.Line > : ^^^^^^ >Geometry : typeof Geometry @@ -155,7 +155,7 @@ var line = Geometry.Unit; // not expected to work since non are exported var line = Geometry.Lines.Line; >line : { start: { x: number; y: number; }; end: { x: number; y: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^ ^^^ >Geometry.Lines.Line : any > : ^^^ >Geometry.Lines : any diff --git a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.types b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.types index f6b972471f8a6..1fb48486d72bf 100644 --- a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.types +++ b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.types @@ -69,7 +69,7 @@ var p: { x: number; y: number; }; var p: A.Point; >p : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >A : any > : ^^^ @@ -124,7 +124,7 @@ var l: { length: number; } var l: X.Y.Z.Line; >l : { length: number; } -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^ >X : any > : ^^^ >Y : any diff --git a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.types b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.types index b30a2f7115cb6..5ca61445d6af7 100644 --- a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.types +++ b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.types @@ -40,7 +40,7 @@ var p: { x: number; y: number; toCarth(): A.Point; }; var p: A.Point; >p : { x: number; y: number; toCarth(): A.Point; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^ ^^^ >A : any > : ^^^ diff --git a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedLocalVarsOfTheSameName.types b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedLocalVarsOfTheSameName.types index 7b8940fedd9d3..df868ced09330 100644 --- a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedLocalVarsOfTheSameName.types +++ b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedLocalVarsOfTheSameName.types @@ -21,7 +21,7 @@ module A { export function mirror(p: T) { >mirror : (p: T) => { x: number; y: number; } -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >p : T > : ^ @@ -103,13 +103,13 @@ var o: { x: number; y: number }; var o: A.Point; >o : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >A : any > : ^^^ var o = A.Origin; >o : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >A.Origin : A.Point > : ^^^^^^^ >A : typeof A @@ -119,7 +119,7 @@ var o = A.Origin; var o = A.Utils.mirror(o); >o : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >A.Utils.mirror(o) : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >A.Utils.mirror : (p: T) => { x: number; y: number; } @@ -133,7 +133,7 @@ var o = A.Utils.mirror(o); >mirror : (p: T) => { x: number; y: number; } > : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >o : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ var p: { tl: A.Point; br: A.Point }; >p : { tl: A.Point; br: A.Point; } @@ -149,7 +149,7 @@ var p: { tl: A.Point; br: A.Point }; var p: A.Utils.Plane; >p : { tl: A.Point; br: A.Point; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >A : any > : ^^^ >Utils : any @@ -157,7 +157,7 @@ var p: A.Utils.Plane; var p = new A.Utils.Plane(o, { x: 1, y: 1 }); >p : { tl: A.Point; br: A.Point; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >new A.Utils.Plane(o, { x: 1, y: 1 }) : A.Utils.Plane > : ^^^^^^^^^^^^^ >A.Utils.Plane : typeof A.Utils.Plane @@ -171,7 +171,7 @@ var p = new A.Utils.Plane(o, { x: 1, y: 1 }); >Plane : typeof A.Utils.Plane > : ^^^^^^^^^^^^^^^^^^^^ >o : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >{ x: 1, y: 1 } : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.types b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.types index ccba346ff85f6..1c73ccbe6f35f 100644 --- a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.types +++ b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.types @@ -44,7 +44,7 @@ var p: { x: number; y: number; toCarth(): A.Point; fromCarth(): A.Point; }; var p: A.Point; >p : { x: number; y: number; toCarth(): A.Point; fromCarth(): A.Point; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^ >A : any > : ^^^ @@ -103,7 +103,7 @@ var l: { start: A.Point; end: A.Point; new (s: A.Point, e: A.Point); } var l: X.Y.Z.Line; >l : { new (s: A.Point, e: A.Point): any; start: A.Point; end: A.Point; } -> : ^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >X : any > : ^^^ >Y : any diff --git a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedLocalVarsOfTheSameName.types b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedLocalVarsOfTheSameName.types index c59bf4224a037..cf8deaad9704a 100644 --- a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedLocalVarsOfTheSameName.types +++ b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedLocalVarsOfTheSameName.types @@ -21,7 +21,7 @@ export module A { export function mirror(p: T) { >mirror : (p: T) => { x: number; y: number; } -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >p : T > : ^ diff --git a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.types b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.types index 4b9301e30d43d..79a22fc9fd1d7 100644 --- a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.types +++ b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.types @@ -96,7 +96,7 @@ var l: { length: number }; var l: X.Y.Z.Line; >l : { length: number; } -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^ >X : any > : ^^^ >Y : any diff --git a/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndDifferentCommonRoot.types b/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndDifferentCommonRoot.types index 55a47b3cd3d9d..1e0e29ec3dd25 100644 --- a/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndDifferentCommonRoot.types +++ b/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndDifferentCommonRoot.types @@ -25,7 +25,7 @@ module Root { export function mirror(p: T) { >mirror : (p: T) => { x: number; y: number; } -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >p : T > : ^ diff --git a/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndSameCommonRoot.types b/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndSameCommonRoot.types index c4332745638ba..2e2e43b4cc31d 100644 --- a/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndSameCommonRoot.types +++ b/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndSameCommonRoot.types @@ -21,7 +21,7 @@ module A { export function mirror(p: T) { >mirror : (p: T) => { x: number; y: number; } -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >p : T > : ^ @@ -97,13 +97,13 @@ var o: { x: number; y: number }; var o: A.Point; >o : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >A : any > : ^^^ var o = A.Origin; >o : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >A.Origin : A.Point > : ^^^^^^^ >A : typeof A @@ -113,7 +113,7 @@ var o = A.Origin; var o = A.Utils.mirror(o); >o : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >A.Utils.mirror(o) : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >A.Utils.mirror : (p: T) => { x: number; y: number; } @@ -127,7 +127,7 @@ var o = A.Utils.mirror(o); >mirror : (p: T) => { x: number; y: number; } > : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >o : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ var p: { tl: A.Point; br: A.Point }; >p : { tl: A.Point; br: A.Point; } @@ -143,7 +143,7 @@ var p: { tl: A.Point; br: A.Point }; var p: A.Utils.Plane; >p : { tl: A.Point; br: A.Point; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >A : any > : ^^^ >Utils : any @@ -151,7 +151,7 @@ var p: A.Utils.Plane; var p = new A.Utils.Plane(o, { x: 1, y: 1 }); >p : { tl: A.Point; br: A.Point; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >new A.Utils.Plane(o, { x: 1, y: 1 }) : A.Utils.Plane > : ^^^^^^^^^^^^^ >A.Utils.Plane : typeof A.Utils.Plane @@ -165,7 +165,7 @@ var p = new A.Utils.Plane(o, { x: 1, y: 1 }); >Plane : typeof A.Utils.Plane > : ^^^^^^^^^^^^^^^^^^^^ >o : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >{ x: 1, y: 1 } : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/abstractClassUnionInstantiation.types b/tests/baselines/reference/abstractClassUnionInstantiation.types index 7780977a92b52..b52d68489f555 100644 --- a/tests/baselines/reference/abstractClassUnionInstantiation.types +++ b/tests/baselines/reference/abstractClassUnionInstantiation.types @@ -75,7 +75,7 @@ new cls3(); // should work >[ConcreteA, AbstractA, AbstractB].map(cls => new cls()) : any[] > : ^^^^^ >[ConcreteA, AbstractA, AbstractB].map : (callbackfn: (value: typeof ConcreteA | typeof AbstractA | typeof AbstractB, index: number, array: (typeof ConcreteA | typeof AbstractA | typeof AbstractB)[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >[ConcreteA, AbstractA, AbstractB] : (typeof ConcreteA | typeof AbstractA | typeof AbstractB)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >ConcreteA : typeof ConcreteA @@ -85,7 +85,7 @@ new cls3(); // should work >AbstractB : typeof AbstractB > : ^^^^^^^^^^^^^^^^ >map : (callbackfn: (value: typeof ConcreteA | typeof AbstractA | typeof AbstractB, index: number, array: (typeof ConcreteA | typeof AbstractA | typeof AbstractB)[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >cls => new cls() : (cls: typeof ConcreteA | typeof AbstractA | typeof AbstractB) => any > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >cls : typeof ConcreteA | typeof AbstractA | typeof AbstractB @@ -99,7 +99,7 @@ new cls3(); // should work >[AbstractA, AbstractB, ConcreteA].map(cls => new cls()) : any[] > : ^^^^^ >[AbstractA, AbstractB, ConcreteA].map : (callbackfn: (value: typeof ConcreteA | typeof AbstractA | typeof AbstractB, index: number, array: (typeof ConcreteA | typeof AbstractA | typeof AbstractB)[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >[AbstractA, AbstractB, ConcreteA] : (typeof ConcreteA | typeof AbstractA | typeof AbstractB)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >AbstractA : typeof AbstractA @@ -109,7 +109,7 @@ new cls3(); // should work >ConcreteA : typeof ConcreteA > : ^^^^^^^^^^^^^^^^ >map : (callbackfn: (value: typeof ConcreteA | typeof AbstractA | typeof AbstractB, index: number, array: (typeof ConcreteA | typeof AbstractA | typeof AbstractB)[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >cls => new cls() : (cls: typeof ConcreteA | typeof AbstractA | typeof AbstractB) => any > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >cls : typeof ConcreteA | typeof AbstractA | typeof AbstractB @@ -123,7 +123,7 @@ new cls3(); // should work >[ConcreteA, ConcreteB].map(cls => new cls()) : ConcreteA[] > : ^^^^^^^^^^^ >[ConcreteA, ConcreteB].map : (callbackfn: (value: typeof ConcreteA, index: number, array: (typeof ConcreteA)[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >[ConcreteA, ConcreteB] : (typeof ConcreteA)[] > : ^^^^^^^^^^^^^^^^^^^^ >ConcreteA : typeof ConcreteA @@ -131,7 +131,7 @@ new cls3(); // should work >ConcreteB : typeof ConcreteB > : ^^^^^^^^^^^^^^^^ >map : (callbackfn: (value: typeof ConcreteA, index: number, array: (typeof ConcreteA)[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >cls => new cls() : (cls: typeof ConcreteA) => ConcreteA > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >cls : typeof ConcreteA @@ -145,7 +145,7 @@ new cls3(); // should work >[AbstractA, AbstractB].map(cls => new cls()) : any[] > : ^^^^^ >[AbstractA, AbstractB].map : (callbackfn: (value: typeof AbstractA | typeof AbstractB, index: number, array: (typeof AbstractA | typeof AbstractB)[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >[AbstractA, AbstractB] : (typeof AbstractA | typeof AbstractB)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >AbstractA : typeof AbstractA @@ -153,7 +153,7 @@ new cls3(); // should work >AbstractB : typeof AbstractB > : ^^^^^^^^^^^^^^^^ >map : (callbackfn: (value: typeof AbstractA | typeof AbstractB, index: number, array: (typeof AbstractA | typeof AbstractB)[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >cls => new cls() : (cls: typeof AbstractA | typeof AbstractB) => any > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >cls : typeof AbstractA | typeof AbstractB diff --git a/tests/baselines/reference/abstractProperty(target=es2015).types b/tests/baselines/reference/abstractProperty(target=es2015).types index eaf2ddcd5813b..9d21cf92730ff 100644 --- a/tests/baselines/reference/abstractProperty(target=es2015).types +++ b/tests/baselines/reference/abstractProperty(target=es2015).types @@ -17,11 +17,11 @@ abstract class A { >console.log(this.x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.x : string > : ^^^^^^ >this : this diff --git a/tests/baselines/reference/abstractProperty(target=esnext).types b/tests/baselines/reference/abstractProperty(target=esnext).types index eaf2ddcd5813b..9d21cf92730ff 100644 --- a/tests/baselines/reference/abstractProperty(target=esnext).types +++ b/tests/baselines/reference/abstractProperty(target=esnext).types @@ -17,11 +17,11 @@ abstract class A { >console.log(this.x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.x : string > : ^^^^^^ >this : this diff --git a/tests/baselines/reference/abstractPropertyInConstructor.types b/tests/baselines/reference/abstractPropertyInConstructor.types index 086f1eb7d8d80..ecea08864d6e3 100644 --- a/tests/baselines/reference/abstractPropertyInConstructor.types +++ b/tests/baselines/reference/abstractPropertyInConstructor.types @@ -15,15 +15,15 @@ abstract class AbstractClass { >this.method(parseInt(str)) : void > : ^^^^ >this.method : (num: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >method : (num: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >parseInt(str) : number > : ^^^^^^ >parseInt : (string: string, radix?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >str : string > : ^^^^^^ @@ -33,7 +33,7 @@ abstract class AbstractClass { >this.prop.toLowerCase() : string > : ^^^^^^ >this.prop.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this.prop : string > : ^^^^^^ >this : this @@ -41,7 +41,7 @@ abstract class AbstractClass { >prop : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ if (!str) { >!str : boolean @@ -65,11 +65,11 @@ abstract class AbstractClass { >this.cb(str) : void > : ^^^^ >this.cb : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >cb : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >str : string > : ^^^^^^ @@ -94,11 +94,11 @@ abstract class AbstractClass { >other.cb(other.prop) : void > : ^^^^ >other.cb : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >other : AbstractClass > : ^^^^^^^^^^^^^ >cb : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >other.prop : string > : ^^^^^^ >other : AbstractClass @@ -216,7 +216,7 @@ abstract class DerivedAbstractClass extends AbstractClass { >this.prop.toLowerCase() : string > : ^^^^^^ >this.prop.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this.prop : string > : ^^^^^^ >this : this @@ -224,17 +224,17 @@ abstract class DerivedAbstractClass extends AbstractClass { >prop : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ this.method(1); >this.method(1) : void > : ^^^^ >this.method : (num: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >method : (num: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ @@ -243,11 +243,11 @@ abstract class DerivedAbstractClass extends AbstractClass { >other.cb(other.prop) : void > : ^^^^ >other.cb : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >other : AbstractClass > : ^^^^^^^^^^^^^ >cb : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >other.prop : string > : ^^^^^^ >other : AbstractClass @@ -378,11 +378,11 @@ class User { >a.cb("hi") : void > : ^^^^ >a.cb : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : AbstractClass > : ^^^^^^^^^^^^^ >cb : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"hi" : "hi" > : ^^^^ @@ -390,11 +390,11 @@ class User { >a.method(12) : void > : ^^^^ >a.method : (num: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : AbstractClass > : ^^^^^^^^^^^^^ >method : (num: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >12 : 12 > : ^^ diff --git a/tests/baselines/reference/acceptSymbolAsWeakType.types b/tests/baselines/reference/acceptSymbolAsWeakType.types index f55e0cd439f2a..fb7de081382bc 100644 --- a/tests/baselines/reference/acceptSymbolAsWeakType.types +++ b/tests/baselines/reference/acceptSymbolAsWeakType.types @@ -39,11 +39,11 @@ ws.has(s); >ws.has(s) : boolean > : ^^^^^^^ >ws.has : (value: symbol) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >ws : WeakSet > : ^^^^^^^^^^^^^^^ >has : (value: symbol) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >s : symbol > : ^^^^^^ @@ -51,11 +51,11 @@ ws.delete(s); >ws.delete(s) : boolean > : ^^^^^^^ >ws.delete : (value: symbol) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >ws : WeakSet > : ^^^^^^^^^^^^^^^ >delete : (value: symbol) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >s : symbol > : ^^^^^^ @@ -93,11 +93,11 @@ wm.has(s); >wm.has(s) : boolean > : ^^^^^^^ >wm.has : (key: symbol) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >wm : WeakMap > : ^^^^^^^^^^^^^^^^^^^^^^^^ >has : (key: symbol) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >s : symbol > : ^^^^^^ @@ -105,11 +105,11 @@ wm.get(s); >wm.get(s) : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ >wm.get : (key: symbol) => boolean | undefined -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ >wm : WeakMap > : ^^^^^^^^^^^^^^^^^^^^^^^^ >get : (key: symbol) => boolean | undefined -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ >s : symbol > : ^^^^^^ @@ -117,11 +117,11 @@ wm.delete(s); >wm.delete(s) : boolean > : ^^^^^^^ >wm.delete : (key: symbol) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >wm : WeakMap > : ^^^^^^^^^^^^^^^^^^^^^^^^ >delete : (key: symbol) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >s : symbol > : ^^^^^^ @@ -139,11 +139,11 @@ wr.deref(); >wr.deref() : symbol | undefined > : ^^^^^^^^^^^^^^^^^^ >wr.deref : () => symbol | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ >wr : WeakRef > : ^^^^^^^^^^^^^^^ >deref : () => symbol | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ const f = new FinalizationRegistry(() => {}); >f : FinalizationRegistry @@ -159,11 +159,11 @@ f.register(s, null); >f.register(s, null) : void > : ^^^^ >f.register : (target: WeakKey, heldValue: unknown, unregisterToken?: WeakKey) => void -> : ^ ^^ ^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^ ^^^ ^^^^^ >f : FinalizationRegistry > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >register : (target: WeakKey, heldValue: unknown, unregisterToken?: WeakKey) => void -> : ^ ^^ ^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^ ^^^ ^^^^^ >s : symbol > : ^^^^^^ @@ -171,11 +171,11 @@ f.unregister(s); >f.unregister(s) : boolean > : ^^^^^^^ >f.unregister : (unregisterToken: WeakKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : FinalizationRegistry > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >unregister : (unregisterToken: WeakKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >s : symbol > : ^^^^^^ diff --git a/tests/baselines/reference/accessorDeclarationEmitVisibilityErrors.errors.txt b/tests/baselines/reference/accessorDeclarationEmitVisibilityErrors.errors.txt index 0e908206a5638..d1125074a66c0 100644 --- a/tests/baselines/reference/accessorDeclarationEmitVisibilityErrors.errors.txt +++ b/tests/baselines/reference/accessorDeclarationEmitVisibilityErrors.errors.txt @@ -1,12 +1,9 @@ accessorDeclarationEmitVisibilityErrors.ts(2,18): error TS2304: Cannot find name 'DoesNotExist'. -accessorDeclarationEmitVisibilityErrors.ts(2,18): error TS4106: Parameter 'arg' of accessor has or is using private name 'DoesNotExist'. -==== accessorDeclarationEmitVisibilityErrors.ts (2 errors) ==== +==== accessorDeclarationEmitVisibilityErrors.ts (1 errors) ==== export class Q { set bet(arg: DoesNotExist) {} ~~~~~~~~~~~~ !!! error TS2304: Cannot find name 'DoesNotExist'. - ~~~~~~~~~~~~ -!!! error TS4106: Parameter 'arg' of accessor has or is using private name 'DoesNotExist'. } \ No newline at end of file diff --git a/tests/baselines/reference/accessorDeclarationEmitVisibilityErrors.js b/tests/baselines/reference/accessorDeclarationEmitVisibilityErrors.js index cd31e4220f4bd..b39fcf58b08bc 100644 --- a/tests/baselines/reference/accessorDeclarationEmitVisibilityErrors.js +++ b/tests/baselines/reference/accessorDeclarationEmitVisibilityErrors.js @@ -9,3 +9,9 @@ export class Q { export class Q { set bet(arg) { } } + + +//// [accessorDeclarationEmitVisibilityErrors.d.ts] +export declare class Q { + set bet(arg: DoesNotExist); +} diff --git a/tests/baselines/reference/accessorsAreNotContextuallyTyped.types b/tests/baselines/reference/accessorsAreNotContextuallyTyped.types index 09e62e501fb9e..05c4f38258fa7 100644 --- a/tests/baselines/reference/accessorsAreNotContextuallyTyped.types +++ b/tests/baselines/reference/accessorsAreNotContextuallyTyped.types @@ -18,7 +18,7 @@ class C { get x() { >x : (a: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ return (x: string) => ""; >(x: string) => "" : (x: string) => string @@ -40,11 +40,11 @@ var r = c.x(''); // string >c.x('') : string > : ^^^^^^ >c.x : (a: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c : C > : ^ >x : (a: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'' : "" > : ^^ diff --git a/tests/baselines/reference/accessorsOverrideProperty2.types b/tests/baselines/reference/accessorsOverrideProperty2.types index ff2232b1569db..c537421fde9cd 100644 --- a/tests/baselines/reference/accessorsOverrideProperty2.types +++ b/tests/baselines/reference/accessorsOverrideProperty2.types @@ -32,11 +32,11 @@ class Derived extends Base { >console.log(`x was set to ${value}`) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >`x was set to ${value}` : string > : ^^^^^^ >value : number @@ -55,11 +55,11 @@ console.log(obj.x); // number >console.log(obj.x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >obj.x : number > : ^^^^^^ >obj : Derived diff --git a/tests/baselines/reference/accessorsOverrideProperty8.types b/tests/baselines/reference/accessorsOverrideProperty8.types index 1126ac111e1e4..33c2b8cf935d4 100644 --- a/tests/baselines/reference/accessorsOverrideProperty8.types +++ b/tests/baselines/reference/accessorsOverrideProperty8.types @@ -22,7 +22,7 @@ type AnyCtor

= new (...a: any[]) => P declare function classWithProperties(properties: T, klass: AnyCtor

): { >classWithProperties : (properties: T, klass: AnyCtor

) => { new (): P & Properties; prototype: P & Properties; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >key : string > : ^^^^^^ >properties : T @@ -39,11 +39,11 @@ declare function classWithPropertiesBase : { new (): Base & Properties<{ readonly x: "boolean"; y: "string"; }>; prototype: Base & Properties<{ readonly x: "boolean"; y: "string"; }>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >classWithProperties({ get x() { return 'boolean' as const }, y: 'string',}, class Base {}) : { new (): Base & Properties<{ readonly x: "boolean"; y: "string"; }>; prototype: Base & Properties<{ readonly x: "boolean"; y: "string"; }>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >classWithProperties : (properties: T, klass: AnyCtor

) => { new (): P & Properties; prototype: P & Properties; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >{ get x() { return 'boolean' as const }, y: 'string',} : { readonly x: "boolean"; y: "string"; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/accessorsOverrideProperty9.types b/tests/baselines/reference/accessorsOverrideProperty9.types index 9f4156dfb087f..c87f2cb1fda6a 100644 --- a/tests/baselines/reference/accessorsOverrideProperty9.types +++ b/tests/baselines/reference/accessorsOverrideProperty9.types @@ -50,7 +50,7 @@ interface ApiItemContainerMixin extends ApiItem { function ApiItemContainerMixin( >ApiItemContainerMixin : (baseClass: TBaseClass) => TBaseClass & (new (...args: any[]) => ApiItemContainerMixin) -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ baseClass: TBaseClass >baseClass : TBaseClass @@ -102,7 +102,7 @@ export class ApiEnum extends ApiItemContainerMixin(ApiItem) { >ApiItemContainerMixin(ApiItem) : ApiItem & ApiItemContainerMixin > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >ApiItemContainerMixin : (baseClass: TBaseClass) => TBaseClass & (new (...args: any[]) => ApiItemContainerMixin) -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >ApiItem : typeof ApiItem > : ^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/additionOperatorWithConstrainedTypeParameter.types b/tests/baselines/reference/additionOperatorWithConstrainedTypeParameter.types index 33a06e709df8f..e42aab3004d1c 100644 --- a/tests/baselines/reference/additionOperatorWithConstrainedTypeParameter.types +++ b/tests/baselines/reference/additionOperatorWithConstrainedTypeParameter.types @@ -4,7 +4,7 @@ // test for #17069 function sum, K extends string>(n: number, v: T, k: K) { >sum : , K extends string>(n: number, v: T, k: K) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >n : number > : ^^^^^^ >v : T @@ -42,7 +42,7 @@ function sum, K extends string>(n: number, v: T, k: } function realSum, K extends string>(n: number, vs: T[], k: K) { >realSum : , K extends string>(n: number, vs: T[], k: K) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >n : number > : ^^^^^^ >vs : T[] diff --git a/tests/baselines/reference/additionOperatorWithNullValueAndInvalidOperator.types b/tests/baselines/reference/additionOperatorWithNullValueAndInvalidOperator.types index e793e73e2490c..ee664f35f3f92 100644 --- a/tests/baselines/reference/additionOperatorWithNullValueAndInvalidOperator.types +++ b/tests/baselines/reference/additionOperatorWithNullValueAndInvalidOperator.types @@ -111,7 +111,7 @@ var r10 = null + foo(); >foo() : void > : ^^^^ >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var r11 = null + (() => { }); >r11 : any diff --git a/tests/baselines/reference/additionOperatorWithUndefinedValueAndInvalidOperands.types b/tests/baselines/reference/additionOperatorWithUndefinedValueAndInvalidOperands.types index 77c7f44d71659..d9bf840aa0695 100644 --- a/tests/baselines/reference/additionOperatorWithUndefinedValueAndInvalidOperands.types +++ b/tests/baselines/reference/additionOperatorWithUndefinedValueAndInvalidOperands.types @@ -131,7 +131,7 @@ var r10 = undefined + foo(); >foo() : void > : ^^^^ >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var r11 = undefined + (() => { }); >r11 : any diff --git a/tests/baselines/reference/aliasDoesNotDuplicateSignatures.types b/tests/baselines/reference/aliasDoesNotDuplicateSignatures.types index c20cdd197f21c..955d897549428 100644 --- a/tests/baselines/reference/aliasDoesNotDuplicateSignatures.types +++ b/tests/baselines/reference/aliasDoesNotDuplicateSignatures.types @@ -26,22 +26,22 @@ declare module 'demoModule' { === user.ts === import { f } from 'demoModule'; >f : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ // Assign an incorrect type here to see the type of 'f'. let x1: string = demoNS.f; >x1 : string > : ^^^^^^ >demoNS.f : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >demoNS : typeof demoNS > : ^^^^^^^^^^^^^ >f : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ let x2: string = f; >x2 : string > : ^^^^^^ >f : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/aliasInstantiationExpressionGenericIntersectionNoCrash1.types b/tests/baselines/reference/aliasInstantiationExpressionGenericIntersectionNoCrash1.types index 0ea9c2b1d0181..a5e42e379a797 100644 --- a/tests/baselines/reference/aliasInstantiationExpressionGenericIntersectionNoCrash1.types +++ b/tests/baselines/reference/aliasInstantiationExpressionGenericIntersectionNoCrash1.types @@ -20,7 +20,7 @@ type ErrAlias = typeof Err; >ErrAlias : { new (): ErrImpl; prototype: ErrImpl; } & (() => U) > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Err : typeof ErrImpl & (() => T) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^ declare const e: ErrAlias; >e : { new (): ErrImpl; prototype: ErrImpl; } & (() => number) diff --git a/tests/baselines/reference/aliasInstantiationExpressionGenericIntersectionNoCrash2.types b/tests/baselines/reference/aliasInstantiationExpressionGenericIntersectionNoCrash2.types index b10f0c4bbcaa6..6d3b00218874e 100644 --- a/tests/baselines/reference/aliasInstantiationExpressionGenericIntersectionNoCrash2.types +++ b/tests/baselines/reference/aliasInstantiationExpressionGenericIntersectionNoCrash2.types @@ -25,7 +25,7 @@ type FnAlias = typeof fn; >FnAlias : typeof fn > : >fn : () => T_1 -> : ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ type Wat = ClassAlias & FnAlias; >Wat : Wat diff --git a/tests/baselines/reference/aliasUsageInGenericFunction.types b/tests/baselines/reference/aliasUsageInGenericFunction.types index 8e81249626c28..d197ab6f2d306 100644 --- a/tests/baselines/reference/aliasUsageInGenericFunction.types +++ b/tests/baselines/reference/aliasUsageInGenericFunction.types @@ -22,7 +22,7 @@ interface IHasVisualizationModel { } function foo(x: T) { >foo : (x: T) => T -> : ^ ^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ >a : IHasVisualizationModel > : ^^^^^^^^^^^^^^^^^^^^^^ >x : T @@ -38,7 +38,7 @@ var r = foo({ a: moduleA }); >foo({ a: moduleA }) : { a: typeof moduleA; } > : ^^^^^^^^^^^^^^^^^^^^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ >{ a: moduleA } : { a: typeof moduleA; } > : ^^^^^^^^^^^^^^^^^^^^^^ >a : typeof moduleA @@ -52,7 +52,7 @@ var r2 = foo({ a: null }); >foo({ a: null }) : { a: IHasVisualizationModel; } > : ^^^^^ ^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ >{ a: null } : { a: IHasVisualizationModel; } > : ^^^^^ ^^^ >a : IHasVisualizationModel diff --git a/tests/baselines/reference/aliasUsedAsNameValue.types b/tests/baselines/reference/aliasUsedAsNameValue.types index 998aa2f4cbf35..70b8b1c7b4ce9 100644 --- a/tests/baselines/reference/aliasUsedAsNameValue.types +++ b/tests/baselines/reference/aliasUsedAsNameValue.types @@ -21,11 +21,11 @@ export var a = function () { b.b(mod); >b.b(mod) : any >b.b : (a: any) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >b : typeof b > : ^^^^^^^^ >b : (a: any) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >mod : typeof mod > : ^^^^^^^^^^ } diff --git a/tests/baselines/reference/allowJsCrossMonorepoPackage.types b/tests/baselines/reference/allowJsCrossMonorepoPackage.types index 5beb89269562e..af4890eda25df 100644 --- a/tests/baselines/reference/allowJsCrossMonorepoPackage.types +++ b/tests/baselines/reference/allowJsCrossMonorepoPackage.types @@ -13,12 +13,12 @@ export declare function pkg(): "pkg"; === /packages/shared/utils.js === export { pkg } from "pkg"; >pkg : () => "pkg" -> : ^^^^^^^^^^^ +> : ^^^^^^ === /packages/shared/index.js === import { pkg } from "./utils.js"; >pkg : () => "pkg" -> : ^^^^^^^^^^^ +> : ^^^^^^ export const x = pkg(); >x : "pkg" @@ -26,5 +26,5 @@ export const x = pkg(); >pkg() : "pkg" > : ^^^^^ >pkg : () => "pkg" -> : ^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/allowJscheckJsTypeParameterNoCrash.types b/tests/baselines/reference/allowJscheckJsTypeParameterNoCrash.types index 80b92dc95232e..7904fc785a0f9 100644 --- a/tests/baselines/reference/allowJscheckJsTypeParameterNoCrash.types +++ b/tests/baselines/reference/allowJscheckJsTypeParameterNoCrash.types @@ -20,14 +20,14 @@ declare function extend(options: ComponentOptions<{}>): void; export var vextend = extend; >vextend : (options: ComponentOptions<{}>) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >extend : (options: ComponentOptions<{}>) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ === app.js === import {vextend} from './func'; >vextend : (options: ComponentOptions<{}>) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ // hover on vextend export var a = vextend({ @@ -36,7 +36,7 @@ export var a = vextend({ >vextend({ watch: { data1(val) { this.data2 = 1; }, data2(val) { }, }}) : void > : ^^^^ >vextend : (options: ComponentOptions<{}>) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ watch: { data1(val) { this.data2 = 1; }, data2(val) { }, }} : { watch: { data1(val: any): void; }; } > : ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ @@ -56,11 +56,11 @@ export var a = vextend({ >this.data2 = 1 : 1 > : ^ >this.data2 : (val: any) => void -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >this : Record void> -> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^ >data2 : (val: any) => void -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/allowSyntheticDefaultImportsCanPaintCrossModuleDeclaration.types b/tests/baselines/reference/allowSyntheticDefaultImportsCanPaintCrossModuleDeclaration.types index 1f3072b0b9cb9..9f771a55b3ab4 100644 --- a/tests/baselines/reference/allowSyntheticDefaultImportsCanPaintCrossModuleDeclaration.types +++ b/tests/baselines/reference/allowSyntheticDefaultImportsCanPaintCrossModuleDeclaration.types @@ -22,7 +22,7 @@ export declare function styled(): Color; === file2.ts === import { styled } from "./file1"; >styled : () => import("color").default -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^ ^^^^^^^ export const A = styled(); >A : import("color").default @@ -30,5 +30,5 @@ export const A = styled(); >styled() : import("color").default > : ^^^^^^^^^^^^^^^^^^^^^^^ >styled : () => import("color").default -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^ ^^^^^^^ diff --git a/tests/baselines/reference/ambientClassMergesOverloadsWithInterface.types b/tests/baselines/reference/ambientClassMergesOverloadsWithInterface.types index 5cda0d73e088f..fb986aca5652b 100644 --- a/tests/baselines/reference/ambientClassMergesOverloadsWithInterface.types +++ b/tests/baselines/reference/ambientClassMergesOverloadsWithInterface.types @@ -11,14 +11,14 @@ declare class C { foo(n: number): any; >foo : { (n: number): any; (n: number): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ } interface C { foo(n: number): any; >foo : { (n: number): any; (n: number): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ diff --git a/tests/baselines/reference/ambientConstLiterals.types b/tests/baselines/reference/ambientConstLiterals.types index 51a97feb3ef6a..50e0f36e70664 100644 --- a/tests/baselines/reference/ambientConstLiterals.types +++ b/tests/baselines/reference/ambientConstLiterals.types @@ -54,7 +54,7 @@ const c5 = f(123); >f(123) : 123 > : ^^^ >f : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >123 : 123 > : ^^^ @@ -64,7 +64,7 @@ const c6 = f(-123); >f(-123) : -123 > : ^^^^ >f : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >-123 : -123 > : ^^^^ >123 : 123 @@ -144,11 +144,11 @@ const c13 = Math.random() > 0.5 ? "abc" : "def"; >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ >"abc" : "abc" @@ -166,11 +166,11 @@ const c14 = Math.random() > 0.5 ? 123 : 456; >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ >123 : 123 diff --git a/tests/baselines/reference/ambientDeclarations.types b/tests/baselines/reference/ambientDeclarations.types index 38fe3817b73a5..c403f220e083b 100644 --- a/tests/baselines/reference/ambientDeclarations.types +++ b/tests/baselines/reference/ambientDeclarations.types @@ -203,11 +203,11 @@ var q = M1.fn(); >M1.fn() : number > : ^^^^^^ >M1.fn : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >M1 : typeof M1 > : ^^^^^^^^^ >fn : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ // Ambient external module in the global module // Ambient external module with a string literal name that is a top level external module name diff --git a/tests/baselines/reference/ambientDeclarationsPatterns.types b/tests/baselines/reference/ambientDeclarationsPatterns.types index 28f2a55f26517..4c574a1a972d1 100644 --- a/tests/baselines/reference/ambientDeclarationsPatterns.types +++ b/tests/baselines/reference/ambientDeclarationsPatterns.types @@ -4,7 +4,7 @@ /// import {foo, baz} from "foobarbaz"; >foo : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >baz : string > : ^^^^^^ @@ -12,7 +12,7 @@ foo(baz); >foo(baz) : void > : ^^^^ >foo : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >baz : string > : ^^^^^^ @@ -24,7 +24,7 @@ foo(foos); >foo(foos) : void > : ^^^^ >foo : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >foos : string > : ^^^^^^ @@ -37,7 +37,7 @@ foo(fileText); >foo(fileText) : void > : ^^^^ >foo : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >fileText : string > : ^^^^^^ diff --git a/tests/baselines/reference/ambientErrors.types b/tests/baselines/reference/ambientErrors.types index 322996ca194af..a6745844e6a5b 100644 --- a/tests/baselines/reference/ambientErrors.types +++ b/tests/baselines/reference/ambientErrors.types @@ -11,39 +11,39 @@ declare var x = 4; // Ambient functions with invalid overloads declare function fn(x: number): string; >fn : { (x: number): string; (x: "foo"): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ declare function fn(x: 'foo'): number; >fn : { (x: number): string; (x: "foo"): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "foo" > : ^^^^^ // Ambient functions with duplicate signatures declare function fn1(x: number): string; >fn1 : { (x: number): string; (x: number): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ declare function fn1(x: number): string; >fn1 : { (x: number): string; (x: number): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ // Ambient function overloads that differ only by return type declare function fn2(x: number): string; >fn2 : { (x: number): string; (x: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ declare function fn2(x: number): number; >fn2 : { (x: number): string; (x: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ diff --git a/tests/baselines/reference/ambientModuleExports.types b/tests/baselines/reference/ambientModuleExports.types index 1bc56049e92d7..526ec67c302cd 100644 --- a/tests/baselines/reference/ambientModuleExports.types +++ b/tests/baselines/reference/ambientModuleExports.types @@ -22,11 +22,11 @@ Foo.a(); >Foo.a() : void > : ^^^^ >Foo.a : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >Foo : typeof Foo > : ^^^^^^^^^^ >a : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ Foo.b; >Foo.b : number @@ -69,11 +69,11 @@ Foo2.a(); >Foo2.a() : void > : ^^^^ >Foo2.a : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >Foo2 : typeof Foo2 > : ^^^^^^^^^^^ >a : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ Foo2.b; >Foo2.b : number diff --git a/tests/baselines/reference/ambientRequireFunction(module=commonjs).types b/tests/baselines/reference/ambientRequireFunction(module=commonjs).types index f27d70654b24d..008c0aeefccbf 100644 --- a/tests/baselines/reference/ambientRequireFunction(module=commonjs).types +++ b/tests/baselines/reference/ambientRequireFunction(module=commonjs).types @@ -9,7 +9,7 @@ const fs = require("fs"); >require("fs") : typeof fs > : ^^^^^^^^^ >require : (moduleName: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >"fs" : "fs" > : ^^^^ @@ -19,11 +19,11 @@ const text = fs.readFileSync("/a/b/c"); >fs.readFileSync("/a/b/c") : string > : ^^^^^^ >fs.readFileSync : (s: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >fs : typeof fs > : ^^^^^^^^^ >readFileSync : (s: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"/a/b/c" : "/a/b/c" > : ^^^^^^^^ diff --git a/tests/baselines/reference/ambientRequireFunction(module=preserve).types b/tests/baselines/reference/ambientRequireFunction(module=preserve).types index f27d70654b24d..008c0aeefccbf 100644 --- a/tests/baselines/reference/ambientRequireFunction(module=preserve).types +++ b/tests/baselines/reference/ambientRequireFunction(module=preserve).types @@ -9,7 +9,7 @@ const fs = require("fs"); >require("fs") : typeof fs > : ^^^^^^^^^ >require : (moduleName: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >"fs" : "fs" > : ^^^^ @@ -19,11 +19,11 @@ const text = fs.readFileSync("/a/b/c"); >fs.readFileSync("/a/b/c") : string > : ^^^^^^ >fs.readFileSync : (s: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >fs : typeof fs > : ^^^^^^^^^ >readFileSync : (s: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"/a/b/c" : "/a/b/c" > : ^^^^^^^^ diff --git a/tests/baselines/reference/ambiguousCallsWhereReturnTypesAgree.types b/tests/baselines/reference/ambiguousCallsWhereReturnTypesAgree.types index 9878481124a34..05081200ce309 100644 --- a/tests/baselines/reference/ambiguousCallsWhereReturnTypesAgree.types +++ b/tests/baselines/reference/ambiguousCallsWhereReturnTypesAgree.types @@ -7,49 +7,49 @@ class TestClass { public bar(x: string): void; >bar : { (x: string): void; (x: string[]): void; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ public bar(x: string[]): void; >bar : { (x: string): void; (x: string[]): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string[] > : ^^^^^^^^ public bar(x: any): void { >bar : { (x: string): void; (x: string[]): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any } public foo(x: string): void; >foo : { (x: string): void; (x: string[]): void; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ public foo(x: string[]): void; >foo : { (x: string): void; (x: string[]): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string[] > : ^^^^^^^^ public foo(x: any): void { >foo : { (x: string): void; (x: string[]): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any this.bar(x); // should not error >this.bar(x) : void > : ^^^^ >this.bar : { (x: string): void; (x: string[]): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >this : this > : ^^^^ >bar : { (x: string): void; (x: string[]): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any } } @@ -60,19 +60,19 @@ class TestClass2 { public bar(x: string): number; >bar : { (x: string): number; (x: string[]): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ public bar(x: string[]): number; >bar : { (x: string): number; (x: string[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string[] > : ^^^^^^^^ public bar(x: any): number { >bar : { (x: string): number; (x: string[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any return 0; @@ -82,30 +82,30 @@ class TestClass2 { public foo(x: string): number; >foo : { (x: string): number; (x: string[]): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ public foo(x: string[]): number; >foo : { (x: string): number; (x: string[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string[] > : ^^^^^^^^ public foo(x: any): number { >foo : { (x: string): number; (x: string[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any return this.bar(x); // should not error >this.bar(x) : number > : ^^^^^^ >this.bar : { (x: string): number; (x: string[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >this : this > : ^^^^ >bar : { (x: string): number; (x: string[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any } } diff --git a/tests/baselines/reference/ambiguousGenericAssertion1.types b/tests/baselines/reference/ambiguousGenericAssertion1.types index 662d5388041fa..605a874b06f6b 100644 --- a/tests/baselines/reference/ambiguousGenericAssertion1.types +++ b/tests/baselines/reference/ambiguousGenericAssertion1.types @@ -25,7 +25,7 @@ var r2 = < (x: T) => T>f; // valid >x : T > : ^ >f : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ var r3 = <(x: T) => T>f; // ambiguous, appears to the parser as a << operation >r3 : boolean @@ -49,5 +49,5 @@ var r3 = <(x: T) => T>f; // ambiguous, appears to the parser as a << operatio >T : any > : ^^^ >f : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/ambiguousOverload.types b/tests/baselines/reference/ambiguousOverload.types index d840fe6a962e7..4b5d582073603 100644 --- a/tests/baselines/reference/ambiguousOverload.types +++ b/tests/baselines/reference/ambiguousOverload.types @@ -3,7 +3,7 @@ === ambiguousOverload.ts === function foof(bar: string, y): number; >foof : { (bar: string, y: any): number; (bar: string, x: any): string; } -> : ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ >bar : string > : ^^^^^^ >y : any @@ -11,7 +11,7 @@ function foof(bar: string, y): number; function foof(bar: string, x): string; >foof : { (bar: string, y: any): number; (bar: string, x: any): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^ ^^^ +> : ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ >bar : string > : ^^^^^^ >x : any @@ -19,7 +19,7 @@ function foof(bar: string, x): string; function foof(bar: any): any { return bar }; >foof : { (bar: string, y: any): number; (bar: string, x: any): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ >bar : any > : ^^^ >bar : any @@ -31,7 +31,7 @@ var x: number = foof("s", null); >foof("s", null) : number > : ^^^^^^ >foof : { (bar: string, y: any): number; (bar: string, x: any): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ >"s" : "s" > : ^^^ @@ -41,13 +41,13 @@ var y: string = foof("s", null); >foof("s", null) : number > : ^^^^^^ >foof : { (bar: string, y: any): number; (bar: string, x: any): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ >"s" : "s" > : ^^^ function foof2(bar: string, x): string; >foof2 : { (bar: string, x: any): string; (bar: string, y: any): number; } -> : ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ >bar : string > : ^^^^^^ >x : any @@ -55,7 +55,7 @@ function foof2(bar: string, x): string; function foof2(bar: string, y): number; >foof2 : { (bar: string, x: any): string; (bar: string, y: any): number; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^ ^^^ +> : ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ >bar : string > : ^^^^^^ >y : any @@ -63,7 +63,7 @@ function foof2(bar: string, y): number; function foof2(bar: any): any { return bar }; >foof2 : { (bar: string, x: any): string; (bar: string, y: any): number; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ >bar : any > : ^^^ >bar : any @@ -75,7 +75,7 @@ var x2: string = foof2("s", null); >foof2("s", null) : string > : ^^^^^^ >foof2 : { (bar: string, x: any): string; (bar: string, y: any): number; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ >"s" : "s" > : ^^^ @@ -85,7 +85,7 @@ var y2: number = foof2("s", null); >foof2("s", null) : string > : ^^^^^^ >foof2 : { (bar: string, x: any): string; (bar: string, y: any): number; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ >"s" : "s" > : ^^^ diff --git a/tests/baselines/reference/ambiguousOverloadResolution.types b/tests/baselines/reference/ambiguousOverloadResolution.types index 183c1cbdd851a..f70a1354d7409 100644 --- a/tests/baselines/reference/ambiguousOverloadResolution.types +++ b/tests/baselines/reference/ambiguousOverloadResolution.types @@ -15,7 +15,7 @@ class B extends A { x: number; } declare function f(p: A, q: B): number; >f : { (p: A, q: B): number; (p: B, q: A): string; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >p : A > : ^ >q : B @@ -23,7 +23,7 @@ declare function f(p: A, q: B): number; declare function f(p: B, q: A): string; >f : { (p: A, q: B): number; (p: B, q: A): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >p : B > : ^ >q : A @@ -39,7 +39,7 @@ var t: number = f(x, x); // Not an error >f(x, x) : number > : ^^^^^^ >f : { (p: A, q: B): number; (p: B, q: A): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >x : B > : ^ >x : B diff --git a/tests/baselines/reference/amdDeclarationEmitNoExtraDeclare.types b/tests/baselines/reference/amdDeclarationEmitNoExtraDeclare.types index 0435ab5bcd405..298d9b7a59a76 100644 --- a/tests/baselines/reference/amdDeclarationEmitNoExtraDeclare.types +++ b/tests/baselines/reference/amdDeclarationEmitNoExtraDeclare.types @@ -3,7 +3,7 @@ === Class.ts === import { Configurable } from "./Configurable" >Configurable : >(base: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^ export class HiddenClass {} >HiddenClass : HiddenClass @@ -15,7 +15,7 @@ export class ActualClass extends Configurable(HiddenClass) {} >Configurable(HiddenClass) : HiddenClass > : ^^^^^^^^^^^ >Configurable : >(base: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^ >HiddenClass : typeof HiddenClass > : ^^^^^^^^^^^^^^^^^^ @@ -30,7 +30,7 @@ export type Constructor = { } export function Configurable>(base: T): T { >Configurable : >(base: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >base : T > : ^ diff --git a/tests/baselines/reference/amdLikeInputDeclarationEmit.types b/tests/baselines/reference/amdLikeInputDeclarationEmit.types index 999cfe55e0837..8c8e555cd2240 100644 --- a/tests/baselines/reference/amdLikeInputDeclarationEmit.types +++ b/tests/baselines/reference/amdLikeInputDeclarationEmit.types @@ -57,15 +57,15 @@ define("lib/ExtendedClass", ["deps/BaseClass"], const ExtendedClass = BaseClass.extends({ >ExtendedClass : new () => { f: () => "something"; } & import("deps/BaseClass") -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ >BaseClass.extends({ f: function() { return "something"; } }) : new () => { f: () => "something"; } & import("deps/BaseClass") -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ >BaseClass.extends : (a: A) => new () => A & import("deps/BaseClass") -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^ >BaseClass : typeof import("deps/BaseClass") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >extends : (a: A) => new () => A & import("deps/BaseClass") -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^ >{ f: function() { return "something"; } } : { f: () => "something"; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -96,7 +96,7 @@ define("lib/ExtendedClass", ["deps/BaseClass"], >exports : any > : ^^^ >ExtendedClass : new () => { f: () => "something"; } & import("deps/BaseClass") -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ return module.exports; >module.exports : any diff --git a/tests/baselines/reference/anonClassDeclarationEmitIsAnon.types b/tests/baselines/reference/anonClassDeclarationEmitIsAnon.types index 988cb634458ab..28dfac47372a5 100644 --- a/tests/baselines/reference/anonClassDeclarationEmitIsAnon.types +++ b/tests/baselines/reference/anonClassDeclarationEmitIsAnon.types @@ -29,8 +29,8 @@ export type Constructor = new (...args: any[]) => T; > : ^^^^^ export function Timestamped(Base: TBase) { ->Timestamped : >(Base: TBase) => { new (...args: any[]): (Anonymous class); prototype: Timestamped.(Anonymous class); } & TBase -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Timestamped : (Base: TBase) => { new (...args: any[]): (Anonymous class); prototype: Timestamped.(Anonymous class); } & TBase +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Base : TBase > : ^^^^^ @@ -46,11 +46,11 @@ export function Timestamped(Base: TBase) { >Date.now() : number > : ^^^^^^ >Date.now : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date : DateConstructor > : ^^^^^^^^^^^^^^^ >now : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ }; } @@ -59,8 +59,8 @@ export function Timestamped(Base: TBase) { import { wrapClass, Timestamped } from "./wrapClass"; >wrapClass : (param: any) => typeof Wrapped > : ^ ^^ ^^^^^^^^^^^^^^^^^^^ ->Timestamped : >(Base: TBase) => { new (...args: any[]): (Anonymous class); prototype: Timestamped.(Anonymous class); } & TBase -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Timestamped : (Base: TBase) => { new (...args: any[]): (Anonymous class); prototype: Timestamped.(Anonymous class); } & TBase +> : ^ ^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ export default wrapClass(0); >wrapClass(0) : typeof Wrapped @@ -88,8 +88,8 @@ export class TimestampedUser extends Timestamped(User) { > : ^^^^^^^^^^^^^^^ >Timestamped(User) : Timestamped.(Anonymous class) & User > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->Timestamped : >(Base: TBase) => { new (...args: any[]): (Anonymous class); prototype: Timestamped.(Anonymous class); } & TBase -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Timestamped : (Base: TBase) => { new (...args: any[]): (Anonymous class); prototype: Timestamped.(Anonymous class); } & TBase +> : ^ ^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >User : typeof User > : ^^^^^^^^^^^ diff --git a/tests/baselines/reference/anonterface.types b/tests/baselines/reference/anonterface.types index 2c3dbfb07c97f..8ffba4e4acfac 100644 --- a/tests/baselines/reference/anonterface.types +++ b/tests/baselines/reference/anonterface.types @@ -23,7 +23,7 @@ module M { >fn(n2) : string > : ^^^^^^ >fn : (n: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >n2 : number > : ^^^^^^ } @@ -46,11 +46,11 @@ c.m(function(n) { return "hello: "+n; },18); >c.m(function(n) { return "hello: "+n; },18) : string > : ^^^^^^ >c.m : (fn: { (n: number): string; }, n2: number) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : M.C > : ^^^ >m : (fn: { (n: number): string; }, n2: number) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >function(n) { return "hello: "+n; } : (n: number) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >n : number diff --git a/tests/baselines/reference/anyAssignabilityInInheritance.types b/tests/baselines/reference/anyAssignabilityInInheritance.types index 42721203786c9..9d3dfd809172f 100644 --- a/tests/baselines/reference/anyAssignabilityInInheritance.types +++ b/tests/baselines/reference/anyAssignabilityInInheritance.types @@ -17,97 +17,97 @@ var a: any; declare function foo2(x: number): number; >foo2 : { (x: number): number; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ declare function foo2(x: any): any; >foo2 : { (x: number): number; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any var r3 = foo2(a); // any, not a subtype of number so it skips that overload, is a subtype of itself so it picks second (if truly ambiguous it would pick first overload) >r3 : any >foo2(a) : any >foo2 : { (x: number): number; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo3(x: string): string; >foo3 : { (x: string): string; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ declare function foo3(x: any): any; >foo3 : { (x: string): string; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any var r3 = foo3(a); // any >r3 : any >foo3(a) : any >foo3 : { (x: string): string; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo4(x: boolean): boolean; >foo4 : { (x: boolean): boolean; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : boolean > : ^^^^^^^ declare function foo4(x: any): any; >foo4 : { (x: boolean): boolean; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any var r3 = foo3(a); // any >r3 : any >foo3(a) : any >foo3 : { (x: string): string; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo5(x: Date): Date; >foo5 : { (x: Date): Date; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : Date > : ^^^^ declare function foo5(x: any): any; >foo5 : { (x: Date): Date; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any var r3 = foo3(a); // any >r3 : any >foo3(a) : any >foo3 : { (x: string): string; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo6(x: RegExp): RegExp; >foo6 : { (x: RegExp): RegExp; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : RegExp > : ^^^^^^ declare function foo6(x: any): any; >foo6 : { (x: RegExp): RegExp; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any var r3 = foo3(a); // any >r3 : any >foo3(a) : any >foo3 : { (x: string): string; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo7(x: { bar: number }): { bar: number }; >foo7 : { (x: { bar: number; }): { bar: number; }; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : { bar: number; } > : ^^^^^^^ ^^^ >bar : number @@ -117,32 +117,32 @@ declare function foo7(x: { bar: number }): { bar: number }; declare function foo7(x: any): any; >foo7 : { (x: { bar: number; }): { bar: number; }; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any var r3 = foo3(a); // any >r3 : any >foo3(a) : any >foo3 : { (x: string): string; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo8(x: number[]): number[]; >foo8 : { (x: number[]): number[]; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number[] > : ^^^^^^^^ declare function foo8(x: any): any; >foo8 : { (x: number[]): number[]; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any var r3 = foo3(a); // any >r3 : any >foo3(a) : any >foo3 : { (x: string): string; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any interface I8 { foo: string } @@ -151,20 +151,20 @@ interface I8 { foo: string } declare function foo9(x: I8): I8; >foo9 : { (x: I8): I8; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : I8 > : ^^ declare function foo9(x: any): any; >foo9 : { (x: I8): I8; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any var r3 = foo3(a); // any >r3 : any >foo3(a) : any >foo3 : { (x: string): string; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any class A { foo: number; } @@ -175,20 +175,20 @@ class A { foo: number; } declare function foo10(x: A): A; >foo10 : { (x: A): A; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : A > : ^ declare function foo10(x: any): any; >foo10 : { (x: A): A; (x: any): any; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any var r3 = foo3(a); // any >r3 : any >foo3(a) : any >foo3 : { (x: string): string; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any class A2 { foo: T; } @@ -199,25 +199,25 @@ class A2 { foo: T; } declare function foo11(x: A2): A2; >foo11 : { (x: A2): A2; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : A2 > : ^^^^^^^^^^ declare function foo11(x: any): any; >foo11 : { (x: A2): A2; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any var r3 = foo3(a); // any >r3 : any >foo3(a) : any >foo3 : { (x: string): string; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo12(x: (x) => number): (x) => number; >foo12 : { (x: (x: any) => number): (x: any) => number; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : (x: any) => number > : ^ ^^^^^^^^^^ >x : any @@ -225,19 +225,19 @@ declare function foo12(x: (x) => number): (x) => number; declare function foo12(x: any): any; >foo12 : { (x: (x: any) => number): (x: any) => number; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any var r3 = foo3(a); // any >r3 : any >foo3(a) : any >foo3 : { (x: string): string; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo13(x: (x: T) => T): (x: T) => T; >foo13 : { (x: (x: T) => T): (x: T) => T; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : (x: T) => T > : ^ ^^ ^^ ^^^^^ >x : T @@ -247,14 +247,14 @@ declare function foo13(x: (x: T) => T): (x: T) => T; declare function foo13(x: any): any; >foo13 : { (x: (x: T) => T): (x: T) => T; (x: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any var r3 = foo3(a); // any >r3 : any >foo3(a) : any >foo3 : { (x: string): string; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any enum E { A } @@ -265,20 +265,20 @@ enum E { A } declare function foo14(x: E): E; >foo14 : { (x: E): E; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : E > : ^ declare function foo14(x: any): any; >foo14 : { (x: E): E; (x: any): any; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any var r3 = foo3(a); // any >r3 : any >foo3(a) : any >foo3 : { (x: string): string; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any function f() { } @@ -297,7 +297,7 @@ module f { } declare function foo15(x: typeof f): typeof f; >foo15 : { (x: typeof f): typeof f; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : typeof f > : ^^^^^^^^ >f : typeof f @@ -307,14 +307,14 @@ declare function foo15(x: typeof f): typeof f; declare function foo15(x: any): any; >foo15 : { (x: typeof f): typeof f; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any var r3 = foo3(a); // any >r3 : any >foo3(a) : any >foo3 : { (x: string): string; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any class CC { baz: string } @@ -335,55 +335,55 @@ module CC { } declare function foo16(x: CC): CC; >foo16 : { (x: CC): CC; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : CC > : ^^ declare function foo16(x: any): any; >foo16 : { (x: CC): CC; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any var r3 = foo3(a); // any >r3 : any >foo3(a) : any >foo3 : { (x: string): string; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo17(x: Object): Object; >foo17 : { (x: Object): Object; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : Object > : ^^^^^^ declare function foo17(x: any): any; >foo17 : { (x: Object): Object; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any var r3 = foo3(a); // any >r3 : any >foo3(a) : any >foo3 : { (x: string): string; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo18(x: {}): {}; >foo18 : { (x: {}): {}; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : {} > : ^^ declare function foo18(x: any): any; >foo18 : { (x: {}): {}; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any var r3 = foo3(a); // any >r3 : any >foo3(a) : any >foo3 : { (x: string): string; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any diff --git a/tests/baselines/reference/anyAssignableToEveryType.types b/tests/baselines/reference/anyAssignableToEveryType.types index b1370dffaa104..e298b59a6d888 100644 --- a/tests/baselines/reference/anyAssignableToEveryType.types +++ b/tests/baselines/reference/anyAssignableToEveryType.types @@ -140,7 +140,7 @@ var q: String = a; function foo(x: T, y: U, z: V) { >foo : (x: T, y: U, z: V) => void -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ >y : U diff --git a/tests/baselines/reference/anyInferenceAnonymousFunctions.types b/tests/baselines/reference/anyInferenceAnonymousFunctions.types index 77833f13ce3fc..8d06646fc9793 100644 --- a/tests/baselines/reference/anyInferenceAnonymousFunctions.types +++ b/tests/baselines/reference/anyInferenceAnonymousFunctions.types @@ -86,11 +86,11 @@ paired.map((c1) => c1.count); >paired.map((c1) => c1.count) : any[] > : ^^^^^ >paired.map : (callbackfn: (value: any, index: number, array: any[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >paired : any[] > : ^^^^^ >map : (callbackfn: (value: any, index: number, array: any[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >(c1) => c1.count : (c1: any) => any > : ^ ^^^^^^^^^^^^^ >c1 : any @@ -104,11 +104,11 @@ paired.map(function (c2) { return c2.count; }); >paired.map(function (c2) { return c2.count; }) : any[] > : ^^^^^ >paired.map : (callbackfn: (value: any, index: number, array: any[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >paired : any[] > : ^^^^^ >map : (callbackfn: (value: any, index: number, array: any[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >function (c2) { return c2.count; } : (c2: any) => any > : ^ ^^^^^^^^^^^^^ >c2 : any diff --git a/tests/baselines/reference/api/typescript.d.ts b/tests/baselines/reference/api/typescript.d.ts index 825eaeeb3e381..e6dfbf9200437 100644 --- a/tests/baselines/reference/api/typescript.d.ts +++ b/tests/baselines/reference/api/typescript.d.ts @@ -20,10 +20,18 @@ declare namespace ts { export import ClassificationType = ts.ClassificationType; export import CompletionsTriggerCharacter = ts.CompletionsTriggerCharacter; export import CompletionTriggerKind = ts.CompletionTriggerKind; + export import InlayHintKind = ts.InlayHintKind; export import OrganizeImportsMode = ts.OrganizeImportsMode; + export import RefactorActionInfo = ts.RefactorActionInfo; export import RefactorTriggerReason = ts.RefactorTriggerReason; export import RenameInfoFailure = ts.RenameInfoFailure; export import SemicolonPreference = ts.SemicolonPreference; + export import SignatureHelpCharacterTypedReason = ts.SignatureHelpCharacterTypedReason; + export import SignatureHelpInvokedReason = ts.SignatureHelpInvokedReason; + export import SignatureHelpParameter = ts.SignatureHelpParameter; + export import SignatureHelpRetriggerCharacter = ts.SignatureHelpRetriggerCharacter; + export import SignatureHelpRetriggeredReason = ts.SignatureHelpRetriggeredReason; + export import SignatureHelpTriggerCharacter = ts.SignatureHelpTriggerCharacter; export import SignatureHelpTriggerReason = ts.SignatureHelpTriggerReason; export import SymbolDisplayPart = ts.SymbolDisplayPart; export import UserPreferences = ts.UserPreferences; @@ -99,6 +107,7 @@ declare namespace ts { GetApplicableRefactors = "getApplicableRefactors", GetEditsForRefactor = "getEditsForRefactor", GetMoveToRefactoringFileSuggestions = "getMoveToRefactoringFileSuggestions", + GetPasteEdits = "getPasteEdits", OrganizeImports = "organizeImports", GetEditsForFileRename = "getEditsForFileRename", ConfigurePlugin = "configurePlugin", @@ -112,6 +121,7 @@ declare namespace ts { ProvideCallHierarchyOutgoingCalls = "provideCallHierarchyOutgoingCalls", ProvideInlayHints = "provideInlayHints", WatchChange = "watchChange", + MapCode = "mapCode", } /** * A TypeScript Server message @@ -469,6 +479,33 @@ declare namespace ts { files: string[]; }; } + /** + * Request refactorings at a given position post pasting text from some other location. + */ + export interface GetPasteEditsRequest extends Request { + command: CommandTypes.GetPasteEdits; + arguments: GetPasteEditsRequestArgs; + } + export interface GetPasteEditsRequestArgs extends FileRequestArgs { + /** The text that gets pasted in a file. */ + pastedText: string[]; + /** Locations of where the `pastedText` gets added in a file. If the length of the `pastedText` and `pastedLocations` are not the same, + * then the `pastedText` is combined into one and added at all the `pastedLocations`. + */ + pasteLocations: TextSpan[]; + /** The source location of each `pastedText`. If present, the length of `spans` must be equal to the length of `pastedText`. */ + copiedFrom?: { + file: string; + spans: TextSpan[]; + }; + } + export interface GetPasteEditsResponse extends Response { + body: PasteEditsAction; + } + export interface PasteEditsAction { + edits: FileCodeEdits[]; + fixId?: {}; + } export interface GetEditsForRefactorRequest extends Request { command: CommandTypes.GetEditsForRefactor; arguments: GetEditsForRefactorRequestArgs; @@ -1733,6 +1770,33 @@ declare namespace ts { export interface InlayHintsResponse extends Response { body?: InlayHintItem[]; } + export interface MapCodeRequestArgs extends FileRequestArgs { + /** + * The files and changes to try and apply/map. + */ + mapping: MapCodeRequestDocumentMapping; + } + export interface MapCodeRequestDocumentMapping { + /** + * The specific code to map/insert/replace in the file. + */ + contents: string[]; + /** + * Areas of "focus" to inform the code mapper with. For example, cursor + * location, current selection, viewport, etc. Nested arrays denote + * priority: toplevel arrays are more important than inner arrays, and + * inner array priorities are based on items within that array. Items + * earlier in the arrays have higher priority. + */ + focusLocations?: TextSpan[][]; + } + export interface MapCodeRequest extends FileRequest { + command: CommandTypes.MapCode; + arguments: MapCodeRequestArgs; + } + export interface MapCodeResponse extends Response { + body: readonly FileCodeEdits[]; + } /** * Synchronous request for semantic diagnostics of one file. */ @@ -2720,7 +2784,6 @@ declare namespace ts { private compilerOptions; compileOnSaveEnabled: boolean; protected watchOptions: WatchOptions | undefined; - private rootFiles; private rootFilesMap; private program; private externalFiles; @@ -2801,7 +2864,7 @@ declare namespace ts { private detachScriptInfoIfNotRoot; isClosed(): boolean; hasRoots(): boolean; - getRootFiles(): ts.server.NormalizedPath[]; + getRootFiles(): NormalizedPath[]; getRootScriptInfos(): ts.server.ScriptInfo[]; getScriptInfos(): ScriptInfo[]; getExcludedFiles(): readonly NormalizedPath[]; @@ -2872,8 +2935,6 @@ declare namespace ts { */ class ConfiguredProject extends Project { readonly canonicalConfigFilePath: NormalizedPath; - /** Ref count to the project when opened from external project */ - private externalProjectRefCount; private projectReferences; /** * If the project has reload from disk pending, it reloads (and then updates graph as part of that) instead of just updating the graph @@ -3117,6 +3178,10 @@ declare namespace ts { * Open files: with value being project root path, and key being Path of the file that is open */ readonly openFiles: Map; + /** Config files looked up and cached config files for open script info */ + private readonly configFileForOpenFiles; + /** Set of open script infos that are root of inferred project */ + private rootOfInferredProjects; /** * Map of open files that are opened without complete path but have projectRoot as current directory */ @@ -3135,6 +3200,11 @@ declare namespace ts { private safelist; private readonly legacySafelist; private pendingProjectUpdates; + /** + * All the open script info that needs recalculation of the default project, + * this also caches config file info before config file change was detected to use it in case projects are not updated yet + */ + private pendingOpenFileProjectUpdates?; readonly currentDirectory: NormalizedPath; readonly toCanonicalFileName: (f: string) => string; readonly host: ServerHost; @@ -3166,6 +3236,11 @@ declare namespace ts { setCompilerOptionsForInferredProjects(projectCompilerOptions: protocol.InferredProjectCompilerOptions, projectRootPath?: string): void; findProject(projectName: string): Project | undefined; getDefaultProjectForFile(fileName: NormalizedPath, ensureProject: boolean): Project | undefined; + /** + * If there is default project calculation pending for this file, + * then it completes that calculation so that correct default project is used for the project + */ + private tryGetDefaultProjectForEnsuringConfiguredProjectForFile; private doEnsureDefaultProjectForFile; getScriptInfoEnsuringProjectsUptoDate(uncheckedFileName: string): ScriptInfo | undefined; /** @@ -3185,13 +3260,6 @@ declare namespace ts { private delayUpdateSourceInfoProjects; private delayUpdateProjectsOfScriptInfoPath; private handleDeletedFile; - /** - * This function goes through all the openFiles and tries to file the config file for them. - * If the config file is found and it refers to existing project, it schedules the reload it for reload - * If there is no existing project it just opens the configured project for the config file - * shouldReloadProjectFor provides a way to filter out files to reload configured project for - */ - private delayReloadConfiguredProjectsForFile; private removeProject; private assignOrphanScriptInfosToInferredProject; /** @@ -3201,14 +3269,6 @@ declare namespace ts { private closeOpenFile; private deleteScriptInfo; private configFileExists; - /** - * Returns true if the configFileExistenceInfo is needed/impacted by open files that are root of inferred project - */ - private configFileExistenceImpactsRootOfInferredProject; - /** - * This is called on file close, so that we stop watching the config file for this script info - */ - private stopWatchingConfigFilesForClosedScriptInfo; /** * This function tries to search for a tsconfig.json for the given file. * This is different from the method the compiler uses because @@ -3218,17 +3278,10 @@ declare namespace ts { * the newly opened file. */ private forEachConfigFileLocation; - /** - * This function tries to search for a tsconfig.json for the given file. - * This is different from the method the compiler uses because - * the compiler can assume it will always start searching in the - * current directory (the directory in which tsc was invoked). - * The server must start searching from the directory containing - * the newly opened file. - * If script info is passed in, it is asserted to be open script info - * otherwise just file name - */ - private getConfigFileNameForFile; + /** Get cached configFileName for scriptInfo or ancestor of open script info */ + private getConfigFileNameForFileFromCache; + /** Caches the configFilename for script info or ancestor of open script info */ + private setConfigFileNameForFileInCache; private printProjects; private getConfiguredProjectByCanonicalConfigFilePath; private findExternalProjectByProjectName; @@ -3269,12 +3322,6 @@ declare namespace ts { * This does not reload contents of open files from disk. But we could do that if needed */ reloadProjects(): void; - /** - * This function goes through all the openFiles and tries to file the config file for them. - * If the config file is found and it refers to existing project, it reloads it either immediately - * If there is no existing project it just opens the configured project for the config file - */ - private reloadConfiguredProjectForFiles; /** * Remove the root of inferred project if script info is part of another project */ @@ -3296,11 +3343,21 @@ declare namespace ts { private findExternalProjectContainingOpenScriptInfo; private getOrCreateOpenScriptInfo; private assignProjectToOpenedScriptInfo; - private createAncestorProjects; + /** + * Finds the default configured project for given info + * For any tsconfig found, it looks into that project, if not then all its references, + * The search happens for all tsconfigs till projectRootPath + */ + private tryFindDefaultConfiguredProjectForOpenScriptInfo; + /** + * Finds the default configured project, if found, it creates the solution projects (does not load them right away) + * with Find: finds the projects even if the project is deferredClosed + */ + private tryFindDefaultConfiguredProjectAndLoadAncestorsForOpenScriptInfo; private ensureProjectChildren; - private cleanupAfterOpeningFile; + private cleanupConfiguredProjects; + private cleanupProjectsAndScriptInfos; openClientFileWithNormalizedPath(fileName: NormalizedPath, fileContent?: string, scriptKind?: ScriptKind, hasMixedContent?: boolean, projectRootPath?: NormalizedPath): OpenConfiguredProjectResult; - private removeOrphanConfiguredProjects; private removeOrphanScriptInfos; private telemetryOnOpenFile; /** @@ -3309,7 +3366,6 @@ declare namespace ts { */ closeClientFile(uncheckedFileName: string): void; private collectChanges; - private closeConfiguredProjectReferencedFromExternalProject; closeExternalProject(uncheckedFileName: string): void; openExternalProjects(projects: protocol.ExternalProject[]): void; /** Makes a filename safe to insert in a RegExp */ @@ -3440,6 +3496,7 @@ declare namespace ts { private getLinkedEditingRange; private getDocumentHighlights; private provideInlayHints; + private mapCode; private setCompilerOptionsForInferredProjects; private getProjectInfo; private getProjectInfoWorker; @@ -3499,6 +3556,7 @@ declare namespace ts { private getApplicableRefactors; private getEditsForRefactor; private getMoveToRefactoringFileSuggestions; + private getPasteEdits; private organizeImports; private getEditsForFileRename; private getCodeFixes; @@ -3507,6 +3565,7 @@ declare namespace ts { private getStartAndEndPosition; private mapCodeAction; private mapCodeFixAction; + private mapPasteEditsAction; private mapTextChangesToCodeEdits; private mapTextChangeToCodeEdit; private convertTextChangeToCodeEdit; @@ -10103,6 +10162,7 @@ declare namespace ts { uncommentSelection(fileName: string, textRange: TextRange): TextChange[]; getSupportedCodeFixes(fileName?: string): readonly string[]; dispose(): void; + getPasteEdits(args: PasteEditsArgs, formatOptions: FormatCodeSettings): PasteEdits; } interface JsxClosingTagInfo { readonly newText: string; @@ -10120,6 +10180,20 @@ declare namespace ts { SortAndCombine = "SortAndCombine", RemoveUnused = "RemoveUnused", } + interface PasteEdits { + edits: readonly FileTextChanges[]; + fixId?: {}; + } + interface PasteEditsArgs { + targetFile: string; + pastedText: string[]; + pasteLocations: TextRange[]; + copiedFrom: { + file: string; + range: TextRange[]; + } | undefined; + preferences: UserPreferences; + } interface OrganizeImportsArgs extends CombinedCodeFixScope { /** @deprecated Use `mode` instead */ skipDestructiveCodeActions?: boolean; diff --git a/tests/baselines/reference/argumentExpressionContextualTyping.types b/tests/baselines/reference/argumentExpressionContextualTyping.types index 58703910644b2..16a04fc21512e 100644 --- a/tests/baselines/reference/argumentExpressionContextualTyping.types +++ b/tests/baselines/reference/argumentExpressionContextualTyping.types @@ -128,7 +128,7 @@ foo(o1); // Not error since x has contextual type of tuple namely [string, numbe >foo : ({ x: [a, b], y: { c, d, e } }: { x: [any, any]; y: { c: any; d: any; e: any; }; }) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >o1 : { x: [string, number]; y: { c: boolean; d: string; e: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ foo({ x: ["string", 1], y: { c: true, d: "world", e: 3 } }); // Not error >foo({ x: ["string", 1], y: { c: true, d: "world", e: 3 } }) : void diff --git a/tests/baselines/reference/arguments.types b/tests/baselines/reference/arguments.types index 23e3bcd89500f..e0920ba869bb1 100644 --- a/tests/baselines/reference/arguments.types +++ b/tests/baselines/reference/arguments.types @@ -38,16 +38,16 @@ function f() { interface I { method(args: typeof arguments): void; ->method : (args: any) => void -> : ^ ^^^^^^^^^^ +>method : (args: typeof arguments) => void +> : ^ ^^ ^^^^^ >args : any > : ^^^ >arguments : any > : ^^^ fn: (args: typeof arguments) => void; ->fn : (args: any) => void -> : ^ ^^^^^^^^^^ +>fn : (args: typeof arguments) => void +> : ^ ^^ ^^^^^ >args : any > : ^^^ >arguments : any @@ -66,8 +66,8 @@ interface I { > : ^^^ construct: new (args: typeof arguments) => void; ->construct : new (args: any) => void -> : ^^^^^ ^^^^^^^^^^ +>construct : new (args: typeof arguments) => void +> : ^^^^^ ^^ ^^^^^ >args : any > : ^^^ >arguments : any diff --git a/tests/baselines/reference/argumentsAsPropertyName.types b/tests/baselines/reference/argumentsAsPropertyName.types index 034e8faa548ea..935c982c76a28 100644 --- a/tests/baselines/reference/argumentsAsPropertyName.types +++ b/tests/baselines/reference/argumentsAsPropertyName.types @@ -64,7 +64,7 @@ function myFunction(myType: MyType) { >[1, 2, 3].forEach(function(j) { use(x); }) : void > : ^^^^ >[1, 2, 3].forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >[1, 2, 3] : number[] > : ^^^^^^^^ >1 : 1 @@ -74,7 +74,7 @@ function myFunction(myType: MyType) { >3 : 3 > : ^ >forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >function(j) { use(x); } : (j: number) => void > : ^ ^^^^^^^^^^^^^^^^^ >j : number diff --git a/tests/baselines/reference/argumentsAsPropertyName2.types b/tests/baselines/reference/argumentsAsPropertyName2.types index e3a1ccb1f3b58..f39170ff2cbef 100644 --- a/tests/baselines/reference/argumentsAsPropertyName2.types +++ b/tests/baselines/reference/argumentsAsPropertyName2.types @@ -31,11 +31,11 @@ function foo() { >[].forEach(function () { i }) : void > : ^^^^ >[].forEach : (callbackfn: (value: any, index: number, array: any[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >[] : undefined[] > : ^^^^^^^^^^^ >forEach : (callbackfn: (value: any, index: number, array: any[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >function () { i } : () => void > : ^^^^^^^^^^ >i : number diff --git a/tests/baselines/reference/argumentsObjectIterator01_ES5.types b/tests/baselines/reference/argumentsObjectIterator01_ES5.types index 76906071896ac..343bbec3a9a92 100644 --- a/tests/baselines/reference/argumentsObjectIterator01_ES5.types +++ b/tests/baselines/reference/argumentsObjectIterator01_ES5.types @@ -27,11 +27,11 @@ function doubleAndReturnAsArray(x: number, y: number, z: number): [number, numbe >result.push(arg + arg) : number > : ^^^^^^ >result.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >result : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >arg + arg : any > : ^^^ >arg : any diff --git a/tests/baselines/reference/argumentsObjectIterator01_ES6.types b/tests/baselines/reference/argumentsObjectIterator01_ES6.types index 70f37111b794e..b0d3bf5978267 100644 --- a/tests/baselines/reference/argumentsObjectIterator01_ES6.types +++ b/tests/baselines/reference/argumentsObjectIterator01_ES6.types @@ -26,11 +26,11 @@ function doubleAndReturnAsArray(x: number, y: number, z: number): [number, numbe >result.push(arg + arg) : number > : ^^^^^^ >result.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >result : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >arg + arg : any >arg : any >arg : any diff --git a/tests/baselines/reference/argumentsObjectIterator02_ES5.types b/tests/baselines/reference/argumentsObjectIterator02_ES5.types index 9870101fa4b00..dccc4f075881d 100644 --- a/tests/baselines/reference/argumentsObjectIterator02_ES5.types +++ b/tests/baselines/reference/argumentsObjectIterator02_ES5.types @@ -43,11 +43,11 @@ function doubleAndReturnAsArray(x: number, y: number, z: number): [number, numbe >result.push(arg + arg) : number > : ^^^^^^ >result.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >result : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >arg + arg : any > : ^^^ >arg : any diff --git a/tests/baselines/reference/argumentsObjectIterator02_ES6.types b/tests/baselines/reference/argumentsObjectIterator02_ES6.types index eec7d223b7c9b..a2dd6ad1ecc2a 100644 --- a/tests/baselines/reference/argumentsObjectIterator02_ES6.types +++ b/tests/baselines/reference/argumentsObjectIterator02_ES6.types @@ -13,9 +13,9 @@ function doubleAndReturnAsArray(x: number, y: number, z: number): [number, numbe let blah = arguments[Symbol.iterator]; >blah : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >arguments[Symbol.iterator] : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >arguments : IArguments > : ^^^^^^^^^^ >Symbol.iterator : unique symbol @@ -36,17 +36,17 @@ function doubleAndReturnAsArray(x: number, y: number, z: number): [number, numbe >blah() : IterableIterator > : ^^^^^^^^^^^^^^^^^^^^^ >blah : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ result.push(arg + arg); >result.push(arg + arg) : number > : ^^^^^^ >result.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >result : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >arg + arg : any >arg : any >arg : any diff --git a/tests/baselines/reference/argumentsReferenceInFunction1_Js.types b/tests/baselines/reference/argumentsReferenceInFunction1_Js.types index 53f36d4f45fa3..2d41b9e618782 100644 --- a/tests/baselines/reference/argumentsReferenceInFunction1_Js.types +++ b/tests/baselines/reference/argumentsReferenceInFunction1_Js.types @@ -92,12 +92,12 @@ const debuglog = function() { return format.apply(null, arguments); >format.apply(null, arguments) : string > : ^^^^^^ ->format.apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T_1, ...args: A) => R_1, thisArg: T_1, args: A): R_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>format.apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >format : (f: any, ...args: any[]) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T_1, ...args: A) => R_1, thisArg: T_1, args: A): R_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >arguments : IArguments > : ^^^^^^^^^^ diff --git a/tests/baselines/reference/argumentsSpreadRestIterables(target=es5).types b/tests/baselines/reference/argumentsSpreadRestIterables(target=es5).types index 4027490e8b9e5..f6c3889ad00d4 100644 --- a/tests/baselines/reference/argumentsSpreadRestIterables(target=es5).types +++ b/tests/baselines/reference/argumentsSpreadRestIterables(target=es5).types @@ -59,7 +59,7 @@ declare const itNum: Iterable declare function fn1(...args: T): T; >fn1 : (...args: T) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >args : T > : ^ @@ -69,7 +69,7 @@ const res1 = fn1(..."hello"); >fn1(..."hello") : readonly any[] > : ^^^^^^^^^^^^^^ >fn1 : (...args: T) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >..."hello" : any > : ^^^ >"hello" : "hello" @@ -81,7 +81,7 @@ const res2 = fn1(...itNum); >fn1(...itNum) : Iterable > : ^^^^^^^^^^^^^^^^ >fn1 : (...args: T) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >...itNum : Iterable > : ^^^^^^^^^^^^^^^^ >itNum : Iterable @@ -93,7 +93,7 @@ const res3 = fn1(true, ..."hello"); >fn1(true, ..."hello") : readonly [true, ...any[]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >fn1 : (...args: T) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >true : true > : ^^^^ >..."hello" : any @@ -107,7 +107,7 @@ const res4 = fn1(true, ...itNum); >fn1(true, ...itNum) : readonly [true, ...Iterable[]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >fn1 : (...args: T) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >true : true > : ^^^^ >...itNum : Iterable @@ -118,7 +118,7 @@ const res4 = fn1(true, ...itNum); // repro from #52781 declare function foo(...args: T): T; >foo : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >args : T > : ^ @@ -128,7 +128,7 @@ const p1 = foo(..."hello"); >foo(..."hello") : any[] > : ^^^^^ >foo : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >..."hello" : any > : ^^^ >"hello" : "hello" @@ -140,7 +140,7 @@ const p2 = foo(...itNum); >foo(...itNum) : Iterable > : ^^^^^^^^^^^^^^^^ >foo : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >...itNum : Iterable > : ^^^^^^^^^^^^^^^^ >itNum : Iterable @@ -152,7 +152,7 @@ const p3 = foo(true, ..."hello"); >foo(true, ..."hello") : [boolean, ...any[]] > : ^^^^^^^^^^^^^^^^^^^ >foo : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >true : true > : ^^^^ >..."hello" : any @@ -166,7 +166,7 @@ const p4 = foo(true, ...itNum); >foo(true, ...itNum) : [boolean, ...Iterable[]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >true : true > : ^^^^ >...itNum : Iterable diff --git a/tests/baselines/reference/argumentsSpreadRestIterables(target=esnext).types b/tests/baselines/reference/argumentsSpreadRestIterables(target=esnext).types index c27ee50812081..be4b8553796b9 100644 --- a/tests/baselines/reference/argumentsSpreadRestIterables(target=esnext).types +++ b/tests/baselines/reference/argumentsSpreadRestIterables(target=esnext).types @@ -59,7 +59,7 @@ declare const itNum: Iterable declare function fn1(...args: T): T; >fn1 : (...args: T) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >args : T > : ^ @@ -69,7 +69,7 @@ const res1 = fn1(..."hello"); >fn1(..."hello") : readonly string[] > : ^^^^^^^^^^^^^^^^^ >fn1 : (...args: T) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >..."hello" : string > : ^^^^^^ >"hello" : "hello" @@ -81,7 +81,7 @@ const res2 = fn1(...itNum); >fn1(...itNum) : readonly number[] > : ^^^^^^^^^^^^^^^^^ >fn1 : (...args: T) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >...itNum : number > : ^^^^^^ >itNum : Iterable @@ -93,7 +93,7 @@ const res3 = fn1(true, ..."hello"); >fn1(true, ..."hello") : readonly [true, ...string[]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >fn1 : (...args: T) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >true : true > : ^^^^ >..."hello" : string @@ -107,7 +107,7 @@ const res4 = fn1(true, ...itNum); >fn1(true, ...itNum) : readonly [true, ...number[]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >fn1 : (...args: T) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >true : true > : ^^^^ >...itNum : number @@ -118,7 +118,7 @@ const res4 = fn1(true, ...itNum); // repro from #52781 declare function foo(...args: T): T; >foo : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >args : T > : ^ @@ -128,7 +128,7 @@ const p1 = foo(..."hello"); >foo(..."hello") : string[] > : ^^^^^^^^ >foo : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >..."hello" : string > : ^^^^^^ >"hello" : "hello" @@ -140,7 +140,7 @@ const p2 = foo(...itNum); >foo(...itNum) : number[] > : ^^^^^^^^ >foo : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >...itNum : number > : ^^^^^^ >itNum : Iterable @@ -152,7 +152,7 @@ const p3 = foo(true, ..."hello"); >foo(true, ..."hello") : [boolean, ...string[]] > : ^^^^^^^^^^^^^^^^^^^^^^ >foo : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >true : true > : ^^^^ >..."hello" : string @@ -166,7 +166,7 @@ const p4 = foo(true, ...itNum); >foo(true, ...itNum) : [boolean, ...number[]] > : ^^^^^^^^^^^^^^^^^^^^^^ >foo : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >true : true > : ^^^^ >...itNum : number diff --git a/tests/baselines/reference/arithmeticOperatorWithInvalidOperands.types b/tests/baselines/reference/arithmeticOperatorWithInvalidOperands.types index 8528427431d93..f891e3ee4fbc7 100644 --- a/tests/baselines/reference/arithmeticOperatorWithInvalidOperands.types +++ b/tests/baselines/reference/arithmeticOperatorWithInvalidOperands.types @@ -89,7 +89,7 @@ var r1a5 = a * e; >a : any > : ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r1a6 = a * f; >r1a6 : number @@ -149,7 +149,7 @@ var r1b5 = b * e; >b : boolean > : ^^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r1b6 = b * f; >r1b6 : number @@ -209,7 +209,7 @@ var r1c5 = c * e; >c : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r1c6 = c * f; >r1c6 : number @@ -269,7 +269,7 @@ var r1d5 = d * e; >d : string > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r1d6 = d * f; >r1d6 : number @@ -287,7 +287,7 @@ var r1e1 = e * a; >e * a : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : any > : ^^^ @@ -297,7 +297,7 @@ var r1e2 = e * b; >e * b : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : boolean > : ^^^^^^^ @@ -307,7 +307,7 @@ var r1e3 = e * c; >e * c : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : number > : ^^^^^^ @@ -317,7 +317,7 @@ var r1e4 = e * d; >e * d : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >d : string > : ^^^^^^ @@ -327,9 +327,9 @@ var r1e5 = e * e; >e * e : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r1e6 = e * f; >r1e6 : number @@ -337,7 +337,7 @@ var r1e6 = e * f; >e * f : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >f : Number > : ^^^^^^ @@ -389,7 +389,7 @@ var r1f5 = f * e; >f : Number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r1f6 = f * f; >r1f6 : number @@ -469,7 +469,7 @@ var r1g5 = E.a * e; >a : E.a > : ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r1g6 = E.a * f; >r1g6 : number @@ -547,7 +547,7 @@ var r1h5 = e * E.b; >e * E.b : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >E.b : E.b > : ^^^ >E : typeof E @@ -618,7 +618,7 @@ var r2a5 = a / e; >a : any > : ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r2a6 = a / f; >r2a6 : number @@ -678,7 +678,7 @@ var r2b5 = b / e; >b : boolean > : ^^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r2b6 = b / f; >r2b6 : number @@ -738,7 +738,7 @@ var r2c5 = c / e; >c : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r2c6 = c / f; >r2c6 : number @@ -798,7 +798,7 @@ var r2d5 = d / e; >d : string > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r2d6 = d / f; >r2d6 : number @@ -816,7 +816,7 @@ var r2e1 = e / a; >e / a : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : any > : ^^^ @@ -826,7 +826,7 @@ var r2e2 = e / b; >e / b : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : boolean > : ^^^^^^^ @@ -836,7 +836,7 @@ var r2e3 = e / c; >e / c : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : number > : ^^^^^^ @@ -846,7 +846,7 @@ var r2e4 = e / d; >e / d : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >d : string > : ^^^^^^ @@ -856,9 +856,9 @@ var r2e5 = e / e; >e / e : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r2e6 = e / f; >r2e6 : number @@ -866,7 +866,7 @@ var r2e6 = e / f; >e / f : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >f : Number > : ^^^^^^ @@ -918,7 +918,7 @@ var r2f5 = f / e; >f : Number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r2f6 = f / f; >r2f6 : number @@ -998,7 +998,7 @@ var r2g5 = E.a / e; >a : E.a > : ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r2g6 = E.a / f; >r2g6 : number @@ -1076,7 +1076,7 @@ var r2h5 = e / E.b; >e / E.b : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >E.b : E.b > : ^^^ >E : typeof E @@ -1147,7 +1147,7 @@ var r3a5 = a % e; >a : any > : ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r3a6 = a % f; >r3a6 : number @@ -1207,7 +1207,7 @@ var r3b5 = b % e; >b : boolean > : ^^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r3b6 = b % f; >r3b6 : number @@ -1267,7 +1267,7 @@ var r3c5 = c % e; >c : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r3c6 = c % f; >r3c6 : number @@ -1327,7 +1327,7 @@ var r3d5 = d % e; >d : string > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r3d6 = d % f; >r3d6 : number @@ -1345,7 +1345,7 @@ var r3e1 = e % a; >e % a : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : any > : ^^^ @@ -1355,7 +1355,7 @@ var r3e2 = e % b; >e % b : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : boolean > : ^^^^^^^ @@ -1365,7 +1365,7 @@ var r3e3 = e % c; >e % c : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : number > : ^^^^^^ @@ -1375,7 +1375,7 @@ var r3e4 = e % d; >e % d : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >d : string > : ^^^^^^ @@ -1385,9 +1385,9 @@ var r3e5 = e % e; >e % e : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r3e6 = e % f; >r3e6 : number @@ -1395,7 +1395,7 @@ var r3e6 = e % f; >e % f : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >f : Number > : ^^^^^^ @@ -1447,7 +1447,7 @@ var r3f5 = f % e; >f : Number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r3f6 = f % f; >r3f6 : number @@ -1527,7 +1527,7 @@ var r3g5 = E.a % e; >a : E.a > : ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r3g6 = E.a % f; >r3g6 : number @@ -1605,7 +1605,7 @@ var r3h5 = e % E.b; >e % E.b : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >E.b : E.b > : ^^^ >E : typeof E @@ -1676,7 +1676,7 @@ var r4a5 = a - e; >a : any > : ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r4a6 = a - f; >r4a6 : number @@ -1736,7 +1736,7 @@ var r4b5 = b - e; >b : boolean > : ^^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r4b6 = b - f; >r4b6 : number @@ -1796,7 +1796,7 @@ var r4c5 = c - e; >c : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r4c6 = c - f; >r4c6 : number @@ -1856,7 +1856,7 @@ var r4d5 = d - e; >d : string > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r4d6 = d - f; >r4d6 : number @@ -1874,7 +1874,7 @@ var r4e1 = e - a; >e - a : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : any > : ^^^ @@ -1884,7 +1884,7 @@ var r4e2 = e - b; >e - b : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : boolean > : ^^^^^^^ @@ -1894,7 +1894,7 @@ var r4e3 = e - c; >e - c : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : number > : ^^^^^^ @@ -1904,7 +1904,7 @@ var r4e4 = e - d; >e - d : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >d : string > : ^^^^^^ @@ -1914,9 +1914,9 @@ var r4e5 = e - e; >e - e : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r4e6 = e - f; >r4e6 : number @@ -1924,7 +1924,7 @@ var r4e6 = e - f; >e - f : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >f : Number > : ^^^^^^ @@ -1976,7 +1976,7 @@ var r4f5 = f - e; >f : Number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r4f6 = f - f; >r4f6 : number @@ -2056,7 +2056,7 @@ var r4g5 = E.a - e; >a : E.a > : ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r4g6 = E.a - f; >r4g6 : number @@ -2134,7 +2134,7 @@ var r4h5 = e - E.b; >e - E.b : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >E.b : E.b > : ^^^ >E : typeof E @@ -2205,7 +2205,7 @@ var r5a5 = a << e; >a : any > : ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r5a6 = a << f; >r5a6 : number @@ -2265,7 +2265,7 @@ var r5b5 = b << e; >b : boolean > : ^^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r5b6 = b << f; >r5b6 : number @@ -2325,7 +2325,7 @@ var r5c5 = c << e; >c : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r5c6 = c << f; >r5c6 : number @@ -2385,7 +2385,7 @@ var r5d5 = d << e; >d : string > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r5d6 = d << f; >r5d6 : number @@ -2403,7 +2403,7 @@ var r5e1 = e << a; >e << a : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : any > : ^^^ @@ -2413,7 +2413,7 @@ var r5e2 = e << b; >e << b : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : boolean > : ^^^^^^^ @@ -2423,7 +2423,7 @@ var r5e3 = e << c; >e << c : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : number > : ^^^^^^ @@ -2433,7 +2433,7 @@ var r5e4 = e << d; >e << d : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >d : string > : ^^^^^^ @@ -2443,9 +2443,9 @@ var r5e5 = e << e; >e << e : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r5e6 = e << f; >r5e6 : number @@ -2453,7 +2453,7 @@ var r5e6 = e << f; >e << f : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >f : Number > : ^^^^^^ @@ -2505,7 +2505,7 @@ var r5f5 = f << e; >f : Number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r5f6 = f << f; >r5f6 : number @@ -2585,7 +2585,7 @@ var r5g5 = E.a << e; >a : E.a > : ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r5g6 = E.a << f; >r5g6 : number @@ -2663,7 +2663,7 @@ var r5h5 = e << E.b; >e << E.b : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >E.b : E.b > : ^^^ >E : typeof E @@ -2734,7 +2734,7 @@ var r6a5 = a >> e; >a : any > : ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r6a6 = a >> f; >r6a6 : number @@ -2794,7 +2794,7 @@ var r6b5 = b >> e; >b : boolean > : ^^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r6b6 = b >> f; >r6b6 : number @@ -2854,7 +2854,7 @@ var r6c5 = c >> e; >c : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r6c6 = c >> f; >r6c6 : number @@ -2914,7 +2914,7 @@ var r6d5 = d >> e; >d : string > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r6d6 = d >> f; >r6d6 : number @@ -2932,7 +2932,7 @@ var r6e1 = e >> a; >e >> a : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : any > : ^^^ @@ -2942,7 +2942,7 @@ var r6e2 = e >> b; >e >> b : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : boolean > : ^^^^^^^ @@ -2952,7 +2952,7 @@ var r6e3 = e >> c; >e >> c : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : number > : ^^^^^^ @@ -2962,7 +2962,7 @@ var r6e4 = e >> d; >e >> d : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >d : string > : ^^^^^^ @@ -2972,9 +2972,9 @@ var r6e5 = e >> e; >e >> e : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r6e6 = e >> f; >r6e6 : number @@ -2982,7 +2982,7 @@ var r6e6 = e >> f; >e >> f : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >f : Number > : ^^^^^^ @@ -3034,7 +3034,7 @@ var r6f5 = f >> e; >f : Number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r6f6 = f >> f; >r6f6 : number @@ -3114,7 +3114,7 @@ var r6g5 = E.a >> e; >a : E.a > : ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r6g6 = E.a >> f; >r6g6 : number @@ -3192,7 +3192,7 @@ var r6h5 = e >> E.b; >e >> E.b : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >E.b : E.b > : ^^^ >E : typeof E @@ -3263,7 +3263,7 @@ var r7a5 = a >>> e; >a : any > : ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r7a6 = a >>> f; >r7a6 : number @@ -3323,7 +3323,7 @@ var r7b5 = b >>> e; >b : boolean > : ^^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r7b6 = b >>> f; >r7b6 : number @@ -3383,7 +3383,7 @@ var r7c5 = c >>> e; >c : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r7c6 = c >>> f; >r7c6 : number @@ -3443,7 +3443,7 @@ var r7d5 = d >>> e; >d : string > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r7d6 = d >>> f; >r7d6 : number @@ -3461,7 +3461,7 @@ var r7e1 = e >>> a; >e >>> a : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : any > : ^^^ @@ -3471,7 +3471,7 @@ var r7e2 = e >>> b; >e >>> b : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : boolean > : ^^^^^^^ @@ -3481,7 +3481,7 @@ var r7e3 = e >>> c; >e >>> c : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : number > : ^^^^^^ @@ -3491,7 +3491,7 @@ var r7e4 = e >>> d; >e >>> d : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >d : string > : ^^^^^^ @@ -3501,9 +3501,9 @@ var r7e5 = e >>> e; >e >>> e : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r7e6 = e >>> f; >r7e6 : number @@ -3511,7 +3511,7 @@ var r7e6 = e >>> f; >e >>> f : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >f : Number > : ^^^^^^ @@ -3563,7 +3563,7 @@ var r7f5 = f >>> e; >f : Number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r7f6 = f >>> f; >r7f6 : number @@ -3643,7 +3643,7 @@ var r7g5 = E.a >>> e; >a : E.a > : ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r7g6 = E.a >>> f; >r7g6 : number @@ -3721,7 +3721,7 @@ var r7h5 = e >>> E.b; >e >>> E.b : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >E.b : E.b > : ^^^ >E : typeof E @@ -3792,7 +3792,7 @@ var r8a5 = a & e; >a : any > : ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r8a6 = a & f; >r8a6 : number @@ -3852,7 +3852,7 @@ var r8b5 = b & e; >b : boolean > : ^^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r8b6 = b & f; >r8b6 : number @@ -3912,7 +3912,7 @@ var r8c5 = c & e; >c : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r8c6 = c & f; >r8c6 : number @@ -3972,7 +3972,7 @@ var r8d5 = d & e; >d : string > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r8d6 = d & f; >r8d6 : number @@ -3990,7 +3990,7 @@ var r8e1 = e & a; >e & a : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : any > : ^^^ @@ -4000,7 +4000,7 @@ var r8e2 = e & b; >e & b : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : boolean > : ^^^^^^^ @@ -4010,7 +4010,7 @@ var r8e3 = e & c; >e & c : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : number > : ^^^^^^ @@ -4020,7 +4020,7 @@ var r8e4 = e & d; >e & d : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >d : string > : ^^^^^^ @@ -4030,9 +4030,9 @@ var r8e5 = e & e; >e & e : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r8e6 = e & f; >r8e6 : number @@ -4040,7 +4040,7 @@ var r8e6 = e & f; >e & f : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >f : Number > : ^^^^^^ @@ -4092,7 +4092,7 @@ var r8f5 = f & e; >f : Number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r8f6 = f & f; >r8f6 : number @@ -4172,7 +4172,7 @@ var r8g5 = E.a & e; >a : E.a > : ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r8g6 = E.a & f; >r8g6 : number @@ -4250,7 +4250,7 @@ var r8h5 = e & E.b; >e & E.b : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >E.b : E.b > : ^^^ >E : typeof E @@ -4321,7 +4321,7 @@ var r9a5 = a ^ e; >a : any > : ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r9a6 = a ^ f; >r9a6 : number @@ -4381,7 +4381,7 @@ var r9b5 = b ^ e; >b : boolean > : ^^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r9b6 = b ^ f; >r9b6 : number @@ -4441,7 +4441,7 @@ var r9c5 = c ^ e; >c : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r9c6 = c ^ f; >r9c6 : number @@ -4501,7 +4501,7 @@ var r9d5 = d ^ e; >d : string > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r9d6 = d ^ f; >r9d6 : number @@ -4519,7 +4519,7 @@ var r9e1 = e ^ a; >e ^ a : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : any > : ^^^ @@ -4529,7 +4529,7 @@ var r9e2 = e ^ b; >e ^ b : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : boolean > : ^^^^^^^ @@ -4539,7 +4539,7 @@ var r9e3 = e ^ c; >e ^ c : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : number > : ^^^^^^ @@ -4549,7 +4549,7 @@ var r9e4 = e ^ d; >e ^ d : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >d : string > : ^^^^^^ @@ -4559,9 +4559,9 @@ var r9e5 = e ^ e; >e ^ e : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r9e6 = e ^ f; >r9e6 : number @@ -4569,7 +4569,7 @@ var r9e6 = e ^ f; >e ^ f : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >f : Number > : ^^^^^^ @@ -4621,7 +4621,7 @@ var r9f5 = f ^ e; >f : Number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r9f6 = f ^ f; >r9f6 : number @@ -4701,7 +4701,7 @@ var r9g5 = E.a ^ e; >a : E.a > : ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r9g6 = E.a ^ f; >r9g6 : number @@ -4779,7 +4779,7 @@ var r9h5 = e ^ E.b; >e ^ E.b : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >E.b : E.b > : ^^^ >E : typeof E @@ -4850,7 +4850,7 @@ var r10a5 = a | e; >a : any > : ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r10a6 = a | f; >r10a6 : number @@ -4910,7 +4910,7 @@ var r10b5 = b | e; >b : boolean > : ^^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r10b6 = b | f; >r10b6 : number @@ -4970,7 +4970,7 @@ var r10c5 = c | e; >c : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r10c6 = c | f; >r10c6 : number @@ -5030,7 +5030,7 @@ var r10d5 = d | e; >d : string > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r10d6 = d | f; >r10d6 : number @@ -5048,7 +5048,7 @@ var r10e1 = e | a; >e | a : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : any > : ^^^ @@ -5058,7 +5058,7 @@ var r10e2 = e | b; >e | b : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : boolean > : ^^^^^^^ @@ -5068,7 +5068,7 @@ var r10e3 = e | c; >e | c : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : number > : ^^^^^^ @@ -5078,7 +5078,7 @@ var r10e4 = e | d; >e | d : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >d : string > : ^^^^^^ @@ -5088,9 +5088,9 @@ var r10e5 = e | e; >e | e : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r10e6 = e | f; >r10e6 : number @@ -5098,7 +5098,7 @@ var r10e6 = e | f; >e | f : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >f : Number > : ^^^^^^ @@ -5150,7 +5150,7 @@ var r10f5 = f | e; >f : Number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r10f6 = f | f; >r10f6 : number @@ -5230,7 +5230,7 @@ var r10g5 = E.a | e; >a : E.a > : ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r10g6 = E.a | f; >r10g6 : number @@ -5308,7 +5308,7 @@ var r10h5 = e | E.b; >e | E.b : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >E.b : E.b > : ^^^ >E : typeof E diff --git a/tests/baselines/reference/arityAndOrderCompatibility01.types b/tests/baselines/reference/arityAndOrderCompatibility01.types index 07e84187ced61..5c37248c3ebc0 100644 --- a/tests/baselines/reference/arityAndOrderCompatibility01.types +++ b/tests/baselines/reference/arityAndOrderCompatibility01.types @@ -68,7 +68,7 @@ var [g, h, i] = z; >i : any > : ^^^ >z : { 0: string; 1: number; length: 2; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^ ^^^ var j1: [number, number, number] = x; >j1 : [number, number, number] @@ -86,7 +86,7 @@ var j3: [number, number, number] = z; >j3 : [number, number, number] > : ^^^^^^^^^^^^^^^^^^^^^^^^ >z : { 0: string; 1: number; length: 2; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^ ^^^ var k1: [string, number, number] = x; >k1 : [string, number, number] @@ -104,7 +104,7 @@ var k3: [string, number, number] = z; >k3 : [string, number, number] > : ^^^^^^^^^^^^^^^^^^^^^^^^ >z : { 0: string; 1: number; length: 2; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^ ^^^ var l1: [number] = x; >l1 : [number] @@ -122,7 +122,7 @@ var l3: [number] = z; >l3 : [number] > : ^^^^^^^^ >z : { 0: string; 1: number; length: 2; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^ ^^^ var m1: [string] = x; >m1 : [string] @@ -140,7 +140,7 @@ var m3: [string] = z; >m3 : [string] > : ^^^^^^^^ >z : { 0: string; 1: number; length: 2; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^ ^^^ var n1: [number, string] = x; >n1 : [number, string] @@ -158,7 +158,7 @@ var n3: [number, string] = z; >n3 : [number, string] > : ^^^^^^^^^^^^^^^^ >z : { 0: string; 1: number; length: 2; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^ ^^^ var o1: [string, number] = x; >o1 : [string, number] diff --git a/tests/baselines/reference/arityErrorRelatedSpanBindingPattern.types b/tests/baselines/reference/arityErrorRelatedSpanBindingPattern.types index f53b126aecd1a..076a3e981e2bb 100644 --- a/tests/baselines/reference/arityErrorRelatedSpanBindingPattern.types +++ b/tests/baselines/reference/arityErrorRelatedSpanBindingPattern.types @@ -25,7 +25,7 @@ foo("", 0); >foo("", 0) : void > : ^^^^ >foo : (a: any, b: any, { c }: { c: any; }) => void -> : ^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^ >"" : "" > : ^^ >0 : 0 @@ -35,7 +35,7 @@ bar("", 0); >bar("", 0) : void > : ^^^^ >bar : (a: any, b: any, [c]: [any]) => void -> : ^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^ >"" : "" > : ^^ >0 : 0 diff --git a/tests/baselines/reference/arrayAssignmentTest5.types b/tests/baselines/reference/arrayAssignmentTest5.types index 3a2ab9ce09abd..66d7ddf30c234 100644 --- a/tests/baselines/reference/arrayAssignmentTest5.types +++ b/tests/baselines/reference/arrayAssignmentTest5.types @@ -69,11 +69,11 @@ module Test { >this.tokenize(line, state, true) : ILineTokens > : ^^^^^^^^^^^ >this.tokenize : (line: string, state: IState, includeStates: boolean) => ILineTokens -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >tokenize : (line: string, state: IState, includeStates: boolean) => ILineTokens -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >line : string > : ^^^^^^ >state : IState @@ -107,11 +107,11 @@ module Test { >this.onEnter(line, tokens, offset) : IAction > : ^^^^^^^ >this.onEnter : (line: string, state: IState, offset: number) => IAction -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >onEnter : (line: string, state: IState, offset: number) => IAction -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >line : string > : ^^^^^^ >tokens : IStateToken[] diff --git a/tests/baselines/reference/arrayAugment.types b/tests/baselines/reference/arrayAugment.types index d9d62a0a52481..6a91cbccca3cc 100644 --- a/tests/baselines/reference/arrayAugment.types +++ b/tests/baselines/reference/arrayAugment.types @@ -23,11 +23,11 @@ var y = x.split(4); >x.split(4) : string[][] > : ^^^^^^^^^^ >x.split : (parts: number) => string[][] -> : ^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >x : string[] > : ^^^^^^^^ >split : (parts: number) => string[][] -> : ^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >4 : 4 > : ^ diff --git a/tests/baselines/reference/arrayBestCommonTypes.types b/tests/baselines/reference/arrayBestCommonTypes.types index 363b2e3a023ef..2ed7f2c9d8fa3 100644 --- a/tests/baselines/reference/arrayBestCommonTypes.types +++ b/tests/baselines/reference/arrayBestCommonTypes.types @@ -27,7 +27,7 @@ module EmptyTypes { public voidIfAny(x: boolean, y?: boolean): number; >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >x : boolean > : ^^^^^^^ >y : boolean @@ -35,7 +35,7 @@ module EmptyTypes { public voidIfAny(x: string, y?: boolean): number; >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >x : string > : ^^^^^^ >y : boolean @@ -43,7 +43,7 @@ module EmptyTypes { public voidIfAny(x: number, y?: boolean): number; >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >x : number > : ^^^^^^ >y : boolean @@ -51,7 +51,7 @@ module EmptyTypes { public voidIfAny(x: any, y = false): any { return null; } >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >x : any >y : boolean > : ^^^^^^^ @@ -70,11 +70,11 @@ module EmptyTypes { >this.voidIfAny([4, 2][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >[4, 2][0] : number > : ^^^^^^ >[4, 2] : number[] @@ -94,11 +94,11 @@ module EmptyTypes { >this.voidIfAny([4, 2, undefined][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >[4, 2, undefined][0] : number > : ^^^^^^ >[4, 2, undefined] : number[] @@ -120,11 +120,11 @@ module EmptyTypes { >this.voidIfAny([undefined, 2, 4][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >[undefined, 2, 4][0] : number > : ^^^^^^ >[undefined, 2, 4] : number[] @@ -146,11 +146,11 @@ module EmptyTypes { >this.voidIfAny([null, 2, 4][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >[null, 2, 4][0] : number > : ^^^^^^ >[null, 2, 4] : number[] @@ -170,11 +170,11 @@ module EmptyTypes { >this.voidIfAny([2, 4, null][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >[2, 4, null][0] : number > : ^^^^^^ >[2, 4, null] : number[] @@ -194,11 +194,11 @@ module EmptyTypes { >this.voidIfAny([undefined, 4, null][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >[undefined, 4, null][0] : number > : ^^^^^^ >[undefined, 4, null] : number[] @@ -218,11 +218,11 @@ module EmptyTypes { >this.voidIfAny(['', "q"][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >['', "q"][0] : string > : ^^^^^^ >['', "q"] : string[] @@ -242,11 +242,11 @@ module EmptyTypes { >this.voidIfAny(['', "q", undefined][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >['', "q", undefined][0] : string > : ^^^^^^ >['', "q", undefined] : string[] @@ -268,11 +268,11 @@ module EmptyTypes { >this.voidIfAny([undefined, "q", ''][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >[undefined, "q", ''][0] : string > : ^^^^^^ >[undefined, "q", ''] : string[] @@ -294,11 +294,11 @@ module EmptyTypes { >this.voidIfAny([null, "q", ''][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >[null, "q", ''][0] : string > : ^^^^^^ >[null, "q", ''] : string[] @@ -318,11 +318,11 @@ module EmptyTypes { >this.voidIfAny(["q", '', null][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >["q", '', null][0] : string > : ^^^^^^ >["q", '', null] : string[] @@ -342,11 +342,11 @@ module EmptyTypes { >this.voidIfAny([undefined, '', null][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >[undefined, '', null][0] : string > : ^^^^^^ >[undefined, '', null] : string[] @@ -366,11 +366,11 @@ module EmptyTypes { >this.voidIfAny([[3, 4], [null]][0][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >[[3, 4], [null]][0][0] : number > : ^^^^^^ >[[3, 4], [null]][0] : number[] @@ -709,7 +709,7 @@ module NonEmptyTypes { public voidIfAny(x: boolean, y?: boolean): number; >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >x : boolean > : ^^^^^^^ >y : boolean @@ -717,7 +717,7 @@ module NonEmptyTypes { public voidIfAny(x: string, y?: boolean): number; >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >x : string > : ^^^^^^ >y : boolean @@ -725,7 +725,7 @@ module NonEmptyTypes { public voidIfAny(x: number, y?: boolean): number; >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >x : number > : ^^^^^^ >y : boolean @@ -733,7 +733,7 @@ module NonEmptyTypes { public voidIfAny(x: any, y = false): any { return null; } >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >x : any >y : boolean > : ^^^^^^^ @@ -752,11 +752,11 @@ module NonEmptyTypes { >this.voidIfAny([4, 2][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >[4, 2][0] : number > : ^^^^^^ >[4, 2] : number[] @@ -776,11 +776,11 @@ module NonEmptyTypes { >this.voidIfAny([4, 2, undefined][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >[4, 2, undefined][0] : number > : ^^^^^^ >[4, 2, undefined] : number[] @@ -802,11 +802,11 @@ module NonEmptyTypes { >this.voidIfAny([undefined, 2, 4][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >[undefined, 2, 4][0] : number > : ^^^^^^ >[undefined, 2, 4] : number[] @@ -828,11 +828,11 @@ module NonEmptyTypes { >this.voidIfAny([null, 2, 4][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >[null, 2, 4][0] : number > : ^^^^^^ >[null, 2, 4] : number[] @@ -852,11 +852,11 @@ module NonEmptyTypes { >this.voidIfAny([2, 4, null][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >[2, 4, null][0] : number > : ^^^^^^ >[2, 4, null] : number[] @@ -876,11 +876,11 @@ module NonEmptyTypes { >this.voidIfAny([undefined, 4, null][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >[undefined, 4, null][0] : number > : ^^^^^^ >[undefined, 4, null] : number[] @@ -900,11 +900,11 @@ module NonEmptyTypes { >this.voidIfAny(['', "q"][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >['', "q"][0] : string > : ^^^^^^ >['', "q"] : string[] @@ -924,11 +924,11 @@ module NonEmptyTypes { >this.voidIfAny(['', "q", undefined][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >['', "q", undefined][0] : string > : ^^^^^^ >['', "q", undefined] : string[] @@ -950,11 +950,11 @@ module NonEmptyTypes { >this.voidIfAny([undefined, "q", ''][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >[undefined, "q", ''][0] : string > : ^^^^^^ >[undefined, "q", ''] : string[] @@ -976,11 +976,11 @@ module NonEmptyTypes { >this.voidIfAny([null, "q", ''][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >[null, "q", ''][0] : string > : ^^^^^^ >[null, "q", ''] : string[] @@ -1000,11 +1000,11 @@ module NonEmptyTypes { >this.voidIfAny(["q", '', null][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >["q", '', null][0] : string > : ^^^^^^ >["q", '', null] : string[] @@ -1024,11 +1024,11 @@ module NonEmptyTypes { >this.voidIfAny([undefined, '', null][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >[undefined, '', null][0] : string > : ^^^^^^ >[undefined, '', null] : string[] @@ -1048,11 +1048,11 @@ module NonEmptyTypes { >this.voidIfAny([[3, 4], [null]][0][0]) : number > : ^^^^^^ >this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >this : this > : ^^^^ >voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >[[3, 4], [null]][0][0] : number > : ^^^^^^ >[[3, 4], [null]][0] : number[] diff --git a/tests/baselines/reference/arrayBufferIsViewNarrowsType.types b/tests/baselines/reference/arrayBufferIsViewNarrowsType.types index 2edd398386eef..498a1e6e2a67c 100644 --- a/tests/baselines/reference/arrayBufferIsViewNarrowsType.types +++ b/tests/baselines/reference/arrayBufferIsViewNarrowsType.types @@ -9,11 +9,11 @@ if (ArrayBuffer.isView(obj)) { >ArrayBuffer.isView(obj) : boolean > : ^^^^^^^ >ArrayBuffer.isView : (arg: any) => arg is ArrayBufferView -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >ArrayBuffer : ArrayBufferConstructor > : ^^^^^^^^^^^^^^^^^^^^^^ >isView : (arg: any) => arg is ArrayBufferView -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >obj : Object > : ^^^^^^ diff --git a/tests/baselines/reference/arrayConcat2.types b/tests/baselines/reference/arrayConcat2.types index df756cdf2d284..b7eefc82f1c5f 100644 --- a/tests/baselines/reference/arrayConcat2.types +++ b/tests/baselines/reference/arrayConcat2.types @@ -11,11 +11,11 @@ a.concat("hello", 'world'); >a.concat("hello", 'world') : string[] > : ^^^^^^^^ >a.concat : { (...items: ConcatArray[]): string[]; (...items: (string | ConcatArray)[]): string[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >a : string[] > : ^^^^^^^^ >concat : { (...items: ConcatArray[]): string[]; (...items: (string | ConcatArray)[]): string[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >"hello" : "hello" > : ^^^^^^^ >'world' : "world" @@ -25,11 +25,11 @@ a.concat('Hello'); >a.concat('Hello') : string[] > : ^^^^^^^^ >a.concat : { (...items: ConcatArray[]): string[]; (...items: (string | ConcatArray)[]): string[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >a : string[] > : ^^^^^^^^ >concat : { (...items: ConcatArray[]): string[]; (...items: (string | ConcatArray)[]): string[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >'Hello' : "Hello" > : ^^^^^^^ @@ -45,11 +45,11 @@ b.concat('hello'); >b.concat('hello') : string[] > : ^^^^^^^^ >b.concat : { (...items: ConcatArray[]): string[]; (...items: (string | ConcatArray)[]): string[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >b : string[] > : ^^^^^^^^ >concat : { (...items: ConcatArray[]): string[]; (...items: (string | ConcatArray)[]): string[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >'hello' : "hello" > : ^^^^^^^ diff --git a/tests/baselines/reference/arrayConcat3.types b/tests/baselines/reference/arrayConcat3.types index c845e8d2a087b..74c353243d2fb 100644 --- a/tests/baselines/reference/arrayConcat3.types +++ b/tests/baselines/reference/arrayConcat3.types @@ -10,7 +10,7 @@ type Fn = (subj: U) => U function doStuff(a: Array>, b: Array>) { >doStuff : (a: Array>, b: Array>) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >a : Fn[] > : ^^^^^^^ >b : Fn[] @@ -20,11 +20,11 @@ function doStuff(a: Array>, b: Arrayb.concat(a) : Fn[] > : ^^^^^^^^ >b.concat : { (...items: ConcatArray>[]): Fn[]; (...items: (Fn | ConcatArray>)[]): Fn[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >b : Fn[] > : ^^^^^^^^ >concat : { (...items: ConcatArray>[]): Fn[]; (...items: (Fn | ConcatArray>)[]): Fn[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >a : Fn[] > : ^^^^^^^ } diff --git a/tests/baselines/reference/arrayConcatMap.types b/tests/baselines/reference/arrayConcatMap.types index d769d1610ffc6..11c221cf3b470 100644 --- a/tests/baselines/reference/arrayConcatMap.types +++ b/tests/baselines/reference/arrayConcatMap.types @@ -7,15 +7,15 @@ var x = [].concat([{ a: 1 }], [{ a: 2 }]) >[].concat([{ a: 1 }], [{ a: 2 }]) .map(b => b.a) : any[] > : ^^^^^ >[].concat([{ a: 1 }], [{ a: 2 }]) .map : (callbackfn: (value: any, index: number, array: any[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >[].concat([{ a: 1 }], [{ a: 2 }]) : any[] > : ^^^^^ >[].concat : { (...items: ConcatArray[]): any[]; (...items: any[]): any[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^ ^^^ >[] : undefined[] > : ^^^^^^^^^^^ >concat : { (...items: ConcatArray[]): any[]; (...items: any[]): any[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^ ^^^ >[{ a: 1 }] : { a: number; }[] > : ^^^^^^^^^^^^^^^^ >{ a: 1 } : { a: number; } @@ -35,7 +35,7 @@ var x = [].concat([{ a: 1 }], [{ a: 2 }]) .map(b => b.a); >map : (callbackfn: (value: any, index: number, array: any[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >b => b.a : (b: any) => any > : ^ ^^^^^^^^^^^^^ >b : any diff --git a/tests/baselines/reference/arrayDestructuringInSwitch1.types b/tests/baselines/reference/arrayDestructuringInSwitch1.types index 476333540e693..52ed83907bbb3 100644 --- a/tests/baselines/reference/arrayDestructuringInSwitch1.types +++ b/tests/baselines/reference/arrayDestructuringInSwitch1.types @@ -19,11 +19,11 @@ export function evaluate(expression: Expression): boolean { >Array.isArray(expression) : boolean > : ^^^^^^^ >Array.isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >expression : Expression > : ^^^^^^^^^^ @@ -46,12 +46,12 @@ export function evaluate(expression: Expression): boolean { return operands.every((child) => evaluate(child)); >operands.every((child) => evaluate(child)) : boolean > : ^^^^^^^ ->operands.every : { (predicate: (value: Expression, index: number, array: Expression[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: Expression, index: number, array: Expression[]) => unknown, thisArg?: any): boolean; } | { (predicate: (value: Expression, index: number, array: Expression[]) => value is S_1, thisArg?: any): this is S_1[]; (predicate: (value: Expression, index: number, array: Expression[]) => unknown, thisArg?: any): boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +>operands.every : { (predicate: (value: Expression, index: number, array: Expression[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: Expression, index: number, array: Expression[]) => unknown, thisArg?: any): boolean; } | { (predicate: (value: Expression, index: number, array: Expression[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: Expression, index: number, array: Expression[]) => unknown, thisArg?: any): boolean; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ >operands : Expression[] | [Expression] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->every : { (predicate: (value: Expression, index: number, array: Expression[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: Expression, index: number, array: Expression[]) => unknown, thisArg?: any): boolean; } | { (predicate: (value: Expression, index: number, array: Expression[]) => value is S_1, thisArg?: any): this is S_1[]; (predicate: (value: Expression, index: number, array: Expression[]) => unknown, thisArg?: any): boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +>every : { (predicate: (value: Expression, index: number, array: Expression[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: Expression, index: number, array: Expression[]) => unknown, thisArg?: any): boolean; } | { (predicate: (value: Expression, index: number, array: Expression[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: Expression, index: number, array: Expression[]) => unknown, thisArg?: any): boolean; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ >(child) => evaluate(child) : (child: Expression) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ >child : Expression @@ -59,7 +59,7 @@ export function evaluate(expression: Expression): boolean { >evaluate(child) : boolean > : ^^^^^^^ >evaluate : (expression: Expression) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >child : Expression > : ^^^^^^^^^^ } @@ -73,7 +73,7 @@ export function evaluate(expression: Expression): boolean { >evaluate(operands[0]) : boolean > : ^^^^^^^ >evaluate : (expression: Expression) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >operands[0] : Expression > : ^^^^^^^^^^ >operands : Expression[] | [Expression] diff --git a/tests/baselines/reference/arrayEvery.types b/tests/baselines/reference/arrayEvery.types index 9920fb985d757..eef6d067bd2bc 100644 --- a/tests/baselines/reference/arrayEvery.types +++ b/tests/baselines/reference/arrayEvery.types @@ -29,19 +29,19 @@ if (foo.every(isString)) { >foo.every(isString) : boolean > : ^^^^^^^ >foo.every : { (predicate: (value: string | number, index: number, array: (string | number)[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: string | number, index: number, array: (string | number)[]) => unknown, thisArg?: any): boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ >foo : (string | number)[] > : ^^^^^^^^^^^^^^^^^^^ >every : { (predicate: (value: string | number, index: number, array: (string | number)[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: string | number, index: number, array: (string | number)[]) => unknown, thisArg?: any): boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ >isString : (x: unknown) => x is string -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ foo[0].slice(0); >foo[0].slice(0) : string > : ^^^^^^ >foo[0].slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >foo[0] : string > : ^^^^^^ >foo : string[] @@ -49,7 +49,7 @@ if (foo.every(isString)) { >0 : 0 > : ^ >slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ } diff --git a/tests/baselines/reference/arrayFakeFlatNoCrashInferenceDeclarations.types b/tests/baselines/reference/arrayFakeFlatNoCrashInferenceDeclarations.types index e0b3f2970e555..166661165d34c 100644 --- a/tests/baselines/reference/arrayFakeFlatNoCrashInferenceDeclarations.types +++ b/tests/baselines/reference/arrayFakeFlatNoCrashInferenceDeclarations.types @@ -30,7 +30,7 @@ type BadFlatArray = {obj: { declare function flat( >flat : (arr: A, depth?: D) => BadFlatArray[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^ ^^ ^^ ^^^ ^^^^^ arr: A, >arr : A @@ -53,8 +53,8 @@ function foo(arr: T[], depth: number) { return flat(arr, depth); >flat(arr, depth) : (T | (T extends readonly (infer InnerArr)[] ? InnerArr | (InnerArr extends readonly (infer InnerArr)[] ? any : InnerArr) : T))[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->flat : (arr: A, depth?: D) => { done: A; recur: A extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? any[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]]]]]] extends infer T_1 ? T_1 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]]]]]] ? T_1 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]]]]] extends infer T_2 ? T_2 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]]]]] ? T_2 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]]]] extends infer T_3 ? T_3 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]]]] ? T_3 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]]] extends infer T_4 ? T_4 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]]] ? T_4 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]] extends infer T_5 ? T_5 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]] ? T_5 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]] extends infer T_6 ? T_6 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]] ? T_6 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]] extends infer T_7 ? T_7 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]] ? T_7 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]] extends infer T_8 ? T_8 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]] ? T_8 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]] extends infer T_9 ? T_9 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]] ? T_9 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]] extends infer T_10 ? T_10 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]] ? T_10 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D] extends infer T_11 ? T_11 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D] ? T_11 extends -1 ? "done" : "recur" : never : never] : A; }[D extends -1 ? "done" : "recur"][] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>flat : (arr: A, depth?: D) => BadFlatArray[] +> : ^ ^^ ^^^^^^^^^ ^^^^^^ ^^ ^^ ^^^ ^^^^^ >arr : T[] > : ^^^ >depth : number diff --git a/tests/baselines/reference/arrayFilter.types b/tests/baselines/reference/arrayFilter.types index 297c7e07c0d39..6d96955697ebc 100644 --- a/tests/baselines/reference/arrayFilter.types +++ b/tests/baselines/reference/arrayFilter.types @@ -35,11 +35,11 @@ foo.filter(x => x.name); //should accepted all possible types not only boolean! >foo.filter(x => x.name) : { name: string; }[] > : ^^^^^^^^^^^^^^^^^^^ >foo.filter : { (predicate: (value: { name: string; }, index: number, array: { name: string; }[]) => value is S, thisArg?: any): S[]; (predicate: (value: { name: string; }, index: number, array: { name: string; }[]) => unknown, thisArg?: any): { name: string; }[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ >foo : { name: string; }[] > : ^^^^^^^^^^^^^^^^^^^ >filter : { (predicate: (value: { name: string; }, index: number, array: { name: string; }[]) => value is S, thisArg?: any): S[]; (predicate: (value: { name: string; }, index: number, array: { name: string; }[]) => unknown, thisArg?: any): { name: string; }[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ >x => x.name : (x: { name: string; }) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { name: string; } diff --git a/tests/baselines/reference/arrayFind.types b/tests/baselines/reference/arrayFind.types index 73cde487ad800..8b225c6ccd1f6 100644 --- a/tests/baselines/reference/arrayFind.types +++ b/tests/baselines/reference/arrayFind.types @@ -40,14 +40,14 @@ const foundNumber: number | undefined = arrayOfStringsNumbersAndBooleans.find(is > : ^^^^^^ >arrayOfStringsNumbersAndBooleans.find(isNumber) : number > : ^^^^^^ ->arrayOfStringsNumbersAndBooleans.find : { (predicate: (value: string | number | boolean, index: number, obj: (string | number | boolean)[]) => value is S, thisArg?: any): S; (predicate: (value: string | number | boolean, index: number, obj: (string | number | boolean)[]) => unknown, thisArg?: any): string | number | boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>arrayOfStringsNumbersAndBooleans.find : { (predicate: (value: string | number | boolean, index: number, obj: (string | number | boolean)[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: string | number | boolean, index: number, obj: (string | number | boolean)[]) => unknown, thisArg?: any): (string | number | boolean) | undefined; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >arrayOfStringsNumbersAndBooleans : (string | number | boolean)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->find : { (predicate: (value: string | number | boolean, index: number, obj: (string | number | boolean)[]) => value is S, thisArg?: any): S; (predicate: (value: string | number | boolean, index: number, obj: (string | number | boolean)[]) => unknown, thisArg?: any): string | number | boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>find : { (predicate: (value: string | number | boolean, index: number, obj: (string | number | boolean)[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: string | number | boolean, index: number, obj: (string | number | boolean)[]) => unknown, thisArg?: any): (string | number | boolean) | undefined; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >isNumber : (x: any) => x is number -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ const readonlyArrayOfStringsNumbersAndBooleans = arrayOfStringsNumbersAndBooleans as ReadonlyArray; >readonlyArrayOfStringsNumbersAndBooleans : readonly (string | number | boolean)[] @@ -62,12 +62,12 @@ const readonlyFoundNumber: number | undefined = readonlyArrayOfStringsNumbersAnd > : ^^^^^^ >readonlyArrayOfStringsNumbersAndBooleans.find(isNumber) : number > : ^^^^^^ ->readonlyArrayOfStringsNumbersAndBooleans.find : { (predicate: (value: string | number | boolean, index: number, obj: readonly (string | number | boolean)[]) => value is S, thisArg?: any): S; (predicate: (value: string | number | boolean, index: number, obj: readonly (string | number | boolean)[]) => unknown, thisArg?: any): string | number | boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>readonlyArrayOfStringsNumbersAndBooleans.find : { (predicate: (value: string | number | boolean, index: number, obj: readonly (string | number | boolean)[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: string | number | boolean, index: number, obj: readonly (string | number | boolean)[]) => unknown, thisArg?: any): (string | number | boolean) | undefined; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >readonlyArrayOfStringsNumbersAndBooleans : readonly (string | number | boolean)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->find : { (predicate: (value: string | number | boolean, index: number, obj: readonly (string | number | boolean)[]) => value is S, thisArg?: any): S; (predicate: (value: string | number | boolean, index: number, obj: readonly (string | number | boolean)[]) => unknown, thisArg?: any): string | number | boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>find : { (predicate: (value: string | number | boolean, index: number, obj: readonly (string | number | boolean)[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: string | number | boolean, index: number, obj: readonly (string | number | boolean)[]) => unknown, thisArg?: any): (string | number | boolean) | undefined; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >isNumber : (x: any) => x is number -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ diff --git a/tests/baselines/reference/arrayFlatMap.types b/tests/baselines/reference/arrayFlatMap.types index e83619d4144d0..fb09f50dd5682 100644 --- a/tests/baselines/reference/arrayFlatMap.types +++ b/tests/baselines/reference/arrayFlatMap.types @@ -16,12 +16,12 @@ const readonlyArray: ReadonlyArray = []; array.flatMap((): ReadonlyArray => []); // ok >array.flatMap((): ReadonlyArray => []) : number[] > : ^^^^^^^^ ->array.flatMap : (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[] -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ +>array.flatMap : (callback: (this: This, value: number, index: number, array: number[]) => U | ReadonlyArray, thisArg?: This) => U[] +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^ ^^ ^^^^^^^^^^^^^ >array : number[] > : ^^^^^^^^ ->flatMap : (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[] -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ +>flatMap : (callback: (this: This, value: number, index: number, array: number[]) => U | ReadonlyArray, thisArg?: This) => U[] +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^ ^^ ^^^^^^^^^^^^^ >(): ReadonlyArray => [] : () => ReadonlyArray > : ^^^^^^ >[] : undefined[] @@ -30,12 +30,12 @@ array.flatMap((): ReadonlyArray => []); // ok readonlyArray.flatMap((): ReadonlyArray => []); // ok >readonlyArray.flatMap((): ReadonlyArray => []) : number[] > : ^^^^^^^^ ->readonlyArray.flatMap : (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[] -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ +>readonlyArray.flatMap : (callback: (this: This, value: number, index: number, array: number[]) => U | ReadonlyArray, thisArg?: This) => U[] +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^ ^^ ^^^^^^^^^^^^^ >readonlyArray : readonly number[] > : ^^^^^^^^^^^^^^^^^ ->flatMap : (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[] -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ +>flatMap : (callback: (this: This, value: number, index: number, array: number[]) => U | ReadonlyArray, thisArg?: This) => U[] +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^ ^^ ^^^^^^^^^^^^^ >(): ReadonlyArray => [] : () => ReadonlyArray > : ^^^^^^ >[] : undefined[] diff --git a/tests/baselines/reference/arrayFlatNoCrashInference.types b/tests/baselines/reference/arrayFlatNoCrashInference.types index 80c628212cc92..0d614732f87dc 100644 --- a/tests/baselines/reference/arrayFlatNoCrashInference.types +++ b/tests/baselines/reference/arrayFlatNoCrashInference.types @@ -13,11 +13,11 @@ function foo(arr: T[], depth: number) { >arr.flat(depth) : FlatArray[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >arr.flat : (this: A, depth?: D | undefined) => FlatArray[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^ ^ >arr : T[] > : ^^^ >flat : (this: A, depth?: D | undefined) => FlatArray[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^ ^ >depth : number > : ^^^^^^ } diff --git a/tests/baselines/reference/arrayFlatNoCrashInferenceDeclarations.types b/tests/baselines/reference/arrayFlatNoCrashInferenceDeclarations.types index 4f8ae606506f5..e062190b0ff4e 100644 --- a/tests/baselines/reference/arrayFlatNoCrashInferenceDeclarations.types +++ b/tests/baselines/reference/arrayFlatNoCrashInferenceDeclarations.types @@ -13,11 +13,11 @@ function foo(arr: T[], depth: number) { >arr.flat(depth) : FlatArray[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >arr.flat : (this: A, depth?: D | undefined) => FlatArray[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^ ^ >arr : T[] > : ^^^ >flat : (this: A, depth?: D | undefined) => FlatArray[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^ ^ >depth : number > : ^^^^^^ } diff --git a/tests/baselines/reference/arrayFrom.types b/tests/baselines/reference/arrayFrom.types index 71485e09f6925..dd4a41a176eb7 100644 --- a/tests/baselines/reference/arrayFrom.types +++ b/tests/baselines/reference/arrayFrom.types @@ -63,12 +63,12 @@ const result1: A[] = Array.from(inputA); > : ^^^ >Array.from(inputA) : A[] > : ^^^ ->Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ ->from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >inputA : A[] > : ^^^ @@ -77,52 +77,52 @@ const result2: A[] = Array.from(inputA.values()); > : ^^^ >Array.from(inputA.values()) : A[] > : ^^^ ->Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ ->from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >inputA.values() : IterableIterator > : ^^^^^^^^^^^^^^^^^^^ >inputA.values : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^ >inputA : A[] > : ^^^ >values : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^ const result3: B[] = Array.from(inputA.values()); // expect error >result3 : B[] > : ^^^ >Array.from(inputA.values()) : A[] > : ^^^ ->Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ ->from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >inputA.values() : IterableIterator > : ^^^^^^^^^^^^^^^^^^^ >inputA.values : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^ >inputA : A[] > : ^^^ >values : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^ const result4: A[] = Array.from(inputB, ({ b }): A => ({ a: b })); >result4 : A[] > : ^^^ >Array.from(inputB, ({ b }): A => ({ a: b })) : A[] > : ^^^ ->Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ ->from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >inputB : B[] > : ^^^ >({ b }): A => ({ a: b }) : ({ b }: B) => A @@ -143,12 +143,12 @@ const result5: A[] = Array.from(inputALike); > : ^^^ >Array.from(inputALike) : A[] > : ^^^ ->Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ ->from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >inputALike : ArrayLike > : ^^^^^^^^^^^^ @@ -157,12 +157,12 @@ const result6: B[] = Array.from(inputALike); // expect error > : ^^^ >Array.from(inputALike) : A[] > : ^^^ ->Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ ->from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >inputALike : ArrayLike > : ^^^^^^^^^^^^ @@ -171,12 +171,12 @@ const result7: B[] = Array.from(inputALike, ({ a }): B => ({ b: a })); > : ^^^ >Array.from(inputALike, ({ a }): B => ({ b: a })) : B[] > : ^^^ ->Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ ->from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >inputALike : ArrayLike > : ^^^^^^^^^^^^ >({ a }): B => ({ b: a }) : ({ a }: A) => B @@ -197,12 +197,12 @@ const result8: A[] = Array.from(inputARand); > : ^^^ >Array.from(inputARand) : A[] > : ^^^ ->Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ ->from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >inputARand : ArrayLike | Iterable > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -211,12 +211,12 @@ const result9: B[] = Array.from(inputARand, ({ a }): B => ({ b: a })); > : ^^^ >Array.from(inputARand, ({ a }): B => ({ b: a })) : B[] > : ^^^ ->Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ ->from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >inputARand : ArrayLike | Iterable > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >({ a }): B => ({ b: a }) : ({ a }: A) => B @@ -237,12 +237,12 @@ const result10: A[] = Array.from(new Set()); > : ^^^ >Array.from(new Set()) : A[] > : ^^^ ->Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ ->from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >new Set() : Set > : ^^^^^^ >Set : SetConstructor @@ -253,12 +253,12 @@ const result11: B[] = Array.from(inputASet, ({ a }): B => ({ b: a })); > : ^^^ >Array.from(inputASet, ({ a }): B => ({ b: a })) : B[] > : ^^^ ->Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ ->from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >inputASet : Set > : ^^^^^^ >({ a }): B => ({ b: a }) : ({ a }: A) => B @@ -293,11 +293,11 @@ function getEither (in1: Iterable, in2: ArrayLike) { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ >in1 : Iterable diff --git a/tests/baselines/reference/arrayFromAsync.types b/tests/baselines/reference/arrayFromAsync.types index dd4509d2c1925..abea2cbd32d8d 100644 --- a/tests/baselines/reference/arrayFromAsync.types +++ b/tests/baselines/reference/arrayFromAsync.types @@ -56,12 +56,12 @@ function * genPromises (n) { >yield Promise.resolve(i * 2) : any >Promise.resolve(i * 2) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >i * 2 : number > : ^^^^^^ >i : number @@ -82,12 +82,12 @@ const arrLike = { > : ^^^^^^^^^^^^^^^ >Promise.resolve(0) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >0 : 0 > : ^ @@ -96,12 +96,12 @@ const arrLike = { > : ^^^^^^^^^^^^^^^ >Promise.resolve(2) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >2 : 2 > : ^ @@ -110,12 +110,12 @@ const arrLike = { > : ^^^^^^^^^^^^^^^ >Promise.resolve(4) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >4 : 4 > : ^ @@ -124,12 +124,12 @@ const arrLike = { > : ^^^^^^^^^^^^^^^ >Promise.resolve(6) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >6 : 6 > : ^ @@ -160,11 +160,11 @@ for await (const v of asyncGen(4)) { >arr.push(v) : number > : ^^^^^^ >arr.push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >arr : number[] > : ^^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >v : number > : ^^^^^^ } @@ -176,12 +176,12 @@ const sameArr1 = await Array.fromAsync(arrLike); > : ^^^^^^^^ >Array.fromAsync(arrLike) : Promise > : ^^^^^^^^^^^^^^^^^ ->Array.fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Array.fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ ->fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >arrLike : { 0: Promise; 1: Promise; 2: Promise; 3: Promise; length: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -192,52 +192,52 @@ const sameArr2 = await Array.fromAsync([Promise.resolve(0), Promise.resolve(2), > : ^^^^^^^^ >Array.fromAsync([Promise.resolve(0), Promise.resolve(2), Promise.resolve(4), Promise.resolve(6)]) : Promise > : ^^^^^^^^^^^^^^^^^ ->Array.fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Array.fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ ->fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >[Promise.resolve(0), Promise.resolve(2), Promise.resolve(4), Promise.resolve(6)] : Promise[] > : ^^^^^^^^^^^^^^^^^ >Promise.resolve(0) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >0 : 0 > : ^ >Promise.resolve(2) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >2 : 2 > : ^ >Promise.resolve(4) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >4 : 4 > : ^ >Promise.resolve(6) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >6 : 6 > : ^ @@ -248,12 +248,12 @@ const sameArr3 = await Array.fromAsync(genPromises(4)); > : ^^^^^^^^ >Array.fromAsync(genPromises(4)) : Promise > : ^^^^^^^^^^^^^^^^^ ->Array.fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Array.fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ ->fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >genPromises(4) : Generator, void, unknown> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >genPromises : (n: any) => Generator, void, unknown> @@ -268,12 +268,12 @@ const sameArr4 = await Array.fromAsync(asyncGen(4)); > : ^^^^^^^^ >Array.fromAsync(asyncGen(4)) : Promise > : ^^^^^^^^^^^^^^^^^ ->Array.fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Array.fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ ->fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >asyncGen(4) : AsyncGenerator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >asyncGen : (n: any) => AsyncGenerator @@ -287,20 +287,20 @@ function Data (n) {} >n : any Data.fromAsync = Array.fromAsync; ->Data.fromAsync = Array.fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->Data.fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Data.fromAsync = Array.fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ +>Data.fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Data : typeof Data > : ^^^^^^^^^^^ ->fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->Array.fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ +>Array.fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ ->fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ const sameArr5 = await Data.fromAsync(asyncGen(4)); >sameArr5 : number[] @@ -309,12 +309,12 @@ const sameArr5 = await Data.fromAsync(asyncGen(4)); > : ^^^^^^^^ >Data.fromAsync(asyncGen(4)) : Promise > : ^^^^^^^^^^^^^^^^^ ->Data.fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Data.fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Data : typeof Data > : ^^^^^^^^^^^ ->fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >asyncGen(4) : AsyncGenerator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >asyncGen : (n: any) => AsyncGenerator @@ -329,12 +329,12 @@ const mapArr1 = await Array.fromAsync(asyncGen(4), v => v ** 2); > : ^^^^^^^^ >Array.fromAsync(asyncGen(4), v => v ** 2) : Promise > : ^^^^^^^^^^^^^^^^^ ->Array.fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Array.fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ ->fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >asyncGen(4) : AsyncGenerator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >asyncGen : (n: any) => AsyncGenerator @@ -359,12 +359,12 @@ const mapArr2 = await Array.fromAsync([0,2,4,6], v => Promise.resolve(v ** 2)); > : ^^^^^^^^ >Array.fromAsync([0,2,4,6], v => Promise.resolve(v ** 2)) : Promise > : ^^^^^^^^^^^^^^^^^ ->Array.fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Array.fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ ->fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >[0,2,4,6] : number[] > : ^^^^^^^^ >0 : 0 @@ -381,12 +381,12 @@ const mapArr2 = await Array.fromAsync([0,2,4,6], v => Promise.resolve(v ** 2)); > : ^^^^^^ >Promise.resolve(v ** 2) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >v ** 2 : number > : ^^^^^^ >v : number @@ -401,12 +401,12 @@ const mapArr3 = await Array.fromAsync([0,2,4,6], v => v ** 2); > : ^^^^^^^^ >Array.fromAsync([0,2,4,6], v => v ** 2) : Promise > : ^^^^^^^^^^^^^^^^^ ->Array.fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Array.fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ ->fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >[0,2,4,6] : number[] > : ^^^^^^^^ >0 : 0 @@ -460,12 +460,12 @@ const badArray = await Array.fromAsync(badIterable); > : ^^^^^^^^^ >Array.fromAsync(badIterable) : Promise > : ^^^^^^^^^^^^^^^^^^ ->Array.fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Array.fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ ->fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>fromAsync : { (iterableOrArrayLike: AsyncIterable | Iterable> | ArrayLike>): Promise; (iterableOrArrayLike: AsyncIterable | Iterable | ArrayLike, mapFn: (value: Awaited) => U, thisArg?: any): Promise[]>; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >badIterable : { [Symbol.iterator](): never; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/arrayLiteralInference.types b/tests/baselines/reference/arrayLiteralInference.types index ad1819964faef..6520794bbf907 100644 --- a/tests/baselines/reference/arrayLiteralInference.types +++ b/tests/baselines/reference/arrayLiteralInference.types @@ -193,7 +193,7 @@ let b1: { x: boolean }[] = foo({ x: true }, { x: false }); >foo({ x: true }, { x: false }) : ({ x: true; } | { x: false; })[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (...args: T[]) => T[] -> : ^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >{ x: true } : { x: true; } > : ^^^^^^^^^^^^ >x : true @@ -213,7 +213,7 @@ let b2: boolean[][] = foo([true], [false]); >foo([true], [false]) : (true[] | false[])[] > : ^^^^^^^^^^^^^^^^^^^^ >foo : (...args: T[]) => T[] -> : ^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >[true] : true[] > : ^^^^^^ >true : true diff --git a/tests/baselines/reference/arrayLiteralWithMultipleBestCommonTypes.types b/tests/baselines/reference/arrayLiteralWithMultipleBestCommonTypes.types index 7674ca28aca6d..1030c5783fd7a 100644 --- a/tests/baselines/reference/arrayLiteralWithMultipleBestCommonTypes.types +++ b/tests/baselines/reference/arrayLiteralWithMultipleBestCommonTypes.types @@ -29,35 +29,35 @@ var c: { x: number; a?: number }; var as = [a, b]; // { x: number; y?: number };[] >as : ({ x: number; y?: number; } | { x: number; z?: number; })[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^^^^^^^^^ ^^^^^^ ^^^^^^ >[a, b] : ({ x: number; y?: number; } | { x: number; z?: number; })[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^^^^^^^^^ ^^^^^^ ^^^^^^ >a : { x: number; y?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >b : { x: number; z?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ var bs = [b, a]; // { x: number; z?: number };[] >bs : ({ x: number; y?: number; } | { x: number; z?: number; })[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^^^^^^^^^ ^^^^^^ ^^^^^^ >[b, a] : ({ x: number; y?: number; } | { x: number; z?: number; })[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^^^^^^^^^ ^^^^^^ ^^^^^^ >b : { x: number; z?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >a : { x: number; y?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ var cs = [a, b, c]; // { x: number; y?: number };[] >cs : ({ x: number; y?: number; } | { x: number; z?: number; } | { x: number; a?: number; })[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^ ^^^^^^ ^^^^^^ >[a, b, c] : ({ x: number; y?: number; } | { x: number; z?: number; } | { x: number; a?: number; })[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^ ^^^^^^ ^^^^^^ >a : { x: number; y?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >b : { x: number; z?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >c : { x: number; a?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ var ds = [(x: Object) => 1, (x: string) => 2]; // { (x:Object) => number }[] >ds : ((x: Object) => number)[] diff --git a/tests/baselines/reference/arrayOfFunctionTypes3.types b/tests/baselines/reference/arrayOfFunctionTypes3.types index beb895cfac17b..fc811643c30ce 100644 --- a/tests/baselines/reference/arrayOfFunctionTypes3.types +++ b/tests/baselines/reference/arrayOfFunctionTypes3.types @@ -82,23 +82,23 @@ var c: { (x: number): number; (x: any): any; }; var z = [a, b, c]; >z : { (x: number): number; (x: any): any; }[] -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^^^ >[a, b, c] : { (x: number): number; (x: any): any; }[] -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^^^ >a : { (x: number): number; (x: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : { (x: number): number; (x: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c : { (x: number): number; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ var r4 = z[0]; >r4 : { (x: number): number; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >z[0] : { (x: number): number; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >z : { (x: number): number; (x: any): any; }[] -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -106,7 +106,7 @@ var r5 = r4(''); // any not string >r5 : any >r4('') : any >r4 : { (x: number): number; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >'' : "" > : ^^ @@ -116,7 +116,7 @@ var r5b = r4(1); >r4(1) : number > : ^^^^^^ >r4 : { (x: number): number; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -146,23 +146,23 @@ var c2: { (x: number): number; (x: T): any; }; var z2 = [a2, b2, c2]; >z2 : { (x: number): number; (x: T): any; }[] -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^ >[a2, b2, c2] : { (x: number): number; (x: T): any; }[] -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^ >a2 : { (x: T): number; (x: string): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b2 : { (x: T): number; (x: string): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c2 : { (x: number): number; (x: T): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ var r6 = z2[0]; >r6 : { (x: number): number; (x: T): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >z2[0] : { (x: number): number; (x: T): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >z2 : { (x: number): number; (x: T): any; }[] -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -170,7 +170,7 @@ var r7 = r6(''); // any not string >r7 : any >r6('') : any >r6 : { (x: number): number; (x: T): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >'' : "" > : ^^ diff --git a/tests/baselines/reference/arrayReferenceWithoutTypeArgs.types b/tests/baselines/reference/arrayReferenceWithoutTypeArgs.types index 1986b06942f71..3477e908a4412 100644 --- a/tests/baselines/reference/arrayReferenceWithoutTypeArgs.types +++ b/tests/baselines/reference/arrayReferenceWithoutTypeArgs.types @@ -6,8 +6,8 @@ class X { > : ^ public f(a: Array) { } ->f : (a: any) => void -> : ^ ^^^^^^^^^^^^^^ +>f : (a: Array) => void +> : ^ ^^ ^^^^^^^^^ >a : any > : ^^^ } diff --git a/tests/baselines/reference/arraySigChecking.types b/tests/baselines/reference/arraySigChecking.types index 225f346d482fc..0161cac12d147 100644 --- a/tests/baselines/reference/arraySigChecking.types +++ b/tests/baselines/reference/arraySigChecking.types @@ -48,11 +48,11 @@ var strArray: string[] = [myVar.voidFn()]; >myVar.voidFn() : void > : ^^^^ >myVar.voidFn : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >myVar : myInt > : ^^^^^ >voidFn : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var myArray: number[][][]; @@ -87,7 +87,7 @@ function isEmpty(l: { length: number }) { >l.length : number > : ^^^^^^ >l : { length: number; } -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^ >length : number > : ^^^^^^ >0 : 0 diff --git a/tests/baselines/reference/arraySlice.types b/tests/baselines/reference/arraySlice.types index afa95b1d8db89..cb3db625c8856 100644 --- a/tests/baselines/reference/arraySlice.types +++ b/tests/baselines/reference/arraySlice.types @@ -9,11 +9,11 @@ arr.splice(1, 1); >arr.splice(1, 1) : string[] | number[] > : ^^^^^^^^^^^^^^^^^^^ >arr.splice : { (start: number, deleteCount?: number): string[]; (start: number, deleteCount: number, ...items: string[]): string[]; } | { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ >arr : string[] | number[] > : ^^^^^^^^^^^^^^^^^^^ >splice : { (start: number, deleteCount?: number): string[]; (start: number, deleteCount: number, ...items: string[]): string[]; } | { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ >1 : 1 > : ^ >1 : 1 diff --git a/tests/baselines/reference/arraySpreadInCall.types b/tests/baselines/reference/arraySpreadInCall.types index 47a8eb46c3072..5bded461fc933 100644 --- a/tests/baselines/reference/arraySpreadInCall.types +++ b/tests/baselines/reference/arraySpreadInCall.types @@ -21,7 +21,7 @@ f1(1, 2, 3, 4, ...[5, 6]); >f1(1, 2, 3, 4, ...[5, 6]) : void > : ^^^^ >f1 : (a: number, b: number, c: number, d: number, e: number, f: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -43,7 +43,7 @@ f1(...[1], 2, 3, 4, 5, 6); >f1(...[1], 2, 3, 4, 5, 6) : void > : ^^^^ >f1 : (a: number, b: number, c: number, d: number, e: number, f: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >...[1] : number > : ^^^^^^ >[1] : [number] @@ -65,7 +65,7 @@ f1(1, 2, ...[3, 4], 5, 6); >f1(1, 2, ...[3, 4], 5, 6) : void > : ^^^^ >f1 : (a: number, b: number, c: number, d: number, e: number, f: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -87,7 +87,7 @@ f1(1, 2, ...[3], 4, ...[5, 6]); >f1(1, 2, ...[3], 4, ...[5, 6]) : void > : ^^^^ >f1 : (a: number, b: number, c: number, d: number, e: number, f: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -113,7 +113,7 @@ f1(...[1, 2], ...[3, 4], ...[5, 6]); >f1(...[1, 2], ...[3, 4], ...[5, 6]) : void > : ^^^^ >f1 : (a: number, b: number, c: number, d: number, e: number, f: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >...[1, 2] : number > : ^^^^^^ >[1, 2] : [number, number] @@ -143,7 +143,7 @@ f1(...(([1, 2])), ...(((([3, 4])))), ...([5, 6])); >f1(...(([1, 2])), ...(((([3, 4])))), ...([5, 6])) : void > : ^^^^ >f1 : (a: number, b: number, c: number, d: number, e: number, f: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >...(([1, 2])) : number > : ^^^^^^ >(([1, 2])) : [number, number] @@ -185,7 +185,7 @@ f1(...(([1, 2])), ...(((([3, 4])))), ...([5, 6])); declare function f2(...args: T): T; >f2 : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >args : T > : ^ @@ -195,7 +195,7 @@ const x21 = f2(...[1, 'foo']) >f2(...[1, 'foo']) : [number, string] > : ^^^^^^^^^^^^^^^^ >f2 : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >...[1, 'foo'] : string | number > : ^^^^^^^^^^^^^^^ >[1, 'foo'] : [number, string] @@ -211,7 +211,7 @@ const x22 = f2(true, ...[1, 'foo']) >f2(true, ...[1, 'foo']) : [boolean, number, string] > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >f2 : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >true : true > : ^^^^ >...[1, 'foo'] : string | number @@ -229,7 +229,7 @@ const x23 = f2(...([1, 'foo'])) >f2(...([1, 'foo'])) : [number, string] > : ^^^^^^^^^^^^^^^^ >f2 : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >...([1, 'foo']) : string | number > : ^^^^^^^^^^^^^^^ >([1, 'foo']) : [number, string] @@ -247,7 +247,7 @@ const x24 = f2(true, ...([1, 'foo'])) >f2(true, ...([1, 'foo'])) : [boolean, number, string] > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >f2 : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >true : true > : ^^^^ >...([1, 'foo']) : string | number @@ -263,7 +263,7 @@ const x24 = f2(true, ...([1, 'foo'])) declare function f3(...args: T): T; >f3 : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >args : T > : ^ @@ -273,7 +273,7 @@ const x31 = f3(...[1, 'foo']) >f3(...[1, 'foo']) : [number, string] > : ^^^^^^^^^^^^^^^^ >f3 : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >...[1, 'foo'] : string | number > : ^^^^^^^^^^^^^^^ >[1, 'foo'] : [number, string] @@ -289,7 +289,7 @@ const x32 = f3(true, ...[1, 'foo']) >f3(true, ...[1, 'foo']) : [boolean, number, string] > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >f3 : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >true : true > : ^^^^ >...[1, 'foo'] : string | number @@ -307,7 +307,7 @@ const x33 = f3(...([1, 'foo'])) >f3(...([1, 'foo'])) : [number, string] > : ^^^^^^^^^^^^^^^^ >f3 : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >...([1, 'foo']) : string | number > : ^^^^^^^^^^^^^^^ >([1, 'foo']) : [number, string] @@ -325,7 +325,7 @@ const x34 = f3(true, ...([1, 'foo'])) >f3(true, ...([1, 'foo'])) : [boolean, number, string] > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >f3 : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >true : true > : ^^^^ >...([1, 'foo']) : string | number @@ -341,7 +341,7 @@ const x34 = f3(true, ...([1, 'foo'])) declare function f4(...args: T): T; >f4 : (...args: T) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >args : T > : ^ @@ -351,7 +351,7 @@ const x41 = f4(...[1, 'foo']) >f4(...[1, 'foo']) : readonly [number, string] > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >f4 : (...args: T) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >...[1, 'foo'] : string | number > : ^^^^^^^^^^^^^^^ >[1, 'foo'] : [number, string] @@ -367,7 +367,7 @@ const x42 = f4(true, ...[1, 'foo']) >f4(true, ...[1, 'foo']) : readonly [true, number, string] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f4 : (...args: T) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >true : true > : ^^^^ >...[1, 'foo'] : string | number @@ -385,7 +385,7 @@ const x43 = f4(...([1, 'foo'])) >f4(...([1, 'foo'])) : readonly [number, string] > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >f4 : (...args: T) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >...([1, 'foo']) : string | number > : ^^^^^^^^^^^^^^^ >([1, 'foo']) : [number, string] @@ -403,7 +403,7 @@ const x44 = f4(true, ...([1, 'foo'])) >f4(true, ...([1, 'foo'])) : readonly [true, number, string] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f4 : (...args: T) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >true : true > : ^^^^ >...([1, 'foo']) : string | number @@ -433,11 +433,11 @@ action.run(...[100, 'foo']) // error >action.run(...[100, 'foo']) : unknown > : ^^^^^^^ >action.run : (event?: unknown) => unknown -> : ^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >action : IAction > : ^^^^^^^ >run : (event?: unknown) => unknown -> : ^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >...[100, 'foo'] : string | number > : ^^^^^^^^^^^^^^^ >[100, 'foo'] : [number, string] diff --git a/tests/baselines/reference/arrayToLocaleStringES2015.types b/tests/baselines/reference/arrayToLocaleStringES2015.types index 35edce161032b..20ef91c8aec44 100644 --- a/tests/baselines/reference/arrayToLocaleStringES2015.types +++ b/tests/baselines/reference/arrayToLocaleStringES2015.types @@ -25,11 +25,11 @@ str = arr.toLocaleString(); // OK >arr.toLocaleString() : string > : ^^^^^^ >arr.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >arr : number[] > : ^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ str = arr.toLocaleString('en-US'); // OK >str = arr.toLocaleString('en-US') : string @@ -39,11 +39,11 @@ str = arr.toLocaleString('en-US'); // OK >arr.toLocaleString('en-US') : string > : ^^^^^^ >arr.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >arr : number[] > : ^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -55,11 +55,11 @@ str = arr.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }); // OK >arr.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >arr.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >arr : number[] > : ^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -95,11 +95,11 @@ str = dates.toLocaleString(); // OK >dates.toLocaleString() : string > : ^^^^^^ >dates.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >dates : readonly Date[] > : ^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ str = dates.toLocaleString('fr'); // OK >str = dates.toLocaleString('fr') : string @@ -109,11 +109,11 @@ str = dates.toLocaleString('fr'); // OK >dates.toLocaleString('fr') : string > : ^^^^^^ >dates.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >dates : readonly Date[] > : ^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'fr' : "fr" > : ^^^^ @@ -125,11 +125,11 @@ str = dates.toLocaleString('fr', { timeZone: 'UTC' }); // OK >dates.toLocaleString('fr', { timeZone: 'UTC' }) : string > : ^^^^^^ >dates.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >dates : readonly Date[] > : ^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'fr' : "fr" > : ^^^^ >{ timeZone: 'UTC' } : { timeZone: string; } @@ -165,11 +165,11 @@ str = mixed.toLocaleString(); // OK >mixed.toLocaleString() : string > : ^^^^^^ >mixed.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >mixed : (number | Date)[] > : ^^^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ str = mixed.toLocaleString('fr'); // OK >str = mixed.toLocaleString('fr') : string @@ -179,11 +179,11 @@ str = mixed.toLocaleString('fr'); // OK >mixed.toLocaleString('fr') : string > : ^^^^^^ >mixed.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >mixed : (number | Date)[] > : ^^^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'fr' : "fr" > : ^^^^ @@ -195,11 +195,11 @@ str = mixed.toLocaleString('de', { style: 'currency', currency: 'EUR' }); // OK >mixed.toLocaleString('de', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >mixed.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >mixed : (number | Date)[] > : ^^^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'de' : "de" > : ^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -221,7 +221,7 @@ str = (mixed as ReadonlyArray).toLocaleString('de', { currency: ' >(mixed as ReadonlyArray).toLocaleString('de', { currency: 'EUR', style: 'currency', timeZone: 'UTC' }) : string > : ^^^^^^ >(mixed as ReadonlyArray).toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >(mixed as ReadonlyArray) : readonly (number | Date)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >mixed as ReadonlyArray : readonly (number | Date)[] @@ -229,7 +229,7 @@ str = (mixed as ReadonlyArray).toLocaleString('de', { currency: ' >mixed : (number | Date)[] > : ^^^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'de' : "de" > : ^^^^ >{ currency: 'EUR', style: 'currency', timeZone: 'UTC' } : { currency: string; style: "currency"; timeZone: string; } @@ -265,11 +265,11 @@ str = int8Array.toLocaleString(); // OK >int8Array.toLocaleString() : string > : ^^^^^^ >int8Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >int8Array : Int8Array > : ^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ str = int8Array.toLocaleString('en-US'); // OK >str = int8Array.toLocaleString('en-US') : string @@ -279,11 +279,11 @@ str = int8Array.toLocaleString('en-US'); // OK >int8Array.toLocaleString('en-US') : string > : ^^^^^^ >int8Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >int8Array : Int8Array > : ^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -295,11 +295,11 @@ str = int8Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }); >int8Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >int8Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >int8Array : Int8Array > : ^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -331,11 +331,11 @@ str = uint8Array.toLocaleString(); // OK >uint8Array.toLocaleString() : string > : ^^^^^^ >uint8Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >uint8Array : Uint8Array > : ^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ str = uint8Array.toLocaleString('en-US'); // OK >str = uint8Array.toLocaleString('en-US') : string @@ -345,11 +345,11 @@ str = uint8Array.toLocaleString('en-US'); // OK >uint8Array.toLocaleString('en-US') : string > : ^^^^^^ >uint8Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >uint8Array : Uint8Array > : ^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -361,11 +361,11 @@ str = uint8Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) >uint8Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >uint8Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >uint8Array : Uint8Array > : ^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -397,11 +397,11 @@ str = uint8ClampedArray.toLocaleString(); // OK >uint8ClampedArray.toLocaleString() : string > : ^^^^^^ >uint8ClampedArray.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >uint8ClampedArray : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ str = uint8ClampedArray.toLocaleString('en-US'); // OK >str = uint8ClampedArray.toLocaleString('en-US') : string @@ -411,11 +411,11 @@ str = uint8ClampedArray.toLocaleString('en-US'); // OK >uint8ClampedArray.toLocaleString('en-US') : string > : ^^^^^^ >uint8ClampedArray.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >uint8ClampedArray : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -427,11 +427,11 @@ str = uint8ClampedArray.toLocaleString('en-US', { style: 'currency', currency: ' >uint8ClampedArray.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >uint8ClampedArray.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >uint8ClampedArray : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -463,11 +463,11 @@ str = int16Array.toLocaleString(); // OK >int16Array.toLocaleString() : string > : ^^^^^^ >int16Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >int16Array : Int16Array > : ^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ str = int16Array.toLocaleString('en-US'); // OK >str = int16Array.toLocaleString('en-US') : string @@ -477,11 +477,11 @@ str = int16Array.toLocaleString('en-US'); // OK >int16Array.toLocaleString('en-US') : string > : ^^^^^^ >int16Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >int16Array : Int16Array > : ^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -493,11 +493,11 @@ str = int16Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) >int16Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >int16Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >int16Array : Int16Array > : ^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -529,11 +529,11 @@ str = uint16Array.toLocaleString(); // OK >uint16Array.toLocaleString() : string > : ^^^^^^ >uint16Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >uint16Array : Uint16Array > : ^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ str = uint16Array.toLocaleString('en-US'); // OK >str = uint16Array.toLocaleString('en-US') : string @@ -543,11 +543,11 @@ str = uint16Array.toLocaleString('en-US'); // OK >uint16Array.toLocaleString('en-US') : string > : ^^^^^^ >uint16Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >uint16Array : Uint16Array > : ^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -559,11 +559,11 @@ str = uint16Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' } >uint16Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >uint16Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >uint16Array : Uint16Array > : ^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -595,11 +595,11 @@ str = int32Array.toLocaleString(); // OK >int32Array.toLocaleString() : string > : ^^^^^^ >int32Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >int32Array : Int32Array > : ^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ str = int32Array.toLocaleString('en-US'); // OK >str = int32Array.toLocaleString('en-US') : string @@ -609,11 +609,11 @@ str = int32Array.toLocaleString('en-US'); // OK >int32Array.toLocaleString('en-US') : string > : ^^^^^^ >int32Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >int32Array : Int32Array > : ^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -625,11 +625,11 @@ str = int32Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) >int32Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >int32Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >int32Array : Int32Array > : ^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -661,11 +661,11 @@ str = uint32Array.toLocaleString(); // OK >uint32Array.toLocaleString() : string > : ^^^^^^ >uint32Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >uint32Array : Uint32Array > : ^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ str = uint32Array.toLocaleString('en-US'); // OK >str = uint32Array.toLocaleString('en-US') : string @@ -675,11 +675,11 @@ str = uint32Array.toLocaleString('en-US'); // OK >uint32Array.toLocaleString('en-US') : string > : ^^^^^^ >uint32Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >uint32Array : Uint32Array > : ^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -691,11 +691,11 @@ str = uint32Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' } >uint32Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >uint32Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >uint32Array : Uint32Array > : ^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -727,11 +727,11 @@ str = float32Array.toLocaleString(); // OK >float32Array.toLocaleString() : string > : ^^^^^^ >float32Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >float32Array : Float32Array > : ^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ str = float32Array.toLocaleString('en-US'); // OK >str = float32Array.toLocaleString('en-US') : string @@ -741,11 +741,11 @@ str = float32Array.toLocaleString('en-US'); // OK >float32Array.toLocaleString('en-US') : string > : ^^^^^^ >float32Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >float32Array : Float32Array > : ^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -757,11 +757,11 @@ str = float32Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' >float32Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >float32Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >float32Array : Float32Array > : ^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -793,11 +793,11 @@ str = float64Array.toLocaleString(); // OK >float64Array.toLocaleString() : string > : ^^^^^^ >float64Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >float64Array : Float64Array > : ^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ str = float64Array.toLocaleString('en-US'); // OK >str = float64Array.toLocaleString('en-US') : string @@ -807,11 +807,11 @@ str = float64Array.toLocaleString('en-US'); // OK >float64Array.toLocaleString('en-US') : string > : ^^^^^^ >float64Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >float64Array : Float64Array > : ^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -823,11 +823,11 @@ str = float64Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' >float64Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >float64Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >float64Array : Float64Array > : ^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } diff --git a/tests/baselines/reference/arrayToLocaleStringES2020.types b/tests/baselines/reference/arrayToLocaleStringES2020.types index 48dc3a6b311b3..1fcd2b0d6195a 100644 --- a/tests/baselines/reference/arrayToLocaleStringES2020.types +++ b/tests/baselines/reference/arrayToLocaleStringES2020.types @@ -25,11 +25,11 @@ str = arr.toLocaleString(); // OK >arr.toLocaleString() : string > : ^^^^^^ >arr.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >arr : number[] > : ^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ str = arr.toLocaleString('en-US'); // OK >str = arr.toLocaleString('en-US') : string @@ -39,11 +39,11 @@ str = arr.toLocaleString('en-US'); // OK >arr.toLocaleString('en-US') : string > : ^^^^^^ >arr.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >arr : number[] > : ^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -55,11 +55,11 @@ str = arr.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }); // OK >arr.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >arr.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >arr : number[] > : ^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -95,11 +95,11 @@ str = dates.toLocaleString(); // OK >dates.toLocaleString() : string > : ^^^^^^ >dates.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >dates : readonly Date[] > : ^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ str = dates.toLocaleString('fr'); // OK >str = dates.toLocaleString('fr') : string @@ -109,11 +109,11 @@ str = dates.toLocaleString('fr'); // OK >dates.toLocaleString('fr') : string > : ^^^^^^ >dates.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >dates : readonly Date[] > : ^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'fr' : "fr" > : ^^^^ @@ -125,11 +125,11 @@ str = dates.toLocaleString('fr', { timeZone: 'UTC' }); // OK >dates.toLocaleString('fr', { timeZone: 'UTC' }) : string > : ^^^^^^ >dates.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >dates : readonly Date[] > : ^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'fr' : "fr" > : ^^^^ >{ timeZone: 'UTC' } : { timeZone: string; } @@ -165,11 +165,11 @@ str = mixed.toLocaleString(); // OK >mixed.toLocaleString() : string > : ^^^^^^ >mixed.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >mixed : (number | Date)[] > : ^^^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ str = mixed.toLocaleString('de', { style: 'currency', currency: 'EUR' }); // OK >str = mixed.toLocaleString('de', { style: 'currency', currency: 'EUR' }) : string @@ -179,11 +179,11 @@ str = mixed.toLocaleString('de', { style: 'currency', currency: 'EUR' }); // OK >mixed.toLocaleString('de', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >mixed.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >mixed : (number | Date)[] > : ^^^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'de' : "de" > : ^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -205,7 +205,7 @@ str = (mixed as ReadonlyArray).toLocaleString('de', { currency: ' >(mixed as ReadonlyArray).toLocaleString('de', { currency: 'EUR', style: 'currency', timeZone: 'UTC' }) : string > : ^^^^^^ >(mixed as ReadonlyArray).toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >(mixed as ReadonlyArray) : readonly (number | Date)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >mixed as ReadonlyArray : readonly (number | Date)[] @@ -213,7 +213,7 @@ str = (mixed as ReadonlyArray).toLocaleString('de', { currency: ' >mixed : (number | Date)[] > : ^^^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'de' : "de" > : ^^^^ >{ currency: 'EUR', style: 'currency', timeZone: 'UTC' } : { currency: string; style: "currency"; timeZone: string; } @@ -263,11 +263,11 @@ str = bigInts.toLocaleString(); // OK >bigInts.toLocaleString() : string > : ^^^^^^ >bigInts.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >bigInts : bigint[] > : ^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ str = bigInts.toLocaleString('en-US'); // OK >str = bigInts.toLocaleString('en-US') : string @@ -277,11 +277,11 @@ str = bigInts.toLocaleString('en-US'); // OK >bigInts.toLocaleString('en-US') : string > : ^^^^^^ >bigInts.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >bigInts : bigint[] > : ^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -293,11 +293,11 @@ str = bigInts.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }); / >bigInts.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >bigInts.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >bigInts : bigint[] > : ^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -329,11 +329,11 @@ str = int8Array.toLocaleString(); // OK >int8Array.toLocaleString() : string > : ^^^^^^ >int8Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >int8Array : Int8Array > : ^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ str = int8Array.toLocaleString('en-US'); // OK >str = int8Array.toLocaleString('en-US') : string @@ -343,11 +343,11 @@ str = int8Array.toLocaleString('en-US'); // OK >int8Array.toLocaleString('en-US') : string > : ^^^^^^ >int8Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >int8Array : Int8Array > : ^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -359,11 +359,11 @@ str = int8Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }); >int8Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >int8Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >int8Array : Int8Array > : ^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -395,11 +395,11 @@ str = uint8Array.toLocaleString(); // OK >uint8Array.toLocaleString() : string > : ^^^^^^ >uint8Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >uint8Array : Uint8Array > : ^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ str = uint8Array.toLocaleString('en-US'); // OK >str = uint8Array.toLocaleString('en-US') : string @@ -409,11 +409,11 @@ str = uint8Array.toLocaleString('en-US'); // OK >uint8Array.toLocaleString('en-US') : string > : ^^^^^^ >uint8Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >uint8Array : Uint8Array > : ^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -425,11 +425,11 @@ str = uint8Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) >uint8Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >uint8Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >uint8Array : Uint8Array > : ^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -461,11 +461,11 @@ str = uint8ClampedArray.toLocaleString(); // OK >uint8ClampedArray.toLocaleString() : string > : ^^^^^^ >uint8ClampedArray.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >uint8ClampedArray : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ str = uint8ClampedArray.toLocaleString('en-US'); // OK >str = uint8ClampedArray.toLocaleString('en-US') : string @@ -475,11 +475,11 @@ str = uint8ClampedArray.toLocaleString('en-US'); // OK >uint8ClampedArray.toLocaleString('en-US') : string > : ^^^^^^ >uint8ClampedArray.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >uint8ClampedArray : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -491,11 +491,11 @@ str = uint8ClampedArray.toLocaleString('en-US', { style: 'currency', currency: ' >uint8ClampedArray.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >uint8ClampedArray.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >uint8ClampedArray : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -527,11 +527,11 @@ str = int16Array.toLocaleString(); // OK >int16Array.toLocaleString() : string > : ^^^^^^ >int16Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >int16Array : Int16Array > : ^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ str = int16Array.toLocaleString('en-US'); // OK >str = int16Array.toLocaleString('en-US') : string @@ -541,11 +541,11 @@ str = int16Array.toLocaleString('en-US'); // OK >int16Array.toLocaleString('en-US') : string > : ^^^^^^ >int16Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >int16Array : Int16Array > : ^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -557,11 +557,11 @@ str = int16Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) >int16Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >int16Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >int16Array : Int16Array > : ^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -593,11 +593,11 @@ str = uint16Array.toLocaleString(); // OK >uint16Array.toLocaleString() : string > : ^^^^^^ >uint16Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >uint16Array : Uint16Array > : ^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ str = uint16Array.toLocaleString('en-US'); // OK >str = uint16Array.toLocaleString('en-US') : string @@ -607,11 +607,11 @@ str = uint16Array.toLocaleString('en-US'); // OK >uint16Array.toLocaleString('en-US') : string > : ^^^^^^ >uint16Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >uint16Array : Uint16Array > : ^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -623,11 +623,11 @@ str = uint16Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' } >uint16Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >uint16Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >uint16Array : Uint16Array > : ^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -659,11 +659,11 @@ str = int32Array.toLocaleString(); // OK >int32Array.toLocaleString() : string > : ^^^^^^ >int32Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >int32Array : Int32Array > : ^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ str = int32Array.toLocaleString('en-US'); // OK >str = int32Array.toLocaleString('en-US') : string @@ -673,11 +673,11 @@ str = int32Array.toLocaleString('en-US'); // OK >int32Array.toLocaleString('en-US') : string > : ^^^^^^ >int32Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >int32Array : Int32Array > : ^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -689,11 +689,11 @@ str = int32Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) >int32Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >int32Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >int32Array : Int32Array > : ^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -725,11 +725,11 @@ str = uint32Array.toLocaleString(); // OK >uint32Array.toLocaleString() : string > : ^^^^^^ >uint32Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >uint32Array : Uint32Array > : ^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ str = uint32Array.toLocaleString('en-US'); // OK >str = uint32Array.toLocaleString('en-US') : string @@ -739,11 +739,11 @@ str = uint32Array.toLocaleString('en-US'); // OK >uint32Array.toLocaleString('en-US') : string > : ^^^^^^ >uint32Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >uint32Array : Uint32Array > : ^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -755,11 +755,11 @@ str = uint32Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' } >uint32Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >uint32Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >uint32Array : Uint32Array > : ^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -791,11 +791,11 @@ str = float32Array.toLocaleString(); // OK >float32Array.toLocaleString() : string > : ^^^^^^ >float32Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >float32Array : Float32Array > : ^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ str = float32Array.toLocaleString('en-US'); // OK >str = float32Array.toLocaleString('en-US') : string @@ -805,11 +805,11 @@ str = float32Array.toLocaleString('en-US'); // OK >float32Array.toLocaleString('en-US') : string > : ^^^^^^ >float32Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >float32Array : Float32Array > : ^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -821,11 +821,11 @@ str = float32Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' >float32Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >float32Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >float32Array : Float32Array > : ^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -857,11 +857,11 @@ str = float64Array.toLocaleString(); // OK >float64Array.toLocaleString() : string > : ^^^^^^ >float64Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >float64Array : Float64Array > : ^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ str = float64Array.toLocaleString('en-US'); // OK >str = float64Array.toLocaleString('en-US') : string @@ -871,11 +871,11 @@ str = float64Array.toLocaleString('en-US'); // OK >float64Array.toLocaleString('en-US') : string > : ^^^^^^ >float64Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >float64Array : Float64Array > : ^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -887,11 +887,11 @@ str = float64Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' >float64Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >float64Array.toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >float64Array : Float64Array > : ^^^^^^^^^^^^ >toLocaleString : { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -923,11 +923,11 @@ str = bigInt64Array.toLocaleString(); // OK >bigInt64Array.toLocaleString() : string > : ^^^^^^ >bigInt64Array.toLocaleString : (locales?: string | string[], options?: Intl.NumberFormatOptions) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >bigInt64Array : BigInt64Array > : ^^^^^^^^^^^^^ >toLocaleString : (locales?: string | string[], options?: Intl.NumberFormatOptions) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ str = bigInt64Array.toLocaleString('en-US'); // OK >str = bigInt64Array.toLocaleString('en-US') : string @@ -937,11 +937,11 @@ str = bigInt64Array.toLocaleString('en-US'); // OK >bigInt64Array.toLocaleString('en-US') : string > : ^^^^^^ >bigInt64Array.toLocaleString : (locales?: string | string[], options?: Intl.NumberFormatOptions) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >bigInt64Array : BigInt64Array > : ^^^^^^^^^^^^^ >toLocaleString : (locales?: string | string[], options?: Intl.NumberFormatOptions) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -953,11 +953,11 @@ str = bigInt64Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' >bigInt64Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >bigInt64Array.toLocaleString : (locales?: string | string[], options?: Intl.NumberFormatOptions) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >bigInt64Array : BigInt64Array > : ^^^^^^^^^^^^^ >toLocaleString : (locales?: string | string[], options?: Intl.NumberFormatOptions) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } @@ -989,11 +989,11 @@ str = bigIntUint64Array.toLocaleString(); // OK >bigIntUint64Array.toLocaleString() : string > : ^^^^^^ >bigIntUint64Array.toLocaleString : (locales?: string | string[], options?: Intl.NumberFormatOptions) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >bigIntUint64Array : BigUint64Array > : ^^^^^^^^^^^^^^ >toLocaleString : (locales?: string | string[], options?: Intl.NumberFormatOptions) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ str = bigIntUint64Array.toLocaleString('en-US'); // OK >str = bigIntUint64Array.toLocaleString('en-US') : string @@ -1003,11 +1003,11 @@ str = bigIntUint64Array.toLocaleString('en-US'); // OK >bigIntUint64Array.toLocaleString('en-US') : string > : ^^^^^^ >bigIntUint64Array.toLocaleString : (locales?: string | string[], options?: Intl.NumberFormatOptions) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >bigIntUint64Array : BigUint64Array > : ^^^^^^^^^^^^^^ >toLocaleString : (locales?: string | string[], options?: Intl.NumberFormatOptions) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -1019,11 +1019,11 @@ str = bigIntUint64Array.toLocaleString('en-US', { style: 'currency', currency: ' >bigIntUint64Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >bigIntUint64Array.toLocaleString : (locales?: string | string[], options?: Intl.NumberFormatOptions) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >bigIntUint64Array : BigUint64Array > : ^^^^^^^^^^^^^^ >toLocaleString : (locales?: string | string[], options?: Intl.NumberFormatOptions) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: "currency"; currency: string; } diff --git a/tests/baselines/reference/arrayToLocaleStringES5.types b/tests/baselines/reference/arrayToLocaleStringES5.types index d3b979714f01b..1ecc6c27e373e 100644 --- a/tests/baselines/reference/arrayToLocaleStringES5.types +++ b/tests/baselines/reference/arrayToLocaleStringES5.types @@ -25,11 +25,11 @@ str = arr.toLocaleString(); // OK >arr.toLocaleString() : string > : ^^^^^^ >arr.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >arr : number[] > : ^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ str = arr.toLocaleString('en-US'); // should be error >str = arr.toLocaleString('en-US') : string @@ -39,11 +39,11 @@ str = arr.toLocaleString('en-US'); // should be error >arr.toLocaleString('en-US') : string > : ^^^^^^ >arr.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >arr : number[] > : ^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -55,11 +55,11 @@ str = arr.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }); // sh >arr.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >arr.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >arr : number[] > : ^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: string; currency: string; } @@ -95,11 +95,11 @@ str = dates.toLocaleString(); // OK >dates.toLocaleString() : string > : ^^^^^^ >dates.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >dates : readonly Date[] > : ^^^^^^^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ str = dates.toLocaleString('fr'); // should be error >str = dates.toLocaleString('fr') : string @@ -109,11 +109,11 @@ str = dates.toLocaleString('fr'); // should be error >dates.toLocaleString('fr') : string > : ^^^^^^ >dates.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >dates : readonly Date[] > : ^^^^^^^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >'fr' : "fr" > : ^^^^ @@ -125,11 +125,11 @@ str = dates.toLocaleString('fr', { timeZone: 'UTC' }); // should be error >dates.toLocaleString('fr', { timeZone: 'UTC' }) : string > : ^^^^^^ >dates.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >dates : readonly Date[] > : ^^^^^^^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >'fr' : "fr" > : ^^^^ >{ timeZone: 'UTC' } : { timeZone: string; } @@ -157,11 +157,11 @@ str = int8Array.toLocaleString(); // OK >int8Array.toLocaleString() : string > : ^^^^^^ >int8Array.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >int8Array : Int8Array > : ^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ str = int8Array.toLocaleString('en-US'); // should be error >str = int8Array.toLocaleString('en-US') : string @@ -171,11 +171,11 @@ str = int8Array.toLocaleString('en-US'); // should be error >int8Array.toLocaleString('en-US') : string > : ^^^^^^ >int8Array.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >int8Array : Int8Array > : ^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -187,11 +187,11 @@ str = int8Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }); >int8Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >int8Array.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >int8Array : Int8Array > : ^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: string; currency: string; } @@ -223,11 +223,11 @@ str = uint8Array.toLocaleString(); // OK >uint8Array.toLocaleString() : string > : ^^^^^^ >uint8Array.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >uint8Array : Uint8Array > : ^^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ str = uint8Array.toLocaleString('en-US'); // should be error >str = uint8Array.toLocaleString('en-US') : string @@ -237,11 +237,11 @@ str = uint8Array.toLocaleString('en-US'); // should be error >uint8Array.toLocaleString('en-US') : string > : ^^^^^^ >uint8Array.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >uint8Array : Uint8Array > : ^^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -253,11 +253,11 @@ str = uint8Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) >uint8Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >uint8Array.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >uint8Array : Uint8Array > : ^^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: string; currency: string; } @@ -289,11 +289,11 @@ str = uint8ClampedArray.toLocaleString(); // OK >uint8ClampedArray.toLocaleString() : string > : ^^^^^^ >uint8ClampedArray.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >uint8ClampedArray : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ str = uint8ClampedArray.toLocaleString('en-US'); // should be error >str = uint8ClampedArray.toLocaleString('en-US') : string @@ -303,11 +303,11 @@ str = uint8ClampedArray.toLocaleString('en-US'); // should be error >uint8ClampedArray.toLocaleString('en-US') : string > : ^^^^^^ >uint8ClampedArray.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >uint8ClampedArray : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -319,11 +319,11 @@ str = uint8ClampedArray.toLocaleString('en-US', { style: 'currency', currency: ' >uint8ClampedArray.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >uint8ClampedArray.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >uint8ClampedArray : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: string; currency: string; } @@ -355,11 +355,11 @@ str = int16Array.toLocaleString(); // OK >int16Array.toLocaleString() : string > : ^^^^^^ >int16Array.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >int16Array : Int16Array > : ^^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ str = int16Array.toLocaleString('en-US'); // should be error >str = int16Array.toLocaleString('en-US') : string @@ -369,11 +369,11 @@ str = int16Array.toLocaleString('en-US'); // should be error >int16Array.toLocaleString('en-US') : string > : ^^^^^^ >int16Array.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >int16Array : Int16Array > : ^^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -385,11 +385,11 @@ str = int16Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) >int16Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >int16Array.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >int16Array : Int16Array > : ^^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: string; currency: string; } @@ -421,11 +421,11 @@ str = uint16Array.toLocaleString(); // OK >uint16Array.toLocaleString() : string > : ^^^^^^ >uint16Array.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >uint16Array : Uint16Array > : ^^^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ str = uint16Array.toLocaleString('en-US'); // should be error >str = uint16Array.toLocaleString('en-US') : string @@ -435,11 +435,11 @@ str = uint16Array.toLocaleString('en-US'); // should be error >uint16Array.toLocaleString('en-US') : string > : ^^^^^^ >uint16Array.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >uint16Array : Uint16Array > : ^^^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -451,11 +451,11 @@ str = uint16Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' } >uint16Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >uint16Array.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >uint16Array : Uint16Array > : ^^^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: string; currency: string; } @@ -487,11 +487,11 @@ str = int32Array.toLocaleString(); // OK >int32Array.toLocaleString() : string > : ^^^^^^ >int32Array.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >int32Array : Int32Array > : ^^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ str = int32Array.toLocaleString('en-US'); // should be error >str = int32Array.toLocaleString('en-US') : string @@ -501,11 +501,11 @@ str = int32Array.toLocaleString('en-US'); // should be error >int32Array.toLocaleString('en-US') : string > : ^^^^^^ >int32Array.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >int32Array : Int32Array > : ^^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -517,11 +517,11 @@ str = int32Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) >int32Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >int32Array.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >int32Array : Int32Array > : ^^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: string; currency: string; } @@ -553,11 +553,11 @@ str = uint32Array.toLocaleString(); // OK >uint32Array.toLocaleString() : string > : ^^^^^^ >uint32Array.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >uint32Array : Uint32Array > : ^^^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ str = uint32Array.toLocaleString('en-US'); // should be error >str = uint32Array.toLocaleString('en-US') : string @@ -567,11 +567,11 @@ str = uint32Array.toLocaleString('en-US'); // should be error >uint32Array.toLocaleString('en-US') : string > : ^^^^^^ >uint32Array.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >uint32Array : Uint32Array > : ^^^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -583,11 +583,11 @@ str = uint32Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' } >uint32Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >uint32Array.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >uint32Array : Uint32Array > : ^^^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: string; currency: string; } @@ -619,11 +619,11 @@ str = float32Array.toLocaleString(); // OK >float32Array.toLocaleString() : string > : ^^^^^^ >float32Array.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >float32Array : Float32Array > : ^^^^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ str = float32Array.toLocaleString('en-US'); // should be error >str = float32Array.toLocaleString('en-US') : string @@ -633,11 +633,11 @@ str = float32Array.toLocaleString('en-US'); // should be error >float32Array.toLocaleString('en-US') : string > : ^^^^^^ >float32Array.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >float32Array : Float32Array > : ^^^^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -649,11 +649,11 @@ str = float32Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' >float32Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >float32Array.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >float32Array : Float32Array > : ^^^^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: string; currency: string; } @@ -685,11 +685,11 @@ str = float64Array.toLocaleString(); // OK >float64Array.toLocaleString() : string > : ^^^^^^ >float64Array.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >float64Array : Float64Array > : ^^^^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ str = float64Array.toLocaleString('en-US'); // should be error >str = float64Array.toLocaleString('en-US') : string @@ -699,11 +699,11 @@ str = float64Array.toLocaleString('en-US'); // should be error >float64Array.toLocaleString('en-US') : string > : ^^^^^^ >float64Array.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >float64Array : Float64Array > : ^^^^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ @@ -715,11 +715,11 @@ str = float64Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' >float64Array.toLocaleString('en-US', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >float64Array.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >float64Array : Float64Array > : ^^^^^^^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: string; currency: string; } diff --git a/tests/baselines/reference/arrayTypeOfFunctionTypes.types b/tests/baselines/reference/arrayTypeOfFunctionTypes.types index ef1b8c37c9b35..b54f47ff407e1 100644 --- a/tests/baselines/reference/arrayTypeOfFunctionTypes.types +++ b/tests/baselines/reference/arrayTypeOfFunctionTypes.types @@ -13,7 +13,7 @@ var r = x[1]; >x[1] : any > : ^^^ >x : () => string[] -> : ^^^^^^^^^^^^^^ +> : ^^^^^^ >1 : 1 > : ^ @@ -39,11 +39,11 @@ var x2: { (): string }[]; var r3 = x2[1]; >r3 : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x2[1] : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x2 : (() => string)[] -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >1 : 1 > : ^ @@ -53,7 +53,7 @@ var r4 = r3(); >r3() : string > : ^^^^^^ >r3 : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var r4b = new r3(); // error >r4b : any @@ -61,7 +61,7 @@ var r4b = new r3(); // error >new r3() : any > : ^^^ >r3 : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var x3: Array<() => string>; >x3 : (() => string)[] @@ -69,11 +69,11 @@ var x3: Array<() => string>; var r5 = x2[1]; >r5 : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x2[1] : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x2 : (() => string)[] -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >1 : 1 > : ^ @@ -83,7 +83,7 @@ var r6 = r5(); >r5() : string > : ^^^^^^ >r5 : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var r6b = new r5(); // error >r6b : any @@ -91,5 +91,5 @@ var r6b = new r5(); // error >new r5() : any > : ^^^ >r5 : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/arrayTypeOfFunctionTypes2.types b/tests/baselines/reference/arrayTypeOfFunctionTypes2.types index 752d2a844ed93..c86b7e79aff22 100644 --- a/tests/baselines/reference/arrayTypeOfFunctionTypes2.types +++ b/tests/baselines/reference/arrayTypeOfFunctionTypes2.types @@ -13,7 +13,7 @@ var r = x[1]; >x[1] : any > : ^^^ >x : new () => string[] -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >1 : 1 > : ^ @@ -43,7 +43,7 @@ var r3 = x[1]; >x[1] : any > : ^^^ >x : new () => string[] -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >1 : 1 > : ^ @@ -69,11 +69,11 @@ var x3: Array string>; var r5 = x2[1]; >r5 : new () => string -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >x2[1] : new () => string -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >x2 : (new () => string)[] -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^ >1 : 1 > : ^ @@ -83,7 +83,7 @@ var r6 = new r5(); >new r5() : string > : ^^^^^^ >r5 : new () => string -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r6b = r5(); >r6b : any @@ -91,5 +91,5 @@ var r6b = r5(); >r5() : any > : ^^^ >r5 : new () => string -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ diff --git a/tests/baselines/reference/arrayconcat.types b/tests/baselines/reference/arrayconcat.types index 79e18e83d8965..6cdcb06d06a7f 100644 --- a/tests/baselines/reference/arrayconcat.types +++ b/tests/baselines/reference/arrayconcat.types @@ -57,7 +57,7 @@ class parser { >this.options.sort(function(a, b) { var aName = a.name.toLowerCase(); var bName = b.name.toLowerCase(); if (aName > bName) { return 1; } else if (aName < bName) { return -1; } else { return 0; } }) : IOptions[] > : ^^^^^^^^^^ >this.options.sort : (compareFn?: (a: IOptions, b: IOptions) => number) => IOptions[] -> : ^ ^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >this.options : IOptions[] > : ^^^^^^^^^^ >this : this @@ -65,7 +65,7 @@ class parser { >options : IOptions[] > : ^^^^^^^^^^ >sort : (compareFn?: (a: IOptions, b: IOptions) => number) => IOptions[] -> : ^ ^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >function(a, b) { var aName = a.name.toLowerCase(); var bName = b.name.toLowerCase(); if (aName > bName) { return 1; } else if (aName < bName) { return -1; } else { return 0; } } : (a: IOptions, b: IOptions) => 1 | -1 | 0 > : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : IOptions @@ -79,7 +79,7 @@ class parser { >a.name.toLowerCase() : string > : ^^^^^^ >a.name.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >a.name : string > : ^^^^^^ >a : IOptions @@ -87,7 +87,7 @@ class parser { >name : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var bName = b.name.toLowerCase(); >bName : string @@ -95,7 +95,7 @@ class parser { >b.name.toLowerCase() : string > : ^^^^^^ >b.name.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >b.name : string > : ^^^^^^ >b : IOptions @@ -103,7 +103,7 @@ class parser { >name : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ if (aName > bName) { >aName > bName : boolean diff --git a/tests/baselines/reference/arrowFunctionContexts.types b/tests/baselines/reference/arrowFunctionContexts.types index b1d0eca2c8b87..d9b147d2034c8 100644 --- a/tests/baselines/reference/arrowFunctionContexts.types +++ b/tests/baselines/reference/arrowFunctionContexts.types @@ -49,11 +49,11 @@ window.setTimeout(() => null, 100); >window.setTimeout(() => null, 100) : number > : ^^^^^^ >window.setTimeout : ((handler: TimerHandler, timeout?: number, ...arguments: any[]) => number) & ((handler: TimerHandler, timeout?: number, ...arguments: any[]) => number) -> : ^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ ^ >window : Window & typeof globalThis > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >setTimeout : ((handler: TimerHandler, timeout?: number, ...arguments: any[]) => number) & ((handler: TimerHandler, timeout?: number, ...arguments: any[]) => number) -> : ^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ ^ >() => null : () => any > : ^^^^^^^^^ >100 : 100 @@ -202,11 +202,11 @@ module M2 { >window.setTimeout(() => null, 100) : number > : ^^^^^^ >window.setTimeout : ((handler: TimerHandler, timeout?: number, ...arguments: any[]) => number) & ((handler: TimerHandler, timeout?: number, ...arguments: any[]) => number) -> : ^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ ^ >window : Window & typeof globalThis > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >setTimeout : ((handler: TimerHandler, timeout?: number, ...arguments: any[]) => number) & ((handler: TimerHandler, timeout?: number, ...arguments: any[]) => number) -> : ^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ ^ >() => null : () => any > : ^^^^^^^^^ >100 : 100 diff --git a/tests/baselines/reference/arrowFunctionExpressions.types b/tests/baselines/reference/arrowFunctionExpressions.types index d1bb3035b7a4c..8bf8f07feb260 100644 --- a/tests/baselines/reference/arrowFunctionExpressions.types +++ b/tests/baselines/reference/arrowFunctionExpressions.types @@ -314,7 +314,7 @@ function someFn() { >arr(3)(4).toExponential() : string > : ^^^^^^ >arr(3)(4).toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >arr(3)(4) : number > : ^^^^^^ >arr(3) : (p: number) => number @@ -326,7 +326,7 @@ function someFn() { >4 : 4 > : ^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } // Arrow function used in function @@ -352,7 +352,7 @@ function someOtherFn() { >arr(4).charAt(0) : string > : ^^^^^^ >arr(4).charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >arr(4) : string > : ^^^^^^ >arr : (n: number) => string @@ -360,7 +360,7 @@ function someOtherFn() { >4 : 4 > : ^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ } @@ -499,11 +499,11 @@ h.toExponential(); >h.toExponential() : string > : ^^^^^^ >h.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >h : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ // Arrow function used in try/catch/finally in function function tryCatchFn() { diff --git a/tests/baselines/reference/asOperator3.types b/tests/baselines/reference/asOperator3.types index 3aa9f17b2c7e4..d74ba8200ccb7 100644 --- a/tests/baselines/reference/asOperator3.types +++ b/tests/baselines/reference/asOperator3.types @@ -88,7 +88,7 @@ var g = tag `Hello ${123} World` as string; > : ^^^^^^ >tag `Hello ${123} World` : any >tag : (...x: any[]) => any -> : ^^^^ ^^ ^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >`Hello ${123} World` : string > : ^^^^^^ >123 : 123 @@ -101,7 +101,7 @@ var h = tag `Hello` as string; > : ^^^^^^ >tag `Hello` : any >tag : (...x: any[]) => any -> : ^^^^ ^^ ^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >`Hello` : "Hello" > : ^^^^^^^ diff --git a/tests/baselines/reference/assertInWrapSomeTypeParameter.types b/tests/baselines/reference/assertInWrapSomeTypeParameter.types index 2739028c7e116..f0bd1575914de 100644 --- a/tests/baselines/reference/assertInWrapSomeTypeParameter.types +++ b/tests/baselines/reference/assertInWrapSomeTypeParameter.types @@ -7,7 +7,7 @@ class C> { foo>(x: U) { >foo : >>(x: U) => any -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ >x : U > : ^ diff --git a/tests/baselines/reference/assertionFunctionWildcardImport1.types b/tests/baselines/reference/assertionFunctionWildcardImport1.types index edcbefa024299..8bc549710481e 100644 --- a/tests/baselines/reference/assertionFunctionWildcardImport1.types +++ b/tests/baselines/reference/assertionFunctionWildcardImport1.types @@ -30,7 +30,7 @@ ts.Debug.assert(true); >ts.Debug.assert(true) : void > : ^^^^ >ts.Debug.assert : (expression: unknown) => asserts expression -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >ts.Debug : typeof ts.Debug > : ^^^^^^^^^^^^^^^ >ts : typeof ts @@ -38,7 +38,7 @@ ts.Debug.assert(true); >Debug : typeof ts.Debug > : ^^^^^^^^^^^^^^^ >assert : (expression: unknown) => asserts expression -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >true : true > : ^^^^ @@ -46,11 +46,11 @@ Debug.assert(true); >Debug.assert(true) : void > : ^^^^ >Debug.assert : (expression: unknown) => asserts expression -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Debug : typeof ts.Debug > : ^^^^^^^^^^^^^^^ >assert : (expression: unknown) => asserts expression -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >true : true > : ^^^^ @@ -73,7 +73,7 @@ ts.Debug.assert(true); >ts.Debug.assert(true) : void > : ^^^^ >ts.Debug.assert : (expression: unknown) => asserts expression -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >ts.Debug : typeof ts.Debug > : ^^^^^^^^^^^^^^^ >ts : typeof ts @@ -81,7 +81,7 @@ ts.Debug.assert(true); >Debug : typeof ts.Debug > : ^^^^^^^^^^^^^^^ >assert : (expression: unknown) => asserts expression -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >true : true > : ^^^^ @@ -89,11 +89,11 @@ 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 index ddc8713a11fd5..4d1beeec12f3c 100644 --- a/tests/baselines/reference/assertionFunctionWildcardImport2.js +++ b/tests/baselines/reference/assertionFunctionWildcardImport2.js @@ -23,7 +23,7 @@ function test(obj: string | null): void { //// [asserts.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.isNonNullable = void 0; +exports.isNonNullable = isNonNullable; function isNonNullable(obj) { if (obj === undefined || obj === null) { throw new Error("Must not be a nullable value"); diff --git a/tests/baselines/reference/assertionFunctionWildcardImport2.types b/tests/baselines/reference/assertionFunctionWildcardImport2.types index b74240fbf1d94..bf742e7e4de48 100644 --- a/tests/baselines/reference/assertionFunctionWildcardImport2.types +++ b/tests/baselines/reference/assertionFunctionWildcardImport2.types @@ -34,7 +34,7 @@ function isNonNullable(obj: T): asserts obj is NonNullable { export { isNonNullable >isNonNullable : (obj: T) => asserts obj is NonNullable -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ }; @@ -53,11 +53,11 @@ function test(obj: string | null): void { >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 > : ^^^^^^^^^^^^^ @@ -65,10 +65,10 @@ function test(obj: string | null): void { >obj.trim() : string > : ^^^^^^ >obj.trim : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >obj : string > : ^^^^^^ >trim : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/assertionFunctionsCanNarrowByDiscriminant.types b/tests/baselines/reference/assertionFunctionsCanNarrowByDiscriminant.types index deb93da51bc93..cac49b5bdf977 100644 --- a/tests/baselines/reference/assertionFunctionsCanNarrowByDiscriminant.types +++ b/tests/baselines/reference/assertionFunctionsCanNarrowByDiscriminant.types @@ -56,7 +56,7 @@ assertEqual(animal.type, 'cat' as const); >assertEqual(animal.type, 'cat' as const) : void > : ^^^^ >assertEqual : (value: any, type: T) => asserts value is T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >animal.type : "cat" | "dog" > : ^^^^^^^^^^^^^ >animal : Animal @@ -96,7 +96,7 @@ assertEqual(animalOrUndef?.type, 'cat' as const); >assertEqual(animalOrUndef?.type, 'cat' as const) : void > : ^^^^ >assertEqual : (value: any, type: T) => asserts value is T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >animalOrUndef?.type : "cat" | "dog" | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >animalOrUndef : Animal | undefined diff --git a/tests/baselines/reference/assertionTypePredicates1.types b/tests/baselines/reference/assertionTypePredicates1.types index e1670c5b5822f..079224ba5369b 100644 --- a/tests/baselines/reference/assertionTypePredicates1.types +++ b/tests/baselines/reference/assertionTypePredicates1.types @@ -59,7 +59,7 @@ function f01(x: unknown) { >assert(typeof x === "string") : void > : ^^^^ >assert : (value: unknown) => asserts value -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >typeof x === "string" : boolean > : ^^^^^^^ >typeof x : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" @@ -89,7 +89,7 @@ function f01(x: unknown) { >assert(x instanceof Error) : void > : ^^^^ >assert : (value: unknown) => asserts value -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x instanceof Error : boolean > : ^^^^^^^ >x : unknown @@ -117,7 +117,7 @@ function f01(x: unknown) { >assert(typeof x === "boolean" || typeof x === "number") : void > : ^^^^ >assert : (value: unknown) => asserts value -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >typeof x === "boolean" || typeof x === "number" : boolean > : ^^^^^^^ >typeof x === "boolean" : boolean @@ -139,11 +139,11 @@ function f01(x: unknown) { x.toLocaleString; >x.toLocaleString : ((locales?: string | string[], options?: Intl.NumberFormatOptions) => string) | (() => string) -> : ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^ ^ >x : number | boolean > : ^^^^^^^^^^^^^^^^ >toLocaleString : ((locales?: string | string[], options?: Intl.NumberFormatOptions) => string) | (() => string) -> : ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^ ^ } if (!!true) { >!!true : true @@ -157,11 +157,11 @@ function f01(x: unknown) { >assert(isArrayOfStrings(x)) : void > : ^^^^ >assert : (value: unknown) => asserts value -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >isArrayOfStrings(x) : boolean > : ^^^^^^^ >isArrayOfStrings : (value: unknown) => value is string[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : unknown > : ^^^^^^^ @@ -189,7 +189,7 @@ function f01(x: unknown) { >assertIsArrayOfStrings(x) : void > : ^^^^ >assertIsArrayOfStrings : (value: unknown) => asserts value is string[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : unknown > : ^^^^^^^ @@ -217,7 +217,7 @@ function f01(x: unknown) { >assertIsArrayOfStrings(false) : void > : ^^^^ >assertIsArrayOfStrings : (value: unknown) => asserts value is string[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >false : false > : ^^^^^ @@ -237,7 +237,7 @@ function f01(x: unknown) { >assert(x === undefined || typeof x === "string") : void > : ^^^^ >assert : (value: unknown) => asserts value -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x === undefined || typeof x === "string" : boolean > : ^^^^^^^ >x === undefined : boolean @@ -263,7 +263,7 @@ function f01(x: unknown) { >assertDefined(x) : void > : ^^^^ >assertDefined : (value: T) => asserts value is NonNullable -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -283,7 +283,7 @@ function f01(x: unknown) { >assert(false) : void > : ^^^^ >assert : (value: unknown) => asserts value -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >false : false > : ^^^^^ @@ -303,7 +303,7 @@ function f01(x: unknown) { >assert(false && x === undefined) : void > : ^^^^ >assert : (value: unknown) => asserts value -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >false && x === undefined : false > : ^^^^^ >false : false @@ -339,7 +339,7 @@ function f02(x: string | undefined) { >assert(x) : void > : ^^^^ >assert : (value: unknown) => asserts value -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -363,7 +363,7 @@ function f02(x: string | undefined) { >assert(x !== undefined) : void > : ^^^^ >assert : (value: unknown) => asserts value -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x !== undefined : boolean > : ^^^^^^^ >x : string | undefined @@ -391,7 +391,7 @@ function f02(x: string | undefined) { >assertDefined(x) : void > : ^^^^ >assertDefined : (value: T) => asserts value is NonNullable -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -419,7 +419,7 @@ function f03(x: string | undefined, assert: (value: unknown) => asserts value) { >assert(x) : void > : ^^^^ >assert : (value: unknown) => asserts value -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -469,11 +469,11 @@ function f10(x: string | undefined) { >Debug.assert(x) : void > : ^^^^ >Debug.assert : (value: unknown, message?: string) => asserts value -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >Debug : typeof Debug > : ^^^^^^^^^^^^ >assert : (value: unknown, message?: string) => asserts value -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >x : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -497,11 +497,11 @@ function f10(x: string | undefined) { >Debug.assert(x !== undefined) : void > : ^^^^ >Debug.assert : (value: unknown, message?: string) => asserts value -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >Debug : typeof Debug > : ^^^^^^^^^^^^ >assert : (value: unknown, message?: string) => asserts value -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >x !== undefined : boolean > : ^^^^^^^ >x : string | undefined @@ -529,11 +529,11 @@ function f10(x: string | undefined) { >Debug.assertDefined(x) : void > : ^^^^ >Debug.assertDefined : (value: T) => asserts value is NonNullable -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >Debug : typeof Debug > : ^^^^^^^^^^^^ >assertDefined : (value: T) => asserts value is NonNullable -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -557,11 +557,11 @@ function f10(x: string | undefined) { >Debug.assert(false) : void > : ^^^^ >Debug.assert : (value: unknown, message?: string) => asserts value -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >Debug : typeof Debug > : ^^^^^^^^^^^^ >assert : (value: unknown, message?: string) => asserts value -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >false : false > : ^^^^^ @@ -645,11 +645,11 @@ class Test { >this.assertThis() : void > : ^^^^ >this.assertThis : () => asserts this -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >assertThis : () => asserts this -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ this; >this : this @@ -665,11 +665,11 @@ class Test { >this.assert(typeof x === "string") : void > : ^^^^ >this.assert : (value: unknown) => asserts value -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >assert : (value: unknown) => asserts value -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >typeof x === "string" : boolean > : ^^^^^^^ >typeof x : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" @@ -691,11 +691,11 @@ class Test { >this.isTest2() : boolean > : ^^^^^^^ >this.isTest2 : () => this is Test2 -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >isTest2 : () => this is Test2 -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ this.z; >this.z : number @@ -709,11 +709,11 @@ class Test { >this.assertIsTest2() : void > : ^^^^ >this.assertIsTest2 : () => asserts this is Test2 -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >assertIsTest2 : () => asserts this is Test2 -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ this.z; >this.z : number @@ -733,11 +733,11 @@ class Test { >this.assert(false) : void > : ^^^^ >this.assert : (value: unknown) => asserts value -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >assert : (value: unknown) => asserts value -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >false : false > : ^^^^^ @@ -776,11 +776,11 @@ class Derived extends Test { >super.assert(typeof x === "string") : void > : ^^^^ >super.assert : (value: unknown) => asserts value -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >super : Test > : ^^^^ >assert : (value: unknown) => asserts value -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >typeof x === "string" : boolean > : ^^^^^^^ >typeof x : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" @@ -808,11 +808,11 @@ class Derived extends Test { >super.assert(false) : void > : ^^^^ >super.assert : (value: unknown) => asserts value -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >super : Test > : ^^^^ >assert : (value: unknown) => asserts value -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >false : false > : ^^^^^ @@ -838,11 +838,11 @@ function f11(items: Test[]) { >item.isTest2() : boolean > : ^^^^^^^ >item.isTest2 : () => this is Test2 -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >item : Test > : ^^^^ >isTest2 : () => this is Test2 -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ item.z; >item.z : number @@ -856,11 +856,11 @@ function f11(items: Test[]) { >item.assertIsTest2() : void > : ^^^^ >item.assertIsTest2 : () => asserts this is Test2 -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >item : Test > : ^^^^ >assertIsTest2 : () => asserts this is Test2 -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ item.z; >item.z : number @@ -935,7 +935,7 @@ function f20(x: unknown) { >assert(typeof x === "string") : void > : ^^^^ >assert : (value: unknown) => asserts value -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >typeof x === "string" : boolean > : ^^^^^^^ >typeof x : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" @@ -947,19 +947,19 @@ function f20(x: unknown) { const a = [assert]; >a : ((value: unknown) => asserts value)[] -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^ >[assert] : ((value: unknown) => asserts value)[] -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^ >assert : (value: unknown) => asserts value -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ a[0](typeof x === "string"); // Error >a[0](typeof x === "string") : void > : ^^^^ >a[0] : (value: unknown) => asserts value -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : ((value: unknown) => asserts value)[] -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^ >0 : 0 > : ^ >typeof x === "string" : boolean @@ -983,11 +983,11 @@ function f20(x: unknown) { >t1.assert(typeof x === "string") : void > : ^^^^ >t1.assert : (value: unknown) => asserts value -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >t1 : Test > : ^^^^ >assert : (value: unknown) => asserts value -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >typeof x === "string" : boolean > : ^^^^^^^ >typeof x : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" @@ -1009,11 +1009,11 @@ function f20(x: unknown) { >t2.assert(typeof x === "string") : void > : ^^^^ >t2.assert : (value: unknown) => asserts value -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >t2 : Test > : ^^^^ >assert : (value: unknown) => asserts value -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >typeof x === "string" : boolean > : ^^^^^^^ >typeof x : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" @@ -1060,11 +1060,11 @@ function example1(things: Thing[]) { >thing.isGood() : void > : ^^^^ >thing.isGood : () => asserts this is GoodThing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >thing : Thing > : ^^^^^ >isGood : () => asserts this is GoodThing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ thing.good; >thing.good : true diff --git a/tests/baselines/reference/assertionTypePredicates2.types b/tests/baselines/reference/assertionTypePredicates2.types index cf01c392eeebe..98abaa14e2dd0 100644 --- a/tests/baselines/reference/assertionTypePredicates2.types +++ b/tests/baselines/reference/assertionTypePredicates2.types @@ -15,9 +15,9 @@ */ const foo = (a) => { >foo : (a: A) => asserts a is B -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(a) => { if (/** @type { B } */ (a).y !== 0) throw TypeError(); return undefined;} : (a: A) => asserts a is B -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : A > : ^ @@ -66,7 +66,7 @@ export const main = () => { >foo(a) : void > : ^^^^ >foo : (a: A) => asserts a is B -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : A > : ^ diff --git a/tests/baselines/reference/assertionsAndNonReturningFunctions.types b/tests/baselines/reference/assertionsAndNonReturningFunctions.types index 4cbad34aa450f..e5913a73415b5 100644 --- a/tests/baselines/reference/assertionsAndNonReturningFunctions.types +++ b/tests/baselines/reference/assertionsAndNonReturningFunctions.types @@ -135,7 +135,7 @@ function f1(x) { >assert2(typeof x === "string") : void > : ^^^^ >assert2 : (check: boolean) => asserts check -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >typeof x === "string" : boolean > : ^^^^^^^ >typeof x : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" @@ -165,7 +165,7 @@ function f1(x) { >assertIsString(x) : void > : ^^^^ >assertIsString : (x: unknown) => asserts x is string -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : any > : ^^^ @@ -189,7 +189,7 @@ function f1(x) { >fail() : never > : ^^^^^ >fail : () => never -> : ^^^^^^^^^^^ +> : ^^^^^^ x; // Unreachable >x : any diff --git a/tests/baselines/reference/assignEveryTypeToAny.types b/tests/baselines/reference/assignEveryTypeToAny.types index 77c023dea7081..42e00f5bc6df7 100644 --- a/tests/baselines/reference/assignEveryTypeToAny.types +++ b/tests/baselines/reference/assignEveryTypeToAny.types @@ -177,10 +177,10 @@ var i: { (): string }; x = i; >x = i : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : any >i : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ x = { f() { return 1; } } >x = { f() { return 1; } } : { f(): number; } diff --git a/tests/baselines/reference/assignFromStringInterface2.types b/tests/baselines/reference/assignFromStringInterface2.types index 089fb85d63604..ad5e66cff4334 100644 --- a/tests/baselines/reference/assignFromStringInterface2.types +++ b/tests/baselines/reference/assignFromStringInterface2.types @@ -58,19 +58,19 @@ interface NotString { match(regexp: string): RegExpMatchArray; >match : { (regexp: string): RegExpMatchArray; (regexp: RegExp): RegExpMatchArray; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >regexp : string > : ^^^^^^ match(regexp: RegExp): RegExpMatchArray; >match : { (regexp: string): RegExpMatchArray; (regexp: RegExp): RegExpMatchArray; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >regexp : RegExp > : ^^^^^^ replace(searchValue: string, replaceValue: string): string; >replace : { (searchValue: string, replaceValue: string): string; (searchValue: string, replaceValue: (substring: string, ...args: any[]) => string): string; (searchValue: RegExp, replaceValue: string): string; (searchValue: RegExp, replaceValue: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >searchValue : string > : ^^^^^^ >replaceValue : string @@ -78,7 +78,7 @@ interface NotString { replace(searchValue: string, replaceValue: (substring: string, ...args: any[]) => string): string; >replace : { (searchValue: string, replaceValue: string): string; (searchValue: string, replaceValue: (substring: string, ...args: any[]) => string): string; (searchValue: RegExp, replaceValue: string): string; (searchValue: RegExp, replaceValue: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >searchValue : string > : ^^^^^^ >replaceValue : (substring: string, ...args: any[]) => string @@ -90,7 +90,7 @@ interface NotString { replace(searchValue: RegExp, replaceValue: string): string; >replace : { (searchValue: string, replaceValue: string): string; (searchValue: string, replaceValue: (substring: string, ...args: any[]) => string): string; (searchValue: RegExp, replaceValue: string): string; (searchValue: RegExp, replaceValue: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >searchValue : RegExp > : ^^^^^^ >replaceValue : string @@ -98,7 +98,7 @@ interface NotString { replace(searchValue: RegExp, replaceValue: (substring: string, ...args: any[]) => string): string; >replace : { (searchValue: string, replaceValue: string): string; (searchValue: string, replaceValue: (substring: string, ...args: any[]) => string): string; (searchValue: RegExp, replaceValue: string): string; (searchValue: RegExp, replaceValue: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >searchValue : RegExp > : ^^^^^^ >replaceValue : (substring: string, ...args: any[]) => string @@ -110,13 +110,13 @@ interface NotString { search(regexp: string): number; >search : { (regexp: string): number; (regexp: RegExp): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >regexp : string > : ^^^^^^ search(regexp: RegExp): number; >search : { (regexp: string): number; (regexp: RegExp): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >regexp : RegExp > : ^^^^^^ @@ -130,7 +130,7 @@ interface NotString { split(separator: string, limit?: number): string[]; >split : { (separator: string, limit?: number): string[]; (separator: RegExp, limit?: number): string[]; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >separator : string > : ^^^^^^ >limit : number @@ -138,7 +138,7 @@ interface NotString { split(separator: RegExp, limit?: number): string[]; >split : { (separator: string, limit?: number): string[]; (separator: RegExp, limit?: number): string[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >separator : RegExp > : ^^^^^^ >limit : number diff --git a/tests/baselines/reference/assignToFn.types b/tests/baselines/reference/assignToFn.types index 906b9befd887e..937706d252e55 100644 --- a/tests/baselines/reference/assignToFn.types +++ b/tests/baselines/reference/assignToFn.types @@ -31,11 +31,11 @@ module M { >x.f="hello" : "hello" > : ^^^^^^^ >x.f : (n: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : I > : ^ >f : (n: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ } diff --git a/tests/baselines/reference/assignToPrototype1.types b/tests/baselines/reference/assignToPrototype1.types index c211672b50570..967841c756dbd 100644 --- a/tests/baselines/reference/assignToPrototype1.types +++ b/tests/baselines/reference/assignToPrototype1.types @@ -18,7 +18,7 @@ Point.prototype.add = function(dx, dy) { >Point.prototype.add = function(dx, dy) {} : (dx: number, dy: number) => void > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ >Point.prototype.add : (dx: number, dy: number) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >Point.prototype : Point > : ^^^^^ >Point : typeof Point @@ -26,7 +26,7 @@ Point.prototype.add = function(dx, dy) { >prototype : Point > : ^^^^^ >add : (dx: number, dy: number) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >function(dx, dy) {} : (dx: number, dy: number) => void > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ >dx : number diff --git a/tests/baselines/reference/assigningFromObjectToAnythingElse.types b/tests/baselines/reference/assigningFromObjectToAnythingElse.types index feb99b14d4c4d..ac2b3e1d33cb6 100644 --- a/tests/baselines/reference/assigningFromObjectToAnythingElse.types +++ b/tests/baselines/reference/assigningFromObjectToAnythingElse.types @@ -23,11 +23,11 @@ var a: String = Object.create(""); >Object.create("") : any > : ^^^ >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >"" : "" > : ^^ @@ -37,11 +37,11 @@ var c: String = Object.create(1); >Object.create(1) : any > : ^^^ >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/assigningFunctionToTupleIssuesError.types b/tests/baselines/reference/assigningFunctionToTupleIssuesError.types index 6a8fc0594708d..194cfd3e6d470 100644 --- a/tests/baselines/reference/assigningFunctionToTupleIssuesError.types +++ b/tests/baselines/reference/assigningFunctionToTupleIssuesError.types @@ -9,5 +9,5 @@ let b: [string] = a; >b : [string] > : ^^^^^^^^ >a : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/assignmentCompatBug2.types b/tests/baselines/reference/assignmentCompatBug2.types index 151378596fd36..acaf0e92847ce 100644 --- a/tests/baselines/reference/assignmentCompatBug2.types +++ b/tests/baselines/reference/assignmentCompatBug2.types @@ -17,7 +17,7 @@ b2 = { a: 0 }; // error >b2 = { a: 0 } : { a: number; } > : ^^^^^^^^^^^^^^ >b2 : { b: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ a: 0 } : { a: number; } > : ^^^^^^^^^^^^^^ >a : number @@ -29,7 +29,7 @@ b2 = {b: 0, a: 0 }; >b2 = {b: 0, a: 0 } : { b: number; a: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >b2 : { b: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{b: 0, a: 0 } : { b: number; a: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >b : number @@ -65,7 +65,7 @@ b3 = { >b3 = { f: (n) => { return 0; }, g: (s) => { return 0; }, m: 0,} : { f: (n: number) => number; g: (s: string) => number; m: number; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >b3 : { f(n: number): number; g(s: string): number; m: number; n?: number; k?(a: any): any; } -> : ^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^^ ^^ ^^^ ^^^^^ ^^^^^^ ^^^^^ ^^ ^^^ ^^^ >{ f: (n) => { return 0; }, g: (s) => { return 0; }, m: 0,} : { f: (n: number) => number; g: (s: string) => number; m: number; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -101,7 +101,7 @@ b3 = { >b3 = { f: (n) => { return 0; }, g: (s) => { return 0; },} : { f: (n: number) => number; g: (s: string) => number; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >b3 : { f(n: number): number; g(s: string): number; m: number; n?: number; k?(a: any): any; } -> : ^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^^ ^^ ^^^ ^^^^^ ^^^^^^ ^^^^^ ^^ ^^^ ^^^ >{ f: (n) => { return 0; }, g: (s) => { return 0; },} : { f: (n: number) => number; g: (s: string) => number; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ @@ -131,7 +131,7 @@ b3 = { >b3 = { f: (n) => { return 0; }, m: 0,} : { f: (n: number) => number; m: number; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >b3 : { f(n: number): number; g(s: string): number; m: number; n?: number; k?(a: any): any; } -> : ^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^^ ^^ ^^^ ^^^^^ ^^^^^^ ^^^^^ ^^ ^^^ ^^^ >{ f: (n) => { return 0; }, m: 0,} : { f: (n: number) => number; m: number; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -157,7 +157,7 @@ b3 = { >b3 = { f: (n) => { return 0; }, g: (s) => { return 0; }, m: 0, n: 0, k: (a) =>{ return null; },} : { f: (n: number) => number; g: (s: string) => number; m: number; n: number; k: (a: any) => any; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ >b3 : { f(n: number): number; g(s: string): number; m: number; n?: number; k?(a: any): any; } -> : ^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^^ ^^ ^^^ ^^^^^ ^^^^^^ ^^^^^ ^^ ^^^ ^^^ >{ f: (n) => { return 0; }, g: (s) => { return 0; }, m: 0, n: 0, k: (a) =>{ return null; },} : { f: (n: number) => number; g: (s: string) => number; m: number; n: number; k: (a: any) => any; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ @@ -207,7 +207,7 @@ b3 = { >b3 = { f: (n) => { return 0; }, g: (s) => { return 0; }, n: 0, k: (a) =>{ return null; },} : { f: (n: number) => number; g: (s: string) => number; n: number; k: (a: any) => any; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ >b3 : { f(n: number): number; g(s: string): number; m: number; n?: number; k?(a: any): any; } -> : ^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^^ ^^ ^^^ ^^^^^ ^^^^^^ ^^^^^ ^^ ^^^ ^^^ >{ f: (n) => { return 0; }, g: (s) => { return 0; }, n: 0, k: (a) =>{ return null; },} : { f: (n: number) => number; g: (s: string) => number; n: number; k: (a: any) => any; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/assignmentCompatBug3.types b/tests/baselines/reference/assignmentCompatBug3.types index 5a92f186580f4..e37a02c7de116 100644 --- a/tests/baselines/reference/assignmentCompatBug3.types +++ b/tests/baselines/reference/assignmentCompatBug3.types @@ -37,11 +37,11 @@ function makePoint(x: number, y: number) { >Math.sqrt(x*x+y*y) : number > : ^^^^^^ >Math.sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x*x+y*y : number > : ^^^^^^ >x*x : number diff --git a/tests/baselines/reference/assignmentCompatForEnums.types b/tests/baselines/reference/assignmentCompatForEnums.types index f93c64196e872..725eccec49696 100644 --- a/tests/baselines/reference/assignmentCompatForEnums.types +++ b/tests/baselines/reference/assignmentCompatForEnums.types @@ -30,7 +30,7 @@ function foo() { >returnType() : TokenType > : ^^^^^^^^^ >returnType : () => TokenType -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ var x: TokenType = list['one']; >x : TokenType diff --git a/tests/baselines/reference/assignmentCompatFunctionsWithOptionalArgs.types b/tests/baselines/reference/assignmentCompatFunctionsWithOptionalArgs.types index 4ff88697136bf..10d8a830b9cb8 100644 --- a/tests/baselines/reference/assignmentCompatFunctionsWithOptionalArgs.types +++ b/tests/baselines/reference/assignmentCompatFunctionsWithOptionalArgs.types @@ -15,7 +15,7 @@ foo({ id: 1234 }); // Ok >foo({ id: 1234 }) : void > : ^^^^ >foo : (x: { id: number; name?: string; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ id: 1234 } : { id: number; } > : ^^^^^^^^^^^^^^^ >id : number @@ -27,7 +27,7 @@ foo({ id: 1234, name: "hello" }); // Ok >foo({ id: 1234, name: "hello" }) : void > : ^^^^ >foo : (x: { id: number; name?: string; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ id: 1234, name: "hello" } : { id: number; name: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >id : number @@ -43,7 +43,7 @@ foo({ id: 1234, name: false }); // Error, name of wrong type >foo({ id: 1234, name: false }) : void > : ^^^^ >foo : (x: { id: number; name?: string; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ id: 1234, name: false } : { id: number; name: boolean; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >id : number @@ -59,7 +59,7 @@ foo({ name: "hello" }); // Error, id required but missing >foo({ name: "hello" }) : void > : ^^^^ >foo : (x: { id: number; name?: string; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ name: "hello" } : { name: string; } > : ^^^^^^^^^^^^^^^^^ >name : string diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures.types b/tests/baselines/reference/assignmentCompatWithCallSignatures.types index 67f18805a814b..ebe2000df48b2 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures.types +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures.types @@ -20,17 +20,17 @@ var a: { (x: number): void }; t = a; >t = a : (x: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >t : T > : ^ >a : (x: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ a = t; >a = t : T > : ^ >a : (x: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >t : T > : ^ @@ -59,27 +59,27 @@ t = s; t = a2; >t = a2 : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >t : T > : ^ >a2 : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ a = s; >a = s : S > : ^ >a : (x: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >s : S > : ^ a = a2; >a = a2 : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : (x: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >a2 : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ t = (x: T) => 1; >t = (x: T) => 1 : (x: T) => number @@ -119,7 +119,7 @@ a = (x: T) => 1; >a = (x: T) => 1 : (x: T) => number > : ^ ^^ ^^ ^^^^^^^^^^^ >a : (x: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >(x: T) => 1 : (x: T) => number > : ^ ^^ ^^ ^^^^^^^^^^^ >x : T @@ -131,7 +131,7 @@ a = () => 1; >a = () => 1 : () => number > : ^^^^^^^^^^^^ >a : (x: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >() => 1 : () => number > : ^^^^^^^^^^^^ >1 : 1 @@ -141,7 +141,7 @@ a = function (x: number) { return ''; } >a = function (x: number) { return ''; } : (x: number) => string > : ^ ^^ ^^^^^^^^^^^ >a : (x: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >function (x: number) { return ''; } : (x: number) => string > : ^ ^^ ^^^^^^^^^^^ >x : number @@ -175,11 +175,11 @@ t = s2; t = a3; >t = a3 : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >t : T > : ^ >a3 : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ t = (x: string) => 1; >t = (x: string) => 1 : (x: string) => number @@ -209,23 +209,23 @@ a = s2; >a = s2 : S2 > : ^^ >a : (x: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >s2 : S2 > : ^^ a = a3; >a = a3 : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : (x: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >a3 : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ a = (x: string) => 1; >a = (x: string) => 1 : (x: string) => number > : ^ ^^ ^^^^^^^^^^^ >a : (x: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >(x: string) => 1 : (x: string) => number > : ^ ^^ ^^^^^^^^^^^ >x : string @@ -237,7 +237,7 @@ a = function (x: string) { return ''; } >a = function (x: string) { return ''; } : (x: string) => string > : ^ ^^ ^^^^^^^^^^^ >a : (x: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >function (x: string) { return ''; } : (x: string) => string > : ^ ^^ ^^^^^^^^^^^ >x : string diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures2.types b/tests/baselines/reference/assignmentCompatWithCallSignatures2.types index 47c5ac41f03a3..1da1324ee7c3f 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures2.types +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures2.types @@ -24,17 +24,17 @@ var a: { f(x: number): void }; t = a; >t = a : { f(x: number): void; } -> : ^^^^ ^^ ^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ >t : T > : ^ >a : { f(x: number): void; } -> : ^^^^ ^^ ^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ a = t; >a = t : T > : ^ >a : { f(x: number): void; } -> : ^^^^ ^^ ^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ >t : T > : ^ @@ -67,27 +67,27 @@ t = s; t = a2; >t = a2 : { f(x: number): string; } -> : ^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ >t : T > : ^ >a2 : { f(x: number): string; } -> : ^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ a = s; >a = s : S > : ^ >a : { f(x: number): void; } -> : ^^^^ ^^ ^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ >s : S > : ^ a = a2; >a = a2 : { f(x: number): string; } -> : ^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ >a : { f(x: number): void; } -> : ^^^^ ^^ ^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ >a2 : { f(x: number): string; } -> : ^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ t = { f: () => 1 }; >t = { f: () => 1 } : { f: () => number; } @@ -153,7 +153,7 @@ a = { f: () => 1 } >a = { f: () => 1 } : { f: () => number; } > : ^^^^^^^^^^^^^^^^^^^^ >a : { f(x: number): void; } -> : ^^^^ ^^ ^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ >{ f: () => 1 } : { f: () => number; } > : ^^^^^^^^^^^^^^^^^^^^ >f : () => number @@ -167,7 +167,7 @@ a = { f: (x: T) => 1 }; >a = { f: (x: T) => 1 } : { f: (x: T) => number; } > : ^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ >a : { f(x: number): void; } -> : ^^^^ ^^ ^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ >{ f: (x: T) => 1 } : { f: (x: T) => number; } > : ^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ >f : (x: T) => number @@ -183,7 +183,7 @@ a = { f: function (x: number) { return ''; } } >a = { f: function (x: number) { return ''; } } : { f: (x: number) => string; } > : ^^^^^^ ^^ ^^^^^^^^^^^^^^ >a : { f(x: number): void; } -> : ^^^^ ^^ ^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ >{ f: function (x: number) { return ''; } } : { f: (x: number) => string; } > : ^^^^^^ ^^ ^^^^^^^^^^^^^^ >f : (x: number) => string @@ -222,7 +222,7 @@ a = () => 1; >a = () => 1 : () => number > : ^^^^^^^^^^^^ >a : { f(x: number): void; } -> : ^^^^ ^^ ^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ >() => 1 : () => number > : ^^^^^^^^^^^^ >1 : 1 @@ -232,7 +232,7 @@ a = function (x: number) { return ''; } >a = function (x: number) { return ''; } : (x: number) => string > : ^ ^^ ^^^^^^^^^^^ >a : { f(x: number): void; } -> : ^^^^ ^^ ^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ >function (x: number) { return ''; } : (x: number) => string > : ^ ^^ ^^^^^^^^^^^ >x : number @@ -270,11 +270,11 @@ t = s2; t = a3; >t = a3 : { f(x: string): void; } -> : ^^^^ ^^ ^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ >t : T > : ^ >a3 : { f(x: string): void; } -> : ^^^^ ^^ ^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ t = (x: string) => 1; >t = (x: string) => 1 : (x: string) => number @@ -304,23 +304,23 @@ a = s2; >a = s2 : S2 > : ^^ >a : { f(x: number): void; } -> : ^^^^ ^^ ^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ >s2 : S2 > : ^^ a = a3; >a = a3 : { f(x: string): void; } -> : ^^^^ ^^ ^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ >a : { f(x: number): void; } -> : ^^^^ ^^ ^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ >a3 : { f(x: string): void; } -> : ^^^^ ^^ ^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ a = (x: string) => 1; >a = (x: string) => 1 : (x: string) => number > : ^ ^^ ^^^^^^^^^^^ >a : { f(x: number): void; } -> : ^^^^ ^^ ^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ >(x: string) => 1 : (x: string) => number > : ^ ^^ ^^^^^^^^^^^ >x : string @@ -332,7 +332,7 @@ a = function (x: string) { return ''; } >a = function (x: string) { return ''; } : (x: string) => string > : ^ ^^ ^^^^^^^^^^^ >a : { f(x: number): void; } -> : ^^^^ ^^ ^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ >function (x: string) { return ''; } : (x: string) => string > : ^ ^^ ^^^^^^^^^^^ >x : string diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures3.errors.txt b/tests/baselines/reference/assignmentCompatWithCallSignatures3.errors.txt index def250f002fe2..1d1c9bfdcebd3 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures3.errors.txt +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures3.errors.txt @@ -42,12 +42,12 @@ assignmentCompatWithCallSignatures3.ts(77,1): error TS2322: Type '(x: { foo: str Types of parameters 'y' and 'y' are incompatible. Type 'T' is not assignable to type '{ foo: string; bar: string; }'. Property 'bar' is missing in type 'Base' but required in type '{ foo: string; bar: string; }'. -assignmentCompatWithCallSignatures3.ts(80,1): error TS2322: Type '(x: Base[], y: Derived2[]) => Derived[]' is not assignable to type '(x: Base[], y: T) => Derived[]'. +assignmentCompatWithCallSignatures3.ts(80,1): error TS2322: Type '(x: Base[], y: Derived2[]) => Derived[]' is not assignable to type '>(x: Base[], y: T) => Derived[]'. Types of parameters 'y' and 'y' are incompatible. Type 'T' is not assignable to type 'Derived2[]'. Type 'Base[]' is not assignable to type 'Derived2[]'. Type 'Base' is missing the following properties from type 'Derived2': baz, bar -assignmentCompatWithCallSignatures3.ts(83,1): error TS2322: Type '(x: Base[], y: Derived[]) => Derived[]' is not assignable to type '(x: Base[], y: T) => T'. +assignmentCompatWithCallSignatures3.ts(83,1): error TS2322: Type '(x: Base[], y: Derived[]) => Derived[]' is not assignable to type '>(x: Base[], y: T) => T'. Type 'Derived[]' is not assignable to type 'T'. 'Derived[]' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint 'Derived[]'. assignmentCompatWithCallSignatures3.ts(85,1): error TS2322: Type '(x: { a: T; b: T; }) => T' is not assignable to type '(x: { a: string; b: number; }) => Object'. @@ -204,7 +204,7 @@ assignmentCompatWithCallSignatures3.ts(86,1): error TS2322: Type '(x: { a: strin a12 = b12; // ok b12 = a12; // ok ~~~ -!!! error TS2322: Type '(x: Base[], y: Derived2[]) => Derived[]' is not assignable to type '(x: Base[], y: T) => Derived[]'. +!!! error TS2322: Type '(x: Base[], y: Derived2[]) => Derived[]' is not assignable to type '>(x: Base[], y: T) => Derived[]'. !!! error TS2322: Types of parameters 'y' and 'y' are incompatible. !!! error TS2322: Type 'T' is not assignable to type 'Derived2[]'. !!! error TS2322: Type 'Base[]' is not assignable to type 'Derived2[]'. @@ -213,7 +213,7 @@ assignmentCompatWithCallSignatures3.ts(86,1): error TS2322: Type '(x: { a: strin a13 = b13; // ok b13 = a13; // ok ~~~ -!!! error TS2322: Type '(x: Base[], y: Derived[]) => Derived[]' is not assignable to type '(x: Base[], y: T) => T'. +!!! error TS2322: Type '(x: Base[], y: Derived[]) => Derived[]' is not assignable to type '>(x: Base[], y: T) => T'. !!! error TS2322: Type 'Derived[]' is not assignable to type 'T'. !!! error TS2322: 'Derived[]' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint 'Derived[]'. var b14: (x: { a: T; b: T }) => T; diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures3.types b/tests/baselines/reference/assignmentCompatWithCallSignatures3.types index 45ece30a72527..225a7032edf1a 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures3.types +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures3.types @@ -173,7 +173,7 @@ var a15: { } var a16: { >a16 : { (x: T): number[]; (x: U): number[]; } -> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ (x: T): number[]; >x : T @@ -240,19 +240,19 @@ var b: (x: T) => T[]; a = b; // ok >a = b : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a : (x: number) => number[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ b = a; // ok >b = a : (x: number) => number[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a : (x: number) => number[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var b2: (x: T) => string[]; >b2 : (x: T) => string[] @@ -262,19 +262,19 @@ var b2: (x: T) => string[]; a2 = b2; // ok >a2 = b2 : (x: T) => string[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a2 : (x: number) => string[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b2 : (x: T) => string[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ b2 = a2; // ok >b2 = a2 : (x: number) => string[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b2 : (x: T) => string[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a2 : (x: number) => string[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var b3: (x: T) => T; >b3 : (x: T) => T @@ -284,19 +284,19 @@ var b3: (x: T) => T; a3 = b3; // ok >a3 = b3 : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a3 : (x: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >b3 : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ b3 = a3; // ok >b3 = a3 : (x: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >b3 : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a3 : (x: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ var b4: (x: T, y: U) => T; >b4 : (x: T, y: U) => T @@ -308,19 +308,19 @@ var b4: (x: T, y: U) => T; a4 = b4; // ok >a4 = b4 : (x: T, y: U) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a4 : (x: string, y: number) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >b4 : (x: T, y: U) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ b4 = a4; // ok >b4 = a4 : (x: string, y: number) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >b4 : (x: T, y: U) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a4 : (x: string, y: number) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var b5: (x: (arg: T) => U) => T; >b5 : (x: (arg: T) => U) => T @@ -332,23 +332,23 @@ var b5: (x: (arg: T) => U) => T; a5 = b5; // ok >a5 = b5 : (x: (arg: T) => U) => T -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a5 : (x: (arg: string) => number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b5 : (x: (arg: T) => U) => T -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ b5 = a5; // ok >b5 = a5 : (x: (arg: string) => number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b5 : (x: (arg: T) => U) => T -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a5 : (x: (arg: string) => number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var b6: (x: (arg: T) => U) => T; >b6 : (x: (arg: T) => U) => T -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : (arg: T) => U > : ^ ^^ ^^^^^ >arg : T @@ -356,23 +356,23 @@ var b6: (x: (arg: T) => U) => T; a6 = b6; // ok >a6 = b6 : (x: (arg: T) => U) => T -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a6 : (x: (arg: Base) => Derived) => Base -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >b6 : (x: (arg: T) => U) => T -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ b6 = a6; // ok >b6 = a6 : (x: (arg: Base) => Derived) => Base -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >b6 : (x: (arg: T) => U) => T -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a6 : (x: (arg: Base) => Derived) => Base -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ var b7: (x: (arg: T) => U) => (r: T) => U; >b7 : (x: (arg: T) => U) => (r: T) => U -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : (arg: T) => U > : ^ ^^ ^^^^^ >arg : T @@ -382,23 +382,23 @@ var b7: (x: (arg: T) => U) => (r: T) => U; a7 = b7; // ok >a7 = b7 : (x: (arg: T) => U) => (r: T) => U -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a7 : (x: (arg: Base) => Derived) => (r: Base) => Derived -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b7 : (x: (arg: T) => U) => (r: T) => U -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ b7 = a7; // ok >b7 = a7 : (x: (arg: Base) => Derived) => (r: Base) => Derived -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b7 : (x: (arg: T) => U) => (r: T) => U -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a7 : (x: (arg: Base) => Derived) => (r: Base) => Derived -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var b8: (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U; >b8 : (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : (arg: T) => U > : ^ ^^ ^^^^^ >arg : T @@ -412,23 +412,23 @@ var b8: (x: (arg: T) => U, y: (arg2: T) => U) a8 = b8; // ok >a8 = b8 : (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a8 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >b8 : (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ b8 = a8; // ok >b8 = a8 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >b8 : (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a8 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var b9: (x: (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => (r: T) => U; >b9 : (x: (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => (r: T) => U -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : (arg: T) => U > : ^ ^^ ^^^^^ >arg : T @@ -446,45 +446,45 @@ var b9: (x: (arg: T) => U, y: (arg2: { foo: s a9 = b9; // ok >a9 = b9 : (x: (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => (r: T) => U -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a9 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >b9 : (x: (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => (r: T) => U -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ b9 = a9; // ok >b9 = a9 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >b9 : (x: (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => (r: T) => U -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a9 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var b10: (...x: T[]) => T; >b10 : (...x: T[]) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >x : T[] > : ^^^ a10 = b10; // ok >a10 = b10 : (...x: T[]) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >a10 : (...x: Derived[]) => Derived -> : ^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >b10 : (...x: T[]) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ b10 = a10; // ok >b10 = a10 : (...x: Derived[]) => Derived -> : ^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >b10 : (...x: T[]) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >a10 : (...x: Derived[]) => Derived -> : ^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ var b11: (x: T, y: T) => T; >b11 : (x: T, y: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T > : ^ >y : T @@ -492,67 +492,67 @@ var b11: (x: T, y: T) => T; a11 = b11; // ok >a11 = b11 : (x: T, y: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a11 : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >b11 : (x: T, y: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ b11 = a11; // ok >b11 = a11 : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >b11 : (x: T, y: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a11 : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var b12: >(x: Array, y: T) => Array; ->b12 : (x: Array, y: T) => Array -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +>b12 : >(x: Array, y: T) => Array +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : Base[] > : ^^^^^^ >y : T > : ^ a12 = b12; // ok ->a12 = b12 : (x: Array, y: T) => Derived[] -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->a12 : (x: Array, y: Array) => Derived[] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->b12 : (x: Array, y: T) => Derived[] -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>a12 = b12 : >(x: Array, y: T) => Array +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +>a12 : (x: Array, y: Array) => Array +> : ^ ^^ ^^ ^^ ^^^^^ +>b12 : >(x: Array, y: T) => Array +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ b12 = a12; // ok ->b12 = a12 : (x: Array, y: Array) => Derived[] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->b12 : (x: Array, y: T) => Derived[] -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->a12 : (x: Array, y: Array) => Derived[] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>b12 = a12 : (x: Array, y: Array) => Array +> : ^ ^^ ^^ ^^ ^^^^^ +>b12 : >(x: Array, y: T) => Array +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +>a12 : (x: Array, y: Array) => Array +> : ^ ^^ ^^ ^^ ^^^^^ var b13: >(x: Array, y: T) => T; ->b13 : (x: Array, y: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +>b13 : >(x: Array, y: T) => T +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : Base[] > : ^^^^^^ >y : T > : ^ a13 = b13; // ok ->a13 = b13 : (x: Array, y: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ->a13 : (x: Array, y: Array) => Derived[] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->b13 : (x: Array, y: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +>a13 = b13 : >(x: Array, y: T) => T +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +>a13 : (x: Array, y: Array) => Array +> : ^ ^^ ^^ ^^ ^^^^^ +>b13 : >(x: Array, y: T) => T +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ b13 = a13; // ok ->b13 = a13 : (x: Array, y: Array) => Derived[] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->b13 : (x: Array, y: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ->a13 : (x: Array, y: Array) => Derived[] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>b13 = a13 : (x: Array, y: Array) => Array +> : ^ ^^ ^^ ^^ ^^^^^ +>b13 : >(x: Array, y: T) => T +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +>a13 : (x: Array, y: Array) => Array +> : ^ ^^ ^^ ^^ ^^^^^ var b14: (x: { a: T; b: T }) => T; >b14 : (x: { a: T; b: T; }) => T @@ -566,19 +566,19 @@ var b14: (x: { a: T; b: T }) => T; a14 = b14; // ok >a14 = b14 : (x: { a: T; b: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a14 : (x: { a: string; b: number; }) => Object -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b14 : (x: { a: T; b: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ b14 = a14; // ok >b14 = a14 : (x: { a: string; b: number; }) => Object -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b14 : (x: { a: T; b: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a14 : (x: { a: string; b: number; }) => Object -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var b15: (x: T) => T[]; >b15 : (x: T) => T[] @@ -588,41 +588,41 @@ var b15: (x: T) => T[]; a15 = b15; // ok >a15 = b15 : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a15 : { (x: number): number[]; (x: string): string[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b15 : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ b15 = a15; // ok >b15 = a15 : { (x: number): number[]; (x: string): string[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b15 : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a15 : { (x: number): number[]; (x: string): string[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ var b16: (x: T) => number[]; >b16 : (x: T) => number[] -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : T > : ^ a16 = b16; // ok >a16 = b16 : (x: T) => number[] -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a16 : { (x: T): number[]; (x: U): number[]; } -> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >b16 : (x: T) => number[] -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ b16 = a16; // ok >b16 = a16 : { (x: T): number[]; (x: U): number[]; } -> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >b16 : (x: T) => number[] -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a16 : { (x: T): number[]; (x: U): number[]; } -> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ var b17: (x: (a: T) => T) => T[]; // ok >b17 : (x: (a: T) => T) => T[] @@ -634,19 +634,19 @@ var b17: (x: (a: T) => T) => T[]; // ok a17 = b17; // ok >a17 = b17 : (x: (a: T) => T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a17 : { (x: (a: number) => number): number[]; (x: (a: string) => string): string[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b17 : (x: (a: T) => T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ b17 = a17; // ok >b17 = a17 : { (x: (a: number) => number): number[]; (x: (a: string) => string): string[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b17 : (x: (a: T) => T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a17 : { (x: (a: number) => number): number[]; (x: (a: string) => string): string[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ var b18: (x: (a: T) => T) => T[]; >b18 : (x: (a: T) => T) => T[] @@ -658,17 +658,17 @@ var b18: (x: (a: T) => T) => T[]; a18 = b18; // ok >a18 = b18 : (x: (a: T) => T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a18 : { (x: { (a: number): number; (a: string): string; }): any[]; (x: { (a: boolean): boolean; (a: Date): Date; }): any[]; } -> : ^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b18 : (x: (a: T) => T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ b18 = a18; // ok >b18 = a18 : { (x: { (a: number): number; (a: string): string; }): any[]; (x: { (a: boolean): boolean; (a: Date): Date; }): any[]; } -> : ^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b18 : (x: (a: T) => T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a18 : { (x: { (a: number): number; (a: string): string; }): any[]; (x: { (a: boolean): boolean; (a: Date): Date; }): any[]; } -> : ^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures4.errors.txt b/tests/baselines/reference/assignmentCompatWithCallSignatures4.errors.txt index 9a807ded124eb..c91ddb00897e1 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures4.errors.txt +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures4.errors.txt @@ -23,7 +23,7 @@ assignmentCompatWithCallSignatures4.ts(58,9): error TS2322: Type '(...x: Base[]) assignmentCompatWithCallSignatures4.ts(62,9): error TS2322: Type '(x: { foo: string; }, y: { foo: string; bar: string; }) => Base' is not assignable to type '(x: T, y: T) => T'. Type 'Base' is not assignable to type 'T'. 'T' could be instantiated with an arbitrary type which could be unrelated to 'Base'. -assignmentCompatWithCallSignatures4.ts(66,9): error TS2322: Type '(x: Base[], y: Derived2[]) => Derived[]' is not assignable to type '(x: Base[], y: Base[]) => T'. +assignmentCompatWithCallSignatures4.ts(66,9): error TS2322: Type '(x: Base[], y: Derived2[]) => Derived[]' is not assignable to type '>(x: Base[], y: Base[]) => T'. Type 'Derived[]' is not assignable to type 'T'. 'T' could be instantiated with an arbitrary type which could be unrelated to 'Derived[]'. assignmentCompatWithCallSignatures4.ts(69,9): error TS2322: Type '(x: { a: T; b: T; }) => T' is not assignable to type '(x: { a: string; b: number; }) => number'. @@ -163,7 +163,7 @@ assignmentCompatWithCallSignatures4.ts(96,9): error TS2322: Type '(x: T) => s a12 = b12; b12 = a12; ~~~ -!!! error TS2322: Type '(x: Base[], y: Derived2[]) => Derived[]' is not assignable to type '(x: Base[], y: Base[]) => T'. +!!! error TS2322: Type '(x: Base[], y: Derived2[]) => Derived[]' is not assignable to type '>(x: Base[], y: Base[]) => T'. !!! error TS2322: Type 'Derived[]' is not assignable to type 'T'. !!! error TS2322: 'T' could be instantiated with an arbitrary type which could be unrelated to 'Derived[]'. diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures4.types b/tests/baselines/reference/assignmentCompatWithCallSignatures4.types index 8ce6f291942eb..e351d651a975b 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures4.types +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures4.types @@ -159,8 +159,8 @@ module Errors { > : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ (x: { ->x : { (a: T): T; (a: T_1): T_1; } -> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>x : { (a: T): T; (a: T): T; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ (a: T): T; >a : T @@ -172,8 +172,8 @@ module Errors { }): any[]; (x: { ->x : { (a: T): T; (a: T_1): T_1; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>x : { (a: T): T; (a: T): T; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ (a: T): T; >a : T @@ -194,23 +194,23 @@ module Errors { a2 = b2; >a2 = b2 : (x: T) => U[] -> : ^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a2 : (x: number) => string[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b2 : (x: T) => U[] -> : ^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ b2 = a2; >b2 = a2 : (x: number) => string[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b2 : (x: T) => U[] -> : ^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a2 : (x: number) => string[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var b7: (x: (arg: T) => U) => (r: T) => V; >b7 : (x: (arg: T) => U) => (r: T) => V -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : (arg: T) => U > : ^ ^^ ^^^^^ >arg : T @@ -220,23 +220,23 @@ module Errors { a7 = b7; >a7 = b7 : (x: (arg: T) => U) => (r: T) => V -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a7 : (x: (arg: Base) => Derived) => (r: Base) => Derived2 -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b7 : (x: (arg: T) => U) => (r: T) => V -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ b7 = a7; >b7 = a7 : (x: (arg: Base) => Derived) => (r: Base) => Derived2 -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b7 : (x: (arg: T) => U) => (r: T) => V -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a7 : (x: (arg: Base) => Derived) => (r: Base) => Derived2 -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var b8: (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U; >b8 : (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : (arg: T) => U > : ^ ^^ ^^^^^ >arg : T @@ -252,46 +252,46 @@ module Errors { a8 = b8; // error, { foo: number } and Base are incompatible >a8 = b8 : (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a8 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >b8 : (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ b8 = a8; // error, { foo: number } and Base are incompatible >b8 = a8 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >b8 : (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a8 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var b10: (...x: T[]) => T; >b10 : (...x: T[]) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >x : T[] > : ^^^ a10 = b10; >a10 = b10 : (...x: T[]) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >a10 : (...x: Base[]) => Base -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >b10 : (...x: T[]) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ b10 = a10; >b10 = a10 : (...x: Base[]) => Base -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >b10 : (...x: T[]) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >a10 : (...x: Base[]) => Base -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ var b11: (x: T, y: T) => T; >b11 : (x: T, y: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T > : ^ >y : T @@ -299,43 +299,43 @@ module Errors { a11 = b11; >a11 = b11 : (x: T, y: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a11 : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >b11 : (x: T, y: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ b11 = a11; >b11 = a11 : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >b11 : (x: T, y: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a11 : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var b12: >(x: Array, y: Array) => T; ->b12 : (x: Array, y: Array) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +>b12 : >(x: Array, y: Array) => T +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : Base[] > : ^^^^^^ >y : Base[] > : ^^^^^^ a12 = b12; ->a12 = b12 : (x: Array, y: Array) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ->a12 : (x: Array, y: Array) => Derived[] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->b12 : (x: Array, y: Array) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +>a12 = b12 : >(x: Array, y: Array) => T +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +>a12 : (x: Array, y: Array) => Array +> : ^ ^^ ^^ ^^ ^^^^^ +>b12 : >(x: Array, y: Array) => T +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ b12 = a12; ->b12 = a12 : (x: Array, y: Array) => Derived[] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->b12 : (x: Array, y: Array) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ->a12 : (x: Array, y: Array) => Derived[] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>b12 = a12 : (x: Array, y: Array) => Array +> : ^ ^^ ^^ ^^ ^^^^^ +>b12 : >(x: Array, y: Array) => T +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +>a12 : (x: Array, y: Array) => Array +> : ^ ^^ ^^ ^^ ^^^^^ var b15: (x: { a: T; b: T }) => T; >b15 : (x: { a: T; b: T; }) => T @@ -349,23 +349,23 @@ module Errors { a15 = b15; >a15 = b15 : (x: { a: T; b: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a15 : (x: { a: string; b: number; }) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b15 : (x: { a: T; b: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ b15 = a15; >b15 = a15 : (x: { a: string; b: number; }) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b15 : (x: { a: T; b: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a15 : (x: { a: string; b: number; }) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var b15a: (x: { a: T; b: T }) => number; >b15a : (x: { a: T; b: T; }) => number -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : { a: T; b: T; } > : ^^^^^ ^^^^^ ^^^ >a : T @@ -375,19 +375,19 @@ module Errors { a15 = b15a; >a15 = b15a : (x: { a: T; b: T; }) => number -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a15 : (x: { a: string; b: number; }) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b15a : (x: { a: T; b: T; }) => number -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ b15a = a15; >b15a = a15 : (x: { a: string; b: number; }) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b15a : (x: { a: T; b: T; }) => number -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a15 : (x: { a: string; b: number; }) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var b16: (x: (a: T) => T) => T[]; >b16 : (x: (a: T) => T) => T[] @@ -399,19 +399,19 @@ module Errors { a16 = b16; >a16 = b16 : (x: (a: T) => T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a16 : { (x: { (a: number): number; (a?: number): number; }): number[]; (x: { (a: boolean): boolean; (a?: boolean): boolean; }): boolean[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b16 : (x: (a: T) => T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ b16 = a16; >b16 = a16 : { (x: { (a: number): number; (a?: number): number; }): number[]; (x: { (a: boolean): boolean; (a?: boolean): boolean; }): boolean[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b16 : (x: (a: T) => T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a16 : { (x: { (a: number): number; (a?: number): number; }): number[]; (x: { (a: boolean): boolean; (a?: boolean): boolean; }): boolean[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ var b17: (x: (a: T) => T) => any[]; >b17 : (x: (a: T) => T) => any[] @@ -423,19 +423,19 @@ module Errors { a17 = b17; >a17 = b17 : (x: (a: T) => T) => any[] -> : ^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a17 : { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; } -> : ^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b17 : (x: (a: T) => T) => any[] -> : ^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ b17 = a17; >b17 = a17 : { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; } -> : ^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b17 : (x: (a: T) => T) => any[] -> : ^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a17 : { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; } -> : ^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ } module WithGenericSignaturesInBaseType { @@ -457,19 +457,19 @@ module Errors { a2 = b2; >a2 = b2 : (x: T) => string[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a2 : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b2 : (x: T) => string[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ b2 = a2; >b2 = a2 : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b2 : (x: T) => string[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a2 : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ // target type has generic call signature var a3: (x: T) => string[]; @@ -486,18 +486,18 @@ module Errors { a3 = b3; >a3 = b3 : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a3 : (x: T) => string[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b3 : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ b3 = a3; >b3 = a3 : (x: T) => string[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b3 : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a3 : (x: T) => string[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ } } diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures5.types b/tests/baselines/reference/assignmentCompatWithCallSignatures5.types index c31fc6e6560a1..911c4db793b3f 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures5.types +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures5.types @@ -69,7 +69,7 @@ var a5: (x: (arg: T) => U) => T; var a6: (x: (arg: T) => Derived) => T; >a6 : (x: (arg: T) => Derived) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : (arg: T) => Derived > : ^ ^^ ^^^^^ >arg : T @@ -101,7 +101,7 @@ var a15: (x: { a: T; b: T }) => T[]; var a16: (x: { a: T; b: T }) => T[]; >a16 : (x: { a: T; b: T; }) => T[] -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : { a: T; b: T; } > : ^^^^^ ^^^^^ ^^^ >a : T @@ -110,8 +110,8 @@ var a16: (x: { a: T; b: T }) => T[]; > : ^ var a17: { ->a17 : { (x: (a: T) => T): T[]; (x: (a: T_1) => T_1): T_1[]; } -> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>a17 : { (x: (a: T) => T): T[]; (x: (a: T) => T): T[]; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ (x: (a: T) => T): T[]; >x : (a: T) => T @@ -131,8 +131,8 @@ var a18: { > : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ (x: { ->x : { (a: T): T; (a: T_1): T_1; } -> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>x : { (a: T): T; (a: T): T; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ (a: T): T; >a : T @@ -144,8 +144,8 @@ var a18: { }): any[]; (x: { ->x : { (a: T): T; (a: T_1): T_1; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>x : { (a: T): T; (a: T): T; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ (a: T): T; >a : T @@ -166,19 +166,19 @@ var b: (x: T) => T[]; a = b; // ok >a = b : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ b = a; // ok >b = a : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ var b2: (x: T) => string[]; >b2 : (x: T) => string[] @@ -188,19 +188,19 @@ var b2: (x: T) => string[]; a2 = b2; // ok >a2 = b2 : (x: T) => string[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a2 : (x: T) => string[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b2 : (x: T) => string[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ b2 = a2; // ok >b2 = a2 : (x: T) => string[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b2 : (x: T) => string[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a2 : (x: T) => string[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ var b3: (x: T) => T; >b3 : (x: T) => T @@ -210,19 +210,19 @@ var b3: (x: T) => T; a3 = b3; // ok >a3 = b3 : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a3 : (x: T) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b3 : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ b3 = a3; // ok >b3 = a3 : (x: T) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b3 : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a3 : (x: T) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ var b4: (x: T, y: U) => string; >b4 : (x: T, y: U) => string @@ -234,19 +234,19 @@ var b4: (x: T, y: U) => string; a4 = b4; // ok >a4 = b4 : (x: T, y: U) => string -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a4 : (x: T, y: U) => string -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >b4 : (x: T, y: U) => string -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ b4 = a4; // ok >b4 = a4 : (x: T, y: U) => string -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >b4 : (x: T, y: U) => string -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a4 : (x: T, y: U) => string -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ var b5: (x: (arg: T) => U) => T; >b5 : (x: (arg: T) => U) => T @@ -258,23 +258,23 @@ var b5: (x: (arg: T) => U) => T; a5 = b5; // ok >a5 = b5 : (x: (arg: T) => U) => T -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a5 : (x: (arg: T) => U) => T -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >b5 : (x: (arg: T) => U) => T -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ b5 = a5; // ok >b5 = a5 : (x: (arg: T) => U) => T -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >b5 : (x: (arg: T) => U) => T -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a5 : (x: (arg: T) => U) => T -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var b6: (x: (arg: T) => U) => T; >b6 : (x: (arg: T) => U) => T -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : (arg: T) => U > : ^ ^^ ^^^^^ >arg : T @@ -282,19 +282,19 @@ var b6: (x: (arg: T) => U) => T; a6 = b6; // ok >a6 = b6 : (x: (arg: T) => U) => T -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a6 : (x: (arg: T) => Derived) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >b6 : (x: (arg: T) => U) => T -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ b6 = a6; // ok >b6 = a6 : (x: (arg: T) => Derived) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >b6 : (x: (arg: T) => U) => T -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a6 : (x: (arg: T) => Derived) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ var b11: (x: { foo: T }, y: { foo: U; bar: U }) => Base; >b11 : (x: { foo: T; }, y: { foo: U; bar: U; }) => Base @@ -312,19 +312,19 @@ var b11: (x: { foo: T }, y: { foo: U; bar: U }) => Base; a11 = b11; // ok >a11 = b11 : (x: { foo: T; }, y: { foo: U; bar: U; }) => Base -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a11 : (x: { foo: T; }, y: { foo: T; bar: T; }) => Base -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >b11 : (x: { foo: T; }, y: { foo: U; bar: U; }) => Base -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ b11 = a11; // ok >b11 = a11 : (x: { foo: T; }, y: { foo: T; bar: T; }) => Base -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >b11 : (x: { foo: T; }, y: { foo: U; bar: U; }) => Base -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a11 : (x: { foo: T; }, y: { foo: T; bar: T; }) => Base -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var b15: (x: { a: U; b: V; }) => U[]; >b15 : (x: { a: U; b: V; }) => U[] @@ -338,19 +338,19 @@ var b15: (x: { a: U; b: V; }) => U[]; a15 = b15; // ok, T = U, T = V >a15 = b15 : (x: { a: U; b: V; }) => U[] -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a15 : (x: { a: T; b: T; }) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b15 : (x: { a: U; b: V; }) => U[] -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ b15 = a15; // ok >b15 = a15 : (x: { a: T; b: T; }) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b15 : (x: { a: U; b: V; }) => U[] -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a15 : (x: { a: T; b: T; }) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ var b16: (x: { a: T; b: T }) => T[]; >b16 : (x: { a: T; b: T; }) => T[] @@ -364,19 +364,19 @@ var b16: (x: { a: T; b: T }) => T[]; a15 = b16; // ok >a15 = b16 : (x: { a: T; b: T; }) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a15 : (x: { a: T; b: T; }) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b16 : (x: { a: T; b: T; }) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ b15 = a16; // ok >b15 = a16 : (x: { a: T; b: T; }) => T[] -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >b15 : (x: { a: U; b: V; }) => U[] -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a16 : (x: { a: T; b: T; }) => T[] -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ var b17: (x: (a: T) => T) => T[]; >b17 : (x: (a: T) => T) => T[] @@ -388,19 +388,19 @@ var b17: (x: (a: T) => T) => T[]; a17 = b17; // ok >a17 = b17 : (x: (a: T) => T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ ->a17 : { (x: (a: T) => T): T[]; (x: (a: T_1) => T_1): T_1[]; } -> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ +>a17 : { (x: (a: T) => T): T[]; (x: (a: T) => T): T[]; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >b17 : (x: (a: T) => T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ b17 = a17; // ok ->b17 = a17 : { (x: (a: T) => T): T[]; (x: (a: T_1) => T_1): T_1[]; } -> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +>b17 = a17 : { (x: (a: T) => T): T[]; (x: (a: T) => T): T[]; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >b17 : (x: (a: T) => T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ ->a17 : { (x: (a: T) => T): T[]; (x: (a: T_1) => T_1): T_1[]; } -> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ +>a17 : { (x: (a: T) => T): T[]; (x: (a: T) => T): T[]; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ var b18: (x: (a: T) => T) => any[]; >b18 : (x: (a: T) => T) => any[] @@ -412,17 +412,17 @@ var b18: (x: (a: T) => T) => any[]; a18 = b18; // ok >a18 = b18 : (x: (a: T) => T) => any[] -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a18 : { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; } -> : ^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b18 : (x: (a: T) => T) => any[] -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ b18 = a18; // ok >b18 = a18 : { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; } -> : ^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b18 : (x: (a: T) => T) => any[] -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a18 : { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; } -> : ^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures6.types b/tests/baselines/reference/assignmentCompatWithCallSignatures6.types index 378ae62ce743e..0fecc27a18058 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures6.types +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures6.types @@ -70,7 +70,7 @@ interface A { a6: (x: (arg: T) => Derived) => T; >a6 : (x: (arg: T) => Derived) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : (arg: T) => Derived > : ^ ^^ ^^^^^ >arg : T @@ -102,7 +102,7 @@ interface A { a16: (x: { a: T; b: T }) => T[]; >a16 : (x: { a: T; b: T; }) => T[] -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : { a: T; b: T; } > : ^^^^^ ^^^^^ ^^^ >a : T @@ -123,27 +123,27 @@ var b: (x: T) => T[]; x.a = b; >x.a = b : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x.a : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : A > : ^ >a : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ b = x.a; >b = x.a : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x.a : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : A > : ^ >a : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ var b2: (x: T) => string[]; >b2 : (x: T) => string[] @@ -153,27 +153,27 @@ var b2: (x: T) => string[]; x.a2 = b2; >x.a2 = b2 : (x: T) => string[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x.a2 : (x: T) => string[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : A > : ^ >a2 : (x: T) => string[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b2 : (x: T) => string[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ b2 = x.a2; >b2 = x.a2 : (x: T) => string[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b2 : (x: T) => string[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x.a2 : (x: T) => string[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : A > : ^ >a2 : (x: T) => string[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ var b3: (x: T) => T; >b3 : (x: T) => T @@ -183,27 +183,27 @@ var b3: (x: T) => T; x.a3 = b3; >x.a3 = b3 : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x.a3 : (x: T) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : A > : ^ >a3 : (x: T) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b3 : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ b3 = x.a3; >b3 = x.a3 : (x: T) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b3 : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x.a3 : (x: T) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : A > : ^ >a3 : (x: T) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ var b4: (x: T, y: U) => string; >b4 : (x: T, y: U) => string @@ -215,27 +215,27 @@ var b4: (x: T, y: U) => string; x.a4 = b4; >x.a4 = b4 : (x: T, y: U) => string -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x.a4 : (x: T, y: U) => string -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : A > : ^ >a4 : (x: T, y: U) => string -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >b4 : (x: T, y: U) => string -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ b4 = x.a4; >b4 = x.a4 : (x: T, y: U) => string -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >b4 : (x: T, y: U) => string -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x.a4 : (x: T, y: U) => string -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : A > : ^ >a4 : (x: T, y: U) => string -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ var b5: (x: (arg: T) => U) => T; >b5 : (x: (arg: T) => U) => T @@ -247,27 +247,27 @@ var b5: (x: (arg: T) => U) => T; x.a5 = b5; >x.a5 = b5 : (x: (arg: T) => U) => T -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >x.a5 : (x: (arg: T) => U) => T -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >x : A > : ^ >a5 : (x: (arg: T) => U) => T -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >b5 : (x: (arg: T) => U) => T -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ b5 = x.a5; >b5 = x.a5 : (x: (arg: T) => U) => T -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >b5 : (x: (arg: T) => U) => T -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >x.a5 : (x: (arg: T) => U) => T -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >x : A > : ^ >a5 : (x: (arg: T) => U) => T -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var b11: (x: { foo: T }, y: { foo: U; bar: U }) => Base; >b11 : (x: { foo: T; }, y: { foo: U; bar: U; }) => Base @@ -285,27 +285,27 @@ var b11: (x: { foo: T }, y: { foo: U; bar: U }) => Base; x.a11 = b11; >x.a11 = b11 : (x: { foo: T; }, y: { foo: U; bar: U; }) => Base -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x.a11 : (x: { foo: T; }, y: { foo: T; bar: T; }) => Base -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >x : A > : ^ >a11 : (x: { foo: T; }, y: { foo: T; bar: T; }) => Base -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >b11 : (x: { foo: T; }, y: { foo: U; bar: U; }) => Base -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ b11 = x.a11; >b11 = x.a11 : (x: { foo: T; }, y: { foo: T; bar: T; }) => Base -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >b11 : (x: { foo: T; }, y: { foo: U; bar: U; }) => Base -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x.a11 : (x: { foo: T; }, y: { foo: T; bar: T; }) => Base -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >x : A > : ^ >a11 : (x: { foo: T; }, y: { foo: T; bar: T; }) => Base -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var b16: (x: { a: T; b: T }) => T[]; >b16 : (x: { a: T; b: T; }) => T[] @@ -319,25 +319,25 @@ var b16: (x: { a: T; b: T }) => T[]; x.a16 = b16; >x.a16 = b16 : (x: { a: T; b: T; }) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x.a16 : (x: { a: T; b: T; }) => T[] -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : A > : ^ >a16 : (x: { a: T; b: T; }) => T[] -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >b16 : (x: { a: T; b: T; }) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ b16 = x.a16; >b16 = x.a16 : (x: { a: T; b: T; }) => T[] -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >b16 : (x: { a: T; b: T; }) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x.a16 : (x: { a: T; b: T; }) => T[] -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : A > : ^ >a16 : (x: { a: T; b: T; }) => T[] -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/assignmentCompatWithCallSignaturesWithOptionalParameters.types b/tests/baselines/reference/assignmentCompatWithCallSignaturesWithOptionalParameters.types index 8b69f63655466..d8155c6bf4f84 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignaturesWithOptionalParameters.types +++ b/tests/baselines/reference/assignmentCompatWithCallSignaturesWithOptionalParameters.types @@ -56,7 +56,7 @@ var a: () => number; >a = () => 1 : () => number > : ^^^^^^^^^^^^ >a : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >() => 1 : () => number > : ^^^^^^^^^^^^ >1 : 1 @@ -66,7 +66,7 @@ var a: () => number; >a = (x?: number) => 1 : (x?: number) => number > : ^ ^^^ ^^^^^^^^^^^ >a : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >(x?: number) => 1 : (x?: number) => number > : ^ ^^^ ^^^^^^^^^^^ >x : number @@ -78,7 +78,7 @@ var a: () => number; >a = (x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >a : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >(x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >x : number @@ -88,75 +88,75 @@ var a: () => number; a = b.a; // ok >a = b.a : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >a : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >b.a : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >b : Base > : ^^^^ >a : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ a = b.a2; // ok >a = b.a2 : (x?: number) => number -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >a : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >b.a2 : (x?: number) => number -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >b : Base > : ^^^^ >a2 : (x?: number) => number -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ a = b.a3; // error >a = b.a3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >b.a3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : Base > : ^^^^ >a3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ a = b.a4; // error >a = b.a4 : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >a : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >b.a4 : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >b : Base > : ^^^^ >a4 : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ a = b.a5; // ok >a = b.a5 : (x?: number, y?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >a : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >b.a5 : (x?: number, y?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >b : Base > : ^^^^ >a5 : (x?: number, y?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ a = b.a6; // error >a = b.a6 : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >b.a6 : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >b : Base > : ^^^^ >a6 : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var a2: (x?: number) => number; >a2 : (x?: number) => number @@ -168,7 +168,7 @@ var a2: (x?: number) => number; >a2 = () => 1 : () => number > : ^^^^^^^^^^^^ >a2 : (x?: number) => number -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >() => 1 : () => number > : ^^^^^^^^^^^^ >1 : 1 @@ -178,7 +178,7 @@ var a2: (x?: number) => number; >a2 = (x?: number) => 1 : (x?: number) => number > : ^ ^^^ ^^^^^^^^^^^ >a2 : (x?: number) => number -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >(x?: number) => 1 : (x?: number) => number > : ^ ^^^ ^^^^^^^^^^^ >x : number @@ -190,7 +190,7 @@ var a2: (x?: number) => number; >a2 = (x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >a2 : (x?: number) => number -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >(x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >x : number @@ -200,75 +200,75 @@ var a2: (x?: number) => number; a2 = b.a; // ok >a2 = b.a : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >a2 : (x?: number) => number -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >b.a : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >b : Base > : ^^^^ >a : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ a2 = b.a2; // ok >a2 = b.a2 : (x?: number) => number -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >a2 : (x?: number) => number -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >b.a2 : (x?: number) => number -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >b : Base > : ^^^^ >a2 : (x?: number) => number -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ a2 = b.a3; // ok, same number of params >a2 = b.a3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a2 : (x?: number) => number -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >b.a3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : Base > : ^^^^ >a3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ a2 = b.a4; // ok, excess params are optional in b.a3 >a2 = b.a4 : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >a2 : (x?: number) => number -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >b.a4 : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >b : Base > : ^^^^ >a4 : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ a2 = b.a5; // ok >a2 = b.a5 : (x?: number, y?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >a2 : (x?: number) => number -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >b.a5 : (x?: number, y?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >b : Base > : ^^^^ >a5 : (x?: number, y?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ a2 = b.a6; // error >a2 = b.a6 : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a2 : (x?: number) => number -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >b.a6 : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >b : Base > : ^^^^ >a6 : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var a3: (x: number) => number; >a3 : (x: number) => number @@ -280,7 +280,7 @@ var a3: (x: number) => number; >a3 = () => 1 : () => number > : ^^^^^^^^^^^^ >a3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >() => 1 : () => number > : ^^^^^^^^^^^^ >1 : 1 @@ -290,7 +290,7 @@ var a3: (x: number) => number; >a3 = (x?: number) => 1 : (x?: number) => number > : ^ ^^^ ^^^^^^^^^^^ >a3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(x?: number) => 1 : (x?: number) => number > : ^ ^^^ ^^^^^^^^^^^ >x : number @@ -302,7 +302,7 @@ var a3: (x: number) => number; >a3 = (x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >a3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >x : number @@ -314,7 +314,7 @@ var a3: (x: number) => number; >a3 = (x: number, y: number) => 1 : (x: number, y: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >a3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(x: number, y: number) => 1 : (x: number, y: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : number @@ -326,75 +326,75 @@ var a3: (x: number) => number; a3 = b.a; // ok >a3 = b.a : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >a3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b.a : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >b : Base > : ^^^^ >a : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ a3 = b.a2; // ok >a3 = b.a2 : (x?: number) => number -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >a3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b.a2 : (x?: number) => number -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >b : Base > : ^^^^ >a2 : (x?: number) => number -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ a3 = b.a3; // ok >a3 = b.a3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b.a3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : Base > : ^^^^ >a3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ a3 = b.a4; // ok >a3 = b.a4 : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >a3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b.a4 : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >b : Base > : ^^^^ >a4 : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ a3 = b.a5; // ok >a3 = b.a5 : (x?: number, y?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >a3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b.a5 : (x?: number, y?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >b : Base > : ^^^^ >a5 : (x?: number, y?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ a3 = b.a6; // error >a3 = b.a6 : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b.a6 : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >b : Base > : ^^^^ >a6 : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var a4: (x: number, y?: number) => number; >a4 : (x: number, y?: number) => number @@ -408,7 +408,7 @@ var a4: (x: number, y?: number) => number; >a4 = () => 1 : () => number > : ^^^^^^^^^^^^ >a4 : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >() => 1 : () => number > : ^^^^^^^^^^^^ >1 : 1 @@ -418,7 +418,7 @@ var a4: (x: number, y?: number) => number; >a4 = (x?: number, y?: number) => 1 : (x?: number, y?: number) => number > : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >a4 : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >(x?: number, y?: number) => 1 : (x?: number, y?: number) => number > : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >x : number @@ -432,7 +432,7 @@ var a4: (x: number, y?: number) => number; >a4 = (x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >a4 : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >(x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >x : number @@ -444,7 +444,7 @@ var a4: (x: number, y?: number) => number; >a4 = (x: number, y: number) => 1 : (x: number, y: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >a4 : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >(x: number, y: number) => 1 : (x: number, y: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : number @@ -456,75 +456,75 @@ var a4: (x: number, y?: number) => number; a4 = b.a; // ok >a4 = b.a : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >a4 : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >b.a : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >b : Base > : ^^^^ >a : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ a4 = b.a2; // ok >a4 = b.a2 : (x?: number) => number -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >a4 : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >b.a2 : (x?: number) => number -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >b : Base > : ^^^^ >a2 : (x?: number) => number -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ a4 = b.a3; // ok >a4 = b.a3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a4 : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >b.a3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : Base > : ^^^^ >a3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ a4 = b.a4; // ok >a4 = b.a4 : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >a4 : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >b.a4 : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >b : Base > : ^^^^ >a4 : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ a4 = b.a5; // ok >a4 = b.a5 : (x?: number, y?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >a4 : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >b.a5 : (x?: number, y?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >b : Base > : ^^^^ >a5 : (x?: number, y?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ a4 = b.a6; // ok, same number of params >a4 = b.a6 : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a4 : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >b.a6 : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >b : Base > : ^^^^ >a6 : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var a5: (x?: number, y?: number) => number; >a5 : (x?: number, y?: number) => number @@ -538,7 +538,7 @@ var a5: (x?: number, y?: number) => number; >a5 = () => 1 : () => number > : ^^^^^^^^^^^^ >a5 : (x?: number, y?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >() => 1 : () => number > : ^^^^^^^^^^^^ >1 : 1 @@ -548,7 +548,7 @@ var a5: (x?: number, y?: number) => number; >a5 = (x?: number, y?: number) => 1 : (x?: number, y?: number) => number > : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >a5 : (x?: number, y?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >(x?: number, y?: number) => 1 : (x?: number, y?: number) => number > : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >x : number @@ -562,7 +562,7 @@ var a5: (x?: number, y?: number) => number; >a5 = (x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >a5 : (x?: number, y?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >(x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >x : number @@ -574,7 +574,7 @@ var a5: (x?: number, y?: number) => number; >a5 = (x: number, y: number) => 1 : (x: number, y: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >a5 : (x?: number, y?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >(x: number, y: number) => 1 : (x: number, y: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : number @@ -586,73 +586,73 @@ var a5: (x?: number, y?: number) => number; a5 = b.a; // ok >a5 = b.a : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >a5 : (x?: number, y?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >b.a : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >b : Base > : ^^^^ >a : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ a5 = b.a2; // ok >a5 = b.a2 : (x?: number) => number -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >a5 : (x?: number, y?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >b.a2 : (x?: number) => number -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >b : Base > : ^^^^ >a2 : (x?: number) => number -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ a5 = b.a3; // ok, fewer params in b.a3 >a5 = b.a3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a5 : (x?: number, y?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >b.a3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : Base > : ^^^^ >a3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ a5 = b.a4; // ok, same number of params >a5 = b.a4 : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >a5 : (x?: number, y?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >b.a4 : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >b : Base > : ^^^^ >a4 : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ a5 = b.a5; // ok >a5 = b.a5 : (x?: number, y?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >a5 : (x?: number, y?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >b.a5 : (x?: number, y?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >b : Base > : ^^^^ >a5 : (x?: number, y?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ a5 = b.a6; // ok, same number of params >a5 = b.a6 : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a5 : (x?: number, y?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >b.a6 : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >b : Base > : ^^^^ >a6 : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/assignmentCompatWithCallSignaturesWithRestParameters.types b/tests/baselines/reference/assignmentCompatWithCallSignaturesWithRestParameters.types index fd6cb626730c5..8dcf803b0f347 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignaturesWithRestParameters.types +++ b/tests/baselines/reference/assignmentCompatWithCallSignaturesWithRestParameters.types @@ -49,7 +49,7 @@ var a: (...args: number[]) => number; // ok, same number of required params >a = () => 1 : () => number > : ^^^^^^^^^^^^ >a : (...args: number[]) => number -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >() => 1 : () => number > : ^^^^^^^^^^^^ >1 : 1 @@ -59,7 +59,7 @@ var a: (...args: number[]) => number; // ok, same number of required params >a = (...args: number[]) => 1 : (...args: number[]) => number > : ^^^^ ^^ ^^^^^^^^^^^ >a : (...args: number[]) => number -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >(...args: number[]) => 1 : (...args: number[]) => number > : ^^^^ ^^ ^^^^^^^^^^^ >args : number[] @@ -71,7 +71,7 @@ var a: (...args: number[]) => number; // ok, same number of required params >a = (...args: string[]) => 1 : (...args: string[]) => number > : ^^^^ ^^ ^^^^^^^^^^^ >a : (...args: number[]) => number -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >(...args: string[]) => 1 : (...args: string[]) => number > : ^^^^ ^^ ^^^^^^^^^^^ >args : string[] @@ -83,7 +83,7 @@ var a: (...args: number[]) => number; // ok, same number of required params >a = (x?: number) => 1 : (x?: number) => number > : ^ ^^^ ^^^^^^^^^^^ >a : (...args: number[]) => number -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >(x?: number) => 1 : (x?: number) => number > : ^ ^^^ ^^^^^^^^^^^ >x : number @@ -95,7 +95,7 @@ var a: (...args: number[]) => number; // ok, same number of required params >a = (x?: number, y?: number, z?: number) => 1 : (x?: number, y?: number, z?: number) => number > : ^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >a : (...args: number[]) => number -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >(x?: number, y?: number, z?: number) => 1 : (x?: number, y?: number, z?: number) => number > : ^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >x : number @@ -111,7 +111,7 @@ var a: (...args: number[]) => number; // ok, same number of required params >a = (x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >a : (...args: number[]) => number -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >(x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >x : number @@ -123,7 +123,7 @@ var a: (...args: number[]) => number; // ok, same number of required params >a = (x?: string) => 1 : (x?: string) => number > : ^ ^^^ ^^^^^^^^^^^ >a : (...args: number[]) => number -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >(x?: string) => 1 : (x?: string) => number > : ^ ^^^ ^^^^^^^^^^^ >x : string @@ -144,7 +144,7 @@ var a2: (x: number, ...z: number[]) => number; >a2 = () => 1 : () => number > : ^^^^^^^^^^^^ >a2 : (x: number, ...z: number[]) => number -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >() => 1 : () => number > : ^^^^^^^^^^^^ >1 : 1 @@ -154,7 +154,7 @@ var a2: (x: number, ...z: number[]) => number; >a2 = (...args: number[]) => 1 : (...args: number[]) => number > : ^^^^ ^^ ^^^^^^^^^^^ >a2 : (x: number, ...z: number[]) => number -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >(...args: number[]) => 1 : (...args: number[]) => number > : ^^^^ ^^ ^^^^^^^^^^^ >args : number[] @@ -166,7 +166,7 @@ var a2: (x: number, ...z: number[]) => number; >a2 = (x?: number) => 1 : (x?: number) => number > : ^ ^^^ ^^^^^^^^^^^ >a2 : (x: number, ...z: number[]) => number -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >(x?: number) => 1 : (x?: number) => number > : ^ ^^^ ^^^^^^^^^^^ >x : number @@ -178,7 +178,7 @@ var a2: (x: number, ...z: number[]) => number; >a2 = (x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >a2 : (x: number, ...z: number[]) => number -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >(x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >x : number @@ -190,7 +190,7 @@ var a2: (x: number, ...z: number[]) => number; >a2 = (x: number, ...args: number[]) => 1 : (x: number, ...args: number[]) => number > : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ >a2 : (x: number, ...z: number[]) => number -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >(x: number, ...args: number[]) => 1 : (x: number, ...args: number[]) => number > : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ >x : number @@ -204,7 +204,7 @@ var a2: (x: number, ...z: number[]) => number; >a2 = (x: number, ...args: string[]) => 1 : (x: number, ...args: string[]) => number > : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ >a2 : (x: number, ...z: number[]) => number -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >(x: number, ...args: string[]) => 1 : (x: number, ...args: string[]) => number > : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ >x : number @@ -218,7 +218,7 @@ var a2: (x: number, ...z: number[]) => number; >a2 = (x: number, y: number) => 1 : (x: number, y: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >a2 : (x: number, ...z: number[]) => number -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >(x: number, y: number) => 1 : (x: number, y: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : number @@ -232,7 +232,7 @@ var a2: (x: number, ...z: number[]) => number; >a2 = (x: number, y?: number) => 1 : (x: number, y?: number) => number > : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ >a2 : (x: number, ...z: number[]) => number -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >(x: number, y?: number) => 1 : (x: number, y?: number) => number > : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ >x : number @@ -256,7 +256,7 @@ var a3: (x: number, y?: string, ...z: number[]) => number; >a3 = () => 1 : () => number > : ^^^^^^^^^^^^ >a3 : (x: number, y?: string, ...z: number[]) => number -> : ^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ >() => 1 : () => number > : ^^^^^^^^^^^^ >1 : 1 @@ -266,7 +266,7 @@ var a3: (x: number, y?: string, ...z: number[]) => number; >a3 = (x?: number) => 1 : (x?: number) => number > : ^ ^^^ ^^^^^^^^^^^ >a3 : (x: number, y?: string, ...z: number[]) => number -> : ^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ >(x?: number) => 1 : (x?: number) => number > : ^ ^^^ ^^^^^^^^^^^ >x : number @@ -278,7 +278,7 @@ var a3: (x: number, y?: string, ...z: number[]) => number; >a3 = (x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >a3 : (x: number, y?: string, ...z: number[]) => number -> : ^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ >(x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >x : number @@ -290,7 +290,7 @@ var a3: (x: number, y?: string, ...z: number[]) => number; >a3 = (x: number, y: string) => 1 : (x: number, y: string) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >a3 : (x: number, y?: string, ...z: number[]) => number -> : ^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ >(x: number, y: string) => 1 : (x: number, y: string) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : number @@ -304,7 +304,7 @@ var a3: (x: number, y?: string, ...z: number[]) => number; >a3 = (x: number, y?: number, z?: number) => 1 : (x: number, y?: number, z?: number) => number > : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >a3 : (x: number, y?: string, ...z: number[]) => number -> : ^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ >(x: number, y?: number, z?: number) => 1 : (x: number, y?: number, z?: number) => number > : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >x : number @@ -320,7 +320,7 @@ var a3: (x: number, y?: string, ...z: number[]) => number; >a3 = (x: number, ...z: number[]) => 1 : (x: number, ...z: number[]) => number > : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ >a3 : (x: number, y?: string, ...z: number[]) => number -> : ^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ >(x: number, ...z: number[]) => 1 : (x: number, ...z: number[]) => number > : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ >x : number @@ -334,7 +334,7 @@ var a3: (x: number, y?: string, ...z: number[]) => number; >a3 = (x: string, y?: string, z?: string) => 1 : (x: string, y?: string, z?: string) => number > : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >a3 : (x: number, y?: string, ...z: number[]) => number -> : ^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ >(x: string, y?: string, z?: string) => 1 : (x: string, y?: string, z?: string) => number > : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >x : string @@ -360,7 +360,7 @@ var a4: (x?: number, y?: string, ...z: number[]) => number; >a4 = () => 1 : () => number > : ^^^^^^^^^^^^ >a4 : (x?: number, y?: string, ...z: number[]) => number -> : ^ ^^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ >() => 1 : () => number > : ^^^^^^^^^^^^ >1 : 1 @@ -370,7 +370,7 @@ var a4: (x?: number, y?: string, ...z: number[]) => number; >a4 = (x?: number, y?: number) => 1 : (x?: number, y?: number) => number > : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >a4 : (x?: number, y?: string, ...z: number[]) => number -> : ^ ^^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ >(x?: number, y?: number) => 1 : (x?: number, y?: number) => number > : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >x : number @@ -384,7 +384,7 @@ var a4: (x?: number, y?: string, ...z: number[]) => number; >a4 = (x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >a4 : (x?: number, y?: string, ...z: number[]) => number -> : ^ ^^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ >(x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >x : number @@ -396,7 +396,7 @@ var a4: (x?: number, y?: string, ...z: number[]) => number; >a4 = (x: number, y?: number) => 1 : (x: number, y?: number) => number > : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ >a4 : (x?: number, y?: string, ...z: number[]) => number -> : ^ ^^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ >(x: number, y?: number) => 1 : (x: number, y?: number) => number > : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ >x : number @@ -410,7 +410,7 @@ var a4: (x?: number, y?: string, ...z: number[]) => number; >a4 = (x?: number, y?: string) => 1 : (x?: number, y?: string) => number > : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >a4 : (x?: number, y?: string, ...z: number[]) => number -> : ^ ^^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ >(x?: number, y?: string) => 1 : (x?: number, y?: string) => number > : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >x : number @@ -424,7 +424,7 @@ var a4: (x?: number, y?: string, ...z: number[]) => number; >a4 = (x: number, ...args: string[]) => 1 : (x: number, ...args: string[]) => number > : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ >a4 : (x?: number, y?: string, ...z: number[]) => number -> : ^ ^^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ >(x: number, ...args: string[]) => 1 : (x: number, ...args: string[]) => number > : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures.types b/tests/baselines/reference/assignmentCompatWithConstructSignatures.types index dbb556a024263..d804a060bf046 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures.types +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures.types @@ -20,17 +20,17 @@ var a: { new (x: number): void }; t = a; >t = a : new (x: number) => void -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >t : T > : ^ >a : new (x: number) => void -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ a = t; >a = t : T > : ^ >a : new (x: number) => void -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >t : T > : ^ @@ -59,27 +59,27 @@ t = s; t = a2; >t = a2 : new (x: number) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >t : T > : ^ >a2 : new (x: number) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ a = s; >a = s : S > : ^ >a : new (x: number) => void -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >s : S > : ^ a = a2; >a = a2 : new (x: number) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a : new (x: number) => void -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a2 : new (x: number) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ interface S2 { (x: string): void; @@ -107,11 +107,11 @@ t = s2; t = a3; >t = a3 : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >t : T > : ^ >a3 : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ t = (x: string) => 1; >t = (x: string) => 1 : (x: string) => number @@ -141,23 +141,23 @@ a = s2; >a = s2 : S2 > : ^^ >a : new (x: number) => void -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >s2 : S2 > : ^^ a = a3; >a = a3 : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : new (x: number) => void -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a3 : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ a = (x: string) => 1; >a = (x: string) => 1 : (x: string) => number > : ^ ^^ ^^^^^^^^^^^ >a : new (x: number) => void -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >(x: string) => 1 : (x: string) => number > : ^ ^^ ^^^^^^^^^^^ >x : string @@ -169,7 +169,7 @@ a = function (x: string) { return ''; } >a = function (x: string) { return ''; } : (x: string) => string > : ^ ^^ ^^^^^^^^^^^ >a : new (x: number) => void -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >function (x: string) { return ''; } : (x: string) => string > : ^ ^^ ^^^^^^^^^^^ >x : string diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures2.types b/tests/baselines/reference/assignmentCompatWithConstructSignatures2.types index 6e735aa9c151e..fe21cb472e55d 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures2.types +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures2.types @@ -24,17 +24,17 @@ var a: { f: new (x: number) => void }; t = a; >t = a : { f: new (x: number) => void; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ >t : T > : ^ >a : { f: new (x: number) => void; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ a = t; >a = t : T > : ^ >a : { f: new (x: number) => void; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ >t : T > : ^ @@ -67,27 +67,27 @@ t = s; t = a2; >t = a2 : { f: new (x: number) => string; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >t : T > : ^ >a2 : { f: new (x: number) => string; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ a = s; >a = s : S > : ^ >a : { f: new (x: number) => void; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ >s : S > : ^ a = a2; >a = a2 : { f: new (x: number) => string; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : { f: new (x: number) => void; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a2 : { f: new (x: number) => string; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ // errors t = () => 1; @@ -116,7 +116,7 @@ a = () => 1; >a = () => 1 : () => number > : ^^^^^^^^^^^^ >a : { f: new (x: number) => void; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ >() => 1 : () => number > : ^^^^^^^^^^^^ >1 : 1 @@ -126,7 +126,7 @@ a = function (x: number) { return ''; } >a = function (x: number) { return ''; } : (x: number) => string > : ^ ^^ ^^^^^^^^^^^ >a : { f: new (x: number) => void; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ >function (x: number) { return ''; } : (x: number) => string > : ^ ^^ ^^^^^^^^^^^ >x : number @@ -164,11 +164,11 @@ t = s2; t = a3; >t = a3 : { f(x: string): void; } -> : ^^^^ ^^ ^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ >t : T > : ^ >a3 : { f(x: string): void; } -> : ^^^^ ^^ ^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ t = (x: string) => 1; >t = (x: string) => 1 : (x: string) => number @@ -198,23 +198,23 @@ a = s2; >a = s2 : S2 > : ^^ >a : { f: new (x: number) => void; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ >s2 : S2 > : ^^ a = a3; >a = a3 : { f(x: string): void; } -> : ^^^^ ^^ ^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ >a : { f: new (x: number) => void; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a3 : { f(x: string): void; } -> : ^^^^ ^^ ^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ a = (x: string) => 1; >a = (x: string) => 1 : (x: string) => number > : ^ ^^ ^^^^^^^^^^^ >a : { f: new (x: number) => void; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ >(x: string) => 1 : (x: string) => number > : ^ ^^ ^^^^^^^^^^^ >x : string @@ -226,7 +226,7 @@ a = function (x: string) { return ''; } >a = function (x: string) { return ''; } : (x: string) => string > : ^ ^^ ^^^^^^^^^^^ >a : { f: new (x: number) => void; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ >function (x: string) { return ''; } : (x: string) => string > : ^ ^^ ^^^^^^^^^^^ >x : string diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures3.errors.txt b/tests/baselines/reference/assignmentCompatWithConstructSignatures3.errors.txt index fc64e02f7c6a9..ce2b75804682f 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures3.errors.txt +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures3.errors.txt @@ -42,12 +42,12 @@ assignmentCompatWithConstructSignatures3.ts(77,1): error TS2322: Type 'new (x: { Types of parameters 'y' and 'y' are incompatible. Type 'T' is not assignable to type '{ foo: string; bar: string; }'. Property 'bar' is missing in type 'Base' but required in type '{ foo: string; bar: string; }'. -assignmentCompatWithConstructSignatures3.ts(80,1): error TS2322: Type 'new (x: Base[], y: Derived2[]) => Derived[]' is not assignable to type 'new (x: Base[], y: T) => Derived[]'. +assignmentCompatWithConstructSignatures3.ts(80,1): error TS2322: Type 'new (x: Base[], y: Derived2[]) => Derived[]' is not assignable to type 'new >(x: Base[], y: T) => Derived[]'. Types of parameters 'y' and 'y' are incompatible. Type 'T' is not assignable to type 'Derived2[]'. Type 'Base[]' is not assignable to type 'Derived2[]'. Type 'Base' is missing the following properties from type 'Derived2': baz, bar -assignmentCompatWithConstructSignatures3.ts(83,1): error TS2322: Type 'new (x: Base[], y: Derived[]) => Derived[]' is not assignable to type 'new (x: Base[], y: T) => T'. +assignmentCompatWithConstructSignatures3.ts(83,1): error TS2322: Type 'new (x: Base[], y: Derived[]) => Derived[]' is not assignable to type 'new >(x: Base[], y: T) => T'. Type 'Derived[]' is not assignable to type 'T'. 'Derived[]' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint 'Derived[]'. assignmentCompatWithConstructSignatures3.ts(85,1): error TS2322: Type 'new (x: { a: T; b: T; }) => T' is not assignable to type 'new (x: { a: string; b: number; }) => Object'. @@ -204,7 +204,7 @@ assignmentCompatWithConstructSignatures3.ts(86,1): error TS2322: Type 'new (x: { a12 = b12; // ok b12 = a12; // ok ~~~ -!!! error TS2322: Type 'new (x: Base[], y: Derived2[]) => Derived[]' is not assignable to type 'new (x: Base[], y: T) => Derived[]'. +!!! error TS2322: Type 'new (x: Base[], y: Derived2[]) => Derived[]' is not assignable to type 'new >(x: Base[], y: T) => Derived[]'. !!! error TS2322: Types of parameters 'y' and 'y' are incompatible. !!! error TS2322: Type 'T' is not assignable to type 'Derived2[]'. !!! error TS2322: Type 'Base[]' is not assignable to type 'Derived2[]'. @@ -213,7 +213,7 @@ assignmentCompatWithConstructSignatures3.ts(86,1): error TS2322: Type 'new (x: { a13 = b13; // ok b13 = a13; // ok ~~~ -!!! error TS2322: Type 'new (x: Base[], y: Derived[]) => Derived[]' is not assignable to type 'new (x: Base[], y: T) => T'. +!!! error TS2322: Type 'new (x: Base[], y: Derived[]) => Derived[]' is not assignable to type 'new >(x: Base[], y: T) => T'. !!! error TS2322: Type 'Derived[]' is not assignable to type 'T'. !!! error TS2322: 'Derived[]' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint 'Derived[]'. var b14: new (x: { a: T; b: T }) => T; diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures3.types b/tests/baselines/reference/assignmentCompatWithConstructSignatures3.types index 7342a01553955..db13d8160940d 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures3.types +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures3.types @@ -173,7 +173,7 @@ var a15: { } var a16: { >a16 : { new (x: T): number[]; new (x: U): number[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ new (x: T): number[]; >x : T @@ -240,19 +240,19 @@ var b: new (x: T) => T[]; a = b; // ok >a = b : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a : new (x: number) => number[] -> : ^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ b = a; // ok >b = a : new (x: number) => number[] -> : ^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a : new (x: number) => number[] -> : ^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var b2: new (x: T) => string[]; >b2 : new (x: T) => string[] @@ -262,19 +262,19 @@ var b2: new (x: T) => string[]; a2 = b2; // ok >a2 = b2 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a2 : new (x: number) => string[] -> : ^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b2 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ b2 = a2; // ok >b2 = a2 : new (x: number) => string[] -> : ^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b2 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a2 : new (x: number) => string[] -> : ^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var b3: new (x: T) => T; >b3 : new (x: T) => T @@ -284,19 +284,19 @@ var b3: new (x: T) => T; a3 = b3; // ok >a3 = b3 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a3 : new (x: number) => void -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b3 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ b3 = a3; // ok >b3 = a3 : new (x: number) => void -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b3 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a3 : new (x: number) => void -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var b4: new (x: T, y: U) => T; >b4 : new (x: T, y: U) => T @@ -308,19 +308,19 @@ var b4: new (x: T, y: U) => T; a4 = b4; // ok >a4 = b4 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a4 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b4 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ b4 = a4; // ok >b4 = a4 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b4 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a4 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var b5: new (x: (arg: T) => U) => T; >b5 : new (x: (arg: T) => U) => T @@ -332,23 +332,23 @@ var b5: new (x: (arg: T) => U) => T; a5 = b5; // ok >a5 = b5 : new (x: (arg: T) => U) => T -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a5 : new (x: (arg: string) => number) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b5 : new (x: (arg: T) => U) => T -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ b5 = a5; // ok >b5 = a5 : new (x: (arg: string) => number) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b5 : new (x: (arg: T) => U) => T -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a5 : new (x: (arg: string) => number) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var b6: new (x: (arg: T) => U) => T; >b6 : new (x: (arg: T) => U) => T -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : (arg: T) => U > : ^ ^^ ^^^^^ >arg : T @@ -356,23 +356,23 @@ var b6: new (x: (arg: T) => U) => T; a6 = b6; // ok >a6 = b6 : new (x: (arg: T) => U) => T -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a6 : new (x: (arg: Base) => Derived) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b6 : new (x: (arg: T) => U) => T -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ b6 = a6; // ok >b6 = a6 : new (x: (arg: Base) => Derived) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b6 : new (x: (arg: T) => U) => T -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a6 : new (x: (arg: Base) => Derived) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var b7: new (x: (arg: T) => U) => (r: T) => U; >b7 : new (x: (arg: T) => U) => (r: T) => U -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : (arg: T) => U > : ^ ^^ ^^^^^ >arg : T @@ -382,23 +382,23 @@ var b7: new (x: (arg: T) => U) => (r: T) => U a7 = b7; // ok >a7 = b7 : new (x: (arg: T) => U) => (r: T) => U -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a7 : new (x: (arg: Base) => Derived) => (r: Base) => Derived -> : ^^^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b7 : new (x: (arg: T) => U) => (r: T) => U -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ b7 = a7; // ok >b7 = a7 : new (x: (arg: Base) => Derived) => (r: Base) => Derived -> : ^^^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b7 : new (x: (arg: T) => U) => (r: T) => U -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a7 : new (x: (arg: Base) => Derived) => (r: Base) => Derived -> : ^^^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var b8: new (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U; >b8 : new (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : (arg: T) => U > : ^ ^^ ^^^^^ >arg : T @@ -412,23 +412,23 @@ var b8: new (x: (arg: T) => U, y: (arg2: T) = a8 = b8; // ok >a8 = b8 : new (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a8 : new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b8 : new (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ b8 = a8; // ok >b8 = a8 : new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b8 : new (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a8 : new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var b9: new (x: (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => (r: T) => U; >b9 : new (x: (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => (r: T) => U -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : (arg: T) => U > : ^ ^^ ^^^^^ >arg : T @@ -446,45 +446,45 @@ var b9: new (x: (arg: T) => U, y: (arg2: { fo a9 = b9; // ok >a9 = b9 : new (x: (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => (r: T) => U -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a9 : new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b9 : new (x: (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => (r: T) => U -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ b9 = a9; // ok >b9 = a9 : new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b9 : new (x: (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => (r: T) => U -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a9 : new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var b10: new (...x: T[]) => T; >b10 : new (...x: T[]) => T -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >x : T[] > : ^^^ a10 = b10; // ok >a10 = b10 : new (...x: T[]) => T -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >a10 : new (...x: Derived[]) => Derived -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >b10 : new (...x: T[]) => T -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ b10 = a10; // ok >b10 = a10 : new (...x: Derived[]) => Derived -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >b10 : new (...x: T[]) => T -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >a10 : new (...x: Derived[]) => Derived -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var b11: new (x: T, y: T) => T; >b11 : new (x: T, y: T) => T -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T > : ^ >y : T @@ -492,67 +492,67 @@ var b11: new (x: T, y: T) => T; a11 = b11; // ok >a11 = b11 : new (x: T, y: T) => T -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a11 : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b11 : new (x: T, y: T) => T -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ b11 = a11; // ok >b11 = a11 : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b11 : new (x: T, y: T) => T -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a11 : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var b12: new >(x: Array, y: T) => Array; ->b12 : new (x: Array, y: T) => Array -> : ^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +>b12 : new >(x: Array, y: T) => Array +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : Base[] > : ^^^^^^ >y : T > : ^ a12 = b12; // ok ->a12 = b12 : new (x: Array, y: T) => Derived[] -> : ^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->a12 : new (x: Array, y: Array) => Derived[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->b12 : new (x: Array, y: T) => Derived[] -> : ^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>a12 = b12 : new >(x: Array, y: T) => Array +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +>a12 : new (x: Array, y: Array) => Array +> : ^^^^^ ^^ ^^ ^^ ^^^^^ +>b12 : new >(x: Array, y: T) => Array +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ b12 = a12; // ok ->b12 = a12 : new (x: Array, y: Array) => Derived[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->b12 : new (x: Array, y: T) => Derived[] -> : ^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->a12 : new (x: Array, y: Array) => Derived[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>b12 = a12 : new (x: Array, y: Array) => Array +> : ^^^^^ ^^ ^^ ^^ ^^^^^ +>b12 : new >(x: Array, y: T) => Array +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +>a12 : new (x: Array, y: Array) => Array +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var b13: new >(x: Array, y: T) => T; ->b13 : new (x: Array, y: T) => T -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +>b13 : new >(x: Array, y: T) => T +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : Base[] > : ^^^^^^ >y : T > : ^ a13 = b13; // ok ->a13 = b13 : new (x: Array, y: T) => T -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ->a13 : new (x: Array, y: Array) => Derived[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->b13 : new (x: Array, y: T) => T -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +>a13 = b13 : new >(x: Array, y: T) => T +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +>a13 : new (x: Array, y: Array) => Array +> : ^^^^^ ^^ ^^ ^^ ^^^^^ +>b13 : new >(x: Array, y: T) => T +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ b13 = a13; // ok ->b13 = a13 : new (x: Array, y: Array) => Derived[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->b13 : new (x: Array, y: T) => T -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ->a13 : new (x: Array, y: Array) => Derived[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>b13 = a13 : new (x: Array, y: Array) => Array +> : ^^^^^ ^^ ^^ ^^ ^^^^^ +>b13 : new >(x: Array, y: T) => T +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +>a13 : new (x: Array, y: Array) => Array +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var b14: new (x: { a: T; b: T }) => T; >b14 : new (x: { a: T; b: T; }) => T @@ -566,19 +566,19 @@ var b14: new (x: { a: T; b: T }) => T; a14 = b14; // ok >a14 = b14 : new (x: { a: T; b: T; }) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a14 : new (x: { a: string; b: number; }) => Object -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b14 : new (x: { a: T; b: T; }) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ b14 = a14; // ok >b14 = a14 : new (x: { a: string; b: number; }) => Object -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b14 : new (x: { a: T; b: T; }) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a14 : new (x: { a: string; b: number; }) => Object -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var b15: new (x: T) => T[]; >b15 : new (x: T) => T[] @@ -588,41 +588,41 @@ var b15: new (x: T) => T[]; a15 = b15; // ok >a15 = b15 : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a15 : { new (x: number): number[]; new (x: string): string[]; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ >b15 : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ b15 = a15; // ok >b15 = a15 : { new (x: number): number[]; new (x: string): string[]; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ >b15 : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a15 : { new (x: number): number[]; new (x: string): string[]; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ var b16: new (x: T) => number[]; >b16 : new (x: T) => number[] -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : T > : ^ a16 = b16; // ok >a16 = b16 : new (x: T) => number[] -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a16 : { new (x: T): number[]; new (x: U): number[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >b16 : new (x: T) => number[] -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ b16 = a16; // ok >b16 = a16 : { new (x: T): number[]; new (x: U): number[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >b16 : new (x: T) => number[] -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a16 : { new (x: T): number[]; new (x: U): number[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ var b17: new (x: new (a: T) => T) => T[]; // ok >b17 : new (x: new (a: T) => T) => T[] @@ -634,19 +634,19 @@ var b17: new (x: new (a: T) => T) => T[]; // ok a17 = b17; // ok >a17 = b17 : new (x: new (a: T) => T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a17 : { new (x: new (a: number) => number): number[]; new (x: new (a: string) => string): string[]; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ >b17 : new (x: new (a: T) => T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ b17 = a17; // ok >b17 = a17 : { new (x: new (a: number) => number): number[]; new (x: new (a: string) => string): string[]; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ >b17 : new (x: new (a: T) => T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a17 : { new (x: new (a: number) => number): number[]; new (x: new (a: string) => string): string[]; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ var b18: new (x: new (a: T) => T) => T[]; >b18 : new (x: new (a: T) => T) => T[] @@ -658,17 +658,17 @@ var b18: new (x: new (a: T) => T) => T[]; a18 = b18; // ok >a18 = b18 : new (x: new (a: T) => T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a18 : { new (x: { new (a: number): number; new (a: string): string; }): any[]; new (x: { new (a: boolean): boolean; new (a: Date): Date; }): any[]; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ >b18 : new (x: new (a: T) => T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ b18 = a18; // ok >b18 = a18 : { new (x: { new (a: number): number; new (a: string): string; }): any[]; new (x: { new (a: boolean): boolean; new (a: Date): Date; }): any[]; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ >b18 : new (x: new (a: T) => T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a18 : { new (x: { new (a: number): number; new (a: string): string; }): any[]; new (x: { new (a: boolean): boolean; new (a: Date): Date; }): any[]; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures4.errors.txt b/tests/baselines/reference/assignmentCompatWithConstructSignatures4.errors.txt index 6fffdce00b771..9c654f2e09c20 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures4.errors.txt +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures4.errors.txt @@ -23,7 +23,7 @@ assignmentCompatWithConstructSignatures4.ts(58,9): error TS2322: Type 'new (...x assignmentCompatWithConstructSignatures4.ts(62,9): error TS2322: Type 'new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base' is not assignable to type 'new (x: T, y: T) => T'. Type 'Base' is not assignable to type 'T'. 'T' could be instantiated with an arbitrary type which could be unrelated to 'Base'. -assignmentCompatWithConstructSignatures4.ts(66,9): error TS2322: Type 'new (x: Base[], y: Derived2[]) => Derived[]' is not assignable to type 'new (x: Base[], y: Base[]) => T'. +assignmentCompatWithConstructSignatures4.ts(66,9): error TS2322: Type 'new (x: Base[], y: Derived2[]) => Derived[]' is not assignable to type 'new >(x: Base[], y: Base[]) => T'. Type 'Derived[]' is not assignable to type 'T'. 'T' could be instantiated with an arbitrary type which could be unrelated to 'Derived[]'. assignmentCompatWithConstructSignatures4.ts(69,9): error TS2322: Type 'new (x: { a: T; b: T; }) => T' is not assignable to type 'new (x: { a: string; b: number; }) => number'. @@ -179,7 +179,7 @@ assignmentCompatWithConstructSignatures4.ts(96,9): error TS2322: Type 'new (x a12 = b12; // ok b12 = a12; // ok ~~~ -!!! error TS2322: Type 'new (x: Base[], y: Derived2[]) => Derived[]' is not assignable to type 'new (x: Base[], y: Base[]) => T'. +!!! error TS2322: Type 'new (x: Base[], y: Derived2[]) => Derived[]' is not assignable to type 'new >(x: Base[], y: Base[]) => T'. !!! error TS2322: Type 'Derived[]' is not assignable to type 'T'. !!! error TS2322: 'T' could be instantiated with an arbitrary type which could be unrelated to 'Derived[]'. diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures4.types b/tests/baselines/reference/assignmentCompatWithConstructSignatures4.types index 0a78edf13e980..c6660acd5d6b5 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures4.types +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures4.types @@ -159,8 +159,8 @@ module Errors { > : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ new (x: { ->x : { new (a: T): T; new (a: T_1): T_1; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>x : { new (a: T): T; new (a: T): T; } +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ new (a: T): T; >a : T @@ -172,8 +172,8 @@ module Errors { }): any[]; new (x: { ->x : { new (a: T): T; new (a: T_1): T_1; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>x : { new (a: T): T; new (a: T): T; } +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ new (a: T): T; >a : T @@ -194,23 +194,23 @@ module Errors { a2 = b2; // ok >a2 = b2 : new (x: T) => U[] -> : ^^^^^ ^^^^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a2 : new (x: number) => string[] -> : ^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b2 : new (x: T) => U[] -> : ^^^^^ ^^^^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ b2 = a2; // ok >b2 = a2 : new (x: number) => string[] -> : ^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b2 : new (x: T) => U[] -> : ^^^^^ ^^^^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a2 : new (x: number) => string[] -> : ^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var b7: new (x: (arg: T) => U) => (r: T) => V; >b7 : new (x: (arg: T) => U) => (r: T) => V -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : (arg: T) => U > : ^ ^^ ^^^^^ >arg : T @@ -220,23 +220,23 @@ module Errors { a7 = b7; // ok >a7 = b7 : new (x: (arg: T) => U) => (r: T) => V -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a7 : new (x: (arg: Base) => Derived) => (r: Base) => Derived2 -> : ^^^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b7 : new (x: (arg: T) => U) => (r: T) => V -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ b7 = a7; // ok >b7 = a7 : new (x: (arg: Base) => Derived) => (r: Base) => Derived2 -> : ^^^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b7 : new (x: (arg: T) => U) => (r: T) => V -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a7 : new (x: (arg: Base) => Derived) => (r: Base) => Derived2 -> : ^^^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var b8: new (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U; >b8 : new (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : (arg: T) => U > : ^ ^^ ^^^^^ >arg : T @@ -252,46 +252,46 @@ module Errors { a8 = b8; // error, type mismatch >a8 = b8 : new (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a8 : new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b8 : new (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ b8 = a8; // error >b8 = a8 : new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b8 : new (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a8 : new (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var b10: new (...x: T[]) => T; >b10 : new (...x: T[]) => T -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >x : T[] > : ^^^ a10 = b10; // ok >a10 = b10 : new (...x: T[]) => T -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >a10 : new (...x: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >b10 : new (...x: T[]) => T -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ b10 = a10; // ok >b10 = a10 : new (...x: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >b10 : new (...x: T[]) => T -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >a10 : new (...x: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var b11: new (x: T, y: T) => T; >b11 : new (x: T, y: T) => T -> : ^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T > : ^ >y : T @@ -299,43 +299,43 @@ module Errors { a11 = b11; // ok >a11 = b11 : new (x: T, y: T) => T -> : ^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a11 : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b11 : new (x: T, y: T) => T -> : ^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ b11 = a11; // ok >b11 = a11 : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b11 : new (x: T, y: T) => T -> : ^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a11 : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var b12: new >(x: Array, y: Array) => T; ->b12 : new (x: Array, y: Array) => T -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +>b12 : new >(x: Array, y: Array) => T +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : Base[] > : ^^^^^^ >y : Base[] > : ^^^^^^ a12 = b12; // ok ->a12 = b12 : new (x: Array, y: Array) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ->a12 : new (x: Array, y: Array) => Derived[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->b12 : new (x: Array, y: Array) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +>a12 = b12 : new >(x: Array, y: Array) => T +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +>a12 : new (x: Array, y: Array) => Array +> : ^^^^^ ^^ ^^ ^^ ^^^^^ +>b12 : new >(x: Array, y: Array) => T +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ b12 = a12; // ok ->b12 = a12 : new (x: Array, y: Array) => Derived[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->b12 : new (x: Array, y: Array) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ->a12 : new (x: Array, y: Array) => Derived[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>b12 = a12 : new (x: Array, y: Array) => Array +> : ^^^^^ ^^ ^^ ^^ ^^^^^ +>b12 : new >(x: Array, y: Array) => T +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +>a12 : new (x: Array, y: Array) => Array +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var b15: new (x: { a: T; b: T }) => T; >b15 : new (x: { a: T; b: T; }) => T @@ -349,23 +349,23 @@ module Errors { a15 = b15; // ok >a15 = b15 : new (x: { a: T; b: T; }) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a15 : new (x: { a: string; b: number; }) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b15 : new (x: { a: T; b: T; }) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ b15 = a15; // ok >b15 = a15 : new (x: { a: string; b: number; }) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b15 : new (x: { a: T; b: T; }) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a15 : new (x: { a: string; b: number; }) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var b15a: new (x: { a: T; b: T }) => number; >b15a : new (x: { a: T; b: T; }) => number -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : { a: T; b: T; } > : ^^^^^ ^^^^^ ^^^ >a : T @@ -375,19 +375,19 @@ module Errors { a15 = b15a; // ok >a15 = b15a : new (x: { a: T; b: T; }) => number -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a15 : new (x: { a: string; b: number; }) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b15a : new (x: { a: T; b: T; }) => number -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ b15a = a15; // ok >b15a = a15 : new (x: { a: string; b: number; }) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b15a : new (x: { a: T; b: T; }) => number -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a15 : new (x: { a: string; b: number; }) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var b16: new (x: (a: T) => T) => T[]; >b16 : new (x: (a: T) => T) => T[] @@ -399,19 +399,19 @@ module Errors { a16 = b16; // error >a16 = b16 : new (x: (a: T) => T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a16 : { new (x: { new (a: number): number; new (a?: number): number; }): number[]; new (x: { new (a: boolean): boolean; new (a?: boolean): boolean; }): boolean[]; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ >b16 : new (x: (a: T) => T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ b16 = a16; // error >b16 = a16 : { new (x: { new (a: number): number; new (a?: number): number; }): number[]; new (x: { new (a: boolean): boolean; new (a?: boolean): boolean; }): boolean[]; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ >b16 : new (x: (a: T) => T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a16 : { new (x: { new (a: number): number; new (a?: number): number; }): number[]; new (x: { new (a: boolean): boolean; new (a?: boolean): boolean; }): boolean[]; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ var b17: new (x: (a: T) => T) => any[]; >b17 : new (x: (a: T) => T) => any[] @@ -423,19 +423,19 @@ module Errors { a17 = b17; // error >a17 = b17 : new (x: (a: T) => T) => any[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a17 : { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ >b17 : new (x: (a: T) => T) => any[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ b17 = a17; // error >b17 = a17 : { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ >b17 : new (x: (a: T) => T) => any[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a17 : { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ } module WithGenericSignaturesInBaseType { @@ -457,19 +457,19 @@ module Errors { a2 = b2; // ok >a2 = b2 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a2 : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b2 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ b2 = a2; // ok >b2 = a2 : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b2 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a2 : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ // target type has generic call signature var a3: new (x: T) => string[]; @@ -486,18 +486,18 @@ module Errors { a3 = b3; // ok >a3 = b3 : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a3 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b3 : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ b3 = a3; // ok >b3 = a3 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b3 : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a3 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ } } diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures5.types b/tests/baselines/reference/assignmentCompatWithConstructSignatures5.types index 8189c331a8080..9d799dad6853c 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures5.types +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures5.types @@ -69,7 +69,7 @@ var a5: new (x: new (arg: T) => U) => T; var a6: new (x: new (arg: T) => Derived) => T; >a6 : new (x: new (arg: T) => Derived) => T -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : new (arg: T) => Derived > : ^^^^^ ^^ ^^^^^ >arg : T @@ -101,7 +101,7 @@ var a15: new (x: { a: T; b: T }) => T[]; var a16: new (x: { a: T; b: T }) => T[]; >a16 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : { a: T; b: T; } > : ^^^^^ ^^^^^ ^^^ >a : T @@ -110,8 +110,8 @@ var a16: new (x: { a: T; b: T }) => T[]; > : ^ var a17: { ->a17 : { new (x: new (a: T) => T): T[]; new (x: new (a: T_1) => T_1): T_1[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>a17 : { new (x: new (a: T) => T): T[]; new (x: new (a: T) => T): T[]; } +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ new (x: new (a: T) => T): T[]; >x : new (a: T) => T @@ -131,8 +131,8 @@ var a18: { > : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ new (x: { ->x : { new (a: T): T; new (a: T_1): T_1; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>x : { new (a: T): T; new (a: T): T; } +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ new (a: T): T; >a : T @@ -144,8 +144,8 @@ var a18: { }): any[]; new (x: { ->x : { new (a: T): T; new (a: T_1): T_1; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>x : { new (a: T): T; new (a: T): T; } +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ new (a: T): T; >a : T @@ -166,19 +166,19 @@ var b: new (x: T) => T[]; a = b; // ok >a = b : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ b = a; // ok >b = a : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var b2: new (x: T) => string[]; >b2 : new (x: T) => string[] @@ -188,19 +188,19 @@ var b2: new (x: T) => string[]; a2 = b2; // ok >a2 = b2 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a2 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b2 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ b2 = a2; // ok >b2 = a2 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b2 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a2 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var b3: new (x: T) => T; >b3 : new (x: T) => T @@ -210,19 +210,19 @@ var b3: new (x: T) => T; a3 = b3; // ok >a3 = b3 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a3 : new (x: T) => void -> : ^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b3 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ b3 = a3; // ok >b3 = a3 : new (x: T) => void -> : ^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b3 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a3 : new (x: T) => void -> : ^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var b4: new (x: T, y: U) => string; >b4 : new (x: T, y: U) => string @@ -234,19 +234,19 @@ var b4: new (x: T, y: U) => string; a4 = b4; // ok >a4 = b4 : new (x: T, y: U) => string -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a4 : new (x: T, y: U) => string -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >b4 : new (x: T, y: U) => string -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ b4 = a4; // ok >b4 = a4 : new (x: T, y: U) => string -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >b4 : new (x: T, y: U) => string -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a4 : new (x: T, y: U) => string -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ var b5: new (x: new (arg: T) => U) => T; >b5 : new (x: new (arg: T) => U) => T @@ -258,23 +258,23 @@ var b5: new (x: new (arg: T) => U) => T; a5 = b5; // ok >a5 = b5 : new (x: new (arg: T) => U) => T -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a5 : new (x: new (arg: T) => U) => T -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b5 : new (x: new (arg: T) => U) => T -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ b5 = a5; // ok >b5 = a5 : new (x: new (arg: T) => U) => T -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b5 : new (x: new (arg: T) => U) => T -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a5 : new (x: new (arg: T) => U) => T -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var b6: new (x: new (arg: T) => U) => T; >b6 : new (x: new (arg: T) => U) => T -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : new (arg: T) => U > : ^^^^^ ^^ ^^^^^ >arg : T @@ -282,19 +282,19 @@ var b6: new (x: new (arg: T) => U) => T; a6 = b6; // ok >a6 = b6 : new (x: new (arg: T) => U) => T -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a6 : new (x: new (arg: T) => Derived) => T -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >b6 : new (x: new (arg: T) => U) => T -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ b6 = a6; // ok >b6 = a6 : new (x: new (arg: T) => Derived) => T -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >b6 : new (x: new (arg: T) => U) => T -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a6 : new (x: new (arg: T) => Derived) => T -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ var b11: new (x: { foo: T }, y: { foo: U; bar: U }) => Base; >b11 : new (x: { foo: T; }, y: { foo: U; bar: U; }) => Base @@ -312,19 +312,19 @@ var b11: new (x: { foo: T }, y: { foo: U; bar: U }) => Base; a11 = b11; // ok >a11 = b11 : new (x: { foo: T; }, y: { foo: U; bar: U; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a11 : new (x: { foo: T; }, y: { foo: T; bar: T; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b11 : new (x: { foo: T; }, y: { foo: U; bar: U; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ b11 = a11; // ok >b11 = a11 : new (x: { foo: T; }, y: { foo: T; bar: T; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b11 : new (x: { foo: T; }, y: { foo: U; bar: U; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a11 : new (x: { foo: T; }, y: { foo: T; bar: T; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var b15: new (x: { a: U; b: V; }) => U[]; >b15 : new (x: { a: U; b: V; }) => U[] @@ -338,19 +338,19 @@ var b15: new (x: { a: U; b: V; }) => U[]; a15 = b15; // ok >a15 = b15 : new (x: { a: U; b: V; }) => U[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a15 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b15 : new (x: { a: U; b: V; }) => U[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ b15 = a15; // ok >b15 = a15 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b15 : new (x: { a: U; b: V; }) => U[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a15 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var b16: new (x: { a: T; b: T }) => T[]; >b16 : new (x: { a: T; b: T; }) => T[] @@ -364,19 +364,19 @@ var b16: new (x: { a: T; b: T }) => T[]; a15 = b16; // ok >a15 = b16 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a15 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b16 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ b15 = a16; // ok >b15 = a16 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >b15 : new (x: { a: U; b: V; }) => U[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a16 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ var b17: new (x: new (a: T) => T) => T[]; >b17 : new (x: new (a: T) => T) => T[] @@ -388,19 +388,19 @@ var b17: new (x: new (a: T) => T) => T[]; a17 = b17; // ok >a17 = b17 : new (x: new (a: T) => T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ ->a17 : { new (x: new (a: T) => T): T[]; new (x: new (a: T_1) => T_1): T_1[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ +>a17 : { new (x: new (a: T) => T): T[]; new (x: new (a: T) => T): T[]; } +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >b17 : new (x: new (a: T) => T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ b17 = a17; // ok ->b17 = a17 : { new (x: new (a: T) => T): T[]; new (x: new (a: T_1) => T_1): T_1[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +>b17 = a17 : { new (x: new (a: T) => T): T[]; new (x: new (a: T) => T): T[]; } +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >b17 : new (x: new (a: T) => T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ ->a17 : { new (x: new (a: T) => T): T[]; new (x: new (a: T_1) => T_1): T_1[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ +>a17 : { new (x: new (a: T) => T): T[]; new (x: new (a: T) => T): T[]; } +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ var b18: new (x: new (a: T) => T) => any[]; >b18 : new (x: new (a: T) => T) => any[] @@ -412,17 +412,17 @@ var b18: new (x: new (a: T) => T) => any[]; a18 = b18; // ok >a18 = b18 : new (x: new (a: T) => T) => any[] -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a18 : { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ >b18 : new (x: new (a: T) => T) => any[] -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ b18 = a18; // ok >b18 = a18 : { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ >b18 : new (x: new (a: T) => T) => any[] -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a18 : { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures6.types b/tests/baselines/reference/assignmentCompatWithConstructSignatures6.types index 39fa6083f9702..49e305196573a 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures6.types +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures6.types @@ -70,7 +70,7 @@ interface A { a6: new (x: (arg: T) => Derived) => T; >a6 : new (x: (arg: T) => Derived) => T -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : (arg: T) => Derived > : ^ ^^ ^^^^^ >arg : T @@ -102,7 +102,7 @@ interface A { a16: new (x: { a: T; b: T }) => T[]; >a16 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : { a: T; b: T; } > : ^^^^^ ^^^^^ ^^^ >a : T @@ -123,27 +123,27 @@ var b: new (x: T) => T[]; x.a = b; >x.a = b : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >x.a : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >x : A > : ^ >a : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ b = x.a; >b = x.a : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >x.a : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >x : A > : ^ >a : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var b2: new (x: T) => string[]; >b2 : new (x: T) => string[] @@ -153,27 +153,27 @@ var b2: new (x: T) => string[]; x.a2 = b2; >x.a2 = b2 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >x.a2 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >x : A > : ^ >a2 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b2 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ b2 = x.a2; >b2 = x.a2 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b2 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >x.a2 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >x : A > : ^ >a2 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var b3: new (x: T) => T; >b3 : new (x: T) => T @@ -183,27 +183,27 @@ var b3: new (x: T) => T; x.a3 = b3; >x.a3 = b3 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >x.a3 : new (x: T) => void -> : ^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >x : A > : ^ >a3 : new (x: T) => void -> : ^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b3 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ b3 = x.a3; >b3 = x.a3 : new (x: T) => void -> : ^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b3 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >x.a3 : new (x: T) => void -> : ^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >x : A > : ^ >a3 : new (x: T) => void -> : ^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var b4: new (x: T, y: U) => string; >b4 : new (x: T, y: U) => string @@ -215,27 +215,27 @@ var b4: new (x: T, y: U) => string; x.a4 = b4; >x.a4 = b4 : new (x: T, y: U) => string -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x.a4 : new (x: T, y: U) => string -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : A > : ^ >a4 : new (x: T, y: U) => string -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >b4 : new (x: T, y: U) => string -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ b4 = x.a4; >b4 = x.a4 : new (x: T, y: U) => string -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >b4 : new (x: T, y: U) => string -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x.a4 : new (x: T, y: U) => string -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : A > : ^ >a4 : new (x: T, y: U) => string -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ var b5: new (x: (arg: T) => U) => T; >b5 : new (x: (arg: T) => U) => T @@ -247,27 +247,27 @@ var b5: new (x: (arg: T) => U) => T; x.a5 = b5; >x.a5 = b5 : new (x: (arg: T) => U) => T -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >x.a5 : new (x: (arg: T) => U) => T -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >x : A > : ^ >a5 : new (x: (arg: T) => U) => T -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b5 : new (x: (arg: T) => U) => T -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ b5 = x.a5; >b5 = x.a5 : new (x: (arg: T) => U) => T -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b5 : new (x: (arg: T) => U) => T -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >x.a5 : new (x: (arg: T) => U) => T -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >x : A > : ^ >a5 : new (x: (arg: T) => U) => T -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var b11: new (x: { foo: T }, y: { foo: U; bar: U }) => Base; >b11 : new (x: { foo: T; }, y: { foo: U; bar: U; }) => Base @@ -285,27 +285,27 @@ var b11: new (x: { foo: T }, y: { foo: U; bar: U }) => Base; x.a11 = b11; >x.a11 = b11 : new (x: { foo: T; }, y: { foo: U; bar: U; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x.a11 : new (x: { foo: T; }, y: { foo: T; bar: T; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : A > : ^ >a11 : new (x: { foo: T; }, y: { foo: T; bar: T; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b11 : new (x: { foo: T; }, y: { foo: U; bar: U; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ b11 = x.a11; >b11 = x.a11 : new (x: { foo: T; }, y: { foo: T; bar: T; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b11 : new (x: { foo: T; }, y: { foo: U; bar: U; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x.a11 : new (x: { foo: T; }, y: { foo: T; bar: T; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : A > : ^ >a11 : new (x: { foo: T; }, y: { foo: T; bar: T; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var b16: new (x: { a: T; b: T }) => T[]; >b16 : new (x: { a: T; b: T; }) => T[] @@ -319,25 +319,25 @@ var b16: new (x: { a: T; b: T }) => T[]; x.a16 = b16; >x.a16 = b16 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >x.a16 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : A > : ^ >a16 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >b16 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ b16 = x.a16; >b16 = x.a16 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >b16 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >x.a16 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : A > : ^ >a16 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignaturesWithOptionalParameters.types b/tests/baselines/reference/assignmentCompatWithConstructSignaturesWithOptionalParameters.types index d165a50f6c9dc..aa239f7b8fc06 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignaturesWithOptionalParameters.types +++ b/tests/baselines/reference/assignmentCompatWithConstructSignaturesWithOptionalParameters.types @@ -54,75 +54,75 @@ var a: new () => number; a = b.a; // ok >a = b.a : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b.a : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b : Base > : ^^^^ >a : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ a = b.a2; // ok >a = b.a2 : new (x?: number) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b.a2 : new (x?: number) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >b : Base > : ^^^^ >a2 : new (x?: number) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ a = b.a3; // error >a = b.a3 : new (x: number) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b.a3 : new (x: number) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b : Base > : ^^^^ >a3 : new (x: number) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ a = b.a4; // error >a = b.a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^ >a : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b.a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^ >b : Base > : ^^^^ >a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^ a = b.a5; // ok >a = b.a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b.a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ >b : Base > : ^^^^ >a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ a = b.a6; // error >a = b.a6 : new (x: number, y: number) => number -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b.a6 : new (x: number, y: number) => number -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b : Base > : ^^^^ >a6 : new (x: number, y: number) => number -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var a2: new (x?: number) => number; >a2 : new (x?: number) => number @@ -132,75 +132,75 @@ var a2: new (x?: number) => number; a2 = b.a; // ok >a2 = b.a : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a2 : new (x?: number) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >b.a : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b : Base > : ^^^^ >a : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ a2 = b.a2; // ok >a2 = b.a2 : new (x?: number) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a2 : new (x?: number) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >b.a2 : new (x?: number) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >b : Base > : ^^^^ >a2 : new (x?: number) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ a2 = b.a3; // ok >a2 = b.a3 : new (x: number) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a2 : new (x?: number) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >b.a3 : new (x: number) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b : Base > : ^^^^ >a3 : new (x: number) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ a2 = b.a4; // ok >a2 = b.a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^ >a2 : new (x?: number) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >b.a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^ >b : Base > : ^^^^ >a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^ a2 = b.a5; // ok >a2 = b.a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ >a2 : new (x?: number) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >b.a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ >b : Base > : ^^^^ >a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ a2 = b.a6; // error >a2 = b.a6 : new (x: number, y: number) => number -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a2 : new (x?: number) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >b.a6 : new (x: number, y: number) => number -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b : Base > : ^^^^ >a6 : new (x: number, y: number) => number -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var a3: new (x: number) => number; >a3 : new (x: number) => number @@ -210,75 +210,75 @@ var a3: new (x: number) => number; a3 = b.a; // ok >a3 = b.a : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a3 : new (x: number) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b.a : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b : Base > : ^^^^ >a : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ a3 = b.a2; // ok >a3 = b.a2 : new (x?: number) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a3 : new (x: number) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b.a2 : new (x?: number) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >b : Base > : ^^^^ >a2 : new (x?: number) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ a3 = b.a3; // ok >a3 = b.a3 : new (x: number) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a3 : new (x: number) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b.a3 : new (x: number) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b : Base > : ^^^^ >a3 : new (x: number) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ a3 = b.a4; // ok >a3 = b.a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^ >a3 : new (x: number) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b.a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^ >b : Base > : ^^^^ >a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^ a3 = b.a5; // ok >a3 = b.a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ >a3 : new (x: number) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b.a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ >b : Base > : ^^^^ >a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ a3 = b.a6; // error >a3 = b.a6 : new (x: number, y: number) => number -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a3 : new (x: number) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b.a6 : new (x: number, y: number) => number -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b : Base > : ^^^^ >a6 : new (x: number, y: number) => number -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var a4: new (x: number, y?: number) => number; >a4 : new (x: number, y?: number) => number @@ -290,75 +290,75 @@ var a4: new (x: number, y?: number) => number; a4 = b.a; // ok >a4 = b.a : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^ >b.a : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b : Base > : ^^^^ >a : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ a4 = b.a2; // ok >a4 = b.a2 : new (x?: number) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^ >b.a2 : new (x?: number) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >b : Base > : ^^^^ >a2 : new (x?: number) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ a4 = b.a3; // ok >a4 = b.a3 : new (x: number) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^ >b.a3 : new (x: number) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b : Base > : ^^^^ >a3 : new (x: number) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ a4 = b.a4; // ok >a4 = b.a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^ >a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^ >b.a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^ >b : Base > : ^^^^ >a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^ a4 = b.a5; // ok >a4 = b.a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ >a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^ >b.a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ >b : Base > : ^^^^ >a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ a4 = b.a6; // ok >a4 = b.a6 : new (x: number, y: number) => number -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^ >b.a6 : new (x: number, y: number) => number -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b : Base > : ^^^^ >a6 : new (x: number, y: number) => number -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var a5: new (x?: number, y?: number) => number; >a5 : new (x?: number, y?: number) => number @@ -370,73 +370,73 @@ var a5: new (x?: number, y?: number) => number; a5 = b.a; // ok >a5 = b.a : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ >b.a : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b : Base > : ^^^^ >a : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ a5 = b.a2; // ok >a5 = b.a2 : new (x?: number) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ >b.a2 : new (x?: number) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >b : Base > : ^^^^ >a2 : new (x?: number) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ a5 = b.a3; // ok >a5 = b.a3 : new (x: number) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ >b.a3 : new (x: number) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b : Base > : ^^^^ >a3 : new (x: number) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ a5 = b.a4; // ok >a5 = b.a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^ >a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ >b.a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^ >b : Base > : ^^^^ >a4 : new (x: number, y?: number) => number -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^ a5 = b.a5; // ok >a5 = b.a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ >a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ >b.a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ >b : Base > : ^^^^ >a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ a5 = b.a6; // ok >a5 = b.a6 : new (x: number, y: number) => number -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a5 : new (x?: number, y?: number) => number -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ >b.a6 : new (x: number, y: number) => number -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b : Base > : ^^^^ >a6 : new (x: number, y: number) => number -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/assignmentCompatWithDiscriminatedUnion.types b/tests/baselines/reference/assignmentCompatWithDiscriminatedUnion.types index 5c2e6e12f5905..ae1f923e573f2 100644 --- a/tests/baselines/reference/assignmentCompatWithDiscriminatedUnion.types +++ b/tests/baselines/reference/assignmentCompatWithDiscriminatedUnion.types @@ -508,7 +508,7 @@ namespace GH12052 { >getAxisType() : IAxisType > : ^^^^^^^^^ >getAxisType : () => IAxisType -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ const good: IAxis = { type: undefined }; >good : IAxis @@ -532,7 +532,7 @@ namespace GH12052 { >getAxisType() : IAxisType > : ^^^^^^^^^ >getAxisType : () => IAxisType -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ } // https://github.com/Microsoft/TypeScript/issues/18421 @@ -611,7 +611,7 @@ namespace GH15907 { >dispatchAction({ type : (active? 'disactivate' : 'activate') }) : void > : ^^^^ >dispatchAction : (action: Action) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ type : (active? 'disactivate' : 'activate') } : { type: "activate" | "disactivate"; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >type : "activate" | "disactivate" diff --git a/tests/baselines/reference/assignmentCompatWithGenericCallSignatures.types b/tests/baselines/reference/assignmentCompatWithGenericCallSignatures.types index 750fc350bb0dd..60456125156cd 100644 --- a/tests/baselines/reference/assignmentCompatWithGenericCallSignatures.types +++ b/tests/baselines/reference/assignmentCompatWithGenericCallSignatures.types @@ -5,7 +5,7 @@ var f: (x: S) => void >f : (x: S) => void -> : ^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >p : string > : ^^^^^^ >x : S @@ -13,7 +13,7 @@ var f: (x: S) => void var g: (x: T[]) => void >g : (x: T[]) => void -> : ^ ^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >p : string > : ^^^^^^ >x : T[] @@ -21,17 +21,17 @@ var g: (x: T[]) => void f = g; // ok >f = g : (x: T[]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >f : (x: S) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >g : (x: T[]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ g = f; // ok >g = f : (x: S) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >g : (x: T[]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >f : (x: S) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/assignmentCompatWithGenericCallSignatures3.types b/tests/baselines/reference/assignmentCompatWithGenericCallSignatures3.types index 9058f3e31b128..e5b13acfec9e1 100644 --- a/tests/baselines/reference/assignmentCompatWithGenericCallSignatures3.types +++ b/tests/baselines/reference/assignmentCompatWithGenericCallSignatures3.types @@ -36,10 +36,10 @@ var h: (x: T) => (y: S) => { (f: (x: T) => (y: S) => U): U } > : ^ g = h // ok ->g = h : (x: T) => (y: S) => (f: (x: T) => (y: S) => U) => U -> : ^ ^^ ^^ ^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^ ^^^^^^ +>g = h : (x: T) => (y: S) => { (f: (x: T) => (y: S) => U): U; } +> : ^ ^^ ^^ ^^^^^ >g : (x: T) => (y: S) => I -> : ^ ^^ ^^ ^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ->h : (x: T) => (y: S) => (f: (x: T) => (y: S) => U) => U -> : ^ ^^ ^^ ^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ +>h : (x: T) => (y: S) => { (f: (x: T) => (y: S) => U): U; } +> : ^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/assignmentCompatWithGenericCallSignatures4.types b/tests/baselines/reference/assignmentCompatWithGenericCallSignatures4.types index 6e14dcb050c43..c80be1723f5eb 100644 --- a/tests/baselines/reference/assignmentCompatWithGenericCallSignatures4.types +++ b/tests/baselines/reference/assignmentCompatWithGenericCallSignatures4.types @@ -11,30 +11,30 @@ interface I2 { var x: >(z: T) => void >x : >(z: T) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >z : T > : ^ var y: >>(z: T) => void >y : >>(z: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >z : T > : ^ // These both do not make sense as we would eventually be comparing I2 to I2>, and they are self referencing anyway x = y >x = y : >>(z: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : >(z: T) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >y : >>(z: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ y = x >y = x : >(z: T) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >y : >>(z: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : >(z: T) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/assignmentCompatWithGenericCallSignaturesWithOptionalParameters.types b/tests/baselines/reference/assignmentCompatWithGenericCallSignaturesWithOptionalParameters.types index e54b042a08b15..b274d669d6272 100644 --- a/tests/baselines/reference/assignmentCompatWithGenericCallSignaturesWithOptionalParameters.types +++ b/tests/baselines/reference/assignmentCompatWithGenericCallSignaturesWithOptionalParameters.types @@ -53,11 +53,11 @@ module ClassTypeParam { >this.a = () => null : () => any > : ^^^^^^^^^ >this.a : () => T -> : ^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >a : () => T -> : ^^^^^^^ +> : ^^^^^^ >() => null : () => any > : ^^^^^^^^^ @@ -65,11 +65,11 @@ module ClassTypeParam { >this.a = (x?: T) => null : (x?: T) => any > : ^ ^^^ ^^^^^^^^ >this.a : () => T -> : ^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >a : () => T -> : ^^^^^^^ +> : ^^^^^^ >(x?: T) => null : (x?: T) => any > : ^ ^^^ ^^^^^^^^ >x : T @@ -79,11 +79,11 @@ module ClassTypeParam { >this.a = (x: T) => null : (x: T) => any > : ^ ^^ ^^^^^^^^ >this.a : () => T -> : ^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >a : () => T -> : ^^^^^^^ +> : ^^^^^^ >(x: T) => null : (x: T) => any > : ^ ^^ ^^^^^^^^ >x : T @@ -93,11 +93,11 @@ module ClassTypeParam { >this.a2 = () => null : () => any > : ^^^^^^^^^ >this.a2 : (x?: T) => T -> : ^ ^^^ ^^^^^^ +> : ^ ^^^ ^^^^^ >this : this > : ^^^^ >a2 : (x?: T) => T -> : ^ ^^^ ^^^^^^ +> : ^ ^^^ ^^^^^ >() => null : () => any > : ^^^^^^^^^ @@ -105,11 +105,11 @@ module ClassTypeParam { >this.a2 = (x?: T) => null : (x?: T) => any > : ^ ^^^ ^^^^^^^^ >this.a2 : (x?: T) => T -> : ^ ^^^ ^^^^^^ +> : ^ ^^^ ^^^^^ >this : this > : ^^^^ >a2 : (x?: T) => T -> : ^ ^^^ ^^^^^^ +> : ^ ^^^ ^^^^^ >(x?: T) => null : (x?: T) => any > : ^ ^^^ ^^^^^^^^ >x : T @@ -119,11 +119,11 @@ module ClassTypeParam { >this.a2 = (x: T) => null : (x: T) => any > : ^ ^^ ^^^^^^^^ >this.a2 : (x?: T) => T -> : ^ ^^^ ^^^^^^ +> : ^ ^^^ ^^^^^ >this : this > : ^^^^ >a2 : (x?: T) => T -> : ^ ^^^ ^^^^^^ +> : ^ ^^^ ^^^^^ >(x: T) => null : (x: T) => any > : ^ ^^ ^^^^^^^^ >x : T @@ -133,11 +133,11 @@ module ClassTypeParam { >this.a3 = () => null : () => any > : ^^^^^^^^^ >this.a3 : (x: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >a3 : (x: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >() => null : () => any > : ^^^^^^^^^ @@ -145,11 +145,11 @@ module ClassTypeParam { >this.a3 = (x?: T) => null : (x?: T) => any > : ^ ^^^ ^^^^^^^^ >this.a3 : (x: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >a3 : (x: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >(x?: T) => null : (x?: T) => any > : ^ ^^^ ^^^^^^^^ >x : T @@ -159,11 +159,11 @@ module ClassTypeParam { >this.a3 = (x: T) => null : (x: T) => any > : ^ ^^ ^^^^^^^^ >this.a3 : (x: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >a3 : (x: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >(x: T) => null : (x: T) => any > : ^ ^^ ^^^^^^^^ >x : T @@ -173,11 +173,11 @@ module ClassTypeParam { >this.a3 = (x: T, y: T) => null : (x: T, y: T) => any > : ^ ^^ ^^ ^^ ^^^^^^^^ >this.a3 : (x: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >a3 : (x: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >(x: T, y: T) => null : (x: T, y: T) => any > : ^ ^^ ^^ ^^ ^^^^^^^^ >x : T @@ -189,11 +189,11 @@ module ClassTypeParam { >this.a4 = () => null : () => any > : ^^^^^^^^^ >this.a4 : (x: T, y?: T) => T -> : ^ ^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >this : this > : ^^^^ >a4 : (x: T, y?: T) => T -> : ^ ^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >() => null : () => any > : ^^^^^^^^^ @@ -201,11 +201,11 @@ module ClassTypeParam { >this.a4 = (x?: T, y?: T) => null : (x?: T, y?: T) => any > : ^ ^^^ ^^ ^^^ ^^^^^^^^ >this.a4 : (x: T, y?: T) => T -> : ^ ^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >this : this > : ^^^^ >a4 : (x: T, y?: T) => T -> : ^ ^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >(x?: T, y?: T) => null : (x?: T, y?: T) => any > : ^ ^^^ ^^ ^^^ ^^^^^^^^ >x : T @@ -217,11 +217,11 @@ module ClassTypeParam { >this.a4 = (x: T) => null : (x: T) => any > : ^ ^^ ^^^^^^^^ >this.a4 : (x: T, y?: T) => T -> : ^ ^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >this : this > : ^^^^ >a4 : (x: T, y?: T) => T -> : ^ ^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >(x: T) => null : (x: T) => any > : ^ ^^ ^^^^^^^^ >x : T @@ -231,11 +231,11 @@ module ClassTypeParam { >this.a4 = (x: T, y: T) => null : (x: T, y: T) => any > : ^ ^^ ^^ ^^ ^^^^^^^^ >this.a4 : (x: T, y?: T) => T -> : ^ ^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >this : this > : ^^^^ >a4 : (x: T, y?: T) => T -> : ^ ^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >(x: T, y: T) => null : (x: T, y: T) => any > : ^ ^^ ^^ ^^ ^^^^^^^^ >x : T @@ -248,11 +248,11 @@ module ClassTypeParam { >this.a5 = () => null : () => any > : ^^^^^^^^^ >this.a5 : (x?: T, y?: T) => T -> : ^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >this : this > : ^^^^ >a5 : (x?: T, y?: T) => T -> : ^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >() => null : () => any > : ^^^^^^^^^ @@ -260,11 +260,11 @@ module ClassTypeParam { >this.a5 = (x?: T, y?: T) => null : (x?: T, y?: T) => any > : ^ ^^^ ^^ ^^^ ^^^^^^^^ >this.a5 : (x?: T, y?: T) => T -> : ^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >this : this > : ^^^^ >a5 : (x?: T, y?: T) => T -> : ^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >(x?: T, y?: T) => null : (x?: T, y?: T) => any > : ^ ^^^ ^^ ^^^ ^^^^^^^^ >x : T @@ -276,11 +276,11 @@ module ClassTypeParam { >this.a5 = (x: T) => null : (x: T) => any > : ^ ^^ ^^^^^^^^ >this.a5 : (x?: T, y?: T) => T -> : ^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >this : this > : ^^^^ >a5 : (x?: T, y?: T) => T -> : ^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >(x: T) => null : (x: T) => any > : ^ ^^ ^^^^^^^^ >x : T @@ -290,11 +290,11 @@ module ClassTypeParam { >this.a5 = (x: T, y: T) => null : (x: T, y: T) => any > : ^ ^^ ^^ ^^ ^^^^^^^^ >this.a5 : (x?: T, y?: T) => T -> : ^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >this : this > : ^^^^ >a5 : (x?: T, y?: T) => T -> : ^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >(x: T, y: T) => null : (x: T, y: T) => any > : ^ ^^ ^^ ^^ ^^^^^^^^ >x : T @@ -401,11 +401,11 @@ module GenericSignaturesInvalid { >b.a = t.a : () => T > : ^^^^^^^ >b.a : () => T_1 -> : ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >b : Base2 > : ^^^^^ >a : () => T_1 -> : ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >t.a : () => T > : ^^^^^^^ >t : Target @@ -417,11 +417,11 @@ module GenericSignaturesInvalid { >b.a = t.a2 : (x?: T) => T > : ^ ^^^^^^^^^^ >b.a : () => T_1 -> : ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >b : Base2 > : ^^^^^ >a : () => T_1 -> : ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >t.a2 : (x?: T) => T > : ^ ^^^^^^^^^^ >t : Target @@ -433,11 +433,11 @@ module GenericSignaturesInvalid { >b.a = t.a3 : (x: T) => T > : ^ ^^^^^^^^^ >b.a : () => T_1 -> : ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >b : Base2 > : ^^^^^ >a : () => T_1 -> : ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >t.a3 : (x: T) => T > : ^ ^^^^^^^^^ >t : Target @@ -449,11 +449,11 @@ module GenericSignaturesInvalid { >b.a = t.a4 : (x: T, y?: T) => T > : ^ ^^^^^ ^^^^^^^^^^ >b.a : () => T_1 -> : ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >b : Base2 > : ^^^^^ >a : () => T_1 -> : ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >t.a4 : (x: T, y?: T) => T > : ^ ^^^^^ ^^^^^^^^^^ >t : Target @@ -465,11 +465,11 @@ module GenericSignaturesInvalid { >b.a = t.a5 : (x?: T, y?: T) => T > : ^ ^^^^^^ ^^^^^^^^^^ >b.a : () => T_1 -> : ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >b : Base2 > : ^^^^^ >a : () => T_1 -> : ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >t.a5 : (x?: T, y?: T) => T > : ^ ^^^^^^ ^^^^^^^^^^ >t : Target @@ -481,11 +481,11 @@ module GenericSignaturesInvalid { >b.a2 = t.a : () => T > : ^^^^^^^ >b.a2 : (x?: T_1) => T_1 -> : ^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >b : Base2 > : ^^^^^ >a2 : (x?: T_1) => T_1 -> : ^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >t.a : () => T > : ^^^^^^^ >t : Target @@ -497,11 +497,11 @@ module GenericSignaturesInvalid { >b.a2 = t.a2 : (x?: T) => T > : ^ ^^^^^^^^^^ >b.a2 : (x?: T_1) => T_1 -> : ^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >b : Base2 > : ^^^^^ >a2 : (x?: T_1) => T_1 -> : ^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >t.a2 : (x?: T) => T > : ^ ^^^^^^^^^^ >t : Target @@ -513,11 +513,11 @@ module GenericSignaturesInvalid { >b.a2 = t.a3 : (x: T) => T > : ^ ^^^^^^^^^ >b.a2 : (x?: T_1) => T_1 -> : ^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >b : Base2 > : ^^^^^ >a2 : (x?: T_1) => T_1 -> : ^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >t.a3 : (x: T) => T > : ^ ^^^^^^^^^ >t : Target @@ -529,11 +529,11 @@ module GenericSignaturesInvalid { >b.a2 = t.a4 : (x: T, y?: T) => T > : ^ ^^^^^ ^^^^^^^^^^ >b.a2 : (x?: T_1) => T_1 -> : ^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >b : Base2 > : ^^^^^ >a2 : (x?: T_1) => T_1 -> : ^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >t.a4 : (x: T, y?: T) => T > : ^ ^^^^^ ^^^^^^^^^^ >t : Target @@ -545,11 +545,11 @@ module GenericSignaturesInvalid { >b.a2 = t.a5 : (x?: T, y?: T) => T > : ^ ^^^^^^ ^^^^^^^^^^ >b.a2 : (x?: T_1) => T_1 -> : ^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >b : Base2 > : ^^^^^ >a2 : (x?: T_1) => T_1 -> : ^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >t.a5 : (x?: T, y?: T) => T > : ^ ^^^^^^ ^^^^^^^^^^ >t : Target @@ -561,11 +561,11 @@ module GenericSignaturesInvalid { >b.a3 = t.a : () => T > : ^^^^^^^ >b.a3 : (x: T_1) => T_1 -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b : Base2 > : ^^^^^ >a3 : (x: T_1) => T_1 -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >t.a : () => T > : ^^^^^^^ >t : Target @@ -577,11 +577,11 @@ module GenericSignaturesInvalid { >b.a3 = t.a2 : (x?: T) => T > : ^ ^^^^^^^^^^ >b.a3 : (x: T_1) => T_1 -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b : Base2 > : ^^^^^ >a3 : (x: T_1) => T_1 -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >t.a2 : (x?: T) => T > : ^ ^^^^^^^^^^ >t : Target @@ -593,11 +593,11 @@ module GenericSignaturesInvalid { >b.a3 = t.a3 : (x: T) => T > : ^ ^^^^^^^^^ >b.a3 : (x: T_1) => T_1 -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b : Base2 > : ^^^^^ >a3 : (x: T_1) => T_1 -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >t.a3 : (x: T) => T > : ^ ^^^^^^^^^ >t : Target @@ -609,11 +609,11 @@ module GenericSignaturesInvalid { >b.a3 = t.a4 : (x: T, y?: T) => T > : ^ ^^^^^ ^^^^^^^^^^ >b.a3 : (x: T_1) => T_1 -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b : Base2 > : ^^^^^ >a3 : (x: T_1) => T_1 -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >t.a4 : (x: T, y?: T) => T > : ^ ^^^^^ ^^^^^^^^^^ >t : Target @@ -625,11 +625,11 @@ module GenericSignaturesInvalid { >b.a3 = t.a5 : (x?: T, y?: T) => T > : ^ ^^^^^^ ^^^^^^^^^^ >b.a3 : (x: T_1) => T_1 -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b : Base2 > : ^^^^^ >a3 : (x: T_1) => T_1 -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >t.a5 : (x?: T, y?: T) => T > : ^ ^^^^^^ ^^^^^^^^^^ >t : Target @@ -641,11 +641,11 @@ module GenericSignaturesInvalid { >b.a4 = t.a : () => T > : ^^^^^^^ >b.a4 : (x: T_1, y?: T_1) => T_1 -> : ^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^ >b : Base2 > : ^^^^^ >a4 : (x: T_1, y?: T_1) => T_1 -> : ^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^ >t.a : () => T > : ^^^^^^^ >t : Target @@ -657,11 +657,11 @@ module GenericSignaturesInvalid { >b.a4 = t.a2 : (x?: T) => T > : ^ ^^^^^^^^^^ >b.a4 : (x: T_1, y?: T_1) => T_1 -> : ^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^ >b : Base2 > : ^^^^^ >a4 : (x: T_1, y?: T_1) => T_1 -> : ^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^ >t.a2 : (x?: T) => T > : ^ ^^^^^^^^^^ >t : Target @@ -673,11 +673,11 @@ module GenericSignaturesInvalid { >b.a4 = t.a3 : (x: T) => T > : ^ ^^^^^^^^^ >b.a4 : (x: T_1, y?: T_1) => T_1 -> : ^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^ >b : Base2 > : ^^^^^ >a4 : (x: T_1, y?: T_1) => T_1 -> : ^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^ >t.a3 : (x: T) => T > : ^ ^^^^^^^^^ >t : Target @@ -689,11 +689,11 @@ module GenericSignaturesInvalid { >b.a4 = t.a4 : (x: T, y?: T) => T > : ^ ^^^^^ ^^^^^^^^^^ >b.a4 : (x: T_1, y?: T_1) => T_1 -> : ^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^ >b : Base2 > : ^^^^^ >a4 : (x: T_1, y?: T_1) => T_1 -> : ^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^ >t.a4 : (x: T, y?: T) => T > : ^ ^^^^^ ^^^^^^^^^^ >t : Target @@ -705,11 +705,11 @@ module GenericSignaturesInvalid { >b.a4 = t.a5 : (x?: T, y?: T) => T > : ^ ^^^^^^ ^^^^^^^^^^ >b.a4 : (x: T_1, y?: T_1) => T_1 -> : ^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^ >b : Base2 > : ^^^^^ >a4 : (x: T_1, y?: T_1) => T_1 -> : ^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^ >t.a5 : (x?: T, y?: T) => T > : ^ ^^^^^^ ^^^^^^^^^^ >t : Target @@ -721,11 +721,11 @@ module GenericSignaturesInvalid { >b.a5 = t.a : () => T > : ^^^^^^^ >b.a5 : (x?: T_1, y?: T_1) => T_1 -> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^ >b : Base2 > : ^^^^^ >a5 : (x?: T_1, y?: T_1) => T_1 -> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^ >t.a : () => T > : ^^^^^^^ >t : Target @@ -737,11 +737,11 @@ module GenericSignaturesInvalid { >b.a5 = t.a2 : (x?: T) => T > : ^ ^^^^^^^^^^ >b.a5 : (x?: T_1, y?: T_1) => T_1 -> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^ >b : Base2 > : ^^^^^ >a5 : (x?: T_1, y?: T_1) => T_1 -> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^ >t.a2 : (x?: T) => T > : ^ ^^^^^^^^^^ >t : Target @@ -753,11 +753,11 @@ module GenericSignaturesInvalid { >b.a5 = t.a3 : (x: T) => T > : ^ ^^^^^^^^^ >b.a5 : (x?: T_1, y?: T_1) => T_1 -> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^ >b : Base2 > : ^^^^^ >a5 : (x?: T_1, y?: T_1) => T_1 -> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^ >t.a3 : (x: T) => T > : ^ ^^^^^^^^^ >t : Target @@ -769,11 +769,11 @@ module GenericSignaturesInvalid { >b.a5 = t.a4 : (x: T, y?: T) => T > : ^ ^^^^^ ^^^^^^^^^^ >b.a5 : (x?: T_1, y?: T_1) => T_1 -> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^ >b : Base2 > : ^^^^^ >a5 : (x?: T_1, y?: T_1) => T_1 -> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^ >t.a4 : (x: T, y?: T) => T > : ^ ^^^^^ ^^^^^^^^^^ >t : Target @@ -785,11 +785,11 @@ module GenericSignaturesInvalid { >b.a5 = t.a5 : (x?: T, y?: T) => T > : ^ ^^^^^^ ^^^^^^^^^^ >b.a5 : (x?: T_1, y?: T_1) => T_1 -> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^ >b : Base2 > : ^^^^^ >a5 : (x?: T_1, y?: T_1) => T_1 -> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^ >t.a5 : (x?: T, y?: T) => T > : ^ ^^^^^^ ^^^^^^^^^^ >t : Target @@ -849,11 +849,11 @@ module GenericSignaturesValid { >this.a = () => null : () => any > : ^^^^^^^^^^^^ >this.a : () => T -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ >this : this > : ^^^^ >a : () => T -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ >() => null : () => any > : ^^^^^^^^^^^^ @@ -861,11 +861,11 @@ module GenericSignaturesValid { >this.a = (x?: T) => null : (x?: T) => any > : ^ ^^ ^^^ ^^^^^^^^ >this.a : () => T -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ >this : this > : ^^^^ >a : () => T -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ >(x?: T) => null : (x?: T) => any > : ^ ^^ ^^^ ^^^^^^^^ >x : T @@ -875,11 +875,11 @@ module GenericSignaturesValid { >this.a = (x: T) => null : (x: T) => any > : ^ ^^ ^^ ^^^^^^^^ >this.a : () => T -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ >this : this > : ^^^^ >a : () => T -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ >(x: T) => null : (x: T) => any > : ^ ^^ ^^ ^^^^^^^^ >x : T @@ -889,11 +889,11 @@ module GenericSignaturesValid { >this.a2 = () => null : () => any > : ^^^^^^^^^^^^ >this.a2 : (x?: T) => T -> : ^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >this : this > : ^^^^ >a2 : (x?: T) => T -> : ^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >() => null : () => any > : ^^^^^^^^^^^^ @@ -901,11 +901,11 @@ module GenericSignaturesValid { >this.a2 = (x?: T) => null : (x?: T) => any > : ^ ^^ ^^^ ^^^^^^^^ >this.a2 : (x?: T) => T -> : ^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >this : this > : ^^^^ >a2 : (x?: T) => T -> : ^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >(x?: T) => null : (x?: T) => any > : ^ ^^ ^^^ ^^^^^^^^ >x : T @@ -915,11 +915,11 @@ module GenericSignaturesValid { >this.a2 = (x: T) => null : (x: T) => any > : ^ ^^ ^^ ^^^^^^^^ >this.a2 : (x?: T) => T -> : ^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >this : this > : ^^^^ >a2 : (x?: T) => T -> : ^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >(x: T) => null : (x: T) => any > : ^ ^^ ^^ ^^^^^^^^ >x : T @@ -929,11 +929,11 @@ module GenericSignaturesValid { >this.a3 = () => null : () => any > : ^^^^^^^^^^^^ >this.a3 : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >a3 : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >() => null : () => any > : ^^^^^^^^^^^^ @@ -941,11 +941,11 @@ module GenericSignaturesValid { >this.a3 = (x?: T) => null : (x?: T) => any > : ^ ^^ ^^^ ^^^^^^^^ >this.a3 : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >a3 : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >(x?: T) => null : (x?: T) => any > : ^ ^^ ^^^ ^^^^^^^^ >x : T @@ -955,11 +955,11 @@ module GenericSignaturesValid { >this.a3 = (x: T) => null : (x: T) => any > : ^ ^^ ^^ ^^^^^^^^ >this.a3 : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >a3 : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >(x: T) => null : (x: T) => any > : ^ ^^ ^^ ^^^^^^^^ >x : T @@ -969,11 +969,11 @@ module GenericSignaturesValid { >this.a3 = (x: T, y: T) => null : (x: T, y: T) => any > : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ >this.a3 : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >a3 : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >(x: T, y: T) => null : (x: T, y: T) => any > : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ >x : T @@ -985,11 +985,11 @@ module GenericSignaturesValid { >this.a4 = () => null : () => any > : ^^^^^^^^^^^^ >this.a4 : (x: T, y?: T) => T -> : ^ ^^ ^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^ >this : this > : ^^^^ >a4 : (x: T, y?: T) => T -> : ^ ^^ ^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^ >() => null : () => any > : ^^^^^^^^^^^^ @@ -997,11 +997,11 @@ module GenericSignaturesValid { >this.a4 = (x?: T, y?: T) => null : (x?: T, y?: T) => any > : ^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ >this.a4 : (x: T, y?: T) => T -> : ^ ^^ ^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^ >this : this > : ^^^^ >a4 : (x: T, y?: T) => T -> : ^ ^^ ^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^ >(x?: T, y?: T) => null : (x?: T, y?: T) => any > : ^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ >x : T @@ -1013,11 +1013,11 @@ module GenericSignaturesValid { >this.a4 = (x: T) => null : (x: T) => any > : ^ ^^ ^^ ^^^^^^^^ >this.a4 : (x: T, y?: T) => T -> : ^ ^^ ^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^ >this : this > : ^^^^ >a4 : (x: T, y?: T) => T -> : ^ ^^ ^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^ >(x: T) => null : (x: T) => any > : ^ ^^ ^^ ^^^^^^^^ >x : T @@ -1027,11 +1027,11 @@ module GenericSignaturesValid { >this.a4 = (x: T, y: T) => null : (x: T, y: T) => any > : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ >this.a4 : (x: T, y?: T) => T -> : ^ ^^ ^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^ >this : this > : ^^^^ >a4 : (x: T, y?: T) => T -> : ^ ^^ ^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^ >(x: T, y: T) => null : (x: T, y: T) => any > : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ >x : T @@ -1044,11 +1044,11 @@ module GenericSignaturesValid { >this.a5 = () => null : () => any > : ^^^^^^^^^^^^ >this.a5 : (x?: T, y?: T) => T -> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^ >this : this > : ^^^^ >a5 : (x?: T, y?: T) => T -> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^ >() => null : () => any > : ^^^^^^^^^^^^ @@ -1056,11 +1056,11 @@ module GenericSignaturesValid { >this.a5 = (x?: T, y?: T) => null : (x?: T, y?: T) => any > : ^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ >this.a5 : (x?: T, y?: T) => T -> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^ >this : this > : ^^^^ >a5 : (x?: T, y?: T) => T -> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^ >(x?: T, y?: T) => null : (x?: T, y?: T) => any > : ^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ >x : T @@ -1072,11 +1072,11 @@ module GenericSignaturesValid { >this.a5 = (x: T) => null : (x: T) => any > : ^ ^^ ^^ ^^^^^^^^ >this.a5 : (x?: T, y?: T) => T -> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^ >this : this > : ^^^^ >a5 : (x?: T, y?: T) => T -> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^ >(x: T) => null : (x: T) => any > : ^ ^^ ^^ ^^^^^^^^ >x : T @@ -1086,11 +1086,11 @@ module GenericSignaturesValid { >this.a5 = (x: T, y: T) => null : (x: T, y: T) => any > : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ >this.a5 : (x?: T, y?: T) => T -> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^ >this : this > : ^^^^ >a5 : (x?: T, y?: T) => T -> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^ >(x: T, y: T) => null : (x: T, y: T) => any > : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ >x : T diff --git a/tests/baselines/reference/assignmentCompatWithNumericIndexer.types b/tests/baselines/reference/assignmentCompatWithNumericIndexer.types index 001ceab46f029..c684052a38483 100644 --- a/tests/baselines/reference/assignmentCompatWithNumericIndexer.types +++ b/tests/baselines/reference/assignmentCompatWithNumericIndexer.types @@ -98,7 +98,7 @@ module Generics { function foo() { >foo : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ var a: A; >a : A diff --git a/tests/baselines/reference/assignmentCompatWithNumericIndexer2.types b/tests/baselines/reference/assignmentCompatWithNumericIndexer2.types index e6d109d9b0d7f..bf6fb6eac9db6 100644 --- a/tests/baselines/reference/assignmentCompatWithNumericIndexer2.types +++ b/tests/baselines/reference/assignmentCompatWithNumericIndexer2.types @@ -87,7 +87,7 @@ module Generics { function foo() { >foo : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ var a: A; >a : A diff --git a/tests/baselines/reference/assignmentCompatWithNumericIndexer3.types b/tests/baselines/reference/assignmentCompatWithNumericIndexer3.types index c4302006c5747..a2a659667bf2f 100644 --- a/tests/baselines/reference/assignmentCompatWithNumericIndexer3.types +++ b/tests/baselines/reference/assignmentCompatWithNumericIndexer3.types @@ -98,7 +98,7 @@ module Generics { function foo() { >foo : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ var a: A; >a : A diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembers.types b/tests/baselines/reference/assignmentCompatWithObjectMembers.types index 589924a179b07..415c4c29ef94f 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembers.types +++ b/tests/baselines/reference/assignmentCompatWithObjectMembers.types @@ -134,11 +134,11 @@ module SimpleTypes { s2 = b; >s2 = b : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >s2 : S2 > : ^^ >b : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ s2 = a2; >s2 = a2 : { foo: string; } @@ -150,25 +150,25 @@ module SimpleTypes { a = b; >a = b : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >b : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ b = a; >b = a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >b : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ a = s; >a = s : S > : ^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >s : S > : ^ @@ -176,7 +176,7 @@ module SimpleTypes { >a = s2 : S2 > : ^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >s2 : S2 > : ^^ @@ -184,7 +184,7 @@ module SimpleTypes { >a = a2 : { foo: string; } > : ^^^^^^^^^^^^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a2 : { foo: string; } > : ^^^^^^^^^^^^^^^^ @@ -206,11 +206,11 @@ module SimpleTypes { a2 = b; >a2 = b : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a2 : { foo: string; } > : ^^^^^^^^^^^^^^^^ >b : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ a2 = t2; >a2 = t2 : T2 @@ -274,16 +274,16 @@ module ObjectTypes { > : ^^^^^^^ ^^^ >foo : { foo: typeof a; } > : ^^^^^^^ ^^^ ->a : { foo: any; } -> : ^^^^^^^^^^^^^ +>a : { foo: typeof a; } +> : ^^^^^^^ ^^^ var b: { foo: typeof b; } >b : { foo: typeof b; } > : ^^^^^^^ ^^^ >foo : { foo: typeof b; } > : ^^^^^^^ ^^^ ->b : { foo: any; } -> : ^^^^^^^^^^^^^ +>b : { foo: typeof b; } +> : ^^^^^^^ ^^^ var a2 = { foo: a2 }; >a2 : any @@ -354,12 +354,12 @@ module ObjectTypes { > : ^ s2 = b; ->s2 = b : { foo: any; } -> : ^^^^^^^^^^^^^ +>s2 = b : { foo: typeof b; } +> : ^^^^^^^ ^^^ >s2 : S2 > : ^^ ->b : { foo: any; } -> : ^^^^^^^^^^^^^ +>b : { foo: typeof b; } +> : ^^^^^^^ ^^^ s2 = a2; >s2 = a2 : any @@ -368,41 +368,41 @@ module ObjectTypes { >a2 : any a = b; ->a = b : { foo: any; } -> : ^^^^^^^^^^^^^ ->a : { foo: any; } -> : ^^^^^^^^^^^^^ ->b : { foo: any; } -> : ^^^^^^^^^^^^^ +>a = b : { foo: typeof b; } +> : ^^^^^^^ ^^^ +>a : { foo: typeof a; } +> : ^^^^^^^ ^^^ +>b : { foo: typeof b; } +> : ^^^^^^^ ^^^ b = a; ->b = a : { foo: any; } -> : ^^^^^^^^^^^^^ ->b : { foo: any; } -> : ^^^^^^^^^^^^^ ->a : { foo: any; } -> : ^^^^^^^^^^^^^ +>b = a : { foo: typeof a; } +> : ^^^^^^^ ^^^ +>b : { foo: typeof b; } +> : ^^^^^^^ ^^^ +>a : { foo: typeof a; } +> : ^^^^^^^ ^^^ a = s; >a = s : S > : ^ ->a : { foo: any; } -> : ^^^^^^^^^^^^^ +>a : { foo: typeof a; } +> : ^^^^^^^ ^^^ >s : S > : ^ a = s2; >a = s2 : S2 > : ^^ ->a : { foo: any; } -> : ^^^^^^^^^^^^^ +>a : { foo: typeof a; } +> : ^^^^^^^ ^^^ >s2 : S2 > : ^^ a = a2; >a = a2 : any ->a : { foo: any; } -> : ^^^^^^^^^^^^^ +>a : { foo: typeof a; } +> : ^^^^^^^ ^^^ >a2 : any a2 = b2; @@ -416,11 +416,11 @@ module ObjectTypes { >a2 : any a2 = b; ->a2 = b : { foo: any; } -> : ^^^^^^^^^^^^^ +>a2 = b : { foo: typeof b; } +> : ^^^^^^^ ^^^ >a2 : any ->b : { foo: any; } -> : ^^^^^^^^^^^^^ +>b : { foo: typeof b; } +> : ^^^^^^^ ^^^ a2 = t2; >a2 = t2 : T2 diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembers2.types b/tests/baselines/reference/assignmentCompatWithObjectMembers2.types index e30b404509c9f..d62a8fb5faa9a 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembers2.types +++ b/tests/baselines/reference/assignmentCompatWithObjectMembers2.types @@ -138,11 +138,11 @@ s2 = t; s2 = b; >s2 = b : { foo: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >s2 : S2 > : ^^ >b : { foo: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ s2 = a2; >s2 = a2 : { foo: string; } @@ -154,25 +154,25 @@ s2 = a2; a = b; >a = b : { foo: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >a : { foo: string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >b : { foo: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ b = a; >b = a : { foo: string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >b : { foo: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >a : { foo: string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ a = s; >a = s : S > : ^ >a : { foo: string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >s : S > : ^ @@ -180,7 +180,7 @@ a = s2; >a = s2 : S2 > : ^^ >a : { foo: string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >s2 : S2 > : ^^ @@ -188,7 +188,7 @@ a = a2; >a = a2 : { foo: string; } > : ^^^^^^^^^^^^^^^^ >a : { foo: string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >a2 : { foo: string; } > : ^^^^^^^^^^^^^^^^ @@ -210,11 +210,11 @@ b2 = a2; a2 = b; >a2 = b : { foo: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >a2 : { foo: string; } > : ^^^^^^^^^^^^^^^^ >b : { foo: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ a2 = t2; >a2 = t2 : T2 diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembers3.types b/tests/baselines/reference/assignmentCompatWithObjectMembers3.types index d24382098e040..bb79deec89706 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembers3.types +++ b/tests/baselines/reference/assignmentCompatWithObjectMembers3.types @@ -138,11 +138,11 @@ s2 = t; s2 = b; >s2 = b : { foo: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >s2 : S2 > : ^^ >b : { foo: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ s2 = a2; >s2 = a2 : S2 @@ -154,25 +154,25 @@ s2 = a2; a = b; >a = b : { foo: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >a : { foo: string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >b : { foo: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ b = a; >b = a : { foo: string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >b : { foo: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >a : { foo: string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ a = s; >a = s : S > : ^ >a : { foo: string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >s : S > : ^ @@ -180,7 +180,7 @@ a = s2; >a = s2 : S2 > : ^^ >a : { foo: string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >s2 : S2 > : ^^ @@ -188,7 +188,7 @@ a = a2; >a = a2 : S2 > : ^^ >a : { foo: string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >a2 : S2 > : ^^ @@ -210,11 +210,11 @@ b2 = a2; a2 = b; >a2 = b : { foo: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >a2 : S2 > : ^^ >b : { foo: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ a2 = t2; >a2 = t2 : T2 diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembers4.types b/tests/baselines/reference/assignmentCompatWithObjectMembers4.types index 6409fdeb5ca56..6e5071a22236d 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembers4.types +++ b/tests/baselines/reference/assignmentCompatWithObjectMembers4.types @@ -159,11 +159,11 @@ module OnlyDerived { s2 = b; // error >s2 = b : { foo: Derived2; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >s2 : S2 > : ^^ >b : { foo: Derived2; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ s2 = a2; // ok >s2 = a2 : { foo: Derived; } @@ -175,25 +175,25 @@ module OnlyDerived { a = b; // error >a = b : { foo: Derived2; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a : { foo: Derived; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >b : { foo: Derived2; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ b = a; // error >b = a : { foo: Derived; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >b : { foo: Derived2; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a : { foo: Derived; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ a = s; // ok >a = s : S > : ^ >a : { foo: Derived; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >s : S > : ^ @@ -201,7 +201,7 @@ module OnlyDerived { >a = s2 : S2 > : ^^ >a : { foo: Derived; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >s2 : S2 > : ^^ @@ -209,7 +209,7 @@ module OnlyDerived { >a = a2 : { foo: Derived; } > : ^^^^^^^^^^^^^^^^^ >a : { foo: Derived; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a2 : { foo: Derived; } > : ^^^^^^^^^^^^^^^^^ @@ -231,11 +231,11 @@ module OnlyDerived { a2 = b; // error >a2 = b : { foo: Derived2; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a2 : { foo: Derived; } > : ^^^^^^^^^^^^^^^^^ >b : { foo: Derived2; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ a2 = t2; // error >a2 = t2 : T2 @@ -410,11 +410,11 @@ module WithBase { s2 = b; // ok >s2 = b : { foo: Derived2; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >s2 : S2 > : ^^ >b : { foo: Derived2; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ s2 = a2; // ok >s2 = a2 : { foo: Base; } @@ -426,25 +426,25 @@ module WithBase { a = b; // ok >a = b : { foo: Derived2; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a : { foo: Base; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >b : { foo: Derived2; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ b = a; // error >b = a : { foo: Base; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >b : { foo: Derived2; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a : { foo: Base; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ a = s; // ok >a = s : S > : ^ >a : { foo: Base; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >s : S > : ^ @@ -452,7 +452,7 @@ module WithBase { >a = s2 : S2 > : ^^ >a : { foo: Base; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >s2 : S2 > : ^^ @@ -460,7 +460,7 @@ module WithBase { >a = a2 : { foo: Base; } > : ^^^^^^^^^^^^^^ >a : { foo: Base; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a2 : { foo: Base; } > : ^^^^^^^^^^^^^^ @@ -482,11 +482,11 @@ module WithBase { a2 = b; // ok >a2 = b : { foo: Derived2; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a2 : { foo: Base; } > : ^^^^^^^^^^^^^^ >b : { foo: Derived2; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ a2 = t2; // ok >a2 = t2 : T2 diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembersAccessibility.types b/tests/baselines/reference/assignmentCompatWithObjectMembersAccessibility.types index f6b00af76b388..fb14f1bcb6f45 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembersAccessibility.types +++ b/tests/baselines/reference/assignmentCompatWithObjectMembersAccessibility.types @@ -67,7 +67,7 @@ module TargetIsPublic { >a = b : Base > : ^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >b : Base > : ^^^^ @@ -75,7 +75,7 @@ module TargetIsPublic { >a = i : I > : ^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >i : I > : ^ @@ -83,7 +83,7 @@ module TargetIsPublic { >a = d : D > : ^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >d : D > : ^ @@ -91,17 +91,17 @@ module TargetIsPublic { >a = e : E > : ^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >e : E > : ^ b = a; >b = a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >b : Base > : ^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ b = i; >b = i : I @@ -129,11 +129,11 @@ module TargetIsPublic { i = a; >i = a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >i : I > : ^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ i = b; >i = b : Base @@ -161,11 +161,11 @@ module TargetIsPublic { d = a; >d = a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >d : D > : ^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ d = b; >d = b : Base @@ -193,11 +193,11 @@ module TargetIsPublic { e = a; // errror >e = a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >e : E > : ^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ e = b; // errror >e = b : Base @@ -295,7 +295,7 @@ module TargetIsPublic { >a = b : Base > : ^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >b : Base > : ^^^^ @@ -303,7 +303,7 @@ module TargetIsPublic { >a = i : I > : ^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >i : I > : ^ @@ -311,7 +311,7 @@ module TargetIsPublic { >a = d : D > : ^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >d : D > : ^ @@ -319,17 +319,17 @@ module TargetIsPublic { >a = e : E > : ^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >e : E > : ^ b = a; // error >b = a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >b : Base > : ^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ b = i; >b = i : I @@ -365,11 +365,11 @@ module TargetIsPublic { i = a; // error >i = a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >i : I > : ^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ i = b; >i = b : Base @@ -405,11 +405,11 @@ module TargetIsPublic { d = a; >d = a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >d : D > : ^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ d = b; // error >d = b : Base @@ -437,11 +437,11 @@ module TargetIsPublic { e = a; // errror >e = a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >e : E > : ^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ e = b; // errror >e = b : Base diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembersNumericNames.types b/tests/baselines/reference/assignmentCompatWithObjectMembersNumericNames.types index fa2090b3503ab..bc48c5ba3bb3d 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembersNumericNames.types +++ b/tests/baselines/reference/assignmentCompatWithObjectMembersNumericNames.types @@ -138,11 +138,11 @@ s2 = t; s2 = b; >s2 = b : { 1: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ ^^^ >s2 : S2 > : ^^ >b : { 1: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ ^^^ s2 = a2; >s2 = a2 : { 1: string; } @@ -154,25 +154,25 @@ s2 = a2; a = b; >a = b : { 1: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ ^^^ >a : { 1: string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ ^^^ >b : { 1: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ ^^^ b = a; >b = a : { 1: string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ ^^^ >b : { 1: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ ^^^ >a : { 1: string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ ^^^ a = s; >a = s : S > : ^ >a : { 1: string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ ^^^ >s : S > : ^ @@ -180,7 +180,7 @@ a = s2; >a = s2 : S2 > : ^^ >a : { 1: string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ ^^^ >s2 : S2 > : ^^ @@ -188,7 +188,7 @@ a = a2; >a = a2 : { 1: string; } > : ^^^^^^^^^^^^^^ >a : { 1: string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ ^^^ >a2 : { 1: string; } > : ^^^^^^^^^^^^^^ @@ -210,11 +210,11 @@ b2 = a2; a2 = b; >a2 = b : { 1: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ ^^^ >a2 : { 1: string; } > : ^^^^^^^^^^^^^^ >b : { 1: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ ^^^ a2 = t2; >a2 = t2 : T2 diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality.types b/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality.types index a17bb27b33d0c..6526c6d55f9db 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality.types +++ b/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality.types @@ -47,9 +47,9 @@ module TargetHasOptional { var b: typeof a = { opt: new Base() } >b : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >{ opt: new Base() } : { opt: Base; } > : ^^^^^^^^^^^^^^ >opt : Base @@ -114,17 +114,17 @@ module TargetHasOptional { c = a; >c = a : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >c : C > : ^ >a : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ a = d; >a = d : D > : ^ >a : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >d : D > : ^ @@ -132,7 +132,7 @@ module TargetHasOptional { >a = e : E > : ^ >a : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >e : E > : ^ @@ -140,7 +140,7 @@ module TargetHasOptional { >a = f : F > : ^ >a : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >f : F > : ^ @@ -148,7 +148,7 @@ module TargetHasOptional { >a = c : C > : ^ >a : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >c : C > : ^ @@ -156,7 +156,7 @@ module TargetHasOptional { >b = d : D > : ^ >b : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >d : D > : ^ @@ -164,7 +164,7 @@ module TargetHasOptional { >b = e : E > : ^ >b : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >e : E > : ^ @@ -172,23 +172,23 @@ module TargetHasOptional { >b = f : F > : ^ >b : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >f : F > : ^ b = a; >b = a : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ b = c; >b = c : C > : ^ >b : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >c : C > : ^ } @@ -279,17 +279,17 @@ module SourceHasOptional { c = a; // ok >c = a : { opt: Base; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >c : C > : ^ >a : { opt: Base; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ a = d; // error >a = d : D > : ^ >a : { opt: Base; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >d : D > : ^ @@ -297,7 +297,7 @@ module SourceHasOptional { >a = e : E > : ^ >a : { opt: Base; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >e : E > : ^ @@ -305,7 +305,7 @@ module SourceHasOptional { >a = f : F > : ^ >a : { opt: Base; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >f : F > : ^ @@ -313,7 +313,7 @@ module SourceHasOptional { >a = c : C > : ^ >a : { opt: Base; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >c : C > : ^ @@ -343,11 +343,11 @@ module SourceHasOptional { b = a; // ok >b = a : { opt: Base; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >b : { opt: Base; } > : ^^^^^^^^^^^^^^ >a : { opt: Base; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ b = c; // ok >b = c : C diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality2.types b/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality2.types index 39c43fc31f273..f5fee1c0730d1 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality2.types +++ b/tests/baselines/reference/assignmentCompatWithObjectMembersOptionality2.types @@ -48,9 +48,9 @@ module TargetHasOptional { var b: typeof a = { opt: new Base() } >b : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >{ opt: new Base() } : { opt: Base; } > : ^^^^^^^^^^^^^^ >opt : Base @@ -117,7 +117,7 @@ module TargetHasOptional { >a = d : D > : ^ >a : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >d : D > : ^ @@ -125,7 +125,7 @@ module TargetHasOptional { >a = e : E > : ^ >a : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >e : E > : ^ @@ -133,7 +133,7 @@ module TargetHasOptional { >a = f : F > : ^ >a : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >f : F > : ^ @@ -141,7 +141,7 @@ module TargetHasOptional { >b = d : D > : ^ >b : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >d : D > : ^ @@ -149,7 +149,7 @@ module TargetHasOptional { >b = e : E > : ^ >b : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >e : E > : ^ @@ -157,40 +157,40 @@ module TargetHasOptional { >b = f : F > : ^ >b : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >f : F > : ^ // ok c = a; >c = a : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >c : C > : ^ >a : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ a = c; >a = c : C > : ^ >a : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >c : C > : ^ b = a; >b = a : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ b = c; >b = c : C > : ^ >b : { opt?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >c : C > : ^ } @@ -281,17 +281,17 @@ module SourceHasOptional { c = a; // ok >c = a : { opt: Base; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >c : C > : ^ >a : { opt: Base; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ a = d; // error >a = d : D > : ^ >a : { opt: Base; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >d : D > : ^ @@ -299,7 +299,7 @@ module SourceHasOptional { >a = e : E > : ^ >a : { opt: Base; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >e : E > : ^ @@ -307,7 +307,7 @@ module SourceHasOptional { >a = f : F > : ^ >a : { opt: Base; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >f : F > : ^ @@ -315,7 +315,7 @@ module SourceHasOptional { >a = c : C > : ^ >a : { opt: Base; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >c : C > : ^ @@ -345,11 +345,11 @@ module SourceHasOptional { b = a; // ok >b = a : { opt: Base; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >b : { opt: Base; } > : ^^^^^^^^^^^^^^ >a : { opt: Base; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ b = c; // ok >b = c : C diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembersStringNumericNames.types b/tests/baselines/reference/assignmentCompatWithObjectMembersStringNumericNames.types index eab29e091bdc0..4e15ea7e71bf3 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembersStringNumericNames.types +++ b/tests/baselines/reference/assignmentCompatWithObjectMembersStringNumericNames.types @@ -142,11 +142,11 @@ module JustStrings { s2 = b; >s2 = b : { '1.0': string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^ ^^^ >s2 : S2 > : ^^ >b : { '1.0': string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^ ^^^ s2 = a2; >s2 = a2 : { '1.0': string; } @@ -158,25 +158,25 @@ module JustStrings { a = b; >a = b : { '1.0': string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^ ^^^ >a : { '1.': string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^ >b : { '1.0': string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^ ^^^ b = a; >b = a : { '1.': string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^ >b : { '1.0': string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^ ^^^ >a : { '1.': string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^ a = s; >a = s : S > : ^ >a : { '1.': string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^ >s : S > : ^ @@ -184,7 +184,7 @@ module JustStrings { >a = s2 : S2 > : ^^ >a : { '1.': string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^ >s2 : S2 > : ^^ @@ -192,7 +192,7 @@ module JustStrings { >a = a2 : { '1.0': string; } > : ^^^^^^^^^^^^^^^^^^ >a : { '1.': string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^ >a2 : { '1.0': string; } > : ^^^^^^^^^^^^^^^^^^ @@ -214,11 +214,11 @@ module JustStrings { a2 = b; // ok >a2 = b : { '1.0': string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^ ^^^ >a2 : { '1.0': string; } > : ^^^^^^^^^^^^^^^^^^ >b : { '1.0': string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^ ^^^ a2 = t2; // ok >a2 = t2 : T2 @@ -375,11 +375,11 @@ module NumbersAndStrings { s2 = b; // ok >s2 = b : { 1: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ ^^^ >s2 : S2 > : ^^ >b : { 1: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ ^^^ s2 = a2; // error >s2 = a2 : { '1.0': string; } @@ -391,25 +391,25 @@ module NumbersAndStrings { a = b; // error >a = b : { 1: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ ^^^ >a : { '1.': string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^ >b : { 1: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ ^^^ b = a; // error >b = a : { '1.': string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^ >b : { 1: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ ^^^ >a : { '1.': string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^ a = s; // error >a = s : S > : ^ >a : { '1.': string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^ >s : S > : ^ @@ -417,7 +417,7 @@ module NumbersAndStrings { >a = s2 : S2 > : ^^ >a : { '1.': string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^ >s2 : S2 > : ^^ @@ -425,7 +425,7 @@ module NumbersAndStrings { >a = a2 : { '1.0': string; } > : ^^^^^^^^^^^^^^^^^^ >a : { '1.': string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^ >a2 : { '1.0': string; } > : ^^^^^^^^^^^^^^^^^^ @@ -433,7 +433,7 @@ module NumbersAndStrings { >a = b2 : { 1: string; } > : ^^^^^^^^^^^^^^ >a : { '1.': string; bar?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^ >b2 : { 1: string; } > : ^^^^^^^^^^^^^^ @@ -455,11 +455,11 @@ module NumbersAndStrings { a2 = b; // error >a2 = b : { 1: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ ^^^ >a2 : { '1.0': string; } > : ^^^^^^^^^^^^^^^^^^ >b : { 1: string; baz?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ ^^^ a2 = t2; // error >a2 = t2 : T2 diff --git a/tests/baselines/reference/assignmentCompatWithOverloads.types b/tests/baselines/reference/assignmentCompatWithOverloads.types index 3c278773146ea..f575550780bfc 100644 --- a/tests/baselines/reference/assignmentCompatWithOverloads.types +++ b/tests/baselines/reference/assignmentCompatWithOverloads.types @@ -21,19 +21,19 @@ function f3(x: number): number { return null; } function f4(x: string): string; >f4 : { (x: string): string; (x: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ function f4(x: number): number; >f4 : { (x: string): string; (x: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ function f4(x: any): any { return undefined; } >f4 : { (x: string): string; (x: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any > : ^^^ >undefined : undefined @@ -47,35 +47,35 @@ var g: (s1: string) => number; g = f1; // OK >g = f1 : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >g : (s1: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f1 : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ g = f2; // Error >g = f2 : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >g : (s1: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f2 : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ g = f3; // Error >g = f3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >g : (s1: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ g = f4; // Error >g = f4 : { (x: string): string; (x: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >g : (s1: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f4 : { (x: string): string; (x: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ class C { >C : C @@ -100,7 +100,7 @@ d = C; // Error >d = C : typeof C > : ^^^^^^^^ >d : new (x: number) => void -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >C : typeof C > : ^^^^^^^^ diff --git a/tests/baselines/reference/assignmentCompatWithStringIndexer.types b/tests/baselines/reference/assignmentCompatWithStringIndexer.types index b584813d90a48..26b12f15dee5d 100644 --- a/tests/baselines/reference/assignmentCompatWithStringIndexer.types +++ b/tests/baselines/reference/assignmentCompatWithStringIndexer.types @@ -157,7 +157,7 @@ module Generics { function foo() { >foo : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ var b3: { [x: string]: Derived; }; >b3 : { [x: string]: Derived; } diff --git a/tests/baselines/reference/assignmentCompatWithStringIndexer2.types b/tests/baselines/reference/assignmentCompatWithStringIndexer2.types index 279991bf6aec8..a3cf5ab6a3700 100644 --- a/tests/baselines/reference/assignmentCompatWithStringIndexer2.types +++ b/tests/baselines/reference/assignmentCompatWithStringIndexer2.types @@ -141,7 +141,7 @@ module Generics { function foo() { >foo : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ var b3: { [x: string]: Derived; }; >b3 : { [x: string]: Derived; } diff --git a/tests/baselines/reference/assignmentCompatWithStringIndexer3.types b/tests/baselines/reference/assignmentCompatWithStringIndexer3.types index 1e896b9e1f18f..0dbff145e6736 100644 --- a/tests/baselines/reference/assignmentCompatWithStringIndexer3.types +++ b/tests/baselines/reference/assignmentCompatWithStringIndexer3.types @@ -56,7 +56,7 @@ module Generics { function foo() { >foo : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ var a: A; >a : A diff --git a/tests/baselines/reference/assignmentCompatability25.types b/tests/baselines/reference/assignmentCompatability25.types index 5a86148d8f237..260d0de3586b5 100644 --- a/tests/baselines/reference/assignmentCompatability25.types +++ b/tests/baselines/reference/assignmentCompatability25.types @@ -37,19 +37,19 @@ module __test2__ { export var __val__aa = aa; >__val__aa : { two: number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >aa : { two: number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } __test2__.__val__aa = __test1__.__val__obj4 >__test2__.__val__aa = __test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >__test2__.__val__aa : { two: number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >__test2__ : typeof __test2__ > : ^^^^^^^^^^^^^^^^ >__val__aa : { two: number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >__test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >__test1__ : typeof __test1__ diff --git a/tests/baselines/reference/assignmentCompatability26.types b/tests/baselines/reference/assignmentCompatability26.types index 025859bdd630f..a8b9af810d7c4 100644 --- a/tests/baselines/reference/assignmentCompatability26.types +++ b/tests/baselines/reference/assignmentCompatability26.types @@ -37,19 +37,19 @@ module __test2__ { export var __val__aa = aa; >__val__aa : { one: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >aa : { one: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } __test2__.__val__aa = __test1__.__val__obj4 >__test2__.__val__aa = __test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >__test2__.__val__aa : { one: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >__test2__ : typeof __test2__ > : ^^^^^^^^^^^^^^^^ >__val__aa : { one: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >__test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >__test1__ : typeof __test1__ diff --git a/tests/baselines/reference/assignmentCompatability27.types b/tests/baselines/reference/assignmentCompatability27.types index 49f1e0957ad44..650081348d5a1 100644 --- a/tests/baselines/reference/assignmentCompatability27.types +++ b/tests/baselines/reference/assignmentCompatability27.types @@ -37,19 +37,19 @@ module __test2__ { export var __val__aa = aa; >__val__aa : { two: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >aa : { two: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } __test2__.__val__aa = __test1__.__val__obj4 >__test2__.__val__aa = __test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >__test2__.__val__aa : { two: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >__test2__ : typeof __test2__ > : ^^^^^^^^^^^^^^^^ >__val__aa : { two: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >__test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >__test1__ : typeof __test1__ diff --git a/tests/baselines/reference/assignmentCompatability28.types b/tests/baselines/reference/assignmentCompatability28.types index ce64bb1b1a195..28ffa9e19000e 100644 --- a/tests/baselines/reference/assignmentCompatability28.types +++ b/tests/baselines/reference/assignmentCompatability28.types @@ -37,19 +37,19 @@ module __test2__ { export var __val__aa = aa; >__val__aa : { one: boolean; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >aa : { one: boolean; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } __test2__.__val__aa = __test1__.__val__obj4 >__test2__.__val__aa = __test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >__test2__.__val__aa : { one: boolean; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >__test2__ : typeof __test2__ > : ^^^^^^^^^^^^^^^^ >__val__aa : { one: boolean; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >__test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >__test1__ : typeof __test1__ diff --git a/tests/baselines/reference/assignmentCompatability29.types b/tests/baselines/reference/assignmentCompatability29.types index c3e770c9863fa..00b3166741639 100644 --- a/tests/baselines/reference/assignmentCompatability29.types +++ b/tests/baselines/reference/assignmentCompatability29.types @@ -37,19 +37,19 @@ module __test2__ { export var __val__aa = aa; >__val__aa : { one: any[]; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >aa : { one: any[]; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } __test2__.__val__aa = __test1__.__val__obj4 >__test2__.__val__aa = __test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >__test2__.__val__aa : { one: any[]; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >__test2__ : typeof __test2__ > : ^^^^^^^^^^^^^^^^ >__val__aa : { one: any[]; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >__test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >__test1__ : typeof __test1__ diff --git a/tests/baselines/reference/assignmentCompatability30.types b/tests/baselines/reference/assignmentCompatability30.types index 6165d0553e1b5..bb9795b0b9b7e 100644 --- a/tests/baselines/reference/assignmentCompatability30.types +++ b/tests/baselines/reference/assignmentCompatability30.types @@ -37,19 +37,19 @@ module __test2__ { export var __val__aa = aa; >__val__aa : { one: number[]; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >aa : { one: number[]; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } __test2__.__val__aa = __test1__.__val__obj4 >__test2__.__val__aa = __test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >__test2__.__val__aa : { one: number[]; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >__test2__ : typeof __test2__ > : ^^^^^^^^^^^^^^^^ >__val__aa : { one: number[]; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >__test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >__test1__ : typeof __test1__ diff --git a/tests/baselines/reference/assignmentCompatability31.types b/tests/baselines/reference/assignmentCompatability31.types index 6e5c4a0b630e6..a9eb60e83b522 100644 --- a/tests/baselines/reference/assignmentCompatability31.types +++ b/tests/baselines/reference/assignmentCompatability31.types @@ -37,19 +37,19 @@ module __test2__ { export var __val__aa = aa; >__val__aa : { one: string[]; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >aa : { one: string[]; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } __test2__.__val__aa = __test1__.__val__obj4 >__test2__.__val__aa = __test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >__test2__.__val__aa : { one: string[]; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >__test2__ : typeof __test2__ > : ^^^^^^^^^^^^^^^^ >__val__aa : { one: string[]; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >__test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >__test1__ : typeof __test1__ diff --git a/tests/baselines/reference/assignmentCompatability32.types b/tests/baselines/reference/assignmentCompatability32.types index 5294890143606..69b6e1cab8f5c 100644 --- a/tests/baselines/reference/assignmentCompatability32.types +++ b/tests/baselines/reference/assignmentCompatability32.types @@ -37,19 +37,19 @@ module __test2__ { export var __val__aa = aa; >__val__aa : { one: boolean[]; } -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >aa : { one: boolean[]; } -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } __test2__.__val__aa = __test1__.__val__obj4 >__test2__.__val__aa = __test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >__test2__.__val__aa : { one: boolean[]; } -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >__test2__ : typeof __test2__ > : ^^^^^^^^^^^^^^^^ >__val__aa : { one: boolean[]; } -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >__test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >__test1__ : typeof __test1__ diff --git a/tests/baselines/reference/assignmentCompatability33.types b/tests/baselines/reference/assignmentCompatability33.types index 6c66e1fd7e7c6..216500a14bad4 100644 --- a/tests/baselines/reference/assignmentCompatability33.types +++ b/tests/baselines/reference/assignmentCompatability33.types @@ -37,19 +37,19 @@ module __test2__ { export var __val__obj = obj; >__val__obj : (a: Tstring) => Tstring -> : ^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >obj : (a: Tstring) => Tstring -> : ^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ } __test2__.__val__obj = __test1__.__val__obj4 >__test2__.__val__obj = __test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >__test2__.__val__obj : (a: Tstring) => Tstring -> : ^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >__test2__ : typeof __test2__ > : ^^^^^^^^^^^^^^^^ >__val__obj : (a: Tstring) => Tstring -> : ^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >__test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >__test1__ : typeof __test1__ diff --git a/tests/baselines/reference/assignmentCompatability34.types b/tests/baselines/reference/assignmentCompatability34.types index d85537b6c109b..874597fae32b1 100644 --- a/tests/baselines/reference/assignmentCompatability34.types +++ b/tests/baselines/reference/assignmentCompatability34.types @@ -37,19 +37,19 @@ module __test2__ { export var __val__obj = obj; >__val__obj : (a: Tnumber) => Tnumber -> : ^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >obj : (a: Tnumber) => Tnumber -> : ^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ } __test2__.__val__obj = __test1__.__val__obj4 >__test2__.__val__obj = __test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >__test2__.__val__obj : (a: Tnumber) => Tnumber -> : ^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >__test2__ : typeof __test2__ > : ^^^^^^^^^^^^^^^^ >__val__obj : (a: Tnumber) => Tnumber -> : ^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >__test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >__test1__ : typeof __test1__ diff --git a/tests/baselines/reference/assignmentCompatability4.types b/tests/baselines/reference/assignmentCompatability4.types index 01468ef8e4f4a..0259d4f5aaa72 100644 --- a/tests/baselines/reference/assignmentCompatability4.types +++ b/tests/baselines/reference/assignmentCompatability4.types @@ -37,19 +37,19 @@ module __test2__ { export var __val__aa = aa; >__val__aa : { one: number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >aa : { one: number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } __test2__.__val__aa = __test1__.__val__obj4 >__test2__.__val__aa = __test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >__test2__.__val__aa : { one: number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >__test2__ : typeof __test2__ > : ^^^^^^^^^^^^^^^^ >__val__aa : { one: number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >__test1__.__val__obj4 : __test1__.interfaceWithPublicAndOptional > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >__test1__ : typeof __test1__ diff --git a/tests/baselines/reference/assignmentCompatability46.types b/tests/baselines/reference/assignmentCompatability46.types index 43fb76bafaa95..a7ed8abede51a 100644 --- a/tests/baselines/reference/assignmentCompatability46.types +++ b/tests/baselines/reference/assignmentCompatability46.types @@ -11,7 +11,7 @@ fn([1, 2, 3]) >fn([1, 2, 3]) : void > : ^^^^ >fn : (x: never) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >[1, 2, 3] : number[] > : ^^^^^^^^ >1 : 1 @@ -25,7 +25,7 @@ fn({ a: 1, b: 2 }) >fn({ a: 1, b: 2 }) : void > : ^^^^ >fn : (x: never) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ a: 1, b: 2 } : { a: number; b: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number diff --git a/tests/baselines/reference/assignmentCompatibilityForConstrainedTypeParameters.types b/tests/baselines/reference/assignmentCompatibilityForConstrainedTypeParameters.types index 43ecb6309955b..1186435cca0c4 100644 --- a/tests/baselines/reference/assignmentCompatibilityForConstrainedTypeParameters.types +++ b/tests/baselines/reference/assignmentCompatibilityForConstrainedTypeParameters.types @@ -3,13 +3,13 @@ === assignmentCompatibilityForConstrainedTypeParameters.ts === function foo() { >foo : () => void -> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ >bar : string > : ^^^^^^ function bar() { >bar : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ var x: S; >x : S diff --git a/tests/baselines/reference/assignmentGenericLookupTypeNarrowing.types b/tests/baselines/reference/assignmentGenericLookupTypeNarrowing.types index 58026826c2f9e..de7504bed4c23 100644 --- a/tests/baselines/reference/assignmentGenericLookupTypeNarrowing.types +++ b/tests/baselines/reference/assignmentGenericLookupTypeNarrowing.types @@ -27,21 +27,21 @@ declare function foo(x: T): null | T; function bar(key: K) { >bar : (key: K) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >key : K > : ^ const element = foo(mappedObject[key]); >element : { foo: { x: string; }; }[K] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^^^ >foo(mappedObject[key]) : { foo: { x: string; }; }[K] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^^^ +>foo : (x: T) => null | T +> : ^ ^^ ^^ ^^^^^ >mappedObject[key] : { foo: { x: string; }; }[K] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^^^ >mappedObject : { foo: { x: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^ >key : K > : ^ @@ -49,7 +49,7 @@ function bar(key: K) { >element == null : boolean > : ^^^^^^^ >element : { foo: { x: string; }; }[K] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^^^ return; const x = element.x; @@ -58,7 +58,7 @@ function bar(key: K) { >element.x : string > : ^^^^^^ >element : { foo: { x: string; }; }[K] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^^^ >x : string > : ^^^^^^ } diff --git a/tests/baselines/reference/assignmentLHSIsReference.types b/tests/baselines/reference/assignmentLHSIsReference.types index 0e06aa689db3f..7e765da01a44f 100644 --- a/tests/baselines/reference/assignmentLHSIsReference.types +++ b/tests/baselines/reference/assignmentLHSIsReference.types @@ -40,7 +40,7 @@ x3.a = value; >x3.a : string > : ^^^^^^ >x3 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : string > : ^^^^^^ >value : any @@ -50,7 +50,7 @@ x3['a'] = value; >x3['a'] : string > : ^^^^^^ >x3 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >'a' : "a" > : ^^^ >value : any @@ -86,7 +86,7 @@ function fn2(x4: number) { >x3.a : string > : ^^^^^^ >x3 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : string > : ^^^^^^ >value : any @@ -98,7 +98,7 @@ function fn2(x4: number) { >x3['a'] : string > : ^^^^^^ >x3 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >'a' : "a" > : ^^^ >value : any diff --git a/tests/baselines/reference/assignmentNonObjectTypeConstraints.types b/tests/baselines/reference/assignmentNonObjectTypeConstraints.types index e9f80e7a29855..8924c51561a2e 100644 --- a/tests/baselines/reference/assignmentNonObjectTypeConstraints.types +++ b/tests/baselines/reference/assignmentNonObjectTypeConstraints.types @@ -13,7 +13,7 @@ const enum E { A, B, C } function foo(x: T) { >foo : (x: T) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ @@ -28,7 +28,7 @@ foo(5); >foo(5) : void > : ^^^^ >foo : (x: T) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >5 : 5 > : ^ @@ -36,7 +36,7 @@ foo(E.A); >foo(E.A) : void > : ^^^^ >foo : (x: T) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >E.A : E.A > : ^^^ >E : typeof E @@ -56,7 +56,7 @@ class B { b } function bar(x: T) { >bar : (x: T) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ @@ -71,7 +71,7 @@ bar(new A); >bar(new A) : void > : ^^^^ >bar : (x: T) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >new A : A > : ^ >A : typeof A @@ -81,7 +81,7 @@ bar(new B); >bar(new B) : void > : ^^^^ >bar : (x: T) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >new B : B > : ^ >B : typeof B diff --git a/tests/baselines/reference/assignmentStricterConstraints.types b/tests/baselines/reference/assignmentStricterConstraints.types index 68f5f03d2428a..4307744b8b0f9 100644 --- a/tests/baselines/reference/assignmentStricterConstraints.types +++ b/tests/baselines/reference/assignmentStricterConstraints.types @@ -3,9 +3,9 @@ === assignmentStricterConstraints.ts === var f = function (x: T, y: S): void { >f : (x: T, y: S) => void -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >function (x: T, y: S): void { x = y} : (x: T, y: S) => void -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T > : ^ >y : S @@ -32,17 +32,17 @@ var g = function (x: T, y: S): void { } g = f >g = f : (x: T, y: S) => void -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >g : (x: T, y: S) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >f : (x: T, y: S) => void -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ g(1, "") >g(1, "") : void > : ^^^^ >g : (x: T, y: S) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >"" : "" diff --git a/tests/baselines/reference/assignmentToAnyArrayRestParameters.types b/tests/baselines/reference/assignmentToAnyArrayRestParameters.types index b01efd8328ce7..09a3540c6a0a5 100644 --- a/tests/baselines/reference/assignmentToAnyArrayRestParameters.types +++ b/tests/baselines/reference/assignmentToAnyArrayRestParameters.types @@ -5,7 +5,7 @@ function foo( >foo : (fa: (s: string, ...args: string[]) => string, fb: (s: string, ...args: T) => string) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ fa: (s: string, ...args: string[]) => string, >fa : (s: string, ...args: string[]) => string @@ -30,7 +30,7 @@ function foo( >args : any > : ^^^ >fa : (s: string, ...args: string[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ const f2: (...args: any[]) => string = fa; >f2 : (...args: any[]) => string @@ -38,7 +38,7 @@ function foo( >args : any[] > : ^^^^^ >fa : (s: string, ...args: string[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ const f3: (...args: any) => string = fb; >f3 : (...args: any) => string @@ -46,7 +46,7 @@ function foo( >args : any > : ^^^ >fb : (s: string, ...args: T) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ const f4: (...args: any[]) => string = fb; >f4 : (...args: any[]) => string @@ -54,12 +54,12 @@ function foo( >args : any[] > : ^^^^^ >fb : (s: string, ...args: T) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ } function bar() { >bar : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^ type T00 = string[]["0"]; >T00 : string diff --git a/tests/baselines/reference/assignmentToParenthesizedIdentifiers.types b/tests/baselines/reference/assignmentToParenthesizedIdentifiers.types index 97c8d08c9e744..b40c45bd442cb 100644 --- a/tests/baselines/reference/assignmentToParenthesizedIdentifiers.types +++ b/tests/baselines/reference/assignmentToParenthesizedIdentifiers.types @@ -363,9 +363,9 @@ function fn2(x: number, y: { t: number }) { >(y).t : number > : ^^^^^^ >(y) : { t: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >y : { t: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >t : number > : ^^^^^^ >3 : 3 @@ -379,7 +379,7 @@ function fn2(x: number, y: { t: number }) { >y.t : number > : ^^^^^^ >y : { t: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >t : number > : ^^^^^^ >3 : 3 @@ -391,9 +391,9 @@ function fn2(x: number, y: { t: number }) { >(y).t : number > : ^^^^^^ >(y) : { t: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >y : { t: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >t : number > : ^^^^^^ >'' : "" @@ -407,7 +407,7 @@ function fn2(x: number, y: { t: number }) { >y.t : number > : ^^^^^^ >y : { t: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >t : number > : ^^^^^^ >'' : "" @@ -419,7 +419,7 @@ function fn2(x: number, y: { t: number }) { >y['t'] : number > : ^^^^^^ >y : { t: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >'t' : "t" > : ^^^ >3 : 3 @@ -431,9 +431,9 @@ function fn2(x: number, y: { t: number }) { >(y)['t'] : number > : ^^^^^^ >(y) : { t: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >y : { t: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >'t' : "t" > : ^^^ >3 : 3 @@ -447,7 +447,7 @@ function fn2(x: number, y: { t: number }) { >y['t'] : number > : ^^^^^^ >y : { t: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >'t' : "t" > : ^^^ >3 : 3 @@ -459,7 +459,7 @@ function fn2(x: number, y: { t: number }) { >y['t'] : number > : ^^^^^^ >y : { t: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >'t' : "t" > : ^^^ >'' : "" @@ -471,9 +471,9 @@ function fn2(x: number, y: { t: number }) { >(y)['t'] : number > : ^^^^^^ >(y) : { t: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >y : { t: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >'t' : "t" > : ^^^ >'' : "" @@ -487,7 +487,7 @@ function fn2(x: number, y: { t: number }) { >y['t'] : number > : ^^^^^^ >y : { t: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >'t' : "t" > : ^^^ >'' : "" diff --git a/tests/baselines/reference/assignmentTypeNarrowing.types b/tests/baselines/reference/assignmentTypeNarrowing.types index 01b6cdc98934e..b4105c636150b 100644 --- a/tests/baselines/reference/assignmentTypeNarrowing.types +++ b/tests/baselines/reference/assignmentTypeNarrowing.types @@ -182,11 +182,11 @@ arr.push({ x: "ok" }); >arr.push({ x: "ok" }) : number > : ^^^^^^ >arr.push : (...items: { x?: "ok"; }[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^ ^^^^^^^^^^ >arr : { x?: "ok"; }[] -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^ >push : (...items: { x?: "ok"; }[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^ ^^^^^^^^^^ >{ x: "ok" } : { x: "ok"; } > : ^^^^^^^^^^^^ >x : "ok" diff --git a/tests/baselines/reference/asyncArrowFunction11_es5.types b/tests/baselines/reference/asyncArrowFunction11_es5.types index 4c30f10b5dd61..395793e8ed2ad 100644 --- a/tests/baselines/reference/asyncArrowFunction11_es5.types +++ b/tests/baselines/reference/asyncArrowFunction11_es5.types @@ -19,12 +19,12 @@ class A { > : ^^^^ >Promise.resolve() : Promise > : ^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ const obj = { ["a"]: () => this }; // computed property name after `await` triggers case >obj : { a: () => this; } diff --git a/tests/baselines/reference/asyncArrowFunction8_es2017.types b/tests/baselines/reference/asyncArrowFunction8_es2017.types index 0359dd7724308..eab4b45ec76a7 100644 --- a/tests/baselines/reference/asyncArrowFunction8_es2017.types +++ b/tests/baselines/reference/asyncArrowFunction8_es2017.types @@ -9,15 +9,15 @@ var foo = async (): Promise => { var v = { [await]: foo } >v : { [x: number]: () => Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ >{ [await]: foo } : { [x: number]: () => Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ >[await] : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >await : any > : ^^^ > : any > : ^^^ >foo : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/asyncArrowFunction8_es5.types b/tests/baselines/reference/asyncArrowFunction8_es5.types index 17bf623e46996..a5cd7180aa019 100644 --- a/tests/baselines/reference/asyncArrowFunction8_es5.types +++ b/tests/baselines/reference/asyncArrowFunction8_es5.types @@ -9,15 +9,15 @@ var foo = async (): Promise => { var v = { [await]: foo } >v : { [x: number]: () => Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ >{ [await]: foo } : { [x: number]: () => Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ >[await] : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >await : any > : ^^^ > : any > : ^^^ >foo : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/asyncArrowFunction8_es6.types b/tests/baselines/reference/asyncArrowFunction8_es6.types index 83bd1245a656e..7af08bf8a878e 100644 --- a/tests/baselines/reference/asyncArrowFunction8_es6.types +++ b/tests/baselines/reference/asyncArrowFunction8_es6.types @@ -9,15 +9,15 @@ var foo = async (): Promise => { var v = { [await]: foo } >v : { [x: number]: () => Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ >{ [await]: foo } : { [x: number]: () => Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ >[await] : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >await : any > : ^^^ > : any > : ^^^ >foo : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es2017.types b/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es2017.types index 6dfcb56bb505c..c04c36f711283 100644 --- a/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es2017.types +++ b/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es2017.types @@ -21,11 +21,11 @@ class C { >await other.apply(this, arguments) : any >other.apply(this, arguments) : any >other.apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >other : () => void > : ^^^^^^^^^^ >apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >this : this > : ^^^^ >arguments : IArguments diff --git a/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es5.types b/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es5.types index bf813d0cca4dc..be3cc5d3315cb 100644 --- a/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es5.types +++ b/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es5.types @@ -23,11 +23,11 @@ class C { >other.apply(this, arguments) : any > : ^^^ >other.apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >other : () => void > : ^^^^^^^^^^ >apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >this : this > : ^^^^ >arguments : IArguments diff --git a/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es6.types b/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es6.types index 49176fdf0e4bf..80094228b3949 100644 --- a/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es6.types +++ b/tests/baselines/reference/asyncArrowFunctionCapturesArguments_es6.types @@ -21,11 +21,11 @@ class C { >await other.apply(this, arguments) : any >other.apply(this, arguments) : any >other.apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >other : () => void > : ^^^^^^^^^^ >apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >this : this > : ^^^^ >arguments : IArguments diff --git a/tests/baselines/reference/asyncArrowFunction_allowJs.types b/tests/baselines/reference/asyncArrowFunction_allowJs.types index 90e57382ef534..f21ca3c9126bf 100644 --- a/tests/baselines/reference/asyncArrowFunction_allowJs.types +++ b/tests/baselines/reference/asyncArrowFunction_allowJs.types @@ -5,9 +5,9 @@ /** @type {function(): string} */ const a = () => 0 >a : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >() => 0 : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0 : 0 > : ^ @@ -15,9 +15,9 @@ const a = () => 0 /** @type {function(): string} */ const b = async () => 0 >b : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >async () => 0 : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0 : 0 > : ^ @@ -25,9 +25,9 @@ const b = async () => 0 /** @type {function(): string} */ const c = async () => { >c : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >async () => { return 0} : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ return 0 >0 : 0 @@ -38,9 +38,9 @@ const c = async () => { /** @type {function(): string} */ const d = async () => { >d : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >async () => { return ""} : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ return "" >"" : "" @@ -50,18 +50,18 @@ const d = async () => { /** @type {function(function(): string): void} */ const f = (p) => {} >f : (arg0: () => string) => void -> : ^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^ >(p) => {} : (p: () => string) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^ ^^^^^ >p : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ // Error (good) f(async () => { >f(async () => { return 0}) : void > : ^^^^ >f : (arg0: () => string) => void -> : ^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^ >async () => { return 0} : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/asyncAwaitIsolatedModules_es2017.types b/tests/baselines/reference/asyncAwaitIsolatedModules_es2017.types index 5c6b02e6e38ea..2059b6a1d0af5 100644 --- a/tests/baselines/reference/asyncAwaitIsolatedModules_es2017.types +++ b/tests/baselines/reference/asyncAwaitIsolatedModules_es2017.types @@ -23,7 +23,7 @@ async function f1(): Promise { } async function f3(): MyPromise { } >f3 : () => MyPromise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ let f4 = async function() { } >f4 : () => Promise @@ -39,9 +39,9 @@ let f5 = async function(): Promise { } let f6 = async function(): MyPromise { } >f6 : () => MyPromise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >async function(): MyPromise { } : () => MyPromise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ let f7 = async () => { }; >f7 : () => Promise @@ -57,9 +57,9 @@ let f8 = async (): Promise => { }; let f9 = async (): MyPromise => { }; >f9 : () => MyPromise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >async (): MyPromise => { } : () => MyPromise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ let f10 = async () => p; >f10 : () => Promise @@ -87,17 +87,17 @@ let f12 = async (): Promise => mp; let f13 = async (): MyPromise => p; >f13 : () => MyPromise -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >async (): MyPromise => p : () => MyPromise -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^ let o = { >o : { m1(): Promise; m2(): Promise; m3(): MyPromise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ >{ async m1() { }, async m2(): Promise { }, async m3(): MyPromise { }} : { m1(): Promise; m2(): Promise; m3(): MyPromise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ async m1() { }, >m1 : () => Promise @@ -109,7 +109,7 @@ let o = { async m3(): MyPromise { } >m3 : () => MyPromise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ }; @@ -127,7 +127,7 @@ class C { async m3(): MyPromise { } >m3 : () => MyPromise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ static async m4() { } >m4 : () => Promise @@ -139,7 +139,7 @@ class C { static async m6(): MyPromise { } >m6 : () => MyPromise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ } module M { diff --git a/tests/baselines/reference/asyncAwaitIsolatedModules_es5.types b/tests/baselines/reference/asyncAwaitIsolatedModules_es5.types index 82694aa672ecf..c67538371823d 100644 --- a/tests/baselines/reference/asyncAwaitIsolatedModules_es5.types +++ b/tests/baselines/reference/asyncAwaitIsolatedModules_es5.types @@ -23,7 +23,7 @@ async function f1(): Promise { } async function f3(): MyPromise { } >f3 : () => MyPromise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ let f4 = async function() { } >f4 : () => Promise @@ -39,9 +39,9 @@ let f5 = async function(): Promise { } let f6 = async function(): MyPromise { } >f6 : () => MyPromise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >async function(): MyPromise { } : () => MyPromise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ let f7 = async () => { }; >f7 : () => Promise @@ -57,9 +57,9 @@ let f8 = async (): Promise => { }; let f9 = async (): MyPromise => { }; >f9 : () => MyPromise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >async (): MyPromise => { } : () => MyPromise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ let f10 = async () => p; >f10 : () => Promise @@ -87,17 +87,17 @@ let f12 = async (): Promise => mp; let f13 = async (): MyPromise => p; >f13 : () => MyPromise -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >async (): MyPromise => p : () => MyPromise -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^ let o = { >o : { m1(): Promise; m2(): Promise; m3(): MyPromise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ >{ async m1() { }, async m2(): Promise { }, async m3(): MyPromise { }} : { m1(): Promise; m2(): Promise; m3(): MyPromise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ async m1() { }, >m1 : () => Promise @@ -109,7 +109,7 @@ let o = { async m3(): MyPromise { } >m3 : () => MyPromise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ }; @@ -127,7 +127,7 @@ class C { async m3(): MyPromise { } >m3 : () => MyPromise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ static async m4() { } >m4 : () => Promise @@ -139,7 +139,7 @@ class C { static async m6(): MyPromise { } >m6 : () => MyPromise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ } module M { diff --git a/tests/baselines/reference/asyncAwaitIsolatedModules_es6.types b/tests/baselines/reference/asyncAwaitIsolatedModules_es6.types index 1e9e5af30123a..b69055519df93 100644 --- a/tests/baselines/reference/asyncAwaitIsolatedModules_es6.types +++ b/tests/baselines/reference/asyncAwaitIsolatedModules_es6.types @@ -23,7 +23,7 @@ async function f1(): Promise { } async function f3(): MyPromise { } >f3 : () => MyPromise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ let f4 = async function() { } >f4 : () => Promise @@ -39,9 +39,9 @@ let f5 = async function(): Promise { } let f6 = async function(): MyPromise { } >f6 : () => MyPromise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >async function(): MyPromise { } : () => MyPromise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ let f7 = async () => { }; >f7 : () => Promise @@ -57,9 +57,9 @@ let f8 = async (): Promise => { }; let f9 = async (): MyPromise => { }; >f9 : () => MyPromise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >async (): MyPromise => { } : () => MyPromise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ let f10 = async () => p; >f10 : () => Promise @@ -87,17 +87,17 @@ let f12 = async (): Promise => mp; let f13 = async (): MyPromise => p; >f13 : () => MyPromise -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >async (): MyPromise => p : () => MyPromise -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^ let o = { >o : { m1(): Promise; m2(): Promise; m3(): MyPromise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ >{ async m1() { }, async m2(): Promise { }, async m3(): MyPromise { }} : { m1(): Promise; m2(): Promise; m3(): MyPromise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ async m1() { }, >m1 : () => Promise @@ -109,7 +109,7 @@ let o = { async m3(): MyPromise { } >m3 : () => MyPromise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ }; @@ -127,7 +127,7 @@ class C { async m3(): MyPromise { } >m3 : () => MyPromise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ static async m4() { } >m4 : () => Promise @@ -139,7 +139,7 @@ class C { static async m6(): MyPromise { } >m6 : () => MyPromise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ } module M { diff --git a/tests/baselines/reference/asyncAwaitNestedClasses_es5.types b/tests/baselines/reference/asyncAwaitNestedClasses_es5.types index 032ac7223e143..8379addae429a 100644 --- a/tests/baselines/reference/asyncAwaitNestedClasses_es5.types +++ b/tests/baselines/reference/asyncAwaitNestedClasses_es5.types @@ -24,13 +24,13 @@ class A { >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >(resolve) => { resolve(null); } : (resolve: (value: void | PromiseLike) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ >resolve : (value: void | PromiseLike) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >resolve(null) : void > : ^^^^ >resolve : (value: void | PromiseLike) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } static C = class C { >C : typeof C @@ -50,11 +50,11 @@ class A { >B.func2() : Promise > : ^^^^^^^^^^^^^ >B.func2 : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >B : typeof B > : ^^^^^^^^ >func2 : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ } } } diff --git a/tests/baselines/reference/asyncAwaitWithCapturedBlockScopeVar.types b/tests/baselines/reference/asyncAwaitWithCapturedBlockScopeVar.types index c4b6a9696027b..8eb9fd04ffec4 100644 --- a/tests/baselines/reference/asyncAwaitWithCapturedBlockScopeVar.types +++ b/tests/baselines/reference/asyncAwaitWithCapturedBlockScopeVar.types @@ -37,11 +37,11 @@ async function fn1() { >ar.push(() => i) : number > : ^^^^^^ >ar.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >ar : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >() => i : () => number > : ^^^^^^^^^^^^ >i : number @@ -85,11 +85,11 @@ async function fn2() { >ar.push(() => i) : number > : ^^^^^^ >ar.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >ar : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >() => i : () => number > : ^^^^^^^^^^^^ >i : number @@ -135,11 +135,11 @@ async function fn3() { >ar.push(() => i) : number > : ^^^^^^ >ar.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >ar : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >() => i : () => number > : ^^^^^^^^^^^^ >i : number @@ -185,11 +185,11 @@ async function fn4(): Promise { >ar.push(() => i) : number > : ^^^^^^ >ar.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >ar : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >() => i : () => number > : ^^^^^^^^^^^^ >i : number diff --git a/tests/baselines/reference/asyncFunctionContextuallyTypedReturns.types b/tests/baselines/reference/asyncFunctionContextuallyTypedReturns.types index 3e87e176efd94..19a78cded49dc 100644 --- a/tests/baselines/reference/asyncFunctionContextuallyTypedReturns.types +++ b/tests/baselines/reference/asyncFunctionContextuallyTypedReturns.types @@ -13,7 +13,7 @@ f(v => v ? [0] : Promise.reject()); >f(v => v ? [0] : Promise.reject()) : void > : ^^^^ >f : (cb: (v: boolean) => [0] | PromiseLike<[0]>) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >v => v ? [0] : Promise.reject() : (v: boolean) => [0] | Promise<[0]> > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >v : boolean @@ -29,17 +29,17 @@ f(v => v ? [0] : Promise.reject()); >Promise.reject() : Promise<[0]> > : ^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ f(async v => v ? [0] : Promise.reject()); >f(async v => v ? [0] : Promise.reject()) : void > : ^^^^ >f : (cb: (v: boolean) => [0] | PromiseLike<[0]>) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >async v => v ? [0] : Promise.reject() : (v: boolean) => Promise<[0]> > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >v : boolean @@ -55,11 +55,11 @@ f(async v => v ? [0] : Promise.reject()); >Promise.reject() : Promise<[0]> > : ^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ declare function g(cb: (v: boolean) => "contextuallyTypable" | PromiseLike<"contextuallyTypable">): void; >g : (cb: (v: boolean) => "contextuallyTypable" | PromiseLike<"contextuallyTypable">) => void @@ -73,7 +73,7 @@ g(v => v ? "contextuallyTypable" : Promise.reject()); >g(v => v ? "contextuallyTypable" : Promise.reject()) : void > : ^^^^ >g : (cb: (v: boolean) => "contextuallyTypable" | PromiseLike<"contextuallyTypable">) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >v => v ? "contextuallyTypable" : Promise.reject() : (v: boolean) => "contextuallyTypable" | Promise<"contextuallyTypable"> > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >v : boolean @@ -87,17 +87,17 @@ g(v => v ? "contextuallyTypable" : Promise.reject()); >Promise.reject() : Promise<"contextuallyTypable"> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ g(async v => v ? "contextuallyTypable" : Promise.reject()); >g(async v => v ? "contextuallyTypable" : Promise.reject()) : void > : ^^^^ >g : (cb: (v: boolean) => "contextuallyTypable" | PromiseLike<"contextuallyTypable">) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >async v => v ? "contextuallyTypable" : Promise.reject() : (v: boolean) => Promise<"contextuallyTypable"> > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >v : boolean @@ -111,11 +111,11 @@ g(async v => v ? "contextuallyTypable" : Promise.reject()); >Promise.reject() : Promise<"contextuallyTypable"> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ type MyCallback = (thing: string) => void; >MyCallback : MyCallback @@ -135,7 +135,7 @@ h(v => v ? (abc) => { } : Promise.reject()); >h(v => v ? (abc) => { } : Promise.reject()) : void > : ^^^^ >h : (cb: (v: boolean) => MyCallback | PromiseLike) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >v => v ? (abc) => { } : Promise.reject() : (v: boolean) => ((abc: string) => void) | Promise > : ^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >v : boolean @@ -151,17 +151,17 @@ h(v => v ? (abc) => { } : Promise.reject()); >Promise.reject() : Promise > : ^^^^^^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ h(async v => v ? (def) => { } : Promise.reject()); >h(async v => v ? (def) => { } : Promise.reject()) : void > : ^^^^ >h : (cb: (v: boolean) => MyCallback | PromiseLike) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >async v => v ? (def) => { } : Promise.reject() : (v: boolean) => Promise void)> > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >v : boolean @@ -177,11 +177,11 @@ h(async v => v ? (def) => { } : Promise.reject()); >Promise.reject() : Promise > : ^^^^^^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ // repro from #29196 const increment: ( diff --git a/tests/baselines/reference/asyncFunctionDeclaration15_es5.types b/tests/baselines/reference/asyncFunctionDeclaration15_es5.types index fb949240fbe8e..41ae66714bd35 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration15_es5.types +++ b/tests/baselines/reference/asyncFunctionDeclaration15_es5.types @@ -73,9 +73,9 @@ async function fn11() { return a; } // valid: Promise async function fn12() { return obj; } // valid: Promise<{ then: string; }> >fn12 : () => Promise<{ then: string; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >obj : { then: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ async function fn13() { return thenable; } // error >fn13 : () => Promise @@ -117,9 +117,9 @@ async function fn18() { await obj; } // valid: Promise >fn18 : () => Promise > : ^^^^^^^^^^^^^^^^^^^ >await obj : { then: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >obj : { then: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ async function fn19() { await thenable; } // error >fn19 : () => Promise diff --git a/tests/baselines/reference/asyncFunctionDeclaration15_es6.types b/tests/baselines/reference/asyncFunctionDeclaration15_es6.types index 2e76354c7a525..e874b9f99cc37 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration15_es6.types +++ b/tests/baselines/reference/asyncFunctionDeclaration15_es6.types @@ -73,9 +73,9 @@ async function fn11() { return a; } // valid: Promise async function fn12() { return obj; } // valid: Promise<{ then: string; }> >fn12 : () => Promise<{ then: string; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >obj : { then: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ async function fn13() { return thenable; } // error >fn13 : () => Promise @@ -117,9 +117,9 @@ async function fn18() { await obj; } // valid: Promise >fn18 : () => Promise > : ^^^^^^^^^^^^^^^^^^^ >await obj : { then: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >obj : { then: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ async function fn19() { await thenable; } // error >fn19 : () => Promise diff --git a/tests/baselines/reference/asyncFunctionDeclaration16_es5.types b/tests/baselines/reference/asyncFunctionDeclaration16_es5.types index 95da4b30daba2..e8fac034b7fe7 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration16_es5.types +++ b/tests/baselines/reference/asyncFunctionDeclaration16_es5.types @@ -32,9 +32,9 @@ declare class Thenable { then(): void; } */ const f1 = async str => { >f1 : (str: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >async str => { return str;} : (str: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >str : string > : ^^^^^^ @@ -63,9 +63,9 @@ const f2 = async str => { */ const f3 = async str => { >f3 : (str: string) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >async str => { return str;} : (str: string) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >str : string > : ^^^^^^ diff --git a/tests/baselines/reference/asyncFunctionDeclaration9_es2017.types b/tests/baselines/reference/asyncFunctionDeclaration9_es2017.types index a73e7f2128cdc..34adcb3074c68 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration9_es2017.types +++ b/tests/baselines/reference/asyncFunctionDeclaration9_es2017.types @@ -7,15 +7,15 @@ async function foo(): Promise { var v = { [await]: foo } >v : { [x: number]: () => Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ >{ [await]: foo } : { [x: number]: () => Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ >[await] : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >await : any > : ^^^ > : any > : ^^^ >foo : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/asyncFunctionDeclaration9_es5.types b/tests/baselines/reference/asyncFunctionDeclaration9_es5.types index 41e3bb5550543..305202fc546ae 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration9_es5.types +++ b/tests/baselines/reference/asyncFunctionDeclaration9_es5.types @@ -7,15 +7,15 @@ async function foo(): Promise { var v = { [await]: foo } >v : { [x: number]: () => Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ >{ [await]: foo } : { [x: number]: () => Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ >[await] : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >await : any > : ^^^ > : any > : ^^^ >foo : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/asyncFunctionDeclaration9_es6.types b/tests/baselines/reference/asyncFunctionDeclaration9_es6.types index 0cc39c4fa7bca..38e756f2b335b 100644 --- a/tests/baselines/reference/asyncFunctionDeclaration9_es6.types +++ b/tests/baselines/reference/asyncFunctionDeclaration9_es6.types @@ -7,15 +7,15 @@ async function foo(): Promise { var v = { [await]: foo } >v : { [x: number]: () => Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ >{ [await]: foo } : { [x: number]: () => Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ >[await] : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >await : any > : ^^^ > : any > : ^^^ >foo : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/asyncFunctionDeclarationCapturesArguments_es5.types b/tests/baselines/reference/asyncFunctionDeclarationCapturesArguments_es5.types index 089d60658f226..5f5a1a148d35f 100644 --- a/tests/baselines/reference/asyncFunctionDeclarationCapturesArguments_es5.types +++ b/tests/baselines/reference/asyncFunctionDeclarationCapturesArguments_es5.types @@ -23,11 +23,11 @@ class C { >other.apply(this, arguments) : any > : ^^^ >other.apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >other : () => void > : ^^^^^^^^^^ >apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >this : any > : ^^^ >arguments : IArguments diff --git a/tests/baselines/reference/asyncFunctionDeclarationParameterEvaluation(target=es2015).js b/tests/baselines/reference/asyncFunctionDeclarationParameterEvaluation(target=es2015).js index e9282352c199b..8b3f87a20b063 100644 --- a/tests/baselines/reference/asyncFunctionDeclarationParameterEvaluation(target=es2015).js +++ b/tests/baselines/reference/asyncFunctionDeclarationParameterEvaluation(target=es2015).js @@ -79,17 +79,17 @@ function f12() { return (...args_1) => { function f() { const a1 = (x_1, ...args_1) => __awaiter(this, [x_1, ...args_1], void 0, function* (x, y = z) { }); const a2 = (_a) => __awaiter(this, [_a], void 0, function* ({ [z]: x }) { }); - const a3 = (...args_2) => { + const a3 = (...args_1) => { var arguments_10 = arguments; - return __awaiter(this, [...args_2], void 0, function* (x = z) { return () => __awaiter(this, void 0, void 0, function* () { return arguments_10; }); }); + return __awaiter(this, [...args_1], void 0, function* (x = z) { return () => __awaiter(this, void 0, void 0, function* () { return arguments_10; }); }); }; - const a4 = (...args_2) => __awaiter(this, [...args_2], void 0, function* (x = z) { return () => __awaiter(this, void 0, void 0, function* () { return () => __awaiter(this, void 0, void 0, function* () { return arguments_10; }); }); }); - const a5 = (...args_3) => __awaiter(this, [...args_3], void 0, function* (x = z, ...args) { }); - const a6 = (...args_4) => __awaiter(this, [...args_4], void 0, function* (x = z, ...args) { return () => __awaiter(this, void 0, void 0, function* () { return arguments_10; }); }); - const a7 = (...args_5) => __awaiter(this, [...args_5], void 0, function* (x = z, ...args) { return () => __awaiter(this, void 0, void 0, function* () { return () => __awaiter(this, void 0, void 0, function* () { return arguments_10; }); }); }); - const a8 = () => __awaiter(this, void 0, void 0, function* () { return (...args_6) => __awaiter(this, [...args_6], void 0, function* (x = z) { return arguments_10; }); }); - const a9 = () => __awaiter(this, void 0, void 0, function* () { return (...args_7) => __awaiter(this, [...args_7], void 0, function* (x = z) { return () => __awaiter(this, void 0, void 0, function* () { return arguments_10; }); }); }); - const a10 = (...args_8) => __awaiter(this, [...args_8], void 0, function* (x = z) { return () => __awaiter(this, void 0, void 0, function* () { return function () { + const a4 = (...args_1) => __awaiter(this, [...args_1], void 0, function* (x = z) { return () => __awaiter(this, void 0, void 0, function* () { return () => __awaiter(this, void 0, void 0, function* () { return arguments_10; }); }); }); + const a5 = (...args_1) => __awaiter(this, [...args_1], void 0, function* (x = z, ...args) { }); + const a6 = (...args_1) => __awaiter(this, [...args_1], void 0, function* (x = z, ...args) { return () => __awaiter(this, void 0, void 0, function* () { return arguments_10; }); }); + const a7 = (...args_1) => __awaiter(this, [...args_1], void 0, function* (x = z, ...args) { return () => __awaiter(this, void 0, void 0, function* () { return () => __awaiter(this, void 0, void 0, function* () { return arguments_10; }); }); }); + const a8 = () => __awaiter(this, void 0, void 0, function* () { return (...args_1) => __awaiter(this, [...args_1], void 0, function* (x = z) { return arguments_10; }); }); + const a9 = () => __awaiter(this, void 0, void 0, function* () { return (...args_1) => __awaiter(this, [...args_1], void 0, function* (x = z) { return () => __awaiter(this, void 0, void 0, function* () { return arguments_10; }); }); }); + const a10 = (...args_1) => __awaiter(this, [...args_1], void 0, function* (x = z) { return () => __awaiter(this, void 0, void 0, function* () { return function () { var arguments_11 = arguments; return __awaiter(this, void 0, void 0, function* () { return () => __awaiter(this, void 0, void 0, function* () { return arguments_11; }); }); }; }); }); diff --git a/tests/baselines/reference/asyncFunctionReturnType.types b/tests/baselines/reference/asyncFunctionReturnType.types index 09d967f6e7577..0ffaf33a7a328 100644 --- a/tests/baselines/reference/asyncFunctionReturnType.types +++ b/tests/baselines/reference/asyncFunctionReturnType.types @@ -63,12 +63,12 @@ async function fIndexedTypeForPromiseOfStringProp(obj: Obj): PromisePromise.resolve(obj.stringProp) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >obj.stringProp : string > : ^^^^^^ >obj : Obj @@ -86,12 +86,12 @@ async function fIndexedTypeForExplicitPromiseOfStringProp(obj: Obj): Promise(obj.stringProp); >Promise.resolve(obj.stringProp) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >obj.stringProp : string > : ^^^^^^ >obj : Obj @@ -123,12 +123,12 @@ async function fIndexedTypeForPromiseOfAnyProp(obj: Obj): PromisePromise.resolve(obj.anyProp) : Promise > : ^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >obj.anyProp : any >obj : Obj > : ^^^ @@ -145,12 +145,12 @@ async function fIndexedTypeForExplicitPromiseOfAnyProp(obj: Obj): Promise(obj.anyProp); >Promise.resolve(obj.anyProp) : Promise > : ^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >obj.anyProp : any >obj : Obj > : ^^^ @@ -160,7 +160,7 @@ async function fIndexedTypeForExplicitPromiseOfAnyProp(obj: Obj): Promise(obj: TObj): Promise { >fGenericIndexedTypeForStringProp : (obj: TObj) => Promise -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >obj : TObj > : ^^^^ @@ -175,19 +175,19 @@ async function fGenericIndexedTypeForStringProp(obj: TObj): Pr async function fGenericIndexedTypeForPromiseOfStringProp(obj: TObj): Promise { >fGenericIndexedTypeForPromiseOfStringProp : (obj: TObj) => Promise -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >obj : TObj > : ^^^^ return Promise.resolve(obj.stringProp); >Promise.resolve(obj.stringProp) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >obj.stringProp : string > : ^^^^^^ >obj : TObj @@ -198,19 +198,19 @@ async function fGenericIndexedTypeForPromiseOfStringProp(obj: async function fGenericIndexedTypeForExplicitPromiseOfStringProp(obj: TObj): Promise { >fGenericIndexedTypeForExplicitPromiseOfStringProp : (obj: TObj) => Promise -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >obj : TObj > : ^^^^ return Promise.resolve(obj.stringProp); >Promise.resolve(obj.stringProp) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >obj.stringProp : string > : ^^^^^^ >obj : TObj @@ -221,7 +221,7 @@ async function fGenericIndexedTypeForExplicitPromiseOfStringProp(obj: TObj): Promise { >fGenericIndexedTypeForAnyProp : (obj: TObj) => Promise -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >obj : TObj > : ^^^^ @@ -235,19 +235,19 @@ async function fGenericIndexedTypeForAnyProp(obj: TObj): Promi async function fGenericIndexedTypeForPromiseOfAnyProp(obj: TObj): Promise { >fGenericIndexedTypeForPromiseOfAnyProp : (obj: TObj) => Promise -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >obj : TObj > : ^^^^ return Promise.resolve(obj.anyProp); >Promise.resolve(obj.anyProp) : Promise > : ^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >obj.anyProp : any >obj : TObj > : ^^^^ @@ -257,19 +257,19 @@ async function fGenericIndexedTypeForPromiseOfAnyProp(obj: TOb async function fGenericIndexedTypeForExplicitPromiseOfAnyProp(obj: TObj): Promise { >fGenericIndexedTypeForExplicitPromiseOfAnyProp : (obj: TObj) => Promise -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >obj : TObj > : ^^^^ return Promise.resolve(obj.anyProp); >Promise.resolve(obj.anyProp) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >obj.anyProp : any >obj : TObj > : ^^^^ @@ -279,7 +279,7 @@ async function fGenericIndexedTypeForExplicitPromiseOfAnyProp( async function fGenericIndexedTypeForKProp(obj: TObj, key: K): Promise { >fGenericIndexedTypeForKProp : (obj: TObj, key: K) => Promise -> : ^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >obj : TObj > : ^^^^ >key : K @@ -296,7 +296,7 @@ async function fGenericIndexedTypeForKProp(obj: TObj, key: K): Promise { >fGenericIndexedTypeForPromiseOfKProp : (obj: TObj, key: K) => Promise -> : ^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >obj : TObj > : ^^^^ >key : K @@ -305,12 +305,12 @@ async function fGenericIndexedTypeForPromiseOfKPropPromise.resolve(obj[key]) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >obj[key] : TObj[K] > : ^^^^^^^ >obj : TObj @@ -321,7 +321,7 @@ async function fGenericIndexedTypeForPromiseOfKProp(obj: TObj, key: K): Promise { >fGenericIndexedTypeForExplicitPromiseOfKProp : (obj: TObj, key: K) => Promise -> : ^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >obj : TObj > : ^^^^ >key : K @@ -330,12 +330,12 @@ async function fGenericIndexedTypeForExplicitPromiseOfKProp(obj[key]); >Promise.resolve(obj[key]) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >obj[key] : TObj[K] > : ^^^^^^^ >obj : TObj diff --git a/tests/baselines/reference/asyncFunctionsAndStrictNullChecks.types b/tests/baselines/reference/asyncFunctionsAndStrictNullChecks.types index 1e77f35283adc..a0e3a9f070b79 100644 --- a/tests/baselines/reference/asyncFunctionsAndStrictNullChecks.types +++ b/tests/baselines/reference/asyncFunctionsAndStrictNullChecks.types @@ -4,8 +4,8 @@ declare namespace Windows.Foundation { interface IPromise { then(success?: (value: TResult) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; ->then : { (success?: (value: TResult) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: TResult) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => U_1, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => U_1, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; } +> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : ((value: TResult) => IPromise) | undefined > : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >value : TResult @@ -18,8 +18,8 @@ declare namespace Windows.Foundation { >progress : any then(success?: (value: TResult) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; ->then : { (success?: (value: TResult) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: TResult) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => U_1, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => U_1, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; } +> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : ((value: TResult) => IPromise) | undefined > : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >value : TResult @@ -32,8 +32,8 @@ declare namespace Windows.Foundation { >progress : any then(success?: (value: TResult) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; ->then : { (success?: (value: TResult) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => IPromise, error?: (error: any) => U_2, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: TResult) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => U_1, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; } +> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : ((value: TResult) => U) | undefined > : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >value : TResult @@ -46,8 +46,8 @@ declare namespace Windows.Foundation { >progress : any then(success?: (value: TResult) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; ->then : { (success?: (value: TResult) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => IPromise, error?: (error: any) => U_2, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => U_3, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ +>then : { (success?: (value: TResult) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => U_1, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: TResult) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : ((value: TResult) => U) | undefined > : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >value : TResult @@ -129,7 +129,7 @@ async function sample2(x?: number) { >resolve1(x) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >resolve1 : (value: T) => Promise -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : number | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -141,7 +141,7 @@ async function sample2(x?: number) { >resolve2(x) : Windows.Foundation.IPromise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >resolve2 : (value: T) => Windows.Foundation.IPromise -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : number | undefined > : ^^^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/asyncMethodWithSuper_es6.types b/tests/baselines/reference/asyncMethodWithSuper_es6.types index 7b4f4bb2823fc..e398fc907f0c4 100644 --- a/tests/baselines/reference/asyncMethodWithSuper_es6.types +++ b/tests/baselines/reference/asyncMethodWithSuper_es6.types @@ -856,11 +856,11 @@ class Derived extends Base { > : ^^^^^^^^^^^^^^^^^^ >super.method('') : any >super.method : (x: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >super : Base > : ^^^^ >method : (x: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >'' : "" > : ^^ @@ -897,7 +897,7 @@ class Derived extends Base { > : ^^^^^^^^^^^^^^^^^^ >super["method"]('') : any >super["method"] : (x: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >super : Base > : ^^^^ >"method" : "method" @@ -938,11 +938,11 @@ class Derived extends Base { > : ^^^^^^^^^^^^^^^^^^ >super.method('') : any >super.method : (x: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >super : typeof Base > : ^^^^^^^^^^^ >method : (x: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >'' : "" > : ^^ @@ -979,7 +979,7 @@ class Derived extends Base { > : ^^^^^^^^^^^^^^^^^^ >super["method"]('') : any >super["method"] : (x: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >super : typeof Base > : ^^^^^^^^^^^ >"method" : "method" diff --git a/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es2017.types b/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es2017.types index c73e194f778d7..a75b6279cee7e 100644 --- a/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es2017.types +++ b/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es2017.types @@ -17,7 +17,7 @@ const x = async i => await someOtherFunction(i) >someOtherFunction(i) : Promise > : ^^^^^^^^^^^^^ >someOtherFunction : (i: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i : any const x1 = async (i) => await someOtherFunction(i); @@ -31,6 +31,6 @@ const x1 = async (i) => await someOtherFunction(i); >someOtherFunction(i) : Promise > : ^^^^^^^^^^^^^ >someOtherFunction : (i: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i : any diff --git a/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es5.types b/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es5.types index 3b52778148d68..20fcabfe2922e 100644 --- a/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es5.types +++ b/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es5.types @@ -17,7 +17,7 @@ const x = async i => await someOtherFunction(i) >someOtherFunction(i) : Promise > : ^^^^^^^^^^^^^ >someOtherFunction : (i: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i : any const x1 = async (i) => await someOtherFunction(i); @@ -31,6 +31,6 @@ const x1 = async (i) => await someOtherFunction(i); >someOtherFunction(i) : Promise > : ^^^^^^^^^^^^^ >someOtherFunction : (i: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i : any diff --git a/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es6.types b/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es6.types index f7a40b7fe1d2c..4cd05e0736ea9 100644 --- a/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es6.types +++ b/tests/baselines/reference/asyncUnParenthesizedArrowFunction_es6.types @@ -17,7 +17,7 @@ const x = async i => await someOtherFunction(i) >someOtherFunction(i) : Promise > : ^^^^^^^^^^^^^ >someOtherFunction : (i: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i : any const x1 = async (i) => await someOtherFunction(i); @@ -31,6 +31,6 @@ const x1 = async (i) => await someOtherFunction(i); >someOtherFunction(i) : Promise > : ^^^^^^^^^^^^^ >someOtherFunction : (i: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i : any diff --git a/tests/baselines/reference/asyncYieldStarContextualType.symbols b/tests/baselines/reference/asyncYieldStarContextualType.symbols new file mode 100644 index 0000000000000..364801f5494aa --- /dev/null +++ b/tests/baselines/reference/asyncYieldStarContextualType.symbols @@ -0,0 +1,96 @@ +//// [tests/cases/compiler/asyncYieldStarContextualType.ts] //// + +=== asyncYieldStarContextualType.ts === +// https://github.com/microsoft/TypeScript/issues/57903 +interface Result { +>Result : Symbol(Result, Decl(asyncYieldStarContextualType.ts, 0, 0)) +>T : Symbol(T, Decl(asyncYieldStarContextualType.ts, 1, 17)) +>E : Symbol(E, Decl(asyncYieldStarContextualType.ts, 1, 19)) + + [Symbol.iterator](): Generator +>[Symbol.iterator] : Symbol(Result[Symbol.iterator], Decl(asyncYieldStarContextualType.ts, 1, 24)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2019.symbol.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Generator : Symbol(Generator, Decl(lib.es2015.generator.d.ts, --, --)) +>E : Symbol(E, Decl(asyncYieldStarContextualType.ts, 1, 19)) +>T : Symbol(T, Decl(asyncYieldStarContextualType.ts, 1, 17)) +} + +type Book = { id: string; title: string; authorId: string }; +>Book : Symbol(Book, Decl(asyncYieldStarContextualType.ts, 3, 1)) +>id : Symbol(id, Decl(asyncYieldStarContextualType.ts, 5, 13)) +>title : Symbol(title, Decl(asyncYieldStarContextualType.ts, 5, 25)) +>authorId : Symbol(authorId, Decl(asyncYieldStarContextualType.ts, 5, 40)) + +type Author = { id: string; name: string }; +>Author : Symbol(Author, Decl(asyncYieldStarContextualType.ts, 5, 60)) +>id : Symbol(id, Decl(asyncYieldStarContextualType.ts, 6, 15)) +>name : Symbol(name, Decl(asyncYieldStarContextualType.ts, 6, 27)) + +type BookWithAuthor = Book & { author: Author }; +>BookWithAuthor : Symbol(BookWithAuthor, Decl(asyncYieldStarContextualType.ts, 6, 43)) +>Book : Symbol(Book, Decl(asyncYieldStarContextualType.ts, 3, 1)) +>author : Symbol(author, Decl(asyncYieldStarContextualType.ts, 7, 30)) +>Author : Symbol(Author, Decl(asyncYieldStarContextualType.ts, 5, 60)) + +declare const authorPromise: Promise>; +>authorPromise : Symbol(authorPromise, Decl(asyncYieldStarContextualType.ts, 9, 13)) +>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, --, --)) +>Result : Symbol(Result, Decl(asyncYieldStarContextualType.ts, 0, 0)) +>Author : Symbol(Author, Decl(asyncYieldStarContextualType.ts, 5, 60)) + +declare const mapper: (result: Result) => Result; +>mapper : Symbol(mapper, Decl(asyncYieldStarContextualType.ts, 10, 13)) +>T : Symbol(T, Decl(asyncYieldStarContextualType.ts, 10, 23)) +>result : Symbol(result, Decl(asyncYieldStarContextualType.ts, 10, 26)) +>Result : Symbol(Result, Decl(asyncYieldStarContextualType.ts, 0, 0)) +>T : Symbol(T, Decl(asyncYieldStarContextualType.ts, 10, 23)) +>Result : Symbol(Result, Decl(asyncYieldStarContextualType.ts, 0, 0)) +>T : Symbol(T, Decl(asyncYieldStarContextualType.ts, 10, 23)) + +declare const g: () => AsyncGenerator; +>g : Symbol(g, Decl(asyncYieldStarContextualType.ts, 11, 13)) +>T : Symbol(T, Decl(asyncYieldStarContextualType.ts, 11, 18)) +>U : Symbol(U, Decl(asyncYieldStarContextualType.ts, 11, 20)) +>V : Symbol(V, Decl(asyncYieldStarContextualType.ts, 11, 23)) +>AsyncGenerator : Symbol(AsyncGenerator, Decl(lib.es2018.asyncgenerator.d.ts, --, --)) +>T : Symbol(T, Decl(asyncYieldStarContextualType.ts, 11, 18)) +>U : Symbol(U, Decl(asyncYieldStarContextualType.ts, 11, 20)) +>V : Symbol(V, Decl(asyncYieldStarContextualType.ts, 11, 23)) + +async function* f(): AsyncGenerator<"NOT_FOUND_AUTHOR" | "NOT_FOUND_BOOK", BookWithAuthor, unknown> { +>f : Symbol(f, Decl(asyncYieldStarContextualType.ts, 11, 56)) +>AsyncGenerator : Symbol(AsyncGenerator, Decl(lib.es2018.asyncgenerator.d.ts, --, --)) +>BookWithAuthor : Symbol(BookWithAuthor, Decl(asyncYieldStarContextualType.ts, 6, 43)) + + // Without yield*, the type of test1 is + // Result + const test1 = await authorPromise.then(mapper) +>test1 : Symbol(test1, Decl(asyncYieldStarContextualType.ts, 16, 9)) +>authorPromise.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>authorPromise : Symbol(authorPromise, Decl(asyncYieldStarContextualType.ts, 9, 13)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>mapper : Symbol(mapper, Decl(asyncYieldStarContextualType.ts, 10, 13)) + + // With yield*, the type of test2 is + // Author | BookWithAuthor + // But this codepath has no way to produce BookWithAuthor + const test2 = yield* await authorPromise.then(mapper) +>test2 : Symbol(test2, Decl(asyncYieldStarContextualType.ts, 21, 9)) +>authorPromise.then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>authorPromise : Symbol(authorPromise, Decl(asyncYieldStarContextualType.ts, 9, 13)) +>then : Symbol(Promise.then, Decl(lib.es5.d.ts, --, --)) +>mapper : Symbol(mapper, Decl(asyncYieldStarContextualType.ts, 10, 13)) + + const x1 = yield* g(); +>x1 : Symbol(x1, Decl(asyncYieldStarContextualType.ts, 23, 9)) +>g : Symbol(g, Decl(asyncYieldStarContextualType.ts, 11, 13)) + + const x2: number = yield* g(); +>x2 : Symbol(x2, Decl(asyncYieldStarContextualType.ts, 24, 9)) +>g : Symbol(g, Decl(asyncYieldStarContextualType.ts, 11, 13)) + + return null! as BookWithAuthor; +>BookWithAuthor : Symbol(BookWithAuthor, Decl(asyncYieldStarContextualType.ts, 6, 43)) +} diff --git a/tests/baselines/reference/asyncYieldStarContextualType.types b/tests/baselines/reference/asyncYieldStarContextualType.types new file mode 100644 index 0000000000000..55377518eb3e0 --- /dev/null +++ b/tests/baselines/reference/asyncYieldStarContextualType.types @@ -0,0 +1,123 @@ +//// [tests/cases/compiler/asyncYieldStarContextualType.ts] //// + +=== asyncYieldStarContextualType.ts === +// https://github.com/microsoft/TypeScript/issues/57903 +interface Result { + [Symbol.iterator](): Generator +>[Symbol.iterator] : () => Generator +> : ^^^^^^ +>Symbol.iterator : unique symbol +> : ^^^^^^^^^^^^^ +>Symbol : SymbolConstructor +> : ^^^^^^^^^^^^^^^^^ +>iterator : unique symbol +> : ^^^^^^^^^^^^^ +} + +type Book = { id: string; title: string; authorId: string }; +>Book : Book +> : ^^^^ +>id : string +> : ^^^^^^ +>title : string +> : ^^^^^^ +>authorId : string +> : ^^^^^^ + +type Author = { id: string; name: string }; +>Author : Author +> : ^^^^^^ +>id : string +> : ^^^^^^ +>name : string +> : ^^^^^^ + +type BookWithAuthor = Book & { author: Author }; +>BookWithAuthor : BookWithAuthor +> : ^^^^^^^^^^^^^^ +>author : Author +> : ^^^^^^ + +declare const authorPromise: Promise>; +>authorPromise : Promise> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +declare const mapper: (result: Result) => Result; +>mapper : (result: Result) => Result +> : ^ ^^ ^^ ^^^^^ +>result : Result +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +declare const g: () => AsyncGenerator; +>g : () => AsyncGenerator +> : ^ ^^ ^^ ^^^^^^^ + +async function* f(): AsyncGenerator<"NOT_FOUND_AUTHOR" | "NOT_FOUND_BOOK", BookWithAuthor, unknown> { +>f : () => AsyncGenerator<"NOT_FOUND_AUTHOR" | "NOT_FOUND_BOOK", BookWithAuthor, unknown> +> : ^^^^^^ + + // Without yield*, the type of test1 is + // Result + const test1 = await authorPromise.then(mapper) +>test1 : Result +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>await authorPromise.then(mapper) : Result +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>authorPromise.then(mapper) : Promise> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>authorPromise.then : , TResult2 = never>(onfulfilled?: (value: Result) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ +>authorPromise : Promise> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : , TResult2 = never>(onfulfilled?: (value: Result) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ +>mapper : (result: Result) => Result +> : ^ ^^ ^^ ^^^^^ + + // With yield*, the type of test2 is + // Author | BookWithAuthor + // But this codepath has no way to produce BookWithAuthor + const test2 = yield* await authorPromise.then(mapper) +>test2 : Author +> : ^^^^^^ +>yield* await authorPromise.then(mapper) : Author +> : ^^^^^^ +>await authorPromise.then(mapper) : Result +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>authorPromise.then(mapper) : Promise> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>authorPromise.then : , TResult2 = never>(onfulfilled?: (value: Result) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ +>authorPromise : Promise> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : , TResult2 = never>(onfulfilled?: (value: Result) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ +>mapper : (result: Result) => Result +> : ^ ^^ ^^ ^^^^^ + + const x1 = yield* g(); +>x1 : unknown +> : ^^^^^^^ +>yield* g() : unknown +> : ^^^^^^^ +>g() : AsyncGenerator<"NOT_FOUND_AUTHOR" | "NOT_FOUND_BOOK", unknown, unknown> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>g : () => AsyncGenerator +> : ^ ^^ ^^ ^^^^^^^ + + const x2: number = yield* g(); +>x2 : number +> : ^^^^^^ +>yield* g() : number +> : ^^^^^^ +>g() : AsyncGenerator<"NOT_FOUND_AUTHOR" | "NOT_FOUND_BOOK", number, unknown> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>g : () => AsyncGenerator +> : ^ ^^ ^^ ^^^^^^^ + + return null! as BookWithAuthor; +>null! as BookWithAuthor : BookWithAuthor +> : ^^^^^^^^^^^^^^ +>null! : null +> : ^^^^ +} diff --git a/tests/baselines/reference/augmentExportEquals2_1.types b/tests/baselines/reference/augmentExportEquals2_1.types index c0b60e3127153..c5473585df576 100644 --- a/tests/baselines/reference/augmentExportEquals2_1.types +++ b/tests/baselines/reference/augmentExportEquals2_1.types @@ -3,7 +3,7 @@ === file3.ts === import x = require("file1"); >x : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ import "file2"; let a: x.A; // should not work @@ -23,14 +23,14 @@ declare module "file1" { export = foo; >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } === file2.ts === /// import x = require("file1"); >x : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ // should error since './file1' does not have namespace meaning declare module "file1" { diff --git a/tests/baselines/reference/augmentExportEquals7.types b/tests/baselines/reference/augmentExportEquals7.types index bc63043e8d481..1d8d7be621a32 100644 --- a/tests/baselines/reference/augmentExportEquals7.types +++ b/tests/baselines/reference/augmentExportEquals7.types @@ -8,12 +8,12 @@ declare var lib: () => void; declare namespace lib {} export = lib; >lib : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ === /node_modules/@types/lib-extender/index.d.ts === import * as lib from "lib"; >lib : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ declare module "lib" { >"lib" : typeof import("lib") diff --git a/tests/baselines/reference/autoAccessor1(target=es5).js b/tests/baselines/reference/autoAccessor1(target=es5).js new file mode 100644 index 0000000000000..014f81f4c8993 --- /dev/null +++ b/tests/baselines/reference/autoAccessor1(target=es5).js @@ -0,0 +1,61 @@ +//// [tests/cases/conformance/classes/propertyMemberDeclarations/autoAccessor1.ts] //// + +//// [autoAccessor1.ts] +class C1 { + accessor a: any; + accessor b = 1; + static accessor c: any; + static accessor d = 2; +} + + + + +!!!! File autoAccessor1.js missing from original emit, but present in noCheck emit +//// [autoAccessor1.js] +var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) { + if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); +}; +var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) { + if (kind === "m") throw new TypeError("Private method is not writable"); + if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; +}; +var C1 = /** @class */ (function () { + function C1() { + _C1_a_accessor_storage.set(this, void 0); + _C1_b_accessor_storage.set(this, 1); + } + Object.defineProperty(C1.prototype, "a", { + get: function () { return __classPrivateFieldGet(this, _C1_a_accessor_storage, "f"); }, + set: function (value) { __classPrivateFieldSet(this, _C1_a_accessor_storage, value, "f"); }, + enumerable: false, + configurable: true + }); + Object.defineProperty(C1.prototype, "b", { + get: function () { return __classPrivateFieldGet(this, _C1_b_accessor_storage, "f"); }, + set: function (value) { __classPrivateFieldSet(this, _C1_b_accessor_storage, value, "f"); }, + enumerable: false, + configurable: true + }); + Object.defineProperty(C1, "c", { + get: function () { return __classPrivateFieldGet(_a, _a, "f", _C1_c_accessor_storage); }, + set: function (value) { __classPrivateFieldSet(_a, _a, value, "f", _C1_c_accessor_storage); }, + enumerable: false, + configurable: true + }); + Object.defineProperty(C1, "d", { + get: function () { return __classPrivateFieldGet(_a, _a, "f", _C1_d_accessor_storage); }, + set: function (value) { __classPrivateFieldSet(_a, _a, value, "f", _C1_d_accessor_storage); }, + enumerable: false, + configurable: true + }); + var _a, _C1_a_accessor_storage, _C1_b_accessor_storage, _C1_c_accessor_storage, _C1_d_accessor_storage; + _a = C1, _C1_a_accessor_storage = new WeakMap(), _C1_b_accessor_storage = new WeakMap(); + _C1_c_accessor_storage = { value: void 0 }; + _C1_d_accessor_storage = { value: 2 }; + return C1; +}()); diff --git a/tests/baselines/reference/autoAccessor3(target=es5).js b/tests/baselines/reference/autoAccessor3(target=es5).js new file mode 100644 index 0000000000000..aa624c216a8cc --- /dev/null +++ b/tests/baselines/reference/autoAccessor3(target=es5).js @@ -0,0 +1,61 @@ +//// [tests/cases/conformance/classes/propertyMemberDeclarations/autoAccessor3.ts] //// + +//// [autoAccessor3.ts] +class C1 { + accessor "w": any; + accessor "x" = 1; + static accessor "y": any; + static accessor "z" = 2; +} + + + + +!!!! File autoAccessor3.js missing from original emit, but present in noCheck emit +//// [autoAccessor3.js] +var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) { + if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); +}; +var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) { + if (kind === "m") throw new TypeError("Private method is not writable"); + if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; +}; +var C1 = /** @class */ (function () { + function C1() { + _C1__a_accessor_storage.set(this, void 0); + _C1__b_accessor_storage.set(this, 1); + } + Object.defineProperty(C1.prototype, "w", { + get: function () { return __classPrivateFieldGet(this, _C1__a_accessor_storage, "f"); }, + set: function (value) { __classPrivateFieldSet(this, _C1__a_accessor_storage, value, "f"); }, + enumerable: false, + configurable: true + }); + Object.defineProperty(C1.prototype, "x", { + get: function () { return __classPrivateFieldGet(this, _C1__b_accessor_storage, "f"); }, + set: function (value) { __classPrivateFieldSet(this, _C1__b_accessor_storage, value, "f"); }, + enumerable: false, + configurable: true + }); + Object.defineProperty(C1, "y", { + get: function () { return __classPrivateFieldGet(_a, _a, "f", _C1__c_accessor_storage); }, + set: function (value) { __classPrivateFieldSet(_a, _a, value, "f", _C1__c_accessor_storage); }, + enumerable: false, + configurable: true + }); + Object.defineProperty(C1, "z", { + get: function () { return __classPrivateFieldGet(_a, _a, "f", _C1__d_accessor_storage); }, + set: function (value) { __classPrivateFieldSet(_a, _a, value, "f", _C1__d_accessor_storage); }, + enumerable: false, + configurable: true + }); + var _a, _C1__a_accessor_storage, _C1__b_accessor_storage, _C1__c_accessor_storage, _C1__d_accessor_storage; + _a = C1, _C1__a_accessor_storage = new WeakMap(), _C1__b_accessor_storage = new WeakMap(); + _C1__c_accessor_storage = { value: void 0 }; + _C1__d_accessor_storage = { value: 2 }; + return C1; +}()); diff --git a/tests/baselines/reference/autoAccessor4(target=es5).js b/tests/baselines/reference/autoAccessor4(target=es5).js new file mode 100644 index 0000000000000..889d9f36dc3f6 --- /dev/null +++ b/tests/baselines/reference/autoAccessor4(target=es5).js @@ -0,0 +1,61 @@ +//// [tests/cases/conformance/classes/propertyMemberDeclarations/autoAccessor4.ts] //// + +//// [autoAccessor4.ts] +class C1 { + accessor 0: any; + accessor 1 = 1; + static accessor 2: any; + static accessor 3 = 2; +} + + + + +!!!! File autoAccessor4.js missing from original emit, but present in noCheck emit +//// [autoAccessor4.js] +var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) { + if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); +}; +var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) { + if (kind === "m") throw new TypeError("Private method is not writable"); + if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; +}; +var C1 = /** @class */ (function () { + function C1() { + _C1__a_accessor_storage.set(this, void 0); + _C1__b_accessor_storage.set(this, 1); + } + Object.defineProperty(C1.prototype, 0, { + get: function () { return __classPrivateFieldGet(this, _C1__a_accessor_storage, "f"); }, + set: function (value) { __classPrivateFieldSet(this, _C1__a_accessor_storage, value, "f"); }, + enumerable: false, + configurable: true + }); + Object.defineProperty(C1.prototype, 1, { + get: function () { return __classPrivateFieldGet(this, _C1__b_accessor_storage, "f"); }, + set: function (value) { __classPrivateFieldSet(this, _C1__b_accessor_storage, value, "f"); }, + enumerable: false, + configurable: true + }); + Object.defineProperty(C1, 2, { + get: function () { return __classPrivateFieldGet(_a, _a, "f", _C1__c_accessor_storage); }, + set: function (value) { __classPrivateFieldSet(_a, _a, value, "f", _C1__c_accessor_storage); }, + enumerable: false, + configurable: true + }); + Object.defineProperty(C1, 3, { + get: function () { return __classPrivateFieldGet(_a, _a, "f", _C1__d_accessor_storage); }, + set: function (value) { __classPrivateFieldSet(_a, _a, value, "f", _C1__d_accessor_storage); }, + enumerable: false, + configurable: true + }); + var _a, _C1__a_accessor_storage, _C1__b_accessor_storage, _C1__c_accessor_storage, _C1__d_accessor_storage; + _a = C1, _C1__a_accessor_storage = new WeakMap(), _C1__b_accessor_storage = new WeakMap(); + _C1__c_accessor_storage = { value: void 0 }; + _C1__d_accessor_storage = { value: 2 }; + return C1; +}()); diff --git a/tests/baselines/reference/autoAccessor5(target=es2022).js b/tests/baselines/reference/autoAccessor5(target=es2022).js index 12c663ef4b3d8..ffee7eeaf6a93 100644 --- a/tests/baselines/reference/autoAccessor5(target=es2022).js +++ b/tests/baselines/reference/autoAccessor5(target=es2022).js @@ -30,7 +30,7 @@ class C1 { static set ["z"](value) { C1.#_d_accessor_storage = value; } } class C2 { - #_e_accessor_storage = 1; - get [_a = f()]() { return this.#_e_accessor_storage; } - set [_a](value) { this.#_e_accessor_storage = value; } + #_a_accessor_storage = 1; + get [_a = f()]() { return this.#_a_accessor_storage; } + set [_a](value) { this.#_a_accessor_storage = value; } } diff --git a/tests/baselines/reference/autoAccessorExperimentalDecorators(target=es2015).types b/tests/baselines/reference/autoAccessorExperimentalDecorators(target=es2015).types index b7dc12e13099f..23a13766eea1f 100644 --- a/tests/baselines/reference/autoAccessorExperimentalDecorators(target=es2015).types +++ b/tests/baselines/reference/autoAccessorExperimentalDecorators(target=es2015).types @@ -17,7 +17,7 @@ class C1 { @dec >dec : (target: any, key: PropertyKey, desc: PropertyDescriptor) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ accessor a: any; >a : any @@ -25,7 +25,7 @@ class C1 { @dec >dec : (target: any, key: PropertyKey, desc: PropertyDescriptor) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ static accessor b: any; >b : any @@ -38,7 +38,7 @@ class C2 { @dec >dec : (target: any, key: PropertyKey, desc: PropertyDescriptor) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ accessor #a: any; >#a : any @@ -46,7 +46,7 @@ class C2 { @dec >dec : (target: any, key: PropertyKey, desc: PropertyDescriptor) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ static accessor #b: any; >#b : any diff --git a/tests/baselines/reference/autoAccessorExperimentalDecorators(target=es2022).types b/tests/baselines/reference/autoAccessorExperimentalDecorators(target=es2022).types index b7dc12e13099f..23a13766eea1f 100644 --- a/tests/baselines/reference/autoAccessorExperimentalDecorators(target=es2022).types +++ b/tests/baselines/reference/autoAccessorExperimentalDecorators(target=es2022).types @@ -17,7 +17,7 @@ class C1 { @dec >dec : (target: any, key: PropertyKey, desc: PropertyDescriptor) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ accessor a: any; >a : any @@ -25,7 +25,7 @@ class C1 { @dec >dec : (target: any, key: PropertyKey, desc: PropertyDescriptor) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ static accessor b: any; >b : any @@ -38,7 +38,7 @@ class C2 { @dec >dec : (target: any, key: PropertyKey, desc: PropertyDescriptor) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ accessor #a: any; >#a : any @@ -46,7 +46,7 @@ class C2 { @dec >dec : (target: any, key: PropertyKey, desc: PropertyDescriptor) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ static accessor #b: any; >#b : any diff --git a/tests/baselines/reference/autoAccessorExperimentalDecorators(target=esnext).types b/tests/baselines/reference/autoAccessorExperimentalDecorators(target=esnext).types index b7dc12e13099f..23a13766eea1f 100644 --- a/tests/baselines/reference/autoAccessorExperimentalDecorators(target=esnext).types +++ b/tests/baselines/reference/autoAccessorExperimentalDecorators(target=esnext).types @@ -17,7 +17,7 @@ class C1 { @dec >dec : (target: any, key: PropertyKey, desc: PropertyDescriptor) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ accessor a: any; >a : any @@ -25,7 +25,7 @@ class C1 { @dec >dec : (target: any, key: PropertyKey, desc: PropertyDescriptor) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ static accessor b: any; >b : any @@ -38,7 +38,7 @@ class C2 { @dec >dec : (target: any, key: PropertyKey, desc: PropertyDescriptor) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ accessor #a: any; >#a : any @@ -46,7 +46,7 @@ class C2 { @dec >dec : (target: any, key: PropertyKey, desc: PropertyDescriptor) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ static accessor #b: any; >#b : any diff --git a/tests/baselines/reference/autoLift2.types b/tests/baselines/reference/autoLift2.types index 5629313362a82..122939d31c9ea 100644 --- a/tests/baselines/reference/autoLift2.types +++ b/tests/baselines/reference/autoLift2.types @@ -61,7 +61,7 @@ class A >[1, 2].forEach((p) => this.foo) : void > : ^^^^ >[1, 2].forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >[1, 2] : number[] > : ^^^^^^^^ >1 : 1 @@ -69,7 +69,7 @@ class A >2 : 2 > : ^ >forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >(p) => this.foo : (p: number) => any > : ^ ^^^^^^^^^^^^^^^^ >p : number @@ -85,7 +85,7 @@ class A >[1, 2].forEach((p) => this.bar) : void > : ^^^^ >[1, 2].forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >[1, 2] : number[] > : ^^^^^^^^ >1 : 1 @@ -93,7 +93,7 @@ class A >2 : 2 > : ^ >forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >(p) => this.bar : (p: number) => any > : ^ ^^^^^^^^^^^^^^^^ >p : number diff --git a/tests/baselines/reference/autolift3.types b/tests/baselines/reference/autolift3.types index 2369de0d9493c..c0d498d86f3a2 100644 --- a/tests/baselines/reference/autolift3.types +++ b/tests/baselines/reference/autolift3.types @@ -64,11 +64,11 @@ class B { >fso.toString() : string > : ^^^^^^ >fso.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >fso : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } } })(); diff --git a/tests/baselines/reference/autolift4.types b/tests/baselines/reference/autolift4.types index bffe2caaff22d..c98161afa48ec 100644 --- a/tests/baselines/reference/autolift4.types +++ b/tests/baselines/reference/autolift4.types @@ -20,11 +20,11 @@ class Point { >Math.sqrt(this.x*this.x + this.y*this.y) : number > : ^^^^^^ >Math.sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this.x*this.x + this.y*this.y : number > : ^^^^^^ >this.x*this.x : number @@ -104,11 +104,11 @@ class Point3D extends Point { >Math.sqrt(this.x*this.x + this.y*this.y + this.z*this.m) : number > : ^^^^^^ >Math.sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this.x*this.x + this.y*this.y + this.z*this.m : number > : ^^^^^^ >this.x*this.x + this.y*this.y : number diff --git a/tests/baselines/reference/avoidCycleWithVoidExpressionReturnedFromArrow.types b/tests/baselines/reference/avoidCycleWithVoidExpressionReturnedFromArrow.types index 7313958f5d846..7b66cac34224d 100644 --- a/tests/baselines/reference/avoidCycleWithVoidExpressionReturnedFromArrow.types +++ b/tests/baselines/reference/avoidCycleWithVoidExpressionReturnedFromArrow.types @@ -35,15 +35,15 @@ class Howl { >console.log(name, fn) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >name : "unlock" > : ^^^^^^^^ >fn : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } } diff --git a/tests/baselines/reference/avoidListingPropertiesForTypesWithOnlyCallOrConstructSignatures.types b/tests/baselines/reference/avoidListingPropertiesForTypesWithOnlyCallOrConstructSignatures.types index adaf19bc97ffb..a96e17ced2349 100644 --- a/tests/baselines/reference/avoidListingPropertiesForTypesWithOnlyCallOrConstructSignatures.types +++ b/tests/baselines/reference/avoidListingPropertiesForTypesWithOnlyCallOrConstructSignatures.types @@ -17,6 +17,6 @@ export let x:Dog = getRover; >x : Dog > : ^^^ >getRover : () => Dog -> : ^^^^^^^^^ +> : ^^^^^^ // export let x: Dog = getRover; diff --git a/tests/baselines/reference/avoidNarrowingUsingConstVariableFromBindingElementWithLiteralInitializer.types b/tests/baselines/reference/avoidNarrowingUsingConstVariableFromBindingElementWithLiteralInitializer.types index 702b6d08be707..d4a3b7edd8085 100644 --- a/tests/baselines/reference/avoidNarrowingUsingConstVariableFromBindingElementWithLiteralInitializer.types +++ b/tests/baselines/reference/avoidNarrowingUsingConstVariableFromBindingElementWithLiteralInitializer.types @@ -18,8 +18,8 @@ export function test(arg: { index?: number }) { > : ^^^^^^ >0 : 0 > : ^ ->arg : { index?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>arg : { index?: number; } +> : ^^^^^^^^^^ ^^^ if (foo[index] === "a") { >foo[index] === "a" : boolean diff --git a/tests/baselines/reference/awaitBinaryExpression1_es2017.types b/tests/baselines/reference/awaitBinaryExpression1_es2017.types index 8a2c49b4d1d86..e2160c47153eb 100644 --- a/tests/baselines/reference/awaitBinaryExpression1_es2017.types +++ b/tests/baselines/reference/awaitBinaryExpression1_es2017.types @@ -25,7 +25,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = await p || a; >b : boolean @@ -43,5 +43,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitBinaryExpression1_es5.types b/tests/baselines/reference/awaitBinaryExpression1_es5.types index a37129d66ffd3..06536de34d39c 100644 --- a/tests/baselines/reference/awaitBinaryExpression1_es5.types +++ b/tests/baselines/reference/awaitBinaryExpression1_es5.types @@ -25,7 +25,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = await p || a; >b : boolean @@ -43,5 +43,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitBinaryExpression1_es6.types b/tests/baselines/reference/awaitBinaryExpression1_es6.types index 335ea91878bf4..004d01064e56a 100644 --- a/tests/baselines/reference/awaitBinaryExpression1_es6.types +++ b/tests/baselines/reference/awaitBinaryExpression1_es6.types @@ -25,7 +25,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = await p || a; >b : boolean @@ -43,5 +43,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitBinaryExpression2_es2017.types b/tests/baselines/reference/awaitBinaryExpression2_es2017.types index 43e36b379cfc8..f98712b6ade7f 100644 --- a/tests/baselines/reference/awaitBinaryExpression2_es2017.types +++ b/tests/baselines/reference/awaitBinaryExpression2_es2017.types @@ -25,7 +25,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = await p && a; >b : boolean @@ -43,5 +43,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitBinaryExpression2_es5.types b/tests/baselines/reference/awaitBinaryExpression2_es5.types index 890694e7cbf02..7ed66215fec3e 100644 --- a/tests/baselines/reference/awaitBinaryExpression2_es5.types +++ b/tests/baselines/reference/awaitBinaryExpression2_es5.types @@ -25,7 +25,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = await p && a; >b : boolean @@ -43,5 +43,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitBinaryExpression2_es6.types b/tests/baselines/reference/awaitBinaryExpression2_es6.types index e9fcf06afcb81..864c13f4f7212 100644 --- a/tests/baselines/reference/awaitBinaryExpression2_es6.types +++ b/tests/baselines/reference/awaitBinaryExpression2_es6.types @@ -25,7 +25,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = await p && a; >b : boolean @@ -43,5 +43,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitBinaryExpression3_es2017.types b/tests/baselines/reference/awaitBinaryExpression3_es2017.types index 192f3cf09e548..f577c16a0c475 100644 --- a/tests/baselines/reference/awaitBinaryExpression3_es2017.types +++ b/tests/baselines/reference/awaitBinaryExpression3_es2017.types @@ -25,7 +25,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = await p + a; >b : number @@ -43,5 +43,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitBinaryExpression3_es5.types b/tests/baselines/reference/awaitBinaryExpression3_es5.types index eb41efbf113d7..b43d6a23615cc 100644 --- a/tests/baselines/reference/awaitBinaryExpression3_es5.types +++ b/tests/baselines/reference/awaitBinaryExpression3_es5.types @@ -25,7 +25,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = await p + a; >b : number @@ -43,5 +43,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitBinaryExpression3_es6.types b/tests/baselines/reference/awaitBinaryExpression3_es6.types index a9b93d27b181a..bc6361f3d1581 100644 --- a/tests/baselines/reference/awaitBinaryExpression3_es6.types +++ b/tests/baselines/reference/awaitBinaryExpression3_es6.types @@ -25,7 +25,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = await p + a; >b : number @@ -43,5 +43,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitBinaryExpression4_es2017.types b/tests/baselines/reference/awaitBinaryExpression4_es2017.types index bb1f4c6a8c388..fa79ee7a0dd44 100644 --- a/tests/baselines/reference/awaitBinaryExpression4_es2017.types +++ b/tests/baselines/reference/awaitBinaryExpression4_es2017.types @@ -25,7 +25,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = (await p, a); >b : boolean @@ -45,5 +45,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitBinaryExpression4_es5.types b/tests/baselines/reference/awaitBinaryExpression4_es5.types index abe1a5fa6a86f..345007d5f0853 100644 --- a/tests/baselines/reference/awaitBinaryExpression4_es5.types +++ b/tests/baselines/reference/awaitBinaryExpression4_es5.types @@ -25,7 +25,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = (await p, a); >b : boolean @@ -45,5 +45,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitBinaryExpression4_es6.types b/tests/baselines/reference/awaitBinaryExpression4_es6.types index 1c48f9ca0b16a..5a5de546ddf6c 100644 --- a/tests/baselines/reference/awaitBinaryExpression4_es6.types +++ b/tests/baselines/reference/awaitBinaryExpression4_es6.types @@ -25,7 +25,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = (await p, a); >b : boolean @@ -45,5 +45,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitBinaryExpression5_es2017.types b/tests/baselines/reference/awaitBinaryExpression5_es2017.types index 39ffde89efb06..0ad830d5ae375 100644 --- a/tests/baselines/reference/awaitBinaryExpression5_es2017.types +++ b/tests/baselines/reference/awaitBinaryExpression5_es2017.types @@ -25,7 +25,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var o: { a: boolean; }; >o : { a: boolean; } @@ -39,7 +39,7 @@ async function func(): Promise { >o.a : boolean > : ^^^^^^^ >o : { a: boolean; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : boolean > : ^^^^^^^ >await p : boolean @@ -51,5 +51,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitBinaryExpression5_es5.types b/tests/baselines/reference/awaitBinaryExpression5_es5.types index 1ea0241d3546e..bc4a0811d3bf7 100644 --- a/tests/baselines/reference/awaitBinaryExpression5_es5.types +++ b/tests/baselines/reference/awaitBinaryExpression5_es5.types @@ -25,7 +25,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var o: { a: boolean; }; >o : { a: boolean; } @@ -39,7 +39,7 @@ async function func(): Promise { >o.a : boolean > : ^^^^^^^ >o : { a: boolean; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : boolean > : ^^^^^^^ >await p : boolean @@ -51,5 +51,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitBinaryExpression5_es6.types b/tests/baselines/reference/awaitBinaryExpression5_es6.types index a2983be15d543..1083d777d7901 100644 --- a/tests/baselines/reference/awaitBinaryExpression5_es6.types +++ b/tests/baselines/reference/awaitBinaryExpression5_es6.types @@ -25,7 +25,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var o: { a: boolean; }; >o : { a: boolean; } @@ -39,7 +39,7 @@ async function func(): Promise { >o.a : boolean > : ^^^^^^^ >o : { a: boolean; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : boolean > : ^^^^^^^ >await p : boolean @@ -51,5 +51,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitCallExpression1_es2017.types b/tests/baselines/reference/awaitCallExpression1_es2017.types index ff5a47b2d8a47..4d66d51e22caf 100644 --- a/tests/baselines/reference/awaitCallExpression1_es2017.types +++ b/tests/baselines/reference/awaitCallExpression1_es2017.types @@ -69,7 +69,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = fn(a, a, a); >b : void @@ -77,7 +77,7 @@ async function func(): Promise { >fn(a, a, a) : void > : ^^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : boolean > : ^^^^^^^ >a : boolean @@ -89,5 +89,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitCallExpression1_es5.types b/tests/baselines/reference/awaitCallExpression1_es5.types index dcb15f257868e..f9eacb8912a97 100644 --- a/tests/baselines/reference/awaitCallExpression1_es5.types +++ b/tests/baselines/reference/awaitCallExpression1_es5.types @@ -69,7 +69,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = fn(a, a, a); >b : void @@ -77,7 +77,7 @@ async function func(): Promise { >fn(a, a, a) : void > : ^^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : boolean > : ^^^^^^^ >a : boolean @@ -89,5 +89,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitCallExpression1_es6.types b/tests/baselines/reference/awaitCallExpression1_es6.types index 2e77882260a4e..99a959b87defd 100644 --- a/tests/baselines/reference/awaitCallExpression1_es6.types +++ b/tests/baselines/reference/awaitCallExpression1_es6.types @@ -69,7 +69,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = fn(a, a, a); >b : void @@ -77,7 +77,7 @@ async function func(): Promise { >fn(a, a, a) : void > : ^^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : boolean > : ^^^^^^^ >a : boolean @@ -89,5 +89,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitCallExpression2_es2017.types b/tests/baselines/reference/awaitCallExpression2_es2017.types index 3d3af159f2788..2ac0e02e9b598 100644 --- a/tests/baselines/reference/awaitCallExpression2_es2017.types +++ b/tests/baselines/reference/awaitCallExpression2_es2017.types @@ -69,7 +69,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = fn(await p, a, a); >b : void @@ -77,7 +77,7 @@ async function func(): Promise { >fn(await p, a, a) : void > : ^^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >await p : boolean > : ^^^^^^^ >p : Promise @@ -91,5 +91,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitCallExpression2_es5.types b/tests/baselines/reference/awaitCallExpression2_es5.types index a89be88ddb8cc..c70ea8ac6c812 100644 --- a/tests/baselines/reference/awaitCallExpression2_es5.types +++ b/tests/baselines/reference/awaitCallExpression2_es5.types @@ -69,7 +69,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = fn(await p, a, a); >b : void @@ -77,7 +77,7 @@ async function func(): Promise { >fn(await p, a, a) : void > : ^^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >await p : boolean > : ^^^^^^^ >p : Promise @@ -91,5 +91,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitCallExpression2_es6.types b/tests/baselines/reference/awaitCallExpression2_es6.types index 39f949106073a..b944199d7ba3b 100644 --- a/tests/baselines/reference/awaitCallExpression2_es6.types +++ b/tests/baselines/reference/awaitCallExpression2_es6.types @@ -69,7 +69,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = fn(await p, a, a); >b : void @@ -77,7 +77,7 @@ async function func(): Promise { >fn(await p, a, a) : void > : ^^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >await p : boolean > : ^^^^^^^ >p : Promise @@ -91,5 +91,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitCallExpression3_es2017.types b/tests/baselines/reference/awaitCallExpression3_es2017.types index e0af66e1dfebf..e149a63350193 100644 --- a/tests/baselines/reference/awaitCallExpression3_es2017.types +++ b/tests/baselines/reference/awaitCallExpression3_es2017.types @@ -69,7 +69,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = fn(a, await p, a); >b : void @@ -77,7 +77,7 @@ async function func(): Promise { >fn(a, await p, a) : void > : ^^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : boolean > : ^^^^^^^ >await p : boolean @@ -91,5 +91,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitCallExpression3_es5.types b/tests/baselines/reference/awaitCallExpression3_es5.types index 37ee77b2cfb36..a0ea7ec7ff5f5 100644 --- a/tests/baselines/reference/awaitCallExpression3_es5.types +++ b/tests/baselines/reference/awaitCallExpression3_es5.types @@ -69,7 +69,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = fn(a, await p, a); >b : void @@ -77,7 +77,7 @@ async function func(): Promise { >fn(a, await p, a) : void > : ^^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : boolean > : ^^^^^^^ >await p : boolean @@ -91,5 +91,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitCallExpression3_es6.types b/tests/baselines/reference/awaitCallExpression3_es6.types index d6940a217e797..7cc19c04426a5 100644 --- a/tests/baselines/reference/awaitCallExpression3_es6.types +++ b/tests/baselines/reference/awaitCallExpression3_es6.types @@ -69,7 +69,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = fn(a, await p, a); >b : void @@ -77,7 +77,7 @@ async function func(): Promise { >fn(a, await p, a) : void > : ^^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : boolean > : ^^^^^^^ >await p : boolean @@ -91,5 +91,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitCallExpression4_es2017.types b/tests/baselines/reference/awaitCallExpression4_es2017.types index ae4ea63e0ee3a..6936ba7c4eed2 100644 --- a/tests/baselines/reference/awaitCallExpression4_es2017.types +++ b/tests/baselines/reference/awaitCallExpression4_es2017.types @@ -69,7 +69,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = (await pfn)(a, a, a); >b : void @@ -77,11 +77,11 @@ async function func(): Promise { >(await pfn)(a, a, a) : void > : ^^^^ >(await pfn) : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >await pfn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >pfn : Promise<(arg0: boolean, arg1: boolean, arg2: boolean) => void> -> : ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^ >a : boolean > : ^^^^^^^ >a : boolean @@ -93,5 +93,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitCallExpression4_es5.types b/tests/baselines/reference/awaitCallExpression4_es5.types index 827aafd07a5c1..b6850d8835b5d 100644 --- a/tests/baselines/reference/awaitCallExpression4_es5.types +++ b/tests/baselines/reference/awaitCallExpression4_es5.types @@ -69,7 +69,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = (await pfn)(a, a, a); >b : void @@ -77,11 +77,11 @@ async function func(): Promise { >(await pfn)(a, a, a) : void > : ^^^^ >(await pfn) : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >await pfn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >pfn : Promise<(arg0: boolean, arg1: boolean, arg2: boolean) => void> -> : ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^ >a : boolean > : ^^^^^^^ >a : boolean @@ -93,5 +93,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitCallExpression4_es6.types b/tests/baselines/reference/awaitCallExpression4_es6.types index 8c39562a013a9..dd3b77ed0c65b 100644 --- a/tests/baselines/reference/awaitCallExpression4_es6.types +++ b/tests/baselines/reference/awaitCallExpression4_es6.types @@ -69,7 +69,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = (await pfn)(a, a, a); >b : void @@ -77,11 +77,11 @@ async function func(): Promise { >(await pfn)(a, a, a) : void > : ^^^^ >(await pfn) : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >await pfn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >pfn : Promise<(arg0: boolean, arg1: boolean, arg2: boolean) => void> -> : ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^ >a : boolean > : ^^^^^^^ >a : boolean @@ -93,5 +93,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitCallExpression5_es2017.types b/tests/baselines/reference/awaitCallExpression5_es2017.types index 30ca06fdff4d1..8b2970588e392 100644 --- a/tests/baselines/reference/awaitCallExpression5_es2017.types +++ b/tests/baselines/reference/awaitCallExpression5_es2017.types @@ -69,7 +69,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = o.fn(a, a, a); >b : void @@ -77,11 +77,11 @@ async function func(): Promise { >o.fn(a, a, a) : void > : ^^^^ >o.fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >o : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : boolean > : ^^^^^^^ >a : boolean @@ -93,5 +93,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitCallExpression5_es5.types b/tests/baselines/reference/awaitCallExpression5_es5.types index 4ed35571153a7..dda4a22b7b389 100644 --- a/tests/baselines/reference/awaitCallExpression5_es5.types +++ b/tests/baselines/reference/awaitCallExpression5_es5.types @@ -69,7 +69,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = o.fn(a, a, a); >b : void @@ -77,11 +77,11 @@ async function func(): Promise { >o.fn(a, a, a) : void > : ^^^^ >o.fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >o : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : boolean > : ^^^^^^^ >a : boolean @@ -93,5 +93,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitCallExpression5_es6.types b/tests/baselines/reference/awaitCallExpression5_es6.types index ac45e317d28c3..d070525792ece 100644 --- a/tests/baselines/reference/awaitCallExpression5_es6.types +++ b/tests/baselines/reference/awaitCallExpression5_es6.types @@ -69,7 +69,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = o.fn(a, a, a); >b : void @@ -77,11 +77,11 @@ async function func(): Promise { >o.fn(a, a, a) : void > : ^^^^ >o.fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >o : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : boolean > : ^^^^^^^ >a : boolean @@ -93,5 +93,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitCallExpression6_es2017.types b/tests/baselines/reference/awaitCallExpression6_es2017.types index 1f7d3954ef6db..534bc1ea9f053 100644 --- a/tests/baselines/reference/awaitCallExpression6_es2017.types +++ b/tests/baselines/reference/awaitCallExpression6_es2017.types @@ -69,7 +69,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = o.fn(await p, a, a); >b : void @@ -77,11 +77,11 @@ async function func(): Promise { >o.fn(await p, a, a) : void > : ^^^^ >o.fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >o : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >await p : boolean > : ^^^^^^^ >p : Promise @@ -95,5 +95,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitCallExpression6_es5.types b/tests/baselines/reference/awaitCallExpression6_es5.types index 983ba9f3fe11e..baa9dc9f23f5d 100644 --- a/tests/baselines/reference/awaitCallExpression6_es5.types +++ b/tests/baselines/reference/awaitCallExpression6_es5.types @@ -69,7 +69,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = o.fn(await p, a, a); >b : void @@ -77,11 +77,11 @@ async function func(): Promise { >o.fn(await p, a, a) : void > : ^^^^ >o.fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >o : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >await p : boolean > : ^^^^^^^ >p : Promise @@ -95,5 +95,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitCallExpression6_es6.types b/tests/baselines/reference/awaitCallExpression6_es6.types index 7f22836931893..00302c74d5006 100644 --- a/tests/baselines/reference/awaitCallExpression6_es6.types +++ b/tests/baselines/reference/awaitCallExpression6_es6.types @@ -69,7 +69,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = o.fn(await p, a, a); >b : void @@ -77,11 +77,11 @@ async function func(): Promise { >o.fn(await p, a, a) : void > : ^^^^ >o.fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >o : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >await p : boolean > : ^^^^^^^ >p : Promise @@ -95,5 +95,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitCallExpression7_es2017.types b/tests/baselines/reference/awaitCallExpression7_es2017.types index e65f9a1b687b9..8c881062741c9 100644 --- a/tests/baselines/reference/awaitCallExpression7_es2017.types +++ b/tests/baselines/reference/awaitCallExpression7_es2017.types @@ -69,7 +69,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = o.fn(a, await p, a); >b : void @@ -77,11 +77,11 @@ async function func(): Promise { >o.fn(a, await p, a) : void > : ^^^^ >o.fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >o : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : boolean > : ^^^^^^^ >await p : boolean @@ -95,5 +95,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitCallExpression7_es5.types b/tests/baselines/reference/awaitCallExpression7_es5.types index 390e123cdf1c8..0b7d51ad2e972 100644 --- a/tests/baselines/reference/awaitCallExpression7_es5.types +++ b/tests/baselines/reference/awaitCallExpression7_es5.types @@ -69,7 +69,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = o.fn(a, await p, a); >b : void @@ -77,11 +77,11 @@ async function func(): Promise { >o.fn(a, await p, a) : void > : ^^^^ >o.fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >o : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : boolean > : ^^^^^^^ >await p : boolean @@ -95,5 +95,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitCallExpression7_es6.types b/tests/baselines/reference/awaitCallExpression7_es6.types index e24dfba11e962..b234599dbdc4d 100644 --- a/tests/baselines/reference/awaitCallExpression7_es6.types +++ b/tests/baselines/reference/awaitCallExpression7_es6.types @@ -69,7 +69,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = o.fn(a, await p, a); >b : void @@ -77,11 +77,11 @@ async function func(): Promise { >o.fn(a, await p, a) : void > : ^^^^ >o.fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >o : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : boolean > : ^^^^^^^ >await p : boolean @@ -95,5 +95,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitCallExpression8_es2017.types b/tests/baselines/reference/awaitCallExpression8_es2017.types index 00bc0c5401f82..548492d43afc2 100644 --- a/tests/baselines/reference/awaitCallExpression8_es2017.types +++ b/tests/baselines/reference/awaitCallExpression8_es2017.types @@ -69,7 +69,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = (await po).fn(a, a, a); >b : void @@ -77,15 +77,15 @@ async function func(): Promise { >(await po).fn(a, a, a) : void > : ^^^^ >(await po).fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >(await po) : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >await po : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >po : Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }> -> : ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : boolean > : ^^^^^^^ >a : boolean @@ -97,5 +97,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitCallExpression8_es5.types b/tests/baselines/reference/awaitCallExpression8_es5.types index 44044ddf85bbe..1a2563d628ce4 100644 --- a/tests/baselines/reference/awaitCallExpression8_es5.types +++ b/tests/baselines/reference/awaitCallExpression8_es5.types @@ -69,7 +69,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = (await po).fn(a, a, a); >b : void @@ -77,15 +77,15 @@ async function func(): Promise { >(await po).fn(a, a, a) : void > : ^^^^ >(await po).fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >(await po) : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >await po : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >po : Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }> -> : ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : boolean > : ^^^^^^^ >a : boolean @@ -97,5 +97,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitCallExpression8_es6.types b/tests/baselines/reference/awaitCallExpression8_es6.types index 5d001492a47e3..f94a7c2384b32 100644 --- a/tests/baselines/reference/awaitCallExpression8_es6.types +++ b/tests/baselines/reference/awaitCallExpression8_es6.types @@ -69,7 +69,7 @@ async function func(): Promise { >before() : void > : ^^^^ >before : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var b = (await po).fn(a, a, a); >b : void @@ -77,15 +77,15 @@ async function func(): Promise { >(await po).fn(a, a, a) : void > : ^^^^ >(await po).fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >(await po) : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >await po : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >po : Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }> -> : ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ >fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : boolean > : ^^^^^^^ >a : boolean @@ -97,5 +97,5 @@ async function func(): Promise { >after() : void > : ^^^^ >after : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/awaitCallExpressionInSyncFunction.types b/tests/baselines/reference/awaitCallExpressionInSyncFunction.types index 1bf2f739fb4fd..fa988a13c2c11 100644 --- a/tests/baselines/reference/awaitCallExpressionInSyncFunction.types +++ b/tests/baselines/reference/awaitCallExpressionInSyncFunction.types @@ -14,12 +14,12 @@ function foo() { > : ^^^ >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/awaitUnionPromise.types b/tests/baselines/reference/awaitUnionPromise.types index 961619f1ef205..cd03ea8a5c7e0 100644 --- a/tests/baselines/reference/awaitUnionPromise.types +++ b/tests/baselines/reference/awaitUnionPromise.types @@ -43,11 +43,11 @@ async function main() { >x.next1() : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x.next1 : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ >x : IAsyncEnumerator > : ^^^^^^^^^^^^^^^^^^^^^^^^ >next1 : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ let b = await x.next2(); >b : number | AsyncEnumeratorDone @@ -56,12 +56,12 @@ async function main() { > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x.next2() : Promise | Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->x.next2 : () => Promise | Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x.next2 : () => Promise | Promise +> : ^^^^^^ ^^^^^^ >x : IAsyncEnumerator > : ^^^^^^^^^^^^^^^^^^^^^^^^ ->next2 : () => Promise | Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>next2 : () => Promise | Promise +> : ^^^^^^ ^^^^^^ let c = await x.next3(); >c : number | {} @@ -71,24 +71,24 @@ async function main() { >x.next3() : Promise > : ^^^^^^^^^^^^^^^^^^^^ >x.next3 : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ >x : IAsyncEnumerator > : ^^^^^^^^^^^^^^^^^^^^^^^^ >next3 : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ let d = await x.next4(); >d : number | { x: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >await x.next4() : number | { x: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >x.next4() : Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >x.next4 : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ >x : IAsyncEnumerator > : ^^^^^^^^^^^^^^^^^^^^^^^^ >next4 : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ } diff --git a/tests/baselines/reference/awaitUsingDeclarations.1(target=es2015).js b/tests/baselines/reference/awaitUsingDeclarations.1(target=es2015).js index 17ddd6f1ad9f5..c2271c2f2bab1 100644 --- a/tests/baselines/reference/awaitUsingDeclarations.1(target=es2015).js +++ b/tests/baselines/reference/awaitUsingDeclarations.1(target=es2015).js @@ -112,7 +112,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) { if (value !== null && value !== void 0) { if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected."); - var dispose; + var dispose, inner; if (async) { if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined."); dispose = value[Symbol.asyncDispose]; @@ -120,8 +120,10 @@ var __addDisposableResource = (this && this.__addDisposableResource) || function if (dispose === void 0) { if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined."); dispose = value[Symbol.dispose]; + if (async) inner = dispose; } if (typeof dispose !== "function") throw new TypeError("Object not disposable."); + if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } }; env.stack.push({ value: value, dispose: dispose, async: async }); } else if (async) { diff --git a/tests/baselines/reference/awaitUsingDeclarations.1(target=es2017).js b/tests/baselines/reference/awaitUsingDeclarations.1(target=es2017).js index e3c7a8358606c..cccc573e759c2 100644 --- a/tests/baselines/reference/awaitUsingDeclarations.1(target=es2017).js +++ b/tests/baselines/reference/awaitUsingDeclarations.1(target=es2017).js @@ -103,7 +103,7 @@ export {}; var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) { if (value !== null && value !== void 0) { if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected."); - var dispose; + var dispose, inner; if (async) { if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined."); dispose = value[Symbol.asyncDispose]; @@ -111,8 +111,10 @@ var __addDisposableResource = (this && this.__addDisposableResource) || function if (dispose === void 0) { if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined."); dispose = value[Symbol.dispose]; + if (async) inner = dispose; } if (typeof dispose !== "function") throw new TypeError("Object not disposable."); + if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } }; env.stack.push({ value: value, dispose: dispose, async: async }); } else if (async) { diff --git a/tests/baselines/reference/awaitUsingDeclarations.1(target=es2022).js b/tests/baselines/reference/awaitUsingDeclarations.1(target=es2022).js index 2cd219cdd2473..182dbc52e3a99 100644 --- a/tests/baselines/reference/awaitUsingDeclarations.1(target=es2022).js +++ b/tests/baselines/reference/awaitUsingDeclarations.1(target=es2022).js @@ -103,7 +103,7 @@ export {}; var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) { if (value !== null && value !== void 0) { if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected."); - var dispose; + var dispose, inner; if (async) { if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined."); dispose = value[Symbol.asyncDispose]; @@ -111,8 +111,10 @@ var __addDisposableResource = (this && this.__addDisposableResource) || function if (dispose === void 0) { if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined."); dispose = value[Symbol.dispose]; + if (async) inner = dispose; } if (typeof dispose !== "function") throw new TypeError("Object not disposable."); + if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } }; env.stack.push({ value: value, dispose: dispose, async: async }); } else if (async) { diff --git a/tests/baselines/reference/awaitUsingDeclarations.1(target=es5).js b/tests/baselines/reference/awaitUsingDeclarations.1(target=es5).js index 833b0e75ef28e..de5e85a705f10 100644 --- a/tests/baselines/reference/awaitUsingDeclarations.1(target=es5).js +++ b/tests/baselines/reference/awaitUsingDeclarations.1(target=es5).js @@ -139,7 +139,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) { if (value !== null && value !== void 0) { if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected."); - var dispose; + var dispose, inner; if (async) { if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined."); dispose = value[Symbol.asyncDispose]; @@ -147,8 +147,10 @@ var __addDisposableResource = (this && this.__addDisposableResource) || function if (dispose === void 0) { if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined."); dispose = value[Symbol.dispose]; + if (async) inner = dispose; } if (typeof dispose !== "function") throw new TypeError("Object not disposable."); + if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } }; env.stack.push({ value: value, dispose: dispose, async: async }); } else if (async) { diff --git a/tests/baselines/reference/awaitUsingDeclarations.2(target=es2015).js b/tests/baselines/reference/awaitUsingDeclarations.2(target=es2015).js index ac277978edc2b..7fe2694730aa5 100644 --- a/tests/baselines/reference/awaitUsingDeclarations.2(target=es2015).js +++ b/tests/baselines/reference/awaitUsingDeclarations.2(target=es2015).js @@ -21,7 +21,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) { if (value !== null && value !== void 0) { if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected."); - var dispose; + var dispose, inner; if (async) { if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined."); dispose = value[Symbol.asyncDispose]; @@ -29,8 +29,10 @@ var __addDisposableResource = (this && this.__addDisposableResource) || function if (dispose === void 0) { if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined."); dispose = value[Symbol.dispose]; + if (async) inner = dispose; } if (typeof dispose !== "function") throw new TypeError("Object not disposable."); + if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } }; env.stack.push({ value: value, dispose: dispose, async: async }); } else if (async) { diff --git a/tests/baselines/reference/awaitUsingDeclarations.2(target=es2017).js b/tests/baselines/reference/awaitUsingDeclarations.2(target=es2017).js index 33a940df87258..99d27d1f62b16 100644 --- a/tests/baselines/reference/awaitUsingDeclarations.2(target=es2017).js +++ b/tests/baselines/reference/awaitUsingDeclarations.2(target=es2017).js @@ -12,7 +12,7 @@ export {}; var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) { if (value !== null && value !== void 0) { if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected."); - var dispose; + var dispose, inner; if (async) { if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined."); dispose = value[Symbol.asyncDispose]; @@ -20,8 +20,10 @@ var __addDisposableResource = (this && this.__addDisposableResource) || function if (dispose === void 0) { if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined."); dispose = value[Symbol.dispose]; + if (async) inner = dispose; } if (typeof dispose !== "function") throw new TypeError("Object not disposable."); + if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } }; env.stack.push({ value: value, dispose: dispose, async: async }); } else if (async) { diff --git a/tests/baselines/reference/awaitUsingDeclarations.2(target=es2022).js b/tests/baselines/reference/awaitUsingDeclarations.2(target=es2022).js index 33a940df87258..99d27d1f62b16 100644 --- a/tests/baselines/reference/awaitUsingDeclarations.2(target=es2022).js +++ b/tests/baselines/reference/awaitUsingDeclarations.2(target=es2022).js @@ -12,7 +12,7 @@ export {}; var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) { if (value !== null && value !== void 0) { if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected."); - var dispose; + var dispose, inner; if (async) { if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined."); dispose = value[Symbol.asyncDispose]; @@ -20,8 +20,10 @@ var __addDisposableResource = (this && this.__addDisposableResource) || function if (dispose === void 0) { if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined."); dispose = value[Symbol.dispose]; + if (async) inner = dispose; } if (typeof dispose !== "function") throw new TypeError("Object not disposable."); + if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } }; env.stack.push({ value: value, dispose: dispose, async: async }); } else if (async) { diff --git a/tests/baselines/reference/awaitUsingDeclarations.2(target=es5).js b/tests/baselines/reference/awaitUsingDeclarations.2(target=es5).js index 1bff5fb36570f..a6620ca372225 100644 --- a/tests/baselines/reference/awaitUsingDeclarations.2(target=es5).js +++ b/tests/baselines/reference/awaitUsingDeclarations.2(target=es5).js @@ -48,7 +48,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) { if (value !== null && value !== void 0) { if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected."); - var dispose; + var dispose, inner; if (async) { if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined."); dispose = value[Symbol.asyncDispose]; @@ -56,8 +56,10 @@ var __addDisposableResource = (this && this.__addDisposableResource) || function if (dispose === void 0) { if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined."); dispose = value[Symbol.dispose]; + if (async) inner = dispose; } if (typeof dispose !== "function") throw new TypeError("Object not disposable."); + if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } }; env.stack.push({ value: value, dispose: dispose, async: async }); } else if (async) { diff --git a/tests/baselines/reference/awaitUsingDeclarations.3(target=es2015).js b/tests/baselines/reference/awaitUsingDeclarations.3(target=es2015).js index e21dc4c3a4789..5262fd883d987 100644 --- a/tests/baselines/reference/awaitUsingDeclarations.3(target=es2015).js +++ b/tests/baselines/reference/awaitUsingDeclarations.3(target=es2015).js @@ -23,7 +23,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) { if (value !== null && value !== void 0) { if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected."); - var dispose; + var dispose, inner; if (async) { if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined."); dispose = value[Symbol.asyncDispose]; @@ -31,8 +31,10 @@ var __addDisposableResource = (this && this.__addDisposableResource) || function if (dispose === void 0) { if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined."); dispose = value[Symbol.dispose]; + if (async) inner = dispose; } if (typeof dispose !== "function") throw new TypeError("Object not disposable."); + if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } }; env.stack.push({ value: value, dispose: dispose, async: async }); } else if (async) { diff --git a/tests/baselines/reference/awaitUsingDeclarations.3(target=es2017).js b/tests/baselines/reference/awaitUsingDeclarations.3(target=es2017).js index b070220f5d8ae..e64bb7a3097b6 100644 --- a/tests/baselines/reference/awaitUsingDeclarations.3(target=es2017).js +++ b/tests/baselines/reference/awaitUsingDeclarations.3(target=es2017).js @@ -14,7 +14,7 @@ export {}; var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) { if (value !== null && value !== void 0) { if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected."); - var dispose; + var dispose, inner; if (async) { if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined."); dispose = value[Symbol.asyncDispose]; @@ -22,8 +22,10 @@ var __addDisposableResource = (this && this.__addDisposableResource) || function if (dispose === void 0) { if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined."); dispose = value[Symbol.dispose]; + if (async) inner = dispose; } if (typeof dispose !== "function") throw new TypeError("Object not disposable."); + if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } }; env.stack.push({ value: value, dispose: dispose, async: async }); } else if (async) { diff --git a/tests/baselines/reference/awaitUsingDeclarations.3(target=es2022).js b/tests/baselines/reference/awaitUsingDeclarations.3(target=es2022).js index b070220f5d8ae..e64bb7a3097b6 100644 --- a/tests/baselines/reference/awaitUsingDeclarations.3(target=es2022).js +++ b/tests/baselines/reference/awaitUsingDeclarations.3(target=es2022).js @@ -14,7 +14,7 @@ export {}; var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) { if (value !== null && value !== void 0) { if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected."); - var dispose; + var dispose, inner; if (async) { if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined."); dispose = value[Symbol.asyncDispose]; @@ -22,8 +22,10 @@ var __addDisposableResource = (this && this.__addDisposableResource) || function if (dispose === void 0) { if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined."); dispose = value[Symbol.dispose]; + if (async) inner = dispose; } if (typeof dispose !== "function") throw new TypeError("Object not disposable."); + if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } }; env.stack.push({ value: value, dispose: dispose, async: async }); } else if (async) { diff --git a/tests/baselines/reference/awaitUsingDeclarations.3(target=es5).js b/tests/baselines/reference/awaitUsingDeclarations.3(target=es5).js index b198385d9c93c..19b2bab799223 100644 --- a/tests/baselines/reference/awaitUsingDeclarations.3(target=es5).js +++ b/tests/baselines/reference/awaitUsingDeclarations.3(target=es5).js @@ -50,7 +50,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) { if (value !== null && value !== void 0) { if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected."); - var dispose; + var dispose, inner; if (async) { if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined."); dispose = value[Symbol.asyncDispose]; @@ -58,8 +58,10 @@ var __addDisposableResource = (this && this.__addDisposableResource) || function if (dispose === void 0) { if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined."); dispose = value[Symbol.dispose]; + if (async) inner = dispose; } if (typeof dispose !== "function") throw new TypeError("Object not disposable."); + if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } }; env.stack.push({ value: value, dispose: dispose, async: async }); } else if (async) { diff --git a/tests/baselines/reference/awaitUsingDeclarationsInFor(target=es2015).js b/tests/baselines/reference/awaitUsingDeclarationsInFor(target=es2015).js index bca9ebbbe23b7..2870194227ef9 100644 --- a/tests/baselines/reference/awaitUsingDeclarationsInFor(target=es2015).js +++ b/tests/baselines/reference/awaitUsingDeclarationsInFor(target=es2015).js @@ -22,7 +22,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) { if (value !== null && value !== void 0) { if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected."); - var dispose; + var dispose, inner; if (async) { if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined."); dispose = value[Symbol.asyncDispose]; @@ -30,8 +30,10 @@ var __addDisposableResource = (this && this.__addDisposableResource) || function if (dispose === void 0) { if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined."); dispose = value[Symbol.dispose]; + if (async) inner = dispose; } if (typeof dispose !== "function") throw new TypeError("Object not disposable."); + if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } }; env.stack.push({ value: value, dispose: dispose, async: async }); } else if (async) { diff --git a/tests/baselines/reference/awaitUsingDeclarationsInFor(target=es2017).js b/tests/baselines/reference/awaitUsingDeclarationsInFor(target=es2017).js index b8190e4b8203c..221ed3291d271 100644 --- a/tests/baselines/reference/awaitUsingDeclarationsInFor(target=es2017).js +++ b/tests/baselines/reference/awaitUsingDeclarationsInFor(target=es2017).js @@ -13,7 +13,7 @@ async function main() { var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) { if (value !== null && value !== void 0) { if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected."); - var dispose; + var dispose, inner; if (async) { if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined."); dispose = value[Symbol.asyncDispose]; @@ -21,8 +21,10 @@ var __addDisposableResource = (this && this.__addDisposableResource) || function if (dispose === void 0) { if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined."); dispose = value[Symbol.dispose]; + if (async) inner = dispose; } if (typeof dispose !== "function") throw new TypeError("Object not disposable."); + if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } }; env.stack.push({ value: value, dispose: dispose, async: async }); } else if (async) { diff --git a/tests/baselines/reference/awaitUsingDeclarationsInFor(target=es2022).js b/tests/baselines/reference/awaitUsingDeclarationsInFor(target=es2022).js index b8190e4b8203c..221ed3291d271 100644 --- a/tests/baselines/reference/awaitUsingDeclarationsInFor(target=es2022).js +++ b/tests/baselines/reference/awaitUsingDeclarationsInFor(target=es2022).js @@ -13,7 +13,7 @@ async function main() { var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) { if (value !== null && value !== void 0) { if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected."); - var dispose; + var dispose, inner; if (async) { if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined."); dispose = value[Symbol.asyncDispose]; @@ -21,8 +21,10 @@ var __addDisposableResource = (this && this.__addDisposableResource) || function if (dispose === void 0) { if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined."); dispose = value[Symbol.dispose]; + if (async) inner = dispose; } if (typeof dispose !== "function") throw new TypeError("Object not disposable."); + if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } }; env.stack.push({ value: value, dispose: dispose, async: async }); } else if (async) { diff --git a/tests/baselines/reference/awaitUsingDeclarationsInFor(target=es5).js b/tests/baselines/reference/awaitUsingDeclarationsInFor(target=es5).js index 61b4144ebb5a8..3d9c377e54741 100644 --- a/tests/baselines/reference/awaitUsingDeclarationsInFor(target=es5).js +++ b/tests/baselines/reference/awaitUsingDeclarationsInFor(target=es5).js @@ -49,7 +49,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) { if (value !== null && value !== void 0) { if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected."); - var dispose; + var dispose, inner; if (async) { if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined."); dispose = value[Symbol.asyncDispose]; @@ -57,8 +57,10 @@ var __addDisposableResource = (this && this.__addDisposableResource) || function if (dispose === void 0) { if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined."); dispose = value[Symbol.dispose]; + if (async) inner = dispose; } if (typeof dispose !== "function") throw new TypeError("Object not disposable."); + if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } }; env.stack.push({ value: value, dispose: dispose, async: async }); } else if (async) { diff --git a/tests/baselines/reference/awaitUsingDeclarationsInForAwaitOf(target=es2015).js b/tests/baselines/reference/awaitUsingDeclarationsInForAwaitOf(target=es2015).js index 3c28b672a261f..ef9b9c4303a42 100644 --- a/tests/baselines/reference/awaitUsingDeclarationsInForAwaitOf(target=es2015).js +++ b/tests/baselines/reference/awaitUsingDeclarationsInForAwaitOf(target=es2015).js @@ -19,7 +19,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) { if (value !== null && value !== void 0) { if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected."); - var dispose; + var dispose, inner; if (async) { if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined."); dispose = value[Symbol.asyncDispose]; @@ -27,8 +27,10 @@ var __addDisposableResource = (this && this.__addDisposableResource) || function if (dispose === void 0) { if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined."); dispose = value[Symbol.dispose]; + if (async) inner = dispose; } if (typeof dispose !== "function") throw new TypeError("Object not disposable."); + if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } }; env.stack.push({ value: value, dispose: dispose, async: async }); } else if (async) { diff --git a/tests/baselines/reference/awaitUsingDeclarationsInForAwaitOf(target=es2017).js b/tests/baselines/reference/awaitUsingDeclarationsInForAwaitOf(target=es2017).js index 905825b1b3081..21630d7de18b3 100644 --- a/tests/baselines/reference/awaitUsingDeclarationsInForAwaitOf(target=es2017).js +++ b/tests/baselines/reference/awaitUsingDeclarationsInForAwaitOf(target=es2017).js @@ -10,7 +10,7 @@ async function main() { var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) { if (value !== null && value !== void 0) { if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected."); - var dispose; + var dispose, inner; if (async) { if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined."); dispose = value[Symbol.asyncDispose]; @@ -18,8 +18,10 @@ var __addDisposableResource = (this && this.__addDisposableResource) || function if (dispose === void 0) { if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined."); dispose = value[Symbol.dispose]; + if (async) inner = dispose; } if (typeof dispose !== "function") throw new TypeError("Object not disposable."); + if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } }; env.stack.push({ value: value, dispose: dispose, async: async }); } else if (async) { diff --git a/tests/baselines/reference/awaitUsingDeclarationsInForAwaitOf(target=es2022).js b/tests/baselines/reference/awaitUsingDeclarationsInForAwaitOf(target=es2022).js index e440639100fe7..1275289cf78e7 100644 --- a/tests/baselines/reference/awaitUsingDeclarationsInForAwaitOf(target=es2022).js +++ b/tests/baselines/reference/awaitUsingDeclarationsInForAwaitOf(target=es2022).js @@ -10,7 +10,7 @@ async function main() { var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) { if (value !== null && value !== void 0) { if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected."); - var dispose; + var dispose, inner; if (async) { if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined."); dispose = value[Symbol.asyncDispose]; @@ -18,8 +18,10 @@ var __addDisposableResource = (this && this.__addDisposableResource) || function if (dispose === void 0) { if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined."); dispose = value[Symbol.dispose]; + if (async) inner = dispose; } if (typeof dispose !== "function") throw new TypeError("Object not disposable."); + if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } }; env.stack.push({ value: value, dispose: dispose, async: async }); } else if (async) { diff --git a/tests/baselines/reference/awaitUsingDeclarationsInForAwaitOf(target=es5).js b/tests/baselines/reference/awaitUsingDeclarationsInForAwaitOf(target=es5).js index 436667622b0a1..ecb8a463300ce 100644 --- a/tests/baselines/reference/awaitUsingDeclarationsInForAwaitOf(target=es5).js +++ b/tests/baselines/reference/awaitUsingDeclarationsInForAwaitOf(target=es5).js @@ -46,7 +46,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) { if (value !== null && value !== void 0) { if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected."); - var dispose; + var dispose, inner; if (async) { if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined."); dispose = value[Symbol.asyncDispose]; @@ -54,8 +54,10 @@ var __addDisposableResource = (this && this.__addDisposableResource) || function if (dispose === void 0) { if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined."); dispose = value[Symbol.dispose]; + if (async) inner = dispose; } if (typeof dispose !== "function") throw new TypeError("Object not disposable."); + if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } }; env.stack.push({ value: value, dispose: dispose, async: async }); } else if (async) { diff --git a/tests/baselines/reference/awaitUsingDeclarationsInForOf.1(target=es2015).js b/tests/baselines/reference/awaitUsingDeclarationsInForOf.1(target=es2015).js index f3e50b24326ec..7c33128a23a5a 100644 --- a/tests/baselines/reference/awaitUsingDeclarationsInForOf.1(target=es2015).js +++ b/tests/baselines/reference/awaitUsingDeclarationsInForOf.1(target=es2015).js @@ -20,7 +20,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) { if (value !== null && value !== void 0) { if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected."); - var dispose; + var dispose, inner; if (async) { if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined."); dispose = value[Symbol.asyncDispose]; @@ -28,8 +28,10 @@ var __addDisposableResource = (this && this.__addDisposableResource) || function if (dispose === void 0) { if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined."); dispose = value[Symbol.dispose]; + if (async) inner = dispose; } if (typeof dispose !== "function") throw new TypeError("Object not disposable."); + if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } }; env.stack.push({ value: value, dispose: dispose, async: async }); } else if (async) { diff --git a/tests/baselines/reference/awaitUsingDeclarationsInForOf.1(target=es2017).js b/tests/baselines/reference/awaitUsingDeclarationsInForOf.1(target=es2017).js index 80b040f2096c9..74c7a2fd7c596 100644 --- a/tests/baselines/reference/awaitUsingDeclarationsInForOf.1(target=es2017).js +++ b/tests/baselines/reference/awaitUsingDeclarationsInForOf.1(target=es2017).js @@ -11,7 +11,7 @@ async function main() { var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) { if (value !== null && value !== void 0) { if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected."); - var dispose; + var dispose, inner; if (async) { if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined."); dispose = value[Symbol.asyncDispose]; @@ -19,8 +19,10 @@ var __addDisposableResource = (this && this.__addDisposableResource) || function if (dispose === void 0) { if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined."); dispose = value[Symbol.dispose]; + if (async) inner = dispose; } if (typeof dispose !== "function") throw new TypeError("Object not disposable."); + if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } }; env.stack.push({ value: value, dispose: dispose, async: async }); } else if (async) { diff --git a/tests/baselines/reference/awaitUsingDeclarationsInForOf.1(target=es2022).js b/tests/baselines/reference/awaitUsingDeclarationsInForOf.1(target=es2022).js index 80b040f2096c9..74c7a2fd7c596 100644 --- a/tests/baselines/reference/awaitUsingDeclarationsInForOf.1(target=es2022).js +++ b/tests/baselines/reference/awaitUsingDeclarationsInForOf.1(target=es2022).js @@ -11,7 +11,7 @@ async function main() { var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) { if (value !== null && value !== void 0) { if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected."); - var dispose; + var dispose, inner; if (async) { if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined."); dispose = value[Symbol.asyncDispose]; @@ -19,8 +19,10 @@ var __addDisposableResource = (this && this.__addDisposableResource) || function if (dispose === void 0) { if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined."); dispose = value[Symbol.dispose]; + if (async) inner = dispose; } if (typeof dispose !== "function") throw new TypeError("Object not disposable."); + if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } }; env.stack.push({ value: value, dispose: dispose, async: async }); } else if (async) { diff --git a/tests/baselines/reference/awaitUsingDeclarationsInForOf.1(target=es5).js b/tests/baselines/reference/awaitUsingDeclarationsInForOf.1(target=es5).js index 84357ba7b9be1..bc8e91348c200 100644 --- a/tests/baselines/reference/awaitUsingDeclarationsInForOf.1(target=es5).js +++ b/tests/baselines/reference/awaitUsingDeclarationsInForOf.1(target=es5).js @@ -47,7 +47,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) { if (value !== null && value !== void 0) { if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected."); - var dispose; + var dispose, inner; if (async) { if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined."); dispose = value[Symbol.asyncDispose]; @@ -55,8 +55,10 @@ var __addDisposableResource = (this && this.__addDisposableResource) || function if (dispose === void 0) { if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined."); dispose = value[Symbol.dispose]; + if (async) inner = dispose; } if (typeof dispose !== "function") throw new TypeError("Object not disposable."); + if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } }; env.stack.push({ value: value, dispose: dispose, async: async }); } else if (async) { diff --git a/tests/baselines/reference/awaitedType.types b/tests/baselines/reference/awaitedType.types index 8e71f31f6f1c1..dbc8add717e93 100644 --- a/tests/baselines/reference/awaitedType.types +++ b/tests/baselines/reference/awaitedType.types @@ -175,12 +175,12 @@ async function main() { > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise.all([ MaybePromise(1), MaybePromise('2'), MaybePromise(true), ]) : Promise<[number, string, boolean]> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->Promise.all : { (values: Iterable>): Promise[]>; (values: T_1): Promise<{ -readonly [P in keyof T_1]: Awaited; }>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->all : { (values: Iterable>): Promise[]>; (values: T_1): Promise<{ -readonly [P in keyof T_1]: Awaited; }>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >[ MaybePromise(1), MaybePromise('2'), MaybePromise(true), ] : [number | Promise<1> | PromiseLike<1>, string | Promise<"2"> | PromiseLike<"2">, true | Promise | PromiseLike] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -188,7 +188,7 @@ async function main() { >MaybePromise(1) : 1 | Promise<1> | PromiseLike<1> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >MaybePromise : (value: T) => MaybePromise -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >1 : 1 > : ^ @@ -196,7 +196,7 @@ async function main() { >MaybePromise('2') : "2" | Promise<"2"> | PromiseLike<"2"> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >MaybePromise : (value: T) => MaybePromise -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >'2' : "2" > : ^^^ @@ -204,7 +204,7 @@ async function main() { >MaybePromise(true) : true | Promise | PromiseLike > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >MaybePromise : (value: T) => MaybePromise -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >true : true > : ^^^^ @@ -352,7 +352,7 @@ async function f8(x: T) { async function f9(x: T) { >f9 : (x: T) => Promise -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ >x : T > : ^ @@ -372,7 +372,7 @@ async function f9(x: T) { async function f10(x: T) { >f10 : (x: T) => Promise -> : ^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ >x : T > : ^ @@ -392,7 +392,7 @@ async function f10(x: T) { async function f11 void): void }>(x: T) { >f11 : void): void; }>(x: T) => Promise -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ >then : (onfulfilled: (value: unknown) => void) => void > : ^ ^^ ^^^^^ >onfulfilled : (value: unknown) => void @@ -418,7 +418,7 @@ async function f11 void): void async function f12(x: T) { >f12 : (x: T) => Promise -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ >x : T > : ^ @@ -438,7 +438,7 @@ async function f12(x: T) { async function f13(x: T) { >f13 : (x: T) => Promise -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ >x : T > : ^ @@ -456,7 +456,7 @@ async function f13(x: T) { async function f14(x: T) { >f14 : (x: T) => Promise -> : ^ ^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ >x : number > : ^^^^^^ >x : T @@ -476,7 +476,7 @@ async function f14(x: T) { async function f15(x: T) { >f15 : (x: T) => Promise -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ >then : number > : ^^^^^^ >x : T @@ -496,7 +496,7 @@ async function f15(x: T) { async function f16(x: T) { >f16 : (x: T) => Promise -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ >then : () => void > : ^^^^^^ >x : T @@ -523,7 +523,7 @@ type _Expect = TActual; // https://github.com/microsoft/TypeScript/issues/48320 async function f17 Promise>(fn: T) { >f17 : Promise>(fn: T) => Promise> -> : ^ ^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >args : any[] > : ^^^^^ >fn : T @@ -561,7 +561,7 @@ async function f17_usage() { >f17(async () => 123 as const) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^ >f17 : Promise>(fn: T) => Promise> -> : ^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >async () => 123 as const : () => Promise<123> > : ^^^^^^^^^^^^^^^^^^ >123 as const : 123 @@ -586,7 +586,7 @@ type GenericStructure< async function brokenExample(structurePromise: Promise>, key: AcceptableKeyType): Promise { >brokenExample : (structurePromise: Promise>, key: AcceptableKeyType) => Promise -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ >structurePromise : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >key : AcceptableKeyType @@ -660,7 +660,7 @@ type CheckSelect = T extends SelectAndInclude declare function findMany( >findMany : (args: T) => CheckSelect, Promise<2>> -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >select : string > : ^^^^^^ >include : string @@ -674,7 +674,7 @@ declare function findMany( async function findManyWrapper< >findManyWrapper : (args: T) => Promise, Promise<2>>> -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ T extends { select?: string; include?: string } >select : string @@ -694,7 +694,7 @@ async function findManyWrapper< >findMany(args) : CheckSelect, Promise<2>> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >findMany : (args: T_1) => CheckSelect, Promise<2>> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >args : T > : ^ @@ -715,7 +715,7 @@ async function mainFindMany() { >findManyWrapper({ select: "foo", include: "bar", }) : Promise<"Please either choose `select` or `include`"> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >findManyWrapper : (args: T) => Promise, Promise<2>>> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ select: "foo", include: "bar", } : { select: string; include: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -740,7 +740,7 @@ async function mainFindMany() { >findManyWrapper({}) : Promise> > : ^^^^^^^^^^^^^^^^^^^ >findManyWrapper : (args: T) => Promise, Promise<2>>> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{} : {} > : ^^ @@ -752,7 +752,7 @@ async function mainFindMany() { >findManyWrapper({ select: "foo" }) : Promise> > : ^^^^^^^^^^^^^^^^^^^ >findManyWrapper : (args: T) => Promise, Promise<2>>> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ select: "foo" } : { select: string; } > : ^^^^^^^^^^^^^^^^^^^ >select : string @@ -768,7 +768,7 @@ async function mainFindMany() { >findManyWrapper({ include: "bar" }) : Promise> > : ^^^^^^^^^^^^^^^^^^^ >findManyWrapper : (args: T) => Promise, Promise<2>>> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ include: "bar" } : { include: string; } > : ^^^^^^^^^^^^^^^^^^^^ >include : string @@ -789,12 +789,12 @@ async function mainFindMany() { > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve(0) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >0 : 0 > : ^ @@ -802,19 +802,19 @@ async function mainFindMany() { >Promise.all(promises).then((results) => { const first = results[0] const second = results[1] // error }) : Promise > : ^^^^^^^^^^^^^ >Promise.all(promises).then : (onfulfilled?: (value: [number]) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >Promise.all(promises) : Promise<[number]> > : ^^^^^^^^^^^^^^^^^ ->Promise.all : { (values: Iterable>): Promise[]>; (values: T_1): Promise<{ -readonly [P in keyof T_1]: Awaited; }>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->all : { (values: Iterable>): Promise[]>; (values: T_1): Promise<{ -readonly [P in keyof T_1]: Awaited; }>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >promises : readonly [Promise] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: [number]) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >(results) => { const first = results[0] const second = results[1] // error } : (results: [number]) => void > : ^ ^^^^^^^^^^^^^^^^^^^ >results : [number] @@ -854,12 +854,12 @@ async function test40330() { > : ^^^^^^^^^^^^^^^ >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -876,12 +876,12 @@ async function test40330() { > : ^^^^^^^^^^^^^^^^^^^ >Promise.all([ promiseNumber, ...[promiseVoid()] ]) : Promise<[number, ...void[]]> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->Promise.all : { (values: Iterable>): Promise[]>; (values: T_1): Promise<{ -readonly [P in keyof T_1]: Awaited; }>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->all : { (values: Iterable>): Promise[]>; (values: T_1): Promise<{ -readonly [P in keyof T_1]: Awaited; }>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >[ promiseNumber, ...[promiseVoid()] ] : [Promise, ...Promise[]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/awaitedTypeCrash.types b/tests/baselines/reference/awaitedTypeCrash.types index 17b92fc844ca7..e64266309cd6d 100644 --- a/tests/baselines/reference/awaitedTypeCrash.types +++ b/tests/baselines/reference/awaitedTypeCrash.types @@ -4,5 +4,5 @@ // https://github.com/microsoft/TypeScript/issues/51984 async function* f>(): AsyncGenerator { } >f : >() => AsyncGenerator -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ diff --git a/tests/baselines/reference/awaitedTypeJQuery.types b/tests/baselines/reference/awaitedTypeJQuery.types index dd8a78e68eba7..85af2ef36ca47 100644 --- a/tests/baselines/reference/awaitedTypeJQuery.types +++ b/tests/baselines/reference/awaitedTypeJQuery.types @@ -11,8 +11,8 @@ interface PromiseBase { thenthen : { (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_1, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP_1): PromiseBase; (doneFilter: null, failFilter: null, progressFilter?: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP_2): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD_1, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_2, progressFilter?: null): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_3, progressFilter?: null): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD_2, failFilter?: null, progressFilter?: null): PromiseBase; } -> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_1, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP_1): PromiseBase; (doneFilter: null, failFilter: null, progressFilter?: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP_1): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD_1, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_1, progressFilter?: null): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_1, progressFilter?: null): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD_1, failFilter?: null, progressFilter?: null): PromiseBase; } +> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ BRD = never, BJD = never, BND = never, CRD = never, CJD = never, CND = never, @@ -74,8 +74,8 @@ interface PromiseBase; thenthen : { (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_1, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP_1): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: null, failFilter: null, progressFilter?: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP_2): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD_1, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_2, progressFilter?: null): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_3, progressFilter?: null): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD_2, failFilter?: null, progressFilter?: null): PromiseBase; } -> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_1, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP_1): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: null, failFilter: null, progressFilter?: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP_1): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_1, progressFilter?: null): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_1, progressFilter?: null): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter?: null, progressFilter?: null): PromiseBase; } +> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ BRF = never, BJF = never, BNF = never, CRF = never, CJF = never, CNF = never, @@ -122,8 +122,8 @@ interface PromiseBase; thenthen : { (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP_1): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_1, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP_2): PromiseBase; (doneFilter: null, failFilter: null, progressFilter?: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD_1, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_2, progressFilter?: null): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_3, progressFilter?: null): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD_2, failFilter?: null, progressFilter?: null): PromiseBase; } -> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP_1): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP_1): PromiseBase; (doneFilter: null, failFilter: null, progressFilter?: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter?: null): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter?: null): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter?: null, progressFilter?: null): PromiseBase; } +> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ BRP = never, BJP = never, BNP = never, CRP = never, CJP = never, CNP = never, @@ -155,8 +155,8 @@ interface PromiseBase; thenthen : { (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD_1, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_1, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_2, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP_1): PromiseBase; (doneFilter: null, failFilter: null, progressFilter?: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP_2): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter?: null): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_3, progressFilter?: null): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD_2, failFilter?: null, progressFilter?: null): PromiseBase; } -> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD_1, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_1, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_1, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: null, failFilter: null, progressFilter?: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter?: null): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_1, progressFilter?: null): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD_1, failFilter?: null, progressFilter?: null): PromiseBase; } +> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ BRD = never, BJD = never, BND = never, CRD = never, CJD = never, CND = never, @@ -203,8 +203,8 @@ interface PromiseBase; thenthen : { (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_1, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_2, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP_1): PromiseBase; (doneFilter: null, failFilter: null, progressFilter?: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP_2): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD_1, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_3, progressFilter?: null): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter?: null): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD_2, failFilter?: null, progressFilter?: null): PromiseBase; } -> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_1, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_1, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: null, failFilter: null, progressFilter?: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_1, progressFilter?: null): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter?: null): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter?: null, progressFilter?: null): PromiseBase; } +> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ BRF = never, BJF = never, BNF = never, CRF = never, CJF = never, CNF = never, @@ -236,8 +236,8 @@ interface PromiseBase; thenthen : { (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD_1, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_1, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP_1): PromiseBase; (doneFilter: null, failFilter: null, progressFilter?: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP_2): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD_2, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_2, progressFilter?: null): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF_3, progressFilter?: null): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter?: null, progressFilter?: null): PromiseBase; } -> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ +>then : { (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD_1, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: null, failFilter: null, progressFilter?: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD_1, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter?: null): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter?: null): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter?: null, progressFilter?: null): PromiseBase; } +> : ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ BRD = never, BJD = never, BND = never, CRD = never, CJD = never, CND = never, diff --git a/tests/baselines/reference/awaitedTypeNoLib.errors.txt b/tests/baselines/reference/awaitedTypeNoLib.errors.txt new file mode 100644 index 0000000000000..f19971eed35b7 --- /dev/null +++ b/tests/baselines/reference/awaitedTypeNoLib.errors.txt @@ -0,0 +1,63 @@ +error TS2318: Cannot find global type 'Array'. +error TS2318: Cannot find global type 'Awaited'. +error TS2318: Cannot find global type 'Boolean'. +error TS2318: Cannot find global type 'Function'. +error TS2318: Cannot find global type 'IArguments'. +error TS2318: Cannot find global type 'Number'. +error TS2318: Cannot find global type 'Object'. +error TS2318: Cannot find global type 'RegExp'. +error TS2318: Cannot find global type 'String'. +awaitedTypeNoLib.ts(3,15): error TS2304: Cannot find name 'PromiseLike'. +awaitedTypeNoLib.ts(18,27): error TS2345: Argument of type 'NotPromise | Thenable>' is not assignable to parameter of type 'Thenable'. + Type 'NotPromise' is not assignable to type 'Thenable'. + Type 'TResult | (TResult extends PromiseLike ? never : TResult)' is not assignable to type 'Thenable'. + Type 'Thenable & TResult' is not assignable to type 'Thenable'. + Type 'unknown' is not assignable to type 'TResult'. + 'TResult' could be instantiated with an arbitrary type which could be unrelated to 'unknown'. + + +!!! error TS2318: Cannot find global type 'Array'. +!!! error TS2318: Cannot find global type 'Awaited'. +!!! error TS2318: Cannot find global type 'Boolean'. +!!! error TS2318: Cannot find global type 'Function'. +!!! error TS2318: Cannot find global type 'IArguments'. +!!! error TS2318: Cannot find global type 'Number'. +!!! error TS2318: Cannot find global type 'Object'. +!!! error TS2318: Cannot find global type 'RegExp'. +!!! error TS2318: Cannot find global type 'String'. +==== awaitedTypeNoLib.ts (2 errors) ==== + type NotPromise = T extends Thenable + ? T + : T extends PromiseLike + ~~~~~~~~~~~ +!!! error TS2304: Cannot find name 'PromiseLike'. + ? never + : T; + + type Receiver = (value: NotPromise) => void; + + class Thenable { + then(a: Receiver) {} + + private handleResolve( + result: NotPromise | Thenable>, + resolve: Receiver, + ) { + if (result instanceof Thenable) { + // #58547 This previously was a Debug Failure. False expression: type provided should not be a non-generic 'promise'-like. + this.resolvePromise(result, resolve); + ~~~~~~ +!!! error TS2345: Argument of type 'NotPromise | Thenable>' is not assignable to parameter of type 'Thenable'. +!!! error TS2345: Type 'NotPromise' is not assignable to type 'Thenable'. +!!! error TS2345: Type 'TResult | (TResult extends PromiseLike ? never : TResult)' is not assignable to type 'Thenable'. +!!! error TS2345: Type 'Thenable & TResult' is not assignable to type 'Thenable'. +!!! error TS2345: Type 'unknown' is not assignable to type 'TResult'. +!!! error TS2345: 'TResult' could be instantiated with an arbitrary type which could be unrelated to 'unknown'. + } + } + + private resolvePromise( + result: Thenable, + resolve: Receiver, + ) {} + } \ No newline at end of file diff --git a/tests/baselines/reference/awaitedTypeNoLib.js b/tests/baselines/reference/awaitedTypeNoLib.js new file mode 100644 index 0000000000000..6a80032cd56da --- /dev/null +++ b/tests/baselines/reference/awaitedTypeNoLib.js @@ -0,0 +1,44 @@ +//// [tests/cases/compiler/awaitedTypeNoLib.ts] //// + +//// [awaitedTypeNoLib.ts] +type NotPromise = T extends Thenable + ? T + : T extends PromiseLike + ? never + : T; + +type Receiver = (value: NotPromise) => void; + +class Thenable { + then(a: Receiver) {} + + private handleResolve( + result: NotPromise | Thenable>, + resolve: Receiver, + ) { + if (result instanceof Thenable) { + // #58547 This previously was a Debug Failure. False expression: type provided should not be a non-generic 'promise'-like. + this.resolvePromise(result, resolve); + } + } + + private resolvePromise( + result: Thenable, + resolve: Receiver, + ) {} +} + +//// [awaitedTypeNoLib.js] +var Thenable = /** @class */ (function () { + function Thenable() { + } + Thenable.prototype.then = function (a) { }; + Thenable.prototype.handleResolve = function (result, resolve) { + if (result instanceof Thenable) { + // #58547 This previously was a Debug Failure. False expression: type provided should not be a non-generic 'promise'-like. + this.resolvePromise(result, resolve); + } + }; + Thenable.prototype.resolvePromise = function (result, resolve) { }; + return Thenable; +}()); diff --git a/tests/baselines/reference/awaitedTypeNoLib.symbols b/tests/baselines/reference/awaitedTypeNoLib.symbols new file mode 100644 index 0000000000000..04f7f9d70a277 --- /dev/null +++ b/tests/baselines/reference/awaitedTypeNoLib.symbols @@ -0,0 +1,85 @@ +//// [tests/cases/compiler/awaitedTypeNoLib.ts] //// + +=== awaitedTypeNoLib.ts === +type NotPromise = T extends Thenable +>NotPromise : Symbol(NotPromise, Decl(awaitedTypeNoLib.ts, 0, 0)) +>T : Symbol(T, Decl(awaitedTypeNoLib.ts, 0, 16)) +>T : Symbol(T, Decl(awaitedTypeNoLib.ts, 0, 16)) +>Thenable : Symbol(Thenable, Decl(awaitedTypeNoLib.ts, 6, 50)) + + ? T +>T : Symbol(T, Decl(awaitedTypeNoLib.ts, 0, 16)) + + : T extends PromiseLike +>T : Symbol(T, Decl(awaitedTypeNoLib.ts, 0, 16)) +>PromiseLike : Symbol(PromiseLike) + + ? never + : T; +>T : Symbol(T, Decl(awaitedTypeNoLib.ts, 0, 16)) + +type Receiver = (value: NotPromise) => void; +>Receiver : Symbol(Receiver, Decl(awaitedTypeNoLib.ts, 4, 6)) +>T : Symbol(T, Decl(awaitedTypeNoLib.ts, 6, 14)) +>value : Symbol(value, Decl(awaitedTypeNoLib.ts, 6, 20)) +>NotPromise : Symbol(NotPromise, Decl(awaitedTypeNoLib.ts, 0, 0)) +>T : Symbol(T, Decl(awaitedTypeNoLib.ts, 6, 14)) + +class Thenable { +>Thenable : Symbol(Thenable, Decl(awaitedTypeNoLib.ts, 6, 50)) +>T : Symbol(T, Decl(awaitedTypeNoLib.ts, 8, 15)) + + then(a: Receiver) {} +>then : Symbol(Thenable.then, Decl(awaitedTypeNoLib.ts, 8, 19)) +>a : Symbol(a, Decl(awaitedTypeNoLib.ts, 9, 7)) +>Receiver : Symbol(Receiver, Decl(awaitedTypeNoLib.ts, 4, 6)) +>T : Symbol(T, Decl(awaitedTypeNoLib.ts, 8, 15)) + + private handleResolve( +>handleResolve : Symbol(Thenable.handleResolve, Decl(awaitedTypeNoLib.ts, 9, 25)) +>TResult : Symbol(TResult, Decl(awaitedTypeNoLib.ts, 11, 24)) + + result: NotPromise | Thenable>, +>result : Symbol(result, Decl(awaitedTypeNoLib.ts, 11, 33)) +>NotPromise : Symbol(NotPromise, Decl(awaitedTypeNoLib.ts, 0, 0)) +>TResult : Symbol(TResult, Decl(awaitedTypeNoLib.ts, 11, 24)) +>Thenable : Symbol(Thenable, Decl(awaitedTypeNoLib.ts, 6, 50)) +>NotPromise : Symbol(NotPromise, Decl(awaitedTypeNoLib.ts, 0, 0)) +>TResult : Symbol(TResult, Decl(awaitedTypeNoLib.ts, 11, 24)) + + resolve: Receiver, +>resolve : Symbol(resolve, Decl(awaitedTypeNoLib.ts, 12, 64)) +>Receiver : Symbol(Receiver, Decl(awaitedTypeNoLib.ts, 4, 6)) +>TResult : Symbol(TResult, Decl(awaitedTypeNoLib.ts, 11, 24)) + + ) { + if (result instanceof Thenable) { +>result : Symbol(result, Decl(awaitedTypeNoLib.ts, 11, 33)) +>Thenable : Symbol(Thenable, Decl(awaitedTypeNoLib.ts, 6, 50)) + + // #58547 This previously was a Debug Failure. False expression: type provided should not be a non-generic 'promise'-like. + this.resolvePromise(result, resolve); +>this.resolvePromise : Symbol(Thenable.resolvePromise, Decl(awaitedTypeNoLib.ts, 19, 3)) +>this : Symbol(Thenable, Decl(awaitedTypeNoLib.ts, 6, 50)) +>resolvePromise : Symbol(Thenable.resolvePromise, Decl(awaitedTypeNoLib.ts, 19, 3)) +>result : Symbol(result, Decl(awaitedTypeNoLib.ts, 11, 33)) +>resolve : Symbol(resolve, Decl(awaitedTypeNoLib.ts, 12, 64)) + } + } + + private resolvePromise( +>resolvePromise : Symbol(Thenable.resolvePromise, Decl(awaitedTypeNoLib.ts, 19, 3)) +>TResult : Symbol(TResult, Decl(awaitedTypeNoLib.ts, 21, 25)) + + result: Thenable, +>result : Symbol(result, Decl(awaitedTypeNoLib.ts, 21, 34)) +>Thenable : Symbol(Thenable, Decl(awaitedTypeNoLib.ts, 6, 50)) +>TResult : Symbol(TResult, Decl(awaitedTypeNoLib.ts, 21, 25)) + + resolve: Receiver, +>resolve : Symbol(resolve, Decl(awaitedTypeNoLib.ts, 22, 30)) +>Receiver : Symbol(Receiver, Decl(awaitedTypeNoLib.ts, 4, 6)) +>TResult : Symbol(TResult, Decl(awaitedTypeNoLib.ts, 21, 25)) + + ) {} +} diff --git a/tests/baselines/reference/awaitedTypeNoLib.types b/tests/baselines/reference/awaitedTypeNoLib.types new file mode 100644 index 0000000000000..f9fd4ea0a4f0a --- /dev/null +++ b/tests/baselines/reference/awaitedTypeNoLib.types @@ -0,0 +1,80 @@ +//// [tests/cases/compiler/awaitedTypeNoLib.ts] //// + +=== awaitedTypeNoLib.ts === +type NotPromise = T extends Thenable +>NotPromise : NotPromise +> : ^^^^^^^^^^^^^ + + ? T + : T extends PromiseLike + ? never + : T; + +type Receiver = (value: NotPromise) => void; +>Receiver : Receiver +> : ^^^^^^^^^^^ +>value : NotPromise +> : ^^^^^^^^^^^^^ + +class Thenable { +>Thenable : Thenable +> : ^^^^^^^^^^^ + + then(a: Receiver) {} +>then : (a: Receiver) => void +> : ^ ^^ ^^^^^^^^^ +>a : Receiver +> : ^^^^^^^^^^^ + + private handleResolve( +>handleResolve : (result: NotPromise | Thenable>, resolve: Receiver) => void +> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ + + result: NotPromise | Thenable>, +>result : NotPromise | Thenable> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + resolve: Receiver, +>resolve : Receiver +> : ^^^^^^^^^^^^^^^^^ + + ) { + if (result instanceof Thenable) { +>result instanceof Thenable : boolean +> : ^^^^^^^ +>result : NotPromise | Thenable> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Thenable : typeof Thenable +> : ^^^^^^^^^^^^^^^ + + // #58547 This previously was a Debug Failure. False expression: type provided should not be a non-generic 'promise'-like. + this.resolvePromise(result, resolve); +>this.resolvePromise(result, resolve) : void +> : ^^^^ +>this.resolvePromise : (result: Thenable, resolve: Receiver) => void +> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>this : this +> : ^^^^ +>resolvePromise : (result: Thenable, resolve: Receiver) => void +> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>result : NotPromise | Thenable> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : Receiver +> : ^^^^^^^^^^^^^^^^^ + } + } + + private resolvePromise( +>resolvePromise : (result: Thenable, resolve: Receiver) => void +> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ + + result: Thenable, +>result : Thenable +> : ^^^^^^^^^^^^^^^^^ + + resolve: Receiver, +>resolve : Receiver +> : ^^^^^^^^^^^^^^^^^ + + ) {} +} diff --git a/tests/baselines/reference/awaitedTypeStrictNull.types b/tests/baselines/reference/awaitedTypeStrictNull.types index b2e5b78a6d33a..3a162c90d53b2 100644 --- a/tests/baselines/reference/awaitedTypeStrictNull.types +++ b/tests/baselines/reference/awaitedTypeStrictNull.types @@ -175,12 +175,12 @@ async function main() { > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise.all([ MaybePromise(1), MaybePromise('2'), MaybePromise(true), ]) : Promise<[number, string, boolean]> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->Promise.all : { (values: Iterable>): Promise[]>; (values: T_1): Promise<{ -readonly [P in keyof T_1]: Awaited; }>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->all : { (values: Iterable>): Promise[]>; (values: T_1): Promise<{ -readonly [P in keyof T_1]: Awaited; }>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >[ MaybePromise(1), MaybePromise('2'), MaybePromise(true), ] : [number | Promise<1> | PromiseLike<1>, string | Promise<"2"> | PromiseLike<"2">, true | Promise | PromiseLike] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -188,7 +188,7 @@ async function main() { >MaybePromise(1) : 1 | Promise<1> | PromiseLike<1> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >MaybePromise : (value: T) => MaybePromise -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >1 : 1 > : ^ @@ -196,7 +196,7 @@ async function main() { >MaybePromise('2') : "2" | Promise<"2"> | PromiseLike<"2"> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >MaybePromise : (value: T) => MaybePromise -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >'2' : "2" > : ^^^ @@ -204,7 +204,7 @@ async function main() { >MaybePromise(true) : true | Promise | PromiseLike > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >MaybePromise : (value: T) => MaybePromise -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >true : true > : ^^^^ @@ -223,11 +223,11 @@ class Api { >this.request() : Promise > : ^^^^^^^^^^ >this.request : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >this : this > : ^^^^ >request : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ async request(): Promise { throw new Error(); } >request : () => Promise diff --git a/tests/baselines/reference/badExternalModuleReference.types b/tests/baselines/reference/badExternalModuleReference.types index e2161d64ff872..755cfd5afa70b 100644 --- a/tests/baselines/reference/badExternalModuleReference.types +++ b/tests/baselines/reference/badExternalModuleReference.types @@ -7,7 +7,7 @@ import a1 = require("garbage"); export declare var a: { >a : { (): a1.connectExport; test1: a1.connectModule; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^^ test1: a1.connectModule; >test1 : a1.connectModule diff --git a/tests/baselines/reference/badInferenceLowerPriorityThanGoodInference.types b/tests/baselines/reference/badInferenceLowerPriorityThanGoodInference.types index e545bbaaa0b39..e7024a67541b4 100644 --- a/tests/baselines/reference/badInferenceLowerPriorityThanGoodInference.types +++ b/tests/baselines/reference/badInferenceLowerPriorityThanGoodInference.types @@ -27,7 +27,7 @@ const result = canYouInferThis(() => ({ >canYouInferThis(() => ({ a: { BLAH: 33 }, b: x => { }})) : { BLAH: number; } > : ^^^^^^^^^^^^^^^^^ >canYouInferThis : (fn: () => Foo) => A -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >() => ({ a: { BLAH: 33 }, b: x => { }}) : () => { a: { BLAH: number; }; b: (x: { BLAH: number; }) => void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >({ a: { BLAH: 33 }, b: x => { }}) : { a: { BLAH: number; }; b: (x: { BLAH: number; }) => void; } @@ -67,7 +67,7 @@ result.BLAH; function goofus (f: (...args: ARGS) => any ) {} >goofus : (f: (...args: ARGS) => any) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >f : (...args: ARGS) => any > : ^^^^ ^^ ^^^^^ >args : ARGS @@ -77,7 +77,7 @@ goofus((a: string) => ({ dog() { return a; } })); >goofus((a: string) => ({ dog() { return a; } })) : void > : ^^^^ >goofus : (f: (...args: ARGS) => any) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >(a: string) => ({ dog() { return a; } }) : (a: string) => { dog(): string; } > : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ >a : string @@ -95,7 +95,7 @@ goofus((a: string) => ({ dog: function() { return a; } })); >goofus((a: string) => ({ dog: function() { return a; } })) : void > : ^^^^ >goofus : (f: (...args: ARGS) => any) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >(a: string) => ({ dog: function() { return a; } }) : (a: string) => { dog: () => string; } > : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : string diff --git a/tests/baselines/reference/badThisBinding.types b/tests/baselines/reference/badThisBinding.types index 9759d94996110..f2cc0866117fd 100644 --- a/tests/baselines/reference/badThisBinding.types +++ b/tests/baselines/reference/badThisBinding.types @@ -19,14 +19,14 @@ class Greeter { foo(() => { >foo(() => { bar(() => { var x = this; }); }) : any >foo : (a: any) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >() => { bar(() => { var x = this; }); } : () => void > : ^^^^^^^^^^ bar(() => { >bar(() => { var x = this; }) : any >bar : (a: any) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >() => { var x = this; } : () => void > : ^^^^^^^^^^ diff --git a/tests/baselines/reference/baseConstraintOfDecorator.types b/tests/baselines/reference/baseConstraintOfDecorator.types index 8988c1951436a..38642810a20b6 100644 --- a/tests/baselines/reference/baseConstraintOfDecorator.types +++ b/tests/baselines/reference/baseConstraintOfDecorator.types @@ -39,7 +39,7 @@ export function classExtender(superClass: TFunction, _instanceModifie >_instanceModifier(this, args) : void > : ^^^^ >_instanceModifier : (instance: any, args: any[]) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >args : any[] @@ -56,7 +56,7 @@ class MyClass { private x; } export function classExtender2 MyClass>(superClass: TFunction, _instanceModifier: (instance: any, args: any[]) => void): TFunction { >classExtender2 : MyClass>(superClass: TFunction, _instanceModifier: (instance: any, args: any[]) => void) => TFunction -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >args : string[] > : ^^^^^^^^ >superClass : TFunction @@ -94,7 +94,7 @@ export function classExtender2 MyCl >_instanceModifier(this, args) : void > : ^^^^ >_instanceModifier : (instance: any, args: any[]) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >args : any[] diff --git a/tests/baselines/reference/bestChoiceType.types b/tests/baselines/reference/bestChoiceType.types index 1a589d635fe28..593ce20a4dd7d 100644 --- a/tests/baselines/reference/bestChoiceType.types +++ b/tests/baselines/reference/bestChoiceType.types @@ -6,8 +6,8 @@ (''.match(/ /) || []).map(s => s.toLowerCase()); >(''.match(/ /) || []).map(s => s.toLowerCase()) : any[] > : ^^^^^ ->(''.match(/ /) || []).map : ((callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: never, index: number, array: never[]) => U_1, thisArg?: any) => U_1[]) -> : ^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +>(''.match(/ /) || []).map : ((callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: never, index: number, array: never[]) => U, thisArg?: any) => U[]) +> : ^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^ >(''.match(/ /) || []) : RegExpMatchArray | [] > : ^^^^^^^^^^^^^^^^^^^^^ >''.match(/ /) || [] : RegExpMatchArray | [] @@ -15,17 +15,17 @@ >''.match(/ /) : RegExpMatchArray | null > : ^^^^^^^^^^^^^^^^^^^^^^^ >''.match : (regexp: string | RegExp) => RegExpMatchArray | null -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'' : "" > : ^^ >match : (regexp: string | RegExp) => RegExpMatchArray | null -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >/ / : RegExp > : ^^^^^^ >[] : [] > : ^^ ->map : ((callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: never, index: number, array: never[]) => U_1, thisArg?: any) => U_1[]) -> : ^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +>map : ((callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: never, index: number, array: never[]) => U, thisArg?: any) => U[]) +> : ^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^ >s => s.toLowerCase() : (s: any) => any > : ^ ^^^^^^^^^^^^^ >s : any @@ -48,11 +48,11 @@ function f1() { >''.match(/ /) : RegExpMatchArray | null > : ^^^^^^^^^^^^^^^^^^^^^^^ >''.match : (regexp: string | RegExp) => RegExpMatchArray | null -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'' : "" > : ^^ >match : (regexp: string | RegExp) => RegExpMatchArray | null -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >/ / : RegExp > : ^^^^^^ @@ -71,12 +71,12 @@ function f1() { > : ^^^^^ >y.map(s => s.toLowerCase()) : any[] > : ^^^^^ ->y.map : ((callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: never, index: number, array: never[]) => U_1, thisArg?: any) => U_1[]) -> : ^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +>y.map : ((callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: never, index: number, array: never[]) => U, thisArg?: any) => U[]) +> : ^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^ >y : RegExpMatchArray | [] > : ^^^^^^^^^^^^^^^^^^^^^ ->map : ((callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: never, index: number, array: never[]) => U_1, thisArg?: any) => U_1[]) -> : ^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +>map : ((callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: never, index: number, array: never[]) => U, thisArg?: any) => U[]) +> : ^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^ >s => s.toLowerCase() : (s: any) => any > : ^ ^^^^^^^^^^^^^ >s : any @@ -98,11 +98,11 @@ function f2() { >''.match(/ /) : RegExpMatchArray | null > : ^^^^^^^^^^^^^^^^^^^^^^^ >''.match : (regexp: string | RegExp) => RegExpMatchArray | null -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'' : "" > : ^^ >match : (regexp: string | RegExp) => RegExpMatchArray | null -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >/ / : RegExp > : ^^^^^^ @@ -123,12 +123,12 @@ function f2() { > : ^^^^^ >y.map(s => s.toLowerCase()) : any[] > : ^^^^^ ->y.map : ((callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: never, index: number, array: never[]) => U_1, thisArg?: any) => U_1[]) -> : ^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +>y.map : ((callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: never, index: number, array: never[]) => U, thisArg?: any) => U[]) +> : ^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^ >y : RegExpMatchArray | never[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->map : ((callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: never, index: number, array: never[]) => U_1, thisArg?: any) => U_1[]) -> : ^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +>map : ((callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: never, index: number, array: never[]) => U, thisArg?: any) => U[]) +> : ^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^ >s => s.toLowerCase() : (s: any) => any > : ^ ^^^^^^^^^^^^^ >s : any diff --git a/tests/baselines/reference/bestCommonTypeOfConditionalExpressions.types b/tests/baselines/reference/bestCommonTypeOfConditionalExpressions.types index 3b6c2068b2985..5ad7b098ee2ea 100644 --- a/tests/baselines/reference/bestCommonTypeOfConditionalExpressions.types +++ b/tests/baselines/reference/bestCommonTypeOfConditionalExpressions.types @@ -80,27 +80,27 @@ var r3 = true ? 1 : {}; var r4 = true ? a : b; // typeof a >r4 : { x: number; y?: number; } | { x: number; z?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^^^^^^^^^ ^^^^^^ ^^^ >true ? a : b : { x: number; y?: number; } | { x: number; z?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^^^^^^^^^ ^^^^^^ ^^^ >true : true > : ^^^^ >a : { x: number; y?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >b : { x: number; z?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ var r5 = true ? b : a; // typeof b >r5 : { x: number; y?: number; } | { x: number; z?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^^^^^^^^^ ^^^^^^ ^^^ >true ? b : a : { x: number; y?: number; } | { x: number; z?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^^^^^^^^^ ^^^^^^ ^^^ >true : true > : ^^^^ >b : { x: number; z?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >a : { x: number; y?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ var r6 = true ? (x: number) => { } : (x: Object) => { }; // returns number => void >r6 : ((x: number) => void) | ((x: Object) => void) diff --git a/tests/baselines/reference/bestCommonTypeOfConditionalExpressions2.types b/tests/baselines/reference/bestCommonTypeOfConditionalExpressions2.types index d27659f01239d..2f4354517301e 100644 --- a/tests/baselines/reference/bestCommonTypeOfConditionalExpressions2.types +++ b/tests/baselines/reference/bestCommonTypeOfConditionalExpressions2.types @@ -83,7 +83,7 @@ function foo(t: T, u: U) { function foo2(t: T, u: U) { // Error for referencing own type parameter >foo2 : (t: T, u: U) => U -> : ^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >t : T > : ^ >u : U @@ -102,7 +102,7 @@ function foo2(t: T, u: U) { // Error for referencing own type pa function foo3(t: T, u: U) { >foo3 : (t: T, u: U) => U -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >t : T > : ^ >u : U diff --git a/tests/baselines/reference/bestCommonTypeOfTuple.types b/tests/baselines/reference/bestCommonTypeOfTuple.types index e7f4b4a967dc8..03f342439fedc 100644 --- a/tests/baselines/reference/bestCommonTypeOfTuple.types +++ b/tests/baselines/reference/bestCommonTypeOfTuple.types @@ -61,15 +61,15 @@ var t4: [E1, E2, number]; // no error t1 = [f1, f2]; >t1 = [f1, f2] : [(x: number) => string, (x: number) => number] -> : ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^ ^^ ^^^^^ ^ >t1 : [(x: number) => string, (x: number) => number] -> : ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^ ^^ ^^^^^ ^ >[f1, f2] : [(x: number) => string, (x: number) => number] -> : ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^ ^^ ^^^^^ ^ >f1 : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f2 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ t2 = [E1.one, E2.two]; >t2 = [E1.one, E2.two] : [E1, E2] @@ -131,7 +131,7 @@ var e1 = t1[2]; // {} >t1[2] : undefined > : ^^^^^^^^^ >t1 : [(x: number) => string, (x: number) => number] -> : ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^ ^^ ^^^^^ ^ >2 : 2 > : ^ diff --git a/tests/baselines/reference/bestCommonTypeReturnStatement.types b/tests/baselines/reference/bestCommonTypeReturnStatement.types index 8d7879fef7c10..38afacec4b0a8 100644 --- a/tests/baselines/reference/bestCommonTypeReturnStatement.types +++ b/tests/baselines/reference/bestCommonTypeReturnStatement.types @@ -24,13 +24,13 @@ function f() { >b() : IPromise > : ^^^^^^^^^^^^^^ >b : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ return d(); >d() : IPromise > : ^^^^^^^^^^^^^ >d : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/betterErrorForAccidentalCall.types b/tests/baselines/reference/betterErrorForAccidentalCall.types index fdf8e6a9a872e..5b0bdbb084744 100644 --- a/tests/baselines/reference/betterErrorForAccidentalCall.types +++ b/tests/baselines/reference/betterErrorForAccidentalCall.types @@ -15,7 +15,7 @@ foo()(1 as number).toString(); >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >1 as number : number > : ^^^^^^ >1 : 1 @@ -33,7 +33,7 @@ foo() (1 as number).toString(); >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >1 as number : number > : ^^^^^^ >1 : 1 @@ -51,7 +51,7 @@ foo() >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ (1 as number).toString(); >1 as number : number @@ -71,7 +71,7 @@ foo() >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ (1 + 2).toString(); >1 + 2 : number @@ -93,7 +93,7 @@ foo() >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ (1).toString(); >1 : number diff --git a/tests/baselines/reference/betterErrorForUnionCall.types b/tests/baselines/reference/betterErrorForUnionCall.types index 88b908ee6c949..5c06f2b2a2cb1 100644 --- a/tests/baselines/reference/betterErrorForUnionCall.types +++ b/tests/baselines/reference/betterErrorForUnionCall.types @@ -13,7 +13,7 @@ union(""); >union("") : any > : ^^^ >union : { a: string; } | { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >"" : "" > : ^^ @@ -29,13 +29,13 @@ fnUnion(""); >fnUnion("") : any > : ^^^ >fnUnion : { a: string; } | ((a: string) => void) -> : ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ ^^ ^^^^^ ^ >"" : "" > : ^^ declare const fnUnion2: ((a: T) => void) | ((a: string) => void) ->fnUnion2 : ((a: T) => void) | ((a: string) => void) -> : ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^ ^^ ^^^^^ ^ +>fnUnion2 : ((a: T) => void) | ((a: string) => void) +> : ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^ ^^ ^^^^^ ^ >a : T > : ^ >a : string @@ -44,8 +44,8 @@ declare const fnUnion2: ((a: T) => void) | ((a: string) => fnUnion2(""); >fnUnion2("") : any > : ^^^ ->fnUnion2 : ((a: T) => void) | ((a: string) => void) -> : ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +>fnUnion2 : ((a: T) => void) | ((a: string) => void) +> : ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^ ^^ ^^^^^ ^ >"" : "" > : ^^ diff --git a/tests/baselines/reference/bigint64ArraySubarray.types b/tests/baselines/reference/bigint64ArraySubarray.types index f59e9e7e31fd1..ab64c3d7efa60 100644 --- a/tests/baselines/reference/bigint64ArraySubarray.types +++ b/tests/baselines/reference/bigint64ArraySubarray.types @@ -19,21 +19,21 @@ function bigInt64ArraySubarray() { >arr.subarray() : BigInt64Array > : ^^^^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => BigInt64Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : BigInt64Array > : ^^^^^^^^^^^^^ >subarray : (begin?: number, end?: number) => BigInt64Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ arr.subarray(0); >arr.subarray(0) : BigInt64Array > : ^^^^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => BigInt64Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : BigInt64Array > : ^^^^^^^^^^^^^ >subarray : (begin?: number, end?: number) => BigInt64Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -41,11 +41,11 @@ function bigInt64ArraySubarray() { >arr.subarray(0, 10) : BigInt64Array > : ^^^^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => BigInt64Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : BigInt64Array > : ^^^^^^^^^^^^^ >subarray : (begin?: number, end?: number) => BigInt64Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ >10 : 10 diff --git a/tests/baselines/reference/bigintMissingES2019.types b/tests/baselines/reference/bigintMissingES2019.types index f3b1a54c92b41..6aa6626ff8dbb 100644 --- a/tests/baselines/reference/bigintMissingES2019.types +++ b/tests/baselines/reference/bigintMissingES2019.types @@ -3,13 +3,13 @@ === bigintMissingES2019.ts === declare function test(): void; >test : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^ test<{t?: string}, object>(); >test<{t?: string}, object>() : void > : ^^^^ >test : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^ >t : string > : ^^^^^^ @@ -17,7 +17,7 @@ test<{t?: string}, bigint>(); >test<{t?: string}, bigint>() : void > : ^^^^ >test : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^ >t : string > : ^^^^^^ diff --git a/tests/baselines/reference/bigintMissingES2020.types b/tests/baselines/reference/bigintMissingES2020.types index 2f018d02ed026..19e9913c5b15a 100644 --- a/tests/baselines/reference/bigintMissingES2020.types +++ b/tests/baselines/reference/bigintMissingES2020.types @@ -3,13 +3,13 @@ === bigintMissingES2020.ts === declare function test(): void; >test : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^ test<{t?: string}, object>(); >test<{t?: string}, object>() : void > : ^^^^ >test : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^ >t : string > : ^^^^^^ @@ -17,7 +17,7 @@ test<{t?: string}, bigint>(); >test<{t?: string}, bigint>() : void > : ^^^^ >test : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^ >t : string > : ^^^^^^ diff --git a/tests/baselines/reference/bigintMissingESNext.types b/tests/baselines/reference/bigintMissingESNext.types index 1273af0728a3e..18dc7e73f5170 100644 --- a/tests/baselines/reference/bigintMissingESNext.types +++ b/tests/baselines/reference/bigintMissingESNext.types @@ -3,13 +3,13 @@ === bigintMissingESNext.ts === declare function test(): void; >test : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^ test<{t?: string}, object>(); >test<{t?: string}, object>() : void > : ^^^^ >test : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^ >t : string > : ^^^^^^ @@ -17,7 +17,7 @@ test<{t?: string}, bigint>(); >test<{t?: string}, bigint>() : void > : ^^^^ >test : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^ >t : string > : ^^^^^^ diff --git a/tests/baselines/reference/bigintWithLib.types b/tests/baselines/reference/bigintWithLib.types index 71d7e3ffc7f34..96569a8ac95e1 100644 --- a/tests/baselines/reference/bigintWithLib.types +++ b/tests/baselines/reference/bigintWithLib.types @@ -40,11 +40,11 @@ bigintVal = BigInt.asIntN(8, 0xFFFFn); >BigInt.asIntN(8, 0xFFFFn) : bigint > : ^^^^^^ >BigInt.asIntN : (bits: number, int: bigint) => bigint -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >BigInt : BigIntConstructor > : ^^^^^^^^^^^^^^^^^ >asIntN : (bits: number, int: bigint) => bigint -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >8 : 8 > : ^ >0xFFFFn : 65535n @@ -58,11 +58,11 @@ bigintVal = BigInt.asUintN(8, 0xFFFFn); >BigInt.asUintN(8, 0xFFFFn) : bigint > : ^^^^^^ >BigInt.asUintN : (bits: number, int: bigint) => bigint -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >BigInt : BigIntConstructor > : ^^^^^^^^^^^^^^^^^ >asUintN : (bits: number, int: bigint) => bigint -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >8 : 8 > : ^ >0xFFFFn : 65535n @@ -76,11 +76,11 @@ bigintVal = bigintVal.valueOf(); >bigintVal.valueOf() : bigint > : ^^^^^^ >bigintVal.valueOf : () => bigint -> : ^^^^^^^^^^^^ +> : ^^^^^^ >bigintVal : bigint > : ^^^^^^ >valueOf : () => bigint -> : ^^^^^^^^^^^^ +> : ^^^^^^ let stringVal: string = bigintVal.toString(); >stringVal : string @@ -88,11 +88,11 @@ let stringVal: string = bigintVal.toString(); >bigintVal.toString() : string > : ^^^^^^ >bigintVal.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >bigintVal : bigint > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ stringVal = bigintVal.toString(2); >stringVal = bigintVal.toString(2) : string @@ -102,11 +102,11 @@ stringVal = bigintVal.toString(2); >bigintVal.toString(2) : string > : ^^^^^^ >bigintVal.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >bigintVal : bigint > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >2 : 2 > : ^ @@ -118,11 +118,11 @@ stringVal = bigintVal.toLocaleString(); >bigintVal.toLocaleString() : string > : ^^^^^^ >bigintVal.toLocaleString : (locales?: Intl.LocalesArgument, options?: BigIntToLocaleStringOptions) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >bigintVal : bigint > : ^^^^^^ >toLocaleString : (locales?: Intl.LocalesArgument, options?: BigIntToLocaleStringOptions) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ stringVal = bigintVal.toLocaleString('de-DE'); >stringVal = bigintVal.toLocaleString('de-DE') : string @@ -132,11 +132,11 @@ stringVal = bigintVal.toLocaleString('de-DE'); >bigintVal.toLocaleString('de-DE') : string > : ^^^^^^ >bigintVal.toLocaleString : (locales?: Intl.LocalesArgument, options?: BigIntToLocaleStringOptions) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >bigintVal : bigint > : ^^^^^^ >toLocaleString : (locales?: Intl.LocalesArgument, options?: BigIntToLocaleStringOptions) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >'de-DE' : "de-DE" > : ^^^^^^^ @@ -148,11 +148,11 @@ stringVal = bigintVal.toLocaleString('de-DE', { style: 'currency' }); >bigintVal.toLocaleString('de-DE', { style: 'currency' }) : string > : ^^^^^^ >bigintVal.toLocaleString : (locales?: Intl.LocalesArgument, options?: BigIntToLocaleStringOptions) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >bigintVal : bigint > : ^^^^^^ >toLocaleString : (locales?: Intl.LocalesArgument, options?: BigIntToLocaleStringOptions) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >'de-DE' : "de-DE" > : ^^^^^^^ >{ style: 'currency' } : { style: string; } @@ -170,11 +170,11 @@ stringVal = bigintVal.toLocaleString('de-DE', { style: 'currency', currency: 'EU >bigintVal.toLocaleString('de-DE', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >bigintVal.toLocaleString : (locales?: Intl.LocalesArgument, options?: BigIntToLocaleStringOptions) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >bigintVal : bigint > : ^^^^^^ >toLocaleString : (locales?: Intl.LocalesArgument, options?: BigIntToLocaleStringOptions) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >'de-DE' : "de-DE" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: string; currency: string; } @@ -489,11 +489,11 @@ dataView.setBigInt64(1, -1n); >dataView.setBigInt64(1, -1n) : void > : ^^^^ >dataView.setBigInt64 : (byteOffset: number, value: bigint, littleEndian?: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >dataView : DataView > : ^^^^^^^^ >setBigInt64 : (byteOffset: number, value: bigint, littleEndian?: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >1 : 1 > : ^ >-1n : -1n @@ -505,11 +505,11 @@ dataView.setBigInt64(1, -1n, true); >dataView.setBigInt64(1, -1n, true) : void > : ^^^^ >dataView.setBigInt64 : (byteOffset: number, value: bigint, littleEndian?: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >dataView : DataView > : ^^^^^^^^ >setBigInt64 : (byteOffset: number, value: bigint, littleEndian?: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >1 : 1 > : ^ >-1n : -1n @@ -523,11 +523,11 @@ dataView.setBigInt64(1, -1); // should error >dataView.setBigInt64(1, -1) : void > : ^^^^ >dataView.setBigInt64 : (byteOffset: number, value: bigint, littleEndian?: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >dataView : DataView > : ^^^^^^^^ >setBigInt64 : (byteOffset: number, value: bigint, littleEndian?: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >1 : 1 > : ^ >-1 : -1 @@ -539,11 +539,11 @@ dataView.setBigUint64(2, 123n); >dataView.setBigUint64(2, 123n) : void > : ^^^^ >dataView.setBigUint64 : (byteOffset: number, value: bigint, littleEndian?: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >dataView : DataView > : ^^^^^^^^ >setBigUint64 : (byteOffset: number, value: bigint, littleEndian?: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >2 : 2 > : ^ >123n : 123n @@ -553,11 +553,11 @@ dataView.setBigUint64(2, 123n, true); >dataView.setBigUint64(2, 123n, true) : void > : ^^^^ >dataView.setBigUint64 : (byteOffset: number, value: bigint, littleEndian?: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >dataView : DataView > : ^^^^^^^^ >setBigUint64 : (byteOffset: number, value: bigint, littleEndian?: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >2 : 2 > : ^ >123n : 123n @@ -569,11 +569,11 @@ dataView.setBigUint64(2, 123); // should error >dataView.setBigUint64(2, 123) : void > : ^^^^ >dataView.setBigUint64 : (byteOffset: number, value: bigint, littleEndian?: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >dataView : DataView > : ^^^^^^^^ >setBigUint64 : (byteOffset: number, value: bigint, littleEndian?: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >2 : 2 > : ^ >123 : 123 @@ -587,11 +587,11 @@ bigintVal = dataView.getBigInt64(1); >dataView.getBigInt64(1) : bigint > : ^^^^^^ >dataView.getBigInt64 : (byteOffset: number, littleEndian?: boolean) => bigint -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >dataView : DataView > : ^^^^^^^^ >getBigInt64 : (byteOffset: number, littleEndian?: boolean) => bigint -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -603,11 +603,11 @@ bigintVal = dataView.getBigInt64(1, true); >dataView.getBigInt64(1, true) : bigint > : ^^^^^^ >dataView.getBigInt64 : (byteOffset: number, littleEndian?: boolean) => bigint -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >dataView : DataView > : ^^^^^^^^ >getBigInt64 : (byteOffset: number, littleEndian?: boolean) => bigint -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >1 : 1 > : ^ >true : true @@ -621,11 +621,11 @@ bigintVal = dataView.getBigUint64(2); >dataView.getBigUint64(2) : bigint > : ^^^^^^ >dataView.getBigUint64 : (byteOffset: number, littleEndian?: boolean) => bigint -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >dataView : DataView > : ^^^^^^^^ >getBigUint64 : (byteOffset: number, littleEndian?: boolean) => bigint -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >2 : 2 > : ^ @@ -637,11 +637,11 @@ bigintVal = dataView.getBigUint64(2, true); >dataView.getBigUint64(2, true) : bigint > : ^^^^^^ >dataView.getBigUint64 : (byteOffset: number, littleEndian?: boolean) => bigint -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >dataView : DataView > : ^^^^^^^^ >getBigUint64 : (byteOffset: number, littleEndian?: boolean) => bigint -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >2 : 2 > : ^ >true : true @@ -679,7 +679,7 @@ new Intl.NumberFormat("fr").format(3000n); >new Intl.NumberFormat("fr").format(3000n) : string > : ^^^^^^ >new Intl.NumberFormat("fr").format : { (value: number): string; (value: number | bigint): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >new Intl.NumberFormat("fr") : Intl.NumberFormat > : ^^^^^^^^^^^^^^^^^ >Intl.NumberFormat : Intl.NumberFormatConstructor @@ -691,7 +691,7 @@ new Intl.NumberFormat("fr").format(3000n); >"fr" : "fr" > : ^^^^ >format : { (value: number): string; (value: number | bigint): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >3000n : 3000n > : ^^^^^ @@ -699,7 +699,7 @@ new Intl.NumberFormat("fr").format(bigintVal); >new Intl.NumberFormat("fr").format(bigintVal) : string > : ^^^^^^ >new Intl.NumberFormat("fr").format : { (value: number): string; (value: number | bigint): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >new Intl.NumberFormat("fr") : Intl.NumberFormat > : ^^^^^^^^^^^^^^^^^ >Intl.NumberFormat : Intl.NumberFormatConstructor @@ -711,7 +711,7 @@ new Intl.NumberFormat("fr").format(bigintVal); >"fr" : "fr" > : ^^^^ >format : { (value: number): string; (value: number | bigint): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bigintVal : bigint > : ^^^^^^ diff --git a/tests/baselines/reference/bigintWithoutLib.types b/tests/baselines/reference/bigintWithoutLib.types index bd6505f206f78..c1ae99c1fe3a5 100644 --- a/tests/baselines/reference/bigintWithoutLib.types +++ b/tests/baselines/reference/bigintWithoutLib.types @@ -78,11 +78,11 @@ bigintVal = bigintVal.valueOf(); // should error - bigintVal inferred as {} >bigintVal.valueOf() : Object > : ^^^^^^ >bigintVal.valueOf : () => Object -> : ^^^^^^^^^^^^ +> : ^^^^^^ >bigintVal : bigint > : ^^^^^^ >valueOf : () => Object -> : ^^^^^^^^^^^^ +> : ^^^^^^ let stringVal: string = bigintVal.toString(); // should not error - bigintVal inferred as {} >stringVal : string @@ -90,11 +90,11 @@ let stringVal: string = bigintVal.toString(); // should not error - bigintVal in >bigintVal.toString() : string > : ^^^^^^ >bigintVal.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >bigintVal : bigint > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ stringVal = bigintVal.toString(2); // should error - bigintVal inferred as {} >stringVal = bigintVal.toString(2) : string @@ -104,11 +104,11 @@ stringVal = bigintVal.toString(2); // should error - bigintVal inferred as {} >bigintVal.toString(2) : string > : ^^^^^^ >bigintVal.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >bigintVal : bigint > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >2 : 2 > : ^ @@ -120,11 +120,11 @@ stringVal = bigintVal.toLocaleString(); // should not error - bigintVal inferred >bigintVal.toLocaleString() : string > : ^^^^^^ >bigintVal.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >bigintVal : bigint > : ^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ stringVal = bigintVal.toLocaleString('de-DE'); // should not error - bigintVal inferred as {} >stringVal = bigintVal.toLocaleString('de-DE') : string @@ -134,11 +134,11 @@ stringVal = bigintVal.toLocaleString('de-DE'); // should not error - bigintVal i >bigintVal.toLocaleString('de-DE') : string > : ^^^^^^ >bigintVal.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >bigintVal : bigint > : ^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >'de-DE' : "de-DE" > : ^^^^^^^ @@ -150,11 +150,11 @@ stringVal = bigintVal.toLocaleString('de-DE', { style: 'currency' }); // should >bigintVal.toLocaleString('de-DE', { style: 'currency' }) : string > : ^^^^^^ >bigintVal.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >bigintVal : bigint > : ^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >'de-DE' : "de-DE" > : ^^^^^^^ >{ style: 'currency' } : { style: string; } @@ -172,11 +172,11 @@ stringVal = bigintVal.toLocaleString('de-DE', { style: 'currency', currency: 'EU >bigintVal.toLocaleString('de-DE', { style: 'currency', currency: 'EUR' }) : string > : ^^^^^^ >bigintVal.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >bigintVal : bigint > : ^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >'de-DE' : "de-DE" > : ^^^^^^^ >{ style: 'currency', currency: 'EUR' } : { style: string; currency: string; } @@ -654,7 +654,7 @@ new Intl.NumberFormat("fr").format(3000n); >new Intl.NumberFormat("fr").format(3000n) : string > : ^^^^^^ >new Intl.NumberFormat("fr").format : (value: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >new Intl.NumberFormat("fr") : Intl.NumberFormat > : ^^^^^^^^^^^^^^^^^ >Intl.NumberFormat : Intl.NumberFormatConstructor @@ -666,7 +666,7 @@ new Intl.NumberFormat("fr").format(3000n); >"fr" : "fr" > : ^^^^ >format : (value: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >3000n : 3000n > : ^^^^^ @@ -674,7 +674,7 @@ new Intl.NumberFormat("fr").format(bigintVal); >new Intl.NumberFormat("fr").format(bigintVal) : string > : ^^^^^^ >new Intl.NumberFormat("fr").format : (value: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >new Intl.NumberFormat("fr") : Intl.NumberFormat > : ^^^^^^^^^^^^^^^^^ >Intl.NumberFormat : Intl.NumberFormatConstructor @@ -686,7 +686,7 @@ new Intl.NumberFormat("fr").format(bigintVal); >"fr" : "fr" > : ^^^^ >format : (value: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bigintVal : bigint > : ^^^^^^ diff --git a/tests/baselines/reference/bindingPatternCannotBeOnlyInferenceSource.types b/tests/baselines/reference/bindingPatternCannotBeOnlyInferenceSource.types index 5fe6b9cf7847b..53bac68d19430 100644 --- a/tests/baselines/reference/bindingPatternCannotBeOnlyInferenceSource.types +++ b/tests/baselines/reference/bindingPatternCannotBeOnlyInferenceSource.types @@ -9,7 +9,7 @@ const {} = f(); // error (only in strictNullChecks) >f() : unknown > : ^^^^^^^ >f : () => T -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ const { p1 } = f(); // error >p1 : any @@ -17,13 +17,13 @@ const { p1 } = f(); // error >f() : unknown > : ^^^^^^^ >f : () => T -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ const [] = f(); // error >f() : unknown > : ^^^^^^^ >f : () => T -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ const [e1, e2] = f(); // error >e1 : any @@ -33,7 +33,7 @@ const [e1, e2] = f(); // error >f() : unknown > : ^^^^^^^ >f : () => T -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ // Repro from #43605 type Dispatch = { (action: T): T }; @@ -107,29 +107,29 @@ const funcs1 = { }; type TFuncs1 = typeof funcs1; >TFuncs1 : { funcA: (a: boolean) => void; funcB: (b: string, bb: string) => void; funcC: (c: number, cc: number, ccc: boolean) => void; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^ >funcs1 : { funcA: (a: boolean) => void; funcB: (b: string, bb: string) => void; funcC: (c: number, cc: number, ccc: boolean) => void; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^ declare function useReduxDispatch1>(destructuring: Destructuring): T; ->useReduxDispatch1 : void; funcB: (b: string, bb: string) => void; funcC: (c: number, cc: number, ccc: boolean) => void; }>>(destructuring: Destructuring) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +>useReduxDispatch1 : >(destructuring: Destructuring) => T +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >destructuring : Destructuring<{ funcA: (a: boolean) => void; funcB: (b: string, bb: string) => void; funcC: (c: number, cc: number, ccc: boolean) => void; }, T> -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^ const {} = useReduxDispatch1( >useReduxDispatch1( (d, f) => ({ funcA: (...p) => d(f.funcA(...p)), // p should be inferrable funcB: (...p) => d(f.funcB(...p)), funcC: (...p) => d(f.funcC(...p)), })) : { funcA: (a: boolean) => void; funcB: (b: string, bb: string) => void; funcC: (c: number, cc: number, ccc: boolean) => void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->useReduxDispatch1 : void; funcB: (b: string, bb: string) => void; funcC: (c: number, cc: number, ccc: boolean) => void; }>>(destructuring: Destructuring) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +>useReduxDispatch1 : >(destructuring: Destructuring) => T +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ (d, f) => ({ >(d, f) => ({ funcA: (...p) => d(f.funcA(...p)), // p should be inferrable funcB: (...p) => d(f.funcB(...p)), funcC: (...p) => d(f.funcC(...p)), }) : (d: Dispatch, f: { funcA: (a: boolean) => void; funcB: (b: string, bb: string) => void; funcC: (c: number, cc: number, ccc: boolean) => void; }) => { funcA: (a: boolean) => void; funcB: (b: string, bb: string) => void; funcC: (c: number, cc: number, ccc: boolean) => void; } -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >d : Dispatch > : ^^^^^^^^^^^^^ >f : { funcA: (a: boolean) => void; funcB: (b: string, bb: string) => void; funcC: (c: number, cc: number, ccc: boolean) => void; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^ >({ funcA: (...p) => d(f.funcA(...p)), // p should be inferrable funcB: (...p) => d(f.funcB(...p)), funcC: (...p) => d(f.funcC(...p)), }) : { funcA: (a: boolean) => void; funcB: (b: string, bb: string) => void; funcC: (c: number, cc: number, ccc: boolean) => void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ funcA: (...p) => d(f.funcA(...p)), // p should be inferrable funcB: (...p) => d(f.funcB(...p)), funcC: (...p) => d(f.funcC(...p)), } : { funcA: (a: boolean) => void; funcB: (b: string, bb: string) => void; funcC: (c: number, cc: number, ccc: boolean) => void; } @@ -149,11 +149,11 @@ const {} = useReduxDispatch1( >f.funcA(...p) : void > : ^^^^ >f.funcA : (a: boolean) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : { funcA: (a: boolean) => void; funcB: (b: string, bb: string) => void; funcC: (c: number, cc: number, ccc: boolean) => void; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^ >funcA : (a: boolean) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >...p : boolean > : ^^^^^^^ >p : [a: boolean] @@ -173,11 +173,11 @@ const {} = useReduxDispatch1( >f.funcB(...p) : void > : ^^^^ >f.funcB : (b: string, bb: string) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >f : { funcA: (a: boolean) => void; funcB: (b: string, bb: string) => void; funcC: (c: number, cc: number, ccc: boolean) => void; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^ >funcB : (b: string, bb: string) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >...p : string > : ^^^^^^ >p : [b: string, bb: string] @@ -197,11 +197,11 @@ const {} = useReduxDispatch1( >f.funcC(...p) : void > : ^^^^ >f.funcC : (c: number, cc: number, ccc: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >f : { funcA: (a: boolean) => void; funcB: (b: string, bb: string) => void; funcC: (c: number, cc: number, ccc: boolean) => void; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^ >funcC : (c: number, cc: number, ccc: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >...p : number | boolean > : ^^^^^^^^^^^^^^^^ >p : [c: number, cc: number, ccc: boolean] diff --git a/tests/baselines/reference/bindingPatternContextualTypeDoesNotCauseWidening.types b/tests/baselines/reference/bindingPatternContextualTypeDoesNotCauseWidening.types index c22f4995be481..c2ab323df1845 100644 --- a/tests/baselines/reference/bindingPatternContextualTypeDoesNotCauseWidening.types +++ b/tests/baselines/reference/bindingPatternContextualTypeDoesNotCauseWidening.types @@ -3,7 +3,7 @@ === bindingPatternContextualTypeDoesNotCauseWidening.ts === declare function pick(keys: T[], obj?: O): Pick; >pick : (keys: T[], obj?: O) => Pick -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^ >keys : T[] > : ^^^ >obj : O @@ -15,7 +15,7 @@ const _ = pick(['b'], { a: 'a', b: 'b' }); // T: "b" >pick(['b'], { a: 'a', b: 'b' }) : Pick<{ a: string; b: string; }, "b"> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >pick : (keys: T[], obj?: O) => Pick -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^ >['b'] : "b"[] > : ^^^^^ >'b' : "b" @@ -35,7 +35,7 @@ const { } = pick(['b'], { a: 'a', b: 'b' }); // T: "b" | "a" ??? (before fix) >pick(['b'], { a: 'a', b: 'b' }) : Pick<{ a: string; b: string; }, "b"> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >pick : (keys: T[], obj?: O) => Pick -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^ >['b'] : "b"[] > : ^^^^^ >'b' : "b" diff --git a/tests/baselines/reference/bindingPatternInParameter01.types b/tests/baselines/reference/bindingPatternInParameter01.types index af202bd94976b..57cf2ab9c8a06 100644 --- a/tests/baselines/reference/bindingPatternInParameter01.types +++ b/tests/baselines/reference/bindingPatternInParameter01.types @@ -27,11 +27,11 @@ nestedArray.forEach(([[a, b]]) => { >nestedArray.forEach(([[a, b]]) => { console.log(a, b);}) : void > : ^^^^ >nestedArray.forEach : (callbackfn: (value: number[][], index: number, array: number[][][]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >nestedArray : number[][][] > : ^^^^^^^^^^^^ >forEach : (callbackfn: (value: number[][], index: number, array: number[][][]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >([[a, b]]) => { console.log(a, b);} : ([[a, b]]: number[][]) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -43,11 +43,11 @@ nestedArray.forEach(([[a, b]]) => { >console.log(a, b) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >a : number > : ^^^^^^ >b : number diff --git a/tests/baselines/reference/binopAssignmentShouldHaveType.types b/tests/baselines/reference/binopAssignmentShouldHaveType.types index 083d60401e093..b070ae3a4c2e0 100644 --- a/tests/baselines/reference/binopAssignmentShouldHaveType.types +++ b/tests/baselines/reference/binopAssignmentShouldHaveType.types @@ -46,11 +46,11 @@ module Test { >this.getName() : string > : ^^^^^^ >this.getName : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >getName : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >length : number > : ^^^^^^ >0 : 0 diff --git a/tests/baselines/reference/bitwiseNotOperatorWithAnyOtherType.types b/tests/baselines/reference/bitwiseNotOperatorWithAnyOtherType.types index 877d260b7e1ba..85cacd548cd5c 100644 --- a/tests/baselines/reference/bitwiseNotOperatorWithAnyOtherType.types +++ b/tests/baselines/reference/bitwiseNotOperatorWithAnyOtherType.types @@ -127,7 +127,7 @@ var ResultIsNumber4 = ~obj; >~obj : number > : ^^^^^^ >obj : () => {} -> : ^^^^^^^^ +> : ^^^^^^ var ResultIsNumber5 = ~obj1; >ResultIsNumber5 : number @@ -221,7 +221,7 @@ var ResultIsNumber13 = ~foo(); >foo() : any > : ^^^ >foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber14 = ~A.foo(); >ResultIsNumber14 : number diff --git a/tests/baselines/reference/bitwiseNotOperatorWithBooleanType.types b/tests/baselines/reference/bitwiseNotOperatorWithBooleanType.types index 16f44231b01eb..3d98fac57f6b1 100644 --- a/tests/baselines/reference/bitwiseNotOperatorWithBooleanType.types +++ b/tests/baselines/reference/bitwiseNotOperatorWithBooleanType.types @@ -110,7 +110,7 @@ var ResultIsNumber6 = ~foo(); >foo() : boolean > : ^^^^^^^ >foo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber7 = ~A.foo(); >ResultIsNumber7 : number @@ -156,7 +156,7 @@ var ResultIsNumber8 = ~~BOOLEAN; >foo() : boolean > : ^^^^^^^ >foo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ ~true, false; >~true, false : false diff --git a/tests/baselines/reference/bitwiseNotOperatorWithNumberType.types b/tests/baselines/reference/bitwiseNotOperatorWithNumberType.types index cea5c0a8ddf28..3af2e3780531b 100644 --- a/tests/baselines/reference/bitwiseNotOperatorWithNumberType.types +++ b/tests/baselines/reference/bitwiseNotOperatorWithNumberType.types @@ -160,7 +160,7 @@ var ResultIsNumber9 = ~foo(); >foo() : number > : ^^^^^^ >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber10 = ~A.foo(); >ResultIsNumber10 : number @@ -238,7 +238,7 @@ var ResultIsNumber13 = ~~~(NUMBER + NUMBER); >foo() : number > : ^^^^^^ >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ ~objA.a; >~objA.a : number diff --git a/tests/baselines/reference/bitwiseNotOperatorWithStringType.types b/tests/baselines/reference/bitwiseNotOperatorWithStringType.types index 9c9c21087f12c..28ea9682b861e 100644 --- a/tests/baselines/reference/bitwiseNotOperatorWithStringType.types +++ b/tests/baselines/reference/bitwiseNotOperatorWithStringType.types @@ -160,7 +160,7 @@ var ResultIsNumber9 = ~foo(); >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber10 = ~A.foo(); >ResultIsNumber10 : number @@ -198,11 +198,11 @@ var ResultIsNumber12 = ~STRING.charAt(0); >STRING.charAt(0) : string > : ^^^^^^ >STRING.charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >STRING : string > : ^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ @@ -254,7 +254,7 @@ var ResultIsNumber14 = ~~~(STRING + STRING); >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ ~objA.a,M.n; >~objA.a,M.n : string diff --git a/tests/baselines/reference/bivariantInferences.types b/tests/baselines/reference/bivariantInferences.types index 2653b2ceafd49..7706216479273 100644 --- a/tests/baselines/reference/bivariantInferences.types +++ b/tests/baselines/reference/bivariantInferences.types @@ -26,12 +26,12 @@ let x = a.equalsShallow(b); > : ^^^^^^^ >a.equalsShallow(b) : boolean > : ^^^^^^^ ->a.equalsShallow : ((this: readonly T[], other: readonly T[]) => boolean) | ((this: readonly T_1[], other: readonly T_1[]) => boolean) | ((this: readonly T_2[], other: readonly T_2[]) => boolean) | ((this: readonly T_3[], other: readonly T_3[]) => boolean) -> : ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a.equalsShallow : ((this: readonly T[], other: readonly T[]) => boolean) | ((this: readonly T[], other: readonly T[]) => boolean) | ((this: readonly T[], other: readonly T[]) => boolean) | ((this: readonly T[], other: readonly T[]) => boolean) +> : ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^ >a : (string | number)[] | null[] | undefined[] | {}[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->equalsShallow : ((this: readonly T[], other: readonly T[]) => boolean) | ((this: readonly T_1[], other: readonly T_1[]) => boolean) | ((this: readonly T_2[], other: readonly T_2[]) => boolean) | ((this: readonly T_3[], other: readonly T_3[]) => boolean) -> : ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>equalsShallow : ((this: readonly T[], other: readonly T[]) => boolean) | ((this: readonly T[], other: readonly T[]) => boolean) | ((this: readonly T[], other: readonly T[]) => boolean) | ((this: readonly T[], other: readonly T[]) => boolean) +> : ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^ >b : (string | number)[] | null[] | undefined[] | {}[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/blockScopedBindingsReassignedInLoop1.types b/tests/baselines/reference/blockScopedBindingsReassignedInLoop1.types index 412dcd2dca8af..8afcf7e9bab61 100644 --- a/tests/baselines/reference/blockScopedBindingsReassignedInLoop1.types +++ b/tests/baselines/reference/blockScopedBindingsReassignedInLoop1.types @@ -45,7 +45,7 @@ declare function use(n: number): void; >use(++i) : void > : ^^^^ >use : (n: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >++i : number > : ^^^^^^ >i : number diff --git a/tests/baselines/reference/blockScopedNamespaceDifferentFile.types b/tests/baselines/reference/blockScopedNamespaceDifferentFile.types index e660632c9e1fe..e5529ff6a51f7 100644 --- a/tests/baselines/reference/blockScopedNamespaceDifferentFile.types +++ b/tests/baselines/reference/blockScopedNamespaceDifferentFile.types @@ -15,7 +15,7 @@ namespace C { >A.AA.func() : number > : ^^^^^^ >A.AA.func : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >A.AA : typeof A.AA > : ^^^^^^^^^^^ >A : typeof A @@ -23,7 +23,7 @@ namespace C { >AA : typeof A.AA > : ^^^^^^^^^^^ >func : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ static someConst = A.AA.foo; >someConst : string diff --git a/tests/baselines/reference/blockScopedVariablesUseBeforeDef.types b/tests/baselines/reference/blockScopedVariablesUseBeforeDef.types index 0c60fc52d83ca..9c59ef6b7a3dd 100644 --- a/tests/baselines/reference/blockScopedVariablesUseBeforeDef.types +++ b/tests/baselines/reference/blockScopedVariablesUseBeforeDef.types @@ -347,11 +347,11 @@ function foo15() { >console.log(a) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >a : number > : ^^^^^^ @@ -359,11 +359,11 @@ function foo15() { >console.log(a) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >a : number > : ^^^^^^ diff --git a/tests/baselines/reference/bluebirdStaticThis.types b/tests/baselines/reference/bluebirdStaticThis.types index 6e40ccb8cda62..d87609047df49 100644 --- a/tests/baselines/reference/bluebirdStaticThis.types +++ b/tests/baselines/reference/bluebirdStaticThis.types @@ -27,7 +27,7 @@ export declare class Promise implements Promise.Thenable { static try(dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; >try : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R_1, args?: any[], ctx?: any): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -43,7 +43,7 @@ export declare class Promise implements Promise.Thenable { static try(dit: typeof Promise, fn: () => R, args?: any[], ctx?: any): Promise; >try : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R, args?: any[], ctx?: any): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -57,7 +57,7 @@ export declare class Promise implements Promise.Thenable { static attempt(dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; >attempt : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R_1, args?: any[], ctx?: any): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -73,7 +73,7 @@ export declare class Promise implements Promise.Thenable { static attempt(dit: typeof Promise, fn: () => R, args?: any[], ctx?: any): Promise; >attempt : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R, args?: any[], ctx?: any): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -96,8 +96,8 @@ export declare class Promise implements Promise.Thenable { > : ^^^^^^^^ static resolve(dit: typeof Promise): Promise; ->resolve : { (dit: typeof Promise): Promise; (dit: typeof Promise, value: Promise.Thenable): Promise; (dit: typeof Promise, value: R_1): Promise; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +>resolve : { (dit: typeof Promise): Promise; (dit: typeof Promise, value: Promise.Thenable): Promise; (dit: typeof Promise, value: R): Promise; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -105,7 +105,7 @@ export declare class Promise implements Promise.Thenable { static resolve(dit: typeof Promise, value: Promise.Thenable): Promise; >resolve : { (dit: typeof Promise): Promise; (dit: typeof Promise, value: Promise.Thenable): Promise; (dit: typeof Promise, value: R_1): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -117,7 +117,7 @@ export declare class Promise implements Promise.Thenable { static resolve(dit: typeof Promise, value: R): Promise; >resolve : { (dit: typeof Promise): Promise; (dit: typeof Promise, value: Promise.Thenable): Promise; (dit: typeof Promise, value: R): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -127,7 +127,7 @@ export declare class Promise implements Promise.Thenable { static reject(dit: typeof Promise, reason: any): Promise; >reject : { (dit: typeof Promise, reason: any): Promise; (dit: typeof Promise, reason: any): Promise; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -137,7 +137,7 @@ export declare class Promise implements Promise.Thenable { static reject(dit: typeof Promise, reason: any): Promise; >reject : { (dit: typeof Promise, reason: any): Promise; (dit: typeof Promise, reason: any): Promise; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -147,7 +147,7 @@ export declare class Promise implements Promise.Thenable { static defer(dit: typeof Promise): Promise.Resolver; >defer : (dit: typeof Promise) => Promise.Resolver -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -157,7 +157,7 @@ export declare class Promise implements Promise.Thenable { static cast(dit: typeof Promise, value: Promise.Thenable): Promise; >cast : { (dit: typeof Promise, value: Promise.Thenable): Promise; (dit: typeof Promise, value: R_1): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -169,7 +169,7 @@ export declare class Promise implements Promise.Thenable { static cast(dit: typeof Promise, value: R): Promise; >cast : { (dit: typeof Promise, value: Promise.Thenable): Promise; (dit: typeof Promise, value: R): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -207,7 +207,7 @@ export declare class Promise implements Promise.Thenable { static delay(dit: typeof Promise, value: Promise.Thenable, ms: number): Promise; >delay : { (dit: typeof Promise, value: Promise.Thenable, ms: number): Promise; (dit: typeof Promise, value: R_1, ms: number): Promise; (dit: typeof Promise, ms: number): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -221,7 +221,7 @@ export declare class Promise implements Promise.Thenable { static delay(dit: typeof Promise, value: R, ms: number): Promise; >delay : { (dit: typeof Promise, value: Promise.Thenable, ms: number): Promise; (dit: typeof Promise, value: R, ms: number): Promise; (dit: typeof Promise, ms: number): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -232,8 +232,8 @@ export declare class Promise implements Promise.Thenable { > : ^^^^^^ static delay(dit: typeof Promise, ms: number): Promise; ->delay : { (dit: typeof Promise, value: Promise.Thenable, ms: number): Promise; (dit: typeof Promise, value: R_1, ms: number): Promise; (dit: typeof Promise, ms: number): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +>delay : { (dit: typeof Promise, value: Promise.Thenable, ms: number): Promise; (dit: typeof Promise, value: R, ms: number): Promise; (dit: typeof Promise, ms: number): Promise; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -306,8 +306,8 @@ export declare class Promise implements Promise.Thenable { > : ^^^ static all(dit: typeof Promise, values: Promise.Thenable[]>): Promise; ->all : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R_3[]): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +>all : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R_1[]): Promise; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -320,8 +320,8 @@ export declare class Promise implements Promise.Thenable { > : ^^^ static all(dit: typeof Promise, values: Promise.Thenable): Promise; ->all : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R_3[]): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +>all : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R_1[]): Promise; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -332,8 +332,8 @@ export declare class Promise implements Promise.Thenable { > : ^^^ static all(dit: typeof Promise, values: Promise.Thenable[]): Promise; ->all : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R_3[]): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +>all : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R_1[]): Promise; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -344,8 +344,8 @@ export declare class Promise implements Promise.Thenable { > : ^^^ static all(dit: typeof Promise, values: R[]): Promise; ->all : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R[]): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +>all : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R[]): Promise; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -355,7 +355,7 @@ export declare class Promise implements Promise.Thenable { static props(dit: typeof Promise, object: Promise): Promise; >props : { (dit: typeof Promise, object: Promise): Promise; (dit: typeof Promise, object: Object): Promise; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -365,7 +365,7 @@ export declare class Promise implements Promise.Thenable { static props(dit: typeof Promise, object: Object): Promise; >props : { (dit: typeof Promise, object: Promise): Promise; (dit: typeof Promise, object: Object): Promise; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -374,8 +374,8 @@ export declare class Promise implements Promise.Thenable { > : ^^^^^^ static settle(dit: typeof Promise, values: Promise.Thenable[]>): Promise[]>; ->settle : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise[]>; (dit: typeof Promise, values: Promise.Thenable): Promise[]>; (dit: typeof Promise, values: Promise.Thenable[]): Promise[]>; (dit: typeof Promise, values: R_3[]): Promise[]>; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>settle : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise[]>; (dit: typeof Promise, values: Promise.Thenable): Promise[]>; (dit: typeof Promise, values: Promise.Thenable[]): Promise[]>; (dit: typeof Promise, values: R_1[]): Promise[]>; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -390,8 +390,8 @@ export declare class Promise implements Promise.Thenable { > : ^^^ static settle(dit: typeof Promise, values: Promise.Thenable): Promise[]>; ->settle : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise[]>; (dit: typeof Promise, values: Promise.Thenable): Promise[]>; (dit: typeof Promise, values: Promise.Thenable[]): Promise[]>; (dit: typeof Promise, values: R_3[]): Promise[]>; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>settle : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise[]>; (dit: typeof Promise, values: Promise.Thenable): Promise[]>; (dit: typeof Promise, values: Promise.Thenable[]): Promise[]>; (dit: typeof Promise, values: R_1[]): Promise[]>; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -404,8 +404,8 @@ export declare class Promise implements Promise.Thenable { > : ^^^ static settle(dit: typeof Promise, values: Promise.Thenable[]): Promise[]>; ->settle : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise[]>; (dit: typeof Promise, values: Promise.Thenable): Promise[]>; (dit: typeof Promise, values: Promise.Thenable[]): Promise[]>; (dit: typeof Promise, values: R_3[]): Promise[]>; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>settle : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise[]>; (dit: typeof Promise, values: Promise.Thenable): Promise[]>; (dit: typeof Promise, values: Promise.Thenable[]): Promise[]>; (dit: typeof Promise, values: R_1[]): Promise[]>; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -418,8 +418,8 @@ export declare class Promise implements Promise.Thenable { > : ^^^ static settle(dit: typeof Promise, values: R[]): Promise[]>; ->settle : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise[]>; (dit: typeof Promise, values: Promise.Thenable): Promise[]>; (dit: typeof Promise, values: Promise.Thenable[]): Promise[]>; (dit: typeof Promise, values: R[]): Promise[]>; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +>settle : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise[]>; (dit: typeof Promise, values: Promise.Thenable): Promise[]>; (dit: typeof Promise, values: Promise.Thenable[]): Promise[]>; (dit: typeof Promise, values: R[]): Promise[]>; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -430,8 +430,8 @@ export declare class Promise implements Promise.Thenable { > : ^^^ static any(dit: typeof Promise, values: Promise.Thenable[]>): Promise; ->any : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R_3[]): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +>any : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R_1[]): Promise; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -444,8 +444,8 @@ export declare class Promise implements Promise.Thenable { > : ^^^ static any(dit: typeof Promise, values: Promise.Thenable): Promise; ->any : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R_3[]): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +>any : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R_1[]): Promise; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -456,8 +456,8 @@ export declare class Promise implements Promise.Thenable { > : ^^^ static any(dit: typeof Promise, values: Promise.Thenable[]): Promise; ->any : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R_3[]): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +>any : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R_1[]): Promise; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -468,8 +468,8 @@ export declare class Promise implements Promise.Thenable { > : ^^^ static any(dit: typeof Promise, values: R[]): Promise; ->any : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R[]): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +>any : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R[]): Promise; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -478,8 +478,8 @@ export declare class Promise implements Promise.Thenable { > : ^^^ static race(dit: typeof Promise, values: Promise.Thenable[]>): Promise; ->race : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R_3[]): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +>race : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R_1[]): Promise; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -492,8 +492,8 @@ export declare class Promise implements Promise.Thenable { > : ^^^ static race(dit: typeof Promise, values: Promise.Thenable): Promise; ->race : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R_3[]): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +>race : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R_1[]): Promise; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -504,8 +504,8 @@ export declare class Promise implements Promise.Thenable { > : ^^^ static race(dit: typeof Promise, values: Promise.Thenable[]): Promise; ->race : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R_3[]): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +>race : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R_1[]): Promise; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -516,8 +516,8 @@ export declare class Promise implements Promise.Thenable { > : ^^^ static race(dit: typeof Promise, values: R[]): Promise; ->race : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R[]): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +>race : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R[]): Promise; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -526,8 +526,8 @@ export declare class Promise implements Promise.Thenable { > : ^^^ static some(dit: typeof Promise, values: Promise.Thenable[]>, count: number): Promise; ->some : { (dit: typeof Promise, values: Promise.Thenable[]>, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable[], count: number): Promise; (dit: typeof Promise, values: R_3[], count: number): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +>some : { (dit: typeof Promise, values: Promise.Thenable[]>, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable[], count: number): Promise; (dit: typeof Promise, values: R_1[], count: number): Promise; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -542,8 +542,8 @@ export declare class Promise implements Promise.Thenable { > : ^^^^^^ static some(dit: typeof Promise, values: Promise.Thenable, count: number): Promise; ->some : { (dit: typeof Promise, values: Promise.Thenable[]>, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable[], count: number): Promise; (dit: typeof Promise, values: R_3[], count: number): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +>some : { (dit: typeof Promise, values: Promise.Thenable[]>, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable[], count: number): Promise; (dit: typeof Promise, values: R_1[], count: number): Promise; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -556,8 +556,8 @@ export declare class Promise implements Promise.Thenable { > : ^^^^^^ static some(dit: typeof Promise, values: Promise.Thenable[], count: number): Promise; ->some : { (dit: typeof Promise, values: Promise.Thenable[]>, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable[], count: number): Promise; (dit: typeof Promise, values: R_3[], count: number): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +>some : { (dit: typeof Promise, values: Promise.Thenable[]>, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable[], count: number): Promise; (dit: typeof Promise, values: R_1[], count: number): Promise; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -570,8 +570,8 @@ export declare class Promise implements Promise.Thenable { > : ^^^^^^ static some(dit: typeof Promise, values: R[], count: number): Promise; ->some : { (dit: typeof Promise, values: Promise.Thenable[]>, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable[], count: number): Promise; (dit: typeof Promise, values: R[], count: number): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +>some : { (dit: typeof Promise, values: Promise.Thenable[]>, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable[], count: number): Promise; (dit: typeof Promise, values: R[], count: number): Promise; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -583,7 +583,7 @@ export declare class Promise implements Promise.Thenable { static join(dit: typeof Promise, ...values: Promise.Thenable[]): Promise; >join : { (dit: typeof Promise, ...values: Promise.Thenable[]): Promise; (dit: typeof Promise, ...values: R_1[]): Promise; } -> : ^^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -595,7 +595,7 @@ export declare class Promise implements Promise.Thenable { static join(dit: typeof Promise, ...values: R[]): Promise; >join : { (dit: typeof Promise, ...values: Promise.Thenable[]): Promise; (dit: typeof Promise, ...values: R[]): Promise; } -> : ^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -604,8 +604,8 @@ export declare class Promise implements Promise.Thenable { > : ^^^ static map(dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; ->map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_2, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_3, index: number, arrayLength: number) => U_3): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_4, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_5, index: number, arrayLength: number) => U_5): Promise; (dit: typeof Promise, values: R_6[], mapper: (item: R_6, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_7[], mapper: (item: R_7, index: number, arrayLength: number) => U_7): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +>map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; (dit: typeof Promise, values: R_1[], mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_1[], mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -628,8 +628,8 @@ export declare class Promise implements Promise.Thenable { > : ^^^ static map(dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => U): Promise; ->map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_2, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_3, index: number, arrayLength: number) => U_3): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_4, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_5, index: number, arrayLength: number) => U_5): Promise; (dit: typeof Promise, values: R_6[], mapper: (item: R_6, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_7[], mapper: (item: R_7, index: number, arrayLength: number) => U_7): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +>map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; (dit: typeof Promise, values: R_1[], mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_1[], mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -650,8 +650,8 @@ export declare class Promise implements Promise.Thenable { > : ^^^^^^ static map(dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; ->map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_2, index: number, arrayLength: number) => U_2): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_3, index: number, arrayLength: number) => U_3): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_4, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_5, index: number, arrayLength: number) => U_5): Promise; (dit: typeof Promise, values: R_6[], mapper: (item: R_6, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_7[], mapper: (item: R_7, index: number, arrayLength: number) => U_7): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +>map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; (dit: typeof Promise, values: R_1[], mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_1[], mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -672,8 +672,8 @@ export declare class Promise implements Promise.Thenable { > : ^^^ static map(dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => U): Promise; ->map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_2, index: number, arrayLength: number) => U_2): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_3, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_4, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_5, index: number, arrayLength: number) => U_5): Promise; (dit: typeof Promise, values: R_6[], mapper: (item: R_6, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_7[], mapper: (item: R_7, index: number, arrayLength: number) => U_7): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +>map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; (dit: typeof Promise, values: R_1[], mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_1[], mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -692,8 +692,8 @@ export declare class Promise implements Promise.Thenable { > : ^^^^^^ static map(dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; ->map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_2, index: number, arrayLength: number) => U_2): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_3, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_4, index: number, arrayLength: number) => U_4): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_5, index: number, arrayLength: number) => U_5): Promise; (dit: typeof Promise, values: R_6[], mapper: (item: R_6, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_7[], mapper: (item: R_7, index: number, arrayLength: number) => U_7): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +>map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; (dit: typeof Promise, values: R_1[], mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_1[], mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -714,8 +714,8 @@ export declare class Promise implements Promise.Thenable { > : ^^^ static map(dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; ->map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_2, index: number, arrayLength: number) => U_2): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_3, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_4, index: number, arrayLength: number) => U_4): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_5, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: R_6[], mapper: (item: R_6, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_7[], mapper: (item: R_7, index: number, arrayLength: number) => U_7): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +>map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: R_1[], mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_1[], mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -734,8 +734,8 @@ export declare class Promise implements Promise.Thenable { > : ^^^^^^ static map(dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; ->map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_2, index: number, arrayLength: number) => U_2): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_3, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_4, index: number, arrayLength: number) => U_4): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_5, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_6, index: number, arrayLength: number) => U_6): Promise; (dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_7[], mapper: (item: R_7, index: number, arrayLength: number) => U_7): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +>map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; (dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_1[], mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -754,8 +754,8 @@ export declare class Promise implements Promise.Thenable { > : ^^^ static map(dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; ->map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_2, index: number, arrayLength: number) => U_2): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_3, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_4, index: number, arrayLength: number) => U_4): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_5, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_6, index: number, arrayLength: number) => U_6): Promise; (dit: typeof Promise, values: R_7[], mapper: (item: R_7, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +>map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; (dit: typeof Promise, values: R_1[], mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -772,8 +772,8 @@ export declare class Promise implements Promise.Thenable { > : ^^^^^^ static reduce(dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; ->reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_2, current: R_2, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_2): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_3, current: R_3, index: number, arrayLength: number) => U_3, initialValue?: U_3): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_4, current: R_4, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_4): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_5, current: R_5, index: number, arrayLength: number) => U_5, initialValue?: U_5): Promise; (dit: typeof Promise, values: R_6[], reducer: (total: U_6, current: R_6, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_6): Promise; (dit: typeof Promise, values: R_7[], reducer: (total: U_7, current: R_7, index: number, arrayLength: number) => U_7, initialValue?: U_7): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +>reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; (dit: typeof Promise, values: R_1[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: R_1[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -800,8 +800,8 @@ export declare class Promise implements Promise.Thenable { > : ^ static reduce(dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; ->reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_2, current: R_2, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_2): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_3, current: R_3, index: number, arrayLength: number) => U_3, initialValue?: U_3): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_4, current: R_4, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_4): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_5, current: R_5, index: number, arrayLength: number) => U_5, initialValue?: U_5): Promise; (dit: typeof Promise, values: R_6[], reducer: (total: U_6, current: R_6, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_6): Promise; (dit: typeof Promise, values: R_7[], reducer: (total: U_7, current: R_7, index: number, arrayLength: number) => U_7, initialValue?: U_7): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +>reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; (dit: typeof Promise, values: R_1[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: R_1[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -826,8 +826,8 @@ export declare class Promise implements Promise.Thenable { > : ^ static reduce(dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; ->reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_2, current: R_2, index: number, arrayLength: number) => U_2, initialValue?: U_2): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_3, current: R_3, index: number, arrayLength: number) => U_3, initialValue?: U_3): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_4, current: R_4, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_4): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_5, current: R_5, index: number, arrayLength: number) => U_5, initialValue?: U_5): Promise; (dit: typeof Promise, values: R_6[], reducer: (total: U_6, current: R_6, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_6): Promise; (dit: typeof Promise, values: R_7[], reducer: (total: U_7, current: R_7, index: number, arrayLength: number) => U_7, initialValue?: U_7): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +>reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; (dit: typeof Promise, values: R_1[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: R_1[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -852,8 +852,8 @@ export declare class Promise implements Promise.Thenable { > : ^ static reduce(dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; ->reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_2, current: R_2, index: number, arrayLength: number) => U_2, initialValue?: U_2): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_3, current: R_3, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_3): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_4, current: R_4, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_4): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_5, current: R_5, index: number, arrayLength: number) => U_5, initialValue?: U_5): Promise; (dit: typeof Promise, values: R_6[], reducer: (total: U_6, current: R_6, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_6): Promise; (dit: typeof Promise, values: R_7[], reducer: (total: U_7, current: R_7, index: number, arrayLength: number) => U_7, initialValue?: U_7): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +>reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; (dit: typeof Promise, values: R_1[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: R_1[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -876,8 +876,8 @@ export declare class Promise implements Promise.Thenable { > : ^ static reduce(dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; ->reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_2, current: R_2, index: number, arrayLength: number) => U_2, initialValue?: U_2): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_3, current: R_3, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_3): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_4, current: R_4, index: number, arrayLength: number) => U_4, initialValue?: U_4): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_5, current: R_5, index: number, arrayLength: number) => U_5, initialValue?: U_5): Promise; (dit: typeof Promise, values: R_6[], reducer: (total: U_6, current: R_6, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_6): Promise; (dit: typeof Promise, values: R_7[], reducer: (total: U_7, current: R_7, index: number, arrayLength: number) => U_7, initialValue?: U_7): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +>reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; (dit: typeof Promise, values: R_1[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: R_1[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -902,8 +902,8 @@ export declare class Promise implements Promise.Thenable { > : ^ static reduce(dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; ->reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_2, current: R_2, index: number, arrayLength: number) => U_2, initialValue?: U_2): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_3, current: R_3, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_3): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_4, current: R_4, index: number, arrayLength: number) => U_4, initialValue?: U_4): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_5, current: R_5, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_5): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: R_6[], reducer: (total: U_6, current: R_6, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_6): Promise; (dit: typeof Promise, values: R_7[], reducer: (total: U_7, current: R_7, index: number, arrayLength: number) => U_7, initialValue?: U_7): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +>reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: R_1[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: R_1[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -926,8 +926,8 @@ export declare class Promise implements Promise.Thenable { > : ^ static reduce(dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; ->reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_2, current: R_2, index: number, arrayLength: number) => U_2, initialValue?: U_2): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_3, current: R_3, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_3): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_4, current: R_4, index: number, arrayLength: number) => U_4, initialValue?: U_4): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_5, current: R_5, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_5): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_6, current: R_6, index: number, arrayLength: number) => U_6, initialValue?: U_6): Promise; (dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: R_7[], reducer: (total: U_7, current: R_7, index: number, arrayLength: number) => U_7, initialValue?: U_7): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +>reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; (dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: R_1[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -950,8 +950,8 @@ export declare class Promise implements Promise.Thenable { > : ^ static reduce(dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; ->reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_2, current: R_2, index: number, arrayLength: number) => U_2, initialValue?: U_2): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_3, current: R_3, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_3): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_4, current: R_4, index: number, arrayLength: number) => U_4, initialValue?: U_4): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_5, current: R_5, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_5): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_6, current: R_6, index: number, arrayLength: number) => U_6, initialValue?: U_6): Promise; (dit: typeof Promise, values: R_7[], reducer: (total: U_7, current: R_7, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_7): Promise; (dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ +>reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; (dit: typeof Promise, values: R_1[], reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -972,8 +972,8 @@ export declare class Promise implements Promise.Thenable { > : ^ static filter(dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; ->filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_2, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_3, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_4, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_5, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R_6[], filterer: (item: R_6, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_7[], filterer: (item: R_7, index: number, arrayLength: number) => boolean): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +>filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R_1[], filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_1[], filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -996,8 +996,8 @@ export declare class Promise implements Promise.Thenable { > : ^^^ static filter(dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; ->filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_2, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_3, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_4, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_5, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R_6[], filterer: (item: R_6, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_7[], filterer: (item: R_7, index: number, arrayLength: number) => boolean): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +>filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R_1[], filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_1[], filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -1018,8 +1018,8 @@ export declare class Promise implements Promise.Thenable { > : ^^^^^^ static filter(dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; ->filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_2, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_3, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_4, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_5, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R_6[], filterer: (item: R_6, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_7[], filterer: (item: R_7, index: number, arrayLength: number) => boolean): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +>filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R_1[], filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_1[], filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -1040,8 +1040,8 @@ export declare class Promise implements Promise.Thenable { > : ^^^ static filter(dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; ->filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_2, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_3, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_4, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_5, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R_6[], filterer: (item: R_6, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_7[], filterer: (item: R_7, index: number, arrayLength: number) => boolean): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +>filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R_1[], filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_1[], filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -1060,8 +1060,8 @@ export declare class Promise implements Promise.Thenable { > : ^^^^^^ static filter(dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; ->filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_2, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_3, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_4, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_5, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R_6[], filterer: (item: R_6, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_7[], filterer: (item: R_7, index: number, arrayLength: number) => boolean): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +>filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R_1[], filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_1[], filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -1082,8 +1082,8 @@ export declare class Promise implements Promise.Thenable { > : ^^^ static filter(dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; ->filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_2, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_3, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_4, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_5, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R_6[], filterer: (item: R_6, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_7[], filterer: (item: R_7, index: number, arrayLength: number) => boolean): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +>filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R_1[], filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_1[], filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -1102,8 +1102,8 @@ export declare class Promise implements Promise.Thenable { > : ^^^^^^ static filter(dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; ->filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_2, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_3, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_4, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_5, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_6, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_7[], filterer: (item: R_7, index: number, arrayLength: number) => boolean): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +>filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_1[], filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -1122,8 +1122,8 @@ export declare class Promise implements Promise.Thenable { > : ^^^ static filter(dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; ->filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_2, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_3, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_4, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_5, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_6, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R_7[], filterer: (item: R_7, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +>filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R_1[], filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >dit : typeof Promise > : ^^^^^^^^^^^^^^ >Promise : typeof Promise @@ -1143,8 +1143,8 @@ export declare class Promise implements Promise.Thenable { export declare module Promise { export interface Thenable { then(onFulfilled: (value: R) => Thenable, onRejected: (error: any) => Thenable): Thenable; ->then : { (onFulfilled: (value: R) => Thenable, onRejected: (error: any) => Thenable): Thenable; (onFulfilled: (value: R) => Thenable, onRejected?: (error: any) => U_1): Thenable; (onFulfilled: (value: R) => U_2, onRejected: (error: any) => Thenable): Thenable; (onFulfilled?: (value: R) => U_3, onRejected?: (error: any) => U_3): Thenable; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (onFulfilled: (value: R) => Thenable, onRejected: (error: any) => Thenable): Thenable; (onFulfilled: (value: R) => Thenable, onRejected?: (error: any) => U_1): Thenable; (onFulfilled: (value: R) => U_1, onRejected: (error: any) => Thenable): Thenable; (onFulfilled?: (value: R) => U_1, onRejected?: (error: any) => U_1): Thenable; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >onFulfilled : (value: R) => Thenable > : ^ ^^ ^^^^^ >value : R @@ -1155,8 +1155,8 @@ export declare module Promise { > : ^^^ then(onFulfilled: (value: R) => Thenable, onRejected?: (error: any) => U): Thenable; ->then : { (onFulfilled: (value: R) => Thenable, onRejected: (error: any) => Thenable): Thenable; (onFulfilled: (value: R) => Thenable, onRejected?: (error: any) => U): Thenable; (onFulfilled: (value: R) => U_2, onRejected: (error: any) => Thenable): Thenable; (onFulfilled?: (value: R) => U_3, onRejected?: (error: any) => U_3): Thenable; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (onFulfilled: (value: R) => Thenable, onRejected: (error: any) => Thenable): Thenable; (onFulfilled: (value: R) => Thenable, onRejected?: (error: any) => U): Thenable; (onFulfilled: (value: R) => U_1, onRejected: (error: any) => Thenable): Thenable; (onFulfilled?: (value: R) => U_1, onRejected?: (error: any) => U_1): Thenable; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >onFulfilled : (value: R) => Thenable > : ^ ^^ ^^^^^ >value : R @@ -1167,8 +1167,8 @@ export declare module Promise { > : ^^^ then(onFulfilled: (value: R) => U, onRejected: (error: any) => Thenable): Thenable; ->then : { (onFulfilled: (value: R) => Thenable, onRejected: (error: any) => Thenable): Thenable; (onFulfilled: (value: R) => Thenable, onRejected?: (error: any) => U_2): Thenable; (onFulfilled: (value: R) => U, onRejected: (error: any) => Thenable): Thenable; (onFulfilled?: (value: R) => U_3, onRejected?: (error: any) => U_3): Thenable; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (onFulfilled: (value: R) => Thenable, onRejected: (error: any) => Thenable): Thenable; (onFulfilled: (value: R) => Thenable, onRejected?: (error: any) => U_1): Thenable; (onFulfilled: (value: R) => U, onRejected: (error: any) => Thenable): Thenable; (onFulfilled?: (value: R) => U_1, onRejected?: (error: any) => U_1): Thenable; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >onFulfilled : (value: R) => U > : ^ ^^ ^^^^^ >value : R @@ -1179,8 +1179,8 @@ export declare module Promise { > : ^^^ then(onFulfilled?: (value: R) => U, onRejected?: (error: any) => U): Thenable; ->then : { (onFulfilled: (value: R) => Thenable, onRejected: (error: any) => Thenable): Thenable; (onFulfilled: (value: R) => Thenable, onRejected?: (error: any) => U_2): Thenable; (onFulfilled: (value: R) => U_3, onRejected: (error: any) => Thenable): Thenable; (onFulfilled?: (value: R) => U, onRejected?: (error: any) => U): Thenable; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ +>then : { (onFulfilled: (value: R) => Thenable, onRejected: (error: any) => Thenable): Thenable; (onFulfilled: (value: R) => Thenable, onRejected?: (error: any) => U_1): Thenable; (onFulfilled: (value: R) => U_1, onRejected: (error: any) => Thenable): Thenable; (onFulfilled?: (value: R) => U, onRejected?: (error: any) => U): Thenable; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >onFulfilled : (value: R) => U > : ^ ^^ ^^^^^ >value : R @@ -1225,12 +1225,12 @@ fooProm = Promise.try(Promise, () => { > : ^^^^^^^^^^^^ >Promise.try(Promise, () => { return foo;}) : Promise > : ^^^^^^^^^^^^ ->Promise.try : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R_1, args?: any[], ctx?: any): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +>Promise.try : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R, args?: any[], ctx?: any): Promise; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Promise : typeof Promise > : ^^^^^^^^^^^^^^ ->try : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R_1, args?: any[], ctx?: any): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +>try : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R, args?: any[], ctx?: any): Promise; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Promise : typeof Promise > : ^^^^^^^^^^^^^^ >() => { return foo;} : () => Foo @@ -1248,12 +1248,12 @@ fooProm = Promise.try(Promise, () => { > : ^^^^^^^^^^^^ >Promise.try(Promise, () => { return foo;}, arr) : Promise > : ^^^^^^^^^^^^ ->Promise.try : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R_1, args?: any[], ctx?: any): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +>Promise.try : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R, args?: any[], ctx?: any): Promise; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Promise : typeof Promise > : ^^^^^^^^^^^^^^ ->try : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R_1, args?: any[], ctx?: any): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +>try : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R, args?: any[], ctx?: any): Promise; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Promise : typeof Promise > : ^^^^^^^^^^^^^^ >() => { return foo;} : () => Foo @@ -1274,12 +1274,12 @@ fooProm = Promise.try(Promise, () => { > : ^^^^^^^^^^^^ >Promise.try(Promise, () => { return foo;}, arr, x) : Promise > : ^^^^^^^^^^^^ ->Promise.try : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R_1, args?: any[], ctx?: any): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +>Promise.try : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R, args?: any[], ctx?: any): Promise; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Promise : typeof Promise > : ^^^^^^^^^^^^^^ ->try : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R_1, args?: any[], ctx?: any): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +>try : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R, args?: any[], ctx?: any): Promise; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Promise : typeof Promise > : ^^^^^^^^^^^^^^ >() => { return foo;} : () => Foo diff --git a/tests/baselines/reference/booleanFilterAnyArray.types b/tests/baselines/reference/booleanFilterAnyArray.types index 3b749ff0e5e80..3c9d16544b0a0 100644 --- a/tests/baselines/reference/booleanFilterAnyArray.types +++ b/tests/baselines/reference/booleanFilterAnyArray.types @@ -14,7 +14,7 @@ interface BulleanConstructor { interface Ari { filter(cb1: (value: T) => value is S): T extends any ? Ari : Ari; >filter : { (cb1: (value: T) => value is S): T extends any ? Ari : Ari; (cb2: (value: T) => unknown): Ari; } -> : ^^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >cb1 : (value: T) => value is S > : ^ ^^ ^^^^^ >value : T @@ -22,7 +22,7 @@ interface Ari { filter(cb2: (value: T) => unknown): Ari; >filter : { (cb1: (value: T) => value is S): T extends any ? Ari : Ari; (cb2: (value: T) => unknown): Ari; } -> : ^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >cb2 : (value: T) => unknown > : ^ ^^ ^^^^^ >value : T @@ -45,12 +45,12 @@ var xs = anys.filter(Bullean) > : ^^^^^^^^ >anys.filter(Bullean) : Ari > : ^^^^^^^^ ->anys.filter : { (cb1: (value: any) => value is S): Ari; (cb2: (value: any) => unknown): Ari; } -> : ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>anys.filter : { (cb1: (value: any) => value is S): any extends any ? Ari : Ari; (cb2: (value: any) => unknown): Ari; } +> : ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^^ ^^^ ^^^ >anys : Ari > : ^^^^^^^^ ->filter : { (cb1: (value: any) => value is S): Ari; (cb2: (value: any) => unknown): Ari; } -> : ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>filter : { (cb1: (value: any) => value is S): any extends any ? Ari : Ari; (cb2: (value: any) => unknown): Ari; } +> : ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^^ ^^^ ^^^ >Bullean : BulleanConstructor > : ^^^^^^^^^^^^^^^^^^ @@ -68,11 +68,11 @@ var ys = realanys.filter(Boolean) >realanys.filter(Boolean) : any[] > : ^^^^^ >realanys.filter : { (predicate: (value: any, index: number, array: any[]) => value is S, thisArg?: any): S[]; (predicate: (value: any, index: number, array: any[]) => unknown, thisArg?: any): any[]; } -> : ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^^^^ ^^^ >realanys : any[] > : ^^^^^ >filter : { (predicate: (value: any, index: number, array: any[]) => value is S, thisArg?: any): S[]; (predicate: (value: any, index: number, array: any[]) => unknown, thisArg?: any): any[]; } -> : ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^^^^ ^^^ >Boolean : BooleanConstructor > : ^^^^^^^^^^^^^^^^^^ @@ -96,15 +96,15 @@ var foor: Array<{name: string}> var foor = foo.filter(x => x.name) >foor : { name: string; }[] -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ >foo.filter(x => x.name) : { name: string; }[] > : ^^^^^^^^^^^^^^^^^^^ >foo.filter : { (predicate: (value: { name: string; }, index: number, array: { name: string; }[]) => value is S, thisArg?: any): S[]; (predicate: (value: { name: string; }, index: number, array: { name: string; }[]) => unknown, thisArg?: any): { name: string; }[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ >foo : { name: string; }[] > : ^^^^^^^^^^^^^^^^^^^ >filter : { (predicate: (value: { name: string; }, index: number, array: { name: string; }[]) => value is S, thisArg?: any): S[]; (predicate: (value: { name: string; }, index: number, array: { name: string; }[]) => unknown, thisArg?: any): { name: string; }[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ >x => x.name : (x: { name: string; }) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { name: string; } @@ -126,7 +126,7 @@ var foos = [true, true, false, null].filter((thing): thing is boolean => thing ! >[true, true, false, null].filter((thing): thing is boolean => thing !== null) : boolean[] > : ^^^^^^^^^ >[true, true, false, null].filter : { (predicate: (value: boolean, index: number, array: boolean[]) => value is S, thisArg?: any): S[]; (predicate: (value: boolean, index: number, array: boolean[]) => unknown, thisArg?: any): boolean[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^^ >[true, true, false, null] : boolean[] > : ^^^^^^^^^ >true : true @@ -136,7 +136,7 @@ var foos = [true, true, false, null].filter((thing): thing is boolean => thing ! >false : false > : ^^^^^ >filter : { (predicate: (value: boolean, index: number, array: boolean[]) => value is S, thisArg?: any): S[]; (predicate: (value: boolean, index: number, array: boolean[]) => unknown, thisArg?: any): boolean[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^^ >(thing): thing is boolean => thing !== null : (thing: boolean) => thing is boolean > : ^ ^^^^^^^^^^^^^^ >thing : boolean diff --git a/tests/baselines/reference/booleanLiteralTypes1.types b/tests/baselines/reference/booleanLiteralTypes1.types index 566aac3904040..bc640f5e0c44b 100644 --- a/tests/baselines/reference/booleanLiteralTypes1.types +++ b/tests/baselines/reference/booleanLiteralTypes1.types @@ -191,7 +191,7 @@ function f4(t: true, f: false) { declare function g(x: true): string; >g : { (x: true): string; (x: false): boolean; (x: boolean): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : true > : ^^^^ >true : true @@ -199,7 +199,7 @@ declare function g(x: true): string; declare function g(x: false): boolean; >g : { (x: true): string; (x: false): boolean; (x: boolean): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : false > : ^^^^^ >false : false @@ -207,7 +207,7 @@ declare function g(x: false): boolean; declare function g(x: boolean): number; >g : { (x: true): string; (x: false): boolean; (x: boolean): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : boolean > : ^^^^^^^ @@ -223,7 +223,7 @@ function f5(b: boolean) { >g(true) : string > : ^^^^^^ >g : { (x: true): string; (x: false): boolean; (x: boolean): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >true : true > : ^^^^ @@ -233,7 +233,7 @@ function f5(b: boolean) { >g(false) : boolean > : ^^^^^^^ >g : { (x: true): string; (x: false): boolean; (x: boolean): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >false : false > : ^^^^^ @@ -243,7 +243,7 @@ function f5(b: boolean) { >g(b) : number > : ^^^^^^ >g : { (x: true): string; (x: false): boolean; (x: boolean): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : boolean > : ^^^^^^^ } @@ -321,7 +321,7 @@ function f11(x: true | false) { >assertNever(x) : never > : ^^^^^ >assertNever : (x: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : never > : ^^^^^ } @@ -420,7 +420,7 @@ function f20(x: Item) { >x.a : string > : ^^^^^^ >x : { kind: true; a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >a : string > : ^^^^^^ @@ -430,7 +430,7 @@ function f20(x: Item) { >x.b : string > : ^^^^^^ >x : { kind: false; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >b : string > : ^^^^^^ } @@ -456,7 +456,7 @@ function f21(x: Item) { >x.a : string > : ^^^^^^ >x : { kind: true; a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >a : string > : ^^^^^^ @@ -466,7 +466,7 @@ function f21(x: Item) { >x.b : string > : ^^^^^^ >x : { kind: false; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >b : string > : ^^^^^^ } @@ -474,7 +474,7 @@ function f21(x: Item) { >assertNever(x) : never > : ^^^^^ >assertNever : (x: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : never > : ^^^^^ } diff --git a/tests/baselines/reference/booleanLiteralTypes2.types b/tests/baselines/reference/booleanLiteralTypes2.types index e594f53f3a9f2..484597c1ebeda 100644 --- a/tests/baselines/reference/booleanLiteralTypes2.types +++ b/tests/baselines/reference/booleanLiteralTypes2.types @@ -191,7 +191,7 @@ function f4(t: true, f: false) { declare function g(x: true): string; >g : { (x: true): string; (x: false): boolean; (x: boolean): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : true > : ^^^^ >true : true @@ -199,7 +199,7 @@ declare function g(x: true): string; declare function g(x: false): boolean; >g : { (x: true): string; (x: false): boolean; (x: boolean): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : false > : ^^^^^ >false : false @@ -207,7 +207,7 @@ declare function g(x: false): boolean; declare function g(x: boolean): number; >g : { (x: true): string; (x: false): boolean; (x: boolean): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : boolean > : ^^^^^^^ @@ -223,7 +223,7 @@ function f5(b: boolean) { >g(true) : string > : ^^^^^^ >g : { (x: true): string; (x: false): boolean; (x: boolean): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >true : true > : ^^^^ @@ -233,7 +233,7 @@ function f5(b: boolean) { >g(false) : boolean > : ^^^^^^^ >g : { (x: true): string; (x: false): boolean; (x: boolean): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >false : false > : ^^^^^ @@ -243,7 +243,7 @@ function f5(b: boolean) { >g(b) : number > : ^^^^^^ >g : { (x: true): string; (x: false): boolean; (x: boolean): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : boolean > : ^^^^^^^ } @@ -321,7 +321,7 @@ function f11(x: true | false) { >assertNever(x) : never > : ^^^^^ >assertNever : (x: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : never > : ^^^^^ } @@ -420,7 +420,7 @@ function f20(x: Item) { >x.a : string > : ^^^^^^ >x : { kind: true; a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >a : string > : ^^^^^^ @@ -430,7 +430,7 @@ function f20(x: Item) { >x.b : string > : ^^^^^^ >x : { kind: false; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >b : string > : ^^^^^^ } @@ -456,7 +456,7 @@ function f21(x: Item) { >x.a : string > : ^^^^^^ >x : { kind: true; a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >a : string > : ^^^^^^ @@ -466,7 +466,7 @@ function f21(x: Item) { >x.b : string > : ^^^^^^ >x : { kind: false; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >b : string > : ^^^^^^ } @@ -474,7 +474,7 @@ function f21(x: Item) { >assertNever(x) : never > : ^^^^^ >assertNever : (x: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : never > : ^^^^^ } diff --git a/tests/baselines/reference/booleanLiteralsContextuallyTypedFromUnion.types b/tests/baselines/reference/booleanLiteralsContextuallyTypedFromUnion.types index 801b9d7d31213..087cc757c2f27 100644 --- a/tests/baselines/reference/booleanLiteralsContextuallyTypedFromUnion.types +++ b/tests/baselines/reference/booleanLiteralsContextuallyTypedFromUnion.types @@ -29,11 +29,11 @@ const isIt = Math.random() > 0.5; >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ diff --git a/tests/baselines/reference/booleanPropertyAccess.types b/tests/baselines/reference/booleanPropertyAccess.types index afee3563862b7..19b9e88caf013 100644 --- a/tests/baselines/reference/booleanPropertyAccess.types +++ b/tests/baselines/reference/booleanPropertyAccess.types @@ -13,11 +13,11 @@ var a = x.toString(); >x.toString() : string > : ^^^^^^ >x.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : true > : ^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var b = x['toString'](); >b : string @@ -25,7 +25,7 @@ var b = x['toString'](); >x['toString']() : string > : ^^^^^^ >x['toString'] : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : true > : ^^^^ >'toString' : "toString" diff --git a/tests/baselines/reference/bundlerSyntaxRestrictions(module=esnext).types b/tests/baselines/reference/bundlerSyntaxRestrictions(module=esnext).types index 43f940649de61..9bd31ef4b3cda 100644 --- a/tests/baselines/reference/bundlerSyntaxRestrictions(module=esnext).types +++ b/tests/baselines/reference/bundlerSyntaxRestrictions(module=esnext).types @@ -55,7 +55,7 @@ const _ = require("./a"); >require("./a") : typeof _ > : ^^^^^^^^ >require : (...args: any[]) => any -> : ^^^^ ^^ ^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"./a" : "./a" > : ^^^^^ diff --git a/tests/baselines/reference/bundlerSyntaxRestrictions(module=preserve).types b/tests/baselines/reference/bundlerSyntaxRestrictions(module=preserve).types index 43f940649de61..9bd31ef4b3cda 100644 --- a/tests/baselines/reference/bundlerSyntaxRestrictions(module=preserve).types +++ b/tests/baselines/reference/bundlerSyntaxRestrictions(module=preserve).types @@ -55,7 +55,7 @@ const _ = require("./a"); >require("./a") : typeof _ > : ^^^^^^^^ >require : (...args: any[]) => any -> : ^^^^ ^^ ^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"./a" : "./a" > : ^^^^^ diff --git a/tests/baselines/reference/cachedContextualTypes.types b/tests/baselines/reference/cachedContextualTypes.types index bdb0c80adf665..20735415cb6e4 100644 --- a/tests/baselines/reference/cachedContextualTypes.types +++ b/tests/baselines/reference/cachedContextualTypes.types @@ -5,7 +5,7 @@ declare function createInstance any, R extends InstanceType>(ctor: Ctor, ...args: ConstructorParameters): R; >createInstance : any, R extends InstanceType>(ctor: Ctor, ...args: ConstructorParameters) => R -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >args : any[] > : ^^^^^ >ctor : Ctor @@ -43,7 +43,7 @@ createInstance(MenuWorkbenchToolBar, { >createInstance(MenuWorkbenchToolBar, { toolbarOptions: { foo(bar) { return bar; } }}) : MenuWorkbenchToolBar > : ^^^^^^^^^^^^^^^^^^^^ >createInstance : any, R extends InstanceType>(ctor: Ctor, ...args: ConstructorParameters) => R -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >MenuWorkbenchToolBar : typeof MenuWorkbenchToolBar > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ toolbarOptions: { foo(bar) { return bar; } }} : { toolbarOptions: { foo(bar: string): string; }; } diff --git a/tests/baselines/reference/callChain.2.types b/tests/baselines/reference/callChain.2.types index 842ea1fc25377..2243cf5521963 100644 --- a/tests/baselines/reference/callChain.2.types +++ b/tests/baselines/reference/callChain.2.types @@ -9,7 +9,7 @@ o1?.(); >o1?.() : number > : ^^^^^^ >o1 : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ declare const o2: undefined | { b: () => number }; >o2 : { b: () => number; } @@ -21,11 +21,11 @@ o2?.b(); >o2?.b() : number > : ^^^^^^ >o2?.b : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >o2 : { b: () => number; } -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ declare const o3: { b: (() => { c: string }) | undefined }; >o3 : { b: (() => { c: string; }) | undefined; } @@ -39,13 +39,13 @@ o3.b?.().c; >o3.b?.().c : string > : ^^^^^^ >o3.b?.() : { c: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >o3.b : () => { c: string; } -> : ^^^^^^^^^^^^^^^^^^^^ ->o3 : { b: () => { c: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ +>o3 : { b: (() => { c: string; }) | undefined; } +> : ^^^^^ ^^^ >b : () => { c: string; } -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >c : string > : ^^^^^^ diff --git a/tests/baselines/reference/callChain.3.types b/tests/baselines/reference/callChain.3.types index c68cc473dbcac..64314d5a7b23b 100644 --- a/tests/baselines/reference/callChain.3.types +++ b/tests/baselines/reference/callChain.3.types @@ -21,11 +21,11 @@ const n1: number = a?.m?.({x: 12 }); // should be an error (`undefined` is not a >a?.m?.({x: 12 }) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >a?.m : ((obj: { x: T; }) => T) | undefined -> : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >a : { m?(obj: { x: T; }): T; } | undefined -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ >m : ((obj: { x: T; }) => T) | undefined -> : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >{x: 12 } : { x: number; } > : ^^^^^^^^^^^^^^ >x : number @@ -39,11 +39,11 @@ const n2: number = a?.m?.({x: absorb()}); // likewise >a?.m?.({x: absorb()}) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >a?.m : ((obj: { x: T; }) => T) | undefined -> : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >a : { m?(obj: { x: T; }): T; } | undefined -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ >m : ((obj: { x: T; }) => T) | undefined -> : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >{x: absorb()} : { x: number; } > : ^^^^^^^^^^^^^^ >x : number @@ -51,7 +51,7 @@ const n2: number = a?.m?.({x: absorb()}); // likewise >absorb() : number > : ^^^^^^ >absorb : () => T -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ const n3: number | undefined = a?.m?.({x: 12}); // should be ok >n3 : number | undefined @@ -59,11 +59,11 @@ const n3: number | undefined = a?.m?.({x: 12}); // should be ok >a?.m?.({x: 12}) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >a?.m : ((obj: { x: T; }) => T) | undefined -> : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >a : { m?(obj: { x: T; }): T; } | undefined -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ >m : ((obj: { x: T; }) => T) | undefined -> : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >{x: 12} : { x: number; } > : ^^^^^^^^^^^^^^ >x : number @@ -77,11 +77,11 @@ const n4: number | undefined = a?.m?.({x: absorb()}); // likewise >a?.m?.({x: absorb()}) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >a?.m : ((obj: { x: T; }) => T) | undefined -> : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >a : { m?(obj: { x: T; }): T; } | undefined -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ >m : ((obj: { x: T; }) => T) | undefined -> : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >{x: absorb()} : { x: number; } > : ^^^^^^^^^^^^^^ >x : number @@ -89,7 +89,7 @@ const n4: number | undefined = a?.m?.({x: absorb()}); // likewise >absorb() : number > : ^^^^^^ >absorb : () => T -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ // Also a test showing `!` vs `?` for good measure let t1 = a?.m?.({x: 12}); @@ -98,11 +98,11 @@ let t1 = a?.m?.({x: 12}); >a?.m?.({x: 12}) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >a?.m : ((obj: { x: T; }) => T) | undefined -> : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >a : { m?(obj: { x: T; }): T; } | undefined -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ >m : ((obj: { x: T; }) => T) | undefined -> : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >{x: 12} : { x: number; } > : ^^^^^^^^^^^^^^ >x : number @@ -118,15 +118,15 @@ t1 = a!.m!({x: 12}); >a!.m!({x: 12}) : number > : ^^^^^^ >a!.m! : (obj: { x: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a!.m : ((obj: { x: T; }) => T) | undefined -> : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >a! : { m?(obj: { x: T; }): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >a : { m?(obj: { x: T; }): T; } | undefined -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ >m : ((obj: { x: T; }) => T) | undefined -> : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >{x: 12} : { x: number; } > : ^^^^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/callChain.types b/tests/baselines/reference/callChain.types index 6401da00acb53..4014673ba5828 100644 --- a/tests/baselines/reference/callChain.types +++ b/tests/baselines/reference/callChain.types @@ -11,13 +11,13 @@ o1?.(); >o1?.() : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o1 : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ o1?.(1); >o1?.(1) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o1 : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >1 : 1 > : ^ @@ -25,7 +25,7 @@ o1?.(...[1, 2]); >o1?.(...[1, 2]) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o1 : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >...[1, 2] : number > : ^^^^^^ >[1, 2] : [number, number] @@ -39,7 +39,7 @@ o1?.(1, ...[2, 3], 4); >o1?.(1, ...[2, 3], 4) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o1 : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >1 : 1 > : ^ >...[2, 3] : number @@ -65,21 +65,21 @@ o2?.b(); >o2?.b() : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.b : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >o2 : { b: (...args: any[]) => number; } | undefined -> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >b : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ o2?.b(1); >o2?.b(1) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.b : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >o2 : { b: (...args: any[]) => number; } | undefined -> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >b : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >1 : 1 > : ^ @@ -87,11 +87,11 @@ o2?.b(...[1, 2]); >o2?.b(...[1, 2]) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.b : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >o2 : { b: (...args: any[]) => number; } | undefined -> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >b : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >...[1, 2] : number > : ^^^^^^ >[1, 2] : [number, number] @@ -105,11 +105,11 @@ o2?.b(1, ...[2, 3], 4); >o2?.b(1, ...[2, 3], 4) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.b : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >o2 : { b: (...args: any[]) => number; } | undefined -> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >b : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >1 : 1 > : ^ >...[2, 3] : number @@ -127,9 +127,9 @@ o2?.["b"](); >o2?.["b"]() : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.["b"] : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >o2 : { b: (...args: any[]) => number; } | undefined -> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >"b" : "b" > : ^^^ @@ -137,9 +137,9 @@ o2?.["b"](1); >o2?.["b"](1) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.["b"] : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >o2 : { b: (...args: any[]) => number; } | undefined -> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >"b" : "b" > : ^^^ >1 : 1 @@ -149,9 +149,9 @@ o2?.["b"](...[1, 2]); >o2?.["b"](...[1, 2]) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.["b"] : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >o2 : { b: (...args: any[]) => number; } | undefined -> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >"b" : "b" > : ^^^ >...[1, 2] : number @@ -167,9 +167,9 @@ o2?.["b"](1, ...[2, 3], 4); >o2?.["b"](1, ...[2, 3], 4) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.["b"] : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >o2 : { b: (...args: any[]) => number; } | undefined -> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >"b" : "b" > : ^^^ >1 : 1 @@ -199,13 +199,13 @@ o3.b?.().c; >o3.b?.().c : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o3.b?.() : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o3.b : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >o3 : { b: ((...args: any[]) => { c: string; }) | undefined; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >c : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -213,13 +213,13 @@ o3.b?.(1).c; >o3.b?.(1).c : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o3.b?.(1) : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o3.b : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >o3 : { b: ((...args: any[]) => { c: string; }) | undefined; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >1 : 1 > : ^ >c : string | undefined @@ -229,13 +229,13 @@ o3.b?.(...[1, 2]).c; >o3.b?.(...[1, 2]).c : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o3.b?.(...[1, 2]) : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o3.b : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >o3 : { b: ((...args: any[]) => { c: string; }) | undefined; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >...[1, 2] : number > : ^^^^^^ >[1, 2] : [number, number] @@ -251,13 +251,13 @@ o3.b?.(1, ...[2, 3], 4).c; >o3.b?.(1, ...[2, 3], 4).c : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o3.b?.(1, ...[2, 3], 4) : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o3.b : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >o3 : { b: ((...args: any[]) => { c: string; }) | undefined; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >1 : 1 > : ^ >...[2, 3] : number @@ -277,13 +277,13 @@ o3.b?.()["c"]; >o3.b?.()["c"] : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o3.b?.() : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o3.b : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >o3 : { b: ((...args: any[]) => { c: string; }) | undefined; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >"c" : "c" > : ^^^ @@ -291,13 +291,13 @@ o3.b?.(1)["c"]; >o3.b?.(1)["c"] : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o3.b?.(1) : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o3.b : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >o3 : { b: ((...args: any[]) => { c: string; }) | undefined; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >1 : 1 > : ^ >"c" : "c" @@ -307,13 +307,13 @@ o3.b?.(...[1, 2])["c"]; >o3.b?.(...[1, 2])["c"] : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o3.b?.(...[1, 2]) : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o3.b : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >o3 : { b: ((...args: any[]) => { c: string; }) | undefined; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >...[1, 2] : number > : ^^^^^^ >[1, 2] : [number, number] @@ -329,13 +329,13 @@ o3.b?.(1, ...[2, 3], 4)["c"]; >o3.b?.(1, ...[2, 3], 4)["c"] : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o3.b?.(1, ...[2, 3], 4) : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o3.b : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >o3 : { b: ((...args: any[]) => { c: string; }) | undefined; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >1 : 1 > : ^ >...[2, 3] : number @@ -355,11 +355,11 @@ o3["b"]?.().c; >o3["b"]?.().c : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o3["b"]?.() : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o3["b"] : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >o3 : { b: ((...args: any[]) => { c: string; }) | undefined; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >"b" : "b" > : ^^^ >c : string | undefined @@ -369,11 +369,11 @@ o3["b"]?.(1).c; >o3["b"]?.(1).c : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o3["b"]?.(1) : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o3["b"] : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >o3 : { b: ((...args: any[]) => { c: string; }) | undefined; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >"b" : "b" > : ^^^ >1 : 1 @@ -385,11 +385,11 @@ o3["b"]?.(...[1, 2]).c; >o3["b"]?.(...[1, 2]).c : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o3["b"]?.(...[1, 2]) : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o3["b"] : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >o3 : { b: ((...args: any[]) => { c: string; }) | undefined; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >"b" : "b" > : ^^^ >...[1, 2] : number @@ -407,11 +407,11 @@ o3["b"]?.(1, ...[2, 3], 4).c; >o3["b"]?.(1, ...[2, 3], 4).c : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o3["b"]?.(1, ...[2, 3], 4) : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o3["b"] : ((...args: any[]) => { c: string; }) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >o3 : { b: ((...args: any[]) => { c: string; }) | undefined; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >"b" : "b" > : ^^^ >1 : 1 @@ -449,9 +449,9 @@ const v: number | undefined = o4?.(incr); >o4?.(incr) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o4 : ((f: (a: T) => T) => T) | undefined -> : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >incr : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ // GH#33744 declare const o5: () => undefined | (() => void); @@ -462,42 +462,42 @@ o5()?.(); >o5()?.() : void | undefined > : ^^^^^^^^^^^^^^^^ >o5() : (() => void) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : () => (() => void) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ +>o5 : () => undefined | (() => void) +> : ^^^^^^^^^ // GH#36031 o2?.b()!.toString; >o2?.b()!.toString : ((radix?: number) => string) | undefined -> : ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^ ^^^^^ ^^^^^^^^^^^^^ >o2?.b()! : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.b() : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.b : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >o2 : { b: (...args: any[]) => number; } | undefined -> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >b : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >toString : ((radix?: number) => string) | undefined -> : ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^ ^^^^^ ^^^^^^^^^^^^^ o2?.b()!.toString!; >o2?.b()!.toString! : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >o2?.b()!.toString : ((radix?: number) => string) | undefined -> : ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^ ^^^^^ ^^^^^^^^^^^^^ >o2?.b()! : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.b() : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.b : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >o2 : { b: (...args: any[]) => number; } | undefined -> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >b : ((...args: any[]) => number) | undefined -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >toString : ((radix?: number) => string) | undefined -> : ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^ ^^^^^ ^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/callChainInference.types b/tests/baselines/reference/callChainInference.types index 1b6f9427399a7..9e7c94a123bce 100644 --- a/tests/baselines/reference/callChainInference.types +++ b/tests/baselines/reference/callChainInference.types @@ -33,11 +33,11 @@ if (value) { >value?.foo("a") : void > : ^^^^ >value?.foo : (this: T, arg: keyof T) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >value : Y > : ^ >foo : (this: T, arg: keyof T) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >"a" : "a" > : ^^^ } @@ -46,11 +46,11 @@ value?.foo("a"); >value?.foo("a") : void | undefined > : ^^^^^^^^^^^^^^^^ >value?.foo : ((this: T, arg: keyof T) => void) | undefined -> : ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >value : Y | undefined > : ^^^^^^^^^^^^^ >foo : ((this: T, arg: keyof T) => void) | undefined -> : ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >"a" : "a" > : ^^^ diff --git a/tests/baselines/reference/callConstructAssignment.types b/tests/baselines/reference/callConstructAssignment.types index 0ffff1b2029d2..f6c70e5598efa 100644 --- a/tests/baselines/reference/callConstructAssignment.types +++ b/tests/baselines/reference/callConstructAssignment.types @@ -11,17 +11,17 @@ var bar:{ new ( ):any; } foo = bar; // error >foo = bar : new () => any -> : ^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >bar : new () => any -> : ^^^^^^^^^^^^^ +> : ^^^^^^^^^^ bar = foo; // error >bar = foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >bar : new () => any -> : ^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/callGenericFunctionWithIncorrectNumberOfTypeArguments.types b/tests/baselines/reference/callGenericFunctionWithIncorrectNumberOfTypeArguments.types index 0758eed8e4e9c..d142977e5f21c 100644 --- a/tests/baselines/reference/callGenericFunctionWithIncorrectNumberOfTypeArguments.types +++ b/tests/baselines/reference/callGenericFunctionWithIncorrectNumberOfTypeArguments.types @@ -18,7 +18,7 @@ var r1 = f(1, ''); >f(1, '') : number > : ^^^^^^ >f : (x: T, y: U) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >'' : "" @@ -30,7 +30,7 @@ var r1b = f(1, ''); >f(1, '') : number > : ^^^^^^ >f : (x: T, y: U) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >'' : "" @@ -52,7 +52,7 @@ var r2 = f2(1, ''); >f2(1, '') : number > : ^^^^^^ >f2 : (x: T, y: U) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >'' : "" @@ -64,7 +64,7 @@ var r2b = f2(1, ''); >f2(1, '') : number > : ^^^^^^ >f2 : (x: T, y: U) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >'' : "" @@ -84,7 +84,7 @@ var r3 = f3(1, ''); >f3(1, '') : number > : ^^^^^^ >f3 : (x: T, y: U) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >'' : "" @@ -96,7 +96,7 @@ var r3b = f3(1, ''); >f3(1, '') : number > : ^^^^^^ >f3 : (x: T, y: U) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >'' : "" @@ -123,7 +123,7 @@ var r4 = (new C()).f(1, ''); >(new C()).f(1, '') : number > : ^^^^^^ >(new C()).f : (x: T, y: U) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >(new C()) : C > : ^ >new C() : C @@ -131,7 +131,7 @@ var r4 = (new C()).f(1, ''); >C : typeof C > : ^^^^^^^^ >f : (x: T, y: U) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >'' : "" @@ -143,7 +143,7 @@ var r4b = (new C()).f(1, ''); >(new C()).f(1, '') : number > : ^^^^^^ >(new C()).f : (x: T, y: U) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >(new C()) : C > : ^ >new C() : C @@ -151,7 +151,7 @@ var r4b = (new C()).f(1, ''); >C : typeof C > : ^^^^^^^^ >f : (x: T, y: U) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >'' : "" @@ -176,11 +176,11 @@ var r5 = i.f(1, ''); >i.f(1, '') : number > : ^^^^^^ >i.f : (x: T, y: U) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >i : I > : ^ >f : (x: T, y: U) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >'' : "" @@ -192,11 +192,11 @@ var r5b = i.f(1, ''); >i.f(1, '') : number > : ^^^^^^ >i.f : (x: T, y: U) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >i : I > : ^ >f : (x: T, y: U) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >'' : "" diff --git a/tests/baselines/reference/callGenericFunctionWithZeroTypeArguments.types b/tests/baselines/reference/callGenericFunctionWithZeroTypeArguments.types index 10b6e3d74833c..0b5ad395d1eee 100644 --- a/tests/baselines/reference/callGenericFunctionWithZeroTypeArguments.types +++ b/tests/baselines/reference/callGenericFunctionWithZeroTypeArguments.types @@ -15,7 +15,7 @@ var r = f(1); >f(1) : 1 > : ^ >f : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >1 : 1 > : ^ @@ -33,7 +33,7 @@ var r2 = f2(1); >f2(1) : 1 > : ^ >f2 : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >1 : 1 > : ^ @@ -49,7 +49,7 @@ var r3 = f3(1); >f3(1) : 1 > : ^ >f3 : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >1 : 1 > : ^ @@ -72,7 +72,7 @@ var r4 = (new C()).f(1); >(new C()).f(1) : 1 > : ^ >(new C()).f : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >(new C()) : C > : ^ >new C() : C @@ -80,7 +80,7 @@ var r4 = (new C()).f(1); >C : typeof C > : ^^^^^^^^ >f : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >1 : 1 > : ^ @@ -101,11 +101,11 @@ var r5 = i.f(1); >i.f(1) : 1 > : ^ >i.f : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >i : I > : ^ >f : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/callNonGenericFunctionWithTypeArguments.types b/tests/baselines/reference/callNonGenericFunctionWithTypeArguments.types index 525810912f37f..b5bfc3d90ccee 100644 --- a/tests/baselines/reference/callNonGenericFunctionWithTypeArguments.types +++ b/tests/baselines/reference/callNonGenericFunctionWithTypeArguments.types @@ -50,7 +50,7 @@ var r3 = f3(1); >f3(1) : any > : ^^^ >f3 : (x: number) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ @@ -102,11 +102,11 @@ var r5 = i.f(1); >i.f(1) : any > : ^^^ >i.f : (x: number) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >i : I > : ^ >f : (x: number) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/callOfConditionalTypeWithConcreteBranches.types b/tests/baselines/reference/callOfConditionalTypeWithConcreteBranches.types index 13d27fa17c87b..18587d635d7c1 100644 --- a/tests/baselines/reference/callOfConditionalTypeWithConcreteBranches.types +++ b/tests/baselines/reference/callOfConditionalTypeWithConcreteBranches.types @@ -36,11 +36,11 @@ fn(m => m.toFixed()); >m.toFixed() : string > : ^^^^^^ >m.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >m : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ fn(m => m.toFixed()); >fn(m => m.toFixed()) : void @@ -54,11 +54,11 @@ fn(m => m.toFixed()); >m.toFixed() : string > : ^^^^^^ >m.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >m : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ // Ensure the following real-world example that relies on substitution still works type ExtractParameters = "parameters" extends keyof T @@ -106,7 +106,7 @@ function fn2(arg: Q2) { >useT(arg) : void > : ^^^^ >useT : (_arg: T) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >arg : T & number > : ^^^^^^^^^^ } @@ -117,13 +117,13 @@ fn2(m => m(42)); >fn2 : (arg: Q2) => void > : ^ ^^ ^^ ^^^^^^^^^ >m => m(42) : (m: (n: number) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^ >m : (n: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >m(42) : void > : ^^^^ >m : (n: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >42 : 42 > : ^^ @@ -133,13 +133,13 @@ fn2(m => m(42)); >fn2 : (arg: Q2) => void > : ^ ^^ ^^ ^^^^^^^^^ >m => m(42) : (m: (n: number) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^ >m : (n: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >m(42) : void > : ^^^^ >m : (n: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >42 : 42 > : ^^ diff --git a/tests/baselines/reference/callOverload.types b/tests/baselines/reference/callOverload.types index 3527c8bf773eb..3cfc7e27afd1d 100644 --- a/tests/baselines/reference/callOverload.types +++ b/tests/baselines/reference/callOverload.types @@ -31,7 +31,7 @@ fn(1) // no error >fn(1) : void > : ^^^^ >fn : (x: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ @@ -39,7 +39,7 @@ fn(1, 2, 3, 4) >fn(1, 2, 3, 4) : void > : ^^^^ >fn : (x: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -53,7 +53,7 @@ takeTwo(1, 2, 3, 4) >takeTwo(1, 2, 3, 4) : void > : ^^^^ >takeTwo : (x: any, y: any) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -67,7 +67,7 @@ withRest('a', ...n); // no error >withRest('a', ...n) : void > : ^^^^ >withRest : (a: any, ...args: Array) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >'a' : "a" > : ^^^ >...n : number @@ -79,13 +79,13 @@ withRest(); >withRest() : void > : ^^^^ >withRest : (a: any, ...args: Array) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ withRest(...n); >withRest(...n) : void > : ^^^^ >withRest : (a: any, ...args: Array) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >...n : number > : ^^^^^^ >n : number[] diff --git a/tests/baselines/reference/callOverloadViaElementAccessExpression.types b/tests/baselines/reference/callOverloadViaElementAccessExpression.types index fbd831abfdb51..a4faf9b674c0a 100644 --- a/tests/baselines/reference/callOverloadViaElementAccessExpression.types +++ b/tests/baselines/reference/callOverloadViaElementAccessExpression.types @@ -7,19 +7,19 @@ class C { foo(x: number): number; >foo : { (x: number): number; (x: string): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ foo(x: string): string; >foo : { (x: number): number; (x: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ foo(x: any): any { >foo : { (x: number): number; (x: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any > : ^^^ @@ -41,7 +41,7 @@ var r: string = c['foo'](1); >c['foo'](1) : number > : ^^^^^^ >c['foo'] : { (x: number): number; (x: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c : C > : ^ >'foo' : "foo" @@ -55,7 +55,7 @@ var r2: number = c['foo'](''); >c['foo']('') : string > : ^^^^^^ >c['foo'] : { (x: number): number; (x: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c : C > : ^ >'foo' : "foo" diff --git a/tests/baselines/reference/callSignatureAssignabilityInInheritance2.types b/tests/baselines/reference/callSignatureAssignabilityInInheritance2.types index 15e63975e28e9..5cab809505661 100644 --- a/tests/baselines/reference/callSignatureAssignabilityInInheritance2.types +++ b/tests/baselines/reference/callSignatureAssignabilityInInheritance2.types @@ -176,7 +176,7 @@ interface A { // T }; a16: { >a16 : { (x: T): number[]; (x: U): number[]; } -> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ (x: T): number[]; >x : T @@ -276,7 +276,7 @@ interface I extends A { a6: (x: (arg: T) => U) => T; // ok, same as a5 but with object type hierarchy >a6 : (x: (arg: T) => U) => T -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : (arg: T) => U > : ^ ^^ ^^^^^ >arg : T @@ -284,7 +284,7 @@ interface I extends A { a7: (x: (arg: T) => U) => (r: T) => U; // ok >a7 : (x: (arg: T) => U) => (r: T) => U -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : (arg: T) => U > : ^ ^^ ^^^^^ >arg : T @@ -294,7 +294,7 @@ interface I extends A { a8: (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U; // ok >a8 : (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : (arg: T) => U > : ^ ^^ ^^^^^ >arg : T @@ -308,7 +308,7 @@ interface I extends A { a9: (x: (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => (r: T) => U; // ok, same as a8 with compatible object literal >a9 : (x: (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => (r: T) => U -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : (arg: T) => U > : ^ ^^ ^^^^^ >arg : T @@ -326,29 +326,29 @@ interface I extends A { a10: (...x: T[]) => T; // ok >a10 : (...x: T[]) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >x : T[] > : ^^^ a11: (x: T, y: T) => T; // ok >a11 : (x: T, y: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T > : ^ >y : T > : ^ a12: >(x: Array, y: T) => Array; // ok, less specific parameter type ->a12 : (x: Array, y: T) => Array -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +>a12 : >(x: Array, y: T) => Array +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : Base[] > : ^^^^^^ >y : T > : ^ a13: >(x: Array, y: T) => T; // ok, T = Array, satisfies constraint, contextual signature instantiation succeeds ->a13 : (x: Array, y: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +>a13 : >(x: Array, y: T) => T +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : Base[] > : ^^^^^^ >y : T @@ -372,7 +372,7 @@ interface I extends A { a16: (x: T) => number[]; // ok >a16 : (x: T) => number[] -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : T > : ^ diff --git a/tests/baselines/reference/callSignatureAssignabilityInInheritance3.types b/tests/baselines/reference/callSignatureAssignabilityInInheritance3.types index 8fa5ddd8d3270..d9e5f51e0da9d 100644 --- a/tests/baselines/reference/callSignatureAssignabilityInInheritance3.types +++ b/tests/baselines/reference/callSignatureAssignabilityInInheritance3.types @@ -159,8 +159,8 @@ module Errors { > : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ (x: { ->x : { (a: T): T; (a: T_1): T_1; } -> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>x : { (a: T): T; (a: T): T; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ (a: T): T; >a : T @@ -172,8 +172,8 @@ module Errors { }): any[]; (x: { ->x : { (a: T): T; (a: T_1): T_1; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>x : { (a: T): T; (a: T): T; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ (a: T): T; >a : T @@ -207,7 +207,7 @@ module Errors { // valid, no inferences for V so it defaults to Derived2 a7: (x: (arg: T) => U) => (r: T) => V; >a7 : (x: (arg: T) => U) => (r: T) => V -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : (arg: T) => U > : ^ ^^ ^^^^^ >arg : T @@ -219,7 +219,7 @@ module Errors { interface I4 extends A { a8: (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U; // error, type mismatch >a8 : (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : (arg: T) => U > : ^ ^^ ^^^^^ >arg : T @@ -237,7 +237,7 @@ module Errors { interface I4B extends A { a10: (...x: T[]) => T; // valid, parameter covariance works even after contextual signature instantiation >a10 : (...x: T[]) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >x : T[] > : ^^^ } @@ -245,7 +245,7 @@ module Errors { interface I4C extends A { a11: (x: T, y: T) => T; // valid, even though x is a Base, parameter covariance works even after contextual signature instantiation >a11 : (x: T, y: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T > : ^ >y : T @@ -254,8 +254,8 @@ module Errors { interface I4E extends A { a12: >(x: Array, y: Array) => T; // valid, no inferences for T, defaults to Array ->a12 : (x: Array, y: Array) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +>a12 : >(x: Array, y: Array) => T +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : Base[] > : ^^^^^^ >y : Base[] @@ -277,7 +277,7 @@ module Errors { interface I7 extends A { a15: (x: { a: T; b: T }) => number; // error, T defaults to Base, which is not compatible with number or string >a15 : (x: { a: T; b: T; }) => number -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : { a: T; b: T; } > : ^^^^^ ^^^^^ ^^^ >a : T diff --git a/tests/baselines/reference/callSignatureAssignabilityInInheritance4.types b/tests/baselines/reference/callSignatureAssignabilityInInheritance4.types index 7f07f1b560a11..ee018820fe0a0 100644 --- a/tests/baselines/reference/callSignatureAssignabilityInInheritance4.types +++ b/tests/baselines/reference/callSignatureAssignabilityInInheritance4.types @@ -71,7 +71,7 @@ interface A { // T a6: (x: (arg: T) => Derived) => T; >a6 : (x: (arg: T) => Derived) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : (arg: T) => Derived > : ^ ^^ ^^^^^ >arg : T @@ -103,7 +103,7 @@ interface A { // T a16: (x: { a: T; b: T }) => T[]; >a16 : (x: { a: T; b: T; }) => T[] -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : { a: T; b: T; } > : ^^^^^ ^^^^^ ^^^ >a : T @@ -112,8 +112,8 @@ interface A { // T > : ^ a17: { ->a17 : { (x: (a: T) => T): T[]; (x: (a: T_1) => T_1): T_1[]; } -> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>a17 : { (x: (a: T) => T): T[]; (x: (a: T) => T): T[]; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ (x: (a: T) => T): T[]; >x : (a: T) => T @@ -133,8 +133,8 @@ interface A { // T > : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ (x: { ->x : { (a: T): T; (a: T_1): T_1; } -> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>x : { (a: T): T; (a: T): T; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ (a: T): T; >a : T @@ -146,8 +146,8 @@ interface A { // T }): any[]; (x: { ->x : { (a: T): T; (a: T_1): T_1; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>x : { (a: T): T; (a: T): T; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ (a: T): T; >a : T @@ -200,7 +200,7 @@ interface I extends A { a6: (x: (arg: T) => U) => T; // ok, same as a5 but with object type hierarchy >a6 : (x: (arg: T) => U) => T -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : (arg: T) => U > : ^ ^^ ^^^^^ >arg : T diff --git a/tests/baselines/reference/callSignatureAssignabilityInInheritance5.types b/tests/baselines/reference/callSignatureAssignabilityInInheritance5.types index 3bcf0f69390bd..c301643b663c1 100644 --- a/tests/baselines/reference/callSignatureAssignabilityInInheritance5.types +++ b/tests/baselines/reference/callSignatureAssignabilityInInheritance5.types @@ -210,7 +210,7 @@ interface I extends B { a6: (x: (arg: T) => U) => T; // ok, same as a5 but with object type hierarchy >a6 : (x: (arg: T) => U) => T -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : (arg: T) => U > : ^ ^^ ^^^^^ >arg : T @@ -218,7 +218,7 @@ interface I extends B { a7: (x: (arg: T) => U) => (r: T) => U; // ok >a7 : (x: (arg: T) => U) => (r: T) => U -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : (arg: T) => U > : ^ ^^ ^^^^^ >arg : T @@ -228,7 +228,7 @@ interface I extends B { a8: (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U; // ok >a8 : (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : (arg: T) => U > : ^ ^^ ^^^^^ >arg : T @@ -242,7 +242,7 @@ interface I extends B { a9: (x: (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => (r: T) => U; // ok, same as a8 with compatible object literal >a9 : (x: (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => (r: T) => U -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : (arg: T) => U > : ^ ^^ ^^^^^ >arg : T @@ -260,29 +260,29 @@ interface I extends B { a10: (...x: T[]) => T; // ok >a10 : (...x: T[]) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >x : T[] > : ^^^ a11: (x: T, y: T) => T; // ok >a11 : (x: T, y: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T > : ^ >y : T > : ^ a12: >(x: Array, y: T) => Array; // ok, less specific parameter type ->a12 : (x: Array, y: T) => Array -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +>a12 : >(x: Array, y: T) => Array +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : Base[] > : ^^^^^^ >y : T > : ^ a13: >(x: Array, y: T) => T; // ok, T = Array, satisfies constraint, contextual signature instantiation succeeds ->a13 : (x: Array, y: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +>a13 : >(x: Array, y: T) => T +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : Base[] > : ^^^^^^ >y : T diff --git a/tests/baselines/reference/callSignatureAssignabilityInInheritance6.types b/tests/baselines/reference/callSignatureAssignabilityInInheritance6.types index 88395d44a5400..aad5979b75398 100644 --- a/tests/baselines/reference/callSignatureAssignabilityInInheritance6.types +++ b/tests/baselines/reference/callSignatureAssignabilityInInheritance6.types @@ -73,7 +73,7 @@ interface A { // T a6: (x: (arg: T) => Derived) => T; >a6 : (x: (arg: T) => Derived) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : (arg: T) => Derived > : ^ ^^ ^^^^^ >arg : T @@ -105,7 +105,7 @@ interface A { // T a16: (x: { a: T; b: T }) => T[]; >a16 : (x: { a: T; b: T; }) => T[] -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : { a: T; b: T; } > : ^^^^^ ^^^^^ ^^^ >a : T diff --git a/tests/baselines/reference/callSignaturesThatDifferOnlyByReturnType.types b/tests/baselines/reference/callSignaturesThatDifferOnlyByReturnType.types index dbd1942a5b30a..3f9366baf4366 100644 --- a/tests/baselines/reference/callSignaturesThatDifferOnlyByReturnType.types +++ b/tests/baselines/reference/callSignaturesThatDifferOnlyByReturnType.types @@ -53,8 +53,8 @@ var a: { } var a2: { ->a2 : { (x: T): number; (x: T_1): string; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ +>a2 : { (x: T): number; (x: T): string; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ (x: T): number; >x : T diff --git a/tests/baselines/reference/callWithMissingVoid.types b/tests/baselines/reference/callWithMissingVoid.types index 625c43256e6ab..a506760c192a2 100644 --- a/tests/baselines/reference/callWithMissingVoid.types +++ b/tests/baselines/reference/callWithMissingVoid.types @@ -128,13 +128,13 @@ new MyPromise(resolve => resolve()); // no error >MyPromise : typeof MyPromise > : ^^^^^^^^^^^^^^^^ >resolve => resolve() : (resolve: (value: void) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ ^^^^^^^^^ >resolve : (value: void) => void -> : ^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ >resolve() : void > : ^^^^ >resolve : (value: void) => void -> : ^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ new MyPromise(resolve => resolve()); // no error >new MyPromise(resolve => resolve()) : MyPromise @@ -142,13 +142,13 @@ new MyPromise(resolve => resolve()); // no error >MyPromise : typeof MyPromise > : ^^^^^^^^^^^^^^^^ >resolve => resolve() : (resolve: (value: number | void) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ >resolve : (value: number | void) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ >resolve() : void > : ^^^^ >resolve : (value: number | void) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ new MyPromise(resolve => resolve()); // error, `any` arguments cannot be omitted >new MyPromise(resolve => resolve()) : MyPromise @@ -156,13 +156,13 @@ new MyPromise(resolve => resolve()); // error, `any` arguments cannot be om >MyPromise : typeof MyPromise > : ^^^^^^^^^^^^^^^^ >resolve => resolve() : (resolve: (value: any) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^^^^^^^^ >resolve : (value: any) => void -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >resolve() : void > : ^^^^ >resolve : (value: any) => void -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ new MyPromise(resolve => resolve()); // error, `unknown` arguments cannot be omitted >new MyPromise(resolve => resolve()) : MyPromise @@ -170,13 +170,13 @@ new MyPromise(resolve => resolve()); // error, `unknown` arguments cann >MyPromise : typeof MyPromise > : ^^^^^^^^^^^^^^^^ >resolve => resolve() : (resolve: (value: unknown) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^ >resolve : (value: unknown) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ >resolve() : void > : ^^^^ >resolve : (value: unknown) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ new MyPromise(resolve => resolve()); // error, `never` arguments cannot be omitted >new MyPromise(resolve => resolve()) : MyPromise @@ -184,13 +184,13 @@ new MyPromise(resolve => resolve()); // error, `never` arguments cannot b >MyPromise : typeof MyPromise > : ^^^^^^^^^^^^^^^^ >resolve => resolve() : (resolve: (value: never) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^ ^^^^^^^^^ >resolve : (value: never) => void -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ >resolve() : void > : ^^^^ >resolve : (value: never) => void -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ // Multiple parameters @@ -211,7 +211,7 @@ a(4, "hello"); // ok >a(4, "hello") : void > : ^^^^ >a : (x: number, y: string, z: void) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >4 : 4 > : ^ >"hello" : "hello" @@ -221,7 +221,7 @@ a(4, "hello", void 0); // ok >a(4, "hello", void 0) : void > : ^^^^ >a : (x: number, y: string, z: void) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >4 : 4 > : ^ >"hello" : "hello" @@ -235,7 +235,7 @@ a(4); // not ok >a(4) : void > : ^^^^ >a : (x: number, y: string, z: void) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >4 : 4 > : ^ @@ -257,7 +257,7 @@ b(4, "hello", void 0, 2); // ok >b(4, "hello", void 0, 2) : void > : ^^^^ >b : (x: number, y: string, z: void, what: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >4 : 4 > : ^ >"hello" : "hello" @@ -273,7 +273,7 @@ b(4, "hello"); // not ok >b(4, "hello") : void > : ^^^^ >b : (x: number, y: string, z: void, what: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >4 : 4 > : ^ >"hello" : "hello" @@ -283,7 +283,7 @@ b(4, "hello", void 0); // not ok >b(4, "hello", void 0) : void > : ^^^^ >b : (x: number, y: string, z: void, what: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >4 : 4 > : ^ >"hello" : "hello" @@ -297,7 +297,7 @@ b(4); // not ok >b(4) : void > : ^^^^ >b : (x: number, y: string, z: void, what: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >4 : 4 > : ^ @@ -317,7 +317,7 @@ c(3, void 0, void 0); // ok >c(3, void 0, void 0) : void > : ^^^^ >c : (x: number | void, y: void, z: void | string | number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >3 : 3 > : ^ >void 0 : undefined @@ -333,7 +333,7 @@ c(3, void 0); // ok >c(3, void 0) : void > : ^^^^ >c : (x: number | void, y: void, z: void | string | number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >3 : 3 > : ^ >void 0 : undefined @@ -345,7 +345,7 @@ c(3); // ok >c(3) : void > : ^^^^ >c : (x: number | void, y: void, z: void | string | number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >3 : 3 > : ^ @@ -353,14 +353,14 @@ c(); // ok >c() : void > : ^^^^ >c : (x: number | void, y: void, z: void | string | number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ // Spread Parameters declare function call( >call : (handler: (...args: TS) => unknown, ...args: TS) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ handler: (...args: TS) => unknown, >handler : (...args: TS) => unknown @@ -376,7 +376,7 @@ call((x: number, y: number) => x + y) // error >call((x: number, y: number) => x + y) : void > : ^^^^ >call : (handler: (...args: TS) => unknown, ...args: TS) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >(x: number, y: number) => x + y : (x: number, y: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : number @@ -394,7 +394,7 @@ call((x: number, y: number) => x + y, 4, 2) // ok >call((x: number, y: number) => x + y, 4, 2) : void > : ^^^^ >call : (handler: (...args: TS) => unknown, ...args: TS) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >(x: number, y: number) => x + y : (x: number, y: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : number @@ -416,7 +416,7 @@ call((x: number, y: void) => x, 4, void 0) // ok >call((x: number, y: void) => x, 4, void 0) : void > : ^^^^ >call : (handler: (...args: TS) => unknown, ...args: TS) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >(x: number, y: void) => x : (x: number, y: void) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : number @@ -436,7 +436,7 @@ call((x: number, y: void) => x, 4) // ok >call((x: number, y: void) => x, 4) : void > : ^^^^ >call : (handler: (...args: TS) => unknown, ...args: TS) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >(x: number, y: void) => x : (x: number, y: void) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : number @@ -452,7 +452,7 @@ call((x: void, y: void) => 42) // ok >call((x: void, y: void) => 42) : void > : ^^^^ >call : (handler: (...args: TS) => unknown, ...args: TS) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >(x: void, y: void) => 42 : (x: void, y: void) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : void @@ -466,7 +466,7 @@ call((x: number | void, y: number | void) => 42) // ok >call((x: number | void, y: number | void) => 42) : void > : ^^^^ >call : (handler: (...args: TS) => unknown, ...args: TS) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >(x: number | void, y: number | void) => 42 : (x: number | void, y: number | void) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : number | void @@ -480,7 +480,7 @@ call((x: number | void, y: number | void) => 42, 4) // ok >call((x: number | void, y: number | void) => 42, 4) : void > : ^^^^ >call : (handler: (...args: TS) => unknown, ...args: TS) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >(x: number | void, y: number | void) => 42 : (x: number | void, y: number | void) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : number | void @@ -496,7 +496,7 @@ call((x: number | void, y: number | void) => 42, 4, 2) // ok >call((x: number | void, y: number | void) => 42, 4, 2) : void > : ^^^^ >call : (handler: (...args: TS) => unknown, ...args: TS) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >(x: number | void, y: number | void) => 42 : (x: number | void, y: number | void) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : number | void diff --git a/tests/baselines/reference/callWithMissingVoidUndefinedUnknownAnyInJs(strict=false).types b/tests/baselines/reference/callWithMissingVoidUndefinedUnknownAnyInJs(strict=false).types index 1e620e286b9b3..eb8b814528534 100644 --- a/tests/baselines/reference/callWithMissingVoidUndefinedUnknownAnyInJs(strict=false).types +++ b/tests/baselines/reference/callWithMissingVoidUndefinedUnknownAnyInJs(strict=false).types @@ -53,66 +53,66 @@ f1(); >f1() : void > : ^^^^ >f1 : (p: void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ o1.m(); >o1.m() : void > : ^^^^ >o1.m : (p: void) => void -> : ^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ >o1 : I > : ^^^^^^^ >m : (p: void) => void -> : ^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ // new behavior: treat 'undefined', 'unknown', and 'any' as optional in non-strict mode f2(); >f2() : void > : ^^^^ >f2 : (p: undefined) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ f3(); >f3() : void > : ^^^^ >f3 : (p: unknown) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ f4(); >f4() : void > : ^^^^ >f4 : (p: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ o2.m(); >o2.m() : void > : ^^^^ >o2.m : (p: undefined) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^ >o2 : I > : ^^^^^^^^^^^^ >m : (p: undefined) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^ o3.m(); >o3.m() : void > : ^^^^ >o3.m : (p: unknown) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ >o3 : I > : ^^^^^^^^^^ >m : (p: unknown) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ o4.m(); >o4.m() : void > : ^^^^ >o4.m : (p: any) => void -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >o4 : I > : ^^^^^^ >m : (p: any) => void -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ === tsfile.ts === // current behavior: treat trailing `void` as optional @@ -120,64 +120,64 @@ f1(); >f1() : void > : ^^^^ >f1 : (p: void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ o1.m(); >o1.m() : void > : ^^^^ >o1.m : (p: void) => void -> : ^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ >o1 : I > : ^^^^^^^ >m : (p: void) => void -> : ^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ // no change in behavior f2(); >f2() : void > : ^^^^ >f2 : (p: undefined) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ f3(); >f3() : void > : ^^^^ >f3 : (p: unknown) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ f4(); >f4() : void > : ^^^^ >f4 : (p: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ o2.m(); >o2.m() : void > : ^^^^ >o2.m : (p: undefined) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^ >o2 : I > : ^^^^^^^^^^^^ >m : (p: undefined) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^ o3.m(); >o3.m() : void > : ^^^^ >o3.m : (p: unknown) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ >o3 : I > : ^^^^^^^^^^ >m : (p: unknown) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ o4.m(); >o4.m() : void > : ^^^^ >o4.m : (p: any) => void -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >o4 : I > : ^^^^^^ >m : (p: any) => void -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ diff --git a/tests/baselines/reference/callWithMissingVoidUndefinedUnknownAnyInJs(strict=true).types b/tests/baselines/reference/callWithMissingVoidUndefinedUnknownAnyInJs(strict=true).types index 1e620e286b9b3..eb8b814528534 100644 --- a/tests/baselines/reference/callWithMissingVoidUndefinedUnknownAnyInJs(strict=true).types +++ b/tests/baselines/reference/callWithMissingVoidUndefinedUnknownAnyInJs(strict=true).types @@ -53,66 +53,66 @@ f1(); >f1() : void > : ^^^^ >f1 : (p: void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ o1.m(); >o1.m() : void > : ^^^^ >o1.m : (p: void) => void -> : ^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ >o1 : I > : ^^^^^^^ >m : (p: void) => void -> : ^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ // new behavior: treat 'undefined', 'unknown', and 'any' as optional in non-strict mode f2(); >f2() : void > : ^^^^ >f2 : (p: undefined) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ f3(); >f3() : void > : ^^^^ >f3 : (p: unknown) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ f4(); >f4() : void > : ^^^^ >f4 : (p: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ o2.m(); >o2.m() : void > : ^^^^ >o2.m : (p: undefined) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^ >o2 : I > : ^^^^^^^^^^^^ >m : (p: undefined) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^ o3.m(); >o3.m() : void > : ^^^^ >o3.m : (p: unknown) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ >o3 : I > : ^^^^^^^^^^ >m : (p: unknown) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ o4.m(); >o4.m() : void > : ^^^^ >o4.m : (p: any) => void -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >o4 : I > : ^^^^^^ >m : (p: any) => void -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ === tsfile.ts === // current behavior: treat trailing `void` as optional @@ -120,64 +120,64 @@ f1(); >f1() : void > : ^^^^ >f1 : (p: void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ o1.m(); >o1.m() : void > : ^^^^ >o1.m : (p: void) => void -> : ^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ >o1 : I > : ^^^^^^^ >m : (p: void) => void -> : ^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ // no change in behavior f2(); >f2() : void > : ^^^^ >f2 : (p: undefined) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ f3(); >f3() : void > : ^^^^ >f3 : (p: unknown) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ f4(); >f4() : void > : ^^^^ >f4 : (p: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ o2.m(); >o2.m() : void > : ^^^^ >o2.m : (p: undefined) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^ >o2 : I > : ^^^^^^^^^^^^ >m : (p: undefined) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^ o3.m(); >o3.m() : void > : ^^^^ >o3.m : (p: unknown) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ >o3 : I > : ^^^^^^^^^^ >m : (p: unknown) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ o4.m(); >o4.m() : void > : ^^^^ >o4.m : (p: any) => void -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >o4 : I > : ^^^^^^ >m : (p: any) => void -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ diff --git a/tests/baselines/reference/callWithSpread.types b/tests/baselines/reference/callWithSpread.types index 43b1f87683b82..8aef499d6fd7e 100644 --- a/tests/baselines/reference/callWithSpread.types +++ b/tests/baselines/reference/callWithSpread.types @@ -86,11 +86,11 @@ obj.foo(1, 2, "abc"); >obj.foo(1, 2, "abc") : X > : ^ >obj.foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >obj : X > : ^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -102,11 +102,11 @@ obj.foo(1, 2, ...a); >obj.foo(1, 2, ...a) : X > : ^ >obj.foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >obj : X > : ^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -120,11 +120,11 @@ obj.foo(1, 2, ...a, "abc"); >obj.foo(1, 2, ...a, "abc") : X > : ^ >obj.foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >obj : X > : ^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -140,15 +140,15 @@ obj.foo(1, 2, ...a).foo(1, 2, "abc"); >obj.foo(1, 2, ...a).foo(1, 2, "abc") : X > : ^ >obj.foo(1, 2, ...a).foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >obj.foo(1, 2, ...a) : X > : ^ >obj.foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >obj : X > : ^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -158,7 +158,7 @@ obj.foo(1, 2, ...a).foo(1, 2, "abc"); >a : string[] > : ^^^^^^^^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -170,15 +170,15 @@ obj.foo(1, 2, ...a).foo(1, 2, ...a); >obj.foo(1, 2, ...a).foo(1, 2, ...a) : X > : ^ >obj.foo(1, 2, ...a).foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >obj.foo(1, 2, ...a) : X > : ^ >obj.foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >obj : X > : ^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -188,7 +188,7 @@ obj.foo(1, 2, ...a).foo(1, 2, ...a); >a : string[] > : ^^^^^^^^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -202,15 +202,15 @@ obj.foo(1, 2, ...a).foo(1, 2, ...a, "abc"); >obj.foo(1, 2, ...a).foo(1, 2, ...a, "abc") : X > : ^ >obj.foo(1, 2, ...a).foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >obj.foo(1, 2, ...a) : X > : ^ >obj.foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >obj : X > : ^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -220,7 +220,7 @@ obj.foo(1, 2, ...a).foo(1, 2, ...a, "abc"); >a : string[] > : ^^^^^^^^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -236,13 +236,13 @@ obj.foo(1, 2, ...a).foo(1, 2, ...a, "abc"); >(obj.foo)(1, 2, "abc") : X > : ^ >(obj.foo) : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >obj.foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >obj : X > : ^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -254,13 +254,13 @@ obj.foo(1, 2, ...a).foo(1, 2, ...a, "abc"); >(obj.foo)(1, 2, ...a) : X > : ^ >(obj.foo) : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >obj.foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >obj : X > : ^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -274,13 +274,13 @@ obj.foo(1, 2, ...a).foo(1, 2, ...a, "abc"); >(obj.foo)(1, 2, ...a, "abc") : X > : ^ >(obj.foo) : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >obj.foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >obj : X > : ^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -296,19 +296,19 @@ obj.foo(1, 2, ...a).foo(1, 2, ...a, "abc"); >((obj.foo)(1, 2, ...a).foo)(1, 2, "abc") : X > : ^ >((obj.foo)(1, 2, ...a).foo) : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >(obj.foo)(1, 2, ...a).foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >(obj.foo)(1, 2, ...a) : X > : ^ >(obj.foo) : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >obj.foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >obj : X > : ^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -318,7 +318,7 @@ obj.foo(1, 2, ...a).foo(1, 2, ...a, "abc"); >a : string[] > : ^^^^^^^^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -330,19 +330,19 @@ obj.foo(1, 2, ...a).foo(1, 2, ...a, "abc"); >((obj.foo)(1, 2, ...a).foo)(1, 2, ...a) : X > : ^ >((obj.foo)(1, 2, ...a).foo) : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >(obj.foo)(1, 2, ...a).foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >(obj.foo)(1, 2, ...a) : X > : ^ >(obj.foo) : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >obj.foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >obj : X > : ^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -352,7 +352,7 @@ obj.foo(1, 2, ...a).foo(1, 2, ...a, "abc"); >a : string[] > : ^^^^^^^^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -366,19 +366,19 @@ obj.foo(1, 2, ...a).foo(1, 2, ...a, "abc"); >((obj.foo)(1, 2, ...a).foo)(1, 2, ...a, "abc") : X > : ^ >((obj.foo)(1, 2, ...a).foo) : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >(obj.foo)(1, 2, ...a).foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >(obj.foo)(1, 2, ...a) : X > : ^ >(obj.foo) : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >obj.foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >obj : X > : ^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -388,7 +388,7 @@ obj.foo(1, 2, ...a).foo(1, 2, ...a, "abc"); >a : string[] > : ^^^^^^^^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -404,7 +404,7 @@ xa[1].foo(1, 2, "abc"); >xa[1].foo(1, 2, "abc") : X > : ^ >xa[1].foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >xa[1] : X > : ^ >xa : X[] @@ -412,7 +412,7 @@ xa[1].foo(1, 2, "abc"); >1 : 1 > : ^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -424,7 +424,7 @@ xa[1].foo(1, 2, ...a); >xa[1].foo(1, 2, ...a) : X > : ^ >xa[1].foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >xa[1] : X > : ^ >xa : X[] @@ -432,7 +432,7 @@ xa[1].foo(1, 2, ...a); >1 : 1 > : ^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -446,7 +446,7 @@ xa[1].foo(1, 2, ...a, "abc"); >xa[1].foo(1, 2, ...a, "abc") : X > : ^ >xa[1].foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >xa[1] : X > : ^ >xa : X[] @@ -454,7 +454,7 @@ xa[1].foo(1, 2, ...a, "abc"); >1 : 1 > : ^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -473,7 +473,7 @@ xa[1].foo(1, 2, ...a, "abc"); >xa[1].foo : Function > : ^^^^^^^^ >xa[1].foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >xa[1] : X > : ^ >xa : X[] @@ -481,7 +481,7 @@ xa[1].foo(1, 2, ...a, "abc"); >1 : 1 > : ^ >foo : (x: number, y: number, ...z: string[]) => X -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >...[1, 2, "abc"] : string | number > : ^^^^^^^^^^^^^^^ >[1, 2, "abc"] : [number, number, string] diff --git a/tests/baselines/reference/callWithSpread2.types b/tests/baselines/reference/callWithSpread2.types index 205db13e539dd..46bc52ec63880 100644 --- a/tests/baselines/reference/callWithSpread2.types +++ b/tests/baselines/reference/callWithSpread2.types @@ -78,7 +78,7 @@ all(...ns) >all(...ns) : void > : ^^^^ >all : (a?: number, b?: number) => void -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >...ns : number > : ^^^^^^ >ns : number[] @@ -88,7 +88,7 @@ weird(...ns) >weird(...ns) : void > : ^^^^ >weird : (a?: number | string, b?: number | string) => void -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >...ns : number > : ^^^^^^ >ns : number[] @@ -98,7 +98,7 @@ weird(...mixed) >weird(...mixed) : void > : ^^^^ >weird : (a?: number | string, b?: number | string) => void -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >...mixed : string | number > : ^^^^^^^^^^^^^^^ >mixed : (string | number)[] @@ -108,7 +108,7 @@ weird(...tuple) >weird(...tuple) : void > : ^^^^ >weird : (a?: number | string, b?: number | string) => void -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >...tuple : string | number > : ^^^^^^^^^^^^^^^ >tuple : [number, string] @@ -118,7 +118,7 @@ prefix("a", ...ns) >prefix("a", ...ns) : void > : ^^^^ >prefix : (s: string, a?: number, b?: number) => void -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >"a" : "a" > : ^^^ >...ns : number @@ -130,7 +130,7 @@ rest("d", ...ns) >rest("d", ...ns) : void > : ^^^^ >rest : (s: string, a?: number, b?: number, ...rest: number[]) => void -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ >"d" : "d" > : ^^^ >...ns : number @@ -144,7 +144,7 @@ normal("g", ...ns) >normal("g", ...ns) : void > : ^^^^ >normal : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"g" : "g" > : ^^^ >...ns : number @@ -156,7 +156,7 @@ thunk(...ns) >thunk(...ns) : string > : ^^^^^^ >thunk : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >...ns : number > : ^^^^^^ >ns : number[] @@ -167,7 +167,7 @@ all(...mixed) >all(...mixed) : void > : ^^^^ >all : (a?: number, b?: number) => void -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >...mixed : string | number > : ^^^^^^^^^^^^^^^ >mixed : (string | number)[] @@ -177,7 +177,7 @@ all(...tuple) >all(...tuple) : void > : ^^^^ >all : (a?: number, b?: number) => void -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >...tuple : string | number > : ^^^^^^^^^^^^^^^ >tuple : [number, string] @@ -187,7 +187,7 @@ prefix("b", ...mixed) >prefix("b", ...mixed) : void > : ^^^^ >prefix : (s: string, a?: number, b?: number) => void -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >"b" : "b" > : ^^^ >...mixed : string | number @@ -199,7 +199,7 @@ prefix("c", ...tuple) >prefix("c", ...tuple) : void > : ^^^^ >prefix : (s: string, a?: number, b?: number) => void -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >"c" : "c" > : ^^^ >...tuple : string | number @@ -211,7 +211,7 @@ rest("e", ...mixed) >rest("e", ...mixed) : void > : ^^^^ >rest : (s: string, a?: number, b?: number, ...rest: number[]) => void -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ >"e" : "e" > : ^^^ >...mixed : string | number @@ -223,7 +223,7 @@ rest("f", ...tuple) >rest("f", ...tuple) : void > : ^^^^ >rest : (s: string, a?: number, b?: number, ...rest: number[]) => void -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ >"f" : "f" > : ^^^ >...tuple : string | number @@ -235,7 +235,7 @@ prefix(...ns) // required parameters are required >prefix(...ns) : void > : ^^^^ >prefix : (s: string, a?: number, b?: number) => void -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >...ns : number > : ^^^^^^ >ns : number[] @@ -245,7 +245,7 @@ prefix(...mixed) >prefix(...mixed) : void > : ^^^^ >prefix : (s: string, a?: number, b?: number) => void -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >...mixed : string | number > : ^^^^^^^^^^^^^^^ >mixed : (string | number)[] @@ -255,7 +255,7 @@ prefix(...tuple) >prefix(...tuple) : void > : ^^^^ >prefix : (s: string, a?: number, b?: number) => void -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >...tuple : string | number > : ^^^^^^^^^^^^^^^ >tuple : [number, string] @@ -265,7 +265,7 @@ prefix2("g", ...ns); >prefix2("g", ...ns) : void > : ^^^^ >prefix2 : (s: string, n: number, a?: number, b?: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >"g" : "g" > : ^^^ >...ns : number diff --git a/tests/baselines/reference/callWithSpread3.types b/tests/baselines/reference/callWithSpread3.types index 3e9c494427090..e5b6154edc0ad 100644 --- a/tests/baselines/reference/callWithSpread3.types +++ b/tests/baselines/reference/callWithSpread3.types @@ -72,7 +72,7 @@ fs2('a', ...s2); // error on ...s2 >fs2('a', ...s2) : void > : ^^^^ >fs2 : (a: string, b: string) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >'a' : "a" > : ^^^ >...s2 : string @@ -84,7 +84,7 @@ fs2('a', 'b', 'c', ...s2); // error on 'c' and ...s2 >fs2('a', 'b', 'c', ...s2) : void > : ^^^^ >fs2 : (a: string, b: string) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >'a' : "a" > : ^^^ >'b' : "b" @@ -100,7 +100,7 @@ fs2('a', 'b', ...s2, 'c'); // error on ...s2 and 'c' >fs2('a', 'b', ...s2, 'c') : void > : ^^^^ >fs2 : (a: string, b: string) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >'a' : "a" > : ^^^ >'b' : "b" @@ -116,7 +116,7 @@ fs2('a', 'b', 'c', ...s2, 'd'); // error on 'c', ...s2 and 'd' >fs2('a', 'b', 'c', ...s2, 'd') : void > : ^^^^ >fs2 : (a: string, b: string) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >'a' : "a" > : ^^^ >'b' : "b" @@ -134,7 +134,7 @@ fs2(...s2, 'a'); // error on 'a' >fs2(...s2, 'a') : void > : ^^^^ >fs2 : (a: string, b: string) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >...s2 : string > : ^^^^^^ >s2 : [string, string] @@ -146,7 +146,7 @@ fs2(...s3); // error on ...s3 >fs2(...s3) : void > : ^^^^ >fs2 : (a: string, b: string) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >...s3 : string > : ^^^^^^ >s3 : [string, string, string] @@ -156,7 +156,7 @@ fs2_(...s_); // error on ...s_ >fs2_(...s_) : void > : ^^^^ >fs2_ : (a: string, b: string, ...c: string[]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >...s_ : string > : ^^^^^^ >s_ : string[] @@ -166,7 +166,7 @@ fs2_(...s2n_); // error on ...s2n_ >fs2_(...s2n_) : void > : ^^^^ >fs2_ : (a: string, b: string, ...c: string[]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >...s2n_ : string | number > : ^^^^^^^^^^^^^^^ >s2n_ : [string, string, ...number[]] @@ -176,7 +176,7 @@ fs2_(...s_, ...s_); // error on ...s_ >fs2_(...s_, ...s_) : void > : ^^^^ >fs2_ : (a: string, b: string, ...c: string[]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >...s_ : string > : ^^^^^^ >s_ : string[] @@ -190,7 +190,7 @@ fs2_(...s_, ...s_, ...s_); // error on ...s_ >fs2_(...s_, ...s_, ...s_) : void > : ^^^^ >fs2_ : (a: string, b: string, ...c: string[]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >...s_ : string > : ^^^^^^ >s_ : string[] @@ -209,7 +209,7 @@ fs2n_(...s2_); // error on ...s2_ >fs2n_(...s2_) : void > : ^^^^ >fs2n_ : (a: string, b: string, ...c: number[]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >...s2_ : string > : ^^^^^^ >s2_ : [string, string, ...string[]] @@ -220,7 +220,7 @@ fs2_(...s2_); >fs2_(...s2_) : void > : ^^^^ >fs2_ : (a: string, b: string, ...c: string[]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >...s2_ : string > : ^^^^^^ >s2_ : [string, string, ...string[]] @@ -230,7 +230,7 @@ fs2_(...s2_, ...s_); >fs2_(...s2_, ...s_) : void > : ^^^^ >fs2_ : (a: string, b: string, ...c: string[]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >...s2_ : string > : ^^^^^^ >s2_ : [string, string, ...string[]] @@ -244,7 +244,7 @@ fs2_(...s2_, ...s2_); >fs2_(...s2_, ...s2_) : void > : ^^^^ >fs2_ : (a: string, b: string, ...c: string[]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >...s2_ : string > : ^^^^^^ >s2_ : [string, string, ...string[]] @@ -258,7 +258,7 @@ fs2_(...s_, ...s2_); >fs2_(...s_, ...s2_) : void > : ^^^^ >fs2_ : (a: string, b: string, ...c: string[]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >...s_ : string > : ^^^^^^ >s_ : string[] @@ -272,7 +272,7 @@ fs2n_(...s2n_); >fs2n_(...s2n_) : void > : ^^^^ >fs2n_ : (a: string, b: string, ...c: number[]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >...s2n_ : string | number > : ^^^^^^^^^^^^^^^ >s2n_ : [string, string, ...number[]] @@ -282,7 +282,7 @@ fs2n_(...s2); >fs2n_(...s2) : void > : ^^^^ >fs2n_ : (a: string, b: string, ...c: number[]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >...s2 : string > : ^^^^^^ >s2 : [string, string] @@ -293,7 +293,7 @@ fs5(...s2, "foo", ...s2); >fs5(...s2, "foo", ...s2) : void > : ^^^^ >fs5 : (a: string, b: string, c: string, d: string, e: string) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >...s2 : string > : ^^^^^^ >s2 : [string, string] diff --git a/tests/baselines/reference/callWithSpread4.types b/tests/baselines/reference/callWithSpread4.types index a03e4891f28bf..52a3a995a8d20 100644 --- a/tests/baselines/reference/callWithSpread4.types +++ b/tests/baselines/reference/callWithSpread4.types @@ -80,7 +80,7 @@ pli( >pli( reads, ...gun, tr, fun, ...gz, writes) : Promise > : ^^^^^^^^^^^^^ >pli : { (s1: R, s2: RW, s3: RW, s4: RW, s5: W): Promise; (streams: ReadonlyArray): Promise; (s1: R, s2: RW | W, ...streams: Array): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ reads, >reads : R @@ -98,7 +98,7 @@ pli( fun, >fun : (inp: any) => AsyncGenerator -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ...gz, >...gz : RW @@ -128,7 +128,7 @@ test(...anys) >test(...anys) : string | undefined > : ^^^^^^^^^^^^^^^^^^ >test : (x: any, y: () => string) => string | undefined -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >...anys : any > : ^^^ >anys : any[] @@ -138,7 +138,7 @@ pli(...[reads, writes, writes] as const) >pli(...[reads, writes, writes] as const) : Promise > : ^^^^^^^^^^^^^ >pli : { (s1: R, s2: RW, s3: RW, s4: RW, s5: W): Promise; (streams: ReadonlyArray): Promise; (s1: R, s2: RW | W, ...streams: Array): Promise; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >...[reads, writes, writes] as const : R | W > : ^^^^^ >[reads, writes, writes] as const : readonly [R, W, W] diff --git a/tests/baselines/reference/callWithSpread5.types b/tests/baselines/reference/callWithSpread5.types index 62cfdfb91db87..85ef8ce296437 100644 --- a/tests/baselines/reference/callWithSpread5.types +++ b/tests/baselines/reference/callWithSpread5.types @@ -29,7 +29,7 @@ fn(...nnnu, x) >fn(...nnnu, x) : number > : ^^^^^^ >fn : (a: number, b: number, bb: number, ...c: number[]) => number -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >...nnnu : number > : ^^^^^^ >nnnu : [number, number, number?] @@ -41,7 +41,7 @@ fn(...nntnnnt, x) >fn(...nntnnnt, x) : number > : ^^^^^^ >fn : (a: number, b: number, bb: number, ...c: number[]) => number -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >...nntnnnt : number > : ^^^^^^ >nntnnnt : [number, number] | [number, number, number] diff --git a/tests/baselines/reference/callbackOnConstructor.types b/tests/baselines/reference/callbackOnConstructor.types index 5f29d608e1e61..70e112b4adfc9 100644 --- a/tests/baselines/reference/callbackOnConstructor.types +++ b/tests/baselines/reference/callbackOnConstructor.types @@ -22,8 +22,8 @@ export class Preferences { /** @type {ValueGetter_2} */ var ooscope2 = s => s.length > 0 ->ooscope2 : (name: string) => string | number | boolean -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>ooscope2 : (name: string) => boolean | number | string | undefined +> : ^ ^^ ^^^^^ >s => s.length > 0 : (s: string) => string | number | boolean > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >s : string diff --git a/tests/baselines/reference/callbackTag1.types b/tests/baselines/reference/callbackTag1.types index 763c1b669b9f9..550979fc84d00 100644 --- a/tests/baselines/reference/callbackTag1.types +++ b/tests/baselines/reference/callbackTag1.types @@ -32,15 +32,15 @@ var noreturn = obj => void obj.title >noreturn : NoReturn > : ^^^^^^^^ >obj => void obj.title : (obj: { e: number; m: number; title: string; }) => any -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^^ >obj : { e: number; m: number; title: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^ ^^^ >void obj.title : undefined > : ^^^^^^^^^ >obj.title : string > : ^^^^^^ >obj : { e: number; m: number; title: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^ ^^^ >title : string > : ^^^^^^ diff --git a/tests/baselines/reference/callbackTag4.types b/tests/baselines/reference/callbackTag4.types index e82a6296d66b5..95f1eb61a711b 100644 --- a/tests/baselines/reference/callbackTag4.types +++ b/tests/baselines/reference/callbackTag4.types @@ -14,7 +14,7 @@ const cb = function (a, b) { >cb : C > : ^ >function (a, b) { this return true} : (this: { a: string; b: number; }, a: string, b: number) => boolean -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^ ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >a : string > : ^^^^^^ >b : number @@ -22,7 +22,7 @@ const cb = function (a, b) { this >this : { a: string; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ return true >true : true diff --git a/tests/baselines/reference/callbackTagNamespace.types b/tests/baselines/reference/callbackTagNamespace.types index bb17304ad8799..cde356b407a60 100644 --- a/tests/baselines/reference/callbackTagNamespace.types +++ b/tests/baselines/reference/callbackTagNamespace.types @@ -16,7 +16,7 @@ var x = 1; /** @type {NS.Nested.Inner} */ function f(space, peace) { >f : (space: any, peace: any) => string | number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^^^^^^ >space : any >peace : any diff --git a/tests/baselines/reference/callbacksDontShareTypes.types b/tests/baselines/reference/callbacksDontShareTypes.types index 1d3ab90b69e0f..be80668f9e26b 100644 --- a/tests/baselines/reference/callbacksDontShareTypes.types +++ b/tests/baselines/reference/callbacksDontShareTypes.types @@ -21,7 +21,7 @@ interface Collection { interface Combinators { map(c: Collection, f: (x: T) => U): Collection; >map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T_1) => any): Collection; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c : Collection > : ^^^^^^^^^^^^^ >f : (x: T) => U @@ -31,7 +31,7 @@ interface Combinators { map(c: Collection, f: (x: T) => any): Collection; >map : { (c: Collection, f: (x: T_1) => U): Collection; (c: Collection, f: (x: T) => any): Collection; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c : Collection > : ^^^^^^^^^^^^^ >f : (x: T) => any @@ -58,23 +58,23 @@ var rf1 = (x: number) => { return x.toFixed() }; >x.toFixed() : string > : ^^^^^^ >x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var r1a = _.map(c2, (x) => { return x.toFixed() }); >r1a : Collection > : ^^^^^^^^^^^^^^^^^^ >_.map(c2, (x) => { return x.toFixed() }) : Collection > : ^^^^^^^^^^^^^^^^^^ ->_.map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T_1) => any): Collection; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>_.map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T) => any): Collection; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >_ : Combinators > : ^^^^^^^^^^^ ->map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T_1) => any): Collection; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T) => any): Collection; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c2 : Collection > : ^^^^^^^^^^^^^^^^^^ >(x) => { return x.toFixed() } : (x: number) => string @@ -84,23 +84,23 @@ var r1a = _.map(c2, (x) => { return x.toFixed() }); >x.toFixed() : string > : ^^^^^^ >x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var r1b = _.map(c2, rf1); // this line should not cause the following 2 to have errors >r1b : Collection > : ^^^^^^^^^^^^^^^^^^ >_.map(c2, rf1) : Collection > : ^^^^^^^^^^^^^^^^^^ ->_.map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T_1) => any): Collection; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>_.map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T) => any): Collection; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >_ : Combinators > : ^^^^^^^^^^^ ->map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T_1) => any): Collection; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T) => any): Collection; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c2 : Collection > : ^^^^^^^^^^^^^^^^^^ >rf1 : (x: number) => string @@ -111,12 +111,12 @@ var r5a = _.map(c2, (x) => { return x.toFixed() }); > : ^^^^^^^^^^^^^^^^^^ >_.map(c2, (x) => { return x.toFixed() }) : Collection > : ^^^^^^^^^^^^^^^^^^ ->_.map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T_1) => any): Collection; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>_.map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T) => any): Collection; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >_ : Combinators > : ^^^^^^^^^^^ ->map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T_1) => any): Collection; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T) => any): Collection; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c2 : Collection > : ^^^^^^^^^^^^^^^^^^ >(x) => { return x.toFixed() } : (x: number) => string @@ -126,23 +126,23 @@ var r5a = _.map(c2, (x) => { return x.toFixed() }); >x.toFixed() : string > : ^^^^^^ >x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var r5b = _.map(c2, rf1); >r5b : Collection > : ^^^^^^^^^^^^^^^^^^ >_.map(c2, rf1) : Collection > : ^^^^^^^^^^^^^^^^^^ ->_.map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T_1) => any): Collection; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>_.map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T) => any): Collection; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >_ : Combinators > : ^^^^^^^^^^^ ->map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T_1) => any): Collection; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T) => any): Collection; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c2 : Collection > : ^^^^^^^^^^^^^^^^^^ >rf1 : (x: number) => string diff --git a/tests/baselines/reference/callsOnComplexSignatures.types b/tests/baselines/reference/callsOnComplexSignatures.types index 968ad1f8dcafb..a9a9805eb5554 100644 --- a/tests/baselines/reference/callsOnComplexSignatures.types +++ b/tests/baselines/reference/callsOnComplexSignatures.types @@ -43,7 +43,7 @@ function test1() { function test(t: Temp1 | Temp2) { >test : (t: Temp1 | Temp2) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^^^^^^^^^^ >t : Temp1 | Temp2 > : ^^^^^^^^^^^^^ @@ -53,11 +53,11 @@ function test1() { >t.getValue("bar") : string | number > : ^^^^^^^^^^^^^^^ >t.getValue : ((name: "foo" | "bar") => number) | ((name: "bar" | "baz") => string) -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^ >t : Temp1 | Temp2 > : ^^^^^^^^^^^^^ >getValue : ((name: "foo" | "bar") => number) | ((name: "bar" | "baz") => string) -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^ >"bar" : "bar" > : ^^^^^ } @@ -93,25 +93,25 @@ function test2() { >messages : Messages > : ^^^^^^^^ >{ foo: (options) => "Foo", bar: (options) => "Bar", } : { foo: (options: { [key: string]: any; b: number; }) => string; bar: (options: { [key: string]: any; a: string; }) => string; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ foo: (options) => "Foo", >foo : (options: { [key: string]: any; b: number; }) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ >(options) => "Foo" : (options: { [key: string]: any; b: number; }) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ >options : { [key: string]: any; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >"Foo" : "Foo" > : ^^^^^ bar: (options) => "Bar", >bar : (options: { [key: string]: any; a: string; }) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ >(options) => "Bar" : (options: { [key: string]: any; a: string; }) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ >options : { [key: string]: any; a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >"Bar" : "Bar" > : ^^^^^ @@ -129,7 +129,7 @@ function test2() { >messages[type]({ a: "A", b: 0 }) : string > : ^^^^^^ >messages[type] : ((options: { [key: string]: any; b: number; }) => string) | ((options: { [key: string]: any; a: string; }) => string) -> : ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ >messages : Messages > : ^^^^^^^^ >type : "foo" | "bar" @@ -156,11 +156,11 @@ function test3(items: string[] | number[]) { >items.forEach(item => console.log(item)) : void > : ^^^^ >items.forEach : ((callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void) | ((callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void) -> : ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^ >items : string[] | number[] > : ^^^^^^^^^^^^^^^^^^^ >forEach : ((callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void) | ((callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void) -> : ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^ >item => console.log(item) : (item: string | number) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >item : string | number @@ -168,11 +168,11 @@ function test3(items: string[] | number[]) { >console.log(item) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >item : string | number > : ^^^^^^^^^^^^^^^ } @@ -278,13 +278,13 @@ function test4( >arg1() : number > : ^^^^^^ >arg1 : ((...objs: { x: number; }[]) => number) | ((...objs: { y: number; }[]) => number) -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^ ^^ ^^^^^ ^ arg1({x: 0, y: 0}); >arg1({x: 0, y: 0}) : number > : ^^^^^^ >arg1 : ((...objs: { x: number; }[]) => number) | ((...objs: { y: number; }[]) => number) -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^ ^^ ^^^^^ ^ >{x: 0, y: 0} : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -300,7 +300,7 @@ function test4( >arg1({x: 0, y: 0}, {x: 1, y: 1}) : number > : ^^^^^^ >arg1 : ((...objs: { x: number; }[]) => number) | ((...objs: { y: number; }[]) => number) -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^^^^^^^ ^^ ^^^^^ ^ >{x: 0, y: 0} : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -326,7 +326,7 @@ function test4( >arg2({x: 0}, {x: 0}) : number > : ^^^^^^ >arg2 : ((a: { x: number; }, b: object) => number) | ((a: object, b: { x: number; }) => number) -> : ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^ >{x: 0} : { x: number; } > : ^^^^^^^^^^^^^^ >x : number @@ -344,7 +344,7 @@ function test4( >arg3({x: 0}) : number > : ^^^^^^ >arg3 : ((a: { x: number; }, ...objs: { y: number; }[]) => number) | ((...objs: { x: number; }[]) => number) -> : ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^ ^^^^^ ^^^^^^^^^ ^^ ^^^^^ ^ >{x: 0} : { x: number; } > : ^^^^^^^^^^^^^^ >x : number @@ -356,7 +356,7 @@ function test4( >arg3({x: 0}, {x: 0, y: 0}) : number > : ^^^^^^ >arg3 : ((a: { x: number; }, ...objs: { y: number; }[]) => number) | ((...objs: { x: number; }[]) => number) -> : ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^ ^^^^^ ^^^^^^^^^ ^^ ^^^^^ ^ >{x: 0} : { x: number; } > : ^^^^^^^^^^^^^^ >x : number @@ -378,7 +378,7 @@ function test4( >arg3({x: 0}, {x: 0, y: 0}, {x: 0, y: 0}) : number > : ^^^^^^ >arg3 : ((a: { x: number; }, ...objs: { y: number; }[]) => number) | ((...objs: { x: number; }[]) => number) -> : ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^ ^^^^^ ^^^^^^^^^ ^^ ^^^^^ ^ >{x: 0} : { x: number; } > : ^^^^^^^^^^^^^^ >x : number @@ -410,13 +410,13 @@ function test4( >arg4() : number > : ^^^^^^ >arg4 : ((a?: { x: number; }, b?: { x: number; }) => number) | ((a?: { y: number; }) => number) -> : ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^ ^^^ ^^ ^^^ ^^^^^ ^^^^^^ ^^^ ^^^^^ ^ arg4({x: 0, y: 0}); >arg4({x: 0, y: 0}) : number > : ^^^^^^ >arg4 : ((a?: { x: number; }, b?: { x: number; }) => number) | ((a?: { y: number; }) => number) -> : ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^ ^^^ ^^ ^^^ ^^^^^ ^^^^^^ ^^^ ^^^^^ ^ >{x: 0, y: 0} : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -432,7 +432,7 @@ function test4( >arg4({x: 0, y: 0}, {x: 0}) : number > : ^^^^^^ >arg4 : ((a?: { x: number; }, b?: { x: number; }) => number) | ((a?: { y: number; }) => number) -> : ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^ ^^^ ^^ ^^^ ^^^^^ ^^^^^^ ^^^ ^^^^^ ^ >{x: 0, y: 0} : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -454,13 +454,13 @@ function test4( >arg5() : number > : ^^^^^^ >arg5 : ((a?: { x: number; }, ...b: { x: number; }[]) => number) | ((a?: { y: number; }) => number) -> : ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^ ^^^ ^^^^^ ^^ ^^^^^ ^^^^^^ ^^^ ^^^^^ ^ arg5({x: 0, y: 0}); >arg5({x: 0, y: 0}) : number > : ^^^^^^ >arg5 : ((a?: { x: number; }, ...b: { x: number; }[]) => number) | ((a?: { y: number; }) => number) -> : ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^ ^^^ ^^^^^ ^^ ^^^^^ ^^^^^^ ^^^ ^^^^^ ^ >{x: 0, y: 0} : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -476,7 +476,7 @@ function test4( >arg5({x: 0, y: 0}, {x: 0}) : number > : ^^^^^^ >arg5 : ((a?: { x: number; }, ...b: { x: number; }[]) => number) | ((a?: { y: number; }) => number) -> : ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^ ^^^ ^^^^^ ^^ ^^^^^ ^^^^^^ ^^^ ^^^^^ ^ >{x: 0, y: 0} : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -498,13 +498,13 @@ function test4( >arg6() : number > : ^^^^^^ >arg6 : ((a?: { x: number; }, b?: { x: number; }) => number) | ((...a: { y: number; }[]) => number) -> : ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^ ^^^^^ ^ arg6({x: 0, y: 0}); >arg6({x: 0, y: 0}) : number > : ^^^^^^ >arg6 : ((a?: { x: number; }, b?: { x: number; }) => number) | ((...a: { y: number; }[]) => number) -> : ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^ ^^^^^ ^ >{x: 0, y: 0} : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -520,7 +520,7 @@ function test4( >arg6({x: 0, y: 0}, {x: 0, y: 0}) : number > : ^^^^^^ >arg6 : ((a?: { x: number; }, b?: { x: number; }) => number) | ((...a: { y: number; }[]) => number) -> : ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^ ^^^^^ ^ >{x: 0, y: 0} : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -546,7 +546,7 @@ function test4( >arg6({x: 0, y: 0}, {x: 0, y: 0}, {y: 0}) : number > : ^^^^^^ >arg6 : ((a?: { x: number; }, b?: { x: number; }) => number) | ((...a: { y: number; }[]) => number) -> : ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^ ^^^^^ ^ >{x: 0, y: 0} : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -628,8 +628,8 @@ function test5() { > : ^^^ >props.component : React.ReactType > : ^^^^^^^^^^^^^^^^^^^^ ->props : { component: React.ReactType; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>props : { component: React.ReactType; } +> : ^^^^^^^^^^^^^ ^^^ >component : React.ReactType > : ^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/cannotIndexGenericWritingError.types b/tests/baselines/reference/cannotIndexGenericWritingError.types index 997ca9c1e5f8c..a0d863bc409b3 100644 --- a/tests/baselines/reference/cannotIndexGenericWritingError.types +++ b/tests/baselines/reference/cannotIndexGenericWritingError.types @@ -5,7 +5,7 @@ function foo>(target: T, p: string | symbol) { >foo : >(target: T, p: string | symbol) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >target : T > : ^ >p : string | symbol @@ -25,8 +25,8 @@ function foo>(target: T, p: string | symb } function foo2(target: T, p: string | number) { ->foo2 : (target: T, p: string | number) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +>foo2 : (target: T, p: string | number) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >s : string > : ^^^^^^ >target : T diff --git a/tests/baselines/reference/captureSuperPropertyAccessInSuperCall01.types b/tests/baselines/reference/captureSuperPropertyAccessInSuperCall01.types index 42beaeee15cf3..2137b7639ab6e 100644 --- a/tests/baselines/reference/captureSuperPropertyAccessInSuperCall01.types +++ b/tests/baselines/reference/captureSuperPropertyAccessInSuperCall01.types @@ -33,10 +33,10 @@ class B extends A { >super.blah() : string > : ^^^^^^ >super.blah : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >super : A > : ^ >blah : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } diff --git a/tests/baselines/reference/capturedLetConstInLoop1.types b/tests/baselines/reference/capturedLetConstInLoop1.types index 04d8d5b6e9dc9..4b55f9a291855 100644 --- a/tests/baselines/reference/capturedLetConstInLoop1.types +++ b/tests/baselines/reference/capturedLetConstInLoop1.types @@ -337,7 +337,7 @@ for (let y = (use(() => y), 0); y < 1; ++y) { > : ^ >use(() => y) : any >use : (x: any) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >() => y : () => number > : ^^^^^^^^^^^^ >y : number @@ -365,7 +365,7 @@ for (let y = 0; use(() => y), y < 1; ++y) { > : ^^^^^^^ >use(() => y) : any >use : (x: any) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >() => y : () => number > : ^^^^^^^^^^^^ >y : number @@ -397,7 +397,7 @@ for (let y = 0; y < 1; use(() => y), ++y) { > : ^^^^^^ >use(() => y) : any >use : (x: any) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >() => y : () => number > : ^^^^^^^^^^^^ >y : number @@ -417,7 +417,7 @@ for (let y = (use(() => y), 0); use(() => y), y < 1; use(() => y), ++y) { > : ^ >use(() => y) : any >use : (x: any) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >() => y : () => number > : ^^^^^^^^^^^^ >y : number @@ -428,7 +428,7 @@ for (let y = (use(() => y), 0); use(() => y), y < 1; use(() => y), ++y) { > : ^^^^^^^ >use(() => y) : any >use : (x: any) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >() => y : () => number > : ^^^^^^^^^^^^ >y : number @@ -443,7 +443,7 @@ for (let y = (use(() => y), 0); use(() => y), y < 1; use(() => y), ++y) { > : ^^^^^^ >use(() => y) : any >use : (x: any) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >() => y : () => number > : ^^^^^^^^^^^^ >y : number @@ -456,7 +456,7 @@ for (let y = (use(() => y), 0); use(() => y), y < 1; use(() => y), ++y) { use(() => y); >use(() => y) : any >use : (x: any) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >() => y : () => number > : ^^^^^^^^^^^^ >y : number diff --git a/tests/baselines/reference/capturedLetConstInLoop13.types b/tests/baselines/reference/capturedLetConstInLoop13.types index 4674eb97f3e4a..96d3ac5599924 100644 --- a/tests/baselines/reference/capturedLetConstInLoop13.types +++ b/tests/baselines/reference/capturedLetConstInLoop13.types @@ -10,11 +10,11 @@ class Main { >this.register("a", "b", "c") : void > : ^^^^ >this.register : (...names: string[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this : this > : ^^^^ >register : (...names: string[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"a" : "a" > : ^^^ >"b" : "b" @@ -39,11 +39,11 @@ class Main { >this.bar({ [name + ".a"]: () => { this.foo(name); }, }) : void > : ^^^^ >this.bar : (a: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >bar : (a: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ [name + ".a"]: () => { this.foo(name); }, } : { [x: string]: () => void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -61,11 +61,11 @@ class Main { >this.foo(name) : void > : ^^^^ >this.foo : (name: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >foo : (name: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >name : string > : ^^^^^^ diff --git a/tests/baselines/reference/catchClauseWithTypeAnnotation.types b/tests/baselines/reference/catchClauseWithTypeAnnotation.types index e7f65ce4cd80d..3ed6f619fd53c 100644 --- a/tests/baselines/reference/catchClauseWithTypeAnnotation.types +++ b/tests/baselines/reference/catchClauseWithTypeAnnotation.types @@ -72,11 +72,11 @@ function fn(x: boolean) { >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : unknown > : ^^^^^^^ @@ -86,11 +86,11 @@ function fn(x: boolean) { >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : unknown > : ^^^^^^^ @@ -126,11 +126,11 @@ function fn(x: boolean) { >console.log() : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ // @ts-ignore catch (e: number) { // e should not be a `number` @@ -141,11 +141,11 @@ function fn(x: boolean) { >console.log(e.toLowerCase()) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >e.toLowerCase() : any > : ^^^ >e.toLowerCase : any @@ -205,11 +205,11 @@ function fn(x: boolean) { >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : any > : ^^^ @@ -219,11 +219,11 @@ function fn(x: boolean) { >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : any > : ^^^ diff --git a/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter.types b/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter.types index b53cfb627cd78..41543c86b2fce 100644 --- a/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter.types +++ b/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter.types @@ -11,7 +11,7 @@ class Chain { then(cb: (x: T) => S): Chain { >then : (cb: (x: T) => S) => Chain -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >cb : (x: T) => S > : ^ ^^ ^^^^^ >x : T @@ -55,19 +55,19 @@ class C extends B { >(new Chain(new A)).then(a => new B).then(b => new C).then(c => new B).then(b => new A) : Chain > : ^^^^^^^^ >(new Chain(new A)).then(a => new B).then(b => new C).then(c => new B).then : (cb: (x: C) => S) => Chain -> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^ >(new Chain(new A)).then(a => new B).then(b => new C).then(c => new B) : Chain > : ^^^^^^^^ >(new Chain(new A)).then(a => new B).then(b => new C).then : (cb: (x: C) => S) => Chain -> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^ >(new Chain(new A)).then(a => new B).then(b => new C) : Chain > : ^^^^^^^^ >(new Chain(new A)).then(a => new B).then : (cb: (x: B) => S) => Chain -> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^ >(new Chain(new A)).then(a => new B) : Chain > : ^^^^^^^^ >(new Chain(new A)).then : (cb: (x: A) => S) => Chain -> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^ >(new Chain(new A)) : Chain > : ^^^^^^^^ >new Chain(new A) : Chain @@ -79,7 +79,7 @@ class C extends B { >A : typeof A > : ^^^^^^^^ >then : (cb: (x: A) => S) => Chain -> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^ >a => new B : (a: A) => B > : ^ ^^^^^^^^^ >a : A @@ -89,7 +89,7 @@ class C extends B { >B : typeof B > : ^^^^^^^^ >then : (cb: (x: B) => S) => Chain -> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^ >b => new C : (b: B) => C > : ^ ^^^^^^^^^ >b : B @@ -99,7 +99,7 @@ class C extends B { >C : typeof C > : ^^^^^^^^ >then : (cb: (x: C) => S) => Chain -> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^ >c => new B : (c: C) => B > : ^ ^^^^^^^^^ >c : C @@ -109,7 +109,7 @@ class C extends B { >B : typeof B > : ^^^^^^^^ >then : (cb: (x: C) => S) => Chain -> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^ >b => new A : (b: C) => A > : ^ ^^^^^^^^^ >b : C diff --git a/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.types b/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.types index 7f6ade300d2bd..b85a4c516c910 100644 --- a/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.types +++ b/tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.types @@ -11,7 +11,7 @@ class Chain { then(cb: (x: T) => S): Chain { >then : (cb: (x: T) => S) => Chain -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >cb : (x: T) => S > : ^ ^^ ^^^^^ >x : T @@ -29,12 +29,12 @@ class Chain { (new Chain(t)).then(tt => s).then(ss => t); >(new Chain(t)).then(tt => s).then(ss => t) : Chain > : ^^^^^^^^ ->(new Chain(t)).then(tt => s).then : (cb: (x: S) => S_1) => Chain -> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(new Chain(t)).then(tt => s).then : (cb: (x: S_1) => S) => Chain +> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ ^ >(new Chain(t)).then(tt => s) : Chain > : ^^^^^^^^ >(new Chain(t)).then : (cb: (x: T) => S) => Chain -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(new Chain(t)) : Chain > : ^^^^^^^^ >new Chain(t) : Chain @@ -44,15 +44,15 @@ class Chain { >t : T > : ^ >then : (cb: (x: T) => S) => Chain -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >tt => s : (tt: T) => S > : ^ ^^^^^^^^^ >tt : T > : ^ >s : S > : ^ ->then : (cb: (x: S) => S_1) => Chain -> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : (cb: (x: S_1) => S) => Chain +> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ ^ >ss => t : (ss: S) => T > : ^ ^^^^^^^^^ >ss : S @@ -64,8 +64,8 @@ class Chain { (new Chain(s)).then(ss => t); >(new Chain(s)).then(ss => t) : Chain > : ^^^^^^^^ ->(new Chain(s)).then : (cb: (x: S) => S_1) => Chain -> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(new Chain(s)).then : (cb: (x: S_1) => S) => Chain +> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ ^ >(new Chain(s)) : Chain > : ^^^^^^^^ >new Chain(s) : Chain @@ -74,8 +74,8 @@ class Chain { > : ^^^^^^^^^^^^ >s : S > : ^ ->then : (cb: (x: S) => S_1) => Chain -> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : (cb: (x: S_1) => S) => Chain +> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ ^ >ss => t : (ss: S) => T > : ^ ^^^^^^^^^ >ss : S @@ -88,15 +88,15 @@ class Chain { >(new Chain(t)).then(tt => t).then(tt => t).then(tt => t) : Chain > : ^^^^^^^^ >(new Chain(t)).then(tt => t).then(tt => t).then : (cb: (x: T) => S) => Chain -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(new Chain(t)).then(tt => t).then(tt => t) : Chain > : ^^^^^^^^ >(new Chain(t)).then(tt => t).then : (cb: (x: T) => S) => Chain -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(new Chain(t)).then(tt => t) : Chain > : ^^^^^^^^ >(new Chain(t)).then : (cb: (x: T) => S) => Chain -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(new Chain(t)) : Chain > : ^^^^^^^^ >new Chain(t) : Chain @@ -106,7 +106,7 @@ class Chain { >t : T > : ^ >then : (cb: (x: T) => S) => Chain -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >tt => t : (tt: T) => T > : ^ ^^^^^^^^^ >tt : T @@ -114,7 +114,7 @@ class Chain { >t : T > : ^ >then : (cb: (x: T) => S) => Chain -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >tt => t : (tt: T) => T > : ^ ^^^^^^^^^ >tt : T @@ -122,7 +122,7 @@ class Chain { >t : T > : ^ >then : (cb: (x: T) => S) => Chain -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >tt => t : (tt: T) => T > : ^ ^^^^^^^^^ >tt : T @@ -133,16 +133,16 @@ class Chain { (new Chain(s)).then(ss => s).then(ss => s).then(ss => s); >(new Chain(s)).then(ss => s).then(ss => s).then(ss => s) : Chain > : ^^^^^^^^ ->(new Chain(s)).then(ss => s).then(ss => s).then : (cb: (x: S) => S_1) => Chain -> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(new Chain(s)).then(ss => s).then(ss => s).then : (cb: (x: S_1) => S) => Chain +> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ ^ >(new Chain(s)).then(ss => s).then(ss => s) : Chain > : ^^^^^^^^ ->(new Chain(s)).then(ss => s).then : (cb: (x: S) => S_1) => Chain -> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(new Chain(s)).then(ss => s).then : (cb: (x: S_1) => S) => Chain +> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ ^ >(new Chain(s)).then(ss => s) : Chain > : ^^^^^^^^ ->(new Chain(s)).then : (cb: (x: S) => S_1) => Chain -> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(new Chain(s)).then : (cb: (x: S_1) => S) => Chain +> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ ^ >(new Chain(s)) : Chain > : ^^^^^^^^ >new Chain(s) : Chain @@ -151,24 +151,24 @@ class Chain { > : ^^^^^^^^^^^^ >s : S > : ^ ->then : (cb: (x: S) => S_1) => Chain -> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : (cb: (x: S_1) => S) => Chain +> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ ^ >ss => s : (ss: S) => S > : ^ ^^^^^^^^^ >ss : S > : ^ >s : S > : ^ ->then : (cb: (x: S) => S_1) => Chain -> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : (cb: (x: S_1) => S) => Chain +> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ ^ >ss => s : (ss: S) => S > : ^ ^^^^^^^^^ >ss : S > : ^ >s : S > : ^ ->then : (cb: (x: S) => S_1) => Chain -> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : (cb: (x: S_1) => S) => Chain +> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ ^ >ss => s : (ss: S) => S > : ^ ^^^^^^^^^ >ss : S @@ -196,7 +196,7 @@ class Chain2 { then(cb: (x: T) => S): Chain2 { >then : (cb: (x: T) => S) => Chain2 -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >cb : (x: T) => S > : ^ ^^ ^^^^^ >x : T @@ -226,11 +226,11 @@ class Chain2 { >(new Chain2(i)).then(ii => t).then(tt => s) : Chain2 > : ^^^^^^^^^ >(new Chain2(i)).then(ii => t).then : (cb: (x: T) => S) => Chain2 -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(new Chain2(i)).then(ii => t) : Chain2 > : ^^^^^^^^^ >(new Chain2(i)).then : (cb: (x: I) => S) => Chain2 -> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^ >(new Chain2(i)) : Chain2 > : ^^^^^^^^^ >new Chain2(i) : Chain2 @@ -240,7 +240,7 @@ class Chain2 { >i : I > : ^ >then : (cb: (x: I) => S) => Chain2 -> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^ >ii => t : (ii: I) => T > : ^ ^^^^^^^^^ >ii : I @@ -248,7 +248,7 @@ class Chain2 { >t : T > : ^ >then : (cb: (x: T) => S) => Chain2 -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >tt => s : (tt: T) => S > : ^ ^^^^^^^^^ >tt : T @@ -274,19 +274,19 @@ class Chain2 { >(new Chain2(i)).then(ii => t).then(tt => t).then(tt => t).then(tt => t) : Chain2 > : ^^^^^^^^^ >(new Chain2(i)).then(ii => t).then(tt => t).then(tt => t).then : (cb: (x: T) => S) => Chain2 -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(new Chain2(i)).then(ii => t).then(tt => t).then(tt => t) : Chain2 > : ^^^^^^^^^ >(new Chain2(i)).then(ii => t).then(tt => t).then : (cb: (x: T) => S) => Chain2 -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(new Chain2(i)).then(ii => t).then(tt => t) : Chain2 > : ^^^^^^^^^ >(new Chain2(i)).then(ii => t).then : (cb: (x: T) => S) => Chain2 -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(new Chain2(i)).then(ii => t) : Chain2 > : ^^^^^^^^^ >(new Chain2(i)).then : (cb: (x: I) => S) => Chain2 -> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^ >(new Chain2(i)) : Chain2 > : ^^^^^^^^^ >new Chain2(i) : Chain2 @@ -296,7 +296,7 @@ class Chain2 { >i : I > : ^ >then : (cb: (x: I) => S) => Chain2 -> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^ >ii => t : (ii: I) => T > : ^ ^^^^^^^^^ >ii : I @@ -304,7 +304,7 @@ class Chain2 { >t : T > : ^ >then : (cb: (x: T) => S) => Chain2 -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >tt => t : (tt: T) => T > : ^ ^^^^^^^^^ >tt : T @@ -312,7 +312,7 @@ class Chain2 { >t : T > : ^ >then : (cb: (x: T) => S) => Chain2 -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >tt => t : (tt: T) => T > : ^ ^^^^^^^^^ >tt : T @@ -320,7 +320,7 @@ class Chain2 { >t : T > : ^ >then : (cb: (x: T) => S) => Chain2 -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >tt => t : (tt: T) => T > : ^ ^^^^^^^^^ >tt : T @@ -343,20 +343,20 @@ class Chain2 { > : ^ >(new Chain2(i)).then(ii => s).then(ss => s).then(ss => s).then(ss => s) : Chain2 > : ^^^^^^^^^ ->(new Chain2(i)).then(ii => s).then(ss => s).then(ss => s).then : (cb: (x: S) => S_1) => Chain2 -> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(new Chain2(i)).then(ii => s).then(ss => s).then(ss => s).then : (cb: (x: S_1) => S) => Chain2 +> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ ^ >(new Chain2(i)).then(ii => s).then(ss => s).then(ss => s) : Chain2 > : ^^^^^^^^^ ->(new Chain2(i)).then(ii => s).then(ss => s).then : (cb: (x: S) => S_1) => Chain2 -> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(new Chain2(i)).then(ii => s).then(ss => s).then : (cb: (x: S_1) => S) => Chain2 +> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ ^ >(new Chain2(i)).then(ii => s).then(ss => s) : Chain2 > : ^^^^^^^^^ ->(new Chain2(i)).then(ii => s).then : (cb: (x: S) => S_1) => Chain2 -> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(new Chain2(i)).then(ii => s).then : (cb: (x: S_1) => S) => Chain2 +> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ ^ >(new Chain2(i)).then(ii => s) : Chain2 > : ^^^^^^^^^ >(new Chain2(i)).then : (cb: (x: I) => S) => Chain2 -> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^ >(new Chain2(i)) : Chain2 > : ^^^^^^^^^ >new Chain2(i) : Chain2 @@ -366,31 +366,31 @@ class Chain2 { >i : I > : ^ >then : (cb: (x: I) => S) => Chain2 -> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^ >ii => s : (ii: I) => S > : ^ ^^^^^^^^^ >ii : I > : ^ >s : S > : ^ ->then : (cb: (x: S) => S_1) => Chain2 -> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : (cb: (x: S_1) => S) => Chain2 +> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ ^ >ss => s : (ss: S) => S > : ^ ^^^^^^^^^ >ss : S > : ^ >s : S > : ^ ->then : (cb: (x: S) => S_1) => Chain2 -> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : (cb: (x: S_1) => S) => Chain2 +> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ ^ >ss => s : (ss: S) => S > : ^ ^^^^^^^^^ >ss : S > : ^ >s : S > : ^ ->then : (cb: (x: S) => S_1) => Chain2 -> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : (cb: (x: S_1) => S) => Chain2 +> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ ^ >ss => s : (ss: S) => S > : ^ ^^^^^^^^^ >ss : S diff --git a/tests/baselines/reference/chainedPrototypeAssignment.types b/tests/baselines/reference/chainedPrototypeAssignment.types index 68edc5ea166cd..83b0ad49f6e8d 100644 --- a/tests/baselines/reference/chainedPrototypeAssignment.types +++ b/tests/baselines/reference/chainedPrototypeAssignment.types @@ -8,7 +8,7 @@ var mod = require('./mod'); >require('./mod') : typeof mod > : ^^^^^^^^^^ >require : (name: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >'./mod' : "./mod" > : ^^^^^^^ diff --git a/tests/baselines/reference/chainedSpecializationToObjectTypeLiteral.types b/tests/baselines/reference/chainedSpecializationToObjectTypeLiteral.types index 13ff0e5414e06..44710e9cd9c45 100644 --- a/tests/baselines/reference/chainedSpecializationToObjectTypeLiteral.types +++ b/tests/baselines/reference/chainedSpecializationToObjectTypeLiteral.types @@ -49,11 +49,11 @@ var s2 = s.groupBy(s => s.length); >s.groupBy(s => s.length) : Sequence<{ key: number; items: string[]; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >s.groupBy : (keySelector: (value: string) => K) => Sequence<{ key: K; items: string[]; }> -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^ ^^^^^^ >s : Sequence > : ^^^^^^^^^^^^^^^^ >groupBy : (keySelector: (value: string) => K) => Sequence<{ key: K; items: string[]; }> -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^ ^^^^^^ >s => s.length : (s: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >s : string @@ -71,11 +71,11 @@ var s3 = s2.each(x => { x.key /* Type is K, should be number */ }); >s2.each(x => { x.key /* Type is K, should be number */ }) : void > : ^^^^ >s2.each : (iterator: (value: { key: number; items: string[]; }) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >s2 : Sequence<{ key: number; items: string[]; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >each : (iterator: (value: { key: number; items: string[]; }) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >x => { x.key /* Type is K, should be number */ } : (x: { key: number; items: string[]; }) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { key: number; items: string[]; } diff --git a/tests/baselines/reference/checkExportsObjectAssignProperty.types b/tests/baselines/reference/checkExportsObjectAssignProperty.types index c925e2a35e5ab..36a76a895f16d 100644 --- a/tests/baselines/reference/checkExportsObjectAssignProperty.types +++ b/tests/baselines/reference/checkExportsObjectAssignProperty.types @@ -292,11 +292,11 @@ Object.defineProperty(exports, "thing", { value: 42, writable: true }); >Object.defineProperty(exports, "thing", { value: 42, writable: true }) : typeof import("mod1") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >exports : typeof import("mod1") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"thing" : "thing" @@ -316,11 +316,11 @@ Object.defineProperty(exports, "readonlyProp", { value: "Smith", writable: false >Object.defineProperty(exports, "readonlyProp", { value: "Smith", writable: false }) : typeof import("mod1") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >exports : typeof import("mod1") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"readonlyProp" : "readonlyProp" @@ -340,11 +340,11 @@ Object.defineProperty(exports, "rwAccessors", { get() { return 98122 }, set(_) { >Object.defineProperty(exports, "rwAccessors", { get() { return 98122 }, set(_) { /*ignore*/ } }) : typeof import("mod1") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >exports : typeof import("mod1") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"rwAccessors" : "rwAccessors" @@ -364,11 +364,11 @@ Object.defineProperty(exports, "readonlyAccessor", { get() { return 21.75 } }); >Object.defineProperty(exports, "readonlyAccessor", { get() { return 21.75 } }) : typeof import("mod1") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >exports : typeof import("mod1") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"readonlyAccessor" : "readonlyAccessor" @@ -384,11 +384,11 @@ Object.defineProperty(exports, "setonlyAccessor", { >Object.defineProperty(exports, "setonlyAccessor", { /** @param {string} str */ set(str) { this.rwAccessors = Number(str) }}) : typeof import("mod1") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >exports : typeof import("mod1") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"setonlyAccessor" : "setonlyAccessor" @@ -426,11 +426,11 @@ Object.defineProperty(module.exports, "thing", { value: "yes", writable: true }) >Object.defineProperty(module.exports, "thing", { value: "yes", writable: true }) : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >module.exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >module : { exports: typeof module.exports; } @@ -454,11 +454,11 @@ Object.defineProperty(module.exports, "readonlyProp", { value: "Smith", writable >Object.defineProperty(module.exports, "readonlyProp", { value: "Smith", writable: false }) : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >module.exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >module : { exports: typeof module.exports; } @@ -482,11 +482,11 @@ Object.defineProperty(module.exports, "rwAccessors", { get() { return 98122 }, s >Object.defineProperty(module.exports, "rwAccessors", { get() { return 98122 }, set(_) { /*ignore*/ } }) : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >module.exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >module : { exports: typeof module.exports; } @@ -510,11 +510,11 @@ Object.defineProperty(module.exports, "readonlyAccessor", { get() { return 21.75 >Object.defineProperty(module.exports, "readonlyAccessor", { get() { return 21.75 } }) : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >module.exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >module : { exports: typeof module.exports; } @@ -534,11 +534,11 @@ Object.defineProperty(module.exports, "setonlyAccessor", { >Object.defineProperty(module.exports, "setonlyAccessor", { /** @param {string} str */ set(str) { this.rwAccessors = Number(str) }}) : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >module.exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >module : { exports: typeof module.exports; } diff --git a/tests/baselines/reference/checkExportsObjectAssignPrototypeProperty.types b/tests/baselines/reference/checkExportsObjectAssignPrototypeProperty.types index 211994a25b7c6..fa8d497923586 100644 --- a/tests/baselines/reference/checkExportsObjectAssignPrototypeProperty.types +++ b/tests/baselines/reference/checkExportsObjectAssignPrototypeProperty.types @@ -212,11 +212,11 @@ Object.defineProperty(Person.prototype, "thing", { value: 42, writable: true }); >Object.defineProperty(Person.prototype, "thing", { value: 42, writable: true }) : any > : ^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Person.prototype : any > : ^^^ >Person : typeof Person @@ -240,11 +240,11 @@ Object.defineProperty(Person.prototype, "readonlyProp", { value: "Smith", writab >Object.defineProperty(Person.prototype, "readonlyProp", { value: "Smith", writable: false }) : any > : ^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Person.prototype : any > : ^^^ >Person : typeof Person @@ -268,11 +268,11 @@ Object.defineProperty(Person.prototype, "rwAccessors", { get() { return 98122 }, >Object.defineProperty(Person.prototype, "rwAccessors", { get() { return 98122 }, set(_) { /*ignore*/ } }) : any > : ^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Person.prototype : any > : ^^^ >Person : typeof Person @@ -296,11 +296,11 @@ Object.defineProperty(Person.prototype, "readonlyAccessor", { get() { return 21. >Object.defineProperty(Person.prototype, "readonlyAccessor", { get() { return 21.75 } }) : any > : ^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Person.prototype : any > : ^^^ >Person : typeof Person @@ -320,11 +320,11 @@ Object.defineProperty(Person.prototype, "setonlyAccessor", { >Object.defineProperty(Person.prototype, "setonlyAccessor", { /** @param {string} str */ set(str) { this.rwAccessors = Number(str) }}) : any > : ^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Person.prototype : any > : ^^^ >Person : typeof Person diff --git a/tests/baselines/reference/checkInfiniteExpansionTermination2.types b/tests/baselines/reference/checkInfiniteExpansionTermination2.types index 4f3d396b8fa21..93bd45bdda870 100644 --- a/tests/baselines/reference/checkInfiniteExpansionTermination2.types +++ b/tests/baselines/reference/checkInfiniteExpansionTermination2.types @@ -13,13 +13,13 @@ interface ISubject extends IObservable { } declare function combineLatest(x: IObservable[]): void; >combineLatest : { (x: IObservable[]): void; (): void; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^ ^^^ >x : IObservable[] > : ^^^^^^^^^^^^^^^^^^^^^ declare function combineLatest(): void; >combineLatest : { (x: IObservable[]): void; (): void; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^ ^^^ function fn() { >fn : () => void @@ -36,7 +36,7 @@ function fn() { >combineLatest(values) : void > : ^^^^ >combineLatest : { (x: IObservable[]): void; (): void; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^ ^^^ >values : ISubject[] > : ^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/checkJsObjectLiteralIndexSignatures.types b/tests/baselines/reference/checkJsObjectLiteralIndexSignatures.types index 197746e70694d..2620f9a3459e3 100644 --- a/tests/baselines/reference/checkJsObjectLiteralIndexSignatures.types +++ b/tests/baselines/reference/checkJsObjectLiteralIndexSignatures.types @@ -9,11 +9,11 @@ let n = Math.random(); >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ let s = `${n}`; >s : string @@ -39,7 +39,7 @@ numericIndex[n].toFixed(); >numericIndex[n].toFixed() : string > : ^^^^^^ >numericIndex[n].toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >numericIndex[n] : number > : ^^^^^^ >numericIndex : { [x: number]: number; } @@ -47,7 +47,7 @@ numericIndex[n].toFixed(); >n : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ const stringIndex = { [s]: 1 }; >stringIndex : { [x: string]: number; } @@ -65,7 +65,7 @@ stringIndex[s].toFixed(); >stringIndex[s].toFixed() : string > : ^^^^^^ >stringIndex[s].toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >stringIndex[s] : number > : ^^^^^^ >stringIndex : { [x: string]: number; } @@ -73,6 +73,6 @@ stringIndex[s].toFixed(); >s : string > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/checkJsTypeDefNoUnusedLocalMarked.types b/tests/baselines/reference/checkJsTypeDefNoUnusedLocalMarked.types index 642d1723cc21c..9d28bf626388c 100644 --- a/tests/baselines/reference/checkJsTypeDefNoUnusedLocalMarked.types +++ b/tests/baselines/reference/checkJsTypeDefNoUnusedLocalMarked.types @@ -31,11 +31,11 @@ module.exports = /** @type {FooFun} */(void 0); >module.exports = /** @type {FooFun} */(void 0) : (foo: Foo) => string > : ^ ^^ ^^^^^ >module.exports : (foo: Foo) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >module : { exports: (foo: Foo) => string; } -> : ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^ ^^^^^ ^^^ >exports : (foo: Foo) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(void 0) : FooFun > : ^^^^^^ >void 0 : undefined diff --git a/tests/baselines/reference/checkJsdocSatisfiesTag1.types b/tests/baselines/reference/checkJsdocSatisfiesTag1.types index b0dfaf01ec9f3..93b3d1df2781c 100644 --- a/tests/baselines/reference/checkJsdocSatisfiesTag1.types +++ b/tests/baselines/reference/checkJsdocSatisfiesTag1.types @@ -72,9 +72,9 @@ const t4 = /** @satisfies {T2} */ ({ a: "a" }); /** @type {(m: string) => string} */ const t5 = /** @satisfies {T3} */((m) => m.substring(0)); >t5 : (m: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >((m) => m.substring(0)) : (m: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(m) => m.substring(0) : (m: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >m : string @@ -82,11 +82,11 @@ const t5 = /** @satisfies {T3} */((m) => m.substring(0)); >m.substring(0) : string > : ^^^^^^ >m.substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >m : string > : ^^^^^^ >substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/checkJsdocSatisfiesTag10.types b/tests/baselines/reference/checkJsdocSatisfiesTag10.types index e7b3eff74ebda..21f87c3675974 100644 --- a/tests/baselines/reference/checkJsdocSatisfiesTag10.types +++ b/tests/baselines/reference/checkJsdocSatisfiesTag10.types @@ -38,7 +38,7 @@ let a = p.a.toFixed(); >p.a.toFixed() : string > : ^^^^^^ >p.a.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >p.a : number > : ^^^^^^ >p : { a: number; b: string; x: number; } @@ -46,7 +46,7 @@ let a = p.a.toFixed(); >a : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let b = p.b.substring(1); >b : string @@ -54,7 +54,7 @@ let b = p.b.substring(1); >p.b.substring(1) : string > : ^^^^^^ >p.b.substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >p.b : string > : ^^^^^^ >p : { a: number; b: string; x: number; } @@ -62,7 +62,7 @@ let b = p.b.substring(1); >b : string > : ^^^^^^ >substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/checkJsdocSatisfiesTag13.types b/tests/baselines/reference/checkJsdocSatisfiesTag13.types index 381351836bdd0..f2a6389e7b181 100644 --- a/tests/baselines/reference/checkJsdocSatisfiesTag13.types +++ b/tests/baselines/reference/checkJsdocSatisfiesTag13.types @@ -16,11 +16,11 @@ const t1 = { f: s => s.toLowerCase() }; // should work >s.toLowerCase() : string > : ^^^^^^ >s.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >s : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ /** @satisfies {{ f: (x: string) => string }} */ const t2 = { g: "oops" }; // should error diff --git a/tests/baselines/reference/checkJsdocSatisfiesTag3.types b/tests/baselines/reference/checkJsdocSatisfiesTag3.types index 796a722a7e658..73b094927a096 100644 --- a/tests/baselines/reference/checkJsdocSatisfiesTag3.types +++ b/tests/baselines/reference/checkJsdocSatisfiesTag3.types @@ -4,9 +4,9 @@ /** @type {{ f(s: string): void } & Record }} */ let obj = /** @satisfies {{ g(s: string): void } & Record} */ ({ >obj : { f(s: string): void; } & Record -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >({ f(s) { }, // "incorrect" implicit any on 's' g(s) { }}) : { f(s: string): void; } & Record -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ f(s) { }, // "incorrect" implicit any on 's' g(s) { }} : { f(s: any): void; g(s: string): void; } > : ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/checkJsdocSatisfiesTag6.types b/tests/baselines/reference/checkJsdocSatisfiesTag6.types index cc4a44df75c6d..65d63e0795bc1 100644 --- a/tests/baselines/reference/checkJsdocSatisfiesTag6.types +++ b/tests/baselines/reference/checkJsdocSatisfiesTag6.types @@ -25,15 +25,15 @@ console.log(a.x.toFixed()); >console.log(a.x.toFixed()) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >a.x.toFixed() : string > : ^^^^^^ >a.x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >a.x : number > : ^^^^^^ >a : { x: number; } @@ -41,7 +41,7 @@ console.log(a.x.toFixed()); >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ // Should error let p = a.y; diff --git a/tests/baselines/reference/checkJsdocSatisfiesTag7.types b/tests/baselines/reference/checkJsdocSatisfiesTag7.types index 1c55f2bd0210c..ea9bae04965cc 100644 --- a/tests/baselines/reference/checkJsdocSatisfiesTag7.types +++ b/tests/baselines/reference/checkJsdocSatisfiesTag7.types @@ -38,7 +38,7 @@ let a = p.a.toFixed(); >p.a.toFixed() : string > : ^^^^^^ >p.a.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >p.a : number > : ^^^^^^ >p : { a: number; b: string; x: number; } @@ -46,7 +46,7 @@ let a = p.a.toFixed(); >a : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let b = p.b.substring(1); >b : string @@ -54,7 +54,7 @@ let b = p.b.substring(1); >p.b.substring(1) : string > : ^^^^^^ >p.b.substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >p.b : string > : ^^^^^^ >p : { a: number; b: string; x: number; } @@ -62,7 +62,7 @@ let b = p.b.substring(1); >b : string > : ^^^^^^ >substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/checkJsdocTypeTag1.types b/tests/baselines/reference/checkJsdocTypeTag1.types index 6c6dbd88ab2a2..78b5455e241b1 100644 --- a/tests/baselines/reference/checkJsdocTypeTag1.types +++ b/tests/baselines/reference/checkJsdocTypeTag1.types @@ -118,9 +118,9 @@ x1(0); /** @type {function (number): number} */ const x2 = (a) => a + 1; >x2 : (arg0: number) => number -> : ^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ >(a) => a + 1 : (a: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >a : number > : ^^^^^^ >a + 1 : number @@ -134,7 +134,7 @@ x2(0); >x2(0) : number > : ^^^^^^ >x2 : (arg0: number) => number -> : ^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/checkJsdocTypeTag2.types b/tests/baselines/reference/checkJsdocTypeTag2.types index dc1db92de2345..3d89f42719c9b 100644 --- a/tests/baselines/reference/checkJsdocTypeTag2.types +++ b/tests/baselines/reference/checkJsdocTypeTag2.types @@ -42,9 +42,9 @@ x1("string"); /** @type {function (number): number} */ const x2 = (a) => a + 1; >x2 : (arg0: number) => number -> : ^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ >(a) => a + 1 : (a: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >a : number > : ^^^^^^ >a + 1 : number @@ -67,16 +67,16 @@ a = x2(0); >x2(0) : number > : ^^^^^^ >x2 : (arg0: number) => number -> : ^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ >0 : 0 > : ^ /** @type {function (number): number} */ const x3 = (a) => a.concat("hi"); >x3 : (arg0: number) => number -> : ^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ >(a) => a.concat("hi") : (a: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >a : number > : ^^^^^^ >a.concat("hi") : any @@ -94,16 +94,16 @@ x3(0); >x3(0) : number > : ^^^^^^ >x3 : (arg0: number) => number -> : ^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ >0 : 0 > : ^ /** @type {function (number): string} */ const x4 = (a) => a + 1; >x4 : (arg0: number) => string -> : ^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ >(a) => a + 1 : (a: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >a : number > : ^^^^^^ >a + 1 : number @@ -117,7 +117,7 @@ x4(0); >x4(0) : string > : ^^^^^^ >x4 : (arg0: number) => string -> : ^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/checkJsdocTypeTag5.types b/tests/baselines/reference/checkJsdocTypeTag5.types index b94681f7d2d4f..e7500bc7c59a0 100644 --- a/tests/baselines/reference/checkJsdocTypeTag5.types +++ b/tests/baselines/reference/checkJsdocTypeTag5.types @@ -14,9 +14,9 @@ function h(x) { return x } /** @type {(x: number) => string} */ var f = x => x >f : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x => x : (x: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >x : number > : ^^^^^^ >x : number @@ -25,9 +25,9 @@ var f = x => x /** @type {(x: number) => string} */ var g = function (x) { return x } >g : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >function (x) { return x } : (x: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >x : number > : ^^^^^^ >x : number @@ -45,9 +45,9 @@ function i(x) { return x } /** @type {{ (x: number): string }} */ var j = x => x >j : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x => x : (x: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >x : number > : ^^^^^^ >x : number @@ -56,9 +56,9 @@ var j = x => x /** @type {{ (x: number): string }} */ var k = function (x) { return x } >k : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >function (x) { return x } : (x: number) => string -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >x : number > : ^^^^^^ >x : number @@ -85,7 +85,7 @@ var zeroonetwo = blargle('hi') >blargle('hi') : 0 | 1 | 2 > : ^^^^^^^^^ >blargle : (x: "hi" | "bye") => 0 | 1 | 2 -> : ^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'hi' : "hi" > : ^^^^ diff --git a/tests/baselines/reference/checkJsdocTypeTag6.types b/tests/baselines/reference/checkJsdocTypeTag6.types index 832de3b8b0a28..b58de50263fad 100644 --- a/tests/baselines/reference/checkJsdocTypeTag6.types +++ b/tests/baselines/reference/checkJsdocTypeTag6.types @@ -14,7 +14,7 @@ function f() { /** @type {{ prop: string }} */ var g = function (prop) { >g : { prop: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >function (prop) {} : (prop: any) => void > : ^ ^^^^^^^^^^^^^^ >prop : any @@ -80,18 +80,18 @@ function funcWithMoreParameters(more) {} // error /** @type {() => void} */ const variableWithMoreParameters = function (more) {}; // error >variableWithMoreParameters : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >function (more) {} : (more: any) => void -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >more : any > : ^^^ /** @type {() => void} */ const arrowWithMoreParameters = (more) => {}; // error >arrowWithMoreParameters : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >(more) => {} : (more: any) => void -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >more : any > : ^^^ diff --git a/tests/baselines/reference/checkJsdocTypeTag7.types b/tests/baselines/reference/checkJsdocTypeTag7.types index e56d1eea0b1cf..8a67a8eebcee4 100644 --- a/tests/baselines/reference/checkJsdocTypeTag7.types +++ b/tests/baselines/reference/checkJsdocTypeTag7.types @@ -12,7 +12,7 @@ class C { /** @type {Foo} */ foo(a, b) {} >foo : (a: string, b: number) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a : string > : ^^^^^^ >b : number diff --git a/tests/baselines/reference/checkJsdocTypeTagOnObjectProperty1.types b/tests/baselines/reference/checkJsdocTypeTagOnObjectProperty1.types index 9164e5b2d66e2..216528a3812e0 100644 --- a/tests/baselines/reference/checkJsdocTypeTagOnObjectProperty1.types +++ b/tests/baselines/reference/checkJsdocTypeTagOnObjectProperty1.types @@ -10,9 +10,9 @@ var lol = "hello Lol" const obj = { >obj : { [x: string]: string | number | ((arg0: number) => number) | undefined; foo: string | undefined; bar: string | undefined; method1(arg0: number): number; lol: string; arrowFunc: (arg0: number) => number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ >{ /** @type {string|undefined} */ foo: undefined, /** @type {string|undefined} */ bar: "42", /** @type {function(number): number} */ method1(n1) { return n1 + 42; }, /** @type {string} */ lol, /** @type {number} */ ['b' + 'ar1']: 42, /** @type {function(number): number} */ arrowFunc: (num) => num + 42} : { [x: string]: string | number | ((arg0: number) => number) | undefined; foo: string | undefined; bar: string | undefined; method1(arg0: number): number; lol: string; arrowFunc: (arg0: number) => number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ /** @type {string|undefined} */ foo: undefined, @@ -83,7 +83,7 @@ obj.foo = 'string' >obj.foo : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : { [x: string]: string | number | ((arg0: number) => number) | undefined; foo: string | undefined; bar: string | undefined; method1(arg0: number): number; lol: string; arrowFunc: (arg0: number) => number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ >foo : string | undefined > : ^^^^^^^^^^^^^^^^^^ >'string' : "string" @@ -93,7 +93,7 @@ obj.lol >obj.lol : string > : ^^^^^^ >obj : { [x: string]: string | number | ((arg0: number) => number) | undefined; foo: string | undefined; bar: string | undefined; method1(arg0: number): number; lol: string; arrowFunc: (arg0: number) => number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ >lol : string > : ^^^^^^ @@ -103,7 +103,7 @@ obj.bar = undefined; >obj.bar : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : { [x: string]: string | number | ((arg0: number) => number) | undefined; foo: string | undefined; bar: string | undefined; method1(arg0: number): number; lol: string; arrowFunc: (arg0: number) => number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ >bar : string | undefined > : ^^^^^^^^^^^^^^^^^^ >undefined : undefined @@ -115,11 +115,11 @@ var k = obj.method1(0); >obj.method1(0) : number > : ^^^^^^ >obj.method1 : (arg0: number) => number -> : ^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ >obj : { [x: string]: string | number | ((arg0: number) => number) | undefined; foo: string | undefined; bar: string | undefined; method1(arg0: number): number; lol: string; arrowFunc: (arg0: number) => number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ >method1 : (arg0: number) => number -> : ^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ >0 : 0 > : ^ @@ -127,11 +127,11 @@ obj.bar1 = "42"; >obj.bar1 = "42" : "42" > : ^^^^ >obj.bar1 : string | number | ((arg0: number) => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^ >obj : { [x: string]: string | number | ((arg0: number) => number) | undefined; foo: string | undefined; bar: string | undefined; method1(arg0: number): number; lol: string; arrowFunc: (arg0: number) => number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ >bar1 : string | number | ((arg0: number) => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^ >"42" : "42" > : ^^^^ @@ -139,11 +139,11 @@ obj.arrowFunc(0); >obj.arrowFunc(0) : number > : ^^^^^^ >obj.arrowFunc : (arg0: number) => number -> : ^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ >obj : { [x: string]: string | number | ((arg0: number) => number) | undefined; foo: string | undefined; bar: string | undefined; method1(arg0: number): number; lol: string; arrowFunc: (arg0: number) => number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ >arrowFunc : (arg0: number) => number -> : ^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/checkJsdocTypeTagOnObjectProperty2.types b/tests/baselines/reference/checkJsdocTypeTagOnObjectProperty2.types index 59f7521db0db5..90ebe6d883112 100644 --- a/tests/baselines/reference/checkJsdocTypeTagOnObjectProperty2.types +++ b/tests/baselines/reference/checkJsdocTypeTagOnObjectProperty2.types @@ -8,9 +8,9 @@ var lol; const obj = { >obj : { bar: string | undefined; method1(arg0: number): number; method2: (arg0: number) => number; arrowFunc: (arg0: number) => number; lol: string; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^ ^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^ ^^^ >{ /** @type {string|undefined} */ bar: 42, /** @type {function(number): number} */ method1(n1) { return "42"; }, /** @type {function(number): number} */ method2: (n1) => "lol", /** @type {function(number): number} */ arrowFunc: (num="0") => num + 42, /** @type {string} */ lol} : { bar: string | undefined; method1(arg0: number): number; method2: (arg0: number) => number; arrowFunc: (arg0: number) => number; lol: string; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^ ^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^ ^^^ /** @type {string|undefined} */ bar: 42, @@ -79,11 +79,11 @@ var s = obj.method1(0); >obj.method1(0) : number > : ^^^^^^ >obj.method1 : (arg0: number) => number -> : ^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ >obj : { bar: string | undefined; method1(arg0: number): number; method2: (arg0: number) => number; arrowFunc: (arg0: number) => number; lol: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^ ^^^ >method1 : (arg0: number) => number -> : ^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ >0 : 0 > : ^ @@ -94,11 +94,11 @@ var s1 = obj.method2("0"); >obj.method2("0") : number > : ^^^^^^ >obj.method2 : (arg0: number) => number -> : ^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ >obj : { bar: string | undefined; method1(arg0: number): number; method2: (arg0: number) => number; arrowFunc: (arg0: number) => number; lol: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^ ^^^ >method2 : (arg0: number) => number -> : ^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ >"0" : "0" > : ^^^ diff --git a/tests/baselines/reference/checkJsxChildrenProperty13.types b/tests/baselines/reference/checkJsxChildrenProperty13.types index 7d022fa9daed9..5a28219181e49 100644 --- a/tests/baselines/reference/checkJsxChildrenProperty13.types +++ b/tests/baselines/reference/checkJsxChildrenProperty13.types @@ -41,12 +41,12 @@ class Button extends React.Component { > : ^^^^^^^^^^^ >InnerButton : typeof InnerButton > : ^^^^^^^^^^^^^^^^^^ ->this.props : ButtonProp & { children?: React.ReactNode | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>this.props : ButtonProp & { children?: React.ReactNode; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this : this > : ^^^^ ->props : ButtonProp & { children?: React.ReactNode | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>props : ButtonProp & { children?: React.ReactNode; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >children : string > : ^^^^^^ diff --git a/tests/baselines/reference/checkJsxChildrenProperty16.types b/tests/baselines/reference/checkJsxChildrenProperty16.types index 6a52ecd13f6ef..134b19f773318 100644 --- a/tests/baselines/reference/checkJsxChildrenProperty16.types +++ b/tests/baselines/reference/checkJsxChildrenProperty16.types @@ -70,19 +70,19 @@ export const Test = () => { >{(value) => {}} : JSX.Element > : ^^^^^^^^^^^ >Foo : (props: Props) => JSX.Element -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(value) => {} : (value: string) => void > : ^ ^^^^^^^^^^^^^^^^^ >value : string > : ^^^^^^ >Foo : (props: Props) => JSX.Element -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ {(value) => {}} >{(value) => {}} : JSX.Element > : ^^^^^^^^^^^ >Foo : (props: Props) => JSX.Element -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >renderNumber : true > : ^^^^ >(value) => {} : (value: number) => void @@ -90,13 +90,13 @@ export const Test = () => { >value : number > : ^^^^^^ >Foo : (props: Props) => JSX.Element -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ {}} /> > {}} /> : JSX.Element > : ^^^^^^^^^^^ >Foo : (props: Props) => JSX.Element -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >children : (value: string) => void > : ^ ^^^^^^^^^^^^^^^^^ >(value) => {} : (value: string) => void @@ -108,7 +108,7 @@ export const Test = () => { > {}} /> : JSX.Element > : ^^^^^^^^^^^ >Foo : (props: Props) => JSX.Element -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >renderNumber : true > : ^^^^ >children : (value: number) => void diff --git a/tests/baselines/reference/checkJsxChildrenProperty3.types b/tests/baselines/reference/checkJsxChildrenProperty3.types index 7bd8322ff2e28..687c31920d34c 100644 --- a/tests/baselines/reference/checkJsxChildrenProperty3.types +++ b/tests/baselines/reference/checkJsxChildrenProperty3.types @@ -48,7 +48,7 @@ class FetchUser extends React.Component { >this.props.children(this.state.result) : JSX.Element > : ^^^^^^^^^^^ >this.props.children : ((user: IUser) => JSX.Element) & React.ReactNode -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ >this.props : IFetchUserProps & { children?: React.ReactNode; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this : this @@ -56,7 +56,7 @@ class FetchUser extends React.Component { >props : IFetchUserProps & { children?: React.ReactNode; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >children : ((user: IUser) => JSX.Element) & React.ReactNode -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ >this.state.result : any >this.state : any > : ^^^ diff --git a/tests/baselines/reference/checkJsxChildrenProperty4.types b/tests/baselines/reference/checkJsxChildrenProperty4.types index 089b886e13272..d08a39c798765 100644 --- a/tests/baselines/reference/checkJsxChildrenProperty4.types +++ b/tests/baselines/reference/checkJsxChildrenProperty4.types @@ -49,7 +49,7 @@ class FetchUser extends React.Component { >this.props.children(this.state.result) : JSX.Element > : ^^^^^^^^^^^ >this.props.children : ((user: IUser) => JSX.Element) & React.ReactNode -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ >this.props : IFetchUserProps & { children?: React.ReactNode; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this : this @@ -57,7 +57,7 @@ class FetchUser extends React.Component { >props : IFetchUserProps & { children?: React.ReactNode; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >children : ((user: IUser) => JSX.Element) & React.ReactNode -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ >this.state.result : any > : ^^^ >this.state : any diff --git a/tests/baselines/reference/checkJsxSubtleSkipContextSensitiveBug.types b/tests/baselines/reference/checkJsxSubtleSkipContextSensitiveBug.types index bf1c356ea4f32..a071dc3a3c129 100644 --- a/tests/baselines/reference/checkJsxSubtleSkipContextSensitiveBug.types +++ b/tests/baselines/reference/checkJsxSubtleSkipContextSensitiveBug.types @@ -65,20 +65,20 @@ const loader = : ^^^^^^^^^^^^^^^^^^ prop1={load} ->prop1 : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->load : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>prop1 : () => Promise<{ success: true; } | ErrorResult> +> : ^^^^^^ +>load : () => Promise<{ success: true; } | ErrorResult> +> : ^^^^^^ prop2={result => result} >prop2 : (result: { success: true; }) => { success: true; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ >result => result : (result: { success: true; }) => { success: true; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ >result : { success: true; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^ >result : { success: true; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^ />; diff --git a/tests/baselines/reference/checkJsxUnionSFXContextualTypeInferredCorrectly.types b/tests/baselines/reference/checkJsxUnionSFXContextualTypeInferredCorrectly.types index bdc000228c32c..82d01bf4f8e67 100644 --- a/tests/baselines/reference/checkJsxUnionSFXContextualTypeInferredCorrectly.types +++ b/tests/baselines/reference/checkJsxUnionSFXContextualTypeInferredCorrectly.types @@ -101,11 +101,11 @@ export function HereIsTheError() { >console.log(val) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >val : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -144,11 +144,11 @@ ComponentWithUnion({ >console.log(val) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >val : string | undefined > : ^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/checkMergedGlobalUMDSymbol.errors.txt b/tests/baselines/reference/checkMergedGlobalUMDSymbol.errors.txt index 5a129d15ef534..61bc044bed44f 100644 --- a/tests/baselines/reference/checkMergedGlobalUMDSymbol.errors.txt +++ b/tests/baselines/reference/checkMergedGlobalUMDSymbol.errors.txt @@ -1,4 +1,5 @@ -global.d.ts(6,16): error TS2403: Subsequent variable declarations must have the same type. Variable 'THREE' must be of type 'typeof import("global")', but here has type 'typeof import("three")'. +global.d.ts(3,21): error TS2451: Cannot redeclare block-scoped variable 'THREE'. +global.d.ts(6,16): error TS2451: Cannot redeclare block-scoped variable 'THREE'. ==== three.d.ts (0 errors) ==== @@ -6,16 +7,19 @@ global.d.ts(6,16): error TS2403: Subsequent variable declarations must have the export class Vector2 {} } -==== global.d.ts (1 errors) ==== +==== global.d.ts (2 errors) ==== import * as _three from './three'; export as namespace THREE; + ~~~~~ +!!! error TS2451: Cannot redeclare block-scoped variable 'THREE'. +!!! related TS6203 global.d.ts:6:16: 'THREE' was also declared here. declare global { export const THREE: typeof _three; ~~~~~ -!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'THREE' must be of type 'typeof import("global")', but here has type 'typeof import("three")'. -!!! related TS6203 global.d.ts:1:1: 'THREE' was also declared here. +!!! error TS2451: Cannot redeclare block-scoped variable 'THREE'. +!!! related TS6203 global.d.ts:3:21: 'THREE' was also declared here. } ==== test.ts (0 errors) ==== diff --git a/tests/baselines/reference/checkMergedGlobalUMDSymbol.symbols b/tests/baselines/reference/checkMergedGlobalUMDSymbol.symbols index d9e86c98f7066..b7d9e217b2910 100644 --- a/tests/baselines/reference/checkMergedGlobalUMDSymbol.symbols +++ b/tests/baselines/reference/checkMergedGlobalUMDSymbol.symbols @@ -19,12 +19,12 @@ declare global { >global : Symbol(global, Decl(global.d.ts, 2, 26)) export const THREE: typeof _three; ->THREE : Symbol(THREE, Decl(global.d.ts, 0, 0), Decl(global.d.ts, 5, 14)) +>THREE : Symbol(THREE, Decl(global.d.ts, 5, 14)) >_three : Symbol(_three, Decl(global.d.ts, 0, 6)) } === test.ts === const m = THREE >m : Symbol(m, Decl(test.ts, 0, 5)) ->THREE : Symbol(THREE, Decl(global.d.ts, 0, 0), Decl(global.d.ts, 5, 14)) +>THREE : Symbol(THREE, Decl(global.d.ts, 5, 14)) diff --git a/tests/baselines/reference/checkMergedGlobalUMDSymbol.types b/tests/baselines/reference/checkMergedGlobalUMDSymbol.types index 992975fc45c8e..d85183549440e 100644 --- a/tests/baselines/reference/checkMergedGlobalUMDSymbol.types +++ b/tests/baselines/reference/checkMergedGlobalUMDSymbol.types @@ -24,16 +24,16 @@ declare global { > : ^^^^^^^^^^^^^ export const THREE: typeof _three; ->THREE : typeof import("global") -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>THREE : typeof _three +> : ^^^^^^^^^^^^^ >_three : typeof _three > : ^^^^^^^^^^^^^ } === test.ts === const m = THREE ->m : typeof import("global") -> : ^^^^^^^^^^^^^^^^^^^^^^^ ->THREE : typeof import("global") -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>m : typeof import("three") +> : ^^^^^^^^^^^^^^^^^^^^^^ +>THREE : typeof import("three") +> : ^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/checkObjectDefineProperty.types b/tests/baselines/reference/checkObjectDefineProperty.types index 66dd5b468c791..aa7af57c042a1 100644 --- a/tests/baselines/reference/checkObjectDefineProperty.types +++ b/tests/baselines/reference/checkObjectDefineProperty.types @@ -149,11 +149,11 @@ Object.defineProperty(x, "name", { value: "Charles", writable: true }); >Object.defineProperty(x, "name", { value: "Charles", writable: true }) : typeof x > : ^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : typeof x > : ^^^^^^^^ >"name" : "name" @@ -173,11 +173,11 @@ Object.defineProperty(x, "middleInit", { value: "H" }); >Object.defineProperty(x, "middleInit", { value: "H" }) : typeof x > : ^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : typeof x > : ^^^^^^^^ >"middleInit" : "middleInit" @@ -193,11 +193,11 @@ Object.defineProperty(x, "lastName", { value: "Smith", writable: false }); >Object.defineProperty(x, "lastName", { value: "Smith", writable: false }) : typeof x > : ^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : typeof x > : ^^^^^^^^ >"lastName" : "lastName" @@ -217,11 +217,11 @@ Object.defineProperty(x, "zip", { get() { return 98122 }, set(_) { /*ignore*/ } >Object.defineProperty(x, "zip", { get() { return 98122 }, set(_) { /*ignore*/ } }) : typeof x > : ^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : typeof x > : ^^^^^^^^ >"zip" : "zip" @@ -241,11 +241,11 @@ Object.defineProperty(x, "houseNumber", { get() { return 21.75 } }); >Object.defineProperty(x, "houseNumber", { get() { return 21.75 } }) : typeof x > : ^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : typeof x > : ^^^^^^^^ >"houseNumber" : "houseNumber" @@ -261,11 +261,11 @@ Object.defineProperty(x, "zipStr", { >Object.defineProperty(x, "zipStr", { /** @param {string} str */ set(str) { this.zip = Number(str) }}) : typeof x > : ^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : typeof x > : ^^^^^^^^ >"zipStr" : "zipStr" @@ -305,11 +305,11 @@ function takeName(named) { return named.name; } >takeName : (named: { name: string; }) => string > : ^ ^^ ^^^^^^^^^^^ >named : { name: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >named.name : string > : ^^^^^^ >named : { name: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >name : string > : ^^^^^^ @@ -396,15 +396,15 @@ match(() => expected, (x = expected) => void 0); >match : (a: typeof returnExemplar, b: typeof needsExemplar) => void > : ^ ^^ ^^ ^^ ^^^^^^^^^ >() => expected : () => { name: string; readonly middleInit: string; readonly lastName: string; zip: number; readonly houseNumber: number; zipStr: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ >expected : { name: string; readonly middleInit: string; readonly lastName: string; zip: number; readonly houseNumber: number; zipStr: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ >(x = expected) => void 0 : (x?: typeof x | undefined) => undefined > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : typeof x | undefined > : ^^^^^^^^^^^^^^^^^^^^ >expected : { name: string; readonly middleInit: string; readonly lastName: string; zip: number; readonly houseNumber: number; zipStr: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ >void 0 : undefined > : ^^^^^^^^^ >0 : 0 diff --git a/tests/baselines/reference/checkOtherObjectAssignProperty.types b/tests/baselines/reference/checkOtherObjectAssignProperty.types index a991fd2e123a4..4e818ff29d8df 100644 --- a/tests/baselines/reference/checkOtherObjectAssignProperty.types +++ b/tests/baselines/reference/checkOtherObjectAssignProperty.types @@ -151,11 +151,11 @@ Object.defineProperty(exports, "thing", obj); >Object.defineProperty(exports, "thing", obj) : typeof import("mod1") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >exports : typeof import("mod1") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"thing" : "thing" @@ -178,11 +178,11 @@ Object.defineProperty(exports, str, { value: 42, writable: true }); >Object.defineProperty(exports, str, { value: 42, writable: true }) : typeof import("mod1") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >exports : typeof import("mod1") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >str : string @@ -208,11 +208,11 @@ Object.defineProperty(exports, propName, { value: 42, writable: true }); >Object.defineProperty(exports, propName, { value: 42, writable: true }) : typeof import("mod1") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >exports : typeof import("mod1") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >propName : "prop" @@ -233,11 +233,11 @@ Object.defineProperty(exports, "bad1", { }); >Object.defineProperty(exports, "bad1", { }) : typeof import("mod1") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >exports : typeof import("mod1") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"bad1" : "bad1" @@ -249,11 +249,11 @@ Object.defineProperty(exports, "bad2", { get() { return 12 }, value: "no" }); >Object.defineProperty(exports, "bad2", { get() { return 12 }, value: "no" }) : typeof import("mod1") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >exports : typeof import("mod1") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"bad2" : "bad2" @@ -273,11 +273,11 @@ Object.defineProperty(exports, "bad3", { writable: true }); >Object.defineProperty(exports, "bad3", { writable: true }) : typeof import("mod1") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >exports : typeof import("mod1") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"bad3" : "bad3" diff --git a/tests/baselines/reference/checkSuperCallBeforeThisAccess.types b/tests/baselines/reference/checkSuperCallBeforeThisAccess.types index 75470b6282d91..4894e991c671f 100644 --- a/tests/baselines/reference/checkSuperCallBeforeThisAccess.types +++ b/tests/baselines/reference/checkSuperCallBeforeThisAccess.types @@ -356,11 +356,11 @@ export class BarCorrectlyFails extends Foo { >this.bar() : number > : ^^^^^^ >this.bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ super(value); >super(value) : void @@ -416,11 +416,11 @@ export class BarIncorrectlyWorks extends Foo { >this.bar() : number > : ^^^^^^ >this.bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ super(value); >super(value) : void diff --git a/tests/baselines/reference/checkSwitchStatementIfCaseTypeIsString.types b/tests/baselines/reference/checkSwitchStatementIfCaseTypeIsString.types index d12eed18945c4..600a5e492e9c2 100644 --- a/tests/baselines/reference/checkSwitchStatementIfCaseTypeIsString.types +++ b/tests/baselines/reference/checkSwitchStatementIfCaseTypeIsString.types @@ -20,11 +20,11 @@ class A { >x.forEach((v) => { switch(v) { case "test": use(this); } }) : void > : ^^^^ >x.forEach : (callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >x : string[] > : ^^^^^^^^ >forEach : (callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >(v) => { switch(v) { case "test": use(this); } } : (v: string) => void > : ^ ^^^^^^^^^^^^^^^^^ >v : string @@ -40,7 +40,7 @@ class A { >use(this) : void > : ^^^^ >use : (a: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ } diff --git a/tests/baselines/reference/checkerInitializationCrash.errors.txt b/tests/baselines/reference/checkerInitializationCrash.errors.txt new file mode 100644 index 0000000000000..e1f28e265e219 --- /dev/null +++ b/tests/baselines/reference/checkerInitializationCrash.errors.txt @@ -0,0 +1,47 @@ +/node_modules/@fullcalendar/core/index.d.ts(4,10): error TS2300: Duplicate identifier 'VNode'. +/node_modules/@fullcalendar/react/index.d.ts(4,19): error TS2300: Duplicate identifier 'VNode'. + + +==== /node_modules/@fullcalendar/react/index.d.ts (1 errors) ==== + import * as react from 'react'; + declare global { + namespace FullCalendarVDom { + export import VNode = react.ReactNode; + ~~~~~ +!!! error TS2300: Duplicate identifier 'VNode'. +!!! related TS6203 /node_modules/@fullcalendar/core/index.d.ts:4:10: 'VNode' was also declared here. + } + } + + export default class FullCalendar { + } + +==== /node_modules/@fullcalendar/core/index.d.ts (1 errors) ==== + import * as preact from 'preact'; + declare global { + namespace FullCalendarVDom { + type VNode = preact.VNode; + ~~~~~ +!!! error TS2300: Duplicate identifier 'VNode'. +!!! related TS6203 /node_modules/@fullcalendar/react/index.d.ts:4:19: 'VNode' was also declared here. + } + } + + export type EventInput = any; + +==== /node_modules/@types/react/index.d.ts (0 errors) ==== + export = React; + export as namespace React; + declare namespace React { + type ReactNode = any; + function useMemo(factory: () => T, deps: undefined): T; + } + +==== /node_modules/preact/index.d.ts (0 errors) ==== + export as namespace preact; + export interface VNode

= declare function createElementIsolated

( >createElementIsolated :

(type: FunctionComponent

| ComponentClass

| string, props?: P | null) => void -> : ^ ^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^ type: FunctionComponent

| ComponentClass

| string, >type : string | FunctionComponent

| ComponentClass

@@ -71,7 +71,7 @@ createElementIsolated(WrapperIsolated, { value: "C" }); >createElementIsolated(WrapperIsolated, { value: "C" }) : void > : ^^^^ >createElementIsolated :

(type: FunctionComponent

| ComponentClass

| string, props?: P | null) => void -> : ^ ^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^ >WrapperIsolated : JSXElementConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ value: "C" } : { value: "C"; } @@ -92,16 +92,16 @@ declare const stat: any; [].push.apply(props, stat.properties); >[].push.apply(props, stat.properties) : number > : ^^^^^^ ->[].push.apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T_1, ...args: A) => R_1, thisArg: T_1, args: A): R_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>[].push.apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >[].push : (...items: never[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^ >[] : never[] > : ^^^^^^^ >push : (...items: never[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^ ->apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T_1, ...args: A) => R_1, thisArg: T_1, args: A): R_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^ +>apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >props : any[] > : ^^^^^ >stat.properties : any diff --git a/tests/baselines/reference/collectionPatternNoError.types b/tests/baselines/reference/collectionPatternNoError.types index dfb2db6ff51e3..d85d37eb1bbe5 100644 --- a/tests/baselines/reference/collectionPatternNoError.types +++ b/tests/baselines/reference/collectionPatternNoError.types @@ -27,7 +27,7 @@ interface MessageList extends Message { function fetchMsg(protoCtor: MsgConstructor): V { >fetchMsg : (protoCtor: MsgConstructor) => V -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >protoCtor : MsgConstructor > : ^^^^^^^^^^^^^^^^^ @@ -61,7 +61,7 @@ class DataProvider> { >fetchMsg(this.messageList) : U > : ^ >fetchMsg : (protoCtor: MsgConstructor) => V -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >this.messageList : MsgConstructor > : ^^^^^^^^^^^^^^^^^ >this : this @@ -73,11 +73,11 @@ class DataProvider> { >messageList.methodOnMessageList() : T[] > : ^^^ >messageList.methodOnMessageList : () => T[] -> : ^^^^^^^^^ +> : ^^^^^^^ >messageList : U > : ^ >methodOnMessageList : () => T[] -> : ^^^^^^^^^ +> : ^^^^^^^ } } @@ -85,7 +85,7 @@ class DataProvider> { // (won't surface directly unless unsound indexed access assignments are forbidden) function f< >f : ; }, T extends Message>(message: MsgConstructor, messageList: MsgConstructor) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ U extends {TType: MessageList}, >TType : MessageList @@ -102,14 +102,14 @@ function f< >fetchMsg(messageList).methodOnMessageList() : T[] > : ^^^ >fetchMsg(messageList).methodOnMessageList : () => T[] -> : ^^^^^^^^^ +> : ^^^^^^^ >fetchMsg(messageList) : U["TType"] > : ^^^^^^^^^^ >fetchMsg : (protoCtor: MsgConstructor) => V -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >messageList : MsgConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >methodOnMessageList : () => T[] -> : ^^^^^^^^^ +> : ^^^^^^^ } diff --git a/tests/baselines/reference/collisionRestParameterUnderscoreIUsage.types b/tests/baselines/reference/collisionRestParameterUnderscoreIUsage.types index 79e307cd9ea9a..6697ef9c28c26 100644 --- a/tests/baselines/reference/collisionRestParameterUnderscoreIUsage.types +++ b/tests/baselines/reference/collisionRestParameterUnderscoreIUsage.types @@ -27,11 +27,11 @@ class Foo { >console.log(_i) : void > : ^^^^ >console.log : (msg?: string) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >console : { log(msg?: string): void; } -> : ^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ ^^^ >log : (msg?: string) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >_i : string > : ^^^^^^ } diff --git a/tests/baselines/reference/collisionThisExpressionAndLocalVarInLambda.types b/tests/baselines/reference/collisionThisExpressionAndLocalVarInLambda.types index 06e29a7f12f9e..91870dcd747c1 100644 --- a/tests/baselines/reference/collisionThisExpressionAndLocalVarInLambda.types +++ b/tests/baselines/reference/collisionThisExpressionAndLocalVarInLambda.types @@ -3,7 +3,7 @@ === collisionThisExpressionAndLocalVarInLambda.ts === declare function alert(message?: any): void; >alert : { (message?: any): void; (message?: any): void; } -> : ^^^ ^^^ ^^^^^^^^^^ ^^^ ^^^ ^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ >message : any var x = { @@ -38,7 +38,7 @@ alert(x.doStuff(x => alert(x))); >alert(x.doStuff(x => alert(x))) : void > : ^^^^ >alert : { (message?: any): void; (message?: any): void; } -> : ^^^ ^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ >x.doStuff(x => alert(x)) : () => any > : ^^^^^^^^^ >x.doStuff : (callback: any) => () => any @@ -53,6 +53,6 @@ alert(x.doStuff(x => alert(x))); >alert(x) : void > : ^^^^ >alert : { (message?: any): void; (message?: any): void; } -> : ^^^ ^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ >x : any diff --git a/tests/baselines/reference/commaOperatorInConditionalExpression.types b/tests/baselines/reference/commaOperatorInConditionalExpression.types index 7aed0002242f8..fc76267aefe21 100644 --- a/tests/baselines/reference/commaOperatorInConditionalExpression.types +++ b/tests/baselines/reference/commaOperatorInConditionalExpression.types @@ -11,7 +11,7 @@ function f (m: string) { >[1, 2, 3].map(i => { return true? { [m]: i } : { [m]: i + 1 } }) : { [x: string]: number; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >[1, 2, 3].map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >[1, 2, 3] : number[] > : ^^^^^^^^ >1 : 1 @@ -21,7 +21,7 @@ function f (m: string) { >3 : 3 > : ^ >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >i => { return true? { [m]: i } : { [m]: i + 1 } } : (i: number) => { [x: string]: number; } > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >i : number diff --git a/tests/baselines/reference/commaOperatorLeftSideUnused.types b/tests/baselines/reference/commaOperatorLeftSideUnused.types index f775626d818d3..cedcd7377fef3 100644 --- a/tests/baselines/reference/commaOperatorLeftSideUnused.types +++ b/tests/baselines/reference/commaOperatorLeftSideUnused.types @@ -54,11 +54,11 @@ let x = Math.pow((3, 5), 2); >Math.pow((3, 5), 2) : number > : ^^^^^^ >Math.pow : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >Math : Math > : ^^^^ >pow : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >(3, 5) : 5 > : ^ >3, 5 : 5 @@ -557,11 +557,11 @@ xx = (Math.pow(3, 2), 4); >Math.pow(3, 2) : number > : ^^^^^^ >Math.pow : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >Math : Math > : ^^^^ >pow : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >3 : 3 > : ^ >2 : 2 diff --git a/tests/baselines/reference/commaOperatorWithSecondOperandAnyType.types b/tests/baselines/reference/commaOperatorWithSecondOperandAnyType.types index 704e3e8a3d032..d6992f9119003 100644 --- a/tests/baselines/reference/commaOperatorWithSecondOperandAnyType.types +++ b/tests/baselines/reference/commaOperatorWithSecondOperandAnyType.types @@ -124,11 +124,11 @@ var x: any; >"string".charAt(0) : string > : ^^^^^^ >"string".charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"string" : "string" > : ^^^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ >[null, 1] : number[] @@ -194,11 +194,11 @@ var resultIsAny9 = ("string".charAt(0), undefined); >"string".charAt(0) : string > : ^^^^^^ >"string".charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"string" : "string" > : ^^^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ >undefined : undefined diff --git a/tests/baselines/reference/commaOperatorWithSecondOperandNumberType.types b/tests/baselines/reference/commaOperatorWithSecondOperandNumberType.types index 734bcbf6c135c..c2525034bbef8 100644 --- a/tests/baselines/reference/commaOperatorWithSecondOperandNumberType.types +++ b/tests/baselines/reference/commaOperatorWithSecondOperandNumberType.types @@ -176,11 +176,11 @@ STRING.trim(), NUMBER = 1; >STRING.trim() : string > : ^^^^^^ >STRING.trim : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >STRING : string > : ^^^^^^ >trim : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >NUMBER = 1 : 1 > : ^ >NUMBER : number @@ -267,11 +267,11 @@ var resultIsNumber11 = (STRING.trim(), NUMBER = 1); >STRING.trim() : string > : ^^^^^^ >STRING.trim : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >STRING : string > : ^^^^^^ >trim : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >NUMBER = 1 : 1 > : ^ >NUMBER : number diff --git a/tests/baselines/reference/commaOperatorWithSecondOperandObjectType.types b/tests/baselines/reference/commaOperatorWithSecondOperandObjectType.types index 474d7765bdd94..83605d899c9be 100644 --- a/tests/baselines/reference/commaOperatorWithSecondOperandObjectType.types +++ b/tests/baselines/reference/commaOperatorWithSecondOperandObjectType.types @@ -179,11 +179,11 @@ STRING.toLowerCase(), new CLASS() >STRING.toLowerCase() : string > : ^^^^^^ >STRING.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >STRING : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >new CLASS() : CLASS > : ^^^^^ >CLASS : typeof CLASS @@ -270,11 +270,11 @@ var resultIsObject11 = (STRING.toLowerCase(), new CLASS()); >STRING.toLowerCase() : string > : ^^^^^^ >STRING.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >STRING : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >new CLASS() : CLASS > : ^^^^^ >CLASS : typeof CLASS diff --git a/tests/baselines/reference/commaOperatorWithSecondOperandStringType.types b/tests/baselines/reference/commaOperatorWithSecondOperandStringType.types index 757e9df81d8e1..e26c7bb76312f 100644 --- a/tests/baselines/reference/commaOperatorWithSecondOperandStringType.types +++ b/tests/baselines/reference/commaOperatorWithSecondOperandStringType.types @@ -176,11 +176,11 @@ BOOLEAN == undefined, ""; >NUMBER.toString() : string > : ^^^^^^ >NUMBER.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >NUMBER : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ OBJECT = new Object, STRING + "string"; >OBJECT = new Object, STRING + "string" : string @@ -271,11 +271,11 @@ var resultIsString10 = (["a", "b"], NUMBER.toString()); >NUMBER.toString() : string > : ^^^^^^ >NUMBER.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >NUMBER : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var resultIsString11 = (new Object, STRING + "string"); >resultIsString11 : string diff --git a/tests/baselines/reference/commaOperatorsMultipleOperators.types b/tests/baselines/reference/commaOperatorsMultipleOperators.types index 9f09fdd1ca482..9eb2564e74422 100644 --- a/tests/baselines/reference/commaOperatorsMultipleOperators.types +++ b/tests/baselines/reference/commaOperatorsMultipleOperators.types @@ -173,11 +173,11 @@ null, true, 1; >STRING.charAt(0) : string > : ^^^^^^ >STRING.charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >STRING : string > : ^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ >new Object() : Object @@ -215,11 +215,11 @@ var resultIsObject2 = (++NUMBER, STRING.charAt(0), new Object()); >STRING.charAt(0) : string > : ^^^^^^ >STRING.charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >STRING : string > : ^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ >new Object() : Object diff --git a/tests/baselines/reference/commentEmitOnParenthesizedAssertionInReturnStatement.types b/tests/baselines/reference/commentEmitOnParenthesizedAssertionInReturnStatement.types index f96bd0cdcf707..54ff2d7d5dcb2 100644 --- a/tests/baselines/reference/commentEmitOnParenthesizedAssertionInReturnStatement.types +++ b/tests/baselines/reference/commentEmitOnParenthesizedAssertionInReturnStatement.types @@ -18,12 +18,12 @@ export class Foo { > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve('') : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >'' : "" > : ^^ } diff --git a/tests/baselines/reference/commentEmitOnParenthesizedAssertionInReturnStatement2.types b/tests/baselines/reference/commentEmitOnParenthesizedAssertionInReturnStatement2.types index c920ff15c35c1..5bbdfde96b4e6 100644 --- a/tests/baselines/reference/commentEmitOnParenthesizedAssertionInReturnStatement2.types +++ b/tests/baselines/reference/commentEmitOnParenthesizedAssertionInReturnStatement2.types @@ -18,12 +18,12 @@ export class Foo { > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve('') : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >'' : "" > : ^^ } diff --git a/tests/baselines/reference/commentInMethodCall.types b/tests/baselines/reference/commentInMethodCall.types index 74e4d888f1e48..3c0d9899d05d2 100644 --- a/tests/baselines/reference/commentInMethodCall.types +++ b/tests/baselines/reference/commentInMethodCall.types @@ -10,11 +10,11 @@ s.map(// do something >s.map(// do something function () { }) : void[] > : ^^^^^^ >s.map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >s : string[] > : ^^^^^^^^ >map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ function () { }); >function () { } : () => void diff --git a/tests/baselines/reference/commentLeadingCloseBrace.types b/tests/baselines/reference/commentLeadingCloseBrace.types index db98c658a1b08..8f55acc0fe99d 100644 --- a/tests/baselines/reference/commentLeadingCloseBrace.types +++ b/tests/baselines/reference/commentLeadingCloseBrace.types @@ -14,7 +14,7 @@ function ifelse() { if (commentedParameters(1, 2)) { >commentedParameters(1, 2) : any >commentedParameters : (...args: any[]) => any -> : ^^^^ ^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -24,7 +24,7 @@ function ifelse() { commentedParameters(3, 4); >commentedParameters(3, 4) : any >commentedParameters : (...args: any[]) => any -> : ^^^^ ^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >3 : 3 > : ^ >4 : 4 @@ -35,7 +35,7 @@ function ifelse() { commentedParameters(5, 6); >commentedParameters(5, 6) : any >commentedParameters : (...args: any[]) => any -> : ^^^^ ^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >5 : 5 > : ^ >6 : 6 diff --git a/tests/baselines/reference/commentOnDecoratedClassDeclaration.types b/tests/baselines/reference/commentOnDecoratedClassDeclaration.types index 8b7853168e63f..35b6306d68adf 100644 --- a/tests/baselines/reference/commentOnDecoratedClassDeclaration.types +++ b/tests/baselines/reference/commentOnDecoratedClassDeclaration.types @@ -13,7 +13,7 @@ declare function decorator(x: string): any; @decorator("hello") >decorator("hello") : any >decorator : (x: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ @@ -28,7 +28,7 @@ class Remote { } @decorator("hi") >decorator("hi") : any >decorator : (x: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >"hi" : "hi" > : ^^^^ diff --git a/tests/baselines/reference/commentOnParenthesizedExpressionOpenParen1.types b/tests/baselines/reference/commentOnParenthesizedExpressionOpenParen1.types index 00113506fbb5c..64a0d0c329b1a 100644 --- a/tests/baselines/reference/commentOnParenthesizedExpressionOpenParen1.types +++ b/tests/baselines/reference/commentOnParenthesizedExpressionOpenParen1.types @@ -15,5 +15,5 @@ var f: () => any; >j : any >f() : any >f : () => any -> : ^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/commentOnSignature1.types b/tests/baselines/reference/commentOnSignature1.types index 3aa95b36cc563..b72bc29d97102 100644 --- a/tests/baselines/reference/commentOnSignature1.types +++ b/tests/baselines/reference/commentOnSignature1.types @@ -4,20 +4,20 @@ /// function foo2(n: number): void; >foo2 : { (n: number): void; (s: string): void; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ // Don't keep this comment. function foo2(s: string): void; >foo2 : { (n: number): void; (s: string): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ function foo2(a: any): void { >foo2 : { (n: number): void; (s: string): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any } === a.ts === @@ -29,20 +29,20 @@ function foo2(a: any): void { /*! Don't keep this pinned comment */ function foo(n: number): void; >foo : { (n: number): void; (s: string): void; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ // Don't keep this comment. function foo(s: string): void; >foo : { (n: number): void; (s: string): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ function foo(a: any): void { >foo : { (n: number): void; (s: string): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any } diff --git a/tests/baselines/reference/commentsInterface.types b/tests/baselines/reference/commentsInterface.types index 02517758febbc..740c812054b8b 100644 --- a/tests/baselines/reference/commentsInterface.types +++ b/tests/baselines/reference/commentsInterface.types @@ -93,13 +93,13 @@ var i2_i_x = i2_i.x; var i2_i_foo = i2_i.foo; >i2_i_foo : (b: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i2_i.foo : (b: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i2_i : i2 > : ^^ >foo : (b: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var i2_i_foo_r = i2_i.foo(30); >i2_i_foo_r : string @@ -107,11 +107,11 @@ var i2_i_foo_r = i2_i.foo(30); >i2_i.foo(30) : string > : ^^^^^^ >i2_i.foo : (b: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i2_i : i2 > : ^^ >foo : (b: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >30 : 30 > : ^^ @@ -153,13 +153,13 @@ var i2_i_nc_x = i2_i.nc_x; var i2_i_nc_foo = i2_i.nc_foo; >i2_i_nc_foo : (b: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i2_i.nc_foo : (b: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i2_i : i2 > : ^^ >nc_foo : (b: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var i2_i_nc_foo_r = i2_i.nc_foo(30); >i2_i_nc_foo_r : string @@ -167,11 +167,11 @@ var i2_i_nc_foo_r = i2_i.nc_foo(30); >i2_i.nc_foo(30) : string > : ^^^^^^ >i2_i.nc_foo : (b: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i2_i : i2 > : ^^ >nc_foo : (b: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >30 : 30 > : ^^ @@ -189,13 +189,13 @@ var i2_i_r = i2_i(10, 20); var i2_i_fnfoo = i2_i.fnfoo; >i2_i_fnfoo : (b: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i2_i.fnfoo : (b: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i2_i : i2 > : ^^ >fnfoo : (b: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var i2_i_fnfoo_r = i2_i.fnfoo(10); >i2_i_fnfoo_r : string @@ -203,23 +203,23 @@ var i2_i_fnfoo_r = i2_i.fnfoo(10); >i2_i.fnfoo(10) : string > : ^^^^^^ >i2_i.fnfoo : (b: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i2_i : i2 > : ^^ >fnfoo : (b: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >10 : 10 > : ^^ var i2_i_nc_fnfoo = i2_i.nc_fnfoo; >i2_i_nc_fnfoo : (b: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i2_i.nc_fnfoo : (b: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i2_i : i2 > : ^^ >nc_fnfoo : (b: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var i2_i_nc_fnfoo_r = i2_i.nc_fnfoo(10); >i2_i_nc_fnfoo_r : string @@ -227,11 +227,11 @@ var i2_i_nc_fnfoo_r = i2_i.nc_fnfoo(10); >i2_i.nc_fnfoo(10) : string > : ^^^^^^ >i2_i.nc_fnfoo : (b: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i2_i : i2 > : ^^ >nc_fnfoo : (b: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >10 : 10 > : ^^ @@ -352,11 +352,11 @@ i3_i.f(10); >i3_i.f(10) : string > : ^^^^^^ >i3_i.f : (a: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i3_i : i3 > : ^^ >f : (a: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >10 : 10 > : ^^ @@ -364,11 +364,11 @@ i3_i.l(10); >i3_i.l(10) : string > : ^^^^^^ >i3_i.l : (b: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i3_i : i3 > : ^^ >l : (b: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >10 : 10 > : ^^ @@ -376,11 +376,11 @@ i3_i.nc_f(10); >i3_i.nc_f(10) : string > : ^^^^^^ >i3_i.nc_f : (a: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i3_i : i3 > : ^^ >nc_f : (a: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >10 : 10 > : ^^ @@ -388,11 +388,11 @@ i3_i.nc_l(10); >i3_i.nc_l(10) : string > : ^^^^^^ >i3_i.nc_l : (b: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i3_i : i3 > : ^^ >nc_l : (b: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >10 : 10 > : ^^ diff --git a/tests/baselines/reference/commentsOverloads.types b/tests/baselines/reference/commentsOverloads.types index a969b42e94c4e..2ab32c9fb47df 100644 --- a/tests/baselines/reference/commentsOverloads.types +++ b/tests/baselines/reference/commentsOverloads.types @@ -4,19 +4,19 @@ /** this is signature 1*/ function f1(/**param a*/a: number): number; >f1 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ function f1(b: string): number; >f1 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : string > : ^^^^^^ function f1(aOrb: any) { >f1 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >aOrb : any return 10; @@ -27,7 +27,7 @@ f1("hello"); >f1("hello") : number > : ^^^^^^ >f1 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >"hello" : "hello" > : ^^^^^^^ @@ -35,27 +35,27 @@ f1(10); >f1(10) : number > : ^^^^^^ >f1 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >10 : 10 > : ^^ function f2(a: number): number; >f2 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ /** this is signature 2*/ function f2(b: string): number; >f2 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : string > : ^^^^^^ /** this is f2 var comment*/ function f2(aOrb: any) { >f2 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >aOrb : any return 10; @@ -66,7 +66,7 @@ f2("hello"); >f2("hello") : number > : ^^^^^^ >f2 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >"hello" : "hello" > : ^^^^^^^ @@ -74,25 +74,25 @@ f2(10); >f2(10) : number > : ^^^^^^ >f2 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >10 : 10 > : ^^ function f3(a: number): number; >f3 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ function f3(b: string): number; >f3 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : string > : ^^^^^^ function f3(aOrb: any) { >f3 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >aOrb : any return 10; @@ -103,7 +103,7 @@ f3("hello"); >f3("hello") : number > : ^^^^^^ >f3 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >"hello" : "hello" > : ^^^^^^^ @@ -111,27 +111,27 @@ f3(10); >f3(10) : number > : ^^^^^^ >f3 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >10 : 10 > : ^^ /** this is signature 4 - with number parameter*/ function f4(/**param a*/a: number): number; >f4 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ /** this is signature 4 - with string parameter*/ function f4(b: string): number; >f4 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : string > : ^^^^^^ function f4(aOrb: any) { >f4 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >aOrb : any return 10; @@ -142,7 +142,7 @@ f4("hello"); >f4("hello") : number > : ^^^^^^ >f4 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >"hello" : "hello" > : ^^^^^^^ @@ -150,7 +150,7 @@ f4(10); >f4(10) : number > : ^^^^^^ >f4 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >10 : 10 > : ^^ @@ -168,73 +168,73 @@ interface i1 { /** foo 1*/ foo(a: number): number; >foo : { (a: number): number; (b: string): number; (arr: number[]): number; (arr: string[]): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ /** foo 2*/ foo(b: string): number; >foo : { (a: number): number; (b: string): number; (arr: number[]): number; (arr: string[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : string > : ^^^^^^ // foo 3 foo(arr: number[]): number; >foo : { (a: number): number; (b: string): number; (arr: number[]): number; (arr: string[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >arr : number[] > : ^^^^^^^^ /** foo 4 */ foo(arr: string[]): number; >foo : { (a: number): number; (b: string): number; (arr: number[]): number; (arr: string[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >arr : string[] > : ^^^^^^^^ foo2(a: number): number; >foo2 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ /** foo2 2*/ foo2(b: string): number; >foo2 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : string > : ^^^^^^ foo3(a: number): number; >foo3 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ foo3(b: string): number; >foo3 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : string > : ^^^^^^ /** foo4 1*/ foo4(a: number): number; >foo4 : { (a: number): number; (b: string): number; (c: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ foo4(b: string): number; >foo4 : { (a: number): number; (b: string): number; (c: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : string > : ^^^^^^ /** foo4 any */ foo4(c: any): any; >foo4 : { (a: number): number; (b: string): number; (c: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c : any /// new 1 @@ -321,19 +321,19 @@ class c { public prop1(a: number): number; >prop1 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ public prop1(b: string): number; >prop1 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : string > : ^^^^^^ public prop1(aorb: any) { >prop1 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >aorb : any return 10; @@ -343,19 +343,19 @@ class c { /** prop2 1*/ public prop2(a: number): number; >prop2 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ public prop2(b: string): number; >prop2 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : string > : ^^^^^^ public prop2(aorb: any) { >prop2 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >aorb : any return 10; @@ -364,20 +364,20 @@ class c { } public prop3(a: number): number; >prop3 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ /** prop3 2*/ public prop3(b: string): number; >prop3 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : string > : ^^^^^^ public prop3(aorb: any) { >prop3 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >aorb : any return 10; @@ -387,20 +387,20 @@ class c { /** prop4 1*/ public prop4(a: number): number; >prop4 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ /** prop4 2*/ public prop4(b: string): number; >prop4 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : string > : ^^^^^^ public prop4(aorb: any) { >prop4 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >aorb : any return 10; @@ -410,21 +410,21 @@ class c { /** prop5 1*/ public prop5(a: number): number; >prop5 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ /** prop5 2*/ public prop5(b: string): number; >prop5 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : string > : ^^^^^^ /** Prop5 implementaion*/ public prop5(aorb: any) { >prop5 : { (a: number): number; (b: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >aorb : any return 10; diff --git a/tests/baselines/reference/commentsTypeParameters.types b/tests/baselines/reference/commentsTypeParameters.types index 5bbbe48ce3146..7f77a1e9c29ac 100644 --- a/tests/baselines/reference/commentsTypeParameters.types +++ b/tests/baselines/reference/commentsTypeParameters.types @@ -7,7 +7,7 @@ class C { method(a: U) { >method : (a: U) => void -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >a : U > : ^ } @@ -20,7 +20,7 @@ class C { private privatemethod(a: U) { >privatemethod : (a: U) => void -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >a : U > : ^ } diff --git a/tests/baselines/reference/commentsVarDecl.types b/tests/baselines/reference/commentsVarDecl.types index d79a81c899b86..08ddb0338d20e 100644 --- a/tests/baselines/reference/commentsVarDecl.types +++ b/tests/baselines/reference/commentsVarDecl.types @@ -99,9 +99,9 @@ var z2: /** type comment*/ (x: number) => string; var x2 = z2; >x2 : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >z2 : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var n4: (x: number) => string; >n4 : (x: number) => string @@ -111,9 +111,9 @@ var n4: (x: number) => string; n4 = z2; >n4 = z2 : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >n4 : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >z2 : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ diff --git a/tests/baselines/reference/commentsdoNotEmitComments.types b/tests/baselines/reference/commentsdoNotEmitComments.types index df3f9e75fbbf4..2a976739e0d62 100644 --- a/tests/baselines/reference/commentsdoNotEmitComments.types +++ b/tests/baselines/reference/commentsdoNotEmitComments.types @@ -33,7 +33,7 @@ fooVar(); >fooVar() : void > : ^^^^ >fooVar : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ /**class comment*/ class c { @@ -102,21 +102,21 @@ class c { /** overload signature1*/ public foo1(a: number): string; >foo1 : { (a: number): string; (b: string): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ /** Overload signature 2*/ public foo1(b: string): string; >foo1 : { (a: number): string; (b: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : string > : ^^^^^^ /** overload implementation signature*/ public foo1(aOrb) { >foo1 : { (a: number): string; (b: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >aOrb : any return aOrb.toString(); diff --git a/tests/baselines/reference/commentsemitComments.types b/tests/baselines/reference/commentsemitComments.types index 50bc5f7442b46..e9736dd5447bd 100644 --- a/tests/baselines/reference/commentsemitComments.types +++ b/tests/baselines/reference/commentsemitComments.types @@ -33,7 +33,7 @@ fooVar(); >fooVar() : void > : ^^^^ >fooVar : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ /**class comment*/ class c { @@ -102,21 +102,21 @@ class c { /** overload signature1*/ public foo1(a: number): string; >foo1 : { (a: number): string; (b: string): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ /** Overload signature 2*/ public foo1(b: string): string; >foo1 : { (a: number): string; (b: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : string > : ^^^^^^ /** overload implementation signature*/ public foo1(aOrb) { >foo1 : { (a: number): string; (b: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >aOrb : any return aOrb.toString(); diff --git a/tests/baselines/reference/commonSourceDir5.types b/tests/baselines/reference/commonSourceDir5.types index 336cc1f890719..725647dee9428 100644 --- a/tests/baselines/reference/commonSourceDir5.types +++ b/tests/baselines/reference/commonSourceDir5.types @@ -26,11 +26,11 @@ export var i = Math.sqrt(-1); >Math.sqrt(-1) : number > : ^^^^^^ >Math.sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >-1 : -1 > : ^^ >1 : 1 diff --git a/tests/baselines/reference/commonSourceDir6.types b/tests/baselines/reference/commonSourceDir6.types index d99d982ded61b..e8b04776c3075 100644 --- a/tests/baselines/reference/commonSourceDir6.types +++ b/tests/baselines/reference/commonSourceDir6.types @@ -26,11 +26,11 @@ export var i = Math.sqrt(-1); >Math.sqrt(-1) : number > : ^^^^^^ >Math.sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >-1 : -1 > : ^^ >1 : 1 diff --git a/tests/baselines/reference/commonTypeIntersection.types b/tests/baselines/reference/commonTypeIntersection.types index 99a8b1f951c1d..447530c1e1119 100644 --- a/tests/baselines/reference/commonTypeIntersection.types +++ b/tests/baselines/reference/commonTypeIntersection.types @@ -17,7 +17,7 @@ let y1: { __typename?: 'TypeOne' } & { a: boolean} = x1; // should error here >a : boolean > : ^^^^^^^ >x1 : { __typename?: "TypeTwo"; } & { a: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^ declare let x2: { __typename?: 'TypeTwo' } & string; >x2 : { __typename?: "TypeTwo"; } & string @@ -31,5 +31,5 @@ let y2: { __typename?: 'TypeOne' } & string = x2; // should error here >__typename : "TypeOne" > : ^^^^^^^^^ >x2 : { __typename?: "TypeTwo"; } & string -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ diff --git a/tests/baselines/reference/comparabilityTypeParametersRelatedByUnion.types b/tests/baselines/reference/comparabilityTypeParametersRelatedByUnion.types index 936d57e33df77..0c2b3a0d37344 100644 --- a/tests/baselines/reference/comparabilityTypeParametersRelatedByUnion.types +++ b/tests/baselines/reference/comparabilityTypeParametersRelatedByUnion.types @@ -11,7 +11,7 @@ class C { good(y: U) { >good : (y: U) => void -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >y : U > : ^ @@ -29,8 +29,8 @@ class C { } bad(y: U) { ->bad : (y: U) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>bad : (y: U) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >y : U > : ^ diff --git a/tests/baselines/reference/compareTypeParameterConstrainedByLiteralToLiteral.types b/tests/baselines/reference/compareTypeParameterConstrainedByLiteralToLiteral.types index 7c32f73d88b90..44d78f175980e 100644 --- a/tests/baselines/reference/compareTypeParameterConstrainedByLiteralToLiteral.types +++ b/tests/baselines/reference/compareTypeParameterConstrainedByLiteralToLiteral.types @@ -5,7 +5,7 @@ function foo(t: T) { >foo : (t: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >t : T > : ^ diff --git a/tests/baselines/reference/comparisonOperatorWithIntersectionType.types b/tests/baselines/reference/comparisonOperatorWithIntersectionType.types index 58c101ca03307..8bf1b5e33a012 100644 --- a/tests/baselines/reference/comparisonOperatorWithIntersectionType.types +++ b/tests/baselines/reference/comparisonOperatorWithIntersectionType.types @@ -11,7 +11,7 @@ a > 1; >a > 1 : boolean > : ^^^^^^^ >a : { a: 1; } -> : ^^^^^^^^^ +> : ^^^^^ ^^^ >1 : 1 > : ^ @@ -27,7 +27,7 @@ b > 1; >b > 1 : boolean > : ^^^^^^^ >b : { a: 1; } & { b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnCallSignature.types b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnCallSignature.types index 46a08fc91cd5b..e67a171f1a013 100644 --- a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnCallSignature.types +++ b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnCallSignature.types @@ -145,9 +145,9 @@ var r1a1 = a1 < b1; >a1 < b1 : boolean > : ^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r1a2 = a2 < b2; >r1a2 : boolean @@ -155,9 +155,9 @@ var r1a2 = a2 < b2; >a2 < b2 : boolean > : ^^^^^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(a: string): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r1a3 = a3 < b3; >r1a3 : boolean @@ -165,9 +165,9 @@ var r1a3 = a3 < b3; >a3 < b3 : boolean > : ^^^^^^^ >a3 : { fn(a: Base, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b3 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r1a4 = a4 < b4; >r1a4 : boolean @@ -175,9 +175,9 @@ var r1a4 = a4 < b4; >a4 < b4 : boolean > : ^^^^^^^ >a4 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b4 : { fn(): C; } -> : ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r1a5 = a5 < b5; >r1a5 : boolean @@ -185,9 +185,9 @@ var r1a5 = a5 < b5; >a5 < b5 : boolean > : ^^^^^^^ >a5 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >b5 : { fn(a?: C): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r1a6 = a6 < b6; >r1a6 : boolean @@ -195,9 +195,9 @@ var r1a6 = a6 < b6; >a6 < b6 : boolean > : ^^^^^^^ >a6 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >b6 : { fn(...a: C[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r1a7 = a7 < b7; >r1a7 : boolean @@ -205,9 +205,9 @@ var r1a7 = a7 < b7; >a7 < b7 : boolean > : ^^^^^^^ >a7 : { fn(t: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b7 : { fn(t: T[]): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r1b1 = b1 < a1; >r1b1 : boolean @@ -215,9 +215,9 @@ var r1b1 = b1 < a1; >b1 < a1 : boolean > : ^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r1b2 = b2 < a2; >r1b2 : boolean @@ -225,9 +225,9 @@ var r1b2 = b2 < a2; >b2 < a2 : boolean > : ^^^^^^^ >b2 : { fn(a: string): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r1b3 = b3 < a3; >r1b3 : boolean @@ -235,9 +235,9 @@ var r1b3 = b3 < a3; >b3 < a3 : boolean > : ^^^^^^^ >b3 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a3 : { fn(a: Base, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r1b4 = b4 < a4; >r1b4 : boolean @@ -245,9 +245,9 @@ var r1b4 = b4 < a4; >b4 < a4 : boolean > : ^^^^^^^ >b4 : { fn(): C; } -> : ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a4 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r1b5 = b5 < a5; >r1b5 : boolean @@ -255,9 +255,9 @@ var r1b5 = b5 < a5; >b5 < a5 : boolean > : ^^^^^^^ >b5 : { fn(a?: C): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a5 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r1b6 = b6 < a6; >r1b6 : boolean @@ -265,9 +265,9 @@ var r1b6 = b6 < a6; >b6 < a6 : boolean > : ^^^^^^^ >b6 : { fn(...a: C[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a6 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r1b7 = b7 < a7; >r1b7 : boolean @@ -275,9 +275,9 @@ var r1b7 = b7 < a7; >b7 < a7 : boolean > : ^^^^^^^ >b7 : { fn(t: T[]): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >a7 : { fn(t: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ // operator > var r2a1 = a1 > b1; @@ -286,9 +286,9 @@ var r2a1 = a1 > b1; >a1 > b1 : boolean > : ^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r2a2 = a2 > b2; >r2a2 : boolean @@ -296,9 +296,9 @@ var r2a2 = a2 > b2; >a2 > b2 : boolean > : ^^^^^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(a: string): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r2a3 = a3 > b3; >r2a3 : boolean @@ -306,9 +306,9 @@ var r2a3 = a3 > b3; >a3 > b3 : boolean > : ^^^^^^^ >a3 : { fn(a: Base, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b3 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r2a4 = a4 > b4; >r2a4 : boolean @@ -316,9 +316,9 @@ var r2a4 = a4 > b4; >a4 > b4 : boolean > : ^^^^^^^ >a4 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b4 : { fn(): C; } -> : ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r2a5 = a5 > b5; >r2a5 : boolean @@ -326,9 +326,9 @@ var r2a5 = a5 > b5; >a5 > b5 : boolean > : ^^^^^^^ >a5 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >b5 : { fn(a?: C): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r2a6 = a6 > b6; >r2a6 : boolean @@ -336,9 +336,9 @@ var r2a6 = a6 > b6; >a6 > b6 : boolean > : ^^^^^^^ >a6 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >b6 : { fn(...a: C[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r2a7 = a7 > b7; >r2a7 : boolean @@ -346,9 +346,9 @@ var r2a7 = a7 > b7; >a7 > b7 : boolean > : ^^^^^^^ >a7 : { fn(t: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b7 : { fn(t: T[]): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r2b1 = b1 > a1; >r2b1 : boolean @@ -356,9 +356,9 @@ var r2b1 = b1 > a1; >b1 > a1 : boolean > : ^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r2b2 = b2 > a2; >r2b2 : boolean @@ -366,9 +366,9 @@ var r2b2 = b2 > a2; >b2 > a2 : boolean > : ^^^^^^^ >b2 : { fn(a: string): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r2b3 = b3 > a3; >r2b3 : boolean @@ -376,9 +376,9 @@ var r2b3 = b3 > a3; >b3 > a3 : boolean > : ^^^^^^^ >b3 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a3 : { fn(a: Base, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r2b4 = b4 > a4; >r2b4 : boolean @@ -386,9 +386,9 @@ var r2b4 = b4 > a4; >b4 > a4 : boolean > : ^^^^^^^ >b4 : { fn(): C; } -> : ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a4 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r2b5 = b5 > a5; >r2b5 : boolean @@ -396,9 +396,9 @@ var r2b5 = b5 > a5; >b5 > a5 : boolean > : ^^^^^^^ >b5 : { fn(a?: C): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a5 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r2b6 = b6 > a6; >r2b6 : boolean @@ -406,9 +406,9 @@ var r2b6 = b6 > a6; >b6 > a6 : boolean > : ^^^^^^^ >b6 : { fn(...a: C[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a6 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r2b7 = b7 > a7; >r2b7 : boolean @@ -416,9 +416,9 @@ var r2b7 = b7 > a7; >b7 > a7 : boolean > : ^^^^^^^ >b7 : { fn(t: T[]): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >a7 : { fn(t: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ // operator <= var r3a1 = a1 <= b1; @@ -427,9 +427,9 @@ var r3a1 = a1 <= b1; >a1 <= b1 : boolean > : ^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r3a2 = a2 <= b2; >r3a2 : boolean @@ -437,9 +437,9 @@ var r3a2 = a2 <= b2; >a2 <= b2 : boolean > : ^^^^^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(a: string): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r3a3 = a3 <= b3; >r3a3 : boolean @@ -447,9 +447,9 @@ var r3a3 = a3 <= b3; >a3 <= b3 : boolean > : ^^^^^^^ >a3 : { fn(a: Base, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b3 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r3a4 = a4 <= b4; >r3a4 : boolean @@ -457,9 +457,9 @@ var r3a4 = a4 <= b4; >a4 <= b4 : boolean > : ^^^^^^^ >a4 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b4 : { fn(): C; } -> : ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r3a5 = a5 <= b5; >r3a5 : boolean @@ -467,9 +467,9 @@ var r3a5 = a5 <= b5; >a5 <= b5 : boolean > : ^^^^^^^ >a5 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >b5 : { fn(a?: C): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r3a6 = a6 <= b6; >r3a6 : boolean @@ -477,9 +477,9 @@ var r3a6 = a6 <= b6; >a6 <= b6 : boolean > : ^^^^^^^ >a6 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >b6 : { fn(...a: C[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r3a7 = a7 <= b7; >r3a7 : boolean @@ -487,9 +487,9 @@ var r3a7 = a7 <= b7; >a7 <= b7 : boolean > : ^^^^^^^ >a7 : { fn(t: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b7 : { fn(t: T[]): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r3b1 = b1 <= a1; >r3b1 : boolean @@ -497,9 +497,9 @@ var r3b1 = b1 <= a1; >b1 <= a1 : boolean > : ^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r3b2 = b2 <= a2; >r3b2 : boolean @@ -507,9 +507,9 @@ var r3b2 = b2 <= a2; >b2 <= a2 : boolean > : ^^^^^^^ >b2 : { fn(a: string): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r3b3 = b3 <= a3; >r3b3 : boolean @@ -517,9 +517,9 @@ var r3b3 = b3 <= a3; >b3 <= a3 : boolean > : ^^^^^^^ >b3 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a3 : { fn(a: Base, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r3b4 = b4 <= a4; >r3b4 : boolean @@ -527,9 +527,9 @@ var r3b4 = b4 <= a4; >b4 <= a4 : boolean > : ^^^^^^^ >b4 : { fn(): C; } -> : ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a4 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r3b5 = b5 <= a5; >r3b5 : boolean @@ -537,9 +537,9 @@ var r3b5 = b5 <= a5; >b5 <= a5 : boolean > : ^^^^^^^ >b5 : { fn(a?: C): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a5 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r3b6 = b6 <= a6; >r3b6 : boolean @@ -547,9 +547,9 @@ var r3b6 = b6 <= a6; >b6 <= a6 : boolean > : ^^^^^^^ >b6 : { fn(...a: C[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a6 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r3b7 = b7 <= a7; >r3b7 : boolean @@ -557,9 +557,9 @@ var r3b7 = b7 <= a7; >b7 <= a7 : boolean > : ^^^^^^^ >b7 : { fn(t: T[]): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >a7 : { fn(t: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ // operator >= var r4a1 = a1 >= b1; @@ -568,9 +568,9 @@ var r4a1 = a1 >= b1; >a1 >= b1 : boolean > : ^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r4a2 = a2 >= b2; >r4a2 : boolean @@ -578,9 +578,9 @@ var r4a2 = a2 >= b2; >a2 >= b2 : boolean > : ^^^^^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(a: string): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r4a3 = a3 >= b3; >r4a3 : boolean @@ -588,9 +588,9 @@ var r4a3 = a3 >= b3; >a3 >= b3 : boolean > : ^^^^^^^ >a3 : { fn(a: Base, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b3 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r4a4 = a4 >= b4; >r4a4 : boolean @@ -598,9 +598,9 @@ var r4a4 = a4 >= b4; >a4 >= b4 : boolean > : ^^^^^^^ >a4 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b4 : { fn(): C; } -> : ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r4a5 = a5 >= b5; >r4a5 : boolean @@ -608,9 +608,9 @@ var r4a5 = a5 >= b5; >a5 >= b5 : boolean > : ^^^^^^^ >a5 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >b5 : { fn(a?: C): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r4a6 = a6 >= b6; >r4a6 : boolean @@ -618,9 +618,9 @@ var r4a6 = a6 >= b6; >a6 >= b6 : boolean > : ^^^^^^^ >a6 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >b6 : { fn(...a: C[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r4a7 = a7 >= b7; >r4a7 : boolean @@ -628,9 +628,9 @@ var r4a7 = a7 >= b7; >a7 >= b7 : boolean > : ^^^^^^^ >a7 : { fn(t: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b7 : { fn(t: T[]): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r4b1 = b1 >= a1; >r4b1 : boolean @@ -638,9 +638,9 @@ var r4b1 = b1 >= a1; >b1 >= a1 : boolean > : ^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r4b2 = b2 >= a2; >r4b2 : boolean @@ -648,9 +648,9 @@ var r4b2 = b2 >= a2; >b2 >= a2 : boolean > : ^^^^^^^ >b2 : { fn(a: string): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r4b3 = b3 >= a3; >r4b3 : boolean @@ -658,9 +658,9 @@ var r4b3 = b3 >= a3; >b3 >= a3 : boolean > : ^^^^^^^ >b3 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a3 : { fn(a: Base, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r4b4 = b4 >= a4; >r4b4 : boolean @@ -668,9 +668,9 @@ var r4b4 = b4 >= a4; >b4 >= a4 : boolean > : ^^^^^^^ >b4 : { fn(): C; } -> : ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a4 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r4b5 = b5 >= a5; >r4b5 : boolean @@ -678,9 +678,9 @@ var r4b5 = b5 >= a5; >b5 >= a5 : boolean > : ^^^^^^^ >b5 : { fn(a?: C): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a5 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r4b6 = b6 >= a6; >r4b6 : boolean @@ -688,9 +688,9 @@ var r4b6 = b6 >= a6; >b6 >= a6 : boolean > : ^^^^^^^ >b6 : { fn(...a: C[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a6 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r4b7 = b7 >= a7; >r4b7 : boolean @@ -698,9 +698,9 @@ var r4b7 = b7 >= a7; >b7 >= a7 : boolean > : ^^^^^^^ >b7 : { fn(t: T[]): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >a7 : { fn(t: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ // operator == var r5a1 = a1 == b1; @@ -709,9 +709,9 @@ var r5a1 = a1 == b1; >a1 == b1 : boolean > : ^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r5a2 = a2 == b2; >r5a2 : boolean @@ -719,9 +719,9 @@ var r5a2 = a2 == b2; >a2 == b2 : boolean > : ^^^^^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(a: string): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r5a3 = a3 == b3; >r5a3 : boolean @@ -729,9 +729,9 @@ var r5a3 = a3 == b3; >a3 == b3 : boolean > : ^^^^^^^ >a3 : { fn(a: Base, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b3 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r5a4 = a4 == b4; >r5a4 : boolean @@ -739,9 +739,9 @@ var r5a4 = a4 == b4; >a4 == b4 : boolean > : ^^^^^^^ >a4 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b4 : { fn(): C; } -> : ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r5a5 = a5 == b5; >r5a5 : boolean @@ -749,9 +749,9 @@ var r5a5 = a5 == b5; >a5 == b5 : boolean > : ^^^^^^^ >a5 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >b5 : { fn(a?: C): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r5a6 = a6 == b6; >r5a6 : boolean @@ -759,9 +759,9 @@ var r5a6 = a6 == b6; >a6 == b6 : boolean > : ^^^^^^^ >a6 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >b6 : { fn(...a: C[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r5a7 = a7 == b7; >r5a7 : boolean @@ -769,9 +769,9 @@ var r5a7 = a7 == b7; >a7 == b7 : boolean > : ^^^^^^^ >a7 : { fn(t: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b7 : { fn(t: T[]): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r5b1 = b1 == a1; >r5b1 : boolean @@ -779,9 +779,9 @@ var r5b1 = b1 == a1; >b1 == a1 : boolean > : ^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r5b2 = b2 == a2; >r5b2 : boolean @@ -789,9 +789,9 @@ var r5b2 = b2 == a2; >b2 == a2 : boolean > : ^^^^^^^ >b2 : { fn(a: string): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r5b3 = b3 == a3; >r5b3 : boolean @@ -799,9 +799,9 @@ var r5b3 = b3 == a3; >b3 == a3 : boolean > : ^^^^^^^ >b3 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a3 : { fn(a: Base, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r5b4 = b4 == a4; >r5b4 : boolean @@ -809,9 +809,9 @@ var r5b4 = b4 == a4; >b4 == a4 : boolean > : ^^^^^^^ >b4 : { fn(): C; } -> : ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a4 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r5b5 = b5 == a5; >r5b5 : boolean @@ -819,9 +819,9 @@ var r5b5 = b5 == a5; >b5 == a5 : boolean > : ^^^^^^^ >b5 : { fn(a?: C): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a5 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r5b6 = b6 == a6; >r5b6 : boolean @@ -829,9 +829,9 @@ var r5b6 = b6 == a6; >b6 == a6 : boolean > : ^^^^^^^ >b6 : { fn(...a: C[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a6 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r5b7 = b7 == a7; >r5b7 : boolean @@ -839,9 +839,9 @@ var r5b7 = b7 == a7; >b7 == a7 : boolean > : ^^^^^^^ >b7 : { fn(t: T[]): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >a7 : { fn(t: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ // operator != var r6a1 = a1 != b1; @@ -850,9 +850,9 @@ var r6a1 = a1 != b1; >a1 != b1 : boolean > : ^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r6a2 = a2 != b2; >r6a2 : boolean @@ -860,9 +860,9 @@ var r6a2 = a2 != b2; >a2 != b2 : boolean > : ^^^^^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(a: string): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r6a3 = a3 != b3; >r6a3 : boolean @@ -870,9 +870,9 @@ var r6a3 = a3 != b3; >a3 != b3 : boolean > : ^^^^^^^ >a3 : { fn(a: Base, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b3 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r6a4 = a4 != b4; >r6a4 : boolean @@ -880,9 +880,9 @@ var r6a4 = a4 != b4; >a4 != b4 : boolean > : ^^^^^^^ >a4 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b4 : { fn(): C; } -> : ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r6a5 = a5 != b5; >r6a5 : boolean @@ -890,9 +890,9 @@ var r6a5 = a5 != b5; >a5 != b5 : boolean > : ^^^^^^^ >a5 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >b5 : { fn(a?: C): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r6a6 = a6 != b6; >r6a6 : boolean @@ -900,9 +900,9 @@ var r6a6 = a6 != b6; >a6 != b6 : boolean > : ^^^^^^^ >a6 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >b6 : { fn(...a: C[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r6a7 = a7 != b7; >r6a7 : boolean @@ -910,9 +910,9 @@ var r6a7 = a7 != b7; >a7 != b7 : boolean > : ^^^^^^^ >a7 : { fn(t: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b7 : { fn(t: T[]): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r6b1 = b1 != a1; >r6b1 : boolean @@ -920,9 +920,9 @@ var r6b1 = b1 != a1; >b1 != a1 : boolean > : ^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r6b2 = b2 != a2; >r6b2 : boolean @@ -930,9 +930,9 @@ var r6b2 = b2 != a2; >b2 != a2 : boolean > : ^^^^^^^ >b2 : { fn(a: string): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r6b3 = b3 != a3; >r6b3 : boolean @@ -940,9 +940,9 @@ var r6b3 = b3 != a3; >b3 != a3 : boolean > : ^^^^^^^ >b3 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a3 : { fn(a: Base, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r6b4 = b4 != a4; >r6b4 : boolean @@ -950,9 +950,9 @@ var r6b4 = b4 != a4; >b4 != a4 : boolean > : ^^^^^^^ >b4 : { fn(): C; } -> : ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a4 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r6b5 = b5 != a5; >r6b5 : boolean @@ -960,9 +960,9 @@ var r6b5 = b5 != a5; >b5 != a5 : boolean > : ^^^^^^^ >b5 : { fn(a?: C): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a5 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r6b6 = b6 != a6; >r6b6 : boolean @@ -970,9 +970,9 @@ var r6b6 = b6 != a6; >b6 != a6 : boolean > : ^^^^^^^ >b6 : { fn(...a: C[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a6 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r6b7 = b7 != a7; >r6b7 : boolean @@ -980,9 +980,9 @@ var r6b7 = b7 != a7; >b7 != a7 : boolean > : ^^^^^^^ >b7 : { fn(t: T[]): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >a7 : { fn(t: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ // operator === var r7a1 = a1 === b1; @@ -991,9 +991,9 @@ var r7a1 = a1 === b1; >a1 === b1 : boolean > : ^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r7a2 = a2 === b2; >r7a2 : boolean @@ -1001,9 +1001,9 @@ var r7a2 = a2 === b2; >a2 === b2 : boolean > : ^^^^^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(a: string): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r7a3 = a3 === b3; >r7a3 : boolean @@ -1011,9 +1011,9 @@ var r7a3 = a3 === b3; >a3 === b3 : boolean > : ^^^^^^^ >a3 : { fn(a: Base, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b3 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r7a4 = a4 === b4; >r7a4 : boolean @@ -1021,9 +1021,9 @@ var r7a4 = a4 === b4; >a4 === b4 : boolean > : ^^^^^^^ >a4 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b4 : { fn(): C; } -> : ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r7a5 = a5 === b5; >r7a5 : boolean @@ -1031,9 +1031,9 @@ var r7a5 = a5 === b5; >a5 === b5 : boolean > : ^^^^^^^ >a5 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >b5 : { fn(a?: C): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r7a6 = a6 === b6; >r7a6 : boolean @@ -1041,9 +1041,9 @@ var r7a6 = a6 === b6; >a6 === b6 : boolean > : ^^^^^^^ >a6 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >b6 : { fn(...a: C[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r7a7 = a7 === b7; >r7a7 : boolean @@ -1051,9 +1051,9 @@ var r7a7 = a7 === b7; >a7 === b7 : boolean > : ^^^^^^^ >a7 : { fn(t: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b7 : { fn(t: T[]): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r7b1 = b1 === a1; >r7b1 : boolean @@ -1061,9 +1061,9 @@ var r7b1 = b1 === a1; >b1 === a1 : boolean > : ^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r7b2 = b2 === a2; >r7b2 : boolean @@ -1071,9 +1071,9 @@ var r7b2 = b2 === a2; >b2 === a2 : boolean > : ^^^^^^^ >b2 : { fn(a: string): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r7b3 = b3 === a3; >r7b3 : boolean @@ -1081,9 +1081,9 @@ var r7b3 = b3 === a3; >b3 === a3 : boolean > : ^^^^^^^ >b3 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a3 : { fn(a: Base, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r7b4 = b4 === a4; >r7b4 : boolean @@ -1091,9 +1091,9 @@ var r7b4 = b4 === a4; >b4 === a4 : boolean > : ^^^^^^^ >b4 : { fn(): C; } -> : ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a4 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r7b5 = b5 === a5; >r7b5 : boolean @@ -1101,9 +1101,9 @@ var r7b5 = b5 === a5; >b5 === a5 : boolean > : ^^^^^^^ >b5 : { fn(a?: C): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a5 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r7b6 = b6 === a6; >r7b6 : boolean @@ -1111,9 +1111,9 @@ var r7b6 = b6 === a6; >b6 === a6 : boolean > : ^^^^^^^ >b6 : { fn(...a: C[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a6 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r7b7 = b7 === a7; >r7b7 : boolean @@ -1121,9 +1121,9 @@ var r7b7 = b7 === a7; >b7 === a7 : boolean > : ^^^^^^^ >b7 : { fn(t: T[]): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >a7 : { fn(t: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ // operator !== var r8a1 = a1 !== b1; @@ -1132,9 +1132,9 @@ var r8a1 = a1 !== b1; >a1 !== b1 : boolean > : ^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r8a2 = a2 !== b2; >r8a2 : boolean @@ -1142,9 +1142,9 @@ var r8a2 = a2 !== b2; >a2 !== b2 : boolean > : ^^^^^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(a: string): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r8a3 = a3 !== b3; >r8a3 : boolean @@ -1152,9 +1152,9 @@ var r8a3 = a3 !== b3; >a3 !== b3 : boolean > : ^^^^^^^ >a3 : { fn(a: Base, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b3 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r8a4 = a4 !== b4; >r8a4 : boolean @@ -1162,9 +1162,9 @@ var r8a4 = a4 !== b4; >a4 !== b4 : boolean > : ^^^^^^^ >a4 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b4 : { fn(): C; } -> : ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r8a5 = a5 !== b5; >r8a5 : boolean @@ -1172,9 +1172,9 @@ var r8a5 = a5 !== b5; >a5 !== b5 : boolean > : ^^^^^^^ >a5 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >b5 : { fn(a?: C): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r8a6 = a6 !== b6; >r8a6 : boolean @@ -1182,9 +1182,9 @@ var r8a6 = a6 !== b6; >a6 !== b6 : boolean > : ^^^^^^^ >a6 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >b6 : { fn(...a: C[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r8a7 = a7 !== b7; >r8a7 : boolean @@ -1192,9 +1192,9 @@ var r8a7 = a7 !== b7; >a7 !== b7 : boolean > : ^^^^^^^ >a7 : { fn(t: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b7 : { fn(t: T[]): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r8b1 = b1 !== a1; >r8b1 : boolean @@ -1202,9 +1202,9 @@ var r8b1 = b1 !== a1; >b1 !== a1 : boolean > : ^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r8b2 = b2 !== a2; >r8b2 : boolean @@ -1212,9 +1212,9 @@ var r8b2 = b2 !== a2; >b2 !== a2 : boolean > : ^^^^^^^ >b2 : { fn(a: string): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r8b3 = b3 !== a3; >r8b3 : boolean @@ -1222,9 +1222,9 @@ var r8b3 = b3 !== a3; >b3 !== a3 : boolean > : ^^^^^^^ >b3 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a3 : { fn(a: Base, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r8b4 = b4 !== a4; >r8b4 : boolean @@ -1232,9 +1232,9 @@ var r8b4 = b4 !== a4; >b4 !== a4 : boolean > : ^^^^^^^ >b4 : { fn(): C; } -> : ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a4 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r8b5 = b5 !== a5; >r8b5 : boolean @@ -1242,9 +1242,9 @@ var r8b5 = b5 !== a5; >b5 !== a5 : boolean > : ^^^^^^^ >b5 : { fn(a?: C): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a5 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r8b6 = b6 !== a6; >r8b6 : boolean @@ -1252,9 +1252,9 @@ var r8b6 = b6 !== a6; >b6 !== a6 : boolean > : ^^^^^^^ >b6 : { fn(...a: C[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a6 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r8b7 = b7 !== a7; >r8b7 : boolean @@ -1262,7 +1262,7 @@ var r8b7 = b7 !== a7; >b7 !== a7 : boolean > : ^^^^^^^ >b7 : { fn(t: T[]): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >a7 : { fn(t: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ diff --git a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.types b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.types index 77c581ec872a9..b35a0ae8a9cd2 100644 --- a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.types +++ b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.types @@ -121,9 +121,9 @@ var r1a1 = a1 < b1; >a1 < b1 : boolean > : ^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r1a2 = a2 < b2; >r1a2 : boolean @@ -131,9 +131,9 @@ var r1a2 = a2 < b2; >a2 < b2 : boolean > : ^^^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b2 : new (a: string) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r1a3 = a3 < b3; >r1a3 : boolean @@ -141,9 +141,9 @@ var r1a3 = a3 < b3; >a3 < b3 : boolean > : ^^^^^^^ >a3 : new (a: Base, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b3 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r1a4 = a4 < b4; >r1a4 : boolean @@ -151,9 +151,9 @@ var r1a4 = a4 < b4; >a4 < b4 : boolean > : ^^^^^^^ >a4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b4 : new () => C -> : ^^^^^^^^^^^ +> : ^^^^^^^^^^ var r1a5 = a5 < b5; >r1a5 : boolean @@ -161,9 +161,9 @@ var r1a5 = a5 < b5; >a5 < b5 : boolean > : ^^^^^^^ >a5 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >b5 : new (a?: C) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r1a6 = a6 < b6; >r1a6 : boolean @@ -171,9 +171,9 @@ var r1a6 = a6 < b6; >a6 < b6 : boolean > : ^^^^^^^ >a6 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >b6 : new (...a: C[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r1a7 = a7 < b7; >r1a7 : boolean @@ -181,9 +181,9 @@ var r1a7 = a7 < b7; >a7 < b7 : boolean > : ^^^^^^^ >a7 : new (t: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b7 : new (t: T[]) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r1b1 = b1 < a1; >r1b1 : boolean @@ -191,9 +191,9 @@ var r1b1 = b1 < a1; >b1 < a1 : boolean > : ^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r1b2 = b2 < a2; >r1b2 : boolean @@ -201,9 +201,9 @@ var r1b2 = b2 < a2; >b2 < a2 : boolean > : ^^^^^^^ >b2 : new (a: string) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r1b3 = b3 < a3; >r1b3 : boolean @@ -211,9 +211,9 @@ var r1b3 = b3 < a3; >b3 < a3 : boolean > : ^^^^^^^ >b3 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a3 : new (a: Base, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r1b4 = b4 < a4; >r1b4 : boolean @@ -221,9 +221,9 @@ var r1b4 = b4 < a4; >b4 < a4 : boolean > : ^^^^^^^ >b4 : new () => C -> : ^^^^^^^^^^^ +> : ^^^^^^^^^^ >a4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r1b5 = b5 < a5; >r1b5 : boolean @@ -231,9 +231,9 @@ var r1b5 = b5 < a5; >b5 < a5 : boolean > : ^^^^^^^ >b5 : new (a?: C) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a5 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r1b6 = b6 < a6; >r1b6 : boolean @@ -241,9 +241,9 @@ var r1b6 = b6 < a6; >b6 < a6 : boolean > : ^^^^^^^ >b6 : new (...a: C[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a6 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r1b7 = b7 < a7; >r1b7 : boolean @@ -251,9 +251,9 @@ var r1b7 = b7 < a7; >b7 < a7 : boolean > : ^^^^^^^ >b7 : new (t: T[]) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a7 : new (t: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ // operator > var r2a1 = a1 > b1; @@ -262,9 +262,9 @@ var r2a1 = a1 > b1; >a1 > b1 : boolean > : ^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r2a2 = a2 > b2; >r2a2 : boolean @@ -272,9 +272,9 @@ var r2a2 = a2 > b2; >a2 > b2 : boolean > : ^^^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b2 : new (a: string) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r2a3 = a3 > b3; >r2a3 : boolean @@ -282,9 +282,9 @@ var r2a3 = a3 > b3; >a3 > b3 : boolean > : ^^^^^^^ >a3 : new (a: Base, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b3 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r2a4 = a4 > b4; >r2a4 : boolean @@ -292,9 +292,9 @@ var r2a4 = a4 > b4; >a4 > b4 : boolean > : ^^^^^^^ >a4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b4 : new () => C -> : ^^^^^^^^^^^ +> : ^^^^^^^^^^ var r2a5 = a5 > b5; >r2a5 : boolean @@ -302,9 +302,9 @@ var r2a5 = a5 > b5; >a5 > b5 : boolean > : ^^^^^^^ >a5 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >b5 : new (a?: C) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r2a6 = a6 > b6; >r2a6 : boolean @@ -312,9 +312,9 @@ var r2a6 = a6 > b6; >a6 > b6 : boolean > : ^^^^^^^ >a6 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >b6 : new (...a: C[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r2a7 = a7 > b7; >r2a7 : boolean @@ -322,9 +322,9 @@ var r2a7 = a7 > b7; >a7 > b7 : boolean > : ^^^^^^^ >a7 : new (t: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b7 : new (t: T[]) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r2b1 = b1 > a1; >r2b1 : boolean @@ -332,9 +332,9 @@ var r2b1 = b1 > a1; >b1 > a1 : boolean > : ^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r2b2 = b2 > a2; >r2b2 : boolean @@ -342,9 +342,9 @@ var r2b2 = b2 > a2; >b2 > a2 : boolean > : ^^^^^^^ >b2 : new (a: string) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r2b3 = b3 > a3; >r2b3 : boolean @@ -352,9 +352,9 @@ var r2b3 = b3 > a3; >b3 > a3 : boolean > : ^^^^^^^ >b3 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a3 : new (a: Base, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r2b4 = b4 > a4; >r2b4 : boolean @@ -362,9 +362,9 @@ var r2b4 = b4 > a4; >b4 > a4 : boolean > : ^^^^^^^ >b4 : new () => C -> : ^^^^^^^^^^^ +> : ^^^^^^^^^^ >a4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r2b5 = b5 > a5; >r2b5 : boolean @@ -372,9 +372,9 @@ var r2b5 = b5 > a5; >b5 > a5 : boolean > : ^^^^^^^ >b5 : new (a?: C) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a5 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r2b6 = b6 > a6; >r2b6 : boolean @@ -382,9 +382,9 @@ var r2b6 = b6 > a6; >b6 > a6 : boolean > : ^^^^^^^ >b6 : new (...a: C[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a6 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r2b7 = b7 > a7; >r2b7 : boolean @@ -392,9 +392,9 @@ var r2b7 = b7 > a7; >b7 > a7 : boolean > : ^^^^^^^ >b7 : new (t: T[]) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a7 : new (t: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ // operator <= var r3a1 = a1 <= b1; @@ -403,9 +403,9 @@ var r3a1 = a1 <= b1; >a1 <= b1 : boolean > : ^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r3a2 = a2 <= b2; >r3a2 : boolean @@ -413,9 +413,9 @@ var r3a2 = a2 <= b2; >a2 <= b2 : boolean > : ^^^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b2 : new (a: string) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r3a3 = a3 <= b3; >r3a3 : boolean @@ -423,9 +423,9 @@ var r3a3 = a3 <= b3; >a3 <= b3 : boolean > : ^^^^^^^ >a3 : new (a: Base, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b3 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r3a4 = a4 <= b4; >r3a4 : boolean @@ -433,9 +433,9 @@ var r3a4 = a4 <= b4; >a4 <= b4 : boolean > : ^^^^^^^ >a4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b4 : new () => C -> : ^^^^^^^^^^^ +> : ^^^^^^^^^^ var r3a5 = a5 <= b5; >r3a5 : boolean @@ -443,9 +443,9 @@ var r3a5 = a5 <= b5; >a5 <= b5 : boolean > : ^^^^^^^ >a5 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >b5 : new (a?: C) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r3a6 = a6 <= b6; >r3a6 : boolean @@ -453,9 +453,9 @@ var r3a6 = a6 <= b6; >a6 <= b6 : boolean > : ^^^^^^^ >a6 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >b6 : new (...a: C[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r3a7 = a7 <= b7; >r3a7 : boolean @@ -463,9 +463,9 @@ var r3a7 = a7 <= b7; >a7 <= b7 : boolean > : ^^^^^^^ >a7 : new (t: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b7 : new (t: T[]) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r3b1 = b1 <= a1; >r3b1 : boolean @@ -473,9 +473,9 @@ var r3b1 = b1 <= a1; >b1 <= a1 : boolean > : ^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r3b2 = b2 <= a2; >r3b2 : boolean @@ -483,9 +483,9 @@ var r3b2 = b2 <= a2; >b2 <= a2 : boolean > : ^^^^^^^ >b2 : new (a: string) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r3b3 = b3 <= a3; >r3b3 : boolean @@ -493,9 +493,9 @@ var r3b3 = b3 <= a3; >b3 <= a3 : boolean > : ^^^^^^^ >b3 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a3 : new (a: Base, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r3b4 = b4 <= a4; >r3b4 : boolean @@ -503,9 +503,9 @@ var r3b4 = b4 <= a4; >b4 <= a4 : boolean > : ^^^^^^^ >b4 : new () => C -> : ^^^^^^^^^^^ +> : ^^^^^^^^^^ >a4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r3b5 = b5 <= a5; >r3b5 : boolean @@ -513,9 +513,9 @@ var r3b5 = b5 <= a5; >b5 <= a5 : boolean > : ^^^^^^^ >b5 : new (a?: C) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a5 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r3b6 = b6 <= a6; >r3b6 : boolean @@ -523,9 +523,9 @@ var r3b6 = b6 <= a6; >b6 <= a6 : boolean > : ^^^^^^^ >b6 : new (...a: C[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a6 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r3b7 = b7 <= a7; >r3b7 : boolean @@ -533,9 +533,9 @@ var r3b7 = b7 <= a7; >b7 <= a7 : boolean > : ^^^^^^^ >b7 : new (t: T[]) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a7 : new (t: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ // operator >= var r4a1 = a1 >= b1; @@ -544,9 +544,9 @@ var r4a1 = a1 >= b1; >a1 >= b1 : boolean > : ^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r4a2 = a2 >= b2; >r4a2 : boolean @@ -554,9 +554,9 @@ var r4a2 = a2 >= b2; >a2 >= b2 : boolean > : ^^^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b2 : new (a: string) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r4a3 = a3 >= b3; >r4a3 : boolean @@ -564,9 +564,9 @@ var r4a3 = a3 >= b3; >a3 >= b3 : boolean > : ^^^^^^^ >a3 : new (a: Base, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b3 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r4a4 = a4 >= b4; >r4a4 : boolean @@ -574,9 +574,9 @@ var r4a4 = a4 >= b4; >a4 >= b4 : boolean > : ^^^^^^^ >a4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b4 : new () => C -> : ^^^^^^^^^^^ +> : ^^^^^^^^^^ var r4a5 = a5 >= b5; >r4a5 : boolean @@ -584,9 +584,9 @@ var r4a5 = a5 >= b5; >a5 >= b5 : boolean > : ^^^^^^^ >a5 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >b5 : new (a?: C) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r4a6 = a6 >= b6; >r4a6 : boolean @@ -594,9 +594,9 @@ var r4a6 = a6 >= b6; >a6 >= b6 : boolean > : ^^^^^^^ >a6 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >b6 : new (...a: C[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r4a7 = a7 >= b7; >r4a7 : boolean @@ -604,9 +604,9 @@ var r4a7 = a7 >= b7; >a7 >= b7 : boolean > : ^^^^^^^ >a7 : new (t: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b7 : new (t: T[]) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r4b1 = b1 >= a1; >r4b1 : boolean @@ -614,9 +614,9 @@ var r4b1 = b1 >= a1; >b1 >= a1 : boolean > : ^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r4b2 = b2 >= a2; >r4b2 : boolean @@ -624,9 +624,9 @@ var r4b2 = b2 >= a2; >b2 >= a2 : boolean > : ^^^^^^^ >b2 : new (a: string) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r4b3 = b3 >= a3; >r4b3 : boolean @@ -634,9 +634,9 @@ var r4b3 = b3 >= a3; >b3 >= a3 : boolean > : ^^^^^^^ >b3 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a3 : new (a: Base, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r4b4 = b4 >= a4; >r4b4 : boolean @@ -644,9 +644,9 @@ var r4b4 = b4 >= a4; >b4 >= a4 : boolean > : ^^^^^^^ >b4 : new () => C -> : ^^^^^^^^^^^ +> : ^^^^^^^^^^ >a4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r4b5 = b5 >= a5; >r4b5 : boolean @@ -654,9 +654,9 @@ var r4b5 = b5 >= a5; >b5 >= a5 : boolean > : ^^^^^^^ >b5 : new (a?: C) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a5 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r4b6 = b6 >= a6; >r4b6 : boolean @@ -664,9 +664,9 @@ var r4b6 = b6 >= a6; >b6 >= a6 : boolean > : ^^^^^^^ >b6 : new (...a: C[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a6 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r4b7 = b7 >= a7; >r4b7 : boolean @@ -674,9 +674,9 @@ var r4b7 = b7 >= a7; >b7 >= a7 : boolean > : ^^^^^^^ >b7 : new (t: T[]) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a7 : new (t: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ // operator == var r5a1 = a1 == b1; @@ -685,9 +685,9 @@ var r5a1 = a1 == b1; >a1 == b1 : boolean > : ^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r5a2 = a2 == b2; >r5a2 : boolean @@ -695,9 +695,9 @@ var r5a2 = a2 == b2; >a2 == b2 : boolean > : ^^^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b2 : new (a: string) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r5a3 = a3 == b3; >r5a3 : boolean @@ -705,9 +705,9 @@ var r5a3 = a3 == b3; >a3 == b3 : boolean > : ^^^^^^^ >a3 : new (a: Base, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b3 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r5a4 = a4 == b4; >r5a4 : boolean @@ -715,9 +715,9 @@ var r5a4 = a4 == b4; >a4 == b4 : boolean > : ^^^^^^^ >a4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b4 : new () => C -> : ^^^^^^^^^^^ +> : ^^^^^^^^^^ var r5a5 = a5 == b5; >r5a5 : boolean @@ -725,9 +725,9 @@ var r5a5 = a5 == b5; >a5 == b5 : boolean > : ^^^^^^^ >a5 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >b5 : new (a?: C) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r5a6 = a6 == b6; >r5a6 : boolean @@ -735,9 +735,9 @@ var r5a6 = a6 == b6; >a6 == b6 : boolean > : ^^^^^^^ >a6 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >b6 : new (...a: C[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r5a7 = a7 == b7; >r5a7 : boolean @@ -745,9 +745,9 @@ var r5a7 = a7 == b7; >a7 == b7 : boolean > : ^^^^^^^ >a7 : new (t: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b7 : new (t: T[]) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r5b1 = b1 == a1; >r5b1 : boolean @@ -755,9 +755,9 @@ var r5b1 = b1 == a1; >b1 == a1 : boolean > : ^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r5b2 = b2 == a2; >r5b2 : boolean @@ -765,9 +765,9 @@ var r5b2 = b2 == a2; >b2 == a2 : boolean > : ^^^^^^^ >b2 : new (a: string) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r5b3 = b3 == a3; >r5b3 : boolean @@ -775,9 +775,9 @@ var r5b3 = b3 == a3; >b3 == a3 : boolean > : ^^^^^^^ >b3 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a3 : new (a: Base, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r5b4 = b4 == a4; >r5b4 : boolean @@ -785,9 +785,9 @@ var r5b4 = b4 == a4; >b4 == a4 : boolean > : ^^^^^^^ >b4 : new () => C -> : ^^^^^^^^^^^ +> : ^^^^^^^^^^ >a4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r5b5 = b5 == a5; >r5b5 : boolean @@ -795,9 +795,9 @@ var r5b5 = b5 == a5; >b5 == a5 : boolean > : ^^^^^^^ >b5 : new (a?: C) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a5 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r5b6 = b6 == a6; >r5b6 : boolean @@ -805,9 +805,9 @@ var r5b6 = b6 == a6; >b6 == a6 : boolean > : ^^^^^^^ >b6 : new (...a: C[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a6 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r5b7 = b7 == a7; >r5b7 : boolean @@ -815,9 +815,9 @@ var r5b7 = b7 == a7; >b7 == a7 : boolean > : ^^^^^^^ >b7 : new (t: T[]) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a7 : new (t: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ // operator != var r6a1 = a1 != b1; @@ -826,9 +826,9 @@ var r6a1 = a1 != b1; >a1 != b1 : boolean > : ^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r6a2 = a2 != b2; >r6a2 : boolean @@ -836,9 +836,9 @@ var r6a2 = a2 != b2; >a2 != b2 : boolean > : ^^^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b2 : new (a: string) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r6a3 = a3 != b3; >r6a3 : boolean @@ -846,9 +846,9 @@ var r6a3 = a3 != b3; >a3 != b3 : boolean > : ^^^^^^^ >a3 : new (a: Base, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b3 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r6a4 = a4 != b4; >r6a4 : boolean @@ -856,9 +856,9 @@ var r6a4 = a4 != b4; >a4 != b4 : boolean > : ^^^^^^^ >a4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b4 : new () => C -> : ^^^^^^^^^^^ +> : ^^^^^^^^^^ var r6a5 = a5 != b5; >r6a5 : boolean @@ -866,9 +866,9 @@ var r6a5 = a5 != b5; >a5 != b5 : boolean > : ^^^^^^^ >a5 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >b5 : new (a?: C) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r6a6 = a6 != b6; >r6a6 : boolean @@ -876,9 +876,9 @@ var r6a6 = a6 != b6; >a6 != b6 : boolean > : ^^^^^^^ >a6 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >b6 : new (...a: C[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r6a7 = a7 != b7; >r6a7 : boolean @@ -886,9 +886,9 @@ var r6a7 = a7 != b7; >a7 != b7 : boolean > : ^^^^^^^ >a7 : new (t: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b7 : new (t: T[]) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r6b1 = b1 != a1; >r6b1 : boolean @@ -896,9 +896,9 @@ var r6b1 = b1 != a1; >b1 != a1 : boolean > : ^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r6b2 = b2 != a2; >r6b2 : boolean @@ -906,9 +906,9 @@ var r6b2 = b2 != a2; >b2 != a2 : boolean > : ^^^^^^^ >b2 : new (a: string) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r6b3 = b3 != a3; >r6b3 : boolean @@ -916,9 +916,9 @@ var r6b3 = b3 != a3; >b3 != a3 : boolean > : ^^^^^^^ >b3 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a3 : new (a: Base, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r6b4 = b4 != a4; >r6b4 : boolean @@ -926,9 +926,9 @@ var r6b4 = b4 != a4; >b4 != a4 : boolean > : ^^^^^^^ >b4 : new () => C -> : ^^^^^^^^^^^ +> : ^^^^^^^^^^ >a4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r6b5 = b5 != a5; >r6b5 : boolean @@ -936,9 +936,9 @@ var r6b5 = b5 != a5; >b5 != a5 : boolean > : ^^^^^^^ >b5 : new (a?: C) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a5 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r6b6 = b6 != a6; >r6b6 : boolean @@ -946,9 +946,9 @@ var r6b6 = b6 != a6; >b6 != a6 : boolean > : ^^^^^^^ >b6 : new (...a: C[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a6 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r6b7 = b7 != a7; >r6b7 : boolean @@ -956,9 +956,9 @@ var r6b7 = b7 != a7; >b7 != a7 : boolean > : ^^^^^^^ >b7 : new (t: T[]) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a7 : new (t: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ // operator === var r7a1 = a1 === b1; @@ -967,9 +967,9 @@ var r7a1 = a1 === b1; >a1 === b1 : boolean > : ^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r7a2 = a2 === b2; >r7a2 : boolean @@ -977,9 +977,9 @@ var r7a2 = a2 === b2; >a2 === b2 : boolean > : ^^^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b2 : new (a: string) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r7a3 = a3 === b3; >r7a3 : boolean @@ -987,9 +987,9 @@ var r7a3 = a3 === b3; >a3 === b3 : boolean > : ^^^^^^^ >a3 : new (a: Base, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b3 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r7a4 = a4 === b4; >r7a4 : boolean @@ -997,9 +997,9 @@ var r7a4 = a4 === b4; >a4 === b4 : boolean > : ^^^^^^^ >a4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b4 : new () => C -> : ^^^^^^^^^^^ +> : ^^^^^^^^^^ var r7a5 = a5 === b5; >r7a5 : boolean @@ -1007,9 +1007,9 @@ var r7a5 = a5 === b5; >a5 === b5 : boolean > : ^^^^^^^ >a5 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >b5 : new (a?: C) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r7a6 = a6 === b6; >r7a6 : boolean @@ -1017,9 +1017,9 @@ var r7a6 = a6 === b6; >a6 === b6 : boolean > : ^^^^^^^ >a6 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >b6 : new (...a: C[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r7a7 = a7 === b7; >r7a7 : boolean @@ -1027,9 +1027,9 @@ var r7a7 = a7 === b7; >a7 === b7 : boolean > : ^^^^^^^ >a7 : new (t: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b7 : new (t: T[]) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r7b1 = b1 === a1; >r7b1 : boolean @@ -1037,9 +1037,9 @@ var r7b1 = b1 === a1; >b1 === a1 : boolean > : ^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r7b2 = b2 === a2; >r7b2 : boolean @@ -1047,9 +1047,9 @@ var r7b2 = b2 === a2; >b2 === a2 : boolean > : ^^^^^^^ >b2 : new (a: string) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r7b3 = b3 === a3; >r7b3 : boolean @@ -1057,9 +1057,9 @@ var r7b3 = b3 === a3; >b3 === a3 : boolean > : ^^^^^^^ >b3 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a3 : new (a: Base, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r7b4 = b4 === a4; >r7b4 : boolean @@ -1067,9 +1067,9 @@ var r7b4 = b4 === a4; >b4 === a4 : boolean > : ^^^^^^^ >b4 : new () => C -> : ^^^^^^^^^^^ +> : ^^^^^^^^^^ >a4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r7b5 = b5 === a5; >r7b5 : boolean @@ -1077,9 +1077,9 @@ var r7b5 = b5 === a5; >b5 === a5 : boolean > : ^^^^^^^ >b5 : new (a?: C) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a5 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r7b6 = b6 === a6; >r7b6 : boolean @@ -1087,9 +1087,9 @@ var r7b6 = b6 === a6; >b6 === a6 : boolean > : ^^^^^^^ >b6 : new (...a: C[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a6 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r7b7 = b7 === a7; >r7b7 : boolean @@ -1097,9 +1097,9 @@ var r7b7 = b7 === a7; >b7 === a7 : boolean > : ^^^^^^^ >b7 : new (t: T[]) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a7 : new (t: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ // operator !== var r8a1 = a1 !== b1; @@ -1108,9 +1108,9 @@ var r8a1 = a1 !== b1; >a1 !== b1 : boolean > : ^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r8a2 = a2 !== b2; >r8a2 : boolean @@ -1118,9 +1118,9 @@ var r8a2 = a2 !== b2; >a2 !== b2 : boolean > : ^^^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b2 : new (a: string) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r8a3 = a3 !== b3; >r8a3 : boolean @@ -1128,9 +1128,9 @@ var r8a3 = a3 !== b3; >a3 !== b3 : boolean > : ^^^^^^^ >a3 : new (a: Base, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b3 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r8a4 = a4 !== b4; >r8a4 : boolean @@ -1138,9 +1138,9 @@ var r8a4 = a4 !== b4; >a4 !== b4 : boolean > : ^^^^^^^ >a4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b4 : new () => C -> : ^^^^^^^^^^^ +> : ^^^^^^^^^^ var r8a5 = a5 !== b5; >r8a5 : boolean @@ -1148,9 +1148,9 @@ var r8a5 = a5 !== b5; >a5 !== b5 : boolean > : ^^^^^^^ >a5 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >b5 : new (a?: C) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r8a6 = a6 !== b6; >r8a6 : boolean @@ -1158,9 +1158,9 @@ var r8a6 = a6 !== b6; >a6 !== b6 : boolean > : ^^^^^^^ >a6 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >b6 : new (...a: C[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r8a7 = a7 !== b7; >r8a7 : boolean @@ -1168,9 +1168,9 @@ var r8a7 = a7 !== b7; >a7 !== b7 : boolean > : ^^^^^^^ >a7 : new (t: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b7 : new (t: T[]) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r8b1 = b1 !== a1; >r8b1 : boolean @@ -1178,9 +1178,9 @@ var r8b1 = b1 !== a1; >b1 !== a1 : boolean > : ^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r8b2 = b2 !== a2; >r8b2 : boolean @@ -1188,9 +1188,9 @@ var r8b2 = b2 !== a2; >b2 !== a2 : boolean > : ^^^^^^^ >b2 : new (a: string) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r8b3 = b3 !== a3; >r8b3 : boolean @@ -1198,9 +1198,9 @@ var r8b3 = b3 !== a3; >b3 !== a3 : boolean > : ^^^^^^^ >b3 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a3 : new (a: Base, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r8b4 = b4 !== a4; >r8b4 : boolean @@ -1208,9 +1208,9 @@ var r8b4 = b4 !== a4; >b4 !== a4 : boolean > : ^^^^^^^ >b4 : new () => C -> : ^^^^^^^^^^^ +> : ^^^^^^^^^^ >a4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r8b5 = b5 !== a5; >r8b5 : boolean @@ -1218,9 +1218,9 @@ var r8b5 = b5 !== a5; >b5 !== a5 : boolean > : ^^^^^^^ >b5 : new (a?: C) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a5 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r8b6 = b6 !== a6; >r8b6 : boolean @@ -1228,9 +1228,9 @@ var r8b6 = b6 !== a6; >b6 !== a6 : boolean > : ^^^^^^^ >b6 : new (...a: C[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a6 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r8b7 = b7 !== a7; >r8b7 : boolean @@ -1238,7 +1238,7 @@ var r8b7 = b7 !== a7; >b7 !== a7 : boolean > : ^^^^^^^ >b7 : new (t: T[]) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a7 : new (t: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnInstantiatedCallSignature.types b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnInstantiatedCallSignature.types index 2f1612a0f1253..491973861c672 100644 --- a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnInstantiatedCallSignature.types +++ b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnInstantiatedCallSignature.types @@ -114,9 +114,9 @@ var b5: { fn(x: string, y: number): string }; var a6: { fn(x: T, y: U): T }; >a6 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >fn : (x: T, y: U) => T -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T > : ^ >y : U @@ -139,9 +139,9 @@ var r1a1 = a1 < b1; >a1 < b1 : boolean > : ^^^^^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b1 : { fn(): string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r1a2 = a2 < b2; >r1a2 : boolean @@ -149,9 +149,9 @@ var r1a2 = a2 < b2; >a2 < b2 : boolean > : ^^^^^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(x: string): number; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r1a3 = a3 < b3; >r1a3 : boolean @@ -159,9 +159,9 @@ var r1a3 = a3 < b3; >a3 < b3 : boolean > : ^^^^^^^ >a3 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ >b3 : { fn(x?: string): number; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r1a4 = a4 < b4; >r1a4 : boolean @@ -169,9 +169,9 @@ var r1a4 = a4 < b4; >a4 < b4 : boolean > : ^^^^^^^ >a4 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ >b4 : { fn(...x: string[]): number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r1a5 = a5 < b5; >r1a5 : boolean @@ -179,9 +179,9 @@ var r1a5 = a5 < b5; >a5 < b5 : boolean > : ^^^^^^^ >a5 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b5 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r1a6 = a6 < b6; >r1a6 : boolean @@ -189,9 +189,9 @@ var r1a6 = a6 < b6; >a6 < b6 : boolean > : ^^^^^^^ >a6 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b6 : { fn(x: Base, y: C): Base; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r1b1 = b1 < a1; >r1b1 : boolean @@ -199,9 +199,9 @@ var r1b1 = b1 < a1; >b1 < a1 : boolean > : ^^^^^^^ >b1 : { fn(): string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r1b2 = b2 < a2; >r1b2 : boolean @@ -209,9 +209,9 @@ var r1b2 = b2 < a2; >b2 < a2 : boolean > : ^^^^^^^ >b2 : { fn(x: string): number; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r1b3 = b3 < a3; >r1b3 : boolean @@ -219,9 +219,9 @@ var r1b3 = b3 < a3; >b3 < a3 : boolean > : ^^^^^^^ >b3 : { fn(x?: string): number; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a3 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ var r1b4 = b4 < a4; >r1b4 : boolean @@ -229,9 +229,9 @@ var r1b4 = b4 < a4; >b4 < a4 : boolean > : ^^^^^^^ >b4 : { fn(...x: string[]): number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a4 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ var r1b5 = b5 < a5; >r1b5 : boolean @@ -239,9 +239,9 @@ var r1b5 = b5 < a5; >b5 < a5 : boolean > : ^^^^^^^ >b5 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a5 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var r1b6 = b6 < a6; >r1b6 : boolean @@ -249,9 +249,9 @@ var r1b6 = b6 < a6; >b6 < a6 : boolean > : ^^^^^^^ >b6 : { fn(x: Base, y: C): Base; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a6 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ // operator > var r2a1 = a1 > b1; @@ -260,9 +260,9 @@ var r2a1 = a1 > b1; >a1 > b1 : boolean > : ^^^^^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b1 : { fn(): string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r2a2 = a2 > b2; >r2a2 : boolean @@ -270,9 +270,9 @@ var r2a2 = a2 > b2; >a2 > b2 : boolean > : ^^^^^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(x: string): number; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r2a3 = a3 > b3; >r2a3 : boolean @@ -280,9 +280,9 @@ var r2a3 = a3 > b3; >a3 > b3 : boolean > : ^^^^^^^ >a3 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ >b3 : { fn(x?: string): number; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r2a4 = a4 > b4; >r2a4 : boolean @@ -290,9 +290,9 @@ var r2a4 = a4 > b4; >a4 > b4 : boolean > : ^^^^^^^ >a4 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ >b4 : { fn(...x: string[]): number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r2a5 = a5 > b5; >r2a5 : boolean @@ -300,9 +300,9 @@ var r2a5 = a5 > b5; >a5 > b5 : boolean > : ^^^^^^^ >a5 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b5 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r2a6 = a6 > b6; >r2a6 : boolean @@ -310,9 +310,9 @@ var r2a6 = a6 > b6; >a6 > b6 : boolean > : ^^^^^^^ >a6 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b6 : { fn(x: Base, y: C): Base; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r2b1 = b1 > a1; >r2b1 : boolean @@ -320,9 +320,9 @@ var r2b1 = b1 > a1; >b1 > a1 : boolean > : ^^^^^^^ >b1 : { fn(): string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r2b2 = b2 > a2; >r2b2 : boolean @@ -330,9 +330,9 @@ var r2b2 = b2 > a2; >b2 > a2 : boolean > : ^^^^^^^ >b2 : { fn(x: string): number; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r2b3 = b3 > a3; >r2b3 : boolean @@ -340,9 +340,9 @@ var r2b3 = b3 > a3; >b3 > a3 : boolean > : ^^^^^^^ >b3 : { fn(x?: string): number; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a3 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ var r2b4 = b4 > a4; >r2b4 : boolean @@ -350,9 +350,9 @@ var r2b4 = b4 > a4; >b4 > a4 : boolean > : ^^^^^^^ >b4 : { fn(...x: string[]): number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a4 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ var r2b5 = b5 > a5; >r2b5 : boolean @@ -360,9 +360,9 @@ var r2b5 = b5 > a5; >b5 > a5 : boolean > : ^^^^^^^ >b5 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a5 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var r2b6 = b6 > a6; >r2b6 : boolean @@ -370,9 +370,9 @@ var r2b6 = b6 > a6; >b6 > a6 : boolean > : ^^^^^^^ >b6 : { fn(x: Base, y: C): Base; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a6 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ // operator <= var r3a1 = a1 <= b1; @@ -381,9 +381,9 @@ var r3a1 = a1 <= b1; >a1 <= b1 : boolean > : ^^^^^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b1 : { fn(): string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r3a2 = a2 <= b2; >r3a2 : boolean @@ -391,9 +391,9 @@ var r3a2 = a2 <= b2; >a2 <= b2 : boolean > : ^^^^^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(x: string): number; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r3a3 = a3 <= b3; >r3a3 : boolean @@ -401,9 +401,9 @@ var r3a3 = a3 <= b3; >a3 <= b3 : boolean > : ^^^^^^^ >a3 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ >b3 : { fn(x?: string): number; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r3a4 = a4 <= b4; >r3a4 : boolean @@ -411,9 +411,9 @@ var r3a4 = a4 <= b4; >a4 <= b4 : boolean > : ^^^^^^^ >a4 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ >b4 : { fn(...x: string[]): number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r3a5 = a5 <= b5; >r3a5 : boolean @@ -421,9 +421,9 @@ var r3a5 = a5 <= b5; >a5 <= b5 : boolean > : ^^^^^^^ >a5 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b5 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r3a6 = a6 <= b6; >r3a6 : boolean @@ -431,9 +431,9 @@ var r3a6 = a6 <= b6; >a6 <= b6 : boolean > : ^^^^^^^ >a6 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b6 : { fn(x: Base, y: C): Base; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r3b1 = b1 <= a1; >r3b1 : boolean @@ -441,9 +441,9 @@ var r3b1 = b1 <= a1; >b1 <= a1 : boolean > : ^^^^^^^ >b1 : { fn(): string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r3b2 = b2 <= a2; >r3b2 : boolean @@ -451,9 +451,9 @@ var r3b2 = b2 <= a2; >b2 <= a2 : boolean > : ^^^^^^^ >b2 : { fn(x: string): number; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r3b3 = b3 <= a3; >r3b3 : boolean @@ -461,9 +461,9 @@ var r3b3 = b3 <= a3; >b3 <= a3 : boolean > : ^^^^^^^ >b3 : { fn(x?: string): number; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a3 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ var r3b4 = b4 <= a4; >r3b4 : boolean @@ -471,9 +471,9 @@ var r3b4 = b4 <= a4; >b4 <= a4 : boolean > : ^^^^^^^ >b4 : { fn(...x: string[]): number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a4 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ var r3b5 = b5 <= a5; >r3b5 : boolean @@ -481,9 +481,9 @@ var r3b5 = b5 <= a5; >b5 <= a5 : boolean > : ^^^^^^^ >b5 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a5 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var r3b6 = b6 <= a6; >r3b6 : boolean @@ -491,9 +491,9 @@ var r3b6 = b6 <= a6; >b6 <= a6 : boolean > : ^^^^^^^ >b6 : { fn(x: Base, y: C): Base; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a6 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ // operator >= var r4a1 = a1 >= b1; @@ -502,9 +502,9 @@ var r4a1 = a1 >= b1; >a1 >= b1 : boolean > : ^^^^^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b1 : { fn(): string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r4a2 = a2 >= b2; >r4a2 : boolean @@ -512,9 +512,9 @@ var r4a2 = a2 >= b2; >a2 >= b2 : boolean > : ^^^^^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(x: string): number; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r4a3 = a3 >= b3; >r4a3 : boolean @@ -522,9 +522,9 @@ var r4a3 = a3 >= b3; >a3 >= b3 : boolean > : ^^^^^^^ >a3 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ >b3 : { fn(x?: string): number; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r4a4 = a4 >= b4; >r4a4 : boolean @@ -532,9 +532,9 @@ var r4a4 = a4 >= b4; >a4 >= b4 : boolean > : ^^^^^^^ >a4 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ >b4 : { fn(...x: string[]): number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r4a5 = a5 >= b5; >r4a5 : boolean @@ -542,9 +542,9 @@ var r4a5 = a5 >= b5; >a5 >= b5 : boolean > : ^^^^^^^ >a5 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b5 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r4a6 = a6 >= b6; >r4a6 : boolean @@ -552,9 +552,9 @@ var r4a6 = a6 >= b6; >a6 >= b6 : boolean > : ^^^^^^^ >a6 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b6 : { fn(x: Base, y: C): Base; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r4b1 = b1 >= a1; >r4b1 : boolean @@ -562,9 +562,9 @@ var r4b1 = b1 >= a1; >b1 >= a1 : boolean > : ^^^^^^^ >b1 : { fn(): string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r4b2 = b2 >= a2; >r4b2 : boolean @@ -572,9 +572,9 @@ var r4b2 = b2 >= a2; >b2 >= a2 : boolean > : ^^^^^^^ >b2 : { fn(x: string): number; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r4b3 = b3 >= a3; >r4b3 : boolean @@ -582,9 +582,9 @@ var r4b3 = b3 >= a3; >b3 >= a3 : boolean > : ^^^^^^^ >b3 : { fn(x?: string): number; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a3 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ var r4b4 = b4 >= a4; >r4b4 : boolean @@ -592,9 +592,9 @@ var r4b4 = b4 >= a4; >b4 >= a4 : boolean > : ^^^^^^^ >b4 : { fn(...x: string[]): number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a4 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ var r4b5 = b5 >= a5; >r4b5 : boolean @@ -602,9 +602,9 @@ var r4b5 = b5 >= a5; >b5 >= a5 : boolean > : ^^^^^^^ >b5 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a5 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var r4b6 = b6 >= a6; >r4b6 : boolean @@ -612,9 +612,9 @@ var r4b6 = b6 >= a6; >b6 >= a6 : boolean > : ^^^^^^^ >b6 : { fn(x: Base, y: C): Base; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a6 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ // operator == var r5a1 = a1 == b1; @@ -623,9 +623,9 @@ var r5a1 = a1 == b1; >a1 == b1 : boolean > : ^^^^^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b1 : { fn(): string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r5a2 = a2 == b2; >r5a2 : boolean @@ -633,9 +633,9 @@ var r5a2 = a2 == b2; >a2 == b2 : boolean > : ^^^^^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(x: string): number; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r5a3 = a3 == b3; >r5a3 : boolean @@ -643,9 +643,9 @@ var r5a3 = a3 == b3; >a3 == b3 : boolean > : ^^^^^^^ >a3 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ >b3 : { fn(x?: string): number; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r5a4 = a4 == b4; >r5a4 : boolean @@ -653,9 +653,9 @@ var r5a4 = a4 == b4; >a4 == b4 : boolean > : ^^^^^^^ >a4 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ >b4 : { fn(...x: string[]): number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r5a5 = a5 == b5; >r5a5 : boolean @@ -663,9 +663,9 @@ var r5a5 = a5 == b5; >a5 == b5 : boolean > : ^^^^^^^ >a5 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b5 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r5a6 = a6 == b6; >r5a6 : boolean @@ -673,9 +673,9 @@ var r5a6 = a6 == b6; >a6 == b6 : boolean > : ^^^^^^^ >a6 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b6 : { fn(x: Base, y: C): Base; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r5b1 = b1 == a1; >r5b1 : boolean @@ -683,9 +683,9 @@ var r5b1 = b1 == a1; >b1 == a1 : boolean > : ^^^^^^^ >b1 : { fn(): string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r5b2 = b2 == a2; >r5b2 : boolean @@ -693,9 +693,9 @@ var r5b2 = b2 == a2; >b2 == a2 : boolean > : ^^^^^^^ >b2 : { fn(x: string): number; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r5b3 = b3 == a3; >r5b3 : boolean @@ -703,9 +703,9 @@ var r5b3 = b3 == a3; >b3 == a3 : boolean > : ^^^^^^^ >b3 : { fn(x?: string): number; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a3 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ var r5b4 = b4 == a4; >r5b4 : boolean @@ -713,9 +713,9 @@ var r5b4 = b4 == a4; >b4 == a4 : boolean > : ^^^^^^^ >b4 : { fn(...x: string[]): number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a4 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ var r5b5 = b5 == a5; >r5b5 : boolean @@ -723,9 +723,9 @@ var r5b5 = b5 == a5; >b5 == a5 : boolean > : ^^^^^^^ >b5 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a5 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var r5b6 = b6 == a6; >r5b6 : boolean @@ -733,9 +733,9 @@ var r5b6 = b6 == a6; >b6 == a6 : boolean > : ^^^^^^^ >b6 : { fn(x: Base, y: C): Base; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a6 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ // operator != var r6a1 = a1 != b1; @@ -744,9 +744,9 @@ var r6a1 = a1 != b1; >a1 != b1 : boolean > : ^^^^^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b1 : { fn(): string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r6a2 = a2 != b2; >r6a2 : boolean @@ -754,9 +754,9 @@ var r6a2 = a2 != b2; >a2 != b2 : boolean > : ^^^^^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(x: string): number; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r6a3 = a3 != b3; >r6a3 : boolean @@ -764,9 +764,9 @@ var r6a3 = a3 != b3; >a3 != b3 : boolean > : ^^^^^^^ >a3 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ >b3 : { fn(x?: string): number; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r6a4 = a4 != b4; >r6a4 : boolean @@ -774,9 +774,9 @@ var r6a4 = a4 != b4; >a4 != b4 : boolean > : ^^^^^^^ >a4 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ >b4 : { fn(...x: string[]): number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r6a5 = a5 != b5; >r6a5 : boolean @@ -784,9 +784,9 @@ var r6a5 = a5 != b5; >a5 != b5 : boolean > : ^^^^^^^ >a5 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b5 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r6a6 = a6 != b6; >r6a6 : boolean @@ -794,9 +794,9 @@ var r6a6 = a6 != b6; >a6 != b6 : boolean > : ^^^^^^^ >a6 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b6 : { fn(x: Base, y: C): Base; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r6b1 = b1 != a1; >r6b1 : boolean @@ -804,9 +804,9 @@ var r6b1 = b1 != a1; >b1 != a1 : boolean > : ^^^^^^^ >b1 : { fn(): string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r6b2 = b2 != a2; >r6b2 : boolean @@ -814,9 +814,9 @@ var r6b2 = b2 != a2; >b2 != a2 : boolean > : ^^^^^^^ >b2 : { fn(x: string): number; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r6b3 = b3 != a3; >r6b3 : boolean @@ -824,9 +824,9 @@ var r6b3 = b3 != a3; >b3 != a3 : boolean > : ^^^^^^^ >b3 : { fn(x?: string): number; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a3 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ var r6b4 = b4 != a4; >r6b4 : boolean @@ -834,9 +834,9 @@ var r6b4 = b4 != a4; >b4 != a4 : boolean > : ^^^^^^^ >b4 : { fn(...x: string[]): number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a4 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ var r6b5 = b5 != a5; >r6b5 : boolean @@ -844,9 +844,9 @@ var r6b5 = b5 != a5; >b5 != a5 : boolean > : ^^^^^^^ >b5 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a5 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var r6b6 = b6 != a6; >r6b6 : boolean @@ -854,9 +854,9 @@ var r6b6 = b6 != a6; >b6 != a6 : boolean > : ^^^^^^^ >b6 : { fn(x: Base, y: C): Base; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a6 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ // operator === var r7a1 = a1 === b1; @@ -865,9 +865,9 @@ var r7a1 = a1 === b1; >a1 === b1 : boolean > : ^^^^^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b1 : { fn(): string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r7a2 = a2 === b2; >r7a2 : boolean @@ -875,9 +875,9 @@ var r7a2 = a2 === b2; >a2 === b2 : boolean > : ^^^^^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(x: string): number; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r7a3 = a3 === b3; >r7a3 : boolean @@ -885,9 +885,9 @@ var r7a3 = a3 === b3; >a3 === b3 : boolean > : ^^^^^^^ >a3 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ >b3 : { fn(x?: string): number; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r7a4 = a4 === b4; >r7a4 : boolean @@ -895,9 +895,9 @@ var r7a4 = a4 === b4; >a4 === b4 : boolean > : ^^^^^^^ >a4 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ >b4 : { fn(...x: string[]): number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r7a5 = a5 === b5; >r7a5 : boolean @@ -905,9 +905,9 @@ var r7a5 = a5 === b5; >a5 === b5 : boolean > : ^^^^^^^ >a5 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b5 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r7a6 = a6 === b6; >r7a6 : boolean @@ -915,9 +915,9 @@ var r7a6 = a6 === b6; >a6 === b6 : boolean > : ^^^^^^^ >a6 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b6 : { fn(x: Base, y: C): Base; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r7b1 = b1 === a1; >r7b1 : boolean @@ -925,9 +925,9 @@ var r7b1 = b1 === a1; >b1 === a1 : boolean > : ^^^^^^^ >b1 : { fn(): string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r7b2 = b2 === a2; >r7b2 : boolean @@ -935,9 +935,9 @@ var r7b2 = b2 === a2; >b2 === a2 : boolean > : ^^^^^^^ >b2 : { fn(x: string): number; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r7b3 = b3 === a3; >r7b3 : boolean @@ -945,9 +945,9 @@ var r7b3 = b3 === a3; >b3 === a3 : boolean > : ^^^^^^^ >b3 : { fn(x?: string): number; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a3 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ var r7b4 = b4 === a4; >r7b4 : boolean @@ -955,9 +955,9 @@ var r7b4 = b4 === a4; >b4 === a4 : boolean > : ^^^^^^^ >b4 : { fn(...x: string[]): number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a4 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ var r7b5 = b5 === a5; >r7b5 : boolean @@ -965,9 +965,9 @@ var r7b5 = b5 === a5; >b5 === a5 : boolean > : ^^^^^^^ >b5 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a5 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var r7b6 = b6 === a6; >r7b6 : boolean @@ -975,9 +975,9 @@ var r7b6 = b6 === a6; >b6 === a6 : boolean > : ^^^^^^^ >b6 : { fn(x: Base, y: C): Base; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a6 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ // operator !== var r8a1 = a1 !== b1; @@ -986,9 +986,9 @@ var r8a1 = a1 !== b1; >a1 !== b1 : boolean > : ^^^^^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b1 : { fn(): string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r8a2 = a2 !== b2; >r8a2 : boolean @@ -996,9 +996,9 @@ var r8a2 = a2 !== b2; >a2 !== b2 : boolean > : ^^^^^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(x: string): number; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r8a3 = a3 !== b3; >r8a3 : boolean @@ -1006,9 +1006,9 @@ var r8a3 = a3 !== b3; >a3 !== b3 : boolean > : ^^^^^^^ >a3 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ >b3 : { fn(x?: string): number; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r8a4 = a4 !== b4; >r8a4 : boolean @@ -1016,9 +1016,9 @@ var r8a4 = a4 !== b4; >a4 !== b4 : boolean > : ^^^^^^^ >a4 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ >b4 : { fn(...x: string[]): number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r8a5 = a5 !== b5; >r8a5 : boolean @@ -1026,9 +1026,9 @@ var r8a5 = a5 !== b5; >a5 !== b5 : boolean > : ^^^^^^^ >a5 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b5 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r8a6 = a6 !== b6; >r8a6 : boolean @@ -1036,9 +1036,9 @@ var r8a6 = a6 !== b6; >a6 !== b6 : boolean > : ^^^^^^^ >a6 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b6 : { fn(x: Base, y: C): Base; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r8b1 = b1 !== a1; >r8b1 : boolean @@ -1046,9 +1046,9 @@ var r8b1 = b1 !== a1; >b1 !== a1 : boolean > : ^^^^^^^ >b1 : { fn(): string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r8b2 = b2 !== a2; >r8b2 : boolean @@ -1056,9 +1056,9 @@ var r8b2 = b2 !== a2; >b2 !== a2 : boolean > : ^^^^^^^ >b2 : { fn(x: string): number; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r8b3 = b3 !== a3; >r8b3 : boolean @@ -1066,9 +1066,9 @@ var r8b3 = b3 !== a3; >b3 !== a3 : boolean > : ^^^^^^^ >b3 : { fn(x?: string): number; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a3 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ var r8b4 = b4 !== a4; >r8b4 : boolean @@ -1076,9 +1076,9 @@ var r8b4 = b4 !== a4; >b4 !== a4 : boolean > : ^^^^^^^ >b4 : { fn(...x: string[]): number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a4 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ var r8b5 = b5 !== a5; >r8b5 : boolean @@ -1086,9 +1086,9 @@ var r8b5 = b5 !== a5; >b5 !== a5 : boolean > : ^^^^^^^ >b5 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a5 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var r8b6 = b6 !== a6; >r8b6 : boolean @@ -1096,7 +1096,7 @@ var r8b6 = b6 !== a6; >b6 !== a6 : boolean > : ^^^^^^^ >b6 : { fn(x: Base, y: C): Base; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a6 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ diff --git a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnInstantiatedConstructorSignature.types b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnInstantiatedConstructorSignature.types index b8c87c58f2b65..ef580e1103e55 100644 --- a/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnInstantiatedConstructorSignature.types +++ b/tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnInstantiatedConstructorSignature.types @@ -94,7 +94,7 @@ var b5: { new (x: string, y: number): string }; var a6: { new (x: T, y: U): T }; >a6 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T > : ^ >y : U @@ -115,9 +115,9 @@ var r1a1 = a1 < b1; >a1 < b1 : boolean > : ^^^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b1 : new () => string -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r1a2 = a2 < b2; >r1a2 : boolean @@ -125,9 +125,9 @@ var r1a2 = a2 < b2; >a2 < b2 : boolean > : ^^^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b2 : new (x: string) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r1a3 = a3 < b3; >r1a3 : boolean @@ -135,9 +135,9 @@ var r1a3 = a3 < b3; >a3 < b3 : boolean > : ^^^^^^^ >a3 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ >b3 : new (x?: string) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r1a4 = a4 < b4; >r1a4 : boolean @@ -145,9 +145,9 @@ var r1a4 = a4 < b4; >a4 < b4 : boolean > : ^^^^^^^ >a4 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ >b4 : new (...x: string[]) => number -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r1a5 = a5 < b5; >r1a5 : boolean @@ -155,9 +155,9 @@ var r1a5 = a5 < b5; >a5 < b5 : boolean > : ^^^^^^^ >a5 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b5 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r1a6 = a6 < b6; >r1a6 : boolean @@ -165,9 +165,9 @@ var r1a6 = a6 < b6; >a6 < b6 : boolean > : ^^^^^^^ >a6 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b6 : new (x: Base, y: C) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r1b1 = b1 < a1; >r1b1 : boolean @@ -175,9 +175,9 @@ var r1b1 = b1 < a1; >b1 < a1 : boolean > : ^^^^^^^ >b1 : new () => string -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r1b2 = b2 < a2; >r1b2 : boolean @@ -185,9 +185,9 @@ var r1b2 = b2 < a2; >b2 < a2 : boolean > : ^^^^^^^ >b2 : new (x: string) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r1b3 = b3 < a3; >r1b3 : boolean @@ -195,9 +195,9 @@ var r1b3 = b3 < a3; >b3 < a3 : boolean > : ^^^^^^^ >b3 : new (x?: string) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a3 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ var r1b4 = b4 < a4; >r1b4 : boolean @@ -205,9 +205,9 @@ var r1b4 = b4 < a4; >b4 < a4 : boolean > : ^^^^^^^ >b4 : new (...x: string[]) => number -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a4 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ var r1b5 = b5 < a5; >r1b5 : boolean @@ -215,9 +215,9 @@ var r1b5 = b5 < a5; >b5 < a5 : boolean > : ^^^^^^^ >b5 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a5 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var r1b6 = b6 < a6; >r1b6 : boolean @@ -225,9 +225,9 @@ var r1b6 = b6 < a6; >b6 < a6 : boolean > : ^^^^^^^ >b6 : new (x: Base, y: C) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a6 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ // operator > var r2a1 = a1 > b1; @@ -236,9 +236,9 @@ var r2a1 = a1 > b1; >a1 > b1 : boolean > : ^^^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b1 : new () => string -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r2a2 = a2 > b2; >r2a2 : boolean @@ -246,9 +246,9 @@ var r2a2 = a2 > b2; >a2 > b2 : boolean > : ^^^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b2 : new (x: string) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r2a3 = a3 > b3; >r2a3 : boolean @@ -256,9 +256,9 @@ var r2a3 = a3 > b3; >a3 > b3 : boolean > : ^^^^^^^ >a3 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ >b3 : new (x?: string) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r2a4 = a4 > b4; >r2a4 : boolean @@ -266,9 +266,9 @@ var r2a4 = a4 > b4; >a4 > b4 : boolean > : ^^^^^^^ >a4 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ >b4 : new (...x: string[]) => number -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r2a5 = a5 > b5; >r2a5 : boolean @@ -276,9 +276,9 @@ var r2a5 = a5 > b5; >a5 > b5 : boolean > : ^^^^^^^ >a5 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b5 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r2a6 = a6 > b6; >r2a6 : boolean @@ -286,9 +286,9 @@ var r2a6 = a6 > b6; >a6 > b6 : boolean > : ^^^^^^^ >a6 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b6 : new (x: Base, y: C) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r2b1 = b1 > a1; >r2b1 : boolean @@ -296,9 +296,9 @@ var r2b1 = b1 > a1; >b1 > a1 : boolean > : ^^^^^^^ >b1 : new () => string -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r2b2 = b2 > a2; >r2b2 : boolean @@ -306,9 +306,9 @@ var r2b2 = b2 > a2; >b2 > a2 : boolean > : ^^^^^^^ >b2 : new (x: string) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r2b3 = b3 > a3; >r2b3 : boolean @@ -316,9 +316,9 @@ var r2b3 = b3 > a3; >b3 > a3 : boolean > : ^^^^^^^ >b3 : new (x?: string) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a3 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ var r2b4 = b4 > a4; >r2b4 : boolean @@ -326,9 +326,9 @@ var r2b4 = b4 > a4; >b4 > a4 : boolean > : ^^^^^^^ >b4 : new (...x: string[]) => number -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a4 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ var r2b5 = b5 > a5; >r2b5 : boolean @@ -336,9 +336,9 @@ var r2b5 = b5 > a5; >b5 > a5 : boolean > : ^^^^^^^ >b5 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a5 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var r2b6 = b6 > a6; >r2b6 : boolean @@ -346,9 +346,9 @@ var r2b6 = b6 > a6; >b6 > a6 : boolean > : ^^^^^^^ >b6 : new (x: Base, y: C) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a6 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ // operator <= var r3a1 = a1 <= b1; @@ -357,9 +357,9 @@ var r3a1 = a1 <= b1; >a1 <= b1 : boolean > : ^^^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b1 : new () => string -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r3a2 = a2 <= b2; >r3a2 : boolean @@ -367,9 +367,9 @@ var r3a2 = a2 <= b2; >a2 <= b2 : boolean > : ^^^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b2 : new (x: string) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r3a3 = a3 <= b3; >r3a3 : boolean @@ -377,9 +377,9 @@ var r3a3 = a3 <= b3; >a3 <= b3 : boolean > : ^^^^^^^ >a3 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ >b3 : new (x?: string) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r3a4 = a4 <= b4; >r3a4 : boolean @@ -387,9 +387,9 @@ var r3a4 = a4 <= b4; >a4 <= b4 : boolean > : ^^^^^^^ >a4 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ >b4 : new (...x: string[]) => number -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r3a5 = a5 <= b5; >r3a5 : boolean @@ -397,9 +397,9 @@ var r3a5 = a5 <= b5; >a5 <= b5 : boolean > : ^^^^^^^ >a5 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b5 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r3a6 = a6 <= b6; >r3a6 : boolean @@ -407,9 +407,9 @@ var r3a6 = a6 <= b6; >a6 <= b6 : boolean > : ^^^^^^^ >a6 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b6 : new (x: Base, y: C) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r3b1 = b1 <= a1; >r3b1 : boolean @@ -417,9 +417,9 @@ var r3b1 = b1 <= a1; >b1 <= a1 : boolean > : ^^^^^^^ >b1 : new () => string -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r3b2 = b2 <= a2; >r3b2 : boolean @@ -427,9 +427,9 @@ var r3b2 = b2 <= a2; >b2 <= a2 : boolean > : ^^^^^^^ >b2 : new (x: string) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r3b3 = b3 <= a3; >r3b3 : boolean @@ -437,9 +437,9 @@ var r3b3 = b3 <= a3; >b3 <= a3 : boolean > : ^^^^^^^ >b3 : new (x?: string) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a3 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ var r3b4 = b4 <= a4; >r3b4 : boolean @@ -447,9 +447,9 @@ var r3b4 = b4 <= a4; >b4 <= a4 : boolean > : ^^^^^^^ >b4 : new (...x: string[]) => number -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a4 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ var r3b5 = b5 <= a5; >r3b5 : boolean @@ -457,9 +457,9 @@ var r3b5 = b5 <= a5; >b5 <= a5 : boolean > : ^^^^^^^ >b5 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a5 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var r3b6 = b6 <= a6; >r3b6 : boolean @@ -467,9 +467,9 @@ var r3b6 = b6 <= a6; >b6 <= a6 : boolean > : ^^^^^^^ >b6 : new (x: Base, y: C) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a6 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ // operator >= var r4a1 = a1 >= b1; @@ -478,9 +478,9 @@ var r4a1 = a1 >= b1; >a1 >= b1 : boolean > : ^^^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b1 : new () => string -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r4a2 = a2 >= b2; >r4a2 : boolean @@ -488,9 +488,9 @@ var r4a2 = a2 >= b2; >a2 >= b2 : boolean > : ^^^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b2 : new (x: string) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r4a3 = a3 >= b3; >r4a3 : boolean @@ -498,9 +498,9 @@ var r4a3 = a3 >= b3; >a3 >= b3 : boolean > : ^^^^^^^ >a3 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ >b3 : new (x?: string) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r4a4 = a4 >= b4; >r4a4 : boolean @@ -508,9 +508,9 @@ var r4a4 = a4 >= b4; >a4 >= b4 : boolean > : ^^^^^^^ >a4 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ >b4 : new (...x: string[]) => number -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r4a5 = a5 >= b5; >r4a5 : boolean @@ -518,9 +518,9 @@ var r4a5 = a5 >= b5; >a5 >= b5 : boolean > : ^^^^^^^ >a5 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b5 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r4a6 = a6 >= b6; >r4a6 : boolean @@ -528,9 +528,9 @@ var r4a6 = a6 >= b6; >a6 >= b6 : boolean > : ^^^^^^^ >a6 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b6 : new (x: Base, y: C) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r4b1 = b1 >= a1; >r4b1 : boolean @@ -538,9 +538,9 @@ var r4b1 = b1 >= a1; >b1 >= a1 : boolean > : ^^^^^^^ >b1 : new () => string -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r4b2 = b2 >= a2; >r4b2 : boolean @@ -548,9 +548,9 @@ var r4b2 = b2 >= a2; >b2 >= a2 : boolean > : ^^^^^^^ >b2 : new (x: string) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r4b3 = b3 >= a3; >r4b3 : boolean @@ -558,9 +558,9 @@ var r4b3 = b3 >= a3; >b3 >= a3 : boolean > : ^^^^^^^ >b3 : new (x?: string) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a3 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ var r4b4 = b4 >= a4; >r4b4 : boolean @@ -568,9 +568,9 @@ var r4b4 = b4 >= a4; >b4 >= a4 : boolean > : ^^^^^^^ >b4 : new (...x: string[]) => number -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a4 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ var r4b5 = b5 >= a5; >r4b5 : boolean @@ -578,9 +578,9 @@ var r4b5 = b5 >= a5; >b5 >= a5 : boolean > : ^^^^^^^ >b5 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a5 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var r4b6 = b6 >= a6; >r4b6 : boolean @@ -588,9 +588,9 @@ var r4b6 = b6 >= a6; >b6 >= a6 : boolean > : ^^^^^^^ >b6 : new (x: Base, y: C) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a6 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ // operator == var r5a1 = a1 == b1; @@ -599,9 +599,9 @@ var r5a1 = a1 == b1; >a1 == b1 : boolean > : ^^^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b1 : new () => string -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r5a2 = a2 == b2; >r5a2 : boolean @@ -609,9 +609,9 @@ var r5a2 = a2 == b2; >a2 == b2 : boolean > : ^^^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b2 : new (x: string) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r5a3 = a3 == b3; >r5a3 : boolean @@ -619,9 +619,9 @@ var r5a3 = a3 == b3; >a3 == b3 : boolean > : ^^^^^^^ >a3 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ >b3 : new (x?: string) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r5a4 = a4 == b4; >r5a4 : boolean @@ -629,9 +629,9 @@ var r5a4 = a4 == b4; >a4 == b4 : boolean > : ^^^^^^^ >a4 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ >b4 : new (...x: string[]) => number -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r5a5 = a5 == b5; >r5a5 : boolean @@ -639,9 +639,9 @@ var r5a5 = a5 == b5; >a5 == b5 : boolean > : ^^^^^^^ >a5 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b5 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r5a6 = a6 == b6; >r5a6 : boolean @@ -649,9 +649,9 @@ var r5a6 = a6 == b6; >a6 == b6 : boolean > : ^^^^^^^ >a6 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b6 : new (x: Base, y: C) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r5b1 = b1 == a1; >r5b1 : boolean @@ -659,9 +659,9 @@ var r5b1 = b1 == a1; >b1 == a1 : boolean > : ^^^^^^^ >b1 : new () => string -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r5b2 = b2 == a2; >r5b2 : boolean @@ -669,9 +669,9 @@ var r5b2 = b2 == a2; >b2 == a2 : boolean > : ^^^^^^^ >b2 : new (x: string) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r5b3 = b3 == a3; >r5b3 : boolean @@ -679,9 +679,9 @@ var r5b3 = b3 == a3; >b3 == a3 : boolean > : ^^^^^^^ >b3 : new (x?: string) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a3 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ var r5b4 = b4 == a4; >r5b4 : boolean @@ -689,9 +689,9 @@ var r5b4 = b4 == a4; >b4 == a4 : boolean > : ^^^^^^^ >b4 : new (...x: string[]) => number -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a4 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ var r5b5 = b5 == a5; >r5b5 : boolean @@ -699,9 +699,9 @@ var r5b5 = b5 == a5; >b5 == a5 : boolean > : ^^^^^^^ >b5 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a5 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var r5b6 = b6 == a6; >r5b6 : boolean @@ -709,9 +709,9 @@ var r5b6 = b6 == a6; >b6 == a6 : boolean > : ^^^^^^^ >b6 : new (x: Base, y: C) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a6 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ // operator != var r6a1 = a1 != b1; @@ -720,9 +720,9 @@ var r6a1 = a1 != b1; >a1 != b1 : boolean > : ^^^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b1 : new () => string -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r6a2 = a2 != b2; >r6a2 : boolean @@ -730,9 +730,9 @@ var r6a2 = a2 != b2; >a2 != b2 : boolean > : ^^^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b2 : new (x: string) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r6a3 = a3 != b3; >r6a3 : boolean @@ -740,9 +740,9 @@ var r6a3 = a3 != b3; >a3 != b3 : boolean > : ^^^^^^^ >a3 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ >b3 : new (x?: string) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r6a4 = a4 != b4; >r6a4 : boolean @@ -750,9 +750,9 @@ var r6a4 = a4 != b4; >a4 != b4 : boolean > : ^^^^^^^ >a4 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ >b4 : new (...x: string[]) => number -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r6a5 = a5 != b5; >r6a5 : boolean @@ -760,9 +760,9 @@ var r6a5 = a5 != b5; >a5 != b5 : boolean > : ^^^^^^^ >a5 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b5 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r6a6 = a6 != b6; >r6a6 : boolean @@ -770,9 +770,9 @@ var r6a6 = a6 != b6; >a6 != b6 : boolean > : ^^^^^^^ >a6 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b6 : new (x: Base, y: C) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r6b1 = b1 != a1; >r6b1 : boolean @@ -780,9 +780,9 @@ var r6b1 = b1 != a1; >b1 != a1 : boolean > : ^^^^^^^ >b1 : new () => string -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r6b2 = b2 != a2; >r6b2 : boolean @@ -790,9 +790,9 @@ var r6b2 = b2 != a2; >b2 != a2 : boolean > : ^^^^^^^ >b2 : new (x: string) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r6b3 = b3 != a3; >r6b3 : boolean @@ -800,9 +800,9 @@ var r6b3 = b3 != a3; >b3 != a3 : boolean > : ^^^^^^^ >b3 : new (x?: string) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a3 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ var r6b4 = b4 != a4; >r6b4 : boolean @@ -810,9 +810,9 @@ var r6b4 = b4 != a4; >b4 != a4 : boolean > : ^^^^^^^ >b4 : new (...x: string[]) => number -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a4 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ var r6b5 = b5 != a5; >r6b5 : boolean @@ -820,9 +820,9 @@ var r6b5 = b5 != a5; >b5 != a5 : boolean > : ^^^^^^^ >b5 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a5 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var r6b6 = b6 != a6; >r6b6 : boolean @@ -830,9 +830,9 @@ var r6b6 = b6 != a6; >b6 != a6 : boolean > : ^^^^^^^ >b6 : new (x: Base, y: C) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a6 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ // operator === var r7a1 = a1 === b1; @@ -841,9 +841,9 @@ var r7a1 = a1 === b1; >a1 === b1 : boolean > : ^^^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b1 : new () => string -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r7a2 = a2 === b2; >r7a2 : boolean @@ -851,9 +851,9 @@ var r7a2 = a2 === b2; >a2 === b2 : boolean > : ^^^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b2 : new (x: string) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r7a3 = a3 === b3; >r7a3 : boolean @@ -861,9 +861,9 @@ var r7a3 = a3 === b3; >a3 === b3 : boolean > : ^^^^^^^ >a3 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ >b3 : new (x?: string) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r7a4 = a4 === b4; >r7a4 : boolean @@ -871,9 +871,9 @@ var r7a4 = a4 === b4; >a4 === b4 : boolean > : ^^^^^^^ >a4 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ >b4 : new (...x: string[]) => number -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r7a5 = a5 === b5; >r7a5 : boolean @@ -881,9 +881,9 @@ var r7a5 = a5 === b5; >a5 === b5 : boolean > : ^^^^^^^ >a5 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b5 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r7a6 = a6 === b6; >r7a6 : boolean @@ -891,9 +891,9 @@ var r7a6 = a6 === b6; >a6 === b6 : boolean > : ^^^^^^^ >a6 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b6 : new (x: Base, y: C) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r7b1 = b1 === a1; >r7b1 : boolean @@ -901,9 +901,9 @@ var r7b1 = b1 === a1; >b1 === a1 : boolean > : ^^^^^^^ >b1 : new () => string -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r7b2 = b2 === a2; >r7b2 : boolean @@ -911,9 +911,9 @@ var r7b2 = b2 === a2; >b2 === a2 : boolean > : ^^^^^^^ >b2 : new (x: string) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r7b3 = b3 === a3; >r7b3 : boolean @@ -921,9 +921,9 @@ var r7b3 = b3 === a3; >b3 === a3 : boolean > : ^^^^^^^ >b3 : new (x?: string) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a3 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ var r7b4 = b4 === a4; >r7b4 : boolean @@ -931,9 +931,9 @@ var r7b4 = b4 === a4; >b4 === a4 : boolean > : ^^^^^^^ >b4 : new (...x: string[]) => number -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a4 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ var r7b5 = b5 === a5; >r7b5 : boolean @@ -941,9 +941,9 @@ var r7b5 = b5 === a5; >b5 === a5 : boolean > : ^^^^^^^ >b5 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a5 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var r7b6 = b6 === a6; >r7b6 : boolean @@ -951,9 +951,9 @@ var r7b6 = b6 === a6; >b6 === a6 : boolean > : ^^^^^^^ >b6 : new (x: Base, y: C) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a6 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ // operator !== var r8a1 = a1 !== b1; @@ -962,9 +962,9 @@ var r8a1 = a1 !== b1; >a1 !== b1 : boolean > : ^^^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b1 : new () => string -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r8a2 = a2 !== b2; >r8a2 : boolean @@ -972,9 +972,9 @@ var r8a2 = a2 !== b2; >a2 !== b2 : boolean > : ^^^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b2 : new (x: string) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r8a3 = a3 !== b3; >r8a3 : boolean @@ -982,9 +982,9 @@ var r8a3 = a3 !== b3; >a3 !== b3 : boolean > : ^^^^^^^ >a3 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ >b3 : new (x?: string) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r8a4 = a4 !== b4; >r8a4 : boolean @@ -992,9 +992,9 @@ var r8a4 = a4 !== b4; >a4 !== b4 : boolean > : ^^^^^^^ >a4 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ >b4 : new (...x: string[]) => number -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r8a5 = a5 !== b5; >r8a5 : boolean @@ -1002,9 +1002,9 @@ var r8a5 = a5 !== b5; >a5 !== b5 : boolean > : ^^^^^^^ >a5 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b5 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r8a6 = a6 !== b6; >r8a6 : boolean @@ -1012,9 +1012,9 @@ var r8a6 = a6 !== b6; >a6 !== b6 : boolean > : ^^^^^^^ >a6 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b6 : new (x: Base, y: C) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r8b1 = b1 !== a1; >r8b1 : boolean @@ -1022,9 +1022,9 @@ var r8b1 = b1 !== a1; >b1 !== a1 : boolean > : ^^^^^^^ >b1 : new () => string -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r8b2 = b2 !== a2; >r8b2 : boolean @@ -1032,9 +1032,9 @@ var r8b2 = b2 !== a2; >b2 !== a2 : boolean > : ^^^^^^^ >b2 : new (x: string) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r8b3 = b3 !== a3; >r8b3 : boolean @@ -1042,9 +1042,9 @@ var r8b3 = b3 !== a3; >b3 !== a3 : boolean > : ^^^^^^^ >b3 : new (x?: string) => number -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a3 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ var r8b4 = b4 !== a4; >r8b4 : boolean @@ -1052,9 +1052,9 @@ var r8b4 = b4 !== a4; >b4 !== a4 : boolean > : ^^^^^^^ >b4 : new (...x: string[]) => number -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a4 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ var r8b5 = b5 !== a5; >r8b5 : boolean @@ -1062,9 +1062,9 @@ var r8b5 = b5 !== a5; >b5 !== a5 : boolean > : ^^^^^^^ >b5 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a5 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var r8b6 = b6 !== a6; >r8b6 : boolean @@ -1072,7 +1072,7 @@ var r8b6 = b6 !== a6; >b6 !== a6 : boolean > : ^^^^^^^ >b6 : new (x: Base, y: C) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a6 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/comparisonOperatorWithNoRelationshipTypeParameter.types b/tests/baselines/reference/comparisonOperatorWithNoRelationshipTypeParameter.types index 810140ee07db1..548498383daa3 100644 --- a/tests/baselines/reference/comparisonOperatorWithNoRelationshipTypeParameter.types +++ b/tests/baselines/reference/comparisonOperatorWithNoRelationshipTypeParameter.types @@ -188,7 +188,7 @@ function foo(t: T, u: U) { >t : T > : ^ >f : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r1a7 = t < g; >r1a7 : boolean @@ -256,7 +256,7 @@ function foo(t: T, u: U) { >f < t : boolean > : ^^^^^^^ >f : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >t : T > : ^ @@ -329,7 +329,7 @@ function foo(t: T, u: U) { >t : T > : ^ >f : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r2a7 = t < g; >r2a7 : boolean @@ -397,7 +397,7 @@ function foo(t: T, u: U) { >f < t : boolean > : ^^^^^^^ >f : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >t : T > : ^ @@ -470,7 +470,7 @@ function foo(t: T, u: U) { >t : T > : ^ >f : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r3a7 = t < g; >r3a7 : boolean @@ -538,7 +538,7 @@ function foo(t: T, u: U) { >f < t : boolean > : ^^^^^^^ >f : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >t : T > : ^ @@ -611,7 +611,7 @@ function foo(t: T, u: U) { >t : T > : ^ >f : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r4a7 = t < g; >r4a7 : boolean @@ -679,7 +679,7 @@ function foo(t: T, u: U) { >f < t : boolean > : ^^^^^^^ >f : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >t : T > : ^ @@ -752,7 +752,7 @@ function foo(t: T, u: U) { >t : T > : ^ >f : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r5a7 = t < g; >r5a7 : boolean @@ -820,7 +820,7 @@ function foo(t: T, u: U) { >f < t : boolean > : ^^^^^^^ >f : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >t : T > : ^ @@ -893,7 +893,7 @@ function foo(t: T, u: U) { >t : T > : ^ >f : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r6a7 = t < g; >r6a7 : boolean @@ -961,7 +961,7 @@ function foo(t: T, u: U) { >f < t : boolean > : ^^^^^^^ >f : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >t : T > : ^ @@ -1034,7 +1034,7 @@ function foo(t: T, u: U) { >t : T > : ^ >f : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r7a7 = t < g; >r7a7 : boolean @@ -1102,7 +1102,7 @@ function foo(t: T, u: U) { >f < t : boolean > : ^^^^^^^ >f : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >t : T > : ^ @@ -1175,7 +1175,7 @@ function foo(t: T, u: U) { >t : T > : ^ >f : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r8a7 = t < g; >r8a7 : boolean @@ -1243,7 +1243,7 @@ function foo(t: T, u: U) { >f < t : boolean > : ^^^^^^^ >f : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >t : T > : ^ diff --git a/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnCallSignature.types b/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnCallSignature.types index 895b55cc9775e..0c2b4c851d32c 100644 --- a/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnCallSignature.types +++ b/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnCallSignature.types @@ -201,9 +201,9 @@ var r1a1 = a1 < b1; >a1 < b1 : boolean > : ^^^^^^^ >a1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r1a2 = a2 < b2; >r1a2 : boolean @@ -211,9 +211,9 @@ var r1a2 = a2 < b2; >a2 < b2 : boolean > : ^^^^^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r1a3 = a3 < b3; >r1a3 : boolean @@ -221,9 +221,9 @@ var r1a3 = a3 < b3; >a3 < b3 : boolean > : ^^^^^^^ >a3 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b3 : { fn(a: number): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r1a4 = a4 < b4; >r1a4 : boolean @@ -231,9 +231,9 @@ var r1a4 = a4 < b4; >a4 < b4 : boolean > : ^^^^^^^ >a4 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b4 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r1a5 = a5 < b5; >r1a5 : boolean @@ -241,9 +241,9 @@ var r1a5 = a5 < b5; >a5 < b5 : boolean > : ^^^^^^^ >a5 : { fn(a: Base): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >b5 : { fn(a: Derived): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r1a6 = a6 < b6; >r1a6 : boolean @@ -251,9 +251,9 @@ var r1a6 = a6 < b6; >a6 < b6 : boolean > : ^^^^^^^ >a6 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b6 : { fn(a: Base, b: Derived): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r1a7 = a7 < b7; >r1a7 : boolean @@ -261,9 +261,9 @@ var r1a7 = a7 < b7; >a7 < b7 : boolean > : ^^^^^^^ >a7 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b7 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r1a8 = a8 < b8; >r1a8 : boolean @@ -271,9 +271,9 @@ var r1a8 = a8 < b8; >a8 < b8 : boolean > : ^^^^^^^ >a8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r1a9 = a9 < b9; >r1a9 : boolean @@ -281,9 +281,9 @@ var r1a9 = a9 < b9; >a9 < b9 : boolean > : ^^^^^^^ >a9 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b9 : { fn(): Derived; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r1a10 = a10 < b10; >r1a10 : boolean @@ -291,9 +291,9 @@ var r1a10 = a10 < b10; >a10 < b10 : boolean > : ^^^^^^^ >a10 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >b10 : { fn(a?: Derived): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r1a11 = a11 < b11; >r1a11 : boolean @@ -301,9 +301,9 @@ var r1a11 = a11 < b11; >a11 < b11 : boolean > : ^^^^^^^ >a11 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >b11 : { fn(...a: Derived[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ //var r1a12 = a12 < b12; @@ -313,9 +313,9 @@ var r1b1 = b1 < a1; >b1 < a1 : boolean > : ^^^^^^^ >b1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r1b2 = b2 < a2; >r1b2 : boolean @@ -323,9 +323,9 @@ var r1b2 = b2 < a2; >b2 < a2 : boolean > : ^^^^^^^ >b2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r1b3 = b3 < a3; >r1b3 : boolean @@ -333,9 +333,9 @@ var r1b3 = b3 < a3; >b3 < a3 : boolean > : ^^^^^^^ >b3 : { fn(a: number): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a3 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r1b4 = b4 < a4; >r1b4 : boolean @@ -343,9 +343,9 @@ var r1b4 = b4 < a4; >b4 < a4 : boolean > : ^^^^^^^ >b4 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a4 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r1b5 = b5 < a5; >r1b5 : boolean @@ -353,9 +353,9 @@ var r1b5 = b5 < a5; >b5 < a5 : boolean > : ^^^^^^^ >b5 : { fn(a: Derived): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a5 : { fn(a: Base): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r1b6 = b6 < a6; >r1b6 : boolean @@ -363,9 +363,9 @@ var r1b6 = b6 < a6; >b6 < a6 : boolean > : ^^^^^^^ >b6 : { fn(a: Base, b: Derived): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a6 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r1b7 = b7 < a7; >r1b7 : boolean @@ -373,9 +373,9 @@ var r1b7 = b7 < a7; >b7 < a7 : boolean > : ^^^^^^^ >b7 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a7 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r1b8 = b8 < a8; >r1b8 : boolean @@ -383,9 +383,9 @@ var r1b8 = b8 < a8; >b8 < a8 : boolean > : ^^^^^^^ >b8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r1b9 = b9 < a9; >r1b9 : boolean @@ -393,9 +393,9 @@ var r1b9 = b9 < a9; >b9 < a9 : boolean > : ^^^^^^^ >b9 : { fn(): Derived; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a9 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r1b10 = b10 < a10; >r1b10 : boolean @@ -403,9 +403,9 @@ var r1b10 = b10 < a10; >b10 < a10 : boolean > : ^^^^^^^ >b10 : { fn(a?: Derived): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a10 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r1b11 = b11 < a11; >r1b11 : boolean @@ -413,9 +413,9 @@ var r1b11 = b11 < a11; >b11 < a11 : boolean > : ^^^^^^^ >b11 : { fn(...a: Derived[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a11 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ //var r1b12 = b12 < a12; @@ -426,9 +426,9 @@ var r2a1 = a1 > b1; >a1 > b1 : boolean > : ^^^^^^^ >a1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r2a2 = a2 > b2; >r2a2 : boolean @@ -436,9 +436,9 @@ var r2a2 = a2 > b2; >a2 > b2 : boolean > : ^^^^^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r2a3 = a3 > b3; >r2a3 : boolean @@ -446,9 +446,9 @@ var r2a3 = a3 > b3; >a3 > b3 : boolean > : ^^^^^^^ >a3 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b3 : { fn(a: number): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r2a4 = a4 > b4; >r2a4 : boolean @@ -456,9 +456,9 @@ var r2a4 = a4 > b4; >a4 > b4 : boolean > : ^^^^^^^ >a4 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b4 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r2a5 = a5 > b5; >r2a5 : boolean @@ -466,9 +466,9 @@ var r2a5 = a5 > b5; >a5 > b5 : boolean > : ^^^^^^^ >a5 : { fn(a: Base): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >b5 : { fn(a: Derived): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r2a6 = a6 > b6; >r2a6 : boolean @@ -476,9 +476,9 @@ var r2a6 = a6 > b6; >a6 > b6 : boolean > : ^^^^^^^ >a6 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b6 : { fn(a: Base, b: Derived): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r2a7 = a7 > b7; >r2a7 : boolean @@ -486,9 +486,9 @@ var r2a7 = a7 > b7; >a7 > b7 : boolean > : ^^^^^^^ >a7 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b7 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r2a8 = a8 > b8; >r2a8 : boolean @@ -496,9 +496,9 @@ var r2a8 = a8 > b8; >a8 > b8 : boolean > : ^^^^^^^ >a8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r2a9 = a9 > b9; >r2a9 : boolean @@ -506,9 +506,9 @@ var r2a9 = a9 > b9; >a9 > b9 : boolean > : ^^^^^^^ >a9 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b9 : { fn(): Derived; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r2a10 = a10 > b10; >r2a10 : boolean @@ -516,9 +516,9 @@ var r2a10 = a10 > b10; >a10 > b10 : boolean > : ^^^^^^^ >a10 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >b10 : { fn(a?: Derived): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r2a11 = a11 > b11; >r2a11 : boolean @@ -526,9 +526,9 @@ var r2a11 = a11 > b11; >a11 > b11 : boolean > : ^^^^^^^ >a11 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >b11 : { fn(...a: Derived[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ //var r2a12 = a12 > b12; @@ -538,9 +538,9 @@ var r2b1 = b1 > a1; >b1 > a1 : boolean > : ^^^^^^^ >b1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r2b2 = b2 > a2; >r2b2 : boolean @@ -548,9 +548,9 @@ var r2b2 = b2 > a2; >b2 > a2 : boolean > : ^^^^^^^ >b2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r2b3 = b3 > a3; >r2b3 : boolean @@ -558,9 +558,9 @@ var r2b3 = b3 > a3; >b3 > a3 : boolean > : ^^^^^^^ >b3 : { fn(a: number): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a3 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r2b4 = b4 > a4; >r2b4 : boolean @@ -568,9 +568,9 @@ var r2b4 = b4 > a4; >b4 > a4 : boolean > : ^^^^^^^ >b4 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a4 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r2b5 = b5 > a5; >r2b5 : boolean @@ -578,9 +578,9 @@ var r2b5 = b5 > a5; >b5 > a5 : boolean > : ^^^^^^^ >b5 : { fn(a: Derived): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a5 : { fn(a: Base): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r2b6 = b6 > a6; >r2b6 : boolean @@ -588,9 +588,9 @@ var r2b6 = b6 > a6; >b6 > a6 : boolean > : ^^^^^^^ >b6 : { fn(a: Base, b: Derived): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a6 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r2b7 = b7 > a7; >r2b7 : boolean @@ -598,9 +598,9 @@ var r2b7 = b7 > a7; >b7 > a7 : boolean > : ^^^^^^^ >b7 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a7 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r2b8 = b8 > a8; >r2b8 : boolean @@ -608,9 +608,9 @@ var r2b8 = b8 > a8; >b8 > a8 : boolean > : ^^^^^^^ >b8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r2b9 = b9 > a9; >r2b9 : boolean @@ -618,9 +618,9 @@ var r2b9 = b9 > a9; >b9 > a9 : boolean > : ^^^^^^^ >b9 : { fn(): Derived; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a9 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r2b10 = b10 > a10; >r2b10 : boolean @@ -628,9 +628,9 @@ var r2b10 = b10 > a10; >b10 > a10 : boolean > : ^^^^^^^ >b10 : { fn(a?: Derived): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a10 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r2b11 = b11 > a11; >r2b11 : boolean @@ -638,9 +638,9 @@ var r2b11 = b11 > a11; >b11 > a11 : boolean > : ^^^^^^^ >b11 : { fn(...a: Derived[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a11 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ //var r2b12 = b12 > a12; @@ -651,9 +651,9 @@ var r3a1 = a1 <= b1; >a1 <= b1 : boolean > : ^^^^^^^ >a1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r3a2 = a2 <= b2; >r3a2 : boolean @@ -661,9 +661,9 @@ var r3a2 = a2 <= b2; >a2 <= b2 : boolean > : ^^^^^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r3a3 = a3 <= b3; >r3a3 : boolean @@ -671,9 +671,9 @@ var r3a3 = a3 <= b3; >a3 <= b3 : boolean > : ^^^^^^^ >a3 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b3 : { fn(a: number): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r3a4 = a4 <= b4; >r3a4 : boolean @@ -681,9 +681,9 @@ var r3a4 = a4 <= b4; >a4 <= b4 : boolean > : ^^^^^^^ >a4 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b4 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r3a5 = a5 <= b5; >r3a5 : boolean @@ -691,9 +691,9 @@ var r3a5 = a5 <= b5; >a5 <= b5 : boolean > : ^^^^^^^ >a5 : { fn(a: Base): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >b5 : { fn(a: Derived): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r3a6 = a6 <= b6; >r3a6 : boolean @@ -701,9 +701,9 @@ var r3a6 = a6 <= b6; >a6 <= b6 : boolean > : ^^^^^^^ >a6 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b6 : { fn(a: Base, b: Derived): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r3a7 = a7 <= b7; >r3a7 : boolean @@ -711,9 +711,9 @@ var r3a7 = a7 <= b7; >a7 <= b7 : boolean > : ^^^^^^^ >a7 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b7 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r3a8 = a8 <= b8; >r3a8 : boolean @@ -721,9 +721,9 @@ var r3a8 = a8 <= b8; >a8 <= b8 : boolean > : ^^^^^^^ >a8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r3a9 = a9 <= b9; >r3a9 : boolean @@ -731,9 +731,9 @@ var r3a9 = a9 <= b9; >a9 <= b9 : boolean > : ^^^^^^^ >a9 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b9 : { fn(): Derived; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r3a10 = a10 <= b10; >r3a10 : boolean @@ -741,9 +741,9 @@ var r3a10 = a10 <= b10; >a10 <= b10 : boolean > : ^^^^^^^ >a10 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >b10 : { fn(a?: Derived): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r3a11 = a11 <= b11; >r3a11 : boolean @@ -751,9 +751,9 @@ var r3a11 = a11 <= b11; >a11 <= b11 : boolean > : ^^^^^^^ >a11 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >b11 : { fn(...a: Derived[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ //var r3a12 = a12 <= b12; @@ -763,9 +763,9 @@ var r3b1 = b1 <= a1; >b1 <= a1 : boolean > : ^^^^^^^ >b1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r3b2 = b2 <= a2; >r3b2 : boolean @@ -773,9 +773,9 @@ var r3b2 = b2 <= a2; >b2 <= a2 : boolean > : ^^^^^^^ >b2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r3b3 = b3 <= a3; >r3b3 : boolean @@ -783,9 +783,9 @@ var r3b3 = b3 <= a3; >b3 <= a3 : boolean > : ^^^^^^^ >b3 : { fn(a: number): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a3 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r3b4 = b4 <= a4; >r3b4 : boolean @@ -793,9 +793,9 @@ var r3b4 = b4 <= a4; >b4 <= a4 : boolean > : ^^^^^^^ >b4 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a4 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r3b5 = b5 <= a5; >r3b5 : boolean @@ -803,9 +803,9 @@ var r3b5 = b5 <= a5; >b5 <= a5 : boolean > : ^^^^^^^ >b5 : { fn(a: Derived): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a5 : { fn(a: Base): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r3b6 = b6 <= a6; >r3b6 : boolean @@ -813,9 +813,9 @@ var r3b6 = b6 <= a6; >b6 <= a6 : boolean > : ^^^^^^^ >b6 : { fn(a: Base, b: Derived): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a6 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r3b7 = b7 <= a7; >r3b7 : boolean @@ -823,9 +823,9 @@ var r3b7 = b7 <= a7; >b7 <= a7 : boolean > : ^^^^^^^ >b7 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a7 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r3b8 = b8 <= a8; >r3b8 : boolean @@ -833,9 +833,9 @@ var r3b8 = b8 <= a8; >b8 <= a8 : boolean > : ^^^^^^^ >b8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r3b9 = b9 <= a9; >r3b9 : boolean @@ -843,9 +843,9 @@ var r3b9 = b9 <= a9; >b9 <= a9 : boolean > : ^^^^^^^ >b9 : { fn(): Derived; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a9 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r3b10 = b10 <= a10; >r3b10 : boolean @@ -853,9 +853,9 @@ var r3b10 = b10 <= a10; >b10 <= a10 : boolean > : ^^^^^^^ >b10 : { fn(a?: Derived): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a10 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r3b11 = b11 <= a11; >r3b11 : boolean @@ -863,9 +863,9 @@ var r3b11 = b11 <= a11; >b11 <= a11 : boolean > : ^^^^^^^ >b11 : { fn(...a: Derived[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a11 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ //var r3b12 = b12 <= a12; @@ -876,9 +876,9 @@ var r4a1 = a1 >= b1; >a1 >= b1 : boolean > : ^^^^^^^ >a1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r4a2 = a2 >= b2; >r4a2 : boolean @@ -886,9 +886,9 @@ var r4a2 = a2 >= b2; >a2 >= b2 : boolean > : ^^^^^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r4a3 = a3 >= b3; >r4a3 : boolean @@ -896,9 +896,9 @@ var r4a3 = a3 >= b3; >a3 >= b3 : boolean > : ^^^^^^^ >a3 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b3 : { fn(a: number): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r4a4 = a4 >= b4; >r4a4 : boolean @@ -906,9 +906,9 @@ var r4a4 = a4 >= b4; >a4 >= b4 : boolean > : ^^^^^^^ >a4 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b4 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r4a5 = a5 >= b5; >r4a5 : boolean @@ -916,9 +916,9 @@ var r4a5 = a5 >= b5; >a5 >= b5 : boolean > : ^^^^^^^ >a5 : { fn(a: Base): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >b5 : { fn(a: Derived): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r4a6 = a6 >= b6; >r4a6 : boolean @@ -926,9 +926,9 @@ var r4a6 = a6 >= b6; >a6 >= b6 : boolean > : ^^^^^^^ >a6 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b6 : { fn(a: Base, b: Derived): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r4a7 = a7 >= b7; >r4a7 : boolean @@ -936,9 +936,9 @@ var r4a7 = a7 >= b7; >a7 >= b7 : boolean > : ^^^^^^^ >a7 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b7 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r4a8 = a8 >= b8; >r4a8 : boolean @@ -946,9 +946,9 @@ var r4a8 = a8 >= b8; >a8 >= b8 : boolean > : ^^^^^^^ >a8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r4a9 = a9 >= b9; >r4a9 : boolean @@ -956,9 +956,9 @@ var r4a9 = a9 >= b9; >a9 >= b9 : boolean > : ^^^^^^^ >a9 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b9 : { fn(): Derived; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r4a10 = a10 >= b10; >r4a10 : boolean @@ -966,9 +966,9 @@ var r4a10 = a10 >= b10; >a10 >= b10 : boolean > : ^^^^^^^ >a10 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >b10 : { fn(a?: Derived): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r4a11 = a11 >= b11; >r4a11 : boolean @@ -976,9 +976,9 @@ var r4a11 = a11 >= b11; >a11 >= b11 : boolean > : ^^^^^^^ >a11 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >b11 : { fn(...a: Derived[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ //var r4a12 = a12 >= b12; @@ -988,9 +988,9 @@ var r4b1 = b1 >= a1; >b1 >= a1 : boolean > : ^^^^^^^ >b1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r4b2 = b2 >= a2; >r4b2 : boolean @@ -998,9 +998,9 @@ var r4b2 = b2 >= a2; >b2 >= a2 : boolean > : ^^^^^^^ >b2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r4b3 = b3 >= a3; >r4b3 : boolean @@ -1008,9 +1008,9 @@ var r4b3 = b3 >= a3; >b3 >= a3 : boolean > : ^^^^^^^ >b3 : { fn(a: number): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a3 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r4b4 = b4 >= a4; >r4b4 : boolean @@ -1018,9 +1018,9 @@ var r4b4 = b4 >= a4; >b4 >= a4 : boolean > : ^^^^^^^ >b4 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a4 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r4b5 = b5 >= a5; >r4b5 : boolean @@ -1028,9 +1028,9 @@ var r4b5 = b5 >= a5; >b5 >= a5 : boolean > : ^^^^^^^ >b5 : { fn(a: Derived): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a5 : { fn(a: Base): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r4b6 = b6 >= a6; >r4b6 : boolean @@ -1038,9 +1038,9 @@ var r4b6 = b6 >= a6; >b6 >= a6 : boolean > : ^^^^^^^ >b6 : { fn(a: Base, b: Derived): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a6 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r4b7 = b7 >= a7; >r4b7 : boolean @@ -1048,9 +1048,9 @@ var r4b7 = b7 >= a7; >b7 >= a7 : boolean > : ^^^^^^^ >b7 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a7 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r4b8 = b8 >= a8; >r4b8 : boolean @@ -1058,9 +1058,9 @@ var r4b8 = b8 >= a8; >b8 >= a8 : boolean > : ^^^^^^^ >b8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r4b9 = b9 >= a9; >r4b9 : boolean @@ -1068,9 +1068,9 @@ var r4b9 = b9 >= a9; >b9 >= a9 : boolean > : ^^^^^^^ >b9 : { fn(): Derived; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a9 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r4b10 = b10 >= a10; >r4b10 : boolean @@ -1078,9 +1078,9 @@ var r4b10 = b10 >= a10; >b10 >= a10 : boolean > : ^^^^^^^ >b10 : { fn(a?: Derived): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a10 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r4b11 = b11 >= a11; >r4b11 : boolean @@ -1088,9 +1088,9 @@ var r4b11 = b11 >= a11; >b11 >= a11 : boolean > : ^^^^^^^ >b11 : { fn(...a: Derived[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a11 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ //var r4b12 = b12 >= a12; @@ -1101,9 +1101,9 @@ var r5a1 = a1 == b1; >a1 == b1 : boolean > : ^^^^^^^ >a1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r5a2 = a2 == b2; >r5a2 : boolean @@ -1111,9 +1111,9 @@ var r5a2 = a2 == b2; >a2 == b2 : boolean > : ^^^^^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r5a3 = a3 == b3; >r5a3 : boolean @@ -1121,9 +1121,9 @@ var r5a3 = a3 == b3; >a3 == b3 : boolean > : ^^^^^^^ >a3 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b3 : { fn(a: number): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r5a4 = a4 == b4; >r5a4 : boolean @@ -1131,9 +1131,9 @@ var r5a4 = a4 == b4; >a4 == b4 : boolean > : ^^^^^^^ >a4 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b4 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r5a5 = a5 == b5; >r5a5 : boolean @@ -1141,9 +1141,9 @@ var r5a5 = a5 == b5; >a5 == b5 : boolean > : ^^^^^^^ >a5 : { fn(a: Base): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >b5 : { fn(a: Derived): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r5a6 = a6 == b6; >r5a6 : boolean @@ -1151,9 +1151,9 @@ var r5a6 = a6 == b6; >a6 == b6 : boolean > : ^^^^^^^ >a6 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b6 : { fn(a: Base, b: Derived): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r5a7 = a7 == b7; >r5a7 : boolean @@ -1161,9 +1161,9 @@ var r5a7 = a7 == b7; >a7 == b7 : boolean > : ^^^^^^^ >a7 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b7 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r5a8 = a8 == b8; >r5a8 : boolean @@ -1171,9 +1171,9 @@ var r5a8 = a8 == b8; >a8 == b8 : boolean > : ^^^^^^^ >a8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r5a9 = a9 == b9; >r5a9 : boolean @@ -1181,9 +1181,9 @@ var r5a9 = a9 == b9; >a9 == b9 : boolean > : ^^^^^^^ >a9 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b9 : { fn(): Derived; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r5a10 = a10 == b10; >r5a10 : boolean @@ -1191,9 +1191,9 @@ var r5a10 = a10 == b10; >a10 == b10 : boolean > : ^^^^^^^ >a10 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >b10 : { fn(a?: Derived): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r5a11 = a11 == b11; >r5a11 : boolean @@ -1201,9 +1201,9 @@ var r5a11 = a11 == b11; >a11 == b11 : boolean > : ^^^^^^^ >a11 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >b11 : { fn(...a: Derived[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ //var r5a12 = a12 == b12; @@ -1213,9 +1213,9 @@ var r5b1 = b1 == a1; >b1 == a1 : boolean > : ^^^^^^^ >b1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r5b2 = b2 == a2; >r5b2 : boolean @@ -1223,9 +1223,9 @@ var r5b2 = b2 == a2; >b2 == a2 : boolean > : ^^^^^^^ >b2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r5b3 = b3 == a3; >r5b3 : boolean @@ -1233,9 +1233,9 @@ var r5b3 = b3 == a3; >b3 == a3 : boolean > : ^^^^^^^ >b3 : { fn(a: number): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a3 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r5b4 = b4 == a4; >r5b4 : boolean @@ -1243,9 +1243,9 @@ var r5b4 = b4 == a4; >b4 == a4 : boolean > : ^^^^^^^ >b4 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a4 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r5b5 = b5 == a5; >r5b5 : boolean @@ -1253,9 +1253,9 @@ var r5b5 = b5 == a5; >b5 == a5 : boolean > : ^^^^^^^ >b5 : { fn(a: Derived): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a5 : { fn(a: Base): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r5b6 = b6 == a6; >r5b6 : boolean @@ -1263,9 +1263,9 @@ var r5b6 = b6 == a6; >b6 == a6 : boolean > : ^^^^^^^ >b6 : { fn(a: Base, b: Derived): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a6 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r5b7 = b7 == a7; >r5b7 : boolean @@ -1273,9 +1273,9 @@ var r5b7 = b7 == a7; >b7 == a7 : boolean > : ^^^^^^^ >b7 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a7 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r5b8 = b8 == a8; >r5b8 : boolean @@ -1283,9 +1283,9 @@ var r5b8 = b8 == a8; >b8 == a8 : boolean > : ^^^^^^^ >b8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r5b9 = b9 == a9; >r5b9 : boolean @@ -1293,9 +1293,9 @@ var r5b9 = b9 == a9; >b9 == a9 : boolean > : ^^^^^^^ >b9 : { fn(): Derived; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a9 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r5b10 = b10 == a10; >r5b10 : boolean @@ -1303,9 +1303,9 @@ var r5b10 = b10 == a10; >b10 == a10 : boolean > : ^^^^^^^ >b10 : { fn(a?: Derived): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a10 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r5b11 = b11 == a11; >r5b11 : boolean @@ -1313,9 +1313,9 @@ var r5b11 = b11 == a11; >b11 == a11 : boolean > : ^^^^^^^ >b11 : { fn(...a: Derived[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a11 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ //var r5b12 = b12 == a12; @@ -1326,9 +1326,9 @@ var r6a1 = a1 != b1; >a1 != b1 : boolean > : ^^^^^^^ >a1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r6a2 = a2 != b2; >r6a2 : boolean @@ -1336,9 +1336,9 @@ var r6a2 = a2 != b2; >a2 != b2 : boolean > : ^^^^^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r6a3 = a3 != b3; >r6a3 : boolean @@ -1346,9 +1346,9 @@ var r6a3 = a3 != b3; >a3 != b3 : boolean > : ^^^^^^^ >a3 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b3 : { fn(a: number): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r6a4 = a4 != b4; >r6a4 : boolean @@ -1356,9 +1356,9 @@ var r6a4 = a4 != b4; >a4 != b4 : boolean > : ^^^^^^^ >a4 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b4 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r6a5 = a5 != b5; >r6a5 : boolean @@ -1366,9 +1366,9 @@ var r6a5 = a5 != b5; >a5 != b5 : boolean > : ^^^^^^^ >a5 : { fn(a: Base): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >b5 : { fn(a: Derived): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r6a6 = a6 != b6; >r6a6 : boolean @@ -1376,9 +1376,9 @@ var r6a6 = a6 != b6; >a6 != b6 : boolean > : ^^^^^^^ >a6 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b6 : { fn(a: Base, b: Derived): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r6a7 = a7 != b7; >r6a7 : boolean @@ -1386,9 +1386,9 @@ var r6a7 = a7 != b7; >a7 != b7 : boolean > : ^^^^^^^ >a7 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b7 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r6a8 = a8 != b8; >r6a8 : boolean @@ -1396,9 +1396,9 @@ var r6a8 = a8 != b8; >a8 != b8 : boolean > : ^^^^^^^ >a8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r6a9 = a9 != b9; >r6a9 : boolean @@ -1406,9 +1406,9 @@ var r6a9 = a9 != b9; >a9 != b9 : boolean > : ^^^^^^^ >a9 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b9 : { fn(): Derived; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r6a10 = a10 != b10; >r6a10 : boolean @@ -1416,9 +1416,9 @@ var r6a10 = a10 != b10; >a10 != b10 : boolean > : ^^^^^^^ >a10 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >b10 : { fn(a?: Derived): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r6a11 = a11 != b11; >r6a11 : boolean @@ -1426,9 +1426,9 @@ var r6a11 = a11 != b11; >a11 != b11 : boolean > : ^^^^^^^ >a11 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >b11 : { fn(...a: Derived[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ //var r6a12 = a12 != b12; @@ -1438,9 +1438,9 @@ var r6b1 = b1 != a1; >b1 != a1 : boolean > : ^^^^^^^ >b1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r6b2 = b2 != a2; >r6b2 : boolean @@ -1448,9 +1448,9 @@ var r6b2 = b2 != a2; >b2 != a2 : boolean > : ^^^^^^^ >b2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r6b3 = b3 != a3; >r6b3 : boolean @@ -1458,9 +1458,9 @@ var r6b3 = b3 != a3; >b3 != a3 : boolean > : ^^^^^^^ >b3 : { fn(a: number): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a3 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r6b4 = b4 != a4; >r6b4 : boolean @@ -1468,9 +1468,9 @@ var r6b4 = b4 != a4; >b4 != a4 : boolean > : ^^^^^^^ >b4 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a4 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r6b5 = b5 != a5; >r6b5 : boolean @@ -1478,9 +1478,9 @@ var r6b5 = b5 != a5; >b5 != a5 : boolean > : ^^^^^^^ >b5 : { fn(a: Derived): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a5 : { fn(a: Base): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r6b6 = b6 != a6; >r6b6 : boolean @@ -1488,9 +1488,9 @@ var r6b6 = b6 != a6; >b6 != a6 : boolean > : ^^^^^^^ >b6 : { fn(a: Base, b: Derived): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a6 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r6b7 = b7 != a7; >r6b7 : boolean @@ -1498,9 +1498,9 @@ var r6b7 = b7 != a7; >b7 != a7 : boolean > : ^^^^^^^ >b7 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a7 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r6b8 = b8 != a8; >r6b8 : boolean @@ -1508,9 +1508,9 @@ var r6b8 = b8 != a8; >b8 != a8 : boolean > : ^^^^^^^ >b8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r6b9 = b9 != a9; >r6b9 : boolean @@ -1518,9 +1518,9 @@ var r6b9 = b9 != a9; >b9 != a9 : boolean > : ^^^^^^^ >b9 : { fn(): Derived; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a9 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r6b10 = b10 != a10; >r6b10 : boolean @@ -1528,9 +1528,9 @@ var r6b10 = b10 != a10; >b10 != a10 : boolean > : ^^^^^^^ >b10 : { fn(a?: Derived): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a10 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r6b11 = b11 != a11; >r6b11 : boolean @@ -1538,9 +1538,9 @@ var r6b11 = b11 != a11; >b11 != a11 : boolean > : ^^^^^^^ >b11 : { fn(...a: Derived[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a11 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ //var r6b12 = b12 != a12; @@ -1551,9 +1551,9 @@ var r7a1 = a1 === b1; >a1 === b1 : boolean > : ^^^^^^^ >a1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r7a2 = a2 === b2; >r7a2 : boolean @@ -1561,9 +1561,9 @@ var r7a2 = a2 === b2; >a2 === b2 : boolean > : ^^^^^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r7a3 = a3 === b3; >r7a3 : boolean @@ -1571,9 +1571,9 @@ var r7a3 = a3 === b3; >a3 === b3 : boolean > : ^^^^^^^ >a3 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b3 : { fn(a: number): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r7a4 = a4 === b4; >r7a4 : boolean @@ -1581,9 +1581,9 @@ var r7a4 = a4 === b4; >a4 === b4 : boolean > : ^^^^^^^ >a4 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b4 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r7a5 = a5 === b5; >r7a5 : boolean @@ -1591,9 +1591,9 @@ var r7a5 = a5 === b5; >a5 === b5 : boolean > : ^^^^^^^ >a5 : { fn(a: Base): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >b5 : { fn(a: Derived): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r7a6 = a6 === b6; >r7a6 : boolean @@ -1601,9 +1601,9 @@ var r7a6 = a6 === b6; >a6 === b6 : boolean > : ^^^^^^^ >a6 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b6 : { fn(a: Base, b: Derived): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r7a7 = a7 === b7; >r7a7 : boolean @@ -1611,9 +1611,9 @@ var r7a7 = a7 === b7; >a7 === b7 : boolean > : ^^^^^^^ >a7 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b7 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r7a8 = a8 === b8; >r7a8 : boolean @@ -1621,9 +1621,9 @@ var r7a8 = a8 === b8; >a8 === b8 : boolean > : ^^^^^^^ >a8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r7a9 = a9 === b9; >r7a9 : boolean @@ -1631,9 +1631,9 @@ var r7a9 = a9 === b9; >a9 === b9 : boolean > : ^^^^^^^ >a9 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b9 : { fn(): Derived; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r7a10 = a10 === b10; >r7a10 : boolean @@ -1641,9 +1641,9 @@ var r7a10 = a10 === b10; >a10 === b10 : boolean > : ^^^^^^^ >a10 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >b10 : { fn(a?: Derived): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r7a11 = a11 === b11; >r7a11 : boolean @@ -1651,9 +1651,9 @@ var r7a11 = a11 === b11; >a11 === b11 : boolean > : ^^^^^^^ >a11 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >b11 : { fn(...a: Derived[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ //var r7a12 = a12 === b12; @@ -1663,9 +1663,9 @@ var r7b1 = b1 === a1; >b1 === a1 : boolean > : ^^^^^^^ >b1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r7b2 = b2 === a2; >r7b2 : boolean @@ -1673,9 +1673,9 @@ var r7b2 = b2 === a2; >b2 === a2 : boolean > : ^^^^^^^ >b2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r7b3 = b3 === a3; >r7b3 : boolean @@ -1683,9 +1683,9 @@ var r7b3 = b3 === a3; >b3 === a3 : boolean > : ^^^^^^^ >b3 : { fn(a: number): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a3 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r7b4 = b4 === a4; >r7b4 : boolean @@ -1693,9 +1693,9 @@ var r7b4 = b4 === a4; >b4 === a4 : boolean > : ^^^^^^^ >b4 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a4 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r7b5 = b5 === a5; >r7b5 : boolean @@ -1703,9 +1703,9 @@ var r7b5 = b5 === a5; >b5 === a5 : boolean > : ^^^^^^^ >b5 : { fn(a: Derived): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a5 : { fn(a: Base): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r7b6 = b6 === a6; >r7b6 : boolean @@ -1713,9 +1713,9 @@ var r7b6 = b6 === a6; >b6 === a6 : boolean > : ^^^^^^^ >b6 : { fn(a: Base, b: Derived): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a6 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r7b7 = b7 === a7; >r7b7 : boolean @@ -1723,9 +1723,9 @@ var r7b7 = b7 === a7; >b7 === a7 : boolean > : ^^^^^^^ >b7 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a7 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r7b8 = b8 === a8; >r7b8 : boolean @@ -1733,9 +1733,9 @@ var r7b8 = b8 === a8; >b8 === a8 : boolean > : ^^^^^^^ >b8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r7b9 = b9 === a9; >r7b9 : boolean @@ -1743,9 +1743,9 @@ var r7b9 = b9 === a9; >b9 === a9 : boolean > : ^^^^^^^ >b9 : { fn(): Derived; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a9 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r7b10 = b10 === a10; >r7b10 : boolean @@ -1753,9 +1753,9 @@ var r7b10 = b10 === a10; >b10 === a10 : boolean > : ^^^^^^^ >b10 : { fn(a?: Derived): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a10 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r7b11 = b11 === a11; >r7b11 : boolean @@ -1763,9 +1763,9 @@ var r7b11 = b11 === a11; >b11 === a11 : boolean > : ^^^^^^^ >b11 : { fn(...a: Derived[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a11 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ //var r7b12 = b12 === a12; @@ -1776,9 +1776,9 @@ var r8a1 = a1 !== b1; >a1 !== b1 : boolean > : ^^^^^^^ >a1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r8a2 = a2 !== b2; >r8a2 : boolean @@ -1786,9 +1786,9 @@ var r8a2 = a2 !== b2; >a2 !== b2 : boolean > : ^^^^^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r8a3 = a3 !== b3; >r8a3 : boolean @@ -1796,9 +1796,9 @@ var r8a3 = a3 !== b3; >a3 !== b3 : boolean > : ^^^^^^^ >a3 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b3 : { fn(a: number): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r8a4 = a4 !== b4; >r8a4 : boolean @@ -1806,9 +1806,9 @@ var r8a4 = a4 !== b4; >a4 !== b4 : boolean > : ^^^^^^^ >a4 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b4 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r8a5 = a5 !== b5; >r8a5 : boolean @@ -1816,9 +1816,9 @@ var r8a5 = a5 !== b5; >a5 !== b5 : boolean > : ^^^^^^^ >a5 : { fn(a: Base): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >b5 : { fn(a: Derived): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r8a6 = a6 !== b6; >r8a6 : boolean @@ -1826,9 +1826,9 @@ var r8a6 = a6 !== b6; >a6 !== b6 : boolean > : ^^^^^^^ >a6 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >b6 : { fn(a: Base, b: Derived): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r8a7 = a7 !== b7; >r8a7 : boolean @@ -1836,9 +1836,9 @@ var r8a7 = a7 !== b7; >a7 !== b7 : boolean > : ^^^^^^^ >a7 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b7 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r8a8 = a8 !== b8; >r8a8 : boolean @@ -1846,9 +1846,9 @@ var r8a8 = a8 !== b8; >a8 !== b8 : boolean > : ^^^^^^^ >a8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r8a9 = a9 !== b9; >r8a9 : boolean @@ -1856,9 +1856,9 @@ var r8a9 = a9 !== b9; >a9 !== b9 : boolean > : ^^^^^^^ >a9 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b9 : { fn(): Derived; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r8a10 = a10 !== b10; >r8a10 : boolean @@ -1866,9 +1866,9 @@ var r8a10 = a10 !== b10; >a10 !== b10 : boolean > : ^^^^^^^ >a10 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >b10 : { fn(a?: Derived): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r8a11 = a11 !== b11; >r8a11 : boolean @@ -1876,9 +1876,9 @@ var r8a11 = a11 !== b11; >a11 !== b11 : boolean > : ^^^^^^^ >a11 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >b11 : { fn(...a: Derived[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ //var r8a12 = a12 !== b12; @@ -1888,9 +1888,9 @@ var r8b1 = b1 !== a1; >b1 !== a1 : boolean > : ^^^^^^^ >b1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a1 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r8b2 = b2 !== a2; >r8b2 : boolean @@ -1898,9 +1898,9 @@ var r8b2 = b2 !== a2; >b2 !== a2 : boolean > : ^^^^^^^ >b2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a2 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r8b3 = b3 !== a3; >r8b3 : boolean @@ -1908,9 +1908,9 @@ var r8b3 = b3 !== a3; >b3 !== a3 : boolean > : ^^^^^^^ >b3 : { fn(a: number): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a3 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r8b4 = b4 !== a4; >r8b4 : boolean @@ -1918,9 +1918,9 @@ var r8b4 = b4 !== a4; >b4 !== a4 : boolean > : ^^^^^^^ >b4 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a4 : { fn(a: number, b: string): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r8b5 = b5 !== a5; >r8b5 : boolean @@ -1928,9 +1928,9 @@ var r8b5 = b5 !== a5; >b5 !== a5 : boolean > : ^^^^^^^ >b5 : { fn(a: Derived): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a5 : { fn(a: Base): void; } -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r8b6 = b6 !== a6; >r8b6 : boolean @@ -1938,9 +1938,9 @@ var r8b6 = b6 !== a6; >b6 !== a6 : boolean > : ^^^^^^^ >b6 : { fn(a: Base, b: Derived): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a6 : { fn(a: Derived, b: Base): void; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r8b7 = b7 !== a7; >r8b7 : boolean @@ -1948,9 +1948,9 @@ var r8b7 = b7 !== a7; >b7 !== a7 : boolean > : ^^^^^^^ >b7 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a7 : { fn(): void; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r8b8 = b8 !== a8; >r8b8 : boolean @@ -1958,9 +1958,9 @@ var r8b8 = b8 !== a8; >b8 !== a8 : boolean > : ^^^^^^^ >b8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a8 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r8b9 = b9 !== a9; >r8b9 : boolean @@ -1968,9 +1968,9 @@ var r8b9 = b9 !== a9; >b9 !== a9 : boolean > : ^^^^^^^ >b9 : { fn(): Derived; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a9 : { fn(): Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var r8b10 = b10 !== a10; >r8b10 : boolean @@ -1978,9 +1978,9 @@ var r8b10 = b10 !== a10; >b10 !== a10 : boolean > : ^^^^^^^ >b10 : { fn(a?: Derived): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a10 : { fn(a?: Base): void; } -> : ^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r8b11 = b11 !== a11; >r8b11 : boolean @@ -1988,8 +1988,8 @@ var r8b11 = b11 !== a11; >b11 !== a11 : boolean > : ^^^^^^^ >b11 : { fn(...a: Derived[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a11 : { fn(...a: Base[]): void; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ //var r8b12 = b12 !== a12; diff --git a/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnConstructorSignature.types b/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnConstructorSignature.types index 2ca35e1624653..e740e0c2a8921 100644 --- a/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnConstructorSignature.types +++ b/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnConstructorSignature.types @@ -141,9 +141,9 @@ var r1a1 = a1 < b1; >a1 < b1 : boolean > : ^^^^^^^ >a1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r1a2 = a2 < b2; >r1a2 : boolean @@ -151,9 +151,9 @@ var r1a2 = a2 < b2; >a2 < b2 : boolean > : ^^^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r1a3 = a3 < b3; >r1a3 : boolean @@ -161,9 +161,9 @@ var r1a3 = a3 < b3; >a3 < b3 : boolean > : ^^^^^^^ >a3 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b3 : new (a: number) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r1a4 = a4 < b4; >r1a4 : boolean @@ -171,9 +171,9 @@ var r1a4 = a4 < b4; >a4 < b4 : boolean > : ^^^^^^^ >a4 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r1a5 = a5 < b5; >r1a5 : boolean @@ -181,9 +181,9 @@ var r1a5 = a5 < b5; >a5 < b5 : boolean > : ^^^^^^^ >a5 : new (a: Base) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b5 : new (a: Derived) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r1a6 = a6 < b6; >r1a6 : boolean @@ -191,9 +191,9 @@ var r1a6 = a6 < b6; >a6 < b6 : boolean > : ^^^^^^^ >a6 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b6 : new (a: Base, b: Derived) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r1a7 = a7 < b7; >r1a7 : boolean @@ -201,9 +201,9 @@ var r1a7 = a7 < b7; >a7 < b7 : boolean > : ^^^^^^^ >a7 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b7 : new () => Derived -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r1a8 = a8 < b8; >r1a8 : boolean @@ -211,9 +211,9 @@ var r1a8 = a8 < b8; >a8 < b8 : boolean > : ^^^^^^^ >a8 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >b8 : new (a?: Derived) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r1a9 = a9 < b9; >r1a9 : boolean @@ -221,9 +221,9 @@ var r1a9 = a9 < b9; >a9 < b9 : boolean > : ^^^^^^^ >a9 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >b9 : new (...a: Derived[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ //var r1a10 = a10 < b10; @@ -233,9 +233,9 @@ var r1b1 = b1 < a1; >b1 < a1 : boolean > : ^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r1b2 = b2 < a2; >r1b2 : boolean @@ -243,9 +243,9 @@ var r1b2 = b2 < a2; >b2 < a2 : boolean > : ^^^^^^^ >b2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r1b3 = b3 < a3; >r1b3 : boolean @@ -253,9 +253,9 @@ var r1b3 = b3 < a3; >b3 < a3 : boolean > : ^^^^^^^ >b3 : new (a: number) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a3 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r1b4 = b4 < a4; >r1b4 : boolean @@ -263,9 +263,9 @@ var r1b4 = b4 < a4; >b4 < a4 : boolean > : ^^^^^^^ >b4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a4 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r1b5 = b5 < a5; >r1b5 : boolean @@ -273,9 +273,9 @@ var r1b5 = b5 < a5; >b5 < a5 : boolean > : ^^^^^^^ >b5 : new (a: Derived) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a5 : new (a: Base) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r1b6 = b6 < a6; >r1b6 : boolean @@ -283,9 +283,9 @@ var r1b6 = b6 < a6; >b6 < a6 : boolean > : ^^^^^^^ >b6 : new (a: Base, b: Derived) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a6 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r1b7 = b7 < a7; >r1b7 : boolean @@ -293,9 +293,9 @@ var r1b7 = b7 < a7; >b7 < a7 : boolean > : ^^^^^^^ >b7 : new () => Derived -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a7 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r1b8 = b8 < a8; >r1b8 : boolean @@ -303,9 +303,9 @@ var r1b8 = b8 < a8; >b8 < a8 : boolean > : ^^^^^^^ >b8 : new (a?: Derived) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a8 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r1b9 = b9 < a9; >r1b9 : boolean @@ -313,9 +313,9 @@ var r1b9 = b9 < a9; >b9 < a9 : boolean > : ^^^^^^^ >b9 : new (...a: Derived[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a9 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ //var r1b10 = b10 < a10; @@ -326,9 +326,9 @@ var r2a1 = a1 > b1; >a1 > b1 : boolean > : ^^^^^^^ >a1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r2a2 = a2 > b2; >r2a2 : boolean @@ -336,9 +336,9 @@ var r2a2 = a2 > b2; >a2 > b2 : boolean > : ^^^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r2a3 = a3 > b3; >r2a3 : boolean @@ -346,9 +346,9 @@ var r2a3 = a3 > b3; >a3 > b3 : boolean > : ^^^^^^^ >a3 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b3 : new (a: number) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r2a4 = a4 > b4; >r2a4 : boolean @@ -356,9 +356,9 @@ var r2a4 = a4 > b4; >a4 > b4 : boolean > : ^^^^^^^ >a4 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r2a5 = a5 > b5; >r2a5 : boolean @@ -366,9 +366,9 @@ var r2a5 = a5 > b5; >a5 > b5 : boolean > : ^^^^^^^ >a5 : new (a: Base) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b5 : new (a: Derived) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r2a6 = a6 > b6; >r2a6 : boolean @@ -376,9 +376,9 @@ var r2a6 = a6 > b6; >a6 > b6 : boolean > : ^^^^^^^ >a6 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b6 : new (a: Base, b: Derived) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r2a7 = a7 > b7; >r2a7 : boolean @@ -386,9 +386,9 @@ var r2a7 = a7 > b7; >a7 > b7 : boolean > : ^^^^^^^ >a7 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b7 : new () => Derived -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r2a8 = a8 > b8; >r2a8 : boolean @@ -396,9 +396,9 @@ var r2a8 = a8 > b8; >a8 > b8 : boolean > : ^^^^^^^ >a8 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >b8 : new (a?: Derived) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r2a9 = a9 > b9; >r2a9 : boolean @@ -406,9 +406,9 @@ var r2a9 = a9 > b9; >a9 > b9 : boolean > : ^^^^^^^ >a9 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >b9 : new (...a: Derived[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ //var r2a10 = a10 > b10; @@ -418,9 +418,9 @@ var r2b1 = b1 > a1; >b1 > a1 : boolean > : ^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r2b2 = b2 > a2; >r2b2 : boolean @@ -428,9 +428,9 @@ var r2b2 = b2 > a2; >b2 > a2 : boolean > : ^^^^^^^ >b2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r2b3 = b3 > a3; >r2b3 : boolean @@ -438,9 +438,9 @@ var r2b3 = b3 > a3; >b3 > a3 : boolean > : ^^^^^^^ >b3 : new (a: number) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a3 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r2b4 = b4 > a4; >r2b4 : boolean @@ -448,9 +448,9 @@ var r2b4 = b4 > a4; >b4 > a4 : boolean > : ^^^^^^^ >b4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a4 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r2b5 = b5 > a5; >r2b5 : boolean @@ -458,9 +458,9 @@ var r2b5 = b5 > a5; >b5 > a5 : boolean > : ^^^^^^^ >b5 : new (a: Derived) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a5 : new (a: Base) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r2b6 = b6 > a6; >r2b6 : boolean @@ -468,9 +468,9 @@ var r2b6 = b6 > a6; >b6 > a6 : boolean > : ^^^^^^^ >b6 : new (a: Base, b: Derived) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a6 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r2b7 = b7 > a7; >r2b7 : boolean @@ -478,9 +478,9 @@ var r2b7 = b7 > a7; >b7 > a7 : boolean > : ^^^^^^^ >b7 : new () => Derived -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a7 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r2b8 = b8 > a8; >r2b8 : boolean @@ -488,9 +488,9 @@ var r2b8 = b8 > a8; >b8 > a8 : boolean > : ^^^^^^^ >b8 : new (a?: Derived) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a8 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r2b9 = b9 > a9; >r2b9 : boolean @@ -498,9 +498,9 @@ var r2b9 = b9 > a9; >b9 > a9 : boolean > : ^^^^^^^ >b9 : new (...a: Derived[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a9 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ //var r2b10 = b10 > a10; @@ -511,9 +511,9 @@ var r3a1 = a1 <= b1; >a1 <= b1 : boolean > : ^^^^^^^ >a1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r3a2 = a2 <= b2; >r3a2 : boolean @@ -521,9 +521,9 @@ var r3a2 = a2 <= b2; >a2 <= b2 : boolean > : ^^^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r3a3 = a3 <= b3; >r3a3 : boolean @@ -531,9 +531,9 @@ var r3a3 = a3 <= b3; >a3 <= b3 : boolean > : ^^^^^^^ >a3 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b3 : new (a: number) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r3a4 = a4 <= b4; >r3a4 : boolean @@ -541,9 +541,9 @@ var r3a4 = a4 <= b4; >a4 <= b4 : boolean > : ^^^^^^^ >a4 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r3a5 = a5 <= b5; >r3a5 : boolean @@ -551,9 +551,9 @@ var r3a5 = a5 <= b5; >a5 <= b5 : boolean > : ^^^^^^^ >a5 : new (a: Base) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b5 : new (a: Derived) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r3a6 = a6 <= b6; >r3a6 : boolean @@ -561,9 +561,9 @@ var r3a6 = a6 <= b6; >a6 <= b6 : boolean > : ^^^^^^^ >a6 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b6 : new (a: Base, b: Derived) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r3a7 = a7 <= b7; >r3a7 : boolean @@ -571,9 +571,9 @@ var r3a7 = a7 <= b7; >a7 <= b7 : boolean > : ^^^^^^^ >a7 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b7 : new () => Derived -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r3a8 = a8 <= b8; >r3a8 : boolean @@ -581,9 +581,9 @@ var r3a8 = a8 <= b8; >a8 <= b8 : boolean > : ^^^^^^^ >a8 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >b8 : new (a?: Derived) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r3a9 = a9 <= b9; >r3a9 : boolean @@ -591,9 +591,9 @@ var r3a9 = a9 <= b9; >a9 <= b9 : boolean > : ^^^^^^^ >a9 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >b9 : new (...a: Derived[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ //var r3a10 = a10 <= b10; @@ -603,9 +603,9 @@ var r3b1 = b1 <= a1; >b1 <= a1 : boolean > : ^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r3b2 = b2 <= a2; >r3b2 : boolean @@ -613,9 +613,9 @@ var r3b2 = b2 <= a2; >b2 <= a2 : boolean > : ^^^^^^^ >b2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r3b3 = b3 <= a3; >r3b3 : boolean @@ -623,9 +623,9 @@ var r3b3 = b3 <= a3; >b3 <= a3 : boolean > : ^^^^^^^ >b3 : new (a: number) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a3 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r3b4 = b4 <= a4; >r3b4 : boolean @@ -633,9 +633,9 @@ var r3b4 = b4 <= a4; >b4 <= a4 : boolean > : ^^^^^^^ >b4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a4 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r3b5 = b5 <= a5; >r3b5 : boolean @@ -643,9 +643,9 @@ var r3b5 = b5 <= a5; >b5 <= a5 : boolean > : ^^^^^^^ >b5 : new (a: Derived) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a5 : new (a: Base) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r3b6 = b6 <= a6; >r3b6 : boolean @@ -653,9 +653,9 @@ var r3b6 = b6 <= a6; >b6 <= a6 : boolean > : ^^^^^^^ >b6 : new (a: Base, b: Derived) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a6 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r3b7 = b7 <= a7; >r3b7 : boolean @@ -663,9 +663,9 @@ var r3b7 = b7 <= a7; >b7 <= a7 : boolean > : ^^^^^^^ >b7 : new () => Derived -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a7 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r3b8 = b8 <= a8; >r3b8 : boolean @@ -673,9 +673,9 @@ var r3b8 = b8 <= a8; >b8 <= a8 : boolean > : ^^^^^^^ >b8 : new (a?: Derived) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a8 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r3b9 = b9 <= a9; >r3b9 : boolean @@ -683,9 +683,9 @@ var r3b9 = b9 <= a9; >b9 <= a9 : boolean > : ^^^^^^^ >b9 : new (...a: Derived[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a9 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ //var r3b10 = b10 <= a10; @@ -696,9 +696,9 @@ var r4a1 = a1 >= b1; >a1 >= b1 : boolean > : ^^^^^^^ >a1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r4a2 = a2 >= b2; >r4a2 : boolean @@ -706,9 +706,9 @@ var r4a2 = a2 >= b2; >a2 >= b2 : boolean > : ^^^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r4a3 = a3 >= b3; >r4a3 : boolean @@ -716,9 +716,9 @@ var r4a3 = a3 >= b3; >a3 >= b3 : boolean > : ^^^^^^^ >a3 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b3 : new (a: number) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r4a4 = a4 >= b4; >r4a4 : boolean @@ -726,9 +726,9 @@ var r4a4 = a4 >= b4; >a4 >= b4 : boolean > : ^^^^^^^ >a4 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r4a5 = a5 >= b5; >r4a5 : boolean @@ -736,9 +736,9 @@ var r4a5 = a5 >= b5; >a5 >= b5 : boolean > : ^^^^^^^ >a5 : new (a: Base) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b5 : new (a: Derived) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r4a6 = a6 >= b6; >r4a6 : boolean @@ -746,9 +746,9 @@ var r4a6 = a6 >= b6; >a6 >= b6 : boolean > : ^^^^^^^ >a6 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b6 : new (a: Base, b: Derived) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r4a7 = a7 >= b7; >r4a7 : boolean @@ -756,9 +756,9 @@ var r4a7 = a7 >= b7; >a7 >= b7 : boolean > : ^^^^^^^ >a7 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b7 : new () => Derived -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r4a8 = a8 >= b8; >r4a8 : boolean @@ -766,9 +766,9 @@ var r4a8 = a8 >= b8; >a8 >= b8 : boolean > : ^^^^^^^ >a8 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >b8 : new (a?: Derived) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r4a9 = a9 >= b9; >r4a9 : boolean @@ -776,9 +776,9 @@ var r4a9 = a9 >= b9; >a9 >= b9 : boolean > : ^^^^^^^ >a9 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >b9 : new (...a: Derived[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ //var r4a10 = a10 >= b10; @@ -788,9 +788,9 @@ var r4b1 = b1 >= a1; >b1 >= a1 : boolean > : ^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r4b2 = b2 >= a2; >r4b2 : boolean @@ -798,9 +798,9 @@ var r4b2 = b2 >= a2; >b2 >= a2 : boolean > : ^^^^^^^ >b2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r4b3 = b3 >= a3; >r4b3 : boolean @@ -808,9 +808,9 @@ var r4b3 = b3 >= a3; >b3 >= a3 : boolean > : ^^^^^^^ >b3 : new (a: number) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a3 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r4b4 = b4 >= a4; >r4b4 : boolean @@ -818,9 +818,9 @@ var r4b4 = b4 >= a4; >b4 >= a4 : boolean > : ^^^^^^^ >b4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a4 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r4b5 = b5 >= a5; >r4b5 : boolean @@ -828,9 +828,9 @@ var r4b5 = b5 >= a5; >b5 >= a5 : boolean > : ^^^^^^^ >b5 : new (a: Derived) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a5 : new (a: Base) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r4b6 = b6 >= a6; >r4b6 : boolean @@ -838,9 +838,9 @@ var r4b6 = b6 >= a6; >b6 >= a6 : boolean > : ^^^^^^^ >b6 : new (a: Base, b: Derived) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a6 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r4b7 = b7 >= a7; >r4b7 : boolean @@ -848,9 +848,9 @@ var r4b7 = b7 >= a7; >b7 >= a7 : boolean > : ^^^^^^^ >b7 : new () => Derived -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a7 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r4b8 = b8 >= a8; >r4b8 : boolean @@ -858,9 +858,9 @@ var r4b8 = b8 >= a8; >b8 >= a8 : boolean > : ^^^^^^^ >b8 : new (a?: Derived) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a8 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r4b9 = b9 >= a9; >r4b9 : boolean @@ -868,9 +868,9 @@ var r4b9 = b9 >= a9; >b9 >= a9 : boolean > : ^^^^^^^ >b9 : new (...a: Derived[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a9 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ //var r4b10 = b10 >= a10; @@ -881,9 +881,9 @@ var r5a1 = a1 == b1; >a1 == b1 : boolean > : ^^^^^^^ >a1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r5a2 = a2 == b2; >r5a2 : boolean @@ -891,9 +891,9 @@ var r5a2 = a2 == b2; >a2 == b2 : boolean > : ^^^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r5a3 = a3 == b3; >r5a3 : boolean @@ -901,9 +901,9 @@ var r5a3 = a3 == b3; >a3 == b3 : boolean > : ^^^^^^^ >a3 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b3 : new (a: number) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r5a4 = a4 == b4; >r5a4 : boolean @@ -911,9 +911,9 @@ var r5a4 = a4 == b4; >a4 == b4 : boolean > : ^^^^^^^ >a4 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r5a5 = a5 == b5; >r5a5 : boolean @@ -921,9 +921,9 @@ var r5a5 = a5 == b5; >a5 == b5 : boolean > : ^^^^^^^ >a5 : new (a: Base) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b5 : new (a: Derived) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r5a6 = a6 == b6; >r5a6 : boolean @@ -931,9 +931,9 @@ var r5a6 = a6 == b6; >a6 == b6 : boolean > : ^^^^^^^ >a6 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b6 : new (a: Base, b: Derived) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r5a7 = a7 == b7; >r5a7 : boolean @@ -941,9 +941,9 @@ var r5a7 = a7 == b7; >a7 == b7 : boolean > : ^^^^^^^ >a7 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b7 : new () => Derived -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r5a8 = a8 == b8; >r5a8 : boolean @@ -951,9 +951,9 @@ var r5a8 = a8 == b8; >a8 == b8 : boolean > : ^^^^^^^ >a8 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >b8 : new (a?: Derived) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r5a9 = a9 == b9; >r5a9 : boolean @@ -961,9 +961,9 @@ var r5a9 = a9 == b9; >a9 == b9 : boolean > : ^^^^^^^ >a9 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >b9 : new (...a: Derived[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ //var r5a10 = a10 == b10; @@ -973,9 +973,9 @@ var r5b1 = b1 == a1; >b1 == a1 : boolean > : ^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r5b2 = b2 == a2; >r5b2 : boolean @@ -983,9 +983,9 @@ var r5b2 = b2 == a2; >b2 == a2 : boolean > : ^^^^^^^ >b2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r5b3 = b3 == a3; >r5b3 : boolean @@ -993,9 +993,9 @@ var r5b3 = b3 == a3; >b3 == a3 : boolean > : ^^^^^^^ >b3 : new (a: number) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a3 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r5b4 = b4 == a4; >r5b4 : boolean @@ -1003,9 +1003,9 @@ var r5b4 = b4 == a4; >b4 == a4 : boolean > : ^^^^^^^ >b4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a4 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r5b5 = b5 == a5; >r5b5 : boolean @@ -1013,9 +1013,9 @@ var r5b5 = b5 == a5; >b5 == a5 : boolean > : ^^^^^^^ >b5 : new (a: Derived) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a5 : new (a: Base) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r5b6 = b6 == a6; >r5b6 : boolean @@ -1023,9 +1023,9 @@ var r5b6 = b6 == a6; >b6 == a6 : boolean > : ^^^^^^^ >b6 : new (a: Base, b: Derived) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a6 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r5b7 = b7 == a7; >r5b7 : boolean @@ -1033,9 +1033,9 @@ var r5b7 = b7 == a7; >b7 == a7 : boolean > : ^^^^^^^ >b7 : new () => Derived -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a7 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r5b8 = b8 == a8; >r5b8 : boolean @@ -1043,9 +1043,9 @@ var r5b8 = b8 == a8; >b8 == a8 : boolean > : ^^^^^^^ >b8 : new (a?: Derived) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a8 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r5b9 = b9 == a9; >r5b9 : boolean @@ -1053,9 +1053,9 @@ var r5b9 = b9 == a9; >b9 == a9 : boolean > : ^^^^^^^ >b9 : new (...a: Derived[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a9 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ //var r5b10 = b10 == a10; @@ -1066,9 +1066,9 @@ var r6a1 = a1 != b1; >a1 != b1 : boolean > : ^^^^^^^ >a1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r6a2 = a2 != b2; >r6a2 : boolean @@ -1076,9 +1076,9 @@ var r6a2 = a2 != b2; >a2 != b2 : boolean > : ^^^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r6a3 = a3 != b3; >r6a3 : boolean @@ -1086,9 +1086,9 @@ var r6a3 = a3 != b3; >a3 != b3 : boolean > : ^^^^^^^ >a3 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b3 : new (a: number) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r6a4 = a4 != b4; >r6a4 : boolean @@ -1096,9 +1096,9 @@ var r6a4 = a4 != b4; >a4 != b4 : boolean > : ^^^^^^^ >a4 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r6a5 = a5 != b5; >r6a5 : boolean @@ -1106,9 +1106,9 @@ var r6a5 = a5 != b5; >a5 != b5 : boolean > : ^^^^^^^ >a5 : new (a: Base) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b5 : new (a: Derived) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r6a6 = a6 != b6; >r6a6 : boolean @@ -1116,9 +1116,9 @@ var r6a6 = a6 != b6; >a6 != b6 : boolean > : ^^^^^^^ >a6 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b6 : new (a: Base, b: Derived) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r6a7 = a7 != b7; >r6a7 : boolean @@ -1126,9 +1126,9 @@ var r6a7 = a7 != b7; >a7 != b7 : boolean > : ^^^^^^^ >a7 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b7 : new () => Derived -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r6a8 = a8 != b8; >r6a8 : boolean @@ -1136,9 +1136,9 @@ var r6a8 = a8 != b8; >a8 != b8 : boolean > : ^^^^^^^ >a8 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >b8 : new (a?: Derived) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r6a9 = a9 != b9; >r6a9 : boolean @@ -1146,9 +1146,9 @@ var r6a9 = a9 != b9; >a9 != b9 : boolean > : ^^^^^^^ >a9 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >b9 : new (...a: Derived[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ //var r6a10 = a10 != b10; @@ -1158,9 +1158,9 @@ var r6b1 = b1 != a1; >b1 != a1 : boolean > : ^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r6b2 = b2 != a2; >r6b2 : boolean @@ -1168,9 +1168,9 @@ var r6b2 = b2 != a2; >b2 != a2 : boolean > : ^^^^^^^ >b2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r6b3 = b3 != a3; >r6b3 : boolean @@ -1178,9 +1178,9 @@ var r6b3 = b3 != a3; >b3 != a3 : boolean > : ^^^^^^^ >b3 : new (a: number) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a3 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r6b4 = b4 != a4; >r6b4 : boolean @@ -1188,9 +1188,9 @@ var r6b4 = b4 != a4; >b4 != a4 : boolean > : ^^^^^^^ >b4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a4 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r6b5 = b5 != a5; >r6b5 : boolean @@ -1198,9 +1198,9 @@ var r6b5 = b5 != a5; >b5 != a5 : boolean > : ^^^^^^^ >b5 : new (a: Derived) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a5 : new (a: Base) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r6b6 = b6 != a6; >r6b6 : boolean @@ -1208,9 +1208,9 @@ var r6b6 = b6 != a6; >b6 != a6 : boolean > : ^^^^^^^ >b6 : new (a: Base, b: Derived) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a6 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r6b7 = b7 != a7; >r6b7 : boolean @@ -1218,9 +1218,9 @@ var r6b7 = b7 != a7; >b7 != a7 : boolean > : ^^^^^^^ >b7 : new () => Derived -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a7 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r6b8 = b8 != a8; >r6b8 : boolean @@ -1228,9 +1228,9 @@ var r6b8 = b8 != a8; >b8 != a8 : boolean > : ^^^^^^^ >b8 : new (a?: Derived) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a8 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r6b9 = b9 != a9; >r6b9 : boolean @@ -1238,9 +1238,9 @@ var r6b9 = b9 != a9; >b9 != a9 : boolean > : ^^^^^^^ >b9 : new (...a: Derived[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a9 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ //var r6b10 = b10 != a10; @@ -1251,9 +1251,9 @@ var r7a1 = a1 === b1; >a1 === b1 : boolean > : ^^^^^^^ >a1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r7a2 = a2 === b2; >r7a2 : boolean @@ -1261,9 +1261,9 @@ var r7a2 = a2 === b2; >a2 === b2 : boolean > : ^^^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r7a3 = a3 === b3; >r7a3 : boolean @@ -1271,9 +1271,9 @@ var r7a3 = a3 === b3; >a3 === b3 : boolean > : ^^^^^^^ >a3 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b3 : new (a: number) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r7a4 = a4 === b4; >r7a4 : boolean @@ -1281,9 +1281,9 @@ var r7a4 = a4 === b4; >a4 === b4 : boolean > : ^^^^^^^ >a4 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r7a5 = a5 === b5; >r7a5 : boolean @@ -1291,9 +1291,9 @@ var r7a5 = a5 === b5; >a5 === b5 : boolean > : ^^^^^^^ >a5 : new (a: Base) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b5 : new (a: Derived) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r7a6 = a6 === b6; >r7a6 : boolean @@ -1301,9 +1301,9 @@ var r7a6 = a6 === b6; >a6 === b6 : boolean > : ^^^^^^^ >a6 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b6 : new (a: Base, b: Derived) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r7a7 = a7 === b7; >r7a7 : boolean @@ -1311,9 +1311,9 @@ var r7a7 = a7 === b7; >a7 === b7 : boolean > : ^^^^^^^ >a7 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b7 : new () => Derived -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r7a8 = a8 === b8; >r7a8 : boolean @@ -1321,9 +1321,9 @@ var r7a8 = a8 === b8; >a8 === b8 : boolean > : ^^^^^^^ >a8 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >b8 : new (a?: Derived) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r7a9 = a9 === b9; >r7a9 : boolean @@ -1331,9 +1331,9 @@ var r7a9 = a9 === b9; >a9 === b9 : boolean > : ^^^^^^^ >a9 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >b9 : new (...a: Derived[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ //var r7a10 = a10 === b10; @@ -1343,9 +1343,9 @@ var r7b1 = b1 === a1; >b1 === a1 : boolean > : ^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r7b2 = b2 === a2; >r7b2 : boolean @@ -1353,9 +1353,9 @@ var r7b2 = b2 === a2; >b2 === a2 : boolean > : ^^^^^^^ >b2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r7b3 = b3 === a3; >r7b3 : boolean @@ -1363,9 +1363,9 @@ var r7b3 = b3 === a3; >b3 === a3 : boolean > : ^^^^^^^ >b3 : new (a: number) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a3 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r7b4 = b4 === a4; >r7b4 : boolean @@ -1373,9 +1373,9 @@ var r7b4 = b4 === a4; >b4 === a4 : boolean > : ^^^^^^^ >b4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a4 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r7b5 = b5 === a5; >r7b5 : boolean @@ -1383,9 +1383,9 @@ var r7b5 = b5 === a5; >b5 === a5 : boolean > : ^^^^^^^ >b5 : new (a: Derived) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a5 : new (a: Base) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r7b6 = b6 === a6; >r7b6 : boolean @@ -1393,9 +1393,9 @@ var r7b6 = b6 === a6; >b6 === a6 : boolean > : ^^^^^^^ >b6 : new (a: Base, b: Derived) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a6 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r7b7 = b7 === a7; >r7b7 : boolean @@ -1403,9 +1403,9 @@ var r7b7 = b7 === a7; >b7 === a7 : boolean > : ^^^^^^^ >b7 : new () => Derived -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a7 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r7b8 = b8 === a8; >r7b8 : boolean @@ -1413,9 +1413,9 @@ var r7b8 = b8 === a8; >b8 === a8 : boolean > : ^^^^^^^ >b8 : new (a?: Derived) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a8 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r7b9 = b9 === a9; >r7b9 : boolean @@ -1423,9 +1423,9 @@ var r7b9 = b9 === a9; >b9 === a9 : boolean > : ^^^^^^^ >b9 : new (...a: Derived[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a9 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ //var r7b10 = b10 === a10; @@ -1436,9 +1436,9 @@ var r8a1 = a1 !== b1; >a1 !== b1 : boolean > : ^^^^^^^ >a1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r8a2 = a2 !== b2; >r8a2 : boolean @@ -1446,9 +1446,9 @@ var r8a2 = a2 !== b2; >a2 !== b2 : boolean > : ^^^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r8a3 = a3 !== b3; >r8a3 : boolean @@ -1456,9 +1456,9 @@ var r8a3 = a3 !== b3; >a3 !== b3 : boolean > : ^^^^^^^ >a3 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b3 : new (a: number) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r8a4 = a4 !== b4; >r8a4 : boolean @@ -1466,9 +1466,9 @@ var r8a4 = a4 !== b4; >a4 !== b4 : boolean > : ^^^^^^^ >a4 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r8a5 = a5 !== b5; >r8a5 : boolean @@ -1476,9 +1476,9 @@ var r8a5 = a5 !== b5; >a5 !== b5 : boolean > : ^^^^^^^ >a5 : new (a: Base) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b5 : new (a: Derived) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r8a6 = a6 !== b6; >r8a6 : boolean @@ -1486,9 +1486,9 @@ var r8a6 = a6 !== b6; >a6 !== b6 : boolean > : ^^^^^^^ >a6 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >b6 : new (a: Base, b: Derived) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r8a7 = a7 !== b7; >r8a7 : boolean @@ -1496,9 +1496,9 @@ var r8a7 = a7 !== b7; >a7 !== b7 : boolean > : ^^^^^^^ >a7 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >b7 : new () => Derived -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r8a8 = a8 !== b8; >r8a8 : boolean @@ -1506,9 +1506,9 @@ var r8a8 = a8 !== b8; >a8 !== b8 : boolean > : ^^^^^^^ >a8 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >b8 : new (a?: Derived) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r8a9 = a9 !== b9; >r8a9 : boolean @@ -1516,9 +1516,9 @@ var r8a9 = a9 !== b9; >a9 !== b9 : boolean > : ^^^^^^^ >a9 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >b9 : new (...a: Derived[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ //var r8a10 = a10 !== b10; @@ -1528,9 +1528,9 @@ var r8b1 = b1 !== a1; >b1 !== a1 : boolean > : ^^^^^^^ >b1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a1 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r8b2 = b2 !== a2; >r8b2 : boolean @@ -1538,9 +1538,9 @@ var r8b2 = b2 !== a2; >b2 !== a2 : boolean > : ^^^^^^^ >b2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a2 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r8b3 = b3 !== a3; >r8b3 : boolean @@ -1548,9 +1548,9 @@ var r8b3 = b3 !== a3; >b3 !== a3 : boolean > : ^^^^^^^ >b3 : new (a: number) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a3 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r8b4 = b4 !== a4; >r8b4 : boolean @@ -1558,9 +1558,9 @@ var r8b4 = b4 !== a4; >b4 !== a4 : boolean > : ^^^^^^^ >b4 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a4 : new (a: number, b: string) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r8b5 = b5 !== a5; >r8b5 : boolean @@ -1568,9 +1568,9 @@ var r8b5 = b5 !== a5; >b5 !== a5 : boolean > : ^^^^^^^ >b5 : new (a: Derived) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a5 : new (a: Base) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r8b6 = b6 !== a6; >r8b6 : boolean @@ -1578,9 +1578,9 @@ var r8b6 = b6 !== a6; >b6 !== a6 : boolean > : ^^^^^^^ >b6 : new (a: Base, b: Derived) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a6 : new (a: Derived, b: Base) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r8b7 = b7 !== a7; >r8b7 : boolean @@ -1588,9 +1588,9 @@ var r8b7 = b7 !== a7; >b7 !== a7 : boolean > : ^^^^^^^ >b7 : new () => Derived -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >a7 : new () => Base -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r8b8 = b8 !== a8; >r8b8 : boolean @@ -1598,9 +1598,9 @@ var r8b8 = b8 !== a8; >b8 !== a8 : boolean > : ^^^^^^^ >b8 : new (a?: Derived) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a8 : new (a?: Base) => Base -> : ^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r8b9 = b9 !== a9; >r8b9 : boolean @@ -1608,8 +1608,8 @@ var r8b9 = b9 !== a9; >b9 !== a9 : boolean > : ^^^^^^^ >b9 : new (...a: Derived[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a9 : new (...a: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ //var r8b10 = b10 !== a10; diff --git a/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnInstantiatedCallSignature.types b/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnInstantiatedCallSignature.types index e4845adab1c43..553082c6e33b2 100644 --- a/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnInstantiatedCallSignature.types +++ b/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnInstantiatedCallSignature.types @@ -145,9 +145,9 @@ var r1a1 = a1 < b1; >a1 < b1 : boolean > : ^^^^^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b1 : { fn(x: string): string; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r1a2 = a2 < b2; >r1a2 : boolean @@ -155,9 +155,9 @@ var r1a2 = a2 < b2; >a2 < b2 : boolean > : ^^^^^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r1a3 = a3 < b3; >r1a3 : boolean @@ -165,9 +165,9 @@ var r1a3 = a3 < b3; >a3 < b3 : boolean > : ^^^^^^^ >a3 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b3 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r1a4 = a4 < b4; >r1a4 : boolean @@ -175,9 +175,9 @@ var r1a4 = a4 < b4; >a4 < b4 : boolean > : ^^^^^^^ >a4 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ >b4 : { fn(x?: string): string; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r1a5 = a5 < b5; >r1a5 : boolean @@ -185,9 +185,9 @@ var r1a5 = a5 < b5; >a5 < b5 : boolean > : ^^^^^^^ >a5 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ >b5 : { fn(...x: string[]): string; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r1a6 = a6 < b6; >r1a6 : boolean @@ -195,9 +195,9 @@ var r1a6 = a6 < b6; >a6 < b6 : boolean > : ^^^^^^^ >a6 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b6 : { fn(x: string, y: number): {}; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ //var r1a7 = a7 < b7; @@ -207,9 +207,9 @@ var r1b1 = b1 < a1; >b1 < a1 : boolean > : ^^^^^^^ >b1 : { fn(x: string): string; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r1b2 = b2 < a2; >r1b2 : boolean @@ -217,9 +217,9 @@ var r1b2 = b2 < a2; >b2 < a2 : boolean > : ^^^^^^^ >b2 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r1b3 = b3 < a3; >r1b3 : boolean @@ -227,9 +227,9 @@ var r1b3 = b3 < a3; >b3 < a3 : boolean > : ^^^^^^^ >b3 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a3 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var r1b4 = b4 < a4; >r1b4 : boolean @@ -237,9 +237,9 @@ var r1b4 = b4 < a4; >b4 < a4 : boolean > : ^^^^^^^ >b4 : { fn(x?: string): string; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a4 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ var r1b5 = b5 < a5; >r1b5 : boolean @@ -247,9 +247,9 @@ var r1b5 = b5 < a5; >b5 < a5 : boolean > : ^^^^^^^ >b5 : { fn(...x: string[]): string; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a5 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ var r1b6 = b6 < a6; >r1b6 : boolean @@ -257,9 +257,9 @@ var r1b6 = b6 < a6; >b6 < a6 : boolean > : ^^^^^^^ >b6 : { fn(x: string, y: number): {}; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a6 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ //var r1b7 = b7 < a7; @@ -270,9 +270,9 @@ var r2a1 = a1 > b1; >a1 > b1 : boolean > : ^^^^^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b1 : { fn(x: string): string; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r2a2 = a2 > b2; >r2a2 : boolean @@ -280,9 +280,9 @@ var r2a2 = a2 > b2; >a2 > b2 : boolean > : ^^^^^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r2a3 = a3 > b3; >r2a3 : boolean @@ -290,9 +290,9 @@ var r2a3 = a3 > b3; >a3 > b3 : boolean > : ^^^^^^^ >a3 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b3 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r2a4 = a4 > b4; >r2a4 : boolean @@ -300,9 +300,9 @@ var r2a4 = a4 > b4; >a4 > b4 : boolean > : ^^^^^^^ >a4 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ >b4 : { fn(x?: string): string; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r2a5 = a5 > b5; >r2a5 : boolean @@ -310,9 +310,9 @@ var r2a5 = a5 > b5; >a5 > b5 : boolean > : ^^^^^^^ >a5 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ >b5 : { fn(...x: string[]): string; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r2a6 = a6 > b6; >r2a6 : boolean @@ -320,9 +320,9 @@ var r2a6 = a6 > b6; >a6 > b6 : boolean > : ^^^^^^^ >a6 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b6 : { fn(x: string, y: number): {}; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ //var r2a7 = a7 > b7; @@ -332,9 +332,9 @@ var r2b1 = b1 > a1; >b1 > a1 : boolean > : ^^^^^^^ >b1 : { fn(x: string): string; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r2b2 = b2 > a2; >r2b2 : boolean @@ -342,9 +342,9 @@ var r2b2 = b2 > a2; >b2 > a2 : boolean > : ^^^^^^^ >b2 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r2b3 = b3 > a3; >r2b3 : boolean @@ -352,9 +352,9 @@ var r2b3 = b3 > a3; >b3 > a3 : boolean > : ^^^^^^^ >b3 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a3 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var r2b4 = b4 > a4; >r2b4 : boolean @@ -362,9 +362,9 @@ var r2b4 = b4 > a4; >b4 > a4 : boolean > : ^^^^^^^ >b4 : { fn(x?: string): string; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a4 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ var r2b5 = b5 > a5; >r2b5 : boolean @@ -372,9 +372,9 @@ var r2b5 = b5 > a5; >b5 > a5 : boolean > : ^^^^^^^ >b5 : { fn(...x: string[]): string; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a5 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ var r2b6 = b6 > a6; >r2b6 : boolean @@ -382,9 +382,9 @@ var r2b6 = b6 > a6; >b6 > a6 : boolean > : ^^^^^^^ >b6 : { fn(x: string, y: number): {}; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a6 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ //var r2b7 = b7 > a7; @@ -395,9 +395,9 @@ var r3a1 = a1 <= b1; >a1 <= b1 : boolean > : ^^^^^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b1 : { fn(x: string): string; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r3a2 = a2 <= b2; >r3a2 : boolean @@ -405,9 +405,9 @@ var r3a2 = a2 <= b2; >a2 <= b2 : boolean > : ^^^^^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r3a3 = a3 <= b3; >r3a3 : boolean @@ -415,9 +415,9 @@ var r3a3 = a3 <= b3; >a3 <= b3 : boolean > : ^^^^^^^ >a3 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b3 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r3a4 = a4 <= b4; >r3a4 : boolean @@ -425,9 +425,9 @@ var r3a4 = a4 <= b4; >a4 <= b4 : boolean > : ^^^^^^^ >a4 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ >b4 : { fn(x?: string): string; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r3a5 = a5 <= b5; >r3a5 : boolean @@ -435,9 +435,9 @@ var r3a5 = a5 <= b5; >a5 <= b5 : boolean > : ^^^^^^^ >a5 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ >b5 : { fn(...x: string[]): string; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r3a6 = a6 <= b6; >r3a6 : boolean @@ -445,9 +445,9 @@ var r3a6 = a6 <= b6; >a6 <= b6 : boolean > : ^^^^^^^ >a6 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b6 : { fn(x: string, y: number): {}; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ //var r3a7 = a7 <= b7; @@ -457,9 +457,9 @@ var r3b1 = b1 <= a1; >b1 <= a1 : boolean > : ^^^^^^^ >b1 : { fn(x: string): string; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r3b2 = b2 <= a2; >r3b2 : boolean @@ -467,9 +467,9 @@ var r3b2 = b2 <= a2; >b2 <= a2 : boolean > : ^^^^^^^ >b2 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r3b3 = b3 <= a3; >r3b3 : boolean @@ -477,9 +477,9 @@ var r3b3 = b3 <= a3; >b3 <= a3 : boolean > : ^^^^^^^ >b3 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a3 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var r3b4 = b4 <= a4; >r3b4 : boolean @@ -487,9 +487,9 @@ var r3b4 = b4 <= a4; >b4 <= a4 : boolean > : ^^^^^^^ >b4 : { fn(x?: string): string; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a4 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ var r3b5 = b5 <= a5; >r3b5 : boolean @@ -497,9 +497,9 @@ var r3b5 = b5 <= a5; >b5 <= a5 : boolean > : ^^^^^^^ >b5 : { fn(...x: string[]): string; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a5 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ var r3b6 = b6 <= a6; >r3b6 : boolean @@ -507,9 +507,9 @@ var r3b6 = b6 <= a6; >b6 <= a6 : boolean > : ^^^^^^^ >b6 : { fn(x: string, y: number): {}; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a6 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ //var r3b7 = b7 <= a7; @@ -520,9 +520,9 @@ var r4a1 = a1 >= b1; >a1 >= b1 : boolean > : ^^^^^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b1 : { fn(x: string): string; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r4a2 = a2 >= b2; >r4a2 : boolean @@ -530,9 +530,9 @@ var r4a2 = a2 >= b2; >a2 >= b2 : boolean > : ^^^^^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r4a3 = a3 >= b3; >r4a3 : boolean @@ -540,9 +540,9 @@ var r4a3 = a3 >= b3; >a3 >= b3 : boolean > : ^^^^^^^ >a3 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b3 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r4a4 = a4 >= b4; >r4a4 : boolean @@ -550,9 +550,9 @@ var r4a4 = a4 >= b4; >a4 >= b4 : boolean > : ^^^^^^^ >a4 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ >b4 : { fn(x?: string): string; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r4a5 = a5 >= b5; >r4a5 : boolean @@ -560,9 +560,9 @@ var r4a5 = a5 >= b5; >a5 >= b5 : boolean > : ^^^^^^^ >a5 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ >b5 : { fn(...x: string[]): string; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r4a6 = a6 >= b6; >r4a6 : boolean @@ -570,9 +570,9 @@ var r4a6 = a6 >= b6; >a6 >= b6 : boolean > : ^^^^^^^ >a6 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b6 : { fn(x: string, y: number): {}; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ //var r4a7 = a7 >= b7; @@ -582,9 +582,9 @@ var r4b1 = b1 >= a1; >b1 >= a1 : boolean > : ^^^^^^^ >b1 : { fn(x: string): string; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r4b2 = b2 >= a2; >r4b2 : boolean @@ -592,9 +592,9 @@ var r4b2 = b2 >= a2; >b2 >= a2 : boolean > : ^^^^^^^ >b2 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r4b3 = b3 >= a3; >r4b3 : boolean @@ -602,9 +602,9 @@ var r4b3 = b3 >= a3; >b3 >= a3 : boolean > : ^^^^^^^ >b3 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a3 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var r4b4 = b4 >= a4; >r4b4 : boolean @@ -612,9 +612,9 @@ var r4b4 = b4 >= a4; >b4 >= a4 : boolean > : ^^^^^^^ >b4 : { fn(x?: string): string; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a4 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ var r4b5 = b5 >= a5; >r4b5 : boolean @@ -622,9 +622,9 @@ var r4b5 = b5 >= a5; >b5 >= a5 : boolean > : ^^^^^^^ >b5 : { fn(...x: string[]): string; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a5 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ var r4b6 = b6 >= a6; >r4b6 : boolean @@ -632,9 +632,9 @@ var r4b6 = b6 >= a6; >b6 >= a6 : boolean > : ^^^^^^^ >b6 : { fn(x: string, y: number): {}; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a6 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ //var r4b7 = b7 >= a7; @@ -645,9 +645,9 @@ var r5a1 = a1 == b1; >a1 == b1 : boolean > : ^^^^^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b1 : { fn(x: string): string; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r5a2 = a2 == b2; >r5a2 : boolean @@ -655,9 +655,9 @@ var r5a2 = a2 == b2; >a2 == b2 : boolean > : ^^^^^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r5a3 = a3 == b3; >r5a3 : boolean @@ -665,9 +665,9 @@ var r5a3 = a3 == b3; >a3 == b3 : boolean > : ^^^^^^^ >a3 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b3 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r5a4 = a4 == b4; >r5a4 : boolean @@ -675,9 +675,9 @@ var r5a4 = a4 == b4; >a4 == b4 : boolean > : ^^^^^^^ >a4 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ >b4 : { fn(x?: string): string; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r5a5 = a5 == b5; >r5a5 : boolean @@ -685,9 +685,9 @@ var r5a5 = a5 == b5; >a5 == b5 : boolean > : ^^^^^^^ >a5 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ >b5 : { fn(...x: string[]): string; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r5a6 = a6 == b6; >r5a6 : boolean @@ -695,9 +695,9 @@ var r5a6 = a6 == b6; >a6 == b6 : boolean > : ^^^^^^^ >a6 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b6 : { fn(x: string, y: number): {}; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ //var r5a7 = a7 == b7; @@ -707,9 +707,9 @@ var r5b1 = b1 == a1; >b1 == a1 : boolean > : ^^^^^^^ >b1 : { fn(x: string): string; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r5b2 = b2 == a2; >r5b2 : boolean @@ -717,9 +717,9 @@ var r5b2 = b2 == a2; >b2 == a2 : boolean > : ^^^^^^^ >b2 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r5b3 = b3 == a3; >r5b3 : boolean @@ -727,9 +727,9 @@ var r5b3 = b3 == a3; >b3 == a3 : boolean > : ^^^^^^^ >b3 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a3 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var r5b4 = b4 == a4; >r5b4 : boolean @@ -737,9 +737,9 @@ var r5b4 = b4 == a4; >b4 == a4 : boolean > : ^^^^^^^ >b4 : { fn(x?: string): string; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a4 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ var r5b5 = b5 == a5; >r5b5 : boolean @@ -747,9 +747,9 @@ var r5b5 = b5 == a5; >b5 == a5 : boolean > : ^^^^^^^ >b5 : { fn(...x: string[]): string; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a5 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ var r5b6 = b6 == a6; >r5b6 : boolean @@ -757,9 +757,9 @@ var r5b6 = b6 == a6; >b6 == a6 : boolean > : ^^^^^^^ >b6 : { fn(x: string, y: number): {}; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a6 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ //var r5b7 = b7 == a7; @@ -770,9 +770,9 @@ var r6a1 = a1 != b1; >a1 != b1 : boolean > : ^^^^^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b1 : { fn(x: string): string; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r6a2 = a2 != b2; >r6a2 : boolean @@ -780,9 +780,9 @@ var r6a2 = a2 != b2; >a2 != b2 : boolean > : ^^^^^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r6a3 = a3 != b3; >r6a3 : boolean @@ -790,9 +790,9 @@ var r6a3 = a3 != b3; >a3 != b3 : boolean > : ^^^^^^^ >a3 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b3 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r6a4 = a4 != b4; >r6a4 : boolean @@ -800,9 +800,9 @@ var r6a4 = a4 != b4; >a4 != b4 : boolean > : ^^^^^^^ >a4 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ >b4 : { fn(x?: string): string; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r6a5 = a5 != b5; >r6a5 : boolean @@ -810,9 +810,9 @@ var r6a5 = a5 != b5; >a5 != b5 : boolean > : ^^^^^^^ >a5 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ >b5 : { fn(...x: string[]): string; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r6a6 = a6 != b6; >r6a6 : boolean @@ -820,9 +820,9 @@ var r6a6 = a6 != b6; >a6 != b6 : boolean > : ^^^^^^^ >a6 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b6 : { fn(x: string, y: number): {}; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ //var r6a7 = a7 != b7; @@ -832,9 +832,9 @@ var r6b1 = b1 != a1; >b1 != a1 : boolean > : ^^^^^^^ >b1 : { fn(x: string): string; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r6b2 = b2 != a2; >r6b2 : boolean @@ -842,9 +842,9 @@ var r6b2 = b2 != a2; >b2 != a2 : boolean > : ^^^^^^^ >b2 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r6b3 = b3 != a3; >r6b3 : boolean @@ -852,9 +852,9 @@ var r6b3 = b3 != a3; >b3 != a3 : boolean > : ^^^^^^^ >b3 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a3 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var r6b4 = b4 != a4; >r6b4 : boolean @@ -862,9 +862,9 @@ var r6b4 = b4 != a4; >b4 != a4 : boolean > : ^^^^^^^ >b4 : { fn(x?: string): string; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a4 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ var r6b5 = b5 != a5; >r6b5 : boolean @@ -872,9 +872,9 @@ var r6b5 = b5 != a5; >b5 != a5 : boolean > : ^^^^^^^ >b5 : { fn(...x: string[]): string; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a5 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ var r6b6 = b6 != a6; >r6b6 : boolean @@ -882,9 +882,9 @@ var r6b6 = b6 != a6; >b6 != a6 : boolean > : ^^^^^^^ >b6 : { fn(x: string, y: number): {}; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a6 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ //var r6b7 = b7 != a7; @@ -895,9 +895,9 @@ var r7a1 = a1 === b1; >a1 === b1 : boolean > : ^^^^^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b1 : { fn(x: string): string; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r7a2 = a2 === b2; >r7a2 : boolean @@ -905,9 +905,9 @@ var r7a2 = a2 === b2; >a2 === b2 : boolean > : ^^^^^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r7a3 = a3 === b3; >r7a3 : boolean @@ -915,9 +915,9 @@ var r7a3 = a3 === b3; >a3 === b3 : boolean > : ^^^^^^^ >a3 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b3 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r7a4 = a4 === b4; >r7a4 : boolean @@ -925,9 +925,9 @@ var r7a4 = a4 === b4; >a4 === b4 : boolean > : ^^^^^^^ >a4 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ >b4 : { fn(x?: string): string; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r7a5 = a5 === b5; >r7a5 : boolean @@ -935,9 +935,9 @@ var r7a5 = a5 === b5; >a5 === b5 : boolean > : ^^^^^^^ >a5 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ >b5 : { fn(...x: string[]): string; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r7a6 = a6 === b6; >r7a6 : boolean @@ -945,9 +945,9 @@ var r7a6 = a6 === b6; >a6 === b6 : boolean > : ^^^^^^^ >a6 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b6 : { fn(x: string, y: number): {}; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ //var r7a7 = a7 === b7; @@ -957,9 +957,9 @@ var r7b1 = b1 === a1; >b1 === a1 : boolean > : ^^^^^^^ >b1 : { fn(x: string): string; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r7b2 = b2 === a2; >r7b2 : boolean @@ -967,9 +967,9 @@ var r7b2 = b2 === a2; >b2 === a2 : boolean > : ^^^^^^^ >b2 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r7b3 = b3 === a3; >r7b3 : boolean @@ -977,9 +977,9 @@ var r7b3 = b3 === a3; >b3 === a3 : boolean > : ^^^^^^^ >b3 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a3 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var r7b4 = b4 === a4; >r7b4 : boolean @@ -987,9 +987,9 @@ var r7b4 = b4 === a4; >b4 === a4 : boolean > : ^^^^^^^ >b4 : { fn(x?: string): string; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a4 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ var r7b5 = b5 === a5; >r7b5 : boolean @@ -997,9 +997,9 @@ var r7b5 = b5 === a5; >b5 === a5 : boolean > : ^^^^^^^ >b5 : { fn(...x: string[]): string; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a5 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ var r7b6 = b6 === a6; >r7b6 : boolean @@ -1007,9 +1007,9 @@ var r7b6 = b6 === a6; >b6 === a6 : boolean > : ^^^^^^^ >b6 : { fn(x: string, y: number): {}; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a6 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ //var r7b7 = b7 === a7; @@ -1020,9 +1020,9 @@ var r8a1 = a1 !== b1; >a1 !== b1 : boolean > : ^^^^^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b1 : { fn(x: string): string; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ var r8a2 = a2 !== b2; >r8a2 : boolean @@ -1030,9 +1030,9 @@ var r8a2 = a2 !== b2; >a2 !== b2 : boolean > : ^^^^^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >b2 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r8a3 = a3 !== b3; >r8a3 : boolean @@ -1040,9 +1040,9 @@ var r8a3 = a3 !== b3; >a3 !== b3 : boolean > : ^^^^^^^ >a3 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b3 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ var r8a4 = a4 !== b4; >r8a4 : boolean @@ -1050,9 +1050,9 @@ var r8a4 = a4 !== b4; >a4 !== b4 : boolean > : ^^^^^^^ >a4 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ >b4 : { fn(x?: string): string; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ var r8a5 = a5 !== b5; >r8a5 : boolean @@ -1060,9 +1060,9 @@ var r8a5 = a5 !== b5; >a5 !== b5 : boolean > : ^^^^^^^ >a5 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ >b5 : { fn(...x: string[]): string; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ var r8a6 = a6 !== b6; >r8a6 : boolean @@ -1070,9 +1070,9 @@ var r8a6 = a6 !== b6; >a6 !== b6 : boolean > : ^^^^^^^ >a6 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >b6 : { fn(x: string, y: number): {}; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ //var r8a7 = a7 !== b7; @@ -1082,9 +1082,9 @@ var r8b1 = b1 !== a1; >b1 !== a1 : boolean > : ^^^^^^^ >b1 : { fn(x: string): string; } -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r8b2 = b2 !== a2; >r8b2 : boolean @@ -1092,9 +1092,9 @@ var r8b2 = b2 !== a2; >b2 !== a2 : boolean > : ^^^^^^^ >b2 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a2 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ var r8b3 = b3 !== a3; >r8b3 : boolean @@ -1102,9 +1102,9 @@ var r8b3 = b3 !== a3; >b3 !== a3 : boolean > : ^^^^^^^ >b3 : { fn(x: string, y: number): string; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a3 : { fn(x: T, y: U): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var r8b4 = b4 !== a4; >r8b4 : boolean @@ -1112,9 +1112,9 @@ var r8b4 = b4 !== a4; >b4 !== a4 : boolean > : ^^^^^^^ >b4 : { fn(x?: string): string; } -> : ^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^ >a4 : { fn(x?: T): T; } -> : ^^^^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^ ^^^ var r8b5 = b5 !== a5; >r8b5 : boolean @@ -1122,9 +1122,9 @@ var r8b5 = b5 !== a5; >b5 !== a5 : boolean > : ^^^^^^^ >b5 : { fn(...x: string[]): string; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^ >a5 : { fn(...x: T[]): T; } -> : ^^^^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^ ^^^ var r8b6 = b6 !== a6; >r8b6 : boolean @@ -1132,8 +1132,8 @@ var r8b6 = b6 !== a6; >b6 !== a6 : boolean > : ^^^^^^^ >b6 : { fn(x: string, y: number): {}; } -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a6 : { fn(x: T, y: T): T; } -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ //var r8b7 = b7 !== a7; diff --git a/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnInstantiatedConstructorSignature.types b/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnInstantiatedConstructorSignature.types index 6ea3287e40501..454954ac0c783 100644 --- a/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnInstantiatedConstructorSignature.types +++ b/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnInstantiatedConstructorSignature.types @@ -119,9 +119,9 @@ var r1a1 = a1 < b1; >a1 < b1 : boolean > : ^^^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b1 : new (x: string) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r1a2 = a2 < b2; >r1a2 : boolean @@ -129,9 +129,9 @@ var r1a2 = a2 < b2; >a2 < b2 : boolean > : ^^^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b2 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r1a3 = a3 < b3; >r1a3 : boolean @@ -139,9 +139,9 @@ var r1a3 = a3 < b3; >a3 < b3 : boolean > : ^^^^^^^ >a3 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >b3 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r1a4 = a4 < b4; >r1a4 : boolean @@ -149,9 +149,9 @@ var r1a4 = a4 < b4; >a4 < b4 : boolean > : ^^^^^^^ >a4 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ >b4 : new (x?: string) => string -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r1a5 = a5 < b5; >r1a5 : boolean @@ -159,9 +159,9 @@ var r1a5 = a5 < b5; >a5 < b5 : boolean > : ^^^^^^^ >a5 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ >b5 : new (...x: string[]) => string -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r1a6 = a6 < b6; >r1a6 : boolean @@ -169,9 +169,9 @@ var r1a6 = a6 < b6; >a6 < b6 : boolean > : ^^^^^^^ >a6 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b6 : new (x: string, y: number) => {} -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ //var r1a7 = a7 < b7; @@ -181,9 +181,9 @@ var r1b1 = b1 < a1; >b1 < a1 : boolean > : ^^^^^^^ >b1 : new (x: string) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r1b2 = b2 < a2; >r1b2 : boolean @@ -191,9 +191,9 @@ var r1b2 = b2 < a2; >b2 < a2 : boolean > : ^^^^^^^ >b2 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r1b3 = b3 < a3; >r1b3 : boolean @@ -201,9 +201,9 @@ var r1b3 = b3 < a3; >b3 < a3 : boolean > : ^^^^^^^ >b3 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a3 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ var r1b4 = b4 < a4; >r1b4 : boolean @@ -211,9 +211,9 @@ var r1b4 = b4 < a4; >b4 < a4 : boolean > : ^^^^^^^ >b4 : new (x?: string) => string -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a4 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ var r1b5 = b5 < a5; >r1b5 : boolean @@ -221,9 +221,9 @@ var r1b5 = b5 < a5; >b5 < a5 : boolean > : ^^^^^^^ >b5 : new (...x: string[]) => string -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a5 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ var r1b6 = b6 < a6; >r1b6 : boolean @@ -231,9 +231,9 @@ var r1b6 = b6 < a6; >b6 < a6 : boolean > : ^^^^^^^ >b6 : new (x: string, y: number) => {} -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a6 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ //var r1b7 = b7 < a7; @@ -244,9 +244,9 @@ var r2a1 = a1 > b1; >a1 > b1 : boolean > : ^^^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b1 : new (x: string) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r2a2 = a2 > b2; >r2a2 : boolean @@ -254,9 +254,9 @@ var r2a2 = a2 > b2; >a2 > b2 : boolean > : ^^^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b2 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r2a3 = a3 > b3; >r2a3 : boolean @@ -264,9 +264,9 @@ var r2a3 = a3 > b3; >a3 > b3 : boolean > : ^^^^^^^ >a3 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >b3 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r2a4 = a4 > b4; >r2a4 : boolean @@ -274,9 +274,9 @@ var r2a4 = a4 > b4; >a4 > b4 : boolean > : ^^^^^^^ >a4 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ >b4 : new (x?: string) => string -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r2a5 = a5 > b5; >r2a5 : boolean @@ -284,9 +284,9 @@ var r2a5 = a5 > b5; >a5 > b5 : boolean > : ^^^^^^^ >a5 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ >b5 : new (...x: string[]) => string -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r2a6 = a6 > b6; >r2a6 : boolean @@ -294,9 +294,9 @@ var r2a6 = a6 > b6; >a6 > b6 : boolean > : ^^^^^^^ >a6 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b6 : new (x: string, y: number) => {} -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ //var r2a7 = a7 > b7; @@ -306,9 +306,9 @@ var r2b1 = b1 > a1; >b1 > a1 : boolean > : ^^^^^^^ >b1 : new (x: string) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r2b2 = b2 > a2; >r2b2 : boolean @@ -316,9 +316,9 @@ var r2b2 = b2 > a2; >b2 > a2 : boolean > : ^^^^^^^ >b2 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r2b3 = b3 > a3; >r2b3 : boolean @@ -326,9 +326,9 @@ var r2b3 = b3 > a3; >b3 > a3 : boolean > : ^^^^^^^ >b3 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a3 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ var r2b4 = b4 > a4; >r2b4 : boolean @@ -336,9 +336,9 @@ var r2b4 = b4 > a4; >b4 > a4 : boolean > : ^^^^^^^ >b4 : new (x?: string) => string -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a4 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ var r2b5 = b5 > a5; >r2b5 : boolean @@ -346,9 +346,9 @@ var r2b5 = b5 > a5; >b5 > a5 : boolean > : ^^^^^^^ >b5 : new (...x: string[]) => string -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a5 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ var r2b6 = b6 > a6; >r2b6 : boolean @@ -356,9 +356,9 @@ var r2b6 = b6 > a6; >b6 > a6 : boolean > : ^^^^^^^ >b6 : new (x: string, y: number) => {} -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a6 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ //var r2b7 = b7 > a7; @@ -369,9 +369,9 @@ var r3a1 = a1 <= b1; >a1 <= b1 : boolean > : ^^^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b1 : new (x: string) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r3a2 = a2 <= b2; >r3a2 : boolean @@ -379,9 +379,9 @@ var r3a2 = a2 <= b2; >a2 <= b2 : boolean > : ^^^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b2 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r3a3 = a3 <= b3; >r3a3 : boolean @@ -389,9 +389,9 @@ var r3a3 = a3 <= b3; >a3 <= b3 : boolean > : ^^^^^^^ >a3 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >b3 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r3a4 = a4 <= b4; >r3a4 : boolean @@ -399,9 +399,9 @@ var r3a4 = a4 <= b4; >a4 <= b4 : boolean > : ^^^^^^^ >a4 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ >b4 : new (x?: string) => string -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r3a5 = a5 <= b5; >r3a5 : boolean @@ -409,9 +409,9 @@ var r3a5 = a5 <= b5; >a5 <= b5 : boolean > : ^^^^^^^ >a5 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ >b5 : new (...x: string[]) => string -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r3a6 = a6 <= b6; >r3a6 : boolean @@ -419,9 +419,9 @@ var r3a6 = a6 <= b6; >a6 <= b6 : boolean > : ^^^^^^^ >a6 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b6 : new (x: string, y: number) => {} -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ //var r3a7 = a7 <= b7; @@ -431,9 +431,9 @@ var r3b1 = b1 <= a1; >b1 <= a1 : boolean > : ^^^^^^^ >b1 : new (x: string) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r3b2 = b2 <= a2; >r3b2 : boolean @@ -441,9 +441,9 @@ var r3b2 = b2 <= a2; >b2 <= a2 : boolean > : ^^^^^^^ >b2 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r3b3 = b3 <= a3; >r3b3 : boolean @@ -451,9 +451,9 @@ var r3b3 = b3 <= a3; >b3 <= a3 : boolean > : ^^^^^^^ >b3 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a3 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ var r3b4 = b4 <= a4; >r3b4 : boolean @@ -461,9 +461,9 @@ var r3b4 = b4 <= a4; >b4 <= a4 : boolean > : ^^^^^^^ >b4 : new (x?: string) => string -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a4 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ var r3b5 = b5 <= a5; >r3b5 : boolean @@ -471,9 +471,9 @@ var r3b5 = b5 <= a5; >b5 <= a5 : boolean > : ^^^^^^^ >b5 : new (...x: string[]) => string -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a5 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ var r3b6 = b6 <= a6; >r3b6 : boolean @@ -481,9 +481,9 @@ var r3b6 = b6 <= a6; >b6 <= a6 : boolean > : ^^^^^^^ >b6 : new (x: string, y: number) => {} -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a6 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ //var r3b7 = b7 <= a7; @@ -494,9 +494,9 @@ var r4a1 = a1 >= b1; >a1 >= b1 : boolean > : ^^^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b1 : new (x: string) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r4a2 = a2 >= b2; >r4a2 : boolean @@ -504,9 +504,9 @@ var r4a2 = a2 >= b2; >a2 >= b2 : boolean > : ^^^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b2 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r4a3 = a3 >= b3; >r4a3 : boolean @@ -514,9 +514,9 @@ var r4a3 = a3 >= b3; >a3 >= b3 : boolean > : ^^^^^^^ >a3 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >b3 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r4a4 = a4 >= b4; >r4a4 : boolean @@ -524,9 +524,9 @@ var r4a4 = a4 >= b4; >a4 >= b4 : boolean > : ^^^^^^^ >a4 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ >b4 : new (x?: string) => string -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r4a5 = a5 >= b5; >r4a5 : boolean @@ -534,9 +534,9 @@ var r4a5 = a5 >= b5; >a5 >= b5 : boolean > : ^^^^^^^ >a5 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ >b5 : new (...x: string[]) => string -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r4a6 = a6 >= b6; >r4a6 : boolean @@ -544,9 +544,9 @@ var r4a6 = a6 >= b6; >a6 >= b6 : boolean > : ^^^^^^^ >a6 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b6 : new (x: string, y: number) => {} -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ //var r4a7 = a7 >= b7; @@ -556,9 +556,9 @@ var r4b1 = b1 >= a1; >b1 >= a1 : boolean > : ^^^^^^^ >b1 : new (x: string) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r4b2 = b2 >= a2; >r4b2 : boolean @@ -566,9 +566,9 @@ var r4b2 = b2 >= a2; >b2 >= a2 : boolean > : ^^^^^^^ >b2 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r4b3 = b3 >= a3; >r4b3 : boolean @@ -576,9 +576,9 @@ var r4b3 = b3 >= a3; >b3 >= a3 : boolean > : ^^^^^^^ >b3 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a3 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ var r4b4 = b4 >= a4; >r4b4 : boolean @@ -586,9 +586,9 @@ var r4b4 = b4 >= a4; >b4 >= a4 : boolean > : ^^^^^^^ >b4 : new (x?: string) => string -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a4 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ var r4b5 = b5 >= a5; >r4b5 : boolean @@ -596,9 +596,9 @@ var r4b5 = b5 >= a5; >b5 >= a5 : boolean > : ^^^^^^^ >b5 : new (...x: string[]) => string -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a5 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ var r4b6 = b6 >= a6; >r4b6 : boolean @@ -606,9 +606,9 @@ var r4b6 = b6 >= a6; >b6 >= a6 : boolean > : ^^^^^^^ >b6 : new (x: string, y: number) => {} -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a6 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ //var r4b7 = b7 >= a7; @@ -619,9 +619,9 @@ var r5a1 = a1 == b1; >a1 == b1 : boolean > : ^^^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b1 : new (x: string) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r5a2 = a2 == b2; >r5a2 : boolean @@ -629,9 +629,9 @@ var r5a2 = a2 == b2; >a2 == b2 : boolean > : ^^^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b2 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r5a3 = a3 == b3; >r5a3 : boolean @@ -639,9 +639,9 @@ var r5a3 = a3 == b3; >a3 == b3 : boolean > : ^^^^^^^ >a3 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >b3 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r5a4 = a4 == b4; >r5a4 : boolean @@ -649,9 +649,9 @@ var r5a4 = a4 == b4; >a4 == b4 : boolean > : ^^^^^^^ >a4 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ >b4 : new (x?: string) => string -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r5a5 = a5 == b5; >r5a5 : boolean @@ -659,9 +659,9 @@ var r5a5 = a5 == b5; >a5 == b5 : boolean > : ^^^^^^^ >a5 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ >b5 : new (...x: string[]) => string -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r5a6 = a6 == b6; >r5a6 : boolean @@ -669,9 +669,9 @@ var r5a6 = a6 == b6; >a6 == b6 : boolean > : ^^^^^^^ >a6 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b6 : new (x: string, y: number) => {} -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ //var r5a7 = a7 == b7; @@ -681,9 +681,9 @@ var r5b1 = b1 == a1; >b1 == a1 : boolean > : ^^^^^^^ >b1 : new (x: string) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r5b2 = b2 == a2; >r5b2 : boolean @@ -691,9 +691,9 @@ var r5b2 = b2 == a2; >b2 == a2 : boolean > : ^^^^^^^ >b2 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r5b3 = b3 == a3; >r5b3 : boolean @@ -701,9 +701,9 @@ var r5b3 = b3 == a3; >b3 == a3 : boolean > : ^^^^^^^ >b3 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a3 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ var r5b4 = b4 == a4; >r5b4 : boolean @@ -711,9 +711,9 @@ var r5b4 = b4 == a4; >b4 == a4 : boolean > : ^^^^^^^ >b4 : new (x?: string) => string -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a4 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ var r5b5 = b5 == a5; >r5b5 : boolean @@ -721,9 +721,9 @@ var r5b5 = b5 == a5; >b5 == a5 : boolean > : ^^^^^^^ >b5 : new (...x: string[]) => string -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a5 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ var r5b6 = b6 == a6; >r5b6 : boolean @@ -731,9 +731,9 @@ var r5b6 = b6 == a6; >b6 == a6 : boolean > : ^^^^^^^ >b6 : new (x: string, y: number) => {} -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a6 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ //var r5b7 = b7 == a7; @@ -744,9 +744,9 @@ var r6a1 = a1 != b1; >a1 != b1 : boolean > : ^^^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b1 : new (x: string) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r6a2 = a2 != b2; >r6a2 : boolean @@ -754,9 +754,9 @@ var r6a2 = a2 != b2; >a2 != b2 : boolean > : ^^^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b2 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r6a3 = a3 != b3; >r6a3 : boolean @@ -764,9 +764,9 @@ var r6a3 = a3 != b3; >a3 != b3 : boolean > : ^^^^^^^ >a3 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >b3 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r6a4 = a4 != b4; >r6a4 : boolean @@ -774,9 +774,9 @@ var r6a4 = a4 != b4; >a4 != b4 : boolean > : ^^^^^^^ >a4 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ >b4 : new (x?: string) => string -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r6a5 = a5 != b5; >r6a5 : boolean @@ -784,9 +784,9 @@ var r6a5 = a5 != b5; >a5 != b5 : boolean > : ^^^^^^^ >a5 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ >b5 : new (...x: string[]) => string -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r6a6 = a6 != b6; >r6a6 : boolean @@ -794,9 +794,9 @@ var r6a6 = a6 != b6; >a6 != b6 : boolean > : ^^^^^^^ >a6 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b6 : new (x: string, y: number) => {} -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ //var r6a7 = a7 != b7; @@ -806,9 +806,9 @@ var r6b1 = b1 != a1; >b1 != a1 : boolean > : ^^^^^^^ >b1 : new (x: string) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r6b2 = b2 != a2; >r6b2 : boolean @@ -816,9 +816,9 @@ var r6b2 = b2 != a2; >b2 != a2 : boolean > : ^^^^^^^ >b2 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r6b3 = b3 != a3; >r6b3 : boolean @@ -826,9 +826,9 @@ var r6b3 = b3 != a3; >b3 != a3 : boolean > : ^^^^^^^ >b3 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a3 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ var r6b4 = b4 != a4; >r6b4 : boolean @@ -836,9 +836,9 @@ var r6b4 = b4 != a4; >b4 != a4 : boolean > : ^^^^^^^ >b4 : new (x?: string) => string -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a4 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ var r6b5 = b5 != a5; >r6b5 : boolean @@ -846,9 +846,9 @@ var r6b5 = b5 != a5; >b5 != a5 : boolean > : ^^^^^^^ >b5 : new (...x: string[]) => string -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a5 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ var r6b6 = b6 != a6; >r6b6 : boolean @@ -856,9 +856,9 @@ var r6b6 = b6 != a6; >b6 != a6 : boolean > : ^^^^^^^ >b6 : new (x: string, y: number) => {} -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a6 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ //var r6b7 = b7 != a7; @@ -869,9 +869,9 @@ var r7a1 = a1 === b1; >a1 === b1 : boolean > : ^^^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b1 : new (x: string) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r7a2 = a2 === b2; >r7a2 : boolean @@ -879,9 +879,9 @@ var r7a2 = a2 === b2; >a2 === b2 : boolean > : ^^^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b2 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r7a3 = a3 === b3; >r7a3 : boolean @@ -889,9 +889,9 @@ var r7a3 = a3 === b3; >a3 === b3 : boolean > : ^^^^^^^ >a3 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >b3 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r7a4 = a4 === b4; >r7a4 : boolean @@ -899,9 +899,9 @@ var r7a4 = a4 === b4; >a4 === b4 : boolean > : ^^^^^^^ >a4 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ >b4 : new (x?: string) => string -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r7a5 = a5 === b5; >r7a5 : boolean @@ -909,9 +909,9 @@ var r7a5 = a5 === b5; >a5 === b5 : boolean > : ^^^^^^^ >a5 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ >b5 : new (...x: string[]) => string -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r7a6 = a6 === b6; >r7a6 : boolean @@ -919,9 +919,9 @@ var r7a6 = a6 === b6; >a6 === b6 : boolean > : ^^^^^^^ >a6 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b6 : new (x: string, y: number) => {} -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ //var r7a7 = a7 === b7; @@ -931,9 +931,9 @@ var r7b1 = b1 === a1; >b1 === a1 : boolean > : ^^^^^^^ >b1 : new (x: string) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r7b2 = b2 === a2; >r7b2 : boolean @@ -941,9 +941,9 @@ var r7b2 = b2 === a2; >b2 === a2 : boolean > : ^^^^^^^ >b2 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r7b3 = b3 === a3; >r7b3 : boolean @@ -951,9 +951,9 @@ var r7b3 = b3 === a3; >b3 === a3 : boolean > : ^^^^^^^ >b3 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a3 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ var r7b4 = b4 === a4; >r7b4 : boolean @@ -961,9 +961,9 @@ var r7b4 = b4 === a4; >b4 === a4 : boolean > : ^^^^^^^ >b4 : new (x?: string) => string -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a4 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ var r7b5 = b5 === a5; >r7b5 : boolean @@ -971,9 +971,9 @@ var r7b5 = b5 === a5; >b5 === a5 : boolean > : ^^^^^^^ >b5 : new (...x: string[]) => string -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a5 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ var r7b6 = b6 === a6; >r7b6 : boolean @@ -981,9 +981,9 @@ var r7b6 = b6 === a6; >b6 === a6 : boolean > : ^^^^^^^ >b6 : new (x: string, y: number) => {} -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a6 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ //var r7b7 = b7 === a7; @@ -994,9 +994,9 @@ var r8a1 = a1 !== b1; >a1 !== b1 : boolean > : ^^^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b1 : new (x: string) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r8a2 = a2 !== b2; >r8a2 : boolean @@ -1004,9 +1004,9 @@ var r8a2 = a2 !== b2; >a2 !== b2 : boolean > : ^^^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >b2 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r8a3 = a3 !== b3; >r8a3 : boolean @@ -1014,9 +1014,9 @@ var r8a3 = a3 !== b3; >a3 !== b3 : boolean > : ^^^^^^^ >a3 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >b3 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r8a4 = a4 !== b4; >r8a4 : boolean @@ -1024,9 +1024,9 @@ var r8a4 = a4 !== b4; >a4 !== b4 : boolean > : ^^^^^^^ >a4 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ >b4 : new (x?: string) => string -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ var r8a5 = a5 !== b5; >r8a5 : boolean @@ -1034,9 +1034,9 @@ var r8a5 = a5 !== b5; >a5 !== b5 : boolean > : ^^^^^^^ >a5 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ >b5 : new (...x: string[]) => string -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r8a6 = a6 !== b6; >r8a6 : boolean @@ -1044,9 +1044,9 @@ var r8a6 = a6 !== b6; >a6 !== b6 : boolean > : ^^^^^^^ >a6 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b6 : new (x: string, y: number) => {} -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ //var r8a7 = a7 !== b7; @@ -1056,9 +1056,9 @@ var r8b1 = b1 !== a1; >b1 !== a1 : boolean > : ^^^^^^^ >b1 : new (x: string) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r8b2 = b2 !== a2; >r8b2 : boolean @@ -1066,9 +1066,9 @@ var r8b2 = b2 !== a2; >b2 !== a2 : boolean > : ^^^^^^^ >b2 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r8b3 = b3 !== a3; >r8b3 : boolean @@ -1076,9 +1076,9 @@ var r8b3 = b3 !== a3; >b3 !== a3 : boolean > : ^^^^^^^ >b3 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a3 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ var r8b4 = b4 !== a4; >r8b4 : boolean @@ -1086,9 +1086,9 @@ var r8b4 = b4 !== a4; >b4 !== a4 : boolean > : ^^^^^^^ >b4 : new (x?: string) => string -> : ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^ >a4 : new (x?: T) => T -> : ^^^^^ ^^ ^^^ ^^^^^^ +> : ^^^^^ ^^ ^^^ ^^^^^ var r8b5 = b5 !== a5; >r8b5 : boolean @@ -1096,9 +1096,9 @@ var r8b5 = b5 !== a5; >b5 !== a5 : boolean > : ^^^^^^^ >b5 : new (...x: string[]) => string -> : ^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >a5 : new (...x: T[]) => T -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^ ^^ ^^^^^ var r8b6 = b6 !== a6; >r8b6 : boolean @@ -1106,8 +1106,8 @@ var r8b6 = b6 !== a6; >b6 !== a6 : boolean > : ^^^^^^^ >b6 : new (x: string, y: number) => {} -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a6 : new (x: T, y: T) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ //var r8b7 = b7 !== a7; diff --git a/tests/baselines/reference/completionsStringMethods.baseline b/tests/baselines/reference/completionsStringMethods.baseline index bffbebf8fd576..f8406ab6904f1 100644 --- a/tests/baselines/reference/completionsStringMethods.baseline +++ b/tests/baselines/reference/completionsStringMethods.baseline @@ -10,7 +10,7 @@ // | (method) String.lastIndexOf(searchString: string, position?: number): number // | (property) String.length: number // | (method) String.localeCompare(that: string): number (+1 overload) -// | (method) String.match(regexp: string | RegExp): RegExpMatchArray +// | (method) String.match(regexp: string | RegExp): RegExpMatchArray | null // | (method) String.replace(searchValue: string | RegExp, replaceValue: string): string (+1 overload) // | (method) String.search(regexp: string | RegExp): number // | (method) String.slice(start?: number, end?: number): string @@ -890,6 +890,22 @@ { "text": "RegExpMatchArray", "kind": "interfaceName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "null", + "kind": "keyword" } ], "documentation": [ diff --git a/tests/baselines/reference/complexClassRelationships.types b/tests/baselines/reference/complexClassRelationships.types index 4a523de25e84c..215b0b3f3a87d 100644 --- a/tests/baselines/reference/complexClassRelationships.types +++ b/tests/baselines/reference/complexClassRelationships.types @@ -124,11 +124,11 @@ class Foo { >BaseCollection : typeof BaseCollection > : ^^^^^^^^^^^^^^^^^^^^^ >Derived.createEmpty : () => Derived -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >Derived : typeof Derived > : ^^^^^^^^^^^^^^ >createEmpty : () => Derived -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } } diff --git a/tests/baselines/reference/complexRecursiveCollections.types b/tests/baselines/reference/complexRecursiveCollections.types index 6cef8ca2f2c38..eba0f913b22ab 100644 --- a/tests/baselines/reference/complexRecursiveCollections.types +++ b/tests/baselines/reference/complexRecursiveCollections.types @@ -3,7 +3,7 @@ === Performance Stats === Assignability cache: 10,000 Type Count: 50,000 -Instantiation count: 250,000 +Instantiation count: 100,000 Symbol count: 100,000 === complex.ts === @@ -41,7 +41,7 @@ interface Collection { // these seem necessary to push it over the top for memory usage reduce(reducer: (reduction: R, value: V, key: K, iter: this) => R, initialReduction: R, context?: any): R; >reduce : { (reducer: (reduction: R, value: V, key: K, iter: this) => R, initialReduction: R, context?: any): R; (reducer: (reduction: V | R_1, value: V, key: K, iter: this) => R_1): R_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >reducer : (reduction: R, value: V, key: K, iter: this) => R > : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >reduction : R @@ -59,7 +59,7 @@ interface Collection { reduce(reducer: (reduction: V | R, value: V, key: K, iter: this) => R): R; >reduce : { (reducer: (reduction: R_1, value: V, key: K, iter: this) => R_1, initialReduction: R_1, context?: any): R_1; (reducer: (reduction: V | R, value: V, key: K, iter: this) => R): R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >reducer : (reduction: V | R, value: V, key: K, iter: this) => R > : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >reduction : V | R @@ -325,7 +325,7 @@ declare module Immutable { update(index: number, notSetValue: T, updater: (value: T) => T): this; >update : { (index: number, notSetValue: T, updater: (value: T) => T): this; (index: number, updater: (value: T) => T): this; (updater: (value: this) => R): R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >index : number > : ^^^^^^ >notSetValue : T @@ -337,7 +337,7 @@ declare module Immutable { update(index: number, updater: (value: T) => T): this; >update : { (index: number, notSetValue: T, updater: (value: T) => T): this; (index: number, updater: (value: T) => T): this; (updater: (value: this) => R): R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >index : number > : ^^^^^^ >updater : (value: T) => T @@ -347,7 +347,7 @@ declare module Immutable { update(updater: (value: this) => R): R; >update : { (index: number, notSetValue: T, updater: (value: T) => T): this; (index: number, updater: (value: T) => T): this; (updater: (value: this) => R): R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >updater : (value: this) => R > : ^ ^^ ^^^^^ >value : this @@ -430,7 +430,7 @@ declare module Immutable { updateIn(keyPath: Iterable, notSetValue: any, updater: (value: any) => any): this; >updateIn : { (keyPath: Iterable, notSetValue: any, updater: (value: any) => any): this; (keyPath: Iterable, updater: (value: any) => any): this; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >keyPath : Iterable > : ^^^^^^^^^^^^^ >notSetValue : any @@ -442,7 +442,7 @@ declare module Immutable { updateIn(keyPath: Iterable, updater: (value: any) => any): this; >updateIn : { (keyPath: Iterable, notSetValue: any, updater: (value: any) => any): this; (keyPath: Iterable, updater: (value: any) => any): this; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >keyPath : Iterable > : ^^^^^^^^^^^^^ >updater : (value: any) => any @@ -520,7 +520,7 @@ declare module Immutable { filter(predicate: (value: T, index: number, iter: this) => value is F, context?: any): List; >filter : { (predicate: (value: T, index: number, iter: this) => value is F, context?: any): List; (predicate: (value: T, index: number, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: T, index: number, iter: this) => value is F > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : T @@ -534,7 +534,7 @@ declare module Immutable { filter(predicate: (value: T, index: number, iter: this) => any, context?: any): this; >filter : { (predicate: (value: T, index: number, iter: this) => value is F, context?: any): List; (predicate: (value: T, index: number, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: T, index: number, iter: this) => any > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : T @@ -633,7 +633,7 @@ declare module Immutable { update(key: K, notSetValue: V, updater: (value: V) => V): this; >update : { (key: K, notSetValue: V, updater: (value: V) => V): this; (key: K, updater: (value: V) => V): this; (updater: (value: this) => R): R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >key : K > : ^ >notSetValue : V @@ -645,7 +645,7 @@ declare module Immutable { update(key: K, updater: (value: V) => V): this; >update : { (key: K, notSetValue: V, updater: (value: V) => V): this; (key: K, updater: (value: V) => V): this; (updater: (value: this) => R): R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >key : K > : ^ >updater : (value: V) => V @@ -655,7 +655,7 @@ declare module Immutable { update(updater: (value: this) => R): R; >update : { (key: K, notSetValue: V, updater: (value: V) => V): this; (key: K, updater: (value: V) => V): this; (updater: (value: this) => R): R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >updater : (value: this) => R > : ^ ^^ ^^^^^ >value : this @@ -732,7 +732,7 @@ declare module Immutable { updateIn(keyPath: Iterable, notSetValue: any, updater: (value: any) => any): this; >updateIn : { (keyPath: Iterable, notSetValue: any, updater: (value: any) => any): this; (keyPath: Iterable, updater: (value: any) => any): this; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >keyPath : Iterable > : ^^^^^^^^^^^^^ >notSetValue : any @@ -744,7 +744,7 @@ declare module Immutable { updateIn(keyPath: Iterable, updater: (value: any) => any): this; >updateIn : { (keyPath: Iterable, notSetValue: any, updater: (value: any) => any): this; (keyPath: Iterable, updater: (value: any) => any): this; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >keyPath : Iterable > : ^^^^^^^^^^^^^ >updater : (value: any) => any @@ -787,14 +787,14 @@ declare module Immutable { // Sequence algorithms concat(...collections: Array>): Map; ->concat : { (...collections: Array>): Map; (...collections: Array<{ [key: string]: C; }>): Map; } -> : ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>concat : { (...collections: Array>): Map; (...collections: Array<{ [key: string]: C; }>): Map; } +> : ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^^^ ^^ ^^^ ^^^ >collections : Iterable<[KC, VC]>[] > : ^^^^^^^^^^^^^^^^^^^^ concat(...collections: Array<{[key: string]: C}>): Map; >concat : { (...collections: Array>): Map; (...collections: Array<{ [key: string]: C; }>): Map; } -> : ^^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^^^ ^^ ^^^ ^^^ >collections : { [key: string]: C; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^ >key : string @@ -858,7 +858,7 @@ declare module Immutable { filter(predicate: (value: V, key: K, iter: this) => value is F, context?: any): Map; >filter : { (predicate: (value: V, key: K, iter: this) => value is F, context?: any): Map; (predicate: (value: V, key: K, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: V, key: K, iter: this) => value is F > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : V @@ -872,7 +872,7 @@ declare module Immutable { filter(predicate: (value: V, key: K, iter: this) => any, context?: any): this; >filter : { (predicate: (value: V, key: K, iter: this) => value is F, context?: any): Map; (predicate: (value: V, key: K, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: V, key: K, iter: this) => any > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : V @@ -925,14 +925,14 @@ declare module Immutable { export interface OrderedMap extends Map { // Sequence algorithms concat(...collections: Array>): OrderedMap; ->concat : { (...collections: Array>): OrderedMap; (...collections: Array<{ [key: string]: C; }>): OrderedMap; } -> : ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>concat : { (...collections: Array>): OrderedMap; (...collections: Array<{ [key: string]: C; }>): OrderedMap; } +> : ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^^^ ^^ ^^^ ^^^ >collections : Iterable<[KC, VC]>[] > : ^^^^^^^^^^^^^^^^^^^^ concat(...collections: Array<{[key: string]: C}>): OrderedMap; >concat : { (...collections: Array>): OrderedMap; (...collections: Array<{ [key: string]: C; }>): OrderedMap; } -> : ^^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^^^ ^^ ^^^ ^^^ >collections : { [key: string]: C; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^ >key : string @@ -996,7 +996,7 @@ declare module Immutable { filter(predicate: (value: V, key: K, iter: this) => value is F, context?: any): OrderedMap; >filter : { (predicate: (value: V, key: K, iter: this) => value is F, context?: any): OrderedMap; (predicate: (value: V, key: K, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: V, key: K, iter: this) => value is F > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : V @@ -1010,7 +1010,7 @@ declare module Immutable { filter(predicate: (value: V, key: K, iter: this) => any, context?: any): this; >filter : { (predicate: (value: V, key: K, iter: this) => value is F, context?: any): OrderedMap; (predicate: (value: V, key: K, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: V, key: K, iter: this) => any > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : V @@ -1040,13 +1040,13 @@ declare module Immutable { function fromKeys(iter: Collection): Set; >fromKeys : { (iter: Collection): Set; (obj: { [key: string]: any; }): Set; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >iter : Collection > : ^^^^^^^^^^^^^^^^^^ function fromKeys(obj: {[key: string]: any}): Set; >fromKeys : { (iter: Collection): Set; (obj: { [key: string]: any; }): Set; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >obj : { [key: string]: any; } > : ^^^^^^^^^^^^^^^^^^^^^^^ >key : string @@ -1183,7 +1183,7 @@ declare module Immutable { filter(predicate: (value: T, key: never, iter: this) => value is F, context?: any): Set; >filter : { (predicate: (value: T, key: never, iter: this) => value is F, context?: any): Set; (predicate: (value: T, key: never, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: T, key: never, iter: this) => value is F > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : T @@ -1197,7 +1197,7 @@ declare module Immutable { filter(predicate: (value: T, key: never, iter: this) => any, context?: any): this; >filter : { (predicate: (value: T, key: never, iter: this) => value is F, context?: any): Set; (predicate: (value: T, key: never, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: T, key: never, iter: this) => any > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : T @@ -1227,13 +1227,13 @@ declare module Immutable { function fromKeys(iter: Collection): OrderedSet; >fromKeys : { (iter: Collection): OrderedSet; (obj: { [key: string]: any; }): OrderedSet; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >iter : Collection > : ^^^^^^^^^^^^^^^^^^ function fromKeys(obj: {[key: string]: any}): OrderedSet; >fromKeys : { (iter: Collection): OrderedSet; (obj: { [key: string]: any; }): OrderedSet; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >obj : { [key: string]: any; } > : ^^^^^^^^^^^^^^^^^^^^^^^ >key : string @@ -1291,7 +1291,7 @@ declare module Immutable { filter(predicate: (value: T, key: never, iter: this) => value is F, context?: any): OrderedSet; >filter : { (predicate: (value: T, key: never, iter: this) => value is F, context?: any): OrderedSet; (predicate: (value: T, key: never, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: T, key: never, iter: this) => value is F > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : T @@ -1305,7 +1305,7 @@ declare module Immutable { filter(predicate: (value: T, key: never, iter: this) => any, context?: any): this; >filter : { (predicate: (value: T, key: never, iter: this) => value is F, context?: any): OrderedSet; (predicate: (value: T, key: never, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: T, key: never, iter: this) => any > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : T @@ -1324,8 +1324,8 @@ declare module Immutable { > : ^^^^^^^^^^^^^^^^^^^^^^ zipWith(zipper: (value: T, otherValue: U) => Z, otherCollection: Collection): OrderedSet; ->zipWith : { (zipper: (value: T, otherValue: U) => Z, otherCollection: Collection): OrderedSet; (zipper: (value: T, otherValue: U_1, thirdValue: V) => Z_1, otherCollection: Collection, thirdCollection: Collection): OrderedSet; (zipper: (...any: Array) => Z_2, ...collections: Array>): OrderedSet; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>zipWith : { (zipper: (value: T, otherValue: U) => Z, otherCollection: Collection): OrderedSet; (zipper: (value: T, otherValue: U_1, thirdValue: V) => Z_1, otherCollection: Collection, thirdCollection: Collection): OrderedSet; (zipper: (...any: Array) => Z_1, ...collections: Array>): OrderedSet; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >zipper : (value: T, otherValue: U) => Z > : ^ ^^ ^^ ^^ ^^^^^ >value : T @@ -1336,8 +1336,8 @@ declare module Immutable { > : ^^^^^^^^^^^^^^^^^^ zipWith(zipper: (value: T, otherValue: U, thirdValue: V) => Z, otherCollection: Collection, thirdCollection: Collection): OrderedSet; ->zipWith : { (zipper: (value: T, otherValue: U_1) => Z_1, otherCollection: Collection): OrderedSet; (zipper: (value: T, otherValue: U, thirdValue: V) => Z, otherCollection: Collection, thirdCollection: Collection): OrderedSet; (zipper: (...any: Array) => Z_2, ...collections: Array>): OrderedSet; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>zipWith : { (zipper: (value: T, otherValue: U_1) => Z_1, otherCollection: Collection): OrderedSet; (zipper: (value: T, otherValue: U, thirdValue: V) => Z, otherCollection: Collection, thirdCollection: Collection): OrderedSet; (zipper: (...any: Array) => Z_1, ...collections: Array>): OrderedSet; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >zipper : (value: T, otherValue: U, thirdValue: V) => Z > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : T @@ -1352,8 +1352,8 @@ declare module Immutable { > : ^^^^^^^^^^^^^^^^^^ zipWith(zipper: (...any: Array) => Z, ...collections: Array>): OrderedSet; ->zipWith : { (zipper: (value: T, otherValue: U) => Z_1, otherCollection: Collection): OrderedSet; (zipper: (value: T, otherValue: U_1, thirdValue: V) => Z_2, otherCollection: Collection, thirdCollection: Collection): OrderedSet; (zipper: (...any: Array) => Z, ...collections: Array>): OrderedSet; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ +>zipWith : { (zipper: (value: T, otherValue: U) => Z_1, otherCollection: Collection): OrderedSet; (zipper: (value: T, otherValue: U, thirdValue: V) => Z_1, otherCollection: Collection, thirdCollection: Collection): OrderedSet; (zipper: (...any: Array) => Z, ...collections: Array>): OrderedSet; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >zipper : (...any: Array) => Z > : ^^^^ ^^ ^^^^^ >any : any[] @@ -1491,7 +1491,7 @@ declare module Immutable { filter(predicate: (value: T, index: number, iter: this) => value is F, context?: any): Set; >filter : { (predicate: (value: T, index: number, iter: this) => value is F, context?: any): Set; (predicate: (value: T, index: number, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: T, index: number, iter: this) => value is F > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : T @@ -1505,7 +1505,7 @@ declare module Immutable { filter(predicate: (value: T, index: number, iter: this) => any, context?: any): this; >filter : { (predicate: (value: T, index: number, iter: this) => value is F, context?: any): Set; (predicate: (value: T, index: number, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: T, index: number, iter: this) => any > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : T @@ -1580,7 +1580,7 @@ declare module Immutable { get(key: K): T[K]; >get : (key: K) => T[K] -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >key : K > : ^ @@ -1611,7 +1611,7 @@ declare module Immutable { // Persistent changes set(key: K, value: T[K]): this; >set : (key: K, value: T[K]) => this -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >key : K > : ^ >value : T[K] @@ -1619,7 +1619,7 @@ declare module Immutable { update(key: K, updater: (value: T[K]) => T[K]): this; >update : (key: K, updater: (value: T[K]) => T[K]) => this -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >key : K > : ^ >updater : (value: T[K]) => T[K] @@ -1669,13 +1669,13 @@ declare module Immutable { delete(key: K): this; >delete : (key: K) => this -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >key : K > : ^ remove(key: K): this; >remove : (key: K) => this -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >key : K > : ^ @@ -1812,16 +1812,16 @@ declare module Immutable { export module Keyed {} export function Keyed(collection: Iterable<[K, V]>): Seq.Keyed; ->Keyed : { (collection: Iterable<[K, V]>): Seq.Keyed; (obj: { [key: string]: V_1; }): Keyed; (): Keyed; (): Keyed; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Keyed : { (collection: Iterable<[K, V]>): Seq.Keyed; (obj: { [key: string]: V_1; }): Seq.Keyed; (): Seq.Keyed; (): Seq.Keyed; } +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^^^^^ ^^^ >collection : Iterable<[K, V]> > : ^^^^^^^^^^^^^^^^ >Seq : any > : ^^^ export function Keyed(obj: {[key: string]: V}): Seq.Keyed; ->Keyed : { (collection: Iterable<[K, V_1]>): Keyed; (obj: { [key: string]: V; }): Seq.Keyed; (): Keyed; (): Keyed; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Keyed : { (collection: Iterable<[K, V_1]>): Seq.Keyed; (obj: { [key: string]: V; }): Seq.Keyed; (): Seq.Keyed; (): Seq.Keyed; } +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^^^^^ ^^^ >obj : { [key: string]: V; } > : ^^^^^^^^^^^^^^^^^^^^^ >key : string @@ -1830,14 +1830,14 @@ declare module Immutable { > : ^^^ export function Keyed(): Seq.Keyed; ->Keyed : { (collection: Iterable<[K_1, V_1]>): Keyed; (obj: { [key: string]: V_2; }): Keyed; (): Seq.Keyed; (): Keyed; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +>Keyed : { (collection: Iterable<[K_1, V_1]>): Seq.Keyed; (obj: { [key: string]: V_1; }): Seq.Keyed; (): Seq.Keyed; (): Seq.Keyed; } +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^^^^^ ^^^ >Seq : any > : ^^^ export function Keyed(): Seq.Keyed; ->Keyed : { (collection: Iterable<[K, V]>): Keyed; (obj: { [key: string]: V_1; }): Keyed; (): Keyed; (): Seq.Keyed; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +>Keyed : { (collection: Iterable<[K, V]>): Seq.Keyed; (obj: { [key: string]: V; }): Seq.Keyed; (): Seq.Keyed; (): Seq.Keyed; } +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^^^^^ ^^^ >Seq : any > : ^^^ @@ -1860,16 +1860,16 @@ declare module Immutable { > : ^^^^^^ concat(...collections: Array>): Seq.Keyed; ->concat : { (...collections: Array>): Seq.Keyed; (...collections: Array<{ [key: string]: C; }>): Keyed; } -> : ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>concat : { (...collections: Array>): Seq.Keyed; (...collections: Array<{ [key: string]: C; }>): Seq.Keyed; } +> : ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^^^ ^^ ^^^ ^^^ >collections : Iterable<[KC, VC]>[] > : ^^^^^^^^^^^^^^^^^^^^ >Seq : any > : ^^^ concat(...collections: Array<{[key: string]: C}>): Seq.Keyed; ->concat : { (...collections: Array>): Keyed; (...collections: Array<{ [key: string]: C; }>): Seq.Keyed; } -> : ^^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^ ^^^ +>concat : { (...collections: Array>): Seq.Keyed; (...collections: Array<{ [key: string]: C; }>): Seq.Keyed; } +> : ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^^^ ^^ ^^^ ^^^ >collections : { [key: string]: C; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^ >key : string @@ -1943,7 +1943,7 @@ declare module Immutable { filter(predicate: (value: V, key: K, iter: this) => value is F, context?: any): Seq.Keyed; >filter : { (predicate: (value: V, key: K, iter: this) => value is F, context?: any): Seq.Keyed; (predicate: (value: V, key: K, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: V, key: K, iter: this) => value is F > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : V @@ -1958,8 +1958,8 @@ declare module Immutable { > : ^^^ filter(predicate: (value: V, key: K, iter: this) => any, context?: any): this; ->filter : { (predicate: (value: V, key: K, iter: this) => value is F, context?: any): Keyed; (predicate: (value: V, key: K, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ +>filter : { (predicate: (value: V, key: K, iter: this) => value is F, context?: any): Seq.Keyed; (predicate: (value: V, key: K, iter: this) => any, context?: any): this; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: V, key: K, iter: this) => any > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : V @@ -2061,7 +2061,7 @@ declare module Immutable { filter(predicate: (value: T, index: number, iter: this) => value is F, context?: any): Seq.Indexed; >filter : { (predicate: (value: T, index: number, iter: this) => value is F, context?: any): Seq.Indexed; (predicate: (value: T, index: number, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: T, index: number, iter: this) => value is F > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : T @@ -2076,8 +2076,8 @@ declare module Immutable { > : ^^^ filter(predicate: (value: T, index: number, iter: this) => any, context?: any): this; ->filter : { (predicate: (value: T, index: number, iter: this) => value is F, context?: any): Indexed; (predicate: (value: T, index: number, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ +>filter : { (predicate: (value: T, index: number, iter: this) => value is F, context?: any): Seq.Indexed; (predicate: (value: T, index: number, iter: this) => any, context?: any): this; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: T, index: number, iter: this) => any > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : T @@ -2179,7 +2179,7 @@ declare module Immutable { filter(predicate: (value: T, key: never, iter: this) => value is F, context?: any): Seq.Set; >filter : { (predicate: (value: T, key: never, iter: this) => value is F, context?: any): Seq.Set; (predicate: (value: T, key: never, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: T, key: never, iter: this) => value is F > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : T @@ -2194,8 +2194,8 @@ declare module Immutable { > : ^^^ filter(predicate: (value: T, key: never, iter: this) => any, context?: any): this; ->filter : { (predicate: (value: T, key: never, iter: this) => value is F, context?: any): Set; (predicate: (value: T, key: never, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ +>filter : { (predicate: (value: T, key: never, iter: this) => value is F, context?: any): Seq.Set; (predicate: (value: T, key: never, iter: this) => any, context?: any): this; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: T, key: never, iter: this) => any > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : T @@ -2307,7 +2307,7 @@ declare module Immutable { filter(predicate: (value: V, key: K, iter: this) => value is F, context?: any): Seq; >filter : { (predicate: (value: V, key: K, iter: this) => value is F, context?: any): Seq; (predicate: (value: V, key: K, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: V, key: K, iter: this) => value is F > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : V @@ -2321,7 +2321,7 @@ declare module Immutable { filter(predicate: (value: V, key: K, iter: this) => any, context?: any): this; >filter : { (predicate: (value: V, key: K, iter: this) => value is F, context?: any): Seq; (predicate: (value: V, key: K, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: V, key: K, iter: this) => any > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : V @@ -2371,16 +2371,16 @@ declare module Immutable { export module Keyed {} export function Keyed(collection: Iterable<[K, V]>): Collection.Keyed; ->Keyed : { (collection: Iterable<[K, V]>): Collection.Keyed; (obj: { [key: string]: V_1; }): Keyed; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +>Keyed : { (collection: Iterable<[K, V]>): Collection.Keyed; (obj: { [key: string]: V_1; }): Collection.Keyed; } +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >collection : Iterable<[K, V]> > : ^^^^^^^^^^^^^^^^ >Collection : any > : ^^^ export function Keyed(obj: {[key: string]: V}): Collection.Keyed; ->Keyed : { (collection: Iterable<[K, V_1]>): Keyed; (obj: { [key: string]: V; }): Collection.Keyed; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ +>Keyed : { (collection: Iterable<[K, V_1]>): Collection.Keyed; (obj: { [key: string]: V; }): Collection.Keyed; } +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >obj : { [key: string]: V; } > : ^^^^^^^^^^^^^^^^^^^^^ >key : string @@ -2411,16 +2411,16 @@ declare module Immutable { > : ^^^^^^ concat(...collections: Array>): Collection.Keyed; ->concat : { (...collections: Array>): Collection.Keyed; (...collections: Array<{ [key: string]: C; }>): Keyed; } -> : ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>concat : { (...collections: Array>): Collection.Keyed; (...collections: Array<{ [key: string]: C; }>): Collection.Keyed; } +> : ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^^^ ^^ ^^^ ^^^ >collections : Iterable<[KC, VC]>[] > : ^^^^^^^^^^^^^^^^^^^^ >Collection : any > : ^^^ concat(...collections: Array<{[key: string]: C}>): Collection.Keyed; ->concat : { (...collections: Array>): Keyed; (...collections: Array<{ [key: string]: C; }>): Collection.Keyed; } -> : ^^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^ ^^^ +>concat : { (...collections: Array>): Collection.Keyed; (...collections: Array<{ [key: string]: C; }>): Collection.Keyed; } +> : ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^^^ ^^ ^^^ ^^^ >collections : { [key: string]: C; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^ >key : string @@ -2494,7 +2494,7 @@ declare module Immutable { filter(predicate: (value: V, key: K, iter: this) => value is F, context?: any): Collection.Keyed; >filter : { (predicate: (value: V, key: K, iter: this) => value is F, context?: any): Collection.Keyed; (predicate: (value: V, key: K, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: V, key: K, iter: this) => value is F > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : V @@ -2509,8 +2509,8 @@ declare module Immutable { > : ^^^ filter(predicate: (value: V, key: K, iter: this) => any, context?: any): this; ->filter : { (predicate: (value: V, key: K, iter: this) => value is F, context?: any): Keyed; (predicate: (value: V, key: K, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ +>filter : { (predicate: (value: V, key: K, iter: this) => value is F, context?: any): Collection.Keyed; (predicate: (value: V, key: K, iter: this) => any, context?: any): this; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: V, key: K, iter: this) => any > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : V @@ -2552,8 +2552,8 @@ declare module Immutable { // Reading values get(index: number, notSetValue: NSV): T | NSV; ->get : { (index: number, notSetValue: NSV): T | NSV; (index: number): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^ +>get : { (index: number, notSetValue: NSV): T | NSV; (index: number): T | undefined; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >index : number > : ^^^^^^ >notSetValue : NSV @@ -2561,7 +2561,7 @@ declare module Immutable { get(index: number): T | undefined; >get : { (index: number, notSetValue: NSV): T | NSV; (index: number): T | undefined; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >index : number > : ^^^^^^ @@ -2610,8 +2610,8 @@ declare module Immutable { > : ^^^ zipWith(zipper: (value: T, otherValue: U) => Z, otherCollection: Collection): Collection.Indexed; ->zipWith : { (zipper: (value: T, otherValue: U) => Z, otherCollection: Collection): Collection.Indexed; (zipper: (value: T, otherValue: U_1, thirdValue: V) => Z_1, otherCollection: Collection, thirdCollection: Collection): Indexed; (zipper: (...any: Array) => Z_2, ...collections: Array>): Indexed; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +>zipWith : { (zipper: (value: T, otherValue: U) => Z, otherCollection: Collection): Collection.Indexed; (zipper: (value: T, otherValue: U_1, thirdValue: V) => Z_1, otherCollection: Collection, thirdCollection: Collection): Collection.Indexed; (zipper: (...any: Array) => Z_1, ...collections: Array>): Collection.Indexed; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >zipper : (value: T, otherValue: U) => Z > : ^ ^^ ^^ ^^ ^^^^^ >value : T @@ -2624,8 +2624,8 @@ declare module Immutable { > : ^^^ zipWith(zipper: (value: T, otherValue: U, thirdValue: V) => Z, otherCollection: Collection, thirdCollection: Collection): Collection.Indexed; ->zipWith : { (zipper: (value: T, otherValue: U_1) => Z_1, otherCollection: Collection): Indexed; (zipper: (value: T, otherValue: U, thirdValue: V) => Z, otherCollection: Collection, thirdCollection: Collection): Collection.Indexed; (zipper: (...any: Array) => Z_2, ...collections: Array>): Indexed; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +>zipWith : { (zipper: (value: T, otherValue: U_1) => Z_1, otherCollection: Collection): Collection.Indexed; (zipper: (value: T, otherValue: U, thirdValue: V) => Z, otherCollection: Collection, thirdCollection: Collection): Collection.Indexed; (zipper: (...any: Array) => Z_1, ...collections: Array>): Collection.Indexed; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >zipper : (value: T, otherValue: U, thirdValue: V) => Z > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : T @@ -2642,8 +2642,8 @@ declare module Immutable { > : ^^^ zipWith(zipper: (...any: Array) => Z, ...collections: Array>): Collection.Indexed; ->zipWith : { (zipper: (value: T, otherValue: U) => Z_1, otherCollection: Collection): Indexed; (zipper: (value: T, otherValue: U_1, thirdValue: V) => Z_2, otherCollection: Collection, thirdCollection: Collection): Indexed; (zipper: (...any: Array) => Z, ...collections: Array>): Collection.Indexed; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ +>zipWith : { (zipper: (value: T, otherValue: U) => Z_1, otherCollection: Collection): Collection.Indexed; (zipper: (value: T, otherValue: U, thirdValue: V) => Z_1, otherCollection: Collection, thirdCollection: Collection): Collection.Indexed; (zipper: (...any: Array) => Z, ...collections: Array>): Collection.Indexed; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >zipper : (...any: Array) => Z > : ^^^^ ^^ ^^^^^ >any : any[] @@ -2737,7 +2737,7 @@ declare module Immutable { filter(predicate: (value: T, index: number, iter: this) => value is F, context?: any): Collection.Indexed; >filter : { (predicate: (value: T, index: number, iter: this) => value is F, context?: any): Collection.Indexed; (predicate: (value: T, index: number, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: T, index: number, iter: this) => value is F > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : T @@ -2752,8 +2752,8 @@ declare module Immutable { > : ^^^ filter(predicate: (value: T, index: number, iter: this) => any, context?: any): this; ->filter : { (predicate: (value: T, index: number, iter: this) => value is F, context?: any): Indexed; (predicate: (value: T, index: number, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ +>filter : { (predicate: (value: T, index: number, iter: this) => value is F, context?: any): Collection.Indexed; (predicate: (value: T, index: number, iter: this) => any, context?: any): this; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: T, index: number, iter: this) => any > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : T @@ -2842,7 +2842,7 @@ declare module Immutable { filter(predicate: (value: T, key: never, iter: this) => value is F, context?: any): Collection.Set; >filter : { (predicate: (value: T, key: never, iter: this) => value is F, context?: any): Collection.Set; (predicate: (value: T, key: never, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: T, key: never, iter: this) => value is F > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : T @@ -2857,8 +2857,8 @@ declare module Immutable { > : ^^^ filter(predicate: (value: T, key: never, iter: this) => any, context?: any): this; ->filter : { (predicate: (value: T, key: never, iter: this) => value is F, context?: any): Set; (predicate: (value: T, key: never, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ +>filter : { (predicate: (value: T, key: never, iter: this) => value is F, context?: any): Collection.Set; (predicate: (value: T, key: never, iter: this) => any, context?: any): this; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: T, key: never, iter: this) => any > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : T @@ -2919,8 +2919,8 @@ declare module Immutable { // Reading values get(key: K, notSetValue: NSV): V | NSV; ->get : { (key: K, notSetValue: NSV): V | NSV; (key: K): V; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^ +>get : { (key: K, notSetValue: NSV): V | NSV; (key: K): V | undefined; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >key : K > : ^ >notSetValue : NSV @@ -2928,7 +2928,7 @@ declare module Immutable { get(key: K): V | undefined; >get : { (key: K, notSetValue: NSV): V | NSV; (key: K): V | undefined; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >key : K > : ^ @@ -3102,7 +3102,7 @@ declare module Immutable { filter(predicate: (value: V, key: K, iter: this) => value is F, context?: any): Collection; >filter : { (predicate: (value: V, key: K, iter: this) => value is F, context?: any): Collection; (predicate: (value: V, key: K, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: V, key: K, iter: this) => value is F > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : V @@ -3116,7 +3116,7 @@ declare module Immutable { filter(predicate: (value: V, key: K, iter: this) => any, context?: any): this; >filter : { (predicate: (value: V, key: K, iter: this) => value is F, context?: any): Collection; (predicate: (value: V, key: K, iter: this) => any, context?: any): this; } -> : ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: V, key: K, iter: this) => any > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : V @@ -3311,13 +3311,13 @@ declare module Immutable { flatten(depth?: number): Collection; >flatten : { (depth?: number): Collection; (shallow?: boolean): Collection; } -> : ^^^ ^^^ ^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ >depth : number > : ^^^^^^ flatten(shallow?: boolean): Collection; >flatten : { (depth?: number): Collection; (shallow?: boolean): Collection; } -> : ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ >shallow : boolean > : ^^^^^^^ @@ -3338,7 +3338,7 @@ declare module Immutable { // Reducing a value reduce(reducer: (reduction: R, value: V, key: K, iter: this) => R, initialReduction: R, context?: any): R; >reduce : { (reducer: (reduction: R, value: V, key: K, iter: this) => R, initialReduction: R, context?: any): R; (reducer: (reduction: V | R_1, value: V, key: K, iter: this) => R_1): R_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >reducer : (reduction: R, value: V, key: K, iter: this) => R > : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >reduction : R @@ -3356,7 +3356,7 @@ declare module Immutable { reduce(reducer: (reduction: V | R, value: V, key: K, iter: this) => R): R; >reduce : { (reducer: (reduction: R_1, value: V, key: K, iter: this) => R_1, initialReduction: R_1, context?: any): R_1; (reducer: (reduction: V | R, value: V, key: K, iter: this) => R): R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >reducer : (reduction: V | R, value: V, key: K, iter: this) => R > : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >reduction : V | R @@ -3370,7 +3370,7 @@ declare module Immutable { reduceRight(reducer: (reduction: R, value: V, key: K, iter: this) => R, initialReduction: R, context?: any): R; >reduceRight : { (reducer: (reduction: R, value: V, key: K, iter: this) => R, initialReduction: R, context?: any): R; (reducer: (reduction: V | R_1, value: V, key: K, iter: this) => R_1): R_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >reducer : (reduction: R, value: V, key: K, iter: this) => R > : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >reduction : R @@ -3388,7 +3388,7 @@ declare module Immutable { reduceRight(reducer: (reduction: V | R, value: V, key: K, iter: this) => R): R; >reduceRight : { (reducer: (reduction: R_1, value: V, key: K, iter: this) => R_1, initialReduction: R_1, context?: any): R_1; (reducer: (reduction: V | R, value: V, key: K, iter: this) => R): R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >reducer : (reduction: V | R, value: V, key: K, iter: this) => R > : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >reduction : V | R @@ -3440,11 +3440,11 @@ declare module Immutable { count(): number; >count : { (): number; (predicate: (value: V, key: K, iter: this) => boolean, context?: any): number; } -> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ count(predicate: (value: V, key: K, iter: this) => boolean, context?: any): number; >count : { (): number; (predicate: (value: V, key: K, iter: this) => boolean, context?: any): number; } -> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >predicate : (value: V, key: K, iter: this) => boolean > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : V diff --git a/tests/baselines/reference/complicatedIndexedAccessKeyofReliesOnKeyofNeverUpperBound.types b/tests/baselines/reference/complicatedIndexedAccessKeyofReliesOnKeyofNeverUpperBound.types index 21113c46b65cd..bfb1d6d746566 100644 --- a/tests/baselines/reference/complicatedIndexedAccessKeyofReliesOnKeyofNeverUpperBound.types +++ b/tests/baselines/reference/complicatedIndexedAccessKeyofReliesOnKeyofNeverUpperBound.types @@ -70,8 +70,8 @@ export type NewChannel = Pick & export function makeNewChannel(type: T): NewChannel> { ->makeNewChannel : (type: T) => NewChannel> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +>makeNewChannel : (type: T) => NewChannel> +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >type : T > : ^ @@ -95,8 +95,8 @@ const newTextChannel = makeNewChannel('text'); > : ^^^^^^^^^^^^^^^^^^^^^^^ >makeNewChannel('text') : NewChannel > : ^^^^^^^^^^^^^^^^^^^^^^^ ->makeNewChannel : (type: T) => NewChannel | ChannelOfType> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>makeNewChannel : (type: T) => NewChannel> +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >'text' : "text" > : ^^^^^^ @@ -118,8 +118,8 @@ const newTextChannel2 : NewChannel = makeNewChannel('text'); > : ^^^^^^^^^^^^^^^^^^^^^^^ >makeNewChannel('text') : NewChannel > : ^^^^^^^^^^^^^^^^^^^^^^^ ->makeNewChannel : (type: T) => NewChannel | ChannelOfType> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>makeNewChannel : (type: T) => NewChannel> +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >'text' : "text" > : ^^^^^^ diff --git a/tests/baselines/reference/complicatedIndexesOfIntersectionsAreInferencable.types b/tests/baselines/reference/complicatedIndexesOfIntersectionsAreInferencable.types index 8220532c735ae..f1114d508acbc 100644 --- a/tests/baselines/reference/complicatedIndexesOfIntersectionsAreInferencable.types +++ b/tests/baselines/reference/complicatedIndexesOfIntersectionsAreInferencable.types @@ -34,7 +34,7 @@ Func({ >Func({ initialValues: { foo: "" }, validate: props => { props.foo; }}) : void > : ^^^^ >Func : (x: (string extends "validate" | "initialValues" | keyof ExtraProps ? Readonly & ExtraProps> : Pick & ExtraProps>, "validate" | "initialValues" | Exclude> & Partial & ExtraProps>, "validateOnChange" | Extract>>)) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^ >{ initialValues: { foo: "" }, validate: props => { props.foo; }} : { initialValues: { foo: string; }; validate: (props: { foo: string; }) => void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/complicatedPrivacy.types b/tests/baselines/reference/complicatedPrivacy.types index 4b8e2b93060cb..d9fd54eb04428 100644 --- a/tests/baselines/reference/complicatedPrivacy.types +++ b/tests/baselines/reference/complicatedPrivacy.types @@ -84,8 +84,8 @@ module m1 { } export function f4(arg1: ->f4 : (arg1: {}) => void -> : ^ ^^ ^^^^^^^^^ +>f4 : (arg1: { [number]: C1; }) => void +> : ^ ^^ ^^^^^^^^^ >arg1 : {} > : ^^ { diff --git a/tests/baselines/reference/compositeContextualSignature.types b/tests/baselines/reference/compositeContextualSignature.types index b02977726f1d0..4fabb5fc1abaa 100644 --- a/tests/baselines/reference/compositeContextualSignature.types +++ b/tests/baselines/reference/compositeContextualSignature.types @@ -5,7 +5,7 @@ function f(v: ReadonlyArray) { } >f : (v: ReadonlyArray) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >v : readonly T[] > : ^^^^^^^^^^^^ @@ -13,7 +13,7 @@ f([ >f([ [ undefined, () => { }, ], [ 1, () => { console.log('Hello') }, ],]) : void > : ^^^^ >f : (v: ReadonlyArray) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >[ [ undefined, () => { }, ], [ 1, () => { console.log('Hello') }, ],] : (((() => void) | undefined)[] | (number | (() => void))[])[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -46,11 +46,11 @@ f([ >console.log('Hello') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'Hello' : "Hello" > : ^^^^^^^ diff --git a/tests/baselines/reference/compositeGenericFunction.types b/tests/baselines/reference/compositeGenericFunction.types index c970a57b4c2ad..26d92ea93f944 100644 --- a/tests/baselines/reference/compositeGenericFunction.types +++ b/tests/baselines/reference/compositeGenericFunction.types @@ -23,7 +23,7 @@ var z: number = h(f); >h(f) : number > : ^^^^^^ >h : (func: (x: number) => R) => R -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >f : (value: T) => T > : ^ ^^ ^^ ^^^^^^ @@ -33,7 +33,7 @@ var z: number = h(f); >h(f) : number > : ^^^^^^ >h : (func: (x: number) => R) => R -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >f : (value: T) => T > : ^ ^^ ^^ ^^^^^^ diff --git a/tests/baselines/reference/compoundAdditionAssignmentLHSCannotBeAssigned.types b/tests/baselines/reference/compoundAdditionAssignmentLHSCannotBeAssigned.types index feaeda0812c5a..75206941990c4 100644 --- a/tests/baselines/reference/compoundAdditionAssignmentLHSCannotBeAssigned.types +++ b/tests/baselines/reference/compoundAdditionAssignmentLHSCannotBeAssigned.types @@ -58,7 +58,7 @@ x4 += ''; >x4 += '' : string > : ^^^^^^ >x4 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >'' : "" > : ^^ diff --git a/tests/baselines/reference/compoundAssignmentLHSIsReference.types b/tests/baselines/reference/compoundAssignmentLHSIsReference.types index 0eef9403b74f9..f4eeb8aa06707 100644 --- a/tests/baselines/reference/compoundAssignmentLHSIsReference.types +++ b/tests/baselines/reference/compoundAssignmentLHSIsReference.types @@ -55,7 +55,7 @@ x3.a *= value; >x3.a : number > : ^^^^^^ >x3 : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : number > : ^^^^^^ >value : any @@ -65,7 +65,7 @@ x3.a += value; >x3.a : number > : ^^^^^^ >x3 : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : number > : ^^^^^^ >value : any @@ -76,7 +76,7 @@ x3['a'] *= value; >x3['a'] : number > : ^^^^^^ >x3 : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >'a' : "a" > : ^^^ >value : any @@ -86,7 +86,7 @@ x3['a'] += value; >x3['a'] : number > : ^^^^^^ >x3 : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >'a' : "a" > : ^^^ >value : any @@ -141,7 +141,7 @@ function fn2(x4: number) { >x3.a : number > : ^^^^^^ >x3 : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : number > : ^^^^^^ >value : any @@ -153,7 +153,7 @@ function fn2(x4: number) { >x3.a : number > : ^^^^^^ >x3 : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : number > : ^^^^^^ >value : any @@ -166,7 +166,7 @@ function fn2(x4: number) { >x3['a'] : number > : ^^^^^^ >x3 : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >'a' : "a" > : ^^^ >value : any @@ -178,7 +178,7 @@ function fn2(x4: number) { >x3['a'] : number > : ^^^^^^ >x3 : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >'a' : "a" > : ^^^ >value : any diff --git a/tests/baselines/reference/compoundExponentiationAssignmentLHSIsReference.types b/tests/baselines/reference/compoundExponentiationAssignmentLHSIsReference.types index 69cd232a1d6f5..9a71c0e71ec45 100644 --- a/tests/baselines/reference/compoundExponentiationAssignmentLHSIsReference.types +++ b/tests/baselines/reference/compoundExponentiationAssignmentLHSIsReference.types @@ -43,7 +43,7 @@ x3.a **= value; >x3.a : number > : ^^^^^^ >x3 : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : number > : ^^^^^^ >value : any @@ -54,7 +54,7 @@ x3['a'] **= value; >x3['a'] : number > : ^^^^^^ >x3 : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >'a' : "a" > : ^^^ >value : any @@ -93,7 +93,7 @@ function fn2(x4: number) { >x3.a : number > : ^^^^^^ >x3 : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : number > : ^^^^^^ >value : any @@ -106,7 +106,7 @@ function fn2(x4: number) { >x3['a'] : number > : ^^^^^^ >x3 : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >'a' : "a" > : ^^^ >value : any diff --git a/tests/baselines/reference/computedEnumTypeWidening.types b/tests/baselines/reference/computedEnumTypeWidening.types index 660fd13691fe7..6fa088fdad919 100644 --- a/tests/baselines/reference/computedEnumTypeWidening.types +++ b/tests/baselines/reference/computedEnumTypeWidening.types @@ -17,7 +17,7 @@ enum E { >computed(0) : number > : ^^^^^^ >computed : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ @@ -27,7 +27,7 @@ enum E { >computed(1) : number > : ^^^^^^ >computed : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ @@ -37,7 +37,7 @@ enum E { >computed(2) : number > : ^^^^^^ >computed : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >2 : 2 > : ^ @@ -47,7 +47,7 @@ enum E { >computed(3) : number > : ^^^^^^ >computed : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >3 : 3 > : ^ } diff --git a/tests/baselines/reference/computedPropertiesNarrowed.errors.txt b/tests/baselines/reference/computedPropertiesNarrowed.errors.txt index 9a9a1276100c9..f4aae6aa04d2a 100644 --- a/tests/baselines/reference/computedPropertiesNarrowed.errors.txt +++ b/tests/baselines/reference/computedPropertiesNarrowed.errors.txt @@ -1,19 +1,22 @@ -computedPropertiesNarrowed.ts(5,5): error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. -computedPropertiesNarrowed.ts(18,20): error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. -computedPropertiesNarrowed.ts(22,5): error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. -computedPropertiesNarrowed.ts(26,5): error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. -computedPropertiesNarrowed.ts(37,5): error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. -computedPropertiesNarrowed.ts(47,5): error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. +computedPropertiesNarrowed.ts(5,5): error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. +computedPropertiesNarrowed.ts(11,5): error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. +computedPropertiesNarrowed.ts(18,20): error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. +computedPropertiesNarrowed.ts(22,5): error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. +computedPropertiesNarrowed.ts(26,5): error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. +computedPropertiesNarrowed.ts(31,5): error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. +computedPropertiesNarrowed.ts(37,5): error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. +computedPropertiesNarrowed.ts(42,5): error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. +computedPropertiesNarrowed.ts(47,5): error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. -==== computedPropertiesNarrowed.ts (6 errors) ==== +==== computedPropertiesNarrowed.ts (9 errors) ==== const x: 0 | 1 = Math.random()? 0: 1; declare function assert(n: number): asserts n is 1; assert(x); export let o = { [x]: 1 // error narrow type !== declared type ~~~ -!!! error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. +!!! error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. !!! related TS9027 computedPropertiesNarrowed.ts:4:12: Add a type annotation to the variable o. } @@ -21,6 +24,9 @@ computedPropertiesNarrowed.ts(47,5): error TS9014: Computed properties must be n const y: 0 = 0 export let o2 = { [y]: 1 // ok literal computed type + ~~~ +!!! error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. +!!! related TS9027 computedPropertiesNarrowed.ts:10:12: Add a type annotation to the variable o2. } // literals are ok @@ -29,27 +35,30 @@ computedPropertiesNarrowed.ts(47,5): error TS9014: Computed properties must be n export let o32 = { [1-1]: 1 } // error number ~~~~~ -!!! error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. +!!! error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. !!! related TS9027 computedPropertiesNarrowed.ts:18:12: Add a type annotation to the variable o32. let u = Symbol(); export let o4 = { [u]: 1 // Should error, nut a unique symbol ~~~ -!!! error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. +!!! error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. !!! related TS9027 computedPropertiesNarrowed.ts:21:12: Add a type annotation to the variable o4. } export let o5 ={ [Symbol()]: 1 // Should error ~~~~~~~~~~ -!!! error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. +!!! error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. !!! related TS9027 computedPropertiesNarrowed.ts:25:12: Add a type annotation to the variable o5. } const uu: unique symbol = Symbol(); export let o6 = { [uu]: 1 // Should be ok + ~~~~ +!!! error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. +!!! related TS9027 computedPropertiesNarrowed.ts:30:12: Add a type annotation to the variable o6. } @@ -57,20 +66,23 @@ computedPropertiesNarrowed.ts(47,5): error TS9014: Computed properties must be n export let o7 = { [foo()]: 1 // Should error ~~~~~~~ -!!! error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. +!!! error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. !!! related TS9027 computedPropertiesNarrowed.ts:36:12: Add a type annotation to the variable o7. }; let E = { A: 1 } as const export const o8 = { [E.A]: 1 // Fresh + ~~~~~ +!!! error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. +!!! related TS9027 computedPropertiesNarrowed.ts:41:14: Add a type annotation to the variable o8. } function ns() { return { v: 0 } as const } export const o9 = { [ns().v]: 1 ~~~~~~~~ -!!! error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. +!!! error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. !!! related TS9027 computedPropertiesNarrowed.ts:46:14: Add a type annotation to the variable o9. } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertiesNarrowed.types b/tests/baselines/reference/computedPropertiesNarrowed.types index 726ce7a62716c..81a74a3aca456 100644 --- a/tests/baselines/reference/computedPropertiesNarrowed.types +++ b/tests/baselines/reference/computedPropertiesNarrowed.types @@ -9,11 +9,11 @@ const x: 0 | 1 = Math.random()? 0: 1; >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0 : 0 > : ^ >1 : 1 @@ -29,7 +29,7 @@ assert(x); >assert(x) : void > : ^^^^ >assert : (n: number) => asserts n is 1 -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : 0 | 1 > : ^^^^^ @@ -195,7 +195,7 @@ export let o7 = { >foo() : 1 > : ^ >foo : () => 1 -> : ^^^^^^^ +> : ^^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/computedPropertyNames48_ES5.types b/tests/baselines/reference/computedPropertyNames48_ES5.types index aa1fb0c5f61b8..c3729ec41f0bf 100644 --- a/tests/baselines/reference/computedPropertyNames48_ES5.types +++ b/tests/baselines/reference/computedPropertyNames48_ES5.types @@ -22,7 +22,7 @@ extractIndexer({ >extractIndexer({ [a]: ""}) : string > : ^^^^^^ >extractIndexer : (p: { [n: number]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ [a]: ""} : { [x: number]: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^ @@ -39,7 +39,7 @@ extractIndexer({ >extractIndexer({ [E.x]: ""}) : string > : ^^^^^^ >extractIndexer : (p: { [n: number]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ [E.x]: ""} : { 0: string; } > : ^^^^^^^^^^^^^^ @@ -61,7 +61,7 @@ extractIndexer({ >extractIndexer({ ["" || 0]: ""}) : string > : ^^^^^^ >extractIndexer : (p: { [n: number]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ ["" || 0]: ""} : { 0: string; } > : ^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/computedPropertyNames48_ES6.types b/tests/baselines/reference/computedPropertyNames48_ES6.types index 490a198ee1081..4c0d97a7815c0 100644 --- a/tests/baselines/reference/computedPropertyNames48_ES6.types +++ b/tests/baselines/reference/computedPropertyNames48_ES6.types @@ -22,7 +22,7 @@ extractIndexer({ >extractIndexer({ [a]: ""}) : string > : ^^^^^^ >extractIndexer : (p: { [n: number]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ [a]: ""} : { [x: number]: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^ @@ -39,7 +39,7 @@ extractIndexer({ >extractIndexer({ [E.x]: ""}) : string > : ^^^^^^ >extractIndexer : (p: { [n: number]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ [E.x]: ""} : { 0: string; } > : ^^^^^^^^^^^^^^ @@ -61,7 +61,7 @@ extractIndexer({ >extractIndexer({ ["" || 0]: ""}) : string > : ^^^^^^ >extractIndexer : (p: { [n: number]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ ["" || 0]: ""} : { 0: string; } > : ^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/computedPropertyNames51_ES5.types b/tests/baselines/reference/computedPropertyNames51_ES5.types index ca8d851a7898e..47b5b473a0855 100644 --- a/tests/baselines/reference/computedPropertyNames51_ES5.types +++ b/tests/baselines/reference/computedPropertyNames51_ES5.types @@ -3,7 +3,7 @@ === computedPropertyNames51_ES5.ts === function f() { >f : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^ var t: T; >t : T diff --git a/tests/baselines/reference/computedPropertyNames51_ES6.types b/tests/baselines/reference/computedPropertyNames51_ES6.types index ba8cceb5c4e50..6f4734ba6294f 100644 --- a/tests/baselines/reference/computedPropertyNames51_ES6.types +++ b/tests/baselines/reference/computedPropertyNames51_ES6.types @@ -3,7 +3,7 @@ === computedPropertyNames51_ES6.ts === function f() { >f : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^ var t: T; >t : T diff --git a/tests/baselines/reference/computedPropertyNames52(target=es2015).types b/tests/baselines/reference/computedPropertyNames52(target=es2015).types index 363489a32ea45..df52d0e4b1c76 100644 --- a/tests/baselines/reference/computedPropertyNames52(target=es2015).types +++ b/tests/baselines/reference/computedPropertyNames52(target=es2015).types @@ -27,11 +27,11 @@ for (let i = 0; i < 10; ++i) { >array.push(class C { [i] = () => C; static [i] = 100; }) : number > : ^^^^^^ >array.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >array : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >class C { [i] = () => C; static [i] = 100; } : typeof C > : ^^^^^^^^ >C : typeof C diff --git a/tests/baselines/reference/computedPropertyNames52(target=es5).types b/tests/baselines/reference/computedPropertyNames52(target=es5).types index 363489a32ea45..df52d0e4b1c76 100644 --- a/tests/baselines/reference/computedPropertyNames52(target=es5).types +++ b/tests/baselines/reference/computedPropertyNames52(target=es5).types @@ -27,11 +27,11 @@ for (let i = 0; i < 10; ++i) { >array.push(class C { [i] = () => C; static [i] = 100; }) : number > : ^^^^^^ >array.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >array : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >class C { [i] = () => C; static [i] = 100; } : typeof C > : ^^^^^^^^ >C : typeof C diff --git a/tests/baselines/reference/computedPropertyNames8_ES5.types b/tests/baselines/reference/computedPropertyNames8_ES5.types index 1192793f28670..8caf65a2d43ad 100644 --- a/tests/baselines/reference/computedPropertyNames8_ES5.types +++ b/tests/baselines/reference/computedPropertyNames8_ES5.types @@ -3,7 +3,7 @@ === computedPropertyNames8_ES5.ts === function f() { >f : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^ var t: T; >t : T diff --git a/tests/baselines/reference/computedPropertyNames8_ES6.types b/tests/baselines/reference/computedPropertyNames8_ES6.types index 90bf11587a457..4374a89c92c78 100644 --- a/tests/baselines/reference/computedPropertyNames8_ES6.types +++ b/tests/baselines/reference/computedPropertyNames8_ES6.types @@ -3,7 +3,7 @@ === computedPropertyNames8_ES6.ts === function f() { >f : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^ var t: T; >t : T diff --git a/tests/baselines/reference/computedPropertyNames9_ES5.types b/tests/baselines/reference/computedPropertyNames9_ES5.types index a4d84fddd98ca..a6307cdf10b54 100644 --- a/tests/baselines/reference/computedPropertyNames9_ES5.types +++ b/tests/baselines/reference/computedPropertyNames9_ES5.types @@ -3,25 +3,25 @@ === computedPropertyNames9_ES5.ts === function f(s: string): string; >f : { (s: string): string; (n: number): number; (x: T): T; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ function f(n: number): number; >f : { (s: string): string; (n: number): number; (x: T): T; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ function f(x: T): T; >f : { (s: string): string; (n: number): number; (x: T): T; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ function f(x): any { } >f : { (s: string): string; (n: number): number; (x: T): T; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >x : any > : ^^^ @@ -37,7 +37,7 @@ var v = { >f("") : string > : ^^^^^^ >f : { (s: string): string; (n: number): number; (x: T): T; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >"" : "" > : ^^ >0 : 0 @@ -49,7 +49,7 @@ var v = { >f(0) : number > : ^^^^^^ >f : { (s: string): string; (n: number): number; (x: T): T; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >0 : 0 > : ^ >0 : 0 @@ -61,7 +61,7 @@ var v = { >f(true) : true > : ^^^^ >f : { (s: string): string; (n: number): number; (x: T): T; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >true : true > : ^^^^ >0 : 0 diff --git a/tests/baselines/reference/computedPropertyNames9_ES6.types b/tests/baselines/reference/computedPropertyNames9_ES6.types index 87b749e8e8ced..f4113d070a58e 100644 --- a/tests/baselines/reference/computedPropertyNames9_ES6.types +++ b/tests/baselines/reference/computedPropertyNames9_ES6.types @@ -3,25 +3,25 @@ === computedPropertyNames9_ES6.ts === function f(s: string): string; >f : { (s: string): string; (n: number): number; (x: T): T; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ function f(n: number): number; >f : { (s: string): string; (n: number): number; (x: T): T; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ function f(x: T): T; >f : { (s: string): string; (n: number): number; (x: T): T; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ function f(x): any { } >f : { (s: string): string; (n: number): number; (x: T): T; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >x : any > : ^^^ @@ -37,7 +37,7 @@ var v = { >f("") : string > : ^^^^^^ >f : { (s: string): string; (n: number): number; (x: T): T; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >"" : "" > : ^^ >0 : 0 @@ -49,7 +49,7 @@ var v = { >f(0) : number > : ^^^^^^ >f : { (s: string): string; (n: number): number; (x: T): T; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >0 : 0 > : ^ >0 : 0 @@ -61,7 +61,7 @@ var v = { >f(true) : true > : ^^^^ >f : { (s: string): string; (n: number): number; (x: T): T; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >true : true > : ^^^^ >0 : 0 diff --git a/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.types b/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.types index 303bd8cdbe6ef..46a48f1958f3d 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.types +++ b/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.types @@ -17,7 +17,7 @@ foo({ >foo({ p: "", 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0]}) : string | number | boolean | (() => void) | number[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (obj: I) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ p: "", 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0]} : { [x: string]: string | number | true | (() => void) | number[]; [x: number]: number | (() => void) | number[]; p: string; 0: () => void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/computedPropertyNamesContextualType6_ES6.types b/tests/baselines/reference/computedPropertyNamesContextualType6_ES6.types index d0543e5febc75..5a92a5e64cb0d 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType6_ES6.types +++ b/tests/baselines/reference/computedPropertyNamesContextualType6_ES6.types @@ -17,7 +17,7 @@ foo({ >foo({ p: "", 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0]}) : string | number | boolean | (() => void) | number[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (obj: I) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ p: "", 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0]} : { [x: string]: string | number | true | (() => void) | number[]; [x: number]: number | (() => void) | number[]; p: string; 0: () => void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/computedPropertyNamesContextualType7_ES5.types b/tests/baselines/reference/computedPropertyNamesContextualType7_ES5.types index 1ede0808db128..a66a079a392cb 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType7_ES5.types +++ b/tests/baselines/reference/computedPropertyNamesContextualType7_ES5.types @@ -28,7 +28,7 @@ foo({ >foo({ 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0]}) : number | (() => void) | number[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (obj: I) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0]} : { [x: string]: number | boolean | (() => void) | number[]; [x: number]: number | (() => void) | number[]; 0: () => void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -80,7 +80,7 @@ g({ p: "" }); >g({ p: "" }) : string > : ^^^^^^ >g : (obj: J) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ p: "" } : { p: string; } > : ^^^^^^^^^^^^^^ >p : string diff --git a/tests/baselines/reference/computedPropertyNamesContextualType7_ES6.types b/tests/baselines/reference/computedPropertyNamesContextualType7_ES6.types index 355e5969d43bc..7598bb927f06a 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType7_ES6.types +++ b/tests/baselines/reference/computedPropertyNamesContextualType7_ES6.types @@ -28,7 +28,7 @@ foo({ >foo({ 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0]}) : number | (() => void) | number[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (obj: I) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0]} : { [x: string]: number | boolean | (() => void) | number[]; [x: number]: number | (() => void) | number[]; 0: () => void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -80,7 +80,7 @@ g({ p: "" }); >g({ p: "" }) : string > : ^^^^^^ >g : (obj: J) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ p: "" } : { p: string; } > : ^^^^^^^^^^^^^^ >p : string diff --git a/tests/baselines/reference/computedTypesKeyofNoIndexSignatureType.types b/tests/baselines/reference/computedTypesKeyofNoIndexSignatureType.types index 2092e7521c257..b230aeac1b469 100644 --- a/tests/baselines/reference/computedTypesKeyofNoIndexSignatureType.types +++ b/tests/baselines/reference/computedTypesKeyofNoIndexSignatureType.types @@ -40,11 +40,11 @@ type FooBar = { foo: "hello"; bar: "world"; }; type WithIndex = Compute; // { [x: string]: {}; foo: "hello"; bar: "world"; } <-- OK >WithIndex : { [x: string]: {}; foo: "hello"; bar: "world"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ type WithoutIndex = OmitIndex; // { foo: "hello"; bar: "world"; } <-- OK >WithoutIndex : OmitIndex<{ [x: string]: {}; foo: "hello"; bar: "world"; }, string> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^ type FooBarKey = keyof FooBar; // "foo" | "bar" <-- OK >FooBarKey : keyof FooBar diff --git a/tests/baselines/reference/concatError.types b/tests/baselines/reference/concatError.types index e4de328530b08..116168a81693e 100644 --- a/tests/baselines/reference/concatError.types +++ b/tests/baselines/reference/concatError.types @@ -23,11 +23,11 @@ fa = fa.concat([0]); >fa.concat([0]) : number[] > : ^^^^^^^^ >fa.concat : { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >fa : number[] > : ^^^^^^^^ >concat : { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >[0] : number[] > : ^^^^^^^^ >0 : 0 @@ -41,11 +41,11 @@ fa = fa.concat(0); >fa.concat(0) : number[] > : ^^^^^^^^ >fa.concat : { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >fa : number[] > : ^^^^^^^^ >concat : { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/concatTuples.types b/tests/baselines/reference/concatTuples.types index bcf330f4e7ee9..2c2d51bba4bfb 100644 --- a/tests/baselines/reference/concatTuples.types +++ b/tests/baselines/reference/concatTuples.types @@ -21,11 +21,11 @@ ijs = ijs.concat([[3, 4], [5, 6]]); >ijs.concat([[3, 4], [5, 6]]) : [number, number][] > : ^^^^^^^^^^^^^^^^^^ >ijs.concat : { (...items: ConcatArray<[number, number]>[]): [number, number][]; (...items: ([number, number] | ConcatArray<[number, number]>)[]): [number, number][]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >ijs : [number, number][] > : ^^^^^^^^^^^^^^^^^^ >concat : { (...items: ConcatArray<[number, number]>[]): [number, number][]; (...items: ([number, number] | ConcatArray<[number, number]>)[]): [number, number][]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >[[3, 4], [5, 6]] : [number, number][] > : ^^^^^^^^^^^^^^^^^^ >[3, 4] : [number, number] diff --git a/tests/baselines/reference/conditionalOperatorConditionIsObjectType.types b/tests/baselines/reference/conditionalOperatorConditionIsObjectType.types index 7c7217aa59e37..74c0f7412c6ed 100644 --- a/tests/baselines/reference/conditionalOperatorConditionIsObjectType.types +++ b/tests/baselines/reference/conditionalOperatorConditionIsObjectType.types @@ -273,11 +273,11 @@ C.doIt() ? exprString1 : exprString2; >C.doIt() : void > : ^^^^ >C.doIt : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >C : typeof C > : ^^^^^^^^ >doIt : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >exprString1 : string > : ^^^^^^ >exprString2 : string @@ -289,11 +289,11 @@ condObject.valueOf() ? exprIsObject1 : exprIsObject2; >condObject.valueOf() : Object > : ^^^^^^ >condObject.valueOf : () => Object -> : ^^^^^^^^^^^^ +> : ^^^^^^ >condObject : Object > : ^^^^^^ >valueOf : () => Object -> : ^^^^^^^^^^^^ +> : ^^^^^^ >exprIsObject1 : Object > : ^^^^^^ >exprIsObject2 : Object @@ -558,11 +558,11 @@ var resultIsString3 = C.doIt() ? exprString1 : exprString2; >C.doIt() : void > : ^^^^ >C.doIt : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >C : typeof C > : ^^^^^^^^ >doIt : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >exprString1 : string > : ^^^^^^ >exprString2 : string @@ -576,11 +576,11 @@ var resultIsObject3 = condObject.valueOf() ? exprIsObject1 : exprIsObject2; >condObject.valueOf() : Object > : ^^^^^^ >condObject.valueOf : () => Object -> : ^^^^^^^^^^^^ +> : ^^^^^^ >condObject : Object > : ^^^^^^ >valueOf : () => Object -> : ^^^^^^^^^^^^ +> : ^^^^^^ >exprIsObject1 : Object > : ^^^^^^ >exprIsObject2 : Object @@ -594,11 +594,11 @@ var resultIsStringOrBoolean3 = C.doIt() ? exprString1 : exprBoolean1; // union >C.doIt() : void > : ^^^^ >C.doIt : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >C : typeof C > : ^^^^^^^^ >doIt : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >exprString1 : string > : ^^^^^^ >exprBoolean1 : boolean diff --git a/tests/baselines/reference/conditionalOperatorConditoinIsStringType.types b/tests/baselines/reference/conditionalOperatorConditoinIsStringType.types index 9f5b1f0eec828..25f1e9c51dd01 100644 --- a/tests/baselines/reference/conditionalOperatorConditoinIsStringType.types +++ b/tests/baselines/reference/conditionalOperatorConditoinIsStringType.types @@ -192,11 +192,11 @@ condString.toUpperCase ? exprBoolean1 : exprBoolean2; >condString.toUpperCase ? exprBoolean1 : exprBoolean2 : boolean > : ^^^^^^^ >condString.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >condString : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >exprBoolean1 : boolean > : ^^^^^^^ >exprBoolean2 : boolean @@ -407,11 +407,11 @@ var resultIsBoolean3 = condString.toUpperCase ? exprBoolean1 : exprBoolean2; >condString.toUpperCase ? exprBoolean1 : exprBoolean2 : boolean > : ^^^^^^^ >condString.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >condString : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >exprBoolean1 : boolean > : ^^^^^^^ >exprBoolean2 : boolean @@ -483,11 +483,11 @@ var resultIsStringOrBoolean4 = condString.toUpperCase ? exprString1 : exprBoolea >condString.toUpperCase ? exprString1 : exprBoolean1 : string | boolean > : ^^^^^^^^^^^^^^^^ >condString.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >condString : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >exprString1 : string > : ^^^^^^ >exprBoolean1 : boolean diff --git a/tests/baselines/reference/conditionalTypeAssignabilityWhenDeferred.types b/tests/baselines/reference/conditionalTypeAssignabilityWhenDeferred.types index 828526bc82311..52645c7bfcb5c 100644 --- a/tests/baselines/reference/conditionalTypeAssignabilityWhenDeferred.types +++ b/tests/baselines/reference/conditionalTypeAssignabilityWhenDeferred.types @@ -10,7 +10,7 @@ export type FilterPropsByType = { function select< >select : >(property: T, list: TList[], valueProp: TValueProp) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ T extends string | number, TList extends object, @@ -25,7 +25,7 @@ function select< export function func(x: XX, tipos: { value: XX }[]) { >func : (x: XX, tipos: { value: XX; }[]) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : XX > : ^^ >tipos : { value: XX; }[] @@ -37,18 +37,18 @@ export function func(x: XX, tipos: { value: XX }[]) { >select(x, tipos, "value") : void > : ^^^^ >select : >(property: T, list: TList[], valueProp: TValueProp) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : XX > : ^^ >tipos : { value: XX; }[] -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^ >"value" : "value" > : ^^^^^^^ } declare function onlyNullablePlease( >onlyNullablePlease : (value: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ value: T >value : T @@ -58,7 +58,7 @@ declare function onlyNullablePlease( declare function onlyNullablePlease2< >onlyNullablePlease2 : (value: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ T extends [null] extends [T] ? any : never >(value: T): void; @@ -73,7 +73,7 @@ onlyNullablePlease(z); // works as expected >onlyNullablePlease(z) : void > : ^^^^ >onlyNullablePlease : (value: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >z : string | null > : ^^^^^^^^^^^^^ @@ -81,7 +81,7 @@ onlyNullablePlease2(z); // works as expected >onlyNullablePlease2(z) : void > : ^^^^ >onlyNullablePlease2 : (value: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >z : string | null > : ^^^^^^^^^^^^^ @@ -93,7 +93,7 @@ onlyNullablePlease(y); // error as expected >onlyNullablePlease(y) : void > : ^^^^ >onlyNullablePlease : (value: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >y : string > : ^^^^^^ @@ -101,7 +101,7 @@ onlyNullablePlease2(y); // error as expected >onlyNullablePlease2(y) : void > : ^^^^ >onlyNullablePlease2 : (value: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >y : string > : ^^^^^^ @@ -121,11 +121,11 @@ function f(t: T) { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ >t : T @@ -135,7 +135,7 @@ function f(t: T) { >onlyNullablePlease(x) : void > : ^^^^ >onlyNullablePlease : (value: T_1) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : T | null > : ^^^^^^^^ @@ -143,7 +143,7 @@ function f(t: T) { >onlyNullablePlease2(x) : void > : ^^^^ >onlyNullablePlease2 : (value: T_1) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : T | null > : ^^^^^^^^ } @@ -166,19 +166,19 @@ function f2(t1: { x: T; y: T }, t2: T extends T ? { x: T; y: T } : never) { t1 = t2; // OK >t1 = t2 : T extends T ? { x: T; y: T; } : never -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^ >t1 : { x: T; y: T; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >t2 : T extends T ? { x: T; y: T; } : never -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^ t2 = t1; // should fail >t2 = t1 : { x: T; y: T; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >t2 : T extends T ? { x: T; y: T; } : never -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^ >t1 : { x: T; y: T; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ } type Foo = T extends true ? string : "a"; @@ -287,7 +287,7 @@ function testAssignabilityToConditionalType() { >b : number > : ^^^^^^ >x : [T] extends [string] ? { y: number; } : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^ // Infer type parameters: no good const o2: [T] extends [[infer U]] ? U : { b: number } = o; @@ -350,7 +350,7 @@ type Unwrap = T extends Wrapped ? U : T; declare function set( >set : (obj: T, key: K, value: Unwrap) => Unwrap -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ obj: T, >obj : T @@ -382,7 +382,7 @@ class Foo2 { >set(this, "prop", "hi") : Unwrap > : ^^^^^^^^^^^^^^^^^^^^ >set : (obj: T, key: K, value: Unwrap) => Unwrap -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >"prop" : "prop" @@ -396,7 +396,7 @@ set(new Foo2(), "prop", "hi"); // <-- typechecks >set(new Foo2(), "prop", "hi") : string > : ^^^^^^ >set : (obj: T, key: K, value: Unwrap) => Unwrap -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >new Foo2() : Foo2 > : ^^^^ >Foo2 : typeof Foo2 @@ -417,7 +417,7 @@ type InferBecauseWhyNot = [T] extends [(p: infer P1) => any] function f3 any>(x: Q): InferBecauseWhyNot { >f3 : any>(x: Q) => InferBecauseWhyNot -> : ^ ^^^^^^^^^^ ^^ ^^^^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >arg : any > : ^^^ >x : Q @@ -439,7 +439,7 @@ type InferBecauseWhyNotDistributive = T extends (p: infer P1) => any function f4 any>( >f4 : any>(x: Q) => InferBecauseWhyNotDistributive -> : ^ ^^^^^^^^^^ ^^ ^^^^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >arg : any > : ^^^ diff --git a/tests/baselines/reference/conditionalTypeBasedContextualTypeReturnTypeWidening.types b/tests/baselines/reference/conditionalTypeBasedContextualTypeReturnTypeWidening.types index 690fc78d4eb49..a56552dfb5913 100644 --- a/tests/baselines/reference/conditionalTypeBasedContextualTypeReturnTypeWidening.types +++ b/tests/baselines/reference/conditionalTypeBasedContextualTypeReturnTypeWidening.types @@ -21,7 +21,7 @@ const func1 = useState1(() => () => 0); >useState1(() => () => 0) : () => 0 > : ^^^^^^^ >useState1 : (initialState: (S extends (() => any) ? never : S) | (() => S)) => S -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >() => () => 0 : () => () => 0 > : ^^^^^^^^^^^^^ >() => 0 : () => 0 @@ -35,7 +35,7 @@ const func2 = useState2(() => () => 0); >useState2(() => () => 0) : () => 0 > : ^^^^^^^ >useState2 : (initialState: (S extends ((...args: any[]) => any) ? never : S) | (() => S)) => S -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >() => () => 0 : () => () => 0 > : ^^^^^^^^^^^^^ >() => 0 : () => 0 @@ -45,13 +45,13 @@ const func2 = useState2(() => () => 0); declare function useState3(initialState: (T extends (() => any) ? never : T) | (() => S)): S; // No args >useState3 : (initialState: (T extends (() => any) ? never : T) | (() => S)) => S -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >initialState : (T extends () => any ? never : T) | (() => S) > : ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ declare function useState4(initialState: (T extends ((...args: any[]) => any) ? never : T) | (() => S)): S; // Any args >useState4 : (initialState: (T extends ((...args: any[]) => any) ? never : T) | (() => S)) => S -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >initialState : (T extends (...args: any[]) => any ? never : T) | (() => S) > : ^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ >args : any[] @@ -63,7 +63,7 @@ const func3 = useState1(() => () => 0); >useState1(() => () => 0) : () => 0 > : ^^^^^^^ >useState1 : (initialState: (S extends (() => any) ? never : S) | (() => S)) => S -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >() => () => 0 : () => () => 0 > : ^^^^^^^^^^^^^ >() => 0 : () => 0 @@ -77,7 +77,7 @@ const func4 = useState2(() => () => 0); >useState2(() => () => 0) : () => 0 > : ^^^^^^^ >useState2 : (initialState: (S extends ((...args: any[]) => any) ? never : S) | (() => S)) => S -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >() => () => 0 : () => () => 0 > : ^^^^^^^^^^^^^ >() => 0 : () => 0 diff --git a/tests/baselines/reference/conditionalTypeContextualTypeSimplificationsSuceeds.types b/tests/baselines/reference/conditionalTypeContextualTypeSimplificationsSuceeds.types index 8da02ec8de20d..03d0a271a3c65 100644 --- a/tests/baselines/reference/conditionalTypeContextualTypeSimplificationsSuceeds.types +++ b/tests/baselines/reference/conditionalTypeContextualTypeSimplificationsSuceeds.types @@ -12,7 +12,7 @@ interface Props { function bad

( >bad :

(attrs: string extends keyof P ? { [K in keyof P]: P[K]; } : { [K in keyof P]: P[K]; }) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ attrs: string extends keyof P ? { [K in keyof P]: P[K] } : { [K in keyof P]: P[K] }) { } >attrs : string extends keyof P ? { [K in keyof P]: P[K]; } : { [K_1 in keyof P]: P[K_1]; } @@ -20,7 +20,7 @@ function bad

( function good1

( >good1 :

(attrs: string extends keyof P ? P : { [K in keyof P]: P[K]; }) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ attrs: string extends keyof P ? P : { [K in keyof P]: P[K] }) { } >attrs : string extends keyof P ? P : { [K in keyof P]: P[K]; } @@ -28,7 +28,7 @@ function good1

( function good2

( >good2 :

(attrs: { [K in keyof P]: P[K]; }) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ attrs: { [K in keyof P]: P[K] }) { } >attrs : { [K in keyof P]: P[K]; } @@ -38,7 +38,7 @@ bad({ when: value => false }); >bad({ when: value => false }) : void > : ^^^^ >bad :

(attrs: string extends keyof P ? { [K in keyof P]: P[K]; } : { [K in keyof P]: P[K]; }) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >{ when: value => false } : { when: (value: string) => false; } > : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ >when : (value: string) => false @@ -54,7 +54,7 @@ good1({ when: value => false }); >good1({ when: value => false }) : void > : ^^^^ >good1 :

(attrs: string extends keyof P ? P : { [K in keyof P]: P[K]; }) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >{ when: value => false } : { when: (value: string) => false; } > : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ >when : (value: string) => false @@ -70,7 +70,7 @@ good2({ when: value => false }); >good2({ when: value => false }) : void > : ^^^^ >good2 :

(attrs: { [K in keyof P]: P[K]; }) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >{ when: value => false } : { when: (value: string) => false; } > : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ >when : (value: string) => false diff --git a/tests/baselines/reference/conditionalTypeDiscriminatingLargeUnionRegularTypeFetchingSpeedReasonable.types b/tests/baselines/reference/conditionalTypeDiscriminatingLargeUnionRegularTypeFetchingSpeedReasonable.types index ae4982d669c44..b53132a7c94ba 100644 --- a/tests/baselines/reference/conditionalTypeDiscriminatingLargeUnionRegularTypeFetchingSpeedReasonable.types +++ b/tests/baselines/reference/conditionalTypeDiscriminatingLargeUnionRegularTypeFetchingSpeedReasonable.types @@ -20024,8 +20024,8 @@ type ChildrenOf = T['children'][number]; > : ^^^^^^^^^^^^^ export function makeThing( ->makeThing : (name: T, children?: ChildrenOf>[]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ +>makeThing : (name: T, children?: ChildrenOf>[]) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ name: T, >name : T diff --git a/tests/baselines/reference/conditionalTypeDoesntSpinForever.types b/tests/baselines/reference/conditionalTypeDoesntSpinForever.types index 6ef34a39dd716..cf591a358dfca 100644 --- a/tests/baselines/reference/conditionalTypeDoesntSpinForever.types +++ b/tests/baselines/reference/conditionalTypeDoesntSpinForever.types @@ -109,12 +109,12 @@ export enum PubSubRecordIsStoredInRedisAsA { > : ^^^^^^^^^^^^^^^^^ ^^^ >Object.assign({}, soFar, {name: instance as TYPE}) : SO_FAR & { name: TYPE; } > : ^^^^^^^^^^^^^^^^^ ^^^ ->Object.assign : { (target: T, source: U): T & U; (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; (target: T_2, source1: U_2, source2: V_1, source3: W): T_2 & U_2 & V_1 & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +>Object.assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ ->assign : { (target: T, source: U): T & U; (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; (target: T_2, source1: U_2, source2: V_1, source3: W): T_2 & U_2 & V_1 & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +>assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >{} : {} > : ^^ >soFar : SO_FAR @@ -198,12 +198,12 @@ export enum PubSubRecordIsStoredInRedisAsA { > : ^ ^^ ^^ ^^^^^ >Object.assign({}, soFar, {storedAs: PubSubRecordIsStoredInRedisAsA.jsonEncodedRedisString}) : SO_FAR & { storedAs: PubSubRecordIsStoredInRedisAsA; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->Object.assign : { (target: T, source: U): T & U; (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; (target: T_2, source1: U_2, source2: V_1, source3: W): T_2 & U_2 & V_1 & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +>Object.assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ ->assign : { (target: T, source: U): T & U; (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; (target: T_2, source1: U_2, source2: V_1, source3: W): T_2 & U_2 & V_1 & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +>assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >{} : {} > : ^^ >soFar : SO_FAR @@ -240,12 +240,12 @@ export enum PubSubRecordIsStoredInRedisAsA { > : ^ ^^ ^^ ^^^^^ >Object.assign({}, soFar, {storedAs: PubSubRecordIsStoredInRedisAsA.redisHash}) : SO_FAR & { storedAs: PubSubRecordIsStoredInRedisAsA; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->Object.assign : { (target: T, source: U): T & U; (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; (target: T_2, source1: U_2, source2: V_1, source3: W): T_2 & U_2 & V_1 & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +>Object.assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ ->assign : { (target: T, source: U): T & U; (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; (target: T_2, source1: U_2, source2: V_1, source3: W): T_2 & U_2 & V_1 & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +>assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >{} : {} > : ^^ >soFar : SO_FAR @@ -283,7 +283,7 @@ export enum PubSubRecordIsStoredInRedisAsA { identifier: >(t?: TYPE) => BuildPubSubRecordType >identifier : >(t?: TYPE) => BuildPubSubRecordType -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^ ^^^^^ >t : TYPE > : ^^^^ >identifier : TYPE @@ -350,12 +350,12 @@ export enum PubSubRecordIsStoredInRedisAsA { > : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Object.assign({}, soFar, {identifier: instance as TYPE}) : SO_FAR & Record<"record", unknown> & { identifier: TYPE; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ->Object.assign : { (target: T, source: U): T & U; (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; (target: T_2, source1: U_2, source2: V_1, source3: W): T_2 & U_2 & V_1 & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +>Object.assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ ->assign : { (target: T, source: U): T & U; (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; (target: T_2, source1: U_2, source2: V_1, source3: W): T_2 & U_2 & V_1 & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +>assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >{} : {} > : ^^ >soFar : SO_FAR & Record<"record", unknown> @@ -437,12 +437,12 @@ export enum PubSubRecordIsStoredInRedisAsA { > : ^^^^^^^^^^^^^^^^^^^ ^^^ >Object.assign({}, soFar, {record: instance as TYPE}) : SO_FAR & { record: TYPE; } > : ^^^^^^^^^^^^^^^^^^^ ^^^ ->Object.assign : { (target: T, source: U): T & U; (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; (target: T_2, source1: U_2, source2: V_1, source3: W): T_2 & U_2 & V_1 & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +>Object.assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ ->assign : { (target: T, source: U): T & U; (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; (target: T_2, source1: U_2, source2: V_1, source3: W): T_2 & U_2 & V_1 & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +>assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >{} : {} > : ^^ >soFar : SO_FAR @@ -530,12 +530,12 @@ export enum PubSubRecordIsStoredInRedisAsA { > : ^ ^^ ^^ ^^^^^ >Object.assign({}, soFar, {maxMsToWaitBeforePublishing: instance}) : SO_FAR & { maxMsToWaitBeforePublishing: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->Object.assign : { (target: T, source: U): T & U; (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; (target: T_2, source1: U_2, source2: V_1, source3: W): T_2 & U_2 & V_1 & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +>Object.assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ ->assign : { (target: T, source: U): T & U; (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; (target: T_2, source1: U_2, source2: V_1, source3: W): T_2 & U_2 & V_1 & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +>assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >{} : {} > : ^^ >soFar : SO_FAR @@ -564,12 +564,12 @@ export enum PubSubRecordIsStoredInRedisAsA { > : ^ ^^ ^^ ^^^^^ >Object.assign({}, soFar, {maxMsToWaitBeforePublishing: 0}) : SO_FAR & { maxMsToWaitBeforePublishing: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->Object.assign : { (target: T, source: U): T & U; (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; (target: T_2, source1: U_2, source2: V_1, source3: W): T_2 & U_2 & V_1 & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +>Object.assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ ->assign : { (target: T, source: U): T & U; (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; (target: T_2, source1: U_2, source2: V_1, source3: W): T_2 & U_2 & V_1 & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +>assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >{} : {} > : ^^ >soFar : SO_FAR @@ -683,11 +683,11 @@ export enum PubSubRecordIsStoredInRedisAsA { >Object.keys(soFar) : string[] > : ^^^^^^^^ >Object.keys : { (o: object): string[]; (o: {}): string[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >keys : { (o: object): string[]; (o: {}): string[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >soFar : SO_FAR > : ^^^^^^ @@ -729,12 +729,12 @@ export enum PubSubRecordIsStoredInRedisAsA { > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.assign( {}, buildNameFieldConstructor(soFar), buildIdentifierFieldConstructor(soFar), buildRecordFieldConstructor(soFar), buildStoredAsConstructor(soFar), buildMaxMsToWaitBeforePublishingFieldConstructor(soFar), buildType(soFar) ) : any > : ^^^ ->Object.assign : { (target: T, source: U): T & U; (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; (target: T_2, source1: U_2, source2: V_1, source3: W): T_2 & U_2 & V_1 & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +>Object.assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ ->assign : { (target: T, source: U): T & U; (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; (target: T_2, source1: U_2, source2: V_1, source3: W): T_2 & U_2 & V_1 & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +>assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ {}, >{} : {} @@ -766,7 +766,7 @@ export enum PubSubRecordIsStoredInRedisAsA { buildStoredAsConstructor(soFar), >buildStoredAsConstructor(soFar) : { storedAsJsonEncodedRedisString?: undefined; storedAsRedisHash?: undefined; } | { storedAsJsonEncodedRedisString: () => BuildPubSubRecordType; storedAsRedisHash: () => BuildPubSubRecordType; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ >buildStoredAsConstructor : (soFar: SO_FAR_1) => { storedAsJsonEncodedRedisString?: undefined; storedAsRedisHash?: undefined; } | { storedAsJsonEncodedRedisString: () => BuildPubSubRecordType; storedAsRedisHash: () => BuildPubSubRecordType; } > : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >soFar : SO_FAR diff --git a/tests/baselines/reference/conditionalTypeRelaxingConstraintAssignability.types b/tests/baselines/reference/conditionalTypeRelaxingConstraintAssignability.types index 8e55fd5fb2afa..b9fd8f3398815 100644 --- a/tests/baselines/reference/conditionalTypeRelaxingConstraintAssignability.types +++ b/tests/baselines/reference/conditionalTypeRelaxingConstraintAssignability.types @@ -126,7 +126,7 @@ function g(p1: I, p2: Partial): I { >f(p1, p2) : I > : ^ >f : (t: T, partial: DeepPartial) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >p1 : I > : ^ >p2 : Partial diff --git a/tests/baselines/reference/conditionalTypeSubclassExtendsTypeParam.types b/tests/baselines/reference/conditionalTypeSubclassExtendsTypeParam.types index 0d2142aa0dea2..3725dc4053ba3 100644 --- a/tests/baselines/reference/conditionalTypeSubclassExtendsTypeParam.types +++ b/tests/baselines/reference/conditionalTypeSubclassExtendsTypeParam.types @@ -7,7 +7,7 @@ declare class Model { public getField2(): Field >getField2 : () => Field -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ } declare class Field { diff --git a/tests/baselines/reference/conditionalTypes1.types b/tests/baselines/reference/conditionalTypes1.types index 4cde0a01a3c2f..d2b47907af5d2 100644 --- a/tests/baselines/reference/conditionalTypes1.types +++ b/tests/baselines/reference/conditionalTypes1.types @@ -55,7 +55,7 @@ function f1(x: T, y: NonNullable) { function f2(x: T, y: NonNullable) { >f2 : (x: T, y: NonNullable) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ >y : NonNullable @@ -117,7 +117,7 @@ function f3(x: Partial[keyof T], y: NonNullable[keyof T]>) { function f4(x: T["x"], y: NonNullable) { >f4 : (x: T["x"], y: NonNullable) => void -> : ^ ^^^^^^^^^^^^^^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : string | undefined > : ^^^^^^^^^^^^^^^^^^ >x : T["x"] @@ -172,7 +172,7 @@ type Options = { k: "a", a: number } | { k: "b", b: string } | { k: "c", c: bool type T10 = Exclude; // { k: "c", c: boolean } >T10 : { k: "c"; c: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >k : "a" | "b" > : ^^^^^^^^^ @@ -184,7 +184,7 @@ type T11 = Extract; // { k: "a", a: number } | { k: type T12 = Exclude; // { k: "c", c: boolean } >T12 : { k: "c"; c: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >k : "a" > : ^^^ >k : "b" @@ -212,7 +212,7 @@ type T15 = Extract; // never declare function f5(p: K): Extract; >f5 : (p: K) => Extract -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >p : K > : ^ >k : K @@ -220,11 +220,11 @@ declare function f5(p: K): Extractx0 : { k: "a"; a: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >f5("a") : { k: "a"; a: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >f5 : (p: K) => Extract -> : ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >"a" : "a" > : ^^^ @@ -619,8 +619,8 @@ type ZeroOf = T extends number ? 0 : T exte > : ^^^^^ function zeroOf(value: T) { ->zeroOf : (value: T) => ZeroOf -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +>zeroOf : (value: T) => ZeroOf +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >value : T > : ^ @@ -659,7 +659,7 @@ function zeroOf(value: T) { function f20(n: number, b: boolean, x: number | boolean, y: T) { >f20 : (n: number, b: boolean, x: number | boolean, y: T) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >n : number > : ^^^^^^ >b : boolean @@ -672,63 +672,63 @@ function f20(n: number, b: boolean, x: number | boolean, y: T) zeroOf(5); // 0 >zeroOf(5) : 0 > : ^ ->zeroOf : (value: T_1) => ZeroOf -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +>zeroOf : (value: T_1) => ZeroOf +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >5 : 5 > : ^ zeroOf("hello"); // "" >zeroOf("hello") : "" > : ^^ ->zeroOf : (value: T_1) => ZeroOf -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +>zeroOf : (value: T_1) => ZeroOf +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ zeroOf(true); // false >zeroOf(true) : false > : ^^^^^ ->zeroOf : (value: T_1) => ZeroOf -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +>zeroOf : (value: T_1) => ZeroOf +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >true : true > : ^^^^ zeroOf(n); // 0 >zeroOf(n) : 0 > : ^ ->zeroOf : (value: T_1) => ZeroOf -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +>zeroOf : (value: T_1) => ZeroOf +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >n : number > : ^^^^^^ zeroOf(b); // False >zeroOf(b) : false > : ^^^^^ ->zeroOf : (value: T_1) => ZeroOf -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +>zeroOf : (value: T_1) => ZeroOf +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >b : boolean > : ^^^^^^^ zeroOf(x); // 0 | false >zeroOf(x) : false | 0 > : ^^^^^^^^^ ->zeroOf : (value: T_1) => ZeroOf -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +>zeroOf : (value: T_1) => ZeroOf +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : number | boolean > : ^^^^^^^^^^^^^^^^ zeroOf(y); // ZeroOf >zeroOf(y) : ZeroOf > : ^^^^^^^^^ ->zeroOf : (value: T_1) => ZeroOf -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +>zeroOf : (value: T_1) => ZeroOf +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >y : T > : ^ } function f21(x: T, y: ZeroOf) { ->f21 : (x: T, y: ZeroOf) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +>f21 : (x: T, y: ZeroOf) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ >y : ZeroOf @@ -1048,7 +1048,7 @@ function f22(x: T extends (infer U)[] ? U[] : never) { function f23(x: T extends (infer U)[] ? U[] : never) { >f23 : (x: T extends (infer U)[] ? U[] : never) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T extends (infer U)[] ? U[] : never > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -1577,7 +1577,7 @@ assign(a, {o: 2, c: {0: {a: 2, c: '213123'}}}) >assign(a, {o: 2, c: {0: {a: 2, c: '213123'}}}) : void > : ^^^^ >assign : (o: T, a: RecursivePartial) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >a : { o: number; b: number; c: { a: number; c: string; }[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{o: 2, c: {0: {a: 2, c: '213123'}}} : { o: number; c: { 0: { a: number; c: string; }; }; } diff --git a/tests/baselines/reference/conditionalTypes2.types b/tests/baselines/reference/conditionalTypes2.types index a0dab5b5a8d98..420f38399194e 100644 --- a/tests/baselines/reference/conditionalTypes2.types +++ b/tests/baselines/reference/conditionalTypes2.types @@ -21,7 +21,7 @@ interface Invariant { function f1(a: Covariant, b: Covariant) { >f1 : (a: Covariant, b: Covariant) => void -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >a : Covariant > : ^^^^^^^^^^^^ >b : Covariant @@ -46,7 +46,7 @@ function f1(a: Covariant, b: Covariant) { function f2(a: Contravariant, b: Contravariant) { >f2 : (a: Contravariant, b: Contravariant) => void -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >a : Contravariant > : ^^^^^^^^^^^^^^^^ >b : Contravariant @@ -71,7 +71,7 @@ function f2(a: Contravariant, b: Contravariant) { function f3(a: Invariant, b: Invariant) { >f3 : (a: Invariant, b: Invariant) => void -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >a : Invariant > : ^^^^^^^^^^^^ >b : Invariant @@ -122,7 +122,7 @@ function getFunction(item: T) { >isFunction(item) : boolean > : ^^^^^^^ >isFunction : (value: T_1) => value is Extract -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >item : T > : ^ @@ -147,7 +147,7 @@ function f10(x: T) { >isFunction(x) : boolean > : ^^^^^^^ >isFunction : (value: T_1) => value is Extract -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : T > : ^ @@ -175,15 +175,15 @@ function f11(x: string | (() => string) | undefined) { >isFunction(x) : boolean > : ^^^^^^^ >isFunction : (value: T) => value is Extract -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : string | (() => string) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ x(); >x() : string > : ^^^^^^ >x : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } @@ -195,19 +195,19 @@ function f12(x: string | (() => string) | undefined) { const f = getFunction(x); // () => string >f : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >getFunction(x) : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >getFunction : (item: T) => Extract > : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : string | (() => string) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ f(); >f() : string > : ^^^^^^ >f : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } type Foo = { foo: string }; @@ -260,7 +260,7 @@ function f20(x: Extract, Bar>, y: Extract, z: E >fooBar(x) : void > : ^^^^ >fooBar : (x: { foo: string; bar: string; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : Extract, Bar> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -268,7 +268,7 @@ function f20(x: Extract, Bar>, y: Extract, z: E >fooBar(y) : void > : ^^^^ >fooBar : (x: { foo: string; bar: string; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >y : Extract > : ^^^^^^^^^^^^^^^^^^^^^ @@ -276,7 +276,7 @@ function f20(x: Extract, Bar>, y: Extract, z: E >fooBar(z) : void > : ^^^^ >fooBar : (x: { foo: string; bar: string; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >z : Extract2 > : ^^^^^^^^^^^^^^^^^^^^^ } @@ -295,7 +295,7 @@ function f21(x: Extract, Bar>, y: Extract, z: E >fooBat(x) : void > : ^^^^ >fooBat : (x: { foo: string; bat: string; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : Extract, Bar> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -303,7 +303,7 @@ function f21(x: Extract, Bar>, y: Extract, z: E >fooBat(y) : void > : ^^^^ >fooBat : (x: { foo: string; bat: string; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >y : Extract > : ^^^^^^^^^^^^^^^^^^^^^ @@ -311,7 +311,7 @@ function f21(x: Extract, Bar>, y: Extract, z: E >fooBat(z) : void > : ^^^^ >fooBat : (x: { foo: string; bat: string; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >z : Extract2 > : ^^^^^^^^^^^^^^^^^^^^^ } @@ -356,7 +356,7 @@ class Vector implements Seq { } partition2(predicate:(v:T)=>v is U): [Vector,Vector>]; >partition2 : { (predicate: (v: T) => v is U): [Vector, Vector>]; (predicate: (x: T) => boolean): [Vector, Vector]; } -> : ^^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >predicate : (v: T) => v is U > : ^ ^^ ^^^^^ >v : T @@ -364,7 +364,7 @@ class Vector implements Seq { partition2(predicate:(x:T)=>boolean): [Vector,Vector]; >partition2 : { (predicate: (v: T) => v is U): [Vector, Vector>]; (predicate: (x: T) => boolean): [Vector, Vector]; } -> : ^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >predicate : (x: T) => boolean > : ^ ^^ ^^^^^ >x : T @@ -372,7 +372,7 @@ class Vector implements Seq { partition2(predicate:(v:T)=>boolean): [Vector,Vector] { >partition2 : { (predicate: (v: T) => v is U_1): [Vector, Vector>]; (predicate: (x: T) => boolean): [Vector, Vector]; } -> : ^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >predicate : (v: T) => boolean > : ^ ^^ ^^^^^ >v : T @@ -430,7 +430,7 @@ function foo(value: T) { >isFunction(value) : boolean > : ^^^^^^^ >isFunction : (value: T_1) => value is Extract -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >value : T > : ^ @@ -438,7 +438,7 @@ function foo(value: T) { >toString1(value) : string > : ^^^^^^ >toString1 : (value: object | Function) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >value : Extract > : ^^^^^^^^^^^^^^^^^^^^ @@ -446,7 +446,7 @@ function foo(value: T) { >toString2(value) : string > : ^^^^^^ >toString2 : (value: Function) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >value : Extract > : ^^^^^^^^^^^^^^^^^^^^ } @@ -652,9 +652,9 @@ exportCommand(save); >exportCommand(save) : void > : ^^^^ >exportCommand : (functionToCall: IExportCallback) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >save : (_response: IRootResponse) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ declare function exportCommand(functionToCall: IExportCallback): void; >exportCommand : (functionToCall: IExportCallback) => void @@ -745,9 +745,9 @@ gg(ff); >gg(ff) : void > : ^^^^ >gg : (f: (x: Foo3) => void) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >ff : (x: Foo3) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ // Repro from #41613 diff --git a/tests/baselines/reference/conditionalTypesExcessProperties.types b/tests/baselines/reference/conditionalTypesExcessProperties.types index ec4c2d40b18b4..2deb2fb464877 100644 --- a/tests/baselines/reference/conditionalTypesExcessProperties.types +++ b/tests/baselines/reference/conditionalTypesExcessProperties.types @@ -20,7 +20,7 @@ type Something = { test: string } & (T extends object ? { function testFunc2(a: A, sa: Something) { >testFunc2 : (a: A, sa: Something) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >a : A > : ^ >sa : Something diff --git a/tests/baselines/reference/conditionallyDuplicateOverloadsCausedByOverloadResolution.types b/tests/baselines/reference/conditionallyDuplicateOverloadsCausedByOverloadResolution.types index eb2c3818264f8..9ec6db762e6b8 100644 --- a/tests/baselines/reference/conditionallyDuplicateOverloadsCausedByOverloadResolution.types +++ b/tests/baselines/reference/conditionallyDuplicateOverloadsCausedByOverloadResolution.types @@ -3,7 +3,7 @@ === conditionallyDuplicateOverloadsCausedByOverloadResolution.ts === declare function foo(func: (x: string, y: string) => any): boolean; >foo : { (func: (x: string, y: string) => any): boolean; (func: (x: string, y: number) => any): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >func : (x: string, y: string) => any > : ^ ^^ ^^ ^^ ^^^^^ >x : string @@ -13,7 +13,7 @@ declare function foo(func: (x: string, y: string) => any): boolean; declare function foo(func: (x: string, y: number) => any): string; >foo : { (func: (x: string, y: string) => any): boolean; (func: (x: string, y: number) => any): string; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >func : (x: string, y: number) => any > : ^ ^^ ^^ ^^ ^^^^^ >x : string @@ -27,7 +27,7 @@ var out = foo((x, y) => { >foo((x, y) => { function bar(a: typeof x): void; function bar(b: typeof y): void; function bar() { } return bar;}) : boolean > : ^^^^^^^ >foo : { (func: (x: string, y: string) => any): boolean; (func: (x: string, y: number) => any): string; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >(x, y) => { function bar(a: typeof x): void; function bar(b: typeof y): void; function bar() { } return bar;} : (x: string, y: string) => { (a: typeof x): void; (b: typeof y): void; } > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string @@ -37,7 +37,7 @@ var out = foo((x, y) => { function bar(a: typeof x): void; >bar : { (a: typeof x): void; (b: typeof y): void; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : string > : ^^^^^^ >x : string @@ -45,7 +45,7 @@ var out = foo((x, y) => { function bar(b: typeof y): void; >bar : { (a: typeof x): void; (b: typeof y): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : string > : ^^^^^^ >y : string @@ -53,17 +53,17 @@ var out = foo((x, y) => { function bar() { } >bar : { (a: typeof x): void; (b: typeof y): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ return bar; >bar : { (a: typeof x): void; (b: typeof y): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ }); declare function foo2(func: (x: string, y: string) => any): boolean; >foo2 : { (func: (x: string, y: string) => any): boolean; (func: (x: string, y: number) => any): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >func : (x: string, y: string) => any > : ^ ^^ ^^ ^^ ^^^^^ >x : string @@ -73,7 +73,7 @@ declare function foo2(func: (x: string, y: string) => any): boolean; declare function foo2(func: (x: string, y: number) => any): string; >foo2 : { (func: (x: string, y: string) => any): boolean; (func: (x: string, y: number) => any): string; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >func : (x: string, y: number) => any > : ^ ^^ ^^ ^^ ^^^^^ >x : string @@ -87,7 +87,7 @@ var out2 = foo2((x, y) => { >foo2((x, y) => { var bar: { (a: typeof x): void; (b: typeof y): void; }; return bar;}) : boolean > : ^^^^^^^ >foo2 : { (func: (x: string, y: string) => any): boolean; (func: (x: string, y: number) => any): string; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >(x, y) => { var bar: { (a: typeof x): void; (b: typeof y): void; }; return bar;} : (x: string, y: string) => { (a: typeof x): void; (b: typeof y): void; } > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string @@ -114,6 +114,6 @@ var out2 = foo2((x, y) => { }; return bar; >bar : { (a: typeof x): void; (b: typeof y): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ }); diff --git a/tests/baselines/reference/configFileExtendsAsList.types b/tests/baselines/reference/configFileExtendsAsList.types index 9fb65f5a38f36..81bb0266fd9e2 100644 --- a/tests/baselines/reference/configFileExtendsAsList.types +++ b/tests/baselines/reference/configFileExtendsAsList.types @@ -15,9 +15,9 @@ y.toLowerCase(); // strictNullChecks error >y.toLowerCase() : string > : ^^^^^^ >y.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >y : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/conflictingDeclarationsImportFromNamespace1.types b/tests/baselines/reference/conflictingDeclarationsImportFromNamespace1.types index dce6aba71b518..a03e6763b5da7 100644 --- a/tests/baselines/reference/conflictingDeclarationsImportFromNamespace1.types +++ b/tests/baselines/reference/conflictingDeclarationsImportFromNamespace1.types @@ -12,7 +12,7 @@ declare module "./index" { interface LoDashStatic { pick( >pick : (object: T, ...props: Array) => Pick -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ object: T, >object : T @@ -29,11 +29,11 @@ declare module "./index" { === node_modules/@types/lodash/pick.d.ts === import { pick } from "./index"; >pick : (object: T, ...props: Array) => Pick -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ export = pick; >pick : (object: T, ...props: Array) => Pick -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ === node_modules/@types/lodash/index.d.ts === /// @@ -58,7 +58,7 @@ declare namespace _ { === index.ts === import * as pick from 'lodash/pick'; >pick : (object: T, ...props: Array) => Pick -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ export const pick = () => pick(); >pick : () => any diff --git a/tests/baselines/reference/conflictingDeclarationsImportFromNamespace2.types b/tests/baselines/reference/conflictingDeclarationsImportFromNamespace2.types index 5c96532f675a6..d258c492aa683 100644 --- a/tests/baselines/reference/conflictingDeclarationsImportFromNamespace2.types +++ b/tests/baselines/reference/conflictingDeclarationsImportFromNamespace2.types @@ -12,7 +12,7 @@ declare module "./index" { interface LoDashStatic { pick: ( >pick : (object: T, ...props: Array) => Pick -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ object: T, >object : T @@ -29,11 +29,11 @@ declare module "./index" { === node_modules/@types/lodash/pick.d.ts === import { pick } from "./index"; >pick : (object: T, ...props: Array) => Pick -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ export = pick; >pick : (object: T, ...props: Array) => Pick -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ === node_modules/@types/lodash/index.d.ts === /// @@ -58,7 +58,7 @@ declare namespace _ { === index.ts === import * as pick from 'lodash/pick'; >pick : (object: T, ...props: Array) => Pick -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ export const pick = () => pick(); >pick : () => any diff --git a/tests/baselines/reference/conflictingTypeAnnotatedVar.types b/tests/baselines/reference/conflictingTypeAnnotatedVar.types index 3d209000d9735..f7dd6ea206419 100644 --- a/tests/baselines/reference/conflictingTypeAnnotatedVar.types +++ b/tests/baselines/reference/conflictingTypeAnnotatedVar.types @@ -11,5 +11,5 @@ function foo(): number { } function foo(): number { } >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/constAssertions.types b/tests/baselines/reference/constAssertions.types index dd3dd6398e332..e64ff4ce6e3fa 100644 --- a/tests/baselines/reference/constAssertions.types +++ b/tests/baselines/reference/constAssertions.types @@ -601,7 +601,7 @@ let e3 = id(1) as const; // Error >id(1) : 1 > : ^ >id : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >1 : 1 > : ^ @@ -670,7 +670,7 @@ function ff1(x: 'foo' | 'bar', y: 1 | 2) { function ff2(x: T, y: U) { >ff2 : (x: T, y: U) => `${T}-${U}` -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ >x : T > : ^ >y : U @@ -693,7 +693,7 @@ const ts1 = ff2('foo', 'bar'); >ff2('foo', 'bar') : "foo-bar" > : ^^^^^^^^^ >ff2 : (x: T, y: U) => `${T}-${U}` -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ >'foo' : "foo" > : ^^^^^ >'bar' : "bar" @@ -705,7 +705,7 @@ const ts2 = ff2('foo', !!true ? '0' : '1'); >ff2('foo', !!true ? '0' : '1') : "foo-1" | "foo-0" > : ^^^^^^^^^^^^^^^^^ >ff2 : (x: T, y: U) => `${T}-${U}` -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ >'foo' : "foo" > : ^^^^^ >!!true ? '0' : '1' : "0" | "1" @@ -727,7 +727,7 @@ const ts3 = ff2(!!true ? 'top' : 'bottom', !!true ? 'left' : 'right'); >ff2(!!true ? 'top' : 'bottom', !!true ? 'left' : 'right') : "top-left" | "top-right" | "bottom-left" | "bottom-right" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >ff2 : (x: T, y: U) => `${T}-${U}` -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ >!!true ? 'top' : 'bottom' : "top" | "bottom" > : ^^^^^^^^^^^^^^^^ >!!true : true @@ -884,7 +884,7 @@ function ff5(verify: boolean, contentMatches: boolean) { function accessorNames(propName: S) { >accessorNames : (propName: S) => readonly [`get-${S}`, `set-${S}`] -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >propName : S > : ^ @@ -909,7 +909,7 @@ const ns1 = accessorNames('foo'); >accessorNames('foo') : readonly ["get-foo", "set-foo"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >accessorNames : (propName: S) => readonly [`get-${S}`, `set-${S}`] -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'foo' : "foo" > : ^^^^^ diff --git a/tests/baselines/reference/constDeclarations-access2.types b/tests/baselines/reference/constDeclarations-access2.types index d21531db4ab8d..cd01c56db5549 100644 --- a/tests/baselines/reference/constDeclarations-access2.types +++ b/tests/baselines/reference/constDeclarations-access2.types @@ -193,9 +193,9 @@ x.toString(); >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/constDeclarations-access3.types b/tests/baselines/reference/constDeclarations-access3.types index 61af6834cf444..78061b4268fa0 100644 --- a/tests/baselines/reference/constDeclarations-access3.types +++ b/tests/baselines/reference/constDeclarations-access3.types @@ -306,7 +306,7 @@ M.x.toString(); >M.x.toString() : string > : ^^^^^^ >M.x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >M.x : 0 > : ^ >M : typeof M @@ -314,5 +314,5 @@ M.x.toString(); >x : 0 > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/constDeclarations-access4.types b/tests/baselines/reference/constDeclarations-access4.types index 67d1056a28c78..54064b5a8599e 100644 --- a/tests/baselines/reference/constDeclarations-access4.types +++ b/tests/baselines/reference/constDeclarations-access4.types @@ -304,7 +304,7 @@ M.x.toString(); >M.x.toString() : string > : ^^^^^^ >M.x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >M.x : number > : ^^^^^^ >M : typeof M @@ -312,5 +312,5 @@ M.x.toString(); >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/constDeclarations-access5.types b/tests/baselines/reference/constDeclarations-access5.types index 6c919c4df0c63..54ad90a7a7f49 100644 --- a/tests/baselines/reference/constDeclarations-access5.types +++ b/tests/baselines/reference/constDeclarations-access5.types @@ -304,7 +304,7 @@ m.x.toString(); >m.x.toString() : string > : ^^^^^^ >m.x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >m.x : 0 > : ^ >m : typeof m @@ -312,7 +312,7 @@ m.x.toString(); >x : 0 > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ === constDeclarations_access_1.ts === export const x = 0; diff --git a/tests/baselines/reference/constEnum2.types b/tests/baselines/reference/constEnum2.types index 925fd300ae866..fbf5db0f6796f 100644 --- a/tests/baselines/reference/constEnum2.types +++ b/tests/baselines/reference/constEnum2.types @@ -37,21 +37,21 @@ const enum D { >Math.floor(Math.random() * 1000) : number > : ^^^^^^ >Math.floor : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >floor : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math.random() * 1000 : number > : ^^^^^^ >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >1000 : 1000 > : ^^^^ @@ -71,21 +71,21 @@ const enum D { >Math.floor(Math.random() % 8) : number > : ^^^^^^ >Math.floor : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >floor : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math.random() % 8 : number > : ^^^^^^ >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >8 : 8 > : ^ diff --git a/tests/baselines/reference/constEnumErrors.types b/tests/baselines/reference/constEnumErrors.types index dac9eff6e5ce7..3c1b64ca3c5ca 100644 --- a/tests/baselines/reference/constEnumErrors.types +++ b/tests/baselines/reference/constEnumErrors.types @@ -127,7 +127,7 @@ foo(E2); >foo(E2) : void > : ^^^^ >foo : (t: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >E2 : typeof E2 > : ^^^^^^^^^ diff --git a/tests/baselines/reference/constEnumNoObjectPrototypePropertyAccess.types b/tests/baselines/reference/constEnumNoObjectPrototypePropertyAccess.types index d2af85522d212..3f677bc15ec17 100644 --- a/tests/baselines/reference/constEnumNoObjectPrototypePropertyAccess.types +++ b/tests/baselines/reference/constEnumNoObjectPrototypePropertyAccess.types @@ -11,11 +11,11 @@ console.log(Bebra.constructor) >console.log(Bebra.constructor) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Bebra.constructor : any > : ^^^ >Bebra : typeof Bebra @@ -27,11 +27,11 @@ console.log(Bebra.hasOwnProperty) >console.log(Bebra.hasOwnProperty) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Bebra.hasOwnProperty : any > : ^^^ >Bebra : typeof Bebra @@ -43,11 +43,11 @@ console.log(Bebra.isPrototypeOf) >console.log(Bebra.isPrototypeOf) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Bebra.isPrototypeOf : any > : ^^^ >Bebra : typeof Bebra @@ -59,11 +59,11 @@ console.log(Bebra.propertyIsEnumerable) >console.log(Bebra.propertyIsEnumerable) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Bebra.propertyIsEnumerable : any > : ^^^ >Bebra : typeof Bebra @@ -75,11 +75,11 @@ console.log(Bebra.toLocaleString) >console.log(Bebra.toLocaleString) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Bebra.toLocaleString : any > : ^^^ >Bebra : typeof Bebra @@ -91,11 +91,11 @@ console.log(Bebra.toString) >console.log(Bebra.toString) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Bebra.toString : any > : ^^^ >Bebra : typeof Bebra @@ -107,11 +107,11 @@ console.log(Bebra.valueOf) >console.log(Bebra.valueOf) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Bebra.valueOf : any > : ^^^ >Bebra : typeof Bebra diff --git a/tests/baselines/reference/constEnumPropertyAccess3.types b/tests/baselines/reference/constEnumPropertyAccess3.types index 4d1871ac0ac4f..dbe5149b90c66 100644 --- a/tests/baselines/reference/constEnumPropertyAccess3.types +++ b/tests/baselines/reference/constEnumPropertyAccess3.types @@ -64,7 +64,7 @@ E.A.toString(); >E.A.toString() : string > : ^^^^^^ >E.A.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >E.A : E.A > : ^^^ >E : typeof E @@ -72,13 +72,13 @@ E.A.toString(); >A : E.A > : ^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ E.B.toString(); >E.B.toString() : string > : ^^^^^^ >E.B.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >E.B : E.B > : ^^^ >E : typeof E @@ -86,13 +86,13 @@ E.B.toString(); >B : E.B > : ^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ E.C.toString(); >E.C.toString() : string > : ^^^^^^ >E.C.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >E.C : E.C > : ^^^ >E : typeof E @@ -100,13 +100,13 @@ E.C.toString(); >C : E.C > : ^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ E.D.toString(); >E.D.toString() : string > : ^^^^^^ >E.D.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >E.D : E.C > : ^^^ >E : typeof E @@ -114,13 +114,13 @@ E.D.toString(); >D : E.C > : ^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ E["A"].toString(); >E["A"].toString() : string > : ^^^^^^ >E["A"].toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >E["A"] : E.A > : ^^^ >E : typeof E @@ -128,13 +128,13 @@ E["A"].toString(); >"A" : "A" > : ^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ E["B"].toString(); >E["B"].toString() : string > : ^^^^^^ >E["B"].toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >E["B"] : E.B > : ^^^ >E : typeof E @@ -142,13 +142,13 @@ E["B"].toString(); >"B" : "B" > : ^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ E["C"].toString(); >E["C"].toString() : string > : ^^^^^^ >E["C"].toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >E["C"] : E.C > : ^^^ >E : typeof E @@ -156,13 +156,13 @@ E["C"].toString(); >"C" : "C" > : ^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ E["D"].toString(); >E["D"].toString() : string > : ^^^^^^ >E["D"].toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >E["D"] : E.C > : ^^^ >E : typeof E @@ -170,13 +170,13 @@ E["D"].toString(); >"D" : "D" > : ^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ E["E"].toString(); >E["E"].toString() : string > : ^^^^^^ >E["E"].toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >E["E"] : E.E > : ^^^ >E : typeof E @@ -184,5 +184,5 @@ E["E"].toString(); >"E" : "E" > : ^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/constEnumToStringNoComments.types b/tests/baselines/reference/constEnumToStringNoComments.types index 607d59dfae2fc..28649bed99cbe 100644 --- a/tests/baselines/reference/constEnumToStringNoComments.types +++ b/tests/baselines/reference/constEnumToStringNoComments.types @@ -54,7 +54,7 @@ let x0 = Foo.X.toString(); >Foo.X.toString() : string > : ^^^^^^ >Foo.X.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Foo.X : Foo.X > : ^^^^^ >Foo : typeof Foo @@ -62,7 +62,7 @@ let x0 = Foo.X.toString(); >X : Foo.X > : ^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let x1 = Foo["X"].toString(); >x1 : string @@ -70,7 +70,7 @@ let x1 = Foo["X"].toString(); >Foo["X"].toString() : string > : ^^^^^^ >Foo["X"].toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Foo["X"] : Foo.X > : ^^^^^ >Foo : typeof Foo @@ -78,7 +78,7 @@ let x1 = Foo["X"].toString(); >"X" : "X" > : ^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let y0 = Foo.Y.toString(); >y0 : string @@ -86,7 +86,7 @@ let y0 = Foo.Y.toString(); >Foo.Y.toString() : string > : ^^^^^^ >Foo.Y.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Foo.Y : Foo.Y > : ^^^^^ >Foo : typeof Foo @@ -94,7 +94,7 @@ let y0 = Foo.Y.toString(); >Y : Foo.Y > : ^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let y1 = Foo["Y"].toString(); >y1 : string @@ -102,7 +102,7 @@ let y1 = Foo["Y"].toString(); >Foo["Y"].toString() : string > : ^^^^^^ >Foo["Y"].toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Foo["Y"] : Foo.Y > : ^^^^^ >Foo : typeof Foo @@ -110,7 +110,7 @@ let y1 = Foo["Y"].toString(); >"Y" : "Y" > : ^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let z0 = Foo.Z.toString(); >z0 : string @@ -118,7 +118,7 @@ let z0 = Foo.Z.toString(); >Foo.Z.toString() : string > : ^^^^^^ >Foo.Z.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Foo.Z : Foo.Z > : ^^^^^ >Foo : typeof Foo @@ -126,7 +126,7 @@ let z0 = Foo.Z.toString(); >Z : Foo.Z > : ^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let z1 = Foo["Z"].toString(); >z1 : string @@ -134,7 +134,7 @@ let z1 = Foo["Z"].toString(); >Foo["Z"].toString() : string > : ^^^^^^ >Foo["Z"].toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Foo["Z"] : Foo.Z > : ^^^^^ >Foo : typeof Foo @@ -142,7 +142,7 @@ let z1 = Foo["Z"].toString(); >"Z" : "Z" > : ^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let a0 = Foo.A.toString(); >a0 : string @@ -150,7 +150,7 @@ let a0 = Foo.A.toString(); >Foo.A.toString() : string > : ^^^^^^ >Foo.A.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Foo.A : Foo.A > : ^^^^^ >Foo : typeof Foo @@ -158,7 +158,7 @@ let a0 = Foo.A.toString(); >A : Foo.A > : ^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let a1 = Foo["A"].toString(); >a1 : string @@ -166,7 +166,7 @@ let a1 = Foo["A"].toString(); >Foo["A"].toString() : string > : ^^^^^^ >Foo["A"].toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Foo["A"] : Foo.A > : ^^^^^ >Foo : typeof Foo @@ -174,7 +174,7 @@ let a1 = Foo["A"].toString(); >"A" : "A" > : ^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let b0 = Foo.B.toString(); >b0 : string @@ -182,7 +182,7 @@ let b0 = Foo.B.toString(); >Foo.B.toString() : string > : ^^^^^^ >Foo.B.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Foo.B : Foo.B > : ^^^^^ >Foo : typeof Foo @@ -190,7 +190,7 @@ let b0 = Foo.B.toString(); >B : Foo.B > : ^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let b1 = Foo["B"].toString(); >b1 : string @@ -198,7 +198,7 @@ let b1 = Foo["B"].toString(); >Foo["B"].toString() : string > : ^^^^^^ >Foo["B"].toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Foo["B"] : Foo.B > : ^^^^^ >Foo : typeof Foo @@ -206,7 +206,7 @@ let b1 = Foo["B"].toString(); >"B" : "B" > : ^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let c0 = Foo.C.toString(); >c0 : string @@ -214,7 +214,7 @@ let c0 = Foo.C.toString(); >Foo.C.toString() : string > : ^^^^^^ >Foo.C.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Foo.C : Foo.A > : ^^^^^ >Foo : typeof Foo @@ -222,7 +222,7 @@ let c0 = Foo.C.toString(); >C : Foo.A > : ^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let c1 = Foo["C"].toString(); >c1 : string @@ -230,7 +230,7 @@ let c1 = Foo["C"].toString(); >Foo["C"].toString() : string > : ^^^^^^ >Foo["C"].toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Foo["C"] : Foo.A > : ^^^^^ >Foo : typeof Foo @@ -238,5 +238,5 @@ let c1 = Foo["C"].toString(); >"C" : "C" > : ^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/constEnumToStringWithComments.types b/tests/baselines/reference/constEnumToStringWithComments.types index 4cc67f9b39f0e..0433029d0c072 100644 --- a/tests/baselines/reference/constEnumToStringWithComments.types +++ b/tests/baselines/reference/constEnumToStringWithComments.types @@ -54,7 +54,7 @@ let x0 = Foo.X.toString(); >Foo.X.toString() : string > : ^^^^^^ >Foo.X.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Foo.X : Foo.X > : ^^^^^ >Foo : typeof Foo @@ -62,7 +62,7 @@ let x0 = Foo.X.toString(); >X : Foo.X > : ^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let x1 = Foo["X"].toString(); >x1 : string @@ -70,7 +70,7 @@ let x1 = Foo["X"].toString(); >Foo["X"].toString() : string > : ^^^^^^ >Foo["X"].toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Foo["X"] : Foo.X > : ^^^^^ >Foo : typeof Foo @@ -78,7 +78,7 @@ let x1 = Foo["X"].toString(); >"X" : "X" > : ^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let y0 = Foo.Y.toString(); >y0 : string @@ -86,7 +86,7 @@ let y0 = Foo.Y.toString(); >Foo.Y.toString() : string > : ^^^^^^ >Foo.Y.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Foo.Y : Foo.Y > : ^^^^^ >Foo : typeof Foo @@ -94,7 +94,7 @@ let y0 = Foo.Y.toString(); >Y : Foo.Y > : ^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let y1 = Foo["Y"].toString(); >y1 : string @@ -102,7 +102,7 @@ let y1 = Foo["Y"].toString(); >Foo["Y"].toString() : string > : ^^^^^^ >Foo["Y"].toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Foo["Y"] : Foo.Y > : ^^^^^ >Foo : typeof Foo @@ -110,7 +110,7 @@ let y1 = Foo["Y"].toString(); >"Y" : "Y" > : ^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let z0 = Foo.Z.toString(); >z0 : string @@ -118,7 +118,7 @@ let z0 = Foo.Z.toString(); >Foo.Z.toString() : string > : ^^^^^^ >Foo.Z.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Foo.Z : Foo.Z > : ^^^^^ >Foo : typeof Foo @@ -126,7 +126,7 @@ let z0 = Foo.Z.toString(); >Z : Foo.Z > : ^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let z1 = Foo["Z"].toString(); >z1 : string @@ -134,7 +134,7 @@ let z1 = Foo["Z"].toString(); >Foo["Z"].toString() : string > : ^^^^^^ >Foo["Z"].toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Foo["Z"] : Foo.Z > : ^^^^^ >Foo : typeof Foo @@ -142,7 +142,7 @@ let z1 = Foo["Z"].toString(); >"Z" : "Z" > : ^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let a0 = Foo.A.toString(); >a0 : string @@ -150,7 +150,7 @@ let a0 = Foo.A.toString(); >Foo.A.toString() : string > : ^^^^^^ >Foo.A.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Foo.A : Foo.A > : ^^^^^ >Foo : typeof Foo @@ -158,7 +158,7 @@ let a0 = Foo.A.toString(); >A : Foo.A > : ^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let a1 = Foo["A"].toString(); >a1 : string @@ -166,7 +166,7 @@ let a1 = Foo["A"].toString(); >Foo["A"].toString() : string > : ^^^^^^ >Foo["A"].toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Foo["A"] : Foo.A > : ^^^^^ >Foo : typeof Foo @@ -174,7 +174,7 @@ let a1 = Foo["A"].toString(); >"A" : "A" > : ^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let b0 = Foo.B.toString(); >b0 : string @@ -182,7 +182,7 @@ let b0 = Foo.B.toString(); >Foo.B.toString() : string > : ^^^^^^ >Foo.B.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Foo.B : Foo.B > : ^^^^^ >Foo : typeof Foo @@ -190,7 +190,7 @@ let b0 = Foo.B.toString(); >B : Foo.B > : ^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let b1 = Foo["B"].toString(); >b1 : string @@ -198,7 +198,7 @@ let b1 = Foo["B"].toString(); >Foo["B"].toString() : string > : ^^^^^^ >Foo["B"].toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Foo["B"] : Foo.B > : ^^^^^ >Foo : typeof Foo @@ -206,7 +206,7 @@ let b1 = Foo["B"].toString(); >"B" : "B" > : ^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let c0 = Foo.C.toString(); >c0 : string @@ -214,7 +214,7 @@ let c0 = Foo.C.toString(); >Foo.C.toString() : string > : ^^^^^^ >Foo.C.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Foo.C : Foo.A > : ^^^^^ >Foo : typeof Foo @@ -222,7 +222,7 @@ let c0 = Foo.C.toString(); >C : Foo.A > : ^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let c1 = Foo["C"].toString(); >c1 : string @@ -230,7 +230,7 @@ let c1 = Foo["C"].toString(); >Foo["C"].toString() : string > : ^^^^^^ >Foo["C"].toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Foo["C"] : Foo.A > : ^^^^^ >Foo : typeof Foo @@ -238,5 +238,5 @@ let c1 = Foo["C"].toString(); >"C" : "C" > : ^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/constLocalsInFunctionExpressions.types b/tests/baselines/reference/constLocalsInFunctionExpressions.types index 62d0a1ecce0b4..dd6430242dde6 100644 --- a/tests/baselines/reference/constLocalsInFunctionExpressions.types +++ b/tests/baselines/reference/constLocalsInFunctionExpressions.types @@ -15,7 +15,7 @@ function f1() { >getStringOrNumber() : string | number > : ^^^^^^^^^^^^^^^ >getStringOrNumber : () => string | number -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ if (typeof x === "string") { >typeof x === "string" : boolean @@ -51,7 +51,7 @@ function f2() { >getStringOrNumber() : string | number > : ^^^^^^^^^^^^^^^ >getStringOrNumber : () => string | number -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ if (typeof x !== "string") { >typeof x !== "string" : boolean @@ -88,7 +88,7 @@ function f3() { >getStringOrNumber() : string | number > : ^^^^^^^^^^^^^^^ >getStringOrNumber : () => string | number -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ if (typeof x === "string") { >typeof x === "string" : boolean @@ -124,7 +124,7 @@ function f4() { >getStringOrNumber() : string | number > : ^^^^^^^^^^^^^^^ >getStringOrNumber : () => string | number -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ if (typeof x !== "string") { >typeof x !== "string" : boolean @@ -161,7 +161,7 @@ function f5() { >getStringOrNumber() : string | number > : ^^^^^^^^^^^^^^^ >getStringOrNumber : () => string | number -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ if (typeof x === "string") { >typeof x === "string" : boolean diff --git a/tests/baselines/reference/constantOverloadFunction.types b/tests/baselines/reference/constantOverloadFunction.types index 5db6d5a1219b9..4a7b2d87e01c3 100644 --- a/tests/baselines/reference/constantOverloadFunction.types +++ b/tests/baselines/reference/constantOverloadFunction.types @@ -33,31 +33,31 @@ class Derived3 extends Base { biz() { } } function foo(tagName: 'canvas'): Derived1; >foo : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >tagName : "canvas" > : ^^^^^^^^ function foo(tagName: 'div'): Derived2; >foo : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >tagName : "div" > : ^^^^^ function foo(tagName: 'span'): Derived3; >foo : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >tagName : "span" > : ^^^^^^ function foo(tagName: string): Base; >foo : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >tagName : string > : ^^^^^^ function foo(tagName: any): Base { >foo : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >tagName : any return null; diff --git a/tests/baselines/reference/constantOverloadFunctionNoSubtypeError.types b/tests/baselines/reference/constantOverloadFunctionNoSubtypeError.types index c6577eced24fe..c22ff4030d88c 100644 --- a/tests/baselines/reference/constantOverloadFunctionNoSubtypeError.types +++ b/tests/baselines/reference/constantOverloadFunctionNoSubtypeError.types @@ -33,31 +33,31 @@ class Derived3 extends Base { biz() { } } function foo(tagName: 'canvas'): Derived3; >foo : { (tagName: "canvas"): Derived3; (tagName: "div"): Derived2; (tagName: "span"): Derived1; (tagName: number): Base; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >tagName : "canvas" > : ^^^^^^^^ function foo(tagName: 'div'): Derived2; >foo : { (tagName: "canvas"): Derived3; (tagName: "div"): Derived2; (tagName: "span"): Derived1; (tagName: number): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >tagName : "div" > : ^^^^^ function foo(tagName: 'span'): Derived1; >foo : { (tagName: "canvas"): Derived3; (tagName: "div"): Derived2; (tagName: "span"): Derived1; (tagName: number): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >tagName : "span" > : ^^^^^^ function foo(tagName: number): Base; >foo : { (tagName: "canvas"): Derived3; (tagName: "div"): Derived2; (tagName: "span"): Derived1; (tagName: number): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >tagName : number > : ^^^^^^ function foo(tagName: any): Base { >foo : { (tagName: "canvas"): Derived3; (tagName: "div"): Derived2; (tagName: "span"): Derived1; (tagName: number): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >tagName : any return null; diff --git a/tests/baselines/reference/constraintErrors1.types b/tests/baselines/reference/constraintErrors1.types index b5ff886f87d4e..a025e7eabf826 100644 --- a/tests/baselines/reference/constraintErrors1.types +++ b/tests/baselines/reference/constraintErrors1.types @@ -3,7 +3,7 @@ === constraintErrors1.ts === function foo5(test: T) { } >foo5 : (test: T) => void -> : ^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >test : T > : ^ diff --git a/tests/baselines/reference/constraintOfRecursivelyMappedTypeWithConditionalIsResolvable.types b/tests/baselines/reference/constraintOfRecursivelyMappedTypeWithConditionalIsResolvable.types index c848e271df17c..04b5f708bd787 100644 --- a/tests/baselines/reference/constraintOfRecursivelyMappedTypeWithConditionalIsResolvable.types +++ b/tests/baselines/reference/constraintOfRecursivelyMappedTypeWithConditionalIsResolvable.types @@ -18,7 +18,7 @@ export type ImmutableModel = { [K in keyof T]: T[K] extends ImmutableTypes ? export interface IImmutableMap> extends Map { set(key: K, value: T[K]): IImmutableMap; >set : (key: K, value: T[K]) => IImmutableMap -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >key : K > : ^ >value : T[K] @@ -40,7 +40,7 @@ export type ImmutableModel2 = { [K in keyof T]: isImmutableType }; export interface IImmutableMap2> extends Map { set(key: K, value: T[K]): IImmutableMap2; >set : (key: K, value: T[K]) => IImmutableMap2 -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >key : K > : ^ >value : T[K] diff --git a/tests/baselines/reference/constraintPropagationThroughReturnTypes.types b/tests/baselines/reference/constraintPropagationThroughReturnTypes.types index 743b853b17bde..d3cfa1aad6fdb 100644 --- a/tests/baselines/reference/constraintPropagationThroughReturnTypes.types +++ b/tests/baselines/reference/constraintPropagationThroughReturnTypes.types @@ -14,7 +14,7 @@ function g(x: T): T { function f(x: S) { >f : (x: S) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >foo : string > : ^^^^^^ >x : S @@ -26,7 +26,7 @@ function f(x: S) { >g(x) : S > : ^ >g : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : S > : ^ diff --git a/tests/baselines/reference/constraintReferencingTypeParameterFromSameTypeParameterList.types b/tests/baselines/reference/constraintReferencingTypeParameterFromSameTypeParameterList.types index 5b73daa7f3d8c..38d914e23b3ee 100644 --- a/tests/baselines/reference/constraintReferencingTypeParameterFromSameTypeParameterList.types +++ b/tests/baselines/reference/constraintReferencingTypeParameterFromSameTypeParameterList.types @@ -7,7 +7,7 @@ interface IComparable { } function f>() { >f : >() => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^ } interface I1> { // Error, any does not satisfy the constraint I1 @@ -22,12 +22,12 @@ interface I4 T> { interface I3 { method1(); >method1 : () => any -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^^^^^^ } function foo(v: V) => void>() { >foo : (v: V) => void>() => void -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^ >v : V > : ^ } diff --git a/tests/baselines/reference/constraintSatisfactionWithAny.types b/tests/baselines/reference/constraintSatisfactionWithAny.types index 97a4814eb96dd..20c51d8b19499 100644 --- a/tests/baselines/reference/constraintSatisfactionWithAny.types +++ b/tests/baselines/reference/constraintSatisfactionWithAny.types @@ -5,13 +5,13 @@ function foo(x: T): T { return null; } >foo : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : T > : ^ function foo2(x: T): T { return null; } >foo2 : (x: T) => T -> : ^ ^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : number > : ^^^^^^ >x : T @@ -20,7 +20,7 @@ function foo2(x: T): T { return null; } //function foo3(x: T): T { return null; } function foo4(x: T) => void>(x: T): T { return null; } >foo4 : (x: T_1) => void>(x: T) => T -> : ^ ^^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : T > : ^ >x : T @@ -32,20 +32,20 @@ var a; foo(a); >foo(a) : any >foo : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a : any foo2(a); >foo2(a) : any >foo2 : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a : any //foo3(a); foo4(a); >foo4(a) : any ->foo4 : (x: T) => void>(x: T_1) => T_1 -> : ^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^ +>foo4 : (x: T_1) => void>(x: T) => T +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a : any var b: number; @@ -55,22 +55,22 @@ var b: number; foo(b); >foo(b) : any >foo : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >b : number > : ^^^^^^ foo2(b); >foo2(b) : any >foo2 : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >b : number > : ^^^^^^ //foo3(b); foo4(b); >foo4(b) : any ->foo4 : (x: T) => void>(x: T_1) => T_1 -> : ^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^ +>foo4 : (x: T_1) => void>(x: T) => T +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >b : number > : ^^^^^^ diff --git a/tests/baselines/reference/constraintSatisfactionWithAny2.types b/tests/baselines/reference/constraintSatisfactionWithAny2.types index 67b3dfc43e7ad..d221c8063bfb9 100644 --- a/tests/baselines/reference/constraintSatisfactionWithAny2.types +++ b/tests/baselines/reference/constraintSatisfactionWithAny2.types @@ -6,7 +6,7 @@ declare function foo(x: U) => Z>(y: T): Z; >foo : (x: U) => Z>(y: T) => Z -> : ^ ^^ ^^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : U > : ^ >y : T @@ -19,12 +19,12 @@ foo(a); >foo(a) : unknown > : ^^^^^^^ >foo : (x: U) => Z>(y: T) => Z -> : ^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a : any foo(a); >foo(a) : any >foo : (x: U) => Z>(y: T) => Z -> : ^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a : any diff --git a/tests/baselines/reference/constraintSatisfactionWithEmptyObject.types b/tests/baselines/reference/constraintSatisfactionWithEmptyObject.types index 720bf79d87af3..c5684717931df 100644 --- a/tests/baselines/reference/constraintSatisfactionWithEmptyObject.types +++ b/tests/baselines/reference/constraintSatisfactionWithEmptyObject.types @@ -6,7 +6,7 @@ // Object constraint function foo(x: T) { } >foo : (x: T) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ @@ -16,7 +16,7 @@ var r = foo({}); >foo({}) : void > : ^^^^ >foo : (x: T) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >{} : {} > : ^^ @@ -32,7 +32,7 @@ var r = foo({}); >foo({}) : void > : ^^^^ >foo : (x: T) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >{} : {} > : ^^ @@ -67,7 +67,7 @@ var i: I<{}>; // {} constraint function foo2(x: T) { } >foo2 : (x: T) => void -> : ^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ @@ -77,7 +77,7 @@ var r = foo2({}); >foo2({}) : void > : ^^^^ >foo2 : (x: T) => void -> : ^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >{} : {} > : ^^ @@ -93,7 +93,7 @@ var r = foo2({}); >foo2({}) : void > : ^^^^ >foo2 : (x: T) => void -> : ^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >{} : {} > : ^^ diff --git a/tests/baselines/reference/constructSignatureAssignabilityInInheritance.types b/tests/baselines/reference/constructSignatureAssignabilityInInheritance.types index 6ae822e08e50b..41d74877dba8d 100644 --- a/tests/baselines/reference/constructSignatureAssignabilityInInheritance.types +++ b/tests/baselines/reference/constructSignatureAssignabilityInInheritance.types @@ -92,11 +92,11 @@ module MemberWithConstructSignature { >new b.a(1) : void > : ^^^^ >b.a : new (x: number) => void -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >b : Base > : ^^^^ >a : new (x: number) => void -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/constructSignatureAssignabilityInInheritance2.types b/tests/baselines/reference/constructSignatureAssignabilityInInheritance2.types index bb99b0128da64..2666cf26979dd 100644 --- a/tests/baselines/reference/constructSignatureAssignabilityInInheritance2.types +++ b/tests/baselines/reference/constructSignatureAssignabilityInInheritance2.types @@ -176,7 +176,7 @@ interface A { // T }; a16: { >a16 : { new (x: T): number[]; new (x: U): number[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ new (x: T): number[]; >x : T @@ -276,7 +276,7 @@ interface I extends A { a6: new (x: (arg: T) => U) => T; // ok, same as a5 but with object type hierarchy >a6 : new (x: (arg: T) => U) => T -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : (arg: T) => U > : ^ ^^ ^^^^^ >arg : T @@ -284,7 +284,7 @@ interface I extends A { a7: new (x: (arg: T) => U) => (r: T) => U; // ok >a7 : new (x: (arg: T) => U) => (r: T) => U -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : (arg: T) => U > : ^ ^^ ^^^^^ >arg : T @@ -294,7 +294,7 @@ interface I extends A { a8: new (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U; // ok >a8 : new (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : (arg: T) => U > : ^ ^^ ^^^^^ >arg : T @@ -308,7 +308,7 @@ interface I extends A { a9: new (x: (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => (r: T) => U; // ok, same as a8 with compatible object literal >a9 : new (x: (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => (r: T) => U -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : (arg: T) => U > : ^ ^^ ^^^^^ >arg : T @@ -326,29 +326,29 @@ interface I extends A { a10: new (...x: T[]) => T; // ok >a10 : new (...x: T[]) => T -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >x : T[] > : ^^^ a11: new (x: T, y: T) => T; // ok >a11 : new (x: T, y: T) => T -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T > : ^ >y : T > : ^ a12: new >(x: Array, y: T) => Array; // ok, less specific parameter type ->a12 : new (x: Array, y: T) => Array -> : ^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +>a12 : new >(x: Array, y: T) => Array +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : Base[] > : ^^^^^^ >y : T > : ^ a13: new >(x: Array, y: T) => T; // ok, T = Array, satisfies constraint, contextual signature instantiation succeeds ->a13 : new (x: Array, y: T) => T -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +>a13 : new >(x: Array, y: T) => T +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : Base[] > : ^^^^^^ >y : T @@ -372,7 +372,7 @@ interface I extends A { a16: new (x: T) => number[]; // ok >a16 : new (x: T) => number[] -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : T > : ^ diff --git a/tests/baselines/reference/constructSignatureAssignabilityInInheritance3.types b/tests/baselines/reference/constructSignatureAssignabilityInInheritance3.types index 0ea4c630b45e0..40be5b0764efc 100644 --- a/tests/baselines/reference/constructSignatureAssignabilityInInheritance3.types +++ b/tests/baselines/reference/constructSignatureAssignabilityInInheritance3.types @@ -176,7 +176,7 @@ module Errors { // valid, no inferences for V so it defaults to Derived2 a7: new (x: (arg: T) => U) => (r: T) => V; >a7 : new (x: (arg: T) => U) => (r: T) => V -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : (arg: T) => U > : ^ ^^ ^^^^^ >arg : T @@ -188,7 +188,7 @@ module Errors { interface I4 extends A { a8: new (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U; // error, type mismatch >a8 : new (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : (arg: T) => U > : ^ ^^ ^^^^^ >arg : T @@ -206,7 +206,7 @@ module Errors { interface I4B extends A { a10: new (...x: T[]) => T; // valid, parameter covariance works even after contextual signature instantiation >a10 : new (...x: T[]) => T -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >x : T[] > : ^^^ } @@ -214,7 +214,7 @@ module Errors { interface I4C extends A { a11: new (x: T, y: T) => T; // valid, even though x is a Base, parameter covariance works even after contextual signature instantiation >a11 : new (x: T, y: T) => T -> : ^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T > : ^ >y : T @@ -223,8 +223,8 @@ module Errors { interface I4E extends A { a12: new >(x: Array, y: Array) => T; // valid, no inferences for T, defaults to Array ->a12 : new (x: Array, y: Array) => T -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +>a12 : new >(x: Array, y: Array) => T +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : Base[] > : ^^^^^^ >y : Base[] @@ -246,7 +246,7 @@ module Errors { interface I7 extends A { a15: new (x: { a: T; b: T }) => number; // error, T defaults to Base, which is not compatible with number or string >a15 : new (x: { a: T; b: T; }) => number -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : { a: T; b: T; } > : ^^^^^ ^^^^^ ^^^ >a : T @@ -306,7 +306,7 @@ module Errors { interface D { a14: { >a14 : { new (x: T): number[]; new (x: U): number[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ new (x: T): number[]; >x : T @@ -322,7 +322,7 @@ module Errors { interface I8 extends D { a14: new (x: T) => number[]; >a14 : new (x: T) => number[] -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : T > : ^ } diff --git a/tests/baselines/reference/constructSignatureAssignabilityInInheritance4.types b/tests/baselines/reference/constructSignatureAssignabilityInInheritance4.types index dc156c878d4c4..a83572119b9a5 100644 --- a/tests/baselines/reference/constructSignatureAssignabilityInInheritance4.types +++ b/tests/baselines/reference/constructSignatureAssignabilityInInheritance4.types @@ -71,7 +71,7 @@ interface A { // T a6: new (x: (arg: T) => Derived) => T; >a6 : new (x: (arg: T) => Derived) => T -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : (arg: T) => Derived > : ^ ^^ ^^^^^ >arg : T @@ -103,7 +103,7 @@ interface A { // T a16: new (x: { a: T; b: T }) => T[]; >a16 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : { a: T; b: T; } > : ^^^^^ ^^^^^ ^^^ >a : T @@ -113,7 +113,7 @@ interface A { // T a17: { >a17 : { new (x: T): T[]; new (x: U): U[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ new (x: T): T[]; >x : T @@ -126,7 +126,7 @@ interface A { // T }; a18: { >a18 : { new (x: T): number[]; new (x: U): number[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ new (x: T): number[]; >x : T @@ -139,7 +139,7 @@ interface A { // T }; a19: { >a19 : { new (x: new (a: T) => T): T[]; new (x: new (a: U) => U): U[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ new (x: new (a: T) => T): T[]; >x : new (a: T) => T @@ -160,7 +160,7 @@ interface A { // T new (x: { >x : { new (a: T): T; new (a: U): U; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ new (a: T): T; >a : T @@ -173,7 +173,7 @@ interface A { // T }): any[]; new (x: { >x : { new (a: T): T; new (a: U): U; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ new (a: T): T; >a : T @@ -226,7 +226,7 @@ interface I extends A { a6: new (x: (arg: T) => U) => T; // ok, same as a5 but with object type hierarchy >a6 : new (x: (arg: T) => U) => T -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : (arg: T) => U > : ^ ^^ ^^^^^ >arg : T @@ -268,19 +268,19 @@ interface I extends A { a17: new (x: T) => T[]; // ok, more general parameter type >a17 : new (x: T) => T[] -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : T > : ^ a18: new (x: T) => number[]; // ok, more general parameter type >a18 : new (x: T) => number[] -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : T > : ^ a19: new (x: new (a: T) => T) => T[]; // ok >a19 : new (x: new (a: T) => T) => T[] -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : new (a: T) => T > : ^^^^^ ^^ ^^^^^ >a : T @@ -290,7 +290,7 @@ interface I extends A { >a20 : new (x: new (a: T) => T) => any[] > : ^^^^^ ^^ ^^^^^ >x : new (a: T) => T -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a : T > : ^ } diff --git a/tests/baselines/reference/constructSignatureAssignabilityInInheritance5.types b/tests/baselines/reference/constructSignatureAssignabilityInInheritance5.types index fc2bdf5145052..cd1cf9fd2eeaa 100644 --- a/tests/baselines/reference/constructSignatureAssignabilityInInheritance5.types +++ b/tests/baselines/reference/constructSignatureAssignabilityInInheritance5.types @@ -210,7 +210,7 @@ interface I extends B { a6: new (x: (arg: T) => U) => T; // ok, same as a5 but with object type hierarchy >a6 : new (x: (arg: T) => U) => T -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : (arg: T) => U > : ^ ^^ ^^^^^ >arg : T @@ -218,7 +218,7 @@ interface I extends B { a7: new (x: (arg: T) => U) => (r: T) => U; // ok >a7 : new (x: (arg: T) => U) => (r: T) => U -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : (arg: T) => U > : ^ ^^ ^^^^^ >arg : T @@ -228,7 +228,7 @@ interface I extends B { a8: new (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U; // ok >a8 : new (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : (arg: T) => U > : ^ ^^ ^^^^^ >arg : T @@ -242,7 +242,7 @@ interface I extends B { a9: new (x: (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => (r: T) => U; // ok, same as a8 with compatible object literal >a9 : new (x: (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => (r: T) => U -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : (arg: T) => U > : ^ ^^ ^^^^^ >arg : T @@ -260,29 +260,29 @@ interface I extends B { a10: new (...x: T[]) => T; // ok >a10 : new (...x: T[]) => T -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >x : T[] > : ^^^ a11: new (x: T, y: T) => T; // ok >a11 : new (x: T, y: T) => T -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T > : ^ >y : T > : ^ a12: new >(x: Array, y: T) => Array; // ok, less specific parameter type ->a12 : new (x: Array, y: T) => Array -> : ^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +>a12 : new >(x: Array, y: T) => Array +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : Base[] > : ^^^^^^ >y : T > : ^ a13: new >(x: Array, y: T) => T; // ok, T = Array, satisfies constraint, contextual signature instantiation succeeds ->a13 : new (x: Array, y: T) => T -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +>a13 : new >(x: Array, y: T) => T +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : Base[] > : ^^^^^^ >y : T diff --git a/tests/baselines/reference/constructSignatureAssignabilityInInheritance6.types b/tests/baselines/reference/constructSignatureAssignabilityInInheritance6.types index 8bdf50f8a3b06..41a17bb438e2e 100644 --- a/tests/baselines/reference/constructSignatureAssignabilityInInheritance6.types +++ b/tests/baselines/reference/constructSignatureAssignabilityInInheritance6.types @@ -73,7 +73,7 @@ interface A { // T a6: new (x: (arg: T) => Derived) => T; >a6 : new (x: (arg: T) => Derived) => T -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : (arg: T) => Derived > : ^ ^^ ^^^^^ >arg : T @@ -105,7 +105,7 @@ interface A { // T a16: new (x: { a: T; b: T }) => T[]; >a16 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : { a: T; b: T; } > : ^^^^^ ^^^^^ ^^^ >a : T diff --git a/tests/baselines/reference/constructSignaturesWithIdenticalOverloads.types b/tests/baselines/reference/constructSignaturesWithIdenticalOverloads.types index 8efb92b1159b5..ea87c3c3f0d58 100644 --- a/tests/baselines/reference/constructSignaturesWithIdenticalOverloads.types +++ b/tests/baselines/reference/constructSignaturesWithIdenticalOverloads.types @@ -164,15 +164,15 @@ var r5 = new a(1, ''); >new a(1, '') : C > : ^ >a : { new (x: number, y: string): C; new (x: number, y: string): C; } -> : ^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ >'' : "" > : ^^ var b: { ->b : { new (x: T, y: string): C2; new (x: T_1, y: string): C2; } -> : ^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +>b : { new (x: T, y: string): C2; new (x: T, y: string): C2; } +> : ^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ new (x: T, y: string): C2; >x : T @@ -192,8 +192,8 @@ var r6 = new b(1, ''); > : ^^^^^^^^^^ >new b(1, '') : C2 > : ^^^^^^^^^^ ->b : { new (x: T, y: string): C2; new (x: T_1, y: string): C2; } -> : ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +>b : { new (x: T, y: string): C2; new (x: T, y: string): C2; } +> : ^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ >'' : "" diff --git a/tests/baselines/reference/constructSignaturesWithOverloads.types b/tests/baselines/reference/constructSignaturesWithOverloads.types index d1df47aa60fbf..6e52b77cec9d2 100644 --- a/tests/baselines/reference/constructSignaturesWithOverloads.types +++ b/tests/baselines/reference/constructSignaturesWithOverloads.types @@ -165,15 +165,15 @@ var r5 = new a(1, ''); >new a(1, '') : C > : ^ >a : { new (x: number, y?: string): C; new (x: number, y: string): C; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ >'' : "" > : ^^ var b: { ->b : { new (x: T, y?: string): C2; new (x: T_1, y: string): C2; } -> : ^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +>b : { new (x: T, y?: string): C2; new (x: T, y: string): C2; } +> : ^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ new(x: T, y?: string): C2; >x : T @@ -193,8 +193,8 @@ var r6 = new b(1, ''); > : ^^^^^^^^^^ >new b(1, '') : C2 > : ^^^^^^^^^^ ->b : { new (x: T, y?: string): C2; new (x: T_1, y: string): C2; } -> : ^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +>b : { new (x: T, y?: string): C2; new (x: T, y: string): C2; } +> : ^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ >'' : "" diff --git a/tests/baselines/reference/constructSignaturesWithOverloadsThatDifferOnlyByReturnType.types b/tests/baselines/reference/constructSignaturesWithOverloadsThatDifferOnlyByReturnType.types index 9650ecdcef16d..0cc5607118a16 100644 --- a/tests/baselines/reference/constructSignaturesWithOverloadsThatDifferOnlyByReturnType.types +++ b/tests/baselines/reference/constructSignaturesWithOverloadsThatDifferOnlyByReturnType.types @@ -82,8 +82,8 @@ var a: { } var b: { ->b : { new (x: T, y: string): C2; new (x: T_1, y: string): C; } -> : ^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +>b : { new (x: T, y: string): C2; new (x: T, y: string): C; } +> : ^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ new (x: T, y: string): C2; >x : T diff --git a/tests/baselines/reference/constructorArgWithGenericCallSignature.types b/tests/baselines/reference/constructorArgWithGenericCallSignature.types index 92ca6cd42148e..1cf9deb1ec3da 100644 --- a/tests/baselines/reference/constructorArgWithGenericCallSignature.types +++ b/tests/baselines/reference/constructorArgWithGenericCallSignature.types @@ -34,12 +34,12 @@ var func: Test.MyFunc; Test.F(func); // OK >Test.F(func) : void > : ^^^^ ->Test.F : (func: MyFunc) => void -> : ^ ^^ ^^^^^^^^^ +>Test.F : (func: Test.MyFunc) => void +> : ^ ^^^^^^^^^^^^^^^^^^^^^^ >Test : typeof Test > : ^^^^^^^^^^^ ->F : (func: MyFunc) => void -> : ^ ^^ ^^^^^^^^^ +>F : (func: Test.MyFunc) => void +> : ^ ^^^^^^^^^^^^^^^^^^^^^^ >func : Test.MyFunc > : ^^^^^^^^^^^ diff --git a/tests/baselines/reference/constructorAsType.types b/tests/baselines/reference/constructorAsType.types index 20c1eaea1f665..878f3266b0ece 100644 --- a/tests/baselines/reference/constructorAsType.types +++ b/tests/baselines/reference/constructorAsType.types @@ -23,9 +23,9 @@ var Person2:{new() : {name:string;};}; Person = Person2; >Person = Person2 : new () => { name: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >Person : new () => { name: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >Person2 : new () => { name: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ diff --git a/tests/baselines/reference/constructorFunctionMethodTypeParameters.types b/tests/baselines/reference/constructorFunctionMethodTypeParameters.types index 4214f435c3fb5..422134c46ce4d 100644 --- a/tests/baselines/reference/constructorFunctionMethodTypeParameters.types +++ b/tests/baselines/reference/constructorFunctionMethodTypeParameters.types @@ -31,7 +31,7 @@ function Cls(t) { */ Cls.prototype.topLevelComment = function (t, v) { >Cls.prototype.topLevelComment = function (t, v) { return v} : (t: T, v: V) => V -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >Cls.prototype.topLevelComment : any >Cls.prototype : any > : ^^^ @@ -42,7 +42,7 @@ Cls.prototype.topLevelComment = function (t, v) { >topLevelComment : any > : ^^^ >function (t, v) { return v} : (t: T, v: V) => V -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >t : T > : ^ >v : V @@ -56,7 +56,7 @@ Cls.prototype.topLevelComment = function (t, v) { Cls.prototype.nestedComment = >Cls.prototype.nestedComment = /** * @template {string} U * @param {T} t * @param {U} u * @return {T} */ function (t, u) { return t } : (t: T, u: U) => T -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >Cls.prototype.nestedComment : any >Cls.prototype : any > : ^^^ @@ -75,7 +75,7 @@ Cls.prototype.nestedComment = */ function (t, u) { >function (t, u) { return t } : (t: T, u: U) => T -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >t : T > : ^ >u : U @@ -103,11 +103,11 @@ const s = c.topLevelComment('a', 'b'); >c.topLevelComment('a', 'b') : "b" > : ^^^ >c.topLevelComment : (t: "a", v: V) => V -> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^^^ ^^^^^^^^^ >c : Cls<"a"> > : ^^^^^^^^ >topLevelComment : (t: "a", v: V) => V -> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^^^ ^^^^^^^^^ >'a' : "a" > : ^^^ >'b' : "b" @@ -119,11 +119,11 @@ const t = c.nestedComment('a', 'b'); >c.nestedComment('a', 'b') : "a" > : ^^^ >c.nestedComment : (t: "a", u: U) => "a" -> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^^^ ^^^^^^^^^^^ >c : Cls<"a"> > : ^^^^^^^^ >nestedComment : (t: "a", u: U) => "a" -> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^^^ ^^^^^^^^^^^ >'a' : "a" > : ^^^ >'b' : "b" diff --git a/tests/baselines/reference/constructorFunctions2.types b/tests/baselines/reference/constructorFunctions2.types index d2ad5b375fe05..0bd871bd0da8d 100644 --- a/tests/baselines/reference/constructorFunctions2.types +++ b/tests/baselines/reference/constructorFunctions2.types @@ -18,7 +18,7 @@ const A = require("./other"); >require("./other") : typeof A > : ^^^^^^^^ >require : (id: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >"./other" : "./other" > : ^^^^^^^^^ diff --git a/tests/baselines/reference/constructorOverloads6.types b/tests/baselines/reference/constructorOverloads6.types index 73ed33c48819b..d1a0e909ceb3a 100644 --- a/tests/baselines/reference/constructorOverloads6.types +++ b/tests/baselines/reference/constructorOverloads6.types @@ -98,9 +98,9 @@ f1.bar1(); >f1.bar1() : void > : ^^^^ >f1.bar1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >f1 : Foo > : ^^^ >bar1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/constructorOverloads7.types b/tests/baselines/reference/constructorOverloads7.types index 40836690f0701..50b7412e6a2ff 100644 --- a/tests/baselines/reference/constructorOverloads7.types +++ b/tests/baselines/reference/constructorOverloads7.types @@ -83,7 +83,7 @@ declare function EF1(a:number, b:number):number; function EF1(a,b) { return a+b; } >EF1 : (a: number, b: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a : any > : ^^^ >b : any diff --git a/tests/baselines/reference/constructorTagOnNestedBinaryExpression.types b/tests/baselines/reference/constructorTagOnNestedBinaryExpression.types index 9e79e9b25cdba..a607604ddf522 100644 --- a/tests/baselines/reference/constructorTagOnNestedBinaryExpression.types +++ b/tests/baselines/reference/constructorTagOnNestedBinaryExpression.types @@ -19,11 +19,11 @@ a = b = function c () { >console.log(this) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this : this > : ^^^^ diff --git a/tests/baselines/reference/constructorTagWithThisTag.types b/tests/baselines/reference/constructorTagWithThisTag.types index 9b21670fe4ec1..4565fa4e586c5 100644 --- a/tests/baselines/reference/constructorTagWithThisTag.types +++ b/tests/baselines/reference/constructorTagWithThisTag.types @@ -16,7 +16,7 @@ function C() { >this.e : number > : ^^^^^^ >this : { e: number; m: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >e : number > : ^^^^^^ >this.m + 1 : number @@ -24,7 +24,7 @@ function C() { >this.m : number > : ^^^^^^ >this : { e: number; m: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >m : number > : ^^^^^^ >1 : 1 diff --git a/tests/baselines/reference/constructorWithIncompleteTypeAnnotation.types b/tests/baselines/reference/constructorWithIncompleteTypeAnnotation.types index bbe6f67a20b56..1732ef9e66df6 100644 --- a/tests/baselines/reference/constructorWithIncompleteTypeAnnotation.types +++ b/tests/baselines/reference/constructorWithIncompleteTypeAnnotation.types @@ -72,11 +72,11 @@ module TypeScriptAllInOne { >bfs.VARIABLES() : number > : ^^^^^^ >bfs.VARIABLES : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >bfs : BasicFeatures > : ^^^^^^^^^^^^^ >VARIABLES : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ if (retValue != 0 ^= { >retValue != 0 : boolean @@ -455,27 +455,27 @@ module TypeScriptAllInOne { >float.toString() : string > : ^^^^^^ >float.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >float : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >float2.toString() : string > : ^^^^^^ >float2.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >float2 : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >reg.toString() : string > : ^^^^^^ >reg.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >reg : RegExp > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >objLit : { var: number; equals: (x: any) => boolean; instanceof: () => string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >weekday : Weekdays.Monday @@ -859,11 +859,11 @@ module TypeScriptAllInOne { >xx.Foo() : bool > : ^^^^ >xx.Foo : () => bool -> : ^^^^^^^^^^ +> : ^^^^^^ >xx : IF > : ^^ >Foo : () => bool -> : ^^^^^^^^^^ +> : ^^^^^^ >0 : 0 > : ^ >1 : 1 @@ -1290,7 +1290,7 @@ module TypeScriptAllInOne { interface IF { Foo(): bool; >Foo : () => bool -> : ^^^^^^^^^^ +> : ^^^^^^ } class CLASS implements IF { @@ -1323,7 +1323,7 @@ module TypeScriptAllInOne { } public Foo(): bool { >Foo : () => bool -> : ^^^^^^^^^^ +> : ^^^^^^ var myEvent = () => { return 1; }; >myEvent : () => number diff --git a/tests/baselines/reference/constructorWithParameterPropertiesAndPrivateFields.es2015.types b/tests/baselines/reference/constructorWithParameterPropertiesAndPrivateFields.es2015.types index 7aeae08f1443d..7bc3ff61df6b7 100644 --- a/tests/baselines/reference/constructorWithParameterPropertiesAndPrivateFields.es2015.types +++ b/tests/baselines/reference/constructorWithParameterPropertiesAndPrivateFields.es2015.types @@ -21,9 +21,9 @@ class A { ({ key: this.#privateField } = arg); >({ key: this.#privateField } = arg) : { key: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >{ key: this.#privateField } = arg : { key: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >{ key: this.#privateField } : { key: string; } > : ^^^^^^^^^^^^^^^^ >key : string @@ -33,7 +33,7 @@ class A { >this : this > : ^^^^ >arg : { key: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } log() { @@ -44,11 +44,11 @@ class A { >console.log(this.#privateField) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.#privateField : string > : ^^^^^^ >this : this @@ -58,11 +58,11 @@ class A { >console.log(this.exposedField) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.exposedField : number > : ^^^^^^ >this : this @@ -94,9 +94,9 @@ class B { ({ key: this.#privateField } = arg); >({ key: this.#privateField } = arg) : { key: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >{ key: this.#privateField } = arg : { key: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >{ key: this.#privateField } : { key: string; } > : ^^^^^^^^^^^^^^^^ >key : string @@ -106,7 +106,7 @@ class B { >this : this > : ^^^^ >arg : { key: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } log() { @@ -117,11 +117,11 @@ class B { >console.log(this.#privateField) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.#privateField : string > : ^^^^^^ >this : this @@ -131,11 +131,11 @@ class B { >console.log(this.exposedField) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.exposedField : number > : ^^^^^^ >this : this diff --git a/tests/baselines/reference/constructorWithSuperAndPrologue.es5.types b/tests/baselines/reference/constructorWithSuperAndPrologue.es5.types index 9f84826cc57c5..30a76942116fb 100644 --- a/tests/baselines/reference/constructorWithSuperAndPrologue.es5.types +++ b/tests/baselines/reference/constructorWithSuperAndPrologue.es5.types @@ -15,11 +15,11 @@ class A { >console.log("A") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"A" : "A" > : ^^^ } @@ -40,11 +40,11 @@ class B extends A { >console.log("B") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"B" : "B" > : ^^^ diff --git a/tests/baselines/reference/contextSensitiveReturnTypeInference.types b/tests/baselines/reference/contextSensitiveReturnTypeInference.types index 325ce90784d6f..f8e0f5c915746 100644 --- a/tests/baselines/reference/contextSensitiveReturnTypeInference.types +++ b/tests/baselines/reference/contextSensitiveReturnTypeInference.types @@ -43,7 +43,7 @@ const DEPS = { test( >test( (deps, data) => ({ fn1: function() { return deps.foo }, fn2: data.bar }), DEPS) : any >test : (getter: (deps: TDependencies, data: IData) => any, deps: TDependencies) => any -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ (deps, data) => ({ >(deps, data) => ({ fn1: function() { return deps.foo }, fn2: data.bar }) : (deps: { foo: number; }, data: IData) => { fn1: () => number; fn2: boolean; } @@ -89,7 +89,7 @@ test( test( >test( (deps: typeof DEPS, data) => ({ fn1: function() { return deps.foo }, fn2: data.bar }), DEPS) : any >test : (getter: (deps: TDependencies, data: IData) => any, deps: TDependencies) => any -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ (deps: typeof DEPS, data) => ({ >(deps: typeof DEPS, data) => ({ fn1: function() { return deps.foo }, fn2: data.bar }) : (deps: typeof DEPS, data: IData) => { fn1: () => number; fn2: boolean; } @@ -137,7 +137,7 @@ test( test( >test( (deps, data) => ({ fn1: () => deps.foo, fn2: data.bar }), DEPS) : any >test : (getter: (deps: TDependencies, data: IData) => any, deps: TDependencies) => any -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ (deps, data) => ({ >(deps, data) => ({ fn1: () => deps.foo, fn2: data.bar }) : (deps: { foo: number; }, data: IData) => { fn1: () => number; fn2: boolean; } @@ -183,7 +183,7 @@ test( test( >test( (deps, data) => { return { fn1() { return deps.foo }, fn2: data.bar } }, DEPS) : any >test : (getter: (deps: TDependencies, data: IData) => any, deps: TDependencies) => any -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ (deps, data) => { >(deps, data) => { return { fn1() { return deps.foo }, fn2: data.bar } } : (deps: { foo: number; }, data: IData) => { fn1(): number; fn2: boolean; } @@ -227,7 +227,7 @@ test( test( >test( (deps) => ({ fn1() { return deps.foo }, fn2: 1 }), DEPS) : any >test : (getter: (deps: TDependencies, data: IData) => any, deps: TDependencies) => any -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ (deps) => ({ >(deps) => ({ fn1() { return deps.foo }, fn2: 1 }) : (deps: { foo: number; }) => { fn1(): number; fn2: number; } diff --git a/tests/baselines/reference/contextualComputedNonBindablePropertyType.types b/tests/baselines/reference/contextualComputedNonBindablePropertyType.types index 4a0b912631c5c..f0005bc284b56 100644 --- a/tests/baselines/reference/contextualComputedNonBindablePropertyType.types +++ b/tests/baselines/reference/contextualComputedNonBindablePropertyType.types @@ -20,7 +20,7 @@ forceMatch({ >forceMatch({ [testD()]: "d",}) : void > : ^^^^ >forceMatch : (matched: { [key in keyof T]: key; }) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ [testD()]: "d",} : { d: "d"; } > : ^^^^^^^^^^^ @@ -30,7 +30,7 @@ forceMatch({ >testD() : "d" > : ^^^ >testD : () => "d" -> : ^^^^^^^^^ +> : ^^^^^^ >"d" : "d" > : ^^^ @@ -54,7 +54,7 @@ forceMatch2({ >forceMatch2({ [testD()]: ({ key }) => {},}) : void > : ^^^^ >forceMatch2 : (matched: { [key in keyof T]: ({ key }: { key: key; }) => void; }) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ [testD()]: ({ key }) => {},} : { d: ({ key }: { key: "d"; }) => void; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -64,7 +64,7 @@ forceMatch2({ >testD() : "d" > : ^^^ >testD : () => "d" -> : ^^^^^^^^^ +> : ^^^^^^ >({ key }) => {} : ({ key }: { key: "d"; }) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ >key : "d" @@ -95,9 +95,9 @@ type Mapped = { const propSelector = (propName: propName): propName => propName; >propSelector : (propName: propName) => propName -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(propName: propName): propName => propName : (propName: propName) => propName -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >propName : propName > : ^^^^^^^^ >propName : propName @@ -135,7 +135,7 @@ const unexpectedlyFailingExample: Mapped = { >propSelector('bar') : "bar" > : ^^^^^ >propSelector : (propName: propName) => propName -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >'bar' : "bar" > : ^^^^^ >(arg) => 51345 : (arg: number) => number diff --git a/tests/baselines/reference/contextualExpressionTypecheckingDoesntBlowStack.types b/tests/baselines/reference/contextualExpressionTypecheckingDoesntBlowStack.types index e8255351465c0..6f988422ddcb7 100644 --- a/tests/baselines/reference/contextualExpressionTypecheckingDoesntBlowStack.types +++ b/tests/baselines/reference/contextualExpressionTypecheckingDoesntBlowStack.types @@ -27,11 +27,11 @@ export default class Operation { >Object.keys(parameterValues) : string[] > : ^^^^^^^^ >Object.keys : { (o: object): string[]; (o: {}): string[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >keys : { (o: object): string[]; (o: {}): string[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >parameterValues : any const parameter: any = (this as any).getParameter();; @@ -100,7 +100,7 @@ export default class Operation { >(result || []).concat(innerResult) : IValidationError[] > : ^^^^^^^^^^^^^^^^^^ >(result || []).concat : { (...items: ConcatArray[]): IValidationError[]; (...items: (IValidationError | ConcatArray)[]): IValidationError[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >(result || []) : IValidationError[] > : ^^^^^^^^^^^^^^^^^^ >result || [] : IValidationError[] @@ -110,7 +110,7 @@ export default class Operation { >[] : never[] > : ^^^^^^^ >concat : { (...items: ConcatArray[]): IValidationError[]; (...items: (IValidationError | ConcatArray)[]): IValidationError[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >innerResult : any } } diff --git a/tests/baselines/reference/contextualIntersectionType.types b/tests/baselines/reference/contextualIntersectionType.types index 0690dc2ab7855..157b56dc565ee 100644 --- a/tests/baselines/reference/contextualIntersectionType.types +++ b/tests/baselines/reference/contextualIntersectionType.types @@ -17,7 +17,7 @@ x = { >x = { a: s => s, b: n => n} : { a: (s: string) => string; b: (n: number) => number; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >x : { a: (s: string) => string; } & { b: (n: number) => number; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >{ a: s => s, b: n => n} : { a: (s: string) => string; b: (n: number) => number; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/contextualOverloadListFromArrayUnion.types b/tests/baselines/reference/contextualOverloadListFromArrayUnion.types index 621e8a17a8802..605b0678ec89e 100644 --- a/tests/baselines/reference/contextualOverloadListFromArrayUnion.types +++ b/tests/baselines/reference/contextualOverloadListFromArrayUnion.types @@ -10,12 +10,12 @@ export const yThen = y.map(item => item.length); > : ^^^^^^^^ >y.map(item => item.length) : number[] > : ^^^^^^^^ ->y.map : ((callbackfn: (value: never, index: number, array: never[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: string, index: number, array: string[]) => U_1, thisArg?: any) => U_1[]) -> : ^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +>y.map : ((callbackfn: (value: never, index: number, array: never[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) +> : ^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^ >y : never[] | string[] > : ^^^^^^^^^^^^^^^^^^ ->map : ((callbackfn: (value: never, index: number, array: never[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: string, index: number, array: string[]) => U_1, thisArg?: any) => U_1[]) -> : ^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +>map : ((callbackfn: (value: never, index: number, array: never[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) +> : ^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^ >item => item.length : (item: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >item : string @@ -37,12 +37,12 @@ export const yThen = y.map(item => item.length); > : ^^^^^^^^ >y.map(item => item.length) : number[] > : ^^^^^^^^ ->y.map : ((callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: number[], index: number, array: number[][]) => U_1, thisArg?: any) => U_1[]) -> : ^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +>y.map : ((callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: number[], index: number, array: number[][]) => U, thisArg?: any) => U[]) +> : ^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^ >y : string[] | number[][] > : ^^^^^^^^^^^^^^^^^^^^^ ->map : ((callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: number[], index: number, array: number[][]) => U_1, thisArg?: any) => U_1[]) -> : ^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +>map : ((callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: number[], index: number, array: number[][]) => U, thisArg?: any) => U[]) +> : ^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^ >item => item.length : (item: string | number[]) => number > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >item : string | number[] @@ -76,8 +76,8 @@ const resizeObserver = new ResizeObserver(([entry]) => { > : ^^^^^^^^^^^^^^ >new ResizeObserver(([entry]) => { entry}) : ResizeObserver > : ^^^^^^^^^^^^^^ ->ResizeObserver : { new (callback: ResizeObserverCallback): ResizeObserver; prototype: ResizeObserver; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>ResizeObserver : { new (callback: globalThis.ResizeObserverCallback): ResizeObserver; prototype: ResizeObserver; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >([entry]) => { entry} : ([entry]: ResizeObserverEntry[]) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >entry : ResizeObserverEntry @@ -189,11 +189,11 @@ export function series(tasks: Task[], callback: Callback): void { >results.push(result!) : number > : ^^^^^^ >results.push : (...items: T[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^ >results : T[] > : ^^^ >push : (...items: T[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^ >result! : NonNullable > : ^^^^^^^^^^^^^^ >result : T | null @@ -219,7 +219,7 @@ series([ >series([ cb => setTimeout(() => cb(null, 1), 300), cb => setTimeout(() => cb(null, 2), 200), cb => setTimeout(() => cb(null, 3), 100),], (error, results) => { if (error) { console.error(error) } else { console.log(results) }}) : void > : ^^^^ >series : (tasks: Task[], callback: Callback) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >[ cb => setTimeout(() => cb(null, 1), 300), cb => setTimeout(() => cb(null, 2), 200), cb => setTimeout(() => cb(null, 3), 100),] : ((cb: Callback) => number)[] > : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -231,7 +231,7 @@ series([ >setTimeout(() => cb(null, 1), 300) : number > : ^^^^^^ >setTimeout : (handler: TimerHandler, timeout?: number, ...arguments: any[]) => number -> : ^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ >() => cb(null, 1) : () => unknown > : ^^^^^^^^^^^^^ >cb(null, 1) : unknown @@ -251,7 +251,7 @@ series([ >setTimeout(() => cb(null, 2), 200) : number > : ^^^^^^ >setTimeout : (handler: TimerHandler, timeout?: number, ...arguments: any[]) => number -> : ^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ >() => cb(null, 2) : () => unknown > : ^^^^^^^^^^^^^ >cb(null, 2) : unknown @@ -271,7 +271,7 @@ series([ >setTimeout(() => cb(null, 3), 100) : number > : ^^^^^^ >setTimeout : (handler: TimerHandler, timeout?: number, ...arguments: any[]) => number -> : ^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ >() => cb(null, 3) : () => unknown > : ^^^^^^^^^^^^^ >cb(null, 3) : unknown @@ -299,11 +299,11 @@ series([ >console.error(error) : void > : ^^^^ >console.error : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >error : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >error : Error > : ^^^^^ @@ -312,11 +312,11 @@ series([ >console.log(results) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >results : unknown[] | null > : ^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/contextualPropertyOfGenericMappedType.types b/tests/baselines/reference/contextualPropertyOfGenericMappedType.types index 8fc65e208a40b..193315b5625d0 100644 --- a/tests/baselines/reference/contextualPropertyOfGenericMappedType.types +++ b/tests/baselines/reference/contextualPropertyOfGenericMappedType.types @@ -5,7 +5,7 @@ declare function f(data: T, handlers: { [P in keyof T]: (value: T[P], prop: P) => void; }): void; >f : (data: T, handlers: { [P in keyof T]: (value: T[P], prop: P) => void; }) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >data : T > : ^ >handlers : { [P in keyof T]: (value: T[P], prop: P) => void; } @@ -19,7 +19,7 @@ f({ data: 0 }, { data(value, key) {} }); >f({ data: 0 }, { data(value, key) {} }) : void > : ^^^^ >f : (data: T, handlers: { [P in keyof T]: (value: T[P], prop: P) => void; }) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >{ data: 0 } : { data: number; } > : ^^^^^^^^^^^^^^^^^ >data : number diff --git a/tests/baselines/reference/contextualReturnTypeOfIIFE.types b/tests/baselines/reference/contextualReturnTypeOfIIFE.types index bfcb9902790d3..30826b407b155 100644 --- a/tests/baselines/reference/contextualReturnTypeOfIIFE.types +++ b/tests/baselines/reference/contextualReturnTypeOfIIFE.types @@ -31,13 +31,13 @@ const test2: Promise<[one: number, two: string]> = new Promise( (resolve) => resolve([1, 'two']), >(resolve) => resolve([1, 'two']) : (resolve: (value: [one: number, two: string] | PromiseLike<[one: number, two: string]>) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ >resolve : (value: [one: number, two: string] | PromiseLike<[one: number, two: string]>) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >resolve([1, 'two']) : void > : ^^^^ >resolve : (value: [one: number, two: string] | PromiseLike<[one: number, two: string]>) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >[1, 'two'] : [number, string] > : ^^^^^^^^^^^^^^^^ >1 : 1 diff --git a/tests/baselines/reference/contextualReturnTypeOfIIFE3.types b/tests/baselines/reference/contextualReturnTypeOfIIFE3.types index 0c68961a06f99..4012e250b4523 100644 --- a/tests/baselines/reference/contextualReturnTypeOfIIFE3.types +++ b/tests/baselines/reference/contextualReturnTypeOfIIFE3.types @@ -27,15 +27,15 @@ app.foo.bar = (function () { >app.foo.bar = (function () { return { someFun(arg) {} };})() : { someFun(arg: number): void; } > : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ >app.foo.bar : { someFun: (arg: number) => void; } -> : ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^ >app.foo : { bar: { someFun: (arg: number) => void; }; } -> : ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >app : typeof app > : ^^^^^^^^^^ >foo : { bar: { someFun: (arg: number) => void; }; } -> : ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >bar : { someFun: (arg: number) => void; } -> : ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^ >(function () { return { someFun(arg) {} };})() : { someFun(arg: number): void; } > : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ >(function () { return { someFun(arg) {} };}) : () => { someFun(arg: number): void; } @@ -57,19 +57,19 @@ app.foo.bar.someFun(1); >app.foo.bar.someFun(1) : void > : ^^^^ >app.foo.bar.someFun : (arg: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >app.foo.bar : { someFun: (arg: number) => void; } -> : ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^ >app.foo : { bar: { someFun: (arg: number) => void; }; } -> : ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >app : typeof app > : ^^^^^^^^^^ >foo : { bar: { someFun: (arg: number) => void; }; } -> : ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >bar : { someFun: (arg: number) => void; } -> : ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^ >someFun : (arg: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/contextualSigInstantiationRestParams.types b/tests/baselines/reference/contextualSigInstantiationRestParams.types index 5c9194efb236b..ba478ebb4f885 100644 --- a/tests/baselines/reference/contextualSigInstantiationRestParams.types +++ b/tests/baselines/reference/contextualSigInstantiationRestParams.types @@ -17,9 +17,9 @@ declare function contextual(...s: string[]): string var sig: typeof contextual = toInstantiate; >sig : (...s: string[]) => string -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >contextual : (...s: string[]) => string -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >toInstantiate : (a?: A, b?: B) => B -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/contextualSignatureConditionalTypeInstantiationUsingDefault.types b/tests/baselines/reference/contextualSignatureConditionalTypeInstantiationUsingDefault.types index 27cbf70696711..14f47ec04722f 100644 --- a/tests/baselines/reference/contextualSignatureConditionalTypeInstantiationUsingDefault.types +++ b/tests/baselines/reference/contextualSignatureConditionalTypeInstantiationUsingDefault.types @@ -27,8 +27,8 @@ type ActionFunction = (event: TEvent) => void; > : ^^^^^^ declare function createMachine< ->createMachine : (config: { types?: TTypesMeta; }, implementations: TTypesMeta extends TypegenEnabled ? ActionFunction<{ type: "test"; }> : ActionFunction<{ type: string; }>) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +>createMachine : (config: { types?: TTypesMeta; }, implementations: TTypesMeta extends TypegenEnabled ? ActionFunction<{ type: "test"; }> : ActionFunction<{ type: string; }>) => void +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ TTypesMeta extends TypegenEnabled | TypegenDisabled = TypegenDisabled >( @@ -58,20 +58,20 @@ declare function createMachine< createMachine({}, (ev) => { >createMachine({}, (ev) => { ev.type; // should be `string`}) : void > : ^^^^ ->createMachine : (config: { types?: TTypesMeta; }, implementations: TTypesMeta extends TypegenEnabled ? ActionFunction<{ type: "test"; }> : ActionFunction<{ type: string; }>) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +>createMachine : (config: { types?: TTypesMeta; }, 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/contextualSignatureInArrayElementLibEs2015.types b/tests/baselines/reference/contextualSignatureInArrayElementLibEs2015.types index 79534f8f3b856..d35386ade5f37 100644 --- a/tests/baselines/reference/contextualSignatureInArrayElementLibEs2015.types +++ b/tests/baselines/reference/contextualSignatureInArrayElementLibEs2015.types @@ -21,7 +21,7 @@ test([ >test([ (arg) => { arg; // number },]) : void > : ^^^^ >test : (arg: Record void> | Array<(arg: number) => void>) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >[ (arg) => { arg; // number },] : ((arg: any) => void)[] > : ^^ ^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/contextualSignatureInArrayElementLibEs5.types b/tests/baselines/reference/contextualSignatureInArrayElementLibEs5.types index dc6eaf3d0aa33..ec1e380e86f28 100644 --- a/tests/baselines/reference/contextualSignatureInArrayElementLibEs5.types +++ b/tests/baselines/reference/contextualSignatureInArrayElementLibEs5.types @@ -21,7 +21,7 @@ test([ >test([ (arg) => { arg; // number },]) : void > : ^^^^ >test : (arg: Record void> | Array<(arg: number) => void>) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >[ (arg) => { arg; // number },] : ((arg: any) => void)[] > : ^^ ^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/contextualSignatureInObjectFreeze.types b/tests/baselines/reference/contextualSignatureInObjectFreeze.types index 73770e762ad21..d5c9c252c5ac8 100644 --- a/tests/baselines/reference/contextualSignatureInObjectFreeze.types +++ b/tests/baselines/reference/contextualSignatureInObjectFreeze.types @@ -6,12 +6,12 @@ Object.freeze({ >Object.freeze({ f: function () { }}) : Readonly<{ f: () => void; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->Object.freeze : { (f: T): T; (o: T_1): Readonly; (o: T_2): Readonly; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +>Object.freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ ->freeze : { (f: T): T; (o: T_1): Readonly; (o: T_2): Readonly; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +>freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >{ f: function () { }} : { f: () => void; } > : ^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/contextualSignatureInstantiation.types b/tests/baselines/reference/contextualSignatureInstantiation.types index b322c38be4399..8b2fb9e27a584 100644 --- a/tests/baselines/reference/contextualSignatureInstantiation.types +++ b/tests/baselines/reference/contextualSignatureInstantiation.types @@ -71,13 +71,13 @@ var a = bar(1, 1, g); // Should be number >bar(1, 1, g) : number > : ^^^^^^ >bar : (x: T, y: U, cb: (x: T, y: U) => V) => V -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >1 : 1 > : ^ >g : (x: T, y: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var a = baz(1, 1, g); // Should be number >a : number @@ -85,13 +85,13 @@ var a = baz(1, 1, g); // Should be number >baz(1, 1, g) : number > : ^^^^^^ >baz : (x: T, y: T, cb: (x: T, y: T) => U) => U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >1 : 1 > : ^ >g : (x: T, y: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var b: number | string; >b : string | number @@ -103,9 +103,9 @@ var b = foo(g); // Error, number and string are disjoint types >foo(g) : unknown > : ^^^^^^^ >foo : (cb: (x: number, y: string) => T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >g : (x: T, y: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var b = bar(1, "one", g); // Error, number and string are disjoint types >b : string | number @@ -113,13 +113,13 @@ var b = bar(1, "one", g); // Error, number and string are disjoint types >bar(1, "one", g) : unknown > : ^^^^^^^ >bar : (x: T, y: U, cb: (x: T, y: U) => V) => V -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >"one" : "one" > : ^^^^^ >g : (x: T, y: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var b = bar("one", 1, g); // Error, number and string are disjoint types >b : string | number @@ -127,13 +127,13 @@ var b = bar("one", 1, g); // Error, number and string are disjoint types >bar("one", 1, g) : unknown > : ^^^^^^^ >bar : (x: T, y: U, cb: (x: T, y: U) => V) => V -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >"one" : "one" > : ^^^^^ >1 : 1 > : ^ >g : (x: T, y: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var b = baz(b, b, g); // Should be number | string >b : string | number @@ -141,13 +141,13 @@ var b = baz(b, b, g); // Should be number | string >baz(b, b, g) : string | number > : ^^^^^^^^^^^^^^^ >baz : (x: T, y: T, cb: (x: T, y: T) => U) => U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >b : string | number > : ^^^^^^^^^^^^^^^ >b : string | number > : ^^^^^^^^^^^^^^^ >g : (x: T, y: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var d: number[] | string[]; >d : number[] | string[] @@ -159,9 +159,9 @@ var d = foo(h); // Should be number[] | string[] >foo(h) : number[] | string[] > : ^^^^^^^^^^^^^^^^^^^ >foo : (cb: (x: number, y: string) => T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >h : (x: T, y: U) => T[] | U[] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ var d = bar(1, "one", h); // Should be number[] | string[] >d : number[] | string[] @@ -169,13 +169,13 @@ var d = bar(1, "one", h); // Should be number[] | string[] >bar(1, "one", h) : number[] | string[] > : ^^^^^^^^^^^^^^^^^^^ >bar : (x: T, y: U, cb: (x: T, y: U) => V) => V -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >"one" : "one" > : ^^^^^ >h : (x: T, y: U) => T[] | U[] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ var d = bar("one", 1, h); // Should be number[] | string[] >d : number[] | string[] @@ -183,13 +183,13 @@ var d = bar("one", 1, h); // Should be number[] | string[] >bar("one", 1, h) : number[] | string[] > : ^^^^^^^^^^^^^^^^^^^ >bar : (x: T, y: U, cb: (x: T, y: U) => V) => V -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >"one" : "one" > : ^^^^^ >1 : 1 > : ^ >h : (x: T, y: U) => T[] | U[] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ var d = baz(d, d, g); // Should be number[] | string[] >d : number[] | string[] @@ -197,11 +197,11 @@ var d = baz(d, d, g); // Should be number[] | string[] >baz(d, d, g) : number[] | string[] > : ^^^^^^^^^^^^^^^^^^^ >baz : (x: T, y: T, cb: (x: T, y: T) => U) => U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >d : number[] | string[] > : ^^^^^^^^^^^^^^^^^^^ >d : number[] | string[] > : ^^^^^^^^^^^^^^^^^^^ >g : (x: T, y: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/contextualSignatureInstantiation1.types b/tests/baselines/reference/contextualSignatureInstantiation1.types index 64a63de4718a3..2d2177488d58b 100644 --- a/tests/baselines/reference/contextualSignatureInstantiation1.types +++ b/tests/baselines/reference/contextualSignatureInstantiation1.types @@ -29,17 +29,17 @@ var e = (x: string, y?: K) => x.length; var r99 = map(e); // should be {}[] for S since a generic lambda is not inferentially typed >r99 : (a: string[]) => number[] -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ >map(e) : (a: string[]) => number[] -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ >map : (f: (x: S) => T) => (a: S[]) => T[] -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >e : (x: string, y?: K) => number > : ^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ declare function map2(f: (x: S) => T): (a: S[]) => T[]; >map2 : (f: (x: S) => T) => (a: S[]) => T[] -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ >length : number > : ^^^^^^ >f : (x: S) => T @@ -67,11 +67,11 @@ var e2 = (x: string, y?: K) => x.length; var r100 = map2(e2); // type arg inference should fail for S since a generic lambda is not inferentially typed. Falls back to { length: number } >r100 : (a: string[]) => number[] -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ >map2(e2) : (a: string[]) => number[] -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ >map2 : (f: (x: S) => T) => (a: S[]) => T[] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ >e2 : (x: string, y?: K) => number > : ^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ diff --git a/tests/baselines/reference/contextualSignatureInstantiation2.types b/tests/baselines/reference/contextualSignatureInstantiation2.types index 2cf405a944c60..0f793310a8e60 100644 --- a/tests/baselines/reference/contextualSignatureInstantiation2.types +++ b/tests/baselines/reference/contextualSignatureInstantiation2.types @@ -20,7 +20,7 @@ dot = (f: (_: T) => S) => (g: (_: U) => T): (r:U) => S => (x) => f(g(x) >dot = (f: (_: T) => S) => (g: (_: U) => T): (r:U) => S => (x) => f(g(x)) : (f: (_: T) => S) => (g: (_: U) => T) => (r: U) => S > : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^ ^^^^^ >dot : (f: (_: T) => S) => (g: (_: U) => T) => (_: U) => S -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >(f: (_: T) => S) => (g: (_: U) => T): (r:U) => S => (x) => f(g(x)) : (f: (_: T) => S) => (g: (_: U) => T) => (r: U) => S > : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^ ^^^^^ >f : (_: T) => S @@ -42,11 +42,11 @@ dot = (f: (_: T) => S) => (g: (_: U) => T): (r:U) => S => (x) => f(g(x) >f(g(x)) : S > : ^ >f : (_: T) => S -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >g(x) : T > : ^ >g : (_: U) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >x : U > : ^ @@ -62,11 +62,11 @@ var r23 = dot(id)(id); >dot(id)(id) : (_: T) => unknown > : ^^^^ ^^^^^^^^^^^^^^^ >dot(id) : (g: (_: U) => unknown) => (_: U) => unknown -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^ ^^^^^^^ >dot : (f: (_: T) => S) => (g: (_: U) => T) => (_: U) => S -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >id : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >id : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/contextualSignatureInstantiation3.types b/tests/baselines/reference/contextualSignatureInstantiation3.types index e628879c4e440..a2333e0bc0395 100644 --- a/tests/baselines/reference/contextualSignatureInstantiation3.types +++ b/tests/baselines/reference/contextualSignatureInstantiation3.types @@ -15,13 +15,13 @@ function map(items: T[], f: (x: T) => U): U[]{ >items.map(f) : U[] > : ^^^ >items.map : (callbackfn: (value: T, index: number, array: T[]) => U_1, thisArg?: any) => U_1[] -> : ^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ >items : T[] > : ^^^ >map : (callbackfn: (value: T, index: number, array: T[]) => U_1, thisArg?: any) => U_1[] -> : ^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ >f : (x: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ } function identity(x: T) { @@ -71,11 +71,11 @@ var v1 = xs.map(identity); // Error if not number[] >xs.map(identity) : number[] > : ^^^^^^^^ >xs.map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >xs : number[] > : ^^^^^^^^ >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >identity : (x: T) => T > : ^ ^^ ^^ ^^^^^^ @@ -85,7 +85,7 @@ var v1 = map(xs, identity); // Error if not number[] >map(xs, identity) : number[] > : ^^^^^^^^ >map : (items: T[], f: (x: T) => U) => U[] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >xs : number[] > : ^^^^^^^^ >identity : (x: T) => T @@ -101,11 +101,11 @@ var v2 = xs.map(singleton); // Error if not number[][] >xs.map(singleton) : number[][] > : ^^^^^^^^^^ >xs.map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >xs : number[] > : ^^^^^^^^ >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >singleton : (x: T) => T[] > : ^ ^^ ^^ ^^^^^^^^ @@ -115,7 +115,7 @@ var v2 = map(xs, singleton); // Error if not number[][] >map(xs, singleton) : number[][] > : ^^^^^^^^^^ >map : (items: T[], f: (x: T) => U) => U[] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >xs : number[] > : ^^^^^^^^ >singleton : (x: T) => T[] diff --git a/tests/baselines/reference/contextualSignatureInstantiation4.types b/tests/baselines/reference/contextualSignatureInstantiation4.types index 1a761b8416e0a..ef73a4c0e6413 100644 --- a/tests/baselines/reference/contextualSignatureInstantiation4.types +++ b/tests/baselines/reference/contextualSignatureInstantiation4.types @@ -25,7 +25,7 @@ const banana1 = fruitFactory1(Banana) // Banana >fruitFactory1(Banana) : Banana > : ^^^^^^^^^^^ >fruitFactory1 : (Fruit: new (...args: any[]) => TFruit) => TFruit -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >Banana : typeof Banana > : ^^^^^^^^^^^^^ @@ -45,7 +45,7 @@ const banana2 = fruitFactory2(Banana) // Banana >fruitFactory2(Banana) : Banana > : ^^^^^^^^^^^ >fruitFactory2 : (Fruit: new (a: string, ...args: any[]) => TFruit) => TFruit -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >Banana : typeof Banana > : ^^^^^^^^^^^^^ @@ -67,7 +67,7 @@ const banana3 = fruitFactory3(Banana) // Banana<"foo"> >fruitFactory3(Banana) : Banana<"foo"> > : ^^^^^^^^^^^^^ >fruitFactory3 : (Fruit: new (a: string, s: "foo", ...args: any[]) => TFruit) => TFruit -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >Banana : typeof Banana > : ^^^^^^^^^^^^^ @@ -87,7 +87,7 @@ const banana4 = fruitFactory4(Banana) // Banana<"foo"> >fruitFactory4(Banana) : Banana<"foo"> > : ^^^^^^^^^^^^^ >fruitFactory4 : (Fruit: new (a: string, ...args: "foo"[]) => TFruit) => TFruit -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >Banana : typeof Banana > : ^^^^^^^^^^^^^ @@ -105,7 +105,7 @@ const banana5 = fruitFactory5(Banana) // Banana<"foo"> >fruitFactory5(Banana) : Banana<"foo"> > : ^^^^^^^^^^^^^ >fruitFactory5 : (Fruit: new (...args: "foo"[]) => TFruit) => TFruit -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >Banana : typeof Banana > : ^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/contextualSignatureInstantiationWithTypeParameterConstrainedToOuterTypeParameter.types b/tests/baselines/reference/contextualSignatureInstantiationWithTypeParameterConstrainedToOuterTypeParameter.types index b8c0ec1fadc35..eb9f014482106 100644 --- a/tests/baselines/reference/contextualSignatureInstantiationWithTypeParameterConstrainedToOuterTypeParameter.types +++ b/tests/baselines/reference/contextualSignatureInstantiationWithTypeParameterConstrainedToOuterTypeParameter.types @@ -3,17 +3,17 @@ === contextualSignatureInstantiationWithTypeParameterConstrainedToOuterTypeParameter.ts === function f() { >f : () => (u: U) => U -> : ^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ function g(u: U): U { return null } >g : (u: U) => U -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >u : U > : ^ return g; >g : (u: U) => U -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ } var h: (v: V, func: (v: V) => W) => W; >h : (v: V, func: (v: V) => W) => W @@ -31,11 +31,11 @@ var x = h("", f()); // Call should succeed and x should be string. All t >h("", f()) : string > : ^^^^^^ >h : (v: V, func: (v: V) => W) => W -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >"" : "" > : ^^ >f() : (u: U) => U > : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ >f : () => (u: U) => U -> : ^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/contextualSignatureInstatiationContravariance.types b/tests/baselines/reference/contextualSignatureInstatiationContravariance.types index 835299e1960f2..b8639428a0a55 100644 --- a/tests/baselines/reference/contextualSignatureInstatiationContravariance.types +++ b/tests/baselines/reference/contextualSignatureInstatiationContravariance.types @@ -15,7 +15,7 @@ interface Elephant extends Animal { y2 } var f2: (x: T, y: T) => void; >f2 : (x: T, y: T) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T > : ^ >y : T @@ -31,11 +31,11 @@ var g2: (g: Giraffe, e: Elephant) => void; g2 = f2; // error because Giraffe and Elephant are disjoint types >g2 = f2 : (x: T, y: T) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >g2 : (g: Giraffe, e: Elephant) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >f2 : (x: T, y: T) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var h2: (g1: Giraffe, g2: Giraffe) => void; >h2 : (g1: Giraffe, g2: Giraffe) => void @@ -47,9 +47,9 @@ var h2: (g1: Giraffe, g2: Giraffe) => void; h2 = f2; // valid because Giraffe satisfies the constraint. It is safe in the traditional contravariant fashion. >h2 = f2 : (x: T, y: T) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >h2 : (g1: Giraffe, g2: Giraffe) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >f2 : (x: T, y: T) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/contextualSignatureInstatiationCovariance.types b/tests/baselines/reference/contextualSignatureInstatiationCovariance.types index 56ac6efa47015..c9ed4c430e07c 100644 --- a/tests/baselines/reference/contextualSignatureInstatiationCovariance.types +++ b/tests/baselines/reference/contextualSignatureInstatiationCovariance.types @@ -12,7 +12,7 @@ interface Giraffe extends Animal, TallThing { y } var f2: (x: T, y: T) => void; >f2 : (x: T, y: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T > : ^ >y : T @@ -28,11 +28,11 @@ var g2: (a: Animal, t: TallThing) => void; g2 = f2; // While neither Animal nor TallThing satisfy the constraint, T is at worst a Giraffe and compatible with both via covariance. >g2 = f2 : (x: T, y: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >g2 : (a: Animal, t: TallThing) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >f2 : (x: T, y: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var h2: (a1: Animal, a2: Animal) => void; >h2 : (a1: Animal, a2: Animal) => void @@ -44,9 +44,9 @@ var h2: (a1: Animal, a2: Animal) => void; h2 = f2; // Animal does not satisfy the constraint, but T is at worst a Giraffe and compatible with Animal via covariance. >h2 = f2 : (x: T, y: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >h2 : (a1: Animal, a2: Animal) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >f2 : (x: T, y: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/contextualTupleTypeParameterReadonly.types b/tests/baselines/reference/contextualTupleTypeParameterReadonly.types index e9e1abbda49c6..792662e0013b5 100644 --- a/tests/baselines/reference/contextualTupleTypeParameterReadonly.types +++ b/tests/baselines/reference/contextualTupleTypeParameterReadonly.types @@ -2,8 +2,8 @@ === contextualTupleTypeParameterReadonly.ts === declare function each>(cases: ReadonlyArray): (fn: (...args: T) => any) => void; ->each : (cases: ReadonlyArray) => (fn: (...args: T) => any) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +>each : >(cases: ReadonlyArray) => (fn: (...args: T) => any) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >cases : readonly T[] > : ^^^^^^^^^^^^ >fn : (...args: T) => any @@ -39,11 +39,11 @@ const cases = [ const eacher = each(cases); >eacher : (fn: (...args: readonly [1, "1"] | readonly [2, "2"]) => any) => void -> : ^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >each(cases) : (fn: (...args: readonly [1, "1"] | readonly [2, "2"]) => any) => void -> : ^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->each : (cases: ReadonlyArray) => (fn: (...args: T) => any) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ +>each : >(cases: ReadonlyArray) => (fn: (...args: T) => any) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >cases : readonly [readonly [1, "1"], readonly [2, "2"]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -51,7 +51,7 @@ eacher((a, b) => { >eacher((a, b) => { a; b;}) : void > : ^^^^ >eacher : (fn: (...args: readonly [1, "1"] | readonly [2, "2"]) => any) => void -> : ^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >(a, b) => { a; b;} : (a: 1 | 2, b: "1" | "2") => void > : ^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >a : 1 | 2 @@ -74,7 +74,7 @@ eacher((...args) => { >eacher((...args) => { const [a, b] = args; a; b;}) : void > : ^^^^ >eacher : (fn: (...args: readonly [1, "1"] | readonly [2, "2"]) => any) => void -> : ^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >(...args) => { const [a, b] = args; a; b;} : (...args: readonly [1, "1"] | readonly [2, "2"]) => void > : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >args : readonly [1, "1"] | readonly [2, "2"] diff --git a/tests/baselines/reference/contextualTypeAppliedToVarArgs.types b/tests/baselines/reference/contextualTypeAppliedToVarArgs.types index 1b725ccd7346f..0581b69e86693 100644 --- a/tests/baselines/reference/contextualTypeAppliedToVarArgs.types +++ b/tests/baselines/reference/contextualTypeAppliedToVarArgs.types @@ -29,9 +29,9 @@ class Foo{ delegate(this, function (source, args2) >delegate(this, function (source, args2) { var a = source.node; var b = args2.node; } ) : (...args: any[]) => any -> : ^^^^ ^^ ^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >delegate : (instance: any, method: (...args: any[]) => any, data?: any) => (...args: any[]) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >this : this > : ^^^^ >function (source, args2) { var a = source.node; var b = args2.node; } : (source: any, args2: any) => void diff --git a/tests/baselines/reference/contextualTypeCaching.types b/tests/baselines/reference/contextualTypeCaching.types index 9a8ea62fd1435..468ad19af18c8 100644 --- a/tests/baselines/reference/contextualTypeCaching.types +++ b/tests/baselines/reference/contextualTypeCaching.types @@ -38,7 +38,7 @@ export type CustomEvents = { declare function emit(type: T, data: CustomEvents[T]): void >emit : (type: T, data: CustomEvents[T]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >type : T > : ^ >data : CustomEvents[T] @@ -48,7 +48,7 @@ emit('a', { >emit('a', { callback: (r) => {}, nested: { nestedCallback: (r) => {}, },}) : void > : ^^^^ >emit : (type: T, data: CustomEvents[T]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >'a' : "a" > : ^^^ >{ callback: (r) => {}, nested: { nestedCallback: (r) => {}, },} : { callback: (r: string) => void; nested: { nestedCallback: (r: string) => void; }; } @@ -110,7 +110,7 @@ interface Optimization { } declare const A: ( >A : (obj: T, prop: P, factory: () => T[P]) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ obj: T, >obj : T @@ -137,7 +137,7 @@ export const applyOptimizationDefaults = (optimization: Optimization) => { >A(optimization, "minimizer", () => [ { apply: (compiler) => {}, }, ]) : void > : ^^^^ >A : (obj: T, prop: P, factory: () => T[P]) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >optimization : Optimization > : ^^^^^^^^^^^^ >"minimizer" : "minimizer" diff --git a/tests/baselines/reference/contextualTypeForInitalizedVariablesFiltersUndefined.types b/tests/baselines/reference/contextualTypeForInitalizedVariablesFiltersUndefined.types index 436338ac46beb..e046fab296264 100644 --- a/tests/baselines/reference/contextualTypeForInitalizedVariablesFiltersUndefined.types +++ b/tests/baselines/reference/contextualTypeForInitalizedVariablesFiltersUndefined.types @@ -43,13 +43,13 @@ const { s } = t; >s : any > : ^^^ >t : { s: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ function fst({ s } = t) { } >fst : ({ s }?: { s: string; } | undefined) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ >s : any > : ^^^ >t : { s: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/contextualTypeFromJSDoc.types b/tests/baselines/reference/contextualTypeFromJSDoc.types index 1a8d58ed9417f..e96f075e12e25 100644 --- a/tests/baselines/reference/contextualTypeFromJSDoc.types +++ b/tests/baselines/reference/contextualTypeFromJSDoc.types @@ -4,7 +4,7 @@ /** @type {Array<[string, {x?:number, y?:number}]>} */ const arr = [ >arr : [string, { x?: number; y?: number; }][] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^ >[ ['a', { x: 1 }], ['b', { y: 2 }]] : ([string, { x: number; }] | [string, { y: number; }])[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -79,11 +79,11 @@ class C { >x : [string, { x?: number; y?: number; }][] > : ^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^ >value : [string, { x?: number; y?: number; }][] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^ get x() { >x : [string, { x?: number; y?: number; }][] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^ return [ >[ ['a', { x: 1 }], ['b', { y: 2 }] ] : ([string, { x: number; }] | [string, { y: number; }])[] diff --git a/tests/baselines/reference/contextualTypeOfIndexedAccessParameter.types b/tests/baselines/reference/contextualTypeOfIndexedAccessParameter.types index 7341845ac199b..6287ef7f3a5a2 100644 --- a/tests/baselines/reference/contextualTypeOfIndexedAccessParameter.types +++ b/tests/baselines/reference/contextualTypeOfIndexedAccessParameter.types @@ -19,7 +19,7 @@ type OptionsForKey = { a: { cb: (p: number) => number } } & { b: {} }; declare function f(key: K, options: OptionsForKey[K]): void; >f : (key: K, options: OptionsForKey[K]) => void -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >key : K > : ^ >options : OptionsForKey[K] @@ -29,7 +29,7 @@ f("a", { >f("a", { cb: p => p,}) : void > : ^^^^ >f : (key: K, options: OptionsForKey[K]) => void -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >"a" : "a" > : ^^^ >{ cb: p => p,} : { cb: (p: number) => number; } @@ -49,7 +49,7 @@ f("a", { function g< >g : (x: ({ a: string; } & { b: string; })[K], y: string) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ K extends "a" | "b">(x: ({ a: string } & { b: string })[K], y: string) { >x : ({ a: string; } & { b: string; })[K] @@ -65,7 +65,7 @@ function g< >x = y : string > : ^^^^^^ >x : ({ a: string; } & { b: string; })[K] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^ ^^^^^^^ >y : string > : ^^^^^^ } diff --git a/tests/baselines/reference/contextualTypeOnYield1.types b/tests/baselines/reference/contextualTypeOnYield1.types index bde3fa35982f9..fc62787521274 100644 --- a/tests/baselines/reference/contextualTypeOnYield1.types +++ b/tests/baselines/reference/contextualTypeOnYield1.types @@ -23,11 +23,11 @@ const f: FuncOrGeneratorFunc = function*() { >console.log(num) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >num : number > : ^^^^^^ } diff --git a/tests/baselines/reference/contextualTypeOnYield2.types b/tests/baselines/reference/contextualTypeOnYield2.types index ec126a35ee75e..3d33e07f42d91 100644 --- a/tests/baselines/reference/contextualTypeOnYield2.types +++ b/tests/baselines/reference/contextualTypeOnYield2.types @@ -21,11 +21,11 @@ const g: OrGen = function* () { >console.log(num) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >num : number > : ^^^^^^ } diff --git a/tests/baselines/reference/contextualTypeSelfReferencing.types b/tests/baselines/reference/contextualTypeSelfReferencing.types index 301490dd0e75f..0f6e839781322 100644 --- a/tests/baselines/reference/contextualTypeSelfReferencing.types +++ b/tests/baselines/reference/contextualTypeSelfReferencing.types @@ -26,7 +26,7 @@ const result = parse([{ a: "foo" }]); >parse([{ a: "foo" }]) : [{ a: "foo"; }] > : ^^^^^^^^^^^^^^^ >parse : (def: narrow) => def -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >[{ a: "foo" }] : [{ a: "foo"; }] > : ^^^^^^^^^^^^^^^ >{ a: "foo" } : { a: "foo"; } diff --git a/tests/baselines/reference/contextualTypeTupleEnd.types b/tests/baselines/reference/contextualTypeTupleEnd.types index 6c892791d599f..062d95bdbf9ae 100644 --- a/tests/baselines/reference/contextualTypeTupleEnd.types +++ b/tests/baselines/reference/contextualTypeTupleEnd.types @@ -31,13 +31,13 @@ f1(); // Error >f1() : void > : ^^^^ >f1 : (...args: Funcs) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ f1(x => str(x)); >f1(x => str(x)) : void > : ^^^^ >f1 : (...args: Funcs) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x => str(x) : (x: string) => void > : ^ ^^^^^^^^^^^^^^^^^ >x : string @@ -45,7 +45,7 @@ f1(x => str(x)); >str(x) : void > : ^^^^ >str : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string > : ^^^^^^ @@ -53,7 +53,7 @@ f1(x => num(x), x => str(x)); >f1(x => num(x), x => str(x)) : void > : ^^^^ >f1 : (...args: Funcs) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x => num(x) : (x: number) => void > : ^ ^^^^^^^^^^^^^^^^^ >x : number @@ -61,7 +61,7 @@ f1(x => num(x), x => str(x)); >num(x) : void > : ^^^^ >num : (x: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : number > : ^^^^^^ >x => str(x) : (x: string) => void @@ -71,7 +71,7 @@ f1(x => num(x), x => str(x)); >str(x) : void > : ^^^^ >str : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string > : ^^^^^^ @@ -79,7 +79,7 @@ f1(x => num(x), x => num(x), x => str(x)); >f1(x => num(x), x => num(x), x => str(x)) : void > : ^^^^ >f1 : (...args: Funcs) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x => num(x) : (x: number) => void > : ^ ^^^^^^^^^^^^^^^^^ >x : number @@ -87,7 +87,7 @@ f1(x => num(x), x => num(x), x => str(x)); >num(x) : void > : ^^^^ >num : (x: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : number > : ^^^^^^ >x => num(x) : (x: number) => void @@ -97,7 +97,7 @@ f1(x => num(x), x => num(x), x => str(x)); >num(x) : void > : ^^^^ >num : (x: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : number > : ^^^^^^ >x => str(x) : (x: string) => void @@ -107,7 +107,7 @@ f1(x => num(x), x => num(x), x => str(x)); >str(x) : void > : ^^^^ >str : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string > : ^^^^^^ @@ -129,7 +129,7 @@ const a1: Funcs = [x => str(x)]; >str(x) : void > : ^^^^ >str : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string > : ^^^^^^ @@ -145,7 +145,7 @@ const a2: Funcs = [x => num(x), x => str(x)]; >num(x) : void > : ^^^^ >num : (x: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : number > : ^^^^^^ >x => str(x) : (x: string) => void @@ -155,7 +155,7 @@ const a2: Funcs = [x => num(x), x => str(x)]; >str(x) : void > : ^^^^ >str : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string > : ^^^^^^ @@ -171,7 +171,7 @@ const a3: Funcs = [x => num(x), x => num(x), x => str(x)]; >num(x) : void > : ^^^^ >num : (x: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : number > : ^^^^^^ >x => num(x) : (x: number) => void @@ -181,7 +181,7 @@ const a3: Funcs = [x => num(x), x => num(x), x => str(x)]; >num(x) : void > : ^^^^ >num : (x: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : number > : ^^^^^^ >x => str(x) : (x: string) => void @@ -191,7 +191,7 @@ const a3: Funcs = [x => num(x), x => num(x), x => str(x)]; >str(x) : void > : ^^^^ >str : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string > : ^^^^^^ @@ -223,7 +223,7 @@ export type ExampleState = { export function createSelector>(...selectors: [...selectors: S, f: (x: any) => any]) { >createSelector : >(...selectors: [...selectors: S, f: (x: any) => any]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^ >selectors : [...selectors: S, f: (x: any) => any] > : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^ >x : any @@ -233,20 +233,20 @@ export function createSelector>(...selecto >console.log(selectors) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >selectors : [...selectors: S, f: (x: any) => any] -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^ } createSelector( >createSelector( x => x.foo, x => x.bar, () => 42) : void > : ^^^^ >createSelector : >(...selectors: [...selectors: S, f: (x: any) => any]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^ x => x.foo, >x => x.foo : (x: ExampleState) => "foo" @@ -296,7 +296,7 @@ example( >example( x => x.foo, // Error x => x.bar, // Error x => x.baz,) : void > : ^^^^ >example : (...args: [...((n: number) => void)[], (x: any) => void]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ x => x.foo, // Error >x => x.foo : (x: number) => any @@ -352,7 +352,7 @@ test(a => a, b => b, c => c); >test(a => a, b => b, c => c) : void > : ^^^^ >test : (...args: [...((arg: number) => void)[], (arg: string) => void]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >a => a : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >a : number diff --git a/tests/baselines/reference/contextualTypeWithTuple.types b/tests/baselines/reference/contextualTypeWithTuple.types index 48717f9d77084..af3f3025b8ca3 100644 --- a/tests/baselines/reference/contextualTypeWithTuple.types +++ b/tests/baselines/reference/contextualTypeWithTuple.types @@ -153,7 +153,7 @@ objNumTuple = [ {}, 5]; >objNumTuple = [ {}, 5] : [{}, number] > : ^^^^^^^^^^^^ >objNumTuple : [{ a: string; }, number] -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^ >[ {}, 5] : [{}, number] > : ^^^^^^^^^^^^ >{} : {} diff --git a/tests/baselines/reference/contextualTypeWithUnionTypeCallSignatures.types b/tests/baselines/reference/contextualTypeWithUnionTypeCallSignatures.types index 3d03711c89fdd..d5470ad755e56 100644 --- a/tests/baselines/reference/contextualTypeWithUnionTypeCallSignatures.types +++ b/tests/baselines/reference/contextualTypeWithUnionTypeCallSignatures.types @@ -51,11 +51,11 @@ var x: IWithNoCallSignatures | IWithCallSignatures = a => a.toString(); >a.toString() : string > : ^^^^^^ >a.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >a : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ // With call signatures with different return type var x2: IWithCallSignatures | IWithCallSignatures2 = a => a.toString(); // Like iWithCallSignatures @@ -68,11 +68,11 @@ var x2: IWithCallSignatures | IWithCallSignatures2 = a => a.toString(); // Like >a.toString() : string > : ^^^^^^ >a.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >a : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var x2: IWithCallSignatures | IWithCallSignatures2 = a => a; // Like iWithCallSignatures2 >x2 : IWithCallSignatures | IWithCallSignatures2 @@ -109,9 +109,9 @@ var x4: IWithCallSignatures | IWithCallSignatures4 = a => /*here a should be any >a.toString() : string > : ^^^^^^ >a.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >a : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/contextualTypeWithUnionTypeIndexSignatures.types b/tests/baselines/reference/contextualTypeWithUnionTypeIndexSignatures.types index c6a212e8e3d0e..7239654cafbb5 100644 --- a/tests/baselines/reference/contextualTypeWithUnionTypeIndexSignatures.types +++ b/tests/baselines/reference/contextualTypeWithUnionTypeIndexSignatures.types @@ -108,11 +108,11 @@ var x2: IWithStringIndexSignature1 | IWithStringIndexSignature2 = { z: a => a.to >a.toString() : string > : ^^^^^^ >a.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >a : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var x2: IWithStringIndexSignature1 | IWithStringIndexSignature2 = { z: a => a }; // a should be number >x2 : IWithStringIndexSignature1 | IWithStringIndexSignature2 @@ -184,11 +184,11 @@ var x4: IWithNumberIndexSignature1 | IWithNumberIndexSignature2 = { 1: a => a.to >a.toString() : string > : ^^^^^^ >a.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >a : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var x4: IWithNumberIndexSignature1 | IWithNumberIndexSignature2 = { 1: a => a }; // a should be number >x4 : IWithNumberIndexSignature1 | IWithNumberIndexSignature2 diff --git a/tests/baselines/reference/contextualTypeWithUnionTypeMembers.types b/tests/baselines/reference/contextualTypeWithUnionTypeMembers.types index 6e18fc27d6711..d3f6a07dc2755 100644 --- a/tests/baselines/reference/contextualTypeWithUnionTypeMembers.types +++ b/tests/baselines/reference/contextualTypeWithUnionTypeMembers.types @@ -478,11 +478,11 @@ var i11Ori21: I11 | I21 = { >a.charAt(b) : string > : ^^^^^^ >a.charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : string > : ^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : number > : ^^^^^^ @@ -521,11 +521,11 @@ var i11Ori21: I11 | I21 = { >a.charCodeAt(b) : number > : ^^^^^^ >a.charCodeAt : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : string > : ^^^^^^ >charCodeAt : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : number > : ^^^^^^ @@ -576,11 +576,11 @@ var arrayOrI11OrI21: Array = [i11, i21, i11 || i21, { >a.charAt(b) : string > : ^^^^^^ >a.charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : string > : ^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : number > : ^^^^^^ @@ -616,11 +616,11 @@ var arrayOrI11OrI21: Array = [i11, i21, i11 || i21, { >a.charCodeAt(b) : number > : ^^^^^^ >a.charCodeAt : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : string > : ^^^^^^ >charCodeAt : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : number > : ^^^^^^ diff --git a/tests/baselines/reference/contextualTypeWithUnionTypeObjectLiteral.types b/tests/baselines/reference/contextualTypeWithUnionTypeObjectLiteral.types index f182c5f7ec6e3..e0b7462a267d4 100644 --- a/tests/baselines/reference/contextualTypeWithUnionTypeObjectLiteral.types +++ b/tests/baselines/reference/contextualTypeWithUnionTypeObjectLiteral.types @@ -39,11 +39,11 @@ var objStrOrNum1: { prop: string } | { prop: number } = objStr || objNum; >prop : number > : ^^^^^^ >objStr || objNum : { prop: string; } | { prop: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ >objStr : { prop: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >objNum : { prop: number; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var objStrOrNum2: { prop: string | number } = objStr || objNum; >objStrOrNum2 : { prop: string | number; } @@ -51,11 +51,11 @@ var objStrOrNum2: { prop: string | number } = objStr || objNum; >prop : string | number > : ^^^^^^^^^^^^^^^ >objStr || objNum : { prop: string; } | { prop: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ >objStr : { prop: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >objNum : { prop: number; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ // Below is error because : // Spec says: @@ -256,11 +256,11 @@ var i11Ori21: I11 | I21 = { // Like i1 >a.charAt(b) : string > : ^^^^^^ >a.charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : string > : ^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : number > : ^^^^^^ @@ -292,11 +292,11 @@ var i11Ori21: I11 | I21 = { // Like i2 >a.charCodeAt(b) : number > : ^^^^^^ >a.charCodeAt : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : string > : ^^^^^^ >charCodeAt : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : number > : ^^^^^^ diff --git a/tests/baselines/reference/contextualTypedSpecialAssignment.types b/tests/baselines/reference/contextualTypedSpecialAssignment.types index 3b08b736557fc..8c5d1bbc1c6f6 100644 --- a/tests/baselines/reference/contextualTypedSpecialAssignment.types +++ b/tests/baselines/reference/contextualTypedSpecialAssignment.types @@ -292,11 +292,11 @@ module.exports = { >module.exports = { status: "done", m(n) { }} : { status: "done"; m(n: number): void; } > : ^^^^^^^^^^ ^^^^ ^^ ^^^ ^^^ >module.exports : { status: "done"; m(n: number): void; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^ ^^ ^^^ ^^^ >module : { exports: { status: "done"; m(n: number): void; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^ ^^^^^^ >exports : { status: "done"; m(n: number): void; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^ ^^ ^^^ ^^^ >{ status: "done", m(n) { }} : { status: "done"; m(n: number): void; } > : ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/contextualTyping.types b/tests/baselines/reference/contextualTyping.types index 05c458a59dc96..91a02669eecc6 100644 --- a/tests/baselines/reference/contextualTyping.types +++ b/tests/baselines/reference/contextualTyping.types @@ -317,11 +317,11 @@ class C4T5 { >this.foo = function(i, s) { return s; } : (i: number, s: string) => string > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >this.foo : (i: number, s: string) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >foo : (i: number, s: string) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >function(i, s) { return s; } : (i: number, s: string) => string > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >i : number @@ -353,7 +353,7 @@ module C5T5 { >foo = function(i, s) { return s; } : (i: number, s: string) => string > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >foo : (i: number, s: string) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >function(i, s) { return s; } : (i: number, s: string) => string > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >i : number @@ -378,7 +378,7 @@ c6t5 = <(n: number) => IFoo>function(n) { return ({}) }; >c6t5 = <(n: number) => IFoo>function(n) { return ({}) } : (n: number) => IFoo > : ^ ^^ ^^^^^ >c6t5 : (n: number) => IFoo -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ><(n: number) => IFoo>function(n) { return ({}) } : (n: number) => IFoo > : ^ ^^ ^^^^^ >n : number @@ -598,11 +598,11 @@ objc8.t1 = (function(s) { return s }); >objc8.t1 = (function(s) { return s }) : (s: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >objc8.t1 : (s: string) => string -> : ^ ^^ ^^^^^^^^^^^ ->objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: (n: number, s: string) => number; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: ((n: number, s: string) => string)[]; t12: IBar; t13: IFoo; t14: IFoo; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: { (n: number, s: string): number; }; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: { (n: number, s: string): string; }[]; t12: IBar; t13: IFoo; t14: IFoo; } +> : ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^ >t1 : (s: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(function(s) { return s }) : (s: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >function(s) { return s } : (s: string) => string @@ -617,8 +617,8 @@ objc8.t2 = ({ > : ^^^^ >objc8.t2 : IFoo > : ^^^^ ->objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: (n: number, s: string) => number; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: ((n: number, s: string) => string)[]; t12: IBar; t13: IFoo; t14: IFoo; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: { (n: number, s: string): number; }; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: { (n: number, s: string): string; }[]; t12: IBar; t13: IFoo; t14: IFoo; } +> : ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^ >t2 : IFoo > : ^^^^ >({ n: 1}) : IFoo @@ -640,8 +640,8 @@ objc8.t3 = []; > : ^^^^^^^^^^^ >objc8.t3 : number[] > : ^^^^^^^^ ->objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: (n: number, s: string) => number; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: ((n: number, s: string) => string)[]; t12: IBar; t13: IFoo; t14: IFoo; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: { (n: number, s: string): number; }; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: { (n: number, s: string): string; }[]; t12: IBar; t13: IFoo; t14: IFoo; } +> : ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^ >t3 : number[] > : ^^^^^^^^ >[] : undefined[] @@ -651,11 +651,11 @@ objc8.t4 = function() { return ({}) }; >objc8.t4 = function() { return ({}) } : () => IFoo > : ^^^^^^ >objc8.t4 : () => IFoo -> : ^^^^^^^^^^ ->objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: (n: number, s: string) => number; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: ((n: number, s: string) => string)[]; t12: IBar; t13: IFoo; t14: IFoo; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ +>objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: { (n: number, s: string): number; }; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: { (n: number, s: string): string; }[]; t12: IBar; t13: IFoo; t14: IFoo; } +> : ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^ >t4 : () => IFoo -> : ^^^^^^^^^^ +> : ^^^^^^ >function() { return ({}) } : () => IFoo > : ^^^^^^ >({}) : IFoo @@ -669,11 +669,11 @@ objc8.t5 = function(n) { return ({}) }; >objc8.t5 = function(n) { return ({}) } : (n: number) => IFoo > : ^ ^^^^^^^^^^^^^ >objc8.t5 : (n: number) => IFoo -> : ^ ^^ ^^^^^^^^^ ->objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: (n: number, s: string) => number; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: ((n: number, s: string) => string)[]; t12: IBar; t13: IFoo; t14: IFoo; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: { (n: number, s: string): number; }; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: { (n: number, s: string): string; }[]; t12: IBar; t13: IFoo; t14: IFoo; } +> : ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^ >t5 : (n: number) => IFoo -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >function(n) { return ({}) } : (n: number) => IFoo > : ^ ^^^^^^^^^^^^^ >n : number @@ -689,11 +689,11 @@ objc8.t6 = function(n, s) { return ({}) }; >objc8.t6 = function(n, s) { return ({}) } : (n: number, s: string) => IFoo > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ >objc8.t6 : (n: number, s: string) => IFoo -> : ^ ^^ ^^ ^^ ^^^^^^^^^ ->objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: (n: number, s: string) => number; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: ((n: number, s: string) => string)[]; t12: IBar; t13: IFoo; t14: IFoo; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ +>objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: { (n: number, s: string): number; }; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: { (n: number, s: string): string; }[]; t12: IBar; t13: IFoo; t14: IFoo; } +> : ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^ >t6 : (n: number, s: string) => IFoo -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >function(n, s) { return ({}) } : (n: number, s: string) => IFoo > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^ >n : number @@ -711,11 +711,11 @@ objc8.t7 = function(n: number) { return n }; >objc8.t7 = function(n: number) { return n } : (n: number) => number > : ^ ^^ ^^^^^^^^^^^ >objc8.t7 : (n: number, s: string) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ ->objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: (n: number, s: string) => number; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: ((n: number, s: string) => string)[]; t12: IBar; t13: IFoo; t14: IFoo; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ +>objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: { (n: number, s: string): number; }; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: { (n: number, s: string): string; }[]; t12: IBar; t13: IFoo; t14: IFoo; } +> : ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^ >t7 : (n: number, s: string) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >function(n: number) { return n } : (n: number) => number > : ^ ^^ ^^^^^^^^^^^ >n : number @@ -727,11 +727,11 @@ objc8.t8 = function(n) { return n; }; >objc8.t8 = function(n) { return n; } : (n: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >objc8.t8 : (n: number, s: string) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ ->objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: (n: number, s: string) => number; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: ((n: number, s: string) => string)[]; t12: IBar; t13: IFoo; t14: IFoo; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ +>objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: { (n: number, s: string): number; }; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: { (n: number, s: string): string; }[]; t12: IBar; t13: IFoo; t14: IFoo; } +> : ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^ >t8 : (n: number, s: string) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >function(n) { return n; } : (n: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >n : number @@ -744,8 +744,8 @@ objc8.t9 = [[],[]]; > : ^^^^^^^^^^^^^ >objc8.t9 : number[][] > : ^^^^^^^^^^ ->objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: (n: number, s: string) => number; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: ((n: number, s: string) => string)[]; t12: IBar; t13: IFoo; t14: IFoo; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: { (n: number, s: string): number; }; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: { (n: number, s: string): string; }[]; t12: IBar; t13: IFoo; t14: IFoo; } +> : ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^ >t9 : number[][] > : ^^^^^^^^^^ >[[],[]] : undefined[][] @@ -760,8 +760,8 @@ objc8.t10 = [({}),({})]; > : ^^^^^^ >objc8.t10 : IFoo[] > : ^^^^^^ ->objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: (n: number, s: string) => number; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: ((n: number, s: string) => string)[]; t12: IBar; t13: IFoo; t14: IFoo; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: { (n: number, s: string): number; }; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: { (n: number, s: string): string; }[]; t12: IBar; t13: IFoo; t14: IFoo; } +> : ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^ >t10 : IFoo[] > : ^^^^^^ >[({}),({})] : IFoo[] @@ -783,11 +783,11 @@ objc8.t11 = [function(n, s) { return s; }]; >objc8.t11 = [function(n, s) { return s; }] : ((n: number, s: string) => string)[] > : ^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >objc8.t11 : ((n: number, s: string) => string)[] -> : ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: (n: number, s: string) => number; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: ((n: number, s: string) => string)[]; t12: IBar; t13: IFoo; t14: IFoo; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^ ^^^^^ ^^^ +>objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: { (n: number, s: string): number; }; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: { (n: number, s: string): string; }[]; t12: IBar; t13: IFoo; t14: IFoo; } +> : ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^ >t11 : ((n: number, s: string) => string)[] -> : ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^ ^^^^^ ^^^ >[function(n, s) { return s; }] : ((n: number, s: string) => string)[] > : ^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >function(n, s) { return s; } : (n: number, s: string) => string @@ -804,8 +804,8 @@ objc8.t12 = { > : ^^^^^^^ ^^^ >objc8.t12 : IBar > : ^^^^ ->objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: (n: number, s: string) => number; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: ((n: number, s: string) => string)[]; t12: IBar; t13: IFoo; t14: IFoo; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: { (n: number, s: string): number; }; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: { (n: number, s: string): string; }[]; t12: IBar; t13: IFoo; t14: IFoo; } +> : ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^ >t12 : IBar > : ^^^^ >{ foo: ({})} : { foo: IFoo; } @@ -826,8 +826,8 @@ objc8.t13 = ({ > : ^^^^ >objc8.t13 : IFoo > : ^^^^ ->objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: (n: number, s: string) => number; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: ((n: number, s: string) => string)[]; t12: IBar; t13: IFoo; t14: IFoo; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: { (n: number, s: string): number; }; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: { (n: number, s: string): string; }[]; t12: IBar; t13: IFoo; t14: IFoo; } +> : ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^ >t13 : IFoo > : ^^^^ >({ f: function(i, s) { return s; }}) : IFoo @@ -855,8 +855,8 @@ objc8.t14 = ({ > : ^^^^ >objc8.t14 : IFoo > : ^^^^ ->objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: (n: number, s: string) => number; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: ((n: number, s: string) => string)[]; t12: IBar; t13: IFoo; t14: IFoo; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>objc8 : { t1: (s: string) => string; t2: IFoo; t3: number[]; t4: () => IFoo; t5: (n: number) => IFoo; t6: (n: number, s: string) => IFoo; t7: { (n: number, s: string): number; }; t8: (n: number, s: string) => number; t9: number[][]; t10: IFoo[]; t11: { (n: number, s: string): string; }[]; t12: IBar; t13: IFoo; t14: IFoo; } +> : ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^ >t14 : IFoo > : ^^^^ >({ a: []}) : IFoo @@ -1205,7 +1205,7 @@ declare function EF1(a:number, b:number):number; function EF1(a,b) { return a+b; } >EF1 : (a: number, b: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a : any > : ^^^ >b : any @@ -1223,7 +1223,7 @@ var efv = EF1(1,2); >EF1(1,2) : number > : ^^^^^^ >EF1 : (a: number, b: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -1285,7 +1285,7 @@ Point.prototype.add = function(dx, dy) { >Point.prototype.add = function(dx, dy) { return new Point(this.x + dx, this.y + dy);} : (dx: number, dy: number) => Point > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ >Point.prototype.add : (dx: number, dy: number) => Point -> : ^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >Point.prototype : Point > : ^^^^^ >Point : typeof Point @@ -1293,7 +1293,7 @@ Point.prototype.add = function(dx, dy) { >prototype : Point > : ^^^^^ >add : (dx: number, dy: number) => Point -> : ^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >function(dx, dy) { return new Point(this.x + dx, this.y + dy);} : (dx: number, dy: number) => Point > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ >dx : number diff --git a/tests/baselines/reference/contextualTyping16.types b/tests/baselines/reference/contextualTyping16.types index 327cc15c45939..be42d74f04c18 100644 --- a/tests/baselines/reference/contextualTyping16.types +++ b/tests/baselines/reference/contextualTyping16.types @@ -15,7 +15,7 @@ var foo: {id:number;} = {id:4}; foo = {id:5}; >foo = {id:5} : { id: number; } > : ^^^^^^^^^^^^^^^ >foo : { id: number; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >{id:5} : { id: number; } > : ^^^^^^^^^^^^^^^ >id : number diff --git a/tests/baselines/reference/contextualTyping17.types b/tests/baselines/reference/contextualTyping17.types index ad6de2b08dd7e..aca3a69c52746 100644 --- a/tests/baselines/reference/contextualTyping17.types +++ b/tests/baselines/reference/contextualTyping17.types @@ -15,7 +15,7 @@ var foo: {id:number;} = {id:4}; foo = {id: 5, name:"foo"}; >foo = {id: 5, name:"foo"} : { id: number; name: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : { id: number; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >{id: 5, name:"foo"} : { id: number; name: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >id : number diff --git a/tests/baselines/reference/contextualTyping18.types b/tests/baselines/reference/contextualTyping18.types index 06dd976055e8c..00619f3abafc4 100644 --- a/tests/baselines/reference/contextualTyping18.types +++ b/tests/baselines/reference/contextualTyping18.types @@ -17,7 +17,7 @@ var foo: {id:number;} = <{id:number;}>({ }); foo = {id: 5}; >foo = {id: 5} : { id: number; } > : ^^^^^^^^^^^^^^^ >foo : { id: number; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >{id: 5} : { id: number; } > : ^^^^^^^^^^^^^^^ >id : number diff --git a/tests/baselines/reference/contextualTyping19.types b/tests/baselines/reference/contextualTyping19.types index e45a1e68626f1..4b97cebe4ea93 100644 --- a/tests/baselines/reference/contextualTyping19.types +++ b/tests/baselines/reference/contextualTyping19.types @@ -17,7 +17,7 @@ var foo:{id:number;}[] = [{id:1}]; foo = [{id:1}, {id:2}]; >foo = [{id:1}, {id:2}] : { id: number; }[] > : ^^^^^^^^^^^^^^^^^ >foo : { id: number; }[] -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^ >[{id:1}, {id:2}] : { id: number; }[] > : ^^^^^^^^^^^^^^^^^ >{id:1} : { id: number; } diff --git a/tests/baselines/reference/contextualTyping20.types b/tests/baselines/reference/contextualTyping20.types index 0edddc6fc5c7d..fffd62c1366fb 100644 --- a/tests/baselines/reference/contextualTyping20.types +++ b/tests/baselines/reference/contextualTyping20.types @@ -17,7 +17,7 @@ var foo:{id:number;}[] = [{id:1}]; foo = [{id:1}, {id:2, name:"foo"}]; >foo = [{id:1}, {id:2, name:"foo"}] : ({ id: number; } | { id: number; name: string; })[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : { id: number; }[] -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^ >[{id:1}, {id:2, name:"foo"}] : ({ id: number; } | { id: number; name: string; })[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{id:1} : { id: number; } diff --git a/tests/baselines/reference/contextualTyping21.types b/tests/baselines/reference/contextualTyping21.types index 405b8ca0443cd..3520e3d01d217 100644 --- a/tests/baselines/reference/contextualTyping21.types +++ b/tests/baselines/reference/contextualTyping21.types @@ -17,7 +17,7 @@ var foo:{id:number;}[] = [{id:1}]; foo = [{id:1}, 1]; >foo = [{id:1}, 1] : (number | { id: number; })[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : { id: number; }[] -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^ >[{id:1}, 1] : (number | { id: number; })[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{id:1} : { id: number; } diff --git a/tests/baselines/reference/contextualTyping22.types b/tests/baselines/reference/contextualTyping22.types index b6c10b42e1783..c3865c8bc8107 100644 --- a/tests/baselines/reference/contextualTyping22.types +++ b/tests/baselines/reference/contextualTyping22.types @@ -15,7 +15,7 @@ var foo:(a:number)=>number = function(a){return a}; foo = function(b){return b}; >foo = function(b){return b} : (b: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >foo : (a: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >function(b){return b} : (b: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >b : number diff --git a/tests/baselines/reference/contextualTyping23.types b/tests/baselines/reference/contextualTyping23.types index e1b8ad23f4ca2..53e0a4fc763ac 100644 --- a/tests/baselines/reference/contextualTyping23.types +++ b/tests/baselines/reference/contextualTyping23.types @@ -9,13 +9,13 @@ var foo:(a:{():number; (i:number):number; })=>number; foo = function(a){return 5 >i : number > : ^^^^^^ >foo = function(a){return 5} : (a: { (): number; (i: number): number; }) => number -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ >foo : (a: { (): number; (i: number): number; }) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >function(a){return 5} : (a: { (): number; (i: number): number; }) => number -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ >a : { (): number; (i: number): number; } -> : ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >5 : 5 > : ^ diff --git a/tests/baselines/reference/contextualTyping24.types b/tests/baselines/reference/contextualTyping24.types index 265e9c7dc8217..847fdbc66ce2a 100644 --- a/tests/baselines/reference/contextualTyping24.types +++ b/tests/baselines/reference/contextualTyping24.types @@ -11,7 +11,7 @@ var foo:(a:{():number; (i:number):number; })=>number; foo = function(this: void, >foo = function(this: void, a:string){return 5} : (this: void, a: string) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >foo : (a: { (): number; (i: number): number; }) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >function(this: void, a:string){return 5} : (this: void, a: string) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >this : void diff --git a/tests/baselines/reference/contextualTypingFunctionReturningFunction.types b/tests/baselines/reference/contextualTypingFunctionReturningFunction.types index b37b35dd409c6..4c33e1e7d72d2 100644 --- a/tests/baselines/reference/contextualTypingFunctionReturningFunction.types +++ b/tests/baselines/reference/contextualTypingFunctionReturningFunction.types @@ -25,7 +25,7 @@ f({ >f({ a: s => {}, b: () => n => {},}) : void > : ^^^^ >f : (i: I) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ a: s => {}, b: () => n => {},} : { a: (s: string) => void; b: () => (n: number) => void; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/contextualTypingFunctionReturningFunction2.types b/tests/baselines/reference/contextualTypingFunctionReturningFunction2.types index 5d78b4039de43..12fb97ef2c171 100644 --- a/tests/baselines/reference/contextualTypingFunctionReturningFunction2.types +++ b/tests/baselines/reference/contextualTypingFunctionReturningFunction2.types @@ -3,13 +3,13 @@ === contextualTypingFunctionReturningFunction2.ts === declare function f(n: number): void; >f : { (n: number): void; (cb: () => (n: number) => number): void; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ declare function f(cb: () => (n: number) => number): void; >f : { (n: number): void; (cb: () => (n: number) => number): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >cb : () => (n: number) => number > : ^^^^^^ >n : number @@ -19,7 +19,7 @@ f(() => n => n); >f(() => n => n) : void > : ^^^^ >f : { (n: number): void; (cb: () => (n: number) => number): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >() => n => n : () => (n: number) => number > : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >n => n : (n: number) => number diff --git a/tests/baselines/reference/contextualTypingOfAccessors.types b/tests/baselines/reference/contextualTypingOfAccessors.types index 69758964aa78b..fe8faed1bf275 100644 --- a/tests/baselines/reference/contextualTypingOfAccessors.types +++ b/tests/baselines/reference/contextualTypingOfAccessors.types @@ -18,7 +18,7 @@ x = { >x = { get foo() { return (n)=>n }, set foo(x) {}} : { foo: (n: any) => any; } > : ^^^^^^^^ ^^^^^^^^^^^^^^^^ >x : { foo: (x: number) => number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >{ get foo() { return (n)=>n }, set foo(x) {}} : { foo: (n: any) => any; } > : ^^^^^^^^ ^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/contextualTypingOfArrayLiterals1.types b/tests/baselines/reference/contextualTypingOfArrayLiterals1.types index 7d8f6fee45da2..38fc587b905c2 100644 --- a/tests/baselines/reference/contextualTypingOfArrayLiterals1.types +++ b/tests/baselines/reference/contextualTypingOfArrayLiterals1.types @@ -33,9 +33,9 @@ r2.getDate(); >r2.getDate() : number > : ^^^^^^ >r2.getDate : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >r2 : Date > : ^^^^ >getDate : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/contextualTypingOfConditionalExpression.types b/tests/baselines/reference/contextualTypingOfConditionalExpression.types index c2d453a6d0801..870fbb5f83730 100644 --- a/tests/baselines/reference/contextualTypingOfConditionalExpression.types +++ b/tests/baselines/reference/contextualTypingOfConditionalExpression.types @@ -17,11 +17,11 @@ var x: (a: number) => void = true ? (a) => a.toExponential() : (b) => b.toFixed( >a.toExponential() : string > : ^^^^^^ >a.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >a : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >(b) => b.toFixed() : (b: number) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >b : number @@ -29,11 +29,11 @@ var x: (a: number) => void = true ? (a) => a.toExponential() : (b) => b.toFixed( >b.toFixed() : string > : ^^^^^^ >b.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >b : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ class A { >A : A diff --git a/tests/baselines/reference/contextualTypingOfGenericFunctionTypedArguments1.types b/tests/baselines/reference/contextualTypingOfGenericFunctionTypedArguments1.types index 35612be3d82ff..075082acb4cd7 100644 --- a/tests/baselines/reference/contextualTypingOfGenericFunctionTypedArguments1.types +++ b/tests/baselines/reference/contextualTypingOfGenericFunctionTypedArguments1.types @@ -50,11 +50,11 @@ var f = (x: number) => { return x.toFixed() }; >x.toFixed() : string > : ^^^^^^ >x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var r5 = _.forEach(c2, f); >r5 : void @@ -62,11 +62,11 @@ var r5 = _.forEach(c2, f); >_.forEach(c2, f) : void > : ^^^^ >_.forEach : (c: Collection, f: (x: T) => Date) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >_ : Combinators > : ^^^^^^^^^^^ >forEach : (c: Collection, f: (x: T) => Date) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >c2 : Collection > : ^^^^^^^^^^^^^^^^^^ >f : (x: number) => string @@ -78,11 +78,11 @@ var r6 = _.forEach(c2, (x) => { return x.toFixed() }); >_.forEach(c2, (x) => { return x.toFixed() }) : void > : ^^^^ >_.forEach : (c: Collection, f: (x: T) => Date) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >_ : Combinators > : ^^^^^^^^^^^ >forEach : (c: Collection, f: (x: T) => Date) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >c2 : Collection > : ^^^^^^^^^^^^^^^^^^ >(x) => { return x.toFixed() } : (x: number) => string @@ -92,9 +92,9 @@ var r6 = _.forEach(c2, (x) => { return x.toFixed() }); >x.toFixed() : string > : ^^^^^^ >x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/contextualTypingOfLambdaWithMultipleSignatures.types b/tests/baselines/reference/contextualTypingOfLambdaWithMultipleSignatures.types index c3c9b95e8202c..42e75068b89db 100644 --- a/tests/baselines/reference/contextualTypingOfLambdaWithMultipleSignatures.types +++ b/tests/baselines/reference/contextualTypingOfLambdaWithMultipleSignatures.types @@ -4,13 +4,13 @@ interface Foo { getFoo(n: number): void; >getFoo : { (n: number): void; (s: string): void; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ getFoo(s: string): void; >getFoo : { (n: number): void; (s: string): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ } @@ -23,11 +23,11 @@ foo.getFoo = bar => { }; >foo.getFoo = bar => { } : (bar: any) => void > : ^ ^^^^^^^^^^^^^^ >foo.getFoo : { (n: number): void; (s: string): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >foo : Foo > : ^^^ >getFoo : { (n: number): void; (s: string): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar => { } : (bar: any) => void > : ^ ^^^^^^^^^^^^^^ >bar : any diff --git a/tests/baselines/reference/contextualTypingOfLambdaWithMultipleSignatures2.types b/tests/baselines/reference/contextualTypingOfLambdaWithMultipleSignatures2.types index 1a4a5231a99f5..077c1a6791016 100644 --- a/tests/baselines/reference/contextualTypingOfLambdaWithMultipleSignatures2.types +++ b/tests/baselines/reference/contextualTypingOfLambdaWithMultipleSignatures2.types @@ -19,7 +19,7 @@ f = (a) => { return a.asdf } >f = (a) => { return a.asdf } : (a: any) => any > : ^ ^^^^^^^^^^^^^ >f : { (x: string): string; (x: number): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >(a) => { return a.asdf } : (a: any) => any > : ^ ^^^^^^^^^^^^^ >a : any diff --git a/tests/baselines/reference/contextualTypingOfOptionalMembers.types b/tests/baselines/reference/contextualTypingOfOptionalMembers.types index 176d7ee647565..db3692a5b60b1 100644 --- a/tests/baselines/reference/contextualTypingOfOptionalMembers.types +++ b/tests/baselines/reference/contextualTypingOfOptionalMembers.types @@ -29,7 +29,7 @@ interface Options { declare function app>(obj: Options): void; >app : >(obj: Options) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >obj : Options > : ^^^^^^^^^^^^^^^^^^^^^^^ @@ -37,7 +37,7 @@ app({ >app({ state: 100, actions: { foo: s => s // Should be typed number => number }, view: (s, a) => undefined as any,}) : void > : ^^^^ >app : >(obj: Options) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ state: 100, actions: { foo: s => s // Should be typed number => number }, view: (s, a) => undefined as any,} : { state: number; actions: { foo: (s: number) => number; }; view: (s: number, a: { foo: (s: number) => number; }) => any; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ @@ -90,7 +90,7 @@ interface Bar { declare function foo(x: string | T): T; >foo : (x: string | T) => T -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : string | T > : ^^^^^^^^^^ @@ -100,7 +100,7 @@ const y = foo({ >foo({ bar(x) { // Should be typed number => void }}) : { bar(x: number): void; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^ >foo : (x: string | T) => T -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ bar(x) { // Should be typed number => void }} : { bar(x: number): void; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^ @@ -132,7 +132,7 @@ interface Options2 { declare function app2>(obj: Options2): void; >app2 : >(obj: Options2) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >obj : Options2 > : ^^^^^^^^^^^^^^^^^^^^^^^^ @@ -140,7 +140,7 @@ app2({ >app2({ state: 100, actions: { foo: s => s // Should be typed number => number }, view: (s, a) => undefined as any,}) : void > : ^^^^ >app2 : >(obj: Options2) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ state: 100, actions: { foo: s => s // Should be typed number => number }, view: (s, a) => undefined as any,} : { state: number; actions: { foo: (s: number) => number; }; view: (s: number, a: { foo: (s: number) => number; }) => any; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ @@ -191,7 +191,7 @@ type ActionsArray = ((state: State) => State)[]; declare function app3>(obj: Options): void; >app3 : >(obj: Options) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >obj : Options > : ^^^^^^^^^^^^^^^^^^^^^^^ @@ -199,7 +199,7 @@ app3({ >app3({ state: 100, actions: [ s => s // Should be typed number => number ], view: (s, a) => undefined as any,}) : void > : ^^^^ >app3 : >(obj: Options) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ state: 100, actions: [ s => s // Should be typed number => number ], view: (s, a) => undefined as any,} : { state: number; actions: ((s: number) => number)[]; view: (s: number, a: ((s: number) => number)[]) => any; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ @@ -254,7 +254,7 @@ interface ActionsObjectOr { declare function App4>(props: Options["actions"] & { state: State }): JSX.Element; >App4 : >(props: Options["actions"] & { state: State; }) => JSX.Element -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >props : (string | Actions) & { state: State; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >state : State @@ -268,7 +268,7 @@ const a = s} />; // TODO: should be number => number > s} /> : JSX.Element > : ^^^^^^^^^^^ >App4 : >(props: Options["actions"] & { state: State; }) => JSX.Element -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >state : number > : ^^^^^^ >100 : 100 diff --git a/tests/baselines/reference/contextualTypingReturnStatementWithReturnTypeAnnotation.types b/tests/baselines/reference/contextualTypingReturnStatementWithReturnTypeAnnotation.types index ac093b8d2015b..67ccb64b9f7a5 100644 --- a/tests/baselines/reference/contextualTypingReturnStatementWithReturnTypeAnnotation.types +++ b/tests/baselines/reference/contextualTypingReturnStatementWithReturnTypeAnnotation.types @@ -44,11 +44,11 @@ function getSpecsFromRaw( >getPropFromRaw(prop, isString, "string") : PropOfRaw > : ^^^^^^^^^^^^^^^^^ >getPropFromRaw : (prop: "files" | "include" | "exclude" | "references", validateElement: (value: unknown) => boolean, elementTypeName: string) => PropOfRaw -> : ^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >prop : "files" | "include" | "exclude" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >isString : (text: unknown) => text is string -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"string" : "string" > : ^^^^^^^^ } diff --git a/tests/baselines/reference/contextualTypingWithFixedTypeParameters1.types b/tests/baselines/reference/contextualTypingWithFixedTypeParameters1.types index 1e3ec74669c1f..14075af84d112 100644 --- a/tests/baselines/reference/contextualTypingWithFixedTypeParameters1.types +++ b/tests/baselines/reference/contextualTypingWithFixedTypeParameters1.types @@ -17,7 +17,7 @@ f10('', () => a => a.foo, ''); // a is "" >f10('', () => a => a.foo, '') : string > : ^^^^^^ >f10 : (x: T, b: () => (a: T) => void, y: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >'' : "" > : ^^ >() => a => a.foo : () => (a: string) => any @@ -41,7 +41,7 @@ var r9 = f10('', () => (a => a.foo), 1); // error >f10('', () => (a => a.foo), 1) : "" > : ^^ >f10 : (x: T, b: () => (a: T) => void, y: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >'' : "" > : ^^ >() => (a => a.foo) : () => (a: "") => any diff --git a/tests/baselines/reference/contextualTypingWithGenericAndNonGenericSignature.types b/tests/baselines/reference/contextualTypingWithGenericAndNonGenericSignature.types index d3ac76021b4e5..a70b54e69ccb4 100644 --- a/tests/baselines/reference/contextualTypingWithGenericAndNonGenericSignature.types +++ b/tests/baselines/reference/contextualTypingWithGenericAndNonGenericSignature.types @@ -25,7 +25,7 @@ f2 = (x, y) => { return x } >f2 = (x, y) => { return x } : (x: any, y: any) => any > : ^ ^^^^^^^ ^^^^^^^^^^^^^ >f2 : { (x: string, y: number): string; (x: T, y: U): T; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >(x, y) => { return x } : (x: any, y: any) => any > : ^ ^^^^^^^ ^^^^^^^^^^^^^ >x : any @@ -54,7 +54,7 @@ f3 = (x, y) => { return x } >f3 = (x, y) => { return x } : (x: any, y: any) => any > : ^ ^^^^^^^ ^^^^^^^^^^^^^ >f3 : { (x: T, y: U): T; (x: string, y: number): string; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >(x, y) => { return x } : (x: any, y: any) => any > : ^ ^^^^^^^ ^^^^^^^^^^^^^ >x : any diff --git a/tests/baselines/reference/contextualTypingWithGenericSignature.types b/tests/baselines/reference/contextualTypingWithGenericSignature.types index e60be890bd08a..cd801ea185b3e 100644 --- a/tests/baselines/reference/contextualTypingWithGenericSignature.types +++ b/tests/baselines/reference/contextualTypingWithGenericSignature.types @@ -19,7 +19,7 @@ f2 = (x, y) => { return x } >f2 = (x, y) => { return x } : (x: T, y: U) => T > : ^^^^^^^ ^^^^^ ^^^^^^^^^ >f2 : (x: T, y: U) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >(x, y) => { return x } : (x: T, y: U) => T > : ^^^^^^^ ^^^^^ ^^^^^^^^^ >x : T diff --git a/tests/baselines/reference/contextuallyTypeArgumentsKeyword.types b/tests/baselines/reference/contextuallyTypeArgumentsKeyword.types index 9352d45445ca6..95ec3deab65e2 100644 --- a/tests/baselines/reference/contextuallyTypeArgumentsKeyword.types +++ b/tests/baselines/reference/contextuallyTypeArgumentsKeyword.types @@ -16,7 +16,7 @@ const x = { >setTimeout(function() { arguments }, 0) : number > : ^^^^^^ >setTimeout : (handler: TimerHandler, timeout?: number, ...arguments: any[]) => number -> : ^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ >function() { arguments } : (...args: any[]) => void > : ^^^^^^^^^^^^^^^^^^^^^^^^ >arguments : IArguments diff --git a/tests/baselines/reference/contextuallyTypeAsyncFunctionAwaitOperand.types b/tests/baselines/reference/contextuallyTypeAsyncFunctionAwaitOperand.types index 14b47b1876cfe..1ecb3614c4283 100644 --- a/tests/baselines/reference/contextuallyTypeAsyncFunctionAwaitOperand.types +++ b/tests/baselines/reference/contextuallyTypeAsyncFunctionAwaitOperand.types @@ -31,13 +31,13 @@ async function fn1(): Promise { >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve => resolve({ key: "value" }) : (resolve: (value: Obj | PromiseLike) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ >resolve : (value: Obj | PromiseLike) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >resolve({ key: "value" }) : void > : ^^^^ >resolve : (value: Obj | PromiseLike) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ key: "value" } : { key: "value"; } > : ^^^^^^^^^^^^^^^^^ >key : "value" diff --git a/tests/baselines/reference/contextuallyTypeAsyncFunctionReturnType.types b/tests/baselines/reference/contextuallyTypeAsyncFunctionReturnType.types index c8c175bfd1bea..341086c4685a9 100644 --- a/tests/baselines/reference/contextuallyTypeAsyncFunctionReturnType.types +++ b/tests/baselines/reference/contextuallyTypeAsyncFunctionReturnType.types @@ -28,15 +28,15 @@ async function fn2(): Promise { >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve => { resolve({ key: "value" }); } : (resolve: (value: Obj | PromiseLike) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ >resolve : (value: Obj | PromiseLike) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ resolve({ key: "value" }); >resolve({ key: "value" }) : void > : ^^^^ >resolve : (value: Obj | PromiseLike) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ key: "value" } : { key: "value"; } > : ^^^^^^^^^^^^^^^^^ >key : "value" @@ -74,15 +74,15 @@ async function fn4(): Promise { >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >resolve => { resolve({ key: "value" }); } : (resolve: (value: Obj | PromiseLike) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ >resolve : (value: Obj | PromiseLike) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ resolve({ key: "value" }); >resolve({ key: "value" }) : void > : ^^^^ >resolve : (value: Obj | PromiseLike) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ key: "value" } : { key: "value"; } > : ^^^^^^^^^^^^^^^^^ >key : "value" @@ -199,17 +199,17 @@ test("windows-process-tree", async () => { >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >(resolve, reject) => { getProcessTree(123, (tree) => { if (tree) { resolve(); } else { reject(new Error("windows-process-tree")); } }); } : (resolve: (value: void | PromiseLike) => void, reject: (reason?: any) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^ ^^^^^^^^^ >resolve : (value: void | PromiseLike) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ getProcessTree(123, (tree) => { >getProcessTree(123, (tree) => { if (tree) { resolve(); } else { reject(new Error("windows-process-tree")); } }) : void > : ^^^^ >getProcessTree : (rootPid: number, callback: (tree: ProcessTreeNode) => void) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >123 : 123 > : ^^^ >(tree) => { if (tree) { resolve(); } else { reject(new Error("windows-process-tree")); } } : (tree: ProcessTreeNode) => void @@ -225,14 +225,14 @@ test("windows-process-tree", async () => { >resolve() : void > : ^^^^ >resolve : (value: void | PromiseLike) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } else { reject(new Error("windows-process-tree")); >reject(new Error("windows-process-tree")) : void > : ^^^^ >reject : (reason?: any) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >new Error("windows-process-tree") : Error > : ^^^^^ >Error : ErrorConstructor @@ -290,28 +290,28 @@ async function copyExtensions( > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise.all( fromExtensions .filter((e) => !e.isApplicationScoped) .map(async (e) => [e, await scanMetadata(e)]) ) : Promise<[ILocalExtension, Metadata][]> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->Promise.all : { (values: Iterable>): Promise[]>; (values: T_1): Promise<{ -readonly [P in keyof T_1]: Awaited; }>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->all : { (values: Iterable>): Promise[]>; (values: T_1): Promise<{ -readonly [P in keyof T_1]: Awaited; }>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ fromExtensions >fromExtensions .filter((e) => !e.isApplicationScoped) .map(async (e) => [e, await scanMetadata(e)]) : Promise<[ILocalExtension, Metadata]>[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >fromExtensions .filter((e) => !e.isApplicationScoped) .map : (callbackfn: (value: ILocalExtension, index: number, array: ILocalExtension[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >fromExtensions .filter((e) => !e.isApplicationScoped) : ILocalExtension[] > : ^^^^^^^^^^^^^^^^^ >fromExtensions .filter : { (predicate: (value: ILocalExtension, index: number, array: ILocalExtension[]) => value is S, thisArg?: any): S[]; (predicate: (value: ILocalExtension, index: number, array: ILocalExtension[]) => unknown, thisArg?: any): ILocalExtension[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^^ >fromExtensions : ILocalExtension[] > : ^^^^^^^^^^^^^^^^^ .filter((e) => !e.isApplicationScoped) >filter : { (predicate: (value: ILocalExtension, index: number, array: ILocalExtension[]) => value is S, thisArg?: any): S[]; (predicate: (value: ILocalExtension, index: number, array: ILocalExtension[]) => unknown, thisArg?: any): ILocalExtension[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^^ >(e) => !e.isApplicationScoped : (e: ILocalExtension) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >e : ILocalExtension @@ -327,7 +327,7 @@ async function copyExtensions( .map(async (e) => [e, await scanMetadata(e)]) >map : (callbackfn: (value: ILocalExtension, index: number, array: ILocalExtension[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >async (e) => [e, await scanMetadata(e)] : (e: ILocalExtension) => Promise<[ILocalExtension, Metadata]> > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >e : ILocalExtension @@ -340,8 +340,8 @@ async function copyExtensions( > : ^^^^^^^^ >scanMetadata(e) : Promise > : ^^^^^^^^^^^^^^^^^ ->scanMetadata : (local: ILocalExtension) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +>scanMetadata : (local: ILocalExtension) => Promise +> : ^ ^^ ^^^^^ >e : ILocalExtension > : ^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/contextuallyTypeAsyncFunctionReturnTypeFromUnion.types b/tests/baselines/reference/contextuallyTypeAsyncFunctionReturnTypeFromUnion.types index 144b8ae8198c2..434665fea85fb 100644 --- a/tests/baselines/reference/contextuallyTypeAsyncFunctionReturnTypeFromUnion.types +++ b/tests/baselines/reference/contextuallyTypeAsyncFunctionReturnTypeFromUnion.types @@ -30,7 +30,7 @@ createMachine<{ count: number }>({ >createMachine<{ count: number }>({ services: { test: async () => Promise.reject("some err"), async test2() { return Promise.reject("some err"); }, },}) : void > : ^^^^ >createMachine : (implementations: { services: Record Promise | StateMachine>; }) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >count : number > : ^^^^^^ >{ services: { test: async () => Promise.reject("some err"), async test2() { return Promise.reject("some err"); }, },} : { services: { test: () => Promise<{ count: number; }>; test2(): Promise<{ count: number; }>; }; } @@ -38,39 +38,39 @@ createMachine<{ count: number }>({ services: { >services : { test: () => Promise<{ count: number; }>; test2(): Promise<{ count: number; }>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ >{ test: async () => Promise.reject("some err"), async test2() { return Promise.reject("some err"); }, } : { test: () => Promise<{ count: number; }>; test2(): Promise<{ count: number; }>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ test: async () => Promise.reject("some err"), >test : () => Promise<{ count: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >async () => Promise.reject("some err") : () => Promise<{ count: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >Promise.reject("some err") : Promise<{ count: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >"some err" : "some err" > : ^^^^^^^^^^ async test2() { >test2 : () => Promise<{ count: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ return Promise.reject("some err"); >Promise.reject("some err") : Promise<{ count: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >"some err" : "some err" > : ^^^^^^^^^^ @@ -88,15 +88,15 @@ function fn1(): () => Promise<{ count: number }> | StateMachine<{ count: number return async () => Promise.reject('some err') >async () => Promise.reject('some err') : () => Promise<{ count: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >Promise.reject('some err') : Promise<{ count: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >'some err' : "some err" > : ^^^^^^^^^^ } @@ -120,13 +120,13 @@ const cb1: LoadCallback = async () => load().then(m => m); >load().then(m => m) : Promise > : ^^^^^^^^^^^^^^^^ >load().then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >load() : Promise > : ^^^^^^^^^^^^^^^^ >load : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >m => m : (m: boolean) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^^ >m : boolean @@ -142,7 +142,7 @@ const cb2: LoadCallback = async () => load(); >load() : Promise > : ^^^^^^^^^^^^^^^^ >load : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ const cb3: LoadCallback = () => load().then(m => m); >cb3 : LoadCallback @@ -152,13 +152,13 @@ const cb3: LoadCallback = () => load().then(m => m); >load().then(m => m) : Promise > : ^^^^^^^^^^^^^^^^ >load().then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >load() : Promise > : ^^^^^^^^^^^^^^^^ >load : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >m => m : (m: boolean) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^^ >m : boolean diff --git a/tests/baselines/reference/contextuallyTypeCommaOperator01.types b/tests/baselines/reference/contextuallyTypeCommaOperator01.types index 5dacf9d1ccc50..8050b69117823 100644 --- a/tests/baselines/reference/contextuallyTypeCommaOperator01.types +++ b/tests/baselines/reference/contextuallyTypeCommaOperator01.types @@ -11,7 +11,7 @@ x = (100, a => a); >x = (100, a => a) : (a: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >x : (a: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(100, a => a) : (a: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >100, a => a : (a: string) => string diff --git a/tests/baselines/reference/contextuallyTypeCommaOperator02.types b/tests/baselines/reference/contextuallyTypeCommaOperator02.types index 01306d1db8bb4..6eb00cc98cba8 100644 --- a/tests/baselines/reference/contextuallyTypeCommaOperator02.types +++ b/tests/baselines/reference/contextuallyTypeCommaOperator02.types @@ -11,7 +11,7 @@ x = (100, a => { >x = (100, a => { const b: number = a; return b;}) : (a: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : (a: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(100, a => { const b: number = a; return b;}) : (a: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >100, a => { const b: number = a; return b;} : (a: string) => number diff --git a/tests/baselines/reference/contextuallyTypeCommaOperator03.types b/tests/baselines/reference/contextuallyTypeCommaOperator03.types index 484601adba035..ab72a795680c0 100644 --- a/tests/baselines/reference/contextuallyTypeCommaOperator03.types +++ b/tests/baselines/reference/contextuallyTypeCommaOperator03.types @@ -11,7 +11,7 @@ x = (a => a, b => b); >x = (a => a, b => b) : (b: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >x : (a: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(a => a, b => b) : (b: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >a => a, b => b : (b: string) => string diff --git a/tests/baselines/reference/contextuallyTypeGeneratorReturnTypeFromUnion.types b/tests/baselines/reference/contextuallyTypeGeneratorReturnTypeFromUnion.types index c562a5d51ee53..f9093e1a8ddb1 100644 --- a/tests/baselines/reference/contextuallyTypeGeneratorReturnTypeFromUnion.types +++ b/tests/baselines/reference/contextuallyTypeGeneratorReturnTypeFromUnion.types @@ -49,12 +49,12 @@ const test2: Action2 = async function* () { > : ^^^^^^ >Promise.resolve('') : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >'' : "" > : ^^ diff --git a/tests/baselines/reference/contextuallyTypeLogicalAnd01.types b/tests/baselines/reference/contextuallyTypeLogicalAnd01.types index 679ec2d94b113..ba43a105f1cb5 100644 --- a/tests/baselines/reference/contextuallyTypeLogicalAnd01.types +++ b/tests/baselines/reference/contextuallyTypeLogicalAnd01.types @@ -17,7 +17,7 @@ x = y && (a => a); >x = y && (a => a) : (a: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >x : (a: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >y && (a => a) : (a: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >y : true diff --git a/tests/baselines/reference/contextuallyTypeLogicalAnd02.types b/tests/baselines/reference/contextuallyTypeLogicalAnd02.types index a7d8088efdd6d..7688beb0ab520 100644 --- a/tests/baselines/reference/contextuallyTypeLogicalAnd02.types +++ b/tests/baselines/reference/contextuallyTypeLogicalAnd02.types @@ -17,7 +17,7 @@ x = y && (a => { >x = y && (a => { const b: number = a; return b;}) : (a: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : (a: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >y && (a => { const b: number = a; return b;}) : (a: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >y : true diff --git a/tests/baselines/reference/contextuallyTypeLogicalAnd03.types b/tests/baselines/reference/contextuallyTypeLogicalAnd03.types index 438fcdc07ad0f..a1cd5cd1fdf60 100644 --- a/tests/baselines/reference/contextuallyTypeLogicalAnd03.types +++ b/tests/baselines/reference/contextuallyTypeLogicalAnd03.types @@ -17,7 +17,7 @@ x = (a => a) && (b => b); >x = (a => a) && (b => b) : (b: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >x : (a: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(a => a) && (b => b) : (b: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >(a => a) : (a: any) => any diff --git a/tests/baselines/reference/contextuallyTypedBindingInitializer.types b/tests/baselines/reference/contextuallyTypedBindingInitializer.types index 7efe04993ba9b..76fe1aaf89f54 100644 --- a/tests/baselines/reference/contextuallyTypedBindingInitializer.types +++ b/tests/baselines/reference/contextuallyTypedBindingInitializer.types @@ -12,7 +12,7 @@ function f({ show = v => v.toString() }: Show) {} >f : ({ show }: Show) => void > : ^ ^^ ^^^^^^^^^ >show : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >v => v.toString() : (v: number) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >v : number @@ -20,17 +20,17 @@ function f({ show = v => v.toString() }: Show) {} >v.toString() : string > : ^^^^^^ >v.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >v : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ function f2({ "show": showRename = v => v.toString() }: Show) {} >f2 : ({ "show": showRename }: Show) => void > : ^ ^^ ^^^^^^^^^ >showRename : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >v => v.toString() : (v: number) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >v : number @@ -38,11 +38,11 @@ function f2({ "show": showRename = v => v.toString() }: Show) {} >v.toString() : string > : ^^^^^^ >v.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >v : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ function f3({ ["show"]: showRename = v => v.toString() }: Show) {} >f3 : ({ ["show"]: showRename }: Show) => void @@ -50,7 +50,7 @@ function f3({ ["show"]: showRename = v => v.toString() }: Show) {} >"show" : "show" > : ^^^^^^ >showRename : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >v => v.toString() : (v: number) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >v : number @@ -58,11 +58,11 @@ function f3({ ["show"]: showRename = v => v.toString() }: Show) {} >v.toString() : string > : ^^^^^^ >v.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >v : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ interface Nested { nested: Show @@ -85,11 +85,11 @@ function ff({ nested = { show: v => v.toString() } }: Nested) {} >v.toString() : string > : ^^^^^^ >v.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >v : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ interface Tuples { prop: [string, number]; @@ -132,7 +132,7 @@ let { stringIdentity: id = arg => arg }: StringIdentity = { stringIdentity: x => >stringIdentity : any > : ^^^ >id : (s: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >arg => arg : (arg: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >arg : string diff --git a/tests/baselines/reference/contextuallyTypedBindingInitializerNegative.types b/tests/baselines/reference/contextuallyTypedBindingInitializerNegative.types index dfaa01b831591..9e98e4f927aa2 100644 --- a/tests/baselines/reference/contextuallyTypedBindingInitializerNegative.types +++ b/tests/baselines/reference/contextuallyTypedBindingInitializerNegative.types @@ -14,7 +14,7 @@ function f({ show: showRename = v => v }: Show) {} >show : any > : ^^^ >showRename : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >v => v : (v: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >v : number @@ -26,7 +26,7 @@ function f2({ "show": showRename = v => v }: Show) {} >f2 : ({ "show": showRename }: Show) => void > : ^ ^^ ^^^^^^^^^ >showRename : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >v => v : (v: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >v : number @@ -40,7 +40,7 @@ function f3({ ["show"]: showRename = v => v }: Show) {} >"show" : "show" > : ^^^^^^ >showRename : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >v => v : (v: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >v : number @@ -82,7 +82,7 @@ let { stringIdentity: id = arg => arg.length }: StringIdentity = { stringIdentit >stringIdentity : any > : ^^^ >id : (s: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >arg => arg.length : (arg: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >arg : string diff --git a/tests/baselines/reference/contextuallyTypedBooleanLiterals.types b/tests/baselines/reference/contextuallyTypedBooleanLiterals.types index 91ff616041318..bf9818ad6bd80 100644 --- a/tests/baselines/reference/contextuallyTypedBooleanLiterals.types +++ b/tests/baselines/reference/contextuallyTypedBooleanLiterals.types @@ -30,7 +30,7 @@ const bn1 = box(0); // Box >box(0) : Box > : ^^^^^^^^^^^ >box : (value: T) => Box -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >0 : 0 > : ^ @@ -40,7 +40,7 @@ const bn2: Box = box(0); // Ok >box(0) : Box > : ^^^^^^^^^^^ >box : (value: T) => Box -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >0 : 0 > : ^ @@ -50,7 +50,7 @@ const bb1 = box(false); // Box >box(false) : Box > : ^^^^^^^^^^^^ >box : (value: T) => Box -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >false : false > : ^^^^^ @@ -60,7 +60,7 @@ const bb2: Box = box(false); // Error, box not assignable to Bo >box(false) : Box > : ^^^^^^^^^^^^ >box : (value: T) => Box -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >false : false > : ^^^^^ @@ -86,7 +86,7 @@ const x: Observable = observable(false); >observable(false) : Observable > : ^^^^^^^^^^^^^^^^^^^ >observable : (value: T) => Observable -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >false : false > : ^^^^^ diff --git a/tests/baselines/reference/contextuallyTypedByDiscriminableUnion.types b/tests/baselines/reference/contextuallyTypedByDiscriminableUnion.types index 814478e648e39..ec842c364b851 100644 --- a/tests/baselines/reference/contextuallyTypedByDiscriminableUnion.types +++ b/tests/baselines/reference/contextuallyTypedByDiscriminableUnion.types @@ -51,11 +51,11 @@ function invoke(item: ADT) { >item.method("") : number > : ^^^^^^ >item.method : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >item : { kind: "a"; method(x: string): number; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^^ ^^^ >method : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"" : "" > : ^^ } @@ -64,11 +64,11 @@ function invoke(item: ADT) { >item.method(42) : string > : ^^^^^^ >item.method : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >item : { kind: "b"; method(x: number): string; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^^ ^^^ >method : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >42 : 42 > : ^^ } diff --git a/tests/baselines/reference/contextuallyTypedFunctionExpressionsAndReturnAnnotations.types b/tests/baselines/reference/contextuallyTypedFunctionExpressionsAndReturnAnnotations.types index d2ac80801adcd..6788b5bb0418b 100644 --- a/tests/baselines/reference/contextuallyTypedFunctionExpressionsAndReturnAnnotations.types +++ b/tests/baselines/reference/contextuallyTypedFunctionExpressionsAndReturnAnnotations.types @@ -29,11 +29,11 @@ foo((y): (y2: number) => void => { >y.charAt(0) : string > : ^^^^^^ >y.charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >y : string > : ^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ @@ -61,11 +61,11 @@ foo((y: string) => { >y2.toFixed() : string > : ^^^^^^ >y2.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >y2 : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ return 0; >0 : 0 diff --git a/tests/baselines/reference/contextuallyTypedGenericAssignment.types b/tests/baselines/reference/contextuallyTypedGenericAssignment.types index 55982f83db769..f04ad4a88165d 100644 --- a/tests/baselines/reference/contextuallyTypedGenericAssignment.types +++ b/tests/baselines/reference/contextuallyTypedGenericAssignment.types @@ -3,11 +3,11 @@ === contextuallyTypedGenericAssignment.ts === function foo( >foo : (arg: (t: T, ...rest: A) => number) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ arg: (t: T, ...rest: A) => number >arg : (t: T, ...rest: A) => number -> : ^ ^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >a : number > : ^^^^^^ >t : T @@ -21,9 +21,9 @@ foo((t, u: number) => t.a) >foo((t, u: number) => t.a) : void > : ^^^^ >foo : (arg: (t: T, ...rest: A) => number) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >(t, u: number) => t.a : (t: T, u: number) => number -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ >t : T > : ^ >u : number diff --git a/tests/baselines/reference/contextuallyTypedIife.types b/tests/baselines/reference/contextuallyTypedIife.types index 319cef8d5cf87..5bd3878d044c8 100644 --- a/tests/baselines/reference/contextuallyTypedIife.types +++ b/tests/baselines/reference/contextuallyTypedIife.types @@ -178,11 +178,11 @@ >numbers.every(n => n > 0) : boolean > : ^^^^^^^ >numbers.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; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ >numbers : [number, 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; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ >n => n > 0 : (n: number) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^ >n : number @@ -212,11 +212,11 @@ >mixed.every(n => !!n) : boolean > : ^^^^^^^ >mixed.every : { (predicate: (value: string | number, index: number, array: (string | number)[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: string | number, index: number, array: (string | number)[]) => unknown, thisArg?: any): boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ >mixed : [number, string, string] > : ^^^^^^^^^^^^^^^^^^^^^^^^ >every : { (predicate: (value: string | number, index: number, array: (string | number)[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: string | number, index: number, array: (string | number)[]) => unknown, thisArg?: any): boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ >n => !!n : (n: string | number) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >n : string | number @@ -246,11 +246,11 @@ >noNumbers.some(n => n > 0) : boolean > : ^^^^^^^ >noNumbers.some : (predicate: (value: never, index: number, array: never[]) => unknown, thisArg?: any) => boolean -> : ^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >noNumbers : [] > : ^^ >some : (predicate: (value: never, index: number, array: never[]) => unknown, thisArg?: any) => boolean -> : ^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >n => n > 0 : (n: never) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^ >n : never @@ -282,11 +282,11 @@ >rest.map(n => n > 0) : boolean[] > : ^^^^^^^^^ >rest.map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >rest : [number, number] > : ^^^^^^^^^^^^^^^^ >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >n => n > 0 : (n: number) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^ >n : number diff --git a/tests/baselines/reference/contextuallyTypedIifeStrict.types b/tests/baselines/reference/contextuallyTypedIifeStrict.types index cf4c7270cd88a..1670abc891a66 100644 --- a/tests/baselines/reference/contextuallyTypedIifeStrict.types +++ b/tests/baselines/reference/contextuallyTypedIifeStrict.types @@ -186,11 +186,11 @@ >numbers.every(n => n > 0) : boolean > : ^^^^^^^ >numbers.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; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ >numbers : [number, 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; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ >n => n > 0 : (n: number) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^ >n : number @@ -220,11 +220,11 @@ >mixed.every(n => !!n) : boolean > : ^^^^^^^ >mixed.every : { (predicate: (value: string | number, index: number, array: (string | number)[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: string | number, index: number, array: (string | number)[]) => unknown, thisArg?: any): boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ >mixed : [number, string, string] > : ^^^^^^^^^^^^^^^^^^^^^^^^ >every : { (predicate: (value: string | number, index: number, array: (string | number)[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: string | number, index: number, array: (string | number)[]) => unknown, thisArg?: any): boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ >n => !!n : (n: string | number) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >n : string | number @@ -254,11 +254,11 @@ >noNumbers.some(n => n > 0) : boolean > : ^^^^^^^ >noNumbers.some : (predicate: (value: never, index: number, array: never[]) => unknown, thisArg?: any) => boolean -> : ^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >noNumbers : [] > : ^^ >some : (predicate: (value: never, index: number, array: never[]) => unknown, thisArg?: any) => boolean -> : ^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >n => n > 0 : (n: never) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^ >n : never @@ -290,11 +290,11 @@ >rest.map(n => n > 0) : boolean[] > : ^^^^^^^^^ >rest.map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >rest : [number, number] > : ^^^^^^^^^^^^^^^^ >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >n => n > 0 : (n: number) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^ >n : number diff --git a/tests/baselines/reference/contextuallyTypedJsxAttribute.types b/tests/baselines/reference/contextuallyTypedJsxAttribute.types index 117d5a5320620..1abe776c0796d 100644 --- a/tests/baselines/reference/contextuallyTypedJsxAttribute.types +++ b/tests/baselines/reference/contextuallyTypedJsxAttribute.types @@ -27,14 +27,14 @@ type Props = { as?: C } & Elements[C]; declare function Test(props: Props): null; >Test : (props: Props) => null -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >props : Props > : ^^^^^^^^ {}}/> : error >Test : (props: Props) => null -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ as="bar" >as : "bar" @@ -54,7 +54,7 @@ Test({ >Test({ as: "bar", callback: (value) => {},}) : null > : ^^^^ >Test : (props: Props) => null -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ as: "bar", callback: (value) => {},} : { as: "bar"; callback: (value: string) => void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ @@ -77,7 +77,7 @@ Test({ > as="bar" callback={(value) => {}}/> : error >Test : (props: Props) => null -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ as="bar" >as : "bar" diff --git a/tests/baselines/reference/contextuallyTypedJsxChildren.types b/tests/baselines/reference/contextuallyTypedJsxChildren.types index c5afc65d5dc54..59a17390a16ed 100644 --- a/tests/baselines/reference/contextuallyTypedJsxChildren.types +++ b/tests/baselines/reference/contextuallyTypedJsxChildren.types @@ -77,9 +77,9 @@ declare const DropdownMenu: React.ComponentType; {({ onClose }) => ( >({ onClose }) => (

) : ({ onClose }: { onClose: () => void; }) => JSX.Element -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >onClose : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >(
) : JSX.Element > : ^^^^^^^^^^^ @@ -95,9 +95,9 @@ declare const DropdownMenu: React.ComponentType; >button : any > : ^^^ >onClick : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >onClose : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >button : any > : ^^^ @@ -126,11 +126,11 @@ declare const DropdownMenu: React.ComponentType; children={({ onClose }) => ( >children : ({ onClose }: { onClose: () => void; }) => JSX.Element -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >({ onClose }) => (
) : ({ onClose }: { onClose: () => void; }) => JSX.Element -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >onClose : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >(
) : JSX.Element > : ^^^^^^^^^^^ @@ -146,9 +146,9 @@ declare const DropdownMenu: React.ComponentType; >button : any > : ^^^ >onClick : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >onClose : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >button : any > : ^^^ diff --git a/tests/baselines/reference/contextuallyTypedOptionalProperty(exactoptionalpropertytypes=false).types b/tests/baselines/reference/contextuallyTypedOptionalProperty(exactoptionalpropertytypes=false).types index 9adcbbc5a700c..778e058377b75 100644 --- a/tests/baselines/reference/contextuallyTypedOptionalProperty(exactoptionalpropertytypes=false).types +++ b/tests/baselines/reference/contextuallyTypedOptionalProperty(exactoptionalpropertytypes=false).types @@ -25,7 +25,7 @@ foo({ y: match(y => y > 0) }) >foo({ y: match(y => y > 0) }) : boolean > : ^^^^^^^ >foo : (pos: { x?: number; y?: number; }) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ y: match(y => y > 0) } : { y: number | undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >y : number | undefined @@ -33,7 +33,7 @@ foo({ y: match(y => y > 0) }) >match(y => y > 0) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >match : (cb: (value: T) => boolean) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >y => y > 0 : (y: number | undefined) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >y : number | undefined @@ -55,13 +55,13 @@ foo2([match(y => y > 0)]) >foo2([match(y => y > 0)]) : boolean > : ^^^^^^^ >foo2 : (point: [number?]) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >[match(y => y > 0)] : [number | undefined] > : ^^^^^^^^^^^^^^^^^^^^ >match(y => y > 0) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >match : (cb: (value: T) => boolean) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >y => y > 0 : (y: number | undefined) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >y : number | undefined diff --git a/tests/baselines/reference/contextuallyTypedOptionalProperty(exactoptionalpropertytypes=true).types b/tests/baselines/reference/contextuallyTypedOptionalProperty(exactoptionalpropertytypes=true).types index a3f1d54b80a1d..ff84c56b31675 100644 --- a/tests/baselines/reference/contextuallyTypedOptionalProperty(exactoptionalpropertytypes=true).types +++ b/tests/baselines/reference/contextuallyTypedOptionalProperty(exactoptionalpropertytypes=true).types @@ -25,7 +25,7 @@ foo({ y: match(y => y > 0) }) >foo({ y: match(y => y > 0) }) : boolean > : ^^^^^^^ >foo : (pos: { x?: number; y?: number; }) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ y: match(y => y > 0) } : { y: number; } > : ^^^^^^^^^^^^^^ >y : number @@ -33,7 +33,7 @@ foo({ y: match(y => y > 0) }) >match(y => y > 0) : number > : ^^^^^^ >match : (cb: (value: T) => boolean) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >y => y > 0 : (y: number) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^ >y : number @@ -55,13 +55,13 @@ foo2([match(y => y > 0)]) >foo2([match(y => y > 0)]) : boolean > : ^^^^^^^ >foo2 : (point: [number?]) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >[match(y => y > 0)] : [number] > : ^^^^^^^^ >match(y => y > 0) : number > : ^^^^^^ >match : (cb: (value: T) => boolean) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >y => y > 0 : (y: number) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^ >y : number diff --git a/tests/baselines/reference/contextuallyTypedParametersWithInitializers1.types b/tests/baselines/reference/contextuallyTypedParametersWithInitializers1.types index 746f2444ff718..2aac7cab5e6a8 100644 --- a/tests/baselines/reference/contextuallyTypedParametersWithInitializers1.types +++ b/tests/baselines/reference/contextuallyTypedParametersWithInitializers1.types @@ -9,7 +9,7 @@ declare function id1(input: T): T; declare function id2 any>(input: T): T; >id2 : any>(input: T) => T -> : ^ ^^^^^^^^^^ ^^ ^^^^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : any > : ^^^ >input : T @@ -17,7 +17,7 @@ declare function id2 any>(input: T): T; declare function id3 any>(input: T): T; >id3 : any>(input: T) => T -> : ^ ^^^^^^^^^^ ^^ ^^^^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : { foo: any; } > : ^^^^^^^ ^^^ >foo : any @@ -27,7 +27,7 @@ declare function id3 any>(input: T): T; declare function id4 any>(input: T): T; >id4 : any>(input: T) => T -> : ^ ^^^^^^^^^^ ^^ ^^^^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : { foo?: number; } > : ^^^^^^^^ ^^^ >foo : number | undefined @@ -37,7 +37,7 @@ declare function id4 any>(input: T): T; declare function id5 any>(input: T): T; >id5 : any>(input: T) => T -> : ^ ^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : number | undefined > : ^^^^^^^^^^^^^^^^^^ >input : T @@ -61,7 +61,7 @@ const f11 = id1(function ({ foo = 42 }) { return foo }); >id1(function ({ foo = 42 }) { return foo }) : ({ foo }: { foo?: number | undefined; }) => number > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >id1 : (input: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >function ({ foo = 42 }) { return foo } : ({ foo }: { foo?: number | undefined; }) => number > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : number @@ -77,7 +77,7 @@ const f12 = id2(function ({ foo = 42 }) { return foo }); >id2(function ({ foo = 42 }) { return foo }) : ({ foo }: any) => any > : ^ ^^^^^^^^^^^^^ >id2 : any>(input: T) => T -> : ^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >function ({ foo = 42 }) { return foo } : ({ foo }: any) => any > : ^ ^^^^^^^^^^^^^ >foo : any @@ -89,13 +89,13 @@ const f12 = id2(function ({ foo = 42 }) { return foo }); const f13 = id3(function ({ foo = 42 }) { return foo }); >f13 : ({ foo }: { foo: any; }) => any -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^ >id3(function ({ foo = 42 }) { return foo }) : ({ foo }: { foo: any; }) => any -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^ >id3 : any>(input: T) => T -> : ^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >function ({ foo = 42 }) { return foo } : ({ foo }: { foo: any; }) => any -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^ >foo : any > : ^^^ >42 : 42 @@ -104,14 +104,14 @@ const f13 = id3(function ({ foo = 42 }) { return foo }); > : ^^^ const f14 = id4(function ({ foo = 42 }) { return foo }); ->f14 : ({ foo }: { foo?: number | undefined; }) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->id4(function ({ foo = 42 }) { return foo }) : ({ foo }: { foo?: number | undefined; }) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f14 : ({ foo }: { foo?: number; }) => number +> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^ +>id4(function ({ foo = 42 }) { return foo }) : ({ foo }: { foo?: number; }) => number +> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^ >id4 : any>(input: T) => T -> : ^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^ ->function ({ foo = 42 }) { return foo } : ({ foo }: { foo?: number | undefined; }) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ +>function ({ foo = 42 }) { return foo } : ({ foo }: { foo?: number; }) => number +> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^ >foo : number > : ^^^^^^ >42 : 42 @@ -137,7 +137,7 @@ const f21 = id1(function (foo = 42) { return foo }); >id1(function (foo = 42) { return foo }) : (foo?: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^^ >id1 : (input: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >function (foo = 42) { return foo } : (foo?: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^^ >foo : number @@ -153,7 +153,7 @@ const f22 = id2(function (foo = 42) { return foo }); >id2(function (foo = 42) { return foo }) : (foo?: any) => any > : ^ ^^^^^^^^^^^^^^ >id2 : any>(input: T) => T -> : ^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >function (foo = 42) { return foo } : (foo?: any) => any > : ^ ^^^^^^^^^^^^^^ >foo : any @@ -169,7 +169,7 @@ const f25 = id5(function (foo = 42) { return foo }); >id5(function (foo = 42) { return foo }) : (foo?: number | undefined) => number > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >id5 : any>(input: T) => T -> : ^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >function (foo = 42) { return foo } : (foo?: number | undefined) => number > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : number | undefined @@ -287,19 +287,19 @@ declare function g2(x: T): T; declare function g3(x: T): T; >g3 : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : T > : ^ declare function g4(x: T): T; >g4 : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : T > : ^ declare function g5 any>(x: T): T; >g5 : any>(x: T) => T -> : ^ ^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >args : any[] > : ^^^^^ >x : T @@ -307,7 +307,7 @@ declare function g5 any>(x: T): T; declare function g6 any>(x: T): T; >g6 : any>(x: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : T > : ^ @@ -315,7 +315,7 @@ g1((x = 1) => 0); // number >g1((x = 1) => 0) : (x?: number) => 0 > : ^ ^^^^^^^^^^^^^^^ >g1 : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >(x = 1) => 0 : (x?: number) => 0 > : ^ ^^^^^^^^^^^^^^^ >x : number @@ -329,7 +329,7 @@ g2((x = 1) => 0); // number >g2((x = 1) => 0) : (x?: number) => 0 > : ^ ^^^^^^^^^^^^^^^ >g2 : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ >(x = 1) => 0 : (x?: number) => 0 > : ^ ^^^^^^^^^^^^^^^ >x : number @@ -343,7 +343,7 @@ g3((x = 1) => 0); // number >g3((x = 1) => 0) : (x?: number) => 0 > : ^ ^^^^^^^^^^^^^^^ >g3 : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(x = 1) => 0 : (x?: number) => 0 > : ^ ^^^^^^^^^^^^^^^ >x : number @@ -357,7 +357,7 @@ g4((x = 1) => 0); // number >g4((x = 1) => 0) : (x?: number) => 0 > : ^ ^^^^^^^^^^^^^^^ >g4 : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(x = 1) => 0 : (x?: number) => 0 > : ^ ^^^^^^^^^^^^^^^ >x : number @@ -371,7 +371,7 @@ g5((x = 1) => 0); // any >g5((x = 1) => 0) : (x?: any) => number > : ^ ^^^^^^^^^^^^^^^^^ >g5 : any>(x: T) => T -> : ^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(x = 1) => 0 : (x?: any) => number > : ^ ^^^^^^^^^^^^^^^^^ >x : any @@ -385,7 +385,7 @@ g6((x = 1) => 0); // number >g6((x = 1) => 0) : (x?: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^^ >g6 : any>(x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(x = 1) => 0 : (x?: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^^ >x : number @@ -399,7 +399,7 @@ g6((x?) => 0); // Implicit any error >g6((x?) => 0) : (x?: any) => number > : ^ ^^^^^^^^^^^^^^^^^ >g6 : any>(x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(x?) => 0 : (x?: any) => number > : ^ ^^^^^^^^^^^^^^^^^ >x : any @@ -411,7 +411,7 @@ g6((...x) => 0); // [] >g6((...x) => 0) : () => number > : ^^^^^^^^^^^^ >g6 : any>(x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(...x) => 0 : () => number > : ^^^^^^^^^^^^ >x : [] @@ -448,7 +448,7 @@ const newGetFoo = id(getFoo); >id(getFoo) : ({ foo }: { foo?: number | undefined; }) => number > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >id : (input: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >getFoo : ({ foo }: { foo?: number | undefined; }) => number > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -458,7 +458,7 @@ const newGetFoo2 = id(function getFoo ({ foo = 42 }) { >id(function getFoo ({ foo = 42 }) { return foo;}) : ({ foo }: { foo?: number | undefined; }) => number > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >id : (input: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >function getFoo ({ foo = 42 }) { return foo;} : ({ foo }: { foo?: number | undefined; }) => number > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >getFoo : ({ foo }: { foo?: number | undefined; }) => number @@ -478,7 +478,7 @@ const newGetFoo2 = id(function getFoo ({ foo = 42 }) { declare function memoize(func: F): F; >memoize : (func: F) => F -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >func : F > : ^ @@ -502,13 +502,13 @@ function add(x: number, y = 0): number { } const memoizedAdd = memoize(add); >memoizedAdd : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^ >memoize(add) : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^ >memoize : (func: F) => F -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >add : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^ const add2 = (x: number, y = 0): number => x + y; >add2 : (x: number, y?: number) => number @@ -530,13 +530,13 @@ const add2 = (x: number, y = 0): number => x + y; const memoizedAdd2 = memoize(add2); >memoizedAdd2 : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^ >memoize(add2) : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^ >memoize : (func: F) => F -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >add2 : (x: number, y?: number) => number -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^ const memoizedAdd3 = memoize((x: number, y = 0): number => x + y); >memoizedAdd3 : (x: number, y?: number) => number @@ -544,7 +544,7 @@ const memoizedAdd3 = memoize((x: number, y = 0): number => x + y); >memoize((x: number, y = 0): number => x + y) : (x: number, y?: number) => number > : ^ ^^ ^^ ^^^^^^^^^^^^^^ >memoize : (func: F) => F -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(x: number, y = 0): number => x + y : (x: number, y?: number) => number > : ^ ^^ ^^ ^^^^^^^^^^^^^^ >x : number @@ -576,7 +576,7 @@ export function executeSomething() { >execute((root: HTMLElement, debug = true) => { if (debug) { root.innerHTML = ''; } }) : Promise > : ^^^^^^^^^^^^^^^ >execute : (script: string | Function) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(root: HTMLElement, debug = true) => { if (debug) { root.innerHTML = ''; } } : (root: HTMLElement, debug?: boolean) => void > : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >root : HTMLElement diff --git a/tests/baselines/reference/contextuallyTypedParametersWithInitializers2.types b/tests/baselines/reference/contextuallyTypedParametersWithInitializers2.types index f44515ffebc02..5e445caa8ad11 100644 --- a/tests/baselines/reference/contextuallyTypedParametersWithInitializers2.types +++ b/tests/baselines/reference/contextuallyTypedParametersWithInitializers2.types @@ -3,7 +3,7 @@ === contextuallyTypedParametersWithInitializers2.ts === declare function test1< >test1 : unknown>>(context: TContext, methods: TMethods) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^ ^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ TContext, TMethods extends Record unknown>, @@ -22,7 +22,7 @@ test1( >test1( { count: 0, }, { checkLimit: (ctx, max = 500) => {}, hasAccess: (ctx, user: { name: string }) => {}, },) : void > : ^^^^ >test1 : unknown>>(context: TContext, methods: TMethods) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ { >{ count: 0, } : { count: number; } > : ^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/contextuallyTypedParametersWithInitializers3.types b/tests/baselines/reference/contextuallyTypedParametersWithInitializers3.types index e5b55f29f0536..22cce6a1e3cf0 100644 --- a/tests/baselines/reference/contextuallyTypedParametersWithInitializers3.types +++ b/tests/baselines/reference/contextuallyTypedParametersWithInitializers3.types @@ -29,7 +29,7 @@ create({ >create({ setDirection: (direction = "RIGHT") => { takesDirection(direction); },}) : void > : ^^^^ >create : (config: T) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ setDirection: (direction = "RIGHT") => { takesDirection(direction); },} : { setDirection: (direction?: CanvasDirection) => void; } > : ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -47,7 +47,7 @@ create({ >takesDirection(direction) : void > : ^^^^ >takesDirection : (direction: CanvasDirection) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >direction : CanvasDirection > : ^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/contextuallyTypedParametersWithInitializers4.types b/tests/baselines/reference/contextuallyTypedParametersWithInitializers4.types index 80e14b8e2f363..4dfd369a9c09a 100644 --- a/tests/baselines/reference/contextuallyTypedParametersWithInitializers4.types +++ b/tests/baselines/reference/contextuallyTypedParametersWithInitializers4.types @@ -3,7 +3,7 @@ === contextuallyTypedParametersWithInitializers4.ts === declare function test< >test : unknown>>(context: TContext, methods: TMethods) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^ ^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ TContext, TMethods extends Record unknown>, @@ -22,7 +22,7 @@ test( >test( { count: 0, }, { checkLimit: (ctx, max = 3) => {}, },) : void > : ^^^^ >test : unknown>>(context: TContext, methods: TMethods) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ { >{ count: 0, } : { count: number; } > : ^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/contextuallyTypedStringLiteralsInJsxAttributes01.types b/tests/baselines/reference/contextuallyTypedStringLiteralsInJsxAttributes01.types index 868b0bd1d5476..c3ec241598c7e 100644 --- a/tests/baselines/reference/contextuallyTypedStringLiteralsInJsxAttributes01.types +++ b/tests/baselines/reference/contextuallyTypedStringLiteralsInJsxAttributes01.types @@ -30,7 +30,7 @@ const FooComponent = (props: { foo: "A" | "B" | "C" }) => {props.foo}props.foo : "A" | "B" | "C" > : ^^^^^^^^^^^^^^^ >props : { foo: "A" | "B" | "C"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >foo : "A" | "B" | "C" > : ^^^^^^^^^^^^^^^ >span : any diff --git a/tests/baselines/reference/contextuallyTypedStringLiteralsInJsxAttributes02.types b/tests/baselines/reference/contextuallyTypedStringLiteralsInJsxAttributes02.types index ff5b884a9f5c7..f5b6e20173fcc 100644 --- a/tests/baselines/reference/contextuallyTypedStringLiteralsInJsxAttributes02.types +++ b/tests/baselines/reference/contextuallyTypedStringLiteralsInJsxAttributes02.types @@ -31,7 +31,7 @@ export interface LinkProps extends ClickableProps { export function MainButton(buttonProps: ButtonProps): JSX.Element; >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >buttonProps : ButtonProps > : ^^^^^^^^^^^ >JSX : any @@ -39,7 +39,7 @@ export function MainButton(buttonProps: ButtonProps): JSX.Element; export function MainButton(linkProps: LinkProps): JSX.Element; >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >linkProps : LinkProps > : ^^^^^^^^^ >JSX : any @@ -47,7 +47,7 @@ export function MainButton(linkProps: LinkProps): JSX.Element; export function MainButton(props: ButtonProps | LinkProps): JSX.Element { >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >props : ButtonProps | LinkProps > : ^^^^^^^^^^^^^^^^^^^^^^^ >JSX : any @@ -101,7 +101,7 @@ const b0 = {console.log(k)}}} extra />; // k h > {console.log(k)}}} extra /> : JSX.Element > : ^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >{onClick: (k) => {console.log(k)}} : { onClick: (k: "left" | "right") => void; } > : ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >onClick : (k: "left" | "right") => void @@ -113,11 +113,11 @@ const b0 = {console.log(k)}}} extra />; // k h >console.log(k) : void > : ^^^^ >console.log : (message?: any, ...optionalParams: any[]) => void -> : ^ ^^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (message?: any, ...optionalParams: any[]) => void -> : ^ ^^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^^^^ >k : "left" | "right" > : ^^^^^^^^^^^^^^^^ >extra : true @@ -129,7 +129,7 @@ const b2 = {console.log(k)}} extra />; // k has type >{console.log(k)}} extra /> : JSX.Element > : ^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >onClick : (k: "left" | "right") => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >(k)=>{console.log(k)} : (k: "left" | "right") => void @@ -139,11 +139,11 @@ const b2 = {console.log(k)}} extra />; // k has type >console.log(k) : void > : ^^^^ >console.log : (message?: any, ...optionalParams: any[]) => void -> : ^ ^^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (message?: any, ...optionalParams: any[]) => void -> : ^ ^^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^^^^ >k : "left" | "right" > : ^^^^^^^^^^^^^^^^ >extra : true @@ -155,7 +155,7 @@ const b3 = ; // goTo has type"home" | "c > : JSX.Element > : ^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >{goTo:"home"} : { goTo: "home"; } > : ^^^^^^^^^^^^^^^^^ >goTo : "home" @@ -171,7 +171,7 @@ const b4 = ; // goTo has type "home" | "contact > : JSX.Element > : ^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >goTo : "home" > : ^^^^^^ >extra : true @@ -193,7 +193,7 @@ const c1 = {console.log(k)}}} extra />; // k > {console.log(k)}}} extra /> : JSX.Element > : ^^^^^^^^^^^ >NoOverload : (buttonProps: ButtonProps) => JSX.Element -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >{onClick: (k) => {console.log(k)}} : { onClick: (k: "left" | "right") => void; } > : ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >onClick : (k: "left" | "right") => void @@ -205,11 +205,11 @@ const c1 = {console.log(k)}}} extra />; // k >console.log(k) : void > : ^^^^ >console.log : (message?: any, ...optionalParams: any[]) => void -> : ^ ^^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (message?: any, ...optionalParams: any[]) => void -> : ^ ^^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^^^^ >k : "left" | "right" > : ^^^^^^^^^^^^^^^^ >extra : true @@ -231,7 +231,7 @@ const d1 = ; // goTo has type "home" | > : JSX.Element > : ^^^^^^^^^^^ >NoOverload1 : (linkProps: LinkProps) => JSX.Element -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >{goTo:"home"} : { goTo: "home"; } > : ^^^^^^^^^^^^^^^^^ >goTo : "home" diff --git a/tests/baselines/reference/contextuallyTypedSymbolNamedProperties.types b/tests/baselines/reference/contextuallyTypedSymbolNamedProperties.types index 03256e994f539..95e4eb7641d68 100644 --- a/tests/baselines/reference/contextuallyTypedSymbolNamedProperties.types +++ b/tests/baselines/reference/contextuallyTypedSymbolNamedProperties.types @@ -49,7 +49,7 @@ declare const ab: Action; declare function f(action: T, blah: { [K in T['type']]: (p: K) => void }): any; >f : (action: T, blah: { [K in T["type"]]: (p: K) => void; }) => any -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >type : string | symbol > : ^^^^^^^^^^^^^^^ >action : T @@ -62,7 +62,7 @@ declare function f(action: T, blah: { [K in f(ab, { >f(ab, { [A]: ap => { ap.description }, [B]: bp => { bp.description },}) : any >f : (action: T, blah: { [K in T["type"]]: (p: K) => void; }) => any -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >ab : Action > : ^^^^^^ >{ [A]: ap => { ap.description }, [B]: bp => { bp.description },} : { [A]: (ap: unique symbol) => void; [B]: (bp: unique symbol) => void; } diff --git a/tests/baselines/reference/contextuallyTypingOrOperator3.types b/tests/baselines/reference/contextuallyTypingOrOperator3.types index aabf5f5cd2df4..4ac1b54a13b31 100644 --- a/tests/baselines/reference/contextuallyTypingOrOperator3.types +++ b/tests/baselines/reference/contextuallyTypingOrOperator3.types @@ -3,7 +3,7 @@ === contextuallyTypingOrOperator3.ts === function foo(u: U) { >foo : (u: U) => void -> : ^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >u : U > : ^ diff --git a/tests/baselines/reference/contravariantInferenceAndTypeGuard.types b/tests/baselines/reference/contravariantInferenceAndTypeGuard.types index b3fb0d538ae87..b0fdb7fbbbe58 100644 --- a/tests/baselines/reference/contravariantInferenceAndTypeGuard.types +++ b/tests/baselines/reference/contravariantInferenceAndTypeGuard.types @@ -44,29 +44,29 @@ declare class List { filter(fn: FilterFn, context: TContext): List; >filter : { (fn: FilterFn, context: TContext): List; (fn: FilterFn): List; (fn: IteratorFn, context: TContext_1): List; (fn: IteratorFn): List; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >fn : FilterFn > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >context : TContext > : ^^^^^^^^ filter(fn: FilterFn): List; ->filter : { (fn: FilterFn, context: TContext): List; (fn: FilterFn): List; (fn: IteratorFn, context: TContext_1): List; (fn: IteratorFn): List; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +>filter : { (fn: FilterFn, context: TContext): List; (fn: FilterFn): List; (fn: IteratorFn, context: TContext): List; (fn: IteratorFn): List; } +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >fn : FilterFn> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ filter(fn: IteratorFn, context: TContext): List; ->filter : { (fn: FilterFn, context: TContext_1): List; (fn: FilterFn): List; (fn: IteratorFn, context: TContext): List; (fn: IteratorFn): List; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ +>filter : { (fn: FilterFn, context: TContext_1): List; (fn: FilterFn): List; (fn: IteratorFn, context: TContext): List; (fn: IteratorFn): List; } +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >fn : IteratorFn > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >context : TContext > : ^^^^^^^^ filter(fn: IteratorFn): List; ->filter : { (fn: FilterFn, context: TContext): List; (fn: FilterFn): List; (fn: IteratorFn, context: TContext_1): List; (fn: IteratorFn): List; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>filter : { (fn: FilterFn, context: TContext): List; (fn: FilterFn): List; (fn: IteratorFn, context: TContext): List; (fn: IteratorFn): List; } +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >fn : IteratorFn> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } @@ -88,12 +88,12 @@ const filter1 = list2.filter(function(item, node, list): item is Test { > : ^^^^^^^^^^ >list2.filter(function(item, node, list): item is Test { this.b; // $ExpectType string item; // $ExpectType Test | null node; // $ExpectType ListItem list; // $ExpectType List return !!item;}, {b: 'c'}) : List > : ^^^^^^^^^^ ->list2.filter : { (fn: FilterFn, context: TContext): List; (fn: FilterFn>): List; (fn: IteratorFn, context: TContext_1): List; (fn: IteratorFn>): List; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>list2.filter : { (fn: FilterFn, context: TContext): List; (fn: FilterFn>): List; (fn: IteratorFn, context: TContext): List; (fn: IteratorFn>): List; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^ >list2 : List > : ^^^^^^^^^^^^^^^^^ ->filter : { (fn: FilterFn, context: TContext): List; (fn: FilterFn>): List; (fn: IteratorFn, context: TContext_1): List; (fn: IteratorFn>): List; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>filter : { (fn: FilterFn, context: TContext): List; (fn: FilterFn>): List; (fn: IteratorFn, context: TContext): List; (fn: IteratorFn>): List; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^ >function(item, node, list): item is Test { this.b; // $ExpectType string item; // $ExpectType Test | null node; // $ExpectType ListItem list; // $ExpectType List return !!item;} : (this: { b: string; }, item: Test | null, node: ListItem, list: List) => item is Test > : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ >item : Test | null diff --git a/tests/baselines/reference/contravariantOnlyInferenceFromAnnotatedFunction.types b/tests/baselines/reference/contravariantOnlyInferenceFromAnnotatedFunction.types index 6bbd82fcc36d7..fd7dc6f5bfc4b 100644 --- a/tests/baselines/reference/contravariantOnlyInferenceFromAnnotatedFunction.types +++ b/tests/baselines/reference/contravariantOnlyInferenceFromAnnotatedFunction.types @@ -25,7 +25,7 @@ type Funcs> = { declare function foo>(fns: Funcs): [A, B] >foo : >(fns: Funcs) => [A, B] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >fns : Funcs > : ^^^^^^^^^^^ @@ -35,7 +35,7 @@ const result = foo({ >foo({ bar: { fn: (a: string) => {}, thing: 'asd', },}) : [string, { bar: string; }] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : >(fns: Funcs) => [A, B] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ bar: { fn: (a: string) => {}, thing: 'asd', },} : { bar: { fn: (a: string) => void; thing: string; }; } > : ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/contravariantOnlyInferenceFromAnnotatedFunctionJs.types b/tests/baselines/reference/contravariantOnlyInferenceFromAnnotatedFunctionJs.types index 4d3ac78a299a6..e12eb8bad98cb 100644 --- a/tests/baselines/reference/contravariantOnlyInferenceFromAnnotatedFunctionJs.types +++ b/tests/baselines/reference/contravariantOnlyInferenceFromAnnotatedFunctionJs.types @@ -15,7 +15,7 @@ */ function foo(fns) { >foo : >(fns: Funcs) => [A, B] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >fns : Funcs > : ^^^^^^^^^^^ @@ -29,7 +29,7 @@ const result = foo({ >foo({ bar: { fn: /** @param {string} a */ (a) => {}, thing: "asd", },}) : [string, { bar: string; }] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : >(fns: Funcs) => [A, B] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ bar: { fn: /** @param {string} a */ (a) => {}, thing: "asd", },} : { bar: { fn: (a: string) => void; thing: string; }; } > : ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/contravariantOnlyInferenceWithAnnotatedOptionalParameter.types b/tests/baselines/reference/contravariantOnlyInferenceWithAnnotatedOptionalParameter.types index 94a731f54ce5a..244f7268b84b4 100644 --- a/tests/baselines/reference/contravariantOnlyInferenceWithAnnotatedOptionalParameter.types +++ b/tests/baselines/reference/contravariantOnlyInferenceWithAnnotatedOptionalParameter.types @@ -19,7 +19,7 @@ const a = filter((pose?: number) => true); >filter((pose?: number) => true) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >filter : (predicate: (value: T, index: number) => boolean) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >(pose?: number) => true : (pose?: number) => true > : ^ ^^^ ^^^^^^^^^ >pose : number | undefined @@ -33,7 +33,7 @@ const b = filter((pose?: number, _?: number) => true); >filter((pose?: number, _?: number) => true) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >filter : (predicate: (value: T, index: number) => boolean) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >(pose?: number, _?: number) => true : (pose?: number, _?: number) => true > : ^ ^^^ ^^ ^^^ ^^^^^^^^^ >pose : number | undefined diff --git a/tests/baselines/reference/contravariantOnlyInferenceWithAnnotatedOptionalParameterJs.types b/tests/baselines/reference/contravariantOnlyInferenceWithAnnotatedOptionalParameterJs.types index b8b7acb2ba9a0..a6a181075b918 100644 --- a/tests/baselines/reference/contravariantOnlyInferenceWithAnnotatedOptionalParameterJs.types +++ b/tests/baselines/reference/contravariantOnlyInferenceWithAnnotatedOptionalParameterJs.types @@ -10,7 +10,7 @@ function filter(predicate) { >filter : (predicate: (value: T, index: number) => boolean) => T > : ^ ^^ ^^ ^^^^^ >predicate : (value: T, index: number) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ return /** @type {any} */ (null); >(null) : any @@ -22,7 +22,7 @@ const a = filter( >filter( /** * @param {number} [pose] */ (pose) => true) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >filter : (predicate: (value: T, index: number) => boolean) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ /** * @param {number} [pose] @@ -43,7 +43,7 @@ const b = filter( >filter( /** * @param {number} [pose] * @param {number} [_] */ (pose, _) => true) : number | undefined > : ^^^^^^^^^^^^^^^^^^ >filter : (predicate: (value: T, index: number) => boolean) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ /** * @param {number} [pose] diff --git a/tests/baselines/reference/contravariantTypeAliasInference.types b/tests/baselines/reference/contravariantTypeAliasInference.types index 33268adef50c0..7f2ca64c1e3a9 100644 --- a/tests/baselines/reference/contravariantTypeAliasInference.types +++ b/tests/baselines/reference/contravariantTypeAliasInference.types @@ -33,7 +33,7 @@ foo(f1, f2); >foo(f1, f2) : void > : ^^^^ >foo : (f1: Func1, f2: Func1) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >f1 : Func1 > : ^^^^^^^^^^^^^ >f2 : Func1<"a"> @@ -59,7 +59,7 @@ bar(f1, f2); >bar(f1, f2) : void > : ^^^^ >bar : (g1: Func2, g2: Func2) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >f1 : Func1 > : ^^^^^^^^^^^^^ >f2 : Func1<"a"> @@ -69,7 +69,7 @@ bar(g1, g2); >bar(g1, g2) : void > : ^^^^ >bar : (g1: Func2, g2: Func2) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >g1 : Func2 > : ^^^^^^^^^^^^^ >g2 : Func2<"a"> diff --git a/tests/baselines/reference/controlFlowAliasedDiscriminants.types b/tests/baselines/reference/controlFlowAliasedDiscriminants.types index 0d9333d6c4a72..9fd6a7949b697 100644 --- a/tests/baselines/reference/controlFlowAliasedDiscriminants.types +++ b/tests/baselines/reference/controlFlowAliasedDiscriminants.types @@ -63,7 +63,7 @@ const { data: data1, isSuccess: isSuccess1 } = useQuery(); >useQuery() : UseQueryResult > : ^^^^^^^^^^^^^^^^^^^^^^ >useQuery : () => UseQueryResult -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ const { data: data2, isSuccess: isSuccess2 } = useQuery(); >data : any @@ -77,7 +77,7 @@ const { data: data2, isSuccess: isSuccess2 } = useQuery(); >useQuery() : UseQueryResult > : ^^^^^^^^^^^^^^^^^^^^^^ >useQuery : () => UseQueryResult -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ const { data: data3, isSuccess: isSuccess3 } = useQuery(); >data : any @@ -91,7 +91,7 @@ const { data: data3, isSuccess: isSuccess3 } = useQuery(); >useQuery() : UseQueryResult > : ^^^^^^^^^^^^^^^^^^^^^^ >useQuery : () => UseQueryResult -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ if (isSuccess1 && isSuccess2 && isSuccess3) { >isSuccess1 && isSuccess2 && isSuccess3 : boolean @@ -109,31 +109,31 @@ if (isSuccess1 && isSuccess2 && isSuccess3) { >data1.toExponential() : string > : ^^^^^^ >data1.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >data1 : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ data2.toExponential(); // should ok >data2.toExponential() : string > : ^^^^^^ >data2.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >data2 : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ data3.toExponential(); // should ok >data3.toExponential() : string > : ^^^^^^ >data3.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >data3 : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } const areSuccess = isSuccess1 && isSuccess2 && isSuccess3; @@ -158,31 +158,31 @@ if (areSuccess) { >data1.toExponential() : string > : ^^^^^^ >data1.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >data1 : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ data2.toExponential(); // should ok >data2.toExponential() : string > : ^^^^^^ >data2.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >data2 : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ data3.toExponential(); // should ok >data3.toExponential() : string > : ^^^^^^ >data3.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >data3 : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } { @@ -198,7 +198,7 @@ if (areSuccess) { >useQuery() : UseQueryResult > : ^^^^^^^^^^^^^^^^^^^^^^ >useQuery : () => UseQueryResult -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ let { data: data2, isSuccess: isSuccess2 } = useQuery(); >data : any @@ -212,7 +212,7 @@ if (areSuccess) { >useQuery() : UseQueryResult > : ^^^^^^^^^^^^^^^^^^^^^^ >useQuery : () => UseQueryResult -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ const { data: data3, isSuccess: isSuccess3 } = useQuery(); >data : any @@ -226,7 +226,7 @@ if (areSuccess) { >useQuery() : UseQueryResult > : ^^^^^^^^^^^^^^^^^^^^^^ >useQuery : () => UseQueryResult -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ const areSuccess = isSuccess1 && isSuccess2 && isSuccess3; >areSuccess : boolean @@ -250,31 +250,31 @@ if (areSuccess) { >data1.toExponential() : string > : ^^^^^^ >data1.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >data1 : number | undefined > : ^^^^^^^^^^^^^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ data2.toExponential(); // should error >data2.toExponential() : string > : ^^^^^^ >data2.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >data2 : number | undefined > : ^^^^^^^^^^^^^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ data3.toExponential(); // should ok >data3.toExponential() : string > : ^^^^^^ >data3.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >data3 : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } } @@ -294,7 +294,7 @@ declare function getArrayResult(): [true, number] | [false, undefined]; >getArrayResult() : [true, number] | [false, undefined] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >getArrayResult : () => [true, number] | [false, undefined] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ const [foo2, bar2] = getArrayResult(); >foo2 : boolean @@ -304,7 +304,7 @@ declare function getArrayResult(): [true, number] | [false, undefined]; >getArrayResult() : [true, number] | [false, undefined] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >getArrayResult : () => [true, number] | [false, undefined] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ const [foo3, bar3] = getArrayResult(); >foo3 : boolean @@ -314,7 +314,7 @@ declare function getArrayResult(): [true, number] | [false, undefined]; >getArrayResult() : [true, number] | [false, undefined] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >getArrayResult : () => [true, number] | [false, undefined] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ const arrayAllSuccess = foo1 && foo2 && foo3; >arrayAllSuccess : boolean @@ -338,31 +338,31 @@ declare function getArrayResult(): [true, number] | [false, undefined]; >bar1.toExponential() : string > : ^^^^^^ >bar1.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >bar1 : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ bar2.toExponential(); // should ok >bar2.toExponential() : string > : ^^^^^^ >bar2.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >bar2 : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ bar3.toExponential(); // should ok >bar3.toExponential() : string > : ^^^^^^ >bar3.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >bar3 : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } } @@ -375,7 +375,7 @@ declare function getArrayResult(): [true, number] | [false, undefined]; >getArrayResult() : [true, number] | [false, undefined] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >getArrayResult : () => [true, number] | [false, undefined] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ let [foo2, bar2] = getArrayResult(); >foo2 : boolean @@ -385,7 +385,7 @@ declare function getArrayResult(): [true, number] | [false, undefined]; >getArrayResult() : [true, number] | [false, undefined] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >getArrayResult : () => [true, number] | [false, undefined] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ let [foo3, bar3] = getArrayResult(); >foo3 : boolean @@ -395,7 +395,7 @@ declare function getArrayResult(): [true, number] | [false, undefined]; >getArrayResult() : [true, number] | [false, undefined] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >getArrayResult : () => [true, number] | [false, undefined] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ const arrayAllSuccess = foo1 && foo2 && foo3; >arrayAllSuccess : boolean @@ -419,31 +419,31 @@ declare function getArrayResult(): [true, number] | [false, undefined]; >bar1.toExponential() : string > : ^^^^^^ >bar1.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >bar1 : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ bar2.toExponential(); // should error >bar2.toExponential() : string > : ^^^^^^ >bar2.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >bar2 : number | undefined > : ^^^^^^^^^^^^^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ bar3.toExponential(); // should error >bar3.toExponential() : string > : ^^^^^^ >bar3.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >bar3 : number | undefined > : ^^^^^^^^^^^^^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } } @@ -525,11 +525,11 @@ type Nested = { >resp.resp.data : string > : ^^^^^^ >resp.resp : { data: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >resp : { type: "string"; resp: { data: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^ >resp : { data: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >data : string > : ^^^^^^ } @@ -585,11 +585,11 @@ type Nested = { >resp.resp.data : string > : ^^^^^^ >resp.resp : { data: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >resp : { type: "string"; resp: { data: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^ >resp : { data: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >data : string > : ^^^^^^ } @@ -619,7 +619,7 @@ function bindingPatternInParameter({ data: data1, isSuccess: isSuccess1 }: UseQu >useQuery() : UseQueryResult > : ^^^^^^^^^^^^^^^^^^^^^^ >useQuery : () => UseQueryResult -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ const areSuccess = isSuccess1 && isSuccess2; >areSuccess : boolean @@ -639,21 +639,21 @@ function bindingPatternInParameter({ data: data1, isSuccess: isSuccess1 }: UseQu >data1.toExponential() : string > : ^^^^^^ >data1.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >data1 : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ data2.toExponential(); >data2.toExponential() : string > : ^^^^^^ >data2.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >data2 : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } } diff --git a/tests/baselines/reference/controlFlowAliasing.types b/tests/baselines/reference/controlFlowAliasing.types index 72a1c5bc6b5d7..d24919344d519 100644 --- a/tests/baselines/reference/controlFlowAliasing.types +++ b/tests/baselines/reference/controlFlowAliasing.types @@ -227,7 +227,7 @@ function f15(obj: { readonly x: string | number }) { >obj.x : string | number > : ^^^^^^^^^^^^^^^ >obj : { readonly x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >x : string | number > : ^^^^^^^^^^^^^^^ >'string' : "string" @@ -243,7 +243,7 @@ function f15(obj: { readonly x: string | number }) { >obj.x : string > : ^^^^^^ >obj : { readonly x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >x : string > : ^^^^^^ } @@ -267,7 +267,7 @@ function f16(obj: { readonly x: string | number }) { >obj.x : string | number > : ^^^^^^^^^^^^^^^ >obj : { readonly x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >x : string | number > : ^^^^^^^^^^^^^^^ >'string' : "string" @@ -277,7 +277,7 @@ function f16(obj: { readonly x: string | number }) { >obj = { x: 42 } : { x: number; } > : ^^^^^^^^^^^^^^ >obj : { readonly x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >{ x: 42 } : { x: number; } > : ^^^^^^^^^^^^^^ >x : number @@ -295,7 +295,7 @@ function f16(obj: { readonly x: string | number }) { >obj.x : string | number > : ^^^^^^^^^^^^^^^ >obj : { readonly x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >x : string | number > : ^^^^^^^^^^^^^^^ } @@ -409,7 +409,7 @@ function f20(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >obj.kind : "foo" | "bar" > : ^^^^^^^^^^^^^ >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >kind : "foo" | "bar" > : ^^^^^^^^^^^^^ >'foo' : "foo" @@ -423,7 +423,7 @@ function f20(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >obj.foo : string > : ^^^^^^ >obj : { kind: "foo"; foo: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^ >foo : string > : ^^^^^^ } @@ -432,7 +432,7 @@ function f20(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >obj.bar : number > : ^^^^^^ >obj : { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^ >bar : number > : ^^^^^^ } @@ -460,7 +460,7 @@ function f21(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >obj.kind : "foo" | "bar" > : ^^^^^^^^^^^^^ >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >kind : "foo" | "bar" > : ^^^^^^^^^^^^^ >'foo' : "foo" @@ -474,7 +474,7 @@ function f21(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >obj.foo : any > : ^^^ >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >foo : any > : ^^^ } @@ -483,7 +483,7 @@ function f21(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >obj.bar : any > : ^^^ >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >bar : any > : ^^^ } @@ -511,7 +511,7 @@ function f22(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >obj.kind : "foo" | "bar" > : ^^^^^^^^^^^^^ >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >kind : "foo" | "bar" > : ^^^^^^^^^^^^^ >'foo' : "foo" @@ -525,7 +525,7 @@ function f22(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >obj.foo : any > : ^^^ >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >foo : any > : ^^^ } @@ -534,7 +534,7 @@ function f22(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >obj.bar : any > : ^^^ >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >bar : any > : ^^^ } @@ -562,7 +562,7 @@ function f23(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >obj.kind : "foo" | "bar" > : ^^^^^^^^^^^^^ >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >kind : "foo" | "bar" > : ^^^^^^^^^^^^^ >'foo' : "foo" @@ -570,11 +570,11 @@ function f23(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { obj = obj; >obj = obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ if (isFoo) { >isFoo : boolean @@ -584,7 +584,7 @@ function f23(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >obj.foo : any > : ^^^ >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >foo : any > : ^^^ } @@ -593,7 +593,7 @@ function f23(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >obj.bar : any > : ^^^ >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >bar : any > : ^^^ } @@ -615,9 +615,9 @@ function f24(arg: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { const obj = arg; >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >arg : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ const isFoo = obj.kind === 'foo'; >isFoo : boolean @@ -627,7 +627,7 @@ function f24(arg: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >obj.kind : "foo" | "bar" > : ^^^^^^^^^^^^^ >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >kind : "foo" | "bar" > : ^^^^^^^^^^^^^ >'foo' : "foo" @@ -641,7 +641,7 @@ function f24(arg: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >obj.foo : string > : ^^^^^^ >obj : { kind: "foo"; foo: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^ >foo : string > : ^^^^^^ } @@ -650,7 +650,7 @@ function f24(arg: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >obj.bar : number > : ^^^^^^ >obj : { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^ >bar : number > : ^^^^^^ } @@ -672,9 +672,9 @@ function f25(arg: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { let obj = arg; >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >arg : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ const isFoo = obj.kind === 'foo'; >isFoo : boolean @@ -684,7 +684,7 @@ function f25(arg: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >obj.kind : "foo" | "bar" > : ^^^^^^^^^^^^^ >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >kind : "foo" | "bar" > : ^^^^^^^^^^^^^ >'foo' : "foo" @@ -698,7 +698,7 @@ function f25(arg: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >obj.foo : string > : ^^^^^^ >obj : { kind: "foo"; foo: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^ >foo : string > : ^^^^^^ } @@ -707,7 +707,7 @@ function f25(arg: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >obj.bar : number > : ^^^^^^ >obj : { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^ >bar : number > : ^^^^^^ } @@ -737,11 +737,11 @@ function f26(outer: { readonly obj: { kind: 'foo', foo: string } | { kind: 'bar' >outer.obj.kind : "foo" | "bar" > : ^^^^^^^^^^^^^ >outer.obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >outer : { readonly obj: { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >kind : "foo" | "bar" > : ^^^^^^^^^^^^^ >'foo' : "foo" @@ -755,11 +755,11 @@ function f26(outer: { readonly obj: { kind: 'foo', foo: string } | { kind: 'bar' >outer.obj.foo : string > : ^^^^^^ >outer.obj : { kind: "foo"; foo: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^ >outer : { readonly obj: { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ >obj : { kind: "foo"; foo: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^ >foo : string > : ^^^^^^ } @@ -768,11 +768,11 @@ function f26(outer: { readonly obj: { kind: 'foo', foo: string } | { kind: 'bar' >outer.obj.bar : number > : ^^^^^^ >outer.obj : { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^ >outer : { readonly obj: { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ >obj : { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^ >bar : number > : ^^^^^^ } @@ -802,11 +802,11 @@ function f27(outer: { obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: nu >outer.obj.kind : "foo" | "bar" > : ^^^^^^^^^^^^^ >outer.obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >outer : { obj: { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >kind : "foo" | "bar" > : ^^^^^^^^^^^^^ >'foo' : "foo" @@ -820,11 +820,11 @@ function f27(outer: { obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: nu >outer.obj.foo : any > : ^^^ >outer.obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >outer : { obj: { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >foo : any > : ^^^ } @@ -833,11 +833,11 @@ function f27(outer: { obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: nu >outer.obj.bar : any > : ^^^ >outer.obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >outer : { obj: { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >bar : any > : ^^^ } @@ -863,13 +863,13 @@ function f28(obj?: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) >obj && obj.kind === 'foo' : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ >obj.kind === 'foo' : boolean > : ^^^^^^^ >obj.kind : "foo" | "bar" > : ^^^^^^^^^^^^^ >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >kind : "foo" | "bar" > : ^^^^^^^^^^^^^ >'foo' : "foo" @@ -881,13 +881,13 @@ function f28(obj?: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) >obj && obj.kind === 'bar' : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ >obj.kind === 'bar' : boolean > : ^^^^^^^ >obj.kind : "foo" | "bar" > : ^^^^^^^^^^^^^ >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >kind : "foo" | "bar" > : ^^^^^^^^^^^^^ >'bar' : "bar" @@ -901,7 +901,7 @@ function f28(obj?: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) >obj.foo : string > : ^^^^^^ >obj : { kind: "foo"; foo: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^ >foo : string > : ^^^^^^ } @@ -913,7 +913,7 @@ function f28(obj?: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) >obj.bar : number > : ^^^^^^ >obj : { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^ >bar : number > : ^^^^^^ } @@ -941,7 +941,7 @@ function f30(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >obj.kind : "foo" | "bar" > : ^^^^^^^^^^^^^ >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >kind : "foo" | "bar" > : ^^^^^^^^^^^^^ @@ -957,7 +957,7 @@ function f30(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >obj.foo : string > : ^^^^^^ >obj : { kind: "foo"; foo: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^ >foo : string > : ^^^^^^ } @@ -966,7 +966,7 @@ function f30(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >obj.bar : number > : ^^^^^^ >obj : { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^ >bar : number > : ^^^^^^ } @@ -990,7 +990,7 @@ function f31(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >kind : "foo" | "bar" > : ^^^^^^^^^^^^^ >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ if (kind === 'foo') { >kind === 'foo' : boolean @@ -1004,7 +1004,7 @@ function f31(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >obj.foo : string > : ^^^^^^ >obj : { kind: "foo"; foo: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^ >foo : string > : ^^^^^^ } @@ -1013,7 +1013,7 @@ function f31(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >obj.bar : number > : ^^^^^^ >obj : { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^ >bar : number > : ^^^^^^ } @@ -1039,7 +1039,7 @@ function f32(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >k : "foo" | "bar" > : ^^^^^^^^^^^^^ >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ if (k === 'foo') { >k === 'foo' : boolean @@ -1053,7 +1053,7 @@ function f32(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >obj.foo : string > : ^^^^^^ >obj : { kind: "foo"; foo: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^ >foo : string > : ^^^^^^ } @@ -1062,7 +1062,7 @@ function f32(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >obj.bar : number > : ^^^^^^ >obj : { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^ >bar : number > : ^^^^^^ } @@ -1086,7 +1086,7 @@ function f33(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >kind : "foo" | "bar" > : ^^^^^^^^^^^^^ >obj : { kind: "foo"; foo: string; } | { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ switch (kind) { >kind : "foo" | "bar" @@ -1098,7 +1098,7 @@ function f33(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >obj.foo : string > : ^^^^^^ >obj : { kind: "foo"; foo: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^ >foo : string > : ^^^^^^ @@ -1108,7 +1108,7 @@ function f33(obj: { kind: 'foo', foo: string } | { kind: 'bar', bar: number }) { >obj.bar : number > : ^^^^^^ >obj : { kind: "bar"; bar: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^ >bar : number > : ^^^^^^ } @@ -1298,8 +1298,8 @@ function f40(obj: { kind: 'foo', foo?: string } | { kind: 'bar', bar?: number }) const { kind } = obj; >kind : "foo" | "bar" > : ^^^^^^^^^^^^^ ->obj : { kind: "foo"; foo?: string | undefined; } | { kind: "bar"; bar?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj : { kind: "foo"; foo?: string; } | { kind: "bar"; bar?: number; } +> : ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ const isFoo = kind == 'foo'; >isFoo : boolean @@ -1318,8 +1318,8 @@ function f40(obj: { kind: 'foo', foo?: string } | { kind: 'bar', bar?: number }) > : ^^^^^^^ >obj.foo : string | undefined > : ^^^^^^^^^^^^^^^^^^ ->obj : { kind: "foo"; foo?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj : { kind: "foo"; foo?: string; } +> : ^^^^^^^^ ^^^^^^^^ ^^^ >foo : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -1328,8 +1328,8 @@ function f40(obj: { kind: 'foo', foo?: string } | { kind: 'bar', bar?: number }) > : ^^^^^^ >obj.foo : string > : ^^^^^^ ->obj : { kind: "foo"; foo?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj : { kind: "foo"; foo?: string; } +> : ^^^^^^^^ ^^^^^^^^ ^^^ >foo : string > : ^^^^^^ } @@ -1373,7 +1373,7 @@ function gg2(obj: Data) { >obj.payload : string > : ^^^^^^ >obj : { kind: "str"; payload: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^ ^^^ >payload : string > : ^^^^^^ } @@ -1384,7 +1384,7 @@ function gg2(obj: Data) { >obj.payload : number > : ^^^^^^ >obj : { kind: "num"; payload: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^ ^^^ >payload : number > : ^^^^^^ } @@ -1492,11 +1492,11 @@ class A53267 { >Utils.isDefined(this.testNumber) : boolean > : ^^^^^^^ >Utils.isDefined : (value: T) => value is NonNullable -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >Utils : typeof Utils > : ^^^^^^^^^^^^ >isDefined : (value: T) => value is NonNullable -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >this.testNumber : number | undefined > : ^^^^^^^^^^^^^^^^^^ >this : this diff --git a/tests/baselines/reference/controlFlowAliasingCatchVariables(useunknownincatchvariables=false).types b/tests/baselines/reference/controlFlowAliasingCatchVariables(useunknownincatchvariables=false).types index d6c4735e1ceea..32100a45d674c 100644 --- a/tests/baselines/reference/controlFlowAliasingCatchVariables(useunknownincatchvariables=false).types +++ b/tests/baselines/reference/controlFlowAliasingCatchVariables(useunknownincatchvariables=false).types @@ -24,11 +24,11 @@ catch (e) { >e.toUpperCase() : string > : ^^^^^^ >e.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >e : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } if (typeof e === 'string') { @@ -44,11 +44,11 @@ catch (e) { >e.toUpperCase() : string > : ^^^^^^ >e.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >e : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } @@ -100,11 +100,11 @@ catch (e) { >e.toUpperCase() : string > : ^^^^^^ >e.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >e : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } diff --git a/tests/baselines/reference/controlFlowAliasingCatchVariables(useunknownincatchvariables=true).types b/tests/baselines/reference/controlFlowAliasingCatchVariables(useunknownincatchvariables=true).types index 4f9bf4af17a01..04c7b8693bf39 100644 --- a/tests/baselines/reference/controlFlowAliasingCatchVariables(useunknownincatchvariables=true).types +++ b/tests/baselines/reference/controlFlowAliasingCatchVariables(useunknownincatchvariables=true).types @@ -26,11 +26,11 @@ catch (e) { >e.toUpperCase() : string > : ^^^^^^ >e.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >e : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } if (typeof e === 'string') { @@ -47,11 +47,11 @@ catch (e) { >e.toUpperCase() : string > : ^^^^^^ >e.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >e : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } @@ -109,11 +109,11 @@ catch (e) { >e.toUpperCase() : string > : ^^^^^^ >e.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >e : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } diff --git a/tests/baselines/reference/controlFlowAnalysisOnBareThisKeyword.types b/tests/baselines/reference/controlFlowAnalysisOnBareThisKeyword.types index 597da341affcf..6995816c57e0e 100644 --- a/tests/baselines/reference/controlFlowAnalysisOnBareThisKeyword.types +++ b/tests/baselines/reference/controlFlowAnalysisOnBareThisKeyword.types @@ -20,7 +20,7 @@ function bigger(this: {}) { >isBig(this) : boolean > : ^^^^^^^ >isBig : (x: any) => x is { big: true; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : {} > : ^^ @@ -28,7 +28,7 @@ function bigger(this: {}) { >this.big : true > : ^^^^ >this : { big: true; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >big : true > : ^^^^ } diff --git a/tests/baselines/reference/controlFlowArrayErrors.types b/tests/baselines/reference/controlFlowArrayErrors.types index 162cba953fee8..67db9264a78a6 100644 --- a/tests/baselines/reference/controlFlowArrayErrors.types +++ b/tests/baselines/reference/controlFlowArrayErrors.types @@ -25,11 +25,11 @@ function f1() { >x.push(5) : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >5 : 5 > : ^ @@ -66,11 +66,11 @@ function f2() { >x.push(5) : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >5 : 5 > : ^ @@ -95,11 +95,11 @@ function f3() { >x.push(5) : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >5 : 5 > : ^ @@ -137,11 +137,11 @@ function f4() { >x.push(true) : number > : ^^^^^^ >x.push : (...items: (string | number)[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : (string | number)[] > : ^^^^^^^^^^^^^^^^^^^ >push : (...items: (string | number)[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >true : true > : ^^^^ } @@ -164,11 +164,11 @@ function f5() { >x.push(true) : number > : ^^^^^^ >x.push : (...items: (string | number)[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : (string | number)[] > : ^^^^^^^^^^^^^^^^^^^ >push : (...items: (string | number)[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >true : true > : ^^^^ } @@ -185,7 +185,7 @@ function f6() { >cond() : boolean > : ^^^^^^^ >cond : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ x = []; >x = [] : undefined[] @@ -199,11 +199,11 @@ function f6() { >x.push(5) : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >5 : 5 > : ^ @@ -211,11 +211,11 @@ function f6() { >x.push("hello") : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >"hello" : "hello" > : ^^^^^^^ } @@ -238,11 +238,11 @@ function f6() { >x.push(99) : number > : ^^^^^^ >x.push : ((...items: (string | number)[]) => number) | ((...items: boolean[]) => number) -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^ >x : (string | number)[] | boolean[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >push : ((...items: (string | number)[]) => number) | ((...items: boolean[]) => number) -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^ >99 : 99 > : ^^ } @@ -261,11 +261,11 @@ function f7() { >x.push(5) : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >5 : 5 > : ^ @@ -279,11 +279,11 @@ function f7() { >x.push("hello") : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >"hello" : "hello" > : ^^^^^^^ @@ -291,11 +291,11 @@ function f7() { >y.push("hello") : number > : ^^^^^^ >y.push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >y : number[] > : ^^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >"hello" : "hello" > : ^^^^^^^ } @@ -314,11 +314,11 @@ function f8() { >x.push(5) : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >5 : 5 > : ^ diff --git a/tests/baselines/reference/controlFlowArrays.types b/tests/baselines/reference/controlFlowArrays.types index 33c67c3967380..c50ef1874d31e 100644 --- a/tests/baselines/reference/controlFlowArrays.types +++ b/tests/baselines/reference/controlFlowArrays.types @@ -67,11 +67,11 @@ function f2() { >x.push(5) : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >5 : 5 > : ^ @@ -79,11 +79,11 @@ function f2() { >x.push("hello") : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >"hello" : "hello" > : ^^^^^^^ @@ -91,11 +91,11 @@ function f2() { >x.push(true) : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >true : true > : ^^^^ @@ -122,11 +122,11 @@ function f3() { >x.push(5, "hello") : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >5 : 5 > : ^ >"hello" : "hello" @@ -151,17 +151,17 @@ function f4() { >cond() : boolean > : ^^^^^^^ >cond : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ x.push(5); >x.push(5) : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >5 : 5 > : ^ } @@ -170,11 +170,11 @@ function f4() { >x.push("hello") : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >"hello" : "hello" > : ^^^^^^^ } @@ -194,7 +194,7 @@ function f5() { >cond() : boolean > : ^^^^^^^ >cond : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ x = []; >x = [] : never[] @@ -207,11 +207,11 @@ function f5() { >x.push(5) : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >5 : 5 > : ^ } @@ -227,11 +227,11 @@ function f5() { >x.push("hello") : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >"hello" : "hello" > : ^^^^^^^ } @@ -251,7 +251,7 @@ function f6() { >cond() : boolean > : ^^^^^^^ >cond : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ x = 5; >x = 5 : 5 @@ -272,11 +272,11 @@ function f6() { >x.push("hello") : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >"hello" : "hello" > : ^^^^^^^ } @@ -296,7 +296,7 @@ function f7() { >cond() : boolean > : ^^^^^^^ >cond : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ x = []; >x = [] : never[] @@ -309,17 +309,17 @@ function f7() { >cond() : boolean > : ^^^^^^^ >cond : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ x.push("hello"); >x.push("hello") : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >"hello" : "hello" > : ^^^^^^^ } @@ -343,11 +343,11 @@ function f8() { >x.push(5) : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >5 : 5 > : ^ @@ -355,7 +355,7 @@ function f8() { >cond() : boolean > : ^^^^^^^ >cond : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >x : number[] > : ^^^^^^^^ @@ -363,11 +363,11 @@ function f8() { >x.push("hello") : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >"hello" : "hello" > : ^^^^^^^ @@ -375,7 +375,7 @@ function f8() { >cond() : boolean > : ^^^^^^^ >cond : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >x : (string | number)[] > : ^^^^^^^^^^^^^^^^^^^ @@ -383,11 +383,11 @@ function f8() { >x.push(true) : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >true : true > : ^^^^ @@ -410,17 +410,17 @@ function f9() { >cond() : boolean > : ^^^^^^^ >cond : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ x.push(5); >x.push(5) : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >5 : 5 > : ^ @@ -433,11 +433,11 @@ function f9() { >x.push("hello") : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >"hello" : "hello" > : ^^^^^^^ @@ -461,17 +461,17 @@ function f10() { >cond() : boolean > : ^^^^^^^ >cond : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ x.push(true); >x.push(true) : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >true : true > : ^^^^ @@ -484,11 +484,11 @@ function f10() { >x.push(5) : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >5 : 5 > : ^ @@ -500,17 +500,17 @@ function f10() { >cond() : boolean > : ^^^^^^^ >cond : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ x.push("hello"); >x.push("hello") : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >"hello" : "hello" > : ^^^^^^^ } @@ -522,11 +522,11 @@ function f10() { >x.push(99) : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >99 : 99 > : ^^ @@ -561,11 +561,11 @@ function f11() { >x.push("hello") : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >"hello" : "hello" > : ^^^^^^^ } @@ -604,11 +604,11 @@ function f12() { >x.push("hello") : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >"hello" : "hello" > : ^^^^^^^ } @@ -631,11 +631,11 @@ function f13() { >x.push(5) : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >5 : 5 > : ^ @@ -643,11 +643,11 @@ function f13() { >x.push("hello") : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >"hello" : "hello" > : ^^^^^^^ @@ -655,11 +655,11 @@ function f13() { >x.push(true) : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >true : true > : ^^^^ @@ -682,11 +682,11 @@ function f14() { >x.push(5) : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >5 : 5 > : ^ @@ -694,11 +694,11 @@ function f14() { >x.push("hello") : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >"hello" : "hello" > : ^^^^^^^ @@ -706,11 +706,11 @@ function f14() { >x.push(true) : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >true : true > : ^^^^ @@ -733,23 +733,23 @@ function f15() { >cond() : boolean > : ^^^^^^^ >cond : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ while (cond()) {} >cond() : boolean > : ^^^^^^^ >cond : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ x.push("hello"); >x.push("hello") : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >"hello" : "hello" > : ^^^^^^^ } @@ -772,7 +772,7 @@ function f16() { >(x = [], x).push(5) : number > : ^^^^^^ >(x = [], x).push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >(x = [], x) : any[] > : ^^^^^ >x = [], x : any[] @@ -785,7 +785,7 @@ function f16() { >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >5 : 5 > : ^ @@ -793,7 +793,7 @@ function f16() { >(x.push("hello"), x).push(true) : number > : ^^^^^^ >(x.push("hello"), x).push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >(x.push("hello"), x) : any[] > : ^^^^^ >x.push("hello"), x : any[] @@ -801,17 +801,17 @@ function f16() { >x.push("hello") : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >"hello" : "hello" > : ^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >true : true > : ^^^^ @@ -853,11 +853,11 @@ function f17() { >x.unshift(5) : number > : ^^^^^^ >x.unshift : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >unshift : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >5 : 5 > : ^ @@ -865,11 +865,11 @@ function f17() { >x.unshift("hello") : number > : ^^^^^^ >x.unshift : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >unshift : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >"hello" : "hello" > : ^^^^^^^ @@ -877,11 +877,11 @@ function f17() { >x.unshift(true) : number > : ^^^^^^ >x.unshift : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >unshift : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >true : true > : ^^^^ @@ -904,11 +904,11 @@ function f18() { >x.push(5) : number > : ^^^^^^ >x.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >5 : 5 > : ^ @@ -916,11 +916,11 @@ function f18() { >x.unshift("hello") : number > : ^^^^^^ >x.unshift : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >x : any[] > : ^^^^^ >unshift : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >"hello" : "hello" > : ^^^^^^^ @@ -960,11 +960,11 @@ arr.push({ val: 1, bar: 2 }); >arr.push({ val: 1, bar: 2 }) : number > : ^^^^^^ >arr.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >arr : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >{ val: 1, bar: 2 } : { val: number; bar: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >val : number @@ -980,7 +980,7 @@ foo(arr); >foo(arr) : void > : ^^^^ >foo : (arg: { val: number; }[]) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >arr : { val: number; bar: number; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/controlFlowAssignmentExpression.types b/tests/baselines/reference/controlFlowAssignmentExpression.types index 633d13a47f644..67813ccfb0cf8 100644 --- a/tests/baselines/reference/controlFlowAssignmentExpression.types +++ b/tests/baselines/reference/controlFlowAssignmentExpression.types @@ -110,7 +110,7 @@ if ((o = fn()).done) { >fn() : D > : ^ >fn : () => D -> : ^^^^^^^ +> : ^^^^^^ >done : boolean > : ^^^^^^^ @@ -120,7 +120,7 @@ if ((o = fn()).done) { >o.value : 1 > : ^ >o : { done: true; value: 1; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^ >value : 1 > : ^ } diff --git a/tests/baselines/reference/controlFlowAssignmentPatternOrder.types b/tests/baselines/reference/controlFlowAssignmentPatternOrder.types index 43f8547bc7b29..11420b98ed71d 100644 --- a/tests/baselines/reference/controlFlowAssignmentPatternOrder.types +++ b/tests/baselines/reference/controlFlowAssignmentPatternOrder.types @@ -261,7 +261,7 @@ declare function f(): void; >f() : void > : ^^^^ >f : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ const bb: 0 = b; >bb : 0 @@ -314,7 +314,7 @@ declare function f(): void; >f() : void > : ^^^^ >f : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ const bb: 9 = b; >bb : 9 @@ -377,7 +377,7 @@ declare function f(): void; >f() : void > : ^^^^ >f : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ const bb: 0 | 8 = b; >bb : 0 | 8 @@ -438,7 +438,7 @@ declare function f(): void; >f() : void > : ^^^^ >f : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ const bb: 0 | 8 = b; >bb : 0 | 8 @@ -464,7 +464,7 @@ declare function f(): void; >f() : void > : ^^^^ >f : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >[{ [(a = 1)]: b } = [9, a] as const] = [] : [] > : ^^ >[{ [(a = 1)]: b } = [9, a] as const] : [readonly [9, 0]] @@ -519,7 +519,7 @@ declare function f(): void; >f() : void > : ^^^^ >f : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >[{ [a]: b } = [9, a = 0] as const] = [] : [] > : ^^ >[{ [a]: b } = [9, a = 0] as const] : [readonly [9, 0]] @@ -572,7 +572,7 @@ declare function f(): void; >f() : void > : ^^^^ >f : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >[{ [(a = 1)]: b } = [9, a] as const] = [[9, 8] as const] : [readonly [9, 8]] > : ^^^^^^^^^^^^^^^^^ >[{ [(a = 1)]: b } = [9, a] as const] : [readonly [9, 0]] @@ -635,7 +635,7 @@ declare function f(): void; >f() : void > : ^^^^ >f : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >[{ [a]: b } = [a = 0, 9] as const] = [[8, 9] as const] : [readonly [8, 9]] > : ^^^^^^^^^^^^^^^^^ >[{ [a]: b } = [a = 0, 9] as const] : [readonly [0, 9]] diff --git a/tests/baselines/reference/controlFlowBinaryOrExpression.types b/tests/baselines/reference/controlFlowBinaryOrExpression.types index 5541056557097..f55bbee8f7936 100644 --- a/tests/baselines/reference/controlFlowBinaryOrExpression.types +++ b/tests/baselines/reference/controlFlowBinaryOrExpression.types @@ -98,7 +98,7 @@ if (isNodeList(sourceObj)) { >isNodeList(sourceObj) : boolean > : ^^^^^^^ >isNodeList : (sourceObj: any) => sourceObj is NodeList -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sourceObj : EventTargetLike > : ^^^^^^^^^^^^^^^ @@ -115,7 +115,7 @@ if (isHTMLCollection(sourceObj)) { >isHTMLCollection(sourceObj) : boolean > : ^^^^^^^ >isHTMLCollection : (sourceObj: any) => sourceObj is HTMLCollection -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sourceObj : EventTargetLike > : ^^^^^^^^^^^^^^^ @@ -134,15 +134,15 @@ if (isNodeList(sourceObj) || isHTMLCollection(sourceObj)) { >isNodeList(sourceObj) : boolean > : ^^^^^^^ >isNodeList : (sourceObj: any) => sourceObj is NodeList -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sourceObj : EventTargetLike > : ^^^^^^^^^^^^^^^ >isHTMLCollection(sourceObj) : boolean > : ^^^^^^^ >isHTMLCollection : (sourceObj: any) => sourceObj is HTMLCollection -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sourceObj : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ sourceObj.length; >sourceObj.length : number diff --git a/tests/baselines/reference/controlFlowBindingElement.types b/tests/baselines/reference/controlFlowBindingElement.types index 8f92fbdf05d9b..f984a1a37c8f7 100644 --- a/tests/baselines/reference/controlFlowBindingElement.types +++ b/tests/baselines/reference/controlFlowBindingElement.types @@ -37,11 +37,11 @@ >console.log(param) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >param : string > : ^^^^^^ } diff --git a/tests/baselines/reference/controlFlowCaching.types b/tests/baselines/reference/controlFlowCaching.types index 329cd1bd43e2d..225b55887de69 100644 --- a/tests/baselines/reference/controlFlowCaching.types +++ b/tests/baselines/reference/controlFlowCaching.types @@ -431,19 +431,19 @@ function f(dim, offsets, arr, acommon, centerAnchorLimit, g, has, lin) { >Math.abs(Math.cos(rotation * Math.PI / 180)) : number > : ^^^^^^ >Math.abs : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >abs : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math.cos(rotation * Math.PI / 180) : number > : ^^^^^^ >Math.cos : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >cos : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >rotation * Math.PI / 180 : number > : ^^^^^^ >rotation * Math.PI : number @@ -465,19 +465,19 @@ function f(dim, offsets, arr, acommon, centerAnchorLimit, g, has, lin) { >Math.abs(Math.sin(rotation * Math.PI / 180)) : number > : ^^^^^^ >Math.abs : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >abs : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math.sin(rotation * Math.PI / 180) : number > : ^^^^^^ >Math.sin : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >sin : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >rotation * Math.PI / 180 : number > : ^^^^^^ >rotation * Math.PI : number @@ -580,11 +580,11 @@ function f(dim, offsets, arr, acommon, centerAnchorLimit, g, has, lin) { >Math.max(taMajorTick.length > 0 ? taMajorTick.length : 0, taMinorTick.length > 0 ? taMinorTick.length : 0) : number > : ^^^^^^ >Math.max : (...values: number[]) => number -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Math : Math > : ^^^^ >max : (...values: number[]) => number -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >taMajorTick.length > 0 ? taMajorTick.length : 0 : any >taMajorTick.length > 0 : boolean > : ^^^^^^^ diff --git a/tests/baselines/reference/controlFlowCommaExpressionAssertionMultiple.types b/tests/baselines/reference/controlFlowCommaExpressionAssertionMultiple.types index 99aa4265aa523..2a7944f623742 100644 --- a/tests/baselines/reference/controlFlowCommaExpressionAssertionMultiple.types +++ b/tests/baselines/reference/controlFlowCommaExpressionAssertionMultiple.types @@ -18,12 +18,12 @@ function func(foo: any, bar: any) { >Narrow(foo) : void > : ^^^^ >Narrow : (value: any) => asserts value is T -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >foo : any >Narrow(bar) : void > : ^^^^ >Narrow : (value: any) => asserts value is T -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >bar : any foo; @@ -50,17 +50,17 @@ function func2(foo: any, bar: any, baz: any) { >Narrow(foo) : void > : ^^^^ >Narrow : (value: any) => asserts value is T -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >foo : any >Narrow(bar) : void > : ^^^^ >Narrow : (value: any) => asserts value is T -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >bar : any >Narrow(baz) : void > : ^^^^ >Narrow : (value: any) => asserts value is T -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >baz : any foo; diff --git a/tests/baselines/reference/controlFlowCommaExpressionAssertionWithinTernary.types b/tests/baselines/reference/controlFlowCommaExpressionAssertionWithinTernary.types index 85d4b6ebf5309..3574de9476c81 100644 --- a/tests/baselines/reference/controlFlowCommaExpressionAssertionWithinTernary.types +++ b/tests/baselines/reference/controlFlowCommaExpressionAssertionWithinTernary.types @@ -34,7 +34,7 @@ function foo2(param: number | null | undefined): number | null { >assert(param !== undefined) : void > : ^^^^ >assert : (value: any) => asserts value -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >param !== undefined : boolean > : ^^^^^^^ >param : number | null diff --git a/tests/baselines/reference/controlFlowCommaExpressionFunctionCall.types b/tests/baselines/reference/controlFlowCommaExpressionFunctionCall.types index 333fe08881f03..cad474b3ad56b 100644 --- a/tests/baselines/reference/controlFlowCommaExpressionFunctionCall.types +++ b/tests/baselines/reference/controlFlowCommaExpressionFunctionCall.types @@ -29,7 +29,7 @@ if (isNumber((otherValue(), value))) { >isNumber((otherValue(), value)) : boolean > : ^^^^^^^ >isNumber : (obj: any) => obj is number -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(otherValue(), value) : string | number > : ^^^^^^^^^^^^^^^ >otherValue(), value : string | number diff --git a/tests/baselines/reference/controlFlowComputedPropertyNames.types b/tests/baselines/reference/controlFlowComputedPropertyNames.types index f8cb864a2438f..c58d908440607 100644 --- a/tests/baselines/reference/controlFlowComputedPropertyNames.types +++ b/tests/baselines/reference/controlFlowComputedPropertyNames.types @@ -27,7 +27,7 @@ function f1(obj: Record, key: string) { >obj[key].toUpperCase() : string > : ^^^^^^ >obj[key].toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >obj[key] : string > : ^^^^^^ >obj : Record @@ -35,7 +35,7 @@ function f1(obj: Record, key: string) { >key : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } @@ -63,7 +63,7 @@ function f2(obj: Record, key: string) { >obj[key].toUpperCase() : string > : ^^^^^^ >obj[key].toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >obj[key] : string > : ^^^^^^ >obj : Record @@ -71,7 +71,7 @@ function f2(obj: Record, key: string) { >key : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } let key2 = key + key; >key2 : string @@ -99,7 +99,7 @@ function f2(obj: Record, key: string) { >obj[key2].toUpperCase() : string > : ^^^^^^ >obj[key2].toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >obj[key2] : string > : ^^^^^^ >obj : Record @@ -107,7 +107,7 @@ function f2(obj: Record, key: string) { >key2 : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } const key3 = key + key; >key3 : string @@ -135,7 +135,7 @@ function f2(obj: Record, key: string) { >obj[key3].toUpperCase() : string > : ^^^^^^ >obj[key3].toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >obj[key3] : string > : ^^^^^^ >obj : Record @@ -143,7 +143,7 @@ function f2(obj: Record, key: string) { >key3 : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } @@ -195,7 +195,7 @@ function f3(obj: Thing, key: keyof Thing) { >obj[key].toUpperCase() : string > : ^^^^^^ >obj[key].toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >obj[key] : string > : ^^^^^^ >obj : Thing @@ -203,7 +203,7 @@ function f3(obj: Thing, key: keyof Thing) { >key : keyof Thing > : ^^^^^^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } if (typeof obj[key] === "number") { >typeof obj[key] === "number" : boolean @@ -223,7 +223,7 @@ function f3(obj: Thing, key: keyof Thing) { >obj[key].toFixed() : string > : ^^^^^^ >obj[key].toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >obj[key] : number > : ^^^^^^ >obj : Thing @@ -231,14 +231,14 @@ function f3(obj: Thing, key: keyof Thing) { >key : keyof Thing > : ^^^^^^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } } } function f4(obj: Record, key: K) { >f4 : (obj: Record, key: K) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >obj : Record > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >key : K @@ -256,7 +256,7 @@ function f4(obj: Record, key: K) { >obj[key].toUpperCase() : string > : ^^^^^^ >obj[key].toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >obj[key] : string > : ^^^^^^ >obj : Record @@ -264,7 +264,7 @@ function f4(obj: Record, key: K) { >key : K > : ^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } diff --git a/tests/baselines/reference/controlFlowDeleteOperator.types b/tests/baselines/reference/controlFlowDeleteOperator.types index bcdae1183326d..6991d009ae532 100644 --- a/tests/baselines/reference/controlFlowDeleteOperator.types +++ b/tests/baselines/reference/controlFlowDeleteOperator.types @@ -22,16 +22,16 @@ function f() { x.a; >x.a : string | number | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->x : { a?: string | number | undefined; b: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x : { a?: number | string; b: number | string; } +> : ^^^^^^ ^^^^^ ^^^ >a : string | number | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ x.b; >x.b : string | number > : ^^^^^^^^^^^^^^^ ->x : { a?: string | number | undefined; b: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x : { a?: number | string; b: number | string; } +> : ^^^^^^ ^^^^^ ^^^ >b : string | number > : ^^^^^^^^^^^^^^^ @@ -40,8 +40,8 @@ function f() { > : ^ >x.a : string | number | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->x : { a?: string | number | undefined; b: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x : { a?: number | string; b: number | string; } +> : ^^^^^^ ^^^^^ ^^^ >a : string | number | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >1 : 1 @@ -52,8 +52,8 @@ function f() { > : ^ >x.b : string | number > : ^^^^^^^^^^^^^^^ ->x : { a?: string | number | undefined; b: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x : { a?: number | string; b: number | string; } +> : ^^^^^^ ^^^^^ ^^^ >b : string | number > : ^^^^^^^^^^^^^^^ >1 : 1 @@ -62,16 +62,16 @@ function f() { x.a; >x.a : number > : ^^^^^^ ->x : { a?: string | number | undefined; b: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x : { a?: number | string; b: number | string; } +> : ^^^^^^ ^^^^^ ^^^ >a : number > : ^^^^^^ x.b; >x.b : number > : ^^^^^^ ->x : { a?: string | number | undefined; b: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x : { a?: number | string; b: number | string; } +> : ^^^^^^ ^^^^^ ^^^ >b : number > : ^^^^^^ @@ -80,8 +80,8 @@ function f() { > : ^^^^^^^ >x.a : number > : ^^^^^^ ->x : { a?: string | number | undefined; b: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x : { a?: number | string; b: number | string; } +> : ^^^^^^ ^^^^^ ^^^ >a : number > : ^^^^^^ @@ -90,38 +90,38 @@ function f() { > : ^^^^^^^ >x.b : number > : ^^^^^^ ->x : { a?: string | number | undefined; b: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x : { a?: number | string; b: number | string; } +> : ^^^^^^ ^^^^^ ^^^ >b : number > : ^^^^^^ x.a; >x.a : undefined > : ^^^^^^^^^ ->x : { a?: string | number | undefined; b: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x : { a?: number | string; b: number | string; } +> : ^^^^^^ ^^^^^ ^^^ >a : undefined > : ^^^^^^^^^ x.b; >x.b : string | number > : ^^^^^^^^^^^^^^^ ->x : { a?: string | number | undefined; b: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x : { a?: number | string; b: number | string; } +> : ^^^^^^ ^^^^^ ^^^ >b : string | number > : ^^^^^^^^^^^^^^^ x; ->x : { a?: string | number | undefined; b: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x : { a?: number | string; b: number | string; } +> : ^^^^^^ ^^^^^ ^^^ delete x; // No effect >delete x : boolean > : ^^^^^^^ ->x : { a?: string | number | undefined; b: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x : { a?: number | string; b: number | string; } +> : ^^^^^^ ^^^^^ ^^^ x; ->x : { a?: string | number | undefined; b: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x : { a?: number | string; b: number | string; } +> : ^^^^^^ ^^^^^ ^^^ } diff --git a/tests/baselines/reference/controlFlowDestructuringLoop.types b/tests/baselines/reference/controlFlowDestructuringLoop.types index f1c59033b302c..026ac5b4edae3 100644 --- a/tests/baselines/reference/controlFlowDestructuringLoop.types +++ b/tests/baselines/reference/controlFlowDestructuringLoop.types @@ -52,7 +52,7 @@ function foo(things: Val[]): void { >isNumVal(thing) : boolean > : ^^^^^^^ >isNumVal : (x: Val) => x is NumVal -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >thing : Val > : ^^^ @@ -66,11 +66,11 @@ function foo(things: Val[]): void { >val.toFixed(2) : string > : ^^^^^^ >val.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >val : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >2 : 2 > : ^ } diff --git a/tests/baselines/reference/controlFlowDestructuringParameters.types b/tests/baselines/reference/controlFlowDestructuringParameters.types index f24a4a31f1846..2b54cc5be2fab 100644 --- a/tests/baselines/reference/controlFlowDestructuringParameters.types +++ b/tests/baselines/reference/controlFlowDestructuringParameters.types @@ -8,7 +8,7 @@ >[{ x: 1 }].map( ({ x }) => x) : number[] > : ^^^^^^^^ >[{ x: 1 }].map : (callbackfn: (value: { x: number; }, index: number, array: { x: number; }[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >[{ x: 1 }] : { x: number; }[] > : ^^^^^^^^^^^^^^^^ >{ x: 1 } : { x: number; } @@ -18,7 +18,7 @@ >1 : 1 > : ^ >map : (callbackfn: (value: { x: number; }, index: number, array: { x: number; }[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ({ x }) => x >({ x }) => x : ({ x }: { x: number; }) => number diff --git a/tests/baselines/reference/controlFlowDestructuringVariablesInTryCatch.types b/tests/baselines/reference/controlFlowDestructuringVariablesInTryCatch.types index c9b93883967eb..d6de3df9f4fa5 100644 --- a/tests/baselines/reference/controlFlowDestructuringVariablesInTryCatch.types +++ b/tests/baselines/reference/controlFlowDestructuringVariablesInTryCatch.types @@ -22,7 +22,7 @@ try { >f1() : string > : ^^^^^^ >f1 : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var [b] = f2(); >b : string @@ -30,15 +30,15 @@ try { >f2() : [b: string] > : ^^^^^^^^^^^ >f2 : () => [b: string] -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var { c } = f3(); >c : string > : ^^^^^^ >f3() : { c: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >f3 : () => { c: string; } -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var [d = 1] = []; >d : number @@ -61,11 +61,11 @@ try { >console.error("error") : void > : ^^^^ >console.error : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >error : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"error" : "error" > : ^^^^^^^ } diff --git a/tests/baselines/reference/controlFlowElementAccess.types b/tests/baselines/reference/controlFlowElementAccess.types index 21d9d1f9c47c1..2dc3216c8dfe0 100644 --- a/tests/baselines/reference/controlFlowElementAccess.types +++ b/tests/baselines/reference/controlFlowElementAccess.types @@ -19,7 +19,7 @@ if (x['o'] === false) { >x['o'] : boolean > : ^^^^^^^ >x : { o: boolean; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >'o' : "o" > : ^^^ >false : false @@ -31,7 +31,7 @@ if (x['o'] === false) { >x['o'] : boolean > : ^^^^^^^ >x : { o: boolean; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >'o' : "o" > : ^^^ >true : true diff --git a/tests/baselines/reference/controlFlowElementAccess2.types b/tests/baselines/reference/controlFlowElementAccess2.types index 265f65536538d..aeea74a24f40e 100644 --- a/tests/baselines/reference/controlFlowElementAccess2.types +++ b/tests/baselines/reference/controlFlowElementAccess2.types @@ -19,9 +19,9 @@ if (typeof config['works'] !== 'boolean') { >typeof config['works'] : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >config['works'] : boolean | { prop: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^ >config : { [key: string]: boolean | { prop: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >'works' : "works" > : ^^^^^^^ >'boolean' : "boolean" @@ -33,11 +33,11 @@ if (typeof config['works'] !== 'boolean') { >config.works.prop : string > : ^^^^^^ >config.works : { prop: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >config : { [key: string]: boolean | { prop: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >works : { prop: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >prop : string > : ^^^^^^ >'test' : "test" @@ -49,9 +49,9 @@ if (typeof config['works'] !== 'boolean') { >config['works'].prop : string > : ^^^^^^ >config['works'] : { prop: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >config : { [key: string]: boolean | { prop: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >'works' : "works" > : ^^^^^^^ >prop : string @@ -65,11 +65,11 @@ if (typeof config.works !== 'boolean') { >typeof config.works : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >config.works : boolean | { prop: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^ >config : { [key: string]: boolean | { prop: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >works : boolean | { prop: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^ >'boolean' : "boolean" > : ^^^^^^^^^ @@ -79,9 +79,9 @@ if (typeof config.works !== 'boolean') { >config['works'].prop : string > : ^^^^^^ >config['works'] : { prop: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >config : { [key: string]: boolean | { prop: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >'works' : "works" > : ^^^^^^^ >prop : string @@ -95,11 +95,11 @@ if (typeof config.works !== 'boolean') { >config.works.prop : string > : ^^^^^^ >config.works : { prop: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >config : { [key: string]: boolean | { prop: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >works : { prop: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >prop : string > : ^^^^^^ >'test' : "test" diff --git a/tests/baselines/reference/controlFlowFavorAssertedTypeThroughTypePredicate.types b/tests/baselines/reference/controlFlowFavorAssertedTypeThroughTypePredicate.types index 91c2454a13057..2c5d35debc45e 100644 --- a/tests/baselines/reference/controlFlowFavorAssertedTypeThroughTypePredicate.types +++ b/tests/baselines/reference/controlFlowFavorAssertedTypeThroughTypePredicate.types @@ -17,7 +17,7 @@ if (isObject1(obj1)) { >isObject1(obj1) : boolean > : ^^^^^^^ >isObject1 : (value: unknown) => value is Record -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >obj1 : {} > : ^^ @@ -46,7 +46,7 @@ if (isObject1(obj2)) { >isObject1(obj2) : boolean > : ^^^^^^^ >isObject1 : (value: unknown) => value is Record -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >obj2 : {} | undefined > : ^^^^^^^^^^^^^^ @@ -81,7 +81,7 @@ if (isObject2(obj3)) { >isObject2(obj3) : boolean > : ^^^^^^^ >isObject2 : (value: unknown) => value is {} -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >obj3 : Record > : ^^^^^^^^^^^^^^^^^^^^^^^ @@ -110,7 +110,7 @@ if (isObject2(obj4)) { >isObject2(obj4) : boolean > : ^^^^^^^ >isObject2 : (value: unknown) => value is {} -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >obj4 : Record | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/controlFlowFinallyNoCatchAssignments.types b/tests/baselines/reference/controlFlowFinallyNoCatchAssignments.types index 10dc2a7fd0f0c..5ca27e6ae187a 100644 --- a/tests/baselines/reference/controlFlowFinallyNoCatchAssignments.types +++ b/tests/baselines/reference/controlFlowFinallyNoCatchAssignments.types @@ -13,11 +13,11 @@ x = Math.random(); >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ let a: number; >a : number @@ -50,11 +50,11 @@ try { >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : number > : ^^^^^^ } @@ -63,11 +63,11 @@ console.log(a); // <- error here >console.log(a) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >a : number > : ^^^^^^ diff --git a/tests/baselines/reference/controlFlowForCatchAndFinally.types b/tests/baselines/reference/controlFlowForCatchAndFinally.types index 486e23c07891a..8a1c836bb1556 100644 --- a/tests/baselines/reference/controlFlowForCatchAndFinally.types +++ b/tests/baselines/reference/controlFlowForCatchAndFinally.types @@ -52,7 +52,7 @@ async function test(): Promise { >test1() : Promise > : ^^^^^^^^^^^^^^^^ >test1 : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ page = await test2(browser); >page = await test2(browser) : Page @@ -64,7 +64,7 @@ async function test(): Promise { >test2(browser) : Promise > : ^^^^^^^^^^^^^ >test2 : (obj: Browser) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >browser : Browser > : ^^^^^^^ @@ -74,11 +74,11 @@ async function test(): Promise { >page.content() : Promise > : ^^^^^^^^^^^^^^^ >page.content : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >page : Page > : ^^^^ >content : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ } finally { if (page) { @@ -91,11 +91,11 @@ async function test(): Promise { >page.close() : Promise > : ^^^^^^^^^^^^^ >page.close : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >page : Page > : ^^^^ >close : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ } if (browser) { @@ -108,11 +108,11 @@ async function test(): Promise { >browser.close() : Promise > : ^^^^^^^^^^^^^ >browser.close : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >browser : Browser > : ^^^^^^^ >close : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ } } } @@ -153,7 +153,7 @@ class Foo { >this.abortController.abort() : void > : ^^^^ >this.abortController.abort : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >this.abortController : Aborter > : ^^^^^^^ >this : this @@ -161,7 +161,7 @@ class Foo { >abortController : Aborter > : ^^^^^^^ >abort : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ this.abortController = undefined; >this.abortController = undefined : undefined @@ -210,7 +210,7 @@ class Foo { >this.abortController.abort() : void > : ^^^^ >this.abortController.abort : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >this.abortController : Aborter > : ^^^^^^^ >this : this @@ -218,7 +218,7 @@ class Foo { >abortController : Aborter > : ^^^^^^^ >abort : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } } } diff --git a/tests/baselines/reference/controlFlowForOfStatement.types b/tests/baselines/reference/controlFlowForOfStatement.types index 0f1503f0c7761..3b37414eec35c 100644 --- a/tests/baselines/reference/controlFlowForOfStatement.types +++ b/tests/baselines/reference/controlFlowForOfStatement.types @@ -35,11 +35,11 @@ function a() { >x.toExponential() : string > : ^^^^^^ >x.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } x; // string | boolean >x : string | true diff --git a/tests/baselines/reference/controlFlowForStatement.types b/tests/baselines/reference/controlFlowForStatement.types index 623ac047ccc7b..e7c7ce4f36c71 100644 --- a/tests/baselines/reference/controlFlowForStatement.types +++ b/tests/baselines/reference/controlFlowForStatement.types @@ -97,11 +97,11 @@ function c() { >x.toExponential() : string > : ^^^^^^ >x.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x = 5 : 5 > : ^ >x : string | number | boolean diff --git a/tests/baselines/reference/controlFlowGenericTypes.types b/tests/baselines/reference/controlFlowGenericTypes.types index 3f578bf197e41..2aedc363b070a 100644 --- a/tests/baselines/reference/controlFlowGenericTypes.types +++ b/tests/baselines/reference/controlFlowGenericTypes.types @@ -3,7 +3,7 @@ === controlFlowGenericTypes.ts === function f1(x: T, y: { a: T }, z: [T]): string { >f1 : (x: T, y: { a: T; }, z: [T]) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T > : ^ >y : { a: T; } @@ -37,7 +37,7 @@ function f1(x: T, y: { a: T }, z: [T]): string { >y.a : T > : ^ >y : { a: T; } -> : ^^^^^^^^^ +> : ^^^^^ ^^^ >a : T > : ^ @@ -47,7 +47,7 @@ function f1(x: T, y: { a: T }, z: [T]): string { >y.a : string > : ^^^^^^ >y : { a: T; } -> : ^^^^^^^^^ +> : ^^^^^ ^^^ >a : string > : ^^^^^^ >length : number @@ -57,7 +57,7 @@ function f1(x: T, y: { a: T }, z: [T]): string { >y.a : string > : ^^^^^^ >y : { a: T; } -> : ^^^^^^^^^ +> : ^^^^^ ^^^ >a : string > : ^^^^^^ } @@ -151,7 +151,7 @@ declare function unbox(x: Box): T; function g1 | undefined>(x: T) { >g1 : | undefined>(x: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ @@ -159,7 +159,7 @@ function g1 | undefined>(x: T) { >isBox(x) : boolean > : ^^^^^^^ >isBox : (x: any) => x is Box -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : Box | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -167,7 +167,7 @@ function g1 | undefined>(x: T) { >unbox(x) : T > : ^ >unbox : (x: Box) => T_1 -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : Box > : ^^^^^^ } @@ -175,7 +175,7 @@ function g1 | undefined>(x: T) { function g2 | undefined>(x: T) { >g2 : | undefined>(x: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ @@ -185,7 +185,7 @@ function g2 | undefined>(x: T) { >isUndefined(x) : boolean > : ^^^^^^^ >isUndefined : (x: unknown) => x is undefined -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : Box | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -193,7 +193,7 @@ function g2 | undefined>(x: T) { >unbox(x) : T > : ^ >unbox : (x: Box) => T_1 -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : Box > : ^^^^^^ } @@ -201,7 +201,7 @@ function g2 | undefined>(x: T) { function g3 | undefined>(x: T) { >g3 : | undefined>(x: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ @@ -211,7 +211,7 @@ function g3 | undefined>(x: T) { >isBox(x) : boolean > : ^^^^^^^ >isBox : (x: any) => x is Box -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : Box | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -219,7 +219,7 @@ function g3 | undefined>(x: T) { >unbox(x) : T > : ^ >unbox : (x: Box) => T_1 -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : undefined > : ^^^^^^^^^ } @@ -227,7 +227,7 @@ function g3 | undefined>(x: T) { function g4 | undefined>(x: T) { >g4 : | undefined>(x: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ @@ -235,7 +235,7 @@ function g4 | undefined>(x: T) { >isUndefined(x) : boolean > : ^^^^^^^ >isUndefined : (x: unknown) => x is undefined -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : Box | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -243,7 +243,7 @@ function g4 | undefined>(x: T) { >unbox(x) : unknown > : ^^^^^^^ >unbox : (x: Box) => T_1 -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : undefined > : ^^^^^^^^^ } @@ -259,7 +259,7 @@ declare function takeA(val: 'A'): void; export function bounceAndTakeIfA(value: AB): AB { >bounceAndTakeIfA : (value: AB) => AB -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >value : AB > : ^^ @@ -275,7 +275,7 @@ export function bounceAndTakeIfA(value: AB): AB { >takeA(value) : void > : ^^^^ >takeA : (val: "A") => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >value : "A" > : ^^^ @@ -376,9 +376,9 @@ const fn = (value: MyUnion) => { const fn2 = (value: T): MyUnion => { >fn2 : (value: T) => MyUnion -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(value: T): MyUnion => { value.foo; // Error if ('foo' in value) { value.foo; } if (value.tag === 'B') { value.foo; }} : (value: T) => MyUnion -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >value : T > : ^ @@ -462,7 +462,7 @@ type Union = A1 | B1 function notWorking(object: T) { >notWorking : (object: T) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >object : T > : ^ @@ -480,11 +480,11 @@ function notWorking(object: T) { >object.doTest() : void > : ^^^^ >object.doTest : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >object : A1 > : ^^ >doTest : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } // Repro from #42939 @@ -497,8 +497,8 @@ interface A { }; function get(key: K, obj: A): number { ->get : (key: K, obj: A) => number -> : ^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +>get : (key: K, obj: A) => number +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >key : K > : ^ >obj : A @@ -538,13 +538,13 @@ class EventEmitter { off(...args: [K, number] | [unknown, string]):void {} >off : (...args: [K, number] | [unknown, string]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >args : [K, number] | [unknown, string] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } function once>(emittingObject: T, eventName: keyof ET): void { >once : >(emittingObject: T, eventName: keyof ET) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >emittingObject : T > : ^ >eventName : keyof ET @@ -554,11 +554,11 @@ function once>(emittingObject: T, eventName: keyo >emittingObject.off(eventName, 0) : void > : ^^^^ >emittingObject.off : (...args: [unknown, string] | [K, number]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >emittingObject : T > : ^ >off : (...args: [unknown, string] | [K, number]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >eventName : keyof ET > : ^^^^^^^^ >0 : 0 @@ -568,11 +568,11 @@ function once>(emittingObject: T, eventName: keyo >emittingObject.off(eventName as typeof eventName, 0) : void > : ^^^^ >emittingObject.off : (...args: [unknown, string] | [K, number]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >emittingObject : T > : ^ >off : (...args: [unknown, string] | [K, number]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >eventName as typeof eventName : keyof ET > : ^^^^^^^^ >eventName : keyof ET @@ -589,7 +589,7 @@ function once>(emittingObject: T, eventName: keyo function fx1(obj: T, key: K) { >fx1 : (obj: T, key: K) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >obj : T > : ^ >key : K @@ -622,7 +622,7 @@ function fx1(obj: T, key: K) { function fx2, K extends keyof T>(obj: T, key: K) { >fx2 : , K extends keyof T>(obj: T, key: K) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >obj : T > : ^ >key : K @@ -655,7 +655,7 @@ function fx2, K extends keyof T>(obj: T, key: function fx3 | undefined, K extends keyof T>(obj: T, key: K) { >fx3 : | undefined, K extends keyof T>(obj: T, key: K) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >obj : T > : ^ >key : K @@ -762,7 +762,7 @@ class TableBaseEnum< function f10(x: T, y: Partial) { >f10 : (x: T, y: Partial) => void -> : ^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >a : string > : ^^^^^^ >x : T @@ -803,11 +803,11 @@ class SqlTable { >this.validateRow(row) : void > : ^^^^ >this.validateRow : (_row: Partial>) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >validateRow : (_row: Partial>) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >row : SqlInsertSet > : ^^^^^^^^^^^^^^^ } @@ -841,7 +841,7 @@ type Control = Button | Checkbox; function update(control : T | undefined, key: K, value: T[K]): void { >update : (control: T | undefined, key: K, value: T[K]) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >control : T | undefined > : ^^^^^^^^^^^^^ >key : K @@ -884,19 +884,19 @@ type Column = (keyof T extends never ? { id?: number | string } : { id: T }) > : ^^^^^^^^^^^^^^^^^^ function getColumnProperty(column: Column, key: keyof Column) { ->getColumnProperty : (column: Column, key: keyof Column) => Column["title" | keyof (keyof T extends never ? { id?: string | number | undefined; } : { id: T; })] -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getColumnProperty : (column: Column, key: keyof Column) => Column["title" | keyof (keyof T extends never ? { id?: number | string; } : { id: T; })] +> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ >column : Column > : ^^^^^^^^^ ->key : "title" | keyof (keyof T extends never ? { id?: string | number | undefined; } : { id: T; }) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>key : "title" | keyof (keyof T extends never ? { id?: number | string; } : { id: T; }) +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ return column[key]; ->column[key] : Column["title" | keyof (keyof T extends never ? { id?: string | number | undefined; } : { id: T; })] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>column[key] : Column["title" | keyof (keyof T extends never ? { id?: number | string; } : { id: T; })] +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ >column : Column > : ^^^^^^^^^ ->key : "title" | keyof (keyof T extends never ? { id?: string | number | undefined; } : { id: T; }) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>key : "title" | keyof (keyof T extends never ? { id?: number | string; } : { id: T; }) +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/controlFlowIIFE.types b/tests/baselines/reference/controlFlowIIFE.types index d15212a9eea5f..9ba8fede40549 100644 --- a/tests/baselines/reference/controlFlowIIFE.types +++ b/tests/baselines/reference/controlFlowIIFE.types @@ -15,7 +15,7 @@ function f1() { >getStringOrNumber() : string | number > : ^^^^^^^^^^^^^^^ >getStringOrNumber : () => string | number -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ if (typeof x === "string") { >typeof x === "string" : boolean @@ -57,7 +57,7 @@ function f2() { >getStringOrNumber() : string | number > : ^^^^^^^^^^^^^^^ >getStringOrNumber : () => string | number -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ if (typeof x === "string") { >typeof x === "string" : boolean @@ -101,7 +101,7 @@ function f3() { >getStringOrNumber() : string | number > : ^^^^^^^^^^^^^^^ >getStringOrNumber : () => string | number -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ let y: number; >y : number @@ -225,11 +225,11 @@ if (!test) { >test.slice(1) : string > : ^^^^^^ >test.slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >test : string > : ^^^^^^ >slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/controlFlowIfStatement.types b/tests/baselines/reference/controlFlowIfStatement.types index 6be9fab7f96a7..823f3de5f6795 100644 --- a/tests/baselines/reference/controlFlowIfStatement.types +++ b/tests/baselines/reference/controlFlowIfStatement.types @@ -151,11 +151,11 @@ function c(data: string | T): T { return JSON.parse(data); >JSON.parse(data) : any >JSON.parse : (text: string, reviver?: (this: any, key: string, value: any) => any) => any -> : ^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >JSON : JSON > : ^^^^ >parse : (text: string, reviver?: (this: any, key: string, value: any) => any) => any -> : ^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >data : string | (T & string) > : ^^^^^^^^^^^^^^^^^^^^^ } @@ -167,7 +167,7 @@ function c(data: string | T): T { } function d(data: string | T): never { >d : (data: string | T) => never -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >data : string | T > : ^^^^^^^^^^ diff --git a/tests/baselines/reference/controlFlowInitializedDestructuringVariables.types b/tests/baselines/reference/controlFlowInitializedDestructuringVariables.types index 68658c307e899..599a64b0e552e 100644 --- a/tests/baselines/reference/controlFlowInitializedDestructuringVariables.types +++ b/tests/baselines/reference/controlFlowInitializedDestructuringVariables.types @@ -25,6 +25,6 @@ const { > : ^^^^^^ } = obj; ->obj : { a?: string | undefined; b?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj : { a?: string; b?: number; } +> : ^^^^^^ ^^^^^^ ^^^ diff --git a/tests/baselines/reference/controlFlowInstanceOfGuardPrimitives.types b/tests/baselines/reference/controlFlowInstanceOfGuardPrimitives.types index 35f11aa26d82a..b5fe3b2bea007 100644 --- a/tests/baselines/reference/controlFlowInstanceOfGuardPrimitives.types +++ b/tests/baselines/reference/controlFlowInstanceOfGuardPrimitives.types @@ -19,11 +19,11 @@ function distinguish(thing: string | number | Date) { >console.log("Aha!! It's a Date in " + thing.getFullYear()) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"Aha!! It's a Date in " + thing.getFullYear() : string > : ^^^^^^ >"Aha!! It's a Date in " : "Aha!! It's a Date in " @@ -31,11 +31,11 @@ function distinguish(thing: string | number | Date) { >thing.getFullYear() : number > : ^^^^^^ >thing.getFullYear : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >thing : Date > : ^^^^ >getFullYear : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } else if (typeof thing === 'string') { >typeof thing === 'string' : boolean @@ -51,11 +51,11 @@ function distinguish(thing: string | number | Date) { >console.log("Aha!! It's a string of length " + thing.length) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"Aha!! It's a string of length " + thing.length : string > : ^^^^^^ >"Aha!! It's a string of length " : "Aha!! It's a string of length " @@ -72,11 +72,11 @@ function distinguish(thing: string | number | Date) { >console.log("Aha!! It's the number " + thing.toPrecision(3)) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"Aha!! It's the number " + thing.toPrecision(3) : string > : ^^^^^^ >"Aha!! It's the number " : "Aha!! It's the number " @@ -84,11 +84,11 @@ function distinguish(thing: string | number | Date) { >thing.toPrecision(3) : string > : ^^^^^^ >thing.toPrecision : (precision?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >thing : number > : ^^^^^^ >toPrecision : (precision?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >3 : 3 > : ^ } diff --git a/tests/baselines/reference/controlFlowInstanceof.types b/tests/baselines/reference/controlFlowInstanceof.types index 848a6379e58d0..fc2fe6c36b20b 100644 --- a/tests/baselines/reference/controlFlowInstanceof.types +++ b/tests/baselines/reference/controlFlowInstanceof.types @@ -369,7 +369,7 @@ if (x instanceof ctor) { >x instanceof ctor : boolean > : ^^^^^^^ >x : (() => void) | null -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ >ctor : Function > : ^^^^^^^^ @@ -377,7 +377,7 @@ if (x instanceof ctor) { >x() : void > : ^^^^ >x : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } // Repro from #27550 (based on uglify code) diff --git a/tests/baselines/reference/controlFlowInstanceofExtendsFunction.types b/tests/baselines/reference/controlFlowInstanceofExtendsFunction.types index 9fb770b53c71d..f2b23c882609b 100644 --- a/tests/baselines/reference/controlFlowInstanceofExtendsFunction.types +++ b/tests/baselines/reference/controlFlowInstanceofExtendsFunction.types @@ -16,7 +16,7 @@ Function.prototype.now = function () { >Function.prototype.now = function () { return "now"} : () => string > : ^^^^^^^^^^^^ >Function.prototype.now : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Function.prototype : Function > : ^^^^^^^^ >Function : FunctionConstructor @@ -24,7 +24,7 @@ Function.prototype.now = function () { >prototype : Function > : ^^^^^^^^ >now : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >function () { return "now"} : () => string > : ^^^^^^^^^^^^ @@ -63,11 +63,11 @@ console.log(X.now()) // works as expected >console.log(X.now()) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >X.now() : {} > : ^^ >X.now : () => {} @@ -81,19 +81,19 @@ console.log(Y.now()) // works as expected >console.log(Y.now()) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Y.now() : string > : ^^^^^^ >Y.now : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Y : typeof Y > : ^^^^^^^^ >now : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ export const x: X | number = Math.random() > 0.5 ? new X() : 1 >x : number | X @@ -105,11 +105,11 @@ export const x: X | number = Math.random() > 0.5 ? new X() : 1 >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ >new X() : X diff --git a/tests/baselines/reference/controlFlowInstanceofWithSymbolHasInstance.types b/tests/baselines/reference/controlFlowInstanceofWithSymbolHasInstance.types index c4e34facc4c08..d980a88e871a9 100644 --- a/tests/baselines/reference/controlFlowInstanceofWithSymbolHasInstance.types +++ b/tests/baselines/reference/controlFlowInstanceofWithSymbolHasInstance.types @@ -225,9 +225,9 @@ class A { return Function.prototype[Symbol.hasInstance].call(this, value); >Function.prototype[Symbol.hasInstance].call(this, value) : any >Function.prototype[Symbol.hasInstance].call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >Function.prototype[Symbol.hasInstance] : (value: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Function.prototype : Function > : ^^^^^^^^ >Function : FunctionConstructor @@ -241,7 +241,7 @@ class A { >hasInstance : unique symbol > : ^^^^^^^^^^^^^ >call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >this : T > : ^ >value : unknown diff --git a/tests/baselines/reference/controlFlowIterationErrors.types b/tests/baselines/reference/controlFlowIterationErrors.types index b6ceced9af7bd..e2dfb736eae9c 100644 --- a/tests/baselines/reference/controlFlowIterationErrors.types +++ b/tests/baselines/reference/controlFlowIterationErrors.types @@ -104,13 +104,13 @@ function f2() { declare function foo(x: string): number; >foo : { (x: string): number; (x: number): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ declare function foo(x: number): string; >foo : { (x: string): number; (x: number): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ @@ -142,7 +142,7 @@ function g1() { >foo(x) : never > : ^^^^^ >foo : { (x: string): number; (x: number): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string | number > : ^^^^^^^^^^^^^^^ @@ -187,7 +187,7 @@ function g2() { >foo(x) : never > : ^^^^^ >foo : { (x: string): number; (x: number): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string | number > : ^^^^^^^^^^^^^^^ } @@ -279,7 +279,7 @@ function h2() { >asNumber(x) : number > : ^^^^^^ >asNumber : (x: string | number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string | number > : ^^^^^^^^^^^^^^^ >1 : 1 @@ -317,7 +317,7 @@ function h3() { >asNumber(x) : number > : ^^^^^^ >asNumber : (x: string | number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string | number > : ^^^^^^^^^^^^^^^ @@ -369,7 +369,7 @@ function h4() { >asNumber(x) : number > : ^^^^^^ >asNumber : (x: string | number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string | number > : ^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/controlFlowIterationErrorsAsync.types b/tests/baselines/reference/controlFlowIterationErrorsAsync.types index 5bf69affba071..4f37f34a2ebbc 100644 --- a/tests/baselines/reference/controlFlowIterationErrorsAsync.types +++ b/tests/baselines/reference/controlFlowIterationErrorsAsync.types @@ -108,13 +108,13 @@ async function f2() { declare function foo(x: string): Promise; >foo : { (x: string): Promise; (x: number): Promise; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ declare function foo(x: number): Promise; >foo : { (x: string): Promise; (x: number): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ @@ -148,7 +148,7 @@ async function g1() { >foo(x) : Promise & Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : { (x: string): Promise; (x: number): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string | number > : ^^^^^^^^^^^^^^^ @@ -195,7 +195,7 @@ async function g2() { >foo(x) : Promise & Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : { (x: string): Promise; (x: number): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string | number > : ^^^^^^^^^^^^^^^ } @@ -289,7 +289,7 @@ async function h2() { >asNumber(x) : Promise > : ^^^^^^^^^^^^^^^ >asNumber : (x: string | number) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string | number > : ^^^^^^^^^^^^^^^ >1 : 1 @@ -329,7 +329,7 @@ async function h3() { >asNumber(x) : Promise > : ^^^^^^^^^^^^^^^ >asNumber : (x: string | number) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string | number > : ^^^^^^^^^^^^^^^ @@ -383,7 +383,7 @@ async function h4() { >asNumber(x) : Promise > : ^^^^^^^^^^^^^^^ >asNumber : (x: string | number) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string | number > : ^^^^^^^^^^^^^^^ @@ -499,7 +499,7 @@ async () => { >foox(bar) : Promise > : ^^^^^^^^^^^^^^^ >foox : (x: string | undefined) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -546,11 +546,11 @@ async function myFunc(): Promise { >entities : number[] > : ^^^^^^^^ >await myQuery({ lastId, }) : { entities: number[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ >myQuery({ lastId, }) : Promise<{ entities: number[]; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^ ^^^^ >myQuery : (input: { lastId: number | undefined; }) => Promise<{ entities: number[]; }> -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ lastId, } : { lastId: number | undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/controlFlowLoopAnalysis.types b/tests/baselines/reference/controlFlowLoopAnalysis.types index b6e3526fed1f3..30caab5676ccf 100644 --- a/tests/baselines/reference/controlFlowLoopAnalysis.types +++ b/tests/baselines/reference/controlFlowLoopAnalysis.types @@ -43,7 +43,7 @@ function test1() { >foo(x) : number > : ^^^^^^ >foo : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : number | undefined > : ^^^^^^^^^^^^^^^^^^ } @@ -92,7 +92,7 @@ function test2() { >foo(x) : number > : ^^^^^^ >foo : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : number > : ^^^^^^ } @@ -170,7 +170,7 @@ function mapUntilCant( >canTake(value, index) : boolean > : ^^^^^^^ >canTake : (value: a, index: number) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >value : a > : ^ >index : number @@ -180,15 +180,15 @@ function mapUntilCant( >result.push(mapping(value, index)) : number > : ^^^^^^ >result.push : (...items: b[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^ >result : b[] > : ^^^ >push : (...items: b[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^ >mapping(value, index) : b > : ^ >mapping : (value: a, index: number) => b -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >value : a > : ^ >index : number diff --git a/tests/baselines/reference/controlFlowManyCallExpressionStatementsPerf.types b/tests/baselines/reference/controlFlowManyCallExpressionStatementsPerf.types index 30cab592d76eb..40942dd9a71e3 100644 --- a/tests/baselines/reference/controlFlowManyCallExpressionStatementsPerf.types +++ b/tests/baselines/reference/controlFlowManyCallExpressionStatementsPerf.types @@ -23,7 +23,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -35,7 +35,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -47,7 +47,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -59,7 +59,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -71,7 +71,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -83,7 +83,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -95,7 +95,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -107,7 +107,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -119,7 +119,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -131,7 +131,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -143,7 +143,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -155,7 +155,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -167,7 +167,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -179,7 +179,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -191,7 +191,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -203,7 +203,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -215,7 +215,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -227,7 +227,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -239,7 +239,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -251,7 +251,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -263,7 +263,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -275,7 +275,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -287,7 +287,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -299,7 +299,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -311,7 +311,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -323,7 +323,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -335,7 +335,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -347,7 +347,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -359,7 +359,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -371,7 +371,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -383,7 +383,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -395,7 +395,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -407,7 +407,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -419,7 +419,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -431,7 +431,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -443,7 +443,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -455,7 +455,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -467,7 +467,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -479,7 +479,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -491,7 +491,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -503,7 +503,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -515,7 +515,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -527,7 +527,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -539,7 +539,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -551,7 +551,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -563,7 +563,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -575,7 +575,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -587,7 +587,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -599,7 +599,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -611,7 +611,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -623,7 +623,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -635,7 +635,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -647,7 +647,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -659,7 +659,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -671,7 +671,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true @@ -683,7 +683,7 @@ if (state) { >test(state as any && state) : boolean > : ^^^^^^^ >test : (x: boolean) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >state as any && state : any >state as any : any >state : true diff --git a/tests/baselines/reference/controlFlowNullTypeAndLiteral.types b/tests/baselines/reference/controlFlowNullTypeAndLiteral.types index 6347be4f16bb1..f6ef549f10e95 100644 --- a/tests/baselines/reference/controlFlowNullTypeAndLiteral.types +++ b/tests/baselines/reference/controlFlowNullTypeAndLiteral.types @@ -42,7 +42,7 @@ if (objWithValMaybeNull.val !== null) >objWithValMaybeNull.val : number | null > : ^^^^^^^^^^^^^ >objWithValMaybeNull : { val: number | null; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >val : number | null > : ^^^^^^^^^^^^^ @@ -54,7 +54,7 @@ if (objWithValMaybeNull.val !== null) >objWithValMaybeNull.val : number > : ^^^^^^ >objWithValMaybeNull : { val: number | null; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >val : number > : ^^^^^^ @@ -64,7 +64,7 @@ if (objWithValMaybeNull.val !== myNull) >objWithValMaybeNull.val : number | null > : ^^^^^^^^^^^^^ >objWithValMaybeNull : { val: number | null; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >val : number | null > : ^^^^^^^^^^^^^ >myNull : null @@ -78,7 +78,7 @@ if (objWithValMaybeNull.val !== myNull) >objWithValMaybeNull.val : number > : ^^^^^^ >objWithValMaybeNull : { val: number | null; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >val : number > : ^^^^^^ @@ -88,7 +88,7 @@ if (objWithValMaybeNull.val === null) >objWithValMaybeNull.val : number | null > : ^^^^^^^^^^^^^ >objWithValMaybeNull : { val: number | null; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >val : number | null > : ^^^^^^^^^^^^^ @@ -100,7 +100,7 @@ if (objWithValMaybeNull.val === null) >objWithValMaybeNull.val : null > : ^^^^ >objWithValMaybeNull : { val: number | null; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >val : null > : ^^^^ @@ -110,7 +110,7 @@ if (objWithValMaybeNull.val === myNull) >objWithValMaybeNull.val : number | null > : ^^^^^^^^^^^^^ >objWithValMaybeNull : { val: number | null; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >val : number | null > : ^^^^^^^^^^^^^ >myNull : null @@ -124,7 +124,7 @@ if (objWithValMaybeNull.val === myNull) >objWithValMaybeNull.val : null > : ^^^^ >objWithValMaybeNull : { val: number | null; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >val : null > : ^^^^ diff --git a/tests/baselines/reference/controlFlowNullishCoalesce.types b/tests/baselines/reference/controlFlowNullishCoalesce.types index 462e9bc90ce68..7a2788cb84555 100644 --- a/tests/baselines/reference/controlFlowNullishCoalesce.types +++ b/tests/baselines/reference/controlFlowNullishCoalesce.types @@ -8,9 +8,9 @@ let a: number; o ?? (a = 1); >o ?? (a = 1) : { x: number; } | 1 -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ >o : { x: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >(a = 1) : 1 > : ^ >a = 1 : 1 @@ -24,11 +24,11 @@ a.toString(); >a.toString() : string > : ^^^^^^ >a.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >a : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ // assignment flow declare const o: { x: number } | undefined; @@ -45,19 +45,19 @@ let x: { x: number } | boolean; if (x = o ?? true) { >x = o ?? true : true | { x: number; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ >x : boolean | { x: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^ >o ?? true : true | { x: number; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ >o : { x: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >true : true > : ^^^^ x; >x : true | { x: number; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ } diff --git a/tests/baselines/reference/controlFlowOptionalChain.types b/tests/baselines/reference/controlFlowOptionalChain.types index a9bc469fa097b..1be51c8e96277 100644 --- a/tests/baselines/reference/controlFlowOptionalChain.types +++ b/tests/baselines/reference/controlFlowOptionalChain.types @@ -28,7 +28,7 @@ o?.[a = 1]; >o?.[a = 1] : any > : ^^^ >o : { (...args: any[]): any; [key: string]: any; [key: number]: any; } | undefined -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a = 1 : 1 > : ^ >a : number @@ -40,11 +40,11 @@ a.toString(); >a.toString() : string > : ^^^^^^ >a.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >a : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let b: number; >b : number @@ -56,7 +56,7 @@ o?.x[b = 1]; >o?.x : any > : ^^^ >o : { (...args: any[]): any; [key: string]: any; [key: number]: any; } | undefined -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : any > : ^^^ >b = 1 : 1 @@ -70,11 +70,11 @@ b.toString(); >b.toString() : string > : ^^^^^^ >b.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >b : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let c: number; >c : number @@ -84,7 +84,7 @@ o?.(c = 1) >o?.(c = 1) : any > : ^^^ >o : { (...args: any[]): any; [key: string]: any; [key: number]: any; } | undefined -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >c = 1 : 1 > : ^ >c : number @@ -96,11 +96,11 @@ c.toString(); >c.toString() : string > : ^^^^^^ >c.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >c : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let d: number; >d : number @@ -112,7 +112,7 @@ o?.x(d = 1); >o?.x : any > : ^^^ >o : { (...args: any[]): any; [key: string]: any; [key: number]: any; } | undefined -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : any > : ^^^ >d = 1 : 1 @@ -126,11 +126,11 @@ d.toString(); >d.toString() : string > : ^^^^^^ >d.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >d : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ // type predicates declare const f: undefined | ((x: any) => x is number); @@ -147,7 +147,7 @@ if (f?.(x)) { >f?.(x) : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ >f : ((x: any) => x is number) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >x : string | number > : ^^^^^^^^^^^^^^^ @@ -157,13 +157,13 @@ if (f?.(x)) { f; // (x: any) => x is number >f : (x: any) => x is number -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ f(x); >f(x) : boolean > : ^^^^^^^ >f : (x: any) => x is number -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : number > : ^^^^^^ } @@ -174,13 +174,13 @@ else { f; >f : ((x: any) => x is number) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ f(x); >f(x) : boolean > : ^^^^^^^ >f : ((x: any) => x is number) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >x : string | number > : ^^^^^^^^^^^^^^^ } @@ -190,13 +190,13 @@ x; f; >f : ((x: any) => x is number) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ f(x); >f(x) : boolean > : ^^^^^^^ >f : ((x: any) => x is number) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >x : string | number > : ^^^^^^^^^^^^^^^ @@ -212,11 +212,11 @@ if (o2?.f(x)) { >o2?.f(x) : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ >o2?.f : ((x: any) => x is number) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >o2 : { f(x: any): x is number; } | undefined -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ >f : ((x: any) => x is number) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >x : string | number > : ^^^^^^^^^^^^^^^ @@ -226,29 +226,29 @@ if (o2?.f(x)) { o2.f; // (x: any) => x is number >o2.f : (x: any) => x is number -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >o2 : { f(x: any): x is number; } -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ >f : (x: any) => x is number -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ o2?.f; >o2?.f : (x: any) => x is number -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >o2 : { f(x: any): x is number; } -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ >f : (x: any) => x is number -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ o2?.f(x); >o2?.f(x) : boolean > : ^^^^^^^ >o2?.f : (x: any) => x is number -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >o2 : { f(x: any): x is number; } -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^ >f : (x: any) => x is number -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : number > : ^^^^^^ } @@ -259,23 +259,23 @@ else { o2; >o2 : { f(x: any): x is number; } | undefined -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ o2?.f; >o2?.f : ((x: any) => x is number) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >o2 : { f(x: any): x is number; } | undefined -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ >f : ((x: any) => x is number) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ o2.f; >o2.f : (x: any) => x is number -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >o2 : { f(x: any): x is number; } | undefined -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ >f : (x: any) => x is number -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ } x; >x : string | number @@ -283,23 +283,23 @@ x; o2; >o2 : { f(x: any): x is number; } | undefined -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ o2?.f; >o2?.f : ((x: any) => x is number) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >o2 : { f(x: any): x is number; } | undefined -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ >f : ((x: any) => x is number) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ o2.f; >o2.f : (x: any) => x is number -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >o2 : { f(x: any): x is number; } | undefined -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ >f : (x: any) => x is number -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ declare const o3: { x: 1, y: string } | { x: 2, y: number } | undefined; >o3 : { x: 1; y: string; } | { x: 2; y: number; } | undefined @@ -319,7 +319,7 @@ if (o3?.x === 1) { >o3?.x : 1 | 2 | undefined > : ^^^^^^^^^^^^^^^^^ >o3 : { x: 1; y: string; } | { x: 2; y: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^ >x : 1 | 2 | undefined > : ^^^^^^^^^^^^^^^^^ >1 : 1 @@ -327,13 +327,13 @@ if (o3?.x === 1) { o3; >o3 : { x: 1; y: string; } -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ o3.x; >o3.x : 1 > : ^ >o3 : { x: 1; y: string; } -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >x : 1 > : ^ @@ -341,20 +341,20 @@ if (o3?.x === 1) { >o3?.x : 1 > : ^ >o3 : { x: 1; y: string; } -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >x : 1 > : ^ } else { o3; >o3 : { x: 2; y: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^^^ o3?.x; >o3?.x : 2 | undefined > : ^^^^^^^^^^^^^ >o3 : { x: 2; y: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^^^ >x : 2 | undefined > : ^^^^^^^^^^^^^ @@ -362,19 +362,19 @@ else { >o3.x : 2 > : ^ >o3 : { x: 2; y: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^^^ >x : 2 > : ^ } o3; >o3 : { x: 1; y: string; } | { x: 2; y: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^ o3?.x; >o3?.x : 1 | 2 | undefined > : ^^^^^^^^^^^^^^^^^ >o3 : { x: 1; y: string; } | { x: 2; y: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^ >x : 1 | 2 | undefined > : ^^^^^^^^^^^^^^^^^ @@ -382,7 +382,7 @@ o3.x; >o3.x : 1 | 2 > : ^^^^^ >o3 : { x: 1; y: string; } | { x: 2; y: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^ >x : 1 | 2 > : ^^^^^ @@ -398,31 +398,31 @@ if (o4.x?.y) { >o4.x?.y : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ >o4.x : { y: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o4 : { x?: { y: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o4 : { x?: { y: boolean; }; } +> : ^^^^^^ ^^^ >x : { y: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >y : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ o4.x; // { y: boolean } >o4.x : { y: boolean; } -> : ^^^^^^^^^^^^^^^ ->o4 : { x?: { y: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ +>o4 : { x?: { y: boolean; }; } +> : ^^^^^^ ^^^ >x : { y: boolean; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ o4.x.y; // true >o4.x.y : true > : ^^^^ >o4.x : { y: boolean; } -> : ^^^^^^^^^^^^^^^ ->o4 : { x?: { y: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ +>o4 : { x?: { y: boolean; }; } +> : ^^^^^^ ^^^ >x : { y: boolean; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >y : true > : ^^^^ @@ -430,32 +430,32 @@ if (o4.x?.y) { >o4.x?.y : true > : ^^^^ >o4.x : { y: boolean; } -> : ^^^^^^^^^^^^^^^ ->o4 : { x?: { y: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ +>o4 : { x?: { y: boolean; }; } +> : ^^^^^^ ^^^ >x : { y: boolean; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >y : true > : ^^^^ } else { o4.x; >o4.x : { y: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o4 : { x?: { y: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o4 : { x?: { y: boolean; }; } +> : ^^^^^^ ^^^ >x : { y: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ o4.x?.y; >o4.x?.y : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ >o4.x : { y: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o4 : { x?: { y: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o4 : { x?: { y: boolean; }; } +> : ^^^^^^ ^^^ >x : { y: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >y : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ @@ -463,31 +463,31 @@ else { >o4.x.y : boolean > : ^^^^^^^ >o4.x : { y: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o4 : { x?: { y: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o4 : { x?: { y: boolean; }; } +> : ^^^^^^ ^^^ >x : { y: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >y : boolean > : ^^^^^^^ } o4.x; >o4.x : { y: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o4 : { x?: { y: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o4 : { x?: { y: boolean; }; } +> : ^^^^^^ ^^^ >x : { y: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ o4.x?.y; >o4.x?.y : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ >o4.x : { y: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o4 : { x?: { y: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o4 : { x?: { y: boolean; }; } +> : ^^^^^^ ^^^ >x : { y: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >y : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ @@ -495,11 +495,11 @@ o4.x.y; >o4.x.y : boolean > : ^^^^^^^ >o4.x : { y: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o4 : { x?: { y: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o4 : { x?: { y: boolean; }; } +> : ^^^^^^ ^^^ >x : { y: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >y : boolean > : ^^^^^^^ @@ -519,75 +519,75 @@ if (o5.x?.y.z?.w) { >o5.x?.y.z?.w : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ >o5.x?.y.z : { w: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.x?.y : { z?: { w: boolean; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.x : { y: { z?: { w: boolean; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : { x?: { y: { z?: { w: boolean; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->x : { y: { z?: { w: boolean; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->y : { z?: { w: boolean; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5.x?.y : { z?: { w: boolean; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>o5.x : { y: { z?: { w: boolean; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5 : { x?: { y: { z?: { w: boolean; }; }; }; } +> : ^^^^^^ ^^^ +>x : { y: { z?: { w: boolean; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>y : { z?: { w: boolean; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ >z : { w: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >w : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ o5.x; ->o5.x : { y: { z?: { w: boolean; } | undefined; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : { x?: { y: { z?: { w: boolean; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->x : { y: { z?: { w: boolean; } | undefined; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>o5.x : { y: { z?: { w: boolean; }; }; } +> : ^^^^^ ^^^ +>o5 : { x?: { y: { z?: { w: boolean; }; }; }; } +> : ^^^^^^ ^^^ +>x : { y: { z?: { w: boolean; }; }; } +> : ^^^^^ ^^^ o5.x.y; ->o5.x.y : { z?: { w: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.x : { y: { z?: { w: boolean; } | undefined; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : { x?: { y: { z?: { w: boolean; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->x : { y: { z?: { w: boolean; } | undefined; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->y : { z?: { w: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>o5.x.y : { z?: { w: boolean; }; } +> : ^^^^^^ ^^^ +>o5.x : { y: { z?: { w: boolean; }; }; } +> : ^^^^^ ^^^ +>o5 : { x?: { y: { z?: { w: boolean; }; }; }; } +> : ^^^^^^ ^^^ +>x : { y: { z?: { w: boolean; }; }; } +> : ^^^^^ ^^^ +>y : { z?: { w: boolean; }; } +> : ^^^^^^ ^^^ o5.x.y.z; >o5.x.y.z : { w: boolean; } -> : ^^^^^^^^^^^^^^^ ->o5.x.y : { z?: { w: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.x : { y: { z?: { w: boolean; } | undefined; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : { x?: { y: { z?: { w: boolean; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->x : { y: { z?: { w: boolean; } | undefined; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->y : { z?: { w: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ +>o5.x.y : { z?: { w: boolean; }; } +> : ^^^^^^ ^^^ +>o5.x : { y: { z?: { w: boolean; }; }; } +> : ^^^^^ ^^^ +>o5 : { x?: { y: { z?: { w: boolean; }; }; }; } +> : ^^^^^^ ^^^ +>x : { y: { z?: { w: boolean; }; }; } +> : ^^^^^ ^^^ +>y : { z?: { w: boolean; }; } +> : ^^^^^^ ^^^ >z : { w: boolean; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ o5.x.y.z.w; // true >o5.x.y.z.w : true > : ^^^^ >o5.x.y.z : { w: boolean; } -> : ^^^^^^^^^^^^^^^ ->o5.x.y : { z?: { w: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.x : { y: { z?: { w: boolean; } | undefined; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : { x?: { y: { z?: { w: boolean; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->x : { y: { z?: { w: boolean; } | undefined; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->y : { z?: { w: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ +>o5.x.y : { z?: { w: boolean; }; } +> : ^^^^^^ ^^^ +>o5.x : { y: { z?: { w: boolean; }; }; } +> : ^^^^^ ^^^ +>o5 : { x?: { y: { z?: { w: boolean; }; }; }; } +> : ^^^^^^ ^^^ +>x : { y: { z?: { w: boolean; }; }; } +> : ^^^^^ ^^^ +>y : { z?: { w: boolean; }; } +> : ^^^^^^ ^^^ >z : { w: boolean; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >w : true > : ^^^^ @@ -595,19 +595,19 @@ if (o5.x?.y.z?.w) { >o5.x.y.z?.w : true > : ^^^^ >o5.x.y.z : { w: boolean; } -> : ^^^^^^^^^^^^^^^ ->o5.x.y : { z?: { w: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.x : { y: { z?: { w: boolean; } | undefined; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : { x?: { y: { z?: { w: boolean; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->x : { y: { z?: { w: boolean; } | undefined; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->y : { z?: { w: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ +>o5.x.y : { z?: { w: boolean; }; } +> : ^^^^^^ ^^^ +>o5.x : { y: { z?: { w: boolean; }; }; } +> : ^^^^^ ^^^ +>o5 : { x?: { y: { z?: { w: boolean; }; }; }; } +> : ^^^^^^ ^^^ +>x : { y: { z?: { w: boolean; }; }; } +> : ^^^^^ ^^^ +>y : { z?: { w: boolean; }; } +> : ^^^^^^ ^^^ >z : { w: boolean; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >w : true > : ^^^^ @@ -615,19 +615,19 @@ if (o5.x?.y.z?.w) { >o5.x?.y.z.w : true > : ^^^^ >o5.x?.y.z : { w: boolean; } -> : ^^^^^^^^^^^^^^^ ->o5.x?.y : { z?: { w: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.x : { y: { z?: { w: boolean; } | undefined; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : { x?: { y: { z?: { w: boolean; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->x : { y: { z?: { w: boolean; } | undefined; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->y : { z?: { w: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ +>o5.x?.y : { z?: { w: boolean; }; } +> : ^^^^^^ ^^^ +>o5.x : { y: { z?: { w: boolean; }; }; } +> : ^^^^^ ^^^ +>o5 : { x?: { y: { z?: { w: boolean; }; }; }; } +> : ^^^^^^ ^^^ +>x : { y: { z?: { w: boolean; }; }; } +> : ^^^^^ ^^^ +>y : { z?: { w: boolean; }; } +> : ^^^^^^ ^^^ >z : { w: boolean; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >w : true > : ^^^^ @@ -635,196 +635,196 @@ if (o5.x?.y.z?.w) { >o5.x?.y.z?.w : true > : ^^^^ >o5.x?.y.z : { w: boolean; } -> : ^^^^^^^^^^^^^^^ ->o5.x?.y : { z?: { w: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.x : { y: { z?: { w: boolean; } | undefined; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : { x?: { y: { z?: { w: boolean; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->x : { y: { z?: { w: boolean; } | undefined; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->y : { z?: { w: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ +>o5.x?.y : { z?: { w: boolean; }; } +> : ^^^^^^ ^^^ +>o5.x : { y: { z?: { w: boolean; }; }; } +> : ^^^^^ ^^^ +>o5 : { x?: { y: { z?: { w: boolean; }; }; }; } +> : ^^^^^^ ^^^ +>x : { y: { z?: { w: boolean; }; }; } +> : ^^^^^ ^^^ +>y : { z?: { w: boolean; }; } +> : ^^^^^^ ^^^ >z : { w: boolean; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >w : true > : ^^^^ } else { o5.x; ->o5.x : { y: { z?: { w: boolean; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : { x?: { y: { z?: { w: boolean; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->x : { y: { z?: { w: boolean; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>o5.x : { y: { z?: { w: boolean; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5 : { x?: { y: { z?: { w: boolean; }; }; }; } +> : ^^^^^^ ^^^ +>x : { y: { z?: { w: boolean; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ o5.x?.y; ->o5.x?.y : { z?: { w: boolean; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.x : { y: { z?: { w: boolean; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : { x?: { y: { z?: { w: boolean; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->x : { y: { z?: { w: boolean; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->y : { z?: { w: boolean; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>o5.x?.y : { z?: { w: boolean; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>o5.x : { y: { z?: { w: boolean; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5 : { x?: { y: { z?: { w: boolean; }; }; }; } +> : ^^^^^^ ^^^ +>x : { y: { z?: { w: boolean; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>y : { z?: { w: boolean; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ o5.x?.y.z; >o5.x?.y.z : { w: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.x?.y : { z?: { w: boolean; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.x : { y: { z?: { w: boolean; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : { x?: { y: { z?: { w: boolean; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->x : { y: { z?: { w: boolean; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->y : { z?: { w: boolean; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5.x?.y : { z?: { w: boolean; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>o5.x : { y: { z?: { w: boolean; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5 : { x?: { y: { z?: { w: boolean; }; }; }; } +> : ^^^^^^ ^^^ +>x : { y: { z?: { w: boolean; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>y : { z?: { w: boolean; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ >z : { w: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ o5.x?.y.z?.w; >o5.x?.y.z?.w : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ >o5.x?.y.z : { w: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.x?.y : { z?: { w: boolean; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.x : { y: { z?: { w: boolean; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : { x?: { y: { z?: { w: boolean; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->x : { y: { z?: { w: boolean; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->y : { z?: { w: boolean; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5.x?.y : { z?: { w: boolean; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>o5.x : { y: { z?: { w: boolean; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5 : { x?: { y: { z?: { w: boolean; }; }; }; } +> : ^^^^^^ ^^^ +>x : { y: { z?: { w: boolean; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>y : { z?: { w: boolean; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ >z : { w: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >w : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ o5.x.y; ->o5.x.y : { z?: { w: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.x : { y: { z?: { w: boolean; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : { x?: { y: { z?: { w: boolean; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->x : { y: { z?: { w: boolean; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->y : { z?: { w: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>o5.x.y : { z?: { w: boolean; }; } +> : ^^^^^^ ^^^ +>o5.x : { y: { z?: { w: boolean; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5 : { x?: { y: { z?: { w: boolean; }; }; }; } +> : ^^^^^^ ^^^ +>x : { y: { z?: { w: boolean; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>y : { z?: { w: boolean; }; } +> : ^^^^^^ ^^^ o5.x.y.z.w; >o5.x.y.z.w : boolean > : ^^^^^^^ >o5.x.y.z : { w: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.x.y : { z?: { w: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.x : { y: { z?: { w: boolean; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : { x?: { y: { z?: { w: boolean; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->x : { y: { z?: { w: boolean; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->y : { z?: { w: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5.x.y : { z?: { w: boolean; }; } +> : ^^^^^^ ^^^ +>o5.x : { y: { z?: { w: boolean; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5 : { x?: { y: { z?: { w: boolean; }; }; }; } +> : ^^^^^^ ^^^ +>x : { y: { z?: { w: boolean; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>y : { z?: { w: boolean; }; } +> : ^^^^^^ ^^^ >z : { w: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >w : boolean > : ^^^^^^^ } o5.x; ->o5.x : { y: { z?: { w: boolean; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : { x?: { y: { z?: { w: boolean; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->x : { y: { z?: { w: boolean; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>o5.x : { y: { z?: { w: boolean; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5 : { x?: { y: { z?: { w: boolean; }; }; }; } +> : ^^^^^^ ^^^ +>x : { y: { z?: { w: boolean; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ o5.x?.y; ->o5.x?.y : { z?: { w: boolean; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.x : { y: { z?: { w: boolean; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : { x?: { y: { z?: { w: boolean; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->x : { y: { z?: { w: boolean; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->y : { z?: { w: boolean; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>o5.x?.y : { z?: { w: boolean; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>o5.x : { y: { z?: { w: boolean; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5 : { x?: { y: { z?: { w: boolean; }; }; }; } +> : ^^^^^^ ^^^ +>x : { y: { z?: { w: boolean; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>y : { z?: { w: boolean; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ o5.x?.y.z; >o5.x?.y.z : { w: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.x?.y : { z?: { w: boolean; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.x : { y: { z?: { w: boolean; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : { x?: { y: { z?: { w: boolean; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->x : { y: { z?: { w: boolean; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->y : { z?: { w: boolean; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5.x?.y : { z?: { w: boolean; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>o5.x : { y: { z?: { w: boolean; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5 : { x?: { y: { z?: { w: boolean; }; }; }; } +> : ^^^^^^ ^^^ +>x : { y: { z?: { w: boolean; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>y : { z?: { w: boolean; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ >z : { w: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ o5.x?.y.z?.w; >o5.x?.y.z?.w : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ >o5.x?.y.z : { w: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.x?.y : { z?: { w: boolean; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.x : { y: { z?: { w: boolean; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : { x?: { y: { z?: { w: boolean; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->x : { y: { z?: { w: boolean; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->y : { z?: { w: boolean; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5.x?.y : { z?: { w: boolean; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>o5.x : { y: { z?: { w: boolean; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5 : { x?: { y: { z?: { w: boolean; }; }; }; } +> : ^^^^^^ ^^^ +>x : { y: { z?: { w: boolean; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>y : { z?: { w: boolean; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ >z : { w: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >w : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ o5.x.y; ->o5.x.y : { z?: { w: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.x : { y: { z?: { w: boolean; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : { x?: { y: { z?: { w: boolean; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->x : { y: { z?: { w: boolean; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->y : { z?: { w: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>o5.x.y : { z?: { w: boolean; }; } +> : ^^^^^^ ^^^ +>o5.x : { y: { z?: { w: boolean; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5 : { x?: { y: { z?: { w: boolean; }; }; }; } +> : ^^^^^^ ^^^ +>x : { y: { z?: { w: boolean; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>y : { z?: { w: boolean; }; } +> : ^^^^^^ ^^^ o5.x.y.z.w; >o5.x.y.z.w : boolean > : ^^^^^^^ >o5.x.y.z : { w: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.x.y : { z?: { w: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.x : { y: { z?: { w: boolean; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : { x?: { y: { z?: { w: boolean; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->x : { y: { z?: { w: boolean; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->y : { z?: { w: boolean; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5.x.y : { z?: { w: boolean; }; } +> : ^^^^^^ ^^^ +>o5.x : { y: { z?: { w: boolean; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5 : { x?: { y: { z?: { w: boolean; }; }; }; } +> : ^^^^^^ ^^^ +>x : { y: { z?: { w: boolean; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>y : { z?: { w: boolean; }; } +> : ^^^^^^ ^^^ >z : { w: boolean; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >w : boolean > : ^^^^^^^ @@ -848,11 +848,11 @@ if (o6?.f()) { >o6?.f() : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ >o6?.f : (() => this is Derived) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >o6 : Base | undefined > : ^^^^^^^^^^^^^^^^ >f : (() => this is Derived) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ o6; // Derived >o6 : Derived @@ -860,11 +860,11 @@ if (o6?.f()) { o6.f; >o6.f : () => this is Derived -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >o6 : Derived > : ^^^^^^^ >f : () => this is Derived -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ } else { o6; @@ -873,19 +873,19 @@ else { o6?.f; >o6?.f : (() => this is Derived) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >o6 : Base | undefined > : ^^^^^^^^^^^^^^^^ >f : (() => this is Derived) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ o6.f; >o6.f : () => this is Derived -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >o6 : Base | undefined > : ^^^^^^^^^^^^^^^^ >f : () => this is Derived -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ } o6; >o6 : Base | undefined @@ -893,19 +893,19 @@ o6; o6?.f; >o6?.f : (() => this is Derived) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >o6 : Base | undefined > : ^^^^^^^^^^^^^^^^ >f : (() => this is Derived) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ o6.f; >o6.f : () => this is Derived -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >o6 : Base | undefined > : ^^^^^^^^^^^^^^^^ >f : () => this is Derived -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ // asserts declare const isDefined: (value: T) => asserts value is NonNullable; @@ -948,7 +948,7 @@ function f01(x: unknown) { >isString?.(x) : void > : ^^^^ >isString : (value: unknown) => asserts value is string -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : unknown > : ^^^^^^^ @@ -968,7 +968,7 @@ function f01(x: unknown) { >maybeIsString?.(x) : void | undefined > : ^^^^^^^^^^^^^^^^ >maybeIsString : ((value: unknown) => asserts value is string) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >x : unknown > : ^^^^^^^ @@ -988,15 +988,15 @@ function f01(x: unknown) { >isDefined(maybeIsString) : void > : ^^^^ >isDefined : (value: T) => asserts value is NonNullable -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >maybeIsString : ((value: unknown) => asserts value is string) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ maybeIsString?.(x); >maybeIsString?.(x) : void > : ^^^^ >maybeIsString : (value: unknown) => asserts value is string -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : unknown > : ^^^^^^^ @@ -1016,7 +1016,7 @@ function f01(x: unknown) { >maybeNever?.() : undefined > : ^^^^^^^^^ >maybeNever : (() => never) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ x; >x : unknown @@ -1088,21 +1088,21 @@ function f10(o: Thing | undefined, value: number) { >o?.bar() : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o?.bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >o : Thing | undefined > : ^^^^^^^^^^^^^^^^^ >bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >value : number > : ^^^^^^ o.bar; >o.bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >o : Thing > : ^^^^^ >bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } if (o?.foo == value) { >o?.foo == value : boolean @@ -1150,21 +1150,21 @@ function f10(o: Thing | undefined, value: number) { >o?.bar() : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o?.bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >o : Thing | undefined > : ^^^^^^^^^^^^^^^^^ >bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >value : number > : ^^^^^^ o.bar; >o.bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >o : Thing > : ^^^^^ >bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } @@ -1222,21 +1222,21 @@ function f11(o: Thing | null, value: number) { >o?.bar() : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o?.bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >o : Thing | null > : ^^^^^^^^^^^^ >bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >value : number > : ^^^^^^ o.bar; >o.bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >o : Thing > : ^^^^^ >bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } if (o?.foo == value) { >o?.foo == value : boolean @@ -1284,21 +1284,21 @@ function f11(o: Thing | null, value: number) { >o?.bar() : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o?.bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >o : Thing | null > : ^^^^^^^^^^^^ >bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >value : number > : ^^^^^^ o.bar; >o.bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >o : Thing > : ^^^^^ >bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } @@ -1356,21 +1356,21 @@ function f12(o: Thing | undefined, value: number | undefined) { >o?.bar() : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o?.bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >o : Thing | undefined > : ^^^^^^^^^^^^^^^^^ >bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >value : number | undefined > : ^^^^^^^^^^^^^^^^^^ o.bar; // Error >o.bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >o : Thing | undefined > : ^^^^^^^^^^^^^^^^^ >bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } if (o?.foo == value) { >o?.foo == value : boolean @@ -1418,21 +1418,21 @@ function f12(o: Thing | undefined, value: number | undefined) { >o?.bar() : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o?.bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >o : Thing | undefined > : ^^^^^^^^^^^^^^^^^ >bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >value : number | undefined > : ^^^^^^^^^^^^^^^^^^ o.bar; // Error >o.bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >o : Thing | undefined > : ^^^^^^^^^^^^^^^^^ >bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } @@ -1490,21 +1490,21 @@ function f12a(o: Thing | undefined, value: number | null) { >o?.bar() : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o?.bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >o : Thing | undefined > : ^^^^^^^^^^^^^^^^^ >bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >value : number | null > : ^^^^^^^^^^^^^ o.bar; >o.bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >o : Thing > : ^^^^^ >bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } if (o?.foo == value) { >o?.foo == value : boolean @@ -1552,21 +1552,21 @@ function f12a(o: Thing | undefined, value: number | null) { >o?.bar() : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o?.bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >o : Thing | undefined > : ^^^^^^^^^^^^^^^^^ >bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >value : number | null > : ^^^^^^^^^^^^^ o.bar; // Error >o.bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >o : Thing | undefined > : ^^^^^^^^^^^^^^^^^ >bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } @@ -1622,21 +1622,21 @@ function f13(o: Thing | undefined) { >o?.bar() : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o?.bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >o : Thing | undefined > : ^^^^^^^^^^^^^^^^^ >bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ o.bar; >o.bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >o : Thing > : ^^^^^ >bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } if (o?.foo != undefined) { >o?.foo != undefined : boolean @@ -1684,21 +1684,21 @@ function f13(o: Thing | undefined) { >o?.bar() : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o?.bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >o : Thing | undefined > : ^^^^^^^^^^^^^^^^^ >bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ o.bar; >o.bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >o : Thing > : ^^^^^ >bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } @@ -1750,19 +1750,19 @@ function f13a(o: Thing | undefined) { >o?.bar() : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o?.bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >o : Thing | undefined > : ^^^^^^^^^^^^^^^^^ >bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ o.bar; // Error >o.bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >o : Thing | undefined > : ^^^^^^^^^^^^^^^^^ >bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } if (o?.foo != null) { >o?.foo != null : boolean @@ -1806,19 +1806,19 @@ function f13a(o: Thing | undefined) { >o?.bar() : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o?.bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >o : Thing | undefined > : ^^^^^^^^^^^^^^^^^ >bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ o.bar; >o.bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >o : Thing > : ^^^^^ >bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } @@ -1874,21 +1874,21 @@ function f14(o: Thing | null) { >o?.bar() : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o?.bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >o : Thing | null > : ^^^^^^^^^^^^ >bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ o.bar; >o.bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >o : Thing > : ^^^^^ >bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } @@ -2326,21 +2326,21 @@ function f20(o: Thing | undefined) { >o?.bar() : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o?.bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >o : Thing | undefined > : ^^^^^^^^^^^^^^^^^ >bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >"number" : "number" > : ^^^^^^^^ o.bar; >o.bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >o : Thing > : ^^^^^ >bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } if (o?.baz instanceof Error) { >o?.baz instanceof Error : boolean @@ -2422,21 +2422,21 @@ function f21(o: Thing | null) { >o?.bar() : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o?.bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >o : Thing | null > : ^^^^^^^^^^^^ >bar : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >"number" : "number" > : ^^^^^^^^ o.bar; >o.bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >o : Thing > : ^^^^^ >bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } if (o?.baz instanceof Error) { >o?.baz instanceof Error : boolean @@ -2754,7 +2754,7 @@ function f30(o: Thing | undefined) { >assert(o?.foo) : void > : ^^^^ >assert : (x: unknown) => asserts x -> : ^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >o?.foo : string | number | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >o : Thing | undefined @@ -2782,7 +2782,7 @@ function f30(o: Thing | undefined) { >assert(o?.foo === 42) : void > : ^^^^ >assert : (x: unknown) => asserts x -> : ^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >o?.foo === 42 : boolean > : ^^^^^^^ >o?.foo : string | number | undefined @@ -2814,7 +2814,7 @@ function f30(o: Thing | undefined) { >assert(typeof o?.foo === "number") : void > : ^^^^ >assert : (x: unknown) => asserts x -> : ^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >typeof o?.foo === "number" : boolean > : ^^^^^^^ >typeof o?.foo : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" @@ -2848,7 +2848,7 @@ function f30(o: Thing | undefined) { >assertNonNull(o?.foo) : void > : ^^^^ >assertNonNull : (x: T) => asserts x is NonNullable -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >o?.foo : string | number | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >o : Thing | undefined @@ -3052,7 +3052,7 @@ function getArea(shape?: Shape) { >shape.radius : number > : ^^^^^^ >shape : { type: "circle"; radius: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^ ^^^ >radius : number > : ^^^^^^ >2 : 2 @@ -3068,13 +3068,13 @@ function getArea(shape?: Shape) { >shape.width : number > : ^^^^^^ >shape : { type: "rectangle"; width: number; height: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ >width : number > : ^^^^^^ >shape.height : number > : ^^^^^^ >shape : { type: "rectangle"; width: number; height: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ >height : number > : ^^^^^^ @@ -3121,11 +3121,11 @@ function extractCoordinates(f: Feature): number[] { >f.geometry?.type : string | undefined > : ^^^^^^^^^^^^^^^^^^ >f.geometry : { type: string; coordinates: number[]; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >f : Feature > : ^^^^^^^ >geometry : { type: string; coordinates: number[]; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >type : string | undefined > : ^^^^^^^^^^^^^^^^^^ >'test' : "test" @@ -3139,11 +3139,11 @@ function extractCoordinates(f: Feature): number[] { >f.geometry.coordinates : number[] > : ^^^^^^^^ >f.geometry : { type: string; coordinates: number[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^ >f : Feature > : ^^^^^^^ >geometry : { type: string; coordinates: number[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^ >coordinates : number[] > : ^^^^^^^^ } @@ -3182,11 +3182,11 @@ function someFunction(someOptionalObject: SomeObject | undefined): void { >console.log(someOptionalObject) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >someOptionalObject : SomeObject | undefined > : ^^^^^^^^^^^^^^^^^^^^^^ @@ -3194,11 +3194,11 @@ function someFunction(someOptionalObject: SomeObject | undefined): void { >console.log(someOptionalObject.someProperty) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >someOptionalObject.someProperty : unknown > : ^^^^^^^ >someOptionalObject : SomeObject | undefined @@ -3238,7 +3238,7 @@ someFunction(someObject); >someFunction(someObject) : void > : ^^^^ >someFunction : (someOptionalObject: SomeObject | undefined) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >someObject : SomeObject > : ^^^^^^^^^^ @@ -3246,7 +3246,7 @@ someFunction(undefined); >someFunction(undefined) : void > : ^^^^ >someFunction : (someOptionalObject: SomeObject | undefined) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ @@ -3269,10 +3269,10 @@ while (arr[i]?.tag === "left") { > : ^^^^^^^ >arr[i]?.tag : "left" | "right" > : ^^^^^^^^^^^^^^^^ ->arr[i] : { tag: "left" | "right"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->arr : { tag: "left" | "right"; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>arr[i] : { tag: ("left" | "right"); } +> : ^^^^^^^ ^^^ +>arr : { tag: ("left" | "right"); }[] +> : ^^^^^^^ ^^^^^ >i : number > : ^^^^^^ >tag : "left" | "right" @@ -3293,10 +3293,10 @@ while (arr[i]?.tag === "left") { > : ^^^^^^^ >arr[i]?.tag : "left" | "right" > : ^^^^^^^^^^^^^^^^ ->arr[i] : { tag: "left" | "right"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->arr : { tag: "left" | "right"; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>arr[i] : { tag: ("left" | "right"); } +> : ^^^^^^^ ^^^ +>arr : { tag: ("left" | "right"); }[] +> : ^^^^^^^ ^^^^^ >i : number > : ^^^^^^ >tag : "left" | "right" @@ -3308,11 +3308,11 @@ while (arr[i]?.tag === "left") { >console.log("I should ALSO be reachable") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"I should ALSO be reachable" : "I should ALSO be reachable" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } @@ -3348,11 +3348,11 @@ function f50(obj: Test5) { >obj.main?.childs : Record | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >obj.main : { childs: Record; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^ >obj : Test5 > : ^^^^^ >main : { childs: Record; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^ >childs : Record | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -3364,11 +3364,11 @@ function f50(obj: Test5) { >obj.main.childs : Record > : ^^^^^^^^^^^^^^^^^^^^^ >obj.main : { childs: Record; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^ >obj : Test5 > : ^^^^^ >main : { childs: Record; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^ >childs : Record > : ^^^^^^^^^^^^^^^^^^^^^ >key : string diff --git a/tests/baselines/reference/controlFlowOptionalChain3.types b/tests/baselines/reference/controlFlowOptionalChain3.types index a371333519436..bc4f6fc04b27c 100644 --- a/tests/baselines/reference/controlFlowOptionalChain3.types +++ b/tests/baselines/reference/controlFlowOptionalChain3.types @@ -149,22 +149,22 @@ function test4(options?: { a?: boolean; b?: boolean }) { > : ^^^^^^^ >options?.a : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ ->options : { a?: boolean | undefined; b?: boolean | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>options : { a?: boolean; b?: boolean; } | undefined +> : ^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^ >a : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ >false : false > : ^^^^^ >options.b : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ ->options : { a?: boolean | undefined; b?: boolean | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>options : { a?: boolean; b?: boolean; } | undefined +> : ^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^ >b : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ options; ->options : { a?: boolean | undefined; b?: boolean | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>options : { a?: boolean; b?: boolean; } | undefined +> : ^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^ } } diff --git a/tests/baselines/reference/controlFlowOuterVariable.types b/tests/baselines/reference/controlFlowOuterVariable.types index c612b2d60477f..b772a73626f5e 100644 --- a/tests/baselines/reference/controlFlowOuterVariable.types +++ b/tests/baselines/reference/controlFlowOuterVariable.types @@ -53,11 +53,11 @@ const helper = function(t: T[]) { >t.slice(1) : T[] > : ^^^ >t.slice : (start?: number, end?: number) => T[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^ >t : T[] > : ^^^ >slice : (start?: number, end?: number) => T[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^ >1 : 1 > : ^ } diff --git a/tests/baselines/reference/controlFlowParameter.types b/tests/baselines/reference/controlFlowParameter.types index c6e11af5fdb26..50e42a065e356 100644 --- a/tests/baselines/reference/controlFlowParameter.types +++ b/tests/baselines/reference/controlFlowParameter.types @@ -29,11 +29,11 @@ function f1( >console.log("ok") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"ok" : "ok" > : ^^^^ } diff --git a/tests/baselines/reference/controlFlowPropertyDeclarations.types b/tests/baselines/reference/controlFlowPropertyDeclarations.types index a08c794f36911..c7c36a31f00d6 100644 --- a/tests/baselines/reference/controlFlowPropertyDeclarations.types +++ b/tests/baselines/reference/controlFlowPropertyDeclarations.types @@ -57,11 +57,11 @@ for (var propname in HTMLDOMPropertyConfig.Properties) { >propname.toLowerCase() : string > : ^^^^^^ >propname.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >propname : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } /** @@ -264,11 +264,11 @@ function isEmpty(string) { >/[^\s]/.test(string) : boolean > : ^^^^^^^ >/[^\s]/.test : (string: string) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >/[^\s]/ : RegExp > : ^^^^^^ >test : (string: string) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >string : any } @@ -288,11 +288,11 @@ function isConvertiblePixelValue(value) { >/^\d+px$/.test(value) : boolean > : ^^^^^^^ >/^\d+px$/.test : (string: string) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >/^\d+px$/ : RegExp > : ^^^^^^ >test : (string: string) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >value : any } @@ -392,17 +392,17 @@ export class HTMLtoJSX { >text .replace(/\r/g, '') .replace(/( {2,}|\n|\t|\{|\})/g, function(whitespace) { return '{' + JSON.stringify(whitespace) + '}'; }) : string > : ^^^^^^ >text .replace(/\r/g, '') .replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >text .replace(/\r/g, '') : string > : ^^^^^^ >text .replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >text : string > : ^^^^^^ .replace(/\r/g, '') >replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >/\r/g : RegExp > : ^^^^^^ >'' : "" @@ -410,7 +410,7 @@ export class HTMLtoJSX { .replace(/( {2,}|\n|\t|\{|\})/g, function(whitespace) { >replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >/( {2,}|\n|\t|\{|\})/g : RegExp > : ^^^^^^ >function(whitespace) { return '{' + JSON.stringify(whitespace) + '}'; } : (whitespace: string) => string @@ -428,11 +428,11 @@ export class HTMLtoJSX { >JSON.stringify(whitespace) : string > : ^^^^^^ >JSON.stringify : { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; } -> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >JSON : JSON > : ^^^^ >stringify : { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; } -> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >whitespace : string > : ^^^^^^ >'}' : "}" @@ -447,11 +447,11 @@ export class HTMLtoJSX { >text.indexOf('\n') : number > : ^^^^^^ >text.indexOf : (searchString: string, position?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >text : string > : ^^^^^^ >indexOf : (searchString: string, position?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >'\n' : "\n" > : ^^^^ >-1 : -1 @@ -512,7 +512,7 @@ export class StyleParser { >this.styles.hasOwnProperty(key) : boolean > : ^^^^^^^ >this.styles.hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this.styles : {} > : ^^ >this : this @@ -520,7 +520,7 @@ export class StyleParser { >styles : {} > : ^^ >hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >key : string > : ^^^^^^ } diff --git a/tests/baselines/reference/controlFlowSelfReferentialLoop.types b/tests/baselines/reference/controlFlowSelfReferentialLoop.types index d103987e1c693..fc193a10c2bde 100644 --- a/tests/baselines/reference/controlFlowSelfReferentialLoop.types +++ b/tests/baselines/reference/controlFlowSelfReferentialLoop.types @@ -2342,7 +2342,7 @@ function md5(string:string): void { } export default md5; >md5 : (string: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ // Repro from #26655 @@ -2399,13 +2399,13 @@ function getObject(id: string | number) { const message = data.message >message : { id: string; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >data.message : { id: string; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >data : DataShape > : ^^^^^^^^^ >message : { id: string; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ id = message.id >id = message.id : string @@ -2415,7 +2415,7 @@ function getObject(id: string | number) { >message.id : string > : ^^^^^^ >message : { id: string; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >id : string > : ^^^^^^ } diff --git a/tests/baselines/reference/controlFlowStringIndex.types b/tests/baselines/reference/controlFlowStringIndex.types index d3ca123f5bfa8..a7cbbb020d876 100644 --- a/tests/baselines/reference/controlFlowStringIndex.types +++ b/tests/baselines/reference/controlFlowStringIndex.types @@ -32,7 +32,7 @@ if (value.foo !== null) { >value.foo.toExponential() : string > : ^^^^^^ >value.foo.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >value.foo : number > : ^^^^^^ >value : A @@ -40,7 +40,7 @@ if (value.foo !== null) { >foo : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ value.other // should still be number | null >value.other : number | null diff --git a/tests/baselines/reference/controlFlowSuperPropertyAccess.types b/tests/baselines/reference/controlFlowSuperPropertyAccess.types index b0ede2438880e..86d0d769fd8e6 100644 --- a/tests/baselines/reference/controlFlowSuperPropertyAccess.types +++ b/tests/baselines/reference/controlFlowSuperPropertyAccess.types @@ -23,19 +23,19 @@ class C extends B { >super.m && super.m() : void | undefined > : ^^^^^^^^^^^^^^^^ >super.m : (() => void) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >super : B > : ^ >m : (() => void) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >super.m() : void > : ^^^^ >super.m : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >super : B > : ^ >m : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } } diff --git a/tests/baselines/reference/controlFlowTruthiness.types b/tests/baselines/reference/controlFlowTruthiness.types index fad5c8e9894a2..e2f0b9615391f 100644 --- a/tests/baselines/reference/controlFlowTruthiness.types +++ b/tests/baselines/reference/controlFlowTruthiness.types @@ -15,7 +15,7 @@ function f1() { >foo() : string | undefined > : ^^^^^^^^^^^^^^^^^^ >foo : () => string | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ if (x) { >x : string | undefined @@ -48,7 +48,7 @@ function f2() { >foo() : string | undefined > : ^^^^^^^^^^^^^^^^^^ >foo : () => string | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ if (x) { >x : string | undefined @@ -81,7 +81,7 @@ function f3() { >foo() : string | undefined > : ^^^^^^^^^^^^^^^^^^ >foo : () => string | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ x; // string >x : string @@ -114,7 +114,7 @@ function f4() { >foo() : string | undefined > : ^^^^^^^^^^^^^^^^^^ >foo : () => string | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ x; // string | undefined >x : string | undefined @@ -151,7 +151,7 @@ function f5() { >foo() : string | undefined > : ^^^^^^^^^^^^^^^^^^ >foo : () => string | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ x; // string >x : string @@ -194,7 +194,7 @@ function f6() { >foo() : string | undefined > : ^^^^^^^^^^^^^^^^^^ >foo : () => string | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >y = foo() : string | undefined > : ^^^^^^^^^^^^^^^^^^ >y : string | undefined @@ -202,7 +202,7 @@ function f6() { >foo() : string | undefined > : ^^^^^^^^^^^^^^^^^^ >foo : () => string | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ x; // string | undefined >x : string | undefined @@ -267,7 +267,7 @@ function f8(x: T) { function f9(x: T) { >f9 : (x: T) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ diff --git a/tests/baselines/reference/controlFlowTypeofObject.types b/tests/baselines/reference/controlFlowTypeofObject.types index 3277237b3c6da..abf525b8b9f68 100644 --- a/tests/baselines/reference/controlFlowTypeofObject.types +++ b/tests/baselines/reference/controlFlowTypeofObject.types @@ -35,7 +35,7 @@ function f1(x: unknown) { >obj(x) : void > : ^^^^ >obj : (x: object) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : object > : ^^^^^^ } @@ -69,7 +69,7 @@ function f2(x: unknown) { >obj(x) : void > : ^^^^ >obj : (x: object) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : object > : ^^^^^^ } @@ -103,7 +103,7 @@ function f3(x: unknown) { >obj(x) : void > : ^^^^ >obj : (x: object) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : object > : ^^^^^^ } @@ -139,7 +139,7 @@ function f4(x: unknown) { >obj(x) : void > : ^^^^ >obj : (x: object) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : object > : ^^^^^^ } @@ -192,7 +192,7 @@ function f5(x: unknown) { >obj(x) : void > : ^^^^ >obj : (x: object) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : object > : ^^^^^^ } @@ -233,7 +233,7 @@ function f6(x: unknown) { >obj(x) : void > : ^^^^ >obj : (x: object) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : object > : ^^^^^^ } @@ -252,7 +252,7 @@ function f6(x: unknown) { >obj(x) : void > : ^^^^ >obj : (x: object) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : object | null > : ^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/controlFlowWhileStatement.types b/tests/baselines/reference/controlFlowWhileStatement.types index 3012536e6c7d4..a2e4c50053d3b 100644 --- a/tests/baselines/reference/controlFlowWhileStatement.types +++ b/tests/baselines/reference/controlFlowWhileStatement.types @@ -389,7 +389,7 @@ function h2() { >len(x) : number > : ^^^^^^ >len : (s: string | number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string | number > : ^^^^^^^^^^^^^^^ @@ -433,7 +433,7 @@ function h3() { >len(x) : number > : ^^^^^^ >len : (s: string | number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string | number > : ^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/controlFlowWithIncompleteTypes.types b/tests/baselines/reference/controlFlowWithIncompleteTypes.types index 45df7520991f8..febf0c47ec306 100644 --- a/tests/baselines/reference/controlFlowWithIncompleteTypes.types +++ b/tests/baselines/reference/controlFlowWithIncompleteTypes.types @@ -39,11 +39,11 @@ function foo1() { >x.slice() : string > : ^^^^^^ >x.slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >x : string > : ^^^^^^ >slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ } else { x = "abc"; @@ -98,11 +98,11 @@ function foo2() { >x.slice() : string > : ^^^^^^ >x.slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >x : string > : ^^^^^^ >slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ } } } diff --git a/tests/baselines/reference/controlFlowWithTemplateLiterals.types b/tests/baselines/reference/controlFlowWithTemplateLiterals.types index d3feac06fc50a..0dd4059420b6f 100644 --- a/tests/baselines/reference/controlFlowWithTemplateLiterals.types +++ b/tests/baselines/reference/controlFlowWithTemplateLiterals.types @@ -19,11 +19,11 @@ if (typeof envVar === `string`) { >envVar.slice(0) : string > : ^^^^^^ >envVar.slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >envVar : string > : ^^^^^^ >slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ } @@ -40,21 +40,21 @@ if (`test` in obj) { >`test` : "test" > : ^^^^^^ >obj : {} | { test: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^ obj.test.slice(0) >obj.test.slice(0) : string > : ^^^^^^ >obj.test.slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >obj.test : string > : ^^^^^^ >obj : { test: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >test : string > : ^^^^^^ >slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ } diff --git a/tests/baselines/reference/copyrightWithNewLine1.types b/tests/baselines/reference/copyrightWithNewLine1.types index 8df59c149eefe..6050e1b3dc062 100644 --- a/tests/baselines/reference/copyrightWithNewLine1.types +++ b/tests/baselines/reference/copyrightWithNewLine1.types @@ -14,12 +14,12 @@ var el = document.getElementById('content'); > : ^^^^^^^^^^^ >document.getElementById('content') : HTMLElement > : ^^^^^^^^^^^ ->document.getElementById : (elementId: string) => HTMLElement -> : ^ ^^ ^^^^^^^^^^^^^^^^ +>document.getElementById : (elementId: string) => HTMLElement | null +> : ^ ^^ ^^^^^ >document : Document > : ^^^^^^^^ ->getElementById : (elementId: string) => HTMLElement -> : ^ ^^ ^^^^^^^^^^^^^^^^ +>getElementById : (elementId: string) => HTMLElement | null +> : ^ ^^ ^^^^^ >'content' : "content" > : ^^^^^^^^^ diff --git a/tests/baselines/reference/copyrightWithoutNewLine1.types b/tests/baselines/reference/copyrightWithoutNewLine1.types index fb077e47b745e..20b7a0647eb13 100644 --- a/tests/baselines/reference/copyrightWithoutNewLine1.types +++ b/tests/baselines/reference/copyrightWithoutNewLine1.types @@ -13,12 +13,12 @@ var el = document.getElementById('content'); > : ^^^^^^^^^^^ >document.getElementById('content') : HTMLElement > : ^^^^^^^^^^^ ->document.getElementById : (elementId: string) => HTMLElement -> : ^ ^^ ^^^^^^^^^^^^^^^^ +>document.getElementById : (elementId: string) => HTMLElement | null +> : ^ ^^ ^^^^^ >document : Document > : ^^^^^^^^ ->getElementById : (elementId: string) => HTMLElement -> : ^ ^^ ^^^^^^^^^^^^^^^^ +>getElementById : (elementId: string) => HTMLElement | null +> : ^ ^^ ^^^^^ >'content' : "content" > : ^^^^^^^^^ diff --git a/tests/baselines/reference/correctOrderOfPromiseMethod.types b/tests/baselines/reference/correctOrderOfPromiseMethod.types index 6bd3c13d0ee1d..2c6d644924e6e 100644 --- a/tests/baselines/reference/correctOrderOfPromiseMethod.types +++ b/tests/baselines/reference/correctOrderOfPromiseMethod.types @@ -46,12 +46,12 @@ async function countEverything(): Promise { > : ^^^^^^^^^^ >Promise.all([ providerA(), providerB(), ]) : Promise<[A[], B[]]> > : ^^^^^^^^^^^^^^^^^^^ ->Promise.all : { (values: Iterable>): Promise[]>; (values: T_1): Promise<{ -readonly [P in keyof T_1]: Awaited; }>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->all : { (values: Iterable>): Promise[]>; (values: T_1): Promise<{ -readonly [P in keyof T_1]: Awaited; }>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >[ providerA(), providerB(), ] : [Promise, Promise] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -59,13 +59,13 @@ async function countEverything(): Promise { >providerA() : Promise > : ^^^^^^^^^^^^ >providerA : () => Promise -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ providerB(), >providerB() : Promise > : ^^^^^^^^^^^^ >providerB : () => Promise -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ]); @@ -117,12 +117,12 @@ const expected: Promise<["a", "b", "c"]> = Promise.all(undefined as readonly ["a > : ^^^^^^^^^^^^^^^^^^^^^^^^ >Promise.all(undefined as readonly ["a", "b", "c"]) : Promise<["a", "b", "c"]> > : ^^^^^^^^^^^^^^^^^^^^^^^^ ->Promise.all : { (values: Iterable>): Promise[]>; (values: T_1): Promise<{ -readonly [P in keyof T_1]: Awaited; }>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->all : { (values: Iterable>): Promise[]>; (values: T_1): Promise<{ -readonly [P in keyof T_1]: Awaited; }>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >undefined as readonly ["a", "b", "c"] : readonly ["a", "b", "c"] > : ^^^^^^^^^^^^^^^^^^^^^^^^ >undefined : undefined diff --git a/tests/baselines/reference/correlatedUnions.js b/tests/baselines/reference/correlatedUnions.js index 773c11a30850a..8970ec3cbef7c 100644 --- a/tests/baselines/reference/correlatedUnions.js +++ b/tests/baselines/reference/correlatedUnions.js @@ -602,7 +602,7 @@ type SameKeys = { }; }; type MappedFromOriginal = SameKeys; -declare const getStringAndNumberFromOriginalAndMapped: (original: Original, mappedFromOriginal: MappedFromOriginal, key: K, nestedKey: N) => [Original[K][N], MappedFromOriginal[K][N]]; +declare const getStringAndNumberFromOriginalAndMapped: >(original: Original, mappedFromOriginal: MappedFromOriginal, key: K, nestedKey: N) => [Original[K][N], MappedFromOriginal[K][N]]; interface Config { string: string; number: number; diff --git a/tests/baselines/reference/correlatedUnions.types b/tests/baselines/reference/correlatedUnions.types index 0fbc5656857fa..cfab9eafdbf84 100644 --- a/tests/baselines/reference/correlatedUnions.types +++ b/tests/baselines/reference/correlatedUnions.types @@ -38,7 +38,7 @@ type UnionRecord = { [P in K]: { function processRecord(rec: UnionRecord) { >processRecord : (rec: UnionRecord) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >rec : UnionRecord > : ^^^^^^^^^^^^^^ @@ -46,11 +46,11 @@ function processRecord(rec: UnionRecord) { >rec.f(rec.v) : void > : ^^^^ >rec.f : (v: RecordMap[K]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^ >rec : UnionRecord > : ^^^^^^^^^^^^^^ >f : (v: RecordMap[K]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^ >rec.v : RecordMap[K] > : ^^^^^^^^^^^^ >rec : UnionRecord @@ -61,7 +61,7 @@ function processRecord(rec: UnionRecord) { declare const r1: UnionRecord<'n'>; // { kind: 'n', v: number, f: (v: number) => void } >r1 : { kind: "n"; v: number; f: (v: number) => void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ declare const r2: UnionRecord; // { kind: 'n', ... } | { kind: 's', ... } | { kind: 'b', ... } >r2 : UnionRecord @@ -71,15 +71,15 @@ processRecord(r1); >processRecord(r1) : void > : ^^^^ >processRecord : (rec: UnionRecord) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >r1 : { kind: "n"; v: number; f: (v: number) => void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ processRecord(r2); >processRecord(r2) : void > : ^^^^ >processRecord : (rec: UnionRecord) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >r2 : UnionRecord > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -87,7 +87,7 @@ processRecord({ kind: 'n', v: 42, f: v => v.toExponential() }); >processRecord({ kind: 'n', v: 42, f: v => v.toExponential() }) : void > : ^^^^ >processRecord : (rec: UnionRecord) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >{ kind: 'n', v: 42, f: v => v.toExponential() } : { kind: "n"; v: number; f: (v: number) => string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >kind : "n" @@ -107,11 +107,11 @@ processRecord({ kind: 'n', v: 42, f: v => v.toExponential() }); >v.toExponential() : string > : ^^^^^^ >v.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >v : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ // -------- @@ -194,7 +194,7 @@ const renderFuncs: RenderFuncMap = { function renderField(field: FormField) { >renderField : (field: FormField) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >field : FormField > : ^^^^^^^^^^^^ @@ -281,11 +281,11 @@ const handlers: HandlerMap = { >n.toFixed(2) : string > : ^^^^^^ >n.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >n : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >2 : 2 > : ^ @@ -350,8 +350,8 @@ const data: DataEntry[] = [ ]; function process(data: DataEntry[]) { ->process : (data: DataEntry[]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>process : (data: DataEntry[]) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >data : DataEntry[] > : ^^^^^^^^^^^^^^ @@ -359,11 +359,11 @@ function process(data: DataEntry[]) { >data.forEach(block => { if (block.type in handlers) { handlers[block.type](block.data) } }) : void > : ^^^^ >data.forEach : (callbackfn: (value: DataEntry, index: number, array: DataEntry[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >data : DataEntry[] > : ^^^^^^^^^^^^^^ >forEach : (callbackfn: (value: DataEntry, index: number, array: DataEntry[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >block => { if (block.type in handlers) { handlers[block.type](block.data) } } : (block: DataEntry) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^ >block : DataEntry @@ -407,16 +407,16 @@ function process(data: DataEntry[]) { process(data); >process(data) : void > : ^^^^ ->process : (data: DataEntry[]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>process : (data: DataEntry[]) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >data : DataEntry[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ process([{ type: 'foo', data: 'abc' }]); >process([{ type: 'foo', data: 'abc' }]) : void > : ^^^^ ->process : (data: DataEntry[]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>process : (data: DataEntry[]) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >[{ type: 'foo', data: 'abc' }] : { type: "foo"; data: string; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ type: 'foo', data: 'abc' } : { type: "foo"; data: string; } @@ -452,17 +452,17 @@ type LetterCaller = { [P in K]: { letter: Record({ letter, caller }: LetterCaller): void { >call : ({ letter, caller }: LetterCaller) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >letter : Record > : ^^^^^^^^^^^^^^^^^^^^^^^ >caller : (x: Record) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ caller(letter); >caller(letter) : void > : ^^^^ >caller : (x: Record) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >letter : Record > : ^^^^^^^^^^^^^^^^^^^^^^^ } @@ -507,9 +507,9 @@ call(xx); >call(xx) : void > : ^^^^ >call : ({ letter, caller }: LetterCaller) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >xx : { letter: A; caller: ACaller; } | { letter: B; caller: BCaller; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ // -------- @@ -535,7 +535,7 @@ type Ev = { [P in K]: { function processEvents(events: Ev[]) { >processEvents : (events: Ev[]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >events : Ev[] > : ^^^^^^^ @@ -549,11 +549,11 @@ function processEvents(events: Ev[]) { >document.addEventListener(event.name, (ev) => event.callback(ev), { once: event.once }) : void > : ^^^^ >document.addEventListener : { (type: K_1, listener: (this: Document, ev: DocumentEventMap[K_1]) => any, options?: boolean | AddEventListenerOptions): void; (type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >document : Document > : ^^^^^^^^ >addEventListener : { (type: K_1, listener: (this: Document, ev: DocumentEventMap[K_1]) => any, options?: boolean | AddEventListenerOptions): void; (type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >event.name : K > : ^ >event : Ev @@ -567,11 +567,11 @@ function processEvents(events: Ev[]) { >event.callback(ev) : void > : ^^^^ >event.callback : (ev: DocumentEventMap[K]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >event : Ev > : ^^^^^ >callback : (ev: DocumentEventMap[K]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >ev : DocumentEventMap[K] > : ^^^^^^^^^^^^^^^^^^^ >{ once: event.once } : { once: boolean | undefined; } @@ -589,7 +589,7 @@ function processEvents(events: Ev[]) { function createEventListener({ name, once = false, callback }: Ev): Ev { >createEventListener : ({ name, once, callback }: Ev) => Ev -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >name : K > : ^ >once : boolean @@ -597,26 +597,26 @@ function createEventListener({ name, once = fa >false : false > : ^^^^^ >callback : (ev: DocumentEventMap[K]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ return { name, once, callback }; >{ name, once, callback } : { name: K; once: boolean; callback: (ev: DocumentEventMap[K]) => void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >name : K > : ^ >once : boolean > : ^^^^^^^ >callback : (ev: DocumentEventMap[K]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ } const clickEvent = createEventListener({ ->clickEvent : { readonly name: "click"; readonly once?: boolean | undefined; readonly callback: (ev: MouseEvent) => void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ->createEventListener({ name: "click", callback: ev => console.log(ev),}) : { readonly name: "click"; readonly once?: boolean | undefined; readonly callback: (ev: MouseEvent) => void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +>clickEvent : { readonly name: "click"; readonly once?: boolean; readonly callback: (ev: MouseEvent) => void; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ +>createEventListener({ name: "click", callback: ev => console.log(ev),}) : { readonly name: "click"; readonly once?: boolean; readonly callback: (ev: MouseEvent) => void; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ >createEventListener : ({ name, once, callback }: Ev) => Ev -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ name: "click", callback: ev => console.log(ev),} : { name: "click"; callback: (ev: MouseEvent) => void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ @@ -636,23 +636,23 @@ const clickEvent = createEventListener({ >console.log(ev) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >ev : MouseEvent > : ^^^^^^^^^^ }); const scrollEvent = createEventListener({ ->scrollEvent : { readonly name: "scroll"; readonly once?: boolean | undefined; readonly callback: (ev: Event) => void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ->createEventListener({ name: "scroll", callback: ev => console.log(ev),}) : { readonly name: "scroll"; readonly once?: boolean | undefined; readonly callback: (ev: Event) => void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +>scrollEvent : { readonly name: "scroll"; readonly once?: boolean; readonly callback: (ev: Event) => void; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^ +>createEventListener({ name: "scroll", callback: ev => console.log(ev),}) : { readonly name: "scroll"; readonly once?: boolean; readonly callback: (ev: Event) => void; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^ >createEventListener : ({ name, once, callback }: Ev) => Ev -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ name: "scroll", callback: ev => console.log(ev),} : { name: "scroll"; callback: (ev: Event) => void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ @@ -672,11 +672,11 @@ const scrollEvent = createEventListener({ >console.log(ev) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >ev : Event > : ^^^^^ @@ -686,19 +686,19 @@ processEvents([clickEvent, scrollEvent]); >processEvents([clickEvent, scrollEvent]) : void > : ^^^^ >processEvents : (events: Ev[]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ->[clickEvent, scrollEvent] : ({ readonly name: "click"; readonly once?: boolean | undefined; readonly callback: (ev: MouseEvent) => void; } | { readonly name: "scroll"; readonly once?: boolean | undefined; readonly callback: (ev: Event) => void; })[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ->clickEvent : { readonly name: "click"; readonly once?: boolean | undefined; readonly callback: (ev: MouseEvent) => void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ->scrollEvent : { readonly name: "scroll"; readonly once?: boolean | undefined; readonly callback: (ev: Event) => void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +>[clickEvent, scrollEvent] : ({ readonly name: "click"; readonly once?: boolean; readonly callback: (ev: MouseEvent) => void; } | { readonly name: "scroll"; readonly once?: boolean; readonly callback: (ev: Event) => void; })[] +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^ +>clickEvent : { readonly name: "click"; readonly once?: boolean; readonly callback: (ev: MouseEvent) => void; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ +>scrollEvent : { readonly name: "scroll"; readonly once?: boolean; readonly callback: (ev: Event) => void; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^ processEvents([ >processEvents([ { name: "click", callback: ev => console.log(ev) }, { name: "scroll", callback: ev => console.log(ev) },]) : void > : ^^^^ >processEvents : (events: Ev[]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >[ { name: "click", callback: ev => console.log(ev) }, { name: "scroll", callback: ev => console.log(ev) },] : ({ name: "click"; callback: (ev: MouseEvent) => void; } | { name: "scroll"; callback: (ev: Event) => void; })[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ @@ -718,11 +718,11 @@ processEvents([ >console.log(ev) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >ev : MouseEvent > : ^^^^^^^^^^ @@ -742,11 +742,11 @@ processEvents([ >console.log(ev) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >ev : Event > : ^^^^^ @@ -772,13 +772,13 @@ function ff1() { } type Keys = keyof ArgMap; >Keys : keyof { sum: [a: number, b: number]; concat: [a: string, b: string, c: string]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ const funs: { [P in Keys]: (...args: ArgMap[P]) => void } = { >funs : { concat: (a: string, b: string, c: string) => void; sum: (a: number, b: number) => void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >args : { sum: [a: number, b: number]; concat: [a: string, b: string, c: string]; }[P] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^ ^^^^^^ >{ sum: (a, b) => a + b, concat: (a, b, c) => a + b + c } : { sum: (a: number, b: number) => number; concat: (a: string, b: string, c: string) => string; } > : ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ @@ -822,19 +822,19 @@ function ff1() { } function apply(funKey: K, ...args: ArgMap[K]) { >apply : (funKey: K, ...args: { sum: [a: number, b: number]; concat: [a: string, b: string, c: string]; }[K]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^ ^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^ >funKey : K > : ^ >args : { sum: [a: number, b: number]; concat: [a: string, b: string, c: string]; }[K] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^ ^^^^^^ const fn = funs[funKey]; >fn : { concat: (a: string, b: string, c: string) => void; sum: (a: number, b: number) => void; }[K] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >funs[funKey] : { concat: (a: string, b: string, c: string) => void; sum: (a: number, b: number) => void; }[K] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >funs : { concat: (a: string, b: string, c: string) => void; sum: (a: number, b: number) => void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >funKey : K > : ^ @@ -842,11 +842,11 @@ function ff1() { >fn(...args) : void > : ^^^^ >fn : { concat: (a: string, b: string, c: string) => void; sum: (a: number, b: number) => void; }[K] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >...args : string | number > : ^^^^^^^^^^^^^^^ >args : { sum: [a: number, b: number]; concat: [a: string, b: string, c: string]; }[K] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^ ^^^^^^ } const x1 = apply('sum', 1, 2) >x1 : void @@ -854,7 +854,7 @@ function ff1() { >apply('sum', 1, 2) : void > : ^^^^ >apply : (funKey: K, ...args: { sum: [a: number, b: number]; concat: [a: string, b: string, c: string]; }[K]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^ ^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^ >'sum' : "sum" > : ^^^^^ >1 : 1 @@ -868,7 +868,7 @@ function ff1() { >apply('concat', 'str1', 'str2', 'str3' ) : void > : ^^^^ >apply : (funKey: K, ...args: { sum: [a: number, b: number]; concat: [a: string, b: string, c: string]; }[K]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^ ^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^ >'concat' : "concat" > : ^^^^^^^^ >'str1' : "str1" @@ -901,7 +901,7 @@ type Funcs = { [K in keyof ArgMap]: Func }; function f1(funcs: Funcs, key: K, arg: ArgMap[K]) { >f1 : (funcs: Funcs, key: K, arg: ArgMap[K]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >funcs : Funcs > : ^^^^^ >key : K @@ -924,7 +924,7 @@ function f1(funcs: Funcs, key: K, arg: ArgMap[K]) { function f2(funcs: Funcs, key: K, arg: ArgMap[K]) { >f2 : (funcs: Funcs, key: K, arg: ArgMap[K]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >funcs : Funcs > : ^^^^^ >key : K @@ -953,7 +953,7 @@ function f2(funcs: Funcs, key: K, arg: ArgMap[K]) { function f3(funcs: Funcs, key: K, arg: ArgMap[K]) { >f3 : (funcs: Funcs, key: K, arg: ArgMap[K]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >funcs : Funcs > : ^^^^^ >key : K @@ -982,7 +982,7 @@ function f3(funcs: Funcs, key: K, arg: ArgMap[K]) { function f4(x: Funcs[keyof ArgMap], y: Funcs[K]) { >f4 : (x: Funcs[keyof ArgMap], y: Funcs[K]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : Func<"b"> | Func<"a"> > : ^^^^^^^^^^^^^^^^^^^^^ >y : Funcs[K] @@ -1048,7 +1048,7 @@ const ref: MyObj = { function func(k: K): MyObj[K]['name'] | undefined { >func : (k: K) => MyObj[K]["name"] | undefined -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >k : K > : ^ @@ -1070,15 +1070,15 @@ function func(k: K): MyObj[K]['name'] | undefined { >myObj.name : string | number > : ^^^^^^^^^^^^^^^ >myObj : { name: string; } | { name: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ >name : string | number > : ^^^^^^^^^^^^^^^ } const myObj2: Partial[keyof MyObj] = ref[k]; >myObj2 : { name: string; } | { name: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >ref[k] : { name: string; } | { name: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ >ref : MyObj > : ^^^^^ >k : K @@ -1086,13 +1086,13 @@ function func(k: K): MyObj[K]['name'] | undefined { if (myObj2) { >myObj2 : { name: string; } | { name: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ return myObj2.name; >myObj2.name : string | number > : ^^^^^^^^^^^^^^^ >myObj2 : { name: string; } | { name: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ >name : string | number > : ^^^^^^^^^^^^^^^ } @@ -1110,8 +1110,8 @@ interface Foo { } function foo(prop: T, f: Required) { ->foo : (prop: T, f: Required) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +>foo : (prop: T, f: Required) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >prop : T > : ^ >f : Required @@ -1121,7 +1121,7 @@ function foo(prop: T, f: Required) { >bar(f[prop]) : void > : ^^^^ >bar : (t: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f[prop] : Required[T] > : ^^^^^^^^^^^^^^^^ >f : Required @@ -1139,8 +1139,8 @@ declare function bar(t: string): void; // Repro from #48246 declare function makeCompleteLookupMapping, Attr extends keyof T[number]>( ->makeCompleteLookupMapping : (ops: T, attr: Attr) => { [Item in T[number] as Item[Attr]]: Item; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +>makeCompleteLookupMapping : , Attr extends keyof T[number]>(ops: T, attr: Attr) => { [Item in T[number] as Item[Attr]]: Item; } +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ops: T, attr: Attr): { [Item in T[number]as Item[Attr]]: Item }; >ops : T @@ -1173,8 +1173,8 @@ const BAR_LOOKUP = makeCompleteLookupMapping(ALL_BARS, 'name'); > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >makeCompleteLookupMapping(ALL_BARS, 'name') : { a: { readonly name: "a"; }; b: { readonly name: "b"; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->makeCompleteLookupMapping : (ops: T, attr: Attr) => { [Item in T[number] as Item[Attr]]: Item; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>makeCompleteLookupMapping : , Attr extends keyof T[number]>(ops: T, attr: Attr) => { [Item in T[number] as Item[Attr]]: Item; } +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >ALL_BARS : readonly [{ readonly name: "a"; }, { readonly name: "b"; }] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'name' : "name" @@ -1242,10 +1242,10 @@ type MappedFromOriginal = SameKeys; > : ^^^^^^^^^^^^^^^^^^ const getStringAndNumberFromOriginalAndMapped = < ->getStringAndNumberFromOriginalAndMapped : (original: Original, mappedFromOriginal: MappedFromOriginal, key: K, nestedKey: N) => [Original[K][N], MappedFromOriginal[K][N]] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ->< K extends KeyOfOriginal, N extends NestedKeyOfOriginalFor>( original: Original, mappedFromOriginal: MappedFromOriginal, key: K, nestedKey: N): [Original[K][N], MappedFromOriginal[K][N]] => { return [original[key][nestedKey], mappedFromOriginal[key][nestedKey]];} : (original: Original, mappedFromOriginal: MappedFromOriginal, key: K, nestedKey: N) => [Original[K][N], MappedFromOriginal[K][N]] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ +>getStringAndNumberFromOriginalAndMapped : >(original: Original, mappedFromOriginal: MappedFromOriginal, key: K, nestedKey: N) => [Original[K][N], MappedFromOriginal[K][N]] +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ +>< K extends KeyOfOriginal, N extends NestedKeyOfOriginalFor>( original: Original, mappedFromOriginal: MappedFromOriginal, key: K, nestedKey: N): [Original[K][N], MappedFromOriginal[K][N]] => { return [original[key][nestedKey], mappedFromOriginal[key][nestedKey]];} : >(original: Original, mappedFromOriginal: MappedFromOriginal, key: K, nestedKey: N) => [Original[K][N], MappedFromOriginal[K][N]] +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ K extends KeyOfOriginal, N extends NestedKeyOfOriginalFor @@ -1306,7 +1306,7 @@ interface Config { function getConfigOrDefault( >getConfigOrDefault : (userConfig: Partial, key: T, defaultValue: Config[T]) => Config[T] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ userConfig: Partial, >userConfig : Partial @@ -1368,7 +1368,7 @@ type Foo1 = { function getValueConcrete( >getValueConcrete : (o: Partial, k: K) => Foo1[K] | undefined -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ o: Partial, >o : Partial diff --git a/tests/baselines/reference/couldNotSelectGenericOverload.types b/tests/baselines/reference/couldNotSelectGenericOverload.types index 52fa3b45f58d5..5afccfbc541ea 100644 --- a/tests/baselines/reference/couldNotSelectGenericOverload.types +++ b/tests/baselines/reference/couldNotSelectGenericOverload.types @@ -25,7 +25,7 @@ var b1G = makeArray(1, ""); // any, no error >makeArray(1, "") : unknown[] > : ^^^^^^^^^ >makeArray : (items: T[]) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >"" : "" @@ -37,7 +37,7 @@ var b2G = makeArray(b); // any[] >makeArray(b) : (string | number)[] > : ^^^^^^^^^^^^^^^^^^^ >makeArray : (items: T[]) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b : (string | number)[] > : ^^^^^^^^^^^^^^^^^^^ @@ -55,7 +55,7 @@ var b3G = makeArray2(1, ""); // error >makeArray2(1, "") : any[] > : ^^^^^ >makeArray2 : (items: any[]) => any[] -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ >"" : "" diff --git a/tests/baselines/reference/covariantCallbacks.types b/tests/baselines/reference/covariantCallbacks.types index b70af29e07fa5..4893772e40a9a 100644 --- a/tests/baselines/reference/covariantCallbacks.types +++ b/tests/baselines/reference/covariantCallbacks.types @@ -302,19 +302,19 @@ declare let bfs: Bivar<(x: string) => void>; bfu = bfs; >bfu = bfs : Bivar<(x: string) => void> -> : ^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^ ^ >bfu : Bivar<(x: unknown) => void> -> : ^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^ ^ >bfs : Bivar<(x: string) => void> -> : ^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^ ^ bfs = bfu; >bfs = bfu : Bivar<(x: unknown) => void> -> : ^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^ ^ >bfs : Bivar<(x: string) => void> -> : ^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^ ^ >bfu : Bivar<(x: unknown) => void> -> : ^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^ ^ type Bivar1 = { set(value: T): void } >Bivar1 : Bivar1 @@ -346,19 +346,19 @@ declare let b2fs: Bivar2<(x: string) => void>; b1fu = b2fs; >b1fu = b2fs : Bivar2<(x: string) => void> -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ ^ >b1fu : Bivar1<(x: unknown) => void> -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ ^ >b2fs : Bivar2<(x: string) => void> -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ ^ b2fs = b1fu; >b2fs = b1fu : Bivar1<(x: unknown) => void> -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ ^ >b2fs : Bivar2<(x: string) => void> -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ ^ >b1fu : Bivar1<(x: unknown) => void> -> : ^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ ^ type SetLike = { set(value: T): void, get(): T } >SetLike : SetLike @@ -384,19 +384,19 @@ declare let sy: SetLike1<(x: string) => void>; sx = sy; // Error >sx = sy : SetLike1<(x: string) => void> -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^ ^ >sx : SetLike1<(x: unknown) => void> -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^ ^ >sy : SetLike1<(x: string) => void> -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^ ^ sy = sx; >sy = sx : SetLike1<(x: unknown) => void> -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^ ^ >sy : SetLike1<(x: string) => void> -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^ ^ >sx : SetLike1<(x: unknown) => void> -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^ ^ type SetLike1 = { set(value: T): void, get(): T } >SetLike1 : SetLike1 @@ -432,17 +432,17 @@ declare let s2: SetLike2<(x: string) => void>; s1 = s2; // Error >s1 = s2 : SetLike2<(x: string) => void> -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^ ^ >s1 : SetLike1<(x: unknown) => void> -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^ ^ >s2 : SetLike2<(x: string) => void> -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^ ^ s2 = s1; >s2 = s1 : SetLike1<(x: unknown) => void> -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^ ^ >s2 : SetLike2<(x: string) => void> -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^ ^ >s1 : SetLike1<(x: unknown) => void> -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^ ^ diff --git a/tests/baselines/reference/crashDeclareGlobalTypeofExport.errors.txt b/tests/baselines/reference/crashDeclareGlobalTypeofExport.errors.txt new file mode 100644 index 0000000000000..30ce2b462ba9c --- /dev/null +++ b/tests/baselines/reference/crashDeclareGlobalTypeofExport.errors.txt @@ -0,0 +1,33 @@ +bar.d.ts(2,21): error TS2451: Cannot redeclare block-scoped variable 'foo'. +bar.d.ts(6,11): error TS2451: Cannot redeclare block-scoped variable 'foo'. +bar.d.ts(6,11): error TS2502: 'foo' is referenced directly or indirectly in its own type annotation. + + +==== bar.d.ts (3 errors) ==== + import * as foo from './foo' + export as namespace foo + ~~~ +!!! error TS2451: Cannot redeclare block-scoped variable 'foo'. +!!! related TS6203 bar.d.ts:6:11: 'foo' was also declared here. + export = foo; + + declare global { + const foo: typeof foo; + ~~~ +!!! error TS2451: Cannot redeclare block-scoped variable 'foo'. +!!! related TS6203 bar.d.ts:2:21: 'foo' was also declared here. + ~~~ +!!! error TS2502: 'foo' is referenced directly or indirectly in its own type annotation. + } + +==== foo.d.ts (0 errors) ==== + interface Root { + /** + * A .default property for ES6 default import compatibility + */ + default: Root; + } + + declare const root: Root; + export = root; + \ No newline at end of file diff --git a/tests/baselines/reference/crashDeclareGlobalTypeofExport.symbols b/tests/baselines/reference/crashDeclareGlobalTypeofExport.symbols index 64f9b0df3e8c6..1afc266f932cb 100644 --- a/tests/baselines/reference/crashDeclareGlobalTypeofExport.symbols +++ b/tests/baselines/reference/crashDeclareGlobalTypeofExport.symbols @@ -14,8 +14,8 @@ declare global { >global : Symbol(global, Decl(bar.d.ts, 2, 13)) const foo: typeof foo; ->foo : Symbol(foo, Decl(foo.d.ts, 7, 13), Decl(bar.d.ts, 5, 9)) ->foo : Symbol(foo, Decl(foo.d.ts, 7, 13), Decl(bar.d.ts, 5, 9)) +>foo : Symbol(foo, Decl(bar.d.ts, 5, 9)) +>foo : Symbol(foo, Decl(bar.d.ts, 5, 9)) } === foo.d.ts === diff --git a/tests/baselines/reference/crashDeclareGlobalTypeofExport.types b/tests/baselines/reference/crashDeclareGlobalTypeofExport.types index 3893345c72311..1a36e3e331663 100644 --- a/tests/baselines/reference/crashDeclareGlobalTypeofExport.types +++ b/tests/baselines/reference/crashDeclareGlobalTypeofExport.types @@ -18,10 +18,10 @@ declare global { > : ^^^^^^^^^^^^^ const foo: typeof foo; ->foo : Root -> : ^^^^ ->foo : Root -> : ^^^^ +>foo : any +> : ^^^ +>foo : any +> : ^^^ } === foo.d.ts === diff --git a/tests/baselines/reference/crashInResolveInterface.types b/tests/baselines/reference/crashInResolveInterface.types index 391dab393244a..11b0d0aa0df1a 100644 --- a/tests/baselines/reference/crashInResolveInterface.types +++ b/tests/baselines/reference/crashInResolveInterface.types @@ -46,23 +46,23 @@ var x = q1.each(x => c.log(x)); >q1.each(x => c.log(x)) : void > : ^^^^ >q1.each : (action: (item: { a: number; }, index: number) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^ ^^^^^ ^^ ^^^^^ ^^^^^ >q1 : Q<{ a: number; }> -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^ >each : (action: (item: { a: number; }, index: number) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^ ^^^^^ ^^ ^^^^^ ^^^^^ >x => c.log(x) : (x: { a: number; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^^^^^^^^ >x : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c.log(x) : void > : ^^^^ >c.log : (message?: any, ...optionalParams: any[]) => void -> : ^ ^^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^^^^ >c : C > : ^ >log : (message?: any, ...optionalParams: any[]) => void -> : ^ ^^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^^^^ >x : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ diff --git a/tests/baselines/reference/crashInsourcePropertyIsRelatableToTargetProperty.types b/tests/baselines/reference/crashInsourcePropertyIsRelatableToTargetProperty.types index 5606f7786c5ca..766db4e0e9f41 100644 --- a/tests/baselines/reference/crashInsourcePropertyIsRelatableToTargetProperty.types +++ b/tests/baselines/reference/crashInsourcePropertyIsRelatableToTargetProperty.types @@ -29,13 +29,13 @@ function foo(x: "hi", items: string[]): typeof foo; function foo(x: string, items: string[]): typeof foo { >foo : (x: "hi", items: string[]) => typeof foo -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >x : string > : ^^^^^^ >items : string[] > : ^^^^^^^^ >foo : (x: "hi", items: string[]) => typeof foo -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ return null; } @@ -43,9 +43,9 @@ var a: D = foo("hi", []); >a : D > : ^ >foo("hi", []) : (x: "hi", items: string[]) => typeof foo -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >foo : (x: "hi", items: string[]) => typeof foo -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >"hi" : "hi" > : ^^^^ >[] : undefined[] diff --git a/tests/baselines/reference/createArray.types b/tests/baselines/reference/createArray.types index a51f842b4d136..9d725d8ccc1cb 100644 --- a/tests/baselines/reference/createArray.types +++ b/tests/baselines/reference/createArray.types @@ -80,7 +80,7 @@ if (ba[14]) { >f(sa[3]) : number > : ^^^^^^ >f : (s: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sa[3] : any > : ^^^ >sa : any diff --git a/tests/baselines/reference/customEventDetail.types b/tests/baselines/reference/customEventDetail.types index 2a6b186eb4811..e0b82bdb6c98a 100644 --- a/tests/baselines/reference/customEventDetail.types +++ b/tests/baselines/reference/customEventDetail.types @@ -10,11 +10,11 @@ x.initCustomEvent('hello', true, true, { id: 12, name: 'hello' }); >x.initCustomEvent('hello', true, true, { id: 12, name: 'hello' }) : void > : ^^^^ >x.initCustomEvent : (type: string, bubbles?: boolean, cancelable?: boolean, detail?: any) => void -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^^^^^^^^^ >x : CustomEvent > : ^^^^^^^^^^^^^^^^ >initCustomEvent : (type: string, bubbles?: boolean, cancelable?: boolean, detail?: any) => void -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^^^^^^^^^ >'hello' : "hello" > : ^^^^^^^ >true : true diff --git a/tests/baselines/reference/cyclicGenericTypeInstantiationInference.types b/tests/baselines/reference/cyclicGenericTypeInstantiationInference.types index d1a6b4fedba8c..e150afa7a438d 100644 --- a/tests/baselines/reference/cyclicGenericTypeInstantiationInference.types +++ b/tests/baselines/reference/cyclicGenericTypeInstantiationInference.types @@ -89,7 +89,7 @@ test(b); >test(b) : void > : ^^^^ >test : (x: typeof a) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >b : { y2: { y2: { y2: { y2: { y2: { y2: { y2: { y2: { y2: { y2: { y2: any; }; }; }; }; }; }; }; }; }; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/cyclicTypeInstantiation.types b/tests/baselines/reference/cyclicTypeInstantiation.types index c4072505818fb..6e204e0f7950c 100644 --- a/tests/baselines/reference/cyclicTypeInstantiation.types +++ b/tests/baselines/reference/cyclicTypeInstantiation.types @@ -15,14 +15,14 @@ function foo() { b: typeof x; >b : { a: T; b: any; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ >x : { a: T; b: any; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ }; return x; >x : { a: T; b: any; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ } function bar() { @@ -39,14 +39,14 @@ function bar() { b: typeof x; >b : { a: T; b: any; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ >x : { a: T; b: any; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ }; return x; >x : { a: T; b: any; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ } var a = foo(); @@ -55,7 +55,7 @@ var a = foo(); >foo() : { a: string; b: any; } > : ^^^^^^^^^^^^^^^^^^^^^^ >foo : () => { a: T; b: any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^ var b = bar(); >b : { a: string; b: any; } @@ -63,7 +63,7 @@ var b = bar(); >bar() : { a: string; b: any; } > : ^^^^^^^^^^^^^^^^^^^^^^ >bar : () => { a: T; b: any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^ // Relating types of a and b produces instantiations of the cyclic anonymous types in foo and bar a = b; diff --git a/tests/baselines/reference/declFileConstructors.types b/tests/baselines/reference/declFileConstructors.types index ee58a95ca2675..87c70f851a3b7 100644 --- a/tests/baselines/reference/declFileConstructors.types +++ b/tests/baselines/reference/declFileConstructors.types @@ -49,11 +49,11 @@ export class ConstructorWithRestParamters { >rests.join("") : string > : ^^^^^^ >rests.join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >rests : string[] > : ^^^^^^^^ >join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"" : "" > : ^^ } @@ -167,11 +167,11 @@ class GlobalConstructorWithRestParamters { >rests.join("") : string > : ^^^^^^ >rests.join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >rests : string[] > : ^^^^^^^^ >join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"" : "" > : ^^ } diff --git a/tests/baselines/reference/declFileFunctions.types b/tests/baselines/reference/declFileFunctions.types index 11304bc130d59..e9e108d197fc4 100644 --- a/tests/baselines/reference/declFileFunctions.types +++ b/tests/baselines/reference/declFileFunctions.types @@ -40,30 +40,30 @@ export function fooWithRestParameters(a: string, ...rests: string[]) { >rests.join("") : string > : ^^^^^^ >rests.join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >rests : string[] > : ^^^^^^^^ >join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"" : "" > : ^^ } export function fooWithOverloads(a: string): string; >fooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : string > : ^^^^^^ export function fooWithOverloads(a: number): number; >fooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ export function fooWithOverloads(a: any): any { >fooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any return a; @@ -78,7 +78,7 @@ export function fooWithSingleOverload(a: string): string; export function fooWithSingleOverload(a: any) { >fooWithSingleOverload : (a: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : any return a; @@ -165,30 +165,30 @@ function nonExportedFooWithRestParameters(a: string, ...rests: string[]) { >rests.join("") : string > : ^^^^^^ >rests.join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >rests : string[] > : ^^^^^^^^ >join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"" : "" > : ^^ } function nonExportedFooWithOverloads(a: string): string; >nonExportedFooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : string > : ^^^^^^ function nonExportedFooWithOverloads(a: number): number; >nonExportedFooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ function nonExportedFooWithOverloads(a: any): any { >nonExportedFooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any return a; @@ -235,29 +235,29 @@ function globalfooWithRestParameters(a: string, ...rests: string[]) { >rests.join("") : string > : ^^^^^^ >rests.join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >rests : string[] > : ^^^^^^^^ >join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"" : "" > : ^^ } function globalfooWithOverloads(a: string): string; >globalfooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : string > : ^^^^^^ function globalfooWithOverloads(a: number): number; >globalfooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ function globalfooWithOverloads(a: any): any { >globalfooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any return a; diff --git a/tests/baselines/reference/declFileGenericType.types b/tests/baselines/reference/declFileGenericType.types index 953b8ca436752..00cc067ed5677 100644 --- a/tests/baselines/reference/declFileGenericType.types +++ b/tests/baselines/reference/declFileGenericType.types @@ -41,7 +41,7 @@ export module C { export function F4>(x: T): Array> { return null; } >F4 : >(x: T) => Array> -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : T > : ^ >C : any @@ -55,7 +55,7 @@ export module C { export function F6>(x: T): T { return null; } >F6 : >(x: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : T > : ^ @@ -80,43 +80,43 @@ export var a: C.A; export var b = C.F; >b : (x: T) => C.A -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ ^^^ >C.F : (x: T) => C.A -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ ^^^ >C : typeof C > : ^^^^^^^^ >F : (x: T) => C.A -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ ^^^ export var c = C.F2; >c : (x: T) => C.A -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >C.F2 : (x: T) => C.A -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >C : typeof C > : ^^^^^^^^ >F2 : (x: T) => C.A -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ export var d = C.F3; >d : (x: T) => C.A[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >C.F3 : (x: T) => C.A[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >C : typeof C > : ^^^^^^^^ >F3 : (x: T) => C.A[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ export var e = C.F4; ->e : >(x: T) => C.A[] -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ->C.F4 : >(x: T) => C.A[] -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +>e : >(x: T) => Array> +> : ^ ^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^^^ +>C.F4 : >(x: T) => Array> +> : ^ ^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^^^ >C : typeof C > : ^^^^^^^^ ->F4 : >(x: T) => C.A[] -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +>F4 : >(x: T) => Array> +> : ^ ^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^^^ export var x = (new C.D>(new C.A())).val; >x : C.A @@ -152,7 +152,7 @@ export var x = (new C.D>(new C.A())).val; export function f>() { } >f : >() => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ >C : any > : ^^^ >C : any @@ -164,11 +164,11 @@ export var g = C.F5>(); >C.F5>() : C.A > : ^^^^^^^^ >C.F5 : () => T -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ >C : typeof C > : ^^^^^^^^ >F5 : () => T -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ >C : any > : ^^^ >C : any @@ -194,11 +194,11 @@ export interface i extends C.A { } export var j = C.F6; >j : >(x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^^^ >C.F6 : >(x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^^^ >C : typeof C > : ^^^^^^^^ >F6 : >(x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/declFileImportModuleWithExportAssignment.types b/tests/baselines/reference/declFileImportModuleWithExportAssignment.types index b857a00cb678a..e87f98845ca8c 100644 --- a/tests/baselines/reference/declFileImportModuleWithExportAssignment.types +++ b/tests/baselines/reference/declFileImportModuleWithExportAssignment.types @@ -68,5 +68,5 @@ var m2: { }; export = m2; >m2 : { (): m2.connectExport; test1: m2.connectModule; test2(): m2.connectModule; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^ ^^^ diff --git a/tests/baselines/reference/declFileMethods.types b/tests/baselines/reference/declFileMethods.types index 84c0767e44d3c..a99cfdc9e4c58 100644 --- a/tests/baselines/reference/declFileMethods.types +++ b/tests/baselines/reference/declFileMethods.types @@ -44,30 +44,30 @@ export class c1 { >rests.join("") : string > : ^^^^^^ >rests.join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >rests : string[] > : ^^^^^^^^ >join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"" : "" > : ^^ } public fooWithOverloads(a: string): string; >fooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : string > : ^^^^^^ public fooWithOverloads(a: number): number; >fooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ public fooWithOverloads(a: any): any { >fooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any return a; @@ -114,29 +114,29 @@ export class c1 { >rests.join("") : string > : ^^^^^^ >rests.join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >rests : string[] > : ^^^^^^^^ >join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"" : "" > : ^^ } private privateFooWithOverloads(a: string): string; >privateFooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : string > : ^^^^^^ private privateFooWithOverloads(a: number): number; >privateFooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ private privateFooWithOverloads(a: any): any { >privateFooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any return a; @@ -183,29 +183,29 @@ export class c1 { >rests.join("") : string > : ^^^^^^ >rests.join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >rests : string[] > : ^^^^^^^^ >join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"" : "" > : ^^ } static staticFooWithOverloads(a: string): string; >staticFooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : string > : ^^^^^^ static staticFooWithOverloads(a: number): number; >staticFooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ static staticFooWithOverloads(a: any): any { >staticFooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any return a; @@ -252,29 +252,29 @@ export class c1 { >rests.join("") : string > : ^^^^^^ >rests.join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >rests : string[] > : ^^^^^^^^ >join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"" : "" > : ^^ } private static privateStaticFooWithOverloads(a: string): string; >privateStaticFooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : string > : ^^^^^^ private static privateStaticFooWithOverloads(a: number): number; >privateStaticFooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ private static privateStaticFooWithOverloads(a: any): any { >privateStaticFooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any return a; @@ -310,13 +310,13 @@ export interface I1 { fooWithOverloads(a: string): string; >fooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : string > : ^^^^^^ fooWithOverloads(a: number): number; >fooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ } @@ -365,30 +365,30 @@ class c2 { >rests.join("") : string > : ^^^^^^ >rests.join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >rests : string[] > : ^^^^^^^^ >join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"" : "" > : ^^ } public fooWithOverloads(a: string): string; >fooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : string > : ^^^^^^ public fooWithOverloads(a: number): number; >fooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ public fooWithOverloads(a: any): any { >fooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any return a; @@ -435,29 +435,29 @@ class c2 { >rests.join("") : string > : ^^^^^^ >rests.join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >rests : string[] > : ^^^^^^^^ >join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"" : "" > : ^^ } private privateFooWithOverloads(a: string): string; >privateFooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : string > : ^^^^^^ private privateFooWithOverloads(a: number): number; >privateFooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ private privateFooWithOverloads(a: any): any { >privateFooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any return a; @@ -504,29 +504,29 @@ class c2 { >rests.join("") : string > : ^^^^^^ >rests.join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >rests : string[] > : ^^^^^^^^ >join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"" : "" > : ^^ } static staticFooWithOverloads(a: string): string; >staticFooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : string > : ^^^^^^ static staticFooWithOverloads(a: number): number; >staticFooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ static staticFooWithOverloads(a: any): any { >staticFooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any return a; @@ -573,29 +573,29 @@ class c2 { >rests.join("") : string > : ^^^^^^ >rests.join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >rests : string[] > : ^^^^^^^^ >join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"" : "" > : ^^ } private static privateStaticFooWithOverloads(a: string): string; >privateStaticFooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : string > : ^^^^^^ private static privateStaticFooWithOverloads(a: number): number; >privateStaticFooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ private static privateStaticFooWithOverloads(a: any): any { >privateStaticFooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any return a; @@ -631,13 +631,13 @@ interface I2 { fooWithOverloads(a: string): string; >fooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : string > : ^^^^^^ fooWithOverloads(a: number): number; >fooWithOverloads : { (a: string): string; (a: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ } diff --git a/tests/baselines/reference/declFileRestParametersOfFunctionAndFunctionType.types b/tests/baselines/reference/declFileRestParametersOfFunctionAndFunctionType.types index 5af583e8f758f..82546bbe8fe70 100644 --- a/tests/baselines/reference/declFileRestParametersOfFunctionAndFunctionType.types +++ b/tests/baselines/reference/declFileRestParametersOfFunctionAndFunctionType.types @@ -24,14 +24,14 @@ function f3(x: { (...args): void }) { } > : ^^^^^ function f4 void>() { } ->f4 : void>() => void -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^ +>f4 : void>() => void +> : ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ >args : any[] > : ^^^^^ function f5() { } ->f5 : void>() => void -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^ +>f5 : () => void +> : ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ >args : any[] > : ^^^^^ diff --git a/tests/baselines/reference/declFileTypeAnnotationStringLiteral.types b/tests/baselines/reference/declFileTypeAnnotationStringLiteral.types index e40862df51dbe..7f1ba3daba4e5 100644 --- a/tests/baselines/reference/declFileTypeAnnotationStringLiteral.types +++ b/tests/baselines/reference/declFileTypeAnnotationStringLiteral.types @@ -3,25 +3,25 @@ === declFileTypeAnnotationStringLiteral.ts === function foo(a: "hello"): number; >foo : { (a: "hello"): number; (a: "name"): string; (a: string): string | number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : "hello" > : ^^^^^^^ function foo(a: "name"): string; >foo : { (a: "hello"): number; (a: "name"): string; (a: string): string | number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : "name" > : ^^^^^^ function foo(a: string): string | number; >foo : { (a: "hello"): number; (a: "name"): string; (a: string): string | number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : string > : ^^^^^^ function foo(a: string): string | number { >foo : { (a: "hello"): number; (a: "name"): string; (a: string): string | number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : string > : ^^^^^^ diff --git a/tests/baselines/reference/declFileTypeAnnotationTupleType.types b/tests/baselines/reference/declFileTypeAnnotationTupleType.types index 63a4466c0b385..87d52435015d5 100644 --- a/tests/baselines/reference/declFileTypeAnnotationTupleType.types +++ b/tests/baselines/reference/declFileTypeAnnotationTupleType.types @@ -78,7 +78,7 @@ var x: [g, m.g, () => c] = [new g(), new m.g(), var y = x; >y : [g, m.g, () => c] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ >x : [g, m.g, () => c] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ diff --git a/tests/baselines/reference/declFileTypeAnnotationUnionType.js b/tests/baselines/reference/declFileTypeAnnotationUnionType.js index 67ef1f95e7104..649abee50f6d8 100644 --- a/tests/baselines/reference/declFileTypeAnnotationUnionType.js +++ b/tests/baselines/reference/declFileTypeAnnotationUnionType.js @@ -75,3 +75,19 @@ declare var k: c | m.c; declare var l: c | m.c; declare var x: g | m.g | (() => c); declare var y: g | m.g | (() => c); + + +!!!! File declFileTypeAnnotationUnionType.d.ts differs from original emit in noCheck emit +//// [declFileTypeAnnotationUnionType.d.ts] +=================================================================== +--- Expected The full check baseline ++++ Actual with noCheck set +@@ -12,7 +12,7 @@ + declare class g { + private s; + } + declare var k: c | m.c; +-declare var l: c | m.c; ++declare var l: m.c | c; + declare var x: g | m.g | (() => c); + declare var y: g | m.g | (() => c); diff --git a/tests/baselines/reference/declFileTypeAnnotationVisibilityErrorTypeLiteral.types b/tests/baselines/reference/declFileTypeAnnotationVisibilityErrorTypeLiteral.types index 992a4b0892aa4..0d4f6f49920bf 100644 --- a/tests/baselines/reference/declFileTypeAnnotationVisibilityErrorTypeLiteral.types +++ b/tests/baselines/reference/declFileTypeAnnotationVisibilityErrorTypeLiteral.types @@ -91,9 +91,9 @@ module m { }; export var x3 = x; >x3 : { (): m2.public1[]; [n: number]: private1; [s: string]: m2.public1; x: private1; y: m2.public1; method(): private1; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^ ^^^ >x : { (): m2.public1[]; [n: number]: private1; [s: string]: m2.public1; x: private1; y: m2.public1; method(): private1; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^ ^^^ // Function type export var y: (a: private1) => m2.public1; @@ -106,9 +106,9 @@ module m { export var y2 = y; >y2 : (a: private1) => m2.public1 -> : ^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >y : (a: private1) => m2.public1 -> : ^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ // constructor type export var z: new (a: private1) => m2.public1; @@ -121,7 +121,7 @@ module m { export var z2 = z; >z2 : new (a: private1) => m2.public1 -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >z : new (a: private1) => m2.public1 -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ } diff --git a/tests/baselines/reference/declFileTypeofFunction.types b/tests/baselines/reference/declFileTypeofFunction.types index c4981ebc6632d..b064b68f0e49d 100644 --- a/tests/baselines/reference/declFileTypeofFunction.types +++ b/tests/baselines/reference/declFileTypeofFunction.types @@ -3,45 +3,45 @@ === declFileTypeofFunction.ts === function f(n: typeof f): string; >f : { (n: typeof f): string; (n: typeof g): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : { (n: typeof f): string; (n: typeof g): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >f : { (n: typeof f): string; (n: typeof g): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ function f(n: typeof g): string; >f : { (n: typeof f): string; (n: typeof g): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : { (n: typeof g): number; (n: typeof f): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >g : { (n: typeof g): number; (n: typeof f): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ function f() { return undefined; } >f : { (n: typeof f): string; (n: typeof g): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ function g(n: typeof g): number; >g : { (n: typeof g): number; (n: typeof f): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : { (n: typeof g): number; (n: typeof f): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >g : { (n: typeof g): number; (n: typeof f): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ function g(n: typeof f): number; >g : { (n: typeof g): number; (n: typeof f): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : { (n: typeof f): string; (n: typeof g): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >f : { (n: typeof f): string; (n: typeof g): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ function g() { return undefined; } >g : { (n: typeof g): number; (n: typeof f): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ @@ -70,15 +70,15 @@ function foo(): typeof foo { } var foo1: typeof foo; >foo1 : () => typeof foo -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^ >foo : () => typeof foo -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^ var foo2 = foo; >foo2 : () => typeof foo -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^ >foo : () => typeof foo -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^ var foo3 = function () { >foo3 : () => any diff --git a/tests/baselines/reference/declarationEmitAliasFromIndirectFile.types b/tests/baselines/reference/declarationEmitAliasFromIndirectFile.types index d86a171bcda65..655e12f022750 100644 --- a/tests/baselines/reference/declarationEmitAliasFromIndirectFile.types +++ b/tests/baselines/reference/declarationEmitAliasFromIndirectFile.types @@ -79,9 +79,9 @@ const fp = { l10ns: {} } as FlatpickrFn; export default fp.l10ns; >fp.l10ns : { ar?: import("locale").CustomLocale; bg?: import("locale").CustomLocale; } & { default: import("locale").Locale; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^ >fp : FlatpickrFn > : ^^^^^^^^^^^ >l10ns : { ar?: import("locale").CustomLocale; bg?: import("locale").CustomLocale; } & { default: import("locale").Locale; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^ diff --git a/tests/baselines/reference/declarationEmitAnyComputedPropertyInClass.js b/tests/baselines/reference/declarationEmitAnyComputedPropertyInClass.js new file mode 100644 index 0000000000000..c7d96ee96e0be --- /dev/null +++ b/tests/baselines/reference/declarationEmitAnyComputedPropertyInClass.js @@ -0,0 +1,31 @@ +//// [tests/cases/compiler/declarationEmitAnyComputedPropertyInClass.ts] //// + +//// [ambient.d.ts] +declare module "abcdefgh"; + +//// [main.ts] +import Test from "abcdefgh"; + +export class C { + [Test.someKey]() {}; +} + + +//// [main.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.C = void 0; +var abcdefgh_1 = require("abcdefgh"); +var C = /** @class */ (function () { + function C() { + } + C.prototype[abcdefgh_1.default.someKey] = function () { }; + ; + return C; +}()); +exports.C = C; + + +//// [main.d.ts] +export declare class C { +} diff --git a/tests/baselines/reference/declarationEmitAnyComputedPropertyInClass.symbols b/tests/baselines/reference/declarationEmitAnyComputedPropertyInClass.symbols new file mode 100644 index 0000000000000..4442365ca0047 --- /dev/null +++ b/tests/baselines/reference/declarationEmitAnyComputedPropertyInClass.symbols @@ -0,0 +1,18 @@ +//// [tests/cases/compiler/declarationEmitAnyComputedPropertyInClass.ts] //// + +=== ambient.d.ts === +declare module "abcdefgh"; +>"abcdefgh" : Symbol("abcdefgh", Decl(ambient.d.ts, 0, 0)) + +=== main.ts === +import Test from "abcdefgh"; +>Test : Symbol(Test, Decl(main.ts, 0, 6)) + +export class C { +>C : Symbol(C, Decl(main.ts, 0, 28)) + + [Test.someKey]() {}; +>[Test.someKey] : Symbol(C[Test.someKey], Decl(main.ts, 2, 16)) +>Test : Symbol(Test, Decl(main.ts, 0, 6)) +} + diff --git a/tests/baselines/reference/declarationEmitAnyComputedPropertyInClass.types b/tests/baselines/reference/declarationEmitAnyComputedPropertyInClass.types new file mode 100644 index 0000000000000..c476c4f19107f --- /dev/null +++ b/tests/baselines/reference/declarationEmitAnyComputedPropertyInClass.types @@ -0,0 +1,25 @@ +//// [tests/cases/compiler/declarationEmitAnyComputedPropertyInClass.ts] //// + +=== ambient.d.ts === +declare module "abcdefgh"; +>"abcdefgh" : any + +=== main.ts === +import Test from "abcdefgh"; +>Test : any +> : ^^^ + +export class C { +>C : C +> : ^ + + [Test.someKey]() {}; +>[Test.someKey] : () => void +> : ^^^^^^^^^^ +>Test.someKey : any +>Test : any +> : ^^^ +>someKey : any +> : ^^^ +} + diff --git a/tests/baselines/reference/declarationEmitArrowFunctionNoRenaming.types b/tests/baselines/reference/declarationEmitArrowFunctionNoRenaming.types index e31cec99bd0b0..e32387d3034e5 100644 --- a/tests/baselines/reference/declarationEmitArrowFunctionNoRenaming.types +++ b/tests/baselines/reference/declarationEmitArrowFunctionNoRenaming.types @@ -22,11 +22,11 @@ export type BoundedInteger< export const toBoundedInteger = >toBoundedInteger : (bounds: { lowerBound: LowerBound; upperBound: UpperBound; }) => (n: number) => BoundedInteger -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ (bounds: { >(bounds: { lowerBound: LowerBound; upperBound: UpperBound; }) => ( n: number ): BoundedInteger => // Implementation doesn't matter here ({} as any) : (bounds: { lowerBound: LowerBound; upperBound: UpperBound; }) => (n: number) => BoundedInteger -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >bounds : { lowerBound: LowerBound; upperBound: UpperBound; } > : ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ diff --git a/tests/baselines/reference/declarationEmitBindingPatternWithReservedWord.types b/tests/baselines/reference/declarationEmitBindingPatternWithReservedWord.types index b32d832c8de0b..08b1324d1337a 100644 --- a/tests/baselines/reference/declarationEmitBindingPatternWithReservedWord.types +++ b/tests/baselines/reference/declarationEmitBindingPatternWithReservedWord.types @@ -36,9 +36,9 @@ export interface GetLocalesOptions { export const getLocales = ({ >getLocales : ({ app, name, default: defaultLocalesConfig, config: userLocalesConfig, }: GetLocalesOptions) => ConvertLocaleConfig -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >({ app, name, default: defaultLocalesConfig, config: userLocalesConfig = {},}: GetLocalesOptions): ConvertLocaleConfig => { return defaultLocalesConfig;} : ({ app, name, default: defaultLocalesConfig, config: userLocalesConfig, }: GetLocalesOptions) => ConvertLocaleConfig -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ app, >app : unknown diff --git a/tests/baselines/reference/declarationEmitBindingPatternsUnused.types b/tests/baselines/reference/declarationEmitBindingPatternsUnused.types index e90602d71a152..69b207c307985 100644 --- a/tests/baselines/reference/declarationEmitBindingPatternsUnused.types +++ b/tests/baselines/reference/declarationEmitBindingPatternsUnused.types @@ -161,8 +161,8 @@ function referencedInInferredType({ name: alias }: Named) { > : ^^^^^^ return null! as Named2 ->null! as Named2 : { name: string; } -> : ^^^^^^^^^^^^^^^^^ +>null! as Named2 : { name: typeof alias; } +> : ^^^^^^^^ ^^^ >null! : null > : ^^^^ } @@ -247,11 +247,11 @@ class NotReferencedClass { >console.log(alias) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >alias : string > : ^^^^^^ } @@ -267,11 +267,11 @@ class NotReferencedClass { >console.log(alias) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >alias : string > : ^^^^^^ } @@ -291,11 +291,11 @@ class ReferencedInCodeClas { >console.log(alias) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >alias : string > : ^^^^^^ } @@ -311,11 +311,11 @@ class ReferencedInCodeClas { >console.log(alias) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >alias : string > : ^^^^^^ } @@ -331,11 +331,11 @@ class ReferencedInCodeClas { >console.log(alias) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >alias : string > : ^^^^^^ } @@ -359,11 +359,11 @@ class ReferencedInSignartureClass { >console.log(alias) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >alias : string > : ^^^^^^ } diff --git a/tests/baselines/reference/declarationEmitClassMemberWithComputedPropertyName.types b/tests/baselines/reference/declarationEmitClassMemberWithComputedPropertyName.types index cfea4d3537eae..cf6f25b050c74 100644 --- a/tests/baselines/reference/declarationEmitClassMemberWithComputedPropertyName.types +++ b/tests/baselines/reference/declarationEmitClassMemberWithComputedPropertyName.types @@ -134,9 +134,9 @@ class Foo { export const t1 = Foo[k1]; >t1 : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Foo[k1] : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Foo : typeof Foo > : ^^^^^^^^^^ >k1 : unique symbol @@ -144,9 +144,9 @@ export const t1 = Foo[k1]; export const t2 = new Foo()[k1]; >t2 : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >new Foo()[k1] : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >new Foo() : Foo > : ^^^ >Foo : typeof Foo diff --git a/tests/baselines/reference/declarationEmitCommonJsModuleReferencedType.types b/tests/baselines/reference/declarationEmitCommonJsModuleReferencedType.types index 01e38f4b75613..48ec6ff7ec840 100644 --- a/tests/baselines/reference/declarationEmitCommonJsModuleReferencedType.types +++ b/tests/baselines/reference/declarationEmitCommonJsModuleReferencedType.types @@ -38,11 +38,11 @@ export function bar(): RootProps; === r/entry.ts === import { foo } from "foo"; >foo : () => [import("r/node_modules/foo/index").SomeProps, import("r/node_modules/foo/other").OtherProps, import("r/node_modules/foo/other/index").OtherIndexProps, import("r/node_modules/foo/node_modules/nested/index").NestedProps] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ import { bar } from "root"; >bar : () => import("node_modules/root/index").RootProps -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ export const x = foo(); >x : [import("r/node_modules/foo/index").SomeProps, import("r/node_modules/foo/other").OtherProps, import("r/node_modules/foo/other/index").OtherIndexProps, import("r/node_modules/foo/node_modules/nested/index").NestedProps] @@ -50,7 +50,7 @@ export const x = foo(); >foo() : [import("r/node_modules/foo/index").SomeProps, import("r/node_modules/foo/other").OtherProps, import("r/node_modules/foo/other/index").OtherIndexProps, import("r/node_modules/foo/node_modules/nested/index").NestedProps] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : () => [import("r/node_modules/foo/index").SomeProps, import("r/node_modules/foo/other").OtherProps, import("r/node_modules/foo/other/index").OtherIndexProps, import("r/node_modules/foo/node_modules/nested/index").NestedProps] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ export const y = bar(); >y : import("node_modules/root/index").RootProps @@ -58,5 +58,5 @@ export const y = bar(); >bar() : import("node_modules/root/index").RootProps > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >bar : () => import("node_modules/root/index").RootProps -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ diff --git a/tests/baselines/reference/declarationEmitCrossFileCopiedGeneratedImportType.types b/tests/baselines/reference/declarationEmitCrossFileCopiedGeneratedImportType.types index a9efb0b2d8439..ffc3b71256ec0 100644 --- a/tests/baselines/reference/declarationEmitCrossFileCopiedGeneratedImportType.types +++ b/tests/baselines/reference/declarationEmitCrossFileCopiedGeneratedImportType.types @@ -36,13 +36,13 @@ export declare const e: { === projD/index.ts === import {e} from "../projC"; >e : { f: (foo: import("projA/index").Foo) => boolean; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ export const d = {e}; >d : { e: { f: (foo: import("projA/index").Foo) => boolean; }; } -> : ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^ >{e} : { e: { f: (foo: import("projA/index").Foo) => boolean; }; } -> : ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^ >e : { f: (foo: import("projA/index").Foo) => boolean; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ diff --git a/tests/baselines/reference/declarationEmitDistributiveConditionalWithInfer.types b/tests/baselines/reference/declarationEmitDistributiveConditionalWithInfer.types index 74cd065070165..0518e3557e33b 100644 --- a/tests/baselines/reference/declarationEmitDistributiveConditionalWithInfer.types +++ b/tests/baselines/reference/declarationEmitDistributiveConditionalWithInfer.types @@ -10,7 +10,7 @@ export const fun = ( subFun: () >subFun : () => FlatArray[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^^ => FlatArray[]) => { }; diff --git a/tests/baselines/reference/declarationEmitDoesNotUseReexportedNamespaceAsLocal.types b/tests/baselines/reference/declarationEmitDoesNotUseReexportedNamespaceAsLocal.types index 96f3ad1eaa8f4..eb1fa04abe6e0 100644 --- a/tests/baselines/reference/declarationEmitDoesNotUseReexportedNamespaceAsLocal.types +++ b/tests/baselines/reference/declarationEmitDoesNotUseReexportedNamespaceAsLocal.types @@ -12,7 +12,7 @@ export const x = add(import("./sub")); >add(import("./sub")) : typeof import("sub") > : ^^^^^^^^^^^^^^^^^^^^ >add : (x: Promise) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >import("./sub") : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"./sub" : "./sub" diff --git a/tests/baselines/reference/declarationEmitExpandoWithGenericConstraint.types b/tests/baselines/reference/declarationEmitExpandoWithGenericConstraint.types index d88dc173fc14c..e57c9a4e2c90e 100644 --- a/tests/baselines/reference/declarationEmitExpandoWithGenericConstraint.types +++ b/tests/baselines/reference/declarationEmitExpandoWithGenericConstraint.types @@ -23,9 +23,9 @@ export interface Rect

{ export const Point = (x: number, y: number): Point => ({ x, y }); >Point : { (x: number, y: number): Point; zero(): Point; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^ ^^^ >(x: number, y: number): Point => ({ x, y }) : { (x: number, y: number): Point; zero(): Point; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^ ^^^ >x : number > : ^^^^^^ >y : number @@ -41,9 +41,9 @@ export const Point = (x: number, y: number): Point => ({ x, y }); export const Rect =

(a: p, b: p): Rect

=> ({ a, b }); >Rect :

(a: p, b: p) => Rect

-> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >

(a: p, b: p): Rect

=> ({ a, b }) :

(a: p, b: p) => Rect

(props: Readonly

) { >foo :

(props: Readonly

) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >props : Readonly

> : ^^^^^^^^^^^ diff --git a/tests/baselines/reference/destructuringWithGenericParameter.types b/tests/baselines/reference/destructuringWithGenericParameter.types index a16d0c71c4707..d37cb3fb0ecb2 100644 --- a/tests/baselines/reference/destructuringWithGenericParameter.types +++ b/tests/baselines/reference/destructuringWithGenericParameter.types @@ -34,7 +34,7 @@ function genericFunction(object: GenericClass, callback: (payload: T) => v >callback(object.payload) : void > : ^^^^ >callback : (payload: T) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >object.payload : T > : ^ >object : GenericClass @@ -49,9 +49,9 @@ genericFunction(genericObject, ({greeting}) => { >genericFunction : (object: GenericClass, callback: (payload: T) => void) => void > : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >genericObject : GenericClass<{ greeting: string; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >({greeting}) => { var s = greeting.toLocaleLowerCase(); // Greeting should be of type string} : ({ greeting }: { greeting: string; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^ >greeting : string > : ^^^^^^ @@ -61,11 +61,11 @@ genericFunction(genericObject, ({greeting}) => { >greeting.toLocaleLowerCase() : string > : ^^^^^^ >greeting.toLocaleLowerCase : (locales?: string | string[]) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >greeting : string > : ^^^^^^ >toLocaleLowerCase : (locales?: string | string[]) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ }); diff --git a/tests/baselines/reference/destructuringWithNumberLiteral.types b/tests/baselines/reference/destructuringWithNumberLiteral.types index e724d37223d9b..1fc84f1cb9573 100644 --- a/tests/baselines/reference/destructuringWithNumberLiteral.types +++ b/tests/baselines/reference/destructuringWithNumberLiteral.types @@ -3,7 +3,7 @@ === destructuringWithNumberLiteral.ts === var { toExponential } = 0; >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/didYouMeanElaborationsForExpressionsWhichCouldBeCalled.types b/tests/baselines/reference/didYouMeanElaborationsForExpressionsWhichCouldBeCalled.types index d8519d651f706..fca9b511450b5 100644 --- a/tests/baselines/reference/didYouMeanElaborationsForExpressionsWhichCouldBeCalled.types +++ b/tests/baselines/reference/didYouMeanElaborationsForExpressionsWhichCouldBeCalled.types @@ -32,7 +32,7 @@ foo({ >foo({ x: Bar, y: Date}, getNum()) : void > : ^^^^ >foo : (arg: { x: Bar; y: Date; }, item: number, items?: [number, number, number]) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >{ x: Bar, y: Date} : { x: typeof Bar; y: DateConstructor; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -52,13 +52,13 @@ foo({ >getNum() : number > : ^^^^^^ >getNum : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ foo({ >foo({ x: new Bar(), y: new Date()}, getNum) : void > : ^^^^ >foo : (arg: { x: Bar; y: Date; }, item: number, items?: [number, number, number]) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >{ x: new Bar(), y: new Date()} : { x: Bar; y: Date; } > : ^^^^^^^^^^^^^^^^^^^^ @@ -80,14 +80,14 @@ foo({ }, getNum); >getNum : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ foo({ >foo({ x: new Bar(), y: new Date()}, getNum(), [ 1, 2, getNum]) : void > : ^^^^ >foo : (arg: { x: Bar; y: Date; }, item: number, items?: [number, number, number]) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >{ x: new Bar(), y: new Date()} : { x: Bar; y: Date; } > : ^^^^^^^^^^^^^^^^^^^^ @@ -111,9 +111,9 @@ foo({ >getNum() : number > : ^^^^^^ >getNum : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >[ 1, 2, getNum] : [number, number, () => number] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^ 1, >1 : 1 @@ -125,7 +125,7 @@ foo({ getNum >getNum : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ ]); diff --git a/tests/baselines/reference/directDependenceBetweenTypeAliases.types b/tests/baselines/reference/directDependenceBetweenTypeAliases.types index 7e4361105262a..e18641773d5d0 100644 --- a/tests/baselines/reference/directDependenceBetweenTypeAliases.types +++ b/tests/baselines/reference/directDependenceBetweenTypeAliases.types @@ -107,9 +107,9 @@ type T12 = [T13, string] type T13 = typeof zz >T13 : { x: T11; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ >zz : { x: T11; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ var zz: { x: T11 } >zz : { x: T11; } diff --git a/tests/baselines/reference/disallowLineTerminatorBeforeArrow.types b/tests/baselines/reference/disallowLineTerminatorBeforeArrow.types index 8a926c22813c0..10f7f1e8a1d59 100644 --- a/tests/baselines/reference/disallowLineTerminatorBeforeArrow.types +++ b/tests/baselines/reference/disallowLineTerminatorBeforeArrow.types @@ -146,7 +146,7 @@ var f12 = (a: number) : // Should be valid. var f11 = (a: number >f11 : (a: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(a: number ) => a : (a: number) => number > : ^ ^^ ^^^^^^^^^^^ >a : number @@ -159,7 +159,7 @@ var f11 = (a: number // Should be valid. var f12 = (a: number) >f12 : (a: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(a: number) : number => a : (a: number) => number > : ^ ^^ ^^^^^ >a : number diff --git a/tests/baselines/reference/discriminantNarrowingCouldBeCircular.types b/tests/baselines/reference/discriminantNarrowingCouldBeCircular.types index 9c15e447abda1..ad51e0bd0f0bf 100644 --- a/tests/baselines/reference/discriminantNarrowingCouldBeCircular.types +++ b/tests/baselines/reference/discriminantNarrowingCouldBeCircular.types @@ -38,7 +38,7 @@ if (o) { >is(value) : boolean > : ^^^^^^^ >is : (v: T) => v is T -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >value : string > : ^^^^^^ } @@ -85,7 +85,7 @@ function getImplicitAriaRole(element: SomeRecord) { >parentElementOrShadowHost(ancestor) : SomeRecord | undefined > : ^^^^^^^^^^^^^^^^^^^^^^ >parentElementOrShadowHost : (element: SomeRecord) => SomeRecord | undefined -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >ancestor : SomeRecord > : ^^^^^^^^^^ @@ -121,11 +121,11 @@ function getImplicitAriaRole(element: SomeRecord) { >parents.includes(parent.a) : boolean > : ^^^^^^^ >parents.includes : (searchElement: string, fromIndex?: number) => boolean -> : ^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >parents : string[] > : ^^^^^^^^ >includes : (searchElement: string, fromIndex?: number) => boolean -> : ^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >parent.a : string > : ^^^^^^ >parent : SomeRecord @@ -162,7 +162,7 @@ declare function isPlainObject2( >isPlainObject2(myObj2) : boolean > : ^^^^^^^ >isPlainObject2 : (data: unknown) => data is Record -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >myObj2 : unknown > : ^^^^^^^ @@ -196,17 +196,17 @@ declare function isPlainObject2( >isPlainObject2(deeper) : boolean > : ^^^^^^^ >isPlainObject2 : (data: unknown) => data is Record -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >deeper : unknown > : ^^^^^^^ >Object.keys(deeper) : string[] > : ^^^^^^^^ >Object.keys : { (o: object): string[]; (o: {}): string[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >keys : { (o: object): string[]; (o: {}): string[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >deeper : Record > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >[] : never[] diff --git a/tests/baselines/reference/discriminantPropertyCheck.types b/tests/baselines/reference/discriminantPropertyCheck.types index 7b01150b207b9..f92594a3e1fd4 100644 --- a/tests/baselines/reference/discriminantPropertyCheck.types +++ b/tests/baselines/reference/discriminantPropertyCheck.types @@ -475,7 +475,7 @@ function func2(inst: Instance) { inst.value.toExponential; >inst.value.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >inst.value : number > : ^^^^^^ >inst : NumType @@ -483,7 +483,7 @@ function func2(inst: Instance) { >value : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ break; } @@ -554,7 +554,7 @@ u.a && u.b && f(u.a, u.b); >f(u.a, u.b) : void > : ^^^^ >f : (_a: string, _b: string) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >u.a : string > : ^^^^^^ >u : U @@ -588,7 +588,7 @@ u.b && u.a && f(u.a, u.b); >f(u.a, u.b) : void > : ^^^^ >f : (_a: string, _b: string) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >u.a : string > : ^^^^^^ >u : U @@ -768,7 +768,7 @@ function func3(value: Partial) { >never(value.type) : never > : ^^^^^ >never : (value: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >value.type : never > : ^^^^^ >value : Partial @@ -851,7 +851,7 @@ function DoesNotWork(data: unknown) { >isType(data) : boolean > : ^^^^^^^ >isType : (x: unknown) => x is Type -> : ^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >data : unknown > : ^^^^^^^ @@ -930,11 +930,11 @@ const doTestingStuff = (mapOfTests: MapOfAllTests, ids: string[]) => { >ids.forEach(id => { let test; test = mapOfTests[id]; if (test.type === 'testA') { console.log(test.bananas); } switch (test.type) { case 'testA': { console.log(test.bananas); } } }) : void > : ^^^^ >ids.forEach : (callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >ids : string[] > : ^^^^^^^^ >forEach : (callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >id => { let test; test = mapOfTests[id]; if (test.type === 'testA') { console.log(test.bananas); } switch (test.type) { case 'testA': { console.log(test.bananas); } } } : (id: string) => void > : ^ ^^^^^^^^^^^^^^^^^ >id : string @@ -970,11 +970,11 @@ const doTestingStuff = (mapOfTests: MapOfAllTests, ids: string[]) => { >console.log(test.bananas) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >test.bananas : 3 > : ^ >test : TestA @@ -998,11 +998,11 @@ const doTestingStuff = (mapOfTests: MapOfAllTests, ids: string[]) => { >console.log(test.bananas) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >test.bananas : 3 > : ^ >test : TestA diff --git a/tests/baselines/reference/discriminantPropertyInference.types b/tests/baselines/reference/discriminantPropertyInference.types index c460bcc792f3f..2220e083556d7 100644 --- a/tests/baselines/reference/discriminantPropertyInference.types +++ b/tests/baselines/reference/discriminantPropertyInference.types @@ -51,7 +51,7 @@ declare function f(options: DiscriminatorTrue | DiscriminatorFalse): any; f({ >f({ disc: true, cb: s => parseInt(s)}) : any >f : (options: DiscriminatorTrue | DiscriminatorFalse) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >{ disc: true, cb: s => parseInt(s)} : { disc: true; cb: (s: string) => number; } > : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ @@ -71,7 +71,7 @@ f({ >parseInt(s) : number > : ^^^^^^ >parseInt : (string: string, radix?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >s : string > : ^^^^^^ @@ -81,7 +81,7 @@ f({ f({ >f({ disc: false, cb: n => n.toFixed()}) : any >f : (options: DiscriminatorTrue | DiscriminatorFalse) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >{ disc: false, cb: n => n.toFixed()} : { disc: false; cb: (n: number) => string; } > : ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ @@ -101,11 +101,11 @@ f({ >n.toFixed() : string > : ^^^^^^ >n.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >n : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ }); @@ -113,7 +113,7 @@ f({ f({ >f({ disc: undefined, cb: n => n.toFixed()}) : any >f : (options: DiscriminatorTrue | DiscriminatorFalse) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >{ disc: undefined, cb: n => n.toFixed()} : { disc: undefined; cb: (n: number) => string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ @@ -133,11 +133,11 @@ f({ >n.toFixed() : string > : ^^^^^^ >n.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >n : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ }); @@ -145,7 +145,7 @@ f({ f({ >f({ cb: n => n.toFixed()}) : any >f : (options: DiscriminatorTrue | DiscriminatorFalse) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >{ cb: n => n.toFixed()} : { cb: (n: number) => string; } > : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ @@ -159,11 +159,11 @@ f({ >n.toFixed() : string > : ^^^^^^ >n.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >n : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ }); diff --git a/tests/baselines/reference/discriminantUsingEvaluatableTemplateExpression.types b/tests/baselines/reference/discriminantUsingEvaluatableTemplateExpression.types index 6eb63850e6cc2..ba438f143f0b7 100644 --- a/tests/baselines/reference/discriminantUsingEvaluatableTemplateExpression.types +++ b/tests/baselines/reference/discriminantUsingEvaluatableTemplateExpression.types @@ -33,7 +33,7 @@ foo({ >foo({ d: `${"s"}`, cb: (x) => { x; // string },}) : void > : ^^^^ >foo : (foo: S | N) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ d: `${"s"}`, cb: (x) => { x; // string },} : { d: "s"; cb: (x: string) => void; } > : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/discriminantsAndNullOrUndefined.types b/tests/baselines/reference/discriminantsAndNullOrUndefined.types index 65abc43978199..a4fe8cdefeee9 100644 --- a/tests/baselines/reference/discriminantsAndNullOrUndefined.types +++ b/tests/baselines/reference/discriminantsAndNullOrUndefined.types @@ -66,7 +66,7 @@ if (c !== undefined) { >useA(c) : void > : ^^^^ >useA : (_: A) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >c : A > : ^ @@ -76,7 +76,7 @@ if (c !== undefined) { >useB(c) : void > : ^^^^ >useB : (_: B) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >c : B > : ^ @@ -84,7 +84,7 @@ if (c !== undefined) { >never(c) : never > : ^^^^^ >never : (_: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c : never > : ^^^^^ } diff --git a/tests/baselines/reference/discriminantsAndPrimitives.types b/tests/baselines/reference/discriminantsAndPrimitives.types index b432b6137e72f..b938772b2c63e 100644 --- a/tests/baselines/reference/discriminantsAndPrimitives.types +++ b/tests/baselines/reference/discriminantsAndPrimitives.types @@ -260,7 +260,7 @@ if (n.type === "Disjunction") { >n.alternatives.slice() : string[] > : ^^^^^^^^ >n.alternatives.slice : (start?: number, end?: number) => string[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >n.alternatives : string[] > : ^^^^^^^^ >n : Disjunction @@ -268,14 +268,14 @@ if (n.type === "Disjunction") { >alternatives : string[] > : ^^^^^^^^ >slice : (start?: number, end?: number) => string[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ } else { n.elements.slice() // n should be narrowed to Pattern >n.elements.slice() : string[] > : ^^^^^^^^ >n.elements.slice : (start?: number, end?: number) => string[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >n.elements : string[] > : ^^^^^^^^ >n : Pattern @@ -283,6 +283,6 @@ else { >elements : string[] > : ^^^^^^^^ >slice : (start?: number, end?: number) => string[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ } diff --git a/tests/baselines/reference/discriminantsAndTypePredicates.types b/tests/baselines/reference/discriminantsAndTypePredicates.types index 1ee756e07a48b..3d2f5b6a0d352 100644 --- a/tests/baselines/reference/discriminantsAndTypePredicates.types +++ b/tests/baselines/reference/discriminantsAndTypePredicates.types @@ -57,7 +57,7 @@ function foo1(x: A | B): any { >isA(x) : boolean > : ^^^^^^^ >isA : (x: A | B) => x is A -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : A | B > : ^^^^^ @@ -73,7 +73,7 @@ function foo1(x: A | B): any { >isB(x) : boolean > : ^^^^^^^ >isB : (x: A | B) => x is B -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : B > : ^ diff --git a/tests/baselines/reference/discriminateWithDivergentAccessors1.types b/tests/baselines/reference/discriminateWithDivergentAccessors1.types index 68938bea24962..1d457d815caeb 100644 --- a/tests/baselines/reference/discriminateWithDivergentAccessors1.types +++ b/tests/baselines/reference/discriminateWithDivergentAccessors1.types @@ -43,7 +43,7 @@ if (weirdoBox.done) { >weirdoBox.value : number > : ^^^^^^ >weirdoBox : { get done(): true; set done(v: T | null); value: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ >value : number > : ^^^^^^ } @@ -102,7 +102,7 @@ if (weirdoBox2.done) { >weirdoBox2.value : string | number > : ^^^^^^^^^^^^^^^ >weirdoBox2 : { get done(): true; set done(v: T | null); value: string; } | { get done(): true; set done(v: T | null | undefined); value: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^^ >value : string | number > : ^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/discriminateWithMissingProperty.types b/tests/baselines/reference/discriminateWithMissingProperty.types index d913629a886cd..15fcee28aaf45 100644 --- a/tests/baselines/reference/discriminateWithMissingProperty.types +++ b/tests/baselines/reference/discriminateWithMissingProperty.types @@ -38,7 +38,7 @@ foo({ mode: "numeric", data: new Uint8Array([30]) }); // Should error >foo({ mode: "numeric", data: new Uint8Array([30]) }) : void > : ^^^^ >foo : (arg: Arg) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ mode: "numeric", data: new Uint8Array([30]) } : { mode: "numeric"; data: Uint8Array; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >mode : "numeric" diff --git a/tests/baselines/reference/discriminateWithOptionalProperty1(exactoptionalpropertytypes=false).types b/tests/baselines/reference/discriminateWithOptionalProperty1(exactoptionalpropertytypes=false).types index 81051d0954a5f..82d5e17282d7f 100644 --- a/tests/baselines/reference/discriminateWithOptionalProperty1(exactoptionalpropertytypes=false).types +++ b/tests/baselines/reference/discriminateWithOptionalProperty1(exactoptionalpropertytypes=false).types @@ -31,7 +31,7 @@ if (box.done) { >box.value : number > : ^^^^^^ >box : { done: true; value: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ >value : number > : ^^^^^^ } diff --git a/tests/baselines/reference/discriminateWithOptionalProperty1(exactoptionalpropertytypes=true).types b/tests/baselines/reference/discriminateWithOptionalProperty1(exactoptionalpropertytypes=true).types index 81051d0954a5f..82d5e17282d7f 100644 --- a/tests/baselines/reference/discriminateWithOptionalProperty1(exactoptionalpropertytypes=true).types +++ b/tests/baselines/reference/discriminateWithOptionalProperty1(exactoptionalpropertytypes=true).types @@ -31,7 +31,7 @@ if (box.done) { >box.value : number > : ^^^^^^ >box : { done: true; value: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ >value : number > : ^^^^^^ } diff --git a/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=false).types b/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=false).types index 77833d30a8769..ad5ff3c9b6638 100644 --- a/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=false).types +++ b/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=false).types @@ -27,8 +27,8 @@ function mapAsyncIterable( > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >iterable[Symbol.asyncIterator]() : AsyncIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->iterable[Symbol.asyncIterator] : (() => AsyncGenerator) | (() => AsyncIterator) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterable[Symbol.asyncIterator] : (() => AsyncGenerator) | (() => AsyncIterator) +> : ^^^^^^^ ^ ^ ^^^^ ^^^^^^^^^^^ ^ ^ >iterable : AsyncGenerator | AsyncIterable > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Symbol.asyncIterator : unique symbol @@ -71,7 +71,7 @@ function mapAsyncIterable( >callback(result.value) : PromiseOrValue > : ^^^^^^^^^^^^^^^^^ >callback : (value: T) => PromiseOrValue -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >result.value : T > : ^ >result : IteratorYieldResult @@ -93,11 +93,11 @@ function mapAsyncIterable( >typeof iterator.return : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >iterator.return : ((value?: any) => Promise>) | undefined -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^^^ ^ ^^^ ^^^^^^^^^^^^^ >iterator : AsyncIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >return : ((value?: any) => Promise>) | undefined -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^^^ ^ ^^^ ^^^^^^^^^^^^^ >"function" : "function" > : ^^^^^^^^^^ @@ -108,11 +108,11 @@ function mapAsyncIterable( >iterator.return() : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >iterator.return : (value?: any) => Promise> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^ ^^^ >iterator : AsyncIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >return : (value?: any) => Promise> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^ ^^^ } catch (_e) {} >_e : unknown @@ -136,17 +136,17 @@ function mapAsyncIterable( >mapResult(await iterator.next()) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >mapResult : (result: IteratorResult) => Promise> -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >await iterator.next() : IteratorResult > : ^^^^^^^^^^^^^^^^^^^^^^ >iterator.next() : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >iterator.next : (...args: [] | [undefined]) => Promise> -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^^ >iterator : AsyncIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >next : (...args: [] | [undefined]) => Promise> -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^^ }, async return(): Promise> { @@ -161,11 +161,11 @@ function mapAsyncIterable( >typeof iterator.return : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >iterator.return : ((value?: any) => Promise>) | undefined -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^^^ ^ ^^^ ^^^^^^^^^^^^^ >iterator : AsyncIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >return : ((value?: any) => Promise>) | undefined -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^^^ ^ ^^^ ^^^^^^^^^^^^^ >"function" : "function" > : ^^^^^^^^^^ @@ -173,17 +173,17 @@ function mapAsyncIterable( >mapResult(await iterator.return()) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >mapResult : (result: IteratorResult) => Promise> -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >await iterator.return() : IteratorResult > : ^^^^^^^^^^^^^^^^^^^^^^ >iterator.return() : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >iterator.return : (value?: any) => Promise> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^ ^^^ >iterator : AsyncIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >return : (value?: any) => Promise> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^ ^^^ : { value: undefined as any, done: true }; >{ value: undefined as any, done: true } : { value: any; done: true; } @@ -210,11 +210,11 @@ function mapAsyncIterable( >typeof iterator.throw : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >iterator.throw : ((e?: any) => Promise>) | undefined -> : ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^ ^^^^^ ^ ^^^ ^^^^^^^^^^^^^ >iterator : AsyncIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >throw : ((e?: any) => Promise>) | undefined -> : ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^ ^^^^^ ^ ^^^ ^^^^^^^^^^^^^ >"function" : "function" > : ^^^^^^^^^^ @@ -222,17 +222,17 @@ function mapAsyncIterable( >mapResult(await iterator.throw(error)) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >mapResult : (result: IteratorResult) => Promise> -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >await iterator.throw(error) : IteratorResult > : ^^^^^^^^^^^^^^^^^^^^^^ >iterator.throw(error) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >iterator.throw : (e?: any) => Promise> -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^ ^^^ >iterator : AsyncIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >throw : (e?: any) => Promise> -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^ ^^^ >error : unknown > : ^^^^^^^ } @@ -310,21 +310,21 @@ const iterable = { >items.shift() : number | undefined > : ^^^^^^^^^^^^^^^^^^ >items.shift : () => number | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ >items : number[] > : ^^^^^^^^ >shift : () => number | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ return Promise.resolve({ >Promise.resolve({ done: items.length === 0, value, }) : Promise<{ done: boolean; value: number; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >{ done: items.length === 0, value, } : { done: boolean; value: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -356,7 +356,7 @@ const doubles = mapAsyncIterable(iterable, (x) => x + x); >mapAsyncIterable(iterable, (x) => x + x) : AsyncGenerator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >mapAsyncIterable : (iterable: AsyncGenerator | AsyncIterable, callback: (value: T) => PromiseOrValue) => AsyncGenerator -> : ^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ >iterable : { [Symbol.asyncIterator](): any; next(): Promise<{ done: boolean; value: number; }>; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >(x) => x + x : (x: number) => number diff --git a/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=true).types b/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=true).types index 77833d30a8769..ad5ff3c9b6638 100644 --- a/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=true).types +++ b/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=true).types @@ -27,8 +27,8 @@ function mapAsyncIterable( > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >iterable[Symbol.asyncIterator]() : AsyncIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->iterable[Symbol.asyncIterator] : (() => AsyncGenerator) | (() => AsyncIterator) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterable[Symbol.asyncIterator] : (() => AsyncGenerator) | (() => AsyncIterator) +> : ^^^^^^^ ^ ^ ^^^^ ^^^^^^^^^^^ ^ ^ >iterable : AsyncGenerator | AsyncIterable > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Symbol.asyncIterator : unique symbol @@ -71,7 +71,7 @@ function mapAsyncIterable( >callback(result.value) : PromiseOrValue > : ^^^^^^^^^^^^^^^^^ >callback : (value: T) => PromiseOrValue -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >result.value : T > : ^ >result : IteratorYieldResult @@ -93,11 +93,11 @@ function mapAsyncIterable( >typeof iterator.return : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >iterator.return : ((value?: any) => Promise>) | undefined -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^^^ ^ ^^^ ^^^^^^^^^^^^^ >iterator : AsyncIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >return : ((value?: any) => Promise>) | undefined -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^^^ ^ ^^^ ^^^^^^^^^^^^^ >"function" : "function" > : ^^^^^^^^^^ @@ -108,11 +108,11 @@ function mapAsyncIterable( >iterator.return() : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >iterator.return : (value?: any) => Promise> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^ ^^^ >iterator : AsyncIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >return : (value?: any) => Promise> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^ ^^^ } catch (_e) {} >_e : unknown @@ -136,17 +136,17 @@ function mapAsyncIterable( >mapResult(await iterator.next()) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >mapResult : (result: IteratorResult) => Promise> -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >await iterator.next() : IteratorResult > : ^^^^^^^^^^^^^^^^^^^^^^ >iterator.next() : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >iterator.next : (...args: [] | [undefined]) => Promise> -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^^ >iterator : AsyncIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >next : (...args: [] | [undefined]) => Promise> -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^^ }, async return(): Promise> { @@ -161,11 +161,11 @@ function mapAsyncIterable( >typeof iterator.return : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >iterator.return : ((value?: any) => Promise>) | undefined -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^^^ ^ ^^^ ^^^^^^^^^^^^^ >iterator : AsyncIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >return : ((value?: any) => Promise>) | undefined -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^^^ ^ ^^^ ^^^^^^^^^^^^^ >"function" : "function" > : ^^^^^^^^^^ @@ -173,17 +173,17 @@ function mapAsyncIterable( >mapResult(await iterator.return()) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >mapResult : (result: IteratorResult) => Promise> -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >await iterator.return() : IteratorResult > : ^^^^^^^^^^^^^^^^^^^^^^ >iterator.return() : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >iterator.return : (value?: any) => Promise> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^ ^^^ >iterator : AsyncIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >return : (value?: any) => Promise> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^ ^^^ : { value: undefined as any, done: true }; >{ value: undefined as any, done: true } : { value: any; done: true; } @@ -210,11 +210,11 @@ function mapAsyncIterable( >typeof iterator.throw : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >iterator.throw : ((e?: any) => Promise>) | undefined -> : ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^ ^^^^^ ^ ^^^ ^^^^^^^^^^^^^ >iterator : AsyncIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >throw : ((e?: any) => Promise>) | undefined -> : ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^ ^^^^^ ^ ^^^ ^^^^^^^^^^^^^ >"function" : "function" > : ^^^^^^^^^^ @@ -222,17 +222,17 @@ function mapAsyncIterable( >mapResult(await iterator.throw(error)) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >mapResult : (result: IteratorResult) => Promise> -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >await iterator.throw(error) : IteratorResult > : ^^^^^^^^^^^^^^^^^^^^^^ >iterator.throw(error) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >iterator.throw : (e?: any) => Promise> -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^ ^^^ >iterator : AsyncIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >throw : (e?: any) => Promise> -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^ ^^^ >error : unknown > : ^^^^^^^ } @@ -310,21 +310,21 @@ const iterable = { >items.shift() : number | undefined > : ^^^^^^^^^^^^^^^^^^ >items.shift : () => number | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ >items : number[] > : ^^^^^^^^ >shift : () => number | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ return Promise.resolve({ >Promise.resolve({ done: items.length === 0, value, }) : Promise<{ done: boolean; value: number; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >{ done: items.length === 0, value, } : { done: boolean; value: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -356,7 +356,7 @@ const doubles = mapAsyncIterable(iterable, (x) => x + x); >mapAsyncIterable(iterable, (x) => x + x) : AsyncGenerator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >mapAsyncIterable : (iterable: AsyncGenerator | AsyncIterable, callback: (value: T) => PromiseOrValue) => AsyncGenerator -> : ^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ >iterable : { [Symbol.asyncIterator](): any; next(): Promise<{ done: boolean; value: number; }>; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >(x) => x + x : (x: number) => number diff --git a/tests/baselines/reference/discriminateWithOptionalProperty3(exactoptionalpropertytypes=false).types b/tests/baselines/reference/discriminateWithOptionalProperty3(exactoptionalpropertytypes=false).types index d5d397479f2b9..131b94a04dc8a 100644 --- a/tests/baselines/reference/discriminateWithOptionalProperty3(exactoptionalpropertytypes=false).types +++ b/tests/baselines/reference/discriminateWithOptionalProperty3(exactoptionalpropertytypes=false).types @@ -87,7 +87,7 @@ export function buildExecutionContext( >getVariableValues(rawVariableValues ?? {}) : CoercedVariableValues > : ^^^^^^^^^^^^^^^^^^^^^ >getVariableValues : (inputs: { readonly [variable: string]: unknown; }) => CoercedVariableValues -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >rawVariableValues ?? {} : { readonly [variable: string]: unknown; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >rawVariableValues : Maybe<{ readonly [variable: string]: unknown; }> @@ -106,8 +106,8 @@ export function buildExecutionContext( return coercedVariableValues.errors; >coercedVariableValues.errors : readonly GraphQLError[] > : ^^^^^^^^^^^^^^^^^^^^^^^ ->coercedVariableValues : { errors: readonly GraphQLError[]; coerced?: undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>coercedVariableValues : { errors: ReadonlyArray; coerced?: never; } +> : ^^^^^^^^^^ ^^^^^^^^^^^^ ^^^ >errors : readonly GraphQLError[] > : ^^^^^^^^^^^^^^^^^^^^^^^ } @@ -121,8 +121,8 @@ export function buildExecutionContext( > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >coercedVariableValues.coerced : { [variable: string]: unknown; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->coercedVariableValues : { coerced: { [variable: string]: unknown; }; errors?: undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>coercedVariableValues : { coerced: { [variable: string]: unknown; }; errors?: never; } +> : ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^ >coerced : { [variable: string]: unknown; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/discriminateWithOptionalProperty3(exactoptionalpropertytypes=true).types b/tests/baselines/reference/discriminateWithOptionalProperty3(exactoptionalpropertytypes=true).types index f7228ffd5b6df..131b94a04dc8a 100644 --- a/tests/baselines/reference/discriminateWithOptionalProperty3(exactoptionalpropertytypes=true).types +++ b/tests/baselines/reference/discriminateWithOptionalProperty3(exactoptionalpropertytypes=true).types @@ -87,7 +87,7 @@ export function buildExecutionContext( >getVariableValues(rawVariableValues ?? {}) : CoercedVariableValues > : ^^^^^^^^^^^^^^^^^^^^^ >getVariableValues : (inputs: { readonly [variable: string]: unknown; }) => CoercedVariableValues -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >rawVariableValues ?? {} : { readonly [variable: string]: unknown; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >rawVariableValues : Maybe<{ readonly [variable: string]: unknown; }> @@ -106,8 +106,8 @@ export function buildExecutionContext( return coercedVariableValues.errors; >coercedVariableValues.errors : readonly GraphQLError[] > : ^^^^^^^^^^^^^^^^^^^^^^^ ->coercedVariableValues : { errors: readonly GraphQLError[]; coerced?: never; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>coercedVariableValues : { errors: ReadonlyArray; coerced?: never; } +> : ^^^^^^^^^^ ^^^^^^^^^^^^ ^^^ >errors : readonly GraphQLError[] > : ^^^^^^^^^^^^^^^^^^^^^^^ } @@ -122,7 +122,7 @@ export function buildExecutionContext( >coercedVariableValues.coerced : { [variable: string]: unknown; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >coercedVariableValues : { coerced: { [variable: string]: unknown; }; errors?: never; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^ >coerced : { [variable: string]: unknown; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/discriminateWithOptionalProperty4(exactoptionalpropertytypes=false).types b/tests/baselines/reference/discriminateWithOptionalProperty4(exactoptionalpropertytypes=false).types index 0be04a3f53ec1..8ddc0616a0f5a 100644 --- a/tests/baselines/reference/discriminateWithOptionalProperty4(exactoptionalpropertytypes=false).types +++ b/tests/baselines/reference/discriminateWithOptionalProperty4(exactoptionalpropertytypes=false).types @@ -43,7 +43,7 @@ export function main(a: string[] | undefined) { >z.a.toString() : string > : ^^^^^^ >z.a.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >z.a : string[] > : ^^^^^^^^ >z : { a: string[]; b?: undefined; } @@ -51,13 +51,13 @@ export function main(a: string[] | undefined) { >a : string[] > : ^^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ : z.b.toString(); >z.b.toString() : string > : ^^^^^^ >z.b.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >z.b : string[] > : ^^^^^^^^ >z : { b: string[]; a?: undefined; } @@ -65,7 +65,7 @@ export function main(a: string[] | undefined) { >b : string[] > : ^^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ const zWorkAround: >zWorkAround : { a: string[]; b?: undefined; } | { b: string[]; a?: undefined; } @@ -91,33 +91,33 @@ export function main(a: string[] | undefined) { >zWorkAround.a : string[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ >zWorkAround : { a: string[]; b?: undefined; } | { b: string[]; a?: undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^^^^^^^^^ ^^^^^^ ^^^ >a : string[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ >zWorkAround.a.toString() : string > : ^^^^^^ >zWorkAround.a.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >zWorkAround.a : string[] > : ^^^^^^^^ >zWorkAround : { a: string[]; b?: undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >a : string[] > : ^^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >zWorkAround.b.toString() : string > : ^^^^^^ >zWorkAround.b.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >zWorkAround.b : string[] > : ^^^^^^^^ >zWorkAround : { b: string[]; a?: undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >b : string[] > : ^^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ "a" in z ? z.a.toString() : z.b.toString(); >"a" in z ? z.a.toString() : z.b.toString() : string @@ -131,7 +131,7 @@ export function main(a: string[] | undefined) { >z.a.toString() : string > : ^^^^^^ >z.a.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >z.a : string[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ >z : { a: string[]; b?: undefined; } | { b: string[]; a?: undefined; } @@ -139,11 +139,11 @@ export function main(a: string[] | undefined) { >a : string[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >z.b.toString() : string > : ^^^^^^ >z.b.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >z.b : string[] > : ^^^^^^^^ >z : { b: string[]; a?: undefined; } @@ -151,6 +151,6 @@ export function main(a: string[] | undefined) { >b : string[] > : ^^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/discriminateWithOptionalProperty4(exactoptionalpropertytypes=true).types b/tests/baselines/reference/discriminateWithOptionalProperty4(exactoptionalpropertytypes=true).types index b5cbbd5edd7c5..44c3f2a44c31a 100644 --- a/tests/baselines/reference/discriminateWithOptionalProperty4(exactoptionalpropertytypes=true).types +++ b/tests/baselines/reference/discriminateWithOptionalProperty4(exactoptionalpropertytypes=true).types @@ -43,7 +43,7 @@ export function main(a: string[] | undefined) { >z.a.toString() : string > : ^^^^^^ >z.a.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >z.a : string[] > : ^^^^^^^^ >z : { a: string[]; b?: never; } @@ -51,13 +51,13 @@ export function main(a: string[] | undefined) { >a : string[] > : ^^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ : z.b.toString(); >z.b.toString() : string > : ^^^^^^ >z.b.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >z.b : string[] > : ^^^^^^^^ >z : { b: string[]; a?: never; } @@ -65,7 +65,7 @@ export function main(a: string[] | undefined) { >b : string[] > : ^^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ const zWorkAround: >zWorkAround : { a: string[]; b?: undefined; } | { b: string[]; a?: undefined; } @@ -91,33 +91,33 @@ export function main(a: string[] | undefined) { >zWorkAround.a : string[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ >zWorkAround : { a: string[]; b?: undefined; } | { b: string[]; a?: undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^^^^^^^^^ ^^^^^^ ^^^ >a : string[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ >zWorkAround.a.toString() : string > : ^^^^^^ >zWorkAround.a.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >zWorkAround.a : string[] > : ^^^^^^^^ >zWorkAround : { a: string[]; b?: undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >a : string[] > : ^^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >zWorkAround.b.toString() : string > : ^^^^^^ >zWorkAround.b.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >zWorkAround.b : string[] > : ^^^^^^^^ >zWorkAround : { b: string[]; a?: undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >b : string[] > : ^^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ "a" in z ? z.a.toString() : z.b.toString(); >"a" in z ? z.a.toString() : z.b.toString() : string @@ -131,7 +131,7 @@ export function main(a: string[] | undefined) { >z.a.toString() : string > : ^^^^^^ >z.a.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >z.a : string[] > : ^^^^^^^^ >z : { a: string[]; b?: never; } | { b: string[]; a?: never; } @@ -139,11 +139,11 @@ export function main(a: string[] | undefined) { >a : string[] > : ^^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >z.b.toString() : string > : ^^^^^^ >z.b.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >z.b : string[] > : ^^^^^^^^ >z : { b: string[]; a?: never; } @@ -151,6 +151,6 @@ export function main(a: string[] | undefined) { >b : string[] > : ^^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/discriminatedUnionInference.types b/tests/baselines/reference/discriminatedUnionInference.types index 33c3239f64978..3e57da051279d 100644 --- a/tests/baselines/reference/discriminatedUnionInference.types +++ b/tests/baselines/reference/discriminatedUnionInference.types @@ -53,7 +53,7 @@ let x1 = foo({ kind: 'a', data: 42 }); // number >foo({ kind: 'a', data: 42 }) : number > : ^^^^^^ >foo : (item: Item) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ kind: 'a', data: 42 } : { kind: "a"; data: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >kind : "a" @@ -71,7 +71,7 @@ let x2 = foo({ kind: 'b', data: [1, 2] }); // number >foo({ kind: 'b', data: [1, 2] }) : number > : ^^^^^^ >foo : (item: Item) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ kind: 'b', data: [1, 2] } : { kind: "b"; data: number[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >kind : "b" diff --git a/tests/baselines/reference/discriminatedUnionJsxElement.types b/tests/baselines/reference/discriminatedUnionJsxElement.types index a85b5a20b84bf..6eda660a9bb1e 100644 --- a/tests/baselines/reference/discriminatedUnionJsxElement.types +++ b/tests/baselines/reference/discriminatedUnionJsxElement.types @@ -14,7 +14,7 @@ interface IData(data: IData) { >Menu : (data: IData) => any -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ >ListItemVariant : any > : ^^^ >data : IData diff --git a/tests/baselines/reference/discriminatedUnionTypes1.types b/tests/baselines/reference/discriminatedUnionTypes1.types index 6504bd122acff..2fc808aad9ec0 100644 --- a/tests/baselines/reference/discriminatedUnionTypes1.types +++ b/tests/baselines/reference/discriminatedUnionTypes1.types @@ -321,7 +321,7 @@ function area3(s: Shape) { >assertNever(s) : never > : ^^^^^ >assertNever : (x: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >s : never > : ^^^^^ } @@ -407,7 +407,7 @@ function area4(s: Shape) { >assertNever(s) : never > : ^^^^^ >assertNever : (x: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >s : never > : ^^^^^ } @@ -452,7 +452,7 @@ function f1(m: Message) { m; // { kind: "A", x: string } >m : { kind: "A"; x: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ } else if (m.kind === "D") { >m.kind === "D" : boolean @@ -460,7 +460,7 @@ function f1(m: Message) { >m.kind : "B" | "C" | "D" > : ^^^^^^^^^^^^^^^ >m : { kind: "B" | "C"; y: number; } | { kind: "D"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ ^^^ >kind : "B" | "C" | "D" > : ^^^^^^^^^^^^^^^ >"D" : "D" @@ -468,12 +468,12 @@ function f1(m: Message) { m; // { kind: "D" } >m : { kind: "D"; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ } else { m; // { kind: "B" | "C", y: number } >m : { kind: "B" | "C"; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ } } @@ -499,7 +499,7 @@ function f2(m: Message) { } m; // { kind: "B" | "C", y: number } | { kind: "D" } >m : { kind: "B" | "C"; y: number; } | { kind: "D"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ ^^^ } function f3(m: Message) { @@ -548,7 +548,7 @@ function f4(m: Message, x: "A" | "D") { m; // { kind: "A", x: string } | { kind: "D" } >m : { kind: "A"; x: string; } | { kind: "D"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ ^^^ } } @@ -572,7 +572,7 @@ function f5(m: Message) { m; // { kind: "A", x: string } >m : { kind: "A"; x: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ break; case "D": @@ -581,13 +581,13 @@ function f5(m: Message) { m; // { kind: "D" } >m : { kind: "D"; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ break; default: m; // { kind: "B" | "C", y: number } >m : { kind: "B" | "C"; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ } } @@ -611,7 +611,7 @@ function f6(m: Message) { m; // { kind: "A", x: string } >m : { kind: "A"; x: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ case "D": >"D" : "D" @@ -619,13 +619,13 @@ function f6(m: Message) { m; // { kind: "A", x: string } | { kind: "D" } >m : { kind: "A"; x: string; } | { kind: "D"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ ^^^ break; default: m; // { kind: "B" | "C", y: number } >m : { kind: "B" | "C"; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ } } @@ -655,7 +655,7 @@ function f7(m: Message) { } m; // { kind: "B" | "C", y: number } | { kind: "D" } >m : { kind: "B" | "C"; y: number; } | { kind: "D"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ ^^^ } function f8(m: Message) { @@ -689,5 +689,5 @@ function f8(m: Message) { } m; // { kind: "B" | "C", y: number } >m : { kind: "B" | "C"; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ } diff --git a/tests/baselines/reference/discriminatedUnionTypes2.types b/tests/baselines/reference/discriminatedUnionTypes2.types index e687b191345ab..f67c4ae4daa10 100644 --- a/tests/baselines/reference/discriminatedUnionTypes2.types +++ b/tests/baselines/reference/discriminatedUnionTypes2.types @@ -29,7 +29,7 @@ function f10(x : { kind: false, a: string } | { kind: true, b: string } | { kind >x.kind : string | boolean > : ^^^^^^^^^^^^^^^^ >x : { kind: false; a: string; } | { kind: true; b: string; } | { kind: string; c: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ ^^^^^ ^^^ >kind : string | boolean > : ^^^^^^^^^^^^^^^^ >false : false @@ -39,7 +39,7 @@ function f10(x : { kind: false, a: string } | { kind: true, b: string } | { kind >x.a : string > : ^^^^^^ >x : { kind: false; a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >a : string > : ^^^^^^ } @@ -49,7 +49,7 @@ function f10(x : { kind: false, a: string } | { kind: true, b: string } | { kind >x.kind : string | true > : ^^^^^^^^^^^^^ >x : { kind: true; b: string; } | { kind: string; c: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ ^^^^^ ^^^ >kind : string | true > : ^^^^^^^^^^^^^ >true : true @@ -59,7 +59,7 @@ function f10(x : { kind: false, a: string } | { kind: true, b: string } | { kind >x.b : string > : ^^^^^^ >x : { kind: true; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >b : string > : ^^^^^^ } @@ -68,7 +68,7 @@ function f10(x : { kind: false, a: string } | { kind: true, b: string } | { kind >x.c : string > : ^^^^^^ >x : { kind: string; c: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >c : string > : ^^^^^^ } @@ -100,7 +100,7 @@ function f11(x : { kind: false, a: string } | { kind: true, b: string } | { kind >x.kind : string | boolean > : ^^^^^^^^^^^^^^^^ >x : { kind: false; a: string; } | { kind: true; b: string; } | { kind: string; c: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ ^^^^^ ^^^ >kind : string | boolean > : ^^^^^^^^^^^^^^^^ @@ -112,7 +112,7 @@ function f11(x : { kind: false, a: string } | { kind: true, b: string } | { kind >x.a : string > : ^^^^^^ >x : { kind: false; a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >a : string > : ^^^^^^ @@ -125,7 +125,7 @@ function f11(x : { kind: false, a: string } | { kind: true, b: string } | { kind >x.b : string > : ^^^^^^ >x : { kind: true; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >b : string > : ^^^^^^ @@ -135,7 +135,7 @@ function f11(x : { kind: false, a: string } | { kind: true, b: string } | { kind >x.c : string > : ^^^^^^ >x : { kind: string; c: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >c : string > : ^^^^^^ } @@ -159,7 +159,7 @@ function f13(x: { a: null; b: string } | { a: string, c: number }) { >x = { a: null, b: "foo", c: 4} : { a: null; b: string; c: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { a: null; b: string; } | { a: string; c: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^ >{ a: null, b: "foo", c: 4} : { a: null; b: string; c: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : null @@ -194,7 +194,7 @@ function f14(x: { a: 0; b: string } | { a: T, c: number }) { >x.a : 0 | T > : ^^^^^ >x : { a: 0; b: string; } | { a: T; c: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^ >a : 0 | T > : ^^^^^ >0 : 0 @@ -204,7 +204,7 @@ function f14(x: { a: 0; b: string } | { a: T, c: number }) { >x.b : any > : ^^^ >x : { a: 0; b: string; } | { a: T; c: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^ >b : any > : ^^^ } @@ -240,7 +240,7 @@ function f15(x: Result) { >x.value : number > : ^^^^^^ >x : { error?: undefined; value: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ >value : number > : ^^^^^^ } @@ -251,7 +251,7 @@ function f15(x: Result) { >x.error : Error > : ^^^^^ >x : { error: Error; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >error : Error > : ^^^^^ >message : string @@ -408,12 +408,12 @@ function f30(foo: Foo) { foo; >foo : { tag: true; x: number; } | { [x: string]: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } else { foo; >foo : { tag: false; y: number; } | { [x: string]: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } } @@ -437,12 +437,12 @@ function f31(foo: Foo) { foo; >foo : { tag: true; x: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ ^^^ } else { foo; >foo : { tag: false; y: number; } | { [x: string]: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } } @@ -552,7 +552,7 @@ function foo1(x: RuntimeValue & { type: 'number' }) { >foo1 : (x: RuntimeValue & { type: "number"; }) => void > : ^ ^^ ^^^^^^^^^ >x : { type: "number"; value: number; } & { type: "number"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ >type : "number" > : ^^^^^^^^ @@ -562,7 +562,7 @@ function foo1(x: RuntimeValue & { type: 'number' }) { >x.type : "number" > : ^^^^^^^^ >x : { type: "number"; value: number; } & { type: "number"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ >type : "number" > : ^^^^^^^^ >'number' : "number" @@ -572,7 +572,7 @@ function foo1(x: RuntimeValue & { type: 'number' }) { >x.value : number > : ^^^^^^ >x : { type: "number"; value: number; } & { type: "number"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ >value : number > : ^^^^^^ } @@ -581,7 +581,7 @@ function foo1(x: RuntimeValue & { type: 'number' }) { >x.value : number > : ^^^^^^ >x : { type: "number"; value: number; } & { type: "number"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ >value : number > : ^^^^^^ } @@ -591,7 +591,7 @@ function foo2(x: RuntimeValue & ({ type: 'number' } | { type: 'string' })) { >foo2 : (x: RuntimeValue & ({ type: "number"; } | { type: "string"; })) => void > : ^ ^^ ^^^^^^^^^ >x : ({ type: "number"; value: number; } & { type: "number"; }) | ({ type: "string"; value: string; } & { type: "string"; }) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ +> : ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^ >type : "number" > : ^^^^^^^^ >type : "string" @@ -603,7 +603,7 @@ function foo2(x: RuntimeValue & ({ type: 'number' } | { type: 'string' })) { >x.type : "string" | "number" > : ^^^^^^^^^^^^^^^^^^^ >x : ({ type: "number"; value: number; } & { type: "number"; }) | ({ type: "string"; value: string; } & { type: "string"; }) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^ >type : "string" | "number" > : ^^^^^^^^^^^^^^^^^^^ >'number' : "number" @@ -613,7 +613,7 @@ function foo2(x: RuntimeValue & ({ type: 'number' } | { type: 'string' })) { >x.value : number > : ^^^^^^ >x : { type: "number"; value: number; } & { type: "number"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ >value : number > : ^^^^^^ } @@ -622,7 +622,7 @@ function foo2(x: RuntimeValue & ({ type: 'number' } | { type: 'string' })) { >x.value : string > : ^^^^^^ >x : { type: "string"; value: string; } & { type: "string"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ >value : string > : ^^^^^^ } diff --git a/tests/baselines/reference/discriminatingUnionWithUnionPropertyAgainstUndefinedWithoutStrictNullChecks.types b/tests/baselines/reference/discriminatingUnionWithUnionPropertyAgainstUndefinedWithoutStrictNullChecks.types index 6eb5bdf69f5a4..dd5b6603dbe39 100644 --- a/tests/baselines/reference/discriminatingUnionWithUnionPropertyAgainstUndefinedWithoutStrictNullChecks.types +++ b/tests/baselines/reference/discriminatingUnionWithUnionPropertyAgainstUndefinedWithoutStrictNullChecks.types @@ -29,16 +29,16 @@ opts.objectRef || opts.getObjectRef(); >opts.objectRef : A | B > : ^^^^^ >opts : { objectRef?: undefined; getObjectRef: () => any; } | { objectRef: A | B; getObjectRef?: undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ >objectRef : A | B > : ^^^^^ >opts.getObjectRef() : any >opts.getObjectRef : () => any -> : ^^^^^^^^^ +> : ^^^^^^ >opts : { objectRef?: undefined; getObjectRef: () => any; } | { objectRef: A | B; getObjectRef?: undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ >getObjectRef : () => any -> : ^^^^^^^^^ +> : ^^^^^^ // repro #49643 issuecomment-1174455723 diff --git a/tests/baselines/reference/dissallowSymbolAsWeakType.types b/tests/baselines/reference/dissallowSymbolAsWeakType.types index 2701bd3f57fac..a59a4c871eda4 100644 --- a/tests/baselines/reference/dissallowSymbolAsWeakType.types +++ b/tests/baselines/reference/dissallowSymbolAsWeakType.types @@ -39,11 +39,11 @@ ws.has(s); >ws.has(s) : boolean > : ^^^^^^^ >ws.has : (value: object) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >ws : WeakSet > : ^^^^^^^^^^^^^^^ >has : (value: object) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >s : symbol > : ^^^^^^ @@ -51,11 +51,11 @@ ws.delete(s); >ws.delete(s) : boolean > : ^^^^^^^ >ws.delete : (value: object) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >ws : WeakSet > : ^^^^^^^^^^^^^^^ >delete : (value: object) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >s : symbol > : ^^^^^^ @@ -93,23 +93,23 @@ wm.has(s); >wm.has(s) : boolean > : ^^^^^^^ >wm.has : (key: object) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >wm : WeakMap > : ^^^^^^^^^^^^^^^^^^^^^^^^ >has : (key: object) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >s : symbol > : ^^^^^^ wm.get(s); >wm.get(s) : boolean > : ^^^^^^^ ->wm.get : (key: object) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^ +>wm.get : (key: object) => boolean | undefined +> : ^ ^^^^^^^^^^^^^^^^^^^^ >wm : WeakMap > : ^^^^^^^^^^^^^^^^^^^^^^^^ ->get : (key: object) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^ +>get : (key: object) => boolean | undefined +> : ^ ^^^^^^^^^^^^^^^^^^^^ >s : symbol > : ^^^^^^ @@ -117,11 +117,11 @@ wm.delete(s); >wm.delete(s) : boolean > : ^^^^^^^ >wm.delete : (key: object) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >wm : WeakMap > : ^^^^^^^^^^^^^^^^^^^^^^^^ >delete : (key: object) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >s : symbol > : ^^^^^^ @@ -138,12 +138,12 @@ const wr = new WeakRef(s); wr.deref(); >wr.deref() : object > : ^^^^^^ ->wr.deref : () => object -> : ^^^^^^^^^^^^ +>wr.deref : () => object | undefined +> : ^^^^^^^^^^^^ >wr : WeakRef > : ^^^^^^^^^^^^^^^ ->deref : () => object -> : ^^^^^^^^^^^^ +>deref : () => object | undefined +> : ^^^^^^^^^^^^ const f = new FinalizationRegistry(() => {}); >f : FinalizationRegistry @@ -159,11 +159,11 @@ f.register(s, null); >f.register(s, null) : void > : ^^^^ >f.register : (target: WeakKey, heldValue: unknown, unregisterToken?: WeakKey) => void -> : ^ ^^ ^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^ ^^^ ^^^^^ >f : FinalizationRegistry > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >register : (target: WeakKey, heldValue: unknown, unregisterToken?: WeakKey) => void -> : ^ ^^ ^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^ ^^^ ^^^^^ >s : symbol > : ^^^^^^ @@ -171,11 +171,11 @@ f.unregister(s); >f.unregister(s) : boolean > : ^^^^^^^ >f.unregister : (unregisterToken: WeakKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : FinalizationRegistry > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >unregister : (unregisterToken: WeakKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >s : symbol > : ^^^^^^ diff --git a/tests/baselines/reference/distributiveConditionalTypeConstraints.types b/tests/baselines/reference/distributiveConditionalTypeConstraints.types index ed4cbacd3fed3..14d899a981171 100644 --- a/tests/baselines/reference/distributiveConditionalTypeConstraints.types +++ b/tests/baselines/reference/distributiveConditionalTypeConstraints.types @@ -11,7 +11,7 @@ type IsArray = T extends unknown[] ? true : false; function f1(x: IsArray) { >f1 : (x: IsArray) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : IsArray > : ^^^^^^^^^^ @@ -34,7 +34,7 @@ function f1(x: IsArray) { function f2(x: IsArray) { >f2 : (x: IsArray) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : IsArray > : ^^^^^^^^^^ @@ -57,7 +57,7 @@ function f2(x: IsArray) { function f3(x: IsArray) { >f3 : (x: IsArray) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : IsArray > : ^^^^^^^^^^ @@ -80,7 +80,7 @@ function f3(x: IsArray) { function f4(x: IsArray) { >f4 : (x: IsArray) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : IsArray > : ^^^^^^^^^^ @@ -117,7 +117,7 @@ type ZeroOf = function f10(x: ZeroOf) { >f10 : (x: ZeroOf) => void -> : ^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : ZeroOf > : ^^^^^^^^^ @@ -140,7 +140,7 @@ type Foo = T extends "abc" | 42 ? true : false; function f20(x: Foo) { >f20 : (x: Foo) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : Foo > : ^^^^^^ @@ -171,7 +171,7 @@ interface C { foo(): void, bar(): void } function test1(y: T extends B ? number : string) { >test1 : (y: T extends B ? number : string) => void -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >y : T extends B ? number : string > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -207,7 +207,7 @@ function test1(y: T extends B ? number : string) { function test2(y: T extends B ? string : number) { >test2 : (y: T extends B ? string : number) => void -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >y : T extends B ? string : number > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -243,7 +243,7 @@ function test2(y: T extends B ? string : number) { function test3(y: T extends C ? number : string) { >test3 : (y: T extends C ? number : string) => void -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >y : T extends C ? number : string > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -279,7 +279,7 @@ function test3(y: T extends C ? number : string) { function test4(y: T extends C ? string : number) { >test4 : (y: T extends C ? string : number) => void -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >y : T extends C ? string : number > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/divergentAccessors1.types b/tests/baselines/reference/divergentAccessors1.types index 60c41aa51002f..b5445ea0b62cd 100644 --- a/tests/baselines/reference/divergentAccessors1.types +++ b/tests/baselines/reference/divergentAccessors1.types @@ -62,7 +62,7 @@ const t_hgs: T_HasGetSet = null as any; >t_hgs : { get foo(): number; set foo(v: number | string); } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^ +> : ^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^ >null as any : any t_hgs.foo = "32"; @@ -71,7 +71,7 @@ >t_hgs.foo : string | number > : ^^^^^^^^^^^^^^^ >t_hgs : { get foo(): number; set foo(v: number | string); } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^ +> : ^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^ >foo : string | number > : ^^^^^^^^^^^^^^^ >"32" : "32" @@ -83,7 +83,7 @@ >t_hgs.foo : number > : ^^^^^^ >t_hgs : { get foo(): number; set foo(v: number | string); } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^ +> : ^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^ >foo : number > : ^^^^^^ } diff --git a/tests/baselines/reference/divergentAccessorsTypes7.types b/tests/baselines/reference/divergentAccessorsTypes7.types index 6810bc6c8a146..609b83503de6d 100644 --- a/tests/baselines/reference/divergentAccessorsTypes7.types +++ b/tests/baselines/reference/divergentAccessorsTypes7.types @@ -49,41 +49,41 @@ const a = new Test<{ a.value = (item) => item.property >a.value = (item) => item.property : (item: { property: string; }) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ >a.value : string | ((item: { property: string; }) => string) -> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^ >a : Test<{ property: string; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^^^ >value : string | ((item: { property: string; }) => string) -> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^ >(item) => item.property : (item: { property: string; }) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ >item : { property: string; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ >item.property : string > : ^^^^^^ >item : { property: string; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ >property : string > : ^^^^^^ a['value'] = (item) => item.property >a['value'] = (item) => item.property : (item: { property: string; }) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ >a['value'] : string | ((item: { property: string; }) => string) -> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^ >a : Test<{ property: string; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^^^ >'value' : "value" > : ^^^^^^^ >(item) => item.property : (item: { property: string; }) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ >item : { property: string; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ >item.property : string > : ^^^^^^ >item : { property: string; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ >property : string > : ^^^^^^ diff --git a/tests/baselines/reference/divideAndConquerIntersections.types b/tests/baselines/reference/divideAndConquerIntersections.types index 43d05e7e128f6..880c5d4a95d5a 100644 --- a/tests/baselines/reference/divideAndConquerIntersections.types +++ b/tests/baselines/reference/divideAndConquerIntersections.types @@ -153,8 +153,8 @@ type FilterFunction = (up: U) => up is V; > : ^ export function matchFilter( ->matchFilter : (filter: Q | Q[]) => FilterFunction> -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +>matchFilter : (filter: Q | Q[]) => FilterFunction> +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ filter: Q | Q[], >filter : Q | Q[] @@ -166,11 +166,11 @@ export function matchFilter( >console.log("Matching", filter) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"Matching" : "Matching" > : ^^^^^^^^^^ >filter : "message" | "edited_message" | "channel_post" | "edited_channel_post" | "message_reaction" | "message_reaction_count" | "inline_query" | "chosen_inline_result" | "callback_query" | "shipping_query" | "pre_checkout_query" | "poll" | "poll_answer" | "my_chat_member" | "chat_member" | "chat_join_request" | "chat_boost" | "removed_chat_boost" | Q[] @@ -259,11 +259,11 @@ class EventHub { >console.log("Adding", middleware.length, "generic handlers") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"Adding" : "Adding" > : ^^^^^^^^ >middleware.length : number @@ -280,8 +280,8 @@ class EventHub { > : ^^^^ } on( ->on : (filter: Q | Q[], ...middleware: Array>>) => EventHub> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^ +>on : (filter: Q | Q[], ...middleware: Array>>) => EventHub> +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ filter: Q | Q[], >filter : Q | Q[] @@ -297,11 +297,11 @@ class EventHub { >console.log("Adding", middleware.length, "handlers for", filter) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"Adding" : "Adding" > : ^^^^^^^^ >middleware.length : number diff --git a/tests/baselines/reference/doNotElaborateAssignabilityToTypeParameters.types b/tests/baselines/reference/doNotElaborateAssignabilityToTypeParameters.types index 1ba794556cde4..3b3ba3f798ac6 100644 --- a/tests/baselines/reference/doNotElaborateAssignabilityToTypeParameters.types +++ b/tests/baselines/reference/doNotElaborateAssignabilityToTypeParameters.types @@ -15,7 +15,7 @@ async function foo(x: T): Promise { >getXOrYadda(x) : T | Yadda > : ^^^^^^^^^ >getXOrYadda : (x: T_1) => T_1 | Yadda -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : T > : ^ diff --git a/tests/baselines/reference/doNotInferUnrelatedTypes.types b/tests/baselines/reference/doNotInferUnrelatedTypes.types index e9e33f4cd9b46..c11d87bd570ec 100644 --- a/tests/baselines/reference/doNotInferUnrelatedTypes.types +++ b/tests/baselines/reference/doNotInferUnrelatedTypes.types @@ -22,7 +22,7 @@ let foo: LiteralType = dearray(alt); >dearray(alt) : LiteralType > : ^^^^^^^^^^^ >dearray : (ara: ReadonlyArray) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >alt : LiteralType[] > : ^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/doYouNeedToChangeYourTargetLibraryES2015.types b/tests/baselines/reference/doYouNeedToChangeYourTargetLibraryES2015.types index aa752cd55afe1..534ac63309e95 100644 --- a/tests/baselines/reference/doYouNeedToChangeYourTargetLibraryES2015.types +++ b/tests/baselines/reference/doYouNeedToChangeYourTargetLibraryES2015.types @@ -392,11 +392,11 @@ const testObjectConstructorKeys = Object.keys({}); >Object.keys({}) : string[] > : ^^^^^^^^ >Object.keys : (o: object) => string[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >keys : (o: object) => string[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >{} : {} > : ^^ diff --git a/tests/baselines/reference/doYouNeedToChangeYourTargetLibraryES2016Plus.types b/tests/baselines/reference/doYouNeedToChangeYourTargetLibraryES2016Plus.types index fc244186c70e0..bcecd28924a53 100644 --- a/tests/baselines/reference/doYouNeedToChangeYourTargetLibraryES2016Plus.types +++ b/tests/baselines/reference/doYouNeedToChangeYourTargetLibraryES2016Plus.types @@ -165,12 +165,12 @@ const testRegExpMatchArrayGroups = "2019-04-30".match(/(?[0-9]{4})-(? : ^^^ >"2019-04-30".match(/(?[0-9]{4})-(?[0-9]{2})-(?[0-9]{2})/g) : RegExpMatchArray > : ^^^^^^^^^^^^^^^^ ->"2019-04-30".match : { (regexp: string | RegExp): RegExpMatchArray; (matcher: { [Symbol.match](string: string): RegExpMatchArray | null; }): RegExpMatchArray; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +>"2019-04-30".match : { (regexp: string | RegExp): RegExpMatchArray | null; (matcher: { [Symbol.match](string: string): RegExpMatchArray | null; }): RegExpMatchArray | null; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >"2019-04-30" : "2019-04-30" > : ^^^^^^^^^^^^ ->match : { (regexp: string | RegExp): RegExpMatchArray; (matcher: { [Symbol.match](string: string): RegExpMatchArray | null; }): RegExpMatchArray; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +>match : { (regexp: string | RegExp): RegExpMatchArray | null; (matcher: { [Symbol.match](string: string): RegExpMatchArray | null; }): RegExpMatchArray | null; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >/(?[0-9]{4})-(?[0-9]{2})-(?[0-9]{2})/g : RegExp > : ^^^^^^ >groups : any @@ -183,12 +183,12 @@ const testRegExpExecArrayGroups = /(?[0-9]{4})-(?[0-9]{2})-(?[ > : ^^^ >/(?[0-9]{4})-(?[0-9]{2})-(?[0-9]{2})/g.exec("2019-04-30") : RegExpExecArray > : ^^^^^^^^^^^^^^^ ->/(?[0-9]{4})-(?[0-9]{2})-(?[0-9]{2})/g.exec : (string: string) => RegExpExecArray -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +>/(?[0-9]{4})-(?[0-9]{2})-(?[0-9]{2})/g.exec : (string: string) => RegExpExecArray | null +> : ^ ^^ ^^^^^ >/(?[0-9]{4})-(?[0-9]{2})-(?[0-9]{2})/g : RegExp > : ^^^^^^ ->exec : (string: string) => RegExpExecArray -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +>exec : (string: string) => RegExpExecArray | null +> : ^ ^^ ^^^^^ >"2019-04-30" : "2019-04-30" > : ^^^^^^^^^^^^ >groups : any diff --git a/tests/baselines/reference/doesNotNarrowUnionOfConstructorsWithInstanceof.types b/tests/baselines/reference/doesNotNarrowUnionOfConstructorsWithInstanceof.types index 90820f88741af..bbd0ee3828ab1 100644 --- a/tests/baselines/reference/doesNotNarrowUnionOfConstructorsWithInstanceof.types +++ b/tests/baselines/reference/doesNotNarrowUnionOfConstructorsWithInstanceof.types @@ -119,11 +119,11 @@ if (!(a instanceof b)) { >console.log(a.length) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >a.length : 1 | 2 > : ^^^^^ >a : A | B diff --git a/tests/baselines/reference/dottedSymbolResolution1.types b/tests/baselines/reference/dottedSymbolResolution1.types index 521e310801ed5..04210bb394459 100644 --- a/tests/baselines/reference/dottedSymbolResolution1.types +++ b/tests/baselines/reference/dottedSymbolResolution1.types @@ -28,7 +28,7 @@ class Base { foo() { } } function each(collection: string, callback: (indexInArray: any, valueOfElement: any) => any): any; >each : { (collection: string, callback: (indexInArray: any, valueOfElement: any) => any): any; (collection: JQuery, callback: (indexInArray: number, valueOfElement: Base) => any): any; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >collection : string > : ^^^^^^ >callback : (indexInArray: any, valueOfElement: any) => any @@ -38,7 +38,7 @@ function each(collection: string, callback: (indexInArray: any, valueOfElement: function each(collection: JQuery, callback: (indexInArray: number, valueOfElement: Base) => any): any; >each : { (collection: string, callback: (indexInArray: any, valueOfElement: any) => any): any; (collection: JQuery, callback: (indexInArray: number, valueOfElement: Base) => any): any; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >collection : JQuery > : ^^^^^^ >callback : (indexInArray: number, valueOfElement: Base) => any @@ -50,7 +50,7 @@ function each(collection: JQuery, callback: (indexInArray: number, valueOfElemen function each(collection: any, callback: (indexInArray: any, valueOfElement: any) => any): any { >each : { (collection: string, callback: (indexInArray: any, valueOfElement: any) => any): any; (collection: JQuery, callback: (indexInArray: number, valueOfElement: Base) => any): any; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >collection : any >callback : (indexInArray: any, valueOfElement: any) => any > : ^ ^^ ^^ ^^ ^^^^^ @@ -73,15 +73,15 @@ function _setBarAndText(): void { each(x.find(" "), function () { >each(x.find(" "), function () { var $this: JQuery = $(''), thisBar = $this.find(".fx-usagebars-calloutbar-this"); // bug lead to 'could not find dotted symbol' here } ) : any >each : { (collection: string, callback: (indexInArray: any, valueOfElement: any) => any): any; (collection: JQuery, callback: (indexInArray: number, valueOfElement: Base) => any): any; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >x.find(" ") : JQuery > : ^^^^^^ >x.find : (selector: string) => JQuery -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : JQuery > : ^^^^^^ >find : (selector: string) => JQuery -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >" " : " " > : ^^^ >function () { var $this: JQuery = $(''), thisBar = $this.find(".fx-usagebars-calloutbar-this"); // bug lead to 'could not find dotted symbol' here } : () => void @@ -103,11 +103,11 @@ function _setBarAndText(): void { >$this.find(".fx-usagebars-calloutbar-this") : JQuery > : ^^^^^^ >$this.find : (selector: string) => JQuery -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >$this : JQuery > : ^^^^^^ >find : (selector: string) => JQuery -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >".fx-usagebars-calloutbar-this" : ".fx-usagebars-calloutbar-this" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/doubleMixinConditionalTypeBaseClassWorks.types b/tests/baselines/reference/doubleMixinConditionalTypeBaseClassWorks.types index 728c283f233c8..07ad05ab44684 100644 --- a/tests/baselines/reference/doubleMixinConditionalTypeBaseClassWorks.types +++ b/tests/baselines/reference/doubleMixinConditionalTypeBaseClassWorks.types @@ -9,9 +9,9 @@ type Constructor = new (...args: any[]) => {}; const Mixin1 = (Base: C) => class extends Base { private _fooPrivate: {}; } >Mixin1 : (Base: C) => { new (...args: any[]): (Anonymous class); prototype: Mixin1.(Anonymous class); } & C -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >(Base: C) => class extends Base { private _fooPrivate: {}; } : (Base: C) => { new (...args: any[]): (Anonymous class); prototype: Mixin1.(Anonymous class); } & C -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Base : C > : ^ >class extends Base { private _fooPrivate: {}; } : { new (...args: any[]): (Anonymous class); prototype: Mixin1.(Anonymous class); } & C @@ -25,15 +25,15 @@ type FooConstructor = typeof Mixin1 extends (a: Constructor) => infer Cls ? Cls >FooConstructor : { new (...args: any[]): Mixin1.(Anonymous class); prototype: Mixin1.(Anonymous class); } & Constructor > : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Mixin1 : (Base: C) => { new (...args: any[]): (Anonymous class); prototype: Mixin1.(Anonymous class); } & C -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : Constructor > : ^^^^^^^^^^^ const Mixin2 = (Base: C) => class extends Base {}; ->Mixin2 : .(Anonymous class); prototype: Mixin1.(Anonymous class); } & Constructor>(Base: C) => { new (...args: any[]): (Anonymous class); prototype: Mixin2.(Anonymous class); } & C -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->(Base: C) => class extends Base {} : .(Anonymous class); prototype: Mixin1.(Anonymous class); } & Constructor>(Base: C) => { new (...args: any[]): (Anonymous class); prototype: Mixin2.(Anonymous class); } & C -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Mixin2 : (Base: C) => { new (...args: any[]): (Anonymous class); prototype: Mixin2.(Anonymous class); } & C +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(Base: C) => class extends Base {} : (Base: C) => { new (...args: any[]): (Anonymous class); prototype: Mixin2.(Anonymous class); } & C +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Base : C > : ^ >class extends Base {} : { new (...args: any[]): (Anonymous class); prototype: Mixin2.(Anonymous class); } & C @@ -46,12 +46,12 @@ class C extends Mixin2(Mixin1(Object)) {} > : ^ >Mixin2(Mixin1(Object)) : Mixin2<{ new (...args: any[]): Mixin1.(Anonymous class); prototype: Mixin1.(Anonymous class); } & ObjectConstructor>.(Anonymous class) & Mixin1.(Anonymous class) & Object > : ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->Mixin2 : .(Anonymous class); prototype: Mixin1.(Anonymous class); } & Constructor>(Base: C) => { new (...args: any[]): (Anonymous class); prototype: Mixin2.(Anonymous class); } & C -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Mixin2 : (Base: C) => { new (...args: any[]): (Anonymous class); prototype: Mixin2.(Anonymous class); } & C +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Mixin1(Object) : { new (...args: any[]): Mixin1.(Anonymous class); prototype: Mixin1.(Anonymous class); } & ObjectConstructor > : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Mixin1 : (Base: C) => { new (...args: any[]): (Anonymous class); prototype: Mixin1.(Anonymous class); } & C -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/duplicateErrorAssignability.types b/tests/baselines/reference/duplicateErrorAssignability.types index ff866cb641f7a..0891d470381fe 100644 --- a/tests/baselines/reference/duplicateErrorAssignability.types +++ b/tests/baselines/reference/duplicateErrorAssignability.types @@ -46,7 +46,7 @@ obj[x]; >obj[x] : any > : ^^^ >obj : { 3: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : B > : ^ diff --git a/tests/baselines/reference/duplicateErrorClassExpression.types b/tests/baselines/reference/duplicateErrorClassExpression.types index 69a573ec7e28c..161fd69918ac5 100644 --- a/tests/baselines/reference/duplicateErrorClassExpression.types +++ b/tests/baselines/reference/duplicateErrorClassExpression.types @@ -59,7 +59,7 @@ obj[x]; >obj[x] : any > : ^^^ >obj : { 3: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : typeof Derived > : ^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/duplicateLocalVariable1.types b/tests/baselines/reference/duplicateLocalVariable1.types index 23424564359eb..e0fedc0061418 100644 --- a/tests/baselines/reference/duplicateLocalVariable1.types +++ b/tests/baselines/reference/duplicateLocalVariable1.types @@ -55,11 +55,11 @@ export class TestRunner { >arg1.every(function (val, index) { return val === arg2[index] }) : boolean > : ^^^^^^^ >arg1.every : { (predicate: (value: any, index: number, array: any[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: any, index: number, array: any[]) => unknown, thisArg?: any): boolean; } -> : ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ >arg1 : any[] > : ^^^^^ >every : { (predicate: (value: any, index: number, array: any[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: any, index: number, array: any[]) => unknown, thisArg?: any): boolean; } -> : ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ >function (val, index) { return val === arg2[index] } : (val: any, index: number) => boolean > : ^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >val : any @@ -88,7 +88,7 @@ export class TestRunner { >this.tests.push(test) : number > : ^^^^^^ >this.tests.push : (...items: TestCase[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^ >this.tests : TestCase[] > : ^^^^^^^^^^ >this : this @@ -96,7 +96,7 @@ export class TestRunner { >tests : TestCase[] > : ^^^^^^^^^^ >push : (...items: TestCase[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^ >test : TestCase > : ^^^^^^^^ } @@ -157,11 +157,11 @@ export class TestRunner { >testcase.test() : boolean > : ^^^^^^^ >testcase.test : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >testcase : TestCase > : ^^^^^^^^ >test : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } catch (e) { >e : any @@ -247,11 +247,11 @@ export class TestRunner { >regex.test(e.message) : boolean > : ^^^^^^^ >regex.test : (string: string) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >regex : RegExp > : ^^^^^^ >test : (string: string) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >e.message : any > : ^^^ >e : any @@ -436,11 +436,11 @@ export var tests: TestRunner = (function () { >TestRunner.arrayCompare([1, 2, 3], [1, 2, 3]) : boolean > : ^^^^^^^ >TestRunner.arrayCompare : (arg1: any[], arg2: any[]) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >TestRunner : typeof TestRunner > : ^^^^^^^^^^^^^^^^^ >arrayCompare : (arg1: any[], arg2: any[]) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >[1, 2, 3] : number[] > : ^^^^^^^^ >1 : 1 @@ -480,11 +480,11 @@ export var tests: TestRunner = (function () { >TestRunner.arrayCompare([3, 2, 3], [1, 2, 3]) : boolean > : ^^^^^^^ >TestRunner.arrayCompare : (arg1: any[], arg2: any[]) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >TestRunner : typeof TestRunner > : ^^^^^^^^^^^^^^^^^ >arrayCompare : (arg1: any[], arg2: any[]) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >[3, 2, 3] : number[] > : ^^^^^^^^ >3 : 3 @@ -1520,11 +1520,11 @@ export var tests: TestRunner = (function () { >chars.push(fb.readByte()) : number > : ^^^^^^ >chars.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >chars : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >fb.readByte() : any > : ^^^ >fb.readByte : any @@ -1538,11 +1538,11 @@ export var tests: TestRunner = (function () { >TestRunner.arrayCompare(chars, [0x54, 0xC3, 0xA8, 0xE1, 0xB4, 0xA3, 0xE2, 0x80, 0xA0, 0x0D, 0x0A]) : boolean > : ^^^^^^^ >TestRunner.arrayCompare : (arg1: any[], arg2: any[]) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >TestRunner : typeof TestRunner > : ^^^^^^^^^^^^^^^^^ >arrayCompare : (arg1: any[], arg2: any[]) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >chars : any[] > : ^^^^^ >[0x54, 0xC3, 0xA8, 0xE1, 0xB4, 0xA3, 0xE2, 0x80, 0xA0, 0x0D, 0x0A] : number[] @@ -1637,11 +1637,11 @@ export var tests: TestRunner = (function () { >chars.push(fb.readUtf8CodePoint()) : number > : ^^^^^^ >chars.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >chars : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >fb.readUtf8CodePoint() : any > : ^^^ >fb.readUtf8CodePoint : any @@ -1655,11 +1655,11 @@ export var tests: TestRunner = (function () { >TestRunner.arrayCompare(chars, [0x0054, 0x00E8, 0x1D23, 0x2020, 0x000D, 0x000A]) : boolean > : ^^^^^^^ >TestRunner.arrayCompare : (arg1: any[], arg2: any[]) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >TestRunner : typeof TestRunner > : ^^^^^^^^^^^^^^^^^ >arrayCompare : (arg1: any[], arg2: any[]) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >chars : any[] > : ^^^^^ >[0x0054, 0x00E8, 0x1D23, 0x2020, 0x000D, 0x000A] : number[] @@ -1801,11 +1801,11 @@ export var tests: TestRunner = (function () { >bytes.push(fb.readByte()) : number > : ^^^^^^ >bytes.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >bytes : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >fb.readByte() : any > : ^^^ >fb.readByte : any @@ -1853,11 +1853,11 @@ export var tests: TestRunner = (function () { >TestRunner.arrayCompare(bytes, expected) : boolean > : ^^^^^^^ >TestRunner.arrayCompare : (arg1: any[], arg2: any[]) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >TestRunner : typeof TestRunner > : ^^^^^^^^^^^^^^^^^ >arrayCompare : (arg1: any[], arg2: any[]) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >bytes : any[] > : ^^^^^ >expected : number[] @@ -1942,11 +1942,11 @@ export var tests: TestRunner = (function () { >chars.forEach(function (val) { fb.writeUtf16CodePoint(val, false); }) : void > : ^^^^ >chars.forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >chars : number[] > : ^^^^^^^^ >forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >function (val) { fb.writeUtf16CodePoint(val, false); } : (val: number) => void > : ^ ^^^^^^^^^^^^^^^^^ >val : number @@ -2060,11 +2060,11 @@ export var tests: TestRunner = (function () { >expectedBytes.forEach(function (val) { var byteVal = savedFile.readByte(); if (byteVal !== val) { throw Error("Incorrect byte value"); } }) : void > : ^^^^ >expectedBytes.forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >expectedBytes : number[] > : ^^^^^^^^ >forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >function (val) { var byteVal = savedFile.readByte(); if (byteVal !== val) { throw Error("Incorrect byte value"); } } : (val: number) => void > : ^ ^^^^^^^^^^^^^^^^^ >val : number @@ -2311,11 +2311,11 @@ export var tests: TestRunner = (function () { >codePoints.push(savedFile.readUtf16CodePoint(false)) : number > : ^^^^^^ >codePoints.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >codePoints : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >savedFile.readUtf16CodePoint(false) : any > : ^^^ >savedFile.readUtf16CodePoint : any @@ -2349,11 +2349,11 @@ export var tests: TestRunner = (function () { >TestRunner.arrayCompare(codePoints, expectedCodePoints) : boolean > : ^^^^^^^ >TestRunner.arrayCompare : (arg1: any[], arg2: any[]) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >TestRunner : typeof TestRunner > : ^^^^^^^^^^^^^^^^^ >arrayCompare : (arg1: any[], arg2: any[]) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >codePoints : any[] > : ^^^^^ >expectedCodePoints : number[] @@ -2446,11 +2446,11 @@ export var tests: TestRunner = (function () { >codePoints.push(savedFile.readUtf8CodePoint()) : number > : ^^^^^^ >codePoints.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >codePoints : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >savedFile.readUtf8CodePoint() : any > : ^^^ >savedFile.readUtf8CodePoint : any @@ -2482,11 +2482,11 @@ export var tests: TestRunner = (function () { >TestRunner.arrayCompare(codePoints, expectedCodePoints) : boolean > : ^^^^^^^ >TestRunner.arrayCompare : (arg1: any[], arg2: any[]) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >TestRunner : typeof TestRunner > : ^^^^^^^^^^^^^^^^^ >arrayCompare : (arg1: any[], arg2: any[]) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >codePoints : any[] > : ^^^^^ >expectedCodePoints : number[] @@ -2560,11 +2560,11 @@ export var tests: TestRunner = (function () { >chars.forEach(function (val) { fb.writeUtf8CodePoint(val); }) : void > : ^^^^ >chars.forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >chars : number[] > : ^^^^^^^^ >forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >function (val) { fb.writeUtf8CodePoint(val); } : (val: number) => void > : ^ ^^^^^^^^^^^^^^^^^ >val : number @@ -2666,11 +2666,11 @@ export var tests: TestRunner = (function () { >expectedBytes.forEach(function (val) { var byteVal = savedFile.readByte(); if (byteVal !== val) { throw Error("Incorrect byte value"); } }) : void > : ^^^^ >expectedBytes.forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >expectedBytes : number[] > : ^^^^^^^^ >forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >function (val) { var byteVal = savedFile.readByte(); if (byteVal !== val) { throw Error("Incorrect byte value"); } } : (val: number) => void > : ^ ^^^^^^^^^^^^^^^^^ >val : number diff --git a/tests/baselines/reference/duplicateLocalVariable2.types b/tests/baselines/reference/duplicateLocalVariable2.types index 6f9044ed6b101..159bf111b2053 100644 --- a/tests/baselines/reference/duplicateLocalVariable2.types +++ b/tests/baselines/reference/duplicateLocalVariable2.types @@ -159,11 +159,11 @@ export var tests: TestRunner = (function () { >bytes.push(fb.readByte()) : number > : ^^^^^^ >bytes.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >bytes : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >fb.readByte() : any > : ^^^ >fb.readByte : any @@ -185,11 +185,11 @@ export var tests: TestRunner = (function () { >TestRunner.arrayCompare(bytes, expected) : boolean > : ^^^^^^^ >TestRunner.arrayCompare : (arg1: any[], arg2: any[]) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >TestRunner : typeof TestRunner > : ^^^^^^^^^^^^^^^^^ >arrayCompare : (arg1: any[], arg2: any[]) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >bytes : any[] > : ^^^^^ >expected : number[] diff --git a/tests/baselines/reference/duplicateObjectLiteralProperty_computedNameNegative1.types b/tests/baselines/reference/duplicateObjectLiteralProperty_computedNameNegative1.types index 285ba6da23d05..439a70c9aefbb 100644 --- a/tests/baselines/reference/duplicateObjectLiteralProperty_computedNameNegative1.types +++ b/tests/baselines/reference/duplicateObjectLiteralProperty_computedNameNegative1.types @@ -22,8 +22,8 @@ function bar(props: { x?: string; y?: string }) { > : ^^^^^^ >"" : "" > : ^^ ->props : { x?: string | undefined; y?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>props : { x?: string; y?: string; } +> : ^^^^^^ ^^^^^^ ^^^ return { >{ [x]: 1, [y]: 2, } : { [x: string]: number; } diff --git a/tests/baselines/reference/duplicateOverloadInTypeAugmentation1.types b/tests/baselines/reference/duplicateOverloadInTypeAugmentation1.types index 53f65765989fe..15fa0b9ba015f 100644 --- a/tests/baselines/reference/duplicateOverloadInTypeAugmentation1.types +++ b/tests/baselines/reference/duplicateOverloadInTypeAugmentation1.types @@ -3,8 +3,8 @@ === duplicateOverloadInTypeAugmentation1.ts === interface Array { reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, ->reduce : { (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; (callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; (callbackfn: (previousValue: U_1, currentValue: T, currentIndex: number, array: T[]) => U_1, initialValue: U_1): U_1; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>reduce : { (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; (callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; (callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >callbackfn : (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T > : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >previousValue : T @@ -22,7 +22,7 @@ interface Array { reduce(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, >reduce : { (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; (callbackfn: (previousValue: U_1, currentValue: T, currentIndex: number, array: T[]) => U_1, initialValue: U_1): U_1; (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; (callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >callbackfn : (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U > : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >previousValue : U @@ -47,12 +47,12 @@ var r5 = a.reduce((x, y) => x + y); > : ^^^^^^ >a.reduce((x, y) => x + y) : string > : ^^^^^^ ->a.reduce : { (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string): string; (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string, initialValue: string): string; (callbackfn: (previousValue: U, currentValue: string, currentIndex: number, array: string[]) => U, initialValue: U): U; (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string, initialValue?: string): string; (callbackfn: (previousValue: U_1, currentValue: string, currentIndex: number, array: string[]) => U_1, initialValue: U_1): U_1; } -> : ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +>a.reduce : { (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string): string; (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string, initialValue: string): string; (callbackfn: (previousValue: U, currentValue: string, currentIndex: number, array: string[]) => U, initialValue: U): U; (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string, initialValue?: string): string; (callbackfn: (previousValue: U, currentValue: string, currentIndex: number, array: string[]) => U, initialValue: U): U; } +> : ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ >a : string[] > : ^^^^^^^^ ->reduce : { (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string): string; (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string, initialValue: string): string; (callbackfn: (previousValue: U, currentValue: string, currentIndex: number, array: string[]) => U, initialValue: U): U; (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string, initialValue?: string): string; (callbackfn: (previousValue: U_1, currentValue: string, currentIndex: number, array: string[]) => U_1, initialValue: U_1): U_1; } -> : ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +>reduce : { (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string): string; (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string, initialValue: string): string; (callbackfn: (previousValue: U, currentValue: string, currentIndex: number, array: string[]) => U, initialValue: U): U; (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string, initialValue?: string): string; (callbackfn: (previousValue: U, currentValue: string, currentIndex: number, array: string[]) => U, initialValue: U): U; } +> : ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ >(x, y) => x + y : (x: string, y: string) => string > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >x : string diff --git a/tests/baselines/reference/duplicatePackage.types b/tests/baselines/reference/duplicatePackage.types index 4dc74a1fa41dc..98226f14d7024 100644 --- a/tests/baselines/reference/duplicatePackage.types +++ b/tests/baselines/reference/duplicatePackage.types @@ -3,7 +3,7 @@ === /src/a.ts === import { a } from "a"; >a : (x: import("/node_modules/a/node_modules/x/index").default) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ import { b } from "b"; >b : import("/node_modules/a/node_modules/x/index").default @@ -17,7 +17,7 @@ a(b); // Works >a(b) : void > : ^^^^ >a : (x: import("/node_modules/a/node_modules/x/index").default) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ >b : import("/node_modules/a/node_modules/x/index").default > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -25,7 +25,7 @@ a(c); // Error, these are from different versions of the library. >a(c) : void > : ^^^^ >a : (x: import("/node_modules/a/node_modules/x/index").default) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ >c : import("/node_modules/c/node_modules/x/index").default > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/duplicatePackage_relativeImportWithinPackage.types b/tests/baselines/reference/duplicatePackage_relativeImportWithinPackage.types index 6d3c575110c51..d3ec5935c392f 100644 --- a/tests/baselines/reference/duplicatePackage_relativeImportWithinPackage.types +++ b/tests/baselines/reference/duplicatePackage_relativeImportWithinPackage.types @@ -3,7 +3,7 @@ === /index.ts === import { use } from "foo/use"; >use : (o: import("/node_modules/foo/index").C) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ import { o } from "a"; >o : import("/node_modules/foo/index").C @@ -13,7 +13,7 @@ use(o); >use(o) : void > : ^^^^ >use : (o: import("/node_modules/foo/index").C) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >o : import("/node_modules/foo/index").C > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/duplicatePackage_relativeImportWithinPackage_scoped.types b/tests/baselines/reference/duplicatePackage_relativeImportWithinPackage_scoped.types index 605d3df15ebd6..c78f42b4b1d3c 100644 --- a/tests/baselines/reference/duplicatePackage_relativeImportWithinPackage_scoped.types +++ b/tests/baselines/reference/duplicatePackage_relativeImportWithinPackage_scoped.types @@ -3,7 +3,7 @@ === /index.ts === import { use } from "@foo/bar/use"; >use : (o: import("/node_modules/@foo/bar/index").C) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ import { o } from "a"; >o : import("/node_modules/@foo/bar/index").C @@ -13,7 +13,7 @@ use(o); >use(o) : void > : ^^^^ >use : (o: import("/node_modules/@foo/bar/index").C) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >o : import("/node_modules/@foo/bar/index").C > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/duplicatePropertyNames.types b/tests/baselines/reference/duplicatePropertyNames.types index d93d31e1be3ea..ae253b4f0edbe 100644 --- a/tests/baselines/reference/duplicatePropertyNames.types +++ b/tests/baselines/reference/duplicatePropertyNames.types @@ -16,11 +16,11 @@ interface Number { interface String { foo(): string; >foo : { (): string; (): string; } -> : ^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ foo(): string; >foo : { (): string; (): string; } -> : ^^^^^^^^^^^^^^^^^^ ^^^ +> : ^^^^^^ ^^^^^^ ^^^ } interface Array { @@ -98,7 +98,7 @@ var a: { bar: () => {}; >bar : () => {} -> : ^^^^^^^^ +> : ^^^^^^ } var b = { diff --git a/tests/baselines/reference/elaboratedErrors.types b/tests/baselines/reference/elaboratedErrors.types index c2d9e436fbfad..93a4171af8484 100644 --- a/tests/baselines/reference/elaboratedErrors.types +++ b/tests/baselines/reference/elaboratedErrors.types @@ -9,19 +9,19 @@ interface FileSystem { function fn(s: WorkerFS): void; >fn : { (s: WorkerFS): void; (s: FileSystem): void; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : WorkerFS > : ^^^^^^^^ function fn(s: FileSystem): void; >fn : { (s: WorkerFS): void; (s: FileSystem): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : FileSystem > : ^^^^^^^^^^ function fn(s: FileSystem|WorkerFS) { } >fn : { (s: WorkerFS): void; (s: FileSystem): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : FileSystem | WorkerFS > : ^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/elaboratedErrorsOnNullableTargets01.types b/tests/baselines/reference/elaboratedErrorsOnNullableTargets01.types index a5ef3b2288148..56219f243ce47 100644 --- a/tests/baselines/reference/elaboratedErrorsOnNullableTargets01.types +++ b/tests/baselines/reference/elaboratedErrorsOnNullableTargets01.types @@ -19,17 +19,17 @@ export declare let y: { foo: { bar: number | undefined } }; x = y; >x = y : { foo: { bar: number | undefined; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: { bar: string | null; } | undefined; } | null | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >y : { foo: { bar: number | undefined; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ y = x; >y = x : { foo: { bar: string | null; } | undefined; } | null | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >y : { foo: { bar: number | undefined; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: { bar: string | null; } | undefined; } | null | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/elaborationForPossiblyCallableTypeStillReferencesArgumentAtTopLevel.types b/tests/baselines/reference/elaborationForPossiblyCallableTypeStillReferencesArgumentAtTopLevel.types index bb19512f3df73..ad116c3984e9a 100644 --- a/tests/baselines/reference/elaborationForPossiblyCallableTypeStillReferencesArgumentAtTopLevel.types +++ b/tests/baselines/reference/elaborationForPossiblyCallableTypeStillReferencesArgumentAtTopLevel.types @@ -15,7 +15,7 @@ ff(ohno) >ff(ohno) : void > : ^^^^ >ff : (t: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >ohno : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ diff --git a/tests/baselines/reference/elementAccessChain.2.types b/tests/baselines/reference/elementAccessChain.2.types index 2eba25dbd6e62..d9f9678cc0035 100644 --- a/tests/baselines/reference/elementAccessChain.2.types +++ b/tests/baselines/reference/elementAccessChain.2.types @@ -11,7 +11,7 @@ o1?.["b"]; >o1?.["b"] : string > : ^^^^^^ >o1 : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >"b" : "b" > : ^^^ @@ -27,9 +27,9 @@ o2?.["b"].c; >o2?.["b"].c : string > : ^^^^^^ >o2?.["b"] : { c: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >o2 : { b: { c: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >"b" : "b" > : ^^^ >c : string @@ -39,11 +39,11 @@ o2?.b["c"]; >o2?.b["c"] : string > : ^^^^^^ >o2?.b : { c: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >o2 : { b: { c: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : { c: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >"c" : "c" > : ^^^ @@ -59,9 +59,9 @@ o3["b"]?.c; >o3["b"]?.c : string > : ^^^^^^ >o3["b"] : { c: string; } -> : ^^^^^^^^^^^^^^ ->o3 : { b: { c: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ +>o3 : { b: undefined | { c: string; }; } +> : ^^^^^ ^^^ >"b" : "b" > : ^^^ >c : string @@ -71,11 +71,11 @@ o3.b?.["c"]; >o3.b?.["c"] : string > : ^^^^^^ >o3.b : { c: string; } -> : ^^^^^^^^^^^^^^ ->o3 : { b: { c: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ +>o3 : { b: undefined | { c: string; }; } +> : ^^^^^ ^^^ >b : { c: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >"c" : "c" > : ^^^ diff --git a/tests/baselines/reference/elementAccessChain.types b/tests/baselines/reference/elementAccessChain.types index 05259fbadacbb..f8fca0e5e47f4 100644 --- a/tests/baselines/reference/elementAccessChain.types +++ b/tests/baselines/reference/elementAccessChain.types @@ -11,7 +11,7 @@ o1?.["b"]; >o1?.["b"] : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o1 : { b: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >"b" : "b" > : ^^^ @@ -27,9 +27,9 @@ o2?.["b"].c; >o2?.["b"].c : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.["b"] : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o2 : { b: { c: string; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >"b" : "b" > : ^^^ >c : string | undefined @@ -39,11 +39,11 @@ o2?.b["c"]; >o2?.b["c"] : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.b : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o2 : { b: { c: string; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >b : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >"c" : "c" > : ^^^ @@ -59,9 +59,9 @@ o3["b"]?.c; >o3["b"]?.c : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o3["b"] : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o3 : { b: { c: string; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o3 : { b: undefined | { c: string; }; } +> : ^^^^^ ^^^ >"b" : "b" > : ^^^ >c : string | undefined @@ -71,11 +71,11 @@ o3.b?.["c"]; >o3.b?.["c"] : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o3.b : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o3 : { b: { c: string; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o3 : { b: undefined | { c: string; }; } +> : ^^^^^ ^^^ >b : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >"c" : "c" > : ^^^ @@ -95,19 +95,19 @@ o4.b?.["c"].d?.e; >o4.b?.["c"].d?.e : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o4.b?.["c"].d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o4.b?.["c"] : { d?: { e: string; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o4.b : { c: { d?: { e: string; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o4 : { b?: { c: { d?: { e: string; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { c: { d?: { e: string; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o4.b?.["c"] : { d?: { e: string; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>o4.b : { c: { d?: { e: string; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o4 : { b?: { c: { d?: { e: string; }; }; }; } +> : ^^^^^^ ^^^ +>b : { c: { d?: { e: string; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ >"c" : "c" > : ^^^ >d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >e : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -115,19 +115,19 @@ o4.b?.["c"].d?.["e"]; >o4.b?.["c"].d?.["e"] : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o4.b?.["c"].d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o4.b?.["c"] : { d?: { e: string; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o4.b : { c: { d?: { e: string; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o4 : { b?: { c: { d?: { e: string; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { c: { d?: { e: string; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o4.b?.["c"] : { d?: { e: string; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>o4.b : { c: { d?: { e: string; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o4 : { b?: { c: { d?: { e: string; }; }; }; } +> : ^^^^^^ ^^^ +>b : { c: { d?: { e: string; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ >"c" : "c" > : ^^^ >d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >"e" : "e" > : ^^^ @@ -147,21 +147,21 @@ o5.b?.()["c"].d?.e; >o5.b?.()["c"].d?.e : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o5.b?.()["c"].d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.b?.()["c"] : { d?: { e: string; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.b?.() : { c: { d?: { e: string; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.b : (() => { c: { d?: { e: string; } | undefined; }; }) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : { b?(): { c: { d?: { e: string; } | undefined; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : (() => { c: { d?: { e: string; } | undefined; }; }) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5.b?.()["c"] : { d?: { e: string; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>o5.b?.() : { c: { d?: { e: string; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5.b : (() => { c: { d?: { e: string; }; }; }) | undefined +> : ^^^^^^^ ^^^^^^^^^^^^^ +>o5 : { b?(): { c: { d?: { e: string; }; }; }; } +> : ^^^^^^^^ ^^^ +>b : (() => { c: { d?: { e: string; }; }; }) | undefined +> : ^^^^^^^ ^^^^^^^^^^^^^ >"c" : "c" > : ^^^ >d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >e : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -169,21 +169,21 @@ o5.b?.()["c"].d?.["e"]; >o5.b?.()["c"].d?.["e"] : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o5.b?.()["c"].d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.b?.()["c"] : { d?: { e: string; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.b?.() : { c: { d?: { e: string; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.b : (() => { c: { d?: { e: string; } | undefined; }; }) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : { b?(): { c: { d?: { e: string; } | undefined; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : (() => { c: { d?: { e: string; } | undefined; }; }) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5.b?.()["c"] : { d?: { e: string; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>o5.b?.() : { c: { d?: { e: string; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5.b : (() => { c: { d?: { e: string; }; }; }) | undefined +> : ^^^^^^^ ^^^^^^^^^^^^^ +>o5 : { b?(): { c: { d?: { e: string; }; }; }; } +> : ^^^^^^^^ ^^^ +>b : (() => { c: { d?: { e: string; }; }; }) | undefined +> : ^^^^^^^ ^^^^^^^^^^^^^ >"c" : "c" > : ^^^ >d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >"e" : "e" > : ^^^ @@ -191,21 +191,21 @@ o5["b"]?.()["c"].d?.e; >o5["b"]?.()["c"].d?.e : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o5["b"]?.()["c"].d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5["b"]?.()["c"] : { d?: { e: string; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5["b"]?.() : { c: { d?: { e: string; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5["b"] : (() => { c: { d?: { e: string; } | undefined; }; }) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : { b?(): { c: { d?: { e: string; } | undefined; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5["b"]?.()["c"] : { d?: { e: string; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>o5["b"]?.() : { c: { d?: { e: string; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5["b"] : (() => { c: { d?: { e: string; }; }; }) | undefined +> : ^^^^^^^ ^^^^^^^^^^^^^ +>o5 : { b?(): { c: { d?: { e: string; }; }; }; } +> : ^^^^^^^^ ^^^ >"b" : "b" > : ^^^ >"c" : "c" > : ^^^ >d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >e : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -213,21 +213,21 @@ o5["b"]?.()["c"].d?.["e"]; >o5["b"]?.()["c"].d?.["e"] : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o5["b"]?.()["c"].d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5["b"]?.()["c"] : { d?: { e: string; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5["b"]?.() : { c: { d?: { e: string; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5["b"] : (() => { c: { d?: { e: string; } | undefined; }; }) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : { b?(): { c: { d?: { e: string; } | undefined; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5["b"]?.()["c"] : { d?: { e: string; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>o5["b"]?.() : { c: { d?: { e: string; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5["b"] : (() => { c: { d?: { e: string; }; }; }) | undefined +> : ^^^^^^^ ^^^^^^^^^^^^^ +>o5 : { b?(): { c: { d?: { e: string; }; }; }; } +> : ^^^^^^^^ ^^^ >"b" : "b" > : ^^^ >"c" : "c" > : ^^^ >d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >"e" : "e" > : ^^^ @@ -242,9 +242,9 @@ o6()?.["x"]; >o6()?.["x"] : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o6() : { x: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o6 : () => { x: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o6 : () => undefined | ({ x: number; }) +> : ^^^^^^^^^ >"x" : "x" > : ^^^ @@ -253,11 +253,11 @@ o2?.["b"]!.c; >o2?.["b"]!.c : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.["b"]! : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o2?.["b"] : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o2 : { b: { c: string; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >"b" : "b" > : ^^^ >c : string | undefined @@ -267,11 +267,11 @@ o2?.["b"]!["c"]; >o2?.["b"]!["c"] : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.["b"]! : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o2?.["b"] : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o2 : { b: { c: string; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >"b" : "b" > : ^^^ >"c" : "c" @@ -283,11 +283,11 @@ o2?.["b"]!.c!; >o2?.["b"]!.c : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.["b"]! : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o2?.["b"] : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o2 : { b: { c: string; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >"b" : "b" > : ^^^ >c : string | undefined @@ -299,11 +299,11 @@ o2?.["b"]!["c"]!; >o2?.["b"]!["c"] : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.["b"]! : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o2?.["b"] : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o2 : { b: { c: string; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >"b" : "b" > : ^^^ >"c" : "c" diff --git a/tests/baselines/reference/elementAccessExpressionInternalComments.types b/tests/baselines/reference/elementAccessExpressionInternalComments.types index d600813c5f745..fd21d31f782cd 100644 --- a/tests/baselines/reference/elementAccessExpressionInternalComments.types +++ b/tests/baselines/reference/elementAccessExpressionInternalComments.types @@ -3,7 +3,7 @@ === elementAccessExpressionInternalComments.ts === /*0*/ Array /*1*/[ /*2*/ "toString" /*3*/ ] /*4*/; /*5*/ >Array /*1*/[ /*2*/ "toString" /*3*/ ] : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >"toString" : "toString" @@ -11,7 +11,7 @@ /*0*/ Array >Array // single line /*1*/[ /*2*/ "toString" // single line /*3*/ ] : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/elidedJSImport1.types b/tests/baselines/reference/elidedJSImport1.types index 03f71f15f6bd6..774f119152696 100644 --- a/tests/baselines/reference/elidedJSImport1.types +++ b/tests/baselines/reference/elidedJSImport1.types @@ -13,11 +13,11 @@ console.log(fs); >console.log(fs) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >fs : any > : ^^^ @@ -25,11 +25,11 @@ console.log('TruffleContract is ', typeof TruffleContract, TruffleContract); // >console.log('TruffleContract is ', typeof TruffleContract, TruffleContract) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'TruffleContract is ' : "TruffleContract is " > : ^^^^^^^^^^^^^^^^^^^^^ >typeof TruffleContract : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments14.types b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments14.types index 0c5e7c92314df..4f265d5bc112b 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments14.types +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments14.types @@ -9,11 +9,11 @@ function f() { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ const arguments = 100; >arguments : 100 diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments14_ES6.types b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments14_ES6.types index 34265a48c4964..a22eb9a22b3b7 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments14_ES6.types +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments14_ES6.types @@ -9,11 +9,11 @@ function f() { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ let arguments = 100; >arguments : number diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments15.types b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments15.types index abca3e855d4a7..f8f496216b06a 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments15.types +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments15.types @@ -15,11 +15,11 @@ function f() { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ const arguments = 100; >arguments : 100 diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments15_ES6.types b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments15_ES6.types index f5505a8a85b46..7fb3a830d44a9 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments15_ES6.types +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments15_ES6.types @@ -15,11 +15,11 @@ function f() { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ const arguments = 100; >arguments : 100 diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments16.types b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments16.types index d83f0b5acf687..e5ffd84d04bc3 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments16.types +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments16.types @@ -15,11 +15,11 @@ function f() { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ return () => arguments[0]; >() => arguments[0] : () => any diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments16_ES6.types b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments16_ES6.types index d762d9de7f235..8ddc725812a31 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments16_ES6.types +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments16_ES6.types @@ -15,11 +15,11 @@ function f() { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ return () => arguments[0]; >() => arguments[0] : () => string diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments17.types b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments17.types index 348cc93b201a5..d9d6a3594c278 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments17.types +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments17.types @@ -19,11 +19,11 @@ function f() { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ return () => arguments[0]; >() => arguments[0] : () => any diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments17_ES6.types b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments17_ES6.types index c75f35d944f26..52cc042304621 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments17_ES6.types +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments17_ES6.types @@ -19,11 +19,11 @@ function f() { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ return () => arguments[0]; >() => arguments[0] : () => string diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments18.types b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments18.types index 55f098a0a1d44..1a611fccce889 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments18.types +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments18.types @@ -19,11 +19,11 @@ function f() { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ return () => arguments; >() => arguments : () => IArguments diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments18_ES6.types b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments18_ES6.types index 32226931517bb..4b0a4e769ed5b 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments18_ES6.types +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments18_ES6.types @@ -19,11 +19,11 @@ function f() { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ return () => arguments; >() => arguments : () => IArguments diff --git a/tests/baselines/reference/emitClassDeclarationWithConstructorInES6.types b/tests/baselines/reference/emitClassDeclarationWithConstructorInES6.types index 76b104a624132..5402a3b957474 100644 --- a/tests/baselines/reference/emitClassDeclarationWithConstructorInES6.types +++ b/tests/baselines/reference/emitClassDeclarationWithConstructorInES6.types @@ -71,7 +71,7 @@ class B { baz(z: string, v: number): string { >baz : (...args: any[]) => string -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >z : string > : ^^^^^^ >v : number diff --git a/tests/baselines/reference/emitClassExpressionInDeclarationFile.types b/tests/baselines/reference/emitClassExpressionInDeclarationFile.types index 9a70c55a7747e..43d9ffd104b4e 100644 --- a/tests/baselines/reference/emitClassExpressionInDeclarationFile.types +++ b/tests/baselines/reference/emitClassExpressionInDeclarationFile.types @@ -62,7 +62,7 @@ export type Constructor = new(...args: any[]) => T; export function WithTags>(Base: T) { >WithTags : >(Base: T) => { new (...args: any[]): (Anonymous class); prototype: WithTags.(Anonymous class); getTags(): void; } & T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ >Base : T > : ^ @@ -88,7 +88,7 @@ export class Test extends WithTags(FooItem) {} >WithTags(FooItem) : WithTags.(Anonymous class) & FooItem > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >WithTags : >(Base: T) => { new (...args: any[]): (Anonymous class); prototype: WithTags.(Anonymous class); getTags(): void; } & T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ >FooItem : typeof FooItem > : ^^^^^^^^^^^^^^ @@ -104,19 +104,19 @@ Test.getTags() >Test.getTags() : void > : ^^^^ >Test.getTags : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >Test : typeof Test > : ^^^^^^^^^^^ >getTags : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ test.tags(); >test.tags() : void > : ^^^^ >test.tags : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >test : Test > : ^^^^ >tags : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/emitClassExpressionInDeclarationFile2.types b/tests/baselines/reference/emitClassExpressionInDeclarationFile2.types index 6d9550c752f8d..b0365b56e6053 100644 --- a/tests/baselines/reference/emitClassExpressionInDeclarationFile2.types +++ b/tests/baselines/reference/emitClassExpressionInDeclarationFile2.types @@ -58,7 +58,7 @@ export type Constructor = new(...args: any[]) => T; export function WithTags>(Base: T) { >WithTags : >(Base: T) => { new (...args: any[]): (Anonymous class); prototype: WithTags.(Anonymous class); getTags(): void; } & T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ >Base : T > : ^ @@ -84,7 +84,7 @@ export class Test extends WithTags(FooItem) {} >WithTags(FooItem) : WithTags.(Anonymous class) & FooItem > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >WithTags : >(Base: T) => { new (...args: any[]): (Anonymous class); prototype: WithTags.(Anonymous class); getTags(): void; } & T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ >FooItem : typeof FooItem > : ^^^^^^^^^^^^^^ @@ -100,19 +100,19 @@ Test.getTags() >Test.getTags() : void > : ^^^^ >Test.getTags : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >Test : typeof Test > : ^^^^^^^^^^^ >getTags : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ test.tags(); >test.tags() : void > : ^^^^ >test.tags : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >test : Test > : ^^^^ >tags : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/emitClassMergedWithConstNamespaceNotElided.types b/tests/baselines/reference/emitClassMergedWithConstNamespaceNotElided.types index 8df48315a493c..7586833e42299 100644 --- a/tests/baselines/reference/emitClassMergedWithConstNamespaceNotElided.types +++ b/tests/baselines/reference/emitClassMergedWithConstNamespaceNotElided.types @@ -51,11 +51,11 @@ Clone.clone("ok"); >Clone.clone("ok") : void > : ^^^^ >Clone.clone : (url: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >Clone : typeof Clone > : ^^^^^^^^^^^^ >clone : (url: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"ok" : "ok" > : ^^^^ diff --git a/tests/baselines/reference/emitCompoundExponentiationAssignmentWithIndexingOnLHS4.types b/tests/baselines/reference/emitCompoundExponentiationAssignmentWithIndexingOnLHS4.types index f29a317ae7015..8be37fcccbfa1 100644 --- a/tests/baselines/reference/emitCompoundExponentiationAssignmentWithIndexingOnLHS4.types +++ b/tests/baselines/reference/emitCompoundExponentiationAssignmentWithIndexingOnLHS4.types @@ -27,21 +27,21 @@ function incrementIdx(max: number) { >Math.floor(Math.random() * max) : number > : ^^^^^^ >Math.floor : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >floor : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math.random() * max : number > : ^^^^^^ >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >max : number > : ^^^^^^ diff --git a/tests/baselines/reference/emitSkipsThisWithRestParameter.types b/tests/baselines/reference/emitSkipsThisWithRestParameter.types index 6c49312a5119e..828c1175c3aac 100644 --- a/tests/baselines/reference/emitSkipsThisWithRestParameter.types +++ b/tests/baselines/reference/emitSkipsThisWithRestParameter.types @@ -22,21 +22,21 @@ function rebase(fn: (base: any, ...args: any[]) => any): (...args: any[]) => any return fn.apply(this, [ this ].concat(args)); >fn.apply(this, [ this ].concat(args)) : any >fn.apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >fn : (base: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >this : any >[ this ].concat(args) : any[] > : ^^^^^ >[ this ].concat : { (...items: ConcatArray[]): any[]; (...items: any[]): any[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^ ^^^ >[ this ] : any[] > : ^^^^^ >this : any >concat : { (...items: ConcatArray[]): any[]; (...items: any[]): any[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^ ^^^ >args : any[] > : ^^^^^ diff --git a/tests/baselines/reference/emitStatementsBeforeSuperCall.types b/tests/baselines/reference/emitStatementsBeforeSuperCall.types index 321beabd1ca55..d702cd558e5ac 100644 --- a/tests/baselines/reference/emitStatementsBeforeSuperCall.types +++ b/tests/baselines/reference/emitStatementsBeforeSuperCall.types @@ -20,11 +20,11 @@ class Sub extends Base { >console.log('hi') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'hi' : "hi" > : ^^^^ diff --git a/tests/baselines/reference/emitStatementsBeforeSuperCallWithDefineFields.types b/tests/baselines/reference/emitStatementsBeforeSuperCallWithDefineFields.types index f5fb93f3cd314..162a177469c0d 100644 --- a/tests/baselines/reference/emitStatementsBeforeSuperCallWithDefineFields.types +++ b/tests/baselines/reference/emitStatementsBeforeSuperCallWithDefineFields.types @@ -20,11 +20,11 @@ class Sub extends Base { >console.log('hi') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'hi' : "hi" > : ^^^^ diff --git a/tests/baselines/reference/emptyAnonymousObjectNarrowing(strictnullchecks=false).types b/tests/baselines/reference/emptyAnonymousObjectNarrowing(strictnullchecks=false).types index 34ffe21efeb77..b315aa5d68328 100644 --- a/tests/baselines/reference/emptyAnonymousObjectNarrowing(strictnullchecks=false).types +++ b/tests/baselines/reference/emptyAnonymousObjectNarrowing(strictnullchecks=false).types @@ -35,7 +35,7 @@ if (nonNull === obj) { >nonNull : {} > : ^^ >obj : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ nonNull; >nonNull : object @@ -74,7 +74,7 @@ function f1(x: T) { function f2(x: T) { >f2 : (x: T) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ @@ -109,7 +109,7 @@ if (nonNull === union) { >nonNull : {} > : ^^ >union : { a: string; } | "xyz" -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ nonNull; >nonNull : {} diff --git a/tests/baselines/reference/emptyAnonymousObjectNarrowing(strictnullchecks=true).types b/tests/baselines/reference/emptyAnonymousObjectNarrowing(strictnullchecks=true).types index a1bc95e9c4aeb..bf9516fda16a6 100644 --- a/tests/baselines/reference/emptyAnonymousObjectNarrowing(strictnullchecks=true).types +++ b/tests/baselines/reference/emptyAnonymousObjectNarrowing(strictnullchecks=true).types @@ -35,7 +35,7 @@ if (nonNull === obj) { >nonNull : {} > : ^^ >obj : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ nonNull; >nonNull : object @@ -74,7 +74,7 @@ function f1(x: T) { function f2(x: T) { >f2 : (x: T) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ @@ -109,7 +109,7 @@ if (nonNull === union) { >nonNull : {} > : ^^ >union : { a: string; } | "xyz" | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ nonNull; >nonNull : {} diff --git a/tests/baselines/reference/emptyArrayDestructuringExpressionVisitedByTransformer.types b/tests/baselines/reference/emptyArrayDestructuringExpressionVisitedByTransformer.types index 2da1f6d7c80dc..27ee37f3f2a67 100644 --- a/tests/baselines/reference/emptyArrayDestructuringExpressionVisitedByTransformer.types +++ b/tests/baselines/reference/emptyArrayDestructuringExpressionVisitedByTransformer.types @@ -11,13 +11,13 @@ var a = [] = [1].map(_ => _); >[1].map(_ => _) : number[] > : ^^^^^^^^ >[1].map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >[1] : number[] > : ^^^^^^^^ >1 : 1 > : ^ >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >_ => _ : (_: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >_ : number @@ -31,13 +31,13 @@ var b = [1].map(_ => _); >[1].map(_ => _) : number[] > : ^^^^^^^^ >[1].map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >[1] : number[] > : ^^^^^^^^ >1 : 1 > : ^ >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >_ => _ : (_: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >_ : number diff --git a/tests/baselines/reference/emptyIndexer.types b/tests/baselines/reference/emptyIndexer.types index 1d3ede20edba9..8c75ef8aefe1f 100644 --- a/tests/baselines/reference/emptyIndexer.types +++ b/tests/baselines/reference/emptyIndexer.types @@ -24,7 +24,7 @@ var n = x[''].m(); // should not crash compiler >x[''].m() : number > : ^^^^^^ >x[''].m : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x[''] : I1 > : ^^ >x : I2 @@ -32,5 +32,5 @@ var n = x[''].m(); // should not crash compiler >'' : "" > : ^^ >m : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/emptyObjectNotSubtypeOfIndexSignatureContainingObject1.types b/tests/baselines/reference/emptyObjectNotSubtypeOfIndexSignatureContainingObject1.types index 60ac6f67260c7..7a874e39a9a53 100644 --- a/tests/baselines/reference/emptyObjectNotSubtypeOfIndexSignatureContainingObject1.types +++ b/tests/baselines/reference/emptyObjectNotSubtypeOfIndexSignatureContainingObject1.types @@ -92,7 +92,7 @@ export function fooToBar( >mapValues(foos, f => f.foo) : Dictionary > : ^^^^^^^^^^^^^^^^^^ >mapValues : (obj: Dictionary | NumericDictionary | null | undefined, callback: DictionaryIterator) => Dictionary -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >foos : Record > : ^^^^^^^^^^^^^^^^^^^ >f => f.foo : (f: Foo) => string diff --git a/tests/baselines/reference/emptyObjectNotSubtypeOfIndexSignatureContainingObject2.types b/tests/baselines/reference/emptyObjectNotSubtypeOfIndexSignatureContainingObject2.types index d2eabcb7b8d43..94bef94cfdaa7 100644 --- a/tests/baselines/reference/emptyObjectNotSubtypeOfIndexSignatureContainingObject2.types +++ b/tests/baselines/reference/emptyObjectNotSubtypeOfIndexSignatureContainingObject2.types @@ -84,7 +84,7 @@ export function fooToBar( >mapValues(foos, f => f.foo) : Dictionary > : ^^^^^^^^^^^^^^^^^^ >mapValues : (obj: Dictionary | NumericDictionary | null | undefined, callback: DictionaryIterator) => Dictionary -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >foos : Record > : ^^^^^^^^^^^^^^^^^^^ >f => f.foo : (f: Foo) => string @@ -112,7 +112,7 @@ export function fooToBar( >mapValues(foos, f => f.foo) : Dictionary > : ^^^^^^^^^^^^^^^^^^ >mapValues : (obj: Dictionary | NumericDictionary | null | undefined, callback: DictionaryIterator) => Dictionary -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >foos : Record > : ^^^^^^^^^^^^^^^^^^^ >f => f.foo : (f: Foo) => string diff --git a/tests/baselines/reference/ensureNoCrashExportAssignmentDefineProperrtyPotentialMerge.types b/tests/baselines/reference/ensureNoCrashExportAssignmentDefineProperrtyPotentialMerge.types index de6a5ad11e12c..4a592fdb69be8 100644 --- a/tests/baselines/reference/ensureNoCrashExportAssignmentDefineProperrtyPotentialMerge.types +++ b/tests/baselines/reference/ensureNoCrashExportAssignmentDefineProperrtyPotentialMerge.types @@ -27,11 +27,11 @@ Object.defineProperty(module, "exports", { value: "oh no" }); >Object.defineProperty(module, "exports", { value: "oh no" }) : typeof module > : ^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >module : typeof module > : ^^^^^^^^^^^^^ >"exports" : "exports" @@ -103,11 +103,11 @@ Object.defineProperty(B, "NS", { value: "why though", writable: true }); >Object.defineProperty(B, "NS", { value: "why though", writable: true }) : typeof B > : ^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >B : typeof B > : ^^^^^^^^ >"NS" : "NS" diff --git a/tests/baselines/reference/enumAssignability.types b/tests/baselines/reference/enumAssignability.types index 2c360b6ad2495..be60c26c1bf13 100644 --- a/tests/baselines/reference/enumAssignability.types +++ b/tests/baselines/reference/enumAssignability.types @@ -232,7 +232,7 @@ module Others { function foo(x: T, y: U, z: V) { >foo : (x: T, y: U, z: V) => void -> : ^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ >y : U diff --git a/tests/baselines/reference/enumAssignabilityInInheritance.types b/tests/baselines/reference/enumAssignabilityInInheritance.types index 1d9d5a364a378..d8fb673be94ea 100644 --- a/tests/baselines/reference/enumAssignabilityInInheritance.types +++ b/tests/baselines/reference/enumAssignabilityInInheritance.types @@ -23,19 +23,19 @@ interface I0 { declare function foo(x: E): E; >foo : { (x: E): E; (x: number): number; (x: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : E > : ^ declare function foo(x: number): number; >foo : { (x: E): E; (x: number): number; (x: any): any; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ declare function foo(x: any): any; >foo : { (x: E): E; (x: number): number; (x: any): any; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any > : ^^^ @@ -45,7 +45,7 @@ var r = foo(E.A); // E >foo(E.A) : E > : ^ >foo : { (x: E): E; (x: number): number; (x: any): any; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >E.A : E > : ^ >E : typeof E @@ -59,7 +59,7 @@ var r2 = foo(1); // number >foo(1) : number > : ^^^^^^ >foo : { (x: E): E; (x: number): number; (x: any): any; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -69,19 +69,19 @@ var r3 = foo(null); // any >foo(null) : any > : ^^^ >foo : { (x: E): E; (x: number): number; (x: any): any; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >null : any > : ^^^ declare function foo2(x: string): string; >foo2 : { (x: string): string; (x: E): E; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ declare function foo2(x: E): E; >foo2 : { (x: string): string; (x: E): E; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : E > : ^ @@ -91,7 +91,7 @@ var r4 = foo2(E.A); >foo2(E.A) : E > : ^ >foo2 : { (x: string): string; (x: E): E; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >E.A : E > : ^ >E : typeof E @@ -101,13 +101,13 @@ var r4 = foo2(E.A); declare function foo3(x: boolean): boolean; >foo3 : { (x: boolean): boolean; (x: E): E; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : boolean > : ^^^^^^^ declare function foo3(x: E): E; >foo3 : { (x: boolean): boolean; (x: E): E; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : E > : ^ @@ -117,7 +117,7 @@ var r4 = foo3(E.A); >foo3(E.A) : E > : ^ >foo3 : { (x: boolean): boolean; (x: E): E; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >E.A : E > : ^ >E : typeof E @@ -127,13 +127,13 @@ var r4 = foo3(E.A); declare function foo4(x: Date): Date; >foo4 : { (x: Date): Date; (x: E): E; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : Date > : ^^^^ declare function foo4(x: E): E; >foo4 : { (x: Date): Date; (x: E): E; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : E > : ^ @@ -143,7 +143,7 @@ var r4 = foo4(E.A); >foo4(E.A) : E > : ^ >foo4 : { (x: Date): Date; (x: E): E; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >E.A : E > : ^ >E : typeof E @@ -153,13 +153,13 @@ var r4 = foo4(E.A); declare function foo5(x: RegExp): RegExp; >foo5 : { (x: RegExp): RegExp; (x: E): E; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : RegExp > : ^^^^^^ declare function foo5(x: E): E; >foo5 : { (x: RegExp): RegExp; (x: E): E; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : E > : ^ @@ -169,7 +169,7 @@ var r4 = foo5(E.A); >foo5(E.A) : E > : ^ >foo5 : { (x: RegExp): RegExp; (x: E): E; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >E.A : E > : ^ >E : typeof E @@ -179,7 +179,7 @@ var r4 = foo5(E.A); declare function foo6(x: { bar: number }): { bar: number }; >foo6 : { (x: { bar: number; }): { bar: number; }; (x: E): E; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : { bar: number; } > : ^^^^^^^ ^^^ >bar : number @@ -189,7 +189,7 @@ declare function foo6(x: { bar: number }): { bar: number }; declare function foo6(x: E): E; >foo6 : { (x: { bar: number; }): { bar: number; }; (x: E): E; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : E > : ^ @@ -199,7 +199,7 @@ var r4 = foo6(E.A); >foo6(E.A) : E > : ^ >foo6 : { (x: { bar: number; }): { bar: number; }; (x: E): E; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >E.A : E > : ^ >E : typeof E @@ -209,13 +209,13 @@ var r4 = foo6(E.A); declare function foo7(x: number[]): number[]; >foo7 : { (x: number[]): number[]; (x: E): E; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number[] > : ^^^^^^^^ declare function foo7(x: E): E; >foo7 : { (x: number[]): number[]; (x: E): E; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : E > : ^ @@ -225,7 +225,7 @@ var r4 = foo7(E.A); >foo7(E.A) : E > : ^ >foo7 : { (x: number[]): number[]; (x: E): E; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >E.A : E > : ^ >E : typeof E @@ -239,13 +239,13 @@ interface I8 { foo: string; } declare function foo8(x: I8): I8; >foo8 : { (x: I8): I8; (x: E): E; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : I8 > : ^^ declare function foo8(x: E): E; >foo8 : { (x: I8): I8; (x: E): E; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : E > : ^ @@ -255,7 +255,7 @@ var r4 = foo8(E.A); >foo8(E.A) : E > : ^ >foo8 : { (x: I8): I8; (x: E): E; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >E.A : E > : ^ >E : typeof E @@ -271,13 +271,13 @@ class A { foo: number; } declare function foo9(x: A): A; >foo9 : { (x: A): A; (x: E): E; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : A > : ^ declare function foo9(x: E): E; >foo9 : { (x: A): A; (x: E): E; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : E > : ^ @@ -287,7 +287,7 @@ var r4 = foo9(E.A); >foo9(E.A) : E > : ^ >foo9 : { (x: A): A; (x: E): E; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >E.A : E > : ^ >E : typeof E @@ -303,13 +303,13 @@ class A2 { foo: T; } declare function foo10(x: A2): A2; >foo10 : { (x: A2): A2; (x: E): E; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : A2 > : ^^^^^^^^^^ declare function foo10(x: E): E; >foo10 : { (x: A2): A2; (x: E): E; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : E > : ^ @@ -319,7 +319,7 @@ var r4 = foo10(E.A); >foo10(E.A) : E > : ^ >foo10 : { (x: A2): A2; (x: E): E; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >E.A : E > : ^ >E : typeof E @@ -329,7 +329,7 @@ var r4 = foo10(E.A); declare function foo11(x: (x) => number): (x) => number; >foo11 : { (x: (x: any) => number): (x: any) => number; (x: E): E; } -> : ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : (x: any) => number > : ^ ^^^^^^^^^^ >x : any @@ -339,7 +339,7 @@ declare function foo11(x: (x) => number): (x) => number; declare function foo11(x: E): E; >foo11 : { (x: (x: any) => number): (x: any) => number; (x: E): E; } -> : ^^^ ^^ ^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : E > : ^ @@ -349,7 +349,7 @@ var r4 = foo11(E.A); >foo11(E.A) : E > : ^ >foo11 : { (x: (x: any) => number): (x: any) => number; (x: E): E; } -> : ^^^ ^^ ^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ >E.A : E > : ^ >E : typeof E @@ -359,7 +359,7 @@ var r4 = foo11(E.A); declare function foo12(x: (x: T) => T): (x: T) => T; >foo12 : { (x: (x: T) => T): (x: T) => T; (x: E): E; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : (x: T) => T > : ^ ^^ ^^ ^^^^^ >x : T @@ -369,7 +369,7 @@ declare function foo12(x: (x: T) => T): (x: T) => T; declare function foo12(x: E): E; >foo12 : { (x: (x: T) => T): (x: T) => T; (x: E): E; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : E > : ^ @@ -379,7 +379,7 @@ var r4 = foo12(E.A); >foo12(E.A) : E > : ^ >foo12 : { (x: (x: T) => T): (x: T) => T; (x: E): E; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >E.A : E > : ^ >E : typeof E @@ -395,13 +395,13 @@ enum E2 { A } declare function foo13(x: E2): E2; >foo13 : { (x: E2): E2; (x: E): E; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : E2 > : ^^ declare function foo13(x: E): E; >foo13 : { (x: E2): E2; (x: E): E; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : E > : ^ @@ -411,7 +411,7 @@ var r4 = foo13(E.A); >foo13(E.A) : E > : ^ >foo13 : { (x: E2): E2; (x: E): E; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >E.A : E > : ^ >E : typeof E @@ -435,7 +435,7 @@ module f { } declare function foo14(x: typeof f): typeof f; >foo14 : { (x: typeof f): typeof f; (x: E): E; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : typeof f > : ^^^^^^^^ >f : typeof f @@ -445,7 +445,7 @@ declare function foo14(x: typeof f): typeof f; declare function foo14(x: E): E; >foo14 : { (x: typeof f): typeof f; (x: E): E; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : E > : ^ @@ -455,7 +455,7 @@ var r4 = foo14(E.A); >foo14(E.A) : E > : ^ >foo14 : { (x: typeof f): typeof f; (x: E): E; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >E.A : E > : ^ >E : typeof E @@ -481,13 +481,13 @@ module CC { } declare function foo15(x: CC): CC; >foo15 : { (x: CC): CC; (x: E): E; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : CC > : ^^ declare function foo15(x: E): E; >foo15 : { (x: CC): CC; (x: E): E; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : E > : ^ @@ -497,7 +497,7 @@ var r4 = foo15(E.A); >foo15(E.A) : E > : ^ >foo15 : { (x: CC): CC; (x: E): E; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >E.A : E > : ^ >E : typeof E @@ -507,13 +507,13 @@ var r4 = foo15(E.A); declare function foo16(x: Object): Object; >foo16 : { (x: Object): Object; (x: E): E; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : Object > : ^^^^^^ declare function foo16(x: E): E; >foo16 : { (x: Object): Object; (x: E): E; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : E > : ^ @@ -523,7 +523,7 @@ var r4 = foo16(E.A); >foo16(E.A) : Object > : ^^^^^^ >foo16 : { (x: Object): Object; (x: E): E; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >E.A : E > : ^ >E : typeof E @@ -533,13 +533,13 @@ var r4 = foo16(E.A); declare function foo17(x: {}): {}; >foo17 : { (x: {}): {}; (x: E): E; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : {} > : ^^ declare function foo17(x: E): E; >foo17 : { (x: {}): {}; (x: E): E; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : E > : ^ @@ -549,7 +549,7 @@ var r4 = foo16(E.A); >foo16(E.A) : Object > : ^^^^^^ >foo16 : { (x: Object): Object; (x: E): E; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >E.A : E > : ^ >E : typeof E diff --git a/tests/baselines/reference/enumAssignmentCompat7.types b/tests/baselines/reference/enumAssignmentCompat7.types index 84e0ceebfe1da..518c4dd1cfbd4 100644 --- a/tests/baselines/reference/enumAssignmentCompat7.types +++ b/tests/baselines/reference/enumAssignmentCompat7.types @@ -66,7 +66,7 @@ function overloadingFunction(): first.E function overloadingFunction(): second.E { >overloadingFunction : () => first.E -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >second : any > : ^^^ diff --git a/tests/baselines/reference/enumBasics2.types b/tests/baselines/reference/enumBasics2.types index 6299cc8fca3a9..d19b8864b4823 100644 --- a/tests/baselines/reference/enumBasics2.types +++ b/tests/baselines/reference/enumBasics2.types @@ -66,13 +66,13 @@ enum Bar { >(1).valueOf() : number > : ^^^^^^ >(1).valueOf : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >(1) : 1 > : ^ >1 : 1 > : ^ >valueOf : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ b = Foo.a, // ok >b : Bar.b @@ -90,7 +90,7 @@ enum Bar { >Foo.a.valueOf() : number > : ^^^^^^ >Foo.a.valueOf : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Foo.a : Foo.a > : ^^^^^ >Foo : typeof Foo @@ -98,7 +98,7 @@ enum Bar { >a : Foo.a > : ^^^^^ >valueOf : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ d = Foo.a.a, // should error >d : Bar.d diff --git a/tests/baselines/reference/enumClassification.types b/tests/baselines/reference/enumClassification.types index 2255fcf106d02..e0eb8c4c75a01 100644 --- a/tests/baselines/reference/enumClassification.types +++ b/tests/baselines/reference/enumClassification.types @@ -270,11 +270,11 @@ enum E20 { >Math.sin(1) : number > : ^^^^^^ >Math.sin : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >sin : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ } diff --git a/tests/baselines/reference/enumIndexer.types b/tests/baselines/reference/enumIndexer.types index 8b80f92163585..2bef4d62951db 100644 --- a/tests/baselines/reference/enumIndexer.types +++ b/tests/baselines/reference/enumIndexer.types @@ -45,11 +45,11 @@ var x = _arr.map(o => MyEnumType[o.key] === enumValue); // these are not same ty >_arr.map(o => MyEnumType[o.key] === enumValue) : boolean[] > : ^^^^^^^^^ >_arr.map : (callbackfn: (value: { key: string; }, index: number, array: { key: string; }[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >_arr : { key: string; }[] > : ^^^^^^^^^^^^^^^^^^ >map : (callbackfn: (value: { key: string; }, index: number, array: { key: string; }[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >o => MyEnumType[o.key] === enumValue : (o: { key: string; }) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >o : { key: string; } diff --git a/tests/baselines/reference/enumLiteralTypes1.types b/tests/baselines/reference/enumLiteralTypes1.types index e58dd0ea803be..6e3d354d44a99 100644 --- a/tests/baselines/reference/enumLiteralTypes1.types +++ b/tests/baselines/reference/enumLiteralTypes1.types @@ -321,7 +321,7 @@ function f4(a: Choice.Yes, b: YesNo) { declare function g(x: Choice.Yes): string; >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : Choice.Yes > : ^^^^^^^^^^ >Choice : any @@ -329,7 +329,7 @@ declare function g(x: Choice.Yes): string; declare function g(x: Choice.No): boolean; >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : Choice.No > : ^^^^^^^^^ >Choice : any @@ -337,7 +337,7 @@ declare function g(x: Choice.No): boolean; declare function g(x: Choice): number; >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : Choice > : ^^^^^^ @@ -357,7 +357,7 @@ function f5(a: YesNo, b: UnknownYesNo, c: Choice) { >g(Choice.Yes) : string > : ^^^^^^ >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Choice.Yes : Choice.Yes > : ^^^^^^^^^^ >Choice : typeof Choice @@ -371,7 +371,7 @@ function f5(a: YesNo, b: UnknownYesNo, c: Choice) { >g(Choice.No) : boolean > : ^^^^^^^ >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Choice.No : Choice.No > : ^^^^^^^^^ >Choice : typeof Choice @@ -385,7 +385,7 @@ function f5(a: YesNo, b: UnknownYesNo, c: Choice) { >g(a) : number > : ^^^^^^ >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : YesNo > : ^^^^^ @@ -395,7 +395,7 @@ function f5(a: YesNo, b: UnknownYesNo, c: Choice) { >g(b) : number > : ^^^^^^ >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : UnknownYesNo > : ^^^^^^^^^^^^ @@ -405,7 +405,7 @@ function f5(a: YesNo, b: UnknownYesNo, c: Choice) { >g(c) : number > : ^^^^^^ >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c : Choice > : ^^^^^^ } @@ -491,7 +491,7 @@ function f11(x: YesNo) { >assertNever(x) : never > : ^^^^^ >assertNever : (x: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : never > : ^^^^^ } @@ -590,7 +590,7 @@ function f20(x: Item) { >x.a : string > : ^^^^^^ >x : { kind: Choice.Yes; a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >a : string > : ^^^^^^ @@ -604,7 +604,7 @@ function f20(x: Item) { >x.b : string > : ^^^^^^ >x : { kind: Choice.No; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >b : string > : ^^^^^^ } @@ -634,7 +634,7 @@ function f21(x: Item) { >x.a : string > : ^^^^^^ >x : { kind: Choice.Yes; a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >a : string > : ^^^^^^ @@ -648,7 +648,7 @@ function f21(x: Item) { >x.b : string > : ^^^^^^ >x : { kind: Choice.No; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >b : string > : ^^^^^^ } @@ -656,7 +656,7 @@ function f21(x: Item) { >assertNever(x) : never > : ^^^^^ >assertNever : (x: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : never > : ^^^^^ } diff --git a/tests/baselines/reference/enumLiteralTypes2.types b/tests/baselines/reference/enumLiteralTypes2.types index 1ac8fbfee8d55..fa51ba17cd341 100644 --- a/tests/baselines/reference/enumLiteralTypes2.types +++ b/tests/baselines/reference/enumLiteralTypes2.types @@ -321,7 +321,7 @@ function f4(a: Choice.Yes, b: UnknownYesNo) { declare function g(x: Choice.Yes): string; >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : Choice.Yes > : ^^^^^^^^^^ >Choice : any @@ -329,7 +329,7 @@ declare function g(x: Choice.Yes): string; declare function g(x: Choice.No): boolean; >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : Choice.No > : ^^^^^^^^^ >Choice : any @@ -337,7 +337,7 @@ declare function g(x: Choice.No): boolean; declare function g(x: Choice): number; >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : Choice > : ^^^^^^ @@ -357,7 +357,7 @@ function f5(a: YesNo, b: UnknownYesNo, c: Choice) { >g(Choice.Yes) : string > : ^^^^^^ >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Choice.Yes : Choice.Yes > : ^^^^^^^^^^ >Choice : typeof Choice @@ -371,7 +371,7 @@ function f5(a: YesNo, b: UnknownYesNo, c: Choice) { >g(Choice.No) : boolean > : ^^^^^^^ >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Choice.No : Choice.No > : ^^^^^^^^^ >Choice : typeof Choice @@ -385,7 +385,7 @@ function f5(a: YesNo, b: UnknownYesNo, c: Choice) { >g(a) : number > : ^^^^^^ >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : YesNo > : ^^^^^ @@ -395,7 +395,7 @@ function f5(a: YesNo, b: UnknownYesNo, c: Choice) { >g(b) : number > : ^^^^^^ >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : UnknownYesNo > : ^^^^^^^^^^^^ @@ -405,7 +405,7 @@ function f5(a: YesNo, b: UnknownYesNo, c: Choice) { >g(c) : number > : ^^^^^^ >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c : Choice > : ^^^^^^ } @@ -491,7 +491,7 @@ function f11(x: YesNo) { >assertNever(x) : never > : ^^^^^ >assertNever : (x: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : never > : ^^^^^ } @@ -590,7 +590,7 @@ function f20(x: Item) { >x.a : string > : ^^^^^^ >x : { kind: Choice.Yes; a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >a : string > : ^^^^^^ @@ -604,7 +604,7 @@ function f20(x: Item) { >x.b : string > : ^^^^^^ >x : { kind: Choice.No; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >b : string > : ^^^^^^ } @@ -634,7 +634,7 @@ function f21(x: Item) { >x.a : string > : ^^^^^^ >x : { kind: Choice.Yes; a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >a : string > : ^^^^^^ @@ -648,7 +648,7 @@ function f21(x: Item) { >x.b : string > : ^^^^^^ >x : { kind: Choice.No; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >b : string > : ^^^^^^ } @@ -656,7 +656,7 @@ function f21(x: Item) { >assertNever(x) : never > : ^^^^^ >assertNever : (x: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : never > : ^^^^^ } diff --git a/tests/baselines/reference/enumLiteralUnionNotWidened.types b/tests/baselines/reference/enumLiteralUnionNotWidened.types index 7ba0ceab76519..42ec3388d72ff 100644 --- a/tests/baselines/reference/enumLiteralUnionNotWidened.types +++ b/tests/baselines/reference/enumLiteralUnionNotWidened.types @@ -67,7 +67,7 @@ function fn1(x: C): List { return asList(x); } >asList(x) : List > : ^^^^^^^ >asList : (arg: T) => List -> : ^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : C > : ^ @@ -80,7 +80,7 @@ function fn2(x: D): List { return asList(x); } >asList(x) : List > : ^^^^^^^ >asList : (arg: T) => List -> : ^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : D > : ^ diff --git a/tests/baselines/reference/enumNumbering1.types b/tests/baselines/reference/enumNumbering1.types index c44f749cd6e91..bcb71c940e0ad 100644 --- a/tests/baselines/reference/enumNumbering1.types +++ b/tests/baselines/reference/enumNumbering1.types @@ -19,21 +19,21 @@ enum Test { >Math.floor(Math.random() * 1000) : number > : ^^^^^^ >Math.floor : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >floor : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math.random() * 1000 : number > : ^^^^^^ >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >1000 : 1000 > : ^^^^ diff --git a/tests/baselines/reference/enumPropertyAccess.types b/tests/baselines/reference/enumPropertyAccess.types index 9a0f6e2f2c8f9..63ba03f0a5654 100644 --- a/tests/baselines/reference/enumPropertyAccess.types +++ b/tests/baselines/reference/enumPropertyAccess.types @@ -38,16 +38,16 @@ x.toFixed(); // ok >x.toFixed() : string > : ^^^^^^ >x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : Colors.Red > : ^^^^^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ // Now with generics function fill(f: B) { >fill : (f: B) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >f : B > : ^ @@ -63,9 +63,9 @@ function fill(f: B) { >f.toFixed() : string > : ^^^^^^ >f.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >f : Colors > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } diff --git a/tests/baselines/reference/enumTag.types b/tests/baselines/reference/enumTag.types index 8ee95582835a8..563141ae93176 100644 --- a/tests/baselines/reference/enumTag.types +++ b/tests/baselines/reference/enumTag.types @@ -142,7 +142,7 @@ function consume(t,s,f) { /** @type {(n: number) => number} */ var fun = f >fun : (n: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : Fs > : ^^ @@ -153,7 +153,7 @@ function consume(t,s,f) { >Target.START : string > : ^^^^^^ >Target : { START: string; MIDDLE: string; END: string; MISTAKE: number; OK_I_GUESS: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >START : string > : ^^^^^^ @@ -165,7 +165,7 @@ function consume(t,s,f) { >Target.UNKNOWN : any > : ^^^ >Target : { START: string; MIDDLE: string; END: string; MISTAKE: number; OK_I_GUESS: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >UNKNOWN : any > : ^^^ @@ -177,7 +177,7 @@ function consume(t,s,f) { >Second.MISTAKE : string > : ^^^^^^ >Second : { MISTAKE: string; OK: number; FINE: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >MISTAKE : string > : ^^^^^^ @@ -203,7 +203,7 @@ function ff(s) { >Target[s] : any > : ^^^ >Target : { START: string; MIDDLE: string; END: string; MISTAKE: number; OK_I_GUESS: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >s : string > : ^^^^^^ @@ -214,7 +214,7 @@ function ff(s) { >Target[s] : any > : ^^^ >Target : { START: string; MIDDLE: string; END: string; MISTAKE: number; OK_I_GUESS: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >s : string > : ^^^^^^ } diff --git a/tests/baselines/reference/equalityStrictNulls.types b/tests/baselines/reference/equalityStrictNulls.types index f7c89fa2479da..7e216ec870eaa 100644 --- a/tests/baselines/reference/equalityStrictNulls.types +++ b/tests/baselines/reference/equalityStrictNulls.types @@ -181,7 +181,7 @@ function f3(a: number, b: boolean, c: { x: number }, d: number | string) { >c == null : boolean > : ^^^^^^^ >c : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ } if (d == null) { >d == null : boolean diff --git a/tests/baselines/reference/equalityWithtNullishCoalescingAssignment(strict=false).types b/tests/baselines/reference/equalityWithtNullishCoalescingAssignment(strict=false).types index 4bc79f16fde11..3a04694fe5ee4 100644 --- a/tests/baselines/reference/equalityWithtNullishCoalescingAssignment(strict=false).types +++ b/tests/baselines/reference/equalityWithtNullishCoalescingAssignment(strict=false).types @@ -27,11 +27,11 @@ function f1(a?: boolean): void { >console.log(a) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >a : false > : ^^^^^ } @@ -40,7 +40,7 @@ f1(false); >f1(false) : void > : ^^^^ >f1 : (a?: boolean) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >false : false > : ^^^^^ @@ -75,11 +75,11 @@ function f2() { >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : 0 > : ^ } diff --git a/tests/baselines/reference/equalityWithtNullishCoalescingAssignment(strict=true).types b/tests/baselines/reference/equalityWithtNullishCoalescingAssignment(strict=true).types index 91515d199634a..76121756b2275 100644 --- a/tests/baselines/reference/equalityWithtNullishCoalescingAssignment(strict=true).types +++ b/tests/baselines/reference/equalityWithtNullishCoalescingAssignment(strict=true).types @@ -27,11 +27,11 @@ function f1(a?: boolean): void { >console.log(a) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >a : false > : ^^^^^ } @@ -40,7 +40,7 @@ f1(false); >f1(false) : void > : ^^^^ >f1 : (a?: boolean) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >false : false > : ^^^^^ @@ -75,11 +75,11 @@ function f2() { >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : 0 > : ^ } diff --git a/tests/baselines/reference/errorConstructorSubtypes.types b/tests/baselines/reference/errorConstructorSubtypes.types index 6bfded1bee507..81bb149fb5f01 100644 --- a/tests/baselines/reference/errorConstructorSubtypes.types +++ b/tests/baselines/reference/errorConstructorSubtypes.types @@ -44,9 +44,9 @@ new x().message x.captureStackTrace >x.captureStackTrace : (targetObject: Object, constructorOpt?: Function) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >x : ErrorConstructor > : ^^^^^^^^^^^^^^^^ >captureStackTrace : (targetObject: Object, constructorOpt?: Function) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/errorElaboration.types b/tests/baselines/reference/errorElaboration.types index 003ba68865aaf..26e24684fdef6 100644 --- a/tests/baselines/reference/errorElaboration.types +++ b/tests/baselines/reference/errorElaboration.types @@ -31,9 +31,9 @@ foo(a); >foo(a) : void > : ^^^^ >foo : (x: () => Container>) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : () => Container> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ // Repro for #25498 @@ -70,7 +70,7 @@ const x = ({ [foo.bar]: c }) => undefined; >foo.bar : any > : ^^^ >foo : (x: () => Container>) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : any > : ^^^ >c : any diff --git a/tests/baselines/reference/errorElaborationDivesIntoApparentlyPresentPropsOnly.types b/tests/baselines/reference/errorElaborationDivesIntoApparentlyPresentPropsOnly.types index 64584fcedeab5..e7c3ee6216c3c 100644 --- a/tests/baselines/reference/errorElaborationDivesIntoApparentlyPresentPropsOnly.types +++ b/tests/baselines/reference/errorElaborationDivesIntoApparentlyPresentPropsOnly.types @@ -3,7 +3,7 @@ === errorElaborationDivesIntoApparentlyPresentPropsOnly.ts === function foo(x: T) { >foo : (x: T) => void -> : ^ ^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >a : string > : ^^^^^^ >x : T @@ -32,7 +32,7 @@ function foo(x: T) { function bar(x: T) { >bar : (x: T) => void -> : ^ ^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >a : string > : ^^^^^^ >x : T @@ -53,7 +53,7 @@ function bar(x: T) { function baz(x: T) { >baz : (x: T) => void -> : ^ ^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >a : string > : ^^^^^^ >x : T diff --git a/tests/baselines/reference/errorForUsingPropertyOfTypeAsType02.types b/tests/baselines/reference/errorForUsingPropertyOfTypeAsType02.types index 8d40539101af8..105c57352b2de 100644 --- a/tests/baselines/reference/errorForUsingPropertyOfTypeAsType02.types +++ b/tests/baselines/reference/errorForUsingPropertyOfTypeAsType02.types @@ -7,7 +7,7 @@ namespace Test1 { function foo(x: T) { >foo : (x: T) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >abc : number > : ^^^^^^ >x : T diff --git a/tests/baselines/reference/errorForUsingPropertyOfTypeAsType03.types b/tests/baselines/reference/errorForUsingPropertyOfTypeAsType03.types index aeabf21398b02..87ef4fd9a6a77 100644 --- a/tests/baselines/reference/errorForUsingPropertyOfTypeAsType03.types +++ b/tests/baselines/reference/errorForUsingPropertyOfTypeAsType03.types @@ -42,7 +42,7 @@ namespace Test1 { let a2: Color.Red["toString"]; >a2 : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Color : any > : ^^^ @@ -54,7 +54,7 @@ namespace Test1 { //let b2: (typeof Color).Red["toString"]; let b3: (typeof Color)["Red"]["toString"]; >b3 : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Color : typeof Color > : ^^^^^^^^^^^^ @@ -92,5 +92,5 @@ namespace Test1 { let d3: C2["Red"]["toString"]; >d3 : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } diff --git a/tests/baselines/reference/errorMessageOnObjectLiteralType.types b/tests/baselines/reference/errorMessageOnObjectLiteralType.types index 2f107d4a43023..bab2eed08f83d 100644 --- a/tests/baselines/reference/errorMessageOnObjectLiteralType.types +++ b/tests/baselines/reference/errorMessageOnObjectLiteralType.types @@ -20,7 +20,7 @@ x.getOwnPropertyNamess(); >x.getOwnPropertyNamess : any > : ^^^ >x : { a: string; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >getOwnPropertyNamess : any > : ^^^ diff --git a/tests/baselines/reference/errorMessagesIntersectionTypes01.types b/tests/baselines/reference/errorMessagesIntersectionTypes01.types index 7b3d0a2f9cdcd..bbbc17ff275df 100644 --- a/tests/baselines/reference/errorMessagesIntersectionTypes01.types +++ b/tests/baselines/reference/errorMessagesIntersectionTypes01.types @@ -28,7 +28,7 @@ let fooBar: FooBar = mixBar({ >mixBar({ fooProp: "frizzlebizzle"}) : { fooProp: string; } & Bar > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >mixBar : (obj: T) => T & Bar -> : ^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ fooProp: "frizzlebizzle"} : { fooProp: string; } > : ^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/errorMessagesIntersectionTypes02.types b/tests/baselines/reference/errorMessagesIntersectionTypes02.types index 93c7128b5ea37..9cd93c4b8af81 100644 --- a/tests/baselines/reference/errorMessagesIntersectionTypes02.types +++ b/tests/baselines/reference/errorMessagesIntersectionTypes02.types @@ -28,7 +28,7 @@ let fooBar: FooBar = mixBar({ >mixBar({ fooProp: "frizzlebizzle"}) : { fooProp: "frizzlebizzle"; } & Bar > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >mixBar : (obj: T) => T & Bar -> : ^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ fooProp: "frizzlebizzle"} : { fooProp: "frizzlebizzle"; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/errorMessagesIntersectionTypes03.types b/tests/baselines/reference/errorMessagesIntersectionTypes03.types index b441ece15f5cf..d0081e803c523 100644 --- a/tests/baselines/reference/errorMessagesIntersectionTypes03.types +++ b/tests/baselines/reference/errorMessagesIntersectionTypes03.types @@ -15,7 +15,7 @@ interface B { function f(): void { >f : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ let t: T; >t : T diff --git a/tests/baselines/reference/errorMessagesIntersectionTypes04.types b/tests/baselines/reference/errorMessagesIntersectionTypes04.types index 1f5a3e0fa191f..942d6e6e52fdc 100644 --- a/tests/baselines/reference/errorMessagesIntersectionTypes04.types +++ b/tests/baselines/reference/errorMessagesIntersectionTypes04.types @@ -15,7 +15,7 @@ interface B { function f(): void { >f : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ let num: number; >num : number diff --git a/tests/baselines/reference/errorOnFunctionReturnType.types b/tests/baselines/reference/errorOnFunctionReturnType.types index cecb5df648fbc..6d4a830e75430 100644 --- a/tests/baselines/reference/errorOnFunctionReturnType.types +++ b/tests/baselines/reference/errorOnFunctionReturnType.types @@ -15,11 +15,11 @@ function testPromise1() { >console.log("Nope") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"Nope" : "Nope" > : ^^^^^^ } @@ -27,7 +27,7 @@ function testPromise1() { /** @type {FunctionReturningPromise} */ async function testPromise2() { >testPromise2 : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ return "asd"; >"asd" : "asd" @@ -44,11 +44,11 @@ var testPromise3 = /** @type {FunctionReturningPromise} */ function() { >console.log("test") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"test" : "test" > : ^^^^^^ } @@ -64,11 +64,11 @@ var testPromise4 = function() { >console.log("test") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"test" : "test" > : ^^^^^^ } @@ -88,7 +88,7 @@ function testNever1() { /** @type {FunctionReturningNever} */ async function testNever2() { >testNever2 : () => never -> : ^^^^^^^^^^^ +> : ^^^^^^ return "asd"; >"asd" : "asd" @@ -105,11 +105,11 @@ var testNever3 = /** @type {FunctionReturningNever} */ function() { >console.log("test") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"test" : "test" > : ^^^^^^ } @@ -125,11 +125,11 @@ var testNever4 = function() { >console.log("test") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"test" : "test" > : ^^^^^^ } diff --git a/tests/baselines/reference/errorWithTruncatedType.types b/tests/baselines/reference/errorWithTruncatedType.types index cb0519eaaa8c5..40bfb59649232 100644 --- a/tests/baselines/reference/errorWithTruncatedType.types +++ b/tests/baselines/reference/errorWithTruncatedType.types @@ -32,5 +32,5 @@ var s: string = x; >s : string > : ^^^^^^ >x : { propertyWithAnExceedinglyLongName1: string; propertyWithAnExceedinglyLongName2: string; propertyWithAnExceedinglyLongName3: string; propertyWithAnExceedinglyLongName4: string; propertyWithAnExceedinglyLongName5: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ diff --git a/tests/baselines/reference/errorsForCallAndAssignmentAreSimilar.types b/tests/baselines/reference/errorsForCallAndAssignmentAreSimilar.types index 425b24082c6a3..b241f0b6b241a 100644 --- a/tests/baselines/reference/errorsForCallAndAssignmentAreSimilar.types +++ b/tests/baselines/reference/errorsForCallAndAssignmentAreSimilar.types @@ -19,16 +19,16 @@ function minimalExample1() { function foo(x: Disc[]) { >foo : (x: ({ kind: "hddvd"; } | { kind: "bluray"; })[]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^ >x : ({ kind: "hddvd"; } | { kind: "bluray"; })[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^ } foo([ >foo([ { kind: "bluray", }, { kind: "hdpvd", } ]) : void > : ^^^^ >foo : (x: ({ kind: "hddvd"; } | { kind: "bluray"; })[]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^ >[ { kind: "bluray", }, { kind: "hdpvd", } ] : ({ kind: "bluray"; } | { kind: "hdpvd"; })[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -52,7 +52,7 @@ function minimalExample1() { const ds: Disc[] = [ >ds : ({ kind: "hddvd"; } | { kind: "bluray"; })[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^ >[ { kind: "bluray", }, { kind: "hdpvd", } ] : ({ kind: "bluray"; } | { kind: "hdpvd"; })[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/errorsInGenericTypeReference.types b/tests/baselines/reference/errorsInGenericTypeReference.types index b1dc22739620f..9473541fc7c9b 100644 --- a/tests/baselines/reference/errorsInGenericTypeReference.types +++ b/tests/baselines/reference/errorsInGenericTypeReference.types @@ -29,11 +29,11 @@ tc1.method<{ x: V }>(); // error: could not find symbol V >tc1.method<{ x: V }>() : void > : ^^^^ >tc1.method : () => void -> : ^^^^^^^^^^^^^ +> : ^^^^^^^^^ >tc1 : testClass1 > : ^^^^^^^^^^ >method : () => void -> : ^^^^^^^^^^^^^ +> : ^^^^^^^^^ >x : V > : ^ @@ -45,9 +45,9 @@ class testClass2 { } var tc2 = new testClass2<{ x: V }>(); // error: could not find symbol V >tc2 : testClass2<{ x: V; }> -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^ >new testClass2<{ x: V }>() : testClass2<{ x: V; }> -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^ >testClass2 : typeof testClass2 > : ^^^^^^^^^^^^^^^^^ >x : V @@ -73,15 +73,15 @@ class testClass3 { set a(value: Foo<{ x: V }>) { } // error: could not find symbol V >a : Foo<{ x: V; }> -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^ >value : Foo<{ x: V; }> -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^ >x : V > : ^ property: Foo<{ x: V }>; // error: could not find symbol V >property : Foo<{ x: V; }> -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^ >x : V > : ^ } @@ -100,7 +100,7 @@ function testFunction2(p: Foo<{ x: V }>) { }// error: could not find symbol V >testFunction2 : (p: Foo<{ x: V; }>) => void > : ^ ^^ ^^^^^^^^^ >p : Foo<{ x: V; }> -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^ >x : V > : ^ @@ -108,7 +108,7 @@ function testFunction2(p: Foo<{ x: V }>) { }// error: could not find symbol V // in var type annotation var f: Foo<{ x: V }>; // error: could not find symbol V >f : Foo<{ x: V; }> -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^ >x : V > : ^ @@ -130,7 +130,7 @@ class testClass6 { method(): void { } // error: could not find symbol V >method : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^ >x : V > : ^ } @@ -149,7 +149,7 @@ class testClass7 extends Foo<{ x: V }> { } // error: could not find symbol V >testClass7 : testClass7 > : ^^^^^^^^^^ >Foo : Foo<{ x: V; }> -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^ >x : V > : ^ @@ -166,7 +166,7 @@ class testClass8 implements IFoo<{ x: V }> { } // error: could not find symbol V interface testInterface2 { new (a: Foo<{ x: V }>): Foo<{ x: V }>; //2x: error: could not find symbol V >a : Foo<{ x: V; }> -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^ >x : V > : ^ >x : V @@ -182,7 +182,7 @@ interface testInterface2 { >method : (a: Foo<{ x: V; }>) => Foo<{ x: V; }> > : ^ ^^ ^^^^^ >a : Foo<{ x: V; }> -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^ >x : V > : ^ >x : V @@ -190,7 +190,7 @@ interface testInterface2 { property: Foo<{ x: V }>; // error: could not find symbol V >property : Foo<{ x: V; }> -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^ >x : V > : ^ } diff --git a/tests/baselines/reference/errorsOnUnionsOfOverlappingObjects01.types b/tests/baselines/reference/errorsOnUnionsOfOverlappingObjects01.types index 997ac9fd7c620..5851469610666 100644 --- a/tests/baselines/reference/errorsOnUnionsOfOverlappingObjects01.types +++ b/tests/baselines/reference/errorsOnUnionsOfOverlappingObjects01.types @@ -48,7 +48,7 @@ f(x); >f(x) : any > : ^^^ >f : (x: Foo | Other) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >x : { a: string; b: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -56,7 +56,7 @@ f({ a: '', b: '' }) >f({ a: '', b: '' }) : any > : ^^^ >f : (x: Foo | Other) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >{ a: '', b: '' } : { a: string; b: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : string @@ -78,7 +78,7 @@ g(x); >g(x) : any > : ^^^ >g : (x: Bar | Other) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >x : { a: string; b: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -86,7 +86,7 @@ g({ a: '', b: '' }) >g({ a: '', b: '' }) : any > : ^^^ >g : (x: Bar | Other) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >{ a: '', b: '' } : { a: string; b: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : string @@ -108,7 +108,7 @@ h(x); >h(x) : any > : ^^^ >h : (x: Foo | Bar | Other) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >x : { a: string; b: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -116,7 +116,7 @@ h({ a: '', b: '' }) >h({ a: '', b: '' }) : any > : ^^^ >h : (x: Foo | Bar | Other) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >{ a: '', b: '' } : { a: string; b: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : string @@ -164,7 +164,7 @@ addToZoo({ dog: "Barky McBarkface" }); >addToZoo({ dog: "Barky McBarkface" }) : void > : ^^^^ >addToZoo : (animal: ExoticAnimal) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ dog: "Barky McBarkface" } : { dog: string; } > : ^^^^^^^^^^^^^^^^ >dog : string @@ -176,7 +176,7 @@ addToZoo({ man: "Manny", bear: "Coffee" }); >addToZoo({ man: "Manny", bear: "Coffee" }) : void > : ^^^^ >addToZoo : (animal: ExoticAnimal) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ man: "Manny", bear: "Coffee" } : { man: string; bear: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >man : string @@ -206,7 +206,7 @@ addToZoo({ man: "Manny", beer: "Coffee" }); >addToZoo({ man: "Manny", beer: "Coffee" }) : void > : ^^^^ >addToZoo : (animal: ExoticAnimal) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ man: "Manny", beer: "Coffee" } : { man: string; beer: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >man : string @@ -222,7 +222,7 @@ addToZoo(manBeer); >addToZoo(manBeer) : void > : ^^^^ >addToZoo : (animal: ExoticAnimal) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >manBeer : { man: string; beer: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/es2016IntlAPIs.types b/tests/baselines/reference/es2016IntlAPIs.types index 287dd99a0edf0..298aa60b23e02 100644 --- a/tests/baselines/reference/es2016IntlAPIs.types +++ b/tests/baselines/reference/es2016IntlAPIs.types @@ -7,19 +7,19 @@ console.log(Intl.getCanonicalLocales('EN-US')); >console.log(Intl.getCanonicalLocales('EN-US')) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Intl.getCanonicalLocales('EN-US') : string[] > : ^^^^^^^^ >Intl.getCanonicalLocales : (locale?: string | readonly string[]) => string[] -> : ^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ >getCanonicalLocales : (locale?: string | readonly string[]) => string[] -> : ^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >'EN-US' : "EN-US" > : ^^^^^^^ @@ -29,19 +29,19 @@ console.log(Intl.getCanonicalLocales(['EN-US', 'Fr'])); >console.log(Intl.getCanonicalLocales(['EN-US', 'Fr'])) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Intl.getCanonicalLocales(['EN-US', 'Fr']) : string[] > : ^^^^^^^^ >Intl.getCanonicalLocales : (locale?: string | readonly string[]) => string[] -> : ^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ >getCanonicalLocales : (locale?: string | readonly string[]) => string[] -> : ^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >['EN-US', 'Fr'] : string[] > : ^^^^^^^^ >'EN-US' : "EN-US" @@ -56,11 +56,11 @@ try { >Intl.getCanonicalLocales('EN_US') : string[] > : ^^^^^^^^ >Intl.getCanonicalLocales : (locale?: string | readonly string[]) => string[] -> : ^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ >getCanonicalLocales : (locale?: string | readonly string[]) => string[] -> : ^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >'EN_US' : "EN_US" > : ^^^^^^^ @@ -71,11 +71,11 @@ try { >console.log(err.toString()) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >err.toString() : any >err.toString : any >err : any diff --git a/tests/baselines/reference/es2017DateAPIs.types b/tests/baselines/reference/es2017DateAPIs.types index 37f0dff23752b..b8a70710a0adf 100644 --- a/tests/baselines/reference/es2017DateAPIs.types +++ b/tests/baselines/reference/es2017DateAPIs.types @@ -5,11 +5,11 @@ Date.UTC(2017); >Date.UTC(2017) : number > : ^^^^^^ >Date.UTC : { (year: number, monthIndex: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; (year: number, monthIndex?: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Date : DateConstructor > : ^^^^^^^^^^^^^^^ >UTC : { (year: number, monthIndex: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; (year: number, monthIndex?: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >2017 : 2017 > : ^^^^ diff --git a/tests/baselines/reference/es2018IntlAPIs.types b/tests/baselines/reference/es2018IntlAPIs.types index 979996db152c8..8b70d19421d09 100644 --- a/tests/baselines/reference/es2018IntlAPIs.types +++ b/tests/baselines/reference/es2018IntlAPIs.types @@ -31,19 +31,19 @@ console.log(Intl.PluralRules.supportedLocalesOf(locales, options).join(', ')); >console.log(Intl.PluralRules.supportedLocalesOf(locales, options).join(', ')) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Intl.PluralRules.supportedLocalesOf(locales, options).join(', ') : string > : ^^^^^^ >Intl.PluralRules.supportedLocalesOf(locales, options).join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Intl.PluralRules.supportedLocalesOf(locales, options) : string[] > : ^^^^^^^^ >Intl.PluralRules.supportedLocalesOf : (locales: string | readonly string[], options?: { localeMatcher?: "lookup" | "best fit"; }) => string[] -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >Intl.PluralRules : Intl.PluralRulesConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Intl : typeof Intl @@ -51,13 +51,13 @@ console.log(Intl.PluralRules.supportedLocalesOf(locales, options).join(', ')); >PluralRules : Intl.PluralRulesConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >supportedLocalesOf : (locales: string | readonly string[], options?: { localeMatcher?: "lookup" | "best fit"; }) => string[] -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >locales : string[] > : ^^^^^^^^ >options : { readonly localeMatcher: "lookup"; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >', ' : ", " > : ^^^^ @@ -67,7 +67,7 @@ const [ part ] = new Intl.NumberFormat().formatToParts(); >new Intl.NumberFormat().formatToParts() : Intl.NumberFormatPart[] > : ^^^^^^^^^^^^^^^^^^^^^^^ >new Intl.NumberFormat().formatToParts : (number?: number | bigint) => Intl.NumberFormatPart[] -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >new Intl.NumberFormat() : Intl.NumberFormat > : ^^^^^^^^^^^^^^^^^ >Intl.NumberFormat : Intl.NumberFormatConstructor @@ -77,17 +77,17 @@ const [ part ] = new Intl.NumberFormat().formatToParts(); >NumberFormat : Intl.NumberFormatConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >formatToParts : (number?: number | bigint) => Intl.NumberFormatPart[] -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ console.log(part.type, part.value); >console.log(part.type, part.value) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >part.type : keyof Intl.NumberFormatPartTypeRegistry > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >part : Intl.NumberFormatPart diff --git a/tests/baselines/reference/es2018ObjectAssign.types b/tests/baselines/reference/es2018ObjectAssign.types index f28eaf4951da3..3ae8df0b5c585 100644 --- a/tests/baselines/reference/es2018ObjectAssign.types +++ b/tests/baselines/reference/es2018ObjectAssign.types @@ -6,12 +6,12 @@ const test = Object.assign({}, { test: true }); > : ^^^^^^^^^^^^^^^^^^ >Object.assign({}, { test: true }) : { test: boolean; } > : ^^^^^^^^^^^^^^^^^^ ->Object.assign : { (target: T, source: U): T & U; (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; (target: T_2, source1: U_2, source2: V_1, source3: W): T_2 & U_2 & V_1 & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +>Object.assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ ->assign : { (target: T, source: U): T & U; (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; (target: T_2, source1: U_2, source2: V_1, source3: W): T_2 & U_2 & V_1 & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +>assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >{} : {} > : ^^ >{ test: true } : { test: true; } @@ -29,9 +29,9 @@ p.finally(); >p.finally() : Promise > : ^^^^^^^^^^^^^^^ >p.finally : (onfinally?: () => void) => Promise -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^ >finally : (onfinally?: () => void) => Promise -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^^^^^ diff --git a/tests/baselines/reference/es2020IntlAPIs.types b/tests/baselines/reference/es2020IntlAPIs.types index 1a4e385e515b7..b43ea99323f6c 100644 --- a/tests/baselines/reference/es2020IntlAPIs.types +++ b/tests/baselines/reference/es2020IntlAPIs.types @@ -28,11 +28,11 @@ function log(locale: string) { >console.log( `${new Intl.DateTimeFormat(locale).format(date)} ${new Intl.NumberFormat(locale).format(count)}` ) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ `${new Intl.DateTimeFormat(locale).format(date)} ${new Intl.NumberFormat(locale).format(count)}` >`${new Intl.DateTimeFormat(locale).format(date)} ${new Intl.NumberFormat(locale).format(count)}` : string @@ -40,7 +40,7 @@ function log(locale: string) { >new Intl.DateTimeFormat(locale).format(date) : string > : ^^^^^^ >new Intl.DateTimeFormat(locale).format : (date?: Date | number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >new Intl.DateTimeFormat(locale) : Intl.DateTimeFormat > : ^^^^^^^^^^^^^^^^^^^ >Intl.DateTimeFormat : Intl.DateTimeFormatConstructor @@ -52,13 +52,13 @@ function log(locale: string) { >locale : string > : ^^^^^^ >format : (date?: Date | number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >date : Date > : ^^^^ >new Intl.NumberFormat(locale).format(count) : string > : ^^^^^^ >new Intl.NumberFormat(locale).format : { (value: number): string; (value: number | bigint): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >new Intl.NumberFormat(locale) : Intl.NumberFormat > : ^^^^^^^^^^^^^^^^^ >Intl.NumberFormat : Intl.NumberFormatConstructor @@ -70,7 +70,7 @@ function log(locale: string) { >locale : string > : ^^^^^^ >format : { (value: number): string; (value: number | bigint): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >count : 26254.39 > : ^^^^^^^^ @@ -103,12 +103,12 @@ const rtf1 = new Intl.RelativeTimeFormat('en', { style: 'narrow' }); > : ^^^^^^^^^^^^^^^^^^^^^^^ >new Intl.RelativeTimeFormat('en', { style: 'narrow' }) : Intl.RelativeTimeFormat > : ^^^^^^^^^^^^^^^^^^^^^^^ ->Intl.RelativeTimeFormat : { new (locales?: LocalesArgument, options?: RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: LocalesArgument, options?: RelativeTimeFormatOptions): string[]; } -> : ^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>Intl.RelativeTimeFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->RelativeTimeFormat : { new (locales?: LocalesArgument, options?: RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: LocalesArgument, options?: RelativeTimeFormatOptions): string[]; } -> : ^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>RelativeTimeFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >'en' : "en" > : ^^^^ >{ style: 'narrow' } : { style: "narrow"; } @@ -122,19 +122,19 @@ console.log(rtf1.format(3, 'quarter')); >console.log(rtf1.format(3, 'quarter')) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >rtf1.format(3, 'quarter') : string > : ^^^^^^ ->rtf1.format : (value: number, unit: RelativeTimeFormatUnit) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +>rtf1.format : (value: number, unit: Intl.RelativeTimeFormatUnit) => string +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >rtf1 : Intl.RelativeTimeFormat > : ^^^^^^^^^^^^^^^^^^^^^^^ ->format : (value: number, unit: RelativeTimeFormatUnit) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +>format : (value: number, unit: Intl.RelativeTimeFormatUnit) => string +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >3 : 3 > : ^ >'quarter' : "quarter" @@ -146,19 +146,19 @@ console.log(rtf1.format(-1, 'day')); >console.log(rtf1.format(-1, 'day')) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >rtf1.format(-1, 'day') : string > : ^^^^^^ ->rtf1.format : (value: number, unit: RelativeTimeFormatUnit) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +>rtf1.format : (value: number, unit: Intl.RelativeTimeFormatUnit) => string +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >rtf1 : Intl.RelativeTimeFormat > : ^^^^^^^^^^^^^^^^^^^^^^^ ->format : (value: number, unit: RelativeTimeFormatUnit) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +>format : (value: number, unit: Intl.RelativeTimeFormatUnit) => string +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >-1 : -1 > : ^^ >1 : 1 @@ -173,12 +173,12 @@ const rtf2 = new Intl.RelativeTimeFormat('es', { numeric: 'auto' }); > : ^^^^^^^^^^^^^^^^^^^^^^^ >new Intl.RelativeTimeFormat('es', { numeric: 'auto' }) : Intl.RelativeTimeFormat > : ^^^^^^^^^^^^^^^^^^^^^^^ ->Intl.RelativeTimeFormat : { new (locales?: LocalesArgument, options?: RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: LocalesArgument, options?: RelativeTimeFormatOptions): string[]; } -> : ^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>Intl.RelativeTimeFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->RelativeTimeFormat : { new (locales?: LocalesArgument, options?: RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: LocalesArgument, options?: RelativeTimeFormatOptions): string[]; } -> : ^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>RelativeTimeFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >'es' : "es" > : ^^^^ >{ numeric: 'auto' } : { numeric: "auto"; } @@ -192,19 +192,19 @@ console.log(rtf2.format(2, 'day')); >console.log(rtf2.format(2, 'day')) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >rtf2.format(2, 'day') : string > : ^^^^^^ ->rtf2.format : (value: number, unit: RelativeTimeFormatUnit) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +>rtf2.format : (value: number, unit: Intl.RelativeTimeFormatUnit) => string +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >rtf2 : Intl.RelativeTimeFormat > : ^^^^^^^^^^^^^^^^^^^^^^^ ->format : (value: number, unit: RelativeTimeFormatUnit) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +>format : (value: number, unit: Intl.RelativeTimeFormatUnit) => string +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >2 : 2 > : ^ >'day' : "day" @@ -218,12 +218,12 @@ const regionNamesInEnglish = new Intl.DisplayNames(['en'], { type: 'region' }); > : ^^^^^^^^^^^^^^^^^ >new Intl.DisplayNames(['en'], { type: 'region' }) : Intl.DisplayNames > : ^^^^^^^^^^^^^^^^^ ->Intl.DisplayNames : { new (locales: LocalesArgument, options: DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }): string[]; } -> : ^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>Intl.DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->DisplayNames : { new (locales: LocalesArgument, options: DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }): string[]; } -> : ^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >['en'] : string[] > : ^^^^^^^^ >'en' : "en" @@ -240,12 +240,12 @@ const regionNamesInTraditionalChinese = new Intl.DisplayNames(['zh-Hant'], { typ > : ^^^^^^^^^^^^^^^^^ >new Intl.DisplayNames(['zh-Hant'], { type: 'region' }) : Intl.DisplayNames > : ^^^^^^^^^^^^^^^^^ ->Intl.DisplayNames : { new (locales: LocalesArgument, options: DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }): string[]; } -> : ^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>Intl.DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->DisplayNames : { new (locales: LocalesArgument, options: DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }): string[]; } -> : ^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >['zh-Hant'] : string[] > : ^^^^^^^^ >'zh-Hant' : "zh-Hant" @@ -261,19 +261,19 @@ console.log(regionNamesInEnglish.of('US')); >console.log(regionNamesInEnglish.of('US')) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >regionNamesInEnglish.of('US') : string > : ^^^^^^ ->regionNamesInEnglish.of : (code: string) => string -> : ^ ^^ ^^^^^^^^^^^ +>regionNamesInEnglish.of : (code: string) => string | undefined +> : ^ ^^ ^^^^^ >regionNamesInEnglish : Intl.DisplayNames > : ^^^^^^^^^^^^^^^^^ ->of : (code: string) => string -> : ^ ^^ ^^^^^^^^^^^ +>of : (code: string) => string | undefined +> : ^ ^^ ^^^^^ >'US' : "US" > : ^^^^ @@ -283,19 +283,19 @@ console.log(regionNamesInTraditionalChinese.of('US')); >console.log(regionNamesInTraditionalChinese.of('US')) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >regionNamesInTraditionalChinese.of('US') : string > : ^^^^^^ ->regionNamesInTraditionalChinese.of : (code: string) => string -> : ^ ^^ ^^^^^^^^^^^ +>regionNamesInTraditionalChinese.of : (code: string) => string | undefined +> : ^ ^^ ^^^^^ >regionNamesInTraditionalChinese : Intl.DisplayNames > : ^^^^^^^^^^^^^^^^^ ->of : (code: string) => string -> : ^ ^^ ^^^^^^^^^^^ +>of : (code: string) => string | undefined +> : ^ ^^ ^^^^^ >'US' : "US" > : ^^^^ @@ -329,97 +329,97 @@ console.log(Intl.DisplayNames.supportedLocalesOf(locales1, options1).join(', ')) >console.log(Intl.DisplayNames.supportedLocalesOf(locales1, options1).join(', ')) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Intl.DisplayNames.supportedLocalesOf(locales1, options1).join(', ') : string > : ^^^^^^ >Intl.DisplayNames.supportedLocalesOf(locales1, options1).join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Intl.DisplayNames.supportedLocalesOf(locales1, options1) : string[] > : ^^^^^^^^ ->Intl.DisplayNames.supportedLocalesOf : (locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }) => string[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ ->Intl.DisplayNames : { new (locales: LocalesArgument, options: DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }): string[]; } -> : ^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>Intl.DisplayNames.supportedLocalesOf : (locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }) => Intl.UnicodeBCP47LocaleIdentifier[] +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Intl.DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->DisplayNames : { new (locales: LocalesArgument, options: DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }): string[]; } -> : ^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ ->supportedLocalesOf : (locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }) => string[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +>DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +>supportedLocalesOf : (locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }) => Intl.UnicodeBCP47LocaleIdentifier[] +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >locales1 : string[] > : ^^^^^^^^ >options1 : { readonly localeMatcher: "lookup"; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >', ' : ", " > : ^^^^ new Intl.Locale(); // should error >new Intl.Locale() : Intl.Locale > : ^^^^^^^^^^^ ->Intl.Locale : new (tag: UnicodeBCP47LocaleIdentifier | Locale, options?: LocaleOptions) => Intl.Locale -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +>Intl.Locale : new (tag: Intl.UnicodeBCP47LocaleIdentifier | Intl.Locale, options?: Intl.LocaleOptions) => Intl.Locale +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->Locale : new (tag: UnicodeBCP47LocaleIdentifier | Locale, options?: LocaleOptions) => Intl.Locale -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +>Locale : new (tag: Intl.UnicodeBCP47LocaleIdentifier | Intl.Locale, options?: Intl.LocaleOptions) => Intl.Locale +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ new Intl.Locale(new Intl.Locale('en-US')); >new Intl.Locale(new Intl.Locale('en-US')) : Intl.Locale > : ^^^^^^^^^^^ ->Intl.Locale : new (tag: UnicodeBCP47LocaleIdentifier | Locale, options?: LocaleOptions) => Intl.Locale -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +>Intl.Locale : new (tag: Intl.UnicodeBCP47LocaleIdentifier | Intl.Locale, options?: Intl.LocaleOptions) => Intl.Locale +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->Locale : new (tag: UnicodeBCP47LocaleIdentifier | Locale, options?: LocaleOptions) => Intl.Locale -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +>Locale : new (tag: Intl.UnicodeBCP47LocaleIdentifier | Intl.Locale, options?: Intl.LocaleOptions) => Intl.Locale +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >new Intl.Locale('en-US') : Intl.Locale > : ^^^^^^^^^^^ ->Intl.Locale : new (tag: UnicodeBCP47LocaleIdentifier | Locale, options?: LocaleOptions) => Intl.Locale -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +>Intl.Locale : new (tag: Intl.UnicodeBCP47LocaleIdentifier | Intl.Locale, options?: Intl.LocaleOptions) => Intl.Locale +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->Locale : new (tag: UnicodeBCP47LocaleIdentifier | Locale, options?: LocaleOptions) => Intl.Locale -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +>Locale : new (tag: Intl.UnicodeBCP47LocaleIdentifier | Intl.Locale, options?: Intl.LocaleOptions) => Intl.Locale +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'en-US' : "en-US" > : ^^^^^^^ new Intl.DisplayNames(); // TypeError: invalid_argument >new Intl.DisplayNames() : Intl.DisplayNames > : ^^^^^^^^^^^^^^^^^ ->Intl.DisplayNames : { new (locales: LocalesArgument, options: DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }): string[]; } -> : ^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>Intl.DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->DisplayNames : { new (locales: LocalesArgument, options: DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }): string[]; } -> : ^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ new Intl.DisplayNames('en'); // TypeError: invalid_argument >new Intl.DisplayNames('en') : Intl.DisplayNames > : ^^^^^^^^^^^^^^^^^ ->Intl.DisplayNames : { new (locales: LocalesArgument, options: DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }): string[]; } -> : ^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>Intl.DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->DisplayNames : { new (locales: LocalesArgument, options: DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }): string[]; } -> : ^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >'en' : "en" > : ^^^^ new Intl.DisplayNames('en', {}); // TypeError: invalid_argument >new Intl.DisplayNames('en', {}) : Intl.DisplayNames > : ^^^^^^^^^^^^^^^^^ ->Intl.DisplayNames : { new (locales: LocalesArgument, options: DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }): string[]; } -> : ^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>Intl.DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->DisplayNames : { new (locales: LocalesArgument, options: DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }): string[]; } -> : ^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >'en' : "en" > : ^^^^ >{} : {} @@ -429,25 +429,25 @@ console.log((new Intl.DisplayNames(undefined, {type: 'language'})).of('en-GB')); >console.log((new Intl.DisplayNames(undefined, {type: 'language'})).of('en-GB')) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >(new Intl.DisplayNames(undefined, {type: 'language'})).of('en-GB') : string > : ^^^^^^ ->(new Intl.DisplayNames(undefined, {type: 'language'})).of : (code: string) => string -> : ^ ^^ ^^^^^^^^^^^ +>(new Intl.DisplayNames(undefined, {type: 'language'})).of : (code: string) => string | undefined +> : ^ ^^ ^^^^^ >(new Intl.DisplayNames(undefined, {type: 'language'})) : Intl.DisplayNames > : ^^^^^^^^^^^^^^^^^ >new Intl.DisplayNames(undefined, {type: 'language'}) : Intl.DisplayNames > : ^^^^^^^^^^^^^^^^^ ->Intl.DisplayNames : { new (locales: LocalesArgument, options: DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }): string[]; } -> : ^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>Intl.DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->DisplayNames : { new (locales: LocalesArgument, options: DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }): string[]; } -> : ^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ >{type: 'language'} : { type: "language"; } @@ -456,8 +456,8 @@ console.log((new Intl.DisplayNames(undefined, {type: 'language'})).of('en-GB')); > : ^^^^^^^^^^ >'language' : "language" > : ^^^^^^^^^^ ->of : (code: string) => string -> : ^ ^^ ^^^^^^^^^^^ +>of : (code: string) => string | undefined +> : ^ ^^ ^^^^^ >'en-GB' : "en-GB" > : ^^^^^^^ @@ -470,12 +470,12 @@ const localesArg = ["es-ES", new Intl.Locale("en-US")]; > : ^^^^^^^ >new Intl.Locale("en-US") : Intl.Locale > : ^^^^^^^^^^^ ->Intl.Locale : new (tag: UnicodeBCP47LocaleIdentifier | Locale, options?: LocaleOptions) => Intl.Locale -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +>Intl.Locale : new (tag: Intl.UnicodeBCP47LocaleIdentifier | Intl.Locale, options?: Intl.LocaleOptions) => Intl.Locale +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->Locale : new (tag: UnicodeBCP47LocaleIdentifier | Locale, options?: LocaleOptions) => Intl.Locale -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +>Locale : new (tag: Intl.UnicodeBCP47LocaleIdentifier | Intl.Locale, options?: Intl.LocaleOptions) => Intl.Locale +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"en-US" : "en-US" > : ^^^^^^^ @@ -483,11 +483,11 @@ console.log((new Intl.DisplayNames(localesArg, {type: 'language'})).resolvedOpti >console.log((new Intl.DisplayNames(localesArg, {type: 'language'})).resolvedOptions().locale) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >(new Intl.DisplayNames(localesArg, {type: 'language'})).resolvedOptions().locale : string > : ^^^^^^ >(new Intl.DisplayNames(localesArg, {type: 'language'})).resolvedOptions() : Intl.ResolvedDisplayNamesOptions @@ -498,12 +498,12 @@ console.log((new Intl.DisplayNames(localesArg, {type: 'language'})).resolvedOpti > : ^^^^^^^^^^^^^^^^^ >new Intl.DisplayNames(localesArg, {type: 'language'}) : Intl.DisplayNames > : ^^^^^^^^^^^^^^^^^ ->Intl.DisplayNames : { new (locales: LocalesArgument, options: DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }): string[]; } -> : ^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>Intl.DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->DisplayNames : { new (locales: LocalesArgument, options: DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }): string[]; } -> : ^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >localesArg : (string | Intl.Locale)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^ >{type: 'language'} : { type: "language"; } @@ -521,23 +521,23 @@ console.log(Intl.DisplayNames.supportedLocalesOf(localesArg)); // ["es-ES", "en- >console.log(Intl.DisplayNames.supportedLocalesOf(localesArg)) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Intl.DisplayNames.supportedLocalesOf(localesArg) : string[] > : ^^^^^^^^ ->Intl.DisplayNames.supportedLocalesOf : (locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }) => string[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ ->Intl.DisplayNames : { new (locales: LocalesArgument, options: DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }): string[]; } -> : ^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>Intl.DisplayNames.supportedLocalesOf : (locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }) => Intl.UnicodeBCP47LocaleIdentifier[] +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Intl.DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->DisplayNames : { new (locales: LocalesArgument, options: DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }): string[]; } -> : ^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ ->supportedLocalesOf : (locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }) => string[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +>DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +>supportedLocalesOf : (locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }) => Intl.UnicodeBCP47LocaleIdentifier[] +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >localesArg : (string | Intl.Locale)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^ @@ -545,45 +545,45 @@ console.log(Intl.DisplayNames.supportedLocalesOf()); // [] >console.log(Intl.DisplayNames.supportedLocalesOf()) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Intl.DisplayNames.supportedLocalesOf() : string[] > : ^^^^^^^^ ->Intl.DisplayNames.supportedLocalesOf : (locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }) => string[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ ->Intl.DisplayNames : { new (locales: LocalesArgument, options: DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }): string[]; } -> : ^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>Intl.DisplayNames.supportedLocalesOf : (locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }) => Intl.UnicodeBCP47LocaleIdentifier[] +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Intl.DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->DisplayNames : { new (locales: LocalesArgument, options: DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }): string[]; } -> : ^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ ->supportedLocalesOf : (locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }) => string[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +>DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +>supportedLocalesOf : (locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }) => Intl.UnicodeBCP47LocaleIdentifier[] +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ console.log(Intl.DisplayNames.supportedLocalesOf(localesArg, {})); // ["es-ES", "en-US"] >console.log(Intl.DisplayNames.supportedLocalesOf(localesArg, {})) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Intl.DisplayNames.supportedLocalesOf(localesArg, {}) : string[] > : ^^^^^^^^ ->Intl.DisplayNames.supportedLocalesOf : (locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }) => string[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ ->Intl.DisplayNames : { new (locales: LocalesArgument, options: DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }): string[]; } -> : ^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>Intl.DisplayNames.supportedLocalesOf : (locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }) => Intl.UnicodeBCP47LocaleIdentifier[] +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Intl.DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->DisplayNames : { new (locales: LocalesArgument, options: DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }): string[]; } -> : ^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ ->supportedLocalesOf : (locales?: LocalesArgument, options?: { localeMatcher?: RelativeTimeFormatLocaleMatcher; }) => string[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +>DisplayNames : { new (locales: Intl.LocalesArgument, options: Intl.DisplayNamesOptions): Intl.DisplayNames; prototype: Intl.DisplayNames; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +>supportedLocalesOf : (locales?: Intl.LocalesArgument, options?: { localeMatcher?: Intl.RelativeTimeFormatLocaleMatcher; }) => Intl.UnicodeBCP47LocaleIdentifier[] +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >localesArg : (string | Intl.Locale)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^ >{} : {} diff --git a/tests/baselines/reference/es2021LocalesObjectArgument.types b/tests/baselines/reference/es2021LocalesObjectArgument.types index 646e2b73152fb..1fd143435659e 100644 --- a/tests/baselines/reference/es2021LocalesObjectArgument.types +++ b/tests/baselines/reference/es2021LocalesObjectArgument.types @@ -6,12 +6,12 @@ const enUS = new Intl.Locale("en-US"); > : ^^^^^^^^^^^ >new Intl.Locale("en-US") : Intl.Locale > : ^^^^^^^^^^^ ->Intl.Locale : new (tag: UnicodeBCP47LocaleIdentifier | Locale, options?: LocaleOptions) => Intl.Locale -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +>Intl.Locale : new (tag: Intl.UnicodeBCP47LocaleIdentifier | Intl.Locale, options?: Intl.LocaleOptions) => Intl.Locale +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->Locale : new (tag: UnicodeBCP47LocaleIdentifier | Locale, options?: LocaleOptions) => Intl.Locale -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +>Locale : new (tag: Intl.UnicodeBCP47LocaleIdentifier | Intl.Locale, options?: Intl.LocaleOptions) => Intl.Locale +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"en-US" : "en-US" > : ^^^^^^^ @@ -20,12 +20,12 @@ const deDE = new Intl.Locale("de-DE"); > : ^^^^^^^^^^^ >new Intl.Locale("de-DE") : Intl.Locale > : ^^^^^^^^^^^ ->Intl.Locale : new (tag: UnicodeBCP47LocaleIdentifier | Locale, options?: LocaleOptions) => Intl.Locale -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +>Intl.Locale : new (tag: Intl.UnicodeBCP47LocaleIdentifier | Intl.Locale, options?: Intl.LocaleOptions) => Intl.Locale +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->Locale : new (tag: UnicodeBCP47LocaleIdentifier | Locale, options?: LocaleOptions) => Intl.Locale -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +>Locale : new (tag: Intl.UnicodeBCP47LocaleIdentifier | Intl.Locale, options?: Intl.LocaleOptions) => Intl.Locale +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"de-DE" : "de-DE" > : ^^^^^^^ @@ -34,36 +34,36 @@ const jaJP = new Intl.Locale("ja-JP"); > : ^^^^^^^^^^^ >new Intl.Locale("ja-JP") : Intl.Locale > : ^^^^^^^^^^^ ->Intl.Locale : new (tag: UnicodeBCP47LocaleIdentifier | Locale, options?: LocaleOptions) => Intl.Locale -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +>Intl.Locale : new (tag: Intl.UnicodeBCP47LocaleIdentifier | Intl.Locale, options?: Intl.LocaleOptions) => Intl.Locale +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->Locale : new (tag: UnicodeBCP47LocaleIdentifier | Locale, options?: LocaleOptions) => Intl.Locale -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +>Locale : new (tag: Intl.UnicodeBCP47LocaleIdentifier | Intl.Locale, options?: Intl.LocaleOptions) => Intl.Locale +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"ja-JP" : "ja-JP" > : ^^^^^^^ new Intl.ListFormat(enUS); >new Intl.ListFormat(enUS) : Intl.ListFormat > : ^^^^^^^^^^^^^^^ ->Intl.ListFormat : { new (locales?: LocalesArgument, options?: ListFormatOptions): Intl.ListFormat; prototype: Intl.ListFormat; supportedLocalesOf(locales: LocalesArgument, options?: Pick): string[]; } -> : ^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>Intl.ListFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.ListFormatOptions): Intl.ListFormat; prototype: Intl.ListFormat; supportedLocalesOf(locales: Intl.LocalesArgument, options?: Pick): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->ListFormat : { new (locales?: LocalesArgument, options?: ListFormatOptions): Intl.ListFormat; prototype: Intl.ListFormat; supportedLocalesOf(locales: LocalesArgument, options?: Pick): string[]; } -> : ^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>ListFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.ListFormatOptions): Intl.ListFormat; prototype: Intl.ListFormat; supportedLocalesOf(locales: Intl.LocalesArgument, options?: Pick): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >enUS : Intl.Locale > : ^^^^^^^^^^^ new Intl.ListFormat([deDE, jaJP]); >new Intl.ListFormat([deDE, jaJP]) : Intl.ListFormat > : ^^^^^^^^^^^^^^^ ->Intl.ListFormat : { new (locales?: LocalesArgument, options?: ListFormatOptions): Intl.ListFormat; prototype: Intl.ListFormat; supportedLocalesOf(locales: LocalesArgument, options?: Pick): string[]; } -> : ^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>Intl.ListFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.ListFormatOptions): Intl.ListFormat; prototype: Intl.ListFormat; supportedLocalesOf(locales: Intl.LocalesArgument, options?: Pick): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->ListFormat : { new (locales?: LocalesArgument, options?: ListFormatOptions): Intl.ListFormat; prototype: Intl.ListFormat; supportedLocalesOf(locales: LocalesArgument, options?: Pick): string[]; } -> : ^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>ListFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.ListFormatOptions): Intl.ListFormat; prototype: Intl.ListFormat; supportedLocalesOf(locales: Intl.LocalesArgument, options?: Pick): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >[deDE, jaJP] : Intl.Locale[] > : ^^^^^^^^^^^^^ >deDE : Intl.Locale @@ -74,32 +74,32 @@ new Intl.ListFormat([deDE, jaJP]); Intl.ListFormat.supportedLocalesOf(enUS); >Intl.ListFormat.supportedLocalesOf(enUS) : string[] > : ^^^^^^^^ ->Intl.ListFormat.supportedLocalesOf : (locales: LocalesArgument, options?: Pick) => string[] -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^ ->Intl.ListFormat : { new (locales?: LocalesArgument, options?: ListFormatOptions): Intl.ListFormat; prototype: Intl.ListFormat; supportedLocalesOf(locales: LocalesArgument, options?: Pick): string[]; } -> : ^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>Intl.ListFormat.supportedLocalesOf : (locales: Intl.LocalesArgument, options?: Pick) => Intl.UnicodeBCP47LocaleIdentifier[] +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Intl.ListFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.ListFormatOptions): Intl.ListFormat; prototype: Intl.ListFormat; supportedLocalesOf(locales: Intl.LocalesArgument, options?: Pick): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->ListFormat : { new (locales?: LocalesArgument, options?: ListFormatOptions): Intl.ListFormat; prototype: Intl.ListFormat; supportedLocalesOf(locales: LocalesArgument, options?: Pick): string[]; } -> : ^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ->supportedLocalesOf : (locales: LocalesArgument, options?: Pick) => string[] -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^ +>ListFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.ListFormatOptions): Intl.ListFormat; prototype: Intl.ListFormat; supportedLocalesOf(locales: Intl.LocalesArgument, options?: Pick): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +>supportedLocalesOf : (locales: Intl.LocalesArgument, options?: Pick) => Intl.UnicodeBCP47LocaleIdentifier[] +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >enUS : Intl.Locale > : ^^^^^^^^^^^ Intl.ListFormat.supportedLocalesOf([deDE, jaJP]); >Intl.ListFormat.supportedLocalesOf([deDE, jaJP]) : string[] > : ^^^^^^^^ ->Intl.ListFormat.supportedLocalesOf : (locales: LocalesArgument, options?: Pick) => string[] -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^ ->Intl.ListFormat : { new (locales?: LocalesArgument, options?: ListFormatOptions): Intl.ListFormat; prototype: Intl.ListFormat; supportedLocalesOf(locales: LocalesArgument, options?: Pick): string[]; } -> : ^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>Intl.ListFormat.supportedLocalesOf : (locales: Intl.LocalesArgument, options?: Pick) => Intl.UnicodeBCP47LocaleIdentifier[] +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Intl.ListFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.ListFormatOptions): Intl.ListFormat; prototype: Intl.ListFormat; supportedLocalesOf(locales: Intl.LocalesArgument, options?: Pick): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->ListFormat : { new (locales?: LocalesArgument, options?: ListFormatOptions): Intl.ListFormat; prototype: Intl.ListFormat; supportedLocalesOf(locales: LocalesArgument, options?: Pick): string[]; } -> : ^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ->supportedLocalesOf : (locales: LocalesArgument, options?: Pick) => string[] -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^ +>ListFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.ListFormatOptions): Intl.ListFormat; prototype: Intl.ListFormat; supportedLocalesOf(locales: Intl.LocalesArgument, options?: Pick): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +>supportedLocalesOf : (locales: Intl.LocalesArgument, options?: Pick) => Intl.UnicodeBCP47LocaleIdentifier[] +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >[deDE, jaJP] : Intl.Locale[] > : ^^^^^^^^^^^^^ >deDE : Intl.Locale diff --git a/tests/baselines/reference/es2022IntlAPIs.types b/tests/baselines/reference/es2022IntlAPIs.types index c767ba76b74fc..2571a4c18b5a0 100644 --- a/tests/baselines/reference/es2022IntlAPIs.types +++ b/tests/baselines/reference/es2022IntlAPIs.types @@ -91,11 +91,11 @@ for (const key of enumerationKeys) { >Intl.supportedValuesOf(key) : string[] > : ^^^^^^^^ >Intl.supportedValuesOf : (key: "calendar" | "collation" | "currency" | "numberingSystem" | "timeZone" | "unit") => string[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ >supportedValuesOf : (key: "calendar" | "collation" | "currency" | "numberingSystem" | "timeZone" | "unit") => string[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >key : "calendar" | "collation" | "currency" | "numberingSystem" | "timeZone" | "unit" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/es2022LocalesObjectArgument.types b/tests/baselines/reference/es2022LocalesObjectArgument.types index 1ce7ac0d4f6ba..dac5f3fe598db 100644 --- a/tests/baselines/reference/es2022LocalesObjectArgument.types +++ b/tests/baselines/reference/es2022LocalesObjectArgument.types @@ -6,12 +6,12 @@ const enUS = new Intl.Locale("en-US"); > : ^^^^^^^^^^^ >new Intl.Locale("en-US") : Intl.Locale > : ^^^^^^^^^^^ ->Intl.Locale : new (tag: UnicodeBCP47LocaleIdentifier | Locale, options?: LocaleOptions) => Intl.Locale -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +>Intl.Locale : new (tag: Intl.UnicodeBCP47LocaleIdentifier | Intl.Locale, options?: Intl.LocaleOptions) => Intl.Locale +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->Locale : new (tag: UnicodeBCP47LocaleIdentifier | Locale, options?: LocaleOptions) => Intl.Locale -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +>Locale : new (tag: Intl.UnicodeBCP47LocaleIdentifier | Intl.Locale, options?: Intl.LocaleOptions) => Intl.Locale +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"en-US" : "en-US" > : ^^^^^^^ @@ -20,12 +20,12 @@ const deDE = new Intl.Locale("de-DE"); > : ^^^^^^^^^^^ >new Intl.Locale("de-DE") : Intl.Locale > : ^^^^^^^^^^^ ->Intl.Locale : new (tag: UnicodeBCP47LocaleIdentifier | Locale, options?: LocaleOptions) => Intl.Locale -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +>Intl.Locale : new (tag: Intl.UnicodeBCP47LocaleIdentifier | Intl.Locale, options?: Intl.LocaleOptions) => Intl.Locale +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->Locale : new (tag: UnicodeBCP47LocaleIdentifier | Locale, options?: LocaleOptions) => Intl.Locale -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +>Locale : new (tag: Intl.UnicodeBCP47LocaleIdentifier | Intl.Locale, options?: Intl.LocaleOptions) => Intl.Locale +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"de-DE" : "de-DE" > : ^^^^^^^ @@ -34,36 +34,36 @@ const jaJP = new Intl.Locale("ja-JP"); > : ^^^^^^^^^^^ >new Intl.Locale("ja-JP") : Intl.Locale > : ^^^^^^^^^^^ ->Intl.Locale : new (tag: UnicodeBCP47LocaleIdentifier | Locale, options?: LocaleOptions) => Intl.Locale -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +>Intl.Locale : new (tag: Intl.UnicodeBCP47LocaleIdentifier | Intl.Locale, options?: Intl.LocaleOptions) => Intl.Locale +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->Locale : new (tag: UnicodeBCP47LocaleIdentifier | Locale, options?: LocaleOptions) => Intl.Locale -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +>Locale : new (tag: Intl.UnicodeBCP47LocaleIdentifier | Intl.Locale, options?: Intl.LocaleOptions) => Intl.Locale +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"ja-JP" : "ja-JP" > : ^^^^^^^ new Intl.Segmenter(enUS); >new Intl.Segmenter(enUS) : Intl.Segmenter > : ^^^^^^^^^^^^^^ ->Intl.Segmenter : { new (locales?: LocalesArgument, options?: SegmenterOptions): Intl.Segmenter; prototype: Intl.Segmenter; supportedLocalesOf(locales: LocalesArgument, options?: Pick): string[]; } -> : ^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>Intl.Segmenter : { new (locales?: Intl.LocalesArgument, options?: Intl.SegmenterOptions): Intl.Segmenter; prototype: Intl.Segmenter; supportedLocalesOf(locales: Intl.LocalesArgument, options?: Pick): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->Segmenter : { new (locales?: LocalesArgument, options?: SegmenterOptions): Intl.Segmenter; prototype: Intl.Segmenter; supportedLocalesOf(locales: LocalesArgument, options?: Pick): string[]; } -> : ^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>Segmenter : { new (locales?: Intl.LocalesArgument, options?: Intl.SegmenterOptions): Intl.Segmenter; prototype: Intl.Segmenter; supportedLocalesOf(locales: Intl.LocalesArgument, options?: Pick): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >enUS : Intl.Locale > : ^^^^^^^^^^^ new Intl.Segmenter([deDE, jaJP]); >new Intl.Segmenter([deDE, jaJP]) : Intl.Segmenter > : ^^^^^^^^^^^^^^ ->Intl.Segmenter : { new (locales?: LocalesArgument, options?: SegmenterOptions): Intl.Segmenter; prototype: Intl.Segmenter; supportedLocalesOf(locales: LocalesArgument, options?: Pick): string[]; } -> : ^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>Intl.Segmenter : { new (locales?: Intl.LocalesArgument, options?: Intl.SegmenterOptions): Intl.Segmenter; prototype: Intl.Segmenter; supportedLocalesOf(locales: Intl.LocalesArgument, options?: Pick): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->Segmenter : { new (locales?: LocalesArgument, options?: SegmenterOptions): Intl.Segmenter; prototype: Intl.Segmenter; supportedLocalesOf(locales: LocalesArgument, options?: Pick): string[]; } -> : ^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>Segmenter : { new (locales?: Intl.LocalesArgument, options?: Intl.SegmenterOptions): Intl.Segmenter; prototype: Intl.Segmenter; supportedLocalesOf(locales: Intl.LocalesArgument, options?: Pick): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >[deDE, jaJP] : Intl.Locale[] > : ^^^^^^^^^^^^^ >deDE : Intl.Locale @@ -74,32 +74,32 @@ new Intl.Segmenter([deDE, jaJP]); Intl.Segmenter.supportedLocalesOf(enUS); >Intl.Segmenter.supportedLocalesOf(enUS) : string[] > : ^^^^^^^^ ->Intl.Segmenter.supportedLocalesOf : (locales: LocalesArgument, options?: Pick) => string[] -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^ ->Intl.Segmenter : { new (locales?: LocalesArgument, options?: SegmenterOptions): Intl.Segmenter; prototype: Intl.Segmenter; supportedLocalesOf(locales: LocalesArgument, options?: Pick): string[]; } -> : ^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>Intl.Segmenter.supportedLocalesOf : (locales: Intl.LocalesArgument, options?: Pick) => Intl.UnicodeBCP47LocaleIdentifier[] +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Intl.Segmenter : { new (locales?: Intl.LocalesArgument, options?: Intl.SegmenterOptions): Intl.Segmenter; prototype: Intl.Segmenter; supportedLocalesOf(locales: Intl.LocalesArgument, options?: Pick): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->Segmenter : { new (locales?: LocalesArgument, options?: SegmenterOptions): Intl.Segmenter; prototype: Intl.Segmenter; supportedLocalesOf(locales: LocalesArgument, options?: Pick): string[]; } -> : ^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ->supportedLocalesOf : (locales: LocalesArgument, options?: Pick) => string[] -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^ +>Segmenter : { new (locales?: Intl.LocalesArgument, options?: Intl.SegmenterOptions): Intl.Segmenter; prototype: Intl.Segmenter; supportedLocalesOf(locales: Intl.LocalesArgument, options?: Pick): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +>supportedLocalesOf : (locales: Intl.LocalesArgument, options?: Pick) => Intl.UnicodeBCP47LocaleIdentifier[] +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >enUS : Intl.Locale > : ^^^^^^^^^^^ Intl.Segmenter.supportedLocalesOf([deDE, jaJP]); >Intl.Segmenter.supportedLocalesOf([deDE, jaJP]) : string[] > : ^^^^^^^^ ->Intl.Segmenter.supportedLocalesOf : (locales: LocalesArgument, options?: Pick) => string[] -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^ ->Intl.Segmenter : { new (locales?: LocalesArgument, options?: SegmenterOptions): Intl.Segmenter; prototype: Intl.Segmenter; supportedLocalesOf(locales: LocalesArgument, options?: Pick): string[]; } -> : ^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>Intl.Segmenter.supportedLocalesOf : (locales: Intl.LocalesArgument, options?: Pick) => Intl.UnicodeBCP47LocaleIdentifier[] +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Intl.Segmenter : { new (locales?: Intl.LocalesArgument, options?: Intl.SegmenterOptions): Intl.Segmenter; prototype: Intl.Segmenter; supportedLocalesOf(locales: Intl.LocalesArgument, options?: Pick): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->Segmenter : { new (locales?: LocalesArgument, options?: SegmenterOptions): Intl.Segmenter; prototype: Intl.Segmenter; supportedLocalesOf(locales: LocalesArgument, options?: Pick): string[]; } -> : ^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ->supportedLocalesOf : (locales: LocalesArgument, options?: Pick) => string[] -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^ +>Segmenter : { new (locales?: Intl.LocalesArgument, options?: Intl.SegmenterOptions): Intl.Segmenter; prototype: Intl.Segmenter; supportedLocalesOf(locales: Intl.LocalesArgument, options?: Pick): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +>supportedLocalesOf : (locales: Intl.LocalesArgument, options?: Pick) => Intl.UnicodeBCP47LocaleIdentifier[] +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >[deDE, jaJP] : Intl.Locale[] > : ^^^^^^^^^^^^^ >deDE : Intl.Locale diff --git a/tests/baselines/reference/es2022SharedMemory.types b/tests/baselines/reference/es2022SharedMemory.types index 63a9980718ce9..134a43a0ddaae 100644 --- a/tests/baselines/reference/es2022SharedMemory.types +++ b/tests/baselines/reference/es2022SharedMemory.types @@ -63,11 +63,11 @@ const waitValue = Atomics.wait(int32, 0, 0); >Atomics.wait(int32, 0, 0) : "ok" | "not-equal" | "timed-out" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Atomics.wait : { (typedArray: Int32Array, index: number, value: number, timeout?: number): "ok" | "not-equal" | "timed-out"; (typedArray: BigInt64Array, index: number, value: bigint, timeout?: number): "ok" | "not-equal" | "timed-out"; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Atomics : Atomics > : ^^^^^^^ >wait : { (typedArray: Int32Array, index: number, value: number, timeout?: number): "ok" | "not-equal" | "timed-out"; (typedArray: BigInt64Array, index: number, value: bigint, timeout?: number): "ok" | "not-equal" | "timed-out"; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >int32 : Int32Array > : ^^^^^^^^^^ >0 : 0 @@ -81,13 +81,13 @@ const { async, value } = Atomics.waitAsync(int32, 0, 0); >value : "not-equal" | "timed-out" | Promise<"ok" | "timed-out"> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Atomics.waitAsync(int32, 0, 0) : { async: false; value: "not-equal" | "timed-out"; } | { async: true; value: Promise<"ok" | "timed-out">; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ >Atomics.waitAsync : { (typedArray: Int32Array, index: number, value: number, timeout?: number): { async: false; value: "not-equal" | "timed-out"; } | { async: true; value: Promise<"ok" | "timed-out">; }; (typedArray: BigInt64Array, index: number, value: bigint, timeout?: number): { async: false; value: "not-equal" | "timed-out"; } | { async: true; value: Promise<"ok" | "timed-out">; }; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Atomics : Atomics > : ^^^^^^^ >waitAsync : { (typedArray: Int32Array, index: number, value: number, timeout?: number): { async: false; value: "not-equal" | "timed-out"; } | { async: true; value: Promise<"ok" | "timed-out">; }; (typedArray: BigInt64Array, index: number, value: bigint, timeout?: number): { async: false; value: "not-equal" | "timed-out"; } | { async: true; value: Promise<"ok" | "timed-out">; }; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >int32 : Int32Array > : ^^^^^^^^^^ >0 : 0 @@ -105,13 +105,13 @@ const { async: async64, value: value64 } = Atomics.waitAsync(int64, 0, BigInt(0) >value64 : "not-equal" | "timed-out" | Promise<"ok" | "timed-out"> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Atomics.waitAsync(int64, 0, BigInt(0)) : { async: false; value: "not-equal" | "timed-out"; } | { async: true; value: Promise<"ok" | "timed-out">; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ >Atomics.waitAsync : { (typedArray: Int32Array, index: number, value: number, timeout?: number): { async: false; value: "not-equal" | "timed-out"; } | { async: true; value: Promise<"ok" | "timed-out">; }; (typedArray: BigInt64Array, index: number, value: bigint, timeout?: number): { async: false; value: "not-equal" | "timed-out"; } | { async: true; value: Promise<"ok" | "timed-out">; }; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Atomics : Atomics > : ^^^^^^^ >waitAsync : { (typedArray: Int32Array, index: number, value: number, timeout?: number): { async: false; value: "not-equal" | "timed-out"; } | { async: true; value: Promise<"ok" | "timed-out">; }; (typedArray: BigInt64Array, index: number, value: bigint, timeout?: number): { async: false; value: "not-equal" | "timed-out"; } | { async: true; value: Promise<"ok" | "timed-out">; }; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >int64 : BigInt64Array > : ^^^^^^^^^^^^^ >0 : 0 diff --git a/tests/baselines/reference/es5-asyncFunctionLongObjectLiteral.types b/tests/baselines/reference/es5-asyncFunctionLongObjectLiteral.types index ecb3ec74912f3..f748106248d0e 100644 --- a/tests/baselines/reference/es5-asyncFunctionLongObjectLiteral.types +++ b/tests/baselines/reference/es5-asyncFunctionLongObjectLiteral.types @@ -20,12 +20,12 @@ const fooShort = async () => { > : ^^^^^^ >Promise.resolve(0) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >0 : 0 > : ^ @@ -36,12 +36,12 @@ const fooShort = async () => { > : ^^^^^^ >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -52,12 +52,12 @@ const fooShort = async () => { > : ^^^^^^ >Promise.resolve(2) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >2 : 2 > : ^ @@ -68,12 +68,12 @@ const fooShort = async () => { > : ^^^^^^ >Promise.resolve(3) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >3 : 3 > : ^ @@ -84,12 +84,12 @@ const fooShort = async () => { > : ^^^^^^ >Promise.resolve(4) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >4 : 4 > : ^ @@ -113,12 +113,12 @@ const fooLong = async () => { > : ^^^^^^ >Promise.resolve(0) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >0 : 0 > : ^ @@ -129,12 +129,12 @@ const fooLong = async () => { > : ^^^^^^ >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -145,12 +145,12 @@ const fooLong = async () => { > : ^^^^^^ >Promise.resolve(2) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >2 : 2 > : ^ @@ -161,12 +161,12 @@ const fooLong = async () => { > : ^^^^^^ >Promise.resolve(3) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >3 : 3 > : ^ @@ -177,12 +177,12 @@ const fooLong = async () => { > : ^^^^^^ >Promise.resolve(4) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >4 : 4 > : ^ @@ -193,12 +193,12 @@ const fooLong = async () => { > : ^^^^^^ >Promise.resolve(5) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >5 : 5 > : ^ @@ -209,12 +209,12 @@ const fooLong = async () => { > : ^^^^^^ >Promise.resolve(6) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >6 : 6 > : ^ @@ -225,12 +225,12 @@ const fooLong = async () => { > : ^^^^^^ >Promise.resolve(7) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >7 : 7 > : ^ @@ -241,12 +241,12 @@ const fooLong = async () => { > : ^^^^^^ >Promise.resolve(8) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >8 : 8 > : ^ @@ -257,12 +257,12 @@ const fooLong = async () => { > : ^^^^^^ >Promise.resolve(9) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >9 : 9 > : ^ diff --git a/tests/baselines/reference/es5DateAPIs.types b/tests/baselines/reference/es5DateAPIs.types index 1e7efe39951e7..6642dddc014a8 100644 --- a/tests/baselines/reference/es5DateAPIs.types +++ b/tests/baselines/reference/es5DateAPIs.types @@ -5,11 +5,11 @@ Date.UTC(2017); // should error >Date.UTC(2017) : number > : ^^^^^^ >Date.UTC : (year: number, monthIndex: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number) => number -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >Date : DateConstructor > : ^^^^^^^^^^^^^^^ >UTC : (year: number, monthIndex: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number) => number -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >2017 : 2017 > : ^^^^ diff --git a/tests/baselines/reference/es5ExportDefaultFunctionDeclaration3.types b/tests/baselines/reference/es5ExportDefaultFunctionDeclaration3.types index 85be1d5d2677d..eafe9231ab4f5 100644 --- a/tests/baselines/reference/es5ExportDefaultFunctionDeclaration3.types +++ b/tests/baselines/reference/es5ExportDefaultFunctionDeclaration3.types @@ -3,13 +3,13 @@ === es5ExportDefaultFunctionDeclaration3.ts === var before: typeof func = func(); >before : () => typeof func -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >func : () => typeof func -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >func() : () => typeof func -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >func : () => typeof func -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ export default function func(): typeof func { >func : () => typeof func @@ -19,16 +19,16 @@ export default function func(): typeof func { return func; >func : () => typeof func -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ } var after: typeof func = func(); >after : () => typeof func -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >func : () => typeof func -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >func() : () => typeof func -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >func : () => typeof func -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/es5ExportDefaultFunctionDeclaration4.types b/tests/baselines/reference/es5ExportDefaultFunctionDeclaration4.types index 7a75994016e7f..780a7ff18a755 100644 --- a/tests/baselines/reference/es5ExportDefaultFunctionDeclaration4.types +++ b/tests/baselines/reference/es5ExportDefaultFunctionDeclaration4.types @@ -7,9 +7,9 @@ declare module "bar" { var before: typeof func; >before : () => typeof func -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >func : () => typeof func -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ export default function func(): typeof func; >func : () => typeof func @@ -19,7 +19,7 @@ declare module "bar" { var after: typeof func; >after : () => typeof func -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >func : () => typeof func -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/es6ClassTest2.types b/tests/baselines/reference/es6ClassTest2.types index 615e3c4de91d3..0c12479039a9a 100644 --- a/tests/baselines/reference/es6ClassTest2.types +++ b/tests/baselines/reference/es6ClassTest2.types @@ -80,11 +80,11 @@ console.log((m5.isAlive).toString()); >console.log((m5.isAlive).toString()) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >(m5.isAlive).toString() : any >(m5.isAlive).toString : any >(m5.isAlive) : any diff --git a/tests/baselines/reference/es6ClassTest8.types b/tests/baselines/reference/es6ClassTest8.types index 8d7519e264616..905a6a754646e 100644 --- a/tests/baselines/reference/es6ClassTest8.types +++ b/tests/baselines/reference/es6ClassTest8.types @@ -143,19 +143,19 @@ class Camera { >Vector.norm(Vector.minus(lookAt,this.pos)) : Vector > : ^^^^^^ >Vector.norm : (v: Vector) => Vector -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Vector : typeof Vector > : ^^^^^^^^^^^^^ >norm : (v: Vector) => Vector -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Vector.minus(lookAt,this.pos) : Vector > : ^^^^^^ >Vector.minus : (v1: Vector, v2: Vector) => Vector -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >Vector : typeof Vector > : ^^^^^^^^^^^^^ >minus : (v1: Vector, v2: Vector) => Vector -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >lookAt : Vector > : ^^^^^^ >this.pos : Vector @@ -177,29 +177,29 @@ class Camera { >Vector.times(down, Vector.norm(Vector.cross(this.forward, down))) : Vector > : ^^^^^^ >Vector.times : (v1: Vector, v2: Vector) => Vector -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >Vector : typeof Vector > : ^^^^^^^^^^^^^ >times : (v1: Vector, v2: Vector) => Vector -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >down : Vector > : ^^^^^^ >Vector.norm(Vector.cross(this.forward, down)) : Vector > : ^^^^^^ >Vector.norm : (v: Vector) => Vector -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Vector : typeof Vector > : ^^^^^^^^^^^^^ >norm : (v: Vector) => Vector -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Vector.cross(this.forward, down) : Vector > : ^^^^^^ >Vector.cross : (v1: Vector, v2: Vector) => Vector -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >Vector : typeof Vector > : ^^^^^^^^^^^^^ >cross : (v1: Vector, v2: Vector) => Vector -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this.forward : Vector > : ^^^^^^ >this : this @@ -221,29 +221,29 @@ class Camera { >Vector.times(down, Vector.norm(Vector.cross(this.forward, this.right))) : Vector > : ^^^^^^ >Vector.times : (v1: Vector, v2: Vector) => Vector -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >Vector : typeof Vector > : ^^^^^^^^^^^^^ >times : (v1: Vector, v2: Vector) => Vector -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >down : Vector > : ^^^^^^ >Vector.norm(Vector.cross(this.forward, this.right)) : Vector > : ^^^^^^ >Vector.norm : (v: Vector) => Vector -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Vector : typeof Vector > : ^^^^^^^^^^^^^ >norm : (v: Vector) => Vector -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Vector.cross(this.forward, this.right) : Vector > : ^^^^^^ >Vector.cross : (v1: Vector, v2: Vector) => Vector -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >Vector : typeof Vector > : ^^^^^^^^^^^^^ >cross : (v1: Vector, v2: Vector) => Vector -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this.forward : Vector > : ^^^^^^ >this : this diff --git a/tests/baselines/reference/es6ExportEqualsInterop.types b/tests/baselines/reference/es6ExportEqualsInterop.types index 12b0a92df2a2d..33f9ff158249c 100644 --- a/tests/baselines/reference/es6ExportEqualsInterop.types +++ b/tests/baselines/reference/es6ExportEqualsInterop.types @@ -10,11 +10,11 @@ import z1 = require("interface"); import z2 = require("variable"); >z2 : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ import z3 = require("interface-variable"); >z3 : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ import z4 = require("module"); >z4 : typeof z4 @@ -26,7 +26,7 @@ import z5 = require("interface-module"); import z6 = require("variable-module"); >z6 : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ import z7 = require("function"); >z7 : () => any @@ -56,7 +56,7 @@ z2.a; >z2.a : number > : ^^^^^^ >z2 : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >a : number > : ^^^^^^ @@ -64,7 +64,7 @@ z3.a; >z3.a : number > : ^^^^^^ >z3 : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >a : number > : ^^^^^^ @@ -88,7 +88,7 @@ z6.a; >z6.a : number > : ^^^^^^ >z6 : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >a : number > : ^^^^^^ @@ -172,11 +172,11 @@ import * as y1 from "interface"; import * as y2 from "variable"; >y2 : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ import * as y3 from "interface-variable"; >y3 : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ import * as y4 from "module"; >y4 : typeof z4 @@ -188,7 +188,7 @@ import * as y5 from "interface-module"; import * as y6 from "variable-module"; >y6 : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ import * as y7 from "function"; >y7 : () => any @@ -218,7 +218,7 @@ y2.a; >y2.a : number > : ^^^^^^ >y2 : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >a : number > : ^^^^^^ @@ -226,7 +226,7 @@ y3.a; >y3.a : number > : ^^^^^^ >y3 : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >a : number > : ^^^^^^ @@ -250,7 +250,7 @@ y6.a; >y6.a : number > : ^^^^^^ >y6 : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >a : number > : ^^^^^^ @@ -497,7 +497,7 @@ declare module "variable" { } export = Foo; >Foo : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ } declare module "interface-variable" { @@ -610,7 +610,7 @@ declare module "variable-module" { } export = Foo; >Foo : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ } declare module "function" { diff --git a/tests/baselines/reference/es6ImportWithJsDocTags.types b/tests/baselines/reference/es6ImportWithJsDocTags.types index 4e5b3c0551177..442c62b640590 100644 --- a/tests/baselines/reference/es6ImportWithJsDocTags.types +++ b/tests/baselines/reference/es6ImportWithJsDocTags.types @@ -22,11 +22,11 @@ console.log(foo); >console.log(foo) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >foo : 1 > : ^ diff --git a/tests/baselines/reference/es6UseOfTopLevelRequire.types b/tests/baselines/reference/es6UseOfTopLevelRequire.types index b31d0ad872328..253adb541dc1a 100644 --- a/tests/baselines/reference/es6UseOfTopLevelRequire.types +++ b/tests/baselines/reference/es6UseOfTopLevelRequire.types @@ -3,13 +3,13 @@ === a.ts === import require from "./b" >require : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ require("arg"); >require("arg") : void > : ^^^^ >require : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"arg" : "arg" > : ^^^^^ diff --git a/tests/baselines/reference/es6modulekindWithES5Target.types b/tests/baselines/reference/es6modulekindWithES5Target.types index 357c636f4b91d..18c9759025361 100644 --- a/tests/baselines/reference/es6modulekindWithES5Target.types +++ b/tests/baselines/reference/es6modulekindWithES5Target.types @@ -35,7 +35,7 @@ declare function foo(...args: any[]): any; @foo >foo : (...args: any[]) => any -> : ^^^^ ^^ ^^^^^^^^ +> : ^^^^ ^^ ^^^^^ export class D { >D : D diff --git a/tests/baselines/reference/es6modulekindWithES5Target11.types b/tests/baselines/reference/es6modulekindWithES5Target11.types index cf5b6ac83f465..2ea1183b8781f 100644 --- a/tests/baselines/reference/es6modulekindWithES5Target11.types +++ b/tests/baselines/reference/es6modulekindWithES5Target11.types @@ -9,7 +9,7 @@ declare function foo(...args: any[]): any; @foo >foo : (...args: any[]) => any -> : ^^^^ ^^ ^^^^^^^^ +> : ^^^^ ^^ ^^^^^ export default class C { >C : C diff --git a/tests/baselines/reference/es6modulekindWithES5Target3.types b/tests/baselines/reference/es6modulekindWithES5Target3.types index b30ff3c51de91..9ae61ca799f15 100644 --- a/tests/baselines/reference/es6modulekindWithES5Target3.types +++ b/tests/baselines/reference/es6modulekindWithES5Target3.types @@ -9,7 +9,7 @@ declare function foo(...args: any[]): any; @foo >foo : (...args: any[]) => any -> : ^^^^ ^^ ^^^^^^^^ +> : ^^^^ ^^ ^^^^^ export default class D { >D : D diff --git a/tests/baselines/reference/esDecorators-classDeclaration-commentPreservation(module=commonjs,target=es2022).js b/tests/baselines/reference/esDecorators-classDeclaration-commentPreservation(module=commonjs,target=es2022).js index d187a927e2334..a7b585e5678c1 100644 --- a/tests/baselines/reference/esDecorators-classDeclaration-commentPreservation(module=commonjs,target=es2022).js +++ b/tests/baselines/reference/esDecorators-classDeclaration-commentPreservation(module=commonjs,target=es2022).js @@ -189,10 +189,10 @@ let C = (() => { set x(value) { } /*13*/ y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, 1)); - #z_accessor_storage = (__runInitializers(this, _y_extraInitializers), __runInitializers(this, _z_initializers, 1)); + #z_1_accessor_storage = (__runInitializers(this, _y_extraInitializers), __runInitializers(this, _z_initializers, 1)); /*16*/ - get z() { return this.#z_accessor_storage; } - set z(value) { this.#z_accessor_storage = value; } + get z() { return this.#z_1_accessor_storage; } + set z(value) { this.#z_1_accessor_storage = value; } static { /*28*/ _C_y = { value: (__runInitializers(_classThis, _staticExtraInitializers), __runInitializers(_classThis, _static_private_y_initializers, 1)) }; diff --git a/tests/baselines/reference/esDecorators-classDeclaration-commentPreservation(module=esnext,target=es2022).js b/tests/baselines/reference/esDecorators-classDeclaration-commentPreservation(module=esnext,target=es2022).js index cbb7239daf266..07a163354c17e 100644 --- a/tests/baselines/reference/esDecorators-classDeclaration-commentPreservation(module=esnext,target=es2022).js +++ b/tests/baselines/reference/esDecorators-classDeclaration-commentPreservation(module=esnext,target=es2022).js @@ -189,10 +189,10 @@ let C = (() => { set x(value) { } /*13*/ y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, 1)); - #z_accessor_storage = (__runInitializers(this, _y_extraInitializers), __runInitializers(this, _z_initializers, 1)); + #z_1_accessor_storage = (__runInitializers(this, _y_extraInitializers), __runInitializers(this, _z_initializers, 1)); /*16*/ - get z() { return this.#z_accessor_storage; } - set z(value) { this.#z_accessor_storage = value; } + get z() { return this.#z_1_accessor_storage; } + set z(value) { this.#z_1_accessor_storage = value; } static { /*28*/ _C_y = { value: (__runInitializers(_classThis, _staticExtraInitializers), __runInitializers(_classThis, _static_private_y_initializers, 1)) }; diff --git a/tests/baselines/reference/esDecorators-classDeclaration-sourceMap(target=es2022).js b/tests/baselines/reference/esDecorators-classDeclaration-sourceMap(target=es2022).js index b2487b3a07105..ab0a43f6b02e1 100644 --- a/tests/baselines/reference/esDecorators-classDeclaration-sourceMap(target=es2022).js +++ b/tests/baselines/reference/esDecorators-classDeclaration-sourceMap(target=es2022).js @@ -166,9 +166,9 @@ let C = (() => { get x() { return 1; } set x(value) { } y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, 1)); - #z_accessor_storage = (__runInitializers(this, _y_extraInitializers), __runInitializers(this, _z_initializers, 1)); - get z() { return this.#z_accessor_storage; } - set z(value) { this.#z_accessor_storage = value; } + #z_1_accessor_storage = (__runInitializers(this, _y_extraInitializers), __runInitializers(this, _z_initializers, 1)); + get z() { return this.#z_1_accessor_storage; } + set z(value) { this.#z_1_accessor_storage = value; } static { _C_y = { value: (__runInitializers(_classThis, _staticExtraInitializers), __runInitializers(_classThis, _static_private_y_initializers, 1)) }; } diff --git a/tests/baselines/reference/esDecorators-classDeclaration-sourceMap(target=es2022).js.map b/tests/baselines/reference/esDecorators-classDeclaration-sourceMap(target=es2022).js.map index 2db1e0f3b12f3..b8f99545e64c7 100644 --- a/tests/baselines/reference/esDecorators-classDeclaration-sourceMap(target=es2022).js.map +++ b/tests/baselines/reference/esDecorators-classDeclaration-sourceMap(target=es2022).js.map @@ -1,6 +1,6 @@ //// [esDecorators-classDeclaration-sourceMap.js.map] -{"version":3,"file":"esDecorators-classDeclaration-sourceMap.js","sourceRoot":"","sources":["esDecorators-classDeclaration-sourceMap.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAIM,CAAC;;4BAFN,GAAG,EACH,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAEC,GAAG,EACH,GAAG;iCAGH,GAAG,EACH,GAAG;iCAGH,GAAG,EACH,GAAG;6BAGH,GAAG,EACH,GAAG;6BAGH,GAAG,EACH,GAAG;iDAGH,GAAG,EACH,GAAG;gDAGH,GAAG,EACH,GAAG;gDAGH,GAAG,EACH,GAAG;4CAGH,GAAG,EACH,GAAG;4CAGH,GAAG,EACH,GAAG;YAfJ,yDAAA,yBAAA,cAAkB,CAAC,YAAA,uSAAA;YAInB,wDAAA,uBAAA,cAAkB,OAAO,CAAC,CAAC,CAAC,CAAC,cAAA,4RAAA;YAI7B,wDAAA,uBAAA,UAAc,KAAa,IAAI,CAAC,cAAA,iTAAA;YAQhC,oDAAA,uBAAA,4FAAuB,cAAA,EAAvB,uBAAA,iGAAuB,cAAA,wZAAA;YApCvB,qKAAA,MAAM,6DAAK;YAIX,0JAAI,CAAC,6DAAgB;YAIrB,qKAAI,CAAC,wEAAmB;YAQxB,wJAAS,CAAC,6BAAD,CAAC,6EAAK;YAgBf,kaAAc;YApBd,qJAAA,CAAC,6BAAD,CAAC,6EAAK;YAfV,6KAwCC;;;;QArCG,MAAM,KAAI,CAAC;QAIX,IAAI,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;QAIrB,IAAI,CAAC,CAAC,KAAa,IAAI,CAAC;QAIxB,CAAC,IAfC,mDAAC,2CAeC,CAAC,GAAC;QAIN,+GAAa,CAAC,GAAC;QAAf,IAAS,CAAC,uCAAK;QAAf,IAAS,CAAC,6CAAK;;YAgBR,iBAnCL,uDAAC,gEAmCS,CAAC,IAAJ,CAAK;;;YAIE,oKAAK,CAAC,IAAJ,CAAK;;;;;;;YAvCrB,uDAAC"} -//// https://sokra.github.io/source-map-visualization#base64,dmFyIF9fcnVuSW5pdGlhbGl6ZXJzID0gKHRoaXMgJiYgdGhpcy5fX3J1bkluaXRpYWxpemVycykgfHwgZnVuY3Rpb24gKHRoaXNBcmcsIGluaXRpYWxpemVycywgdmFsdWUpIHsNCiAgICB2YXIgdXNlVmFsdWUgPSBhcmd1bWVudHMubGVuZ3RoID4gMjsNCiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGluaXRpYWxpemVycy5sZW5ndGg7IGkrKykgew0KICAgICAgICB2YWx1ZSA9IHVzZVZhbHVlID8gaW5pdGlhbGl6ZXJzW2ldLmNhbGwodGhpc0FyZywgdmFsdWUpIDogaW5pdGlhbGl6ZXJzW2ldLmNhbGwodGhpc0FyZyk7DQogICAgfQ0KICAgIHJldHVybiB1c2VWYWx1ZSA/IHZhbHVlIDogdm9pZCAwOw0KfTsNCnZhciBfX2VzRGVjb3JhdGUgPSAodGhpcyAmJiB0aGlzLl9fZXNEZWNvcmF0ZSkgfHwgZnVuY3Rpb24gKGN0b3IsIGRlc2NyaXB0b3JJbiwgZGVjb3JhdG9ycywgY29udGV4dEluLCBpbml0aWFsaXplcnMsIGV4dHJhSW5pdGlhbGl6ZXJzKSB7DQogICAgZnVuY3Rpb24gYWNjZXB0KGYpIHsgaWYgKGYgIT09IHZvaWQgMCAmJiB0eXBlb2YgZiAhPT0gImZ1bmN0aW9uIikgdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTsgcmV0dXJuIGY7IH0NCiAgICB2YXIga2luZCA9IGNvbnRleHRJbi5raW5kLCBrZXkgPSBraW5kID09PSAiZ2V0dGVyIiA/ICJnZXQiIDoga2luZCA9PT0gInNldHRlciIgPyAic2V0IiA6ICJ2YWx1ZSI7DQogICAgdmFyIHRhcmdldCA9ICFkZXNjcmlwdG9ySW4gJiYgY3RvciA/IGNvbnRleHRJblsic3RhdGljIl0gPyBjdG9yIDogY3Rvci5wcm90b3R5cGUgOiBudWxsOw0KICAgIHZhciBkZXNjcmlwdG9yID0gZGVzY3JpcHRvckluIHx8ICh0YXJnZXQgPyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldCwgY29udGV4dEluLm5hbWUpIDoge30pOw0KICAgIHZhciBfLCBkb25lID0gZmFsc2U7DQogICAgZm9yICh2YXIgaSA9IGRlY29yYXRvcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHsNCiAgICAgICAgdmFyIGNvbnRleHQgPSB7fTsNCiAgICAgICAgZm9yICh2YXIgcCBpbiBjb250ZXh0SW4pIGNvbnRleHRbcF0gPSBwID09PSAiYWNjZXNzIiA/IHt9IDogY29udGV4dEluW3BdOw0KICAgICAgICBmb3IgKHZhciBwIGluIGNvbnRleHRJbi5hY2Nlc3MpIGNvbnRleHQuYWNjZXNzW3BdID0gY29udGV4dEluLmFjY2Vzc1twXTsNCiAgICAgICAgY29udGV4dC5hZGRJbml0aWFsaXplciA9IGZ1bmN0aW9uIChmKSB7IGlmIChkb25lKSB0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTsgZXh0cmFJbml0aWFsaXplcnMucHVzaChhY2NlcHQoZiB8fCBudWxsKSk7IH07DQogICAgICAgIHZhciByZXN1bHQgPSAoMCwgZGVjb3JhdG9yc1tpXSkoa2luZCA9PT0gImFjY2Vzc29yIiA/IHsgZ2V0OiBkZXNjcmlwdG9yLmdldCwgc2V0OiBkZXNjcmlwdG9yLnNldCB9IDogZGVzY3JpcHRvcltrZXldLCBjb250ZXh0KTsNCiAgICAgICAgaWYgKGtpbmQgPT09ICJhY2Nlc3NvciIpIHsNCiAgICAgICAgICAgIGlmIChyZXN1bHQgPT09IHZvaWQgMCkgY29udGludWU7DQogICAgICAgICAgICBpZiAocmVzdWx0ID09PSBudWxsIHx8IHR5cGVvZiByZXN1bHQgIT09ICJvYmplY3QiKSB0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsNCiAgICAgICAgICAgIGlmIChfID0gYWNjZXB0KHJlc3VsdC5nZXQpKSBkZXNjcmlwdG9yLmdldCA9IF87DQogICAgICAgICAgICBpZiAoXyA9IGFjY2VwdChyZXN1bHQuc2V0KSkgZGVzY3JpcHRvci5zZXQgPSBfOw0KICAgICAgICAgICAgaWYgKF8gPSBhY2NlcHQocmVzdWx0LmluaXQpKSBpbml0aWFsaXplcnMudW5zaGlmdChfKTsNCiAgICAgICAgfQ0KICAgICAgICBlbHNlIGlmIChfID0gYWNjZXB0KHJlc3VsdCkpIHsNCiAgICAgICAgICAgIGlmIChraW5kID09PSAiZmllbGQiKSBpbml0aWFsaXplcnMudW5zaGlmdChfKTsNCiAgICAgICAgICAgIGVsc2UgZGVzY3JpcHRvcltrZXldID0gXzsNCiAgICAgICAgfQ0KICAgIH0NCiAgICBpZiAodGFyZ2V0KSBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBjb250ZXh0SW4ubmFtZSwgZGVzY3JpcHRvcik7DQogICAgZG9uZSA9IHRydWU7DQp9Ow0KdmFyIF9fc2V0RnVuY3Rpb25OYW1lID0gKHRoaXMgJiYgdGhpcy5fX3NldEZ1bmN0aW9uTmFtZSkgfHwgZnVuY3Rpb24gKGYsIG5hbWUsIHByZWZpeCkgew0KICAgIGlmICh0eXBlb2YgbmFtZSA9PT0gInN5bWJvbCIpIG5hbWUgPSBuYW1lLmRlc2NyaXB0aW9uID8gIlsiLmNvbmNhdChuYW1lLmRlc2NyaXB0aW9uLCAiXSIpIDogIiI7DQogICAgcmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShmLCAibmFtZSIsIHsgY29uZmlndXJhYmxlOiB0cnVlLCB2YWx1ZTogcHJlZml4ID8gIiIuY29uY2F0KHByZWZpeCwgIiAiLCBuYW1lKSA6IG5hbWUgfSk7DQp9Ow0KdmFyIF9fY2xhc3NQcml2YXRlRmllbGRJbiA9ICh0aGlzICYmIHRoaXMuX19jbGFzc1ByaXZhdGVGaWVsZEluKSB8fCBmdW5jdGlvbihzdGF0ZSwgcmVjZWl2ZXIpIHsNCiAgICBpZiAocmVjZWl2ZXIgPT09IG51bGwgfHwgKHR5cGVvZiByZWNlaXZlciAhPT0gIm9iamVjdCIgJiYgdHlwZW9mIHJlY2VpdmVyICE9PSAiZnVuY3Rpb24iKSkgdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IHVzZSAnaW4nIG9wZXJhdG9yIG9uIG5vbi1vYmplY3QiKTsNCiAgICByZXR1cm4gdHlwZW9mIHN0YXRlID09PSAiZnVuY3Rpb24iID8gcmVjZWl2ZXIgPT09IHN0YXRlIDogc3RhdGUuaGFzKHJlY2VpdmVyKTsNCn07DQp2YXIgX19jbGFzc1ByaXZhdGVGaWVsZEdldCA9ICh0aGlzICYmIHRoaXMuX19jbGFzc1ByaXZhdGVGaWVsZEdldCkgfHwgZnVuY3Rpb24gKHJlY2VpdmVyLCBzdGF0ZSwga2luZCwgZikgew0KICAgIGlmIChraW5kID09PSAiYSIgJiYgIWYpIHRocm93IG5ldyBUeXBlRXJyb3IoIlByaXZhdGUgYWNjZXNzb3Igd2FzIGRlZmluZWQgd2l0aG91dCBhIGdldHRlciIpOw0KICAgIGlmICh0eXBlb2Ygc3RhdGUgPT09ICJmdW5jdGlvbiIgPyByZWNlaXZlciAhPT0gc3RhdGUgfHwgIWYgOiAhc3RhdGUuaGFzKHJlY2VpdmVyKSkgdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IHJlYWQgcHJpdmF0ZSBtZW1iZXIgZnJvbSBhbiBvYmplY3Qgd2hvc2UgY2xhc3MgZGlkIG5vdCBkZWNsYXJlIGl0Iik7DQogICAgcmV0dXJuIGtpbmQgPT09ICJtIiA/IGYgOiBraW5kID09PSAiYSIgPyBmLmNhbGwocmVjZWl2ZXIpIDogZiA/IGYudmFsdWUgOiBzdGF0ZS5nZXQocmVjZWl2ZXIpOw0KfTsNCnZhciBfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0ID0gKHRoaXMgJiYgdGhpcy5fX2NsYXNzUHJpdmF0ZUZpZWxkU2V0KSB8fCBmdW5jdGlvbiAocmVjZWl2ZXIsIHN0YXRlLCB2YWx1ZSwga2luZCwgZikgew0KICAgIGlmIChraW5kID09PSAibSIpIHRocm93IG5ldyBUeXBlRXJyb3IoIlByaXZhdGUgbWV0aG9kIGlzIG5vdCB3cml0YWJsZSIpOw0KICAgIGlmIChraW5kID09PSAiYSIgJiYgIWYpIHRocm93IG5ldyBUeXBlRXJyb3IoIlByaXZhdGUgYWNjZXNzb3Igd2FzIGRlZmluZWQgd2l0aG91dCBhIHNldHRlciIpOw0KICAgIGlmICh0eXBlb2Ygc3RhdGUgPT09ICJmdW5jdGlvbiIgPyByZWNlaXZlciAhPT0gc3RhdGUgfHwgIWYgOiAhc3RhdGUuaGFzKHJlY2VpdmVyKSkgdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IHdyaXRlIHByaXZhdGUgbWVtYmVyIHRvIGFuIG9iamVjdCB3aG9zZSBjbGFzcyBkaWQgbm90IGRlY2xhcmUgaXQiKTsNCiAgICByZXR1cm4gKGtpbmQgPT09ICJhIiA/IGYuY2FsbChyZWNlaXZlciwgdmFsdWUpIDogZiA/IGYudmFsdWUgPSB2YWx1ZSA6IHN0YXRlLnNldChyZWNlaXZlciwgdmFsdWUpKSwgdmFsdWU7DQp9Ow0KbGV0IEMgPSAoKCkgPT4gew0KICAgIHZhciBfQ19tZXRob2RfZ2V0LCBfQ194X2dldCwgX0NfeF9zZXQsIF9DX3ksIF9DX3pfYWNjZXNzb3Jfc3RvcmFnZSwgX0Nfel9nZXQsIF9DX3pfc2V0Ow0KICAgIGxldCBfY2xhc3NEZWNvcmF0b3JzID0gW2RlYywgZGVjXTsNCiAgICBsZXQgX2NsYXNzRGVzY3JpcHRvcjsNCiAgICBsZXQgX2NsYXNzRXh0cmFJbml0aWFsaXplcnMgPSBbXTsNCiAgICBsZXQgX2NsYXNzVGhpczsNCiAgICBsZXQgX3N0YXRpY0V4dHJhSW5pdGlhbGl6ZXJzID0gW107DQogICAgbGV0IF9pbnN0YW5jZUV4dHJhSW5pdGlhbGl6ZXJzID0gW107DQogICAgbGV0IF9zdGF0aWNfcHJpdmF0ZV9tZXRob2RfZGVjb3JhdG9yczsNCiAgICBsZXQgX3N0YXRpY19wcml2YXRlX21ldGhvZF9kZXNjcmlwdG9yOw0KICAgIGxldCBfc3RhdGljX3ByaXZhdGVfZ2V0X3hfZGVjb3JhdG9yczsNCiAgICBsZXQgX3N0YXRpY19wcml2YXRlX2dldF94X2Rlc2NyaXB0b3I7DQogICAgbGV0IF9zdGF0aWNfcHJpdmF0ZV9zZXRfeF9kZWNvcmF0b3JzOw0KICAgIGxldCBfc3RhdGljX3ByaXZhdGVfc2V0X3hfZGVzY3JpcHRvcjsNCiAgICBsZXQgX3N0YXRpY19wcml2YXRlX3lfZGVjb3JhdG9yczsNCiAgICBsZXQgX3N0YXRpY19wcml2YXRlX3lfaW5pdGlhbGl6ZXJzID0gW107DQogICAgbGV0IF9zdGF0aWNfcHJpdmF0ZV95X2V4dHJhSW5pdGlhbGl6ZXJzID0gW107DQogICAgbGV0IF9zdGF0aWNfcHJpdmF0ZV96X2RlY29yYXRvcnM7DQogICAgbGV0IF9zdGF0aWNfcHJpdmF0ZV96X2luaXRpYWxpemVycyA9IFtdOw0KICAgIGxldCBfc3RhdGljX3ByaXZhdGVfel9leHRyYUluaXRpYWxpemVycyA9IFtdOw0KICAgIGxldCBfc3RhdGljX3ByaXZhdGVfel9kZXNjcmlwdG9yOw0KICAgIGxldCBfbWV0aG9kX2RlY29yYXRvcnM7DQogICAgbGV0IF9nZXRfeF9kZWNvcmF0b3JzOw0KICAgIGxldCBfc2V0X3hfZGVjb3JhdG9yczsNCiAgICBsZXQgX3lfZGVjb3JhdG9yczsNCiAgICBsZXQgX3lfaW5pdGlhbGl6ZXJzID0gW107DQogICAgbGV0IF95X2V4dHJhSW5pdGlhbGl6ZXJzID0gW107DQogICAgbGV0IF96X2RlY29yYXRvcnM7DQogICAgbGV0IF96X2luaXRpYWxpemVycyA9IFtdOw0KICAgIGxldCBfel9leHRyYUluaXRpYWxpemVycyA9IFtdOw0KICAgIHZhciBDID0gY2xhc3Mgew0KICAgICAgICBzdGF0aWMgeyBfY2xhc3NUaGlzID0gdGhpczsgfQ0KICAgICAgICBzdGF0aWMgeyBfX3NldEZ1bmN0aW9uTmFtZSh0aGlzLCAiQyIpOyB9DQogICAgICAgIHN0YXRpYyB7IF9DX21ldGhvZF9nZXQgPSBmdW5jdGlvbiBfQ19tZXRob2RfZ2V0KCkgeyByZXR1cm4gX3N0YXRpY19wcml2YXRlX21ldGhvZF9kZXNjcmlwdG9yLnZhbHVlOyB9LCBfQ194X2dldCA9IGZ1bmN0aW9uIF9DX3hfZ2V0KCkgeyByZXR1cm4gX3N0YXRpY19wcml2YXRlX2dldF94X2Rlc2NyaXB0b3IuZ2V0LmNhbGwodGhpcyk7IH0sIF9DX3hfc2V0ID0gZnVuY3Rpb24gX0NfeF9zZXQodmFsdWUpIHsgcmV0dXJuIF9zdGF0aWNfcHJpdmF0ZV9zZXRfeF9kZXNjcmlwdG9yLnNldC5jYWxsKHRoaXMsIHZhbHVlKTsgfSwgX0Nfel9nZXQgPSBmdW5jdGlvbiBfQ196X2dldCgpIHsgcmV0dXJuIF9zdGF0aWNfcHJpdmF0ZV96X2Rlc2NyaXB0b3IuZ2V0LmNhbGwodGhpcyk7IH0sIF9DX3pfc2V0ID0gZnVuY3Rpb24gX0Nfel9zZXQodmFsdWUpIHsgcmV0dXJuIF9zdGF0aWNfcHJpdmF0ZV96X2Rlc2NyaXB0b3Iuc2V0LmNhbGwodGhpcywgdmFsdWUpOyB9OyB9DQogICAgICAgIHN0YXRpYyB7DQogICAgICAgICAgICBjb25zdCBfbWV0YWRhdGEgPSB0eXBlb2YgU3ltYm9sID09PSAiZnVuY3Rpb24iICYmIFN5bWJvbC5tZXRhZGF0YSA/IE9iamVjdC5jcmVhdGUobnVsbCkgOiB2b2lkIDA7DQogICAgICAgICAgICBfbWV0aG9kX2RlY29yYXRvcnMgPSBbZGVjLCBkZWNdOw0KICAgICAgICAgICAgX2dldF94X2RlY29yYXRvcnMgPSBbZGVjLCBkZWNdOw0KICAgICAgICAgICAgX3NldF94X2RlY29yYXRvcnMgPSBbZGVjLCBkZWNdOw0KICAgICAgICAgICAgX3lfZGVjb3JhdG9ycyA9IFtkZWMsIGRlY107DQogICAgICAgICAgICBfel9kZWNvcmF0b3JzID0gW2RlYywgZGVjXTsNCiAgICAgICAgICAgIF9zdGF0aWNfcHJpdmF0ZV9tZXRob2RfZGVjb3JhdG9ycyA9IFtkZWMsIGRlY107DQogICAgICAgICAgICBfc3RhdGljX3ByaXZhdGVfZ2V0X3hfZGVjb3JhdG9ycyA9IFtkZWMsIGRlY107DQogICAgICAgICAgICBfc3RhdGljX3ByaXZhdGVfc2V0X3hfZGVjb3JhdG9ycyA9IFtkZWMsIGRlY107DQogICAgICAgICAgICBfc3RhdGljX3ByaXZhdGVfeV9kZWNvcmF0b3JzID0gW2RlYywgZGVjXTsNCiAgICAgICAgICAgIF9zdGF0aWNfcHJpdmF0ZV96X2RlY29yYXRvcnMgPSBbZGVjLCBkZWNdOw0KICAgICAgICAgICAgX19lc0RlY29yYXRlKHRoaXMsIF9zdGF0aWNfcHJpdmF0ZV9tZXRob2RfZGVzY3JpcHRvciA9IHsgdmFsdWU6IF9fc2V0RnVuY3Rpb25OYW1lKGZ1bmN0aW9uICgpIHsgfSwgIiNtZXRob2QiKSB9LCBfc3RhdGljX3ByaXZhdGVfbWV0aG9kX2RlY29yYXRvcnMsIHsga2luZDogIm1ldGhvZCIsIG5hbWU6ICIjbWV0aG9kIiwgc3RhdGljOiB0cnVlLCBwcml2YXRlOiB0cnVlLCBhY2Nlc3M6IHsgaGFzOiBvYmogPT4gX19jbGFzc1ByaXZhdGVGaWVsZEluKF9jbGFzc1RoaXMsIG9iaiksIGdldDogb2JqID0+IF9fY2xhc3NQcml2YXRlRmllbGRHZXQob2JqLCBfY2xhc3NUaGlzLCAiYSIsIF9DX21ldGhvZF9nZXQpIH0sIG1ldGFkYXRhOiBfbWV0YWRhdGEgfSwgbnVsbCwgX3N0YXRpY0V4dHJhSW5pdGlhbGl6ZXJzKTsNCiAgICAgICAgICAgIF9fZXNEZWNvcmF0ZSh0aGlzLCBfc3RhdGljX3ByaXZhdGVfZ2V0X3hfZGVzY3JpcHRvciA9IHsgZ2V0OiBfX3NldEZ1bmN0aW9uTmFtZShmdW5jdGlvbiAoKSB7IHJldHVybiAxOyB9LCAiI3giLCAiZ2V0IikgfSwgX3N0YXRpY19wcml2YXRlX2dldF94X2RlY29yYXRvcnMsIHsga2luZDogImdldHRlciIsIG5hbWU6ICIjeCIsIHN0YXRpYzogdHJ1ZSwgcHJpdmF0ZTogdHJ1ZSwgYWNjZXNzOiB7IGhhczogb2JqID0+IF9fY2xhc3NQcml2YXRlRmllbGRJbihfY2xhc3NUaGlzLCBvYmopLCBnZXQ6IG9iaiA9PiBfX2NsYXNzUHJpdmF0ZUZpZWxkR2V0KG9iaiwgX2NsYXNzVGhpcywgImEiLCBfQ194X2dldCkgfSwgbWV0YWRhdGE6IF9tZXRhZGF0YSB9LCBudWxsLCBfc3RhdGljRXh0cmFJbml0aWFsaXplcnMpOw0KICAgICAgICAgICAgX19lc0RlY29yYXRlKHRoaXMsIF9zdGF0aWNfcHJpdmF0ZV9zZXRfeF9kZXNjcmlwdG9yID0geyBzZXQ6IF9fc2V0RnVuY3Rpb25OYW1lKGZ1bmN0aW9uICh2YWx1ZSkgeyB9LCAiI3giLCAic2V0IikgfSwgX3N0YXRpY19wcml2YXRlX3NldF94X2RlY29yYXRvcnMsIHsga2luZDogInNldHRlciIsIG5hbWU6ICIjeCIsIHN0YXRpYzogdHJ1ZSwgcHJpdmF0ZTogdHJ1ZSwgYWNjZXNzOiB7IGhhczogb2JqID0+IF9fY2xhc3NQcml2YXRlRmllbGRJbihfY2xhc3NUaGlzLCBvYmopLCBzZXQ6IChvYmosIHZhbHVlKSA9PiB7IF9fY2xhc3NQcml2YXRlRmllbGRTZXQob2JqLCBfY2xhc3NUaGlzLCB2YWx1ZSwgImEiLCBfQ194X3NldCk7IH0gfSwgbWV0YWRhdGE6IF9tZXRhZGF0YSB9LCBudWxsLCBfc3RhdGljRXh0cmFJbml0aWFsaXplcnMpOw0KICAgICAgICAgICAgX19lc0RlY29yYXRlKHRoaXMsIF9zdGF0aWNfcHJpdmF0ZV96X2Rlc2NyaXB0b3IgPSB7IGdldDogX19zZXRGdW5jdGlvbk5hbWUoZnVuY3Rpb24gKCkgeyByZXR1cm4gX19jbGFzc1ByaXZhdGVGaWVsZEdldCh0aGlzLCBfY2xhc3NUaGlzLCAiZiIsIF9DX3pfYWNjZXNzb3Jfc3RvcmFnZSk7IH0sICIjeiIsICJnZXQiKSwgc2V0OiBfX3NldEZ1bmN0aW9uTmFtZShmdW5jdGlvbiAodmFsdWUpIHsgX19jbGFzc1ByaXZhdGVGaWVsZFNldCh0aGlzLCBfY2xhc3NUaGlzLCB2YWx1ZSwgImYiLCBfQ196X2FjY2Vzc29yX3N0b3JhZ2UpOyB9LCAiI3oiLCAic2V0IikgfSwgX3N0YXRpY19wcml2YXRlX3pfZGVjb3JhdG9ycywgeyBraW5kOiAiYWNjZXNzb3IiLCBuYW1lOiAiI3oiLCBzdGF0aWM6IHRydWUsIHByaXZhdGU6IHRydWUsIGFjY2VzczogeyBoYXM6IG9iaiA9PiBfX2NsYXNzUHJpdmF0ZUZpZWxkSW4oX2NsYXNzVGhpcywgb2JqKSwgZ2V0OiBvYmogPT4gX19jbGFzc1ByaXZhdGVGaWVsZEdldChvYmosIF9jbGFzc1RoaXMsICJhIiwgX0Nfel9nZXQpLCBzZXQ6IChvYmosIHZhbHVlKSA9PiB7IF9fY2xhc3NQcml2YXRlRmllbGRTZXQob2JqLCBfY2xhc3NUaGlzLCB2YWx1ZSwgImEiLCBfQ196X3NldCk7IH0gfSwgbWV0YWRhdGE6IF9tZXRhZGF0YSB9LCBfc3RhdGljX3ByaXZhdGVfel9pbml0aWFsaXplcnMsIF9zdGF0aWNfcHJpdmF0ZV96X2V4dHJhSW5pdGlhbGl6ZXJzKTsNCiAgICAgICAgICAgIF9fZXNEZWNvcmF0ZSh0aGlzLCBudWxsLCBfbWV0aG9kX2RlY29yYXRvcnMsIHsga2luZDogIm1ldGhvZCIsIG5hbWU6ICJtZXRob2QiLCBzdGF0aWM6IGZhbHNlLCBwcml2YXRlOiBmYWxzZSwgYWNjZXNzOiB7IGhhczogb2JqID0+ICJtZXRob2QiIGluIG9iaiwgZ2V0OiBvYmogPT4gb2JqLm1ldGhvZCB9LCBtZXRhZGF0YTogX21ldGFkYXRhIH0sIG51bGwsIF9pbnN0YW5jZUV4dHJhSW5pdGlhbGl6ZXJzKTsNCiAgICAgICAgICAgIF9fZXNEZWNvcmF0ZSh0aGlzLCBudWxsLCBfZ2V0X3hfZGVjb3JhdG9ycywgeyBraW5kOiAiZ2V0dGVyIiwgbmFtZTogIngiLCBzdGF0aWM6IGZhbHNlLCBwcml2YXRlOiBmYWxzZSwgYWNjZXNzOiB7IGhhczogb2JqID0+ICJ4IiBpbiBvYmosIGdldDogb2JqID0+IG9iai54IH0sIG1ldGFkYXRhOiBfbWV0YWRhdGEgfSwgbnVsbCwgX2luc3RhbmNlRXh0cmFJbml0aWFsaXplcnMpOw0KICAgICAgICAgICAgX19lc0RlY29yYXRlKHRoaXMsIG51bGwsIF9zZXRfeF9kZWNvcmF0b3JzLCB7IGtpbmQ6ICJzZXR0ZXIiLCBuYW1lOiAieCIsIHN0YXRpYzogZmFsc2UsIHByaXZhdGU6IGZhbHNlLCBhY2Nlc3M6IHsgaGFzOiBvYmogPT4gIngiIGluIG9iaiwgc2V0OiAob2JqLCB2YWx1ZSkgPT4geyBvYmoueCA9IHZhbHVlOyB9IH0sIG1ldGFkYXRhOiBfbWV0YWRhdGEgfSwgbnVsbCwgX2luc3RhbmNlRXh0cmFJbml0aWFsaXplcnMpOw0KICAgICAgICAgICAgX19lc0RlY29yYXRlKHRoaXMsIG51bGwsIF96X2RlY29yYXRvcnMsIHsga2luZDogImFjY2Vzc29yIiwgbmFtZTogInoiLCBzdGF0aWM6IGZhbHNlLCBwcml2YXRlOiBmYWxzZSwgYWNjZXNzOiB7IGhhczogb2JqID0+ICJ6IiBpbiBvYmosIGdldDogb2JqID0+IG9iai56LCBzZXQ6IChvYmosIHZhbHVlKSA9PiB7IG9iai56ID0gdmFsdWU7IH0gfSwgbWV0YWRhdGE6IF9tZXRhZGF0YSB9LCBfel9pbml0aWFsaXplcnMsIF96X2V4dHJhSW5pdGlhbGl6ZXJzKTsNCiAgICAgICAgICAgIF9fZXNEZWNvcmF0ZShudWxsLCBudWxsLCBfc3RhdGljX3ByaXZhdGVfeV9kZWNvcmF0b3JzLCB7IGtpbmQ6ICJmaWVsZCIsIG5hbWU6ICIjeSIsIHN0YXRpYzogdHJ1ZSwgcHJpdmF0ZTogdHJ1ZSwgYWNjZXNzOiB7IGhhczogb2JqID0+IF9fY2xhc3NQcml2YXRlRmllbGRJbihfY2xhc3NUaGlzLCBvYmopLCBnZXQ6IG9iaiA9PiBfX2NsYXNzUHJpdmF0ZUZpZWxkR2V0KG9iaiwgX2NsYXNzVGhpcywgImYiLCBfQ195KSwgc2V0OiAob2JqLCB2YWx1ZSkgPT4geyBfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0KG9iaiwgX2NsYXNzVGhpcywgdmFsdWUsICJmIiwgX0NfeSk7IH0gfSwgbWV0YWRhdGE6IF9tZXRhZGF0YSB9LCBfc3RhdGljX3ByaXZhdGVfeV9pbml0aWFsaXplcnMsIF9zdGF0aWNfcHJpdmF0ZV95X2V4dHJhSW5pdGlhbGl6ZXJzKTsNCiAgICAgICAgICAgIF9fZXNEZWNvcmF0ZShudWxsLCBudWxsLCBfeV9kZWNvcmF0b3JzLCB7IGtpbmQ6ICJmaWVsZCIsIG5hbWU6ICJ5Iiwgc3RhdGljOiBmYWxzZSwgcHJpdmF0ZTogZmFsc2UsIGFjY2VzczogeyBoYXM6IG9iaiA9PiAieSIgaW4gb2JqLCBnZXQ6IG9iaiA9PiBvYmoueSwgc2V0OiAob2JqLCB2YWx1ZSkgPT4geyBvYmoueSA9IHZhbHVlOyB9IH0sIG1ldGFkYXRhOiBfbWV0YWRhdGEgfSwgX3lfaW5pdGlhbGl6ZXJzLCBfeV9leHRyYUluaXRpYWxpemVycyk7DQogICAgICAgICAgICBfX2VzRGVjb3JhdGUobnVsbCwgX2NsYXNzRGVzY3JpcHRvciA9IHsgdmFsdWU6IF9jbGFzc1RoaXMgfSwgX2NsYXNzRGVjb3JhdG9ycywgeyBraW5kOiAiY2xhc3MiLCBuYW1lOiBfY2xhc3NUaGlzLm5hbWUsIG1ldGFkYXRhOiBfbWV0YWRhdGEgfSwgbnVsbCwgX2NsYXNzRXh0cmFJbml0aWFsaXplcnMpOw0KICAgICAgICAgICAgQyA9IF9jbGFzc1RoaXMgPSBfY2xhc3NEZXNjcmlwdG9yLnZhbHVlOw0KICAgICAgICAgICAgaWYgKF9tZXRhZGF0YSkgT2JqZWN0LmRlZmluZVByb3BlcnR5KF9jbGFzc1RoaXMsIFN5bWJvbC5tZXRhZGF0YSwgeyBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlLCB2YWx1ZTogX21ldGFkYXRhIH0pOw0KICAgICAgICB9DQogICAgICAgIG1ldGhvZCgpIHsgfQ0KICAgICAgICBnZXQgeCgpIHsgcmV0dXJuIDE7IH0NCiAgICAgICAgc2V0IHgodmFsdWUpIHsgfQ0KICAgICAgICB5ID0gKF9fcnVuSW5pdGlhbGl6ZXJzKHRoaXMsIF9pbnN0YW5jZUV4dHJhSW5pdGlhbGl6ZXJzKSwgX19ydW5Jbml0aWFsaXplcnModGhpcywgX3lfaW5pdGlhbGl6ZXJzLCAxKSk7DQogICAgICAgICN6X2FjY2Vzc29yX3N0b3JhZ2UgPSAoX19ydW5Jbml0aWFsaXplcnModGhpcywgX3lfZXh0cmFJbml0aWFsaXplcnMpLCBfX3J1bkluaXRpYWxpemVycyh0aGlzLCBfel9pbml0aWFsaXplcnMsIDEpKTsNCiAgICAgICAgZ2V0IHooKSB7IHJldHVybiB0aGlzLiN6X2FjY2Vzc29yX3N0b3JhZ2U7IH0NCiAgICAgICAgc2V0IHoodmFsdWUpIHsgdGhpcy4jel9hY2Nlc3Nvcl9zdG9yYWdlID0gdmFsdWU7IH0NCiAgICAgICAgc3RhdGljIHsNCiAgICAgICAgICAgIF9DX3kgPSB7IHZhbHVlOiAoX19ydW5Jbml0aWFsaXplcnMoX2NsYXNzVGhpcywgX3N0YXRpY0V4dHJhSW5pdGlhbGl6ZXJzKSwgX19ydW5Jbml0aWFsaXplcnMoX2NsYXNzVGhpcywgX3N0YXRpY19wcml2YXRlX3lfaW5pdGlhbGl6ZXJzLCAxKSkgfTsNCiAgICAgICAgfQ0KICAgICAgICBzdGF0aWMgew0KICAgICAgICAgICAgX0Nfel9hY2Nlc3Nvcl9zdG9yYWdlID0geyB2YWx1ZTogKF9fcnVuSW5pdGlhbGl6ZXJzKF9jbGFzc1RoaXMsIF9zdGF0aWNfcHJpdmF0ZV95X2V4dHJhSW5pdGlhbGl6ZXJzKSwgX19ydW5Jbml0aWFsaXplcnMoX2NsYXNzVGhpcywgX3N0YXRpY19wcml2YXRlX3pfaW5pdGlhbGl6ZXJzLCAxKSkgfTsNCiAgICAgICAgfQ0KICAgICAgICBjb25zdHJ1Y3RvcigpIHsNCiAgICAgICAgICAgIF9fcnVuSW5pdGlhbGl6ZXJzKHRoaXMsIF96X2V4dHJhSW5pdGlhbGl6ZXJzKTsNCiAgICAgICAgfQ0KICAgICAgICBzdGF0aWMgew0KICAgICAgICAgICAgX19ydW5Jbml0aWFsaXplcnMoX2NsYXNzVGhpcywgX3N0YXRpY19wcml2YXRlX3pfZXh0cmFJbml0aWFsaXplcnMpOw0KICAgICAgICAgICAgX19ydW5Jbml0aWFsaXplcnMoX2NsYXNzVGhpcywgX2NsYXNzRXh0cmFJbml0aWFsaXplcnMpOw0KICAgICAgICB9DQogICAgfTsNCiAgICByZXR1cm4gQyA9IF9jbGFzc1RoaXM7DQp9KSgpOw0KLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZXNEZWNvcmF0b3JzLWNsYXNzRGVjbGFyYXRpb24tc291cmNlTWFwLmpzLm1hcA==,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNEZWNvcmF0b3JzLWNsYXNzRGVjbGFyYXRpb24tc291cmNlTWFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZXNEZWNvcmF0b3JzLWNsYXNzRGVjbGFyYXRpb24tc291cmNlTWFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBSU0sQ0FBQzs7NEJBRk4sR0FBRyxFQUNILEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7a0NBRUMsR0FBRyxFQUNILEdBQUc7aUNBR0gsR0FBRyxFQUNILEdBQUc7aUNBR0gsR0FBRyxFQUNILEdBQUc7NkJBR0gsR0FBRyxFQUNILEdBQUc7NkJBR0gsR0FBRyxFQUNILEdBQUc7aURBR0gsR0FBRyxFQUNILEdBQUc7Z0RBR0gsR0FBRyxFQUNILEdBQUc7Z0RBR0gsR0FBRyxFQUNILEdBQUc7NENBR0gsR0FBRyxFQUNILEdBQUc7NENBR0gsR0FBRyxFQUNILEdBQUc7WUFmSix5REFBQSx5QkFBQSxjQUFrQixDQUFDLFlBQUEsdVNBQUE7WUFJbkIsd0RBQUEsdUJBQUEsY0FBa0IsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQUEsNFJBQUE7WUFJN0Isd0RBQUEsdUJBQUEsVUFBYyxLQUFhLElBQUksQ0FBQyxjQUFBLGlUQUFBO1lBUWhDLG9EQUFBLHVCQUFBLDRGQUF1QixjQUFBLEVBQXZCLHVCQUFBLGlHQUF1QixjQUFBLHdaQUFBO1lBcEN2QixxS0FBQSxNQUFNLDZEQUFLO1lBSVgsMEpBQUksQ0FBQyw2REFBZ0I7WUFJckIscUtBQUksQ0FBQyx3RUFBbUI7WUFReEIsd0pBQVMsQ0FBQyw2QkFBRCxDQUFDLDZFQUFLO1lBZ0JmLGthQUFjO1lBcEJkLHFKQUFBLENBQUMsNkJBQUQsQ0FBQyw2RUFBSztZQWZWLDZLQXdDQzs7OztRQXJDRyxNQUFNLEtBQUksQ0FBQztRQUlYLElBQUksQ0FBQyxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUlyQixJQUFJLENBQUMsQ0FBQyxLQUFhLElBQUksQ0FBQztRQUl4QixDQUFDLElBZkMsbURBQUMsMkNBZUMsQ0FBQyxHQUFDO1FBSU4sK0dBQWEsQ0FBQyxHQUFDO1FBQWYsSUFBUyxDQUFDLHVDQUFLO1FBQWYsSUFBUyxDQUFDLDZDQUFLOztZQWdCUixpQkFuQ0wsdURBQUMsZ0VBbUNTLENBQUMsSUFBSixDQUFLOzs7WUFJRSxvS0FBSyxDQUFDLElBQUosQ0FBSzs7Ozs7OztZQXZDckIsdURBQUMifQ==,ZGVjbGFyZSB2YXIgZGVjOiBhbnk7CgpAZGVjCkBkZWMKY2xhc3MgQyB7CiAgICBAZGVjCiAgICBAZGVjCiAgICBtZXRob2QoKSB7fQoKICAgIEBkZWMKICAgIEBkZWMKICAgIGdldCB4KCkgeyByZXR1cm4gMTsgfQoKICAgIEBkZWMKICAgIEBkZWMKICAgIHNldCB4KHZhbHVlOiBudW1iZXIpIHsgfQoKICAgIEBkZWMKICAgIEBkZWMKICAgIHkgPSAxOwoKICAgIEBkZWMKICAgIEBkZWMKICAgIGFjY2Vzc29yIHogPSAxOwoKICAgIEBkZWMKICAgIEBkZWMKICAgIHN0YXRpYyAjbWV0aG9kKCkge30KCiAgICBAZGVjCiAgICBAZGVjCiAgICBzdGF0aWMgZ2V0ICN4KCkgeyByZXR1cm4gMTsgfQoKICAgIEBkZWMKICAgIEBkZWMKICAgIHN0YXRpYyBzZXQgI3godmFsdWU6IG51bWJlcikgeyB9CgogICAgQGRlYwogICAgQGRlYwogICAgc3RhdGljICN5ID0gMTsKCiAgICBAZGVjCiAgICBAZGVjCiAgICBzdGF0aWMgYWNjZXNzb3IgI3ogPSAxOwp9Cg== +{"version":3,"file":"esDecorators-classDeclaration-sourceMap.js","sourceRoot":"","sources":["esDecorators-classDeclaration-sourceMap.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAIM,CAAC;;4BAFN,GAAG,EACH,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAEC,GAAG,EACH,GAAG;iCAGH,GAAG,EACH,GAAG;iCAGH,GAAG,EACH,GAAG;6BAGH,GAAG,EACH,GAAG;6BAGH,GAAG,EACH,GAAG;iDAGH,GAAG,EACH,GAAG;gDAGH,GAAG,EACH,GAAG;gDAGH,GAAG,EACH,GAAG;4CAGH,GAAG,EACH,GAAG;4CAGH,GAAG,EACH,GAAG;YAfJ,yDAAA,yBAAA,cAAkB,CAAC,YAAA,uSAAA;YAInB,wDAAA,uBAAA,cAAkB,OAAO,CAAC,CAAC,CAAC,CAAC,cAAA,4RAAA;YAI7B,wDAAA,uBAAA,UAAc,KAAa,IAAI,CAAC,cAAA,iTAAA;YAQhC,oDAAA,uBAAA,4FAAuB,cAAA,EAAvB,uBAAA,iGAAuB,cAAA,wZAAA;YApCvB,qKAAA,MAAM,6DAAK;YAIX,0JAAI,CAAC,6DAAgB;YAIrB,qKAAI,CAAC,wEAAmB;YAQxB,wJAAS,CAAC,6BAAD,CAAC,6EAAK;YAgBf,kaAAc;YApBd,qJAAA,CAAC,6BAAD,CAAC,6EAAK;YAfV,6KAwCC;;;;QArCG,MAAM,KAAI,CAAC;QAIX,IAAI,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;QAIrB,IAAI,CAAC,CAAC,KAAa,IAAI,CAAC;QAIxB,CAAC,IAfC,mDAAC,2CAeC,CAAC,GAAC;QAIN,iHAAa,CAAC,GAAC;QAAf,IAAS,CAAC,yCAAK;QAAf,IAAS,CAAC,+CAAK;;YAgBR,iBAnCL,uDAAC,gEAmCS,CAAC,IAAJ,CAAK;;;YAIE,oKAAK,CAAC,IAAJ,CAAK;;;;;;;YAvCrB,uDAAC"} +//// https://sokra.github.io/source-map-visualization#base64,dmFyIF9fcnVuSW5pdGlhbGl6ZXJzID0gKHRoaXMgJiYgdGhpcy5fX3J1bkluaXRpYWxpemVycykgfHwgZnVuY3Rpb24gKHRoaXNBcmcsIGluaXRpYWxpemVycywgdmFsdWUpIHsNCiAgICB2YXIgdXNlVmFsdWUgPSBhcmd1bWVudHMubGVuZ3RoID4gMjsNCiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGluaXRpYWxpemVycy5sZW5ndGg7IGkrKykgew0KICAgICAgICB2YWx1ZSA9IHVzZVZhbHVlID8gaW5pdGlhbGl6ZXJzW2ldLmNhbGwodGhpc0FyZywgdmFsdWUpIDogaW5pdGlhbGl6ZXJzW2ldLmNhbGwodGhpc0FyZyk7DQogICAgfQ0KICAgIHJldHVybiB1c2VWYWx1ZSA/IHZhbHVlIDogdm9pZCAwOw0KfTsNCnZhciBfX2VzRGVjb3JhdGUgPSAodGhpcyAmJiB0aGlzLl9fZXNEZWNvcmF0ZSkgfHwgZnVuY3Rpb24gKGN0b3IsIGRlc2NyaXB0b3JJbiwgZGVjb3JhdG9ycywgY29udGV4dEluLCBpbml0aWFsaXplcnMsIGV4dHJhSW5pdGlhbGl6ZXJzKSB7DQogICAgZnVuY3Rpb24gYWNjZXB0KGYpIHsgaWYgKGYgIT09IHZvaWQgMCAmJiB0eXBlb2YgZiAhPT0gImZ1bmN0aW9uIikgdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTsgcmV0dXJuIGY7IH0NCiAgICB2YXIga2luZCA9IGNvbnRleHRJbi5raW5kLCBrZXkgPSBraW5kID09PSAiZ2V0dGVyIiA/ICJnZXQiIDoga2luZCA9PT0gInNldHRlciIgPyAic2V0IiA6ICJ2YWx1ZSI7DQogICAgdmFyIHRhcmdldCA9ICFkZXNjcmlwdG9ySW4gJiYgY3RvciA/IGNvbnRleHRJblsic3RhdGljIl0gPyBjdG9yIDogY3Rvci5wcm90b3R5cGUgOiBudWxsOw0KICAgIHZhciBkZXNjcmlwdG9yID0gZGVzY3JpcHRvckluIHx8ICh0YXJnZXQgPyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldCwgY29udGV4dEluLm5hbWUpIDoge30pOw0KICAgIHZhciBfLCBkb25lID0gZmFsc2U7DQogICAgZm9yICh2YXIgaSA9IGRlY29yYXRvcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHsNCiAgICAgICAgdmFyIGNvbnRleHQgPSB7fTsNCiAgICAgICAgZm9yICh2YXIgcCBpbiBjb250ZXh0SW4pIGNvbnRleHRbcF0gPSBwID09PSAiYWNjZXNzIiA/IHt9IDogY29udGV4dEluW3BdOw0KICAgICAgICBmb3IgKHZhciBwIGluIGNvbnRleHRJbi5hY2Nlc3MpIGNvbnRleHQuYWNjZXNzW3BdID0gY29udGV4dEluLmFjY2Vzc1twXTsNCiAgICAgICAgY29udGV4dC5hZGRJbml0aWFsaXplciA9IGZ1bmN0aW9uIChmKSB7IGlmIChkb25lKSB0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTsgZXh0cmFJbml0aWFsaXplcnMucHVzaChhY2NlcHQoZiB8fCBudWxsKSk7IH07DQogICAgICAgIHZhciByZXN1bHQgPSAoMCwgZGVjb3JhdG9yc1tpXSkoa2luZCA9PT0gImFjY2Vzc29yIiA/IHsgZ2V0OiBkZXNjcmlwdG9yLmdldCwgc2V0OiBkZXNjcmlwdG9yLnNldCB9IDogZGVzY3JpcHRvcltrZXldLCBjb250ZXh0KTsNCiAgICAgICAgaWYgKGtpbmQgPT09ICJhY2Nlc3NvciIpIHsNCiAgICAgICAgICAgIGlmIChyZXN1bHQgPT09IHZvaWQgMCkgY29udGludWU7DQogICAgICAgICAgICBpZiAocmVzdWx0ID09PSBudWxsIHx8IHR5cGVvZiByZXN1bHQgIT09ICJvYmplY3QiKSB0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsNCiAgICAgICAgICAgIGlmIChfID0gYWNjZXB0KHJlc3VsdC5nZXQpKSBkZXNjcmlwdG9yLmdldCA9IF87DQogICAgICAgICAgICBpZiAoXyA9IGFjY2VwdChyZXN1bHQuc2V0KSkgZGVzY3JpcHRvci5zZXQgPSBfOw0KICAgICAgICAgICAgaWYgKF8gPSBhY2NlcHQocmVzdWx0LmluaXQpKSBpbml0aWFsaXplcnMudW5zaGlmdChfKTsNCiAgICAgICAgfQ0KICAgICAgICBlbHNlIGlmIChfID0gYWNjZXB0KHJlc3VsdCkpIHsNCiAgICAgICAgICAgIGlmIChraW5kID09PSAiZmllbGQiKSBpbml0aWFsaXplcnMudW5zaGlmdChfKTsNCiAgICAgICAgICAgIGVsc2UgZGVzY3JpcHRvcltrZXldID0gXzsNCiAgICAgICAgfQ0KICAgIH0NCiAgICBpZiAodGFyZ2V0KSBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBjb250ZXh0SW4ubmFtZSwgZGVzY3JpcHRvcik7DQogICAgZG9uZSA9IHRydWU7DQp9Ow0KdmFyIF9fc2V0RnVuY3Rpb25OYW1lID0gKHRoaXMgJiYgdGhpcy5fX3NldEZ1bmN0aW9uTmFtZSkgfHwgZnVuY3Rpb24gKGYsIG5hbWUsIHByZWZpeCkgew0KICAgIGlmICh0eXBlb2YgbmFtZSA9PT0gInN5bWJvbCIpIG5hbWUgPSBuYW1lLmRlc2NyaXB0aW9uID8gIlsiLmNvbmNhdChuYW1lLmRlc2NyaXB0aW9uLCAiXSIpIDogIiI7DQogICAgcmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShmLCAibmFtZSIsIHsgY29uZmlndXJhYmxlOiB0cnVlLCB2YWx1ZTogcHJlZml4ID8gIiIuY29uY2F0KHByZWZpeCwgIiAiLCBuYW1lKSA6IG5hbWUgfSk7DQp9Ow0KdmFyIF9fY2xhc3NQcml2YXRlRmllbGRJbiA9ICh0aGlzICYmIHRoaXMuX19jbGFzc1ByaXZhdGVGaWVsZEluKSB8fCBmdW5jdGlvbihzdGF0ZSwgcmVjZWl2ZXIpIHsNCiAgICBpZiAocmVjZWl2ZXIgPT09IG51bGwgfHwgKHR5cGVvZiByZWNlaXZlciAhPT0gIm9iamVjdCIgJiYgdHlwZW9mIHJlY2VpdmVyICE9PSAiZnVuY3Rpb24iKSkgdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IHVzZSAnaW4nIG9wZXJhdG9yIG9uIG5vbi1vYmplY3QiKTsNCiAgICByZXR1cm4gdHlwZW9mIHN0YXRlID09PSAiZnVuY3Rpb24iID8gcmVjZWl2ZXIgPT09IHN0YXRlIDogc3RhdGUuaGFzKHJlY2VpdmVyKTsNCn07DQp2YXIgX19jbGFzc1ByaXZhdGVGaWVsZEdldCA9ICh0aGlzICYmIHRoaXMuX19jbGFzc1ByaXZhdGVGaWVsZEdldCkgfHwgZnVuY3Rpb24gKHJlY2VpdmVyLCBzdGF0ZSwga2luZCwgZikgew0KICAgIGlmIChraW5kID09PSAiYSIgJiYgIWYpIHRocm93IG5ldyBUeXBlRXJyb3IoIlByaXZhdGUgYWNjZXNzb3Igd2FzIGRlZmluZWQgd2l0aG91dCBhIGdldHRlciIpOw0KICAgIGlmICh0eXBlb2Ygc3RhdGUgPT09ICJmdW5jdGlvbiIgPyByZWNlaXZlciAhPT0gc3RhdGUgfHwgIWYgOiAhc3RhdGUuaGFzKHJlY2VpdmVyKSkgdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IHJlYWQgcHJpdmF0ZSBtZW1iZXIgZnJvbSBhbiBvYmplY3Qgd2hvc2UgY2xhc3MgZGlkIG5vdCBkZWNsYXJlIGl0Iik7DQogICAgcmV0dXJuIGtpbmQgPT09ICJtIiA/IGYgOiBraW5kID09PSAiYSIgPyBmLmNhbGwocmVjZWl2ZXIpIDogZiA/IGYudmFsdWUgOiBzdGF0ZS5nZXQocmVjZWl2ZXIpOw0KfTsNCnZhciBfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0ID0gKHRoaXMgJiYgdGhpcy5fX2NsYXNzUHJpdmF0ZUZpZWxkU2V0KSB8fCBmdW5jdGlvbiAocmVjZWl2ZXIsIHN0YXRlLCB2YWx1ZSwga2luZCwgZikgew0KICAgIGlmIChraW5kID09PSAibSIpIHRocm93IG5ldyBUeXBlRXJyb3IoIlByaXZhdGUgbWV0aG9kIGlzIG5vdCB3cml0YWJsZSIpOw0KICAgIGlmIChraW5kID09PSAiYSIgJiYgIWYpIHRocm93IG5ldyBUeXBlRXJyb3IoIlByaXZhdGUgYWNjZXNzb3Igd2FzIGRlZmluZWQgd2l0aG91dCBhIHNldHRlciIpOw0KICAgIGlmICh0eXBlb2Ygc3RhdGUgPT09ICJmdW5jdGlvbiIgPyByZWNlaXZlciAhPT0gc3RhdGUgfHwgIWYgOiAhc3RhdGUuaGFzKHJlY2VpdmVyKSkgdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IHdyaXRlIHByaXZhdGUgbWVtYmVyIHRvIGFuIG9iamVjdCB3aG9zZSBjbGFzcyBkaWQgbm90IGRlY2xhcmUgaXQiKTsNCiAgICByZXR1cm4gKGtpbmQgPT09ICJhIiA/IGYuY2FsbChyZWNlaXZlciwgdmFsdWUpIDogZiA/IGYudmFsdWUgPSB2YWx1ZSA6IHN0YXRlLnNldChyZWNlaXZlciwgdmFsdWUpKSwgdmFsdWU7DQp9Ow0KbGV0IEMgPSAoKCkgPT4gew0KICAgIHZhciBfQ19tZXRob2RfZ2V0LCBfQ194X2dldCwgX0NfeF9zZXQsIF9DX3ksIF9DX3pfYWNjZXNzb3Jfc3RvcmFnZSwgX0Nfel9nZXQsIF9DX3pfc2V0Ow0KICAgIGxldCBfY2xhc3NEZWNvcmF0b3JzID0gW2RlYywgZGVjXTsNCiAgICBsZXQgX2NsYXNzRGVzY3JpcHRvcjsNCiAgICBsZXQgX2NsYXNzRXh0cmFJbml0aWFsaXplcnMgPSBbXTsNCiAgICBsZXQgX2NsYXNzVGhpczsNCiAgICBsZXQgX3N0YXRpY0V4dHJhSW5pdGlhbGl6ZXJzID0gW107DQogICAgbGV0IF9pbnN0YW5jZUV4dHJhSW5pdGlhbGl6ZXJzID0gW107DQogICAgbGV0IF9zdGF0aWNfcHJpdmF0ZV9tZXRob2RfZGVjb3JhdG9yczsNCiAgICBsZXQgX3N0YXRpY19wcml2YXRlX21ldGhvZF9kZXNjcmlwdG9yOw0KICAgIGxldCBfc3RhdGljX3ByaXZhdGVfZ2V0X3hfZGVjb3JhdG9yczsNCiAgICBsZXQgX3N0YXRpY19wcml2YXRlX2dldF94X2Rlc2NyaXB0b3I7DQogICAgbGV0IF9zdGF0aWNfcHJpdmF0ZV9zZXRfeF9kZWNvcmF0b3JzOw0KICAgIGxldCBfc3RhdGljX3ByaXZhdGVfc2V0X3hfZGVzY3JpcHRvcjsNCiAgICBsZXQgX3N0YXRpY19wcml2YXRlX3lfZGVjb3JhdG9yczsNCiAgICBsZXQgX3N0YXRpY19wcml2YXRlX3lfaW5pdGlhbGl6ZXJzID0gW107DQogICAgbGV0IF9zdGF0aWNfcHJpdmF0ZV95X2V4dHJhSW5pdGlhbGl6ZXJzID0gW107DQogICAgbGV0IF9zdGF0aWNfcHJpdmF0ZV96X2RlY29yYXRvcnM7DQogICAgbGV0IF9zdGF0aWNfcHJpdmF0ZV96X2luaXRpYWxpemVycyA9IFtdOw0KICAgIGxldCBfc3RhdGljX3ByaXZhdGVfel9leHRyYUluaXRpYWxpemVycyA9IFtdOw0KICAgIGxldCBfc3RhdGljX3ByaXZhdGVfel9kZXNjcmlwdG9yOw0KICAgIGxldCBfbWV0aG9kX2RlY29yYXRvcnM7DQogICAgbGV0IF9nZXRfeF9kZWNvcmF0b3JzOw0KICAgIGxldCBfc2V0X3hfZGVjb3JhdG9yczsNCiAgICBsZXQgX3lfZGVjb3JhdG9yczsNCiAgICBsZXQgX3lfaW5pdGlhbGl6ZXJzID0gW107DQogICAgbGV0IF95X2V4dHJhSW5pdGlhbGl6ZXJzID0gW107DQogICAgbGV0IF96X2RlY29yYXRvcnM7DQogICAgbGV0IF96X2luaXRpYWxpemVycyA9IFtdOw0KICAgIGxldCBfel9leHRyYUluaXRpYWxpemVycyA9IFtdOw0KICAgIHZhciBDID0gY2xhc3Mgew0KICAgICAgICBzdGF0aWMgeyBfY2xhc3NUaGlzID0gdGhpczsgfQ0KICAgICAgICBzdGF0aWMgeyBfX3NldEZ1bmN0aW9uTmFtZSh0aGlzLCAiQyIpOyB9DQogICAgICAgIHN0YXRpYyB7IF9DX21ldGhvZF9nZXQgPSBmdW5jdGlvbiBfQ19tZXRob2RfZ2V0KCkgeyByZXR1cm4gX3N0YXRpY19wcml2YXRlX21ldGhvZF9kZXNjcmlwdG9yLnZhbHVlOyB9LCBfQ194X2dldCA9IGZ1bmN0aW9uIF9DX3hfZ2V0KCkgeyByZXR1cm4gX3N0YXRpY19wcml2YXRlX2dldF94X2Rlc2NyaXB0b3IuZ2V0LmNhbGwodGhpcyk7IH0sIF9DX3hfc2V0ID0gZnVuY3Rpb24gX0NfeF9zZXQodmFsdWUpIHsgcmV0dXJuIF9zdGF0aWNfcHJpdmF0ZV9zZXRfeF9kZXNjcmlwdG9yLnNldC5jYWxsKHRoaXMsIHZhbHVlKTsgfSwgX0Nfel9nZXQgPSBmdW5jdGlvbiBfQ196X2dldCgpIHsgcmV0dXJuIF9zdGF0aWNfcHJpdmF0ZV96X2Rlc2NyaXB0b3IuZ2V0LmNhbGwodGhpcyk7IH0sIF9DX3pfc2V0ID0gZnVuY3Rpb24gX0Nfel9zZXQodmFsdWUpIHsgcmV0dXJuIF9zdGF0aWNfcHJpdmF0ZV96X2Rlc2NyaXB0b3Iuc2V0LmNhbGwodGhpcywgdmFsdWUpOyB9OyB9DQogICAgICAgIHN0YXRpYyB7DQogICAgICAgICAgICBjb25zdCBfbWV0YWRhdGEgPSB0eXBlb2YgU3ltYm9sID09PSAiZnVuY3Rpb24iICYmIFN5bWJvbC5tZXRhZGF0YSA/IE9iamVjdC5jcmVhdGUobnVsbCkgOiB2b2lkIDA7DQogICAgICAgICAgICBfbWV0aG9kX2RlY29yYXRvcnMgPSBbZGVjLCBkZWNdOw0KICAgICAgICAgICAgX2dldF94X2RlY29yYXRvcnMgPSBbZGVjLCBkZWNdOw0KICAgICAgICAgICAgX3NldF94X2RlY29yYXRvcnMgPSBbZGVjLCBkZWNdOw0KICAgICAgICAgICAgX3lfZGVjb3JhdG9ycyA9IFtkZWMsIGRlY107DQogICAgICAgICAgICBfel9kZWNvcmF0b3JzID0gW2RlYywgZGVjXTsNCiAgICAgICAgICAgIF9zdGF0aWNfcHJpdmF0ZV9tZXRob2RfZGVjb3JhdG9ycyA9IFtkZWMsIGRlY107DQogICAgICAgICAgICBfc3RhdGljX3ByaXZhdGVfZ2V0X3hfZGVjb3JhdG9ycyA9IFtkZWMsIGRlY107DQogICAgICAgICAgICBfc3RhdGljX3ByaXZhdGVfc2V0X3hfZGVjb3JhdG9ycyA9IFtkZWMsIGRlY107DQogICAgICAgICAgICBfc3RhdGljX3ByaXZhdGVfeV9kZWNvcmF0b3JzID0gW2RlYywgZGVjXTsNCiAgICAgICAgICAgIF9zdGF0aWNfcHJpdmF0ZV96X2RlY29yYXRvcnMgPSBbZGVjLCBkZWNdOw0KICAgICAgICAgICAgX19lc0RlY29yYXRlKHRoaXMsIF9zdGF0aWNfcHJpdmF0ZV9tZXRob2RfZGVzY3JpcHRvciA9IHsgdmFsdWU6IF9fc2V0RnVuY3Rpb25OYW1lKGZ1bmN0aW9uICgpIHsgfSwgIiNtZXRob2QiKSB9LCBfc3RhdGljX3ByaXZhdGVfbWV0aG9kX2RlY29yYXRvcnMsIHsga2luZDogIm1ldGhvZCIsIG5hbWU6ICIjbWV0aG9kIiwgc3RhdGljOiB0cnVlLCBwcml2YXRlOiB0cnVlLCBhY2Nlc3M6IHsgaGFzOiBvYmogPT4gX19jbGFzc1ByaXZhdGVGaWVsZEluKF9jbGFzc1RoaXMsIG9iaiksIGdldDogb2JqID0+IF9fY2xhc3NQcml2YXRlRmllbGRHZXQob2JqLCBfY2xhc3NUaGlzLCAiYSIsIF9DX21ldGhvZF9nZXQpIH0sIG1ldGFkYXRhOiBfbWV0YWRhdGEgfSwgbnVsbCwgX3N0YXRpY0V4dHJhSW5pdGlhbGl6ZXJzKTsNCiAgICAgICAgICAgIF9fZXNEZWNvcmF0ZSh0aGlzLCBfc3RhdGljX3ByaXZhdGVfZ2V0X3hfZGVzY3JpcHRvciA9IHsgZ2V0OiBfX3NldEZ1bmN0aW9uTmFtZShmdW5jdGlvbiAoKSB7IHJldHVybiAxOyB9LCAiI3giLCAiZ2V0IikgfSwgX3N0YXRpY19wcml2YXRlX2dldF94X2RlY29yYXRvcnMsIHsga2luZDogImdldHRlciIsIG5hbWU6ICIjeCIsIHN0YXRpYzogdHJ1ZSwgcHJpdmF0ZTogdHJ1ZSwgYWNjZXNzOiB7IGhhczogb2JqID0+IF9fY2xhc3NQcml2YXRlRmllbGRJbihfY2xhc3NUaGlzLCBvYmopLCBnZXQ6IG9iaiA9PiBfX2NsYXNzUHJpdmF0ZUZpZWxkR2V0KG9iaiwgX2NsYXNzVGhpcywgImEiLCBfQ194X2dldCkgfSwgbWV0YWRhdGE6IF9tZXRhZGF0YSB9LCBudWxsLCBfc3RhdGljRXh0cmFJbml0aWFsaXplcnMpOw0KICAgICAgICAgICAgX19lc0RlY29yYXRlKHRoaXMsIF9zdGF0aWNfcHJpdmF0ZV9zZXRfeF9kZXNjcmlwdG9yID0geyBzZXQ6IF9fc2V0RnVuY3Rpb25OYW1lKGZ1bmN0aW9uICh2YWx1ZSkgeyB9LCAiI3giLCAic2V0IikgfSwgX3N0YXRpY19wcml2YXRlX3NldF94X2RlY29yYXRvcnMsIHsga2luZDogInNldHRlciIsIG5hbWU6ICIjeCIsIHN0YXRpYzogdHJ1ZSwgcHJpdmF0ZTogdHJ1ZSwgYWNjZXNzOiB7IGhhczogb2JqID0+IF9fY2xhc3NQcml2YXRlRmllbGRJbihfY2xhc3NUaGlzLCBvYmopLCBzZXQ6IChvYmosIHZhbHVlKSA9PiB7IF9fY2xhc3NQcml2YXRlRmllbGRTZXQob2JqLCBfY2xhc3NUaGlzLCB2YWx1ZSwgImEiLCBfQ194X3NldCk7IH0gfSwgbWV0YWRhdGE6IF9tZXRhZGF0YSB9LCBudWxsLCBfc3RhdGljRXh0cmFJbml0aWFsaXplcnMpOw0KICAgICAgICAgICAgX19lc0RlY29yYXRlKHRoaXMsIF9zdGF0aWNfcHJpdmF0ZV96X2Rlc2NyaXB0b3IgPSB7IGdldDogX19zZXRGdW5jdGlvbk5hbWUoZnVuY3Rpb24gKCkgeyByZXR1cm4gX19jbGFzc1ByaXZhdGVGaWVsZEdldCh0aGlzLCBfY2xhc3NUaGlzLCAiZiIsIF9DX3pfYWNjZXNzb3Jfc3RvcmFnZSk7IH0sICIjeiIsICJnZXQiKSwgc2V0OiBfX3NldEZ1bmN0aW9uTmFtZShmdW5jdGlvbiAodmFsdWUpIHsgX19jbGFzc1ByaXZhdGVGaWVsZFNldCh0aGlzLCBfY2xhc3NUaGlzLCB2YWx1ZSwgImYiLCBfQ196X2FjY2Vzc29yX3N0b3JhZ2UpOyB9LCAiI3oiLCAic2V0IikgfSwgX3N0YXRpY19wcml2YXRlX3pfZGVjb3JhdG9ycywgeyBraW5kOiAiYWNjZXNzb3IiLCBuYW1lOiAiI3oiLCBzdGF0aWM6IHRydWUsIHByaXZhdGU6IHRydWUsIGFjY2VzczogeyBoYXM6IG9iaiA9PiBfX2NsYXNzUHJpdmF0ZUZpZWxkSW4oX2NsYXNzVGhpcywgb2JqKSwgZ2V0OiBvYmogPT4gX19jbGFzc1ByaXZhdGVGaWVsZEdldChvYmosIF9jbGFzc1RoaXMsICJhIiwgX0Nfel9nZXQpLCBzZXQ6IChvYmosIHZhbHVlKSA9PiB7IF9fY2xhc3NQcml2YXRlRmllbGRTZXQob2JqLCBfY2xhc3NUaGlzLCB2YWx1ZSwgImEiLCBfQ196X3NldCk7IH0gfSwgbWV0YWRhdGE6IF9tZXRhZGF0YSB9LCBfc3RhdGljX3ByaXZhdGVfel9pbml0aWFsaXplcnMsIF9zdGF0aWNfcHJpdmF0ZV96X2V4dHJhSW5pdGlhbGl6ZXJzKTsNCiAgICAgICAgICAgIF9fZXNEZWNvcmF0ZSh0aGlzLCBudWxsLCBfbWV0aG9kX2RlY29yYXRvcnMsIHsga2luZDogIm1ldGhvZCIsIG5hbWU6ICJtZXRob2QiLCBzdGF0aWM6IGZhbHNlLCBwcml2YXRlOiBmYWxzZSwgYWNjZXNzOiB7IGhhczogb2JqID0+ICJtZXRob2QiIGluIG9iaiwgZ2V0OiBvYmogPT4gb2JqLm1ldGhvZCB9LCBtZXRhZGF0YTogX21ldGFkYXRhIH0sIG51bGwsIF9pbnN0YW5jZUV4dHJhSW5pdGlhbGl6ZXJzKTsNCiAgICAgICAgICAgIF9fZXNEZWNvcmF0ZSh0aGlzLCBudWxsLCBfZ2V0X3hfZGVjb3JhdG9ycywgeyBraW5kOiAiZ2V0dGVyIiwgbmFtZTogIngiLCBzdGF0aWM6IGZhbHNlLCBwcml2YXRlOiBmYWxzZSwgYWNjZXNzOiB7IGhhczogb2JqID0+ICJ4IiBpbiBvYmosIGdldDogb2JqID0+IG9iai54IH0sIG1ldGFkYXRhOiBfbWV0YWRhdGEgfSwgbnVsbCwgX2luc3RhbmNlRXh0cmFJbml0aWFsaXplcnMpOw0KICAgICAgICAgICAgX19lc0RlY29yYXRlKHRoaXMsIG51bGwsIF9zZXRfeF9kZWNvcmF0b3JzLCB7IGtpbmQ6ICJzZXR0ZXIiLCBuYW1lOiAieCIsIHN0YXRpYzogZmFsc2UsIHByaXZhdGU6IGZhbHNlLCBhY2Nlc3M6IHsgaGFzOiBvYmogPT4gIngiIGluIG9iaiwgc2V0OiAob2JqLCB2YWx1ZSkgPT4geyBvYmoueCA9IHZhbHVlOyB9IH0sIG1ldGFkYXRhOiBfbWV0YWRhdGEgfSwgbnVsbCwgX2luc3RhbmNlRXh0cmFJbml0aWFsaXplcnMpOw0KICAgICAgICAgICAgX19lc0RlY29yYXRlKHRoaXMsIG51bGwsIF96X2RlY29yYXRvcnMsIHsga2luZDogImFjY2Vzc29yIiwgbmFtZTogInoiLCBzdGF0aWM6IGZhbHNlLCBwcml2YXRlOiBmYWxzZSwgYWNjZXNzOiB7IGhhczogb2JqID0+ICJ6IiBpbiBvYmosIGdldDogb2JqID0+IG9iai56LCBzZXQ6IChvYmosIHZhbHVlKSA9PiB7IG9iai56ID0gdmFsdWU7IH0gfSwgbWV0YWRhdGE6IF9tZXRhZGF0YSB9LCBfel9pbml0aWFsaXplcnMsIF96X2V4dHJhSW5pdGlhbGl6ZXJzKTsNCiAgICAgICAgICAgIF9fZXNEZWNvcmF0ZShudWxsLCBudWxsLCBfc3RhdGljX3ByaXZhdGVfeV9kZWNvcmF0b3JzLCB7IGtpbmQ6ICJmaWVsZCIsIG5hbWU6ICIjeSIsIHN0YXRpYzogdHJ1ZSwgcHJpdmF0ZTogdHJ1ZSwgYWNjZXNzOiB7IGhhczogb2JqID0+IF9fY2xhc3NQcml2YXRlRmllbGRJbihfY2xhc3NUaGlzLCBvYmopLCBnZXQ6IG9iaiA9PiBfX2NsYXNzUHJpdmF0ZUZpZWxkR2V0KG9iaiwgX2NsYXNzVGhpcywgImYiLCBfQ195KSwgc2V0OiAob2JqLCB2YWx1ZSkgPT4geyBfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0KG9iaiwgX2NsYXNzVGhpcywgdmFsdWUsICJmIiwgX0NfeSk7IH0gfSwgbWV0YWRhdGE6IF9tZXRhZGF0YSB9LCBfc3RhdGljX3ByaXZhdGVfeV9pbml0aWFsaXplcnMsIF9zdGF0aWNfcHJpdmF0ZV95X2V4dHJhSW5pdGlhbGl6ZXJzKTsNCiAgICAgICAgICAgIF9fZXNEZWNvcmF0ZShudWxsLCBudWxsLCBfeV9kZWNvcmF0b3JzLCB7IGtpbmQ6ICJmaWVsZCIsIG5hbWU6ICJ5Iiwgc3RhdGljOiBmYWxzZSwgcHJpdmF0ZTogZmFsc2UsIGFjY2VzczogeyBoYXM6IG9iaiA9PiAieSIgaW4gb2JqLCBnZXQ6IG9iaiA9PiBvYmoueSwgc2V0OiAob2JqLCB2YWx1ZSkgPT4geyBvYmoueSA9IHZhbHVlOyB9IH0sIG1ldGFkYXRhOiBfbWV0YWRhdGEgfSwgX3lfaW5pdGlhbGl6ZXJzLCBfeV9leHRyYUluaXRpYWxpemVycyk7DQogICAgICAgICAgICBfX2VzRGVjb3JhdGUobnVsbCwgX2NsYXNzRGVzY3JpcHRvciA9IHsgdmFsdWU6IF9jbGFzc1RoaXMgfSwgX2NsYXNzRGVjb3JhdG9ycywgeyBraW5kOiAiY2xhc3MiLCBuYW1lOiBfY2xhc3NUaGlzLm5hbWUsIG1ldGFkYXRhOiBfbWV0YWRhdGEgfSwgbnVsbCwgX2NsYXNzRXh0cmFJbml0aWFsaXplcnMpOw0KICAgICAgICAgICAgQyA9IF9jbGFzc1RoaXMgPSBfY2xhc3NEZXNjcmlwdG9yLnZhbHVlOw0KICAgICAgICAgICAgaWYgKF9tZXRhZGF0YSkgT2JqZWN0LmRlZmluZVByb3BlcnR5KF9jbGFzc1RoaXMsIFN5bWJvbC5tZXRhZGF0YSwgeyBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlLCB2YWx1ZTogX21ldGFkYXRhIH0pOw0KICAgICAgICB9DQogICAgICAgIG1ldGhvZCgpIHsgfQ0KICAgICAgICBnZXQgeCgpIHsgcmV0dXJuIDE7IH0NCiAgICAgICAgc2V0IHgodmFsdWUpIHsgfQ0KICAgICAgICB5ID0gKF9fcnVuSW5pdGlhbGl6ZXJzKHRoaXMsIF9pbnN0YW5jZUV4dHJhSW5pdGlhbGl6ZXJzKSwgX19ydW5Jbml0aWFsaXplcnModGhpcywgX3lfaW5pdGlhbGl6ZXJzLCAxKSk7DQogICAgICAgICN6XzFfYWNjZXNzb3Jfc3RvcmFnZSA9IChfX3J1bkluaXRpYWxpemVycyh0aGlzLCBfeV9leHRyYUluaXRpYWxpemVycyksIF9fcnVuSW5pdGlhbGl6ZXJzKHRoaXMsIF96X2luaXRpYWxpemVycywgMSkpOw0KICAgICAgICBnZXQgeigpIHsgcmV0dXJuIHRoaXMuI3pfMV9hY2Nlc3Nvcl9zdG9yYWdlOyB9DQogICAgICAgIHNldCB6KHZhbHVlKSB7IHRoaXMuI3pfMV9hY2Nlc3Nvcl9zdG9yYWdlID0gdmFsdWU7IH0NCiAgICAgICAgc3RhdGljIHsNCiAgICAgICAgICAgIF9DX3kgPSB7IHZhbHVlOiAoX19ydW5Jbml0aWFsaXplcnMoX2NsYXNzVGhpcywgX3N0YXRpY0V4dHJhSW5pdGlhbGl6ZXJzKSwgX19ydW5Jbml0aWFsaXplcnMoX2NsYXNzVGhpcywgX3N0YXRpY19wcml2YXRlX3lfaW5pdGlhbGl6ZXJzLCAxKSkgfTsNCiAgICAgICAgfQ0KICAgICAgICBzdGF0aWMgew0KICAgICAgICAgICAgX0Nfel9hY2Nlc3Nvcl9zdG9yYWdlID0geyB2YWx1ZTogKF9fcnVuSW5pdGlhbGl6ZXJzKF9jbGFzc1RoaXMsIF9zdGF0aWNfcHJpdmF0ZV95X2V4dHJhSW5pdGlhbGl6ZXJzKSwgX19ydW5Jbml0aWFsaXplcnMoX2NsYXNzVGhpcywgX3N0YXRpY19wcml2YXRlX3pfaW5pdGlhbGl6ZXJzLCAxKSkgfTsNCiAgICAgICAgfQ0KICAgICAgICBjb25zdHJ1Y3RvcigpIHsNCiAgICAgICAgICAgIF9fcnVuSW5pdGlhbGl6ZXJzKHRoaXMsIF96X2V4dHJhSW5pdGlhbGl6ZXJzKTsNCiAgICAgICAgfQ0KICAgICAgICBzdGF0aWMgew0KICAgICAgICAgICAgX19ydW5Jbml0aWFsaXplcnMoX2NsYXNzVGhpcywgX3N0YXRpY19wcml2YXRlX3pfZXh0cmFJbml0aWFsaXplcnMpOw0KICAgICAgICAgICAgX19ydW5Jbml0aWFsaXplcnMoX2NsYXNzVGhpcywgX2NsYXNzRXh0cmFJbml0aWFsaXplcnMpOw0KICAgICAgICB9DQogICAgfTsNCiAgICByZXR1cm4gQyA9IF9jbGFzc1RoaXM7DQp9KSgpOw0KLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZXNEZWNvcmF0b3JzLWNsYXNzRGVjbGFyYXRpb24tc291cmNlTWFwLmpzLm1hcA==,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNEZWNvcmF0b3JzLWNsYXNzRGVjbGFyYXRpb24tc291cmNlTWFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZXNEZWNvcmF0b3JzLWNsYXNzRGVjbGFyYXRpb24tc291cmNlTWFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBSU0sQ0FBQzs7NEJBRk4sR0FBRyxFQUNILEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7a0NBRUMsR0FBRyxFQUNILEdBQUc7aUNBR0gsR0FBRyxFQUNILEdBQUc7aUNBR0gsR0FBRyxFQUNILEdBQUc7NkJBR0gsR0FBRyxFQUNILEdBQUc7NkJBR0gsR0FBRyxFQUNILEdBQUc7aURBR0gsR0FBRyxFQUNILEdBQUc7Z0RBR0gsR0FBRyxFQUNILEdBQUc7Z0RBR0gsR0FBRyxFQUNILEdBQUc7NENBR0gsR0FBRyxFQUNILEdBQUc7NENBR0gsR0FBRyxFQUNILEdBQUc7WUFmSix5REFBQSx5QkFBQSxjQUFrQixDQUFDLFlBQUEsdVNBQUE7WUFJbkIsd0RBQUEsdUJBQUEsY0FBa0IsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQUEsNFJBQUE7WUFJN0Isd0RBQUEsdUJBQUEsVUFBYyxLQUFhLElBQUksQ0FBQyxjQUFBLGlUQUFBO1lBUWhDLG9EQUFBLHVCQUFBLDRGQUF1QixjQUFBLEVBQXZCLHVCQUFBLGlHQUF1QixjQUFBLHdaQUFBO1lBcEN2QixxS0FBQSxNQUFNLDZEQUFLO1lBSVgsMEpBQUksQ0FBQyw2REFBZ0I7WUFJckIscUtBQUksQ0FBQyx3RUFBbUI7WUFReEIsd0pBQVMsQ0FBQyw2QkFBRCxDQUFDLDZFQUFLO1lBZ0JmLGthQUFjO1lBcEJkLHFKQUFBLENBQUMsNkJBQUQsQ0FBQyw2RUFBSztZQWZWLDZLQXdDQzs7OztRQXJDRyxNQUFNLEtBQUksQ0FBQztRQUlYLElBQUksQ0FBQyxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUlyQixJQUFJLENBQUMsQ0FBQyxLQUFhLElBQUksQ0FBQztRQUl4QixDQUFDLElBZkMsbURBQUMsMkNBZUMsQ0FBQyxHQUFDO1FBSU4saUhBQWEsQ0FBQyxHQUFDO1FBQWYsSUFBUyxDQUFDLHlDQUFLO1FBQWYsSUFBUyxDQUFDLCtDQUFLOztZQWdCUixpQkFuQ0wsdURBQUMsZ0VBbUNTLENBQUMsSUFBSixDQUFLOzs7WUFJRSxvS0FBSyxDQUFDLElBQUosQ0FBSzs7Ozs7OztZQXZDckIsdURBQUMifQ==,ZGVjbGFyZSB2YXIgZGVjOiBhbnk7CgpAZGVjCkBkZWMKY2xhc3MgQyB7CiAgICBAZGVjCiAgICBAZGVjCiAgICBtZXRob2QoKSB7fQoKICAgIEBkZWMKICAgIEBkZWMKICAgIGdldCB4KCkgeyByZXR1cm4gMTsgfQoKICAgIEBkZWMKICAgIEBkZWMKICAgIHNldCB4KHZhbHVlOiBudW1iZXIpIHsgfQoKICAgIEBkZWMKICAgIEBkZWMKICAgIHkgPSAxOwoKICAgIEBkZWMKICAgIEBkZWMKICAgIGFjY2Vzc29yIHogPSAxOwoKICAgIEBkZWMKICAgIEBkZWMKICAgIHN0YXRpYyAjbWV0aG9kKCkge30KCiAgICBAZGVjCiAgICBAZGVjCiAgICBzdGF0aWMgZ2V0ICN4KCkgeyByZXR1cm4gMTsgfQoKICAgIEBkZWMKICAgIEBkZWMKICAgIHN0YXRpYyBzZXQgI3godmFsdWU6IG51bWJlcikgeyB9CgogICAgQGRlYwogICAgQGRlYwogICAgc3RhdGljICN5ID0gMTsKCiAgICBAZGVjCiAgICBAZGVjCiAgICBzdGF0aWMgYWNjZXNzb3IgI3ogPSAxOwp9Cg== //// [esDecorators-classDeclaration-sourceMap.d.ts.map] {"version":3,"file":"esDecorators-classDeclaration-sourceMap.d.ts","sourceRoot":"","sources":["esDecorators-classDeclaration-sourceMap.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,IAAI,GAAG,EAAE,GAAG,CAAC;AAErB,cAEM,CAAC;;IAGH,MAAM;IAEN,IAEI,CAAC,IAIQ,MAAM,CAJE;IAErB,IAEI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAK;IAIxB,CAAC,SAAK;IAIN,QAAQ,CAAC,CAAC,SAAK;CAqBlB"} diff --git a/tests/baselines/reference/esDecorators-classDeclaration-sourceMap(target=es2022).sourcemap.txt b/tests/baselines/reference/esDecorators-classDeclaration-sourceMap(target=es2022).sourcemap.txt index fe77eaedd8bbc..2b89583dd8ff5 100644 --- a/tests/baselines/reference/esDecorators-classDeclaration-sourceMap(target=es2022).sourcemap.txt +++ b/tests/baselines/reference/esDecorators-classDeclaration-sourceMap(target=es2022).sourcemap.txt @@ -707,7 +707,7 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts 5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 6 > ^ 7 > ^^^ -8 > ^^^^^^^^^^^^^-> +8 > ^^^^^^^^^^^^^^^-> 1-> > > @dec @@ -742,30 +742,30 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts 6 >Emitted(117, 109) Source(20, 10) + SourceIndex(0) 7 >Emitted(117, 112) Source(20, 11) + SourceIndex(0) --- ->>> #z_accessor_storage = (__runInitializers(this, _y_extraInitializers), __runInitializers(this, _z_initializers, 1)); +>>> #z_1_accessor_storage = (__runInitializers(this, _y_extraInitializers), __runInitializers(this, _z_initializers, 1)); 1->^^^^^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -3 > ^ -4 > ^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +3 > ^ +4 > ^^^ 1-> > > @dec > @dec > 2 > accessor z = -3 > 1 -4 > ; +3 > 1 +4 > ; 1->Emitted(118, 9) Source(24, 5) + SourceIndex(0) -2 >Emitted(118, 120) Source(24, 18) + SourceIndex(0) -3 >Emitted(118, 121) Source(24, 19) + SourceIndex(0) -4 >Emitted(118, 124) Source(24, 20) + SourceIndex(0) +2 >Emitted(118, 122) Source(24, 18) + SourceIndex(0) +3 >Emitted(118, 123) Source(24, 19) + SourceIndex(0) +4 >Emitted(118, 126) Source(24, 20) + SourceIndex(0) --- ->>> get z() { return this.#z_accessor_storage; } +>>> get z() { return this.#z_1_accessor_storage; } 1 >^^^^^^^^ 2 > ^^^^ 3 > ^ -4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -5 > ^^^^^^^-> +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +5 > ^^^^^^^-> 1 > 2 > accessor 3 > z @@ -773,13 +773,13 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts 1 >Emitted(119, 9) Source(24, 5) + SourceIndex(0) 2 >Emitted(119, 13) Source(24, 14) + SourceIndex(0) 3 >Emitted(119, 14) Source(24, 15) + SourceIndex(0) -4 >Emitted(119, 53) Source(24, 20) + SourceIndex(0) +4 >Emitted(119, 55) Source(24, 20) + SourceIndex(0) --- ->>> set z(value) { this.#z_accessor_storage = value; } +>>> set z(value) { this.#z_1_accessor_storage = value; } 1->^^^^^^^^ 2 > ^^^^ 3 > ^ -4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> 2 > accessor 3 > z @@ -787,7 +787,7 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts 1->Emitted(120, 9) Source(24, 5) + SourceIndex(0) 2 >Emitted(120, 13) Source(24, 14) + SourceIndex(0) 3 >Emitted(120, 14) Source(24, 15) + SourceIndex(0) -4 >Emitted(120, 59) Source(24, 20) + SourceIndex(0) +4 >Emitted(120, 61) Source(24, 20) + SourceIndex(0) --- >>> static { >>> _C_y = { value: (__runInitializers(_classThis, _staticExtraInitializers), __runInitializers(_classThis, _static_private_y_initializers, 1)) }; diff --git a/tests/baselines/reference/esDecorators-classExpression-commentPreservation(target=es2015).js b/tests/baselines/reference/esDecorators-classExpression-commentPreservation(target=es2015).js index 22d5cc52f88d8..f36fccc349374 100644 --- a/tests/baselines/reference/esDecorators-classExpression-commentPreservation(target=es2015).js +++ b/tests/baselines/reference/esDecorators-classExpression-commentPreservation(target=es2015).js @@ -116,63 +116,62 @@ class C { let _z_decorators; let _z_initializers = []; let _z_extraInitializers = []; - var C = (_classThis = class { - /*5*/ - method() { } - /*8*/ - get x() { return 1; } - /*11*/ - set x(value) { } - /*17*/ - get z() { return __classPrivateFieldGet(this, _C_z_1_accessor_storage, "f"); } - set z(value) { __classPrivateFieldSet(this, _C_z_1_accessor_storage, value, "f"); } - constructor() { - /*14*/ - this.y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, 1)); - _C_z_1_accessor_storage.set(this, (__runInitializers(this, _y_extraInitializers), __runInitializers(this, _z_initializers, 1))); - __runInitializers(this, _z_extraInitializers); - } - }, - _C_z_1_accessor_storage = new WeakMap(), - _C_method_get = function _C_method_get() { return _static_private_method_descriptor.value; }, - _C_x_get = function _C_x_get() { return _static_private_get_x_descriptor.get.call(this); }, - _C_x_set = function _C_x_set(value) { return _static_private_set_x_descriptor.set.call(this, value); }, - _C_z_get = function _C_z_get() { return _static_private_z_descriptor.get.call(this); }, - _C_z_set = function _C_z_set(value) { return _static_private_z_descriptor.set.call(this, value); }, - __setFunctionName(_classThis, "C"), - (() => { - const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; - _method_decorators = [dec, dec]; - _get_x_decorators = [dec, dec]; - _set_x_decorators = [dec, dec]; - _y_decorators = [dec, dec]; - _z_decorators = [dec, dec]; - _static_private_method_decorators = [dec, dec]; - _static_private_get_x_decorators = [dec, dec]; - _static_private_set_x_decorators = [dec, dec]; - _static_private_y_decorators = [dec, dec]; - _static_private_z_decorators = [dec, dec]; - __esDecorate(_classThis, _static_private_method_descriptor = { value: __setFunctionName(function () { }, "#method") }, _static_private_method_decorators, { kind: "method", name: "#method", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "a", _C_method_get) }, metadata: _metadata }, null, _staticExtraInitializers); - __esDecorate(_classThis, _static_private_get_x_descriptor = { get: __setFunctionName(function () { return 1; }, "#x", "get") }, _static_private_get_x_decorators, { kind: "getter", name: "#x", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "a", _C_x_get) }, metadata: _metadata }, null, _staticExtraInitializers); - __esDecorate(_classThis, _static_private_set_x_descriptor = { set: __setFunctionName(function (value) { }, "#x", "set") }, _static_private_set_x_decorators, { kind: "setter", name: "#x", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "a", _C_x_set); } }, metadata: _metadata }, null, _staticExtraInitializers); - __esDecorate(_classThis, _static_private_z_descriptor = { get: __setFunctionName(function () { return __classPrivateFieldGet(_classThis, _classThis, "f", _C_z_accessor_storage); }, "#z", "get"), set: __setFunctionName(function (value) { __classPrivateFieldSet(_classThis, _classThis, value, "f", _C_z_accessor_storage); }, "#z", "set") }, _static_private_z_decorators, { kind: "accessor", name: "#z", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "a", _C_z_get), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "a", _C_z_set); } }, metadata: _metadata }, _static_private_z_initializers, _static_private_z_extraInitializers); - __esDecorate(_classThis, null, _method_decorators, { kind: "method", name: "method", static: false, private: false, access: { has: obj => "method" in obj, get: obj => obj.method }, metadata: _metadata }, null, _instanceExtraInitializers); - __esDecorate(_classThis, null, _get_x_decorators, { kind: "getter", name: "x", static: false, private: false, access: { has: obj => "x" in obj, get: obj => obj.x }, metadata: _metadata }, null, _instanceExtraInitializers); - __esDecorate(_classThis, null, _set_x_decorators, { kind: "setter", name: "x", static: false, private: false, access: { has: obj => "x" in obj, set: (obj, value) => { obj.x = value; } }, metadata: _metadata }, null, _instanceExtraInitializers); - __esDecorate(_classThis, null, _z_decorators, { kind: "accessor", name: "z", static: false, private: false, access: { has: obj => "z" in obj, get: obj => obj.z, set: (obj, value) => { obj.z = value; } }, metadata: _metadata }, _z_initializers, _z_extraInitializers); - __esDecorate(null, null, _static_private_y_decorators, { kind: "field", name: "#y", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "f", _C_y), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "f", _C_y); } }, metadata: _metadata }, _static_private_y_initializers, _static_private_y_extraInitializers); - __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); - __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers); - C = _classThis = _classDescriptor.value; - if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); - })(), - /*29*/ - _C_y = { value: (__runInitializers(_classThis, _staticExtraInitializers), __runInitializers(_classThis, _static_private_y_initializers, 1)) }, - _C_z_accessor_storage = { value: (__runInitializers(_classThis, _static_private_y_extraInitializers), __runInitializers(_classThis, _static_private_z_initializers, 1)) }, - (() => { - __runInitializers(_classThis, _static_private_z_extraInitializers); - __runInitializers(_classThis, _classExtraInitializers); - })(), - _classThis); + var C = _classThis = class { + /*5*/ + method() { } + /*8*/ + get x() { return 1; } + /*11*/ + set x(value) { } + /*17*/ + get z() { return __classPrivateFieldGet(this, _C_z_1_accessor_storage, "f"); } + set z(value) { __classPrivateFieldSet(this, _C_z_1_accessor_storage, value, "f"); } + constructor() { + /*14*/ + this.y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, 1)); + _C_z_1_accessor_storage.set(this, (__runInitializers(this, _y_extraInitializers), __runInitializers(this, _z_initializers, 1))); + __runInitializers(this, _z_extraInitializers); + } + }; + _C_z_1_accessor_storage = new WeakMap(); + _C_method_get = function _C_method_get() { return _static_private_method_descriptor.value; }; + _C_x_get = function _C_x_get() { return _static_private_get_x_descriptor.get.call(this); }; + _C_x_set = function _C_x_set(value) { return _static_private_set_x_descriptor.set.call(this, value); }; + _C_z_get = function _C_z_get() { return _static_private_z_descriptor.get.call(this); }; + _C_z_set = function _C_z_set(value) { return _static_private_z_descriptor.set.call(this, value); }; + __setFunctionName(_classThis, "C"); + (() => { + const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; + _method_decorators = [dec, dec]; + _get_x_decorators = [dec, dec]; + _set_x_decorators = [dec, dec]; + _y_decorators = [dec, dec]; + _z_decorators = [dec, dec]; + _static_private_method_decorators = [dec, dec]; + _static_private_get_x_decorators = [dec, dec]; + _static_private_set_x_decorators = [dec, dec]; + _static_private_y_decorators = [dec, dec]; + _static_private_z_decorators = [dec, dec]; + __esDecorate(_classThis, _static_private_method_descriptor = { value: __setFunctionName(function () { }, "#method") }, _static_private_method_decorators, { kind: "method", name: "#method", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "a", _C_method_get) }, metadata: _metadata }, null, _staticExtraInitializers); + __esDecorate(_classThis, _static_private_get_x_descriptor = { get: __setFunctionName(function () { return 1; }, "#x", "get") }, _static_private_get_x_decorators, { kind: "getter", name: "#x", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "a", _C_x_get) }, metadata: _metadata }, null, _staticExtraInitializers); + __esDecorate(_classThis, _static_private_set_x_descriptor = { set: __setFunctionName(function (value) { }, "#x", "set") }, _static_private_set_x_decorators, { kind: "setter", name: "#x", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "a", _C_x_set); } }, metadata: _metadata }, null, _staticExtraInitializers); + __esDecorate(_classThis, _static_private_z_descriptor = { get: __setFunctionName(function () { return __classPrivateFieldGet(_classThis, _classThis, "f", _C_z_accessor_storage); }, "#z", "get"), set: __setFunctionName(function (value) { __classPrivateFieldSet(_classThis, _classThis, value, "f", _C_z_accessor_storage); }, "#z", "set") }, _static_private_z_decorators, { kind: "accessor", name: "#z", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "a", _C_z_get), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "a", _C_z_set); } }, metadata: _metadata }, _static_private_z_initializers, _static_private_z_extraInitializers); + __esDecorate(_classThis, null, _method_decorators, { kind: "method", name: "method", static: false, private: false, access: { has: obj => "method" in obj, get: obj => obj.method }, metadata: _metadata }, null, _instanceExtraInitializers); + __esDecorate(_classThis, null, _get_x_decorators, { kind: "getter", name: "x", static: false, private: false, access: { has: obj => "x" in obj, get: obj => obj.x }, metadata: _metadata }, null, _instanceExtraInitializers); + __esDecorate(_classThis, null, _set_x_decorators, { kind: "setter", name: "x", static: false, private: false, access: { has: obj => "x" in obj, set: (obj, value) => { obj.x = value; } }, metadata: _metadata }, null, _instanceExtraInitializers); + __esDecorate(_classThis, null, _z_decorators, { kind: "accessor", name: "z", static: false, private: false, access: { has: obj => "z" in obj, get: obj => obj.z, set: (obj, value) => { obj.z = value; } }, metadata: _metadata }, _z_initializers, _z_extraInitializers); + __esDecorate(null, null, _static_private_y_decorators, { kind: "field", name: "#y", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "f", _C_y), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "f", _C_y); } }, metadata: _metadata }, _static_private_y_initializers, _static_private_y_extraInitializers); + __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); + __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers); + C = _classThis = _classDescriptor.value; + if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); + })(); + /*29*/ + _C_y = { value: (__runInitializers(_classThis, _staticExtraInitializers), __runInitializers(_classThis, _static_private_y_initializers, 1)) }; + _C_z_accessor_storage = { value: (__runInitializers(_classThis, _static_private_y_extraInitializers), __runInitializers(_classThis, _static_private_z_initializers, 1)) }; + (() => { + __runInitializers(_classThis, _static_private_z_extraInitializers); + __runInitializers(_classThis, _classExtraInitializers); + })(); return C = _classThis; })()); diff --git a/tests/baselines/reference/esDecorators-classExpression-commentPreservation(target=es2022).js b/tests/baselines/reference/esDecorators-classExpression-commentPreservation(target=es2022).js index 164f96e3c1c5a..77ddaa3bc82b5 100644 --- a/tests/baselines/reference/esDecorators-classExpression-commentPreservation(target=es2022).js +++ b/tests/baselines/reference/esDecorators-classExpression-commentPreservation(target=es2022).js @@ -87,7 +87,7 @@ class C { //// [esDecorators-classExpression-commentPreservation.js] /*1*/ ((() => { - var _C_method_get, _C_x_get, _C_x_set, _C_y, _C_z_accessor_storage, _C_z_get, _C_z_set, _a; + var _C_method_get, _C_x_get, _C_x_set, _C_y, _C_z_accessor_storage, _C_z_get, _C_z_set; let _classDecorators = [dec, dec]; let _classDescriptor; let _classExtraInitializers = []; @@ -116,66 +116,62 @@ class C { let _z_decorators; let _z_initializers = []; let _z_extraInitializers = []; - var C = (_a = class { - static { _classThis = this; } - static { __setFunctionName(this, "C"); } - static { _C_method_get = function _C_method_get() { return _static_private_method_descriptor.value; }, _C_x_get = function _C_x_get() { return _static_private_get_x_descriptor.get.call(this); }, _C_x_set = function _C_x_set(value) { return _static_private_set_x_descriptor.set.call(this, value); }, _C_z_get = function _C_z_get() { return _static_private_z_descriptor.get.call(this); }, _C_z_set = function _C_z_set(value) { return _static_private_z_descriptor.set.call(this, value); }; } - static { - const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; - _method_decorators = [dec, dec]; - _get_x_decorators = [dec, dec]; - _set_x_decorators = [dec, dec]; - _y_decorators = [dec, dec]; - _z_decorators = [dec, dec]; - _static_private_method_decorators = [dec, dec]; - _static_private_get_x_decorators = [dec, dec]; - _static_private_set_x_decorators = [dec, dec]; - _static_private_y_decorators = [dec, dec]; - _static_private_z_decorators = [dec, dec]; - __esDecorate(this, _static_private_method_descriptor = { value: __setFunctionName(function () { }, "#method") }, _static_private_method_decorators, { kind: "method", name: "#method", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "a", _C_method_get) }, metadata: _metadata }, null, _staticExtraInitializers); - __esDecorate(this, _static_private_get_x_descriptor = { get: __setFunctionName(function () { return 1; }, "#x", "get") }, _static_private_get_x_decorators, { kind: "getter", name: "#x", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "a", _C_x_get) }, metadata: _metadata }, null, _staticExtraInitializers); - __esDecorate(this, _static_private_set_x_descriptor = { set: __setFunctionName(function (value) { }, "#x", "set") }, _static_private_set_x_decorators, { kind: "setter", name: "#x", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "a", _C_x_set); } }, metadata: _metadata }, null, _staticExtraInitializers); - __esDecorate(this, _static_private_z_descriptor = { get: __setFunctionName(function () { return __classPrivateFieldGet(this, _classThis, "f", _C_z_accessor_storage); }, "#z", "get"), set: __setFunctionName(function (value) { __classPrivateFieldSet(this, _classThis, value, "f", _C_z_accessor_storage); }, "#z", "set") }, _static_private_z_decorators, { kind: "accessor", name: "#z", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "a", _C_z_get), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "a", _C_z_set); } }, metadata: _metadata }, _static_private_z_initializers, _static_private_z_extraInitializers); - __esDecorate(this, null, _method_decorators, { kind: "method", name: "method", static: false, private: false, access: { has: obj => "method" in obj, get: obj => obj.method }, metadata: _metadata }, null, _instanceExtraInitializers); - __esDecorate(this, null, _get_x_decorators, { kind: "getter", name: "x", static: false, private: false, access: { has: obj => "x" in obj, get: obj => obj.x }, metadata: _metadata }, null, _instanceExtraInitializers); - __esDecorate(this, null, _set_x_decorators, { kind: "setter", name: "x", static: false, private: false, access: { has: obj => "x" in obj, set: (obj, value) => { obj.x = value; } }, metadata: _metadata }, null, _instanceExtraInitializers); - __esDecorate(this, null, _z_decorators, { kind: "accessor", name: "z", static: false, private: false, access: { has: obj => "z" in obj, get: obj => obj.z, set: (obj, value) => { obj.z = value; } }, metadata: _metadata }, _z_initializers, _z_extraInitializers); - __esDecorate(null, null, _static_private_y_decorators, { kind: "field", name: "#y", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "f", _C_y), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "f", _C_y); } }, metadata: _metadata }, _static_private_y_initializers, _static_private_y_extraInitializers); - __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); - __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers); - C = _classThis = _classDescriptor.value; - if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); - } - /*5*/ - method() { } - /*8*/ - get x() { return 1; } - /*11*/ - set x(value) { } - /*14*/ - y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, 1)); - #z_accessor_storage = (__runInitializers(this, _y_extraInitializers), __runInitializers(this, _z_initializers, 1)); - /*17*/ - get z() { return this.#z_accessor_storage; } - set z(value) { this.#z_accessor_storage = value; } - static { - /*29*/ - _C_y = { value: (__runInitializers(_classThis, _staticExtraInitializers), __runInitializers(_classThis, _static_private_y_initializers, 1)) }; - } - static { - _C_z_accessor_storage = { value: (__runInitializers(_classThis, _static_private_y_extraInitializers), __runInitializers(_classThis, _static_private_z_initializers, 1)) }; - } - constructor() { - __runInitializers(this, _z_extraInitializers); - } - static { - __runInitializers(_classThis, _static_private_z_extraInitializers); - __runInitializers(_classThis, _classExtraInitializers); - } - }, - /*29*/ - _C_y = { value: (__runInitializers(_classThis, _staticExtraInitializers), __runInitializers(_classThis, _static_private_y_initializers, 1)) }, - _C_z_accessor_storage = { value: (__runInitializers(_classThis, _static_private_y_extraInitializers), __runInitializers(_classThis, _static_private_z_initializers, 1)) }, - _a); + var C = class { + static { _classThis = this; } + static { __setFunctionName(this, "C"); } + static { _C_method_get = function _C_method_get() { return _static_private_method_descriptor.value; }, _C_x_get = function _C_x_get() { return _static_private_get_x_descriptor.get.call(this); }, _C_x_set = function _C_x_set(value) { return _static_private_set_x_descriptor.set.call(this, value); }, _C_z_get = function _C_z_get() { return _static_private_z_descriptor.get.call(this); }, _C_z_set = function _C_z_set(value) { return _static_private_z_descriptor.set.call(this, value); }; } + static { + const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; + _method_decorators = [dec, dec]; + _get_x_decorators = [dec, dec]; + _set_x_decorators = [dec, dec]; + _y_decorators = [dec, dec]; + _z_decorators = [dec, dec]; + _static_private_method_decorators = [dec, dec]; + _static_private_get_x_decorators = [dec, dec]; + _static_private_set_x_decorators = [dec, dec]; + _static_private_y_decorators = [dec, dec]; + _static_private_z_decorators = [dec, dec]; + __esDecorate(this, _static_private_method_descriptor = { value: __setFunctionName(function () { }, "#method") }, _static_private_method_decorators, { kind: "method", name: "#method", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "a", _C_method_get) }, metadata: _metadata }, null, _staticExtraInitializers); + __esDecorate(this, _static_private_get_x_descriptor = { get: __setFunctionName(function () { return 1; }, "#x", "get") }, _static_private_get_x_decorators, { kind: "getter", name: "#x", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "a", _C_x_get) }, metadata: _metadata }, null, _staticExtraInitializers); + __esDecorate(this, _static_private_set_x_descriptor = { set: __setFunctionName(function (value) { }, "#x", "set") }, _static_private_set_x_decorators, { kind: "setter", name: "#x", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "a", _C_x_set); } }, metadata: _metadata }, null, _staticExtraInitializers); + __esDecorate(this, _static_private_z_descriptor = { get: __setFunctionName(function () { return __classPrivateFieldGet(this, _classThis, "f", _C_z_accessor_storage); }, "#z", "get"), set: __setFunctionName(function (value) { __classPrivateFieldSet(this, _classThis, value, "f", _C_z_accessor_storage); }, "#z", "set") }, _static_private_z_decorators, { kind: "accessor", name: "#z", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "a", _C_z_get), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "a", _C_z_set); } }, metadata: _metadata }, _static_private_z_initializers, _static_private_z_extraInitializers); + __esDecorate(this, null, _method_decorators, { kind: "method", name: "method", static: false, private: false, access: { has: obj => "method" in obj, get: obj => obj.method }, metadata: _metadata }, null, _instanceExtraInitializers); + __esDecorate(this, null, _get_x_decorators, { kind: "getter", name: "x", static: false, private: false, access: { has: obj => "x" in obj, get: obj => obj.x }, metadata: _metadata }, null, _instanceExtraInitializers); + __esDecorate(this, null, _set_x_decorators, { kind: "setter", name: "x", static: false, private: false, access: { has: obj => "x" in obj, set: (obj, value) => { obj.x = value; } }, metadata: _metadata }, null, _instanceExtraInitializers); + __esDecorate(this, null, _z_decorators, { kind: "accessor", name: "z", static: false, private: false, access: { has: obj => "z" in obj, get: obj => obj.z, set: (obj, value) => { obj.z = value; } }, metadata: _metadata }, _z_initializers, _z_extraInitializers); + __esDecorate(null, null, _static_private_y_decorators, { kind: "field", name: "#y", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "f", _C_y), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "f", _C_y); } }, metadata: _metadata }, _static_private_y_initializers, _static_private_y_extraInitializers); + __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); + __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers); + C = _classThis = _classDescriptor.value; + if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); + } + /*5*/ + method() { } + /*8*/ + get x() { return 1; } + /*11*/ + set x(value) { } + /*14*/ + y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, 1)); + #z_1_accessor_storage = (__runInitializers(this, _y_extraInitializers), __runInitializers(this, _z_initializers, 1)); + /*17*/ + get z() { return this.#z_1_accessor_storage; } + set z(value) { this.#z_1_accessor_storage = value; } + static { + /*29*/ + _C_y = { value: (__runInitializers(_classThis, _staticExtraInitializers), __runInitializers(_classThis, _static_private_y_initializers, 1)) }; + } + static { + _C_z_accessor_storage = { value: (__runInitializers(_classThis, _static_private_y_extraInitializers), __runInitializers(_classThis, _static_private_z_initializers, 1)) }; + } + constructor() { + __runInitializers(this, _z_extraInitializers); + } + static { + __runInitializers(_classThis, _static_private_z_extraInitializers); + __runInitializers(_classThis, _classExtraInitializers); + } + }; return C = _classThis; })()); diff --git a/tests/baselines/reference/esDecorators-contextualTypes.2.types b/tests/baselines/reference/esDecorators-contextualTypes.2.types index 104adda195ddc..6edb24a32891d 100644 --- a/tests/baselines/reference/esDecorators-contextualTypes.2.types +++ b/tests/baselines/reference/esDecorators-contextualTypes.2.types @@ -6,10 +6,10 @@ class C { > : ^ @boundMethodLogger("Yadda", /*bound*/ true) ->boundMethodLogger("Yadda", /*bound*/ true) : (target: (this: C) => void, context: ClassMethodDecoratorContext void>) => (this: C) => void -> : ^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ->boundMethodLogger : (source: string, bound?: boolean) => (target: (this: This, ...args: Args) => Return, context: ClassMethodDecoratorContext Return>) => (this: This, ...args: Args) => Return -> : ^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +>boundMethodLogger("Yadda", /*bound*/ true) : (target: (this: C) => void, context: ClassMethodDecoratorContext void>) => ((this: C, ...args: []) => void) +> : ^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ +>boundMethodLogger : (source: string, bound?: boolean) => (target: (this: This, ...args: Args) => Return, context: ClassMethodDecoratorContext Return>) => ((this: This, ...args: Args) => Return) +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ >"Yadda" : "Yadda" > : ^^^^^^^ >true : true @@ -38,11 +38,11 @@ class C { >console.log("Behold! The actual method implementation!") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"Behold! The actual method implementation!" : "Behold! The actual method implementation!" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } @@ -53,7 +53,7 @@ export { C }; function boundMethodLogger(source: string, bound = true) { >boundMethodLogger : (source: string, bound?: boolean) => (target: (this: This, ...args: Args) => Return, context: ClassMethodDecoratorContext Return>) => ((this: This, ...args: Args) => Return) -> : ^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ >source : string > : ^^^^^^ >bound : boolean @@ -97,11 +97,11 @@ function boundMethodLogger(source: string, bou >context.addInitializer(function () { (this as any)[context.name] = (this as any)[context.name].bind(this); }) : void > : ^^^^ >context.addInitializer : (initializer: (this: This) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ ^^^^^ >context : ClassMethodDecoratorContext Return> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^ ^ >addInitializer : (initializer: (this: This) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ ^^^^^ >function () { (this as any)[context.name] = (this as any)[context.name].bind(this); } : (this: This) => void > : ^ ^^^^^^^^^^^^^^^ @@ -115,7 +115,7 @@ function boundMethodLogger(source: string, bou >context.name : string | symbol > : ^^^^^^^^^^^^^^^ >context : ClassMethodDecoratorContext Return> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^ ^ >name : string | symbol > : ^^^^^^^^^^^^^^^ >(this as any)[context.name].bind(this) : any @@ -129,7 +129,7 @@ function boundMethodLogger(source: string, bou >context.name : string | symbol > : ^^^^^^^^^^^^^^^ >context : ClassMethodDecoratorContext Return> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^ ^ >name : string | symbol > : ^^^^^^^^^^^^^^^ >bind : any @@ -152,11 +152,11 @@ function boundMethodLogger(source: string, bou >console.log(`<${source}>: I'm logging stuff from ${context.name.toString()}!`) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >`<${source}>: I'm logging stuff from ${context.name.toString()}!` : string > : ^^^^^^ >source : string @@ -164,24 +164,24 @@ function boundMethodLogger(source: string, bou >context.name.toString() : string > : ^^^^^^ >context.name.toString : (() => string) | (() => string) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^ ^ >context.name : string | symbol > : ^^^^^^^^^^^^^^^ >context : ClassMethodDecoratorContext Return> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^ ^ >name : string | symbol > : ^^^^^^^^^^^^^^^ >toString : (() => string) | (() => string) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^ ^ return target.apply(this, args); >target.apply(this, args) : any >target.apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >target : (this: This, ...args: Args) => Return -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >this : This > : ^^^^ >args : Args diff --git a/tests/baselines/reference/esDecorators-emitDecoratorMetadata(target=es2015).js b/tests/baselines/reference/esDecorators-emitDecoratorMetadata(target=es2015).js index dd3d14be265ad..4c997cd95e023 100644 --- a/tests/baselines/reference/esDecorators-emitDecoratorMetadata(target=es2015).js +++ b/tests/baselines/reference/esDecorators-emitDecoratorMetadata(target=es2015).js @@ -119,40 +119,39 @@ let C = (() => { let _y_decorators; let _y_initializers = []; let _y_extraInitializers = []; - var C = (_classThis = class { - constructor(x) { - this.y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, void 0)); - __runInitializers(this, _y_extraInitializers); - } - method(x) { } - set x(x) { } - static method(x) { } - static set x(x) { } - }, - __setFunctionName(_classThis, "C"), - (() => { - const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; - _method_decorators = [dec]; - _set_x_decorators = [dec]; - _y_decorators = [dec]; - _static_method_decorators = [dec]; - _static_set_x_decorators = [dec]; - _static_y_decorators = [dec]; - __esDecorate(_classThis, null, _static_method_decorators, { kind: "method", name: "method", static: true, private: false, access: { has: obj => "method" in obj, get: obj => obj.method }, metadata: _metadata }, null, _staticExtraInitializers); - __esDecorate(_classThis, null, _static_set_x_decorators, { kind: "setter", name: "x", static: true, private: false, access: { has: obj => "x" in obj, set: (obj, value) => { obj.x = value; } }, metadata: _metadata }, null, _staticExtraInitializers); - __esDecorate(_classThis, null, _method_decorators, { kind: "method", name: "method", static: false, private: false, access: { has: obj => "method" in obj, get: obj => obj.method }, metadata: _metadata }, null, _instanceExtraInitializers); - __esDecorate(_classThis, null, _set_x_decorators, { kind: "setter", name: "x", static: false, private: false, access: { has: obj => "x" in obj, set: (obj, value) => { obj.x = value; } }, metadata: _metadata }, null, _instanceExtraInitializers); - __esDecorate(null, null, _static_y_decorators, { kind: "field", name: "y", static: true, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _static_y_initializers, _static_y_extraInitializers); - __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); - __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers); - C = _classThis = _classDescriptor.value; - if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); - })(), - _classThis.y = (__runInitializers(_classThis, _staticExtraInitializers), __runInitializers(_classThis, _static_y_initializers, void 0)), - (() => { - __runInitializers(_classThis, _static_y_extraInitializers); - __runInitializers(_classThis, _classExtraInitializers); - })(), - _classThis); + var C = _classThis = class { + constructor(x) { + this.y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, void 0)); + __runInitializers(this, _y_extraInitializers); + } + method(x) { } + set x(x) { } + static method(x) { } + static set x(x) { } + }; + __setFunctionName(_classThis, "C"); + (() => { + const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; + _method_decorators = [dec]; + _set_x_decorators = [dec]; + _y_decorators = [dec]; + _static_method_decorators = [dec]; + _static_set_x_decorators = [dec]; + _static_y_decorators = [dec]; + __esDecorate(_classThis, null, _static_method_decorators, { kind: "method", name: "method", static: true, private: false, access: { has: obj => "method" in obj, get: obj => obj.method }, metadata: _metadata }, null, _staticExtraInitializers); + __esDecorate(_classThis, null, _static_set_x_decorators, { kind: "setter", name: "x", static: true, private: false, access: { has: obj => "x" in obj, set: (obj, value) => { obj.x = value; } }, metadata: _metadata }, null, _staticExtraInitializers); + __esDecorate(_classThis, null, _method_decorators, { kind: "method", name: "method", static: false, private: false, access: { has: obj => "method" in obj, get: obj => obj.method }, metadata: _metadata }, null, _instanceExtraInitializers); + __esDecorate(_classThis, null, _set_x_decorators, { kind: "setter", name: "x", static: false, private: false, access: { has: obj => "x" in obj, set: (obj, value) => { obj.x = value; } }, metadata: _metadata }, null, _instanceExtraInitializers); + __esDecorate(null, null, _static_y_decorators, { kind: "field", name: "y", static: true, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _static_y_initializers, _static_y_extraInitializers); + __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); + __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers); + C = _classThis = _classDescriptor.value; + if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); + })(); + _classThis.y = (__runInitializers(_classThis, _staticExtraInitializers), __runInitializers(_classThis, _static_y_initializers, void 0)); + (() => { + __runInitializers(_classThis, _static_y_extraInitializers); + __runInitializers(_classThis, _classExtraInitializers); + })(); return C = _classThis; })()); diff --git a/tests/baselines/reference/esDecorators-emitDecoratorMetadata(target=es5).js b/tests/baselines/reference/esDecorators-emitDecoratorMetadata(target=es5).js index 37e841960398c..37540d64860a1 100644 --- a/tests/baselines/reference/esDecorators-emitDecoratorMetadata(target=es5).js +++ b/tests/baselines/reference/esDecorators-emitDecoratorMetadata(target=es5).js @@ -128,49 +128,48 @@ var C = function () { var _y_decorators; var _y_initializers = []; var _y_extraInitializers = []; - var C = (_classThis = /** @class */ (function () { - function class_1(x) { - this.y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, void 0)); - __runInitializers(this, _y_extraInitializers); - } - class_1.prototype.method = function (x) { }; - Object.defineProperty(class_1.prototype, "x", { - set: function (x) { }, - enumerable: false, - configurable: true - }); - class_1.method = function (x) { }; - Object.defineProperty(class_1, "x", { - set: function (x) { }, - enumerable: false, - configurable: true - }); - return class_1; - }()), - __setFunctionName(_classThis, "C"), - (function () { - var _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; - _method_decorators = [dec]; - _set_x_decorators = [dec]; - _y_decorators = [dec]; - _static_method_decorators = [dec]; - _static_set_x_decorators = [dec]; - _static_y_decorators = [dec]; - __esDecorate(_classThis, null, _static_method_decorators, { kind: "method", name: "method", static: true, private: false, access: { has: function (obj) { return "method" in obj; }, get: function (obj) { return obj.method; } }, metadata: _metadata }, null, _staticExtraInitializers); - __esDecorate(_classThis, null, _static_set_x_decorators, { kind: "setter", name: "x", static: true, private: false, access: { has: function (obj) { return "x" in obj; }, set: function (obj, value) { obj.x = value; } }, metadata: _metadata }, null, _staticExtraInitializers); - __esDecorate(_classThis, null, _method_decorators, { kind: "method", name: "method", static: false, private: false, access: { has: function (obj) { return "method" in obj; }, get: function (obj) { return obj.method; } }, metadata: _metadata }, null, _instanceExtraInitializers); - __esDecorate(_classThis, null, _set_x_decorators, { kind: "setter", name: "x", static: false, private: false, access: { has: function (obj) { return "x" in obj; }, set: function (obj, value) { obj.x = value; } }, metadata: _metadata }, null, _instanceExtraInitializers); - __esDecorate(null, null, _static_y_decorators, { kind: "field", name: "y", static: true, private: false, access: { has: function (obj) { return "y" in obj; }, get: function (obj) { return obj.y; }, set: function (obj, value) { obj.y = value; } }, metadata: _metadata }, _static_y_initializers, _static_y_extraInitializers); - __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: function (obj) { return "y" in obj; }, get: function (obj) { return obj.y; }, set: function (obj, value) { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); - __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers); - C = _classThis = _classDescriptor.value; - if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); - })(), - _classThis.y = (__runInitializers(_classThis, _staticExtraInitializers), __runInitializers(_classThis, _static_y_initializers, void 0)), - (function () { - __runInitializers(_classThis, _static_y_extraInitializers); - __runInitializers(_classThis, _classExtraInitializers); - })(), - _classThis); + var C = _classThis = /** @class */ (function () { + function class_1(x) { + this.y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, void 0)); + __runInitializers(this, _y_extraInitializers); + } + class_1.prototype.method = function (x) { }; + Object.defineProperty(class_1.prototype, "x", { + set: function (x) { }, + enumerable: false, + configurable: true + }); + class_1.method = function (x) { }; + Object.defineProperty(class_1, "x", { + set: function (x) { }, + enumerable: false, + configurable: true + }); + return class_1; + }()); + __setFunctionName(_classThis, "C"); + (function () { + var _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; + _method_decorators = [dec]; + _set_x_decorators = [dec]; + _y_decorators = [dec]; + _static_method_decorators = [dec]; + _static_set_x_decorators = [dec]; + _static_y_decorators = [dec]; + __esDecorate(_classThis, null, _static_method_decorators, { kind: "method", name: "method", static: true, private: false, access: { has: function (obj) { return "method" in obj; }, get: function (obj) { return obj.method; } }, metadata: _metadata }, null, _staticExtraInitializers); + __esDecorate(_classThis, null, _static_set_x_decorators, { kind: "setter", name: "x", static: true, private: false, access: { has: function (obj) { return "x" in obj; }, set: function (obj, value) { obj.x = value; } }, metadata: _metadata }, null, _staticExtraInitializers); + __esDecorate(_classThis, null, _method_decorators, { kind: "method", name: "method", static: false, private: false, access: { has: function (obj) { return "method" in obj; }, get: function (obj) { return obj.method; } }, metadata: _metadata }, null, _instanceExtraInitializers); + __esDecorate(_classThis, null, _set_x_decorators, { kind: "setter", name: "x", static: false, private: false, access: { has: function (obj) { return "x" in obj; }, set: function (obj, value) { obj.x = value; } }, metadata: _metadata }, null, _instanceExtraInitializers); + __esDecorate(null, null, _static_y_decorators, { kind: "field", name: "y", static: true, private: false, access: { has: function (obj) { return "y" in obj; }, get: function (obj) { return obj.y; }, set: function (obj, value) { obj.y = value; } }, metadata: _metadata }, _static_y_initializers, _static_y_extraInitializers); + __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: function (obj) { return "y" in obj; }, get: function (obj) { return obj.y; }, set: function (obj, value) { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); + __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers); + C = _classThis = _classDescriptor.value; + if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); + })(); + _classThis.y = (__runInitializers(_classThis, _staticExtraInitializers), __runInitializers(_classThis, _static_y_initializers, void 0)); + (function () { + __runInitializers(_classThis, _static_y_extraInitializers); + __runInitializers(_classThis, _classExtraInitializers); + })(); return C = _classThis; })()); diff --git a/tests/baselines/reference/esDecorators-preservesThis.types b/tests/baselines/reference/esDecorators-preservesThis.types index 1a57b35168456..25ffe8eb53e2b 100644 --- a/tests/baselines/reference/esDecorators-preservesThis.types +++ b/tests/baselines/reference/esDecorators-preservesThis.types @@ -29,11 +29,11 @@ class C { @instance.decorate >instance.decorate : (this: DecoratorProvider, v: T, ctx: DecoratorContext) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >instance : DecoratorProvider > : ^^^^^^^^^^^^^^^^^ >decorate : (this: DecoratorProvider, v: T, ctx: DecoratorContext) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ method1() { } >method1 : () => void @@ -41,9 +41,9 @@ class C { @(instance["decorate"]) >(instance["decorate"]) : (this: DecoratorProvider, v: T, ctx: DecoratorContext) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >instance["decorate"] : (this: DecoratorProvider, v: T, ctx: DecoratorContext) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >instance : DecoratorProvider > : ^^^^^^^^^^^^^^^^^ >"decorate" : "decorate" @@ -56,15 +56,15 @@ class C { // even in parens @((instance.decorate)) >((instance.decorate)) : (this: DecoratorProvider, v: T, ctx: DecoratorContext) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >(instance.decorate) : (this: DecoratorProvider, v: T, ctx: DecoratorContext) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >instance.decorate : (this: DecoratorProvider, v: T, ctx: DecoratorContext) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >instance : DecoratorProvider > : ^^^^^^^^^^^^^^^^^ >decorate : (this: DecoratorProvider, v: T, ctx: DecoratorContext) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ method3() { } >method3 : () => void @@ -88,13 +88,13 @@ class D extends DecoratorProvider { @(super.decorate) >(super.decorate) : (this: DecoratorProvider, v: T, ctx: DecoratorContext) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >super.decorate : (this: DecoratorProvider, v: T, ctx: DecoratorContext) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >super : DecoratorProvider > : ^^^^^^^^^^^^^^^^^ >decorate : (this: DecoratorProvider, v: T, ctx: DecoratorContext) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ method1() { } >method1 : () => void @@ -102,9 +102,9 @@ class D extends DecoratorProvider { @(super["decorate"]) >(super["decorate"]) : (this: DecoratorProvider, v: T, ctx: DecoratorContext) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >super["decorate"] : (this: DecoratorProvider, v: T, ctx: DecoratorContext) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >super : DecoratorProvider > : ^^^^^^^^^^^^^^^^^ >"decorate" : "decorate" @@ -116,15 +116,15 @@ class D extends DecoratorProvider { @((super.decorate)) >((super.decorate)) : (this: DecoratorProvider, v: T, ctx: DecoratorContext) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >(super.decorate) : (this: DecoratorProvider, v: T, ctx: DecoratorContext) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >super.decorate : (this: DecoratorProvider, v: T, ctx: DecoratorContext) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >super : DecoratorProvider > : ^^^^^^^^^^^^^^^^^ >decorate : (this: DecoratorProvider, v: T, ctx: DecoratorContext) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ method3() { } >method3 : () => void diff --git a/tests/baselines/reference/esDecoratorsClassFieldsCrash.js b/tests/baselines/reference/esDecoratorsClassFieldsCrash.js new file mode 100644 index 0000000000000..99869d7b5f1d1 --- /dev/null +++ b/tests/baselines/reference/esDecoratorsClassFieldsCrash.js @@ -0,0 +1,104 @@ +//// [tests/cases/compiler/esDecoratorsClassFieldsCrash.ts] //// + +//// [esDecoratorsClassFieldsCrash.ts] +// https://github.com/microsoft/TypeScript/issues/58436 +const dec = (x: number, y: number, z: number, t: number) => (_: any, ctx: DecoratorContext): any => { }; +const Foo = class { + @dec(1, 3, 3, 1) field: undefined + @dec(2, 2, 0, 0) static field: undefined + @dec(3, 1, 4, 1) accessor accessor: undefined + @dec(4, 0, 1, 0) static accessor accessor: undefined + // ~~~~~~~~~~~~~~~ along with compiler options above caused the following crash: + // + // Error: Debug Failure. + // at getClassThis (src\compiler\transformers\classFields.ts:906:22) + // at transformAutoAccessor (src\compiler\transformers\classFields.ts:948:43 + // ... +} + + +//// [esDecoratorsClassFieldsCrash.js] +var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) { + function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; } + var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value"; + var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null; + var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {}); + var _, done = false; + for (var i = decorators.length - 1; i >= 0; i--) { + var context = {}; + for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p]; + for (var p in contextIn.access) context.access[p] = contextIn.access[p]; + context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); }; + var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context); + if (kind === "accessor") { + if (result === void 0) continue; + if (result === null || typeof result !== "object") throw new TypeError("Object expected"); + if (_ = accept(result.get)) descriptor.get = _; + if (_ = accept(result.set)) descriptor.set = _; + if (_ = accept(result.init)) initializers.unshift(_); + } + else if (_ = accept(result)) { + if (kind === "field") initializers.unshift(_); + else descriptor[key] = _; + } + } + if (target) Object.defineProperty(target, contextIn.name, descriptor); + done = true; +}; +var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) { + var useValue = arguments.length > 2; + for (var i = 0; i < initializers.length; i++) { + value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg); + } + return useValue ? value : void 0; +}; +var __setFunctionName = (this && this.__setFunctionName) || function (f, name, prefix) { + if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : ""; + return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name }); +}; +// https://github.com/microsoft/TypeScript/issues/58436 +const dec = (x, y, z, t) => (_, ctx) => { }; +const Foo = (() => { + let _static_field_decorators; + let _static_field_initializers = []; + let _static_field_extraInitializers = []; + let _static_accessor_decorators; + let _static_accessor_initializers = []; + let _static_accessor_extraInitializers = []; + let _field_decorators; + let _field_initializers = []; + let _field_extraInitializers = []; + let _accessor_decorators; + let _accessor_initializers = []; + let _accessor_extraInitializers = []; + return class { + static { __setFunctionName(this, "Foo"); } + static { + const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; + _field_decorators = [dec(1, 3, 3, 1)]; + _static_field_decorators = [dec(2, 2, 0, 0)]; + _accessor_decorators = [dec(3, 1, 4, 1)]; + _static_accessor_decorators = [dec(4, 0, 1, 0)]; + __esDecorate(this, null, _static_accessor_decorators, { kind: "accessor", name: "accessor", static: true, private: false, access: { has: obj => "accessor" in obj, get: obj => obj.accessor, set: (obj, value) => { obj.accessor = value; } }, metadata: _metadata }, _static_accessor_initializers, _static_accessor_extraInitializers); + __esDecorate(this, null, _accessor_decorators, { kind: "accessor", name: "accessor", static: false, private: false, access: { has: obj => "accessor" in obj, get: obj => obj.accessor, set: (obj, value) => { obj.accessor = value; } }, metadata: _metadata }, _accessor_initializers, _accessor_extraInitializers); + __esDecorate(null, null, _static_field_decorators, { kind: "field", name: "field", static: true, private: false, access: { has: obj => "field" in obj, get: obj => obj.field, set: (obj, value) => { obj.field = value; } }, metadata: _metadata }, _static_field_initializers, _static_field_extraInitializers); + __esDecorate(null, null, _field_decorators, { kind: "field", name: "field", static: false, private: false, access: { has: obj => "field" in obj, get: obj => obj.field, set: (obj, value) => { obj.field = value; } }, metadata: _metadata }, _field_initializers, _field_extraInitializers); + if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); + } + static { this.field = __runInitializers(this, _static_field_initializers, void 0); } + #accessor_accessor_storage; + get accessor() { return this.#accessor_accessor_storage; } + set accessor(value) { this.#accessor_accessor_storage = value; } + static #accessor_1_accessor_storage = (__runInitializers(this, _static_field_extraInitializers), __runInitializers(this, _static_accessor_initializers, void 0)); + static get accessor() { return this.#accessor_1_accessor_storage; } + static set accessor(value) { this.#accessor_1_accessor_storage = value; } + constructor() { + this.field = __runInitializers(this, _field_initializers, void 0); + this.#accessor_accessor_storage = (__runInitializers(this, _field_extraInitializers), __runInitializers(this, _accessor_initializers, void 0)); + __runInitializers(this, _accessor_extraInitializers); + } + static { + __runInitializers(this, _static_accessor_extraInitializers); + } + }; +})(); diff --git a/tests/baselines/reference/esModuleInterop.types b/tests/baselines/reference/esModuleInterop.types index 951886cf0189a..8abd6e1ed1768 100644 --- a/tests/baselines/reference/esModuleInterop.types +++ b/tests/baselines/reference/esModuleInterop.types @@ -24,7 +24,7 @@ export = anything; === mjts.ts === import { sayHello } from "./hybrid"; >sayHello : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ import path from "./path"; >path : any @@ -40,7 +40,7 @@ sayHello(); >sayHello() : string > : ^^^^^^ >sayHello : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ fs; >fs : any diff --git a/tests/baselines/reference/esModuleInteropDefaultImports.types b/tests/baselines/reference/esModuleInteropDefaultImports.types index 6dfbad4790138..fc1272c0c384c 100644 --- a/tests/baselines/reference/esModuleInteropDefaultImports.types +++ b/tests/baselines/reference/esModuleInteropDefaultImports.types @@ -7,7 +7,7 @@ declare function fun(): void; export default fun; >fun : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ === a.ts === import mod = require("./mod"); @@ -153,47 +153,47 @@ a.default(); >a.default() : void > : ^^^^ >a.default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >a : typeof a > : ^^^^^^^^ >default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ b.default(); >b.default() : void > : ^^^^ >b.default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >b : typeof a > : ^^^^^^^^ >default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ c.default(); >c.default() : void > : ^^^^ >c.default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >c : typeof a > : ^^^^^^^^ >default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ d.default(); >d.default() : void > : ^^^^ >d.default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >d : typeof a > : ^^^^^^^^ >default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ self.default.default(); >self.default.default() : void > : ^^^^ >self.default.default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >self.default : typeof a > : ^^^^^^^^ >self : typeof self @@ -201,13 +201,13 @@ self.default.default(); >default : typeof a > : ^^^^^^^^ >default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ self.def.default(); >self.def.default() : void > : ^^^^ >self.def.default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >self.def : typeof a > : ^^^^^^^^ >self : typeof self @@ -215,5 +215,5 @@ self.def.default(); >def : typeof a > : ^^^^^^^^ >default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/esModuleInteropImportCall.types b/tests/baselines/reference/esModuleInteropImportCall.types index c55b8608632e5..85bcc4c7d1e81 100644 --- a/tests/baselines/reference/esModuleInteropImportCall.types +++ b/tests/baselines/reference/esModuleInteropImportCall.types @@ -8,31 +8,31 @@ declare function foo(): void; declare namespace foo {} export = foo; >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ === index.ts === import("./foo").then(f => { >import("./foo").then(f => { f.default;}) : Promise > : ^^^^^^^^^^^^^ >import("./foo").then : void; }, TResult2 = never>(onfulfilled?: (value: { default: () => void; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >import("./foo") : Promise<{ default: () => void; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >"./foo" : "./foo" > : ^^^^^^^ >then : void; }, TResult2 = never>(onfulfilled?: (value: { default: () => void; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >f => { f.default;} : (f: { default: () => void; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ >f : { default: () => void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^^ f.default; >f.default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >f : { default: () => void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^^ >default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ }); diff --git a/tests/baselines/reference/esModuleInteropImportNamespace.types b/tests/baselines/reference/esModuleInteropImportNamespace.types index 76c8839e9c3ab..10f64f2650f35 100644 --- a/tests/baselines/reference/esModuleInteropImportNamespace.types +++ b/tests/baselines/reference/esModuleInteropImportNamespace.types @@ -8,18 +8,18 @@ declare function foo(): void; declare namespace foo {} export = foo; >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ === index.ts === import * as foo from "./foo"; >foo : { default: () => void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^^ foo.default; >foo.default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >foo : { default: () => void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^^ >default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/esModuleInteropPrettyErrorRelatedInformation.types b/tests/baselines/reference/esModuleInteropPrettyErrorRelatedInformation.types index 8d5d1bb5aba7b..923d9cf2d2406 100644 --- a/tests/baselines/reference/esModuleInteropPrettyErrorRelatedInformation.types +++ b/tests/baselines/reference/esModuleInteropPrettyErrorRelatedInformation.types @@ -8,12 +8,12 @@ declare function foo(): void; declare namespace foo {} export = foo; >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ === index.ts === import * as foo from "./foo"; >foo : { default: () => void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^^ function invoke(f: () => void) { f(); } >invoke : (f: () => void) => void @@ -23,7 +23,7 @@ function invoke(f: () => void) { f(); } >f() : void > : ^^^^ >f : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ invoke(foo); >invoke(foo) : void @@ -31,5 +31,5 @@ invoke(foo); >invoke : (f: () => void) => void > : ^ ^^ ^^^^^^^^^ >foo : { default: () => void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^^ diff --git a/tests/baselines/reference/esModuleInteropTslibHelpers.errors.txt b/tests/baselines/reference/esModuleInteropTslibHelpers.errors.txt index d7dade1966e03..5fe5b5fd20ba1 100644 --- a/tests/baselines/reference/esModuleInteropTslibHelpers.errors.txt +++ b/tests/baselines/reference/esModuleInteropTslibHelpers.errors.txt @@ -1,4 +1,6 @@ file2.ts(1,1): error TS2354: This syntax requires an imported helper but module 'tslib' cannot be found. +file3.ts(1,9): error TS2354: This syntax requires an imported helper but module 'tslib' cannot be found. +file4.ts(1,14): error TS2354: This syntax requires an imported helper but module 'tslib' cannot be found. ==== refs.d.ts (0 errors) ==== @@ -13,11 +15,15 @@ file2.ts(1,1): error TS2354: This syntax requires an imported helper but module !!! error TS2354: This syntax requires an imported helper but module 'tslib' cannot be found. path.resolve("", "../"); export class Foo2 { } -==== file3.ts (0 errors) ==== +==== file3.ts (1 errors) ==== import {default as resolve} from "path"; + ~~~~~~~~~~~~~~~~~~ +!!! error TS2354: This syntax requires an imported helper but module 'tslib' cannot be found. resolve("", "../"); export class Foo3 { } -==== file4.ts (0 errors) ==== +==== file4.ts (1 errors) ==== import {Bar, default as resolve} from "path"; + ~~~~~~~~~~~~~~~~~~ +!!! error TS2354: This syntax requires an imported helper but module 'tslib' cannot be found. resolve("", "../"); export { Bar } \ No newline at end of file diff --git a/tests/baselines/reference/esModuleIntersectionCrash.types b/tests/baselines/reference/esModuleIntersectionCrash.types index 543ecd5584b8d..2f8db92407fdb 100644 --- a/tests/baselines/reference/esModuleIntersectionCrash.types +++ b/tests/baselines/reference/esModuleIntersectionCrash.types @@ -27,13 +27,13 @@ declare namespace modObj { === idx.ts === import * as mod from "./mod"; >mod : { default: mod.A & mod.B; a: string; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ mod.a; >mod.a : string > : ^^^^^^ >mod : { default: mod.A & mod.B; a: string; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >a : string > : ^^^^^^ @@ -41,7 +41,7 @@ mod.b; >mod.b : string > : ^^^^^^ >mod : { default: mod.A & mod.B; a: string; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >b : string > : ^^^^^^ diff --git a/tests/baselines/reference/esNextWeakRefs_IterableWeakMap.symbols b/tests/baselines/reference/esNextWeakRefs_IterableWeakMap.symbols index 5af85b38568d1..22f9533da2564 100644 --- a/tests/baselines/reference/esNextWeakRefs_IterableWeakMap.symbols +++ b/tests/baselines/reference/esNextWeakRefs_IterableWeakMap.symbols @@ -13,7 +13,7 @@ const IterableWeakMap_cleanup = ({ ref, set }: { readonly set: Set>; >set : Symbol(set, Decl(esNextWeakRefs_IterableWeakMap.ts, 2, 34)) ->Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.esnext.collection.d.ts, --, --)) >WeakRef : Symbol(WeakRef, Decl(lib.es2021.weakref.d.ts, --, --), Decl(lib.es2021.weakref.d.ts, --, --)) }) => { @@ -52,7 +52,7 @@ export class IterableWeakMap implements WeakMap { #refSet = new Set>(); >#refSet : Symbol(IterableWeakMap.#refSet, Decl(esNextWeakRefs_IterableWeakMap.ts, 12, 72)) ->Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.esnext.collection.d.ts, --, --)) >WeakRef : Symbol(WeakRef, Decl(lib.es2021.weakref.d.ts, --, --), Decl(lib.es2021.weakref.d.ts, --, --)) >K : Symbol(K, Decl(esNextWeakRefs_IterableWeakMap.ts, 9, 29)) diff --git a/tests/baselines/reference/esNextWeakRefs_IterableWeakMap.types b/tests/baselines/reference/esNextWeakRefs_IterableWeakMap.types index 2aee7c76d4e61..2d847c5dc6a3b 100644 --- a/tests/baselines/reference/esNextWeakRefs_IterableWeakMap.types +++ b/tests/baselines/reference/esNextWeakRefs_IterableWeakMap.types @@ -25,11 +25,11 @@ const IterableWeakMap_cleanup = ({ ref, set }: { >set.delete(ref) : boolean > : ^^^^^^^ >set.delete : (value: WeakRef) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^ >set : Set> > : ^^^^^^^^^^^^^^^^^^^^ >delete : (value: WeakRef) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^ >ref : WeakRef > : ^^^^^^^^^^^^^^^ @@ -72,9 +72,9 @@ export class IterableWeakMap implements WeakMap { #finalizationGroup = new FinalizationRegistry(IterableWeakMap_cleanup); >#finalizationGroup : FinalizationRegistry<{ readonly ref: WeakRef; readonly set: Set>; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^ >new FinalizationRegistry(IterableWeakMap_cleanup) : FinalizationRegistry<{ readonly ref: WeakRef; readonly set: Set>; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^ >FinalizationRegistry : FinalizationRegistryConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >IterableWeakMap_cleanup : ({ ref, set }: { readonly ref: WeakRef; readonly set: Set>; }) => void @@ -102,11 +102,11 @@ export class IterableWeakMap implements WeakMap { >this.set(key, value) : this > : ^^^^ >this.set : (key: K, value: V) => this -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >set : (key: K, value: V) => this -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >key : K > : ^ >value : V @@ -125,17 +125,17 @@ export class IterableWeakMap implements WeakMap { const entry = this.#weakMap.get(key); >entry : { readonly ref: WeakRef; value: V; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^ >this.#weakMap.get(key) : { readonly ref: WeakRef; value: V; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^ >this.#weakMap.get : (key: K) => { readonly ref: WeakRef; value: V; } | undefined -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ >this.#weakMap : WeakMap; value: V; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^ >this : this > : ^^^^ >get : (key: K) => { readonly ref: WeakRef; value: V; } | undefined -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ >key : K > : ^ @@ -143,7 +143,7 @@ export class IterableWeakMap implements WeakMap { >entry !== undefined : boolean > : ^^^^^^^ >entry : { readonly ref: WeakRef; value: V; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ @@ -153,7 +153,7 @@ export class IterableWeakMap implements WeakMap { >entry.value : V > : ^ >entry : { readonly ref: WeakRef; value: V; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ >value : V > : ^ >value : V @@ -172,15 +172,15 @@ export class IterableWeakMap implements WeakMap { this.#weakMap.set(key, { ref, value }); >this.#weakMap.set(key, { ref, value }) : WeakMap; value: V; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^ >this.#weakMap.set : (key: K, value: { readonly ref: WeakRef; value: V; }) => WeakMap; value: V; }> -> : ^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^ >this.#weakMap : WeakMap; value: V; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^ >this : this > : ^^^^ >set : (key: K, value: { readonly ref: WeakRef; value: V; }) => WeakMap; value: V; }> -> : ^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^ >key : K > : ^ >{ ref, value } : { ref: WeakRef; value: V; } @@ -208,13 +208,13 @@ export class IterableWeakMap implements WeakMap { >this.#finalizationGroup.register(key, { set: this.#refSet, ref, }, ref) : void > : ^^^^ >this.#finalizationGroup.register : (target: WeakKey, heldValue: { readonly ref: WeakRef; readonly set: Set>; }, unregisterToken?: WeakKey) => void -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^ ^^^ ^^^^^ >this.#finalizationGroup : FinalizationRegistry<{ readonly ref: WeakRef; readonly set: Set>; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^ >this : this > : ^^^^ >register : (target: WeakKey, heldValue: { readonly ref: WeakRef; readonly set: Set>; }, unregisterToken?: WeakKey) => void -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^ ^^^ ^^^^^ >key : K > : ^ >{ set: this.#refSet, ref, } : { set: Set>; ref: WeakRef; } @@ -251,13 +251,13 @@ export class IterableWeakMap implements WeakMap { >this.#weakMap.has(key) : boolean > : ^^^^^^^ >this.#weakMap.has : (key: K) => boolean -> : ^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^ >this.#weakMap : WeakMap; value: V; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^ >this : this > : ^^^^ >has : (key: K) => boolean -> : ^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^ >key : K > : ^ } @@ -272,15 +272,15 @@ export class IterableWeakMap implements WeakMap { >this.#weakMap.get(key)?.value : V | undefined > : ^^^^^^^^^^^^^ >this.#weakMap.get(key) : { readonly ref: WeakRef; value: V; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^ >this.#weakMap.get : (key: K) => { readonly ref: WeakRef; value: V; } | undefined -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ >this.#weakMap : WeakMap; value: V; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^ >this : this > : ^^^^ >get : (key: K) => { readonly ref: WeakRef; value: V; } | undefined -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ >key : K > : ^ >value : V | undefined @@ -295,17 +295,17 @@ export class IterableWeakMap implements WeakMap { const entry = this.#weakMap.get(key); >entry : { readonly ref: WeakRef; value: V; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^ >this.#weakMap.get(key) : { readonly ref: WeakRef; value: V; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^ >this.#weakMap.get : (key: K) => { readonly ref: WeakRef; value: V; } | undefined -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ >this.#weakMap : WeakMap; value: V; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^ >this : this > : ^^^^ >get : (key: K) => { readonly ref: WeakRef; value: V; } | undefined -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ >key : K > : ^ @@ -313,7 +313,7 @@ export class IterableWeakMap implements WeakMap { >entry === undefined : boolean > : ^^^^^^^ >entry : { readonly ref: WeakRef; value: V; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ @@ -326,19 +326,19 @@ export class IterableWeakMap implements WeakMap { >ref : WeakRef > : ^^^^^^^^^^ >entry : { readonly ref: WeakRef; value: V; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ this.#weakMap.delete(key); >this.#weakMap.delete(key) : boolean > : ^^^^^^^ >this.#weakMap.delete : (key: K) => boolean -> : ^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^ >this.#weakMap : WeakMap; value: V; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^ >this : this > : ^^^^ >delete : (key: K) => boolean -> : ^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^ >key : K > : ^ @@ -346,13 +346,13 @@ export class IterableWeakMap implements WeakMap { >this.#refSet.delete(ref) : boolean > : ^^^^^^^ >this.#refSet.delete : (value: WeakRef) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^ >this.#refSet : Set> > : ^^^^^^^^^^^^^^^ >this : this > : ^^^^ >delete : (value: WeakRef) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^ >ref : WeakRef > : ^^^^^^^^^^ @@ -360,13 +360,13 @@ export class IterableWeakMap implements WeakMap { >this.#finalizationGroup.unregister(ref) : boolean > : ^^^^^^^ >this.#finalizationGroup.unregister : (unregisterToken: WeakKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this.#finalizationGroup : FinalizationRegistry<{ readonly ref: WeakRef; readonly set: Set>; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^ >this : this > : ^^^^ >unregister : (unregisterToken: WeakKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >ref : WeakRef > : ^^^^^^^^^^ @@ -403,11 +403,11 @@ export class IterableWeakMap implements WeakMap { >ref.deref() : K | undefined > : ^^^^^^^^^^^^^ >ref.deref : () => K | undefined -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ >ref : WeakRef > : ^^^^^^^^^^ >deref : () => K | undefined -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ if (key === undefined) continue; >key === undefined : boolean @@ -421,17 +421,17 @@ export class IterableWeakMap implements WeakMap { >value : V > : ^ >this.#weakMap.get(key)! : { readonly ref: WeakRef; value: V; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ >this.#weakMap.get(key) : { readonly ref: WeakRef; value: V; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^ >this.#weakMap.get : (key: K) => { readonly ref: WeakRef; value: V; } | undefined -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ >this.#weakMap : WeakMap; value: V; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^ >this : this > : ^^^^ >get : (key: K) => { readonly ref: WeakRef; value: V; } | undefined -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ >key : K > : ^ @@ -486,11 +486,11 @@ Object.defineProperties(IterableWeakMap.prototype, { >Object.defineProperties(IterableWeakMap.prototype, { [Symbol.iterator]: { configurable: true, enumerable: false, writable: true, value: Object.getOwnPropertyDescriptor( IterableWeakMap.prototype, "entries", )!.value, }, [Symbol.toStringTag]: { configurable: true, enumerable: false, writable: false, value: "IterableWeakMap", },}) : IterableWeakMap > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperties : (o: T, properties: PropertyDescriptorMap & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperties : (o: T, properties: PropertyDescriptorMap & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >IterableWeakMap.prototype : IterableWeakMap > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >IterableWeakMap : typeof IterableWeakMap @@ -538,11 +538,11 @@ Object.defineProperties(IterableWeakMap.prototype, { >Object.getOwnPropertyDescriptor( IterableWeakMap.prototype, "entries", ) : PropertyDescriptor | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.getOwnPropertyDescriptor : (o: any, p: PropertyKey) => PropertyDescriptor | undefined -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >getOwnPropertyDescriptor : (o: any, p: PropertyKey) => PropertyDescriptor | undefined -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ IterableWeakMap.prototype, >IterableWeakMap.prototype : IterableWeakMap diff --git a/tests/baselines/reference/esmModeDeclarationFileWithExportAssignment.types b/tests/baselines/reference/esmModeDeclarationFileWithExportAssignment.types index 8706cc2235b16..e03f7186a9b12 100644 --- a/tests/baselines/reference/esmModeDeclarationFileWithExportAssignment.types +++ b/tests/baselines/reference/esmModeDeclarationFileWithExportAssignment.types @@ -7,7 +7,7 @@ declare function example(): 5; export = example; >example : () => 5 -> : ^^^^^^^ +> : ^^^^^^ === main.mts === import example from "./other.mjs"; diff --git a/tests/baselines/reference/esmNoSynthesizedDefault(module=esnext).types b/tests/baselines/reference/esmNoSynthesizedDefault(module=esnext).types index 9056234732603..226775c657bb3 100644 --- a/tests/baselines/reference/esmNoSynthesizedDefault(module=esnext).types +++ b/tests/baselines/reference/esmNoSynthesizedDefault(module=esnext).types @@ -10,7 +10,7 @@ import mdast, { toString } from 'mdast-util-to-string'; >mdast : any > : ^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ mdast; >mdast : any @@ -40,11 +40,11 @@ mdast2.toString(); >mdast2.toString() : string > : ^^^^^^ >mdast2.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >mdast2 : typeof import("/node_modules/mdast-util-to-string/index") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ mdast2.default; >mdast2.default : any diff --git a/tests/baselines/reference/esmNoSynthesizedDefault(module=preserve).types b/tests/baselines/reference/esmNoSynthesizedDefault(module=preserve).types index 9056234732603..226775c657bb3 100644 --- a/tests/baselines/reference/esmNoSynthesizedDefault(module=preserve).types +++ b/tests/baselines/reference/esmNoSynthesizedDefault(module=preserve).types @@ -10,7 +10,7 @@ import mdast, { toString } from 'mdast-util-to-string'; >mdast : any > : ^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ mdast; >mdast : any @@ -40,11 +40,11 @@ mdast2.toString(); >mdast2.toString() : string > : ^^^^^^ >mdast2.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >mdast2 : typeof import("/node_modules/mdast-util-to-string/index") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ mdast2.default; >mdast2.default : any diff --git a/tests/baselines/reference/esnextmodulekindWithES5Target.types b/tests/baselines/reference/esnextmodulekindWithES5Target.types index 1610f9ea7b0ad..5cd5a5032fb6b 100644 --- a/tests/baselines/reference/esnextmodulekindWithES5Target.types +++ b/tests/baselines/reference/esnextmodulekindWithES5Target.types @@ -35,7 +35,7 @@ declare function foo(...args: any[]): any; @foo >foo : (...args: any[]) => any -> : ^^^^ ^^ ^^^^^^^^ +> : ^^^^ ^^ ^^^^^ export class D { >D : D diff --git a/tests/baselines/reference/esnextmodulekindWithES5Target11.types b/tests/baselines/reference/esnextmodulekindWithES5Target11.types index 05dc02363c3a1..2fab10f702960 100644 --- a/tests/baselines/reference/esnextmodulekindWithES5Target11.types +++ b/tests/baselines/reference/esnextmodulekindWithES5Target11.types @@ -9,7 +9,7 @@ declare function foo(...args: any[]): any; @foo >foo : (...args: any[]) => any -> : ^^^^ ^^ ^^^^^^^^ +> : ^^^^ ^^ ^^^^^ export default class C { >C : C diff --git a/tests/baselines/reference/esnextmodulekindWithES5Target3.types b/tests/baselines/reference/esnextmodulekindWithES5Target3.types index 0fa22932dcfab..896b8f05d72b5 100644 --- a/tests/baselines/reference/esnextmodulekindWithES5Target3.types +++ b/tests/baselines/reference/esnextmodulekindWithES5Target3.types @@ -9,7 +9,7 @@ declare function foo(...args: any[]): any; @foo >foo : (...args: any[]) => any -> : ^^^^ ^^ ^^^^^^^^ +> : ^^^^ ^^ ^^^^^ export default class D { >D : D diff --git a/tests/baselines/reference/evalAfter0.types b/tests/baselines/reference/evalAfter0.types index d17e8f5ca74cf..3c6a1c4df8dd0 100644 --- a/tests/baselines/reference/evalAfter0.types +++ b/tests/baselines/reference/evalAfter0.types @@ -5,13 +5,13 @@ >(0,eval)("10") : any > : ^^^ >(0,eval) : (x: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >0,eval : (x: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ >eval : (x: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >"10" : "10" > : ^^^^ diff --git a/tests/baselines/reference/eventEmitterPatternWithRecordOfFunction.types b/tests/baselines/reference/eventEmitterPatternWithRecordOfFunction.types index f6f49dce66870..e976f32268f73 100644 --- a/tests/baselines/reference/eventEmitterPatternWithRecordOfFunction.types +++ b/tests/baselines/reference/eventEmitterPatternWithRecordOfFunction.types @@ -24,7 +24,7 @@ type EventMap = Record; interface B extends A { emit(event: Event, ...args: Args): boolean; >emit : (event: Event, ...args: Args) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >event : Event > : ^^^^^ >args : Args diff --git a/tests/baselines/reference/everyTypeAssignableToAny.types b/tests/baselines/reference/everyTypeAssignableToAny.types index 42b354c8f5dd5..3cda00c95ba2d 100644 --- a/tests/baselines/reference/everyTypeAssignableToAny.types +++ b/tests/baselines/reference/everyTypeAssignableToAny.types @@ -160,10 +160,10 @@ a = i; a = j; >a = j : () => {} -> : ^^^^^^^^ +> : ^^^^^^ >a : any >j : () => {} -> : ^^^^^^^^ +> : ^^^^^^ a = k; >a = k : Function @@ -174,10 +174,10 @@ a = k; a = l; >a = l : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : any >l : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ a = m; >a = m : number[] @@ -188,10 +188,10 @@ a = m; a = o; >a = o : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a : any >o : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ a = p; >a = p : Number @@ -230,7 +230,7 @@ a = ae; function foo(x: T, y: U, z: V) { >foo : (x: T, y: U, z: V) => void -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ >y : U diff --git a/tests/baselines/reference/everyTypeWithAnnotationAndInitializer.types b/tests/baselines/reference/everyTypeWithAnnotationAndInitializer.types index e58441f238418..85fd6c3f36b3c 100644 --- a/tests/baselines/reference/everyTypeWithAnnotationAndInitializer.types +++ b/tests/baselines/reference/everyTypeWithAnnotationAndInitializer.types @@ -62,11 +62,11 @@ module M { >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } var aNumber: number = 9.9; @@ -159,11 +159,11 @@ var anOtherObjectLiteral: { id: number } = new C(); var aFunction: typeof F = F; >aFunction : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >F : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >F : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var anOtherFunction: (x: string) => number = F; >anOtherFunction : (x: string) => number @@ -171,13 +171,13 @@ var anOtherFunction: (x: string) => number = F; >x : string > : ^^^^^^ >F : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var aLambda: typeof F = (x) => 2; >aLambda : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >F : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(x) => 2 : (x: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : string @@ -209,13 +209,13 @@ var aClassInModule: M.A = new M.A(); var aFunctionInModule: typeof M.F2 = (x) => 'this is a string'; >aFunctionInModule : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >M.F2 : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >M : typeof M > : ^^^^^^^^ >F2 : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(x) => 'this is a string' : (x: number) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/everyTypeWithAnnotationAndInvalidInitializer.types b/tests/baselines/reference/everyTypeWithAnnotationAndInvalidInitializer.types index 241f22a0d4c5c..5bd5b847f8c3e 100644 --- a/tests/baselines/reference/everyTypeWithAnnotationAndInvalidInitializer.types +++ b/tests/baselines/reference/everyTypeWithAnnotationAndInvalidInitializer.types @@ -74,11 +74,11 @@ module M { >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } module N { @@ -102,11 +102,11 @@ module N { >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } var aNumber: number = 'this is a string'; @@ -179,11 +179,11 @@ var anOtherObjectLiteral: { id: string } = new C(); var aFunction: typeof F = F2; >aFunction : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >F : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >F2 : (x: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var anOtherFunction: (x: string) => number = F2; >anOtherFunction : (x: string) => number @@ -191,13 +191,13 @@ var anOtherFunction: (x: string) => number = F2; >x : string > : ^^^^^^ >F2 : (x: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var aLambda: typeof F = (x) => 'a string'; >aLambda : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >F : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(x) => 'a string' : (x: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >x : string @@ -229,14 +229,14 @@ var aClassInModule: M.A = new N.A(); var aFunctionInModule: typeof M.F2 = F2; >aFunctionInModule : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >M.F2 : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >M : typeof M > : ^^^^^^^^ >F2 : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >F2 : (x: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ diff --git a/tests/baselines/reference/everyTypeWithInitializer.types b/tests/baselines/reference/everyTypeWithInitializer.types index 0f37f491c8d54..acf32aa08f5c3 100644 --- a/tests/baselines/reference/everyTypeWithInitializer.types +++ b/tests/baselines/reference/everyTypeWithInitializer.types @@ -62,11 +62,11 @@ module M { >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } var aNumber = 9.9; @@ -144,9 +144,9 @@ var anObjectLiteral = { id: 12 }; var aFunction = F; >aFunction : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >F : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var aLambda = (x) => 2; >aLambda : (x: any) => number @@ -177,13 +177,13 @@ var aClassInModule = new M.A(); var aFunctionInModule = M.F2; >aFunctionInModule : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >M.F2 : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >M : typeof M > : ^^^^^^^^ >F2 : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ // no initializer or annotation, so this is an 'any' var x; diff --git a/tests/baselines/reference/evolvingArrayResolvedAssert.types b/tests/baselines/reference/evolvingArrayResolvedAssert.types index 7f01dfb4b518f..a786f461c3998 100644 --- a/tests/baselines/reference/evolvingArrayResolvedAssert.types +++ b/tests/baselines/reference/evolvingArrayResolvedAssert.types @@ -17,11 +17,11 @@ for (var a in C) { >C.hasOwnProperty(a) : boolean > : ^^^^^^^ >C.hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >C : any[] > : ^^^^^ >hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : string > : ^^^^^^ } diff --git a/tests/baselines/reference/evolvingArrayTypeInAssert.types b/tests/baselines/reference/evolvingArrayTypeInAssert.types index 3a72e9fd29fec..de20f43de6cfb 100644 --- a/tests/baselines/reference/evolvingArrayTypeInAssert.types +++ b/tests/baselines/reference/evolvingArrayTypeInAssert.types @@ -21,11 +21,11 @@ function yadda() { >out.push(100) : number > : ^^^^^^ >out.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >out : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >100 : 100 > : ^^^ @@ -33,7 +33,7 @@ function yadda() { >unsafeCast(out) : void > : ^^^^ >unsafeCast : (_value: unknown) => asserts _value is T -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >out : number[] > : ^^^^^^^^ diff --git a/tests/baselines/reference/excessPropertiesInOverloads.types b/tests/baselines/reference/excessPropertiesInOverloads.types index 22a7b21e09844..3a8cbe8150851 100644 --- a/tests/baselines/reference/excessPropertiesInOverloads.types +++ b/tests/baselines/reference/excessPropertiesInOverloads.types @@ -3,7 +3,7 @@ === excessPropertiesInOverloads.ts === declare function fn(a: { x: string }): void; >fn : { (a: { x: string; }): void; (a: { y: string; }): void; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : { x: string; } > : ^^^^^ ^^^ >x : string @@ -11,7 +11,7 @@ declare function fn(a: { x: string }): void; declare function fn(a: { y: string }): void; >fn : { (a: { x: string; }): void; (a: { y: string; }): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : { y: string; } > : ^^^^^ ^^^ >y : string @@ -21,7 +21,7 @@ fn({ z: 3, a: 3 }); >fn({ z: 3, a: 3 }) : void > : ^^^^ >fn : { (a: { x: string; }): void; (a: { y: string; }): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >{ z: 3, a: 3 } : { z: number; a: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >z : number diff --git a/tests/baselines/reference/excessPropertyCheckIntersectionWithIndexSignature.types b/tests/baselines/reference/excessPropertyCheckIntersectionWithIndexSignature.types index 0eea87275a246..4e0fa554019cd 100644 --- a/tests/baselines/reference/excessPropertyCheckIntersectionWithIndexSignature.types +++ b/tests/baselines/reference/excessPropertyCheckIntersectionWithIndexSignature.types @@ -19,7 +19,7 @@ x = { y: { a: 0 } }; // Error >x = { y: { a: 0 } } : { y: { a: 0; }; } > : ^^^^^^^^^^^^^^^^^ >x : { [x: string]: { a: 0; }; } & { [x: string]: { b: 0; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >{ y: { a: 0 } } : { y: { a: 0; }; } > : ^^^^^^^^^^^^^^^^^ >y : { a: 0; } @@ -35,7 +35,7 @@ x = { y: { a: 0, b: 0 } }; >x = { y: { a: 0, b: 0 } } : { y: { a: 0; b: 0; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^ >x : { [x: string]: { a: 0; }; } & { [x: string]: { b: 0; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >{ y: { a: 0, b: 0 } } : { y: { a: 0; b: 0; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^ >y : { a: 0; b: 0; } @@ -55,7 +55,7 @@ x = { y: { a: 0, b: 0, c: 0 } }; // Error >x = { y: { a: 0, b: 0, c: 0 } } : { y: { a: 0; b: 0; c: number; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { [x: string]: { a: 0; }; } & { [x: string]: { b: 0; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >{ y: { a: 0, b: 0, c: 0 } } : { y: { a: 0; b: 0; c: number; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >y : { a: 0; b: 0; c: number; } diff --git a/tests/baselines/reference/excessPropertyCheckIntersectionWithRecursiveType.types b/tests/baselines/reference/excessPropertyCheckIntersectionWithRecursiveType.types index d768a600b1d2a..c54118586116f 100644 --- a/tests/baselines/reference/excessPropertyCheckIntersectionWithRecursiveType.types +++ b/tests/baselines/reference/excessPropertyCheckIntersectionWithRecursiveType.types @@ -80,7 +80,7 @@ type Schema2 = (T extends boolean ? { type: 'boolean'; } & Example : { pro export const schemaObj2: Schema2 = { >schemaObj2 : { props: { l1: { props: { l2: ({ type: "boolean"; } & Example) | ({ type: "boolean"; } & Example); }; } & Example<{ l2: boolean; }>; }; } & Example -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ props: { l1: { props: { l2: { type: 'boolean' }, invalid: false, }, }, },} : { props: { l1: { props: { l2: { type: "boolean"; }; invalid: boolean; }; }; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -186,7 +186,7 @@ type Schema4 = (T extends boolean ? { type: 'boolean'; } & Example : { pro export const schemaObj4: Schema4 = { >schemaObj4 : { props: Example & { l1: { props: Example<{ l2: boolean; }> & { l2: ({ type: "boolean"; } & Example) | ({ type: "boolean"; } & Example); }; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ props: { l1: { props: { l2: { type: 'boolean' }, invalid: false, }, }, },} : { props: { l1: { props: { l2: { type: "boolean"; }; invalid: boolean; }; }; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/excessPropertyCheckWithEmptyObject.types b/tests/baselines/reference/excessPropertyCheckWithEmptyObject.types index ec197aadbbe12..b4f6939427e18 100644 --- a/tests/baselines/reference/excessPropertyCheckWithEmptyObject.types +++ b/tests/baselines/reference/excessPropertyCheckWithEmptyObject.types @@ -8,11 +8,11 @@ Object.defineProperty(window, "prop", { value: "v1.0.0", readonly: false }); >Object.defineProperty(window, "prop", { value: "v1.0.0", readonly: false }) : Window & typeof globalThis > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >window : Window & typeof globalThis > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >"prop" : "prop" diff --git a/tests/baselines/reference/excessPropertyCheckWithSpread.types b/tests/baselines/reference/excessPropertyCheckWithSpread.types index 9c5e06e1b93f0..b9825d98b61cb 100644 --- a/tests/baselines/reference/excessPropertyCheckWithSpread.types +++ b/tests/baselines/reference/excessPropertyCheckWithSpread.types @@ -22,9 +22,9 @@ f({ a: 1, ...i }); >f({ a: 1, ...i }) : void > : ^^^^ >f : ({ a: number }: { a: any; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^ >{ a: 1, ...i } : { n: number; a: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^ >a : number > : ^^^^^^ >1 : 1 @@ -54,7 +54,7 @@ f({ a: 1, ...l, ...r }); >f({ a: 1, ...l, ...r }) : void > : ^^^^ >f : ({ a: number }: { a: any; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^ >{ a: 1, ...l, ...r } : { opt: string | number; a: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number diff --git a/tests/baselines/reference/excessPropertyCheckWithUnions.types b/tests/baselines/reference/excessPropertyCheckWithUnions.types index 39af7d81ae15c..bdfafe1a7d626 100644 --- a/tests/baselines/reference/excessPropertyCheckWithUnions.types +++ b/tests/baselines/reference/excessPropertyCheckWithUnions.types @@ -339,19 +339,19 @@ declare let t1: { a: any, b: any, c: any } | { c: any, d: any, e: any } let t2 = { ...t1 } >t2 : { a: any; b: any; c: any; } | { c: any; d: any; e: any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^^^ ^^^ >{ ...t1 } : { a: any; b: any; c: any; } | { c: any; d: any; e: any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^^^ ^^^ >t1 : { a: any; b: any; c: any; } | { c: any; d: any; e: any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^^^ ^^^ t0 = t2 >t0 = t2 : { a: any; b: any; c: any; } | { c: any; d: any; e: any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^^^ ^^^ >t0 : { a: any; b: any; } | { d: any; e: any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^ >t2 : { a: any; b: any; c: any; } | { c: any; d: any; e: any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^^^ ^^^ // Nested excess property checks work with discriminated unions type AN = { a: string } | { c: string } diff --git a/tests/baselines/reference/excessPropertyChecksWithNestedIntersections.types b/tests/baselines/reference/excessPropertyChecksWithNestedIntersections.types index d4ffaf7efd4fd..0e6d0d9836c18 100644 --- a/tests/baselines/reference/excessPropertyChecksWithNestedIntersections.types +++ b/tests/baselines/reference/excessPropertyChecksWithNestedIntersections.types @@ -151,13 +151,13 @@ export let obj: MyType; export const photo: typeof obj.photo = { >photo : { id: number; } & { url: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^ ^^^ >obj.photo : { id: number; } & { url: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^ ^^^ >obj : MyType > : ^^^^^^ >photo : { id: number; } & { url: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^ ^^^ >{ id: 1, url: '', xyz: 1 // Great! This causes an error!} : { id: number; url: string; xyz: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/excessiveStackDepthFlatArray.types b/tests/baselines/reference/excessiveStackDepthFlatArray.types index c08dcfc75e20a..8c35e265f3de5 100644 --- a/tests/baselines/reference/excessiveStackDepthFlatArray.types +++ b/tests/baselines/reference/excessiveStackDepthFlatArray.types @@ -21,7 +21,7 @@ configureStore({ >configureStore({ middleware: [...defaultMiddleware], // Should not error}) : void > : ^^^^ >configureStore : (options: { middleware: MiddlewareArray; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ middleware: [...defaultMiddleware], // Should not error} : { middleware: any[]; } > : ^^^^^^^^^^^^^^^^^^^^^^ @@ -126,11 +126,11 @@ const Component = () => { >categories.map((category) => (
  • {category}
  • // Error about 'key' only )) : any[] > : ^^^^^ >categories.map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >categories : string[] > : ^^^^^^^^ >map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >(category) => (
  • {category}
  • // Error about 'key' only ) : (category: string) => any > : ^ ^^^^^^^^^^^^^^^^ >category : string diff --git a/tests/baselines/reference/exhaustiveSwitchCheckCircularity.types b/tests/baselines/reference/exhaustiveSwitchCheckCircularity.types index fba3027d3dd43..d68b88fb2d1c2 100644 --- a/tests/baselines/reference/exhaustiveSwitchCheckCircularity.types +++ b/tests/baselines/reference/exhaustiveSwitchCheckCircularity.types @@ -51,7 +51,7 @@ function f() { >isNever(foo) : boolean > : ^^^^^^^ >isNever : (n: never) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo : "bbb" > : ^^^^^ @@ -109,7 +109,7 @@ function functionC(): void { >functionB(key) : string > : ^^^^^^ >functionB : (key: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >key : string > : ^^^^^^ } diff --git a/tests/baselines/reference/exhaustiveSwitchImplicitReturn.types b/tests/baselines/reference/exhaustiveSwitchImplicitReturn.types index 4ee2d1cd222c0..fddb87d835955 100644 --- a/tests/baselines/reference/exhaustiveSwitchImplicitReturn.types +++ b/tests/baselines/reference/exhaustiveSwitchImplicitReturn.types @@ -92,7 +92,7 @@ function foo4(bar: "a"): number { >foo3(bar) : number > : ^^^^^^ >foo3 : (bar: "a") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : never > : ^^^^^ } diff --git a/tests/baselines/reference/exhaustiveSwitchStatements1.types b/tests/baselines/reference/exhaustiveSwitchStatements1.types index 72f94eb1f4423..69f3f0ded86b8 100644 --- a/tests/baselines/reference/exhaustiveSwitchStatements1.types +++ b/tests/baselines/reference/exhaustiveSwitchStatements1.types @@ -341,11 +341,11 @@ function area(s: Shape): number { >Math.sqrt(3) : number > : ^^^^^^ >Math.sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >3 : 3 > : ^ >4 : 4 @@ -472,11 +472,11 @@ function areaWrapped(s: Shape): number { >Math.sqrt(3) : number > : ^^^^^^ >Math.sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >3 : 3 > : ^ >4 : 4 @@ -937,7 +937,7 @@ function expression(): Animal { >zoo?.animal : Animal | undefined > : ^^^^^^^^^^^^^^^^^^ >zoo : { animal: Animal; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^ >animal : Animal | undefined > : ^^^^^^^^^^^^^^^^^^ >Animal.DOG : Animal.DOG diff --git a/tests/baselines/reference/expandoFunctionBlockShadowing.types b/tests/baselines/reference/expandoFunctionBlockShadowing.types index 37cb64a54291b..1c857af946650 100644 --- a/tests/baselines/reference/expandoFunctionBlockShadowing.types +++ b/tests/baselines/reference/expandoFunctionBlockShadowing.types @@ -11,11 +11,11 @@ if (Math.random()) { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ const X: { test?: any } = {}; >X : { test?: any; } @@ -29,7 +29,7 @@ if (Math.random()) { > : ^ >X.test : any >X : { test?: any; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >test : any > : ^^^ >1 : 1 @@ -62,11 +62,11 @@ if (Math.random()) { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ const Y = function Y() {} >Y : { (): void; test: number; } diff --git a/tests/baselines/reference/expandoFunctionContextualTypesJs.types b/tests/baselines/reference/expandoFunctionContextualTypesJs.types index 66459dd90b1a5..3b018f0189299 100644 --- a/tests/baselines/reference/expandoFunctionContextualTypesJs.types +++ b/tests/baselines/reference/expandoFunctionContextualTypesJs.types @@ -40,9 +40,9 @@ MyComponent.defaultProps = { const MyComponent2 = () => null; >MyComponent2 : { (): any; defaultProps: MyComponentProps; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >() => null : { (): any; defaultProps: MyComponentProps; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ /** * @type {MyComponentProps} @@ -73,7 +73,7 @@ const check = MyComponent2; >check : StatelessComponent > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >MyComponent2 : { (): any; defaultProps: MyComponentProps; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ /** * @@ -83,7 +83,7 @@ function expectLiteral(p) {} >expectLiteral : (p: { props: MyComponentProps; }) => void > : ^ ^^ ^^^^^^^^^ >p : { props: MyComponentProps; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ function foo() { >foo : typeof foo diff --git a/tests/baselines/reference/expandoFunctionNestedAssigmentsDeclared.types b/tests/baselines/reference/expandoFunctionNestedAssigmentsDeclared.types index 7e053f173f2aa..892ddc51778e1 100644 --- a/tests/baselines/reference/expandoFunctionNestedAssigmentsDeclared.types +++ b/tests/baselines/reference/expandoFunctionNestedAssigmentsDeclared.types @@ -114,11 +114,11 @@ declare namespace Foo { >Foo.bla = { foo: 1} : { foo: number; } > : ^^^^^^^^^^^^^^^^ >Foo.bla : { foo: number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >Foo : typeof Foo > : ^^^^^^^^^^ >bla : { foo: number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >{ foo: 1} : { foo: number; } > : ^^^^^^^^^^^^^^^^ >foo : number diff --git a/tests/baselines/reference/experimentalDecoratorMetadataUnresolvedTypeObjectInEmit.types b/tests/baselines/reference/experimentalDecoratorMetadataUnresolvedTypeObjectInEmit.types index e92435770566b..03d26bb153cbd 100644 --- a/tests/baselines/reference/experimentalDecoratorMetadataUnresolvedTypeObjectInEmit.types +++ b/tests/baselines/reference/experimentalDecoratorMetadataUnresolvedTypeObjectInEmit.types @@ -17,7 +17,7 @@ class Foo { f(@decorate user: A.B.C.D.E): void {} >f : (user: A.B.C.D.E) => void -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >decorate : any > : ^^^ >user : A.B.C.D.E diff --git a/tests/baselines/reference/exponentiationOperatorWithInvalidOperands.types b/tests/baselines/reference/exponentiationOperatorWithInvalidOperands.types index 4470f99b7d9ff..3691580b1afe8 100644 --- a/tests/baselines/reference/exponentiationOperatorWithInvalidOperands.types +++ b/tests/baselines/reference/exponentiationOperatorWithInvalidOperands.types @@ -89,7 +89,7 @@ var r1a5 = a ** e; >a : any > : ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r1a6 = a ** f; >r1a6 : number @@ -149,7 +149,7 @@ var r1b5 = b ** e; >b : boolean > : ^^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r1b6 = b ** f; >r1b6 : number @@ -209,7 +209,7 @@ var r1c5 = c ** e; >c : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r1c6 = c ** f; >r1c6 : number @@ -269,7 +269,7 @@ var r1d5 = d ** e; >d : string > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r1d6 = d ** f; >r1d6 : number @@ -287,7 +287,7 @@ var r1e1 = e ** a; >e ** a : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : any > : ^^^ @@ -297,7 +297,7 @@ var r1e2 = e ** b; >e ** b : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : boolean > : ^^^^^^^ @@ -307,7 +307,7 @@ var r1e3 = e ** c; >e ** c : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : number > : ^^^^^^ @@ -317,7 +317,7 @@ var r1e4 = e ** d; >e ** d : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >d : string > : ^^^^^^ @@ -327,9 +327,9 @@ var r1e5 = e ** e; >e ** e : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r1e6 = e ** f; >r1e6 : number @@ -337,7 +337,7 @@ var r1e6 = e ** f; >e ** f : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >f : Number > : ^^^^^^ @@ -389,7 +389,7 @@ var r1f5 = f ** e; >f : Number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r1f6 = f ** f; >r1f6 : number @@ -469,7 +469,7 @@ var r1g5 = E.a ** e; >a : E.a > : ^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r1g6 = E.a ** f; >r1g6 : number @@ -547,7 +547,7 @@ var r1h5 = e ** E.b; >e ** E.b : number > : ^^^^^^ >e : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >E.b : E.b > : ^^^ >E : typeof E diff --git a/tests/baselines/reference/exportAssignedNamespaceIsVisibleInDeclarationEmit.types b/tests/baselines/reference/exportAssignedNamespaceIsVisibleInDeclarationEmit.types index 5541fe00eaafe..bb0ed8b683fcc 100644 --- a/tests/baselines/reference/exportAssignedNamespaceIsVisibleInDeclarationEmit.types +++ b/tests/baselines/reference/exportAssignedNamespaceIsVisibleInDeclarationEmit.types @@ -17,7 +17,7 @@ export = Foo; === index.ts === import { f } from "./thing"; >f : () => import("thing").Bar -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^ ^^^ export const thing = f(); >thing : import("thing").Bar @@ -25,5 +25,5 @@ export const thing = f(); >f() : import("thing").Bar > : ^^^^^^^^^^^^^^^^^^^ >f : () => import("thing").Bar -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^ ^^^ diff --git a/tests/baselines/reference/exportAssignmentConstrainedGenericType.types b/tests/baselines/reference/exportAssignmentConstrainedGenericType.types index b774de4523f77..2d8e420b2ea4b 100644 --- a/tests/baselines/reference/exportAssignmentConstrainedGenericType.types +++ b/tests/baselines/reference/exportAssignmentConstrainedGenericType.types @@ -7,9 +7,9 @@ import foo = require("./foo_0"); var x = new foo(true); // Should error >x : foo<{ a: string; b: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^ ^^^^ >new foo(true) : foo<{ a: string; b: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^ ^^^^ >foo : typeof foo > : ^^^^^^^^^^ >true : true diff --git a/tests/baselines/reference/exportAssignmentMergedInterface.types b/tests/baselines/reference/exportAssignmentMergedInterface.types index 9e9280ba34784..51a991fade08f 100644 --- a/tests/baselines/reference/exportAssignmentMergedInterface.types +++ b/tests/baselines/reference/exportAssignmentMergedInterface.types @@ -63,15 +63,15 @@ var z = {x: 1, y: 2}; z = x.d; >z = x.d : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >z : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x.d : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >x : foo > : ^^^ >d : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ === foo_0.ts === interface Foo { diff --git a/tests/baselines/reference/exportAssignmentWithPrivacyError.types b/tests/baselines/reference/exportAssignmentWithPrivacyError.types index d72889eb83c53..2119f68a7ff33 100644 --- a/tests/baselines/reference/exportAssignmentWithPrivacyError.types +++ b/tests/baselines/reference/exportAssignmentWithPrivacyError.types @@ -38,6 +38,6 @@ var server: { export = server; >server : { (): connectexport; test1: connectmodule; test2(): connectmodule; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^ ^^^ diff --git a/tests/baselines/reference/exportClassExtendingIntersection.types b/tests/baselines/reference/exportClassExtendingIntersection.types index d36006d78ee1e..bfda7a0dca2d0 100644 --- a/tests/baselines/reference/exportClassExtendingIntersection.types +++ b/tests/baselines/reference/exportClassExtendingIntersection.types @@ -34,7 +34,7 @@ export interface MyMixin { export function MyMixin>>(base: T): T & Constructor { >MyMixin : >>(base: T) => T & Constructor -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >base : T > : ^ @@ -56,7 +56,7 @@ import { MyBaseClass } from './BaseClass'; import { MyMixin } from './MixinClass'; >MyMixin : >>(base: T) => T & import("BaseClass").Constructor -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ export class MyExtendedClass extends MyMixin(MyBaseClass) { >MyExtendedClass : MyExtendedClass @@ -64,7 +64,7 @@ export class MyExtendedClass extends MyMixin(MyBaseClass) { >MyMixin(MyBaseClass) : MyBaseClass & MyMixin > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >MyMixin : >>(base: T) => T & import("BaseClass").Constructor -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ >MyBaseClass : typeof MyBaseClass > : ^^^^^^^^^^^^^^^^^^ @@ -79,7 +79,7 @@ import { MyExtendedClass } from './FinalClass'; import { MyMixin } from './MixinClass'; >MyMixin : >>(base: T) => T & import("BaseClass").Constructor -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ const myExtendedClass = new MyExtendedClass('string'); >myExtendedClass : MyExtendedClass @@ -97,7 +97,7 @@ const AnotherMixedClass = MyMixin(MyExtendedClass); >MyMixin(MyExtendedClass) : typeof MyExtendedClass & import("BaseClass").Constructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >MyMixin : >>(base: T) => T & import("BaseClass").Constructor -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ >MyExtendedClass : typeof MyExtendedClass > : ^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/exportDeclarationsInAmbientNamespaces.types b/tests/baselines/reference/exportDeclarationsInAmbientNamespaces.types index bdc18622f74ee..a10d5daa0318f 100644 --- a/tests/baselines/reference/exportDeclarationsInAmbientNamespaces.types +++ b/tests/baselines/reference/exportDeclarationsInAmbientNamespaces.types @@ -15,19 +15,19 @@ declare namespace Q { export { _try as try }; >_try : (method: Function, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >try : (method: Function, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ } Q.try(() => { }); >Q.try(() => { }) : any >Q.try : (method: Function, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >Q : typeof Q > : ^^^^^^^^ >try : (method: Function, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >() => { } : () => void > : ^^^^^^^^^^ diff --git a/tests/baselines/reference/exportDeclaredModule.types b/tests/baselines/reference/exportDeclaredModule.types index 08da1dcb7860e..3c2c9607e713f 100644 --- a/tests/baselines/reference/exportDeclaredModule.types +++ b/tests/baselines/reference/exportDeclaredModule.types @@ -11,11 +11,11 @@ var x: number = foo1.b(); >foo1.b() : number > : ^^^^^^ >foo1.b : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >foo1 : typeof foo1 > : ^^^^^^^^^^^ >b : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ === foo1.ts === declare module M1 { diff --git a/tests/baselines/reference/exportDefaultAbstractClass.types b/tests/baselines/reference/exportDefaultAbstractClass.types index d069fb1660341..e9cdd9f9b9c90 100644 --- a/tests/baselines/reference/exportDefaultAbstractClass.types +++ b/tests/baselines/reference/exportDefaultAbstractClass.types @@ -17,7 +17,7 @@ new B().a.toExponential(); >new B().a.toExponential() : string > : ^^^^^^ >new B().a.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >new B().a : number > : ^^^^^^ >new B() : B @@ -27,7 +27,7 @@ new B().a.toExponential(); >a : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ === b.ts === import A from './a'; @@ -44,7 +44,7 @@ new C().a.toExponential(); >new C().a.toExponential() : string > : ^^^^^^ >new C().a.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >new C().a : number > : ^^^^^^ >new C() : C @@ -54,5 +54,5 @@ new C().a.toExponential(); >a : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/exportDefaultAsyncFunction.types b/tests/baselines/reference/exportDefaultAsyncFunction.types index 2525182328291..4f8300c961dca 100644 --- a/tests/baselines/reference/exportDefaultAsyncFunction.types +++ b/tests/baselines/reference/exportDefaultAsyncFunction.types @@ -9,5 +9,5 @@ foo(); >foo() : Promise > : ^^^^^^^^^^^^^ >foo : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/exportDefaultAsyncFunction2.types b/tests/baselines/reference/exportDefaultAsyncFunction2.types index 8230be835048c..628e633dc0102 100644 --- a/tests/baselines/reference/exportDefaultAsyncFunction2.types +++ b/tests/baselines/reference/exportDefaultAsyncFunction2.types @@ -16,29 +16,29 @@ export function await(...args: any[]): any { } === a.ts === import { async, await } from 'asyncawait'; >async : (...args: any[]) => any -> : ^^^^^^^ ^^ ^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^ >await : (...args: any[]) => any -> : ^^^^ ^^ ^^^^^^^^ +> : ^^^^ ^^ ^^^^^ export default async(() => await(Promise.resolve(1))); >async(() => await(Promise.resolve(1))) : any > : ^^^ >async : (...args: any[]) => any -> : ^^^^^^^ ^^ ^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^ >() => await(Promise.resolve(1)) : () => any > : ^^^^^^^^^ >await(Promise.resolve(1)) : any > : ^^^ >await : (...args: any[]) => any -> : ^^^^ ^^ ^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -52,37 +52,37 @@ export default async () => { return 0; }; === c.ts === import { async, await } from 'asyncawait'; >async : (...args: any[]) => any -> : ^^^^^^^ ^^ ^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^ >await : (...args: any[]) => any -> : ^^^^ ^^ ^^^^^^^^ +> : ^^^^ ^^ ^^^^^ export default async(); >async() : any > : ^^^ >async : (...args: any[]) => any -> : ^^^^^^^ ^^ ^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^ === d.ts === import { async, await } from 'asyncawait'; >async : (...args: any[]) => any -> : ^^^^^^^ ^^ ^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^ >await : (...args: any[]) => any -> : ^^^^ ^^ ^^^^^^^^ +> : ^^^^ ^^ ^^^^^ export default async; >async : (...args: any[]) => any -> : ^^^^^^^ ^^ ^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^ === e.ts === import { async, await } from 'asyncawait'; >async : (...args: any[]) => any -> : ^^^^^^^ ^^ ^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^ >await : (...args: any[]) => any -> : ^^^^ ^^ ^^^^^^^^ +> : ^^^^ ^^ ^^^^^ export default async >async : (...args: any[]) => any -> : ^^^^^^^ ^^ ^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^ export function foo() { } >foo : () => void diff --git a/tests/baselines/reference/exportDefaultInterface.types b/tests/baselines/reference/exportDefaultInterface.types index 57777e0c1bb1f..47e8372bd8713 100644 --- a/tests/baselines/reference/exportDefaultInterface.types +++ b/tests/baselines/reference/exportDefaultInterface.types @@ -13,7 +13,7 @@ a.value.toExponential(); >a.value.toExponential() : string > : ^^^^^^ >a.value.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >a.value : number > : ^^^^^^ >a : A @@ -21,7 +21,7 @@ a.value.toExponential(); >value : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ === b.ts === import A from './a'; @@ -36,7 +36,7 @@ a.value.toExponential(); >a.value.toExponential() : string > : ^^^^^^ >a.value.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >a.value : number > : ^^^^^^ >a : A @@ -44,5 +44,5 @@ a.value.toExponential(); >value : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/exportDefaultInterfaceAndFunctionOverloads.types b/tests/baselines/reference/exportDefaultInterfaceAndFunctionOverloads.types index 61bb72fa27b50..3fb06056df680 100644 --- a/tests/baselines/reference/exportDefaultInterfaceAndFunctionOverloads.types +++ b/tests/baselines/reference/exportDefaultInterfaceAndFunctionOverloads.types @@ -3,19 +3,19 @@ === exportDefaultInterfaceAndFunctionOverloads.ts === export default function foo(value: number): number >foo : { (value: number): number; (value: string): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >value : number > : ^^^^^^ export default function foo(value: string): string >foo : { (value: number): number; (value: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >value : string > : ^^^^^^ export default function foo(value: string | number): string | number { >foo : { (value: number): number; (value: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >value : string | number > : ^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/exportDefaultInterfaceClassAndFunctionOverloads.types b/tests/baselines/reference/exportDefaultInterfaceClassAndFunctionOverloads.types index 960aab07f6acc..70b68ff0f752f 100644 --- a/tests/baselines/reference/exportDefaultInterfaceClassAndFunctionOverloads.types +++ b/tests/baselines/reference/exportDefaultInterfaceClassAndFunctionOverloads.types @@ -3,19 +3,19 @@ === exportDefaultInterfaceClassAndFunctionOverloads.ts === export default function foo(value: number): number >foo : { (value: number): number; (value: string): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >value : number > : ^^^^^^ export default function foo(value: string): string >foo : { (value: number): number; (value: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >value : string > : ^^^^^^ export default function foo(value: string | number): string | number { >foo : { (value: number): number; (value: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >value : string | number > : ^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/exportDefaultTypeAndFunctionOverloads.types b/tests/baselines/reference/exportDefaultTypeAndFunctionOverloads.types index 42a23a2903245..deadb919dae27 100644 --- a/tests/baselines/reference/exportDefaultTypeAndFunctionOverloads.types +++ b/tests/baselines/reference/exportDefaultTypeAndFunctionOverloads.types @@ -3,19 +3,19 @@ === exportDefaultTypeAndFunctionOverloads.ts === export default function foo(value: number): number >foo : { (value: number): number; (value: string): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >value : number > : ^^^^^^ export default function foo(value: string): string >foo : { (value: number): number; (value: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >value : string > : ^^^^^^ export default function foo(value: string | number): string | number { >foo : { (value: number): number; (value: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >value : string | number > : ^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/exportEqualCallable.types b/tests/baselines/reference/exportEqualCallable.types index 4cad8b33a1586..5b8019a84ef5c 100644 --- a/tests/baselines/reference/exportEqualCallable.types +++ b/tests/baselines/reference/exportEqualCallable.types @@ -4,12 +4,12 @@ /// import connect = require('exportEqualCallable_0'); >connect : () => any -> : ^^^^^^^^^ +> : ^^^^^^ connect(); >connect() : any >connect : () => any -> : ^^^^^^^^^ +> : ^^^^^^ === exportEqualCallable_0.ts === var server: { @@ -20,5 +20,5 @@ var server: { }; export = server; >server : () => any -> : ^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/exportEqualErrorType.types b/tests/baselines/reference/exportEqualErrorType.types index 0d729a17c4351..6b6008704b03e 100644 --- a/tests/baselines/reference/exportEqualErrorType.types +++ b/tests/baselines/reference/exportEqualErrorType.types @@ -4,25 +4,25 @@ /// import connect = require('exportEqualErrorType_0'); >connect : { (): connect.connectExport; foo: Date; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ connect().use(connect.static('foo')); // Error 1 The property 'static' does not exist on value of type ''. >connect().use(connect.static('foo')) : connect.connectExport > : ^^^^^^^^^^^^^^^^^^^^^ ->connect().use : (mod: connectModule) => connect.connectExport -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +>connect().use : (mod: connect.connectModule) => connect.connectExport +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >connect() : connect.connectExport > : ^^^^^^^^^^^^^^^^^^^^^ >connect : { (): connect.connectExport; foo: Date; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->use : (mod: connectModule) => connect.connectExport -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +>use : (mod: connect.connectModule) => connect.connectExport +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >connect.static('foo') : any > : ^^^ >connect.static : any > : ^^^ >connect : { (): connect.connectExport; foo: Date; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >static : any > : ^^^ >'foo' : "foo" @@ -62,5 +62,5 @@ var server: { }; export = server; >server : { (): server.connectExport; foo: Date; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^ ^^^ diff --git a/tests/baselines/reference/exportEqualMemberMissing.types b/tests/baselines/reference/exportEqualMemberMissing.types index c2521bf0b0320..da7e91f5cd637 100644 --- a/tests/baselines/reference/exportEqualMemberMissing.types +++ b/tests/baselines/reference/exportEqualMemberMissing.types @@ -4,25 +4,25 @@ /// import connect = require('./exportEqualMemberMissing_0'); >connect : { (): connect.connectExport; foo: Date; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ connect().use(connect.static('foo')); // Error 1 The property 'static' does not exist on value of type ''. >connect().use(connect.static('foo')) : connect.connectExport > : ^^^^^^^^^^^^^^^^^^^^^ ->connect().use : (mod: connectModule) => connect.connectExport -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +>connect().use : (mod: connect.connectModule) => connect.connectExport +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >connect() : connect.connectExport > : ^^^^^^^^^^^^^^^^^^^^^ >connect : { (): connect.connectExport; foo: Date; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->use : (mod: connectModule) => connect.connectExport -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +>use : (mod: connect.connectModule) => connect.connectExport +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >connect.static('foo') : any > : ^^^ >connect.static : any > : ^^^ >connect : { (): connect.connectExport; foo: Date; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >static : any > : ^^^ >'foo' : "foo" @@ -62,5 +62,5 @@ var server: { }; export = server; >server : { (): server.connectExport; foo: Date; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^ ^^^ diff --git a/tests/baselines/reference/exportEqualsDefaultProperty.types b/tests/baselines/reference/exportEqualsDefaultProperty.types index 970bf66fb5288..7a7481cbe8e47 100644 --- a/tests/baselines/reference/exportEqualsDefaultProperty.types +++ b/tests/baselines/reference/exportEqualsDefaultProperty.types @@ -34,11 +34,11 @@ foo.toExponential(2); >foo.toExponential(2) : string > : ^^^^^^ >foo.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >foo : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >2 : 2 > : ^ diff --git a/tests/baselines/reference/exportEqualsOfModule.types b/tests/baselines/reference/exportEqualsOfModule.types index 2db2b3ebcfb55..abee7cadaf68a 100644 --- a/tests/baselines/reference/exportEqualsOfModule.types +++ b/tests/baselines/reference/exportEqualsOfModule.types @@ -52,6 +52,6 @@ declare module 'popsicle-proxy-agent' { export = proxy; >proxy : () => (request: Request) => any -> : ^^^^^^^ ^^ ^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/exportImportAlias.types b/tests/baselines/reference/exportImportAlias.types index 54cada8a87bae..121ede99f535f 100644 --- a/tests/baselines/reference/exportImportAlias.types +++ b/tests/baselines/reference/exportImportAlias.types @@ -89,7 +89,7 @@ var c: { name: string }; var c: C.a.B.Id; >c : { name: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >C : any > : ^^^ >a : any @@ -233,7 +233,7 @@ var o: { name: string }; var o = new M.D('Hello'); >o : { name: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >new M.D('Hello') : K.L > : ^^^ >M.D : typeof K.L @@ -255,7 +255,7 @@ var p: { x: number; y: number; } var p: M.D.Point; >p : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >M : any > : ^^^ >D : any diff --git a/tests/baselines/reference/exportImportAndClodule.types b/tests/baselines/reference/exportImportAndClodule.types index cd5bc8ee4a1e1..d44492dc05e2b 100644 --- a/tests/baselines/reference/exportImportAndClodule.types +++ b/tests/baselines/reference/exportImportAndClodule.types @@ -54,7 +54,7 @@ var o: { name: string }; var o = new M.D('Hello'); >o : { name: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >new M.D('Hello') : K.L > : ^^^ >M.D : typeof K.L @@ -76,7 +76,7 @@ var p: { x: number; y: number; } var p: M.D.Point; >p : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >M : any > : ^^^ >D : any diff --git a/tests/baselines/reference/exportImportCanSubstituteConstEnumForValue.types b/tests/baselines/reference/exportImportCanSubstituteConstEnumForValue.types index 73a6e079b5951..12ca942191538 100644 --- a/tests/baselines/reference/exportImportCanSubstituteConstEnumForValue.types +++ b/tests/baselines/reference/exportImportCanSubstituteConstEnumForValue.types @@ -149,11 +149,11 @@ module MsPortalFx.ViewModels { >console.log(value1) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >value1 : ReExportedEnum.Cancel > : ^^^^^^^^^^^^^^^^^^^^^ @@ -171,11 +171,11 @@ module MsPortalFx.ViewModels { >console.log(value2) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >value2 : DialogButtons.OKCancel > : ^^^^^^^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/exportNamespace12.types b/tests/baselines/reference/exportNamespace12.types index 03cf731b1bfa1..f144aab964840 100644 --- a/tests/baselines/reference/exportNamespace12.types +++ b/tests/baselines/reference/exportNamespace12.types @@ -13,11 +13,11 @@ console.log(c) // Fails as expected, import is still allowed though. >console.log(c) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >c : 10 > : ^^ @@ -25,11 +25,11 @@ console.log(types.c) // Expected an error here. >console.log(types.c) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >types.c : any > : ^^^ >types : typeof types diff --git a/tests/baselines/reference/exportRedeclarationTypeAliases.types b/tests/baselines/reference/exportRedeclarationTypeAliases.types index 55ddb5bce7921..51e1ac4153b44 100644 --- a/tests/baselines/reference/exportRedeclarationTypeAliases.types +++ b/tests/baselines/reference/exportRedeclarationTypeAliases.types @@ -11,5 +11,5 @@ export function Foo(): number; export function Foo(): any {} >Foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/exportSpecifierAndLocalMemberDeclaration.types b/tests/baselines/reference/exportSpecifierAndLocalMemberDeclaration.types index 1166e17b3ee19..45c953a6edaec 100644 --- a/tests/baselines/reference/exportSpecifierAndLocalMemberDeclaration.types +++ b/tests/baselines/reference/exportSpecifierAndLocalMemberDeclaration.types @@ -31,7 +31,7 @@ declare module "m2" { function Z2(): X.I; >Z2 : () => X.I -> : ^^^^^^^^^ +> : ^^^^^^ >X : any > : ^^^ } diff --git a/tests/baselines/reference/exportSpecifierReferencingOuterDeclaration3.types b/tests/baselines/reference/exportSpecifierReferencingOuterDeclaration3.types index 6479046c76e2e..7cfc7f29a1799 100644 --- a/tests/baselines/reference/exportSpecifierReferencingOuterDeclaration3.types +++ b/tests/baselines/reference/exportSpecifierReferencingOuterDeclaration3.types @@ -19,7 +19,7 @@ declare module "m" { export function bar(): X.bar; // error >bar : () => X.bar -> : ^^^^^^^^^^^ +> : ^^^^^^ >X : any > : ^^^ } diff --git a/tests/baselines/reference/exportSpecifierReferencingOuterDeclaration4.types b/tests/baselines/reference/exportSpecifierReferencingOuterDeclaration4.types index 5bd8e94d07540..6abf489b85771 100644 --- a/tests/baselines/reference/exportSpecifierReferencingOuterDeclaration4.types +++ b/tests/baselines/reference/exportSpecifierReferencingOuterDeclaration4.types @@ -18,7 +18,7 @@ export declare function foo(): X.foo; export declare function bar(): X.bar; // error >bar : () => X.bar -> : ^^^^^^^^^^^ +> : ^^^^^^ >X : any > : ^^^ diff --git a/tests/baselines/reference/exportStarNotElided.types b/tests/baselines/reference/exportStarNotElided.types index 210a7679af33d..3be4962115f66 100644 --- a/tests/baselines/reference/exportStarNotElided.types +++ b/tests/baselines/reference/exportStarNotElided.types @@ -16,11 +16,11 @@ export function register(data: any) { >r.push(data) : number > : ^^^^^^ >r.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >r : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >data : any } === data1.ts === diff --git a/tests/baselines/reference/exportTypeMergedWithExportStarAsNamespace.types b/tests/baselines/reference/exportTypeMergedWithExportStarAsNamespace.types index 056684a9b95a1..3b360d3b041a7 100644 --- a/tests/baselines/reference/exportTypeMergedWithExportStarAsNamespace.types +++ b/tests/baselines/reference/exportTypeMergedWithExportStarAsNamespace.types @@ -11,11 +11,11 @@ export const myValue: Something = Something.of("abc") >Something.of("abc") : import("Something").Something > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Something.of : (value: A) => import("Something").Something -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ >Something : typeof import("Something") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >of : (value: A) => import("Something").Something -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ >"abc" : "abc" > : ^^^^^ diff --git a/tests/baselines/reference/exportedVariable1.types b/tests/baselines/reference/exportedVariable1.types index 098ed576c4faf..ead0518a8783f 100644 --- a/tests/baselines/reference/exportedVariable1.types +++ b/tests/baselines/reference/exportedVariable1.types @@ -17,7 +17,7 @@ var upper = foo.name.toUpperCase(); >foo.name.toUpperCase() : string > : ^^^^^^ >foo.name.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >foo.name : string > : ^^^^^^ >foo : { name: string; } @@ -25,5 +25,5 @@ var upper = foo.name.toUpperCase(); >name : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/exportsAndImports1-amd.js b/tests/baselines/reference/exportsAndImports1-amd.js index 4bb4dd61c602e..752885c6cc936 100644 --- a/tests/baselines/reference/exportsAndImports1-amd.js +++ b/tests/baselines/reference/exportsAndImports1-amd.js @@ -37,7 +37,8 @@ export { v, f, C, I, E, D, M, N, T, a }; define(["require", "exports"], function (require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); - exports.a = exports.M = exports.E = exports.C = exports.f = exports.v = void 0; + exports.a = exports.M = exports.E = exports.C = exports.v = void 0; + exports.f = f; var v = 1; exports.v = v; function f() { } diff --git a/tests/baselines/reference/exportsAndImports1-es6.js b/tests/baselines/reference/exportsAndImports1-es6.js index 0ae74e26e4050..ac5b0421b1c2e 100644 --- a/tests/baselines/reference/exportsAndImports1-es6.js +++ b/tests/baselines/reference/exportsAndImports1-es6.js @@ -36,7 +36,8 @@ export { v, f, C, I, E, D, M, N, T, a }; //// [t1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.a = exports.M = exports.E = exports.C = exports.f = exports.v = void 0; +exports.a = exports.M = exports.E = exports.C = exports.v = void 0; +exports.f = f; var v = 1; exports.v = v; function f() { } diff --git a/tests/baselines/reference/exportsAndImports1.js b/tests/baselines/reference/exportsAndImports1.js index a8dbd5b01c113..080433308cc4b 100644 --- a/tests/baselines/reference/exportsAndImports1.js +++ b/tests/baselines/reference/exportsAndImports1.js @@ -36,7 +36,8 @@ export { v, f, C, I, E, D, M, N, T, a }; //// [t1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.a = exports.M = exports.E = exports.C = exports.f = exports.v = void 0; +exports.a = exports.M = exports.E = exports.C = exports.v = void 0; +exports.f = f; var v = 1; exports.v = v; function f() { } diff --git a/tests/baselines/reference/exportsAndImports3-amd.js b/tests/baselines/reference/exportsAndImports3-amd.js index 2e1976b18e86f..2c52509189182 100644 --- a/tests/baselines/reference/exportsAndImports3-amd.js +++ b/tests/baselines/reference/exportsAndImports3-amd.js @@ -37,7 +37,7 @@ export { v, f, C, I, E, D, M, N, T, a }; define(["require", "exports"], function (require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); - exports.a1 = exports.M1 = exports.E1 = exports.C1 = exports.f1 = exports.v1 = exports.a = exports.M = exports.E = exports.C = exports.v = void 0; + exports.a1 = exports.M1 = exports.E1 = exports.C1 = exports.v1 = exports.a = exports.M = exports.E = exports.C = exports.v = void 0; exports.f = f; exports.f1 = f; exports.v = 1; diff --git a/tests/baselines/reference/exportsAndImports3-es6.js b/tests/baselines/reference/exportsAndImports3-es6.js index e7d5bda14e57f..50c7f861f7c07 100644 --- a/tests/baselines/reference/exportsAndImports3-es6.js +++ b/tests/baselines/reference/exportsAndImports3-es6.js @@ -36,7 +36,7 @@ export { v, f, C, I, E, D, M, N, T, a }; //// [t1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.a1 = exports.M1 = exports.E1 = exports.C1 = exports.f1 = exports.v1 = exports.a = exports.M = exports.E = exports.C = exports.v = void 0; +exports.a1 = exports.M1 = exports.E1 = exports.C1 = exports.v1 = exports.a = exports.M = exports.E = exports.C = exports.v = void 0; exports.f = f; exports.f1 = f; exports.v = 1; diff --git a/tests/baselines/reference/exportsAndImports3.js b/tests/baselines/reference/exportsAndImports3.js index 2714fe2ecaaf8..eede925b22a68 100644 --- a/tests/baselines/reference/exportsAndImports3.js +++ b/tests/baselines/reference/exportsAndImports3.js @@ -36,7 +36,7 @@ export { v, f, C, I, E, D, M, N, T, a }; //// [t1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.a1 = exports.M1 = exports.E1 = exports.C1 = exports.f1 = exports.v1 = exports.a = exports.M = exports.E = exports.C = exports.v = void 0; +exports.a1 = exports.M1 = exports.E1 = exports.C1 = exports.v1 = exports.a = exports.M = exports.E = exports.C = exports.v = void 0; exports.f = f; exports.f1 = f; exports.v = 1; diff --git a/tests/baselines/reference/expressionTypeNodeShouldError.types b/tests/baselines/reference/expressionTypeNodeShouldError.types index f4e85a0f9f80a..5fcf527c1cb29 100644 --- a/tests/baselines/reference/expressionTypeNodeShouldError.types +++ b/tests/baselines/reference/expressionTypeNodeShouldError.types @@ -49,12 +49,12 @@ const nodes = document.getElementsByTagName("li"); > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >document.getElementsByTagName("li") : HTMLCollectionOf > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->document.getElementsByTagName : { (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K_1): HTMLCollectionOf; (qualifiedName: K_2): HTMLCollectionOf; (qualifiedName: K_3): HTMLCollectionOf; (qualifiedName: string): HTMLCollectionOf; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>document.getElementsByTagName : { (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: string): HTMLCollectionOf; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >document : Document > : ^^^^^^^^ ->getElementsByTagName : { (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K_1): HTMLCollectionOf; (qualifiedName: K_2): HTMLCollectionOf; (qualifiedName: K_3): HTMLCollectionOf; (qualifiedName: string): HTMLCollectionOf; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getElementsByTagName : { (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: string): HTMLCollectionOf; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >"li" : "li" > : ^^^^ @@ -67,12 +67,12 @@ type ItemType = "".typeof(nodes.item(0)); > : ^^^^^^^^^^^^^ >nodes.item(0) : HTMLLIElement > : ^^^^^^^^^^^^^ ->nodes.item : (index: number) => HTMLLIElement -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +>nodes.item : (index: number) => HTMLLIElement | null +> : ^ ^^ ^^^^^^^^^^^^^^^^^^ >nodes : HTMLCollectionOf > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->item : (index: number) => HTMLLIElement -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +>item : (index: number) => HTMLLIElement | null +> : ^ ^^ ^^^^^^^^^^^^^^^^^^ >0 : 0 > : ^ @@ -114,12 +114,12 @@ const nodes2 = document.getElementsByTagName("li"); > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >document.getElementsByTagName("li") : HTMLCollectionOf > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->document.getElementsByTagName : { (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K_1): HTMLCollectionOf; (qualifiedName: K_2): HTMLCollectionOf; (qualifiedName: K_3): HTMLCollectionOf; (qualifiedName: string): HTMLCollectionOf; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>document.getElementsByTagName : { (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: string): HTMLCollectionOf; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >document : Document > : ^^^^^^^^ ->getElementsByTagName : { (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K_1): HTMLCollectionOf; (qualifiedName: K_2): HTMLCollectionOf; (qualifiedName: K_3): HTMLCollectionOf; (qualifiedName: string): HTMLCollectionOf; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getElementsByTagName : { (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: string): HTMLCollectionOf; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >"li" : "li" > : ^^^^ @@ -132,12 +132,12 @@ type ItemType2 = 4..typeof(nodes.item(0)); > : ^^^^^^^^^^^^^ >nodes.item(0) : HTMLLIElement > : ^^^^^^^^^^^^^ ->nodes.item : (index: number) => HTMLLIElement -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +>nodes.item : (index: number) => HTMLLIElement | null +> : ^ ^^ ^^^^^^^^^^^^^^^^^^ >nodes : HTMLCollectionOf > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->item : (index: number) => HTMLLIElement -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +>item : (index: number) => HTMLLIElement | null +> : ^ ^^ ^^^^^^^^^^^^^^^^^^ >0 : 0 > : ^ @@ -181,12 +181,12 @@ const nodes3 = document.getElementsByTagName("li"); > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >document.getElementsByTagName("li") : HTMLCollectionOf > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->document.getElementsByTagName : { (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K_1): HTMLCollectionOf; (qualifiedName: K_2): HTMLCollectionOf; (qualifiedName: K_3): HTMLCollectionOf; (qualifiedName: string): HTMLCollectionOf; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>document.getElementsByTagName : { (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: string): HTMLCollectionOf; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >document : Document > : ^^^^^^^^ ->getElementsByTagName : { (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K_1): HTMLCollectionOf; (qualifiedName: K_2): HTMLCollectionOf; (qualifiedName: K_3): HTMLCollectionOf; (qualifiedName: string): HTMLCollectionOf; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getElementsByTagName : { (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: string): HTMLCollectionOf; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >"li" : "li" > : ^^^^ @@ -201,12 +201,12 @@ type ItemType3 = true.typeof(nodes.item(0)); > : ^^^^^^^^^^^^^ >nodes.item(0) : HTMLLIElement > : ^^^^^^^^^^^^^ ->nodes.item : (index: number) => HTMLLIElement -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +>nodes.item : (index: number) => HTMLLIElement | null +> : ^ ^^ ^^^^^^^^^^^^^^^^^^ >nodes : HTMLCollectionOf > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->item : (index: number) => HTMLLIElement -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +>item : (index: number) => HTMLLIElement | null +> : ^ ^^ ^^^^^^^^^^^^^^^^^^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/expressionWithJSDocTypeArguments.types b/tests/baselines/reference/expressionWithJSDocTypeArguments.types index c20371ed5b9a1..6b41c3a51b85d 100644 --- a/tests/baselines/reference/expressionWithJSDocTypeArguments.types +++ b/tests/baselines/reference/expressionWithJSDocTypeArguments.types @@ -25,7 +25,7 @@ const WhatFoo = foo; >foo : (x: any) => any > : ^ ^^^^^^^^^^^^^ >foo : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ const HuhFoo = foo; >HuhFoo : (x: string | null) => string | null @@ -33,7 +33,7 @@ const HuhFoo = foo; >foo : (x: string | null) => string | null > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ const NopeFoo = foo; >NopeFoo : (x: string | null) => string | null @@ -41,7 +41,7 @@ const NopeFoo = foo; >foo : (x: string | null) => string | null > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ const ComeOnFoo = foo; >ComeOnFoo : (x: string | null) => string | null @@ -49,31 +49,31 @@ const ComeOnFoo = foo; >foo : (x: string | null) => string | null > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ type TWhatFoo = typeof foo; >TWhatFoo : typeof foo > : ^^^^^^^ >foo : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ type THuhFoo = typeof foo; >THuhFoo : typeof foo > : ^^^^^^^ >foo : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ type TNopeFoo = typeof foo; >TNopeFoo : typeof foo > : ^^^^^^^ >foo : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ type TComeOnFoo = typeof foo; >TComeOnFoo : typeof foo<(string | null) | null> > : ^ ^^^^^^^^^^^^^^^ >foo : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ const WhatBar = Bar; >WhatBar : { new (x: any): Bar; prototype: Bar; } diff --git a/tests/baselines/reference/extendArray.types b/tests/baselines/reference/extendArray.types index 63b87fa375163..0cc9fc76332e3 100644 --- a/tests/baselines/reference/extendArray.types +++ b/tests/baselines/reference/extendArray.types @@ -15,11 +15,11 @@ a.forEach(function (v,i,a) {}); >a.forEach(function (v,i,a) {}) : void > : ^^^^ >a.forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >a : number[] > : ^^^^^^^^ >forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >function (v,i,a) {} : (v: number, i: number, a: number[]) => void > : ^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >v : number @@ -36,7 +36,7 @@ declare module _Core { >collect : (fn: (e: _element) => _element[]) => any[] > : ^ ^^ ^^^^^ >fn : (e: _element) => _element[] -> : ^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >e : _element > : ^^^^^^^^ } @@ -135,11 +135,11 @@ arr.collect = function (fn) { >res.push(tmp[j]) : number > : ^^^^^^ >res.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >res : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >tmp[j] : any > : ^^^ >tmp : any diff --git a/tests/baselines/reference/extendBooleanInterface.types b/tests/baselines/reference/extendBooleanInterface.types index 1e6cdff740717..b8f5fa1c48e02 100644 --- a/tests/baselines/reference/extendBooleanInterface.types +++ b/tests/baselines/reference/extendBooleanInterface.types @@ -25,11 +25,11 @@ var a: string = x.doStuff(); >x.doStuff() : string > : ^^^^^^ >x.doStuff : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : true > : ^^^^ >doStuff : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var b: string = x.doOtherStuff('hm'); >b : string @@ -37,11 +37,11 @@ var b: string = x.doOtherStuff('hm'); >x.doOtherStuff('hm') : "hm" > : ^^^^ >x.doOtherStuff : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : true > : ^^^^ >doOtherStuff : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >'hm' : "hm" > : ^^^^ @@ -51,7 +51,7 @@ var c: string = x['doStuff'](); >x['doStuff']() : string > : ^^^^^^ >x['doStuff'] : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : true > : ^^^^ >'doStuff' : "doStuff" @@ -63,7 +63,7 @@ var d: string = x['doOtherStuff']('hm'); >x['doOtherStuff']('hm') : "hm" > : ^^^^ >x['doOtherStuff'] : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : true > : ^^^^ >'doOtherStuff' : "doOtherStuff" diff --git a/tests/baselines/reference/extendGlobalThis.types b/tests/baselines/reference/extendGlobalThis.types index 151bf14d76c3d..499b561819e53 100644 --- a/tests/baselines/reference/extendGlobalThis.types +++ b/tests/baselines/reference/extendGlobalThis.types @@ -35,15 +35,15 @@ console.log(globalThis.test.split("-")); >console.log(globalThis.test.split("-")) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >globalThis.test.split("-") : string[] > : ^^^^^^^^ >globalThis.test.split : (separator: string | RegExp, limit?: number) => string[] -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >globalThis.test : string > : ^^^^^^ >globalThis : typeof globalThis @@ -51,7 +51,7 @@ console.log(globalThis.test.split("-")); >test : string > : ^^^^^^ >split : (separator: string | RegExp, limit?: number) => string[] -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >"-" : "-" > : ^^^ diff --git a/tests/baselines/reference/extendGlobalThis2.types b/tests/baselines/reference/extendGlobalThis2.types index 7e1d7e93edf37..d691807594624 100644 --- a/tests/baselines/reference/extendGlobalThis2.types +++ b/tests/baselines/reference/extendGlobalThis2.types @@ -11,11 +11,11 @@ namespace globalThis { >console.log("x") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"x" : "x" > : ^^^ } diff --git a/tests/baselines/reference/extendNumberInterface.types b/tests/baselines/reference/extendNumberInterface.types index a5ef30fb43698..b1c87d9f425b9 100644 --- a/tests/baselines/reference/extendNumberInterface.types +++ b/tests/baselines/reference/extendNumberInterface.types @@ -25,11 +25,11 @@ var a: string = x.doStuff(); >x.doStuff() : string > : ^^^^^^ >x.doStuff : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : number > : ^^^^^^ >doStuff : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var b: string = x.doOtherStuff('hm'); >b : string @@ -37,11 +37,11 @@ var b: string = x.doOtherStuff('hm'); >x.doOtherStuff('hm') : "hm" > : ^^^^ >x.doOtherStuff : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : number > : ^^^^^^ >doOtherStuff : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >'hm' : "hm" > : ^^^^ @@ -51,7 +51,7 @@ var c: string = x['doStuff'](); >x['doStuff']() : string > : ^^^^^^ >x['doStuff'] : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : number > : ^^^^^^ >'doStuff' : "doStuff" @@ -63,7 +63,7 @@ var d: string = x['doOtherStuff']('hm'); >x['doOtherStuff']('hm') : "hm" > : ^^^^ >x['doOtherStuff'] : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : number > : ^^^^^^ >'doOtherStuff' : "doOtherStuff" diff --git a/tests/baselines/reference/extendStringInterface.types b/tests/baselines/reference/extendStringInterface.types index de6ff9d2f32ad..86b84fd97e146 100644 --- a/tests/baselines/reference/extendStringInterface.types +++ b/tests/baselines/reference/extendStringInterface.types @@ -25,11 +25,11 @@ var a: string = x.doStuff(); >x.doStuff() : string > : ^^^^^^ >x.doStuff : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : string > : ^^^^^^ >doStuff : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var b: string = x.doOtherStuff('hm'); >b : string @@ -37,11 +37,11 @@ var b: string = x.doOtherStuff('hm'); >x.doOtherStuff('hm') : "hm" > : ^^^^ >x.doOtherStuff : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : string > : ^^^^^^ >doOtherStuff : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >'hm' : "hm" > : ^^^^ @@ -51,7 +51,7 @@ var c: string = x['doStuff'](); >x['doStuff']() : string > : ^^^^^^ >x['doStuff'] : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : string > : ^^^^^^ >'doStuff' : "doStuff" @@ -63,7 +63,7 @@ var d: string = x['doOtherStuff']('hm'); >x['doOtherStuff']('hm') : "hm" > : ^^^^ >x['doOtherStuff'] : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : string > : ^^^^^^ >'doOtherStuff' : "doOtherStuff" diff --git a/tests/baselines/reference/extendedInterfaceGenericType.types b/tests/baselines/reference/extendedInterfaceGenericType.types index 7dc93aab4fa1f..2120e0cbde776 100644 --- a/tests/baselines/reference/extendedInterfaceGenericType.types +++ b/tests/baselines/reference/extendedInterfaceGenericType.types @@ -25,21 +25,21 @@ var betaOfNumber = alpha.makeBetaOfNumber(); >alpha.makeBetaOfNumber() : Beta > : ^^^^^^^^^^^^ >alpha.makeBetaOfNumber : () => Beta -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >alpha : Alpha > : ^^^^^^^^^^^^^ >makeBetaOfNumber : () => Beta -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ betaOfNumber.takesArgOfT(5); >betaOfNumber.takesArgOfT(5) : Alpha > : ^^^^^^^^^^^^^ >betaOfNumber.takesArgOfT : (arg: number) => Alpha -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ ^^^^^^ >betaOfNumber : Beta > : ^^^^^^^^^^^^ >takesArgOfT : (arg: number) => Alpha -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ ^^^^^^ >5 : 5 > : ^ diff --git a/tests/baselines/reference/extendedUnicodeEscapeSequenceIdentifiers.types b/tests/baselines/reference/extendedUnicodeEscapeSequenceIdentifiers.types index b495223eed0fa..cbd29c418f4fe 100644 --- a/tests/baselines/reference/extendedUnicodeEscapeSequenceIdentifiers.types +++ b/tests/baselines/reference/extendedUnicodeEscapeSequenceIdentifiers.types @@ -17,11 +17,11 @@ console.log(a + aa); >console.log(a + aa) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >a + aa : number > : ^^^^^^ >a : 12 diff --git a/tests/baselines/reference/extendedUnicodePlaneIdentifiers.types b/tests/baselines/reference/extendedUnicodePlaneIdentifiers.types index 38ff13f052160..1e69ee3119b99 100644 --- a/tests/baselines/reference/extendedUnicodePlaneIdentifiers.types +++ b/tests/baselines/reference/extendedUnicodePlaneIdentifiers.types @@ -17,11 +17,11 @@ console.log(𝑀 + 𝑚); // 9 >console.log(𝑀 + 𝑚) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >𝑀 + 𝑚 : number > : ^^^^^^ >𝑀 : 5 @@ -57,11 +57,11 @@ console.log(ၥ ** ၥ); >console.log(ၥ ** ၥ) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >ၥ ** ၥ : number > : ^^^^^^ >ၥ : 6 @@ -80,11 +80,11 @@ console.log(ဒ ** ဒ); >console.log(ဒ ** ဒ) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >ဒ ** ဒ : number > : ^^^^^^ >ဒ : 7 @@ -103,11 +103,11 @@ console.log(ဒၡ𝑀 ** ဒၡ𝑀); >console.log(ဒၡ𝑀 ** ဒၡ𝑀) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >ဒၡ𝑀 ** ဒၡ𝑀 : number > : ^^^^^^ >ဒၡ𝑀 : 7 @@ -125,11 +125,11 @@ console.log(ၡ𝑀ဒ ** ၡ𝑀ဒ); >console.log(ၡ𝑀ဒ ** ၡ𝑀ဒ) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >ၡ𝑀ဒ ** ၡ𝑀ဒ : number > : ^^^^^^ >ၡ𝑀ဒ : 7 @@ -147,11 +147,11 @@ console.log(𝑀ဒၡ ** 𝑀ဒၡ); >console.log(𝑀ဒၡ ** 𝑀ဒၡ) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >𝑀ဒၡ ** 𝑀ဒၡ : number > : ^^^^^^ >𝑀ဒၡ : 7 diff --git a/tests/baselines/reference/extendedUnicodePlaneIdentifiersJSDoc.types b/tests/baselines/reference/extendedUnicodePlaneIdentifiersJSDoc.types index 75045a304930f..374398462305a 100644 --- a/tests/baselines/reference/extendedUnicodePlaneIdentifiersJSDoc.types +++ b/tests/baselines/reference/extendedUnicodePlaneIdentifiersJSDoc.types @@ -18,11 +18,11 @@ function foo(𝑚, 𝑀) { >console.log(𝑀 + 𝑚) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >𝑀 + 𝑚 : number > : ^^^^^^ >𝑀 : number diff --git a/tests/baselines/reference/extendsTag1.symbols b/tests/baselines/reference/extendsTag1.symbols index 740f835a96b9c..f83b253d0e459 100644 --- a/tests/baselines/reference/extendsTag1.symbols +++ b/tests/baselines/reference/extendsTag1.symbols @@ -7,5 +7,5 @@ */ class My extends Set {} >My : Symbol(My, Decl(bug25101.js, 0, 0)) ->Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.esnext.collection.d.ts, --, --)) diff --git a/tests/baselines/reference/extendsTag5.types b/tests/baselines/reference/extendsTag5.types index 7396cc3d4645a..c1817f3070712 100644 --- a/tests/baselines/reference/extendsTag5.types +++ b/tests/baselines/reference/extendsTag5.types @@ -38,7 +38,7 @@ class B extends A {} >B : B > : ^ >A : A<{ a: string; b: string[]; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ ^^^^ /** * @extends {A<{ @@ -50,7 +50,7 @@ class C extends A {} >C : C > : ^ >A : A<{ a: string; b: string; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ ^^^^ /** * @extends {A<{a: string, b: string[]}>} @@ -59,7 +59,7 @@ class D extends A {} >D : D > : ^ >A : A<{ a: string; b: string[]; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ ^^^^ /** * @extends {A<{a: string, b: string}>} @@ -68,5 +68,5 @@ class E extends A {} >E : E > : ^ >A : A<{ a: string; b: string; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ ^^^^ diff --git a/tests/baselines/reference/externFunc.types b/tests/baselines/reference/externFunc.types index 72eea471afe6d..b275b7c5daf8f 100644 --- a/tests/baselines/reference/externFunc.types +++ b/tests/baselines/reference/externFunc.types @@ -3,7 +3,7 @@ === externFunc.ts === declare function parseInt(s:string):number; >parseInt : { (string: string, radix?: number): number; (s: string): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ @@ -11,7 +11,7 @@ parseInt("2"); >parseInt("2") : number > : ^^^^^^ >parseInt : { (string: string, radix?: number): number; (s: string): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ >"2" : "2" > : ^^^ diff --git a/tests/baselines/reference/externModule.types b/tests/baselines/reference/externModule.types index 38272266d1916..f582f33bea71d 100644 --- a/tests/baselines/reference/externModule.types +++ b/tests/baselines/reference/externModule.types @@ -105,7 +105,7 @@ declare module { static UTC(year: number, month: number): number; >UTC : { (year: number, month: number): number; (year: number, month: number, date: number): number; (year: number, month: number, date: number, hours: number): number; (year: number, month: number, date: number, hours: number, minutes: number): number; (year: number, month: number, date: number, hours: number, minutes: number, seconds: number): number; (year: number, month: number, date: number, hours: number, minutes: number, seconds: number, ms: number): number; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >year : number > : ^^^^^^ >month : number @@ -113,7 +113,7 @@ declare module { static UTC(year: number, month: number, date: number): number; >UTC : { (year: number, month: number): number; (year: number, month: number, date: number): number; (year: number, month: number, date: number, hours: number): number; (year: number, month: number, date: number, hours: number, minutes: number): number; (year: number, month: number, date: number, hours: number, minutes: number, seconds: number): number; (year: number, month: number, date: number, hours: number, minutes: number, seconds: number, ms: number): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >year : number > : ^^^^^^ >month : number @@ -123,7 +123,7 @@ declare module { static UTC(year: number, month: number, date: number, hours: number): number; >UTC : { (year: number, month: number): number; (year: number, month: number, date: number): number; (year: number, month: number, date: number, hours: number): number; (year: number, month: number, date: number, hours: number, minutes: number): number; (year: number, month: number, date: number, hours: number, minutes: number, seconds: number): number; (year: number, month: number, date: number, hours: number, minutes: number, seconds: number, ms: number): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >year : number > : ^^^^^^ >month : number @@ -135,7 +135,7 @@ declare module { static UTC(year: number, month: number, date: number, hours: number, minutes: number): number; >UTC : { (year: number, month: number): number; (year: number, month: number, date: number): number; (year: number, month: number, date: number, hours: number): number; (year: number, month: number, date: number, hours: number, minutes: number): number; (year: number, month: number, date: number, hours: number, minutes: number, seconds: number): number; (year: number, month: number, date: number, hours: number, minutes: number, seconds: number, ms: number): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >year : number > : ^^^^^^ >month : number @@ -149,7 +149,7 @@ declare module { static UTC(year: number, month: number, date: number, hours: number, minutes: number, seconds: number): number; >UTC : { (year: number, month: number): number; (year: number, month: number, date: number): number; (year: number, month: number, date: number, hours: number): number; (year: number, month: number, date: number, hours: number, minutes: number): number; (year: number, month: number, date: number, hours: number, minutes: number, seconds: number): number; (year: number, month: number, date: number, hours: number, minutes: number, seconds: number, ms: number): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >year : number > : ^^^^^^ >month : number @@ -165,7 +165,7 @@ declare module { static UTC(year: number, month: number, date: number, hours: number, minutes: number, seconds: number, >UTC : { (year: number, month: number): number; (year: number, month: number, date: number): number; (year: number, month: number, date: number, hours: number): number; (year: number, month: number, date: number, hours: number, minutes: number): number; (year: number, month: number, date: number, hours: number, minutes: number, seconds: number): number; (year: number, month: number, date: number, hours: number, minutes: number, seconds: number, ms: number): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >year : number > : ^^^^^^ >month : number diff --git a/tests/baselines/reference/externModuleClobber.types b/tests/baselines/reference/externModuleClobber.types index e8d0f64f48ce6..331237e404fc2 100644 --- a/tests/baselines/reference/externModuleClobber.types +++ b/tests/baselines/reference/externModuleClobber.types @@ -49,9 +49,9 @@ x = ec.getPosition(); >ec.getPosition() : EM.Position > : ^^^^^^^^^^^ >ec.getPosition : () => EM.Position -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >ec : EM.EC > : ^^^^^ >getPosition : () => EM.Position -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/externalModuleAssignToVar.types b/tests/baselines/reference/externalModuleAssignToVar.types index b90b7d90968d9..4f56eb669fb06 100644 --- a/tests/baselines/reference/externalModuleAssignToVar.types +++ b/tests/baselines/reference/externalModuleAssignToVar.types @@ -20,7 +20,7 @@ y1 = ext; // ok >y1 = ext : typeof ext > : ^^^^^^^^^^ >y1 : { C: new () => ext.C; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >ext : typeof ext > : ^^^^^^^^^^ @@ -38,7 +38,7 @@ y2 = ext2; // ok >y2 = ext2 : typeof ext2 > : ^^^^^^^^^^^ >y2 : new () => ext2 -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >ext2 : typeof ext2 > : ^^^^^^^^^^^ @@ -56,7 +56,7 @@ y3 = ext3; // ok >y3 = ext3 : typeof ext3 > : ^^^^^^^^^^^ >y3 : new () => ext3 -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >ext3 : typeof ext3 > : ^^^^^^^^^^^ diff --git a/tests/baselines/reference/extractFunction/extractFunction_VariableDeclaration_Writes_Let_LiteralType1.ts b/tests/baselines/reference/extractFunction/extractFunction_VariableDeclaration_Writes_Let_LiteralType1.ts index 06de0fd4f368a..c209a51388415 100644 --- a/tests/baselines/reference/extractFunction/extractFunction_VariableDeclaration_Writes_Let_LiteralType1.ts +++ b/tests/baselines/reference/extractFunction/extractFunction_VariableDeclaration_Writes_Let_LiteralType1.ts @@ -10,7 +10,7 @@ function f() { function f() { let a = 1; - let x: 8 | 10 | 2 = /*RENAME*/newFunction(); + let x: 0o10 | 10 | 0b10 = /*RENAME*/newFunction(); a; x; function newFunction() { @@ -23,7 +23,7 @@ function f() { function f() { let a = 1; - let x: (8 | 10 | 2) | undefined; + let x: (0o10 | 10 | 0b10) | undefined; ({ x, a } = /*RENAME*/newFunction(a)); a; x; } diff --git a/tests/baselines/reference/extractInferenceImprovement.types b/tests/baselines/reference/extractInferenceImprovement.types index 0fce0882b3b9e..2441dca933850 100644 --- a/tests/baselines/reference/extractInferenceImprovement.types +++ b/tests/baselines/reference/extractInferenceImprovement.types @@ -4,7 +4,7 @@ // repro mostly from https://github.com/Microsoft/TypeScript/issues/25065 function getProperty2(obj: T, key: Extract): T[K] { >getProperty2 : (obj: T, key: Extract) => T[K] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >obj : T > : ^ >key : Extract @@ -21,7 +21,7 @@ function getProperty2(obj: T, key: Extract): T[ function getProperty3>(obj: T, key: K): T[K] { >getProperty3 : >(obj: T, key: K) => T[K] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >obj : T > : ^ >key : K @@ -80,7 +80,7 @@ prop = getProperty2(obj, 'first'); >getProperty2(obj, 'first') : string > : ^^^^^^ >getProperty2 : (obj: T, key: Extract) => T[K] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >obj : StrNum > : ^^^^^^ >'first' : "first" @@ -94,7 +94,7 @@ prop = getProperty3(obj, 'first'); >getProperty3(obj, 'first') : string > : ^^^^^^ >getProperty3 : >(obj: T, key: K) => T[K] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >obj : StrNum > : ^^^^^^ >'first' : "first" @@ -109,7 +109,7 @@ prop = getProperty2(obj, s); >getProperty2(obj, s) : string > : ^^^^^^ >getProperty2 : (obj: T, key: Extract) => T[K] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >obj : StrNum > : ^^^^^^ >s : unique symbol @@ -123,7 +123,7 @@ prop = getProperty3(obj, s); >getProperty3(obj, s) : string | number > : ^^^^^^^^^^^^^^^ >getProperty3 : >(obj: T, key: K) => T[K] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >obj : StrNum > : ^^^^^^ >s : unique symbol diff --git a/tests/baselines/reference/fallbackToBindingPatternForTypeInference.types b/tests/baselines/reference/fallbackToBindingPatternForTypeInference.types index d0a18dea10ddb..0cfa1f1a314f1 100644 --- a/tests/baselines/reference/fallbackToBindingPatternForTypeInference.types +++ b/tests/baselines/reference/fallbackToBindingPatternForTypeInference.types @@ -13,7 +13,7 @@ trans(({a}) => a); >trans(({a}) => a) : number > : ^^^^^^ >trans : (f: (x: T) => string) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >({a}) => a : ({ a }: { a: any; }) => any > : ^ ^^^^^^^^^^^^^^^^^^^^^ >a : any @@ -24,7 +24,7 @@ trans(([b,c]) => 'foo'); >trans(([b,c]) => 'foo') : number > : ^^^^^^ >trans : (f: (x: T) => string) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >([b,c]) => 'foo' : ([b, c]: [any, any]) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^ >b : any @@ -38,7 +38,7 @@ trans(({d: [e,f]}) => 'foo'); >trans(({d: [e,f]}) => 'foo') : number > : ^^^^^^ >trans : (f: (x: T) => string) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >({d: [e,f]}) => 'foo' : ({ d: [e, f] }: { d: [any, any]; }) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >d : any @@ -54,7 +54,7 @@ trans(([{g},{h}]) => 'foo'); >trans(([{g},{h}]) => 'foo') : number > : ^^^^^^ >trans : (f: (x: T) => string) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >([{g},{h}]) => 'foo' : ([{ g }, { h }]: [{ g: any; }, { h: any; }]) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >g : any @@ -68,7 +68,7 @@ trans(({a, b = 10}) => a); >trans(({a, b = 10}) => a) : number > : ^^^^^^ >trans : (f: (x: T) => string) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >({a, b = 10}) => a : ({ a, b }: { a: any; b?: number; }) => any > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : any diff --git a/tests/baselines/reference/fatArrowSelf.types b/tests/baselines/reference/fatArrowSelf.types index d44dd396826d2..3df444eebca09 100644 --- a/tests/baselines/reference/fatArrowSelf.types +++ b/tests/baselines/reference/fatArrowSelf.types @@ -45,16 +45,16 @@ module Consumer { this.emitter.addListener('change', (e) => { >this.emitter.addListener('change', (e) => { this.changed(); }) : void > : ^^^^ ->this.emitter.addListener : (type: string, listener: ListenerCallback) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +>this.emitter.addListener : (type: string, listener: Events.ListenerCallback) => void +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this.emitter : Events.EventEmitter > : ^^^^^^^^^^^^^^^^^^^ >this : this > : ^^^^ >emitter : Events.EventEmitter > : ^^^^^^^^^^^^^^^^^^^ ->addListener : (type: string, listener: ListenerCallback) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +>addListener : (type: string, listener: Events.ListenerCallback) => void +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'change' : "change" > : ^^^^^^^^ >(e) => { this.changed(); } : (e: any) => void diff --git a/tests/baselines/reference/fatArrowfunctionAsType.types b/tests/baselines/reference/fatArrowfunctionAsType.types index 8aaaf772d640b..b095f13ff5093 100644 --- a/tests/baselines/reference/fatArrowfunctionAsType.types +++ b/tests/baselines/reference/fatArrowfunctionAsType.types @@ -21,9 +21,9 @@ var c: (x: T) => void = function (x: T) { return 42; } b = c; >b = c : (x: T) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b : (x: T) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >c : (x: T) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/fatarrowfunctions.types b/tests/baselines/reference/fatarrowfunctions.types index 81f2fd4a66c8f..191476f94d021 100644 --- a/tests/baselines/reference/fatarrowfunctions.types +++ b/tests/baselines/reference/fatarrowfunctions.types @@ -291,7 +291,7 @@ function ternaryTest(isWhile:boolean) { declare function setTimeout(expression: any, msec?: number, language?: any): number; >setTimeout : { (handler: TimerHandler, timeout?: number, ...arguments: any[]): number; (expression: any, msec?: number, language?: any): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >expression : any >msec : number > : ^^^^^^ @@ -319,7 +319,7 @@ var messenger = { >setTimeout(() => { this.message.toString(); }, 3000) : number > : ^^^^^^ >setTimeout : { (handler: TimerHandler, timeout?: number, ...arguments: any[]): number; (expression: any, msec?: number, language?: any): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >() => { this.message.toString(); } : () => void > : ^^^^^^^^^^ >this.message.toString() : any diff --git a/tests/baselines/reference/fatarrowfunctionsInFunctionParameterDefaults.types b/tests/baselines/reference/fatarrowfunctionsInFunctionParameterDefaults.types index b98a478a24082..ce07a5bf755e6 100644 --- a/tests/baselines/reference/fatarrowfunctionsInFunctionParameterDefaults.types +++ b/tests/baselines/reference/fatarrowfunctionsInFunctionParameterDefaults.types @@ -23,11 +23,11 @@ function fn(x = () => this, y = x()) { fn.call(4); // Should be 4 >fn.call(4) : any >fn.call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >fn : (x?: () => any, y?: any) => any > : ^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ >call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >4 : 4 > : ^ diff --git a/tests/baselines/reference/fatarrowfunctionsInFunctions.types b/tests/baselines/reference/fatarrowfunctionsInFunctions.types index 75b764b1926ee..2c625b5842649 100644 --- a/tests/baselines/reference/fatarrowfunctionsInFunctions.types +++ b/tests/baselines/reference/fatarrowfunctionsInFunctions.types @@ -3,7 +3,7 @@ === fatarrowfunctionsInFunctions.ts === declare function setTimeout(expression: any, msec?: number, language?: any): number; >setTimeout : { (handler: TimerHandler, timeout?: number, ...arguments: any[]): number; (expression: any, msec?: number, language?: any): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >expression : any >msec : number > : ^^^^^^ @@ -35,7 +35,7 @@ var messenger = { >setTimeout(function() { _self.message.toString(); }, 3000) : number > : ^^^^^^ >setTimeout : { (handler: TimerHandler, timeout?: number, ...arguments: any[]): number; (expression: any, msec?: number, language?: any): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >function() { _self.message.toString(); } : () => void > : ^^^^^^^^^^ diff --git a/tests/baselines/reference/findAllReferencesUmdModuleAsGlobalConst.baseline.jsonc b/tests/baselines/reference/findAllReferencesUmdModuleAsGlobalConst.baseline.jsonc index 8c517bb1499ff..3516bee024db8 100644 --- a/tests/baselines/reference/findAllReferencesUmdModuleAsGlobalConst.baseline.jsonc +++ b/tests/baselines/reference/findAllReferencesUmdModuleAsGlobalConst.baseline.jsonc @@ -3,31 +3,21 @@ // export * from "./three-core"; // <|export as namespace /*FIND ALL REFS*/[|{| isWriteAccess: true, isDefinition: true |}THREE|];|> -// === /typings/global.d.ts === -// <|import * as _THREE from '[|three|]';|> -// declare global { -// <|const [|{| isWriteAccess: true |}THREE|]: typeof _THREE;|> -// } - -// === /src/index.ts === -// export const a = {}; -// let v = new [|THREE|].Vector2(); - // === Definitions === // === /node_modules/@types/three/index.d.ts === - // [|export * from "./three-core"; - // export as namespace /*FIND ALL REFS*/THREE;|] + // export * from "./three-core"; + // <|export as namespace /*FIND ALL REFS*/[|THREE|];|> // === Details === [ { "containerKind": "", "containerName": "", - "kind": "var", - "name": "module THREE\nvar THREE: typeof import(\"/node_modules/@types/three/index\")", + "kind": "alias", + "name": "export namespace THREE", "displayParts": [ { - "text": "module", + "text": "export", "kind": "keyword" }, { @@ -35,15 +25,7 @@ "kind": "space" }, { - "text": "THREE", - "kind": "localName" - }, - { - "text": "\n", - "kind": "lineBreak" - }, - { - "text": "var", + "text": "namespace", "kind": "keyword" }, { @@ -52,39 +34,45 @@ }, { "text": "THREE", - "kind": "localName" - }, - { - "text": ":", - "kind": "punctuation" - }, - { - "text": " ", - "kind": "space" - }, + "kind": "aliasName" + } + ] + } + ] + + + +// === findAllReferences === +// === /typings/global.d.ts === +// <|import * as _THREE from '/*FIND ALL REFS*/[|three|]';|> +// declare global { +// const THREE: typeof _THREE; +// } + + // === Definitions === + // === /node_modules/@types/three/index.d.ts === + // [|export * from "./three-core"; + // export as namespace THREE;|] + + // === Details === + [ + { + "containerKind": "", + "containerName": "", + "kind": "module", + "name": "module \"/node_modules/@types/three/index\"", + "displayParts": [ { - "text": "typeof", + "text": "module", "kind": "keyword" }, { "text": " ", "kind": "space" }, - { - "text": "import", - "kind": "keyword" - }, - { - "text": "(", - "kind": "punctuation" - }, { "text": "\"/node_modules/@types/three/index\"", "kind": "stringLiteral" - }, - { - "text": ")", - "kind": "punctuation" } ] } @@ -93,14 +81,10 @@ // === findAllReferences === -// === /node_modules/@types/three/index.d.ts === -// export * from "./three-core"; -// <|export as namespace [|{| isWriteAccess: true |}THREE|];|> - // === /typings/global.d.ts === -// <|import * as _THREE from '/*FIND ALL REFS*/[|three|]';|> +// import * as _THREE from 'three'; // declare global { -// <|const [|{| isWriteAccess: true |}THREE|]: typeof _THREE;|> +// <|const /*FIND ALL REFS*/[|{| isWriteAccess: true, isDefinition: true |}THREE|]: typeof _THREE;|> // } // === /src/index.ts === @@ -108,36 +92,22 @@ // let v = new [|THREE|].Vector2(); // === Definitions === - // === /node_modules/@types/three/index.d.ts === - // [|export * from "./three-core"; - // export as namespace THREE;|] + // === /typings/global.d.ts === + // import * as _THREE from 'three'; + // declare global { + // <|const /*FIND ALL REFS*/[|THREE|]: typeof _THREE;|> + // } // === Details === [ { "containerKind": "", "containerName": "", - "kind": "var", - "name": "module THREE\nvar THREE: typeof import(\"/node_modules/@types/three/index\")", + "kind": "const", + "name": "const THREE: typeof _THREE", "displayParts": [ { - "text": "module", - "kind": "keyword" - }, - { - "text": " ", - "kind": "space" - }, - { - "text": "THREE", - "kind": "localName" - }, - { - "text": "\n", - "kind": "lineBreak" - }, - { - "text": "var", + "text": "const", "kind": "keyword" }, { @@ -165,20 +135,8 @@ "kind": "space" }, { - "text": "import", - "kind": "keyword" - }, - { - "text": "(", - "kind": "punctuation" - }, - { - "text": "\"/node_modules/@types/three/index\"", - "kind": "stringLiteral" - }, - { - "text": ")", - "kind": "punctuation" + "text": "_THREE", + "kind": "aliasName" } ] } @@ -187,51 +145,33 @@ // === findAllReferences === -// === /node_modules/@types/three/index.d.ts === -// export * from "./three-core"; -// <|export as namespace [|{| isWriteAccess: true |}THREE|];|> - // === /typings/global.d.ts === -// <|import * as _THREE from '[|three|]';|> +// import * as _THREE from 'three'; // declare global { -// <|const /*FIND ALL REFS*/[|{| isWriteAccess: true, isDefinition: true |}THREE|]: typeof _THREE;|> +// <|const [|{| isWriteAccess: true |}THREE|]: typeof _THREE;|> // } // === /src/index.ts === // export const a = {}; -// let v = new [|THREE|].Vector2(); +// let v = new /*FIND ALL REFS*/[|THREE|].Vector2(); // === Definitions === - // === /node_modules/@types/three/index.d.ts === - // [|export * from "./three-core"; - // export as namespace THREE;|] + // === /typings/global.d.ts === + // import * as _THREE from 'three'; + // declare global { + // <|const [|THREE|]: typeof _THREE;|> + // } // === Details === [ { "containerKind": "", "containerName": "", - "kind": "var", - "name": "module THREE\nvar THREE: typeof import(\"/node_modules/@types/three/index\")", + "kind": "const", + "name": "const THREE: typeof _THREE", "displayParts": [ { - "text": "module", - "kind": "keyword" - }, - { - "text": " ", - "kind": "space" - }, - { - "text": "THREE", - "kind": "localName" - }, - { - "text": "\n", - "kind": "lineBreak" - }, - { - "text": "var", + "text": "const", "kind": "keyword" }, { @@ -259,20 +199,8 @@ "kind": "space" }, { - "text": "import", - "kind": "keyword" - }, - { - "text": "(", - "kind": "punctuation" - }, - { - "text": "\"/node_modules/@types/three/index\"", - "kind": "stringLiteral" - }, - { - "text": ")", - "kind": "punctuation" + "text": "_THREE", + "kind": "aliasName" } ] } diff --git a/tests/baselines/reference/findLast(target=esnext).types b/tests/baselines/reference/findLast(target=esnext).types index 0a2665b12cbc5..ca1821e75576b 100644 --- a/tests/baselines/reference/findLast(target=esnext).types +++ b/tests/baselines/reference/findLast(target=esnext).types @@ -6,14 +6,14 @@ const itemNumber: number | undefined = [0].findLast((item) => item === 0); > : ^^^^^^ >[0].findLast((item) => item === 0) : 0 > : ^ ->[0].findLast : { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>[0].findLast : { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^ >[0] : number[] > : ^^^^^^^^ >0 : 0 > : ^ ->findLast : { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>findLast : { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^ >(item) => item === 0 : (item: number) => item is 0 > : ^ ^^^^^^^^^^^^^^^^^^^^^^ >item : number @@ -30,14 +30,14 @@ const itemString: string | undefined = ["string"].findLast((item) => item === "s > : ^^^^^^ >["string"].findLast((item) => item === "string") : "string" > : ^^^^^^^^ ->["string"].findLast : { (predicate: (value: string, index: number, array: string[]) => value is S, thisArg?: any): S; (predicate: (value: string, index: number, array: string[]) => unknown, thisArg?: any): string; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>["string"].findLast : { (predicate: (value: string, index: number, array: string[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: string, index: number, array: string[]) => unknown, thisArg?: any): string | undefined; } +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^ >["string"] : string[] > : ^^^^^^^^ >"string" : "string" > : ^^^^^^^^ ->findLast : { (predicate: (value: string, index: number, array: string[]) => value is S, thisArg?: any): S; (predicate: (value: string, index: number, array: string[]) => unknown, thisArg?: any): string; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>findLast : { (predicate: (value: string, index: number, array: string[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: string, index: number, array: string[]) => unknown, thisArg?: any): string | undefined; } +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^ >(item) => item === "string" : (item: string) => item is "string" > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >item : string @@ -52,14 +52,14 @@ const itemString: string | undefined = ["string"].findLast((item) => item === "s new Int8Array().findLast((item) => item === 0); >new Int8Array().findLast((item) => item === 0) : 0 > : ^ ->new Int8Array().findLast : { (predicate: (value: number, index: number, array: Int8Array) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, array: Int8Array) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>new Int8Array().findLast : { (predicate: (value: number, index: number, array: Int8Array) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, array: Int8Array) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^ >new Int8Array() : Int8Array > : ^^^^^^^^^ >Int8Array : Int8ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^ ->findLast : { (predicate: (value: number, index: number, array: Int8Array) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, array: Int8Array) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>findLast : { (predicate: (value: number, index: number, array: Int8Array) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, array: Int8Array) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^ >(item) => item === 0 : (item: number) => item is 0 > : ^ ^^^^^^^^^^^^^^^^^^^^^^ >item : number @@ -74,14 +74,14 @@ new Int8Array().findLast((item) => item === 0); new Uint8Array().findLast((item) => item === 0); >new Uint8Array().findLast((item) => item === 0) : 0 > : ^ ->new Uint8Array().findLast : { (predicate: (value: number, index: number, array: Uint8Array) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, array: Uint8Array) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>new Uint8Array().findLast : { (predicate: (value: number, index: number, array: Uint8Array) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, array: Uint8Array) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^ >new Uint8Array() : Uint8Array > : ^^^^^^^^^^ >Uint8Array : Uint8ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ ->findLast : { (predicate: (value: number, index: number, array: Uint8Array) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, array: Uint8Array) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>findLast : { (predicate: (value: number, index: number, array: Uint8Array) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, array: Uint8Array) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^ >(item) => item === 0 : (item: number) => item is 0 > : ^ ^^^^^^^^^^^^^^^^^^^^^^ >item : number @@ -96,14 +96,14 @@ new Uint8Array().findLast((item) => item === 0); new Uint8ClampedArray().findLast((item) => item === 0); >new Uint8ClampedArray().findLast((item) => item === 0) : 0 > : ^ ->new Uint8ClampedArray().findLast : { (predicate: (value: number, index: number, array: Uint8ClampedArray) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, array: Uint8ClampedArray) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>new Uint8ClampedArray().findLast : { (predicate: (value: number, index: number, array: Uint8ClampedArray) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, array: Uint8ClampedArray) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^ >new Uint8ClampedArray() : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >Uint8ClampedArray : Uint8ClampedArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->findLast : { (predicate: (value: number, index: number, array: Uint8ClampedArray) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, array: Uint8ClampedArray) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>findLast : { (predicate: (value: number, index: number, array: Uint8ClampedArray) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, array: Uint8ClampedArray) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^ >(item) => item === 0 : (item: number) => item is 0 > : ^ ^^^^^^^^^^^^^^^^^^^^^^ >item : number @@ -118,14 +118,14 @@ new Uint8ClampedArray().findLast((item) => item === 0); new Int16Array().findLast((item) => item === 0); >new Int16Array().findLast((item) => item === 0) : 0 > : ^ ->new Int16Array().findLast : { (predicate: (value: number, index: number, array: Int16Array) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, array: Int16Array) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>new Int16Array().findLast : { (predicate: (value: number, index: number, array: Int16Array) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, array: Int16Array) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^ >new Int16Array() : Int16Array > : ^^^^^^^^^^ >Int16Array : Int16ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ ->findLast : { (predicate: (value: number, index: number, array: Int16Array) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, array: Int16Array) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>findLast : { (predicate: (value: number, index: number, array: Int16Array) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, array: Int16Array) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^ >(item) => item === 0 : (item: number) => item is 0 > : ^ ^^^^^^^^^^^^^^^^^^^^^^ >item : number @@ -140,14 +140,14 @@ new Int16Array().findLast((item) => item === 0); new Uint16Array().findLast((item) => item === 0); >new Uint16Array().findLast((item) => item === 0) : 0 > : ^ ->new Uint16Array().findLast : { (predicate: (value: number, index: number, array: Uint16Array) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, array: Uint16Array) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>new Uint16Array().findLast : { (predicate: (value: number, index: number, array: Uint16Array) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, array: Uint16Array) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^ >new Uint16Array() : Uint16Array > : ^^^^^^^^^^^ >Uint16Array : Uint16ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^ ->findLast : { (predicate: (value: number, index: number, array: Uint16Array) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, array: Uint16Array) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>findLast : { (predicate: (value: number, index: number, array: Uint16Array) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, array: Uint16Array) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^ >(item) => item === 0 : (item: number) => item is 0 > : ^ ^^^^^^^^^^^^^^^^^^^^^^ >item : number @@ -162,14 +162,14 @@ new Uint16Array().findLast((item) => item === 0); new Int32Array().findLast((item) => item === 0); >new Int32Array().findLast((item) => item === 0) : 0 > : ^ ->new Int32Array().findLast : { (predicate: (value: number, index: number, array: Int32Array) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, array: Int32Array) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>new Int32Array().findLast : { (predicate: (value: number, index: number, array: Int32Array) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, array: Int32Array) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^ >new Int32Array() : Int32Array > : ^^^^^^^^^^ >Int32Array : Int32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ ->findLast : { (predicate: (value: number, index: number, array: Int32Array) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, array: Int32Array) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>findLast : { (predicate: (value: number, index: number, array: Int32Array) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, array: Int32Array) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^ >(item) => item === 0 : (item: number) => item is 0 > : ^ ^^^^^^^^^^^^^^^^^^^^^^ >item : number @@ -184,14 +184,14 @@ new Int32Array().findLast((item) => item === 0); new Uint32Array().findLast((item) => item === 0); >new Uint32Array().findLast((item) => item === 0) : 0 > : ^ ->new Uint32Array().findLast : { (predicate: (value: number, index: number, array: Uint32Array) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, array: Uint32Array) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>new Uint32Array().findLast : { (predicate: (value: number, index: number, array: Uint32Array) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, array: Uint32Array) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^ >new Uint32Array() : Uint32Array > : ^^^^^^^^^^^ >Uint32Array : Uint32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^ ->findLast : { (predicate: (value: number, index: number, array: Uint32Array) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, array: Uint32Array) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>findLast : { (predicate: (value: number, index: number, array: Uint32Array) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, array: Uint32Array) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^ >(item) => item === 0 : (item: number) => item is 0 > : ^ ^^^^^^^^^^^^^^^^^^^^^^ >item : number @@ -206,14 +206,14 @@ new Uint32Array().findLast((item) => item === 0); new Float32Array().findLast((item) => item === 0); >new Float32Array().findLast((item) => item === 0) : 0 > : ^ ->new Float32Array().findLast : { (predicate: (value: number, index: number, array: Float32Array) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>new Float32Array().findLast : { (predicate: (value: number, index: number, array: Float32Array) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^ >new Float32Array() : Float32Array > : ^^^^^^^^^^^^ >Float32Array : Float32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^ ->findLast : { (predicate: (value: number, index: number, array: Float32Array) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>findLast : { (predicate: (value: number, index: number, array: Float32Array) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^ >(item) => item === 0 : (item: number) => item is 0 > : ^ ^^^^^^^^^^^^^^^^^^^^^^ >item : number @@ -228,14 +228,14 @@ new Float32Array().findLast((item) => item === 0); new Float64Array().findLast((item) => item === 0); >new Float64Array().findLast((item) => item === 0) : 0 > : ^ ->new Float64Array().findLast : { (predicate: (value: number, index: number, array: Float64Array) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, array: Float64Array) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>new Float64Array().findLast : { (predicate: (value: number, index: number, array: Float64Array) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, array: Float64Array) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^ >new Float64Array() : Float64Array > : ^^^^^^^^^^^^ >Float64Array : Float64ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^ ->findLast : { (predicate: (value: number, index: number, array: Float64Array) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, array: Float64Array) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>findLast : { (predicate: (value: number, index: number, array: Float64Array) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, array: Float64Array) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^ >(item) => item === 0 : (item: number) => item is 0 > : ^ ^^^^^^^^^^^^^^^^^^^^^^ >item : number @@ -250,14 +250,14 @@ new Float64Array().findLast((item) => item === 0); new BigInt64Array().findLast((item) => item === BigInt(0)); >new BigInt64Array().findLast((item) => item === BigInt(0)) : bigint > : ^^^^^^ ->new BigInt64Array().findLast : { (predicate: (value: bigint, index: number, array: BigInt64Array) => value is S, thisArg?: any): S; (predicate: (value: bigint, index: number, array: BigInt64Array) => unknown, thisArg?: any): bigint; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>new BigInt64Array().findLast : { (predicate: (value: bigint, index: number, array: BigInt64Array) => value is S, thisArg?: any): S | undefined; (predicate: (value: bigint, index: number, array: BigInt64Array) => unknown, thisArg?: any): bigint | undefined; } +> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^ >new BigInt64Array() : BigInt64Array > : ^^^^^^^^^^^^^ >BigInt64Array : BigInt64ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^ ->findLast : { (predicate: (value: bigint, index: number, array: BigInt64Array) => value is S, thisArg?: any): S; (predicate: (value: bigint, index: number, array: BigInt64Array) => unknown, thisArg?: any): bigint; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>findLast : { (predicate: (value: bigint, index: number, array: BigInt64Array) => value is S, thisArg?: any): S | undefined; (predicate: (value: bigint, index: number, array: BigInt64Array) => unknown, thisArg?: any): bigint | undefined; } +> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^ >(item) => item === BigInt(0) : (item: bigint) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^ >item : bigint @@ -276,14 +276,14 @@ new BigInt64Array().findLast((item) => item === BigInt(0)); new BigUint64Array().findLast((item) => item === BigInt(0)); >new BigUint64Array().findLast((item) => item === BigInt(0)) : bigint > : ^^^^^^ ->new BigUint64Array().findLast : { (predicate: (value: bigint, index: number, array: BigUint64Array) => value is S, thisArg?: any): S; (predicate: (value: bigint, index: number, array: BigUint64Array) => unknown, thisArg?: any): bigint; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>new BigUint64Array().findLast : { (predicate: (value: bigint, index: number, array: BigUint64Array) => value is S, thisArg?: any): S | undefined; (predicate: (value: bigint, index: number, array: BigUint64Array) => unknown, thisArg?: any): bigint | undefined; } +> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^ >new BigUint64Array() : BigUint64Array > : ^^^^^^^^^^^^^^ >BigUint64Array : BigUint64ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->findLast : { (predicate: (value: bigint, index: number, array: BigUint64Array) => value is S, thisArg?: any): S; (predicate: (value: bigint, index: number, array: BigUint64Array) => unknown, thisArg?: any): bigint; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>findLast : { (predicate: (value: bigint, index: number, array: BigUint64Array) => value is S, thisArg?: any): S | undefined; (predicate: (value: bigint, index: number, array: BigUint64Array) => unknown, thisArg?: any): bigint | undefined; } +> : ^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^^ >(item) => item === BigInt(0) : (item: bigint) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^ >item : bigint @@ -305,13 +305,13 @@ const indexNumber: number = [0].findLastIndex((item) => item === 0); >[0].findLastIndex((item) => item === 0) : number > : ^^^^^^ >[0].findLastIndex : (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => number -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >[0] : number[] > : ^^^^^^^^ >0 : 0 > : ^ >findLastIndex : (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => number -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >(item) => item === 0 : (item: number) => item is 0 > : ^ ^^^^^^^^^^^^^^^^^^^^^^ >item : number @@ -329,13 +329,13 @@ const indexString: number = ["string"].findLastIndex((item) => item === "string" >["string"].findLastIndex((item) => item === "string") : number > : ^^^^^^ >["string"].findLastIndex : (predicate: (value: string, index: number, array: string[]) => unknown, thisArg?: any) => number -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >["string"] : string[] > : ^^^^^^^^ >"string" : "string" > : ^^^^^^^^ >findLastIndex : (predicate: (value: string, index: number, array: string[]) => unknown, thisArg?: any) => number -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >(item) => item === "string" : (item: string) => item is "string" > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >item : string @@ -351,13 +351,13 @@ new Int8Array().findLastIndex((item) => item === 0); >new Int8Array().findLastIndex((item) => item === 0) : number > : ^^^^^^ >new Int8Array().findLastIndex : (predicate: (value: number, index: number, array: Int8Array) => unknown, thisArg?: any) => number -> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^^^ >new Int8Array() : Int8Array > : ^^^^^^^^^ >Int8Array : Int8ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^ >findLastIndex : (predicate: (value: number, index: number, array: Int8Array) => unknown, thisArg?: any) => number -> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^^^ >(item) => item === 0 : (item: number) => item is 0 > : ^ ^^^^^^^^^^^^^^^^^^^^^^ >item : number @@ -373,13 +373,13 @@ new Uint8Array().findLastIndex((item) => item === 0); >new Uint8Array().findLastIndex((item) => item === 0) : number > : ^^^^^^ >new Uint8Array().findLastIndex : (predicate: (value: number, index: number, array: Uint8Array) => unknown, thisArg?: any) => number -> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^^^ >new Uint8Array() : Uint8Array > : ^^^^^^^^^^ >Uint8Array : Uint8ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ >findLastIndex : (predicate: (value: number, index: number, array: Uint8Array) => unknown, thisArg?: any) => number -> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^^^ >(item) => item === 0 : (item: number) => item is 0 > : ^ ^^^^^^^^^^^^^^^^^^^^^^ >item : number @@ -395,13 +395,13 @@ new Uint8ClampedArray().findLastIndex((item) => item === 0); >new Uint8ClampedArray().findLastIndex((item) => item === 0) : number > : ^^^^^^ >new Uint8ClampedArray().findLastIndex : (predicate: (value: number, index: number, array: Uint8ClampedArray) => unknown, thisArg?: any) => number -> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^^^ >new Uint8ClampedArray() : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >Uint8ClampedArray : Uint8ClampedArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >findLastIndex : (predicate: (value: number, index: number, array: Uint8ClampedArray) => unknown, thisArg?: any) => number -> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^^^ >(item) => item === 0 : (item: number) => item is 0 > : ^ ^^^^^^^^^^^^^^^^^^^^^^ >item : number @@ -417,13 +417,13 @@ new Int16Array().findLastIndex((item) => item === 0); >new Int16Array().findLastIndex((item) => item === 0) : number > : ^^^^^^ >new Int16Array().findLastIndex : (predicate: (value: number, index: number, array: Int16Array) => unknown, thisArg?: any) => number -> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^^^ >new Int16Array() : Int16Array > : ^^^^^^^^^^ >Int16Array : Int16ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ >findLastIndex : (predicate: (value: number, index: number, array: Int16Array) => unknown, thisArg?: any) => number -> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^^^ >(item) => item === 0 : (item: number) => item is 0 > : ^ ^^^^^^^^^^^^^^^^^^^^^^ >item : number @@ -439,13 +439,13 @@ new Uint16Array().findLastIndex((item) => item === 0); >new Uint16Array().findLastIndex((item) => item === 0) : number > : ^^^^^^ >new Uint16Array().findLastIndex : (predicate: (value: number, index: number, array: Uint16Array) => unknown, thisArg?: any) => number -> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^^^ >new Uint16Array() : Uint16Array > : ^^^^^^^^^^^ >Uint16Array : Uint16ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^ >findLastIndex : (predicate: (value: number, index: number, array: Uint16Array) => unknown, thisArg?: any) => number -> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^^^ >(item) => item === 0 : (item: number) => item is 0 > : ^ ^^^^^^^^^^^^^^^^^^^^^^ >item : number @@ -461,13 +461,13 @@ new Int32Array().findLastIndex((item) => item === 0); >new Int32Array().findLastIndex((item) => item === 0) : number > : ^^^^^^ >new Int32Array().findLastIndex : (predicate: (value: number, index: number, array: Int32Array) => unknown, thisArg?: any) => number -> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^^^ >new Int32Array() : Int32Array > : ^^^^^^^^^^ >Int32Array : Int32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ >findLastIndex : (predicate: (value: number, index: number, array: Int32Array) => unknown, thisArg?: any) => number -> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^^^ >(item) => item === 0 : (item: number) => item is 0 > : ^ ^^^^^^^^^^^^^^^^^^^^^^ >item : number @@ -483,13 +483,13 @@ new Uint32Array().findLastIndex((item) => item === 0); >new Uint32Array().findLastIndex((item) => item === 0) : number > : ^^^^^^ >new Uint32Array().findLastIndex : (predicate: (value: number, index: number, array: Uint32Array) => unknown, thisArg?: any) => number -> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^^^ >new Uint32Array() : Uint32Array > : ^^^^^^^^^^^ >Uint32Array : Uint32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^ >findLastIndex : (predicate: (value: number, index: number, array: Uint32Array) => unknown, thisArg?: any) => number -> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^^^ >(item) => item === 0 : (item: number) => item is 0 > : ^ ^^^^^^^^^^^^^^^^^^^^^^ >item : number @@ -505,13 +505,13 @@ new Float32Array().findLastIndex((item) => item === 0); >new Float32Array().findLastIndex((item) => item === 0) : number > : ^^^^^^ >new Float32Array().findLastIndex : (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any) => number -> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^^^ >new Float32Array() : Float32Array > : ^^^^^^^^^^^^ >Float32Array : Float32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^ >findLastIndex : (predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any) => number -> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^^^ >(item) => item === 0 : (item: number) => item is 0 > : ^ ^^^^^^^^^^^^^^^^^^^^^^ >item : number @@ -527,13 +527,13 @@ new Float64Array().findLastIndex((item) => item === 0); >new Float64Array().findLastIndex((item) => item === 0) : number > : ^^^^^^ >new Float64Array().findLastIndex : (predicate: (value: number, index: number, array: Float64Array) => unknown, thisArg?: any) => number -> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^^^ >new Float64Array() : Float64Array > : ^^^^^^^^^^^^ >Float64Array : Float64ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^ >findLastIndex : (predicate: (value: number, index: number, array: Float64Array) => unknown, thisArg?: any) => number -> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^^^ >(item) => item === 0 : (item: number) => item is 0 > : ^ ^^^^^^^^^^^^^^^^^^^^^^ >item : number @@ -549,13 +549,13 @@ new BigInt64Array().findLastIndex((item) => item === BigInt(0)); >new BigInt64Array().findLastIndex((item) => item === BigInt(0)) : number > : ^^^^^^ >new BigInt64Array().findLastIndex : (predicate: (value: bigint, index: number, array: BigInt64Array) => unknown, thisArg?: any) => number -> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^^^ >new BigInt64Array() : BigInt64Array > : ^^^^^^^^^^^^^ >BigInt64Array : BigInt64ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^ >findLastIndex : (predicate: (value: bigint, index: number, array: BigInt64Array) => unknown, thisArg?: any) => number -> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^^^ >(item) => item === BigInt(0) : (item: bigint) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^ >item : bigint @@ -575,13 +575,13 @@ new BigUint64Array().findLastIndex((item) => item === BigInt(0)); >new BigUint64Array().findLastIndex((item) => item === BigInt(0)) : number > : ^^^^^^ >new BigUint64Array().findLastIndex : (predicate: (value: bigint, index: number, array: BigUint64Array) => unknown, thisArg?: any) => number -> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^^^ >new BigUint64Array() : BigUint64Array > : ^^^^^^^^^^^^^^ >BigUint64Array : BigUint64ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >findLastIndex : (predicate: (value: bigint, index: number, array: BigUint64Array) => unknown, thisArg?: any) => number -> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^^^ >(item) => item === BigInt(0) : (item: bigint) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^ >item : bigint diff --git a/tests/baselines/reference/firstMatchRegExpMatchArray.types b/tests/baselines/reference/firstMatchRegExpMatchArray.types index 73eeca146419e..aaac0d50303b1 100644 --- a/tests/baselines/reference/firstMatchRegExpMatchArray.types +++ b/tests/baselines/reference/firstMatchRegExpMatchArray.types @@ -7,11 +7,11 @@ const match = ''.match(/ /) >''.match(/ /) : RegExpMatchArray | null > : ^^^^^^^^^^^^^^^^^^^^^^^ >''.match : (regexp: string | RegExp) => RegExpMatchArray | null -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'' : "" > : ^^ >match : (regexp: string | RegExp) => RegExpMatchArray | null -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >/ / : RegExp > : ^^^^^^ diff --git a/tests/baselines/reference/fixSignatureCaching.types b/tests/baselines/reference/fixSignatureCaching.types index d189b7f61d9c3..4251529b6a09e 100644 --- a/tests/baselines/reference/fixSignatureCaching.types +++ b/tests/baselines/reference/fixSignatureCaching.types @@ -1591,9 +1591,9 @@ define(function () { var hasOwnProp = Object.prototype.hasOwnProperty, >hasOwnProp : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Object.prototype.hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Object.prototype : Object > : ^^^^^^ >Object : ObjectConstructor @@ -1601,7 +1601,7 @@ define(function () { >prototype : Object > : ^^^^^^ >hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ isArray; >isArray : any @@ -1661,11 +1661,11 @@ define(function () { Array.isArray : function (value) { return Object.prototype.toString.call(value) === '[object Array]'; }; >Array.isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >function (value) { return Object.prototype.toString.call(value) === '[object Array]'; } : (value: any) => boolean > : ^ ^^^^^^^^^^^^^^^^^ >value : any @@ -1675,9 +1675,9 @@ define(function () { >Object.prototype.toString.call(value) : any > : ^^^ >Object.prototype.toString.call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >Object.prototype.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Object.prototype : Object > : ^^^^^^ >Object : ObjectConstructor @@ -1685,9 +1685,9 @@ define(function () { >prototype : Object > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >value : any > : ^^^ >'[object Array]' : "[object Array]" @@ -1717,9 +1717,9 @@ define(function () { >Object.prototype.toString.call(value) : any > : ^^^ >Object.prototype.toString.call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >Object.prototype.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Object.prototype : Object > : ^^^^^^ >Object : ObjectConstructor @@ -1727,9 +1727,9 @@ define(function () { >prototype : Object > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >value : any > : ^^^ >'[object Array]' : "[object Array]" @@ -1898,11 +1898,11 @@ define(function () { >hasOwnProp.call(object, key) : any > : ^^^ >hasOwnProp.call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >hasOwnProp : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >object : any > : ^^^ >key : string @@ -1979,11 +1979,11 @@ define(function () { >hasOwnProp.call(mobileDetectRules.props, key) : any > : ^^^ >hasOwnProp.call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >hasOwnProp : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >mobileDetectRules.props : any > : ^^^ >mobileDetectRules : any @@ -2305,11 +2305,11 @@ define(function () { >hasOwnProp.call(rules, key) : any > : ^^^ >hasOwnProp.call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >hasOwnProp : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >rules : any > : ^^^ >key : string @@ -2379,11 +2379,11 @@ define(function () { >hasOwnProp.call(rules, key) : any > : ^^^ >hasOwnProp.call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >hasOwnProp : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >rules : any > : ^^^ >key : string @@ -2409,11 +2409,11 @@ define(function () { >result.push(key) : number > : ^^^^^^ >result.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >result : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >key : string > : ^^^^^^ } @@ -2475,11 +2475,11 @@ define(function () { >hasOwnProp.call(props, propertyName) : any > : ^^^ >hasOwnProp.call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >hasOwnProp : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >props : any > : ^^^ >propertyName : any diff --git a/tests/baselines/reference/fixingTypeParametersRepeatedly1.types b/tests/baselines/reference/fixingTypeParametersRepeatedly1.types index 9badcb364d6f5..fc89accd73972 100644 --- a/tests/baselines/reference/fixingTypeParametersRepeatedly1.types +++ b/tests/baselines/reference/fixingTypeParametersRepeatedly1.types @@ -19,7 +19,7 @@ f("", x => null, x => x.toLowerCase()); >f("", x => null, x => x.toLowerCase()) : string > : ^^^^^^ >f : (x: T, y: (p: T) => T, z: (p: T) => T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >"" : "" > : ^^ >x => null : (x: string) => any @@ -33,11 +33,11 @@ f("", x => null, x => x.toLowerCase()); >x.toLowerCase() : string > : ^^^^^^ >x.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ // First overload of g should type check just like f declare function g(x: T, y: (p: T) => T, z: (p: T) => T): T; @@ -56,12 +56,12 @@ declare function g(x: T, y: (p: T) => T, z: (p: T) => T): T; declare function g(); >g : { (x: T, y: (p: T) => T, z: (p: T) => T): T; (): any; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ g("", x => null, x => x.toLowerCase()); >g("", x => null, x => x.toLowerCase()) : any >g : { (x: T, y: (p: T) => T, z: (p: T) => T): T; (): any; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ >"" : "" > : ^^ >x => null : (x: string) => any @@ -75,9 +75,9 @@ g("", x => null, x => x.toLowerCase()); >x.toLowerCase() : string > : ^^^^^^ >x.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/fixingTypeParametersRepeatedly2.types b/tests/baselines/reference/fixingTypeParametersRepeatedly2.types index e6508d2a756da..ccd1ef74e84ff 100644 --- a/tests/baselines/reference/fixingTypeParametersRepeatedly2.types +++ b/tests/baselines/reference/fixingTypeParametersRepeatedly2.types @@ -32,7 +32,7 @@ var result = foo(derived, d => d.toBase()); >foo(derived, d => d.toBase()) : Derived > : ^^^^^^^ >foo : (x: T, func: (p: T) => T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >derived : Derived > : ^^^^^^^ >d => d.toBase() : (d: Derived) => Base @@ -42,17 +42,17 @@ var result = foo(derived, d => d.toBase()); >d.toBase() : Base > : ^^^^ >d.toBase : () => Base -> : ^^^^^^^^^^ +> : ^^^^^^ >d : Derived > : ^^^^^^^ >toBase : () => Base -> : ^^^^^^^^^^ +> : ^^^^^^ // bar should type check just like foo. // The same error should be observed in both cases. declare function bar(x: T, func: (p: T) => T): T; >bar : { (x: T, func: (p: T) => T): T; (x: T_1, func: (p: T_1) => T_1): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ >func : (p: T) => T @@ -62,7 +62,7 @@ declare function bar(x: T, func: (p: T) => T): T; declare function bar(x: T, func: (p: T) => T): T; >bar : { (x: T_1, func: (p: T_1) => T_1): T_1; (x: T, func: (p: T) => T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ >func : (p: T) => T @@ -75,8 +75,8 @@ var result = bar(derived, d => d.toBase()); > : ^^^^^^^ >bar(derived, d => d.toBase()) : Base > : ^^^^ ->bar : { (x: T, func: (p: T) => T): T; (x: T_1, func: (p: T_1) => T_1): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>bar : { (x: T, func: (p: T) => T): T; (x: T, func: (p: T) => T): T; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >derived : Derived > : ^^^^^^^ >d => d.toBase() : (d: Derived) => Base @@ -86,9 +86,9 @@ var result = bar(derived, d => d.toBase()); >d.toBase() : Base > : ^^^^ >d.toBase : () => Base -> : ^^^^^^^^^^ +> : ^^^^^^ >d : Derived > : ^^^^^^^ >toBase : () => Base -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/fixingTypeParametersRepeatedly3.types b/tests/baselines/reference/fixingTypeParametersRepeatedly3.types index d75368be42d48..ec2c2277a6e65 100644 --- a/tests/baselines/reference/fixingTypeParametersRepeatedly3.types +++ b/tests/baselines/reference/fixingTypeParametersRepeatedly3.types @@ -31,7 +31,7 @@ var result = foo(derived, d => d.toBase()); >foo(derived, d => d.toBase()) : Derived > : ^^^^^^^ >foo : (x: T, func: (p: T) => T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >derived : Derived > : ^^^^^^^ >d => d.toBase() : (d: Derived) => Base @@ -41,17 +41,17 @@ var result = foo(derived, d => d.toBase()); >d.toBase() : Base > : ^^^^ >d.toBase : () => Base -> : ^^^^^^^^^^ +> : ^^^^^^ >d : Derived > : ^^^^^^^ >toBase : () => Base -> : ^^^^^^^^^^ +> : ^^^^^^ // bar should type check just like foo. // result2 should have the same type as result declare function bar(x: T, func: (p: T) => T): T; >bar : { (x: T, func: (p: T) => T): T; (x: T_1, func: (p: T_1) => T_1): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ >func : (p: T) => T @@ -61,7 +61,7 @@ declare function bar(x: T, func: (p: T) => T): T; declare function bar(x: T, func: (p: T) => T): T; >bar : { (x: T_1, func: (p: T_1) => T_1): T_1; (x: T, func: (p: T) => T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ >func : (p: T) => T @@ -74,8 +74,8 @@ var result2 = bar(derived, d => d.toBase()); > : ^^^^ >bar(derived, d => d.toBase()) : Base > : ^^^^ ->bar : { (x: T, func: (p: T) => T): T; (x: T_1, func: (p: T_1) => T_1): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>bar : { (x: T, func: (p: T) => T): T; (x: T, func: (p: T) => T): T; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >derived : Derived > : ^^^^^^^ >d => d.toBase() : (d: Derived) => Base @@ -85,9 +85,9 @@ var result2 = bar(derived, d => d.toBase()); >d.toBase() : Base > : ^^^^ >d.toBase : () => Base -> : ^^^^^^^^^^ +> : ^^^^^^ >d : Derived > : ^^^^^^^ >toBase : () => Base -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/flatArrayNoExcessiveStackDepth.errors.txt b/tests/baselines/reference/flatArrayNoExcessiveStackDepth.errors.txt index fee12ed489776..d4ae5a13e8947 100644 --- a/tests/baselines/reference/flatArrayNoExcessiveStackDepth.errors.txt +++ b/tests/baselines/reference/flatArrayNoExcessiveStackDepth.errors.txt @@ -1,6 +1,6 @@ flatArrayNoExcessiveStackDepth.ts(20,5): error TS2322: Type 'FlatArray' is not assignable to type 'FlatArray'. Type 'Arr' is not assignable to type 'FlatArray'. - Type 'Arr' is not assignable to type '(Arr extends readonly (infer InnerArr)[] ? FlatArray : Arr) & Arr'. + Type 'Arr' is not assignable to type 'Arr & (Arr extends readonly (infer InnerArr)[] ? FlatArray : Arr)'. Type 'Arr' is not assignable to type 'Arr extends readonly (infer InnerArr)[] ? FlatArray : Arr'. @@ -28,7 +28,7 @@ flatArrayNoExcessiveStackDepth.ts(20,5): error TS2322: Type 'FlatArray ~ !!! error TS2322: Type 'FlatArray' is not assignable to type 'FlatArray'. !!! error TS2322: Type 'Arr' is not assignable to type 'FlatArray'. -!!! error TS2322: Type 'Arr' is not assignable to type '(Arr extends readonly (infer InnerArr)[] ? FlatArray : Arr) & Arr'. +!!! error TS2322: Type 'Arr' is not assignable to type 'Arr & (Arr extends readonly (infer InnerArr)[] ? FlatArray : Arr)'. !!! error TS2322: Type 'Arr' is not assignable to type 'Arr extends readonly (infer InnerArr)[] ? FlatArray : Arr'. } \ No newline at end of file diff --git a/tests/baselines/reference/flatArrayNoExcessiveStackDepth.types b/tests/baselines/reference/flatArrayNoExcessiveStackDepth.types index e98b06239fdb3..aacf7075f7f00 100644 --- a/tests/baselines/reference/flatArrayNoExcessiveStackDepth.types +++ b/tests/baselines/reference/flatArrayNoExcessiveStackDepth.types @@ -16,12 +16,12 @@ const bar = foo.flatMap(bar => bar as Foo); > : ^^^^^^^^ >foo.flatMap(bar => bar as Foo) : string[] > : ^^^^^^^^ ->foo.flatMap : (callback: (this: This, value: unknown, index: number, array: unknown[]) => U | readonly U[], thisArg?: This | undefined) => U[] -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo.flatMap : (callback: (this: This, value: unknown, index: number, array: unknown[]) => U | ReadonlyArray, thisArg?: This | undefined) => U[] +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : unknown[] > : ^^^^^^^^^ ->flatMap : (callback: (this: This, value: unknown, index: number, array: unknown[]) => U | readonly U[], thisArg?: This | undefined) => U[] -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>flatMap : (callback: (this: This, value: unknown, index: number, array: unknown[]) => U | ReadonlyArray, thisArg?: This | undefined) => U[] +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ >bar => bar as Foo : (this: undefined, bar: unknown) => Foo > : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ >bar : unknown @@ -69,11 +69,11 @@ const repro_43249 = (value: unknown) => { >value.match(/anything/) : RegExpMatchArray | null > : ^^^^^^^^^^^^^^^^^^^^^^^ >value.match : { (regexp: string | RegExp): RegExpMatchArray | null; (matcher: { [Symbol.match](string: string): RegExpMatchArray | null; }): RegExpMatchArray | null; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >value : string > : ^^^^^^ >match : { (regexp: string | RegExp): RegExpMatchArray | null; (matcher: { [Symbol.match](string: string): RegExpMatchArray | null; }): RegExpMatchArray | null; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >/anything/ : RegExp > : ^^^^^^ >[] : [] @@ -91,7 +91,7 @@ const repro_43249 = (value: unknown) => { function f(x: FlatArray, y: FlatArray) { >f : (x: FlatArray, y: FlatArray) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : FlatArray > : ^^^^^^^^^^^^^^^^^^^ >y : FlatArray diff --git a/tests/baselines/reference/flowAfterFinally1.types b/tests/baselines/reference/flowAfterFinally1.types index d11b165a66661..f0ad5736cfa59 100644 --- a/tests/baselines/reference/flowAfterFinally1.types +++ b/tests/baselines/reference/flowAfterFinally1.types @@ -21,7 +21,7 @@ openFile() >openFile() : void > : ^^^^ >openFile : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ try { result = someOperation() @@ -32,14 +32,14 @@ try { >someOperation() : {} > : ^^ >someOperation : () => {} -> : ^^^^^^^^ +> : ^^^^^^ } finally { closeFile() >closeFile() : void > : ^^^^ >closeFile : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } result // should not error here diff --git a/tests/baselines/reference/flowControlTypeGuardThenSwitch.types b/tests/baselines/reference/flowControlTypeGuardThenSwitch.types index da8dfa63e3a9a..a2ff05e25a26b 100644 --- a/tests/baselines/reference/flowControlTypeGuardThenSwitch.types +++ b/tests/baselines/reference/flowControlTypeGuardThenSwitch.types @@ -67,7 +67,7 @@ if (isBoth(foo)) { >isBoth(foo) : boolean > : ^^^^^^^ >isBoth : (x: Base) => x is Both -> : ^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo : Base > : ^^^^ diff --git a/tests/baselines/reference/for-inStatements.types b/tests/baselines/reference/for-inStatements.types index 38b7568ecd8b7..da400d9d5a23e 100644 --- a/tests/baselines/reference/for-inStatements.types +++ b/tests/baselines/reference/for-inStatements.types @@ -59,7 +59,7 @@ for (var x in fn()) { } >fn() : any > : ^^^ >fn : () => any -> : ^^^^^^^^^ +> : ^^^^^^ for (var x in /[a-z]/) { } >x : string diff --git a/tests/baselines/reference/for-inStatementsInvalid.types b/tests/baselines/reference/for-inStatementsInvalid.types index f24b8de9dfba7..ea0ed3308dbee 100644 --- a/tests/baselines/reference/for-inStatementsInvalid.types +++ b/tests/baselines/reference/for-inStatementsInvalid.types @@ -47,7 +47,7 @@ for (var x in fn()) { } >fn() : void > : ^^^^ >fn : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var c : string, d:string, e; >c : string @@ -175,21 +175,21 @@ class A { >this.biz() : number > : ^^^^^^ >this.biz : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >biz : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ for (var x in this.biz) { } >x : string > : ^^^^^^ >this.biz : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >biz : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ for (var x in this) { } >x : string @@ -214,11 +214,11 @@ class A { >x : string > : ^^^^^^ >this.baz : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this : typeof A > : ^^^^^^^^ >baz : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ for (var x in this.baz()) { } >x : string @@ -226,11 +226,11 @@ class A { >this.baz() : number > : ^^^^^^ >this.baz : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this : typeof A > : ^^^^^^^^ >baz : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ return null; } @@ -252,21 +252,21 @@ class B extends A { >this.biz() : number > : ^^^^^^ >this.biz : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >biz : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ for (var x in this.biz) { } >x : string > : ^^^^^^ >this.biz : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >biz : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ for (var x in this) { } >x : string @@ -278,11 +278,11 @@ class B extends A { >x : string > : ^^^^^^ >super.biz : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >super : A > : ^ >biz : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ for (var x in super.biz()) { } >x : string @@ -290,11 +290,11 @@ class B extends A { >super.biz() : number > : ^^^^^^ >super.biz : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >super : A > : ^ >biz : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ return null; } diff --git a/tests/baselines/reference/for-of12.types b/tests/baselines/reference/for-of12.types index 24c0ba69b975a..3fb732d6952e5 100644 --- a/tests/baselines/reference/for-of12.types +++ b/tests/baselines/reference/for-of12.types @@ -11,7 +11,7 @@ for (v of [0, ""].values()) { } >[0, ""].values() : IterableIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >[0, ""].values : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^ >[0, ""] : (string | number)[] > : ^^^^^^^^^^^^^^^^^^^ >0 : 0 @@ -19,5 +19,5 @@ for (v of [0, ""].values()) { } >"" : "" > : ^^ >values : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/for-of13.types b/tests/baselines/reference/for-of13.types index 6bfdc1fe849eb..2f9ea908034d3 100644 --- a/tests/baselines/reference/for-of13.types +++ b/tests/baselines/reference/for-of13.types @@ -11,11 +11,11 @@ for (v of [""].values()) { } >[""].values() : IterableIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^ >[""].values : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ >[""] : string[] > : ^^^^^^^^ >"" : "" > : ^^ >values : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ diff --git a/tests/baselines/reference/for-of29.types b/tests/baselines/reference/for-of29.types index 6bd79100347b1..40e024d7f4e23 100644 --- a/tests/baselines/reference/for-of29.types +++ b/tests/baselines/reference/for-of29.types @@ -20,6 +20,6 @@ var iterableWithOptionalIterator: { for (var v of iterableWithOptionalIterator) { } >v : any > : ^^^ ->iterableWithOptionalIterator : { [Symbol.iterator]?(): Iterator; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterableWithOptionalIterator : { [Symbol.iterator]?(): Iterator; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ diff --git a/tests/baselines/reference/forInStrictNullChecksNoError.types b/tests/baselines/reference/forInStrictNullChecksNoError.types index 84c06f23a6d4f..78fcd2c573722 100644 --- a/tests/baselines/reference/forInStrictNullChecksNoError.types +++ b/tests/baselines/reference/forInStrictNullChecksNoError.types @@ -19,11 +19,11 @@ function f(x: { [key: string]: number; } | null | undefined) { >console.log(x[key]) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x[key] : number > : ^^^^^^ >x : { [key: string]: number; } diff --git a/tests/baselines/reference/forOfTransformsExpression.types b/tests/baselines/reference/forOfTransformsExpression.types index 12b691ec78e4c..d647229fbf080 100644 --- a/tests/baselines/reference/forOfTransformsExpression.types +++ b/tests/baselines/reference/forOfTransformsExpression.types @@ -32,11 +32,11 @@ for (var item of items.sort((a, b) => a.name.localeCompare(b.name))) { >items.sort((a, b) => a.name.localeCompare(b.name)) : { name: string; }[] > : ^^^^^^^^^^^^^^^^^^^ >items.sort : (compareFn?: (a: { name: string; }, b: { name: string; }) => number) => { name: string; }[] -> : ^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ >items : { name: string; }[] > : ^^^^^^^^^^^^^^^^^^^ >sort : (compareFn?: (a: { name: string; }, b: { name: string; }) => number) => { name: string; }[] -> : ^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ >(a, b) => a.name.localeCompare(b.name) : (a: { name: string; }, b: { name: string; }) => number > : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : { name: string; } @@ -46,7 +46,7 @@ for (var item of items.sort((a, b) => a.name.localeCompare(b.name))) { >a.name.localeCompare(b.name) : number > : ^^^^^^ >a.name.localeCompare : { (that: string): number; (that: string, locales?: string | string[], options?: Intl.CollatorOptions): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >a.name : string > : ^^^^^^ >a : { name: string; } @@ -54,7 +54,7 @@ for (var item of items.sort((a, b) => a.name.localeCompare(b.name))) { >name : string > : ^^^^^^ >localeCompare : { (that: string): number; (that: string, locales?: string | string[], options?: Intl.CollatorOptions): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >b.name : string > : ^^^^^^ >b : { name: string; } diff --git a/tests/baselines/reference/forStatements.types b/tests/baselines/reference/forStatements.types index bda88aeb2bf29..2d9fdfc3b34bc 100644 --- a/tests/baselines/reference/forStatements.types +++ b/tests/baselines/reference/forStatements.types @@ -62,11 +62,11 @@ module M { >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } for(var aNumber: number = 9.9;;){} @@ -159,11 +159,11 @@ for(var anOtherObjectLiteral: { id: number } = new C();;){} for(var aFunction: typeof F = F;;){} >aFunction : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >F : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >F : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ for(var anOtherFunction: (x: string) => number = F;;){} >anOtherFunction : (x: string) => number @@ -171,13 +171,13 @@ for(var anOtherFunction: (x: string) => number = F;;){} >x : string > : ^^^^^^ >F : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ for(var aLambda: typeof F = (x) => 2;;){} >aLambda : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >F : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(x) => 2 : (x: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : string @@ -209,13 +209,13 @@ for(var aClassInModule: M.A = new M.A();;){} for(var aFunctionInModule: typeof M.F2 = (x) => 'this is a string';;){} >aFunctionInModule : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >M.F2 : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >M : typeof M > : ^^^^^^^^ >F2 : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(x) => 'this is a string' : (x: number) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/forStatementsMultipleInvalidDecl.types b/tests/baselines/reference/forStatementsMultipleInvalidDecl.types index 7657492ab6296..018d46d9e1f64 100644 --- a/tests/baselines/reference/forStatementsMultipleInvalidDecl.types +++ b/tests/baselines/reference/forStatementsMultipleInvalidDecl.types @@ -77,11 +77,11 @@ module M { >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } // all of these are errors @@ -145,13 +145,13 @@ for( var b = new C2();;){} for(var f = F;;){} >f : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >F : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ for( var f = (x: number) => '';;){} >f : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(x: number) => '' : (x: number) => string > : ^ ^^ ^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/formatToPartsFractionalSecond.types b/tests/baselines/reference/formatToPartsFractionalSecond.types index 9b2f9265185b7..49048dcfaa54f 100644 --- a/tests/baselines/reference/formatToPartsFractionalSecond.types +++ b/tests/baselines/reference/formatToPartsFractionalSecond.types @@ -4,12 +4,12 @@ new Intl.DateTimeFormat().formatToParts().find((val) => val.type === 'fractionalSecond') >new Intl.DateTimeFormat().formatToParts().find((val) => val.type === 'fractionalSecond') : Intl.DateTimeFormatPart > : ^^^^^^^^^^^^^^^^^^^^^^^ ->new Intl.DateTimeFormat().formatToParts().find : { (predicate: (value: Intl.DateTimeFormatPart, index: number, obj: Intl.DateTimeFormatPart[]) => value is S, thisArg?: any): S; (predicate: (value: Intl.DateTimeFormatPart, index: number, obj: Intl.DateTimeFormatPart[]) => unknown, thisArg?: any): Intl.DateTimeFormatPart; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>new Intl.DateTimeFormat().formatToParts().find : { (predicate: (value: Intl.DateTimeFormatPart, index: number, obj: Intl.DateTimeFormatPart[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: Intl.DateTimeFormatPart, index: number, obj: Intl.DateTimeFormatPart[]) => unknown, thisArg?: any): Intl.DateTimeFormatPart | undefined; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >new Intl.DateTimeFormat().formatToParts() : Intl.DateTimeFormatPart[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >new Intl.DateTimeFormat().formatToParts : (date?: Date | number) => Intl.DateTimeFormatPart[] -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >new Intl.DateTimeFormat() : Intl.DateTimeFormat > : ^^^^^^^^^^^^^^^^^^^ >Intl.DateTimeFormat : Intl.DateTimeFormatConstructor @@ -19,9 +19,9 @@ new Intl.DateTimeFormat().formatToParts().find((val) => val.type === 'fractional >DateTimeFormat : Intl.DateTimeFormatConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >formatToParts : (date?: Date | number) => Intl.DateTimeFormatPart[] -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->find : { (predicate: (value: Intl.DateTimeFormatPart, index: number, obj: Intl.DateTimeFormatPart[]) => value is S, thisArg?: any): S; (predicate: (value: Intl.DateTimeFormatPart, index: number, obj: Intl.DateTimeFormatPart[]) => unknown, thisArg?: any): Intl.DateTimeFormatPart; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>find : { (predicate: (value: Intl.DateTimeFormatPart, index: number, obj: Intl.DateTimeFormatPart[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: Intl.DateTimeFormatPart, index: number, obj: Intl.DateTimeFormatPart[]) => unknown, thisArg?: any): Intl.DateTimeFormatPart | undefined; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >(val) => val.type === 'fractionalSecond' : (val: Intl.DateTimeFormatPart) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >val : Intl.DateTimeFormatPart diff --git a/tests/baselines/reference/forwardRefInTypeDeclaration(strict=false).types b/tests/baselines/reference/forwardRefInTypeDeclaration(strict=false).types index 807b0f24a862e..6df385d452429 100644 --- a/tests/baselines/reference/forwardRefInTypeDeclaration(strict=false).types +++ b/tests/baselines/reference/forwardRefInTypeDeclaration(strict=false).types @@ -95,7 +95,7 @@ interface Foo6 { [Cls1.a]: number; [Cls2.b]: number; [obj1.c]: number; [obj2.d]: >obj1.c : "c" > : ^^^ >obj1 : { c: "c"; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : "c" > : ^^^ >[obj2.d] : number diff --git a/tests/baselines/reference/forwardRefInTypeDeclaration(strict=true).types b/tests/baselines/reference/forwardRefInTypeDeclaration(strict=true).types index 807b0f24a862e..6df385d452429 100644 --- a/tests/baselines/reference/forwardRefInTypeDeclaration(strict=true).types +++ b/tests/baselines/reference/forwardRefInTypeDeclaration(strict=true).types @@ -95,7 +95,7 @@ interface Foo6 { [Cls1.a]: number; [Cls2.b]: number; [obj1.c]: number; [obj2.d]: >obj1.c : "c" > : ^^^ >obj1 : { c: "c"; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : "c" > : ^^^ >[obj2.d] : number diff --git a/tests/baselines/reference/freshLiteralInference.types b/tests/baselines/reference/freshLiteralInference.types index fe8fb9e715b19..4414f96e12c39 100644 --- a/tests/baselines/reference/freshLiteralInference.types +++ b/tests/baselines/reference/freshLiteralInference.types @@ -3,7 +3,7 @@ === freshLiteralInference.ts === declare function f1(x: T): T; >f1 : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : T > : ^ @@ -13,7 +13,7 @@ const value = f1("1"); // regular "1" >f1("1") : "1" > : ^^^ >f1 : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >"1" : "1" > : ^^^ @@ -25,7 +25,7 @@ let x1 = value; // regular "1" declare function f2(x: { value: T }): { value: T }; >f2 : (x: { value: T; }) => { value: T; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : { value: T; } > : ^^^^^^^^^ ^^^ >value : T @@ -39,7 +39,7 @@ const obj2 = f2({ value: "1" }); // { value: regular "1" } >f2({ value: "1" }) : { value: "1"; } > : ^^^^^^^^^^^^^^^ >f2 : (x: { value: T; }) => { value: T; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ value: "1" } : { value: "1"; } > : ^^^^^^^^^^^^^^^ >value : "1" @@ -59,7 +59,7 @@ let x2 = obj2.value; // regular "1" declare function f3(obj: T): T; >f3 : (obj: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >value : "1" | "2" | "3" > : ^^^^^^^^^^^^^^^ >obj : T @@ -71,7 +71,7 @@ const obj3 = f3({ value: "1" }); // before: { value: fresh "1" } >f3({ value: "1" }) : { value: "1"; } > : ^^^^^^^^^^^^^^^ >f3 : (obj: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ value: "1" } : { value: "1"; } > : ^^^^^^^^^^^^^^^ >value : "1" diff --git a/tests/baselines/reference/freshLiteralTypesInIntersections.types b/tests/baselines/reference/freshLiteralTypesInIntersections.types index 177162ae94d61..8cd65a4b36dde 100644 --- a/tests/baselines/reference/freshLiteralTypesInIntersections.types +++ b/tests/baselines/reference/freshLiteralTypesInIntersections.types @@ -5,7 +5,7 @@ declare function func(a: A, b: B[]): (ab: A & B) => void; >func : (a: A, b: B[]) => (ab: A & B) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a : A > : ^ >b : B[] @@ -15,11 +15,11 @@ declare function func(a: A, b: B[]): (ab: A & B) const q = func("x" as "x" | "y", ["x"]); >q : (ab: "x") => void -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >func("x" as "x" | "y", ["x"]) : (ab: "x") => void -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >func : (a: A, b: B[]) => (ab: A & B) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >"x" as "x" | "y" : "x" | "y" > : ^^^^^^^^^ >"x" : "x" @@ -33,7 +33,7 @@ q("x"); >q("x") : void > : ^^^^ >q : (ab: "x") => void -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >"x" : "x" > : ^^^ diff --git a/tests/baselines/reference/funcdecl.types b/tests/baselines/reference/funcdecl.types index e00439e2e7b59..8e72055ce906e 100644 --- a/tests/baselines/reference/funcdecl.types +++ b/tests/baselines/reference/funcdecl.types @@ -35,9 +35,9 @@ function withReturn() : string{ } var withReturnVar = withReturn; >withReturnVar : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >withReturn : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ function withParams(a : string) : string{ >withParams : (a: string) => string @@ -51,9 +51,9 @@ function withParams(a : string) : string{ } var withparamsVar = withParams; >withparamsVar : (a: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >withParams : (a: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ function withMultiParams(a : number, b, c: Object) { >withMultiParams : (a: number, b: any, c: Object) => number @@ -143,19 +143,19 @@ var withRestParamsVar = withRestParams; function overload1(n: number) : string; >overload1 : { (n: number): string; (s: string): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ function overload1(s: string) : string; >overload1 : { (n: number): string; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ function overload1(ns: any) { >overload1 : { (n: number): string; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >ns : any return ns.toString(); @@ -168,9 +168,9 @@ function overload1(ns: any) { } var withOverloadSignature = overload1; >withOverloadSignature : { (n: number): string; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >overload1 : { (n: number): string; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ function f(n: () => void) { } >f : (n: () => void) => void @@ -224,13 +224,13 @@ declare function fooAmbient(n: number): string; declare function overloadAmbient(n: number): string; >overloadAmbient : { (n: number): string; (s: string): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ declare function overloadAmbient(s: string): string; >overloadAmbient : { (n: number): string; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ diff --git a/tests/baselines/reference/functionAssignment.types b/tests/baselines/reference/functionAssignment.types index 04563f48c0ce5..876013f12baaa 100644 --- a/tests/baselines/reference/functionAssignment.types +++ b/tests/baselines/reference/functionAssignment.types @@ -45,11 +45,11 @@ test.get(function (param) { >test.get(function (param) { var x = barbaz.get(function () { });}) : void > : ^^^^ >test.get : (handler: (bar: number) => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >test : foo > : ^^^ >get : (handler: (bar: number) => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >function (param) { var x = barbaz.get(function () { });} : (param: number) => void > : ^ ^^^^^^^^^^^^^^^^^ >param : number @@ -61,11 +61,11 @@ test.get(function (param) { >barbaz.get(function () { }) : number > : ^^^^^^ >barbaz.get : (callback: Function) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >barbaz : baz > : ^^^ >get : (callback: Function) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >function () { } : () => void > : ^^^^^^^^^^ diff --git a/tests/baselines/reference/functionCall1.types b/tests/baselines/reference/functionCall1.types index 8ac6802ed6047..50dc536a5a43c 100644 --- a/tests/baselines/reference/functionCall1.types +++ b/tests/baselines/reference/functionCall1.types @@ -11,5 +11,5 @@ var x = foo(); >x : any >foo() : any >foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/functionCall2.types b/tests/baselines/reference/functionCall2.types index 3e17024eca261..db33312409141 100644 --- a/tests/baselines/reference/functionCall2.types +++ b/tests/baselines/reference/functionCall2.types @@ -13,5 +13,5 @@ var x = foo(); >foo() : number > : ^^^^^^ >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/functionCall3.types b/tests/baselines/reference/functionCall3.types index 6e3d7939f3c06..59a5fe0372ac1 100644 --- a/tests/baselines/reference/functionCall3.types +++ b/tests/baselines/reference/functionCall3.types @@ -15,5 +15,5 @@ var x = foo(); >foo() : any[] > : ^^^^^ >foo : () => any[] -> : ^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/functionCall4.types b/tests/baselines/reference/functionCall4.types index 4bf4412d3581d..6528bc492b8a4 100644 --- a/tests/baselines/reference/functionCall4.types +++ b/tests/baselines/reference/functionCall4.types @@ -11,13 +11,13 @@ function bar():()=>any{return foo}; >bar : () => () => any > : ^^^^^^ >foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ var x = bar(); >x : () => any -> : ^^^^^^^^^ +> : ^^^^^^ >bar() : () => any -> : ^^^^^^^^^ +> : ^^^^^^ >bar : () => () => any -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/functionCall5.types b/tests/baselines/reference/functionCall5.types index 5e2f11b769d23..0c9357f8a0786 100644 --- a/tests/baselines/reference/functionCall5.types +++ b/tests/baselines/reference/functionCall5.types @@ -28,5 +28,5 @@ var x = foo(); >foo() : m1.c1 > : ^^^^^ >foo : () => m1.c1 -> : ^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/functionCallOnConstrainedTypeVariable.types b/tests/baselines/reference/functionCallOnConstrainedTypeVariable.types index 603734322399e..2ac93d292c1c8 100644 --- a/tests/baselines/reference/functionCallOnConstrainedTypeVariable.types +++ b/tests/baselines/reference/functionCallOnConstrainedTypeVariable.types @@ -36,18 +36,18 @@ function call0(p: A | B) { >p.a("s") : string > : ^^^^^^ >p.a : ((x: number) => string) | ((x: boolean) => string) -> : ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ >p : A | B > : ^^^^^ >a : ((x: number) => string) | ((x: boolean) => string) -> : ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ >"s" : "s" > : ^^^ } function callN(p: T) { >callN : (p: T) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >p : T > : ^ @@ -55,11 +55,11 @@ function callN(p: T) { >p.a("s") : string > : ^^^^^^ >p.a : ((x: number) => string) | ((x: boolean) => string) -> : ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ >p : A | B > : ^^^^^ >a : ((x: number) => string) | ((x: boolean) => string) -> : ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ >"s" : "s" > : ^^^ @@ -67,17 +67,17 @@ function callN(p: T) { >a : T["a"] > : ^^^^^^ >p.a : ((x: number) => string) | ((x: boolean) => string) -> : ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ >p : A | B > : ^^^^^ >a : ((x: number) => string) | ((x: boolean) => string) -> : ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ a(""); // Error >a("") : string > : ^^^^^^ >a : ((x: number) => string) | ((x: boolean) => string) -> : ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ >"" : "" > : ^^ @@ -85,7 +85,7 @@ function callN(p: T) { >a("", "", "", "") : string > : ^^^^^^ >a : ((x: number) => string) | ((x: boolean) => string) -> : ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ >"" : "" > : ^^ >"" : "" diff --git a/tests/baselines/reference/functionConstraintSatisfaction.types b/tests/baselines/reference/functionConstraintSatisfaction.types index 9aa888da6ef4a..de2179a9865b8 100644 --- a/tests/baselines/reference/functionConstraintSatisfaction.types +++ b/tests/baselines/reference/functionConstraintSatisfaction.types @@ -5,7 +5,7 @@ function foo(x: T): T { return x; } >foo : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : T > : ^ >x : T @@ -46,7 +46,7 @@ var r = foo(new Function()); >foo(new Function()) : Function > : ^^^^^^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >new Function() : Function > : ^^^^^^^^ >Function : FunctionConstructor @@ -58,7 +58,7 @@ var r1 = foo((x) => x); >foo((x) => x) : (x: any) => any > : ^ ^^^^^^^^^^^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(x) => x : (x: any) => any > : ^ ^^^^^^^^^^^^^ >x : any @@ -70,7 +70,7 @@ var r2 = foo((x: string[]) => x); >foo((x: string[]) => x) : (x: string[]) => string[] > : ^ ^^ ^^^^^^^^^^^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(x: string[]) => x : (x: string[]) => string[] > : ^ ^^ ^^^^^^^^^^^^^ >x : string[] @@ -84,7 +84,7 @@ var r3 = foo(function (x) { return x }); >foo(function (x) { return x }) : (x: any) => any > : ^ ^^^^^^^^^^^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >function (x) { return x } : (x: any) => any > : ^ ^^^^^^^^^^^^^ >x : any @@ -96,7 +96,7 @@ var r4 = foo(function (x: string[]) { return x }); >foo(function (x: string[]) { return x }) : (x: string[]) => string[] > : ^ ^^ ^^^^^^^^^^^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >function (x: string[]) { return x } : (x: string[]) => string[] > : ^ ^^ ^^^^^^^^^^^^^ >x : string[] @@ -110,7 +110,7 @@ var r5 = foo(i); >foo(i) : I > : ^ >foo : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >i : I > : ^ @@ -120,29 +120,29 @@ var r6 = foo(C); >foo(C) : typeof C > : ^^^^^^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >C : typeof C > : ^^^^^^^^ var r7 = foo(b); >r7 : new () => string -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >foo(b) : new () => string -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >b : new () => string -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r8 = foo(c); >r8 : { (): string; (x: any): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^^^^ ^^^ >foo(c) : { (): string; (x: any): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^^^^ ^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >c : { (): string; (x: any): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^^^^ ^^^ interface I2 { (x: T): T; @@ -175,8 +175,8 @@ var b2: { new (x: T): T }; > : ^ var c2: { (x: T): T; (x: T, y: T): T }; ->c2 : { (x: T): T; (x: T_1, y: T_1): T_1; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +>c2 : { (x: T): T; (x: T, y: T): T; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ >x : T @@ -190,7 +190,7 @@ var r9 = foo((x: U) => x); >foo((x: U) => x) : (x: U) => U > : ^ ^^ ^^ ^^^^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(x: U) => x : (x: U) => U > : ^ ^^ ^^ ^^^^^^ >x : U @@ -204,7 +204,7 @@ var r10 = foo(function (x: U) { return x; }); >foo(function (x: U) { return x; }) : (x: U) => U > : ^ ^^ ^^ ^^^^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >function (x: U) { return x; } : (x: U) => U > : ^ ^^ ^^ ^^^^^^ >x : U @@ -214,13 +214,13 @@ var r10 = foo(function (x: U) { return x; }); var r11 = foo((x: U) => x); >r11 : (x: U) => U -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ >foo((x: U) => x) : (x: U) => U -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(x: U) => x : (x: U) => U -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ >x : U > : ^ >x : U @@ -232,7 +232,7 @@ var r12 = foo((x: U, y: V) => x); >foo((x: U, y: V) => x) : (x: U, y: V) => U > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(x: U, y: V) => x : (x: U, y: V) => U > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >x : U @@ -248,7 +248,7 @@ var r13 = foo(i2); >foo(i2) : I2 > : ^^^^^^^^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >i2 : I2 > : ^^^^^^^^^^ @@ -258,29 +258,29 @@ var r14 = foo(C2); >foo(C2) : typeof C2 > : ^^^^^^^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >C2 : typeof C2 > : ^^^^^^^^^ var r15 = foo(b2); >r15 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >foo(b2) : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >b2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r16 = foo(c2); ->r16 : { (x: T): T; (x: T_1, y: T_1): T_1; } -> : ^^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ->foo(c2) : { (x: T): T; (x: T_1, y: T_1): T_1; } -> : ^^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>r16 : { (x: T): T; (x: T, y: T): T; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +>foo(c2) : { (x: T): T; (x: T, y: T): T; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ->c2 : { (x: T): T; (x: T_1, y: T_1): T_1; } -> : ^^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ +>c2 : { (x: T): T; (x: T, y: T): T; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ interface F2 extends Function { foo: string; } >foo : string @@ -296,13 +296,13 @@ var r17 = foo(f2); >foo(f2) : F2 > : ^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >f2 : F2 > : ^^ function foo2(x: T, y: U) { ->foo2 : void, U extends () => void>(x: T, y: U) => void -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>foo2 : (x: T, y: U) => void +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ >y : U @@ -312,7 +312,7 @@ function foo2(x: T, y: U) { >foo(x) : T > : ^ >foo : (x: T_1) => T_1 -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : T > : ^ @@ -320,7 +320,7 @@ function foo2(x: T, y: U) { >foo(y) : U > : ^ >foo : (x: T_1) => T_1 -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >y : U > : ^ } diff --git a/tests/baselines/reference/functionConstraintSatisfaction2.types b/tests/baselines/reference/functionConstraintSatisfaction2.types index 1cb9e56627c70..dd98441b95c23 100644 --- a/tests/baselines/reference/functionConstraintSatisfaction2.types +++ b/tests/baselines/reference/functionConstraintSatisfaction2.types @@ -5,7 +5,7 @@ function foo(x: T): T { return x; } >foo : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : T > : ^ >x : T @@ -15,7 +15,7 @@ foo(1); >foo(1) : Function > : ^^^^^^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ @@ -23,7 +23,7 @@ foo(() => { }, 1); >foo(() => { }, 1) : () => void > : ^^^^^^^^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >() => { } : () => void > : ^^^^^^^^^^ >1 : 1 @@ -33,7 +33,7 @@ foo(1, () => { }); >foo(1, () => { }) : Function > : ^^^^^^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >() => { } : () => void @@ -41,7 +41,7 @@ foo(1, () => { }); function foo2 string>(x: T): T { return x; } >foo2 : string>(x: T) => T -> : ^ ^^^^^^^^^^ ^^ ^^^^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : string > : ^^^^^^ >x : T @@ -81,11 +81,11 @@ var b2: { new (x: T): T }; var r = foo2(new Function()); >r : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo2(new Function()) : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo2 : string>(x: T) => T -> : ^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >new Function() : Function > : ^^^^^^^^ >Function : FunctionConstructor @@ -93,11 +93,11 @@ var r = foo2(new Function()); var r2 = foo2((x: string[]) => x); >r2 : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo2((x: string[]) => x) : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo2 : string>(x: T) => T -> : ^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(x: string[]) => x : (x: string[]) => string[] > : ^ ^^ ^^^^^^^^^^^^^ >x : string[] @@ -107,23 +107,23 @@ var r2 = foo2((x: string[]) => x); var r6 = foo2(C); >r6 : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo2(C) : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo2 : string>(x: T) => T -> : ^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >C : typeof C > : ^^^^^^^^ var r7 = foo2(b); >r7 : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo2(b) : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo2 : string>(x: T) => T -> : ^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >b : new (x: string) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r8 = foo2((x: U) => x); // no error expected >r8 : (x: U) => U @@ -131,7 +131,7 @@ var r8 = foo2((x: U) => x); // no error expected >foo2((x: U) => x) : (x: U) => U > : ^ ^^ ^^ ^^^^^^ >foo2 : string>(x: T) => T -> : ^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(x: U) => x : (x: U) => U > : ^ ^^ ^^ ^^^^^^ >x : U @@ -141,11 +141,11 @@ var r8 = foo2((x: U) => x); // no error expected var r11 = foo2((x: U, y: V) => x); >r11 : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo2((x: U, y: V) => x) : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo2 : string>(x: T) => T -> : ^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(x: U, y: V) => x : (x: U, y: V) => U > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >x : U @@ -157,23 +157,23 @@ var r11 = foo2((x: U, y: V) => x); var r13 = foo2(C2); >r13 : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo2(C2) : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo2 : string>(x: T) => T -> : ^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >C2 : typeof C2 > : ^^^^^^^^^ var r14 = foo2(b2); >r14 : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo2(b2) : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo2 : string>(x: T) => T -> : ^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >b2 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ interface F2 extends Function { foo: string; } >foo : string @@ -185,17 +185,17 @@ var f2: F2; var r16 = foo2(f2); >r16 : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo2(f2) : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo2 : string>(x: T) => T -> : ^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >f2 : F2 > : ^^ function fff(x: T, y: U) { ->fff : void, U extends T>(x: T, y: U) => void -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +>fff : (x: T, y: U) => void +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ >y : U @@ -203,17 +203,17 @@ function fff(x: T, y: U) { foo2(x); >foo2(x) : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo2 : string>(x: T_1) => T_1 -> : ^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : T > : ^ foo2(y); >foo2(y) : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo2 : string>(x: T_1) => T_1 -> : ^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >y : U > : ^ } diff --git a/tests/baselines/reference/functionConstraintSatisfaction3.types b/tests/baselines/reference/functionConstraintSatisfaction3.types index 264954fe7a35d..c7b3e425e1a78 100644 --- a/tests/baselines/reference/functionConstraintSatisfaction3.types +++ b/tests/baselines/reference/functionConstraintSatisfaction3.types @@ -5,7 +5,7 @@ function foo string>(x: T): T { return x; } >foo : string>(x: T) => T -> : ^ ^^^^^^^^^^ ^^ ^^^^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : string > : ^^^^^^ >x : T @@ -48,7 +48,7 @@ var r1 = foo((x) => x); >foo((x) => x) : (x: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >foo : string>(x: T) => T -> : ^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(x) => x : (x: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >x : string @@ -62,7 +62,7 @@ var r2 = foo((x: string) => x); >foo((x: string) => x) : (x: string) => string > : ^ ^^ ^^^^^^^^^^^ >foo : string>(x: T) => T -> : ^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(x: string) => x : (x: string) => string > : ^ ^^ ^^^^^^^^^^^ >x : string @@ -76,7 +76,7 @@ var r3 = foo(function (x) { return x }); >foo(function (x) { return x }) : (x: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >foo : string>(x: T) => T -> : ^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >function (x) { return x } : (x: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >x : string @@ -90,7 +90,7 @@ var r4 = foo(function (x: string) { return x }); >foo(function (x: string) { return x }) : (x: string) => string > : ^ ^^ ^^^^^^^^^^^ >foo : string>(x: T) => T -> : ^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >function (x: string) { return x } : (x: string) => string > : ^ ^^ ^^^^^^^^^^^ >x : string @@ -104,19 +104,19 @@ var r5 = foo(i); >foo(i) : I > : ^ >foo : string>(x: T) => T -> : ^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >i : I > : ^ var r8 = foo(c); >r8 : { (): string; (x: any): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^^^^ ^^^ >foo(c) : { (): string; (x: any): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^^^^ ^^^ >foo : string>(x: T) => T -> : ^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >c : { (): string; (x: any): string; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^^^^ ^^^ interface I2 { (x: T): T; @@ -149,8 +149,8 @@ var b2: { new (x: T): T }; > : ^ var c2: { (x: T): T; (x: T, y: T): T }; ->c2 : { (x: T): T; (x: T_1, y: T_1): T_1; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +>c2 : { (x: T): T; (x: T, y: T): T; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ >x : T @@ -164,7 +164,7 @@ var r9 = foo(function (x: U) { return x; }); >foo(function (x: U) { return x; }) : (x: U) => U > : ^ ^^ ^^ ^^^^^^ >foo : string>(x: T) => T -> : ^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >function (x: U) { return x; } : (x: U) => U > : ^ ^^ ^^ ^^^^^^ >x : U @@ -174,13 +174,13 @@ var r9 = foo(function (x: U) { return x; }); var r10 = foo((x: U) => x); >r10 : (x: U) => U -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ >foo((x: U) => x) : (x: U) => U -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ >foo : string>(x: T) => T -> : ^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(x: U) => x : (x: U) => U -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ >x : U > : ^ >x : U @@ -192,17 +192,17 @@ var r12 = foo(i2); >foo(i2) : I2 > : ^^^^^^^^^^ >foo : string>(x: T) => T -> : ^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >i2 : I2 > : ^^^^^^^^^^ var r15 = foo(c2); ->r15 : { (x: T): T; (x: T_1, y: T_1): T_1; } -> : ^^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ->foo(c2) : { (x: T): T; (x: T_1, y: T_1): T_1; } -> : ^^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>r15 : { (x: T): T; (x: T, y: T): T; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +>foo(c2) : { (x: T): T; (x: T, y: T): T; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >foo : string>(x: T) => T -> : ^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^ ->c2 : { (x: T): T; (x: T_1, y: T_1): T_1; } -> : ^^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ +>c2 : { (x: T): T; (x: T, y: T): T; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ diff --git a/tests/baselines/reference/functionDeclarationWithArgumentOfTypeFunctionTypeArray.types b/tests/baselines/reference/functionDeclarationWithArgumentOfTypeFunctionTypeArray.types index 665736df51c01..e437cf8b25455 100644 --- a/tests/baselines/reference/functionDeclarationWithArgumentOfTypeFunctionTypeArray.types +++ b/tests/baselines/reference/functionDeclarationWithArgumentOfTypeFunctionTypeArray.types @@ -12,7 +12,7 @@ function foo(args: { (x): number }[]) { >args.length : number > : ^^^^^^ >args : ((x: any) => number)[] -> : ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^^ ^^^ >length : number > : ^^^^^^ } diff --git a/tests/baselines/reference/functionExpressionContextualTyping1.types b/tests/baselines/reference/functionExpressionContextualTyping1.types index 9a5bfda3b93fa..00d145d03c60b 100644 --- a/tests/baselines/reference/functionExpressionContextualTyping1.types +++ b/tests/baselines/reference/functionExpressionContextualTyping1.types @@ -33,11 +33,11 @@ var a0: (n: number, s: string) => number = (num, str) => { >num.toExponential() : string > : ^^^^^^ >num.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >num : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ return 0; >0 : 0 @@ -99,7 +99,7 @@ b1 = (k, h) => { }; >b1 = (k, h) => { } : (k: string, h: boolean) => void > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ >b1 : ((s: string, w: boolean) => void) | ((s: string, w: boolean) => string) -> : ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^ >(k, h) => { } : (k: string, h: boolean) => void > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ >k : string @@ -109,9 +109,9 @@ b1 = (k, h) => { }; var b2: typeof a0 | ((n: number, s: string) => string); >b2 : ((n: number, s: string) => number) | ((n: number, s: string) => string) -> : ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^ +> : ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^ >a0 : (n: number, s: string) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >n : number > : ^^^^^^ >s : string @@ -121,7 +121,7 @@ b2 = (foo, bar) => { return foo + 1; } >b2 = (foo, bar) => { return foo + 1; } : (foo: number, bar: string) => number > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >b2 : ((n: number, s: string) => number) | ((n: number, s: string) => string) -> : ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^ >(foo, bar) => { return foo + 1; } : (foo: number, bar: string) => number > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >foo : number @@ -139,7 +139,7 @@ b2 = (foo, bar) => { return "hello"; } >b2 = (foo, bar) => { return "hello"; } : (foo: number, bar: string) => string > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >b2 : ((n: number, s: string) => number) | ((n: number, s: string) => string) -> : ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^ >(foo, bar) => { return "hello"; } : (foo: number, bar: string) => string > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >foo : number @@ -163,7 +163,7 @@ b3 = (name, number) => { }; >b3 = (name, number) => { } : (name: string, number: number) => void > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ >b3 : (name: string, num: number, boo: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >(name, number) => { } : (name: string, number: number) => void > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ >name : string @@ -227,7 +227,7 @@ b6 = (k) => { k.toLowerCase() }; >b6 = (k) => { k.toLowerCase() } : (k: any) => void > : ^ ^^^^^^^^^^^^^^ >b6 : ((s: string, w: boolean) => void) | ((n: number) => number) -> : ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ >(k) => { k.toLowerCase() } : (k: any) => void > : ^ ^^^^^^^^^^^^^^ >k : any @@ -242,7 +242,7 @@ b6 = (i) => { >b6 = (i) => { i.toExponential(); return i;} : (i: any) => any > : ^ ^^^^^^^^^^^^^ >b6 : ((s: string, w: boolean) => void) | ((n: number) => number) -> : ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ >(i) => { i.toExponential(); return i;} : (i: any) => any > : ^ ^^^^^^^^^^^^^ >i : any @@ -263,7 +263,7 @@ b7 = (j, m) => { }; // Per spec, no contextual signature can be extracted in th >b7 = (j, m) => { } : (j: any, m: any) => void > : ^ ^^^^^^^ ^^^^^^^^^^^^^^ >b7 : ((s: string, w: boolean) => void) | ((s: string, w: number) => string) -> : ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^ >(j, m) => { } : (j: any, m: any) => void > : ^ ^^^^^^^ ^^^^^^^^^^^^^^ >j : any diff --git a/tests/baselines/reference/functionExpressionContextualTyping2.types b/tests/baselines/reference/functionExpressionContextualTyping2.types index c2fdc1f97eb05..df0553550cb2f 100644 --- a/tests/baselines/reference/functionExpressionContextualTyping2.types +++ b/tests/baselines/reference/functionExpressionContextualTyping2.types @@ -19,9 +19,9 @@ var a0: (n: number, s: string) => number var a1: typeof a0 | ((n: number, s: string) => string); >a1 : ((n: number, s: string) => number) | ((n: number, s: string) => string) -> : ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^ +> : ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^ >a0 : (n: number, s: string) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >n : number > : ^^^^^^ >s : string @@ -31,7 +31,7 @@ a1 = (foo, bar) => { return true; } // Error >a1 = (foo, bar) => { return true; } : (foo: number, bar: string) => boolean > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >a1 : ((n: number, s: string) => number) | ((n: number, s: string) => string) -> : ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^ >(foo, bar) => { return true; } : (foo: number, bar: string) => boolean > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >foo : number diff --git a/tests/baselines/reference/functionExpressionContextualTyping3.types b/tests/baselines/reference/functionExpressionContextualTyping3.types index 7b3b12b254ea9..d5e1d7620f0ca 100644 --- a/tests/baselines/reference/functionExpressionContextualTyping3.types +++ b/tests/baselines/reference/functionExpressionContextualTyping3.types @@ -12,7 +12,7 @@ f((a: any) => "") >f((a: any) => "") : void > : ^^^^ >f : (value: T | number) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >(a: any) => "" : (a: any) => "" > : ^ ^^ ^^^^^^^ >a : any diff --git a/tests/baselines/reference/functionExpressionShadowedByParams.types b/tests/baselines/reference/functionExpressionShadowedByParams.types index 2d6d4f6e1b983..8053651b11e53 100644 --- a/tests/baselines/reference/functionExpressionShadowedByParams.types +++ b/tests/baselines/reference/functionExpressionShadowedByParams.types @@ -11,11 +11,11 @@ function b1(b1: number) { >b1.toPrecision(2) : string > : ^^^^^^ >b1.toPrecision : (precision?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >b1 : number > : ^^^^^^ >toPrecision : (precision?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >2 : 2 > : ^ @@ -49,11 +49,11 @@ var x = { >b.toPrecision(2) : string > : ^^^^^^ >b.toPrecision : (precision?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >b : number > : ^^^^^^ >toPrecision : (precision?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >2 : 2 > : ^ diff --git a/tests/baselines/reference/functionImplementations.types b/tests/baselines/reference/functionImplementations.types index 5d2de64abde2a..c07a8e17303ab 100644 --- a/tests/baselines/reference/functionImplementations.types +++ b/tests/baselines/reference/functionImplementations.types @@ -117,7 +117,7 @@ function rec4() { >rec3() : number > : ^^^^^^ >rec3 : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } var n: number; >n : number @@ -129,7 +129,7 @@ var n = rec3(); >rec3() : number > : ^^^^^^ >rec3 : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ var n = rec4(); >n : number @@ -217,7 +217,7 @@ var n = function (x: T) { >function (x: T) { return x;} (4) : 4 > : ^ >function (x: T) { return x;} : (x: T) => T -> : ^ ^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ >x : T > : ^ @@ -473,11 +473,11 @@ var f7: (x: number) => string | number = x => { // should be (x: number) => numb >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } var f8: (x: number) => any = x => { // should be (x: number) => Base >f8 : (x: number) => any diff --git a/tests/baselines/reference/functionLiteral.types b/tests/baselines/reference/functionLiteral.types index 95ef1e7a7a2e3..be48f2a854b12 100644 --- a/tests/baselines/reference/functionLiteral.types +++ b/tests/baselines/reference/functionLiteral.types @@ -26,7 +26,7 @@ var y: { (x: string): string; }; var y: (x: string) => string; >y : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string > : ^^^^^^ @@ -50,7 +50,7 @@ var z: { new (x: number): number; }; var z: new (x: number) => number; >z : new (x: number) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >x : number > : ^^^^^^ diff --git a/tests/baselines/reference/functionLiteralForOverloads.types b/tests/baselines/reference/functionLiteralForOverloads.types index 63240443ebc5e..343dc25052f17 100644 --- a/tests/baselines/reference/functionLiteralForOverloads.types +++ b/tests/baselines/reference/functionLiteralForOverloads.types @@ -22,8 +22,8 @@ var f: { >x : any var f2: { ->f2 : { (x: string): string; (x: number): number; } -> : ^^^^^^ ^^ ^^^ ^^^^^^^^ ^^ ^^^ ^^^ +>f2 : { (x: string): string; (x: number): number; } +> : ^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ (x: string): string; >x : string @@ -40,8 +40,8 @@ var f2: { >x : any var f3: { ->f3 : { (x: T): string; (x: T_1): number; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ +>f3 : { (x: T): string; (x: T): number; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ (x: T): string; >x : T @@ -58,8 +58,8 @@ var f3: { >x : any var f4: { ->f4 : { (x: string): T; (x: number): T_1; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ +>f4 : { (x: string): T; (x: number): T; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ (x: string): T; >x : string diff --git a/tests/baselines/reference/functionLiteralForOverloads2.types b/tests/baselines/reference/functionLiteralForOverloads2.types index 3e3189be7cba4..e566bc11e3e63 100644 --- a/tests/baselines/reference/functionLiteralForOverloads2.types +++ b/tests/baselines/reference/functionLiteralForOverloads2.types @@ -52,8 +52,8 @@ var f: { > : ^^^^^^^^ var f2: { ->f2 : { new (x: string): C; new (x: number): C; } -> : ^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +>f2 : { new (x: string): C; new (x: number): C; } +> : ^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^^ ^^^ new(x: string): C; >x : string @@ -68,8 +68,8 @@ var f2: { > : ^^^^^^^^ var f3: { ->f3 : { new (x: string): D; new (x: number): D; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ +>f3 : { new (x: string): D; new (x: number): D; } +> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ new(x: string): D; >x : string diff --git a/tests/baselines/reference/functionLiterals.types b/tests/baselines/reference/functionLiterals.types index e848795d972ff..c8bb7691979ef 100644 --- a/tests/baselines/reference/functionLiterals.types +++ b/tests/baselines/reference/functionLiterals.types @@ -29,99 +29,99 @@ var b: { // no errors b.func1 = b.func2; >b.func1 = b.func2 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b.func1 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ ->b : { func1(x: number): number; func2: (x: number) => number; func3: (x: number) => number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>b : { func1(x: number): number; func2: (x: number) => number; func3: { (x: number): number; }; } +> : ^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^ >func1 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b.func2 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ ->b : { func1(x: number): number; func2: (x: number) => number; func3: (x: number) => number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>b : { func1(x: number): number; func2: (x: number) => number; func3: { (x: number): number; }; } +> : ^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^ >func2 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ b.func1 = b.func3; >b.func1 = b.func3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b.func1 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ ->b : { func1(x: number): number; func2: (x: number) => number; func3: (x: number) => number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>b : { func1(x: number): number; func2: (x: number) => number; func3: { (x: number): number; }; } +> : ^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^ >func1 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b.func3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ ->b : { func1(x: number): number; func2: (x: number) => number; func3: (x: number) => number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>b : { func1(x: number): number; func2: (x: number) => number; func3: { (x: number): number; }; } +> : ^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^ >func3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ b.func2 = b.func1; >b.func2 = b.func1 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b.func2 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ ->b : { func1(x: number): number; func2: (x: number) => number; func3: (x: number) => number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>b : { func1(x: number): number; func2: (x: number) => number; func3: { (x: number): number; }; } +> : ^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^ >func2 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b.func1 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ ->b : { func1(x: number): number; func2: (x: number) => number; func3: (x: number) => number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>b : { func1(x: number): number; func2: (x: number) => number; func3: { (x: number): number; }; } +> : ^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^ >func1 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ b.func2 = b.func3; >b.func2 = b.func3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b.func2 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ ->b : { func1(x: number): number; func2: (x: number) => number; func3: (x: number) => number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>b : { func1(x: number): number; func2: (x: number) => number; func3: { (x: number): number; }; } +> : ^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^ >func2 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b.func3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ ->b : { func1(x: number): number; func2: (x: number) => number; func3: (x: number) => number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>b : { func1(x: number): number; func2: (x: number) => number; func3: { (x: number): number; }; } +> : ^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^ >func3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ b.func3 = b.func1; >b.func3 = b.func1 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b.func3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ ->b : { func1(x: number): number; func2: (x: number) => number; func3: (x: number) => number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>b : { func1(x: number): number; func2: (x: number) => number; func3: { (x: number): number; }; } +> : ^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^ >func3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b.func1 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ ->b : { func1(x: number): number; func2: (x: number) => number; func3: (x: number) => number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>b : { func1(x: number): number; func2: (x: number) => number; func3: { (x: number): number; }; } +> : ^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^ >func1 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ b.func3 = b.func2; >b.func3 = b.func2 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b.func3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ ->b : { func1(x: number): number; func2: (x: number) => number; func3: (x: number) => number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>b : { func1(x: number): number; func2: (x: number) => number; func3: { (x: number): number; }; } +> : ^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^ >func3 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b.func2 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ ->b : { func1(x: number): number; func2: (x: number) => number; func3: (x: number) => number; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>b : { func1(x: number): number; func2: (x: number) => number; func3: { (x: number): number; }; } +> : ^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^ >func2 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var c: { >c : { func4(x: number): number; func4(s: string): string; func5: { (x: number): number; (s: string): string; }; } @@ -129,13 +129,13 @@ var c: { func4(x: number): number; >func4 : { (x: number): number; (s: string): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ func4(s: string): string; >func4 : { (x: number): number; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ @@ -157,40 +157,40 @@ var c: { // no errors c.func4 = c.func5; >c.func4 = c.func5 : { (x: number): number; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c.func4 : { (x: number): number; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c : { func4(x: number): number; func4(s: string): string; func5: { (x: number): number; (s: string): string; }; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^ >func4 : { (x: number): number; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c.func5 : { (x: number): number; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c : { func4(x: number): number; func4(s: string): string; func5: { (x: number): number; (s: string): string; }; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^ >func5 : { (x: number): number; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ c.func5 = c.func4; >c.func5 = c.func4 : { (x: number): number; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c.func5 : { (x: number): number; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c : { func4(x: number): number; func4(s: string): string; func5: { (x: number): number; (s: string): string; }; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^ >func5 : { (x: number): number; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c.func4 : { (x: number): number; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c : { func4(x: number): number; func4(s: string): string; func5: { (x: number): number; (s: string): string; }; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^ ^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^ >func4 : { (x: number): number; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ // generic versions var b2: { ->b2 : { func1(x: T): number; func2: (x: T_1) => number; func3: { (x: T_1): number; }; } -> : ^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^ +>b2 : { func1(x: T): number; func2: (x: T) => number; func3: { (x: T): number; }; } +> : ^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^ func1(x: T): number; // Method signature >func1 : (x: T) => number @@ -214,119 +214,119 @@ var b2: { // no errors b2.func1 = b2.func2; >b2.func1 = b2.func2 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b2.func1 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ ->b2 : { func1(x: T): number; func2: (x: T_1) => number; func3: (x: T_2) => number; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ +>b2 : { func1(x: T): number; func2: (x: T) => number; func3: { (x: T): number; }; } +> : ^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^ >func1 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b2.func2 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ ->b2 : { func1(x: T): number; func2: (x: T_1) => number; func3: (x: T_2) => number; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ +>b2 : { func1(x: T): number; func2: (x: T) => number; func3: { (x: T): number; }; } +> : ^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^ >func2 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ b2.func1 = b2.func3; >b2.func1 = b2.func3 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b2.func1 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ ->b2 : { func1(x: T): number; func2: (x: T_1) => number; func3: (x: T_2) => number; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ +>b2 : { func1(x: T): number; func2: (x: T) => number; func3: { (x: T): number; }; } +> : ^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^ >func1 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b2.func3 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ ->b2 : { func1(x: T): number; func2: (x: T_1) => number; func3: (x: T_2) => number; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ +>b2 : { func1(x: T): number; func2: (x: T) => number; func3: { (x: T): number; }; } +> : ^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^ >func3 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ b2.func2 = b2.func1; >b2.func2 = b2.func1 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b2.func2 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ ->b2 : { func1(x: T): number; func2: (x: T_1) => number; func3: (x: T_2) => number; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ +>b2 : { func1(x: T): number; func2: (x: T) => number; func3: { (x: T): number; }; } +> : ^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^ >func2 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b2.func1 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ ->b2 : { func1(x: T): number; func2: (x: T_1) => number; func3: (x: T_2) => number; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ +>b2 : { func1(x: T): number; func2: (x: T) => number; func3: { (x: T): number; }; } +> : ^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^ >func1 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ b2.func2 = b2.func3; >b2.func2 = b2.func3 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b2.func2 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ ->b2 : { func1(x: T): number; func2: (x: T_1) => number; func3: (x: T_2) => number; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ +>b2 : { func1(x: T): number; func2: (x: T) => number; func3: { (x: T): number; }; } +> : ^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^ >func2 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b2.func3 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ ->b2 : { func1(x: T): number; func2: (x: T_1) => number; func3: (x: T_2) => number; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ +>b2 : { func1(x: T): number; func2: (x: T) => number; func3: { (x: T): number; }; } +> : ^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^ >func3 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ b2.func3 = b2.func1; >b2.func3 = b2.func1 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b2.func3 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ ->b2 : { func1(x: T): number; func2: (x: T_1) => number; func3: (x: T_2) => number; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ +>b2 : { func1(x: T): number; func2: (x: T) => number; func3: { (x: T): number; }; } +> : ^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^ >func3 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b2.func1 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ ->b2 : { func1(x: T): number; func2: (x: T_1) => number; func3: (x: T_2) => number; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ +>b2 : { func1(x: T): number; func2: (x: T) => number; func3: { (x: T): number; }; } +> : ^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^ >func1 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ b2.func3 = b2.func2; >b2.func3 = b2.func2 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b2.func3 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ ->b2 : { func1(x: T): number; func2: (x: T_1) => number; func3: (x: T_2) => number; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ +>b2 : { func1(x: T): number; func2: (x: T) => number; func3: { (x: T): number; }; } +> : ^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^ >func3 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b2.func2 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ ->b2 : { func1(x: T): number; func2: (x: T_1) => number; func3: (x: T_2) => number; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ +>b2 : { func1(x: T): number; func2: (x: T) => number; func3: { (x: T): number; }; } +> : ^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^ >func2 : (x: T) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ var c2: { ->c2 : { func4(x: T): number; func4(s: T_1): string; func5: { (x: T_2): number; (s: T_2): string; }; } -> : ^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^ +>c2 : { func4(x: T): number; func4(s: T): string; func5: { (x: T): number; (s: T): string; }; } +> : ^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^ func4(x: T): number; >func4 : { (x: T): number; (s: T_1): string; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ func4(s: T): string; >func4 : { (x: T_1): number; (s: T): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >s : T > : ^ func5: { ->func5 : { (x: T): number; (s: T_1): string; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ +>func5 : { (x: T): number; (s: T): string; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ (x: T): number; >x : T @@ -341,34 +341,34 @@ var c2: { // no errors c2.func4 = c2.func5; ->c2.func4 = c2.func5 : { (x: T): number; (s: T_1): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ->c2.func4 : { (x: T): number; (s: T_1): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ->c2 : { func4(x: T): number; func4(s: T_1): string; func5: { (x: T_2): number; (s: T_3): string; }; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ->func4 : { (x: T): number; (s: T_1): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ->c2.func5 : { (x: T): number; (s: T_1): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ->c2 : { func4(x: T): number; func4(s: T_1): string; func5: { (x: T_2): number; (s: T_3): string; }; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ->func5 : { (x: T): number; (s: T_1): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +>c2.func4 = c2.func5 : { (x: T): number; (s: T): string; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ +>c2.func4 : { (x: T): number; (s: T): string; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ +>c2 : { func4(x: T): number; func4(s: T): string; func5: { (x: T): number; (s: T): string; }; } +> : ^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^ +>func4 : { (x: T): number; (s: T): string; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ +>c2.func5 : { (x: T): number; (s: T): string; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ +>c2 : { func4(x: T): number; func4(s: T): string; func5: { (x: T): number; (s: T): string; }; } +> : ^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^ +>func5 : { (x: T): number; (s: T): string; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ c2.func5 = c2.func4; ->c2.func5 = c2.func4 : { (x: T): number; (s: T_1): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ->c2.func5 : { (x: T): number; (s: T_1): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ->c2 : { func4(x: T): number; func4(s: T_1): string; func5: { (x: T_2): number; (s: T_3): string; }; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ->func5 : { (x: T): number; (s: T_1): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ->c2.func4 : { (x: T): number; (s: T_1): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ->c2 : { func4(x: T): number; func4(s: T_1): string; func5: { (x: T_2): number; (s: T_3): string; }; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ->func4 : { (x: T): number; (s: T_1): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +>c2.func5 = c2.func4 : { (x: T): number; (s: T): string; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ +>c2.func5 : { (x: T): number; (s: T): string; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ +>c2 : { func4(x: T): number; func4(s: T): string; func5: { (x: T): number; (s: T): string; }; } +> : ^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^ +>func5 : { (x: T): number; (s: T): string; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ +>c2.func4 : { (x: T): number; (s: T): string; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ +>c2 : { func4(x: T): number; func4(s: T): string; func5: { (x: T): number; (s: T): string; }; } +> : ^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^ +>func4 : { (x: T): number; (s: T): string; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ diff --git a/tests/baselines/reference/functionOverloadCompatibilityWithVoid01.types b/tests/baselines/reference/functionOverloadCompatibilityWithVoid01.types index d4cea084d97ee..7acb1ef4209a7 100644 --- a/tests/baselines/reference/functionOverloadCompatibilityWithVoid01.types +++ b/tests/baselines/reference/functionOverloadCompatibilityWithVoid01.types @@ -9,7 +9,7 @@ function f(x: string): number; function f(x: string): void { >f : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string > : ^^^^^^ diff --git a/tests/baselines/reference/functionOverloadCompatibilityWithVoid02.types b/tests/baselines/reference/functionOverloadCompatibilityWithVoid02.types index 21692c629e490..9b340d4ee138d 100644 --- a/tests/baselines/reference/functionOverloadCompatibilityWithVoid02.types +++ b/tests/baselines/reference/functionOverloadCompatibilityWithVoid02.types @@ -9,7 +9,7 @@ function f(x: string): void; function f(x: string): number { >f : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string > : ^^^^^^ diff --git a/tests/baselines/reference/functionOverloadCompatibilityWithVoid03.types b/tests/baselines/reference/functionOverloadCompatibilityWithVoid03.types index 233a316abfe3d..6c50ece055b88 100644 --- a/tests/baselines/reference/functionOverloadCompatibilityWithVoid03.types +++ b/tests/baselines/reference/functionOverloadCompatibilityWithVoid03.types @@ -9,7 +9,7 @@ function f(x: string): void; function f(x: string): void { >f : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string > : ^^^^^^ diff --git a/tests/baselines/reference/functionOverloadErrors.types b/tests/baselines/reference/functionOverloadErrors.types index 5de45501f5cf7..081e7289cb098 100644 --- a/tests/baselines/reference/functionOverloadErrors.types +++ b/tests/baselines/reference/functionOverloadErrors.types @@ -48,19 +48,19 @@ function fn2b() { //Multiple function overload signatures that differ only by return type function fn3(x: string): string; >fn3 : { (x: string): string; (y: string): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ function fn3(y: string): number; >fn3 : { (x: string): string; (y: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >y : string > : ^^^^^^ function fn3(): any { >fn3 : { (x: string): string; (y: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ return null; } @@ -140,32 +140,32 @@ function fn9() { } //Function overloads that differ only by type parameter constraints function fn10(); >fn10 : { (): any; (): any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ function fn10(); >fn10 : { (): any; (): any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ function fn10() { } >fn10 : { (): any; (): any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ // (actually OK) //Function overloads that differ only by type parameter constraints where constraints are structually identical function fn11(); ->fn11 : { (): any; (): any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>fn11 : { (): any; (): any; } +> : ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ function fn11(); ->fn11 : { (): any; (): any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>fn11 : { (): any; (): any; } +> : ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ >window : Window & typeof globalThis > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ function fn11() { } ->fn11 : { (): any; (): any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>fn11 : { (): any; (): any; } +> : ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ //Function overloads that differ only by type parameter constraints where constraints include infinitely recursive type reference interface List { @@ -175,15 +175,15 @@ interface List { } function fn12>>(); >fn12 : { >>(): any; >(): any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ function fn12>(); >fn12 : { >>(): any; >(): any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ function fn12() { } ->fn12 : { >>(): any; >(): any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>fn12 : { >>(): any; >(): any; } +> : ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ //Function overloads that differ by accessibility class cls { @@ -316,7 +316,7 @@ function fn14(n: string): string; function fn14() { >fn14 : (n: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ return 3; >3 : 3 @@ -326,15 +326,15 @@ function fn14() { //Function overloads where return types are different infinitely recursive type reference function fn15>>(): T; >fn15 : { >>(): T; >(): T_1; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^^^^ ^^^ ^^^^^^^^^ ^^^^^ ^^^ function fn15>(): T; >fn15 : { >>(): T_1; >(): T; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +> : ^^^ ^^^^^^^^^ ^^^^^ ^^^ ^^^^^^^^^ ^^^^^ ^^^ function fn15() { ->fn15 : { >>(): T; >(): T_1; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>fn15 : { >>(): T; >(): T; } +> : ^^^ ^^^^^^^^^ ^^^^^ ^^^ ^^^^^^^^^ ^^^^^ ^^^ return undefined; >undefined : undefined diff --git a/tests/baselines/reference/functionOverloads.types b/tests/baselines/reference/functionOverloads.types index c35ecb30fee5e..3ec1de55d114c 100644 --- a/tests/baselines/reference/functionOverloads.types +++ b/tests/baselines/reference/functionOverloads.types @@ -3,17 +3,17 @@ === functionOverloads.ts === function foo(): string; >foo : { (): string; (bar: string): number; } -> : ^^^^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ function foo(bar: string): number; >foo : { (): string; (bar: string): number; } -> : ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >bar : string > : ^^^^^^ function foo(bar?: string): any { return "" }; >foo : { (): string; (bar: string): number; } -> : ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >bar : string > : ^^^^^^ >"" : "" @@ -25,7 +25,7 @@ var x = foo(5); >foo(5) : never > : ^^^^^ >foo : { (): string; (bar: string): number; } -> : ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >5 : 5 > : ^ diff --git a/tests/baselines/reference/functionOverloads1.types b/tests/baselines/reference/functionOverloads1.types index 21c1c6fb5ca11..6bd139afde2c7 100644 --- a/tests/baselines/reference/functionOverloads1.types +++ b/tests/baselines/reference/functionOverloads1.types @@ -3,7 +3,7 @@ === functionOverloads1.ts === function foo(); >foo : { (): any; (): string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^ 1+1; >1+1 : number diff --git a/tests/baselines/reference/functionOverloads11.types b/tests/baselines/reference/functionOverloads11.types index 873fe48d1043e..44f402b418df7 100644 --- a/tests/baselines/reference/functionOverloads11.types +++ b/tests/baselines/reference/functionOverloads11.types @@ -7,7 +7,7 @@ function foo():number; function foo():string { return "" } >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >"" : "" > : ^^ diff --git a/tests/baselines/reference/functionOverloads12.types b/tests/baselines/reference/functionOverloads12.types index 5415b66360df4..c8018140e7489 100644 --- a/tests/baselines/reference/functionOverloads12.types +++ b/tests/baselines/reference/functionOverloads12.types @@ -3,15 +3,15 @@ === functionOverloads12.ts === function foo():string; >foo : { (): string; (): number; } -> : ^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ function foo():number; >foo : { (): string; (): number; } -> : ^^^^^^^^^^^^^^^^^^ ^^^ +> : ^^^^^^ ^^^^^^ ^^^ function foo():any { if (true) return ""; else return 0;} >foo : { (): string; (): number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >true : true > : ^^^^ >"" : "" diff --git a/tests/baselines/reference/functionOverloads13.types b/tests/baselines/reference/functionOverloads13.types index 64ce3972f04b3..5116cca38a2b3 100644 --- a/tests/baselines/reference/functionOverloads13.types +++ b/tests/baselines/reference/functionOverloads13.types @@ -3,19 +3,19 @@ === functionOverloads13.ts === function foo(bar:number):string; >foo : { (bar: number): string; (bar: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : number > : ^^^^^^ function foo(bar:number):number; >foo : { (bar: number): string; (bar: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : number > : ^^^^^^ function foo(bar?:number):any { return "" } >foo : { (bar: number): string; (bar: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : number > : ^^^^^^ >"" : "" diff --git a/tests/baselines/reference/functionOverloads14.types b/tests/baselines/reference/functionOverloads14.types index fe3078ee2ba61..661d92f9bb1da 100644 --- a/tests/baselines/reference/functionOverloads14.types +++ b/tests/baselines/reference/functionOverloads14.types @@ -3,19 +3,19 @@ === functionOverloads14.ts === function foo():{a:number;} >foo : { (): { a: number; }; (): { a: string; }; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >a : number > : ^^^^^^ function foo():{a:string;} >foo : { (): { a: number; }; (): { a: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +> : ^^^^^^ ^^^^^^ ^^^ >a : string > : ^^^^^^ function foo():{a:any;} { return {a:1} } >foo : { (): { a: number; }; (): { a: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >a : any >{a:1} : { a: number; } > : ^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/functionOverloads15.types b/tests/baselines/reference/functionOverloads15.types index 628e460529a0e..3f85cc881f098 100644 --- a/tests/baselines/reference/functionOverloads15.types +++ b/tests/baselines/reference/functionOverloads15.types @@ -3,7 +3,7 @@ === functionOverloads15.ts === function foo(foo:{a:string; b:number;}):string; >foo : { (foo: { a: string; b: number; }): string; (foo: { a: string; b: number; }): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >foo : { a: string; b: number; } > : ^^^^^ ^^^^^ ^^^ >a : string @@ -13,7 +13,7 @@ function foo(foo:{a:string; b:number;}):string; function foo(foo:{a:string; b:number;}):number; >foo : { (foo: { a: string; b: number; }): string; (foo: { a: string; b: number; }): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >foo : { a: string; b: number; } > : ^^^^^ ^^^^^ ^^^ >a : string @@ -23,7 +23,7 @@ function foo(foo:{a:string; b:number;}):number; function foo(foo:{a:string; b?:number;}):any { return "" } >foo : { (foo: { a: string; b: number; }): string; (foo: { a: string; b: number; }): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >foo : { a: string; b?: number; } > : ^^^^^ ^^^^^^ ^^^ >a : string diff --git a/tests/baselines/reference/functionOverloads16.types b/tests/baselines/reference/functionOverloads16.types index e001be16a7431..b63a51ef3c20d 100644 --- a/tests/baselines/reference/functionOverloads16.types +++ b/tests/baselines/reference/functionOverloads16.types @@ -3,7 +3,7 @@ === functionOverloads16.ts === function foo(foo:{a:string;}):string; >foo : { (foo: { a: string; }): string; (foo: { a: string; }): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >foo : { a: string; } > : ^^^^^ ^^^ >a : string @@ -11,7 +11,7 @@ function foo(foo:{a:string;}):string; function foo(foo:{a:string;}):number; >foo : { (foo: { a: string; }): string; (foo: { a: string; }): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >foo : { a: string; } > : ^^^^^ ^^^ >a : string @@ -19,7 +19,7 @@ function foo(foo:{a:string;}):number; function foo(foo:{a:string; b?:number;}):any { return "" } >foo : { (foo: { a: string; }): string; (foo: { a: string; }): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >foo : { a: string; b?: number; } > : ^^^^^ ^^^^^^ ^^^ >a : string diff --git a/tests/baselines/reference/functionOverloads17.types b/tests/baselines/reference/functionOverloads17.types index d3b4035e963d5..dd12ad7a97063 100644 --- a/tests/baselines/reference/functionOverloads17.types +++ b/tests/baselines/reference/functionOverloads17.types @@ -9,7 +9,7 @@ function foo():{a:number;} function foo():{a:string;} { return {a:""} } >foo : () => { a: number; } -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >a : string > : ^^^^^^ >{a:""} : { a: string; } diff --git a/tests/baselines/reference/functionOverloads2.types b/tests/baselines/reference/functionOverloads2.types index 0194604c0095e..778acaf40788e 100644 --- a/tests/baselines/reference/functionOverloads2.types +++ b/tests/baselines/reference/functionOverloads2.types @@ -3,19 +3,19 @@ === functionOverloads2.ts === function foo(bar: string): string; >foo : { (bar: string): string; (bar: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : string > : ^^^^^^ function foo(bar: number): number; >foo : { (bar: string): string; (bar: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : number > : ^^^^^^ function foo(bar: any): any { return bar }; >foo : { (bar: string): string; (bar: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : any > : ^^^ >bar : any @@ -27,7 +27,7 @@ var x = foo(true); >foo(true) : never > : ^^^^^ >foo : { (bar: string): string; (bar: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >true : true > : ^^^^ diff --git a/tests/baselines/reference/functionOverloads20.types b/tests/baselines/reference/functionOverloads20.types index cf2e2f9c4d468..ea0feebf9d316 100644 --- a/tests/baselines/reference/functionOverloads20.types +++ b/tests/baselines/reference/functionOverloads20.types @@ -3,7 +3,7 @@ === functionOverloads20.ts === function foo(bar:{a:number;}): number; >foo : { (bar: { a: number; }): number; (bar: { a: string; }): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: number; } > : ^^^^^ ^^^ >a : number @@ -11,7 +11,7 @@ function foo(bar:{a:number;}): number; function foo(bar:{a:string;}): string; >foo : { (bar: { a: number; }): number; (bar: { a: string; }): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: string; } > : ^^^^^ ^^^ >a : string @@ -19,7 +19,7 @@ function foo(bar:{a:string;}): string; function foo(bar:{a:any;}): string {return ""} >foo : { (bar: { a: number; }): number; (bar: { a: string; }): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: any; } > : ^^^^^ ^^^ >a : any diff --git a/tests/baselines/reference/functionOverloads22.types b/tests/baselines/reference/functionOverloads22.types index 2228e7d5586e1..bed96105d5f57 100644 --- a/tests/baselines/reference/functionOverloads22.types +++ b/tests/baselines/reference/functionOverloads22.types @@ -3,7 +3,7 @@ === functionOverloads22.ts === function foo(bar:number):{a:number;}[]; >foo : { (bar: number): { a: number; }[]; (bar: string): { a: number; b: string; }[]; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : number > : ^^^^^^ >a : number @@ -11,7 +11,7 @@ function foo(bar:number):{a:number;}[]; function foo(bar:string):{a:number; b:string;}[]; >foo : { (bar: number): { a: number; }[]; (bar: string): { a: number; b: string; }[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : string > : ^^^^^^ >a : number @@ -21,7 +21,7 @@ function foo(bar:string):{a:number; b:string;}[]; function foo(bar:any):{a:any;b?:any;}[] { return [{a:""}] } >foo : { (bar: number): { a: number; }[]; (bar: string): { a: number; b: string; }[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : any >a : any >b : any diff --git a/tests/baselines/reference/functionOverloads24.types b/tests/baselines/reference/functionOverloads24.types index cf6036d634365..a48c749a4b7b9 100644 --- a/tests/baselines/reference/functionOverloads24.types +++ b/tests/baselines/reference/functionOverloads24.types @@ -3,7 +3,7 @@ === functionOverloads24.ts === function foo(bar:number):(b:string)=>void; >foo : { (bar: number): (b: string) => void; (bar: string): (a: number) => void; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : number > : ^^^^^^ >b : string @@ -11,7 +11,7 @@ function foo(bar:number):(b:string)=>void; function foo(bar:string):(a:number)=>void; >foo : { (bar: number): (b: string) => void; (bar: string): (a: number) => void; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : string > : ^^^^^^ >a : number @@ -19,7 +19,7 @@ function foo(bar:string):(a:number)=>void; function foo(bar:any):(a)=>void { return function(){} } >foo : { (bar: number): (b: string) => void; (bar: string): (a: number) => void; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : any >a : any >function(){} : () => void diff --git a/tests/baselines/reference/functionOverloads25.types b/tests/baselines/reference/functionOverloads25.types index f7de464f9e1e6..bf68585ba1770 100644 --- a/tests/baselines/reference/functionOverloads25.types +++ b/tests/baselines/reference/functionOverloads25.types @@ -3,17 +3,17 @@ === functionOverloads25.ts === function foo():string; >foo : { (): string; (bar: string): number; } -> : ^^^^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ function foo(bar:string):number; >foo : { (): string; (bar: string): number; } -> : ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >bar : string > : ^^^^^^ function foo(bar?:any):any{ return '' }; >foo : { (): string; (bar: string): number; } -> : ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >bar : any >'' : "" > : ^^ @@ -24,5 +24,5 @@ var x = foo(); >foo() : string > : ^^^^^^ >foo : { (): string; (bar: string): number; } -> : ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ diff --git a/tests/baselines/reference/functionOverloads26.types b/tests/baselines/reference/functionOverloads26.types index 3ea64db7cada2..e61b3008d9720 100644 --- a/tests/baselines/reference/functionOverloads26.types +++ b/tests/baselines/reference/functionOverloads26.types @@ -3,17 +3,17 @@ === functionOverloads26.ts === function foo():string; >foo : { (): string; (bar: string): number; } -> : ^^^^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ function foo(bar:string):number; >foo : { (): string; (bar: string): number; } -> : ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >bar : string > : ^^^^^^ function foo(bar?:any):any{ return '' } >foo : { (): string; (bar: string): number; } -> : ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >bar : any >'' : "" > : ^^ @@ -24,7 +24,7 @@ var x = foo('baz'); >foo('baz') : number > : ^^^^^^ >foo : { (): string; (bar: string): number; } -> : ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >'baz' : "baz" > : ^^^^^ diff --git a/tests/baselines/reference/functionOverloads27.types b/tests/baselines/reference/functionOverloads27.types index 755ecf3969d98..eb51f8e57426e 100644 --- a/tests/baselines/reference/functionOverloads27.types +++ b/tests/baselines/reference/functionOverloads27.types @@ -3,17 +3,17 @@ === functionOverloads27.ts === function foo():string; >foo : { (): string; (bar: string): number; } -> : ^^^^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ function foo(bar:string):number; >foo : { (): string; (bar: string): number; } -> : ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >bar : string > : ^^^^^^ function foo(bar?:any):any{ return '' } >foo : { (): string; (bar: string): number; } -> : ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >bar : any > : ^^^ >'' : "" @@ -25,7 +25,7 @@ var x = foo(5); >foo(5) : never > : ^^^^^ >foo : { (): string; (bar: string): number; } -> : ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >5 : 5 > : ^ diff --git a/tests/baselines/reference/functionOverloads28.types b/tests/baselines/reference/functionOverloads28.types index 2835836a442b2..7fe1479427d79 100644 --- a/tests/baselines/reference/functionOverloads28.types +++ b/tests/baselines/reference/functionOverloads28.types @@ -3,17 +3,17 @@ === functionOverloads28.ts === function foo():string; >foo : { (): string; (bar: string): number; } -> : ^^^^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ function foo(bar:string):number; >foo : { (): string; (bar: string): number; } -> : ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >bar : string > : ^^^^^^ function foo(bar?:any):any{ return '' } >foo : { (): string; (bar: string): number; } -> : ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >bar : any >'' : "" > : ^^ @@ -25,6 +25,6 @@ var t:any; var x = foo(t); >foo(t) : number > : ^^^^^^ >foo : { (): string; (bar: string): number; } -> : ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >t : any diff --git a/tests/baselines/reference/functionOverloads29.types b/tests/baselines/reference/functionOverloads29.types index e47d6745e95be..2bc8b7b6e932a 100644 --- a/tests/baselines/reference/functionOverloads29.types +++ b/tests/baselines/reference/functionOverloads29.types @@ -3,19 +3,19 @@ === functionOverloads29.ts === function foo(bar:string):string; >foo : { (bar: string): string; (bar: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : string > : ^^^^^^ function foo(bar:number):number; >foo : { (bar: string): string; (bar: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : number > : ^^^^^^ function foo(bar:any):any{ return bar } >foo : { (bar: string): string; (bar: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : any > : ^^^ >bar : any @@ -27,5 +27,5 @@ var x = foo(); >foo() : never > : ^^^^^ >foo : { (bar: string): string; (bar: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ diff --git a/tests/baselines/reference/functionOverloads30.types b/tests/baselines/reference/functionOverloads30.types index 5cf2ba7d2045a..b7308c80d4662 100644 --- a/tests/baselines/reference/functionOverloads30.types +++ b/tests/baselines/reference/functionOverloads30.types @@ -3,19 +3,19 @@ === functionOverloads30.ts === function foo(bar:string):string; >foo : { (bar: string): string; (bar: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : string > : ^^^^^^ function foo(bar:number):number; >foo : { (bar: string): string; (bar: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : number > : ^^^^^^ function foo(bar:any):any{ return bar } >foo : { (bar: string): string; (bar: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : any >bar : any @@ -25,7 +25,7 @@ var x = foo('bar'); >foo('bar') : string > : ^^^^^^ >foo : { (bar: string): string; (bar: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >'bar' : "bar" > : ^^^^^ diff --git a/tests/baselines/reference/functionOverloads31.types b/tests/baselines/reference/functionOverloads31.types index d977d0dca6ce8..668e742d8cd5b 100644 --- a/tests/baselines/reference/functionOverloads31.types +++ b/tests/baselines/reference/functionOverloads31.types @@ -3,19 +3,19 @@ === functionOverloads31.ts === function foo(bar:string):string; >foo : { (bar: string): string; (bar: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : string > : ^^^^^^ function foo(bar:number):number; >foo : { (bar: string): string; (bar: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : number > : ^^^^^^ function foo(bar:any):any{ return bar } >foo : { (bar: string): string; (bar: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : any >bar : any @@ -25,7 +25,7 @@ var x = foo(5); >foo(5) : number > : ^^^^^^ >foo : { (bar: string): string; (bar: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >5 : 5 > : ^ diff --git a/tests/baselines/reference/functionOverloads32.types b/tests/baselines/reference/functionOverloads32.types index 892834420182b..4f24fbdcceea4 100644 --- a/tests/baselines/reference/functionOverloads32.types +++ b/tests/baselines/reference/functionOverloads32.types @@ -3,19 +3,19 @@ === functionOverloads32.ts === function foo(bar:string):string; >foo : { (bar: string): string; (bar: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : string > : ^^^^^^ function foo(bar:number):number; >foo : { (bar: string): string; (bar: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : number > : ^^^^^^ function foo(bar:any):any{ return bar } >foo : { (bar: string): string; (bar: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : any >bar : any @@ -27,7 +27,7 @@ var baz:number; var x = foo(baz); >foo(baz) : number > : ^^^^^^ >foo : { (bar: string): string; (bar: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >baz : number > : ^^^^^^ diff --git a/tests/baselines/reference/functionOverloads33.types b/tests/baselines/reference/functionOverloads33.types index 6226600916598..b6383007a5b6f 100644 --- a/tests/baselines/reference/functionOverloads33.types +++ b/tests/baselines/reference/functionOverloads33.types @@ -3,18 +3,18 @@ === functionOverloads33.ts === function foo(bar:string):string; >foo : { (bar: string): string; (bar: any): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : string > : ^^^^^^ function foo(bar:any):number; >foo : { (bar: string): string; (bar: any): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : any function foo(bar:any):any{ return bar } >foo : { (bar: string): string; (bar: any): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : any >bar : any @@ -24,7 +24,7 @@ var x = foo(5); >foo(5) : number > : ^^^^^^ >foo : { (bar: string): string; (bar: any): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >5 : 5 > : ^ diff --git a/tests/baselines/reference/functionOverloads34.types b/tests/baselines/reference/functionOverloads34.types index 45d3e9f902975..a7f2868663e9a 100644 --- a/tests/baselines/reference/functionOverloads34.types +++ b/tests/baselines/reference/functionOverloads34.types @@ -3,7 +3,7 @@ === functionOverloads34.ts === function foo(bar:{a:number;}):string; >foo : { (bar: { a: number; }): string; (bar: { a: boolean; }): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: number; } > : ^^^^^ ^^^ >a : number @@ -11,7 +11,7 @@ function foo(bar:{a:number;}):string; function foo(bar:{a:boolean;}):number; >foo : { (bar: { a: number; }): string; (bar: { a: boolean; }): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: boolean; } > : ^^^^^ ^^^ >a : boolean @@ -19,13 +19,13 @@ function foo(bar:{a:boolean;}):number; function foo(bar:{a:any;}):any{ return bar } >foo : { (bar: { a: number; }): string; (bar: { a: boolean; }): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: any; } > : ^^^^^ ^^^ >a : any > : ^^^ >bar : { a: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ var x = foo(); >x : never @@ -33,5 +33,5 @@ var x = foo(); >foo() : never > : ^^^^^ >foo : { (bar: { a: number; }): string; (bar: { a: boolean; }): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ diff --git a/tests/baselines/reference/functionOverloads35.types b/tests/baselines/reference/functionOverloads35.types index fca25320d98c2..73e9185940b0e 100644 --- a/tests/baselines/reference/functionOverloads35.types +++ b/tests/baselines/reference/functionOverloads35.types @@ -3,7 +3,7 @@ === functionOverloads35.ts === function foo(bar:{a:number;}):number; >foo : { (bar: { a: number; }): number; (bar: { a: string; }): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: number; } > : ^^^^^ ^^^ >a : number @@ -11,7 +11,7 @@ function foo(bar:{a:number;}):number; function foo(bar:{a:string;}):string; >foo : { (bar: { a: number; }): number; (bar: { a: string; }): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: string; } > : ^^^^^ ^^^ >a : string @@ -19,12 +19,12 @@ function foo(bar:{a:string;}):string; function foo(bar:{a:any;}):any{ return bar } >foo : { (bar: { a: number; }): number; (bar: { a: string; }): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: any; } > : ^^^^^ ^^^ >a : any >bar : { a: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ var x = foo({a:1}); >x : number @@ -32,7 +32,7 @@ var x = foo({a:1}); >foo({a:1}) : number > : ^^^^^^ >foo : { (bar: { a: number; }): number; (bar: { a: string; }): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >{a:1} : { a: number; } > : ^^^^^^^^^^^^^^ >a : number diff --git a/tests/baselines/reference/functionOverloads36.types b/tests/baselines/reference/functionOverloads36.types index eb7fb2e1bf72d..d095cfc179719 100644 --- a/tests/baselines/reference/functionOverloads36.types +++ b/tests/baselines/reference/functionOverloads36.types @@ -3,7 +3,7 @@ === functionOverloads36.ts === function foo(bar:{a:number;}):number; >foo : { (bar: { a: number; }): number; (bar: { a: string; }): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: number; } > : ^^^^^ ^^^ >a : number @@ -11,7 +11,7 @@ function foo(bar:{a:number;}):number; function foo(bar:{a:string;}):string; >foo : { (bar: { a: number; }): number; (bar: { a: string; }): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: string; } > : ^^^^^ ^^^ >a : string @@ -19,12 +19,12 @@ function foo(bar:{a:string;}):string; function foo(bar:{a:any;}):any{ return bar } >foo : { (bar: { a: number; }): number; (bar: { a: string; }): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: any; } > : ^^^^^ ^^^ >a : any >bar : { a: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ var x = foo({a:'foo'}); >x : string @@ -32,7 +32,7 @@ var x = foo({a:'foo'}); >foo({a:'foo'}) : string > : ^^^^^^ >foo : { (bar: { a: number; }): number; (bar: { a: string; }): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >{a:'foo'} : { a: string; } > : ^^^^^^^^^^^^^^ >a : string diff --git a/tests/baselines/reference/functionOverloads37.types b/tests/baselines/reference/functionOverloads37.types index 4dcb405da9ba6..14383e4d8f020 100644 --- a/tests/baselines/reference/functionOverloads37.types +++ b/tests/baselines/reference/functionOverloads37.types @@ -3,7 +3,7 @@ === functionOverloads37.ts === function foo(bar:{a:number;}[]):string; >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: number; }[] > : ^^^^^ ^^^^^ >a : number @@ -11,7 +11,7 @@ function foo(bar:{a:number;}[]):string; function foo(bar:{a:boolean;}[]):number; >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: boolean; }[] > : ^^^^^ ^^^^^ >a : boolean @@ -19,13 +19,13 @@ function foo(bar:{a:boolean;}[]):number; function foo(bar:{a:any;}[]):any{ return bar } >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: any; }[] > : ^^^^^ ^^^^^ >a : any > : ^^^ >bar : { a: any; }[] -> : ^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ var x = foo(); >x : never @@ -33,5 +33,5 @@ var x = foo(); >foo() : never > : ^^^^^ >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ diff --git a/tests/baselines/reference/functionOverloads38.types b/tests/baselines/reference/functionOverloads38.types index ca6e66d4e08d1..17c6afe84e1ac 100644 --- a/tests/baselines/reference/functionOverloads38.types +++ b/tests/baselines/reference/functionOverloads38.types @@ -3,7 +3,7 @@ === functionOverloads38.ts === function foo(bar:{a:number;}[]):string; >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: number; }[] > : ^^^^^ ^^^^^ >a : number @@ -11,7 +11,7 @@ function foo(bar:{a:number;}[]):string; function foo(bar:{a:boolean;}[]):number; >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: boolean; }[] > : ^^^^^ ^^^^^ >a : boolean @@ -19,12 +19,12 @@ function foo(bar:{a:boolean;}[]):number; function foo(bar:{a:any;}[]):any{ return bar } >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: any; }[] > : ^^^^^ ^^^^^ >a : any >bar : { a: any; }[] -> : ^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ var x = foo([{a:1}]); >x : string @@ -32,7 +32,7 @@ var x = foo([{a:1}]); >foo([{a:1}]) : string > : ^^^^^^ >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >[{a:1}] : { a: number; }[] > : ^^^^^^^^^^^^^^^^ >{a:1} : { a: number; } diff --git a/tests/baselines/reference/functionOverloads39.types b/tests/baselines/reference/functionOverloads39.types index 129c3fbe5abce..2ad4b6ae687ae 100644 --- a/tests/baselines/reference/functionOverloads39.types +++ b/tests/baselines/reference/functionOverloads39.types @@ -3,7 +3,7 @@ === functionOverloads39.ts === function foo(bar:{a:number;}[]):string; >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: number; }[] > : ^^^^^ ^^^^^ >a : number @@ -11,7 +11,7 @@ function foo(bar:{a:number;}[]):string; function foo(bar:{a:boolean;}[]):number; >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: boolean; }[] > : ^^^^^ ^^^^^ >a : boolean @@ -19,12 +19,12 @@ function foo(bar:{a:boolean;}[]):number; function foo(bar:{a:any;}[]):any{ return bar } >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: any; }[] > : ^^^^^ ^^^^^ >a : any >bar : { a: any; }[] -> : ^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ var x = foo([{a:true}]); >x : number @@ -32,7 +32,7 @@ var x = foo([{a:true}]); >foo([{a:true}]) : number > : ^^^^^^ >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >[{a:true}] : { a: true; }[] > : ^^^^^^^^^^^^^^ >{a:true} : { a: true; } diff --git a/tests/baselines/reference/functionOverloads4.types b/tests/baselines/reference/functionOverloads4.types index a2b17318c0d99..afdc1703041e7 100644 --- a/tests/baselines/reference/functionOverloads4.types +++ b/tests/baselines/reference/functionOverloads4.types @@ -7,7 +7,7 @@ function foo():number; function foo():string { return "a" } >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >"a" : "a" > : ^^^ diff --git a/tests/baselines/reference/functionOverloads40.types b/tests/baselines/reference/functionOverloads40.types index 7524b2b409457..dc785e1546ac3 100644 --- a/tests/baselines/reference/functionOverloads40.types +++ b/tests/baselines/reference/functionOverloads40.types @@ -3,7 +3,7 @@ === functionOverloads40.ts === function foo(bar:{a:number;}[]):string; >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: number; }[] > : ^^^^^ ^^^^^ >a : number @@ -11,7 +11,7 @@ function foo(bar:{a:number;}[]):string; function foo(bar:{a:boolean;}[]):number; >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: boolean; }[] > : ^^^^^ ^^^^^ >a : boolean @@ -19,13 +19,13 @@ function foo(bar:{a:boolean;}[]):number; function foo(bar:{a:any;}[]):any{ return bar } >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: any; }[] > : ^^^^^ ^^^^^ >a : any > : ^^^ >bar : { a: any; }[] -> : ^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ var x = foo([{a:'bar'}]); >x : never @@ -33,7 +33,7 @@ var x = foo([{a:'bar'}]); >foo([{a:'bar'}]) : never > : ^^^^^ >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >[{a:'bar'}] : { a: string; }[] > : ^^^^^^^^^^^^^^^^ >{a:'bar'} : { a: string; } diff --git a/tests/baselines/reference/functionOverloads41.types b/tests/baselines/reference/functionOverloads41.types index 7450f4479f0b3..ee03cce57399f 100644 --- a/tests/baselines/reference/functionOverloads41.types +++ b/tests/baselines/reference/functionOverloads41.types @@ -3,7 +3,7 @@ === functionOverloads41.ts === function foo(bar:{a:number;}[]):string; >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: number; }[] > : ^^^^^ ^^^^^ >a : number @@ -11,7 +11,7 @@ function foo(bar:{a:number;}[]):string; function foo(bar:{a:boolean;}[]):number; >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: boolean; }[] > : ^^^^^ ^^^^^ >a : boolean @@ -19,13 +19,13 @@ function foo(bar:{a:boolean;}[]):number; function foo(bar:{a:any;}[]):any{ return bar } >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: any; }[] > : ^^^^^ ^^^^^ >a : any > : ^^^ >bar : { a: any; }[] -> : ^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ var x = foo([{}]); >x : never @@ -33,7 +33,7 @@ var x = foo([{}]); >foo([{}]) : never > : ^^^^^ >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >[{}] : {}[] > : ^^^^ >{} : {} diff --git a/tests/baselines/reference/functionOverloads42.types b/tests/baselines/reference/functionOverloads42.types index c35846501937c..40b50b0778261 100644 --- a/tests/baselines/reference/functionOverloads42.types +++ b/tests/baselines/reference/functionOverloads42.types @@ -3,7 +3,7 @@ === functionOverloads42.ts === function foo(bar:{a:number;}[]):string; >foo : { (bar: { a: number; }[]): string; (bar: { a: any; }[]): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: number; }[] > : ^^^^^ ^^^^^ >a : number @@ -11,19 +11,19 @@ function foo(bar:{a:number;}[]):string; function foo(bar:{a:any;}[]):number; >foo : { (bar: { a: number; }[]): string; (bar: { a: any; }[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: any; }[] > : ^^^^^ ^^^^^ >a : any function foo(bar:{a:any;}[]):any{ return bar } >foo : { (bar: { a: number; }[]): string; (bar: { a: any; }[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: any; }[] > : ^^^^^ ^^^^^ >a : any >bar : { a: any; }[] -> : ^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ var x = foo([{a:'s'}]); >x : number @@ -31,7 +31,7 @@ var x = foo([{a:'s'}]); >foo([{a:'s'}]) : number > : ^^^^^^ >foo : { (bar: { a: number; }[]): string; (bar: { a: any; }[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >[{a:'s'}] : { a: string; }[] > : ^^^^^^^^^^^^^^^^ >{a:'s'} : { a: string; } diff --git a/tests/baselines/reference/functionOverloads43.types b/tests/baselines/reference/functionOverloads43.types index 63953373509d3..9adb503f5b905 100644 --- a/tests/baselines/reference/functionOverloads43.types +++ b/tests/baselines/reference/functionOverloads43.types @@ -3,7 +3,7 @@ === functionOverloads43.ts === function foo(bar: { a:number }[]): number; >foo : { (bar: { a: number; }[]): number; (bar: { a: string; }[]): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: number; }[] > : ^^^^^ ^^^^^ >a : number @@ -11,7 +11,7 @@ function foo(bar: { a:number }[]): number; function foo(bar: { a:string }[]): string; >foo : { (bar: { a: number; }[]): number; (bar: { a: string; }[]): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: string; }[] > : ^^^^^ ^^^^^ >a : string @@ -19,21 +19,21 @@ function foo(bar: { a:string }[]): string; function foo([x]: { a:number | string }[]): string | number { >foo : { (bar: { a: number; }[]): number; (bar: { a: string; }[]): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ->x : { a: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ +>x : { a: number | string; } +> : ^^^^^ ^^^ >a : string | number > : ^^^^^^^^^^^^^^^ if (x) { ->x : { a: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>x : { a: number | string; } +> : ^^^^^ ^^^ return x.a; >x.a : string | number > : ^^^^^^^^^^^^^^^ ->x : { a: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>x : { a: number | string; } +> : ^^^^^ ^^^ >a : string | number > : ^^^^^^^^^^^^^^^ } @@ -49,7 +49,7 @@ var x = foo([{a: "str"}]); >foo([{a: "str"}]) : string > : ^^^^^^ >foo : { (bar: { a: number; }[]): number; (bar: { a: string; }[]): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >[{a: "str"}] : { a: string; }[] > : ^^^^^^^^^^^^^^^^ >{a: "str"} : { a: string; } @@ -65,7 +65,7 @@ var y = foo([{a: 100}]); >foo([{a: 100}]) : number > : ^^^^^^ >foo : { (bar: { a: number; }[]): number; (bar: { a: string; }[]): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >[{a: 100}] : { a: number; }[] > : ^^^^^^^^^^^^^^^^ >{a: 100} : { a: number; } diff --git a/tests/baselines/reference/functionOverloads44.types b/tests/baselines/reference/functionOverloads44.types index 7a4df4f7d3c84..331024b7615cf 100644 --- a/tests/baselines/reference/functionOverloads44.types +++ b/tests/baselines/reference/functionOverloads44.types @@ -12,7 +12,7 @@ interface Cat extends Animal { cat } function foo1(bar: { a:number }[]): Dog; >foo1 : { (bar: { a: number; }[]): Dog; (bar: { a: string; }[]): Animal; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: number; }[] > : ^^^^^ ^^^^^ >a : number @@ -20,7 +20,7 @@ function foo1(bar: { a:number }[]): Dog; function foo1(bar: { a:string }[]): Animal; >foo1 : { (bar: { a: number; }[]): Dog; (bar: { a: string; }[]): Animal; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: string; }[] > : ^^^^^ ^^^^^ >a : string @@ -28,9 +28,9 @@ function foo1(bar: { a:string }[]): Animal; function foo1([x]: { a:number | string }[]): Dog { >foo1 : { (bar: { a: number; }[]): Dog; (bar: { a: string; }[]): Animal; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^ ->x : { a: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ +>x : { a: number | string; } +> : ^^^^^ ^^^ >a : string | number > : ^^^^^^^^^^^^^^^ @@ -40,8 +40,8 @@ function foo1([x]: { a:number | string }[]): Dog { } function foo2(bar: { a:number }[]): Cat; ->foo2 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Dog | Cat; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^ +>foo2 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Cat | Dog; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: number; }[] > : ^^^^^ ^^^^^ >a : number @@ -49,17 +49,17 @@ function foo2(bar: { a:number }[]): Cat; function foo2(bar: { a:string }[]): Cat | Dog; >foo2 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Cat | Dog; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: string; }[] > : ^^^^^ ^^^^^ >a : string > : ^^^^^^ function foo2([x]: { a:number | string }[]): Cat { ->foo2 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Dog | Cat; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ->x : { a: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>foo2 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Cat | Dog; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ +>x : { a: number | string; } +> : ^^^^^ ^^^ >a : string | number > : ^^^^^^^^^^^^^^^ @@ -75,7 +75,7 @@ var x1 = foo1([{a: "str"}]); >foo1([{a: "str"}]) : Animal > : ^^^^^^ >foo1 : { (bar: { a: number; }[]): Dog; (bar: { a: string; }[]): Animal; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >[{a: "str"}] : { a: string; }[] > : ^^^^^^^^^^^^^^^^ >{a: "str"} : { a: string; } @@ -91,7 +91,7 @@ var y1 = foo1([{a: 100}]); >foo1([{a: 100}]) : Dog > : ^^^ >foo1 : { (bar: { a: number; }[]): Dog; (bar: { a: string; }[]): Animal; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >[{a: 100}] : { a: number; }[] > : ^^^^^^^^^^^^^^^^ >{a: 100} : { a: number; } @@ -106,8 +106,8 @@ var x2 = foo2([{a: "str"}]); > : ^^^^^^^^^ >foo2([{a: "str"}]) : Dog | Cat > : ^^^^^^^^^ ->foo2 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Dog | Cat; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +>foo2 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Cat | Dog; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >[{a: "str"}] : { a: string; }[] > : ^^^^^^^^^^^^^^^^ >{a: "str"} : { a: string; } @@ -122,8 +122,8 @@ var y2 = foo2([{a: 100}]); > : ^^^ >foo2([{a: 100}]) : Cat > : ^^^ ->foo2 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Dog | Cat; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +>foo2 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Cat | Dog; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >[{a: 100}] : { a: number; }[] > : ^^^^^^^^^^^^^^^^ >{a: 100} : { a: number; } diff --git a/tests/baselines/reference/functionOverloads45.types b/tests/baselines/reference/functionOverloads45.types index 111e301f530cf..67b493dafdf64 100644 --- a/tests/baselines/reference/functionOverloads45.types +++ b/tests/baselines/reference/functionOverloads45.types @@ -12,7 +12,7 @@ interface Cat extends Animal { cat } function foo1(bar: { a:number }[]): Cat; >foo1 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Dog; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: number; }[] > : ^^^^^ ^^^^^ >a : number @@ -20,7 +20,7 @@ function foo1(bar: { a:number }[]): Cat; function foo1(bar: { a:string }[]): Dog; >foo1 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Dog; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: string; }[] > : ^^^^^ ^^^^^ >a : string @@ -28,9 +28,9 @@ function foo1(bar: { a:string }[]): Dog; function foo1([x]: { a:number | string }[]): Animal { >foo1 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Dog; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ->x : { a: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ +>x : { a: number | string; } +> : ^^^^^ ^^^ >a : string | number > : ^^^^^^^^^^^^^^^ @@ -41,7 +41,7 @@ function foo1([x]: { a:number | string }[]): Animal { function foo2(bar: { a:number }[]): Cat; >foo2 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Dog; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: number; }[] > : ^^^^^ ^^^^^ >a : number @@ -49,7 +49,7 @@ function foo2(bar: { a:number }[]): Cat; function foo2(bar: { a:string }[]): Dog; >foo2 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Dog; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: string; }[] > : ^^^^^ ^^^^^ >a : string @@ -57,9 +57,9 @@ function foo2(bar: { a:string }[]): Dog; function foo2([x]: { a:number | string }[]): Cat | Dog { >foo2 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Dog; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ->x : { a: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ +>x : { a: number | string; } +> : ^^^^^ ^^^ >a : string | number > : ^^^^^^^^^^^^^^^ @@ -75,7 +75,7 @@ var x1 = foo1([{a: "str"}]); >foo1([{a: "str"}]) : Dog > : ^^^ >foo1 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Dog; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >[{a: "str"}] : { a: string; }[] > : ^^^^^^^^^^^^^^^^ >{a: "str"} : { a: string; } @@ -91,7 +91,7 @@ var y1 = foo1([{a: 100}]); >foo1([{a: 100}]) : Cat > : ^^^ >foo1 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Dog; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >[{a: 100}] : { a: number; }[] > : ^^^^^^^^^^^^^^^^ >{a: 100} : { a: number; } @@ -107,7 +107,7 @@ var x2 = foo2([{a: "str"}]); >foo2([{a: "str"}]) : Dog > : ^^^ >foo2 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Dog; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >[{a: "str"}] : { a: string; }[] > : ^^^^^^^^^^^^^^^^ >{a: "str"} : { a: string; } @@ -123,7 +123,7 @@ var y2 = foo2([{a: 100}]); >foo2([{a: 100}]) : Cat > : ^^^ >foo2 : { (bar: { a: number; }[]): Cat; (bar: { a: string; }[]): Dog; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >[{a: 100}] : { a: number; }[] > : ^^^^^^^^^^^^^^^^ >{a: 100} : { a: number; } diff --git a/tests/baselines/reference/functionOverloadsOnGenericArity1.types b/tests/baselines/reference/functionOverloadsOnGenericArity1.types index 8b52f26c2424a..d74b906718ffb 100644 --- a/tests/baselines/reference/functionOverloadsOnGenericArity1.types +++ b/tests/baselines/reference/functionOverloadsOnGenericArity1.types @@ -5,11 +5,11 @@ interface C { f(): string; >f : { (): string; (): string; } -> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ f(): string; >f : { (): string; (): string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^ (): string; (): string; diff --git a/tests/baselines/reference/functionOverloadsOnGenericArity2.types b/tests/baselines/reference/functionOverloadsOnGenericArity2.types index 33ddeb028c078..9d62bcaa02596 100644 --- a/tests/baselines/reference/functionOverloadsOnGenericArity2.types +++ b/tests/baselines/reference/functionOverloadsOnGenericArity2.types @@ -3,20 +3,20 @@ === functionOverloadsOnGenericArity2.ts === interface I { then(p: string): string; ->then : { (p: string): string; (p: string): string; (p: string): Date; } -> : ^^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +>then : { (p: string): string; (p: string): string; (p: string): Date; } +> : ^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^^ ^^^ >p : string > : ^^^^^^ then(p: string): string; >then : { (p: string): string; (p: string): string; (p: string): Date; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^^^^^^^^^ ^^ ^^^ ^^^ >p : string > : ^^^^^^ then(p: string): Date; >then : { (p: string): string; (p: string): string; (p: string): Date; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^^ ^^^ >p : string > : ^^^^^^ } diff --git a/tests/baselines/reference/functionOverloadsOutOfOrder.types b/tests/baselines/reference/functionOverloadsOutOfOrder.types index d882d23afbec0..ff0e1cac17200 100644 --- a/tests/baselines/reference/functionOverloadsOutOfOrder.types +++ b/tests/baselines/reference/functionOverloadsOutOfOrder.types @@ -7,13 +7,13 @@ class d { private foo(n: number): string; >foo : { (n: number): string; (s: string): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ private foo(ns: any) { >foo : { (n: number): string; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >ns : any > : ^^^ @@ -29,7 +29,7 @@ class d { } private foo(s: string): string; >foo : { (n: number): string; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ } @@ -40,7 +40,7 @@ class e { private foo(ns: any) { >foo : { (ns: any): any; (s: string): string; (n: number): string; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >ns : any > : ^^^ @@ -56,13 +56,13 @@ class e { } private foo(s: string): string; >foo : { (ns: any): any; (s: string): string; (n: number): string; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ private foo(n: number): string; >foo : { (ns: any): any; (s: string): string; (n: number): string; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ } diff --git a/tests/baselines/reference/functionOverloadsRecursiveGenericReturnType.types b/tests/baselines/reference/functionOverloadsRecursiveGenericReturnType.types index 8c91655cc6079..b28b6c84b3803 100644 --- a/tests/baselines/reference/functionOverloadsRecursiveGenericReturnType.types +++ b/tests/baselines/reference/functionOverloadsRecursiveGenericReturnType.types @@ -21,19 +21,19 @@ class A{ function Choice(args: T[]): A; >Choice : { (args: T[]): A; (...v_args: T_1[]): A; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^ ^^ ^^^ ^^^ >args : T[] > : ^^^ function Choice(...v_args: T[]): A; >Choice : { (args: T_1[]): A; (...v_args: T[]): A; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^ ^^ ^^^ ^^^ >v_args : T[] > : ^^^ function Choice(...v_args: any[]): A{ ->Choice : { (args: T_1[]): A; (...v_args: T_2[]): A; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ +>Choice : { (args: T_1[]): A; (...v_args: T_1[]): A; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^ ^^ ^^^ ^^^ >v_args : any[] > : ^^^^^ diff --git a/tests/baselines/reference/functionReturn.types b/tests/baselines/reference/functionReturn.types index 263b769a52b01..0d120b9bcb029 100644 --- a/tests/baselines/reference/functionReturn.types +++ b/tests/baselines/reference/functionReturn.types @@ -14,7 +14,7 @@ function f1() { >f0() : void > : ^^^^ >f0 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } function f2(): any { } >f2 : () => any diff --git a/tests/baselines/reference/functionSignatureAssignmentCompat1.types b/tests/baselines/reference/functionSignatureAssignmentCompat1.types index 6370a9b42734c..aa105d377e866 100644 --- a/tests/baselines/reference/functionSignatureAssignmentCompat1.types +++ b/tests/baselines/reference/functionSignatureAssignmentCompat1.types @@ -37,11 +37,11 @@ var d: ParserFunc = parsers.readline; // not ok >d : ParserFunc > : ^^^^^^^^^^ >parsers.readline : (delimiter?: string) => ParserFunc -> : ^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >parsers : Parsers > : ^^^^^^^ >readline : (delimiter?: string) => ParserFunc -> : ^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var e: ParserFunc = parsers.readline(); // ok >e : ParserFunc @@ -49,9 +49,9 @@ var e: ParserFunc = parsers.readline(); // ok >parsers.readline() : ParserFunc > : ^^^^^^^^^^ >parsers.readline : (delimiter?: string) => ParserFunc -> : ^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >parsers : Parsers > : ^^^^^^^ >readline : (delimiter?: string) => ParserFunc -> : ^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/functionSubtypingOfVarArgs.types b/tests/baselines/reference/functionSubtypingOfVarArgs.types index 58aa0ecb6fc3c..4c55b96b564d9 100644 --- a/tests/baselines/reference/functionSubtypingOfVarArgs.types +++ b/tests/baselines/reference/functionSubtypingOfVarArgs.types @@ -23,7 +23,7 @@ class EventBase { >this._listeners.push(listener) : number > : ^^^^^^ >this._listeners.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >this._listeners : any[] > : ^^^^^ >this : this @@ -31,9 +31,9 @@ class EventBase { >_listeners : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >listener : (...args: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ } } @@ -55,13 +55,13 @@ class StringEvent extends EventBase { // should work >super.add(listener) : void > : ^^^^ >super.add : (listener: (...args: any[]) => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >super : EventBase > : ^^^^^^^^^ >add : (listener: (...args: any[]) => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >listener : (items: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ } } diff --git a/tests/baselines/reference/functionSubtypingOfVarArgs2.types b/tests/baselines/reference/functionSubtypingOfVarArgs2.types index 6fd3355594f89..189b76cc3370d 100644 --- a/tests/baselines/reference/functionSubtypingOfVarArgs2.types +++ b/tests/baselines/reference/functionSubtypingOfVarArgs2.types @@ -25,17 +25,17 @@ class EventBase { >this._listeners.push(listener) : number > : ^^^^^^ >this._listeners.push : (...items: ((...args: any[]) => void)[]) => number -> : ^^^^ ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^ ^^ ^^^^^ ^^^^^^^^ >this._listeners : ((...args: any[]) => void)[] -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^ >this : this > : ^^^^ >_listeners : ((...args: any[]) => void)[] -> : ^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ ^^^ >push : (...items: ((...args: any[]) => void)[]) => number -> : ^^^^ ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^ ^^ ^^^^^ ^^^^^^^^ >listener : (...args: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ } } @@ -59,13 +59,13 @@ class StringEvent extends EventBase { >super.add(listener) : void > : ^^^^ >super.add : (listener: (...args: any[]) => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >super : EventBase > : ^^^^^^^^^ >add : (listener: (...args: any[]) => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >listener : (items: string, moreitems: number) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ } } diff --git a/tests/baselines/reference/functionToFunctionWithPropError.types b/tests/baselines/reference/functionToFunctionWithPropError.types index 023a8d5106b62..c21fa56cd251f 100644 --- a/tests/baselines/reference/functionToFunctionWithPropError.types +++ b/tests/baselines/reference/functionToFunctionWithPropError.types @@ -13,17 +13,17 @@ declare let y: { (): string; } x = y; >x = y : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : { (): string; prop: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^ ^^^ >y : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ y = x; >y = x : { (): string; prop: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^ ^^^ >y : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : { (): string; prop: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^ ^^^ diff --git a/tests/baselines/reference/functionType.types b/tests/baselines/reference/functionType.types index 8d54a83bca1a6..7f85509b5c611 100644 --- a/tests/baselines/reference/functionType.types +++ b/tests/baselines/reference/functionType.types @@ -8,11 +8,11 @@ function salt() {} salt.apply("hello", []); >salt.apply("hello", []) : any >salt.apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >salt : () => void > : ^^^^^^^^^^ >apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ >[] : undefined[] diff --git a/tests/baselines/reference/functionTypeArgumentArityErrors.types b/tests/baselines/reference/functionTypeArgumentArityErrors.types index a043dc630625f..fa52a07fb5d95 100644 --- a/tests/baselines/reference/functionTypeArgumentArityErrors.types +++ b/tests/baselines/reference/functionTypeArgumentArityErrors.types @@ -4,53 +4,53 @@ // Overloaded functions with default type arguments declare function f1(): void; >f1 : { (): void; (): void; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ declare function f1(): void; >f1 : { (): void; (): void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +> : ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ f1(); >f1() : void > : ^^^^ ->f1 : { (): void; (): void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f1 : { (): void; (): void; } +> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ f1(); >f1() : void > : ^^^^ ->f1 : { (): void; (): void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f1 : { (): void; (): void; } +> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ // Overloaded functions with no default type arguments declare function f2(): void; >f2 : { (): void; (): void; } -> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ declare function f2(): void; >f2 : { (): void; (): void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^ f2(); >f2() : void > : ^^^^ ->f2 : { (): void; (): void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f2 : { (): void; (): void; } +> : ^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^ f2(); >f2() : void > : ^^^^ ->f2 : { (): void; (): void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f2 : { (): void; (): void; } +> : ^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^ // Overloaded non-generic functions declare function f3(): void; >f3 : { (): void; (a: any): void; } -> : ^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^^^^ ^^^ declare function f3(a): void; >f3 : { (): void; (a: any): void; } -> : ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ +> : ^^^^^^ ^^^ ^^^^^^^^ ^^^ >a : any > : ^^^ @@ -58,7 +58,7 @@ f3(); >f3() : void > : ^^^^ >f3 : { (): void; (a: any): void; } -> : ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^^^^ ^^^ // Generic function with default type parameters declare function f4(): void; @@ -69,13 +69,13 @@ f4(); >f4() : void > : ^^^^ >f4 : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ f4(); >f4() : void > : ^^^^ >f4 : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ // Generic function with no default type arguments declare function f5(): void; @@ -86,11 +86,11 @@ f5(); >f5() : void > : ^^^^ >f5 : () => void -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ f5(); >f5() : void > : ^^^^ >f5 : () => void -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ diff --git a/tests/baselines/reference/functionTypeArgumentAssignmentCompat.types b/tests/baselines/reference/functionTypeArgumentAssignmentCompat.types index 6f4dd22eda06e..960baedc5fe05 100644 --- a/tests/baselines/reference/functionTypeArgumentAssignmentCompat.types +++ b/tests/baselines/reference/functionTypeArgumentAssignmentCompat.types @@ -23,11 +23,11 @@ var g : { f = g; >f = g : () => S[] -> : ^^^^^^^^^^^^ +> : ^ ^^^^^^^ >f : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >g : () => S[] -> : ^^^^^^^^^^^^ +> : ^ ^^^^^^^ var s = f("str").toUpperCase(); >s : string @@ -35,25 +35,25 @@ var s = f("str").toUpperCase(); >f("str").toUpperCase() : string > : ^^^^^^ >f("str").toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >f("str") : "str" > : ^^^^^ >f : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >"str" : "str" > : ^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ console.log(s); >console.log(s) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >s : string > : ^^^^^^ diff --git a/tests/baselines/reference/functionTypesLackingReturnTypes.types b/tests/baselines/reference/functionTypesLackingReturnTypes.types index 1daafaa5f397a..eee1024a9b1d5 100644 --- a/tests/baselines/reference/functionTypesLackingReturnTypes.types +++ b/tests/baselines/reference/functionTypesLackingReturnTypes.types @@ -6,7 +6,7 @@ function f(x: ()) { >f : (x: () => any) => void > : ^ ^^ ^^^^^^^^^ >x : () => any -> : ^^^^^^^^^ +> : ^^^^^^ } // Error (no '=>') diff --git a/tests/baselines/reference/functionVariableInReturnTypeAnnotation.types b/tests/baselines/reference/functionVariableInReturnTypeAnnotation.types index e09690cad7040..a411dc6efcaa1 100644 --- a/tests/baselines/reference/functionVariableInReturnTypeAnnotation.types +++ b/tests/baselines/reference/functionVariableInReturnTypeAnnotation.types @@ -2,8 +2,8 @@ === functionVariableInReturnTypeAnnotation.ts === function bar(): typeof b { ->bar : () => any -> : ^^^^^^^^^ +>bar : () => typeof b +> : ^^^^^^ >b : any > : ^^^ diff --git a/tests/baselines/reference/functionWithDefaultParameterWithNoStatements9.types b/tests/baselines/reference/functionWithDefaultParameterWithNoStatements9.types index b525c610746b5..6965135a77141 100644 --- a/tests/baselines/reference/functionWithDefaultParameterWithNoStatements9.types +++ b/tests/baselines/reference/functionWithDefaultParameterWithNoStatements9.types @@ -3,25 +3,25 @@ === functionWithDefaultParameterWithNoStatements9.ts === function foo(a = console.log) { } >foo : (a?: (...data: any[]) => void) => void -> : ^ ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ ^^^^^^^^^ >a : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ function bar(a = console.log) { >bar : (a?: (...data: any[]) => void) => void -> : ^ ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ ^^^^^^^^^ >a : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ } diff --git a/tests/baselines/reference/functionWithMultipleReturnStatements.types b/tests/baselines/reference/functionWithMultipleReturnStatements.types index 63b579676529f..df2788141d906 100644 --- a/tests/baselines/reference/functionWithMultipleReturnStatements.types +++ b/tests/baselines/reference/functionWithMultipleReturnStatements.types @@ -126,7 +126,7 @@ function f6(x: T, y:U) { function f8(x: T, y: U) { >f8 : (x: T, y: U) => U -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >x : T > : ^ >y : U diff --git a/tests/baselines/reference/functionWithMultipleReturnStatements2.types b/tests/baselines/reference/functionWithMultipleReturnStatements2.types index ab4c4708f6bed..a6c3495ae7a5d 100644 --- a/tests/baselines/reference/functionWithMultipleReturnStatements2.types +++ b/tests/baselines/reference/functionWithMultipleReturnStatements2.types @@ -129,7 +129,7 @@ var b: { x: number; z?: number }; // returns typeof a function f9() { >f9 : () => { x: number; y?: number; } | { x: number; z?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^ ^^^^^^ ^^^ if (true) { >true : true @@ -137,19 +137,19 @@ function f9() { return a; >a : { x: number; y?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ } else { return b; >b : { x: number; z?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ } } // returns typeof b function f10() { >f10 : () => { x: number; y?: number; } | { x: number; z?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^ ^^^^^^ ^^^ if (true) { >true : true @@ -157,12 +157,12 @@ function f10() { return b; >b : { x: number; z?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ } else { return a; >a : { x: number; y?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ } } diff --git a/tests/baselines/reference/functionWithNoBestCommonType1.types b/tests/baselines/reference/functionWithNoBestCommonType1.types index ecb4114f38787..eca6f4c1cece6 100644 --- a/tests/baselines/reference/functionWithNoBestCommonType1.types +++ b/tests/baselines/reference/functionWithNoBestCommonType1.types @@ -13,7 +13,7 @@ function foo() { >bar() : void > : ^^^^ >bar : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } function bar(): void { diff --git a/tests/baselines/reference/functionWithNoBestCommonType2.types b/tests/baselines/reference/functionWithNoBestCommonType2.types index f7256855d9c20..fca5cc68f2dfc 100644 --- a/tests/baselines/reference/functionWithNoBestCommonType2.types +++ b/tests/baselines/reference/functionWithNoBestCommonType2.types @@ -15,7 +15,7 @@ var v = function () { >bar() : void > : ^^^^ >bar : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ }; diff --git a/tests/baselines/reference/functionsMissingReturnStatementsAndExpressionsStrictNullChecks.types b/tests/baselines/reference/functionsMissingReturnStatementsAndExpressionsStrictNullChecks.types index 21b842aca6f2e..19093273330df 100644 --- a/tests/baselines/reference/functionsMissingReturnStatementsAndExpressionsStrictNullChecks.types +++ b/tests/baselines/reference/functionsMissingReturnStatementsAndExpressionsStrictNullChecks.types @@ -82,7 +82,7 @@ f(() => { }); >f(() => { }) : void > : ^^^^ >f : (a: () => undefined) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >() => { } : () => undefined > : ^^^^^^^^^^^^^^^ @@ -90,7 +90,7 @@ f((): undefined => { }); >f((): undefined => { }) : void > : ^^^^ >f : (a: () => undefined) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >(): undefined => { } : () => undefined > : ^^^^^^ @@ -115,7 +115,7 @@ f(h1); // Error >f(h1) : void > : ^^^^ >f : (a: () => undefined) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >h1 : () => void > : ^^^^^^^^^^ @@ -128,7 +128,7 @@ f(h2); >f(h2) : void > : ^^^^ >f : (a: () => undefined) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >h2 : () => undefined -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/functionsWithImplicitReturnTypeAssignableToUndefined(strictnullchecks=false).types b/tests/baselines/reference/functionsWithImplicitReturnTypeAssignableToUndefined(strictnullchecks=false).types index fe02509640618..d16181ed998f6 100644 --- a/tests/baselines/reference/functionsWithImplicitReturnTypeAssignableToUndefined(strictnullchecks=false).types +++ b/tests/baselines/reference/functionsWithImplicitReturnTypeAssignableToUndefined(strictnullchecks=false).types @@ -11,11 +11,11 @@ function f1(): unknown { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ >true : true @@ -38,11 +38,11 @@ function f2(): unknown { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ >true : true @@ -75,11 +75,11 @@ function f5(): {} { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ >{} : {} @@ -98,11 +98,11 @@ function f6(): Record { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ >{ "foo": true } : { foo: boolean; } @@ -126,11 +126,11 @@ function f7(): null { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ @@ -147,11 +147,11 @@ function f8(): string | null { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ >"foo" : "foo" diff --git a/tests/baselines/reference/functionsWithImplicitReturnTypeAssignableToUndefined(strictnullchecks=true).types b/tests/baselines/reference/functionsWithImplicitReturnTypeAssignableToUndefined(strictnullchecks=true).types index fe02509640618..d16181ed998f6 100644 --- a/tests/baselines/reference/functionsWithImplicitReturnTypeAssignableToUndefined(strictnullchecks=true).types +++ b/tests/baselines/reference/functionsWithImplicitReturnTypeAssignableToUndefined(strictnullchecks=true).types @@ -11,11 +11,11 @@ function f1(): unknown { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ >true : true @@ -38,11 +38,11 @@ function f2(): unknown { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ >true : true @@ -75,11 +75,11 @@ function f5(): {} { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ >{} : {} @@ -98,11 +98,11 @@ function f6(): Record { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ >{ "foo": true } : { foo: boolean; } @@ -126,11 +126,11 @@ function f7(): null { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ @@ -147,11 +147,11 @@ function f8(): string | null { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ >"foo" : "foo" diff --git a/tests/baselines/reference/funduleUsedAcrossFileBoundary.types b/tests/baselines/reference/funduleUsedAcrossFileBoundary.types index 912f638064314..a60bb4b8be909 100644 --- a/tests/baselines/reference/funduleUsedAcrossFileBoundary.types +++ b/tests/baselines/reference/funduleUsedAcrossFileBoundary.types @@ -36,9 +36,9 @@ function promiseWithCancellation(promise: Q.Promise) { >Q.defer() : string > : ^^^^^^ >Q.defer : () => string -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ >Q : typeof Q > : ^^^^^^^^ >defer : () => string -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ } diff --git a/tests/baselines/reference/generatedContextualTyping.types b/tests/baselines/reference/generatedContextualTyping.types index 00ad353592397..fa9cd404a47c7 100644 --- a/tests/baselines/reference/generatedContextualTyping.types +++ b/tests/baselines/reference/generatedContextualTyping.types @@ -3409,7 +3409,7 @@ var x225: () => Base[]; x225 = () => [d1, d2]; >x225 = () => [d1, d2] : () => (Derived1 | Derived2)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x225 : () => Base[] -> : ^^^^^^^^^^^^ +> : ^^^^^^ >() => [d1, d2] : () => (Derived1 | Derived2)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >[d1, d2] : (Derived1 | Derived2)[] @@ -3425,7 +3425,7 @@ var x226: () => Base[]; x226 = function() { return [d1, d2] }; >x226 = function() { return [d1, d2] } : () => (Derived1 | Derived2)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x226 : () => Base[] -> : ^^^^^^^^^^^^ +> : ^^^^^^ >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >[d1, d2] : (Derived1 | Derived2)[] @@ -3441,7 +3441,7 @@ var x227: () => Base[]; x227 = function named() { return [d1, d2] }; >x227 = function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x227 : () => Base[] -> : ^^^^^^^^^^^^ +> : ^^^^^^ >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >named : () => (Derived1 | Derived2)[] @@ -3459,7 +3459,7 @@ var x228: { (): Base[]; }; x228 = () => [d1, d2]; >x228 = () => [d1, d2] : () => (Derived1 | Derived2)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x228 : () => Base[] -> : ^^^^^^^^^^^^ +> : ^^^^^^ >() => [d1, d2] : () => (Derived1 | Derived2)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >[d1, d2] : (Derived1 | Derived2)[] @@ -3475,7 +3475,7 @@ var x229: { (): Base[]; }; x229 = function() { return [d1, d2] }; >x229 = function() { return [d1, d2] } : () => (Derived1 | Derived2)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x229 : () => Base[] -> : ^^^^^^^^^^^^ +> : ^^^^^^ >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >[d1, d2] : (Derived1 | Derived2)[] @@ -3491,7 +3491,7 @@ var x230: { (): Base[]; }; x230 = function named() { return [d1, d2] }; >x230 = function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x230 : () => Base[] -> : ^^^^^^^^^^^^ +> : ^^^^^^ >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >named : () => (Derived1 | Derived2)[] @@ -3555,7 +3555,7 @@ var x234: {n: Base[]; } ; x234 = { n: [d1, d2] }; >x234 = { n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x234 : { n: Base[]; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >n : (Derived1 | Derived2)[] @@ -3575,7 +3575,7 @@ var x235: (s: Base[]) => any; x235 = n => { var n: Base[]; return null; }; >x235 = n => { var n: Base[]; return null; } : (n: Base[]) => any > : ^ ^^ ^^^^^^^^ >x235 : (s: Base[]) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >n => { var n: Base[]; return null; } : (n: Base[]) => any > : ^ ^^ ^^^^^^^^ >n : Base[] @@ -5385,9 +5385,9 @@ var x333 = (n: () => Base[]) => n; x333(() => [d1, d2]); >n : () => Base[] > : ^^^^^^ >x333(() => [d1, d2]) : () => Base[] -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x333 : (n: () => Base[]) => () => Base[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >() => [d1, d2] : () => (Derived1 | Derived2)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >[d1, d2] : (Derived1 | Derived2)[] @@ -5407,9 +5407,9 @@ var x334 = (n: () => Base[]) => n; x334(function() { return [d1, d2] }); >n : () => Base[] > : ^^^^^^ >x334(function() { return [d1, d2] }) : () => Base[] -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x334 : (n: () => Base[]) => () => Base[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >[d1, d2] : (Derived1 | Derived2)[] @@ -5429,9 +5429,9 @@ var x335 = (n: () => Base[]) => n; x335(function named() { return [d1, d2] }); >n : () => Base[] > : ^^^^^^ >x335(function named() { return [d1, d2] }) : () => Base[] -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x335 : (n: () => Base[]) => () => Base[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >named : () => (Derived1 | Derived2)[] @@ -5453,9 +5453,9 @@ var x336 = (n: { (): Base[]; }) => n; x336(() => [d1, d2]); >n : () => Base[] > : ^^^^^^ >x336(() => [d1, d2]) : () => Base[] -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x336 : (n: { (): Base[]; }) => () => Base[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >() => [d1, d2] : () => (Derived1 | Derived2)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >[d1, d2] : (Derived1 | Derived2)[] @@ -5475,9 +5475,9 @@ var x337 = (n: { (): Base[]; }) => n; x337(function() { return [d1, d2] }); >n : () => Base[] > : ^^^^^^ >x337(function() { return [d1, d2] }) : () => Base[] -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x337 : (n: { (): Base[]; }) => () => Base[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >[d1, d2] : (Derived1 | Derived2)[] @@ -5497,9 +5497,9 @@ var x338 = (n: { (): Base[]; }) => n; x338(function named() { return [d1, d2] }) >n : () => Base[] > : ^^^^^^ >x338(function named() { return [d1, d2] }) : () => Base[] -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x338 : (n: { (): Base[]; }) => () => Base[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >named : () => (Derived1 | Derived2)[] @@ -5585,9 +5585,9 @@ var x342 = (n: {n: Base[]; } ) => n; x342({ n: [d1, d2] }); >n : { n: Base[]; } > : ^^^^^ ^^^ >x342({ n: [d1, d2] }) : { n: Base[]; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x342 : (n: { n: Base[]; }) => { n: Base[]; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^ >{ n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >n : (Derived1 | Derived2)[] @@ -5611,9 +5611,9 @@ var x343 = (n: (s: Base[]) => any) => n; x343(n => { var n: Base[]; return null; >n : (s: Base[]) => any > : ^ ^^ ^^^^^ >x343(n => { var n: Base[]; return null; }) : (s: Base[]) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >x343 : (n: (s: Base[]) => any) => (s: Base[]) => any -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^ ^^^^^ >n => { var n: Base[]; return null; } : (n: Base[]) => any > : ^ ^^ ^^^^^^^^ >n : Base[] diff --git a/tests/baselines/reference/generatorImplicitAny.types b/tests/baselines/reference/generatorImplicitAny.types index cda3e6288929b..1a668f43fa2bc 100644 --- a/tests/baselines/reference/generatorImplicitAny.types +++ b/tests/baselines/reference/generatorImplicitAny.types @@ -54,7 +54,7 @@ function* g4() { >noop() : void > : ^^^^ >noop : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ noop(), yield, noop(); // ok, result is unused >noop(), yield, noop() : void @@ -64,13 +64,13 @@ function* g4() { >noop() : void > : ^^^^ >noop : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >yield : any > : ^^^ >noop() : void > : ^^^^ >noop : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ (yield); // ok, result is unused >(yield) : any @@ -90,11 +90,11 @@ function* g4() { >noop() : void > : ^^^^ >noop : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >noop() : void > : ^^^^ >noop : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ for(yield; false; yield); // ok, results are unused >yield : any @@ -121,7 +121,7 @@ function* g5() { >f(yield) : void > : ^^^^ >f : (value: T) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >yield : any > : ^^^ } @@ -134,7 +134,7 @@ function* g6() { >f(yield) : void > : ^^^^ >f : (value: T) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >yield : any > : ^^^ } diff --git a/tests/baselines/reference/generatorNoImplicitReturns.types b/tests/baselines/reference/generatorNoImplicitReturns.types index b80ae4f67071d..371b996318cb9 100644 --- a/tests/baselines/reference/generatorNoImplicitReturns.types +++ b/tests/baselines/reference/generatorNoImplicitReturns.types @@ -12,11 +12,11 @@ function* testGenerator () { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ diff --git a/tests/baselines/reference/generatorOverloads1.types b/tests/baselines/reference/generatorOverloads1.types index 53424034cc980..735fbe0553252 100644 --- a/tests/baselines/reference/generatorOverloads1.types +++ b/tests/baselines/reference/generatorOverloads1.types @@ -7,19 +7,19 @@ module M { function* f(s: string): Iterable; >f : { (s: string): Iterable; (s: number): Iterable; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ function* f(s: number): Iterable; >f : { (s: string): Iterable; (s: number): Iterable; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : number > : ^^^^^^ function* f(s: any): Iterable { } >f : { (s: string): Iterable; (s: number): Iterable; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : any > : ^^^ } diff --git a/tests/baselines/reference/generatorOverloads2.types b/tests/baselines/reference/generatorOverloads2.types index ec742d99535b2..a236c51e479cb 100644 --- a/tests/baselines/reference/generatorOverloads2.types +++ b/tests/baselines/reference/generatorOverloads2.types @@ -7,19 +7,19 @@ declare module M { function* f(s: string): Iterable; >f : { (s: string): Iterable; (s: number): Iterable; (s: any): Iterable; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ function* f(s: number): Iterable; >f : { (s: string): Iterable; (s: number): Iterable; (s: any): Iterable; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : number > : ^^^^^^ function* f(s: any): Iterable; >f : { (s: string): Iterable; (s: number): Iterable; (s: any): Iterable; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : any > : ^^^ } diff --git a/tests/baselines/reference/generatorOverloads3.types b/tests/baselines/reference/generatorOverloads3.types index 378d8b854ffd8..5e4bacbf0147f 100644 --- a/tests/baselines/reference/generatorOverloads3.types +++ b/tests/baselines/reference/generatorOverloads3.types @@ -7,19 +7,19 @@ class C { *f(s: string): Iterable; >f : { (s: string): Iterable; (s: number): Iterable; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ *f(s: number): Iterable; >f : { (s: string): Iterable; (s: number): Iterable; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : number > : ^^^^^^ *f(s: any): Iterable { } >f : { (s: string): Iterable; (s: number): Iterable; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : any > : ^^^ } diff --git a/tests/baselines/reference/generatorOverloads4.types b/tests/baselines/reference/generatorOverloads4.types index 4fc2e3ce36f38..987be480d051b 100644 --- a/tests/baselines/reference/generatorOverloads4.types +++ b/tests/baselines/reference/generatorOverloads4.types @@ -7,18 +7,18 @@ class C { f(s: string): Iterable; >f : { (s: string): Iterable; (s: number): Iterable; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ f(s: number): Iterable; >f : { (s: string): Iterable; (s: number): Iterable; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : number > : ^^^^^^ *f(s: any): Iterable { } >f : { (s: string): Iterable; (s: number): Iterable; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : any } diff --git a/tests/baselines/reference/generatorOverloads5.types b/tests/baselines/reference/generatorOverloads5.types index 3d68a9d44b0d6..c8216bc974e14 100644 --- a/tests/baselines/reference/generatorOverloads5.types +++ b/tests/baselines/reference/generatorOverloads5.types @@ -7,18 +7,18 @@ module M { function f(s: string): Iterable; >f : { (s: string): Iterable; (s: number): Iterable; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ function f(s: number): Iterable; >f : { (s: string): Iterable; (s: number): Iterable; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : number > : ^^^^^^ function* f(s: any): Iterable { } >f : { (s: string): Iterable; (s: number): Iterable; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : any } diff --git a/tests/baselines/reference/generatorReturnContextualType.types b/tests/baselines/reference/generatorReturnContextualType.types index c208c5a279d7e..392d859ed65b0 100644 --- a/tests/baselines/reference/generatorReturnContextualType.types +++ b/tests/baselines/reference/generatorReturnContextualType.types @@ -72,12 +72,12 @@ async function* f3(): AsyncGenerator { return Promise.resolve({ x: 'x' }); >Promise.resolve({ x: 'x' }) : Promise<{ x: "x"; }> > : ^^^^^^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >{ x: 'x' } : { x: "x"; } > : ^^^^^^^^^^^ >x : "x" @@ -95,12 +95,12 @@ async function* g3(): AsyncIterator { return Promise.resolve({ x: 'x' }); >Promise.resolve({ x: 'x' }) : Promise<{ x: "x"; }> > : ^^^^^^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >{ x: 'x' } : { x: "x"; } > : ^^^^^^^^^^^ >x : "x" @@ -128,12 +128,12 @@ async function* f4(): AsyncGenerator { return Promise.resolve(ret); // Error >Promise.resolve(ret) : Promise<{ x: string; }> > : ^^^^^^^^^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >ret : { x: string; } > : ^^^^^^^^^^^^^^ } @@ -157,12 +157,12 @@ async function* g4(): AsyncIterator { return Promise.resolve(ret); // Error >Promise.resolve(ret) : Promise<{ x: string; }> > : ^^^^^^^^^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >ret : { x: string; } > : ^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/generatorReturnTypeInference.types b/tests/baselines/reference/generatorReturnTypeInference.types index fd2d5f7605ec1..a56a6c9a3df14 100644 --- a/tests/baselines/reference/generatorReturnTypeInference.types +++ b/tests/baselines/reference/generatorReturnTypeInference.types @@ -120,11 +120,11 @@ function* g103() { // Generator >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >1 : 1 > : ^ @@ -179,13 +179,13 @@ function* g202() { // Generator<1 | 2, void, never> declare function f1(x: string): void; >f1 : { (x: string): void; (x: number): void; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ declare function f1(x: number): void; >f1 : { (x: string): void; (x: number): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ @@ -199,7 +199,7 @@ function* g203() { // Generator >f1(yield 1) : void > : ^^^^ >f1 : { (x: string): void; (x: number): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >yield 1 : any > : ^^^ >1 : 1 @@ -222,7 +222,7 @@ function* g204() { // Generator >f2(yield 1) : any > : ^^^ >f2 : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >yield 1 : any > : ^^^ >1 : 1 @@ -291,11 +291,11 @@ function* g305() { // Generator<1 | 2, "a" | "b", unknown> >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >yield 1 : any > : ^^^ >1 : 1 @@ -311,11 +311,11 @@ function* g305() { // Generator<1 | 2, "a" | "b", unknown> >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >"a" : "a" > : ^^^ diff --git a/tests/baselines/reference/generatorReturnTypeInferenceNonStrict.types b/tests/baselines/reference/generatorReturnTypeInferenceNonStrict.types index c25395cf7f031..81e3e7bac2cb9 100644 --- a/tests/baselines/reference/generatorReturnTypeInferenceNonStrict.types +++ b/tests/baselines/reference/generatorReturnTypeInferenceNonStrict.types @@ -122,11 +122,11 @@ function* g103() { // Generator >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >1 : 1 > : ^ @@ -181,13 +181,13 @@ function* g202() { // Generator<1 | 2, void, never> declare function f1(x: string): void; >f1 : { (x: string): void; (x: number): void; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ declare function f1(x: number): void; >f1 : { (x: string): void; (x: number): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ @@ -201,7 +201,7 @@ function* g203() { // Generator >f1(yield 1) : void > : ^^^^ >f1 : { (x: string): void; (x: number): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >yield 1 : any > : ^^^ >1 : 1 @@ -224,7 +224,7 @@ function* g204() { // Generator >f2(yield 1) : any > : ^^^ >f2 : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >yield 1 : any > : ^^^ >1 : 1 @@ -293,11 +293,11 @@ function* g305() { // Generator<1 | 2, "a" | "b", unknown> >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >yield 1 : any > : ^^^ >1 : 1 @@ -313,11 +313,11 @@ function* g305() { // Generator<1 | 2, "a" | "b", unknown> >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >"a" : "a" > : ^^^ diff --git a/tests/baselines/reference/generatorTypeCheck45.types b/tests/baselines/reference/generatorTypeCheck45.types index 47d1ae33884eb..d8577d007c9f7 100644 --- a/tests/baselines/reference/generatorTypeCheck45.types +++ b/tests/baselines/reference/generatorTypeCheck45.types @@ -19,7 +19,7 @@ foo("", function* () { yield x => x.length }, p => undefined); // T is fixed, sh >foo("", function* () { yield x => x.length }, p => undefined) : string > : ^^^^^^ >foo : (x: T, fun: () => Iterator<(x: T) => U>, fun2: (y: U) => T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >"" : "" > : ^^ >function* () { yield x => x.length } : () => Generator<(x: string) => number, void, undefined> diff --git a/tests/baselines/reference/generatorTypeCheck46.types b/tests/baselines/reference/generatorTypeCheck46.types index cc4525d4915ba..681fe2cb930c8 100644 --- a/tests/baselines/reference/generatorTypeCheck46.types +++ b/tests/baselines/reference/generatorTypeCheck46.types @@ -19,7 +19,7 @@ foo("", function* () { >foo("", function* () { yield* { *[Symbol.iterator]() { yield x => x.length } }}, p => undefined) : string > : ^^^^^^ >foo : (x: T, fun: () => Iterable<(x: T) => U>, fun2: (y: U) => T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >"" : "" > : ^^ >function* () { yield* { *[Symbol.iterator]() { yield x => x.length } }} : () => Generator<(x: string) => number, void, undefined> diff --git a/tests/baselines/reference/generatorTypeCheck62.types b/tests/baselines/reference/generatorTypeCheck62.types index 0b0f66ae29436..5513f11c30875 100644 --- a/tests/baselines/reference/generatorTypeCheck62.types +++ b/tests/baselines/reference/generatorTypeCheck62.types @@ -9,7 +9,7 @@ export interface StrategicState { export function strategy(stratName: string, gen: (a: T) => IterableIterator): (a: T) => IterableIterator { >strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >stratName : string > : ^^^^^^ >gen : (a: T) => IterableIterator @@ -30,8 +30,8 @@ export function strategy(stratName: string, gen: (a: T > : ^ >gen(state) : IterableIterator > : ^^^^^^^^^^^^^^^^^^^ ->gen : (a: T) => IterableIterator -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +>gen : (a: T) => IterableIterator +> : ^ ^^ ^^^^^ >state : T > : ^ @@ -75,10 +75,10 @@ export interface State extends StrategicState { export const Nothing1: Strategy = strategy("Nothing", function*(state: State) { >Nothing1 : Strategy > : ^^^^^^^^^^^^^^^ ->strategy("Nothing", function*(state: State) { return state;}) : (a: State) => IterableIterator -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +>strategy("Nothing", function*(state: State) { return state;}) : (a: State) => IterableIterator +> : ^ ^^^^^^^^^^^^ ^^^^^ +>strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >"Nothing" : "Nothing" > : ^^^^^^^^^ >function*(state: State) { return state;} : (state: State) => Generator @@ -95,10 +95,10 @@ export const Nothing1: Strategy = strategy("Nothing", function*(state: St export const Nothing2: Strategy = strategy("Nothing", function*(state: State) { >Nothing2 : Strategy > : ^^^^^^^^^^^^^^^ ->strategy("Nothing", function*(state: State) { yield state;}) : (a: State) => IterableIterator -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +>strategy("Nothing", function*(state: State) { yield state;}) : (a: State) => IterableIterator +> : ^ ^^^^^^^^^^^^ ^^^^^ +>strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >"Nothing" : "Nothing" > : ^^^^^^^^^ >function*(state: State) { yield state;} : (state: State) => Generator @@ -117,10 +117,10 @@ export const Nothing2: Strategy = strategy("Nothing", function*(state: St export const Nothing3: Strategy = strategy("Nothing", function* (state: State) { >Nothing3 : Strategy > : ^^^^^^^^^^^^^^^ ->strategy("Nothing", function* (state: State) { yield ; return state;}) : (a: any) => IterableIterator -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +>strategy("Nothing", function* (state: State) { yield ; return state;}) : (a: any) => IterableIterator +> : ^ ^^^^^^^^^^ ^^^ +>strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >"Nothing" : "Nothing" > : ^^^^^^^^^ >function* (state: State) { yield ; return state;} : (state: State) => Generator diff --git a/tests/baselines/reference/generatorTypeCheck63.types b/tests/baselines/reference/generatorTypeCheck63.types index a28a61bca1bc1..fb2f3c8c49a07 100644 --- a/tests/baselines/reference/generatorTypeCheck63.types +++ b/tests/baselines/reference/generatorTypeCheck63.types @@ -9,7 +9,7 @@ export interface StrategicState { export function strategy(stratName: string, gen: (a: T) => IterableIterator): (a: T) => IterableIterator { >strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >stratName : string > : ^^^^^^ >gen : (a: T) => IterableIterator @@ -30,8 +30,8 @@ export function strategy(stratName: string, gen: (a: T > : ^ >gen(state) : IterableIterator > : ^^^^^^^^^^^^^^^^^^^ ->gen : (a: T) => IterableIterator -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +>gen : (a: T) => IterableIterator +> : ^ ^^ ^^^^^ >state : T > : ^ @@ -75,10 +75,10 @@ export interface State extends StrategicState { export const Nothing: Strategy = strategy("Nothing", function* (state: State) { >Nothing : Strategy > : ^^^^^^^^^^^^^^^ ->strategy("Nothing", function* (state: State) { yield 1; return state;}) : (a: State) => IterableIterator -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +>strategy("Nothing", function* (state: State) { yield 1; return state;}) : (a: State) => IterableIterator +> : ^ ^^^^^^^^^^^^ ^^^^^ +>strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >"Nothing" : "Nothing" > : ^^^^^^^^^ >function* (state: State) { yield 1; return state;} : (state: State) => Generator @@ -101,10 +101,10 @@ export const Nothing: Strategy = strategy("Nothing", function* (state: St export const Nothing1: Strategy = strategy("Nothing", function* (state: State) { >Nothing1 : Strategy > : ^^^^^^^^^^^^^^^ ->strategy("Nothing", function* (state: State) {}) : (a: State) => IterableIterator -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +>strategy("Nothing", function* (state: State) {}) : (a: State) => IterableIterator +> : ^ ^^^^^^^^^^^^ ^^^^^ +>strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >"Nothing" : "Nothing" > : ^^^^^^^^^ >function* (state: State) {} : (state: State) => Generator @@ -117,10 +117,10 @@ export const Nothing1: Strategy = strategy("Nothing", function* (state: S export const Nothing2: Strategy = strategy("Nothing", function* (state: State) { >Nothing2 : Strategy > : ^^^^^^^^^^^^^^^ ->strategy("Nothing", function* (state: State) { return 1;}) : (a: State) => IterableIterator -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +>strategy("Nothing", function* (state: State) { return 1;}) : (a: State) => IterableIterator +> : ^ ^^^^^^^^^^^^ ^^^^^ +>strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >"Nothing" : "Nothing" > : ^^^^^^^^^ >function* (state: State) { return 1;} : (state: State) => Generator @@ -137,10 +137,10 @@ export const Nothing2: Strategy = strategy("Nothing", function* (state: S export const Nothing3: Strategy = strategy("Nothing", function* (state: State) { >Nothing3 : Strategy > : ^^^^^^^^^^^^^^^ ->strategy("Nothing", function* (state: State) { yield state; return 1;}) : (a: State) => IterableIterator -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +>strategy("Nothing", function* (state: State) { yield state; return 1;}) : (a: State) => IterableIterator +> : ^ ^^^^^^^^^^^^ ^^^^^ +>strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >"Nothing" : "Nothing" > : ^^^^^^^^^ >function* (state: State) { yield state; return 1;} : (state: State) => Generator diff --git a/tests/baselines/reference/generatorYieldContextualType.types b/tests/baselines/reference/generatorYieldContextualType.types index 1619affc92ccb..70ee0b52e5cf8 100644 --- a/tests/baselines/reference/generatorYieldContextualType.types +++ b/tests/baselines/reference/generatorYieldContextualType.types @@ -11,7 +11,7 @@ f1<0, 0, 1>(function* () { >f1<0, 0, 1>(function* () { const a = yield 0; return 0;}) : void > : ^^^^ >f1 : (gen: () => Generator) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >function* () { const a = yield 0; return 0;} : () => Generator<0, 0, 1> > : ^^^^^^^^^^^^^^^^^^^^^^^^ @@ -39,7 +39,7 @@ f2<0, 0, 1>(async function* () { >f2<0, 0, 1>(async function* () { const a = yield 0; return 0;}) : void > : ^^^^ >f2 : (gen: () => Generator | AsyncGenerator) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >async function* () { const a = yield 0; return 0;} : () => AsyncGenerator<0, 0, 1> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -258,8 +258,8 @@ type StepState> = T & { }; function canPickStepContinue( ->canPickStepContinue : >(_step: T, _state: PartialStepState, _selection: StepItemType | Directive) => _selection is StepItemType -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ +>canPickStepContinue : (_step: T, _state: PartialStepState, _selection: StepItemType | Directive) => _selection is StepItemType +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ _step: T, >_step : T @@ -281,7 +281,7 @@ function canPickStepContinue( function createPickStep( >createPickStep : (step: QuickPickStep) => QuickPickStep -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ step: QuickPickStep >step : QuickPickStep @@ -294,8 +294,8 @@ function createPickStep( } function* showStep< ->showStep : & { counter: number; confirm?: boolean | undefined; startingStep?: number | undefined; } & { repo: any; }, Context extends { repos: any[]; title: string; status: any; }>(state: State, _context: Context) => StepResultGenerator -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^^^ ^^ ^^ ^^ ^^^^^ +>showStep : (state: State, _context: Context) => StepResultGenerator +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ State extends PartialStepState & { repo: any }, >repo : any @@ -319,7 +319,7 @@ function* showStep< >createPickStep({ title: "", placeholder: "", }) : QuickPickStep > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >createPickStep : (step: QuickPickStep) => QuickPickStep -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ title: "", placeholder: "", } : { title: string; placeholder: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -350,8 +350,8 @@ function* showStep< > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >canPickStepContinue(step, state, selection) : boolean > : ^^^^^^^ ->canPickStepContinue : >(_step: T, _state: PartialStepState, _selection: StepItemType | Directive) => _selection is StepItemType -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>canPickStepContinue : (_step: T, _state: PartialStepState, _selection: StepItemType | Directive) => _selection is StepItemType +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >step : QuickPickStep > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >state : State diff --git a/tests/baselines/reference/genericArgumentCallSigAssignmentCompat.types b/tests/baselines/reference/genericArgumentCallSigAssignmentCompat.types index 97d40bd77b52c..5628d1aacf8d2 100644 --- a/tests/baselines/reference/genericArgumentCallSigAssignmentCompat.types +++ b/tests/baselines/reference/genericArgumentCallSigAssignmentCompat.types @@ -42,12 +42,12 @@ declare var _: Underscore.Static; _.all([true, 1, null, 'yes'], _.identity); >_.all([true, 1, null, 'yes'], _.identity) : boolean > : ^^^^^^^ ->_.all : (list: T[], iterator?: Iterator, context?: any) => boolean -> : ^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +>_.all : (list: T[], iterator?: Underscore.Iterator, context?: any) => boolean +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ ->all : (list: T[], iterator?: Iterator, context?: any) => boolean -> : ^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +>all : (list: T[], iterator?: Underscore.Iterator, context?: any) => boolean +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >[true, 1, null, 'yes'] : (string | number | true)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >true : true @@ -57,30 +57,30 @@ _.all([true, 1, null, 'yes'], _.identity); >'yes' : "yes" > : ^^^^^ >_.identity : (value: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >identity : (value: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ // Ok, because fixing makes us infer boolean for T _.all([true], _.identity); >_.all([true], _.identity) : boolean > : ^^^^^^^ ->_.all : (list: T[], iterator?: Iterator, context?: any) => boolean -> : ^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +>_.all : (list: T[], iterator?: Underscore.Iterator, context?: any) => boolean +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ ->all : (list: T[], iterator?: Iterator, context?: any) => boolean -> : ^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +>all : (list: T[], iterator?: Underscore.Iterator, context?: any) => boolean +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >[true] : true[] > : ^^^^^^ >true : true > : ^^^^ >_.identity : (value: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >identity : (value: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/genericArray1.types b/tests/baselines/reference/genericArray1.types index 94789af8786ce..f85b02628ee2e 100644 --- a/tests/baselines/reference/genericArray1.types +++ b/tests/baselines/reference/genericArray1.types @@ -19,7 +19,7 @@ var lengths = ["a", "b", "c"].map(x => x.length); >["a", "b", "c"].map(x => x.length) : number[] > : ^^^^^^^^ >["a", "b", "c"].map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >["a", "b", "c"] : string[] > : ^^^^^^^^ >"a" : "a" @@ -29,7 +29,7 @@ var lengths = ["a", "b", "c"].map(x => x.length); >"c" : "c" > : ^^^ >map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >x => x.length : (x: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : string diff --git a/tests/baselines/reference/genericArrayExtenstions.types b/tests/baselines/reference/genericArrayExtenstions.types index 5269a100b158f..fcd3c86757c0a 100644 --- a/tests/baselines/reference/genericArrayExtenstions.types +++ b/tests/baselines/reference/genericArrayExtenstions.types @@ -7,13 +7,13 @@ export declare class ObservableArray implements Array { // MS.Entertainmen concat(...items: U[]): T[]; >concat : { (...items: U[]): T[]; (...items: T[]): T[]; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ >items : U[] > : ^^^ concat(...items: T[]): T[]; >concat : { (...items: U[]): T[]; (...items: T[]): T[]; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ >items : T[] > : ^^^ } diff --git a/tests/baselines/reference/genericArrayMethods1.types b/tests/baselines/reference/genericArrayMethods1.types index d8f30c0cd4e4b..0921c33834f00 100644 --- a/tests/baselines/reference/genericArrayMethods1.types +++ b/tests/baselines/reference/genericArrayMethods1.types @@ -7,7 +7,7 @@ var x:string[] = [0,1].slice(0); // this should be an error >[0,1].slice(0) : number[] > : ^^^^^^^^ >[0,1].slice : (start?: number, end?: number) => number[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >[0,1] : number[] > : ^^^^^^^^ >0 : 0 @@ -15,7 +15,7 @@ var x:string[] = [0,1].slice(0); // this should be an error >1 : 1 > : ^ >slice : (start?: number, end?: number) => number[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/genericArrayPropertyAssignment.types b/tests/baselines/reference/genericArrayPropertyAssignment.types index d66d019023c81..888289b4cc0b1 100644 --- a/tests/baselines/reference/genericArrayPropertyAssignment.types +++ b/tests/baselines/reference/genericArrayPropertyAssignment.types @@ -15,7 +15,7 @@ return list.length ===0; >list.length : number > : ^^^^^^ >list : { length: number; } -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^ >length : number > : ^^^^^^ >0 : 0 diff --git a/tests/baselines/reference/genericAssignmentCompatOfFunctionSignatures1.types b/tests/baselines/reference/genericAssignmentCompatOfFunctionSignatures1.types index 98adbbe012f88..e7dbfff0b1dff 100644 --- a/tests/baselines/reference/genericAssignmentCompatOfFunctionSignatures1.types +++ b/tests/baselines/reference/genericAssignmentCompatOfFunctionSignatures1.types @@ -3,11 +3,11 @@ === genericAssignmentCompatOfFunctionSignatures1.ts === var x1 = function foo3(x: T, z: U) { } >x1 : (x: T, z: U) => void -> : ^ ^^ ^^^^^^^^^^^^^^ ^^^^^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >function foo3(x: T, z: U) { } : (x: T, z: U) => void -> : ^ ^^ ^^^^^^^^^^^^^^ ^^^^^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >foo3 : (x: T, z: U) => void -> : ^ ^^ ^^^^^^^^^^^^^^ ^^^^^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >a : T > : ^ >b : string @@ -19,11 +19,11 @@ var x1 = function foo3(x: T, z: U) { } var x2 = function foo3(x: T, z: U) { } >x2 : (x: T, z: U) => void -> : ^ ^^ ^^^^^^^^^^^^^^ ^^^^^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >function foo3(x: T, z: U) { } : (x: T, z: U) => void -> : ^ ^^ ^^^^^^^^^^^^^^ ^^^^^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >foo3 : (x: T, z: U) => void -> : ^ ^^ ^^^^^^^^^^^^^^ ^^^^^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >a : T > : ^ >b : number @@ -35,17 +35,17 @@ var x2 = function foo3(x: T, z: U) { } x1 = x2; >x1 = x2 : (x: T, z: U) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x1 : (x: T, z: U) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x2 : (x: T, z: U) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ x2 = x1; >x2 = x1 : (x: T, z: U) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x2 : (x: T, z: U) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x1 : (x: T, z: U) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ diff --git a/tests/baselines/reference/genericCallInferenceWithGenericLocalFunction.types b/tests/baselines/reference/genericCallInferenceWithGenericLocalFunction.types index 05b6d0617f3db..f93262e5408c8 100644 --- a/tests/baselines/reference/genericCallInferenceWithGenericLocalFunction.types +++ b/tests/baselines/reference/genericCallInferenceWithGenericLocalFunction.types @@ -41,7 +41,7 @@ function withP2

    (p: P) { >createTransform(m) : (from: I) => I & P > : ^^^^ ^^^^^^^^^^^^^ >createTransform : (tr: (from: I) => O) => (from: I) => O -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >m : (from: I) => I & P > : ^ ^^ ^^ ^^^^^^^^^^ } diff --git a/tests/baselines/reference/genericCallSpecializedToTypeArg.types b/tests/baselines/reference/genericCallSpecializedToTypeArg.types index 71eb704c8efa3..d483dae1a82bb 100644 --- a/tests/baselines/reference/genericCallSpecializedToTypeArg.types +++ b/tests/baselines/reference/genericCallSpecializedToTypeArg.types @@ -23,7 +23,7 @@ function dupeAndGetDist(x: U): U { >dupe(x) : U > : ^ >dupe : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : U > : ^ diff --git a/tests/baselines/reference/genericCallToOverloadedMethodWithOverloadedArguments.types b/tests/baselines/reference/genericCallToOverloadedMethodWithOverloadedArguments.types index 02bad45ea0a29..2d031b1695cf2 100644 --- a/tests/baselines/reference/genericCallToOverloadedMethodWithOverloadedArguments.types +++ b/tests/baselines/reference/genericCallToOverloadedMethodWithOverloadedArguments.types @@ -31,13 +31,13 @@ module m1 { >numPromise.then(testFunction) : Promise > : ^^^^^^^^^^^^^^^ >numPromise.then : (cb: (x: number) => Promise) => Promise -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^ ^ ^^^^^ ^ >numPromise : Promise > : ^^^^^^^^^^^^^^^ >then : (cb: (x: number) => Promise) => Promise -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^ ^ ^^^^^ ^ >testFunction : (n: number) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ } ////////////////////////////////////// @@ -58,13 +58,13 @@ module m2 { declare function testFunction(n: number): Promise; >testFunction : { (n: number): Promise; (s: string): Promise; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ declare function testFunction(s: string): Promise; >testFunction : { (n: number): Promise; (s: string): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ @@ -78,13 +78,13 @@ module m2 { >numPromise.then(testFunction) : Promise > : ^^^^^^^^^^^^^^^ >numPromise.then : (cb: (x: number) => Promise) => Promise -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^ ^ ^^^^^ ^ >numPromise : Promise > : ^^^^^^^^^^^^^^^ >then : (cb: (x: number) => Promise) => Promise -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^ ^ ^^^^^ ^ >testFunction : { (n: number): Promise; (s: string): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ } ////////////////////////////////////// @@ -96,7 +96,7 @@ module m3 { interface Promise { then(cb: (x: T) => Promise): Promise; >then : { (cb: (x: T) => Promise): Promise; (cb: (x: T) => Promise, error?: (error: any) => Promise): Promise; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >cb : (x: T) => Promise > : ^ ^^ ^^^^^ >x : T @@ -104,7 +104,7 @@ module m3 { then(cb: (x: T) => Promise, error?: (error: any) => Promise): Promise; >then : { (cb: (x: T) => Promise): Promise; (cb: (x: T) => Promise, error?: (error: any) => Promise): Promise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >cb : (x: T) => Promise > : ^ ^^ ^^^^^ >x : T @@ -130,14 +130,14 @@ module m3 { > : ^^^^^^^^^^^^^^^ >numPromise.then(testFunction) : Promise > : ^^^^^^^^^^^^^^^ ->numPromise.then : { (cb: (x: number) => Promise): Promise; (cb: (x: number) => Promise, error?: (error: any) => Promise): Promise; } -> : ^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>numPromise.then : { (cb: (x: number) => Promise): Promise; (cb: (x: number) => Promise, error?: (error: any) => Promise): Promise; } +> : ^^^^^^ ^^^ ^^^^^^^^^^^^^ ^ ^^^ ^ ^^^^^^ ^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^^ ^ ^^^ >numPromise : Promise > : ^^^^^^^^^^^^^^^ ->then : { (cb: (x: number) => Promise): Promise; (cb: (x: number) => Promise, error?: (error: any) => Promise): Promise; } -> : ^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (cb: (x: number) => Promise): Promise; (cb: (x: number) => Promise, error?: (error: any) => Promise): Promise; } +> : ^^^^^^ ^^^ ^^^^^^^^^^^^^ ^ ^^^ ^ ^^^^^^ ^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^^ ^ ^^^ >testFunction : (n: number) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ } ////////////////////////////////////// @@ -149,7 +149,7 @@ module m4 { interface Promise { then(cb: (x: T) => Promise): Promise; >then : { (cb: (x: T) => Promise): Promise; (cb: (x: T) => Promise, error?: (error: any) => Promise): Promise; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >cb : (x: T) => Promise > : ^ ^^ ^^^^^ >x : T @@ -157,7 +157,7 @@ module m4 { then(cb: (x: T) => Promise, error?: (error: any) => Promise): Promise; >then : { (cb: (x: T) => Promise): Promise; (cb: (x: T) => Promise, error?: (error: any) => Promise): Promise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >cb : (x: T) => Promise > : ^ ^^ ^^^^^ >x : T @@ -170,13 +170,13 @@ module m4 { declare function testFunction(n: number): Promise; >testFunction : { (n: number): Promise; (s: string): Promise; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ declare function testFunction(s: string): Promise; >testFunction : { (n: number): Promise; (s: string): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ @@ -189,14 +189,14 @@ module m4 { > : ^^^^^^^^^^^^^^^ >numPromise.then(testFunction) : Promise > : ^^^^^^^^^^^^^^^ ->numPromise.then : { (cb: (x: number) => Promise): Promise; (cb: (x: number) => Promise, error?: (error: any) => Promise): Promise; } -> : ^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>numPromise.then : { (cb: (x: number) => Promise): Promise; (cb: (x: number) => Promise, error?: (error: any) => Promise): Promise; } +> : ^^^^^^ ^^^ ^^^^^^^^^^^^^ ^ ^^^ ^ ^^^^^^ ^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^^ ^ ^^^ >numPromise : Promise > : ^^^^^^^^^^^^^^^ ->then : { (cb: (x: number) => Promise): Promise; (cb: (x: number) => Promise, error?: (error: any) => Promise): Promise; } -> : ^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (cb: (x: number) => Promise): Promise; (cb: (x: number) => Promise, error?: (error: any) => Promise): Promise; } +> : ^^^^^^ ^^^ ^^^^^^^^^^^^^ ^ ^^^ ^ ^^^^^^ ^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^^ ^ ^^^ >testFunction : { (n: number): Promise; (s: string): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ } ////////////////////////////////////// @@ -207,16 +207,16 @@ module m5 { interface Promise { then(cb: (x: T) => Promise): Promise; ->then : { (cb: (x: T) => Promise): Promise; (cb: (x: T) => Promise, error?: (error: any) => Promise): Promise; (cb: (x: T) => Promise, error?: (error: any) => U_2, progress?: (preservation: any) => void): Promise; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +>then : { (cb: (x: T) => Promise): Promise; (cb: (x: T) => Promise, error?: (error: any) => Promise): Promise; (cb: (x: T) => Promise, error?: (error: any) => U_1, progress?: (preservation: any) => void): Promise; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >cb : (x: T) => Promise > : ^ ^^ ^^^^^ >x : T > : ^ then(cb: (x: T) => Promise, error?: (error: any) => Promise): Promise; ->then : { (cb: (x: T) => Promise): Promise; (cb: (x: T) => Promise, error?: (error: any) => Promise): Promise; (cb: (x: T) => Promise, error?: (error: any) => U_2, progress?: (preservation: any) => void): Promise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +>then : { (cb: (x: T) => Promise): Promise; (cb: (x: T) => Promise, error?: (error: any) => Promise): Promise; (cb: (x: T) => Promise, error?: (error: any) => U_1, progress?: (preservation: any) => void): Promise; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >cb : (x: T) => Promise > : ^ ^^ ^^^^^ >x : T @@ -227,8 +227,8 @@ module m5 { > : ^^^ then(cb: (x: T) => Promise, error?: (error: any) => U, progress?: (preservation: any) => void): Promise; ->then : { (cb: (x: T) => Promise): Promise; (cb: (x: T) => Promise, error?: (error: any) => Promise): Promise; (cb: (x: T) => Promise, error?: (error: any) => U, progress?: (preservation: any) => void): Promise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ +>then : { (cb: (x: T) => Promise): Promise; (cb: (x: T) => Promise, error?: (error: any) => Promise): Promise; (cb: (x: T) => Promise, error?: (error: any) => U, progress?: (preservation: any) => void): Promise; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >cb : (x: T) => Promise > : ^ ^^ ^^^^^ >x : T @@ -245,13 +245,13 @@ module m5 { declare function testFunction(n: number): Promise; >testFunction : { (n: number): Promise; (s: string): Promise; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ declare function testFunction(s: string): Promise; >testFunction : { (n: number): Promise; (s: string): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ @@ -264,14 +264,14 @@ module m5 { > : ^^^^^^^^^^^^^^^ >numPromise.then(testFunction) : Promise > : ^^^^^^^^^^^^^^^ ->numPromise.then : { (cb: (x: number) => Promise): Promise; (cb: (x: number) => Promise, error?: (error: any) => Promise): Promise; (cb: (x: number) => Promise, error?: (error: any) => U_2, progress?: (preservation: any) => void): Promise; } -> : ^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ +>numPromise.then : { (cb: (x: number) => Promise): Promise; (cb: (x: number) => Promise, error?: (error: any) => Promise): Promise; (cb: (x: number) => Promise, error?: (error: any) => U, progress?: (preservation: any) => void): Promise; } +> : ^^^^^^ ^^^ ^^^^^^^^^^^^^ ^ ^^^ ^ ^^^^^^ ^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^^ ^ ^^^^^^ ^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >numPromise : Promise > : ^^^^^^^^^^^^^^^ ->then : { (cb: (x: number) => Promise): Promise; (cb: (x: number) => Promise, error?: (error: any) => Promise): Promise; (cb: (x: number) => Promise, error?: (error: any) => U_2, progress?: (preservation: any) => void): Promise; } -> : ^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ +>then : { (cb: (x: number) => Promise): Promise; (cb: (x: number) => Promise, error?: (error: any) => Promise): Promise; (cb: (x: number) => Promise, error?: (error: any) => U, progress?: (preservation: any) => void): Promise; } +> : ^^^^^^ ^^^ ^^^^^^^^^^^^^ ^ ^^^ ^ ^^^^^^ ^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^^ ^ ^^^^^^ ^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction : { (n: number): Promise; (s: string): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ } ////////////////////////////////////// @@ -283,7 +283,7 @@ module m6 { interface Promise { then(cb: (x: T) => Promise): Promise; >then : { (cb: (x: T) => Promise): Promise; (cb: (x: T) => Promise, error?: (error: any) => Promise): Promise; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >cb : (x: T) => Promise > : ^ ^^ ^^^^^ >x : T @@ -291,7 +291,7 @@ module m6 { then(cb: (x: T) => Promise, error?: (error: any) => Promise): Promise; >then : { (cb: (x: T) => Promise): Promise; (cb: (x: T) => Promise, error?: (error: any) => Promise): Promise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >cb : (x: T) => Promise > : ^ ^^ ^^^^^ >x : T @@ -304,19 +304,19 @@ module m6 { declare function testFunction(n: number): Promise; >testFunction : { (n: number): Promise; (s: string): Promise; (b: boolean): Promise; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ declare function testFunction(s: string): Promise; >testFunction : { (n: number): Promise; (s: string): Promise; (b: boolean): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ declare function testFunction(b: boolean): Promise; >testFunction : { (n: number): Promise; (s: string): Promise; (b: boolean): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : boolean > : ^^^^^^^ @@ -329,13 +329,13 @@ module m6 { > : ^^^^^^^^^^^^^^^^ >numPromise.then(testFunction) : Promise > : ^^^^^^^^^^^^^^^^ ->numPromise.then : { (cb: (x: number) => Promise): Promise; (cb: (x: number) => Promise, error?: (error: any) => Promise): Promise; } -> : ^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>numPromise.then : { (cb: (x: number) => Promise): Promise; (cb: (x: number) => Promise, error?: (error: any) => Promise): Promise; } +> : ^^^^^^ ^^^ ^^^^^^^^^^^^^ ^ ^^^ ^ ^^^^^^ ^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^^ ^ ^^^ >numPromise : Promise > : ^^^^^^^^^^^^^^^ ->then : { (cb: (x: number) => Promise): Promise; (cb: (x: number) => Promise, error?: (error: any) => Promise): Promise; } -> : ^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (cb: (x: number) => Promise): Promise; (cb: (x: number) => Promise, error?: (error: any) => Promise): Promise; } +> : ^^^^^^ ^^^ ^^^^^^^^^^^^^ ^ ^^^ ^ ^^^^^^ ^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^^ ^ ^^^ >testFunction : { (n: number): Promise; (s: string): Promise; (b: boolean): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ } diff --git a/tests/baselines/reference/genericCallTypeArgumentInference.types b/tests/baselines/reference/genericCallTypeArgumentInference.types index 5a61f9561ff99..47119b2fd49cf 100644 --- a/tests/baselines/reference/genericCallTypeArgumentInference.types +++ b/tests/baselines/reference/genericCallTypeArgumentInference.types @@ -458,11 +458,11 @@ var r8 = i.foo5(true, 1); // boolean >i.foo5(true, 1) : true > : ^^^^ >i.foo5 : (t: T, u: U) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >i : I > : ^^^^^^^^^^^^^^^^^ >foo5 : (t: T, u: U) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >true : true > : ^^^^ >1 : 1 @@ -474,11 +474,11 @@ var r9 = i.foo6(); // {} >i.foo6() : unknown > : ^^^^^^^ >i.foo6 : () => T -> : ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >i : I > : ^^^^^^^^^^^^^^^^^ >foo6 : () => T -> : ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ var r10 = i.foo7(''); // {} >r10 : unknown @@ -486,11 +486,11 @@ var r10 = i.foo7(''); // {} >i.foo7('') : unknown > : ^^^^^^^ >i.foo7 : (u: U) => T -> : ^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >i : I > : ^^^^^^^^^^^^^^^^^ >foo7 : (u: U) => T -> : ^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >'' : "" > : ^^ @@ -500,9 +500,9 @@ var r11 = i.foo8(); // {} >i.foo8() : unknown > : ^^^^^^^ >i.foo8 : () => T -> : ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >i : I > : ^^^^^^^^^^^^^^^^^ >foo8 : () => T -> : ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ diff --git a/tests/baselines/reference/genericCallWithConstraintsTypeArgumentInference.types b/tests/baselines/reference/genericCallWithConstraintsTypeArgumentInference.types index d457645e64fee..da2bbf9d789e4 100644 --- a/tests/baselines/reference/genericCallWithConstraintsTypeArgumentInference.types +++ b/tests/baselines/reference/genericCallWithConstraintsTypeArgumentInference.types @@ -39,7 +39,7 @@ var d2: Derived2; function foo(t: T) { >foo : (t: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ >t : T > : ^ @@ -54,7 +54,7 @@ var r = foo(b); // Base >foo(b) : Base > : ^^^^ >foo : (t: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ >b : Base > : ^^^^ @@ -64,13 +64,13 @@ var r2 = foo(d1); // Derived >foo(d1) : Derived > : ^^^^^^^ >foo : (t: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ >d1 : Derived > : ^^^^^^^ function foo2(t: T, u: U) { >foo2 : (t: T, u: U) => U -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ >t : T > : ^ >u : U @@ -83,7 +83,7 @@ function foo2(t: T, u: U) { function foo2b(u: U) { >foo2b : (u: U) => T -> : ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ >u : U > : ^ @@ -98,7 +98,7 @@ function foo2b(u: U) { function foo2c() { >foo2c : () => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^ var x: T; >x : T @@ -115,7 +115,7 @@ var r3 = foo2b(d1); // Base >foo2b(d1) : Base > : ^^^^ >foo2b : (u: U) => T -> : ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ >d1 : Derived > : ^^^^^^^ @@ -125,7 +125,7 @@ var r3b = foo2c(); // Base >foo2c() : Base > : ^^^^ >foo2c : () => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^ class C { >C : C @@ -166,7 +166,7 @@ class C { foo3(t: T, u: U) { >foo3 : (t: T, u: U) => T -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ >t : T > : ^ >u : U @@ -179,7 +179,7 @@ class C { foo4(t: T, u: U) { >foo4 : (t: T, u: U) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ >t : T > : ^ >u : U @@ -192,7 +192,7 @@ class C { foo5(t: T, u: U) { >foo5 : (t: T, u: U) => T -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ >t : T > : ^ >u : U @@ -205,7 +205,7 @@ class C { foo6() { >foo6 : () => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^ var x: T; >x : T @@ -218,7 +218,7 @@ class C { foo7(u: U) { >foo7 : (u: U) => T -> : ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ >u : U > : ^ @@ -233,7 +233,7 @@ class C { foo8() { >foo8 : () => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^ var x: T; >x : T @@ -295,11 +295,11 @@ var r6 = c.foo3(d1, d1); // Derived >c.foo3(d1, d1) : Derived > : ^^^^^^^ >c.foo3 : (t: T, u: Derived) => T -> : ^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^ >c : C > : ^^^^^^^^^^^^^^^^ >foo3 : (t: T, u: Derived) => T -> : ^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^ >d1 : Derived > : ^^^^^^^ >d1 : Derived @@ -311,11 +311,11 @@ var r7 = c.foo4(d1, d2); // Base >c.foo4(d1, d2) : Base > : ^^^^ >c.foo4 : (t: Base, u: U) => Base -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^^^^ ^^^^^^^^^^^^ >c : C > : ^^^^^^^^^^^^^^^^ >foo4 : (t: Base, u: U) => Base -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^^^^ ^^^^^^^^^^^^ >d1 : Derived > : ^^^^^^^ >d2 : Derived2 @@ -327,11 +327,11 @@ var r8 = c.foo5(d1, d2); // Derived >c.foo5(d1, d2) : Derived > : ^^^^^^^ >c.foo5 : (t: T, u: U) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^ >c : C > : ^^^^^^^^^^^^^^^^ >foo5 : (t: T, u: U) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^ >d1 : Derived > : ^^^^^^^ >d2 : Derived2 @@ -343,11 +343,11 @@ var r8b = c.foo5(d2, d2); // Derived2 >c.foo5(d2, d2) : Derived2 > : ^^^^^^^^ >c.foo5 : (t: T, u: U) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^ >c : C > : ^^^^^^^^^^^^^^^^ >foo5 : (t: T, u: U) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^ >d2 : Derived2 > : ^^^^^^^^ >d2 : Derived2 @@ -359,11 +359,11 @@ var r9 = c.foo6(); // Derived >c.foo6() : Derived > : ^^^^^^^ >c.foo6 : () => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^ >c : C > : ^^^^^^^^^^^^^^^^ >foo6 : () => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^ var r10 = c.foo7(d1); // Base >r10 : Base @@ -371,11 +371,11 @@ var r10 = c.foo7(d1); // Base >c.foo7(d1) : Base > : ^^^^ >c.foo7 : (u: U) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ >c : C > : ^^^^^^^^^^^^^^^^ >foo7 : (u: U) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ >d1 : Derived > : ^^^^^^^ @@ -385,11 +385,11 @@ var r11 = c.foo8(); // Base >c.foo8() : Base > : ^^^^ >c.foo8 : () => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^ >c : C > : ^^^^^^^^^^^^^^^^ >foo8 : () => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^ interface I { new (t: T, u: U); @@ -416,7 +416,7 @@ interface I { foo3(t: T, u: U): T; >foo3 : (t: T, u: U) => T -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >t : T > : ^ >u : U @@ -424,7 +424,7 @@ interface I { foo4(t: T, u: U): T; >foo4 : (t: T, u: U) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >t : T > : ^ >u : U @@ -432,7 +432,7 @@ interface I { foo5(t: T, u: U): T; >foo5 : (t: T, u: U) => T -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >t : T > : ^ >u : U @@ -440,17 +440,17 @@ interface I { foo6(): T; >foo6 : () => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ foo7(u: U): T; >foo7 : (u: U) => T -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >u : U > : ^ foo8(): T; >foo8 : () => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ } var i: I; @@ -495,11 +495,11 @@ var r6 = i.foo3(d1, d1); // Derived >i.foo3(d1, d1) : Derived > : ^^^^^^^ >i.foo3 : (t: T, u: Derived) => T -> : ^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^ >i : I > : ^^^^^^^^^^^^^^^^ >foo3 : (t: T, u: Derived) => T -> : ^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^ >d1 : Derived > : ^^^^^^^ >d1 : Derived @@ -511,11 +511,11 @@ var r7 = i.foo4(d1, d2); // Base >i.foo4(d1, d2) : Base > : ^^^^ >i.foo4 : (t: Base, u: U) => Base -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^^^^ ^^^^^^^^^^^^ >i : I > : ^^^^^^^^^^^^^^^^ >foo4 : (t: Base, u: U) => Base -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^^^^ ^^^^^^^^^^^^ >d1 : Derived > : ^^^^^^^ >d2 : Derived2 @@ -527,11 +527,11 @@ var r8 = i.foo5(d1, d2); // Derived >i.foo5(d1, d2) : Derived > : ^^^^^^^ >i.foo5 : (t: T, u: U) => T -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >i : I > : ^^^^^^^^^^^^^^^^ >foo5 : (t: T, u: U) => T -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >d1 : Derived > : ^^^^^^^ >d2 : Derived2 @@ -543,11 +543,11 @@ var r8b = i.foo5(d2, d2); // Derived2 >i.foo5(d2, d2) : Derived2 > : ^^^^^^^^ >i.foo5 : (t: T, u: U) => T -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >i : I > : ^^^^^^^^^^^^^^^^ >foo5 : (t: T, u: U) => T -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >d2 : Derived2 > : ^^^^^^^^ >d2 : Derived2 @@ -559,11 +559,11 @@ var r9 = i.foo6(); // Derived >i.foo6() : Derived > : ^^^^^^^ >i.foo6 : () => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ >i : I > : ^^^^^^^^^^^^^^^^ >foo6 : () => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ var r10 = i.foo7(d1); // Base >r10 : Base @@ -571,11 +571,11 @@ var r10 = i.foo7(d1); // Base >i.foo7(d1) : Base > : ^^^^ >i.foo7 : (u: U) => T -> : ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >i : I > : ^^^^^^^^^^^^^^^^ >foo7 : (u: U) => T -> : ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >d1 : Derived > : ^^^^^^^ @@ -585,9 +585,9 @@ var r11 = i.foo8(); // Base >i.foo8() : Base > : ^^^^ >i.foo8 : () => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ >i : I > : ^^^^^^^^^^^^^^^^ >foo8 : () => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ diff --git a/tests/baselines/reference/genericCallWithConstraintsTypeArgumentInference2.types b/tests/baselines/reference/genericCallWithConstraintsTypeArgumentInference2.types index c21134dd7d8ae..c034b76f16adc 100644 --- a/tests/baselines/reference/genericCallWithConstraintsTypeArgumentInference2.types +++ b/tests/baselines/reference/genericCallWithConstraintsTypeArgumentInference2.types @@ -5,7 +5,7 @@ function foo(t: T) { >foo : (t: T) => U -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ >t : T > : ^ @@ -24,7 +24,7 @@ var r = foo(1); // ok >foo(1) : number > : ^^^^^^ >foo : (t: T) => U -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ >1 : 1 > : ^ @@ -34,7 +34,7 @@ var r2 = foo(null); // {} >foo(null) : any > : ^^^ >foo : (t: T) => U -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ var r3 = foo(new Object()); // {} >r3 : Object @@ -42,7 +42,7 @@ var r3 = foo(new Object()); // {} >foo(new Object()) : Object > : ^^^^^^ >foo : (t: T) => U -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ >new Object() : Object > : ^^^^^^ >Object : ObjectConstructor @@ -54,7 +54,7 @@ var r4 = foo(1); // error >foo(1) : Date > : ^^^^ >foo : (t: T) => U -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ >1 : 1 > : ^ @@ -64,7 +64,7 @@ var r5 = foo(new Date()); // no error >foo(new Date()) : Date > : ^^^^ >foo : (t: T) => U -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ >new Date() : Date > : ^^^^ >Date : DateConstructor diff --git a/tests/baselines/reference/genericCallWithConstructorTypedArguments5.types b/tests/baselines/reference/genericCallWithConstructorTypedArguments5.types index 0657114746617..2220e844528eb 100644 --- a/tests/baselines/reference/genericCallWithConstructorTypedArguments5.types +++ b/tests/baselines/reference/genericCallWithConstructorTypedArguments5.types @@ -17,11 +17,11 @@ function foo(arg: { cb: new(t: T) => U }) { >new arg.cb(null) : U > : ^ >arg.cb : new (t: T) => U -> : ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^^^^ >arg : { cb: new (t: T) => U; } -> : ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^^ >cb : new (t: T) => U -> : ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^^^^ } var arg: { cb: new(x: T) => string }; @@ -40,7 +40,7 @@ var r = foo(arg); // {} >foo : (arg: { cb: new (t: T) => U; }) => U > : ^ ^^ ^^ ^^ ^^^^^^ >arg : { cb: new (x: T) => string; } -> : ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ // more args not allowed var arg2: { cb: new (x: T, y: T) => string }; @@ -61,7 +61,7 @@ var r2 = foo(arg2); // error >foo : (arg: { cb: new (t: T) => U; }) => U > : ^ ^^ ^^ ^^ ^^^^^^ >arg2 : { cb: new (x: T, y: T) => string; } -> : ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ var arg3: { cb: new (x: string, y: number) => string }; >arg3 : { cb: new (x: string, y: number) => string; } @@ -81,7 +81,7 @@ var r3 = foo(arg3); // error >foo : (arg: { cb: new (t: T) => U; }) => U > : ^ ^^ ^^ ^^ ^^^^^^ >arg3 : { cb: new (x: string, y: number) => string; } -> : ^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ function foo2(arg: { cb: new(t: T, t2: T) => U }) { >foo2 : (arg: { cb: new (t: T, t2: T) => U; }) => U @@ -99,11 +99,11 @@ function foo2(arg: { cb: new(t: T, t2: T) => U }) { >new arg.cb(null, null) : U > : ^ >arg.cb : new (t: T, t2: T) => U -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >arg : { cb: new (t: T, t2: T) => U; } -> : ^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^^ >cb : new (t: T, t2: T) => U -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ } // fewer args ok @@ -115,7 +115,7 @@ var r4 = foo(arg); // {} >foo : (arg: { cb: new (t: T) => U; }) => U > : ^ ^^ ^^ ^^ ^^^^^^ >arg : { cb: new (x: T) => string; } -> : ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ var arg4: { cb: new (x: string) => string }; >arg4 : { cb: new (x: string) => string; } @@ -133,7 +133,7 @@ var r6 = foo(arg4); // string >foo : (arg: { cb: new (t: T) => U; }) => U > : ^ ^^ ^^ ^^ ^^^^^^ >arg4 : { cb: new (x: string) => string; } -> : ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ var arg5: { cb: new () => string }; >arg5 : { cb: new () => string; } @@ -149,5 +149,5 @@ var r7 = foo(arg5); // string >foo : (arg: { cb: new (t: T) => U; }) => U > : ^ ^^ ^^ ^^ ^^^^^^ >arg5 : { cb: new () => string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ diff --git a/tests/baselines/reference/genericCallWithFunctionTypedArguments.types b/tests/baselines/reference/genericCallWithFunctionTypedArguments.types index f2c8e9a0c38dd..351f95b2e325f 100644 --- a/tests/baselines/reference/genericCallWithFunctionTypedArguments.types +++ b/tests/baselines/reference/genericCallWithFunctionTypedArguments.types @@ -16,7 +16,7 @@ function foo(x: (a: T) => T) { >x(null) : T > : ^ >x : (a: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ } var r = foo((x: U) => ''); // {} @@ -75,7 +75,7 @@ function foo2(x: T, cb: (a: T) => U) { >cb(x) : U > : ^ >cb : (a: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >x : T > : ^ } @@ -144,7 +144,7 @@ function foo3(x: T, cb: (a: T) => U, y: U) { >cb(x) : U > : ^ >cb : (a: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >x : T > : ^ } diff --git a/tests/baselines/reference/genericCallWithFunctionTypedArguments2.types b/tests/baselines/reference/genericCallWithFunctionTypedArguments2.types index da78efbfc590a..05e4e0bd0dda1 100644 --- a/tests/baselines/reference/genericCallWithFunctionTypedArguments2.types +++ b/tests/baselines/reference/genericCallWithFunctionTypedArguments2.types @@ -16,7 +16,7 @@ function foo(x: new(a: T) => T) { >new x(null) : T > : ^ >x : new (a: T) => T -> : ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^^^^ } interface I { @@ -84,7 +84,7 @@ var r3b = foo(a); // any >foo : (x: new (a: T) => T) => T > : ^ ^^ ^^ ^^^^^^ >a : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ function foo2(x: T, cb: new(a: T) => U) { >foo2 : (x: T, cb: new (a: T) => U) => U @@ -100,7 +100,7 @@ function foo2(x: T, cb: new(a: T) => U) { >new cb(x) : U > : ^ >cb : new (a: T) => U -> : ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^^^^ >x : T > : ^ } @@ -127,7 +127,7 @@ var r4b = foo2(1, a); // any >1 : 1 > : ^ >a : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r5 = foo2(1, i); // any >r5 : number @@ -169,7 +169,7 @@ function foo3(x: T, cb: new(a: T) => U, y: U) { >new cb(x) : U > : ^ >cb : new (a: T) => U -> : ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^^^^ >x : T > : ^ } @@ -194,7 +194,7 @@ var r7b = foo3(null, a, ''); // any >foo3 : (x: T, cb: new (a: T) => U, y: U) => U > : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >a : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >'' : "" > : ^^ diff --git a/tests/baselines/reference/genericCallWithFunctionTypedArguments3.types b/tests/baselines/reference/genericCallWithFunctionTypedArguments3.types index 1aa0ffc51797e..ab90f25098cf6 100644 --- a/tests/baselines/reference/genericCallWithFunctionTypedArguments3.types +++ b/tests/baselines/reference/genericCallWithFunctionTypedArguments3.types @@ -39,11 +39,11 @@ var r = foo4(a); // T is {} (candidates boolean and string), U is any (candidate >foo4 : (cb: (x: T) => U) => U > : ^ ^^ ^^ ^^ ^^^^^^ >a : { (x: boolean): boolean; (x: string): any; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ var b: { ->b : { (x: boolean): T; (x: T_1): any; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ +>b : { (x: boolean): T; (x: T): any; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ (x: boolean): T; >x : boolean @@ -59,6 +59,6 @@ var r2 = foo4(b); // T is {} (candidates boolean and {}), U is any (candidates a >foo4(b) : any >foo4 : (cb: (x: T) => U) => U > : ^ ^^ ^^ ^^ ^^^^^^ ->b : { (x: boolean): T; (x: T_1): any; } -> : ^^^^^^ ^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^ +>b : { (x: boolean): T; (x: T): any; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ diff --git a/tests/baselines/reference/genericCallWithFunctionTypedArguments4.types b/tests/baselines/reference/genericCallWithFunctionTypedArguments4.types index ebb59c8556076..8ebc073251405 100644 --- a/tests/baselines/reference/genericCallWithFunctionTypedArguments4.types +++ b/tests/baselines/reference/genericCallWithFunctionTypedArguments4.types @@ -53,11 +53,11 @@ var r = foo4(a); // T is {} (candidates boolean and string), U is {} (candidates >foo4 : (cb: new (x: T) => U) => U > : ^ ^^ ^^ ^^ ^^^^^^ >a : { new (x: boolean): C; new (x: string): D; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ var b: { ->b : { new (x: boolean): T; new (x: T_1): any; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ +>b : { new (x: boolean): T; new (x: T): any; } +> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ new(x: boolean): T; >x : boolean @@ -73,6 +73,6 @@ var r2 = foo4(b); // T is {} (candidates boolean and {}), U is any (candidates a >foo4(b) : any >foo4 : (cb: new (x: T) => U) => U > : ^ ^^ ^^ ^^ ^^^^^^ ->b : { new (x: boolean): T; new (x: T_1): any; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +>b : { new (x: boolean): T; new (x: T): any; } +> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ diff --git a/tests/baselines/reference/genericCallWithFunctionTypedArguments5.types b/tests/baselines/reference/genericCallWithFunctionTypedArguments5.types index ce5b26e13bdc4..a513880423170 100644 --- a/tests/baselines/reference/genericCallWithFunctionTypedArguments5.types +++ b/tests/baselines/reference/genericCallWithFunctionTypedArguments5.types @@ -17,11 +17,11 @@ function foo(arg: { cb: (t: T) => U }) { >arg.cb(null) : U > : ^ >arg.cb : (t: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >arg : { cb: (t: T) => U; } -> : ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^^ >cb : (t: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ } var arg = { cb: (x: T) => '' }; @@ -105,11 +105,11 @@ function foo2(arg: { cb: (t: T, t2: T) => U }) { >arg.cb(null, null) : U > : ^ >arg.cb : (t: T, t2: T) => U -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >arg : { cb: (t: T, t2: T) => U; } -> : ^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^^ >cb : (t: T, t2: T) => U -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ } // fewer args ok diff --git a/tests/baselines/reference/genericCallWithGenericSignatureArguments.types b/tests/baselines/reference/genericCallWithGenericSignatureArguments.types index e84f4252015dc..e612b8ac17e76 100644 --- a/tests/baselines/reference/genericCallWithGenericSignatureArguments.types +++ b/tests/baselines/reference/genericCallWithGenericSignatureArguments.types @@ -24,7 +24,7 @@ function foo(a: (x: T) => T, b: (x: T) => T) { return r; >r : (x: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ } //var r1 = foo((x: number) => 1, (x: string) => ''); // error @@ -34,7 +34,7 @@ var r1b = foo((x) => 1, (x) => ''); // {} => {} >foo((x) => 1, (x) => '') : (x: unknown) => unknown > : ^ ^^^^^^^^^^^^^^^^^^^^^ >foo : (a: (x: T) => T, b: (x: T) => T) => (x: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(x) => 1 : (x: unknown) => number > : ^ ^^^^^^^^^^^^^^^^^^^^ >x : unknown @@ -54,7 +54,7 @@ var r2 = foo((x: Object) => null, (x: string) => ''); // Object => Object >foo((x: Object) => null, (x: string) => '') : (x: any) => any > : ^ ^^^^^^^^^^^^^ >foo : (a: (x: T) => T, b: (x: T) => T) => (x: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(x: Object) => null : (x: Object) => any > : ^ ^^ ^^^^^^^^ >x : Object @@ -72,7 +72,7 @@ var r3 = foo((x: number) => 1, (x: Object) => null); // number => number >foo((x: number) => 1, (x: Object) => null) : (x: any) => any > : ^ ^^^^^^^^^^^^^ >foo : (a: (x: T) => T, b: (x: T) => T) => (x: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >x : number @@ -90,7 +90,7 @@ var r3ii = foo((x: number) => 1, (x: number) => 1); // number => number >foo((x: number) => 1, (x: number) => 1) : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >foo : (a: (x: T) => T, b: (x: T) => T) => (x: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >x : number @@ -122,51 +122,51 @@ var b: { x: number; z?: number; }; var r4 = foo((x: typeof a) => a, (x: typeof b) => b); // typeof a => typeof a >r4 : (x: { x: number; y?: number; }) => { x: number; y?: number; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^ ^^^^^^ ^^^ >foo((x: typeof a) => a, (x: typeof b) => b) : (x: { x: number; y?: number; }) => { x: number; y?: number; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^ ^^^^^^ ^^^ >foo : (a: (x: T) => T, b: (x: T) => T) => (x: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(x: typeof a) => a : (x: typeof a) => { x: number; y?: number; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^^^^ ^^^ >x : { x: number; y?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >a : { x: number; y?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >a : { x: number; y?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >(x: typeof b) => b : (x: typeof b) => { x: number; z?: number; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^^^^ ^^^ >x : { x: number; z?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >b : { x: number; z?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >b : { x: number; z?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ var r5 = foo((x: typeof b) => b, (x: typeof a) => a); // typeof b => typeof b >r5 : (x: { x: number; z?: number; }) => { x: number; z?: number; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^ ^^^^^^ ^^^ >foo((x: typeof b) => b, (x: typeof a) => a) : (x: { x: number; z?: number; }) => { x: number; z?: number; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^ ^^^^^^ ^^^ >foo : (a: (x: T) => T, b: (x: T) => T) => (x: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(x: typeof b) => b : (x: typeof b) => { x: number; z?: number; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^^^^ ^^^ >x : { x: number; z?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >b : { x: number; z?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >b : { x: number; z?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >(x: typeof a) => a : (x: typeof a) => { x: number; y?: number; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^^^^ ^^^ >x : { x: number; y?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >a : { x: number; y?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >a : { x: number; y?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ function other(x: T) { >other : (x: T) => void @@ -180,7 +180,7 @@ function other(x: T) { >foo((a: T) => a, (b: T) => b) : (x: T) => T > : ^ ^^^^^^^^^ >foo : (a: (x: T_1) => T_1, b: (x: T_1) => T_1) => (x: T_1) => T_1 -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(a: T) => a : (a: T) => T > : ^ ^^ ^^^^^^ >a : T @@ -200,7 +200,7 @@ function other(x: T) { >foo((a) => a, (b) => b) : (x: unknown) => unknown > : ^ ^^^^^^^^^^^^^^^^^^^^^ >foo : (a: (x: T_1) => T_1, b: (x: T_1) => T_1) => (x: T_1) => T_1 -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(a) => a : (a: unknown) => unknown > : ^ ^^^^^^^^^^^^^^^^^^^^^ >a : unknown @@ -217,7 +217,7 @@ function other(x: T) { function other2(x: T) { >other2 : (x: T) => void -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ @@ -227,7 +227,7 @@ function other2(x: T) { >foo((a: T) => a, (b: T) => b) : (x: T) => T > : ^ ^^^^^^^^^ >foo : (a: (x: T_1) => T_1, b: (x: T_1) => T_1) => (x: T_1) => T_1 -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(a: T) => a : (a: T) => T > : ^ ^^ ^^^^^^ >a : T @@ -247,7 +247,7 @@ function other2(x: T) { >foo((a) => a, (b) => b) : (x: unknown) => unknown > : ^ ^^^^^^^^^^^^^^^^^^^^^ >foo : (a: (x: T_1) => T_1, b: (x: T_1) => T_1) => (x: T_1) => T_1 -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(a) => a : (a: unknown) => unknown > : ^ ^^^^^^^^^^^^^^^^^^^^^ >a : unknown @@ -276,7 +276,7 @@ function other2(x: T) { function foo2(a: (x: T) => T, b: (x: T) => T) { >foo2 : (a: (x: T) => T, b: (x: T) => T) => (x: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >a : (x: T) => T > : ^ ^^ ^^^^^ >x : T @@ -294,12 +294,12 @@ function foo2(a: (x: T) => T, b: (x: T) => T) { return r; >r : (x: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ } function other3(x: T) { >other3 : (x: T) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ @@ -309,7 +309,7 @@ function other3(x: T) { >foo2((a: Date) => a, (b: Date) => b) : (x: Date) => Date > : ^ ^^^^^^^^^^^^^^^ >foo2 : (a: (x: T_1) => T_1, b: (x: T_1) => T_1) => (x: T_1) => T_1 -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(a: Date) => a : (a: Date) => Date > : ^ ^^ ^^^^^^^^^ >a : Date diff --git a/tests/baselines/reference/genericCallWithGenericSignatureArguments2.types b/tests/baselines/reference/genericCallWithGenericSignatureArguments2.types index 5f9dd179b7781..5a80c00ffbea2 100644 --- a/tests/baselines/reference/genericCallWithGenericSignatureArguments2.types +++ b/tests/baselines/reference/genericCallWithGenericSignatureArguments2.types @@ -28,7 +28,7 @@ module onlyT { return r; >r : (x: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ } var r1: (x: {}) => {} = foo((x: number) => 1, (x: string) => ''); @@ -39,7 +39,7 @@ module onlyT { >foo((x: number) => 1, (x: string) => '') : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >foo : (a: (x: T) => T, b: (x: T) => T) => (x: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >x : number @@ -55,7 +55,7 @@ module onlyT { function other2(x: T) { >other2 : (x: T) => void -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ @@ -65,7 +65,7 @@ module onlyT { >foo((a: T) => a, (b: T) => b) : (x: T) => T > : ^ ^^^^^^^^^ >foo : (a: (x: T_1) => T_1, b: (x: T_1) => T_1) => (x: T_1) => T_1 -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(a: T) => a : (a: T) => T > : ^ ^^ ^^^^^^ >a : T @@ -105,7 +105,7 @@ module onlyT { function foo2(a: (x: T) => T, b: (x: T) => T) { >foo2 : (a: (x: T) => T, b: (x: T) => T) => (x: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >a : (x: T) => T > : ^ ^^ ^^^^^ >x : T @@ -123,12 +123,12 @@ module onlyT { return r; >r : (x: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ } function other3(x: T) { >other3 : (x: T) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ @@ -138,7 +138,7 @@ module onlyT { >foo2((a: T) => a, (b: T) => b) : (x: Date) => Date > : ^ ^^^^^^^^^^^^^^^ >foo2 : (a: (x: T_1) => T_1, b: (x: T_1) => T_1) => (x: T_1) => T_1 -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(a: T) => a : (a: T) => T > : ^ ^^ ^^^^^^ >a : T @@ -158,7 +158,7 @@ module onlyT { >foo2((a) => a, (b) => b) : (x: Date) => Date > : ^ ^^^^^^^^^^^^^^^ >foo2 : (a: (x: T_1) => T_1, b: (x: T_1) => T_1) => (x: T_1) => T_1 -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(a) => a : (a: Date) => Date > : ^ ^^^^^^^^^^^^^^^ >a : Date @@ -207,7 +207,7 @@ module onlyT { return r; >r : (x: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ } var r7 = foo3(E.A, (x) => E.A, (x) => F.A); // error @@ -216,7 +216,7 @@ module onlyT { >foo3(E.A, (x) => E.A, (x) => F.A) : (x: E) => E > : ^ ^^^^^^^^^ >foo3 : (x: T, a: (x: T) => T, b: (x: T) => T) => (x: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >E.A : E > : ^ >E : typeof E @@ -269,7 +269,7 @@ module TU { return r; >r : (x: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ } var r1: (x: {}) => {} = foo((x: number) => 1, (x: string) => ''); @@ -280,7 +280,7 @@ module TU { >foo((x: number) => 1, (x: string) => '') : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >foo : (a: (x: T) => T, b: (x: U) => U) => (x: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >x : number @@ -296,7 +296,7 @@ module TU { function other2(x: T) { >other2 : (x: T) => void -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ @@ -306,7 +306,7 @@ module TU { >foo((a: T) => a, (b: T) => b) : (x: T) => T > : ^ ^^^^^^^^^ >foo : (a: (x: T_1) => T_1, b: (x: U) => U) => (x: T_1) => T_1 -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(a: T) => a : (a: T) => T > : ^ ^^ ^^^^^^ >a : T @@ -345,7 +345,7 @@ module TU { function foo2(a: (x: T) => T, b: (x: U) => U) { >foo2 : (a: (x: T) => T, b: (x: U) => U) => (x: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >a : (x: T) => T > : ^ ^^ ^^^^^ >x : T @@ -363,12 +363,12 @@ module TU { return r; >r : (x: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ } function other3(x: T) { >other3 : (x: T) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ @@ -378,7 +378,7 @@ module TU { >foo2((a: T) => a, (b: T) => b) : (x: Date) => Date > : ^ ^^^^^^^^^^^^^^^ >foo2 : (a: (x: T_1) => T_1, b: (x: U) => U) => (x: T_1) => T_1 -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(a: T) => a : (a: T) => T > : ^ ^^ ^^^^^^ >a : T @@ -398,7 +398,7 @@ module TU { >foo2((a) => a, (b) => b) : (x: Date) => Date > : ^ ^^^^^^^^^^^^^^^ >foo2 : (a: (x: T_1) => T_1, b: (x: U) => U) => (x: T_1) => T_1 -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(a) => a : (a: Date) => Date > : ^ ^^^^^^^^^^^^^^^ >a : Date @@ -435,7 +435,7 @@ module TU { >x : T > : ^ >b : (x: U) => U -> : ^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : U > : ^ @@ -447,7 +447,7 @@ module TU { return r; >r : (x: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ } var r7 = foo3(E.A, (x) => E.A, (x) => F.A); @@ -456,7 +456,7 @@ module TU { >foo3(E.A, (x) => E.A, (x) => F.A) : (x: E) => E > : ^ ^^^^^^^^^ >foo3 : (x: T, a: (x: T) => T, b: (x: U) => U) => (x: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >E.A : E > : ^ >E : typeof E diff --git a/tests/baselines/reference/genericCallWithGenericSignatureArguments3.types b/tests/baselines/reference/genericCallWithGenericSignatureArguments3.types index b10f8c24186ed..cb753a16d6098 100644 --- a/tests/baselines/reference/genericCallWithGenericSignatureArguments3.types +++ b/tests/baselines/reference/genericCallWithGenericSignatureArguments3.types @@ -26,7 +26,7 @@ function foo(x: T, a: (x: T) => T, b: (x: T) => T) { return r; >r : (x: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ } var r1 = foo('', (x: string) => '', (x: Object) => null); // any => any @@ -35,7 +35,7 @@ var r1 = foo('', (x: string) => '', (x: Object) => null); // any => any >foo('', (x: string) => '', (x: Object) => null) : (x: any) => any > : ^ ^^^^^^^^^^^^^ >foo : (x: T, a: (x: T) => T, b: (x: T) => T) => (x: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >'' : "" > : ^^ >(x: string) => '' : (x: string) => string @@ -55,7 +55,7 @@ var r1ii = foo('', (x) => '', (x) => null); // string => string >foo('', (x) => '', (x) => null) : (x: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >foo : (x: T, a: (x: T) => T, b: (x: T) => T) => (x: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >'' : "" > : ^^ >(x) => '' : (x: string) => string @@ -75,7 +75,7 @@ var r2 = foo('', (x: string) => '', (x: Object) => ''); // string => string >foo('', (x: string) => '', (x: Object) => '') : (x: Object) => Object > : ^ ^^^^^^^^^^^^^^^^^^^ >foo : (x: T, a: (x: T) => T, b: (x: T) => T) => (x: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >'' : "" > : ^^ >(x: string) => '' : (x: string) => string @@ -97,7 +97,7 @@ var r3 = foo(null, (x: Object) => '', (x: string) => ''); // Object => Object >foo(null, (x: Object) => '', (x: string) => '') : (x: Object) => Object > : ^ ^^^^^^^^^^^^^^^^^^^ >foo : (x: T, a: (x: T) => T, b: (x: T) => T) => (x: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(x: Object) => '' : (x: Object) => string > : ^ ^^ ^^^^^^^^^^^ >x : Object @@ -117,7 +117,7 @@ var r4 = foo(null, (x) => '', (x) => ''); // any => any >foo(null, (x) => '', (x) => '') : (x: any) => any > : ^ ^^^^^^^^^^^^^ >foo : (x: T, a: (x: T) => T, b: (x: T) => T) => (x: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(x) => '' : (x: any) => string > : ^ ^^^^^^^^^^^^^^^^ >x : any @@ -137,7 +137,7 @@ var r5 = foo(new Object(), (x) => '', (x) => ''); // Object => Object >foo(new Object(), (x) => '', (x) => '') : (x: Object) => Object > : ^ ^^^^^^^^^^^^^^^^^^^ >foo : (x: T, a: (x: T) => T, b: (x: T) => T) => (x: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >new Object() : Object > : ^^^^^^ >Object : ObjectConstructor @@ -173,7 +173,7 @@ var r6 = foo(E.A, (x: number) => E.A, (x: F) => F.A); // number => number >foo(E.A, (x: number) => E.A, (x: F) => F.A) : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >foo : (x: T, a: (x: T) => T, b: (x: T) => T) => (x: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >E.A : E > : ^ >E : typeof E @@ -224,7 +224,7 @@ function foo2(x: T, a: (x: T) => U, b: (x: T) => U) { return r; >r : (x: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ } var r8 = foo2('', (x) => '', (x) => null); // string => string @@ -233,7 +233,7 @@ var r8 = foo2('', (x) => '', (x) => null); // string => string >foo2('', (x) => '', (x) => null) : (x: string) => any > : ^ ^^^^^^^^^^^^^^^^ >foo2 : (x: T, a: (x: T) => U, b: (x: T) => U) => (x: T) => U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >'' : "" > : ^^ >(x) => '' : (x: string) => string @@ -253,7 +253,7 @@ var r9 = foo2(null, (x) => '', (x) => ''); // any => any >foo2(null, (x) => '', (x) => '') : (x: any) => string > : ^ ^^^^^^^^^^^^^^^^ >foo2 : (x: T, a: (x: T) => U, b: (x: T) => U) => (x: T) => U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(x) => '' : (x: any) => string > : ^ ^^^^^^^^^^^^^^^^ >x : any @@ -273,7 +273,7 @@ var r10 = foo2(null, (x: Object) => '', (x: string) => ''); // Object => Object >foo2(null, (x: Object) => '', (x: string) => '') : (x: Object) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >foo2 : (x: T, a: (x: T) => U, b: (x: T) => U) => (x: T) => U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(x: Object) => '' : (x: Object) => string > : ^ ^^ ^^^^^^^^^^^ >x : Object @@ -295,13 +295,13 @@ var x: (a: string) => boolean; var r11 = foo2(x, (a1: (y: string) => string) => (n: Object) => 1, (a2: (z: string) => string) => 2); // error >r11 : (x: (a: string) => boolean) => (n: Object) => 1 -> : ^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^^ >foo2(x, (a1: (y: string) => string) => (n: Object) => 1, (a2: (z: string) => string) => 2) : (x: (a: string) => boolean) => (n: Object) => 1 -> : ^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^^ >foo2 : (x: T, a: (x: T) => U, b: (x: T) => U) => (x: T) => U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >x : (a: string) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(a1: (y: string) => string) => (n: Object) => 1 : (a1: (y: string) => string) => (n: Object) => 1 > : ^ ^^ ^^^^^^ ^^ ^^^^^^ >a1 : (y: string) => string @@ -329,9 +329,9 @@ var r12 = foo2(x, (a1: (y: string) => boolean) => (n: Object) => 1, (a2: (z: str >foo2(x, (a1: (y: string) => boolean) => (n: Object) => 1, (a2: (z: string) => boolean) => 2) : (x: (z: string) => boolean) => (n: Object) => 1 > : ^ ^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^^ >foo2 : (x: T, a: (x: T) => U, b: (x: T) => U) => (x: T) => U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >x : (a: string) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(a1: (y: string) => boolean) => (n: Object) => 1 : (a1: (y: string) => boolean) => (n: Object) => 1 > : ^ ^^ ^^^^^^ ^^ ^^^^^^ >a1 : (y: string) => boolean diff --git a/tests/baselines/reference/genericCallWithNonSymmetricSubtypes.types b/tests/baselines/reference/genericCallWithNonSymmetricSubtypes.types index de8d7869e03ac..a72679daf0819 100644 --- a/tests/baselines/reference/genericCallWithNonSymmetricSubtypes.types +++ b/tests/baselines/reference/genericCallWithNonSymmetricSubtypes.types @@ -39,27 +39,27 @@ var b: { x: number; z?: number; }; var r = foo(a, b); // { x: number; y?: number; }; >r : { x: number; y?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >foo(a, b) : { x: number; y?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >foo : (x: T, y: T) => T > : ^ ^^ ^^ ^^ ^^ ^^^^^^ >a : { x: number; y?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >b : { x: number; z?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ var r2 = foo(b, a); // { x: number; z?: number; }; >r2 : { x: number; z?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >foo(b, a) : { x: number; z?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >foo : (x: T, y: T) => T > : ^ ^^ ^^ ^^ ^^ ^^^^^^ >b : { x: number; z?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >a : { x: number; y?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ var x: { x: number; }; >x : { x: number; } @@ -75,75 +75,75 @@ var y: { x?: number; }; var r3 = foo(a, x); // { x: number; y?: number; }; >r3 : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >foo(a, x) : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >foo : (x: T, y: T) => T > : ^ ^^ ^^ ^^ ^^ ^^^^^^ >a : { x: number; y?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >x : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var r4 = foo(x, a); // { x: number; }; >r4 : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >foo(x, a) : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >foo : (x: T, y: T) => T > : ^ ^^ ^^ ^^ ^^ ^^^^^^ >x : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : { x: number; y?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ var r5 = foo(a, y); // { x?: number; }; >r5 : { x?: number; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >foo(a, y) : { x?: number; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >foo : (x: T, y: T) => T > : ^ ^^ ^^ ^^ ^^ ^^^^^^ >a : { x: number; y?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >y : { x?: number; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ var r5 = foo(y, a); // { x?: number; }; >r5 : { x?: number; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >foo(y, a) : { x?: number; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >foo : (x: T, y: T) => T > : ^ ^^ ^^ ^^ ^^ ^^^^^^ >y : { x?: number; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >a : { x: number; y?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ var r6 = foo(x, y); // { x?: number; }; >r6 : { x?: number; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >foo(x, y) : { x?: number; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >foo : (x: T, y: T) => T > : ^ ^^ ^^ ^^ ^^ ^^^^^^ >x : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >y : { x?: number; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ var r6 = foo(y, x); // { x?: number; }; >r6 : { x?: number; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >foo(y, x) : { x?: number; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >foo : (x: T, y: T) => T > : ^ ^^ ^^ ^^ ^^ ^^^^^^ >y : { x?: number; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >x : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var s1: (x: Object) => string; >s1 : (x: Object) => string @@ -159,25 +159,25 @@ var s2: (x: string) => string; var r7 = foo(s1, s2); // (x: Object) => string; >r7 : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo(s1, s2) : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo : (x: T, y: T) => T > : ^ ^^ ^^ ^^ ^^ ^^^^^^ >s1 : (x: Object) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >s2 : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r8 = foo(s2, s1); // (x: string) => string; >r8 : (x: Object) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo(s2, s1) : (x: Object) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo : (x: T, y: T) => T > : ^ ^^ ^^ ^^ ^^ ^^^^^^ >s2 : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >s1 : (x: Object) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ diff --git a/tests/baselines/reference/genericCallWithObjectLiteralArgs.types b/tests/baselines/reference/genericCallWithObjectLiteralArgs.types index 4786c9bbb7a96..fc7a32d46610f 100644 --- a/tests/baselines/reference/genericCallWithObjectLiteralArgs.types +++ b/tests/baselines/reference/genericCallWithObjectLiteralArgs.types @@ -13,7 +13,7 @@ function foo(x: { bar: T; baz: T }) { return x; >x : { bar: T; baz: T; } -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ } var r = foo({ bar: 1, baz: '' }); // error @@ -22,7 +22,7 @@ var r = foo({ bar: 1, baz: '' }); // error >foo({ bar: 1, baz: '' }) : { bar: number; baz: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (x: { bar: T; baz: T; }) => { bar: T; baz: T; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^ >{ bar: 1, baz: '' } : { bar: number; baz: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >bar : number @@ -40,7 +40,7 @@ var r2 = foo({ bar: 1, baz: 1 }); // T = number >foo({ bar: 1, baz: 1 }) : { bar: number; baz: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (x: { bar: T; baz: T; }) => { bar: T; baz: T; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^ >{ bar: 1, baz: 1 } : { bar: number; baz: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >bar : number @@ -54,21 +54,21 @@ var r2 = foo({ bar: 1, baz: 1 }); // T = number var r3 = foo({ bar: foo, baz: foo }); // T = typeof foo >r3 : { bar: (x: { bar: T; baz: T; }) => { bar: T; baz: T; }; baz: (x: { bar: T; baz: T; }) => { bar: T; baz: T; }; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^ >foo({ bar: foo, baz: foo }) : { bar: (x: { bar: T; baz: T; }) => { bar: T; baz: T; }; baz: (x: { bar: T; baz: T; }) => { bar: T; baz: T; }; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^ >foo : (x: { bar: T; baz: T; }) => { bar: T; baz: T; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^ >{ bar: foo, baz: foo } : { bar: (x: { bar: T; baz: T; }) => { bar: T; baz: T; }; baz: (x: { bar: T; baz: T; }) => { bar: T; baz: T; }; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^ >bar : (x: { bar: T; baz: T; }) => { bar: T; baz: T; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^ >foo : (x: { bar: T; baz: T; }) => { bar: T; baz: T; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^ >baz : (x: { bar: T; baz: T; }) => { bar: T; baz: T; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^ >foo : (x: { bar: T; baz: T; }) => { bar: T; baz: T; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^ var r4 = foo({ bar: 1, baz: '' }); // T = Object >r4 : { bar: Object; baz: Object; } @@ -76,7 +76,7 @@ var r4 = foo({ bar: 1, baz: '' }); // T = Object >foo({ bar: 1, baz: '' }) : { bar: Object; baz: Object; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (x: { bar: T; baz: T; }) => { bar: T; baz: T; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^ >{ bar: 1, baz: '' } : { bar: number; baz: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >bar : number diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgs2.types b/tests/baselines/reference/genericCallWithObjectTypeArgs2.types index 781c55f705264..4d2825da3dd2a 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgs2.types +++ b/tests/baselines/reference/genericCallWithObjectTypeArgs2.types @@ -33,7 +33,7 @@ class Derived2 extends Base { // returns {}[] function f(a: { x: T; y: U }) { >f : (a: { x: T; y: U; }) => (T | U)[] -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ >a : { x: T; y: U; } > : ^^^^^ ^^^^^ ^^^ >x : T @@ -47,13 +47,13 @@ function f(a: { x: T; y: U }) { >a.x : T > : ^ >a : { x: T; y: U; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >x : T > : ^ >a.y : U > : ^ >a : { x: T; y: U; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >y : U > : ^ } @@ -64,7 +64,7 @@ var r = f({ x: new Derived(), y: new Derived2() }); // {}[] >f({ x: new Derived(), y: new Derived2() }) : (Derived | Derived2)[] > : ^^^^^^^^^^^^^^^^^^^^^^ >f : (a: { x: T; y: U; }) => (T | U)[] -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ >{ x: new Derived(), y: new Derived2() } : { x: Derived; y: Derived2; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : Derived @@ -86,7 +86,7 @@ var r2 = f({ x: new Base(), y: new Derived2() }); // {}[] >f({ x: new Base(), y: new Derived2() }) : (Base | Derived2)[] > : ^^^^^^^^^^^^^^^^^^^ >f : (a: { x: T; y: U; }) => (T | U)[] -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ >{ x: new Base(), y: new Derived2() } : { x: Base; y: Derived2; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : Base @@ -105,7 +105,7 @@ var r2 = f({ x: new Base(), y: new Derived2() }); // {}[] function f2(a: { x: T; y: U }) { >f2 : (a: { x: T; y: U; }) => (x: T) => U -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ >a : { x: T; y: U; } > : ^^^^^ ^^^^^ ^^^ >x : T @@ -121,7 +121,7 @@ function f2(a: { x: T; y: U }) { >a.y : U > : ^ >a : { x: T; y: U; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >y : U > : ^ } @@ -132,7 +132,7 @@ var r3 = f2({ x: new Derived(), y: new Derived2() }); // Derived => Derived2 >f2({ x: new Derived(), y: new Derived2() }) : (x: Derived) => Derived2 > : ^ ^^^^^^^^^^^^^^^^^^^^^^ >f2 : (a: { x: T; y: U; }) => (x: T) => U -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ >{ x: new Derived(), y: new Derived2() } : { x: Derived; y: Derived2; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : Derived @@ -168,7 +168,7 @@ var r4 = f2(i); // Base => Derived >f2(i) : (x: Base) => Derived > : ^ ^^^^^^^^^^^^^^^^^^ >f2 : (a: { x: T; y: U; }) => (x: T) => U -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ >i : I > : ^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints.types b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints.types index f7327103129b9..9ae1727521f8c 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints.types +++ b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints.types @@ -37,7 +37,7 @@ class X { function foo(t: X, t2: X) { >foo : (t: X, t2: X) => T -> : ^ ^^^^^^^^^^^^^^ ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ >x : string > : ^^^^^^ >t : X @@ -76,7 +76,7 @@ var r = foo(c1, d1); >foo(c1, d1) : C > : ^ >foo : (t: X, t2: X) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ >c1 : X > : ^^^^ >d1 : X @@ -88,7 +88,7 @@ var r2 = foo(c1, c1); >foo(c1, c1) : C > : ^ >foo : (t: X, t2: X) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ >c1 : X > : ^^^^ >c1 : X @@ -96,7 +96,7 @@ var r2 = foo(c1, c1); function foo2(t: X, t2: X) { >foo2 : (t: X, t2: X) => T -> : ^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ >t : X > : ^^^^ >t2 : X @@ -117,7 +117,7 @@ var r = foo2(c1, d1); >foo2(c1, d1) : C > : ^ >foo2 : (t: X, t2: X) => T -> : ^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ >c1 : X > : ^^^^ >d1 : X @@ -129,7 +129,7 @@ var r2 = foo2(c1, c1); >foo2(c1, c1) : C > : ^ >foo2 : (t: X, t2: X) => T -> : ^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ >c1 : X > : ^^^^ >c1 : X diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints2.types b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints2.types index c637dbbb322c7..03bf9f9d8b98e 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints2.types +++ b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints2.types @@ -25,7 +25,7 @@ class Derived extends Base { function f(x: { foo: T; bar: T }) { >f : (x: { foo: T; bar: T; }) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ >x : { foo: T; bar: T; } > : ^^^^^^^ ^^^^^^^ ^^^ >foo : T @@ -47,7 +47,7 @@ var r = f({ foo: new Base(), bar: new Derived() }); >f({ foo: new Base(), bar: new Derived() }) : Base > : ^^^^ >f : (x: { foo: T; bar: T; }) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ >{ foo: new Base(), bar: new Derived() } : { foo: Base; bar: Derived; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : Base @@ -69,7 +69,7 @@ var r2 = f({ foo: new Derived(), bar: new Derived() }); >f({ foo: new Derived(), bar: new Derived() }) : Derived > : ^^^^^^^ >f : (x: { foo: T; bar: T; }) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ >{ foo: new Derived(), bar: new Derived() } : { foo: Derived; bar: Derived; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : Derived @@ -93,7 +93,7 @@ interface I { } function f2(x: I) { >f2 : (x: I) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ >x : I > : ^^^^ @@ -115,14 +115,14 @@ var r3 = f2(i); >f2(i) : Derived > : ^^^^^^^ >f2 : (x: I) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ >i : I > : ^^^^^^^^^^ function f3(x: T, y: (a: T) => T) { >f3 : (x: T, y: (a: T) => T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ >x : T > : ^ >y : (a: T) => T @@ -134,7 +134,7 @@ function f3(x: T, y: (a: T) => T) { >y(null) : T > : ^ >y : (a: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ } var r4 = f3(new Base(), x => x); >r4 : Base @@ -142,7 +142,7 @@ var r4 = f3(new Base(), x => x); >f3(new Base(), x => x) : Base > : ^^^^ >f3 : (x: T, y: (a: T) => T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ >new Base() : Base > : ^^^^ >Base : typeof Base @@ -160,7 +160,7 @@ var r5 = f3(new Derived(), x => x); >f3(new Derived(), x => x) : Derived > : ^^^^^^^ >f3 : (x: T, y: (a: T) => T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ >new Derived() : Derived > : ^^^^^^^ >Derived : typeof Derived @@ -176,13 +176,13 @@ var r6 = f3(null, null); // any >r6 : any >f3(null, null) : any >f3 : (x: T, y: (a: T) => T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ var r7 = f3(null, x => x); // any >r7 : any >f3(null, x => x) : any >f3 : (x: T, y: (a: T) => T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ >x => x : (x: any) => any > : ^ ^^^^^^^^^^^^^ >x : any diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints3.types b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints3.types index b28b1c018392a..7c56096b2fb23 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints3.types +++ b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints3.types @@ -34,7 +34,7 @@ class Derived2 extends Base { function f(a: { x: T; y: T }) { >f : (a: { x: T; y: T; }) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ >a : { x: T; y: T; } > : ^^^^^ ^^^^^ ^^^ >x : T @@ -57,7 +57,7 @@ var r1 = f({ x: new Derived(), y: new Derived2() }); // error because neither is >f({ x: new Derived(), y: new Derived2() }) : Derived > : ^^^^^^^ >f : (a: { x: T; y: T; }) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ >{ x: new Derived(), y: new Derived2() } : { x: Derived; y: Derived2; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : Derived @@ -75,7 +75,7 @@ var r1 = f({ x: new Derived(), y: new Derived2() }); // error because neither is function f2(a: U) { >f2 : (a: U) => T -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ >x : T > : ^ >y : T @@ -98,7 +98,7 @@ var r2 = f2({ x: new Derived(), y: new Derived2() }); // ok >f2({ x: new Derived(), y: new Derived2() }) : Base > : ^^^^ >f2 : (a: U) => T -> : ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ >{ x: new Derived(), y: new Derived2() } : { x: Derived; y: Derived2; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : Derived @@ -120,7 +120,7 @@ var r3 = f2({ x: new Derived(), y: new Derived2() }); // ok >f2({ x: new Derived(), y: new Derived2() }) : Base > : ^^^^ >f2 : (a: U) => T -> : ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ >{ x: new Derived(), y: new Derived2() } : { x: Derived; y: Derived2; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : Derived @@ -139,7 +139,7 @@ var r3 = f2({ x: new Derived(), y: new Derived2() }); // ok function f3(y: (a: T) => T, x: T) { >f3 : (y: (a: T) => T, x: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ >y : (a: T) => T > : ^ ^^ ^^^^^ >a : T @@ -151,7 +151,7 @@ function f3(y: (a: T) => T, x: T) { >y(null) : T > : ^ >y : (a: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ } // all ok - second argument is processed before x is fixed @@ -161,7 +161,7 @@ var r4 = f3(x => x, new Base()); >f3(x => x, new Base()) : Base > : ^^^^ >f3 : (y: (a: T) => T, x: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ >x => x : (x: Base) => Base > : ^ ^^^^^^^^^^^^^^^ >x : Base @@ -179,7 +179,7 @@ var r5 = f3(x => x, new Derived()); >f3(x => x, new Derived()) : Derived > : ^^^^^^^ >f3 : (y: (a: T) => T, x: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ >x => x : (x: Derived) => Derived > : ^ ^^^^^^^^^^^^^^^^^^^^^ >x : Derived @@ -197,7 +197,7 @@ var r6 = f3(x => x, null); >f3(x => x, null) : any > : ^^^ >f3 : (y: (a: T) => T, x: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ >x => x : (x: any) => any > : ^ ^^^^^^^^^^^^^ >x : any diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints4.types b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints4.types index 0ac391888cade..0ce908833d273 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints4.types +++ b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints4.types @@ -27,7 +27,7 @@ class D { function foo(t: T, t2: U) { >foo : (t: T, t2: U) => (x: T) => U -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ >t : T > : ^ >t2 : U @@ -56,7 +56,7 @@ var r = foo(c, d); >foo(c, d) : (x: C) => D > : ^ ^^^^^^^^^ >foo : (t: T, t2: U) => (x: T) => U -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ >c : C > : ^ >d : D @@ -68,7 +68,7 @@ var r2 = foo(d, c); // error because C does not extend D >foo(d, c) : (x: D) => D > : ^ ^^^^^^^^^ >foo : (t: T, t2: U) => (x: T) => U -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ >d : D > : ^ >c : C @@ -80,7 +80,7 @@ var r3 = foo(c, { x: '', foo: c }); >foo(c, { x: '', foo: c }) : (x: C) => { x: string; foo: C; } > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (t: T, t2: U) => (x: T) => U -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ >c : C > : ^ >{ x: '', foo: c } : { x: string; foo: C; } @@ -100,7 +100,7 @@ var r4 = foo(null, null); >foo(null, null) : (x: any) => any > : ^ ^^^^^^^^^^^^^ >foo : (t: T, t2: U) => (x: T) => U -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ var r5 = foo({}, null); >r5 : (x: {}) => any @@ -108,7 +108,7 @@ var r5 = foo({}, null); >foo({}, null) : (x: {}) => any > : ^ ^^^^^^^^^^^^ >foo : (t: T, t2: U) => (x: T) => U -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ >{} : {} > : ^^ @@ -118,7 +118,7 @@ var r6 = foo(null, {}); >foo(null, {}) : (x: any) => {} > : ^ ^^^^^^^^^^^^ >foo : (t: T, t2: U) => (x: T) => U -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ >{} : {} > : ^^ @@ -128,7 +128,7 @@ var r7 = foo({}, {}); >foo({}, {}) : (x: {}) => {} > : ^ ^^^^^^^^^^^ >foo : (t: T, t2: U) => (x: T) => U -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ >{} : {} > : ^^ >{} : {} @@ -140,7 +140,7 @@ var r8 = foo(() => { }, () => { }); >foo(() => { }, () => { }) : (x: () => void) => () => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (t: T, t2: U) => (x: T) => U -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ >() => { } : () => void > : ^^^^^^^^^^ >() => { } : () => void @@ -152,7 +152,7 @@ var r9 = foo(() => { }, () => 1); >foo(() => { }, () => 1) : (x: () => void) => () => number > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (t: T, t2: U) => (x: T) => U -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ >() => { } : () => void > : ^^^^^^^^^^ >() => 1 : () => number @@ -162,7 +162,7 @@ var r9 = foo(() => { }, () => 1); function other() { >other : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^ var r4 = foo(c, d); >r4 : (x: C) => D @@ -170,7 +170,7 @@ function other() { >foo(c, d) : (x: C) => D > : ^ ^^^^^^^^^ >foo : (t: T_1, t2: U_1) => (x: T_1) => U_1 -> : ^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^ >c : C > : ^ >d : D @@ -182,7 +182,7 @@ function other() { >foo(c, d) : (x: T) => U > : ^ ^^^^^^^^^ >foo : (t: T_1, t2: U_1) => (x: T_1) => U_1 -> : ^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^ >c : C > : ^ >d : D diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints5.types b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints5.types index 1c19e5b8877a1..68e2d93969126 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints5.types +++ b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints5.types @@ -27,7 +27,7 @@ class D { function foo(t: T, t2: U) { >foo : (t: T, t2: U) => (x: T) => U -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ >t : T > : ^ >t2 : U @@ -56,7 +56,7 @@ var r2 = foo(d, c); // the constraints are self-referencing, no downstream error >foo(d, c) : (x: D) => D > : ^ ^^^^^^^^^ >foo : (t: T, t2: U) => (x: T) => U -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ >d : D > : ^ >c : C @@ -68,7 +68,7 @@ var r9 = foo(() => 1, () => { }); // the constraints are self-referencing, no do >foo(() => 1, () => { }) : (x: () => number) => () => number > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (t: T, t2: U) => (x: T) => U -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ >() => 1 : () => number > : ^^^^^^^^^^^^ >1 : 1 @@ -78,7 +78,7 @@ var r9 = foo(() => 1, () => { }); // the constraints are self-referencing, no do function other() { >other : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^ var r5 = foo(c, d); // error >r5 : (x: T) => U @@ -86,7 +86,7 @@ function other() { >foo(c, d) : (x: T) => U > : ^ ^^^^^^^^^ >foo : (t: T_1, t2: U_1) => (x: T_1) => U_1 -> : ^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^ >c : C > : ^ >d : D diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgsAndIndexers.types b/tests/baselines/reference/genericCallWithObjectTypeArgsAndIndexers.types index 0c2b984cef2e7..5c86d6decca34 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgsAndIndexers.types +++ b/tests/baselines/reference/genericCallWithObjectTypeArgsAndIndexers.types @@ -39,7 +39,7 @@ var r = foo(a); function other(arg: T) { >other : (arg: T) => void -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >arg : T > : ^ diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgsAndIndexersErrors.types b/tests/baselines/reference/genericCallWithObjectTypeArgsAndIndexersErrors.types index 5ac7a59b4b32c..c7189c67556b1 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgsAndIndexersErrors.types +++ b/tests/baselines/reference/genericCallWithObjectTypeArgsAndIndexersErrors.types @@ -46,7 +46,7 @@ function other(arg: T) { function other3(arg: T) { >other3 : (arg: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >arg : T > : ^ diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgsAndInitializers.types b/tests/baselines/reference/genericCallWithObjectTypeArgsAndInitializers.types index b7e29f886e8f7..02413c04bfac7 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgsAndInitializers.types +++ b/tests/baselines/reference/genericCallWithObjectTypeArgsAndInitializers.types @@ -23,7 +23,7 @@ function foo2(x: T = undefined) { return x; } // ok function foo3(x: T = 1) { } // error >foo3 : (x?: T) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ >x : T > : ^ >1 : 1 @@ -31,7 +31,7 @@ function foo3(x: T = 1) { } // error function foo4(x: T, y: U = x) { } // error >foo4 : (x: T, y?: U) => void -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ >x : T > : ^ >y : U @@ -41,7 +41,7 @@ function foo4(x: T, y: U = x) { } // error function foo5(x: U, y: T = x) { } // ok >foo5 : (x: U, y?: T) => void -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ >x : U > : ^ >y : T @@ -51,7 +51,7 @@ function foo5(x: U, y: T = x) { } // ok function foo6(x: T, y: U, z: V = y) { } // error >foo6 : (x: T, y: U, z?: V) => void -> : ^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ >x : T > : ^ >y : U @@ -63,7 +63,7 @@ function foo6(x: T, y: U, z: V = y) { } // error function foo7(x: V, y: U = x) { } // should be ok >foo7 : (x: V, y?: U) => void -> : ^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ >x : V > : ^ >y : U diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgsAndNumericIndexer.types b/tests/baselines/reference/genericCallWithObjectTypeArgsAndNumericIndexer.types index 3a116319775cc..65c6fb0c1a17d 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgsAndNumericIndexer.types +++ b/tests/baselines/reference/genericCallWithObjectTypeArgsAndNumericIndexer.types @@ -55,7 +55,7 @@ function other(arg: T) { function other2(arg: T) { >other2 : (arg: T) => void -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >arg : T > : ^ @@ -88,7 +88,7 @@ function other2(arg: T) { function other3(arg: T) { >other3 : (arg: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >arg : T > : ^ diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgsAndStringIndexer.types b/tests/baselines/reference/genericCallWithObjectTypeArgsAndStringIndexer.types index edd4d0a6e68c2..53001c07b07ab 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgsAndStringIndexer.types +++ b/tests/baselines/reference/genericCallWithObjectTypeArgsAndStringIndexer.types @@ -55,7 +55,7 @@ function other(arg: T) { function other2(arg: T) { >other2 : (arg: T) => void -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >arg : T > : ^ @@ -88,7 +88,7 @@ function other2(arg: T) { function other3(arg: T) { >other3 : (arg: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >arg : T > : ^ diff --git a/tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments.types b/tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments.types index 897bf54246b19..0575cf67290aa 100644 --- a/tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments.types +++ b/tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments.types @@ -25,15 +25,15 @@ module NonGenericParameter { >foo4 : (cb: typeof a) => boolean > : ^ ^^ ^^^^^^^^^^^^ >cb : { new (x: boolean): boolean; new (x: string): string; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ >a : { new (x: boolean): boolean; new (x: string): string; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ return new cb(null); >new cb(null) : boolean > : ^^^^^^^ >cb : { new (x: boolean): boolean; new (x: string): string; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ } var r = foo4(a); @@ -44,7 +44,7 @@ module NonGenericParameter { >foo4 : (cb: typeof a) => boolean > : ^ ^^ ^^^^^^^^^^^^ >a : { new (x: boolean): boolean; new (x: string): string; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ var b: { new (x: T): T }; >b : new (x: T) => T @@ -60,7 +60,7 @@ module NonGenericParameter { >foo4 : (cb: typeof a) => boolean > : ^ ^^ ^^^^^^^^^^^^ >b : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ } module GenericParameter { @@ -79,7 +79,7 @@ module GenericParameter { return cb; >cb : { new (x: T): string; new (x: number): T; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ } var a: { @@ -96,17 +96,17 @@ module GenericParameter { } var r5 = foo5(a); // new{} => string; new(x:number) => {} >r5 : { new (x: boolean): string; new (x: number): boolean; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^^^^^ >foo5(a) : { new (x: boolean): string; new (x: number): boolean; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^^^^^ >foo5 : (cb: { new (x: T): string; new (x: number): T; }) => { new (x: T): string; new (x: number): T; } -> : ^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ >a : { new (x: boolean): string; new (x: number): boolean; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ var b: { new(x: T): string; new(x: number): T; } ->b : { new (x: T): string; new (x: number): T_1; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ +>b : { new (x: T): string; new (x: number): T; } +> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ >x : number @@ -114,13 +114,13 @@ module GenericParameter { var r7 = foo5(b); // new any => string; new(x:number) => any >r7 : { new (x: unknown): string; new (x: number): unknown; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^^^^^ >foo5(b) : { new (x: unknown): string; new (x: number): unknown; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^^^^^ >foo5 : (cb: { new (x: T): string; new (x: number): T; }) => { new (x: T): string; new (x: number): T; } -> : ^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^ ->b : { new (x: T): string; new (x: number): T_1; } -> : ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ +>b : { new (x: T): string; new (x: number): T; } +> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ function foo6(cb: { new(x: T): string; new(x: T, y?: T): string }) { >foo6 : (cb: { new (x: T): string; new (x: T, y?: T): string; }) => { new (x: T): string; new (x: T, y?: T): string; } @@ -136,28 +136,28 @@ module GenericParameter { return cb; >cb : { new (x: T): string; new (x: T, y?: T): string; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ } var r8 = foo6(a); // error >r8 : { new (x: boolean): string; new (x: boolean, y?: boolean): string; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo6(a) : { new (x: boolean): string; new (x: boolean, y?: boolean): string; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo6 : (cb: { new (x: T): string; new (x: T, y?: T): string; }) => { new (x: T): string; new (x: T, y?: T): string; } -> : ^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ >a : { new (x: boolean): string; new (x: number): boolean; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ var r9 = foo6(b); // new any => string; new(x:any, y?:any) => string >r9 : { new (x: unknown): string; new (x: unknown, y?: unknown): string; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo6(b) : { new (x: unknown): string; new (x: unknown, y?: unknown): string; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo6 : (cb: { new (x: T): string; new (x: T, y?: T): string; }) => { new (x: T): string; new (x: T, y?: T): string; } -> : ^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ->b : { new (x: T): string; new (x: number): T_1; } -> : ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ +>b : { new (x: T): string; new (x: number): T; } +> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ function foo7(x:T, cb: { new(x: T): string; new(x: T, y?: T): string }) { >foo7 : (x: T, cb: { new (x: T): string; new (x: T, y?: T): string; }) => { new (x: T): string; new (x: T, y?: T): string; } @@ -175,32 +175,32 @@ module GenericParameter { return cb; >cb : { new (x: T): string; new (x: T, y?: T): string; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ } var r13 = foo7(1, b); // new any => string; new(x:any, y?:any) => string >r13 : { new (x: unknown): string; new (x: unknown, y?: unknown): string; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo7(1, b) : { new (x: unknown): string; new (x: unknown, y?: unknown): string; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo7 : (x: T, cb: { new (x: T): string; new (x: T, y?: T): string; }) => { new (x: T): string; new (x: T, y?: T): string; } -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ >1 : 1 > : ^ ->b : { new (x: T): string; new (x: number): T_1; } -> : ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>b : { new (x: T): string; new (x: number): T; } +> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ var c: { new (x: T): string; (x: number): T; } ->c : { (x: number): T; new (x: T_1): string; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ +>c : { (x: number): T; new (x: T): string; } +> : ^^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ >x : number > : ^^^^^^ var c2: { new (x: T): string; new(x: number): T; } ->c2 : { new (x: T): string; new (x: number): T_1; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ +>c2 : { new (x: T): string; new (x: number): T; } +> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ >x : number @@ -208,25 +208,25 @@ module GenericParameter { var r14 = foo7(1, c); // new any => string; new(x:any, y?:any) => string >r14 : { new (x: unknown): string; new (x: unknown, y?: unknown): string; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo7(1, c) : { new (x: unknown): string; new (x: unknown, y?: unknown): string; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo7 : (x: T, cb: { new (x: T): string; new (x: T, y?: T): string; }) => { new (x: T): string; new (x: T, y?: T): string; } -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ >1 : 1 > : ^ ->c : { (x: number): T; new (x: T_1): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +>c : { (x: number): T; new (x: T): string; } +> : ^^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ var r15 = foo7(1, c2); // new any => string; new(x:any, y?:any) => string >r15 : { new (x: unknown): string; new (x: unknown, y?: unknown): string; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo7(1, c2) : { new (x: unknown): string; new (x: unknown, y?: unknown): string; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo7 : (x: T, cb: { new (x: T): string; new (x: T, y?: T): string; }) => { new (x: T): string; new (x: T, y?: T): string; } -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ >1 : 1 > : ^ ->c2 : { new (x: T): string; new (x: number): T_1; } -> : ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>c2 : { new (x: T): string; new (x: number): T; } +> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ } diff --git a/tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments2.types b/tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments2.types index e3cc2fb0a0ffb..64199177e33c8 100644 --- a/tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments2.types +++ b/tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments2.types @@ -23,15 +23,15 @@ module NonGenericParameter { function foo4(cb: typeof a) { >foo4 : (cb: typeof a) => { new (x: boolean): boolean; new (x: string): string; } -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ >cb : { new (x: boolean): boolean; new (x: string): string; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ >a : { new (x: boolean): boolean; new (x: string): string; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ return cb; >cb : { new (x: boolean): boolean; new (x: string): string; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ } var b: { new (x: T): U } @@ -42,13 +42,13 @@ module NonGenericParameter { var r3 = foo4(b); // ok >r3 : { new (x: boolean): boolean; new (x: string): string; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ >foo4(b) : { new (x: boolean): boolean; new (x: string): string; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ >foo4 : (cb: typeof a) => { new (x: boolean): boolean; new (x: string): string; } -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ >b : new (x: T) => U -> : ^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ } module GenericParameter { @@ -67,7 +67,7 @@ module GenericParameter { return cb; >cb : { new (x: T): string; new (x: number): T; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ } var a: { new (x: T): T }; @@ -78,13 +78,13 @@ module GenericParameter { var r6 = foo5(a); // ok >r6 : { new (x: unknown): string; new (x: number): unknown; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^^^^^ >foo5(a) : { new (x: unknown): string; new (x: number): unknown; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^^^^^ >foo5 : (cb: { new (x: T): string; new (x: number): T; }) => { new (x: T): string; new (x: number): T; } -> : ^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ >a : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ function foo6(cb: { new(x: T): string; new(x: T, y?: T): string }) { >foo6 : (cb: { new (x: T): string; new (x: T, y?: T): string; }) => { new (x: T): string; new (x: T, y?: T): string; } @@ -100,7 +100,7 @@ module GenericParameter { return cb; >cb : { new (x: T): string; new (x: T, y?: T): string; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ } var b: { new (x: T, y: T): string }; @@ -113,13 +113,13 @@ module GenericParameter { var r10 = foo6(b); // error >r10 : { new (x: unknown): string; new (x: unknown, y?: unknown): string; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo6(b) : { new (x: unknown): string; new (x: unknown, y?: unknown): string; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo6 : (cb: { new (x: T): string; new (x: T, y?: T): string; }) => { new (x: T): string; new (x: T, y?: T): string; } -> : ^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ >b : new (x: T, y: T) => string -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ function foo7(x:T, cb: { new(x: T): string; new(x: T, y?: T): string }) { >foo7 : (x: T, cb: { new (x: T): string; new (x: T, y?: T): string; }) => { new (x: T): string; new (x: T, y?: T): string; } @@ -137,24 +137,24 @@ module GenericParameter { return cb; >cb : { new (x: T): string; new (x: T, y?: T): string; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ } var r13 = foo7(1, a); // ok >r13 : { new (x: unknown): string; new (x: unknown, y?: unknown): string; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo7(1, a) : { new (x: unknown): string; new (x: unknown, y?: unknown): string; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo7 : (x: T, cb: { new (x: T): string; new (x: T, y?: T): string; }) => { new (x: T): string; new (x: T, y?: T): string; } -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ >1 : 1 > : ^ >a : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var c: { new(x: T): number; new(x: number): T; } ->c : { new (x: T): number; new (x: number): T_1; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ +>c : { new (x: T): number; new (x: number): T; } +> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ >x : number @@ -162,13 +162,13 @@ module GenericParameter { var r14 = foo7(1, c); // ok >r14 : { new (x: unknown): string; new (x: unknown, y?: unknown): string; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo7(1, c) : { new (x: unknown): string; new (x: unknown, y?: unknown): string; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo7 : (x: T, cb: { new (x: T): string; new (x: T, y?: T): string; }) => { new (x: T): string; new (x: T, y?: T): string; } -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ >1 : 1 > : ^ ->c : { new (x: T): number; new (x: number): T_1; } -> : ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>c : { new (x: T): number; new (x: number): T; } +> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ } diff --git a/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments.types b/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments.types index e0a5a8d880ccf..896f081b5c833 100644 --- a/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments.types +++ b/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments.types @@ -23,34 +23,34 @@ module NonGenericParameter { function foo4(cb: typeof a) { >foo4 : (cb: typeof a) => { (x: boolean): boolean; (x: string): string; } -> : ^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >cb : { (x: boolean): boolean; (x: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : { (x: boolean): boolean; (x: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ return cb; >cb : { (x: boolean): boolean; (x: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ } var r = foo4(a); >r : { (x: boolean): boolean; (x: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >foo4(a) : { (x: boolean): boolean; (x: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >foo4 : (cb: typeof a) => { (x: boolean): boolean; (x: string): string; } -> : ^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : { (x: boolean): boolean; (x: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ var r2 = foo4((x: T) => x); >r2 : { (x: boolean): boolean; (x: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >foo4((x: T) => x) : { (x: boolean): boolean; (x: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >foo4 : (cb: typeof a) => { (x: boolean): boolean; (x: string): string; } -> : ^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >(x: T) => x : (x: T) => T > : ^ ^^ ^^ ^^^^^^ >x : T @@ -60,11 +60,11 @@ module NonGenericParameter { var r4 = foo4(x => x); >r4 : { (x: boolean): boolean; (x: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >foo4(x => x) : { (x: boolean): boolean; (x: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >foo4 : (cb: typeof a) => { (x: boolean): boolean; (x: string): string; } -> : ^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x => x : (x: any) => any > : ^ ^^^^^^^^^^^^^ >x : any @@ -87,24 +87,24 @@ module GenericParameter { return cb; >cb : { (x: T): string; (x: number): T; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ } var r5 = foo5(x => x); // any => string (+1 overload) [inferences are made for T, but lambda not contextually typed]. T is any >r5 : { (x: any): string; (x: number): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^ ^^^ ^^ ^^^^^^^^^ >foo5(x => x) : { (x: any): string; (x: number): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^ ^^^ ^^ ^^^^^^^^^ >foo5 : (cb: { (x: T): string; (x: number): T; }) => { (x: T): string; (x: number): T; } -> : ^ ^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x => x : (x: any) => any > : ^ ^^^^^^^^^^^^^ >x : any >x : any var a: { (x: T): string; (x: number): T; } ->a : { (x: T): string; (x: number): T_1; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ +>a : { (x: T): string; (x: number): T; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ >x : number @@ -112,13 +112,13 @@ module GenericParameter { var r7 = foo5(a); // any => string (+1 overload) >r7 : { (x: unknown): string; (x: number): unknown; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^ ^^^ ^^ ^^^^^^^^^^^^^ >foo5(a) : { (x: unknown): string; (x: number): unknown; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^ ^^^ ^^ ^^^^^^^^^^^^^ >foo5 : (cb: { (x: T): string; (x: number): T; }) => { (x: T): string; (x: number): T; } -> : ^ ^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^ ->a : { (x: T): string; (x: number): T_1; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ +>a : { (x: T): string; (x: number): T; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ function foo6(cb: { (x: T): string; (x: T, y?: T): string }) { >foo6 : (cb: { (x: T): string; (x: T, y?: T): string; }) => { (x: T): string; (x: T, y?: T): string; } @@ -134,16 +134,16 @@ module GenericParameter { return cb; >cb : { (x: T): string; (x: T, y?: T): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ } var r8 = foo6(x => x); // any => string (+1 overload) [inferences are made for T, but lambda not contextually typed]. T is any >r8 : { (x: any): string; (x: any, y?: any): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^^ >foo6(x => x) : { (x: any): string; (x: any, y?: any): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^^ >foo6 : (cb: { (x: T): string; (x: T, y?: T): string; }) => { (x: T): string; (x: T, y?: T): string; } -> : ^ ^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >x => x : (x: any) => any > : ^ ^^^^^^^^^^^^^ >x : any @@ -151,11 +151,11 @@ module GenericParameter { var r9 = foo6((x: T) => ''); // any => string (+1 overload) >r9 : { (x: unknown): string; (x: unknown, y?: unknown): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo6((x: T) => '') : { (x: unknown): string; (x: unknown, y?: unknown): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo6 : (cb: { (x: T): string; (x: T, y?: T): string; }) => { (x: T): string; (x: T, y?: T): string; } -> : ^ ^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >(x: T) => '' : (x: T) => string > : ^ ^^ ^^ ^^^^^^^^^^^ >x : T @@ -165,11 +165,11 @@ module GenericParameter { var r11 = foo6((x: T, y?: T) => ''); // any => string (+1 overload) >r11 : { (x: unknown): string; (x: unknown, y?: unknown): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo6((x: T, y?: T) => '') : { (x: unknown): string; (x: unknown, y?: unknown): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo6 : (cb: { (x: T): string; (x: T, y?: T): string; }) => { (x: T): string; (x: T, y?: T): string; } -> : ^ ^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >(x: T, y?: T) => '' : (x: T, y?: T) => string > : ^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ >x : T @@ -195,16 +195,16 @@ module GenericParameter { return cb; >cb : { (x: T): string; (x: T, y?: T): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ } var r12 = foo7(1, (x) => x); // any => string (+1 overload) [inferences are made for T, but lambda not contextually typed] >r12 : { (x: any): string; (x: any, y?: any): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^^ >foo7(1, (x) => x) : { (x: any): string; (x: any, y?: any): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^^ >foo7 : (x: T, cb: { (x: T): string; (x: T, y?: T): string; }) => { (x: T): string; (x: T, y?: T): string; } -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >1 : 1 > : ^ >(x) => x : (x: any) => any @@ -214,11 +214,11 @@ module GenericParameter { var r13 = foo7(1, (x: T) => ''); // any => string (+1 overload) [inferences are made for T, but lambda not contextually typed] >r13 : { (x: unknown): string; (x: unknown, y?: unknown): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo7(1, (x: T) => '') : { (x: unknown): string; (x: unknown, y?: unknown): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo7 : (x: T, cb: { (x: T): string; (x: T, y?: T): string; }) => { (x: T): string; (x: T, y?: T): string; } -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >1 : 1 > : ^ >(x: T) => '' : (x: T) => string @@ -229,8 +229,8 @@ module GenericParameter { > : ^^ var a: { (x: T): string; (x: number): T; } ->a : { (x: T): string; (x: number): T_1; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>a : { (x: T): string; (x: number): T; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ >x : number @@ -238,13 +238,13 @@ module GenericParameter { var r14 = foo7(1, a); // any => string (+1 overload) [inferences are made for T, but lambda not contextually typed] >r14 : { (x: unknown): string; (x: unknown, y?: unknown): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo7(1, a) : { (x: unknown): string; (x: unknown, y?: unknown): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo7 : (x: T, cb: { (x: T): string; (x: T, y?: T): string; }) => { (x: T): string; (x: T, y?: T): string; } -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >1 : 1 > : ^ ->a : { (x: T): string; (x: number): T_1; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>a : { (x: T): string; (x: number): T; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ } diff --git a/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments2.types b/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments2.types index 68c16ebca58b5..bc9696de2c31d 100644 --- a/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments2.types +++ b/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments2.types @@ -23,24 +23,24 @@ module NonGenericParameter { function foo4(cb: typeof a) { >foo4 : (cb: typeof a) => { (x: boolean): boolean; (x: string): string; } -> : ^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >cb : { (x: boolean): boolean; (x: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : { (x: boolean): boolean; (x: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ return cb; >cb : { (x: boolean): boolean; (x: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ } var r3 = foo4((x: T) => { var r: U; return r }); // ok >r3 : { (x: boolean): boolean; (x: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >foo4((x: T) => { var r: U; return r }) : { (x: boolean): boolean; (x: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >foo4 : (cb: typeof a) => { (x: boolean): boolean; (x: string): string; } -> : ^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >(x: T) => { var r: U; return r } : (x: T) => U > : ^ ^^^^^ ^^ ^^^^^^ >x : T @@ -67,16 +67,16 @@ module GenericParameter { return cb; >cb : { (x: T): string; (x: number): T; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ } var r6 = foo5((x: T) => x); // ok >r6 : { (x: unknown): string; (x: number): unknown; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^ ^^^ ^^ ^^^^^^^^^^^^^ >foo5((x: T) => x) : { (x: unknown): string; (x: number): unknown; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^ ^^^ ^^ ^^^^^^^^^^^^^ >foo5 : (cb: { (x: T): string; (x: number): T; }) => { (x: T): string; (x: number): T; } -> : ^ ^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >(x: T) => x : (x: T) => T > : ^ ^^ ^^ ^^^^^^ >x : T @@ -98,16 +98,16 @@ module GenericParameter { return cb; >cb : { (x: T): string; (x: T, y?: T): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ } var r10 = foo6((x: T, y: T) => ''); // error >r10 : { (x: unknown): string; (x: unknown, y?: unknown): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo6((x: T, y: T) => '') : { (x: unknown): string; (x: unknown, y?: unknown): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo6 : (cb: { (x: T): string; (x: T, y?: T): string; }) => { (x: T): string; (x: T, y?: T): string; } -> : ^ ^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >(x: T, y: T) => '' : (x: T, y: T) => string > : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : T @@ -133,16 +133,16 @@ module GenericParameter { return cb; >cb : { (x: T): string; (x: T, y?: T): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ } var r13 = foo7(1, (x: T) => x); // ok >r13 : { (x: unknown): string; (x: unknown, y?: unknown): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo7(1, (x: T) => x) : { (x: unknown): string; (x: unknown, y?: unknown): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo7 : (x: T, cb: { (x: T): string; (x: T, y?: T): string; }) => { (x: T): string; (x: T, y?: T): string; } -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >1 : 1 > : ^ >(x: T) => x : (x: T) => T @@ -153,8 +153,8 @@ module GenericParameter { > : ^ var a: { (x: T): number; (x: number): T; } ->a : { (x: T): number; (x: number): T_1; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ +>a : { (x: T): number; (x: number): T; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ >x : number @@ -162,13 +162,13 @@ module GenericParameter { var r14 = foo7(1, a); // ok >r14 : { (x: unknown): string; (x: unknown, y?: unknown): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo7(1, a) : { (x: unknown): string; (x: unknown, y?: unknown): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >foo7 : (x: T, cb: { (x: T): string; (x: T, y?: T): string; }) => { (x: T): string; (x: T, y?: T): string; } -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >1 : 1 > : ^ ->a : { (x: T): number; (x: number): T_1; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>a : { (x: T): number; (x: number): T; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ } diff --git a/tests/baselines/reference/genericCallWithinOwnBodyCastTypeParameterIdentity.types b/tests/baselines/reference/genericCallWithinOwnBodyCastTypeParameterIdentity.types index e4afeb0776438..b0537862ac990 100644 --- a/tests/baselines/reference/genericCallWithinOwnBodyCastTypeParameterIdentity.types +++ b/tests/baselines/reference/genericCallWithinOwnBodyCastTypeParameterIdentity.types @@ -37,7 +37,7 @@ const toThenable = (fn: (input: Input) => Result | Thenablefn(input) : Result | Thenable > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >fn : (input: Input) => Result | Thenable -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >input : Input > : ^^^^^ @@ -57,11 +57,11 @@ const toThenable = (fn: (input: Input) => Result | ThenabletoThenable(onFulfilled)(result as Result) : Thenable > : ^^^^^^^^^^^ >toThenable(onFulfilled) : (input: Result) => Thenable -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ ^ >toThenable : (fn: (input: Input) => Result | Thenable) => (input: Input) => Thenable -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >onFulfilled : (value: Result) => V | Thenable -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >result as Result : Result > : ^^^^^^ >result : Result | Thenable @@ -92,29 +92,29 @@ const toThenableInferred = (fn: (input: Input) => Result | Thenab >fn(input) : Result | Thenable > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >fn : (input: Input) => Result | Thenable -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >input : Input > : ^^^^^ return { >{ then(onFulfilled) { return toThenableInferred(onFulfilled)(result as Result) } } : { then(onFulfilled: (value: Result) => V | Thenable): Thenable; } -> : ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^ ^^^^^^^^^^^^^^^^^ then(onFulfilled) { >then : (onFulfilled: (value: Result) => V | Thenable) => Thenable -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^ ^ ^^^^^^^^^^^^^^^^ >onFulfilled : (value: Result) => V | Thenable -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ ^ return toThenableInferred(onFulfilled)(result as Result) >toThenableInferred(onFulfilled)(result as Result) : Thenable > : ^^^^^^^^^^^ >toThenableInferred(onFulfilled) : (input: Result) => Thenable -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ ^ >toThenableInferred : (fn: (input: Input) => Result | Thenable) => (input: Input) => Thenable -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >onFulfilled : (value: Result) => V | Thenable -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ ^ >result as Result : Result > : ^^^^^^ >result : Result | Thenable diff --git a/tests/baselines/reference/genericCallbackInvokedInsideItsContainingFunction1.types b/tests/baselines/reference/genericCallbackInvokedInsideItsContainingFunction1.types index cdff0a80bab9c..d13273039ed52 100644 --- a/tests/baselines/reference/genericCallbackInvokedInsideItsContainingFunction1.types +++ b/tests/baselines/reference/genericCallbackInvokedInsideItsContainingFunction1.types @@ -19,7 +19,7 @@ function foo(x:T, y:U, f: (v: T) => U) { >f(1) : U > : ^ >f : (v: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ @@ -29,7 +29,7 @@ function foo(x:T, y:U, f: (v: T) => U) { >f(1) : U > : ^ >f : (v: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ @@ -39,7 +39,7 @@ function foo(x:T, y:U, f: (v: T) => U) { >f(null) : U > : ^ >f : (v: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ var r4 = f(null); >r4 : U @@ -47,7 +47,7 @@ function foo(x:T, y:U, f: (v: T) => U) { >f(null) : U > : ^ >f : (v: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ var r11 = f(x); >r11 : U @@ -55,7 +55,7 @@ function foo(x:T, y:U, f: (v: T) => U) { >f(x) : U > : ^ >f : (v: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >x : T > : ^ @@ -65,7 +65,7 @@ function foo(x:T, y:U, f: (v: T) => U) { >f(x) : U > : ^ >f : (v: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >x : T > : ^ @@ -75,7 +75,7 @@ function foo(x:T, y:U, f: (v: T) => U) { >f(null) : U > : ^ >f : (v: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ var r41 = f(null); >r41 : U @@ -83,7 +83,7 @@ function foo(x:T, y:U, f: (v: T) => U) { >f(null) : U > : ^ >f : (v: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ var r12 = f(y); >r12 : U @@ -91,7 +91,7 @@ function foo(x:T, y:U, f: (v: T) => U) { >f(y) : U > : ^ >f : (v: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >y : U > : ^ @@ -101,7 +101,7 @@ function foo(x:T, y:U, f: (v: T) => U) { >f(y) : U > : ^ >f : (v: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >y : U > : ^ @@ -111,7 +111,7 @@ function foo(x:T, y:U, f: (v: T) => U) { >f(null) : U > : ^ >f : (v: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ var r42 = f(null); >r42 : U @@ -119,5 +119,5 @@ function foo(x:T, y:U, f: (v: T) => U) { >f(null) : U > : ^ >f : (v: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ } diff --git a/tests/baselines/reference/genericCallbacksAndClassHierarchy.types b/tests/baselines/reference/genericCallbacksAndClassHierarchy.types index 1b9060ef8dcfb..cc050bcb3c488 100644 --- a/tests/baselines/reference/genericCallbacksAndClassHierarchy.types +++ b/tests/baselines/reference/genericCallbacksAndClassHierarchy.types @@ -67,22 +67,22 @@ module M { v.subscribe(f); >v.subscribe(f) : any >v.subscribe : (callback: (newValue: A) => void) => any -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ ^^^^^ >v : I> > : ^^^^^^^ >subscribe : (callback: (newValue: A) => void) => any -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ ^^^^^ >f : (newValue: A) => void > : ^ ^^ ^^^^^^^^^ v.subscribe((newValue: A) => { }); >v.subscribe((newValue: A) => { }) : any >v.subscribe : (callback: (newValue: A) => void) => any -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ ^^^^^ >v : I> > : ^^^^^^^ >subscribe : (callback: (newValue: A) => void) => any -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ ^^^^^ >(newValue: A) => { } : (newValue: A) => void > : ^ ^^ ^^^^^^^^^ >newValue : A diff --git a/tests/baselines/reference/genericCapturingFunctionNarrowing.types b/tests/baselines/reference/genericCapturingFunctionNarrowing.types index 193425904b177..a668a4ced463c 100644 --- a/tests/baselines/reference/genericCapturingFunctionNarrowing.types +++ b/tests/baselines/reference/genericCapturingFunctionNarrowing.types @@ -3,7 +3,7 @@ === genericCapturingFunctionNarrowing.ts === function needsToNarrowTheType(thing: First | SubFirst | SubFirstMore | Second) { >needsToNarrowTheType : (thing: First | SubFirst | SubFirstMore | Second) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >foo : string > : ^^^^^^ >bar : string @@ -17,7 +17,7 @@ function needsToNarrowTheTypehasAFoo(thing) : boolean > : ^^^^^^^ >hasAFoo : (value: First | Second) => value is First -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >thing : First | Second | SubFirst | SubFirstMore > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -25,11 +25,11 @@ function needsToNarrowTheTypeconsole.log(thing.foo) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >thing.foo : string > : ^^^^^^ >thing : First | SubFirst | SubFirstMore @@ -43,11 +43,11 @@ function needsToNarrowTheTypeconsole.log(thing.bar) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >thing.bar : string > : ^^^^^^ >thing : Second diff --git a/tests/baselines/reference/genericChainedCalls.types b/tests/baselines/reference/genericChainedCalls.types index 29332f2764081..c6d5741571c44 100644 --- a/tests/baselines/reference/genericChainedCalls.types +++ b/tests/baselines/reference/genericChainedCalls.types @@ -21,19 +21,19 @@ var r1 = v1.func(num => num.toString()) >v1.func(num => num.toString()) .func(str => str.length) // error, number doesn't have a length .func(num => num.toString()) : I1 > : ^^^^^^^^^^ >v1.func(num => num.toString()) .func(str => str.length) // error, number doesn't have a length .func : (callback: (value: number) => U) => I1 -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^ >v1.func(num => num.toString()) .func(str => str.length) : I1 > : ^^^^^^^^^^ >v1.func(num => num.toString()) .func : (callback: (value: number) => U) => I1 -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^ >v1.func(num => num.toString()) : I1 > : ^^^^^^^^^^ >v1.func : (callback: (value: number) => U) => I1 -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^ >v1 : I1 > : ^^^^^^^^^^ >func : (callback: (value: number) => U) => I1 -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^ >num => num.toString() : (num: number) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >num : number @@ -41,15 +41,15 @@ var r1 = v1.func(num => num.toString()) >num.toString() : string > : ^^^^^^ >num.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >num : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ .func(str => str.length) // error, number doesn't have a length >func : (callback: (value: number) => U) => I1 -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^ >str => str.length : (str: number) => any > : ^ ^^^^^^^^^^^^^^^^ >str : number @@ -63,7 +63,7 @@ var r1 = v1.func(num => num.toString()) .func(num => num.toString()) >func : (callback: (value: number) => U) => I1 -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^ >num => num.toString() : (num: number) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >num : number @@ -71,11 +71,11 @@ var r1 = v1.func(num => num.toString()) >num.toString() : string > : ^^^^^^ >num.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >num : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var s1 = v1.func(num => num.toString()) >s1 : I1 @@ -83,11 +83,11 @@ var s1 = v1.func(num => num.toString()) >v1.func(num => num.toString()) : I1 > : ^^^^^^^^^^ >v1.func : (callback: (value: number) => U) => I1 -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^ >v1 : I1 > : ^^^^^^^^^^ >func : (callback: (value: number) => U) => I1 -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^ >num => num.toString() : (num: number) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >num : number @@ -95,11 +95,11 @@ var s1 = v1.func(num => num.toString()) >num.toString() : string > : ^^^^^^ >num.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >num : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var s2 = s1.func(str => str.length) // should also error >s2 : I1 @@ -107,11 +107,11 @@ var s2 = s1.func(str => str.length) // should also error >s1.func(str => str.length) : I1 > : ^^^^^^^^^^ >s1.func : (callback: (value: number) => U) => I1 -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^ >s1 : I1 > : ^^^^^^^^^^ >func : (callback: (value: number) => U) => I1 -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^ >str => str.length : (str: number) => any > : ^ ^^^^^^^^^^^^^^^^ >str : number @@ -129,11 +129,11 @@ var s3 = s2.func(num => num.toString()) >s2.func(num => num.toString()) : I1 > : ^^^^^^^^^^ >s2.func : (callback: (value: number) => U) => I1 -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^ >s2 : I1 > : ^^^^^^^^^^ >func : (callback: (value: number) => U) => I1 -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^ >num => num.toString() : (num: number) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >num : number @@ -141,9 +141,9 @@ var s3 = s2.func(num => num.toString()) >num.toString() : string > : ^^^^^^ >num.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >num : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/genericClassWithFunctionTypedMemberArguments.types b/tests/baselines/reference/genericClassWithFunctionTypedMemberArguments.types index 292a6ce883593..5007c05352a37 100644 --- a/tests/baselines/reference/genericClassWithFunctionTypedMemberArguments.types +++ b/tests/baselines/reference/genericClassWithFunctionTypedMemberArguments.types @@ -24,7 +24,7 @@ module ImmediatelyFix { >x(null) : T > : ^ >x : (a: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ } } @@ -106,7 +106,7 @@ module ImmediatelyFix { >x(null) : T > : ^ >x : (a: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ } } @@ -177,7 +177,7 @@ module WithCandidates { >cb(x) : U > : ^ >cb : (a: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >x : T > : ^ } @@ -267,7 +267,7 @@ module WithCandidates { >cb(x) : U > : ^ >cb : (a: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >x : T > : ^ } @@ -341,7 +341,7 @@ module WithCandidates { >cb(x) : U > : ^ >cb : (a: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >x : T > : ^ } diff --git a/tests/baselines/reference/genericClassWithObjectTypeArgsAndConstraints.types b/tests/baselines/reference/genericClassWithObjectTypeArgsAndConstraints.types index 30b04fcfd34ef..6939c6ba441ca 100644 --- a/tests/baselines/reference/genericClassWithObjectTypeArgsAndConstraints.types +++ b/tests/baselines/reference/genericClassWithObjectTypeArgsAndConstraints.types @@ -47,7 +47,7 @@ module Class { foo(t: X, t2: X) { >foo : (t: X, t2: X) => T -> : ^ ^^^^^^^^^^^^^^ ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ >x : string > : ^^^^^^ >t : X @@ -95,11 +95,11 @@ module Class { >g.foo(c1, d1) : C > : ^ >g.foo : (t: X, t2: X) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^^^^ ^^^^^^^^^^^^ >g : G<{ x: string; y: string; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ ^^^^ >foo : (t: X, t2: X) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^^^^ ^^^^^^^^^^^^ >c1 : X > : ^^^^ >d1 : X @@ -111,11 +111,11 @@ module Class { >g.foo(c1, c1) : C > : ^ >g.foo : (t: X, t2: X) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^^^^ ^^^^^^^^^^^^ >g : G<{ x: string; y: string; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ ^^^^ >foo : (t: X, t2: X) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^^^^ ^^^^^^^^^^^^ >c1 : X > : ^^^^ >c1 : X @@ -127,7 +127,7 @@ module Class { foo2(t: X, t2: X) { >foo2 : (t: X, t2: X) => T -> : ^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ >t : X > : ^^^^ >t2 : X @@ -152,11 +152,11 @@ module Class { >g2.foo2(c1, d1) : C > : ^ >g2.foo2 : (t: X, t2: X) => T -> : ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^^^^ ^^^^^^^^^^^^ >g2 : G2 > : ^^^^^ >foo2 : (t: X, t2: X) => T -> : ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^^^^ ^^^^^^^^^^^^ >c1 : X > : ^^^^ >d1 : X @@ -168,11 +168,11 @@ module Class { >g2.foo2(c1, c1) : C > : ^ >g2.foo2 : (t: X, t2: X) => T -> : ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^^^^ ^^^^^^^^^^^^ >g2 : G2 > : ^^^^^ >foo2 : (t: X, t2: X) => T -> : ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^^^^ ^^^^^^^^^^^^ >c1 : X > : ^^^^ >c1 : X @@ -189,7 +189,7 @@ module Interface { foo(t: X, t2: X): T; >foo : (t: X, t2: X) => T -> : ^ ^^^^^^^^^^^^^^ ^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : string > : ^^^^^^ >t : X @@ -228,11 +228,11 @@ module Interface { >g.foo(c1, d1) : C > : ^ >g.foo : (t: X, t2: X) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >g : G<{ x: string; y: string; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ ^^^^ >foo : (t: X, t2: X) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >c1 : X > : ^^^^ >d1 : X @@ -244,11 +244,11 @@ module Interface { >g.foo(c1, c1) : C > : ^ >g.foo : (t: X, t2: X) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >g : G<{ x: string; y: string; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ ^^^^ >foo : (t: X, t2: X) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >c1 : X > : ^^^^ >c1 : X @@ -257,7 +257,7 @@ module Interface { interface G2 { foo2(t: X, t2: X): T; >foo2 : (t: X, t2: X) => T -> : ^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >t : X > : ^^^^ >t2 : X @@ -274,11 +274,11 @@ module Interface { >g2.foo2(c1, d1) : C > : ^ >g2.foo2 : (t: X, t2: X) => T -> : ^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >g2 : G2 > : ^^^^^ >foo2 : (t: X, t2: X) => T -> : ^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >c1 : X > : ^^^^ >d1 : X @@ -290,11 +290,11 @@ module Interface { >g2.foo2(c1, c1) : C > : ^ >g2.foo2 : (t: X, t2: X) => T -> : ^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >g2 : G2 > : ^^^^^ >foo2 : (t: X, t2: X) => T -> : ^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >c1 : X > : ^^^^ >c1 : X diff --git a/tests/baselines/reference/genericClassWithStaticFactory.types b/tests/baselines/reference/genericClassWithStaticFactory.types index bb8ed1257ea52..129d154997155 100644 --- a/tests/baselines/reference/genericClassWithStaticFactory.types +++ b/tests/baselines/reference/genericClassWithStaticFactory.types @@ -55,7 +55,7 @@ module Editor { >this.listFactory.MakeEntry(data) : List > : ^^^^^^^ >this.listFactory.MakeEntry : (data: T_1) => List -> : ^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >this.listFactory : ListFactory > : ^^^^^^^^^^^^^^ >this : this @@ -63,7 +63,7 @@ module Editor { >listFactory : ListFactory > : ^^^^^^^^^^^^^^ >MakeEntry : (data: T_1) => List -> : ^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >data : T > : ^ @@ -221,11 +221,11 @@ module Editor { >this.isEmpty() : boolean > : ^^^^^^^ >this.isEmpty : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >isEmpty : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ { return this.next.data; >this.next.data : T @@ -331,7 +331,7 @@ module Editor { >this.listFactory.MakeEntry(data) : List > : ^^^^^^^ >this.listFactory.MakeEntry : (data: T_1) => List -> : ^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >this.listFactory : ListFactory > : ^^^^^^^^^^^^^^ >this : this @@ -339,7 +339,7 @@ module Editor { >listFactory : ListFactory > : ^^^^^^^^^^^^^^ >MakeEntry : (data: T_1) => List -> : ^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >data : T > : ^ @@ -449,7 +449,7 @@ module Editor { >this.listFactory.RemoveEntry(this.next) : List > : ^^^^^^^ >this.listFactory.RemoveEntry : (entry: List) => List -> : ^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >this.listFactory : ListFactory > : ^^^^^^^^^^^^^^ >this : this @@ -457,7 +457,7 @@ module Editor { >listFactory : ListFactory > : ^^^^^^^^^^^^^^ >RemoveEntry : (entry: List) => List -> : ^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >this.next : List > : ^^^^^^^ >this : this @@ -558,7 +558,7 @@ module Editor { >this.listFactory.MakeEntry(data) : List > : ^^^^^^^ >this.listFactory.MakeEntry : (data: T_1) => List -> : ^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >this.listFactory : ListFactory > : ^^^^^^^^^^^^^^ >this : this @@ -566,7 +566,7 @@ module Editor { >listFactory : ListFactory > : ^^^^^^^^^^^^^^ >MakeEntry : (data: T_1) => List -> : ^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >data : T > : ^ @@ -710,7 +710,7 @@ module Editor { >this.listFactory.MakeEntry(data) : List > : ^^^^^^^ >this.listFactory.MakeEntry : (data: T_1) => List -> : ^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >this.listFactory : ListFactory > : ^^^^^^^^^^^^^^ >this : this @@ -718,7 +718,7 @@ module Editor { >listFactory : ListFactory > : ^^^^^^^^^^^^^^ >MakeEntry : (data: T_1) => List -> : ^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >data : T > : ^ @@ -726,11 +726,11 @@ module Editor { >this.insertEntryBefore(entry) : List > : ^^^^^^^ >this.insertEntryBefore : (entry: List) => List -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >insertEntryBefore : (entry: List) => List -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >entry : List > : ^^^^^^^ } diff --git a/tests/baselines/reference/genericClassWithStaticsUsingTypeArguments.types b/tests/baselines/reference/genericClassWithStaticsUsingTypeArguments.types index 94966b98ecdd6..5038a6282eff3 100644 --- a/tests/baselines/reference/genericClassWithStaticsUsingTypeArguments.types +++ b/tests/baselines/reference/genericClassWithStaticsUsingTypeArguments.types @@ -8,9 +8,9 @@ class Foo { static a = (n: T) => { }; >a : (n: T) => void -> : ^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >(n: T) => { } : (n: T) => void -> : ^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >n : T > : ^ @@ -34,9 +34,9 @@ class Foo { >((x: T) => x || undefined)(null) : any > : ^^^ >((x: T) => x || undefined) : (x: T) => any -> : ^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >(x: T) => x || undefined : (x: T) => any -> : ^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >x : T > : ^ >x || undefined : any @@ -48,9 +48,9 @@ class Foo { static e = function (x: T) { return null; } >e : (x: T) => any -> : ^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >function (x: T) { return null; } : (x: T) => any -> : ^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >x : T > : ^ @@ -64,11 +64,11 @@ class Foo { >xs.reverse() : T[] > : ^^^ >xs.reverse : () => T[] -> : ^^^^^^^^^ +> : ^^^^^^^ >xs : T[] > : ^^^ >reverse : () => T[] -> : ^^^^^^^^^ +> : ^^^^^^^ } } diff --git a/tests/baselines/reference/genericClasses4.types b/tests/baselines/reference/genericClasses4.types index 9b78edb934902..49a7acc95c1ba 100644 --- a/tests/baselines/reference/genericClasses4.types +++ b/tests/baselines/reference/genericClasses4.types @@ -26,7 +26,7 @@ class Vec2_T >f(this.x) : B > : ^ >f : (a: A) => B -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >this.x : A > : ^ >this : this @@ -40,7 +40,7 @@ class Vec2_T >f(this.y) : B > : ^ >f : (a: A) => B -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >this.y : A > : ^ >this : this @@ -78,11 +78,11 @@ class Vec2_T >f.x(this.x) : B > : ^ >f.x : (a: A) => B -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >f : Vec2_T<(a: A) => B> -> : ^^^^^^^^ ^^ ^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ ^ >x : (a: A) => B -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >this.x : A > : ^ >this : this @@ -96,11 +96,11 @@ class Vec2_T >f.y(this.y) : B > : ^ >f.y : (a: A) => B -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >f : Vec2_T<(a: A) => B> -> : ^^^^^^^^ ^^ ^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ ^ >y : (a: A) => B -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >this.y : A > : ^ >this : this diff --git a/tests/baselines/reference/genericClassesRedeclaration.types b/tests/baselines/reference/genericClassesRedeclaration.types index 559e72a1915a1..844d9f296c112 100644 --- a/tests/baselines/reference/genericClassesRedeclaration.types +++ b/tests/baselines/reference/genericClassesRedeclaration.types @@ -12,16 +12,16 @@ declare module TypeScript { } function createIntrinsicsObject(): IIndexable; >createIntrinsicsObject : { (): IIndexable; (): IIndexable; } -> : ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^ ^^^^^ ^^^ interface IHashTable { getAllKeys(): string[]; >getAllKeys : { (): string[]; (): string[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ add(key: string, data: T): boolean; >add : { (key: string, data: T): boolean; (key: string, data: T): boolean; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >key : string > : ^^^^^^ >data : T @@ -29,7 +29,7 @@ declare module TypeScript { addOrUpdate(key: string, data: T): boolean; >addOrUpdate : { (key: string, data: T): boolean; (key: string, data: T): boolean; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >key : string > : ^^^^^^ >data : T @@ -37,7 +37,7 @@ declare module TypeScript { map(fn: (k: string, value: T, context: any) => void, context: any): void; >map : { (fn: (k: string, value: T, context: any) => void, context: any): void; (fn: (k: string, value: T, context: any) => void, context: any): void; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >fn : (k: string, value: T, context: any) => void > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >k : string @@ -51,7 +51,7 @@ declare module TypeScript { every(fn: (k: string, value: T, context: any) => void, context: any): boolean; >every : { (fn: (k: string, value: T, context: any) => void, context: any): boolean; (fn: (k: string, value: T, context: any) => void, context: any): boolean; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >fn : (k: string, value: T, context: any) => void > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >k : string @@ -65,7 +65,7 @@ declare module TypeScript { some(fn: (k: string, value: T, context: any) => void, context: any): boolean; >some : { (fn: (k: string, value: T, context: any) => void, context: any): boolean; (fn: (k: string, value: T, context: any) => void, context: any): boolean; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >fn : (k: string, value: T, context: any) => void > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >k : string @@ -79,11 +79,11 @@ declare module TypeScript { count(): number; >count : { (): number; (): number; } -> : ^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ lookup(key: string): T; >lookup : { (key: string): T; (key: string): T; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >key : string > : ^^^^^^ } @@ -264,16 +264,16 @@ declare module TypeScript { } function createIntrinsicsObject(): IIndexable; >createIntrinsicsObject : { (): IIndexable; (): IIndexable; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ +> : ^^^ ^^^^^ ^^^ ^^^^^ ^^^ interface IHashTable { getAllKeys(): string[]; >getAllKeys : { (): string[]; (): string[]; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^^ +> : ^^^^^^ ^^^^^^ ^^^ add(key: string, data: T): boolean; >add : { (key: string, data: T): boolean; (key: string, data: T): boolean; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >key : string > : ^^^^^^ >data : T @@ -281,7 +281,7 @@ declare module TypeScript { addOrUpdate(key: string, data: T): boolean; >addOrUpdate : { (key: string, data: T): boolean; (key: string, data: T): boolean; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >key : string > : ^^^^^^ >data : T @@ -289,7 +289,7 @@ declare module TypeScript { map(fn: (k: string, value: T, context: any) => void, context: any): void; >map : { (fn: (k: string, value: T, context: any) => void, context: any): void; (fn: (k: string, value: T, context: any) => void, context: any): void; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >fn : (k: string, value: T, context: any) => void > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >k : string @@ -303,7 +303,7 @@ declare module TypeScript { every(fn: (k: string, value: T, context: any) => void, context: any): boolean; >every : { (fn: (k: string, value: T, context: any) => void, context: any): boolean; (fn: (k: string, value: T, context: any) => void, context: any): boolean; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >fn : (k: string, value: T, context: any) => void > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >k : string @@ -317,7 +317,7 @@ declare module TypeScript { some(fn: (k: string, value: T, context: any) => void, context: any): boolean; >some : { (fn: (k: string, value: T, context: any) => void, context: any): boolean; (fn: (k: string, value: T, context: any) => void, context: any): boolean; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >fn : (k: string, value: T, context: any) => void > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >k : string @@ -331,11 +331,11 @@ declare module TypeScript { count(): number; >count : { (): number; (): number; } -> : ^^^^^^^^^^^^^^^^^^ ^^^ +> : ^^^^^^ ^^^^^^ ^^^ lookup(key: string): T; >lookup : { (key: string): T; (key: string): T; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >key : string > : ^^^^^^ } diff --git a/tests/baselines/reference/genericCombinators2.types b/tests/baselines/reference/genericCombinators2.types index 7f289861e693d..e5e3170a82bb2 100644 --- a/tests/baselines/reference/genericCombinators2.types +++ b/tests/baselines/reference/genericCombinators2.types @@ -26,7 +26,7 @@ interface Collection { interface Combinators { map(c: Collection, f: (x: T, y: U) => any): Collection; >map : { (c: Collection, f: (x: T, y: U) => any): Collection; (c: Collection, f: (x: T_1, y: U_1) => V): Collection; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c : Collection > : ^^^^^^^^^^^^^^^^ >f : (x: T, y: U) => any @@ -38,7 +38,7 @@ interface Combinators { map(c: Collection, f: (x: T, y: U) => V): Collection; >map : { (c: Collection, f: (x: T_1, y: U_1) => any): Collection; (c: Collection, f: (x: T, y: U) => V): Collection; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c : Collection > : ^^^^^^^^^^^^^^^^ >f : (x: T, y: U) => V @@ -69,23 +69,23 @@ var rf1 = (x: number, y: string) => { return x.toFixed() }; >x.toFixed() : string > : ^^^^^^ >x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var r5a = _.map(c2, (x, y) => { return x.toFixed() }); >r5a : Collection > : ^^^^^^^^^^^^^^^^^^^^ >_.map(c2, (x, y) => { return x.toFixed() }) : Collection > : ^^^^^^^^^^^^^^^^^^^^ ->_.map : { (c: Collection, f: (x: T, y: U) => any): Collection; (c: Collection, f: (x: T_1, y: U_1) => V): Collection; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +>_.map : { (c: Collection, f: (x: T, y: U) => any): Collection; (c: Collection, f: (x: T, y: U) => V): Collection; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >_ : Combinators > : ^^^^^^^^^^^ ->map : { (c: Collection, f: (x: T, y: U) => any): Collection; (c: Collection, f: (x: T_1, y: U_1) => V): Collection; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +>map : { (c: Collection, f: (x: T, y: U) => any): Collection; (c: Collection, f: (x: T, y: U) => V): Collection; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c2 : Collection > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >(x, y) => { return x.toFixed() } : (x: number, y: string) => string @@ -97,23 +97,23 @@ var r5a = _.map(c2, (x, y) => { return x.toFixed() }); >x.toFixed() : string > : ^^^^^^ >x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var r5b = _.map(c2, rf1); >r5b : Collection > : ^^^^^^^^^^^^^^^^^^^^ >_.map(c2, rf1) : Collection > : ^^^^^^^^^^^^^^^^^^^^ ->_.map : { (c: Collection, f: (x: T, y: U) => any): Collection; (c: Collection, f: (x: T_1, y: U_1) => V): Collection; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +>_.map : { (c: Collection, f: (x: T, y: U) => any): Collection; (c: Collection, f: (x: T, y: U) => V): Collection; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >_ : Combinators > : ^^^^^^^^^^^ ->map : { (c: Collection, f: (x: T, y: U) => any): Collection; (c: Collection, f: (x: T_1, y: U_1) => V): Collection; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +>map : { (c: Collection, f: (x: T, y: U) => any): Collection; (c: Collection, f: (x: T, y: U) => V): Collection; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c2 : Collection > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >rf1 : (x: number, y: string) => string diff --git a/tests/baselines/reference/genericConditionalConstrainedToUnknownNotAssignableToConcreteObject.types b/tests/baselines/reference/genericConditionalConstrainedToUnknownNotAssignableToConcreteObject.types index a1623edadb8b9..389511c415c96 100644 --- a/tests/baselines/reference/genericConditionalConstrainedToUnknownNotAssignableToConcreteObject.types +++ b/tests/baselines/reference/genericConditionalConstrainedToUnknownNotAssignableToConcreteObject.types @@ -20,7 +20,7 @@ type FunctionsObj = { function g< >g : , M extends keyof T>(a2: ReturnType, x: A) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ T extends FunctionsObj, M extends keyof T @@ -43,7 +43,7 @@ function g< function g2< >g2 : , M extends keyof T>(a2: ReturnType) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ T extends FunctionsObj, M extends keyof T @@ -55,7 +55,7 @@ function g2< >isA(a2) : boolean > : ^^^^^^^ >isA : (a: unknown) => a is A -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a2 : ReturnType > : ^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/genericConstraint1.types b/tests/baselines/reference/genericConstraint1.types index 5b80b43a6f1af..82cde052fd44b 100644 --- a/tests/baselines/reference/genericConstraint1.types +++ b/tests/baselines/reference/genericConstraint1.types @@ -7,7 +7,7 @@ class C { public bar2(x: T, y: U): T { >bar2 : (x: T, y: U) => T -> : ^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T > : ^ >y : U diff --git a/tests/baselines/reference/genericConstraint2.types b/tests/baselines/reference/genericConstraint2.types index 66403dc5a426a..bd40e82718384 100644 --- a/tests/baselines/reference/genericConstraint2.types +++ b/tests/baselines/reference/genericConstraint2.types @@ -11,7 +11,7 @@ interface Comparable { function compare>(x: T, y: T): number { >compare : >(x: T, y: T) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T > : ^ >y : T @@ -47,11 +47,11 @@ function compare>(x: T, y: T): number { >x.comparer(y) : number > : ^^^^^^ >x.comparer : (other: T) => number -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^ >x : T > : ^ >comparer : (other: T) => number -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^ >y : T > : ^ } @@ -102,7 +102,7 @@ var c = compare(a, b); >compare(a, b) : number > : ^^^^^^ >compare : >(x: T, y: T) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a : ComparableString > : ^^^^^^^^^^^^^^^^ >b : ComparableString diff --git a/tests/baselines/reference/genericConstraintDeclaration.types b/tests/baselines/reference/genericConstraintDeclaration.types index 86a52f48536e6..fb0ce708dd99a 100644 --- a/tests/baselines/reference/genericConstraintDeclaration.types +++ b/tests/baselines/reference/genericConstraintDeclaration.types @@ -7,7 +7,7 @@ class List{ static empty(): List{return null;} >empty : () => List -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ } diff --git a/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes.types b/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes.types index 17ebd9cbdf14e..f1f9a77a6dbf5 100644 --- a/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes.types +++ b/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes.types @@ -42,11 +42,11 @@ module EndGate.Tweening { > : ^ >from.Clone() : any >from.Clone : () => any -> : ^^^^^^^^^ +> : ^^^^^^ >from : T > : ^ >Clone : () => any -> : ^^^^^^^^^ +> : ^^^^^^ } } } diff --git a/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes2.types b/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes2.types index a60fdb65ff851..9c3d23ce7348c 100644 --- a/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes2.types +++ b/tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes2.types @@ -41,11 +41,11 @@ module EndGate.Tweening { > : ^ >from.Clone() : any >from.Clone : () => any -> : ^^^^^^^^^ +> : ^^^^^^ >from : T > : ^ >Clone : () => any -> : ^^^^^^^^^ +> : ^^^^^^ } } } diff --git a/tests/baselines/reference/genericConstraintSatisfaction1.types b/tests/baselines/reference/genericConstraintSatisfaction1.types index e93ae5f540c45..d14e15e7039bb 100644 --- a/tests/baselines/reference/genericConstraintSatisfaction1.types +++ b/tests/baselines/reference/genericConstraintSatisfaction1.types @@ -4,7 +4,7 @@ interface I { f: (x: T) => void >f : (x: T) => void -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : T > : ^ } @@ -19,11 +19,11 @@ x.f({s: 1}) >x.f({s: 1}) : void > : ^^^^ >x.f : (x: T) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^ >x : I<{ s: string; }> -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^ >f : (x: T) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^ >{s: 1} : { s: number; } > : ^^^^^^^^^^^^^^ >s : number diff --git a/tests/baselines/reference/genericConstructorFunction1.types b/tests/baselines/reference/genericConstructorFunction1.types index 7e9958c69af92..b9349680c0bae 100644 --- a/tests/baselines/reference/genericConstructorFunction1.types +++ b/tests/baselines/reference/genericConstructorFunction1.types @@ -17,11 +17,11 @@ function f1(args: T) { var v2 = v1['test']; >v2 : new (arg: T) => Date -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >v1['test'] : new (arg: T) => Date -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >v1 : { [index: string]: new (arg: T) => Date; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ >'test' : "test" > : ^^^^^^ @@ -29,7 +29,7 @@ function f1(args: T) { >v2(args) : any > : ^^^ >v2 : new (arg: T) => Date -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >args : T > : ^ @@ -37,7 +37,7 @@ function f1(args: T) { >new v2(args) : Date > : ^^^^ >v2 : new (arg: T) => Date -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >args : T > : ^ } diff --git a/tests/baselines/reference/genericContextualTypes1.types b/tests/baselines/reference/genericContextualTypes1.types index 5ac638f5706c5..14013a8f93a73 100644 --- a/tests/baselines/reference/genericContextualTypes1.types +++ b/tests/baselines/reference/genericContextualTypes1.types @@ -99,7 +99,7 @@ const f00: (x: A) => A[] = list; >x : A > : ^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ const f01: (x: A) => A[] = x => [x]; >f01 : (x: A) => A[] @@ -123,9 +123,9 @@ const f02: (x: A) => A[] = wrap(list); >wrap(list) : (a: A) => A[] > : ^ ^^^^^^^^^^^ >wrap : (f: (a: A) => B) => (a: A) => B -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ const f03: (x: A) => A[] = wrap(x => [x]); >f03 : (x: A) => A[] @@ -135,7 +135,7 @@ const f03: (x: A) => A[] = wrap(x => [x]); >wrap(x => [x]) : (a: A) => A[] > : ^ ^^^^^^^^^^^ >wrap : (f: (a: A) => B) => (a: A) => B -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >x => [x] : (x: A) => A[] > : ^ ^^^^^^^^^^^ >x : A @@ -153,7 +153,7 @@ const f10: (x: T) => Box = compose(a => list(a), b => box(b)); >compose(a => list(a), b => box(b)) : (a: T) => Box > : ^ ^^^^^^^^^^^^^^^^ >compose : (f: (a: A) => B, g: (b: B) => C) => (a: A) => C -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a => list(a) : (a: T) => T[] > : ^ ^^^^^^^^^^^ >a : T @@ -161,7 +161,7 @@ const f10: (x: T) => Box = compose(a => list(a), b => box(b)); >list(a) : T[] > : ^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a : T > : ^ >b => box(b) : (b: T[]) => Box @@ -171,7 +171,7 @@ const f10: (x: T) => Box = compose(a => list(a), b => box(b)); >box(b) : Box > : ^^^^^^^^ >box : (x: V) => Box -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b : T[] > : ^^^ @@ -183,11 +183,11 @@ const f11: (x: T) => Box = compose(list, box); >compose(list, box) : (a: T) => Box > : ^ ^^^^^^^^^^^^^^^^ >compose : (f: (a: A) => B, g: (b: B) => C) => (a: A) => C -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >box : (x: V) => Box -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ const f12: (x: Box) => T = compose(a => unbox(a), b => unlist(b)); >f12 : (x: Box) => T @@ -197,7 +197,7 @@ const f12: (x: Box) => T = compose(a => unbox(a), b => unlist(b)); >compose(a => unbox(a), b => unlist(b)) : (a: Box) => T > : ^ ^^^^^^^^^^^^^^^^ >compose : (f: (a: A) => B, g: (b: B) => C) => (a: A) => C -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a => unbox(a) : (a: Box) => T[] > : ^ ^^^^^^^^^^^^^^^^^^ >a : Box @@ -205,7 +205,7 @@ const f12: (x: Box) => T = compose(a => unbox(a), b => unlist(b)); >unbox(a) : T[] > : ^^^ >unbox : (x: Box) => W -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a : Box > : ^^^^^^^^ >b => unlist(b) : (b: T[]) => T @@ -215,7 +215,7 @@ const f12: (x: Box) => T = compose(a => unbox(a), b => unlist(b)); >unlist(b) : T > : ^ >unlist : (a: T[]) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b : T[] > : ^^^ @@ -227,11 +227,11 @@ const f13: (x: Box) => T = compose(unbox, unlist); >compose(unbox, unlist) : (a: Box) => T > : ^ ^^^^^^^^^^^^^^^^ >compose : (f: (a: A) => B, g: (b: B) => C) => (a: A) => C -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >unbox : (x: Box) => W -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >unlist : (a: T[]) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ const arrayMap = (f: (x: T) => U) => (a: T[]) => a.map(f); >arrayMap : (f: (x: T) => U) => (a: T[]) => U[] @@ -249,13 +249,13 @@ const arrayMap = (f: (x: T) => U) => (a: T[]) => a.map(f); >a.map(f) : U[] > : ^^^ >a.map : (callbackfn: (value: T, index: number, array: T[]) => U_1, thisArg?: any) => U_1[] -> : ^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ >a : T[] > : ^^^ >map : (callbackfn: (value: T, index: number, array: T[]) => U_1, thisArg?: any) => U_1[] -> : ^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ >f : (x: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ const arrayFilter = (f: (x: T) => boolean) => (a: T[]) => a.filter(f); >arrayFilter : (f: (x: T) => boolean) => (a: T[]) => T[] @@ -273,13 +273,13 @@ const arrayFilter = (f: (x: T) => boolean) => (a: T[]) => a.filter(f); >a.filter(f) : T[] > : ^^^ >a.filter : { (predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any): S[]; (predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): T[]; } -> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^^ ^^^ >a : T[] > : ^^^ >filter : { (predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any): S[]; (predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): T[]; } -> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^^ ^^^ >f : (x: T) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ const f20: (a: string[]) => number[] = arrayMap(x => x.length); >f20 : (a: string[]) => number[] @@ -329,7 +329,7 @@ const f22: (a: A[]) => A[] = arrayMap(identity); >arrayMap : (f: (x: T) => U) => (a: T[]) => U[] > : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^ >identity : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ const f23: (a: A[]) => Box[] = arrayMap(value => ({ value })); >f23 : (a: A[]) => Box[] @@ -377,7 +377,7 @@ const f30: (a: string[]) => string[] = arrayFilter(x => x.length > 10); const f31: >(a: T[]) => T[] = arrayFilter(x => x.value > 10); >f31 : >(a: T[]) => T[] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a : T[] > : ^^^ >arrayFilter(x => x.value > 10) : (a: T[]) => T[] @@ -409,9 +409,9 @@ const f40: (b: B, a: A) => [A, B] = flip(zip); >flip(zip) : (y: B, x: A) => [A, B] > : ^ ^^^^^ ^^^^^^^^^^^^^^ >flip : (f: (x: X, y: Y) => Z) => (y: Y, x: X) => Z -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >zip : (a: A, b: B) => [A, B] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ // Repro from #16293 diff --git a/tests/baselines/reference/genericContextualTypes2.types b/tests/baselines/reference/genericContextualTypes2.types index 9f027b4b1d490..5a0a15b751ddf 100644 --- a/tests/baselines/reference/genericContextualTypes2.types +++ b/tests/baselines/reference/genericContextualTypes2.types @@ -81,7 +81,7 @@ createMachine<{ count: number }>({ >createMachine<{ count: number }>({ context: { count: 0, }, entry: assign({ count: (ctx: { count: number }) => ++ctx.count, }),}) : void > : ^^^^ >createMachine : (config: Config) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >count : number > : ^^^^^^ >{ context: { count: 0, }, entry: assign({ count: (ctx: { count: number }) => ++ctx.count, }),} : { context: { count: number; }; entry: AssignAction<{ count: number; }>; } @@ -102,11 +102,11 @@ createMachine<{ count: number }>({ }, entry: assign({ >entry : AssignAction<{ count: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >assign({ count: (ctx: { count: number }) => ++ctx.count, }) : AssignAction<{ count: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >assign : (assignment: PropertyAssigner>) => AssignAction -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ count: (ctx: { count: number }) => ++ctx.count, } : { count: (ctx: { count: number; }) => number; } > : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ @@ -124,7 +124,7 @@ createMachine<{ count: number }>({ >ctx.count : number > : ^^^^^^ >ctx : { count: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >count : number > : ^^^^^^ diff --git a/tests/baselines/reference/genericContextualTypes3.types b/tests/baselines/reference/genericContextualTypes3.types index 816bd57d9adf2..4b7a6177b5b1d 100644 --- a/tests/baselines/reference/genericContextualTypes3.types +++ b/tests/baselines/reference/genericContextualTypes3.types @@ -79,7 +79,7 @@ createMachine<{ count: number }>({ >createMachine<{ count: number }>({ context: { count: 0, }, entry: assign({ count: (ctx: { count: number }) => ++ctx.count, }),}) : void > : ^^^^ >createMachine : (config: Config) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >count : number > : ^^^^^^ >{ context: { count: 0, }, entry: assign({ count: (ctx: { count: number }) => ++ctx.count, }),} : { context: { count: number; }; entry: AssignAction<{ count: number; }>; } @@ -100,11 +100,11 @@ createMachine<{ count: number }>({ }, entry: assign({ >entry : AssignAction<{ count: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >assign({ count: (ctx: { count: number }) => ++ctx.count, }) : AssignAction<{ count: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >assign : (assignment: PropertyAssigner>) => AssignAction -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ count: (ctx: { count: number }) => ++ctx.count, } : { count: (ctx: { count: number; }) => number; } > : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ @@ -122,7 +122,7 @@ createMachine<{ count: number }>({ >ctx.count : number > : ^^^^^^ >ctx : { count: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >count : number > : ^^^^^^ diff --git a/tests/baselines/reference/genericDefaults.types b/tests/baselines/reference/genericDefaults.types index 2c3128cffce92..b4c1c435c1d7a 100644 --- a/tests/baselines/reference/genericDefaults.types +++ b/tests/baselines/reference/genericDefaults.types @@ -69,13 +69,13 @@ f00(); >f00() : A > : ^ >f00 : (a?: A) => A -> : ^ ^^^ ^^^^^^ +> : ^ ^^^ ^^^^^ f00(a); >f00(a) : A > : ^ >f00 : (a?: A) => A -> : ^ ^^^ ^^^^^^ +> : ^ ^^^ ^^^^^ >a : A > : ^ @@ -91,13 +91,13 @@ f01(); >f01() : unknown > : ^^^^^^^ >f01 : (a?: T) => T -> : ^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^^ ^^^^^ f01(a); >f01(a) : A > : ^ >f01 : (a?: T) => T -> : ^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -106,13 +106,13 @@ f01(); >f01() : A > : ^ >f01 : (a?: T) => T -> : ^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^^ ^^^^^ f01(a); >f01(a) : A > : ^ >f01 : (a?: T) => T -> : ^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -128,13 +128,13 @@ f02(); >f02() : A > : ^ >f02 : (a?: T) => T -> : ^ ^^^^^^ ^^^ ^^^^^^ +> : ^ ^^^^^^ ^^^ ^^^^^ f02(a); >f02(a) : A > : ^ >f02 : (a?: T) => T -> : ^ ^^^^^^ ^^^ ^^^^^^ +> : ^ ^^^^^^ ^^^ ^^^^^ >a : A > : ^ @@ -142,7 +142,7 @@ f02(b); >f02(b) : B > : ^ >f02 : (a?: T) => T -> : ^ ^^^^^^ ^^^ ^^^^^^ +> : ^ ^^^^^^ ^^^ ^^^^^ >b : B > : ^ @@ -151,13 +151,13 @@ f02(); >f02() : A > : ^ >f02 : (a?: T) => T -> : ^ ^^^^^^ ^^^ ^^^^^^ +> : ^ ^^^^^^ ^^^ ^^^^^ f02(a); >f02(a) : A > : ^ >f02 : (a?: T) => T -> : ^ ^^^^^^ ^^^ ^^^^^^ +> : ^ ^^^^^^ ^^^ ^^^^^ >a : A > : ^ @@ -165,13 +165,13 @@ f02(); >f02() : B > : ^ >f02 : (a?: T) => T -> : ^ ^^^^^^ ^^^ ^^^^^^ +> : ^ ^^^^^^ ^^^ ^^^^^ f02(b); >f02(b) : B > : ^ >f02 : (a?: T) => T -> : ^ ^^^^^^ ^^^ ^^^^^^ +> : ^ ^^^^^^ ^^^ ^^^^^ >b : B > : ^ @@ -187,13 +187,13 @@ f03(); >f03() : unknown > : ^^^^^^^ >f03 : (a?: T) => T -> : ^ ^^^^^^ ^^^ ^^^^^^ +> : ^ ^^^^^^ ^^^ ^^^^^ f03(a); >f03(a) : A > : ^ >f03 : (a?: T) => T -> : ^ ^^^^^^ ^^^ ^^^^^^ +> : ^ ^^^^^^ ^^^ ^^^^^ >a : A > : ^ @@ -201,7 +201,7 @@ f03(b); >f03(b) : B > : ^ >f03 : (a?: T) => T -> : ^ ^^^^^^ ^^^ ^^^^^^ +> : ^ ^^^^^^ ^^^ ^^^^^ >b : B > : ^ @@ -210,13 +210,13 @@ f03(); >f03() : A > : ^ >f03 : (a?: T) => T -> : ^ ^^^^^^ ^^^ ^^^^^^ +> : ^ ^^^^^^ ^^^ ^^^^^ f03(a); >f03(a) : A > : ^ >f03 : (a?: T) => T -> : ^ ^^^^^^ ^^^ ^^^^^^ +> : ^ ^^^^^^ ^^^ ^^^^^ >a : A > : ^ @@ -224,13 +224,13 @@ f03(); >f03() : B > : ^ >f03 : (a?: T) => T -> : ^ ^^^^^^ ^^^ ^^^^^^ +> : ^ ^^^^^^ ^^^ ^^^^^ f03(b); >f03(b) : B > : ^ >f03 : (a?: T) => T -> : ^ ^^^^^^ ^^^ ^^^^^^ +> : ^ ^^^^^^ ^^^ ^^^^^ >b : B > : ^ @@ -248,13 +248,13 @@ f04(); >f04() : [unknown, B] > : ^^^^^^^^^^^^ >f04 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f04(a); >f04(a) : [A, B] > : ^^^^^^ >f04 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -262,7 +262,7 @@ f04(a, b); >f04(a, b) : [A, B] > : ^^^^^^ >f04 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -272,7 +272,7 @@ f04(a, c); >f04(a, c) : [A, C] > : ^^^^^^ >f04 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >c : C @@ -283,13 +283,13 @@ f04(); >f04() : [A, B] > : ^^^^^^ >f04 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f04(a); >f04(a) : [A, B] > : ^^^^^^ >f04 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -297,7 +297,7 @@ f04(a, b); >f04(a, b) : [A, B] > : ^^^^^^ >f04 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -308,13 +308,13 @@ f04(); >f04() : [A, B] > : ^^^^^^ >f04 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f04(a); >f04(a) : [A, B] > : ^^^^^^ >f04 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -322,7 +322,7 @@ f04(a, b); >f04(a, b) : [A, B] > : ^^^^^^ >f04 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -332,13 +332,13 @@ f04(); >f04() : [A, C] > : ^^^^^^ >f04 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f04(a); >f04(a) : [A, C] > : ^^^^^^ >f04 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -346,7 +346,7 @@ f04(a, c); >f04(a, c) : [A, C] > : ^^^^^^ >f04 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >c : C @@ -366,13 +366,13 @@ f05(); >f05() : [unknown, unknown] > : ^^^^^^^^^^^^^^^^^^ >f05 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f05(a); >f05(a) : [A, A] > : ^^^^^^ >f05 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -380,7 +380,7 @@ f05(a, a); >f05(a, a) : [A, A] > : ^^^^^^ >f05 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >a : A @@ -390,7 +390,7 @@ f05(a, b); >f05(a, b) : [A, B] > : ^^^^^^ >f05 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -401,13 +401,13 @@ f05(); >f05() : [A, A] > : ^^^^^^ >f05 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f05(a); >f05(a) : [A, A] > : ^^^^^^ >f05 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -415,7 +415,7 @@ f05(a, a); >f05(a, a) : [A, A] > : ^^^^^^ >f05 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >a : A @@ -426,13 +426,13 @@ f05(); >f05() : [A, B] > : ^^^^^^ >f05 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f05(a); >f05(a) : [A, B] > : ^^^^^^ >f05 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -440,7 +440,7 @@ f05(a, b); >f05(a, b) : [A, B] > : ^^^^^^ >f05 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -460,13 +460,13 @@ f06(); >f06() : [A, A] > : ^^^^^^ >f06 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f06(a); >f06(a) : [A, A] > : ^^^^^^ >f06 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -474,7 +474,7 @@ f06(a, a); >f06(a, a) : [A, A] > : ^^^^^^ >f06 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >a : A @@ -484,7 +484,7 @@ f06(a, b); >f06(a, b) : [A, B] > : ^^^^^^ >f06 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -494,7 +494,7 @@ f06(b, a); >f06(b, a) : [B, A] > : ^^^^^^ >f06 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >b : B > : ^ >a : A @@ -504,7 +504,7 @@ f06(b, b); >f06(b, b) : [B, B] > : ^^^^^^ >f06 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >b : B > : ^ >b : B @@ -515,13 +515,13 @@ f06(); >f06() : [A, A] > : ^^^^^^ >f06 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f06(a); >f06(a) : [A, A] > : ^^^^^^ >f06 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -529,7 +529,7 @@ f06(a, a); >f06(a, a) : [A, A] > : ^^^^^^ >f06 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >a : A @@ -539,13 +539,13 @@ f06(); >f06() : [B, B] > : ^^^^^^ >f06 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f06(b); >f06(b) : [B, B] > : ^^^^^^ >f06 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >b : B > : ^ @@ -553,7 +553,7 @@ f06(b, b); >f06(b, b) : [B, B] > : ^^^^^^ >f06 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >b : B > : ^ >b : B @@ -564,13 +564,13 @@ f06(); >f06() : [A, B] > : ^^^^^^ >f06 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f06(a); >f06(a) : [A, B] > : ^^^^^^ >f06 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -578,7 +578,7 @@ f06(a, b); >f06(a, b) : [A, B] > : ^^^^^^ >f06 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -588,13 +588,13 @@ f06(); >f06() : [B, C] > : ^^^^^^ >f06 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f06(b); >f06(b) : [B, C] > : ^^^^^^ >f06 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >b : B > : ^ @@ -602,7 +602,7 @@ f06(b, c); >f06(b, c) : [B, C] > : ^^^^^^ >f06 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >b : B > : ^ >c : C @@ -624,13 +624,13 @@ f07(); >f07() : [unknown, B, B] > : ^^^^^^^^^^^^^^^ >f07 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ f07(a, b); >f07(a, b) : [A, B, B] > : ^^^^^^^^^ >f07 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -640,7 +640,7 @@ f07(a, c); >f07(a, c) : [A, C, C] > : ^^^^^^^^^ >f07 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >c : C @@ -650,7 +650,7 @@ f07(a, b, b); >f07(a, b, b) : [A, B, B] > : ^^^^^^^^^ >f07 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -662,7 +662,7 @@ f07(a, b, c); >f07(a, b, c) : [A, B, C] > : ^^^^^^^^^ >f07 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -674,7 +674,7 @@ f07(a, c, b); >f07(a, c, b) : [A, C, B] > : ^^^^^^^^^ >f07 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >c : C @@ -686,7 +686,7 @@ f07(a, c, c); >f07(a, c, c) : [A, C, C] > : ^^^^^^^^^ >f07 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >c : C @@ -699,13 +699,13 @@ f07(); >f07() : [A, B, B] > : ^^^^^^^^^ >f07 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ f07(a); >f07(a) : [A, B, B] > : ^^^^^^^^^ >f07 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -713,7 +713,7 @@ f07(a, b); >f07(a, b) : [A, B, B] > : ^^^^^^^^^ >f07 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -723,7 +723,7 @@ f07(a, b, b); >f07(a, b, b) : [A, B, B] > : ^^^^^^^^^ >f07 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -735,13 +735,13 @@ f07(); >f07() : [A, B, B] > : ^^^^^^^^^ >f07 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ f07(a); >f07(a) : [A, B, B] > : ^^^^^^^^^ >f07 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -749,7 +749,7 @@ f07(a, b); >f07(a, b) : [A, B, B] > : ^^^^^^^^^ >f07 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -759,7 +759,7 @@ f07(a, b, b); >f07(a, b, b) : [A, B, B] > : ^^^^^^^^^ >f07 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -771,13 +771,13 @@ f07(); >f07() : [A, C, C] > : ^^^^^^^^^ >f07 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ f07(a); >f07(a) : [A, C, C] > : ^^^^^^^^^ >f07 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -785,7 +785,7 @@ f07(a, c); >f07(a, c) : [A, C, C] > : ^^^^^^^^^ >f07 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >c : C @@ -795,7 +795,7 @@ f07(a, c, c); >f07(a, c, c) : [A, C, C] > : ^^^^^^^^^ >f07 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >c : C @@ -808,13 +808,13 @@ f07(); >f07() : [A, B, C] > : ^^^^^^^^^ >f07 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ f07(a); >f07(a) : [A, B, C] > : ^^^^^^^^^ >f07 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -822,7 +822,7 @@ f07(a, b); >f07(a, b) : [A, B, C] > : ^^^^^^^^^ >f07 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -832,7 +832,7 @@ f07(a, b, c); >f07(a, b, c) : [A, B, C] > : ^^^^^^^^^ >f07 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -844,13 +844,13 @@ f07(); >f07() : [A, C, A] > : ^^^^^^^^^ >f07 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ f07(a); >f07(a) : [A, C, A] > : ^^^^^^^^^ >f07 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -858,7 +858,7 @@ f07(a, c); >f07(a, c) : [A, C, D] > : ^^^^^^^^^ >f07 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >c : C @@ -868,7 +868,7 @@ f07(a, c, d); >f07(a, c, d) : [A, C, D] > : ^^^^^^^^^ >f07 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >c : C @@ -879,7 +879,7 @@ f07(a, c, d); // function with a type parameter with a default that refers to an earlier type parameter with a constraint declare function f08(a?: T, b?: U): [T, U]; >f08 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : T > : ^ >b : U @@ -890,13 +890,13 @@ f08(); >f08() : [A, A] > : ^^^^^^ >f08 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f08(a); >f08(a) : [A, A] > : ^^^^^^ >f08 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -904,7 +904,7 @@ f08(a, a); >f08(a, a) : [A, A] > : ^^^^^^ >f08 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >a : A @@ -914,7 +914,7 @@ f08(a, b); >f08(a, b) : [A, B] > : ^^^^^^ >f08 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -925,13 +925,13 @@ f08(); >f08() : [A, A] > : ^^^^^^ >f08 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f08(a); >f08(a) : [A, A] > : ^^^^^^ >f08 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -939,7 +939,7 @@ f08(a, a); >f08(a, a) : [A, A] > : ^^^^^^ >f08 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >a : A @@ -950,13 +950,13 @@ f08(); >f08() : [A, B] > : ^^^^^^ >f08 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f08(a); >f08(a) : [A, B] > : ^^^^^^ >f08 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -964,7 +964,7 @@ f08(a, b); >f08(a, b) : [A, B] > : ^^^^^^ >f08 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -973,7 +973,7 @@ f08(a, b); // function with a type parameter with a constraint and a default that refers to an earlier type parameter declare function f09(a?: T, b?: U): [T, U]; >f09 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : T > : ^ >b : U @@ -984,13 +984,13 @@ f09(); >f09() : [unknown, unknown] > : ^^^^^^^^^^^^^^^^^^ >f09 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f09(a); >f09(a) : [A, A] > : ^^^^^^ >f09 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -998,7 +998,7 @@ f09(a, a); >f09(a, a) : [A, A] > : ^^^^^^ >f09 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >a : A @@ -1008,7 +1008,7 @@ f09(a, ab); >f09(a, ab) : [A, AB] > : ^^^^^^^ >f09 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >ab : AB @@ -1019,13 +1019,13 @@ f09(); >f09() : [A, A] > : ^^^^^^ >f09 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f09(a); >f09(a) : [A, A] > : ^^^^^^ >f09 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -1033,7 +1033,7 @@ f09(a, a); >f09(a, a) : [A, A] > : ^^^^^^ >f09 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >a : A @@ -1043,7 +1043,7 @@ f09(a, ab); >f09(a, ab) : [A, A] > : ^^^^^^ >f09 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >ab : AB @@ -1054,13 +1054,13 @@ f09(); >f09() : [A, AB] > : ^^^^^^^ >f09 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f09(a); >f09(a) : [A, AB] > : ^^^^^^^ >f09 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -1068,7 +1068,7 @@ f09(a, ab); >f09(a, ab) : [A, AB] > : ^^^^^^^ >f09 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >ab : AB @@ -1077,7 +1077,7 @@ f09(a, ab); // function with a type parameter with a constraint and a default that refers to an earlier type parameter with a constraint declare function f10(a?: T, b?: U): [T, U]; >f10 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : T > : ^ >b : U @@ -1088,13 +1088,13 @@ f10(); >f10() : [A, A] > : ^^^^^^ >f10 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f10(a); >f10(a) : [A, A] > : ^^^^^^ >f10 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -1102,7 +1102,7 @@ f10(a, a); >f10(a, a) : [A, A] > : ^^^^^^ >f10 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >a : A @@ -1112,7 +1112,7 @@ f10(a, ab); >f10(a, ab) : [A, AB] > : ^^^^^^^ >f10 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >ab : AB @@ -1123,13 +1123,13 @@ f10(); >f10() : [A, A] > : ^^^^^^ >f10 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f10(a); >f10(a) : [A, A] > : ^^^^^^ >f10 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -1137,7 +1137,7 @@ f10(a, a); >f10(a, a) : [A, A] > : ^^^^^^ >f10 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >a : A @@ -1147,7 +1147,7 @@ f10(a, ab); >f10(a, ab) : [A, A] > : ^^^^^^ >f10 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >ab : AB @@ -1158,13 +1158,13 @@ f10(); >f10() : [A, A] > : ^^^^^^ >f10 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f10(a); >f10(a) : [A, A] > : ^^^^^^ >f10 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -1172,7 +1172,7 @@ f10(a, a); >f10(a, a) : [A, A] > : ^^^^^^ >f10 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >a : A @@ -1182,7 +1182,7 @@ f10(a, ab); >f10(a, ab) : [A, A] > : ^^^^^^ >f10 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >ab : AB @@ -1192,13 +1192,13 @@ f10(); >f10() : [A, AB] > : ^^^^^^^ >f10 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f10(a); >f10(a) : [A, AB] > : ^^^^^^^ >f10 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -1206,7 +1206,7 @@ f10(a, ab); >f10(a, ab) : [A, AB] > : ^^^^^^^ >f10 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >ab : AB @@ -1226,13 +1226,13 @@ f11(); >f11() : [unknown, unknown] > : ^^^^^^^^^^^^^^^^^^ >f11 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ f11(a); >f11(a) : [A, A | B] > : ^^^^^^^^^^ >f11 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -1240,7 +1240,7 @@ f11(a, a); >f11(a, a) : [A, A] > : ^^^^^^ >f11 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >a : A @@ -1250,7 +1250,7 @@ f11(a, b); >f11(a, b) : [A, B] > : ^^^^^^ >f11 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -1260,7 +1260,7 @@ f11(a, c); >f11(a, c) : [A, C] > : ^^^^^^ >f11 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >c : C @@ -1271,13 +1271,13 @@ f11(); >f11() : [A, A | B] > : ^^^^^^^^^^ >f11 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ f11(a); >f11(a) : [A, A | B] > : ^^^^^^^^^^ >f11 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -1285,7 +1285,7 @@ f11(a, a); >f11(a, a) : [A, A | B] > : ^^^^^^^^^^ >f11 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >a : A @@ -1295,7 +1295,7 @@ f11(a, b); >f11(a, b) : [A, A | B] > : ^^^^^^^^^^ >f11 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -1306,13 +1306,13 @@ f11(); >f11() : [A, C] > : ^^^^^^ >f11 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ f11(a); >f11(a) : [A, C] > : ^^^^^^ >f11 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -1320,7 +1320,7 @@ f11(a, c); >f11(a, c) : [A, C] > : ^^^^^^ >f11 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >c : C @@ -1340,13 +1340,13 @@ f12(); >f12() : [unknown, B] > : ^^^^^^^^^^^^ >f12 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ f12(a); >f12(a) : [A, A & B] > : ^^^^^^^^^^ >f12 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -1354,7 +1354,7 @@ f12(a, a); >f12(a, a) : [A, A] > : ^^^^^^ >f12 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >a : A @@ -1364,7 +1364,7 @@ f12(a, b); >f12(a, b) : [A, B] > : ^^^^^^ >f12 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -1374,7 +1374,7 @@ f12(a, c); >f12(a, c) : [A, C] > : ^^^^^^ >f12 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >c : C @@ -1385,13 +1385,13 @@ f12(); >f12() : [A, A & B] > : ^^^^^^^^^^ >f12 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ f12(a); >f12(a) : [A, A & B] > : ^^^^^^^^^^ >f12 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -1399,7 +1399,7 @@ f12(a, ab); >f12(a, ab) : [A, A & B] > : ^^^^^^^^^^ >f12 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >ab : AB @@ -1410,13 +1410,13 @@ f12(); >f12() : [A, C] > : ^^^^^^ >f12 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ f12(a); >f12(a) : [A, C] > : ^^^^^^ >f12 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -1424,7 +1424,7 @@ f12(a, c); >f12(a, c) : [A, C] > : ^^^^^^ >f12 : (a?: T, b?: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >c : C @@ -1444,13 +1444,13 @@ f13(); >f13() : [unknown, B] > : ^^^^^^^^^^^^ >f13 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f13(a); >f13(a) : [A, B] > : ^^^^^^ >f13 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -1458,7 +1458,7 @@ f13(a, b); >f13(a, b) : [A, B] > : ^^^^^^ >f13 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -1468,7 +1468,7 @@ f13(a, c); >f13(a, c) : [A, C] > : ^^^^^^ >f13 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >c : C @@ -1479,13 +1479,13 @@ f13(); >f13() : [A, B] > : ^^^^^^ >f13 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f13(a); >f13(a) : [A, B] > : ^^^^^^ >f13 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -1493,7 +1493,7 @@ f13(a, b); >f13(a, b) : [A, B] > : ^^^^^^ >f13 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -1504,13 +1504,13 @@ f13(); >f13() : [A, C] > : ^^^^^^ >f13 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f13(a); >f13(a) : [A, C] > : ^^^^^^ >f13 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -1518,7 +1518,7 @@ f13(a, c); >f13(a, c) : [A, C] > : ^^^^^^ >f13 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >c : C @@ -1528,7 +1528,7 @@ f13(a, c); >f13(a, c) : [A, C] > : ^^^^^^ >f13 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >c : C @@ -1550,13 +1550,13 @@ f14(); >f14() : [unknown, unknown, C] > : ^^^^^^^^^^^^^^^^^^^^^ >f14 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ f14(a); >f14(a) : [A, unknown, C] > : ^^^^^^^^^^^^^^^ >f14 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -1564,7 +1564,7 @@ f14(a, b); >f14(a, b) : [A, B, C] > : ^^^^^^^^^ >f14 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -1574,7 +1574,7 @@ f14(a, b, c); >f14(a, b, c) : [A, B, C] > : ^^^^^^^^^ >f14 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -1586,7 +1586,7 @@ f14(a, b, d); >f14(a, b, d) : [A, B, D] > : ^^^^^^^^^ >f14 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -1599,13 +1599,13 @@ f14(); >f14() : [A, any, C] > : ^^^^^^^^^^^ >f14 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ f14(a); >f14(a) : [A, any, C] > : ^^^^^^^^^^^ >f14 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -1613,7 +1613,7 @@ f14(a, b); >f14(a, b) : [A, any, C] > : ^^^^^^^^^^^ >f14 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -1623,7 +1623,7 @@ f14(a, b, c); >f14(a, b, c) : [A, any, C] > : ^^^^^^^^^^^ >f14 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -1635,13 +1635,13 @@ f14(); >f14() : [A, B, C] > : ^^^^^^^^^ >f14 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ f14(a); >f14(a) : [A, B, C] > : ^^^^^^^^^ >f14 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -1649,7 +1649,7 @@ f14(a, b); >f14(a, b) : [A, B, C] > : ^^^^^^^^^ >f14 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -1659,7 +1659,7 @@ f14(a, b, c); >f14(a, b, c) : [A, B, C] > : ^^^^^^^^^ >f14 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -1672,13 +1672,13 @@ f14(); >f14() : [A, B, D] > : ^^^^^^^^^ >f14 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ f14(a); >f14(a) : [A, B, D] > : ^^^^^^^^^ >f14 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -1686,7 +1686,7 @@ f14(a, b); >f14(a, b) : [A, B, D] > : ^^^^^^^^^ >f14 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -1696,7 +1696,7 @@ f14(a, b, d); >f14(a, b, d) : [A, B, D] > : ^^^^^^^^^ >f14 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -1718,13 +1718,13 @@ f15(); >f15() : [unknown, unknown] > : ^^^^^^^^^^^^^^^^^^ >f15 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f15(a); >f15(a) : [A, A] > : ^^^^^^ >f15 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -1732,7 +1732,7 @@ f15(a, b); >f15(a, b) : [A, B] > : ^^^^^^ >f15 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -1743,13 +1743,13 @@ f15(); >f15() : [A, A] > : ^^^^^^ >f15 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f15(a); >f15(a) : [A, A] > : ^^^^^^ >f15 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -1757,7 +1757,7 @@ f15(a, a); >f15(a, a) : [A, A] > : ^^^^^^ >f15 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >a : A @@ -1768,13 +1768,13 @@ f15(); >f15() : [A, B] > : ^^^^^^ >f15 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ f15(a); >f15(a) : [A, B] > : ^^^^^^ >f15 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -1782,7 +1782,7 @@ f15(a, b); >f15(a, b) : [A, B] > : ^^^^^^ >f15 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -1804,13 +1804,13 @@ f16(); >f16() : [unknown, unknown, unknown] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f16 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ f16(a); >f16(a) : [A, unknown, unknown] > : ^^^^^^^^^^^^^^^^^^^^^ >f16 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -1818,7 +1818,7 @@ f16(a, b); >f16(a, b) : [A, B, B] > : ^^^^^^^^^ >f16 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -1828,7 +1828,7 @@ f16(a, b, b); >f16(a, b, b) : [A, B, B] > : ^^^^^^^^^ >f16 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -1841,13 +1841,13 @@ f16(); >f16() : [A, any, any] > : ^^^^^^^^^^^^^ >f16 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ f16(a); >f16(a) : [A, any, any] > : ^^^^^^^^^^^^^ >f16 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -1855,7 +1855,7 @@ f16(a, b); >f16(a, b) : [A, any, any] > : ^^^^^^^^^^^^^ >f16 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -1865,7 +1865,7 @@ f16(a, b, b); >f16(a, b, b) : [A, any, any] > : ^^^^^^^^^^^^^ >f16 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -1877,13 +1877,13 @@ f16(); >f16() : [A, B, B] > : ^^^^^^^^^ >f16 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ f16(a); >f16(a) : [A, B, B] > : ^^^^^^^^^ >f16 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -1891,7 +1891,7 @@ f16(a, b); >f16(a, b) : [A, B, B] > : ^^^^^^^^^ >f16 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -1901,7 +1901,7 @@ f16(a, b, b); >f16(a, b, b) : [A, B, B] > : ^^^^^^^^^ >f16 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -1914,13 +1914,13 @@ f16(); >f16() : [A, B, D] > : ^^^^^^^^^ >f16 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ f16(a); >f16(a) : [A, B, D] > : ^^^^^^^^^ >f16 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -1928,7 +1928,7 @@ f16(a, b); >f16(a, b) : [A, B, D] > : ^^^^^^^^^ >f16 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -1938,7 +1938,7 @@ f16(a, b, d); >f16(a, b, d) : [A, B, D] > : ^^^^^^^^^ >f16 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -1960,13 +1960,13 @@ f17(); >f17() : [unknown, unknown] > : ^^^^^^^^^^^^^^^^^^ >f17 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ f17(a); >f17(a) : [A, A | B] > : ^^^^^^^^^^ >f17 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -1974,7 +1974,7 @@ f17(a, a); >f17(a, a) : [A, A] > : ^^^^^^ >f17 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >a : A @@ -1984,7 +1984,7 @@ f17(a, b); >f17(a, b) : [A, B] > : ^^^^^^ >f17 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -1994,7 +1994,7 @@ f17(a, c); >f17(a, c) : [A, C] > : ^^^^^^ >f17 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >c : C @@ -2005,13 +2005,13 @@ f17(); >f17() : [A, A | B] > : ^^^^^^^^^^ >f17 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ f17(a); >f17(a) : [A, A | B] > : ^^^^^^^^^^ >f17 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -2019,7 +2019,7 @@ f17(a, a); >f17(a, a) : [A, A | B] > : ^^^^^^^^^^ >f17 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >a : A @@ -2029,7 +2029,7 @@ f17(a, b); >f17(a, b) : [A, A | B] > : ^^^^^^^^^^ >f17 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -2040,13 +2040,13 @@ f17(); >f17() : [A, C] > : ^^^^^^ >f17 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ f17(a); >f17(a) : [A, C] > : ^^^^^^ >f17 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -2054,7 +2054,7 @@ f17(a, c); >f17(a, c) : [A, C] > : ^^^^^^ >f17 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >c : C @@ -2076,13 +2076,13 @@ f18(); >f18() : [unknown, unknown, unknown] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f18 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ f18(a); >f18(a) : [A, unknown, unknown] > : ^^^^^^^^^^^^^^^^^^^^^ >f18 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -2090,7 +2090,7 @@ f18(a, b); >f18(a, b) : [A, B, B | C] > : ^^^^^^^^^^^^^ >f18 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -2100,7 +2100,7 @@ f18(a, b, b); >f18(a, b, b) : [A, B, B] > : ^^^^^^^^^ >f18 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -2112,7 +2112,7 @@ f18(a, b, c); >f18(a, b, c) : [A, B, C] > : ^^^^^^^^^ >f18 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -2125,13 +2125,13 @@ f18(); >f18() : [A, any, any] > : ^^^^^^^^^^^^^ >f18 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ f18(a); >f18(a) : [A, any, any] > : ^^^^^^^^^^^^^ >f18 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -2139,7 +2139,7 @@ f18(a, b); >f18(a, b) : [A, any, any] > : ^^^^^^^^^^^^^ >f18 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -2149,7 +2149,7 @@ f18(a, b, b); >f18(a, b, b) : [A, any, any] > : ^^^^^^^^^^^^^ >f18 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -2161,7 +2161,7 @@ f18(a, b, c); >f18(a, b, c) : [A, any, any] > : ^^^^^^^^^^^^^ >f18 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -2173,13 +2173,13 @@ f18(); >f18() : [A, B, B | C] > : ^^^^^^^^^^^^^ >f18 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ f18(a); >f18(a) : [A, B, B | C] > : ^^^^^^^^^^^^^ >f18 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -2187,7 +2187,7 @@ f18(a, b); >f18(a, b) : [A, B, B | C] > : ^^^^^^^^^^^^^ >f18 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -2197,7 +2197,7 @@ f18(a, b, b); >f18(a, b, b) : [A, B, B | C] > : ^^^^^^^^^^^^^ >f18 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -2209,7 +2209,7 @@ f18(a, b, c); >f18(a, b, c) : [A, B, B | C] > : ^^^^^^^^^^^^^ >f18 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -2222,13 +2222,13 @@ f18(); >f18() : [A, B, D] > : ^^^^^^^^^ >f18 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ f18(a); >f18(a) : [A, B, D] > : ^^^^^^^^^ >f18 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -2236,7 +2236,7 @@ f18(a, b); >f18(a, b) : [A, B, D] > : ^^^^^^^^^ >f18 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -2246,7 +2246,7 @@ f18(a, b, d); >f18(a, b, d) : [A, B, D] > : ^^^^^^^^^ >f18 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -2268,13 +2268,13 @@ f19(); >f19() : [unknown, B] > : ^^^^^^^^^^^^ >f19 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ f19(a); >f19(a) : [A, A & B] > : ^^^^^^^^^^ >f19 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -2282,7 +2282,7 @@ f19(a, a); >f19(a, a) : [A, A] > : ^^^^^^ >f19 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >a : A @@ -2292,7 +2292,7 @@ f19(a, b); >f19(a, b) : [A, B] > : ^^^^^^ >f19 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -2302,7 +2302,7 @@ f19(a, ab); >f19(a, ab) : [A, AB] > : ^^^^^^^ >f19 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >ab : AB @@ -2312,7 +2312,7 @@ f19(a, c); >f19(a, c) : [A, C] > : ^^^^^^ >f19 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >c : C @@ -2323,13 +2323,13 @@ f19(); >f19() : [A, A & B] > : ^^^^^^^^^^ >f19 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ f19(a); >f19(a) : [A, A & B] > : ^^^^^^^^^^ >f19 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -2337,7 +2337,7 @@ f19(a, ab); >f19(a, ab) : [A, A & B] > : ^^^^^^^^^^ >f19 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >ab : AB @@ -2348,13 +2348,13 @@ f19(); >f19() : [A, C] > : ^^^^^^ >f19 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ f19(a); >f19(a) : [A, C] > : ^^^^^^ >f19 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -2362,7 +2362,7 @@ f19(a, c); >f19(a, c) : [A, C] > : ^^^^^^ >f19 : (a?: T, b?: U) => [T, U] -> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >c : C @@ -2384,13 +2384,13 @@ f20(); >f20() : [unknown, unknown, C] > : ^^^^^^^^^^^^^^^^^^^^^ >f20 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ f20(a); >f20(a) : [A, unknown, C] > : ^^^^^^^^^^^^^^^ >f20 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -2398,7 +2398,7 @@ f20(a, b); >f20(a, b) : [A, B, B & C] > : ^^^^^^^^^^^^^ >f20 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -2408,7 +2408,7 @@ f20(a, b, c); >f20(a, b, c) : [A, B, C] > : ^^^^^^^^^ >f20 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -2421,13 +2421,13 @@ f20(); >f20() : [A, any, any] > : ^^^^^^^^^^^^^ >f20 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ f20(a); >f20(a) : [A, any, any] > : ^^^^^^^^^^^^^ >f20 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -2435,7 +2435,7 @@ f20(a, b); >f20(a, b) : [A, any, any] > : ^^^^^^^^^^^^^ >f20 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -2445,7 +2445,7 @@ f20(a, b, bc); >f20(a, b, bc) : [A, any, any] > : ^^^^^^^^^^^^^ >f20 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -2457,13 +2457,13 @@ f20(); >f20() : [A, B, B & C] > : ^^^^^^^^^^^^^ >f20 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ f20(a); >f20(a) : [A, B, B & C] > : ^^^^^^^^^^^^^ >f20 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -2471,7 +2471,7 @@ f20(a, b); >f20(a, b) : [A, B, B & C] > : ^^^^^^^^^^^^^ >f20 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -2481,7 +2481,7 @@ f20(a, b, bc); >f20(a, b, bc) : [A, B, B & C] > : ^^^^^^^^^^^^^ >f20 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -2494,13 +2494,13 @@ f20(); >f20() : [A, B, D] > : ^^^^^^^^^ >f20 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ f20(a); >f20(a) : [A, B, D] > : ^^^^^^^^^ >f20 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -2508,7 +2508,7 @@ f20(a, b); >f20(a, b) : [A, B, D] > : ^^^^^^^^^ >f20 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B @@ -2518,7 +2518,7 @@ f20(a, b, d); >f20(a, b, d) : [A, B, D] > : ^^^^^^^^^ >f20 : (a?: T, b?: U, c?: V) => [T, U, V] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : A > : ^ >b : B diff --git a/tests/baselines/reference/genericDefaultsErrors.errors.txt b/tests/baselines/reference/genericDefaultsErrors.errors.txt index f2c9c733fc36a..c4c03e55ce828 100644 --- a/tests/baselines/reference/genericDefaultsErrors.errors.txt +++ b/tests/baselines/reference/genericDefaultsErrors.errors.txt @@ -22,11 +22,10 @@ genericDefaultsErrors.ts(32,15): error TS2707: Generic type 'i09' requi genericDefaultsErrors.ts(33,15): error TS2707: Generic type 'i09' requires between 2 and 3 type arguments. genericDefaultsErrors.ts(36,15): error TS2707: Generic type 'i09' requires between 2 and 3 type arguments. genericDefaultsErrors.ts(38,20): error TS2304: Cannot find name 'T'. -genericDefaultsErrors.ts(38,20): error TS4033: Property 'x' of exported interface has or is using private name 'T'. genericDefaultsErrors.ts(42,29): error TS2716: Type parameter 'T' has a circular default. -==== genericDefaultsErrors.ts (22 errors) ==== +==== genericDefaultsErrors.ts (21 errors) ==== declare const x: any; declare function f03(): void; // error @@ -111,8 +110,6 @@ genericDefaultsErrors.ts(42,29): error TS2716: Type parameter 'T' has a circular interface i10 { x: T; } // error ~ !!! error TS2304: Cannot find name 'T'. - ~ -!!! error TS4033: Property 'x' of exported interface has or is using private name 'T'. interface i10 {} // https://github.com/Microsoft/TypeScript/issues/16221 diff --git a/tests/baselines/reference/genericDefaultsErrors.js b/tests/baselines/reference/genericDefaultsErrors.js index 0a03112009070..3166bdc47c4ec 100644 --- a/tests/baselines/reference/genericDefaultsErrors.js +++ b/tests/baselines/reference/genericDefaultsErrors.js @@ -52,3 +52,45 @@ f11(); // ok f11(); // error f12(); // ok f12("a"); // error + + +//// [genericDefaultsErrors.d.ts] +declare const x: any; +declare function f03(): void; +declare function f04(): void; +declare function f05(): void; +declare function f06(): void; +declare function f11(): void; +declare function f12(a?: U): void; +interface i00 { +} +interface i00 { +} +interface i01 { +} +interface i01 { +} +interface i04 { +} +interface i05 { +} +interface i06 { +} +interface i07 { +} +interface i08 { +} +interface i09 { +} +type i09t00 = i09; +type i09t01 = i09<1>; +type i09t02 = i09<1, 2>; +type i09t03 = i09<1, 2, 3>; +type i09t04 = i09<1, 2, 3, 4>; +interface i10 { + x: T; +} +interface i10 { +} +interface SelfReference { +} diff --git a/tests/baselines/reference/genericDefaultsErrors.types b/tests/baselines/reference/genericDefaultsErrors.types index ffd2622505c49..83254c12a2590 100644 --- a/tests/baselines/reference/genericDefaultsErrors.types +++ b/tests/baselines/reference/genericDefaultsErrors.types @@ -7,19 +7,19 @@ declare const x: any; declare function f03(): void; // error >f03 : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ declare function f04(): void; // error >f04 : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^ declare function f05(): void; // error >f05 : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^ declare function f06(): void; // error >f06 : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ declare function f11(): void; >f11 : () => void @@ -29,31 +29,31 @@ f11(); // ok >f11() : void > : ^^^^ >f11 : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^ f11<1>(); // error >f11<1>() : void > : ^^^^ >f11 : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^ f11<1, 2>(); // ok >f11<1, 2>() : void > : ^^^^ >f11 : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^ f11<1, 2, 3>(); // ok >f11<1, 2, 3>() : void > : ^^^^ >f11 : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^ f11<1, 2, 3, 4>(); // error >f11<1, 2, 3, 4>() : void > : ^^^^ >f11 : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^ declare function f12(a?: U): void; >f12 : (a?: U) => void @@ -65,13 +65,13 @@ f12(); // ok >f12() : void > : ^^^^ >f12 : (a?: U) => void -> : ^^^^ ^^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^ ^^^^^^ ^^^ ^^^^^ f12("a"); // error >f12("a") : void > : ^^^^ >f12 : (a?: U) => void -> : ^^^^ ^^^^^^ ^^^ ^^^^^^^^^ +> : ^^^^ ^^^^^^ ^^^ ^^^^^ >"a" : "a" > : ^^^ diff --git a/tests/baselines/reference/genericDefaultsJs.types b/tests/baselines/reference/genericDefaultsJs.types index 9f0bdddf12bed..22e1b5382670b 100644 --- a/tests/baselines/reference/genericDefaultsJs.types +++ b/tests/baselines/reference/genericDefaultsJs.types @@ -42,7 +42,7 @@ const f0_v0 = f0(); >f0_v0 : any >f0() : any >f0 : (x?: T) => T -> : ^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^^ ^^^^^ const f0_v1 = f0(1); >f0_v1 : 1 @@ -50,7 +50,7 @@ const f0_v1 = f0(1); >f0(1) : 1 > : ^ >f0 : (x?: T) => T -> : ^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -60,7 +60,7 @@ const f1_c0 = f1(); >f1() : [any, number] > : ^^^^^^^^^^^^^ >f1 : (x?: T) => [T, U] -> : ^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ ^^^ ^^^^^ const f1_c1 = f1(1); >f1_c1 : [number, number] @@ -68,7 +68,7 @@ const f1_c1 = f1(1); >f1(1) : [number, number] > : ^^^^^^^^^^^^^^^^ >f1 : (x?: T) => [T, U] -> : ^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ ^^^ ^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/genericDerivedTypeWithSpecializedBase2.types b/tests/baselines/reference/genericDerivedTypeWithSpecializedBase2.types index 81a8e9b34caf3..4d0fa6ce3e5c0 100644 --- a/tests/baselines/reference/genericDerivedTypeWithSpecializedBase2.types +++ b/tests/baselines/reference/genericDerivedTypeWithSpecializedBase2.types @@ -39,7 +39,7 @@ x = y; // error >x = y : B > : ^^^^^^^^^ >x : A<{ length: number; foo: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^ ^^^^ >y : B > : ^^^^^^^^^ diff --git a/tests/baselines/reference/genericFunctionCallSignatureReturnTypeMismatch.types b/tests/baselines/reference/genericFunctionCallSignatureReturnTypeMismatch.types index 34bd5cb604cea..9f2acb454dc8a 100644 --- a/tests/baselines/reference/genericFunctionCallSignatureReturnTypeMismatch.types +++ b/tests/baselines/reference/genericFunctionCallSignatureReturnTypeMismatch.types @@ -15,11 +15,11 @@ var g : { () : S[]; }; f = g; >f = g : () => S[] -> : ^^^^^^^^^^^^ +> : ^ ^^^^^^^ >f : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >g : () => S[] -> : ^^^^^^^^^^^^ +> : ^ ^^^^^^^ var s = f("str").toUpperCase(); >s : string @@ -27,25 +27,25 @@ var s = f("str").toUpperCase(); >f("str").toUpperCase() : string > : ^^^^^^ >f("str").toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >f("str") : "str" > : ^^^^^ >f : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >"str" : "str" > : ^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ console.log(s); >console.log(s) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >s : string > : ^^^^^^ diff --git a/tests/baselines/reference/genericFunctionInference1.types b/tests/baselines/reference/genericFunctionInference1.types index e9ab16373cf65..35127cce611af 100644 --- a/tests/baselines/reference/genericFunctionInference1.types +++ b/tests/baselines/reference/genericFunctionInference1.types @@ -6,8 +6,8 @@ Instantiation count: 2,500 === genericFunctionInference1.ts === declare function pipe(ab: (...args: A) => B): (...args: A) => B; ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } -> : ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C, cd: (c: C) => D): (...args: A_1) => D; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >ab : (...args: A) => B > : ^^^^ ^^ ^^^^^ >args : A @@ -16,8 +16,8 @@ declare function pipe(ab: (...args: A) => B): (...args: A) = > : ^ declare function pipe(ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; ->pipe : { (ab: (...args: A_1) => B_1): (...args: A_1) => B_1; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } -> : ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +>pipe : { (ab: (...args: A_1) => B_1): (...args: A_1) => B_1; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C_1, cd: (c: C_1) => D): (...args: A_1) => D; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >ab : (...args: A) => B > : ^^^^ ^^ ^^^^^ >args : A @@ -30,8 +30,8 @@ declare function pipe(ab: (...args: A) => B, bc: (b: B) = > : ^ declare function pipe(ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; ->pipe : { (ab: (...args: A_1) => B_1): (...args: A_1) => B_1; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1): (...args: A_2) => C_1; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } -> : ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +>pipe : { (ab: (...args: A_1) => B_1): (...args: A_1) => B_1; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C_1): (...args: A_1) => C_1; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >ab : (...args: A) => B > : ^^^^ ^^ ^^^^^ >args : A @@ -63,7 +63,7 @@ declare function box(x: V): { value: V }; declare function foo(x: T): T; >foo : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >value : T > : ^ >x : T @@ -74,42 +74,42 @@ const f00 = pipe(list); > : ^^^^^^^^^^^^^^^^ >pipe(list) : (a: T) => T[] > : ^^^^^^^^^^^^^^^^ ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } -> : ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ const f01 = pipe(list, box); >f01 : (a: T) => { value: T[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >pipe(list, box) : (a: T) => { value: T[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } -> : ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >box : (x: V) => { value: V; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ const f02 = pipe(box, list); >f02 : (x: V) => { value: V; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^ >pipe(box, list) : (x: V) => { value: V; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } -> : ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^ +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >box : (x: V) => { value: V; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ const f03 = pipe(x => list(x), box); >f03 : (x: any) => { value: any[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >pipe(x => list(x), box) : (x: any) => { value: any[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } -> : ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x => list(x) : (x: any) => any[] > : ^ ^^^^^^^^^^^^^^^ >x : any @@ -117,21 +117,21 @@ const f03 = pipe(x => list(x), box); >list(x) : any[] > : ^^^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : any > : ^^^ >box : (x: V) => { value: V; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ const f04 = pipe(list, x => box(x)); >f04 : (a: T) => { value: T[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >pipe(list, x => box(x)) : (a: T) => { value: T[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } -> : ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x => box(x) : (x: T[]) => { value: T[]; } > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : T[] @@ -139,7 +139,7 @@ const f04 = pipe(list, x => box(x)); >box(x) : { value: T[]; } > : ^^^^^^^^^^^^^^^ >box : (x: V) => { value: V; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : T[] > : ^^^ @@ -148,8 +148,8 @@ const f05 = pipe(x => list(x), x => box(x)) > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >pipe(x => list(x), x => box(x)) : (x: any) => { value: any[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } -> : ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x => list(x) : (x: any) => any[] > : ^ ^^^^^^^^^^^^^^^ >x : any @@ -157,7 +157,7 @@ const f05 = pipe(x => list(x), x => box(x)) >list(x) : any[] > : ^^^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : any > : ^^^ >x => box(x) : (x: any[]) => { value: any[]; } @@ -167,7 +167,7 @@ const f05 = pipe(x => list(x), x => box(x)) >box(x) : { value: any[]; } > : ^^^^^^^^^^^^^^^^^ >box : (x: V) => { value: V; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : any[] > : ^^^^^ @@ -176,24 +176,24 @@ const f06 = pipe(list, pipe(box)); > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >pipe(list, pipe(box)) : (a: T) => { value: T[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } -> : ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >pipe(box) : (x: T[]) => { value: T[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } -> : ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >box : (x: V) => { value: V; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ const f07 = pipe(x => list(x), pipe(box)); >f07 : (x: any) => { value: any[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >pipe(x => list(x), pipe(box)) : (x: any) => { value: any[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } -> : ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x => list(x) : (x: any) => any[] > : ^ ^^^^^^^^^^^^^^^ >x : any @@ -201,23 +201,23 @@ const f07 = pipe(x => list(x), pipe(box)); >list(x) : any[] > : ^^^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : any > : ^^^ >pipe(box) : (x: any[]) => { value: any[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } -> : ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >box : (x: V) => { value: V; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ const f08 = pipe(x => list(x), pipe(x => box(x))); >f08 : (x: any) => { value: any[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >pipe(x => list(x), pipe(x => box(x))) : (x: any) => { value: any[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } -> : ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x => list(x) : (x: any) => any[] > : ^ ^^^^^^^^^^^^^^^ >x : any @@ -225,13 +225,13 @@ const f08 = pipe(x => list(x), pipe(x => box(x))); >list(x) : any[] > : ^^^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : any > : ^^^ >pipe(x => box(x)) : (x: any[]) => { value: any[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } -> : ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x => box(x) : (x: any[]) => { value: any[]; } > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : any[] @@ -239,7 +239,7 @@ const f08 = pipe(x => list(x), pipe(x => box(x))); >box(x) : { value: any[]; } > : ^^^^^^^^^^^^^^^^^ >box : (x: V) => { value: V; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : any[] > : ^^^^^ @@ -248,10 +248,10 @@ const f09 = pipe(list, x => x.length); > : ^^^^^^^^^^^^^^^^^^^ >pipe(list, x => x.length) : (a: T) => number > : ^^^^^^^^^^^^^^^^^^^ ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } -> : ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x => x.length : (x: T[]) => number > : ^ ^^^^^^^^^^^^^^^^ >x : T[] @@ -265,25 +265,25 @@ const f09 = pipe(list, x => x.length); const f10 = pipe(foo); >f10 : (x: T) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^ >pipe(foo) : (x: T) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } -> : ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^ +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ const f11 = pipe(foo, foo); >f11 : (x: T) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^ >pipe(foo, foo) : (x: T) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } -> : ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^ +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ const g00: (x: T) => T[] = pipe(list); >g00 : (x: T) => T[] @@ -292,10 +292,10 @@ const g00: (x: T) => T[] = pipe(list); > : ^ >pipe(list) : (a: T) => T[] > : ^^^^^^^^^^^^^ ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } -> : ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ const g01: (x: T) => { value: T[] } = pipe(list, box); >g01 : (x: T) => { value: T[]; } @@ -306,12 +306,12 @@ const g01: (x: T) => { value: T[] } = pipe(list, box); > : ^^^ >pipe(list, box) : (a: T) => { value: T[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } -> : ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >box : (x: V) => { value: V; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ const g02: (x: T) => { value: T }[] = pipe(box, list); >g02 : (x: T) => { value: T; }[] @@ -322,12 +322,12 @@ const g02: (x: T) => { value: T }[] = pipe(box, list); > : ^ >pipe(box, list) : (x: T) => { value: T; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } -> : ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >box : (x: V) => { value: V; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ const g03: (x: T) => { value: T[] } = pipe(x => list(x), box); >g03 : (x: T) => { value: T[]; } @@ -338,8 +338,8 @@ const g03: (x: T) => { value: T[] } = pipe(x => list(x), box); > : ^^^ >pipe(x => list(x), box) : (x: T) => { value: T[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } -> : ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x => list(x) : (x: T) => T[] > : ^ ^^^^^^^^^^^ >x : T @@ -347,11 +347,11 @@ const g03: (x: T) => { value: T[] } = pipe(x => list(x), box); >list(x) : T[] > : ^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : T > : ^ >box : (x: V) => { value: V; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ const g04: (x: T) => { value: T[] } = pipe(list, x => box(x)); >g04 : (x: T) => { value: T[]; } @@ -362,10 +362,10 @@ const g04: (x: T) => { value: T[] } = pipe(list, x => box(x)); > : ^^^ >pipe(list, x => box(x)) : (a: T) => { value: T[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } -> : ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x => box(x) : (x: T[]) => { value: T[]; } > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : T[] @@ -373,7 +373,7 @@ const g04: (x: T) => { value: T[] } = pipe(list, x => box(x)); >box(x) : { value: T[]; } > : ^^^^^^^^^^^^^^^ >box : (x: V) => { value: V; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : T[] > : ^^^ @@ -386,8 +386,8 @@ const g05: (x: T) => { value: T[] } = pipe(x => list(x), x => box(x)) > : ^^^ >pipe(x => list(x), x => box(x)) : (x: T) => { value: T[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } -> : ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x => list(x) : (x: T) => T[] > : ^ ^^^^^^^^^^^ >x : T @@ -395,7 +395,7 @@ const g05: (x: T) => { value: T[] } = pipe(x => list(x), x => box(x)) >list(x) : T[] > : ^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : T > : ^ >x => box(x) : (x: T[]) => { value: T[]; } @@ -405,7 +405,7 @@ const g05: (x: T) => { value: T[] } = pipe(x => list(x), x => box(x)) >box(x) : { value: T[]; } > : ^^^^^^^^^^^^^^^ >box : (x: V) => { value: V; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : T[] > : ^^^ @@ -418,16 +418,16 @@ const g06: (x: T) => { value: T[] } = pipe(list, pipe(box)); > : ^^^ >pipe(list, pipe(box)) : (a: T) => { value: T[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } -> : ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >pipe(box) : (x: T[]) => { value: T[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } -> : ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >box : (x: V) => { value: V; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ const g07: (x: T) => { value: T[] } = pipe(x => list(x), pipe(box)); >g07 : (x: T) => { value: T[]; } @@ -438,8 +438,8 @@ const g07: (x: T) => { value: T[] } = pipe(x => list(x), pipe(box)); > : ^^^ >pipe(x => list(x), pipe(box)) : (x: T) => { value: T[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } -> : ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x => list(x) : (x: T) => T[] > : ^ ^^^^^^^^^^^ >x : T @@ -447,15 +447,15 @@ const g07: (x: T) => { value: T[] } = pipe(x => list(x), pipe(box)); >list(x) : T[] > : ^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : T > : ^ >pipe(box) : (x: T[]) => { value: T[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } -> : ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >box : (x: V) => { value: V; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ const g08: (x: T) => { value: T[] } = pipe(x => list(x), pipe(x => box(x))); >g08 : (x: T) => { value: T[]; } @@ -466,8 +466,8 @@ const g08: (x: T) => { value: T[] } = pipe(x => list(x), pipe(x => box(x))); > : ^^^ >pipe(x => list(x), pipe(x => box(x))) : (x: T) => { value: T[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } -> : ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x => list(x) : (x: T) => T[] > : ^ ^^^^^^^^^^^ >x : T @@ -475,13 +475,13 @@ const g08: (x: T) => { value: T[] } = pipe(x => list(x), pipe(x => box(x))); >list(x) : T[] > : ^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : T > : ^ >pipe(x => box(x)) : (x: T[]) => { value: T[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } -> : ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x => box(x) : (x: T[]) => { value: T[]; } > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : T[] @@ -489,7 +489,7 @@ const g08: (x: T) => { value: T[] } = pipe(x => list(x), pipe(x => box(x))); >box(x) : { value: T[]; } > : ^^^^^^^^^^^^^^^ >box : (x: V) => { value: V; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : T[] > : ^^^ @@ -500,10 +500,10 @@ const g09: (x: T) => number = pipe(list, x => x.length); > : ^ >pipe(list, x => x.length) : (a: T) => number > : ^^^^^^^^^^^^^^^^ ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } -> : ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x => x.length : (x: T[]) => number > : ^ ^^^^^^^^^^^^^^^^ >x : T[] @@ -517,33 +517,33 @@ const g09: (x: T) => number = pipe(list, x => x.length); const g10: (x: T) => T = pipe(foo); >g10 : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >value : T > : ^ >x : T > : ^ >pipe(foo) : (x: T) => T > : ^^^^^^^^^^^ ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } -> : ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ const g12: (x: T) => T = pipe(foo, foo); >g12 : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >value : T > : ^ >x : T > : ^ >pipe(foo, foo) : (x: T) => T > : ^^^^^^^^^^^ ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } -> : ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ declare function pipe2(ab: (a: A) => B, cd: (c: C) => D): (a: [A, C]) => [B, D]; >pipe2 : (ab: (a: A) => B, cd: (c: C) => D) => (a: [A, C]) => [B, D] @@ -561,87 +561,87 @@ declare function pipe2(ab: (a: A) => B, cd: (c: C) => D): (a: [A, C] const f20 = pipe2(list, box); >f20 : (a: [T, V]) => [T[], { value: V; }] -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ >pipe2(list, box) : (a: [T, V]) => [T[], { value: V; }] -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ >pipe2 : (ab: (a: A) => B, cd: (c: C) => D) => (a: [A, C]) => [B, D] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >box : (x: V) => { value: V; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ const f21 = pipe2(box, list); >f21 : (a: [V, T]) => [{ value: V; }, T[]] -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^ >pipe2(box, list) : (a: [V, T]) => [{ value: V; }, T[]] -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^ >pipe2 : (ab: (a: A) => B, cd: (c: C) => D) => (a: [A, C]) => [B, D] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >box : (x: V) => { value: V; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ const f22 = pipe2(list, list); >f22 : (a: [T, T1]) => [T[], T1[]] -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ ^^^^ >pipe2(list, list) : (a: [T, T1]) => [T[], T1[]] -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ ^^^^ >pipe2 : (ab: (a: A) => B, cd: (c: C) => D) => (a: [A, C]) => [B, D] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ const f23 = pipe2(box, box); >f23 : (a: [V, V1]) => [{ value: V; }, { value: V1; }] -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ >pipe2(box, box) : (a: [V, V1]) => [{ value: V; }, { value: V1; }] -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ >pipe2 : (ab: (a: A) => B, cd: (c: C) => D) => (a: [A, C]) => [B, D] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >box : (x: V) => { value: V; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >box : (x: V) => { value: V; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ const f24 = pipe2(f20, f20); >f24 : (a: [[T, V], [T1, V1]]) => [[T[], { value: V; }], [T1[], { value: V1; }]] -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >pipe2(f20, f20) : (a: [[T, V], [T1, V1]]) => [[T[], { value: V; }], [T1[], { value: V1; }]] -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >pipe2 : (ab: (a: A) => B, cd: (c: C) => D) => (a: [A, C]) => [B, D] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >f20 : (a: [T, V]) => [T[], { value: V; }] -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ >f20 : (a: [T, V]) => [T[], { value: V; }] -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ const f25 = pipe2(foo, foo); >f25 : (a: [T, T1]) => [T, T1] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^ ^^ >pipe2(foo, foo) : (a: [T, T1]) => [T, T1] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^ ^^ >pipe2 : (ab: (a: A) => B, cd: (c: C) => D) => (a: [A, C]) => [B, D] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ const f26 = pipe2(f25, f25); >f26 : (a: [[T, T1], [T2, T3]]) => [[T, T1], [T2, T3]] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ >pipe2(f25, f25) : (a: [[T, T1], [T2, T3]]) => [[T, T1], [T2, T3]] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ >pipe2 : (ab: (a: A) => B, cd: (c: C) => D) => (a: [A, C]) => [B, D] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >f25 : (a: [T, T1]) => [T, T1] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^ ^^ >f25 : (a: [T, T1]) => [T, T1] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^ ^^ declare function pipe3(ab: (a: A) => B, ac: (a: A) => C): (a: A) => [B, C]; >pipe3 : (ab: (a: A) => B, ac: (a: A) => C) => (a: A) => [B, C] @@ -659,39 +659,39 @@ declare function pipe3(ab: (a: A) => B, ac: (a: A) => C): (a: A) => [B, const f30 = pipe3(list, box); >f30 : (a: T) => [T[], { value: T; }] -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^ >pipe3(list, box) : (a: T) => [T[], { value: T; }] -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^ >pipe3 : (ab: (a: A) => B, ac: (a: A) => C) => (a: A) => [B, C] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >box : (x: V) => { value: V; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ const f31 = pipe3(box, list); >f31 : (a: V) => [{ value: V; }, V[]] -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ ^^^^^^^^^ ^^^ ^^^ >pipe3(box, list) : (a: V) => [{ value: V; }, V[]] -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ ^^^^^^^^^ ^^^ ^^^ >pipe3 : (ab: (a: A) => B, ac: (a: A) => C) => (a: A) => [B, C] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >box : (x: V) => { value: V; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ const f32 = pipe3(list, list); >f32 : (a: T) => [T[], T[]] -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^ ^^^ ^^^ >pipe3(list, list) : (a: T) => [T[], T[]] -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^ ^^^ ^^^ >pipe3 : (ab: (a: A) => B, ac: (a: A) => C) => (a: A) => [B, C] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ declare function pipe4(funcs: [(a: A) => B, (b: B) => C]): (a: A) => C; >pipe4 : (funcs: [(a: A) => B, (b: B) => C]) => (a: A) => C @@ -711,27 +711,27 @@ const f40 = pipe4([list, box]); >pipe4([list, box]) : (a: T) => { value: T[]; } > : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ >pipe4 : (funcs: [(a: A) => B, (b: B) => C]) => (a: A) => C -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >[list, box] : [(a: T) => T[], (x: V) => { value: V; }] -> : ^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^ ^^^ ^^ ^^ ^^^^^ ^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >box : (x: V) => { value: V; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ const f41 = pipe4([box, list]); >f41 : (a: V) => { value: V; }[] -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^ >pipe4([box, list]) : (a: V) => { value: V; }[] -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^ >pipe4 : (funcs: [(a: A) => B, (b: B) => C]) => (a: A) => C -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >[box, list] : [(x: V) => { value: V; }, (a: T) => T[]] -> : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^ ^^^ ^^ ^^ ^^^^^ ^ >box : (x: V) => { value: V; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ declare function pipe5(f: (a: A) => B): { f: (a: A) => B }; >pipe5 : (f: (a: A) => B) => { f: (a: A) => B; } @@ -751,9 +751,9 @@ const f50 = pipe5(list); // No higher order inference >pipe5(list) : { f: (a: unknown) => unknown[]; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >pipe5 : (f: (a: A) => B) => { f: (a: A) => B; } -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >list : (a: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ declare function wrap3(f: (a: A, b1: B, b2: B) => C): (a: A, b1: B, b2: B) => C; >wrap3 : (f: (a: A, b1: B, b2: B) => C) => (a: A, b1: B, b2: B) => C @@ -775,7 +775,7 @@ declare function wrap3(f: (a: A, b1: B, b2: B) => C): (a: A, b1: B, b2: declare function baz(t1: T, t2: T, u: U): [T, U]; >baz : (t1: T, t2: T, u: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >t1 : T > : ^ >t2 : T @@ -785,13 +785,13 @@ declare function baz(t1: T, t2: T, u: U): [T, U]; let f60 = wrap3(baz); >f60 : (a: T, b1: U, b2: U) => [T, U] -> : ^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^ ^^^^^^^^^^^^^^ >wrap3(baz) : (a: T, b1: U, b2: U) => [T, U] -> : ^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^ ^^^^^^^^^^^^^^ >wrap3 : (f: (a: A, b1: B, b2: B) => C) => (a: A, b1: B, b2: B) => C -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >baz : (t1: T, t2: T, u: U) => [T, U] -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ declare const list2: { >list2 : { (a: T): T[]; foo: string; bar(): number; } @@ -815,24 +815,24 @@ let f70 = pipe(list2, box); > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >pipe(list2, box) : (a: T) => { value: T[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } -> : ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >list2 : { (a: T): T[]; foo: string; bar(): number; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^^ >box : (x: V) => { value: V; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ let f71 = pipe(box, list2); >f71 : (x: V) => { value: V; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^ >pipe(box, list2) : (x: V) => { value: V; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } -> : ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^ +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >box : (x: V) => { value: V; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >list2 : { (a: T): T[]; foo: string; bar(): number; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^^ declare class Point { >Point : Point @@ -874,7 +874,7 @@ declare class Bag { function asFunction(cf: new (...args: A) => B) { >asFunction : (cf: new (...args: A) => B) => (...args: A) => B -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^ >cf : new (...args: A) => B > : ^^^^^^^^ ^^ ^^^^^ >args : A @@ -888,7 +888,7 @@ function asFunction(cf: new (...args: A) => B) { >new cf(...args) : B > : ^ >cf : new (...args: A) => B -> : ^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >...args : any > : ^^^ >args : A @@ -901,7 +901,7 @@ const newPoint = asFunction(Point); >asFunction(Point) : (x: number, y: number) => Point > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >asFunction : (cf: new (...args: A) => B) => (...args: A) => B -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^ >Point : typeof Point > : ^^^^^^^^^^^^ @@ -911,7 +911,7 @@ const newBag = asFunction(Bag); >asFunction(Bag) : (...args: T[]) => Bag > : ^^^^^^^ ^^^^^^^^^^^^^^^^ >asFunction : (cf: new (...args: A) => B) => (...args: A) => B -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^ >Bag : typeof Bag > : ^^^^^^^^^^ @@ -1008,11 +1008,11 @@ declare class GenericComp extends Comp> {} const GenericComp2 = myHoc(GenericComp); >GenericComp2 : new (props: GenericProps) => Comp> -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >myHoc(GenericComp) : new (props: GenericProps) => Comp> -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >myHoc :

    (C: CompClass

    ) => CompClass

    -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >GenericComp : typeof GenericComp > : ^^^^^^^^^^^^^^^^^^ @@ -1028,7 +1028,7 @@ function mirror(f: (a: A) => B): (a: A) => B { return f; } >a : A > : ^ >f : (a: A) => B -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ var identityM = mirror(identity); >identityM : (a: T) => T @@ -1036,9 +1036,9 @@ var identityM = mirror(identity); >mirror(identity) : (a: T) => T > : ^^^^ ^^^^^^^^^ >mirror : (f: (a: A) => B) => (a: A) => B -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >identity : (value: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ var x = 1; >x : number @@ -1052,7 +1052,7 @@ var y = identity(x); >identity(x) : number > : ^^^^^^ >identity : (value: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : number > : ^^^^^^ @@ -1080,7 +1080,7 @@ export function keyOf(value: { key: a; }): a { >value.key : a > : ^ >value : { key: a; } -> : ^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >key : a > : ^ } @@ -1114,11 +1114,11 @@ toKeys(data, keyOf); // Error >toKeys(data, keyOf) : string[] > : ^^^^^^^^ >toKeys : (values: a[], toKey: (value: a) => string) => string[] -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >data : Data[] > : ^^^^^^ >keyOf : (value: { key: a; }) => a -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ // #9366 @@ -1146,7 +1146,7 @@ function flip(f: (a: a, b: b) => c): (b: b, a: a) => c { >f(a, b) : c > : ^ >f : (a: a, b: b) => c -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a : a > : ^ >b : b @@ -1179,9 +1179,9 @@ var expected: (y: U, x: T) => [T, U] = flip(zip); >flip(zip) : (b: U, a: T) => [T, U] > : ^ ^^^^^ ^^^^^^^^^^^^^^ >flip : (f: (a: a, b: b) => c) => (b: b, a: a) => c -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >zip : (x: T, y: U) => [T, U] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ var actual = flip(zip); >actual : (b: U, a: T) => [T, U] @@ -1189,9 +1189,9 @@ var actual = flip(zip); >flip(zip) : (b: U, a: T) => [T, U] > : ^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ >flip : (f: (a: a, b: b) => c) => (b: b, a: a) => c -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >zip : (x: T, y: U) => [T, U] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ // #9366 @@ -1213,13 +1213,13 @@ const map = (transform: (t: T) => U) => >arr.map(transform) : U[] > : ^^^ >arr.map : (callbackfn: (value: T, index: number, array: T[]) => U_1, thisArg?: any) => U_1[] -> : ^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ >arr : T[] > : ^^^ >map : (callbackfn: (value: T, index: number, array: T[]) => U_1, thisArg?: any) => U_1[] -> : ^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ >transform : (t: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ const identityStr = (t: string) => t; >identityStr : (t: string) => string @@ -1257,7 +1257,7 @@ const arr1: string[] = map(identity)(['a']); >map : (transform: (t: T) => U) => (arr: T[]) => U[] > : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^ >identity : (value: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >['a'] : string[] > : ^^^^^^^^ >'a' : "a" @@ -1288,9 +1288,9 @@ const flipped = flip(of2); >flip(of2) : (b: b, a: a) => [a, b] > : ^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ >flip : (f: (a: a, b: b) => c) => (b: b, a: a) => c -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >of2 : (one: a, two: b) => [a, b] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ // #29904.1 @@ -1323,28 +1323,28 @@ const enhance = pipe( > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >pipe( myHoc1, myHoc2,) :

    (C: Component

    ) => Component

    > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } -> : ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ myHoc1, >myHoc1 :

    (C: Component

    ) => Component

    -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ myHoc2, >myHoc2 :

    (C: Component

    ) => Component

    -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ ); const MyComponent2 = enhance(MyComponent1); >MyComponent2 : Component<{ foo: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^^^ >enhance(MyComponent1) : Component<{ foo: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^^^ >enhance :

    (C: Component

    ) => Component

    > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >MyComponent1 : Component<{ foo: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^^^ // #29904.2 @@ -1353,8 +1353,8 @@ const fn20 = pipe((_a?: {}) => 1); > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >pipe((_a?: {}) => 1) : (_a?: {} | undefined) => number > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } -> : ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >(_a?: {}) => 1 : (_a?: {}) => number > : ^ ^^^ ^^^^^^^^^^^ >_a : {} | undefined @@ -1375,8 +1375,8 @@ const fn30: Fn = pipe( > : ^^ >pipe( x => x + 1, x => x * 2,) : (x: number) => number > : ^^^^^^^^^^^^^^^^^^^^^ ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } -> : ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ x => x + 1, >x => x + 1 : (x: number) => number @@ -1409,12 +1409,12 @@ const promise = Promise.resolve(1); > : ^^^^^^^^^^^^^^^ >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -1422,17 +1422,17 @@ promise.then( >promise.then( pipe( x => x + 1, x => x * 2, ),) : Promise > : ^^^^^^^^^^^^^^^ >promise.then : (onfulfilled?: ((value: number) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >promise : Promise > : ^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: number) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ pipe( >pipe( x => x + 1, x => x * 2, ) : (x: number) => number > : ^^^^^^^^^^^^^^^^^^^^^ ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } -> : ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ x => x + 1, >x => x + 1 : (x: number) => number @@ -1484,12 +1484,12 @@ const fn40 = pipe( > : ^^^^^^^^^^^^^^^^^^^^^^^^ >pipe( getString, string => orUndefined(string), identity,) : () => string | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^ ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } -> : ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ getString, >getString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ string => orUndefined(string), >string => orUndefined(string) : (string: string) => string | undefined @@ -1499,13 +1499,13 @@ const fn40 = pipe( >orUndefined(string) : string | undefined > : ^^^^^^^^^^^^^^^^^^ >orUndefined : (name: string) => string | undefined -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >string : string > : ^^^^^^ identity, >identity : (value: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ ); @@ -1526,12 +1526,12 @@ const fn60 = pipe( > : ^^^^^^^^^^^^ >pipe( getArray, x => x, first,) : () => string > : ^^^^^^^^^^^^ ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } -> : ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ getArray, >getArray : () => string[] -> : ^^^^^^^^^^^^^^ +> : ^^^^^^ x => x, >x => x : (x: string[]) => string[] @@ -1543,7 +1543,7 @@ const fn60 = pipe( first, >first : (ts: T[]) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ ); @@ -1552,20 +1552,20 @@ const fn61 = pipe( > : ^^^^^^^^^^^^ >pipe( getArray, identity, first,) : () => string > : ^^^^^^^^^^^^ ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } -> : ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ getArray, >getArray : () => string[] -> : ^^^^^^^^^^^^^^ +> : ^^^^^^ identity, >identity : (value: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ first, >first : (ts: T[]) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ ); @@ -1574,12 +1574,12 @@ const fn62 = pipe( > : ^^^^^^^^^^^^ >pipe( getArray, x => x, x => first(x),) : () => string > : ^^^^^^^^^^^^ ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } -> : ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ getArray, >getArray : () => string[] -> : ^^^^^^^^^^^^^^ +> : ^^^^^^ x => x, >x => x : (x: string[]) => string[] @@ -1597,7 +1597,7 @@ const fn62 = pipe( >first(x) : string > : ^^^^^^ >first : (ts: T[]) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : string[] > : ^^^^^^^^ @@ -1619,25 +1619,25 @@ foo2(() => {}); >foo2(() => {}) : [() => void, () => void] > : ^^^^^^^^^^^^^^^^^^^^^^^^ >foo2 : (fn: T, a?: U, b?: U) => [T, U] -> : ^ ^^ ^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >() => {} : () => void > : ^^^^^^^^^^ foo2(identity); >foo2(identity) : [(value: T) => T, (value: T) => T] -> : ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^ ^^ ^^ ^^^^^ ^^^ ^^ ^^ ^^^^^ ^ >foo2 : (fn: T, a?: U, b?: U) => [T, U] -> : ^ ^^ ^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >identity : (value: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ foo2(identity, 1); >foo2(identity, 1) : [(value: T) => T, number] -> : ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^ ^^^^^^^^^ >foo2 : (fn: T, a?: U, b?: U) => [T, U] -> : ^ ^^ ^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >identity : (value: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >1 : 1 > : ^ @@ -1659,11 +1659,11 @@ const a2 = times(identity)(5); // => [0, 1, 2, 3, 4] >times(identity)(5) : number[] > : ^^^^^^^^ >times(identity) : (n: number) => number[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >times : (fn: (i: number) => T) => (n: number) => T[] -> : ^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >identity : (value: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >5 : 5 > : ^ diff --git a/tests/baselines/reference/genericFunctionInference2.types b/tests/baselines/reference/genericFunctionInference2.types index c5d680ee4cddc..7c21cf233254b 100644 --- a/tests/baselines/reference/genericFunctionInference2.types +++ b/tests/baselines/reference/genericFunctionInference2.types @@ -33,7 +33,7 @@ const myReducer1: Reducer = combineReducers({ >combineReducers({ combined: combineReducers({ foo }),}) : Reducer<{ combined: { foo: number; }; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >combineReducers : (reducers: { [K in keyof S]: Reducer; }) => Reducer -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ combined: combineReducers({ foo }),} : { combined: Reducer<{ foo: number; }>; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -43,7 +43,7 @@ const myReducer1: Reducer = combineReducers({ >combineReducers({ foo }) : Reducer<{ foo: number; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >combineReducers : (reducers: { [K in keyof S]: Reducer; }) => Reducer -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ foo } : { foo: Reducer; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : Reducer @@ -57,7 +57,7 @@ const myReducer2 = combineReducers({ >combineReducers({ combined: combineReducers({ foo }),}) : Reducer<{ combined: { foo: number; }; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >combineReducers : (reducers: { [K in keyof S]: Reducer; }) => Reducer -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ combined: combineReducers({ foo }),} : { combined: Reducer<{ foo: number; }>; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -67,7 +67,7 @@ const myReducer2 = combineReducers({ >combineReducers({ foo }) : Reducer<{ foo: number; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >combineReducers : (reducers: { [K in keyof S]: Reducer; }) => Reducer -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ foo } : { foo: Reducer; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : Reducer @@ -103,7 +103,7 @@ const enhancer4 = withH((props: Props) => ({ >withH((props: Props) => ({ onChange: (props) => (e: any) => {}, onSubmit: (props) => (e: any) => {},})) : { onChange: (e: any) => void; onSubmit: (e: any) => void; } > : ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >withH : (handlerCreators: HandleCreatorsFactory) => U -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >(props: Props) => ({ onChange: (props) => (e: any) => {}, onSubmit: (props) => (e: any) => {},}) : (props: Props) => { onChange: (props: Props) => (e: any) => void; onSubmit: (props: Props) => (e: any) => void; } > : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >props : Props diff --git a/tests/baselines/reference/genericFunctionParameters.types b/tests/baselines/reference/genericFunctionParameters.types index de7669f09482b..27ff47ac77cb3 100644 --- a/tests/baselines/reference/genericFunctionParameters.types +++ b/tests/baselines/reference/genericFunctionParameters.types @@ -13,15 +13,15 @@ declare function f2(cb: (x: S) => T): T; >f2 : (cb: (x: S) => T) => T > : ^ ^^ ^^ ^^^^^ >cb : (x: S) => T -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : S > : ^ declare function f3(cb: >(x: S) => T): T; >f3 : (cb: >(x: S) => T) => T > : ^ ^^ ^^ ^^^^^ ->cb : (x: S) => T -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^ +>cb : >(x: S) => T +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : S > : ^ @@ -31,7 +31,7 @@ let x1 = f1(x => x); // {} >f1(x => x) : unknown > : ^^^^^^^ >f1 : (cb: (x: S) => T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x => x : (x: S) => S > : ^^^^ ^^^^^^^^^ >x : S @@ -45,9 +45,9 @@ let x2 = f2(x => x); // number >f2(x => x) : number > : ^^^^^^ >f2 : (cb: (x: S) => T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x => x : (x: S) => S -> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^^^^^ >x : S > : ^ >x : S @@ -59,7 +59,7 @@ let x3 = f3(x => x); // Array >f3(x => x) : any[] > : ^^^^^ >f3 : (cb: >(x: S) => T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x => x : (x: S) => S > : ^^^^^^^^^^^^^^^^ ^^^^^^^^^ >x : S @@ -85,7 +85,7 @@ const x = s(a => a.init()); // x is any, should have been {} >s(a => a.init()) : unknown > : ^^^^^^^ >s : (go: (ops: { init(): S; }) => R) => R -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a => a.init() : (a: { init(): S; }) => S > : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >a : { init(): S; } diff --git a/tests/baselines/reference/genericFunctionTypedArgumentsAreFixed.types b/tests/baselines/reference/genericFunctionTypedArgumentsAreFixed.types index 286e5c98653e6..060368f72b61a 100644 --- a/tests/baselines/reference/genericFunctionTypedArgumentsAreFixed.types +++ b/tests/baselines/reference/genericFunctionTypedArgumentsAreFixed.types @@ -15,7 +15,7 @@ map((a) => a.length, [1]); >map((a) => a.length, [1]) : any[] > : ^^^^^ >map : (f: (x: T) => U, xs: T[]) => U[] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >(a) => a.length : (a: number) => any > : ^ ^^^^^^^^^^^^^^^^ >a : number diff --git a/tests/baselines/reference/genericFunctions2.types b/tests/baselines/reference/genericFunctions2.types index eee3dbf6eb352..881f6a349dd22 100644 --- a/tests/baselines/reference/genericFunctions2.types +++ b/tests/baselines/reference/genericFunctions2.types @@ -21,7 +21,7 @@ var lengths = map(myItems, x => x.length); >map(myItems, x => x.length) : number[] > : ^^^^^^^^ >map : (items: T[], f: (x: T) => U) => U[] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >myItems : string[] > : ^^^^^^^^ >x => x.length : (x: string) => number diff --git a/tests/baselines/reference/genericFunctions3.types b/tests/baselines/reference/genericFunctions3.types index 30c8b793de3aa..c6aafa2b8cd49 100644 --- a/tests/baselines/reference/genericFunctions3.types +++ b/tests/baselines/reference/genericFunctions3.types @@ -17,7 +17,7 @@ function from(arg: boolean): Query; // was Error: Overload signature is no function from(arg: any): Query { >from : (arg: boolean) => Query -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >arg : any return undefined; diff --git a/tests/baselines/reference/genericFunctionsAndConditionalInference.types b/tests/baselines/reference/genericFunctionsAndConditionalInference.types index 99f312d83c387..6fa52e9872ea0 100644 --- a/tests/baselines/reference/genericFunctionsAndConditionalInference.types +++ b/tests/baselines/reference/genericFunctionsAndConditionalInference.types @@ -31,9 +31,9 @@ function foo(obj: { u: { value: U }, v: { value: V } }) { >unboxify(obj) : { u: U; v: V; } > : ^^^^^^^^^^^^^^^ >unboxify : (obj: Boxified) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >obj : { u: { value: U; }; v: { value: V; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ } let qq = foo({ u: { value: 10 }, v: { value: 'hello'} }); // { u: U, v: V } but should be { u: number, v: string } @@ -126,10 +126,10 @@ const right: Ops<"right"> = {} as any > : ^^ const ok = (at: Ops) => ({lr: at.lr(at.str, at.num)}) ->ok : >(at: Ops) => { lr: Result>; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->(at: Ops) => ({lr: at.lr(at.str, at.num)}) : >(at: Ops) => { lr: Result>; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>ok : (at: Ops) => { lr: Result>; } +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(at: Ops) => ({lr: at.lr(at.str, at.num)}) : (at: Ops) => { lr: Result>; } +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >at : Ops > : ^^^^^^ >({lr: at.lr(at.str, at.num)}) : { lr: Result>; } @@ -141,11 +141,11 @@ const ok = (at: Ops) => ({lr: at.lr(at.str, at.num)}) >at.lr(at.str, at.num) : Result> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >at.lr : (a: Result, o: Result) => Result> -> : ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^ ^ ^ ^ >at : Ops > : ^^^^^^ >lr : (a: Result, o: Result) => Result> -> : ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^ ^ ^ ^ >at.str : Result > : ^^^^^^^^^^^^^^^^^ >at : Ops @@ -160,24 +160,24 @@ const ok = (at: Ops) => ({lr: at.lr(at.str, at.num)}) > : ^^^^^^^^^^^^^^^^^ const orphaned = (at: Ops) => at.dict(ok(at)) ->orphaned : >(at: Ops) => Result; }> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->(at: Ops) => at.dict(ok(at)) : >(at: Ops) => Result; }> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>orphaned : (at: Ops) => Result; }> +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(at: Ops) => at.dict(ok(at)) : (at: Ops) => Result; }> +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >at : Ops > : ^^^^^^ >at.dict(ok(at)) : Result; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >at.dict :

    (p: { [k in keyof P]: Result; }) => Result -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^ >at : Ops > : ^^^^^^ >dict :

    (p: { [k in keyof P]: Result; }) => Result -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^ >ok(at) : { lr: Result>; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->ok : >(at: Ops) => { lr: Result>; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>ok : (at: Ops) => { lr: Result>; } +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >at : Ops > : ^^^^^^ @@ -186,8 +186,8 @@ const leftOk = ok(left) > : ^^^^^^^^^^^^^^^ >ok(left) : { lr: string; } > : ^^^^^^^^^^^^^^^ ->ok : >(at: Ops) => { lr: Result>; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>ok : (at: Ops) => { lr: Result>; } +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >left : Ops<"left"> > : ^^^^^^^^^^^ @@ -196,8 +196,8 @@ const leftOrphaned = orphaned(left) > : ^^^^^^^^^^^^^^^ >orphaned(left) : { lr: string; } > : ^^^^^^^^^^^^^^^ ->orphaned : >(at: Ops) => Result; }> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>orphaned : (at: Ops) => Result; }> +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >left : Ops<"left"> > : ^^^^^^^^^^^ @@ -206,8 +206,8 @@ const rightOk = ok(right) > : ^^^^^^^^^^^^^^^ >ok(right) : { lr: number; } > : ^^^^^^^^^^^^^^^ ->ok : >(at: Ops) => { lr: Result>; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>ok : (at: Ops) => { lr: Result>; } +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >right : Ops<"right"> > : ^^^^^^^^^^^^ @@ -216,8 +216,8 @@ const rightOrphaned = orphaned(right) > : ^^^^^^^^^^^^^^^ >orphaned(right) : { lr: number; } > : ^^^^^^^^^^^^^^^ ->orphaned : >(at: Ops) => Result; }> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>orphaned : (at: Ops) => Result; }> +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >right : Ops<"right"> > : ^^^^^^^^^^^^ diff --git a/tests/baselines/reference/genericFunctionsNotContextSensitive.types b/tests/baselines/reference/genericFunctionsNotContextSensitive.types index d52c305768804..e6bf5f495af6a 100644 --- a/tests/baselines/reference/genericFunctionsNotContextSensitive.types +++ b/tests/baselines/reference/genericFunctionsNotContextSensitive.types @@ -5,9 +5,9 @@ const f = (x: G) => void>(_: F): F => _; >f : (x: G) => void>(_: F) => F -> : ^ ^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ > (x: G) => void>(_: F): F => _ : (x: G) => void>(_: F) => F -> : ^ ^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >args : any[] > : ^^^^^ >x : G @@ -19,13 +19,13 @@ const f = (x: G) => void>(_: F): F => _; const a = f((_: K) => _ => ({})); // (_: K) => (_: G) => {} >a : (_: K) => (_: G) => {} -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^^ >f((_: K) => _ => ({})) : (_: K) => (_: G) => {} -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^^ >f : (x: G) => void>(_: F) => F -> : ^ ^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(_: K) => _ => ({}) : (_: K) => (_: G) => {} -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^^ >_ : K > : ^ >_ => ({}) : (_: G) => {} diff --git a/tests/baselines/reference/genericFunctionsWithOptionalParameters1.types b/tests/baselines/reference/genericFunctionsWithOptionalParameters1.types index e29493967abea..f261530b260b4 100644 --- a/tests/baselines/reference/genericFunctionsWithOptionalParameters1.types +++ b/tests/baselines/reference/genericFunctionsWithOptionalParameters1.types @@ -25,39 +25,39 @@ utils.fold(); // no error >utils.fold() : unknown > : ^^^^^^^ >utils.fold : (c?: Array, folder?: (s: S, t: T) => T, init?: S) => T -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >utils : Utils > : ^^^^^ >fold : (c?: Array, folder?: (s: S, t: T) => T, init?: S) => T -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ utils.fold(null); // no error >utils.fold(null) : unknown > : ^^^^^^^ >utils.fold : (c?: Array, folder?: (s: S, t: T) => T, init?: S) => T -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >utils : Utils > : ^^^^^ >fold : (c?: Array, folder?: (s: S, t: T) => T, init?: S) => T -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ utils.fold(null, null); // no error >utils.fold(null, null) : unknown > : ^^^^^^^ >utils.fold : (c?: Array, folder?: (s: S, t: T) => T, init?: S) => T -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >utils : Utils > : ^^^^^ >fold : (c?: Array, folder?: (s: S, t: T) => T, init?: S) => T -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ utils.fold(null, null, null); // no error >utils.fold(null, null, null) : unknown > : ^^^^^^^ >utils.fold : (c?: Array, folder?: (s: S, t: T) => T, init?: S) => T -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >utils : Utils > : ^^^^^ >fold : (c?: Array, folder?: (s: S, t: T) => T, init?: S) => T -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/genericFunctionsWithOptionalParameters2.types b/tests/baselines/reference/genericFunctionsWithOptionalParameters2.types index 47e89616a9113..e3b555bcaf788 100644 --- a/tests/baselines/reference/genericFunctionsWithOptionalParameters2.types +++ b/tests/baselines/reference/genericFunctionsWithOptionalParameters2.types @@ -25,39 +25,39 @@ utils.fold(); // error >utils.fold() : unknown > : ^^^^^^^ >utils.fold : (c: Array, folder?: (s: S, t: T) => T, init?: S) => T -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >utils : Utils > : ^^^^^ >fold : (c: Array, folder?: (s: S, t: T) => T, init?: S) => T -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ utils.fold(null); // no error >utils.fold(null) : unknown > : ^^^^^^^ >utils.fold : (c: Array, folder?: (s: S, t: T) => T, init?: S) => T -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >utils : Utils > : ^^^^^ >fold : (c: Array, folder?: (s: S, t: T) => T, init?: S) => T -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ utils.fold(null, null); // no error >utils.fold(null, null) : unknown > : ^^^^^^^ >utils.fold : (c: Array, folder?: (s: S, t: T) => T, init?: S) => T -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >utils : Utils > : ^^^^^ >fold : (c: Array, folder?: (s: S, t: T) => T, init?: S) => T -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ utils.fold(null, null, null); // error: Unable to invoke type with no call signatures >utils.fold(null, null, null) : unknown > : ^^^^^^^ >utils.fold : (c: Array, folder?: (s: S, t: T) => T, init?: S) => T -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >utils : Utils > : ^^^^^ >fold : (c: Array, folder?: (s: S, t: T) => T, init?: S) => T -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/genericFunctionsWithOptionalParameters3.types b/tests/baselines/reference/genericFunctionsWithOptionalParameters3.types index 3babfc37fddc1..1f5280e89a789 100644 --- a/tests/baselines/reference/genericFunctionsWithOptionalParameters3.types +++ b/tests/baselines/reference/genericFunctionsWithOptionalParameters3.types @@ -58,11 +58,11 @@ var r3 = utils.mapReduce(c, (x) => { return 1 }, (y) => { return new Date() }); >utils.mapReduce(c, (x) => { return 1 }, (y) => { return new Date() }) : Collection > : ^^^^^^^^^^^^^^^^ >utils.mapReduce : (c: Collection, mapper: (x: T) => U, reducer: (y: U) => V) => Collection -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >utils : Utils > : ^^^^^ >mapReduce : (c: Collection, mapper: (x: T) => U, reducer: (y: U) => V) => Collection -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >c : Collection > : ^^^^^^^^^^^^^^^^^^ >(x) => { return 1 } : (x: string) => number @@ -86,11 +86,11 @@ var r4 = utils.mapReduce(c, (x: string) => { return 1 }, (y: number) => { return >utils.mapReduce(c, (x: string) => { return 1 }, (y: number) => { return new Date() }) : Collection > : ^^^^^^^^^^^^^^^^ >utils.mapReduce : (c: Collection, mapper: (x: T) => U, reducer: (y: U) => V) => Collection -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >utils : Utils > : ^^^^^ >mapReduce : (c: Collection, mapper: (x: T) => U, reducer: (y: U) => V) => Collection -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >c : Collection > : ^^^^^^^^^^^^^^^^^^ >(x: string) => { return 1 } : (x: string) => number @@ -136,11 +136,11 @@ var r5 = utils.mapReduce(c, f1, f2); >utils.mapReduce(c, f1, f2) : Collection > : ^^^^^^^^^^^^^^^^ >utils.mapReduce : (c: Collection, mapper: (x: T) => U, reducer: (y: U) => V) => Collection -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >utils : Utils > : ^^^^^ >mapReduce : (c: Collection, mapper: (x: T) => U, reducer: (y: U) => V) => Collection -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >c : Collection > : ^^^^^^^^^^^^^^^^^^ >f1 : (x: string) => number diff --git a/tests/baselines/reference/genericImplements.types b/tests/baselines/reference/genericImplements.types index 553beb483b8c1..41c97fb25adf0 100644 --- a/tests/baselines/reference/genericImplements.types +++ b/tests/baselines/reference/genericImplements.types @@ -16,7 +16,7 @@ class B { b; }; interface I { f(): T; >f : () => T -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ } // { f: () => { a; } } @@ -27,7 +27,7 @@ class X implements I { f(): T { return undefined; } >f : () => T -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ >undefined : undefined > : ^^^^^^^^^ @@ -40,7 +40,7 @@ class Y implements I { f(): T { return undefined; } >f : () => T -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ >undefined : undefined > : ^^^^^^^^^ diff --git a/tests/baselines/reference/genericIndexedAccessMethodIntersectionCanBeAccessed.types b/tests/baselines/reference/genericIndexedAccessMethodIntersectionCanBeAccessed.types index 29853aa26ea22..008056e556c20 100644 --- a/tests/baselines/reference/genericIndexedAccessMethodIntersectionCanBeAccessed.types +++ b/tests/baselines/reference/genericIndexedAccessMethodIntersectionCanBeAccessed.types @@ -42,19 +42,19 @@ export const createService = ( >Object.keys(ServiceCtr).forEach(key => { const method = (ServiceCtr)[key as keyof T]; const {__$daemonMode, __$action, id} = method; }) : void > : ^^^^ >Object.keys(ServiceCtr).forEach : (callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >Object.keys(ServiceCtr) : string[] > : ^^^^^^^^ >Object.keys : (o: object) => string[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >keys : (o: object) => string[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >ServiceCtr : ExtendedService & Service > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >forEach : (callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >key => { const method = (ServiceCtr)[key as keyof T]; const {__$daemonMode, __$action, id} = method; } : (key: string) => void > : ^ ^^^^^^^^^^^^^^^^^ >key : string diff --git a/tests/baselines/reference/genericInference1.types b/tests/baselines/reference/genericInference1.types index 6ea3242e287c3..86a3e61090a75 100644 --- a/tests/baselines/reference/genericInference1.types +++ b/tests/baselines/reference/genericInference1.types @@ -5,7 +5,7 @@ >['a', 'b', 'c'].map(x => x.length) : number[] > : ^^^^^^^^ >['a', 'b', 'c'].map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >['a', 'b', 'c'] : string[] > : ^^^^^^^^ >'a' : "a" @@ -15,7 +15,7 @@ >'c' : "c" > : ^^^ >map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >x => x.length : (x: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : string diff --git a/tests/baselines/reference/genericInference2.types b/tests/baselines/reference/genericInference2.types index 0f71d05f19314..58986441db6ff 100644 --- a/tests/baselines/reference/genericInference2.types +++ b/tests/baselines/reference/genericInference2.types @@ -41,11 +41,11 @@ >ko.observable("Bob") : ko.Observable > : ^^^^^^^^^^^^^^^^^^^^^ >ko.observable : (value: T) => ko.Observable -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ >ko : typeof ko > : ^^^^^^^^^ >observable : (value: T) => ko.Observable -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ >"Bob" : "Bob" > : ^^^^^ @@ -55,11 +55,11 @@ >ko.observable(37) : ko.Observable > : ^^^^^^^^^^^^^^^^^^^^^ >ko.observable : (value: T) => ko.Observable -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ >ko : typeof ko > : ^^^^^^^^^ >observable : (value: T) => ko.Observable -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ >37 : 37 > : ^^ diff --git a/tests/baselines/reference/genericInferenceDefaultTypeParameter.types b/tests/baselines/reference/genericInferenceDefaultTypeParameter.types index 14b10e20ad68b..ed6f0ed8874b1 100644 --- a/tests/baselines/reference/genericInferenceDefaultTypeParameter.types +++ b/tests/baselines/reference/genericInferenceDefaultTypeParameter.types @@ -22,7 +22,7 @@ type Type = { declare function f1(props: Type[T]): void; >f1 : (props: Type[T]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^ ^^ ^^^^^ >props : Type[T] > : ^^^^^^^ @@ -30,7 +30,7 @@ f1(event => { }); >f1(event => { }) : void > : ^^^^ >f1 : (props: Type[T]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^ ^^ ^^^^^ >event => { } : (event: string) => void > : ^ ^^^^^^^^^^^^^^^^^ >event : string @@ -40,7 +40,7 @@ f1<"a">(event => { }); >f1<"a">(event => { }) : void > : ^^^^ >f1 : (props: Type[T]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^ ^^ ^^^^^ >event => { } : (event: string) => void > : ^ ^^^^^^^^^^^^^^^^^ >event : string @@ -50,7 +50,7 @@ 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.types b/tests/baselines/reference/genericInferenceDefaultTypeParameterJsxReact.types index cc4e8b7ae6500..59a4dafcda412 100644 --- a/tests/baselines/reference/genericInferenceDefaultTypeParameterJsxReact.types +++ b/tests/baselines/reference/genericInferenceDefaultTypeParameterJsxReact.types @@ -28,8 +28,8 @@ type ButtonBaseProps = ComponentPropsWithRef & { child > : ^^^^^^^^^^^^^^^ function Component(props: ButtonBaseProps) { ->Component : (props: ButtonBaseProps) => JSX.Element -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +>Component : (props: ButtonBaseProps) => JSX.Element +> : ^ ^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ >props : ButtonBaseProps > : ^^^^^^^^^^^^^^^^^^ @@ -43,8 +43,8 @@ const v1 = e.preventDefault()} />; > : ^^^^^^^^^^^ > e.preventDefault()} /> : JSX.Element > : ^^^^^^^^^^^ ->Component : (props: ButtonBaseProps) => JSX.Element -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +>Component : (props: ButtonBaseProps) => JSX.Element +> : ^ ^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ >onClick : (e: React.MouseEvent) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >e => e.preventDefault() : (e: React.MouseEvent) => void @@ -54,9 +54,9 @@ const v1 = e.preventDefault()} />; >e.preventDefault() : void > : ^^^^ >e.preventDefault : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >e : React.MouseEvent > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >preventDefault : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/genericInstantiationEquivalentToObjectLiteral.types b/tests/baselines/reference/genericInstantiationEquivalentToObjectLiteral.types index 7e90ea5992393..8eaf444a17afc 100644 --- a/tests/baselines/reference/genericInstantiationEquivalentToObjectLiteral.types +++ b/tests/baselines/reference/genericInstantiationEquivalentToObjectLiteral.types @@ -21,17 +21,17 @@ var y: { first: string; second: number; } x = y; >x = y : { first: string; second: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^ ^^^ >x : Pair > : ^^^^^^^^^^^^^^^^^^^^ >y : { first: string; second: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^ ^^^ y = x; >y = x : Pair > : ^^^^^^^^^^^^^^^^^^^^ >y : { first: string; second: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^ ^^^ >x : Pair > : ^^^^^^^^^^^^^^^^^^^^ @@ -63,7 +63,7 @@ f(y); >f : (x: Pair) => any > : ^ ^^ ^^ ^^ ^^^^^^^^ >y : { first: string; second: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^ ^^^ f2(x); >f2(x) : any @@ -77,5 +77,5 @@ f2(y); >f2 : (x: { first: T; second: U; }) => any > : ^ ^^ ^^ ^^ ^^^^^^^^ >y : { first: string; second: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^ ^^^ diff --git a/tests/baselines/reference/genericInterfaceFunctionTypeParameter.types b/tests/baselines/reference/genericInterfaceFunctionTypeParameter.types index 97d223f1c5710..46bbc306aac17 100644 --- a/tests/baselines/reference/genericInterfaceFunctionTypeParameter.types +++ b/tests/baselines/reference/genericInterfaceFunctionTypeParameter.types @@ -16,7 +16,7 @@ export function foo(fn: (ifoo: IFoo) => void) { >foo : (fn: (ifoo: IFoo) => void) => void > : ^ ^^ ^^ ^^^^^^^^^ >fn : (ifoo: IFoo) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ } diff --git a/tests/baselines/reference/genericInterfaceTypeCall.types b/tests/baselines/reference/genericInterfaceTypeCall.types index e224193dadce4..0e4a4b8e60c11 100644 --- a/tests/baselines/reference/genericInterfaceTypeCall.types +++ b/tests/baselines/reference/genericInterfaceTypeCall.types @@ -37,11 +37,11 @@ test.fail(arg => foo.reject(arg)); >test.fail(arg => foo.reject(arg)) : void > : ^^^^ >test.fail : (func: (arg: string) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^ ^^^^^ >test : bar > : ^^^^^^^^^^^ >fail : (func: (arg: string) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^ ^^^^^ >arg => foo.reject(arg) : (arg: string) => void > : ^ ^^^^^^^^^^^^^^^^^ >arg : string @@ -49,11 +49,11 @@ test.fail(arg => foo.reject(arg)); >foo.reject(arg) : void > : ^^^^ >foo.reject : (arg: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >foo : Foo > : ^^^^^^^^^^^ >reject : (arg: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >arg : string > : ^^^^^^ @@ -61,11 +61,11 @@ test.fail2(arg => foo.reject(arg)); // Error: Supplied parameters do not match a >test.fail2(arg => foo.reject(arg)) : void > : ^^^^ >test.fail2 : (func2: (arg: string) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^ ^^^^^ >test : bar > : ^^^^^^^^^^^ >fail2 : (func2: (arg: string) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^ ^^^^^ >arg => foo.reject(arg) : (arg: string) => void > : ^ ^^^^^^^^^^^^^^^^^ >arg : string @@ -73,11 +73,11 @@ test.fail2(arg => foo.reject(arg)); // Error: Supplied parameters do not match a >foo.reject(arg) : void > : ^^^^ >foo.reject : (arg: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >foo : Foo > : ^^^^^^^^^^^ >reject : (arg: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >arg : string > : ^^^^^^ diff --git a/tests/baselines/reference/genericIsNeverEmptyObject.types b/tests/baselines/reference/genericIsNeverEmptyObject.types index 5880cd6980d8f..4b65449c6080b 100644 --- a/tests/baselines/reference/genericIsNeverEmptyObject.types +++ b/tests/baselines/reference/genericIsNeverEmptyObject.types @@ -5,7 +5,7 @@ function test(obj: T) { >test : (obj: T) => Omit & { b: string; } -> : ^ ^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : string > : ^^^^^^ >obj : T @@ -54,7 +54,7 @@ let o2: { b: string, x: number } = test(o1); >test(o1) : Omit<{ a: string; x: number; }, "a"> & { b: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >test : (obj: T) => Omit & { b: string; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >o1 : { a: string; x: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/genericLambaArgWithoutTypeArguments.types b/tests/baselines/reference/genericLambaArgWithoutTypeArguments.types index 5d3d5fe11f6e9..7aad01faad3f2 100644 --- a/tests/baselines/reference/genericLambaArgWithoutTypeArguments.types +++ b/tests/baselines/reference/genericLambaArgWithoutTypeArguments.types @@ -19,8 +19,8 @@ foo((arg: Foo) => { return arg.x; }); > : ^^^ >foo : (a: any) => any > : ^ ^^^^^^^^^^^^^ ->(arg: Foo) => { return arg.x; } : (arg: any) => any -> : ^ ^^^^^^^^^^^^^ +>(arg: Foo) => { return arg.x; } : (arg: Foo) => any +> : ^ ^^ ^^^^^^^^ >arg : any > : ^^^ >arg.x : any diff --git a/tests/baselines/reference/genericMappedTypeAsClause.types b/tests/baselines/reference/genericMappedTypeAsClause.types index 4bb244d333865..ff5063ceeefc5 100644 --- a/tests/baselines/reference/genericMappedTypeAsClause.types +++ b/tests/baselines/reference/genericMappedTypeAsClause.types @@ -48,7 +48,7 @@ const foo2: MappedModel<'Foo'> = { bFoo: 'bar' }; // Error function f1() { >f1 : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ const x1: MappedModel = 42; // Error >x1 : MappedModel diff --git a/tests/baselines/reference/genericMemberFunction.types b/tests/baselines/reference/genericMemberFunction.types index f62b546bde6dc..6e0b9b8d0603d 100644 --- a/tests/baselines/reference/genericMemberFunction.types +++ b/tests/baselines/reference/genericMemberFunction.types @@ -7,7 +7,7 @@ export class BuildError{ public parent(): FileWithErrors { >parent : () => FileWithErrors -> : ^ ^^ ^^^^^^^^^^^^ ^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^^^^^^ return undefined; >undefined : undefined @@ -20,7 +20,7 @@ export class FileWithErrors{ public errors(): BuildError[] { >errors : () => BuildError[] -> : ^ ^^ ^^^^^^^^^^^^ ^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^^^^^^ return undefined; >undefined : undefined @@ -28,7 +28,7 @@ export class FileWithErrors{ } public parent(): BuildResult { >parent : () => BuildResult -> : ^ ^^ ^^^^^^^^^^^^ ^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^^^^^^ return undefined; >undefined : undefined @@ -41,7 +41,7 @@ export class BuildResult{ public merge(other: BuildResult): void { >merge : (other: BuildResult) => void -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ >other : BuildResult > : ^^^^^^^^^^^^^^^^^^^^ @@ -87,7 +87,7 @@ export class BuildResult{ >forEach : any > : ^^^ >(each: FileWithErrors) => { this.removeFile(each); } : (each: FileWithErrors) => void -> : ^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ >each : FileWithErrors > : ^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/genericMethodOverspecialization.types b/tests/baselines/reference/genericMethodOverspecialization.types index 64745e0ecab8e..310ab1f7c9f50 100644 --- a/tests/baselines/reference/genericMethodOverspecialization.types +++ b/tests/baselines/reference/genericMethodOverspecialization.types @@ -33,8 +33,8 @@ declare var document: Document; interface Document { getElementById(elementId: string): HTMLElement; ->getElementById : { (elementId: string): HTMLElement; (elementId: string): HTMLElement; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>getElementById : { (elementId: string): HTMLElement | null; (elementId: string): HTMLElement; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >elementId : string > : ^^^^^^ } @@ -45,11 +45,11 @@ var elements = names.map(function (name) { >names.map(function (name) { return document.getElementById(name);}) : HTMLElement[] > : ^^^^^^^^^^^^^ >names.map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >names : string[] > : ^^^^^^^^ >map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >function (name) { return document.getElementById(name);} : (name: string) => HTMLElement > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ >name : string @@ -58,12 +58,12 @@ var elements = names.map(function (name) { return document.getElementById(name); >document.getElementById(name) : HTMLElement > : ^^^^^^^^^^^ ->document.getElementById : { (elementId: string): HTMLElement; (elementId: string): HTMLElement; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +>document.getElementById : { (elementId: string): HTMLElement | null; (elementId: string): HTMLElement; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >document : Document > : ^^^^^^^^ ->getElementById : { (elementId: string): HTMLElement; (elementId: string): HTMLElement; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +>getElementById : { (elementId: string): HTMLElement | null; (elementId: string): HTMLElement; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >name : string > : ^^^^^^ @@ -76,11 +76,11 @@ var xxx = elements.filter(function (e) { >elements.filter(function (e) { return !e.isDisabled;}) : HTMLElement[] > : ^^^^^^^^^^^^^ >elements.filter : { (predicate: (value: HTMLElement, index: number, array: HTMLElement[]) => value is S, thisArg?: any): S[]; (predicate: (value: HTMLElement, index: number, array: HTMLElement[]) => unknown, thisArg?: any): HTMLElement[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^^ >elements : HTMLElement[] > : ^^^^^^^^^^^^^ >filter : { (predicate: (value: HTMLElement, index: number, array: HTMLElement[]) => value is S, thisArg?: any): S[]; (predicate: (value: HTMLElement, index: number, array: HTMLElement[]) => unknown, thisArg?: any): HTMLElement[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^^ >function (e) { return !e.isDisabled;} : (e: HTMLElement) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ >e : HTMLElement @@ -104,11 +104,11 @@ var widths:number[] = elements.map(function (e) { // should not error >elements.map(function (e) { // should not error return e.clientWidth;}) : number[] > : ^^^^^^^^ >elements.map : (callbackfn: (value: HTMLElement, index: number, array: HTMLElement[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >elements : HTMLElement[] > : ^^^^^^^^^^^^^ >map : (callbackfn: (value: HTMLElement, index: number, array: HTMLElement[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >function (e) { // should not error return e.clientWidth;} : (e: HTMLElement) => number > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ >e : HTMLElement diff --git a/tests/baselines/reference/genericNewInterface.types b/tests/baselines/reference/genericNewInterface.types index 978b039f4e7dd..854f51757dd57 100644 --- a/tests/baselines/reference/genericNewInterface.types +++ b/tests/baselines/reference/genericNewInterface.types @@ -13,7 +13,7 @@ function createInstance(ctor: new (s: string) => T): T { >new ctor(42) : T > : ^ >ctor : new (s: string) => T -> : ^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ } diff --git a/tests/baselines/reference/genericObjectRest.types b/tests/baselines/reference/genericObjectRest.types index f872eb3faf4fa..82629fedda86f 100644 --- a/tests/baselines/reference/genericObjectRest.types +++ b/tests/baselines/reference/genericObjectRest.types @@ -9,7 +9,7 @@ const a = 'a'; function f1(obj: T) { >f1 : (obj: T) => void -> : ^ ^^^^^^^^^^^^^^ ^^^^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >a : string > : ^^^^^^ >b : number @@ -94,7 +94,7 @@ const sb = Symbol(); function f2(obj: T) { >f2 : (obj: T) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >[sa] : string > : ^^^^^^ >sa : unique symbol @@ -123,7 +123,7 @@ function f2(obj: T) { function f3(obj: T, k1: K1, k2: K2) { >f3 : (obj: T, k1: K1, k2: K2) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >obj : T > : ^ >k1 : K1 @@ -158,7 +158,7 @@ type Item = { a: string, b: number, c: boolean }; function f4(obj: Item, k1: K1, k2: K2) { >f4 : (obj: Item, k1: K1, k2: K2) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >obj : Item > : ^^^^ >k1 : K1 diff --git a/tests/baselines/reference/genericObjectSpreadResultInSwitch.types b/tests/baselines/reference/genericObjectSpreadResultInSwitch.types index f9e9ce897220a..1a2cbde5968ed 100644 --- a/tests/baselines/reference/genericObjectSpreadResultInSwitch.types +++ b/tests/baselines/reference/genericObjectSpreadResultInSwitch.types @@ -21,9 +21,9 @@ type Params = { const getType =

    (params: P) => { >getType :

    (params: P) => Omit -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >

    (params: P) => { const { // Omit foo, ...rest } = params; return rest;} :

    (params: P) => Omit -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >params : P > : ^ @@ -71,11 +71,11 @@ switch (params.tag) { >getType(params).type : number > : ^^^^^^ >getType(params) : Omit<{ foo: string; } & { tag: "a"; type: number; }, "foo"> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^ >getType :

    (params: P) => Omit -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >params : { foo: string; } & { tag: "a"; type: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ >type : number > : ^^^^^^ @@ -93,11 +93,11 @@ switch (params.tag) { >getType(params).type : string > : ^^^^^^ >getType(params) : Omit<{ foo: string; } & { tag: "b"; type: string; }, "foo"> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^ >getType :

    (params: P) => Omit -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >params : { foo: string; } & { tag: "b"; type: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ >type : string > : ^^^^^^ diff --git a/tests/baselines/reference/genericOverloadSignatures.types b/tests/baselines/reference/genericOverloadSignatures.types index dd8f05b801599..4286429dc25bd 100644 --- a/tests/baselines/reference/genericOverloadSignatures.types +++ b/tests/baselines/reference/genericOverloadSignatures.types @@ -24,20 +24,20 @@ function f(a: T); > : ^ function f(a) { } ->f : { (a: T): any; (a: T_1): any; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +>f : { (a: T): any; (a: T): any; } +> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >a : any interface I2 { f(x: T): number; >f : { (x: T): number; (x: T_1): string; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ f(x: T): string; >f : { (x: T_1): number; (x: T): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ } @@ -45,13 +45,13 @@ interface I2 { interface I3 { f(x: T): number; >f : { (x: T): number; (x: T): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : T > : ^ f(x: T): string; >f : { (x: T): number; (x: T): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : T > : ^ } @@ -61,8 +61,8 @@ class C2 { > : ^^^^^ } var b: { ->b : { new (x: T, y: string): C2; new (x: T_1, y: string): C2; } -> : ^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +>b : { new (x: T, y: string): C2; new (x: T, y: string): C2; } +> : ^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ new (x: T, y: string): C2; >x : T diff --git a/tests/baselines/reference/genericParameterAssignability1.types b/tests/baselines/reference/genericParameterAssignability1.types index fb4e6bd963f14..f2814a0b7408f 100644 --- a/tests/baselines/reference/genericParameterAssignability1.types +++ b/tests/baselines/reference/genericParameterAssignability1.types @@ -19,9 +19,9 @@ var r = (x: T) => x; r = f; // should be allowed >r = f : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >r : (x: T) => T > : ^ ^^ ^^ ^^^^^^ >f : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/genericRecursiveImplicitConstructorErrors3.types b/tests/baselines/reference/genericRecursiveImplicitConstructorErrors3.types index dc6229de56408..b613adbf23201 100644 --- a/tests/baselines/reference/genericRecursiveImplicitConstructorErrors3.types +++ b/tests/baselines/reference/genericRecursiveImplicitConstructorErrors3.types @@ -10,8 +10,8 @@ module TypeScript { > : ^^^^^^^^^^^^^^^^^^^ static create(arg1: any, arg2?: any, arg3?: any): MemberName { ->create : (arg1: any, arg2?: any, arg3?: any) => any -> : ^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ +>create : (arg1: any, arg2?: any, arg3?: any) => MemberName +> : ^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >arg1 : any > : ^^^ >arg2 : any @@ -45,8 +45,8 @@ module TypeScript { > : ^^^ public toString(scopeSymbol?: PullSymbol, useConstraintInName?: boolean) { ->toString : (scopeSymbol?: any, useConstraintInName?: boolean) => any -> : ^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ +>toString : (scopeSymbol?: PullSymbol, useConstraintInName?: boolean) => any +> : ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^ >scopeSymbol : any > : ^^^ >useConstraintInName : boolean @@ -61,12 +61,12 @@ module TypeScript { > : ^^^ >this.getScopedNameEx(scopeSymbol, useConstraintInName) : any > : ^^^ ->this.getScopedNameEx : (scopeSymbol?: any, useConstraintInName?: boolean, getPrettyTypeName?: boolean, getTypeParamMarkerInfo?: boolean) => any -> : ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ +>this.getScopedNameEx : (scopeSymbol?: PullSymbol, useConstraintInName?: boolean, getPrettyTypeName?: boolean, getTypeParamMarkerInfo?: boolean) => any +> : ^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ >this : this > : ^^^^ ->getScopedNameEx : (scopeSymbol?: any, useConstraintInName?: boolean, getPrettyTypeName?: boolean, getTypeParamMarkerInfo?: boolean) => any -> : ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ +>getScopedNameEx : (scopeSymbol?: PullSymbol, useConstraintInName?: boolean, getPrettyTypeName?: boolean, getTypeParamMarkerInfo?: boolean) => any +> : ^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ >scopeSymbol : any > : ^^^ >useConstraintInName : boolean @@ -79,8 +79,8 @@ module TypeScript { > : ^^^ } public getScopedNameEx(scopeSymbol?: PullSymbol, useConstraintInName?: boolean, getPrettyTypeName?: boolean, getTypeParamMarkerInfo?: boolean) { ->getScopedNameEx : (scopeSymbol?: any, useConstraintInName?: boolean, getPrettyTypeName?: boolean, getTypeParamMarkerInfo?: boolean) => any -> : ^^^^^^^^^^ ^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ +>getScopedNameEx : (scopeSymbol?: PullSymbol, useConstraintInName?: boolean, getPrettyTypeName?: boolean, getTypeParamMarkerInfo?: boolean) => any +> : ^^^^^^^^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ >scopeSymbol : any > : ^^^ >useConstraintInName : boolean @@ -191,12 +191,12 @@ module TypeScript { return MemberName.create(elementMemberName, "", "[]"); >MemberName.create(elementMemberName, "", "[]") : any > : ^^^ ->MemberName.create : (arg1: any, arg2?: any, arg3?: any) => any -> : ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ +>MemberName.create : (arg1: any, arg2?: any, arg3?: any) => MemberName +> : ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >MemberName : typeof MemberName > : ^^^^^^^^^^^^^^^^^ ->create : (arg1: any, arg2?: any, arg3?: any) => any -> : ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ +>create : (arg1: any, arg2?: any, arg3?: any) => MemberName +> : ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >elementMemberName : any > : ^^^ >"" : "" diff --git a/tests/baselines/reference/genericReduce.types b/tests/baselines/reference/genericReduce.types index 83934d814f703..009a20a223747 100644 --- a/tests/baselines/reference/genericReduce.types +++ b/tests/baselines/reference/genericReduce.types @@ -21,11 +21,11 @@ var b = a.map(s => s.length); >a.map(s => s.length) : number[] > : ^^^^^^^^ >a.map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >a : string[] > : ^^^^^^^^ >map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >s => s.length : (s: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >s : string @@ -101,11 +101,11 @@ n1.toExponential(2); // should not error if 'n1' is correctly number. >n1.toExponential(2) : string > : ^^^^^^ >n1.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >n1 : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >2 : 2 > : ^ @@ -125,11 +125,11 @@ n2.toExponential(2); // should not error if 'n2' is correctly number. >n2.toExponential(2) : string > : ^^^^^^ >n2.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >n2 : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >2 : 2 > : ^ @@ -175,11 +175,11 @@ n3.charAt(0); // should not error if 'n3' is correctly type 'string' >n3.charAt(0) : string > : ^^^^^^ >n3.charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >n3 : string > : ^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/genericRestArgs.types b/tests/baselines/reference/genericRestArgs.types index 68a01a4f14d17..297a59b88ada0 100644 --- a/tests/baselines/reference/genericRestArgs.types +++ b/tests/baselines/reference/genericRestArgs.types @@ -15,7 +15,7 @@ var a1Ga = makeArrayG(1, ""); // no error >makeArrayG(1, "") : number[] > : ^^^^^^^^ >makeArrayG : (...items: T[]) => T[] -> : ^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >"" : "" @@ -27,7 +27,7 @@ var a1Gb = makeArrayG(1, ""); >makeArrayG(1, "") : any[] > : ^^^^^ >makeArrayG : (...items: T[]) => T[] -> : ^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >"" : "" @@ -39,7 +39,7 @@ var a1Gc = makeArrayG(1, ""); >makeArrayG(1, "") : Object[] > : ^^^^^^^^ >makeArrayG : (...items: T[]) => T[] -> : ^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >"" : "" @@ -51,7 +51,7 @@ var a1Gd = makeArrayG(1, ""); // error >makeArrayG(1, "") : number[] > : ^^^^^^^^ >makeArrayG : (...items: T[]) => T[] -> : ^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >"" : "" @@ -95,7 +95,7 @@ var a2Gb = makeArrayG(1, ""); >makeArrayG(1, "") : any[] > : ^^^^^ >makeArrayG : (...items: T[]) => T[] -> : ^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >"" : "" @@ -107,7 +107,7 @@ var a2Gc = makeArrayG(1, ""); // error >makeArrayG(1, "") : any[][] > : ^^^^^^^ >makeArrayG : (...items: T[]) => T[] -> : ^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >"" : "" diff --git a/tests/baselines/reference/genericRestArity.types b/tests/baselines/reference/genericRestArity.types index dd23cf05c7b4f..0334641fc06e9 100644 --- a/tests/baselines/reference/genericRestArity.types +++ b/tests/baselines/reference/genericRestArity.types @@ -5,7 +5,7 @@ declare function call( >call : (handler: (...args: TS) => void, ...args: TS) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ handler: (...args: TS) => void, >handler : (...args: TS) => void @@ -21,7 +21,7 @@ call((x: number, y: number) => x + y); >call((x: number, y: number) => x + y) : void > : ^^^^ >call : (handler: (...args: TS) => void, ...args: TS) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >(x: number, y: number) => x + y : (x: number, y: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : number @@ -39,7 +39,7 @@ call((x: number, y: number) => x + y, 1, 2, 3, 4, 5, 6, 7); >call((x: number, y: number) => x + y, 1, 2, 3, 4, 5, 6, 7) : void > : ^^^^ >call : (handler: (...args: TS) => void, ...args: TS) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >(x: number, y: number) => x + y : (x: number, y: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/genericRestArityStrict.types b/tests/baselines/reference/genericRestArityStrict.types index 9d961ed53c9f9..d41d78a17e6c4 100644 --- a/tests/baselines/reference/genericRestArityStrict.types +++ b/tests/baselines/reference/genericRestArityStrict.types @@ -5,7 +5,7 @@ declare function call( >call : (handler: (...args: TS) => void, ...args: TS) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ handler: (...args: TS) => void, >handler : (...args: TS) => void @@ -21,7 +21,7 @@ call((x: number, y: number) => x + y); >call((x: number, y: number) => x + y) : void > : ^^^^ >call : (handler: (...args: TS) => void, ...args: TS) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >(x: number, y: number) => x + y : (x: number, y: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : number @@ -39,7 +39,7 @@ call((x: number, y: number) => x + y, 1, 2, 3, 4, 5, 6, 7); >call((x: number, y: number) => x + y, 1, 2, 3, 4, 5, 6, 7) : void > : ^^^^ >call : (handler: (...args: TS) => void, ...args: TS) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >(x: number, y: number) => x + y : (x: number, y: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/genericRestParameters1.types b/tests/baselines/reference/genericRestParameters1.types index 515f7d96af42a..6c5fb604c4eeb 100644 --- a/tests/baselines/reference/genericRestParameters1.types +++ b/tests/baselines/reference/genericRestParameters1.types @@ -19,19 +19,19 @@ declare let f2: (x0: number, x1: string, x2: boolean) => void; f1 = f2; >f1 = f2 : (x0: number, x1: string, x2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >f1 : (x_0: number, x_1: string, x_2: boolean) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f2 : (x0: number, x1: string, x2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ f2 = f1; >f2 = f1 : (x_0: number, x_1: string, x_2: boolean) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f2 : (x0: number, x1: string, x2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >f1 : (x_0: number, x_1: string, x_2: boolean) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ declare const t3: [number, string, boolean]; >t3 : [number, string, boolean] @@ -61,7 +61,7 @@ f1(42, "hello", true); >f1(42, "hello", true) : void > : ^^^^ >f1 : (x_0: number, x_1: string, x_2: boolean) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -73,7 +73,7 @@ f1(t3[0], t3[1], t3[2]); >f1(t3[0], t3[1], t3[2]) : void > : ^^^^ >f1 : (x_0: number, x_1: string, x_2: boolean) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >t3[0] : number > : ^^^^^^ >t3 : [number, string, boolean] @@ -97,7 +97,7 @@ f1(...t3); >f1(...t3) : void > : ^^^^ >f1 : (x_0: number, x_1: string, x_2: boolean) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >...t3 : string | number | boolean > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >t3 : [number, string, boolean] @@ -107,7 +107,7 @@ f1(42, ...t2); >f1(42, ...t2) : void > : ^^^^ >f1 : (x_0: number, x_1: string, x_2: boolean) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >42 : 42 > : ^^ >...t2 : string | boolean @@ -119,7 +119,7 @@ f1(42, "hello", ...t1); >f1(42, "hello", ...t1) : void > : ^^^^ >f1 : (x_0: number, x_1: string, x_2: boolean) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -133,7 +133,7 @@ f1(42, "hello", true, ...t0); >f1(42, "hello", true, ...t0) : void > : ^^^^ >f1 : (x_0: number, x_1: string, x_2: boolean) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -149,7 +149,7 @@ f1(ns[0], ns[1], true); >f1(ns[0], ns[1], true) : void > : ^^^^ >f1 : (x_0: number, x_1: string, x_2: boolean) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >ns[0] : number > : ^^^^^^ >ns : [number, string] @@ -169,7 +169,7 @@ f1(...ns, true); // FIXME: Error, since ...ns is considered as string|number he >f1(...ns, true) : void > : ^^^^ >f1 : (x_0: number, x_1: string, x_2: boolean) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >...ns : string | number > : ^^^^^^^^^^^^^^^ >ns : [number, string] @@ -181,7 +181,7 @@ f2(42, "hello", true); >f2(42, "hello", true) : void > : ^^^^ >f2 : (x0: number, x1: string, x2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -193,7 +193,7 @@ f2(t3[0], t3[1], t3[2]); >f2(t3[0], t3[1], t3[2]) : void > : ^^^^ >f2 : (x0: number, x1: string, x2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >t3[0] : number > : ^^^^^^ >t3 : [number, string, boolean] @@ -217,7 +217,7 @@ f2(...t3); >f2(...t3) : void > : ^^^^ >f2 : (x0: number, x1: string, x2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >...t3 : string | number | boolean > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >t3 : [number, string, boolean] @@ -227,7 +227,7 @@ f2(42, ...t2); >f2(42, ...t2) : void > : ^^^^ >f2 : (x0: number, x1: string, x2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >42 : 42 > : ^^ >...t2 : string | boolean @@ -239,7 +239,7 @@ f2(42, "hello", ...t1); >f2(42, "hello", ...t1) : void > : ^^^^ >f2 : (x0: number, x1: string, x2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -253,7 +253,7 @@ f2(42, "hello", true, ...t0); >f2(42, "hello", true, ...t0) : void > : ^^^^ >f2 : (x0: number, x1: string, x2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -269,7 +269,7 @@ f2(ns[0], ns[1], true); >f2(ns[0], ns[1], true) : void > : ^^^^ >f2 : (x0: number, x1: string, x2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ns[0] : number > : ^^^^^^ >ns : [number, string] @@ -289,7 +289,7 @@ f2(...ns, true); // FIXME: Error, since ...ns is considered as string|number he >f2(...ns, true) : void > : ^^^^ >f2 : (x0: number, x1: string, x2: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >...ns : string | number > : ^^^^^^^^^^^^^^^ >ns : [number, string] @@ -299,7 +299,7 @@ f2(...ns, true); // FIXME: Error, since ...ns is considered as string|number he declare function f10(...args: T): T; >f10 : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >args : T > : ^ @@ -309,7 +309,7 @@ const x10 = f10(42, "hello", true); // [number, string, boolean] >f10(42, "hello", true) : [number, string, boolean] > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >f10 : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -323,7 +323,7 @@ const x11 = f10(42, "hello"); // [number, string] >f10(42, "hello") : [number, string] > : ^^^^^^^^^^^^^^^^ >f10 : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -335,7 +335,7 @@ const x12 = f10(42); // [number] >f10(42) : [number] > : ^^^^^^^^ >f10 : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ @@ -345,7 +345,7 @@ const x13 = f10(); // [] >f10() : [] > : ^^ >f10 : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ const x14 = f10(...t3); // [number, string, boolean] >x14 : [number, string, boolean] @@ -353,7 +353,7 @@ const x14 = f10(...t3); // [number, string, boolean] >f10(...t3) : [number, string, boolean] > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >f10 : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >...t3 : string | number | boolean > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >t3 : [number, string, boolean] @@ -365,7 +365,7 @@ const x15 = f10(42, ...t2); // [number, string, boolean] >f10(42, ...t2) : [number, string, boolean] > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >f10 : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >...t2 : string | boolean @@ -379,7 +379,7 @@ const x16 = f10(42, "hello", ...t1); // [number, string, boolean] >f10(42, "hello", ...t1) : [number, string, boolean] > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >f10 : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -395,7 +395,7 @@ const x17 = f10(42, "hello", true, ...t0); // [number, string, boolean] >f10(42, "hello", true, ...t0) : [number, string, boolean] > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >f10 : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -413,7 +413,7 @@ const x18 = f10(...ns, true); // (string | number | boolean)[] >f10(...ns, true) : [number, string, boolean] > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >f10 : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >...ns : string | number > : ^^^^^^^^^^^^^^^ >ns : [number, string] @@ -423,7 +423,7 @@ const x18 = f10(...ns, true); // (string | number | boolean)[] function g10(u: U, v: V) { >g10 : (u: U, v: V) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >u : U > : ^ >v : V @@ -435,7 +435,7 @@ function g10(u: U, v: V) { >f10(...u) : U > : ^ >f10 : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >...u : string > : ^^^^^^ >u : U @@ -447,7 +447,7 @@ function g10(u: U, v: V) { >f10(...v) : V > : ^ >f10 : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >...v : number > : ^^^^^^ >v : V @@ -459,7 +459,7 @@ function g10(u: U, v: V) { >f10(1, ...u) : [number, ...U] > : ^^^^^^^^^^^^^^ >f10 : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >...u : string @@ -473,7 +473,7 @@ function g10(u: U, v: V) { >f10(...u, ...v) : [...U, ...V] > : ^^^^^^^^^^^^ >f10 : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >...u : string > : ^^^^^^ >u : U @@ -486,7 +486,7 @@ function g10(u: U, v: V) { declare function f11(...args: T): T; >f11 : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >args : T > : ^ @@ -496,7 +496,7 @@ const z10 = f11(42, "hello", true); // [42, "hello", true] >f11(42, "hello", true) : [42, "hello", true] > : ^^^^^^^^^^^^^^^^^^^ >f11 : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -510,7 +510,7 @@ const z11 = f11(42, "hello"); // [42, "hello"] >f11(42, "hello") : [42, "hello"] > : ^^^^^^^^^^^^^ >f11 : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -522,7 +522,7 @@ const z12 = f11(42); // [42] >f11(42) : [42] > : ^^^^ >f11 : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ @@ -532,7 +532,7 @@ const z13 = f11(); // [] >f11() : [] > : ^^ >f11 : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ const z14 = f11(...t3); // [number, string, boolean] >z14 : [number, string, boolean] @@ -540,7 +540,7 @@ const z14 = f11(...t3); // [number, string, boolean] >f11(...t3) : [number, string, boolean] > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >f11 : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >...t3 : string | number | boolean > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >t3 : [number, string, boolean] @@ -552,7 +552,7 @@ const z15 = f11(42, ...t2); // [42, string, boolean] >f11(42, ...t2) : [42, string, boolean] > : ^^^^^^^^^^^^^^^^^^^^^ >f11 : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >...t2 : string | boolean @@ -566,7 +566,7 @@ const z16 = f11(42, "hello", ...t1); // [42, "hello", boolean] >f11(42, "hello", ...t1) : [42, "hello", boolean] > : ^^^^^^^^^^^^^^^^^^^^^^ >f11 : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -582,7 +582,7 @@ const z17 = f11(42, "hello", true, ...t0); // [42, "hello", true] >f11(42, "hello", true, ...t0) : [42, "hello", true] > : ^^^^^^^^^^^^^^^^^^^ >f11 : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -600,7 +600,7 @@ const z18 = f11(...ns, true); // (string | number | true)[] >f11(...ns, true) : [number, string, true] > : ^^^^^^^^^^^^^^^^^^^^^^ >f11 : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >...ns : string | number > : ^^^^^^^^^^^^^^^ >ns : [number, string] @@ -610,7 +610,7 @@ const z18 = f11(...ns, true); // (string | number | true)[] function g11(u: U, v: V) { >g11 : (u: U, v: V) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >u : U > : ^ >v : V @@ -622,7 +622,7 @@ function g11(u: U, v: V) { >f11(...u) : U > : ^ >f11 : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >...u : string > : ^^^^^^ >u : U @@ -634,7 +634,7 @@ function g11(u: U, v: V) { >f11(...v) : V > : ^ >f11 : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >...v : number > : ^^^^^^ >v : V @@ -646,7 +646,7 @@ function g11(u: U, v: V) { >f11(1, ...u) : [1, ...U] > : ^^^^^^^^^ >f11 : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >...u : string @@ -660,7 +660,7 @@ function g11(u: U, v: V) { >f11(...u, ...v) : [...U, ...V] > : ^^^^^^^^^^^^ >f11 : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >...u : string > : ^^^^^^ >u : U @@ -673,7 +673,7 @@ function g11(u: U, v: V) { function call(f: (...args: T) => U, ...args: T) { >call : (f: (...args: T) => U, ...args: T) => U -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >f : (...args: T) => U > : ^^^^ ^^ ^^^^^ >args : T @@ -685,7 +685,7 @@ function call(f: (...args: T) => U, ...args: T) { >f(...args) : U > : ^ >f : (...args: T) => U -> : ^^^^ ^^ ^^^^^^ +> : ^^^^ ^^ ^^^^^ >...args : unknown > : ^^^^^^^ >args : T @@ -694,7 +694,7 @@ function call(f: (...args: T) => U, ...args: T) { function callr(args: T, f: (...args: T) => U) { >callr : (args: T, f: (...args: T) => U) => U -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >args : T > : ^ >f : (...args: T) => U @@ -706,7 +706,7 @@ function callr(args: T, f: (...args: T) => U) { >f(...args) : U > : ^ >f : (...args: T) => U -> : ^^^^ ^^ ^^^^^^ +> : ^^^^ ^^ ^^^^^ >...args : unknown > : ^^^^^^^ >args : T @@ -735,7 +735,7 @@ let x20 = call((x, y) => x + y, 10, 20); // number >call((x, y) => x + y, 10, 20) : number > : ^^^^^^ >call : (f: (...args: T) => U, ...args: T) => U -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >(x, y) => x + y : (x: number, y: number) => number > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >x : number @@ -759,7 +759,7 @@ let x21 = call((x, y) => x + y, 10, "hello"); // string >call((x, y) => x + y, 10, "hello") : string > : ^^^^^^ >call : (f: (...args: T) => U, ...args: T) => U -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >(x, y) => x + y : (x: number, y: string) => string > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >x : number @@ -783,9 +783,9 @@ let x22 = call(f15, "hello", 42); // string | number >call(f15, "hello", 42) : string | number > : ^^^^^^^^^^^^^^^ >call : (f: (...args: T) => U, ...args: T) => U -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >f15 : (a: string, b: number) => string | number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ >42 : 42 @@ -797,9 +797,9 @@ let x23 = call(f16, "hello", 42); // unknown >call(f16, "hello", 42) : string | number > : ^^^^^^^^^^^^^^^ >call : (f: (...args: T) => U, ...args: T) => U -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >f16 : (a: A, b: B) => A | B -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ >42 : 42 @@ -811,9 +811,9 @@ let x24 = call<[string, number], string | number>(f16, "hello", 42); // string >call<[string, number], string | number>(f16, "hello", 42) : string | number > : ^^^^^^^^^^^^^^^ >call : (f: (...args: T) => U, ...args: T) => U -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ >f16 : (a: A, b: B) => A | B -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ >42 : 42 @@ -825,7 +825,7 @@ let x30 = callr(sn, (x, y) => x + y); // string >callr(sn, (x, y) => x + y) : string > : ^^^^^^ >callr : (args: T, f: (...args: T) => U) => U -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >sn : [string, number] > : ^^^^^^^^^^^^^^^^ >(x, y) => x + y : (x: string, y: number) => string @@ -847,11 +847,11 @@ let x31 = callr(sn, f15); // string | number >callr(sn, f15) : string | number > : ^^^^^^^^^^^^^^^ >callr : (args: T, f: (...args: T) => U) => U -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >sn : [string, number] > : ^^^^^^^^^^^^^^^^ >f15 : (a: string, b: number) => string | number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ let x32 = callr(sn, f16); // string | number >x32 : string | number @@ -859,15 +859,15 @@ let x32 = callr(sn, f16); // string | number >callr(sn, f16) : string | number > : ^^^^^^^^^^^^^^^ >callr : (args: T, f: (...args: T) => U) => U -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ >sn : [string, number] > : ^^^^^^^^^^^^^^^^ >f16 : (a: A, b: B) => A | B -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ function bind(f: (x: T, ...rest: U) => V, x: T) { >bind : (f: (x: T, ...rest: U) => V, x: T) => (...rest: U) => V -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^ >f : (x: T, ...rest: U) => V > : ^ ^^ ^^^^^ ^^ ^^^^^ >x : T @@ -885,7 +885,7 @@ function bind(f: (x: T, ...rest: U) => V, x: T) { >f(x, ...rest) : V > : ^ >f : (x: T, ...rest: U) => V -> : ^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >x : T > : ^ >...rest : unknown @@ -910,9 +910,9 @@ const f21 = bind(f20, 42); // (y: string, z: boolean) => string[] >bind(f20, 42) : (y: string, z: boolean) => string[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >bind : (f: (x: T, ...rest: U) => V, x: T) => (...rest: U) => V -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^ >f20 : (x: number, y: string, z: boolean) => string[] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >42 : 42 > : ^^ @@ -922,7 +922,7 @@ const f22 = bind(f21, "hello"); // (z: boolean) => string[] >bind(f21, "hello") : (z: boolean) => string[] > : ^^^^^^^^^^^^^^^^^^^^^^^^ >bind : (f: (x: T, ...rest: U) => V, x: T) => (...rest: U) => V -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^ >f21 : (y: string, z: boolean) => string[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"hello" : "hello" @@ -934,7 +934,7 @@ const f23 = bind(f22, true); // () => string[] >bind(f22, true) : () => string[] > : ^^^^^^^^^^^^^^ >bind : (f: (x: T, ...rest: U) => V, x: T) => (...rest: U) => V -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^ >f22 : (z: boolean) => string[] > : ^^^^^^^^^^^^^^^^^^^^^^^^ >true : true @@ -944,7 +944,7 @@ f20(42, "hello", true); >f20(42, "hello", true) : string[] > : ^^^^^^^^ >f20 : (x: number, y: string, z: boolean) => string[] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -992,9 +992,9 @@ const g21 = bind(g20, 42); // (y: string, z: boolean) => string[] >bind(g20, 42) : (y?: string | undefined, z?: boolean | undefined) => string[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >bind : (f: (x: T, ...rest: U) => V, x: T) => (...rest: U) => V -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^ >g20 : (x: number, y?: string, z?: boolean) => string[] -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >42 : 42 > : ^^ @@ -1004,7 +1004,7 @@ const g22 = bind(g21, "hello"); // (z: boolean) => string[] >bind(g21, "hello") : (z?: boolean | undefined) => string[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >bind : (f: (x: T, ...rest: U) => V, x: T) => (...rest: U) => V -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^ >g21 : (y?: string | undefined, z?: boolean | undefined) => string[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"hello" : "hello" @@ -1016,7 +1016,7 @@ const g23 = bind(g22, true); // () => string[] >bind(g22, true) : () => string[] > : ^^^^^^^^^^^^^^ >bind : (f: (x: T, ...rest: U) => V, x: T) => (...rest: U) => V -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^ >g22 : (z?: boolean | undefined) => string[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >true : true @@ -1026,7 +1026,7 @@ g20(42, "hello", true); >g20(42, "hello", true) : string[] > : ^^^^^^^^ >g20 : (x: number, y?: string, z?: boolean) => string[] -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -1038,7 +1038,7 @@ g20(42, "hello"); >g20(42, "hello") : string[] > : ^^^^^^^^ >g20 : (x: number, y?: string, z?: boolean) => string[] -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -1048,7 +1048,7 @@ g20(42); >g20(42) : string[] > : ^^^^^^^^ >g20 : (x: number, y?: string, z?: boolean) => string[] -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >42 : 42 > : ^^ @@ -1098,7 +1098,7 @@ g23(); declare function f30 any)[]>(x: T, ...args: U): U; >f30 : any)[]>(x: T, ...args: U) => U -> : ^ ^^ ^^^^^^^^^^^ ^^ ^^^^^ ^^^^^ ^^ ^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >x : T > : ^ >x : T @@ -1112,7 +1112,7 @@ const c30 = f30(42, x => "" + x, x => x + 1); // [(x: number) => string, (x: nu >f30(42, x => "" + x, x => x + 1) : [(x: number) => string, (x: number) => number] > : ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >f30 : any)[]>(x: T, ...args: U) => U -> : ^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >x => "" + x : (x: number) => string @@ -1223,7 +1223,7 @@ type EventType = { emit(e: K, ...payload: T[K] extends any[] ? T[K] : [T[K]]): void; >emit : (e: K, ...payload: T[K] extends any[] ? T[K] : [T[K]]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^ >e : K > : ^ >payload : T[K] extends any[] ? T[K] : [T[K]] @@ -1238,11 +1238,11 @@ events.emit('move', 10, 'left'); >events.emit('move', 10, 'left') : void > : ^^^^ >events.emit : (e: K, ...payload: Record1[K] extends any[] ? Record1[K] : [Record1[K]]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >events : EventType > : ^^^^^^^^^^^^^^^^^^ >emit : (e: K, ...payload: Record1[K] extends any[] ? Record1[K] : [Record1[K]]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'move' : "move" > : ^^^^^^ >10 : 10 @@ -1254,11 +1254,11 @@ events.emit('jump', 20, 'up'); >events.emit('jump', 20, 'up') : void > : ^^^^ >events.emit : (e: K, ...payload: Record1[K] extends any[] ? Record1[K] : [Record1[K]]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >events : EventType > : ^^^^^^^^^^^^^^^^^^ >emit : (e: K, ...payload: Record1[K] extends any[] ? Record1[K] : [Record1[K]]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'jump' : "jump" > : ^^^^^^ >20 : 20 @@ -1270,11 +1270,11 @@ events.emit('stop', 'Bye!'); >events.emit('stop', 'Bye!') : void > : ^^^^ >events.emit : (e: K, ...payload: Record1[K] extends any[] ? Record1[K] : [Record1[K]]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >events : EventType > : ^^^^^^^^^^^^^^^^^^ >emit : (e: K, ...payload: Record1[K] extends any[] ? Record1[K] : [Record1[K]]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'stop' : "stop" > : ^^^^^^ >'Bye!' : "Bye!" @@ -1284,11 +1284,11 @@ events.emit('done'); >events.emit('done') : void > : ^^^^ >events.emit : (e: K, ...payload: Record1[K] extends any[] ? Record1[K] : [Record1[K]]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >events : EventType > : ^^^^^^^^^^^^^^^^^^ >emit : (e: K, ...payload: Record1[K] extends any[] ? Record1[K] : [Record1[K]]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'done' : "done" > : ^^^^^^ @@ -1318,25 +1318,25 @@ declare var ff4: (a: never) => void; ff1 = ff2; >ff1 = ff2 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >ff1 : (...args: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >ff2 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ ff1 = ff3; >ff1 = ff3 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >ff1 : (...args: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >ff3 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ ff1 = ff4; // Error >ff1 = ff4 : (a: never) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >ff1 : (...args: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >ff4 : (a: never) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ diff --git a/tests/baselines/reference/genericRestParameters2.types b/tests/baselines/reference/genericRestParameters2.types index 05183b3ec48c4..35697d2c52c77 100644 --- a/tests/baselines/reference/genericRestParameters2.types +++ b/tests/baselines/reference/genericRestParameters2.types @@ -109,7 +109,7 @@ f10(42, "hello"); >f10(42, "hello") : void > : ^^^^ >f10 : (x_0: number, x_1: string, ...x_2: boolean[]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -119,7 +119,7 @@ f10(42, "hello", true); >f10(42, "hello", true) : void > : ^^^^ >f10 : (x_0: number, x_1: string, ...x_2: boolean[]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -131,7 +131,7 @@ f10(42, "hello", true, false); >f10(42, "hello", true, false) : void > : ^^^^ >f10 : (x_0: number, x_1: string, ...x_2: boolean[]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -145,7 +145,7 @@ f10(t1[0], t1[1], t1[2], t1[3]); >f10(t1[0], t1[1], t1[2], t1[3]) : void > : ^^^^ >f10 : (x_0: number, x_1: string, ...x_2: boolean[]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >t1[0] : number > : ^^^^^^ >t1 : [number, string, ...boolean[]] @@ -175,7 +175,7 @@ f10(...t1); >f10(...t1) : void > : ^^^^ >f10 : (x_0: number, x_1: string, ...x_2: boolean[]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >...t1 : string | number | boolean > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >t1 : [number, string, ...boolean[]] @@ -185,7 +185,7 @@ f10(42, ...t2); >f10(42, ...t2) : void > : ^^^^ >f10 : (x_0: number, x_1: string, ...x_2: boolean[]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >42 : 42 > : ^^ >...t2 : string | boolean @@ -197,7 +197,7 @@ f10(42, "hello", ...t3); >f10(42, "hello", ...t3) : void > : ^^^^ >f10 : (x_0: number, x_1: string, ...x_2: boolean[]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -211,7 +211,7 @@ f10(42, "hello", true, ...t4); >f10(42, "hello", true, ...t4) : void > : ^^^^ >f10 : (x_0: number, x_1: string, ...x_2: boolean[]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -227,7 +227,7 @@ f10(42, "hello", true, ...t4, false, ...t3); >f10(42, "hello", true, ...t4, false, ...t3) : void > : ^^^^ >f10 : (x_0: number, x_1: string, ...x_2: boolean[]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -249,7 +249,7 @@ f11(42, "hello"); >f11(42, "hello") : void > : ^^^^ >f11 : (a: number, x_0: string, ...x_1: boolean[]) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -259,7 +259,7 @@ f11(42, "hello", true); >f11(42, "hello", true) : void > : ^^^^ >f11 : (a: number, x_0: string, ...x_1: boolean[]) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -271,7 +271,7 @@ f11(42, "hello", true, false); >f11(42, "hello", true, false) : void > : ^^^^ >f11 : (a: number, x_0: string, ...x_1: boolean[]) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -285,7 +285,7 @@ f11(t1[0], t1[1], t1[2], t1[3]); >f11(t1[0], t1[1], t1[2], t1[3]) : void > : ^^^^ >f11 : (a: number, x_0: string, ...x_1: boolean[]) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >t1[0] : number > : ^^^^^^ >t1 : [number, string, ...boolean[]] @@ -315,7 +315,7 @@ f11(...t1); >f11(...t1) : void > : ^^^^ >f11 : (a: number, x_0: string, ...x_1: boolean[]) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >...t1 : string | number | boolean > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >t1 : [number, string, ...boolean[]] @@ -325,7 +325,7 @@ f11(42, ...t2); >f11(42, ...t2) : void > : ^^^^ >f11 : (a: number, x_0: string, ...x_1: boolean[]) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >42 : 42 > : ^^ >...t2 : string | boolean @@ -337,7 +337,7 @@ f11(42, "hello", ...t3); >f11(42, "hello", ...t3) : void > : ^^^^ >f11 : (a: number, x_0: string, ...x_1: boolean[]) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -351,7 +351,7 @@ f11(42, "hello", true, ...t4); >f11(42, "hello", true, ...t4) : void > : ^^^^ >f11 : (a: number, x_0: string, ...x_1: boolean[]) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -367,7 +367,7 @@ f11(42, "hello", true, ...t4, false, ...t3); >f11(42, "hello", true, ...t4, false, ...t3) : void > : ^^^^ >f11 : (a: number, x_0: string, ...x_1: boolean[]) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -389,7 +389,7 @@ f12(42, "hello"); >f12(42, "hello") : void > : ^^^^ >f12 : (a: number, b: string, ...x: [...boolean[]]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -399,7 +399,7 @@ f12(42, "hello", true); >f12(42, "hello", true) : void > : ^^^^ >f12 : (a: number, b: string, ...x: [...boolean[]]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -411,7 +411,7 @@ f12(42, "hello", true, false); >f12(42, "hello", true, false) : void > : ^^^^ >f12 : (a: number, b: string, ...x: [...boolean[]]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -425,7 +425,7 @@ f12(t1[0], t1[1], t1[2], t1[3]); >f12(t1[0], t1[1], t1[2], t1[3]) : void > : ^^^^ >f12 : (a: number, b: string, ...x: [...boolean[]]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >t1[0] : number > : ^^^^^^ >t1 : [number, string, ...boolean[]] @@ -455,7 +455,7 @@ f12(...t1); >f12(...t1) : void > : ^^^^ >f12 : (a: number, b: string, ...x: [...boolean[]]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >...t1 : string | number | boolean > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >t1 : [number, string, ...boolean[]] @@ -465,7 +465,7 @@ f12(42, ...t2); >f12(42, ...t2) : void > : ^^^^ >f12 : (a: number, b: string, ...x: [...boolean[]]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >...t2 : string | boolean @@ -477,7 +477,7 @@ f12(42, "hello", ...t3); >f12(42, "hello", ...t3) : void > : ^^^^ >f12 : (a: number, b: string, ...x: [...boolean[]]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -491,7 +491,7 @@ f12(42, "hello", true, ...t4); >f12(42, "hello", true, ...t4) : void > : ^^^^ >f12 : (a: number, b: string, ...x: [...boolean[]]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -507,7 +507,7 @@ f12(42, "hello", true, ...t4, false, ...t3); >f12(42, "hello", true, ...t4, false, ...t3) : void > : ^^^^ >f12 : (a: number, b: string, ...x: [...boolean[]]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -529,7 +529,7 @@ f13(42, "hello"); >f13(42, "hello") : void > : ^^^^ >f13 : (a: number, b: string, ...c: boolean[]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -539,7 +539,7 @@ f13(42, "hello", true); >f13(42, "hello", true) : void > : ^^^^ >f13 : (a: number, b: string, ...c: boolean[]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -551,7 +551,7 @@ f13(42, "hello", true, false); >f13(42, "hello", true, false) : void > : ^^^^ >f13 : (a: number, b: string, ...c: boolean[]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -565,7 +565,7 @@ f13(t1[0], t1[1], t1[2], t1[3]); >f13(t1[0], t1[1], t1[2], t1[3]) : void > : ^^^^ >f13 : (a: number, b: string, ...c: boolean[]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >t1[0] : number > : ^^^^^^ >t1 : [number, string, ...boolean[]] @@ -595,7 +595,7 @@ f13(...t1); >f13(...t1) : void > : ^^^^ >f13 : (a: number, b: string, ...c: boolean[]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >...t1 : string | number | boolean > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >t1 : [number, string, ...boolean[]] @@ -605,7 +605,7 @@ f13(42, ...t2); >f13(42, ...t2) : void > : ^^^^ >f13 : (a: number, b: string, ...c: boolean[]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >...t2 : string | boolean @@ -617,7 +617,7 @@ f13(42, "hello", ...t3); >f13(42, "hello", ...t3) : void > : ^^^^ >f13 : (a: number, b: string, ...c: boolean[]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -631,7 +631,7 @@ f13(42, "hello", true, ...t4); >f13(42, "hello", true, ...t4) : void > : ^^^^ >f13 : (a: number, b: string, ...c: boolean[]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -647,7 +647,7 @@ f13(42, "hello", true, ...t4, false, ...t3); >f13(42, "hello", true, ...t4, false, ...t3) : void > : ^^^^ >f13 : (a: number, b: string, ...c: boolean[]) => void -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -667,7 +667,7 @@ f13(42, "hello", true, ...t4, false, ...t3); declare const f20: (...args: T) => T; >f20 : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >args : T > : ^ @@ -675,7 +675,7 @@ f20(...t1); >f20(...t1) : [number, string, ...boolean[]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f20 : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >...t1 : string | number | boolean > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >t1 : [number, string, ...boolean[]] @@ -685,7 +685,7 @@ f20(42, ...t2); >f20(42, ...t2) : [number, string, ...boolean[]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f20 : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >...t2 : string | boolean @@ -697,7 +697,7 @@ f20(42, "hello", ...t3); >f20(42, "hello", ...t3) : [number, string, ...boolean[]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f20 : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -711,7 +711,7 @@ f20(42, "hello", ...t2, true); >f20(42, "hello", ...t2, true) : [number, string, string, ...boolean[], boolean] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f20 : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >"hello" : "hello" diff --git a/tests/baselines/reference/genericRestParameters3.types b/tests/baselines/reference/genericRestParameters3.types index 92b23addbb853..71754befe9618 100644 --- a/tests/baselines/reference/genericRestParameters3.types +++ b/tests/baselines/reference/genericRestParameters3.types @@ -53,7 +53,7 @@ f1("foo", "abc"); >f1("foo", "abc") : void > : ^^^^ >f1 : (x: string, ...args: [string] | [number, boolean]) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >"foo" : "foo" > : ^^^^^ >"abc" : "abc" @@ -63,7 +63,7 @@ f1("foo", 10, true); >f1("foo", 10, true) : void > : ^^^^ >f1 : (x: string, ...args: [string] | [number, boolean]) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >"foo" : "foo" > : ^^^^^ >10 : 10 @@ -75,7 +75,7 @@ f1("foo", ...t1); >f1("foo", ...t1) : void > : ^^^^ >f1 : (x: string, ...args: [string] | [number, boolean]) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >"foo" : "foo" > : ^^^^^ >...t1 : string | number | boolean @@ -87,7 +87,7 @@ f1("foo", ...t2); >f1("foo", ...t2) : void > : ^^^^ >f1 : (x: string, ...args: [string] | [number, boolean]) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >"foo" : "foo" > : ^^^^^ >...t2 : string | number | boolean @@ -99,7 +99,7 @@ f1("foo", ...t3); >f1("foo", ...t3) : void > : ^^^^ >f1 : (x: string, ...args: [string] | [number, boolean]) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >"foo" : "foo" > : ^^^^^ >...t3 : string | number | boolean @@ -111,7 +111,7 @@ f1("foo", ...t4); >f1("foo", ...t4) : void > : ^^^^ >f1 : (x: string, ...args: [string] | [number, boolean]) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >"foo" : "foo" > : ^^^^^ >...t4 : string | number | boolean @@ -123,7 +123,7 @@ f1("foo", 10); // Error >f1("foo", 10) : void > : ^^^^ >f1 : (x: string, ...args: [string] | [number, boolean]) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >"foo" : "foo" > : ^^^^^ >10 : 10 @@ -133,57 +133,57 @@ f1("foo"); // Error >f1("foo") : void > : ^^^^ >f1 : (x: string, ...args: [string] | [number, boolean]) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >"foo" : "foo" > : ^^^^^ f2 = f1; >f2 = f1 : (x: string, ...args: [string] | [number, boolean]) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >f2 : (x: string, y: string) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >f1 : (x: string, ...args: [string] | [number, boolean]) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ f3 = f1; >f3 = f1 : (x: string, ...args: [string] | [number, boolean]) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >f3 : (x: string, y: number, z: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >f1 : (x: string, ...args: [string] | [number, boolean]) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ f4 = f1; >f4 = f1 : (x: string, ...args: [string] | [number, boolean]) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >f4 : (...args: [string, string] | [string, number, boolean]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >f1 : (x: string, ...args: [string] | [number, boolean]) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ f1 = f2; // Error >f1 = f2 : (x: string, y: string) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >f1 : (x: string, ...args: [string] | [number, boolean]) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >f2 : (x: string, y: string) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ f1 = f3; // Error >f1 = f3 : (x: string, y: number, z: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >f1 : (x: string, ...args: [string] | [number, boolean]) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >f3 : (x: string, y: number, z: boolean) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ f1 = f4; >f1 = f4 : (...args: [string, string] | [string, number, boolean]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >f1 : (x: string, ...args: [string] | [number, boolean]) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >f4 : (...args: [string, string] | [string, number, boolean]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ // Repro from #26110 @@ -195,7 +195,7 @@ interface CoolArray extends Array { declare function foo(cb: (...args: T) => void): void; >foo : (cb: (...args: T) => void) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >cb : (...args: T) => void > : ^^^^ ^^ ^^^^^ >args : T @@ -205,13 +205,13 @@ foo>(); // Error >foo>() : void > : ^^^^ >foo : (cb: (...args: T) => void) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ foo>(100); // Error >foo>(100) : void > : ^^^^ >foo : (cb: (...args: T) => void) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >100 : 100 > : ^^^ @@ -219,13 +219,13 @@ foo>(foo); // Error >foo>(foo) : void > : ^^^^ >foo : (cb: (...args: T) => void) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >foo : (cb: (...args: T) => void) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ function bar(...args: T): T { >bar : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >args : T > : ^ @@ -240,7 +240,7 @@ let a = bar(10, 20); >bar(10, 20) : [number, number] > : ^^^^^^^^^^^^^^^^ >bar : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >10 : 10 > : ^^ >20 : 20 @@ -252,7 +252,7 @@ let b = bar>(10, 20); // Error >bar>(10, 20) : CoolArray > : ^^^^^^^^^^^^^^^^^ >bar : (...args: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >10 : 10 > : ^^ >20 : 20 @@ -272,13 +272,13 @@ baz(); // Error >baz() : void > : ^^^^ >baz : (...args: CoolArray) => void -> : ^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ baz(1); // Error >baz(1) : void > : ^^^^ >baz : (...args: CoolArray) => void -> : ^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ @@ -286,7 +286,7 @@ baz(1, 2); // Error >baz(1, 2) : void > : ^^^^ >baz : (...args: CoolArray) => void -> : ^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -296,7 +296,7 @@ baz(...ca); // Error >baz(...ca) : void > : ^^^^ >baz : (...args: CoolArray) => void -> : ^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >...ca : number > : ^^^^^^ >ca : CoolArray @@ -306,7 +306,7 @@ baz(...ca); // Error declare function hmm(...args: A): void; >hmm : (...args: A) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >args : A > : ^ @@ -314,13 +314,13 @@ hmm(); // okay, A = [] >hmm() : void > : ^^^^ >hmm : (...args: A) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ hmm(1, "s"); // okay, A = [1, "s"] >hmm(1, "s") : void > : ^^^^ >hmm : (...args: A) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >"s" : "s" @@ -330,7 +330,7 @@ hmm("what"); // no error? A = [] | [number, string] ? >hmm("what") : void > : ^^^^ >hmm : (...args: A) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >"what" : "what" > : ^^^^^^ @@ -354,7 +354,7 @@ foo2(...x2); >foo2(...x2) : void > : ^^^^ >foo2 : (...args: string[] | number[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >...x2 : string > : ^^^^^^ >x2 : readonly string[] @@ -394,23 +394,23 @@ declare let ff2: (x: string, ...rest: [string] | [number]) => void; ff1 = ff2; >ff1 = ff2 : (x: string, ...rest: [string] | [number]) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >ff1 : (...rest: [string, string] | [string, number]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >ff2 : (x: string, ...rest: [string] | [number]) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ ff2 = ff1; >ff2 = ff1 : (...rest: [string, string] | [string, number]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >ff2 : (x: string, ...rest: [string] | [number]) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >ff1 : (...rest: [string, string] | [string, number]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ function ff3(s1: (...args: [x: string, ...rest: A | [number]]) => void, s2: (x: string, ...rest: A | [number]) => void) { >ff3 : (s1: (...args: [x: string, ...rest: A | [number]]) => void, s2: (x: string, ...rest: A | [number]) => void) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >s1 : (...args: [x: string, ...rest: A | [number]]) => void > : ^^^^ ^^ ^^^^^ >args : [x: string, number] | [x: string, ...rest: A] @@ -424,18 +424,18 @@ function ff3(s1: (...args: [x: string, ...rest: A | [number s1 = s2; >s1 = s2 : (x: string, ...rest: A | [number]) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >s1 : (...args: [x: string, ...rest: A | [number]]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >s2 : (x: string, ...rest: A | [number]) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ s2 = s1; >s2 = s1 : (...args: [x: string, ...rest: A | [number]]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >s2 : (x: string, ...rest: A | [number]) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >s1 : (...args: [x: string, ...rest: A | [number]]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ } diff --git a/tests/baselines/reference/genericRestTypes.types b/tests/baselines/reference/genericRestTypes.types index 205a4e68e774b..a90e352d70576 100644 --- a/tests/baselines/reference/genericRestTypes.types +++ b/tests/baselines/reference/genericRestTypes.types @@ -45,7 +45,7 @@ type Generic = Bind1; // (bar: string) => boolean function assignmentWithComplexRest() { >assignmentWithComplexRest : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ const fn1: (x: string, ...rest: T) => void = (x, ..._) => x; >fn1 : (x: string, ...rest: T) => void @@ -69,12 +69,12 @@ function assignmentWithComplexRest() { >args : never > : ^^^^^ >fn1 : (x: string, ...rest: T) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ } function assignmentWithComplexRest2() { >assignmentWithComplexRest2 : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ const fn1: (cb: (x: string, ...rest: T) => void) => void = (cb) => {}; >fn1 : (cb: (x: string, ...rest: T) => void) => void @@ -88,7 +88,7 @@ function assignmentWithComplexRest2() { >(cb) => {} : (cb: (x: string, ...rest: T) => void) => void > : ^ ^^^ ^^ ^^^^^ ^^ ^^^^^ ^^^^^^^^^ >cb : (x: string, ...rest: T) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ const fn2: (cb: (...args: never) => void) => void = fn1; >fn2 : (cb: (...args: never) => void) => void @@ -98,12 +98,12 @@ function assignmentWithComplexRest2() { >args : never > : ^^^^^ >fn1 : (cb: (x: string, ...rest: T) => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ } function assignmentWithComplexRest3() { >assignmentWithComplexRest3 : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ const fn1: (x: string, ...rest: T) => void = (x, ..._) => x; >fn1 : (x: string, ...rest: T) => void @@ -131,5 +131,5 @@ function assignmentWithComplexRest3() { >x : "b" > : ^^^ >fn1 : (x: string, ...rest: T) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ } diff --git a/tests/baselines/reference/genericReversingTypeParameters.types b/tests/baselines/reference/genericReversingTypeParameters.types index 0d841756ec189..a9ee4ec20c809 100644 --- a/tests/baselines/reference/genericReversingTypeParameters.types +++ b/tests/baselines/reference/genericReversingTypeParameters.types @@ -48,11 +48,11 @@ var i = b.inverse(); // used to get the type wrong here. >b.inverse() : BiMap > : ^^^^^^^^^^^^^^^^^^^^^ >b.inverse : () => BiMap -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^^^^ >b : BiMap > : ^^^^^^^^^^^^^^^^^^^^^ >inverse : () => BiMap -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^^^^ var r2b = i.get(1); >r2b : string diff --git a/tests/baselines/reference/genericReversingTypeParameters2.types b/tests/baselines/reference/genericReversingTypeParameters2.types index c21115317d619..0791f8e5dfb5c 100644 --- a/tests/baselines/reference/genericReversingTypeParameters2.types +++ b/tests/baselines/reference/genericReversingTypeParameters2.types @@ -34,11 +34,11 @@ var i = b.inverse(); // used to get the type wrong here. >b.inverse() : BiMap > : ^^^^^^^^^^^^^^^^^^^^^ >b.inverse : () => BiMap -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^^^^ >b : BiMap > : ^^^^^^^^^^^^^^^^^^^^^ >inverse : () => BiMap -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^^^^ var r2b = i.get(1); >r2b : string diff --git a/tests/baselines/reference/genericSignatureIdentity.types b/tests/baselines/reference/genericSignatureIdentity.types index e77e702d7c34f..3932c66a20c01 100644 --- a/tests/baselines/reference/genericSignatureIdentity.types +++ b/tests/baselines/reference/genericSignatureIdentity.types @@ -8,7 +8,7 @@ var x: { >x : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ (x: T): T; >x : T @@ -18,7 +18,7 @@ var x: { var x: { >x : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ (x: T): T; >x : T @@ -28,7 +28,7 @@ var x: { var x: { >x : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ (x: T): T; >x : T @@ -38,7 +38,7 @@ var x: { var x: { >x : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ (x: any): any; >x : any diff --git a/tests/baselines/reference/genericSpecializationToTypeLiteral1.types b/tests/baselines/reference/genericSpecializationToTypeLiteral1.types index 4c396aae63a15..aa8aba8f2b06c 100644 --- a/tests/baselines/reference/genericSpecializationToTypeLiteral1.types +++ b/tests/baselines/reference/genericSpecializationToTypeLiteral1.types @@ -4,8 +4,8 @@ interface IEnumerable { zip(second: IEnumerable, resultSelector: (first: T, second: T, index: number) => TResult): IEnumerable; ->zip : { (second: IEnumerable, resultSelector: (first: T, second: T, index: number) => TResult): IEnumerable; (second: T[], resultSelector: (first: T, second: T, index: number) => TResult_1): IEnumerable; (...params: any[]): IEnumerable; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>zip : { (second: IEnumerable, resultSelector: (first: T, second: T, index: number) => TResult): IEnumerable; (second: T[], resultSelector: (first: T, second: T, index: number) => TResult_1): IEnumerable; (...params: any[]): IEnumerable; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^ ^^ ^^^ ^^^ >second : IEnumerable > : ^^^^^^^^^^^^^^ >resultSelector : (first: T, second: T, index: number) => TResult @@ -18,8 +18,8 @@ interface IEnumerable { > : ^^^^^^ zip(second: T[], resultSelector: (first: T, second: T, index: number) => TResult): IEnumerable; ->zip : { (second: IEnumerable, resultSelector: (first: T, second: T, index: number) => TResult_1): IEnumerable; (second: T[], resultSelector: (first: T, second: T, index: number) => TResult): IEnumerable; (...params: any[]): IEnumerable; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>zip : { (second: IEnumerable, resultSelector: (first: T, second: T, index: number) => TResult_1): IEnumerable; (second: T[], resultSelector: (first: T, second: T, index: number) => TResult): IEnumerable; (...params: any[]): IEnumerable; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^ ^^ ^^^ ^^^ >second : T[] > : ^^^ >resultSelector : (first: T, second: T, index: number) => TResult @@ -32,33 +32,33 @@ interface IEnumerable { > : ^^^^^^ zip(...params: any[]): IEnumerable; // last one is selector ->zip : { (second: IEnumerable, resultSelector: (first: T, second: T, index: number) => TResult_1): IEnumerable; (second: T[], resultSelector: (first: T, second: T, index: number) => TResult_2): IEnumerable; (...params: any[]): IEnumerable; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^ ^^^ +>zip : { (second: IEnumerable, resultSelector: (first: T, second: T, index: number) => TResult_1): IEnumerable; (second: T[], resultSelector: (first: T, second: T, index: number) => TResult_1): IEnumerable; (...params: any[]): IEnumerable; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^ ^^ ^^^ ^^^ >params : any[] > : ^^^^^ merge(...params: IEnumerable[]): IEnumerable; >merge : { (...params: IEnumerable[]): IEnumerable; (...params: T[][]): IEnumerable; } -> : ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >params : IEnumerable[] > : ^^^^^^^^^^^^^^^^ merge(...params: T[][]): IEnumerable; >merge : { (...params: IEnumerable[]): IEnumerable; (...params: T[][]): IEnumerable; } -> : ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >params : T[][] > : ^^^^^ concat(...sequences: IEnumerable[]): IEnumerable; >concat : { (...sequences: IEnumerable[]): IEnumerable; (...sequences: T[]): IEnumerable; } -> : ^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ >sequences : IEnumerable[] > : ^^^^^^^^^^^^^^^^ concat(...sequences: T[]): IEnumerable; >concat : { (...sequences: IEnumerable[]): IEnumerable; (...sequences: T[]): IEnumerable; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ >sequences : T[] > : ^^^ @@ -71,14 +71,14 @@ interface IEnumerable { > : ^^^^^^^^^^^^^^ sequenceEqual(second: IEnumerable): boolean; ->sequenceEqual : { (second: IEnumerable): boolean; (second: IEnumerable, compareSelector: (element: T) => TCompare): boolean; (second: T[]): boolean; (second: T[], compareSelector: (element: T) => TCompare_1): boolean; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +>sequenceEqual : { (second: IEnumerable): boolean; (second: IEnumerable, compareSelector: (element: T) => TCompare): boolean; (second: T[]): boolean; (second: T[], compareSelector: (element: T) => TCompare): boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >second : IEnumerable > : ^^^^^^^^^^^^^^ sequenceEqual(second: IEnumerable, compareSelector: (element: T) => TCompare): boolean; >sequenceEqual : { (second: IEnumerable): boolean; (second: IEnumerable, compareSelector: (element: T) => TCompare): boolean; (second: T[]): boolean; (second: T[], compareSelector: (element: T) => TCompare_1): boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >second : IEnumerable > : ^^^^^^^^^^^^^^ >compareSelector : (element: T) => TCompare @@ -87,14 +87,14 @@ interface IEnumerable { > : ^ sequenceEqual(second: T[]): boolean; ->sequenceEqual : { (second: IEnumerable): boolean; (second: IEnumerable, compareSelector: (element: T) => TCompare): boolean; (second: T[]): boolean; (second: T[], compareSelector: (element: T) => TCompare_1): boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +>sequenceEqual : { (second: IEnumerable): boolean; (second: IEnumerable, compareSelector: (element: T) => TCompare): boolean; (second: T[]): boolean; (second: T[], compareSelector: (element: T) => TCompare): boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >second : T[] > : ^^^ sequenceEqual(second: T[], compareSelector: (element: T) => TCompare): boolean; >sequenceEqual : { (second: IEnumerable): boolean; (second: IEnumerable, compareSelector: (element: T) => TCompare_1): boolean; (second: T[]): boolean; (second: T[], compareSelector: (element: T) => TCompare): boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >second : T[] > : ^^^ >compareSelector : (element: T) => TCompare @@ -103,16 +103,16 @@ interface IEnumerable { > : ^ toDictionary(keySelector: (element: T) => TKey): IDictionary; ->toDictionary : { (keySelector: (element: T) => TKey): IDictionary; (keySelector: (element: T) => TKey_1, elementSelector: (element: T) => TValue): IDictionary; (keySelector: (element: T) => TKey_2, elementSelector: (element: T) => TValue_1, compareSelector: (key: TKey_2) => TCompare): IDictionary; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>toDictionary : { (keySelector: (element: T) => TKey): IDictionary; (keySelector: (element: T) => TKey_1, elementSelector: (element: T) => TValue): IDictionary; (keySelector: (element: T) => TKey_1, elementSelector: (element: T) => TValue, compareSelector: (key: TKey_1) => TCompare): IDictionary; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >keySelector : (element: T) => TKey > : ^ ^^ ^^^^^ >element : T > : ^ toDictionary(keySelector: (element: T) => TKey, elementSelector: (element: T) => TValue): IDictionary; ->toDictionary : { (keySelector: (element: T) => TKey_1): IDictionary; (keySelector: (element: T) => TKey, elementSelector: (element: T) => TValue): IDictionary; (keySelector: (element: T) => TKey_2, elementSelector: (element: T) => TValue_1, compareSelector: (key: TKey_2) => TCompare): IDictionary; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>toDictionary : { (keySelector: (element: T) => TKey_1): IDictionary; (keySelector: (element: T) => TKey, elementSelector: (element: T) => TValue): IDictionary; (keySelector: (element: T) => TKey_1, elementSelector: (element: T) => TValue_1, compareSelector: (key: TKey_1) => TCompare): IDictionary; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >keySelector : (element: T) => TKey > : ^ ^^ ^^^^^ >element : T @@ -123,8 +123,8 @@ interface IEnumerable { > : ^ toDictionary(keySelector: (element: T) => TKey, elementSelector: (element: T) => TValue, compareSelector: (key: TKey) => TCompare): IDictionary; ->toDictionary : { (keySelector: (element: T) => TKey_1): IDictionary; (keySelector: (element: T) => TKey_2, elementSelector: (element: T) => TValue_1): IDictionary; (keySelector: (element: T) => TKey, elementSelector: (element: T) => TValue, compareSelector: (key: TKey) => TCompare): IDictionary; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +>toDictionary : { (keySelector: (element: T) => TKey_1): IDictionary; (keySelector: (element: T) => TKey_1, elementSelector: (element: T) => TValue_1): IDictionary; (keySelector: (element: T) => TKey, elementSelector: (element: T) => TValue, compareSelector: (key: TKey) => TCompare): IDictionary; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >keySelector : (element: T) => TKey > : ^ ^^ ^^^^^ >element : T diff --git a/tests/baselines/reference/genericSpecializations3.types b/tests/baselines/reference/genericSpecializations3.types index 36c4e434cbfde..23823d193ad98 100644 --- a/tests/baselines/reference/genericSpecializations3.types +++ b/tests/baselines/reference/genericSpecializations3.types @@ -74,11 +74,11 @@ stringFoo2.foo("hm"); >stringFoo2.foo("hm") : string > : ^^^^^^ >stringFoo2.foo : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >stringFoo2 : StringFoo2 > : ^^^^^^^^^^ >foo : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"hm" : "hm" > : ^^^^ diff --git a/tests/baselines/reference/genericStaticAnyTypeFunction.types b/tests/baselines/reference/genericStaticAnyTypeFunction.types index 4955108e79917..477e7d80038a8 100644 --- a/tests/baselines/reference/genericStaticAnyTypeFunction.types +++ b/tests/baselines/reference/genericStaticAnyTypeFunction.types @@ -34,11 +34,11 @@ class A { >this.one(source, 42) : T > : ^ >this.one : (source: T_1, value: number) => T_1 -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >this : typeof A > : ^^^^^^^^ >one : (source: T_1, value: number) => T_1 -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >source : T > : ^ >42 : 42 diff --git a/tests/baselines/reference/genericTemplateOverloadResolution.types b/tests/baselines/reference/genericTemplateOverloadResolution.types index 096fbdba851e4..abe72792dc088 100644 --- a/tests/baselines/reference/genericTemplateOverloadResolution.types +++ b/tests/baselines/reference/genericTemplateOverloadResolution.types @@ -25,7 +25,7 @@ expect(fooFn``); >expect(fooFn``) : void > : ^^^^ >expect : (x: Promise) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >fooFn`` : Promise > : ^^^^^^^^^^^^^^^ >fooFn : IFooFn diff --git a/tests/baselines/reference/genericTypeArgumentInference1.types b/tests/baselines/reference/genericTypeArgumentInference1.types index 20977cfaf91e1..ad6c98f795b4b 100644 --- a/tests/baselines/reference/genericTypeArgumentInference1.types +++ b/tests/baselines/reference/genericTypeArgumentInference1.types @@ -40,12 +40,12 @@ var r = _.all([true, 1, null, 'yes'], _.identity); > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >_.all([true, 1, null, 'yes'], _.identity) : string | number | boolean > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->_.all : (list: T[], iterator?: Iterator, context?: any) => T -> : ^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^ +>_.all : (list: T[], iterator?: Underscore.Iterator, context?: any) => T +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ ->all : (list: T[], iterator?: Iterator, context?: any) => T -> : ^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^ +>all : (list: T[], iterator?: Underscore.Iterator, context?: any) => T +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >[true, 1, null, 'yes'] : (string | number | true)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >true : true @@ -55,65 +55,65 @@ var r = _.all([true, 1, null, 'yes'], _.identity); >'yes' : "yes" > : ^^^^^ >_.identity : (value: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >identity : (value: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ var r2 = _.all([true], _.identity); >r2 : boolean > : ^^^^^^^ >_.all([true], _.identity) : boolean > : ^^^^^^^ ->_.all : (list: T[], iterator?: Iterator, context?: any) => T -> : ^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^ +>_.all : (list: T[], iterator?: Underscore.Iterator, context?: any) => T +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ ->all : (list: T[], iterator?: Iterator, context?: any) => T -> : ^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^ +>all : (list: T[], iterator?: Underscore.Iterator, context?: any) => T +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >[true] : true[] > : ^^^^^^ >true : true > : ^^^^ >_.identity : (value: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >identity : (value: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ var r3 = _.all([], _.identity); >r3 : any > : ^^^ >_.all([], _.identity) : any > : ^^^ ->_.all : (list: T[], iterator?: Iterator, context?: any) => T -> : ^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^ +>_.all : (list: T[], iterator?: Underscore.Iterator, context?: any) => T +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ ->all : (list: T[], iterator?: Iterator, context?: any) => T -> : ^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^ +>all : (list: T[], iterator?: Underscore.Iterator, context?: any) => T +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >[] : undefined[] > : ^^^^^^^^^^^ >_.identity : (value: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >identity : (value: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ var r4 = _.all([true], _.identity); >r4 : any > : ^^^ >_.all([true], _.identity) : any > : ^^^ ->_.all : (list: T[], iterator?: Iterator, context?: any) => T -> : ^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^ +>_.all : (list: T[], iterator?: Underscore.Iterator, context?: any) => T +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ ->all : (list: T[], iterator?: Iterator, context?: any) => T -> : ^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^ +>all : (list: T[], iterator?: Underscore.Iterator, context?: any) => T +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >[true] : any[] > : ^^^^^ >true : any @@ -121,9 +121,9 @@ var r4 = _.all([true], _.identity); >true : true > : ^^^^ >_.identity : (value: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >identity : (value: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/genericTypeAssertions4.types b/tests/baselines/reference/genericTypeAssertions4.types index 091735908590d..8640c06a54417 100644 --- a/tests/baselines/reference/genericTypeAssertions4.types +++ b/tests/baselines/reference/genericTypeAssertions4.types @@ -52,7 +52,7 @@ var c: C; function foo2(x: T) { >foo2 : (x: T) => void -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ diff --git a/tests/baselines/reference/genericTypeAssertions5.types b/tests/baselines/reference/genericTypeAssertions5.types index 9c0d2e91f6cb9..e73286d89263d 100644 --- a/tests/baselines/reference/genericTypeAssertions5.types +++ b/tests/baselines/reference/genericTypeAssertions5.types @@ -33,7 +33,7 @@ var c: C; function foo2(x: T) { >foo2 : (x: T) => void -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ diff --git a/tests/baselines/reference/genericTypeParameterEquivalence2.types b/tests/baselines/reference/genericTypeParameterEquivalence2.types index 3de02a250a983..98475497837bc 100644 --- a/tests/baselines/reference/genericTypeParameterEquivalence2.types +++ b/tests/baselines/reference/genericTypeParameterEquivalence2.types @@ -26,14 +26,14 @@ function compose(f: (b: B) => C, g: (a:A) => B): (a:A) => C { >f(g.apply(null, a)) : C > : ^ >f : (b: B) => C -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >g.apply(null, a) : any >g.apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >g : (a: A) => B -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >a : A > : ^ @@ -77,7 +77,7 @@ function forEach(list: A[], f: (a: A, n?: number) => void ): void { >f(list[i], i) : void > : ^^^^ >f : (a: A, n?: number) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >list[i] : A > : ^ >list : A[] @@ -110,7 +110,7 @@ function filter(f: (a: A) => boolean, ar: A[]): A[] { >forEach(ar, (el) => { if (f(el)) { ret.push(el); } } ) : void > : ^^^^ >forEach : (list: A_1[], f: (a: A_1, n?: number) => void) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >ar : A[] > : ^^^ >(el) => { if (f(el)) { ret.push(el); } } : (el: A) => void @@ -122,7 +122,7 @@ function filter(f: (a: A) => boolean, ar: A[]): A[] { >f(el) : boolean > : ^^^^^^^ >f : (a: A) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >el : A > : ^ @@ -130,11 +130,11 @@ function filter(f: (a: A) => boolean, ar: A[]): A[] { >ret.push(el) : number > : ^^^^^^ >ret.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >ret : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >el : A > : ^ } @@ -192,7 +192,7 @@ function curry1(f: (a: A, b: B) => C): (ax: A) => (bx: B) => C { >f(ay, by) : C > : ^ >f : (a: A, b: B) => C -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >ay : A > : ^ >by : B @@ -204,13 +204,13 @@ function curry1(f: (a: A, b: B) => C): (ax: A) => (bx: B) => C { var cfilter = curry1(filter); >cfilter : (ax: (a: A) => boolean) => (bx: A[]) => A[] -> : ^ ^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^^^ ^^^^^ ^^^ ^^^ >curry1(filter) : (ax: (a: A) => boolean) => (bx: A[]) => A[] -> : ^ ^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^^^ ^^^^^ ^^^ ^^^ >curry1 : (f: (a: A, b: B) => C) => (ax: A) => (bx: B) => C -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >filter : (f: (a: A) => boolean, ar: A[]) => A[] -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ // compose :: (b->c) -> (a->b) -> (a->c) // length :: [a] -> Num @@ -234,15 +234,15 @@ function countWhere_1(pred: (a: A) => boolean): (a: A[]) => number { >compose(length2, cfilter(pred)) : (a: A[]) => number > : ^ ^^^^^^^^^^^^^^^^ >compose : (f: (b: B) => C, g: (a: A_1) => B) => (a: A_1) => C -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >length2 : (ar: A_1[]) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >cfilter(pred) : (bx: A[]) => A[] > : ^ ^^^^^^^^^^^^^ >cfilter : (ax: (a: A_1) => boolean) => (bx: A_1[]) => A_1[] -> : ^ ^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^^^ ^^^^^ ^^^^^ ^^^^^ >pred : (a: A) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ } function countWhere_2(pred: (a: A) => boolean): (a: A[]) => number { @@ -261,17 +261,17 @@ function countWhere_2(pred: (a: A) => boolean): (a: A[]) => number { >cfilter(pred) : (bx: A[]) => A[] > : ^ ^^^^^^^^^^^^^ >cfilter : (ax: (a: A_1) => boolean) => (bx: A_1[]) => A_1[] -> : ^ ^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^^^ ^^^^^ ^^^^^ ^^^^^ >pred : (a: A) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ return compose(length2, where); >compose(length2, where) : (a: A[]) => number > : ^ ^^^^^^^^^^^^^^^^ >compose : (f: (b: B) => C, g: (a: A_1) => B) => (a: A_1) => C -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >length2 : (ar: A_1[]) => number -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >where : (bx: A[]) => A[] > : ^ ^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/genericTypeReferenceWithoutTypeArgument.d.types b/tests/baselines/reference/genericTypeReferenceWithoutTypeArgument.d.types index 196521bf1f9d6..7d12f8b399ff6 100644 --- a/tests/baselines/reference/genericTypeReferenceWithoutTypeArgument.d.types +++ b/tests/baselines/reference/genericTypeReferenceWithoutTypeArgument.d.types @@ -18,14 +18,14 @@ declare var c: C; > : ^^^ declare var a: { x: C }; ->a : { x: any; } -> : ^^^^^^^^^^^ +>a : { x: C; } +> : ^^^^^ ^^^ >x : any > : ^^^ declare var b: { (x: C): C }; ->b : (x: any) => any -> : ^ ^^^^^^^^^^^^^ +>b : (x: C) => C +> : ^ ^^ ^^^^^ >x : any > : ^^^ @@ -36,8 +36,8 @@ declare var d: { [x: C]: C }; > : ^^^ declare function f(x: C): C; ->f : (x: any) => any -> : ^ ^^^^^^^^^^^^^ +>f : (x: C) => C +> : ^ ^^ ^^^^^ >x : any > : ^^^ @@ -75,14 +75,14 @@ declare class D3 { } > : ^^^ declare function h(x: T); ->h : (x: T) => any -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^ +>h : (x: T) => any +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ >x : T > : ^ declare function i(x: T); ->i : (x: T) => any -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^ +>i : (x: T) => any +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ >M : any > : ^^^ >x : T diff --git a/tests/baselines/reference/genericTypeReferenceWithoutTypeArgument.types b/tests/baselines/reference/genericTypeReferenceWithoutTypeArgument.types index ba8e085f0d16b..b289f43a0a8db 100644 --- a/tests/baselines/reference/genericTypeReferenceWithoutTypeArgument.types +++ b/tests/baselines/reference/genericTypeReferenceWithoutTypeArgument.types @@ -18,14 +18,14 @@ var c: C; > : ^^^ var a: { x: C }; ->a : { x: any; } -> : ^^^^^^^^^^^ +>a : { x: C; } +> : ^^^^^ ^^^ >x : any > : ^^^ var b: { (x: C): C }; ->b : (x: any) => any -> : ^ ^^^^^^^^^^^^^ +>b : (x: C) => C +> : ^ ^^ ^^^^^ >x : any > : ^^^ @@ -36,10 +36,10 @@ var d: { [x: C]: C }; > : ^^^ var e = (x: C) => { var y: C; return y; } ->e : (x: any) => any -> : ^ ^^^^^^^^^^^^^ ->(x: C) => { var y: C; return y; } : (x: any) => any -> : ^ ^^^^^^^^^^^^^ +>e : (x: C) => any +> : ^ ^^ ^^^^^^^^ +>(x: C) => { var y: C; return y; } : (x: C) => any +> : ^ ^^ ^^^^^^^^ >x : any > : ^^^ >y : any @@ -48,8 +48,8 @@ var e = (x: C) => { var y: C; return y; } > : ^^^ function f(x: C): C { var y: C; return y; } ->f : (x: any) => any -> : ^ ^^^^^^^^^^^^^ +>f : (x: C) => C +> : ^ ^^ ^^^^^ >x : any > : ^^^ >y : any @@ -58,12 +58,12 @@ function f(x: C): C { var y: C; return y; } > : ^^^ var g = function f(x: C): C { var y: C; return y; } ->g : (x: any) => any -> : ^ ^^^^^^^^^^^^^ ->function f(x: C): C { var y: C; return y; } : (x: any) => any -> : ^ ^^^^^^^^^^^^^ ->f : (x: any) => any -> : ^ ^^^^^^^^^^^^^ +>g : (x: C) => C +> : ^ ^^ ^^^^^ +>function f(x: C): C { var y: C; return y; } : (x: C) => C +> : ^ ^^ ^^^^^ +>f : (x: C) => C +> : ^ ^^ ^^^^^ >x : any > : ^^^ >y : any @@ -112,14 +112,14 @@ interface I2 extends M.E { } > : ^^^^^^^^ function h(x: T) { } ->h : (x: T) => void -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>h : (x: T) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ function i(x: T) { } ->i : (x: T) => void -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>i : (x: T) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >M : any > : ^^^ >x : T diff --git a/tests/baselines/reference/genericTypeReferenceWithoutTypeArgument2.types b/tests/baselines/reference/genericTypeReferenceWithoutTypeArgument2.types index 043d5ede96a25..02c324df4a2ba 100644 --- a/tests/baselines/reference/genericTypeReferenceWithoutTypeArgument2.types +++ b/tests/baselines/reference/genericTypeReferenceWithoutTypeArgument2.types @@ -15,14 +15,14 @@ var c: I; > : ^^^ var a: { x: I }; ->a : { x: any; } -> : ^^^^^^^^^^^ +>a : { x: I; } +> : ^^^^^ ^^^ >x : any > : ^^^ var b: { (x: I): I }; ->b : (x: any) => any -> : ^ ^^^^^^^^^^^^^ +>b : (x: I) => I +> : ^ ^^ ^^^^^ >x : any > : ^^^ @@ -33,10 +33,10 @@ var d: { [x: I]: I }; > : ^^^ var e = (x: I) => { var y: I; return y; } ->e : (x: any) => any -> : ^ ^^^^^^^^^^^^^ ->(x: I) => { var y: I; return y; } : (x: any) => any -> : ^ ^^^^^^^^^^^^^ +>e : (x: I) => any +> : ^ ^^ ^^^^^^^^ +>(x: I) => { var y: I; return y; } : (x: I) => any +> : ^ ^^ ^^^^^^^^ >x : any > : ^^^ >y : any @@ -45,8 +45,8 @@ var e = (x: I) => { var y: I; return y; } > : ^^^ function f(x: I): I { var y: I; return y; } ->f : (x: any) => any -> : ^ ^^^^^^^^^^^^^ +>f : (x: I) => I +> : ^ ^^ ^^^^^ >x : any > : ^^^ >y : any @@ -55,12 +55,12 @@ function f(x: I): I { var y: I; return y; } > : ^^^ var g = function f(x: I): I { var y: I; return y; } ->g : (x: any) => any -> : ^ ^^^^^^^^^^^^^ ->function f(x: I): I { var y: I; return y; } : (x: any) => any -> : ^ ^^^^^^^^^^^^^ ->f : (x: any) => any -> : ^ ^^^^^^^^^^^^^ +>g : (x: I) => I +> : ^ ^^ ^^^^^ +>function f(x: I): I { var y: I; return y; } : (x: I) => I +> : ^ ^^ ^^^^^ +>f : (x: I) => I +> : ^ ^^ ^^^^^ >x : any > : ^^^ >y : any @@ -102,14 +102,14 @@ interface I2 extends M.C { } > : ^^^ function h(x: T) { } ->h : (x: T) => void -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>h : (x: T) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ function i(x: T) { } ->i : (x: T) => void -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>i : (x: T) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >M : any > : ^^^ >x : T diff --git a/tests/baselines/reference/genericTypeReferenceWithoutTypeArgument3.types b/tests/baselines/reference/genericTypeReferenceWithoutTypeArgument3.types index 35ae6406b6208..1b4e7fc2df006 100644 --- a/tests/baselines/reference/genericTypeReferenceWithoutTypeArgument3.types +++ b/tests/baselines/reference/genericTypeReferenceWithoutTypeArgument3.types @@ -18,14 +18,14 @@ declare var c: C; > : ^^^ declare var a: { x: C }; ->a : { x: any; } -> : ^^^^^^^^^^^ +>a : { x: C; } +> : ^^^^^ ^^^ >x : any > : ^^^ declare var b: { (x: C): C }; ->b : (x: any) => any -> : ^ ^^^^^^^^^^^^^ +>b : (x: C) => C +> : ^ ^^ ^^^^^ >x : any > : ^^^ @@ -36,8 +36,8 @@ declare var d: { [x: C]: C }; > : ^^^ declare function f(x: C): C; ->f : (x: any) => any -> : ^ ^^^^^^^^^^^^^ +>f : (x: C) => C +> : ^ ^^ ^^^^^ >x : any > : ^^^ @@ -75,14 +75,14 @@ declare class D3 { } > : ^^^ declare function h(x: T); ->h : (x: T) => any -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^ +>h : (x: T) => any +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ >x : T > : ^ declare function i(x: T); ->i : (x: T) => any -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^ +>i : (x: T) => any +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ >M : any > : ^^^ >x : T diff --git a/tests/baselines/reference/genericTypeWithCallableMembers2.types b/tests/baselines/reference/genericTypeWithCallableMembers2.types index df93960943d84..a13adb7b071ff 100644 --- a/tests/baselines/reference/genericTypeWithCallableMembers2.types +++ b/tests/baselines/reference/genericTypeWithCallableMembers2.types @@ -2,8 +2,8 @@ === genericTypeWithCallableMembers2.ts === function foo1(f: T) { ->foo1 : string>(f: T) => string -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ +>foo1 : (f: T) => string +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ >f : T > : ^ @@ -15,8 +15,8 @@ function foo1(f: T) { } function foo2(f: T) { ->foo2 : string>(f: T) => string -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ +>foo2 : (f: T) => string +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ >f : T > : ^ diff --git a/tests/baselines/reference/genericTypeWithMultipleBases1.types b/tests/baselines/reference/genericTypeWithMultipleBases1.types index bc153a71c4a76..5a5a8d4226efc 100644 --- a/tests/baselines/reference/genericTypeWithMultipleBases1.types +++ b/tests/baselines/reference/genericTypeWithMultipleBases1.types @@ -36,20 +36,20 @@ x.m1(); >x.m1() : void > : ^^^^ >x.m1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >x : I3 > : ^^^^^^^^^^ >m1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ x.m2(); >x.m2() : void > : ^^^^ >x.m2 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >x : I3 > : ^^^^^^^^^^ >m2 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/genericTypeWithMultipleBases2.types b/tests/baselines/reference/genericTypeWithMultipleBases2.types index fa4459466231b..ac6c7f7bac413 100644 --- a/tests/baselines/reference/genericTypeWithMultipleBases2.types +++ b/tests/baselines/reference/genericTypeWithMultipleBases2.types @@ -35,20 +35,20 @@ x.m1(); >x.m1() : void > : ^^^^ >x.m1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >x : I3 > : ^^^^^^^^^^ >m1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ x.m2(); >x.m2() : void > : ^^^^ >x.m2 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >x : I3 > : ^^^^^^^^^^ >m2 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/genericTypeWithNonGenericBaseMisMatch.types b/tests/baselines/reference/genericTypeWithNonGenericBaseMisMatch.types index a1741e36f8fa6..d1faaaff1a774 100644 --- a/tests/baselines/reference/genericTypeWithNonGenericBaseMisMatch.types +++ b/tests/baselines/reference/genericTypeWithNonGenericBaseMisMatch.types @@ -36,5 +36,5 @@ var i: I = x; // Should not be allowed -- type of 'f' is incompatible with 'I' >i : I > : ^ >x : X<{ a: string; }> -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^ diff --git a/tests/baselines/reference/genericUnboundedTypeParamAssignability.types b/tests/baselines/reference/genericUnboundedTypeParamAssignability.types index 077c164ebcb8a..6cdbe5ddd8eb6 100644 --- a/tests/baselines/reference/genericUnboundedTypeParamAssignability.types +++ b/tests/baselines/reference/genericUnboundedTypeParamAssignability.types @@ -20,7 +20,7 @@ function f1(o: T) { function f2(o: T) { >f2 : (o: T) => void -> : ^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >o : T > : ^ @@ -28,16 +28,16 @@ function f2(o: T) { >o.toString() : string > : ^^^^^^ >o.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >o : T > : ^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } function f3>(o: T) { >f3 : >(o: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >o : T > : ^ @@ -45,11 +45,11 @@ function f3>(o: T) { >o.toString() : string > : ^^^^^^ >o.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >o : T > : ^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } function user(t: T) { @@ -70,7 +70,7 @@ function user(t: T) { >f2(t) : void > : ^^^^ >f2 : (o: T_1) => void -> : ^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >t : T > : ^ @@ -78,7 +78,7 @@ function user(t: T) { >f3(t) : void > : ^^^^ >f3 : >(o: T_1) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >t : T > : ^ diff --git a/tests/baselines/reference/genericWithNoConstraintComparableWithCurlyCurly.types b/tests/baselines/reference/genericWithNoConstraintComparableWithCurlyCurly.types index f1ca191ff6de0..abaf24fb99480 100644 --- a/tests/baselines/reference/genericWithNoConstraintComparableWithCurlyCurly.types +++ b/tests/baselines/reference/genericWithNoConstraintComparableWithCurlyCurly.types @@ -20,7 +20,7 @@ function foo() { function bar() { >bar : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ let x = {}; >x : {} @@ -37,7 +37,7 @@ function bar() { function baz() { >baz : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ let x = {}; >x : {} @@ -54,7 +54,7 @@ function baz() { function bat() { >bat : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ let x = {}; >x : {} @@ -71,7 +71,7 @@ function bat() { function no() { >no : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ let x = {}; >x : {} @@ -88,7 +88,7 @@ function no() { function yes() { >yes : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ let x = {}; >x : {} diff --git a/tests/baselines/reference/genericsAndHigherOrderFunctions.types b/tests/baselines/reference/genericsAndHigherOrderFunctions.types index dd7bcad337eba..4cb6fdba1f917 100644 --- a/tests/baselines/reference/genericsAndHigherOrderFunctions.types +++ b/tests/baselines/reference/genericsAndHigherOrderFunctions.types @@ -45,11 +45,11 @@ var combine: (f: (_: T) => S) => >f(g(x)) : S > : ^ >f : (_: T) => S -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >g(x) : T > : ^ >g : (_: U) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >x : U > : ^ @@ -117,15 +117,15 @@ var foo: (g: (x: K) => N) => >h(combine(f)(g)) : (_: R) => R > : ^ ^^^^^^^^^ >h : (_: (_: K) => (_: M) => M) => (_: M) => M -> : ^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >combine(f)(g) : (x: K) => (_: R) => R -> : ^ ^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^ >combine(f) : (g: (_: U) => N) => (x: U) => (_: R) => R -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^ ^ ^ ^^ ^^^^^ >combine : (f: (_: T) => S) => (g: (_: U) => T) => (x: U) => S -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >f : (_: N) => (_: R) => R -> : ^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >g : (x: K) => N -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ diff --git a/tests/baselines/reference/genericsWithDuplicateTypeParameters1.types b/tests/baselines/reference/genericsWithDuplicateTypeParameters1.types index 53183ff9e4fef..3f77e49491045 100644 --- a/tests/baselines/reference/genericsWithDuplicateTypeParameters1.types +++ b/tests/baselines/reference/genericsWithDuplicateTypeParameters1.types @@ -45,10 +45,10 @@ interface I { } var m = { ->m : { a: () => void; b: (a: X_1, b: X_1) => X_1; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^ ->{ a: function f() {}, b: function f2(a: X, b: X): X { return null; }} : { a: () => void; b: (a: X_1, b: X_1) => X_1; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^ +>m : { a: () => void; b: (a: X, b: X) => X; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^ +>{ a: function f() {}, b: function f2(a: X, b: X): X { return null; }} : { a: () => void; b: (a: X, b: X) => X; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^ a: function f() {}, >a : () => void diff --git a/tests/baselines/reference/genericsWithoutTypeParameters1.types b/tests/baselines/reference/genericsWithoutTypeParameters1.types index 37257696d399b..d53f00d368de8 100644 --- a/tests/baselines/reference/genericsWithoutTypeParameters1.types +++ b/tests/baselines/reference/genericsWithoutTypeParameters1.types @@ -33,8 +33,8 @@ var i2: I; > : ^^^^^^ function foo(x: C, y: I) { } ->foo : (x: any, y: any) => void -> : ^ ^^^^^^^ ^^^^^^^^^^^^^^ +>foo : (x: C, y: I) => void +> : ^ ^^ ^^ ^^ ^^^^^^^^^ >x : any > : ^^^ >y : any @@ -49,8 +49,8 @@ function foo2(x: C, y: I) { } > : ^^^^^^ var x: { a: C } = { a: new C() }; ->x : { a: any; } -> : ^^^^^^^^^^^ +>x : { a: C; } +> : ^^^^^ ^^^ >a : any > : ^^^ >{ a: new C() } : { a: C; } @@ -63,8 +63,8 @@ var x: { a: C } = { a: new C() }; > : ^^^^^^^^ var x2: { a: I } = { a: { bar() { return 1 } } }; ->x2 : { a: any; } -> : ^^^^^^^^^^^ +>x2 : { a: I; } +> : ^^^^^ ^^^ >a : any > : ^^^ >{ a: { bar() { return 1 } } } : { a: { bar(): number; }; } @@ -106,8 +106,8 @@ class A { } > : ^^^^ function f(x: T): A { ->f : (x: T) => any -> : ^ ^^ ^^ ^^^^^^^^ +>f : (x: T) => A +> : ^ ^^ ^^ ^^^^^ >x : T > : ^ diff --git a/tests/baselines/reference/getParameterNameAtPosition.types b/tests/baselines/reference/getParameterNameAtPosition.types index 3587d80d67a4a..bbcfa36d51668 100644 --- a/tests/baselines/reference/getParameterNameAtPosition.types +++ b/tests/baselines/reference/getParameterNameAtPosition.types @@ -25,7 +25,7 @@ declare function cases(tester: Tester): void; declare function fn(implementation?: (...args: Y) => any): Mock; >fn : (implementation?: (...args: Y) => any) => Mock -> : ^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^ ^^^^^ >implementation : ((...args: Y) => any) | undefined > : ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >args : Y @@ -35,11 +35,11 @@ cases(fn(opts => { })); >cases(fn(opts => { })) : void > : ^^^^ >cases : (tester: Tester) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >fn(opts => { }) : Mock<[opts: any]> > : ^^^^^^^^^^^^^^^^^ >fn : (implementation?: (...args: Y) => any) => Mock -> : ^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^ ^^^^^ >opts => { } : (opts: any) => void > : ^ ^^^^^^^^^^^^^^ >opts : any diff --git a/tests/baselines/reference/getterControlFlowStrictNull.types b/tests/baselines/reference/getterControlFlowStrictNull.types index cf07811f7b8d8..6bd6a5d988530 100644 --- a/tests/baselines/reference/getterControlFlowStrictNull.types +++ b/tests/baselines/reference/getterControlFlowStrictNull.types @@ -15,11 +15,11 @@ class A { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ @@ -45,11 +45,11 @@ class B { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ @@ -75,11 +75,11 @@ class C { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ diff --git a/tests/baselines/reference/getterSetterNonAccessor.types b/tests/baselines/reference/getterSetterNonAccessor.types index 0cf0120669e25..d5bed2c074292 100644 --- a/tests/baselines/reference/getterSetterNonAccessor.types +++ b/tests/baselines/reference/getterSetterNonAccessor.types @@ -16,11 +16,11 @@ Object.defineProperty({}, "0", ({ >Object.defineProperty({}, "0", ({ get: getFunc, set: setFunc, configurable: true })) : {} > : ^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{} : {} > : ^^ >"0" : "0" @@ -28,15 +28,15 @@ Object.defineProperty({}, "0", ({ >({ get: getFunc, set: setFunc, configurable: true }) : PropertyDescriptor > : ^^^^^^^^^^^^^^^^^^ >({ get: getFunc, set: setFunc, configurable: true }) : { get: () => any; set: (v: any) => void; configurable: true; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ get: getFunc, set: setFunc, configurable: true } : { get: () => any; set: (v: any) => void; configurable: true; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ get: getFunc, >get : () => any -> : ^^^^^^^^^ +> : ^^^^^^ >getFunc : () => any -> : ^^^^^^^^^ +> : ^^^^^^ set: setFunc, >set : (v: any) => void diff --git a/tests/baselines/reference/gettersAndSetters.types b/tests/baselines/reference/gettersAndSetters.types index a7c2294dd0a76..0e4771d94768f 100644 --- a/tests/baselines/reference/gettersAndSetters.types +++ b/tests/baselines/reference/gettersAndSetters.types @@ -188,7 +188,7 @@ var ofg = o.Foo; >o.Foo : number > : ^^^^^^ >o : { Foo: number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >Foo : number > : ^^^^^^ @@ -198,7 +198,7 @@ o.Foo = 0; >o.Foo : number > : ^^^^^^ >o : { Foo: number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >Foo : number > : ^^^^^^ >0 : 0 @@ -232,11 +232,11 @@ const x: string | number = Math.random() < 0.5 ? "str" : 123; >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ >"str" : "str" @@ -268,11 +268,11 @@ if (typeof x === "string") { >x.toUpperCase() : string > : ^^^^^^ >x.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ get prop() { return x.toUpperCase() }, >prop : any @@ -280,11 +280,11 @@ if (typeof x === "string") { >x.toUpperCase() : string > : ^^^^^^ >x.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ method() { return x.toUpperCase() } >method : () => string @@ -292,11 +292,11 @@ if (typeof x === "string") { >x.toUpperCase() : string > : ^^^^^^ >x.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } diff --git a/tests/baselines/reference/giant.errors.txt b/tests/baselines/reference/giant.errors.txt index a5acfcf55ef60..47c79a67ce938 100644 --- a/tests/baselines/reference/giant.errors.txt +++ b/tests/baselines/reference/giant.errors.txt @@ -1,253 +1,237 @@ -giant.ts(22,12): error TS2300: Duplicate identifier 'pgF'. -giant.ts(23,16): error TS2300: Duplicate identifier 'pgF'. -giant.ts(23,20): error TS1005: '{' expected. -giant.ts(24,12): error TS2300: Duplicate identifier 'psF'. -giant.ts(25,16): error TS2300: Duplicate identifier 'psF'. -giant.ts(25,29): error TS1005: '{' expected. -giant.ts(26,13): error TS2300: Duplicate identifier 'rgF'. -giant.ts(27,17): error TS2300: Duplicate identifier 'rgF'. -giant.ts(27,21): error TS1005: '{' expected. -giant.ts(28,13): error TS2300: Duplicate identifier 'rsF'. -giant.ts(29,17): error TS2300: Duplicate identifier 'rsF'. -giant.ts(29,30): error TS1005: '{' expected. -giant.ts(32,12): error TS2300: Duplicate identifier 'tsF'. -giant.ts(33,16): error TS2300: Duplicate identifier 'tsF'. -giant.ts(33,29): error TS1005: '{' expected. -giant.ts(34,12): error TS2300: Duplicate identifier 'tgF'. -giant.ts(35,16): error TS2300: Duplicate identifier 'tgF'. -giant.ts(35,20): error TS1005: '{' expected. -giant.ts(60,5): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. -giant.ts(60,6): error TS2304: Cannot find name 'p'. -giant.ts(61,5): error TS1021: An index signature must have a type annotation. -giant.ts(62,6): error TS1096: An index signature must have exactly one parameter. -giant.ts(75,5): error TS2386: Overload signatures must all be optional or required. -giant.ts(86,16): error TS2300: Duplicate identifier 'pgF'. -giant.ts(87,20): error TS2300: Duplicate identifier 'pgF'. -giant.ts(87,24): error TS1005: '{' expected. -giant.ts(88,16): error TS2300: Duplicate identifier 'psF'. -giant.ts(89,20): error TS2300: Duplicate identifier 'psF'. -giant.ts(89,33): error TS1005: '{' expected. -giant.ts(90,17): error TS2300: Duplicate identifier 'rgF'. -giant.ts(91,21): error TS2300: Duplicate identifier 'rgF'. -giant.ts(91,25): error TS1005: '{' expected. -giant.ts(92,17): error TS2300: Duplicate identifier 'rsF'. -giant.ts(93,21): error TS2300: Duplicate identifier 'rsF'. -giant.ts(93,34): error TS1005: '{' expected. -giant.ts(96,16): error TS2300: Duplicate identifier 'tsF'. -giant.ts(97,20): error TS2300: Duplicate identifier 'tsF'. -giant.ts(97,33): error TS1005: '{' expected. -giant.ts(98,16): error TS2300: Duplicate identifier 'tgF'. -giant.ts(99,20): error TS2300: Duplicate identifier 'tgF'. -giant.ts(99,24): error TS1005: '{' expected. -giant.ts(124,9): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. -giant.ts(124,10): error TS2304: Cannot find name 'p'. -giant.ts(125,9): error TS1021: An index signature must have a type annotation. -giant.ts(126,10): error TS1096: An index signature must have exactly one parameter. -giant.ts(139,9): error TS2386: Overload signatures must all be optional or required. -giant.ts(153,39): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(165,16): error TS2300: Duplicate identifier 'pgF'. -giant.ts(166,20): error TS2300: Duplicate identifier 'pgF'. -giant.ts(166,24): error TS1005: '{' expected. -giant.ts(167,16): error TS2300: Duplicate identifier 'psF'. -giant.ts(168,20): error TS2300: Duplicate identifier 'psF'. -giant.ts(168,33): error TS1005: '{' expected. -giant.ts(169,17): error TS2300: Duplicate identifier 'rgF'. -giant.ts(170,21): error TS2300: Duplicate identifier 'rgF'. -giant.ts(170,25): error TS1005: '{' expected. -giant.ts(171,17): error TS2300: Duplicate identifier 'rsF'. -giant.ts(172,21): error TS2300: Duplicate identifier 'rsF'. -giant.ts(172,34): error TS1005: '{' expected. -giant.ts(175,16): error TS2300: Duplicate identifier 'tsF'. -giant.ts(176,20): error TS2300: Duplicate identifier 'tsF'. -giant.ts(176,33): error TS1005: '{' expected. -giant.ts(177,16): error TS2300: Duplicate identifier 'tgF'. -giant.ts(178,20): error TS2300: Duplicate identifier 'tgF'. -giant.ts(178,24): error TS1005: '{' expected. -giant.ts(203,9): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. -giant.ts(203,10): error TS2304: Cannot find name 'p'. -giant.ts(204,9): error TS1021: An index signature must have a type annotation. -giant.ts(205,10): error TS1096: An index signature must have exactly one parameter. -giant.ts(218,9): error TS2386: Overload signatures must all be optional or required. -giant.ts(232,39): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(237,35): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(239,24): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(242,21): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(243,22): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(244,16): error TS2300: Duplicate identifier 'pgF'. +giant.ts(23,12): error TS2300: Duplicate identifier 'pgF'. +giant.ts(24,16): error TS2300: Duplicate identifier 'pgF'. +giant.ts(24,20): error TS1005: '{' expected. +giant.ts(25,12): error TS2300: Duplicate identifier 'psF'. +giant.ts(26,16): error TS2300: Duplicate identifier 'psF'. +giant.ts(26,29): error TS1005: '{' expected. +giant.ts(27,13): error TS2300: Duplicate identifier 'rgF'. +giant.ts(28,17): error TS2300: Duplicate identifier 'rgF'. +giant.ts(28,21): error TS1005: '{' expected. +giant.ts(29,13): error TS2300: Duplicate identifier 'rsF'. +giant.ts(30,17): error TS2300: Duplicate identifier 'rsF'. +giant.ts(30,30): error TS1005: '{' expected. +giant.ts(33,12): error TS2300: Duplicate identifier 'tsF'. +giant.ts(34,16): error TS2300: Duplicate identifier 'tsF'. +giant.ts(34,29): error TS1005: '{' expected. +giant.ts(35,12): error TS2300: Duplicate identifier 'tgF'. +giant.ts(36,16): error TS2300: Duplicate identifier 'tgF'. +giant.ts(36,20): error TS1005: '{' expected. +giant.ts(62,5): error TS1021: An index signature must have a type annotation. +giant.ts(63,6): error TS1096: An index signature must have exactly one parameter. +giant.ts(76,5): error TS2386: Overload signatures must all be optional or required. +giant.ts(87,16): error TS2300: Duplicate identifier 'pgF'. +giant.ts(88,20): error TS2300: Duplicate identifier 'pgF'. +giant.ts(88,24): error TS1005: '{' expected. +giant.ts(89,16): error TS2300: Duplicate identifier 'psF'. +giant.ts(90,20): error TS2300: Duplicate identifier 'psF'. +giant.ts(90,33): error TS1005: '{' expected. +giant.ts(91,17): error TS2300: Duplicate identifier 'rgF'. +giant.ts(92,21): error TS2300: Duplicate identifier 'rgF'. +giant.ts(92,25): error TS1005: '{' expected. +giant.ts(93,17): error TS2300: Duplicate identifier 'rsF'. +giant.ts(94,21): error TS2300: Duplicate identifier 'rsF'. +giant.ts(94,34): error TS1005: '{' expected. +giant.ts(97,16): error TS2300: Duplicate identifier 'tsF'. +giant.ts(98,20): error TS2300: Duplicate identifier 'tsF'. +giant.ts(98,33): error TS1005: '{' expected. +giant.ts(99,16): error TS2300: Duplicate identifier 'tgF'. +giant.ts(100,20): error TS2300: Duplicate identifier 'tgF'. +giant.ts(100,24): error TS1005: '{' expected. +giant.ts(126,9): error TS1021: An index signature must have a type annotation. +giant.ts(127,10): error TS1096: An index signature must have exactly one parameter. +giant.ts(140,9): error TS2386: Overload signatures must all be optional or required. +giant.ts(154,39): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(166,16): error TS2300: Duplicate identifier 'pgF'. +giant.ts(167,20): error TS2300: Duplicate identifier 'pgF'. +giant.ts(167,24): error TS1005: '{' expected. +giant.ts(168,16): error TS2300: Duplicate identifier 'psF'. +giant.ts(169,20): error TS2300: Duplicate identifier 'psF'. +giant.ts(169,33): error TS1005: '{' expected. +giant.ts(170,17): error TS2300: Duplicate identifier 'rgF'. +giant.ts(171,21): error TS2300: Duplicate identifier 'rgF'. +giant.ts(171,25): error TS1005: '{' expected. +giant.ts(172,17): error TS2300: Duplicate identifier 'rsF'. +giant.ts(173,21): error TS2300: Duplicate identifier 'rsF'. +giant.ts(173,34): error TS1005: '{' expected. +giant.ts(176,16): error TS2300: Duplicate identifier 'tsF'. +giant.ts(177,20): error TS2300: Duplicate identifier 'tsF'. +giant.ts(177,33): error TS1005: '{' expected. +giant.ts(178,16): error TS2300: Duplicate identifier 'tgF'. +giant.ts(179,20): error TS2300: Duplicate identifier 'tgF'. +giant.ts(179,24): error TS1005: '{' expected. +giant.ts(205,9): error TS1021: An index signature must have a type annotation. +giant.ts(206,10): error TS1096: An index signature must have exactly one parameter. +giant.ts(219,9): error TS2386: Overload signatures must all be optional or required. +giant.ts(233,39): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(238,35): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(240,24): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(243,21): error TS1183: An implementation cannot be declared in ambient contexts. giant.ts(244,22): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(245,20): error TS2300: Duplicate identifier 'pgF'. -giant.ts(246,16): error TS2300: Duplicate identifier 'psF'. -giant.ts(246,31): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(247,20): error TS2300: Duplicate identifier 'psF'. -giant.ts(248,17): error TS2300: Duplicate identifier 'rgF'. -giant.ts(248,23): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(249,21): error TS2300: Duplicate identifier 'rgF'. -giant.ts(250,17): error TS2300: Duplicate identifier 'rsF'. -giant.ts(250,32): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(251,21): error TS2300: Duplicate identifier 'rsF'. -giant.ts(253,21): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(254,16): error TS2300: Duplicate identifier 'tsF'. -giant.ts(254,31): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(255,20): error TS2300: Duplicate identifier 'tsF'. -giant.ts(256,16): error TS2300: Duplicate identifier 'tgF'. -giant.ts(256,22): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(257,20): error TS2300: Duplicate identifier 'tgF'. -giant.ts(261,22): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(261,25): error TS1036: Statements are not allowed in ambient contexts. -giant.ts(266,30): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(280,12): error TS2300: Duplicate identifier 'pgF'. -giant.ts(281,16): error TS2300: Duplicate identifier 'pgF'. -giant.ts(281,20): error TS1005: '{' expected. -giant.ts(282,12): error TS2300: Duplicate identifier 'psF'. -giant.ts(283,16): error TS2300: Duplicate identifier 'psF'. -giant.ts(283,29): error TS1005: '{' expected. -giant.ts(284,13): error TS2300: Duplicate identifier 'rgF'. -giant.ts(285,17): error TS2300: Duplicate identifier 'rgF'. -giant.ts(285,21): error TS1005: '{' expected. -giant.ts(286,13): error TS2300: Duplicate identifier 'rsF'. -giant.ts(287,17): error TS2300: Duplicate identifier 'rsF'. -giant.ts(287,30): error TS1005: '{' expected. -giant.ts(290,12): error TS2300: Duplicate identifier 'tsF'. -giant.ts(291,16): error TS2300: Duplicate identifier 'tsF'. -giant.ts(291,29): error TS1005: '{' expected. -giant.ts(292,12): error TS2300: Duplicate identifier 'tgF'. -giant.ts(293,16): error TS2300: Duplicate identifier 'tgF'. -giant.ts(293,20): error TS1005: '{' expected. -giant.ts(318,5): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. -giant.ts(318,6): error TS2304: Cannot find name 'p'. -giant.ts(319,5): error TS1021: An index signature must have a type annotation. -giant.ts(320,6): error TS1096: An index signature must have exactly one parameter. -giant.ts(333,5): error TS2386: Overload signatures must all be optional or required. -giant.ts(344,16): error TS2300: Duplicate identifier 'pgF'. -giant.ts(345,20): error TS2300: Duplicate identifier 'pgF'. -giant.ts(345,24): error TS1005: '{' expected. -giant.ts(346,16): error TS2300: Duplicate identifier 'psF'. -giant.ts(347,20): error TS2300: Duplicate identifier 'psF'. -giant.ts(347,33): error TS1005: '{' expected. -giant.ts(348,17): error TS2300: Duplicate identifier 'rgF'. -giant.ts(349,21): error TS2300: Duplicate identifier 'rgF'. -giant.ts(349,25): error TS1005: '{' expected. -giant.ts(350,17): error TS2300: Duplicate identifier 'rsF'. -giant.ts(351,21): error TS2300: Duplicate identifier 'rsF'. -giant.ts(351,34): error TS1005: '{' expected. -giant.ts(354,16): error TS2300: Duplicate identifier 'tsF'. -giant.ts(355,20): error TS2300: Duplicate identifier 'tsF'. -giant.ts(355,33): error TS1005: '{' expected. -giant.ts(356,16): error TS2300: Duplicate identifier 'tgF'. -giant.ts(357,20): error TS2300: Duplicate identifier 'tgF'. -giant.ts(357,24): error TS1005: '{' expected. -giant.ts(382,9): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. -giant.ts(382,10): error TS2304: Cannot find name 'p'. -giant.ts(383,9): error TS1021: An index signature must have a type annotation. -giant.ts(384,10): error TS1096: An index signature must have exactly one parameter. -giant.ts(397,9): error TS2386: Overload signatures must all be optional or required. -giant.ts(411,39): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(423,16): error TS2300: Duplicate identifier 'pgF'. -giant.ts(424,20): error TS2300: Duplicate identifier 'pgF'. -giant.ts(424,24): error TS1005: '{' expected. -giant.ts(425,16): error TS2300: Duplicate identifier 'psF'. -giant.ts(426,20): error TS2300: Duplicate identifier 'psF'. -giant.ts(426,33): error TS1005: '{' expected. -giant.ts(427,17): error TS2300: Duplicate identifier 'rgF'. -giant.ts(428,21): error TS2300: Duplicate identifier 'rgF'. -giant.ts(428,25): error TS1005: '{' expected. -giant.ts(429,17): error TS2300: Duplicate identifier 'rsF'. -giant.ts(430,21): error TS2300: Duplicate identifier 'rsF'. -giant.ts(430,34): error TS1005: '{' expected. -giant.ts(433,16): error TS2300: Duplicate identifier 'tsF'. -giant.ts(434,20): error TS2300: Duplicate identifier 'tsF'. -giant.ts(434,33): error TS1005: '{' expected. -giant.ts(435,16): error TS2300: Duplicate identifier 'tgF'. -giant.ts(436,20): error TS2300: Duplicate identifier 'tgF'. -giant.ts(436,24): error TS1005: '{' expected. -giant.ts(461,9): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. -giant.ts(461,10): error TS2304: Cannot find name 'p'. -giant.ts(462,9): error TS1021: An index signature must have a type annotation. -giant.ts(463,10): error TS1096: An index signature must have exactly one parameter. -giant.ts(476,9): error TS2386: Overload signatures must all be optional or required. -giant.ts(490,39): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(495,35): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(497,24): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(500,21): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(501,22): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(502,16): error TS2300: Duplicate identifier 'pgF'. +giant.ts(245,16): error TS2300: Duplicate identifier 'pgF'. +giant.ts(245,22): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(246,20): error TS2300: Duplicate identifier 'pgF'. +giant.ts(247,16): error TS2300: Duplicate identifier 'psF'. +giant.ts(247,31): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(248,20): error TS2300: Duplicate identifier 'psF'. +giant.ts(249,17): error TS2300: Duplicate identifier 'rgF'. +giant.ts(249,23): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(250,21): error TS2300: Duplicate identifier 'rgF'. +giant.ts(251,17): error TS2300: Duplicate identifier 'rsF'. +giant.ts(251,32): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(252,21): error TS2300: Duplicate identifier 'rsF'. +giant.ts(254,21): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(255,16): error TS2300: Duplicate identifier 'tsF'. +giant.ts(255,31): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(256,20): error TS2300: Duplicate identifier 'tsF'. +giant.ts(257,16): error TS2300: Duplicate identifier 'tgF'. +giant.ts(257,22): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(258,20): error TS2300: Duplicate identifier 'tgF'. +giant.ts(262,22): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(262,25): error TS1036: Statements are not allowed in ambient contexts. +giant.ts(267,30): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(281,12): error TS2300: Duplicate identifier 'pgF'. +giant.ts(282,16): error TS2300: Duplicate identifier 'pgF'. +giant.ts(282,20): error TS1005: '{' expected. +giant.ts(283,12): error TS2300: Duplicate identifier 'psF'. +giant.ts(284,16): error TS2300: Duplicate identifier 'psF'. +giant.ts(284,29): error TS1005: '{' expected. +giant.ts(285,13): error TS2300: Duplicate identifier 'rgF'. +giant.ts(286,17): error TS2300: Duplicate identifier 'rgF'. +giant.ts(286,21): error TS1005: '{' expected. +giant.ts(287,13): error TS2300: Duplicate identifier 'rsF'. +giant.ts(288,17): error TS2300: Duplicate identifier 'rsF'. +giant.ts(288,30): error TS1005: '{' expected. +giant.ts(291,12): error TS2300: Duplicate identifier 'tsF'. +giant.ts(292,16): error TS2300: Duplicate identifier 'tsF'. +giant.ts(292,29): error TS1005: '{' expected. +giant.ts(293,12): error TS2300: Duplicate identifier 'tgF'. +giant.ts(294,16): error TS2300: Duplicate identifier 'tgF'. +giant.ts(294,20): error TS1005: '{' expected. +giant.ts(320,5): error TS1021: An index signature must have a type annotation. +giant.ts(321,6): error TS1096: An index signature must have exactly one parameter. +giant.ts(334,5): error TS2386: Overload signatures must all be optional or required. +giant.ts(345,16): error TS2300: Duplicate identifier 'pgF'. +giant.ts(346,20): error TS2300: Duplicate identifier 'pgF'. +giant.ts(346,24): error TS1005: '{' expected. +giant.ts(347,16): error TS2300: Duplicate identifier 'psF'. +giant.ts(348,20): error TS2300: Duplicate identifier 'psF'. +giant.ts(348,33): error TS1005: '{' expected. +giant.ts(349,17): error TS2300: Duplicate identifier 'rgF'. +giant.ts(350,21): error TS2300: Duplicate identifier 'rgF'. +giant.ts(350,25): error TS1005: '{' expected. +giant.ts(351,17): error TS2300: Duplicate identifier 'rsF'. +giant.ts(352,21): error TS2300: Duplicate identifier 'rsF'. +giant.ts(352,34): error TS1005: '{' expected. +giant.ts(355,16): error TS2300: Duplicate identifier 'tsF'. +giant.ts(356,20): error TS2300: Duplicate identifier 'tsF'. +giant.ts(356,33): error TS1005: '{' expected. +giant.ts(357,16): error TS2300: Duplicate identifier 'tgF'. +giant.ts(358,20): error TS2300: Duplicate identifier 'tgF'. +giant.ts(358,24): error TS1005: '{' expected. +giant.ts(384,9): error TS1021: An index signature must have a type annotation. +giant.ts(385,10): error TS1096: An index signature must have exactly one parameter. +giant.ts(398,9): error TS2386: Overload signatures must all be optional or required. +giant.ts(412,39): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(424,16): error TS2300: Duplicate identifier 'pgF'. +giant.ts(425,20): error TS2300: Duplicate identifier 'pgF'. +giant.ts(425,24): error TS1005: '{' expected. +giant.ts(426,16): error TS2300: Duplicate identifier 'psF'. +giant.ts(427,20): error TS2300: Duplicate identifier 'psF'. +giant.ts(427,33): error TS1005: '{' expected. +giant.ts(428,17): error TS2300: Duplicate identifier 'rgF'. +giant.ts(429,21): error TS2300: Duplicate identifier 'rgF'. +giant.ts(429,25): error TS1005: '{' expected. +giant.ts(430,17): error TS2300: Duplicate identifier 'rsF'. +giant.ts(431,21): error TS2300: Duplicate identifier 'rsF'. +giant.ts(431,34): error TS1005: '{' expected. +giant.ts(434,16): error TS2300: Duplicate identifier 'tsF'. +giant.ts(435,20): error TS2300: Duplicate identifier 'tsF'. +giant.ts(435,33): error TS1005: '{' expected. +giant.ts(436,16): error TS2300: Duplicate identifier 'tgF'. +giant.ts(437,20): error TS2300: Duplicate identifier 'tgF'. +giant.ts(437,24): error TS1005: '{' expected. +giant.ts(463,9): error TS1021: An index signature must have a type annotation. +giant.ts(464,10): error TS1096: An index signature must have exactly one parameter. +giant.ts(477,9): error TS2386: Overload signatures must all be optional or required. +giant.ts(491,39): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(496,35): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(498,24): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(501,21): error TS1183: An implementation cannot be declared in ambient contexts. giant.ts(502,22): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(503,20): error TS2300: Duplicate identifier 'pgF'. -giant.ts(504,16): error TS2300: Duplicate identifier 'psF'. -giant.ts(504,31): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(505,20): error TS2300: Duplicate identifier 'psF'. -giant.ts(506,17): error TS2300: Duplicate identifier 'rgF'. -giant.ts(506,23): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(507,21): error TS2300: Duplicate identifier 'rgF'. -giant.ts(508,17): error TS2300: Duplicate identifier 'rsF'. -giant.ts(508,32): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(509,21): error TS2300: Duplicate identifier 'rsF'. -giant.ts(511,21): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(512,16): error TS2300: Duplicate identifier 'tsF'. -giant.ts(512,31): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(513,20): error TS2300: Duplicate identifier 'tsF'. -giant.ts(514,16): error TS2300: Duplicate identifier 'tgF'. -giant.ts(514,22): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(515,20): error TS2300: Duplicate identifier 'tgF'. -giant.ts(519,22): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(519,25): error TS1036: Statements are not allowed in ambient contexts. -giant.ts(524,30): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(531,31): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(533,20): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(536,17): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(537,18): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(538,12): error TS2300: Duplicate identifier 'pgF'. +giant.ts(503,16): error TS2300: Duplicate identifier 'pgF'. +giant.ts(503,22): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(504,20): error TS2300: Duplicate identifier 'pgF'. +giant.ts(505,16): error TS2300: Duplicate identifier 'psF'. +giant.ts(505,31): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(506,20): error TS2300: Duplicate identifier 'psF'. +giant.ts(507,17): error TS2300: Duplicate identifier 'rgF'. +giant.ts(507,23): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(508,21): error TS2300: Duplicate identifier 'rgF'. +giant.ts(509,17): error TS2300: Duplicate identifier 'rsF'. +giant.ts(509,32): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(510,21): error TS2300: Duplicate identifier 'rsF'. +giant.ts(512,21): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(513,16): error TS2300: Duplicate identifier 'tsF'. +giant.ts(513,31): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(514,20): error TS2300: Duplicate identifier 'tsF'. +giant.ts(515,16): error TS2300: Duplicate identifier 'tgF'. +giant.ts(515,22): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(516,20): error TS2300: Duplicate identifier 'tgF'. +giant.ts(520,22): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(520,25): error TS1036: Statements are not allowed in ambient contexts. +giant.ts(525,30): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(532,31): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(534,20): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(537,17): error TS1183: An implementation cannot be declared in ambient contexts. giant.ts(538,18): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(539,16): error TS2300: Duplicate identifier 'pgF'. -giant.ts(540,12): error TS2300: Duplicate identifier 'psF'. -giant.ts(540,27): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(541,16): error TS2300: Duplicate identifier 'psF'. -giant.ts(542,13): error TS2300: Duplicate identifier 'rgF'. -giant.ts(542,19): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(543,17): error TS2300: Duplicate identifier 'rgF'. -giant.ts(544,13): error TS2300: Duplicate identifier 'rsF'. -giant.ts(544,28): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(545,17): error TS2300: Duplicate identifier 'rsF'. -giant.ts(547,17): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(548,12): error TS2300: Duplicate identifier 'tsF'. -giant.ts(548,27): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(549,16): error TS2300: Duplicate identifier 'tsF'. -giant.ts(550,12): error TS2300: Duplicate identifier 'tgF'. -giant.ts(550,18): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(551,16): error TS2300: Duplicate identifier 'tgF'. -giant.ts(555,18): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(555,21): error TS1036: Statements are not allowed in ambient contexts. -giant.ts(557,24): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(560,21): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(562,21): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(586,9): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. -giant.ts(586,10): error TS2304: Cannot find name 'p'. -giant.ts(587,9): error TS1021: An index signature must have a type annotation. -giant.ts(588,10): error TS1096: An index signature must have exactly one parameter. -giant.ts(601,9): error TS2386: Overload signatures must all be optional or required. -giant.ts(605,22): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(605,25): error TS1036: Statements are not allowed in ambient contexts. -giant.ts(610,30): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(614,16): error TS1038: A 'declare' modifier cannot be used in an already ambient context. +giant.ts(539,12): error TS2300: Duplicate identifier 'pgF'. +giant.ts(539,18): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(540,16): error TS2300: Duplicate identifier 'pgF'. +giant.ts(541,12): error TS2300: Duplicate identifier 'psF'. +giant.ts(541,27): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(542,16): error TS2300: Duplicate identifier 'psF'. +giant.ts(543,13): error TS2300: Duplicate identifier 'rgF'. +giant.ts(543,19): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(544,17): error TS2300: Duplicate identifier 'rgF'. +giant.ts(545,13): error TS2300: Duplicate identifier 'rsF'. +giant.ts(545,28): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(546,17): error TS2300: Duplicate identifier 'rsF'. +giant.ts(548,17): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(549,12): error TS2300: Duplicate identifier 'tsF'. +giant.ts(549,27): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(550,16): error TS2300: Duplicate identifier 'tsF'. +giant.ts(551,12): error TS2300: Duplicate identifier 'tgF'. +giant.ts(551,18): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(552,16): error TS2300: Duplicate identifier 'tgF'. +giant.ts(556,18): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(556,21): error TS1036: Statements are not allowed in ambient contexts. +giant.ts(558,24): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(561,21): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(563,21): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(588,9): error TS1021: An index signature must have a type annotation. +giant.ts(589,10): error TS1096: An index signature must have exactly one parameter. +giant.ts(602,9): error TS2386: Overload signatures must all be optional or required. +giant.ts(606,22): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(606,25): error TS1036: Statements are not allowed in ambient contexts. +giant.ts(611,30): error TS1183: An implementation cannot be declared in ambient contexts. giant.ts(615,16): error TS1038: A 'declare' modifier cannot be used in an already ambient context. -giant.ts(615,39): error TS1183: An implementation cannot be declared in ambient contexts. giant.ts(616,16): error TS1038: A 'declare' modifier cannot be used in an already ambient context. +giant.ts(616,39): error TS1183: An implementation cannot be declared in ambient contexts. giant.ts(617,16): error TS1038: A 'declare' modifier cannot be used in an already ambient context. -giant.ts(620,26): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(622,24): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(625,21): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(627,21): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(652,9): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. -giant.ts(652,10): error TS2304: Cannot find name 'p'. -giant.ts(653,9): error TS1021: An index signature must have a type annotation. -giant.ts(654,10): error TS1096: An index signature must have exactly one parameter. -giant.ts(667,9): error TS2386: Overload signatures must all be optional or required. -giant.ts(671,22): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(671,25): error TS1036: Statements are not allowed in ambient contexts. -giant.ts(675,30): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(618,16): error TS1038: A 'declare' modifier cannot be used in an already ambient context. +giant.ts(621,26): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(623,24): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(626,21): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(628,21): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(654,9): error TS1021: An index signature must have a type annotation. +giant.ts(655,10): error TS1096: An index signature must have exactly one parameter. +giant.ts(668,9): error TS2386: Overload signatures must all be optional or required. +giant.ts(672,22): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(672,25): error TS1036: Statements are not allowed in ambient contexts. +giant.ts(676,30): error TS1183: An implementation cannot be declared in ambient contexts. -==== giant.ts (247 errors) ==== +==== giant.ts (231 errors) ==== /* Prefixes p -> public @@ -261,6 +245,7 @@ giant.ts(675,30): error TS1183: An implementation cannot be declared in ambient MAX DEPTH 3 LEVELS */ + const p = "propName"; var V; function F() { }; class C { @@ -344,10 +329,6 @@ giant.ts(675,30): error TS1183: An implementation cannot be declared in ambient //Index Signature [p]; - ~~~ -!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. - ~ -!!! error TS2304: Cannot find name 'p'. [p1: string]; ~~~~~~~~~~~~~ !!! error TS1021: An index signature must have a type annotation. @@ -454,10 +435,6 @@ giant.ts(675,30): error TS1183: An implementation cannot be declared in ambient //Index Signature [p]; - ~~~ -!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. - ~ -!!! error TS2304: Cannot find name 'p'. [p1: string]; ~~~~~~~~~~~~~ !!! error TS1021: An index signature must have a type annotation. @@ -581,10 +558,6 @@ giant.ts(675,30): error TS1183: An implementation cannot be declared in ambient //Index Signature [p]; - ~~~ -!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. - ~ -!!! error TS2304: Cannot find name 'p'. [p1: string]; ~~~~~~~~~~~~~ !!! error TS1021: An index signature must have a type annotation. @@ -796,10 +769,6 @@ giant.ts(675,30): error TS1183: An implementation cannot be declared in ambient //Index Signature [p]; - ~~~ -!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. - ~ -!!! error TS2304: Cannot find name 'p'. [p1: string]; ~~~~~~~~~~~~~ !!! error TS1021: An index signature must have a type annotation. @@ -906,10 +875,6 @@ giant.ts(675,30): error TS1183: An implementation cannot be declared in ambient //Index Signature [p]; - ~~~ -!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. - ~ -!!! error TS2304: Cannot find name 'p'. [p1: string]; ~~~~~~~~~~~~~ !!! error TS1021: An index signature must have a type annotation. @@ -1033,10 +998,6 @@ giant.ts(675,30): error TS1183: An implementation cannot be declared in ambient //Index Signature [p]; - ~~~ -!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. - ~ -!!! error TS2304: Cannot find name 'p'. [p1: string]; ~~~~~~~~~~~~~ !!! error TS1021: An index signature must have a type annotation. @@ -1278,10 +1239,6 @@ giant.ts(675,30): error TS1183: An implementation cannot be declared in ambient //Index Signature [p]; - ~~~ -!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. - ~ -!!! error TS2304: Cannot find name 'p'. [p1: string]; ~~~~~~~~~~~~~ !!! error TS1021: An index signature must have a type annotation. @@ -1378,10 +1335,6 @@ giant.ts(675,30): error TS1183: An implementation cannot be declared in ambient //Index Signature [p]; - ~~~ -!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. - ~ -!!! error TS2304: Cannot find name 'p'. [p1: string]; ~~~~~~~~~~~~~ !!! error TS1021: An index signature must have a type annotation. diff --git a/tests/baselines/reference/giant.js b/tests/baselines/reference/giant.js index 133de6ad4f9eb..be21e16431402 100644 --- a/tests/baselines/reference/giant.js +++ b/tests/baselines/reference/giant.js @@ -14,6 +14,7 @@ MAX DEPTH 3 LEVELS */ +const p = "propName"; var V; function F() { }; class C { @@ -701,6 +702,7 @@ define(["require", "exports"], function (require, exports) { MAX DEPTH 3 LEVELS */ + var p = "propName"; var V; function F() { } ; @@ -1114,6 +1116,7 @@ define(["require", "exports"], function (require, exports) { //// [giant.d.ts] +declare const p = "propName"; export declare var eV: any; export declare function eF(): void; export declare class eC { @@ -1153,6 +1156,7 @@ export interface eI { new (...p3: any[]): any; new (p4: string, p5?: string): any; new (p6: string, ...p7: any[]): any; + [p]: any; [p1: string]: any; [p2: string, p3: number]: any; p: any; @@ -1205,6 +1209,7 @@ export declare namespace eM { new (...p3: any[]): any; new (p4: string, p5?: string): any; new (p6: string, ...p7: any[]): any; + [p]: any; [p1: string]: any; [p2: string, p3: number]: any; p: any; @@ -1320,6 +1325,7 @@ export declare namespace eaM { new (...p3: any[]): any; new (p4: string, p5?: string): any; new (p6: string, ...p7: any[]): any; + [p]: any; [p1: string]: any; [p2: string, p3: number]: any; p: any; @@ -1379,6 +1385,7 @@ export declare namespace eaM { new (...p3: any[]): any; new (p4: string, p5?: string): any; new (p6: string, ...p7: any[]): any; + [p]: any; [p1: string]: any; [p2: string, p3: number]: any; p: any; @@ -1406,3 +1413,4 @@ export declare namespace eaM { namespace eM { } } } +export {}; diff --git a/tests/baselines/reference/giant.symbols b/tests/baselines/reference/giant.symbols index 2d5d95f697c5b..0c7d9c2b21256 100644 --- a/tests/baselines/reference/giant.symbols +++ b/tests/baselines/reference/giant.symbols @@ -14,101 +14,104 @@ MAX DEPTH 3 LEVELS */ +const p = "propName"; +>p : Symbol(p, Decl(giant.ts, 13, 5)) + var V; ->V : Symbol(V, Decl(giant.ts, 13, 3)) +>V : Symbol(V, Decl(giant.ts, 14, 3)) function F() { }; ->F : Symbol(F, Decl(giant.ts, 13, 6)) +>F : Symbol(F, Decl(giant.ts, 14, 6)) class C { ->C : Symbol(C, Decl(giant.ts, 14, 17)) +>C : Symbol(C, Decl(giant.ts, 15, 17)) constructor () { } public pV; ->pV : Symbol(C.pV, Decl(giant.ts, 16, 22)) +>pV : Symbol(C.pV, Decl(giant.ts, 17, 22)) private rV; ->rV : Symbol(C.rV, Decl(giant.ts, 17, 14)) +>rV : Symbol(C.rV, Decl(giant.ts, 18, 14)) public pF() { } ->pF : Symbol(C.pF, Decl(giant.ts, 18, 15)) +>pF : Symbol(C.pF, Decl(giant.ts, 19, 15)) private rF() { } ->rF : Symbol(C.rF, Decl(giant.ts, 19, 19)) +>rF : Symbol(C.rF, Decl(giant.ts, 20, 19)) public pgF() { } ->pgF : Symbol(C.pgF, Decl(giant.ts, 20, 20)) +>pgF : Symbol(C.pgF, Decl(giant.ts, 21, 20)) public get pgF() ->pgF : Symbol(C.pgF, Decl(giant.ts, 21, 20)) +>pgF : Symbol(C.pgF, Decl(giant.ts, 22, 20)) public psF(param:any) { } ->psF : Symbol(C.psF, Decl(giant.ts, 22, 20)) ->param : Symbol(param, Decl(giant.ts, 23, 15)) +>psF : Symbol(C.psF, Decl(giant.ts, 23, 20)) +>param : Symbol(param, Decl(giant.ts, 24, 15)) public set psF(param:any) ->psF : Symbol(C.psF, Decl(giant.ts, 23, 29)) ->param : Symbol(param, Decl(giant.ts, 24, 19)) +>psF : Symbol(C.psF, Decl(giant.ts, 24, 29)) +>param : Symbol(param, Decl(giant.ts, 25, 19)) private rgF() { } ->rgF : Symbol(C.rgF, Decl(giant.ts, 24, 29)) +>rgF : Symbol(C.rgF, Decl(giant.ts, 25, 29)) private get rgF() ->rgF : Symbol(C.rgF, Decl(giant.ts, 25, 21)) +>rgF : Symbol(C.rgF, Decl(giant.ts, 26, 21)) private rsF(param:any) { } ->rsF : Symbol(C.rsF, Decl(giant.ts, 26, 21)) ->param : Symbol(param, Decl(giant.ts, 27, 16)) +>rsF : Symbol(C.rsF, Decl(giant.ts, 27, 21)) +>param : Symbol(param, Decl(giant.ts, 28, 16)) private set rsF(param:any) ->rsF : Symbol(C.rsF, Decl(giant.ts, 27, 30)) ->param : Symbol(param, Decl(giant.ts, 28, 20)) +>rsF : Symbol(C.rsF, Decl(giant.ts, 28, 30)) +>param : Symbol(param, Decl(giant.ts, 29, 20)) static tV; ->tV : Symbol(C.tV, Decl(giant.ts, 28, 30)) +>tV : Symbol(C.tV, Decl(giant.ts, 29, 30)) static tF() { } ->tF : Symbol(C.tF, Decl(giant.ts, 29, 14)) +>tF : Symbol(C.tF, Decl(giant.ts, 30, 14)) static tsF(param:any) { } ->tsF : Symbol(C.tsF, Decl(giant.ts, 30, 19)) ->param : Symbol(param, Decl(giant.ts, 31, 15)) +>tsF : Symbol(C.tsF, Decl(giant.ts, 31, 19)) +>param : Symbol(param, Decl(giant.ts, 32, 15)) static set tsF(param:any) ->tsF : Symbol(C.tsF, Decl(giant.ts, 31, 29)) ->param : Symbol(param, Decl(giant.ts, 32, 19)) +>tsF : Symbol(C.tsF, Decl(giant.ts, 32, 29)) +>param : Symbol(param, Decl(giant.ts, 33, 19)) static tgF() { } ->tgF : Symbol(C.tgF, Decl(giant.ts, 32, 29)) +>tgF : Symbol(C.tgF, Decl(giant.ts, 33, 29)) static get tgF() ->tgF : Symbol(C.tgF, Decl(giant.ts, 33, 20)) +>tgF : Symbol(C.tgF, Decl(giant.ts, 34, 20)) } interface I { ->I : Symbol(I, Decl(giant.ts, 35, 1)) +>I : Symbol(I, Decl(giant.ts, 36, 1)) //Call Signature (); (): number; (p); ->p : Symbol(p, Decl(giant.ts, 40, 5)) +>p : Symbol(p, Decl(giant.ts, 41, 5)) (p1: string); ->p1 : Symbol(p1, Decl(giant.ts, 41, 5)) +>p1 : Symbol(p1, Decl(giant.ts, 42, 5)) (p2?: string); ->p2 : Symbol(p2, Decl(giant.ts, 42, 5)) +>p2 : Symbol(p2, Decl(giant.ts, 43, 5)) (...p3: any[]); ->p3 : Symbol(p3, Decl(giant.ts, 43, 5)) +>p3 : Symbol(p3, Decl(giant.ts, 44, 5)) (p4: string, p5?: string); ->p4 : Symbol(p4, Decl(giant.ts, 44, 5)) ->p5 : Symbol(p5, Decl(giant.ts, 44, 16)) +>p4 : Symbol(p4, Decl(giant.ts, 45, 5)) +>p5 : Symbol(p5, Decl(giant.ts, 45, 16)) (p6: string, ...p7: any[]); ->p6 : Symbol(p6, Decl(giant.ts, 45, 5)) ->p7 : Symbol(p7, Decl(giant.ts, 45, 16)) +>p6 : Symbol(p6, Decl(giant.ts, 46, 5)) +>p7 : Symbol(p7, Decl(giant.ts, 46, 16)) //(p8?: string, ...p9: any[]); //(p10:string, p8?: string, ...p9: any[]); @@ -117,165 +120,166 @@ interface I { new (); new (): number; new (p: string); ->p : Symbol(p, Decl(giant.ts, 52, 9)) +>p : Symbol(p, Decl(giant.ts, 53, 9)) new (p2?: string); ->p2 : Symbol(p2, Decl(giant.ts, 53, 9)) +>p2 : Symbol(p2, Decl(giant.ts, 54, 9)) new (...p3: any[]); ->p3 : Symbol(p3, Decl(giant.ts, 54, 9)) +>p3 : Symbol(p3, Decl(giant.ts, 55, 9)) new (p4: string, p5?: string); ->p4 : Symbol(p4, Decl(giant.ts, 55, 9)) ->p5 : Symbol(p5, Decl(giant.ts, 55, 20)) +>p4 : Symbol(p4, Decl(giant.ts, 56, 9)) +>p5 : Symbol(p5, Decl(giant.ts, 56, 20)) new (p6: string, ...p7: any[]); ->p6 : Symbol(p6, Decl(giant.ts, 56, 9)) ->p7 : Symbol(p7, Decl(giant.ts, 56, 20)) +>p6 : Symbol(p6, Decl(giant.ts, 57, 9)) +>p7 : Symbol(p7, Decl(giant.ts, 57, 20)) //Index Signature [p]; ->[p] : Symbol(I[p], Decl(giant.ts, 56, 35)) +>[p] : Symbol(I[p], Decl(giant.ts, 57, 35)) +>p : Symbol(p, Decl(giant.ts, 13, 5)) [p1: string]; ->p1 : Symbol(p1, Decl(giant.ts, 60, 5)) +>p1 : Symbol(p1, Decl(giant.ts, 61, 5)) [p2: string, p3: number]; ->p2 : Symbol(p2, Decl(giant.ts, 61, 5)) ->p3 : Symbol(p3, Decl(giant.ts, 61, 16)) +>p2 : Symbol(p2, Decl(giant.ts, 62, 5)) +>p3 : Symbol(p3, Decl(giant.ts, 62, 16)) //Property Signature p; ->p : Symbol(I.p, Decl(giant.ts, 61, 29)) +>p : Symbol(I.p, Decl(giant.ts, 62, 29)) p1?; ->p1 : Symbol(I.p1, Decl(giant.ts, 64, 6)) +>p1 : Symbol(I.p1, Decl(giant.ts, 65, 6)) p2?: string; ->p2 : Symbol(I.p2, Decl(giant.ts, 65, 8)) +>p2 : Symbol(I.p2, Decl(giant.ts, 66, 8)) //Function Signature p3(); ->p3 : Symbol(I.p3, Decl(giant.ts, 66, 16)) +>p3 : Symbol(I.p3, Decl(giant.ts, 67, 16)) p4? (); ->p4 : Symbol(I.p4, Decl(giant.ts, 69, 9)) +>p4 : Symbol(I.p4, Decl(giant.ts, 70, 9)) p5? (): void; ->p5 : Symbol(I.p5, Decl(giant.ts, 70, 11)) +>p5 : Symbol(I.p5, Decl(giant.ts, 71, 11)) p6(pa1): void; ->p6 : Symbol(I.p6, Decl(giant.ts, 71, 17)) ->pa1 : Symbol(pa1, Decl(giant.ts, 72, 7)) +>p6 : Symbol(I.p6, Decl(giant.ts, 72, 17)) +>pa1 : Symbol(pa1, Decl(giant.ts, 73, 7)) p7(pa1, pa2): void; ->p7 : Symbol(I.p7, Decl(giant.ts, 72, 18), Decl(giant.ts, 73, 23)) ->pa1 : Symbol(pa1, Decl(giant.ts, 73, 7)) ->pa2 : Symbol(pa2, Decl(giant.ts, 73, 11)) +>p7 : Symbol(I.p7, Decl(giant.ts, 73, 18), Decl(giant.ts, 74, 23)) +>pa1 : Symbol(pa1, Decl(giant.ts, 74, 7)) +>pa2 : Symbol(pa2, Decl(giant.ts, 74, 11)) p7? (pa1, pa2): void; ->p7 : Symbol(I.p7, Decl(giant.ts, 72, 18), Decl(giant.ts, 73, 23)) ->pa1 : Symbol(pa1, Decl(giant.ts, 74, 9)) ->pa2 : Symbol(pa2, Decl(giant.ts, 74, 13)) +>p7 : Symbol(I.p7, Decl(giant.ts, 73, 18), Decl(giant.ts, 74, 23)) +>pa1 : Symbol(pa1, Decl(giant.ts, 75, 9)) +>pa2 : Symbol(pa2, Decl(giant.ts, 75, 13)) } module M { ->M : Symbol(M, Decl(giant.ts, 75, 1)) +>M : Symbol(M, Decl(giant.ts, 76, 1)) var V; ->V : Symbol(V, Decl(giant.ts, 77, 7)) +>V : Symbol(V, Decl(giant.ts, 78, 7)) function F() { }; ->F : Symbol(F, Decl(giant.ts, 77, 10)) +>F : Symbol(F, Decl(giant.ts, 78, 10)) class C { ->C : Symbol(C, Decl(giant.ts, 78, 21)) +>C : Symbol(C, Decl(giant.ts, 79, 21)) constructor () { } public pV; ->pV : Symbol(C.pV, Decl(giant.ts, 80, 26)) +>pV : Symbol(C.pV, Decl(giant.ts, 81, 26)) private rV; ->rV : Symbol(C.rV, Decl(giant.ts, 81, 18)) +>rV : Symbol(C.rV, Decl(giant.ts, 82, 18)) public pF() { } ->pF : Symbol(C.pF, Decl(giant.ts, 82, 19)) +>pF : Symbol(C.pF, Decl(giant.ts, 83, 19)) private rF() { } ->rF : Symbol(C.rF, Decl(giant.ts, 83, 23)) +>rF : Symbol(C.rF, Decl(giant.ts, 84, 23)) public pgF() { } ->pgF : Symbol(C.pgF, Decl(giant.ts, 84, 24)) +>pgF : Symbol(C.pgF, Decl(giant.ts, 85, 24)) public get pgF() ->pgF : Symbol(C.pgF, Decl(giant.ts, 85, 24)) +>pgF : Symbol(C.pgF, Decl(giant.ts, 86, 24)) public psF(param:any) { } ->psF : Symbol(C.psF, Decl(giant.ts, 86, 24)) ->param : Symbol(param, Decl(giant.ts, 87, 19)) +>psF : Symbol(C.psF, Decl(giant.ts, 87, 24)) +>param : Symbol(param, Decl(giant.ts, 88, 19)) public set psF(param:any) ->psF : Symbol(C.psF, Decl(giant.ts, 87, 33)) ->param : Symbol(param, Decl(giant.ts, 88, 23)) +>psF : Symbol(C.psF, Decl(giant.ts, 88, 33)) +>param : Symbol(param, Decl(giant.ts, 89, 23)) private rgF() { } ->rgF : Symbol(C.rgF, Decl(giant.ts, 88, 33)) +>rgF : Symbol(C.rgF, Decl(giant.ts, 89, 33)) private get rgF() ->rgF : Symbol(C.rgF, Decl(giant.ts, 89, 25)) +>rgF : Symbol(C.rgF, Decl(giant.ts, 90, 25)) private rsF(param:any) { } ->rsF : Symbol(C.rsF, Decl(giant.ts, 90, 25)) ->param : Symbol(param, Decl(giant.ts, 91, 20)) +>rsF : Symbol(C.rsF, Decl(giant.ts, 91, 25)) +>param : Symbol(param, Decl(giant.ts, 92, 20)) private set rsF(param:any) ->rsF : Symbol(C.rsF, Decl(giant.ts, 91, 34)) ->param : Symbol(param, Decl(giant.ts, 92, 24)) +>rsF : Symbol(C.rsF, Decl(giant.ts, 92, 34)) +>param : Symbol(param, Decl(giant.ts, 93, 24)) static tV; ->tV : Symbol(C.tV, Decl(giant.ts, 92, 34)) +>tV : Symbol(C.tV, Decl(giant.ts, 93, 34)) static tF() { } ->tF : Symbol(C.tF, Decl(giant.ts, 93, 18)) +>tF : Symbol(C.tF, Decl(giant.ts, 94, 18)) static tsF(param:any) { } ->tsF : Symbol(C.tsF, Decl(giant.ts, 94, 23)) ->param : Symbol(param, Decl(giant.ts, 95, 19)) +>tsF : Symbol(C.tsF, Decl(giant.ts, 95, 23)) +>param : Symbol(param, Decl(giant.ts, 96, 19)) static set tsF(param:any) ->tsF : Symbol(C.tsF, Decl(giant.ts, 95, 33)) ->param : Symbol(param, Decl(giant.ts, 96, 23)) +>tsF : Symbol(C.tsF, Decl(giant.ts, 96, 33)) +>param : Symbol(param, Decl(giant.ts, 97, 23)) static tgF() { } ->tgF : Symbol(C.tgF, Decl(giant.ts, 96, 33)) +>tgF : Symbol(C.tgF, Decl(giant.ts, 97, 33)) static get tgF() ->tgF : Symbol(C.tgF, Decl(giant.ts, 97, 24)) +>tgF : Symbol(C.tgF, Decl(giant.ts, 98, 24)) } interface I { ->I : Symbol(I, Decl(giant.ts, 99, 5)) +>I : Symbol(I, Decl(giant.ts, 100, 5)) //Call Signature (); (): number; (p); ->p : Symbol(p, Decl(giant.ts, 104, 9)) +>p : Symbol(p, Decl(giant.ts, 105, 9)) (p1: string); ->p1 : Symbol(p1, Decl(giant.ts, 105, 9)) +>p1 : Symbol(p1, Decl(giant.ts, 106, 9)) (p2?: string); ->p2 : Symbol(p2, Decl(giant.ts, 106, 9)) +>p2 : Symbol(p2, Decl(giant.ts, 107, 9)) (...p3: any[]); ->p3 : Symbol(p3, Decl(giant.ts, 107, 9)) +>p3 : Symbol(p3, Decl(giant.ts, 108, 9)) (p4: string, p5?: string); ->p4 : Symbol(p4, Decl(giant.ts, 108, 9)) ->p5 : Symbol(p5, Decl(giant.ts, 108, 20)) +>p4 : Symbol(p4, Decl(giant.ts, 109, 9)) +>p5 : Symbol(p5, Decl(giant.ts, 109, 20)) (p6: string, ...p7: any[]); ->p6 : Symbol(p6, Decl(giant.ts, 109, 9)) ->p7 : Symbol(p7, Decl(giant.ts, 109, 20)) +>p6 : Symbol(p6, Decl(giant.ts, 110, 9)) +>p7 : Symbol(p7, Decl(giant.ts, 110, 20)) //(p8?: string, ...p9: any[]); //(p10:string, p8?: string, ...p9: any[]); @@ -284,207 +288,208 @@ module M { new (); new (): number; new (p: string); ->p : Symbol(p, Decl(giant.ts, 116, 13)) +>p : Symbol(p, Decl(giant.ts, 117, 13)) new (p2?: string); ->p2 : Symbol(p2, Decl(giant.ts, 117, 13)) +>p2 : Symbol(p2, Decl(giant.ts, 118, 13)) new (...p3: any[]); ->p3 : Symbol(p3, Decl(giant.ts, 118, 13)) +>p3 : Symbol(p3, Decl(giant.ts, 119, 13)) new (p4: string, p5?: string); ->p4 : Symbol(p4, Decl(giant.ts, 119, 13)) ->p5 : Symbol(p5, Decl(giant.ts, 119, 24)) +>p4 : Symbol(p4, Decl(giant.ts, 120, 13)) +>p5 : Symbol(p5, Decl(giant.ts, 120, 24)) new (p6: string, ...p7: any[]); ->p6 : Symbol(p6, Decl(giant.ts, 120, 13)) ->p7 : Symbol(p7, Decl(giant.ts, 120, 24)) +>p6 : Symbol(p6, Decl(giant.ts, 121, 13)) +>p7 : Symbol(p7, Decl(giant.ts, 121, 24)) //Index Signature [p]; ->[p] : Symbol(I[p], Decl(giant.ts, 120, 39)) +>[p] : Symbol(I[p], Decl(giant.ts, 121, 39)) +>p : Symbol(p, Decl(giant.ts, 13, 5)) [p1: string]; ->p1 : Symbol(p1, Decl(giant.ts, 124, 9)) +>p1 : Symbol(p1, Decl(giant.ts, 125, 9)) [p2: string, p3: number]; ->p2 : Symbol(p2, Decl(giant.ts, 125, 9)) ->p3 : Symbol(p3, Decl(giant.ts, 125, 20)) +>p2 : Symbol(p2, Decl(giant.ts, 126, 9)) +>p3 : Symbol(p3, Decl(giant.ts, 126, 20)) //Property Signature p; ->p : Symbol(I.p, Decl(giant.ts, 125, 33)) +>p : Symbol(I.p, Decl(giant.ts, 126, 33)) p1?; ->p1 : Symbol(I.p1, Decl(giant.ts, 128, 10)) +>p1 : Symbol(I.p1, Decl(giant.ts, 129, 10)) p2?: string; ->p2 : Symbol(I.p2, Decl(giant.ts, 129, 12)) +>p2 : Symbol(I.p2, Decl(giant.ts, 130, 12)) //Function Signature p3(); ->p3 : Symbol(I.p3, Decl(giant.ts, 130, 20)) +>p3 : Symbol(I.p3, Decl(giant.ts, 131, 20)) p4? (); ->p4 : Symbol(I.p4, Decl(giant.ts, 133, 13)) +>p4 : Symbol(I.p4, Decl(giant.ts, 134, 13)) p5? (): void; ->p5 : Symbol(I.p5, Decl(giant.ts, 134, 15)) +>p5 : Symbol(I.p5, Decl(giant.ts, 135, 15)) p6(pa1): void; ->p6 : Symbol(I.p6, Decl(giant.ts, 135, 21)) ->pa1 : Symbol(pa1, Decl(giant.ts, 136, 11)) +>p6 : Symbol(I.p6, Decl(giant.ts, 136, 21)) +>pa1 : Symbol(pa1, Decl(giant.ts, 137, 11)) p7(pa1, pa2): void; ->p7 : Symbol(I.p7, Decl(giant.ts, 136, 22), Decl(giant.ts, 137, 27)) ->pa1 : Symbol(pa1, Decl(giant.ts, 137, 11)) ->pa2 : Symbol(pa2, Decl(giant.ts, 137, 15)) +>p7 : Symbol(I.p7, Decl(giant.ts, 137, 22), Decl(giant.ts, 138, 27)) +>pa1 : Symbol(pa1, Decl(giant.ts, 138, 11)) +>pa2 : Symbol(pa2, Decl(giant.ts, 138, 15)) p7? (pa1, pa2): void; ->p7 : Symbol(I.p7, Decl(giant.ts, 136, 22), Decl(giant.ts, 137, 27)) ->pa1 : Symbol(pa1, Decl(giant.ts, 138, 13)) ->pa2 : Symbol(pa2, Decl(giant.ts, 138, 17)) +>p7 : Symbol(I.p7, Decl(giant.ts, 137, 22), Decl(giant.ts, 138, 27)) +>pa1 : Symbol(pa1, Decl(giant.ts, 139, 13)) +>pa2 : Symbol(pa2, Decl(giant.ts, 139, 17)) } module M { ->M : Symbol(M, Decl(giant.ts, 139, 5)) +>M : Symbol(M, Decl(giant.ts, 140, 5)) var V; ->V : Symbol(V, Decl(giant.ts, 141, 11)) +>V : Symbol(V, Decl(giant.ts, 142, 11)) function F() { }; ->F : Symbol(F, Decl(giant.ts, 141, 14)) +>F : Symbol(F, Decl(giant.ts, 142, 14)) class C { }; ->C : Symbol(C, Decl(giant.ts, 142, 25)) +>C : Symbol(C, Decl(giant.ts, 143, 25)) interface I { }; ->I : Symbol(I, Decl(giant.ts, 143, 20)) +>I : Symbol(I, Decl(giant.ts, 144, 20)) module M { }; ->M : Symbol(M, Decl(giant.ts, 144, 24)) +>M : Symbol(M, Decl(giant.ts, 145, 24)) export var eV; ->eV : Symbol(eV, Decl(giant.ts, 146, 18)) +>eV : Symbol(eV, Decl(giant.ts, 147, 18)) export function eF() { }; ->eF : Symbol(eF, Decl(giant.ts, 146, 22)) +>eF : Symbol(eF, Decl(giant.ts, 147, 22)) export class eC { }; ->eC : Symbol(eC, Decl(giant.ts, 147, 33)) +>eC : Symbol(eC, Decl(giant.ts, 148, 33)) export interface eI { }; ->eI : Symbol(eI, Decl(giant.ts, 148, 28)) +>eI : Symbol(eI, Decl(giant.ts, 149, 28)) export module eM { }; ->eM : Symbol(eM, Decl(giant.ts, 149, 32)) +>eM : Symbol(eM, Decl(giant.ts, 150, 32)) export declare var eaV; ->eaV : Symbol(eaV, Decl(giant.ts, 151, 26)) +>eaV : Symbol(eaV, Decl(giant.ts, 152, 26)) export declare function eaF() { }; ->eaF : Symbol(eaF, Decl(giant.ts, 151, 31)) +>eaF : Symbol(eaF, Decl(giant.ts, 152, 31)) export declare class eaC { }; ->eaC : Symbol(eaC, Decl(giant.ts, 152, 42)) +>eaC : Symbol(eaC, Decl(giant.ts, 153, 42)) export declare module eaM { }; ->eaM : Symbol(eaM, Decl(giant.ts, 153, 37)) +>eaM : Symbol(eaM, Decl(giant.ts, 154, 37)) } export var eV; ->eV : Symbol(eV, Decl(giant.ts, 156, 14)) +>eV : Symbol(eV, Decl(giant.ts, 157, 14)) export function eF() { }; ->eF : Symbol(eF, Decl(giant.ts, 156, 18)) +>eF : Symbol(eF, Decl(giant.ts, 157, 18)) export class eC { ->eC : Symbol(eC, Decl(giant.ts, 157, 29)) +>eC : Symbol(eC, Decl(giant.ts, 158, 29)) constructor () { } public pV; ->pV : Symbol(eC.pV, Decl(giant.ts, 159, 26)) +>pV : Symbol(eC.pV, Decl(giant.ts, 160, 26)) private rV; ->rV : Symbol(eC.rV, Decl(giant.ts, 160, 18)) +>rV : Symbol(eC.rV, Decl(giant.ts, 161, 18)) public pF() { } ->pF : Symbol(eC.pF, Decl(giant.ts, 161, 19)) +>pF : Symbol(eC.pF, Decl(giant.ts, 162, 19)) private rF() { } ->rF : Symbol(eC.rF, Decl(giant.ts, 162, 23)) +>rF : Symbol(eC.rF, Decl(giant.ts, 163, 23)) public pgF() { } ->pgF : Symbol(eC.pgF, Decl(giant.ts, 163, 24)) +>pgF : Symbol(eC.pgF, Decl(giant.ts, 164, 24)) public get pgF() ->pgF : Symbol(eC.pgF, Decl(giant.ts, 164, 24)) +>pgF : Symbol(eC.pgF, Decl(giant.ts, 165, 24)) public psF(param:any) { } ->psF : Symbol(eC.psF, Decl(giant.ts, 165, 24)) ->param : Symbol(param, Decl(giant.ts, 166, 19)) +>psF : Symbol(eC.psF, Decl(giant.ts, 166, 24)) +>param : Symbol(param, Decl(giant.ts, 167, 19)) public set psF(param:any) ->psF : Symbol(eC.psF, Decl(giant.ts, 166, 33)) ->param : Symbol(param, Decl(giant.ts, 167, 23)) +>psF : Symbol(eC.psF, Decl(giant.ts, 167, 33)) +>param : Symbol(param, Decl(giant.ts, 168, 23)) private rgF() { } ->rgF : Symbol(eC.rgF, Decl(giant.ts, 167, 33)) +>rgF : Symbol(eC.rgF, Decl(giant.ts, 168, 33)) private get rgF() ->rgF : Symbol(eC.rgF, Decl(giant.ts, 168, 25)) +>rgF : Symbol(eC.rgF, Decl(giant.ts, 169, 25)) private rsF(param:any) { } ->rsF : Symbol(eC.rsF, Decl(giant.ts, 169, 25)) ->param : Symbol(param, Decl(giant.ts, 170, 20)) +>rsF : Symbol(eC.rsF, Decl(giant.ts, 170, 25)) +>param : Symbol(param, Decl(giant.ts, 171, 20)) private set rsF(param:any) ->rsF : Symbol(eC.rsF, Decl(giant.ts, 170, 34)) ->param : Symbol(param, Decl(giant.ts, 171, 24)) +>rsF : Symbol(eC.rsF, Decl(giant.ts, 171, 34)) +>param : Symbol(param, Decl(giant.ts, 172, 24)) static tV; ->tV : Symbol(eC.tV, Decl(giant.ts, 171, 34)) +>tV : Symbol(eC.tV, Decl(giant.ts, 172, 34)) static tF() { } ->tF : Symbol(eC.tF, Decl(giant.ts, 172, 18)) +>tF : Symbol(eC.tF, Decl(giant.ts, 173, 18)) static tsF(param:any) { } ->tsF : Symbol(eC.tsF, Decl(giant.ts, 173, 23)) ->param : Symbol(param, Decl(giant.ts, 174, 19)) +>tsF : Symbol(eC.tsF, Decl(giant.ts, 174, 23)) +>param : Symbol(param, Decl(giant.ts, 175, 19)) static set tsF(param:any) ->tsF : Symbol(eC.tsF, Decl(giant.ts, 174, 33)) ->param : Symbol(param, Decl(giant.ts, 175, 23)) +>tsF : Symbol(eC.tsF, Decl(giant.ts, 175, 33)) +>param : Symbol(param, Decl(giant.ts, 176, 23)) static tgF() { } ->tgF : Symbol(eC.tgF, Decl(giant.ts, 175, 33)) +>tgF : Symbol(eC.tgF, Decl(giant.ts, 176, 33)) static get tgF() ->tgF : Symbol(eC.tgF, Decl(giant.ts, 176, 24)) +>tgF : Symbol(eC.tgF, Decl(giant.ts, 177, 24)) } export interface eI { ->eI : Symbol(eI, Decl(giant.ts, 178, 5)) +>eI : Symbol(eI, Decl(giant.ts, 179, 5)) //Call Signature (); (): number; (p); ->p : Symbol(p, Decl(giant.ts, 183, 9)) +>p : Symbol(p, Decl(giant.ts, 184, 9)) (p1: string); ->p1 : Symbol(p1, Decl(giant.ts, 184, 9)) +>p1 : Symbol(p1, Decl(giant.ts, 185, 9)) (p2?: string); ->p2 : Symbol(p2, Decl(giant.ts, 185, 9)) +>p2 : Symbol(p2, Decl(giant.ts, 186, 9)) (...p3: any[]); ->p3 : Symbol(p3, Decl(giant.ts, 186, 9)) +>p3 : Symbol(p3, Decl(giant.ts, 187, 9)) (p4: string, p5?: string); ->p4 : Symbol(p4, Decl(giant.ts, 187, 9)) ->p5 : Symbol(p5, Decl(giant.ts, 187, 20)) +>p4 : Symbol(p4, Decl(giant.ts, 188, 9)) +>p5 : Symbol(p5, Decl(giant.ts, 188, 20)) (p6: string, ...p7: any[]); ->p6 : Symbol(p6, Decl(giant.ts, 188, 9)) ->p7 : Symbol(p7, Decl(giant.ts, 188, 20)) +>p6 : Symbol(p6, Decl(giant.ts, 189, 9)) +>p7 : Symbol(p7, Decl(giant.ts, 189, 20)) //(p8?: string, ...p9: any[]); //(p10:string, p8?: string, ...p9: any[]); @@ -493,311 +498,312 @@ module M { new (); new (): number; new (p: string); ->p : Symbol(p, Decl(giant.ts, 195, 13)) +>p : Symbol(p, Decl(giant.ts, 196, 13)) new (p2?: string); ->p2 : Symbol(p2, Decl(giant.ts, 196, 13)) +>p2 : Symbol(p2, Decl(giant.ts, 197, 13)) new (...p3: any[]); ->p3 : Symbol(p3, Decl(giant.ts, 197, 13)) +>p3 : Symbol(p3, Decl(giant.ts, 198, 13)) new (p4: string, p5?: string); ->p4 : Symbol(p4, Decl(giant.ts, 198, 13)) ->p5 : Symbol(p5, Decl(giant.ts, 198, 24)) +>p4 : Symbol(p4, Decl(giant.ts, 199, 13)) +>p5 : Symbol(p5, Decl(giant.ts, 199, 24)) new (p6: string, ...p7: any[]); ->p6 : Symbol(p6, Decl(giant.ts, 199, 13)) ->p7 : Symbol(p7, Decl(giant.ts, 199, 24)) +>p6 : Symbol(p6, Decl(giant.ts, 200, 13)) +>p7 : Symbol(p7, Decl(giant.ts, 200, 24)) //Index Signature [p]; ->[p] : Symbol(eI[p], Decl(giant.ts, 199, 39)) +>[p] : Symbol(eI[p], Decl(giant.ts, 200, 39)) +>p : Symbol(p, Decl(giant.ts, 13, 5)) [p1: string]; ->p1 : Symbol(p1, Decl(giant.ts, 203, 9)) +>p1 : Symbol(p1, Decl(giant.ts, 204, 9)) [p2: string, p3: number]; ->p2 : Symbol(p2, Decl(giant.ts, 204, 9)) ->p3 : Symbol(p3, Decl(giant.ts, 204, 20)) +>p2 : Symbol(p2, Decl(giant.ts, 205, 9)) +>p3 : Symbol(p3, Decl(giant.ts, 205, 20)) //Property Signature p; ->p : Symbol(eI.p, Decl(giant.ts, 204, 33)) +>p : Symbol(eI.p, Decl(giant.ts, 205, 33)) p1?; ->p1 : Symbol(eI.p1, Decl(giant.ts, 207, 10)) +>p1 : Symbol(eI.p1, Decl(giant.ts, 208, 10)) p2?: string; ->p2 : Symbol(eI.p2, Decl(giant.ts, 208, 12)) +>p2 : Symbol(eI.p2, Decl(giant.ts, 209, 12)) //Function Signature p3(); ->p3 : Symbol(eI.p3, Decl(giant.ts, 209, 20)) +>p3 : Symbol(eI.p3, Decl(giant.ts, 210, 20)) p4? (); ->p4 : Symbol(eI.p4, Decl(giant.ts, 212, 13)) +>p4 : Symbol(eI.p4, Decl(giant.ts, 213, 13)) p5? (): void; ->p5 : Symbol(eI.p5, Decl(giant.ts, 213, 15)) +>p5 : Symbol(eI.p5, Decl(giant.ts, 214, 15)) p6(pa1): void; ->p6 : Symbol(eI.p6, Decl(giant.ts, 214, 21)) ->pa1 : Symbol(pa1, Decl(giant.ts, 215, 11)) +>p6 : Symbol(eI.p6, Decl(giant.ts, 215, 21)) +>pa1 : Symbol(pa1, Decl(giant.ts, 216, 11)) p7(pa1, pa2): void; ->p7 : Symbol(eI.p7, Decl(giant.ts, 215, 22), Decl(giant.ts, 216, 27)) ->pa1 : Symbol(pa1, Decl(giant.ts, 216, 11)) ->pa2 : Symbol(pa2, Decl(giant.ts, 216, 15)) +>p7 : Symbol(eI.p7, Decl(giant.ts, 216, 22), Decl(giant.ts, 217, 27)) +>pa1 : Symbol(pa1, Decl(giant.ts, 217, 11)) +>pa2 : Symbol(pa2, Decl(giant.ts, 217, 15)) p7? (pa1, pa2): void; ->p7 : Symbol(eI.p7, Decl(giant.ts, 215, 22), Decl(giant.ts, 216, 27)) ->pa1 : Symbol(pa1, Decl(giant.ts, 217, 13)) ->pa2 : Symbol(pa2, Decl(giant.ts, 217, 17)) +>p7 : Symbol(eI.p7, Decl(giant.ts, 216, 22), Decl(giant.ts, 217, 27)) +>pa1 : Symbol(pa1, Decl(giant.ts, 218, 13)) +>pa2 : Symbol(pa2, Decl(giant.ts, 218, 17)) } export module eM { ->eM : Symbol(eM, Decl(giant.ts, 218, 5)) +>eM : Symbol(eM, Decl(giant.ts, 219, 5)) var V; ->V : Symbol(V, Decl(giant.ts, 220, 11)) +>V : Symbol(V, Decl(giant.ts, 221, 11)) function F() { }; ->F : Symbol(F, Decl(giant.ts, 220, 14)) +>F : Symbol(F, Decl(giant.ts, 221, 14)) class C { }; ->C : Symbol(C, Decl(giant.ts, 221, 25)) +>C : Symbol(C, Decl(giant.ts, 222, 25)) interface I { }; ->I : Symbol(I, Decl(giant.ts, 222, 20)) +>I : Symbol(I, Decl(giant.ts, 223, 20)) module M { }; ->M : Symbol(M, Decl(giant.ts, 223, 24)) +>M : Symbol(M, Decl(giant.ts, 224, 24)) export var eV; ->eV : Symbol(eV, Decl(giant.ts, 225, 18)) +>eV : Symbol(eV, Decl(giant.ts, 226, 18)) export function eF() { }; ->eF : Symbol(eF, Decl(giant.ts, 225, 22)) +>eF : Symbol(eF, Decl(giant.ts, 226, 22)) export class eC { }; ->eC : Symbol(eC, Decl(giant.ts, 226, 33)) +>eC : Symbol(eC, Decl(giant.ts, 227, 33)) export interface eI { }; ->eI : Symbol(eI, Decl(giant.ts, 227, 28)) +>eI : Symbol(eI, Decl(giant.ts, 228, 28)) export module eM { }; ->eM : Symbol(eM, Decl(giant.ts, 228, 32)) +>eM : Symbol(eM, Decl(giant.ts, 229, 32)) export declare var eaV; ->eaV : Symbol(eaV, Decl(giant.ts, 230, 26)) +>eaV : Symbol(eaV, Decl(giant.ts, 231, 26)) export declare function eaF() { }; ->eaF : Symbol(eaF, Decl(giant.ts, 230, 31)) +>eaF : Symbol(eaF, Decl(giant.ts, 231, 31)) export declare class eaC { }; ->eaC : Symbol(eaC, Decl(giant.ts, 231, 42)) +>eaC : Symbol(eaC, Decl(giant.ts, 232, 42)) export declare module eaM { }; ->eaM : Symbol(eaM, Decl(giant.ts, 232, 37)) +>eaM : Symbol(eaM, Decl(giant.ts, 233, 37)) } export declare var eaV; ->eaV : Symbol(eaV, Decl(giant.ts, 235, 22)) +>eaV : Symbol(eaV, Decl(giant.ts, 236, 22)) export declare function eaF() { }; ->eaF : Symbol(eaF, Decl(giant.ts, 235, 27)) +>eaF : Symbol(eaF, Decl(giant.ts, 236, 27)) export declare class eaC { ->eaC : Symbol(eaC, Decl(giant.ts, 236, 38)) +>eaC : Symbol(eaC, Decl(giant.ts, 237, 38)) constructor () { } public pV; ->pV : Symbol(eaC.pV, Decl(giant.ts, 238, 26)) +>pV : Symbol(eaC.pV, Decl(giant.ts, 239, 26)) private rV; ->rV : Symbol(eaC.rV, Decl(giant.ts, 239, 18)) +>rV : Symbol(eaC.rV, Decl(giant.ts, 240, 18)) public pF() { } ->pF : Symbol(eaC.pF, Decl(giant.ts, 240, 19)) +>pF : Symbol(eaC.pF, Decl(giant.ts, 241, 19)) private rF() { } ->rF : Symbol(eaC.rF, Decl(giant.ts, 241, 23)) +>rF : Symbol(eaC.rF, Decl(giant.ts, 242, 23)) public pgF() { } ->pgF : Symbol(eaC.pgF, Decl(giant.ts, 242, 24)) +>pgF : Symbol(eaC.pgF, Decl(giant.ts, 243, 24)) public get pgF() ->pgF : Symbol(eaC.pgF, Decl(giant.ts, 243, 24)) +>pgF : Symbol(eaC.pgF, Decl(giant.ts, 244, 24)) public psF(param:any) { } ->psF : Symbol(eaC.psF, Decl(giant.ts, 244, 24)) ->param : Symbol(param, Decl(giant.ts, 245, 19)) +>psF : Symbol(eaC.psF, Decl(giant.ts, 245, 24)) +>param : Symbol(param, Decl(giant.ts, 246, 19)) public set psF(param:any) ->psF : Symbol(eaC.psF, Decl(giant.ts, 245, 33)) ->param : Symbol(param, Decl(giant.ts, 246, 23)) +>psF : Symbol(eaC.psF, Decl(giant.ts, 246, 33)) +>param : Symbol(param, Decl(giant.ts, 247, 23)) private rgF() { } ->rgF : Symbol(eaC.rgF, Decl(giant.ts, 246, 33)) +>rgF : Symbol(eaC.rgF, Decl(giant.ts, 247, 33)) private get rgF() ->rgF : Symbol(eaC.rgF, Decl(giant.ts, 247, 25)) +>rgF : Symbol(eaC.rgF, Decl(giant.ts, 248, 25)) private rsF(param:any) { } ->rsF : Symbol(eaC.rsF, Decl(giant.ts, 248, 25)) ->param : Symbol(param, Decl(giant.ts, 249, 20)) +>rsF : Symbol(eaC.rsF, Decl(giant.ts, 249, 25)) +>param : Symbol(param, Decl(giant.ts, 250, 20)) private set rsF(param:any) ->rsF : Symbol(eaC.rsF, Decl(giant.ts, 249, 34)) ->param : Symbol(param, Decl(giant.ts, 250, 24)) +>rsF : Symbol(eaC.rsF, Decl(giant.ts, 250, 34)) +>param : Symbol(param, Decl(giant.ts, 251, 24)) static tV; ->tV : Symbol(eaC.tV, Decl(giant.ts, 250, 34)) +>tV : Symbol(eaC.tV, Decl(giant.ts, 251, 34)) static tF() { } ->tF : Symbol(eaC.tF, Decl(giant.ts, 251, 18)) +>tF : Symbol(eaC.tF, Decl(giant.ts, 252, 18)) static tsF(param:any) { } ->tsF : Symbol(eaC.tsF, Decl(giant.ts, 252, 23)) ->param : Symbol(param, Decl(giant.ts, 253, 19)) +>tsF : Symbol(eaC.tsF, Decl(giant.ts, 253, 23)) +>param : Symbol(param, Decl(giant.ts, 254, 19)) static set tsF(param:any) ->tsF : Symbol(eaC.tsF, Decl(giant.ts, 253, 33)) ->param : Symbol(param, Decl(giant.ts, 254, 23)) +>tsF : Symbol(eaC.tsF, Decl(giant.ts, 254, 33)) +>param : Symbol(param, Decl(giant.ts, 255, 23)) static tgF() { } ->tgF : Symbol(eaC.tgF, Decl(giant.ts, 254, 33)) +>tgF : Symbol(eaC.tgF, Decl(giant.ts, 255, 33)) static get tgF() ->tgF : Symbol(eaC.tgF, Decl(giant.ts, 255, 24)) +>tgF : Symbol(eaC.tgF, Decl(giant.ts, 256, 24)) } export declare module eaM { ->eaM : Symbol(eaM, Decl(giant.ts, 257, 5)) +>eaM : Symbol(eaM, Decl(giant.ts, 258, 5)) var V; ->V : Symbol(V, Decl(giant.ts, 259, 11)) +>V : Symbol(V, Decl(giant.ts, 260, 11)) function F() { }; ->F : Symbol(F, Decl(giant.ts, 259, 14)) +>F : Symbol(F, Decl(giant.ts, 260, 14)) class C { } ->C : Symbol(C, Decl(giant.ts, 260, 25)) +>C : Symbol(C, Decl(giant.ts, 261, 25)) interface I { } ->I : Symbol(I, Decl(giant.ts, 261, 19)) +>I : Symbol(I, Decl(giant.ts, 262, 19)) module M { } ->M : Symbol(M, Decl(giant.ts, 262, 23)) +>M : Symbol(M, Decl(giant.ts, 263, 23)) export var eV; ->eV : Symbol(eV, Decl(giant.ts, 264, 18)) +>eV : Symbol(eV, Decl(giant.ts, 265, 18)) export function eF() { }; ->eF : Symbol(eF, Decl(giant.ts, 264, 22)) +>eF : Symbol(eF, Decl(giant.ts, 265, 22)) export class eC { } ->eC : Symbol(eC, Decl(giant.ts, 265, 33)) +>eC : Symbol(eC, Decl(giant.ts, 266, 33)) export interface eI { } ->eI : Symbol(eI, Decl(giant.ts, 266, 27)) +>eI : Symbol(eI, Decl(giant.ts, 267, 27)) export module eM { } ->eM : Symbol(eM, Decl(giant.ts, 267, 31)) +>eM : Symbol(eM, Decl(giant.ts, 268, 31)) } } export var eV; ->eV : Symbol(eV, Decl(giant.ts, 271, 10)) +>eV : Symbol(eV, Decl(giant.ts, 272, 10)) export function eF() { }; ->eF : Symbol(eF, Decl(giant.ts, 271, 14)) +>eF : Symbol(eF, Decl(giant.ts, 272, 14)) export class eC { ->eC : Symbol(eC, Decl(giant.ts, 272, 25)) +>eC : Symbol(eC, Decl(giant.ts, 273, 25)) constructor () { } public pV; ->pV : Symbol(eC.pV, Decl(giant.ts, 274, 22)) +>pV : Symbol(eC.pV, Decl(giant.ts, 275, 22)) private rV; ->rV : Symbol(eC.rV, Decl(giant.ts, 275, 14)) +>rV : Symbol(eC.rV, Decl(giant.ts, 276, 14)) public pF() { } ->pF : Symbol(eC.pF, Decl(giant.ts, 276, 15)) +>pF : Symbol(eC.pF, Decl(giant.ts, 277, 15)) private rF() { } ->rF : Symbol(eC.rF, Decl(giant.ts, 277, 19)) +>rF : Symbol(eC.rF, Decl(giant.ts, 278, 19)) public pgF() { } ->pgF : Symbol(eC.pgF, Decl(giant.ts, 278, 20)) +>pgF : Symbol(eC.pgF, Decl(giant.ts, 279, 20)) public get pgF() ->pgF : Symbol(eC.pgF, Decl(giant.ts, 279, 20)) +>pgF : Symbol(eC.pgF, Decl(giant.ts, 280, 20)) public psF(param:any) { } ->psF : Symbol(eC.psF, Decl(giant.ts, 280, 20)) ->param : Symbol(param, Decl(giant.ts, 281, 15)) +>psF : Symbol(eC.psF, Decl(giant.ts, 281, 20)) +>param : Symbol(param, Decl(giant.ts, 282, 15)) public set psF(param:any) ->psF : Symbol(eC.psF, Decl(giant.ts, 281, 29)) ->param : Symbol(param, Decl(giant.ts, 282, 19)) +>psF : Symbol(eC.psF, Decl(giant.ts, 282, 29)) +>param : Symbol(param, Decl(giant.ts, 283, 19)) private rgF() { } ->rgF : Symbol(eC.rgF, Decl(giant.ts, 282, 29)) +>rgF : Symbol(eC.rgF, Decl(giant.ts, 283, 29)) private get rgF() ->rgF : Symbol(eC.rgF, Decl(giant.ts, 283, 21)) +>rgF : Symbol(eC.rgF, Decl(giant.ts, 284, 21)) private rsF(param:any) { } ->rsF : Symbol(eC.rsF, Decl(giant.ts, 284, 21)) ->param : Symbol(param, Decl(giant.ts, 285, 16)) +>rsF : Symbol(eC.rsF, Decl(giant.ts, 285, 21)) +>param : Symbol(param, Decl(giant.ts, 286, 16)) private set rsF(param:any) ->rsF : Symbol(eC.rsF, Decl(giant.ts, 285, 30)) ->param : Symbol(param, Decl(giant.ts, 286, 20)) +>rsF : Symbol(eC.rsF, Decl(giant.ts, 286, 30)) +>param : Symbol(param, Decl(giant.ts, 287, 20)) static tV; ->tV : Symbol(eC.tV, Decl(giant.ts, 286, 30)) +>tV : Symbol(eC.tV, Decl(giant.ts, 287, 30)) static tF() { } ->tF : Symbol(eC.tF, Decl(giant.ts, 287, 14)) +>tF : Symbol(eC.tF, Decl(giant.ts, 288, 14)) static tsF(param:any) { } ->tsF : Symbol(eC.tsF, Decl(giant.ts, 288, 19)) ->param : Symbol(param, Decl(giant.ts, 289, 15)) +>tsF : Symbol(eC.tsF, Decl(giant.ts, 289, 19)) +>param : Symbol(param, Decl(giant.ts, 290, 15)) static set tsF(param:any) ->tsF : Symbol(eC.tsF, Decl(giant.ts, 289, 29)) ->param : Symbol(param, Decl(giant.ts, 290, 19)) +>tsF : Symbol(eC.tsF, Decl(giant.ts, 290, 29)) +>param : Symbol(param, Decl(giant.ts, 291, 19)) static tgF() { } ->tgF : Symbol(eC.tgF, Decl(giant.ts, 290, 29)) +>tgF : Symbol(eC.tgF, Decl(giant.ts, 291, 29)) static get tgF() ->tgF : Symbol(eC.tgF, Decl(giant.ts, 291, 20)) +>tgF : Symbol(eC.tgF, Decl(giant.ts, 292, 20)) } export interface eI { ->eI : Symbol(eI, Decl(giant.ts, 293, 1)) +>eI : Symbol(eI, Decl(giant.ts, 294, 1)) //Call Signature (); (): number; (p); ->p : Symbol(p, Decl(giant.ts, 298, 5)) +>p : Symbol(p, Decl(giant.ts, 299, 5)) (p1: string); ->p1 : Symbol(p1, Decl(giant.ts, 299, 5)) +>p1 : Symbol(p1, Decl(giant.ts, 300, 5)) (p2?: string); ->p2 : Symbol(p2, Decl(giant.ts, 300, 5)) +>p2 : Symbol(p2, Decl(giant.ts, 301, 5)) (...p3: any[]); ->p3 : Symbol(p3, Decl(giant.ts, 301, 5)) +>p3 : Symbol(p3, Decl(giant.ts, 302, 5)) (p4: string, p5?: string); ->p4 : Symbol(p4, Decl(giant.ts, 302, 5)) ->p5 : Symbol(p5, Decl(giant.ts, 302, 16)) +>p4 : Symbol(p4, Decl(giant.ts, 303, 5)) +>p5 : Symbol(p5, Decl(giant.ts, 303, 16)) (p6: string, ...p7: any[]); ->p6 : Symbol(p6, Decl(giant.ts, 303, 5)) ->p7 : Symbol(p7, Decl(giant.ts, 303, 16)) +>p6 : Symbol(p6, Decl(giant.ts, 304, 5)) +>p7 : Symbol(p7, Decl(giant.ts, 304, 16)) //(p8?: string, ...p9: any[]); //(p10:string, p8?: string, ...p9: any[]); @@ -806,165 +812,166 @@ export interface eI { new (); new (): number; new (p: string); ->p : Symbol(p, Decl(giant.ts, 310, 9)) +>p : Symbol(p, Decl(giant.ts, 311, 9)) new (p2?: string); ->p2 : Symbol(p2, Decl(giant.ts, 311, 9)) +>p2 : Symbol(p2, Decl(giant.ts, 312, 9)) new (...p3: any[]); ->p3 : Symbol(p3, Decl(giant.ts, 312, 9)) +>p3 : Symbol(p3, Decl(giant.ts, 313, 9)) new (p4: string, p5?: string); ->p4 : Symbol(p4, Decl(giant.ts, 313, 9)) ->p5 : Symbol(p5, Decl(giant.ts, 313, 20)) +>p4 : Symbol(p4, Decl(giant.ts, 314, 9)) +>p5 : Symbol(p5, Decl(giant.ts, 314, 20)) new (p6: string, ...p7: any[]); ->p6 : Symbol(p6, Decl(giant.ts, 314, 9)) ->p7 : Symbol(p7, Decl(giant.ts, 314, 20)) +>p6 : Symbol(p6, Decl(giant.ts, 315, 9)) +>p7 : Symbol(p7, Decl(giant.ts, 315, 20)) //Index Signature [p]; ->[p] : Symbol(eI[p], Decl(giant.ts, 314, 35)) +>[p] : Symbol(eI[p], Decl(giant.ts, 315, 35)) +>p : Symbol(p, Decl(giant.ts, 13, 5)) [p1: string]; ->p1 : Symbol(p1, Decl(giant.ts, 318, 5)) +>p1 : Symbol(p1, Decl(giant.ts, 319, 5)) [p2: string, p3: number]; ->p2 : Symbol(p2, Decl(giant.ts, 319, 5)) ->p3 : Symbol(p3, Decl(giant.ts, 319, 16)) +>p2 : Symbol(p2, Decl(giant.ts, 320, 5)) +>p3 : Symbol(p3, Decl(giant.ts, 320, 16)) //Property Signature p; ->p : Symbol(eI.p, Decl(giant.ts, 319, 29)) +>p : Symbol(eI.p, Decl(giant.ts, 320, 29)) p1?; ->p1 : Symbol(eI.p1, Decl(giant.ts, 322, 6)) +>p1 : Symbol(eI.p1, Decl(giant.ts, 323, 6)) p2?: string; ->p2 : Symbol(eI.p2, Decl(giant.ts, 323, 8)) +>p2 : Symbol(eI.p2, Decl(giant.ts, 324, 8)) //Function Signature p3(); ->p3 : Symbol(eI.p3, Decl(giant.ts, 324, 16)) +>p3 : Symbol(eI.p3, Decl(giant.ts, 325, 16)) p4? (); ->p4 : Symbol(eI.p4, Decl(giant.ts, 327, 9)) +>p4 : Symbol(eI.p4, Decl(giant.ts, 328, 9)) p5? (): void; ->p5 : Symbol(eI.p5, Decl(giant.ts, 328, 11)) +>p5 : Symbol(eI.p5, Decl(giant.ts, 329, 11)) p6(pa1): void; ->p6 : Symbol(eI.p6, Decl(giant.ts, 329, 17)) ->pa1 : Symbol(pa1, Decl(giant.ts, 330, 7)) +>p6 : Symbol(eI.p6, Decl(giant.ts, 330, 17)) +>pa1 : Symbol(pa1, Decl(giant.ts, 331, 7)) p7(pa1, pa2): void; ->p7 : Symbol(eI.p7, Decl(giant.ts, 330, 18), Decl(giant.ts, 331, 23)) ->pa1 : Symbol(pa1, Decl(giant.ts, 331, 7)) ->pa2 : Symbol(pa2, Decl(giant.ts, 331, 11)) +>p7 : Symbol(eI.p7, Decl(giant.ts, 331, 18), Decl(giant.ts, 332, 23)) +>pa1 : Symbol(pa1, Decl(giant.ts, 332, 7)) +>pa2 : Symbol(pa2, Decl(giant.ts, 332, 11)) p7? (pa1, pa2): void; ->p7 : Symbol(eI.p7, Decl(giant.ts, 330, 18), Decl(giant.ts, 331, 23)) ->pa1 : Symbol(pa1, Decl(giant.ts, 332, 9)) ->pa2 : Symbol(pa2, Decl(giant.ts, 332, 13)) +>p7 : Symbol(eI.p7, Decl(giant.ts, 331, 18), Decl(giant.ts, 332, 23)) +>pa1 : Symbol(pa1, Decl(giant.ts, 333, 9)) +>pa2 : Symbol(pa2, Decl(giant.ts, 333, 13)) } export module eM { ->eM : Symbol(eM, Decl(giant.ts, 333, 1)) +>eM : Symbol(eM, Decl(giant.ts, 334, 1)) var V; ->V : Symbol(V, Decl(giant.ts, 335, 7)) +>V : Symbol(V, Decl(giant.ts, 336, 7)) function F() { }; ->F : Symbol(F, Decl(giant.ts, 335, 10)) +>F : Symbol(F, Decl(giant.ts, 336, 10)) class C { ->C : Symbol(C, Decl(giant.ts, 336, 21)) +>C : Symbol(C, Decl(giant.ts, 337, 21)) constructor () { } public pV; ->pV : Symbol(C.pV, Decl(giant.ts, 338, 26)) +>pV : Symbol(C.pV, Decl(giant.ts, 339, 26)) private rV; ->rV : Symbol(C.rV, Decl(giant.ts, 339, 18)) +>rV : Symbol(C.rV, Decl(giant.ts, 340, 18)) public pF() { } ->pF : Symbol(C.pF, Decl(giant.ts, 340, 19)) +>pF : Symbol(C.pF, Decl(giant.ts, 341, 19)) private rF() { } ->rF : Symbol(C.rF, Decl(giant.ts, 341, 23)) +>rF : Symbol(C.rF, Decl(giant.ts, 342, 23)) public pgF() { } ->pgF : Symbol(C.pgF, Decl(giant.ts, 342, 24)) +>pgF : Symbol(C.pgF, Decl(giant.ts, 343, 24)) public get pgF() ->pgF : Symbol(C.pgF, Decl(giant.ts, 343, 24)) +>pgF : Symbol(C.pgF, Decl(giant.ts, 344, 24)) public psF(param:any) { } ->psF : Symbol(C.psF, Decl(giant.ts, 344, 24)) ->param : Symbol(param, Decl(giant.ts, 345, 19)) +>psF : Symbol(C.psF, Decl(giant.ts, 345, 24)) +>param : Symbol(param, Decl(giant.ts, 346, 19)) public set psF(param:any) ->psF : Symbol(C.psF, Decl(giant.ts, 345, 33)) ->param : Symbol(param, Decl(giant.ts, 346, 23)) +>psF : Symbol(C.psF, Decl(giant.ts, 346, 33)) +>param : Symbol(param, Decl(giant.ts, 347, 23)) private rgF() { } ->rgF : Symbol(C.rgF, Decl(giant.ts, 346, 33)) +>rgF : Symbol(C.rgF, Decl(giant.ts, 347, 33)) private get rgF() ->rgF : Symbol(C.rgF, Decl(giant.ts, 347, 25)) +>rgF : Symbol(C.rgF, Decl(giant.ts, 348, 25)) private rsF(param:any) { } ->rsF : Symbol(C.rsF, Decl(giant.ts, 348, 25)) ->param : Symbol(param, Decl(giant.ts, 349, 20)) +>rsF : Symbol(C.rsF, Decl(giant.ts, 349, 25)) +>param : Symbol(param, Decl(giant.ts, 350, 20)) private set rsF(param:any) ->rsF : Symbol(C.rsF, Decl(giant.ts, 349, 34)) ->param : Symbol(param, Decl(giant.ts, 350, 24)) +>rsF : Symbol(C.rsF, Decl(giant.ts, 350, 34)) +>param : Symbol(param, Decl(giant.ts, 351, 24)) static tV; ->tV : Symbol(C.tV, Decl(giant.ts, 350, 34)) +>tV : Symbol(C.tV, Decl(giant.ts, 351, 34)) static tF() { } ->tF : Symbol(C.tF, Decl(giant.ts, 351, 18)) +>tF : Symbol(C.tF, Decl(giant.ts, 352, 18)) static tsF(param:any) { } ->tsF : Symbol(C.tsF, Decl(giant.ts, 352, 23)) ->param : Symbol(param, Decl(giant.ts, 353, 19)) +>tsF : Symbol(C.tsF, Decl(giant.ts, 353, 23)) +>param : Symbol(param, Decl(giant.ts, 354, 19)) static set tsF(param:any) ->tsF : Symbol(C.tsF, Decl(giant.ts, 353, 33)) ->param : Symbol(param, Decl(giant.ts, 354, 23)) +>tsF : Symbol(C.tsF, Decl(giant.ts, 354, 33)) +>param : Symbol(param, Decl(giant.ts, 355, 23)) static tgF() { } ->tgF : Symbol(C.tgF, Decl(giant.ts, 354, 33)) +>tgF : Symbol(C.tgF, Decl(giant.ts, 355, 33)) static get tgF() ->tgF : Symbol(C.tgF, Decl(giant.ts, 355, 24)) +>tgF : Symbol(C.tgF, Decl(giant.ts, 356, 24)) } interface I { ->I : Symbol(I, Decl(giant.ts, 357, 5)) +>I : Symbol(I, Decl(giant.ts, 358, 5)) //Call Signature (); (): number; (p); ->p : Symbol(p, Decl(giant.ts, 362, 9)) +>p : Symbol(p, Decl(giant.ts, 363, 9)) (p1: string); ->p1 : Symbol(p1, Decl(giant.ts, 363, 9)) +>p1 : Symbol(p1, Decl(giant.ts, 364, 9)) (p2?: string); ->p2 : Symbol(p2, Decl(giant.ts, 364, 9)) +>p2 : Symbol(p2, Decl(giant.ts, 365, 9)) (...p3: any[]); ->p3 : Symbol(p3, Decl(giant.ts, 365, 9)) +>p3 : Symbol(p3, Decl(giant.ts, 366, 9)) (p4: string, p5?: string); ->p4 : Symbol(p4, Decl(giant.ts, 366, 9)) ->p5 : Symbol(p5, Decl(giant.ts, 366, 20)) +>p4 : Symbol(p4, Decl(giant.ts, 367, 9)) +>p5 : Symbol(p5, Decl(giant.ts, 367, 20)) (p6: string, ...p7: any[]); ->p6 : Symbol(p6, Decl(giant.ts, 367, 9)) ->p7 : Symbol(p7, Decl(giant.ts, 367, 20)) +>p6 : Symbol(p6, Decl(giant.ts, 368, 9)) +>p7 : Symbol(p7, Decl(giant.ts, 368, 20)) //(p8?: string, ...p9: any[]); //(p10:string, p8?: string, ...p9: any[]); @@ -973,207 +980,208 @@ export module eM { new (); new (): number; new (p: string); ->p : Symbol(p, Decl(giant.ts, 374, 13)) +>p : Symbol(p, Decl(giant.ts, 375, 13)) new (p2?: string); ->p2 : Symbol(p2, Decl(giant.ts, 375, 13)) +>p2 : Symbol(p2, Decl(giant.ts, 376, 13)) new (...p3: any[]); ->p3 : Symbol(p3, Decl(giant.ts, 376, 13)) +>p3 : Symbol(p3, Decl(giant.ts, 377, 13)) new (p4: string, p5?: string); ->p4 : Symbol(p4, Decl(giant.ts, 377, 13)) ->p5 : Symbol(p5, Decl(giant.ts, 377, 24)) +>p4 : Symbol(p4, Decl(giant.ts, 378, 13)) +>p5 : Symbol(p5, Decl(giant.ts, 378, 24)) new (p6: string, ...p7: any[]); ->p6 : Symbol(p6, Decl(giant.ts, 378, 13)) ->p7 : Symbol(p7, Decl(giant.ts, 378, 24)) +>p6 : Symbol(p6, Decl(giant.ts, 379, 13)) +>p7 : Symbol(p7, Decl(giant.ts, 379, 24)) //Index Signature [p]; ->[p] : Symbol(I[p], Decl(giant.ts, 378, 39)) +>[p] : Symbol(I[p], Decl(giant.ts, 379, 39)) +>p : Symbol(p, Decl(giant.ts, 13, 5)) [p1: string]; ->p1 : Symbol(p1, Decl(giant.ts, 382, 9)) +>p1 : Symbol(p1, Decl(giant.ts, 383, 9)) [p2: string, p3: number]; ->p2 : Symbol(p2, Decl(giant.ts, 383, 9)) ->p3 : Symbol(p3, Decl(giant.ts, 383, 20)) +>p2 : Symbol(p2, Decl(giant.ts, 384, 9)) +>p3 : Symbol(p3, Decl(giant.ts, 384, 20)) //Property Signature p; ->p : Symbol(I.p, Decl(giant.ts, 383, 33)) +>p : Symbol(I.p, Decl(giant.ts, 384, 33)) p1?; ->p1 : Symbol(I.p1, Decl(giant.ts, 386, 10)) +>p1 : Symbol(I.p1, Decl(giant.ts, 387, 10)) p2?: string; ->p2 : Symbol(I.p2, Decl(giant.ts, 387, 12)) +>p2 : Symbol(I.p2, Decl(giant.ts, 388, 12)) //Function Signature p3(); ->p3 : Symbol(I.p3, Decl(giant.ts, 388, 20)) +>p3 : Symbol(I.p3, Decl(giant.ts, 389, 20)) p4? (); ->p4 : Symbol(I.p4, Decl(giant.ts, 391, 13)) +>p4 : Symbol(I.p4, Decl(giant.ts, 392, 13)) p5? (): void; ->p5 : Symbol(I.p5, Decl(giant.ts, 392, 15)) +>p5 : Symbol(I.p5, Decl(giant.ts, 393, 15)) p6(pa1): void; ->p6 : Symbol(I.p6, Decl(giant.ts, 393, 21)) ->pa1 : Symbol(pa1, Decl(giant.ts, 394, 11)) +>p6 : Symbol(I.p6, Decl(giant.ts, 394, 21)) +>pa1 : Symbol(pa1, Decl(giant.ts, 395, 11)) p7(pa1, pa2): void; ->p7 : Symbol(I.p7, Decl(giant.ts, 394, 22), Decl(giant.ts, 395, 27)) ->pa1 : Symbol(pa1, Decl(giant.ts, 395, 11)) ->pa2 : Symbol(pa2, Decl(giant.ts, 395, 15)) +>p7 : Symbol(I.p7, Decl(giant.ts, 395, 22), Decl(giant.ts, 396, 27)) +>pa1 : Symbol(pa1, Decl(giant.ts, 396, 11)) +>pa2 : Symbol(pa2, Decl(giant.ts, 396, 15)) p7? (pa1, pa2): void; ->p7 : Symbol(I.p7, Decl(giant.ts, 394, 22), Decl(giant.ts, 395, 27)) ->pa1 : Symbol(pa1, Decl(giant.ts, 396, 13)) ->pa2 : Symbol(pa2, Decl(giant.ts, 396, 17)) +>p7 : Symbol(I.p7, Decl(giant.ts, 395, 22), Decl(giant.ts, 396, 27)) +>pa1 : Symbol(pa1, Decl(giant.ts, 397, 13)) +>pa2 : Symbol(pa2, Decl(giant.ts, 397, 17)) } module M { ->M : Symbol(M, Decl(giant.ts, 397, 5)) +>M : Symbol(M, Decl(giant.ts, 398, 5)) var V; ->V : Symbol(V, Decl(giant.ts, 399, 11)) +>V : Symbol(V, Decl(giant.ts, 400, 11)) function F() { }; ->F : Symbol(F, Decl(giant.ts, 399, 14)) +>F : Symbol(F, Decl(giant.ts, 400, 14)) class C { }; ->C : Symbol(C, Decl(giant.ts, 400, 25)) +>C : Symbol(C, Decl(giant.ts, 401, 25)) interface I { }; ->I : Symbol(I, Decl(giant.ts, 401, 20)) +>I : Symbol(I, Decl(giant.ts, 402, 20)) module M { }; ->M : Symbol(M, Decl(giant.ts, 402, 24)) +>M : Symbol(M, Decl(giant.ts, 403, 24)) export var eV; ->eV : Symbol(eV, Decl(giant.ts, 404, 18)) +>eV : Symbol(eV, Decl(giant.ts, 405, 18)) export function eF() { }; ->eF : Symbol(eF, Decl(giant.ts, 404, 22)) +>eF : Symbol(eF, Decl(giant.ts, 405, 22)) export class eC { }; ->eC : Symbol(eC, Decl(giant.ts, 405, 33)) +>eC : Symbol(eC, Decl(giant.ts, 406, 33)) export interface eI { }; ->eI : Symbol(eI, Decl(giant.ts, 406, 28)) +>eI : Symbol(eI, Decl(giant.ts, 407, 28)) export module eM { }; ->eM : Symbol(eM, Decl(giant.ts, 407, 32)) +>eM : Symbol(eM, Decl(giant.ts, 408, 32)) export declare var eaV; ->eaV : Symbol(eaV, Decl(giant.ts, 409, 26)) +>eaV : Symbol(eaV, Decl(giant.ts, 410, 26)) export declare function eaF() { }; ->eaF : Symbol(eaF, Decl(giant.ts, 409, 31)) +>eaF : Symbol(eaF, Decl(giant.ts, 410, 31)) export declare class eaC { }; ->eaC : Symbol(eaC, Decl(giant.ts, 410, 42)) +>eaC : Symbol(eaC, Decl(giant.ts, 411, 42)) export declare module eaM { }; ->eaM : Symbol(eaM, Decl(giant.ts, 411, 37)) +>eaM : Symbol(eaM, Decl(giant.ts, 412, 37)) } export var eV; ->eV : Symbol(eV, Decl(giant.ts, 414, 14)) +>eV : Symbol(eV, Decl(giant.ts, 415, 14)) export function eF() { }; ->eF : Symbol(eF, Decl(giant.ts, 414, 18)) +>eF : Symbol(eF, Decl(giant.ts, 415, 18)) export class eC { ->eC : Symbol(eC, Decl(giant.ts, 415, 29)) +>eC : Symbol(eC, Decl(giant.ts, 416, 29)) constructor () { } public pV; ->pV : Symbol(eC.pV, Decl(giant.ts, 417, 26)) +>pV : Symbol(eC.pV, Decl(giant.ts, 418, 26)) private rV; ->rV : Symbol(eC.rV, Decl(giant.ts, 418, 18)) +>rV : Symbol(eC.rV, Decl(giant.ts, 419, 18)) public pF() { } ->pF : Symbol(eC.pF, Decl(giant.ts, 419, 19)) +>pF : Symbol(eC.pF, Decl(giant.ts, 420, 19)) private rF() { } ->rF : Symbol(eC.rF, Decl(giant.ts, 420, 23)) +>rF : Symbol(eC.rF, Decl(giant.ts, 421, 23)) public pgF() { } ->pgF : Symbol(eC.pgF, Decl(giant.ts, 421, 24)) +>pgF : Symbol(eC.pgF, Decl(giant.ts, 422, 24)) public get pgF() ->pgF : Symbol(eC.pgF, Decl(giant.ts, 422, 24)) +>pgF : Symbol(eC.pgF, Decl(giant.ts, 423, 24)) public psF(param:any) { } ->psF : Symbol(eC.psF, Decl(giant.ts, 423, 24)) ->param : Symbol(param, Decl(giant.ts, 424, 19)) +>psF : Symbol(eC.psF, Decl(giant.ts, 424, 24)) +>param : Symbol(param, Decl(giant.ts, 425, 19)) public set psF(param:any) ->psF : Symbol(eC.psF, Decl(giant.ts, 424, 33)) ->param : Symbol(param, Decl(giant.ts, 425, 23)) +>psF : Symbol(eC.psF, Decl(giant.ts, 425, 33)) +>param : Symbol(param, Decl(giant.ts, 426, 23)) private rgF() { } ->rgF : Symbol(eC.rgF, Decl(giant.ts, 425, 33)) +>rgF : Symbol(eC.rgF, Decl(giant.ts, 426, 33)) private get rgF() ->rgF : Symbol(eC.rgF, Decl(giant.ts, 426, 25)) +>rgF : Symbol(eC.rgF, Decl(giant.ts, 427, 25)) private rsF(param:any) { } ->rsF : Symbol(eC.rsF, Decl(giant.ts, 427, 25)) ->param : Symbol(param, Decl(giant.ts, 428, 20)) +>rsF : Symbol(eC.rsF, Decl(giant.ts, 428, 25)) +>param : Symbol(param, Decl(giant.ts, 429, 20)) private set rsF(param:any) ->rsF : Symbol(eC.rsF, Decl(giant.ts, 428, 34)) ->param : Symbol(param, Decl(giant.ts, 429, 24)) +>rsF : Symbol(eC.rsF, Decl(giant.ts, 429, 34)) +>param : Symbol(param, Decl(giant.ts, 430, 24)) static tV; ->tV : Symbol(eC.tV, Decl(giant.ts, 429, 34)) +>tV : Symbol(eC.tV, Decl(giant.ts, 430, 34)) static tF() { } ->tF : Symbol(eC.tF, Decl(giant.ts, 430, 18)) +>tF : Symbol(eC.tF, Decl(giant.ts, 431, 18)) static tsF(param:any) { } ->tsF : Symbol(eC.tsF, Decl(giant.ts, 431, 23)) ->param : Symbol(param, Decl(giant.ts, 432, 19)) +>tsF : Symbol(eC.tsF, Decl(giant.ts, 432, 23)) +>param : Symbol(param, Decl(giant.ts, 433, 19)) static set tsF(param:any) ->tsF : Symbol(eC.tsF, Decl(giant.ts, 432, 33)) ->param : Symbol(param, Decl(giant.ts, 433, 23)) +>tsF : Symbol(eC.tsF, Decl(giant.ts, 433, 33)) +>param : Symbol(param, Decl(giant.ts, 434, 23)) static tgF() { } ->tgF : Symbol(eC.tgF, Decl(giant.ts, 433, 33)) +>tgF : Symbol(eC.tgF, Decl(giant.ts, 434, 33)) static get tgF() ->tgF : Symbol(eC.tgF, Decl(giant.ts, 434, 24)) +>tgF : Symbol(eC.tgF, Decl(giant.ts, 435, 24)) } export interface eI { ->eI : Symbol(eI, Decl(giant.ts, 436, 5)) +>eI : Symbol(eI, Decl(giant.ts, 437, 5)) //Call Signature (); (): number; (p); ->p : Symbol(p, Decl(giant.ts, 441, 9)) +>p : Symbol(p, Decl(giant.ts, 442, 9)) (p1: string); ->p1 : Symbol(p1, Decl(giant.ts, 442, 9)) +>p1 : Symbol(p1, Decl(giant.ts, 443, 9)) (p2?: string); ->p2 : Symbol(p2, Decl(giant.ts, 443, 9)) +>p2 : Symbol(p2, Decl(giant.ts, 444, 9)) (...p3: any[]); ->p3 : Symbol(p3, Decl(giant.ts, 444, 9)) +>p3 : Symbol(p3, Decl(giant.ts, 445, 9)) (p4: string, p5?: string); ->p4 : Symbol(p4, Decl(giant.ts, 445, 9)) ->p5 : Symbol(p5, Decl(giant.ts, 445, 20)) +>p4 : Symbol(p4, Decl(giant.ts, 446, 9)) +>p5 : Symbol(p5, Decl(giant.ts, 446, 20)) (p6: string, ...p7: any[]); ->p6 : Symbol(p6, Decl(giant.ts, 446, 9)) ->p7 : Symbol(p7, Decl(giant.ts, 446, 20)) +>p6 : Symbol(p6, Decl(giant.ts, 447, 9)) +>p7 : Symbol(p7, Decl(giant.ts, 447, 20)) //(p8?: string, ...p9: any[]); //(p10:string, p8?: string, ...p9: any[]); @@ -1182,336 +1190,337 @@ export module eM { new (); new (): number; new (p: string); ->p : Symbol(p, Decl(giant.ts, 453, 13)) +>p : Symbol(p, Decl(giant.ts, 454, 13)) new (p2?: string); ->p2 : Symbol(p2, Decl(giant.ts, 454, 13)) +>p2 : Symbol(p2, Decl(giant.ts, 455, 13)) new (...p3: any[]); ->p3 : Symbol(p3, Decl(giant.ts, 455, 13)) +>p3 : Symbol(p3, Decl(giant.ts, 456, 13)) new (p4: string, p5?: string); ->p4 : Symbol(p4, Decl(giant.ts, 456, 13)) ->p5 : Symbol(p5, Decl(giant.ts, 456, 24)) +>p4 : Symbol(p4, Decl(giant.ts, 457, 13)) +>p5 : Symbol(p5, Decl(giant.ts, 457, 24)) new (p6: string, ...p7: any[]); ->p6 : Symbol(p6, Decl(giant.ts, 457, 13)) ->p7 : Symbol(p7, Decl(giant.ts, 457, 24)) +>p6 : Symbol(p6, Decl(giant.ts, 458, 13)) +>p7 : Symbol(p7, Decl(giant.ts, 458, 24)) //Index Signature [p]; ->[p] : Symbol(eI[p], Decl(giant.ts, 457, 39)) +>[p] : Symbol(eI[p], Decl(giant.ts, 458, 39)) +>p : Symbol(p, Decl(giant.ts, 13, 5)) [p1: string]; ->p1 : Symbol(p1, Decl(giant.ts, 461, 9)) +>p1 : Symbol(p1, Decl(giant.ts, 462, 9)) [p2: string, p3: number]; ->p2 : Symbol(p2, Decl(giant.ts, 462, 9)) ->p3 : Symbol(p3, Decl(giant.ts, 462, 20)) +>p2 : Symbol(p2, Decl(giant.ts, 463, 9)) +>p3 : Symbol(p3, Decl(giant.ts, 463, 20)) //Property Signature p; ->p : Symbol(eI.p, Decl(giant.ts, 462, 33)) +>p : Symbol(eI.p, Decl(giant.ts, 463, 33)) p1?; ->p1 : Symbol(eI.p1, Decl(giant.ts, 465, 10)) +>p1 : Symbol(eI.p1, Decl(giant.ts, 466, 10)) p2?: string; ->p2 : Symbol(eI.p2, Decl(giant.ts, 466, 12)) +>p2 : Symbol(eI.p2, Decl(giant.ts, 467, 12)) //Function Signature p3(); ->p3 : Symbol(eI.p3, Decl(giant.ts, 467, 20)) +>p3 : Symbol(eI.p3, Decl(giant.ts, 468, 20)) p4? (); ->p4 : Symbol(eI.p4, Decl(giant.ts, 470, 13)) +>p4 : Symbol(eI.p4, Decl(giant.ts, 471, 13)) p5? (): void; ->p5 : Symbol(eI.p5, Decl(giant.ts, 471, 15)) +>p5 : Symbol(eI.p5, Decl(giant.ts, 472, 15)) p6(pa1): void; ->p6 : Symbol(eI.p6, Decl(giant.ts, 472, 21)) ->pa1 : Symbol(pa1, Decl(giant.ts, 473, 11)) +>p6 : Symbol(eI.p6, Decl(giant.ts, 473, 21)) +>pa1 : Symbol(pa1, Decl(giant.ts, 474, 11)) p7(pa1, pa2): void; ->p7 : Symbol(eI.p7, Decl(giant.ts, 473, 22), Decl(giant.ts, 474, 27)) ->pa1 : Symbol(pa1, Decl(giant.ts, 474, 11)) ->pa2 : Symbol(pa2, Decl(giant.ts, 474, 15)) +>p7 : Symbol(eI.p7, Decl(giant.ts, 474, 22), Decl(giant.ts, 475, 27)) +>pa1 : Symbol(pa1, Decl(giant.ts, 475, 11)) +>pa2 : Symbol(pa2, Decl(giant.ts, 475, 15)) p7? (pa1, pa2): void; ->p7 : Symbol(eI.p7, Decl(giant.ts, 473, 22), Decl(giant.ts, 474, 27)) ->pa1 : Symbol(pa1, Decl(giant.ts, 475, 13)) ->pa2 : Symbol(pa2, Decl(giant.ts, 475, 17)) +>p7 : Symbol(eI.p7, Decl(giant.ts, 474, 22), Decl(giant.ts, 475, 27)) +>pa1 : Symbol(pa1, Decl(giant.ts, 476, 13)) +>pa2 : Symbol(pa2, Decl(giant.ts, 476, 17)) } export module eM { ->eM : Symbol(eM, Decl(giant.ts, 476, 5)) +>eM : Symbol(eM, Decl(giant.ts, 477, 5)) var V; ->V : Symbol(V, Decl(giant.ts, 478, 11)) +>V : Symbol(V, Decl(giant.ts, 479, 11)) function F() { }; ->F : Symbol(F, Decl(giant.ts, 478, 14)) +>F : Symbol(F, Decl(giant.ts, 479, 14)) class C { }; ->C : Symbol(C, Decl(giant.ts, 479, 25)) +>C : Symbol(C, Decl(giant.ts, 480, 25)) interface I { }; ->I : Symbol(I, Decl(giant.ts, 480, 20)) +>I : Symbol(I, Decl(giant.ts, 481, 20)) module M { }; ->M : Symbol(M, Decl(giant.ts, 481, 24)) +>M : Symbol(M, Decl(giant.ts, 482, 24)) export var eV; ->eV : Symbol(eV, Decl(giant.ts, 483, 18)) +>eV : Symbol(eV, Decl(giant.ts, 484, 18)) export function eF() { }; ->eF : Symbol(eF, Decl(giant.ts, 483, 22)) +>eF : Symbol(eF, Decl(giant.ts, 484, 22)) export class eC { }; ->eC : Symbol(eC, Decl(giant.ts, 484, 33)) +>eC : Symbol(eC, Decl(giant.ts, 485, 33)) export interface eI { }; ->eI : Symbol(eI, Decl(giant.ts, 485, 28)) +>eI : Symbol(eI, Decl(giant.ts, 486, 28)) export module eM { }; ->eM : Symbol(eM, Decl(giant.ts, 486, 32)) +>eM : Symbol(eM, Decl(giant.ts, 487, 32)) export declare var eaV; ->eaV : Symbol(eaV, Decl(giant.ts, 488, 26)) +>eaV : Symbol(eaV, Decl(giant.ts, 489, 26)) export declare function eaF() { }; ->eaF : Symbol(eaF, Decl(giant.ts, 488, 31)) +>eaF : Symbol(eaF, Decl(giant.ts, 489, 31)) export declare class eaC { }; ->eaC : Symbol(eaC, Decl(giant.ts, 489, 42)) +>eaC : Symbol(eaC, Decl(giant.ts, 490, 42)) export declare module eaM { }; ->eaM : Symbol(eaM, Decl(giant.ts, 490, 37)) +>eaM : Symbol(eaM, Decl(giant.ts, 491, 37)) } export declare var eaV; ->eaV : Symbol(eaV, Decl(giant.ts, 493, 22)) +>eaV : Symbol(eaV, Decl(giant.ts, 494, 22)) export declare function eaF() { }; ->eaF : Symbol(eaF, Decl(giant.ts, 493, 27)) +>eaF : Symbol(eaF, Decl(giant.ts, 494, 27)) export declare class eaC { ->eaC : Symbol(eaC, Decl(giant.ts, 494, 38)) +>eaC : Symbol(eaC, Decl(giant.ts, 495, 38)) constructor () { } public pV; ->pV : Symbol(eaC.pV, Decl(giant.ts, 496, 26)) +>pV : Symbol(eaC.pV, Decl(giant.ts, 497, 26)) private rV; ->rV : Symbol(eaC.rV, Decl(giant.ts, 497, 18)) +>rV : Symbol(eaC.rV, Decl(giant.ts, 498, 18)) public pF() { } ->pF : Symbol(eaC.pF, Decl(giant.ts, 498, 19)) +>pF : Symbol(eaC.pF, Decl(giant.ts, 499, 19)) private rF() { } ->rF : Symbol(eaC.rF, Decl(giant.ts, 499, 23)) +>rF : Symbol(eaC.rF, Decl(giant.ts, 500, 23)) public pgF() { } ->pgF : Symbol(eaC.pgF, Decl(giant.ts, 500, 24)) +>pgF : Symbol(eaC.pgF, Decl(giant.ts, 501, 24)) public get pgF() ->pgF : Symbol(eaC.pgF, Decl(giant.ts, 501, 24)) +>pgF : Symbol(eaC.pgF, Decl(giant.ts, 502, 24)) public psF(param:any) { } ->psF : Symbol(eaC.psF, Decl(giant.ts, 502, 24)) ->param : Symbol(param, Decl(giant.ts, 503, 19)) +>psF : Symbol(eaC.psF, Decl(giant.ts, 503, 24)) +>param : Symbol(param, Decl(giant.ts, 504, 19)) public set psF(param:any) ->psF : Symbol(eaC.psF, Decl(giant.ts, 503, 33)) ->param : Symbol(param, Decl(giant.ts, 504, 23)) +>psF : Symbol(eaC.psF, Decl(giant.ts, 504, 33)) +>param : Symbol(param, Decl(giant.ts, 505, 23)) private rgF() { } ->rgF : Symbol(eaC.rgF, Decl(giant.ts, 504, 33)) +>rgF : Symbol(eaC.rgF, Decl(giant.ts, 505, 33)) private get rgF() ->rgF : Symbol(eaC.rgF, Decl(giant.ts, 505, 25)) +>rgF : Symbol(eaC.rgF, Decl(giant.ts, 506, 25)) private rsF(param:any) { } ->rsF : Symbol(eaC.rsF, Decl(giant.ts, 506, 25)) ->param : Symbol(param, Decl(giant.ts, 507, 20)) +>rsF : Symbol(eaC.rsF, Decl(giant.ts, 507, 25)) +>param : Symbol(param, Decl(giant.ts, 508, 20)) private set rsF(param:any) ->rsF : Symbol(eaC.rsF, Decl(giant.ts, 507, 34)) ->param : Symbol(param, Decl(giant.ts, 508, 24)) +>rsF : Symbol(eaC.rsF, Decl(giant.ts, 508, 34)) +>param : Symbol(param, Decl(giant.ts, 509, 24)) static tV; ->tV : Symbol(eaC.tV, Decl(giant.ts, 508, 34)) +>tV : Symbol(eaC.tV, Decl(giant.ts, 509, 34)) static tF() { } ->tF : Symbol(eaC.tF, Decl(giant.ts, 509, 18)) +>tF : Symbol(eaC.tF, Decl(giant.ts, 510, 18)) static tsF(param:any) { } ->tsF : Symbol(eaC.tsF, Decl(giant.ts, 510, 23)) ->param : Symbol(param, Decl(giant.ts, 511, 19)) +>tsF : Symbol(eaC.tsF, Decl(giant.ts, 511, 23)) +>param : Symbol(param, Decl(giant.ts, 512, 19)) static set tsF(param:any) ->tsF : Symbol(eaC.tsF, Decl(giant.ts, 511, 33)) ->param : Symbol(param, Decl(giant.ts, 512, 23)) +>tsF : Symbol(eaC.tsF, Decl(giant.ts, 512, 33)) +>param : Symbol(param, Decl(giant.ts, 513, 23)) static tgF() { } ->tgF : Symbol(eaC.tgF, Decl(giant.ts, 512, 33)) +>tgF : Symbol(eaC.tgF, Decl(giant.ts, 513, 33)) static get tgF() ->tgF : Symbol(eaC.tgF, Decl(giant.ts, 513, 24)) +>tgF : Symbol(eaC.tgF, Decl(giant.ts, 514, 24)) } export declare module eaM { ->eaM : Symbol(eaM, Decl(giant.ts, 515, 5)) +>eaM : Symbol(eaM, Decl(giant.ts, 516, 5)) var V; ->V : Symbol(V, Decl(giant.ts, 517, 11)) +>V : Symbol(V, Decl(giant.ts, 518, 11)) function F() { }; ->F : Symbol(F, Decl(giant.ts, 517, 14)) +>F : Symbol(F, Decl(giant.ts, 518, 14)) class C { } ->C : Symbol(C, Decl(giant.ts, 518, 25)) +>C : Symbol(C, Decl(giant.ts, 519, 25)) interface I { } ->I : Symbol(I, Decl(giant.ts, 519, 19)) +>I : Symbol(I, Decl(giant.ts, 520, 19)) module M { } ->M : Symbol(M, Decl(giant.ts, 520, 23)) +>M : Symbol(M, Decl(giant.ts, 521, 23)) export var eV; ->eV : Symbol(eV, Decl(giant.ts, 522, 18)) +>eV : Symbol(eV, Decl(giant.ts, 523, 18)) export function eF() { }; ->eF : Symbol(eF, Decl(giant.ts, 522, 22)) +>eF : Symbol(eF, Decl(giant.ts, 523, 22)) export class eC { } ->eC : Symbol(eC, Decl(giant.ts, 523, 33)) +>eC : Symbol(eC, Decl(giant.ts, 524, 33)) export interface eI { } ->eI : Symbol(eI, Decl(giant.ts, 524, 27)) +>eI : Symbol(eI, Decl(giant.ts, 525, 27)) export module eM { } ->eM : Symbol(eM, Decl(giant.ts, 525, 31)) +>eM : Symbol(eM, Decl(giant.ts, 526, 31)) } } export declare var eaV; ->eaV : Symbol(eaV, Decl(giant.ts, 529, 18)) +>eaV : Symbol(eaV, Decl(giant.ts, 530, 18)) export declare function eaF() { }; ->eaF : Symbol(eaF, Decl(giant.ts, 529, 23)) +>eaF : Symbol(eaF, Decl(giant.ts, 530, 23)) export declare class eaC { ->eaC : Symbol(eaC, Decl(giant.ts, 530, 34)) +>eaC : Symbol(eaC, Decl(giant.ts, 531, 34)) constructor () { } public pV; ->pV : Symbol(eaC.pV, Decl(giant.ts, 532, 22)) +>pV : Symbol(eaC.pV, Decl(giant.ts, 533, 22)) private rV; ->rV : Symbol(eaC.rV, Decl(giant.ts, 533, 14)) +>rV : Symbol(eaC.rV, Decl(giant.ts, 534, 14)) public pF() { } ->pF : Symbol(eaC.pF, Decl(giant.ts, 534, 15)) +>pF : Symbol(eaC.pF, Decl(giant.ts, 535, 15)) private rF() { } ->rF : Symbol(eaC.rF, Decl(giant.ts, 535, 19)) +>rF : Symbol(eaC.rF, Decl(giant.ts, 536, 19)) public pgF() { } ->pgF : Symbol(eaC.pgF, Decl(giant.ts, 536, 20)) +>pgF : Symbol(eaC.pgF, Decl(giant.ts, 537, 20)) public get pgF() ->pgF : Symbol(eaC.pgF, Decl(giant.ts, 537, 20)) +>pgF : Symbol(eaC.pgF, Decl(giant.ts, 538, 20)) public psF(param:any) { } ->psF : Symbol(eaC.psF, Decl(giant.ts, 538, 20)) ->param : Symbol(param, Decl(giant.ts, 539, 15)) +>psF : Symbol(eaC.psF, Decl(giant.ts, 539, 20)) +>param : Symbol(param, Decl(giant.ts, 540, 15)) public set psF(param:any) ->psF : Symbol(eaC.psF, Decl(giant.ts, 539, 29)) ->param : Symbol(param, Decl(giant.ts, 540, 19)) +>psF : Symbol(eaC.psF, Decl(giant.ts, 540, 29)) +>param : Symbol(param, Decl(giant.ts, 541, 19)) private rgF() { } ->rgF : Symbol(eaC.rgF, Decl(giant.ts, 540, 29)) +>rgF : Symbol(eaC.rgF, Decl(giant.ts, 541, 29)) private get rgF() ->rgF : Symbol(eaC.rgF, Decl(giant.ts, 541, 21)) +>rgF : Symbol(eaC.rgF, Decl(giant.ts, 542, 21)) private rsF(param:any) { } ->rsF : Symbol(eaC.rsF, Decl(giant.ts, 542, 21)) ->param : Symbol(param, Decl(giant.ts, 543, 16)) +>rsF : Symbol(eaC.rsF, Decl(giant.ts, 543, 21)) +>param : Symbol(param, Decl(giant.ts, 544, 16)) private set rsF(param:any) ->rsF : Symbol(eaC.rsF, Decl(giant.ts, 543, 30)) ->param : Symbol(param, Decl(giant.ts, 544, 20)) +>rsF : Symbol(eaC.rsF, Decl(giant.ts, 544, 30)) +>param : Symbol(param, Decl(giant.ts, 545, 20)) static tV; ->tV : Symbol(eaC.tV, Decl(giant.ts, 544, 30)) +>tV : Symbol(eaC.tV, Decl(giant.ts, 545, 30)) static tF() { } ->tF : Symbol(eaC.tF, Decl(giant.ts, 545, 14)) +>tF : Symbol(eaC.tF, Decl(giant.ts, 546, 14)) static tsF(param:any) { } ->tsF : Symbol(eaC.tsF, Decl(giant.ts, 546, 19)) ->param : Symbol(param, Decl(giant.ts, 547, 15)) +>tsF : Symbol(eaC.tsF, Decl(giant.ts, 547, 19)) +>param : Symbol(param, Decl(giant.ts, 548, 15)) static set tsF(param:any) ->tsF : Symbol(eaC.tsF, Decl(giant.ts, 547, 29)) ->param : Symbol(param, Decl(giant.ts, 548, 19)) +>tsF : Symbol(eaC.tsF, Decl(giant.ts, 548, 29)) +>param : Symbol(param, Decl(giant.ts, 549, 19)) static tgF() { } ->tgF : Symbol(eaC.tgF, Decl(giant.ts, 548, 29)) +>tgF : Symbol(eaC.tgF, Decl(giant.ts, 549, 29)) static get tgF() ->tgF : Symbol(eaC.tgF, Decl(giant.ts, 549, 20)) +>tgF : Symbol(eaC.tgF, Decl(giant.ts, 550, 20)) } export declare module eaM { ->eaM : Symbol(eaM, Decl(giant.ts, 551, 1)) +>eaM : Symbol(eaM, Decl(giant.ts, 552, 1)) var V; ->V : Symbol(V, Decl(giant.ts, 553, 7)) +>V : Symbol(V, Decl(giant.ts, 554, 7)) function F() { }; ->F : Symbol(F, Decl(giant.ts, 553, 10)) +>F : Symbol(F, Decl(giant.ts, 554, 10)) class C { ->C : Symbol(C, Decl(giant.ts, 554, 21)) +>C : Symbol(C, Decl(giant.ts, 555, 21)) constructor () { } public pV; ->pV : Symbol(C.pV, Decl(giant.ts, 556, 26)) +>pV : Symbol(C.pV, Decl(giant.ts, 557, 26)) private rV; ->rV : Symbol(C.rV, Decl(giant.ts, 557, 18)) +>rV : Symbol(C.rV, Decl(giant.ts, 558, 18)) public pF() { } ->pF : Symbol(C.pF, Decl(giant.ts, 558, 19)) +>pF : Symbol(C.pF, Decl(giant.ts, 559, 19)) static tV; ->tV : Symbol(C.tV, Decl(giant.ts, 559, 23)) +>tV : Symbol(C.tV, Decl(giant.ts, 560, 23)) static tF() { } ->tF : Symbol(C.tF, Decl(giant.ts, 560, 18)) +>tF : Symbol(C.tF, Decl(giant.ts, 561, 18)) } interface I { ->I : Symbol(I, Decl(giant.ts, 562, 5)) +>I : Symbol(I, Decl(giant.ts, 563, 5)) //Call Signature (); (): number; (p: string); ->p : Symbol(p, Decl(giant.ts, 567, 9)) +>p : Symbol(p, Decl(giant.ts, 568, 9)) (p2?: string); ->p2 : Symbol(p2, Decl(giant.ts, 568, 9)) +>p2 : Symbol(p2, Decl(giant.ts, 569, 9)) (...p3: any[]); ->p3 : Symbol(p3, Decl(giant.ts, 569, 9)) +>p3 : Symbol(p3, Decl(giant.ts, 570, 9)) (p4: string, p5?: string); ->p4 : Symbol(p4, Decl(giant.ts, 570, 9)) ->p5 : Symbol(p5, Decl(giant.ts, 570, 20)) +>p4 : Symbol(p4, Decl(giant.ts, 571, 9)) +>p5 : Symbol(p5, Decl(giant.ts, 571, 20)) (p6: string, ...p7: any[]); ->p6 : Symbol(p6, Decl(giant.ts, 571, 9)) ->p7 : Symbol(p7, Decl(giant.ts, 571, 20)) +>p6 : Symbol(p6, Decl(giant.ts, 572, 9)) +>p7 : Symbol(p7, Decl(giant.ts, 572, 20)) //(p8?: string, ...p9: any[]); //(p10:string, p8?: string, ...p9: any[]); @@ -1520,162 +1529,163 @@ export declare module eaM { new (); new (): number; new (p: string); ->p : Symbol(p, Decl(giant.ts, 578, 13)) +>p : Symbol(p, Decl(giant.ts, 579, 13)) new (p2?: string); ->p2 : Symbol(p2, Decl(giant.ts, 579, 13)) +>p2 : Symbol(p2, Decl(giant.ts, 580, 13)) new (...p3: any[]); ->p3 : Symbol(p3, Decl(giant.ts, 580, 13)) +>p3 : Symbol(p3, Decl(giant.ts, 581, 13)) new (p4: string, p5?: string); ->p4 : Symbol(p4, Decl(giant.ts, 581, 13)) ->p5 : Symbol(p5, Decl(giant.ts, 581, 24)) +>p4 : Symbol(p4, Decl(giant.ts, 582, 13)) +>p5 : Symbol(p5, Decl(giant.ts, 582, 24)) new (p6: string, ...p7: any[]); ->p6 : Symbol(p6, Decl(giant.ts, 582, 13)) ->p7 : Symbol(p7, Decl(giant.ts, 582, 24)) +>p6 : Symbol(p6, Decl(giant.ts, 583, 13)) +>p7 : Symbol(p7, Decl(giant.ts, 583, 24)) //Index Signature [p]; ->[p] : Symbol(I[p], Decl(giant.ts, 582, 39)) +>[p] : Symbol(I[p], Decl(giant.ts, 583, 39)) +>p : Symbol(p, Decl(giant.ts, 13, 5)) [p1: string]; ->p1 : Symbol(p1, Decl(giant.ts, 586, 9)) +>p1 : Symbol(p1, Decl(giant.ts, 587, 9)) [p2: string, p3: number]; ->p2 : Symbol(p2, Decl(giant.ts, 587, 9)) ->p3 : Symbol(p3, Decl(giant.ts, 587, 20)) +>p2 : Symbol(p2, Decl(giant.ts, 588, 9)) +>p3 : Symbol(p3, Decl(giant.ts, 588, 20)) //Property Signature p; ->p : Symbol(I.p, Decl(giant.ts, 587, 33)) +>p : Symbol(I.p, Decl(giant.ts, 588, 33)) p1?; ->p1 : Symbol(I.p1, Decl(giant.ts, 590, 10)) +>p1 : Symbol(I.p1, Decl(giant.ts, 591, 10)) p2?: string; ->p2 : Symbol(I.p2, Decl(giant.ts, 591, 12)) +>p2 : Symbol(I.p2, Decl(giant.ts, 592, 12)) //Function Signature p3(); ->p3 : Symbol(I.p3, Decl(giant.ts, 592, 20)) +>p3 : Symbol(I.p3, Decl(giant.ts, 593, 20)) p4? (); ->p4 : Symbol(I.p4, Decl(giant.ts, 595, 13)) +>p4 : Symbol(I.p4, Decl(giant.ts, 596, 13)) p5? (): void; ->p5 : Symbol(I.p5, Decl(giant.ts, 596, 15)) +>p5 : Symbol(I.p5, Decl(giant.ts, 597, 15)) p6(pa1): void; ->p6 : Symbol(I.p6, Decl(giant.ts, 597, 21)) ->pa1 : Symbol(pa1, Decl(giant.ts, 598, 11)) +>p6 : Symbol(I.p6, Decl(giant.ts, 598, 21)) +>pa1 : Symbol(pa1, Decl(giant.ts, 599, 11)) p7(pa1, pa2): void; ->p7 : Symbol(I.p7, Decl(giant.ts, 598, 22), Decl(giant.ts, 599, 27)) ->pa1 : Symbol(pa1, Decl(giant.ts, 599, 11)) ->pa2 : Symbol(pa2, Decl(giant.ts, 599, 15)) +>p7 : Symbol(I.p7, Decl(giant.ts, 599, 22), Decl(giant.ts, 600, 27)) +>pa1 : Symbol(pa1, Decl(giant.ts, 600, 11)) +>pa2 : Symbol(pa2, Decl(giant.ts, 600, 15)) p7? (pa1, pa2): void; ->p7 : Symbol(I.p7, Decl(giant.ts, 598, 22), Decl(giant.ts, 599, 27)) ->pa1 : Symbol(pa1, Decl(giant.ts, 600, 13)) ->pa2 : Symbol(pa2, Decl(giant.ts, 600, 17)) +>p7 : Symbol(I.p7, Decl(giant.ts, 599, 22), Decl(giant.ts, 600, 27)) +>pa1 : Symbol(pa1, Decl(giant.ts, 601, 13)) +>pa2 : Symbol(pa2, Decl(giant.ts, 601, 17)) } module M { ->M : Symbol(M, Decl(giant.ts, 601, 5)) +>M : Symbol(M, Decl(giant.ts, 602, 5)) var V; ->V : Symbol(V, Decl(giant.ts, 603, 11)) +>V : Symbol(V, Decl(giant.ts, 604, 11)) function F() { }; ->F : Symbol(F, Decl(giant.ts, 603, 14)) +>F : Symbol(F, Decl(giant.ts, 604, 14)) class C { } ->C : Symbol(C, Decl(giant.ts, 604, 25)) +>C : Symbol(C, Decl(giant.ts, 605, 25)) interface I { } ->I : Symbol(I, Decl(giant.ts, 605, 19)) +>I : Symbol(I, Decl(giant.ts, 606, 19)) module M { } ->M : Symbol(M, Decl(giant.ts, 606, 23)) +>M : Symbol(M, Decl(giant.ts, 607, 23)) export var eV; ->eV : Symbol(eV, Decl(giant.ts, 608, 18)) +>eV : Symbol(eV, Decl(giant.ts, 609, 18)) export function eF() { }; ->eF : Symbol(eF, Decl(giant.ts, 608, 22)) +>eF : Symbol(eF, Decl(giant.ts, 609, 22)) export class eC { } ->eC : Symbol(eC, Decl(giant.ts, 609, 33)) +>eC : Symbol(eC, Decl(giant.ts, 610, 33)) export interface eI { } ->eI : Symbol(eI, Decl(giant.ts, 610, 27)) +>eI : Symbol(eI, Decl(giant.ts, 611, 27)) export module eM { } ->eM : Symbol(eM, Decl(giant.ts, 611, 31)) +>eM : Symbol(eM, Decl(giant.ts, 612, 31)) export declare var eaV ->eaV : Symbol(eaV, Decl(giant.ts, 613, 26)) +>eaV : Symbol(eaV, Decl(giant.ts, 614, 26)) export declare function eaF() { }; ->eaF : Symbol(eaF, Decl(giant.ts, 613, 30)) +>eaF : Symbol(eaF, Decl(giant.ts, 614, 30)) export declare class eaC { } ->eaC : Symbol(eaC, Decl(giant.ts, 614, 42)) +>eaC : Symbol(eaC, Decl(giant.ts, 615, 42)) export declare module eaM { } ->eaM : Symbol(eaM, Decl(giant.ts, 615, 36)) +>eaM : Symbol(eaM, Decl(giant.ts, 616, 36)) } export var eV; ->eV : Symbol(eV, Decl(giant.ts, 618, 14)) +>eV : Symbol(eV, Decl(giant.ts, 619, 14)) export function eF() { }; ->eF : Symbol(eF, Decl(giant.ts, 618, 18)) +>eF : Symbol(eF, Decl(giant.ts, 619, 18)) export class eC { ->eC : Symbol(eC, Decl(giant.ts, 619, 29)) +>eC : Symbol(eC, Decl(giant.ts, 620, 29)) constructor () { } public pV; ->pV : Symbol(eC.pV, Decl(giant.ts, 621, 26)) +>pV : Symbol(eC.pV, Decl(giant.ts, 622, 26)) private rV; ->rV : Symbol(eC.rV, Decl(giant.ts, 622, 18)) +>rV : Symbol(eC.rV, Decl(giant.ts, 623, 18)) public pF() { } ->pF : Symbol(eC.pF, Decl(giant.ts, 623, 19)) +>pF : Symbol(eC.pF, Decl(giant.ts, 624, 19)) static tV ->tV : Symbol(eC.tV, Decl(giant.ts, 624, 23)) +>tV : Symbol(eC.tV, Decl(giant.ts, 625, 23)) static tF() { } ->tF : Symbol(eC.tF, Decl(giant.ts, 625, 17)) +>tF : Symbol(eC.tF, Decl(giant.ts, 626, 17)) } export interface eI { ->eI : Symbol(eI, Decl(giant.ts, 627, 5)) +>eI : Symbol(eI, Decl(giant.ts, 628, 5)) //Call Signature (); (): number; (p); ->p : Symbol(p, Decl(giant.ts, 632, 9)) +>p : Symbol(p, Decl(giant.ts, 633, 9)) (p1: string); ->p1 : Symbol(p1, Decl(giant.ts, 633, 9)) +>p1 : Symbol(p1, Decl(giant.ts, 634, 9)) (p2?: string); ->p2 : Symbol(p2, Decl(giant.ts, 634, 9)) +>p2 : Symbol(p2, Decl(giant.ts, 635, 9)) (...p3: any[]); ->p3 : Symbol(p3, Decl(giant.ts, 635, 9)) +>p3 : Symbol(p3, Decl(giant.ts, 636, 9)) (p4: string, p5?: string); ->p4 : Symbol(p4, Decl(giant.ts, 636, 9)) ->p5 : Symbol(p5, Decl(giant.ts, 636, 20)) +>p4 : Symbol(p4, Decl(giant.ts, 637, 9)) +>p5 : Symbol(p5, Decl(giant.ts, 637, 20)) (p6: string, ...p7: any[]); ->p6 : Symbol(p6, Decl(giant.ts, 637, 9)) ->p7 : Symbol(p7, Decl(giant.ts, 637, 20)) +>p6 : Symbol(p6, Decl(giant.ts, 638, 9)) +>p7 : Symbol(p7, Decl(giant.ts, 638, 20)) //(p8?: string, ...p9: any[]); //(p10:string, p8?: string, ...p9: any[]); @@ -1684,95 +1694,96 @@ export declare module eaM { new (); new (): number; new (p: string); ->p : Symbol(p, Decl(giant.ts, 644, 13)) +>p : Symbol(p, Decl(giant.ts, 645, 13)) new (p2?: string); ->p2 : Symbol(p2, Decl(giant.ts, 645, 13)) +>p2 : Symbol(p2, Decl(giant.ts, 646, 13)) new (...p3: any[]); ->p3 : Symbol(p3, Decl(giant.ts, 646, 13)) +>p3 : Symbol(p3, Decl(giant.ts, 647, 13)) new (p4: string, p5?: string); ->p4 : Symbol(p4, Decl(giant.ts, 647, 13)) ->p5 : Symbol(p5, Decl(giant.ts, 647, 24)) +>p4 : Symbol(p4, Decl(giant.ts, 648, 13)) +>p5 : Symbol(p5, Decl(giant.ts, 648, 24)) new (p6: string, ...p7: any[]); ->p6 : Symbol(p6, Decl(giant.ts, 648, 13)) ->p7 : Symbol(p7, Decl(giant.ts, 648, 24)) +>p6 : Symbol(p6, Decl(giant.ts, 649, 13)) +>p7 : Symbol(p7, Decl(giant.ts, 649, 24)) //Index Signature [p]; ->[p] : Symbol(eI[p], Decl(giant.ts, 648, 39)) +>[p] : Symbol(eI[p], Decl(giant.ts, 649, 39)) +>p : Symbol(p, Decl(giant.ts, 13, 5)) [p1: string]; ->p1 : Symbol(p1, Decl(giant.ts, 652, 9)) +>p1 : Symbol(p1, Decl(giant.ts, 653, 9)) [p2: string, p3: number]; ->p2 : Symbol(p2, Decl(giant.ts, 653, 9)) ->p3 : Symbol(p3, Decl(giant.ts, 653, 20)) +>p2 : Symbol(p2, Decl(giant.ts, 654, 9)) +>p3 : Symbol(p3, Decl(giant.ts, 654, 20)) //Property Signature p; ->p : Symbol(eI.p, Decl(giant.ts, 653, 33)) +>p : Symbol(eI.p, Decl(giant.ts, 654, 33)) p1?; ->p1 : Symbol(eI.p1, Decl(giant.ts, 656, 10)) +>p1 : Symbol(eI.p1, Decl(giant.ts, 657, 10)) p2?: string; ->p2 : Symbol(eI.p2, Decl(giant.ts, 657, 12)) +>p2 : Symbol(eI.p2, Decl(giant.ts, 658, 12)) //Function Signature p3(); ->p3 : Symbol(eI.p3, Decl(giant.ts, 658, 20)) +>p3 : Symbol(eI.p3, Decl(giant.ts, 659, 20)) p4? (); ->p4 : Symbol(eI.p4, Decl(giant.ts, 661, 13)) +>p4 : Symbol(eI.p4, Decl(giant.ts, 662, 13)) p5? (): void; ->p5 : Symbol(eI.p5, Decl(giant.ts, 662, 15)) +>p5 : Symbol(eI.p5, Decl(giant.ts, 663, 15)) p6(pa1): void; ->p6 : Symbol(eI.p6, Decl(giant.ts, 663, 21)) ->pa1 : Symbol(pa1, Decl(giant.ts, 664, 11)) +>p6 : Symbol(eI.p6, Decl(giant.ts, 664, 21)) +>pa1 : Symbol(pa1, Decl(giant.ts, 665, 11)) p7(pa1, pa2): void; ->p7 : Symbol(eI.p7, Decl(giant.ts, 664, 22), Decl(giant.ts, 665, 27)) ->pa1 : Symbol(pa1, Decl(giant.ts, 665, 11)) ->pa2 : Symbol(pa2, Decl(giant.ts, 665, 15)) +>p7 : Symbol(eI.p7, Decl(giant.ts, 665, 22), Decl(giant.ts, 666, 27)) +>pa1 : Symbol(pa1, Decl(giant.ts, 666, 11)) +>pa2 : Symbol(pa2, Decl(giant.ts, 666, 15)) p7? (pa1, pa2): void; ->p7 : Symbol(eI.p7, Decl(giant.ts, 664, 22), Decl(giant.ts, 665, 27)) ->pa1 : Symbol(pa1, Decl(giant.ts, 666, 13)) ->pa2 : Symbol(pa2, Decl(giant.ts, 666, 17)) +>p7 : Symbol(eI.p7, Decl(giant.ts, 665, 22), Decl(giant.ts, 666, 27)) +>pa1 : Symbol(pa1, Decl(giant.ts, 667, 13)) +>pa2 : Symbol(pa2, Decl(giant.ts, 667, 17)) } export module eM { ->eM : Symbol(eM, Decl(giant.ts, 667, 5)) +>eM : Symbol(eM, Decl(giant.ts, 668, 5)) var V; ->V : Symbol(V, Decl(giant.ts, 669, 11)) +>V : Symbol(V, Decl(giant.ts, 670, 11)) function F() { }; ->F : Symbol(F, Decl(giant.ts, 669, 14)) +>F : Symbol(F, Decl(giant.ts, 670, 14)) class C { } ->C : Symbol(C, Decl(giant.ts, 670, 25)) +>C : Symbol(C, Decl(giant.ts, 671, 25)) module M { } ->M : Symbol(M, Decl(giant.ts, 671, 19)) +>M : Symbol(M, Decl(giant.ts, 672, 19)) export var eV; ->eV : Symbol(eV, Decl(giant.ts, 673, 18)) +>eV : Symbol(eV, Decl(giant.ts, 674, 18)) export function eF() { }; ->eF : Symbol(eF, Decl(giant.ts, 673, 22)) +>eF : Symbol(eF, Decl(giant.ts, 674, 22)) export class eC { } ->eC : Symbol(eC, Decl(giant.ts, 674, 33)) +>eC : Symbol(eC, Decl(giant.ts, 675, 33)) export interface eI { } ->eI : Symbol(eI, Decl(giant.ts, 675, 27)) +>eI : Symbol(eI, Decl(giant.ts, 676, 27)) export module eM { } ->eM : Symbol(eM, Decl(giant.ts, 676, 31)) +>eM : Symbol(eM, Decl(giant.ts, 677, 31)) } } diff --git a/tests/baselines/reference/giant.types b/tests/baselines/reference/giant.types index 30b2b8a873d7c..edfd082b45060 100644 --- a/tests/baselines/reference/giant.types +++ b/tests/baselines/reference/giant.types @@ -14,6 +14,12 @@ MAX DEPTH 3 LEVELS */ +const p = "propName"; +>p : "propName" +> : ^^^^^^^^^^ +>"propName" : "propName" +> : ^^^^^^^^^^ + var V; >V : any > : ^^^ @@ -177,8 +183,8 @@ interface I { [p]; >[p] : any > : ^^^ ->p : any -> : ^^^ +>p : "propName" +> : ^^^^^^^^^^ [p1: string]; >p1 : string @@ -224,7 +230,7 @@ interface I { p7(pa1, pa2): void; >p7 : { (pa1: any, pa2: any): void; (pa1: any, pa2: any): void; } -> : ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >pa1 : any > : ^^^ >pa2 : any @@ -232,7 +238,7 @@ interface I { p7? (pa1, pa2): void; >p7 : { (pa1: any, pa2: any): void; (pa1: any, pa2: any): void; } -> : ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^ +> : ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >pa1 : any > : ^^^ >pa2 : any @@ -405,8 +411,8 @@ module M { [p]; >[p] : any > : ^^^ ->p : any -> : ^^^ +>p : "propName" +> : ^^^^^^^^^^ [p1: string]; >p1 : string @@ -452,7 +458,7 @@ module M { p7(pa1, pa2): void; >p7 : { (pa1: any, pa2: any): void; (pa1: any, pa2: any): void; } -> : ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >pa1 : any > : ^^^ >pa2 : any @@ -460,7 +466,7 @@ module M { p7? (pa1, pa2): void; >p7 : { (pa1: any, pa2: any): void; (pa1: any, pa2: any): void; } -> : ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^ +> : ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >pa1 : any > : ^^^ >pa2 : any @@ -675,8 +681,8 @@ module M { [p]; >[p] : any > : ^^^ ->p : any -> : ^^^ +>p : "propName" +> : ^^^^^^^^^^ [p1: string]; >p1 : string @@ -722,7 +728,7 @@ module M { p7(pa1, pa2): void; >p7 : { (pa1: any, pa2: any): void; (pa1: any, pa2: any): void; } -> : ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >pa1 : any > : ^^^ >pa2 : any @@ -730,7 +736,7 @@ module M { p7? (pa1, pa2): void; >p7 : { (pa1: any, pa2: any): void; (pa1: any, pa2: any): void; } -> : ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^ +> : ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >pa1 : any > : ^^^ >pa2 : any @@ -1076,8 +1082,8 @@ export interface eI { [p]; >[p] : any > : ^^^ ->p : any -> : ^^^ +>p : "propName" +> : ^^^^^^^^^^ [p1: string]; >p1 : string @@ -1123,7 +1129,7 @@ export interface eI { p7(pa1, pa2): void; >p7 : { (pa1: any, pa2: any): void; (pa1: any, pa2: any): void; } -> : ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >pa1 : any > : ^^^ >pa2 : any @@ -1131,7 +1137,7 @@ export interface eI { p7? (pa1, pa2): void; >p7 : { (pa1: any, pa2: any): void; (pa1: any, pa2: any): void; } -> : ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^ +> : ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >pa1 : any > : ^^^ >pa2 : any @@ -1304,8 +1310,8 @@ export module eM { [p]; >[p] : any > : ^^^ ->p : any -> : ^^^ +>p : "propName" +> : ^^^^^^^^^^ [p1: string]; >p1 : string @@ -1351,7 +1357,7 @@ export module eM { p7(pa1, pa2): void; >p7 : { (pa1: any, pa2: any): void; (pa1: any, pa2: any): void; } -> : ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >pa1 : any > : ^^^ >pa2 : any @@ -1359,7 +1365,7 @@ export module eM { p7? (pa1, pa2): void; >p7 : { (pa1: any, pa2: any): void; (pa1: any, pa2: any): void; } -> : ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^ +> : ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >pa1 : any > : ^^^ >pa2 : any @@ -1574,8 +1580,8 @@ export module eM { [p]; >[p] : any > : ^^^ ->p : any -> : ^^^ +>p : "propName" +> : ^^^^^^^^^^ [p1: string]; >p1 : string @@ -1621,7 +1627,7 @@ export module eM { p7(pa1, pa2): void; >p7 : { (pa1: any, pa2: any): void; (pa1: any, pa2: any): void; } -> : ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >pa1 : any > : ^^^ >pa2 : any @@ -1629,7 +1635,7 @@ export module eM { p7? (pa1, pa2): void; >p7 : { (pa1: any, pa2: any): void; (pa1: any, pa2: any): void; } -> : ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^ +> : ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >pa1 : any > : ^^^ >pa2 : any @@ -2008,8 +2014,8 @@ export declare module eaM { [p]; >[p] : any > : ^^^ ->p : any -> : ^^^ +>p : "propName" +> : ^^^^^^^^^^ [p1: string]; >p1 : string @@ -2055,7 +2061,7 @@ export declare module eaM { p7(pa1, pa2): void; >p7 : { (pa1: any, pa2: any): void; (pa1: any, pa2: any): void; } -> : ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >pa1 : any > : ^^^ >pa2 : any @@ -2063,7 +2069,7 @@ export declare module eaM { p7? (pa1, pa2): void; >p7 : { (pa1: any, pa2: any): void; (pa1: any, pa2: any): void; } -> : ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^ +> : ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >pa1 : any > : ^^^ >pa2 : any @@ -2214,8 +2220,8 @@ export declare module eaM { [p]; >[p] : any > : ^^^ ->p : any -> : ^^^ +>p : "propName" +> : ^^^^^^^^^^ [p1: string]; >p1 : string @@ -2261,7 +2267,7 @@ export declare module eaM { p7(pa1, pa2): void; >p7 : { (pa1: any, pa2: any): void; (pa1: any, pa2: any): void; } -> : ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >pa1 : any > : ^^^ >pa2 : any @@ -2269,7 +2275,7 @@ export declare module eaM { p7? (pa1, pa2): void; >p7 : { (pa1: any, pa2: any): void; (pa1: any, pa2: any): void; } -> : ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^ +> : ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >pa1 : any > : ^^^ >pa2 : any diff --git a/tests/baselines/reference/globalFunctionAugmentationOverload.types b/tests/baselines/reference/globalFunctionAugmentationOverload.types index 68d6db99b46c1..79c727beae5f2 100644 --- a/tests/baselines/reference/globalFunctionAugmentationOverload.types +++ b/tests/baselines/reference/globalFunctionAugmentationOverload.types @@ -3,7 +3,7 @@ === mod.d.ts === declare function expect(spy: Function): void; >expect : { (spy: Function): void; (element: string): void; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >spy : Function > : ^^^^^^^^ @@ -28,7 +28,7 @@ declare global { function expect(element: string): void; >expect : { (spy: Function): void; (element: string): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >element : string > : ^^^^^^ } diff --git a/tests/baselines/reference/goToDefinitionJsxCall.baseline.jsonc b/tests/baselines/reference/goToDefinitionJsxCall.baseline.jsonc new file mode 100644 index 0000000000000..15ed34c959492 --- /dev/null +++ b/tests/baselines/reference/goToDefinitionJsxCall.baseline.jsonc @@ -0,0 +1,29 @@ +// === goToDefinition === +// === /tests/cases/fourslash/test.tsx === +// interface FC

    { +// (props: P, context?: any): string; +// } +// +// <|const [|Thing|]: FC = (props) =>

    ;|> +// const HelloWorld = () => ; + +// === /tests/cases/fourslash/./test.tsx === +// interface FC

    { +// (props: P, context?: any): string; +// } +// +// const Thing: FC = (props) =>

    ; +// const HelloWorld = () => ; + + // === Details === + [ + { + "kind": "const", + "name": "Thing", + "containerName": "", + "isLocal": false, + "isAmbient": false, + "unverified": false, + "failedAliasResolution": false + } + ] \ No newline at end of file diff --git a/tests/baselines/reference/heterogeneousArrayLiterals.types b/tests/baselines/reference/heterogeneousArrayLiterals.types index 27f913686121a..19a6ae7003bb7 100644 --- a/tests/baselines/reference/heterogeneousArrayLiterals.types +++ b/tests/baselines/reference/heterogeneousArrayLiterals.types @@ -513,7 +513,7 @@ function foo(t: T, u: U) { function foo2(t: T, u: U) { >foo2 : (t: T, u: U) => void -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >t : T > : ^ >u : U @@ -630,7 +630,7 @@ function foo2(t: T, u: U) { function foo3(t: T, u: U) { >foo3 : (t: T, u: U) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >t : T > : ^ >u : U @@ -747,7 +747,7 @@ function foo3(t: T, u: U) { function foo4(t: T, u: U) { >foo4 : (t: T, u: U) => void -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >t : T > : ^ >u : U diff --git a/tests/baselines/reference/higherOrderMappedIndexLookupInference.types b/tests/baselines/reference/higherOrderMappedIndexLookupInference.types index 0ffd57ed355fc..71d8873ff5474 100644 --- a/tests/baselines/reference/higherOrderMappedIndexLookupInference.types +++ b/tests/baselines/reference/higherOrderMappedIndexLookupInference.types @@ -13,44 +13,44 @@ function f1(a: () => keyof T, b: () => keyof U) { a = b; >a = b : () => keyof U -> : ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >a : () => keyof T -> : ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >b : () => keyof U -> : ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ b = a; >b = a : () => keyof T -> : ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >b : () => keyof U -> : ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >a : () => keyof T -> : ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ } function f2(a: () => T[K], b: () => U[L]) { >f2 : (a: () => T[K], b: () => U[L]) => void > : ^ ^^ ^^ ^^ ^^^^^^^^^ >a : () => T[K] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^^ >b : () => U[L] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^^ a = b; >a = b : () => U[L] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^^ >a : () => T[K] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^^ >b : () => U[L] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^^ b = a; >b = a : () => T[K] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^^ >b : () => U[L] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^^ >a : () => T[K] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^^ } function f3(a: () => { [K in keyof T]: T[K] }, b: () => { [K in keyof U]: U[K] }) { @@ -63,19 +63,19 @@ function f3(a: () => { [K in keyof T]: T[K] }, b: () => { [K in keyof U]: a = b; >a = b : () => { [K in keyof U]: U[K]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >a : () => { [K in keyof T]: T[K]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >b : () => { [K in keyof U]: U[K]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ b = a; >b = a : () => { [K in keyof T]: T[K]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >b : () => { [K in keyof U]: U[K]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >a : () => { [K in keyof T]: T[K]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ } // Repro from #18338 @@ -94,9 +94,9 @@ declare const g: () => { [K in keyof U]: U[K] }; const h: typeof g = f; >h : () => { [K in keyof U]: U[K]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >g : () => { [K in keyof U]: U[K]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >f : () => IdMapped -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ diff --git a/tests/baselines/reference/homomorphicMappedTypeIntersectionAssignability.types b/tests/baselines/reference/homomorphicMappedTypeIntersectionAssignability.types index 21dbe3da958e8..6f760d214037e 100644 --- a/tests/baselines/reference/homomorphicMappedTypeIntersectionAssignability.types +++ b/tests/baselines/reference/homomorphicMappedTypeIntersectionAssignability.types @@ -26,19 +26,19 @@ function f( > : ^^^^^^ c = a; // Works ->c = a : { weak?: string | undefined; } & Readonly & { name: "ok"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>c = a : { weak?: string; } & Readonly & { name: "ok"; } +> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >c : Readonly & { name: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->a : { weak?: string | undefined; } & Readonly & { name: "ok"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +>a : { weak?: string; } & Readonly & { name: "ok"; } +> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ b = a; // Should also work ->b = a : { weak?: string | undefined; } & Readonly & { name: "ok"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>b = a : { weak?: string; } & Readonly & { name: "ok"; } +> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >b : Readonly -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->a : { weak?: string | undefined; } & Readonly & { name: "ok"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ +>a : { weak?: string; } & Readonly & { name: "ok"; } +> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ } diff --git a/tests/baselines/reference/homomorphicMappedTypeNesting.types b/tests/baselines/reference/homomorphicMappedTypeNesting.types index cd6e632f48245..5d6bdf11d211d 100644 --- a/tests/baselines/reference/homomorphicMappedTypeNesting.types +++ b/tests/baselines/reference/homomorphicMappedTypeNesting.types @@ -25,8 +25,8 @@ type Identity = { [K in keyof T]: T[K] }; > : ^^^^^^^^^^^ declare function fnBad>>(...args: T): Test>>; ->fnBad : []>(...args: T) => Test>> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +>fnBad : >>(...args: T) => Test>> +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >args : T > : ^ diff --git a/tests/baselines/reference/homomorphicMappedTypeWithNonHomomorphicInstantiationSpreadable1.types b/tests/baselines/reference/homomorphicMappedTypeWithNonHomomorphicInstantiationSpreadable1.types index 2bbea9ad9f970..c1e144ec37ca2 100644 --- a/tests/baselines/reference/homomorphicMappedTypeWithNonHomomorphicInstantiationSpreadable1.types +++ b/tests/baselines/reference/homomorphicMappedTypeWithNonHomomorphicInstantiationSpreadable1.types @@ -15,7 +15,7 @@ type HandleOptions = { declare function func1< >func1 : >(fields: { [K in keyof T]: { label: string; options: [...HandleOptions]; }; }) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ T extends Record, >(fields: { @@ -40,7 +40,7 @@ const result = func1({ >func1({ prop: { label: "first", options: [ { value: 123, }, { value: "foo", }, ], }, other: { label: "second", options: [ { value: "bar", }, { value: true, }, ], },}) : { prop: [number, string]; other: [string, boolean]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >func1 : >(fields: { [K in keyof T]: { label: string; options: [...HandleOptions]; }; }) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ prop: { label: "first", options: [ { value: 123, }, { value: "foo", }, ], }, other: { label: "second", options: [ { value: "bar", }, { value: true, }, ], },} : { prop: { label: string; options: [{ value: number; }, { value: string; }]; }; other: { label: string; options: [{ value: string; }, { value: true; }]; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/i3.types b/tests/baselines/reference/i3.types index ab732dffaa278..9d8e1cf46abd2 100644 --- a/tests/baselines/reference/i3.types +++ b/tests/baselines/reference/i3.types @@ -17,17 +17,17 @@ var i: I3; i = x; >i = x : { one: number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >i : I3 > : ^^ >x : { one: number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ x = i; >x = i : I3 > : ^^ >x : { one: number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >i : I3 > : ^^ diff --git a/tests/baselines/reference/icomparable.types b/tests/baselines/reference/icomparable.types index 0694d7a5fee87..5dbb90f555704 100644 --- a/tests/baselines/reference/icomparable.types +++ b/tests/baselines/reference/icomparable.types @@ -11,7 +11,7 @@ declare function sort>(items: U[]): U[]; >sort : >(items: U[]) => U[] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >items : U[] > : ^^^ @@ -28,7 +28,7 @@ >sort(sc) : StringComparable[] > : ^^^^^^^^^^^^^^^^^^ >sort : >(items: U[]) => U[] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >sc : StringComparable[] > : ^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/identicalCallSignatures.types b/tests/baselines/reference/identicalCallSignatures.types index 2f8490bcd112c..9394e8ec8429e 100644 --- a/tests/baselines/reference/identicalCallSignatures.types +++ b/tests/baselines/reference/identicalCallSignatures.types @@ -30,8 +30,8 @@ interface I2 { } var a: { ->a : { (x: any): number; (x: any): number; (x: T): T; (x: T_1): T_1; } -> : ^^^ ^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ +>a : { (x: any): number; (x: any): number; (x: T): T; (x: T): T; } +> : ^^^ ^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ (x): number; >x : any diff --git a/tests/baselines/reference/identicalGenericConditionalsWithInferRelated.types b/tests/baselines/reference/identicalGenericConditionalsWithInferRelated.types index b6d5e45a81334..b6ad487dd1e41 100644 --- a/tests/baselines/reference/identicalGenericConditionalsWithInferRelated.types +++ b/tests/baselines/reference/identicalGenericConditionalsWithInferRelated.types @@ -62,7 +62,7 @@ export type MappedResult = interface X { decode>(ctor: C): MappedResult ? T : never> >decode : >(ctor: C) => MappedResult ? T : never> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >ctor : C > : ^ } @@ -73,7 +73,7 @@ class Y implements X { decode>(ctor: C): MappedResult ? T : never> { >decode : >(ctor: C) => MappedResult ? T : never> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >ctor : C > : ^ diff --git a/tests/baselines/reference/identicalTypesNoDifferByCheckOrder.types b/tests/baselines/reference/identicalTypesNoDifferByCheckOrder.types index a5063f5127923..4e74085412e49 100644 --- a/tests/baselines/reference/identicalTypesNoDifferByCheckOrder.types +++ b/tests/baselines/reference/identicalTypesNoDifferByCheckOrder.types @@ -86,7 +86,7 @@ needsComponentOfSomeProps3({ renderAs: comp3 }); >needsComponentOfSomeProps3({ renderAs: comp3 }) : void > : ^^^^ >needsComponentOfSomeProps3 : (...x: SomePropsClone[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >{ renderAs: comp3 } : { renderAs: FunctionComponent2; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >renderAs : FunctionComponent2 @@ -109,7 +109,7 @@ needsComponentOfSomeProps2({ renderAs: comp2 }); >needsComponentOfSomeProps2({ renderAs: comp2 }) : void > : ^^^^ >needsComponentOfSomeProps2 : (...x: SomeProps[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >{ renderAs: comp2 } : { renderAs: FunctionComponent1; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >renderAs : FunctionComponent1 diff --git a/tests/baselines/reference/identityAndDivergentNormalizedTypes.types b/tests/baselines/reference/identityAndDivergentNormalizedTypes.types index 1e3616b987df1..14f8196ba97e2 100644 --- a/tests/baselines/reference/identityAndDivergentNormalizedTypes.types +++ b/tests/baselines/reference/identityAndDivergentNormalizedTypes.types @@ -39,10 +39,10 @@ type PostBody = Extract["body"]; > : ^^^^ const post = ( ->post : (path: PATH, { body, ...options }: Omit & { body: PostBody; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ ->( path: PATH, {body, ...options}: Omit & {body: PostBody}) => {} : (path: PATH, { body, ...options }: Omit & { body: PostBody; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +>post : (path: PATH, { body, ...options }: Omit & { body: PostBody; }) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>( path: PATH, {body, ...options}: Omit & {body: PostBody}) => {} : (path: PATH, { body, ...options }: Omit & { body: PostBody; }) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ path: PATH, >path : PATH @@ -51,8 +51,8 @@ const post = ( {body, ...options}: Omit & {body: PostBody} >body : PostBody > : ^^^^^^^^^^^^^^ ->options : { cache?: RequestCache | undefined; credentials?: RequestCredentials | undefined; headers?: HeadersInit | undefined; integrity?: string | undefined; keepalive?: boolean | undefined; method?: string | undefined; mode?: RequestMode | undefined; priority?: RequestPriority | undefined; redirect?: RequestRedirect | undefined; referrer?: string | undefined; referrerPolicy?: ReferrerPolicy | undefined; signal?: AbortSignal | null | undefined; window?: null | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>options : { cache?: RequestCache; credentials?: RequestCredentials; headers?: HeadersInit; integrity?: string; keepalive?: boolean; method?: string; mode?: RequestMode; priority?: RequestPriority; redirect?: RequestRedirect; referrer?: string; referrerPolicy?: ReferrerPolicy; signal?: AbortSignal | null; window?: null; } +> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^ >body : PostBody > : ^^^^^^^^^^^^^^ @@ -60,10 +60,10 @@ const post = ( } const tmp = ( ->tmp : (path: PATH, body: PostBody) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ ->( path: PATH, body: PostBody) => { post(path, { body })} : (path: PATH, body: PostBody) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +>tmp : (path: PATH, body: PostBody) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>( path: PATH, body: PostBody) => { post(path, { body })} : (path: PATH, body: PostBody) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ path: PATH, >path : PATH @@ -77,8 +77,8 @@ const tmp = ( post(path, { body }) >post(path, { body }) : void > : ^^^^ ->post : (path: PATH_1, { body, ...options }: Omit & { body: PostBody; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +>post : (path: PATH_1, { body, ...options }: Omit & { body: PostBody; }) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >path : PATH > : ^^^^ >{ body } : { body: PostBody; } @@ -88,8 +88,8 @@ const tmp = ( } function fx1

    (x: { body: PostBody

    }, y: { body: PostBody

    }) { ->fx1 :

    (x: { body: PostBody

    ; }, y: { body: PostBody

    ; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +>fx1 :

    (x: { body: PostBody

    ; }, y: { body: PostBody

    ; }) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : { body: PostBody

    ; } > : ^^^^^^^^ ^^^ >body : PostBody

    @@ -101,10 +101,10 @@ function fx1

    (x: { body: PostBody

    }, y: { body: PostBody

    x = y : { body: PostBody

    ; } -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >x : { body: PostBody

    ; } -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >y : { body: PostBody

    ; } -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ } diff --git a/tests/baselines/reference/identityForSignaturesWithTypeParametersAndAny.types b/tests/baselines/reference/identityForSignaturesWithTypeParametersAndAny.types index b3f289c52f8a0..a5584881a2eb5 100644 --- a/tests/baselines/reference/identityForSignaturesWithTypeParametersAndAny.types +++ b/tests/baselines/reference/identityForSignaturesWithTypeParametersAndAny.types @@ -11,7 +11,7 @@ var f: (x: T, y: U) => T; var f: (x: any, y: any) => any; >f : (x: T, y: U) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : any > : ^^^ >y : any @@ -27,7 +27,7 @@ var g: (x: T, y: U) => T; var g: (x: any, y: any) => any; >g : (x: T, y: U) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : any > : ^^^ >y : any @@ -43,7 +43,7 @@ var h: (x: T, y: U) => T; var h: (x: any, y: any) => any; >h : (x: T, y: U) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : any > : ^^^ >y : any @@ -59,7 +59,7 @@ var i: (x: T, y: U) => T; var i: (x: any, y: string) => any; >i : (x: T, y: U) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : any > : ^^^ >y : string @@ -75,7 +75,7 @@ var j: (x: T, y: U) => T; var j: (x: any, y: any) => string; >j : (x: T, y: U) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : any > : ^^^ >y : any diff --git a/tests/baselines/reference/identityForSignaturesWithTypeParametersSwitched.types b/tests/baselines/reference/identityForSignaturesWithTypeParametersSwitched.types index f4f468fd50882..c820265626dd0 100644 --- a/tests/baselines/reference/identityForSignaturesWithTypeParametersSwitched.types +++ b/tests/baselines/reference/identityForSignaturesWithTypeParametersSwitched.types @@ -11,7 +11,7 @@ var f: (x: T, y: U) => T; var f: (x: U, y: T) => U; >f : (x: T, y: U) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : U > : ^ >y : T diff --git a/tests/baselines/reference/identityRelationNeverTypes.types b/tests/baselines/reference/identityRelationNeverTypes.types index b5ebea732d993..bec78ed2759b1 100644 --- a/tests/baselines/reference/identityRelationNeverTypes.types +++ b/tests/baselines/reference/identityRelationNeverTypes.types @@ -25,7 +25,7 @@ declare class State { matches(stateValue: TSV): this is State & { value: TSV }; >matches : (stateValue: TSV) => this is State & { value: TSV; } -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >stateValue : TSV > : ^^^ >value : TSV @@ -46,21 +46,21 @@ function f1(state: State<{ foo: number }>) { >state.matches('a') : boolean > : ^^^^^^^ >state.matches : (stateValue: TSV) => this is State<{ foo: number; }> & { value: TSV; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^^^^^^ ^^^ ^^^ >state : State<{ foo: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^ >matches : (stateValue: TSV) => this is State<{ foo: number; }> & { value: TSV; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^^^^^^ ^^^ ^^^ >'a' : "a" > : ^^^ >state.matches('a.b') : boolean > : ^^^^^^^ >state.matches : (stateValue: TSV) => this is State<{ foo: number; }> & { value: TSV; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^^^^^^ ^^^ ^^^ >state : State<{ foo: number; }> & { value: "a"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >matches : (stateValue: TSV) => this is State<{ foo: number; }> & { value: TSV; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^^^^^^ ^^^ ^^^ >'a.b' : "a.b" > : ^^^^^ diff --git a/tests/baselines/reference/ifDoWhileStatements.types b/tests/baselines/reference/ifDoWhileStatements.types index ffdf6f055c4cc..b97dda14f7308 100644 --- a/tests/baselines/reference/ifDoWhileStatements.types +++ b/tests/baselines/reference/ifDoWhileStatements.types @@ -89,11 +89,11 @@ module M { >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } module N { @@ -117,11 +117,11 @@ module N { >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } // literals @@ -550,31 +550,31 @@ if (fn()) { } >fn() : I > : ^ >fn : (x?: string) => I -> : ^ ^^^ ^^^^^^ +> : ^ ^^^ ^^^^^ while (fn()) { } >fn() : I > : ^ >fn : (x?: string) => I -> : ^ ^^^ ^^^^^^ +> : ^ ^^^ ^^^^^ do { }while(fn()) >fn() : I > : ^ >fn : (x?: string) => I -> : ^ ^^^ ^^^^^^ +> : ^ ^^^ ^^^^^ if (fn) { } >fn : (x?: string) => I -> : ^ ^^^ ^^^^^^ +> : ^ ^^^ ^^^^^ while (fn) { } >fn : (x?: string) => I -> : ^ ^^^ ^^^^^^ +> : ^ ^^^ ^^^^^ do { }while(fn) >fn : (x?: string) => I -> : ^ ^^^ ^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/ignoredJsxAttributes.types b/tests/baselines/reference/ignoredJsxAttributes.types index c8de9a5785815..158233eda406f 100644 --- a/tests/baselines/reference/ignoredJsxAttributes.types +++ b/tests/baselines/reference/ignoredJsxAttributes.types @@ -59,7 +59,7 @@ let x1 = ; > : JSX.Element > : ^^^^^^^^^^^ >Yadda : (props: Props) => JSX.Element -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo : string > : ^^^^^^ >data-yadda : number @@ -73,7 +73,7 @@ let x2 = ; // Error > : JSX.Element > : ^^^^^^^^^^^ >Yadda : (props: Props) => JSX.Element -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : string > : ^^^^^^ >data-yadda : number diff --git a/tests/baselines/reference/implementArrayInterface.types b/tests/baselines/reference/implementArrayInterface.types index fed89eb1f63c9..8d7e32cd16a2a 100644 --- a/tests/baselines/reference/implementArrayInterface.types +++ b/tests/baselines/reference/implementArrayInterface.types @@ -15,13 +15,13 @@ declare class MyArray implements Array { concat(...items: U[]): T[]; >concat : { (...items: U[]): T[]; (...items: T[]): T[]; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ >items : U[] > : ^^^ concat(...items: T[]): T[]; >concat : { (...items: U[]): T[]; (...items: T[]): T[]; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ >items : T[] > : ^^^ @@ -69,13 +69,13 @@ declare class MyArray implements Array { splice(start: number): T[]; >splice : { (start: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >start : number > : ^^^^^^ splice(start: number, deleteCount: number, ...items: T[]): T[]; >splice : { (start: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >start : number > : ^^^^^^ >deleteCount : number @@ -177,7 +177,7 @@ declare class MyArray implements Array { reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; >reduce : { (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; (callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >callbackfn : (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T > : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >previousValue : T @@ -193,7 +193,7 @@ declare class MyArray implements Array { reduce(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; >reduce : { (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; (callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >callbackfn : (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U > : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >previousValue : U @@ -209,7 +209,7 @@ declare class MyArray implements Array { reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; >reduceRight : { (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; (callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >callbackfn : (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T > : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >previousValue : T @@ -225,7 +225,7 @@ declare class MyArray implements Array { reduceRight(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; >reduceRight : { (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; (callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >callbackfn : (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U > : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >previousValue : U diff --git a/tests/baselines/reference/implicitAnyFromCircularInference.types b/tests/baselines/reference/implicitAnyFromCircularInference.types index 65a5e6f6bc200..01cee0ae77c5f 100644 --- a/tests/baselines/reference/implicitAnyFromCircularInference.types +++ b/tests/baselines/reference/implicitAnyFromCircularInference.types @@ -120,7 +120,7 @@ class C { >foo(this) : string > : ^^^^^^ >foo : (x: A) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ } diff --git a/tests/baselines/reference/implicitAnyFunctionInvocationWithAnyArguements.types b/tests/baselines/reference/implicitAnyFunctionInvocationWithAnyArguements.types index 7b01c82798d4b..b9ef09d20d7a9 100644 --- a/tests/baselines/reference/implicitAnyFunctionInvocationWithAnyArguements.types +++ b/tests/baselines/reference/implicitAnyFunctionInvocationWithAnyArguements.types @@ -101,7 +101,7 @@ testFuncLiteral(funcL); >testFuncLiteral : (funcLit: (y2: any) => number) => void > : ^ ^^ ^^^ ^^^^^^^^^ >funcL : (y2: any) => number -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ var k = temp1(null); >k : void diff --git a/tests/baselines/reference/implicitAnyGenerics.types b/tests/baselines/reference/implicitAnyGenerics.types index b33477a8d1715..07cf56c42e57d 100644 --- a/tests/baselines/reference/implicitAnyGenerics.types +++ b/tests/baselines/reference/implicitAnyGenerics.types @@ -106,12 +106,12 @@ foo() >foo() : unknown > : ^^^^^^^ >foo : () => T -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ foo(); >foo() : any >foo : () => T -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ diff --git a/tests/baselines/reference/implicitAnyWidenToAny.types b/tests/baselines/reference/implicitAnyWidenToAny.types index 60f1a788bfc49..fd148986b0e40 100644 --- a/tests/baselines/reference/implicitAnyWidenToAny.types +++ b/tests/baselines/reference/implicitAnyWidenToAny.types @@ -129,7 +129,7 @@ var obj0 = new objLit(1); >new objLit(1) : any > : ^^^ >objLit : new (n: number) => any -> : ^^^^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ @@ -139,5 +139,5 @@ var obj1 = anyReturnFunc(); >anyReturnFunc() : any > : ^^^ >anyReturnFunc : () => any -> : ^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/implicitConstParameters.types b/tests/baselines/reference/implicitConstParameters.types index 87fd39e11054b..778394a6e2ed2 100644 --- a/tests/baselines/reference/implicitConstParameters.types +++ b/tests/baselines/reference/implicitConstParameters.types @@ -11,7 +11,7 @@ function doSomething(cb: () => void) { >cb() : void > : ^^^^ >cb : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } function fn(x: number | string) { @@ -40,11 +40,11 @@ function fn(x: number | string) { >x.toFixed() : string > : ^^^^^^ >x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } } diff --git a/tests/baselines/reference/implicitIndexSignatures.types b/tests/baselines/reference/implicitIndexSignatures.types index 28d4450b24dd8..e967e4fc9d366 100644 --- a/tests/baselines/reference/implicitIndexSignatures.types +++ b/tests/baselines/reference/implicitIndexSignatures.types @@ -85,11 +85,11 @@ map = names1; map = names2; >map = names2 : { a: string; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >map : StringMap > : ^^^^^^^^^ >names2 : { a: string; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ declare function getStringIndexValue(map: { [x: string]: T }): T; >getStringIndexValue : (map: { [x: string]: T; }) => T @@ -139,7 +139,7 @@ function f1() { >getStringIndexValue(o1) : number > : ^^^^^^ >getStringIndexValue : (map: { [x: string]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >o1 : { a: number; b: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -149,9 +149,9 @@ function f1() { >getStringIndexValue(o2) : number > : ^^^^^^ >getStringIndexValue : (map: { [x: string]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >o2 : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ } function f2() { @@ -186,7 +186,7 @@ function f2() { >getStringIndexValue(o1) : string > : ^^^^^^ >getStringIndexValue : (map: { [x: string]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >o1 : { a: string; b: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -196,9 +196,9 @@ function f2() { >getStringIndexValue(o2) : string > : ^^^^^^ >getStringIndexValue : (map: { [x: string]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >o2 : { a: string; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ } function f3() { @@ -233,7 +233,7 @@ function f3() { >getStringIndexValue(o1) : string | number > : ^^^^^^^^^^^^^^^ >getStringIndexValue : (map: { [x: string]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >o1 : { a: number; b: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -243,9 +243,9 @@ function f3() { >getStringIndexValue(o2) : string | number > : ^^^^^^^^^^^^^^^ >getStringIndexValue : (map: { [x: string]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >o2 : { a: number; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ } function f4() { @@ -286,7 +286,7 @@ function f4() { >getStringIndexValue(o1) : string | number > : ^^^^^^^^^^^^^^^ >getStringIndexValue : (map: { [x: string]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >o1 : { 0: string; 1: string; count: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -296,9 +296,9 @@ function f4() { >getStringIndexValue(o2) : string | number > : ^^^^^^^^^^^^^^^ >getStringIndexValue : (map: { [x: string]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >o2 : { 0: string; 1: string; count: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^ ^^^ const v3 = getNumberIndexValue(o1); >v3 : string @@ -306,7 +306,7 @@ function f4() { >getNumberIndexValue(o1) : string > : ^^^^^^ >getNumberIndexValue : (map: { [x: number]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >o1 : { 0: string; 1: string; count: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -316,9 +316,9 @@ function f4() { >getNumberIndexValue(o2) : string > : ^^^^^^ >getNumberIndexValue : (map: { [x: number]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >o2 : { 0: string; 1: string; count: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^ ^^^ } function f5() { @@ -363,7 +363,7 @@ function f5() { >getStringIndexValue(E1) : string | E1 > : ^^^^^^^^^^^ >getStringIndexValue : (map: { [x: string]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >E1 : typeof E1 > : ^^^^^^^^^ @@ -373,7 +373,7 @@ function f5() { >getStringIndexValue(E2) : E2 > : ^^ >getStringIndexValue : (map: { [x: string]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >E2 : typeof E2 > : ^^^^^^^^^ @@ -383,7 +383,7 @@ function f5() { >getStringIndexValue(E3) : string | E3.A > : ^^^^^^^^^^^^^ >getStringIndexValue : (map: { [x: string]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >E3 : typeof E3 > : ^^^^^^^^^ @@ -393,7 +393,7 @@ function f5() { >getNumberIndexValue(E1) : string > : ^^^^^^ >getNumberIndexValue : (map: { [x: number]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >E1 : typeof E1 > : ^^^^^^^^^ @@ -403,7 +403,7 @@ function f5() { >getNumberIndexValue(E2) : unknown > : ^^^^^^^ >getNumberIndexValue : (map: { [x: number]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >E2 : typeof E2 > : ^^^^^^^^^ @@ -413,7 +413,7 @@ function f5() { >getNumberIndexValue(E3) : string > : ^^^^^^ >getNumberIndexValue : (map: { [x: number]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >E3 : typeof E3 > : ^^^^^^^^^ } diff --git a/tests/baselines/reference/impliedNodeFormatInterop1.types b/tests/baselines/reference/impliedNodeFormatInterop1.types index 0ef0fe7f90421..edf0ac628dde0 100644 --- a/tests/baselines/reference/impliedNodeFormatInterop1.types +++ b/tests/baselines/reference/impliedNodeFormatInterop1.types @@ -39,11 +39,11 @@ hljs.highlight("code"); >hljs.highlight("code") : string > : ^^^^^^ >hljs.highlight : (code: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >hljs : import("highlight.js").HighlightAPI > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >highlight : (code: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"code" : "code" > : ^^^^^^ diff --git a/tests/baselines/reference/importAliasFromNamespace.types b/tests/baselines/reference/importAliasFromNamespace.types index 03f4d93c0242e..e7997446fa2ed 100644 --- a/tests/baselines/reference/importAliasFromNamespace.types +++ b/tests/baselines/reference/importAliasFromNamespace.types @@ -31,11 +31,11 @@ namespace SomeOther.Thing { >Internal.getThing() : void > : ^^^^ >Internal.getThing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >Internal : typeof Internal > : ^^^^^^^^^^^^^^^ >getThing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ Internal.WhichThing.A ? "foo" : "bar"; >Internal.WhichThing.A ? "foo" : "bar" : "foo" | "bar" diff --git a/tests/baselines/reference/importAliasModuleExports.types b/tests/baselines/reference/importAliasModuleExports.types index de546b8411347..97087497eaacc 100644 --- a/tests/baselines/reference/importAliasModuleExports.types +++ b/tests/baselines/reference/importAliasModuleExports.types @@ -74,11 +74,11 @@ Object.defineProperty(A.prototype, "def", { value: 0 }); >Object.defineProperty(A.prototype, "def", { value: 0 }) : A > : ^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >A.prototype : A > : ^ >A : typeof A diff --git a/tests/baselines/reference/importAssertion1(module=commonjs).types b/tests/baselines/reference/importAssertion1(module=commonjs).types index be6af0ffc3360..8c64e06b78f3e 100644 --- a/tests/baselines/reference/importAssertion1(module=commonjs).types +++ b/tests/baselines/reference/importAssertion1(module=commonjs).types @@ -180,7 +180,7 @@ const e = import('./0', foo()) >foo() : any > : ^^^ >foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ const f = import() >f : Promise diff --git a/tests/baselines/reference/importAssertion1(module=es2015).types b/tests/baselines/reference/importAssertion1(module=es2015).types index be6af0ffc3360..8c64e06b78f3e 100644 --- a/tests/baselines/reference/importAssertion1(module=es2015).types +++ b/tests/baselines/reference/importAssertion1(module=es2015).types @@ -180,7 +180,7 @@ const e = import('./0', foo()) >foo() : any > : ^^^ >foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ const f = import() >f : Promise diff --git a/tests/baselines/reference/importAssertion1(module=esnext).types b/tests/baselines/reference/importAssertion1(module=esnext).types index be6af0ffc3360..8c64e06b78f3e 100644 --- a/tests/baselines/reference/importAssertion1(module=esnext).types +++ b/tests/baselines/reference/importAssertion1(module=esnext).types @@ -180,7 +180,7 @@ const e = import('./0', foo()) >foo() : any > : ^^^ >foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ const f = import() >f : Promise diff --git a/tests/baselines/reference/importAssertionNonstring.types b/tests/baselines/reference/importAssertionNonstring.types index 5522ed95cc248..23f42c74e574a 100644 --- a/tests/baselines/reference/importAssertionNonstring.types +++ b/tests/baselines/reference/importAssertionNonstring.types @@ -53,9 +53,9 @@ import * as thing6 from "./mod.mjs" assert {type: "json", field: 0..toString()} >0..toString() : string > : ^^^^^^ >0..toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >0. : 0 > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/importAttributes1(module=commonjs).types b/tests/baselines/reference/importAttributes1(module=commonjs).types index 4d1a86d315948..0f7c22f0c7e7e 100644 --- a/tests/baselines/reference/importAttributes1(module=commonjs).types +++ b/tests/baselines/reference/importAttributes1(module=commonjs).types @@ -180,7 +180,7 @@ const e = import('./0', foo()) >foo() : any > : ^^^ >foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ const f = import() >f : Promise diff --git a/tests/baselines/reference/importAttributes1(module=es2015).types b/tests/baselines/reference/importAttributes1(module=es2015).types index 4d1a86d315948..0f7c22f0c7e7e 100644 --- a/tests/baselines/reference/importAttributes1(module=es2015).types +++ b/tests/baselines/reference/importAttributes1(module=es2015).types @@ -180,7 +180,7 @@ const e = import('./0', foo()) >foo() : any > : ^^^ >foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ const f = import() >f : Promise diff --git a/tests/baselines/reference/importAttributes1(module=esnext).types b/tests/baselines/reference/importAttributes1(module=esnext).types index 4d1a86d315948..0f7c22f0c7e7e 100644 --- a/tests/baselines/reference/importAttributes1(module=esnext).types +++ b/tests/baselines/reference/importAttributes1(module=esnext).types @@ -180,7 +180,7 @@ const e = import('./0', foo()) >foo() : any > : ^^^ >foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ const f = import() >f : Promise diff --git a/tests/baselines/reference/importAttributes6.types b/tests/baselines/reference/importAttributes6.types index 0c5a2b442e7f7..bb218f496175f 100644 --- a/tests/baselines/reference/importAttributes6.types +++ b/tests/baselines/reference/importAttributes6.types @@ -53,9 +53,9 @@ import * as thing6 from "./mod.mjs" with { type: "json", field: 0..toString() }; >0..toString() : string > : ^^^^^^ >0..toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >0. : 0 > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/importCallExpression1ES2020.types b/tests/baselines/reference/importCallExpression1ES2020.types index 257de1156da76..7e7f771fa9eba 100644 --- a/tests/baselines/reference/importCallExpression1ES2020.types +++ b/tests/baselines/reference/importCallExpression1ES2020.types @@ -26,11 +26,11 @@ p1.then(zero => { >p1.then(zero => { return zero.foo();}) : Promise > : ^^^^^^^^^^^^^^^ >p1.then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p1 : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >zero => { return zero.foo();} : (zero: typeof import("0")) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >zero : typeof import("0") diff --git a/tests/baselines/reference/importCallExpression2ES2020.types b/tests/baselines/reference/importCallExpression2ES2020.types index 3a9b0d1396ea1..75ef1139e1af5 100644 --- a/tests/baselines/reference/importCallExpression2ES2020.types +++ b/tests/baselines/reference/importCallExpression2ES2020.types @@ -23,11 +23,11 @@ function foo(x: Promise) { >x.then(value => { let b = new value.B(); b.print(); }) : Promise > : ^^^^^^^^^^^^^ >x.then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >x : Promise > : ^^^^^^^^^^^^ >then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >value => { let b = new value.B(); b.print(); } : (value: any) => void > : ^ ^^^^^^^^^^^^^^ >value : any diff --git a/tests/baselines/reference/importCallExpression4ES2020.types b/tests/baselines/reference/importCallExpression4ES2020.types index 3bd37a7b8f818..1625b91206eb3 100644 --- a/tests/baselines/reference/importCallExpression4ES2020.types +++ b/tests/baselines/reference/importCallExpression4ES2020.types @@ -57,7 +57,7 @@ class C { >this.myModule.then(Zero => { console.log(Zero.foo()); }, async err => { console.log(err); let one = await import("./1"); console.log(one.backup()); }) : Promise > : ^^^^^^^^^^^^^ >this.myModule.then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >this.myModule : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this : this @@ -65,7 +65,7 @@ class C { >myModule : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >Zero => { console.log(Zero.foo()); } : (Zero: typeof import("0")) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Zero : typeof import("0") diff --git a/tests/baselines/reference/importCallExpression5ES2020.types b/tests/baselines/reference/importCallExpression5ES2020.types index 3ce91050ea578..fc834692b56ed 100644 --- a/tests/baselines/reference/importCallExpression5ES2020.types +++ b/tests/baselines/reference/importCallExpression5ES2020.types @@ -38,7 +38,7 @@ const specify = bar() ? "./0" : undefined; >bar() : boolean > : ^^^^^^^ >bar : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >"./0" : "./0" > : ^^^^^ >undefined : undefined @@ -70,7 +70,7 @@ let myModule2 = import(bar() ? "./1" : null); >bar() : boolean > : ^^^^^^^ >bar : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >"./1" : "./1" > : ^^^^^ diff --git a/tests/baselines/reference/importCallExpression6ES2020.types b/tests/baselines/reference/importCallExpression6ES2020.types index 18d64b7eb2ea4..31095f9d23e49 100644 --- a/tests/baselines/reference/importCallExpression6ES2020.types +++ b/tests/baselines/reference/importCallExpression6ES2020.types @@ -38,7 +38,7 @@ const specify = bar() ? "./0" : undefined; >bar() : boolean > : ^^^^^^^ >bar : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >"./0" : "./0" > : ^^^^^ >undefined : undefined @@ -70,7 +70,7 @@ let myModule2 = import(bar() ? "./1" : null); >bar() : boolean > : ^^^^^^^ >bar : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >"./1" : "./1" > : ^^^^^ diff --git a/tests/baselines/reference/importCallExpressionDeclarationEmit1.types b/tests/baselines/reference/importCallExpressionDeclarationEmit1.types index 7bf962bfdf2ab..b86fd3bea8cb1 100644 --- a/tests/baselines/reference/importCallExpressionDeclarationEmit1.types +++ b/tests/baselines/reference/importCallExpressionDeclarationEmit1.types @@ -23,7 +23,7 @@ import(getSpecifier()); >getSpecifier() : string > : ^^^^^^ >getSpecifier : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var p0 = import(`${directory}\\${moduleFile}`); >p0 : Promise @@ -45,7 +45,7 @@ var p1 = import(getSpecifier()); >getSpecifier() : string > : ^^^^^^ >getSpecifier : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ const p2 = import(whatToLoad ? getSpecifier() : "defaulPath") >p2 : Promise @@ -59,7 +59,7 @@ const p2 = import(whatToLoad ? getSpecifier() : "defaulPath") >getSpecifier() : string > : ^^^^^^ >getSpecifier : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >"defaulPath" : "defaulPath" > : ^^^^^^^^^^^^ diff --git a/tests/baselines/reference/importCallExpressionDeclarationEmit3.types b/tests/baselines/reference/importCallExpressionDeclarationEmit3.types index 0e0788c3069a8..22b32bd860271 100644 --- a/tests/baselines/reference/importCallExpressionDeclarationEmit3.types +++ b/tests/baselines/reference/importCallExpressionDeclarationEmit3.types @@ -32,7 +32,7 @@ export var p0: Promise = import(getPath()); >getPath() : string > : ^^^^^^ >getPath : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ export var p1: Promise = import("./0"); >p1 : Promise diff --git a/tests/baselines/reference/importCallExpressionES5AMD.types b/tests/baselines/reference/importCallExpressionES5AMD.types index caa82337bc39c..8e24cd582f7cb 100644 --- a/tests/baselines/reference/importCallExpressionES5AMD.types +++ b/tests/baselines/reference/importCallExpressionES5AMD.types @@ -26,11 +26,11 @@ p1.then(zero => { >p1.then(zero => { return zero.foo();}) : Promise > : ^^^^^^^^^^^^^^^ >p1.then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p1 : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >zero => { return zero.foo();} : (zero: typeof import("0")) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >zero : typeof import("0") diff --git a/tests/baselines/reference/importCallExpressionES5CJS.types b/tests/baselines/reference/importCallExpressionES5CJS.types index 7a9f8b9102da1..501c43763a188 100644 --- a/tests/baselines/reference/importCallExpressionES5CJS.types +++ b/tests/baselines/reference/importCallExpressionES5CJS.types @@ -26,11 +26,11 @@ p1.then(zero => { >p1.then(zero => { return zero.foo();}) : Promise > : ^^^^^^^^^^^^^^^ >p1.then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p1 : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >zero => { return zero.foo();} : (zero: typeof import("0")) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >zero : typeof import("0") diff --git a/tests/baselines/reference/importCallExpressionES5System.types b/tests/baselines/reference/importCallExpressionES5System.types index 4931d2cd42dca..8c63aeff3a55f 100644 --- a/tests/baselines/reference/importCallExpressionES5System.types +++ b/tests/baselines/reference/importCallExpressionES5System.types @@ -26,11 +26,11 @@ p1.then(zero => { >p1.then(zero => { return zero.foo();}) : Promise > : ^^^^^^^^^^^^^^^ >p1.then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p1 : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >zero => { return zero.foo();} : (zero: typeof import("0")) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >zero : typeof import("0") diff --git a/tests/baselines/reference/importCallExpressionES5UMD.types b/tests/baselines/reference/importCallExpressionES5UMD.types index aea570380e1ad..113dcde37851d 100644 --- a/tests/baselines/reference/importCallExpressionES5UMD.types +++ b/tests/baselines/reference/importCallExpressionES5UMD.types @@ -26,11 +26,11 @@ p1.then(zero => { >p1.then(zero => { return zero.foo();}) : Promise > : ^^^^^^^^^^^^^^^ >p1.then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p1 : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >zero => { return zero.foo();} : (zero: typeof import("0")) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >zero : typeof import("0") diff --git a/tests/baselines/reference/importCallExpressionES6AMD.types b/tests/baselines/reference/importCallExpressionES6AMD.types index 35effdf19789d..93766fb50580f 100644 --- a/tests/baselines/reference/importCallExpressionES6AMD.types +++ b/tests/baselines/reference/importCallExpressionES6AMD.types @@ -26,11 +26,11 @@ p1.then(zero => { >p1.then(zero => { return zero.foo();}) : Promise > : ^^^^^^^^^^^^^^^ >p1.then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p1 : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >zero => { return zero.foo();} : (zero: typeof import("0")) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >zero : typeof import("0") diff --git a/tests/baselines/reference/importCallExpressionES6CJS.types b/tests/baselines/reference/importCallExpressionES6CJS.types index 0465e146e40ab..1e644e40682ef 100644 --- a/tests/baselines/reference/importCallExpressionES6CJS.types +++ b/tests/baselines/reference/importCallExpressionES6CJS.types @@ -26,11 +26,11 @@ p1.then(zero => { >p1.then(zero => { return zero.foo();}) : Promise > : ^^^^^^^^^^^^^^^ >p1.then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p1 : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >zero => { return zero.foo();} : (zero: typeof import("0")) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >zero : typeof import("0") diff --git a/tests/baselines/reference/importCallExpressionES6System.types b/tests/baselines/reference/importCallExpressionES6System.types index 76e02ae679ed5..c300a7caed931 100644 --- a/tests/baselines/reference/importCallExpressionES6System.types +++ b/tests/baselines/reference/importCallExpressionES6System.types @@ -26,11 +26,11 @@ p1.then(zero => { >p1.then(zero => { return zero.foo();}) : Promise > : ^^^^^^^^^^^^^^^ >p1.then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p1 : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >zero => { return zero.foo();} : (zero: typeof import("0")) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >zero : typeof import("0") diff --git a/tests/baselines/reference/importCallExpressionES6UMD.types b/tests/baselines/reference/importCallExpressionES6UMD.types index 168eed45a98f3..cda6980518b1c 100644 --- a/tests/baselines/reference/importCallExpressionES6UMD.types +++ b/tests/baselines/reference/importCallExpressionES6UMD.types @@ -26,11 +26,11 @@ p1.then(zero => { >p1.then(zero => { return zero.foo();}) : Promise > : ^^^^^^^^^^^^^^^ >p1.then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p1 : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >zero => { return zero.foo();} : (zero: typeof import("0")) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >zero : typeof import("0") diff --git a/tests/baselines/reference/importCallExpressionErrorInES2015.types b/tests/baselines/reference/importCallExpressionErrorInES2015.types index c426d343794f4..8203a0a0657de 100644 --- a/tests/baselines/reference/importCallExpressionErrorInES2015.types +++ b/tests/baselines/reference/importCallExpressionErrorInES2015.types @@ -26,11 +26,11 @@ p1.then(zero => { >p1.then(zero => { return zero.foo();}) : Promise > : ^^^^^^^^^^^^^^^ >p1.then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p1 : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >zero => { return zero.foo();} : (zero: typeof import("0")) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >zero : typeof import("0") diff --git a/tests/baselines/reference/importCallExpressionInAMD1.types b/tests/baselines/reference/importCallExpressionInAMD1.types index bc471cca81d63..0bd12b6af9f2d 100644 --- a/tests/baselines/reference/importCallExpressionInAMD1.types +++ b/tests/baselines/reference/importCallExpressionInAMD1.types @@ -26,11 +26,11 @@ p1.then(zero => { >p1.then(zero => { return zero.foo();}) : Promise > : ^^^^^^^^^^^^^^^ >p1.then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p1 : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >zero => { return zero.foo();} : (zero: typeof import("0")) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >zero : typeof import("0") diff --git a/tests/baselines/reference/importCallExpressionInAMD2.types b/tests/baselines/reference/importCallExpressionInAMD2.types index 3510478dc8354..24545d8db1bd5 100644 --- a/tests/baselines/reference/importCallExpressionInAMD2.types +++ b/tests/baselines/reference/importCallExpressionInAMD2.types @@ -24,11 +24,11 @@ function foo(x: Promise) { >x.then(value => { let b = new value.B(); b.print(); }) : Promise > : ^^^^^^^^^^^^^ >x.then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >x : Promise > : ^^^^^^^^^^^^ >then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >value => { let b = new value.B(); b.print(); } : (value: any) => void > : ^ ^^^^^^^^^^^^^^ >value : any diff --git a/tests/baselines/reference/importCallExpressionInAMD4.types b/tests/baselines/reference/importCallExpressionInAMD4.types index fa4e57159a654..868eb740fcdcb 100644 --- a/tests/baselines/reference/importCallExpressionInAMD4.types +++ b/tests/baselines/reference/importCallExpressionInAMD4.types @@ -57,7 +57,7 @@ class C { >this.myModule.then(Zero => { console.log(Zero.foo()); }, async err => { console.log(err); let one = await import("./1"); console.log(one.backup()); }) : Promise > : ^^^^^^^^^^^^^ >this.myModule.then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >this.myModule : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this : this @@ -65,7 +65,7 @@ class C { >myModule : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >Zero => { console.log(Zero.foo()); } : (Zero: typeof import("0")) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Zero : typeof import("0") @@ -159,7 +159,7 @@ export class D { >this.myModule.then(Zero => { console.log(Zero.foo()); }, async err => { console.log(err); let one = await import("./1"); console.log(one.backup()); }) : Promise > : ^^^^^^^^^^^^^ >this.myModule.then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >this.myModule : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this : this @@ -167,7 +167,7 @@ export class D { >myModule : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >Zero => { console.log(Zero.foo()); } : (Zero: typeof import("0")) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Zero : typeof import("0") diff --git a/tests/baselines/reference/importCallExpressionInCJS1.types b/tests/baselines/reference/importCallExpressionInCJS1.types index 002bf24f0fff6..ec1c939c0418a 100644 --- a/tests/baselines/reference/importCallExpressionInCJS1.types +++ b/tests/baselines/reference/importCallExpressionInCJS1.types @@ -26,11 +26,11 @@ p1.then(zero => { >p1.then(zero => { return zero.foo();}) : Promise > : ^^^^^^^^^^^^^^^ >p1.then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p1 : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >zero => { return zero.foo();} : (zero: typeof import("0")) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >zero : typeof import("0") diff --git a/tests/baselines/reference/importCallExpressionInCJS3.types b/tests/baselines/reference/importCallExpressionInCJS3.types index a15a20ad3e5ff..8ec0be061f1b7 100644 --- a/tests/baselines/reference/importCallExpressionInCJS3.types +++ b/tests/baselines/reference/importCallExpressionInCJS3.types @@ -24,11 +24,11 @@ function foo(x: Promise) { >x.then(value => { let b = new value.B(); b.print(); }) : Promise > : ^^^^^^^^^^^^^ >x.then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >x : Promise > : ^^^^^^^^^^^^ >then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >value => { let b = new value.B(); b.print(); } : (value: any) => void > : ^ ^^^^^^^^^^^^^^ >value : any diff --git a/tests/baselines/reference/importCallExpressionInCJS5.types b/tests/baselines/reference/importCallExpressionInCJS5.types index aaab394f010b9..02345e1540084 100644 --- a/tests/baselines/reference/importCallExpressionInCJS5.types +++ b/tests/baselines/reference/importCallExpressionInCJS5.types @@ -57,7 +57,7 @@ class C { >this.myModule.then(Zero => { console.log(Zero.foo()); }, async err => { console.log(err); let one = await import("./1"); console.log(one.backup()); }) : Promise > : ^^^^^^^^^^^^^ >this.myModule.then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >this.myModule : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this : this @@ -65,7 +65,7 @@ class C { >myModule : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >Zero => { console.log(Zero.foo()); } : (Zero: typeof import("0")) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Zero : typeof import("0") @@ -159,7 +159,7 @@ export class D { >this.myModule.then(Zero => { console.log(Zero.foo()); }, async err => { console.log(err); let one = await import("./1"); console.log(one.backup()); }) : Promise > : ^^^^^^^^^^^^^ >this.myModule.then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >this.myModule : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this : this @@ -167,7 +167,7 @@ export class D { >myModule : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >Zero => { console.log(Zero.foo()); } : (Zero: typeof import("0")) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Zero : typeof import("0") diff --git a/tests/baselines/reference/importCallExpressionInSystem1.types b/tests/baselines/reference/importCallExpressionInSystem1.types index e6b6a7dddffdd..419e45ed1231a 100644 --- a/tests/baselines/reference/importCallExpressionInSystem1.types +++ b/tests/baselines/reference/importCallExpressionInSystem1.types @@ -26,11 +26,11 @@ p1.then(zero => { >p1.then(zero => { return zero.foo();}) : Promise > : ^^^^^^^^^^^^^^^ >p1.then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p1 : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >zero => { return zero.foo();} : (zero: typeof import("0")) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >zero : typeof import("0") diff --git a/tests/baselines/reference/importCallExpressionInSystem2.types b/tests/baselines/reference/importCallExpressionInSystem2.types index f632af1959562..57a802e9b8602 100644 --- a/tests/baselines/reference/importCallExpressionInSystem2.types +++ b/tests/baselines/reference/importCallExpressionInSystem2.types @@ -24,11 +24,11 @@ function foo(x: Promise) { >x.then(value => { let b = new value.B(); b.print(); }) : Promise > : ^^^^^^^^^^^^^ >x.then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >x : Promise > : ^^^^^^^^^^^^ >then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >value => { let b = new value.B(); b.print(); } : (value: any) => void > : ^ ^^^^^^^^^^^^^^ >value : any diff --git a/tests/baselines/reference/importCallExpressionInSystem4.types b/tests/baselines/reference/importCallExpressionInSystem4.types index 89457e72a94dc..775a95336e576 100644 --- a/tests/baselines/reference/importCallExpressionInSystem4.types +++ b/tests/baselines/reference/importCallExpressionInSystem4.types @@ -57,7 +57,7 @@ class C { >this.myModule.then(Zero => { console.log(Zero.foo()); }, async err => { console.log(err); let one = await import("./1"); console.log(one.backup()); }) : Promise > : ^^^^^^^^^^^^^ >this.myModule.then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >this.myModule : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this : this @@ -65,7 +65,7 @@ class C { >myModule : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >Zero => { console.log(Zero.foo()); } : (Zero: typeof import("0")) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Zero : typeof import("0") @@ -159,7 +159,7 @@ export class D { >this.myModule.then(Zero => { console.log(Zero.foo()); }, async err => { console.log(err); let one = await import("./1"); console.log(one.backup()); }) : Promise > : ^^^^^^^^^^^^^ >this.myModule.then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >this.myModule : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this : this @@ -167,7 +167,7 @@ export class D { >myModule : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >Zero => { console.log(Zero.foo()); } : (Zero: typeof import("0")) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Zero : typeof import("0") diff --git a/tests/baselines/reference/importCallExpressionInUMD1.types b/tests/baselines/reference/importCallExpressionInUMD1.types index dba91104dd84f..b406128931f54 100644 --- a/tests/baselines/reference/importCallExpressionInUMD1.types +++ b/tests/baselines/reference/importCallExpressionInUMD1.types @@ -26,11 +26,11 @@ p1.then(zero => { >p1.then(zero => { return zero.foo();}) : Promise > : ^^^^^^^^^^^^^^^ >p1.then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p1 : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >zero => { return zero.foo();} : (zero: typeof import("0")) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >zero : typeof import("0") diff --git a/tests/baselines/reference/importCallExpressionInUMD2.types b/tests/baselines/reference/importCallExpressionInUMD2.types index 05d08bd6d2313..463bd298d3cb9 100644 --- a/tests/baselines/reference/importCallExpressionInUMD2.types +++ b/tests/baselines/reference/importCallExpressionInUMD2.types @@ -24,11 +24,11 @@ function foo(x: Promise) { >x.then(value => { let b = new value.B(); b.print(); }) : Promise > : ^^^^^^^^^^^^^ >x.then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >x : Promise > : ^^^^^^^^^^^^ >then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >value => { let b = new value.B(); b.print(); } : (value: any) => void > : ^ ^^^^^^^^^^^^^^ >value : any diff --git a/tests/baselines/reference/importCallExpressionInUMD4.types b/tests/baselines/reference/importCallExpressionInUMD4.types index ce7c826622ecf..c3f06ea8005b7 100644 --- a/tests/baselines/reference/importCallExpressionInUMD4.types +++ b/tests/baselines/reference/importCallExpressionInUMD4.types @@ -57,7 +57,7 @@ class C { >this.myModule.then(Zero => { console.log(Zero.foo()); }, async err => { console.log(err); let one = await import("./1"); console.log(one.backup()); }) : Promise > : ^^^^^^^^^^^^^ >this.myModule.then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >this.myModule : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this : this @@ -65,7 +65,7 @@ class C { >myModule : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >Zero => { console.log(Zero.foo()); } : (Zero: typeof import("0")) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Zero : typeof import("0") @@ -159,7 +159,7 @@ export class D { >this.myModule.then(Zero => { console.log(Zero.foo()); }, async err => { console.log(err); let one = await import("./1"); console.log(one.backup()); }) : Promise > : ^^^^^^^^^^^^^ >this.myModule.then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >this.myModule : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this : this @@ -167,7 +167,7 @@ export class D { >myModule : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >Zero => { console.log(Zero.foo()); } : (Zero: typeof import("0")) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Zero : typeof import("0") diff --git a/tests/baselines/reference/importCallExpressionNoModuleKindSpecified.types b/tests/baselines/reference/importCallExpressionNoModuleKindSpecified.types index 536a40f6a6c49..0cfec665db959 100644 --- a/tests/baselines/reference/importCallExpressionNoModuleKindSpecified.types +++ b/tests/baselines/reference/importCallExpressionNoModuleKindSpecified.types @@ -58,7 +58,7 @@ class C { >this.myModule.then(Zero => { console.log(Zero.foo()); }, async err => { console.log(err); let one = await import("./1"); console.log(one.backup()); }) : Promise > : ^^^^^^^^^^^^^ >this.myModule.then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >this.myModule : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this : this @@ -66,7 +66,7 @@ class C { >myModule : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: typeof import("0")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >Zero => { console.log(Zero.foo()); } : (Zero: typeof import("0")) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Zero : typeof import("0") diff --git a/tests/baselines/reference/importCallExpressionReturnPromiseOfAny.types b/tests/baselines/reference/importCallExpressionReturnPromiseOfAny.types index 590aec6c47a9b..d568f760841df 100644 --- a/tests/baselines/reference/importCallExpressionReturnPromiseOfAny.types +++ b/tests/baselines/reference/importCallExpressionReturnPromiseOfAny.types @@ -46,7 +46,7 @@ import(getSpecifier()); >getSpecifier() : string > : ^^^^^^ >getSpecifier : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var p1 = import(ValidSomeCondition() ? "./0" : "externalModule"); >p1 : Promise @@ -58,7 +58,7 @@ var p1 = import(ValidSomeCondition() ? "./0" : "externalModule"); >ValidSomeCondition() : boolean > : ^^^^^^^ >ValidSomeCondition : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >"./0" : "./0" > : ^^^^^ >"externalModule" : "externalModule" @@ -72,7 +72,7 @@ var p1: Promise = import(getSpecifier()); >getSpecifier() : string > : ^^^^^^ >getSpecifier : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var p11: Promise = import(getSpecifier()); >p11 : Promise @@ -84,7 +84,7 @@ var p11: Promise = import(getSpecifier()); >getSpecifier() : string > : ^^^^^^ >getSpecifier : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ const p2 = import(whatToLoad ? getSpecifier() : "defaulPath") as Promise; >p2 : Promise @@ -100,7 +100,7 @@ const p2 = import(whatToLoad ? getSpecifier() : "defaulPath") as PromisegetSpecifier() : string > : ^^^^^^ >getSpecifier : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >"defaulPath" : "defaulPath" > : ^^^^^^^^^^^^ >defaultModule : typeof defaultModule @@ -110,11 +110,11 @@ p1.then(zero => { >p1.then(zero => { return zero.foo(); // ok, zero is any}) : Promise > : ^^^^^^^^^^^^ >p1.then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p1 : Promise > : ^^^^^^^^^^^^ >then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >zero => { return zero.foo(); // ok, zero is any} : (zero: any) => any > : ^ ^^^^^^^^^^^^^ >zero : any @@ -147,7 +147,7 @@ var p3: Promise = import(j=getSpecifier()); >getSpecifier() : string > : ^^^^^^ >getSpecifier : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ function * loadModule(directories: string[]) { >loadModule : (directories: string[]) => Generator diff --git a/tests/baselines/reference/importCallExpressionShouldNotGetParen.types b/tests/baselines/reference/importCallExpressionShouldNotGetParen.types index b7f454722ddc6..9b6e655b78586 100644 --- a/tests/baselines/reference/importCallExpressionShouldNotGetParen.types +++ b/tests/baselines/reference/importCallExpressionShouldNotGetParen.types @@ -11,7 +11,7 @@ import(`./locales/${localeName}.js`).then(bar => { >import(`./locales/${localeName}.js`).then(bar => { let x = bar;}) : Promise > : ^^^^^^^^^^^^^ >import(`./locales/${localeName}.js`).then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >import(`./locales/${localeName}.js`) : Promise > : ^^^^^^^^^^^^ >`./locales/${localeName}.js` : "./locales/zh-CN.js" @@ -19,7 +19,7 @@ import(`./locales/${localeName}.js`).then(bar => { >localeName : "zh-CN" > : ^^^^^^^ >then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >bar => { let x = bar;} : (bar: any) => void > : ^ ^^^^^^^^^^^^^^ >bar : any @@ -34,7 +34,7 @@ import("./locales/" + localeName + ".js").then(bar => { >import("./locales/" + localeName + ".js").then(bar => { let x = bar;}) : Promise > : ^^^^^^^^^^^^^ >import("./locales/" + localeName + ".js").then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >import("./locales/" + localeName + ".js") : Promise > : ^^^^^^^^^^^^ >"./locales/" + localeName + ".js" : string @@ -48,7 +48,7 @@ import("./locales/" + localeName + ".js").then(bar => { >".js" : ".js" > : ^^^^^ >then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >bar => { let x = bar;} : (bar: any) => void > : ^ ^^^^^^^^^^^^^^ >bar : any diff --git a/tests/baselines/reference/importCallExpressionSpecifierNotStringTypeError.types b/tests/baselines/reference/importCallExpressionSpecifierNotStringTypeError.types index 10fd9e2e5ee7d..83336624b178f 100644 --- a/tests/baselines/reference/importCallExpressionSpecifierNotStringTypeError.types +++ b/tests/baselines/reference/importCallExpressionSpecifierNotStringTypeError.types @@ -16,7 +16,7 @@ import(getSpecifier()); >getSpecifier() : boolean > : ^^^^^^^ >getSpecifier : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ var p1 = import(getSpecifier()); >p1 : Promise @@ -26,7 +26,7 @@ var p1 = import(getSpecifier()); >getSpecifier() : boolean > : ^^^^^^^ >getSpecifier : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ const p2 = import(whatToLoad ? getSpecifier() : "defaulPath") >p2 : Promise @@ -40,7 +40,7 @@ const p2 = import(whatToLoad ? getSpecifier() : "defaulPath") >getSpecifier() : boolean > : ^^^^^^^ >getSpecifier : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >"defaulPath" : "defaulPath" > : ^^^^^^^^^^^^ @@ -48,11 +48,11 @@ p1.then(zero => { >p1.then(zero => { return zero.foo(); // ok, zero is any}) : Promise > : ^^^^^^^^^^^^ >p1.then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p1 : Promise > : ^^^^^^^^^^^^ >then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >zero => { return zero.foo(); // ok, zero is any} : (zero: any) => any > : ^ ^^^^^^^^^^^^^ >zero : any diff --git a/tests/baselines/reference/importDeclWithDeclareModifier.errors.txt b/tests/baselines/reference/importDeclWithDeclareModifier.errors.txt index dd74b7c7ff305..eb9308554d6c8 100644 --- a/tests/baselines/reference/importDeclWithDeclareModifier.errors.txt +++ b/tests/baselines/reference/importDeclWithDeclareModifier.errors.txt @@ -1,9 +1,8 @@ importDeclWithDeclareModifier.ts(5,9): error TS1029: 'export' modifier must precede 'declare' modifier. -importDeclWithDeclareModifier.ts(5,27): error TS2708: Cannot use namespace 'x' as a value. importDeclWithDeclareModifier.ts(5,29): error TS2694: Namespace 'x' has no exported member 'c'. -==== importDeclWithDeclareModifier.ts (3 errors) ==== +==== importDeclWithDeclareModifier.ts (2 errors) ==== module x { interface c { } @@ -11,8 +10,6 @@ importDeclWithDeclareModifier.ts(5,29): error TS2694: Namespace 'x' has no expor declare export import a = x.c; ~~~~~~ !!! error TS1029: 'export' modifier must precede 'declare' modifier. - ~ -!!! error TS2708: Cannot use namespace 'x' as a value. ~ !!! error TS2694: Namespace 'x' has no exported member 'c'. var b: a; diff --git a/tests/baselines/reference/importDeclWithDeclareModifier.js b/tests/baselines/reference/importDeclWithDeclareModifier.js index add1aca76d814..6abdc61fb9584 100644 --- a/tests/baselines/reference/importDeclWithDeclareModifier.js +++ b/tests/baselines/reference/importDeclWithDeclareModifier.js @@ -15,3 +15,16 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.a = void 0; exports.a = x.c; var b; + + +!!!! File importDeclWithDeclareModifier.js differs from original emit in noCheck emit +//// [importDeclWithDeclareModifier.js] +=================================================================== +--- Expected The full check baseline ++++ Actual with noCheck set +@@ -1,5 +1,3 @@ + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +-exports.a = void 0; +-exports.a = x.c; + var b; diff --git a/tests/baselines/reference/importElisionExportNonExportAndDefault.types b/tests/baselines/reference/importElisionExportNonExportAndDefault.types index 5ed35cd0838b3..002a98a0fabde 100644 --- a/tests/baselines/reference/importElisionExportNonExportAndDefault.types +++ b/tests/baselines/reference/importElisionExportNonExportAndDefault.types @@ -31,11 +31,11 @@ export const MyFunction = ({ msg }: MyFunction) => console.log(`Got message "${m >console.log(`Got message "${msg}"`) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >`Got message "${msg}"` : string > : ^^^^^^ >msg : string diff --git a/tests/baselines/reference/importEquals3.types b/tests/baselines/reference/importEquals3.types index 00e676811c0e9..6bd4c1841f07b 100644 --- a/tests/baselines/reference/importEquals3.types +++ b/tests/baselines/reference/importEquals3.types @@ -73,11 +73,11 @@ console.log(x); >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : 0 > : ^ diff --git a/tests/baselines/reference/importHelpersBundler.js b/tests/baselines/reference/importHelpersBundler.js new file mode 100644 index 0000000000000..d60f462b51ae7 --- /dev/null +++ b/tests/baselines/reference/importHelpersBundler.js @@ -0,0 +1,51 @@ +//// [tests/cases/compiler/importHelpersBundler.ts] //// + +//// [package.json] +{ + "name": "tslib", + "main": "tslib.js", + "module": "tslib.es6.js", + "jsnext:main": "tslib.es6.js", + "typings": "tslib.d.ts", + "exports": { + ".": { + "module": { + "types": "./modules/index.d.ts", + "default": "./tslib.es6.mjs" + }, + "import": { + "node": "./modules/index.js", + "default": { + "types": "./modules/index.d.ts", + "default": "./tslib.es6.mjs" + } + }, + "default": "./tslib.js" + }, + "./*": "./*", + "./": "./" + } +} + +//// [tslib.d.ts] +export {}; + +//// [package.json] +{ "type": "module" } + +//// [index.d.ts] +export declare var __rest: any; + +//// [main.ts] +export function foo(args: any) { + const { bar, ...extraArgs } = args; + return extraArgs; +} + + +//// [main.js] +import { __rest } from "tslib"; +export function foo(args) { + const { bar } = args, extraArgs = __rest(args, ["bar"]); + return extraArgs; +} diff --git a/tests/baselines/reference/importHelpersBundler.symbols b/tests/baselines/reference/importHelpersBundler.symbols new file mode 100644 index 0000000000000..a1135baaca8ef --- /dev/null +++ b/tests/baselines/reference/importHelpersBundler.symbols @@ -0,0 +1,24 @@ +//// [tests/cases/compiler/importHelpersBundler.ts] //// + +=== /node_modules/tslib/tslib.d.ts === + +export {}; + +=== /node_modules/tslib/modules/index.d.ts === +export declare var __rest: any; +>__rest : Symbol(__rest, Decl(index.d.ts, 0, 18)) + +=== /main.ts === +export function foo(args: any) { +>foo : Symbol(foo, Decl(main.ts, 0, 0)) +>args : Symbol(args, Decl(main.ts, 0, 20)) + + const { bar, ...extraArgs } = args; +>bar : Symbol(bar, Decl(main.ts, 1, 9)) +>extraArgs : Symbol(extraArgs, Decl(main.ts, 1, 14)) +>args : Symbol(args, Decl(main.ts, 0, 20)) + + return extraArgs; +>extraArgs : Symbol(extraArgs, Decl(main.ts, 1, 14)) +} + diff --git a/tests/baselines/reference/importHelpersBundler.types b/tests/baselines/reference/importHelpersBundler.types new file mode 100644 index 0000000000000..956e9cf2288c2 --- /dev/null +++ b/tests/baselines/reference/importHelpersBundler.types @@ -0,0 +1,27 @@ +//// [tests/cases/compiler/importHelpersBundler.ts] //// + +=== /node_modules/tslib/tslib.d.ts === + +export {}; + +=== /node_modules/tslib/modules/index.d.ts === +export declare var __rest: any; +>__rest : any + +=== /main.ts === +export function foo(args: any) { +>foo : (args: any) => any +> : ^ ^^ ^^^^^^^^ +>args : any + + const { bar, ...extraArgs } = args; +>bar : any +> : ^^^ +>extraArgs : any +> : ^^^ +>args : any + + return extraArgs; +>extraArgs : any +} + diff --git a/tests/baselines/reference/importHelpersCommonJSJavaScript(verbatimmodulesyntax=false).js b/tests/baselines/reference/importHelpersCommonJSJavaScript(verbatimmodulesyntax=false).js new file mode 100644 index 0000000000000..9f9a2f4c6e064 --- /dev/null +++ b/tests/baselines/reference/importHelpersCommonJSJavaScript(verbatimmodulesyntax=false).js @@ -0,0 +1,61 @@ +//// [tests/cases/compiler/importHelpersCommonJSJavaScript.ts] //// + +//// [package.json] +{ + "name": "tslib", + "main": "tslib.js", + "module": "tslib.es6.js", + "jsnext:main": "tslib.es6.js", + "typings": "tslib.d.ts", + "exports": { + ".": { + "module": { + "types": "./modules/index.d.ts", + "default": "./tslib.es6.mjs" + }, + "import": { + "node": "./modules/index.js", + "default": { + "types": "./modules/index.d.ts", + "default": "./tslib.es6.mjs" + } + }, + "default": "./tslib.js" + }, + "./*": "./*", + "./": "./" + } +} + +//// [tslib.d.ts] +export declare var __extends: any; + +//// [package.json] +{ "type": "module" } + +//// [index.d.ts] +export {}; + +//// [index.js] +class Foo {} + +class Bar extends Foo {} + +module.exports = Bar; + + +//// [index.js] +var tslib_1 = require("tslib"); +var Foo = /** @class */ (function () { + function Foo() { + } + return Foo; +}()); +var Bar = /** @class */ (function (_super) { + tslib_1.__extends(Bar, _super); + function Bar() { + return _super !== null && _super.apply(this, arguments) || this; + } + return Bar; +}(Foo)); +module.exports = Bar; diff --git a/tests/baselines/reference/importHelpersCommonJSJavaScript(verbatimmodulesyntax=false).symbols b/tests/baselines/reference/importHelpersCommonJSJavaScript(verbatimmodulesyntax=false).symbols new file mode 100644 index 0000000000000..882653c0cb92b --- /dev/null +++ b/tests/baselines/reference/importHelpersCommonJSJavaScript(verbatimmodulesyntax=false).symbols @@ -0,0 +1,24 @@ +//// [tests/cases/compiler/importHelpersCommonJSJavaScript.ts] //// + +=== /node_modules/tslib/tslib.d.ts === +export declare var __extends: any; +>__extends : Symbol(__extends, Decl(tslib.d.ts, --, --)) + +=== /node_modules/tslib/modules/index.d.ts === + +export {}; + +=== /index.js === +class Foo {} +>Foo : Symbol(Foo, Decl(index.js, 0, 0)) + +class Bar extends Foo {} +>Bar : Symbol(Bar, Decl(index.js, 0, 12)) +>Foo : Symbol(Foo, Decl(index.js, 0, 0)) + +module.exports = Bar; +>module.exports : Symbol(module.exports, Decl(index.js, 0, 0)) +>module : Symbol(export=, Decl(index.js, 2, 24)) +>exports : Symbol(export=, Decl(index.js, 2, 24)) +>Bar : Symbol(Bar, Decl(index.js, 0, 12)) + diff --git a/tests/baselines/reference/importHelpersCommonJSJavaScript(verbatimmodulesyntax=false).types b/tests/baselines/reference/importHelpersCommonJSJavaScript(verbatimmodulesyntax=false).types new file mode 100644 index 0000000000000..aebaac0886d00 --- /dev/null +++ b/tests/baselines/reference/importHelpersCommonJSJavaScript(verbatimmodulesyntax=false).types @@ -0,0 +1,33 @@ +//// [tests/cases/compiler/importHelpersCommonJSJavaScript.ts] //// + +=== /node_modules/tslib/tslib.d.ts === +export declare var __extends: any; +>__extends : any + +=== /node_modules/tslib/modules/index.d.ts === + +export {}; + +=== /index.js === +class Foo {} +>Foo : Foo +> : ^^^ + +class Bar extends Foo {} +>Bar : Bar +> : ^^^ +>Foo : Foo +> : ^^^ + +module.exports = Bar; +>module.exports = Bar : typeof Bar +> : ^^^^^^^^^^ +>module.exports : typeof Bar +> : ^^^^^^^^^^ +>module : { exports: typeof Bar; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^ +>exports : typeof Bar +> : ^^^^^^^^^^ +>Bar : typeof Bar +> : ^^^^^^^^^^ + diff --git a/tests/baselines/reference/importHelpersCommonJSJavaScript(verbatimmodulesyntax=true).js b/tests/baselines/reference/importHelpersCommonJSJavaScript(verbatimmodulesyntax=true).js new file mode 100644 index 0000000000000..9f9a2f4c6e064 --- /dev/null +++ b/tests/baselines/reference/importHelpersCommonJSJavaScript(verbatimmodulesyntax=true).js @@ -0,0 +1,61 @@ +//// [tests/cases/compiler/importHelpersCommonJSJavaScript.ts] //// + +//// [package.json] +{ + "name": "tslib", + "main": "tslib.js", + "module": "tslib.es6.js", + "jsnext:main": "tslib.es6.js", + "typings": "tslib.d.ts", + "exports": { + ".": { + "module": { + "types": "./modules/index.d.ts", + "default": "./tslib.es6.mjs" + }, + "import": { + "node": "./modules/index.js", + "default": { + "types": "./modules/index.d.ts", + "default": "./tslib.es6.mjs" + } + }, + "default": "./tslib.js" + }, + "./*": "./*", + "./": "./" + } +} + +//// [tslib.d.ts] +export declare var __extends: any; + +//// [package.json] +{ "type": "module" } + +//// [index.d.ts] +export {}; + +//// [index.js] +class Foo {} + +class Bar extends Foo {} + +module.exports = Bar; + + +//// [index.js] +var tslib_1 = require("tslib"); +var Foo = /** @class */ (function () { + function Foo() { + } + return Foo; +}()); +var Bar = /** @class */ (function (_super) { + tslib_1.__extends(Bar, _super); + function Bar() { + return _super !== null && _super.apply(this, arguments) || this; + } + return Bar; +}(Foo)); +module.exports = Bar; diff --git a/tests/baselines/reference/importHelpersCommonJSJavaScript(verbatimmodulesyntax=true).symbols b/tests/baselines/reference/importHelpersCommonJSJavaScript(verbatimmodulesyntax=true).symbols new file mode 100644 index 0000000000000..882653c0cb92b --- /dev/null +++ b/tests/baselines/reference/importHelpersCommonJSJavaScript(verbatimmodulesyntax=true).symbols @@ -0,0 +1,24 @@ +//// [tests/cases/compiler/importHelpersCommonJSJavaScript.ts] //// + +=== /node_modules/tslib/tslib.d.ts === +export declare var __extends: any; +>__extends : Symbol(__extends, Decl(tslib.d.ts, --, --)) + +=== /node_modules/tslib/modules/index.d.ts === + +export {}; + +=== /index.js === +class Foo {} +>Foo : Symbol(Foo, Decl(index.js, 0, 0)) + +class Bar extends Foo {} +>Bar : Symbol(Bar, Decl(index.js, 0, 12)) +>Foo : Symbol(Foo, Decl(index.js, 0, 0)) + +module.exports = Bar; +>module.exports : Symbol(module.exports, Decl(index.js, 0, 0)) +>module : Symbol(export=, Decl(index.js, 2, 24)) +>exports : Symbol(export=, Decl(index.js, 2, 24)) +>Bar : Symbol(Bar, Decl(index.js, 0, 12)) + diff --git a/tests/baselines/reference/importHelpersCommonJSJavaScript(verbatimmodulesyntax=true).types b/tests/baselines/reference/importHelpersCommonJSJavaScript(verbatimmodulesyntax=true).types new file mode 100644 index 0000000000000..aebaac0886d00 --- /dev/null +++ b/tests/baselines/reference/importHelpersCommonJSJavaScript(verbatimmodulesyntax=true).types @@ -0,0 +1,33 @@ +//// [tests/cases/compiler/importHelpersCommonJSJavaScript.ts] //// + +=== /node_modules/tslib/tslib.d.ts === +export declare var __extends: any; +>__extends : any + +=== /node_modules/tslib/modules/index.d.ts === + +export {}; + +=== /index.js === +class Foo {} +>Foo : Foo +> : ^^^ + +class Bar extends Foo {} +>Bar : Bar +> : ^^^ +>Foo : Foo +> : ^^^ + +module.exports = Bar; +>module.exports = Bar : typeof Bar +> : ^^^^^^^^^^ +>module.exports : typeof Bar +> : ^^^^^^^^^^ +>module : { exports: typeof Bar; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^ +>exports : typeof Bar +> : ^^^^^^^^^^ +>Bar : typeof Bar +> : ^^^^^^^^^^ + diff --git a/tests/baselines/reference/importHelpersInAmbientContext.types b/tests/baselines/reference/importHelpersInAmbientContext.types index ebd41767428d3..b9085d78a887c 100644 --- a/tests/baselines/reference/importHelpersInAmbientContext.types +++ b/tests/baselines/reference/importHelpersInAmbientContext.types @@ -45,7 +45,7 @@ export var { a, ...x } : Foo; >a : number > : ^^^^^^ >x : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ === b.ts === export {}; @@ -95,7 +95,7 @@ declare namespace N { >a : number > : ^^^^^^ >x : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ } === tslib.d.ts === diff --git a/tests/baselines/reference/importHelpersVerbatimModuleSyntax.js b/tests/baselines/reference/importHelpersVerbatimModuleSyntax.js new file mode 100644 index 0000000000000..48c128f184d60 --- /dev/null +++ b/tests/baselines/reference/importHelpersVerbatimModuleSyntax.js @@ -0,0 +1,53 @@ +//// [tests/cases/compiler/importHelpersVerbatimModuleSyntax.ts] //// + +//// [package.json] +{ + "name": "tslib", + "main": "tslib.js", + "module": "tslib.es6.js", + "jsnext:main": "tslib.es6.js", + "typings": "tslib.d.ts", + "exports": { + ".": { + "module": { + "types": "./modules/index.d.ts", + "default": "./tslib.es6.mjs" + }, + "import": { + "node": "./modules/index.js", + "default": { + "types": "./modules/index.d.ts", + "default": "./tslib.es6.mjs" + } + }, + "default": "./tslib.js" + }, + "./*": "./*", + "./": "./" + } +} + +//// [tslib.d.ts] +export declare var __rest: any; + +//// [package.json] +{ "type": "module" } + +//// [index.d.ts] +export {}; + +//// [main.cts] +function foo(args: any) { + const { bar, ...extraArgs } = args; + return extraArgs; +} +export = foo; + + +//// [main.cjs] +import * as tslib_1 from "tslib"; +function foo(args) { + const { bar } = args, extraArgs = __rest(args, ["bar"]); + return extraArgs; +} +module.exports = foo; diff --git a/tests/baselines/reference/importHelpersVerbatimModuleSyntax.symbols b/tests/baselines/reference/importHelpersVerbatimModuleSyntax.symbols new file mode 100644 index 0000000000000..b6e987949d825 --- /dev/null +++ b/tests/baselines/reference/importHelpersVerbatimModuleSyntax.symbols @@ -0,0 +1,26 @@ +//// [tests/cases/compiler/importHelpersVerbatimModuleSyntax.ts] //// + +=== /node_modules/tslib/tslib.d.ts === +export declare var __rest: any; +>__rest : Symbol(__rest, Decl(tslib.d.ts, --, --)) + +=== /node_modules/tslib/modules/index.d.ts === + +export {}; + +=== /main.cts === +function foo(args: any) { +>foo : Symbol(foo, Decl(main.cts, 0, 0)) +>args : Symbol(args, Decl(main.cts, 0, 13)) + + const { bar, ...extraArgs } = args; +>bar : Symbol(bar, Decl(main.cts, 1, 9)) +>extraArgs : Symbol(extraArgs, Decl(main.cts, 1, 14)) +>args : Symbol(args, Decl(main.cts, 0, 13)) + + return extraArgs; +>extraArgs : Symbol(extraArgs, Decl(main.cts, 1, 14)) +} +export = foo; +>foo : Symbol(foo, Decl(main.cts, 0, 0)) + diff --git a/tests/baselines/reference/importHelpersVerbatimModuleSyntax.types b/tests/baselines/reference/importHelpersVerbatimModuleSyntax.types new file mode 100644 index 0000000000000..e2f4ec6eefe9a --- /dev/null +++ b/tests/baselines/reference/importHelpersVerbatimModuleSyntax.types @@ -0,0 +1,30 @@ +//// [tests/cases/compiler/importHelpersVerbatimModuleSyntax.ts] //// + +=== /node_modules/tslib/tslib.d.ts === +export declare var __rest: any; +>__rest : any + +=== /node_modules/tslib/modules/index.d.ts === + +export {}; + +=== /main.cts === +function foo(args: any) { +>foo : (args: any) => any +> : ^ ^^ ^^^^^^^^ +>args : any + + const { bar, ...extraArgs } = args; +>bar : any +> : ^^^ +>extraArgs : any +> : ^^^ +>args : any + + return extraArgs; +>extraArgs : any +} +export = foo; +>foo : (args: any) => any +> : ^ ^^ ^^^^^^^^ + diff --git a/tests/baselines/reference/importMeta(module=commonjs,target=es5).types b/tests/baselines/reference/importMeta(module=commonjs,target=es5).types index 4476dd83c070c..62a9f5654ba8c 100644 --- a/tests/baselines/reference/importMeta(module=commonjs,target=es5).types +++ b/tests/baselines/reference/importMeta(module=commonjs,target=es5).types @@ -18,15 +18,15 @@ >fetch(new URL("../hamsters.jpg", import.meta.url).toString()) : Promise > : ^^^^^^^^^^^^^^^^^ >fetch : (input: RequestInfo | URL, init?: RequestInit) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >new URL("../hamsters.jpg", import.meta.url).toString() : string > : ^^^^^^ >new URL("../hamsters.jpg", import.meta.url).toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >new URL("../hamsters.jpg", import.meta.url) : URL > : ^^^ >URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string): boolean; createObjectURL(obj: Blob | MediaSource): string; revokeObjectURL(url: string): void; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >"../hamsters.jpg" : "../hamsters.jpg" > : ^^^^^^^^^^^^^^^^^ >import.meta.url : string @@ -38,7 +38,7 @@ >url : string > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ const blob = await response.blob(); >blob : Blob @@ -48,11 +48,11 @@ >response.blob() : Promise > : ^^^^^^^^^^^^^ >response.blob : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >response : Response > : ^^^^^^^^ >blob : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ const size = import.meta.scriptElement.dataset.size || 300; >size : any @@ -84,7 +84,7 @@ >new Image() : HTMLImageElement > : ^^^^^^^^^^^^^^^^ >Image : new (width?: number, height?: number) => HTMLImageElement -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ image.src = URL.createObjectURL(blob); >image.src = URL.createObjectURL(blob) : string @@ -98,11 +98,11 @@ >URL.createObjectURL(blob) : string > : ^^^^^^ >URL.createObjectURL : (obj: Blob | MediaSource) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string): boolean; createObjectURL(obj: Blob | MediaSource): string; revokeObjectURL(url: string): void; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >createObjectURL : (obj: Blob | MediaSource) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >blob : Blob > : ^^^^ @@ -130,7 +130,7 @@ >document.body.appendChild(image) : HTMLImageElement > : ^^^^^^^^^^^^^^^^ >document.body.appendChild : (node: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >document.body : HTMLElement > : ^^^^^^^^^^^ >document : Document @@ -138,7 +138,7 @@ >body : HTMLElement > : ^^^^^^^^^^^ >appendChild : (node: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >image : HTMLImageElement > : ^^^^^^^^^^^^^^^^ @@ -275,11 +275,11 @@ const { a, b, c } = import.meta.wellKnownProperty; >c : boolean > : ^^^^^^^ >import.meta.wellKnownProperty : { a: number; b: string; c: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >import.meta : ImportMeta > : ^^^^^^^^^^ >meta : ImportMeta > : ^^^^^^^^^^ >wellKnownProperty : { a: number; b: string; c: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ diff --git a/tests/baselines/reference/importMeta(module=commonjs,target=esnext).types b/tests/baselines/reference/importMeta(module=commonjs,target=esnext).types index 4476dd83c070c..62a9f5654ba8c 100644 --- a/tests/baselines/reference/importMeta(module=commonjs,target=esnext).types +++ b/tests/baselines/reference/importMeta(module=commonjs,target=esnext).types @@ -18,15 +18,15 @@ >fetch(new URL("../hamsters.jpg", import.meta.url).toString()) : Promise > : ^^^^^^^^^^^^^^^^^ >fetch : (input: RequestInfo | URL, init?: RequestInit) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >new URL("../hamsters.jpg", import.meta.url).toString() : string > : ^^^^^^ >new URL("../hamsters.jpg", import.meta.url).toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >new URL("../hamsters.jpg", import.meta.url) : URL > : ^^^ >URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string): boolean; createObjectURL(obj: Blob | MediaSource): string; revokeObjectURL(url: string): void; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >"../hamsters.jpg" : "../hamsters.jpg" > : ^^^^^^^^^^^^^^^^^ >import.meta.url : string @@ -38,7 +38,7 @@ >url : string > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ const blob = await response.blob(); >blob : Blob @@ -48,11 +48,11 @@ >response.blob() : Promise > : ^^^^^^^^^^^^^ >response.blob : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >response : Response > : ^^^^^^^^ >blob : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ const size = import.meta.scriptElement.dataset.size || 300; >size : any @@ -84,7 +84,7 @@ >new Image() : HTMLImageElement > : ^^^^^^^^^^^^^^^^ >Image : new (width?: number, height?: number) => HTMLImageElement -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ image.src = URL.createObjectURL(blob); >image.src = URL.createObjectURL(blob) : string @@ -98,11 +98,11 @@ >URL.createObjectURL(blob) : string > : ^^^^^^ >URL.createObjectURL : (obj: Blob | MediaSource) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string): boolean; createObjectURL(obj: Blob | MediaSource): string; revokeObjectURL(url: string): void; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >createObjectURL : (obj: Blob | MediaSource) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >blob : Blob > : ^^^^ @@ -130,7 +130,7 @@ >document.body.appendChild(image) : HTMLImageElement > : ^^^^^^^^^^^^^^^^ >document.body.appendChild : (node: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >document.body : HTMLElement > : ^^^^^^^^^^^ >document : Document @@ -138,7 +138,7 @@ >body : HTMLElement > : ^^^^^^^^^^^ >appendChild : (node: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >image : HTMLImageElement > : ^^^^^^^^^^^^^^^^ @@ -275,11 +275,11 @@ const { a, b, c } = import.meta.wellKnownProperty; >c : boolean > : ^^^^^^^ >import.meta.wellKnownProperty : { a: number; b: string; c: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >import.meta : ImportMeta > : ^^^^^^^^^^ >meta : ImportMeta > : ^^^^^^^^^^ >wellKnownProperty : { a: number; b: string; c: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ diff --git a/tests/baselines/reference/importMeta(module=es2020,target=es5).types b/tests/baselines/reference/importMeta(module=es2020,target=es5).types index 4476dd83c070c..62a9f5654ba8c 100644 --- a/tests/baselines/reference/importMeta(module=es2020,target=es5).types +++ b/tests/baselines/reference/importMeta(module=es2020,target=es5).types @@ -18,15 +18,15 @@ >fetch(new URL("../hamsters.jpg", import.meta.url).toString()) : Promise > : ^^^^^^^^^^^^^^^^^ >fetch : (input: RequestInfo | URL, init?: RequestInit) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >new URL("../hamsters.jpg", import.meta.url).toString() : string > : ^^^^^^ >new URL("../hamsters.jpg", import.meta.url).toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >new URL("../hamsters.jpg", import.meta.url) : URL > : ^^^ >URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string): boolean; createObjectURL(obj: Blob | MediaSource): string; revokeObjectURL(url: string): void; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >"../hamsters.jpg" : "../hamsters.jpg" > : ^^^^^^^^^^^^^^^^^ >import.meta.url : string @@ -38,7 +38,7 @@ >url : string > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ const blob = await response.blob(); >blob : Blob @@ -48,11 +48,11 @@ >response.blob() : Promise > : ^^^^^^^^^^^^^ >response.blob : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >response : Response > : ^^^^^^^^ >blob : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ const size = import.meta.scriptElement.dataset.size || 300; >size : any @@ -84,7 +84,7 @@ >new Image() : HTMLImageElement > : ^^^^^^^^^^^^^^^^ >Image : new (width?: number, height?: number) => HTMLImageElement -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ image.src = URL.createObjectURL(blob); >image.src = URL.createObjectURL(blob) : string @@ -98,11 +98,11 @@ >URL.createObjectURL(blob) : string > : ^^^^^^ >URL.createObjectURL : (obj: Blob | MediaSource) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string): boolean; createObjectURL(obj: Blob | MediaSource): string; revokeObjectURL(url: string): void; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >createObjectURL : (obj: Blob | MediaSource) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >blob : Blob > : ^^^^ @@ -130,7 +130,7 @@ >document.body.appendChild(image) : HTMLImageElement > : ^^^^^^^^^^^^^^^^ >document.body.appendChild : (node: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >document.body : HTMLElement > : ^^^^^^^^^^^ >document : Document @@ -138,7 +138,7 @@ >body : HTMLElement > : ^^^^^^^^^^^ >appendChild : (node: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >image : HTMLImageElement > : ^^^^^^^^^^^^^^^^ @@ -275,11 +275,11 @@ const { a, b, c } = import.meta.wellKnownProperty; >c : boolean > : ^^^^^^^ >import.meta.wellKnownProperty : { a: number; b: string; c: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >import.meta : ImportMeta > : ^^^^^^^^^^ >meta : ImportMeta > : ^^^^^^^^^^ >wellKnownProperty : { a: number; b: string; c: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ diff --git a/tests/baselines/reference/importMeta(module=es2020,target=esnext).types b/tests/baselines/reference/importMeta(module=es2020,target=esnext).types index 4476dd83c070c..62a9f5654ba8c 100644 --- a/tests/baselines/reference/importMeta(module=es2020,target=esnext).types +++ b/tests/baselines/reference/importMeta(module=es2020,target=esnext).types @@ -18,15 +18,15 @@ >fetch(new URL("../hamsters.jpg", import.meta.url).toString()) : Promise > : ^^^^^^^^^^^^^^^^^ >fetch : (input: RequestInfo | URL, init?: RequestInit) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >new URL("../hamsters.jpg", import.meta.url).toString() : string > : ^^^^^^ >new URL("../hamsters.jpg", import.meta.url).toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >new URL("../hamsters.jpg", import.meta.url) : URL > : ^^^ >URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string): boolean; createObjectURL(obj: Blob | MediaSource): string; revokeObjectURL(url: string): void; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >"../hamsters.jpg" : "../hamsters.jpg" > : ^^^^^^^^^^^^^^^^^ >import.meta.url : string @@ -38,7 +38,7 @@ >url : string > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ const blob = await response.blob(); >blob : Blob @@ -48,11 +48,11 @@ >response.blob() : Promise > : ^^^^^^^^^^^^^ >response.blob : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >response : Response > : ^^^^^^^^ >blob : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ const size = import.meta.scriptElement.dataset.size || 300; >size : any @@ -84,7 +84,7 @@ >new Image() : HTMLImageElement > : ^^^^^^^^^^^^^^^^ >Image : new (width?: number, height?: number) => HTMLImageElement -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ image.src = URL.createObjectURL(blob); >image.src = URL.createObjectURL(blob) : string @@ -98,11 +98,11 @@ >URL.createObjectURL(blob) : string > : ^^^^^^ >URL.createObjectURL : (obj: Blob | MediaSource) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string): boolean; createObjectURL(obj: Blob | MediaSource): string; revokeObjectURL(url: string): void; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >createObjectURL : (obj: Blob | MediaSource) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >blob : Blob > : ^^^^ @@ -130,7 +130,7 @@ >document.body.appendChild(image) : HTMLImageElement > : ^^^^^^^^^^^^^^^^ >document.body.appendChild : (node: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >document.body : HTMLElement > : ^^^^^^^^^^^ >document : Document @@ -138,7 +138,7 @@ >body : HTMLElement > : ^^^^^^^^^^^ >appendChild : (node: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >image : HTMLImageElement > : ^^^^^^^^^^^^^^^^ @@ -275,11 +275,11 @@ const { a, b, c } = import.meta.wellKnownProperty; >c : boolean > : ^^^^^^^ >import.meta.wellKnownProperty : { a: number; b: string; c: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >import.meta : ImportMeta > : ^^^^^^^^^^ >meta : ImportMeta > : ^^^^^^^^^^ >wellKnownProperty : { a: number; b: string; c: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ diff --git a/tests/baselines/reference/importMeta(module=esnext,target=es5).types b/tests/baselines/reference/importMeta(module=esnext,target=es5).types index 4476dd83c070c..62a9f5654ba8c 100644 --- a/tests/baselines/reference/importMeta(module=esnext,target=es5).types +++ b/tests/baselines/reference/importMeta(module=esnext,target=es5).types @@ -18,15 +18,15 @@ >fetch(new URL("../hamsters.jpg", import.meta.url).toString()) : Promise > : ^^^^^^^^^^^^^^^^^ >fetch : (input: RequestInfo | URL, init?: RequestInit) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >new URL("../hamsters.jpg", import.meta.url).toString() : string > : ^^^^^^ >new URL("../hamsters.jpg", import.meta.url).toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >new URL("../hamsters.jpg", import.meta.url) : URL > : ^^^ >URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string): boolean; createObjectURL(obj: Blob | MediaSource): string; revokeObjectURL(url: string): void; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >"../hamsters.jpg" : "../hamsters.jpg" > : ^^^^^^^^^^^^^^^^^ >import.meta.url : string @@ -38,7 +38,7 @@ >url : string > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ const blob = await response.blob(); >blob : Blob @@ -48,11 +48,11 @@ >response.blob() : Promise > : ^^^^^^^^^^^^^ >response.blob : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >response : Response > : ^^^^^^^^ >blob : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ const size = import.meta.scriptElement.dataset.size || 300; >size : any @@ -84,7 +84,7 @@ >new Image() : HTMLImageElement > : ^^^^^^^^^^^^^^^^ >Image : new (width?: number, height?: number) => HTMLImageElement -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ image.src = URL.createObjectURL(blob); >image.src = URL.createObjectURL(blob) : string @@ -98,11 +98,11 @@ >URL.createObjectURL(blob) : string > : ^^^^^^ >URL.createObjectURL : (obj: Blob | MediaSource) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string): boolean; createObjectURL(obj: Blob | MediaSource): string; revokeObjectURL(url: string): void; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >createObjectURL : (obj: Blob | MediaSource) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >blob : Blob > : ^^^^ @@ -130,7 +130,7 @@ >document.body.appendChild(image) : HTMLImageElement > : ^^^^^^^^^^^^^^^^ >document.body.appendChild : (node: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >document.body : HTMLElement > : ^^^^^^^^^^^ >document : Document @@ -138,7 +138,7 @@ >body : HTMLElement > : ^^^^^^^^^^^ >appendChild : (node: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >image : HTMLImageElement > : ^^^^^^^^^^^^^^^^ @@ -275,11 +275,11 @@ const { a, b, c } = import.meta.wellKnownProperty; >c : boolean > : ^^^^^^^ >import.meta.wellKnownProperty : { a: number; b: string; c: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >import.meta : ImportMeta > : ^^^^^^^^^^ >meta : ImportMeta > : ^^^^^^^^^^ >wellKnownProperty : { a: number; b: string; c: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ diff --git a/tests/baselines/reference/importMeta(module=esnext,target=esnext).types b/tests/baselines/reference/importMeta(module=esnext,target=esnext).types index 4476dd83c070c..62a9f5654ba8c 100644 --- a/tests/baselines/reference/importMeta(module=esnext,target=esnext).types +++ b/tests/baselines/reference/importMeta(module=esnext,target=esnext).types @@ -18,15 +18,15 @@ >fetch(new URL("../hamsters.jpg", import.meta.url).toString()) : Promise > : ^^^^^^^^^^^^^^^^^ >fetch : (input: RequestInfo | URL, init?: RequestInit) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >new URL("../hamsters.jpg", import.meta.url).toString() : string > : ^^^^^^ >new URL("../hamsters.jpg", import.meta.url).toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >new URL("../hamsters.jpg", import.meta.url) : URL > : ^^^ >URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string): boolean; createObjectURL(obj: Blob | MediaSource): string; revokeObjectURL(url: string): void; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >"../hamsters.jpg" : "../hamsters.jpg" > : ^^^^^^^^^^^^^^^^^ >import.meta.url : string @@ -38,7 +38,7 @@ >url : string > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ const blob = await response.blob(); >blob : Blob @@ -48,11 +48,11 @@ >response.blob() : Promise > : ^^^^^^^^^^^^^ >response.blob : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >response : Response > : ^^^^^^^^ >blob : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ const size = import.meta.scriptElement.dataset.size || 300; >size : any @@ -84,7 +84,7 @@ >new Image() : HTMLImageElement > : ^^^^^^^^^^^^^^^^ >Image : new (width?: number, height?: number) => HTMLImageElement -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ image.src = URL.createObjectURL(blob); >image.src = URL.createObjectURL(blob) : string @@ -98,11 +98,11 @@ >URL.createObjectURL(blob) : string > : ^^^^^^ >URL.createObjectURL : (obj: Blob | MediaSource) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string): boolean; createObjectURL(obj: Blob | MediaSource): string; revokeObjectURL(url: string): void; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >createObjectURL : (obj: Blob | MediaSource) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >blob : Blob > : ^^^^ @@ -130,7 +130,7 @@ >document.body.appendChild(image) : HTMLImageElement > : ^^^^^^^^^^^^^^^^ >document.body.appendChild : (node: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >document.body : HTMLElement > : ^^^^^^^^^^^ >document : Document @@ -138,7 +138,7 @@ >body : HTMLElement > : ^^^^^^^^^^^ >appendChild : (node: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >image : HTMLImageElement > : ^^^^^^^^^^^^^^^^ @@ -275,11 +275,11 @@ const { a, b, c } = import.meta.wellKnownProperty; >c : boolean > : ^^^^^^^ >import.meta.wellKnownProperty : { a: number; b: string; c: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >import.meta : ImportMeta > : ^^^^^^^^^^ >meta : ImportMeta > : ^^^^^^^^^^ >wellKnownProperty : { a: number; b: string; c: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ diff --git a/tests/baselines/reference/importMeta(module=system,target=es5).types b/tests/baselines/reference/importMeta(module=system,target=es5).types index 4476dd83c070c..62a9f5654ba8c 100644 --- a/tests/baselines/reference/importMeta(module=system,target=es5).types +++ b/tests/baselines/reference/importMeta(module=system,target=es5).types @@ -18,15 +18,15 @@ >fetch(new URL("../hamsters.jpg", import.meta.url).toString()) : Promise > : ^^^^^^^^^^^^^^^^^ >fetch : (input: RequestInfo | URL, init?: RequestInit) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >new URL("../hamsters.jpg", import.meta.url).toString() : string > : ^^^^^^ >new URL("../hamsters.jpg", import.meta.url).toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >new URL("../hamsters.jpg", import.meta.url) : URL > : ^^^ >URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string): boolean; createObjectURL(obj: Blob | MediaSource): string; revokeObjectURL(url: string): void; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >"../hamsters.jpg" : "../hamsters.jpg" > : ^^^^^^^^^^^^^^^^^ >import.meta.url : string @@ -38,7 +38,7 @@ >url : string > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ const blob = await response.blob(); >blob : Blob @@ -48,11 +48,11 @@ >response.blob() : Promise > : ^^^^^^^^^^^^^ >response.blob : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >response : Response > : ^^^^^^^^ >blob : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ const size = import.meta.scriptElement.dataset.size || 300; >size : any @@ -84,7 +84,7 @@ >new Image() : HTMLImageElement > : ^^^^^^^^^^^^^^^^ >Image : new (width?: number, height?: number) => HTMLImageElement -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ image.src = URL.createObjectURL(blob); >image.src = URL.createObjectURL(blob) : string @@ -98,11 +98,11 @@ >URL.createObjectURL(blob) : string > : ^^^^^^ >URL.createObjectURL : (obj: Blob | MediaSource) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string): boolean; createObjectURL(obj: Blob | MediaSource): string; revokeObjectURL(url: string): void; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >createObjectURL : (obj: Blob | MediaSource) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >blob : Blob > : ^^^^ @@ -130,7 +130,7 @@ >document.body.appendChild(image) : HTMLImageElement > : ^^^^^^^^^^^^^^^^ >document.body.appendChild : (node: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >document.body : HTMLElement > : ^^^^^^^^^^^ >document : Document @@ -138,7 +138,7 @@ >body : HTMLElement > : ^^^^^^^^^^^ >appendChild : (node: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >image : HTMLImageElement > : ^^^^^^^^^^^^^^^^ @@ -275,11 +275,11 @@ const { a, b, c } = import.meta.wellKnownProperty; >c : boolean > : ^^^^^^^ >import.meta.wellKnownProperty : { a: number; b: string; c: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >import.meta : ImportMeta > : ^^^^^^^^^^ >meta : ImportMeta > : ^^^^^^^^^^ >wellKnownProperty : { a: number; b: string; c: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ diff --git a/tests/baselines/reference/importMeta(module=system,target=esnext).types b/tests/baselines/reference/importMeta(module=system,target=esnext).types index 4476dd83c070c..62a9f5654ba8c 100644 --- a/tests/baselines/reference/importMeta(module=system,target=esnext).types +++ b/tests/baselines/reference/importMeta(module=system,target=esnext).types @@ -18,15 +18,15 @@ >fetch(new URL("../hamsters.jpg", import.meta.url).toString()) : Promise > : ^^^^^^^^^^^^^^^^^ >fetch : (input: RequestInfo | URL, init?: RequestInit) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >new URL("../hamsters.jpg", import.meta.url).toString() : string > : ^^^^^^ >new URL("../hamsters.jpg", import.meta.url).toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >new URL("../hamsters.jpg", import.meta.url) : URL > : ^^^ >URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string): boolean; createObjectURL(obj: Blob | MediaSource): string; revokeObjectURL(url: string): void; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >"../hamsters.jpg" : "../hamsters.jpg" > : ^^^^^^^^^^^^^^^^^ >import.meta.url : string @@ -38,7 +38,7 @@ >url : string > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ const blob = await response.blob(); >blob : Blob @@ -48,11 +48,11 @@ >response.blob() : Promise > : ^^^^^^^^^^^^^ >response.blob : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >response : Response > : ^^^^^^^^ >blob : () => Promise -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ const size = import.meta.scriptElement.dataset.size || 300; >size : any @@ -84,7 +84,7 @@ >new Image() : HTMLImageElement > : ^^^^^^^^^^^^^^^^ >Image : new (width?: number, height?: number) => HTMLImageElement -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ image.src = URL.createObjectURL(blob); >image.src = URL.createObjectURL(blob) : string @@ -98,11 +98,11 @@ >URL.createObjectURL(blob) : string > : ^^^^^^ >URL.createObjectURL : (obj: Blob | MediaSource) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string): boolean; createObjectURL(obj: Blob | MediaSource): string; revokeObjectURL(url: string): void; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >createObjectURL : (obj: Blob | MediaSource) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >blob : Blob > : ^^^^ @@ -130,7 +130,7 @@ >document.body.appendChild(image) : HTMLImageElement > : ^^^^^^^^^^^^^^^^ >document.body.appendChild : (node: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >document.body : HTMLElement > : ^^^^^^^^^^^ >document : Document @@ -138,7 +138,7 @@ >body : HTMLElement > : ^^^^^^^^^^^ >appendChild : (node: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >image : HTMLImageElement > : ^^^^^^^^^^^^^^^^ @@ -275,11 +275,11 @@ const { a, b, c } = import.meta.wellKnownProperty; >c : boolean > : ^^^^^^^ >import.meta.wellKnownProperty : { a: number; b: string; c: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >import.meta : ImportMeta > : ^^^^^^^^^^ >meta : ImportMeta > : ^^^^^^^^^^ >wellKnownProperty : { a: number; b: string; c: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ diff --git a/tests/baselines/reference/importMetaNarrowing(module=es2020).types b/tests/baselines/reference/importMetaNarrowing(module=es2020).types index fd6d033785ece..b74da8891c3ae 100644 --- a/tests/baselines/reference/importMetaNarrowing(module=es2020).types +++ b/tests/baselines/reference/importMetaNarrowing(module=es2020).types @@ -9,24 +9,24 @@ declare global { interface ImportMeta {foo?: () => void} }; if (import.meta.foo) { >import.meta.foo : (() => void) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >import.meta : ImportMeta > : ^^^^^^^^^^ >meta : ImportMeta > : ^^^^^^^^^^ >foo : (() => void) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ import.meta.foo(); >import.meta.foo() : void > : ^^^^ >import.meta.foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >import.meta : ImportMeta > : ^^^^^^^^^^ >meta : ImportMeta > : ^^^^^^^^^^ >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/importMetaNarrowing(module=esnext).types b/tests/baselines/reference/importMetaNarrowing(module=esnext).types index fd6d033785ece..b74da8891c3ae 100644 --- a/tests/baselines/reference/importMetaNarrowing(module=esnext).types +++ b/tests/baselines/reference/importMetaNarrowing(module=esnext).types @@ -9,24 +9,24 @@ declare global { interface ImportMeta {foo?: () => void} }; if (import.meta.foo) { >import.meta.foo : (() => void) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >import.meta : ImportMeta > : ^^^^^^^^^^ >meta : ImportMeta > : ^^^^^^^^^^ >foo : (() => void) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ import.meta.foo(); >import.meta.foo() : void > : ^^^^ >import.meta.foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >import.meta : ImportMeta > : ^^^^^^^^^^ >meta : ImportMeta > : ^^^^^^^^^^ >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/importMetaNarrowing(module=system).types b/tests/baselines/reference/importMetaNarrowing(module=system).types index fd6d033785ece..b74da8891c3ae 100644 --- a/tests/baselines/reference/importMetaNarrowing(module=system).types +++ b/tests/baselines/reference/importMetaNarrowing(module=system).types @@ -9,24 +9,24 @@ declare global { interface ImportMeta {foo?: () => void} }; if (import.meta.foo) { >import.meta.foo : (() => void) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >import.meta : ImportMeta > : ^^^^^^^^^^ >meta : ImportMeta > : ^^^^^^^^^^ >foo : (() => void) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ import.meta.foo(); >import.meta.foo() : void > : ^^^^ >import.meta.foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >import.meta : ImportMeta > : ^^^^^^^^^^ >meta : ImportMeta > : ^^^^^^^^^^ >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/importNonExportedMember.js b/tests/baselines/reference/importNonExportedMember.js index 8db7c1d65349e..9c935d0ac0ea5 100644 --- a/tests/baselines/reference/importNonExportedMember.js +++ b/tests/baselines/reference/importNonExportedMember.js @@ -12,7 +12,8 @@ import { foo, bar } from "./a"; //// [a.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.baz = exports.foo = void 0; +exports.foo = foo; +exports.baz = bar; //// [b.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/tests/baselines/reference/importNonExportedMember.types b/tests/baselines/reference/importNonExportedMember.types index 139566bce0e28..bf509c426e7a9 100644 --- a/tests/baselines/reference/importNonExportedMember.types +++ b/tests/baselines/reference/importNonExportedMember.types @@ -11,16 +11,16 @@ declare function bar(): any; export { foo, bar as baz }; >foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ >bar : () => any -> : ^^^^^^^^^ +> : ^^^^^^ >baz : () => any -> : ^^^^^^^^^ +> : ^^^^^^ === b.ts === import { foo, bar } from "./a"; >foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ >bar : any > : ^^^ diff --git a/tests/baselines/reference/importNonExportedMember1.js b/tests/baselines/reference/importNonExportedMember1.js index f72561c644085..571284f4eb3c0 100644 --- a/tests/baselines/reference/importNonExportedMember1.js +++ b/tests/baselines/reference/importNonExportedMember1.js @@ -12,7 +12,7 @@ import { bar } from "./a"; //// [a.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.foo = void 0; +exports.foo = foo; //// [b.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/tests/baselines/reference/importNonExportedMember1.types b/tests/baselines/reference/importNonExportedMember1.types index a37d448ba60c2..acb86d75a235a 100644 --- a/tests/baselines/reference/importNonExportedMember1.types +++ b/tests/baselines/reference/importNonExportedMember1.types @@ -11,7 +11,7 @@ declare function bar(): any; export { foo }; >foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ === b.ts === import { bar } from "./a"; diff --git a/tests/baselines/reference/importShouldNotBeElidedInDeclarationEmit.types b/tests/baselines/reference/importShouldNotBeElidedInDeclarationEmit.types index babfefafb0358..41627883f030f 100644 --- a/tests/baselines/reference/importShouldNotBeElidedInDeclarationEmit.types +++ b/tests/baselines/reference/importShouldNotBeElidedInDeclarationEmit.types @@ -21,7 +21,7 @@ export declare function makeThing(): Thing; === index.ts === import { makeThing } from "umd"; >makeThing : () => import("node_modules/umd").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^ export const thing = makeThing(); >thing : import("node_modules/umd").Thing @@ -29,5 +29,5 @@ export const thing = makeThing(); >makeThing() : import("node_modules/umd").Thing > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >makeThing : () => import("node_modules/umd").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^ diff --git a/tests/baselines/reference/importTypeGeneric.types b/tests/baselines/reference/importTypeGeneric.types index 2b26cd91c6e36..89f99fcf06016 100644 --- a/tests/baselines/reference/importTypeGeneric.types +++ b/tests/baselines/reference/importTypeGeneric.types @@ -14,8 +14,8 @@ export interface Foo { } === usage.ts === export function getFooFrom(v: T): import(T).Foo { ->getFooFrom : (v: T) => any -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ +>getFooFrom : (v: T) => import(T).Foo +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >v : T > : ^ @@ -27,8 +27,8 @@ export function getFooFrom(v: T): import(T).Foo { } export function getFooValueFrom(v: T): import(T).Foo["a"] { ->getFooValueFrom : (v: T) => any -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ +>getFooValueFrom : (v: T) => import(T).Foo["a"] +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >v : T > : ^ diff --git a/tests/baselines/reference/importTypeGenericArrowTypeParenthesized.types b/tests/baselines/reference/importTypeGenericArrowTypeParenthesized.types index d81d4c6729171..06465cd4faead 100644 --- a/tests/baselines/reference/importTypeGenericArrowTypeParenthesized.types +++ b/tests/baselines/reference/importTypeGenericArrowTypeParenthesized.types @@ -16,7 +16,7 @@ declare module "module" { === index.ts === import { fn } from "module"; >fn : (x: T) => import("module").Modifier -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ export const fail1 = fn((x: T): T => x); >fail1 : import("module").Modifier<((x: T) => T)> @@ -24,7 +24,7 @@ export const fail1 = fn((x: T): T => x); >fn((x: T): T => x) : import("module").Modifier<((x: T) => T)> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^ ^^ >fn : (x: T) => import("module").Modifier -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >(x: T): T => x : (x: T) => T > : ^ ^^ ^^ ^^^^^ >x : T @@ -38,7 +38,7 @@ export const fail2 = fn(function(x: T): T { >fn(function(x: T): T { return x;}) : import("module").Modifier<((x: T) => T)> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^ ^^ >fn : (x: T) => import("module").Modifier -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >function(x: T): T { return x;} : (x: T) => T > : ^ ^^ ^^ ^^^^^ >x : T @@ -56,7 +56,7 @@ export const works1 = fn((x: number) => x); >fn((x: number) => x) : import("module").Modifier<(x: number) => number> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >fn : (x: T) => import("module").Modifier -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >(x: number) => x : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >x : number @@ -76,7 +76,7 @@ export const works2 = fn(x => x); >fn(x => x) : import("module").Modifier > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >fn : (x: T) => import("module").Modifier -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >x => x : (x: T) => T > : ^^^^ ^^^^^^^^^ >x : T diff --git a/tests/baselines/reference/importTypeInJSDoc.types b/tests/baselines/reference/importTypeInJSDoc.types index 024ef3cc704d7..3ff67f242d631 100644 --- a/tests/baselines/reference/importTypeInJSDoc.types +++ b/tests/baselines/reference/importTypeInJSDoc.types @@ -70,15 +70,15 @@ a = new Foo({doer: Foo.Bar}); >Foo : typeof import("externs") > : ^^^^^^^^^^^^^^^^^^^^^^^^ >{doer: Foo.Bar} : { doer: (x: string, y?: number) => void; } -> : ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^ ^^^ >doer : (x: string, y?: number) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >Foo.Bar : (x: string, y?: number) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >Foo : typeof import("externs") > : ^^^^^^^^^^^^^^^^^^^^^^^^ >Bar : (x: string, y?: number) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ const q = /** @type {import("./externs").Bar} */({ doer: q => q }); >q : import("externs").Bar @@ -98,9 +98,9 @@ const q = /** @type {import("./externs").Bar} */({ doer: q => q }); const r = /** @type {typeof import("./externs").Bar} */(r => r); >r : (x: string, y?: number) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >(r => r) : (x: string, y?: number) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >r => r : (r: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >r : string diff --git a/tests/baselines/reference/importTypeTypeofClassStaticLookup.types b/tests/baselines/reference/importTypeTypeofClassStaticLookup.types index 3308bdf4c4097..8f16d6d9ad05b 100644 --- a/tests/baselines/reference/importTypeTypeofClassStaticLookup.types +++ b/tests/baselines/reference/importTypeTypeofClassStaticLookup.types @@ -13,7 +13,7 @@ export declare class A { === index.d.ts === export const foo: typeof import("./a").A.foo; >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >A : any > : ^^^ >foo : any diff --git a/tests/baselines/reference/importUsedInGenericImportResolves.types b/tests/baselines/reference/importUsedInGenericImportResolves.types index 1bf9376a37884..41ec7e365aff8 100644 --- a/tests/baselines/reference/importUsedInGenericImportResolves.types +++ b/tests/baselines/reference/importUsedInGenericImportResolves.types @@ -17,7 +17,7 @@ export declare const theme: { a: string } === test3.ts === export const a: import("./test1").T = null as any; >a : import("test1").T<{ a: string; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >theme : error >null as any : any diff --git a/tests/baselines/reference/import_reference-exported-alias.types b/tests/baselines/reference/import_reference-exported-alias.types index 3c4a15d05a11c..d2d317989b72a 100644 --- a/tests/baselines/reference/import_reference-exported-alias.types +++ b/tests/baselines/reference/import_reference-exported-alias.types @@ -27,13 +27,13 @@ var x = new UserServices().getUserName(); >new UserServices().getUserName() : string > : ^^^^^^ >new UserServices().getUserName : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >new UserServices() : Services.UserServices > : ^^^^^^^^^^^^^^^^^^^^^ >UserServices : typeof Services.UserServices > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >getUserName : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ === file1.ts === module App { diff --git a/tests/baselines/reference/import_reference-to-type-alias.types b/tests/baselines/reference/import_reference-to-type-alias.types index 6dfd87dcfe03e..0ee619113d5f1 100644 --- a/tests/baselines/reference/import_reference-to-type-alias.types +++ b/tests/baselines/reference/import_reference-to-type-alias.types @@ -21,7 +21,7 @@ var x = new Services.UserServices().getUserName(); >new Services.UserServices().getUserName() : string > : ^^^^^^ >new Services.UserServices().getUserName : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >new Services.UserServices() : Services.UserServices > : ^^^^^^^^^^^^^^^^^^^^^ >Services.UserServices : typeof Services.UserServices @@ -31,7 +31,7 @@ var x = new Services.UserServices().getUserName(); >UserServices : typeof Services.UserServices > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >getUserName : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ === file1.ts === export module App { diff --git a/tests/baselines/reference/importedModuleAddToGlobal.types b/tests/baselines/reference/importedModuleAddToGlobal.types index 4595882098610..f935bc74710e4 100644 --- a/tests/baselines/reference/importedModuleAddToGlobal.types +++ b/tests/baselines/reference/importedModuleAddToGlobal.types @@ -44,7 +44,7 @@ module C { function hello(): b.B { return null; } >hello : () => b.B -> : ^^^^^^^^^ +> : ^^^^^^ >b : any > : ^^^ } diff --git a/tests/baselines/reference/importingExportingTypes.types b/tests/baselines/reference/importingExportingTypes.types index 4f80564b60245..9a4b3e12f9f8c 100644 --- a/tests/baselines/reference/importingExportingTypes.types +++ b/tests/baselines/reference/importingExportingTypes.types @@ -24,7 +24,7 @@ declare module "fs" { === /index.js === import { writeFile, WriteFileOptions, WriteFileOptions as OtherName } from "fs"; >writeFile : (path: string, data: any, options: WriteFileOptions, callback: (err: Error) => void) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >WriteFileOptions : any > : ^^^ >WriteFileOptions : any diff --git a/tests/baselines/reference/importsNotUsedAsValues_error.types b/tests/baselines/reference/importsNotUsedAsValues_error.types index 8ace1859d0ec0..3f439eeaf5389 100644 --- a/tests/baselines/reference/importsNotUsedAsValues_error.types +++ b/tests/baselines/reference/importsNotUsedAsValues_error.types @@ -37,11 +37,11 @@ console.log(a, b); >console.log(a, b) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >a : A > : ^ >b : B @@ -68,11 +68,11 @@ console.log(a, b); >console.log(a, b) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >a : Default > : ^^^^^^^ >b : named.B @@ -99,11 +99,11 @@ console.log(a, b); >console.log(a, b) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >a : typeof A > : ^^^^^^^^ >b : Default @@ -161,11 +161,11 @@ console.log(c, d); >console.log(c, d) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >c : C.Two > : ^^^^^ >d : C.Two @@ -190,11 +190,11 @@ console.log(c, d); >console.log(c, d) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >c : C > : ^ >d : C.Two @@ -224,11 +224,11 @@ console.log(h); >console.log(h) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >h : H > : ^ diff --git a/tests/baselines/reference/inDoesNotOperateOnPrimitiveTypes.types b/tests/baselines/reference/inDoesNotOperateOnPrimitiveTypes.types index 5cb80e882bff3..21c427bfcf690 100644 --- a/tests/baselines/reference/inDoesNotOperateOnPrimitiveTypes.types +++ b/tests/baselines/reference/inDoesNotOperateOnPrimitiveTypes.types @@ -3,9 +3,9 @@ === inDoesNotOperateOnPrimitiveTypes.ts === const validHasKey = ( >validHasKey : (thing: T, key: string) => boolean -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >( thing: T, key: string,): boolean => { return key in thing; // Ok} : (thing: T, key: string) => boolean -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ thing: T, >thing : T @@ -53,7 +53,7 @@ const alsoValidHasKey = ( function invalidHasKey( >invalidHasKey : (thing: T, key: string) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ thing: T, >thing : T @@ -75,7 +75,7 @@ function invalidHasKey( function union1(thing: T | U) { >union1 : (thing: T | U) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >thing : T | U > : ^^^^^ @@ -90,7 +90,7 @@ function union1(thing: T | U) { function union2(thing: T | U) { >union2 : (thing: T | U) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >thing : T | U > : ^^^^^ @@ -168,7 +168,7 @@ function union3(thing: T | string | number) { function union4(thing: T) { >union4 : (thing: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >thing : T > : ^ @@ -182,8 +182,8 @@ function union4(thing: T) { } function union5(p: T | U) { ->union5 : (p: T | U) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>union5 : (p: T | U) => void +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >p : T | U > : ^^^^^ @@ -225,7 +225,7 @@ function union5(p: T | U) function intersection1(thing: T & U) { >intersection1 : (thing: T & U) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >thing : T & U > : ^^^^^ diff --git a/tests/baselines/reference/inKeywordAndIntersection.types b/tests/baselines/reference/inKeywordAndIntersection.types index 4a843105cbef7..88803f0ef3e1b 100644 --- a/tests/baselines/reference/inKeywordAndIntersection.types +++ b/tests/baselines/reference/inKeywordAndIntersection.types @@ -29,13 +29,13 @@ function f10(obj: A & { x: string } | B) { >obj instanceof Object : boolean > : ^^^^^^^ >obj : B | (A & { x: string; }) -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ obj; // A & { x: string } | B >obj : B | (A & { x: string; }) -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^ } else { obj; // Error @@ -84,16 +84,16 @@ if (instance instanceof ClassOne) { >instance : InstanceOne | InstanceTwo > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >ClassOne : (new () => InstanceOne) & { foo: true; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^ instance.one(); >instance.one() : void > : ^^^^ >instance.one : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >instance : InstanceOne > : ^^^^^^^^^^^ >one : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/inKeywordAndUnknown.types b/tests/baselines/reference/inKeywordAndUnknown.types index cc52f321244d3..3b18bfedcabd5 100644 --- a/tests/baselines/reference/inKeywordAndUnknown.types +++ b/tests/baselines/reference/inKeywordAndUnknown.types @@ -172,7 +172,7 @@ function f3(x: {}) { function f4(x: T) { >f4 : (x: T) => x is T & Object & Record<"a", unknown> -> : ^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : T > : ^ @@ -218,7 +218,7 @@ function f5(x: T & {}) { function f6(x: T & {}) { >f6 : (x: T & {}) => x is T & Object & Record<"a", unknown> -> : ^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : T > : ^ @@ -241,7 +241,7 @@ function f6(x: T & {}) { function f7(x: T & {}) { >f7 : (x: T & {}) => x is T & Record<"a", unknown> -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : T > : ^ diff --git a/tests/baselines/reference/inKeywordNarrowingWithNoUncheckedIndexedAccess.types b/tests/baselines/reference/inKeywordNarrowingWithNoUncheckedIndexedAccess.types index 32fae2ad92a17..b6ceb2de378e2 100644 --- a/tests/baselines/reference/inKeywordNarrowingWithNoUncheckedIndexedAccess.types +++ b/tests/baselines/reference/inKeywordNarrowingWithNoUncheckedIndexedAccess.types @@ -17,7 +17,7 @@ function f1(obj: Record) { >invariant("test" in obj) : void > : ^^^^ >invariant : (condition: boolean) => asserts condition -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"test" in obj : boolean > : ^^^^^^^ >"test" : "test" @@ -120,11 +120,11 @@ function f4(obj: Record) { >obj.hasOwnProperty("test") : boolean > : ^^^^^^^ >obj.hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >obj : Record > : ^^^^^^^^^^^^^^^^^^^^^^ >hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"test" : "test" > : ^^^^^^ diff --git a/tests/baselines/reference/inKeywordTypeguard(strict=false).types b/tests/baselines/reference/inKeywordTypeguard(strict=false).types index b73e57b3e16a1..eaf32e71c8c0b 100644 --- a/tests/baselines/reference/inKeywordTypeguard(strict=false).types +++ b/tests/baselines/reference/inKeywordTypeguard(strict=false).types @@ -188,11 +188,11 @@ function negativeTestClassesWithMembers(x: AWithMethod | BWithMethod) { >x.a() : string > : ^^^^^^ >x.a : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : AWithMethod > : ^^^^^^^^^^^ >a : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ x.b(); >x.b() : any @@ -479,7 +479,7 @@ function positiveIntersectionTest(x: { a: string } & { b: string }) { >"a" : "a" > : ^^^ >x : { a: string; } & { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ let s: string = x.a; >s : string @@ -487,7 +487,7 @@ function positiveIntersectionTest(x: { a: string } & { b: string }) { >x.a : string > : ^^^^^^ >x : { a: string; } & { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >a : string > : ^^^^^^ @@ -543,7 +543,7 @@ function narrowsToNever(x: { l: number } | { r: number }) { >"l" : "l" > : ^^^ >x : { l: number; } | { r: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ v = x.l; >v = x.l : number @@ -553,7 +553,7 @@ function narrowsToNever(x: { l: number } | { r: number }) { >x.l : number > : ^^^^^^ >x : { l: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >l : number > : ^^^^^^ } @@ -563,7 +563,7 @@ function narrowsToNever(x: { l: number } | { r: number }) { >"r" : "r" > : ^^^ >x : { r: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ v = x.r; >v = x.r : number @@ -573,7 +573,7 @@ function narrowsToNever(x: { l: number } | { r: number }) { >x.r : number > : ^^^^^^ >x : { r: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >r : number > : ^^^^^^ } @@ -613,7 +613,7 @@ if (isAOrB(x)) { >isAOrB(x) : boolean > : ^^^^^^^ >isAOrB : (x: unknown) => x is AOrB -> : ^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : unknown > : ^^^^^^^ @@ -629,7 +629,7 @@ if (isAOrB(x)) { >x.aProp : number > : ^^^^^^ >x : { aProp: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >aProp : number > : ^^^^^^ } @@ -639,13 +639,13 @@ if (isAOrB(x)) { >"bProp" : "bProp" > : ^^^^^^^ >x : { bProp: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ x.bProp; >x.bProp : number > : ^^^^^^ >x : { bProp: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >bProp : number > : ^^^^^^ } @@ -680,20 +680,20 @@ function negativeIntersectionTest() { window.ontouchstart >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) -> : ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^ } else { window.ontouchstart >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) -> : ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^ } } @@ -1055,13 +1055,13 @@ function f4(x: { a: string }) { >"a" : "a" > : ^^^ >x : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ x.a; >x.a : string > : ^^^^^^ >x : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : string > : ^^^^^^ } @@ -1075,25 +1075,25 @@ function f4(x: { a: string }) { >"a" : "a" > : ^^^ >x : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >"b" in x : boolean > : ^^^^^^^ >"b" : "b" > : ^^^ >x : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >"c" in x : boolean > : ^^^^^^^ >"c" : "c" > : ^^^ >x : { a: string; } & Record<"b", unknown> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ x.a; >x.a : string > : ^^^^^^ >x : { a: string; } & Record<"b", unknown> & Record<"c", unknown> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : string > : ^^^^^^ @@ -1101,7 +1101,7 @@ function f4(x: { a: string }) { >x.b : unknown > : ^^^^^^^ >x : { a: string; } & Record<"b", unknown> & Record<"c", unknown> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >b : unknown > : ^^^^^^^ @@ -1109,7 +1109,7 @@ function f4(x: { a: string }) { >x.c : unknown > : ^^^^^^^ >x : { a: string; } & Record<"b", unknown> & Record<"c", unknown> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >c : unknown > : ^^^^^^^ } @@ -1131,11 +1131,11 @@ function f5(x: { a: string } | { b: string }) { >"a" : "a" > : ^^^ >x : { a: string; } | { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ x; // { a: string } >x : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ } else if ("b" in x) { >"b" in x : boolean @@ -1143,11 +1143,11 @@ function f5(x: { a: string } | { b: string }) { >"b" : "b" > : ^^^ >x : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ x; // { b: string } >x : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ } else { x; // never @@ -1172,11 +1172,11 @@ function f6(x: { a: string } | { b: string }) { >"a" : "a" > : ^^^ >x : { a: string; } | { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ x; // { a: string } >x : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ } else if ("a" in x) { >"a" in x : boolean @@ -1184,16 +1184,16 @@ function f6(x: { a: string } | { b: string }) { >"a" : "a" > : ^^^ >x : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ x; // { b: string } & Record<"a", unknown> >x : { b: string; } & Record<"a", unknown> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ } else { x; // { b: string } >x : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ } } @@ -1221,11 +1221,11 @@ function f7(x: { a: string, b: number }, y: { a: string } & { b: number }) { >"a" : "a" > : ^^^ >x : { a: string; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ x; >x : { a: string; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ } else { x; // never @@ -1238,11 +1238,11 @@ function f7(x: { a: string, b: number }, y: { a: string } & { b: number }) { >"a" : "a" > : ^^^ >y : { a: string; } & { b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ y; >y : { a: string; } & { b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ } else { y; // never @@ -1417,11 +1417,11 @@ function f10(x: { a: unknown }) { >"a" : "a" > : ^^^ >x : { a: unknown; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ x; >x : { a: unknown; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ } else { x; @@ -1444,11 +1444,11 @@ function f11(x: { a: any }) { >"a" : "a" > : ^^^ >x : { a: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ x; >x : { a: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ } else { x; @@ -1471,11 +1471,11 @@ function f12(x: { a: string }) { >"a" : "a" > : ^^^ >x : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ x; >x : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ } else { x; @@ -1498,16 +1498,16 @@ function f13(x: { a?: string }) { >"a" : "a" > : ^^^ >x : { a?: string; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ x; >x : { a?: string; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ } else { x; >x : { a?: string; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ } } @@ -1524,12 +1524,12 @@ function f14(x: { a: string | undefined }) { > : ^^^^^^^ >"a" : "a" > : ^^^ ->x : { a: string; } -> : ^^^^^^^^^^^^^^ +>x : { a: string | undefined; } +> : ^^^^^ ^^^ x; ->x : { a: string; } -> : ^^^^^^^^^^^^^^ +>x : { a: string | undefined; } +> : ^^^^^ ^^^ } else { x; @@ -1551,17 +1551,17 @@ function f15(x: { a?: string | undefined }) { > : ^^^^^^^ >"a" : "a" > : ^^^ ->x : { a?: string; } -> : ^^^^^^^^^^^^^^^ +>x : { a?: string | undefined; } +> : ^^^^^^ ^^^ x; ->x : { a?: string; } -> : ^^^^^^^^^^^^^^^ +>x : { a?: string | undefined; } +> : ^^^^^^ ^^^ } else { x; ->x : { a?: string; } -> : ^^^^^^^^^^^^^^^ +>x : { a?: string | undefined; } +> : ^^^^^^ ^^^ } } @@ -1655,8 +1655,8 @@ const checkIsTouchDevice = () => // Repro from #51501 function isHTMLTable(table: T): boolean { ->isHTMLTable : (table: T) => boolean -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +>isHTMLTable : (table: T) => boolean +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >table : T > : ^ @@ -1681,9 +1681,9 @@ function isHTMLTable(table: T): boolean { const f =

    (a: P & {}) => { >f :

    (a: P & {}) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >

    (a: P & {}) => { "foo" in a;} :

    (a: P & {}) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >a : P > : ^ @@ -1701,7 +1701,7 @@ const f =

    (a: P & {}) => { function test1>(obj: T) { >test1 : >(obj: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >obj : T > : ^ @@ -1711,11 +1711,11 @@ function test1>(obj: T) { >Array.isArray(obj) : boolean > : ^^^^^^^ >Array.isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >obj : any[] | Record > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'length' in obj : boolean @@ -1738,7 +1738,7 @@ function test1>(obj: T) { function test2>(obj: T) { >test2 : >(obj: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >obj : T > : ^ @@ -1746,11 +1746,11 @@ function test2>(obj: T) { >Array.isArray(obj) : boolean > : ^^^^^^^ >Array.isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >obj : any[] | Record > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -1767,7 +1767,7 @@ function test2>(obj: T) { function test3>(obj: T) { >test3 : >(obj: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >obj : T > : ^ diff --git a/tests/baselines/reference/inKeywordTypeguard(strict=true).types b/tests/baselines/reference/inKeywordTypeguard(strict=true).types index 0fbf855da4bb6..118e1c698a636 100644 --- a/tests/baselines/reference/inKeywordTypeguard(strict=true).types +++ b/tests/baselines/reference/inKeywordTypeguard(strict=true).types @@ -191,11 +191,11 @@ function negativeTestClassesWithMembers(x: AWithMethod | BWithMethod) { >x.a() : string > : ^^^^^^ >x.a : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : AWithMethod > : ^^^^^^^^^^^ >a : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ x.b(); >x.b() : any @@ -482,7 +482,7 @@ function positiveIntersectionTest(x: { a: string } & { b: string }) { >"a" : "a" > : ^^^ >x : { a: string; } & { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ let s: string = x.a; >s : string @@ -490,7 +490,7 @@ function positiveIntersectionTest(x: { a: string } & { b: string }) { >x.a : string > : ^^^^^^ >x : { a: string; } & { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >a : string > : ^^^^^^ @@ -546,7 +546,7 @@ function narrowsToNever(x: { l: number } | { r: number }) { >"l" : "l" > : ^^^ >x : { l: number; } | { r: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ v = x.l; >v = x.l : number @@ -556,7 +556,7 @@ function narrowsToNever(x: { l: number } | { r: number }) { >x.l : number > : ^^^^^^ >x : { l: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >l : number > : ^^^^^^ } @@ -566,7 +566,7 @@ function narrowsToNever(x: { l: number } | { r: number }) { >"r" : "r" > : ^^^ >x : { r: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ v = x.r; >v = x.r : number @@ -576,7 +576,7 @@ function narrowsToNever(x: { l: number } | { r: number }) { >x.r : number > : ^^^^^^ >x : { r: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >r : number > : ^^^^^^ } @@ -616,7 +616,7 @@ if (isAOrB(x)) { >isAOrB(x) : boolean > : ^^^^^^^ >isAOrB : (x: unknown) => x is AOrB -> : ^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : unknown > : ^^^^^^^ @@ -632,7 +632,7 @@ if (isAOrB(x)) { >x.aProp : number > : ^^^^^^ >x : { aProp: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >aProp : number > : ^^^^^^ } @@ -642,13 +642,13 @@ if (isAOrB(x)) { >"bProp" : "bProp" > : ^^^^^^^ >x : { bProp: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ x.bProp; >x.bProp : number > : ^^^^^^ >x : { bProp: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >bProp : number > : ^^^^^^ } @@ -683,20 +683,20 @@ function negativeIntersectionTest() { window.ontouchstart >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 -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ } else { window.ontouchstart >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 -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ } } @@ -1058,13 +1058,13 @@ function f4(x: { a: string }) { >"a" : "a" > : ^^^ >x : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ x.a; >x.a : string > : ^^^^^^ >x : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : string > : ^^^^^^ } @@ -1078,25 +1078,25 @@ function f4(x: { a: string }) { >"a" : "a" > : ^^^ >x : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >"b" in x : boolean > : ^^^^^^^ >"b" : "b" > : ^^^ >x : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >"c" in x : boolean > : ^^^^^^^ >"c" : "c" > : ^^^ >x : { a: string; } & Record<"b", unknown> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ x.a; >x.a : string > : ^^^^^^ >x : { a: string; } & Record<"b", unknown> & Record<"c", unknown> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : string > : ^^^^^^ @@ -1104,7 +1104,7 @@ function f4(x: { a: string }) { >x.b : unknown > : ^^^^^^^ >x : { a: string; } & Record<"b", unknown> & Record<"c", unknown> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >b : unknown > : ^^^^^^^ @@ -1112,7 +1112,7 @@ function f4(x: { a: string }) { >x.c : unknown > : ^^^^^^^ >x : { a: string; } & Record<"b", unknown> & Record<"c", unknown> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >c : unknown > : ^^^^^^^ } @@ -1134,11 +1134,11 @@ function f5(x: { a: string } | { b: string }) { >"a" : "a" > : ^^^ >x : { a: string; } | { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ x; // { a: string } >x : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ } else if ("b" in x) { >"b" in x : boolean @@ -1146,11 +1146,11 @@ function f5(x: { a: string } | { b: string }) { >"b" : "b" > : ^^^ >x : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ x; // { b: string } >x : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ } else { x; // never @@ -1175,11 +1175,11 @@ function f6(x: { a: string } | { b: string }) { >"a" : "a" > : ^^^ >x : { a: string; } | { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ x; // { a: string } >x : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ } else if ("a" in x) { >"a" in x : boolean @@ -1187,16 +1187,16 @@ function f6(x: { a: string } | { b: string }) { >"a" : "a" > : ^^^ >x : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ x; // { b: string } & Record<"a", unknown> >x : { b: string; } & Record<"a", unknown> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ } else { x; // { b: string } >x : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ } } @@ -1224,11 +1224,11 @@ function f7(x: { a: string, b: number }, y: { a: string } & { b: number }) { >"a" : "a" > : ^^^ >x : { a: string; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ x; >x : { a: string; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ } else { x; // never @@ -1241,11 +1241,11 @@ function f7(x: { a: string, b: number }, y: { a: string } & { b: number }) { >"a" : "a" > : ^^^ >y : { a: string; } & { b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ y; >y : { a: string; } & { b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ } else { y; // never @@ -1420,11 +1420,11 @@ function f10(x: { a: unknown }) { >"a" : "a" > : ^^^ >x : { a: unknown; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ x; >x : { a: unknown; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ } else { x; @@ -1447,11 +1447,11 @@ function f11(x: { a: any }) { >"a" : "a" > : ^^^ >x : { a: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ x; >x : { a: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ } else { x; @@ -1474,11 +1474,11 @@ function f12(x: { a: string }) { >"a" : "a" > : ^^^ >x : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ x; >x : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ } else { x; @@ -1500,17 +1500,17 @@ function f13(x: { a?: string }) { > : ^^^^^^^ >"a" : "a" > : ^^^ ->x : { a?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x : { a?: string; } +> : ^^^^^^ ^^^ x; ->x : { a?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x : { a?: string; } +> : ^^^^^^ ^^^ } else { x; ->x : { a?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x : { a?: string; } +> : ^^^^^^ ^^^ } } @@ -1528,11 +1528,11 @@ function f14(x: { a: string | undefined }) { >"a" : "a" > : ^^^ >x : { a: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ x; >x : { a: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ } else { x; @@ -1555,16 +1555,16 @@ function f15(x: { a?: string | undefined }) { >"a" : "a" > : ^^^ >x : { a?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ x; >x : { a?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ } else { x; >x : { a?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ } } @@ -1659,7 +1659,7 @@ const checkIsTouchDevice = () => function isHTMLTable(table: T): boolean { >isHTMLTable : (table: T) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >table : T > : ^ @@ -1684,9 +1684,9 @@ function isHTMLTable(table: T): boolean { const f =

    (a: P & {}) => { >f :

    (a: P & {}) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >

    (a: P & {}) => { "foo" in a;} :

    (a: P & {}) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >a : P > : ^ @@ -1704,7 +1704,7 @@ const f =

    ><>
    : any @@ -51,7 +51,7 @@ import {h, Fragment} from "./renderer"; /* @jsxfrag null */ import {jsx} from "./renderer"; >jsx : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ <> ><> : any @@ -70,9 +70,9 @@ import {jsx} from "./renderer"; */ import {h, Fragment} from "./renderer"; >h : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >Fragment : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ <> ><> : any @@ -83,7 +83,7 @@ import {h, Fragment} from "./renderer"; /* @jsxfrag null */ import {jsx} from "./renderer"; >jsx : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ <> ><> : any @@ -96,7 +96,7 @@ import {jsx} from "./renderer"; */ import {Fragment} from "./renderer"; >Fragment : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ <> ><> : any @@ -117,9 +117,9 @@ import {} from "./renderer"; */ import {h, Fragment} from "./renderer"; >h : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >Fragment : () => void -> : ^^^^^^^^^^ +> : ^^^^^^
    >
    : any @@ -134,7 +134,7 @@ import {h, Fragment} from "./renderer"; /* @jsxfrag null */ import {jsx} from "./renderer"; >jsx : () => void -> : ^^^^^^^^^^ +> : ^^^^^^
    >
    : any @@ -150,7 +150,7 @@ import {jsx} from "./renderer"; */ import {h} from "./renderer"; >h : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ function Component() { return null; } >Component : () => any diff --git a/tests/baselines/reference/inlineJsxAndJsxFragPragmaOverridesCompilerOptions.types b/tests/baselines/reference/inlineJsxAndJsxFragPragmaOverridesCompilerOptions.types index 4e42cbd030159..8fb864cf2a86e 100644 --- a/tests/baselines/reference/inlineJsxAndJsxFragPragmaOverridesCompilerOptions.types +++ b/tests/baselines/reference/inlineJsxAndJsxFragPragmaOverridesCompilerOptions.types @@ -38,9 +38,9 @@ export function h(): void; === reacty.tsx === import {createElement, Fragment} from "./react"; >createElement : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >Fragment : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ <> ><> : error @@ -57,9 +57,9 @@ import {createElement, Fragment} from "./react"; */ import {h, Frag} from "./preact"; >h : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >Frag : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ <>
    ><>
    : error @@ -76,7 +76,7 @@ import {h, Frag} from "./preact"; */ import {h} from "./snabbdom"; >h : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ <>
    ><>
    : error @@ -91,11 +91,11 @@ import {h} from "./snabbdom"; /* @jsxFrag Fragment */ import {h} from "./preact"; >h : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ import {Fragment} from "./react"; >Fragment : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ <> ><> : error diff --git a/tests/baselines/reference/inlineJsxFactoryDeclarations.types b/tests/baselines/reference/inlineJsxFactoryDeclarations.types index 26f61e56f951b..1d800f0d80c77 100644 --- a/tests/baselines/reference/inlineJsxFactoryDeclarations.types +++ b/tests/baselines/reference/inlineJsxFactoryDeclarations.types @@ -27,9 +27,9 @@ export function createElement(): void; export { dom as default }; >dom : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ === otherreacty.tsx === /** @jsx React.createElement */ @@ -48,23 +48,23 @@ import * as React from "./renderer"; /** @jsx h */ import { dom as h } from "./renderer" >dom : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >h : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ export const prerendered = ; >prerendered : error > : error >h : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >h : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ === othernoalias.tsx === /** @jsx otherdom */ import { otherdom } from "./renderer" >otherdom : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ export const prerendered2 = ; >prerendered2 : error @@ -77,7 +77,7 @@ export const prerendered2 = ; === reacty.tsx === import React from "./renderer" >React : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ export const prerendered3 = ; >prerendered3 : error @@ -91,7 +91,7 @@ export const prerendered3 = ; /** @jsx dom */ import { dom } from "./renderer" >dom : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ > : error diff --git a/tests/baselines/reference/inlineJsxFactoryDeclarationsLocalTypes.types b/tests/baselines/reference/inlineJsxFactoryDeclarationsLocalTypes.types index 028cbe5ea2851..a12452b695aa8 100644 --- a/tests/baselines/reference/inlineJsxFactoryDeclarationsLocalTypes.types +++ b/tests/baselines/reference/inlineJsxFactoryDeclarationsLocalTypes.types @@ -94,7 +94,7 @@ export function predom(): predom.JSX.Element; /** @jsx predom */ import { predom } from "./renderer2" >predom : () => predom.JSX.Element -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ export const MySFC = (props: {x: number, y: number, children?: predom.JSX.Element[]}) =>

    {props.x} + {props.y} = {props.x + props.y}{...this.props.children}

    ; >MySFC : (props: { x: number; y: number; children?: predom.JSX.Element[]; }) => predom.JSX.Element @@ -120,13 +120,13 @@ export const MySFC = (props: {x: number, y: number, children?: predom.JSX.Elemen >props.x : number > : ^^^^^^ >props : { x: number; y: number; children?: predom.JSX.Element[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^ ^^^ >x : number > : ^^^^^^ >props.y : number > : ^^^^^^ >props : { x: number; y: number; children?: predom.JSX.Element[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^ ^^^ >y : number > : ^^^^^^ >props.x + props.y : number @@ -134,13 +134,13 @@ export const MySFC = (props: {x: number, y: number, children?: predom.JSX.Elemen >props.x : number > : ^^^^^^ >props : { x: number; y: number; children?: predom.JSX.Element[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^ ^^^ >x : number > : ^^^^^^ >props.y : number > : ^^^^^^ >props : { x: number; y: number; children?: predom.JSX.Element[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^ ^^^ >y : number > : ^^^^^^ >this.props.children : any @@ -162,7 +162,7 @@ export class MyClass implements predom.JSX.Element { >predom.JSX : any > : ^^^ >predom : () => predom.JSX.Element -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >JSX : any > : ^^^ @@ -198,21 +198,21 @@ export class MyClass implements predom.JSX.Element { >this.props.x : number > : ^^^^^^ >this.props : { x: number; y: number; children?: predom.JSX.Element[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^ ^^^ >this : this > : ^^^^ >props : { x: number; y: number; children?: predom.JSX.Element[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^ ^^^ >x : number > : ^^^^^^ >this.props.y : number > : ^^^^^^ >this.props : { x: number; y: number; children?: predom.JSX.Element[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^ ^^^ >this : this > : ^^^^ >props : { x: number; y: number; children?: predom.JSX.Element[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^ ^^^ >y : number > : ^^^^^^ >this.props.x + this.props.y : number @@ -220,21 +220,21 @@ export class MyClass implements predom.JSX.Element { >this.props.x : number > : ^^^^^^ >this.props : { x: number; y: number; children?: predom.JSX.Element[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^ ^^^ >this : this > : ^^^^ >props : { x: number; y: number; children?: predom.JSX.Element[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^ ^^^ >x : number > : ^^^^^^ >this.props.y : number > : ^^^^^^ >this.props : { x: number; y: number; children?: predom.JSX.Element[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^ ^^^ >this : this > : ^^^^ >props : { x: number; y: number; children?: predom.JSX.Element[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^ ^^^ >y : number > : ^^^^^^ @@ -242,11 +242,11 @@ export class MyClass implements predom.JSX.Element { >this.props.children : predom.JSX.Element[] > : ^^^^^^^^^^^^^^^^^^^^ >this.props : { x: number; y: number; children?: predom.JSX.Element[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^ ^^^ >this : this > : ^^^^ >props : { x: number; y: number; children?: predom.JSX.Element[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^ ^^^ >children : predom.JSX.Element[] > : ^^^^^^^^^^^^^^^^^^^^ @@ -309,13 +309,13 @@ export default /** @jsx dom */ import { dom } from "./renderer" >dom : () => dom.JSX.Element -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ import prerendered, {MySFC, MyClass, tree} from "./component"; >prerendered : import("renderer2").predom.JSX.Element > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >MySFC : (props: { x: number; y: number; children?: import("renderer2").predom.JSX.Element[]; }) => import("renderer2").predom.JSX.Element -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >MyClass : typeof MyClass > : ^^^^^^^^^^^^^^ >tree : import("renderer2").predom.JSX.Element @@ -363,13 +363,13 @@ const DOMSFC = (props: {x: number, y: number, children?: dom.JSX.Element[]}) => >props.x : number > : ^^^^^^ >props : { x: number; y: number; children?: dom.JSX.Element[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^ ^^^ >x : number > : ^^^^^^ >props.y : number > : ^^^^^^ >props : { x: number; y: number; children?: dom.JSX.Element[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^ ^^^ >y : number > : ^^^^^^ >props.x + props.y : number @@ -377,19 +377,19 @@ const DOMSFC = (props: {x: number, y: number, children?: dom.JSX.Element[]}) => >props.x : number > : ^^^^^^ >props : { x: number; y: number; children?: dom.JSX.Element[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^ ^^^ >x : number > : ^^^^^^ >props.y : number > : ^^^^^^ >props : { x: number; y: number; children?: dom.JSX.Element[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^ ^^^ >y : number > : ^^^^^^ >props.children : dom.JSX.Element[] > : ^^^^^^^^^^^^^^^^^ >props : { x: number; y: number; children?: dom.JSX.Element[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^ ^^^ >children : dom.JSX.Element[] > : ^^^^^^^^^^^^^^^^^ >p : any @@ -401,7 +401,7 @@ class DOMClass implements dom.JSX.Element { >dom.JSX : any > : ^^^ >dom : () => dom.JSX.Element -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >JSX : any > : ^^^ @@ -435,21 +435,21 @@ class DOMClass implements dom.JSX.Element { >this.props.x : number > : ^^^^^^ >this.props : { x: number; y: number; children?: dom.JSX.Element[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^ ^^^ >this : this > : ^^^^ >props : { x: number; y: number; children?: dom.JSX.Element[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^ ^^^ >x : number > : ^^^^^^ >this.props.y : number > : ^^^^^^ >this.props : { x: number; y: number; children?: dom.JSX.Element[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^ ^^^ >this : this > : ^^^^ >props : { x: number; y: number; children?: dom.JSX.Element[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^ ^^^ >y : number > : ^^^^^^ >this.props.x + this.props.y : number @@ -457,31 +457,31 @@ class DOMClass implements dom.JSX.Element { >this.props.x : number > : ^^^^^^ >this.props : { x: number; y: number; children?: dom.JSX.Element[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^ ^^^ >this : this > : ^^^^ >props : { x: number; y: number; children?: dom.JSX.Element[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^ ^^^ >x : number > : ^^^^^^ >this.props.y : number > : ^^^^^^ >this.props : { x: number; y: number; children?: dom.JSX.Element[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^ ^^^ >this : this > : ^^^^ >props : { x: number; y: number; children?: dom.JSX.Element[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^ ^^^ >y : number > : ^^^^^^ >this.props.children : dom.JSX.Element[] > : ^^^^^^^^^^^^^^^^^ >this.props : { x: number; y: number; children?: dom.JSX.Element[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^ ^^^ >this : this > : ^^^^ >props : { x: number; y: number; children?: dom.JSX.Element[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^ ^^^ >children : dom.JSX.Element[] > : ^^^^^^^^^^^^^^^^^ >p : any @@ -539,7 +539,7 @@ const _brokenTree = : dom.JSX.Element > : ^^^^^^^^^^^^^^^ >MySFC : (props: { x: number; y: number; children?: import("renderer2").predom.JSX.Element[]; }) => import("renderer2").predom.JSX.Element -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number > : ^^^^^^ >1 : 1 @@ -573,7 +573,7 @@ const _brokenTree = 6 : 6 > : ^ >MySFC : (props: { x: number; y: number; children?: import("renderer2").predom.JSX.Element[]; }) => import("renderer2").predom.JSX.Element -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // Should fail, nondom isn't allowed as children of dom const _brokenTree2 = {tree}{tree} diff --git a/tests/baselines/reference/inlineJsxFactoryLocalTypeGlobalFallback.types b/tests/baselines/reference/inlineJsxFactoryLocalTypeGlobalFallback.types index a4f6fc7d52634..f2339e1b406ed 100644 --- a/tests/baselines/reference/inlineJsxFactoryLocalTypeGlobalFallback.types +++ b/tests/baselines/reference/inlineJsxFactoryLocalTypeGlobalFallback.types @@ -81,7 +81,7 @@ export function predom(): predom.JSX.Element; /** @jsx predom */ import { predom } from "./renderer2" >predom : () => predom.JSX.Element -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ export default > : predom.JSX.Element @@ -95,7 +95,7 @@ export default /** @jsx dom */ import { dom } from "./renderer" >dom : () => JSX.Element -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ import prerendered from "./component"; >prerendered : import("renderer2").predom.JSX.Element diff --git a/tests/baselines/reference/inlineJsxFactoryOverridesCompilerOption.types b/tests/baselines/reference/inlineJsxFactoryOverridesCompilerOption.types index 8c6aa5be67bca..4ebadc2987ea1 100644 --- a/tests/baselines/reference/inlineJsxFactoryOverridesCompilerOption.types +++ b/tests/baselines/reference/inlineJsxFactoryOverridesCompilerOption.types @@ -19,15 +19,15 @@ export function dom(): void; export { dom as p }; >dom : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >p : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ === reacty.tsx === /** @jsx dom */ import {dom} from "./renderer"; >dom : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ > : error @@ -39,7 +39,7 @@ import {dom} from "./renderer"; === index.tsx === import { p } from "./renderer"; >p : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ > : error diff --git a/tests/baselines/reference/inlineJsxFactoryWithFragmentIsError.types b/tests/baselines/reference/inlineJsxFactoryWithFragmentIsError.types index bf8d32e70d423..15c48c4ef4b4c 100644 --- a/tests/baselines/reference/inlineJsxFactoryWithFragmentIsError.types +++ b/tests/baselines/reference/inlineJsxFactoryWithFragmentIsError.types @@ -41,7 +41,7 @@ import * as React from "./renderer"; /** @jsx dom */ import { dom } from "./renderer"; >dom : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ <> ><> : any diff --git a/tests/baselines/reference/inlineMappedTypeModifierDeclarationEmit.types b/tests/baselines/reference/inlineMappedTypeModifierDeclarationEmit.types index 4f336997bf2cc..b212f67d631c0 100644 --- a/tests/baselines/reference/inlineMappedTypeModifierDeclarationEmit.types +++ b/tests/baselines/reference/inlineMappedTypeModifierDeclarationEmit.types @@ -3,13 +3,13 @@ === index.ts === import { test1, test2 } from "./other"; >test1 : (obj: T, k: K) => Exclude extends infer T_1 extends keyof T ? { [P in T_1]: T[P]; } : never -> : ^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >test2 : (obj: T, k: K) => { [P in Exclude]: T[P]; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ export function wrappedTest1(obj: T, k: K) { >wrappedTest1 : (obj: T, k: K) => Exclude extends infer T_1 extends keyof T ? { [P in T_1]: T[P]; } : never -> : ^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >obj : T > : ^ >k : K @@ -19,7 +19,7 @@ export function wrappedTest1(obj: T, k: K) { >test1(obj, k) : Exclude extends infer T_1 extends keyof T ? { [P in T_1]: T[P]; } : never > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >test1 : (obj: T_1, k: K_1) => Exclude extends infer T_2 extends keyof T_1 ? { [P in T_2]: T_1[P]; } : never -> : ^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >obj : T > : ^ >k : K @@ -28,7 +28,7 @@ export function wrappedTest1(obj: T, k: K) { export function wrappedTest2(obj: T, k: K) { >wrappedTest2 : (obj: T, k: K) => { [P in Exclude]: T[P]; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >obj : T > : ^ >k : K @@ -38,7 +38,7 @@ export function wrappedTest2(obj: T, k: K) { >test2(obj, k) : { [P in Exclude]: T[P]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >test2 : (obj: T_1, k: K_1) => { [P in Exclude]: T_1[P]; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >obj : T > : ^ >k : K @@ -61,11 +61,11 @@ export type Obj = { export const processedInternally1 = wrappedTest1({} as Obj, "a"); >processedInternally1 : { readonly foo: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ >wrappedTest1({} as Obj, "a") : { readonly foo: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ >wrappedTest1 : (obj: T, k: K) => Exclude extends infer T_1 extends keyof T ? { [P in T_1]: T[P]; } : never -> : ^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{} as Obj : Obj > : ^^^ >{} : {} @@ -79,7 +79,7 @@ export const processedInternally2 = wrappedTest2({} as Obj, "a"); >wrappedTest2({} as Obj, "a") : { foo: string; } > : ^^^^^^^^^^^^^^^^ >wrappedTest2 : (obj: T, k: K) => { [P in Exclude]: T[P]; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{} as Obj : Obj > : ^^^ >{} : {} @@ -103,7 +103,7 @@ type OmitUnveiled = { export function test1(obj: T, k: K): OmitReal { >test1 : (obj: T, k: K) => OmitReal -> : ^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >obj : T > : ^ >k : K @@ -117,7 +117,7 @@ export function test1(obj: T, k: K): OmitReal { export function test2(obj: T, k: K): OmitUnveiled { >test2 : (obj: T, k: K) => OmitUnveiled -> : ^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >obj : T > : ^ >k : K diff --git a/tests/baselines/reference/inlineSourceMap.types b/tests/baselines/reference/inlineSourceMap.types index 5146296a6323b..07b245a8ae1c0 100644 --- a/tests/baselines/reference/inlineSourceMap.types +++ b/tests/baselines/reference/inlineSourceMap.types @@ -11,11 +11,11 @@ console.log(x); >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : number > : ^^^^^^ diff --git a/tests/baselines/reference/inlineSourceMap2.types b/tests/baselines/reference/inlineSourceMap2.types index bea949c7a2c94..01e836108f883 100644 --- a/tests/baselines/reference/inlineSourceMap2.types +++ b/tests/baselines/reference/inlineSourceMap2.types @@ -13,11 +13,11 @@ console.log(x); >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : number > : ^^^^^^ diff --git a/tests/baselines/reference/inlineSources.types b/tests/baselines/reference/inlineSources.types index 518876baf18bd..f9de0b9632fda 100644 --- a/tests/baselines/reference/inlineSources.types +++ b/tests/baselines/reference/inlineSources.types @@ -11,11 +11,11 @@ console.log(a); >console.log(a) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >a : number > : ^^^^^^ @@ -30,11 +30,11 @@ console.log(b); >console.log(b) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >b : number > : ^^^^^^ diff --git a/tests/baselines/reference/inlineSources2.types b/tests/baselines/reference/inlineSources2.types index 784a5dd12a1e7..a11aee9030d6b 100644 --- a/tests/baselines/reference/inlineSources2.types +++ b/tests/baselines/reference/inlineSources2.types @@ -11,11 +11,11 @@ console.log(a); >console.log(a) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >a : number > : ^^^^^^ @@ -30,11 +30,11 @@ console.log(b); >console.log(b) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >b : number > : ^^^^^^ diff --git a/tests/baselines/reference/inlinedAliasAssignableToConstraintSameAsAlias.types b/tests/baselines/reference/inlinedAliasAssignableToConstraintSameAsAlias.types index b41cc1b18f984..0b95f68216e52 100644 --- a/tests/baselines/reference/inlinedAliasAssignableToConstraintSameAsAlias.types +++ b/tests/baselines/reference/inlinedAliasAssignableToConstraintSameAsAlias.types @@ -42,8 +42,8 @@ class A { > : ^^^ whereRelated< // Works // Type is same as A1, but is not assignable to type A ->whereRelated : >() => number -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>whereRelated : >() => number +> : ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ RF extends RelationFields = RelationFields, N extends Name = Name, diff --git a/tests/baselines/reference/innerTypeArgumentInference.types b/tests/baselines/reference/innerTypeArgumentInference.types index 3114a5dfbc6e2..1b1fba0df7a18 100644 --- a/tests/baselines/reference/innerTypeArgumentInference.types +++ b/tests/baselines/reference/innerTypeArgumentInference.types @@ -12,7 +12,7 @@ function Generate(func: Generator): U { >Generate(func) : U > : ^ >Generate : (func: Generator) => U -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >func : Generator > : ^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/innerTypeParameterShadowingOuterOne.types b/tests/baselines/reference/innerTypeParameterShadowingOuterOne.types index 462f02ddeeb82..f87e15a59f9b0 100644 --- a/tests/baselines/reference/innerTypeParameterShadowingOuterOne.types +++ b/tests/baselines/reference/innerTypeParameterShadowingOuterOne.types @@ -6,11 +6,11 @@ function f() { >f : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ function g() { >g : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ var x: T; >x : T @@ -20,11 +20,11 @@ function f() { >x.toFixed() : string > : ^^^^^^ >x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : T > : ^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } var x: T; >x : T @@ -34,20 +34,20 @@ function f() { >x.getDate() : number > : ^^^^^^ >x.getDate : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : T > : ^ >getDate : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } function f2() { >f2 : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^ function g() { >g : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^ var x: U; >x : U @@ -57,11 +57,11 @@ function f2() { >x.toFixed() : string > : ^^^^^^ >x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : U > : ^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } var x: U; >x : U @@ -71,11 +71,11 @@ function f2() { >x.getDate() : number > : ^^^^^^ >x.getDate : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : U > : ^ >getDate : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } //function f2() { // function g() { diff --git a/tests/baselines/reference/innerTypeParameterShadowingOuterOne2.types b/tests/baselines/reference/innerTypeParameterShadowingOuterOne2.types index 058ea44bc3d91..9faacd0b8dc23 100644 --- a/tests/baselines/reference/innerTypeParameterShadowingOuterOne2.types +++ b/tests/baselines/reference/innerTypeParameterShadowingOuterOne2.types @@ -10,7 +10,7 @@ class C { g() { >g : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ var x: T; >x : T @@ -20,11 +20,11 @@ class C { >x.toFixed() : string > : ^^^^^^ >x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : T > : ^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } h() { @@ -39,11 +39,11 @@ class C { >x.getDate() : number > : ^^^^^^ >x.getDate : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : T > : ^ >getDate : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } @@ -53,7 +53,7 @@ class C2 { g() { >g : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^ var x: U; >x : U @@ -63,11 +63,11 @@ class C2 { >x.toFixed() : string > : ^^^^^^ >x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : U > : ^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } h() { @@ -82,11 +82,11 @@ class C2 { >x.getDate() : number > : ^^^^^^ >x.getDate : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : U > : ^ >getDate : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } //class C2 { diff --git a/tests/baselines/reference/instanceAndStaticDeclarations1.types b/tests/baselines/reference/instanceAndStaticDeclarations1.types index 4210911f07e43..675463c9577d9 100644 --- a/tests/baselines/reference/instanceAndStaticDeclarations1.types +++ b/tests/baselines/reference/instanceAndStaticDeclarations1.types @@ -59,11 +59,11 @@ class Point { >Math.sqrt(dx * dx + dy * dy) : number > : ^^^^^^ >Math.sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >dx * dx + dy * dy : number > : ^^^^^^ >dx * dx : number diff --git a/tests/baselines/reference/instanceMemberAssignsToClassPrototype.types b/tests/baselines/reference/instanceMemberAssignsToClassPrototype.types index 2dd496fbd653a..6effbd1c40009 100644 --- a/tests/baselines/reference/instanceMemberAssignsToClassPrototype.types +++ b/tests/baselines/reference/instanceMemberAssignsToClassPrototype.types @@ -36,7 +36,7 @@ class C { >C.prototype.bar = () => { } : () => void > : ^^^^^^^^^^ >C.prototype.bar : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >C.prototype : C > : ^ >C : typeof C @@ -44,7 +44,7 @@ class C { >prototype : C > : ^ >bar : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >() => { } : () => void > : ^^^^^^^^^^ @@ -52,7 +52,7 @@ class C { >C.prototype.bar = (x) => x : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >C.prototype.bar : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >C.prototype : C > : ^ >C : typeof C @@ -60,7 +60,7 @@ class C { >prototype : C > : ^ >bar : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(x) => x : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number @@ -72,7 +72,7 @@ class C { >C.prototype.bar = (x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >C.prototype.bar : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >C.prototype : C > : ^ >C : typeof C @@ -80,7 +80,7 @@ class C { >prototype : C > : ^ >bar : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/instanceMemberInitialization.types b/tests/baselines/reference/instanceMemberInitialization.types index 6fb66f4fa4451..445def59523e6 100644 --- a/tests/baselines/reference/instanceMemberInitialization.types +++ b/tests/baselines/reference/instanceMemberInitialization.types @@ -74,9 +74,9 @@ class MyMap { >store : any >new this.Map_() : any >this.Map_ : new () => any -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^ >this : this > : ^^^^ >Map_ : new () => any -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/instanceofOperatorWithInvalidOperands.es2015.types b/tests/baselines/reference/instanceofOperatorWithInvalidOperands.es2015.types index 52829f91b6914..e51568e6aaf41 100644 --- a/tests/baselines/reference/instanceofOperatorWithInvalidOperands.es2015.types +++ b/tests/baselines/reference/instanceofOperatorWithInvalidOperands.es2015.types @@ -290,9 +290,9 @@ var ra10 = o5 instanceof o4; >o5 instanceof o4 : boolean > : ^^^^^^^ >o5 : { y: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >o4 : { [Symbol.hasInstance](value: { x: number; }): boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ // invalid @@hasInstance method return type on RHS var o6: {[Symbol.hasInstance](value: unknown): number;}; @@ -317,5 +317,5 @@ var rb11 = x instanceof o6; >x : any > : ^^^ >o6 : { [Symbol.hasInstance](value: unknown): number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ diff --git a/tests/baselines/reference/instanceofOperatorWithRHSHasSymbolHasInstance.types b/tests/baselines/reference/instanceofOperatorWithRHSHasSymbolHasInstance.types index 6eba7d626d7a3..648d1f9c0a608 100644 --- a/tests/baselines/reference/instanceofOperatorWithRHSHasSymbolHasInstance.types +++ b/tests/baselines/reference/instanceofOperatorWithRHSHasSymbolHasInstance.types @@ -242,7 +242,7 @@ lhs0 instanceof rhs0 && lhs0; > : ^^^^^^^ >lhs0 : any >rhs0 : { [Symbol.hasInstance](value: unknown): boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >lhs0 : any lhs0 instanceof rhs1 && lhs0; @@ -251,7 +251,7 @@ lhs0 instanceof rhs1 && lhs0; > : ^^^^^^^ >lhs0 : any >rhs1 : { [Symbol.hasInstance](value: any): boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >lhs0 : any lhs0 instanceof rhs2 && lhs0; @@ -261,7 +261,7 @@ lhs0 instanceof rhs2 && lhs0; > : ^^^^^^^ >lhs0 : any >rhs2 : { [Symbol.hasInstance](value: any): value is Point; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >lhs0 : Point > : ^^^^^ @@ -272,7 +272,7 @@ lhs0 instanceof rhs3 && lhs0; > : ^^^^^^^ >lhs0 : any >rhs3 : { [Symbol.hasInstance](value: Point | Line): value is Point; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >lhs0 : Point > : ^^^^^ @@ -283,7 +283,7 @@ lhs0 instanceof rhs4 && lhs0; > : ^^^^^^^ >lhs0 : any >rhs4 : { [Symbol.hasInstance](value: Point | Line): value is Line; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >lhs0 : Line > : ^^^^ @@ -294,7 +294,7 @@ lhs0 instanceof rhs5 && lhs0; > : ^^^^^^^ >lhs0 : any >rhs5 : { [Symbol.hasInstance](value: Point | Point3D | Line): value is Point3D; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >lhs0 : Point3D > : ^^^^^^^ @@ -305,7 +305,7 @@ lhs0 instanceof rhs6 && lhs0; > : ^^^^^^^ >lhs0 : any >rhs6 : { [Symbol.hasInstance](value: Point3D | Line): value is Point3D; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >lhs0 : Point3D > : ^^^^^^^ @@ -394,7 +394,7 @@ lhs1 instanceof rhs0 && lhs1; >lhs1 : object > : ^^^^^^ >rhs0 : { [Symbol.hasInstance](value: unknown): boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >lhs1 : object > : ^^^^^^ @@ -406,7 +406,7 @@ lhs1 instanceof rhs1 && lhs1; >lhs1 : object > : ^^^^^^ >rhs1 : { [Symbol.hasInstance](value: any): boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >lhs1 : object > : ^^^^^^ @@ -418,7 +418,7 @@ lhs1 instanceof rhs2 && lhs1; >lhs1 : object > : ^^^^^^ >rhs2 : { [Symbol.hasInstance](value: any): value is Point; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >lhs1 : Point > : ^^^^^ @@ -466,7 +466,7 @@ lhs2 instanceof rhs0 && lhs2; >lhs2 : Point | Point3D | Line > : ^^^^^^^^^^^^^^^^^^^^^^ >rhs0 : { [Symbol.hasInstance](value: unknown): boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >lhs2 : Point | Point3D | Line > : ^^^^^^^^^^^^^^^^^^^^^^ @@ -478,7 +478,7 @@ lhs2 instanceof rhs1 && lhs2; >lhs2 : Point | Point3D | Line > : ^^^^^^^^^^^^^^^^^^^^^^ >rhs1 : { [Symbol.hasInstance](value: any): boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >lhs2 : Point | Point3D | Line > : ^^^^^^^^^^^^^^^^^^^^^^ @@ -490,7 +490,7 @@ lhs2 instanceof rhs2 && lhs2; >lhs2 : Point | Point3D | Line > : ^^^^^^^^^^^^^^^^^^^^^^ >rhs2 : { [Symbol.hasInstance](value: any): value is Point; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >lhs2 : Point > : ^^^^^ @@ -502,7 +502,7 @@ lhs2 instanceof rhs3 && lhs2; >lhs2 : Point | Point3D | Line > : ^^^^^^^^^^^^^^^^^^^^^^ >rhs3 : { [Symbol.hasInstance](value: Point | Line): value is Point; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >lhs2 : Point > : ^^^^^ @@ -514,7 +514,7 @@ lhs2 instanceof rhs4 && lhs2; >lhs2 : Point | Point3D | Line > : ^^^^^^^^^^^^^^^^^^^^^^ >rhs4 : { [Symbol.hasInstance](value: Point | Line): value is Line; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >lhs2 : Line > : ^^^^ @@ -526,7 +526,7 @@ lhs2 instanceof rhs5 && lhs2; >lhs2 : Point | Point3D | Line > : ^^^^^^^^^^^^^^^^^^^^^^ >rhs5 : { [Symbol.hasInstance](value: Point | Point3D | Line): value is Point3D; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >lhs2 : Point3D > : ^^^^^^^ @@ -610,7 +610,7 @@ lhs3 instanceof rhs0 && lhs3; >lhs3 : Point3D | Line > : ^^^^^^^^^^^^^^ >rhs0 : { [Symbol.hasInstance](value: unknown): boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >lhs3 : Point3D | Line > : ^^^^^^^^^^^^^^ @@ -622,7 +622,7 @@ lhs3 instanceof rhs1 && lhs3; >lhs3 : Point3D | Line > : ^^^^^^^^^^^^^^ >rhs1 : { [Symbol.hasInstance](value: any): boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >lhs3 : Point3D | Line > : ^^^^^^^^^^^^^^ @@ -634,7 +634,7 @@ lhs3 instanceof rhs2 && lhs3; >lhs3 : Point3D | Line > : ^^^^^^^^^^^^^^ >rhs2 : { [Symbol.hasInstance](value: any): value is Point; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >lhs3 : (Point3D | Line) & Point > : ^^^^^^^^^^^^^^^^^^^^^^^^ @@ -646,7 +646,7 @@ lhs3 instanceof rhs3 && lhs3; >lhs3 : Point3D | Line > : ^^^^^^^^^^^^^^ >rhs3 : { [Symbol.hasInstance](value: Point | Line): value is Point; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >lhs3 : (Point3D | Line) & Point > : ^^^^^^^^^^^^^^^^^^^^^^^^ @@ -658,7 +658,7 @@ lhs3 instanceof rhs4 && lhs3; >lhs3 : Point3D | Line > : ^^^^^^^^^^^^^^ >rhs4 : { [Symbol.hasInstance](value: Point | Line): value is Line; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >lhs3 : Line > : ^^^^ @@ -670,7 +670,7 @@ lhs3 instanceof rhs5 && lhs3; >lhs3 : Point3D | Line > : ^^^^^^^^^^^^^^ >rhs5 : { [Symbol.hasInstance](value: Point | Point3D | Line): value is Point3D; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >lhs3 : Point3D > : ^^^^^^^ @@ -682,7 +682,7 @@ lhs3 instanceof rhs6 && lhs3; >lhs3 : Point3D | Line > : ^^^^^^^^^^^^^^ >rhs6 : { [Symbol.hasInstance](value: Point3D | Line): value is Point3D; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >lhs3 : Point3D > : ^^^^^^^ @@ -778,7 +778,7 @@ lhs4 instanceof rhs0 && lhs4; >lhs4 : Point | Point3D2 | Line > : ^^^^^^^^^^^^^^^^^^^^^^^ >rhs0 : { [Symbol.hasInstance](value: unknown): boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >lhs4 : Point | Point3D2 | Line > : ^^^^^^^^^^^^^^^^^^^^^^^ @@ -790,7 +790,7 @@ lhs4 instanceof rhs1 && lhs4; >lhs4 : Point | Point3D2 | Line > : ^^^^^^^^^^^^^^^^^^^^^^^ >rhs1 : { [Symbol.hasInstance](value: any): boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >lhs4 : Point | Point3D2 | Line > : ^^^^^^^^^^^^^^^^^^^^^^^ @@ -802,7 +802,7 @@ lhs4 instanceof rhs2 && lhs4; >lhs4 : Point | Point3D2 | Line > : ^^^^^^^^^^^^^^^^^^^^^^^ >rhs2 : { [Symbol.hasInstance](value: any): value is Point; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >lhs4 : Point | Point3D2 > : ^^^^^^^^^^^^^^^^ @@ -814,7 +814,7 @@ lhs4 instanceof rhs3 && lhs4; >lhs4 : Point | Point3D2 | Line > : ^^^^^^^^^^^^^^^^^^^^^^^ >rhs3 : { [Symbol.hasInstance](value: Point | Line): value is Point; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >lhs4 : Point | Point3D2 > : ^^^^^^^^^^^^^^^^ @@ -826,7 +826,7 @@ lhs4 instanceof rhs4 && lhs4; >lhs4 : Point | Point3D2 | Line > : ^^^^^^^^^^^^^^^^^^^^^^^ >rhs4 : { [Symbol.hasInstance](value: Point | Line): value is Line; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >lhs4 : Line > : ^^^^ @@ -838,7 +838,7 @@ lhs4 instanceof rhs5 && lhs4; >lhs4 : Point | Point3D2 | Line > : ^^^^^^^^^^^^^^^^^^^^^^^ >rhs5 : { [Symbol.hasInstance](value: Point | Point3D | Line): value is Point3D; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >lhs4 : Point3D > : ^^^^^^^ diff --git a/tests/baselines/reference/instanceofOperatorWithRHSIsSubtypeOfFunction.types b/tests/baselines/reference/instanceofOperatorWithRHSIsSubtypeOfFunction.types index d574e849496d1..ff0d1b06177eb 100644 --- a/tests/baselines/reference/instanceofOperatorWithRHSIsSubtypeOfFunction.types +++ b/tests/baselines/reference/instanceofOperatorWithRHSIsSubtypeOfFunction.types @@ -47,7 +47,7 @@ var r3 = x instanceof f3; > : ^^^^^^^ >x : any >f3 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var r4 = x instanceof f4; >r4 : boolean @@ -56,7 +56,7 @@ var r4 = x instanceof f4; > : ^^^^^^^ >x : any >f4 : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r5 = x instanceof null; >r5 : boolean diff --git a/tests/baselines/reference/instanceofTypeAliasToGenericClass.types b/tests/baselines/reference/instanceofTypeAliasToGenericClass.types index 705e7917fdd02..08282a1058915 100644 --- a/tests/baselines/reference/instanceofTypeAliasToGenericClass.types +++ b/tests/baselines/reference/instanceofTypeAliasToGenericClass.types @@ -16,7 +16,7 @@ export type Table = TableClass; function fn(o: T) { >fn : (o: T) => boolean -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ >o : T > : ^ @@ -30,8 +30,8 @@ function fn(o: T) { } function fn2(o: T) { ->fn2 : >(o: T) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +>fn2 : (o: T) => boolean +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ >o : T > : ^ diff --git a/tests/baselines/reference/instanceofWithStructurallyIdenticalTypes.types b/tests/baselines/reference/instanceofWithStructurallyIdenticalTypes.types index cc5f5179c3e92..1e6670f3a5f9f 100644 --- a/tests/baselines/reference/instanceofWithStructurallyIdenticalTypes.types +++ b/tests/baselines/reference/instanceofWithStructurallyIdenticalTypes.types @@ -130,7 +130,7 @@ function foo2(x: C1 | C2 | C3): string { >isC1(x) : boolean > : ^^^^^^^ >isC1 : (c: C1 | C2 | C3) => c is C1 -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : C1 | C2 | C3 > : ^^^^^^^^^^^^ @@ -146,7 +146,7 @@ function foo2(x: C1 | C2 | C3): string { >isC2(x) : boolean > : ^^^^^^^ >isC2 : (c: C1 | C2 | C3) => c is C2 -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : C2 > : ^^ @@ -166,7 +166,7 @@ function foo2(x: C1 | C2 | C3): string { >isC3(x) : boolean > : ^^^^^^^ >isC3 : (c: C1 | C2 | C3) => c is C3 -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : never > : ^^^^^ diff --git a/tests/baselines/reference/instantiateContextualTypes.types b/tests/baselines/reference/instantiateContextualTypes.types index 23ba024481e26..775a7730090ab 100644 --- a/tests/baselines/reference/instantiateContextualTypes.types +++ b/tests/baselines/reference/instantiateContextualTypes.types @@ -28,9 +28,9 @@ fn(handlers, value => alert(value)); >fn(handlers, value => alert(value)) : void > : ^^^^ >fn :
    (values: A, value: a) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >handlers : A<(value: number) => void> -> : ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^^^ ^ >value => alert(value) : (value: number) => void > : ^ ^^^^^^^^^^^^^^^^^ >value : number @@ -38,7 +38,7 @@ fn(handlers, value => alert(value)); >alert(value) : void > : ^^^^ >alert : (message?: any) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >value : number > : ^^^^^^ @@ -100,7 +100,7 @@ new GenericComponent({ initialValues: 12, nextValues: val => 12 }); declare function useStringOrNumber(t: T, useIt: T extends string ? ((s: string) => void) : ((n: number) => void)): void; >useStringOrNumber : (t: T, useIt: T extends string ? ((s: string) => void) : ((n: number) => void)) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >t : T > : ^ >useIt : T extends string ? (s: string) => void : (n: number) => void @@ -114,7 +114,7 @@ useStringOrNumber("", foo => {}); >useStringOrNumber("", foo => {}) : void > : ^^^^ >useStringOrNumber : (t: T, useIt: T extends string ? ((s: string) => void) : ((n: number) => void)) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >"" : "" > : ^^ >foo => {} : (foo: string) => void @@ -210,7 +210,7 @@ const NON_VOID_ACTION: ActionType = 'NON_VOID_ACTION' createReducer( >createReducer( defaultState, handler(NON_VOID_ACTION, (state, _payload) => state), handler(VOID_ACTION, state => state)) : any >createReducer : (defaultState: S, ...actionHandlers: ActionHandler[]) => any -> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^ defaultState, >defaultState : AppState @@ -220,7 +220,7 @@ createReducer( >handler(NON_VOID_ACTION, (state, _payload) => state) : ActionHandler > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >handler : (actionType: ActionType

    , handler: Handler) => ActionHandler -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >NON_VOID_ACTION : ActionType > : ^^^^^^^^^^^^^^^^^^ >(state, _payload) => state : (state: AppState, _payload: number) => AppState @@ -236,7 +236,7 @@ createReducer( >handler(VOID_ACTION, state => state) : ActionHandler > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >handler : (actionType: ActionType

    , handler: Handler) => ActionHandler -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >VOID_ACTION : ActionType > : ^^^^^^^^^^^^^^^^ >state => state : (state: AppState) => AppState @@ -274,7 +274,7 @@ type O = { on

    (x: P, callback: R[P]): void; >on :

    (x: P, callback: R[P]) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : P > : ^ >callback : R[P] @@ -290,11 +290,11 @@ x.on('a', a => {}); >x.on('a', a => {}) : void > : ^^^^ >x.on :

    (x: P, callback: R[P]) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : O > : ^ >on :

    (x: P, callback: R[P]) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >'a' : "a" > : ^^^ >a => {} : (a: number) => void @@ -337,30 +337,30 @@ type CreateElementChildren

    = : unknown; declare function createElement

    ( ->createElement :

    (type: ComponentClass

    , ...children: P extends { children?: infer C | undefined; } ? C extends any[] ? C : C[] : unknown) => any -> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>createElement :

    (type: ComponentClass

    , ...children: P extends { children?: infer C; } ? C extends any[] ? C : C[] : unknown) => any +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type: ComponentClass

    , >type : ComponentClass

    > : ^^^^^^^^^^^^^^^^^ ...children: CreateElementChildren

    ->children : P extends { children?: infer C | undefined; } ? C extends any[] ? C : C[] : unknown -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>children : P extends { children?: infer C; } ? C extends any[] ? C : C[] : unknown +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ): any; declare function createElement2

    ( ->createElement2 :

    (type: ComponentClass

    , child: P extends { children?: infer C | undefined; } ? C extends any[] ? C : C[] : unknown) => any -> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>createElement2 :

    (type: ComponentClass

    , child: P extends { children?: infer C; } ? C extends any[] ? C : C[] : unknown) => any +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type: ComponentClass

    , >type : ComponentClass

    > : ^^^^^^^^^^^^^^^^^ child: CreateElementChildren

    ->child : P extends { children?: infer C | undefined; } ? C extends any[] ? C : C[] : unknown -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>child : P extends { children?: infer C; } ? C extends any[] ? C : C[] : unknown +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ): any; @@ -376,8 +376,8 @@ class InferFunctionTypes extends Component<{children: (foo: number) => string}> createElement(InferFunctionTypes, (foo) => "" + foo); >createElement(InferFunctionTypes, (foo) => "" + foo) : any ->createElement :

    (type: ComponentClass

    , ...children: P extends { children?: infer C | undefined; } ? C extends any[] ? C : C[] : unknown) => any -> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>createElement :

    (type: ComponentClass

    , ...children: P extends { children?: infer C; } ? C extends any[] ? C : C[] : unknown) => any +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >InferFunctionTypes : typeof InferFunctionTypes > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >(foo) => "" + foo : (foo: number) => string @@ -393,8 +393,8 @@ createElement(InferFunctionTypes, (foo) => "" + foo); createElement2(InferFunctionTypes, [(foo) => "" + foo]); >createElement2(InferFunctionTypes, [(foo) => "" + foo]) : any ->createElement2 :

    (type: ComponentClass

    , child: P extends { children?: infer C | undefined; } ? C extends any[] ? C : C[] : unknown) => any -> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>createElement2 :

    (type: ComponentClass

    );} : { (): JSX.Element; defaultProps: { tabs: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ return ( >(
    ok
    ) : JSX.Element @@ -184,11 +184,11 @@ TabbedShowLayout.defaultProps = { >TabbedShowLayout.defaultProps = { tabs: "default value"} : { tabs: string; } > : ^^^^^^^^^^^^^^^^^ >TabbedShowLayout.defaultProps : { tabs: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >TabbedShowLayout : { defaultProps: { tabs: string; }; } & ((props?: { elem: string; }) => JSX.Element) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^ ^ >defaultProps : { tabs: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >{ tabs: "default value"} : { tabs: string; } > : ^^^^^^^^^^^^^^^^^ @@ -202,7 +202,7 @@ TabbedShowLayout.defaultProps = { export default TabbedShowLayout; >TabbedShowLayout : { defaultProps: { tabs: string; }; } & ((props?: { elem: string; }) => JSX.Element) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^ ^ === jsDeclarationsReactComponents4.jsx === import React from "react"; @@ -231,7 +231,7 @@ const TabbedShowLayout = (/** @type {{className: string}}*/prop) => { >prop.className : string > : ^^^^^^ >prop : { className: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^ >className : string > : ^^^^^^ >key : string diff --git a/tests/baselines/reference/jsDeclarationsReferenceToClassInstanceCrossFile.types b/tests/baselines/reference/jsDeclarationsReferenceToClassInstanceCrossFile.types index bf35ad195f0cc..06400c347affe 100644 --- a/tests/baselines/reference/jsDeclarationsReferenceToClassInstanceCrossFile.types +++ b/tests/baselines/reference/jsDeclarationsReferenceToClassInstanceCrossFile.types @@ -22,21 +22,21 @@ render.addRectangle(); >render.addRectangle() : import("rectangle").Rectangle > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >render.addRectangle : () => import("rectangle").Rectangle -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ >render : Render > : ^^^^^^ >addRectangle : () => import("rectangle").Rectangle -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ console.log("Objects", render.objects); >console.log("Objects", render.objects) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"Objects" : "Objects" > : ^^^^^^^^^ >render.objects : import("rectangle").Rectangle[] @@ -56,11 +56,11 @@ class Rectangle { >console.log("I'm a rectangle!") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"I'm a rectangle!" : "I'm a rectangle!" > : ^^^^^^^^^^^^^^^^^^ } @@ -132,7 +132,7 @@ class Render { >this.objects.push(obj) : number > : ^^^^^^ >this.objects.push : (...items: Rectangle[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^ >this.objects : Rectangle[] > : ^^^^^^^^^^^ >this : this @@ -140,7 +140,7 @@ class Render { >objects : Rectangle[] > : ^^^^^^^^^^^ >push : (...items: Rectangle[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^ >obj : Rectangle > : ^^^^^^^^^ diff --git a/tests/baselines/reference/jsDeclarationsRestArgsWithThisTypeInJSDocFunction.types b/tests/baselines/reference/jsDeclarationsRestArgsWithThisTypeInJSDocFunction.types index 0bedff347f130..5ab7be88c05bc 100644 --- a/tests/baselines/reference/jsDeclarationsRestArgsWithThisTypeInJSDocFunction.types +++ b/tests/baselines/reference/jsDeclarationsRestArgsWithThisTypeInJSDocFunction.types @@ -10,8 +10,8 @@ export class Clazz { */ method(functionDeclaration) {} >method : (functionDeclaration: (this: any, ...args: any[]) => any) => void -> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ >functionDeclaration : (this: any, ...arg1: any[]) => any -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/jsDeclarationsReusesExistingNodesMappingJSDocTypes.types b/tests/baselines/reference/jsDeclarationsReusesExistingNodesMappingJSDocTypes.types index 03ecf406969e1..73eb624002778 100644 --- a/tests/baselines/reference/jsDeclarationsReusesExistingNodesMappingJSDocTypes.types +++ b/tests/baselines/reference/jsDeclarationsReusesExistingNodesMappingJSDocTypes.types @@ -26,8 +26,8 @@ export const e = null; /** @type {function(string, number): object} */ export const f = null; ->f : (arg0: string, arg1: number) => any -> : ^^^^^^^ ^^^^^^^^ ^^^^^^^^ +>f : (arg0: string, arg1: number) => object +> : ^^^^^^^ ^^^^^^^^ ^^^^^ /** @type {function(new: object, string, number)} */ export const g = null; diff --git a/tests/baselines/reference/jsDeclarationsTypeAliases.types b/tests/baselines/reference/jsDeclarationsTypeAliases.types index 8f8e2d6c9285e..4ad7b268ffabf 100644 --- a/tests/baselines/reference/jsDeclarationsTypeAliases.types +++ b/tests/baselines/reference/jsDeclarationsTypeAliases.types @@ -75,11 +75,11 @@ module.exports = { >exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >{ doTheThing, ExportedThing,} : { doTheThing: (x: number) => SomeType; ExportedThing: typeof ExportedThing; } -> : ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ doTheThing, >doTheThing : (x: number) => SomeType -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ExportedThing, >ExportedThing : typeof ExportedThing diff --git a/tests/baselines/reference/jsDeclarationsTypeReassignmentFromDeclaration2.types b/tests/baselines/reference/jsDeclarationsTypeReassignmentFromDeclaration2.types index 735567f16dd0f..0b6e7aa016495 100644 --- a/tests/baselines/reference/jsDeclarationsTypeReassignmentFromDeclaration2.types +++ b/tests/baselines/reference/jsDeclarationsTypeReassignmentFromDeclaration2.types @@ -7,7 +7,7 @@ const items = require("./some-mod")(); >require("./some-mod")() : Item[] > : ^^^^^^ >require("./some-mod") : () => Item[] -> : ^^^^^^^^^^^^ +> : ^^^^^^^^^^ >require : any > : ^^^ >"./some-mod" : "./some-mod" @@ -37,5 +37,5 @@ declare function getItems(): Item[]; export = getItems; >getItems : () => Item[] -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/jsDeclarationsTypedefFunction.types b/tests/baselines/reference/jsDeclarationsTypedefFunction.types index f7323a67d6e69..94be5036a338e 100644 --- a/tests/baselines/reference/jsDeclarationsTypedefFunction.types +++ b/tests/baselines/reference/jsDeclarationsTypedefFunction.types @@ -19,9 +19,9 @@ let id = 0 */ const send = handlers => new Promise((resolve, reject) => { >send : (handlers: ResolveRejectMap) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >handlers => new Promise((resolve, reject) => { handlers[++id] = [resolve, reject]}) : (handlers: ResolveRejectMap) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >handlers : ResolveRejectMap > : ^^^^^^^^^^^^^^^^ >new Promise((resolve, reject) => { handlers[++id] = [resolve, reject]}) : Promise @@ -29,15 +29,15 @@ const send = handlers => new Promise((resolve, reject) => { >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >(resolve, reject) => { handlers[++id] = [resolve, reject]} : (resolve: (value: any) => void, reject: (reason?: any) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^ ^^^^^^^^^ >resolve : (value: any) => void -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >reject : (reason?: any) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ handlers[++id] = [resolve, reject] >handlers[++id] = [resolve, reject] : [(value: any) => void, (reason?: any) => void] -> : ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^ ^^^^^^^^^^ ^^^ ^^^ ^^^^^ ^ >handlers[++id] : [Function, Function] > : ^^^^^^^^^^^^^^^^^^^^ >handlers : ResolveRejectMap @@ -47,10 +47,10 @@ const send = handlers => new Promise((resolve, reject) => { >id : number > : ^^^^^^ >[resolve, reject] : [(value: any) => void, (reason?: any) => void] -> : ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^ ^^^^^^^^^^ ^^^ ^^^ ^^^^^ ^ >resolve : (value: any) => void -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >reject : (reason?: any) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ }) diff --git a/tests/baselines/reference/jsDeclarationsTypedefPropertyAndExportAssignment.types b/tests/baselines/reference/jsDeclarationsTypedefPropertyAndExportAssignment.types index f016f7900caa8..d96bf0f5fc41c 100644 --- a/tests/baselines/reference/jsDeclarationsTypedefPropertyAndExportAssignment.types +++ b/tests/baselines/reference/jsDeclarationsTypedefPropertyAndExportAssignment.types @@ -3,7 +3,7 @@ === index.js === const {taskGroups, taskNameToGroup} = require('./module.js'); >taskGroups : { parseHTML: { id: "parseHTML"; label: string; }; styleLayout: { id: "styleLayout"; label: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >taskNameToGroup : { [x: string]: import("module").TaskGroup; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >require('./module.js') : typeof import("module") @@ -64,7 +64,7 @@ module.exports = MainThreadTasks; */ const taskGroups = { >taskGroups : { parseHTML: { id: "parseHTML"; label: string; }; styleLayout: { id: "styleLayout"; label: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >{ parseHTML: { id: 'parseHTML', label: 'Parse HTML & CSS' }, styleLayout: { id: 'styleLayout', label: 'Style & Layout' },} : { parseHTML: { id: "parseHTML"; label: string; }; styleLayout: { id: "styleLayout"; label: string; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -125,11 +125,11 @@ module.exports = { >exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >{ taskGroups, taskNameToGroup,} : { taskGroups: { parseHTML: { id: "parseHTML"; label: string; }; styleLayout: { id: "styleLayout"; label: string; }; }; taskNameToGroup: { [x: string]: TaskGroup; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ taskGroups, >taskGroups : { parseHTML: { id: "parseHTML"; label: string; }; styleLayout: { id: "styleLayout"; label: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ taskNameToGroup, >taskNameToGroup : { [x: string]: TaskGroup; } diff --git a/tests/baselines/reference/jsDeclarationsWithDefaultAsNamespaceLikeMerge.types b/tests/baselines/reference/jsDeclarationsWithDefaultAsNamespaceLikeMerge.types index 36ac0520cc163..8184d7d79401c 100644 --- a/tests/baselines/reference/jsDeclarationsWithDefaultAsNamespaceLikeMerge.types +++ b/tests/baselines/reference/jsDeclarationsWithDefaultAsNamespaceLikeMerge.types @@ -26,7 +26,7 @@ export declare function createNamespacedHelpers(): NamespacedMappers; === /index.js === import { createNamespacedHelpers } from './helper' >createNamespacedHelpers : () => import("/helper").NamespacedMappers -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ const { mapState } = createNamespacedHelpers() >mapState : import("/helper").Mapper @@ -34,7 +34,7 @@ const { mapState } = createNamespacedHelpers() >createNamespacedHelpers() : import("/helper").NamespacedMappers > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >createNamespacedHelpers : () => import("/helper").NamespacedMappers -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ export default { >{ computed: { ...mapState(['panels']) }} : { computed: { panels: import("/helper").Computed; }; } diff --git a/tests/baselines/reference/jsElementAccessNoContextualTypeCrash.types b/tests/baselines/reference/jsElementAccessNoContextualTypeCrash.types index 43186f14be69f..936fb9e0b1b05 100644 --- a/tests/baselines/reference/jsElementAccessNoContextualTypeCrash.types +++ b/tests/baselines/reference/jsElementAccessNoContextualTypeCrash.types @@ -35,13 +35,13 @@ Common.localize = function (string) { >Common.localize = function (string) { return string;} : (string: string) => string > : ^ ^^ ^^^^^ >Common.localize : (string: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Common : typeof Common > : ^^^^^^^^^^^^^ >localize : (string: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >function (string) { return string;} : (string: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >string : string > : ^^^^^^ diff --git a/tests/baselines/reference/jsEnumTagOnObjectFrozen.types b/tests/baselines/reference/jsEnumTagOnObjectFrozen.types index c217ae7f7637a..4fbccab07fcba 100644 --- a/tests/baselines/reference/jsEnumTagOnObjectFrozen.types +++ b/tests/baselines/reference/jsEnumTagOnObjectFrozen.types @@ -55,11 +55,11 @@ cbThing(type => { >Date.now() : number > : ^^^^^^ >Date.now : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date : DateConstructor > : ^^^^^^^^^^^^^^^ >now : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ type, >type : string @@ -75,12 +75,12 @@ const Thing = Object.freeze({ > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.freeze({ a: "thing", b: "chill"}) : Readonly<{ a: "thing"; b: "chill"; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->Object.freeze : { (f: T): T; (o: T_1): Readonly; (o: T_2): Readonly; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +>Object.freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ ->freeze : { (f: T): T; (o: T_1): Readonly; (o: T_2): Readonly; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +>freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >{ a: "thing", b: "chill"} : { a: "thing"; b: "chill"; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -138,7 +138,7 @@ function cbThing(x) {} >cbThing : (x: (x: Thing) => void) => void > : ^ ^^ ^^^^^^^^^ >x : (x: Thing) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ exports.cbThing = cbThing; >exports.cbThing = cbThing : (x: (x: Thing) => void) => void diff --git a/tests/baselines/reference/jsExpandoObjectDefineProperty.types b/tests/baselines/reference/jsExpandoObjectDefineProperty.types index df844e6ce3055..d18909880ebf4 100644 --- a/tests/baselines/reference/jsExpandoObjectDefineProperty.types +++ b/tests/baselines/reference/jsExpandoObjectDefineProperty.types @@ -11,11 +11,11 @@ Object.defineProperty(chrome, 'devtools', { value: {}, enumerable: true }) >Object.defineProperty(chrome, 'devtools', { value: {}, enumerable: true }) : typeof chrome > : ^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >chrome : typeof chrome > : ^^^^^^^^^^^^^ >'devtools' : "devtools" diff --git a/tests/baselines/reference/jsFileClassPropertyType2.types b/tests/baselines/reference/jsFileClassPropertyType2.types index e4f96e68af854..e0d4065368132 100644 --- a/tests/baselines/reference/jsFileClassPropertyType2.types +++ b/tests/baselines/reference/jsFileClassPropertyType2.types @@ -26,7 +26,7 @@ class C { >(new C()).p.push("string") : number > : ^^^^^^ >(new C()).p.push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(new C()).p : number[] > : ^^^^^^^^ >(new C()) : C @@ -38,7 +38,7 @@ class C { >p : number[] > : ^^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >"string" : "string" > : ^^^^^^^^ diff --git a/tests/baselines/reference/jsFileCompilationAwaitModifier.types b/tests/baselines/reference/jsFileCompilationAwaitModifier.types index 2ef2f62808fcb..f8e51c939f0c2 100644 --- a/tests/baselines/reference/jsFileCompilationAwaitModifier.types +++ b/tests/baselines/reference/jsFileCompilationAwaitModifier.types @@ -14,12 +14,12 @@ class Foo { > : ^^^^^^ >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ } @@ -35,12 +35,12 @@ class Foo { > : ^^^^^^ >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ } diff --git a/tests/baselines/reference/jsFileCompilationRestParamJsDocFunction.types b/tests/baselines/reference/jsFileCompilationRestParamJsDocFunction.types index 4fd2793b89c38..c5447c7876f4f 100644 --- a/tests/baselines/reference/jsFileCompilationRestParamJsDocFunction.types +++ b/tests/baselines/reference/jsFileCompilationRestParamJsDocFunction.types @@ -39,11 +39,11 @@ function apply(func, thisArg, ...args) { > : ^ >func.call(thisArg) : any >func.call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >func : Function > : ^^^^^^^^ >call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >thisArg : any case 1: return func.call(thisArg, args[0]); @@ -51,11 +51,11 @@ function apply(func, thisArg, ...args) { > : ^ >func.call(thisArg, args[0]) : any >func.call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >func : Function > : ^^^^^^^^ >call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >thisArg : any >args[0] : any >args : any[] @@ -68,11 +68,11 @@ function apply(func, thisArg, ...args) { > : ^ >func.call(thisArg, args[0], args[1]) : any >func.call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >func : Function > : ^^^^^^^^ >call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >thisArg : any >args[0] : any >args : any[] @@ -90,11 +90,11 @@ function apply(func, thisArg, ...args) { > : ^ >func.call(thisArg, args[0], args[1], args[2]) : any >func.call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >func : Function > : ^^^^^^^^ >call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >thisArg : any >args[0] : any >args : any[] @@ -115,11 +115,11 @@ function apply(func, thisArg, ...args) { return func.apply(thisArg, args); >func.apply(thisArg, args) : any >func.apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >func : Function > : ^^^^^^^^ >apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >thisArg : any >args : any[] > : ^^^^^ diff --git a/tests/baselines/reference/jsFileESModuleWithEnumTag.types b/tests/baselines/reference/jsFileESModuleWithEnumTag.types index b78c5cb699d23..70d0b4d56d3b0 100644 --- a/tests/baselines/reference/jsFileESModuleWithEnumTag.types +++ b/tests/baselines/reference/jsFileESModuleWithEnumTag.types @@ -56,11 +56,11 @@ Object.defineProperty(ChangeDetectionStrategy, "aField", {value: 42}); >Object.defineProperty(ChangeDetectionStrategy, "aField", {value: 42}) : { OnPush: number; Default: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChangeDetectionStrategy : { OnPush: number; Default: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"aField" : "aField" diff --git a/tests/baselines/reference/jsFileFunctionOverloads.types b/tests/baselines/reference/jsFileFunctionOverloads.types index 175bf4dcd41c3..1e8b43138de1e 100644 --- a/tests/baselines/reference/jsFileFunctionOverloads.types +++ b/tests/baselines/reference/jsFileFunctionOverloads.types @@ -40,9 +40,9 @@ */ const identity = x => x; >identity : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x => x : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : T > : ^ >x : T @@ -73,9 +73,9 @@ function flatMap(array, iterable = identity) { >array : unknown[] > : ^^^^^^^^^ >iterable : (x: unknown) => unknown -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >identity : (x: T_1) => T_1 -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ /** @type {unknown[]} */ const result = []; @@ -110,11 +110,11 @@ function flatMap(array, iterable = identity) { >result.push(.../** @type {unknown[]} */(iterable(array[i]))) : number > : ^^^^^^ >result.push : (...items: unknown[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^ >result : unknown[] > : ^^^^^^^^^ >push : (...items: unknown[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^ >.../** @type {unknown[]} */(iterable(array[i])) : unknown > : ^^^^^^^ >(iterable(array[i])) : unknown[] @@ -122,7 +122,7 @@ function flatMap(array, iterable = identity) { >iterable(array[i]) : unknown > : ^^^^^^^ >iterable : (x: unknown) => unknown -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >array[i] : unknown > : ^^^^^^^ >array : unknown[] diff --git a/tests/baselines/reference/jsFileFunctionOverloads2.types b/tests/baselines/reference/jsFileFunctionOverloads2.types index 02e39377f7808..d44253dd08fda 100644 --- a/tests/baselines/reference/jsFileFunctionOverloads2.types +++ b/tests/baselines/reference/jsFileFunctionOverloads2.types @@ -38,9 +38,9 @@ */ const identity = x => x; >identity : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x => x : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : T > : ^ >x : T @@ -64,13 +64,13 @@ const identity = x => x; */ function flatMap(array, iterable = identity) { >flatMap : { (array: T[], iterable: (x: T) => U[]): U[]; (array: T[][]): T[]; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^ ^^ ^^^ ^^^ >array : unknown[] > : ^^^^^^^^^ >iterable : (x: unknown) => unknown -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >identity : (x: T_1) => T_1 -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ /** @type {unknown[]} */ const result = []; @@ -105,11 +105,11 @@ function flatMap(array, iterable = identity) { >result.push(.../** @type {unknown[]} */(iterable(array[i]))) : number > : ^^^^^^ >result.push : (...items: unknown[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^ >result : unknown[] > : ^^^^^^^^^ >push : (...items: unknown[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^ >.../** @type {unknown[]} */(iterable(array[i])) : unknown > : ^^^^^^^ >(iterable(array[i])) : unknown[] @@ -117,7 +117,7 @@ function flatMap(array, iterable = identity) { >iterable(array[i]) : unknown > : ^^^^^^^ >iterable : (x: unknown) => unknown -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >array[i] : unknown > : ^^^^^^^ >array : unknown[] diff --git a/tests/baselines/reference/jsFileImportPreservedWhenUsed.types b/tests/baselines/reference/jsFileImportPreservedWhenUsed.types index c2b33e33e003c..c5f04d99d2539 100644 --- a/tests/baselines/reference/jsFileImportPreservedWhenUsed.types +++ b/tests/baselines/reference/jsFileImportPreservedWhenUsed.types @@ -14,7 +14,7 @@ type ObjectIterator = (value: TObject[keyof TObject], key: str interface LoDashStatic { mapValues(obj: T | null | undefined, callback: ObjectIterator): { [P in keyof T]: TResult }; >mapValues : (obj: T | null | undefined, callback: ObjectIterator) => { [P in keyof T]: TResult; } -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >obj : T | null | undefined > : ^^^^^^^^^^^^^^^^^^^^ >callback : ObjectIterator @@ -77,11 +77,11 @@ export class Test { >_.mapValues( obj, object => ({ ...object, [INDEX_FIELD]: index++ }), ) : object > : ^^^^^^ >_.mapValues : (obj: T | null | undefined, callback: (value: T[keyof T], key: string, collection: T) => TResult) => { [P in keyof T]: TResult; } -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ >_ : LoDashStatic > : ^^^^^^^^^^^^ >mapValues : (obj: T | null | undefined, callback: (value: T[keyof T], key: string, collection: T) => TResult) => { [P in keyof T]: TResult; } -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ obj, >obj : object diff --git a/tests/baselines/reference/jsFileMethodOverloads.types b/tests/baselines/reference/jsFileMethodOverloads.types index d7295795b6bcb..1c01554d242d6 100644 --- a/tests/baselines/reference/jsFileMethodOverloads.types +++ b/tests/baselines/reference/jsFileMethodOverloads.types @@ -73,17 +73,17 @@ >transform : { (fn: (y: T) => U): U; (): T; } > : ^^^ ^^ ^^ ^^^ ^^^^^^ ^^^ >fn : (y: T) => unknown -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ return fn ? fn(this.value) : this.value; >fn ? fn(this.value) : this.value : unknown > : ^^^^^^^ >fn : (y: T) => unknown -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >fn(this.value) : unknown > : ^^^^^^^ >fn : (y: T) => unknown -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this.value : T > : ^ >this : this diff --git a/tests/baselines/reference/jsFileMethodOverloads2.types b/tests/baselines/reference/jsFileMethodOverloads2.types index d458829204c10..2051039880ad1 100644 --- a/tests/baselines/reference/jsFileMethodOverloads2.types +++ b/tests/baselines/reference/jsFileMethodOverloads2.types @@ -68,19 +68,19 @@ */ transform(fn) { >transform : { (fn: (y: T) => U): U; (): T; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^ >fn : (y: T) => unknown -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ return fn ? fn(this.value) : this.value; >fn ? fn(this.value) : this.value : unknown > : ^^^^^^^ >fn : (y: T) => unknown -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >fn(this.value) : unknown > : ^^^^^^^ >fn : (y: T) => unknown -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this.value : T > : ^ >this : this diff --git a/tests/baselines/reference/jsFileMethodOverloads4.types b/tests/baselines/reference/jsFileMethodOverloads4.types index b05e8c406574e..151cb19d0fbbc 100644 --- a/tests/baselines/reference/jsFileMethodOverloads4.types +++ b/tests/baselines/reference/jsFileMethodOverloads4.types @@ -36,7 +36,7 @@ Foo.prototype.bar = function (a, b) { } >bar : any > : ^^^ >function (a, b) { } : { (a: string): void; (a: number, b: string): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >a : string | number > : ^^^^^^^^^^^^^^^ >b : string diff --git a/tests/baselines/reference/jsFileMethodOverloads5.types b/tests/baselines/reference/jsFileMethodOverloads5.types index 8b9cba0b0238c..14cd1b4be80ed 100644 --- a/tests/baselines/reference/jsFileMethodOverloads5.types +++ b/tests/baselines/reference/jsFileMethodOverloads5.types @@ -20,9 +20,9 @@ */ export const foo = function (a, b) { } >foo : { (a: string): void; (a: number, b?: number): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >function (a, b) { } : { (a: string): void; (a: number, b?: number): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >a : string | number > : ^^^^^^^^^^^^^^^ >b : number diff --git a/tests/baselines/reference/jsdocArrayObjectPromiseImplicitAny.types b/tests/baselines/reference/jsdocArrayObjectPromiseImplicitAny.types index de3a252064cfb..43c2402418db4 100644 --- a/tests/baselines/reference/jsdocArrayObjectPromiseImplicitAny.types +++ b/tests/baselines/reference/jsdocArrayObjectPromiseImplicitAny.types @@ -40,12 +40,12 @@ var anyPromise = Promise.resolve(5); > : ^^^^^^^^^^^^ >Promise.resolve(5) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >5 : 5 > : ^ @@ -55,12 +55,12 @@ var numberPromise = Promise.resolve(5); > : ^^^^^^^^^^^^^^^ >Promise.resolve(5) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >5 : 5 > : ^ @@ -106,7 +106,7 @@ var paramedObject = {valueOf: 1}; */ function returnAnyObject(obj) { >returnAnyObject : (obj: any) => any -> : ^ ^^ ^^^^^ +> : ^ ^^^^^^^^^^^^^ >obj : any return obj; diff --git a/tests/baselines/reference/jsdocArrayObjectPromiseNoImplicitAny.types b/tests/baselines/reference/jsdocArrayObjectPromiseNoImplicitAny.types index ed42170505844..8e70490b022b8 100644 --- a/tests/baselines/reference/jsdocArrayObjectPromiseNoImplicitAny.types +++ b/tests/baselines/reference/jsdocArrayObjectPromiseNoImplicitAny.types @@ -40,12 +40,12 @@ var notAnyPromise = Promise.resolve(5); > : ^^^^^^^^^^^^ >Promise.resolve(5) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >5 : 5 > : ^ @@ -55,12 +55,12 @@ var numberPromise = Promise.resolve(5); > : ^^^^^^^^^^^^^^^ >Promise.resolve(5) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >5 : 5 > : ^ diff --git a/tests/baselines/reference/jsdocBracelessTypeTag1.types b/tests/baselines/reference/jsdocBracelessTypeTag1.types index bb655974cf05f..3f6737aefaeb4 100644 --- a/tests/baselines/reference/jsdocBracelessTypeTag1.types +++ b/tests/baselines/reference/jsdocBracelessTypeTag1.types @@ -36,7 +36,7 @@ function fn3(arg) { /** @type ({ type: 'foo' } | { type: 'bar' }) & { prop: number } */ const obj1 = { type: "foo", prop: 10 }; >obj1 : ({ type: "foo"; } | { type: "bar"; }) & { prop: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^ >{ type: "foo", prop: 10 } : { type: "foo"; prop: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >type : "foo" @@ -51,7 +51,7 @@ const obj1 = { type: "foo", prop: 10 }; /** @type ({ type: 'foo' } | { type: 'bar' }) & { prop: number } */ const obj2 = { type: "other", prop: 10 }; >obj2 : ({ type: "foo"; } | { type: "bar"; }) & { prop: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^ >{ type: "other", prop: 10 } : { type: "other"; prop: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >type : "other" diff --git a/tests/baselines/reference/jsdocCatchClauseWithTypeAnnotation.types b/tests/baselines/reference/jsdocCatchClauseWithTypeAnnotation.types index 0d7b3d9609fe6..0593208ba72c8 100644 --- a/tests/baselines/reference/jsdocCatchClauseWithTypeAnnotation.types +++ b/tests/baselines/reference/jsdocCatchClauseWithTypeAnnotation.types @@ -69,11 +69,11 @@ function fn() { >console.log(err) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >err : unknown > : ^^^^^^^ @@ -83,11 +83,11 @@ function fn() { >console.log(err) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >err : unknown > : ^^^^^^^ @@ -123,11 +123,11 @@ function fn() { >console.log() : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ // @ts-ignore catch (/** @type {number} */ err) { // e should not be a `number` @@ -138,11 +138,11 @@ function fn() { >console.log(err.toLowerCase()) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >err.toLowerCase() : any > : ^^^ >err.toLowerCase : any @@ -205,11 +205,11 @@ function fn() { >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : any > : ^^^ @@ -219,11 +219,11 @@ function fn() { >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : any > : ^^^ diff --git a/tests/baselines/reference/jsdocDisallowedInTypescript.types b/tests/baselines/reference/jsdocDisallowedInTypescript.types index 776f86910b1bf..45814785eb1aa 100644 --- a/tests/baselines/reference/jsdocDisallowedInTypescript.types +++ b/tests/baselines/reference/jsdocDisallowedInTypescript.types @@ -46,7 +46,7 @@ function f(x: ?number, y: Array.) { } function hof(ctor: function(new: number, string)) { >hof : (ctor: new (arg1: string) => number) => number -> : ^ ^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^ >ctor : new (arg1: string) => number > : ^^^^^^^^^^^ ^^^^^^^^^^^ >new : number @@ -62,7 +62,7 @@ function hof(ctor: function(new: number, string)) { } function hof2(f: function(this: number, string): string) { >hof2 : (f: (this: number, arg1: string) => string) => string -> : ^ ^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^ >f : (this: number, arg1: string) => string > : ^ ^^ ^^^^^^^^ ^^^^^ >this : number @@ -72,7 +72,7 @@ function hof2(f: function(this: number, string): string) { >f(12, 'hullo') : string > : ^^^^^^ >f : (this: number, arg1: string) => string -> : ^ ^^ ^^^^^^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ ^^^^^ >12 : 12 > : ^^ >'hullo' : "hullo" diff --git a/tests/baselines/reference/jsdocFunctionType.types b/tests/baselines/reference/jsdocFunctionType.types index 9db104068abf6..eef1142485acf 100644 --- a/tests/baselines/reference/jsdocFunctionType.types +++ b/tests/baselines/reference/jsdocFunctionType.types @@ -7,22 +7,22 @@ */ function id1(c) { >id1 : (c: (this: string, arg1: number) => number) => (this: string, arg1: number) => number -> : ^ ^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ +> : ^ ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ >c : (this: string, arg1: number) => number -> : ^ ^^ ^^^^^^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ ^^^^^ return c >c : (this: string, arg1: number) => number -> : ^ ^^ ^^^^^^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ ^^^^^ } var x = id1(function (n) { return this.length + n }); >x : (this: string, arg1: number) => number -> : ^ ^^ ^^^^^^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ ^^^^^ >id1(function (n) { return this.length + n }) : (this: string, arg1: number) => number -> : ^ ^^ ^^^^^^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ ^^^^^ >id1 : (c: (this: string, arg1: number) => number) => (this: string, arg1: number) => number -> : ^ ^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^ ^^ ^^^^^^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ >function (n) { return this.length + n } : (this: string, n: number) => number > : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >n : number @@ -44,13 +44,13 @@ var x = id1(function (n) { return this.length + n }); */ function id2(c) { >id2 : (c: new (arg1: number) => { length: number; }) => new (arg1: number) => { length: number; } -> : ^ ^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^^^^ >c : new (arg1: number) => { length: number; } -> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^ return c >c : new (arg1: number) => { length: number; } -> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^ } class C { @@ -78,21 +78,21 @@ class C { var y = id2(C); >y : new (arg1: number) => { length: number; } -> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^ >id2(C) : new (arg1: number) => { length: number; } -> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^ >id2 : (c: new (arg1: number) => { length: number; }) => new (arg1: number) => { length: number; } -> : ^ ^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^^^^ >C : typeof C > : ^^^^^^^^ var z = new y(12); >z : { length: number; } -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^ >new y(12) : { length: number; } -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^ >y : new (arg1: number) => { length: number; } -> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^ >12 : 12 > : ^^ @@ -100,16 +100,16 @@ z.length; >z.length : number > : ^^^^^^ >z : { length: number; } -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^ >length : number > : ^^^^^^ /** @type {function ("a" | "b", 1 | 2): 3 | 4} */ var f = function (ab, onetwo) { return ab === "a" ? 3 : 4; } >f : (arg0: "a" | "b", arg1: 1 | 2) => 3 | 4 -> : ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^^^ >function (ab, onetwo) { return ab === "a" ? 3 : 4; } : (ab: "a" | "b", onetwo: 1 | 2) => 3 | 4 -> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^ >ab : "a" | "b" > : ^^^^^^^^^ >onetwo : 1 | 2 @@ -153,21 +153,21 @@ function D(n) { var y2 = id2(D); >y2 : new (arg1: number) => { length: number; } -> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^ >id2(D) : new (arg1: number) => { length: number; } -> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^ >id2 : (c: new (arg1: number) => { length: number; }) => new (arg1: number) => { length: number; } -> : ^ ^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^^^^ >D : typeof D > : ^^^^^^^^ var z2 = new y2(33); >z2 : { length: number; } -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^ >new y2(33) : { length: number; } -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^ >y2 : new (arg1: number) => { length: number; } -> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^ >33 : 33 > : ^^ @@ -175,7 +175,7 @@ z2.length; >z2.length : number > : ^^^^^^ >z2 : { length: number; } -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^ >length : number > : ^^^^^^ @@ -186,9 +186,9 @@ z2.length; */ var construct = function(dref) { return new dref(33); } >construct : (dref: new (arg1: number) => D) => D -> : ^ ^^^^^^^^^^^^^ ^^^^^ ^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ ^^^^^ >function(dref) { return new dref(33); } : (dref: new (arg1: number) => D) => D -> : ^ ^^^^^^^^^^^^^ ^^^^^ ^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ ^^^^^ >dref : new (arg1: number) => D > : ^^^^^^^^^^^ ^^^^^^ >new dref(33) : D @@ -204,7 +204,7 @@ var z3 = construct(D); >construct(D) : D > : ^ >construct : (dref: new (arg1: number) => D) => D -> : ^ ^^^^^^^^^^^^^ ^^^^^ ^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ ^^^^^ >D : typeof D > : ^^^^^^^^ @@ -246,11 +246,11 @@ var E = function(n) { var y3 = id2(E); >y3 : new (arg1: number) => { length: number; } -> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^ >id2(E) : new (arg1: number) => { length: number; } -> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^ >id2 : (c: new (arg1: number) => { length: number; }) => new (arg1: number) => { length: number; } -> : ^ ^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^^^^ >E : typeof E > : ^^^^^^^^ @@ -274,7 +274,7 @@ foo('abc', 'def'); >foo('abc', 'def') : void > : ^^^^ >foo : (...args: [string, string] | [number, string, string]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'abc' : "abc" > : ^^^^^ >'def' : "def" @@ -284,7 +284,7 @@ foo(42, 'abc', 'def'); >foo(42, 'abc', 'def') : void > : ^^^^ >foo : (...args: [string, string] | [number, string, string]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >42 : 42 > : ^^ >'abc' : "abc" diff --git a/tests/baselines/reference/jsdocFunctionTypeFalsePositive.types b/tests/baselines/reference/jsdocFunctionTypeFalsePositive.types index cc6fd4db7284d..cbfbd71f3ce4b 100644 --- a/tests/baselines/reference/jsdocFunctionTypeFalsePositive.types +++ b/tests/baselines/reference/jsdocFunctionTypeFalsePositive.types @@ -6,5 +6,5 @@ function f(x) {} >f : (x: () => any) => void > : ^ ^^ ^^^^^^^^^ >x : () => any -> : ^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/jsdocImportType.types b/tests/baselines/reference/jsdocImportType.types index f70cacf05fa04..43f9c1784e9e4 100644 --- a/tests/baselines/reference/jsdocImportType.types +++ b/tests/baselines/reference/jsdocImportType.types @@ -22,7 +22,7 @@ const D = require("./mod1"); >require("./mod1") : typeof D > : ^^^^^^^^ >require : (name: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >"./mod1" : "./mod1" > : ^^^^^^^^ diff --git a/tests/baselines/reference/jsdocImportType2.types b/tests/baselines/reference/jsdocImportType2.types index 514d4e456a88f..e9161386fef65 100644 --- a/tests/baselines/reference/jsdocImportType2.types +++ b/tests/baselines/reference/jsdocImportType2.types @@ -22,7 +22,7 @@ const D = require("./mod1"); >require("./mod1") : typeof D > : ^^^^^^^^ >require : (name: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >"./mod1" : "./mod1" > : ^^^^^^^^ diff --git a/tests/baselines/reference/jsdocImportTypeReferenceToCommonjsModule.types b/tests/baselines/reference/jsdocImportTypeReferenceToCommonjsModule.types index 3226acf90a2d2..de10d86269a87 100644 --- a/tests/baselines/reference/jsdocImportTypeReferenceToCommonjsModule.types +++ b/tests/baselines/reference/jsdocImportTypeReferenceToCommonjsModule.types @@ -11,21 +11,21 @@ declare var config: { } export = config; >config : { fix: boolean; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ === test.js === /** @param {import('./ex')} a */ function demo(a) { >demo : (a: { fix: boolean; }) => void -> : ^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^ ^^^^^^^^^ >a : { fix: boolean; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ a.fix >a.fix : boolean > : ^^^^^^^ >a : { fix: boolean; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >fix : boolean > : ^^^^^^^ } diff --git a/tests/baselines/reference/jsdocInTypeScript.types b/tests/baselines/reference/jsdocInTypeScript.types index ca0da901de7f3..47a8e22f5fd00 100644 --- a/tests/baselines/reference/jsdocInTypeScript.types +++ b/tests/baselines/reference/jsdocInTypeScript.types @@ -96,7 +96,7 @@ interface I {} /** @template T */ function tem(t: T): I { return {}; } >tem : (t: T) => I -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >t : T > : ^ >{} : {} diff --git a/tests/baselines/reference/jsdocOuterTypeParameters1.types b/tests/baselines/reference/jsdocOuterTypeParameters1.types index 104c89b19a52e..e09bc426c3e91 100644 --- a/tests/baselines/reference/jsdocOuterTypeParameters1.types +++ b/tests/baselines/reference/jsdocOuterTypeParameters1.types @@ -4,9 +4,9 @@ /** @return {T} */ const dedupingMixin = function(mixin) {}; >dedupingMixin : (mixin: any) => T -> : ^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >function(mixin) {} : (mixin: any) => T -> : ^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >mixin : any > : ^^^ @@ -17,7 +17,7 @@ const PropertyAccessors = dedupingMixin(() => { >dedupingMixin(() => { class Bar { static bar() { this.prototype.foo(); } }}) : T > : ^ >dedupingMixin : (mixin: any) => T -> : ^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >() => { class Bar { static bar() { this.prototype.foo(); } }} : () => void > : ^^^^^^^^^^ diff --git a/tests/baselines/reference/jsdocOuterTypeParameters2.types b/tests/baselines/reference/jsdocOuterTypeParameters2.types index 927d2dbf2bc48..46b7026ef7b38 100644 --- a/tests/baselines/reference/jsdocOuterTypeParameters2.types +++ b/tests/baselines/reference/jsdocOuterTypeParameters2.types @@ -4,9 +4,9 @@ /** @return {T} */ const dedupingMixin = function(mixin) {}; >dedupingMixin : (mixin: any) => T -> : ^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >function(mixin) {} : (mixin: any) => T -> : ^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >mixin : any > : ^^^ @@ -17,7 +17,7 @@ const PropertyAccessors = dedupingMixin(() => { >dedupingMixin(() => { class Bar { static bar() { this.prototype.foo(); } }}) : T > : ^ >dedupingMixin : (mixin: any) => T -> : ^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >() => { class Bar { static bar() { this.prototype.foo(); } }} : () => void > : ^^^^^^^^^^ diff --git a/tests/baselines/reference/jsdocOverrideTag1.types b/tests/baselines/reference/jsdocOverrideTag1.types index 79b96723946f9..c26a6199d5f1d 100644 --- a/tests/baselines/reference/jsdocOverrideTag1.types +++ b/tests/baselines/reference/jsdocOverrideTag1.types @@ -55,11 +55,11 @@ class B extends A { >super.foo(a) : boolean > : ^^^^^^^ >super.foo : (a: string | number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >super : A > : ^ >foo : (a: string | number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : string | number > : ^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/jsdocParamTag2.types b/tests/baselines/reference/jsdocParamTag2.types index cbf88d9fb8fd0..4b658ccfb65eb 100644 --- a/tests/baselines/reference/jsdocParamTag2.types +++ b/tests/baselines/reference/jsdocParamTag2.types @@ -142,11 +142,11 @@ function good9({ a }) { >console.log(arguments, a) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >arguments : IArguments > : ^^^^^^^^^^ >a : string diff --git a/tests/baselines/reference/jsdocParamTagOnPropertyInitializer.types b/tests/baselines/reference/jsdocParamTagOnPropertyInitializer.types index 14c5c83ffc6af..12e367dcf3d21 100644 --- a/tests/baselines/reference/jsdocParamTagOnPropertyInitializer.types +++ b/tests/baselines/reference/jsdocParamTagOnPropertyInitializer.types @@ -16,10 +16,10 @@ class Foo { >x.toLowerCase() : string > : ^^^^^^ >x.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/jsdocParamTagTypeLiteral.types b/tests/baselines/reference/jsdocParamTagTypeLiteral.types index 8d091e7122077..c159c50346b1e 100644 --- a/tests/baselines/reference/jsdocParamTagTypeLiteral.types +++ b/tests/baselines/reference/jsdocParamTagTypeLiteral.types @@ -34,13 +34,13 @@ function foo1(opts1) { >foo1 : (opts1: { x: string; y?: string | undefined; z?: string | undefined; w?: string | undefined;}) => void > : ^ ^^^ ^^ ^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >opts1 : { x: string; y?: string | undefined; z?: string | undefined; w?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ opts1.x; >opts1.x : string > : ^^^^^^ >opts1 : { x: string; y?: string | undefined; z?: string | undefined; w?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : string > : ^^^^^^ } @@ -66,15 +66,15 @@ function foo2(/** @param opts2 bad idea theatre! */opts2) { >foo2 : (opts2: { anotherX: string; anotherY?: string | undefined;}) => void > : ^ ^^^ ^^ ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ >opts2 : { anotherX: string; anotherY?: string | undefined; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ opts2[0].anotherX; >opts2[0].anotherX : string > : ^^^^^^ >opts2[0] : { anotherX: string; anotherY?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >opts2 : { anotherX: string; anotherY?: string | undefined; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ >0 : 0 > : ^ >anotherX : string @@ -103,13 +103,13 @@ function foo3(opts3) { >foo3 : (opts3: { x: string;}) => void > : ^ ^^^ ^^ ^^^^^^^^^^^ >opts3 : { x: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ opts3.x; >opts3.x : string > : ^^^^^^ >opts3 : { x: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : string > : ^^^^^^ } @@ -136,15 +136,15 @@ function foo4(opts4) { >foo4 : (opts4: { x: string; y?: string | undefined; z?: string; w?: string;}) => void > : ^ ^^^ ^^ ^ ^^^ ^^^^^^^^^^^^^ ^^^ ^ ^^^ ^^^^^^^^^^^ >opts4 : { x: string; y?: string | undefined; z?: string | undefined; w?: string | undefined; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ opts4[0].x; >opts4[0].x : string > : ^^^^^^ >opts4[0] : { x: string; y?: string | undefined; z?: string | undefined; w?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >opts4 : { x: string; y?: string | undefined; z?: string | undefined; w?: string | undefined; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >0 : 0 > : ^ >x : string @@ -178,28 +178,28 @@ foo4([{ x: 'hi' }]); function foo5(opts5) { >foo5 : (opts5: { help: string; what: { a: string; bad: { idea: string; oh: boolean; }; }; unnest: number;}) => void > : ^ ^^^ ^^ ^ ^^^ ^^ ^ ^^^ ^^ ^ ^^ ^ ^^ ^^ ^^ ^^^^^^^^^^^ ->opts5 : { help: string; what: { a: string; bad: { idea: string; oh: boolean; }[]; }; unnest: number; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>opts5 : { help: string; what: { a: string; bad: { idea: string; oh: boolean; };}; unnest: number; }[] +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^ ^^^ ^^ ^ ^^ ^ ^^^^^^^^^^^^^ ^^^^^ opts5[0].what.bad[0].idea; >opts5[0].what.bad[0].idea : string > : ^^^^^^ >opts5[0].what.bad[0] : { idea: string; oh: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^ ^^^ >opts5[0].what.bad : { idea: string; oh: boolean; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->opts5[0].what : { a: string; bad: { idea: string; oh: boolean; }[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->opts5[0] : { help: string; what: { a: string; bad: { idea: string; oh: boolean; }[]; }; unnest: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->opts5 : { help: string; what: { a: string; bad: { idea: string; oh: boolean; }[]; }; unnest: number; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^ ^^^^^ +>opts5[0].what : { a: string; bad: { idea: string; oh: boolean;}; } +> : ^^^^^ ^^^^^^^^ ^^ ^ ^^ ^^^^^ +>opts5[0] : { help: string; what: { a: string; bad: { idea: string; oh: boolean; };}; unnest: number; } +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^ ^^^ ^^ ^ ^^ ^ ^^^^^^^^^^^^^ ^^^ +>opts5 : { help: string; what: { a: string; bad: { idea: string; oh: boolean; };}; unnest: number; }[] +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^ ^^^ ^^ ^ ^^ ^ ^^^^^^^^^^^^^ ^^^^^ >0 : 0 > : ^ ->what : { a: string; bad: { idea: string; oh: boolean; }[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>what : { a: string; bad: { idea: string; oh: boolean;}; } +> : ^^^^^ ^^^^^^^^ ^^ ^ ^^ ^^^^^ >bad : { idea: string; oh: boolean; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^ ^^^^^ >0 : 0 > : ^ >idea : string @@ -208,10 +208,10 @@ function foo5(opts5) { opts5[0].unnest; >opts5[0].unnest : number > : ^^^^^^ ->opts5[0] : { help: string; what: { a: string; bad: { idea: string; oh: boolean; }[]; }; unnest: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->opts5 : { help: string; what: { a: string; bad: { idea: string; oh: boolean; }[]; }; unnest: number; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>opts5[0] : { help: string; what: { a: string; bad: { idea: string; oh: boolean; };}; unnest: number; } +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^ ^^^ ^^ ^ ^^ ^ ^^^^^^^^^^^^^ ^^^ +>opts5 : { help: string; what: { a: string; bad: { idea: string; oh: boolean; };}; unnest: number; }[] +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^ ^^^ ^^ ^ ^^ ^ ^^^^^^^^^^^^^ ^^^^^ >0 : 0 > : ^ >unnest : number diff --git a/tests/baselines/reference/jsdocParameterParsingInfiniteLoop.types b/tests/baselines/reference/jsdocParameterParsingInfiniteLoop.types index 60aba05e6ac88..03e0733209e4e 100644 --- a/tests/baselines/reference/jsdocParameterParsingInfiniteLoop.types +++ b/tests/baselines/reference/jsdocParameterParsingInfiniteLoop.types @@ -7,5 +7,5 @@ */ let x; >x : (arg0: any, arg1: foo) => any -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^^^^^^ diff --git a/tests/baselines/reference/jsdocParseDotDotDotInJSDocFunction.types b/tests/baselines/reference/jsdocParseDotDotDotInJSDocFunction.types index 6e88157966131..35bc6b80521b5 100644 --- a/tests/baselines/reference/jsdocParseDotDotDotInJSDocFunction.types +++ b/tests/baselines/reference/jsdocParseDotDotDotInJSDocFunction.types @@ -5,7 +5,7 @@ /** @param {function(...[*])} callback */ function g(callback) { >g : (callback: (...args: [any][]) => any) => void -> : ^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ >callback : (...arg0: [any][]) => any > : ^^^^^^^^^^ ^^^ ^^^^^^^^^^ @@ -34,11 +34,11 @@ function g(callback) { */ var stringFromCharCode = String.fromCharCode; >stringFromCharCode : (...arg0: number[]) => string -> : ^^^^^^^^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^ >String.fromCharCode : (...codes: number[]) => string -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >String : StringConstructor > : ^^^^^^^^^^^^^^^^^ >fromCharCode : (...codes: number[]) => string -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/jsdocParseHigherOrderFunction.types b/tests/baselines/reference/jsdocParseHigherOrderFunction.types index 377538e6db362..c800ca0f14276 100644 --- a/tests/baselines/reference/jsdocParseHigherOrderFunction.types +++ b/tests/baselines/reference/jsdocParseHigherOrderFunction.types @@ -4,17 +4,17 @@ /** @type {function((string), function((string)): string): string} */ var x = (s, id) => id(s) >x : (arg0: (string), arg1: (arg0: (string)) => string) => string -> : ^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^ ^^^^^ >(s, id) => id(s) : (s: string, id: (arg0: (string)) => string) => string -> : ^ ^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^^^^^^^ ^^^^^ ^^^^^ >s : string > : ^^^^^^ >id : (arg0: (string)) => string -> : ^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ >id(s) : string > : ^^^^^^ >id : (arg0: (string)) => string -> : ^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ >s : string > : ^^^^^^ diff --git a/tests/baselines/reference/jsdocParseParenthesizedJSDocParameter.types b/tests/baselines/reference/jsdocParseParenthesizedJSDocParameter.types index 60ec2939f482c..7d740cde34616 100644 --- a/tests/baselines/reference/jsdocParseParenthesizedJSDocParameter.types +++ b/tests/baselines/reference/jsdocParseParenthesizedJSDocParameter.types @@ -4,17 +4,17 @@ /** @type {function((string)): string} */ var x = s => s.toString() >x : (arg0: (string)) => string -> : ^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ >s => s.toString() : (s: string) => string -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >s : string > : ^^^^^^ >s.toString() : string > : ^^^^^^ >s.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >s : string > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/jsdocReferenceGlobalTypeInCommonJs.types b/tests/baselines/reference/jsdocReferenceGlobalTypeInCommonJs.types index 23f3231e71d8f..729b96755a506 100644 --- a/tests/baselines/reference/jsdocReferenceGlobalTypeInCommonJs.types +++ b/tests/baselines/reference/jsdocReferenceGlobalTypeInCommonJs.types @@ -3,9 +3,9 @@ === a.js === const other = require('./other'); >other : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >require('./other') : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >require : any > : ^^^ >'./other' : "./other" @@ -18,11 +18,11 @@ var ppk; Puppeteer.connect; >Puppeteer.connect : (name: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >Puppeteer : typeof Puppeteer > : ^^^^^^^^^^^^^^^^ >connect : (name: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ === puppet.d.ts === export as namespace Puppeteer; @@ -47,5 +47,5 @@ declare function f(): string; export = f; >f : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/jsdocResolveNameFailureInTypedef.types b/tests/baselines/reference/jsdocResolveNameFailureInTypedef.types index 7e9a79fe8921a..fa4c2be52ec06 100644 --- a/tests/baselines/reference/jsdocResolveNameFailureInTypedef.types +++ b/tests/baselines/reference/jsdocResolveNameFailureInTypedef.types @@ -5,8 +5,8 @@ * @param {Ty} x */ function f(x) {} ->f : (x: CantResolveThis) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f : (x: Ty) => void +> : ^ ^^ ^^^^^^^^^ >x : CantResolveThis > : ^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/jsdocTemplateClass.types b/tests/baselines/reference/jsdocTemplateClass.types index 40c523e75a733..8298463105522 100644 --- a/tests/baselines/reference/jsdocTemplateClass.types +++ b/tests/baselines/reference/jsdocTemplateClass.types @@ -37,19 +37,19 @@ class Foo { */ foo(x, y, alpha) { >foo : (x: T, y: Id, alpha: (t: T) => T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^^^ ^^^^^ >x : T > : ^ >y : Id > : ^^^^^ >alpha : (t: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ return alpha(y(x)) >alpha(y(x)) : T > : ^ >alpha : (t: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >y(x) : T > : ^ >y : Id diff --git a/tests/baselines/reference/jsdocTemplateConstructorFunction2.types b/tests/baselines/reference/jsdocTemplateConstructorFunction2.types index 46e97677fb147..36b46af54797a 100644 --- a/tests/baselines/reference/jsdocTemplateConstructorFunction2.types +++ b/tests/baselines/reference/jsdocTemplateConstructorFunction2.types @@ -55,7 +55,7 @@ Zet.prototype.add = function(v, o) { >v : T > : ^ >o : { nested: T; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^ this.u = v || o.nested >this.u = v || o.nested : T @@ -73,7 +73,7 @@ Zet.prototype.add = function(v, o) { >o.nested : T > : ^ >o : { nested: T; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^ >nested : T > : ^ diff --git a/tests/baselines/reference/jsdocTemplateTag.types b/tests/baselines/reference/jsdocTemplateTag.types index ac95f0dfb309e..fb3ac3391b1ba 100644 --- a/tests/baselines/reference/jsdocTemplateTag.types +++ b/tests/baselines/reference/jsdocTemplateTag.types @@ -54,7 +54,7 @@ let s = g('hi')() >g('hi') : () => string > : ^^^^^^^^^^^^ >g : (a: T) => () => T -> : ^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^ >'hi' : "hi" > : ^^^^ @@ -63,19 +63,19 @@ let s = g('hi')() */ Element.prototype.animate = function(keyframes) {}; >Element.prototype.animate = function(keyframes) {} : (keyframes: Array) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^^^^^ >Element.prototype.animate : (keyframes: Keyframe[] | PropertyIndexedKeyframes | null, options?: number | KeyframeAnimationOptions) => Animation -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >Element.prototype : Element > : ^^^^^^^ >Element : { new (): Element; prototype: Element; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >prototype : Element > : ^^^^^^^ >animate : (keyframes: Keyframe[] | PropertyIndexedKeyframes | null, options?: number | KeyframeAnimationOptions) => Animation -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >function(keyframes) {} : (keyframes: Array) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^^^^^ >keyframes : any[] > : ^^^^^ diff --git a/tests/baselines/reference/jsdocTemplateTag3.types b/tests/baselines/reference/jsdocTemplateTag3.types index f35cc77f10a90..45311a690cebd 100644 --- a/tests/baselines/reference/jsdocTemplateTag3.types +++ b/tests/baselines/reference/jsdocTemplateTag3.types @@ -15,7 +15,7 @@ */ function f(t, u, v, w, x) { >f : (t: T, u: U, v: V, w: W, x: X) => W | X -> : ^ ^^^^^^^^^^^^^^ ^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^ ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >t : T > : ^ >u : U @@ -88,7 +88,7 @@ f({ a: 12, b: 'hi', c: null }, undefined, { c: false, d: 12, b: undefined }, 101 >f({ a: 12, b: 'hi', c: null }, undefined, { c: false, d: 12, b: undefined }, 101, 'nope') : 101 | "nope" > : ^^^^^^^^^^^^ >f : (t: T, u: U, v: V, w: W, x: X) => W | X -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{ a: 12, b: 'hi', c: null } : { a: number; b: string; c: null; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -126,7 +126,7 @@ f({ a: 12 }, undefined, undefined, 101, 'nope'); >f({ a: 12 }, undefined, undefined, 101, 'nope') : 101 | "nope" > : ^^^^^^^^^^^^ >f : (t: T, u: U, v: V, w: W, x: X) => W | X -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{ a: 12 } : { a: number; } > : ^^^^^^^^^^^^^^ >a : number diff --git a/tests/baselines/reference/jsdocTemplateTag4.types b/tests/baselines/reference/jsdocTemplateTag4.types index c8064597f9fe3..0430e8423f292 100644 --- a/tests/baselines/reference/jsdocTemplateTag4.types +++ b/tests/baselines/reference/jsdocTemplateTag4.types @@ -43,7 +43,7 @@ Multimap.prototype.get = function (key) { >get : any > : ^^^ >function (key) { return this._map[key + ''];} : (key: K) => V -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >key : K > : ^ @@ -108,7 +108,7 @@ Multimap2.prototype.get = function (key) { >get : any > : ^^^ >function (key) { return this._map[key + ''];} : (key: K) => V -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >key : K > : ^ @@ -189,7 +189,7 @@ Ns.Multimap3.prototype.get = function (key) { >get : any > : ^^^ >function (key) { return this._map[key + ''];} : (key: K) => V -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >key : K > : ^ diff --git a/tests/baselines/reference/jsdocTemplateTag5.types b/tests/baselines/reference/jsdocTemplateTag5.types index cd77e7dad6661..3c7542189692f 100644 --- a/tests/baselines/reference/jsdocTemplateTag5.types +++ b/tests/baselines/reference/jsdocTemplateTag5.types @@ -34,7 +34,7 @@ Multimap.prototype = { >Multimap : typeof Multimap > : ^^^^^^^^^^^^^^^ >prototype : { get(key: K): V; } -> : ^^^^^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >{ /** * @param {K} key the key ok * @returns {V} the value ok */ get(key) { return this._map[key + '']; }} : { get(key: K): V; } > : ^^^^^^ ^^ ^^^ ^^^ @@ -101,7 +101,7 @@ Multimap2.prototype = { >Multimap2 : typeof Multimap2 > : ^^^^^^^^^^^^^^^^ >prototype : { get: (key: K) => V; } -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ ^^^ >{ /** * @param {K} key the key ok * @returns {V} the value ok */ get: function(key) { return this._map[key + '']; }} : { get: (key: K) => V; } > : ^^^^^^^^ ^^ ^^^^^ ^^^ @@ -186,7 +186,7 @@ Ns.Multimap3.prototype = { >Multimap3 : typeof Multimap3 > : ^^^^^^^^^^^^^^^^ >prototype : { get(key: K): V; } -> : ^^^^^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >{ /** * @param {K} key the key ok * @returns {V} the value ok */ get(key) { return this._map[key + '']; }} : { get(key: K): V; } > : ^^^^^^ ^^ ^^^ ^^^ diff --git a/tests/baselines/reference/jsdocTemplateTag6.types b/tests/baselines/reference/jsdocTemplateTag6.types index 6697ec95a96f0..f7c937c6bac41 100644 --- a/tests/baselines/reference/jsdocTemplateTag6.types +++ b/tests/baselines/reference/jsdocTemplateTag6.types @@ -22,7 +22,7 @@ const t1 = f1("a"); >f1("a") : "a" > : ^^^ >f1 : (x: T) => T -> : ^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >"a" : "a" > : ^^^ @@ -32,7 +32,7 @@ const t2 = f1(["a", ["b", "c"]]); >f1(["a", ["b", "c"]]) : readonly ["a", readonly ["b", "c"]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f1 : (x: T) => T -> : ^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >["a", ["b", "c"]] : ["a", ["b", "c"]] > : ^^^^^^^^^^^^^^^^^ >"a" : "a" @@ -50,7 +50,7 @@ const t3 = f1({ a: 1, b: "c", d: ["e", 2, true, { f: "g" }] }); >f1({ a: 1, b: "c", d: ["e", 2, true, { f: "g" }] }) : { readonly a: 1; readonly b: "c"; readonly d: readonly ["e", 2, true, { readonly f: "g"; }]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f1 : (x: T) => T -> : ^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >{ a: 1, b: "c", d: ["e", 2, true, { f: "g" }] } : { a: 1; b: "c"; d: ["e", 2, true, { f: "g"; }]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : 1 @@ -100,7 +100,7 @@ const t4 = f2('a'); >f2('a') : "a" > : ^^^ >f2 : (x: T) => T -> : ^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^ ^^ ^^^^^ >'a' : "a" > : ^^^ @@ -110,7 +110,7 @@ const t5 = f2(['a', ['b', 'c']]); >f2(['a', ['b', 'c']]) : readonly ["a", readonly ["b", "c"]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f2 : (x: T) => T -> : ^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^ ^^ ^^^^^ >['a', ['b', 'c']] : ["a", ["b", "c"]] > : ^^^^^^^^^^^^^^^^^ >'a' : "a" @@ -128,7 +128,7 @@ const t6 = f2({ a: 1, b: "c", d: ["e", 2, true, { f: "g" }] }); >f2({ a: 1, b: "c", d: ["e", 2, true, { f: "g" }] }) : { readonly a: 1; readonly b: "c"; readonly d: readonly ["e", 2, true, { readonly f: "g"; }]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f2 : (x: T) => T -> : ^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^ ^^ ^^^^^ >{ a: 1, b: "c", d: ["e", 2, true, { f: "g" }] } : { a: 1; b: "c"; d: ["e", 2, true, { f: "g"; }]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : 1 @@ -179,7 +179,7 @@ const t7 = f3("hello"); >f3("hello") : "hello"[] > : ^^^^^^^^^ >f3 : (x: T) => T[] -> : ^^^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ @@ -189,7 +189,7 @@ const t8 = f3("hello"); >f3("hello") : "hello"[] > : ^^^^^^^^^ >f3 : (x: T) => T[] -> : ^^^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ @@ -218,7 +218,7 @@ const t9 = f4([[1, "x"], [2, "y"]]); >f4([[1, "x"], [2, "y"]]) : readonly [1, "x"] | readonly [2, "y"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f4 : (x: [T, T]) => T -> : ^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >[[1, "x"], [2, "y"]] : [[1, "x"], [2, "y"]] > : ^^^^^^^^^^^^^^^^^^^^ >[1, "x"] : [1, "x"] @@ -240,7 +240,7 @@ const t10 = f4([{ a: 1, b: "x" }, { a: 2, b: "y" }]); >f4([{ a: 1, b: "x" }, { a: 2, b: "y" }]) : { readonly a: 1; readonly b: "x"; } | { readonly a: 2; readonly b: "y"; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f4 : (x: [T, T]) => T -> : ^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >[{ a: 1, b: "x" }, { a: 2, b: "y" }] : [{ a: 1; b: "x"; }, { a: 2; b: "y"; }] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ a: 1, b: "x" } : { a: 1; b: "x"; } @@ -273,13 +273,13 @@ function f5(obj) { >f5 : (obj: { x: T; y: T; }) => T > : ^^^^^^^ ^^ ^^ ^^^^^ >obj : { x: T; y: T; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ return obj.x; >obj.x : T > : ^ >obj : { x: T; y: T; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >x : T > : ^ } @@ -289,7 +289,7 @@ const t11 = f5({ x: [1, "x"], y: [2, "y"] }); >f5({ x: [1, "x"], y: [2, "y"] }) : readonly [1, "x"] | readonly [2, "y"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f5 : (obj: { x: T; y: T; }) => T -> : ^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >{ x: [1, "x"], y: [2, "y"] } : { x: [1, "x"]; y: [2, "y"]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : [1, "x"] @@ -315,7 +315,7 @@ const t12 = f5({ x: { a: 1, b: "x" }, y: { a: 2, b: "y" } }); >f5({ x: { a: 1, b: "x" }, y: { a: 2, b: "y" } }) : { readonly a: 1; readonly b: "x"; } | { readonly a: 2; readonly b: "y"; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f5 : (obj: { x: T; y: T; }) => T -> : ^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >{ x: { a: 1, b: "x" }, y: { a: 2, b: "y" } } : { x: { a: 1; b: "x"; }; y: { a: 2; b: "y"; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { a: 1; b: "x"; } @@ -436,7 +436,7 @@ const t14 = t13.foo(["a", ["b", "c"]]); */ function f6(...args) { >f6 : (...args: T) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >args : T > : ^ @@ -450,7 +450,7 @@ const t15 = f6(1, 'b', { a: 1, b: 'x' }); >f6(1, 'b', { a: 1, b: 'x' }) : readonly [1, "b", { readonly a: 1; readonly b: "x"; }] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f6 : (...args: T) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >'b' : "b" diff --git a/tests/baselines/reference/jsdocTemplateTagDefault.types b/tests/baselines/reference/jsdocTemplateTagDefault.types index 08ddcd29c25e2..5c8aea32481be 100644 --- a/tests/baselines/reference/jsdocTemplateTagDefault.types +++ b/tests/baselines/reference/jsdocTemplateTagDefault.types @@ -92,7 +92,7 @@ function f1(a, b) {} */ function f2(a, b) {} >f2 : (a: T, b: U) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >a : T > : ^ >b : U diff --git a/tests/baselines/reference/jsdocThisType.types b/tests/baselines/reference/jsdocThisType.types index 6df5e8a4a33c0..8f9c7289935bb 100644 --- a/tests/baselines/reference/jsdocThisType.types +++ b/tests/baselines/reference/jsdocThisType.types @@ -18,8 +18,8 @@ export type M = (this: Foo) => void; export const f1 = function() { >f1 : import("/types").M > : ^^^^^^^^^^^^^^^^^^ ->function() { this.test();} : (this: Foo) => void -> : ^ ^^ ^^^^^^^^^ +>function() { this.test();} : (this: import("/types").Foo) => void +> : ^ ^^ ^^^^^^^^ ^^^^^^^^^^^^ this.test(); >this.test() : any @@ -34,8 +34,8 @@ export const f1 = function() { /** @type {import('./types').M} */ export function f2() { ->f2 : (this: Foo) => void -> : ^ ^^ ^^^^^^^^^ +>f2 : (this: import("/types").Foo) => void +> : ^ ^^ ^^^^^^^^ ^^^^^^^^ this.test(); >this.test() : any @@ -51,9 +51,9 @@ export function f2() { /** @type {(this: import('./types').Foo) => void} */ export const f3 = function() { >f3 : (this: import("./types").Foo) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >function() { this.test();} : (this: import("./types").Foo) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ this.test(); >this.test() : any @@ -85,9 +85,9 @@ export function f4() { /** @type {function(this: import('./types').Foo): void} */ export const f5 = function() { >f5 : (this: import("./types").Foo) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >function() { this.test();} : (this: import("./types").Foo) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ this.test(); >this.test() : any diff --git a/tests/baselines/reference/jsdocTypeNongenericInstantiationAttempt.types b/tests/baselines/reference/jsdocTypeNongenericInstantiationAttempt.types index 7327055aa8fa1..c72ecf7cf6414 100644 --- a/tests/baselines/reference/jsdocTypeNongenericInstantiationAttempt.types +++ b/tests/baselines/reference/jsdocTypeNongenericInstantiationAttempt.types @@ -6,9 +6,9 @@ */ function sayHello(somebody) { >sayHello : (somebody: (m: boolean) => string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^ ^^^^^^^^^^^ >somebody : (m: boolean) => string -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^ return 'Hello ' + somebody; >'Hello ' + somebody : string @@ -16,7 +16,7 @@ function sayHello(somebody) { >'Hello ' : "Hello " > : ^^^^^^^^ >somebody : (m: boolean) => string -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^ } === index2.js === @@ -25,9 +25,9 @@ function sayHello(somebody) { */ function sayHello2(somebody) { >sayHello2 : (somebody: (m: void) => string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^ ^^^^^^^^^^^ >somebody : (m: void) => string -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^ return 'Hello ' + somebody; >'Hello ' + somebody : string @@ -35,7 +35,7 @@ function sayHello2(somebody) { >'Hello ' : "Hello " > : ^^^^^^^^ >somebody : (m: void) => string -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^ } @@ -45,9 +45,9 @@ function sayHello2(somebody) { */ function sayHello3(somebody) { >sayHello3 : (somebody: (m: undefined) => string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^^^^^^ >somebody : (m: undefined) => string -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^ return 'Hello ' + somebody; >'Hello ' + somebody : string @@ -55,7 +55,7 @@ function sayHello3(somebody) { >'Hello ' : "Hello " > : ^^^^^^^^ >somebody : (m: undefined) => string -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^ } @@ -67,7 +67,7 @@ function sayHello4(somebody) { >sayHello4 : (somebody: (m: Function) => string) => string > : ^ ^^ ^^^^^^^^ ^^^^^^^^^^^ >somebody : (m: Function) => string -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ return 'Hello ' + somebody; >'Hello ' + somebody : string @@ -75,7 +75,7 @@ function sayHello4(somebody) { >'Hello ' : "Hello " > : ^^^^^^^^ >somebody : (m: Function) => string -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ } @@ -85,9 +85,9 @@ function sayHello4(somebody) { */ function sayHello5(somebody) { >sayHello5 : (somebody: (m: string) => string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^^ >somebody : (m: string) => string -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^ return 'Hello ' + somebody; >'Hello ' + somebody : string @@ -95,7 +95,7 @@ function sayHello5(somebody) { >'Hello ' : "Hello " > : ^^^^^^^^ >somebody : (m: string) => string -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^ } @@ -105,9 +105,9 @@ function sayHello5(somebody) { */ function sayHello6(somebody) { >sayHello6 : (somebody: (m: number) => string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^^^^ >somebody : (m: number) => string -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^ return 'Hello ' + somebody; >'Hello ' + somebody : string @@ -115,7 +115,7 @@ function sayHello6(somebody) { >'Hello ' : "Hello " > : ^^^^^^^^ >somebody : (m: number) => string -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^ } @@ -125,9 +125,9 @@ function sayHello6(somebody) { */ function sayHello7(somebody) { >sayHello7 : (somebody: (m: any) => string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^^^^^^^ >somebody : (m: any) => string -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^ return 'Hello ' + somebody; >'Hello ' + somebody : string @@ -135,7 +135,7 @@ function sayHello7(somebody) { >'Hello ' : "Hello " > : ^^^^^^^^ >somebody : (m: any) => string -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^ } === index8.js === @@ -148,7 +148,7 @@ function fn() {} */ function sayHello8(somebody) { } >sayHello8 : (somebody: () => void) => void -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^ >somebody : () => void > : ^^^^^^^^^^ diff --git a/tests/baselines/reference/jsdocTypeReferenceToValue.types b/tests/baselines/reference/jsdocTypeReferenceToValue.types index 9ec42c9d971ce..adcdf06da1ae2 100644 --- a/tests/baselines/reference/jsdocTypeReferenceToValue.types +++ b/tests/baselines/reference/jsdocTypeReferenceToValue.types @@ -4,15 +4,15 @@ /** @param {Image} image */ function process(image) { >process : (image: new (width?: number, height?: number) => HTMLImageElement) => HTMLImageElement -> : ^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ >image : new (width?: number, height?: number) => HTMLImageElement -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ return new image(1, 1) >new image(1, 1) : HTMLImageElement > : ^^^^^^^^^^^^^^^^ >image : new (width?: number, height?: number) => HTMLImageElement -> : ^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^ ^^^ ^^^^^ >1 : 1 > : ^ >1 : 1 diff --git a/tests/baselines/reference/jsdocTypeTag.types b/tests/baselines/reference/jsdocTypeTag.types index 44cc643ed3893..10a42dee45c51 100644 --- a/tests/baselines/reference/jsdocTypeTag.types +++ b/tests/baselines/reference/jsdocTypeTag.types @@ -102,12 +102,12 @@ var Func; /** @type {(s: string) => number} */ var f; >f : (s: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ /** @type {new (s: string) => { s: string }} */ var ctor; >ctor : new (s: string) => { s: string; } -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ === b.ts === var S: string; @@ -190,13 +190,13 @@ var Func: Function; var f: (s: string) => number; >f : (s: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >s : string > : ^^^^^^ var ctor: new (s: string) => { s: string }; >ctor : new (s: string) => { s: string; } -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >s : string > : ^^^^^^ >s : string diff --git a/tests/baselines/reference/jsdocTypeTagParameterType.types b/tests/baselines/reference/jsdocTypeTagParameterType.types index 7cf5ab42d73a3..a85b3f3f7f7f0 100644 --- a/tests/baselines/reference/jsdocTypeTagParameterType.types +++ b/tests/baselines/reference/jsdocTypeTagParameterType.types @@ -4,9 +4,9 @@ /** @type {function(string): void} */ const f = (value) => { >f : (arg0: string) => void -> : ^^^^^^^ ^^^^^^^^^ +> : ^^^^^^^ ^^^^^ >(value) => { value = 1 // should error} : (value: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >value : string > : ^^^^^^ diff --git a/tests/baselines/reference/jsdocTypeTagRequiredParameters.types b/tests/baselines/reference/jsdocTypeTagRequiredParameters.types index 0c5ccbe83ae65..33b0d4b97cf32 100644 --- a/tests/baselines/reference/jsdocTypeTagRequiredParameters.types +++ b/tests/baselines/reference/jsdocTypeTagRequiredParameters.types @@ -4,9 +4,9 @@ /** @type {function(string): void} */ const f = (value) => { >f : (arg0: string) => void -> : ^^^^^^^ ^^^^^^^^^ +> : ^^^^^^^ ^^^^^ >(value) => {} : (value: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >value : string > : ^^^^^^ @@ -30,17 +30,17 @@ f() // should error >f() : void > : ^^^^ >f : (arg0: string) => void -> : ^^^^^^^ ^^^^^^^^^ +> : ^^^^^^^ ^^^^^ g() // should error >g() : void > : ^^^^ >g : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ h() >h() : void > : ^^^^ >h : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ diff --git a/tests/baselines/reference/jsdocVariadicType.types b/tests/baselines/reference/jsdocVariadicType.types index 8425e8e6b9ab1..35bd7c33e883c 100644 --- a/tests/baselines/reference/jsdocVariadicType.types +++ b/tests/baselines/reference/jsdocVariadicType.types @@ -6,9 +6,9 @@ */ const foo = function (a, b, ...r) { }; >foo : (arg0: boolean, arg1: string, ...arg2: any[]) => void -> : ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ >function (a, b, ...r) { } : (a: boolean, b: string, ...r: any[]) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^ >a : boolean > : ^^^^^^^ >b : string @@ -21,7 +21,7 @@ foo(false, ''); >foo(false, '') : void > : ^^^^ >foo : (arg0: boolean, arg1: string, ...arg2: any[]) => void -> : ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ >false : false > : ^^^^^ >'' : "" diff --git a/tests/baselines/reference/json.stringify.types b/tests/baselines/reference/json.stringify.types index bbbaf0f5bbd43..e4651978fedec 100644 --- a/tests/baselines/reference/json.stringify.types +++ b/tests/baselines/reference/json.stringify.types @@ -9,11 +9,11 @@ JSON.stringify(value, undefined, 2); >JSON.stringify(value, undefined, 2) : string > : ^^^^^^ >JSON.stringify : { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; } -> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >JSON : JSON > : ^^^^ >stringify : { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; } -> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >value : null > : ^^^^ >undefined : undefined @@ -25,11 +25,11 @@ JSON.stringify(value, null, 2); >JSON.stringify(value, null, 2) : string > : ^^^^^^ >JSON.stringify : { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; } -> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >JSON : JSON > : ^^^^ >stringify : { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; } -> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >value : null > : ^^^^ >2 : 2 @@ -39,11 +39,11 @@ JSON.stringify(value, ["a", 1], 2); >JSON.stringify(value, ["a", 1], 2) : string > : ^^^^^^ >JSON.stringify : { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; } -> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >JSON : JSON > : ^^^^ >stringify : { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; } -> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >value : null > : ^^^^ >["a", 1] : (string | number)[] @@ -59,11 +59,11 @@ JSON.stringify(value, (k) => undefined, 2); >JSON.stringify(value, (k) => undefined, 2) : string > : ^^^^^^ >JSON.stringify : { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; } -> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >JSON : JSON > : ^^^^ >stringify : { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; } -> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >value : null > : ^^^^ >(k) => undefined : (this: any, k: string) => undefined @@ -79,11 +79,11 @@ JSON.stringify(value, undefined, 2); >JSON.stringify(value, undefined, 2) : string > : ^^^^^^ >JSON.stringify : { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; } -> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >JSON : JSON > : ^^^^ >stringify : { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; } -> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >value : null > : ^^^^ >undefined : undefined diff --git a/tests/baselines/reference/jsxAndTypeAssertion.types b/tests/baselines/reference/jsxAndTypeAssertion.types index 11906ed6126e2..88fc8829b7cf6 100644 --- a/tests/baselines/reference/jsxAndTypeAssertion.types +++ b/tests/baselines/reference/jsxAndTypeAssertion.types @@ -117,11 +117,11 @@ x = x, x = ; >/foo/.test(x) : boolean > : ^^^^^^^ >/foo/.test : (string: string) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >/foo/ : RegExp > : ^^^^^^ >test : (string: string) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : any > : ^^^ > : }} : any diff --git a/tests/baselines/reference/jsxCallElaborationCheckNoCrash1.types b/tests/baselines/reference/jsxCallElaborationCheckNoCrash1.types index 2c1c1110de0ef..ab87b840acde3 100644 --- a/tests/baselines/reference/jsxCallElaborationCheckNoCrash1.types +++ b/tests/baselines/reference/jsxCallElaborationCheckNoCrash1.types @@ -19,9 +19,9 @@ type Tags = "span" | "div"; export const Hoc = ( >Hoc : (TagElement: Tag) => React.SFC -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >( TagElement: Tag,): React.SFC => { const Component = () => ; return Component;} : (TagElement: Tag) => React.SFC -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ TagElement: Tag, >TagElement : Tag diff --git a/tests/baselines/reference/jsxCallbackWithDestructuring.types b/tests/baselines/reference/jsxCallbackWithDestructuring.types index 5e7bfb8196b22..d71f303fdcf4e 100644 --- a/tests/baselines/reference/jsxCallbackWithDestructuring.types +++ b/tests/baselines/reference/jsxCallbackWithDestructuring.types @@ -68,9 +68,9 @@ export class MyComponent extends Component >MyComponent : typeof MyComponent > : ^^^^^^^^^^^^^^^^^^ >children : ({ x }: { x: number; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^^^^^^^^ >({ x }) => {} : ({ x }: { x: number; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^^^^^^^^ >x : number > : ^^^^^^ diff --git a/tests/baselines/reference/jsxChildrenGenericContextualTypes.types b/tests/baselines/reference/jsxChildrenGenericContextualTypes.types index 29ea5d302ef04..70438d3faa4d9 100644 --- a/tests/baselines/reference/jsxChildrenGenericContextualTypes.types +++ b/tests/baselines/reference/jsxChildrenGenericContextualTypes.types @@ -136,9 +136,9 @@ interface LitProps { prop: T, children: (x: this) => T } const ElemLit = (p: LitProps) =>
    ; >ElemLit : (p: LitProps) => JSX.Element -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ >(p: LitProps) =>
    : (p: LitProps) => JSX.Element -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ >p : LitProps > : ^^^^^^^^^^^ >
    : JSX.Element @@ -152,7 +152,7 @@ ElemLit({prop: "x", children: () => "x"}); >ElemLit({prop: "x", children: () => "x"}) : JSX.Element > : ^^^^^^^^^^^ >ElemLit : (p: LitProps) => JSX.Element -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ >{prop: "x", children: () => "x"} : { prop: "x"; children: () => "x"; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >prop : "x" @@ -172,7 +172,7 @@ const j = "x"} /> > "x"} /> : JSX.Element > : ^^^^^^^^^^^ >ElemLit : (p: LitProps) => JSX.Element -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ >prop : "x" > : ^^^ >children : () => "x" @@ -188,7 +188,7 @@ const jj = {() => "x"} >{() => "x"} : JSX.Element > : ^^^^^^^^^^^ >ElemLit : (p: LitProps) => JSX.Element -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ >prop : "x" > : ^^^ >() => "x" : () => "x" @@ -196,7 +196,7 @@ const jj = {() => "x"} >"x" : "x" > : ^^^ >ElemLit : (p: LitProps) => JSX.Element -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ // Should error const arg = "y"} /> @@ -205,7 +205,7 @@ const arg = "y"} /> > "y"} /> : JSX.Element > : ^^^^^^^^^^^ >ElemLit : (p: LitProps) => JSX.Element -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ >prop : "x" > : ^^^ >children : (p: JSX.IntrinsicAttributes & LitProps<"x">) => "y" @@ -223,7 +223,7 @@ const argchild = {p => "y"} >{p => "y"} : JSX.Element > : ^^^^^^^^^^^ >ElemLit : (p: LitProps) => JSX.Element -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ >prop : "x" > : ^^^ >p => "y" : (p: JSX.IntrinsicAttributes & LitProps<"x">) => "y" @@ -233,7 +233,7 @@ const argchild = {p => "y"} >"y" : "y" > : ^^^ >ElemLit : (p: LitProps) => JSX.Element -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ const mismatched = {() => 12} >mismatched : JSX.Element @@ -241,7 +241,7 @@ const mismatched = {() => 12} >{() => 12} : JSX.Element > : ^^^^^^^^^^^ >ElemLit : (p: LitProps) => JSX.Element -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ >prop : "x" > : ^^^ >() => 12 : () => number @@ -249,5 +249,5 @@ const mismatched = {() => 12} >12 : 12 > : ^^ >ElemLit : (p: LitProps) => JSX.Element -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/jsxComplexSignatureHasApplicabilityError.types b/tests/baselines/reference/jsxComplexSignatureHasApplicabilityError.types index 7928584cf372f..ff3eaf01664be 100644 --- a/tests/baselines/reference/jsxComplexSignatureHasApplicabilityError.types +++ b/tests/baselines/reference/jsxComplexSignatureHasApplicabilityError.types @@ -40,7 +40,7 @@ export type ReactSingleSelectProps< export function createReactSingleSelect< >createReactSingleSelect : >(WrappedComponent: React.ComponentType) => React.ComponentType> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ WrappedProps extends ReactSelectProps >( @@ -106,21 +106,21 @@ export function createReactSingleSelect< if (props.onChange) { >props.onChange : ((value: Option> | undefined) => void) | undefined -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ >props : Omit, keyof Omit & keyof Props>> & Props> & { children?: React.ReactNode; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >onChange : ((value: Option> | undefined) => void) | undefined -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ props.onChange(value === null ? undefined : value); >props.onChange(value === null ? undefined : value) : void > : ^^^^ >props.onChange : (value: Option> | undefined) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >props : Omit, keyof Omit & keyof Props>> & Props> & { children?: React.ReactNode; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >onChange : (value: Option> | undefined) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >value === null ? undefined : value : Option> | Options> | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >value === null : boolean diff --git a/tests/baselines/reference/jsxComponentTypeErrors.types b/tests/baselines/reference/jsxComponentTypeErrors.types index ae4ea58d44a11..79bbcfd1d5428 100644 --- a/tests/baselines/reference/jsxComponentTypeErrors.types +++ b/tests/baselines/reference/jsxComponentTypeErrors.types @@ -71,11 +71,11 @@ const MixedComponent = Math.random() ? FunctionComponent : ClassComponent; >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >FunctionComponent : typeof FunctionComponent > : ^^^^^^^^^^^^^^^^^^^^^^^^ >ClassComponent : typeof ClassComponent diff --git a/tests/baselines/reference/jsxElementType.types b/tests/baselines/reference/jsxElementType.types index c71e5529f2a5c..fef705bff4988 100644 --- a/tests/baselines/reference/jsxElementType.types +++ b/tests/baselines/reference/jsxElementType.types @@ -100,7 +100,7 @@ Component = RenderElement; >Component = RenderElement : ({ title }: { title: string; }) => JSX.Element > : ^ ^^ ^^^^^^^^^^^^^^^^ >Component : NewReactJSXElementConstructor<{ title: string; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >RenderElement : ({ title }: { title: string; }) => JSX.Element > : ^ ^^ ^^^^^^^^^^^^^^^^ @@ -142,7 +142,7 @@ Component = RenderString; >Component = RenderString : ({ title }: { title: string; }) => string > : ^ ^^ ^^^^^^^^^^^ >Component : NewReactJSXElementConstructor<{ title: string; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >RenderString : ({ title }: { title: string; }) => string > : ^ ^^ ^^^^^^^^^^^ @@ -188,7 +188,7 @@ Component = RenderNumber; >Component = RenderNumber : ({ title }: { title: string; }) => number > : ^ ^^ ^^^^^^^^^^^ >Component : NewReactJSXElementConstructor<{ title: string; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >RenderNumber : ({ title }: { title: string; }) => number > : ^ ^^ ^^^^^^^^^^^ @@ -232,7 +232,7 @@ Component = RenderArray; >Component = RenderArray : ({ title }: { title: string; }) => string[] > : ^ ^^ ^^^^^^^^^^^^^ >Component : NewReactJSXElementConstructor<{ title: string; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >RenderArray : ({ title }: { title: string; }) => string[] > : ^ ^^ ^^^^^^^^^^^^^ @@ -275,7 +275,7 @@ Component = RenderPromise; >Component = RenderPromise : ({ title }: { title: string; }) => Promise > : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ >Component : NewReactJSXElementConstructor<{ title: string; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >RenderPromise : ({ title }: { title: string; }) => Promise > : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ @@ -322,11 +322,11 @@ class RenderStringClass extends React.Component<{ title: string }> { >this.props.title : string > : ^^^^^^ >this.props : Readonly<{ children?: React.ReactNode; }> & Readonly<{ title: string; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >this : this > : ^^^^ >props : Readonly<{ children?: React.ReactNode; }> & Readonly<{ title: string; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >title : string > : ^^^^^^ } @@ -335,7 +335,7 @@ Component = RenderStringClass; >Component = RenderStringClass : typeof RenderStringClass > : ^^^^^^^^^^^^^^^^^^^^^^^^ >Component : NewReactJSXElementConstructor<{ title: string; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >RenderStringClass : typeof RenderStringClass > : ^^^^^^^^^^^^^^^^^^^^^^^^ @@ -419,7 +419,7 @@ function ReactNativeFlatList( // testing higher-order component compat function f1 React.ReactElement>(Component: T) { >f1 : React.ReactElement>(Component: T) => JSX.Element -> : ^ ^^^^^^^^^^ ^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ >props : {} > : ^^ >React : any diff --git a/tests/baselines/reference/jsxEmitWithAttributes.types b/tests/baselines/reference/jsxEmitWithAttributes.types index 095483eeea9be..a32d6f9e988fb 100644 --- a/tests/baselines/reference/jsxEmitWithAttributes.types +++ b/tests/baselines/reference/jsxEmitWithAttributes.types @@ -99,7 +99,7 @@ function toCamelCase(text: string): string { >text[0].toLowerCase() : string > : ^^^^^^ >text[0].toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >text[0] : string > : ^^^^^^ >text : string @@ -107,15 +107,15 @@ function toCamelCase(text: string): string { >0 : 0 > : ^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >text.substring(1) : string > : ^^^^^^ >text.substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >text : string > : ^^^^^^ >substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >1 : 1 > : ^ } @@ -169,13 +169,13 @@ class A { >c.a!.b : string > : ^^^^^^ >c.a! : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c.a : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : { a?: { b: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >a : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : string > : ^^^^^^ >meta : any diff --git a/tests/baselines/reference/jsxExcessPropsAndAssignability.types b/tests/baselines/reference/jsxExcessPropsAndAssignability.types index f91234f5299f5..9d0d5cafdd5b0 100644 --- a/tests/baselines/reference/jsxExcessPropsAndAssignability.types +++ b/tests/baselines/reference/jsxExcessPropsAndAssignability.types @@ -34,7 +34,7 @@ const myHoc = ( const WrapperComponent: React.ComponentClass = null as any; >WrapperComponent : React.ComponentClass -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ >React : any > : ^^^ >null as any : any @@ -50,7 +50,7 @@ const myHoc = ( > : JSX.Element > : ^^^^^^^^^^^ >WrapperComponent : React.ComponentClass -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ >props : ComposedComponentProps > : ^^^^^^^^^^^^^^^^^^^^^^ >myProp : "1000000" @@ -62,7 +62,7 @@ const myHoc = ( > : JSX.Element > : ^^^^^^^^^^^ >WrapperComponent : React.ComponentClass -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ >props : ComposedComponentProps > : ^^^^^^^^^^^^^^^^^^^^^^ >myProp : number diff --git a/tests/baselines/reference/jsxFactoryAndReactNamespace.types b/tests/baselines/reference/jsxFactoryAndReactNamespace.types index f1f4bb370d049..021e638349d38 100644 --- a/tests/baselines/reference/jsxFactoryAndReactNamespace.types +++ b/tests/baselines/reference/jsxFactoryAndReactNamespace.types @@ -102,7 +102,7 @@ function toCamelCase(text: string): string { >text[0].toLowerCase() : string > : ^^^^^^ >text[0].toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >text[0] : string > : ^^^^^^ >text : string @@ -110,15 +110,15 @@ function toCamelCase(text: string): string { >0 : 0 > : ^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >text.substring(1) : string > : ^^^^^^ >text.substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >text : string > : ^^^^^^ >substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >1 : 1 > : ^ } @@ -174,13 +174,13 @@ class A { >c.a!.b : string > : ^^^^^^ >c.a! : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c.a : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : { a?: { b: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >a : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : string > : ^^^^^^ >meta : any diff --git a/tests/baselines/reference/jsxFactoryIdentifier.types b/tests/baselines/reference/jsxFactoryIdentifier.types index 1d8f9101e32d6..e65773328fe4b 100644 --- a/tests/baselines/reference/jsxFactoryIdentifier.types +++ b/tests/baselines/reference/jsxFactoryIdentifier.types @@ -99,7 +99,7 @@ function toCamelCase(text: string): string { >text[0].toLowerCase() : string > : ^^^^^^ >text[0].toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >text[0] : string > : ^^^^^^ >text : string @@ -107,15 +107,15 @@ function toCamelCase(text: string): string { >0 : 0 > : ^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >text.substring(1) : string > : ^^^^^^ >text.substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >text : string > : ^^^^^^ >substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >1 : 1 > : ^ } @@ -179,13 +179,13 @@ class A { >c.a!.b : string > : ^^^^^^ >c.a! : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c.a : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : { a?: { b: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >a : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : string > : ^^^^^^ >meta : any diff --git a/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName.types b/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName.types index a55fa4b358476..bee5a41234b64 100644 --- a/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName.types +++ b/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName.types @@ -102,7 +102,7 @@ function toCamelCase(text: string): string { >text[0].toLowerCase() : string > : ^^^^^^ >text[0].toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >text[0] : string > : ^^^^^^ >text : string @@ -110,15 +110,15 @@ function toCamelCase(text: string): string { >0 : 0 > : ^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >text.substring(1) : string > : ^^^^^^ >text.substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >text : string > : ^^^^^^ >substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >1 : 1 > : ^ } @@ -174,13 +174,13 @@ class A { >c.a!.b : string > : ^^^^^^ >c.a! : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c.a : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : { a?: { b: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >a : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : string > : ^^^^^^ >meta : any diff --git a/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName2.types b/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName2.types index 8b68436fa5b66..b44a81844e020 100644 --- a/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName2.types +++ b/tests/baselines/reference/jsxFactoryNotIdentifierOrQualifiedName2.types @@ -102,7 +102,7 @@ function toCamelCase(text: string): string { >text[0].toLowerCase() : string > : ^^^^^^ >text[0].toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >text[0] : string > : ^^^^^^ >text : string @@ -110,15 +110,15 @@ function toCamelCase(text: string): string { >0 : 0 > : ^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >text.substring(1) : string > : ^^^^^^ >text.substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >text : string > : ^^^^^^ >substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >1 : 1 > : ^ } @@ -174,13 +174,13 @@ class A { >c.a!.b : string > : ^^^^^^ >c.a! : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c.a : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : { a?: { b: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >a : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : string > : ^^^^^^ >meta : any diff --git a/tests/baselines/reference/jsxFactoryQualifiedName.types b/tests/baselines/reference/jsxFactoryQualifiedName.types index c73ea8d01f6d6..82a05fceec806 100644 --- a/tests/baselines/reference/jsxFactoryQualifiedName.types +++ b/tests/baselines/reference/jsxFactoryQualifiedName.types @@ -99,7 +99,7 @@ function toCamelCase(text: string): string { >text[0].toLowerCase() : string > : ^^^^^^ >text[0].toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >text[0] : string > : ^^^^^^ >text : string @@ -107,15 +107,15 @@ function toCamelCase(text: string): string { >0 : 0 > : ^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >text.substring(1) : string > : ^^^^^^ >text.substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >text : string > : ^^^^^^ >substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >1 : 1 > : ^ } @@ -169,13 +169,13 @@ class A { >c.a!.b : string > : ^^^^^^ >c.a! : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c.a : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : { a?: { b: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >a : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : string > : ^^^^^^ >meta : any diff --git a/tests/baselines/reference/jsxFragmentFactoryNoUnusedLocals.types b/tests/baselines/reference/jsxFragmentFactoryNoUnusedLocals.types index 881e634f13891..3953193d3d6d8 100644 --- a/tests/baselines/reference/jsxFragmentFactoryNoUnusedLocals.types +++ b/tests/baselines/reference/jsxFragmentFactoryNoUnusedLocals.types @@ -11,8 +11,8 @@ Symbol count: 50,000 import { Fragment, createElement } from "react" >Fragment : import("react").ComponentType<{}> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->createElement : { (type: "input", props?: (InputHTMLAttributes & ClassAttributes) | null, ...children: ReactNode[]): import("react").DetailedReactHTMLElement, HTMLInputElement>;

    , T extends HTMLElement>(type: keyof ReactHTML, props?: (ClassAttributes & P) | null, ...children: ReactNode[]): import("react").DetailedReactHTMLElement; , T_1 extends SVGElement>(type: keyof ReactSVG, props?: (ClassAttributes & P_1) | null, ...children: ReactNode[]): import("react").ReactSVGElement; , T_2 extends Element>(type: string, props?: (ClassAttributes & P_2) | null, ...children: ReactNode[]): import("react").DOMElement; (type: SFC, props?: (Attributes & P_3) | null, ...children: ReactNode[]): import("react").SFCElement; (type: ClassType, ClassicComponentClass>, props?: (ClassAttributes> & P_4) | null, ...children: ReactNode[]): import("react").CElement>; , C extends import("react").ComponentClass>(type: ClassType, props?: (ClassAttributes & P_5) | null, ...children: ReactNode[]): import("react").CElement; (type: SFC | ComponentClass | string, props?: (Attributes & P_6) | null, ...children: ReactNode[]): import("react").ReactElement; } -> : ^^^ ^^ ^^ ^^^^ ^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^ ^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^ ^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^ ^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^ ^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^ ^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^ ^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^ ^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>createElement : { (type: "input", props?: (import("react").InputHTMLAttributes & import("react").ClassAttributes) | null, ...children: import("react").ReactNode[]): import("react").DetailedReactHTMLElement, HTMLInputElement>;

    , T extends HTMLElement>(type: keyof import("react").ReactHTML, props?: (import("react").ClassAttributes & P) | null, ...children: import("react").ReactNode[]): import("react").DetailedReactHTMLElement;

    , T extends SVGElement>(type: keyof import("react").ReactSVG, props?: (import("react").ClassAttributes & P) | null, ...children: import("react").ReactNode[]): import("react").ReactSVGElement;

    , T extends Element>(type: string, props?: (import("react").ClassAttributes & P) | null, ...children: import("react").ReactNode[]): import("react").DOMElement;

    (type: import("react").SFC

    , props?: (import("react").Attributes & P) | null, ...children: import("react").ReactNode[]): import("react").SFCElement

    ;

    (type: import("react").ClassType, import("react").ClassicComponentClass

    >, props?: (import("react").ClassAttributes> & P) | null, ...children: import("react").ReactNode[]): import("react").CElement>; , C extends import("react").ComponentClass

    >(type: import("react").ClassType, props?: (import("react").ClassAttributes & P) | null, ...children: import("react").ReactNode[]): import("react").CElement;

    (type: import("react").SFC

    | import("react").ComponentClass

    | string, props?: (import("react").Attributes & P) | null, ...children: import("react").ReactNode[]): import("react").ReactElement

    ; } +> : ^^^ ^^ ^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^ ^^^^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^ ^^^^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^ ^^^^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^ ^^^^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^ ^^^ ^^ ^^^^ ^^^^^^^ ^^^^^^^^^^ ^ ^^^^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^ ^^^^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^ ^^ ^^^^^^^^^ ^^^^^^^ ^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^ ^^^^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^ ^^^^^^^ ^^^^^^^^^^ ^ ^^^^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^ ^^^ type CounterProps = { >CounterProps : CounterProps diff --git a/tests/baselines/reference/jsxGenericComponentWithSpreadingResultOfGenericFunction.types b/tests/baselines/reference/jsxGenericComponentWithSpreadingResultOfGenericFunction.types index b7ee68f79a2a5..c5ea01499d297 100644 --- a/tests/baselines/reference/jsxGenericComponentWithSpreadingResultOfGenericFunction.types +++ b/tests/baselines/reference/jsxGenericComponentWithSpreadingResultOfGenericFunction.types @@ -13,15 +13,15 @@ Symbol count: 50,000 declare function omit(names: readonly K[], obj: T): Omit; >omit : { (names: readonly K[], obj: T): Omit; (names: readonly K_1[]): (obj: T_1) => Omit; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >names : readonly K[] > : ^^^^^^^^^^^^ >obj : T > : ^ declare function omit(names: readonly K[]): (obj: T) => Omit; ->omit : { (names: readonly K_1[], obj: T): Omit; (names: readonly K[]): (obj: T_1) => Omit; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>omit : { (names: readonly K_1[], obj: T): Omit; (names: readonly K[]): (obj: T) => Omit; } +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >names : readonly K[] > : ^^^^^^^^^^^^ >obj : T @@ -45,17 +45,17 @@ declare function GenericComponent(props: T): null > : JSX.Element > : ^^^^^^^^^^^ >GenericComponent : (props: T) => null -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >omit(['bar'], otherProps) : Omit<{ bar: string; qwe: boolean; }, "bar"> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->omit : { (names: readonly K[], obj: T): Omit; (names: readonly K_1[]): (obj: T_1) => Omit; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ +>omit : { (names: readonly K[], obj: T): Omit; (names: readonly K[]): (obj: T) => Omit; } +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >['bar'] : "bar"[] > : ^^^^^^^ >'bar' : "bar" > : ^^^^^ >otherProps : { bar: string; qwe: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ diff --git a/tests/baselines/reference/jsxInExtendsClause.types b/tests/baselines/reference/jsxInExtendsClause.types index 09f92e51d6ce4..2fa260b1f6d98 100644 --- a/tests/baselines/reference/jsxInExtendsClause.types +++ b/tests/baselines/reference/jsxInExtendsClause.types @@ -27,7 +27,7 @@ class Foo extends createComponentClass(() => class extends React.Component<{}, { >createComponentClass(() => class extends React.Component<{}, {}> { render() { return Hello, world!; }}) : React.Component > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >createComponentClass :

    (factory: () => React.ComponentClass

    ) => React.ComponentClass

    -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >() => class extends React.Component<{}, {}> { render() { return Hello, world!; }} : () => typeof (Anonymous class) > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >class extends React.Component<{}, {}> { render() { return Hello, world!; }} : typeof (Anonymous class) diff --git a/tests/baselines/reference/jsxIntrinsicElementsCompatability.types b/tests/baselines/reference/jsxIntrinsicElementsCompatability.types index 5ee83f157145c..2eb92cf158bb2 100644 --- a/tests/baselines/reference/jsxIntrinsicElementsCompatability.types +++ b/tests/baselines/reference/jsxIntrinsicElementsCompatability.types @@ -13,8 +13,8 @@ import * as React from "react"; > : ^^^^^^^^^^^^ function SomeComponent(props: { element?: T } & JSX.IntrinsicElements[T]): JSX.Element { ->SomeComponent : (props: { element?: T; } & JSX.IntrinsicElements[T]) => JSX.Element -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +>SomeComponent : (props: { element?: T; } & JSX.IntrinsicElements[T]) => JSX.Element +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >props : { element?: T; } & JSX.IntrinsicElements[T] > : ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >element : T | undefined @@ -33,16 +33,16 @@ function SomeComponent(props: { element?: T } & JSX.In } function Test(el: T) { ->Test : (el: T) => JSX.Element -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +>Test : (el: T) => JSX.Element +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ >el : T > : ^ return > : JSX.Element > : ^^^^^^^^^^^ ->SomeComponent : (props: { element?: T_1; } & JSX.IntrinsicElements[T_1]) => JSX.Element -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +>SomeComponent : (props: { element?: T_1; } & JSX.IntrinsicElements[T_1]) => JSX.Element +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >element : T > : ^ >el : T diff --git a/tests/baselines/reference/jsxIntrinsicUnions.types b/tests/baselines/reference/jsxIntrinsicUnions.types index 176bbf28f51a7..b30ebee352b3b 100644 --- a/tests/baselines/reference/jsxIntrinsicUnions.types +++ b/tests/baselines/reference/jsxIntrinsicUnions.types @@ -21,11 +21,11 @@ const El = Math.random() ? 'h1' : 'h2'; >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >'h1' : "h1" > : ^^^^ >'h2' : "h2" diff --git a/tests/baselines/reference/jsxIssuesErrorWhenTagExpectsTooManyArguments.types b/tests/baselines/reference/jsxIssuesErrorWhenTagExpectsTooManyArguments.types index cb62431924fba..1ffb2dcf957e8 100644 --- a/tests/baselines/reference/jsxIssuesErrorWhenTagExpectsTooManyArguments.types +++ b/tests/baselines/reference/jsxIssuesErrorWhenTagExpectsTooManyArguments.types @@ -128,7 +128,7 @@ const d = ; // Technically OK, but probably > : JSX.Element > : ^^^^^^^^^^^ >MyTagWithOptionalNonJSXBits : (props: MyProps, context: any, nonReactArg?: string) => JSX.Element -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >x : number > : ^^^^^^ >2 : 2 diff --git a/tests/baselines/reference/jsxJsxsCjsTransformNestedSelfClosingChild(jsx=react-jsx).types b/tests/baselines/reference/jsxJsxsCjsTransformNestedSelfClosingChild(jsx=react-jsx).types index 69ff72e63f36f..1a0ab13ff7df2 100644 --- a/tests/baselines/reference/jsxJsxsCjsTransformNestedSelfClosingChild(jsx=react-jsx).types +++ b/tests/baselines/reference/jsxJsxsCjsTransformNestedSelfClosingChild(jsx=react-jsx).types @@ -16,11 +16,11 @@ console.log( >console.log(

    ) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^
    >
    : JSX.Element @@ -44,11 +44,11 @@ console.log( >console.log(
    ) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^
    >
    : JSX.Element @@ -78,11 +78,11 @@ console.log( >console.log(
    {[1, 2].map(i =>
    {i}
    )}
    ) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^
    >
    {[1, 2].map(i =>
    {i}
    )}
    : JSX.Element @@ -94,7 +94,7 @@ console.log( >[1, 2].map(i =>
    {i}
    ) : JSX.Element[] > : ^^^^^^^^^^^^^ >[1, 2].map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >[1, 2] : number[] > : ^^^^^^^^ >1 : 1 @@ -102,7 +102,7 @@ console.log( >2 : 2 > : ^ >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >i =>
    {i}
    : (i: number) => JSX.Element > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ >i : number diff --git a/tests/baselines/reference/jsxJsxsCjsTransformNestedSelfClosingChild(jsx=react-jsxdev).types b/tests/baselines/reference/jsxJsxsCjsTransformNestedSelfClosingChild(jsx=react-jsxdev).types index 69ff72e63f36f..1a0ab13ff7df2 100644 --- a/tests/baselines/reference/jsxJsxsCjsTransformNestedSelfClosingChild(jsx=react-jsxdev).types +++ b/tests/baselines/reference/jsxJsxsCjsTransformNestedSelfClosingChild(jsx=react-jsxdev).types @@ -16,11 +16,11 @@ console.log( >console.log(
    ) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^
    >
    : JSX.Element @@ -44,11 +44,11 @@ console.log( >console.log(
    ) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^
    >
    : JSX.Element @@ -78,11 +78,11 @@ console.log( >console.log(
    {[1, 2].map(i =>
    {i}
    )}
    ) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^
    >
    {[1, 2].map(i =>
    {i}
    )}
    : JSX.Element @@ -94,7 +94,7 @@ console.log( >[1, 2].map(i =>
    {i}
    ) : JSX.Element[] > : ^^^^^^^^^^^^^ >[1, 2].map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >[1, 2] : number[] > : ^^^^^^^^ >1 : 1 @@ -102,7 +102,7 @@ console.log( >2 : 2 > : ^ >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >i =>
    {i}
    : (i: number) => JSX.Element > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ >i : number diff --git a/tests/baselines/reference/jsxLibraryManagedAttributesUnusedGeneric.types b/tests/baselines/reference/jsxLibraryManagedAttributesUnusedGeneric.types index 0115c0b2511b4..d4b58daf067cf 100644 --- a/tests/baselines/reference/jsxLibraryManagedAttributesUnusedGeneric.types +++ b/tests/baselines/reference/jsxLibraryManagedAttributesUnusedGeneric.types @@ -61,7 +61,7 @@ declare const Comp: (p: { className?: string }) => null > : jsx.JSX.Element > : ^^^^^^^^^^^^^^^ >Comp : (p: { className?: string; }) => null -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >css : string > : ^^^^^^ diff --git a/tests/baselines/reference/jsxLocalNamespaceIndexSignatureNoCrash.types b/tests/baselines/reference/jsxLocalNamespaceIndexSignatureNoCrash.types index 894a1240cf514..8e2877112299e 100644 --- a/tests/baselines/reference/jsxLocalNamespaceIndexSignatureNoCrash.types +++ b/tests/baselines/reference/jsxLocalNamespaceIndexSignatureNoCrash.types @@ -12,12 +12,12 @@ export class X { return document.createElement('p'); >document.createElement('p') : HTMLParagraphElement > : ^^^^^^^^^^^^^^^^^^^^ ->document.createElement : { (tagName: K, options?: ElementCreationOptions): HTMLElementTagNameMap[K]; (tagName: K_1, options?: ElementCreationOptions): HTMLElementDeprecatedTagNameMap[K_1]; (tagName: string, options?: ElementCreationOptions): HTMLElement; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +>document.createElement : { (tagName: K, options?: ElementCreationOptions): HTMLElementTagNameMap[K]; (tagName: K, options?: ElementCreationOptions): HTMLElementDeprecatedTagNameMap[K]; (tagName: string, options?: ElementCreationOptions): HTMLElement; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >document : Document > : ^^^^^^^^ ->createElement : { (tagName: K, options?: ElementCreationOptions): HTMLElementTagNameMap[K]; (tagName: K_1, options?: ElementCreationOptions): HTMLElementDeprecatedTagNameMap[K_1]; (tagName: string, options?: ElementCreationOptions): HTMLElement; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +>createElement : { (tagName: K, options?: ElementCreationOptions): HTMLElementTagNameMap[K]; (tagName: K, options?: ElementCreationOptions): HTMLElementDeprecatedTagNameMap[K]; (tagName: string, options?: ElementCreationOptions): HTMLElement; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >'p' : "p" > : ^^^ } diff --git a/tests/baselines/reference/jsxNamespaceGlobalReexport.types b/tests/baselines/reference/jsxNamespaceGlobalReexport.types index f8780f3ef0ce6..d6ff90ada805e 100644 --- a/tests/baselines/reference/jsxNamespaceGlobalReexport.types +++ b/tests/baselines/reference/jsxNamespaceGlobalReexport.types @@ -111,7 +111,7 @@ import { JSXInternal } from '..'; export function jsx( >jsx : { (type: string, props: JSXInternal.HTMLAttributes & JSXInternal.SVGAttributes & Record & { children?: ComponentChild; }, key?: string): VNode;

    (type: ComponentType

    , props: Attributes & P & { children?: ComponentChild; }, key?: string): VNode; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ type: string, >type : string @@ -138,7 +138,7 @@ export function jsx( ): VNode; export function jsx

    ( >jsx : { (type: string, props: JSXInternal.HTMLAttributes & JSXInternal.SVGAttributes & Record & { children?: ComponentChild; }, key?: string): VNode;

    (type: ComponentType

    , props: Attributes & P & { children?: ComponentChild; }, key?: string): VNode; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ type: ComponentType

    , >type : ComponentType

    @@ -158,7 +158,7 @@ export function jsx

    ( export function jsxs( >jsxs : { (type: string, props: JSXInternal.HTMLAttributes & JSXInternal.SVGAttributes & Record & { children?: ComponentChild[]; }, key?: string): VNode;

    (type: ComponentType

    , props: Attributes & P & { children?: ComponentChild[]; }, key?: string): VNode; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ type: string, >type : string @@ -185,7 +185,7 @@ export function jsxs( ): VNode; export function jsxs

    ( >jsxs : { (type: string, props: JSXInternal.HTMLAttributes & JSXInternal.SVGAttributes & Record & { children?: ComponentChild[]; }, key?: string): VNode;

    (type: ComponentType

    , props: Attributes & P & { children?: ComponentChild[]; }, key?: string): VNode; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ type: ComponentType

    , >type : ComponentType

    @@ -205,7 +205,7 @@ export function jsxs

    ( export function jsxDEV( >jsxDEV : { (type: string, props: JSXInternal.HTMLAttributes & JSXInternal.SVGAttributes & Record & { children?: ComponentChildren; }, key?: string): VNode;

    (type: ComponentType

    , props: Attributes & P & { children?: ComponentChildren; }, key?: string): VNode; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ type: string, >type : string @@ -232,7 +232,7 @@ export function jsxDEV( ): VNode; export function jsxDEV

    ( >jsxDEV : { (type: string, props: JSXInternal.HTMLAttributes & JSXInternal.SVGAttributes & Record & { children?: ComponentChildren; }, key?: string): VNode;

    (type: ComponentType

    , props: Attributes & P & { children?: ComponentChildren; }, key?: string): VNode; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ type: ComponentType

    , >type : ComponentType

    diff --git a/tests/baselines/reference/jsxNamespaceGlobalReexportMissingAliasTarget.types b/tests/baselines/reference/jsxNamespaceGlobalReexportMissingAliasTarget.types index c25045ea762d5..7ff93c4e7795c 100644 --- a/tests/baselines/reference/jsxNamespaceGlobalReexportMissingAliasTarget.types +++ b/tests/baselines/reference/jsxNamespaceGlobalReexportMissingAliasTarget.types @@ -114,7 +114,7 @@ import { JSXInternal } from '..'; export function jsx( >jsx : { (type: string, props: JSXInternal.HTMLAttributes & JSXInternal.SVGAttributes & Record & { children?: ComponentChild; }, key?: string): VNode;

    (type: ComponentType

    , props: Attributes & P & { children?: ComponentChild; }, key?: string): VNode; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ type: string, >type : string @@ -141,7 +141,7 @@ export function jsx( ): VNode; export function jsx

    ( >jsx : { (type: string, props: JSXInternal.HTMLAttributes & JSXInternal.SVGAttributes & Record & { children?: ComponentChild; }, key?: string): VNode;

    (type: ComponentType

    , props: Attributes & P & { children?: ComponentChild; }, key?: string): VNode; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ type: ComponentType

    , >type : ComponentType

    @@ -161,7 +161,7 @@ export function jsx

    ( export function jsxs( >jsxs : { (type: string, props: JSXInternal.HTMLAttributes & JSXInternal.SVGAttributes & Record & { children?: ComponentChild[]; }, key?: string): VNode;

    (type: ComponentType

    , props: Attributes & P & { children?: ComponentChild[]; }, key?: string): VNode; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ type: string, >type : string @@ -188,7 +188,7 @@ export function jsxs( ): VNode; export function jsxs

    ( >jsxs : { (type: string, props: JSXInternal.HTMLAttributes & JSXInternal.SVGAttributes & Record & { children?: ComponentChild[]; }, key?: string): VNode;

    (type: ComponentType

    , props: Attributes & P & { children?: ComponentChild[]; }, key?: string): VNode; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ type: ComponentType

    , >type : ComponentType

    @@ -208,7 +208,7 @@ export function jsxs

    ( export function jsxDEV( >jsxDEV : { (type: string, props: JSXInternal.HTMLAttributes & JSXInternal.SVGAttributes & Record & { children?: ComponentChildren; }, key?: string): VNode;

    (type: ComponentType

    , props: Attributes & P & { children?: ComponentChildren; }, key?: string): VNode; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ type: string, >type : string @@ -235,7 +235,7 @@ export function jsxDEV( ): VNode; export function jsxDEV

    ( >jsxDEV : { (type: string, props: JSXInternal.HTMLAttributes & JSXInternal.SVGAttributes & Record & { children?: ComponentChildren; }, key?: string): VNode;

    (type: ComponentType

    , props: Attributes & P & { children?: ComponentChildren; }, key?: string): VNode; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ type: ComponentType

    , >type : ComponentType

    diff --git a/tests/baselines/reference/jsxNamespaceImplicitImportJSXNamespace.types b/tests/baselines/reference/jsxNamespaceImplicitImportJSXNamespace.types index 5ee279b99dc26..f18a7fb36da87 100644 --- a/tests/baselines/reference/jsxNamespaceImplicitImportJSXNamespace.types +++ b/tests/baselines/reference/jsxNamespaceImplicitImportJSXNamespace.types @@ -111,7 +111,7 @@ import { JSXInternal } from '..'; export function jsx( >jsx : { (type: string, props: JSXInternal.HTMLAttributes & JSXInternal.SVGAttributes & Record & { children?: ComponentChild; }, key?: string): VNode;

    (type: ComponentType

    , props: Attributes & P & { children?: ComponentChild; }, key?: string): VNode; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ type: string, >type : string @@ -138,7 +138,7 @@ export function jsx( ): VNode; export function jsx

    ( >jsx : { (type: string, props: JSXInternal.HTMLAttributes & JSXInternal.SVGAttributes & Record & { children?: ComponentChild; }, key?: string): VNode;

    (type: ComponentType

    , props: Attributes & P & { children?: ComponentChild; }, key?: string): VNode; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ type: ComponentType

    , >type : ComponentType

    @@ -159,7 +159,7 @@ export function jsx

    ( export function jsxs( >jsxs : { (type: string, props: JSXInternal.HTMLAttributes & JSXInternal.SVGAttributes & Record & { children?: ComponentChild[]; }, key?: string): VNode;

    (type: ComponentType

    , props: Attributes & P & { children?: ComponentChild[]; }, key?: string): VNode; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ type: string, >type : string @@ -186,7 +186,7 @@ export function jsxs( ): VNode; export function jsxs

    ( >jsxs : { (type: string, props: JSXInternal.HTMLAttributes & JSXInternal.SVGAttributes & Record & { children?: ComponentChild[]; }, key?: string): VNode;

    (type: ComponentType

    , props: Attributes & P & { children?: ComponentChild[]; }, key?: string): VNode; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ type: ComponentType

    , >type : ComponentType

    @@ -207,7 +207,7 @@ export function jsxs

    ( export function jsxDEV( >jsxDEV : { (type: string, props: JSXInternal.HTMLAttributes & JSXInternal.SVGAttributes & Record & { children?: ComponentChildren; }, key?: string): VNode;

    (type: ComponentType

    , props: Attributes & P & { children?: ComponentChildren; }, key?: string): VNode; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ type: string, >type : string @@ -234,7 +234,7 @@ export function jsxDEV( ): VNode; export function jsxDEV

    ( >jsxDEV : { (type: string, props: JSXInternal.HTMLAttributes & JSXInternal.SVGAttributes & Record & { children?: ComponentChildren; }, key?: string): VNode;

    (type: ComponentType

    , props: Attributes & P & { children?: ComponentChildren; }, key?: string): VNode; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ type: ComponentType

    , >type : ComponentType

    diff --git a/tests/baselines/reference/jsxNamespaceReexports.js b/tests/baselines/reference/jsxNamespaceReexports.js index bb65971d285b4..157c5ce7eb105 100644 --- a/tests/baselines/reference/jsxNamespaceReexports.js +++ b/tests/baselines/reference/jsxNamespaceReexports.js @@ -18,7 +18,7 @@ const content = ; //// [library.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.createElement = void 0; +exports.createElement = createElement; function createElement(element, props) { var children = []; for (var _i = 2; _i < arguments.length; _i++) { diff --git a/tests/baselines/reference/jsxNamespaceReexports.types b/tests/baselines/reference/jsxNamespaceReexports.types index 76ae3f62758d2..3814b5042b146 100644 --- a/tests/baselines/reference/jsxNamespaceReexports.types +++ b/tests/baselines/reference/jsxNamespaceReexports.types @@ -20,7 +20,7 @@ namespace JSX { export { createElement, JSX }; >createElement : (element: string, props: any, ...children: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >JSX : any > : ^^^ diff --git a/tests/baselines/reference/jsxNestedWithinTernaryParsesCorrectly.types b/tests/baselines/reference/jsxNestedWithinTernaryParsesCorrectly.types index 3692125c170d7..4e13f6e17bdb1 100644 --- a/tests/baselines/reference/jsxNestedWithinTernaryParsesCorrectly.types +++ b/tests/baselines/reference/jsxNestedWithinTernaryParsesCorrectly.types @@ -15,7 +15,7 @@ const a = ( > : ^^^ {0 ? ( ->0 ? ( emptyMessage // must be identifier? ) : ( // must be exactly two expression holes {0}{0} ) : any +>0 ? ( emptyMessage // must be identifier? ) : ( // must be exactly two expression holes {0}{0} ) : error >0 : 0 > : ^ >( emptyMessage // must be identifier? ) : any diff --git a/tests/baselines/reference/jsxPartialSpread.types b/tests/baselines/reference/jsxPartialSpread.types index e244856a8dea6..fb1e8c62b94e7 100644 --- a/tests/baselines/reference/jsxPartialSpread.types +++ b/tests/baselines/reference/jsxPartialSpread.types @@ -20,9 +20,9 @@ const Select = (p: {value?: unknown}) =>

    ; >

    : JSX.Element > : ^^^^^^^^^^^ >p : { value?: unknown; } -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^ >p : { value?: unknown; } -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^ import React from 'react'; >React : typeof React @@ -32,11 +32,11 @@ export function Repro({ SelectProps = {} }: { SelectProps?: PartialRepro : ({ SelectProps }: { SelectProps?: Partial[0]>; }) => JSX.Element > : ^ ^^ ^^^^^^^^^^^^^^^^ >SelectProps : Partial<{ value?: unknown; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^ >{} : {} > : ^^ >SelectProps : Partial<{ value?: unknown; }> | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ >Select : (p: { value?: unknown; }) => JSX.Element > : ^ ^^ ^^^^^^^^^^^^^^^^ @@ -54,7 +54,7 @@ export function Repro({ SelectProps = {} }: { SelectProps?: Partial'test' : "test" > : ^^^^^^ >SelectProps : Partial<{ value?: unknown; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^ ); } diff --git a/tests/baselines/reference/jsxSpreadFirstUnionNoErrors.types b/tests/baselines/reference/jsxSpreadFirstUnionNoErrors.types index 11ebab756f752..a9d71339a915a 100644 --- a/tests/baselines/reference/jsxSpreadFirstUnionNoErrors.types +++ b/tests/baselines/reference/jsxSpreadFirstUnionNoErrors.types @@ -55,7 +55,7 @@ props.status === "hidden" >props.content : string > : ^^^^^^ >props : { status: "visible"; content: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^ ^^^ >content : string > : ^^^^^^ >div : any diff --git a/tests/baselines/reference/keyRemappingKeyofResult.types b/tests/baselines/reference/keyRemappingKeyofResult.types index 288b2f4f8175e..fedf85080345c 100644 --- a/tests/baselines/reference/keyRemappingKeyofResult.types +++ b/tests/baselines/reference/keyRemappingKeyofResult.types @@ -114,7 +114,7 @@ function f() { type Remapped = { [K in keyof Orig as {} extends Record ? never : K]: any } >Remapped : { [K in keyof ({ [k: string]: any; str: any; [sym]: any; } & T) as {} extends Record ? never : K]: any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /* type Remapped = { str: any; @@ -124,17 +124,17 @@ function f() { type Oops = keyof Remapped; >Oops : keyof { [K in keyof ({ [k: string]: any; str: any; [sym]: any; } & T) as {} extends Record ? never : K]: any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ let x: Oops; >x : keyof { [K in keyof ({ [k: string]: any; str: any; [sym]: any; } & T) as {} extends Record ? never : K]: any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ x = sym; >x = sym : unique symbol > : ^^^^^^^^^^^^^ >x : keyof { [K in keyof ({ [k: string]: any; str: any; [sym]: any; } & T) as {} extends Record ? never : K]: any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >sym : unique symbol > : ^^^^^^^^^^^^^ @@ -142,7 +142,7 @@ function f() { >x = "str" : "str" > : ^^^^^ >x : keyof { [K in keyof ({ [k: string]: any; str: any; [sym]: any; } & T) as {} extends Record ? never : K]: any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"str" : "str" > : ^^^^^ } @@ -206,7 +206,7 @@ function g() { type Remapped = { [K in keyof Orig as DistributiveNonIndex]: any } >Remapped : { [K in keyof ({ [k: string]: any; str: any; [sym]: any; } & T) as K extends unknown ? {} extends Record ? never : K : never]: any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /* type Remapped = { str: any; @@ -216,17 +216,17 @@ function g() { type Oops = keyof Remapped; >Oops : keyof { [K in keyof ({ [k: string]: any; str: any; [sym]: any; } & T) as K extends unknown ? {} extends Record ? never : K : never]: any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ let x: Oops; >x : keyof { [K in keyof ({ [k: string]: any; str: any; [sym]: any; } & T) as K extends unknown ? {} extends Record ? never : K : never]: any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ x = sym; >x = sym : unique symbol > : ^^^^^^^^^^^^^ >x : keyof { [K in keyof ({ [k: string]: any; str: any; [sym]: any; } & T) as K extends unknown ? {} extends Record ? never : K : never]: any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >sym : unique symbol > : ^^^^^^^^^^^^^ @@ -234,7 +234,7 @@ function g() { >x = "str" : "str" > : ^^^^^ >x : keyof { [K in keyof ({ [k: string]: any; str: any; [sym]: any; } & T) as K extends unknown ? {} extends Record ? never : K : never]: any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"str" : "str" > : ^^^^^ } diff --git a/tests/baselines/reference/keyofAndForIn.types b/tests/baselines/reference/keyofAndForIn.types index 0b50230c3dcf9..aff13e2d82b0d 100644 --- a/tests/baselines/reference/keyofAndForIn.types +++ b/tests/baselines/reference/keyofAndForIn.types @@ -5,7 +5,7 @@ function f1(obj: { [P in K]: T }, k: K) { >f1 : (obj: { [P in K]: T; }, k: K) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >obj : { [P in K]: T; } > : ^^^^^^^^^^^^^^^^ >k : K @@ -117,7 +117,7 @@ function f2(obj: { [P in keyof T]: T[P] }, k: keyof T) { function f3(obj: { [P in K]: T[P] }, k: K) { >f3 : (obj: { [P in K]: T[P]; }, k: K) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >obj : { [P in K]: T[P]; } > : ^^^^^^^^^^^^^^^^^^^ >k : K diff --git a/tests/baselines/reference/keyofAndIndexedAccess.types b/tests/baselines/reference/keyofAndIndexedAccess.types index db1d802b2b9ff..92d596f68d0fa 100644 --- a/tests/baselines/reference/keyofAndIndexedAccess.types +++ b/tests/baselines/reference/keyofAndIndexedAccess.types @@ -256,7 +256,7 @@ declare let cond: boolean; function getProperty(obj: T, key: K) { >getProperty : (obj: T, key: K) => T[K] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >obj : T > : ^ >key : K @@ -273,7 +273,7 @@ function getProperty(obj: T, key: K) { function setProperty(obj: T, key: K, value: T[K]) { >setProperty : (obj: T, key: K, value: T[K]) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >obj : T > : ^ >key : K @@ -306,7 +306,7 @@ function f10(shape: Shape) { >getProperty(shape, "name") : string > : ^^^^^^ >getProperty : (obj: T, key: K) => T[K] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >shape : Shape > : ^^^^^ >"name" : "name" @@ -318,7 +318,7 @@ function f10(shape: Shape) { >getProperty(shape, cond ? "width" : "height") : number > : ^^^^^^ >getProperty : (obj: T, key: K) => T[K] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >shape : Shape > : ^^^^^ >cond ? "width" : "height" : "width" | "height" @@ -336,7 +336,7 @@ function f10(shape: Shape) { >getProperty(shape, cond ? "name" : "visible") : string | boolean > : ^^^^^^^^^^^^^^^^ >getProperty : (obj: T, key: K) => T[K] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >shape : Shape > : ^^^^^ >cond ? "name" : "visible" : "name" | "visible" @@ -352,7 +352,7 @@ function f10(shape: Shape) { >setProperty(shape, "name", "rectangle") : void > : ^^^^ >setProperty : (obj: T, key: K, value: T[K]) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >shape : Shape > : ^^^^^ >"name" : "name" @@ -364,7 +364,7 @@ function f10(shape: Shape) { >setProperty(shape, cond ? "width" : "height", 10) : void > : ^^^^ >setProperty : (obj: T, key: K, value: T[K]) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >shape : Shape > : ^^^^^ >cond ? "width" : "height" : "width" | "height" @@ -382,7 +382,7 @@ function f10(shape: Shape) { >setProperty(shape, cond ? "name" : "visible", true) : void > : ^^^^ >setProperty : (obj: T, key: K, value: T[K]) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >shape : Shape > : ^^^^^ >cond ? "name" : "visible" : "name" | "visible" @@ -409,7 +409,7 @@ function f11(a: Shape[]) { >getProperty(a, "length") : number > : ^^^^^^ >getProperty : (obj: T, key: K) => T[K] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >a : Shape[] > : ^^^^^^^ >"length" : "length" @@ -419,7 +419,7 @@ function f11(a: Shape[]) { >setProperty(a, "length", len) : void > : ^^^^ >setProperty : (obj: T, key: K, value: T[K]) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >a : Shape[] > : ^^^^^^^ >"length" : "length" @@ -440,7 +440,7 @@ function f12(t: [Shape, boolean]) { >getProperty(t, "length") : 2 > : ^ >getProperty : (obj: T, key: K) => T[K] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >t : [Shape, boolean] > : ^^^^^^^^^^^^^^^^ >"length" : "length" @@ -452,7 +452,7 @@ function f12(t: [Shape, boolean]) { >getProperty(t, "0") : Shape > : ^^^^^ >getProperty : (obj: T, key: K) => T[K] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >t : [Shape, boolean] > : ^^^^^^^^^^^^^^^^ >"0" : "0" @@ -464,7 +464,7 @@ function f12(t: [Shape, boolean]) { >getProperty(t, "1") : boolean > : ^^^^^^^ >getProperty : (obj: T, key: K) => T[K] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >t : [Shape, boolean] > : ^^^^^^^^^^^^^^^^ >"1" : "1" @@ -485,7 +485,7 @@ function f13(foo: any, bar: any) { >getProperty(foo, "x") : any > : ^^^ >getProperty : (obj: T, key: K) => T[K] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >foo : any > : ^^^ >"x" : "x" @@ -497,7 +497,7 @@ function f13(foo: any, bar: any) { >getProperty(foo, "100") : any > : ^^^ >getProperty : (obj: T, key: K) => T[K] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >foo : any > : ^^^ >"100" : "100" @@ -509,7 +509,7 @@ function f13(foo: any, bar: any) { >getProperty(foo, bar) : any > : ^^^ >getProperty : (obj: T, key: K) => T[K] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >foo : any > : ^^^ >bar : any @@ -526,7 +526,7 @@ class Component { getProperty(key: K) { >getProperty : (key: K) => PropType[K] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ >key : K > : ^ @@ -544,7 +544,7 @@ class Component { } setProperty(key: K, value: PropType[K]) { >setProperty : (key: K, value: PropType[K]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >key : K > : ^ >value : PropType[K] @@ -685,7 +685,7 @@ function f20(component: Component) { function pluck(array: T[], key: K) { >pluck : (array: T[], key: K) => T[K][] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ >array : T[] > : ^^^ >key : K @@ -695,11 +695,11 @@ function pluck(array: T[], key: K) { >array.map(x => x[key]) : T[K][] > : ^^^^^^ >array.map : (callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^ >array : T[] > : ^^^ >map : (callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^ >x => x[key] : (x: T) => T[K] > : ^ ^^^^^^^^^^^^ >x : T @@ -724,7 +724,7 @@ function f30(shapes: Shape[]) { >pluck(shapes, "name") : string[] > : ^^^^^^^^ >pluck : (array: T[], key: K) => T[K][] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ >shapes : Shape[] > : ^^^^^^^ >"name" : "name" @@ -736,7 +736,7 @@ function f30(shapes: Shape[]) { >pluck(shapes, "width") : number[] > : ^^^^^^^^ >pluck : (array: T[], key: K) => T[K][] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ >shapes : Shape[] > : ^^^^^^^ >"width" : "width" @@ -748,7 +748,7 @@ function f30(shapes: Shape[]) { >pluck(shapes, cond ? "name" : "visible") : (string | boolean)[] > : ^^^^^^^^^^^^^^^^^^^^ >pluck : (array: T[], key: K) => T[K][] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ >shapes : Shape[] > : ^^^^^^^ >cond ? "name" : "visible" : "name" | "visible" @@ -763,7 +763,7 @@ function f30(shapes: Shape[]) { function f31(key: K) { >f31 : (key: K) => Shape[K] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ >key : K > : ^ @@ -800,7 +800,7 @@ function f31(key: K) { function f32(key: K) { >f32 : (key: K) => Shape[K] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ >key : K > : ^ @@ -837,7 +837,7 @@ function f32(key: K) { function f33(shape: S, key: K) { >f33 : (shape: S, key: K) => S[K] -> : ^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >shape : S > : ^ >key : K @@ -849,7 +849,7 @@ function f33(shape: S, key: K) { >getProperty(shape, "name") : S["name"] > : ^^^^^^^^^ >getProperty : (obj: T, key: K_1) => T[K_1] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ >shape : S > : ^ >"name" : "name" @@ -861,7 +861,7 @@ function f33(shape: S, key: K) { >getProperty(shape, key) : S[K] > : ^^^^ >getProperty : (obj: T, key: K_1) => T[K_1] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ >shape : S > : ^ >key : K @@ -884,7 +884,7 @@ function f34(ts: TaggedShape) { >f33(ts, "tag") : string > : ^^^^^^ >f33 : (shape: S, key: K) => S[K] -> : ^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >ts : TaggedShape > : ^^^^^^^^^^^ >"tag" : "tag" @@ -896,7 +896,7 @@ function f34(ts: TaggedShape) { >getProperty(ts, "tag") : string > : ^^^^^^ >getProperty : (obj: T, key: K) => T[K] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >ts : TaggedShape > : ^^^^^^^^^^^ >"tag" : "tag" @@ -998,7 +998,7 @@ function f50(k: keyof T, s: string) { function f51(k: K, s: string) { >f51 : (k: K, s: string) => void -> : ^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >k : K > : ^ >s : string @@ -1068,7 +1068,7 @@ function f52(obj: { [x: string]: boolean }, k: Exclude, s: s function f53>(obj: { [x: string]: boolean }, k: K, s: string, n: number) { >f53 : >(obj: { [x: string]: boolean; }, k: K, s: string, n: number) => void -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >obj : { [x: string]: boolean; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : string @@ -1146,7 +1146,7 @@ function f54(obj: T, key: keyof T) { function f55(obj: T, key: K) { >f55 : (obj: T, key: K) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >obj : T > : ^ >key : K @@ -1223,7 +1223,7 @@ function f70(func: (k1: keyof (T | U), k2: keyof (T & U)) => void) { >func<{ a: any, b: any }, { a: any, c: any }>('a', 'a') : void > : ^^^^ >func : (k1: keyof (T | U), k2: keyof (T & U)) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : any > : ^^^ >b : any @@ -1241,7 +1241,7 @@ function f70(func: (k1: keyof (T | U), k2: keyof (T & U)) => void) { >func<{ a: any, b: any }, { a: any, c: any }>('a', 'b') : void > : ^^^^ >func : (k1: keyof (T | U), k2: keyof (T & U)) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : any > : ^^^ >b : any @@ -1259,7 +1259,7 @@ function f70(func: (k1: keyof (T | U), k2: keyof (T & U)) => void) { >func<{ a: any, b: any }, { a: any, c: any }>('a', 'c') : void > : ^^^^ >func : (k1: keyof (T | U), k2: keyof (T & U)) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : any > : ^^^ >b : any @@ -1290,7 +1290,7 @@ function f71(func: (x: T, y: U) => Partial) { >func({ a: 1, b: "hello" }, { c: true }) : Partial<{ a: number; b: string; } & { c: boolean; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >func : (x: T, y: U) => Partial -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{ a: 1, b: "hello" } : { a: number; b: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -1337,7 +1337,7 @@ function f72(func: (x: T, y: U, k: K) => (T & >f72 : (func: (x: T, y: U, k: K) => (T & U)[K]) => void > : ^ ^^ ^^^^^^^^^ >func : (x: T, y: U, k: K) => (T & U)[K] -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T > : ^ >y : U @@ -1351,7 +1351,7 @@ function f72(func: (x: T, y: U, k: K) => (T & >func({ a: 1, b: "hello" }, { c: true }, 'a') : number > : ^^^^^^ >func : (x: T, y: U, k: K) => (T & U)[K] -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{ a: 1, b: "hello" } : { a: number; b: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -1377,7 +1377,7 @@ function f72(func: (x: T, y: U, k: K) => (T & >func({ a: 1, b: "hello" }, { c: true }, 'b') : string > : ^^^^^^ >func : (x: T, y: U, k: K) => (T & U)[K] -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{ a: 1, b: "hello" } : { a: number; b: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -1403,7 +1403,7 @@ function f72(func: (x: T, y: U, k: K) => (T & >func({ a: 1, b: "hello" }, { c: true }, 'c') : boolean > : ^^^^^^^ >func : (x: T, y: U, k: K) => (T & U)[K] -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{ a: 1, b: "hello" } : { a: number; b: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -1427,8 +1427,8 @@ function f72(func: (x: T, y: U, k: K) => (T & function f73(func: (x: T, y: U, k: K) => (T & U)[K]) { >f73 : (func: (x: T, y: U, k: K) => (T & U)[K]) => void > : ^ ^^ ^^^^^^^^^ ->func : (x: T, y: U, k: K) => (T & U)[K] -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ +>func : (x: T, y: U, k: K) => (T & U)[K] +> : ^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T > : ^ >y : U @@ -1441,8 +1441,8 @@ function f73(func: (x: T, y: U, k: K) => (T & U)[ > : ^^^^^^ >func({ a: 1, b: "hello" }, { c: true }, 'a') : number > : ^^^^^^ ->func : (x: T, y: U, k: K) => (T & U)[K] -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +>func : (x: T, y: U, k: K) => (T & U)[K] +> : ^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{ a: 1, b: "hello" } : { a: number; b: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -1467,8 +1467,8 @@ function f73(func: (x: T, y: U, k: K) => (T & U)[ > : ^^^^^^ >func({ a: 1, b: "hello" }, { c: true }, 'b') : string > : ^^^^^^ ->func : (x: T, y: U, k: K) => (T & U)[K] -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +>func : (x: T, y: U, k: K) => (T & U)[K] +> : ^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{ a: 1, b: "hello" } : { a: number; b: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -1493,8 +1493,8 @@ function f73(func: (x: T, y: U, k: K) => (T & U)[ > : ^^^^^^^ >func({ a: 1, b: "hello" }, { c: true }, 'c') : boolean > : ^^^^^^^ ->func : (x: T, y: U, k: K) => (T & U)[K] -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +>func : (x: T, y: U, k: K) => (T & U)[K] +> : ^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{ a: 1, b: "hello" } : { a: number; b: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -1518,8 +1518,8 @@ function f73(func: (x: T, y: U, k: K) => (T & U)[ function f74(func: (x: T, y: U, k: K) => (T | U)[K]) { >f74 : (func: (x: T, y: U, k: K) => (T | U)[K]) => void > : ^ ^^ ^^^^^^^^^ ->func : (x: T, y: U, k: K) => (T | U)[K] -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ +>func : (x: T, y: U, k: K) => (T | U)[K] +> : ^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T > : ^ >y : U @@ -1532,8 +1532,8 @@ function f74(func: (x: T, y: U, k: K) => (T | U)[ > : ^^^^^^ >func({ a: 1, b: "hello" }, { a: 2, b: true }, 'a') : number > : ^^^^^^ ->func : (x: T, y: U, k: K) => (T | U)[K] -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +>func : (x: T, y: U, k: K) => (T | U)[K] +> : ^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{ a: 1, b: "hello" } : { a: number; b: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -1562,8 +1562,8 @@ function f74(func: (x: T, y: U, k: K) => (T | U)[ > : ^^^^^^^^^^^^^^^^ >func({ a: 1, b: "hello" }, { a: 2, b: true }, 'b') : string | boolean > : ^^^^^^^^^^^^^^^^ ->func : (x: T, y: U, k: K) => (T | U)[K] -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +>func : (x: T, y: U, k: K) => (T | U)[K] +> : ^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{ a: 1, b: "hello" } : { a: number; b: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -1590,7 +1590,7 @@ function f74(func: (x: T, y: U, k: K) => (T | U)[ function f80(obj: T) { >f80 : (obj: T) => void -> : ^ ^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >a : { x: any; } > : ^^^^^ ^^^ >x : any @@ -1600,19 +1600,19 @@ function f80(obj: T) { let a1 = obj.a; // { x: any } >a1 : { x: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ >obj.a : { x: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ >obj : T > : ^ >a : { x: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ let a2 = obj['a']; // { x: any } >a2 : { x: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ >obj['a'] : { x: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ >obj : T > : ^ >'a' : "a" @@ -1624,7 +1624,7 @@ function f80(obj: T) { >obj['a'] as T['a'] : T["a"] > : ^^^^^^ >obj['a'] : { x: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ >obj : T > : ^ >'a' : "a" @@ -1636,11 +1636,11 @@ function f80(obj: T) { >obj.a.x : any > : ^^^ >obj.a : { x: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ >obj : T > : ^ >a : { x: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : any > : ^^^ @@ -1650,7 +1650,7 @@ function f80(obj: T) { >obj['a']['x'] : any > : ^^^ >obj['a'] : { x: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ >obj : T > : ^ >'a' : "a" @@ -1666,7 +1666,7 @@ function f80(obj: T) { >obj['a']['x'] : any > : ^^^ >obj['a'] : { x: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ >obj : T > : ^ >'a' : "a" @@ -1677,7 +1677,7 @@ function f80(obj: T) { function f81(obj: T) { >f81 : (obj: T) => T["a"]["x"] -> : ^ ^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a : { x: any; } > : ^^^^^ ^^^ >x : any @@ -1691,7 +1691,7 @@ function f81(obj: T) { >obj['a']['x'] : any > : ^^^ >obj['a'] : { x: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ >obj : T > : ^ >'a' : "a" @@ -1710,7 +1710,7 @@ function f82() { >f81({ a: { x: "hello" } }) : string > : ^^^^^^ >f81 : (obj: T) => T["a"]["x"] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ a: { x: "hello" } } : { a: { x: string; }; } > : ^^^^^^^^^^^^^^^^^^^^^^ >a : { x: string; } @@ -1728,7 +1728,7 @@ function f82() { >f81({ a: { x: 42 } }) : number > : ^^^^^^ >f81 : (obj: T) => T["a"]["x"] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ a: { x: 42 } } : { a: { x: number; }; } > : ^^^^^^^^^^^^^^^^^^^^^^ >a : { x: number; } @@ -1743,7 +1743,7 @@ function f82() { function f83(obj: T, key: K) { >f83 : (obj: T, key: K) => T[K]["x"] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : string > : ^^^^^^ >x : any @@ -1778,7 +1778,7 @@ function f84() { >f83({ foo: { x: "hello" } }, "foo") : string > : ^^^^^^ >f83 : (obj: T, key: K) => T[K]["x"] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >{ foo: { x: "hello" } } : { foo: { x: string; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^ >foo : { x: string; } @@ -1798,7 +1798,7 @@ function f84() { >f83({ bar: { x: 42 } }, "bar") : number > : ^^^^^^ >f83 : (obj: T, key: K) => T[K]["x"] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >{ bar: { x: 42 } } : { bar: { x: number; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^ >bar : { x: number; } @@ -1823,7 +1823,7 @@ class C1 { get(key: K) { >get : (key: K) => this[K] -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ >key : K > : ^ @@ -1837,7 +1837,7 @@ class C1 { } set(key: K, value: this[K]) { >set : (key: K, value: this[K]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >key : K > : ^ >value : this[K] @@ -1885,11 +1885,11 @@ class C1 { >this.get("x") : this["x"] > : ^^^^^^^^^ >this.get : (key: K) => this[K] -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ >this : this > : ^^^^ >get : (key: K) => this[K] -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ >"x" : "x" > : ^^^ @@ -1899,7 +1899,7 @@ class C1 { >getProperty(this, "x") : this["x"] > : ^^^^^^^^^ >getProperty : (obj: T, key: K) => T[K] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >this : this > : ^^^^ >"x" : "x" @@ -1933,11 +1933,11 @@ class C1 { >this.set("x", 42) : void > : ^^^^ >this.set : (key: K, value: this[K]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >this : this > : ^^^^ >set : (key: K, value: this[K]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >"x" : "x" > : ^^^ >42 : 42 @@ -1947,7 +1947,7 @@ class C1 { >setProperty(this, "x", 42) : void > : ^^^^ >setProperty : (obj: T, key: K, value: T[K]) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >this : this > : ^^^^ >"x" : "x" @@ -1973,7 +1973,7 @@ type S2 = { function f90(x1: S2[keyof S2], x2: T[keyof S2], x3: S2[K]) { >f90 : (x1: S2[keyof S2], x2: T[keyof S2], x3: S2[K]) => void -> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x1 : string > : ^^^^^^ >x2 : T[keyof S2] @@ -2056,7 +2056,7 @@ function f90(x1: S2[keyof S2], x2: T[keyof S2] function f91(x: T, y: T[keyof T], z: T[K]) { >f91 : (x: T, y: T[keyof T], z: T[K]) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ >y : T[keyof T] @@ -2095,7 +2095,7 @@ function f91(x: T, y: T[keyof T], z: T[K]) { function f92(x: T, y: T[keyof T], z: T[K]) { >f92 : (x: T, y: T[keyof T], z: T[K]) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ >y : T[keyof T] @@ -2140,7 +2140,7 @@ class Base { get(prop: K) { >get : (prop: K) => this[K] -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ >prop : K > : ^ @@ -2154,7 +2154,7 @@ class Base { } set(prop: K, value: this[K]) { >set : (prop: K, value: this[K]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >prop : K > : ^ >value : this[K] @@ -2242,7 +2242,7 @@ class OtherPerson { >setProperty(this, "parts", parts) : void > : ^^^^ >setProperty : (obj: T, key: K, value: T[K]) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >this : this > : ^^^^ >"parts" : "parts" @@ -2258,7 +2258,7 @@ class OtherPerson { >getProperty(this, "parts") : this["parts"] > : ^^^^^^^^^^^^^ >getProperty : (obj: T, key: K) => T[K] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >this : this > : ^^^^ >"parts" : "parts" @@ -2269,16 +2269,16 @@ class OtherPerson { // Modified repro from #12544 function path(obj: T, key1: K1): T[K1]; ->path : { (obj: T, key1: K1): T[K1]; (obj: T_1, key1: K1_1, key2: K2): T_1[K1_1][K2]; (obj: T_2, key1: K1_2, key2: K2_1, key3: K3): T_2[K1_2][K2_1][K3]; (obj: any, ...keys: (string | number)[]): any; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +>path : { (obj: T, key1: K1): T[K1]; (obj: T_1, key1: K1_1, key2: K2): T_1[K1_1][K2]; (obj: T_1, key1: K1_1, key2: K2, key3: K3): T_1[K1_1][K2][K3]; (obj: any, ...keys: (string | number)[]): any; } +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >obj : T > : ^ >key1 : K1 > : ^^ function path(obj: T, key1: K1, key2: K2): T[K1][K2]; ->path : { (obj: T_1, key1: K1_1): T_1[K1_1]; (obj: T, key1: K1, key2: K2): T[K1][K2]; (obj: T_2, key1: K1_2, key2: K2_1, key3: K3): T_2[K1_2][K2_1][K3]; (obj: any, ...keys: (string | number)[]): any; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +>path : { (obj: T_1, key1: K1_1): T_1[K1_1]; (obj: T, key1: K1, key2: K2): T[K1][K2]; (obj: T_1, key1: K1_1, key2: K2_1, key3: K3): T_1[K1_1][K2_1][K3]; (obj: any, ...keys: (string | number)[]): any; } +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >obj : T > : ^ >key1 : K1 @@ -2287,8 +2287,8 @@ function path(obj: T, key1: K1, k > : ^^ function path(obj: T, key1: K1, key2: K2, key3: K3): T[K1][K2][K3]; ->path : { (obj: T_1, key1: K1_1): T_1[K1_1]; (obj: T_2, key1: K1_2, key2: K2_1): T_2[K1_2][K2_1]; (obj: T, key1: K1, key2: K2, key3: K3): T[K1][K2][K3]; (obj: any, ...keys: (string | number)[]): any; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +>path : { (obj: T_1, key1: K1_1): T_1[K1_1]; (obj: T_1, key1: K1_1, key2: K2_1): T_1[K1_1][K2_1]; (obj: T, key1: K1, key2: K2, key3: K3): T[K1][K2][K3]; (obj: any, ...keys: (string | number)[]): any; } +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >obj : T > : ^ >key1 : K1 @@ -2299,16 +2299,16 @@ function path : ^^ function path(obj: any, ...keys: (string | number)[]): any; ->path : { (obj: T, key1: K1): T[K1]; (obj: T_1, key1: K1_1, key2: K2): T_1[K1_1][K2]; (obj: T_2, key1: K1_2, key2: K2_1, key3: K3): T_2[K1_2][K2_1][K3]; (obj: any, ...keys: (string | number)[]): any; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^ ^^^ +>path : { (obj: T, key1: K1): T[K1]; (obj: T, key1: K1, key2: K2): T[K1][K2]; (obj: T, key1: K1, key2: K2, key3: K3): T[K1][K2][K3]; (obj: any, ...keys: (string | number)[]): any; } +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >obj : any > : ^^^ >keys : (string | number)[] > : ^^^^^^^^^^^^^^^^^^^ function path(obj: any, ...keys: (string | number)[]): any { ->path : { (obj: T, key1: K1): T[K1]; (obj: T_1, key1: K1_1, key2: K2): T_1[K1_1][K2]; (obj: T_2, key1: K1_2, key2: K2_1, key3: K3): T_2[K1_2][K2_1][K3]; (obj: any, ...keys: (string | number)[]): any; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +>path : { (obj: T, key1: K1): T[K1]; (obj: T, key1: K1, key2: K2): T[K1][K2]; (obj: T, key1: K1, key2: K2, key3: K3): T[K1][K2][K3]; (obj: any, ...keys: (string | number)[]): any; } +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >obj : any > : ^^^ >keys : (string | number)[] @@ -2370,11 +2370,11 @@ function f1(thing: Thing) { let x1 = path(thing, 'a'); // { x: number, y: string } >x1 : { x: number; y: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >path(thing, 'a') : { x: number; y: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->path : { (obj: T, key1: K1): T[K1]; (obj: T_1, key1: K1_1, key2: K2): T_1[K1_1][K2]; (obj: T_2, key1: K1_2, key2: K2_1, key3: K3): T_2[K1_2][K2_1][K3]; (obj: any, ...keys: (string | number)[]): any; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ +>path : { (obj: T, key1: K1): T[K1]; (obj: T, key1: K1, key2: K2): T[K1][K2]; (obj: T, key1: K1, key2: K2, key3: K3): T[K1][K2][K3]; (obj: any, ...keys: (string | number)[]): any; } +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >thing : Thing > : ^^^^^ >'a' : "a" @@ -2385,8 +2385,8 @@ function f1(thing: Thing) { > : ^^^^^^ >path(thing, 'a', 'y') : string > : ^^^^^^ ->path : { (obj: T, key1: K1): T[K1]; (obj: T_1, key1: K1_1, key2: K2): T_1[K1_1][K2]; (obj: T_2, key1: K1_2, key2: K2_1, key3: K3): T_2[K1_2][K2_1][K3]; (obj: any, ...keys: (string | number)[]): any; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +>path : { (obj: T, key1: K1): T[K1]; (obj: T, key1: K1, key2: K2): T[K1][K2]; (obj: T, key1: K1, key2: K2, key3: K3): T[K1][K2][K3]; (obj: any, ...keys: (string | number)[]): any; } +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >thing : Thing > : ^^^^^ >'a' : "a" @@ -2399,8 +2399,8 @@ function f1(thing: Thing) { > : ^^^^^^^ >path(thing, 'b') : boolean > : ^^^^^^^ ->path : { (obj: T, key1: K1): T[K1]; (obj: T_1, key1: K1_1, key2: K2): T_1[K1_1][K2]; (obj: T_2, key1: K1_2, key2: K2_1, key3: K3): T_2[K1_2][K2_1][K3]; (obj: any, ...keys: (string | number)[]): any; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +>path : { (obj: T, key1: K1): T[K1]; (obj: T, key1: K1, key2: K2): T[K1][K2]; (obj: T, key1: K1, key2: K2, key3: K3): T[K1][K2][K3]; (obj: any, ...keys: (string | number)[]): any; } +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >thing : Thing > : ^^^^^ >'b' : "b" @@ -2411,8 +2411,8 @@ function f1(thing: Thing) { > : ^^^ >path(thing, ...['a', 'x']) : any > : ^^^ ->path : { (obj: T, key1: K1): T[K1]; (obj: T_1, key1: K1_1, key2: K2): T_1[K1_1][K2]; (obj: T_2, key1: K1_2, key2: K2_1, key3: K3): T_2[K1_2][K2_1][K3]; (obj: any, ...keys: (string | number)[]): any; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +>path : { (obj: T, key1: K1): T[K1]; (obj: T, key1: K1, key2: K2): T[K1][K2]; (obj: T, key1: K1, key2: K2, key3: K3): T[K1][K2][K3]; (obj: any, ...keys: (string | number)[]): any; } +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >thing : Thing > : ^^^^^ >...['a', 'x'] : string @@ -2429,9 +2429,9 @@ function f1(thing: Thing) { const assignTo2 = (object: T, key1: K1, key2: K2) => >assignTo2 : (object: T, key1: K1, key2: K2) => (value: T[K1][K2]) => T[K1][K2] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^ >(object: T, key1: K1, key2: K2) => (value: T[K1][K2]) => object[key1][key2] = value : (object: T, key1: K1, key2: K2) => (value: T[K1][K2]) => T[K1][K2] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^ >object : T > : ^ >key1 : K1 @@ -2475,7 +2475,7 @@ var empty = one(() => {}) // inferred as {}, expected >one(() => {}) : unknown > : ^^^^^^^ >one : (handler: (t: T) => void) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >() => {} : () => void > : ^^^^^^^^^^ @@ -2497,7 +2497,7 @@ var hashOfEmpty1 = on({ test: () => {} }); // {} >on({ test: () => {} }) : { test: unknown; } > : ^^^^^^^^^^^^^^^^^^ >on : (handlerHash: Handlers) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ test: () => {} } : { test: () => void; } > : ^^^^^^^^^^^^^^^^^^^^^ >test : () => void @@ -2511,7 +2511,7 @@ var hashOfEmpty2 = on({ test: (x: boolean) => {} }); // { test: boolean } >on({ test: (x: boolean) => {} }) : { test: boolean; } > : ^^^^^^^^^^^^^^^^^^ >on : (handlerHash: Handlers) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ test: (x: boolean) => {} } : { test: (x: boolean) => void; } > : ^^^^^^^^^ ^^ ^^^^^^^^^^^^ >test : (x: boolean) => void @@ -2542,8 +2542,8 @@ declare class Component1 { > : ^^^^^^^^^^^^^^^^^^^^^^^^ get(key: K): (Data & Computed)[K]; ->get : (key: K) => (Data & Computed)[K] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +>get : (key: K) => (Data & Computed)[K] +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >key : K > : ^ } @@ -2575,12 +2575,12 @@ let c1 = new Component1({ c1.get("hello"); >c1.get("hello") : string > : ^^^^^^ ->c1.get : (key: K) => { hello: string; }[K] -> : ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>c1.get : (key: K) => ({ hello: string; } & unknown)[K] +> : ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^ >c1 : Component1<{ hello: string; }, unknown> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->get : (key: K) => { hello: string; }[K] -> : ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>get : (key: K) => ({ hello: string; } & unknown)[K] +> : ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^ >"hello" : "hello" > : ^^^^^^^ @@ -2606,7 +2606,7 @@ declare class Component2 { get(key: K): (Data & Computed)[K]; >get : (key: K) => (Data & Computed)[K] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >key : K > : ^ } @@ -2620,8 +2620,8 @@ interface R { } function f(p: K) { ->f : (p: K) => void -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>f : (p: K) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >p : K > : ^ @@ -2663,7 +2663,7 @@ type MethodDescriptor = { declare function dispatchMethod(name: M['name'], args: M['args']): M['returnValue']; >dispatchMethod : (name: M["name"], args: M["args"]) => M["returnValue"] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >name : M["name"] > : ^^^^^^^^^ >args : M["args"] @@ -2692,7 +2692,7 @@ let result = dispatchMethod("someMethod", ["hello", 35]); >dispatchMethod("someMethod", ["hello", 35]) : string[] > : ^^^^^^^^ >dispatchMethod : (name: M["name"], args: M["args"]) => M["returnValue"] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >"someMethod" : "someMethod" > : ^^^^^^^^^^^^ >["hello", 35] : [string, number] @@ -2714,7 +2714,7 @@ let MyThingy: { [key in KeyTypes]: string[] }; function addToMyThingy(key: S) { >addToMyThingy : (key: S) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >key : S > : ^ @@ -2722,7 +2722,7 @@ function addToMyThingy(key: S) { >MyThingy[key].push("a") : number > : ^^^^^^ >MyThingy[key].push : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >MyThingy[key] : { a: string[]; b: string[]; }[S] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >MyThingy : { a: string[]; b: string[]; } @@ -2730,7 +2730,7 @@ function addToMyThingy(key: S) { >key : S > : ^ >push : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >"a" : "a" > : ^^^ } @@ -2761,11 +2761,11 @@ function onChangeGenericFunction(handler: Handler) { >handler.onChange('preset') : void > : ^^^^ >handler.onChange : (name: keyof T | "preset") => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ >handler : Handler -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >onChange : (name: keyof T | "preset") => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ >'preset' : "preset" > : ^^^^^^^^ } @@ -2774,7 +2774,7 @@ function onChangeGenericFunction(handler: Handler) { function updateIds, K extends string>( >updateIds : , K extends string>(obj: T, idFields: K[], idMapping: Partial>) => Record -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ obj: T, >obj : T @@ -2835,7 +2835,7 @@ function updateIds, K extends string>( function updateIds2( >updateIds2 : (obj: T, key: K, stringMap: { [oldId: string]: string; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : string > : ^^^^^^ @@ -2876,8 +2876,8 @@ function updateIds2( // Repro from #13514 declare function head>(list: T): T[0]; ->head : (list: T) => T[0] -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^ +>head : >(list: T) => T[0] +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >list : T > : ^ @@ -2932,7 +2932,7 @@ class Form { public set(prop: K, value: T[K]) { >set : (prop: K, value: T[K]) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >prop : K > : ^ >value : T[K] @@ -2942,13 +2942,13 @@ class Form { >this.childFormFactories[prop](value) : Form > : ^^^^^^^^^^ >this.childFormFactories[prop] : { [K_1 in keyof T]: (v: T[K_1]) => Form; }[K] -> : ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^ >this.childFormFactories : { [K_1 in keyof T]: (v: T[K_1]) => Form; } -> : ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ >this : this > : ^^^^ >childFormFactories : { [K_1 in keyof T]: (v: T[K_1]) => Form; } -> : ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ >prop : K > : ^ >value : T[K] @@ -2981,12 +2981,12 @@ class SampleClass

    { > : ^^^^^^^^^^^ >Object.freeze(props) : Readonly

    > : ^^^^^^^^^^^ ->Object.freeze : { (f: T): T; (o: T_1): Readonly; (o: T_2): Readonly; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +>Object.freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ ->freeze : { (f: T): T; (o: T_1): Readonly; (o: T_2): Readonly; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +>freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >props : P > : ^ } @@ -3034,7 +3034,7 @@ class AnotherSampleClass extends SampleClass { >merge(props, foo) : T & Foo > : ^^^^^^^ >merge : (obj1: T_1, obj2: U) => T_1 & U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >props : T > : ^ >foo : Foo @@ -3047,7 +3047,7 @@ class AnotherSampleClass extends SampleClass { this.props.foo.concat; >this.props.foo.concat : (...strings: string[]) => string -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.props.foo : (T & Foo)["foo"] > : ^^^^^^^^^^^^^^^^ >this.props : Readonly @@ -3059,7 +3059,7 @@ class AnotherSampleClass extends SampleClass { >foo : (T & Foo)["foo"] > : ^^^^^^^^^^^^^^^^ >concat : (...strings: string[]) => string -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ } } new AnotherSampleClass({}); @@ -3073,7 +3073,7 @@ new AnotherSampleClass({}); // Positive repro from #17166 function f3>(t: T, k: K, tk: T[K]): void { >f3 : >(t: T, k: K, tk: T[K]) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >t : T > : ^ >k : K @@ -3192,7 +3192,7 @@ type SimpleDBRecord = { staticField: number } & DBBoolTable function getFlagsFromSimpleRecord(record: SimpleDBRecord, flags: Flag[]) { >getFlagsFromSimpleRecord : (record: SimpleDBRecord, flags: Flag[]) => SimpleDBRecord[Flag] -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >record : SimpleDBRecord > : ^^^^^^^^^^^^^^^^^^^^ >flags : Flag[] @@ -3221,7 +3221,7 @@ type DynamicDBRecord = ({ dynamicField: number } | { dynami function getFlagsFromDynamicRecord(record: DynamicDBRecord, flags: Flag[]) { >getFlagsFromDynamicRecord : (record: DynamicDBRecord, flags: Flag[]) => DynamicDBRecord[Flag] -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >record : DynamicDBRecord > : ^^^^^^^^^^^^^^^^^^^^^ >flags : Flag[] @@ -3256,7 +3256,7 @@ declare function take(p: T): void; function fn(o: T, k: K) { >fn : (o: T, k: K) => void -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >o : T > : ^ >k : K @@ -3266,7 +3266,7 @@ function fn(o: T, k: K) { >take<{} | null | undefined>(o[k]) : void > : ^^^^ >take : (p: T_1) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >o[k] : T[K] > : ^^^^ >o : T @@ -3278,7 +3278,7 @@ function fn(o: T, k: K) { >take(o[k]) : void > : ^^^^ >take : (p: T_1) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >o[k] : T[K] > : ^^^^ >o : T @@ -3319,8 +3319,8 @@ type Foo7 = T; > : ^ declare function f7(type: K): Foo7; ->f7 : (type: K) => Foo7 -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^ +>f7 : (type: K) => Foo7 +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >type : K > : ^ @@ -3336,7 +3336,7 @@ type DictDict = { [key in V]: Dict }; function ff1(dd: DictDict, k1: V, k2: T): number { >ff1 : (dd: DictDict, k1: V, k2: T) => number -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >dd : DictDict > : ^^^^^^^^^^^^^^ >k1 : V @@ -3359,7 +3359,7 @@ function ff1(dd: DictDict, k1: V, k2: function ff2(dd: DictDict, k1: V, k2: T): number { >ff2 : (dd: DictDict, k1: V, k2: T) => number -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >dd : DictDict > : ^^^^^^^^^^^^^^ >k1 : V @@ -3390,9 +3390,9 @@ function ff2(dd: DictDict, k1: V, k2: const cf1 = (t: T, k: K) => >cf1 : (t: T, k: K) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >(t: T, k: K) =>{ const s: string = t[k]; t.cool;} : (t: T, k: K) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >cool : string > : ^^^^^^ >t : T @@ -3422,9 +3422,9 @@ const cf1 = (t: T, k: K) => >cf2 : (t: T, k: K) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >(t: T, k: K) =>{ const s: string = t[k]; t.cool;} : (t: T, k: K) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >t : T > : ^ >k : K diff --git a/tests/baselines/reference/keyofAndIndexedAccess2.types b/tests/baselines/reference/keyofAndIndexedAccess2.types index 08d62829f850b..b011829873acc 100644 --- a/tests/baselines/reference/keyofAndIndexedAccess2.types +++ b/tests/baselines/reference/keyofAndIndexedAccess2.types @@ -28,7 +28,7 @@ function f1(obj: { a: number, b: 0 | 1, c: string }, k0: 'a', k1: 'a' | 'b', k2: >obj[k0] : number > : ^^^^^^ >obj : { a: number; b: 0 | 1; c: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >k0 : "a" > : ^^^ >1 : 1 @@ -40,7 +40,7 @@ function f1(obj: { a: number, b: 0 | 1, c: string }, k0: 'a', k1: 'a' | 'b', k2: >obj[k0] : number > : ^^^^^^ >obj : { a: number; b: 0 | 1; c: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >k0 : "a" > : ^^^ >2 : 2 @@ -52,7 +52,7 @@ function f1(obj: { a: number, b: 0 | 1, c: string }, k0: 'a', k1: 'a' | 'b', k2: >obj[k0] : number > : ^^^^^^ >obj : { a: number; b: 0 | 1; c: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >k0 : "a" > : ^^^ >'x' : "x" @@ -64,7 +64,7 @@ function f1(obj: { a: number, b: 0 | 1, c: string }, k0: 'a', k1: 'a' | 'b', k2: >obj[k1] : 0 | 1 > : ^^^^^ >obj : { a: number; b: 0 | 1; c: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >k1 : "a" | "b" > : ^^^^^^^^^ >1 : 1 @@ -76,7 +76,7 @@ function f1(obj: { a: number, b: 0 | 1, c: string }, k0: 'a', k1: 'a' | 'b', k2: >obj[k1] : 0 | 1 > : ^^^^^ >obj : { a: number; b: 0 | 1; c: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >k1 : "a" | "b" > : ^^^^^^^^^ >2 : 2 @@ -88,7 +88,7 @@ function f1(obj: { a: number, b: 0 | 1, c: string }, k0: 'a', k1: 'a' | 'b', k2: >obj[k1] : 0 | 1 > : ^^^^^ >obj : { a: number; b: 0 | 1; c: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >k1 : "a" | "b" > : ^^^^^^^^^ >'x' : "x" @@ -100,7 +100,7 @@ function f1(obj: { a: number, b: 0 | 1, c: string }, k0: 'a', k1: 'a' | 'b', k2: >obj[k2] : never > : ^^^^^ >obj : { a: number; b: 0 | 1; c: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >k2 : "a" | "b" | "c" > : ^^^^^^^^^^^^^^^ >1 : 1 @@ -112,7 +112,7 @@ function f1(obj: { a: number, b: 0 | 1, c: string }, k0: 'a', k1: 'a' | 'b', k2: >obj[k2] : never > : ^^^^^ >obj : { a: number; b: 0 | 1; c: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >k2 : "a" | "b" | "c" > : ^^^^^^^^^^^^^^^ >2 : 2 @@ -124,7 +124,7 @@ function f1(obj: { a: number, b: 0 | 1, c: string }, k0: 'a', k1: 'a' | 'b', k2: >obj[k2] : never > : ^^^^^ >obj : { a: number; b: 0 | 1; c: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >k2 : "a" | "b" | "c" > : ^^^^^^^^^^^^^^^ >'x' : "x" @@ -133,7 +133,7 @@ function f1(obj: { a: number, b: 0 | 1, c: string }, k0: 'a', k1: 'a' | 'b', k2: function f2(a: { x: number, y: number }, b: { [key: string]: number }, c: T, k: keyof T) { >f2 : (a: { x: number; y: number; }, b: { [key: string]: number; }, c: T, k: keyof T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >key : string > : ^^^^^^ >a : { x: number; y: number; } @@ -155,7 +155,7 @@ function f2(a: { x: number, y: number }, b: >a = b : { [key: string]: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >b : { [key: string]: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -163,17 +163,17 @@ function f2(a: { x: number, y: number }, b: >a = c : T > : ^ >a : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >c : T > : ^ b = a; >b = a : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >b : { [key: string]: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ b = c; >b = c : T @@ -185,11 +185,11 @@ function f2(a: { x: number, y: number }, b: c = a; // Error, constraint on target doesn't imply any properties or signatures >c = a : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >c : T > : ^ >a : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ c = b; // Error, constraint on target doesn't imply any properties or signatures >c = b : { [key: string]: number; } @@ -203,7 +203,7 @@ function f2(a: { x: number, y: number }, b: >a.x : number > : ^^^^^^ >a : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >x : number > : ^^^^^^ @@ -237,7 +237,7 @@ function f2(a: { x: number, y: number }, b: >a.x : number > : ^^^^^^ >a : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >x : number > : ^^^^^^ >1 : 1 @@ -282,7 +282,7 @@ function f2(a: { x: number, y: number }, b: function f3(a: { [P in K]: number }, b: { [key: string]: number }, k: K) { >f3 : (a: { [P in K]: number; }, b: { [key: string]: number; }, k: K) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >a : { [P in K]: number; } > : ^^^^^^^^^^^^^^^^^^^^^ >b : { [key: string]: number; } @@ -331,7 +331,7 @@ function f3(a: { [P in K]: number }, b: { [key: string]: numbe function f3b(a: { [P in K]: number }, b: { [P in string]: number }, k: K) { >f3b : (a: { [P in K]: number; }, b: { [P in string]: number; }, k: K) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >a : { [P in K]: number; } > : ^^^^^^^^^^^^^^^^^^^^^ >b : { [x: string]: number; } @@ -358,7 +358,7 @@ function f3b(a: { [P in K]: number }, b: { [P in string]: numb function f4(a: { [key: string]: number }[K], b: number) { >f4 : (a: { [key: string]: number; }[K], b: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >a : number > : ^^^^^^ >key : string @@ -393,7 +393,7 @@ type Item = { a: string, b: number }; function f10(obj: T, k1: string, k2: keyof Item, k3: keyof T, k4: K) { >f10 : (obj: T, k1: string, k2: keyof Item, k3: keyof T, k4: K) => void -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >obj : T > : ^ >k1 : string @@ -459,8 +459,8 @@ type Dict = Record; > : ^^^^ function f11(obj: Dict, k1: keyof Dict, k2: K) { ->f11 : (obj: Dict, k1: keyof Dict, k2: K) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>f11 : (obj: Dict, k1: keyof Dict, k2: K) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >obj : Dict > : ^^^^ >k1 : string @@ -507,7 +507,7 @@ function f11(obj: Dict, k1: keyof Dict, k2: K) { function f12, K extends keyof T>(obj: T, k1: keyof Dict, k2: keyof T, k3: K) { >f12 : , K extends keyof T>(obj: T, k1: keyof Dict, k2: keyof T, k3: K) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >obj : T > : ^ >k1 : string @@ -595,7 +595,7 @@ export interface EntityState { export function getAllEntities(state: EntityState): E[] { >getAllEntities : (state: EntityState) => E[] -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >state : EntityState > : ^^^^^^^^^^^^^^ @@ -611,11 +611,11 @@ export function getAllEntities(state: EntityState): E[] { >ids.map(id => entities[id]) : { [key: string]: E; [key: number]: E; }[IdOf][] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >ids.map : (callbackfn: (value: IdOf, index: number, array: IdOf[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >ids : IdOf[] > : ^^^^^^^^^ >map : (callbackfn: (value: IdOf, index: number, array: IdOf[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >id => entities[id] : (id: IdOf) => { [key: string]: E; [key: number]: E; }[IdOf] > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >id : IdOf @@ -630,7 +630,7 @@ export function getAllEntities(state: EntityState): E[] { export function getEntity(id: IdOf, state: EntityState): E | undefined { >getEntity : (id: IdOf, state: EntityState) => E | undefined -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >id : IdOf > : ^^^^^^^ >state : EntityState @@ -650,11 +650,11 @@ export function getEntity(id: IdOf, state: EntityState): >ids.includes(id) : boolean > : ^^^^^^^ >ids.includes : (searchElement: IdOf, fromIndex?: number) => boolean -> : ^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^^^ ^^^^^ >ids : IdOf[] > : ^^^^^^^^^ >includes : (searchElement: IdOf, fromIndex?: number) => boolean -> : ^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^^^ ^^^^^ >id : IdOf > : ^^^^^^^ @@ -686,7 +686,7 @@ interface Type { function get123(): Type[K] { >get123 : () => Type[K] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ return 123; // Error >123 : 123 @@ -715,7 +715,7 @@ type B = A<{ [Q in keyof T]: StrictExclude, {}>; }>; function fn} | {elements: Array}>(param: T, cb: (element: T['elements'][number]) => void) { >fn : ; } | { elements: Array; }>(param: T, cb: (element: T["elements"][number]) => void) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >elements : string[] > : ^^^^^^^^ >elements : number[] @@ -731,13 +731,13 @@ function fn} | {elements: Array}>(par >cb(param.elements[0]) : void > : ^^^^ >cb : (element: T["elements"][number]) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >param.elements[0] : string | number > : ^^^^^^^^^^^^^^^ >param.elements : string[] | number[] > : ^^^^^^^^^^^^^^^^^^^ ->param : { elements: string[]; } | { elements: number[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>param : { elements: Array; } | { elements: Array; } +> : ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^ >elements : string[] | number[] > : ^^^^^^^^^^^^^^^^^^^ >0 : 0 @@ -745,8 +745,8 @@ function fn} | {elements: Array}>(par } function fn2>(param: T, cb: (element: T[number]) => void) { ->fn2 : (param: T, cb: (element: T[number]) => void) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +>fn2 : >(param: T, cb: (element: T[number]) => void) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >param : T > : ^ >cb : (element: T[number]) => void @@ -758,7 +758,7 @@ function fn2>(param: T, cb: (element: T[number]) => void >cb(param[0]) : void > : ^^^^ >cb : (element: T[number]) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >param[0] : string > : ^^^^^^ >param : T @@ -770,8 +770,8 @@ function fn2>(param: T, cb: (element: T[number]) => void // Repro from #31149 function fn3>(param: T, cb: (element: T[number]) => void) { ->fn3 : (param: T, cb: (element: T[number]) => void) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +>fn3 : >(param: T, cb: (element: T[number]) => void) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >param : T > : ^ >cb : (element: T[number]) => void @@ -783,7 +783,7 @@ function fn3>(param: T, cb: (element: T[number]) >cb(param[0]) : void > : ^^^^ >cb : (element: T[number]) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >param[0] : string > : ^^^^^^ >param : T @@ -794,7 +794,7 @@ function fn3>(param: T, cb: (element: T[number]) function fn4() { >fn4 : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ let x: Array[K] = 'abc'; >x : string[][K] @@ -892,7 +892,7 @@ for (const action of actions) { >window[action] = (x, y) => { window[action](x, y); } : (x: number, y: number) => void > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ >window[action] : ((width: number, height: number) => void) & ((width: number, height: number) => void) & ((x: number, y: number) => void) & ((x: number, y: number) => void) -> : ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^ >window : Window & typeof globalThis > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >action : "resizeTo" | "resizeBy" @@ -908,7 +908,7 @@ for (const action of actions) { >window[action](x, y) : void > : ^^^^ >window[action] : (((x: number, y: number) => void) & ((x: number, y: number) => void)) | (((width: number, height: number) => void) & ((width: number, height: number) => void)) -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^ >window : Window & typeof globalThis > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >action : "resizeTo" | "resizeBy" diff --git a/tests/baselines/reference/keyofAndIndexedAccessErrors.types b/tests/baselines/reference/keyofAndIndexedAccessErrors.types index 36918b9022ca7..cf4d601035bae 100644 --- a/tests/baselines/reference/keyofAndIndexedAccessErrors.types +++ b/tests/baselines/reference/keyofAndIndexedAccessErrors.types @@ -160,11 +160,11 @@ type T53 = any[boolean]; // Error type T60 = {}["toString"]; >T60 : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ type T61 = []["toString"]; >T61 : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ declare let cond: boolean; >cond : boolean @@ -172,7 +172,7 @@ declare let cond: boolean; function getProperty(obj: T, key: K) { >getProperty : (obj: T, key: K) => T[K] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >obj : T > : ^ >key : K @@ -189,7 +189,7 @@ function getProperty(obj: T, key: K) { function setProperty(obj: T, key: K, value: T[K]) { >setProperty : (obj: T, key: K, value: T[K]) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >obj : T > : ^ >key : K @@ -222,7 +222,7 @@ function f10(shape: Shape) { >getProperty(shape, "name") : string > : ^^^^^^ >getProperty : (obj: T, key: K) => T[K] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >shape : Shape > : ^^^^^ >"name" : "name" @@ -234,7 +234,7 @@ function f10(shape: Shape) { >getProperty(shape, "size") : string | number | boolean > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >getProperty : (obj: T, key: K) => T[K] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >shape : Shape > : ^^^^^ >"size" : "size" @@ -246,7 +246,7 @@ function f10(shape: Shape) { >getProperty(shape, cond ? "name" : "size") : string | number | boolean > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >getProperty : (obj: T, key: K) => T[K] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >shape : Shape > : ^^^^^ >cond ? "name" : "size" : "name" | "size" @@ -262,7 +262,7 @@ function f10(shape: Shape) { >setProperty(shape, "name", "rectangle") : void > : ^^^^ >setProperty : (obj: T, key: K, value: T[K]) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >shape : Shape > : ^^^^^ >"name" : "name" @@ -274,7 +274,7 @@ function f10(shape: Shape) { >setProperty(shape, "size", 10) : void > : ^^^^ >setProperty : (obj: T, key: K, value: T[K]) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >shape : Shape > : ^^^^^ >"size" : "size" @@ -286,7 +286,7 @@ function f10(shape: Shape) { >setProperty(shape, cond ? "name" : "size", 10) : void > : ^^^^ >setProperty : (obj: T, key: K, value: T[K]) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >shape : Shape > : ^^^^^ >cond ? "name" : "size" : "name" | "size" @@ -481,7 +481,7 @@ function f20(x: T | U, y: T & U, k1: keyof (T | U), k2: keyof T & keyof U, // Repro from #17166 function f3, U extends T, J extends K>( >f3 : , U extends T, J extends K>(t: T, k: K, tk: T[K], u: U, j: J, uk: U[K], tj: T[J], uj: U[J]) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ t: T, k: K, tk: T[K], u: U, j: J, uk: U[K], tj: T[J], uj: U[J]): void { >t : T @@ -615,7 +615,7 @@ function f3, U extends T, J extends K>( // The constraint of 'keyof T' is 'keyof T' function f4(k: keyof T) { >f4 : (k: keyof T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >k : keyof T > : ^^^^^^^ @@ -671,7 +671,7 @@ const b1: Result1['b'] = 'b'; function test1, K extends keyof T>(t: T, k: K) { >test1 : , K extends keyof T>(t: T, k: K) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >t : T > : ^ >k : K @@ -722,7 +722,7 @@ function test1, K extends keyof T>(t: T, k: K) { function f30() { >f30 : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^ let x: Partial>[K] = "hello"; >x : Partial>[K] @@ -733,7 +733,7 @@ function f30() { function f31() { >f31 : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^ let x: Partial>>>>>>>[K] = "hello"; >x : Partial>>>>>>>[K] diff --git a/tests/baselines/reference/keyofDoesntContainSymbols.types b/tests/baselines/reference/keyofDoesntContainSymbols.types index f5ce67037382f..40da3f01eb489 100644 --- a/tests/baselines/reference/keyofDoesntContainSymbols.types +++ b/tests/baselines/reference/keyofDoesntContainSymbols.types @@ -45,7 +45,7 @@ const obj = { num: 0, str: 's', [num]: num as 0, [sym]: sym }; function set (obj: T, key: K, value: T[K]): T[K] { >set : (obj: T, key: K, value: T[K]) => T[K] -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >obj : T > : ^ >key : K @@ -72,7 +72,7 @@ const val = set(obj, 'str', ''); >set(obj, 'str', '') : string > : ^^^^^^ >set : (obj: T, key: K, value: T[K]) => T[K] -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >obj : { num: number; str: string; 0: 0; [sym]: symbol; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ >'str' : "str" @@ -87,7 +87,7 @@ const valB = set(obj, 'num', ''); >set(obj, 'num', '') : number > : ^^^^^^ >set : (obj: T, key: K, value: T[K]) => T[K] -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >obj : { num: number; str: string; 0: 0; [sym]: symbol; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ >'num' : "num" @@ -103,7 +103,7 @@ const valC = set(obj, sym, sym); >set(obj, sym, sym) : symbol > : ^^^^^^ >set : (obj: T, key: K, value: T[K]) => T[K] -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >obj : { num: number; str: string; 0: 0; [sym]: symbol; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ >sym : unique symbol @@ -119,7 +119,7 @@ const valD = set(obj, num, num); >set(obj, num, num) : 0 > : ^ >set : (obj: T, key: K, value: T[K]) => T[K] -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >obj : { num: number; str: string; 0: 0; [sym]: symbol; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ >num : 0 diff --git a/tests/baselines/reference/keyofInferenceIntersectsResults.types b/tests/baselines/reference/keyofInferenceIntersectsResults.types index 7feaf6e59cf44..6828fa2081137 100644 --- a/tests/baselines/reference/keyofInferenceIntersectsResults.types +++ b/tests/baselines/reference/keyofInferenceIntersectsResults.types @@ -33,7 +33,7 @@ const a = foo('a', 'b'); // compiles cleanly >foo('a', 'b') : X > : ^ >foo : (x: keyof T, y: keyof T) => T -> : ^ ^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^ ^^ ^^ ^^ ^^^^^ >'a' : "a" > : ^^^ >'b' : "b" @@ -45,7 +45,7 @@ const b = foo('a', 'b'); // also clean >foo('a', 'b') : { a: any; } & { b: any; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (x: keyof T, y: keyof T) => T -> : ^ ^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^ ^^ ^^ ^^ ^^^^^ >'a' : "a" > : ^^^ >'b' : "b" @@ -57,7 +57,7 @@ const c = bar('a', 'b'); // still clean >bar('a', 'b') : { a: any; } & { b: any; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >bar : (x: keyof T, y: keyof T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >'a' : "a" > : ^^^ >'b' : "b" diff --git a/tests/baselines/reference/keyofInferenceLowerPriorityThanReturn.types b/tests/baselines/reference/keyofInferenceLowerPriorityThanReturn.types index 173cab673ecf2..d6a5e15b2b802 100644 --- a/tests/baselines/reference/keyofInferenceLowerPriorityThanReturn.types +++ b/tests/baselines/reference/keyofInferenceLowerPriorityThanReturn.types @@ -83,7 +83,7 @@ interface BookDef { function insertOnConflictDoNothing(_table: Table, _conflictTarget: ConflictTarget): boolean { >insertOnConflictDoNothing : (_table: Table, _conflictTarget: ConflictTarget) => boolean -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >_table : Table > : ^^^^^^^^^^^^^^^ >_conflictTarget : ConflictTarget @@ -104,17 +104,17 @@ function f() { >insertOnConflictDoNothing(bookTable, ConflictTarget.tableColumns(["serial"])) : boolean > : ^^^^^^^ >insertOnConflictDoNothing : (_table: Table, _conflictTarget: ConflictTarget) => boolean -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >bookTable : Table > : ^^^^^^^^^^^^^^^^^^^^^^^ >ConflictTarget.tableColumns(["serial"]) : ConflictTarget > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >ConflictTarget.tableColumns : (cols: (keyof Cols)[]) => ConflictTarget -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >ConflictTarget : typeof ConflictTarget > : ^^^^^^^^^^^^^^^^^^^^^ >tableColumns : (cols: (keyof Cols)[]) => ConflictTarget -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >["serial"] : "serial"[] > : ^^^^^^^^^^ >"serial" : "serial" diff --git a/tests/baselines/reference/keyofIsLiteralContexualType.types b/tests/baselines/reference/keyofIsLiteralContexualType.types index f4e3ad361105d..a4f0e07aa9cdb 100644 --- a/tests/baselines/reference/keyofIsLiteralContexualType.types +++ b/tests/baselines/reference/keyofIsLiteralContexualType.types @@ -5,7 +5,7 @@ function foo() { >foo : () => void -> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ >a : string > : ^^^^^^ >b : string @@ -38,7 +38,7 @@ function foo() { declare function pick(obj: T, propNames: K[]): Pick; >pick : (obj: T, propNames: K[]) => Pick -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >obj : T > : ^ >propNames : K[] @@ -50,7 +50,7 @@ let x = pick({ a: 10, b: 20, c: 30 }, ["a", "c"]); >pick({ a: 10, b: 20, c: 30 }, ["a", "c"]) : Pick<{ a: number; b: number; c: number; }, "a" | "c"> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >pick : (obj: T, propNames: K[]) => Pick -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >{ a: 10, b: 20, c: 30 } : { a: number; b: number; c: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number diff --git a/tests/baselines/reference/keyofModuleObjectHasCorrectKeys.types b/tests/baselines/reference/keyofModuleObjectHasCorrectKeys.types index cfe942f1174ba..ba794dcebed3e 100644 --- a/tests/baselines/reference/keyofModuleObjectHasCorrectKeys.types +++ b/tests/baselines/reference/keyofModuleObjectHasCorrectKeys.types @@ -35,7 +35,7 @@ test(example, "default"); >test(example, "default") : void > : ^^^^ >test : (object: T, method: keyof T) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >example : typeof example > : ^^^^^^^^^^^^^^ >"default" : "default" diff --git a/tests/baselines/reference/keywordExpressionInternalComments.types b/tests/baselines/reference/keywordExpressionInternalComments.types index 5797518f70cd9..3f46691a71c2f 100644 --- a/tests/baselines/reference/keywordExpressionInternalComments.types +++ b/tests/baselines/reference/keywordExpressionInternalComments.types @@ -23,9 +23,9 @@ >delete /*2*/ Array.toString : boolean > : ^^^^^^^ >Array.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/knockout.types b/tests/baselines/reference/knockout.types index 913ea76047add..8ae212db9b775 100644 --- a/tests/baselines/reference/knockout.types +++ b/tests/baselines/reference/knockout.types @@ -41,11 +41,11 @@ >ko.observable("Bob") : ko.Observable > : ^^^^^^^^^^^^^^^^^^^^^ >ko.observable : (value: T) => ko.Observable -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ >ko : typeof ko > : ^^^^^^^^^ >observable : (value: T) => ko.Observable -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ >"Bob" : "Bob" > : ^^^^^ @@ -55,11 +55,11 @@ >ko.observable(37) : ko.Observable > : ^^^^^^^^^^^^^^^^^^^^^ >ko.observable : (value: T) => ko.Observable -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ >ko : typeof ko > : ^^^^^^^^^ >observable : (value: T) => ko.Observable -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ >37 : 37 > : ^^ } diff --git a/tests/baselines/reference/lambdaArgCrash.types b/tests/baselines/reference/lambdaArgCrash.types index ee8127123b8c6..2905a3006e235 100644 --- a/tests/baselines/reference/lambdaArgCrash.types +++ b/tests/baselines/reference/lambdaArgCrash.types @@ -43,7 +43,7 @@ class Event { >this._listeners.push(listener) : number > : ^^^^^^ >this._listeners.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >this._listeners : any[] > : ^^^^^ >this : this @@ -51,9 +51,9 @@ class Event { >_listeners : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >listener : () => any -> : ^^^^^^^^^ +> : ^^^^^^ } @@ -69,7 +69,7 @@ class ItemSetEvent extends Event { >add : (listener: (items: ItemSet) => void) => void > : ^ ^^ ^^^^^^^^^ >listener : (items: ItemSet) => void -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >items : ItemSet > : ^^^^^^^ @@ -77,13 +77,13 @@ class ItemSetEvent extends Event { >super.add(listener) : void > : ^^^^ >super.add : (listener: () => any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >super : Event > : ^^^^^ >add : (listener: () => any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >listener : (items: ItemSet) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ } diff --git a/tests/baselines/reference/lambdaParamTypes.types b/tests/baselines/reference/lambdaParamTypes.types index 141f816f39cc8..2bd67407567f9 100644 --- a/tests/baselines/reference/lambdaParamTypes.types +++ b/tests/baselines/reference/lambdaParamTypes.types @@ -31,7 +31,7 @@ var thing = create([{ name: "bob", id: 24 }, { name: "doug", id: 32 }]); >create([{ name: "bob", id: 24 }, { name: "doug", id: 32 }]) : MyArrayWrapper<{ name: string; id: number; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >create : (initialValues?: T[]) => MyArrayWrapper -> : ^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >[{ name: "bob", id: 24 }, { name: "doug", id: 32 }] : { name: string; id: number; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ name: "bob", id: 24 } : { name: string; id: number; } @@ -60,11 +60,11 @@ thing.doSomething((x, y) => x.name.charAt(0)); // x.name should be string, >thing.doSomething((x, y) => x.name.charAt(0)) : void > : ^^^^ >thing.doSomething : (predicate: (x: { name: string; id: number; }, y: { name: string; id: number; }) => string) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >thing : MyArrayWrapper<{ name: string; id: number; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >doSomething : (predicate: (x: { name: string; id: number; }, y: { name: string; id: number; }) => string) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >(x, y) => x.name.charAt(0) : (x: { name: string; id: number; }, y: { name: string; id: number; }) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { name: string; id: number; } @@ -74,7 +74,7 @@ thing.doSomething((x, y) => x.name.charAt(0)); // x.name should be string, >x.name.charAt(0) : string > : ^^^^^^ >x.name.charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x.name : string > : ^^^^^^ >x : { name: string; id: number; } @@ -82,7 +82,7 @@ thing.doSomething((x, y) => x.name.charAt(0)); // x.name should be string, >name : string > : ^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ @@ -90,11 +90,11 @@ thing.doSomething((x, y) => x.id.toExponential(0)); // x.id should be string, so >thing.doSomething((x, y) => x.id.toExponential(0)) : void > : ^^^^ >thing.doSomething : (predicate: (x: { name: string; id: number; }, y: { name: string; id: number; }) => string) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >thing : MyArrayWrapper<{ name: string; id: number; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >doSomething : (predicate: (x: { name: string; id: number; }, y: { name: string; id: number; }) => string) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >(x, y) => x.id.toExponential(0) : (x: { name: string; id: number; }, y: { name: string; id: number; }) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { name: string; id: number; } @@ -104,7 +104,7 @@ thing.doSomething((x, y) => x.id.toExponential(0)); // x.id should be string, so >x.id.toExponential(0) : string > : ^^^^^^ >x.id.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x.id : number > : ^^^^^^ >x : { name: string; id: number; } @@ -112,7 +112,7 @@ thing.doSomething((x, y) => x.id.toExponential(0)); // x.id should be string, so >id : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -120,11 +120,11 @@ thing.doSomething((x, y) => y.name.charAt(0)); // x.name should be string, >thing.doSomething((x, y) => y.name.charAt(0)) : void > : ^^^^ >thing.doSomething : (predicate: (x: { name: string; id: number; }, y: { name: string; id: number; }) => string) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >thing : MyArrayWrapper<{ name: string; id: number; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >doSomething : (predicate: (x: { name: string; id: number; }, y: { name: string; id: number; }) => string) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >(x, y) => y.name.charAt(0) : (x: { name: string; id: number; }, y: { name: string; id: number; }) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { name: string; id: number; } @@ -134,7 +134,7 @@ thing.doSomething((x, y) => y.name.charAt(0)); // x.name should be string, >y.name.charAt(0) : string > : ^^^^^^ >y.name.charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >y.name : string > : ^^^^^^ >y : { name: string; id: number; } @@ -142,7 +142,7 @@ thing.doSomething((x, y) => y.name.charAt(0)); // x.name should be string, >name : string > : ^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ @@ -150,11 +150,11 @@ thing.doSomething((x, y) => y.id.toExponential(0)); // x.id should be string, so >thing.doSomething((x, y) => y.id.toExponential(0)) : void > : ^^^^ >thing.doSomething : (predicate: (x: { name: string; id: number; }, y: { name: string; id: number; }) => string) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >thing : MyArrayWrapper<{ name: string; id: number; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >doSomething : (predicate: (x: { name: string; id: number; }, y: { name: string; id: number; }) => string) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >(x, y) => y.id.toExponential(0) : (x: { name: string; id: number; }, y: { name: string; id: number; }) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { name: string; id: number; } @@ -164,7 +164,7 @@ thing.doSomething((x, y) => y.id.toExponential(0)); // x.id should be string, so >y.id.toExponential(0) : string > : ^^^^^^ >y.id.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >y.id : number > : ^^^^^^ >y : { name: string; id: number; } @@ -172,7 +172,7 @@ thing.doSomething((x, y) => y.id.toExponential(0)); // x.id should be string, so >id : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -181,11 +181,11 @@ thing.doSomething((x, y) => x.foo); // no such property on x >thing.doSomething((x, y) => x.foo) : void > : ^^^^ >thing.doSomething : (predicate: (x: { name: string; id: number; }, y: { name: string; id: number; }) => string) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >thing : MyArrayWrapper<{ name: string; id: number; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >doSomething : (predicate: (x: { name: string; id: number; }, y: { name: string; id: number; }) => string) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >(x, y) => x.foo : (x: { name: string; id: number; }, y: { name: string; id: number; }) => any > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { name: string; id: number; } @@ -203,11 +203,11 @@ thing.doSomething((x, y) => y.foo); // no such property on y >thing.doSomething((x, y) => y.foo) : void > : ^^^^ >thing.doSomething : (predicate: (x: { name: string; id: number; }, y: { name: string; id: number; }) => string) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >thing : MyArrayWrapper<{ name: string; id: number; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >doSomething : (predicate: (x: { name: string; id: number; }, y: { name: string; id: number; }) => string) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >(x, y) => y.foo : (x: { name: string; id: number; }, y: { name: string; id: number; }) => any > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { name: string; id: number; } @@ -225,11 +225,11 @@ thing.doSomething((x, y) => x.id.charAt(0)); // x.id should be number, no c >thing.doSomething((x, y) => x.id.charAt(0)) : void > : ^^^^ >thing.doSomething : (predicate: (x: { name: string; id: number; }, y: { name: string; id: number; }) => string) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >thing : MyArrayWrapper<{ name: string; id: number; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >doSomething : (predicate: (x: { name: string; id: number; }, y: { name: string; id: number; }) => string) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >(x, y) => x.id.charAt(0) : (x: { name: string; id: number; }, y: { name: string; id: number; }) => any > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { name: string; id: number; } @@ -255,11 +255,11 @@ thing.doSomething((x, y) => x.name.toExponential(0)); // x.name should be string >thing.doSomething((x, y) => x.name.toExponential(0)) : void > : ^^^^ >thing.doSomething : (predicate: (x: { name: string; id: number; }, y: { name: string; id: number; }) => string) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >thing : MyArrayWrapper<{ name: string; id: number; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >doSomething : (predicate: (x: { name: string; id: number; }, y: { name: string; id: number; }) => string) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >(x, y) => x.name.toExponential(0) : (x: { name: string; id: number; }, y: { name: string; id: number; }) => any > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { name: string; id: number; } @@ -285,11 +285,11 @@ thing.doSomething((x, y) => y.id.charAt(0)); >thing.doSomething((x, y) => y.id.charAt(0)) : void > : ^^^^ >thing.doSomething : (predicate: (x: { name: string; id: number; }, y: { name: string; id: number; }) => string) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >thing : MyArrayWrapper<{ name: string; id: number; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >doSomething : (predicate: (x: { name: string; id: number; }, y: { name: string; id: number; }) => string) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >(x, y) => y.id.charAt(0) : (x: { name: string; id: number; }, y: { name: string; id: number; }) => any > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { name: string; id: number; } @@ -315,11 +315,11 @@ thing.doSomething((x, y) => y.name.toExponential(0)); >thing.doSomething((x, y) => y.name.toExponential(0)) : void > : ^^^^ >thing.doSomething : (predicate: (x: { name: string; id: number; }, y: { name: string; id: number; }) => string) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >thing : MyArrayWrapper<{ name: string; id: number; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >doSomething : (predicate: (x: { name: string; id: number; }, y: { name: string; id: number; }) => string) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >(x, y) => y.name.toExponential(0) : (x: { name: string; id: number; }, y: { name: string; id: number; }) => any > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { name: string; id: number; } diff --git a/tests/baselines/reference/lambdaParameterWithTupleArgsHasCorrectAssignability.types b/tests/baselines/reference/lambdaParameterWithTupleArgsHasCorrectAssignability.types index d3dd014dca48a..dce49edbd6940 100644 --- a/tests/baselines/reference/lambdaParameterWithTupleArgsHasCorrectAssignability.types +++ b/tests/baselines/reference/lambdaParameterWithTupleArgsHasCorrectAssignability.types @@ -26,7 +26,7 @@ class GenericClass { function createClass(f: GenericFunction): GenericClass { >createClass : (f: GenericFunction) => GenericClass -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >f : GenericFunction > : ^^^^^^^^^^^^^^^^^^ @@ -52,7 +52,7 @@ consumeClass(createClass(str => console.log(str.length))); >createClass(str => console.log(str.length)) : GenericClass<[str: string]> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >createClass : (f: GenericFunction) => GenericClass -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >str => console.log(str.length) : (str: string) => void > : ^ ^^^^^^^^^^^^^^^^^ >str : string @@ -60,11 +60,11 @@ consumeClass(createClass(str => console.log(str.length))); >console.log(str.length) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >str.length : number > : ^^^^^^ >str : string @@ -81,7 +81,7 @@ consumeClass(createClass((str, _unused_num) => console.log(str.length))); >createClass((str, _unused_num) => console.log(str.length)) : GenericClass<[str: string, _unused_num: boolean]> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >createClass : (f: GenericFunction) => GenericClass -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(str, _unused_num) => console.log(str.length) : (str: string, _unused_num: boolean) => void > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ >str : string @@ -91,11 +91,11 @@ consumeClass(createClass((str, _unused_num) => console.log(str.length))); >console.log(str.length) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >str.length : number > : ^^^^^^ >str : string diff --git a/tests/baselines/reference/lambdaPropSelf.types b/tests/baselines/reference/lambdaPropSelf.types index a7554737dc860..a5795b4f4cc5a 100644 --- a/tests/baselines/reference/lambdaPropSelf.types +++ b/tests/baselines/reference/lambdaPropSelf.types @@ -48,7 +48,7 @@ class Person { >this.children.push("New child") : number > : ^^^^^^ >this.children.push : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >this.children : string[] > : ^^^^^^^^ >this : this @@ -56,7 +56,7 @@ class Person { >children : string[] > : ^^^^^^^^ >push : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >"New child" : "New child" > : ^^^^^^^^^^^ } diff --git a/tests/baselines/reference/largeTupleTypes.types b/tests/baselines/reference/largeTupleTypes.types index 7cf6337edda4b..a8826173d19fa 100644 --- a/tests/baselines/reference/largeTupleTypes.types +++ b/tests/baselines/reference/largeTupleTypes.types @@ -43,7 +43,7 @@ declare class ArrayValidator { lengthRange(start: S, endBefore: E): ArrayValidator]>>, ExpandSmallerTuples]>>>>; >lengthRange : (start: S, endBefore: E) => ArrayValidator]>>, ExpandSmallerTuples]>>>> -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >start : S > : ^ >endBefore : E diff --git a/tests/baselines/reference/lastPropertyInLiteralWins.types b/tests/baselines/reference/lastPropertyInLiteralWins.types index ae51e2e7a67cd..d75d6fe162006 100644 --- a/tests/baselines/reference/lastPropertyInLiteralWins.types +++ b/tests/baselines/reference/lastPropertyInLiteralWins.types @@ -18,11 +18,11 @@ function test(thing: Thing) { >thing.thunk("str") : void > : ^^^^ >thing.thunk : (str: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >thing : Thing > : ^^^^^ >thunk : (str: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"str" : "str" > : ^^^^^ } diff --git a/tests/baselines/reference/lateBoundAssignmentDeclarationSupport3.types b/tests/baselines/reference/lateBoundAssignmentDeclarationSupport3.types index 4464642e3bc98..dd0a4ad51fe16 100644 --- a/tests/baselines/reference/lateBoundAssignmentDeclarationSupport3.types +++ b/tests/baselines/reference/lateBoundAssignmentDeclarationSupport3.types @@ -55,11 +55,11 @@ Object.defineProperty(module.exports, _sym, { value: "ok" }); >Object.defineProperty(module.exports, _sym, { value: "ok" }) : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >module.exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >module : { exports: typeof module.exports; } @@ -79,11 +79,11 @@ Object.defineProperty(module.exports, _str, { value: "ok" }); >Object.defineProperty(module.exports, _str, { value: "ok" }) : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >module.exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >module : { exports: typeof module.exports; } diff --git a/tests/baselines/reference/lateBoundAssignmentDeclarationSupport6.types b/tests/baselines/reference/lateBoundAssignmentDeclarationSupport6.types index ab9e46009284a..38f57aa09d37c 100644 --- a/tests/baselines/reference/lateBoundAssignmentDeclarationSupport6.types +++ b/tests/baselines/reference/lateBoundAssignmentDeclarationSupport6.types @@ -87,11 +87,11 @@ Object.defineProperty(F.prototype, _str, {value: "ok"}); >Object.defineProperty(F.prototype, _str, {value: "ok"}) : any > : ^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >F.prototype : any > : ^^^ >F : typeof F @@ -111,11 +111,11 @@ Object.defineProperty(F.prototype, _sym, {value: "ok"}); >Object.defineProperty(F.prototype, _sym, {value: "ok"}) : any > : ^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >F.prototype : any > : ^^^ >F : typeof F diff --git a/tests/baselines/reference/lateBoundConstraintTypeChecksCorrectly.types b/tests/baselines/reference/lateBoundConstraintTypeChecksCorrectly.types index bb30e20790485..78b5819b177e0 100644 --- a/tests/baselines/reference/lateBoundConstraintTypeChecksCorrectly.types +++ b/tests/baselines/reference/lateBoundConstraintTypeChecksCorrectly.types @@ -33,7 +33,7 @@ export interface Foo { function f>(x: T) { >f : >(x: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ diff --git a/tests/baselines/reference/legacyNodeModulesExportsSpecifierGenerationConditions.types b/tests/baselines/reference/legacyNodeModulesExportsSpecifierGenerationConditions.types index 2d8c0b20966fc..5547ace4bb0e3 100644 --- a/tests/baselines/reference/legacyNodeModulesExportsSpecifierGenerationConditions.types +++ b/tests/baselines/reference/legacyNodeModulesExportsSpecifierGenerationConditions.types @@ -9,7 +9,7 @@ export const a = async () => (await import("inner")).x(); >(await import("inner")).x() : import("node_modules/inner/private").Thing > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >(await import("inner")).x : () => import("node_modules/inner/private").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >(await import("inner")) : typeof import("node_modules/inner/index") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >await import("inner") : typeof import("node_modules/inner/index") @@ -19,12 +19,12 @@ export const a = async () => (await import("inner")).x(); >"inner" : "inner" > : ^^^^^^^ >x : () => import("node_modules/inner/private").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ === node_modules/inner/index.d.ts === export { x } from "./other.js"; >x : () => import("node_modules/inner/private").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ === node_modules/inner/other.d.ts === import { Thing } from "./private.js" diff --git a/tests/baselines/reference/letConstInCaseClauses.types b/tests/baselines/reference/letConstInCaseClauses.types index f0fa0b8fb27e2..72d47e68a712d 100644 --- a/tests/baselines/reference/letConstInCaseClauses.types +++ b/tests/baselines/reference/letConstInCaseClauses.types @@ -29,11 +29,11 @@ var y = 20; >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : number > : ^^^^^^ @@ -84,11 +84,11 @@ var y = 20; >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : 1 > : ^ diff --git a/tests/baselines/reference/letDeclarations-access.types b/tests/baselines/reference/letDeclarations-access.types index e9c5fc9589a81..5333c76f3e931 100644 --- a/tests/baselines/reference/letDeclarations-access.types +++ b/tests/baselines/reference/letDeclarations-access.types @@ -183,9 +183,9 @@ x.toString(); >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/letShadowedByNameInNestedScope.types b/tests/baselines/reference/letShadowedByNameInNestedScope.types index 61ce0ffd7669b..4f90e3a882828 100644 --- a/tests/baselines/reference/letShadowedByNameInNestedScope.types +++ b/tests/baselines/reference/letShadowedByNameInNestedScope.types @@ -32,11 +32,11 @@ function foo() { >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : number > : ^^^^^^ diff --git a/tests/baselines/reference/libMembers.types b/tests/baselines/reference/libMembers.types index 2a12e01a46c69..8ea3173bf9051 100644 --- a/tests/baselines/reference/libMembers.types +++ b/tests/baselines/reference/libMembers.types @@ -11,11 +11,11 @@ s.substring(0); >s.substring(0) : string > : ^^^^^^ >s.substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >s : string > : ^^^^^^ >substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -23,11 +23,11 @@ s.substring(3,4); >s.substring(3,4) : string > : ^^^^^^ >s.substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >s : string > : ^^^^^^ >substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >3 : 3 > : ^ >4 : 4 @@ -49,11 +49,11 @@ String.fromCharCode(12); >String.fromCharCode(12) : string > : ^^^^^^ >String.fromCharCode : (...codes: number[]) => string -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >String : StringConstructor > : ^^^^^^^^^^^^^^^^^ >fromCharCode : (...codes: number[]) => string -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >12 : 12 > : ^^ diff --git a/tests/baselines/reference/library-reference-1.types b/tests/baselines/reference/library-reference-1.types index aa91c275b41bf..d38f63be9bb24 100644 --- a/tests/baselines/reference/library-reference-1.types +++ b/tests/baselines/reference/library-reference-1.types @@ -6,11 +6,11 @@ $.foo(); >$.foo() : void > : ^^^^ >$.foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >$ : { foo(): void; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ === /src/types/jquery/index.d.ts === declare var $: { foo(): void }; diff --git a/tests/baselines/reference/library-reference-10.types b/tests/baselines/reference/library-reference-10.types index 72cb66278a7c6..3501d581dadf5 100644 --- a/tests/baselines/reference/library-reference-10.types +++ b/tests/baselines/reference/library-reference-10.types @@ -6,11 +6,11 @@ $.foo(); >$.foo() : void > : ^^^^ >$.foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >$ : { foo(): void; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ === /foo/types/jquery/jquery.d.ts === declare var $: { foo(): void }; diff --git a/tests/baselines/reference/library-reference-11.types b/tests/baselines/reference/library-reference-11.types index d8f9296ef82c5..8145522e25241 100644 --- a/tests/baselines/reference/library-reference-11.types +++ b/tests/baselines/reference/library-reference-11.types @@ -6,11 +6,11 @@ $.foo(); >$.foo() : void > : ^^^^ >$.foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >$ : { foo(): void; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ === /a/node_modules/jquery/jquery.d.ts === declare var $: { foo(): void }; diff --git a/tests/baselines/reference/library-reference-12.types b/tests/baselines/reference/library-reference-12.types index b82dc9e177d76..97282900fcc8a 100644 --- a/tests/baselines/reference/library-reference-12.types +++ b/tests/baselines/reference/library-reference-12.types @@ -6,11 +6,11 @@ $.foo(); >$.foo() : void > : ^^^^ >$.foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >$ : { foo(): void; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ === /a/node_modules/jquery/dist/jquery.d.ts === declare var $: { foo(): void }; diff --git a/tests/baselines/reference/library-reference-13.types b/tests/baselines/reference/library-reference-13.types index 2f3322847003d..c66427e8e5855 100644 --- a/tests/baselines/reference/library-reference-13.types +++ b/tests/baselines/reference/library-reference-13.types @@ -13,9 +13,9 @@ $.foo(); >$.foo() : void > : ^^^^ >$.foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >$ : { foo(): void; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/library-reference-14.types b/tests/baselines/reference/library-reference-14.types index bd3791d103067..5c4d8ef0cb7d7 100644 --- a/tests/baselines/reference/library-reference-14.types +++ b/tests/baselines/reference/library-reference-14.types @@ -5,11 +5,11 @@ $.foo(); >$.foo() : void > : ^^^^ >$.foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >$ : { foo(): void; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ === /a/types/jquery/index.d.ts === declare var $: { foo(): void }; diff --git a/tests/baselines/reference/library-reference-15.types b/tests/baselines/reference/library-reference-15.types index 5f636999a16a0..3f3197c65ceb2 100644 --- a/tests/baselines/reference/library-reference-15.types +++ b/tests/baselines/reference/library-reference-15.types @@ -5,11 +5,11 @@ $.foo(); // should OK >$.foo() : void > : ^^^^ >$.foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >$ : { foo(): void; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ $2.foo(); // should error >$2.foo() : any diff --git a/tests/baselines/reference/library-reference-2.types b/tests/baselines/reference/library-reference-2.types index 47620a84d5ab5..76973599d4e3f 100644 --- a/tests/baselines/reference/library-reference-2.types +++ b/tests/baselines/reference/library-reference-2.types @@ -6,11 +6,11 @@ $.foo(); >$.foo() : void > : ^^^^ >$.foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >$ : { foo(): void; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ === /types/jquery/jquery.d.ts === declare var $: { foo(): void }; diff --git a/tests/baselines/reference/library-reference-3.types b/tests/baselines/reference/library-reference-3.types index 59415b506ece5..bd3254132e7da 100644 --- a/tests/baselines/reference/library-reference-3.types +++ b/tests/baselines/reference/library-reference-3.types @@ -6,11 +6,11 @@ $.foo(); >$.foo() : void > : ^^^^ >$.foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >$ : { foo(): void; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ === /src/node_modules/jquery/index.d.ts === declare var $: { foo(): void }; diff --git a/tests/baselines/reference/library-reference-4.symbols b/tests/baselines/reference/library-reference-4.symbols index e89538c7fefed..d01989e6da117 100644 --- a/tests/baselines/reference/library-reference-4.symbols +++ b/tests/baselines/reference/library-reference-4.symbols @@ -12,10 +12,14 @@ declare var foo: any; === /node_modules/foo/node_modules/alpha/index.d.ts === declare var alpha: any; ->alpha : Symbol(alpha, Decl(index.d.ts, 0, 11)) +>alpha : Symbol(alpha, Decl(index.d.ts, 0, 11), Decl(index.d.ts, 0, 11)) === /node_modules/bar/index.d.ts === /// declare var bar: any; >bar : Symbol(bar, Decl(index.d.ts, 1, 11)) +=== /node_modules/bar/node_modules/alpha/index.d.ts === +declare var alpha: any; +>alpha : Symbol(alpha, Decl(index.d.ts, 0, 11), Decl(index.d.ts, 0, 11)) + diff --git a/tests/baselines/reference/library-reference-4.trace.json b/tests/baselines/reference/library-reference-4.trace.json index 9e5a5c07bdb1b..41861ad55ed95 100644 --- a/tests/baselines/reference/library-reference-4.trace.json +++ b/tests/baselines/reference/library-reference-4.trace.json @@ -54,6 +54,11 @@ "File '/node_modules/bar/node_modules/alpha/index.d.ts' exists - use it as a name resolution result.", "Resolving real path for '/node_modules/bar/node_modules/alpha/index.d.ts', result '/node_modules/bar/node_modules/alpha/index.d.ts'.", "======== Type reference directive 'alpha' was successfully resolved to '/node_modules/bar/node_modules/alpha/index.d.ts', primary: false. ========", + "File '/node_modules/bar/node_modules/alpha/package.json' does not exist according to earlier cached lookups.", + "File '/node_modules/bar/node_modules/package.json' does not exist.", + "File '/node_modules/bar/package.json' does not exist according to earlier cached lookups.", + "File '/node_modules/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", "File '/.ts/package.json' does not exist.", "File '/package.json' does not exist according to earlier cached lookups.", "======== Resolving module '@typescript/lib-es5' from '/.src/test/__lib_node_modules_lookup_lib.es5.d.ts__.ts'. ========", diff --git a/tests/baselines/reference/library-reference-4.types b/tests/baselines/reference/library-reference-4.types index 464d152abd842..c60c0d6ef8e10 100644 --- a/tests/baselines/reference/library-reference-4.types +++ b/tests/baselines/reference/library-reference-4.types @@ -19,3 +19,7 @@ declare var alpha: any; declare var bar: any; >bar : any +=== /node_modules/bar/node_modules/alpha/index.d.ts === +declare var alpha: any; +>alpha : any + diff --git a/tests/baselines/reference/library-reference-5.errors.txt b/tests/baselines/reference/library-reference-5.errors.txt index b6f9feb10820e..45b62653faf4b 100644 --- a/tests/baselines/reference/library-reference-5.errors.txt +++ b/tests/baselines/reference/library-reference-5.errors.txt @@ -1,7 +1,4 @@ -/node_modules/bar/index.d.ts(1,23): error TS4090: Conflicting definitions for 'alpha' found at '/node_modules/bar/node_modules/alpha/index.d.ts' and '/node_modules/foo/node_modules/alpha/index.d.ts'. Consider installing a specific version of this library to resolve the conflict. - The file is in the program because: - Type library referenced via 'alpha' from file '/node_modules/foo/index.d.ts' - Type library referenced via 'alpha' from file '/node_modules/bar/index.d.ts' +/node_modules/bar/node_modules/alpha/index.d.ts(1,13): error TS2403: Subsequent variable declarations must have the same type. Variable 'alpha' must be of type 'any', but here has type '{}'. ==== /src/root.ts (0 errors) ==== @@ -15,16 +12,13 @@ ==== /node_modules/foo/node_modules/alpha/index.d.ts (0 errors) ==== declare var alpha: any; -==== /node_modules/bar/index.d.ts (1 errors) ==== +==== /node_modules/bar/index.d.ts (0 errors) ==== /// - ~~~~~ -!!! error TS4090: Conflicting definitions for 'alpha' found at '/node_modules/bar/node_modules/alpha/index.d.ts' and '/node_modules/foo/node_modules/alpha/index.d.ts'. Consider installing a specific version of this library to resolve the conflict. -!!! error TS4090: The file is in the program because: -!!! error TS4090: Type library referenced via 'alpha' from file '/node_modules/foo/index.d.ts' -!!! error TS4090: Type library referenced via 'alpha' from file '/node_modules/bar/index.d.ts' -!!! related TS1404 /node_modules/foo/index.d.ts:1:23: File is included via type library reference here. declare var bar: any; -==== /node_modules/bar/node_modules/alpha/index.d.ts (0 errors) ==== +==== /node_modules/bar/node_modules/alpha/index.d.ts (1 errors) ==== declare var alpha: {}; + ~~~~~ +!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'alpha' must be of type 'any', but here has type '{}'. +!!! related TS6203 /node_modules/foo/node_modules/alpha/index.d.ts:1:13: 'alpha' was also declared here. \ No newline at end of file diff --git a/tests/baselines/reference/library-reference-5.symbols b/tests/baselines/reference/library-reference-5.symbols index 0ff754a955b27..1745362514476 100644 --- a/tests/baselines/reference/library-reference-5.symbols +++ b/tests/baselines/reference/library-reference-5.symbols @@ -12,10 +12,14 @@ declare var foo: any; === /node_modules/foo/node_modules/alpha/index.d.ts === declare var alpha: any; ->alpha : Symbol(alpha, Decl(index.d.ts, 0, 11)) +>alpha : Symbol(alpha, Decl(index.d.ts, 0, 11), Decl(index.d.ts, 0, 11)) === /node_modules/bar/index.d.ts === /// declare var bar: any; >bar : Symbol(bar, Decl(index.d.ts, 1, 11)) +=== /node_modules/bar/node_modules/alpha/index.d.ts === +declare var alpha: {}; +>alpha : Symbol(alpha, Decl(index.d.ts, 0, 11), Decl(index.d.ts, 0, 11)) + diff --git a/tests/baselines/reference/library-reference-5.trace.json b/tests/baselines/reference/library-reference-5.trace.json index 47d50c37a28ee..ce76eb7f46a7b 100644 --- a/tests/baselines/reference/library-reference-5.trace.json +++ b/tests/baselines/reference/library-reference-5.trace.json @@ -54,6 +54,11 @@ "File '/node_modules/bar/node_modules/alpha/index.d.ts' exists - use it as a name resolution result.", "Resolving real path for '/node_modules/bar/node_modules/alpha/index.d.ts', result '/node_modules/bar/node_modules/alpha/index.d.ts'.", "======== Type reference directive 'alpha' was successfully resolved to '/node_modules/bar/node_modules/alpha/index.d.ts', primary: false. ========", + "File '/node_modules/bar/node_modules/alpha/package.json' does not exist according to earlier cached lookups.", + "File '/node_modules/bar/node_modules/package.json' does not exist.", + "File '/node_modules/bar/package.json' does not exist according to earlier cached lookups.", + "File '/node_modules/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", "File '/.ts/package.json' does not exist.", "File '/package.json' does not exist according to earlier cached lookups.", "======== Resolving module '@typescript/lib-es5' from '/__lib_node_modules_lookup_lib.es5.d.ts__.ts'. ========", diff --git a/tests/baselines/reference/library-reference-5.types b/tests/baselines/reference/library-reference-5.types index 99a40a79af27c..9648de7c0611b 100644 --- a/tests/baselines/reference/library-reference-5.types +++ b/tests/baselines/reference/library-reference-5.types @@ -22,3 +22,8 @@ declare var bar: any; >bar : any > : ^^^ +=== /node_modules/bar/node_modules/alpha/index.d.ts === +declare var alpha: {}; +>alpha : any +> : ^^^ + diff --git a/tests/baselines/reference/library-reference-6.types b/tests/baselines/reference/library-reference-6.types index 0072a533e522e..38fd2640fcbbc 100644 --- a/tests/baselines/reference/library-reference-6.types +++ b/tests/baselines/reference/library-reference-6.types @@ -8,7 +8,7 @@ var x: string = alpha.a; >alpha.a : string > : ^^^^^^ >alpha : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : string > : ^^^^^^ diff --git a/tests/baselines/reference/library-reference-7.types b/tests/baselines/reference/library-reference-7.types index f9bafd989edf8..cc01ffd6401af 100644 --- a/tests/baselines/reference/library-reference-7.types +++ b/tests/baselines/reference/library-reference-7.types @@ -6,11 +6,11 @@ $.foo(); >$.foo() : void > : ^^^^ >$.foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >$ : { foo(): void; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ === /src/node_modules/jquery/index.d.ts === declare var $: { foo(): void }; diff --git a/tests/baselines/reference/library-reference-8.types b/tests/baselines/reference/library-reference-8.types index 6cf2ed5dc3a04..05b1ec8776528 100644 --- a/tests/baselines/reference/library-reference-8.types +++ b/tests/baselines/reference/library-reference-8.types @@ -11,13 +11,13 @@ var x: string = alpha.a + beta.b; >alpha.a : string > : ^^^^^^ >alpha : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : string > : ^^^^^^ >beta.b : string > : ^^^^^^ >beta : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : string > : ^^^^^^ diff --git a/tests/baselines/reference/library_ArraySlice.types b/tests/baselines/reference/library_ArraySlice.types index 574ab69e3bbcc..1ff239e551d58 100644 --- a/tests/baselines/reference/library_ArraySlice.types +++ b/tests/baselines/reference/library_ArraySlice.types @@ -6,7 +6,7 @@ Array.prototype.slice(); >Array.prototype.slice() : any[] > : ^^^^^ >Array.prototype.slice : (start?: number, end?: number) => any[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^ >Array.prototype : any[] > : ^^^^^ >Array : ArrayConstructor @@ -14,13 +14,13 @@ Array.prototype.slice(); >prototype : any[] > : ^^^^^ >slice : (start?: number, end?: number) => any[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^ Array.prototype.slice(0); >Array.prototype.slice(0) : any[] > : ^^^^^ >Array.prototype.slice : (start?: number, end?: number) => any[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^ >Array.prototype : any[] > : ^^^^^ >Array : ArrayConstructor @@ -28,7 +28,7 @@ Array.prototype.slice(0); >prototype : any[] > : ^^^^^ >slice : (start?: number, end?: number) => any[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^ >0 : 0 > : ^ @@ -36,7 +36,7 @@ Array.prototype.slice(0, 1); >Array.prototype.slice(0, 1) : any[] > : ^^^^^ >Array.prototype.slice : (start?: number, end?: number) => any[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^ >Array.prototype : any[] > : ^^^^^ >Array : ArrayConstructor @@ -44,7 +44,7 @@ Array.prototype.slice(0, 1); >prototype : any[] > : ^^^^^ >slice : (start?: number, end?: number) => any[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^ >0 : 0 > : ^ >1 : 1 diff --git a/tests/baselines/reference/library_DatePrototypeProperties.types b/tests/baselines/reference/library_DatePrototypeProperties.types index 74eeafee79d20..06e512759b84d 100644 --- a/tests/baselines/reference/library_DatePrototypeProperties.types +++ b/tests/baselines/reference/library_DatePrototypeProperties.types @@ -19,7 +19,7 @@ Date.prototype.toString(); >Date.prototype.toString() : string > : ^^^^^^ >Date.prototype.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -27,13 +27,13 @@ Date.prototype.toString(); >prototype : Date > : ^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ Date.prototype.toDateString(); >Date.prototype.toDateString() : string > : ^^^^^^ >Date.prototype.toDateString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -41,13 +41,13 @@ Date.prototype.toDateString(); >prototype : Date > : ^^^^ >toDateString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ Date.prototype.toTimeString(); >Date.prototype.toTimeString() : string > : ^^^^^^ >Date.prototype.toTimeString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -55,13 +55,13 @@ Date.prototype.toTimeString(); >prototype : Date > : ^^^^ >toTimeString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ Date.prototype.toLocaleString(); >Date.prototype.toLocaleString() : string > : ^^^^^^ >Date.prototype.toLocaleString : { (): string; (locales?: string | string[], options?: Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -69,13 +69,13 @@ Date.prototype.toLocaleString(); >prototype : Date > : ^^^^ >toLocaleString : { (): string; (locales?: string | string[], options?: Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ Date.prototype.toLocaleDateString(); >Date.prototype.toLocaleDateString() : string > : ^^^^^^ >Date.prototype.toLocaleDateString : { (): string; (locales?: string | string[], options?: Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -83,13 +83,13 @@ Date.prototype.toLocaleDateString(); >prototype : Date > : ^^^^ >toLocaleDateString : { (): string; (locales?: string | string[], options?: Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ Date.prototype.toLocaleTimeString(); >Date.prototype.toLocaleTimeString() : string > : ^^^^^^ >Date.prototype.toLocaleTimeString : { (): string; (locales?: string | string[], options?: Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -97,13 +97,13 @@ Date.prototype.toLocaleTimeString(); >prototype : Date > : ^^^^ >toLocaleTimeString : { (): string; (locales?: string | string[], options?: Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ Date.prototype.valueOf(); >Date.prototype.valueOf() : number > : ^^^^^^ >Date.prototype.valueOf : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -111,13 +111,13 @@ Date.prototype.valueOf(); >prototype : Date > : ^^^^ >valueOf : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ Date.prototype.getTime(); >Date.prototype.getTime() : number > : ^^^^^^ >Date.prototype.getTime : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -125,13 +125,13 @@ Date.prototype.getTime(); >prototype : Date > : ^^^^ >getTime : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ Date.prototype.getFullYear(); >Date.prototype.getFullYear() : number > : ^^^^^^ >Date.prototype.getFullYear : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -139,13 +139,13 @@ Date.prototype.getFullYear(); >prototype : Date > : ^^^^ >getFullYear : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ Date.prototype.getUTCFullYear(); >Date.prototype.getUTCFullYear() : number > : ^^^^^^ >Date.prototype.getUTCFullYear : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -153,13 +153,13 @@ Date.prototype.getUTCFullYear(); >prototype : Date > : ^^^^ >getUTCFullYear : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ Date.prototype.getMonth(); >Date.prototype.getMonth() : number > : ^^^^^^ >Date.prototype.getMonth : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -167,13 +167,13 @@ Date.prototype.getMonth(); >prototype : Date > : ^^^^ >getMonth : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ Date.prototype.getUTCMonth(); >Date.prototype.getUTCMonth() : number > : ^^^^^^ >Date.prototype.getUTCMonth : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -181,13 +181,13 @@ Date.prototype.getUTCMonth(); >prototype : Date > : ^^^^ >getUTCMonth : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ Date.prototype.getDate(); >Date.prototype.getDate() : number > : ^^^^^^ >Date.prototype.getDate : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -195,13 +195,13 @@ Date.prototype.getDate(); >prototype : Date > : ^^^^ >getDate : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ Date.prototype.getUTCDate(); >Date.prototype.getUTCDate() : number > : ^^^^^^ >Date.prototype.getUTCDate : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -209,13 +209,13 @@ Date.prototype.getUTCDate(); >prototype : Date > : ^^^^ >getUTCDate : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ Date.prototype.getDay(); >Date.prototype.getDay() : number > : ^^^^^^ >Date.prototype.getDay : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -223,13 +223,13 @@ Date.prototype.getDay(); >prototype : Date > : ^^^^ >getDay : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ Date.prototype.getUTCDay(); >Date.prototype.getUTCDay() : number > : ^^^^^^ >Date.prototype.getUTCDay : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -237,13 +237,13 @@ Date.prototype.getUTCDay(); >prototype : Date > : ^^^^ >getUTCDay : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ Date.prototype.getHours(); >Date.prototype.getHours() : number > : ^^^^^^ >Date.prototype.getHours : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -251,13 +251,13 @@ Date.prototype.getHours(); >prototype : Date > : ^^^^ >getHours : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ Date.prototype.getUTCHours(); >Date.prototype.getUTCHours() : number > : ^^^^^^ >Date.prototype.getUTCHours : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -265,13 +265,13 @@ Date.prototype.getUTCHours(); >prototype : Date > : ^^^^ >getUTCHours : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ Date.prototype.getMinutes(); >Date.prototype.getMinutes() : number > : ^^^^^^ >Date.prototype.getMinutes : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -279,13 +279,13 @@ Date.prototype.getMinutes(); >prototype : Date > : ^^^^ >getMinutes : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ Date.prototype.getUTCMinutes(); >Date.prototype.getUTCMinutes() : number > : ^^^^^^ >Date.prototype.getUTCMinutes : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -293,13 +293,13 @@ Date.prototype.getUTCMinutes(); >prototype : Date > : ^^^^ >getUTCMinutes : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ Date.prototype.getSeconds(); >Date.prototype.getSeconds() : number > : ^^^^^^ >Date.prototype.getSeconds : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -307,13 +307,13 @@ Date.prototype.getSeconds(); >prototype : Date > : ^^^^ >getSeconds : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ Date.prototype.getUTCSeconds(); >Date.prototype.getUTCSeconds() : number > : ^^^^^^ >Date.prototype.getUTCSeconds : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -321,13 +321,13 @@ Date.prototype.getUTCSeconds(); >prototype : Date > : ^^^^ >getUTCSeconds : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ Date.prototype.getMilliseconds(); >Date.prototype.getMilliseconds() : number > : ^^^^^^ >Date.prototype.getMilliseconds : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -335,13 +335,13 @@ Date.prototype.getMilliseconds(); >prototype : Date > : ^^^^ >getMilliseconds : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ Date.prototype.getUTCMilliseconds(); >Date.prototype.getUTCMilliseconds() : number > : ^^^^^^ >Date.prototype.getUTCMilliseconds : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -349,13 +349,13 @@ Date.prototype.getUTCMilliseconds(); >prototype : Date > : ^^^^ >getUTCMilliseconds : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ Date.prototype.getTimezoneOffset(); >Date.prototype.getTimezoneOffset() : number > : ^^^^^^ >Date.prototype.getTimezoneOffset : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -363,13 +363,13 @@ Date.prototype.getTimezoneOffset(); >prototype : Date > : ^^^^ >getTimezoneOffset : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ Date.prototype.setTime(0); >Date.prototype.setTime(0) : number > : ^^^^^^ >Date.prototype.setTime : (time: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -377,7 +377,7 @@ Date.prototype.setTime(0); >prototype : Date > : ^^^^ >setTime : (time: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ @@ -385,7 +385,7 @@ Date.prototype.setMilliseconds(0); >Date.prototype.setMilliseconds(0) : number > : ^^^^^^ >Date.prototype.setMilliseconds : (ms: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -393,7 +393,7 @@ Date.prototype.setMilliseconds(0); >prototype : Date > : ^^^^ >setMilliseconds : (ms: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ @@ -401,7 +401,7 @@ Date.prototype.setUTCMilliseconds(0); >Date.prototype.setUTCMilliseconds(0) : number > : ^^^^^^ >Date.prototype.setUTCMilliseconds : (ms: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -409,7 +409,7 @@ Date.prototype.setUTCMilliseconds(0); >prototype : Date > : ^^^^ >setUTCMilliseconds : (ms: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ @@ -417,7 +417,7 @@ Date.prototype.setSeconds(0); >Date.prototype.setSeconds(0) : number > : ^^^^^^ >Date.prototype.setSeconds : (sec: number, ms?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -425,7 +425,7 @@ Date.prototype.setSeconds(0); >prototype : Date > : ^^^^ >setSeconds : (sec: number, ms?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -433,7 +433,7 @@ Date.prototype.setUTCSeconds(0); >Date.prototype.setUTCSeconds(0) : number > : ^^^^^^ >Date.prototype.setUTCSeconds : (sec: number, ms?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -441,7 +441,7 @@ Date.prototype.setUTCSeconds(0); >prototype : Date > : ^^^^ >setUTCSeconds : (sec: number, ms?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -449,7 +449,7 @@ Date.prototype.setMinutes(0); >Date.prototype.setMinutes(0) : number > : ^^^^^^ >Date.prototype.setMinutes : (min: number, sec?: number, ms?: number) => number -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -457,7 +457,7 @@ Date.prototype.setMinutes(0); >prototype : Date > : ^^^^ >setMinutes : (min: number, sec?: number, ms?: number) => number -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -465,7 +465,7 @@ Date.prototype.setUTCMinutes(0); >Date.prototype.setUTCMinutes(0) : number > : ^^^^^^ >Date.prototype.setUTCMinutes : (min: number, sec?: number, ms?: number) => number -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -473,7 +473,7 @@ Date.prototype.setUTCMinutes(0); >prototype : Date > : ^^^^ >setUTCMinutes : (min: number, sec?: number, ms?: number) => number -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -481,7 +481,7 @@ Date.prototype.setHours(0); >Date.prototype.setHours(0) : number > : ^^^^^^ >Date.prototype.setHours : (hours: number, min?: number, sec?: number, ms?: number) => number -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -489,7 +489,7 @@ Date.prototype.setHours(0); >prototype : Date > : ^^^^ >setHours : (hours: number, min?: number, sec?: number, ms?: number) => number -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -497,7 +497,7 @@ Date.prototype.setUTCHours(0); >Date.prototype.setUTCHours(0) : number > : ^^^^^^ >Date.prototype.setUTCHours : (hours: number, min?: number, sec?: number, ms?: number) => number -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -505,7 +505,7 @@ Date.prototype.setUTCHours(0); >prototype : Date > : ^^^^ >setUTCHours : (hours: number, min?: number, sec?: number, ms?: number) => number -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -513,7 +513,7 @@ Date.prototype.setDate(0); >Date.prototype.setDate(0) : number > : ^^^^^^ >Date.prototype.setDate : (date: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -521,7 +521,7 @@ Date.prototype.setDate(0); >prototype : Date > : ^^^^ >setDate : (date: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ @@ -529,7 +529,7 @@ Date.prototype.setUTCDate(0); >Date.prototype.setUTCDate(0) : number > : ^^^^^^ >Date.prototype.setUTCDate : (date: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -537,7 +537,7 @@ Date.prototype.setUTCDate(0); >prototype : Date > : ^^^^ >setUTCDate : (date: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ @@ -545,7 +545,7 @@ Date.prototype.setMonth(0); >Date.prototype.setMonth(0) : number > : ^^^^^^ >Date.prototype.setMonth : (month: number, date?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -553,7 +553,7 @@ Date.prototype.setMonth(0); >prototype : Date > : ^^^^ >setMonth : (month: number, date?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -561,7 +561,7 @@ Date.prototype.setUTCMonth(0); >Date.prototype.setUTCMonth(0) : number > : ^^^^^^ >Date.prototype.setUTCMonth : (month: number, date?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -569,7 +569,7 @@ Date.prototype.setUTCMonth(0); >prototype : Date > : ^^^^ >setUTCMonth : (month: number, date?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -577,7 +577,7 @@ Date.prototype.setFullYear(0); >Date.prototype.setFullYear(0) : number > : ^^^^^^ >Date.prototype.setFullYear : (year: number, month?: number, date?: number) => number -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -585,7 +585,7 @@ Date.prototype.setFullYear(0); >prototype : Date > : ^^^^ >setFullYear : (year: number, month?: number, date?: number) => number -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -593,7 +593,7 @@ Date.prototype.setUTCFullYear(0); >Date.prototype.setUTCFullYear(0) : number > : ^^^^^^ >Date.prototype.setUTCFullYear : (year: number, month?: number, date?: number) => number -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -601,7 +601,7 @@ Date.prototype.setUTCFullYear(0); >prototype : Date > : ^^^^ >setUTCFullYear : (year: number, month?: number, date?: number) => number -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -609,7 +609,7 @@ Date.prototype.toUTCString(); >Date.prototype.toUTCString() : string > : ^^^^^^ >Date.prototype.toUTCString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -617,13 +617,13 @@ Date.prototype.toUTCString(); >prototype : Date > : ^^^^ >toUTCString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ Date.prototype.toISOString(); >Date.prototype.toISOString() : string > : ^^^^^^ >Date.prototype.toISOString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -631,13 +631,13 @@ Date.prototype.toISOString(); >prototype : Date > : ^^^^ >toISOString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ Date.prototype.toJSON(null); >Date.prototype.toJSON(null) : string > : ^^^^^^ >Date.prototype.toJSON : (key?: any) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Date.prototype : Date > : ^^^^ >Date : DateConstructor @@ -645,5 +645,5 @@ Date.prototype.toJSON(null); >prototype : Date > : ^^^^ >toJSON : (key?: any) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/library_ObjectPrototypeProperties.types b/tests/baselines/reference/library_ObjectPrototypeProperties.types index 623fd826c36e5..b3795c7acb782 100644 --- a/tests/baselines/reference/library_ObjectPrototypeProperties.types +++ b/tests/baselines/reference/library_ObjectPrototypeProperties.types @@ -19,7 +19,7 @@ Object.prototype.toString(); >Object.prototype.toString() : string > : ^^^^^^ >Object.prototype.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Object.prototype : Object > : ^^^^^^ >Object : ObjectConstructor @@ -27,13 +27,13 @@ Object.prototype.toString(); >prototype : Object > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ Object.prototype.toLocaleString(); >Object.prototype.toLocaleString() : string > : ^^^^^^ >Object.prototype.toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Object.prototype : Object > : ^^^^^^ >Object : ObjectConstructor @@ -41,13 +41,13 @@ Object.prototype.toLocaleString(); >prototype : Object > : ^^^^^^ >toLocaleString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ Object.prototype.valueOf(); >Object.prototype.valueOf() : Object > : ^^^^^^ >Object.prototype.valueOf : () => Object -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Object.prototype : Object > : ^^^^^^ >Object : ObjectConstructor @@ -55,13 +55,13 @@ Object.prototype.valueOf(); >prototype : Object > : ^^^^^^ >valueOf : () => Object -> : ^^^^^^^^^^^^ +> : ^^^^^^ Object.prototype.hasOwnProperty("string"); >Object.prototype.hasOwnProperty("string") : boolean > : ^^^^^^^ >Object.prototype.hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Object.prototype : Object > : ^^^^^^ >Object : ObjectConstructor @@ -69,7 +69,7 @@ Object.prototype.hasOwnProperty("string"); >prototype : Object > : ^^^^^^ >hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"string" : "string" > : ^^^^^^^^ @@ -77,7 +77,7 @@ Object.prototype.isPrototypeOf(Object); >Object.prototype.isPrototypeOf(Object) : boolean > : ^^^^^^^ >Object.prototype.isPrototypeOf : (v: Object) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Object.prototype : Object > : ^^^^^^ >Object : ObjectConstructor @@ -85,7 +85,7 @@ Object.prototype.isPrototypeOf(Object); >prototype : Object > : ^^^^^^ >isPrototypeOf : (v: Object) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ @@ -93,7 +93,7 @@ Object.prototype.propertyIsEnumerable("string"); >Object.prototype.propertyIsEnumerable("string") : boolean > : ^^^^^^^ >Object.prototype.propertyIsEnumerable : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Object.prototype : Object > : ^^^^^^ >Object : ObjectConstructor @@ -101,7 +101,7 @@ Object.prototype.propertyIsEnumerable("string"); >prototype : Object > : ^^^^^^ >propertyIsEnumerable : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"string" : "string" > : ^^^^^^^^ diff --git a/tests/baselines/reference/library_RegExpExecArraySlice.types b/tests/baselines/reference/library_RegExpExecArraySlice.types index 8a59c84086582..7e80612e32faa 100644 --- a/tests/baselines/reference/library_RegExpExecArraySlice.types +++ b/tests/baselines/reference/library_RegExpExecArraySlice.types @@ -10,21 +10,21 @@ regExpExecArrayValue.slice(); >regExpExecArrayValue.slice() : string[] > : ^^^^^^^^ >regExpExecArrayValue.slice : (start?: number, end?: number) => string[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >regExpExecArrayValue : RegExpExecArray > : ^^^^^^^^^^^^^^^ >slice : (start?: number, end?: number) => string[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ regExpExecArrayValue.slice(0); >regExpExecArrayValue.slice(0) : string[] > : ^^^^^^^^ >regExpExecArrayValue.slice : (start?: number, end?: number) => string[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >regExpExecArrayValue : RegExpExecArray > : ^^^^^^^^^^^^^^^ >slice : (start?: number, end?: number) => string[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >0 : 0 > : ^ @@ -32,11 +32,11 @@ regExpExecArrayValue.slice(0,1); >regExpExecArrayValue.slice(0,1) : string[] > : ^^^^^^^^ >regExpExecArrayValue.slice : (start?: number, end?: number) => string[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >regExpExecArrayValue : RegExpExecArray > : ^^^^^^^^^^^^^^^ >slice : (start?: number, end?: number) => string[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >0 : 0 > : ^ >1 : 1 diff --git a/tests/baselines/reference/library_StringSlice.types b/tests/baselines/reference/library_StringSlice.types index 3633c450aad83..e72f564759d6a 100644 --- a/tests/baselines/reference/library_StringSlice.types +++ b/tests/baselines/reference/library_StringSlice.types @@ -6,7 +6,7 @@ String.prototype.slice(); >String.prototype.slice() : string > : ^^^^^^ >String.prototype.slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >String.prototype : String > : ^^^^^^ >String : StringConstructor @@ -14,13 +14,13 @@ String.prototype.slice(); >prototype : String > : ^^^^^^ >slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ String.prototype.slice(0); >String.prototype.slice(0) : string > : ^^^^^^ >String.prototype.slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >String.prototype : String > : ^^^^^^ >String : StringConstructor @@ -28,7 +28,7 @@ String.prototype.slice(0); >prototype : String > : ^^^^^^ >slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -36,7 +36,7 @@ String.prototype.slice(0,1); >String.prototype.slice(0,1) : string > : ^^^^^^ >String.prototype.slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >String.prototype : String > : ^^^^^^ >String : StringConstructor @@ -44,7 +44,7 @@ String.prototype.slice(0,1); >prototype : String > : ^^^^^^ >slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ >1 : 1 diff --git a/tests/baselines/reference/linkTagEmit1.js b/tests/baselines/reference/linkTagEmit1.js index 0fe024f665afa..9c847515badd2 100644 --- a/tests/baselines/reference/linkTagEmit1.js +++ b/tests/baselines/reference/linkTagEmit1.js @@ -63,7 +63,7 @@ declare var see3: boolean; type N = number; type D1 = { /** - * Just link to {@link NS.R } this time + * Just link to {@link NS.R} this time */ e: 1; /** diff --git a/tests/baselines/reference/listFailure.types b/tests/baselines/reference/listFailure.types index 4e66bb1d75055..1fbd3a017e557 100644 --- a/tests/baselines/reference/listFailure.types +++ b/tests/baselines/reference/listFailure.types @@ -15,7 +15,7 @@ module Editor { >ListMakeHead() : List > : ^^^^^^^^^^ >ListMakeHead : () => List -> : ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ addLine(lineText: string): List { >addLine : (lineText: string) => List @@ -37,7 +37,7 @@ module Editor { >this.lines.add(line) : List > : ^^^^^^^^^^ >this.lines.add : (data: Line) => List -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^^^^ >this.lines : List > : ^^^^^^^^^^ >this : this @@ -45,7 +45,7 @@ module Editor { >lines : List > : ^^^^^^^^^^ >add : (data: Line) => List -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^^^^ >line : Line > : ^^^^ @@ -108,7 +108,7 @@ module Editor { >ListMakeEntry(data) : List > : ^^^^^^^ >ListMakeEntry : (data: U) => List -> : ^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >data : T > : ^ @@ -133,7 +133,7 @@ module Editor { >ListRemoveEntry(this.next) : List > : ^^^^^^^ >ListRemoveEntry : (entry: List) => List -> : ^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >this.next : List > : ^^^^^^^ >this : this diff --git a/tests/baselines/reference/literalFreshnessPropagationOnNarrowing.types b/tests/baselines/reference/literalFreshnessPropagationOnNarrowing.types index 91bc3ff747560..a2a7572599f0f 100644 --- a/tests/baselines/reference/literalFreshnessPropagationOnNarrowing.types +++ b/tests/baselines/reference/literalFreshnessPropagationOnNarrowing.types @@ -97,11 +97,11 @@ function f2() { >Array.isArray(elOrA) : boolean > : ^^^^^^^ >Array.isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >elOrA : (string | false) | (string | false)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >elOrA : (string | false)[] @@ -126,11 +126,11 @@ function f2() { >Array.isArray(elOrA) : boolean > : ^^^^^^^ >Array.isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >elOrA : (string | false) | (string | false)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >elOrA : (string | false)[] diff --git a/tests/baselines/reference/literalTypeNameAssertionNotTriggered.types b/tests/baselines/reference/literalTypeNameAssertionNotTriggered.types index 538f323d349d2..9521d5c2e6726 100644 --- a/tests/baselines/reference/literalTypeNameAssertionNotTriggered.types +++ b/tests/baselines/reference/literalTypeNameAssertionNotTriggered.types @@ -17,7 +17,7 @@ f(a, ""); >f(a, "") : void > : ^^^^ >f : (obj: T, key: keyof T) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >a : typeof a > : ^^^^^^^^ >"" : "" diff --git a/tests/baselines/reference/literalTypeWidening.types b/tests/baselines/reference/literalTypeWidening.types index 7ed2683f468f1..112032c349d22 100644 --- a/tests/baselines/reference/literalTypeWidening.types +++ b/tests/baselines/reference/literalTypeWidening.types @@ -344,7 +344,7 @@ declare function widening(x: T): T; declare function nonWidening(x: T): T; >nonWidening : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : T > : ^ @@ -360,7 +360,7 @@ function f6(cond: boolean) { >widening('a') : "a" > : ^^^ >widening : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >'a' : "a" > : ^^^ @@ -370,7 +370,7 @@ function f6(cond: boolean) { >widening(10) : 10 > : ^^ >widening : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >10 : 10 > : ^^ @@ -380,7 +380,7 @@ function f6(cond: boolean) { >widening(cond ? 'a' : 10) : "a" | 10 > : ^^^^^^^^ >widening : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >cond ? 'a' : 10 : "a" | 10 > : ^^^^^^^^ >cond : boolean @@ -396,7 +396,7 @@ function f6(cond: boolean) { >nonWidening('a') : "a" > : ^^^ >nonWidening : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >'a' : "a" > : ^^^ @@ -406,7 +406,7 @@ function f6(cond: boolean) { >nonWidening(10) : 10 > : ^^ >nonWidening : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >10 : 10 > : ^^ @@ -416,7 +416,7 @@ function f6(cond: boolean) { >nonWidening(cond ? 'a' : 10) : "a" | 10 > : ^^^^^^^^ >nonWidening : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >cond ? 'a' : 10 : "a" | 10 > : ^^^^^^^^ >cond : boolean @@ -463,8 +463,8 @@ function isSuccess(result: Result): result is T { > : ^^^^^^^ >isFailure(result) : boolean > : ^^^^^^^ ->isFailure : (result: Result) => result is "FAILURE" -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +>isFailure : (result: Result) => result is FAILURE +> : ^ ^^ ^^ ^^^^^ >result : Result > : ^^^^^^^^^ } @@ -505,13 +505,13 @@ let result = doWork(); >doWork() : Result > : ^^^^^^^^^^^^^^ >doWork : () => Result -> : ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ if (isSuccess(result)) { >isSuccess(result) : boolean > : ^^^^^^^ >isSuccess : (result: Result) => result is T -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >result : Result > : ^^^^^^^^^^^^^^ @@ -519,7 +519,7 @@ if (isSuccess(result)) { >increment(result) : number > : ^^^^^^ >increment : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >result : number > : ^^^^^^ } @@ -542,13 +542,13 @@ let x = onMouseOver(); >onMouseOver() : TestEvent > : ^^^^^^^^^ >onMouseOver : () => TestEvent -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ // Repro from #23649 export function Set(...keys: K[]): Record { >Set : (...keys: K[]) => Record -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >keys : K[] > : ^^^ >true : true @@ -568,11 +568,11 @@ export function Set(...keys: K[]): Record >keys.forEach(key => result[key] = true) : void > : ^^^^ >keys.forEach : (callbackfn: (value: K, index: number, array: K[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^^^ >keys : K[] > : ^^^ >forEach : (callbackfn: (value: K, index: number, array: K[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^^^ >key => result[key] = true : (key: K) => boolean > : ^ ^^^^^^^^^^^^^^^ >key : K @@ -595,7 +595,7 @@ export function Set(...keys: K[]): Record export function keys(obj: Record): K[] { >keys : (obj: Record) => K[] -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ >obj : Record > : ^^^^^^^^^^^^ @@ -605,11 +605,11 @@ export function keys(obj: Record): K[] { >Object.keys(obj) : string[] > : ^^^^^^^^ >Object.keys : (o: object) => string[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >keys : (o: object) => string[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >obj : Record > : ^^^^^^^^^^^^ } @@ -625,8 +625,8 @@ const langCodeSet = Set('fr', 'en', 'es', 'it', 'nl') > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Set('fr', 'en', 'es', 'it', 'nl') : Record<"fr" | "en" | "es" | "it" | "nl", true> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->Set : (...keys: K[]) => Record -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +>Set : (...keys: K[]) => Record +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >'fr' : "fr" > : ^^^^ >'en' : "en" @@ -650,7 +650,7 @@ export const langCodes = keys(langCodeSet) >keys(langCodeSet) : ("fr" | "en" | "es" | "it" | "nl")[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >keys : (obj: Record) => K[] -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ >langCodeSet : Record<"fr" | "en" | "es" | "it" | "nl", true> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -660,11 +660,11 @@ const arr: Obj[] = langCodes.map(code => ({ code })) >langCodes.map(code => ({ code })) : { code: "fr" | "en" | "es" | "it" | "nl"; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >langCodes.map : (callbackfn: (value: "fr" | "en" | "es" | "it" | "nl", index: number, array: ("fr" | "en" | "es" | "it" | "nl")[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >langCodes : ("fr" | "en" | "es" | "it" | "nl")[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >map : (callbackfn: (value: "fr" | "en" | "es" | "it" | "nl", index: number, array: ("fr" | "en" | "es" | "it" | "nl")[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >code => ({ code }) : (code: "fr" | "en" | "es" | "it" | "nl") => { code: "fr" | "en" | "es" | "it" | "nl"; } > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >code : "fr" | "en" | "es" | "it" | "nl" @@ -680,7 +680,7 @@ const arr: Obj[] = langCodes.map(code => ({ code })) function test(obj: T): T { >test : (obj: T) => T -> : ^ ^^^^^^^^^^^^^^ ^^^^^ ^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a : string > : ^^^^^^ >b : string @@ -731,7 +731,7 @@ const a = f(E.A); >f(E.A) : E.A > : ^^^ >f : (x: T) => NonNullable -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >E.A : E.A > : ^^^ >E : typeof E diff --git a/tests/baselines/reference/literalTypes2.types b/tests/baselines/reference/literalTypes2.types index 0d098ffbbe193..45b897c5e5584 100644 --- a/tests/baselines/reference/literalTypes2.types +++ b/tests/baselines/reference/literalTypes2.types @@ -442,13 +442,13 @@ function f3() { const c8 = cond ? c6 : cond ? c7 : "hello"; >c8 : { kind: 123; } | [1 | 2, "foo" | "bar"] | "hello" -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >cond ? c6 : cond ? c7 : "hello" : { kind: 123; } | [1 | 2, "foo" | "bar"] | "hello" -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >cond : boolean > : ^^^^^^^ >c6 : { kind: 123; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >cond ? c7 : "hello" : [1 | 2, "foo" | "bar"] | "hello" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >cond : boolean @@ -490,9 +490,9 @@ function f3() { let x6 = c6; >x6 : { kind: 123; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >c6 : { kind: 123; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ let x7 = c7; >x7 : [1 | 2, "foo" | "bar"] @@ -502,9 +502,9 @@ function f3() { let x8 = c8; >x8 : string | { kind: 123; } | [1 | 2, "foo" | "bar"] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >c8 : { kind: 123; } | [1 | 2, "foo" | "bar"] | "hello" -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } class C1 { @@ -997,7 +997,7 @@ declare function g4(x: T): T[]; declare function g5(x: T, y: T): T[]; >g5 : (x: T, y: T) => T[] -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T > : ^ >y : T @@ -1041,7 +1041,7 @@ const x1 = g1(1); // Type 1 >g1(1) : 1 > : ^ >g1 : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >1 : 1 > : ^ @@ -1051,7 +1051,7 @@ const x2 = g2(1, 1); // Type 1 >g2(1, 1) : 1 > : ^ >g2 : (x: T, y: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >1 : 1 @@ -1063,7 +1063,7 @@ const x3 = g2(1, 2); // Type 1 | 2 >g2(1, 2) : 1 | 2 > : ^^^^^ >g2 : (x: T, y: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -1075,7 +1075,7 @@ const x4 = g3(1, "two"); // Type 1 | "two" >g3(1, "two") : 1 | "two" > : ^^^^^^^^^ >g3 : (x: T, y: U) => T | U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >"two" : "two" @@ -1087,7 +1087,7 @@ const x5 = g4(1); // Type number[] >g4(1) : number[] > : ^^^^^^^^ >g4 : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >1 : 1 > : ^ @@ -1097,7 +1097,7 @@ const x6 = g5(1, 2); // Type (1 | 2)[] >g5(1, 2) : (1 | 2)[] > : ^^^^^^^^^ >g5 : (x: T, y: T) => T[] -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -1109,7 +1109,7 @@ const x7 = g6([1, 2]); // Type number >g6([1, 2]) : number > : ^^^^^^ >g6 : (x: T[]) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >[1, 2] : number[] > : ^^^^^^^^ >1 : 1 @@ -1123,7 +1123,7 @@ const x8 = g6(a); // Type 1 | 2 >g6(a) : 1 | 2 > : ^^^^^ >g6 : (x: T[]) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a : (1 | 2)[] > : ^^^^^^^^^ @@ -1133,7 +1133,7 @@ const x9 = g7(a); // Type (1 | 2)[] >g7(a) : (1 | 2)[] > : ^^^^^^^^^ >g7 : (x: T[]) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a : (1 | 2)[] > : ^^^^^^^^^ @@ -1143,7 +1143,7 @@ const x10 = g8(1, x => x); // Type number >g8(1, x => x) : number > : ^^^^^^ >g8 : (x: T, f: (p: T) => T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >x => x : (x: number) => number @@ -1159,7 +1159,7 @@ const x11 = g8(1, x => x + 1); // Type number >g8(1, x => x + 1) : number > : ^^^^^^ >g8 : (x: T, f: (p: T) => T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >x => x + 1 : (x: number) => number @@ -1200,21 +1200,21 @@ function append(a: T[], x: T): T[] { >a.slice() : T[] > : ^^^ >a.slice : (start?: number, end?: number) => T[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^ >a : T[] > : ^^^ >slice : (start?: number, end?: number) => T[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^ result.push(x); >result.push(x) : number > : ^^^^^^ >result.push : (...items: T[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^ >result : T[] > : ^^^ >push : (...items: T[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^ >x : T > : ^ @@ -1233,7 +1233,7 @@ let aa = makeArray(0); >makeArray(0) : Bit[] > : ^^^^^ >makeArray : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >0 : 0 > : ^ @@ -1245,7 +1245,7 @@ aa = append(aa, 1); >append(aa, 1) : Bit[] > : ^^^^^ >append : (a: T[], x: T) => T[] -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >aa : Bit[] > : ^^^^^ >1 : 1 diff --git a/tests/baselines/reference/literalTypesAndDestructuring.types b/tests/baselines/reference/literalTypesAndDestructuring.types index 3fceaf1d4b2b3..81f7a7b7aba55 100644 --- a/tests/baselines/reference/literalTypesAndDestructuring.types +++ b/tests/baselines/reference/literalTypesAndDestructuring.types @@ -13,7 +13,7 @@ let { a: a1 } = x; >a1 : 0 | 1 | undefined > : ^^^^^^^^^^^^^^^^^ >x : { a: 0 | 1 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ let { a: a2 = 0 } = x; >a : any @@ -23,7 +23,7 @@ let { a: a2 = 0 } = x; >0 : 0 > : ^ >x : { a: 0 | 1 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ let { a: a3 = 2 } = x; >a : any @@ -33,7 +33,7 @@ let { a: a3 = 2 } = x; >2 : 2 > : ^ >x : { a: 0 | 1 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ let { a: a4 = 2 as const } = x; >a : any @@ -45,7 +45,7 @@ let { a: a4 = 2 as const } = x; >2 : 2 > : ^ >x : { a: 0 | 1 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ let b1 = x.a; >b1 : 0 | 1 | undefined @@ -53,7 +53,7 @@ let b1 = x.a; >x.a : 0 | 1 | undefined > : ^^^^^^^^^^^^^^^^^ >x : { a: 0 | 1 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : 0 | 1 | undefined > : ^^^^^^^^^^^^^^^^^ @@ -65,7 +65,7 @@ let b2 = x.a ?? 0; >x.a : 0 | 1 | undefined > : ^^^^^^^^^^^^^^^^^ >x : { a: 0 | 1 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : 0 | 1 | undefined > : ^^^^^^^^^^^^^^^^^ >0 : 0 @@ -79,7 +79,7 @@ let b3 = x.a ?? 2; >x.a : 0 | 1 | undefined > : ^^^^^^^^^^^^^^^^^ >x : { a: 0 | 1 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : 0 | 1 | undefined > : ^^^^^^^^^^^^^^^^^ >2 : 2 @@ -93,7 +93,7 @@ let b4 = x.a ?? 2 as const; >x.a : 0 | 1 | undefined > : ^^^^^^^^^^^^^^^^^ >x : { a: 0 | 1 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : 0 | 1 | undefined > : ^^^^^^^^^^^^^^^^^ >2 as const : 2 diff --git a/tests/baselines/reference/literals-negative.types b/tests/baselines/reference/literals-negative.types index 737b909d6b306..be93b1e8ee9ff 100644 --- a/tests/baselines/reference/literals-negative.types +++ b/tests/baselines/reference/literals-negative.types @@ -40,5 +40,5 @@ if(null === isVoid()) { } >isVoid() : void > : ^^^^ >isVoid : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/literalsInComputedProperties1.types b/tests/baselines/reference/literalsInComputedProperties1.types index 646e7337d9faa..3df57877b2b03 100644 --- a/tests/baselines/reference/literalsInComputedProperties1.types +++ b/tests/baselines/reference/literalsInComputedProperties1.types @@ -39,7 +39,7 @@ x[1].toExponential(); >x[1].toExponential() : string > : ^^^^^^ >x[1].toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x[1] : number > : ^^^^^^ >x : { 1: number; 2: number; "3": number; "4": number; } @@ -47,13 +47,13 @@ x[1].toExponential(); >1 : 1 > : ^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ x[2].toExponential(); >x[2].toExponential() : string > : ^^^^^^ >x[2].toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x[2] : number > : ^^^^^^ >x : { 1: number; 2: number; "3": number; "4": number; } @@ -61,13 +61,13 @@ x[2].toExponential(); >2 : 2 > : ^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ x[3].toExponential(); >x[3].toExponential() : string > : ^^^^^^ >x[3].toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x[3] : number > : ^^^^^^ >x : { 1: number; 2: number; "3": number; "4": number; } @@ -75,13 +75,13 @@ x[3].toExponential(); >3 : 3 > : ^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ x[4].toExponential(); >x[4].toExponential() : string > : ^^^^^^ >x[4].toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x[4] : number > : ^^^^^^ >x : { 1: number; 2: number; "3": number; "4": number; } @@ -89,7 +89,7 @@ x[4].toExponential(); >4 : 4 > : ^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ interface A { 1:number; @@ -121,7 +121,7 @@ y[1].toExponential(); >y[1].toExponential() : string > : ^^^^^^ >y[1].toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >y[1] : number > : ^^^^^^ >y : A @@ -129,13 +129,13 @@ y[1].toExponential(); >1 : 1 > : ^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ y[2].toExponential(); >y[2].toExponential() : string > : ^^^^^^ >y[2].toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >y[2] : number > : ^^^^^^ >y : A @@ -143,13 +143,13 @@ y[2].toExponential(); >2 : 2 > : ^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ y[3].toExponential(); >y[3].toExponential() : string > : ^^^^^^ >y[3].toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >y[3] : number > : ^^^^^^ >y : A @@ -157,13 +157,13 @@ y[3].toExponential(); >3 : 3 > : ^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ y[4].toExponential(); >y[4].toExponential() : string > : ^^^^^^ >y[4].toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >y[4] : number > : ^^^^^^ >y : A @@ -171,7 +171,7 @@ y[4].toExponential(); >4 : 4 > : ^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ class C { >C : C @@ -206,7 +206,7 @@ z[1].toExponential(); >z[1].toExponential() : string > : ^^^^^^ >z[1].toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >z[1] : number > : ^^^^^^ >z : C @@ -214,13 +214,13 @@ z[1].toExponential(); >1 : 1 > : ^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ z[2].toExponential(); >z[2].toExponential() : string > : ^^^^^^ >z[2].toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >z[2] : number > : ^^^^^^ >z : C @@ -228,13 +228,13 @@ z[2].toExponential(); >2 : 2 > : ^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ z[3].toExponential(); >z[3].toExponential() : string > : ^^^^^^ >z[3].toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >z[3] : number > : ^^^^^^ >z : C @@ -242,13 +242,13 @@ z[3].toExponential(); >3 : 3 > : ^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ z[4].toExponential(); >z[4].toExponential() : string > : ^^^^^^ >z[4].toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >z[4] : number > : ^^^^^^ >z : C @@ -256,7 +256,7 @@ z[4].toExponential(); >4 : 4 > : ^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ enum X { >X : X diff --git a/tests/baselines/reference/localAliasExportAssignment.types b/tests/baselines/reference/localAliasExportAssignment.types index 9fe5e34fcedc1..115fe8f871df2 100644 --- a/tests/baselines/reference/localAliasExportAssignment.types +++ b/tests/baselines/reference/localAliasExportAssignment.types @@ -4,12 +4,12 @@ /// import connect = require('./localAliasExportAssignment_0'); >connect : () => any -> : ^^^^^^^^^ +> : ^^^^^^ connect(); >connect() : any >connect : () => any -> : ^^^^^^^^^ +> : ^^^^^^ @@ -23,5 +23,5 @@ var server: { export = server; >server : () => any -> : ^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/localClassesInLoop.types b/tests/baselines/reference/localClassesInLoop.types index 5fdeae578609f..94ce37206b3b4 100644 --- a/tests/baselines/reference/localClassesInLoop.types +++ b/tests/baselines/reference/localClassesInLoop.types @@ -40,11 +40,11 @@ for (let x = 0; x < 2; ++x) { >data.push(() => C) : number > : ^^^^^^ >data.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >data : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >() => C : () => typeof C > : ^^^^^^^^^^^^^^ >C : typeof C diff --git a/tests/baselines/reference/localClassesInLoop_ES6.types b/tests/baselines/reference/localClassesInLoop_ES6.types index 0c67ec33b67ea..53a65a36c1946 100644 --- a/tests/baselines/reference/localClassesInLoop_ES6.types +++ b/tests/baselines/reference/localClassesInLoop_ES6.types @@ -40,11 +40,11 @@ for (let x = 0; x < 2; ++x) { >data.push(() => C) : number > : ^^^^^^ >data.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >data : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >() => C : () => typeof C > : ^^^^^^^^^^^^^^ >C : typeof C diff --git a/tests/baselines/reference/localImportNameVsGlobalName.types b/tests/baselines/reference/localImportNameVsGlobalName.types index f4812318b56f9..c7cc11debb02c 100644 --- a/tests/baselines/reference/localImportNameVsGlobalName.types +++ b/tests/baselines/reference/localImportNameVsGlobalName.types @@ -40,7 +40,7 @@ module App { >foo(Key.UP) : void > : ^^^^ >foo : (key: Key) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >Key.UP : Key.UP > : ^^^^^^ >Key : typeof Key @@ -52,7 +52,7 @@ module App { >foo(Key.DOWN) : void > : ^^^^ >foo : (key: Key) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >Key.DOWN : Key.DOWN > : ^^^^^^^^ >Key : typeof Key @@ -64,7 +64,7 @@ module App { >foo(Key.LEFT) : void > : ^^^^ >foo : (key: Key) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >Key.LEFT : Key.LEFT > : ^^^^^^^^ >Key : typeof Key diff --git a/tests/baselines/reference/localTypeParameterInferencePriority.types b/tests/baselines/reference/localTypeParameterInferencePriority.types index 97c120d5450a2..5242030dda0ef 100644 --- a/tests/baselines/reference/localTypeParameterInferencePriority.types +++ b/tests/baselines/reference/localTypeParameterInferencePriority.types @@ -24,7 +24,7 @@ class Table { // Removing this line, removes the error getRows(): Array>> { >getRows : () => Array>> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ return null! >null! : null @@ -41,13 +41,13 @@ class ColumnSelectViewImp extends Table { } const ColumnSelectView1: new () => Table> = ColumnSelectViewImp; >ColumnSelectView1 : new () => Table> -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^^^^^^ >ColumnSelectViewImp : typeof ColumnSelectViewImp > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ const ColumnSelectView2: new () => Table> = Table; >ColumnSelectView2 : new () => Table> -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^^^^^^ >Table : typeof Table > : ^^^^^^^^^^^^ diff --git a/tests/baselines/reference/localTypes4.types b/tests/baselines/reference/localTypes4.types index 2f7a4499ec9d9..ed1791e737898 100644 --- a/tests/baselines/reference/localTypes4.types +++ b/tests/baselines/reference/localTypes4.types @@ -25,7 +25,7 @@ function f2() { // Local types are not in scope in parameters and return types function f(x: T): T { >f : (x: T) => T -> : ^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : T > : ^ diff --git a/tests/baselines/reference/localesObjectArgument.types b/tests/baselines/reference/localesObjectArgument.types index 2dc21166d8809..05d31c0d8599b 100644 --- a/tests/baselines/reference/localesObjectArgument.types +++ b/tests/baselines/reference/localesObjectArgument.types @@ -6,12 +6,12 @@ const enUS = new Intl.Locale("en-US"); > : ^^^^^^^^^^^ >new Intl.Locale("en-US") : Intl.Locale > : ^^^^^^^^^^^ ->Intl.Locale : new (tag: UnicodeBCP47LocaleIdentifier | Locale, options?: LocaleOptions) => Intl.Locale -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +>Intl.Locale : new (tag: Intl.UnicodeBCP47LocaleIdentifier | Intl.Locale, options?: Intl.LocaleOptions) => Intl.Locale +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->Locale : new (tag: UnicodeBCP47LocaleIdentifier | Locale, options?: LocaleOptions) => Intl.Locale -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +>Locale : new (tag: Intl.UnicodeBCP47LocaleIdentifier | Intl.Locale, options?: Intl.LocaleOptions) => Intl.Locale +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"en-US" : "en-US" > : ^^^^^^^ @@ -20,12 +20,12 @@ const deDE = new Intl.Locale("de-DE"); > : ^^^^^^^^^^^ >new Intl.Locale("de-DE") : Intl.Locale > : ^^^^^^^^^^^ ->Intl.Locale : new (tag: UnicodeBCP47LocaleIdentifier | Locale, options?: LocaleOptions) => Intl.Locale -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +>Intl.Locale : new (tag: Intl.UnicodeBCP47LocaleIdentifier | Intl.Locale, options?: Intl.LocaleOptions) => Intl.Locale +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->Locale : new (tag: UnicodeBCP47LocaleIdentifier | Locale, options?: LocaleOptions) => Intl.Locale -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +>Locale : new (tag: Intl.UnicodeBCP47LocaleIdentifier | Intl.Locale, options?: Intl.LocaleOptions) => Intl.Locale +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"de-DE" : "de-DE" > : ^^^^^^^ @@ -34,12 +34,12 @@ const jaJP = new Intl.Locale("ja-JP"); > : ^^^^^^^^^^^ >new Intl.Locale("ja-JP") : Intl.Locale > : ^^^^^^^^^^^ ->Intl.Locale : new (tag: UnicodeBCP47LocaleIdentifier | Locale, options?: LocaleOptions) => Intl.Locale -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +>Intl.Locale : new (tag: Intl.UnicodeBCP47LocaleIdentifier | Intl.Locale, options?: Intl.LocaleOptions) => Intl.Locale +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->Locale : new (tag: UnicodeBCP47LocaleIdentifier | Locale, options?: LocaleOptions) => Intl.Locale -> : ^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +>Locale : new (tag: Intl.UnicodeBCP47LocaleIdentifier | Intl.Locale, options?: Intl.LocaleOptions) => Intl.Locale +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"ja-JP" : "ja-JP" > : ^^^^^^^ @@ -83,11 +83,11 @@ now.toLocaleString(enUS); >now.toLocaleString(enUS) : string > : ^^^^^^ >now.toLocaleString : { (): string; (locales?: string | string[], options?: Intl.DateTimeFormatOptions): string; (locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ >now : Date > : ^^^^ >toLocaleString : { (): string; (locales?: string | string[], options?: Intl.DateTimeFormatOptions): string; (locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ >enUS : Intl.Locale > : ^^^^^^^^^^^ @@ -95,11 +95,11 @@ now.toLocaleDateString(enUS); >now.toLocaleDateString(enUS) : string > : ^^^^^^ >now.toLocaleDateString : { (): string; (locales?: string | string[], options?: Intl.DateTimeFormatOptions): string; (locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ >now : Date > : ^^^^ >toLocaleDateString : { (): string; (locales?: string | string[], options?: Intl.DateTimeFormatOptions): string; (locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ >enUS : Intl.Locale > : ^^^^^^^^^^^ @@ -107,11 +107,11 @@ now.toLocaleTimeString(enUS); >now.toLocaleTimeString(enUS) : string > : ^^^^^^ >now.toLocaleTimeString : { (): string; (locales?: string | string[], options?: Intl.DateTimeFormatOptions): string; (locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ >now : Date > : ^^^^ >toLocaleTimeString : { (): string; (locales?: string | string[], options?: Intl.DateTimeFormatOptions): string; (locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ >enUS : Intl.Locale > : ^^^^^^^^^^^ @@ -119,11 +119,11 @@ now.toLocaleString([deDE, jaJP]); >now.toLocaleString([deDE, jaJP]) : string > : ^^^^^^ >now.toLocaleString : { (): string; (locales?: string | string[], options?: Intl.DateTimeFormatOptions): string; (locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ >now : Date > : ^^^^ >toLocaleString : { (): string; (locales?: string | string[], options?: Intl.DateTimeFormatOptions): string; (locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ >[deDE, jaJP] : Intl.Locale[] > : ^^^^^^^^^^^^^ >deDE : Intl.Locale @@ -135,11 +135,11 @@ now.toLocaleDateString([deDE, jaJP]); >now.toLocaleDateString([deDE, jaJP]) : string > : ^^^^^^ >now.toLocaleDateString : { (): string; (locales?: string | string[], options?: Intl.DateTimeFormatOptions): string; (locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ >now : Date > : ^^^^ >toLocaleDateString : { (): string; (locales?: string | string[], options?: Intl.DateTimeFormatOptions): string; (locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ >[deDE, jaJP] : Intl.Locale[] > : ^^^^^^^^^^^^^ >deDE : Intl.Locale @@ -151,11 +151,11 @@ now.toLocaleTimeString([deDE, jaJP]); >now.toLocaleTimeString([deDE, jaJP]) : string > : ^^^^^^ >now.toLocaleTimeString : { (): string; (locales?: string | string[], options?: Intl.DateTimeFormatOptions): string; (locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ >now : Date > : ^^^^ >toLocaleTimeString : { (): string; (locales?: string | string[], options?: Intl.DateTimeFormatOptions): string; (locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string; } -> : ^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ >[deDE, jaJP] : Intl.Locale[] > : ^^^^^^^^^^^^^ >deDE : Intl.Locale @@ -167,11 +167,11 @@ num.toLocaleString(enUS); >num.toLocaleString(enUS) : string > : ^^^^^^ >num.toLocaleString : { (locales?: string | string[], options?: Intl.NumberFormatOptions): string; (locales?: Intl.LocalesArgument, options?: Intl.NumberFormatOptions): string; } -> : ^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ >num : 1000 > : ^^^^ >toLocaleString : { (locales?: string | string[], options?: Intl.NumberFormatOptions): string; (locales?: Intl.LocalesArgument, options?: Intl.NumberFormatOptions): string; } -> : ^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ >enUS : Intl.Locale > : ^^^^^^^^^^^ @@ -179,11 +179,11 @@ num.toLocaleString([deDE, jaJP]); >num.toLocaleString([deDE, jaJP]) : string > : ^^^^^^ >num.toLocaleString : { (locales?: string | string[], options?: Intl.NumberFormatOptions): string; (locales?: Intl.LocalesArgument, options?: Intl.NumberFormatOptions): string; } -> : ^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ >num : 1000 > : ^^^^ >toLocaleString : { (locales?: string | string[], options?: Intl.NumberFormatOptions): string; (locales?: Intl.LocalesArgument, options?: Intl.NumberFormatOptions): string; } -> : ^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ >[deDE, jaJP] : Intl.Locale[] > : ^^^^^^^^^^^^^ >deDE : Intl.Locale @@ -195,11 +195,11 @@ bigint.toLocaleString(enUS); >bigint.toLocaleString(enUS) : string > : ^^^^^^ >bigint.toLocaleString : (locales?: Intl.LocalesArgument, options?: BigIntToLocaleStringOptions) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >bigint : 123456789123456789n > : ^^^^^^^^^^^^^^^^^^^ >toLocaleString : (locales?: Intl.LocalesArgument, options?: BigIntToLocaleStringOptions) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >enUS : Intl.Locale > : ^^^^^^^^^^^ @@ -207,11 +207,11 @@ bigint.toLocaleString([deDE, jaJP]); >bigint.toLocaleString([deDE, jaJP]) : string > : ^^^^^^ >bigint.toLocaleString : (locales?: Intl.LocalesArgument, options?: BigIntToLocaleStringOptions) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >bigint : 123456789123456789n > : ^^^^^^^^^^^^^^^^^^^ >toLocaleString : (locales?: Intl.LocalesArgument, options?: BigIntToLocaleStringOptions) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >[deDE, jaJP] : Intl.Locale[] > : ^^^^^^^^^^^^^ >deDE : Intl.Locale @@ -223,11 +223,11 @@ str.toLocaleLowerCase(enUS); >str.toLocaleLowerCase(enUS) : string > : ^^^^^^ >str.toLocaleLowerCase : { (locales?: string | string[]): string; (locales?: Intl.LocalesArgument): string; } -> : ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ >str : "" > : ^^ >toLocaleLowerCase : { (locales?: string | string[]): string; (locales?: Intl.LocalesArgument): string; } -> : ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ >enUS : Intl.Locale > : ^^^^^^^^^^^ @@ -235,11 +235,11 @@ str.toLocaleLowerCase([deDE, jaJP]); >str.toLocaleLowerCase([deDE, jaJP]) : string > : ^^^^^^ >str.toLocaleLowerCase : { (locales?: string | string[]): string; (locales?: Intl.LocalesArgument): string; } -> : ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ >str : "" > : ^^ >toLocaleLowerCase : { (locales?: string | string[]): string; (locales?: Intl.LocalesArgument): string; } -> : ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ >[deDE, jaJP] : Intl.Locale[] > : ^^^^^^^^^^^^^ >deDE : Intl.Locale @@ -251,11 +251,11 @@ str.toLocaleUpperCase(enUS); >str.toLocaleUpperCase(enUS) : string > : ^^^^^^ >str.toLocaleUpperCase : { (locales?: string | string[]): string; (locales?: Intl.LocalesArgument): string; } -> : ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ >str : "" > : ^^ >toLocaleUpperCase : { (locales?: string | string[]): string; (locales?: Intl.LocalesArgument): string; } -> : ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ >enUS : Intl.Locale > : ^^^^^^^^^^^ @@ -263,11 +263,11 @@ str.toLocaleUpperCase([deDE, jaJP]); >str.toLocaleUpperCase([deDE, jaJP]) : string > : ^^^^^^ >str.toLocaleUpperCase : { (locales?: string | string[]): string; (locales?: Intl.LocalesArgument): string; } -> : ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ >str : "" > : ^^ >toLocaleUpperCase : { (locales?: string | string[]): string; (locales?: Intl.LocalesArgument): string; } -> : ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ >[deDE, jaJP] : Intl.Locale[] > : ^^^^^^^^^^^^^ >deDE : Intl.Locale @@ -279,11 +279,11 @@ str.localeCompare(str, enUS); >str.localeCompare(str, enUS) : number > : ^^^^^^ >str.localeCompare : { (that: string): number; (that: string, locales?: string | string[], options?: Intl.CollatorOptions): number; (that: string, locales?: Intl.LocalesArgument, options?: Intl.CollatorOptions): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >str : "" > : ^^ >localeCompare : { (that: string): number; (that: string, locales?: string | string[], options?: Intl.CollatorOptions): number; (that: string, locales?: Intl.LocalesArgument, options?: Intl.CollatorOptions): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >str : "" > : ^^ >enUS : Intl.Locale @@ -293,11 +293,11 @@ str.localeCompare(str, [deDE, jaJP]); >str.localeCompare(str, [deDE, jaJP]) : number > : ^^^^^^ >str.localeCompare : { (that: string): number; (that: string, locales?: string | string[], options?: Intl.CollatorOptions): number; (that: string, locales?: Intl.LocalesArgument, options?: Intl.CollatorOptions): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >str : "" > : ^^ >localeCompare : { (that: string): number; (that: string, locales?: string | string[], options?: Intl.CollatorOptions): number; (that: string, locales?: Intl.LocalesArgument, options?: Intl.CollatorOptions): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >str : "" > : ^^ >[deDE, jaJP] : Intl.Locale[] @@ -350,32 +350,32 @@ new Intl.PluralRules(readonlyLocales); Intl.PluralRules.supportedLocalesOf(enUS); >Intl.PluralRules.supportedLocalesOf(enUS) : string[] > : ^^^^^^^^ ->Intl.PluralRules.supportedLocalesOf : { (locales: string | readonly string[], options?: { localeMatcher?: "lookup" | "best fit"; }): string[]; (locales: LocalesArgument, options?: { localeMatcher?: "lookup" | "best fit"; }): string[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>Intl.PluralRules.supportedLocalesOf : { (locales: string | readonly string[], options?: { localeMatcher?: "lookup" | "best fit"; }): string[]; (locales: Intl.LocalesArgument, options?: { localeMatcher?: "lookup" | "best fit"; }): string[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^ >Intl.PluralRules : Intl.PluralRulesConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ >PluralRules : Intl.PluralRulesConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->supportedLocalesOf : { (locales: string | readonly string[], options?: { localeMatcher?: "lookup" | "best fit"; }): string[]; (locales: LocalesArgument, options?: { localeMatcher?: "lookup" | "best fit"; }): string[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>supportedLocalesOf : { (locales: string | readonly string[], options?: { localeMatcher?: "lookup" | "best fit"; }): string[]; (locales: Intl.LocalesArgument, options?: { localeMatcher?: "lookup" | "best fit"; }): string[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^ >enUS : Intl.Locale > : ^^^^^^^^^^^ Intl.PluralRules.supportedLocalesOf([deDE, jaJP]); >Intl.PluralRules.supportedLocalesOf([deDE, jaJP]) : string[] > : ^^^^^^^^ ->Intl.PluralRules.supportedLocalesOf : { (locales: string | readonly string[], options?: { localeMatcher?: "lookup" | "best fit"; }): string[]; (locales: LocalesArgument, options?: { localeMatcher?: "lookup" | "best fit"; }): string[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>Intl.PluralRules.supportedLocalesOf : { (locales: string | readonly string[], options?: { localeMatcher?: "lookup" | "best fit"; }): string[]; (locales: Intl.LocalesArgument, options?: { localeMatcher?: "lookup" | "best fit"; }): string[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^ >Intl.PluralRules : Intl.PluralRulesConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ >PluralRules : Intl.PluralRulesConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->supportedLocalesOf : { (locales: string | readonly string[], options?: { localeMatcher?: "lookup" | "best fit"; }): string[]; (locales: LocalesArgument, options?: { localeMatcher?: "lookup" | "best fit"; }): string[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>supportedLocalesOf : { (locales: string | readonly string[], options?: { localeMatcher?: "lookup" | "best fit"; }): string[]; (locales: Intl.LocalesArgument, options?: { localeMatcher?: "lookup" | "best fit"; }): string[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^ >[deDE, jaJP] : Intl.Locale[] > : ^^^^^^^^^^^^^ >deDE : Intl.Locale @@ -386,40 +386,40 @@ Intl.PluralRules.supportedLocalesOf([deDE, jaJP]); Intl.PluralRules.supportedLocalesOf(readonlyLocales); >Intl.PluralRules.supportedLocalesOf(readonlyLocales) : string[] > : ^^^^^^^^ ->Intl.PluralRules.supportedLocalesOf : { (locales: string | readonly string[], options?: { localeMatcher?: "lookup" | "best fit"; }): string[]; (locales: LocalesArgument, options?: { localeMatcher?: "lookup" | "best fit"; }): string[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>Intl.PluralRules.supportedLocalesOf : { (locales: string | readonly string[], options?: { localeMatcher?: "lookup" | "best fit"; }): string[]; (locales: Intl.LocalesArgument, options?: { localeMatcher?: "lookup" | "best fit"; }): string[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^ >Intl.PluralRules : Intl.PluralRulesConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ >PluralRules : Intl.PluralRulesConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->supportedLocalesOf : { (locales: string | readonly string[], options?: { localeMatcher?: "lookup" | "best fit"; }): string[]; (locales: LocalesArgument, options?: { localeMatcher?: "lookup" | "best fit"; }): string[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>supportedLocalesOf : { (locales: string | readonly string[], options?: { localeMatcher?: "lookup" | "best fit"; }): string[]; (locales: Intl.LocalesArgument, options?: { localeMatcher?: "lookup" | "best fit"; }): string[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^ >readonlyLocales : readonly string[] > : ^^^^^^^^^^^^^^^^^ new Intl.RelativeTimeFormat(enUS); >new Intl.RelativeTimeFormat(enUS) : Intl.RelativeTimeFormat > : ^^^^^^^^^^^^^^^^^^^^^^^ ->Intl.RelativeTimeFormat : { new (locales?: LocalesArgument, options?: RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: LocalesArgument, options?: RelativeTimeFormatOptions): string[]; } -> : ^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>Intl.RelativeTimeFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->RelativeTimeFormat : { new (locales?: LocalesArgument, options?: RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: LocalesArgument, options?: RelativeTimeFormatOptions): string[]; } -> : ^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>RelativeTimeFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >enUS : Intl.Locale > : ^^^^^^^^^^^ new Intl.RelativeTimeFormat([deDE, jaJP]); >new Intl.RelativeTimeFormat([deDE, jaJP]) : Intl.RelativeTimeFormat > : ^^^^^^^^^^^^^^^^^^^^^^^ ->Intl.RelativeTimeFormat : { new (locales?: LocalesArgument, options?: RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: LocalesArgument, options?: RelativeTimeFormatOptions): string[]; } -> : ^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>Intl.RelativeTimeFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->RelativeTimeFormat : { new (locales?: LocalesArgument, options?: RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: LocalesArgument, options?: RelativeTimeFormatOptions): string[]; } -> : ^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>RelativeTimeFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >[deDE, jaJP] : Intl.Locale[] > : ^^^^^^^^^^^^^ >deDE : Intl.Locale @@ -430,44 +430,44 @@ new Intl.RelativeTimeFormat([deDE, jaJP]); new Intl.RelativeTimeFormat(readonlyLocales); >new Intl.RelativeTimeFormat(readonlyLocales) : Intl.RelativeTimeFormat > : ^^^^^^^^^^^^^^^^^^^^^^^ ->Intl.RelativeTimeFormat : { new (locales?: LocalesArgument, options?: RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: LocalesArgument, options?: RelativeTimeFormatOptions): string[]; } -> : ^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>Intl.RelativeTimeFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->RelativeTimeFormat : { new (locales?: LocalesArgument, options?: RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: LocalesArgument, options?: RelativeTimeFormatOptions): string[]; } -> : ^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>RelativeTimeFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >readonlyLocales : readonly string[] > : ^^^^^^^^^^^^^^^^^ Intl.RelativeTimeFormat.supportedLocalesOf(enUS); >Intl.RelativeTimeFormat.supportedLocalesOf(enUS) : string[] > : ^^^^^^^^ ->Intl.RelativeTimeFormat.supportedLocalesOf : (locales?: LocalesArgument, options?: RelativeTimeFormatOptions) => string[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ ->Intl.RelativeTimeFormat : { new (locales?: LocalesArgument, options?: RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: LocalesArgument, options?: RelativeTimeFormatOptions): string[]; } -> : ^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>Intl.RelativeTimeFormat.supportedLocalesOf : (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions) => Intl.UnicodeBCP47LocaleIdentifier[] +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Intl.RelativeTimeFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->RelativeTimeFormat : { new (locales?: LocalesArgument, options?: RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: LocalesArgument, options?: RelativeTimeFormatOptions): string[]; } -> : ^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ ->supportedLocalesOf : (locales?: LocalesArgument, options?: RelativeTimeFormatOptions) => string[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +>RelativeTimeFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +>supportedLocalesOf : (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions) => Intl.UnicodeBCP47LocaleIdentifier[] +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >enUS : Intl.Locale > : ^^^^^^^^^^^ Intl.RelativeTimeFormat.supportedLocalesOf([deDE, jaJP]); >Intl.RelativeTimeFormat.supportedLocalesOf([deDE, jaJP]) : string[] > : ^^^^^^^^ ->Intl.RelativeTimeFormat.supportedLocalesOf : (locales?: LocalesArgument, options?: RelativeTimeFormatOptions) => string[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ ->Intl.RelativeTimeFormat : { new (locales?: LocalesArgument, options?: RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: LocalesArgument, options?: RelativeTimeFormatOptions): string[]; } -> : ^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>Intl.RelativeTimeFormat.supportedLocalesOf : (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions) => Intl.UnicodeBCP47LocaleIdentifier[] +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Intl.RelativeTimeFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->RelativeTimeFormat : { new (locales?: LocalesArgument, options?: RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: LocalesArgument, options?: RelativeTimeFormatOptions): string[]; } -> : ^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ ->supportedLocalesOf : (locales?: LocalesArgument, options?: RelativeTimeFormatOptions) => string[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +>RelativeTimeFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +>supportedLocalesOf : (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions) => Intl.UnicodeBCP47LocaleIdentifier[] +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >[deDE, jaJP] : Intl.Locale[] > : ^^^^^^^^^^^^^ >deDE : Intl.Locale @@ -478,16 +478,16 @@ Intl.RelativeTimeFormat.supportedLocalesOf([deDE, jaJP]); Intl.RelativeTimeFormat.supportedLocalesOf(readonlyLocales); >Intl.RelativeTimeFormat.supportedLocalesOf(readonlyLocales) : string[] > : ^^^^^^^^ ->Intl.RelativeTimeFormat.supportedLocalesOf : (locales?: LocalesArgument, options?: RelativeTimeFormatOptions) => string[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ ->Intl.RelativeTimeFormat : { new (locales?: LocalesArgument, options?: RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: LocalesArgument, options?: RelativeTimeFormatOptions): string[]; } -> : ^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>Intl.RelativeTimeFormat.supportedLocalesOf : (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions) => Intl.UnicodeBCP47LocaleIdentifier[] +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Intl.RelativeTimeFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ ->RelativeTimeFormat : { new (locales?: LocalesArgument, options?: RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: LocalesArgument, options?: RelativeTimeFormatOptions): string[]; } -> : ^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ ->supportedLocalesOf : (locales?: LocalesArgument, options?: RelativeTimeFormatOptions) => string[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +>RelativeTimeFormat : { new (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.RelativeTimeFormat; supportedLocalesOf(locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions): Intl.UnicodeBCP47LocaleIdentifier[]; } +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +>supportedLocalesOf : (locales?: Intl.LocalesArgument, options?: Intl.RelativeTimeFormatOptions) => Intl.UnicodeBCP47LocaleIdentifier[] +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >readonlyLocales : readonly string[] > : ^^^^^^^^^^^^^^^^^ @@ -534,32 +534,32 @@ new Intl.Collator(readonlyLocales); Intl.Collator.supportedLocalesOf(enUS); >Intl.Collator.supportedLocalesOf(enUS) : string[] > : ^^^^^^^^ ->Intl.Collator.supportedLocalesOf : { (locales: string | string[], options?: CollatorOptions): string[]; (locales: LocalesArgument, options?: CollatorOptions): string[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>Intl.Collator.supportedLocalesOf : { (locales: string | string[], options?: Intl.CollatorOptions): string[]; (locales: Intl.LocalesArgument, options?: Intl.CollatorOptions): string[]; } +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl.Collator : Intl.CollatorConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ >Collator : Intl.CollatorConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^ ->supportedLocalesOf : { (locales: string | string[], options?: CollatorOptions): string[]; (locales: LocalesArgument, options?: CollatorOptions): string[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>supportedLocalesOf : { (locales: string | string[], options?: Intl.CollatorOptions): string[]; (locales: Intl.LocalesArgument, options?: Intl.CollatorOptions): string[]; } +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >enUS : Intl.Locale > : ^^^^^^^^^^^ Intl.Collator.supportedLocalesOf([deDE, jaJP]); >Intl.Collator.supportedLocalesOf([deDE, jaJP]) : string[] > : ^^^^^^^^ ->Intl.Collator.supportedLocalesOf : { (locales: string | string[], options?: CollatorOptions): string[]; (locales: LocalesArgument, options?: CollatorOptions): string[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>Intl.Collator.supportedLocalesOf : { (locales: string | string[], options?: Intl.CollatorOptions): string[]; (locales: Intl.LocalesArgument, options?: Intl.CollatorOptions): string[]; } +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl.Collator : Intl.CollatorConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ >Collator : Intl.CollatorConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^ ->supportedLocalesOf : { (locales: string | string[], options?: CollatorOptions): string[]; (locales: LocalesArgument, options?: CollatorOptions): string[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>supportedLocalesOf : { (locales: string | string[], options?: Intl.CollatorOptions): string[]; (locales: Intl.LocalesArgument, options?: Intl.CollatorOptions): string[]; } +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >[deDE, jaJP] : Intl.Locale[] > : ^^^^^^^^^^^^^ >deDE : Intl.Locale @@ -610,32 +610,32 @@ new Intl.DateTimeFormat(readonlyLocales); Intl.DateTimeFormat.supportedLocalesOf(enUS); >Intl.DateTimeFormat.supportedLocalesOf(enUS) : string[] > : ^^^^^^^^ ->Intl.DateTimeFormat.supportedLocalesOf : { (locales: string | string[], options?: DateTimeFormatOptions): string[]; (locales: LocalesArgument, options?: DateTimeFormatOptions): string[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>Intl.DateTimeFormat.supportedLocalesOf : { (locales: string | string[], options?: Intl.DateTimeFormatOptions): string[]; (locales: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string[]; } +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl.DateTimeFormat : Intl.DateTimeFormatConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ >DateTimeFormat : Intl.DateTimeFormatConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->supportedLocalesOf : { (locales: string | string[], options?: DateTimeFormatOptions): string[]; (locales: LocalesArgument, options?: DateTimeFormatOptions): string[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>supportedLocalesOf : { (locales: string | string[], options?: Intl.DateTimeFormatOptions): string[]; (locales: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string[]; } +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >enUS : Intl.Locale > : ^^^^^^^^^^^ Intl.DateTimeFormat.supportedLocalesOf([deDE, jaJP]); >Intl.DateTimeFormat.supportedLocalesOf([deDE, jaJP]) : string[] > : ^^^^^^^^ ->Intl.DateTimeFormat.supportedLocalesOf : { (locales: string | string[], options?: DateTimeFormatOptions): string[]; (locales: LocalesArgument, options?: DateTimeFormatOptions): string[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>Intl.DateTimeFormat.supportedLocalesOf : { (locales: string | string[], options?: Intl.DateTimeFormatOptions): string[]; (locales: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string[]; } +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl.DateTimeFormat : Intl.DateTimeFormatConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ >DateTimeFormat : Intl.DateTimeFormatConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->supportedLocalesOf : { (locales: string | string[], options?: DateTimeFormatOptions): string[]; (locales: LocalesArgument, options?: DateTimeFormatOptions): string[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>supportedLocalesOf : { (locales: string | string[], options?: Intl.DateTimeFormatOptions): string[]; (locales: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string[]; } +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >[deDE, jaJP] : Intl.Locale[] > : ^^^^^^^^^^^^^ >deDE : Intl.Locale @@ -646,16 +646,16 @@ Intl.DateTimeFormat.supportedLocalesOf([deDE, jaJP]); Intl.DateTimeFormat.supportedLocalesOf(readonlyLocales); >Intl.DateTimeFormat.supportedLocalesOf(readonlyLocales) : string[] > : ^^^^^^^^ ->Intl.DateTimeFormat.supportedLocalesOf : { (locales: string | string[], options?: DateTimeFormatOptions): string[]; (locales: LocalesArgument, options?: DateTimeFormatOptions): string[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>Intl.DateTimeFormat.supportedLocalesOf : { (locales: string | string[], options?: Intl.DateTimeFormatOptions): string[]; (locales: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string[]; } +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl.DateTimeFormat : Intl.DateTimeFormatConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ >DateTimeFormat : Intl.DateTimeFormatConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->supportedLocalesOf : { (locales: string | string[], options?: DateTimeFormatOptions): string[]; (locales: LocalesArgument, options?: DateTimeFormatOptions): string[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>supportedLocalesOf : { (locales: string | string[], options?: Intl.DateTimeFormatOptions): string[]; (locales: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string[]; } +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >readonlyLocales : readonly string[] > : ^^^^^^^^^^^^^^^^^ @@ -702,32 +702,32 @@ new Intl.NumberFormat(readonlyLocales); Intl.NumberFormat.supportedLocalesOf(enUS); >Intl.NumberFormat.supportedLocalesOf(enUS) : string[] > : ^^^^^^^^ ->Intl.NumberFormat.supportedLocalesOf : { (locales: string | string[], options?: NumberFormatOptions): string[]; (locales: LocalesArgument, options?: NumberFormatOptions): string[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>Intl.NumberFormat.supportedLocalesOf : { (locales: string | string[], options?: Intl.NumberFormatOptions): string[]; (locales: Intl.LocalesArgument, options?: Intl.NumberFormatOptions): string[]; } +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl.NumberFormat : Intl.NumberFormatConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ >NumberFormat : Intl.NumberFormatConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->supportedLocalesOf : { (locales: string | string[], options?: NumberFormatOptions): string[]; (locales: LocalesArgument, options?: NumberFormatOptions): string[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>supportedLocalesOf : { (locales: string | string[], options?: Intl.NumberFormatOptions): string[]; (locales: Intl.LocalesArgument, options?: Intl.NumberFormatOptions): string[]; } +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >enUS : Intl.Locale > : ^^^^^^^^^^^ Intl.NumberFormat.supportedLocalesOf(readonlyLocales); >Intl.NumberFormat.supportedLocalesOf(readonlyLocales) : string[] > : ^^^^^^^^ ->Intl.NumberFormat.supportedLocalesOf : { (locales: string | string[], options?: NumberFormatOptions): string[]; (locales: LocalesArgument, options?: NumberFormatOptions): string[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>Intl.NumberFormat.supportedLocalesOf : { (locales: string | string[], options?: Intl.NumberFormatOptions): string[]; (locales: Intl.LocalesArgument, options?: Intl.NumberFormatOptions): string[]; } +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Intl.NumberFormat : Intl.NumberFormatConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Intl : typeof Intl > : ^^^^^^^^^^^ >NumberFormat : Intl.NumberFormatConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->supportedLocalesOf : { (locales: string | string[], options?: NumberFormatOptions): string[]; (locales: LocalesArgument, options?: NumberFormatOptions): string[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>supportedLocalesOf : { (locales: string | string[], options?: Intl.NumberFormatOptions): string[]; (locales: Intl.LocalesArgument, options?: Intl.NumberFormatOptions): string[]; } +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >readonlyLocales : readonly string[] > : ^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/logicalAssignment10(target=es2015).types b/tests/baselines/reference/logicalAssignment10(target=es2015).types index c84289132b4a0..3044fc2efa37f 100644 --- a/tests/baselines/reference/logicalAssignment10(target=es2015).types +++ b/tests/baselines/reference/logicalAssignment10(target=es2015).types @@ -36,7 +36,7 @@ const oobj = { } obj[incr()] ??= incr(); ->obj[incr()] ??= incr() : any +>obj[incr()] ??= incr() : error >obj[incr()] : error >obj : {} > : ^^ @@ -50,7 +50,7 @@ obj[incr()] ??= incr(); > : ^^^^^^^^^^^^ oobj["obj"][incr()] ??= incr(); ->oobj["obj"][incr()] ??= incr() : any +>oobj["obj"][incr()] ??= incr() : error >oobj["obj"][incr()] : error >oobj["obj"] : {} > : ^^ diff --git a/tests/baselines/reference/logicalAssignment10(target=es2020).types b/tests/baselines/reference/logicalAssignment10(target=es2020).types index c84289132b4a0..3044fc2efa37f 100644 --- a/tests/baselines/reference/logicalAssignment10(target=es2020).types +++ b/tests/baselines/reference/logicalAssignment10(target=es2020).types @@ -36,7 +36,7 @@ const oobj = { } obj[incr()] ??= incr(); ->obj[incr()] ??= incr() : any +>obj[incr()] ??= incr() : error >obj[incr()] : error >obj : {} > : ^^ @@ -50,7 +50,7 @@ obj[incr()] ??= incr(); > : ^^^^^^^^^^^^ oobj["obj"][incr()] ??= incr(); ->oobj["obj"][incr()] ??= incr() : any +>oobj["obj"][incr()] ??= incr() : error >oobj["obj"][incr()] : error >oobj["obj"] : {} > : ^^ diff --git a/tests/baselines/reference/logicalAssignment10(target=es2021).types b/tests/baselines/reference/logicalAssignment10(target=es2021).types index c84289132b4a0..3044fc2efa37f 100644 --- a/tests/baselines/reference/logicalAssignment10(target=es2021).types +++ b/tests/baselines/reference/logicalAssignment10(target=es2021).types @@ -36,7 +36,7 @@ const oobj = { } obj[incr()] ??= incr(); ->obj[incr()] ??= incr() : any +>obj[incr()] ??= incr() : error >obj[incr()] : error >obj : {} > : ^^ @@ -50,7 +50,7 @@ obj[incr()] ??= incr(); > : ^^^^^^^^^^^^ oobj["obj"][incr()] ??= incr(); ->oobj["obj"][incr()] ??= incr() : any +>oobj["obj"][incr()] ??= incr() : error >oobj["obj"][incr()] : error >oobj["obj"] : {} > : ^^ diff --git a/tests/baselines/reference/logicalAssignment10(target=esnext).types b/tests/baselines/reference/logicalAssignment10(target=esnext).types index c84289132b4a0..3044fc2efa37f 100644 --- a/tests/baselines/reference/logicalAssignment10(target=esnext).types +++ b/tests/baselines/reference/logicalAssignment10(target=esnext).types @@ -36,7 +36,7 @@ const oobj = { } obj[incr()] ??= incr(); ->obj[incr()] ??= incr() : any +>obj[incr()] ??= incr() : error >obj[incr()] : error >obj : {} > : ^^ @@ -50,7 +50,7 @@ obj[incr()] ??= incr(); > : ^^^^^^^^^^^^ oobj["obj"][incr()] ??= incr(); ->oobj["obj"][incr()] ??= incr() : any +>oobj["obj"][incr()] ??= incr() : error >oobj["obj"][incr()] : error >oobj["obj"] : {} > : ^^ diff --git a/tests/baselines/reference/logicalAssignment2(target=es2015).types b/tests/baselines/reference/logicalAssignment2(target=es2015).types index 98877a66e6032..fc36053a8b0fc 100644 --- a/tests/baselines/reference/logicalAssignment2(target=es2015).types +++ b/tests/baselines/reference/logicalAssignment2(target=es2015).types @@ -92,22 +92,22 @@ a.foo["baz"] &&= result.foo.baz > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a.foo["baz"] : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->a.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >a : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >"baz" : "baz" > : ^^^^^ >result.foo.baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>result.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >result : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -116,22 +116,22 @@ b.foo["baz"] ||= result.foo.baz > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >b.foo["baz"] : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>b.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >b : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >"baz" : "baz" > : ^^^^^ >result.foo.baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>result.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >result : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -140,22 +140,22 @@ c.foo["baz"] ??= result.foo.baz > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >c.foo["baz"] : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->c.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>c.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >c : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >"baz" : "baz" > : ^^^^^ >result.foo.baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>result.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >result : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -164,34 +164,34 @@ a.foo.bar().baz &&= result.foo.bar().baz > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a.foo.bar().baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->a.foo.bar() : { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->a.foo.bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->a.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a.foo.bar() : { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^ ^^^ +>a.foo.bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ +>a.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >a : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ +>bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >result.foo.bar().baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo.bar() : { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo.bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>result.foo.bar() : { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^ ^^^ +>result.foo.bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ +>result.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >result : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ +>bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -200,34 +200,34 @@ b.foo.bar().baz ||= result.foo.bar().baz > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >b.foo.bar().baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b.foo.bar() : { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b.foo.bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>b.foo.bar() : { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^ ^^^ +>b.foo.bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ +>b.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >b : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ +>bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >result.foo.bar().baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo.bar() : { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo.bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>result.foo.bar() : { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^ ^^^ +>result.foo.bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ +>result.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >result : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ +>bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -236,34 +236,34 @@ c.foo.bar().baz ??= result.foo.bar().baz > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >c.foo.bar().baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->c.foo.bar() : { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->c.foo.bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->c.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>c.foo.bar() : { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^ ^^^ +>c.foo.bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ +>c.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >c : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ +>bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >result.foo.bar().baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo.bar() : { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo.bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>result.foo.bar() : { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^ ^^^ +>result.foo.bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ +>result.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >result : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ +>bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/logicalAssignment2(target=es2020).types b/tests/baselines/reference/logicalAssignment2(target=es2020).types index 98877a66e6032..fc36053a8b0fc 100644 --- a/tests/baselines/reference/logicalAssignment2(target=es2020).types +++ b/tests/baselines/reference/logicalAssignment2(target=es2020).types @@ -92,22 +92,22 @@ a.foo["baz"] &&= result.foo.baz > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a.foo["baz"] : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->a.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >a : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >"baz" : "baz" > : ^^^^^ >result.foo.baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>result.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >result : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -116,22 +116,22 @@ b.foo["baz"] ||= result.foo.baz > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >b.foo["baz"] : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>b.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >b : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >"baz" : "baz" > : ^^^^^ >result.foo.baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>result.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >result : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -140,22 +140,22 @@ c.foo["baz"] ??= result.foo.baz > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >c.foo["baz"] : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->c.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>c.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >c : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >"baz" : "baz" > : ^^^^^ >result.foo.baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>result.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >result : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -164,34 +164,34 @@ a.foo.bar().baz &&= result.foo.bar().baz > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a.foo.bar().baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->a.foo.bar() : { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->a.foo.bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->a.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a.foo.bar() : { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^ ^^^ +>a.foo.bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ +>a.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >a : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ +>bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >result.foo.bar().baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo.bar() : { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo.bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>result.foo.bar() : { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^ ^^^ +>result.foo.bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ +>result.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >result : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ +>bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -200,34 +200,34 @@ b.foo.bar().baz ||= result.foo.bar().baz > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >b.foo.bar().baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b.foo.bar() : { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b.foo.bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>b.foo.bar() : { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^ ^^^ +>b.foo.bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ +>b.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >b : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ +>bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >result.foo.bar().baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo.bar() : { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo.bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>result.foo.bar() : { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^ ^^^ +>result.foo.bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ +>result.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >result : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ +>bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -236,34 +236,34 @@ c.foo.bar().baz ??= result.foo.bar().baz > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >c.foo.bar().baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->c.foo.bar() : { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->c.foo.bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->c.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>c.foo.bar() : { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^ ^^^ +>c.foo.bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ +>c.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >c : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ +>bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >result.foo.bar().baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo.bar() : { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo.bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>result.foo.bar() : { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^ ^^^ +>result.foo.bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ +>result.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >result : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ +>bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/logicalAssignment2(target=es2021).types b/tests/baselines/reference/logicalAssignment2(target=es2021).types index 98877a66e6032..fc36053a8b0fc 100644 --- a/tests/baselines/reference/logicalAssignment2(target=es2021).types +++ b/tests/baselines/reference/logicalAssignment2(target=es2021).types @@ -92,22 +92,22 @@ a.foo["baz"] &&= result.foo.baz > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a.foo["baz"] : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->a.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >a : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >"baz" : "baz" > : ^^^^^ >result.foo.baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>result.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >result : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -116,22 +116,22 @@ b.foo["baz"] ||= result.foo.baz > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >b.foo["baz"] : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>b.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >b : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >"baz" : "baz" > : ^^^^^ >result.foo.baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>result.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >result : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -140,22 +140,22 @@ c.foo["baz"] ??= result.foo.baz > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >c.foo["baz"] : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->c.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>c.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >c : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >"baz" : "baz" > : ^^^^^ >result.foo.baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>result.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >result : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -164,34 +164,34 @@ a.foo.bar().baz &&= result.foo.bar().baz > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a.foo.bar().baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->a.foo.bar() : { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->a.foo.bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->a.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a.foo.bar() : { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^ ^^^ +>a.foo.bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ +>a.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >a : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ +>bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >result.foo.bar().baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo.bar() : { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo.bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>result.foo.bar() : { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^ ^^^ +>result.foo.bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ +>result.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >result : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ +>bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -200,34 +200,34 @@ b.foo.bar().baz ||= result.foo.bar().baz > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >b.foo.bar().baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b.foo.bar() : { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b.foo.bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>b.foo.bar() : { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^ ^^^ +>b.foo.bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ +>b.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >b : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ +>bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >result.foo.bar().baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo.bar() : { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo.bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>result.foo.bar() : { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^ ^^^ +>result.foo.bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ +>result.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >result : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ +>bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -236,34 +236,34 @@ c.foo.bar().baz ??= result.foo.bar().baz > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >c.foo.bar().baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->c.foo.bar() : { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->c.foo.bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->c.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>c.foo.bar() : { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^ ^^^ +>c.foo.bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ +>c.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >c : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ +>bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >result.foo.bar().baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo.bar() : { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo.bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>result.foo.bar() : { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^ ^^^ +>result.foo.bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ +>result.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >result : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ +>bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/logicalAssignment2(target=esnext).types b/tests/baselines/reference/logicalAssignment2(target=esnext).types index 98877a66e6032..fc36053a8b0fc 100644 --- a/tests/baselines/reference/logicalAssignment2(target=esnext).types +++ b/tests/baselines/reference/logicalAssignment2(target=esnext).types @@ -92,22 +92,22 @@ a.foo["baz"] &&= result.foo.baz > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a.foo["baz"] : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->a.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >a : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >"baz" : "baz" > : ^^^^^ >result.foo.baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>result.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >result : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -116,22 +116,22 @@ b.foo["baz"] ||= result.foo.baz > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >b.foo["baz"] : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>b.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >b : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >"baz" : "baz" > : ^^^^^ >result.foo.baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>result.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >result : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -140,22 +140,22 @@ c.foo["baz"] ??= result.foo.baz > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >c.foo["baz"] : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->c.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>c.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >c : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >"baz" : "baz" > : ^^^^^ >result.foo.baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>result.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >result : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -164,34 +164,34 @@ a.foo.bar().baz &&= result.foo.bar().baz > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a.foo.bar().baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->a.foo.bar() : { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->a.foo.bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->a.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a.foo.bar() : { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^ ^^^ +>a.foo.bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ +>a.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >a : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ +>bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >result.foo.bar().baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo.bar() : { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo.bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>result.foo.bar() : { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^ ^^^ +>result.foo.bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ +>result.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >result : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ +>bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -200,34 +200,34 @@ b.foo.bar().baz ||= result.foo.bar().baz > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >b.foo.bar().baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b.foo.bar() : { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b.foo.bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>b.foo.bar() : { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^ ^^^ +>b.foo.bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ +>b.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >b : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ +>bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >result.foo.bar().baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo.bar() : { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo.bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>result.foo.bar() : { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^ ^^^ +>result.foo.bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ +>result.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >result : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ +>bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -236,34 +236,34 @@ c.foo.bar().baz ??= result.foo.bar().baz > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >c.foo.bar().baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->c.foo.bar() : { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->c.foo.bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->c.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>c.foo.bar() : { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^ ^^^ +>c.foo.bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ +>c.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >c : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ +>bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >result.foo.bar().baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo.bar() : { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo.bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->result.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>result.foo.bar() : { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^ ^^^ +>result.foo.bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ +>result.foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ >result : A > : ^ ->foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->bar : () => { baz: "" | 0 | 1 | 42 | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { bar(): { baz: 0 | 1 | 42 | undefined | ""; }; baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^^^^ ^^^^^^^ ^^^ +>bar : () => { baz: 0 | 1 | 42 | undefined | ""; } +> : ^^^^^^ >baz : "" | 0 | 1 | 42 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/logicalAssignment4(target=es2015).types b/tests/baselines/reference/logicalAssignment4(target=es2015).types index 5a826d98d3afd..542737560da95 100644 --- a/tests/baselines/reference/logicalAssignment4(target=es2015).types +++ b/tests/baselines/reference/logicalAssignment4(target=es2015).types @@ -11,7 +11,7 @@ function foo1(results: number[] | undefined) { >(results ||= []).push(100) : number > : ^^^^^^ >(results ||= []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ||= []) : number[] > : ^^^^^^^^ >results ||= [] : number[] @@ -21,7 +21,7 @@ function foo1(results: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -36,7 +36,7 @@ function foo2(results: number[] | undefined) { >(results ??= []).push(100) : number > : ^^^^^^ >(results ??= []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ??= []) : number[] > : ^^^^^^^^ >results ??= [] : number[] @@ -46,7 +46,7 @@ function foo2(results: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -69,11 +69,11 @@ function foo3(results: number[] | undefined) { >results.push(100) : number > : ^^^^^^ >results.push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >results : number[] > : ^^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -96,11 +96,11 @@ function foo4(results: number[] | undefined) { >results.push(100) : number > : ^^^^^^ >results.push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >results : number[] > : ^^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } diff --git a/tests/baselines/reference/logicalAssignment4(target=es2020).types b/tests/baselines/reference/logicalAssignment4(target=es2020).types index 5a826d98d3afd..542737560da95 100644 --- a/tests/baselines/reference/logicalAssignment4(target=es2020).types +++ b/tests/baselines/reference/logicalAssignment4(target=es2020).types @@ -11,7 +11,7 @@ function foo1(results: number[] | undefined) { >(results ||= []).push(100) : number > : ^^^^^^ >(results ||= []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ||= []) : number[] > : ^^^^^^^^ >results ||= [] : number[] @@ -21,7 +21,7 @@ function foo1(results: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -36,7 +36,7 @@ function foo2(results: number[] | undefined) { >(results ??= []).push(100) : number > : ^^^^^^ >(results ??= []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ??= []) : number[] > : ^^^^^^^^ >results ??= [] : number[] @@ -46,7 +46,7 @@ function foo2(results: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -69,11 +69,11 @@ function foo3(results: number[] | undefined) { >results.push(100) : number > : ^^^^^^ >results.push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >results : number[] > : ^^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -96,11 +96,11 @@ function foo4(results: number[] | undefined) { >results.push(100) : number > : ^^^^^^ >results.push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >results : number[] > : ^^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } diff --git a/tests/baselines/reference/logicalAssignment4(target=es2021).types b/tests/baselines/reference/logicalAssignment4(target=es2021).types index 5a826d98d3afd..542737560da95 100644 --- a/tests/baselines/reference/logicalAssignment4(target=es2021).types +++ b/tests/baselines/reference/logicalAssignment4(target=es2021).types @@ -11,7 +11,7 @@ function foo1(results: number[] | undefined) { >(results ||= []).push(100) : number > : ^^^^^^ >(results ||= []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ||= []) : number[] > : ^^^^^^^^ >results ||= [] : number[] @@ -21,7 +21,7 @@ function foo1(results: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -36,7 +36,7 @@ function foo2(results: number[] | undefined) { >(results ??= []).push(100) : number > : ^^^^^^ >(results ??= []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ??= []) : number[] > : ^^^^^^^^ >results ??= [] : number[] @@ -46,7 +46,7 @@ function foo2(results: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -69,11 +69,11 @@ function foo3(results: number[] | undefined) { >results.push(100) : number > : ^^^^^^ >results.push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >results : number[] > : ^^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -96,11 +96,11 @@ function foo4(results: number[] | undefined) { >results.push(100) : number > : ^^^^^^ >results.push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >results : number[] > : ^^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } diff --git a/tests/baselines/reference/logicalAssignment4(target=esnext).types b/tests/baselines/reference/logicalAssignment4(target=esnext).types index 5a826d98d3afd..542737560da95 100644 --- a/tests/baselines/reference/logicalAssignment4(target=esnext).types +++ b/tests/baselines/reference/logicalAssignment4(target=esnext).types @@ -11,7 +11,7 @@ function foo1(results: number[] | undefined) { >(results ||= []).push(100) : number > : ^^^^^^ >(results ||= []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ||= []) : number[] > : ^^^^^^^^ >results ||= [] : number[] @@ -21,7 +21,7 @@ function foo1(results: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -36,7 +36,7 @@ function foo2(results: number[] | undefined) { >(results ??= []).push(100) : number > : ^^^^^^ >(results ??= []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ??= []) : number[] > : ^^^^^^^^ >results ??= [] : number[] @@ -46,7 +46,7 @@ function foo2(results: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -69,11 +69,11 @@ function foo3(results: number[] | undefined) { >results.push(100) : number > : ^^^^^^ >results.push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >results : number[] > : ^^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -96,11 +96,11 @@ function foo4(results: number[] | undefined) { >results.push(100) : number > : ^^^^^^ >results.push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >results : number[] > : ^^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } diff --git a/tests/baselines/reference/logicalAssignment5(target=es2015).types b/tests/baselines/reference/logicalAssignment5(target=es2015).types index 04a71632ae178..e91ab1007d23a 100644 --- a/tests/baselines/reference/logicalAssignment5(target=es2015).types +++ b/tests/baselines/reference/logicalAssignment5(target=es2015).types @@ -11,9 +11,9 @@ function foo1 (f?: (a: number) => void) { f ??= (a => a) >f ??= (a => a) : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >(a => a) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >a => a : (a: number) => number @@ -27,7 +27,7 @@ function foo1 (f?: (a: number) => void) { >f(42) : void > : ^^^^ >f : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >42 : 42 > : ^^ } @@ -42,9 +42,9 @@ function foo2 (f?: (a: number) => void) { f ||= (a => a) >f ||= (a => a) : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >(a => a) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >a => a : (a: number) => number @@ -58,7 +58,7 @@ function foo2 (f?: (a: number) => void) { >f(42) : void > : ^^^^ >f : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >42 : 42 > : ^^ } @@ -75,7 +75,7 @@ function foo3 (f?: (a: number) => void) { >f &&= (a => a) : ((a: number) => number) | undefined > : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >(a => a) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >a => a : (a: number) => number @@ -89,7 +89,7 @@ function foo3 (f?: (a: number) => void) { >f(42) : void > : ^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >42 : 42 > : ^^ } @@ -104,9 +104,9 @@ function bar1 (f?: (a: number) => void) { f ??= (f.toString(), (a => a)) >f ??= (f.toString(), (a => a)) : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >(f.toString(), (a => a)) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >f.toString(), (a => a) : (a: number) => number @@ -132,7 +132,7 @@ function bar1 (f?: (a: number) => void) { >f(42) : void > : ^^^^ >f : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >42 : 42 > : ^^ } @@ -147,9 +147,9 @@ function bar2 (f?: (a: number) => void) { f ||= (f.toString(), (a => a)) >f ||= (f.toString(), (a => a)) : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >(f.toString(), (a => a)) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >f.toString(), (a => a) : (a: number) => number @@ -175,7 +175,7 @@ function bar2 (f?: (a: number) => void) { >f(42) : void > : ^^^^ >f : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >42 : 42 > : ^^ } @@ -192,7 +192,7 @@ function bar3 (f?: (a: number) => void) { >f &&= (f.toString(), (a => a)) : ((a: number) => number) | undefined > : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >(f.toString(), (a => a)) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >f.toString(), (a => a) : (a: number) => number @@ -200,11 +200,11 @@ function bar3 (f?: (a: number) => void) { >f.toString() : string > : ^^^^^^ >f.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >f : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >(a => a) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >a => a : (a: number) => number @@ -218,7 +218,7 @@ function bar3 (f?: (a: number) => void) { >f(42) : void > : ^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >42 : 42 > : ^^ } diff --git a/tests/baselines/reference/logicalAssignment5(target=es2020).types b/tests/baselines/reference/logicalAssignment5(target=es2020).types index 04a71632ae178..e91ab1007d23a 100644 --- a/tests/baselines/reference/logicalAssignment5(target=es2020).types +++ b/tests/baselines/reference/logicalAssignment5(target=es2020).types @@ -11,9 +11,9 @@ function foo1 (f?: (a: number) => void) { f ??= (a => a) >f ??= (a => a) : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >(a => a) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >a => a : (a: number) => number @@ -27,7 +27,7 @@ function foo1 (f?: (a: number) => void) { >f(42) : void > : ^^^^ >f : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >42 : 42 > : ^^ } @@ -42,9 +42,9 @@ function foo2 (f?: (a: number) => void) { f ||= (a => a) >f ||= (a => a) : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >(a => a) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >a => a : (a: number) => number @@ -58,7 +58,7 @@ function foo2 (f?: (a: number) => void) { >f(42) : void > : ^^^^ >f : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >42 : 42 > : ^^ } @@ -75,7 +75,7 @@ function foo3 (f?: (a: number) => void) { >f &&= (a => a) : ((a: number) => number) | undefined > : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >(a => a) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >a => a : (a: number) => number @@ -89,7 +89,7 @@ function foo3 (f?: (a: number) => void) { >f(42) : void > : ^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >42 : 42 > : ^^ } @@ -104,9 +104,9 @@ function bar1 (f?: (a: number) => void) { f ??= (f.toString(), (a => a)) >f ??= (f.toString(), (a => a)) : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >(f.toString(), (a => a)) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >f.toString(), (a => a) : (a: number) => number @@ -132,7 +132,7 @@ function bar1 (f?: (a: number) => void) { >f(42) : void > : ^^^^ >f : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >42 : 42 > : ^^ } @@ -147,9 +147,9 @@ function bar2 (f?: (a: number) => void) { f ||= (f.toString(), (a => a)) >f ||= (f.toString(), (a => a)) : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >(f.toString(), (a => a)) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >f.toString(), (a => a) : (a: number) => number @@ -175,7 +175,7 @@ function bar2 (f?: (a: number) => void) { >f(42) : void > : ^^^^ >f : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >42 : 42 > : ^^ } @@ -192,7 +192,7 @@ function bar3 (f?: (a: number) => void) { >f &&= (f.toString(), (a => a)) : ((a: number) => number) | undefined > : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >(f.toString(), (a => a)) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >f.toString(), (a => a) : (a: number) => number @@ -200,11 +200,11 @@ function bar3 (f?: (a: number) => void) { >f.toString() : string > : ^^^^^^ >f.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >f : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >(a => a) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >a => a : (a: number) => number @@ -218,7 +218,7 @@ function bar3 (f?: (a: number) => void) { >f(42) : void > : ^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >42 : 42 > : ^^ } diff --git a/tests/baselines/reference/logicalAssignment5(target=es2021).types b/tests/baselines/reference/logicalAssignment5(target=es2021).types index 04a71632ae178..e91ab1007d23a 100644 --- a/tests/baselines/reference/logicalAssignment5(target=es2021).types +++ b/tests/baselines/reference/logicalAssignment5(target=es2021).types @@ -11,9 +11,9 @@ function foo1 (f?: (a: number) => void) { f ??= (a => a) >f ??= (a => a) : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >(a => a) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >a => a : (a: number) => number @@ -27,7 +27,7 @@ function foo1 (f?: (a: number) => void) { >f(42) : void > : ^^^^ >f : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >42 : 42 > : ^^ } @@ -42,9 +42,9 @@ function foo2 (f?: (a: number) => void) { f ||= (a => a) >f ||= (a => a) : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >(a => a) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >a => a : (a: number) => number @@ -58,7 +58,7 @@ function foo2 (f?: (a: number) => void) { >f(42) : void > : ^^^^ >f : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >42 : 42 > : ^^ } @@ -75,7 +75,7 @@ function foo3 (f?: (a: number) => void) { >f &&= (a => a) : ((a: number) => number) | undefined > : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >(a => a) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >a => a : (a: number) => number @@ -89,7 +89,7 @@ function foo3 (f?: (a: number) => void) { >f(42) : void > : ^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >42 : 42 > : ^^ } @@ -104,9 +104,9 @@ function bar1 (f?: (a: number) => void) { f ??= (f.toString(), (a => a)) >f ??= (f.toString(), (a => a)) : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >(f.toString(), (a => a)) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >f.toString(), (a => a) : (a: number) => number @@ -132,7 +132,7 @@ function bar1 (f?: (a: number) => void) { >f(42) : void > : ^^^^ >f : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >42 : 42 > : ^^ } @@ -147,9 +147,9 @@ function bar2 (f?: (a: number) => void) { f ||= (f.toString(), (a => a)) >f ||= (f.toString(), (a => a)) : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >(f.toString(), (a => a)) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >f.toString(), (a => a) : (a: number) => number @@ -175,7 +175,7 @@ function bar2 (f?: (a: number) => void) { >f(42) : void > : ^^^^ >f : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >42 : 42 > : ^^ } @@ -192,7 +192,7 @@ function bar3 (f?: (a: number) => void) { >f &&= (f.toString(), (a => a)) : ((a: number) => number) | undefined > : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >(f.toString(), (a => a)) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >f.toString(), (a => a) : (a: number) => number @@ -200,11 +200,11 @@ function bar3 (f?: (a: number) => void) { >f.toString() : string > : ^^^^^^ >f.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >f : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >(a => a) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >a => a : (a: number) => number @@ -218,7 +218,7 @@ function bar3 (f?: (a: number) => void) { >f(42) : void > : ^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >42 : 42 > : ^^ } diff --git a/tests/baselines/reference/logicalAssignment5(target=esnext).types b/tests/baselines/reference/logicalAssignment5(target=esnext).types index 04a71632ae178..e91ab1007d23a 100644 --- a/tests/baselines/reference/logicalAssignment5(target=esnext).types +++ b/tests/baselines/reference/logicalAssignment5(target=esnext).types @@ -11,9 +11,9 @@ function foo1 (f?: (a: number) => void) { f ??= (a => a) >f ??= (a => a) : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >(a => a) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >a => a : (a: number) => number @@ -27,7 +27,7 @@ function foo1 (f?: (a: number) => void) { >f(42) : void > : ^^^^ >f : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >42 : 42 > : ^^ } @@ -42,9 +42,9 @@ function foo2 (f?: (a: number) => void) { f ||= (a => a) >f ||= (a => a) : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >(a => a) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >a => a : (a: number) => number @@ -58,7 +58,7 @@ function foo2 (f?: (a: number) => void) { >f(42) : void > : ^^^^ >f : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >42 : 42 > : ^^ } @@ -75,7 +75,7 @@ function foo3 (f?: (a: number) => void) { >f &&= (a => a) : ((a: number) => number) | undefined > : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >(a => a) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >a => a : (a: number) => number @@ -89,7 +89,7 @@ function foo3 (f?: (a: number) => void) { >f(42) : void > : ^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >42 : 42 > : ^^ } @@ -104,9 +104,9 @@ function bar1 (f?: (a: number) => void) { f ??= (f.toString(), (a => a)) >f ??= (f.toString(), (a => a)) : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >(f.toString(), (a => a)) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >f.toString(), (a => a) : (a: number) => number @@ -132,7 +132,7 @@ function bar1 (f?: (a: number) => void) { >f(42) : void > : ^^^^ >f : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >42 : 42 > : ^^ } @@ -147,9 +147,9 @@ function bar2 (f?: (a: number) => void) { f ||= (f.toString(), (a => a)) >f ||= (f.toString(), (a => a)) : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >(f.toString(), (a => a)) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >f.toString(), (a => a) : (a: number) => number @@ -175,7 +175,7 @@ function bar2 (f?: (a: number) => void) { >f(42) : void > : ^^^^ >f : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >42 : 42 > : ^^ } @@ -192,7 +192,7 @@ function bar3 (f?: (a: number) => void) { >f &&= (f.toString(), (a => a)) : ((a: number) => number) | undefined > : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >(f.toString(), (a => a)) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >f.toString(), (a => a) : (a: number) => number @@ -200,11 +200,11 @@ function bar3 (f?: (a: number) => void) { >f.toString() : string > : ^^^^^^ >f.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >f : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >(a => a) : (a: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >a => a : (a: number) => number @@ -218,7 +218,7 @@ function bar3 (f?: (a: number) => void) { >f(42) : void > : ^^^^ >f : ((a: number) => void) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >42 : 42 > : ^^ } diff --git a/tests/baselines/reference/logicalAssignment6(target=es2015).types b/tests/baselines/reference/logicalAssignment6(target=es2015).types index 58cd8afdf71cf..87969d3cd40b0 100644 --- a/tests/baselines/reference/logicalAssignment6(target=es2015).types +++ b/tests/baselines/reference/logicalAssignment6(target=es2015).types @@ -13,7 +13,7 @@ function foo1(results: number[] | undefined, results1: number[] | undefined) { >(results ||= (results1 ||= [])).push(100) : number > : ^^^^^^ >(results ||= (results1 ||= [])).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ||= (results1 ||= [])) : number[] > : ^^^^^^^^ >results ||= (results1 ||= []) : number[] @@ -29,7 +29,7 @@ function foo1(results: number[] | undefined, results1: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -46,7 +46,7 @@ function foo2(results: number[] | undefined, results1: number[] | undefined) { >(results ??= (results1 ??= [])).push(100) : number > : ^^^^^^ >(results ??= (results1 ??= [])).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ??= (results1 ??= [])) : number[] > : ^^^^^^^^ >results ??= (results1 ??= []) : number[] @@ -62,7 +62,7 @@ function foo2(results: number[] | undefined, results1: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -79,7 +79,7 @@ function foo3(results: number[] | undefined, results1: number[] | undefined) { >(results &&= (results1 &&= [])).push(100) : number > : ^^^^^^ >(results &&= (results1 &&= [])).push : (...items: never[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^ >(results &&= (results1 &&= [])) : never[] | undefined > : ^^^^^^^^^^^^^^^^^^^ >results &&= (results1 &&= []) : never[] | undefined @@ -95,7 +95,7 @@ function foo3(results: number[] | undefined, results1: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: never[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } diff --git a/tests/baselines/reference/logicalAssignment6(target=es2020).types b/tests/baselines/reference/logicalAssignment6(target=es2020).types index 58cd8afdf71cf..87969d3cd40b0 100644 --- a/tests/baselines/reference/logicalAssignment6(target=es2020).types +++ b/tests/baselines/reference/logicalAssignment6(target=es2020).types @@ -13,7 +13,7 @@ function foo1(results: number[] | undefined, results1: number[] | undefined) { >(results ||= (results1 ||= [])).push(100) : number > : ^^^^^^ >(results ||= (results1 ||= [])).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ||= (results1 ||= [])) : number[] > : ^^^^^^^^ >results ||= (results1 ||= []) : number[] @@ -29,7 +29,7 @@ function foo1(results: number[] | undefined, results1: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -46,7 +46,7 @@ function foo2(results: number[] | undefined, results1: number[] | undefined) { >(results ??= (results1 ??= [])).push(100) : number > : ^^^^^^ >(results ??= (results1 ??= [])).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ??= (results1 ??= [])) : number[] > : ^^^^^^^^ >results ??= (results1 ??= []) : number[] @@ -62,7 +62,7 @@ function foo2(results: number[] | undefined, results1: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -79,7 +79,7 @@ function foo3(results: number[] | undefined, results1: number[] | undefined) { >(results &&= (results1 &&= [])).push(100) : number > : ^^^^^^ >(results &&= (results1 &&= [])).push : (...items: never[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^ >(results &&= (results1 &&= [])) : never[] | undefined > : ^^^^^^^^^^^^^^^^^^^ >results &&= (results1 &&= []) : never[] | undefined @@ -95,7 +95,7 @@ function foo3(results: number[] | undefined, results1: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: never[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } diff --git a/tests/baselines/reference/logicalAssignment6(target=es2021).types b/tests/baselines/reference/logicalAssignment6(target=es2021).types index 58cd8afdf71cf..87969d3cd40b0 100644 --- a/tests/baselines/reference/logicalAssignment6(target=es2021).types +++ b/tests/baselines/reference/logicalAssignment6(target=es2021).types @@ -13,7 +13,7 @@ function foo1(results: number[] | undefined, results1: number[] | undefined) { >(results ||= (results1 ||= [])).push(100) : number > : ^^^^^^ >(results ||= (results1 ||= [])).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ||= (results1 ||= [])) : number[] > : ^^^^^^^^ >results ||= (results1 ||= []) : number[] @@ -29,7 +29,7 @@ function foo1(results: number[] | undefined, results1: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -46,7 +46,7 @@ function foo2(results: number[] | undefined, results1: number[] | undefined) { >(results ??= (results1 ??= [])).push(100) : number > : ^^^^^^ >(results ??= (results1 ??= [])).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ??= (results1 ??= [])) : number[] > : ^^^^^^^^ >results ??= (results1 ??= []) : number[] @@ -62,7 +62,7 @@ function foo2(results: number[] | undefined, results1: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -79,7 +79,7 @@ function foo3(results: number[] | undefined, results1: number[] | undefined) { >(results &&= (results1 &&= [])).push(100) : number > : ^^^^^^ >(results &&= (results1 &&= [])).push : (...items: never[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^ >(results &&= (results1 &&= [])) : never[] | undefined > : ^^^^^^^^^^^^^^^^^^^ >results &&= (results1 &&= []) : never[] | undefined @@ -95,7 +95,7 @@ function foo3(results: number[] | undefined, results1: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: never[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } diff --git a/tests/baselines/reference/logicalAssignment6(target=esnext).types b/tests/baselines/reference/logicalAssignment6(target=esnext).types index 58cd8afdf71cf..87969d3cd40b0 100644 --- a/tests/baselines/reference/logicalAssignment6(target=esnext).types +++ b/tests/baselines/reference/logicalAssignment6(target=esnext).types @@ -13,7 +13,7 @@ function foo1(results: number[] | undefined, results1: number[] | undefined) { >(results ||= (results1 ||= [])).push(100) : number > : ^^^^^^ >(results ||= (results1 ||= [])).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ||= (results1 ||= [])) : number[] > : ^^^^^^^^ >results ||= (results1 ||= []) : number[] @@ -29,7 +29,7 @@ function foo1(results: number[] | undefined, results1: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -46,7 +46,7 @@ function foo2(results: number[] | undefined, results1: number[] | undefined) { >(results ??= (results1 ??= [])).push(100) : number > : ^^^^^^ >(results ??= (results1 ??= [])).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ??= (results1 ??= [])) : number[] > : ^^^^^^^^ >results ??= (results1 ??= []) : number[] @@ -62,7 +62,7 @@ function foo2(results: number[] | undefined, results1: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -79,7 +79,7 @@ function foo3(results: number[] | undefined, results1: number[] | undefined) { >(results &&= (results1 &&= [])).push(100) : number > : ^^^^^^ >(results &&= (results1 &&= [])).push : (...items: never[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^ >(results &&= (results1 &&= [])) : never[] | undefined > : ^^^^^^^^^^^^^^^^^^^ >results &&= (results1 &&= []) : never[] | undefined @@ -95,7 +95,7 @@ function foo3(results: number[] | undefined, results1: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: never[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } diff --git a/tests/baselines/reference/logicalAssignment7(target=es2015).types b/tests/baselines/reference/logicalAssignment7(target=es2015).types index 252c96dc8b0dc..6a7181fda2ce5 100644 --- a/tests/baselines/reference/logicalAssignment7(target=es2015).types +++ b/tests/baselines/reference/logicalAssignment7(target=es2015).types @@ -13,7 +13,7 @@ function foo1(results: number[] | undefined, results1: number[] | undefined) { >(results ||= results1 ||= []).push(100) : number > : ^^^^^^ >(results ||= results1 ||= []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ||= results1 ||= []) : number[] > : ^^^^^^^^ >results ||= results1 ||= [] : number[] @@ -27,7 +27,7 @@ function foo1(results: number[] | undefined, results1: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -44,7 +44,7 @@ function foo2(results: number[] | undefined, results1: number[] | undefined) { >(results ??= results1 ??= []).push(100) : number > : ^^^^^^ >(results ??= results1 ??= []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ??= results1 ??= []) : number[] > : ^^^^^^^^ >results ??= results1 ??= [] : number[] @@ -58,7 +58,7 @@ function foo2(results: number[] | undefined, results1: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -75,7 +75,7 @@ function foo3(results: number[] | undefined, results1: number[] | undefined) { >(results &&= results1 &&= []).push(100) : number > : ^^^^^^ >(results &&= results1 &&= []).push : (...items: never[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^ >(results &&= results1 &&= []) : never[] | undefined > : ^^^^^^^^^^^^^^^^^^^ >results &&= results1 &&= [] : never[] | undefined @@ -89,7 +89,7 @@ function foo3(results: number[] | undefined, results1: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: never[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } diff --git a/tests/baselines/reference/logicalAssignment7(target=es2020).types b/tests/baselines/reference/logicalAssignment7(target=es2020).types index 252c96dc8b0dc..6a7181fda2ce5 100644 --- a/tests/baselines/reference/logicalAssignment7(target=es2020).types +++ b/tests/baselines/reference/logicalAssignment7(target=es2020).types @@ -13,7 +13,7 @@ function foo1(results: number[] | undefined, results1: number[] | undefined) { >(results ||= results1 ||= []).push(100) : number > : ^^^^^^ >(results ||= results1 ||= []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ||= results1 ||= []) : number[] > : ^^^^^^^^ >results ||= results1 ||= [] : number[] @@ -27,7 +27,7 @@ function foo1(results: number[] | undefined, results1: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -44,7 +44,7 @@ function foo2(results: number[] | undefined, results1: number[] | undefined) { >(results ??= results1 ??= []).push(100) : number > : ^^^^^^ >(results ??= results1 ??= []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ??= results1 ??= []) : number[] > : ^^^^^^^^ >results ??= results1 ??= [] : number[] @@ -58,7 +58,7 @@ function foo2(results: number[] | undefined, results1: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -75,7 +75,7 @@ function foo3(results: number[] | undefined, results1: number[] | undefined) { >(results &&= results1 &&= []).push(100) : number > : ^^^^^^ >(results &&= results1 &&= []).push : (...items: never[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^ >(results &&= results1 &&= []) : never[] | undefined > : ^^^^^^^^^^^^^^^^^^^ >results &&= results1 &&= [] : never[] | undefined @@ -89,7 +89,7 @@ function foo3(results: number[] | undefined, results1: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: never[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } diff --git a/tests/baselines/reference/logicalAssignment7(target=es2021).types b/tests/baselines/reference/logicalAssignment7(target=es2021).types index 252c96dc8b0dc..6a7181fda2ce5 100644 --- a/tests/baselines/reference/logicalAssignment7(target=es2021).types +++ b/tests/baselines/reference/logicalAssignment7(target=es2021).types @@ -13,7 +13,7 @@ function foo1(results: number[] | undefined, results1: number[] | undefined) { >(results ||= results1 ||= []).push(100) : number > : ^^^^^^ >(results ||= results1 ||= []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ||= results1 ||= []) : number[] > : ^^^^^^^^ >results ||= results1 ||= [] : number[] @@ -27,7 +27,7 @@ function foo1(results: number[] | undefined, results1: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -44,7 +44,7 @@ function foo2(results: number[] | undefined, results1: number[] | undefined) { >(results ??= results1 ??= []).push(100) : number > : ^^^^^^ >(results ??= results1 ??= []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ??= results1 ??= []) : number[] > : ^^^^^^^^ >results ??= results1 ??= [] : number[] @@ -58,7 +58,7 @@ function foo2(results: number[] | undefined, results1: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -75,7 +75,7 @@ function foo3(results: number[] | undefined, results1: number[] | undefined) { >(results &&= results1 &&= []).push(100) : number > : ^^^^^^ >(results &&= results1 &&= []).push : (...items: never[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^ >(results &&= results1 &&= []) : never[] | undefined > : ^^^^^^^^^^^^^^^^^^^ >results &&= results1 &&= [] : never[] | undefined @@ -89,7 +89,7 @@ function foo3(results: number[] | undefined, results1: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: never[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } diff --git a/tests/baselines/reference/logicalAssignment7(target=esnext).types b/tests/baselines/reference/logicalAssignment7(target=esnext).types index 252c96dc8b0dc..6a7181fda2ce5 100644 --- a/tests/baselines/reference/logicalAssignment7(target=esnext).types +++ b/tests/baselines/reference/logicalAssignment7(target=esnext).types @@ -13,7 +13,7 @@ function foo1(results: number[] | undefined, results1: number[] | undefined) { >(results ||= results1 ||= []).push(100) : number > : ^^^^^^ >(results ||= results1 ||= []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ||= results1 ||= []) : number[] > : ^^^^^^^^ >results ||= results1 ||= [] : number[] @@ -27,7 +27,7 @@ function foo1(results: number[] | undefined, results1: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -44,7 +44,7 @@ function foo2(results: number[] | undefined, results1: number[] | undefined) { >(results ??= results1 ??= []).push(100) : number > : ^^^^^^ >(results ??= results1 ??= []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ??= results1 ??= []) : number[] > : ^^^^^^^^ >results ??= results1 ??= [] : number[] @@ -58,7 +58,7 @@ function foo2(results: number[] | undefined, results1: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -75,7 +75,7 @@ function foo3(results: number[] | undefined, results1: number[] | undefined) { >(results &&= results1 &&= []).push(100) : number > : ^^^^^^ >(results &&= results1 &&= []).push : (...items: never[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^ >(results &&= results1 &&= []) : never[] | undefined > : ^^^^^^^^^^^^^^^^^^^ >results &&= results1 &&= [] : never[] | undefined @@ -89,7 +89,7 @@ function foo3(results: number[] | undefined, results1: number[] | undefined) { >[] : never[] > : ^^^^^^^ >push : (...items: never[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } diff --git a/tests/baselines/reference/logicalAssignment8(target=es2015).types b/tests/baselines/reference/logicalAssignment8(target=es2015).types index e58200d560073..081e3da57c95a 100644 --- a/tests/baselines/reference/logicalAssignment8(target=es2015).types +++ b/tests/baselines/reference/logicalAssignment8(target=es2015).types @@ -17,7 +17,7 @@ function foo1(results: number[] | undefined) { >(results ||= bar?.value ?? []).push(100) : number > : ^^^^^^ >(results ||= bar?.value ?? []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ||= bar?.value ?? []) : number[] > : ^^^^^^^^ >results ||= bar?.value ?? [] : number[] @@ -28,14 +28,14 @@ function foo1(results: number[] | undefined) { > : ^^^^^^^^ >bar?.value : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ ->bar : { value?: number[] | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>bar : { value?: number[]; } | undefined +> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^ >value : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -50,7 +50,7 @@ function foo2(results: number[] | undefined) { >(results ??= bar?.value ?? []).push(100) : number > : ^^^^^^ >(results ??= bar?.value ?? []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ??= bar?.value ?? []) : number[] > : ^^^^^^^^ >results ??= bar?.value ?? [] : number[] @@ -61,14 +61,14 @@ function foo2(results: number[] | undefined) { > : ^^^^^^^^ >bar?.value : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ ->bar : { value?: number[] | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>bar : { value?: number[]; } | undefined +> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^ >value : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -83,7 +83,7 @@ function foo3(results: number[] | undefined) { >(results &&= bar?.value ?? []).push(100) : number > : ^^^^^^ >(results &&= bar?.value ?? []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results &&= bar?.value ?? []) : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ >results &&= bar?.value ?? [] : number[] | undefined @@ -94,14 +94,14 @@ function foo3(results: number[] | undefined) { > : ^^^^^^^^ >bar?.value : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ ->bar : { value?: number[] | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>bar : { value?: number[]; } | undefined +> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^ >value : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } diff --git a/tests/baselines/reference/logicalAssignment8(target=es2020).types b/tests/baselines/reference/logicalAssignment8(target=es2020).types index e58200d560073..081e3da57c95a 100644 --- a/tests/baselines/reference/logicalAssignment8(target=es2020).types +++ b/tests/baselines/reference/logicalAssignment8(target=es2020).types @@ -17,7 +17,7 @@ function foo1(results: number[] | undefined) { >(results ||= bar?.value ?? []).push(100) : number > : ^^^^^^ >(results ||= bar?.value ?? []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ||= bar?.value ?? []) : number[] > : ^^^^^^^^ >results ||= bar?.value ?? [] : number[] @@ -28,14 +28,14 @@ function foo1(results: number[] | undefined) { > : ^^^^^^^^ >bar?.value : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ ->bar : { value?: number[] | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>bar : { value?: number[]; } | undefined +> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^ >value : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -50,7 +50,7 @@ function foo2(results: number[] | undefined) { >(results ??= bar?.value ?? []).push(100) : number > : ^^^^^^ >(results ??= bar?.value ?? []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ??= bar?.value ?? []) : number[] > : ^^^^^^^^ >results ??= bar?.value ?? [] : number[] @@ -61,14 +61,14 @@ function foo2(results: number[] | undefined) { > : ^^^^^^^^ >bar?.value : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ ->bar : { value?: number[] | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>bar : { value?: number[]; } | undefined +> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^ >value : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -83,7 +83,7 @@ function foo3(results: number[] | undefined) { >(results &&= bar?.value ?? []).push(100) : number > : ^^^^^^ >(results &&= bar?.value ?? []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results &&= bar?.value ?? []) : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ >results &&= bar?.value ?? [] : number[] | undefined @@ -94,14 +94,14 @@ function foo3(results: number[] | undefined) { > : ^^^^^^^^ >bar?.value : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ ->bar : { value?: number[] | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>bar : { value?: number[]; } | undefined +> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^ >value : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } diff --git a/tests/baselines/reference/logicalAssignment8(target=es2021).types b/tests/baselines/reference/logicalAssignment8(target=es2021).types index e58200d560073..081e3da57c95a 100644 --- a/tests/baselines/reference/logicalAssignment8(target=es2021).types +++ b/tests/baselines/reference/logicalAssignment8(target=es2021).types @@ -17,7 +17,7 @@ function foo1(results: number[] | undefined) { >(results ||= bar?.value ?? []).push(100) : number > : ^^^^^^ >(results ||= bar?.value ?? []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ||= bar?.value ?? []) : number[] > : ^^^^^^^^ >results ||= bar?.value ?? [] : number[] @@ -28,14 +28,14 @@ function foo1(results: number[] | undefined) { > : ^^^^^^^^ >bar?.value : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ ->bar : { value?: number[] | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>bar : { value?: number[]; } | undefined +> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^ >value : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -50,7 +50,7 @@ function foo2(results: number[] | undefined) { >(results ??= bar?.value ?? []).push(100) : number > : ^^^^^^ >(results ??= bar?.value ?? []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ??= bar?.value ?? []) : number[] > : ^^^^^^^^ >results ??= bar?.value ?? [] : number[] @@ -61,14 +61,14 @@ function foo2(results: number[] | undefined) { > : ^^^^^^^^ >bar?.value : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ ->bar : { value?: number[] | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>bar : { value?: number[]; } | undefined +> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^ >value : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -83,7 +83,7 @@ function foo3(results: number[] | undefined) { >(results &&= bar?.value ?? []).push(100) : number > : ^^^^^^ >(results &&= bar?.value ?? []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results &&= bar?.value ?? []) : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ >results &&= bar?.value ?? [] : number[] | undefined @@ -94,14 +94,14 @@ function foo3(results: number[] | undefined) { > : ^^^^^^^^ >bar?.value : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ ->bar : { value?: number[] | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>bar : { value?: number[]; } | undefined +> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^ >value : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } diff --git a/tests/baselines/reference/logicalAssignment8(target=esnext).types b/tests/baselines/reference/logicalAssignment8(target=esnext).types index e58200d560073..081e3da57c95a 100644 --- a/tests/baselines/reference/logicalAssignment8(target=esnext).types +++ b/tests/baselines/reference/logicalAssignment8(target=esnext).types @@ -17,7 +17,7 @@ function foo1(results: number[] | undefined) { >(results ||= bar?.value ?? []).push(100) : number > : ^^^^^^ >(results ||= bar?.value ?? []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ||= bar?.value ?? []) : number[] > : ^^^^^^^^ >results ||= bar?.value ?? [] : number[] @@ -28,14 +28,14 @@ function foo1(results: number[] | undefined) { > : ^^^^^^^^ >bar?.value : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ ->bar : { value?: number[] | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>bar : { value?: number[]; } | undefined +> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^ >value : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -50,7 +50,7 @@ function foo2(results: number[] | undefined) { >(results ??= bar?.value ?? []).push(100) : number > : ^^^^^^ >(results ??= bar?.value ?? []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results ??= bar?.value ?? []) : number[] > : ^^^^^^^^ >results ??= bar?.value ?? [] : number[] @@ -61,14 +61,14 @@ function foo2(results: number[] | undefined) { > : ^^^^^^^^ >bar?.value : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ ->bar : { value?: number[] | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>bar : { value?: number[]; } | undefined +> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^ >value : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } @@ -83,7 +83,7 @@ function foo3(results: number[] | undefined) { >(results &&= bar?.value ?? []).push(100) : number > : ^^^^^^ >(results &&= bar?.value ?? []).push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >(results &&= bar?.value ?? []) : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ >results &&= bar?.value ?? [] : number[] | undefined @@ -94,14 +94,14 @@ function foo3(results: number[] | undefined) { > : ^^^^^^^^ >bar?.value : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ ->bar : { value?: number[] | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>bar : { value?: number[]; } | undefined +> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^ >value : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ >[] : never[] > : ^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ } diff --git a/tests/baselines/reference/logicalAssignment9.types b/tests/baselines/reference/logicalAssignment9.types index 87d3c726b6f43..f1ec1494c1809 100644 --- a/tests/baselines/reference/logicalAssignment9.types +++ b/tests/baselines/reference/logicalAssignment9.types @@ -12,8 +12,8 @@ x.a ??= true; > : ^^^^^^^ >x.a : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ ->x : { a?: boolean | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x : { a?: boolean; } +> : ^^^^^^ ^^^ >a : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ >true : true @@ -24,8 +24,8 @@ x.a &&= false; > : ^^^^^^^^^^^^^^^^^ >x.a : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ ->x : { a?: boolean | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x : { a?: boolean; } +> : ^^^^^^ ^^^ >a : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ >false : false diff --git a/tests/baselines/reference/logicalNotOperatorWithAnyOtherType.types b/tests/baselines/reference/logicalNotOperatorWithAnyOtherType.types index 3270339ef5f97..5a076c8d61b03 100644 --- a/tests/baselines/reference/logicalNotOperatorWithAnyOtherType.types +++ b/tests/baselines/reference/logicalNotOperatorWithAnyOtherType.types @@ -127,7 +127,7 @@ var ResultIsBoolean5 = !obj; >!obj : boolean > : ^^^^^^^ >obj : () => {} -> : ^^^^^^^^ +> : ^^^^^^ var ResultIsBoolean6 = !obj1; >ResultIsBoolean6 : boolean @@ -221,7 +221,7 @@ var ResultIsBoolean14 = !foo(); >foo() : any > : ^^^ >foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ var ResultIsBoolean15 = !A.foo(); >ResultIsBoolean15 : boolean diff --git a/tests/baselines/reference/logicalNotOperatorWithBooleanType.types b/tests/baselines/reference/logicalNotOperatorWithBooleanType.types index 58adab2d96228..be8d2e629c9f3 100644 --- a/tests/baselines/reference/logicalNotOperatorWithBooleanType.types +++ b/tests/baselines/reference/logicalNotOperatorWithBooleanType.types @@ -110,7 +110,7 @@ var ResultIsBoolean6 = !foo(); >foo() : boolean > : ^^^^^^^ >foo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsBoolean7 = !A.foo(); >ResultIsBoolean7 : boolean @@ -156,7 +156,7 @@ var ResultIsBoolean = !!BOOLEAN; >foo() : boolean > : ^^^^^^^ >foo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ !true, false; >!true, false : false diff --git a/tests/baselines/reference/logicalNotOperatorWithNumberType.types b/tests/baselines/reference/logicalNotOperatorWithNumberType.types index 8b8d16fe64f44..c259d3feeb592 100644 --- a/tests/baselines/reference/logicalNotOperatorWithNumberType.types +++ b/tests/baselines/reference/logicalNotOperatorWithNumberType.types @@ -160,7 +160,7 @@ var ResultIsBoolean9 = !foo(); >foo() : number > : ^^^^^^ >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsBoolean10 = !A.foo(); >ResultIsBoolean10 : boolean @@ -244,7 +244,7 @@ var ResultIsBoolean13 = !!!(NUMBER + NUMBER); >foo() : number > : ^^^^^^ >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ !objA.a; >!objA.a : boolean diff --git a/tests/baselines/reference/logicalNotOperatorWithStringType.types b/tests/baselines/reference/logicalNotOperatorWithStringType.types index 84e6d11bd9abb..bcb7b7d5fd858 100644 --- a/tests/baselines/reference/logicalNotOperatorWithStringType.types +++ b/tests/baselines/reference/logicalNotOperatorWithStringType.types @@ -160,7 +160,7 @@ var ResultIsBoolean9 = !foo(); >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsBoolean10 = !A.foo(); >ResultIsBoolean10 : boolean @@ -198,11 +198,11 @@ var ResultIsBoolean12 = !STRING.charAt(0); >STRING.charAt(0) : string > : ^^^^^^ >STRING.charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >STRING : string > : ^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ @@ -260,7 +260,7 @@ var ResultIsBoolean14 = !!!(STRING + STRING); >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ !objA.a,M.n; >!objA.a,M.n : string diff --git a/tests/baselines/reference/logicalOrExpressionIsNotContextuallyTyped.types b/tests/baselines/reference/logicalOrExpressionIsNotContextuallyTyped.types index 2ab56bd8b3d27..72075eeba2830 100644 --- a/tests/baselines/reference/logicalOrExpressionIsNotContextuallyTyped.types +++ b/tests/baselines/reference/logicalOrExpressionIsNotContextuallyTyped.types @@ -16,11 +16,11 @@ var a: (a: string) => string; // bug 786110 var r = a || ((a) => a.toLowerCase()); >r : (a: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a || ((a) => a.toLowerCase()) : (a: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : (a: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >((a) => a.toLowerCase()) : (a: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >(a) => a.toLowerCase() : (a: string) => string @@ -30,9 +30,9 @@ var r = a || ((a) => a.toLowerCase()); >a.toLowerCase() : string > : ^^^^^^ >a.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >a : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/logicalOrOperatorWithEveryType.types b/tests/baselines/reference/logicalOrOperatorWithEveryType.types index 4a44e44cd1554..bc39f9219c7c0 100644 --- a/tests/baselines/reference/logicalOrOperatorWithEveryType.types +++ b/tests/baselines/reference/logicalOrOperatorWithEveryType.types @@ -116,7 +116,7 @@ var ra7 = a7 || a1; // object || any is any >a7 || a1 : any > : ^^^ >a7 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a1 : any > : ^^^ @@ -210,11 +210,11 @@ var rb6 = a6 || a2; // enum || boolean is E | boolean var rb7 = a7 || a2; // object || boolean is object | boolean >rb7 : boolean | { a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^ >a7 || a2 : boolean | { a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^ >a7 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a2 : boolean > : ^^^^^^^ @@ -308,11 +308,11 @@ var rc6 = a6 || a3; // enum || number is number var rc7 = a7 || a3; // object || number is object | number >rc7 : number | { a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >a7 || a3 : number | { a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >a7 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a3 : number > : ^^^^^^ @@ -406,11 +406,11 @@ var rd6 = a6 || a4; // enum || string is enum | string var rd7 = a7 || a4; // object || string is object | string >rd7 : string | { a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >a7 || a4 : string | { a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >a7 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a4 : string > : ^^^^^^ @@ -504,11 +504,11 @@ var re6 = a6 || a5; // enum || void is enum | void var re7 = a7 || a5; // object || void is object | void >re7 : void | { a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ >a7 || a5 : void | { a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ >a7 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a5 : void > : ^^^^ @@ -602,11 +602,11 @@ var rg6 = a6 || a6; // enum || enum is E var rg7 = a7 || a6; // object || enum is object | enum >rg7 : E | { a: string; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >a7 || a6 : E | { a: string; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >a7 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a6 : E > : ^ @@ -646,95 +646,95 @@ var rh1 = a1 || a7; // any || object is any >a1 : any > : ^^^ >a7 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var rh2 = a2 || a7; // boolean || object is boolean | object >rh2 : true | { a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ >a2 || a7 : true | { a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ >a2 : boolean > : ^^^^^^^ >a7 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var rh3 = a3 || a7; // number || object is number | object >rh3 : number | { a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >a3 || a7 : number | { a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >a3 : number > : ^^^^^^ >a7 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var rh4 = a4 || a7; // string || object is string | object >rh4 : string | { a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >a4 || a7 : string | { a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >a4 : string > : ^^^^^^ >a7 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var rh5 = a5 || a7; // void || object is void | object >rh5 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a5 || a7 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a5 : void > : ^^^^ >a7 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var rh6 = a6 || a7; // enum || object is enum | object >rh6 : E.b | E.c | { a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^^ >a6 || a7 : E.b | E.c | { a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^^ >a6 : E > : ^ >a7 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var rh7 = a7 || a7; // object || object is object >rh7 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a7 || a7 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a7 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a7 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var rh8 = a8 || a7; // array || object is array | object >rh8 : { a: string; } | string[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^ >a8 || a7 : { a: string; } | string[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^ >a8 : string[] > : ^^^^^^^^ >a7 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var rh9 = null || a7; // null || object is object >rh9 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >null || a7 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a7 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var rh10 = undefined || a7; // undefined || object is object >rh10 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >undefined || a7 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ >a7 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var ri1 = a1 || a8; // any || array is any >ri1 : any @@ -798,11 +798,11 @@ var ri6 = a6 || a8; // enum || array is enum | array var ri7 = a7 || a8; // object || array is object | array >ri7 : { a: string; } | string[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^ >a7 || a8 : { a: string; } | string[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^ >a7 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a8 : string[] > : ^^^^^^^^ @@ -884,11 +884,11 @@ var rj6 = a6 || null; // enum || null is E var rj7 = a7 || null; // object || null is object >rj7 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a7 || null : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a7 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var rj8 = a8 || null; // array || null is array >rj8 : string[] @@ -974,11 +974,11 @@ var rf6 = a6 || undefined; // enum || undefined is E var rf7 = a7 || undefined; // object || undefined is object >rf7 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a7 || undefined : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a7 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ diff --git a/tests/baselines/reference/logicalOrOperatorWithTypeParameters.types b/tests/baselines/reference/logicalOrOperatorWithTypeParameters.types index 6707a7cb3c453..c14aa703ff34a 100644 --- a/tests/baselines/reference/logicalOrOperatorWithTypeParameters.types +++ b/tests/baselines/reference/logicalOrOperatorWithTypeParameters.types @@ -116,7 +116,7 @@ function fn2(t: T, u: U, v: V) { function fn3(t: T, u: U) { >fn3 : (t: T, u: U) => void -> : ^ ^^^^^^^^^^^^^^ ^^^^^ ^^^^^ ^^^^^^^^^^^^^^ ^^^^^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >a : string > : ^^^^^^ >b : string diff --git a/tests/baselines/reference/looseThisTypeInFunctions.types b/tests/baselines/reference/looseThisTypeInFunctions.types index 8af41eaaed8e5..094d633a0bf9c 100644 --- a/tests/baselines/reference/looseThisTypeInFunctions.types +++ b/tests/baselines/reference/looseThisTypeInFunctions.types @@ -94,19 +94,19 @@ let c = new C(); c.explicitVoid = c.explicitThis; // error, 'void' is missing everything >c.explicitVoid = c.explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >c.explicitVoid : (this: void, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitVoid : (this: void, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c.explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >c : C > : ^ >explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ let o = { >o : { n: number; explicitThis: (m: number) => any; implicitThis(m: number): number; } @@ -138,7 +138,7 @@ let o = { >this.n : number > : ^^^^^^ >this : { n: number; explicitThis: (m: number) => any; implicitThis(m: number): number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ >length : any @@ -158,7 +158,7 @@ let i: I = o; >i : I > : ^ >o : { n: number; explicitThis: (m: number) => any; implicitThis(m: number): number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ let o2: I = { >o2 : I @@ -200,13 +200,13 @@ let o2: I = { } let x = i.explicitThis; >x : (this: I, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >i.explicitThis : (this: I, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >i : I > : ^ >explicitThis : (this: I, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ let n = x(12); // callee:void doesn't match this:I >n : number @@ -214,7 +214,7 @@ let n = x(12); // callee:void doesn't match this:I >x(12) : number > : ^^^^^^ >x : (this: I, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >12 : 12 > : ^^ @@ -224,13 +224,13 @@ let u: Unused; let y = u.implicitNoThis; >y : (m: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >u.implicitNoThis : (m: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >u : Unused > : ^^^^^^ >implicitNoThis : (m: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ n = y(12); // ok, callee:void matches this:any >n = y(12) : number @@ -240,83 +240,83 @@ n = y(12); // ok, callee:void matches this:any >y(12) : number > : ^^^^^^ >y : (m: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >12 : 12 > : ^^ c.explicitVoid = c.implicitThis // ok, implicitThis(this:any) >c.explicitVoid = c.implicitThis : (m: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c.explicitVoid : (this: void, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitVoid : (this: void, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c.implicitThis : (m: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c : C > : ^ >implicitThis : (m: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ o.implicitThis = c.implicitThis; // ok, implicitThis(this:any) >o.implicitThis = c.implicitThis : (m: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >o.implicitThis : (m: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >o : { n: number; explicitThis: (m: number) => any; implicitThis(m: number): number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >implicitThis : (m: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c.implicitThis : (m: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c : C > : ^ >implicitThis : (m: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ o.implicitThis = c.explicitThis; // ok, implicitThis(this:any) is assignable to explicitThis(this: this) >o.implicitThis = c.explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >o.implicitThis : (m: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >o : { n: number; explicitThis: (m: number) => any; implicitThis(m: number): number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >implicitThis : (m: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c.explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >c : C > : ^ >explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ o.implicitThis = i.explicitThis; >o.implicitThis = i.explicitThis : (this: I, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >o.implicitThis : (m: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >o : { n: number; explicitThis: (m: number) => any; implicitThis(m: number): number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >implicitThis : (m: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i.explicitThis : (this: I, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >i : I > : ^ >explicitThis : (this: I, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ i.explicitThis = function(m) { >i.explicitThis = function(m) { return this.n.length; // error, this.n: number} : (this: I, m: number) => any > : ^ ^^^^^ ^^^^^^^^^^^^^^^^ >i.explicitThis : (this: I, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >i : I > : ^ >explicitThis : (this: I, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >function(m) { return this.n.length; // error, this.n: number} : (this: I, m: number) => any > : ^ ^^^^^ ^^^^^^^^^^^^^^^^ >m : number diff --git a/tests/baselines/reference/malformedTags.types b/tests/baselines/reference/malformedTags.types index 310e20e7e7948..e873e70510a8e 100644 --- a/tests/baselines/reference/malformedTags.types +++ b/tests/baselines/reference/malformedTags.types @@ -10,9 +10,9 @@ var isArray = Array.isArray; >isArray : Function > : ^^^^^^^^ >Array.isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ diff --git a/tests/baselines/reference/mapCodeClassInvalidClassMember.mapCode.ts b/tests/baselines/reference/mapCodeClassInvalidClassMember.mapCode.ts new file mode 100644 index 0000000000000..973388e10c6b5 --- /dev/null +++ b/tests/baselines/reference/mapCodeClassInvalidClassMember.mapCode.ts @@ -0,0 +1,19 @@ +// === mapCode === + +// === ORIGINAL === +class MyClass {[||] +} + +// === INCOMING CHANGES === + +if (false) { + return "hello"; +} + +// === MAPPED === +class MyClass { +} + +if (false) { + return "hello"; +} diff --git a/tests/baselines/reference/mapCodeFocusLocationReplacement.mapCode.ts b/tests/baselines/reference/mapCodeFocusLocationReplacement.mapCode.ts new file mode 100644 index 0000000000000..ee5321aaeee56 --- /dev/null +++ b/tests/baselines/reference/mapCodeFocusLocationReplacement.mapCode.ts @@ -0,0 +1,64 @@ +// === mapCode === + +// === ORIGINAL === +function foo() { + const x: number = 1; + const y: number = 2; + if (x === y) { + console.log("hello"); + console.log("world"); + } + return 1; +} +function bar() { + const x: number = 1; + const y: number = 2; + if (x === y)[||] { + console.log("x"); + console.log("y"); + } + return 2; +} +function baz() { + const x: number = 1; + const y: number = 2; + if (x === y) { + console.log(x); + console.log(y); + } + return 3; +} + +// === INCOMING CHANGES === + +if (x === y) { + return x + y; +} + +// === MAPPED === +function foo() { + const x: number = 1; + const y: number = 2; + if (x === y) { + console.log("hello"); + console.log("world"); + } + return 1; +} +function bar() { + const x: number = 1; + const y: number = 2; + if (x === y) { + return x + y; + } + return 2; +} +function baz() { + const x: number = 1; + const y: number = 2; + if (x === y) { + console.log(x); + console.log(y); + } + return 3; +} diff --git a/tests/baselines/reference/mapCodeMethodInsertion.mapCode.ts b/tests/baselines/reference/mapCodeMethodInsertion.mapCode.ts new file mode 100644 index 0000000000000..22a5fb16dce66 --- /dev/null +++ b/tests/baselines/reference/mapCodeMethodInsertion.mapCode.ts @@ -0,0 +1,38 @@ +// === mapCode === + +// === ORIGINAL === +class MyClass {[||] + x = 1; + foo() { + return 1; + } + bar() { + return 2; + } + baz() { + return 3; + } +} + +// === INCOMING CHANGES === + +quux() { + return 4; +} + +// === MAPPED === +class MyClass { + x = 1; + foo() { + return 1; + } + bar() { + return 2; + } + baz() { + return 3; + } + quux() { + return 4; + } +} diff --git a/tests/baselines/reference/mapCodeMethodReplacement.mapCode.ts b/tests/baselines/reference/mapCodeMethodReplacement.mapCode.ts new file mode 100644 index 0000000000000..fb3468d1c7868 --- /dev/null +++ b/tests/baselines/reference/mapCodeMethodReplacement.mapCode.ts @@ -0,0 +1,35 @@ +// === mapCode === + +// === ORIGINAL === +class MyClass { + x = 1; + foo() { + return 1; + } + bar() {[||] + return 2; + } + baz() { + return 3; + } +} + +// === INCOMING CHANGES === + +bar() { + return 'hello'; +} + +// === MAPPED === +class MyClass { + x = 1; + foo() { + return 1; + } + bar() { + return "hello"; + } + baz() { + return 3; + } +} diff --git a/tests/baselines/reference/mapCodeMixedClassDeclaration.mapCode.ts b/tests/baselines/reference/mapCodeMixedClassDeclaration.mapCode.ts new file mode 100644 index 0000000000000..c0321464e0a32 --- /dev/null +++ b/tests/baselines/reference/mapCodeMixedClassDeclaration.mapCode.ts @@ -0,0 +1,35 @@ +// === mapCode === + +// === ORIGINAL === +class MyClass {[||] + x = 1; + foo() { + return 1; + } + bar() { + return 2; + } +} + +// === INCOMING CHANGES === + +x = 3; +bar() { + return 'hello'; +} +baz() { + return 3; +} +y = 2; + +// === MAPPED === +class MyClass { + x = 3; + bar() { + return "hello"; + } + baz() { + return 3; + } + y = 2; +} diff --git a/tests/baselines/reference/mapCodeMultipleChangesAndRanges.mapCode.ts b/tests/baselines/reference/mapCodeMultipleChangesAndRanges.mapCode.ts new file mode 100644 index 0000000000000..1105222b7595b --- /dev/null +++ b/tests/baselines/reference/mapCodeMultipleChangesAndRanges.mapCode.ts @@ -0,0 +1,52 @@ +// === mapCode === + +// === ORIGINAL === + +[|function foo() { + const x: number = 1; + const y: number = 2; + if (x === y) [||]{ + console.log("hello"); + console.log("you"); + } + return 1; +}|] + +function bar() { + [|return 2|]; +} + +// === INCOMING CHANGES === + +if (x === y) { + console.log("goodbye"); + console.log("world"); +} + +// --- + +function bar() { + return 3; +} + +// --- + +method() { + return 'nope'; +} + +// === MAPPED === + +function foo() { + const x: number = 1; + const y: number = 2; + if (x === y) { + console.log("goodbye"); + console.log("world"); + } + return 1; +} + +function bar() { + return 3; +} diff --git a/tests/baselines/reference/mapCodeNestedClassIfInsertion.mapCode.ts b/tests/baselines/reference/mapCodeNestedClassIfInsertion.mapCode.ts new file mode 100644 index 0000000000000..09a9e3024fef4 --- /dev/null +++ b/tests/baselines/reference/mapCodeNestedClassIfInsertion.mapCode.ts @@ -0,0 +1,42 @@ +// === mapCode === + +// === ORIGINAL === +class MyClass { + x = 1; + foo() { + return 1; + } + bar() { + if (true)[||] { + return 2; + } + } + baz() { + return 3; + } +} + +// === INCOMING CHANGES === + +if (false) { + return "hello"; +} + +// === MAPPED === +class MyClass { + x = 1; + foo() { + return 1; + } + bar() { + if (true) { + return 2; + if (false) { + return "hello"; + } + } + } + baz() { + return 3; + } +} diff --git a/tests/baselines/reference/mapCodeNestedClassIfReplacement.mapCode.ts b/tests/baselines/reference/mapCodeNestedClassIfReplacement.mapCode.ts new file mode 100644 index 0000000000000..e4708e591df81 --- /dev/null +++ b/tests/baselines/reference/mapCodeNestedClassIfReplacement.mapCode.ts @@ -0,0 +1,39 @@ +// === mapCode === + +// === ORIGINAL === +class MyClass { + x = 1; + foo() { + return 1; + } + bar() { + if (true) [||]{ + return 2; + } + } + baz() { + return 3; + } +} + +// === INCOMING CHANGES === + +if (true) { + return "hello"; +} + +// === MAPPED === +class MyClass { + x = 1; + foo() { + return 1; + } + bar() { + if (true) { + return "hello"; + } + } + baz() { + return 3; + } +} diff --git a/tests/baselines/reference/mapCodeNestedForInsertion.mapCode.ts b/tests/baselines/reference/mapCodeNestedForInsertion.mapCode.ts new file mode 100644 index 0000000000000..11076bb631335 --- /dev/null +++ b/tests/baselines/reference/mapCodeNestedForInsertion.mapCode.ts @@ -0,0 +1,34 @@ +// === mapCode === + +// === ORIGINAL === +function foo() { + const x: number = 1; + const y: number = 2; + for (let i = 0; i < 10; i++) [||]{ + console.log("hello"); + console.log("you"); + } + return 1; +} + +// === INCOMING CHANGES === + +for (let j = 0; j < 10; j++) { + console.log("goodbye"); + console.log("world"); +} + +// === MAPPED === +function foo() { + const x: number = 1; + const y: number = 2; + for (let i = 0; i < 10; i++) { + console.log("hello"); + console.log("you"); + for (let j = 0; j < 10; j++) { + console.log("goodbye"); + console.log("world"); + } + } + return 1; +} diff --git a/tests/baselines/reference/mapCodeNestedForOfInsertion.mapCode.ts b/tests/baselines/reference/mapCodeNestedForOfInsertion.mapCode.ts new file mode 100644 index 0000000000000..19673ad8160ff --- /dev/null +++ b/tests/baselines/reference/mapCodeNestedForOfInsertion.mapCode.ts @@ -0,0 +1,30 @@ +// === mapCode === + +// === ORIGINAL === +function foo() { + for (const x of [1, 2, 3])[||] { + console.log("hello"); + console.log("you"); + } + return 1; +} + +// === INCOMING CHANGES === + +for (const y of [1, 2, 3]) { + console.log("goodbye"); + console.log("world"); +} + +// === MAPPED === +function foo() { + for (const x of [1, 2, 3]) { + console.log("hello"); + console.log("you"); + for (const y of [1, 2, 3]) { + console.log("goodbye"); + console.log("world"); + } + } + return 1; +} diff --git a/tests/baselines/reference/mapCodeNestedForOfReplacement.mapCode.ts b/tests/baselines/reference/mapCodeNestedForOfReplacement.mapCode.ts new file mode 100644 index 0000000000000..c0f25917e2592 --- /dev/null +++ b/tests/baselines/reference/mapCodeNestedForOfReplacement.mapCode.ts @@ -0,0 +1,26 @@ +// === mapCode === + +// === ORIGINAL === +function foo() { + for (const x of [1, 2, 3]) [||]{ + console.log("hello"); + console.log("you"); + } + return 1; +} + +// === INCOMING CHANGES === + +for (const x of [1, 2, 3]) { + console.log("goodbye"); + console.log("world"); +} + +// === MAPPED === +function foo() { + for (const x of [1, 2, 3]) { + console.log("goodbye"); + console.log("world"); + } + return 1; +} diff --git a/tests/baselines/reference/mapCodeNestedForReplacement.mapCode.ts b/tests/baselines/reference/mapCodeNestedForReplacement.mapCode.ts new file mode 100644 index 0000000000000..d0ed70bd659d3 --- /dev/null +++ b/tests/baselines/reference/mapCodeNestedForReplacement.mapCode.ts @@ -0,0 +1,26 @@ +// === mapCode === + +// === ORIGINAL === +function foo() { + for (let x = 0; x < 10; x++) [||]{ + console.log("hello"); + console.log("you"); + } + return 1; +} + +// === INCOMING CHANGES === + +for (let x = 0; x < 10; x++) { + console.log("goodbye"); + console.log("world"); +} + +// === MAPPED === +function foo() { + for (let x = 0; x < 10; x++) { + console.log("goodbye"); + console.log("world"); + } + return 1; +} diff --git a/tests/baselines/reference/mapCodeNestedIfInsertion.mapCode.ts b/tests/baselines/reference/mapCodeNestedIfInsertion.mapCode.ts new file mode 100644 index 0000000000000..2d9a00c10a465 --- /dev/null +++ b/tests/baselines/reference/mapCodeNestedIfInsertion.mapCode.ts @@ -0,0 +1,34 @@ +// === mapCode === + +// === ORIGINAL === +function foo() { + const x: number = 1; + const y: number = 2; + if (x === y) [||]{ + console.log("hello"); + console.log("you"); + } + return 1; +} + +// === INCOMING CHANGES === + +if (y === x) { + console.log("goodbye"); + console.log("world"); +} + +// === MAPPED === +function foo() { + const x: number = 1; + const y: number = 2; + if (x === y) { + console.log("hello"); + console.log("you"); + if (y === x) { + console.log("goodbye"); + console.log("world"); + } + } + return 1; +} diff --git a/tests/baselines/reference/mapCodeNestedIfReplace.mapCode.ts b/tests/baselines/reference/mapCodeNestedIfReplace.mapCode.ts new file mode 100644 index 0000000000000..5e999ee8b1c6f --- /dev/null +++ b/tests/baselines/reference/mapCodeNestedIfReplace.mapCode.ts @@ -0,0 +1,30 @@ +// === mapCode === + +// === ORIGINAL === +function foo() { + const x: number = 1; + const y: number = 2; + if (x === y) [||]{ + console.log("hello"); + console.log("you"); + } + return 1; +} + +// === INCOMING CHANGES === + +if (x === y) { + console.log("goodbye"); + console.log("world"); +} + +// === MAPPED === +function foo() { + const x: number = 1; + const y: number = 2; + if (x === y) { + console.log("goodbye"); + console.log("world"); + } + return 1; +} diff --git a/tests/baselines/reference/mapCodeNestedLabeledInsertion.mapCode.ts b/tests/baselines/reference/mapCodeNestedLabeledInsertion.mapCode.ts new file mode 100644 index 0000000000000..f4e6f1806776f --- /dev/null +++ b/tests/baselines/reference/mapCodeNestedLabeledInsertion.mapCode.ts @@ -0,0 +1,38 @@ +// === mapCode === + +// === ORIGINAL === +function foo() { + const x: number = 1; + const y: number = 2; + myLabel: if (x === y) [||]{ + console.log("hello"); + console.log("you"); + break myLabel; + } + return 1; +} + +// === INCOMING CHANGES === + +otherLabel: if (y === x) { + console.log("goodbye"); + console.log("world"); + break otherLabel; +} + +// === MAPPED === +function foo() { + const x: number = 1; + const y: number = 2; + myLabel: if (x === y) { + console.log("hello"); + console.log("you"); + break myLabel; + otherLabel: if (y === x) { + console.log("goodbye"); + console.log("world"); + break otherLabel; + } + } + return 1; +} diff --git a/tests/baselines/reference/mapCodeNestedLabeledReplace.mapCode.ts b/tests/baselines/reference/mapCodeNestedLabeledReplace.mapCode.ts new file mode 100644 index 0000000000000..e1f3f34d52060 --- /dev/null +++ b/tests/baselines/reference/mapCodeNestedLabeledReplace.mapCode.ts @@ -0,0 +1,33 @@ +// === mapCode === + +// === ORIGINAL === +function foo() { + const x: number = 1; + const y: number = 2; + myLabel: if (x === y) [||]{ + console.log("hello"); + console.log("you"); + break myLabel; + } + return 1; +} + +// === INCOMING CHANGES === + +myLabel: if (y === x) { + console.log("goodbye"); + console.log("world"); + break myLabel; +} + +// === MAPPED === +function foo() { + const x: number = 1; + const y: number = 2; + myLabel: if (y === x) { + console.log("goodbye"); + console.log("world"); + break myLabel; + } + return 1; +} diff --git a/tests/baselines/reference/mapCodeNestedWhileInsertion.mapCode.ts b/tests/baselines/reference/mapCodeNestedWhileInsertion.mapCode.ts new file mode 100644 index 0000000000000..b16b14907addb --- /dev/null +++ b/tests/baselines/reference/mapCodeNestedWhileInsertion.mapCode.ts @@ -0,0 +1,34 @@ +// === mapCode === + +// === ORIGINAL === +function foo() { + const x: number = 1; + const y: number = 2; + while (x === y) [||]{ + console.log("hello"); + console.log("you"); + } + return 1; +} + +// === INCOMING CHANGES === + +while (y === x) { + console.log("goodbye"); + console.log("world"); +} + +// === MAPPED === +function foo() { + const x: number = 1; + const y: number = 2; + while (x === y) { + console.log("hello"); + console.log("you"); + while (y === x) { + console.log("goodbye"); + console.log("world"); + } + } + return 1; +} diff --git a/tests/baselines/reference/mapCodeNestedWhileReplace.mapCode.ts b/tests/baselines/reference/mapCodeNestedWhileReplace.mapCode.ts new file mode 100644 index 0000000000000..f9a7182b543a3 --- /dev/null +++ b/tests/baselines/reference/mapCodeNestedWhileReplace.mapCode.ts @@ -0,0 +1,30 @@ +// === mapCode === + +// === ORIGINAL === +function foo() { + const x: number = 1; + const y: number = 2; + while (x === y) [||]{ + console.log("hello"); + console.log("you"); + } + return 1; +} + +// === INCOMING CHANGES === + +while (x === y) { + console.log("goodbye"); + console.log("world"); +} + +// === MAPPED === +function foo() { + const x: number = 1; + const y: number = 2; + while (x === y) { + console.log("goodbye"); + console.log("world"); + } + return 1; +} diff --git a/tests/baselines/reference/mapCodeNoChanges.mapCode.ts b/tests/baselines/reference/mapCodeNoChanges.mapCode.ts new file mode 100644 index 0000000000000..fc7b528959574 --- /dev/null +++ b/tests/baselines/reference/mapCodeNoChanges.mapCode.ts @@ -0,0 +1,27 @@ +// === mapCode === + +// === ORIGINAL === +function foo() { + return 1; +} +[||] +function bar() { + return 2; +} +function baz() { + return 3; +} + +// === INCOMING CHANGES === + +// === MAPPED === +function foo() { + return 1; +} + +function bar() { + return 2; +} +function baz() { + return 3; +} diff --git a/tests/baselines/reference/mapCodeNoRanges.mapCode.ts b/tests/baselines/reference/mapCodeNoRanges.mapCode.ts new file mode 100644 index 0000000000000..17553ff569f3d --- /dev/null +++ b/tests/baselines/reference/mapCodeNoRanges.mapCode.ts @@ -0,0 +1,27 @@ +// === mapCode === + +// === ORIGINAL === +function foo() { + return 1; +} +function bar() { + return 2; +} + +// === INCOMING CHANGES === + +function baz() { + return 3; +} + +// === MAPPED === +function foo() { + return 1; +} +function bar() { + return 2; +} + +function baz() { + return 3; +} diff --git a/tests/baselines/reference/mapCodePlainJsInsertion.mapCode.ts b/tests/baselines/reference/mapCodePlainJsInsertion.mapCode.ts new file mode 100644 index 0000000000000..0cbd78d94f91e --- /dev/null +++ b/tests/baselines/reference/mapCodePlainJsInsertion.mapCode.ts @@ -0,0 +1,25 @@ +// === mapCode === + +// === ORIGINAL === +function foo() { + return 1; +}[||] +function bar() { + return 2; +} +// === INCOMING CHANGES === + +function baz() { + return 3; +} + +// === MAPPED === +function foo() { + return 1; +} +function bar() { + return 2; +} +function baz() { + return 3; +} diff --git a/tests/baselines/reference/mapCodeRangeReplacement.mapCode.ts b/tests/baselines/reference/mapCodeRangeReplacement.mapCode.ts new file mode 100644 index 0000000000000..8d986a0607c2c --- /dev/null +++ b/tests/baselines/reference/mapCodeRangeReplacement.mapCode.ts @@ -0,0 +1,44 @@ +// === mapCode === + +// === ORIGINAL === +function foo() { + return 1; +} +if (foo == bar) { + console.log("hello"); + console.log("you"); +} +[||] +function bar() { + return 2; +} +function baz() { + return 3; +} +while (false) { + console.log("weee"); +} + +// === INCOMING CHANGES === + +if (foo == bar) { + console.log("huh"); +} + +function baz() { + return 'baz'; +} + +// === MAPPED === +function foo() { + return 1; +} +if (foo == bar) { + console.log("huh"); +} +function baz() { + return "baz"; +} +while (false) { + console.log("weee"); +} diff --git a/tests/baselines/reference/mapCodeReplaceUsingRange.mapCode.ts b/tests/baselines/reference/mapCodeReplaceUsingRange.mapCode.ts new file mode 100644 index 0000000000000..147e8bf542464 --- /dev/null +++ b/tests/baselines/reference/mapCodeReplaceUsingRange.mapCode.ts @@ -0,0 +1,23 @@ +// === mapCode === + +// === ORIGINAL === +[|function foo() { + return 1; +}[||] +function bar() { + return [|2;|] +}|] + +// === INCOMING CHANGES === + +function foo() { + return 3; +} + +// === MAPPED === +function foo() { + return 3; +} +function bar() { + return 2; +} diff --git a/tests/baselines/reference/mapCodeToplevelInsert.mapCode.ts b/tests/baselines/reference/mapCodeToplevelInsert.mapCode.ts new file mode 100644 index 0000000000000..0cbd78d94f91e --- /dev/null +++ b/tests/baselines/reference/mapCodeToplevelInsert.mapCode.ts @@ -0,0 +1,25 @@ +// === mapCode === + +// === ORIGINAL === +function foo() { + return 1; +}[||] +function bar() { + return 2; +} +// === INCOMING CHANGES === + +function baz() { + return 3; +} + +// === MAPPED === +function foo() { + return 1; +} +function bar() { + return 2; +} +function baz() { + return 3; +} diff --git a/tests/baselines/reference/mapCodeToplevelInsertNoClass.mapCode.ts b/tests/baselines/reference/mapCodeToplevelInsertNoClass.mapCode.ts new file mode 100644 index 0000000000000..54efddff0e38d --- /dev/null +++ b/tests/baselines/reference/mapCodeToplevelInsertNoClass.mapCode.ts @@ -0,0 +1,22 @@ +// === mapCode === + +// === ORIGINAL === +function foo() { + return 1; +}[||] +function bar() { + return 2; +} +// === INCOMING CHANGES === + +baz() { + return 3; +} + +// === MAPPED === +function foo() { + return 1; +} +function bar() { + return 2; +} \ No newline at end of file diff --git a/tests/baselines/reference/mapCodeToplevelReplace.mapCode.ts b/tests/baselines/reference/mapCodeToplevelReplace.mapCode.ts new file mode 100644 index 0000000000000..effe07ad6a785 --- /dev/null +++ b/tests/baselines/reference/mapCodeToplevelReplace.mapCode.ts @@ -0,0 +1,23 @@ +// === mapCode === + +// === ORIGINAL === +function foo() { + return 1; +}[||] +function bar() { + return 2; +} + +// === INCOMING CHANGES === + +function foo() { + return 3; +} + +// === MAPPED === +function foo() { + return 3; +} +function bar() { + return 2; +} diff --git a/tests/baselines/reference/mapGroupBy.symbols b/tests/baselines/reference/mapGroupBy.symbols index 4905d158fc9d8..356b4e680baf4 100644 --- a/tests/baselines/reference/mapGroupBy.symbols +++ b/tests/baselines/reference/mapGroupBy.symbols @@ -24,9 +24,9 @@ type Employee = { name: string, role: 'ic' | 'manager' } const employees: Set = new Set(); >employees : Symbol(employees, Decl(mapGroupBy.ts, 5, 5)) ->Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.esnext.collection.d.ts, --, --)) >Employee : Symbol(Employee, Decl(mapGroupBy.ts, 2, 46)) ->Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.esnext.collection.d.ts, --, --)) const byRole = Map.groupBy(employees, x => x.role); >byRole : Symbol(byRole, Decl(mapGroupBy.ts, 6, 5)) diff --git a/tests/baselines/reference/mapGroupBy.types b/tests/baselines/reference/mapGroupBy.types index fefa9a0fbcf49..090af0f19de64 100644 --- a/tests/baselines/reference/mapGroupBy.types +++ b/tests/baselines/reference/mapGroupBy.types @@ -7,11 +7,11 @@ const basic = Map.groupBy([0, 2, 8], x => x < 5 ? 'small' : 'large'); >Map.groupBy([0, 2, 8], x => x < 5 ? 'small' : 'large') : Map<"small" | "large", number[]> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Map.groupBy : (items: Iterable, keySelector: (item: T, index: number) => K) => Map -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Map : MapConstructor > : ^^^^^^^^^^^^^^ >groupBy : (items: Iterable, keySelector: (item: T, index: number) => K) => Map -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >[0, 2, 8] : number[] > : ^^^^^^^^ >0 : 0 @@ -43,11 +43,11 @@ const chars = Map.groupBy('a string', c => c); >Map.groupBy('a string', c => c) : Map > : ^^^^^^^^^^^^^^^^^^^^^ >Map.groupBy : (items: Iterable, keySelector: (item: T, index: number) => K) => Map -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Map : MapConstructor > : ^^^^^^^^^^^^^^ >groupBy : (items: Iterable, keySelector: (item: T, index: number) => K) => Map -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >'a string' : "a string" > : ^^^^^^^^^^ >c => c : (c: string) => string @@ -79,11 +79,11 @@ const byRole = Map.groupBy(employees, x => x.role); >Map.groupBy(employees, x => x.role) : Map<"ic" | "manager", Employee[]> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Map.groupBy : (items: Iterable, keySelector: (item: T, index: number) => K) => Map -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Map : MapConstructor > : ^^^^^^^^^^^^^^ >groupBy : (items: Iterable, keySelector: (item: T, index: number) => K) => Map -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >employees : Set > : ^^^^^^^^^^^^^ >x => x.role : (x: Employee) => "ic" | "manager" @@ -103,11 +103,11 @@ const byNonKey = Map.groupBy(employees, x => x); >Map.groupBy(employees, x => x) : Map > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >Map.groupBy : (items: Iterable, keySelector: (item: T, index: number) => K) => Map -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Map : MapConstructor > : ^^^^^^^^^^^^^^ >groupBy : (items: Iterable, keySelector: (item: T, index: number) => K) => Map -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >employees : Set > : ^^^^^^^^^^^^^ >x => x : (x: Employee) => Employee diff --git a/tests/baselines/reference/mapOnTupleTypes01.types b/tests/baselines/reference/mapOnTupleTypes01.types index 56151f4cda4e7..75753b5a7af42 100644 --- a/tests/baselines/reference/mapOnTupleTypes01.types +++ b/tests/baselines/reference/mapOnTupleTypes01.types @@ -7,7 +7,7 @@ export let mapOnLooseArrayLiteral = [1, 2, 3, 4].map(n => n * n); >[1, 2, 3, 4].map(n => n * n) : number[] > : ^^^^^^^^ >[1, 2, 3, 4].map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >[1, 2, 3, 4] : number[] > : ^^^^^^^^ >1 : 1 @@ -19,7 +19,7 @@ export let mapOnLooseArrayLiteral = [1, 2, 3, 4].map(n => n * n); >4 : 4 > : ^ >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >n => n * n : (n: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >n : number @@ -47,11 +47,11 @@ export let a = numTuple.map(x => x * x); >numTuple.map(x => x * x) : number[] > : ^^^^^^^^ >numTuple.map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >numTuple : [number] > : ^^^^^^^^ >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >x => x * x : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number @@ -101,11 +101,11 @@ export let b = numNum.map(n => n * n); >numNum.map(n => n * n) : number[] > : ^^^^^^^^ >numNum.map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >numNum : [number, number] > : ^^^^^^^^^^^^^^^^ >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >n => n * n : (n: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >n : number @@ -123,11 +123,11 @@ export let c = strStr.map(s => s.charCodeAt(0)); >strStr.map(s => s.charCodeAt(0)) : number[] > : ^^^^^^^^ >strStr.map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >strStr : [string, string] > : ^^^^^^^^^^^^^^^^ >map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >s => s.charCodeAt(0) : (s: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >s : string @@ -135,11 +135,11 @@ export let c = strStr.map(s => s.charCodeAt(0)); >s.charCodeAt(0) : number > : ^^^^^^ >s.charCodeAt : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >s : string > : ^^^^^^ >charCodeAt : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ @@ -149,11 +149,11 @@ export let d = numStr.map(x => x); >numStr.map(x => x) : (string | number)[] > : ^^^^^^^^^^^^^^^^^^^ >numStr.map : (callbackfn: (value: string | number, index: number, array: (string | number)[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >numStr : [number, string] > : ^^^^^^^^^^^^^^^^ >map : (callbackfn: (value: string | number, index: number, array: (string | number)[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >x => x : (x: string | number) => string | number > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : string | number @@ -181,11 +181,11 @@ export let e = numNumNum.map(n => n * n); >numNumNum.map(n => n * n) : number[] > : ^^^^^^^^ >numNumNum.map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >numNumNum : [number, number, number] > : ^^^^^^^^^^^^^^^^^^^^^^^^ >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >n => n * n : (n: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >n : number @@ -219,11 +219,11 @@ export let f = numNumNumNum.map(n => n * n); >numNumNumNum.map(n => n * n) : number[] > : ^^^^^^^^ >numNumNumNum.map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >numNumNumNum : [number, number, number, number] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >n => n * n : (n: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >n : number @@ -259,11 +259,11 @@ export let g = numNumNumNumNum.map(n => n * n); >numNumNumNumNum.map(n => n * n) : number[] > : ^^^^^^^^ >numNumNumNumNum.map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >numNumNumNumNum : [number, number, number, number, number] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >n => n * n : (n: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >n : number @@ -302,11 +302,11 @@ export let h = numNumNumNumNum.map(n => n * n); >numNumNumNumNum.map(n => n * n) : number[] > : ^^^^^^^^ >numNumNumNumNum.map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >numNumNumNumNum : [number, number, number, number, number] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >n => n * n : (n: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >n : number diff --git a/tests/baselines/reference/mapOnTupleTypes02.types b/tests/baselines/reference/mapOnTupleTypes02.types index c120aa956708f..cb6550e7c02b5 100644 --- a/tests/baselines/reference/mapOnTupleTypes02.types +++ b/tests/baselines/reference/mapOnTupleTypes02.types @@ -15,11 +15,11 @@ export function increment(point: Point) { >point.map(d => d + 1) : number[] > : ^^^^^^^^ >point.map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >point : Point > : ^^^^^ >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >d => d + 1 : (d: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >d : number diff --git a/tests/baselines/reference/mappedToToIndexSignatureInference.types b/tests/baselines/reference/mappedToToIndexSignatureInference.types index 09eebb12bafd3..c3fcd988fff4d 100644 --- a/tests/baselines/reference/mappedToToIndexSignatureInference.types +++ b/tests/baselines/reference/mappedToToIndexSignatureInference.types @@ -3,7 +3,7 @@ === mappedToToIndexSignatureInference.ts === declare const fn: (object: { [Key in K]: V }) => object; >fn : (object: { [Key in K]: V; }) => object -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ >object : { [Key in K]: V; } > : ^^^^^^^^^^^^^^^^^^ @@ -17,7 +17,7 @@ fn(a); >fn(a) : object > : ^^^^^^ >fn : (object: { [Key in K]: V; }) => object -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ >a : { [index: string]: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -25,7 +25,7 @@ fn(a); declare function enumValues(e: Record): V[]; >enumValues : (e: Record) => V[] -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >e : Record > : ^^^^^^^^^^^^ @@ -47,7 +47,7 @@ let x: E[] = enumValues(E); >enumValues(E) : E[] > : ^^^ >enumValues : (e: Record) => V[] -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >E : typeof E > : ^^^^^^^^ diff --git a/tests/baselines/reference/mappedTypeAsStringTemplate.types b/tests/baselines/reference/mappedTypeAsStringTemplate.types index 8528fd8c8308c..0d40a2c2bf3a2 100644 --- a/tests/baselines/reference/mappedTypeAsStringTemplate.types +++ b/tests/baselines/reference/mappedTypeAsStringTemplate.types @@ -5,7 +5,7 @@ function foo}y`]: number }>(foox: T) { } >foo : }y`]: number; }>(foox: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >foox : T > : ^ @@ -23,7 +23,7 @@ foo(c); >foo(c) : void > : ^^^^ >foo : }y`]: number; }>(foox: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >c : { x: number; } > : ^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/mappedTypeConstraints.types b/tests/baselines/reference/mappedTypeConstraints.types index 763bad9249c7e..b796c17e79844 100644 --- a/tests/baselines/reference/mappedTypeConstraints.types +++ b/tests/baselines/reference/mappedTypeConstraints.types @@ -3,7 +3,7 @@ === mappedTypeConstraints.ts === function f0(obj: Pick>) { >f0 : (obj: Pick>) => void -> : ^ ^^^^^^^^^^^^^^ ^^^^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >a : string > : ^^^^^^ >b : string @@ -22,7 +22,7 @@ function f0(obj: Pick(obj: Pick>) { >f1 : (obj: Pick>) => void -> : ^ ^^^^^^^^^^^^^^ ^^^^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >a : string > : ^^^^^^ >b : string @@ -41,7 +41,7 @@ function f1(obj: Pick(obj: Pick) { >f2 : (obj: Pick) => void -> : ^ ^^^^^^^^^^^^^^ ^^^^^ ^^^^^ ^^^^^^^^^^^^^^ ^^^^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >a : string > : ^^^^^^ >b : string @@ -64,7 +64,7 @@ function f2(obj: Pick) { >f3 : (obj: Pick) => void -> : ^ ^^^^^^^^^^^^^^ ^^^^^ ^^^^^ ^^^^^^^^^^^^^^ ^^^^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >a : string > : ^^^^^^ >b : string @@ -103,7 +103,7 @@ function f3(obj: Record | 'c', string>) { >f4 : (obj: Record | "c", string>) => void -> : ^ ^^^^^^^^^^^^^^ ^^^^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >a : string > : ^^^^^^ >b : string @@ -146,9 +146,9 @@ type TargetProps = { const modifier = (targetProps: T) => { >modifier : (targetProps: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >(targetProps: T) => { let {bar, ...rest} = targetProps; rest.foo;} : (targetProps: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >targetProps : T > : ^ diff --git a/tests/baselines/reference/mappedTypeConstraints2.types b/tests/baselines/reference/mappedTypeConstraints2.types index 61da4f7a3182f..521fec1f4927d 100644 --- a/tests/baselines/reference/mappedTypeConstraints2.types +++ b/tests/baselines/reference/mappedTypeConstraints2.types @@ -9,7 +9,7 @@ type Mapped1 = { [P in K]: { a: P } }; function f1(obj: Mapped1, key: K) { >f1 : (obj: Mapped1, key: K) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >obj : Mapped1 > : ^^^^^^^^^^ >key : K @@ -36,7 +36,7 @@ type Mapped2 = { [P in K as `get${P}`]: { a: P } }; function f2(obj: Mapped2, key: `get${K}`) { >f2 : (obj: Mapped2, key: `get${K}`) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >obj : Mapped2 > : ^^^^^^^^^^ >key : `get${K}` @@ -63,7 +63,7 @@ type Mapped3 = { [P in K as Uppercase

    ]: { a: P } }; function f3(obj: Mapped3, key: Uppercase) { >f3 : (obj: Mapped3, key: Uppercase) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >obj : Mapped3 > : ^^^^^^^^^^ >key : Uppercase @@ -91,7 +91,7 @@ type Mapped4 = { function f4(obj: Mapped4, key: keyof Mapped4) { >f4 : (obj: Mapped4, key: keyof Mapped4) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >obj : Mapped4 > : ^^^^^^^^^^ >key : K @@ -117,7 +117,7 @@ type Mapped5 = { function f5(obj: Mapped5, key: keyof Mapped5) { >f5 : (obj: Mapped5, key: keyof Mapped5) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >obj : Mapped5 > : ^^^^^^^^^^ >key : K extends `_${string}` ? K : never @@ -145,7 +145,7 @@ type Mapped6 = { function f6(obj: Mapped6, key: keyof Mapped6) { >f6 : (obj: Mapped6, key: keyof Mapped6) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >obj : Mapped6 > : ^^^^^^^^^^ >key : keyof Mapped6 @@ -173,9 +173,9 @@ type Foo = { const get = (t: T, foo: Foo): T => foo[`get${t}`]; // Type 'Foo[`get${T}`]' is not assignable to type 'T' >get : (t: T, foo: Foo) => T -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >(t: T, foo: Foo): T => foo[`get${t}`] : (t: T, foo: Foo) => T -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >t : T > : ^ >foo : Foo @@ -210,7 +210,7 @@ type NumericBoundsOf = { function validate(obj: T, bounds: NumericBoundsOf) { >validate : (obj: T, bounds: NumericBoundsOf) => boolean -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >obj : T > : ^ >bounds : NumericBoundsOf @@ -224,11 +224,11 @@ function validate(obj: T, bounds: NumericBoundsOf) { >Object.entries(obj) : [string, any][] > : ^^^^^^^^^^^^^^^ >Object.entries : { (o: { [s: string]: T_1; } | ArrayLike): [string, T_1][]; (o: {}): [string, any][]; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >entries : { (o: { [s: string]: T_1; } | ArrayLike): [string, T_1][]; (o: {}): [string, any][]; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >obj : T > : ^ @@ -294,7 +294,7 @@ type ObjectWithUnderscoredKeys = { function genericTest(objectWithUnderscoredKeys: ObjectWithUnderscoredKeys, key: K) { >genericTest : (objectWithUnderscoredKeys: ObjectWithUnderscoredKeys, key: K) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >objectWithUnderscoredKeys : ObjectWithUnderscoredKeys > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >key : K diff --git a/tests/baselines/reference/mappedTypeContextualTypesApplied.types b/tests/baselines/reference/mappedTypeContextualTypesApplied.types index 53b159648e740..bbbaf78c97218 100644 --- a/tests/baselines/reference/mappedTypeContextualTypesApplied.types +++ b/tests/baselines/reference/mappedTypeContextualTypesApplied.types @@ -10,20 +10,20 @@ type TakeString = (s: string) => any; // Various functions accepting an object whose properties are TakeString functions. // Note these all use mapped types. declare function mapped1(obj: T): void; ->mapped1 : (obj: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +>mapped1 : (obj: T) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >obj : T > : ^ declare function mapped2(obj: T): void; >mapped2 : (obj: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >obj : T > : ^ declare function mapped3(obj: T): void; ->mapped3 : (obj: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +>mapped3 : (obj: T) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >obj : T > : ^ @@ -35,39 +35,39 @@ declare function mapped4(obj: T & {[P in keyof T]: TakeString}): void; declare function mapped5(obj: T & {[P in K]: TakeString}): void; >mapped5 : (obj: T & { [P in K]: TakeString; }) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >obj : T & { [P in K]: TakeString; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ declare function mapped6(obj: {[P in K]: TakeString}): void; >mapped6 : (obj: { [P in K]: TakeString; }) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >obj : { [P in K]: TakeString; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ declare function mapped7(obj: {[P in K]: TakeString}): void; ->mapped7 : (obj: { [P in K]: TakeString; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +>mapped7 : (obj: { [P in K]: TakeString; }) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >obj : { [P in K]: TakeString; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ declare function mapped8(obj: {[P in K]: TakeString}): void; >mapped8 : (obj: { [P in K]: TakeString; }) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >obj : { [P in K]: TakeString; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ declare function mapped9(obj: {[P in K]: TakeString}): void; >mapped9 : (obj: { [P in K]: TakeString; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >obj : { [P in K]: TakeString; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ mapped1({foo: s => 42}); >mapped1({foo: s => 42}) : void > : ^^^^ ->mapped1 : (obj: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>mapped1 : (obj: T) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{foo: s => 42} : { foo: (s: string) => number; } > : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >foo : (s: string) => number @@ -83,7 +83,7 @@ mapped2({foo: s => 42}); >mapped2({foo: s => 42}) : void > : ^^^^ >mapped2 : (obj: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{foo: s => 42} : { foo: (s: string) => number; } > : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >foo : (s: string) => number @@ -98,8 +98,8 @@ mapped2({foo: s => 42}); mapped3({foo: s => 42}); >mapped3({foo: s => 42}) : void > : ^^^^ ->mapped3 : (obj: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>mapped3 : (obj: T) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{foo: s => 42} : { foo: (s: string) => number; } > : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >foo : (s: string) => number @@ -115,7 +115,7 @@ mapped4({foo: s => 42}); >mapped4({foo: s => 42}) : void > : ^^^^ >mapped4 : (obj: T & { [P in keyof T]: TakeString; }) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{foo: s => 42} : { foo: (s: string) => number; } > : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >foo : (s: string) => number @@ -131,7 +131,7 @@ mapped5({foo: s => 42}); >mapped5({foo: s => 42}) : void > : ^^^^ >mapped5 : (obj: T & { [P in K]: TakeString; }) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{foo: s => 42} : { foo: (s: string) => number; } > : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >foo : (s: string) => number @@ -147,7 +147,7 @@ mapped6({foo: s => 42}); >mapped6({foo: s => 42}) : void > : ^^^^ >mapped6 : (obj: { [P in K]: TakeString; }) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{foo: s => 42} : { foo: (s: string) => number; } > : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >foo : (s: string) => number @@ -162,8 +162,8 @@ mapped6({foo: s => 42}); mapped7({foo: s => 42}); >mapped7({foo: s => 42}) : void > : ^^^^ ->mapped7 : (obj: { [P in K]: TakeString; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>mapped7 : (obj: { [P in K]: TakeString; }) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{foo: s => 42} : { foo: (s: string) => number; } > : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >foo : (s: string) => number @@ -179,7 +179,7 @@ mapped8({foo: s => 42}); >mapped8({foo: s => 42}) : void > : ^^^^ >mapped8 : (obj: { [P in K]: TakeString; }) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{foo: s => 42} : { foo: (s: string) => number; } > : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >foo : (s: string) => number @@ -195,7 +195,7 @@ mapped9({foo: s => 42}); >mapped9({foo: s => 42}) : void > : ^^^^ >mapped9 : (obj: { [P in K]: TakeString; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{foo: s => 42} : { foo: (s: string) => number; } > : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >foo : (s: string) => number diff --git a/tests/baselines/reference/mappedTypeErrors.types b/tests/baselines/reference/mappedTypeErrors.types index 05e92a61f7ab2..64c394243f6fd 100644 --- a/tests/baselines/reference/mappedTypeErrors.types +++ b/tests/baselines/reference/mappedTypeErrors.types @@ -94,7 +94,7 @@ function f1(x: T) { function f2(x: T) { >f2 : (x: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ @@ -105,7 +105,7 @@ function f2(x: T) { function f3(x: T) { >f3 : (x: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ @@ -115,8 +115,8 @@ function f3(x: T) { } function f4(x: T) { ->f4 : (x: T) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>f4 : (x: T) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ @@ -210,7 +210,7 @@ function f20() { >objAndReadonly({ x: 0, y: 0 }, { x: 1 }) : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >objAndReadonly : (primary: T, secondary: Readonly) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >{ x: 0, y: 0 } : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -234,7 +234,7 @@ function f20() { >objAndReadonly({ x: 0, y: 0 }, { x: 1, y: 1 }) : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >objAndReadonly : (primary: T, secondary: Readonly) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >{ x: 0, y: 0 } : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -262,7 +262,7 @@ function f20() { >objAndReadonly({ x: 0, y: 0 }, { x: 1, y: 1, z: 1 }) : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >objAndReadonly : (primary: T, secondary: Readonly) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >{ x: 0, y: 0 } : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -299,7 +299,7 @@ function f21() { >objAndPartial({ x: 0, y: 0 }, { x: 1 }) : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >objAndPartial : (primary: T, secondary: Partial) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >{ x: 0, y: 0 } : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -323,7 +323,7 @@ function f21() { >objAndPartial({ x: 0, y: 0 }, { x: 1, y: 1 }) : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >objAndPartial : (primary: T, secondary: Partial) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >{ x: 0, y: 0 } : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -351,7 +351,7 @@ function f21() { >objAndPartial({ x: 0, y: 0 }, { x: 1, y: 1, z: 1 }) : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >objAndPartial : (primary: T, secondary: Partial) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >{ x: 0, y: 0 } : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -392,7 +392,7 @@ interface Foo { function setState(obj: T, props: Pick) { >setState : (obj: T, props: Pick) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >obj : T > : ^ >props : Pick @@ -440,7 +440,7 @@ setState(foo, { a: "test", b: 43 }) >setState(foo, { a: "test", b: 43 }) : void > : ^^^^ >setState : (obj: T, props: Pick) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >foo : Foo > : ^^^ >{ a: "test", b: 43 } : { a: string; b: number; } @@ -458,7 +458,7 @@ setState(foo, { a: "hi" }); >setState(foo, { a: "hi" }) : void > : ^^^^ >setState : (obj: T, props: Pick) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >foo : Foo > : ^^^ >{ a: "hi" } : { a: string; } @@ -472,7 +472,7 @@ setState(foo, { b: undefined }); >setState(foo, { b: undefined }) : void > : ^^^^ >setState : (obj: T, props: Pick) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >foo : Foo > : ^^^ >{ b: undefined } : { b: undefined; } @@ -486,7 +486,7 @@ setState(foo, { }); >setState(foo, { }) : void > : ^^^^ >setState : (obj: T, props: Pick) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >foo : Foo > : ^^^ >{ } : {} @@ -496,7 +496,7 @@ setState(foo, foo); >setState(foo, foo) : void > : ^^^^ >setState : (obj: T, props: Pick) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >foo : Foo > : ^^^ >foo : Foo @@ -506,7 +506,7 @@ setState(foo, { a: undefined }); // Error >setState(foo, { a: undefined }) : void > : ^^^^ >setState : (obj: T, props: Pick) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >foo : Foo > : ^^^ >{ a: undefined } : { a: undefined; } @@ -520,7 +520,7 @@ setState(foo, { c: true }); // Error >setState(foo, { c: true }) : void > : ^^^^ >setState : (obj: T, props: Pick) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >foo : Foo > : ^^^ >{ c: true } : { c: boolean; } @@ -540,7 +540,7 @@ class C { setState(props: Pick) { >setState : (props: Pick) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >props : Pick > : ^^^^^^^^^^ @@ -718,8 +718,8 @@ let x2: Partial = { a: 'no' }; // Error > : ^^^^ let x3: { [P in keyof T2]: T2[P]} = { a: 'no' }; // Error ->x3 : { [x: string]: any; a?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x3 : { [x: string]: any; a?: number; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >{ a: 'no' } : { a: string; } > : ^^^^^^^^^^^^^^ >a : string @@ -800,7 +800,7 @@ let f: Foo2 = { function test1(obj: Pick) { >test1 : (obj: Pick) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >obj : Pick > : ^^^^^^^^^^ @@ -817,7 +817,7 @@ function test1(obj: Pick) { function test2(obj: Record) { >test2 : (obj: Record) => void -> : ^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >obj : Record > : ^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/mappedTypeGenericIndexedAccess.types b/tests/baselines/reference/mappedTypeGenericIndexedAccess.types index 8f70a8cbdc3dc..4cb47fadcc2de 100644 --- a/tests/baselines/reference/mappedTypeGenericIndexedAccess.types +++ b/tests/baselines/reference/mappedTypeGenericIndexedAccess.types @@ -38,25 +38,25 @@ class Test { entries: { [T in keyof Types]?: Types[T][] }; >entries : { first?: { a1: true; }[] | undefined; second?: { a2: true; }[] | undefined; third?: { a3: true; }[] | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ constructor() { this.entries = {}; >this.entries = {} : {} > : ^^ >this.entries : { first?: { a1: true; }[] | undefined; second?: { a2: true; }[] | undefined; third?: { a3: true; }[] | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >this : this > : ^^^^ >entries : { first?: { a1: true; }[] | undefined; second?: { a2: true; }[] | undefined; third?: { a3: true; }[] | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >{} : {} > : ^^ } addEntry(name: T, entry: Types[T]) { >addEntry : (name: T, entry: Types[T]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >name : T > : ^ >entry : Types[T] @@ -66,13 +66,13 @@ class Test { >!this.entries[name] : boolean > : ^^^^^^^ >this.entries[name] : { first?: { a1: true; }[] | undefined; second?: { a2: true; }[] | undefined; third?: { a3: true; }[] | undefined; }[T] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ >this.entries : { first?: { a1: true; }[] | undefined; second?: { a2: true; }[] | undefined; third?: { a3: true; }[] | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >this : this > : ^^^^ >entries : { first?: { a1: true; }[] | undefined; second?: { a2: true; }[] | undefined; third?: { a3: true; }[] | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >name : T > : ^ @@ -80,13 +80,13 @@ class Test { >this.entries[name] = [] : never[] > : ^^^^^^^ >this.entries[name] : { first?: { a1: true; }[] | undefined; second?: { a2: true; }[] | undefined; third?: { a3: true; }[] | undefined; }[T] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ >this.entries : { first?: { a1: true; }[] | undefined; second?: { a2: true; }[] | undefined; third?: { a3: true; }[] | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >this : this > : ^^^^ >entries : { first?: { a1: true; }[] | undefined; second?: { a2: true; }[] | undefined; third?: { a3: true; }[] | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >name : T > : ^ >[] : never[] @@ -96,19 +96,19 @@ class Test { >this.entries[name]?.push(entry) : number > : ^^^^^^ >this.entries[name]?.push : (...items: Types[T][]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^ >this.entries[name] : Types[T][] > : ^^^^^^^^^^ >this.entries : { first?: { a1: true; }[] | undefined; second?: { a2: true; }[] | undefined; third?: { a3: true; }[] | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >this : this > : ^^^^ >entries : { first?: { a1: true; }[] | undefined; second?: { a2: true; }[] | undefined; third?: { a3: true; }[] | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >name : T > : ^ >push : (...items: Types[T][]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^ >entry : Types[T] > : ^^^^^^^^ } @@ -172,11 +172,11 @@ const typeHandlers: TypeHandlers = { >console.log(p.foo) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >p.foo : "bar" > : ^^^^^ >p : P<0> @@ -196,11 +196,11 @@ const typeHandlers: TypeHandlers = { >console.log(p.a) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >p.a : "b" > : ^^^ >p : P<1> @@ -212,9 +212,9 @@ const typeHandlers: TypeHandlers = { const onSomeEvent = (p: P) => >onSomeEvent : (p: P) => void | undefined -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ >(p: P) => typeHandlers[p.t]?.(p) : (p: P) => void | undefined -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ >p : P > : ^^^^ @@ -222,13 +222,13 @@ const onSomeEvent = (p: P) => >typeHandlers[p.t]?.(p) : void | undefined > : ^^^^^^^^^^^^^^^^ >typeHandlers[p.t] : ((p: P) => void) | undefined -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ >typeHandlers : TypeHandlers > : ^^^^^^^^^^^^ >p.t : T > : ^ >p : { t: T; } & ({ foo: "bar"; } | { a: "b"; }) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^ >t : T > : ^ >p : P diff --git a/tests/baselines/reference/mappedTypeGenericInstantiationPreservesHomomorphism.types b/tests/baselines/reference/mappedTypeGenericInstantiationPreservesHomomorphism.types index c031566ba2f8a..cdbf993eebbb1 100644 --- a/tests/baselines/reference/mappedTypeGenericInstantiationPreservesHomomorphism.types +++ b/tests/baselines/reference/mappedTypeGenericInstantiationPreservesHomomorphism.types @@ -3,7 +3,7 @@ === internal.ts === export declare function usePrivateType(...args: T): PrivateMapped; >usePrivateType : (...args: T) => PrivateMapped -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >args : T > : ^ @@ -14,19 +14,19 @@ type PrivateMapped = {[K in keyof Obj]: Obj[K]}; === api.ts === import {usePrivateType} from './internal'; >usePrivateType : (...args: T) => T[any] extends infer T_1 ? { [K in keyof T_1]: T[any][K]; } : never -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ export const mappedUnionWithPrivateType = (...args: T) => usePrivateType(...args); >mappedUnionWithPrivateType : (...args: T) => T[any] extends infer T_1 ? { [K in keyof T_1]: T[any][K]; } : never -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >(...args: T) => usePrivateType(...args) : (...args: T) => T[any] extends infer T_1 ? { [K in keyof T_1]: T[any][K]; } : never -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >args : T > : ^ >usePrivateType(...args) : T[any] extends infer T_1 ? { [K in keyof T_1]: T[any][K]; } : never > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >usePrivateType : (...args: T_1) => T_1[any] extends infer T_2 ? { [K in keyof T_2]: T_1[any][K]; } : never -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >...args : unknown > : ^^^^^^^ >args : T diff --git a/tests/baselines/reference/mappedTypeGenericWithKnownKeys.types b/tests/baselines/reference/mappedTypeGenericWithKnownKeys.types index 75781b2ead37a..20495f1892e36 100644 --- a/tests/baselines/reference/mappedTypeGenericWithKnownKeys.types +++ b/tests/baselines/reference/mappedTypeGenericWithKnownKeys.types @@ -5,7 +5,7 @@ function test>(shape: Shape, key: keyof Shape) { >test : >(shape: Shape, key: keyof Shape) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >shape : Shape > : ^^^^^ >key : keyof Shape diff --git a/tests/baselines/reference/mappedTypeIndexedAccessConstraint.types b/tests/baselines/reference/mappedTypeIndexedAccessConstraint.types index f0d5001add195..bed8d769bb832 100644 --- a/tests/baselines/reference/mappedTypeIndexedAccessConstraint.types +++ b/tests/baselines/reference/mappedTypeIndexedAccessConstraint.types @@ -27,7 +27,7 @@ type M3 = { [K in keyof Identity>]: M0[K] }; function foo(m1: M1[K], m2: M2[K], m3: M3[K]) { >foo : (m1: M1[K], m2: M2[K], m3: M3[K]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >m1 : M1[K] > : ^^^^^ >m2 : M2[K] @@ -39,61 +39,61 @@ function foo(m1: M1[K], m2: M2[K], m3: M3[K]) { >m1.toString() : string > : ^^^^^^ >m1.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >m1 : 1 | 2 | undefined > : ^^^^^^^^^^^^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ m1?.toString(); >m1?.toString() : string | undefined > : ^^^^^^^^^^^^^^^^^^ >m1?.toString : ((radix?: number) => string) | undefined -> : ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^ ^^^^^ ^^^^^^^^^^^^^ >m1 : 1 | 2 | undefined > : ^^^^^^^^^^^^^^^^^ >toString : ((radix?: number) => string) | undefined -> : ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^ ^^^^^ ^^^^^^^^^^^^^ m2.toString(); // Error >m2.toString() : string > : ^^^^^^ >m2.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >m2 : 1 | 2 | undefined > : ^^^^^^^^^^^^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ m2?.toString(); >m2?.toString() : string | undefined > : ^^^^^^^^^^^^^^^^^^ >m2?.toString : ((radix?: number) => string) | undefined -> : ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^ ^^^^^ ^^^^^^^^^^^^^ >m2 : 1 | 2 | undefined > : ^^^^^^^^^^^^^^^^^ >toString : ((radix?: number) => string) | undefined -> : ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^ ^^^^^ ^^^^^^^^^^^^^ m3.toString(); // Error >m3.toString() : string > : ^^^^^^ >m3.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >m3 : 1 | 2 | undefined > : ^^^^^^^^^^^^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ m3?.toString(); >m3?.toString() : string | undefined > : ^^^^^^^^^^^^^^^^^^ >m3?.toString : ((radix?: number) => string) | undefined -> : ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^ ^^^^^ ^^^^^^^^^^^^^ >m3 : 1 | 2 | undefined > : ^^^^^^^^^^^^^^^^^ >toString : ((radix?: number) => string) | undefined -> : ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^ ^^^^^ ^^^^^^^^^^^^^ } // Repro from #57487 @@ -119,10 +119,10 @@ const mapped: { [K in keyof Partial]: Obj[K] } = {}; > : ^^ const resolveMapped = (key: K) => mapped[key].toString(); // Error ->resolveMapped : (key: K) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ ->(key: K) => mapped[key].toString() : (key: K) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +>resolveMapped : (key: K) => string +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ +>(key: K) => mapped[key].toString() : (key: K) => string +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ >mapped : { a?: 1 | undefined; b?: 2 | undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >key : K @@ -130,7 +130,7 @@ const resolveMapped = (key: K) => mapped[key].toS >mapped[key].toString() : string > : ^^^^^^ >mapped[key].toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >mapped[key] : 1 | 2 | undefined > : ^^^^^^^^^^^^^^^^^ >mapped : { a?: 1 | undefined; b?: 2 | undefined; } @@ -138,7 +138,7 @@ const resolveMapped = (key: K) => mapped[key].toS >key : K > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ // Additional repro from #57487 @@ -191,8 +191,8 @@ type PartMappings = SetOptional; > : ^^^^^^^^^^^^ const mapper: { [K in keyof PartMappings]: (o: MapperArgs) => PartMappings[K] } = { ->mapper : { "12": (o: MapperArgs<"12">) => number; 42: (o: MapperArgs<42>) => string; foo?: ((o: MapperArgs<"foo">) => boolean | undefined) | undefined; } -> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>mapper : { "12": (o: MapperArgs<"12">) => PartMappings["12"]; 42: (o: MapperArgs<42>) => PartMappings[42]; foo?: ((o: MapperArgs<"foo">) => PartMappings["foo"]) | undefined; } +> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^ >o : MapperArgs > : ^^^^^^^^^^^^^ >{ foo: ({ v, i }) => v.length + i > 4, "12": ({ v, i }) => Number(v) + i, 42: ({ v, i }) => `${v}${i}`,} : { foo: ({ v, i }: MapperArgs<"foo">) => boolean; "12": ({ v, i }: MapperArgs<"12">) => number; 42: ({ v, i }: MapperArgs<42>) => string; } @@ -260,12 +260,12 @@ const mapper: { [K in keyof PartMappings]: (o: MapperArgs) => PartMappings[K] } const resolveMapper1 = ( ->resolveMapper1 : (key: K, o: MapperArgs) => PartMappings[K] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ->( key: K, o: MapperArgs) => mapper[key](o) : (key: K, o: MapperArgs) => PartMappings[K] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ->mapper : { "12": (o: MapperArgs<"12">) => number; 42: (o: MapperArgs<42>) => string; foo?: ((o: MapperArgs<"foo">) => boolean | undefined) | undefined; } -> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolveMapper1 : (key: K, o: MapperArgs) => PartMappings[K] +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +>( key: K, o: MapperArgs) => mapper[key](o) : (key: K, o: MapperArgs) => PartMappings[K] +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +>mapper : { "12": (o: MapperArgs<"12">) => PartMappings["12"]; 42: (o: MapperArgs<42>) => PartMappings[42]; foo?: ((o: MapperArgs<"foo">) => PartMappings["foo"]) | undefined; } +> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^ key: K, o: MapperArgs) => mapper[key](o); // Error >key : K @@ -275,21 +275,21 @@ const resolveMapper1 = ( >mapper[key](o) : PartMappings[K] > : ^^^^^^^^^^^^^^^ >mapper[key] : ((o: MapperArgs) => PartMappings[K]) | undefined -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->mapper : { "12": (o: MapperArgs<"12">) => number; 42: (o: MapperArgs<42>) => string; foo?: ((o: MapperArgs<"foo">) => boolean | undefined) | undefined; } -> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^^^^^^^^^^^^ ^ ^^^^^^^^^^^^^ +>mapper : { "12": (o: MapperArgs<"12">) => PartMappings["12"]; 42: (o: MapperArgs<42>) => PartMappings[42]; foo?: ((o: MapperArgs<"foo">) => PartMappings["foo"]) | undefined; } +> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^ >key : K > : ^ >o : MapperArgs > : ^^^^^^^^^^^^^ const resolveMapper2 = ( ->resolveMapper2 : (key: K, o: MapperArgs) => PartMappings[K] | undefined -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->( key: K, o: MapperArgs) => mapper[key]?.(o) : (key: K, o: MapperArgs) => PartMappings[K] | undefined -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->mapper : { "12": (o: MapperArgs<"12">) => number; 42: (o: MapperArgs<42>) => string; foo?: ((o: MapperArgs<"foo">) => boolean | undefined) | undefined; } -> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolveMapper2 : (key: K, o: MapperArgs) => PartMappings[K] | undefined +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>( key: K, o: MapperArgs) => mapper[key]?.(o) : (key: K, o: MapperArgs) => PartMappings[K] | undefined +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>mapper : { "12": (o: MapperArgs<"12">) => PartMappings["12"]; 42: (o: MapperArgs<42>) => PartMappings[42]; foo?: ((o: MapperArgs<"foo">) => PartMappings["foo"]) | undefined; } +> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^ key: K, o: MapperArgs) => mapper[key]?.(o) >key : K @@ -299,9 +299,9 @@ const resolveMapper2 = ( >mapper[key]?.(o) : PartMappings[K] | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >mapper[key] : ((o: MapperArgs) => PartMappings[K]) | undefined -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->mapper : { "12": (o: MapperArgs<"12">) => number; 42: (o: MapperArgs<42>) => string; foo?: ((o: MapperArgs<"foo">) => boolean | undefined) | undefined; } -> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^^^^^^^^^^^^ ^ ^^^^^^^^^^^^^ +>mapper : { "12": (o: MapperArgs<"12">) => PartMappings["12"]; 42: (o: MapperArgs<42>) => PartMappings[42]; foo?: ((o: MapperArgs<"foo">) => PartMappings["foo"]) | undefined; } +> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^ >key : K > : ^ >o : MapperArgs @@ -339,30 +339,30 @@ type Obj2 = { declare const mapIntersection: { >mapIntersection : { a?: number | undefined; b: number; c: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [K in keyof (Partial & Required)]: number; }; const accessMapped = (key: K) => mapIntersection[key].toString(); >accessMapped : (key: K) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ >(key: K) => mapIntersection[key].toString() : (key: K) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ >key : K > : ^ >mapIntersection[key].toString() : string > : ^^^^^^ >mapIntersection[key].toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >mapIntersection[key] : { a?: number | undefined; b: number; c: number; }[K] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ >mapIntersection : { a?: number | undefined; b: number; c: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ >key : K > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ declare const resolved: { a?: number | undefined; b: number; c: number }; >resolved : { a?: number | undefined; b: number; c: number; } @@ -376,23 +376,23 @@ declare const resolved: { a?: number | undefined; b: number; c: number }; const accessResolved = (key: K) => resolved[key].toString(); >accessResolved : (key: K) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ >(key: K) => resolved[key].toString() : (key: K) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ >key : K > : ^ >resolved[key].toString() : string > : ^^^^^^ >resolved[key].toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >resolved[key] : { a?: number | undefined; b: number; c: number; }[K] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^ ^^^^^ ^^^^^^ >resolved : { a?: number | undefined; b: number; c: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^ ^^^^^ ^^^ >key : K > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ // Additional repro from #57860 @@ -406,8 +406,8 @@ type Foo = { } function test(obj: Pick & Partial, K>, key: K) { ->test : (obj: Pick & Partial, K>, key: K) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +>test : (obj: Pick & Partial, K>, key: K) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >obj : Pick & Partial, K> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >key : K diff --git a/tests/baselines/reference/mappedTypeInferenceAliasSubstitution.types b/tests/baselines/reference/mappedTypeInferenceAliasSubstitution.types index 408194dbc73fb..62c4fb3404fc1 100644 --- a/tests/baselines/reference/mappedTypeInferenceAliasSubstitution.types +++ b/tests/baselines/reference/mappedTypeInferenceAliasSubstitution.types @@ -23,9 +23,9 @@ type Field = { [K in A]: R } const f = (x: { [K in A]: Field }): R => ({} as any); >f : (x: { [K in A]: Field; }) => R -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ >(x: { [K in A]: Field }): R => ({} as any) : (x: { [K in A]: Field; }) => R -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ >x : { [K in A]: Field; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >({} as any) : any @@ -39,15 +39,15 @@ const r1 = f(v); >f(v) : number > : ^^^^^^ >f : (x: { [K in A]: Field; }) => R -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ >v : { test: { smth: number; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ const g = (x: Field>): R => ({} as any); >g : (x: Field>) => R -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ >(x: Field>): R => ({} as any) : (x: Field>) => R -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ >x : Field> > : ^^^^^^^^^^^^^^^^^^^^^ >({} as any) : any @@ -61,7 +61,7 @@ const r2 = g(v); >g(v) : number > : ^^^^^^ >g : (x: Field>) => R -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ >v : { test: { smth: number; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/mappedTypeInferenceErrors.types b/tests/baselines/reference/mappedTypeInferenceErrors.types index a200bd12a644a..0120c7e85bb72 100644 --- a/tests/baselines/reference/mappedTypeInferenceErrors.types +++ b/tests/baselines/reference/mappedTypeInferenceErrors.types @@ -24,7 +24,7 @@ foo({ >foo({ props: { x: 10, y: 20 }, computed: { bar(): number { let z = this.bar; return 42; }, baz: 42 }}) : void > : ^^^^ >foo : (options: { props: P; computed: ComputedOf; } & ThisType

    ) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >{ props: { x: 10, y: 20 }, computed: { bar(): number { let z = this.bar; return 42; }, baz: 42 }} : { props: { x: number; y: number; }; computed: { bar(): number; baz: number; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/mappedTypeInferenceToMappedType.types b/tests/baselines/reference/mappedTypeInferenceToMappedType.types index 0e9dd1c1f8c96..7110ccf78afad 100644 --- a/tests/baselines/reference/mappedTypeInferenceToMappedType.types +++ b/tests/baselines/reference/mappedTypeInferenceToMappedType.types @@ -13,7 +13,7 @@ declare class Base { method(x: { [K in keyof U]: U[K] }): Base; >method : (x: { [K in keyof U]: U[K]; }) => Base -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : { [K in keyof U]: U[K]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ } @@ -26,7 +26,7 @@ declare class Derived extends Base { method(x: { [K in keyof V]: V[K] }): Base; >method : (x: { [K in keyof V]: V[K]; }) => Base -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : { [K in keyof V]: V[K]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/mappedTypeModifiers.types b/tests/baselines/reference/mappedTypeModifiers.types index f20b3d943f097..1532573a83e40 100644 --- a/tests/baselines/reference/mappedTypeModifiers.types +++ b/tests/baselines/reference/mappedTypeModifiers.types @@ -329,7 +329,7 @@ function f1(x: Partial) { >(x["other"] || 0).toFixed() : string > : ^^^^^^ >(x["other"] || 0).toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >(x["other"] || 0) : number > : ^^^^^^ >x["other"] || 0 : number @@ -343,7 +343,7 @@ function f1(x: Partial) { >0 : 0 > : ^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } function f2(x: Readonly) { @@ -364,7 +364,7 @@ function f2(x: Readonly) { >x["other"].toFixed() : string > : ^^^^^^ >x["other"].toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x["other"] : number > : ^^^^^^ >x : Readonly @@ -372,7 +372,7 @@ function f2(x: Readonly) { >"other" : "other" > : ^^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } function f3(x: Boxified) { @@ -393,7 +393,7 @@ function f3(x: Boxified) { >x["other"].x.toFixed() : string > : ^^^^^^ >x["other"].x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x["other"].x : number > : ^^^^^^ >x["other"] : { x: number; } @@ -405,20 +405,20 @@ function f3(x: Boxified) { >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } function f4(x: { [P in keyof Foo]: Foo[P] }) { >f4 : (x: { [P in keyof Foo]: Foo[P]; }) => void > : ^ ^^ ^^^^^^^^^ >x : { [x: string]: number; prop: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ x.prop; // ok >x.prop : number > : ^^^^^^ >x : { [x: string]: number; prop: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >prop : number > : ^^^^^^ @@ -426,14 +426,14 @@ function f4(x: { [P in keyof Foo]: Foo[P] }) { >x["other"].toFixed() : string > : ^^^^^^ >x["other"].toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x["other"] : number > : ^^^^^^ >x : { [x: string]: number; prop: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >"other" : "other" > : ^^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } diff --git a/tests/baselines/reference/mappedTypeMultiInference.types b/tests/baselines/reference/mappedTypeMultiInference.types index cd8acaab4f344..3cef75d787c5b 100644 --- a/tests/baselines/reference/mappedTypeMultiInference.types +++ b/tests/baselines/reference/mappedTypeMultiInference.types @@ -8,7 +8,7 @@ interface Style { declare function mergeStyleSets( >mergeStyleSets : (...cssSets: { [P in K]?: Style; }[]) => { [P in K]: Style; } -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ ...cssSets: { [P in K]?: Style }[]): { [P in K]: Style }; >cssSets : { [P in K]?: Style; }[] @@ -25,7 +25,7 @@ let x = mergeStyleSets( >mergeStyleSets( {}, { a: { flashy: true }, }, { b: { flashy: true }, },) : { a: Style; b: Style; } > : ^^^^^^^^^^^^^^^^^^^^^^^ >mergeStyleSets : (...cssSets: { [P in K]?: Style; }[]) => { [P in K]: Style; } -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ {}, >{} : {} diff --git a/tests/baselines/reference/mappedTypeNestedGenericInstantiation.types b/tests/baselines/reference/mappedTypeNestedGenericInstantiation.types index c4372f6bac0a4..624fa6d54aa31 100644 --- a/tests/baselines/reference/mappedTypeNestedGenericInstantiation.types +++ b/tests/baselines/reference/mappedTypeNestedGenericInstantiation.types @@ -46,12 +46,12 @@ const v = chain({a: 1, b: 2}).mapValues(square).value(); > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >chain({a: 1, b: 2}).mapValues(square) : Chainable<{ a: number; b: number; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->chain({a: 1, b: 2}).mapValues : (func: (v: number) => U) => Chainable<{ a: U; b: U; }> -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>chain({a: 1, b: 2}).mapValues : (func: (v: number) => U) => Chainable<{ [k in keyof { a: number; b: number; }]: U; }> +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^ >chain({a: 1, b: 2}) : Chainable<{ a: number; b: number; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >chain : (t: T) => Chainable -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{a: 1, b: 2} : { a: number; b: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -62,8 +62,8 @@ const v = chain({a: 1, b: 2}).mapValues(square).value(); > : ^^^^^^ >2 : 2 > : ^ ->mapValues : (func: (v: number) => U) => Chainable<{ a: U; b: U; }> -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>mapValues : (func: (v: number) => U) => Chainable<{ [k in keyof { a: number; b: number; }]: U; }> +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^ >square : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >value : () => { a: number; b: number; } diff --git a/tests/baselines/reference/mappedTypeNoTypeNoCrash.errors.txt b/tests/baselines/reference/mappedTypeNoTypeNoCrash.errors.txt index 455e73500aa0f..4cef3832ef039 100644 --- a/tests/baselines/reference/mappedTypeNoTypeNoCrash.errors.txt +++ b/tests/baselines/reference/mappedTypeNoTypeNoCrash.errors.txt @@ -1,16 +1,10 @@ mappedTypeNoTypeNoCrash.ts(1,51): error TS2304: Cannot find name 'K'. -mappedTypeNoTypeNoCrash.ts(1,51): error TS4081: Exported type alias 'T0' has or is using private name 'K'. mappedTypeNoTypeNoCrash.ts(1,57): error TS2304: Cannot find name 'K'. -mappedTypeNoTypeNoCrash.ts(1,57): error TS4081: Exported type alias 'T0' has or is using private name 'K'. -==== mappedTypeNoTypeNoCrash.ts (4 errors) ==== +==== mappedTypeNoTypeNoCrash.ts (2 errors) ==== type T0 = ({[K in keyof T]}) extends ({[key in K]: T[K]}) ? number : never; ~ -!!! error TS2304: Cannot find name 'K'. - ~ -!!! error TS4081: Exported type alias 'T0' has or is using private name 'K'. - ~ !!! error TS2304: Cannot find name 'K'. ~ -!!! error TS4081: Exported type alias 'T0' has or is using private name 'K'. \ No newline at end of file +!!! error TS2304: Cannot find name 'K'. \ No newline at end of file diff --git a/tests/baselines/reference/mappedTypeNoTypeNoCrash.js b/tests/baselines/reference/mappedTypeNoTypeNoCrash.js index 005664eaadd46..fca931ae19e7c 100644 --- a/tests/baselines/reference/mappedTypeNoTypeNoCrash.js +++ b/tests/baselines/reference/mappedTypeNoTypeNoCrash.js @@ -4,3 +4,11 @@ type T0 = ({[K in keyof T]}) extends ({[key in K]: T[K]}) ? number : never; //// [mappedTypeNoTypeNoCrash.js] + + +//// [mappedTypeNoTypeNoCrash.d.ts] +type T0 = ({ + [K in keyof T]: ; +}) extends ({ + [key in K]: T[K]; +}) ? number : never; diff --git a/tests/baselines/reference/mappedTypeRecursiveInference.types b/tests/baselines/reference/mappedTypeRecursiveInference.types index 03b70ec3cc79a..afd4e643a3c93 100644 --- a/tests/baselines/reference/mappedTypeRecursiveInference.types +++ b/tests/baselines/reference/mappedTypeRecursiveInference.types @@ -31,7 +31,7 @@ const out = foo(a); >foo(a) : { a: { a: any; }; } > : ^^^^^^^^^^^^^^^^^^^ >foo : (deep: Deep) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a : A > : ^ @@ -102,7 +102,7 @@ const oub = foo(b); >foo(b) : { [x: string]: any; } > : ^^^^^^^^^^^^^^^^^^^^^ >foo : (deep: Deep) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b : B > : ^ @@ -164,7 +164,7 @@ const out2 = foo(xhr); >foo(xhr) : { 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 ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: 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; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly 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 UNSENT: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly OPENED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly HEADERS_RECEIVED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly LOADING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DONE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; addEventListener: unknown; removeEventListener: unknown; onabort: unknown; onerror: unknown; onload: unknown; onloadend: unknown; onloadstart: unknown; onprogress: unknown; ontimeout: unknown; dispatchEvent: unknown; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (deep: Deep) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >xhr : XMLHttpRequest > : ^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/mappedTypeRecursiveInference2.types b/tests/baselines/reference/mappedTypeRecursiveInference2.types index 89e0e126650af..695d52b719f98 100644 --- a/tests/baselines/reference/mappedTypeRecursiveInference2.types +++ b/tests/baselines/reference/mappedTypeRecursiveInference2.types @@ -36,7 +36,7 @@ const shallow = type(["ark", "|>", (x) => x.length]) >type(["ark", "|>", (x) => x.length]) : ["ark", "|>", (x: "ark") => number] > : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >type : (def: validateDefinition) => def -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >["ark", "|>", (x) => x.length] : ["ark", "|>", (x: "ark") => number] > : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >"ark" : "ark" @@ -60,7 +60,7 @@ const objectLiteral = type({ a: ["ark", "|>", (x) => x.length] }) >type({ a: ["ark", "|>", (x) => x.length] }) : { a: ["ark", "|>", (x: "ark") => number]; } > : ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >type : (def: validateDefinition) => def -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ a: ["ark", "|>", (x) => x.length] } : { a: ["ark", "|>", (x: "ark") => number]; } > : ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >a : ["ark", "|>", (x: "ark") => number] @@ -88,7 +88,7 @@ const nestedTuple = type([["ark", "|>", (x) => x.length]]) >type([["ark", "|>", (x) => x.length]]) : [["ark", "|>", (x: "ark") => number]] > : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >type : (def: validateDefinition) => def -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >[["ark", "|>", (x) => x.length]] : [["ark", "|>", (x: "ark") => number]] > : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >["ark", "|>", (x) => x.length] : ["ark", "|>", (x: "ark") => number] diff --git a/tests/baselines/reference/mappedTypeRelationships.types b/tests/baselines/reference/mappedTypeRelationships.types index 0ac6c1660948e..f8bac595ade76 100644 --- a/tests/baselines/reference/mappedTypeRelationships.types +++ b/tests/baselines/reference/mappedTypeRelationships.types @@ -20,7 +20,7 @@ function f1(x: T, k: keyof T) { function f2(x: T, k: K) { >f2 : (x: T, k: K) => T[K] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ >k : K @@ -37,7 +37,7 @@ function f2(x: T, k: K) { function f3(x: T, y: U, k: keyof T) { >f3 : (x: T, y: U, k: keyof T) => void -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ >y : U @@ -80,7 +80,7 @@ function f3(x: T, y: U, k: keyof T) { function f4(x: T, y: U, k: K) { >f4 : (x: T, y: U, k: K) => void -> : ^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ >y : U @@ -123,7 +123,7 @@ function f4(x: T, y: U, k: K) { function f5(x: T, y: U, k: keyof U) { >f5 : (x: T, y: U, k: keyof U) => void -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ >y : U @@ -166,7 +166,7 @@ function f5(x: T, y: U, k: keyof U) { function f6(x: T, y: U, k: K) { >f6 : (x: T, y: U, k: K) => void -> : ^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ >y : U @@ -252,7 +252,7 @@ function f10(x: T, y: Partial, k: keyof T) { function f11(x: T, y: Partial, k: K) { >f11 : (x: T, y: Partial, k: K) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ >y : Partial @@ -295,7 +295,7 @@ function f11(x: T, y: Partial, k: K) { function f12(x: T, y: Partial, k: keyof T) { >f12 : (x: T, y: Partial, k: keyof T) => void -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ >y : Partial @@ -338,7 +338,7 @@ function f12(x: T, y: Partial, k: keyof T) { function f13(x: T, y: Partial, k: K) { >f13 : (x: T, y: Partial, k: K) => void -> : ^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ >y : Partial @@ -424,7 +424,7 @@ function f20(x: T, y: Readonly, k: keyof T) { function f21(x: T, y: Readonly, k: K) { >f21 : (x: T, y: Readonly, k: K) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ >y : Readonly @@ -467,7 +467,7 @@ function f21(x: T, y: Readonly, k: K) { function f22(x: T, y: Readonly, k: keyof T) { >f22 : (x: T, y: Readonly, k: keyof T) => void -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ >y : Readonly @@ -510,7 +510,7 @@ function f22(x: T, y: Readonly, k: keyof T) { function f23(x: T, y: Readonly, k: K) { >f23 : (x: T, y: Readonly, k: K) => void -> : ^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ >y : Readonly @@ -586,7 +586,7 @@ function f30(x: T, y: Partial) { function f31(x: Partial, y: Partial) { >f31 : (x: Partial, y: Partial) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : Partial > : ^^^^^^^^^^^^^^ >y : Partial @@ -636,7 +636,7 @@ function f40(x: T, y: Readonly) { function f41(x: Readonly, y: Readonly) { >f41 : (x: Readonly, y: Readonly) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : Readonly > : ^^^^^^^^^^^^^^^ >y : Readonly @@ -679,7 +679,7 @@ type ItemMap = { function f50(obj: T, key: keyof T) { >f50 : (obj: T, key: keyof T) => string -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ >obj : T > : ^ >key : keyof T @@ -710,7 +710,7 @@ function f50(obj: T, key: keyof T) { function f51(obj: T, key: K) { >f51 : (obj: T, key: K) => string -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ >obj : T > : ^ >key : K @@ -862,7 +862,7 @@ function f70(x: { [P in keyof T]: T[P] }, y: { [P in keyof T]: T[P] }) { function f71(x: { [P in keyof T]: T[P] }, y: { [P in keyof T]: U[P] }) { >f71 : (x: { [P in keyof T]: T[P]; }, y: { [P in keyof T]: U[P]; }) => void -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : { [P in keyof T]: T[P]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >y : { [P in keyof T]: U[P]; } @@ -887,7 +887,7 @@ function f71(x: { [P in keyof T]: T[P] }, y: { [P in keyof T]: U function f72(x: { [P in keyof T]: T[P] }, y: { [P in keyof U]: U[P] }) { >f72 : (x: { [P in keyof T]: T[P]; }, y: { [P in keyof U]: U[P]; }) => void -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : { [P in keyof T]: T[P]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >y : { [P in keyof U]: U[P]; } @@ -912,7 +912,7 @@ function f72(x: { [P in keyof T]: T[P] }, y: { [P in keyof U]: U function f73(x: { [P in K]: T[P] }, y: { [P in keyof T]: T[P] }) { >f73 : (x: { [P in K]: T[P]; }, y: { [P in keyof T]: T[P]; }) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : { [P in K]: T[P]; } > : ^^^^^^^^^^^^^^^^^^^ >y : { [P in keyof T]: T[P]; } @@ -937,7 +937,7 @@ function f73(x: { [P in K]: T[P] }, y: { [P in keyof T]: T function f74(x: { [P in K]: T[P] }, y: { [P in keyof U]: U[P] }) { >f74 : (x: { [P in K]: T[P]; }, y: { [P in keyof U]: U[P]; }) => void -> : ^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : { [P in K]: T[P]; } > : ^^^^^^^^^^^^^^^^^^^ >y : { [P in keyof U]: U[P]; } @@ -962,7 +962,7 @@ function f74(x: { [P in K]: T[P] }, y: { [P i function f75(x: { [P in K]: T[P] }, y: { [P in keyof T]: U[P] }) { >f75 : (x: { [P in K]: T[P]; }, y: { [P in keyof T]: U[P]; }) => void -> : ^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : { [P in K]: T[P]; } > : ^^^^^^^^^^^^^^^^^^^ >y : { [P in keyof T]: U[P]; } @@ -987,7 +987,7 @@ function f75(x: { [P in K]: T[P] }, y: { [P i function f76(x: { [P in K]: T[P] }, y: { [P in K]: U[P] }) { >f76 : (x: { [P in K]: T[P]; }, y: { [P in K]: U[P]; }) => void -> : ^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : { [P in K]: T[P]; } > : ^^^^^^^^^^^^^^^^^^^ >y : { [P in K]: U[P]; } @@ -1023,7 +1023,7 @@ function f80(t: T): Partial { function f81(t: T, k: K): Partial { >f81 : (t: T, k: K) => Partial -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >t : T > : ^ >k : K @@ -1040,7 +1040,7 @@ function f81(t: T, k: K): Partial { function f82(t: T, k1: K1, k2: K2): Partial { >f82 : (t: T, k1: K1, k2: K2) => Partial -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >t : T > : ^ >k1 : K1 @@ -1068,7 +1068,7 @@ type Numeric = { [K in keyof T]?: number }; function f90() { >f90 : () => void -> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ >x : number > : ^^^^^^ @@ -1085,7 +1085,7 @@ function f90() { function f(): Partial { >f : () => Partial -> : ^ ^^^^^^^^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ >x : {} > : ^^ diff --git a/tests/baselines/reference/mappedTypeTupleConstraintAssignability.types b/tests/baselines/reference/mappedTypeTupleConstraintAssignability.types index 36eeada55c4f3..19d498ff9d50b 100644 --- a/tests/baselines/reference/mappedTypeTupleConstraintAssignability.types +++ b/tests/baselines/reference/mappedTypeTupleConstraintAssignability.types @@ -25,8 +25,8 @@ declare class ZodEnum { } declare function createZodEnum>(values: T): ZodEnum>; ->createZodEnum : (values: T) => ZodEnum> -> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +>createZodEnum : >(values: T) => ZodEnum> +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >values : T > : ^ @@ -84,7 +84,7 @@ declare class TupleSchema< export function create(schemas: { >create : (schemas: { [K in keyof T]: ISchema; }) => TupleSchema -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >schemas : { [K in keyof T]: ISchema; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/mappedTypeUnionConstrainTupleTreatedAsArrayLike.types b/tests/baselines/reference/mappedTypeUnionConstrainTupleTreatedAsArrayLike.types index 9f293bdf8a720..f431571775280 100644 --- a/tests/baselines/reference/mappedTypeUnionConstrainTupleTreatedAsArrayLike.types +++ b/tests/baselines/reference/mappedTypeUnionConstrainTupleTreatedAsArrayLike.types @@ -7,7 +7,7 @@ type HomomorphicMappedType = { [P in keyof T]: T[P] extends string ? boolean function test1(args: T) { >test1 : (args: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >args : T > : ^ @@ -30,7 +30,7 @@ function test1(args: T) { function test2(args: T) { >test2 : (args: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >args : T > : ^ diff --git a/tests/baselines/reference/mappedTypeUnionConstraintInferences.types b/tests/baselines/reference/mappedTypeUnionConstraintInferences.types index 20ff5ad895e7c..60b79ab279edc 100644 --- a/tests/baselines/reference/mappedTypeUnionConstraintInferences.types +++ b/tests/baselines/reference/mappedTypeUnionConstraintInferences.types @@ -11,7 +11,7 @@ export declare type PartialProperties = Partial export function doSomething_ActualdoSomething_Actual : (a: T) => { [P in keyof PartialProperties]: PartialProperties[P]; } -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ prop: string; >prop : string @@ -33,7 +33,7 @@ export function doSomething_ActualdoSomething_Expected : (a: T) => { [P in keyof PartialProperties]: PartialProperties[P]; } -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ prop: string; >prop : string @@ -49,7 +49,7 @@ export let a = doSomething_Actual({ prop: "test" }); >doSomething_Actual({ prop: "test" }) : { prop?: string; } > : ^^^^^^^^^^^^^^^^^^ >doSomething_Actual : (a: T) => { [P in keyof PartialProperties]: PartialProperties[P]; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ prop: "test" } : { prop: string; } > : ^^^^^^^^^^^^^^^^^ >prop : string @@ -71,7 +71,7 @@ export let b = doSomething_Expected({ prop: "test" }); >doSomething_Expected({ prop: "test" }) : { prop?: string; } > : ^^^^^^^^^^^^^^^^^^ >doSomething_Expected : (a: T) => { [P in keyof PartialProperties]: PartialProperties[P]; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ prop: "test" } : { prop: string; } > : ^^^^^^^^^^^^^^^^^ >prop : string diff --git a/tests/baselines/reference/mappedTypeWithAny.types b/tests/baselines/reference/mappedTypeWithAny.types index fbb5b48f2bf07..587ff68bb42f3 100644 --- a/tests/baselines/reference/mappedTypeWithAny.types +++ b/tests/baselines/reference/mappedTypeWithAny.types @@ -144,7 +144,7 @@ function bar(arrayish: Arrayish, objectish: Objectish, indirectArrayis declare function stringifyArray(arr: T): { -readonly [K in keyof T]: string }; >stringifyArray : (arr: T) => { -readonly [K in keyof T]: string; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >arr : T > : ^ @@ -154,7 +154,7 @@ let abc: any[] = stringifyArray(void 0 as any); >stringifyArray(void 0 as any) : string[] > : ^^^^^^^^ >stringifyArray : (arr: T) => { -readonly [K in keyof T]: string; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >void 0 as any : any > : ^^^ >void 0 : undefined @@ -164,7 +164,7 @@ let abc: any[] = stringifyArray(void 0 as any); declare function stringifyPair(arr: T): { -readonly [K in keyof T]: string }; >stringifyPair : (arr: T) => { -readonly [K in keyof T]: string; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >arr : T > : ^ @@ -174,7 +174,7 @@ let def: [any, any] = stringifyPair(void 0 as any); >stringifyPair(void 0 as any) : string[] > : ^^^^^^^^ >stringifyPair : (arr: T) => { -readonly [K in keyof T]: string; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >void 0 as any : any > : ^^^ >void 0 : undefined diff --git a/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty.types b/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty.types index 263f5212c5853..4922d453be85a 100644 --- a/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty.types +++ b/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty.types @@ -6,14 +6,14 @@ declare let tgt2: number[]; > : ^^^^^^^^ declare let src2: { [K in keyof number[] as Exclude]: (number[])[K] }; ->src2 : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): 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_1, thisArg?: any): S_1[]; (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_1, currentValue: number, currentIndex: number, array: number[]) => U_1, initialValue: U_1): U_1; }; 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_2, currentValue: number, currentIndex: number, array: number[]) => U_2, initialValue: U_2): U_2; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S_2, thisArg?: any): S_2; (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_3 | readonly U_3[], thisArg?: This) => U_3[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => IterableIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>src2 : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; pop: () => number | undefined; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number | undefined; 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: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number | undefined; }; 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 | ReadonlyArray, thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => IterableIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^ ^ ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ tgt2 = src2; // Should error ->tgt2 = src2 : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): 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_1, thisArg?: any): S_1[]; (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_1, currentValue: number, currentIndex: number, array: number[]) => U_1, initialValue: U_1): U_1; }; 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_2, currentValue: number, currentIndex: number, array: number[]) => U_2, initialValue: U_2): U_2; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S_2, thisArg?: any): S_2; (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_3 | readonly U_3[], thisArg?: This) => U_3[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => IterableIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>tgt2 = src2 : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; pop: () => number | undefined; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number | undefined; 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: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number | undefined; }; 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 | ReadonlyArray, thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => IterableIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^ ^ ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >tgt2 : number[] > : ^^^^^^^^ ->src2 : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): 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_1, thisArg?: any): S_1[]; (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_1, currentValue: number, currentIndex: number, array: number[]) => U_1, initialValue: U_1): U_1; }; 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_2, currentValue: number, currentIndex: number, array: number[]) => U_2, initialValue: U_2): U_2; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S_2, thisArg?: any): S_2; (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_3 | readonly U_3[], thisArg?: This) => U_3[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => IterableIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>src2 : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; pop: () => number | undefined; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number | undefined; 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: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number | undefined; }; 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 | ReadonlyArray, thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => IterableIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^ ^ ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty2.js b/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty2.js index d4b703bce8ee4..819790a7e7413 100644 --- a/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty2.js +++ b/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty2.js @@ -16,7 +16,7 @@ export declare const thing: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; - pop: () => number; + pop: () => number | undefined; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; @@ -24,7 +24,7 @@ export declare const thing: { }; join: (separator?: string) => string; reverse: () => number[]; - shift: () => number; + shift: () => number | undefined; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { @@ -42,22 +42,22 @@ export declare const thing: { 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_1, thisArg?: any): S_1[]; + (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_1, currentValue: number, currentIndex: number, array: number[]) => U_1, initialValue: U_1): U_1; + (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_2, currentValue: number, currentIndex: number, array: number[]) => U_2, initialValue: U_2): U_2; + (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { - (predicate: (value: number, index: number, obj: number[]) => value is S_2, thisArg?: any): S_2; - (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; + (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S | undefined; + (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number | undefined; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; @@ -66,7 +66,7 @@ export declare const thing: { keys: () => IterableIterator; values: () => IterableIterator; includes: (searchElement: number, fromIndex?: number) => boolean; - flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U_3 | readonly U_3[], thisArg?: This) => U_3[]; + flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | ReadonlyArray, thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => IterableIterator; readonly [Symbol.unscopables]: { @@ -123,7 +123,7 @@ mappedTypeWithAsClauseAndLateBoundProperty2.d.ts(27,118): error TS2526: A 'this' (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; - pop: () => number; + pop: () => number | undefined; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; @@ -131,7 +131,7 @@ mappedTypeWithAsClauseAndLateBoundProperty2.d.ts(27,118): error TS2526: A 'this' }; join: (separator?: string) => string; reverse: () => number[]; - shift: () => number; + shift: () => number | undefined; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { @@ -151,22 +151,22 @@ mappedTypeWithAsClauseAndLateBoundProperty2.d.ts(27,118): error TS2526: A 'this' 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_1, thisArg?: any): S_1[]; + (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_1, currentValue: number, currentIndex: number, array: number[]) => U_1, initialValue: U_1): U_1; + (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_2, currentValue: number, currentIndex: number, array: number[]) => U_2, initialValue: U_2): U_2; + (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { - (predicate: (value: number, index: number, obj: number[]) => value is S_2, thisArg?: any): S_2; - (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; + (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S | undefined; + (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number | undefined; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; @@ -175,7 +175,7 @@ mappedTypeWithAsClauseAndLateBoundProperty2.d.ts(27,118): error TS2526: A 'this' keys: () => IterableIterator; values: () => IterableIterator; includes: (searchElement: number, fromIndex?: number) => boolean; - flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U_3 | readonly U_3[], thisArg?: This) => U_3[]; + flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | ReadonlyArray, thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => IterableIterator; readonly [Symbol.unscopables]: { diff --git a/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty2.types b/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty2.types index 249c5f28218c7..623f98f9f341c 100644 --- a/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty2.types +++ b/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty2.types @@ -2,11 +2,11 @@ === mappedTypeWithAsClauseAndLateBoundProperty2.ts === export const thing = (null as any as { [K in keyof number[] as Exclude]: (number[])[K] }); ->thing : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): 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_1, thisArg?: any): S_1[]; (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_1, currentValue: number, currentIndex: number, array: number[]) => U_1, initialValue: U_1): U_1; }; 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_2, currentValue: number, currentIndex: number, array: number[]) => U_2, initialValue: U_2): U_2; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S_2, thisArg?: any): S_2; (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_3 | readonly U_3[], thisArg?: This) => U_3[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => IterableIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->(null as any as { [K in keyof number[] as Exclude]: (number[])[K] }) : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): 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_1, thisArg?: any): S_1[]; (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_1, currentValue: number, currentIndex: number, array: number[]) => U_1, initialValue: U_1): U_1; }; 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_2, currentValue: number, currentIndex: number, array: number[]) => U_2, initialValue: U_2): U_2; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S_2, thisArg?: any): S_2; (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_3 | readonly U_3[], thisArg?: This) => U_3[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => IterableIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->null as any as { [K in keyof number[] as Exclude]: (number[])[K] } : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): 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_1, thisArg?: any): S_1[]; (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_1, currentValue: number, currentIndex: number, array: number[]) => U_1, initialValue: U_1): U_1; }; 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_2, currentValue: number, currentIndex: number, array: number[]) => U_2, initialValue: U_2): U_2; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S_2, thisArg?: any): S_2; (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_3 | readonly U_3[], thisArg?: This) => U_3[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => IterableIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>thing : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; pop: () => number | undefined; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number | undefined; 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: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number | undefined; }; 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 | ReadonlyArray, thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => IterableIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^ ^ ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(null as any as { [K in keyof number[] as Exclude]: (number[])[K] }) : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; pop: () => number | undefined; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number | undefined; 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: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number | undefined; }; 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 | ReadonlyArray, thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => IterableIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^ ^ ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>null as any as { [K in keyof number[] as Exclude]: (number[])[K] } : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; pop: () => number | undefined; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number | undefined; 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: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number | undefined; }; 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 | ReadonlyArray, thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => IterableIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^ ^ ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >null as any : any diff --git a/tests/baselines/reference/mappedTypeWithNameClauseAppliedToArrayType.types b/tests/baselines/reference/mappedTypeWithNameClauseAppliedToArrayType.types index d64e6d1bb54d0..29b2aed2a26f5 100644 --- a/tests/baselines/reference/mappedTypeWithNameClauseAppliedToArrayType.types +++ b/tests/baselines/reference/mappedTypeWithNameClauseAppliedToArrayType.types @@ -23,7 +23,7 @@ doArrayStuff(x); >doArrayStuff(x) : void > : ^^^^ >doArrayStuff : (x: unknown[]) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : Mappy > : ^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/mappedTypes1.types b/tests/baselines/reference/mappedTypes1.types index 2d83609737a4c..2d6ccaaa10c92 100644 --- a/tests/baselines/reference/mappedTypes1.types +++ b/tests/baselines/reference/mappedTypes1.types @@ -109,15 +109,15 @@ declare function f1(): { [P in keyof T1]: void }; declare function f2(): { [P in keyof T1]: void }; >f2 : () => { [P in keyof T1]: void; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ declare function f3(): { [P in keyof T1]: void }; >f3 : () => { [P in keyof T1]: void; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ declare function f4(): { [P in keyof T1]: void }; >f4 : () => { [P in keyof T1]: void; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ let x1 = f1(); >x1 : {} @@ -125,7 +125,7 @@ let x1 = f1(); >f1() : {} > : ^^ >f1 : () => { [P in keyof T1]: void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ let x2 = f2(); >x2 : string @@ -133,7 +133,7 @@ let x2 = f2(); >f2() : string > : ^^^^^^ >f2 : () => { [P in keyof T1]: void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ let x3 = f3(); >x3 : number @@ -141,7 +141,7 @@ let x3 = f3(); >f3() : number > : ^^^^^^ >f3 : () => { [P in keyof T1]: void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ let x4 = f4(); >x4 : { toString: void; toFixed: void; toExponential: void; toPrecision: void; valueOf: void; toLocaleString: void; } @@ -149,5 +149,5 @@ let x4 = f4(); >f4() : { toString: void; toFixed: void; toExponential: void; toPrecision: void; valueOf: void; toLocaleString: void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f4 : () => { [P in keyof T1]: void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ diff --git a/tests/baselines/reference/mappedTypes2.types b/tests/baselines/reference/mappedTypes2.types index 8fca3d2dc97b8..09c2de1631d48 100644 --- a/tests/baselines/reference/mappedTypes2.types +++ b/tests/baselines/reference/mappedTypes2.types @@ -3,7 +3,7 @@ === mappedTypes2.ts === function verifyLibTypes() { >verifyLibTypes : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ var x1: Partial; >x1 : Partial @@ -83,7 +83,7 @@ declare function freeze(obj: T): Readonly; declare function pick(obj: T, ...keys: K[]): Pick; >pick : (obj: T, ...keys: K[]) => Pick -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >obj : T > : ^ >keys : K[] @@ -91,7 +91,7 @@ declare function pick(obj: T, ...keys: K[]): Pick; declare function mapObject(obj: Record, f: (x: T) => U): Record; >mapObject : (obj: Record, f: (x: T) => U) => Record -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >obj : Record > : ^^^^^^^^^^^^ >f : (x: T) => U @@ -181,7 +181,7 @@ function f0(s1: Shape, s2: Shape) { >assign(s1, { name: "circle" }) : void > : ^^^^ >assign : (obj: T, props: Partial) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >s1 : Shape > : ^^^^^ >{ name: "circle" } : { name: string; } @@ -195,7 +195,7 @@ function f0(s1: Shape, s2: Shape) { >assign(s2, { width: 10, height: 20 }) : void > : ^^^^ >assign : (obj: T, props: Partial) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >s2 : Shape > : ^^^^^ >{ width: 10, height: 20 } : { width: number; height: number; } @@ -230,7 +230,7 @@ function f1(shape: Shape) { >freeze(shape) : Readonly > : ^^^^^^^^^^^^^^^ >freeze : (obj: T) => Readonly -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >shape : Shape > : ^^^^^ } @@ -268,7 +268,7 @@ function f3(shape: Shape) { >pick(shape, "name", "location") : Pick > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >pick : (obj: T, ...keys: K[]) => Pick -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >shape : Shape > : ^^^^^ >"name" : "name" @@ -305,7 +305,7 @@ function f4() { >mapObject(rec, s => s.length) : Record<"foo" | "bar" | "baz", number> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >mapObject : (obj: Record, f: (x: T) => U) => Record -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >rec : { foo: string; bar: string; baz: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >s => s.length : (s: string) => number @@ -332,7 +332,7 @@ function f5(shape: Shape) { >proxify(shape) : Proxify > : ^^^^^^^^^^^^^^ >proxify : (obj: T) => Proxify -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >shape : Shape > : ^^^^^ @@ -356,7 +356,7 @@ function f5(shape: Shape) { >p.width.set(42) : void > : ^^^^ >p.width.set : (value: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >p.width : Proxy > : ^^^^^^^^^^^^^ >p : Proxify @@ -364,7 +364,7 @@ function f5(shape: Shape) { >width : Proxy > : ^^^^^^^^^^^^^ >set : (value: number) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >42 : 42 > : ^^ } diff --git a/tests/baselines/reference/mappedTypes3.types b/tests/baselines/reference/mappedTypes3.types index e86ffb660b05f..ef704dc277dab 100644 --- a/tests/baselines/reference/mappedTypes3.types +++ b/tests/baselines/reference/mappedTypes3.types @@ -61,7 +61,7 @@ function f1(b: Bacon) { >boxify(b) : Boxified > : ^^^^^^^^^^^^^^^ >boxify : (obj: T) => Boxified -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b : Bacon > : ^^^^^ @@ -106,7 +106,7 @@ function f2(bb: Boxified) { >unboxify(bb) : Bacon > : ^^^^^ >unboxify : (obj: Boxified) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >bb : Boxified > : ^^^^^^^^^^^^^^^ @@ -143,7 +143,7 @@ function f3(bb: BoxifiedBacon) { >unboxify(bb) : Bacon > : ^^^^^ >unboxify : (obj: Boxified) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >bb : BoxifiedBacon > : ^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/mappedTypes4.types b/tests/baselines/reference/mappedTypes4.types index 466da30685051..79c32add1b52a 100644 --- a/tests/baselines/reference/mappedTypes4.types +++ b/tests/baselines/reference/mappedTypes4.types @@ -102,7 +102,7 @@ function f1(x: A | B | C | undefined) { >boxify(x) : Boxified > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >boxify : (obj: T) => Boxified -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : A | B | C | undefined > : ^^^^^^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/mappedTypes5.types b/tests/baselines/reference/mappedTypes5.types index f127c04c6f185..a38f0e983c749 100644 --- a/tests/baselines/reference/mappedTypes5.types +++ b/tests/baselines/reference/mappedTypes5.types @@ -152,7 +152,7 @@ type Args2 = { function doit() { >doit : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ let previous: Partial = Object.create(null); >previous : Partial @@ -160,11 +160,11 @@ function doit() { >Object.create(null) : any > : ^^^ >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ let current: Partial = Object.create(null); >current : Partial @@ -172,11 +172,11 @@ function doit() { >Object.create(null) : any > : ^^^ >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ let args1: Args1 = { previous, current }; >args1 : Args1 @@ -245,11 +245,11 @@ function doit2() { >Object.create(null) : any > : ^^^ >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ let current: Partial = Object.create(null); >current : Partial @@ -257,11 +257,11 @@ function doit2() { >Object.create(null) : any > : ^^^ >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ let args1: Args3 = { previous, current }; >args1 : Args3 diff --git a/tests/baselines/reference/mappedTypesArraysTuples.types b/tests/baselines/reference/mappedTypesArraysTuples.types index f7ae89813689c..739e7af27e551 100644 --- a/tests/baselines/reference/mappedTypesArraysTuples.types +++ b/tests/baselines/reference/mappedTypesArraysTuples.types @@ -135,7 +135,7 @@ let y10 = unboxify(x10); >unboxify(x10) : [number, string, ...boolean[]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >unboxify : (x: Boxified) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x10 : [Box, Box, ...Box[]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -149,7 +149,7 @@ let y11 = unboxify(x11); >unboxify(x11) : number[] > : ^^^^^^^^ >unboxify : (x: Boxified) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x11 : Box[] > : ^^^^^^^^^^^^^ @@ -167,9 +167,9 @@ let y12 = unboxify(x12); >unboxify(x12) : { a: number; b: string[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >unboxify : (x: Boxified) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x12 : { a: Box; b: Box; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ declare function nonpartial(x: Partial): T; >nonpartial : (x: Partial) => T @@ -187,7 +187,7 @@ let y20 = nonpartial(x20); >nonpartial(x20) : [number, string, ...boolean[]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >nonpartial : (x: Partial) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x20 : [number | undefined, (string | undefined)?, ...boolean[]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -201,7 +201,7 @@ let y21 = nonpartial(x21); >nonpartial(x21) : number[] > : ^^^^^^^^ >nonpartial : (x: Partial) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x21 : (number | undefined)[] > : ^^^^^^^^^^^^^^^^^^^^^^ @@ -215,13 +215,13 @@ declare let x22: { a: number | undefined, b?: string[] }; let y22 = nonpartial(x22); >y22 : { a: number; b: string[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ >nonpartial(x22) : { a: number; b: string[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ >nonpartial : (x: Partial) => T -> : ^ ^^ ^^ ^^^^^^ ->x22 : { a: number | undefined; b?: string[] | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ +>x22 : { a: number | undefined; b?: string[]; } +> : ^^^^^ ^^^^^^ ^^^ type __Awaited = T extends PromiseLike ? U : T; >__Awaited : __Awaited @@ -233,7 +233,7 @@ type Awaitified = { [P in keyof T]: __Awaited }; declare function all(...values: T): Promise>; >all : (...values: T) => Promise> -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >values : T > : ^ @@ -255,7 +255,7 @@ function f1(a: number, b: Promise, c: string[], d: Promise) { >all(a) : Promise<[number]> > : ^^^^^^^^^^^^^^^^^ >all : (...values: T) => Promise> -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >a : number > : ^^^^^^ @@ -265,7 +265,7 @@ function f1(a: number, b: Promise, c: string[], d: Promise) { >all(a, b) : Promise<[number, number]> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >all : (...values: T) => Promise> -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >a : number > : ^^^^^^ >b : Promise @@ -277,7 +277,7 @@ function f1(a: number, b: Promise, c: string[], d: Promise) { >all(a, b, c) : Promise<[number, number, string[]]> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >all : (...values: T) => Promise> -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >a : number > : ^^^^^^ >b : Promise @@ -291,7 +291,7 @@ function f1(a: number, b: Promise, c: string[], d: Promise) { >all(a, b, c, d) : Promise<[number, number, string[], string[]]> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >all : (...values: T) => Promise> -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >a : number > : ^^^^^^ >b : Promise @@ -304,7 +304,7 @@ function f1(a: number, b: Promise, c: string[], d: Promise) { function f2(a: Boxified) { >f2 : (a: Boxified) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >a : Boxified > : ^^^^^^^^^^^ @@ -314,11 +314,11 @@ function f2(a: Boxified) { >a.pop() : Box | undefined > : ^^^^^^^^^^^^^^^^^^^^ >a.pop : () => Box | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ >a : Boxified > : ^^^^^^^^^^^ >pop : () => Box | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ let y: Box[] = a.concat(a); >y : Box[] @@ -326,11 +326,11 @@ function f2(a: Boxified) { >a.concat(a) : Box[] > : ^^^^^^^^^^ >a.concat : { (...items: ConcatArray>[]): Box[]; (...items: (Box | ConcatArray>)[]): Box[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >a : Boxified > : ^^^^^^^^^^^ >concat : { (...items: ConcatArray>[]): Box[]; (...items: (Box | ConcatArray>)[]): Box[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >a : Boxified > : ^^^^^^^^^^^ } @@ -367,13 +367,13 @@ declare function acceptArray(arr: any[]): void; declare function mapArray(arr: T): Mapped; >mapArray : (arr: T) => Mapped -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >arr : T > : ^ function acceptMappedArray(arr: T) { >acceptMappedArray : (arr: T) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >arr : T > : ^ @@ -381,11 +381,11 @@ function acceptMappedArray(arr: T) { >acceptArray(mapArray(arr)) : void > : ^^^^ >acceptArray : (arr: any[]) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >mapArray(arr) : Mapped > : ^^^^^^^^^ >mapArray : (arr: T_1) => Mapped -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >arr : T > : ^ } diff --git a/tests/baselines/reference/mappedTypesGenericTuples2.types b/tests/baselines/reference/mappedTypesGenericTuples2.types index 536fab41202a5..26e5366029f05 100644 --- a/tests/baselines/reference/mappedTypesGenericTuples2.types +++ b/tests/baselines/reference/mappedTypesGenericTuples2.types @@ -11,27 +11,27 @@ Promise.all([getT(), ...getT()]).then((result) => { >Promise.all([getT(), ...getT()]).then((result) => { const head = result[0]; // string const tail = result.slice(1); // any[] tail satisfies string[]; // ok}) : Promise > : ^^^^^^^^^^^^^ >Promise.all([getT(), ...getT()]).then : (onfulfilled?: ((value: [string, ...any[]]) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >Promise.all([getT(), ...getT()]) : Promise<[string, ...any[]]> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->Promise.all : { (values: Iterable>): Promise[]>; (values: T_1): Promise<{ -readonly [P in keyof T_1]: Awaited; }>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->all : { (values: Iterable>): Promise[]>; (values: T_1): Promise<{ -readonly [P in keyof T_1]: Awaited; }>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >[getT(), ...getT()] : [string, ...any[]] > : ^^^^^^^^^^^^^^^^^^ >getT() : string > : ^^^^^^ >getT : () => T -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ >...getT() : any >getT() : any >getT : () => T -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ >then : (onfulfilled?: ((value: [string, ...any[]]) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >(result) => { const head = result[0]; // string const tail = result.slice(1); // any[] tail satisfies string[]; // ok} : (result: [string, ...any[]]) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >result : [string, ...any[]] @@ -53,11 +53,11 @@ Promise.all([getT(), ...getT()]).then((result) => { >result.slice(1) : any[] > : ^^^^^ >result.slice : (start?: number, end?: number) => any[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^ >result : [string, ...any[]] > : ^^^^^^^^^^^^^^^^^^ >slice : (start?: number, end?: number) => any[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/matchingOfObjectLiteralConstraints.types b/tests/baselines/reference/matchingOfObjectLiteralConstraints.types index 7b03a94bb74ec..76588f2860b17 100644 --- a/tests/baselines/reference/matchingOfObjectLiteralConstraints.types +++ b/tests/baselines/reference/matchingOfObjectLiteralConstraints.types @@ -3,7 +3,7 @@ === matchingOfObjectLiteralConstraints.ts === function foo2(x: U, z: T) { } >foo2 : (x: U, z: T) => void -> : ^ ^^ ^^^^^^^^^^^^^^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >y : T > : ^ >x : U @@ -15,7 +15,7 @@ foo2({ y: "foo" }, "foo"); >foo2({ y: "foo" }, "foo") : void > : ^^^^ >foo2 : (x: U, z: T) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >{ y: "foo" } : { y: string; } > : ^^^^^^^^^^^^^^ >y : string diff --git a/tests/baselines/reference/maxConstraints.types b/tests/baselines/reference/maxConstraints.types index 386815da15578..7c035fa1691ac 100644 --- a/tests/baselines/reference/maxConstraints.types +++ b/tests/baselines/reference/maxConstraints.types @@ -19,7 +19,7 @@ var max2: Comparer = (x, y) => { return (x.compareTo(y) > 0) ? x : y }; >max2 : Comparer > : ^^^^^^^^ >(x, y) => { return (x.compareTo(y) > 0) ? x : y } : >(x: T, y: T) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^ >x : T > : ^ >y : T @@ -33,11 +33,11 @@ var max2: Comparer = (x, y) => { return (x.compareTo(y) > 0) ? x : y }; >x.compareTo(y) : number > : ^^^^^^ >x.compareTo : (other: T) => number -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^ >x : T > : ^ >compareTo : (other: T) => number -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^ >y : T > : ^ >0 : 0 diff --git a/tests/baselines/reference/memberAccessOnConstructorType.types b/tests/baselines/reference/memberAccessOnConstructorType.types index 4b89b0c745d8f..c9e67d7465fcf 100644 --- a/tests/baselines/reference/memberAccessOnConstructorType.types +++ b/tests/baselines/reference/memberAccessOnConstructorType.types @@ -10,7 +10,7 @@ f.arguments == 0; > : ^^^^^^^ >f.arguments : any >f : new () => void -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >arguments : any > : ^^^ >0 : 0 diff --git a/tests/baselines/reference/mergeSymbolReexportInterface.errors.txt b/tests/baselines/reference/mergeSymbolReexportInterface.errors.txt new file mode 100644 index 0000000000000..86c3a073052af --- /dev/null +++ b/tests/baselines/reference/mergeSymbolReexportInterface.errors.txt @@ -0,0 +1,32 @@ +a.d.ts(3,8): error TS2300: Duplicate identifier 'Row2'. +index.d.ts(1,14): error TS2300: Duplicate identifier 'Row2'. +main.ts(2,7): error TS2741: Property 'a' is missing in type '{}' but required in type 'Row2'. + + +==== main.ts (1 errors) ==== + import {Row2, C} from '.' + const x : Row2 = { } + ~ +!!! error TS2741: Property 'a' is missing in type '{}' but required in type 'Row2'. +!!! related TS2728 a.d.ts:3:17: 'a' is declared here. + const y : C = { s: '' } + + +==== ./a.d.ts (1 errors) ==== + import '.' + declare module '.' { + type Row2 = { a: string } + ~~~~ +!!! error TS2300: Duplicate identifier 'Row2'. +!!! related TS6203 index.d.ts:1:14: 'Row2' was also declared here. + type C = { s : string } + } + +==== ./index.d.ts (1 errors) ==== + export type {Row2} from './common'; + ~~~~ +!!! error TS2300: Duplicate identifier 'Row2'. +!!! related TS6203 a.d.ts:3:8: 'Row2' was also declared here. + +==== ./common.d.ts (0 errors) ==== + export interface Row2 { b: string } \ No newline at end of file diff --git a/tests/baselines/reference/mergeSymbolReexportInterface.js b/tests/baselines/reference/mergeSymbolReexportInterface.js new file mode 100644 index 0000000000000..32830400c1381 --- /dev/null +++ b/tests/baselines/reference/mergeSymbolReexportInterface.js @@ -0,0 +1,26 @@ +//// [tests/cases/compiler/mergeSymbolReexportInterface.ts] //// + +//// [main.ts] +import {Row2, C} from '.' +const x : Row2 = { } +const y : C = { s: '' } + + +//// [a.d.ts] +import '.' +declare module '.' { + type Row2 = { a: string } + type C = { s : string } +} + +//// [index.d.ts] +export type {Row2} from './common'; + +//// [common.d.ts] +export interface Row2 { b: string } + +//// [main.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var x = {}; +var y = { s: '' }; diff --git a/tests/baselines/reference/mergeSymbolReexportInterface.symbols b/tests/baselines/reference/mergeSymbolReexportInterface.symbols new file mode 100644 index 0000000000000..a958a96216ac6 --- /dev/null +++ b/tests/baselines/reference/mergeSymbolReexportInterface.symbols @@ -0,0 +1,40 @@ +//// [tests/cases/compiler/mergeSymbolReexportInterface.ts] //// + +=== main.ts === +import {Row2, C} from '.' +>Row2 : Symbol(Row2, Decl(main.ts, 0, 8)) +>C : Symbol(C, Decl(main.ts, 0, 13)) + +const x : Row2 = { } +>x : Symbol(x, Decl(main.ts, 1, 5)) +>Row2 : Symbol(Row2, Decl(main.ts, 0, 8)) + +const y : C = { s: '' } +>y : Symbol(y, Decl(main.ts, 2, 5)) +>C : Symbol(C, Decl(main.ts, 0, 13)) +>s : Symbol(s, Decl(main.ts, 2, 15)) + + +=== ./a.d.ts === +import '.' +declare module '.' { +>'.' : Symbol("index", Decl(index.d.ts, 0, 0), Decl(a.d.ts, 0, 10)) + + type Row2 = { a: string } +>Row2 : Symbol(Row2, Decl(a.d.ts, 1, 20)) +>a : Symbol(a, Decl(a.d.ts, 2, 15)) + + type C = { s : string } +>C : Symbol(C, Decl(a.d.ts, 2, 27)) +>s : Symbol(s, Decl(a.d.ts, 3, 12)) +} + +=== ./index.d.ts === +export type {Row2} from './common'; +>Row2 : Symbol(Row2, Decl(index.d.ts, 0, 13)) + +=== ./common.d.ts === +export interface Row2 { b: string } +>Row2 : Symbol(Row2, Decl(common.d.ts, 0, 0)) +>b : Symbol(Row2.b, Decl(common.d.ts, 0, 23)) + diff --git a/tests/baselines/reference/mergeSymbolReexportInterface.types b/tests/baselines/reference/mergeSymbolReexportInterface.types new file mode 100644 index 0000000000000..99cc91fc848db --- /dev/null +++ b/tests/baselines/reference/mergeSymbolReexportInterface.types @@ -0,0 +1,55 @@ +//// [tests/cases/compiler/mergeSymbolReexportInterface.ts] //// + +=== main.ts === +import {Row2, C} from '.' +>Row2 : any +> : ^^^ +>C : any +> : ^^^ + +const x : Row2 = { } +>x : Row2 +> : ^^^^ +>{ } : {} +> : ^^ + +const y : C = { s: '' } +>y : C +> : ^ +>{ s: '' } : { s: string; } +> : ^^^^^^^^^^^^^^ +>s : string +> : ^^^^^^ +>'' : "" +> : ^^ + + +=== ./a.d.ts === +import '.' +declare module '.' { +>'.' : typeof import("index") +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + type Row2 = { a: string } +>Row2 : Row2 +> : ^^^^ +>a : string +> : ^^^^^^ + + type C = { s : string } +>C : C +> : ^ +>s : string +> : ^^^^^^ +} + +=== ./index.d.ts === +export type {Row2} from './common'; +>Row2 : import("common").Row2 +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +=== ./common.d.ts === +export interface Row2 { b: string } +>b : string +> : ^^^^^^ + diff --git a/tests/baselines/reference/mergeSymbolReexportedTypeAliasInstantiation.errors.txt b/tests/baselines/reference/mergeSymbolReexportedTypeAliasInstantiation.errors.txt new file mode 100644 index 0000000000000..cbcda7964a7ad --- /dev/null +++ b/tests/baselines/reference/mergeSymbolReexportedTypeAliasInstantiation.errors.txt @@ -0,0 +1,27 @@ +a.d.ts(3,8): error TS2300: Duplicate identifier 'Row2'. +index.d.ts(1,14): error TS2300: Duplicate identifier 'Row2'. + + +==== main.ts (0 errors) ==== + import {Row2, C} from '.' + const x: ((rowData: Row2) => unknown) = (rowData: Row2) => (null) + const y : C = { s: '' } + +==== ./a.d.ts (1 errors) ==== + import '.' + declare module '.' { + type Row2 = {} + ~~~~ +!!! error TS2300: Duplicate identifier 'Row2'. +!!! related TS6203 index.d.ts:1:14: 'Row2' was also declared here. + type C = { s : string } + } + +==== ./index.d.ts (1 errors) ==== + export type {Row2} from './common'; + ~~~~ +!!! error TS2300: Duplicate identifier 'Row2'. +!!! related TS6203 a.d.ts:3:8: 'Row2' was also declared here. + +==== ./common.d.ts (0 errors) ==== + export interface Row2 {} \ No newline at end of file diff --git a/tests/baselines/reference/mergeSymbolReexportedTypeAliasInstantiation.js b/tests/baselines/reference/mergeSymbolReexportedTypeAliasInstantiation.js new file mode 100644 index 0000000000000..b19a757e49c6e --- /dev/null +++ b/tests/baselines/reference/mergeSymbolReexportedTypeAliasInstantiation.js @@ -0,0 +1,25 @@ +//// [tests/cases/compiler/mergeSymbolReexportedTypeAliasInstantiation.ts] //// + +//// [main.ts] +import {Row2, C} from '.' +const x: ((rowData: Row2) => unknown) = (rowData: Row2) => (null) +const y : C = { s: '' } + +//// [a.d.ts] +import '.' +declare module '.' { + type Row2 = {} + type C = { s : string } +} + +//// [index.d.ts] +export type {Row2} from './common'; + +//// [common.d.ts] +export interface Row2 {} + +//// [main.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var x = function (rowData) { return (null); }; +var y = { s: '' }; diff --git a/tests/baselines/reference/mergeSymbolReexportedTypeAliasInstantiation.symbols b/tests/baselines/reference/mergeSymbolReexportedTypeAliasInstantiation.symbols new file mode 100644 index 0000000000000..e76794961a96a --- /dev/null +++ b/tests/baselines/reference/mergeSymbolReexportedTypeAliasInstantiation.symbols @@ -0,0 +1,41 @@ +//// [tests/cases/compiler/mergeSymbolReexportedTypeAliasInstantiation.ts] //// + +=== main.ts === +import {Row2, C} from '.' +>Row2 : Symbol(Row2, Decl(main.ts, 0, 8)) +>C : Symbol(C, Decl(main.ts, 0, 13)) + +const x: ((rowData: Row2) => unknown) = (rowData: Row2) => (null) +>x : Symbol(x, Decl(main.ts, 1, 5)) +>rowData : Symbol(rowData, Decl(main.ts, 1, 11)) +>Row2 : Symbol(Row2, Decl(main.ts, 0, 8)) +>rowData : Symbol(rowData, Decl(main.ts, 1, 49)) +>Row2 : Symbol(Row2, Decl(main.ts, 0, 8)) + +const y : C = { s: '' } +>y : Symbol(y, Decl(main.ts, 2, 5)) +>C : Symbol(C, Decl(main.ts, 0, 13)) +>s : Symbol(s, Decl(main.ts, 2, 15)) + +=== ./a.d.ts === +import '.' +declare module '.' { +>'.' : Symbol("index", Decl(index.d.ts, 0, 0), Decl(a.d.ts, 0, 10)) + + type Row2 = {} +>Row2 : Symbol(Row2, Decl(a.d.ts, 1, 20)) +>T : Symbol(T, Decl(a.d.ts, 2, 12)) + + type C = { s : string } +>C : Symbol(C, Decl(a.d.ts, 2, 19)) +>s : Symbol(s, Decl(a.d.ts, 3, 12)) +} + +=== ./index.d.ts === +export type {Row2} from './common'; +>Row2 : Symbol(Row2, Decl(index.d.ts, 0, 13)) + +=== ./common.d.ts === +export interface Row2 {} +>Row2 : Symbol(Row2, Decl(common.d.ts, 0, 0)) + diff --git a/tests/baselines/reference/mergeSymbolReexportedTypeAliasInstantiation.types b/tests/baselines/reference/mergeSymbolReexportedTypeAliasInstantiation.types new file mode 100644 index 0000000000000..1f50660ed7ece --- /dev/null +++ b/tests/baselines/reference/mergeSymbolReexportedTypeAliasInstantiation.types @@ -0,0 +1,56 @@ +//// [tests/cases/compiler/mergeSymbolReexportedTypeAliasInstantiation.ts] //// + +=== main.ts === +import {Row2, C} from '.' +>Row2 : any +> : ^^^ +>C : any +> : ^^^ + +const x: ((rowData: Row2) => unknown) = (rowData: Row2) => (null) +>x : (rowData: Row2) => unknown +> : ^ ^^ ^^^^^ +>rowData : Row2 +> : ^^^^^^^^^^^^ +>(rowData: Row2) => (null) : (rowData: Row2) => any +> : ^ ^^ ^^^^^^^^ +>rowData : Row2 +> : ^^^^^^^^^ +>(null) : null +> : ^^^^ + +const y : C = { s: '' } +>y : C +> : ^ +>{ s: '' } : { s: string; } +> : ^^^^^^^^^^^^^^ +>s : string +> : ^^^^^^ +>'' : "" +> : ^^ + +=== ./a.d.ts === +import '.' +declare module '.' { +>'.' : typeof import("index") +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + type Row2 = {} +>Row2 : Row2 +> : ^^^^^^^ + + type C = { s : string } +>C : C +> : ^ +>s : string +> : ^^^^^^ +} + +=== ./index.d.ts === +export type {Row2} from './common'; +>Row2 : import("common").Row2 +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +=== ./common.d.ts === + +export interface Row2 {} diff --git a/tests/baselines/reference/mergeSymbolRexportFunction.errors.txt b/tests/baselines/reference/mergeSymbolRexportFunction.errors.txt new file mode 100644 index 0000000000000..64432d15be0ac --- /dev/null +++ b/tests/baselines/reference/mergeSymbolRexportFunction.errors.txt @@ -0,0 +1,25 @@ +a.d.ts(3,9): error TS2451: Cannot redeclare block-scoped variable 'Row'. +index.d.ts(1,14): error TS2451: Cannot redeclare block-scoped variable 'Row'. + + +==== main.ts (0 errors) ==== + import {Row} from '.' + Row(); + +==== ./a.d.ts (1 errors) ==== + import '.' + declare module '.' { + const Row: () => void; + ~~~ +!!! error TS2451: Cannot redeclare block-scoped variable 'Row'. +!!! related TS6203 index.d.ts:1:14: 'Row' was also declared here. + } + +==== ./index.d.ts (1 errors) ==== + export type {Row} from './common'; + ~~~ +!!! error TS2451: Cannot redeclare block-scoped variable 'Row'. +!!! related TS6203 a.d.ts:3:9: 'Row' was also declared here. + +==== ./common.d.ts (0 errors) ==== + export declare function Row(): void; \ No newline at end of file diff --git a/tests/baselines/reference/mergeSymbolRexportFunction.js b/tests/baselines/reference/mergeSymbolRexportFunction.js new file mode 100644 index 0000000000000..ee7ba6b6ccee7 --- /dev/null +++ b/tests/baselines/reference/mergeSymbolRexportFunction.js @@ -0,0 +1,23 @@ +//// [tests/cases/compiler/mergeSymbolRexportFunction.ts] //// + +//// [main.ts] +import {Row} from '.' +Row(); + +//// [a.d.ts] +import '.' +declare module '.' { + const Row: () => void; +} + +//// [index.d.ts] +export type {Row} from './common'; + +//// [common.d.ts] +export declare function Row(): void; + +//// [main.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var _1 = require("."); +(0, _1.Row)(); diff --git a/tests/baselines/reference/mergeSymbolRexportFunction.symbols b/tests/baselines/reference/mergeSymbolRexportFunction.symbols new file mode 100644 index 0000000000000..3db7ac7a447b2 --- /dev/null +++ b/tests/baselines/reference/mergeSymbolRexportFunction.symbols @@ -0,0 +1,26 @@ +//// [tests/cases/compiler/mergeSymbolRexportFunction.ts] //// + +=== main.ts === +import {Row} from '.' +>Row : Symbol(Row, Decl(main.ts, 0, 8)) + +Row(); +>Row : Symbol(Row, Decl(main.ts, 0, 8)) + +=== ./a.d.ts === +import '.' +declare module '.' { +>'.' : Symbol("index", Decl(index.d.ts, 0, 0), Decl(a.d.ts, 0, 10)) + + const Row: () => void; +>Row : Symbol(Row, Decl(a.d.ts, 2, 7)) +} + +=== ./index.d.ts === +export type {Row} from './common'; +>Row : Symbol(Row, Decl(index.d.ts, 0, 13)) + +=== ./common.d.ts === +export declare function Row(): void; +>Row : Symbol(Row, Decl(common.d.ts, 0, 0)) + diff --git a/tests/baselines/reference/mergeSymbolRexportFunction.types b/tests/baselines/reference/mergeSymbolRexportFunction.types new file mode 100644 index 0000000000000..4ca9dd96da338 --- /dev/null +++ b/tests/baselines/reference/mergeSymbolRexportFunction.types @@ -0,0 +1,34 @@ +//// [tests/cases/compiler/mergeSymbolRexportFunction.ts] //// + +=== main.ts === +import {Row} from '.' +>Row : () => void +> : ^^^^^^ + +Row(); +>Row() : void +> : ^^^^ +>Row : () => void +> : ^^^^^^ + +=== ./a.d.ts === +import '.' +declare module '.' { +>'.' : typeof import("index") +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + const Row: () => void; +>Row : () => void +> : ^^^^^^ +} + +=== ./index.d.ts === +export type {Row} from './common'; +>Row : any +> : ^^^ + +=== ./common.d.ts === +export declare function Row(): void; +>Row : () => void +> : ^^^^^^ + diff --git a/tests/baselines/reference/mergedInstantiationAssignment.types b/tests/baselines/reference/mergedInstantiationAssignment.types index 12333444b0822..b5fa58d61fe9d 100644 --- a/tests/baselines/reference/mergedInstantiationAssignment.types +++ b/tests/baselines/reference/mergedInstantiationAssignment.types @@ -35,8 +35,8 @@ v1.x = 432; > : ^^^ >v1.x : number > : ^^^^^^ ->v1 : GenericObject & ({ a?: string | undefined; } | { b?: number | undefined; }) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>v1 : GenericObject & ({ a?: string; } | { b?: number; }) +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^ >x : number > : ^^^^^^ >432 : 432 @@ -72,8 +72,8 @@ v2.x = 42; > : ^^ >v2.x : number > : ^^^^^^ ->v2 : GenericObjectWithoutSetter & ({ a?: string | undefined; } | { b?: number | undefined; }) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>v2 : GenericObjectWithoutSetter & ({ a?: string; } | { b?: number; }) +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^ >x : number > : ^^^^^^ >42 : 42 @@ -111,8 +111,8 @@ v3.x = 42; > : ^^ >v3.x : number > : ^^^^^^ ->v3 : NormalObject & ({ a?: string | undefined; } | { b?: number | undefined; }) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>v3 : NormalObject & ({ a?: string; } | { b?: number; }) +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^ >x : number > : ^^^^^^ >42 : 42 diff --git a/tests/baselines/reference/mergedInterfaceFromMultipleFiles1.types b/tests/baselines/reference/mergedInterfaceFromMultipleFiles1.types index 8e8e444939a71..4fa6a30c2c65f 100644 --- a/tests/baselines/reference/mergedInterfaceFromMultipleFiles1.types +++ b/tests/baselines/reference/mergedInterfaceFromMultipleFiles1.types @@ -23,11 +23,11 @@ var a: string = c.foo(); >c.foo() : string > : ^^^^^^ >c.foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >c : C > : ^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var b: number = c.bar(); >b : number @@ -35,11 +35,11 @@ var b: number = c.bar(); >c.bar() : number > : ^^^^^^ >c.bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >c : C > : ^ >bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ var d: number = c.a(); >d : number @@ -47,11 +47,11 @@ var d: number = c.a(); >c.a() : number > : ^^^^^^ >c.a : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >c : C > : ^ >a : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ var e: Date = c.b(); >e : Date @@ -59,11 +59,11 @@ var e: Date = c.b(); >c.b() : Date > : ^^^^ >c.b : () => Date -> : ^^^^^^^^^^ +> : ^^^^^^ >c : C > : ^ >b : () => Date -> : ^^^^^^^^^^ +> : ^^^^^^ === mergedInterfaceFromMultipleFiles1_0.ts === interface I { foo(): string; } diff --git a/tests/baselines/reference/mergedInterfacesWithIndexers.types b/tests/baselines/reference/mergedInterfacesWithIndexers.types index 04f8281db33b4..8d7055bd3d101 100644 --- a/tests/baselines/reference/mergedInterfacesWithIndexers.types +++ b/tests/baselines/reference/mergedInterfacesWithIndexers.types @@ -44,9 +44,9 @@ var r2 = a['1']; var r3 = a['hi']; >r3 : { length: number; } -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^ >a['hi'] : { length: number; } -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^ >a : A > : ^ >'hi' : "hi" diff --git a/tests/baselines/reference/mergedWithLocalValue.types b/tests/baselines/reference/mergedWithLocalValue.types index 79ec50384c8a0..ba09fcf5da2b5 100644 --- a/tests/baselines/reference/mergedWithLocalValue.types +++ b/tests/baselines/reference/mergedWithLocalValue.types @@ -20,9 +20,9 @@ A.toUpperCase(); >A.toUpperCase() : string > : ^^^^^^ >A.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >A : "a" > : ^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/metadataOfClassFromAlias.types b/tests/baselines/reference/metadataOfClassFromAlias.types index 9c32633b7d0f1..4cb3f654a5c87 100644 --- a/tests/baselines/reference/metadataOfClassFromAlias.types +++ b/tests/baselines/reference/metadataOfClassFromAlias.types @@ -32,7 +32,7 @@ export class ClassA { >annotation() : PropertyDecorator > : ^^^^^^^^^^^^^^^^^ >annotation : () => PropertyDecorator -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >array : SomeClass > : ^^^^^^^^^ } diff --git a/tests/baselines/reference/metadataOfClassFromAlias2.types b/tests/baselines/reference/metadataOfClassFromAlias2.types index 3216ab9736316..cdffa195252bc 100644 --- a/tests/baselines/reference/metadataOfClassFromAlias2.types +++ b/tests/baselines/reference/metadataOfClassFromAlias2.types @@ -32,7 +32,7 @@ export class ClassA { >annotation() : PropertyDecorator > : ^^^^^^^^^^^^^^^^^ >annotation : () => PropertyDecorator -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >array : string | SomeClass > : ^^^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/metadataOfClassFromModule.types b/tests/baselines/reference/metadataOfClassFromModule.types index 5ed560ed957d2..fef7de3fb5480 100644 --- a/tests/baselines/reference/metadataOfClassFromModule.types +++ b/tests/baselines/reference/metadataOfClassFromModule.types @@ -22,7 +22,7 @@ module MyModule { @inject leftLeg: Leg; >inject : (target: any, key: string) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >leftLeg : Leg > : ^^^ } diff --git a/tests/baselines/reference/metadataOfEventAlias.types b/tests/baselines/reference/metadataOfEventAlias.types index db1072bdc786b..2c6af74915eb6 100644 --- a/tests/baselines/reference/metadataOfEventAlias.types +++ b/tests/baselines/reference/metadataOfEventAlias.types @@ -23,7 +23,7 @@ export class SomeClass { @Input event: Event; >Input : (target: any, key: string) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >event : Event > : ^^^^^ } diff --git a/tests/baselines/reference/methodChainError.types b/tests/baselines/reference/methodChainError.types index 0551e61438307..6dbe0a61262be 100644 --- a/tests/baselines/reference/methodChainError.types +++ b/tests/baselines/reference/methodChainError.types @@ -25,15 +25,15 @@ new Builder() >new Builder() .method("a") .method() .method("a") : Builder > : ^^^^^^^ >new Builder() .method("a") .method() .method : (param: string) => Builder -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >new Builder() .method("a") .method() : Builder > : ^^^^^^^ >new Builder() .method("a") .method : (param: string) => Builder -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >new Builder() .method("a") : Builder > : ^^^^^^^ >new Builder() .method : (param: string) => Builder -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >new Builder() : Builder > : ^^^^^^^ >Builder : typeof Builder @@ -41,17 +41,17 @@ new Builder() .method("a") >method : (param: string) => Builder -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"a" : "a" > : ^^^ .method() >method : (param: string) => Builder -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ .method("a"); >method : (param: string) => Builder -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"a" : "a" > : ^^^ @@ -68,7 +68,7 @@ new Builder() >new Builder() .method("a") : Builder > : ^^^^^^^ >new Builder() .method : (param: string) => Builder -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >new Builder() : Builder > : ^^^^^^^ >Builder : typeof Builder @@ -76,7 +76,7 @@ new Builder() .method("a") >method : (param: string) => Builder -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"a" : "a" > : ^^^ diff --git a/tests/baselines/reference/methodContainingLocalFunction.types b/tests/baselines/reference/methodContainingLocalFunction.types index 8d8249cc56b27..16e730b1e4543 100644 --- a/tests/baselines/reference/methodContainingLocalFunction.types +++ b/tests/baselines/reference/methodContainingLocalFunction.types @@ -22,7 +22,7 @@ class BugExhibition { >x = localFunction : () => void > : ^^^^^^^^^^ >x : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >localFunction : () => void > : ^^^^^^^^^^ } @@ -47,7 +47,7 @@ class BugExhibition2 { >x = localFunction : () => void > : ^^^^^^^^^^ >x : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >localFunction : () => void > : ^^^^^^^^^^ @@ -77,7 +77,7 @@ class BugExhibition3 { >x = localGenericFunction : (u?: U) => void > : ^ ^^ ^^^ ^^^^^^^^^ >x : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >localGenericFunction : (u?: U) => void > : ^ ^^ ^^^ ^^^^^^^^^ } @@ -107,7 +107,7 @@ class C { >x = funcExpr : (u?: U) => void > : ^ ^^ ^^^ ^^^^^^^^^ >x : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >funcExpr : (u?: U) => void > : ^ ^^ ^^^ ^^^^^^^^^ } @@ -133,7 +133,7 @@ module M { >x = localFunction : () => void > : ^^^^^^^^^^ >x : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >localFunction : () => void > : ^^^^^^^^^^ } @@ -165,7 +165,7 @@ enum E { >x = localFunction : () => void > : ^^^^^^^^^^ >x : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >localFunction : () => void > : ^^^^^^^^^^ diff --git a/tests/baselines/reference/methodSignatureDeclarationEmit1.types b/tests/baselines/reference/methodSignatureDeclarationEmit1.types index 68d4d1bcac742..b438e7d917c4b 100644 --- a/tests/baselines/reference/methodSignatureDeclarationEmit1.types +++ b/tests/baselines/reference/methodSignatureDeclarationEmit1.types @@ -7,19 +7,19 @@ class C { public foo(n: number): void; >foo : { (n: number): void; (s: string): void; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ public foo(s: string): void; >foo : { (n: number): void; (s: string): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ public foo(a: any): void { >foo : { (n: number): void; (s: string): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any } } diff --git a/tests/baselines/reference/methodSignatureHandledDeclarationKindForSymbol.types b/tests/baselines/reference/methodSignatureHandledDeclarationKindForSymbol.types index b75b715f0db7e..f06648da8b304 100644 --- a/tests/baselines/reference/methodSignatureHandledDeclarationKindForSymbol.types +++ b/tests/baselines/reference/methodSignatureHandledDeclarationKindForSymbol.types @@ -10,7 +10,7 @@ interface Foo { interface Foo { bold: string; >bold : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/methodSignaturesWithOverloads.types b/tests/baselines/reference/methodSignaturesWithOverloads.types index e74253089b2a0..fcf3524653b58 100644 --- a/tests/baselines/reference/methodSignaturesWithOverloads.types +++ b/tests/baselines/reference/methodSignaturesWithOverloads.types @@ -9,13 +9,13 @@ var c: { func4?(x: number): number; >func4 : { (x: number): number; (s: string): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ func4(s: string): string; // error, mismatched optionality >func4 : { (x: number): number; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ @@ -35,24 +35,24 @@ var c: { }; var c2: { ->c2 : { func4?(x: T): number; func4?(s: T_1): string; func5?: { (x: T_2): number; (s: T_2): string; }; } -> : ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^ ^^^ +>c2 : { func4?(x: T): number; func4?(s: T): string; func5?: { (x: T): number; (s: T): string; }; } +> : ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^ ^^^ func4(x: T): number; >func4 : { (x: T): number; (s: T_1): string; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ func4? (s: T): string; // error, mismatched optionality >func4 : { (x: T_1): number; (s: T): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >s : T > : ^ func5?: { ->func5 : { (x: T): number; (s: T_1): string; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ +>func5 : { (x: T): number; (s: T): string; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ (x: T): number; >x : T diff --git a/tests/baselines/reference/methodSignaturesWithOverloads2.types b/tests/baselines/reference/methodSignaturesWithOverloads2.types index 5dbbcc236c279..d29fe4fc8c56a 100644 --- a/tests/baselines/reference/methodSignaturesWithOverloads2.types +++ b/tests/baselines/reference/methodSignaturesWithOverloads2.types @@ -9,13 +9,13 @@ var c: { func4?(x: number): number; >func4 : { (x: number): number; (s: string): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ func4?(s: string): string; >func4 : { (x: number): number; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ @@ -37,56 +37,56 @@ var c: { // no errors c.func4 = c.func5; >c.func4 = c.func5 : { (x: number): number; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c.func4 : { (x: number): number; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c : { func4?(x: number): number; func4?(s: string): string; func5?: { (x: number): number; (s: string): string; }; } -> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^^ >func4 : { (x: number): number; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c.func5 : { (x: number): number; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c : { func4?(x: number): number; func4?(s: string): string; func5?: { (x: number): number; (s: string): string; }; } -> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^^ >func5 : { (x: number): number; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ c.func5 = c.func4; >c.func5 = c.func4 : { (x: number): number; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c.func5 : { (x: number): number; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c : { func4?(x: number): number; func4?(s: string): string; func5?: { (x: number): number; (s: string): string; }; } -> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^^ >func5 : { (x: number): number; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c.func4 : { (x: number): number; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c : { func4?(x: number): number; func4?(s: string): string; func5?: { (x: number): number; (s: string): string; }; } -> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^^ >func4 : { (x: number): number; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ var c2: { ->c2 : { func4?(x: T): number; func4?(s: T_1): string; func5?: { (x: T_2): number; (s: T_2): string; }; } -> : ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^ ^^^ +>c2 : { func4?(x: T): number; func4?(s: T): string; func5?: { (x: T): number; (s: T): string; }; } +> : ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^ ^^^ func4?(x: T): number; >func4 : { (x: T): number; (s: T_1): string; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ func4? (s: T): string; >func4 : { (x: T_1): number; (s: T): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >s : T > : ^ func5?: { ->func5 : { (x: T): number; (s: T_1): string; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ +>func5 : { (x: T): number; (s: T): string; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ (x: T): number; >x : T @@ -101,34 +101,34 @@ var c2: { // no errors c2.func4 = c2.func5; ->c2.func4 = c2.func5 : { (x: T): number; (s: T_1): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ->c2.func4 : { (x: T): number; (s: T_1): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ->c2 : { func4?(x: T): number; func4?(s: T_1): string; func5?: { (x: T_2): number; (s: T_3): string; }; } -> : ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ->func4 : { (x: T): number; (s: T_1): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ->c2.func5 : { (x: T): number; (s: T_1): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ->c2 : { func4?(x: T): number; func4?(s: T_1): string; func5?: { (x: T_2): number; (s: T_3): string; }; } -> : ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ->func5 : { (x: T): number; (s: T_1): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +>c2.func4 = c2.func5 : { (x: T): number; (s: T): string; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ +>c2.func4 : { (x: T): number; (s: T): string; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ +>c2 : { func4?(x: T): number; func4?(s: T): string; func5?: { (x: T): number; (s: T): string; }; } +> : ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^ ^^^ +>func4 : { (x: T): number; (s: T): string; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ +>c2.func5 : { (x: T): number; (s: T): string; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ +>c2 : { func4?(x: T): number; func4?(s: T): string; func5?: { (x: T): number; (s: T): string; }; } +> : ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^ ^^^ +>func5 : { (x: T): number; (s: T): string; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ c2.func5 = c2.func4; ->c2.func5 = c2.func4 : { (x: T): number; (s: T_1): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ->c2.func5 : { (x: T): number; (s: T_1): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ->c2 : { func4?(x: T): number; func4?(s: T_1): string; func5?: { (x: T_2): number; (s: T_3): string; }; } -> : ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ->func5 : { (x: T): number; (s: T_1): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ->c2.func4 : { (x: T): number; (s: T_1): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ->c2 : { func4?(x: T): number; func4?(s: T_1): string; func5?: { (x: T_2): number; (s: T_3): string; }; } -> : ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ->func4 : { (x: T): number; (s: T_1): string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +>c2.func5 = c2.func4 : { (x: T): number; (s: T): string; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ +>c2.func5 : { (x: T): number; (s: T): string; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ +>c2 : { func4?(x: T): number; func4?(s: T): string; func5?: { (x: T): number; (s: T): string; }; } +> : ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^ ^^^ +>func5 : { (x: T): number; (s: T): string; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ +>c2.func4 : { (x: T): number; (s: T): string; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ +>c2 : { func4?(x: T): number; func4?(s: T): string; func5?: { (x: T): number; (s: T): string; }; } +> : ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^ ^^^ +>func4 : { (x: T): number; (s: T): string; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ diff --git a/tests/baselines/reference/mismatchedExplicitTypeParameterAndArgumentType.types b/tests/baselines/reference/mismatchedExplicitTypeParameterAndArgumentType.types index 7113f8ab569d8..b9b42cc5fc935 100644 --- a/tests/baselines/reference/mismatchedExplicitTypeParameterAndArgumentType.types +++ b/tests/baselines/reference/mismatchedExplicitTypeParameterAndArgumentType.types @@ -21,11 +21,11 @@ function map(xs: T[], f: (x: T) => U) { >xs.forEach(x => ys.push(f(x))) : void > : ^^^^ >xs.forEach : (callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^^^ >xs : T[] > : ^^^ >forEach : (callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^^^ >x => ys.push(f(x)) : (x: T) => number > : ^ ^^^^^^^^^^^^^^ >x : T @@ -33,15 +33,15 @@ function map(xs: T[], f: (x: T) => U) { >ys.push(f(x)) : number > : ^^^^^^ >ys.push : (...items: U[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^ >ys : U[] > : ^^^ >push : (...items: U[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^ >f(x) : U > : ^ >f : (x: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >x : T > : ^ @@ -70,11 +70,11 @@ var r0 = map([1, ""], (x) => x.toString()); >x.toString() : string > : ^^^^^^ >x.toString : (() => string) | ((radix?: number) => string) -> : ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^ ^^^ ^^^^^ ^ >x : string | number > : ^^^^^^^^^^^^^^^ >toString : (() => string) | ((radix?: number) => string) -> : ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^ ^^^ ^^^^^ ^ var r5 = map([1, ""], (x) => x.toString()); >r5 : any[] @@ -122,11 +122,11 @@ var r6 = map([1, ""], (x) => x.toString()); >x.toString() : string > : ^^^^^^ >x.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : Object > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var r7 = map([1, ""], (x) => x.toString()); // error >r7 : string[] @@ -148,11 +148,11 @@ var r7 = map([1, ""], (x) => x.toString()); // error >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var r7b = map([1, ""], (x) => x.toString()); // error >r7b : unknown[] @@ -174,11 +174,11 @@ var r7b = map([1, ""], (x) => x.toString()); // error >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var r8 = map([1, ""], (x) => x.toString()); >r8 : string[] diff --git a/tests/baselines/reference/missingFunctionImplementation.types b/tests/baselines/reference/missingFunctionImplementation.types index 50dba6b6a06e8..856c55b984858 100644 --- a/tests/baselines/reference/missingFunctionImplementation.types +++ b/tests/baselines/reference/missingFunctionImplementation.types @@ -62,13 +62,13 @@ class C5 { static m(a): void; >m : { (a: any): void; (): void; } -> : ^^^ ^^^^^^^^ ^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^ ^^^^^^ ^^^ >a : any > : ^^^ static m(): void; >m : { (a: any): void; (): void; } -> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^^ +> : ^^^ ^^^^^^^^ ^^^^^^ ^^^ } // merged with namespace, static methods @@ -90,13 +90,13 @@ class C7 { static m(a): void; >m : { (a: any): void; (): void; } -> : ^^^ ^^^^^^^^ ^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^ ^^^^^^ ^^^ >a : any > : ^^^ static m(): void; >m : { (a: any): void; (): void; } -> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^^ +> : ^^^ ^^^^^^^^ ^^^^^^ ^^^ } namespace C7 { } @@ -108,13 +108,13 @@ class C8 { static m(a): void; >m : { (a: any): void; (a: any, b: any): void; } -> : ^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >a : any > : ^^^ static m(a, b): void; >m : { (a: any): void; (a: any, b: any): void; } -> : ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^ +> : ^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >a : any > : ^^^ >b : any @@ -162,7 +162,7 @@ namespace N10 { export function m(a): void; >m : { (a: any): void; (a: any): void; } -> : ^^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^ >a : any > : ^^^ } @@ -172,7 +172,7 @@ namespace N10 { export function m(a): void { } >m : { (a: any): void; (a: any): void; } -> : ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ +> : ^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^ >a : any > : ^^^ } @@ -184,17 +184,17 @@ namespace N12 { export function m(a): void; >m : { (a: any): void; (): void; (a: any): void; } -> : ^^^ ^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^ ^^^^^^ ^^^ ^^^^^^^^ ^^^ >a : any > : ^^^ export function m(): void; >m : { (a: any): void; (): void; (a: any): void; } -> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^ ^^^^^^ ^^^ ^^^^^^^^ ^^^ export function m(a?): void { } >m : { (a: any): void; (): void; (a: any): void; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^ ^^^^^^ ^^^ ^^^^^^^^ ^^^ >a : any > : ^^^ } @@ -204,7 +204,7 @@ namespace N12 { export function m(a): void { } >m : { (a: any): void; (): void; (a: any): void; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ +> : ^^^ ^^^^^^^^ ^^^^^^ ^^^ ^^^^^^^^ ^^^ >a : any > : ^^^ } diff --git a/tests/baselines/reference/missingFunctionImplementation2.types b/tests/baselines/reference/missingFunctionImplementation2.types index f1cb67edfdb07..aaa79a5d73a5d 100644 --- a/tests/baselines/reference/missingFunctionImplementation2.types +++ b/tests/baselines/reference/missingFunctionImplementation2.types @@ -18,7 +18,7 @@ declare module "./missingFunctionImplementation2_b" { === missingFunctionImplementation2_b.ts === export function f(a?, b?); >f : { (a?: any, b?: any): any; (a: any, b: any): void; } -> : ^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^ >a : any > : ^^^ >b : any diff --git a/tests/baselines/reference/missingTypeArguments1.types b/tests/baselines/reference/missingTypeArguments1.types index 7674a030f35cc..4c52121e6efdb 100644 --- a/tests/baselines/reference/missingTypeArguments1.types +++ b/tests/baselines/reference/missingTypeArguments1.types @@ -11,8 +11,8 @@ class X { > : ^^^^ p1: () => X; ->p1 : () => any -> : ^^^^^^^^^ +>p1 : () => X +> : ^^^^^^ } var a: X; >a : X @@ -73,8 +73,8 @@ class X6 { > : ^^^^^ p6: () => Y; ->p6 : () => any -> : ^^^^^^^^^ +>p6 : () => Y +> : ^^^^^^ } var a6: X6; >a6 : X6 diff --git a/tests/baselines/reference/missingTypeArguments2.types b/tests/baselines/reference/missingTypeArguments2.types index c5c87c749a5ef..7e209f39c7ca0 100644 --- a/tests/baselines/reference/missingTypeArguments2.types +++ b/tests/baselines/reference/missingTypeArguments2.types @@ -6,12 +6,12 @@ class A { } > : ^^^^ var x: () => A; ->x : () => any -> : ^^^^^^^^^ +>x : () => A +> : ^^^^^^ (a: A) => { }; ->(a: A) => { } : (a: any) => void -> : ^ ^^^^^^^^^^^^^^ +>(a: A) => { } : (a: A) => void +> : ^ ^^ ^^^^^^^^^ >a : any > : ^^^ @@ -20,6 +20,6 @@ var y: A; > : ^^^^^^ (): A => null; ->(): A => null : () => any -> : ^^^^^^^^^ +>(): A => null : () => A +> : ^^^^^^ diff --git a/tests/baselines/reference/missingTypeArguments3.types b/tests/baselines/reference/missingTypeArguments3.types index a0040a4a0275a..9fc720e304785 100644 --- a/tests/baselines/reference/missingTypeArguments3.types +++ b/tests/baselines/reference/missingTypeArguments3.types @@ -12,7 +12,7 @@ declare module linq { GroupBy(keySelector: (element: T) => TKey): Enumerable>; >GroupBy : { (keySelector: (element: T) => TKey): Enumerable>; (keySelector: (element: T) => TKey_1, elementSelector: (element: T) => TElement): Enumerable>; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >keySelector : (element: T) => TKey > : ^ ^^ ^^^^^ >element : T @@ -20,7 +20,7 @@ declare module linq { GroupBy(keySelector: (element: T) => TKey, elementSelector: (element: T) => TElement): Enumerable>; >GroupBy : { (keySelector: (element: T) => TKey_1): Enumerable>; (keySelector: (element: T) => TKey, elementSelector: (element: T) => TElement): Enumerable>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >keySelector : (element: T) => TKey > : ^ ^^ ^^^^^ >element : T diff --git a/tests/baselines/reference/misspelledJsDocTypedefTags.types b/tests/baselines/reference/misspelledJsDocTypedefTags.types index fbd3f759fc395..fc21d415c2788 100644 --- a/tests/baselines/reference/misspelledJsDocTypedefTags.types +++ b/tests/baselines/reference/misspelledJsDocTypedefTags.types @@ -9,7 +9,7 @@ Animation.AnimationModel.ScreenshotCapture.Request; >Animation.AnimationModel : any > : ^^^ >Animation : { new (effect?: AnimationEffect | null, timeline?: AnimationTimeline | null): Animation; prototype: Animation; } -> : ^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^ >AnimationModel : any > : ^^^ >ScreenshotCapture : any @@ -25,7 +25,7 @@ Animation.AnimationModel.ScreenshotCapture.Request; >Animation.AnimationModel : any > : ^^^ >Animation : { new (effect?: AnimationEffect | null, timeline?: AnimationTimeline | null): Animation; prototype: Animation; } -> : ^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^ >AnimationModel : any > : ^^^ >ScreenshotCapture : any diff --git a/tests/baselines/reference/mixedStaticAndInstanceClassMembers.types b/tests/baselines/reference/mixedStaticAndInstanceClassMembers.types index 865fa27ace7a9..352ce21d8f6dc 100644 --- a/tests/baselines/reference/mixedStaticAndInstanceClassMembers.types +++ b/tests/baselines/reference/mixedStaticAndInstanceClassMembers.types @@ -23,7 +23,7 @@ class A { m1 (a: any): void { >m1 : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : any > : ^^^ } @@ -39,7 +39,7 @@ class B { m1 (a: string): void; >m1 : { (a: string): void; (a: any): void; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : string > : ^^^^^^ @@ -51,7 +51,7 @@ class B { m1 (a: any): void { >m1 : { (a: string): void; (a: any): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any > : ^^^ } diff --git a/tests/baselines/reference/mixedTypeEnumComparison.types b/tests/baselines/reference/mixedTypeEnumComparison.types index d589e7d810a65..fdb72dd9273cc 100644 --- a/tests/baselines/reference/mixedTypeEnumComparison.types +++ b/tests/baselines/reference/mixedTypeEnumComparison.types @@ -144,7 +144,7 @@ enum E2 { >someValue() : number > : ^^^^^^ >someValue : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } someString > E2.S1; diff --git a/tests/baselines/reference/mixinAbstractClasses.2.types b/tests/baselines/reference/mixinAbstractClasses.2.types index cde9ab60b7999..d6a5c7c36c1da 100644 --- a/tests/baselines/reference/mixinAbstractClasses.2.types +++ b/tests/baselines/reference/mixinAbstractClasses.2.types @@ -9,7 +9,7 @@ interface Mixin { function Mixin any>(baseClass: TBaseClass): TBaseClass & (abstract new (...args: any) => Mixin) { >Mixin : any>(baseClass: TBaseClass) => TBaseClass & (abstract new (...args: any) => Mixin) -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >args : any > : ^^^ >baseClass : TBaseClass @@ -45,11 +45,11 @@ abstract class AbstractBase { const MixedBase = Mixin(AbstractBase); >MixedBase : typeof AbstractBase & (abstract new (...args: any) => Mixin) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^ >Mixin(AbstractBase) : typeof AbstractBase & (abstract new (...args: any) => Mixin) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^ >Mixin : any>(baseClass: TBaseClass) => TBaseClass & (abstract new (...args: any) => Mixin) -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >AbstractBase : typeof AbstractBase > : ^^^^^^^^^^^^^^^^^^^ @@ -66,5 +66,5 @@ new MixedBase(); >new MixedBase() : any > : ^^^ >MixedBase : typeof AbstractBase & (abstract new (...args: any) => Mixin) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^ diff --git a/tests/baselines/reference/mixinAbstractClasses.types b/tests/baselines/reference/mixinAbstractClasses.types index 1027af673b0b0..6ce2463ee1235 100644 --- a/tests/baselines/reference/mixinAbstractClasses.types +++ b/tests/baselines/reference/mixinAbstractClasses.types @@ -9,7 +9,7 @@ interface Mixin { function Mixin any>(baseClass: TBaseClass): TBaseClass & (abstract new (...args: any) => Mixin) { >Mixin : any>(baseClass: TBaseClass) => TBaseClass & (abstract new (...args: any) => Mixin) -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >args : any >baseClass : TBaseClass > : ^^^^^^^^^^ @@ -55,7 +55,7 @@ class DerivedFromConcrete extends Mixin(ConcreteBase) { >Mixin(ConcreteBase) : ConcreteBase & Mixin > : ^^^^^^^^^^^^^^^^^^^^ >Mixin : any>(baseClass: TBaseClass) => TBaseClass & (abstract new (...args: any) => Mixin) -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >ConcreteBase : typeof ConcreteBase > : ^^^^^^^^^^^^^^^^^^^ } @@ -82,11 +82,11 @@ wasConcrete.mixinMethod(); >wasConcrete.mixinMethod() : void > : ^^^^ >wasConcrete.mixinMethod : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >wasConcrete : DerivedFromConcrete > : ^^^^^^^^^^^^^^^^^^^ >mixinMethod : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ class DerivedFromAbstract extends Mixin(AbstractBase) { >DerivedFromAbstract : DerivedFromAbstract @@ -94,7 +94,7 @@ class DerivedFromAbstract extends Mixin(AbstractBase) { >Mixin(AbstractBase) : AbstractBase & Mixin > : ^^^^^^^^^^^^^^^^^^^^ >Mixin : any>(baseClass: TBaseClass) => TBaseClass & (abstract new (...args: any) => Mixin) -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >AbstractBase : typeof AbstractBase > : ^^^^^^^^^^^^^^^^^^^ @@ -125,9 +125,9 @@ wasAbstract.mixinMethod(); >wasAbstract.mixinMethod() : void > : ^^^^ >wasAbstract.mixinMethod : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >wasAbstract : DerivedFromAbstract > : ^^^^^^^^^^^^^^^^^^^ >mixinMethod : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/mixinAbstractClassesReturnTypeInference.types b/tests/baselines/reference/mixinAbstractClassesReturnTypeInference.types index 0f0c302cb4b9a..e7824f8e2dcee 100644 --- a/tests/baselines/reference/mixinAbstractClassesReturnTypeInference.types +++ b/tests/baselines/reference/mixinAbstractClassesReturnTypeInference.types @@ -18,7 +18,7 @@ abstract class AbstractBase { function Mixin2 any>(baseClass: TBase) { >Mixin2 : any>(baseClass: TBase) => ((abstract new (...args: any[]) => MixinClass) & { prototype: Mixin2.MixinClass; staticMixinMethod(): void; }) & TBase -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ >args : any[] > : ^^^^^ >baseClass : TBase @@ -42,7 +42,7 @@ function Mixin2 any>(baseClass: T } return MixinClass; >MixinClass : ((abstract new (...args: any[]) => MixinClass) & { prototype: Mixin2.MixinClass; staticMixinMethod(): void; }) & TBase -> : ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ } class DerivedFromAbstract2 extends Mixin2(AbstractBase) { @@ -51,7 +51,7 @@ class DerivedFromAbstract2 extends Mixin2(AbstractBase) { >Mixin2(AbstractBase) : Mixin2.MixinClass & AbstractBase > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Mixin2 : any>(baseClass: TBase) => ((abstract new (...args: any[]) => MixinClass) & { prototype: Mixin2.MixinClass; staticMixinMethod(): void; }) & TBase -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ >AbstractBase : typeof AbstractBase > : ^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/mixinAccessModifiers.types b/tests/baselines/reference/mixinAccessModifiers.types index c363d6ca2487b..0e0d834813a5e 100644 --- a/tests/baselines/reference/mixinAccessModifiers.types +++ b/tests/baselines/reference/mixinAccessModifiers.types @@ -207,7 +207,7 @@ class C1 extends Mix(Private, Private2) {} >Mix(Private, Private2) : typeof Private & typeof Private2 > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Mix : (c1: T, c2: U) => T & U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Private : typeof Private > : ^^^^^^^^^^^^^^ >Private2 : typeof Private2 @@ -219,7 +219,7 @@ class C2 extends Mix(Private, Protected) {} >Mix(Private, Protected) : typeof Private & typeof Protected > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Mix : (c1: T, c2: U) => T & U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Private : typeof Private > : ^^^^^^^^^^^^^^ >Protected : typeof Protected @@ -231,7 +231,7 @@ class C3 extends Mix(Private, Public) {} >Mix(Private, Public) : typeof Private & typeof Public > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Mix : (c1: T, c2: U) => T & U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Private : typeof Private > : ^^^^^^^^^^^^^^ >Public : typeof Public @@ -243,7 +243,7 @@ class C4 extends Mix(Protected, Protected2) { >Mix(Protected, Protected2) : Protected & Protected2 > : ^^^^^^^^^^^^^^^^^^^^^^ >Mix : (c1: T, c2: U) => T & U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Protected : typeof Protected > : ^^^^^^^^^^^^^^^^ >Protected2 : typeof Protected2 @@ -319,7 +319,7 @@ class C5 extends Mix(Protected, Public) { >Mix(Protected, Public) : Protected & Public > : ^^^^^^^^^^^^^^^^^^ >Mix : (c1: T, c2: U) => T & U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Protected : typeof Protected > : ^^^^^^^^^^^^^^^^ >Public : typeof Public @@ -395,7 +395,7 @@ class C6 extends Mix(Public, Public2) { >Mix(Public, Public2) : Public & Public2 > : ^^^^^^^^^^^^^^^^ >Mix : (c1: T, c2: U) => T & U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Public : typeof Public > : ^^^^^^^^^^^^^ >Public2 : typeof Public2 @@ -569,7 +569,7 @@ function f9(x: ProtectedGeneric<{a: void;}> & ProtectedGeneric<{a:void;b:void;}> >x.privateMethod : (() => void) & (() => void) > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : ProtectedGeneric<{ a: void; }> & ProtectedGeneric<{ a: void; b: void; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^ >privateMethod : (() => void) & (() => void) > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -579,7 +579,7 @@ function f9(x: ProtectedGeneric<{a: void;}> & ProtectedGeneric<{a:void;b:void;}> >x.protectedMethod : (() => void) & (() => void) > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : ProtectedGeneric<{ a: void; }> & ProtectedGeneric<{ a: void; b: void; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^ >protectedMethod : (() => void) & (() => void) > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/mixinClassesAnnotated.types b/tests/baselines/reference/mixinClassesAnnotated.types index 51b584b79a06f..799d3eb27f0c5 100644 --- a/tests/baselines/reference/mixinClassesAnnotated.types +++ b/tests/baselines/reference/mixinClassesAnnotated.types @@ -52,9 +52,9 @@ interface Printable { const Printable = >(superClass: T): Constructor & { message: string } & T => >Printable : >(superClass: T) => Constructor & { message: string; } & T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >>(superClass: T): Constructor & { message: string } & T => class extends superClass { static message = "hello"; print() { const output = this.x + "," + this.y; } } : >(superClass: T) => Constructor & { message: string; } & T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >superClass : T > : ^ >message : string @@ -108,7 +108,7 @@ interface Tagged { function Tagged>(superClass: T): Constructor & T { >Tagged : >(superClass: T) => Constructor & T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >superClass : T > : ^ @@ -159,21 +159,21 @@ const Thing1 = Tagged(Derived); >Tagged(Derived) : Constructor & typeof Derived > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Tagged : >(superClass: T) => Constructor & T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >Derived : typeof Derived > : ^^^^^^^^^^^^^^ const Thing2 = Tagged(Printable(Derived)); >Thing2 : Constructor & Constructor & { message: string; } & typeof Derived -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >Tagged(Printable(Derived)) : Constructor & Constructor & { message: string; } & typeof Derived -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >Tagged : >(superClass: T) => Constructor & T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >Printable(Derived) : Constructor & { message: string; } & typeof Derived -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >Printable : >(superClass: T) => Constructor & { message: string; } & T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >Derived : typeof Derived > : ^^^^^^^^^^^^^^ @@ -181,7 +181,7 @@ Thing2.message; >Thing2.message : string > : ^^^^^^ >Thing2 : Constructor & Constructor & { message: string; } & typeof Derived -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >message : string > : ^^^^^^ @@ -230,7 +230,7 @@ function f2() { >new Thing2(1, 2, 3) : Tagged & Printable & Derived > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Thing2 : Constructor & Constructor & { message: string; } & typeof Derived -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -258,11 +258,11 @@ function f2() { >thing.print() : void > : ^^^^ >thing.print : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >thing : Tagged & Printable & Derived > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >print : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } class Thing3 extends Thing2 { @@ -279,7 +279,7 @@ class Thing3 extends Thing2 { >super(10, 20, 30) : void > : ^^^^ >super : Constructor & Constructor & { message: string; } & typeof Derived -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >10 : 10 > : ^^ >20 : 20 @@ -307,11 +307,11 @@ class Thing3 extends Thing2 { >this.print() : void > : ^^^^ >this.print : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >print : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } } diff --git a/tests/baselines/reference/mixinClassesAnonymous.types b/tests/baselines/reference/mixinClassesAnonymous.types index f33037af8777f..49df926846c56 100644 --- a/tests/baselines/reference/mixinClassesAnonymous.types +++ b/tests/baselines/reference/mixinClassesAnonymous.types @@ -46,9 +46,9 @@ class Derived extends Base { const Printable = >(superClass: T) => class extends superClass { >Printable : >(superClass: T) => { new (...args: any[]): (Anonymous class); prototype: Printable.(Anonymous class); message: string; } & T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>(superClass: T) => class extends superClass { static message = "hello"; print() { const output = this.x + "," + this.y; }} : >(superClass: T) => { new (...args: any[]): (Anonymous class); prototype: Printable.(Anonymous class); message: string; } & T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >superClass : T > : ^ >class extends superClass { static message = "hello"; print() { const output = this.x + "," + this.y; }} : { new (...args: any[]): (Anonymous class); prototype: Printable.(Anonymous class); message: string; } & T @@ -92,7 +92,7 @@ const Printable = >(superClass: T) => class extends function Tagged>(superClass: T) { >Tagged : >(superClass: T) => { new (...args: any[]): C; prototype: Tagged.C; } & T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >superClass : T > : ^ @@ -143,7 +143,7 @@ const Thing1 = Tagged(Derived); >Tagged(Derived) : { new (...args: any[]): Tagged.C; prototype: Tagged.C; } & typeof Derived > : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Tagged : >(superClass: T) => { new (...args: any[]): C; prototype: Tagged.C; } & T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Derived : typeof Derived > : ^^^^^^^^^^^^^^ @@ -153,11 +153,11 @@ const Thing2 = Tagged(Printable(Derived)); >Tagged(Printable(Derived)) : { new (...args: any[]): Tagged<{ new (...args: any[]): Printable.(Anonymous class); prototype: Printable.(Anonymous class); message: string; } & typeof Derived>.C; prototype: Tagged.C; } & { new (...args: any[]): Printable.(Anonymous class); prototype: Printable.(Anonymous class); message: string; } & typeof Derived > : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Tagged : >(superClass: T) => { new (...args: any[]): C; prototype: Tagged.C; } & T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Printable(Derived) : { new (...args: any[]): Printable.(Anonymous class); prototype: Printable.(Anonymous class); message: string; } & typeof Derived > : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Printable : >(superClass: T) => { new (...args: any[]): (Anonymous class); prototype: Printable.(Anonymous class); message: string; } & T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Derived : typeof Derived > : ^^^^^^^^^^^^^^ @@ -303,9 +303,9 @@ class Thing3 extends Thing2 { const Timestamped = >(Base: CT) => { >Timestamped : >(Base: CT) => { new (...args: any[]): (Anonymous class); prototype: Timestamped.(Anonymous class); } & CT -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>(Base: CT) => { return class extends Base { timestamp = new Date(); };} : >(Base: CT) => { new (...args: any[]): (Anonymous class); prototype: Timestamped.(Anonymous class); } & CT -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Base : CT > : ^^ diff --git a/tests/baselines/reference/mixinClassesMembers.types b/tests/baselines/reference/mixinClassesMembers.types index f36d3e9794ed0..8e8019df74149 100644 --- a/tests/baselines/reference/mixinClassesMembers.types +++ b/tests/baselines/reference/mixinClassesMembers.types @@ -309,11 +309,11 @@ function f4() { >x.f() : number > : ^^^^^^ >x.f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : M2 & M1 & C1 > : ^^^^^^^^^^^^ >f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ Mixed3.p; >Mixed3.p : number @@ -327,11 +327,11 @@ function f4() { >Mixed3.f() : number > : ^^^^^^ >Mixed3.f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Mixed3 : typeof M2 & typeof M1 & typeof C1 > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } function f5() { @@ -368,11 +368,11 @@ function f5() { >x.f() : number > : ^^^^^^ >x.f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : C1 & M1 & M2 > : ^^^^^^^^^^^^ >f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ Mixed4.p; >Mixed4.p : number @@ -386,11 +386,11 @@ function f5() { >Mixed4.f() : number > : ^^^^^^ >Mixed4.f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Mixed4 : typeof C1 & typeof M1 & typeof M2 > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } function f6() { @@ -417,11 +417,11 @@ function f6() { >x.f() : number > : ^^^^^^ >x.f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : M1 & M2 > : ^^^^^^^ >f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ Mixed5.p; >Mixed5.p : number @@ -435,11 +435,11 @@ function f6() { >Mixed5.f() : number > : ^^^^^^ >Mixed5.f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Mixed5 : typeof M1 & typeof M2 > : ^^^^^^^^^^^^^^^^^^^^^ >f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } class C2 extends Mixed1 { @@ -538,10 +538,10 @@ class C3 extends Mixed3 { >super.f() : number > : ^^^^^^ >super.f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >super : M2 & M1 & C1 > : ^^^^^^^^^^^^ >f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/mixinIntersectionIsValidbaseType.types b/tests/baselines/reference/mixinIntersectionIsValidbaseType.types index 089dcc412e27e..ee2f364bf8142 100644 --- a/tests/baselines/reference/mixinIntersectionIsValidbaseType.types +++ b/tests/baselines/reference/mixinIntersectionIsValidbaseType.types @@ -20,9 +20,9 @@ export interface Initable { */ export const Serializable = & Initable>( >Serializable : & Initable>(SuperClass: K) => { new (...args: any[]): SerializableLocal; prototype: Serializable.SerializableLocal; init(...args: any[]): void; } & K -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ > & Initable>( SuperClass: K) => { const LocalMixin = (InnerSuperClass: K) => { return class SerializableLocal extends InnerSuperClass { } }; let ResultClass = LocalMixin(SuperClass); return ResultClass;} : & Initable>(SuperClass: K) => { new (...args: any[]): SerializableLocal; prototype: Serializable.SerializableLocal; init(...args: any[]): void; } & K -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ SuperClass: K >SuperClass : K @@ -31,52 +31,52 @@ export const Serializable = & Initable>( ) => { const LocalMixin = (InnerSuperClass: K) => { >LocalMixin : (InnerSuperClass: K) => { new (...args: any[]): SerializableLocal; prototype: Serializable.SerializableLocal; init(...args: any[]): void; } & K -> : ^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ >(InnerSuperClass: K) => { return class SerializableLocal extends InnerSuperClass { } } : (InnerSuperClass: K) => { new (...args: any[]): SerializableLocal; prototype: Serializable.SerializableLocal; init(...args: any[]): void; } & K -> : ^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ >InnerSuperClass : K > : ^ return class SerializableLocal extends InnerSuperClass { >class SerializableLocal extends InnerSuperClass { } : { new (...args: any[]): SerializableLocal; prototype: Serializable.SerializableLocal; init(...args: any[]): void; } & K -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ >SerializableLocal : { new (...args: any[]): SerializableLocal; prototype: Serializable.SerializableLocal; init(...args: any[]): void; } & K -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ >InnerSuperClass : Initable > : ^^^^^^^^ } }; let ResultClass = LocalMixin(SuperClass); >ResultClass : { new (...args: any[]): SerializableLocal; prototype: Serializable.SerializableLocal; init(...args: any[]): void; } & K -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ >LocalMixin(SuperClass) : { new (...args: any[]): SerializableLocal; prototype: Serializable.SerializableLocal; init(...args: any[]): void; } & K -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ >LocalMixin : (InnerSuperClass: K) => { new (...args: any[]): SerializableLocal; prototype: Serializable.SerializableLocal; init(...args: any[]): void; } & K -> : ^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ >SuperClass : K > : ^ return ResultClass; >ResultClass : { new (...args: any[]): SerializableLocal; prototype: Serializable.SerializableLocal; init(...args: any[]): void; } & K -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ }; const AMixin = & Initable>(SuperClass: K) => { >AMixin : & Initable>(SuperClass: K) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ > & Initable>(SuperClass: K) => { let SomeHowOkay = class A extends SuperClass { }; let SomeHowNotOkay = class A extends Serializable(SuperClass) { };} : & Initable>(SuperClass: K) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >SuperClass : K > : ^ let SomeHowOkay = class A extends SuperClass { >SomeHowOkay : { new (...args: any[]): A; prototype: AMixin.A; init(...args: any[]): void; } & K -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ >class A extends SuperClass { } : { new (...args: any[]): A; prototype: AMixin.A; init(...args: any[]): void; } & K -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ >A : { new (...args: any[]): A; prototype: AMixin.A; init(...args: any[]): void; } & K -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ >SuperClass : Initable > : ^^^^^^^^ @@ -84,15 +84,15 @@ const AMixin = & Initable>(SuperClass: K) => { let SomeHowNotOkay = class A extends Serializable(SuperClass) { >SomeHowNotOkay : { new (...args: any[]): A; prototype: AMixin.A; init(...args: any[]): void; } & K -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ >class A extends Serializable(SuperClass) { } : { new (...args: any[]): A; prototype: AMixin.A; init(...args: any[]): void; } & K -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ >A : { new (...args: any[]): A; prototype: AMixin.A; init(...args: any[]): void; } & K -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ >Serializable(SuperClass) : Serializable.SerializableLocal & Initable > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Serializable : & Initable>(SuperClass: K_1) => { new (...args: any[]): SerializableLocal; prototype: Serializable.SerializableLocal; init(...args: any[]): void; } & K_1 -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ >SuperClass : K > : ^ diff --git a/tests/baselines/reference/mixinOverMappedTypeNoCrash.types b/tests/baselines/reference/mixinOverMappedTypeNoCrash.types index 72de275311d0f..4749fc523f582 100644 --- a/tests/baselines/reference/mixinOverMappedTypeNoCrash.types +++ b/tests/baselines/reference/mixinOverMappedTypeNoCrash.types @@ -26,8 +26,8 @@ type Constructor = ClassInterface & InstanceInterf > : ^^^^^^^^^^^^^^^^^ function cloneClass>(OriginalClass: T): T { ->cloneClass : >(OriginalClass: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +>cloneClass : >(OriginalClass: T) => T +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >OriginalClass : T > : ^ diff --git a/tests/baselines/reference/mixinPrivateAndProtected.types b/tests/baselines/reference/mixinPrivateAndProtected.types index 00ea84d40a6ad..e0948d6a56c62 100644 --- a/tests/baselines/reference/mixinPrivateAndProtected.types +++ b/tests/baselines/reference/mixinPrivateAndProtected.types @@ -34,7 +34,7 @@ class A { function mixB>(Cls: T) { >mixB : >(Cls: T) => { new (...args: any[]): (Anonymous class); prototype: mixB.(Anonymous class); } & T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Cls : T > : ^ @@ -61,7 +61,7 @@ function mixB>(Cls: T) { function mixB2>(Cls: T) { >mixB2 : >(Cls: T) => { new (...args: any[]): (Anonymous class); prototype: mixB2.(Anonymous class); } & T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Cls : T > : ^ @@ -87,7 +87,7 @@ const >mixB(A) : { new (...args: any[]): mixB.(Anonymous class); prototype: mixB.(Anonymous class); } & typeof A > : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >mixB : >(Cls: T) => { new (...args: any[]): (Anonymous class); prototype: mixB.(Anonymous class); } & T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >A : typeof A > : ^^^^^^^^ @@ -97,13 +97,13 @@ const >mixB2(A) : { new (...args: any[]): mixB2.(Anonymous class); prototype: mixB2.(Anonymous class); } & typeof A > : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >mixB2 : >(Cls: T) => { new (...args: any[]): (Anonymous class); prototype: mixB2.(Anonymous class); } & T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >A : typeof A > : ^^^^^^^^ function mixC>(Cls: T) { >mixC : >(Cls: T) => { new (...args: any[]): (Anonymous class); prototype: mixC.(Anonymous class); } & T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Cls : T > : ^ @@ -135,7 +135,7 @@ const >mixC(AB2) : { new (...args: any[]): mixC<{ new (...args: any[]): mixB2.(Anonymous class); prototype: mixB2.(Anonymous class); } & typeof A>.(Anonymous class); prototype: mixC.(Anonymous class); } & { new (...args: any[]): mixB2.(Anonymous class); prototype: mixB2.(Anonymous class); } & typeof A > : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >mixC : >(Cls: T) => { new (...args: any[]): (Anonymous class); prototype: mixC.(Anonymous class); } & T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >AB2 : { new (...args: any[]): mixB2.(Anonymous class); prototype: mixB2.(Anonymous class); } & typeof A > : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -145,7 +145,7 @@ const >mixC(AB) : { new (...args: any[]): mixC<{ new (...args: any[]): mixB.(Anonymous class); prototype: mixB.(Anonymous class); } & typeof A>.(Anonymous class); prototype: mixC.(Anonymous class); } & { new (...args: any[]): mixB.(Anonymous class); prototype: mixB.(Anonymous class); } & typeof A > : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >mixC : >(Cls: T) => { new (...args: any[]): (Anonymous class); prototype: mixC.(Anonymous class); } & T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >AB : { new (...args: any[]): mixB.(Anonymous class); prototype: mixB.(Anonymous class); } & typeof A > : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -186,7 +186,7 @@ a.pb.toFixed(); >a.pb.toFixed() : string > : ^^^^^^ >a.pb.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >a.pb : number > : ^^^^^^ >a : A @@ -194,13 +194,13 @@ a.pb.toFixed(); >pb : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ a.ptd.toFixed(); // Error >a.ptd.toFixed() : string > : ^^^^^^ >a.ptd.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >a.ptd : number > : ^^^^^^ >a : A @@ -208,13 +208,13 @@ a.ptd.toFixed(); // Error >ptd : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ a.pvt.toFixed(); // Error >a.pvt.toFixed() : string > : ^^^^^^ >a.pvt.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >a.pvt : number > : ^^^^^^ >a : A @@ -222,7 +222,7 @@ a.pvt.toFixed(); // Error >pvt : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ab.pb.toFixed(); >ab.pb.toFixed() : any @@ -370,7 +370,7 @@ class Person { function PersonMixin>(Base: T) { >PersonMixin : >(Base: T) => { new (...args: any[]): (Anonymous class); prototype: PersonMixin.(Anonymous class); } & T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Base : T > : ^ @@ -420,7 +420,7 @@ class Customer extends PersonMixin(Person) { >PersonMixin(Person) : PersonMixin.(Anonymous class) & Person > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >PersonMixin : >(Base: T) => { new (...args: any[]): (Anonymous class); prototype: PersonMixin.(Anonymous class); } & T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Person : typeof Person > : ^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/mixingApparentTypeOverrides.types b/tests/baselines/reference/mixingApparentTypeOverrides.types index 6c1cad74f7820..7faccb888fd71 100644 --- a/tests/baselines/reference/mixingApparentTypeOverrides.types +++ b/tests/baselines/reference/mixingApparentTypeOverrides.types @@ -9,7 +9,7 @@ type Constructor = new(...args: any[]) => T; function Tagged>(Base: T) { >Tagged : >(Base: T) => { new (...args: any[]): (Anonymous class); prototype: Tagged.(Anonymous class); } & T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Base : T > : ^ @@ -71,7 +71,7 @@ class B extends Tagged(A) { >Tagged(A) : Tagged.(Anonymous class) & A > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Tagged : >(Base: T) => { new (...args: any[]): (Anonymous class); prototype: Tagged.(Anonymous class); } & T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >A : typeof A > : ^^^^^^^^ diff --git a/tests/baselines/reference/modularizeLibrary_Dom.asynciterable.types b/tests/baselines/reference/modularizeLibrary_Dom.asynciterable.types index abeffd111ef80..9d1476e69c22f 100644 --- a/tests/baselines/reference/modularizeLibrary_Dom.asynciterable.types +++ b/tests/baselines/reference/modularizeLibrary_Dom.asynciterable.types @@ -5,11 +5,11 @@ navigator.storage.getDirectory().then(async directory => { >navigator.storage.getDirectory().then(async directory => { for await (const [key, handle] of directory) { handle.kind; }}) : Promise > : ^^^^^^^^^^^^^ >navigator.storage.getDirectory().then : (onfulfilled?: (value: FileSystemDirectoryHandle) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >navigator.storage.getDirectory() : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >navigator.storage.getDirectory : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >navigator.storage : StorageManager > : ^^^^^^^^^^^^^^ >navigator : Navigator @@ -17,9 +17,9 @@ navigator.storage.getDirectory().then(async directory => { >storage : StorageManager > : ^^^^^^^^^^^^^^ >getDirectory : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >then : (onfulfilled?: (value: FileSystemDirectoryHandle) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >async directory => { for await (const [key, handle] of directory) { handle.kind; }} : (directory: FileSystemDirectoryHandle) => Promise > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >directory : FileSystemDirectoryHandle diff --git a/tests/baselines/reference/modularizeLibrary_Dom.iterable.types b/tests/baselines/reference/modularizeLibrary_Dom.iterable.types index e7ad72dc9c7ca..bb7b4f8f19f04 100644 --- a/tests/baselines/reference/modularizeLibrary_Dom.iterable.types +++ b/tests/baselines/reference/modularizeLibrary_Dom.iterable.types @@ -6,12 +6,12 @@ for (const element of document.getElementsByTagName("a")) { > : ^^^^^^^^^^^^^^^^^ >document.getElementsByTagName("a") : HTMLCollectionOf > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->document.getElementsByTagName : { (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K_1): HTMLCollectionOf; (qualifiedName: K_2): HTMLCollectionOf; (qualifiedName: K_3): HTMLCollectionOf; (qualifiedName: string): HTMLCollectionOf; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>document.getElementsByTagName : { (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: string): HTMLCollectionOf; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >document : Document > : ^^^^^^^^ ->getElementsByTagName : { (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K_1): HTMLCollectionOf; (qualifiedName: K_2): HTMLCollectionOf; (qualifiedName: K_3): HTMLCollectionOf; (qualifiedName: string): HTMLCollectionOf; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getElementsByTagName : { (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: string): HTMLCollectionOf; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >"a" : "a" > : ^^^ diff --git a/tests/baselines/reference/modularizeLibrary_ErrorFromUsingES6FeaturesWithOnlyES5Lib.types b/tests/baselines/reference/modularizeLibrary_ErrorFromUsingES6FeaturesWithOnlyES5Lib.types index 5b60201cc208d..7294263ded5ee 100644 --- a/tests/baselines/reference/modularizeLibrary_ErrorFromUsingES6FeaturesWithOnlyES5Lib.types +++ b/tests/baselines/reference/modularizeLibrary_ErrorFromUsingES6FeaturesWithOnlyES5Lib.types @@ -128,11 +128,11 @@ o.hasOwnProperty(Symbol.hasInstance); >o.hasOwnProperty(Symbol.hasInstance) : boolean > : ^^^^^^^ >o.hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >o : { [x: number]: (value: any) => boolean; a: number; } > : ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Symbol.hasInstance : any > : ^^^ >Symbol : any diff --git a/tests/baselines/reference/modularizeLibrary_ErrorFromUsingWellknownSymbolWithOutES6WellknownSymbolLib.types b/tests/baselines/reference/modularizeLibrary_ErrorFromUsingWellknownSymbolWithOutES6WellknownSymbolLib.types index be1eb52bc892e..dc9159eb95ea3 100644 --- a/tests/baselines/reference/modularizeLibrary_ErrorFromUsingWellknownSymbolWithOutES6WellknownSymbolLib.types +++ b/tests/baselines/reference/modularizeLibrary_ErrorFromUsingWellknownSymbolWithOutES6WellknownSymbolLib.types @@ -14,12 +14,12 @@ function f(x: number, y: number, z: number) { return Array.from(arguments); >Array.from(arguments) : any[] > : ^^^^^ ->Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ ->from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >arguments : IArguments > : ^^^^^^^^^^ } diff --git a/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions1.types b/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions1.types index 100c9693e234e..2075637dfce8d 100644 --- a/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions1.types +++ b/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions1.types @@ -15,12 +15,12 @@ function f(x: number, y: number, z: number) { return Array.from(arguments); >Array.from(arguments) : any[] > : ^^^^^ ->Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ ->from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >arguments : IArguments > : ^^^^^^^^^^ } @@ -50,22 +50,22 @@ m.clear(); >m.clear() : void > : ^^^^ >m.clear : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >m : Map > : ^^^^^^^^^^^^^^^^^^^ >clear : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ // Using ES6 iterable m.keys(); >m.keys() : IterableIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^ >m.keys : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ >m : Map > : ^^^^^^^^^^^^^^^^^^^ >keys : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ // Using ES6 function function Baz() { } @@ -148,11 +148,11 @@ Math.sign(1); >Math.sign(1) : number > : ^^^^^^ >Math.sign : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >sign : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ @@ -189,11 +189,11 @@ o.hasOwnProperty(Symbol.hasInstance); >o.hasOwnProperty(Symbol.hasInstance) : boolean > : ^^^^^^^ >o.hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >o : { a: number; [Symbol.hasInstance](value: any): boolean; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ >hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Symbol.hasInstance : unique symbol > : ^^^^^^^^^^^^^ >Symbol : SymbolConstructor @@ -212,11 +212,11 @@ async function out() { >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >function (resolve, reject) {} : (resolve: (value: unknown) => void, reject: (reason?: any) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^ ^^^^^^^^^ >resolve : (value: unknown) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ >reject : (reason?: any) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ } declare var console: any; @@ -226,13 +226,13 @@ out().then(() => { >out().then(() => { console.log("Yea!");}) : Promise > : ^^^^^^^^^^^^^ >out().then : (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >out() : Promise > : ^^^^^^^^^^^^^^^^ >out : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => { console.log("Yea!");} : () => void > : ^^^^^^^^^^ @@ -272,11 +272,11 @@ Reflect.isExtensible({}); >Reflect.isExtensible({}) : boolean > : ^^^^^^^ >Reflect.isExtensible : (target: object) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Reflect : typeof Reflect > : ^^^^^^^^^^^^^^ >isExtensible : (target: object) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >{} : {} > : ^^ @@ -310,11 +310,11 @@ str.includes("hello", 0); >str.includes("hello", 0) : boolean > : ^^^^^^^ >str.includes : (searchString: string, position?: number) => boolean -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >str : string > : ^^^^^^ >includes : (searchString: string, position?: number) => boolean -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ >0 : 0 diff --git a/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions2.types b/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions2.types index a0f54835e1cca..f07eee75a879e 100644 --- a/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions2.types +++ b/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions2.types @@ -15,12 +15,12 @@ function f(x: number, y: number, z: number) { return Array.from(arguments); >Array.from(arguments) : any[] > : ^^^^^ ->Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ ->from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >arguments : IArguments > : ^^^^^^^^^^ } @@ -50,22 +50,22 @@ m.clear(); >m.clear() : void > : ^^^^ >m.clear : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >m : Map > : ^^^^^^^^^^^^^^^^^^^ >clear : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ // Using ES6 iterable m.keys(); >m.keys() : IterableIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^ >m.keys : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ >m : Map > : ^^^^^^^^^^^^^^^^^^^ >keys : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ // Using ES6 function function Baz() { } @@ -148,11 +148,11 @@ Math.sign(1); >Math.sign(1) : number > : ^^^^^^ >Math.sign : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >sign : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ @@ -189,11 +189,11 @@ o.hasOwnProperty(Symbol.hasInstance); >o.hasOwnProperty(Symbol.hasInstance) : boolean > : ^^^^^^^ >o.hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >o : { a: number; [Symbol.hasInstance](value: any): boolean; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ >hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Symbol.hasInstance : unique symbol > : ^^^^^^^^^^^^^ >Symbol : SymbolConstructor @@ -212,11 +212,11 @@ async function out() { >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >function (resolve, reject) {} : (resolve: (value: unknown) => void, reject: (reason?: any) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^ ^^^^^^^^^ >resolve : (value: unknown) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ >reject : (reason?: any) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ } declare var console: any; @@ -226,13 +226,13 @@ out().then(() => { >out().then(() => { console.log("Yea!");}) : Promise > : ^^^^^^^^^^^^^ >out().then : (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >out() : Promise > : ^^^^^^^^^^^^^^^^ >out : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => { console.log("Yea!");} : () => void > : ^^^^^^^^^^ @@ -272,11 +272,11 @@ Reflect.isExtensible({}); >Reflect.isExtensible({}) : boolean > : ^^^^^^^ >Reflect.isExtensible : (target: object) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Reflect : typeof Reflect > : ^^^^^^^^^^^^^^ >isExtensible : (target: object) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >{} : {} > : ^^ @@ -310,11 +310,11 @@ str.includes("hello", 0); >str.includes("hello", 0) : boolean > : ^^^^^^^ >str.includes : (searchString: string, position?: number) => boolean -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >str : string > : ^^^^^^ >includes : (searchString: string, position?: number) => boolean -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ >0 : 0 diff --git a/tests/baselines/reference/modularizeLibrary_TargetES5UsingES6Lib.types b/tests/baselines/reference/modularizeLibrary_TargetES5UsingES6Lib.types index b5e4e42f60fe4..51aa526440d80 100644 --- a/tests/baselines/reference/modularizeLibrary_TargetES5UsingES6Lib.types +++ b/tests/baselines/reference/modularizeLibrary_TargetES5UsingES6Lib.types @@ -15,12 +15,12 @@ function f(x: number, y: number, z: number) { return Array.from(arguments); >Array.from(arguments) : any[] > : ^^^^^ ->Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ ->from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >arguments : IArguments > : ^^^^^^^^^^ } @@ -50,22 +50,22 @@ m.clear(); >m.clear() : void > : ^^^^ >m.clear : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >m : Map > : ^^^^^^^^^^^^^^^^^^^ >clear : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ // Using ES6 iterable m.keys(); >m.keys() : IterableIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^ >m.keys : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ >m : Map > : ^^^^^^^^^^^^^^^^^^^ >keys : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ // Using ES6 function function Baz() { } @@ -148,11 +148,11 @@ Math.sign(1); >Math.sign(1) : number > : ^^^^^^ >Math.sign : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >sign : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ @@ -189,11 +189,11 @@ o.hasOwnProperty(Symbol.hasInstance); >o.hasOwnProperty(Symbol.hasInstance) : boolean > : ^^^^^^^ >o.hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >o : { a: number; [Symbol.hasInstance](value: any): boolean; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ >hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Symbol.hasInstance : unique symbol > : ^^^^^^^^^^^^^ >Symbol : SymbolConstructor @@ -212,11 +212,11 @@ async function out() { >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >function (resolve, reject) {} : (resolve: (value: unknown) => void, reject: (reason?: any) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^ ^^^^^^^^^ >resolve : (value: unknown) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ >reject : (reason?: any) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ } declare var console: any; @@ -226,13 +226,13 @@ out().then(() => { >out().then(() => { console.log("Yea!");}) : Promise > : ^^^^^^^^^^^^^ >out().then : (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >out() : Promise > : ^^^^^^^^^^^^^^^^ >out : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => { console.log("Yea!");} : () => void > : ^^^^^^^^^^ @@ -272,11 +272,11 @@ Reflect.isExtensible({}); >Reflect.isExtensible({}) : boolean > : ^^^^^^^ >Reflect.isExtensible : (target: object) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Reflect : typeof Reflect > : ^^^^^^^^^^^^^^ >isExtensible : (target: object) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >{} : {} > : ^^ @@ -310,11 +310,11 @@ str.includes("hello", 0); >str.includes("hello", 0) : boolean > : ^^^^^^^ >str.includes : (searchString: string, position?: number) => boolean -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >str : string > : ^^^^^^ >includes : (searchString: string, position?: number) => boolean -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ >0 : 0 diff --git a/tests/baselines/reference/modularizeLibrary_TargetES6UsingES6Lib.types b/tests/baselines/reference/modularizeLibrary_TargetES6UsingES6Lib.types index 1aae5089a1ab2..05dc79e9bd2b1 100644 --- a/tests/baselines/reference/modularizeLibrary_TargetES6UsingES6Lib.types +++ b/tests/baselines/reference/modularizeLibrary_TargetES6UsingES6Lib.types @@ -15,12 +15,12 @@ function f(x: number, y: number, z: number) { return Array.from(arguments); >Array.from(arguments) : any[] > : ^^^^^ ->Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ ->from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >arguments : IArguments > : ^^^^^^^^^^ } @@ -50,22 +50,22 @@ m.clear(); >m.clear() : void > : ^^^^ >m.clear : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >m : Map > : ^^^^^^^^^^^^^^^^^^^ >clear : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ // Using ES6 iterable m.keys(); >m.keys() : IterableIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^ >m.keys : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ >m : Map > : ^^^^^^^^^^^^^^^^^^^ >keys : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ // Using ES6 function function Baz() { } @@ -85,11 +85,11 @@ Math.sign(1); >Math.sign(1) : number > : ^^^^^^ >Math.sign : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >sign : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ @@ -126,11 +126,11 @@ o.hasOwnProperty(Symbol.hasInstance); >o.hasOwnProperty(Symbol.hasInstance) : boolean > : ^^^^^^^ >o.hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >o : { a: number; [Symbol.hasInstance](value: any): boolean; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ >hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Symbol.hasInstance : unique symbol > : ^^^^^^^^^^^^^ >Symbol : SymbolConstructor @@ -162,11 +162,11 @@ Reflect.isExtensible({}); >Reflect.isExtensible({}) : boolean > : ^^^^^^^ >Reflect.isExtensible : (target: object) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Reflect : typeof Reflect > : ^^^^^^^^^^^^^^ >isExtensible : (target: object) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >{} : {} > : ^^ @@ -200,11 +200,11 @@ str.includes("hello", 0); >str.includes("hello", 0) : boolean > : ^^^^^^^ >str.includes : (searchString: string, position?: number) => boolean -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >str : string > : ^^^^^^ >includes : (searchString: string, position?: number) => boolean -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ >0 : 0 diff --git a/tests/baselines/reference/modularizeLibrary_UsingES5LibAndES6ArrayLib.types b/tests/baselines/reference/modularizeLibrary_UsingES5LibAndES6ArrayLib.types index ba4b31353df11..1925491a33863 100644 --- a/tests/baselines/reference/modularizeLibrary_UsingES5LibAndES6ArrayLib.types +++ b/tests/baselines/reference/modularizeLibrary_UsingES5LibAndES6ArrayLib.types @@ -15,12 +15,12 @@ function f(x: number, y: number, z: number) { return Array.from(arguments); >Array.from(arguments) : any[] > : ^^^^^ ->Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ ->from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >arguments : IArguments > : ^^^^^^^^^^ } diff --git a/tests/baselines/reference/modularizeLibrary_UsingES5LibAndES6FeatureLibs.types b/tests/baselines/reference/modularizeLibrary_UsingES5LibAndES6FeatureLibs.types index 9107d054d0a8d..da0fcc04db3a3 100644 --- a/tests/baselines/reference/modularizeLibrary_UsingES5LibAndES6FeatureLibs.types +++ b/tests/baselines/reference/modularizeLibrary_UsingES5LibAndES6FeatureLibs.types @@ -31,11 +31,11 @@ Reflect.ownKeys({}); >Reflect.ownKeys({}) : (string | symbol)[] > : ^^^^^^^^^^^^^^^^^^^ >Reflect.ownKeys : (target: object) => (string | symbol)[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Reflect : typeof Reflect > : ^^^^^^^^^^^^^^ >ownKeys : (target: object) => (string | symbol)[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >{} : {} > : ^^ diff --git a/tests/baselines/reference/modularizeLibrary_UsingES5LibES6ArrayLibES6WellknownSymbolLib.types b/tests/baselines/reference/modularizeLibrary_UsingES5LibES6ArrayLibES6WellknownSymbolLib.types index 7b52fa056204c..a59aefad56b23 100644 --- a/tests/baselines/reference/modularizeLibrary_UsingES5LibES6ArrayLibES6WellknownSymbolLib.types +++ b/tests/baselines/reference/modularizeLibrary_UsingES5LibES6ArrayLibES6WellknownSymbolLib.types @@ -14,12 +14,12 @@ function f(x: number, y: number, z: number) { return Array.from(arguments); >Array.from(arguments) : any[] > : ^^^^^ ->Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ ->from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >arguments : IArguments > : ^^^^^^^^^^ } diff --git a/tests/baselines/reference/modularizeLibrary_Worker.asynciterable.types b/tests/baselines/reference/modularizeLibrary_Worker.asynciterable.types index bccf58f68eb63..6189b4ae3e7ee 100644 --- a/tests/baselines/reference/modularizeLibrary_Worker.asynciterable.types +++ b/tests/baselines/reference/modularizeLibrary_Worker.asynciterable.types @@ -5,11 +5,11 @@ navigator.storage.getDirectory().then(async directory => { >navigator.storage.getDirectory().then(async directory => { for await (const [key, handle] of directory) { handle.kind; }}) : Promise > : ^^^^^^^^^^^^^ >navigator.storage.getDirectory().then : (onfulfilled?: (value: FileSystemDirectoryHandle) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >navigator.storage.getDirectory() : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >navigator.storage.getDirectory : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >navigator.storage : StorageManager > : ^^^^^^^^^^^^^^ >navigator : WorkerNavigator @@ -17,9 +17,9 @@ navigator.storage.getDirectory().then(async directory => { >storage : StorageManager > : ^^^^^^^^^^^^^^ >getDirectory : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >then : (onfulfilled?: (value: FileSystemDirectoryHandle) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >async directory => { for await (const [key, handle] of directory) { handle.kind; }} : (directory: FileSystemDirectoryHandle) => Promise > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >directory : FileSystemDirectoryHandle diff --git a/tests/baselines/reference/modularizeLibrary_Worker.iterable.types b/tests/baselines/reference/modularizeLibrary_Worker.iterable.types index ff019a115fab5..6a5c1d48a5470 100644 --- a/tests/baselines/reference/modularizeLibrary_Worker.iterable.types +++ b/tests/baselines/reference/modularizeLibrary_Worker.iterable.types @@ -9,7 +9,7 @@ for (const [key, entry] of new FormData()) { >new FormData() : FormData > : ^^^^^^^^ >FormData : { new (): FormData; prototype: FormData; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ entry; >entry : FormDataEntryValue diff --git a/tests/baselines/reference/moduleAugmentationDeclarationEmit1.types b/tests/baselines/reference/moduleAugmentationDeclarationEmit1.types index ba3eaa531879d..880d389e934cb 100644 --- a/tests/baselines/reference/moduleAugmentationDeclarationEmit1.types +++ b/tests/baselines/reference/moduleAugmentationDeclarationEmit1.types @@ -87,11 +87,11 @@ let y = x.map(x => x + 1); >x.map(x => x + 1) : Observable > : ^^^^^^^^^^^^^^^^^^ >x.map : (proj: (e: number) => U) => Observable -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^ >x : Observable > : ^^^^^^^^^^^^^^^^^^ >map : (proj: (e: number) => U) => Observable -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^ >x => x + 1 : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/moduleAugmentationDeclarationEmit2.types b/tests/baselines/reference/moduleAugmentationDeclarationEmit2.types index 78a1e4460f9c5..3c7bcb221af21 100644 --- a/tests/baselines/reference/moduleAugmentationDeclarationEmit2.types +++ b/tests/baselines/reference/moduleAugmentationDeclarationEmit2.types @@ -87,11 +87,11 @@ let y = x.map(x => x + 1); >x.map(x => x + 1) : Observable > : ^^^^^^^^^^^^^^^^^^ >x.map : (proj: (e: number) => U) => Observable -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^ >x : Observable > : ^^^^^^^^^^^^^^^^^^ >map : (proj: (e: number) => U) => Observable -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^ >x => x + 1 : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number @@ -109,7 +109,7 @@ let z1 = Observable.someValue.toFixed(); >Observable.someValue.toFixed() : string > : ^^^^^^ >Observable.someValue.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Observable.someValue : number > : ^^^^^^ >Observable : typeof Observable @@ -117,7 +117,7 @@ let z1 = Observable.someValue.toFixed(); >someValue : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let z2 = Observable.someAnotherValue.toLowerCase(); >z2 : string @@ -125,7 +125,7 @@ let z2 = Observable.someAnotherValue.toLowerCase(); >Observable.someAnotherValue.toLowerCase() : string > : ^^^^^^ >Observable.someAnotherValue.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Observable.someAnotherValue : string > : ^^^^^^ >Observable : typeof Observable @@ -133,5 +133,5 @@ let z2 = Observable.someAnotherValue.toLowerCase(); >someAnotherValue : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/moduleAugmentationDuringSyntheticDefaultCheck.types b/tests/baselines/reference/moduleAugmentationDuringSyntheticDefaultCheck.types index a5778a4046912..3eb749a90ea57 100644 --- a/tests/baselines/reference/moduleAugmentationDuringSyntheticDefaultCheck.types +++ b/tests/baselines/reference/moduleAugmentationDuringSyntheticDefaultCheck.types @@ -22,8 +22,8 @@ declare namespace moment { } } export = moment; ->moment : () => import("node_modules/moment/index.d.ts").Moment -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>moment : () => moment.Moment +> : ^^^^^^ === node_modules/moment-timezone/index.d.ts === import * as moment from 'moment'; @@ -56,7 +56,7 @@ declare module "moment" { interface Moment { strftime(pattern: string): string; >strftime : { (pattern: string): string; (pattern: string): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >pattern : string > : ^^^^^^ } @@ -68,7 +68,7 @@ declare module "moment-timezone" { interface Moment { strftime(pattern: string): string; >strftime : { (pattern: string): string; (pattern: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >pattern : string > : ^^^^^^ } diff --git a/tests/baselines/reference/moduleAugmentationExtendAmbientModule1.types b/tests/baselines/reference/moduleAugmentationExtendAmbientModule1.types index e99cd411d099b..048bca67402d2 100644 --- a/tests/baselines/reference/moduleAugmentationExtendAmbientModule1.types +++ b/tests/baselines/reference/moduleAugmentationExtendAmbientModule1.types @@ -18,11 +18,11 @@ let y = x.map(x => x + 1); >x.map(x => x + 1) : Observable > : ^^^^^^^^^^^^^^^^^^ >x.map : (proj: (e: number) => U) => Observable -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^ >x : Observable > : ^^^^^^^^^^^^^^^^^^ >map : (proj: (e: number) => U) => Observable -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^ >x => x + 1 : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/moduleAugmentationExtendAmbientModule2.types b/tests/baselines/reference/moduleAugmentationExtendAmbientModule2.types index 812523a931c1f..32b4fd421f87f 100644 --- a/tests/baselines/reference/moduleAugmentationExtendAmbientModule2.types +++ b/tests/baselines/reference/moduleAugmentationExtendAmbientModule2.types @@ -18,11 +18,11 @@ let y = x.map(x => x + 1); >x.map(x => x + 1) : Observable > : ^^^^^^^^^^^^^^^^^^ >x.map : (proj: (e: number) => U) => Observable -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^ >x : Observable > : ^^^^^^^^^^^^^^^^^^ >map : (proj: (e: number) => U) => Observable -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^ >x => x + 1 : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number @@ -40,7 +40,7 @@ let z1 = Observable.someValue.toFixed(); >Observable.someValue.toFixed() : string > : ^^^^^^ >Observable.someValue.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Observable.someValue : number > : ^^^^^^ >Observable : typeof Observable @@ -48,7 +48,7 @@ let z1 = Observable.someValue.toFixed(); >someValue : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let z2 = Observable.someAnotherValue.toLowerCase(); >z2 : string @@ -56,7 +56,7 @@ let z2 = Observable.someAnotherValue.toLowerCase(); >Observable.someAnotherValue.toLowerCase() : string > : ^^^^^^ >Observable.someAnotherValue.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Observable.someAnotherValue : string > : ^^^^^^ >Observable : typeof Observable @@ -64,7 +64,7 @@ let z2 = Observable.someAnotherValue.toLowerCase(); >someAnotherValue : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ === map.ts === import { Observable } from "observable" diff --git a/tests/baselines/reference/moduleAugmentationExtendFileModule1.types b/tests/baselines/reference/moduleAugmentationExtendFileModule1.types index 1464f5e46361e..52080226fe351 100644 --- a/tests/baselines/reference/moduleAugmentationExtendFileModule1.types +++ b/tests/baselines/reference/moduleAugmentationExtendFileModule1.types @@ -87,11 +87,11 @@ let y = x.map(x => x + 1); >x.map(x => x + 1) : Observable > : ^^^^^^^^^^^^^^^^^^ >x.map : (proj: (e: number) => U) => Observable -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^ >x : Observable > : ^^^^^^^^^^^^^^^^^^ >map : (proj: (e: number) => U) => Observable -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^ >x => x + 1 : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/moduleAugmentationExtendFileModule2.types b/tests/baselines/reference/moduleAugmentationExtendFileModule2.types index 0c4317874a6c9..09cdc189a583d 100644 --- a/tests/baselines/reference/moduleAugmentationExtendFileModule2.types +++ b/tests/baselines/reference/moduleAugmentationExtendFileModule2.types @@ -87,11 +87,11 @@ let y = x.map(x => x + 1); >x.map(x => x + 1) : Observable > : ^^^^^^^^^^^^^^^^^^ >x.map : (proj: (e: number) => U) => Observable -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^ >x : Observable > : ^^^^^^^^^^^^^^^^^^ >map : (proj: (e: number) => U) => Observable -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^ >x => x + 1 : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number @@ -109,7 +109,7 @@ let z1 = Observable.someValue.toFixed(); >Observable.someValue.toFixed() : string > : ^^^^^^ >Observable.someValue.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Observable.someValue : number > : ^^^^^^ >Observable : typeof Observable @@ -117,7 +117,7 @@ let z1 = Observable.someValue.toFixed(); >someValue : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let z2 = Observable.someAnotherValue.toLowerCase(); >z2 : string @@ -125,7 +125,7 @@ let z2 = Observable.someAnotherValue.toLowerCase(); >Observable.someAnotherValue.toLowerCase() : string > : ^^^^^^ >Observable.someAnotherValue.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Observable.someAnotherValue : string > : ^^^^^^ >Observable : typeof Observable @@ -133,5 +133,5 @@ let z2 = Observable.someAnotherValue.toLowerCase(); >someAnotherValue : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/moduleAugmentationGlobal1.types b/tests/baselines/reference/moduleAugmentationGlobal1.types index af3465c1e9d5d..cc17d52ea766b 100644 --- a/tests/baselines/reference/moduleAugmentationGlobal1.types +++ b/tests/baselines/reference/moduleAugmentationGlobal1.types @@ -40,11 +40,11 @@ let y = x.getA().x; >x.getA() : A > : ^ >x.getA : () => A -> : ^^^^^^^ +> : ^^^^^^ >x : number[] > : ^^^^^^^^ >getA : () => A -> : ^^^^^^^ +> : ^^^^^^ >x : number > : ^^^^^^ diff --git a/tests/baselines/reference/moduleAugmentationGlobal2.types b/tests/baselines/reference/moduleAugmentationGlobal2.types index 0067bed9b520f..984b19975d8d5 100644 --- a/tests/baselines/reference/moduleAugmentationGlobal2.types +++ b/tests/baselines/reference/moduleAugmentationGlobal2.types @@ -36,15 +36,15 @@ let y = x.getCountAsString().toLowerCase(); >x.getCountAsString().toLowerCase() : string > : ^^^^^^ >x.getCountAsString().toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x.getCountAsString() : string > : ^^^^^^ >x.getCountAsString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : number[] > : ^^^^^^^^ >getCountAsString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/moduleAugmentationGlobal3.types b/tests/baselines/reference/moduleAugmentationGlobal3.types index 54792bc06d66c..e4d194f90c98b 100644 --- a/tests/baselines/reference/moduleAugmentationGlobal3.types +++ b/tests/baselines/reference/moduleAugmentationGlobal3.types @@ -39,15 +39,15 @@ let y = x.getCountAsString().toLowerCase(); >x.getCountAsString().toLowerCase() : string > : ^^^^^^ >x.getCountAsString().toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x.getCountAsString() : string > : ^^^^^^ >x.getCountAsString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : number[] > : ^^^^^^^^ >getCountAsString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/moduleAugmentationImportsAndExports1.types b/tests/baselines/reference/moduleAugmentationImportsAndExports1.types index 5843b22c2173b..36fa111eee38c 100644 --- a/tests/baselines/reference/moduleAugmentationImportsAndExports1.types +++ b/tests/baselines/reference/moduleAugmentationImportsAndExports1.types @@ -28,7 +28,7 @@ A.prototype.foo = function () { return undefined; } >A.prototype.foo = function () { return undefined; } : () => any > : ^^^^^^^^^ >A.prototype.foo : () => B -> : ^^^^^^^ +> : ^^^^^^ >A.prototype : A > : ^ >A : typeof A @@ -36,7 +36,7 @@ A.prototype.foo = function () { return undefined; } >prototype : A > : ^ >foo : () => B -> : ^^^^^^^ +> : ^^^^^^ >function () { return undefined; } : () => any > : ^^^^^^^^^ >undefined : undefined @@ -72,11 +72,11 @@ let b = a.foo().n; >a.foo() : import("f2").B > : ^^^^^^^^^^^^^^ >a.foo : () => import("f2").B -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^ >a : A > : ^ >foo : () => import("f2").B -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^ >n : number > : ^^^^^^ diff --git a/tests/baselines/reference/moduleAugmentationImportsAndExports2.types b/tests/baselines/reference/moduleAugmentationImportsAndExports2.types index 088b4523199a2..f120426e0aa12 100644 --- a/tests/baselines/reference/moduleAugmentationImportsAndExports2.types +++ b/tests/baselines/reference/moduleAugmentationImportsAndExports2.types @@ -80,7 +80,7 @@ declare module "./f1" { interface A { foo(): B; >foo : () => B -> : ^^^^^^^ +> : ^^^^^^ bar(): I; >bar : () => I diff --git a/tests/baselines/reference/moduleAugmentationImportsAndExports3.types b/tests/baselines/reference/moduleAugmentationImportsAndExports3.types index 8e0116c6d7fe1..17d9fc3f6e23e 100644 --- a/tests/baselines/reference/moduleAugmentationImportsAndExports3.types +++ b/tests/baselines/reference/moduleAugmentationImportsAndExports3.types @@ -75,7 +75,7 @@ declare module "./f1" { interface A { foo(): B; >foo : () => B -> : ^^^^^^^ +> : ^^^^^^ bar(): I; >bar : () => I diff --git a/tests/baselines/reference/moduleAugmentationImportsAndExports4.types b/tests/baselines/reference/moduleAugmentationImportsAndExports4.types index bc7716e39270d..41b0fa4c86968 100644 --- a/tests/baselines/reference/moduleAugmentationImportsAndExports4.types +++ b/tests/baselines/reference/moduleAugmentationImportsAndExports4.types @@ -28,7 +28,7 @@ A.prototype.foo = function () { return undefined; } >A.prototype.foo = function () { return undefined; } : () => any > : ^^^^^^^^^ >A.prototype.foo : () => B -> : ^^^^^^^ +> : ^^^^^^ >A.prototype : A > : ^ >A : typeof A @@ -36,7 +36,7 @@ A.prototype.foo = function () { return undefined; } >prototype : A > : ^ >foo : () => B -> : ^^^^^^^ +> : ^^^^^^ >function () { return undefined; } : () => any > : ^^^^^^^^^ >undefined : undefined @@ -105,11 +105,11 @@ let b = a.foo().n; >a.foo() : import("f2").B > : ^^^^^^^^^^^^^^ >a.foo : () => import("f2").B -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^ >a : A > : ^ >foo : () => import("f2").B -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^ >n : number > : ^^^^^^ diff --git a/tests/baselines/reference/moduleAugmentationImportsAndExports5.types b/tests/baselines/reference/moduleAugmentationImportsAndExports5.types index 8f19815d69c58..3fc4c03f71f76 100644 --- a/tests/baselines/reference/moduleAugmentationImportsAndExports5.types +++ b/tests/baselines/reference/moduleAugmentationImportsAndExports5.types @@ -28,7 +28,7 @@ A.prototype.foo = function () { return undefined; } >A.prototype.foo = function () { return undefined; } : () => any > : ^^^^^^^^^ >A.prototype.foo : () => B -> : ^^^^^^^ +> : ^^^^^^ >A.prototype : A > : ^ >A : typeof A @@ -36,7 +36,7 @@ A.prototype.foo = function () { return undefined; } >prototype : A > : ^ >foo : () => B -> : ^^^^^^^ +> : ^^^^^^ >function () { return undefined; } : () => any > : ^^^^^^^^^ >undefined : undefined @@ -105,11 +105,11 @@ let b = a.foo().n; >a.foo() : import("f2").B > : ^^^^^^^^^^^^^^ >a.foo : () => import("f2").B -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^ >a : A > : ^ >foo : () => import("f2").B -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^ >n : number > : ^^^^^^ diff --git a/tests/baselines/reference/moduleAugmentationImportsAndExports6.types b/tests/baselines/reference/moduleAugmentationImportsAndExports6.types index a3a632250b7a5..ca98862e1fed0 100644 --- a/tests/baselines/reference/moduleAugmentationImportsAndExports6.types +++ b/tests/baselines/reference/moduleAugmentationImportsAndExports6.types @@ -28,7 +28,7 @@ A.prototype.foo = function () { return undefined; } >A.prototype.foo = function () { return undefined; } : () => any > : ^^^^^^^^^ >A.prototype.foo : () => B -> : ^^^^^^^ +> : ^^^^^^ >A.prototype : A > : ^ >A : typeof A @@ -36,7 +36,7 @@ A.prototype.foo = function () { return undefined; } >prototype : A > : ^ >foo : () => B -> : ^^^^^^^ +> : ^^^^^^ >function () { return undefined; } : () => any > : ^^^^^^^^^ >undefined : undefined @@ -105,11 +105,11 @@ let b = a.foo().n; >a.foo() : import("f2").B > : ^^^^^^^^^^^^^^ >a.foo : () => import("f2").B -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^ >a : A > : ^ >foo : () => import("f2").B -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^ >n : number > : ^^^^^^ @@ -121,11 +121,11 @@ let c = a.bar().a; >a.bar() : import("f3").N.Ifc > : ^^^^^^^^^^^^^^^^^^ >a.bar : () => import("f3").N.Ifc -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^ >a : A > : ^ >bar : () => import("f3").N.Ifc -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^ >a : number > : ^^^^^^ @@ -137,11 +137,11 @@ let d = a.baz().b; >a.baz() : import("f3").N.Cls > : ^^^^^^^^^^^^^^^^^^ >a.baz : () => import("f3").N.Cls -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^ >a : A > : ^ >baz : () => import("f3").N.Cls -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^^^^ >b : number > : ^^^^^^ diff --git a/tests/baselines/reference/moduleAugmentationInAmbientModule1.types b/tests/baselines/reference/moduleAugmentationInAmbientModule1.types index c3e7c085819fd..0b072b77fd16a 100644 --- a/tests/baselines/reference/moduleAugmentationInAmbientModule1.types +++ b/tests/baselines/reference/moduleAugmentationInAmbientModule1.types @@ -17,11 +17,11 @@ x.foo().x; >x.foo() : import("M").Cls > : ^^^^^^^^^^^^^^^ >x.foo : () => import("M").Cls -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ >x : Observable > : ^^^^^^^^^^ >foo : () => import("M").Cls -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ >x : number > : ^^^^^^ diff --git a/tests/baselines/reference/moduleAugmentationInAmbientModule2.types b/tests/baselines/reference/moduleAugmentationInAmbientModule2.types index 84ee86ae813ed..e5679daf42b31 100644 --- a/tests/baselines/reference/moduleAugmentationInAmbientModule2.types +++ b/tests/baselines/reference/moduleAugmentationInAmbientModule2.types @@ -18,11 +18,11 @@ x.foo().x; >x.foo() : import("M").Cls > : ^^^^^^^^^^^^^^^ >x.foo : () => import("M").Cls -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ >x : Observable > : ^^^^^^^^^^ >foo : () => import("M").Cls -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ >x : number > : ^^^^^^ diff --git a/tests/baselines/reference/moduleAugmentationInAmbientModule3.types b/tests/baselines/reference/moduleAugmentationInAmbientModule3.types index 40c7892ff59d3..ae31c057fb821 100644 --- a/tests/baselines/reference/moduleAugmentationInAmbientModule3.types +++ b/tests/baselines/reference/moduleAugmentationInAmbientModule3.types @@ -18,11 +18,11 @@ x.foo().x; >x.foo() : import("M").Cls > : ^^^^^^^^^^^^^^^ >x.foo : () => import("M").Cls -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ >x : Observable > : ^^^^^^^^^^ >foo : () => import("M").Cls -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ >x : number > : ^^^^^^ @@ -32,11 +32,11 @@ x.foo2().x2; >x.foo2() : import("Map").Cls2 > : ^^^^^^^^^^^^^^^^^^ >x.foo2 : () => import("Map").Cls2 -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^ ^^^^ >x : Observable > : ^^^^^^^^^^ >foo2 : () => import("Map").Cls2 -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^ ^^^^ >x2 : number > : ^^^^^^ diff --git a/tests/baselines/reference/moduleAugmentationInAmbientModule4.types b/tests/baselines/reference/moduleAugmentationInAmbientModule4.types index b5f64300a3c92..cf8ad955f445e 100644 --- a/tests/baselines/reference/moduleAugmentationInAmbientModule4.types +++ b/tests/baselines/reference/moduleAugmentationInAmbientModule4.types @@ -19,11 +19,11 @@ x.foo().x; >x.foo() : import("M").Cls > : ^^^^^^^^^^^^^^^ >x.foo : () => import("M").Cls -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ >x : Observable > : ^^^^^^^^^^ >foo : () => import("M").Cls -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ >x : number > : ^^^^^^ @@ -33,11 +33,11 @@ x.foo2().x2; >x.foo2() : import("Map").Cls2 > : ^^^^^^^^^^^^^^^^^^ >x.foo2 : () => import("Map").Cls2 -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^ ^^^^ >x : Observable > : ^^^^^^^^^^ >foo2 : () => import("Map").Cls2 -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^ ^^^^ >x2 : number > : ^^^^^^ diff --git a/tests/baselines/reference/moduleAugmentationInAmbientModule5.types b/tests/baselines/reference/moduleAugmentationInAmbientModule5.types index 1fe68eb992de7..994964f9dc7f0 100644 --- a/tests/baselines/reference/moduleAugmentationInAmbientModule5.types +++ b/tests/baselines/reference/moduleAugmentationInAmbientModule5.types @@ -20,11 +20,11 @@ let y = x.getA().x; >x.getA() : import("A").A > : ^^^^^^^^^^^^^ >x.getA : () => import("A").A -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^ >x : number[] > : ^^^^^^^^ >getA : () => import("A").A -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^ >x : number > : ^^^^^^ diff --git a/tests/baselines/reference/moduleAugmentationNoNewNames.types b/tests/baselines/reference/moduleAugmentationNoNewNames.types index af4123b4fc491..42bfa842b603a 100644 --- a/tests/baselines/reference/moduleAugmentationNoNewNames.types +++ b/tests/baselines/reference/moduleAugmentationNoNewNames.types @@ -94,11 +94,11 @@ let y = x.map(x => x + 1); >x.map(x => x + 1) : Observable > : ^^^^^^^^^^^^^^^^^^ >x.map : (proj: (e: number) => U) => Observable -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^ >x : Observable > : ^^^^^^^^^^^^^^^^^^ >map : (proj: (e: number) => U) => Observable -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^ >x => x + 1 : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/moduleAugmentationsBundledOutput1.types b/tests/baselines/reference/moduleAugmentationsBundledOutput1.types index 6ead06441f0b4..5af7b27038a40 100644 --- a/tests/baselines/reference/moduleAugmentationsBundledOutput1.types +++ b/tests/baselines/reference/moduleAugmentationsBundledOutput1.types @@ -174,71 +174,71 @@ c.foo().toExponential(); >c.foo().toExponential() : string > : ^^^^^^ >c.foo().toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >c.foo() : number > : ^^^^^^ >c.foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >c : Cls > : ^^^ >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ c.bar().toLowerCase(); >c.bar().toLowerCase() : string > : ^^^^^^ >c.bar().toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >c.bar() : string > : ^^^^^^ >c.bar : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >c : Cls > : ^^^ >bar : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ c.baz1().x.toExponential(); >c.baz1().x.toExponential() : string > : ^^^^^^ >c.baz1().x.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >c.baz1().x : number > : ^^^^^^ >c.baz1() : import("m3").C1 > : ^^^^^^^^^^^^^^^ >c.baz1 : () => import("m3").C1 -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^ >c : Cls > : ^^^ >baz1 : () => import("m3").C1 -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^ >x : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ c.baz2().x.toLowerCase(); >c.baz2().x.toLowerCase() : string > : ^^^^^^ >c.baz2().x.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >c.baz2().x : string > : ^^^^^^ >c.baz2() : import("m3").C2 > : ^^^^^^^^^^^^^^^ >c.baz2 : () => import("m3").C2 -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^ >c : Cls > : ^^^ >baz2 : () => import("m3").C2 -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^ ^^ >x : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/moduleAugmentationsImports1.types b/tests/baselines/reference/moduleAugmentationsImports1.types index 4aecd17546cc0..18a65e2d34809 100644 --- a/tests/baselines/reference/moduleAugmentationsImports1.types +++ b/tests/baselines/reference/moduleAugmentationsImports1.types @@ -43,7 +43,7 @@ A.prototype.getB = function () { return undefined; } >A.prototype.getB = function () { return undefined; } : () => any > : ^^^^^^^^^ >A.prototype.getB : () => B -> : ^^^^^^^ +> : ^^^^^^ >A.prototype : A > : ^ >A : typeof A @@ -51,7 +51,7 @@ A.prototype.getB = function () { return undefined; } >prototype : A > : ^ >getB : () => B -> : ^^^^^^^ +> : ^^^^^^ >function () { return undefined; } : () => any > : ^^^^^^^^^ >undefined : undefined @@ -61,7 +61,7 @@ A.prototype.getCls = function () { return undefined; } >A.prototype.getCls = function () { return undefined; } : () => any > : ^^^^^^^^^ >A.prototype.getCls : () => Cls -> : ^^^^^^^^^ +> : ^^^^^^ >A.prototype : A > : ^ >A : typeof A @@ -69,7 +69,7 @@ A.prototype.getCls = function () { return undefined; } >prototype : A > : ^ >getCls : () => Cls -> : ^^^^^^^^^ +> : ^^^^^^ >function () { return undefined; } : () => any > : ^^^^^^^^^ >undefined : undefined @@ -114,21 +114,21 @@ let b = a.getB().x.toFixed(); >a.getB().x.toFixed() : string > : ^^^^^^ >a.getB().x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >a.getB().x : number > : ^^^^^^ >a.getB() : import("b").B > : ^^^^^^^^^^^^^ >a.getB : () => import("b").B -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^ >a : A > : ^ >getB : () => import("b").B -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^ >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let c = a.getCls().y.toLowerCase(); >c : string @@ -136,19 +136,19 @@ let c = a.getCls().y.toLowerCase(); >a.getCls().y.toLowerCase() : string > : ^^^^^^ >a.getCls().y.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >a.getCls().y : string > : ^^^^^^ >a.getCls() : import("C").Cls > : ^^^^^^^^^^^^^^^ >a.getCls : () => import("C").Cls -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ >a : A > : ^ >getCls : () => import("C").Cls -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ >y : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/moduleAugmentationsImports2.types b/tests/baselines/reference/moduleAugmentationsImports2.types index 77ce7d3e1267d..5e6afbd8c9599 100644 --- a/tests/baselines/reference/moduleAugmentationsImports2.types +++ b/tests/baselines/reference/moduleAugmentationsImports2.types @@ -39,7 +39,7 @@ A.prototype.getB = function () { return undefined; } >A.prototype.getB = function () { return undefined; } : () => any > : ^^^^^^^^^ >A.prototype.getB : () => B -> : ^^^^^^^ +> : ^^^^^^ >A.prototype : A > : ^ >A : typeof A @@ -47,7 +47,7 @@ A.prototype.getB = function () { return undefined; } >prototype : A > : ^ >getB : () => B -> : ^^^^^^^ +> : ^^^^^^ >function () { return undefined; } : () => any > : ^^^^^^^^^ >undefined : undefined @@ -77,7 +77,7 @@ A.prototype.getCls = function () { return undefined; } >A.prototype.getCls = function () { return undefined; } : () => any > : ^^^^^^^^^ >A.prototype.getCls : () => Cls -> : ^^^^^^^^^ +> : ^^^^^^ >A.prototype : A > : ^ >A : typeof A @@ -85,7 +85,7 @@ A.prototype.getCls = function () { return undefined; } >prototype : A > : ^ >getCls : () => Cls -> : ^^^^^^^^^ +> : ^^^^^^ >function () { return undefined; } : () => any > : ^^^^^^^^^ >undefined : undefined @@ -120,21 +120,21 @@ let b = a.getB().x.toFixed(); >a.getB().x.toFixed() : string > : ^^^^^^ >a.getB().x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >a.getB().x : number > : ^^^^^^ >a.getB() : import("b").B > : ^^^^^^^^^^^^^ >a.getB : () => import("b").B -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^ >a : A > : ^ >getB : () => import("b").B -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^ >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let c = a.getCls().y.toLowerCase(); >c : string @@ -142,19 +142,19 @@ let c = a.getCls().y.toLowerCase(); >a.getCls().y.toLowerCase() : string > : ^^^^^^ >a.getCls().y.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >a.getCls().y : string > : ^^^^^^ >a.getCls() : import("C").Cls > : ^^^^^^^^^^^^^^^ >a.getCls : () => import("C").Cls -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ >a : A > : ^ >getCls : () => import("C").Cls -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ >y : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/moduleAugmentationsImports3.types b/tests/baselines/reference/moduleAugmentationsImports3.types index d04f6575622f2..dd7c309a778ef 100644 --- a/tests/baselines/reference/moduleAugmentationsImports3.types +++ b/tests/baselines/reference/moduleAugmentationsImports3.types @@ -19,21 +19,21 @@ let b = a.getB().x.toFixed(); >a.getB().x.toFixed() : string > : ^^^^^^ >a.getB().x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >a.getB().x : number > : ^^^^^^ >a.getB() : import("b").B > : ^^^^^^^^^^^^^^^^^^^ >a.getB : () => import("b").B -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^ >a : A > : ^ >getB : () => import("b").B -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^ >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let c = a.getCls().y.toLowerCase(); >c : string @@ -41,21 +41,21 @@ let c = a.getCls().y.toLowerCase(); >a.getCls().y.toLowerCase() : string > : ^^^^^^ >a.getCls().y.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >a.getCls().y : string > : ^^^^^^ >a.getCls() : import("C").Cls > : ^^^^^^^^^^^^^^^ >a.getCls : () => import("C").Cls -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ >a : A > : ^ >getCls : () => import("C").Cls -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ >y : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ === a.ts === export class A {} @@ -120,7 +120,7 @@ A.prototype.getCls = function () { return undefined; } >A.prototype.getCls = function () { return undefined; } : () => any > : ^^^^^^^^^ >A.prototype.getCls : () => Cls -> : ^^^^^^^^^ +> : ^^^^^^ >A.prototype : A > : ^ >A : typeof A @@ -128,7 +128,7 @@ A.prototype.getCls = function () { return undefined; } >prototype : A > : ^ >getCls : () => Cls -> : ^^^^^^^^^ +> : ^^^^^^ >function () { return undefined; } : () => any > : ^^^^^^^^^ >undefined : undefined diff --git a/tests/baselines/reference/moduleAugmentationsImports4.types b/tests/baselines/reference/moduleAugmentationsImports4.types index 08f9784c34292..36b50b3494c86 100644 --- a/tests/baselines/reference/moduleAugmentationsImports4.types +++ b/tests/baselines/reference/moduleAugmentationsImports4.types @@ -20,21 +20,21 @@ let b = a.getB().x.toFixed(); >a.getB().x.toFixed() : string > : ^^^^^^ >a.getB().x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >a.getB().x : number > : ^^^^^^ >a.getB() : import("b").B > : ^^^^^^^^^^^^^^^^^^^ >a.getB : () => import("b").B -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^ >a : A > : ^ >getB : () => import("b").B -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^ >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let c = a.getCls().y.toLowerCase(); >c : string @@ -42,21 +42,21 @@ let c = a.getCls().y.toLowerCase(); >a.getCls().y.toLowerCase() : string > : ^^^^^^ >a.getCls().y.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >a.getCls().y : string > : ^^^^^^ >a.getCls() : import("C").Cls > : ^^^^^^^^^^^^^^^ >a.getCls : () => import("C").Cls -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ >a : A > : ^ >getCls : () => import("C").Cls -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ >y : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ === a.ts === export class A {} diff --git a/tests/baselines/reference/moduleExportAlias2.types b/tests/baselines/reference/moduleExportAlias2.types index 6422585789383..dd5e94f933f3f 100644 --- a/tests/baselines/reference/moduleExportAlias2.types +++ b/tests/baselines/reference/moduleExportAlias2.types @@ -8,7 +8,7 @@ const C = require("./semver") >require("./semver") : typeof C > : ^^^^^^^^ >require : (name: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >"./semver" : "./semver" > : ^^^^^^^^^^ diff --git a/tests/baselines/reference/moduleExportAssignment7.types b/tests/baselines/reference/moduleExportAssignment7.types index 2ccb64f0d5d12..4124a6d377230 100644 --- a/tests/baselines/reference/moduleExportAssignment7.types +++ b/tests/baselines/reference/moduleExportAssignment7.types @@ -159,8 +159,8 @@ function jstypes(a, b, c, d, e, f, g) { * @param {typeof import("./mod").literal} g */ function jsvalues(a, b, c, d, e, f, g) { ->jsvalues : (a: typeof import("./mod").Thing, b: typeof import("./mod").AnotherThing, c: typeof import("./mod").foo, d: typeof import("./mod").qux, e: typeof import("./mod").baz, f: any, g: typeof import("./mod").literal) => any -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^ +>jsvalues : (a: typeof import("./mod").Thing, b: typeof import("./mod").AnotherThing, c: typeof import("./mod").foo, d: typeof import("./mod").qux, e: typeof import("./mod").baz, f: typeof import("./mod").buz, g: typeof import("./mod").literal) => any +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ >a : typeof Thing > : ^^^^^^^^^^^^ >b : typeof AnotherThing @@ -227,8 +227,8 @@ function jsvalues(a, b, c, d, e, f, g) { === index.ts === function types( ->types : (a: any, b: any, c: any, d: any, e: any, f: import("./mod").buz, g: any) => any -> : ^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +>types : (a: import("./mod").Thing, b: import("./mod").AnotherThing, c: import("./mod").foo, d: import("./mod").qux, e: import("./mod").baz, f: import("./mod").buz, g: import("./mod").literal) => any +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ a: import('./mod').Thing, >a : any @@ -309,8 +309,8 @@ function types( } function values( ->values : (a: typeof import("./mod").Thing, b: typeof import("./mod").AnotherThing, c: typeof import("./mod").foo, d: typeof import("./mod").qux, e: typeof import("./mod").baz, f: any, g: typeof import("./mod").literal) => any -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^ +>values : (a: typeof import("./mod").Thing, b: typeof import("./mod").AnotherThing, c: typeof import("./mod").foo, d: typeof import("./mod").qux, e: typeof import("./mod").baz, f: typeof import("./mod").buz, g: typeof import("./mod").literal) => any +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ a: typeof import('./mod').Thing, >a : typeof Thing diff --git a/tests/baselines/reference/moduleExportDuplicateAlias3.types b/tests/baselines/reference/moduleExportDuplicateAlias3.types index 948f6a7fca295..36399d49167d9 100644 --- a/tests/baselines/reference/moduleExportDuplicateAlias3.types +++ b/tests/baselines/reference/moduleExportDuplicateAlias3.types @@ -16,11 +16,11 @@ const result = apply.toFixed() >apply.toFixed() : string > : ^^^^^^ >apply.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >apply : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ === moduleExportAliasDuplicateAlias.js === exports.apply = undefined; @@ -91,7 +91,7 @@ var OK = exports.apply.toUpperCase() >exports.apply.toUpperCase() : string > : ^^^^^^ >exports.apply.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >exports.apply : "ok" > : ^^^^ >exports : typeof import("moduleExportAliasDuplicateAlias") @@ -99,7 +99,7 @@ var OK = exports.apply.toUpperCase() >apply : "ok" > : ^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ exports.apply = 1 >exports.apply = 1 : 1 diff --git a/tests/baselines/reference/moduleExportWithExportPropertyAssignment.types b/tests/baselines/reference/moduleExportWithExportPropertyAssignment.types index 359d4fc0f4c48..32f4fb47ed491 100644 --- a/tests/baselines/reference/moduleExportWithExportPropertyAssignment.types +++ b/tests/baselines/reference/moduleExportWithExportPropertyAssignment.types @@ -8,7 +8,7 @@ var mod1 = require('./mod1') >require('./mod1') : { (): void; f: (a: number) => void; } > : ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >require : (name: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >'./mod1' : "./mod1" > : ^^^^^^^^ diff --git a/tests/baselines/reference/moduleExportWithExportPropertyAssignment2.types b/tests/baselines/reference/moduleExportWithExportPropertyAssignment2.types index 2a0139c6ed52b..6f4240b90ac17 100644 --- a/tests/baselines/reference/moduleExportWithExportPropertyAssignment2.types +++ b/tests/baselines/reference/moduleExportWithExportPropertyAssignment2.types @@ -8,7 +8,7 @@ var mod1 = require('./mod1') >require('./mod1') : number > : ^^^^^^ >require : (name: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >'./mod1' : "./mod1" > : ^^^^^^^^ @@ -16,11 +16,11 @@ mod1.toFixed(12) >mod1.toFixed(12) : string > : ^^^^^^ >mod1.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >mod1 : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >12 : 12 > : ^^ diff --git a/tests/baselines/reference/moduleExportWithExportPropertyAssignment3.types b/tests/baselines/reference/moduleExportWithExportPropertyAssignment3.types index 7d80e60ceef55..55a40ca5d53ef 100644 --- a/tests/baselines/reference/moduleExportWithExportPropertyAssignment3.types +++ b/tests/baselines/reference/moduleExportWithExportPropertyAssignment3.types @@ -8,7 +8,7 @@ var mod1 = require('./mod1') >require('./mod1') : { justExport: number; bothBefore: number | "string"; bothAfter: number | "string"; justProperty: "string"; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >require : (name: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >'./mod1' : "./mod1" > : ^^^^^^^^ @@ -16,7 +16,7 @@ mod1.justExport.toFixed() >mod1.justExport.toFixed() : string > : ^^^^^^ >mod1.justExport.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >mod1.justExport : number > : ^^^^^^ >mod1 : { justExport: number; bothBefore: number | "string"; bothAfter: number | "string"; justProperty: "string"; } @@ -24,7 +24,7 @@ mod1.justExport.toFixed() >justExport : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ mod1.bothBefore.toFixed() // error, 'toFixed' not on 'string | number' >mod1.bothBefore.toFixed() : any diff --git a/tests/baselines/reference/moduleExportWithExportPropertyAssignment4.types b/tests/baselines/reference/moduleExportWithExportPropertyAssignment4.types index b93a48a21e374..39d434f9f0e23 100644 --- a/tests/baselines/reference/moduleExportWithExportPropertyAssignment4.types +++ b/tests/baselines/reference/moduleExportWithExportPropertyAssignment4.types @@ -8,7 +8,7 @@ var mod1 = require('./mod1') >require('./mod1') : typeof mod1 > : ^^^^^^^^^^^ >require : (name: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >'./mod1' : "./mod1" > : ^^^^^^^^ @@ -16,7 +16,7 @@ mod1.justExport.toFixed() >mod1.justExport.toFixed() : string > : ^^^^^^ >mod1.justExport.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >mod1.justExport : number > : ^^^^^^ >mod1 : typeof mod1 @@ -24,7 +24,7 @@ mod1.justExport.toFixed() >justExport : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ mod1.bothBefore.toFixed() // error >mod1.bothBefore.toFixed() : any diff --git a/tests/baselines/reference/moduleExportsAliasLoop1.types b/tests/baselines/reference/moduleExportsAliasLoop1.types index 0ab6895fcb755..2f402f4adc949 100644 --- a/tests/baselines/reference/moduleExportsAliasLoop1.types +++ b/tests/baselines/reference/moduleExportsAliasLoop1.types @@ -13,17 +13,17 @@ exports.fn1(); exports.fn2 = Math.min; >exports.fn2 = Math.min : (...values: number[]) => number -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >exports.fn2 : (...values: number[]) => number -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >exports : typeof import("x") > : ^^^^^^^^^^^^^^^^^^ >fn2 : (...values: number[]) => number -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Math.min : (...values: number[]) => number -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Math : Math > : ^^^^ >min : (...values: number[]) => number -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/moduleExportsTypeNoExcessPropertyCheckFromContainedLiteral.types b/tests/baselines/reference/moduleExportsTypeNoExcessPropertyCheckFromContainedLiteral.types index 21cd0a5e175cf..f44f3b61876d7 100644 --- a/tests/baselines/reference/moduleExportsTypeNoExcessPropertyCheckFromContainedLiteral.types +++ b/tests/baselines/reference/moduleExportsTypeNoExcessPropertyCheckFromContainedLiteral.types @@ -23,11 +23,11 @@ tseslint.config(eslintReact) >tseslint.config(eslintReact) : void > : ^^^^ >tseslint.config : (...configs: Config[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >tseslint : typeof tseslint > : ^^^^^^^^^^^^^^^ >config : (...configs: Config[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >eslintReact : { plugins: { react: { deprecatedRules: { "jsx-sort-default-props": boolean; }; rules: { 'no-unsafe': boolean; }; }; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -124,7 +124,7 @@ module.exports = { config }; >exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >{ config } : { config: (...configs: Config[]) => void; } -> : ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ >config : (...configs: Config[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/moduleImport.errors.txt b/tests/baselines/reference/moduleImport.errors.txt index d45bb40278fa4..585eb6dfe19d6 100644 --- a/tests/baselines/reference/moduleImport.errors.txt +++ b/tests/baselines/reference/moduleImport.errors.txt @@ -1,13 +1,10 @@ -moduleImport.ts(2,17): error TS2339: Property 'Y' does not exist on type 'typeof X'. moduleImport.ts(2,17): error TS2694: Namespace 'X' has no exported member 'Y'. -==== moduleImport.ts (2 errors) ==== +==== moduleImport.ts (1 errors) ==== module A.B.C { import XYZ = X.Y.Z; ~ -!!! error TS2339: Property 'Y' does not exist on type 'typeof X'. - ~ !!! error TS2694: Namespace 'X' has no exported member 'Y'. export function ping(x: number) { if (x>0) XYZ.pong (x-1); diff --git a/tests/baselines/reference/moduleInTypePosition1.types b/tests/baselines/reference/moduleInTypePosition1.types index 54a4064d3a58d..893230662904c 100644 --- a/tests/baselines/reference/moduleInTypePosition1.types +++ b/tests/baselines/reference/moduleInTypePosition1.types @@ -8,9 +8,9 @@ import WinJS = require('./moduleInTypePosition1_0'); var x = (w1: WinJS) => { }; >x : (w1: WinJS) => void -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >(w1: WinJS) => { } : (w1: WinJS) => void -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >w1 : WinJS > : ^^^^^ diff --git a/tests/baselines/reference/moduleNodeDefaultImports(module=node16).types b/tests/baselines/reference/moduleNodeDefaultImports(module=node16).types index 5cbafc1e1ca4e..84b8ccc87d275 100644 --- a/tests/baselines/reference/moduleNodeDefaultImports(module=node16).types +++ b/tests/baselines/reference/moduleNodeDefaultImports(module=node16).types @@ -7,7 +7,7 @@ declare function fun(): void; export default fun; >fun : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ === b.mts === import a from "./mod.cjs"; @@ -144,47 +144,47 @@ a.default(); >a.default() : void > : ^^^^ >a.default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >a : typeof a > : ^^^^^^^^ >default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ b.default(); >b.default() : void > : ^^^^ >b.default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >b : typeof a > : ^^^^^^^^ >default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ c.default(); >c.default() : void > : ^^^^ >c.default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >c : typeof a > : ^^^^^^^^ >default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ d.default(); >d.default() : void > : ^^^^ >d.default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >d : typeof a > : ^^^^^^^^ >default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ self.default.default(); >self.default.default() : void > : ^^^^ >self.default.default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >self.default : typeof a > : ^^^^^^^^ >self : typeof self @@ -192,13 +192,13 @@ self.default.default(); >default : typeof a > : ^^^^^^^^ >default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ self.def.default(); >self.def.default() : void > : ^^^^ >self.def.default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >self.def : typeof a > : ^^^^^^^^ >self : typeof self @@ -206,5 +206,5 @@ self.def.default(); >def : typeof a > : ^^^^^^^^ >default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/moduleNodeDefaultImports(module=nodenext).types b/tests/baselines/reference/moduleNodeDefaultImports(module=nodenext).types index 5cbafc1e1ca4e..84b8ccc87d275 100644 --- a/tests/baselines/reference/moduleNodeDefaultImports(module=nodenext).types +++ b/tests/baselines/reference/moduleNodeDefaultImports(module=nodenext).types @@ -7,7 +7,7 @@ declare function fun(): void; export default fun; >fun : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ === b.mts === import a from "./mod.cjs"; @@ -144,47 +144,47 @@ a.default(); >a.default() : void > : ^^^^ >a.default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >a : typeof a > : ^^^^^^^^ >default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ b.default(); >b.default() : void > : ^^^^ >b.default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >b : typeof a > : ^^^^^^^^ >default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ c.default(); >c.default() : void > : ^^^^ >c.default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >c : typeof a > : ^^^^^^^^ >default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ d.default(); >d.default() : void > : ^^^^ >d.default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >d : typeof a > : ^^^^^^^^ >default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ self.default.default(); >self.default.default() : void > : ^^^^ >self.default.default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >self.default : typeof a > : ^^^^^^^^ >self : typeof self @@ -192,13 +192,13 @@ self.default.default(); >default : typeof a > : ^^^^^^^^ >default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ self.def.default(); >self.def.default() : void > : ^^^^ >self.def.default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >self.def : typeof a > : ^^^^^^^^ >self : typeof self @@ -206,5 +206,5 @@ self.def.default(); >def : typeof a > : ^^^^^^^^ >default : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/moduleResolutionPackageIdWithRelativeAndAbsolutePath.types b/tests/baselines/reference/moduleResolutionPackageIdWithRelativeAndAbsolutePath.types index 267eb6159b85d..b1940e83b78ce 100644 --- a/tests/baselines/reference/moduleResolutionPackageIdWithRelativeAndAbsolutePath.types +++ b/tests/baselines/reference/moduleResolutionPackageIdWithRelativeAndAbsolutePath.types @@ -7,7 +7,7 @@ import * as t from "anotherLib"; // Include the lib that recursively includes op import { makeSharedOption } from "@shared/lib/app"; // Includes option as module in shared folder but as module in node_modules folder >makeSharedOption : () => import("/shared/lib/app").SharedOption -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ === /shared/node_modules/troublesome-lib/lib/Option.d.ts === export class Option { diff --git a/tests/baselines/reference/moduleResolutionWithExtensions_withPaths.types b/tests/baselines/reference/moduleResolutionWithExtensions_withPaths.types index ad6b71ed0f300..2ea984855917d 100644 --- a/tests/baselines/reference/moduleResolutionWithExtensions_withPaths.types +++ b/tests/baselines/reference/moduleResolutionWithExtensions_withPaths.types @@ -9,23 +9,23 @@ export declare function relative(): void; === /test.ts === import { test } from "foo/test.js"; >test : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ import { test as test2 } from "foo/test"; >test : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >test2 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ import { relative } from "./relative.js"; >relative : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ import { relative as relative2 } from "./relative"; >relative : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >relative2 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=node16).types b/tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=node16).types index 919c31b03bcdb..b65e67d7fe713 100644 --- a/tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=node16).types +++ b/tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=node16).types @@ -14,9 +14,9 @@ p.thing(); >p.thing() : void > : ^^^^ >p.thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >p : typeof p > : ^^^^^^^^ >thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=nodenext).types b/tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=nodenext).types index 919c31b03bcdb..b65e67d7fe713 100644 --- a/tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=nodenext).types +++ b/tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=nodenext).types @@ -14,9 +14,9 @@ p.thing(); >p.thing() : void > : ^^^^ >p.thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >p : typeof p > : ^^^^^^^^ >thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/moduleResolutionWithModule(module=node16,moduleresolution=node16).types b/tests/baselines/reference/moduleResolutionWithModule(module=node16,moduleresolution=node16).types index 919c31b03bcdb..b65e67d7fe713 100644 --- a/tests/baselines/reference/moduleResolutionWithModule(module=node16,moduleresolution=node16).types +++ b/tests/baselines/reference/moduleResolutionWithModule(module=node16,moduleresolution=node16).types @@ -14,9 +14,9 @@ p.thing(); >p.thing() : void > : ^^^^ >p.thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >p : typeof p > : ^^^^^^^^ >thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/moduleResolutionWithModule(module=node16,moduleresolution=nodenext).types b/tests/baselines/reference/moduleResolutionWithModule(module=node16,moduleresolution=nodenext).types index 919c31b03bcdb..b65e67d7fe713 100644 --- a/tests/baselines/reference/moduleResolutionWithModule(module=node16,moduleresolution=nodenext).types +++ b/tests/baselines/reference/moduleResolutionWithModule(module=node16,moduleresolution=nodenext).types @@ -14,9 +14,9 @@ p.thing(); >p.thing() : void > : ^^^^ >p.thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >p : typeof p > : ^^^^^^^^ >thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=node16).types b/tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=node16).types index 919c31b03bcdb..b65e67d7fe713 100644 --- a/tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=node16).types +++ b/tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=node16).types @@ -14,9 +14,9 @@ p.thing(); >p.thing() : void > : ^^^^ >p.thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >p : typeof p > : ^^^^^^^^ >thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=nodenext).types b/tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=nodenext).types index 919c31b03bcdb..b65e67d7fe713 100644 --- a/tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=nodenext).types +++ b/tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=nodenext).types @@ -14,9 +14,9 @@ p.thing(); >p.thing() : void > : ^^^^ >p.thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >p : typeof p > : ^^^^^^^^ >thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/moduleResolutionWithSuffixes_one_externalModule.types b/tests/baselines/reference/moduleResolutionWithSuffixes_one_externalModule.types index 9fbb9f65f513f..f360268b72b37 100644 --- a/tests/baselines/reference/moduleResolutionWithSuffixes_one_externalModule.types +++ b/tests/baselines/reference/moduleResolutionWithSuffixes_one_externalModule.types @@ -3,7 +3,7 @@ === /index.ts === import { ios } from "some-library"; >ios : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ === /node_modules/some-library/index.ios.d.ts === export declare function ios(): void; diff --git a/tests/baselines/reference/moduleResolutionWithSuffixes_one_externalModulePath.types b/tests/baselines/reference/moduleResolutionWithSuffixes_one_externalModulePath.types index 510885f54e8b2..16400d4029ea7 100644 --- a/tests/baselines/reference/moduleResolutionWithSuffixes_one_externalModulePath.types +++ b/tests/baselines/reference/moduleResolutionWithSuffixes_one_externalModulePath.types @@ -3,7 +3,7 @@ === /index.ts === import { iosfoo } from "some-library/foo"; >iosfoo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ === /node_modules/some-library/foo.ios.d.ts === export declare function iosfoo(): void; diff --git a/tests/baselines/reference/moduleResolutionWithSuffixes_one_externalModule_withPaths.types b/tests/baselines/reference/moduleResolutionWithSuffixes_one_externalModule_withPaths.types index 0f0958c747df0..34d7dd79addb9 100644 --- a/tests/baselines/reference/moduleResolutionWithSuffixes_one_externalModule_withPaths.types +++ b/tests/baselines/reference/moduleResolutionWithSuffixes_one_externalModule_withPaths.types @@ -3,19 +3,19 @@ === /test.ts === import { ios } from "some-library"; >ios : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ import { ios as ios2 } from "some-library/index"; >ios : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >ios2 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ import { ios as ios3 } from "some-library/index.js"; >ios : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >ios3 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ === /node_modules/some-library/lib/index.ios.d.ts === export declare function ios(): void; diff --git a/tests/baselines/reference/moduleResolutionWithSuffixes_one_jsonModule.types b/tests/baselines/reference/moduleResolutionWithSuffixes_one_jsonModule.types index 403b8e4fa14a0..961ba8f00ca17 100644 --- a/tests/baselines/reference/moduleResolutionWithSuffixes_one_jsonModule.types +++ b/tests/baselines/reference/moduleResolutionWithSuffixes_one_jsonModule.types @@ -9,11 +9,11 @@ console.log(foo.ios); >console.log(foo.ios) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >foo.ios : string > : ^^^^^^ >foo : { ios: string; } diff --git a/tests/baselines/reference/moduleResolutionWithoutExtension5.types b/tests/baselines/reference/moduleResolutionWithoutExtension5.types index 41bb1b245bf21..7898309ec6b04 100644 --- a/tests/baselines/reference/moduleResolutionWithoutExtension5.types +++ b/tests/baselines/reference/moduleResolutionWithoutExtension5.types @@ -6,13 +6,13 @@ import("./foo").then(x => x); // should error, ask for extension >import("./foo").then(x => x) : Promise > : ^^^^^^^^^^^^ >import("./foo").then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >import("./foo") : Promise > : ^^^^^^^^^^^^ >"./foo" : "./foo" > : ^^^^^^^ >then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >x => x : (x: any) => any > : ^ ^^^^^^^^^^^^^ >x : any diff --git a/tests/baselines/reference/moduleResolutionWithoutExtension8.types b/tests/baselines/reference/moduleResolutionWithoutExtension8.types index b75c870eaab3a..5361c56bad849 100644 --- a/tests/baselines/reference/moduleResolutionWithoutExtension8.types +++ b/tests/baselines/reference/moduleResolutionWithoutExtension8.types @@ -6,13 +6,13 @@ import("./foo").then(x => x); // should error, ask for extension >import("./foo").then(x => x) : Promise > : ^^^^^^^^^^^^ >import("./foo").then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >import("./foo") : Promise > : ^^^^^^^^^^^^ >"./foo" : "./foo" > : ^^^^^^^ >then : (onfulfilled?: (value: any) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >x => x : (x: any) => any > : ^ ^^^^^^^^^^^^^ >x : any diff --git a/tests/baselines/reference/multiExtendsSplitInterfaces1.types b/tests/baselines/reference/multiExtendsSplitInterfaces1.types index d8bd73e19b0c6..bafa418ced5f4 100644 --- a/tests/baselines/reference/multiExtendsSplitInterfaces1.types +++ b/tests/baselines/reference/multiExtendsSplitInterfaces1.types @@ -5,11 +5,11 @@ self.cancelAnimationFrame(0); >self.cancelAnimationFrame(0) : void > : ^^^^ >self.cancelAnimationFrame : ((handle: number) => void) & ((handle: number) => void) -> : ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ >self : Window & typeof globalThis > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >cancelAnimationFrame : ((handle: number) => void) & ((handle: number) => void) -> : ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/multiLinePropertyAccessAndArrowFunctionIndent1.errors.txt b/tests/baselines/reference/multiLinePropertyAccessAndArrowFunctionIndent1.errors.txt index dbe8496dc4b35..6ed52a9dfe7b9 100644 --- a/tests/baselines/reference/multiLinePropertyAccessAndArrowFunctionIndent1.errors.txt +++ b/tests/baselines/reference/multiLinePropertyAccessAndArrowFunctionIndent1.errors.txt @@ -1,6 +1,13 @@ +error TS-1: Pre-emit (1) and post-emit (5) diagnostic counts do not match! This can indicate that a semantic _error_ was added by the emit resolver - such an error may not be reflected on the command line or in the editor, but may be captured in a baseline here! multiLinePropertyAccessAndArrowFunctionIndent1.ts(1,1): error TS1108: A 'return' statement can only be used within a function body. +!!! error TS-1: Pre-emit (1) and post-emit (5) diagnostic counts do not match! This can indicate that a semantic _error_ was added by the emit resolver - such an error may not be reflected on the command line or in the editor, but may be captured in a baseline here! +!!! related TS-1: The excess diagnostics are: +!!! related TS2304 multiLinePropertyAccessAndArrowFunctionIndent1.ts:1:18: Cannot find name 'role'. +!!! related TS2304 multiLinePropertyAccessAndArrowFunctionIndent1.ts:2:18: Cannot find name 'Role'. +!!! related TS2503 multiLinePropertyAccessAndArrowFunctionIndent1.ts:4:26: Cannot find namespace 'ng'. +!!! related TS2304 multiLinePropertyAccessAndArrowFunctionIndent1.ts:4:53: Cannot find name 'Role'. ==== multiLinePropertyAccessAndArrowFunctionIndent1.ts (1 errors) ==== return this.edit(role) ~~~~~~ diff --git a/tests/baselines/reference/multiLinePropertyAccessAndArrowFunctionIndent1.types b/tests/baselines/reference/multiLinePropertyAccessAndArrowFunctionIndent1.types index 689b28d1d837e..ab36f42fb2ec6 100644 --- a/tests/baselines/reference/multiLinePropertyAccessAndArrowFunctionIndent1.types +++ b/tests/baselines/reference/multiLinePropertyAccessAndArrowFunctionIndent1.types @@ -21,7 +21,7 @@ return this.edit(role) >then : any > : ^^^ >(role: Role) => this.roleService.add(role) .then((data: ng.IHttpPromiseCallbackArg) => data.data) : (role: Role) => any -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >role : Role > : ^^^^ @@ -49,7 +49,7 @@ return this.edit(role) >then : any > : ^^^ >(data: ng.IHttpPromiseCallbackArg) => data.data : (data: ng.IHttpPromiseCallbackArg) => any -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >data : ng.IHttpPromiseCallbackArg > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >ng : any diff --git a/tests/baselines/reference/multiSignatureTypeInference.types b/tests/baselines/reference/multiSignatureTypeInference.types index 100fe373a6799..ca7e073893eff 100644 --- a/tests/baselines/reference/multiSignatureTypeInference.types +++ b/tests/baselines/reference/multiSignatureTypeInference.types @@ -3,13 +3,13 @@ === multiSignatureTypeInference.ts === declare function f1(arg: boolean): string; >f1 : { (arg: boolean): string; (arg1: number, arg2: number): number; (...args: string[]): string[]; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ >arg : boolean > : ^^^^^^^ declare function f1(arg1: number, arg2: number): number; >f1 : { (arg: boolean): string; (arg1: number, arg2: number): number; (...args: string[]): string[]; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ >arg1 : number > : ^^^^^^ >arg2 : number @@ -17,7 +17,7 @@ declare function f1(arg1: number, arg2: number): number; declare function f1(...args: string[]): string[]; >f1 : { (arg: boolean): string; (arg1: number, arg2: number): number; (...args: string[]): string[]; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ >args : string[] > : ^^^^^^^^ @@ -63,37 +63,37 @@ type Params1 = AllParams; // string[] | [arg: boolean] | [arg1: numb >Params1 : string[] | [arg: boolean] | [arg1: number, arg2: number] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f1 : { (arg: boolean): string; (arg1: number, arg2: number): number; (...args: string[]): string[]; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ type Params2 = AllParams; // [arg: unknown] >Params2 : [arg: unknown] > : ^^^^^^^^^^^^^^ >f2 : (arg: unknown) => unknown -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ type Params3 = AllParams; // [] >Params3 : [] > : ^^ >f3 : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ type Returns1 = AllReturns // string | number | string[] >Returns1 : string | number | string[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >f1 : { (arg: boolean): string; (arg1: number, arg2: number): number; (...args: string[]): string[]; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ type Returns2 = AllReturns; // unknown >Returns2 : unknown > : ^^^^^^^ >f2 : (arg: unknown) => unknown -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ type Returns3 = AllReturns; // string >Returns3 : string > : ^^^^^^ >f3 : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ // Repro from #28867 @@ -167,34 +167,34 @@ type Overloads = declare const ok1: Overloads<(x: number) => boolean>; // {rule: 2, variants: [[number], boolean]} >ok1 : { rule: 2; variants: [[x: number], boolean]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number > : ^^^^^^ declare const ok2: Overloads<{(): 1; (x: number): 2}>; // {rule: 2, variants: [[], 1] | [[number], 2]} >ok2 : { rule: 2; variants: [[], 1] | [[x: number], 2]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number > : ^^^^^^ declare const ok3: Overloads<() => boolean>; // {rule: 2, variants: [[], boolean] } >ok3 : { rule: 2; variants: [[], boolean]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ declare const ok4: Overloads<(...args: unknown[]) => boolean>; // {rule: 2, variants: [unknown[], boolean] } >ok4 : { rule: 2; variants: [unknown[], boolean]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >args : unknown[] > : ^^^^^^^^^ declare const ok5: Overloads<(x: unknown) => boolean>; // {rule: 2, variants: [[unknown], boolean] } >ok5 : { rule: 2; variants: [[x: unknown], boolean]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : unknown > : ^^^^^^^ declare const ok6: Overloads<(x: any) => boolean>; // {rule: 2, variants: [[any], boolean] } >ok6 : { rule: 2; variants: [[x: any], boolean]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : any diff --git a/tests/baselines/reference/multiline.types b/tests/baselines/reference/multiline.types index 648807dd6f55f..79ec14021b444 100644 --- a/tests/baselines/reference/multiline.types +++ b/tests/baselines/reference/multiline.types @@ -17,11 +17,11 @@ texts.push(100); >texts.push(100) : number > : ^^^^^^ >texts.push : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >texts : string[] > : ^^^^^^^^ >push : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ @@ -31,11 +31,11 @@ texts.push(100); >texts.push(100) : number > : ^^^^^^ >texts.push : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >texts : string[] > : ^^^^^^^^ >push : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >100 : 100 > : ^^^ @@ -45,11 +45,11 @@ texts.push("100"); >texts.push("100") : number > : ^^^^^^ >texts.push : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >texts : string[] > : ^^^^^^^^ >push : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >"100" : "100" > : ^^^^^ diff --git a/tests/baselines/reference/multipleDeclarations.types b/tests/baselines/reference/multipleDeclarations.types index 7b4e6d215aa78..24af38040fa76 100644 --- a/tests/baselines/reference/multipleDeclarations.types +++ b/tests/baselines/reference/multipleDeclarations.types @@ -52,7 +52,7 @@ class X { > : ^^^^^^^^^^ >this.m.bind(this) : any >this.m.bind : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >this.m : () => void > : ^^^^^^^^^^ >this : this @@ -60,7 +60,7 @@ class X { >m : () => void > : ^^^^^^^^^^ >bind : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >this : this > : ^^^^ @@ -150,7 +150,7 @@ class Y { > : ^^^^^^^^^^ >this.m.bind(this) : any >this.m.bind : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >this.m : () => void > : ^^^^^^^^^^ >this : this @@ -158,7 +158,7 @@ class Y { >m : () => void > : ^^^^^^^^^^ >bind : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >this : this > : ^^^^ diff --git a/tests/baselines/reference/multipleExportAssignments.types b/tests/baselines/reference/multipleExportAssignments.types index ee1a6777084ca..e484dbb1b147f 100644 --- a/tests/baselines/reference/multipleExportAssignments.types +++ b/tests/baselines/reference/multipleExportAssignments.types @@ -39,7 +39,7 @@ var server: { }; export = server; >server : { (): connectExport; test1: connectModule; test2(): connectModule; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^ ^^^ export = connectExport; >connectExport : connectExport diff --git a/tests/baselines/reference/multipleInferenceContexts.types b/tests/baselines/reference/multipleInferenceContexts.types index 98ab973ebdcdc..80d1520bb674d 100644 --- a/tests/baselines/reference/multipleInferenceContexts.types +++ b/tests/baselines/reference/multipleInferenceContexts.types @@ -21,7 +21,7 @@ interface ComponentOptionsProperties { interface Instance { get(name: K): unknown; >get : (name: K) => unknown -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >name : K > : ^ } @@ -42,7 +42,7 @@ const r2 = Moon({ >Moon({ data: { msg: "" }, render() { const h = (x: unknown) => x; return h(this.get("msg")); },}) : Instance<{ msg: string; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >Moon : (options?: ConstructorOptions) => Instance -> : ^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >{ data: { msg: "" }, render() { const h = (x: unknown) => x; return h(this.get("msg")); },} : { data: { msg: string; }; render(): unknown; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -78,11 +78,11 @@ const r2 = Moon({ >this.get("msg") : unknown > : ^^^^^^^ >this.get : (name: K) => unknown -> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ >this : Instance<{ msg: string; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >get : (name: K) => unknown -> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ >"msg" : "msg" > : ^^^^^ diff --git a/tests/baselines/reference/mutuallyRecursiveCallbacks.types b/tests/baselines/reference/mutuallyRecursiveCallbacks.types index f8019e175ea0e..0f988e74fc003 100644 --- a/tests/baselines/reference/mutuallyRecursiveCallbacks.types +++ b/tests/baselines/reference/mutuallyRecursiveCallbacks.types @@ -25,9 +25,9 @@ declare var bar: Bar<{}>; bar = foo; >bar = foo : (bar: Bar) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >bar : Bar<{}> > : ^^^^^^^ >foo : (bar: Bar) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/mutuallyRecursiveGenericBaseTypes1.types b/tests/baselines/reference/mutuallyRecursiveGenericBaseTypes1.types index 1b89ec3bddc93..4e21cefca6dfe 100644 --- a/tests/baselines/reference/mutuallyRecursiveGenericBaseTypes1.types +++ b/tests/baselines/reference/mutuallyRecursiveGenericBaseTypes1.types @@ -4,11 +4,11 @@ interface A { foo(): B; // instead of B does see this >foo : { (): B; (): void; } -> : ^^^^^^ ^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ foo(): void; // instead of B does see this >foo : { (): B; (): void; } -> : ^^^^^^^^^^^^^^^^ ^^^ +> : ^^^^^^ ^^^^^^ ^^^ foo2(): B; >foo2 : () => B @@ -29,11 +29,11 @@ b.foo(); // should not error >b.foo() : B > : ^^^^^^^^^ >b.foo : { (): B; (): void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^^^^ ^^^ >b : B > : ^^^^^^^^^ >foo : { (): B; (): void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^^^^ ^^^ diff --git a/tests/baselines/reference/namedImportNonExistentName.types b/tests/baselines/reference/namedImportNonExistentName.types index dbef0e4458237..37e863dc4815f 100644 --- a/tests/baselines/reference/namedImportNonExistentName.types +++ b/tests/baselines/reference/namedImportNonExistentName.types @@ -33,7 +33,7 @@ let x: { a: string; c: string; } | { b: number; c: number; }; export = x >x : { a: string; c: string; } | { b: number; c: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^ === bar.ts === import { Bar, toString, foo } from './foo'; diff --git a/tests/baselines/reference/namedTupleMembers.types b/tests/baselines/reference/namedTupleMembers.types index 89ac083186b9c..1cf3f98f73540 100644 --- a/tests/baselines/reference/namedTupleMembers.types +++ b/tests/baselines/reference/namedTupleMembers.types @@ -248,7 +248,7 @@ y = x; declare function f(...x: T): T; >f : (...x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >x : T > : ^ @@ -262,7 +262,7 @@ declare function g(elem: object, index: number): object; declare function getArgsForInjection any>(x: T): Parameters; >getArgsForInjection : any>(x: T) => Parameters -> : ^ ^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >args : any[] > : ^^^^^ >x : T @@ -274,13 +274,13 @@ export const argumentsOfGAsFirstArgument = f(getArgsForInjection(g)); // one tup >f(getArgsForInjection(g)) : [[elem: object, index: number]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f : (...x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >getArgsForInjection(g) : [elem: object, index: number] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >getArgsForInjection : any>(x: T) => Parameters -> : ^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >g : (elem: object, index: number) => object -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ export const argumentsOfG = f(...getArgsForInjection(g)); // captured arguments list re-spread >argumentsOfG : [elem: object, index: number] @@ -288,13 +288,13 @@ export const argumentsOfG = f(...getArgsForInjection(g)); // captured arguments >f(...getArgsForInjection(g)) : [elem: object, index: number] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f : (...x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >...getArgsForInjection(g) : number | object > : ^^^^^^^^^^^^^^^ >getArgsForInjection(g) : [elem: object, index: number] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >getArgsForInjection : any>(x: T) => Parameters -> : ^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >g : (elem: object, index: number) => object -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/namespaceMergedWithFunctionWithOverloadsUsage.types b/tests/baselines/reference/namespaceMergedWithFunctionWithOverloadsUsage.types index 257cb0511075c..7fc2129e2bdf8 100644 --- a/tests/baselines/reference/namespaceMergedWithFunctionWithOverloadsUsage.types +++ b/tests/baselines/reference/namespaceMergedWithFunctionWithOverloadsUsage.types @@ -2,14 +2,14 @@ === index.ts === import X = require("./file"); ->X : { (opts?: Foo.Whatever): void; (cb: Function, opts?: Foo.Whatever): void; } -> : ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^ +>X : { (opts?: X.Whatever): void; (cb: Function, opts?: X.Whatever): void; } +> : ^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^ X(0); // shouldn't cause a crash >X(0) : void > : ^^^^ ->X : { (opts?: Foo.Whatever): void; (cb: Function, opts?: Foo.Whatever): void; } -> : ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^ +>X : { (opts?: X.Whatever): void; (cb: Function, opts?: X.Whatever): void; } +> : ^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^ >0 : 0 > : ^ @@ -24,7 +24,7 @@ declare namespace Foo { declare function Foo(opts?: Foo.Whatever): void; >Foo : { (opts?: Foo.Whatever): void; (cb: Function, opts?: Foo.Whatever): void; } -> : ^^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >opts : Foo.Whatever > : ^^^^^^^^^^^^ >Foo : any @@ -32,7 +32,7 @@ declare function Foo(opts?: Foo.Whatever): void; declare function Foo(cb: Function, opts?: Foo.Whatever): void; >Foo : { (opts?: Foo.Whatever): void; (cb: Function, opts?: Foo.Whatever): void; } -> : ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >cb : Function > : ^^^^^^^^ >opts : Foo.Whatever @@ -42,5 +42,5 @@ declare function Foo(cb: Function, opts?: Foo.Whatever): void; export = Foo; >Foo : { (opts?: Foo.Whatever): void; (cb: Function, opts?: Foo.Whatever): void; } -> : ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ diff --git a/tests/baselines/reference/narrowByBooleanComparison.types b/tests/baselines/reference/narrowByBooleanComparison.types index 3354afb8f3e18..cbfe5818cfdbf 100644 --- a/tests/baselines/reference/narrowByBooleanComparison.types +++ b/tests/baselines/reference/narrowByBooleanComparison.types @@ -53,7 +53,7 @@ function test1(x: MyUnion) { >isA(x) : boolean > : ^^^^^^^ >isA : (x: MyUnion) => x is A -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : MyUnion > : ^^^^^^^ >true : true @@ -70,7 +70,7 @@ function test1(x: MyUnion) { >isA(x) : boolean > : ^^^^^^^ >isA : (x: MyUnion) => x is A -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : MyUnion > : ^^^^^^^ >false : false @@ -87,7 +87,7 @@ function test1(x: MyUnion) { >isA(x) : boolean > : ^^^^^^^ >isA : (x: MyUnion) => x is A -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : MyUnion > : ^^^^^^^ >false : false @@ -104,7 +104,7 @@ function test1(x: MyUnion) { >isA(x) : boolean > : ^^^^^^^ >isA : (x: MyUnion) => x is A -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : MyUnion > : ^^^^^^^ >true : true @@ -121,7 +121,7 @@ function test1(x: MyUnion) { >isA(x) : boolean > : ^^^^^^^ >isA : (x: MyUnion) => x is A -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : MyUnion > : ^^^^^^^ >true : true @@ -138,7 +138,7 @@ function test1(x: MyUnion) { >isA(x) : boolean > : ^^^^^^^ >isA : (x: MyUnion) => x is A -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : MyUnion > : ^^^^^^^ >true : true @@ -157,7 +157,7 @@ function test1(x: MyUnion) { >isA(x) : boolean > : ^^^^^^^ >isA : (x: MyUnion) => x is A -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : MyUnion > : ^^^^^^^ @@ -174,7 +174,7 @@ function test1(x: MyUnion) { >isA(x) : boolean > : ^^^^^^^ >isA : (x: MyUnion) => x is A -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : MyUnion > : ^^^^^^^ @@ -233,11 +233,11 @@ function test3(foo: unknown) { >Array.isArray(foo) : boolean > : ^^^^^^^ >Array.isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo : unknown > : ^^^^^^^ >false : false @@ -305,11 +305,11 @@ function test4() { >console.error(err) : void > : ^^^^ >console.error : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >error : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >err : unknown > : ^^^^^^^ } @@ -365,7 +365,7 @@ function test5(bin: Entity) { >isActor(bin) : boolean > : ^^^^^^^ >isActor : (entity: Entity) => entity is Actor -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bin : Entity > : ^^^^^^ >false : false @@ -393,7 +393,7 @@ function test6(bin: Entity) { >isActor(bin) : boolean > : ^^^^^^^ >isActor : (entity: Entity) => entity is Actor -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bin : Entity > : ^^^^^^ >false : false @@ -440,7 +440,7 @@ function test7(x: unknown) { >isFunction(x) : boolean > : ^^^^^^^ >isFunction : (x: unknown) => x is Function -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : unknown > : ^^^^^^^ >false : false @@ -456,7 +456,7 @@ function test7(x: unknown) { >isFunction(x) : boolean > : ^^^^^^^ >isFunction : (x: unknown) => x is Function -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : unknown > : ^^^^^^^ >true : true diff --git a/tests/baselines/reference/narrowByClauseExpressionInSwitchTrue1.types b/tests/baselines/reference/narrowByClauseExpressionInSwitchTrue1.types index 45cec9bd2c0d9..42d2513f7d3f4 100644 --- a/tests/baselines/reference/narrowByClauseExpressionInSwitchTrue1.types +++ b/tests/baselines/reference/narrowByClauseExpressionInSwitchTrue1.types @@ -69,7 +69,7 @@ function test1(x: AorB) { >isA(x) : boolean > : ^^^^^^^ >isA : (x: AorB) => x is A -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : AorB > : ^^^^ @@ -82,7 +82,7 @@ function test1(x: AorB) { >isB(x) : boolean > : ^^^^^^^ >isB : (x: AorB) => x is B -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : AorB > : ^^^^ @@ -108,7 +108,7 @@ function test2(x: AorB) { >isA(x) : boolean > : ^^^^^^^ >isA : (x: AorB) => x is A -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : AorB > : ^^^^ @@ -121,7 +121,7 @@ function test2(x: AorB) { >isB(x) : boolean > : ^^^^^^^ >isB : (x: AorB) => x is B -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : AorB > : ^^^^ @@ -155,11 +155,11 @@ switch (true) { >x.trim() : string > : ^^^^^^ >x.trim : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : string > : ^^^^^^ >trim : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } type SomeType = { type: "SomeType" }; @@ -216,7 +216,7 @@ function processInput(input: string | RegExp | SomeType) { >isSomeType(input) : boolean > : ^^^^^^^ >isSomeType : (x: unknown) => x is SomeType -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >input : string | RegExp | SomeType > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/narrowByClauseExpressionInSwitchTrue3.types b/tests/baselines/reference/narrowByClauseExpressionInSwitchTrue3.types index a7c594df7bb15..6e6492e22b438 100644 --- a/tests/baselines/reference/narrowByClauseExpressionInSwitchTrue3.types +++ b/tests/baselines/reference/narrowByClauseExpressionInSwitchTrue3.types @@ -53,7 +53,7 @@ function wat(shape: Shape) { >shape.radius : number > : ^^^^^^ >shape : { kind: "circle"; radius: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^ ^^^ >radius : number > : ^^^^^^ >2 : 2 @@ -78,7 +78,7 @@ function wat(shape: Shape) { >shape.kind : "square" > : ^^^^^^^^ >shape : { kind: "square"; sideLength: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ >kind : "square" > : ^^^^^^^^ >"circle" : "circle" @@ -110,7 +110,7 @@ function wat(shape: Shape) { >shape.kind : "square" > : ^^^^^^^^ >shape : { kind: "square"; sideLength: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ >kind : "square" > : ^^^^^^^^ >"circle" : "circle" diff --git a/tests/baselines/reference/narrowByInstanceof.types b/tests/baselines/reference/narrowByInstanceof.types index 3ce47cbb1c197..2b2e79852bd4c 100644 --- a/tests/baselines/reference/narrowByInstanceof.types +++ b/tests/baselines/reference/narrowByInstanceof.types @@ -171,11 +171,11 @@ class Person { >console.log("work") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"work" : "work" > : ^^^^^^ @@ -185,11 +185,11 @@ class Person { >console.log("Hi") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"Hi" : "Hi" > : ^^^^ } @@ -204,11 +204,11 @@ class Car { >console.log("Wof Wof") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"Wof Wof" : "Wof Wof" > : ^^^^^^^^^ } @@ -231,11 +231,11 @@ function test(o: Person | Car) { >console.log("Is Person") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"Is Person" : "Is Person" > : ^^^^^^^^^^^ @@ -243,7 +243,7 @@ function test(o: Person | Car) { >(o as Person).work() : void > : ^^^^ >(o as Person).work : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >(o as Person) : Person > : ^^^^^^ >o as Person : Person @@ -251,18 +251,18 @@ function test(o: Person | Car) { >o : Person | Car > : ^^^^^^^^^^^^ >work : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } else { console.log("Is Car") >console.log("Is Car") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"Is Car" : "Is Car" > : ^^^^^^^^ @@ -270,11 +270,11 @@ function test(o: Person | Car) { >o.sayHi() : void > : ^^^^ >o.sayHi : (() => void) | (() => void) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^ ^ >o : Person | Car > : ^^^^^^^^^^^^ >sayHi : (() => void) | (() => void) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^ ^ } } diff --git a/tests/baselines/reference/narrowByParenthesizedSwitchExpression.types b/tests/baselines/reference/narrowByParenthesizedSwitchExpression.types index f43e62586e03e..2a5ec9093e295 100644 --- a/tests/baselines/reference/narrowByParenthesizedSwitchExpression.types +++ b/tests/baselines/reference/narrowByParenthesizedSwitchExpression.types @@ -42,7 +42,7 @@ const v = getV(); >getV() : Foo | Bar > : ^^^^^^^^^ >getV : () => Foo | Bar -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ switch ((v.type)) { >(v.type) : "foo" | "bar" diff --git a/tests/baselines/reference/narrowBySwitchDiscriminantUndefinedCase1(exactoptionalpropertytypes=false,nouncheckedindexedaccess=false).types b/tests/baselines/reference/narrowBySwitchDiscriminantUndefinedCase1(exactoptionalpropertytypes=false,nouncheckedindexedaccess=false).types index c479be464e95e..1dabaad4c16e3 100644 --- a/tests/baselines/reference/narrowBySwitchDiscriminantUndefinedCase1(exactoptionalpropertytypes=false,nouncheckedindexedaccess=false).types +++ b/tests/baselines/reference/narrowBySwitchDiscriminantUndefinedCase1(exactoptionalpropertytypes=false,nouncheckedindexedaccess=false).types @@ -46,7 +46,7 @@ function func(arg: A) { >assertUnreachable(optionalProp) : never > : ^^^^^ >assertUnreachable : (_: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >optionalProp : never > : ^^^^^ } @@ -70,11 +70,11 @@ function func2() { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ switch (optionalProp) { >optionalProp : "hello" @@ -101,7 +101,7 @@ function func2() { >assertUnreachable(optionalProp) : never > : ^^^^^ >assertUnreachable : (_: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >optionalProp : never > : ^^^^^ } diff --git a/tests/baselines/reference/narrowBySwitchDiscriminantUndefinedCase1(exactoptionalpropertytypes=false,nouncheckedindexedaccess=true).types b/tests/baselines/reference/narrowBySwitchDiscriminantUndefinedCase1(exactoptionalpropertytypes=false,nouncheckedindexedaccess=true).types index 81a27b4ab9f09..2e59df672031d 100644 --- a/tests/baselines/reference/narrowBySwitchDiscriminantUndefinedCase1(exactoptionalpropertytypes=false,nouncheckedindexedaccess=true).types +++ b/tests/baselines/reference/narrowBySwitchDiscriminantUndefinedCase1(exactoptionalpropertytypes=false,nouncheckedindexedaccess=true).types @@ -46,7 +46,7 @@ function func(arg: A) { >assertUnreachable(optionalProp) : never > : ^^^^^ >assertUnreachable : (_: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >optionalProp : never > : ^^^^^ } @@ -70,11 +70,11 @@ function func2() { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ switch (optionalProp) { >optionalProp : "hello" | undefined @@ -101,7 +101,7 @@ function func2() { >assertUnreachable(optionalProp) : never > : ^^^^^ >assertUnreachable : (_: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >optionalProp : never > : ^^^^^ } diff --git a/tests/baselines/reference/narrowBySwitchDiscriminantUndefinedCase1(exactoptionalpropertytypes=true,nouncheckedindexedaccess=false).types b/tests/baselines/reference/narrowBySwitchDiscriminantUndefinedCase1(exactoptionalpropertytypes=true,nouncheckedindexedaccess=false).types index c479be464e95e..1dabaad4c16e3 100644 --- a/tests/baselines/reference/narrowBySwitchDiscriminantUndefinedCase1(exactoptionalpropertytypes=true,nouncheckedindexedaccess=false).types +++ b/tests/baselines/reference/narrowBySwitchDiscriminantUndefinedCase1(exactoptionalpropertytypes=true,nouncheckedindexedaccess=false).types @@ -46,7 +46,7 @@ function func(arg: A) { >assertUnreachable(optionalProp) : never > : ^^^^^ >assertUnreachable : (_: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >optionalProp : never > : ^^^^^ } @@ -70,11 +70,11 @@ function func2() { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ switch (optionalProp) { >optionalProp : "hello" @@ -101,7 +101,7 @@ function func2() { >assertUnreachable(optionalProp) : never > : ^^^^^ >assertUnreachable : (_: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >optionalProp : never > : ^^^^^ } diff --git a/tests/baselines/reference/narrowBySwitchDiscriminantUndefinedCase1(exactoptionalpropertytypes=true,nouncheckedindexedaccess=true).types b/tests/baselines/reference/narrowBySwitchDiscriminantUndefinedCase1(exactoptionalpropertytypes=true,nouncheckedindexedaccess=true).types index 81a27b4ab9f09..2e59df672031d 100644 --- a/tests/baselines/reference/narrowBySwitchDiscriminantUndefinedCase1(exactoptionalpropertytypes=true,nouncheckedindexedaccess=true).types +++ b/tests/baselines/reference/narrowBySwitchDiscriminantUndefinedCase1(exactoptionalpropertytypes=true,nouncheckedindexedaccess=true).types @@ -46,7 +46,7 @@ function func(arg: A) { >assertUnreachable(optionalProp) : never > : ^^^^^ >assertUnreachable : (_: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >optionalProp : never > : ^^^^^ } @@ -70,11 +70,11 @@ function func2() { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ switch (optionalProp) { >optionalProp : "hello" | undefined @@ -101,7 +101,7 @@ function func2() { >assertUnreachable(optionalProp) : never > : ^^^^^ >assertUnreachable : (_: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >optionalProp : never > : ^^^^^ } diff --git a/tests/baselines/reference/narrowCommaOperatorNestedWithinLHS.types b/tests/baselines/reference/narrowCommaOperatorNestedWithinLHS.types index 57d7a70d09603..35fe0ed9a5ac2 100644 --- a/tests/baselines/reference/narrowCommaOperatorNestedWithinLHS.types +++ b/tests/baselines/reference/narrowCommaOperatorNestedWithinLHS.types @@ -33,16 +33,16 @@ if (typeof (otherValue(), value).inner === 'number') { > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >(otherValue(), value).inner : string | number > : ^^^^^^^^^^^^^^^ ->(otherValue(), value) : { inner: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->otherValue(), value : { inner: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(otherValue(), value) : { inner: number | string; } +> : ^^^^^^^^^ ^^^ +>otherValue(), value : { inner: number | string; } +> : ^^^^^^^^^ ^^^ >otherValue() : boolean > : ^^^^^^^ >otherValue : () => boolean > : ^^^^^^^^^^^^^ ->value : { inner: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>value : { inner: number | string; } +> : ^^^^^^^^^ ^^^ >inner : string | number > : ^^^^^^^^^^^^^^^ >'number' : "number" @@ -53,8 +53,8 @@ if (typeof (otherValue(), value).inner === 'number') { > : ^^^^^^ >value.inner : number > : ^^^^^^ ->value : { inner: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>value : { inner: number | string; } +> : ^^^^^^^^^ ^^^ >inner : number > : ^^^^^^ @@ -63,16 +63,16 @@ if (typeof (otherValue(), value).inner === 'number') { > : ^^^^^^ >(otherValue(), value).inner : number > : ^^^^^^ ->(otherValue(), value) : { inner: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->otherValue(), value : { inner: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(otherValue(), value) : { inner: number | string; } +> : ^^^^^^^^^ ^^^ +>otherValue(), value : { inner: number | string; } +> : ^^^^^^^^^ ^^^ >otherValue() : boolean > : ^^^^^^^ >otherValue : () => boolean > : ^^^^^^^^^^^^^ ->value : { inner: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>value : { inner: number | string; } +> : ^^^^^^^^^ ^^^ >inner : number > : ^^^^^^ } @@ -81,19 +81,19 @@ if (isNumber((otherValue(), value).inner)) { >isNumber((otherValue(), value).inner) : boolean > : ^^^^^^^ >isNumber : (obj: any) => obj is number -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(otherValue(), value).inner : string | number > : ^^^^^^^^^^^^^^^ ->(otherValue(), value) : { inner: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->otherValue(), value : { inner: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(otherValue(), value) : { inner: number | string; } +> : ^^^^^^^^^ ^^^ +>otherValue(), value : { inner: number | string; } +> : ^^^^^^^^^ ^^^ >otherValue() : boolean > : ^^^^^^^ >otherValue : () => boolean > : ^^^^^^^^^^^^^ ->value : { inner: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>value : { inner: number | string; } +> : ^^^^^^^^^ ^^^ >inner : string | number > : ^^^^^^^^^^^^^^^ @@ -102,8 +102,8 @@ if (isNumber((otherValue(), value).inner)) { > : ^^^^^^ >value.inner : number > : ^^^^^^ ->value : { inner: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>value : { inner: number | string; } +> : ^^^^^^^^^ ^^^ >inner : number > : ^^^^^^ @@ -112,16 +112,16 @@ if (isNumber((otherValue(), value).inner)) { > : ^^^^^^ >(otherValue(), value).inner : number > : ^^^^^^ ->(otherValue(), value) : { inner: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->otherValue(), value : { inner: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(otherValue(), value) : { inner: number | string; } +> : ^^^^^^^^^ ^^^ +>otherValue(), value : { inner: number | string; } +> : ^^^^^^^^^ ^^^ >otherValue() : boolean > : ^^^^^^^ >otherValue : () => boolean > : ^^^^^^^^^^^^^ ->value : { inner: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>value : { inner: number | string; } +> : ^^^^^^^^^ ^^^ >inner : number > : ^^^^^^ } diff --git a/tests/baselines/reference/narrowExceptionVariableInCatchClause.types b/tests/baselines/reference/narrowExceptionVariableInCatchClause.types index 8ab870738989b..c1346f70b6de1 100644 --- a/tests/baselines/reference/narrowExceptionVariableInCatchClause.types +++ b/tests/baselines/reference/narrowExceptionVariableInCatchClause.types @@ -26,7 +26,7 @@ function tryCatch() { >isFooError(err) : boolean > : ^^^^^^^ >isFooError : (x: any) => x is { type: "foo"; dontPanic(): any; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^^ >err : any > : ^^^ @@ -36,7 +36,7 @@ function tryCatch() { >err.dontPanic : () => any > : ^^^^^^^^^ >err : { type: "foo"; dontPanic(): any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ >dontPanic : () => any > : ^^^^^^^^^ @@ -46,7 +46,7 @@ function tryCatch() { >err.doPanic : any > : ^^^ >err : { type: "foo"; dontPanic(): any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ >doPanic : any > : ^^^ } diff --git a/tests/baselines/reference/narrowFromAnyWithInstanceof.types b/tests/baselines/reference/narrowFromAnyWithInstanceof.types index e59b3a87cdd17..0f5237e9c4d2b 100644 --- a/tests/baselines/reference/narrowFromAnyWithInstanceof.types +++ b/tests/baselines/reference/narrowFromAnyWithInstanceof.types @@ -110,11 +110,11 @@ if (x instanceof Date) { >x.getDate() : number > : ^^^^^^ >x.getDate : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : Date > : ^^^^ >getDate : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ x.getHuors(); >x.getHuors() : any diff --git a/tests/baselines/reference/narrowFromAnyWithTypePredicate.types b/tests/baselines/reference/narrowFromAnyWithTypePredicate.types index cd3fc7c97eab3..590dbcb633d1b 100644 --- a/tests/baselines/reference/narrowFromAnyWithTypePredicate.types +++ b/tests/baselines/reference/narrowFromAnyWithTypePredicate.types @@ -40,7 +40,7 @@ if (isFunction(x)) { // 'any' is not narrowed when target type is 'Function' >isFunction(x) : boolean > : ^^^^^^^ >isFunction : (x: any) => x is Function -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >x : any > : ^^^ @@ -83,7 +83,7 @@ if (isObject(x)) { // 'any' is not narrowed when target type is 'Object' >isObject(x) : boolean > : ^^^^^^^ >isObject : (x: any) => x is Object -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >x : any > : ^^^ @@ -108,7 +108,7 @@ if (isAnything(x)) { // 'any' is narrowed to types other than 'Function'/'Object >isAnything(x) : boolean > : ^^^^^^^ >isAnything : (x: any) => x is {} -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >x : any > : ^^^ @@ -133,7 +133,7 @@ if (isError(x)) { >isError(x) : boolean > : ^^^^^^^ >isError : (x: any) => x is Error -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >x : any > : ^^^ @@ -158,7 +158,7 @@ if (isDate(x)) { >isDate(x) : boolean > : ^^^^^^^ >isDate : (x: any) => x is Date -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >x : any > : ^^^ @@ -166,11 +166,11 @@ if (isDate(x)) { >x.getDate() : number > : ^^^^^^ >x.getDate : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : Date > : ^^^^ >getDate : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ x.getHuors(); >x.getHuors() : any diff --git a/tests/baselines/reference/narrowRefinedConstLikeParameterBIndingElementNameInInnerScope.types b/tests/baselines/reference/narrowRefinedConstLikeParameterBIndingElementNameInInnerScope.types index 5eb786b856ac2..b2bf192f8a58b 100644 --- a/tests/baselines/reference/narrowRefinedConstLikeParameterBIndingElementNameInInnerScope.types +++ b/tests/baselines/reference/narrowRefinedConstLikeParameterBIndingElementNameInInnerScope.types @@ -7,7 +7,7 @@ function ff({ a, b }: { a: string | undefined, b: () => void }) { >a : string | undefined > : ^^^^^^^^^^^^^^^^^^ >b : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >a : string | undefined > : ^^^^^^^^^^^^^^^^^^ >b : () => void @@ -25,7 +25,7 @@ function ff({ a, b }: { a: string | undefined, b: () => void }) { >b = () => { const x: string = a; } : () => void > : ^^^^^^^^^^ >b : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >() => { const x: string = a; } : () => void > : ^^^^^^^^^^ diff --git a/tests/baselines/reference/narrowTypeByInstanceof.types b/tests/baselines/reference/narrowTypeByInstanceof.types index a23bef5d06ed4..fa3be7b861774 100644 --- a/tests/baselines/reference/narrowTypeByInstanceof.types +++ b/tests/baselines/reference/narrowTypeByInstanceof.types @@ -62,11 +62,11 @@ if (elementA instanceof FileMatch && elementB instanceof FileMatch) { >elementA.resource() : any > : ^^^ >elementA.resource : () => any -> : ^^^^^^^^^ +> : ^^^^^^ >elementA : FileMatch > : ^^^^^^^^^ >resource : () => any -> : ^^^^^^^^^ +> : ^^^^^^ >path : any > : ^^^ @@ -76,11 +76,11 @@ if (elementA instanceof FileMatch && elementB instanceof FileMatch) { >elementB.resource() : any > : ^^^ >elementB.resource : () => any -> : ^^^^^^^^^ +> : ^^^^^^ >elementB : FileMatch > : ^^^^^^^^^ >resource : () => any -> : ^^^^^^^^^ +> : ^^^^^^ >path : any > : ^^^ @@ -104,20 +104,20 @@ if (elementA instanceof FileMatch && elementB instanceof FileMatch) { >a : any >elementA.range() : any >elementA.range : () => any -> : ^^^^^^^^^ +> : ^^^^^^ >elementA : Match > : ^^^^^ >range : () => any -> : ^^^^^^^^^ +> : ^^^^^^ let b = elementB.range(); >b : any >elementB.range() : any >elementB.range : () => any -> : ^^^^^^^^^ +> : ^^^^^^ >elementB : Match > : ^^^^^ >range : () => any -> : ^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/narrowingAssignmentReadonlyRespectsAssertion.types b/tests/baselines/reference/narrowingAssignmentReadonlyRespectsAssertion.types index 74e591d8fb497..51f63563fe28b 100644 --- a/tests/baselines/reference/narrowingAssignmentReadonlyRespectsAssertion.types +++ b/tests/baselines/reference/narrowingAssignmentReadonlyRespectsAssertion.types @@ -124,7 +124,7 @@ function dataFunc(subFunc: () => T[]): MultiCaseFixture { >subFunc() : T[] > : ^^^ >subFunc : () => T[] -> : ^^^^^^^^^ +> : ^^^^^^ } function testFunc() { @@ -137,15 +137,15 @@ function testFunc() { >dataFunc>(subDataFunc) : MultiCaseFixture> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >dataFunc : (subFunc: () => T[]) => MultiCaseFixture -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >subDataFunc : () => TestCase[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ fixture.cases.forEach(({ val1, val2 }) => { >fixture.cases.forEach(({ val1, val2 }) => { if (Array.isArray(val1)) { // This should retain val1 as being an array const reversedVal1 = val1.slice().reverse(); console.log(reversedVal1); } else { console.log(val1); } console.log(val2); }) : void > : ^^^^ >fixture.cases.forEach : (callbackfn: (value: TestCase, index: number, array: TestCase[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >fixture.cases : TestCase[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >fixture : MultiCaseFixture> @@ -153,7 +153,7 @@ function testFunc() { >cases : TestCase[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >forEach : (callbackfn: (value: TestCase, index: number, array: TestCase[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >({ val1, val2 }) => { if (Array.isArray(val1)) { // This should retain val1 as being an array const reversedVal1 = val1.slice().reverse(); console.log(reversedVal1); } else { console.log(val1); } console.log(val2); } : ({ val1, val2 }: TestCase) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >val1 : string | number | readonly (string | number)[] @@ -165,11 +165,11 @@ function testFunc() { >Array.isArray(val1) : boolean > : ^^^^^^^ >Array.isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >val1 : string | number | readonly (string | number)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -180,27 +180,27 @@ function testFunc() { >val1.slice().reverse() : any[] > : ^^^^^ >val1.slice().reverse : () => any[] -> : ^^^^^^^^^^^ +> : ^^^^^^^^^ >val1.slice() : any[] > : ^^^^^ >val1.slice : (start?: number, end?: number) => any[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^ >val1 : any[] > : ^^^^^ >slice : (start?: number, end?: number) => any[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^ >reverse : () => any[] -> : ^^^^^^^^^^^ +> : ^^^^^^^^^ console.log(reversedVal1); >console.log(reversedVal1) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >reversedVal1 : any[] > : ^^^^^ @@ -209,11 +209,11 @@ function testFunc() { >console.log(val1) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >val1 : string | number | readonly (string | number)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } @@ -221,11 +221,11 @@ function testFunc() { >console.log(val2) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >val2 : readonly (string | number)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/narrowingByDiscriminantInLoop.types b/tests/baselines/reference/narrowingByDiscriminantInLoop.types index 1f78f23655d0f..a6be706681a54 100644 --- a/tests/baselines/reference/narrowingByDiscriminantInLoop.types +++ b/tests/baselines/reference/narrowingByDiscriminantInLoop.types @@ -251,11 +251,11 @@ function f1(x: A | B) { x.prop; >x.prop : { a: string; } | { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >x : A | B > : ^^^^^ >prop : { a: string; } | { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ if (x.kind === true) { >x.kind === true : boolean @@ -273,11 +273,11 @@ function f1(x: A | B) { >x.prop.a : string > : ^^^^^^ >x.prop : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : A > : ^ >prop : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : string > : ^^^^^^ } @@ -297,11 +297,11 @@ function f1(x: A | B) { >x.prop.b : string > : ^^^^^^ >x.prop : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : B > : ^ >prop : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : string > : ^^^^^^ } @@ -330,11 +330,11 @@ function f2(x: A | B) { >x.prop.a : string > : ^^^^^^ >x.prop : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : A > : ^ >prop : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : string > : ^^^^^^ } @@ -352,11 +352,11 @@ function f2(x: A | B) { >x.prop.b : string > : ^^^^^^ >x.prop : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : B > : ^ >prop : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : string > : ^^^^^^ } diff --git a/tests/baselines/reference/narrowingByTypeofInSwitch.types b/tests/baselines/reference/narrowingByTypeofInSwitch.types index 44263196a5ab3..ef91b62d22aa9 100644 --- a/tests/baselines/reference/narrowingByTypeofInSwitch.types +++ b/tests/baselines/reference/narrowingByTypeofInSwitch.types @@ -230,7 +230,7 @@ function testUnion(x: Basic) { function testExtendsUnion(x: T) { >testExtendsUnion : (x: T) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ @@ -541,7 +541,7 @@ function testUnionImplicitDefault(x: Basic) { function testExtendsExplicitDefault(x: T) { >testExtendsExplicitDefault : (x: T) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ @@ -604,7 +604,7 @@ function testExtendsExplicitDefault(x: T) { function testExtendsImplicitDefault(x: T) { >testExtendsImplicitDefault : (x: T) => Basic -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^ >x : T > : ^ @@ -695,11 +695,11 @@ function exhaustiveChecks(x: number | string | L | R): string { >x.toString(2) : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >2 : 2 > : ^ @@ -732,8 +732,8 @@ function exhaustiveChecks(x: number | string | L | R): string { } function exhaustiveChecksGenerics(x: T): string { ->exhaustiveChecksGenerics : (x: T) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +>exhaustiveChecksGenerics : (x: T) => string +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : T > : ^ @@ -749,11 +749,11 @@ function exhaustiveChecksGenerics(x: T): stri >x.toString(2) : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >2 : 2 > : ^ @@ -795,7 +795,7 @@ function exhaustiveChecksGenerics(x: T): stri function multipleGeneric(xy: X | Y): [X, string] | [Y, number] { >multipleGeneric : (xy: X | Y) => [X, string] | [Y, number] -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >xy : X | Y > : ^^^^^ @@ -844,8 +844,8 @@ function multipleGeneric(xy: X | Y): [X, string] | [Y, } function multipleGenericFuse(xy: X | Y): [X, number] | [Y, string] | [(X | Y)] { ->multipleGenericFuse : (xy: X | Y) => [X, number] | [Y, string] | [(X | Y)] -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +>multipleGenericFuse : (xy: X | Y) => [X, number] | [Y, string] | [(X | Y)] +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >xy : X | Y > : ^^^^^ @@ -887,7 +887,7 @@ function multipleGenericFuse(xy: X | function multipleGenericExhaustive(xy: X | Y): [X, string] | [Y, number] { >multipleGenericExhaustive : (xy: X | Y) => [X, string] | [Y, number] -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >xy : X | Y > : ^^^^^ @@ -1193,7 +1193,7 @@ function unknownNarrowing(x: unknown) { function keyofNarrowing(k: keyof S) { >keyofNarrowing : (k: keyof S) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >k : keyof S > : ^^^^^^^ @@ -1626,7 +1626,7 @@ function fallThroughTestWithTempalte(x: string | number | boolean | object) { function keyofNarrowingWithTemplate(k: keyof S) { >keyofNarrowingWithTemplate : (k: keyof S) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >k : keyof S > : ^^^^^^^ @@ -1695,8 +1695,8 @@ function keyofNarrowingWithTemplate(k: key /* Both string literals and template literals */ function multipleGenericFuseWithBoth(xy: X | Y): [X, number] | [Y, string] | [(X | Y)] { ->multipleGenericFuseWithBoth : (xy: X | Y) => [X, number] | [Y, string] | [(X | Y)] -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +>multipleGenericFuseWithBoth : (xy: X | Y) => [X, number] | [Y, string] | [(X | Y)] +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >xy : X | Y > : ^^^^^ diff --git a/tests/baselines/reference/narrowingConstrainedTypeParameter.types b/tests/baselines/reference/narrowingConstrainedTypeParameter.types index bb0a464dfa29d..04935903cbe5d 100644 --- a/tests/baselines/reference/narrowingConstrainedTypeParameter.types +++ b/tests/baselines/reference/narrowingConstrainedTypeParameter.types @@ -30,7 +30,7 @@ function isPet(pet: any): pet is Pet { export function speak(pet: TPet, voice: (pet: TPet) => string): string { >speak : (pet: TPet, voice: (pet: TPet) => string) => string -> : ^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >pet : TPet > : ^^^^ >voice : (pet: TPet) => string @@ -44,7 +44,7 @@ export function speak(pet: TPet, voice: (pet: TPet) => string) >isPet(pet) : boolean > : ^^^^^^^ >isPet : (pet: any) => pet is Pet -> : ^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >pet : TPet > : ^^^^ @@ -60,7 +60,7 @@ export function speak(pet: TPet, voice: (pet: TPet) => string) >voice(pet) : string > : ^^^^^^ >voice : (pet: TPet) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >pet : TPet > : ^^^^ } diff --git a/tests/baselines/reference/narrowingConstrainedTypeVariable.types b/tests/baselines/reference/narrowingConstrainedTypeVariable.types index 9dd1b299802e6..7b588f22b1e0e 100644 --- a/tests/baselines/reference/narrowingConstrainedTypeVariable.types +++ b/tests/baselines/reference/narrowingConstrainedTypeVariable.types @@ -9,7 +9,7 @@ class C { } function f1(v: T | string): void { >f1 : (v: T | string) => void -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >v : string | T > : ^^^^^^^^^^ @@ -42,7 +42,7 @@ class D { } function f2(v: T | U) { >f2 : (v: T | U) => void -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >v : T | U > : ^^^^^ @@ -77,7 +77,7 @@ class E { x: string | undefined } function f3(v: T | { x: string }) { >f3 : (v: T | { x: string; }) => void -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >v : T | { x: string; } > : ^^^^^^^^^ ^^^ >x : string @@ -87,7 +87,7 @@ function f3(v: T | { x: string }) { >v instanceof E : boolean > : ^^^^^^^ >v : T | { x: string; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >E : typeof E > : ^^^^^^^^ @@ -104,7 +104,7 @@ function f3(v: T | { x: string }) { >x : string > : ^^^^^^ >v : { x: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ } } diff --git a/tests/baselines/reference/narrowingDestructuring.types b/tests/baselines/reference/narrowingDestructuring.types index 0d90aa2801534..0041dd06ab6d5 100644 --- a/tests/baselines/reference/narrowingDestructuring.types +++ b/tests/baselines/reference/narrowingDestructuring.types @@ -15,7 +15,7 @@ type X = { kind: "a", a: string } | { kind: "b", b: string } function func(value: T) { >func : (value: T) => void -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >value : T > : ^ @@ -35,7 +35,7 @@ function func(value: T) { >value.a : string > : ^^^^^^ >value : { kind: "a"; a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >a : string > : ^^^^^^ @@ -43,14 +43,14 @@ function func(value: T) { >a : string > : ^^^^^^ >value : { kind: "a"; a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ } else { value.b; >value.b : string > : ^^^^^^ >value : { kind: "b"; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >b : string > : ^^^^^^ @@ -58,7 +58,7 @@ function func(value: T) { >b : string > : ^^^^^^ >value : { kind: "b"; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ } } @@ -90,7 +90,7 @@ type Z = { kind: "f", f: { a: number, b: string, c: number } } function func2(value: T) { >func2 : (value: T) => void -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >value : T > : ^ @@ -110,9 +110,9 @@ function func2(value: T) { >f : any > : ^^^ >f1 : { a: number; b: string; c: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >value : { kind: "f"; f: { a: number; b: string; c: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ const { f: { a, ...spread } } = value; >f : any @@ -120,17 +120,17 @@ function func2(value: T) { >a : number > : ^^^^^^ >spread : { b: string; c: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >value : { kind: "f"; f: { a: number; b: string; c: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ value.f; >value.f : { a: number; b: string; c: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >value : { kind: "f"; f: { a: number; b: string; c: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >f : { a: number; b: string; c: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ } else { const { g: { c, ...spread } } = value; @@ -139,23 +139,23 @@ function func2(value: T) { >c : string > : ^^^^^^ >spread : { a: string; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >value : { kind: "g"; g: { a: string; b: number; c: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ value.g; >value.g : { a: string; b: number; c: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >value : { kind: "g"; g: { a: string; b: number; c: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >g : { a: string; b: number; c: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ } } function func3(t: T) { >func3 : (t: T) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ ^^^^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >kind : "a" > : ^^^ >a : string @@ -173,7 +173,7 @@ function func3(t: >t.kind : "a" | "b" > : ^^^^^^^^^ >t : { kind: "a"; a: string; } | { kind: "b"; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ ^^^^^ ^^^ >kind : "a" | "b" > : ^^^^^^^^^ >"a" : "a" @@ -185,31 +185,31 @@ function func3(t: >r1 : Omit > : ^^^^^^^^^^^^^^^ >t : { kind: "a"; a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ const r2 = (({ kind, ...rest }) => rest)(t); >r2 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >(({ kind, ...rest }) => rest)(t) : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >(({ kind, ...rest }) => rest) : ({ kind, ...rest }: { kind: "a"; a: string; }) => { a: string; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^ ^^^ >({ kind, ...rest }) => rest : ({ kind, ...rest }: { kind: "a"; a: string; }) => { a: string; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^ ^^^ >kind : "a" > : ^^^ >rest : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >rest : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >t : { kind: "a"; a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ } } function farr(x: T) { >farr : (x: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ diff --git a/tests/baselines/reference/narrowingInCaseClauseAfterCaseClauseWithReturn.types b/tests/baselines/reference/narrowingInCaseClauseAfterCaseClauseWithReturn.types index b906d8632bd73..bee05ff1bf3e1 100644 --- a/tests/baselines/reference/narrowingInCaseClauseAfterCaseClauseWithReturn.types +++ b/tests/baselines/reference/narrowingInCaseClauseAfterCaseClauseWithReturn.types @@ -29,11 +29,11 @@ function test1(arg: string | undefined) { >arg.toUpperCase() : string > : ^^^^^^ >arg.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >arg : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >"A" : "A" > : ^^^ @@ -47,11 +47,11 @@ function test1(arg: string | undefined) { >arg.toUpperCase() : string > : ^^^^^^ >arg.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >arg : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >"B" : "B" > : ^^^ @@ -61,11 +61,11 @@ function test1(arg: string | undefined) { >arg.toUpperCase() : string > : ^^^^^^ >arg.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >arg : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >"C" : "C" > : ^^^ @@ -75,11 +75,11 @@ function test1(arg: string | undefined) { >arg.toUpperCase() : string > : ^^^^^^ >arg.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >arg : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >"D" : "D" > : ^^^ @@ -119,11 +119,11 @@ function test2(arg: string | undefined) { >arg.toUpperCase() : string > : ^^^^^^ >arg.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >arg : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >"A" : "A" > : ^^^ @@ -133,11 +133,11 @@ function test2(arg: string | undefined) { >arg.toUpperCase() : string > : ^^^^^^ >arg.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >arg : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >"B" : "B" > : ^^^ @@ -147,11 +147,11 @@ function test2(arg: string | undefined) { >arg.toUpperCase() : string > : ^^^^^^ >arg.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >arg : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >"C" : "C" > : ^^^ @@ -165,11 +165,11 @@ function test2(arg: string | undefined) { >arg.toUpperCase() : string > : ^^^^^^ >arg.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >arg : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >"D" : "D" > : ^^^ @@ -223,7 +223,7 @@ function test3( >!bar : boolean > : ^^^^^^^ >bar : { type: "b"; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^^ return; } @@ -232,7 +232,7 @@ function test3( >foo.kind : "a" | "b" | "c" > : ^^^^^^^^^^^^^^^ >foo : { kind: "a"; prop: string; } | { kind: "b"; prop: number; } | { kind: "c"; prop: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ >kind : "a" | "b" | "c" > : ^^^^^^^^^^^^^^^ @@ -245,7 +245,7 @@ function test3( >bar.type : "b" > : ^^^ >bar : { type: "b"; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >type : "b" > : ^^^ diff --git a/tests/baselines/reference/narrowingMutualSubtypes.types b/tests/baselines/reference/narrowingMutualSubtypes.types index a875feac669ee..fdb0711a36788 100644 --- a/tests/baselines/reference/narrowingMutualSubtypes.types +++ b/tests/baselines/reference/narrowingMutualSubtypes.types @@ -151,7 +151,7 @@ function gg1(x: {}) { >isObject1(x) : boolean > : ^^^^^^^ >isObject1 : (value: unknown) => value is Record -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : {} > : ^^ @@ -185,7 +185,7 @@ function gg2(x: Record) { >isObject2(x) : boolean > : ^^^^^^^ >isObject2 : (value: unknown) => value is {} -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : Record > : ^^^^^^^^^^^^^^^^^^^^^^^ @@ -221,7 +221,7 @@ function gg3(x: {}) { >isObject3(x) : boolean > : ^^^^^^^ >isObject3 : (value: unknown) => value is Record -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : {} > : ^^ @@ -255,7 +255,7 @@ function gg4(x: Record) { >isObject4(x) : boolean > : ^^^^^^^ >isObject4 : (value: unknown) => value is {} -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : Record > : ^^^^^^^^^^^^^^^^^^^ @@ -314,7 +314,7 @@ function example(x: Union) { >is(x) : boolean > : ^^^^^^^ >is : (value: T) => value is Self -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : Union > : ^^^^^ @@ -322,7 +322,7 @@ function example(x: Union) { >is(x) : boolean > : ^^^^^^^ >is : (value: T) => value is Self -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : Union > : ^^^^^ @@ -330,7 +330,7 @@ function example(x: Union) { >is(x) : boolean > : ^^^^^^^ >is : (value: T) => value is Self -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : Union > : ^^^^^ @@ -338,7 +338,7 @@ function example(x: Union) { >is(x) : boolean > : ^^^^^^^ >is : (value: T) => value is Self -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : Union > : ^^^^^ @@ -346,7 +346,7 @@ function example(x: Union) { >is(x) : boolean > : ^^^^^^^ >is : (value: T) => value is Self -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : Union > : ^^^^^ @@ -354,7 +354,7 @@ function example(x: Union) { >is(x) : boolean > : ^^^^^^^ >is : (value: T) => value is Self -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : Union > : ^^^^^ @@ -362,7 +362,7 @@ function example(x: Union) { >is(x) : boolean > : ^^^^^^^ >is : (value: T) => value is Self -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : Union > : ^^^^^ @@ -370,7 +370,7 @@ function example(x: Union) { >is(x) : boolean > : ^^^^^^^ >is : (value: T) => value is Self -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : Union > : ^^^^^ @@ -392,11 +392,11 @@ function checksArrayOrObject1(obj: Record | Record[]) >Array.isArray(obj) : boolean > : ^^^^^^^ >Array.isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >obj : Record | Record[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >obj.length : number @@ -428,11 +428,11 @@ function checksArrayOrObject1(obj: Record | Record[]) >console.log(obj[key]) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >obj[key] : any > : ^^^ >obj : any[] | Record[] @@ -466,11 +466,11 @@ function checksArrayOrObject1(obj: Record | Record[]) >console.log(obj[key]) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >obj[key] : any > : ^^^ >obj : any[] | Record @@ -492,11 +492,11 @@ function checksArrayOrObject2(obj: Record | Record[]) >Array.isArray(obj) : boolean > : ^^^^^^^ >Array.isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >obj : Record | Record[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -523,11 +523,11 @@ function checksArrayOrObject2(obj: Record | Record[]) >console.log(obj[key]) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >obj[key] : any > : ^^^ >obj : any[] | Record[] @@ -561,11 +561,11 @@ function checksArrayOrObject2(obj: Record | Record[]) >console.log(obj[key]) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >obj[key] : any > : ^^^ >obj : Record diff --git a/tests/baselines/reference/narrowingNoInfer1.types b/tests/baselines/reference/narrowingNoInfer1.types index 26b25d4da192c..d03abad7733d5 100644 --- a/tests/baselines/reference/narrowingNoInfer1.types +++ b/tests/baselines/reference/narrowingNoInfer1.types @@ -41,13 +41,13 @@ function map(items: readonly A[], f: (a: NoInfer) => B) { >items.map(f) : B[] > : ^^^ >items.map : (callbackfn: (value: A, index: number, array: readonly A[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >items : readonly A[] > : ^^^^^^^^^^^^ >map : (callbackfn: (value: A, index: number, array: readonly A[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >f : (a: NoInfer) => B -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ } const something = map(m, (_) => @@ -58,11 +58,11 @@ const something = map(m, (_) => >map : (items: readonly A[], f: (a: NoInfer) => B) => B[] > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ >m : { result: NoInfer; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^ >(_) => _.result._tag === "a" ? { ..._, result: _.result } : null : (_: NoInfer<{ result: NoInfer; }>) => { result: TaggedA; } | null -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >_ : NoInfer<{ result: NoInfer; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^ _.result._tag === "a" ? { ..._, result: _.result } : null, >_.result._tag === "a" ? { ..._, result: _.result } : null : { result: TaggedA; } | null @@ -74,7 +74,7 @@ const something = map(m, (_) => >_.result : TaggedUnion > : ^^^^^^^^^^^ >_ : { result: NoInfer; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^ >result : TaggedUnion > : ^^^^^^^^^^^ >_tag : "a" | "b" @@ -84,13 +84,13 @@ const something = map(m, (_) => >{ ..._, result: _.result } : { result: TaggedA; } > : ^^^^^^^^^^^^^^^^^^^^ >_ : { result: NoInfer; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^ >result : TaggedA > : ^^^^^^^ >_.result : TaggedA > : ^^^^^^^ >_ : { result: NoInfer; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^ >result : TaggedA > : ^^^^^^^ @@ -112,7 +112,7 @@ test2({ type: 'a' as const }, { type: 'b' as const }, (thing) => { >test2({ type: 'a' as const }, { type: 'b' as const }, (thing) => { if (thing.type === "a") { thing; } else { thing; }}) : void > : ^^^^ >test2 : (a: T1, b: T2, cb: (thing: NoInfer | NoInfer) => void) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{ type: 'a' as const } : { type: "a"; } > : ^^^^^^^^^^^^^^ >type : "a" diff --git a/tests/baselines/reference/narrowingOfDottedNames.types b/tests/baselines/reference/narrowingOfDottedNames.types index 139cbc675ca94..ea36aa2643345 100644 --- a/tests/baselines/reference/narrowingOfDottedNames.types +++ b/tests/baselines/reference/narrowingOfDottedNames.types @@ -77,11 +77,11 @@ function f1(x: A | B) { >x.prop.a : string > : ^^^^^^ >x.prop : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : A > : ^ >prop : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : string > : ^^^^^^ } @@ -97,11 +97,11 @@ function f1(x: A | B) { >x.prop.b : string > : ^^^^^^ >x.prop : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : B > : ^ >prop : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : string > : ^^^^^^ } @@ -122,7 +122,7 @@ function f2(x: A | B) { >isA(x) : boolean > : ^^^^^^^ >isA : (x: any) => x is A -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : A | B > : ^^^^^ @@ -130,11 +130,11 @@ function f2(x: A | B) { >x.prop.a : string > : ^^^^^^ >x.prop : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : A > : ^ >prop : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : string > : ^^^^^^ } @@ -142,7 +142,7 @@ function f2(x: A | B) { >isB(x) : boolean > : ^^^^^^^ >isB : (x: any) => x is B -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : B > : ^ @@ -150,11 +150,11 @@ function f2(x: A | B) { >x.prop.b : string > : ^^^^^^ >x.prop : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : B > : ^ >prop : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : string > : ^^^^^^ } diff --git a/tests/baselines/reference/narrowingOfQualifiedNames.types b/tests/baselines/reference/narrowingOfQualifiedNames.types index 39ffc5f60e8e2..db3c1be7cc581 100644 --- a/tests/baselines/reference/narrowingOfQualifiedNames.types +++ b/tests/baselines/reference/narrowingOfQualifiedNames.types @@ -26,29 +26,29 @@ function init(properties: IProperties) { if (properties.foo) { >properties.foo : { aaa: string; bbb: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ >properties : IProperties > : ^^^^^^^^^^^ >foo : { aaa: string; bbb: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ type FooOK = typeof properties.foo; >FooOK : { aaa: string; bbb: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >properties.foo : { aaa: string; bbb: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >properties : IProperties > : ^^^^^^^^^^^ >foo : { aaa: string; bbb: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ properties.foo; // type is { aaa: string; bbb: string; } >properties.foo : { aaa: string; bbb: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >properties : IProperties > : ^^^^^^^^^^^ >foo : { aaa: string; bbb: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ for (const x of [1, 2, 3]) { >x : number @@ -64,21 +64,21 @@ function init(properties: IProperties) { properties.foo; // type is { aaa: string; bbb: string; } >properties.foo : { aaa: string; bbb: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >properties : IProperties > : ^^^^^^^^^^^ >foo : { aaa: string; bbb: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ type FooOrUndefined = typeof properties.foo; // type should be { aaa: string; bbb: string; } >FooOrUndefined : { aaa: string; bbb: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >properties.foo : { aaa: string; bbb: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >properties : IProperties > : ^^^^^^^^^^^ >foo : { aaa: string; bbb: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ } } } @@ -106,52 +106,52 @@ function init2(foo: DeepOptional) { > : ^^^^^^^^^^^^ if (foo.a) { ->foo.a : { b?: { c?: string | undefined; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo.a : { b?: { c?: string; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ >foo : DeepOptional > : ^^^^^^^^^^^^ ->a : { b?: { c?: string | undefined; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: { c?: string; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ type A = typeof foo.a; ->A : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo.a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>A : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ +>foo.a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ >foo : DeepOptional > : ^^^^^^^^^^^^ ->a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ type B = typeof foo.a.b; ->B : { c?: string | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo.a.b : { c?: string | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo.a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>B : { c?: string; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>foo.a.b : { c?: string; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>foo.a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ >foo : DeepOptional > : ^^^^^^^^^^^^ ->a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { c?: string | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ +>b : { c?: string; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ type C = typeof foo.a.b.c; >C : string | undefined > : ^^^^^^^^^^^^^^^^^^ >foo.a.b.c : string | undefined > : ^^^^^^^^^^^^^^^^^^ ->foo.a.b : { c?: string | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo.a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo.a.b : { c?: string; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>foo.a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ >foo : DeepOptional > : ^^^^^^^^^^^^ ->a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { c?: string | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ +>b : { c?: string; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ >c : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -164,98 +164,98 @@ function init2(foo: DeepOptional) { > : ^ type A = typeof foo.a; ->A : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo.a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>A : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ +>foo.a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ >foo : DeepOptional > : ^^^^^^^^^^^^ ->a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ type B = typeof foo.a.b; ->B : { c?: string | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo.a.b : { c?: string | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo.a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>B : { c?: string; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>foo.a.b : { c?: string; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>foo.a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ >foo : DeepOptional > : ^^^^^^^^^^^^ ->a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { c?: string | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ +>b : { c?: string; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ type C = typeof foo.a.b.c; >C : string | undefined > : ^^^^^^^^^^^^^^^^^^ >foo.a.b.c : string | undefined > : ^^^^^^^^^^^^^^^^^^ ->foo.a.b : { c?: string | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo.a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo.a.b : { c?: string; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>foo.a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ >foo : DeepOptional > : ^^^^^^^^^^^^ ->a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { c?: string | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ +>b : { c?: string; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ >c : string | undefined > : ^^^^^^^^^^^^^^^^^^ if (foo.a.b) { ->foo.a.b : { c?: string | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo.a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo.a.b : { c?: string; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>foo.a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ >foo : DeepOptional > : ^^^^^^^^^^^^ ->a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { c?: string | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ +>b : { c?: string; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ type A = typeof foo.a; ->A : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo.a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>A : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ +>foo.a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ >foo : DeepOptional > : ^^^^^^^^^^^^ ->a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ type B = typeof foo.a.b; ->B : { c?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo.a.b : { c?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo.a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>B : { c?: string; } +> : ^^^^^^ ^^^ +>foo.a.b : { c?: string; } +> : ^^^^^^ ^^^ +>foo.a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ >foo : DeepOptional > : ^^^^^^^^^^^^ ->a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { c?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ +>b : { c?: string; } +> : ^^^^^^ ^^^ type C = typeof foo.a.b.c; >C : string | undefined > : ^^^^^^^^^^^^^^^^^^ >foo.a.b.c : string | undefined > : ^^^^^^^^^^^^^^^^^^ ->foo.a.b : { c?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo.a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo.a.b : { c?: string; } +> : ^^^^^^ ^^^ +>foo.a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ >foo : DeepOptional > : ^^^^^^^^^^^^ ->a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { c?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ +>b : { c?: string; } +> : ^^^^^^ ^^^ >c : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -268,102 +268,102 @@ function init2(foo: DeepOptional) { > : ^ type A = typeof foo.a; ->A : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo.a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>A : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ +>foo.a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ >foo : DeepOptional > : ^^^^^^^^^^^^ ->a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ type B = typeof foo.a.b; ->B : { c?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo.a.b : { c?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo.a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>B : { c?: string; } +> : ^^^^^^ ^^^ +>foo.a.b : { c?: string; } +> : ^^^^^^ ^^^ +>foo.a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ >foo : DeepOptional > : ^^^^^^^^^^^^ ->a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { c?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ +>b : { c?: string; } +> : ^^^^^^ ^^^ type C = typeof foo.a.b.c; >C : string | undefined > : ^^^^^^^^^^^^^^^^^^ >foo.a.b.c : string | undefined > : ^^^^^^^^^^^^^^^^^^ ->foo.a.b : { c?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo.a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo.a.b : { c?: string; } +> : ^^^^^^ ^^^ +>foo.a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ >foo : DeepOptional > : ^^^^^^^^^^^^ ->a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { c?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ +>b : { c?: string; } +> : ^^^^^^ ^^^ >c : string | undefined > : ^^^^^^^^^^^^^^^^^^ if (foo.a.b.c) { >foo.a.b.c : string | undefined > : ^^^^^^^^^^^^^^^^^^ ->foo.a.b : { c?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo.a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo.a.b : { c?: string; } +> : ^^^^^^ ^^^ +>foo.a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ >foo : DeepOptional > : ^^^^^^^^^^^^ ->a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { c?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ +>b : { c?: string; } +> : ^^^^^^ ^^^ >c : string | undefined > : ^^^^^^^^^^^^^^^^^^ type A = typeof foo.a; ->A : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo.a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>A : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ +>foo.a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ >foo : DeepOptional > : ^^^^^^^^^^^^ ->a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ type B = typeof foo.a.b; ->B : { c?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo.a.b : { c?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo.a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>B : { c?: string; } +> : ^^^^^^ ^^^ +>foo.a.b : { c?: string; } +> : ^^^^^^ ^^^ +>foo.a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ >foo : DeepOptional > : ^^^^^^^^^^^^ ->a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { c?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ +>b : { c?: string; } +> : ^^^^^^ ^^^ type C = typeof foo.a.b.c; >C : string > : ^^^^^^ >foo.a.b.c : string > : ^^^^^^ ->foo.a.b : { c?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo.a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo.a.b : { c?: string; } +> : ^^^^^^ ^^^ +>foo.a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ >foo : DeepOptional > : ^^^^^^^^^^^^ ->a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { c?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ +>b : { c?: string; } +> : ^^^^^^ ^^^ >c : string > : ^^^^^^ @@ -376,44 +376,44 @@ function init2(foo: DeepOptional) { > : ^ type A = typeof foo.a; ->A : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo.a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>A : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ +>foo.a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ >foo : DeepOptional > : ^^^^^^^^^^^^ ->a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ type B = typeof foo.a.b; ->B : { c?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo.a.b : { c?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo.a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>B : { c?: string; } +> : ^^^^^^ ^^^ +>foo.a.b : { c?: string; } +> : ^^^^^^ ^^^ +>foo.a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ >foo : DeepOptional > : ^^^^^^^^^^^^ ->a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { c?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ +>b : { c?: string; } +> : ^^^^^^ ^^^ type C = typeof foo.a.b.c; >C : string > : ^^^^^^ >foo.a.b.c : string > : ^^^^^^ ->foo.a.b : { c?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo.a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo.a.b : { c?: string; } +> : ^^^^^^ ^^^ +>foo.a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ >foo : DeepOptional > : ^^^^^^^^^^^^ ->a : { b?: { c?: string | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { c?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: { c?: string; }; } +> : ^^^^^^ ^^^ +>b : { c?: string; } +> : ^^^^^^ ^^^ >c : string > : ^^^^^^ } @@ -452,7 +452,7 @@ type Pet = Fish | Dog; function handleDogBroken(pet: PetType) { >handleDogBroken : (pet: PetType) => void -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >pet : PetType > : ^^^^^^^ diff --git a/tests/baselines/reference/narrowingPastLastAssignment.types b/tests/baselines/reference/narrowingPastLastAssignment.types index 21e6663b9ac77..8161272644be3 100644 --- a/tests/baselines/reference/narrowingPastLastAssignment.types +++ b/tests/baselines/reference/narrowingPastLastAssignment.types @@ -189,7 +189,7 @@ function f4(cond: () => boolean) { >cond() : boolean > : ^^^^^^^ >cond : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ x = "abc"; >x = "abc" : "abc" @@ -250,7 +250,7 @@ function f5(x: string | number, cond: () => boolean) { >cond() : boolean > : ^^^^^^^ >cond : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ x = 1; >x = 1 : 1 @@ -680,11 +680,11 @@ function f12() { >fooMap.get("a") : number[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ >fooMap.get : (key: string) => number[] | undefined -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^ >fooMap : Map > : ^^^^^^^^^^^^^^^^^^^^^ >get : (key: string) => number[] | undefined -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^ >"a" : "a" > : ^^^ @@ -706,11 +706,11 @@ function f12() { >values.forEach(v => foo.push(v)) : void > : ^^^^ >values.forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >values : number[] > : ^^^^^^^^ >forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >v => foo.push(v) : (v: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >v : number @@ -718,11 +718,11 @@ function f12() { >foo.push(v) : number > : ^^^^^^ >foo.push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >foo : number[] > : ^^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >v : number > : ^^^^^^ } diff --git a/tests/baselines/reference/narrowingRestGenericCall.types b/tests/baselines/reference/narrowingRestGenericCall.types index 78a82f4b82f41..8c24b54a62af0 100644 --- a/tests/baselines/reference/narrowingRestGenericCall.types +++ b/tests/baselines/reference/narrowingRestGenericCall.types @@ -13,7 +13,7 @@ interface Slugs { function call(obj: T, cb: (val: T) => void) { >call : (obj: T, cb: (val: T) => void) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >obj : T > : ^ >cb : (val: T) => void @@ -25,7 +25,7 @@ function call(obj: T, cb: (val: T) => void) { >cb(obj) : void > : ^^^^ >cb : (val: T) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >obj : T > : ^ } @@ -38,7 +38,7 @@ call(obj, ({foo, ...rest}) => { >call(obj, ({foo, ...rest}) => { console.log(rest.bar);}) : void > : ^^^^ >call : (obj: T, cb: (val: T) => void) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >obj : Slugs > : ^^^^^ >({foo, ...rest}) => { console.log(rest.bar);} : ({ foo, ...rest }: Slugs) => void @@ -46,21 +46,21 @@ call(obj, ({foo, ...rest}) => { >foo : string > : ^^^^^^ >rest : { bar: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ console.log(rest.bar); >console.log(rest.bar) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >rest.bar : string > : ^^^^^^ >rest : { bar: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >bar : string > : ^^^^^^ diff --git a/tests/baselines/reference/narrowingTruthyObject.types b/tests/baselines/reference/narrowingTruthyObject.types index 4205e0a88d679..fa224c9dd8464 100644 --- a/tests/baselines/reference/narrowingTruthyObject.types +++ b/tests/baselines/reference/narrowingTruthyObject.types @@ -23,11 +23,11 @@ function foo(x: unknown, b: boolean) { >x.toString() : string > : ^^^^^^ >x.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : object | null > : ^^^^^^^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } if (typeof x === 'object' && x) { >typeof x === 'object' && x : false | object | null @@ -47,11 +47,11 @@ function foo(x: unknown, b: boolean) { >x.toString() : string > : ^^^^^^ >x.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : object > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } if (x && typeof x === 'object') { >x && typeof x === 'object' : unknown @@ -71,11 +71,11 @@ function foo(x: unknown, b: boolean) { >x.toString() : string > : ^^^^^^ >x.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : object > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } if (b && x && typeof x === 'object') { >b && x && typeof x === 'object' : unknown @@ -99,11 +99,11 @@ function foo(x: unknown, b: boolean) { >x.toString() : string > : ^^^^^^ >x.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : object > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } if (x && b && typeof x === 'object') { >x && b && typeof x === 'object' : unknown @@ -127,11 +127,11 @@ function foo(x: unknown, b: boolean) { >x.toString() : string > : ^^^^^^ >x.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : object > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } if (x && b && b && typeof x === 'object') { >x && b && b && typeof x === 'object' : unknown @@ -159,11 +159,11 @@ function foo(x: unknown, b: boolean) { >x.toString() : string > : ^^^^^^ >x.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : object > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } if (b && b && x && b && b && typeof x === 'object') { >b && b && x && b && b && typeof x === 'object' : unknown @@ -199,11 +199,11 @@ function foo(x: unknown, b: boolean) { >x.toString() : string > : ^^^^^^ >x.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : object > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } @@ -233,11 +233,11 @@ function f1(x: unknown): any { >x.hasOwnProperty('x') : boolean > : ^^^^^^^ >x.hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : object > : ^^^^^^ >hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'x' : "x" > : ^^^ } diff --git a/tests/baselines/reference/narrowingTypeofDiscriminant.types b/tests/baselines/reference/narrowingTypeofDiscriminant.types index 750ca9b19b454..33e2111a90856 100644 --- a/tests/baselines/reference/narrowingTypeofDiscriminant.types +++ b/tests/baselines/reference/narrowingTypeofDiscriminant.types @@ -23,7 +23,7 @@ function f1(obj: { kind: 'a', data: string } | { kind: 1, data: number }) { >obj.kind : "a" | 1 > : ^^^^^^^ >obj : { kind: "a"; data: string; } | { kind: 1; data: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ >kind : "a" | 1 > : ^^^^^^^ >"string" : "string" @@ -31,12 +31,12 @@ function f1(obj: { kind: 'a', data: string } | { kind: 1, data: number }) { obj; // { kind: 'a', data: string } >obj : { kind: "a"; data: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^ } else { obj; // { kind: 1, data: number } >obj : { kind: 1; data: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^ } } @@ -62,7 +62,7 @@ function f2(obj: { kind: 'a', data: string } | { kind: 1, data: number } | undef >obj?.kind : "a" | 1 | undefined > : ^^^^^^^^^^^^^^^^^^^ >obj : { kind: "a"; data: string; } | { kind: 1; data: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^ >kind : "a" | 1 | undefined > : ^^^^^^^^^^^^^^^^^^^ >"string" : "string" @@ -70,12 +70,12 @@ function f2(obj: { kind: 'a', data: string } | { kind: 1, data: number } | undef obj; // { kind: 'a', data: string } >obj : { kind: "a"; data: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^ } else { obj; // { kind: 1, data: number } | undefined >obj : { kind: 1; data: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^ } } @@ -145,8 +145,8 @@ function booleanBad(wrapped: WrappedStringOr | null) { return wrapped.value; >wrapped.value : string > : ^^^^^^ ->wrapped : { value?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>wrapped : { value?: string; } +> : ^^^^^^^^^^ ^^^ >value : string > : ^^^^^^ } @@ -178,8 +178,8 @@ function booleanFixed(wrapped: WrappedStringOr | null) { return wrapped.value; >wrapped.value : string > : ^^^^^^ ->wrapped : { value?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>wrapped : { value?: string; } +> : ^^^^^^^^^^ ^^^ >value : string > : ^^^^^^ } diff --git a/tests/baselines/reference/narrowingTypeofFunction.types b/tests/baselines/reference/narrowingTypeofFunction.types index b4523fa01b0d3..963f10069c4c1 100644 --- a/tests/baselines/reference/narrowingTypeofFunction.types +++ b/tests/baselines/reference/narrowingTypeofFunction.types @@ -77,7 +77,7 @@ function f3(x: { _foo: number } & number) { >typeof x : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { _foo: number; } & number -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^ >"function" : "function" > : ^^^^^^^^^^ diff --git a/tests/baselines/reference/narrowingTypeofObject.types b/tests/baselines/reference/narrowingTypeofObject.types index 39c43c446405f..19632225df374 100644 --- a/tests/baselines/reference/narrowingTypeofObject.types +++ b/tests/baselines/reference/narrowingTypeofObject.types @@ -17,7 +17,7 @@ function test(x: number & { _foo: string }) { >typeof x : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number & { _foo: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^^ >'object' : "object" > : ^^^^^^^^ @@ -41,12 +41,12 @@ function f1(x: F & { foo: number }) { >typeof x : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : F & { foo: number; } -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^ >"object" : "object" > : ^^^^^^^^ x; >x : F & { foo: number; } -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^ } } diff --git a/tests/baselines/reference/narrowingTypeofUndefined1.types b/tests/baselines/reference/narrowingTypeofUndefined1.types index d7e060cc9cee2..fa99e2a936b79 100644 --- a/tests/baselines/reference/narrowingTypeofUndefined1.types +++ b/tests/baselines/reference/narrowingTypeofUndefined1.types @@ -23,11 +23,11 @@ if (typeof a.error === 'undefined') { >typeof a.error : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a.error : { prop: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a : { error: { prop: string; }; result: undefined; } | { error: undefined; result: { prop: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ >error : { prop: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >'undefined' : "undefined" > : ^^^^^^^^^^^ @@ -35,11 +35,11 @@ if (typeof a.error === 'undefined') { >a.result.prop : number > : ^^^^^^ >a.result : { prop: number; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a : { error: { prop: string; }; result: undefined; } | { error: undefined; result: { prop: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ >result : { prop: number; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >prop : number > : ^^^^^^ } @@ -48,11 +48,11 @@ else { >a.error.prop : string > : ^^^^^^ >a.error : { prop: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a : { error: { prop: string; }; result: undefined; } | { error: undefined; result: { prop: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ >error : { prop: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >prop : string > : ^^^^^^ } @@ -63,11 +63,11 @@ if (typeof a.error !== 'undefined') { >typeof a.error : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a.error : { prop: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a : { error: { prop: string; }; result: undefined; } | { error: undefined; result: { prop: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ >error : { prop: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >'undefined' : "undefined" > : ^^^^^^^^^^^ @@ -75,11 +75,11 @@ if (typeof a.error !== 'undefined') { >a.error.prop : string > : ^^^^^^ >a.error : { prop: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a : { error: { prop: string; }; result: undefined; } | { error: undefined; result: { prop: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ >error : { prop: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >prop : string > : ^^^^^^ } @@ -88,11 +88,11 @@ else { >a.result.prop : number > : ^^^^^^ >a.result : { prop: number; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a : { error: { prop: string; }; result: undefined; } | { error: undefined; result: { prop: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ >result : { prop: number; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >prop : number > : ^^^^^^ } diff --git a/tests/baselines/reference/narrowingTypeofUndefined2.types b/tests/baselines/reference/narrowingTypeofUndefined2.types index 4f2292af45971..0f7337722b448 100644 --- a/tests/baselines/reference/narrowingTypeofUndefined2.types +++ b/tests/baselines/reference/narrowingTypeofUndefined2.types @@ -8,8 +8,8 @@ declare function takeArray(arr: Array): void; > : ^^^^^^^^^ function fn | undefined>(arg: T) { ->fn : (arg: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>fn : | undefined>(arg: T) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >arg : T > : ^ @@ -27,7 +27,7 @@ function fn | undefined>(arg: T) { >takeArray(arg) : void > : ^^^^ >takeArray : (arr: Array) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >arg : unknown[] > : ^^^^^^^^^ diff --git a/tests/baselines/reference/narrowingUnionToUnion.types b/tests/baselines/reference/narrowingUnionToUnion.types index 3f5f10e6e31e5..708dfa79387ac 100644 --- a/tests/baselines/reference/narrowingUnionToUnion.types +++ b/tests/baselines/reference/narrowingUnionToUnion.types @@ -23,7 +23,7 @@ function fx1(x: string | number | undefined) { >isFalsy(x) : boolean > : ^^^^^^^ >isFalsy : (value: unknown) => value is Falsy -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string | number | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -43,7 +43,7 @@ function fx2(x: T | undefined) { >isFalsy(x) : boolean > : ^^^^^^^ >isFalsy : (value: unknown) => value is Falsy -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : T | undefined > : ^^^^^^^^^^^^^ @@ -55,7 +55,7 @@ function fx2(x: T | undefined) { function fx3(x: T) { >fx3 : (x: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ @@ -63,7 +63,7 @@ function fx3(x: T) { >isFalsy(x) : boolean > : ^^^^^^^ >isFalsy : (value: unknown) => value is Falsy -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string | number > : ^^^^^^^^^^^^^^^ @@ -97,13 +97,13 @@ function fx4(obj: { b: number }) { >isA(obj) : boolean > : ^^^^^^^ >isA : (obj: unknown) => obj is { a: false; } | { b: 0; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >obj : { b: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ obj; // { b: 0 } >obj : { b: 0; } -> : ^^^^^^^^^ +> : ^^^^^ ^^^ } } @@ -143,7 +143,7 @@ declare function isXSorY(obj: unknown): obj is XS | Y; function fx5(obj: X | YS, c: typeof XS | typeof Y) { >fx5 : (obj: X | YS, c: typeof XS | typeof Y) => void -> : ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >obj : X | YS > : ^^^^^^ >c : typeof XS | typeof Y @@ -169,7 +169,7 @@ function fx5(obj: X | YS, c: typeof XS | typeof Y) { >isXSorY(obj) : boolean > : ^^^^^^^ >isXSorY : (obj: unknown) => obj is XS | Y -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >obj : X | YS > : ^^^^^^ @@ -196,7 +196,7 @@ function fx10(s: string | undefined) { >isEmptyStrOrUndefined(s) : boolean > : ^^^^^^^ >isEmptyStrOrUndefined : (mixed: any) => mixed is "" | undefined -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >s : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -239,7 +239,7 @@ f1(v1); >f1(v1) : void > : ^^^^ >f1 : (x: any) => asserts x is number | undefined -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >v1 : string | number | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -260,7 +260,7 @@ f2(v2); >f2(v2) : void > : ^^^^ >f2 : (x: any) => asserts x is 6 | undefined -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >v2 : string | number | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -322,7 +322,7 @@ const TEST_CASES = [ >isEmptyString(value) : boolean > : ^^^^^^^ >isEmptyString : (value: string) => value is "" -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >value : string > : ^^^^^^ @@ -339,7 +339,7 @@ const TEST_CASES = [ >isMaybeEmptyString(value) : boolean > : ^^^^^^^ >isMaybeEmptyString : (value: string | null | undefined) => value is "" | null | undefined -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >value : string > : ^^^^^^ @@ -363,7 +363,7 @@ const TEST_CASES = [ >isMaybeEmptyString(value) : boolean > : ^^^^^^^ >isMaybeEmptyString : (value: string | null | undefined) => value is "" | null | undefined -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >value : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -387,7 +387,7 @@ const TEST_CASES = [ >isZero(value) : boolean > : ^^^^^^^ >isZero : (value: number) => value is 0 -> : ^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >value : number > : ^^^^^^ @@ -404,7 +404,7 @@ const TEST_CASES = [ >isMaybeZero(value) : boolean > : ^^^^^^^ >isMaybeZero : (value: number | null | undefined) => value is 0 | null | undefined -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >value : number > : ^^^^^^ @@ -428,7 +428,7 @@ const TEST_CASES = [ >isMaybeZero(value) : boolean > : ^^^^^^^ >isMaybeZero : (value: number | null | undefined) => value is 0 | null | undefined -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >value : number | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -452,7 +452,7 @@ const TEST_CASES = [ >isEmptyArray(value) : boolean > : ^^^^^^^ >isEmptyArray : (value: T[]) => value is [] -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >value : string[] > : ^^^^^^^^ @@ -469,7 +469,7 @@ const TEST_CASES = [ >isMaybeEmptyArray(value) : boolean > : ^^^^^^^ >isMaybeEmptyArray : (value: T[] | null | undefined) => value is [] | null | undefined -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >value : string[] > : ^^^^^^^^ @@ -493,7 +493,7 @@ const TEST_CASES = [ >isMaybeEmptyArray(value) : boolean > : ^^^^^^^ >isMaybeEmptyArray : (value: T[] | null | undefined) => value is [] | null | undefined -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >value : string[] | undefined > : ^^^^^^^^^^^^^^^^^^^^ @@ -552,7 +552,7 @@ if (isEmpty(test)) { >isEmpty(test) : boolean > : ^^^^^^^ >isEmpty : (value: string | EmptyString) => value is EmptyString -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >test : string | null | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -578,7 +578,7 @@ function test1(foo: number | string | boolean) { >assert<1 | string>(foo) : void > : ^^^^ >assert : (value: any) => asserts value is T -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >foo : string | number | boolean > : ^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -689,8 +689,8 @@ function test3(x: unknown) { if (check1(x)) { >check1(x) : boolean > : ^^^^^^^ ->check1 : (x: unknown) => x is string | 0 -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +>check1 : (x: unknown) => x is (string | 0) +> : ^ ^^ ^^^^^ >x : unknown > : ^^^^^^^ @@ -701,8 +701,8 @@ function test3(x: unknown) { if (check2(x)) { >check2(x) : boolean > : ^^^^^^^ ->check2 : (x: unknown) => x is 0 | "hello" -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>check2 : (x: unknown) => x is ("hello" | 0) +> : ^ ^^ ^^^^^ >x : string | 0 > : ^^^^^^^^^^ @@ -731,7 +731,7 @@ function f1x(obj: (string | number)[] | null) { >assertRelationIsNullOrStringArray(obj) : void > : ^^^^ >assertRelationIsNullOrStringArray : (v: (string | number)[] | null) => asserts v is string[] | null -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >obj : (string | number)[] | null > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -780,7 +780,7 @@ isMyDiscriminatedUnion(working) && working.type === 'A' && working.aProp; >isMyDiscriminatedUnion(working) : boolean > : ^^^^^^^ >isMyDiscriminatedUnion : (item: unknown) => item is MyDiscriminatedUnion -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >working : unknown > : ^^^^^^^ >working.type === 'A' : boolean @@ -796,7 +796,7 @@ isMyDiscriminatedUnion(working) && working.type === 'A' && working.aProp; >working.aProp : number > : ^^^^^^ >working : { type: "A"; aProp: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^ >aProp : number > : ^^^^^^ @@ -808,7 +808,7 @@ isMyDiscriminatedUnion(broken) && broken.type === 'A' && broken.aProp; >isMyDiscriminatedUnion(broken) : boolean > : ^^^^^^^ >isMyDiscriminatedUnion : (item: unknown) => item is MyDiscriminatedUnion -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >broken : Record | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >broken.type === 'A' : boolean @@ -824,7 +824,7 @@ isMyDiscriminatedUnion(broken) && broken.type === 'A' && broken.aProp; >broken.aProp : number > : ^^^^^^ >broken : { type: "A"; aProp: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^ >aProp : number > : ^^^^^^ @@ -836,7 +836,7 @@ isMyDiscriminatedUnion(workingAgain) && workingAgain.type === 'A' && workingAgai >isMyDiscriminatedUnion(workingAgain) : boolean > : ^^^^^^^ >isMyDiscriminatedUnion : (item: unknown) => item is MyDiscriminatedUnion -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >workingAgain : unknown > : ^^^^^^^ >workingAgain.type === 'A' : boolean @@ -852,7 +852,7 @@ isMyDiscriminatedUnion(workingAgain) && workingAgain.type === 'A' && workingAgai >workingAgain.aProp : number > : ^^^^^^ >workingAgain : { type: "A"; aProp: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^ >aProp : number > : ^^^^^^ @@ -908,7 +908,7 @@ function example1(value: Union): { type: 'a'; variant: 2 } | null { >value.variant : 1 | 2 > : ^^^^^ >value : { type: "a"; variant: 1; } | { type: "a"; variant: 2; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^ >variant : 1 | 2 > : ^^^^^ >1 : 1 @@ -918,7 +918,7 @@ function example1(value: Union): { type: 'a'; variant: 2 } | null { } return value; >value : { type: "a"; variant: 2; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^ ^^^ } function example2(value: Union): { type: 'a'; variant: 2 } | null { @@ -953,7 +953,7 @@ function example2(value: Union): { type: 'a'; variant: 2 } | null { >value.type : "a" > : ^^^ >value : { type: "a"; variant: 1; } | { type: "a"; variant: 2; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^ >type : "a" > : ^^^ >'a' : "a" @@ -963,7 +963,7 @@ function example2(value: Union): { type: 'a'; variant: 2 } | null { >value.variant : 1 | 2 > : ^^^^^ >value : { type: "a"; variant: 1; } | { type: "a"; variant: 2; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^ >variant : 1 | 2 > : ^^^^^ >1 : 1 @@ -973,7 +973,7 @@ function example2(value: Union): { type: 'a'; variant: 2 } | null { } return value; >value : { type: "a"; variant: 2; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^ ^^^ } function example3(value: Union): { type: 'a'; variant: 2 } | null { @@ -1006,7 +1006,7 @@ function example3(value: Union): { type: 'a'; variant: 2 } | null { >value.type : "a" > : ^^^ >value : { type: "a"; variant: 1; } | { type: "a"; variant: 2; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^ >type : "a" > : ^^^ >value.variant === 1 : boolean @@ -1014,7 +1014,7 @@ function example3(value: Union): { type: 'a'; variant: 2 } | null { >value.variant : 1 | 2 > : ^^^^^ >value : { type: "a"; variant: 1; } | { type: "a"; variant: 2; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^ >variant : 1 | 2 > : ^^^^^ >1 : 1 @@ -1024,6 +1024,6 @@ function example3(value: Union): { type: 'a'; variant: 2 } | null { } return value; >value : { type: "a"; variant: 2; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^ ^^^ } diff --git a/tests/baselines/reference/narrowingUnionWithBang.types b/tests/baselines/reference/narrowingUnionWithBang.types index b1995fcdcec83..6b751d5a69d06 100644 --- a/tests/baselines/reference/narrowingUnionWithBang.types +++ b/tests/baselines/reference/narrowingUnionWithBang.types @@ -84,13 +84,13 @@ if (working.thing!.name !== "Correct") { >working.thing!.name : "Error1" | "Error2" | "Error3" | "Error4" | "Error5" | "Error6" | "Error7" | "Error8" | "Error9" | "Correct" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >working.thing! : { name: "Error1"; message: string; } | { name: "Error2"; message: string; } | { name: "Error3"; message: string; } | { name: "Error4"; message: string; } | { name: "Error5"; message: string; } | { name: "Error6"; message: string; } | { name: "Error7"; message: string; } | { name: "Error8"; message: string; } | { name: "Error9"; message: string; } | { name: "Correct"; id: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^ ^^^ >working.thing : { name: "Error1"; message: string; } | { name: "Error2"; message: string; } | { name: "Error3"; message: string; } | { name: "Error4"; message: string; } | { name: "Error5"; message: string; } | { name: "Error6"; message: string; } | { name: "Error7"; message: string; } | { name: "Error8"; message: string; } | { name: "Error9"; message: string; } | { name: "Correct"; id: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^ >working : WorkingType > : ^^^^^^^^^^^ >thing : { name: "Error1"; message: string; } | { name: "Error2"; message: string; } | { name: "Error3"; message: string; } | { name: "Error4"; message: string; } | { name: "Error5"; message: string; } | { name: "Error6"; message: string; } | { name: "Error7"; message: string; } | { name: "Error8"; message: string; } | { name: "Error9"; message: string; } | { name: "Correct"; id: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^ >name : "Error1" | "Error2" | "Error3" | "Error4" | "Error5" | "Error6" | "Error7" | "Error8" | "Error9" | "Correct" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"Correct" : "Correct" @@ -100,21 +100,21 @@ if (working.thing!.name !== "Correct") { >console.log(working.thing!.message) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >working.thing!.message : string > : ^^^^^^ >working.thing! : { name: "Error1"; message: string; } | { name: "Error2"; message: string; } | { name: "Error3"; message: string; } | { name: "Error4"; message: string; } | { name: "Error5"; message: string; } | { name: "Error6"; message: string; } | { name: "Error7"; message: string; } | { name: "Error8"; message: string; } | { name: "Error9"; message: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^ >working.thing : { name: "Error1"; message: string; } | { name: "Error2"; message: string; } | { name: "Error3"; message: string; } | { name: "Error4"; message: string; } | { name: "Error5"; message: string; } | { name: "Error6"; message: string; } | { name: "Error7"; message: string; } | { name: "Error8"; message: string; } | { name: "Error9"; message: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >working : WorkingType > : ^^^^^^^^^^^ >thing : { name: "Error1"; message: string; } | { name: "Error2"; message: string; } | { name: "Error3"; message: string; } | { name: "Error4"; message: string; } | { name: "Error5"; message: string; } | { name: "Error6"; message: string; } | { name: "Error7"; message: string; } | { name: "Error8"; message: string; } | { name: "Error9"; message: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >message : string > : ^^^^^^ @@ -123,21 +123,21 @@ if (working.thing!.name !== "Correct") { >console.log(working.thing!.id) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >working.thing!.id : string > : ^^^^^^ >working.thing! : { name: "Correct"; id: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^ ^^^ >working.thing : { name: "Correct"; id: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^ ^^^ >working : WorkingType > : ^^^^^^^^^^^ >thing : { name: "Correct"; id: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^ ^^^ >id : string > : ^^^^^^ } @@ -219,13 +219,13 @@ if (borked.thing!.name !== "Correct") { >borked.thing!.name : "Error1" | "Error2" | "Error3" | "Error4" | "Error5" | "Error6" | "Error7" | "Error8" | "Correct" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >borked.thing! : { name: "Error1"; message: string; } | { name: "Error2"; message: string; } | { name: "Error3"; message: string; } | { name: "Error4"; message: string; } | { name: "Error5"; message: string; } | { name: "Error6"; message: string; } | { name: "Error7"; message: string; } | { name: "Error8"; message: string; } | { name: "Correct"; id: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^ ^^^ >borked.thing : { name: "Error1"; message: string; } | { name: "Error2"; message: string; } | { name: "Error3"; message: string; } | { name: "Error4"; message: string; } | { name: "Error5"; message: string; } | { name: "Error6"; message: string; } | { name: "Error7"; message: string; } | { name: "Error8"; message: string; } | { name: "Correct"; id: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^ >borked : BorkedType > : ^^^^^^^^^^ >thing : { name: "Error1"; message: string; } | { name: "Error2"; message: string; } | { name: "Error3"; message: string; } | { name: "Error4"; message: string; } | { name: "Error5"; message: string; } | { name: "Error6"; message: string; } | { name: "Error7"; message: string; } | { name: "Error8"; message: string; } | { name: "Correct"; id: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^ >name : "Error1" | "Error2" | "Error3" | "Error4" | "Error5" | "Error6" | "Error7" | "Error8" | "Correct" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"Correct" : "Correct" @@ -235,21 +235,21 @@ if (borked.thing!.name !== "Correct") { >console.log(borked.thing!.message) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >borked.thing!.message : string > : ^^^^^^ >borked.thing! : { name: "Error1"; message: string; } | { name: "Error2"; message: string; } | { name: "Error3"; message: string; } | { name: "Error4"; message: string; } | { name: "Error5"; message: string; } | { name: "Error6"; message: string; } | { name: "Error7"; message: string; } | { name: "Error8"; message: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^ >borked.thing : { name: "Error1"; message: string; } | { name: "Error2"; message: string; } | { name: "Error3"; message: string; } | { name: "Error4"; message: string; } | { name: "Error5"; message: string; } | { name: "Error6"; message: string; } | { name: "Error7"; message: string; } | { name: "Error8"; message: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >borked : BorkedType > : ^^^^^^^^^^ >thing : { name: "Error1"; message: string; } | { name: "Error2"; message: string; } | { name: "Error3"; message: string; } | { name: "Error4"; message: string; } | { name: "Error5"; message: string; } | { name: "Error6"; message: string; } | { name: "Error7"; message: string; } | { name: "Error8"; message: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >message : string > : ^^^^^^ @@ -258,21 +258,21 @@ if (borked.thing!.name !== "Correct") { >console.log(borked.thing!.id) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >borked.thing!.id : string > : ^^^^^^ >borked.thing! : { name: "Correct"; id: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^ ^^^ >borked.thing : { name: "Correct"; id: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^ >borked : BorkedType > : ^^^^^^^^^^ >thing : { name: "Correct"; id: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^ >id : string > : ^^^^^^ } @@ -354,11 +354,11 @@ if (fixed.thing?.name !== "Correct") { >fixed.thing?.name : "Error1" | "Error2" | "Error3" | "Error4" | "Error5" | "Error6" | "Error7" | "Error8" | "Correct" | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >fixed.thing : { name: "Error1"; message: string; } | { name: "Error2"; message: string; } | { name: "Error3"; message: string; } | { name: "Error4"; message: string; } | { name: "Error5"; message: string; } | { name: "Error6"; message: string; } | { name: "Error7"; message: string; } | { name: "Error8"; message: string; } | { name: "Correct"; id: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^ >fixed : FixedType > : ^^^^^^^^^ >thing : { name: "Error1"; message: string; } | { name: "Error2"; message: string; } | { name: "Error3"; message: string; } | { name: "Error4"; message: string; } | { name: "Error5"; message: string; } | { name: "Error6"; message: string; } | { name: "Error7"; message: string; } | { name: "Error8"; message: string; } | { name: "Correct"; id: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^ >name : "Error1" | "Error2" | "Error3" | "Error4" | "Error5" | "Error6" | "Error7" | "Error8" | "Correct" | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"Correct" : "Correct" @@ -368,21 +368,21 @@ if (fixed.thing?.name !== "Correct") { >console.log(fixed.thing!.message) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >fixed.thing!.message : string > : ^^^^^^ >fixed.thing! : { name: "Error1"; message: string; } | { name: "Error2"; message: string; } | { name: "Error3"; message: string; } | { name: "Error4"; message: string; } | { name: "Error5"; message: string; } | { name: "Error6"; message: string; } | { name: "Error7"; message: string; } | { name: "Error8"; message: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^ >fixed.thing : { name: "Error1"; message: string; } | { name: "Error2"; message: string; } | { name: "Error3"; message: string; } | { name: "Error4"; message: string; } | { name: "Error5"; message: string; } | { name: "Error6"; message: string; } | { name: "Error7"; message: string; } | { name: "Error8"; message: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >fixed : FixedType > : ^^^^^^^^^ >thing : { name: "Error1"; message: string; } | { name: "Error2"; message: string; } | { name: "Error3"; message: string; } | { name: "Error4"; message: string; } | { name: "Error5"; message: string; } | { name: "Error6"; message: string; } | { name: "Error7"; message: string; } | { name: "Error8"; message: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >message : string > : ^^^^^^ @@ -391,19 +391,19 @@ if (fixed.thing?.name !== "Correct") { >console.log(fixed.thing.id) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >fixed.thing.id : string > : ^^^^^^ >fixed.thing : { name: "Correct"; id: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^ ^^^ >fixed : FixedType > : ^^^^^^^^^ >thing : { name: "Correct"; id: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^ ^^^ >id : string > : ^^^^^^ } diff --git a/tests/baselines/reference/narrowingWithNonNullExpression.types b/tests/baselines/reference/narrowingWithNonNullExpression.types index 3d3d7bcae8068..d48e755773283 100644 --- a/tests/baselines/reference/narrowingWithNonNullExpression.types +++ b/tests/baselines/reference/narrowingWithNonNullExpression.types @@ -6,12 +6,12 @@ const m = ''.match(''); > : ^^^^^^^^^^^^^^^^ >''.match('') : RegExpMatchArray > : ^^^^^^^^^^^^^^^^ ->''.match : (regexp: string | RegExp) => RegExpMatchArray -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>''.match : (regexp: string | RegExp) => RegExpMatchArray | null +> : ^ ^^ ^^^^^ >'' : "" > : ^^ ->match : (regexp: string | RegExp) => RegExpMatchArray -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>match : (regexp: string | RegExp) => RegExpMatchArray | null +> : ^ ^^ ^^^^^ >'' : "" > : ^^ diff --git a/tests/baselines/reference/nearbyIdenticalGenericLambdasAssignable.types b/tests/baselines/reference/nearbyIdenticalGenericLambdasAssignable.types index 3bcb77dea275d..11d9cb162fc6b 100644 --- a/tests/baselines/reference/nearbyIdenticalGenericLambdasAssignable.types +++ b/tests/baselines/reference/nearbyIdenticalGenericLambdasAssignable.types @@ -45,9 +45,9 @@ const fC = () => { // Hover display is identical on all of these type TA = typeof fA; >TA : () => { v: T; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >fA : () => { v: T; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ type TB = typeof fB; >TB : () => { v: T; } @@ -71,7 +71,7 @@ declare function accA(x: TA): void; >accA : (x: TA) => void > : ^ ^^ ^^^^^ >x : () => { v: T; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ declare function accB(x: TB): void; >accB : (x: TB) => void @@ -96,19 +96,19 @@ accA(fA); accA(fB); accA(fC); >accA(fA) : void > : ^^^^ >accA : (x: TA) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >fA : () => { v: T; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >accA(fB) : void > : ^^^^ >accA : (x: TA) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >fB : () => { v: T; } > : ^ ^^^^^^^^^^^^ ^^^ >accA(fC) : void > : ^^^^ >accA : (x: TA) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >fC : () => { v: T; } > : ^ ^^^^^^^ @@ -117,19 +117,19 @@ accB(fA); accB(fB); accB(fC); >accB(fA) : void > : ^^^^ >accB : (x: TB) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >fA : () => { v: T; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >accB(fB) : void > : ^^^^ >accB : (x: TB) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >fB : () => { v: T; } > : ^ ^^^^^^^^^^^^ ^^^ >accB(fC) : void > : ^^^^ >accB : (x: TB) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >fC : () => { v: T; } > : ^ ^^^^^^^ @@ -138,19 +138,19 @@ accC(fA); accC(fB); accC(fC); >accC(fA) : void > : ^^^^ >accC : (x: TC) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >fA : () => { v: T; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >accC(fB) : void > : ^^^^ >accC : (x: TC) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >fB : () => { v: T; } > : ^ ^^^^^^^^^^^^ ^^^ >accC(fC) : void > : ^^^^ >accC : (x: TC) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >fC : () => { v: T; } > : ^ ^^^^^^^ @@ -159,19 +159,19 @@ accL(fA); accL(fB); accL(fC); >accL(fA) : void > : ^^^^ >accL : (x: TL) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >fA : () => { v: T; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >accL(fB) : void > : ^^^^ >accL : (x: TL) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >fB : () => { v: T; } > : ^ ^^^^^^^^^^^^ ^^^ >accL(fC) : void > : ^^^^ >accL : (x: TL) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >fC : () => { v: T; } > : ^ ^^^^^^^ diff --git a/tests/baselines/reference/negateOperatorWithAnyOtherType.types b/tests/baselines/reference/negateOperatorWithAnyOtherType.types index 23f367c177457..e0d6fd9727f5f 100644 --- a/tests/baselines/reference/negateOperatorWithAnyOtherType.types +++ b/tests/baselines/reference/negateOperatorWithAnyOtherType.types @@ -127,7 +127,7 @@ var ResultIsNumber5 = -obj; >-obj : number > : ^^^^^^ >obj : () => {} -> : ^^^^^^^^ +> : ^^^^^^ var ResultIsNumber6 = -obj1; >ResultIsNumber6 : number @@ -221,7 +221,7 @@ var ResultIsNumber13 = -foo(); >foo() : any > : ^^^ >foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber14 = -A.foo(); >ResultIsNumber14 : number @@ -231,11 +231,11 @@ var ResultIsNumber14 = -A.foo(); >A.foo() : any > : ^^^ >A.foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ >A : typeof A > : ^^^^^^^^ >foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber15 = -(ANY - ANY1); >ResultIsNumber15 : number diff --git a/tests/baselines/reference/negateOperatorWithBooleanType.types b/tests/baselines/reference/negateOperatorWithBooleanType.types index 1df1b3d2fcd7c..7721ee54ec70b 100644 --- a/tests/baselines/reference/negateOperatorWithBooleanType.types +++ b/tests/baselines/reference/negateOperatorWithBooleanType.types @@ -110,7 +110,7 @@ var ResultIsNumber6 = -foo(); >foo() : boolean > : ^^^^^^^ >foo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber7 = -A.foo(); >ResultIsNumber7 : number @@ -145,7 +145,7 @@ var ResultIsNumber7 = -A.foo(); >foo() : boolean > : ^^^^^^^ >foo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ -true, false; >-true, false : false diff --git a/tests/baselines/reference/negateOperatorWithNumberType.types b/tests/baselines/reference/negateOperatorWithNumberType.types index 0e7bed1ddd172..15e97f716a9f4 100644 --- a/tests/baselines/reference/negateOperatorWithNumberType.types +++ b/tests/baselines/reference/negateOperatorWithNumberType.types @@ -160,7 +160,7 @@ var ResultIsNumber9 = -foo(); >foo() : number > : ^^^^^^ >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber10 = -A.foo(); >ResultIsNumber10 : number @@ -215,7 +215,7 @@ var ResultIsNumber11 = -(NUMBER - NUMBER); >foo() : number > : ^^^^^^ >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ -objA.a; >-objA.a : number diff --git a/tests/baselines/reference/negateOperatorWithStringType.types b/tests/baselines/reference/negateOperatorWithStringType.types index 18976bbe2146c..f1dae72d5b9fc 100644 --- a/tests/baselines/reference/negateOperatorWithStringType.types +++ b/tests/baselines/reference/negateOperatorWithStringType.types @@ -160,7 +160,7 @@ var ResultIsNumber9 = -foo(); >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber10 = -A.foo(); >ResultIsNumber10 : number @@ -198,11 +198,11 @@ var ResultIsNumber12 = -STRING.charAt(0); >STRING.charAt(0) : string > : ^^^^^^ >STRING.charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >STRING : string > : ^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ @@ -231,7 +231,7 @@ var ResultIsNumber12 = -STRING.charAt(0); >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ -objA.a,M.n; >-objA.a,M.n : string diff --git a/tests/baselines/reference/nestedGenericSpreadInference.types b/tests/baselines/reference/nestedGenericSpreadInference.types index 5db51a87cf209..1d13f4dd71d70 100644 --- a/tests/baselines/reference/nestedGenericSpreadInference.types +++ b/tests/baselines/reference/nestedGenericSpreadInference.types @@ -11,7 +11,7 @@ declare function wrap(x: X): { x: X }; declare function call(x: { x: (...args: A) => T }, ...args: A): T; >call : (x: { x: (...args: A) => T; }, ...args: A) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >x : { x: (...args: A) => T; } > : ^^^^^ ^^^ >x : (...args: A) => T @@ -28,11 +28,11 @@ const leak = call(wrap((x: T) => x), 1); >call(wrap((x: T) => x), 1) : number > : ^^^^^^ >call : (x: { x: (...args: A) => T; }, ...args: A) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >wrap((x: T) => x) : { x: (x: A[0]) => A[0]; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^ >wrap : (x: X) => { x: X; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >(x: T) => x : (x: T) => T > : ^ ^^ ^^ ^^^^^^ >x : T diff --git a/tests/baselines/reference/nestedLoops.types b/tests/baselines/reference/nestedLoops.types index 4a8f16bcca96e..a762de1050d43 100644 --- a/tests/baselines/reference/nestedLoops.types +++ b/tests/baselines/reference/nestedLoops.types @@ -47,11 +47,11 @@ export class Test { >this.aFunction((newValue, oldValue) => { let x = outer + inner + newValue; }) : void > : ^^^^ >this.aFunction : (func: (newValue: any, oldValue: any) => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >aFunction : (func: (newValue: any, oldValue: any) => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >(newValue, oldValue) => { let x = outer + inner + newValue; } : (newValue: any, oldValue: any) => void > : ^ ^^^^^^^ ^^^^^^^^^^^^^^ >newValue : any diff --git a/tests/baselines/reference/nestedModules.types b/tests/baselines/reference/nestedModules.types index ac9a62ea527a1..df7ba930ab5b4 100644 --- a/tests/baselines/reference/nestedModules.types +++ b/tests/baselines/reference/nestedModules.types @@ -97,7 +97,7 @@ var p: { x: number; y: number; } var p: M2.X.Point; >p : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >M2 : any > : ^^^ >X : any diff --git a/tests/baselines/reference/nestedSelf.types b/tests/baselines/reference/nestedSelf.types index a639e17951ccb..19b7e37cfa39f 100644 --- a/tests/baselines/reference/nestedSelf.types +++ b/tests/baselines/reference/nestedSelf.types @@ -21,7 +21,7 @@ module M { >[1,2,3].map((x) => { return this.n * x; }) : number[] > : ^^^^^^^^ >[1,2,3].map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >[1,2,3] : number[] > : ^^^^^^^^ >1 : 1 @@ -31,7 +31,7 @@ module M { >3 : 3 > : ^ >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >(x) => { return this.n * x; } : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/nestedTypeVariableInfersLiteral.types b/tests/baselines/reference/nestedTypeVariableInfersLiteral.types index 7ac5c3dc299a4..c0a7c192aa6b6 100644 --- a/tests/baselines/reference/nestedTypeVariableInfersLiteral.types +++ b/tests/baselines/reference/nestedTypeVariableInfersLiteral.types @@ -4,13 +4,13 @@ // https://github.com/Microsoft/TypeScript/issues/19632 declare function direct(a: A | A[]): Record >direct : (a: A | A[]) => Record -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a : A | A[] > : ^^^^^^^ declare function nested(a: { fields: A }): Record >nested : (a: { fields: A; }) => Record -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a : { fields: A; } > : ^^^^^^^^^^ ^^^ >fields : A @@ -18,7 +18,7 @@ declare function nested(a: { fields: A }): Record declare function nestedUnion(a: { fields: A | A[] }): Record >nestedUnion : (a: { fields: A | A[]; }) => Record -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a : { fields: A | A[]; } > : ^^^^^^^^^^ ^^^ >fields : A | A[] @@ -30,7 +30,7 @@ const directUnionSingle = direct("z") >direct("z") : Record<"z", string> > : ^^^^^^^^^^^^^^^^^^^ >direct : (a: A | A[]) => Record -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >"z" : "z" > : ^^^ @@ -40,7 +40,7 @@ const directUnionArray = direct(["z", "y"]) >direct(["z", "y"]) : Record<"z" | "y", string> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >direct : (a: A | A[]) => Record -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >["z", "y"] : ("z" | "y")[] > : ^^^^^^^^^^^^^ >"z" : "z" @@ -54,7 +54,7 @@ const nestedSingle = nested({fields: "z"}) >nested({fields: "z"}) : Record<"z", string> > : ^^^^^^^^^^^^^^^^^^^ >nested : (a: { fields: A; }) => Record -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{fields: "z"} : { fields: "z"; } > : ^^^^^^^^^^^^^^^^ >fields : "z" @@ -68,7 +68,7 @@ const nestedUnionSingle = nestedUnion({fields: "z"}) >nestedUnion({fields: "z"}) : Record<"z", string> > : ^^^^^^^^^^^^^^^^^^^ >nestedUnion : (a: { fields: A | A[]; }) => Record -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{fields: "z"} : { fields: "z"; } > : ^^^^^^^^^^^^^^^^ >fields : "z" @@ -82,7 +82,7 @@ const nestedUnionArray = nestedUnion({fields: ["z", "y"]}) >nestedUnion({fields: ["z", "y"]}) : Record<"z" | "y", string> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >nestedUnion : (a: { fields: A | A[]; }) => Record -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{fields: ["z", "y"]} : { fields: ("z" | "y")[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >fields : ("z" | "y")[] @@ -106,7 +106,7 @@ hasZField(directUnionSingle) // ok >hasZField(directUnionSingle) : void > : ^^^^ >hasZField : (arg: { z: string; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >directUnionSingle : Record<"z", string> > : ^^^^^^^^^^^^^^^^^^^ @@ -114,7 +114,7 @@ hasZField(directUnionArray) // ok >hasZField(directUnionArray) : void > : ^^^^ >hasZField : (arg: { z: string; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >directUnionArray : Record<"z" | "y", string> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -122,7 +122,7 @@ hasZField(nestedSingle) // ok >hasZField(nestedSingle) : void > : ^^^^ >hasZField : (arg: { z: string; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nestedSingle : Record<"z", string> > : ^^^^^^^^^^^^^^^^^^^ @@ -130,7 +130,7 @@ hasZField(nestedUnionSingle) // ok >hasZField(nestedUnionSingle) : void > : ^^^^ >hasZField : (arg: { z: string; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nestedUnionSingle : Record<"z", string> > : ^^^^^^^^^^^^^^^^^^^ @@ -138,7 +138,7 @@ hasZField(nestedUnionArray) // ok >hasZField(nestedUnionArray) : void > : ^^^^ >hasZField : (arg: { z: string; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nestedUnionArray : Record<"z" | "y", string> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/neverAsDiscriminantType(strict=false).types b/tests/baselines/reference/neverAsDiscriminantType(strict=false).types index 81ef8c6b9a275..57e268fa0127d 100644 --- a/tests/baselines/reference/neverAsDiscriminantType(strict=false).types +++ b/tests/baselines/reference/neverAsDiscriminantType(strict=false).types @@ -35,7 +35,7 @@ function f1(foo: Foo1) { >foo.a : number > : ^^^^^^ >foo : { kind: "a"; a: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >a : number > : ^^^^^^ } @@ -75,7 +75,7 @@ function f2(foo: Foo2) { >foo.a : number > : ^^^^^^ >foo : { kind?: "a"; a: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^ ^^^ >a : number > : ^^^^^^ } @@ -255,11 +255,11 @@ export async function adaptSession(input: GatewayPayload) { >assertMessage : (event: { a: 1; }) => void > : ^ ^^ ^^^^^^^^^ >input.d : { a: 1; } -> : ^^^^^^^^^ +> : ^^^^^ ^^^ >input : GatewayPayloadStructure -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >d : { a: 1; } -> : ^^^^^^^^^ +> : ^^^^^ ^^^ } } diff --git a/tests/baselines/reference/neverAsDiscriminantType(strict=true).types b/tests/baselines/reference/neverAsDiscriminantType(strict=true).types index 5ded1f639ffd8..a951c8c7bca02 100644 --- a/tests/baselines/reference/neverAsDiscriminantType(strict=true).types +++ b/tests/baselines/reference/neverAsDiscriminantType(strict=true).types @@ -35,7 +35,7 @@ function f1(foo: Foo1) { >foo.a : number > : ^^^^^^ >foo : { kind: "a"; a: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >a : number > : ^^^^^^ } @@ -74,8 +74,8 @@ function f2(foo: Foo2) { foo.a; >foo.a : number > : ^^^^^^ ->foo : { kind?: "a" | undefined; a: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { kind?: "a"; a: number; } +> : ^^^^^^^^^ ^^^^^ ^^^ >a : number > : ^^^^^^ } @@ -255,11 +255,11 @@ export async function adaptSession(input: GatewayPayload) { >assertMessage : (event: { a: 1; }) => void > : ^ ^^ ^^^^^^^^^ >input.d : { a: 1; } -> : ^^^^^^^^^ +> : ^^^^^ ^^^ >input : GatewayPayloadStructure -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >d : { a: 1; } -> : ^^^^^^^^^ +> : ^^^^^ ^^^ } } diff --git a/tests/baselines/reference/neverInference.types b/tests/baselines/reference/neverInference.types index cd8cef31fca6a..f2234fd52941f 100644 --- a/tests/baselines/reference/neverInference.types +++ b/tests/baselines/reference/neverInference.types @@ -19,7 +19,7 @@ let a1 = f1([]); // never >f1([]) : never > : ^^^^^ >f1 : (x: T[]) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >[] : never[] > : ^^^^^^^ @@ -29,7 +29,7 @@ let a2 = f1(neverArray); // never >f1(neverArray) : never > : ^^^^^ >f1 : (x: T[]) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >neverArray : never[] > : ^^^^^^^ @@ -83,11 +83,11 @@ const list: LinkedList = mkList([], compareNumbers); >mkList([], compareNumbers) : LinkedList > : ^^^^^^^^^^^^^^^^^^ >mkList : (items: T[], comparator: Comparator) => LinkedList -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >[] : never[] > : ^^^^^^^ >compareNumbers : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ // Repro from #19858 @@ -109,15 +109,15 @@ f2(Array.from([0]), [], (a1, a2) => a1 - a2); >f2(Array.from([0]), [], (a1, a2) => a1 - a2) : void > : ^^^^ >f2 : (as1: a[], as2: a[], cmp: (a1: a, a2: a) => number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Array.from([0]) : number[] > : ^^^^^^^^ ->Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ ->from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >[0] : number[] > : ^^^^^^^^ >0 : 0 @@ -141,15 +141,15 @@ f2(Array.from([]), [0], (a1, a2) => a1 - a2); >f2(Array.from([]), [0], (a1, a2) => a1 - a2) : void > : ^^^^ >f2 : (as1: a[], as2: a[], cmp: (a1: a, a2: a) => number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Array.from([]) : never[] > : ^^^^^^^ ->Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ ->from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >[] : never[] > : ^^^^^^^ >[0] : number[] diff --git a/tests/baselines/reference/neverReturningFunctions1.types b/tests/baselines/reference/neverReturningFunctions1.types index 414d0799fe73f..faf50f8a7557a 100644 --- a/tests/baselines/reference/neverReturningFunctions1.types +++ b/tests/baselines/reference/neverReturningFunctions1.types @@ -32,7 +32,7 @@ function f01(x: string | undefined) { >fail("undefined argument") : never > : ^^^^^ >fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"undefined argument" : "undefined argument" > : ^^^^^^^^^^^^^^^^^^^^ @@ -65,7 +65,7 @@ function f02(x: number): number { >fail("negative number") : never > : ^^^^^ >fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"negative number" : "negative number" > : ^^^^^^^^^^^^^^^^^ @@ -88,7 +88,7 @@ function f03(x: string) { >fail() : never > : ^^^^^ >fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ x; // Unreachable >x : string @@ -115,7 +115,7 @@ function f11(x: string | undefined, fail: (message?: string) => never) { >fail("undefined argument") : never > : ^^^^^ >fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"undefined argument" : "undefined argument" > : ^^^^^^^^^^^^^^^^^^^^ @@ -152,7 +152,7 @@ function f12(x: number, fail: (message?: string) => never): number { >fail("negative number") : never > : ^^^^^ >fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"negative number" : "negative number" > : ^^^^^^^^^^^^^^^^^ @@ -179,7 +179,7 @@ function f13(x: string, fail: (message?: string) => never) { >fail() : never > : ^^^^^ >fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ x; // Unreachable >x : string @@ -213,11 +213,11 @@ function f21(x: string | undefined) { >Debug.fail("undefined argument") : never > : ^^^^^ >Debug.fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Debug : typeof Debug > : ^^^^^^^^^^^^ >fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"undefined argument" : "undefined argument" > : ^^^^^^^^^^^^^^^^^^^^ @@ -250,11 +250,11 @@ function f22(x: number): number { >Debug.fail("negative number") : never > : ^^^^^ >Debug.fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Debug : typeof Debug > : ^^^^^^^^^^^^ >fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"negative number" : "negative number" > : ^^^^^^^^^^^^^^^^^ @@ -277,11 +277,11 @@ function f23(x: string) { >Debug.fail() : never > : ^^^^^ >Debug.fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Debug : typeof Debug > : ^^^^^^^^^^^^ >fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ x; // Unreachable >x : string @@ -302,15 +302,15 @@ function f24(x: string) { >((Debug).fail)() : never > : ^^^^^ >((Debug).fail) : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >(Debug).fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >(Debug) : typeof Debug > : ^^^^^^^^^^^^ >Debug : typeof Debug > : ^^^^^^^^^^^^ >fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ x; // Unreachable >x : string @@ -351,11 +351,11 @@ class Test { >this.fail("undefined argument") : never > : ^^^^^ >this.fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >this : this > : ^^^^ >fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"undefined argument" : "undefined argument" > : ^^^^^^^^^^^^^^^^^^^^ @@ -387,11 +387,11 @@ class Test { >this.fail("negative number") : never > : ^^^^^ >this.fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >this : this > : ^^^^ >fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"negative number" : "negative number" > : ^^^^^^^^^^^^^^^^^ @@ -413,11 +413,11 @@ class Test { >this.fail() : never > : ^^^^^ >this.fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >this : this > : ^^^^ >fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ x; // Unreachable >x : string @@ -445,7 +445,7 @@ function f30(x: string | number | undefined) { >fail() : never > : ^^^^^ >fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ x; // Unreachable >x : string | number | undefined @@ -472,7 +472,7 @@ function f30(x: string | number | undefined) { >fail() : never > : ^^^^^ >fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ x; // Unreachable >x : string | number | undefined @@ -487,7 +487,7 @@ function f30(x: string | number | undefined) { >fail() : never > : ^^^^^ >fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ x; // Unreachable >x : string | number | undefined @@ -518,7 +518,7 @@ function f31(x: { a: string | number }) { >x.a : string | number > : ^^^^^^^^^^^^^^^ >x : { a: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : string | number > : ^^^^^^^^^^^^^^^ >"string" : "string" @@ -528,29 +528,29 @@ function f31(x: { a: string | number }) { >fail() : never > : ^^^^^ >fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ x; // Unreachable >x : { a: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ x.a; // Unreachable >x.a : string | number > : ^^^^^^^^^^^^^^^ >x : { a: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : string | number > : ^^^^^^^^^^^^^^^ } x; // { a: string | number } >x : { a: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ x.a; // number >x.a : number > : ^^^^^^ >x : { a: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : number > : ^^^^^^ } @@ -570,7 +570,7 @@ function f40(x: number) { >fail() : never > : ^^^^^ >fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ x; // Unreachable >x : number @@ -585,7 +585,7 @@ function f40(x: number) { >fail() : never > : ^^^^^ >fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ x; // Unreachable >x : number @@ -616,7 +616,7 @@ function f41(x: number) { >fail() : never > : ^^^^^ >fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ x; // Unreachable >x : number @@ -642,7 +642,7 @@ function f42(x: number) { >fail() : never > : ^^^^^ >fail : (message?: string) => never -> : ^ ^^^ ^^^^^^^^^^ +> : ^ ^^^ ^^^^^ x; // Unreachable >x : number @@ -674,31 +674,31 @@ function f43() { const f = [fail]; >f : (() => never)[] -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >[fail] : (() => never)[] -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >fail : () => never -> : ^^^^^^^^^^^ +> : ^^^^^^ fail(); // No effect (missing type annotation) >fail() : never > : ^^^^^ >fail : () => never -> : ^^^^^^^^^^^ +> : ^^^^^^ f[0](); // No effect (not a dotted name) >f[0]() : never > : ^^^^^ >f[0] : () => never -> : ^^^^^^^^^^^ +> : ^^^^^^ >f : (() => never)[] -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >0 : 0 > : ^ f; >f : (() => never)[] -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } // Repro from #33582 @@ -821,7 +821,7 @@ export interface ComponentConstructor { declare function registerComponent( >registerComponent : (name: string, component: ComponentDefinition) => ComponentConstructor -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ name: string, >name : string @@ -843,7 +843,7 @@ const Component = registerComponent('test-component', { >registerComponent('test-component', { schema: { myProperty: { default: [], parse() { return [true]; } }, string: { type: 'string' }, num: 0 }, init() { this.data.num = 0; this.el.setAttribute('custom-attribute', 'custom-value'); }, update() {}, tick() {}, remove() {}, pause() {}, play() {}, multiply(f: number) { // Reference to system because both were registered with the same name. return f * this.data.num * this.system!.data.counter; }}) : ComponentConstructor<{ schema: { myProperty: { default: never[]; parse(): boolean[]; }; string: { type: string; }; num: number; }; init(): void; update(): void; tick(): void; remove(): void; pause(): void; play(): void; multiply(f: number): number; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ >registerComponent : (name: string, component: ComponentDefinition) => ComponentConstructor -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >'test-component' : "test-component" > : ^^^^^^^^^^^^^^^^ >{ schema: { myProperty: { default: [], parse() { return [true]; } }, string: { type: 'string' }, num: 0 }, init() { this.data.num = 0; this.el.setAttribute('custom-attribute', 'custom-value'); }, update() {}, tick() {}, remove() {}, pause() {}, play() {}, multiply(f: number) { // Reference to system because both were registered with the same name. return f * this.data.num * this.system!.data.counter; }} : { schema: { myProperty: { default: never[]; parse(): boolean[]; }; string: { type: string; }; num: number; }; init(): void; update(): void; tick(): void; remove(): void; pause(): void; play(): void; multiply(f: number): number; } @@ -1031,11 +1031,11 @@ class SuperThrowable extends MyThrowable { >super.throw() : never > : ^^^^^ >super.throw : () => never -> : ^^^^^^^^^^^ +> : ^^^^^^ >super : MyThrowable > : ^^^^^^^^^^^ >throw : () => never -> : ^^^^^^^^^^^ +> : ^^^^^^ } ok(): never { >ok : () => never @@ -1045,11 +1045,11 @@ class SuperThrowable extends MyThrowable { >this.throw() : never > : ^^^^^ >this.throw : () => never -> : ^^^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >throw : () => never -> : ^^^^^^^^^^^ +> : ^^^^^^ } } @@ -1081,11 +1081,11 @@ function foo(services: Readonly, s: string | null): string { >services.panic("ouch") : never > : ^^^^^ >services.panic : (message: string) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >services : Readonly > : ^^^^^^^^^^^^^^^^^^ >panic : (message: string) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"ouch" : "ouch" > : ^^^^^^ diff --git a/tests/baselines/reference/neverType.types b/tests/baselines/reference/neverType.types index 4e1b6886c4eb6..9d75ae4fb7027 100644 --- a/tests/baselines/reference/neverType.types +++ b/tests/baselines/reference/neverType.types @@ -39,7 +39,7 @@ function fail() { >error("Something failed") : never > : ^^^^^ >error : (message: string) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"Something failed" : "Something failed" > : ^^^^^^^^^^^^^^^^^^ } @@ -119,7 +119,7 @@ function move1(direction: "up" | "down") { >error("Should never get here") : never > : ^^^^^ >error : (message: string) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"Should never get here" : "Should never get here" > : ^^^^^^^^^^^^^^^^^^^^^^^ } @@ -160,7 +160,7 @@ function move2(direction: "up" | "down") { >error("Should never get here") : never > : ^^^^^ >error : (message: string) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"Should never get here" : "Should never get here" > : ^^^^^^^^^^^^^^^^^^^^^^^ } @@ -179,7 +179,7 @@ function check(x: T | undefined) { >error("Undefined value") : never > : ^^^^^ >error : (message: string) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"Undefined value" : "Undefined value" > : ^^^^^^^^^^^^^^^^^ } @@ -287,7 +287,7 @@ function test(cb: () => string) { >cb() : string > : ^^^^^^ >cb : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ return s; >s : string @@ -302,7 +302,7 @@ let errorCallback = () => error("Error callback"); >error("Error callback") : never > : ^^^^^ >error : (message: string) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"Error callback" : "Error callback" > : ^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/neverTypeErrors1.types b/tests/baselines/reference/neverTypeErrors1.types index 72c3e618e4520..1f5248472c09a 100644 --- a/tests/baselines/reference/neverTypeErrors1.types +++ b/tests/baselines/reference/neverTypeErrors1.types @@ -89,7 +89,7 @@ for (const n of f4()) {} >f4() : never > : ^^^^^ >f4 : () => never -> : ^^^^^^^^^^^ +> : ^^^^^^ for (const n in f4()) {} >n : string @@ -97,7 +97,7 @@ for (const n in f4()) {} >f4() : never > : ^^^^^ >f4 : () => never -> : ^^^^^^^^^^^ +> : ^^^^^^ function f5() { >f5 : () => void diff --git a/tests/baselines/reference/neverTypeErrors2.types b/tests/baselines/reference/neverTypeErrors2.types index 006351edc555a..e67b036827f83 100644 --- a/tests/baselines/reference/neverTypeErrors2.types +++ b/tests/baselines/reference/neverTypeErrors2.types @@ -89,7 +89,7 @@ for (const n of f4()) {} >f4() : never > : ^^^^^ >f4 : () => never -> : ^^^^^^^^^^^ +> : ^^^^^^ for (const n in f4()) {} >n : string @@ -97,7 +97,7 @@ for (const n in f4()) {} >f4() : never > : ^^^^^ >f4 : () => never -> : ^^^^^^^^^^^ +> : ^^^^^^ function f5() { >f5 : () => void diff --git a/tests/baselines/reference/newOperator.types b/tests/baselines/reference/newOperator.types index 91bf97ec29f0f..97a58a096c803 100644 --- a/tests/baselines/reference/newOperator.types +++ b/tests/baselines/reference/newOperator.types @@ -56,7 +56,7 @@ new string; >(new Date()).toString() : string > : ^^^^^^ >(new Date()).toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >(new Date()) : Date > : ^^^^ >new Date() : Date @@ -64,7 +64,7 @@ new string; >Date : DateConstructor > : ^^^^^^^^^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ // Various spacing var t3 = new string[]( ); @@ -141,7 +141,7 @@ new union; >new union : any > : ^^^ >union : { a: string; } | { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ // Error on union with one constructor declare const ctorUnion: { a: string } | (new (a: string) => void) @@ -156,14 +156,14 @@ new ctorUnion(""); >new ctorUnion("") : any > : ^^^ >ctorUnion : { a: string; } | (new (a: string) => void) -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^ ^ >"" : "" > : ^^ // Error on union with incompatible constructors declare const ctorUnion2: (new (a: T) => void) | (new (a: string) => void) ->ctorUnion2 : (new (a: T) => void) | (new (a: string) => void) -> : ^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ ^ +>ctorUnion2 : (new (a: T) => void) | (new (a: string) => void) +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ ^^ ^^^^^ ^ >a : T > : ^ >a : string @@ -172,8 +172,8 @@ declare const ctorUnion2: (new (a: T) => void) | (new (a: s new ctorUnion2(""); >new ctorUnion2("") : any > : ^^^ ->ctorUnion2 : (new (a: T) => void) | (new (a: string) => void) -> : ^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +>ctorUnion2 : (new (a: T) => void) | (new (a: string) => void) +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ ^^ ^^^^^ ^ >"" : "" > : ^^ diff --git a/tests/baselines/reference/newOperatorConformance.types b/tests/baselines/reference/newOperatorConformance.types index 82db4a8315dd4..869134f639ca9 100644 --- a/tests/baselines/reference/newOperatorConformance.types +++ b/tests/baselines/reference/newOperatorConformance.types @@ -81,7 +81,7 @@ var d = new anyCtor; >d : any >new anyCtor : any >anyCtor : new () => any -> : ^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var d: any; >d : any @@ -91,14 +91,14 @@ var d = new anyCtor1(undefined); >d : any >new anyCtor1(undefined) : any >anyCtor1 : new (n: any) => any -> : ^^^^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ // Construct expression of type where apparent type has a construct signature with 0 arguments function newFn1(s: T) { ->newFn1 : number>(s: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +>newFn1 : (s: T) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >s : T > : ^ @@ -117,8 +117,8 @@ function newFn1(s: T) { // Construct expression of type where apparent type has a construct signature with 1 arguments function newFn2(s: T) { ->newFn2 : string>(s: T) => void -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^ ^^^^^^^^^ +>newFn2 : (s: T) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >s : number > : ^^^^^^ >s : T @@ -148,7 +148,7 @@ var t = new fnVoid(); >t : any >new fnVoid() : any >fnVoid : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var t: any; >t : any diff --git a/tests/baselines/reference/newOperatorErrorCases.types b/tests/baselines/reference/newOperatorErrorCases.types index d112f60ccd3dd..5258ba38bb4bb 100644 --- a/tests/baselines/reference/newOperatorErrorCases.types +++ b/tests/baselines/reference/newOperatorErrorCases.types @@ -100,5 +100,5 @@ var s = new fnNumber(); // Error >new fnNumber() : any > : ^^^ >fnNumber : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/newOperatorErrorCases_noImplicitAny.types b/tests/baselines/reference/newOperatorErrorCases_noImplicitAny.types index 640ee7ca59cda..8b3343685bde2 100644 --- a/tests/baselines/reference/newOperatorErrorCases_noImplicitAny.types +++ b/tests/baselines/reference/newOperatorErrorCases_noImplicitAny.types @@ -13,7 +13,7 @@ new fnNumber(); // Error >new fnNumber() : any > : ^^^ >fnNumber : (this: void) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ function fnVoid(this: void): void {} >fnVoid : (this: void) => void @@ -25,7 +25,7 @@ new fnVoid(); // Error >new fnVoid() : any > : ^^^ >fnVoid : (this: void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ function functionVoidNoThis(): void {} >functionVoidNoThis : () => void @@ -35,5 +35,5 @@ new functionVoidNoThis(); // Error >new functionVoidNoThis() : any > : ^^^ >functionVoidNoThis : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/noAsConstNameLookup.types b/tests/baselines/reference/noAsConstNameLookup.types index e91837069a22d..cc0d1ad9a7679 100644 --- a/tests/baselines/reference/noAsConstNameLookup.types +++ b/tests/baselines/reference/noAsConstNameLookup.types @@ -69,7 +69,7 @@ export class FeatureRunner { >this.cleaners.forEach(c => c(this)) : void > : ^^^^ >this.cleaners.forEach : (callbackfn: (value: Cleaner, index: number, array: Cleaner[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >this.cleaners : Cleaner[] > : ^^^^^^^^^ >this : this @@ -77,7 +77,7 @@ export class FeatureRunner { >cleaners : Cleaner[] > : ^^^^^^^^^ >forEach : (callbackfn: (value: Cleaner, index: number, array: Cleaner[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >c => c(this) : (c: Cleaner) => Promise > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >c : Cleaner @@ -116,11 +116,11 @@ new C().f(); >new C().f() : void > : ^^^^ >new C().f : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >new C() : C > : ^^^^^^^^^ >C : typeof C > : ^^^^^^^^ >f : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/noCheckRequiresEmitDeclarationOnly.errors.txt b/tests/baselines/reference/noCheckRequiresEmitDeclarationOnly.errors.txt deleted file mode 100644 index 1256c80887fe2..0000000000000 --- a/tests/baselines/reference/noCheckRequiresEmitDeclarationOnly.errors.txt +++ /dev/null @@ -1,7 +0,0 @@ -error TS5052: Option 'noCheck' cannot be specified without specifying option 'emitDeclarationOnly'. - - -!!! error TS5052: Option 'noCheck' cannot be specified without specifying option 'emitDeclarationOnly'. -==== noCheckRequiresEmitDeclarationOnly.ts (0 errors) ==== - export const a: number = "not ok"; - \ No newline at end of file diff --git a/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInLambda.types b/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInLambda.types index 833c1df364d2f..20a3c525bf99a 100644 --- a/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInLambda.types +++ b/tests/baselines/reference/noCollisionThisExpressionAndLocalVarInLambda.types @@ -3,7 +3,7 @@ === noCollisionThisExpressionAndLocalVarInLambda.ts === declare function alert(message?: any): void; >alert : { (message?: any): void; (message?: any): void; } -> : ^^^ ^^^ ^^^^^^^^^^ ^^^ ^^^ ^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ >message : any var x = { @@ -38,7 +38,7 @@ alert(x.doStuff(x => alert(x))); >alert(x.doStuff(x => alert(x))) : void > : ^^^^ >alert : { (message?: any): void; (message?: any): void; } -> : ^^^ ^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ >x.doStuff(x => alert(x)) : () => any > : ^^^^^^^^^ >x.doStuff : (callback: any) => () => any @@ -53,6 +53,6 @@ alert(x.doStuff(x => alert(x))); >alert(x) : void > : ^^^^ >alert : { (message?: any): void; (message?: any): void; } -> : ^^^ ^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ >x : any diff --git a/tests/baselines/reference/noConstraintInReturnType1.types b/tests/baselines/reference/noConstraintInReturnType1.types index de53c6dadb72c..fda28849f9dc0 100644 --- a/tests/baselines/reference/noConstraintInReturnType1.types +++ b/tests/baselines/reference/noConstraintInReturnType1.types @@ -7,6 +7,6 @@ class List { static empty(): List { return null; } >empty : () => List -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ } diff --git a/tests/baselines/reference/noCrashOnMixin.types b/tests/baselines/reference/noCrashOnMixin.types index fd17fb05b8d6a..cd8a3c173fa37 100644 --- a/tests/baselines/reference/noCrashOnMixin.types +++ b/tests/baselines/reference/noCrashOnMixin.types @@ -23,8 +23,8 @@ type Constructor = new (...args: any[]) => T; > : ^^^^^ function Mixin(Base: TBase) { ->Mixin : >(Base: TBase) => { new (...args: any[]): (Anonymous class); prototype: Mixin.(Anonymous class); } & TBase -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Mixin : (Base: TBase) => { new (...args: any[]): (Anonymous class); prototype: Mixin.(Anonymous class); } & TBase +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Base : TBase > : ^^^^^ @@ -47,8 +47,8 @@ class CrashTrigger extends Mixin(Empty) { > : ^^^^^^^^^^^^ >Mixin(Empty) : Mixin.(Anonymous class) & Empty > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->Mixin : >(Base: TBase) => { new (...args: any[]): (Anonymous class); prototype: Mixin.(Anonymous class); } & TBase -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Mixin : (Base: TBase) => { new (...args: any[]): (Anonymous class); prototype: Mixin.(Anonymous class); } & TBase +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Empty : typeof Empty > : ^^^^^^^^^^^^ diff --git a/tests/baselines/reference/noEmitOnError.js b/tests/baselines/reference/noEmitOnError.js index d6e53fb9d4662..844d502f03530 100644 --- a/tests/baselines/reference/noEmitOnError.js +++ b/tests/baselines/reference/noEmitOnError.js @@ -9,3 +9,9 @@ var x: number = ""; !!!! File noEmitOnError.d.ts missing from original emit, but present in noCheck emit //// [noEmitOnError.d.ts] declare var x: number; + + +!!!! File noEmitOnError.js missing from original emit, but present in noCheck emit +//// [noEmitOnError.js] +var x = ""; +//# sourceMappingURL=noEmitOnError.js.map \ No newline at end of file diff --git a/tests/baselines/reference/noErrorsInCallback.types b/tests/baselines/reference/noErrorsInCallback.types index a99df77bac912..04e5fd113afb8 100644 --- a/tests/baselines/reference/noErrorsInCallback.types +++ b/tests/baselines/reference/noErrorsInCallback.types @@ -23,11 +23,11 @@ var one = new Bar({}); // Error >[].forEach(() => { var two = new Bar({}); // No error?}) : void > : ^^^^ >[].forEach : (callbackfn: (value: any, index: number, array: any[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >[] : undefined[] > : ^^^^^^^^^^^ >forEach : (callbackfn: (value: any, index: number, array: any[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >() => { var two = new Bar({}); // No error?} : () => void > : ^^^^^^^^^^ diff --git a/tests/baselines/reference/noImplicitAnyFunctions.types b/tests/baselines/reference/noImplicitAnyFunctions.types index 6610be8fcc20e..aed60655c1728 100644 --- a/tests/baselines/reference/noImplicitAnyFunctions.types +++ b/tests/baselines/reference/noImplicitAnyFunctions.types @@ -40,7 +40,7 @@ function f5(x: any): any { function f6(x: string, y: number); >f6 : { (x: string, y: number): any; (x: string, y: string): any; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ >y : number @@ -56,7 +56,7 @@ function f6(x: string, y: string): any; function f6(x: string, y) { >f6 : { (x: string, y: number): any; (x: string, y: string): any; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ >y : any diff --git a/tests/baselines/reference/noImplicitAnyInContextuallyTypesFunctionParamter.types b/tests/baselines/reference/noImplicitAnyInContextuallyTypesFunctionParamter.types index cdbe4450dee8a..34f4a4a2cc86b 100644 --- a/tests/baselines/reference/noImplicitAnyInContextuallyTypesFunctionParamter.types +++ b/tests/baselines/reference/noImplicitAnyInContextuallyTypesFunctionParamter.types @@ -15,11 +15,11 @@ regexMatchList.forEach(match => ''.replace(match, '')); >regexMatchList.forEach(match => ''.replace(match, '')) : void > : ^^^^ >regexMatchList.forEach : (callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >regexMatchList : string[] > : ^^^^^^^^ >forEach : (callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >match => ''.replace(match, '') : (match: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >match : string @@ -27,11 +27,11 @@ regexMatchList.forEach(match => ''.replace(match, '')); >''.replace(match, '') : string > : ^^^^^^ >''.replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >'' : "" > : ^^ >replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >match : string > : ^^^^^^ >'' : "" diff --git a/tests/baselines/reference/noImplicitAnyParametersInAmbientClass.types b/tests/baselines/reference/noImplicitAnyParametersInAmbientClass.types index 0bfde68ff3a4e..fa4a2ff05387e 100644 --- a/tests/baselines/reference/noImplicitAnyParametersInAmbientClass.types +++ b/tests/baselines/reference/noImplicitAnyParametersInAmbientClass.types @@ -65,7 +65,7 @@ declare class D_C { // Implicit-'any' errors for x1, y2, x3, and y3. public pub_f8(x1, y1: number): any; >pub_f8 : { (x1: any, y1: number): any; (x2: string, y2: any): any; (x3: any, y3: any): any; } -> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >x1 : any > : ^^^ >y1 : number @@ -73,7 +73,7 @@ declare class D_C { public pub_f8(x2: string, y2): any; >pub_f8 : { (x1: any, y1: number): any; (x2: string, y2: any): any; (x3: any, y3: any): any; } -> : ^^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >x2 : string > : ^^^^^^ >y2 : any @@ -81,7 +81,7 @@ declare class D_C { public pub_f8(x3, y3): any; >pub_f8 : { (x1: any, y1: number): any; (x2: string, y2: any): any; (x3: any, y3: any): any; } -> : ^^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^ +> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >x3 : any > : ^^^ >y3 : any @@ -199,7 +199,7 @@ declare class D_C { // No implicit-'any' errors. private priv_f8(x1, y1: number): any; >priv_f8 : { (x1: any, y1: number): any; (x2: string, y2: any): any; (x3: any, y3: any): any; } -> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >x1 : any > : ^^^ >y1 : number @@ -207,7 +207,7 @@ declare class D_C { private priv_f8(x2: string, y2): any; >priv_f8 : { (x1: any, y1: number): any; (x2: string, y2: any): any; (x3: any, y3: any): any; } -> : ^^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >x2 : string > : ^^^^^^ >y2 : any @@ -215,7 +215,7 @@ declare class D_C { private priv_f8(x3, y3): any; >priv_f8 : { (x1: any, y1: number): any; (x2: string, y2: any): any; (x3: any, y3: any): any; } -> : ^^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^ +> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >x3 : any > : ^^^ >y3 : any diff --git a/tests/baselines/reference/noImplicitAnyParametersInAmbientFunctions.types b/tests/baselines/reference/noImplicitAnyParametersInAmbientFunctions.types index 19f3b9412de69..0c23ddc92f4f1 100644 --- a/tests/baselines/reference/noImplicitAnyParametersInAmbientFunctions.types +++ b/tests/baselines/reference/noImplicitAnyParametersInAmbientFunctions.types @@ -61,7 +61,7 @@ declare function d_f7(x, ...r): void; // Implicit-'any' errors for x1, y2, x3, and y3. declare function d_f8(x1, y1: number): any; >d_f8 : { (x1: any, y1: number): any; (x2: string, y2: any): any; (x3: any, y3: any): any; } -> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >x1 : any > : ^^^ >y1 : number @@ -69,7 +69,7 @@ declare function d_f8(x1, y1: number): any; declare function d_f8(x2: string, y2): any; >d_f8 : { (x1: any, y1: number): any; (x2: string, y2: any): any; (x3: any, y3: any): any; } -> : ^^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >x2 : string > : ^^^^^^ >y2 : any @@ -77,7 +77,7 @@ declare function d_f8(x2: string, y2): any; declare function d_f8(x3, y3): any; >d_f8 : { (x1: any, y1: number): any; (x2: string, y2: any): any; (x3: any, y3: any): any; } -> : ^^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^ +> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >x3 : any > : ^^^ >y3 : any diff --git a/tests/baselines/reference/noImplicitAnyParametersInAmbientModule.types b/tests/baselines/reference/noImplicitAnyParametersInAmbientModule.types index aa0e0cddbf3ca..912acde1947d4 100644 --- a/tests/baselines/reference/noImplicitAnyParametersInAmbientModule.types +++ b/tests/baselines/reference/noImplicitAnyParametersInAmbientModule.types @@ -65,7 +65,7 @@ declare module D_M { // No implicit-'any' errors. function dm_f8(x1, y1: number): any; >dm_f8 : { (x1: any, y1: number): any; (x2: string, y2: any): any; (x3: any, y3: any): any; } -> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >x1 : any > : ^^^ >y1 : number @@ -73,7 +73,7 @@ declare module D_M { function dm_f8(x2: string, y2): any; >dm_f8 : { (x1: any, y1: number): any; (x2: string, y2: any): any; (x3: any, y3: any): any; } -> : ^^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >x2 : string > : ^^^^^^ >y2 : any @@ -81,7 +81,7 @@ declare module D_M { function dm_f8(x3, y3): any; >dm_f8 : { (x1: any, y1: number): any; (x2: string, y2: any): any; (x3: any, y3: any): any; } -> : ^^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^ +> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >x3 : any > : ^^^ >y3 : any diff --git a/tests/baselines/reference/noImplicitAnyParametersInBareFunctions.types b/tests/baselines/reference/noImplicitAnyParametersInBareFunctions.types index b41bec9de3907..124f6074f4b3d 100644 --- a/tests/baselines/reference/noImplicitAnyParametersInBareFunctions.types +++ b/tests/baselines/reference/noImplicitAnyParametersInBareFunctions.types @@ -61,7 +61,7 @@ function f7(x, ...r): void { } // Implicit-'any' errors for x1, y2, x3, and y3. function f8(x1, y1: number): any; >f8 : { (x1: any, y1: number): any; (x2: string, y2: any): any; } -> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ >x1 : any > : ^^^ >y1 : number @@ -69,7 +69,7 @@ function f8(x1, y1: number): any; function f8(x2: string, y2): any; >f8 : { (x1: any, y1: number): any; (x2: string, y2: any): any; } -> : ^^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ ^^^ +> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ >x2 : string > : ^^^^^^ >y2 : any @@ -77,7 +77,7 @@ function f8(x2: string, y2): any; function f8(x3, y3): any { } >f8 : { (x1: any, y1: number): any; (x2: string, y2: any): any; } -> : ^^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ >x3 : any > : ^^^ >y3 : any diff --git a/tests/baselines/reference/noImplicitAnyParametersInClass.types b/tests/baselines/reference/noImplicitAnyParametersInClass.types index 02dc1f9547ad7..4d1e85b58556a 100644 --- a/tests/baselines/reference/noImplicitAnyParametersInClass.types +++ b/tests/baselines/reference/noImplicitAnyParametersInClass.types @@ -65,7 +65,7 @@ class C { // Implicit-'any' errors for x1, y2, x3, and y3. public pub_f8(x1, y1: number): any; >pub_f8 : { (x1: any, y1: number): any; (x2: string, y2: any): any; } -> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ >x1 : any > : ^^^ >y1 : number @@ -73,7 +73,7 @@ class C { public pub_f8(x2: string, y2): any; >pub_f8 : { (x1: any, y1: number): any; (x2: string, y2: any): any; } -> : ^^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ ^^^ +> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ >x2 : string > : ^^^^^^ >y2 : any @@ -81,7 +81,7 @@ class C { public pub_f8(x3, y3): any { } >pub_f8 : { (x1: any, y1: number): any; (x2: string, y2: any): any; } -> : ^^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ >x3 : any > : ^^^ >y3 : any @@ -223,7 +223,7 @@ class C { // Implicit-'any' errors for x1, y2, x3, and y3. private priv_f8(x1, y1: number): any; >priv_f8 : { (x1: any, y1: number): any; (x2: string, y2: any): any; } -> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ >x1 : any > : ^^^ >y1 : number @@ -231,7 +231,7 @@ class C { private priv_f8(x2: string, y2): any; >priv_f8 : { (x1: any, y1: number): any; (x2: string, y2: any): any; } -> : ^^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ ^^^ +> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ >x2 : string > : ^^^^^^ >y2 : any @@ -239,7 +239,7 @@ class C { private priv_f8(x3, y3): any { } >priv_f8 : { (x1: any, y1: number): any; (x2: string, y2: any): any; } -> : ^^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ >x3 : any > : ^^^ >y3 : any diff --git a/tests/baselines/reference/noImplicitAnyParametersInInterface.types b/tests/baselines/reference/noImplicitAnyParametersInInterface.types index 4ea9e7e3c8925..519379c60e0c6 100644 --- a/tests/baselines/reference/noImplicitAnyParametersInInterface.types +++ b/tests/baselines/reference/noImplicitAnyParametersInInterface.types @@ -76,7 +76,7 @@ interface I { // Implicit-'any' errors for x1, y2, x3, and y3. f8(x1, y1: number): any; >f8 : { (x1: any, y1: number): any; (x2: string, y2: any): any; (x3: any, y3: any): any; } -> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >x1 : any > : ^^^ >y1 : number @@ -84,7 +84,7 @@ interface I { f8(x2: string, y2): any; >f8 : { (x1: any, y1: number): any; (x2: string, y2: any): any; (x3: any, y3: any): any; } -> : ^^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >x2 : string > : ^^^^^^ >y2 : any @@ -92,7 +92,7 @@ interface I { f8(x3, y3): any; >f8 : { (x1: any, y1: number): any; (x2: string, y2: any): any; (x3: any, y3: any): any; } -> : ^^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^ +> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >x3 : any > : ^^^ >y3 : any diff --git a/tests/baselines/reference/noImplicitAnyParametersInModule.types b/tests/baselines/reference/noImplicitAnyParametersInModule.types index 3c6c12d1a72dd..e20ae7fa333d7 100644 --- a/tests/baselines/reference/noImplicitAnyParametersInModule.types +++ b/tests/baselines/reference/noImplicitAnyParametersInModule.types @@ -65,7 +65,7 @@ module M { // Implicit-'any' errors for x1, y2, x3, and y3. function m_f8(x1, y1: number): any; >m_f8 : { (x1: any, y1: number): any; (x2: string, y2: any): any; } -> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ >x1 : any > : ^^^ >y1 : number @@ -73,7 +73,7 @@ module M { function m_f8(x2: string, y2): any; >m_f8 : { (x1: any, y1: number): any; (x2: string, y2: any): any; } -> : ^^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ ^^^ +> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ >x2 : string > : ^^^^^^ >y2 : any @@ -81,7 +81,7 @@ module M { function m_f8(x3, y3): any { } >m_f8 : { (x1: any, y1: number): any; (x2: string, y2: any): any; } -> : ^^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ >x3 : any > : ^^^ >y3 : any diff --git a/tests/baselines/reference/noImplicitReturnsExclusions.types b/tests/baselines/reference/noImplicitReturnsExclusions.types index beb963670890f..f9e9441f59fed 100644 --- a/tests/baselines/reference/noImplicitReturnsExclusions.types +++ b/tests/baselines/reference/noImplicitReturnsExclusions.types @@ -208,7 +208,7 @@ declare class HistoryItem { interface Thenable { then( >then : { (onfulfilled?: (value: T) => TResult | Thenable, onrejected?: (reason: any) => TResult | Thenable): Thenable; (onfulfilled?: (value: T) => TResult_1 | Thenable, onrejected?: (reason: any) => void): Thenable; } -> : ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ onfulfilled?: (value: T) => TResult | Thenable, >onfulfilled : ((value: T) => TResult | Thenable) | undefined @@ -225,7 +225,7 @@ interface Thenable { ): Thenable; then( >then : { (onfulfilled?: (value: T) => TResult_1 | Thenable, onrejected?: (reason: any) => TResult_1 | Thenable): Thenable; (onfulfilled?: (value: T) => TResult | Thenable, onrejected?: (reason: any) => void): Thenable; } -> : ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ onfulfilled?: (value: T) => TResult | Thenable, >onfulfilled : ((value: T) => TResult | Thenable) | undefined @@ -280,7 +280,7 @@ registerCommand("_references-view.showHistoryItem", async (item) => { // Error, >registerCommand("_references-view.showHistoryItem", async (item) => { // Error, contextual return type of Promise if (item instanceof HistoryItem) { return executeCommand("vscode.open", item.input.location.uri); }}) : void > : ^^^^ >registerCommand : (command: string, callback: (...args: any[]) => any, thisArg?: any) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >"_references-view.showHistoryItem" : "_references-view.showHistoryItem" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >async (item) => { // Error, contextual return type of Promise if (item instanceof HistoryItem) { return executeCommand("vscode.open", item.input.location.uri); }} : (item: any) => Promise @@ -300,21 +300,21 @@ registerCommand("_references-view.showHistoryItem", async (item) => { // Error, >executeCommand("vscode.open", item.input.location.uri) : Thenable > : ^^^^^^^^^^^^^^^^^ >executeCommand : (command: string, ...rest: any[]) => Thenable -> : ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^ >"vscode.open" : "vscode.open" > : ^^^^^^^^^^^^^ >item.input.location.uri : string > : ^^^^^^ >item.input.location : { uri: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >item.input : { location: { uri: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ >item : HistoryItem > : ^^^^^^^^^^^ >input : { location: { uri: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ >location : { uri: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >uri : string > : ^^^^^^ } diff --git a/tests/baselines/reference/noImplicitReturnsInAsync1.types b/tests/baselines/reference/noImplicitReturnsInAsync1.types index 01b8027c58471..82d7c343860ce 100644 --- a/tests/baselines/reference/noImplicitReturnsInAsync1.types +++ b/tests/baselines/reference/noImplicitReturnsInAsync1.types @@ -26,12 +26,12 @@ async function test(isError: boolean = false) { > : ^^^^^^ >Promise.resolve("The test is passed without an error.") : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >"The test is passed without an error." : "The test is passed without an error." > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/noImplicitReturnsWithProtectedBlocks1.types b/tests/baselines/reference/noImplicitReturnsWithProtectedBlocks1.types index 9cde8e5be6e11..5adbbc531a236 100644 --- a/tests/baselines/reference/noImplicitReturnsWithProtectedBlocks1.types +++ b/tests/baselines/reference/noImplicitReturnsWithProtectedBlocks1.types @@ -20,14 +20,14 @@ function main1() : number { >get() : number > : ^^^^^^ >get : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } finally { log("in finally"); >log("in finally") : void > : ^^^^ >log : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"in finally" : "in finally" > : ^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/noImplicitReturnsWithProtectedBlocks2.types b/tests/baselines/reference/noImplicitReturnsWithProtectedBlocks2.types index cc3cdf88c6be9..06dcfe7b4e671 100644 --- a/tests/baselines/reference/noImplicitReturnsWithProtectedBlocks2.types +++ b/tests/baselines/reference/noImplicitReturnsWithProtectedBlocks2.types @@ -20,7 +20,7 @@ function main1() : number { >get() : number > : ^^^^^^ >get : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } catch(e) { >e : any @@ -30,7 +30,7 @@ function main1() : number { >log("in catch") : void > : ^^^^ >log : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"in catch" : "in catch" > : ^^^^^^^^^^ } @@ -39,7 +39,7 @@ function main1() : number { >log("in finally") : void > : ^^^^ >log : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"in finally" : "in finally" > : ^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/noImplicitReturnsWithProtectedBlocks3.types b/tests/baselines/reference/noImplicitReturnsWithProtectedBlocks3.types index 5c55dfbc3591a..9ce851da9cdd2 100644 --- a/tests/baselines/reference/noImplicitReturnsWithProtectedBlocks3.types +++ b/tests/baselines/reference/noImplicitReturnsWithProtectedBlocks3.types @@ -20,7 +20,7 @@ function main1() : number { >get() : number > : ^^^^^^ >get : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } catch(e) { >e : any @@ -30,7 +30,7 @@ function main1() : number { >log("in catch") : void > : ^^^^ >log : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"in catch" : "in catch" > : ^^^^^^^^^^ } diff --git a/tests/baselines/reference/noImplicitSymbolToString.types b/tests/baselines/reference/noImplicitSymbolToString.types index b0e2e81cf3589..38ff31a4858b1 100644 --- a/tests/baselines/reference/noImplicitSymbolToString.types +++ b/tests/baselines/reference/noImplicitSymbolToString.types @@ -66,7 +66,7 @@ type StringOrSymbol = string | symbol; function getKey(key: S) { >getKey : (key: S) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ >key : S > : ^ @@ -79,7 +79,7 @@ function getKey(key: S) { function getKey1(key: S) { >getKey1 : (key: S) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >key : S > : ^ @@ -134,7 +134,7 @@ function getKey1(key: S) { function getKey2(key: S) { >getKey2 : (key: S) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >key : S > : ^ diff --git a/tests/baselines/reference/noInfer.types b/tests/baselines/reference/noInfer.types index 713fc849c0b3b..81317b609675a 100644 --- a/tests/baselines/reference/noInfer.types +++ b/tests/baselines/reference/noInfer.types @@ -81,7 +81,7 @@ type T32 = { [K in keyof NoInfer<{ a: string, b: string }>]: K }; declare function foo1(a: T, b: NoInfer): void >foo1 : (a: T, b: NoInfer) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a : T > : ^ >b : NoInfer @@ -89,7 +89,7 @@ declare function foo1(a: T, b: NoInfer): void declare function foo2(a: T, b: NoInfer[]): void >foo2 : (a: T, b: NoInfer[]) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a : T > : ^ >b : NoInfer[] @@ -97,7 +97,7 @@ declare function foo2(a: T, b: NoInfer[]): void declare function foo3(a: T, b: NoInfer): void >foo3 : (a: T, b: NoInfer) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a : T > : ^ >b : NoInfer @@ -105,7 +105,7 @@ declare function foo3(a: T, b: NoInfer): void declare function foo4(a: T, b: { x: NoInfer }): void >foo4 : (a: T, b: { x: NoInfer; }) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a : T > : ^ >b : { x: NoInfer; } @@ -115,7 +115,7 @@ declare function foo4(a: T, b: { x: NoInfer }): void declare function foo5(a: T, b: NoInfer<{ x: T }>): void >foo5 : (a: T, b: NoInfer<{ x: T; }>) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a : T > : ^ >b : NoInfer<{ x: T; }> @@ -127,7 +127,7 @@ foo1('foo', 'foo') // ok >foo1('foo', 'foo') : void > : ^^^^ >foo1 : (a: T, b: NoInfer) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >'foo' : "foo" > : ^^^^^ >'foo' : "foo" @@ -137,7 +137,7 @@ foo1('foo', 'bar') // error >foo1('foo', 'bar') : void > : ^^^^ >foo1 : (a: T, b: NoInfer) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >'foo' : "foo" > : ^^^^^ >'bar' : "bar" @@ -147,7 +147,7 @@ foo2('foo', ['bar']) // error >foo2('foo', ['bar']) : void > : ^^^^ >foo2 : (a: T, b: NoInfer[]) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >'foo' : "foo" > : ^^^^^ >['bar'] : "bar"[] @@ -159,7 +159,7 @@ foo3('foo', ['bar']) // error >foo3('foo', ['bar']) : void > : ^^^^ >foo3 : (a: T, b: NoInfer) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >'foo' : "foo" > : ^^^^^ >['bar'] : "bar"[] @@ -171,7 +171,7 @@ foo4('foo', { x: 'bar' }) // error >foo4('foo', { x: 'bar' }) : void > : ^^^^ >foo4 : (a: T, b: { x: NoInfer; }) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >'foo' : "foo" > : ^^^^^ >{ x: 'bar' } : { x: "bar"; } @@ -185,7 +185,7 @@ foo5('foo', { x: 'bar' }) // error >foo5('foo', { x: 'bar' }) : void > : ^^^^ >foo5 : (a: T, b: NoInfer<{ x: T; }>) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >'foo' : "foo" > : ^^^^^ >{ x: 'bar' } : { x: "bar"; } @@ -221,7 +221,7 @@ doSomething(new Animal(), () => new Animal()); // ok >doSomething(new Animal(), () => new Animal()) : void > : ^^^^ >doSomething : (value: T, getDefault: () => NoInfer) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >new Animal() : Animal > : ^^^^^^ >Animal : typeof Animal @@ -237,7 +237,7 @@ doSomething(new Animal(), () => new Dog()); // ok >doSomething(new Animal(), () => new Dog()) : void > : ^^^^ >doSomething : (value: T, getDefault: () => NoInfer) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >new Animal() : Animal > : ^^^^^^ >Animal : typeof Animal @@ -253,7 +253,7 @@ doSomething(new Dog(), () => new Animal()); // error >doSomething(new Dog(), () => new Animal()) : void > : ^^^^ >doSomething : (value: T, getDefault: () => NoInfer) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >new Dog() : Dog > : ^^^ >Dog : typeof Dog @@ -277,7 +277,7 @@ assertEqual({ x: 1 }, { x: 3 }); // ok >assertEqual({ x: 1 }, { x: 3 }) : boolean > : ^^^^^^^ >assertEqual : (actual: T, expected: NoInfer) => boolean -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >{ x: 1 } : { x: number; } > : ^^^^^^^^^^^^^^ >x : number @@ -309,7 +309,7 @@ assertEqual(g, { x: 3 }); // error >assertEqual(g, { x: 3 }) : boolean > : ^^^^^^^ >assertEqual : (actual: T, expected: NoInfer) => boolean -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >g : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >{ x: 3 } : { x: number; } @@ -341,9 +341,9 @@ invoke(test, { x: 1, y: 2 }); // error >invoke(test, { x: 1, y: 2 }) : number > : ^^^^^^ >invoke : (func: (value: T) => R, value: NoInfer) => R -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >test : (value: { x: number; }) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ x: 1, y: 2 } : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -359,7 +359,7 @@ test({ x: 1, y: 2 }); // error >test({ x: 1, y: 2 }) : number > : ^^^^^^ >test : (value: { x: number; }) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ x: 1, y: 2 } : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -395,9 +395,9 @@ doWork(comp, { foo: 42 }); // ok >doWork(comp, { foo: 42 }) : void > : ^^^^ >doWork : (Component: Component, props: NoInfer) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >comp : Component<{ foo: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^^^ >{ foo: 42 } : { foo: number; } > : ^^^^^^^^^^^^^^^^ >foo : number @@ -409,9 +409,9 @@ doWork(comp, {}); // error >doWork(comp, {}) : void > : ^^^^ >doWork : (Component: Component, props: NoInfer) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >comp : Component<{ foo: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^^^ >{} : {} > : ^^ @@ -431,7 +431,7 @@ const mutate1 = mutate((a, b) => b); >mutate((a, b) => b) : unknown > : ^^^^^^^ >mutate : (callback: (a: NoInfer, b: number) => T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >(a, b) => b : (a: unknown, b: number) => number > : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >a : unknown diff --git a/tests/baselines/reference/noInferCommonPropertyCheck1.types b/tests/baselines/reference/noInferCommonPropertyCheck1.types index 87977bad96111..af16a58da11d4 100644 --- a/tests/baselines/reference/noInferCommonPropertyCheck1.types +++ b/tests/baselines/reference/noInferCommonPropertyCheck1.types @@ -37,11 +37,11 @@ test1(partialObj1, someObj1); >test1(partialObj1, someObj1) : void > : ^^^^ >test1 : (a: T, b: NoInfer & { prop?: unknown; }) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >partialObj1 : Partial<{ a: unknown; b: unknown; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^ ^^^^ >someObj1 : { x: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ declare function test2( >test2 : (a: T1, b: T2, c: NoInfer & NoInfer) => void @@ -65,13 +65,13 @@ test2(partialObj1, partialObj2, someObj1); >test2(partialObj1, partialObj2, someObj1) : void > : ^^^^ >test2 : (a: T1, b: T2, c: NoInfer & NoInfer) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >partialObj1 : Partial<{ a: unknown; b: unknown; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^ ^^^^ >partialObj2 : Partial<{ c: unknown; d: unknown; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^ ^^^^ >someObj1 : { x: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ declare function test3( >test3 : (a: T1, b: T2, c: NoInfer) => void @@ -95,11 +95,11 @@ test3(partialObj1, partialObj2, someObj1); >test3(partialObj1, partialObj2, someObj1) : void > : ^^^^ >test3 : (a: T1, b: T2, c: NoInfer) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >partialObj1 : Partial<{ a: unknown; b: unknown; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^ ^^^^ >partialObj2 : Partial<{ c: unknown; d: unknown; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^ ^^^^ >someObj1 : { x: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ diff --git a/tests/baselines/reference/noInferRedeclaration.js b/tests/baselines/reference/noInferRedeclaration.js index 46884ddd9f315..a9afd9107f829 100644 --- a/tests/baselines/reference/noInferRedeclaration.js +++ b/tests/baselines/reference/noInferRedeclaration.js @@ -21,4 +21,4 @@ export const g = f; //// [a.d.ts] export declare const f: (x: T, y: NoInfer) => T; //// [b.d.ts] -export declare const g: (x: T, y: NoInfer) => T; +export declare const g: (x: T, y: globalThis.NoInfer) => T; diff --git a/tests/baselines/reference/noInferRedeclaration.types b/tests/baselines/reference/noInferRedeclaration.types index d55c994076b8a..7dd28f82de0b1 100644 --- a/tests/baselines/reference/noInferRedeclaration.types +++ b/tests/baselines/reference/noInferRedeclaration.types @@ -15,16 +15,16 @@ export const f = (x: T, y: NoInfer) => x; === b.ts === import { f } from "./a"; ->f : (x: T, y: NoInfer) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +>f : (x: T, y: globalThis.NoInfer) => T +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^ type NoInfer = T & number; >NoInfer : NoInfer > : ^^^^^^^^^^ export const g = f; ->g : (x: T, y: NoInfer) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ->f : (x: T, y: NoInfer) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +>g : (x: T, y: globalThis.NoInfer) => T +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^ +>f : (x: T, y: globalThis.NoInfer) => T +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^ diff --git a/tests/baselines/reference/noInferUnionExcessPropertyCheck1.types b/tests/baselines/reference/noInferUnionExcessPropertyCheck1.types index 2c30d41d1af64..b1394d0e58c61 100644 --- a/tests/baselines/reference/noInferUnionExcessPropertyCheck1.types +++ b/tests/baselines/reference/noInferUnionExcessPropertyCheck1.types @@ -3,7 +3,7 @@ === noInferUnionExcessPropertyCheck1.ts === declare function test1( >test1 : (a: T, b: NoInfer | (() => NoInfer)) => void -> : ^ ^^^^^^^^^^^^^^ ^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : string > : ^^^^^^ @@ -21,7 +21,7 @@ test1({ x: "foo" }, { x: "bar" }); // no error >test1({ x: "foo" }, { x: "bar" }) : void > : ^^^^ >test1 : (a: T, b: NoInfer | (() => NoInfer)) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >{ x: "foo" } : { x: string; } > : ^^^^^^^^^^^^^^ >x : string @@ -39,7 +39,7 @@ test1({ x: "foo" }, { x: "bar", y: 42 }); // epc error >test1({ x: "foo" }, { x: "bar", y: 42 }) : void > : ^^^^ >test1 : (a: T, b: NoInfer | (() => NoInfer)) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >{ x: "foo" } : { x: string; } > : ^^^^^^^^^^^^^^ >x : string @@ -59,7 +59,7 @@ test1({ x: "foo" }, { x: "bar", y: 42 }); // epc error declare function test2( >test2 : (a: T, b: NoInfer | NoInfer<() => T>) => void -> : ^ ^^^^^^^^^^^^^^ ^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : string > : ^^^^^^ @@ -77,7 +77,7 @@ test2({ x: "foo" }, { x: "bar" }); // no error >test2({ x: "foo" }, { x: "bar" }) : void > : ^^^^ >test2 : (a: T, b: NoInfer | NoInfer<() => T>) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >{ x: "foo" } : { x: string; } > : ^^^^^^^^^^^^^^ >x : string @@ -95,7 +95,7 @@ test2({ x: "foo" }, { x: "bar", y: 42 }); // epc error >test2({ x: "foo" }, { x: "bar", y: 42 }) : void > : ^^^^ >test2 : (a: T, b: NoInfer | NoInfer<() => T>) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >{ x: "foo" } : { x: string; } > : ^^^^^^^^^^^^^^ >x : string @@ -115,7 +115,7 @@ test2({ x: "foo" }, { x: "bar", y: 42 }); // epc error declare function test3( >test3 : (a: T, b: NoInfer T)>) => void -> : ^ ^^^^^^^^^^^^^^ ^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : string > : ^^^^^^ @@ -133,7 +133,7 @@ test3({ x: "foo" }, { x: "bar" }); // no error >test3({ x: "foo" }, { x: "bar" }) : void > : ^^^^ >test3 : (a: T, b: NoInfer T)>) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >{ x: "foo" } : { x: string; } > : ^^^^^^^^^^^^^^ >x : string @@ -151,7 +151,7 @@ test3({ x: "foo" }, { x: "bar", y: 42 }); // epc error >test3({ x: "foo" }, { x: "bar", y: 42 }) : void > : ^^^^ >test3 : (a: T, b: NoInfer T)>) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >{ x: "foo" } : { x: string; } > : ^^^^^^^^^^^^^^ >x : string diff --git a/tests/baselines/reference/noIterationTypeErrorsInCFA.types b/tests/baselines/reference/noIterationTypeErrorsInCFA.types index 9a140916267cb..0e649fb42fd6b 100644 --- a/tests/baselines/reference/noIterationTypeErrorsInCFA.types +++ b/tests/baselines/reference/noIterationTypeErrorsInCFA.types @@ -18,11 +18,11 @@ export function doRemove(dds: F | F[]) { >Array.isArray(dds) : boolean > : ^^^^^^^ >Array.isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >dds : F | F[] > : ^^^^^^^ @@ -46,11 +46,11 @@ export function doRemove(dds: F | F[]) { >n.d() : void > : ^^^^ >n.d : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >n : F > : ^ >d : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } return dds >dds : F[] diff --git a/tests/baselines/reference/noObjectKeysToKeyofT.types b/tests/baselines/reference/noObjectKeysToKeyofT.types index 96ebf10a94c6a..67cdb477bc6a5 100644 --- a/tests/baselines/reference/noObjectKeysToKeyofT.types +++ b/tests/baselines/reference/noObjectKeysToKeyofT.types @@ -7,15 +7,15 @@ Object.keys({ a: 0 }).push("b"); >Object.keys({ a: 0 }).push("b") : number > : ^^^^^^ >Object.keys({ a: 0 }).push : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >Object.keys({ a: 0 }) : string[] > : ^^^^^^^^ >Object.keys : { (o: object): string[]; (o: {}): string[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >keys : { (o: object): string[]; (o: {}): string[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >{ a: 0 } : { a: number; } > : ^^^^^^^^^^^^^^ >a : number @@ -23,7 +23,7 @@ Object.keys({ a: 0 }).push("b"); >0 : 0 > : ^ >push : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >"b" : "b" > : ^^^ diff --git a/tests/baselines/reference/noParameterReassignmentIIFEAnnotated.types b/tests/baselines/reference/noParameterReassignmentIIFEAnnotated.types index ba0799869428f..06137d4dbc86b 100644 --- a/tests/baselines/reference/noParameterReassignmentIIFEAnnotated.types +++ b/tests/baselines/reference/noParameterReassignmentIIFEAnnotated.types @@ -5,19 +5,19 @@ self.importScripts = (function (importScripts) { >self.importScripts = (function (importScripts) { /** * @param {...unknown} rest */ return function () { return importScripts.apply(this, arguments); };})(importScripts) : (...args: unknown[]) => any > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >self.importScripts : (...urls: string[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >self : Window & typeof globalThis > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >importScripts : (...urls: string[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >(function (importScripts) { /** * @param {...unknown} rest */ return function () { return importScripts.apply(this, arguments); };})(importScripts) : (...args: unknown[]) => any > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >(function (importScripts) { /** * @param {...unknown} rest */ return function () { return importScripts.apply(this, arguments); };}) : (importScripts: (...urls: string[]) => void) => (...args: unknown[]) => any -> : ^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >function (importScripts) { /** * @param {...unknown} rest */ return function () { return importScripts.apply(this, arguments); };} : (importScripts: (...urls: string[]) => void) => (...args: unknown[]) => any -> : ^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >importScripts : (...urls: string[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ /** * @param {...unknown} rest @@ -30,11 +30,11 @@ self.importScripts = (function (importScripts) { >importScripts.apply(this, arguments) : any > : ^^^ >importScripts.apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >importScripts : (...urls: string[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >this : any > : ^^^ >arguments : IArguments @@ -43,5 +43,5 @@ self.importScripts = (function (importScripts) { }; })(importScripts); >importScripts : (...urls: string[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/noParameterReassignmentJSIIFE.types b/tests/baselines/reference/noParameterReassignmentJSIIFE.types index 34f6a86f40f6e..d5e593f6f7db7 100644 --- a/tests/baselines/reference/noParameterReassignmentJSIIFE.types +++ b/tests/baselines/reference/noParameterReassignmentJSIIFE.types @@ -5,19 +5,19 @@ self.importScripts = (function (importScripts) { >self.importScripts = (function (importScripts) { return function () { return importScripts.apply(this, arguments); };})(importScripts) : (...args: string[]) => any > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >self.importScripts : (...urls: string[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >self : Window & typeof globalThis > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >importScripts : (...urls: string[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >(function (importScripts) { return function () { return importScripts.apply(this, arguments); };})(importScripts) : (...args: string[]) => any > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >(function (importScripts) { return function () { return importScripts.apply(this, arguments); };}) : (importScripts: (...urls: string[]) => void) => (...args: string[]) => any -> : ^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >function (importScripts) { return function () { return importScripts.apply(this, arguments); };} : (importScripts: (...urls: string[]) => void) => (...args: string[]) => any -> : ^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >importScripts : (...urls: string[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ return function () { >function () { return importScripts.apply(this, arguments); } : (...args: string[]) => any @@ -26,11 +26,11 @@ self.importScripts = (function (importScripts) { return importScripts.apply(this, arguments); >importScripts.apply(this, arguments) : any >importScripts.apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >importScripts : (...urls: string[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >this : any >arguments : IArguments > : ^^^^^^^^^^ @@ -38,5 +38,5 @@ self.importScripts = (function (importScripts) { }; })(importScripts); >importScripts : (...urls: string[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/noSubtypeReduction.types b/tests/baselines/reference/noSubtypeReduction.types index e00145b86db77..03f91c6b50718 100644 --- a/tests/baselines/reference/noSubtypeReduction.types +++ b/tests/baselines/reference/noSubtypeReduction.types @@ -37,13 +37,13 @@ export function F(x: IA | IAB) { for (const el of x.arr) { >el : { A: number; } | { A: number; B: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^ >x.arr : { A: number; }[] | { A: number; B: number; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^ ^^^^^ ^^^^^ >x : IA | IAB > : ^^^^^^^^ >arr : { A: number; }[] | { A: number; B: number; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^ ^^^^^ ^^^^^ if ('A' in el) { } >'A' in el : boolean @@ -51,7 +51,7 @@ export function F(x: IA | IAB) { >'A' : "A" > : ^^^ >el : { A: number; } | { A: number; B: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^ if ('B' in el) { >'B' in el : boolean @@ -59,7 +59,7 @@ export function F(x: IA | IAB) { >'B' : "B" > : ^^^ >el : { A: number; } | { A: number; B: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^ useB(el.B); >useB(el.B) : void @@ -69,7 +69,7 @@ export function F(x: IA | IAB) { >el.B : number > : ^^^^^^ >el : { A: number; B: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >B : number > : ^^^^^^ } diff --git a/tests/baselines/reference/noTypeArgumentOnReturnType1.types b/tests/baselines/reference/noTypeArgumentOnReturnType1.types index 11c001306ea4f..aa78989a9c06c 100644 --- a/tests/baselines/reference/noTypeArgumentOnReturnType1.types +++ b/tests/baselines/reference/noTypeArgumentOnReturnType1.types @@ -6,8 +6,8 @@ class A{ > : ^^^^ foo(): A{ ->foo : () => any -> : ^^^^^^^^^ +>foo : () => A +> : ^^^^^^ return null; } diff --git a/tests/baselines/reference/noUncheckedIndexedAccess.types b/tests/baselines/reference/noUncheckedIndexedAccess.types index 8a437e02b0a4f..35a00a1931b1f 100644 --- a/tests/baselines/reference/noUncheckedIndexedAccess.types +++ b/tests/baselines/reference/noUncheckedIndexedAccess.types @@ -406,7 +406,7 @@ const num_ok5: boolean = numMap[NumericEnum2.A]; // Generics function generic1(arg: T): boolean { >generic1 : (arg: T) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >s : string > : ^^^^^^ >arg : T @@ -423,7 +423,7 @@ function generic1(arg: T): boolean { } function generic2(arg: T): boolean { >generic2 : (arg: T) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >s : string > : ^^^^^^ >arg : T @@ -442,7 +442,7 @@ function generic2(arg: T): boolean { } function generic3(arg: T): boolean { >generic3 : (arg: T) => boolean -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >arg : T > : ^ @@ -471,7 +471,7 @@ obj1["x"]; >obj1["x"] : string > : ^^^^^^ >obj1 : { [key: string]: string | number; x: string; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >"x" : "x" > : ^^^ @@ -485,7 +485,7 @@ obj1[y]; >obj1[y] : number > : ^^^^^^ >obj1 : { [key: string]: string | number; x: string; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >y : "y" > : ^^^ @@ -499,7 +499,7 @@ obj1[yy]; >obj1[yy] : string | number | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >obj1 : { [key: string]: string | number; x: string; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >yy : string > : ^^^^^^ @@ -513,7 +513,7 @@ obj1[z]; >obj1[z] : string | number | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >obj1 : { [key: string]: string | number; x: string; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >z : string > : ^^^^^^ @@ -556,7 +556,7 @@ const e15: string = symbolMap[s]; // Should OK >symbolMap[s] : string > : ^^^^^^ >symbolMap : { [s]: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >s : unique symbol > : ^^^^^^^^^^^^^ @@ -566,7 +566,7 @@ symbolMap[s] = undefined; // Should error >symbolMap[s] : string > : ^^^^^^ >symbolMap : { [s]: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >s : unique symbol > : ^^^^^^^^^^^^^ >undefined : undefined @@ -617,44 +617,44 @@ declare const myRecord2: { a: string; b: string, [key: string]: string }; > : ^^^^^^ const fn1 = (key: Key): string => myRecord1[key]; // Should OK ->fn1 : (key: Key) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ->(key: Key): string => myRecord1[key] : (key: Key) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +>fn1 : (key: Key) => string +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ +>(key: Key): string => myRecord1[key] : (key: Key) => string +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >myRecord1 : { a: string; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >key : Key > : ^^^ >myRecord1[key] : { a: string; b: string; }[Key] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^ >myRecord1 : { a: string; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >key : Key > : ^^^ const fn2 = (key: Key): string => myRecord2[key]; // Should OK ->fn2 : (key: Key) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ->(key: Key): string => myRecord2[key] : (key: Key) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +>fn2 : (key: Key) => string +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ +>(key: Key): string => myRecord2[key] : (key: Key) => string +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >myRecord1 : { a: string; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >key : Key > : ^^^ >myRecord2[key] : { [key: string]: string; a: string; b: string; }[Key] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^ >myRecord2 : { [key: string]: string; a: string; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >key : Key > : ^^^ const fn3 = (key: Key) => { ->fn3 : (key: Key) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ->(key: Key) => { myRecord2[key] = undefined; // Should error const v: string = myRecord2[key]; // Should error} : (key: Key) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>fn3 : (key: Key) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +>(key: Key) => { myRecord2[key] = undefined; // Should error const v: string = myRecord2[key]; // Should error} : (key: Key) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >myRecord2 : { [key: string]: string; a: string; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >key : Key > : ^^^ @@ -662,9 +662,9 @@ const fn3 = (key: Key) => { >myRecord2[key] = undefined : undefined > : ^^^^^^^^^ >myRecord2[key] : { [key: string]: string; a: string; b: string; }[Key] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^ >myRecord2 : { [key: string]: string; a: string; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >key : Key > : ^^^ >undefined : undefined @@ -676,7 +676,7 @@ const fn3 = (key: Key) => { >myRecord2[key] : undefined > : ^^^^^^^^^ >myRecord2 : { [key: string]: string; a: string; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >key : Key > : ^^^ diff --git a/tests/baselines/reference/noUncheckedIndexedAccessDestructuring.types b/tests/baselines/reference/noUncheckedIndexedAccessDestructuring.types index 5f20c9e300584..d0266cc8b359e 100644 --- a/tests/baselines/reference/noUncheckedIndexedAccessDestructuring.types +++ b/tests/baselines/reference/noUncheckedIndexedAccessDestructuring.types @@ -22,11 +22,11 @@ s1.toString(); // Should error, s1 possibly undefined >s1.toString() : string > : ^^^^^^ >s1.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >s1 : string | undefined > : ^^^^^^^^^^^^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ // Destructuring a rest element -> do not include undefined const [...s2] = strArray; @@ -39,11 +39,11 @@ s2.push(undefined); // Should error, 'undefined' not part of s2's element type >s2.push(undefined) : number > : ^^^^^^ >s2.push : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >s2 : string[] > : ^^^^^^^^ >push : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ @@ -62,11 +62,11 @@ s3.push(undefined); // Should error, 'undefined' not part of s2's element type >s3.push(undefined) : number > : ^^^^^^ >s3.push : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >s3 : string[] > : ^^^^^^^^ >push : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ @@ -88,11 +88,11 @@ t1.toString(); // Should error, t1 possibly undefined >t1.toString() : string > : ^^^^^^ >t1.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >t1 : string | undefined > : ^^^^^^^^^^^^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ const { ...t2 } = strMap; >t2 : { [s: string]: string; } @@ -104,7 +104,7 @@ t2.z.toString(); // Should error >t2.z.toString() : string > : ^^^^^^ >t2.z.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >t2.z : string | undefined > : ^^^^^^^^^^^^^^^^^^ >t2 : { [s: string]: string; } @@ -112,7 +112,7 @@ t2.z.toString(); // Should error >z : string | undefined > : ^^^^^^^^^^^^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ // Test intersections with declared properties declare const numMapPoint: { x: number, y: number} & { [s: string]: number }; @@ -133,37 +133,37 @@ declare const numMapPoint: { x: number, y: number} & { [s: string]: number }; >z : number | undefined > : ^^^^^^^^^^^^^^^^^^ >numMapPoint : { x: number; y: number; } & { [s: string]: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ x.toFixed(); // Should OK >x.toFixed() : string > : ^^^^^^ >x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ y.toFixed(); // Should OK >y.toFixed() : string > : ^^^^^^ >y.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >y : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ z.toFixed(); // Should error >z.toFixed() : string > : ^^^^^^ >z.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >z : number | undefined > : ^^^^^^^^^^^^^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } { @@ -171,47 +171,47 @@ declare const numMapPoint: { x: number, y: number} & { [s: string]: number }; >x : number > : ^^^^^^ >q : { [s: string]: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >numMapPoint : { x: number; y: number; } & { [s: string]: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ x.toFixed(); // Should OK >x.toFixed() : string > : ^^^^^^ >x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ q.y.toFixed(); // Should OK >q.y.toFixed() : string > : ^^^^^^ >q.y.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >q.y : number > : ^^^^^^ >q : { [s: string]: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >y : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ q.z.toFixed(); // Should error >q.z.toFixed() : string > : ^^^^^^ >q.z.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >q.z : number | undefined > : ^^^^^^^^^^^^^^^^^^ >q : { [s: string]: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >z : number | undefined > : ^^^^^^^^^^^^^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } { @@ -219,53 +219,53 @@ declare const numMapPoint: { x: number, y: number} & { [s: string]: number }; >x : number > : ^^^^^^ >q : { [s: string]: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >numMapPoint : { x: number; y: number; } & { [s: string]: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ x. >x. toFixed() : string > : ^^^^^^ >x. toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ toFixed(); // Should OK >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ q. >q. y.toFixed() : string > : ^^^^^^ >q. y.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >q. y : number > : ^^^^^^ >q : { [s: string]: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ y.toFixed(); // Should OK >y : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ q. >q. z.toFixed() : string > : ^^^^^^ >q. z.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >q. z : number | undefined > : ^^^^^^^^^^^^^^^^^^ >q : { [s: string]: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ z.toFixed(); // Should error >z : number | undefined > : ^^^^^^^^^^^^^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } @@ -331,9 +331,9 @@ declare let target_string_arr: string[]; ({ x, y, z } = numMapPoint); // Should OK >({ x, y, z } = numMapPoint) : { x: number; y: number; } & { [s: string]: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ x, y, z } = numMapPoint : { x: number; y: number; } & { [s: string]: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ x, y, z } : { x: number; y: number; z: number | undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -343,7 +343,7 @@ declare let target_string_arr: string[]; >z : number | undefined > : ^^^^^^^^^^^^^^^^^^ >numMapPoint : { x: number; y: number; } & { [s: string]: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ let q: number; >q : number @@ -351,14 +351,14 @@ declare let target_string_arr: string[]; ({ q } = numMapPoint); // Should error >({ q } = numMapPoint) : { x: number; y: number; } & { [s: string]: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ q } = numMapPoint : { x: number; y: number; } & { [s: string]: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ q } : { q: number; } > : ^^^^^^^^^^^^^^ >q : number > : ^^^^^^ >numMapPoint : { x: number; y: number; } & { [s: string]: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/nodeColonModuleResolution.types b/tests/baselines/reference/nodeColonModuleResolution.types index c95eb9700def7..9160ddaf8f1be 100644 --- a/tests/baselines/reference/nodeColonModuleResolution.types +++ b/tests/baselines/reference/nodeColonModuleResolution.types @@ -69,11 +69,11 @@ console.log(ph.constants.NODE_PERFORMANCE_GC_FLAGS_ALL_AVAILABLE_GARBAGE) >console.log(ph.constants.NODE_PERFORMANCE_GC_FLAGS_ALL_AVAILABLE_GARBAGE) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >ph.constants.NODE_PERFORMANCE_GC_FLAGS_ALL_AVAILABLE_GARBAGE : number > : ^^^^^^ >ph.constants : typeof ph.constants diff --git a/tests/baselines/reference/nodeColonModuleResolution2.types b/tests/baselines/reference/nodeColonModuleResolution2.types index 66343e7ca3883..46628fb4f0467 100644 --- a/tests/baselines/reference/nodeColonModuleResolution2.types +++ b/tests/baselines/reference/nodeColonModuleResolution2.types @@ -9,11 +9,11 @@ console.log(ph.constants.NODE_PERFORMANCE_GC_FLAGS_ALL_AVAILABLE_GARBAGE) >console.log(ph.constants.NODE_PERFORMANCE_GC_FLAGS_ALL_AVAILABLE_GARBAGE) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >ph.constants.NODE_PERFORMANCE_GC_FLAGS_ALL_AVAILABLE_GARBAGE : number > : ^^^^^^ >ph.constants : typeof ph.constants diff --git a/tests/baselines/reference/nodeModuleReexportFromDottedPath.types b/tests/baselines/reference/nodeModuleReexportFromDottedPath.types index abb2f2e4a1229..c1b6670538ec8 100644 --- a/tests/baselines/reference/nodeModuleReexportFromDottedPath.types +++ b/tests/baselines/reference/nodeModuleReexportFromDottedPath.types @@ -33,11 +33,11 @@ declare const enhancePrisma: (client: TPrismaClientCtor) => T const EnhancedPrisma = enhancePrisma(PrismaClient); >EnhancedPrisma : typeof PrismaClient & { enhanced: unknown; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >enhancePrisma(PrismaClient) : typeof PrismaClient & { enhanced: unknown; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >enhancePrisma : (client: TPrismaClientCtor) => TPrismaClientCtor & { enhanced: unknown; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >PrismaClient : typeof PrismaClient > : ^^^^^^^^^^^^^^^^^^^ @@ -45,5 +45,5 @@ export default new EnhancedPrisma(); >new EnhancedPrisma() : PrismaClient > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >EnhancedPrisma : typeof PrismaClient & { enhanced: unknown; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ diff --git a/tests/baselines/reference/nodeModulesAllowJsGeneratedNameCollisions(module=node16).js b/tests/baselines/reference/nodeModulesAllowJsGeneratedNameCollisions(module=node16).js index 39944c06ff259..30926a25ccde1 100644 --- a/tests/baselines/reference/nodeModulesAllowJsGeneratedNameCollisions(module=node16).js +++ b/tests/baselines/reference/nodeModulesAllowJsGeneratedNameCollisions(module=node16).js @@ -28,7 +28,8 @@ export {require, exports, Object}; //// [index.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.Object = exports.exports = exports.require = exports.__esModule = void 0; +exports.Object = exports.exports = exports.__esModule = void 0; +exports.require = require; // cjs format file function require() { } const exports = {}; diff --git a/tests/baselines/reference/nodeModulesAllowJsGeneratedNameCollisions(module=nodenext).js b/tests/baselines/reference/nodeModulesAllowJsGeneratedNameCollisions(module=nodenext).js index 39944c06ff259..30926a25ccde1 100644 --- a/tests/baselines/reference/nodeModulesAllowJsGeneratedNameCollisions(module=nodenext).js +++ b/tests/baselines/reference/nodeModulesAllowJsGeneratedNameCollisions(module=nodenext).js @@ -28,7 +28,8 @@ export {require, exports, Object}; //// [index.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.Object = exports.exports = exports.require = exports.__esModule = void 0; +exports.Object = exports.exports = exports.__esModule = void 0; +exports.require = require; // cjs format file function require() { } const exports = {}; diff --git a/tests/baselines/reference/nodeModulesAtTypesPriority.types b/tests/baselines/reference/nodeModulesAtTypesPriority.types index 7f4841d706c47..ac1328acf58a1 100644 --- a/tests/baselines/reference/nodeModulesAtTypesPriority.types +++ b/tests/baselines/reference/nodeModulesAtTypesPriority.types @@ -26,5 +26,5 @@ import React from "react"; import { createStore } from "redux"; >createStore : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/nodeModulesExportsBlocksSpecifierResolution(module=node16).types b/tests/baselines/reference/nodeModulesExportsBlocksSpecifierResolution(module=node16).types index 9f282495a4376..dc944e2b96ae6 100644 --- a/tests/baselines/reference/nodeModulesExportsBlocksSpecifierResolution(module=node16).types +++ b/tests/baselines/reference/nodeModulesExportsBlocksSpecifierResolution(module=node16).types @@ -12,7 +12,7 @@ export const a = (await import("inner")).x(); >(await import("inner")).x() : import("node_modules/inner/other").Thing > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >(await import("inner")).x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >(await import("inner")) : typeof import("node_modules/inner/index") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >await import("inner") : typeof import("node_modules/inner/index") @@ -22,13 +22,13 @@ export const a = (await import("inner")).x(); >"inner" : "inner" > : ^^^^^^^ >x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ === node_modules/inner/index.d.ts === // esm format file export { x } from "./other.js"; >x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ === node_modules/inner/other.d.ts === // esm format file diff --git a/tests/baselines/reference/nodeModulesExportsBlocksSpecifierResolution(module=nodenext).types b/tests/baselines/reference/nodeModulesExportsBlocksSpecifierResolution(module=nodenext).types index 9f282495a4376..dc944e2b96ae6 100644 --- a/tests/baselines/reference/nodeModulesExportsBlocksSpecifierResolution(module=nodenext).types +++ b/tests/baselines/reference/nodeModulesExportsBlocksSpecifierResolution(module=nodenext).types @@ -12,7 +12,7 @@ export const a = (await import("inner")).x(); >(await import("inner")).x() : import("node_modules/inner/other").Thing > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >(await import("inner")).x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >(await import("inner")) : typeof import("node_modules/inner/index") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >await import("inner") : typeof import("node_modules/inner/index") @@ -22,13 +22,13 @@ export const a = (await import("inner")).x(); >"inner" : "inner" > : ^^^^^^^ >x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ === node_modules/inner/index.d.ts === // esm format file export { x } from "./other.js"; >x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ === node_modules/inner/other.d.ts === // esm format file diff --git a/tests/baselines/reference/nodeModulesExportsSourceTs(module=node16).types b/tests/baselines/reference/nodeModulesExportsSourceTs(module=node16).types index d6d490fe77c89..880b84aad2d77 100644 --- a/tests/baselines/reference/nodeModulesExportsSourceTs(module=node16).types +++ b/tests/baselines/reference/nodeModulesExportsSourceTs(module=node16).types @@ -12,7 +12,7 @@ export const a = (await import("inner")).x(); >(await import("inner")).x() : import("node_modules/inner/other").Thing > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >(await import("inner")).x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >(await import("inner")) : typeof import("node_modules/inner/index") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >await import("inner") : typeof import("node_modules/inner/index") @@ -22,7 +22,7 @@ export const a = (await import("inner")).x(); >"inner" : "inner" > : ^^^^^^^ >x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ import {a as a2} from "package"; >a : import("node_modules/inner/other").Thing @@ -34,7 +34,7 @@ import {a as a2} from "package"; // esm format file export { x } from "./other.js"; >x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ === node_modules/inner/other.ts === // esm format file diff --git a/tests/baselines/reference/nodeModulesExportsSourceTs(module=nodenext).types b/tests/baselines/reference/nodeModulesExportsSourceTs(module=nodenext).types index d6d490fe77c89..880b84aad2d77 100644 --- a/tests/baselines/reference/nodeModulesExportsSourceTs(module=nodenext).types +++ b/tests/baselines/reference/nodeModulesExportsSourceTs(module=nodenext).types @@ -12,7 +12,7 @@ export const a = (await import("inner")).x(); >(await import("inner")).x() : import("node_modules/inner/other").Thing > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >(await import("inner")).x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >(await import("inner")) : typeof import("node_modules/inner/index") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >await import("inner") : typeof import("node_modules/inner/index") @@ -22,7 +22,7 @@ export const a = (await import("inner")).x(); >"inner" : "inner" > : ^^^^^^^ >x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ import {a as a2} from "package"; >a : import("node_modules/inner/other").Thing @@ -34,7 +34,7 @@ import {a as a2} from "package"; // esm format file export { x } from "./other.js"; >x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ === node_modules/inner/other.ts === // esm format file diff --git a/tests/baselines/reference/nodeModulesExportsSpecifierGenerationConditions(module=node16).types b/tests/baselines/reference/nodeModulesExportsSpecifierGenerationConditions(module=node16).types index 9b7ab49d0aaff..d62dfd1155d03 100644 --- a/tests/baselines/reference/nodeModulesExportsSpecifierGenerationConditions(module=node16).types +++ b/tests/baselines/reference/nodeModulesExportsSpecifierGenerationConditions(module=node16).types @@ -12,7 +12,7 @@ export const a = (await import("inner")).x(); >(await import("inner")).x() : import("node_modules/inner/other").Thing > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >(await import("inner")).x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >(await import("inner")) : typeof import("node_modules/inner/index") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >await import("inner") : typeof import("node_modules/inner/index") @@ -22,13 +22,13 @@ export const a = (await import("inner")).x(); >"inner" : "inner" > : ^^^^^^^ >x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ === node_modules/inner/index.d.ts === // esm format file export { x } from "./other.js"; >x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ === node_modules/inner/other.d.ts === // esm format file diff --git a/tests/baselines/reference/nodeModulesExportsSpecifierGenerationConditions(module=nodenext).types b/tests/baselines/reference/nodeModulesExportsSpecifierGenerationConditions(module=nodenext).types index 9b7ab49d0aaff..d62dfd1155d03 100644 --- a/tests/baselines/reference/nodeModulesExportsSpecifierGenerationConditions(module=nodenext).types +++ b/tests/baselines/reference/nodeModulesExportsSpecifierGenerationConditions(module=nodenext).types @@ -12,7 +12,7 @@ export const a = (await import("inner")).x(); >(await import("inner")).x() : import("node_modules/inner/other").Thing > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >(await import("inner")).x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >(await import("inner")) : typeof import("node_modules/inner/index") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >await import("inner") : typeof import("node_modules/inner/index") @@ -22,13 +22,13 @@ export const a = (await import("inner")).x(); >"inner" : "inner" > : ^^^^^^^ >x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ === node_modules/inner/index.d.ts === // esm format file export { x } from "./other.js"; >x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ === node_modules/inner/other.d.ts === // esm format file diff --git a/tests/baselines/reference/nodeModulesExportsSpecifierGenerationDirectory(module=node16).types b/tests/baselines/reference/nodeModulesExportsSpecifierGenerationDirectory(module=node16).types index 1193272174fac..034994f0ff8bb 100644 --- a/tests/baselines/reference/nodeModulesExportsSpecifierGenerationDirectory(module=node16).types +++ b/tests/baselines/reference/nodeModulesExportsSpecifierGenerationDirectory(module=node16).types @@ -12,7 +12,7 @@ export const a = (await import("inner/index.js")).x(); >(await import("inner/index.js")).x() : import("node_modules/inner/other").Thing > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >(await import("inner/index.js")).x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >(await import("inner/index.js")) : typeof import("node_modules/inner/index") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >await import("inner/index.js") : typeof import("node_modules/inner/index") @@ -22,13 +22,13 @@ export const a = (await import("inner/index.js")).x(); >"inner/index.js" : "inner/index.js" > : ^^^^^^^^^^^^^^^^ >x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ === node_modules/inner/index.d.ts === // esm format file export { x } from "./other.js"; >x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ === node_modules/inner/other.d.ts === // esm format file diff --git a/tests/baselines/reference/nodeModulesExportsSpecifierGenerationDirectory(module=nodenext).types b/tests/baselines/reference/nodeModulesExportsSpecifierGenerationDirectory(module=nodenext).types index 1193272174fac..034994f0ff8bb 100644 --- a/tests/baselines/reference/nodeModulesExportsSpecifierGenerationDirectory(module=nodenext).types +++ b/tests/baselines/reference/nodeModulesExportsSpecifierGenerationDirectory(module=nodenext).types @@ -12,7 +12,7 @@ export const a = (await import("inner/index.js")).x(); >(await import("inner/index.js")).x() : import("node_modules/inner/other").Thing > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >(await import("inner/index.js")).x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >(await import("inner/index.js")) : typeof import("node_modules/inner/index") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >await import("inner/index.js") : typeof import("node_modules/inner/index") @@ -22,13 +22,13 @@ export const a = (await import("inner/index.js")).x(); >"inner/index.js" : "inner/index.js" > : ^^^^^^^^^^^^^^^^ >x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ === node_modules/inner/index.d.ts === // esm format file export { x } from "./other.js"; >x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ === node_modules/inner/other.d.ts === // esm format file diff --git a/tests/baselines/reference/nodeModulesExportsSpecifierGenerationPattern(module=node16).types b/tests/baselines/reference/nodeModulesExportsSpecifierGenerationPattern(module=node16).types index 6d46a91088624..78367ad6e9714 100644 --- a/tests/baselines/reference/nodeModulesExportsSpecifierGenerationPattern(module=node16).types +++ b/tests/baselines/reference/nodeModulesExportsSpecifierGenerationPattern(module=node16).types @@ -12,7 +12,7 @@ export const a = (await import("inner/index.js")).x(); >(await import("inner/index.js")).x() : import("node_modules/inner/other").Thing > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >(await import("inner/index.js")).x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >(await import("inner/index.js")) : typeof import("node_modules/inner/index") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >await import("inner/index.js") : typeof import("node_modules/inner/index") @@ -22,13 +22,13 @@ export const a = (await import("inner/index.js")).x(); >"inner/index.js" : "inner/index.js" > : ^^^^^^^^^^^^^^^^ >x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ === node_modules/inner/index.d.ts === // esm format file export { x } from "./other.js"; >x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ === node_modules/inner/other.d.ts === // esm format file diff --git a/tests/baselines/reference/nodeModulesExportsSpecifierGenerationPattern(module=nodenext).types b/tests/baselines/reference/nodeModulesExportsSpecifierGenerationPattern(module=nodenext).types index 6d46a91088624..78367ad6e9714 100644 --- a/tests/baselines/reference/nodeModulesExportsSpecifierGenerationPattern(module=nodenext).types +++ b/tests/baselines/reference/nodeModulesExportsSpecifierGenerationPattern(module=nodenext).types @@ -12,7 +12,7 @@ export const a = (await import("inner/index.js")).x(); >(await import("inner/index.js")).x() : import("node_modules/inner/other").Thing > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >(await import("inner/index.js")).x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >(await import("inner/index.js")) : typeof import("node_modules/inner/index") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >await import("inner/index.js") : typeof import("node_modules/inner/index") @@ -22,13 +22,13 @@ export const a = (await import("inner/index.js")).x(); >"inner/index.js" : "inner/index.js" > : ^^^^^^^^^^^^^^^^ >x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ === node_modules/inner/index.d.ts === // esm format file export { x } from "./other.js"; >x : () => import("node_modules/inner/other").Thing -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ === node_modules/inner/other.d.ts === // esm format file diff --git a/tests/baselines/reference/nodeModulesGeneratedNameCollisions(module=node16).js b/tests/baselines/reference/nodeModulesGeneratedNameCollisions(module=node16).js index 1572a39c8d770..3b196cd32c98b 100644 --- a/tests/baselines/reference/nodeModulesGeneratedNameCollisions(module=node16).js +++ b/tests/baselines/reference/nodeModulesGeneratedNameCollisions(module=node16).js @@ -28,7 +28,8 @@ export {require, exports, Object}; //// [index.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.Object = exports.exports = exports.require = exports.__esModule = void 0; +exports.Object = exports.exports = exports.__esModule = void 0; +exports.require = require; // cjs format file function require() { } const exports = {}; diff --git a/tests/baselines/reference/nodeModulesGeneratedNameCollisions(module=nodenext).js b/tests/baselines/reference/nodeModulesGeneratedNameCollisions(module=nodenext).js index 1572a39c8d770..3b196cd32c98b 100644 --- a/tests/baselines/reference/nodeModulesGeneratedNameCollisions(module=nodenext).js +++ b/tests/baselines/reference/nodeModulesGeneratedNameCollisions(module=nodenext).js @@ -28,7 +28,8 @@ export {require, exports, Object}; //// [index.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.Object = exports.exports = exports.require = exports.__esModule = void 0; +exports.Object = exports.exports = exports.__esModule = void 0; +exports.require = require; // cjs format file function require() { } const exports = {}; diff --git a/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit6(module=node16).types b/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit6(module=node16).types index 65e27dfdbf6e5..79de08e8be8c3 100644 --- a/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit6(module=node16).types +++ b/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit6(module=node16).types @@ -32,5 +32,5 @@ export default getInterR(); >getInterR() : RequireInterface > : ^^^^^^^^^^^^^^^^ >getInterR : () => RequireInterface -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit6(module=nodenext).types b/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit6(module=nodenext).types index 65e27dfdbf6e5..79de08e8be8c3 100644 --- a/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit6(module=nodenext).types +++ b/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit6(module=nodenext).types @@ -32,5 +32,5 @@ export default getInterR(); >getInterR() : RequireInterface > : ^^^^^^^^^^^^^^^^ >getInterR : () => RequireInterface -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit7(module=node16).types b/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit7(module=node16).types index 8850493ca7b37..478e6741c1467 100644 --- a/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit7(module=node16).types +++ b/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit7(module=node16).types @@ -56,7 +56,7 @@ export default getInterI(); >getInterI() : ImportInterface > : ^^^^^^^^^^^^^^^ >getInterI : () => ImportInterface -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ === /sub2/uses.ts === /// @@ -64,5 +64,5 @@ export default getInterR(); >getInterR() : RequireInterface > : ^^^^^^^^^^^^^^^^ >getInterR : () => RequireInterface -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit7(module=nodenext).types b/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit7(module=nodenext).types index 8850493ca7b37..478e6741c1467 100644 --- a/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit7(module=nodenext).types +++ b/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit7(module=nodenext).types @@ -56,7 +56,7 @@ export default getInterI(); >getInterI() : ImportInterface > : ^^^^^^^^^^^^^^^ >getInterI : () => ImportInterface -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ === /sub2/uses.ts === /// @@ -64,5 +64,5 @@ export default getInterR(); >getInterR() : RequireInterface > : ^^^^^^^^^^^^^^^^ >getInterR : () => RequireInterface -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/nodeNextEsmImportsOfPackagesWithExtensionlessMains.types b/tests/baselines/reference/nodeNextEsmImportsOfPackagesWithExtensionlessMains.types index 305440b13f6d0..e7385b94595a2 100644 --- a/tests/baselines/reference/nodeNextEsmImportsOfPackagesWithExtensionlessMains.types +++ b/tests/baselines/reference/nodeNextEsmImportsOfPackagesWithExtensionlessMains.types @@ -20,11 +20,11 @@ export function getAddress(): string { >ip.address() : string > : ^^^^^^ >ip.address : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >ip : typeof ip > : ^^^^^^^^^ >address : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } === node_modules/@types/ip/index.d.ts === export function address(): string; diff --git a/tests/baselines/reference/nodeNextPackageImportMapRootDir.types b/tests/baselines/reference/nodeNextPackageImportMapRootDir.types index 0bfe5d6607d4f..6af87e2ee664e 100644 --- a/tests/baselines/reference/nodeNextPackageImportMapRootDir.types +++ b/tests/baselines/reference/nodeNextPackageImportMapRootDir.types @@ -9,11 +9,11 @@ me.thing(); >me.thing() : void > : ^^^^ >me.thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >me : typeof me > : ^^^^^^^^^ >thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ export function thing(): void {} >thing : () => void diff --git a/tests/baselines/reference/nodeNextPackageSelfNameWithOutDir.types b/tests/baselines/reference/nodeNextPackageSelfNameWithOutDir.types index 35dd87bb9f834..5e90a0c992f00 100644 --- a/tests/baselines/reference/nodeNextPackageSelfNameWithOutDir.types +++ b/tests/baselines/reference/nodeNextPackageSelfNameWithOutDir.types @@ -9,11 +9,11 @@ me.thing(); >me.thing() : void > : ^^^^ >me.thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >me : typeof me > : ^^^^^^^^^ >thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ export function thing(): void {} >thing : () => void diff --git a/tests/baselines/reference/nodeNextPackageSelfNameWithOutDirDeclDir.types b/tests/baselines/reference/nodeNextPackageSelfNameWithOutDirDeclDir.types index ea1a233d25832..a60ba655b3395 100644 --- a/tests/baselines/reference/nodeNextPackageSelfNameWithOutDirDeclDir.types +++ b/tests/baselines/reference/nodeNextPackageSelfNameWithOutDirDeclDir.types @@ -9,11 +9,11 @@ me.thing(); >me.thing() : void > : ^^^^ >me.thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >me : typeof me > : ^^^^^^^^^ >thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ export function thing(): void {} >thing : () => void diff --git a/tests/baselines/reference/nodeNextPackageSelfNameWithOutDirDeclDirComposite.types b/tests/baselines/reference/nodeNextPackageSelfNameWithOutDirDeclDirComposite.types index 922e485927370..77672d081a41f 100644 --- a/tests/baselines/reference/nodeNextPackageSelfNameWithOutDirDeclDirComposite.types +++ b/tests/baselines/reference/nodeNextPackageSelfNameWithOutDirDeclDirComposite.types @@ -9,11 +9,11 @@ me.thing(); >me.thing() : void > : ^^^^ >me.thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >me : typeof me > : ^^^^^^^^^ >thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ export function thing(): void {} >thing : () => void diff --git a/tests/baselines/reference/nodeNextPackageSelfNameWithOutDirDeclDirCompositeNestedDirs.types b/tests/baselines/reference/nodeNextPackageSelfNameWithOutDirDeclDirCompositeNestedDirs.types index 56eb7b76b3865..6457cdf66a6c5 100644 --- a/tests/baselines/reference/nodeNextPackageSelfNameWithOutDirDeclDirCompositeNestedDirs.types +++ b/tests/baselines/reference/nodeNextPackageSelfNameWithOutDirDeclDirCompositeNestedDirs.types @@ -3,9 +3,9 @@ === index.ts === export {srcthing as thing} from "./src/thing.js"; >srcthing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ === src/thing.ts === // The following import should cause `index.ts` @@ -23,11 +23,11 @@ me.thing(); >me.thing() : void > : ^^^^ >me.thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >me : typeof me > : ^^^^^^^^^ >thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ export function srcthing(): void {} >srcthing : () => void diff --git a/tests/baselines/reference/nodeNextPackageSelfNameWithOutDirDeclDirNestedDirs.types b/tests/baselines/reference/nodeNextPackageSelfNameWithOutDirDeclDirNestedDirs.types index 705d6d77762b3..1923d27551862 100644 --- a/tests/baselines/reference/nodeNextPackageSelfNameWithOutDirDeclDirNestedDirs.types +++ b/tests/baselines/reference/nodeNextPackageSelfNameWithOutDirDeclDirNestedDirs.types @@ -3,9 +3,9 @@ === index.ts === export {srcthing as thing} from "./src/thing.js"; >srcthing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ === src/thing.ts === // The following import should cause `index.ts` @@ -23,11 +23,11 @@ me.thing(); >me.thing() : void > : ^^^^ >me.thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >me : typeof me > : ^^^^^^^^^ >thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ export function srcthing(): void {} >srcthing : () => void diff --git a/tests/baselines/reference/nodeNextPackageSelfNameWithOutDirDeclDirRootDir.types b/tests/baselines/reference/nodeNextPackageSelfNameWithOutDirDeclDirRootDir.types index c918f3253c4f5..3b69047104dac 100644 --- a/tests/baselines/reference/nodeNextPackageSelfNameWithOutDirDeclDirRootDir.types +++ b/tests/baselines/reference/nodeNextPackageSelfNameWithOutDirDeclDirRootDir.types @@ -9,11 +9,11 @@ me.thing(); >me.thing() : void > : ^^^^ >me.thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >me : typeof me > : ^^^^^^^^^ >thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ export function thing(): void {} >thing : () => void diff --git a/tests/baselines/reference/nodeNextPackageSelfNameWithOutDirRootDir.types b/tests/baselines/reference/nodeNextPackageSelfNameWithOutDirRootDir.types index 22c60535195f4..e484792a1d20b 100644 --- a/tests/baselines/reference/nodeNextPackageSelfNameWithOutDirRootDir.types +++ b/tests/baselines/reference/nodeNextPackageSelfNameWithOutDirRootDir.types @@ -9,11 +9,11 @@ me.thing(); >me.thing() : void > : ^^^^ >me.thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >me : typeof me > : ^^^^^^^^^ >thing : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ export function thing(): void {} >thing : () => void diff --git a/tests/baselines/reference/nonInferrableTypePropagation1.types b/tests/baselines/reference/nonInferrableTypePropagation1.types index 8098a630d1699..cd315d1c62c79 100644 --- a/tests/baselines/reference/nonInferrableTypePropagation1.types +++ b/tests/baselines/reference/nonInferrableTypePropagation1.types @@ -78,23 +78,23 @@ const result1 = createAndUnbox(() => thing.pipe( >createAndUnbox(() => thing.pipe( map((data) => box(data)), tap((v) => log(v)),)) : Thing > : ^^^^^^^^^^^^^ >createAndUnbox : (factory: () => Thing>) => Thing -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >() => thing.pipe( map((data) => box(data)), tap((v) => log(v)),) : () => Thing> > : ^^^^^^^^^^^^^^^^^^^^^^^^ >thing.pipe( map((data) => box(data)), tap((v) => log(v)),) : Thing> > : ^^^^^^^^^^^^^^^^^^ >thing.pipe : (opA: Op, opB: Op) => Thing -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^ >thing : Thing > : ^^^^^^^^^^^^^ >pipe : (opA: Op, opB: Op) => Thing -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^ map((data) => box(data)), >map((data) => box(data)) : Op> > : ^^^^^^^^^^^^^^^^^^^^^^^ >map : (project: (value: T) => R) => Op -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >(data) => box(data) : (data: number) => Box > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ >data : number @@ -102,7 +102,7 @@ const result1 = createAndUnbox(() => thing.pipe( >box(data) : Box > : ^^^^^^^^^^^ >box : (data: V) => Box -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >data : number > : ^^^^^^ @@ -110,7 +110,7 @@ const result1 = createAndUnbox(() => thing.pipe( >tap((v) => log(v)) : Op, Box> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >tap : (next: (value: T) => void) => Op -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >(v) => log(v) : (v: Box) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^ >v : Box @@ -118,7 +118,7 @@ const result1 = createAndUnbox(() => thing.pipe( >log(v) : void > : ^^^^ >log : (value: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >v : Box > : ^^^^^^^^^^^ @@ -130,23 +130,23 @@ const result2 = createAndUnbox(() => thing.pipe( >createAndUnbox(() => thing.pipe( tap((v) => log(v)), map((data) => box(data)),)) : Thing > : ^^^^^^^^^^^^^ >createAndUnbox : (factory: () => Thing>) => Thing -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >() => thing.pipe( tap((v) => log(v)), map((data) => box(data)),) : () => Thing> > : ^^^^^^^^^^^^^^^^^^^^^^^^ >thing.pipe( tap((v) => log(v)), map((data) => box(data)),) : Thing> > : ^^^^^^^^^^^^^^^^^^ >thing.pipe : (opA: Op, opB: Op) => Thing -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^ >thing : Thing > : ^^^^^^^^^^^^^ >pipe : (opA: Op, opB: Op) => Thing -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^ tap((v) => log(v)), >tap((v) => log(v)) : Op > : ^^^^^^^^^^^^^^^^^^ >tap : (next: (value: T) => void) => Op -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >(v) => log(v) : (v: number) => void > : ^ ^^^^^^^^^^^^^^^^^ >v : number @@ -154,7 +154,7 @@ const result2 = createAndUnbox(() => thing.pipe( >log(v) : void > : ^^^^ >log : (value: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >v : number > : ^^^^^^ @@ -162,7 +162,7 @@ const result2 = createAndUnbox(() => thing.pipe( >map((data) => box(data)) : Op> > : ^^^^^^^^^^^^^^^^^^^^^^^ >map : (project: (value: T) => R) => Op -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >(data) => box(data) : (data: number) => Box > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ >data : number @@ -170,7 +170,7 @@ const result2 = createAndUnbox(() => thing.pipe( >box(data) : Box > : ^^^^^^^^^^^ >box : (data: V) => Box -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >data : number > : ^^^^^^ diff --git a/tests/baselines/reference/nonInferrableTypePropagation2.types b/tests/baselines/reference/nonInferrableTypePropagation2.types index cc790407eedca..20b3225fcedc0 100644 --- a/tests/baselines/reference/nonInferrableTypePropagation2.types +++ b/tests/baselines/reference/nonInferrableTypePropagation2.types @@ -38,8 +38,8 @@ interface Refinement { } declare const filter: { ->filter : { (refinement: Refinement): (as: ReadonlyArray) => ReadonlyArray; (predicate: Predicate): (bs: ReadonlyArray) => ReadonlyArray; (predicate: Predicate): (as: ReadonlyArray) => ReadonlyArray; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ +>filter : { (refinement: Refinement): (as: ReadonlyArray) => ReadonlyArray; (predicate: Predicate): (bs: ReadonlyArray) => ReadonlyArray; (predicate: Predicate): (as: ReadonlyArray) => ReadonlyArray; } +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ (refinement: Refinement): (as: ReadonlyArray) => ReadonlyArray >refinement : Refinement @@ -89,17 +89,17 @@ const x = pipe(es, filter(exists((n) => n > 0))) >pipe(es, filter(exists((n) => n > 0))) : readonly Either[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >pipe : (a: A, ab: (a: A) => B) => B -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >es : Either[] > : ^^^^^^^^^^^^^^^^^^^^^^^^ ->filter(exists((n) => n > 0)) : (as: readonly Either[]) => readonly Either[] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->filter : { (refinement: Refinement): (as: ReadonlyArray) => readonly B[]; (predicate: Predicate): (bs: ReadonlyArray) => readonly B_1[]; (predicate: Predicate): (as: ReadonlyArray) => readonly A_2[]; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +>filter(exists((n) => n > 0)) : (as: readonly Either[]) => ReadonlyArray> +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +>filter : { (refinement: Refinement): (as: ReadonlyArray) => ReadonlyArray; (predicate: Predicate): (bs: ReadonlyArray) => ReadonlyArray; (predicate: Predicate): (as: ReadonlyArray) => ReadonlyArray; } +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >exists((n) => n > 0) : (ma: Either) => boolean -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ >exists : (predicate: Predicate) => (ma: Either) => boolean -> : ^ ^^ ^^ ^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >(n) => n > 0 : (n: number) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^ >n : number diff --git a/tests/baselines/reference/nonInferrableTypePropagation3.types b/tests/baselines/reference/nonInferrableTypePropagation3.types index d53b3e88665d4..0e7bfa98df92c 100644 --- a/tests/baselines/reference/nonInferrableTypePropagation3.types +++ b/tests/baselines/reference/nonInferrableTypePropagation3.types @@ -21,11 +21,11 @@ declare function factory(): (callback: Callback(); >make : (callback: Callback) => (...args: Args) => R -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^ ^ >factory<{id: string, age: number}[]>() : (callback: Callback) => (...args: Args) => R -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^ ^ >factory : () => (callback: Callback) => (...args: Args) => R -> : ^ ^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^ >id : string > : ^^^^^^ >age : number @@ -33,39 +33,39 @@ const make = factory<{id: string, age: number}[]>(); const usersOverAge = make((age: number) => data => { >usersOverAge : (age: number) => { id: string; age: number; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^ >make((age: number) => data => { return data.filter(user => user.age >= age);}) : (age: number) => { id: string; age: number; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^ >make : (callback: Callback) => (...args: Args) => R -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^ ^ >(age: number) => data => { return data.filter(user => user.age >= age);} : (age: number) => (data: { id: string; age: number; }[]) => { id: string; age: number; }[] -> : ^ ^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^ >age : number > : ^^^^^^ >data => { return data.filter(user => user.age >= age);} : (data: { id: string; age: number; }[]) => { id: string; age: number; }[] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^ >data : { id: string; age: number; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^ ^^^^^ return data.filter(user => user.age >= age); >data.filter(user => user.age >= age) : { id: string; age: number; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^ ^^^^^ >data.filter : { (predicate: (value: { id: string; age: number; }, index: number, array: { id: string; age: number; }[]) => value is S, thisArg?: any): S[]; (predicate: (value: { id: string; age: number; }, index: number, array: { id: string; age: number; }[]) => unknown, thisArg?: any): { id: string; age: number; }[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^ ^^^ ^^^^^^^^ ^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^ ^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^ ^^^ ^^^ >data : { id: string; age: number; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^ ^^^^^ >filter : { (predicate: (value: { id: string; age: number; }, index: number, array: { id: string; age: number; }[]) => value is S, thisArg?: any): S[]; (predicate: (value: { id: string; age: number; }, index: number, array: { id: string; age: number; }[]) => unknown, thisArg?: any): { id: string; age: number; }[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^ ^^^ ^^^^^^^^ ^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^ ^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^ ^^^ ^^^ >user => user.age >= age : (user: { id: string; age: number; }) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ >user : { id: string; age: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^ ^^^ >user.age >= age : boolean > : ^^^^^^^ >user.age : number > : ^^^^^^ >user : { id: string; age: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^ ^^^ >age : number > : ^^^^^^ >age : number diff --git a/tests/baselines/reference/nonInstantiatedModule.types b/tests/baselines/reference/nonInstantiatedModule.types index 9526b8f30cbb8..640e6f374cda6 100644 --- a/tests/baselines/reference/nonInstantiatedModule.types +++ b/tests/baselines/reference/nonInstantiatedModule.types @@ -106,7 +106,7 @@ var p: { x: number; y: number; }; var p: M2.Point; >p : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >M2 : any > : ^^^ @@ -122,7 +122,7 @@ var p2: { Origin() : { x: number; y: number; } }; var p2: typeof M2.Point; >p2 : { Origin(): { x: number; y: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ >M2.Point : typeof M2.Point > : ^^^^^^^^^^^^^^^ >M2 : typeof M2 diff --git a/tests/baselines/reference/nonNullFullInference.types b/tests/baselines/reference/nonNullFullInference.types index 2d50e9ab4a79b..a22e98b6421f1 100644 --- a/tests/baselines/reference/nonNullFullInference.types +++ b/tests/baselines/reference/nonNullFullInference.types @@ -90,11 +90,11 @@ function testNonNullInferenceWithArrays(numbers: number[]) { >arr.push(n) : number > : ^^^^^^ >arr.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >arr : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >n : number > : ^^^^^^ diff --git a/tests/baselines/reference/nonNullMappedType.types b/tests/baselines/reference/nonNullMappedType.types index 76dbf5053acee..1006e65994952 100644 --- a/tests/baselines/reference/nonNullMappedType.types +++ b/tests/baselines/reference/nonNullMappedType.types @@ -3,7 +3,7 @@ === nonNullMappedType.ts === function f(p0: { [key in A]: {} | undefined }, p1: A) { >f : (p0: { [key in A]: {} | undefined; }, p1: A) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >p0 : { [key in A]: {} | undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >p1 : A diff --git a/tests/baselines/reference/nonNullParameterExtendingStringAssignableToString.types b/tests/baselines/reference/nonNullParameterExtendingStringAssignableToString.types index a9a8977aac2b9..4e0fcb3e21511 100644 --- a/tests/baselines/reference/nonNullParameterExtendingStringAssignableToString.types +++ b/tests/baselines/reference/nonNullParameterExtendingStringAssignableToString.types @@ -9,7 +9,7 @@ declare function foo(p: string): void; function fn(one: T, two: U) { >fn : (one: T, two: U) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >one : T > : ^ >two : U @@ -33,7 +33,7 @@ function fn(one: T, two: U) { >foo(one!) : void > : ^^^^ >foo : (p: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >one! : string > : ^^^^^^ >one : string | undefined @@ -43,7 +43,7 @@ function fn(one: T, two: U) { >foo(two!) : void > : ^^^^ >foo : (p: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >two! : U > : ^ >two : U @@ -53,7 +53,7 @@ function fn(one: T, two: U) { >foo(three!) : void > : ^^^^ >foo : (p: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >three! : string > : ^^^^^^ >three : string | undefined diff --git a/tests/baselines/reference/nonNullableReduction.types b/tests/baselines/reference/nonNullableReduction.types index 3128ff95a7ac7..7828b314cdb17 100644 --- a/tests/baselines/reference/nonNullableReduction.types +++ b/tests/baselines/reference/nonNullableReduction.types @@ -59,7 +59,7 @@ function f1(x: T | (string extends T ? null | undefined : never)) { function f2(x: T | U) { >f2 : (x: T | U) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T | U > : ^^^^^ diff --git a/tests/baselines/reference/nonNullableReductionNonStrict.types b/tests/baselines/reference/nonNullableReductionNonStrict.types index b3892af65d760..a46bcbc3fb77f 100644 --- a/tests/baselines/reference/nonNullableReductionNonStrict.types +++ b/tests/baselines/reference/nonNullableReductionNonStrict.types @@ -58,8 +58,8 @@ function f1(x: T | (string extends T ? null | undefined : never)) { } function f2(x: T | U) { ->f2 : (x: T | U) => void -> : ^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>f2 : (x: T | U) => void +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T | U > : ^^^^^ diff --git a/tests/baselines/reference/nonNullableTypes1.types b/tests/baselines/reference/nonNullableTypes1.types index aa2c5d94e261f..c52464c3014f8 100644 --- a/tests/baselines/reference/nonNullableTypes1.types +++ b/tests/baselines/reference/nonNullableTypes1.types @@ -43,7 +43,7 @@ function f2(x: T) { // NonNullable >error() : never > : ^^^^^ >error : () => never -> : ^^^^^^^^^^^ +> : ^^^^^^ } function f3(x: unknown) { @@ -63,7 +63,7 @@ function f3(x: unknown) { function f4(obj: T) { >f4 : (obj: T) => void -> : ^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : string > : ^^^^^^ >obj : T @@ -75,7 +75,7 @@ function f4(obj: T) { >obj?.x : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : { x: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >x : string | undefined > : ^^^^^^^^^^^^^^^^^^ >"hello" : "hello" @@ -89,7 +89,7 @@ function f4(obj: T) { >obj?.x : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : { x: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >x : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -105,7 +105,7 @@ function f4(obj: T) { >obj?.x : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : { x: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >x : string | undefined > : ^^^^^^^^^^^^^^^^^^ >"string" : "string" diff --git a/tests/baselines/reference/nonPrimitiveAccessProperty.types b/tests/baselines/reference/nonPrimitiveAccessProperty.types index 1f0592fe7f693..af249331e2a41 100644 --- a/tests/baselines/reference/nonPrimitiveAccessProperty.types +++ b/tests/baselines/reference/nonPrimitiveAccessProperty.types @@ -9,11 +9,11 @@ a.toString(); >a.toString() : string > : ^^^^^^ >a.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >a : object > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ a.nonExist(); // error >a.nonExist() : any diff --git a/tests/baselines/reference/nonPrimitiveConstraintOfIndexAccessType.types b/tests/baselines/reference/nonPrimitiveConstraintOfIndexAccessType.types index 52a44b36a7296..66989bb5b1871 100644 --- a/tests/baselines/reference/nonPrimitiveConstraintOfIndexAccessType.types +++ b/tests/baselines/reference/nonPrimitiveConstraintOfIndexAccessType.types @@ -4,7 +4,7 @@ // test for #15371 function f(s: string, tp: T[P]): void { >f : (s: string, tp: T[P]) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >s : string > : ^^^^^^ >tp : T[P] @@ -20,7 +20,7 @@ function f(s: string, tp: T[P]): void { } function g(s: string, tp: T[P]): void { >g : (s: string, tp: T[P]) => void -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >s : string > : ^^^^^^ >tp : T[P] @@ -36,7 +36,7 @@ function g(s: string, tp: T[P]): void { } function h(s: string, tp: T[P]): void { >h : (s: string, tp: T[P]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >s : string > : ^^^^^^ >tp : T[P] @@ -52,7 +52,7 @@ function h(s: string, tp: T[P]): void { } function i(s: string, tp: T[P]): void { >i : (s: string, tp: T[P]) => void -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >s : string > : ^^^^^^ >tp : T[P] @@ -68,7 +68,7 @@ function i(s: string, tp: T[P]): void { } function j(s: string, tp: T[P]): void { >j : (s: string, tp: T[P]) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >s : string > : ^^^^^^ >tp : T[P] @@ -84,7 +84,7 @@ function j(s: string, tp: T[P]): void { } function k(s: string, tp: T[P]): void { >k : (s: string, tp: T[P]) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >s : string > : ^^^^^^ >tp : T[P] @@ -100,7 +100,7 @@ function k(s: string, tp: T[P]): void { } function o(s: string, tp: T[P]): void { >o : (s: string, tp: T[P]) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >s : string > : ^^^^^^ >tp : T[P] @@ -116,7 +116,7 @@ function o(s: string, tp: T[P]): void { } function l(s: string, tp: T[P]): void { >l : (s: string, tp: T[P]) => void -> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >s : string > : ^^^^^^ >tp : T[P] @@ -132,7 +132,7 @@ function l(s: string, tp: T[P]): void { } function m(s: string, tp: T[P]): void { >m : (s: string, tp: T[P]) => void -> : ^ ^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a : number > : ^^^^^^ >s : string @@ -150,7 +150,7 @@ function m(s: string, tp: T[P]): voi } function n(s: string, tp: T[P]): void { >n : (s: string, tp: T[P]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >s : string > : ^^^^^^ >s : string diff --git a/tests/baselines/reference/nonPrimitiveInFunction.types b/tests/baselines/reference/nonPrimitiveInFunction.types index 69b0760475d65..a11ac1b683c70 100644 --- a/tests/baselines/reference/nonPrimitiveInFunction.types +++ b/tests/baselines/reference/nonPrimitiveInFunction.types @@ -40,7 +40,7 @@ nonPrimitive = returnObject(); >returnObject() : object > : ^^^^^^ >returnObject : () => object -> : ^^^^^^^^^^^^ +> : ^^^^^^ takeObject(primitive); // expect error >takeObject(primitive) : void @@ -58,7 +58,7 @@ primitive = returnObject(); // expect error >returnObject() : object > : ^^^^^^ >returnObject : () => object -> : ^^^^^^^^^^^^ +> : ^^^^^^ function returnError(): object { >returnError : () => object diff --git a/tests/baselines/reference/nonPrimitiveInGeneric.types b/tests/baselines/reference/nonPrimitiveInGeneric.types index 86a43c7c78121..b35a8d52d1802 100644 --- a/tests/baselines/reference/nonPrimitiveInGeneric.types +++ b/tests/baselines/reference/nonPrimitiveInGeneric.types @@ -59,7 +59,7 @@ generic(b); // expect error function bound(t: T) { >bound : (t: T) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >t : T > : ^ @@ -74,7 +74,7 @@ bound({}); >bound({}) : void > : ^^^^ >bound : (t: T) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >{} : {} > : ^^ @@ -82,7 +82,7 @@ bound(a); >bound(a) : void > : ^^^^ >bound : (t: T) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >a : {} > : ^^ @@ -90,7 +90,7 @@ bound(123); // expect error >bound(123) : void > : ^^^^ >bound : (t: T) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >123 : 123 > : ^^^ @@ -98,41 +98,41 @@ bound(b); // expect error >bound(b) : void > : ^^^^ >bound : (t: T) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >b : string > : ^^^^^^ function bound2() {} >bound2 : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ bound2<{}>(); >bound2<{}>() : void > : ^^^^ >bound2 : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ bound2(); >bound2() : void > : ^^^^ >bound2 : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ bound2(); // expect error >bound2() : void > : ^^^^ >bound2 : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ bound2(); // expect error >bound2() : void > : ^^^^ >bound2 : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ function bound3(t: T) { >bound3 : (t: T) => void -> : ^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >t : T > : ^ diff --git a/tests/baselines/reference/nonPrimitiveNarrow.types b/tests/baselines/reference/nonPrimitiveNarrow.types index ce7d8047c5214..72d16fcdccb77 100644 --- a/tests/baselines/reference/nonPrimitiveNarrow.types +++ b/tests/baselines/reference/nonPrimitiveNarrow.types @@ -78,11 +78,11 @@ if (typeof b === 'object') { >b.toString() : string > : ^^^^^^ >b.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >b : object > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } else { b.toString(); // error, never diff --git a/tests/baselines/reference/nonPrimitiveRhsSideOfInExpression.types b/tests/baselines/reference/nonPrimitiveRhsSideOfInExpression.types index d2e42ec06d881..bb81a7ec9f4ce 100644 --- a/tests/baselines/reference/nonPrimitiveRhsSideOfInExpression.types +++ b/tests/baselines/reference/nonPrimitiveRhsSideOfInExpression.types @@ -36,5 +36,5 @@ const b2 = "bar" in f(); >f() : object > : ^^^^^^ >f : () => object -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/nonPrimitiveStrictNull.types b/tests/baselines/reference/nonPrimitiveStrictNull.types index 0aae19e5b787b..08dcd72710f04 100644 --- a/tests/baselines/reference/nonPrimitiveStrictNull.types +++ b/tests/baselines/reference/nonPrimitiveStrictNull.types @@ -23,11 +23,11 @@ var e: object | null a.toString; // error >a.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >a : object > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ a = undefined; // error >a = undefined : undefined @@ -145,11 +145,11 @@ if (typeof d === 'object') { >d.toString() : string > : ^^^^^^ >d.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >d : object | null > : ^^^^^^^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } else { d.toString(); // error, undefined @@ -184,11 +184,11 @@ if (d == null) { >d.toString() : string > : ^^^^^^ >d.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >d : object > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } if (d === null) { @@ -212,11 +212,11 @@ if (d === null) { >d.toString() : string > : ^^^^^^ >d.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >d : object | undefined > : ^^^^^^^^^^^^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } if (typeof d === 'undefined') { @@ -244,11 +244,11 @@ if (typeof d === 'undefined') { >d.toString() : string > : ^^^^^^ >d.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >d : object | null > : ^^^^^^^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } interface Proxy {} diff --git a/tests/baselines/reference/nongenericPartialInstantiationsRelatedInBothDirections.types b/tests/baselines/reference/nongenericPartialInstantiationsRelatedInBothDirections.types index 1d3263315c78a..a33bf02861182 100644 --- a/tests/baselines/reference/nongenericPartialInstantiationsRelatedInBothDirections.types +++ b/tests/baselines/reference/nongenericPartialInstantiationsRelatedInBothDirections.types @@ -33,17 +33,17 @@ declare let cfoo: ObjectContaining; cfoo = cafoo; >cfoo = cafoo : ObjectContaining<{ a: number; foo: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^ >cfoo : ObjectContaining > : ^^^^^^^^^^^^^^^^^^^^^ >cafoo : ObjectContaining<{ a: number; foo: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^ cafoo = cfoo; >cafoo = cfoo : ObjectContaining > : ^^^^^^^^^^^^^^^^^^^^^ >cafoo : ObjectContaining<{ a: number; foo: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^ >cfoo : ObjectContaining > : ^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/nonnullAssertionPropegatesContextualType.types b/tests/baselines/reference/nonnullAssertionPropegatesContextualType.types index b9faff1a7ea16..8424e057fb0ad 100644 --- a/tests/baselines/reference/nonnullAssertionPropegatesContextualType.types +++ b/tests/baselines/reference/nonnullAssertionPropegatesContextualType.types @@ -11,12 +11,12 @@ let rect2: SVGRectElement = document.querySelector('.svg-rectangle')!; // Error: > : ^^^^^^^^^^^^^^ >document.querySelector('.svg-rectangle') : SVGRectElement | null > : ^^^^^^^^^^^^^^^^^^^^^ ->document.querySelector : { (selectors: K): HTMLElementTagNameMap[K] | null; (selectors: K_1): SVGElementTagNameMap[K_1] | null; (selectors: K_2): MathMLElementTagNameMap[K_2] | null; (selectors: K_3): HTMLElementDeprecatedTagNameMap[K_3] | null; (selectors: string): E | null; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +>document.querySelector : { (selectors: K): HTMLElementTagNameMap[K] | null; (selectors: K): SVGElementTagNameMap[K] | null; (selectors: K): MathMLElementTagNameMap[K] | null; (selectors: K): HTMLElementDeprecatedTagNameMap[K] | null; (selectors: string): E | null; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ >document : Document > : ^^^^^^^^ ->querySelector : { (selectors: K): HTMLElementTagNameMap[K] | null; (selectors: K_1): SVGElementTagNameMap[K_1] | null; (selectors: K_2): MathMLElementTagNameMap[K_2] | null; (selectors: K_3): HTMLElementDeprecatedTagNameMap[K_3] | null; (selectors: string): E | null; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +>querySelector : { (selectors: K): HTMLElementTagNameMap[K] | null; (selectors: K): SVGElementTagNameMap[K] | null; (selectors: K): MathMLElementTagNameMap[K] | null; (selectors: K): HTMLElementDeprecatedTagNameMap[K] | null; (selectors: string): E | null; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ >'.svg-rectangle' : ".svg-rectangle" > : ^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/normalizedIntersectionTooComplex.types b/tests/baselines/reference/normalizedIntersectionTooComplex.types index 00a3c9ff29fe0..75f6433313e60 100644 --- a/tests/baselines/reference/normalizedIntersectionTooComplex.types +++ b/tests/baselines/reference/normalizedIntersectionTooComplex.types @@ -38,8 +38,8 @@ interface Big { > : ^^^^^^^^^^^^^^^^^^ >"0" : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->ref : Obj<{ common?: string | undefined; "0"?: number | undefined; ref?: Obj | Func; }> | Func<{ common?: string | undefined; "0"?: number | undefined; ref?: Obj | Func; }> | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +>ref : Obj<{ common?: string; "0"?: number; ref?: Obj | Func; }> | Func<{ common?: string; "0"?: number; ref?: Obj | Func; }> | undefined +> : ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^ "1": { common?: string; "1"?: number, ref?: Obj | Func; } >"1" : { common?: string; "1"?: number; ref?: Obj | Func; } @@ -48,8 +48,8 @@ interface Big { > : ^^^^^^^^^^^^^^^^^^ >"1" : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->ref : Obj<{ common?: string | undefined; "1"?: number | undefined; ref?: Obj | Func; }> | Func<{ common?: string | undefined; "1"?: number | undefined; ref?: Obj | Func; }> | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +>ref : Obj<{ common?: string; "1"?: number; ref?: Obj | Func; }> | Func<{ common?: string; "1"?: number; ref?: Obj | Func; }> | undefined +> : ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^ "2": { common?: string; "2"?: number, ref?: Obj | Func; } >"2" : { common?: string; "2"?: number; ref?: Obj | Func; } @@ -58,8 +58,8 @@ interface Big { > : ^^^^^^^^^^^^^^^^^^ >"2" : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->ref : Obj<{ common?: string | undefined; "2"?: number | undefined; ref?: Obj | Func; }> | Func<{ common?: string | undefined; "2"?: number | undefined; ref?: Obj | Func; }> | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +>ref : Obj<{ common?: string; "2"?: number; ref?: Obj | Func; }> | Func<{ common?: string; "2"?: number; ref?: Obj | Func; }> | undefined +> : ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^ "3": { common?: string; "3"?: number, ref?: Obj | Func; } >"3" : { common?: string; "3"?: number; ref?: Obj | Func; } @@ -68,8 +68,8 @@ interface Big { > : ^^^^^^^^^^^^^^^^^^ >"3" : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->ref : Obj<{ common?: string | undefined; "3"?: number | undefined; ref?: Obj | Func; }> | Func<{ common?: string | undefined; "3"?: number | undefined; ref?: Obj | Func; }> | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +>ref : Obj<{ common?: string; "3"?: number; ref?: Obj | Func; }> | Func<{ common?: string; "3"?: number; ref?: Obj | Func; }> | undefined +> : ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^ "4": { common?: string; "4"?: number, ref?: Obj | Func; } >"4" : { common?: string; "4"?: number; ref?: Obj | Func; } @@ -78,8 +78,8 @@ interface Big { > : ^^^^^^^^^^^^^^^^^^ >"4" : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->ref : Obj<{ common?: string | undefined; "4"?: number | undefined; ref?: Obj | Func; }> | Func<{ common?: string | undefined; "4"?: number | undefined; ref?: Obj | Func; }> | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +>ref : Obj<{ common?: string; "4"?: number; ref?: Obj | Func; }> | Func<{ common?: string; "4"?: number; ref?: Obj | Func; }> | undefined +> : ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^ "5": { common?: string; "5"?: number, ref?: Obj | Func; } >"5" : { common?: string; "5"?: number; ref?: Obj | Func; } @@ -88,8 +88,8 @@ interface Big { > : ^^^^^^^^^^^^^^^^^^ >"5" : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->ref : Obj<{ common?: string | undefined; "5"?: number | undefined; ref?: Obj | Func; }> | Func<{ common?: string | undefined; "5"?: number | undefined; ref?: Obj | Func; }> | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +>ref : Obj<{ common?: string; "5"?: number; ref?: Obj | Func; }> | Func<{ common?: string; "5"?: number; ref?: Obj | Func; }> | undefined +> : ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^ "6": { common?: string; "6"?: number, ref?: Obj | Func; } >"6" : { common?: string; "6"?: number; ref?: Obj | Func; } @@ -98,8 +98,8 @@ interface Big { > : ^^^^^^^^^^^^^^^^^^ >"6" : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->ref : Obj<{ common?: string | undefined; "6"?: number | undefined; ref?: Obj | Func; }> | Func<{ common?: string | undefined; "6"?: number | undefined; ref?: Obj | Func; }> | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +>ref : Obj<{ common?: string; "6"?: number; ref?: Obj | Func; }> | Func<{ common?: string; "6"?: number; ref?: Obj | Func; }> | undefined +> : ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^ "7": { common?: string; "7"?: number, ref?: Obj | Func; } >"7" : { common?: string; "7"?: number; ref?: Obj | Func; } @@ -108,8 +108,8 @@ interface Big { > : ^^^^^^^^^^^^^^^^^^ >"7" : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->ref : Obj<{ common?: string | undefined; "7"?: number | undefined; ref?: Obj | Func; }> | Func<{ common?: string | undefined; "7"?: number | undefined; ref?: Obj | Func; }> | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +>ref : Obj<{ common?: string; "7"?: number; ref?: Obj | Func; }> | Func<{ common?: string; "7"?: number; ref?: Obj | Func; }> | undefined +> : ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^ "8": { common?: string; "8"?: number, ref?: Obj | Func; } >"8" : { common?: string; "8"?: number; ref?: Obj | Func; } @@ -118,8 +118,8 @@ interface Big { > : ^^^^^^^^^^^^^^^^^^ >"8" : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->ref : Obj<{ common?: string | undefined; "8"?: number | undefined; ref?: Obj | Func; }> | Func<{ common?: string | undefined; "8"?: number | undefined; ref?: Obj | Func; }> | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +>ref : Obj<{ common?: string; "8"?: number; ref?: Obj | Func; }> | Func<{ common?: string; "8"?: number; ref?: Obj | Func; }> | undefined +> : ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^ "9": { common?: string; "9"?: number, ref?: Obj | Func; } >"9" : { common?: string; "9"?: number; ref?: Obj | Func; } @@ -128,8 +128,8 @@ interface Big { > : ^^^^^^^^^^^^^^^^^^ >"9" : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->ref : Obj<{ common?: string | undefined; "9"?: number | undefined; ref?: Obj | Func; }> | Func<{ common?: string | undefined; "9"?: number | undefined; ref?: Obj | Func; }> | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +>ref : Obj<{ common?: string; "9"?: number; ref?: Obj | Func; }> | Func<{ common?: string; "9"?: number; ref?: Obj | Func; }> | undefined +> : ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^ "10": { common?: string; "10"?: number, ref?: Obj | Func; } >"10" : { common?: string; "10"?: number; ref?: Obj | Func; } @@ -138,8 +138,8 @@ interface Big { > : ^^^^^^^^^^^^^^^^^^ >"10" : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->ref : Obj<{ common?: string | undefined; "10"?: number | undefined; ref?: Obj | Func; }> | Func<{ common?: string | undefined; "10"?: number | undefined; ref?: Obj | Func; }> | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +>ref : Obj<{ common?: string; "10"?: number; ref?: Obj | Func; }> | Func<{ common?: string; "10"?: number; ref?: Obj | Func; }> | undefined +> : ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^ "11": { common?: string; "11"?: number, ref?: Obj | Func; } >"11" : { common?: string; "11"?: number; ref?: Obj | Func; } @@ -148,8 +148,8 @@ interface Big { > : ^^^^^^^^^^^^^^^^^^ >"11" : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->ref : Obj<{ common?: string | undefined; "11"?: number | undefined; ref?: Obj | Func; }> | Func<{ common?: string | undefined; "11"?: number | undefined; ref?: Obj | Func; }> | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +>ref : Obj<{ common?: string; "11"?: number; ref?: Obj | Func; }> | Func<{ common?: string; "11"?: number; ref?: Obj | Func; }> | undefined +> : ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^ "12": { common?: string; "12"?: number, ref?: Obj | Func; } >"12" : { common?: string; "12"?: number; ref?: Obj | Func; } @@ -158,8 +158,8 @@ interface Big { > : ^^^^^^^^^^^^^^^^^^ >"12" : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->ref : Obj<{ common?: string | undefined; "12"?: number | undefined; ref?: Obj | Func; }> | Func<{ common?: string | undefined; "12"?: number | undefined; ref?: Obj | Func; }> | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +>ref : Obj<{ common?: string; "12"?: number; ref?: Obj | Func; }> | Func<{ common?: string; "12"?: number; ref?: Obj | Func; }> | undefined +> : ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^ "13": { common?: string; "13"?: number, ref?: Obj | Func; } >"13" : { common?: string; "13"?: number; ref?: Obj | Func; } @@ -168,8 +168,8 @@ interface Big { > : ^^^^^^^^^^^^^^^^^^ >"13" : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->ref : Obj<{ common?: string | undefined; "13"?: number | undefined; ref?: Obj | Func; }> | Func<{ common?: string | undefined; "13"?: number | undefined; ref?: Obj | Func; }> | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +>ref : Obj<{ common?: string; "13"?: number; ref?: Obj | Func; }> | Func<{ common?: string; "13"?: number; ref?: Obj | Func; }> | undefined +> : ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^ "14": { common?: string; "14"?: number, ref?: Obj | Func; } >"14" : { common?: string; "14"?: number; ref?: Obj | Func; } @@ -178,8 +178,8 @@ interface Big { > : ^^^^^^^^^^^^^^^^^^ >"14" : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->ref : Obj<{ common?: string | undefined; "14"?: number | undefined; ref?: Obj | Func; }> | Func<{ common?: string | undefined; "14"?: number | undefined; ref?: Obj | Func; }> | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +>ref : Obj<{ common?: string; "14"?: number; ref?: Obj | Func; }> | Func<{ common?: string; "14"?: number; ref?: Obj | Func; }> | undefined +> : ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^ "15": { common?: string; "15"?: number, ref?: Obj | Func; } >"15" : { common?: string; "15"?: number; ref?: Obj | Func; } @@ -188,8 +188,8 @@ interface Big { > : ^^^^^^^^^^^^^^^^^^ >"15" : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->ref : Obj<{ common?: string | undefined; "15"?: number | undefined; ref?: Obj | Func; }> | Func<{ common?: string | undefined; "15"?: number | undefined; ref?: Obj | Func; }> | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +>ref : Obj<{ common?: string; "15"?: number; ref?: Obj | Func; }> | Func<{ common?: string; "15"?: number; ref?: Obj | Func; }> | undefined +> : ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^ "16": { common?: string; "16"?: number, ref?: Obj | Func; } >"16" : { common?: string; "16"?: number; ref?: Obj | Func; } @@ -198,8 +198,8 @@ interface Big { > : ^^^^^^^^^^^^^^^^^^ >"16" : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->ref : Obj<{ common?: string | undefined; "16"?: number | undefined; ref?: Obj | Func; }> | Func<{ common?: string | undefined; "16"?: number | undefined; ref?: Obj | Func; }> | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +>ref : Obj<{ common?: string; "16"?: number; ref?: Obj | Func; }> | Func<{ common?: string; "16"?: number; ref?: Obj | Func; }> | undefined +> : ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^ "17": { common?: string; "17"?: number, ref?: Obj | Func; } >"17" : { common?: string; "17"?: number; ref?: Obj | Func; } @@ -208,12 +208,12 @@ interface Big { > : ^^^^^^^^^^^^^^^^^^ >"17" : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->ref : Obj<{ common?: string | undefined; "17"?: number | undefined; ref?: Obj | Func; }> | Func<{ common?: string | undefined; "17"?: number | undefined; ref?: Obj | Func; }> | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +>ref : Obj<{ common?: string; "17"?: number; ref?: Obj | Func; }> | Func<{ common?: string; "17"?: number; ref?: Obj | Func; }> | undefined +> : ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^ } declare function getCtor(comp: T): CtorOf >getCtor : (comp: T) => CtorOf -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >comp : T > : ^ @@ -222,22 +222,22 @@ declare var all: keyof Big; > : ^^^^^^^^^ const ctor = getCtor(all); ->ctor : CtorOf<{ common?: string | undefined; "0"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "1"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "2"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "3"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "4"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "5"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "6"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "7"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "8"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "9"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "10"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "11"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "12"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "13"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "14"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "15"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "16"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "17"?: number | undefined; ref?: Obj | Func | undefined; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->getCtor(all) : CtorOf<{ common?: string | undefined; "0"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "1"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "2"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "3"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "4"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "5"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "6"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "7"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "8"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "9"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "10"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "11"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "12"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "13"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "14"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "15"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "16"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "17"?: number | undefined; ref?: Obj | Func | undefined; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>ctor : CtorOf<{ common?: string; "0"?: number; ref?: Obj | Func; } | { common?: string; "1"?: number; ref?: Obj | Func; } | { common?: string; "2"?: number; ref?: Obj | Func; } | { common?: string; "3"?: number; ref?: Obj | Func; } | { common?: string; "4"?: number; ref?: Obj | Func; } | { common?: string; "5"?: number; ref?: Obj | Func; } | { common?: string; "6"?: number; ref?: Obj | Func; } | { common?: string; "7"?: number; ref?: Obj | Func; } | { common?: string; "8"?: number; ref?: Obj | Func; } | { common?: string; "9"?: number; ref?: Obj | Func; } | { common?: string; "10"?: number; ref?: Obj | Func; } | { common?: string; "11"?: number; ref?: Obj | Func; } | { common?: string; "12"?: number; ref?: Obj | Func; } | { common?: string; "13"?: number; ref?: Obj | Func; } | { common?: string; "14"?: number; ref?: Obj | Func; } | { common?: string; "15"?: number; ref?: Obj | Func; } | { common?: string; "16"?: number; ref?: Obj | Func; } | { common?: string; "17"?: number; ref?: Obj | Func; }> +> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^ +>getCtor(all) : CtorOf<{ common?: string; "0"?: number; ref?: Obj | Func; } | { common?: string; "1"?: number; ref?: Obj | Func; } | { common?: string; "2"?: number; ref?: Obj | Func; } | { common?: string; "3"?: number; ref?: Obj | Func; } | { common?: string; "4"?: number; ref?: Obj | Func; } | { common?: string; "5"?: number; ref?: Obj | Func; } | { common?: string; "6"?: number; ref?: Obj | Func; } | { common?: string; "7"?: number; ref?: Obj | Func; } | { common?: string; "8"?: number; ref?: Obj | Func; } | { common?: string; "9"?: number; ref?: Obj | Func; } | { common?: string; "10"?: number; ref?: Obj | Func; } | { common?: string; "11"?: number; ref?: Obj | Func; } | { common?: string; "12"?: number; ref?: Obj | Func; } | { common?: string; "13"?: number; ref?: Obj | Func; } | { common?: string; "14"?: number; ref?: Obj | Func; } | { common?: string; "15"?: number; ref?: Obj | Func; } | { common?: string; "16"?: number; ref?: Obj | Func; } | { common?: string; "17"?: number; ref?: Obj | Func; }> +> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^ >getCtor : (comp: T) => CtorOf -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >all : keyof Big > : ^^^^^^^^^ const comp = ctor({ common: "ok", ref: x => console.log(x) }); ->comp : { common?: string | undefined; "0"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "1"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "2"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "3"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "4"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "5"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "6"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "7"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "8"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "9"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "10"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "11"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "12"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "13"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "14"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "15"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "16"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "17"?: number | undefined; ref?: Obj | Func | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->ctor({ common: "ok", ref: x => console.log(x) }) : { common?: string | undefined; "0"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "1"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "2"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "3"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "4"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "5"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "6"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "7"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "8"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "9"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "10"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "11"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "12"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "13"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "14"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "15"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "16"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "17"?: number | undefined; ref?: Obj | Func | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->ctor : CtorOf<{ common?: string | undefined; "0"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "1"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "2"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "3"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "4"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "5"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "6"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "7"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "8"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "9"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "10"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "11"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "12"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "13"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "14"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "15"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "16"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "17"?: number | undefined; ref?: Obj | Func | undefined; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>comp : { common?: string; "0"?: number; ref?: Obj | Func; } | { common?: string; "1"?: number; ref?: Obj | Func; } | { common?: string; "2"?: number; ref?: Obj | Func; } | { common?: string; "3"?: number; ref?: Obj | Func; } | { common?: string; "4"?: number; ref?: Obj | Func; } | { common?: string; "5"?: number; ref?: Obj | Func; } | { common?: string; "6"?: number; ref?: Obj | Func; } | { common?: string; "7"?: number; ref?: Obj | Func; } | { common?: string; "8"?: number; ref?: Obj | Func; } | { common?: string; "9"?: number; ref?: Obj | Func; } | { common?: string; "10"?: number; ref?: Obj | Func; } | { common?: string; "11"?: number; ref?: Obj | Func; } | { common?: string; "12"?: number; ref?: Obj | Func; } | { common?: string; "13"?: number; ref?: Obj | Func; } | { common?: string; "14"?: number; ref?: Obj | Func; } | { common?: string; "15"?: number; ref?: Obj | Func; } | { common?: string; "16"?: number; ref?: Obj | Func; } | { common?: string; "17"?: number; ref?: Obj | Func; } +> : ^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^ +>ctor({ common: "ok", ref: x => console.log(x) }) : { common?: string; "0"?: number; ref?: Obj | Func; } | { common?: string; "1"?: number; ref?: Obj | Func; } | { common?: string; "2"?: number; ref?: Obj | Func; } | { common?: string; "3"?: number; ref?: Obj | Func; } | { common?: string; "4"?: number; ref?: Obj | Func; } | { common?: string; "5"?: number; ref?: Obj | Func; } | { common?: string; "6"?: number; ref?: Obj | Func; } | { common?: string; "7"?: number; ref?: Obj | Func; } | { common?: string; "8"?: number; ref?: Obj | Func; } | { common?: string; "9"?: number; ref?: Obj | Func; } | { common?: string; "10"?: number; ref?: Obj | Func; } | { common?: string; "11"?: number; ref?: Obj | Func; } | { common?: string; "12"?: number; ref?: Obj | Func; } | { common?: string; "13"?: number; ref?: Obj | Func; } | { common?: string; "14"?: number; ref?: Obj | Func; } | { common?: string; "15"?: number; ref?: Obj | Func; } | { common?: string; "16"?: number; ref?: Obj | Func; } | { common?: string; "17"?: number; ref?: Obj | Func; } +> : ^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^ +>ctor : CtorOf<{ common?: string; "0"?: number; ref?: Obj | Func; } | { common?: string; "1"?: number; ref?: Obj | Func; } | { common?: string; "2"?: number; ref?: Obj | Func; } | { common?: string; "3"?: number; ref?: Obj | Func; } | { common?: string; "4"?: number; ref?: Obj | Func; } | { common?: string; "5"?: number; ref?: Obj | Func; } | { common?: string; "6"?: number; ref?: Obj | Func; } | { common?: string; "7"?: number; ref?: Obj | Func; } | { common?: string; "8"?: number; ref?: Obj | Func; } | { common?: string; "9"?: number; ref?: Obj | Func; } | { common?: string; "10"?: number; ref?: Obj | Func; } | { common?: string; "11"?: number; ref?: Obj | Func; } | { common?: string; "12"?: number; ref?: Obj | Func; } | { common?: string; "13"?: number; ref?: Obj | Func; } | { common?: string; "14"?: number; ref?: Obj | Func; } | { common?: string; "15"?: number; ref?: Obj | Func; } | { common?: string; "16"?: number; ref?: Obj | Func; } | { common?: string; "17"?: number; ref?: Obj | Func; }> +> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^ >{ common: "ok", ref: x => console.log(x) } : { common: string; ref: (x: any) => void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ >common : string @@ -253,11 +253,11 @@ const comp = ctor({ common: "ok", ref: x => console.log(x) }); >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : any > : ^^^ diff --git a/tests/baselines/reference/nullAssignableToEveryType.types b/tests/baselines/reference/nullAssignableToEveryType.types index a221e7f60f8a1..432b1e9790ab8 100644 --- a/tests/baselines/reference/nullAssignableToEveryType.types +++ b/tests/baselines/reference/nullAssignableToEveryType.types @@ -121,7 +121,7 @@ var q: String = null; function foo(x: T, y: U, z: V) { >foo : (x: T, y: U, z: V) => void -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ >y : U diff --git a/tests/baselines/reference/nullishCoalescingOperator1.types b/tests/baselines/reference/nullishCoalescingOperator1.types index 0b83f552b1152..d6e8d07a6a864 100644 --- a/tests/baselines/reference/nullishCoalescingOperator1.types +++ b/tests/baselines/reference/nullishCoalescingOperator1.types @@ -273,7 +273,7 @@ if (!(maybeBool ?? true)) { >foo() : void > : ^^^^ >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } if (maybeBool ?? true) { @@ -288,14 +288,14 @@ if (maybeBool ?? true) { >foo() : void > : ^^^^ >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } else { foo(); >foo() : void > : ^^^^ >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } if (false ?? true) { @@ -310,13 +310,13 @@ if (false ?? true) { >foo() : void > : ^^^^ >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } else { foo(); >foo() : void > : ^^^^ >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/nullishCoalescingOperator10.types b/tests/baselines/reference/nullishCoalescingOperator10.types index 417fd4c834037..1bd2da8ebfbdb 100644 --- a/tests/baselines/reference/nullishCoalescingOperator10.types +++ b/tests/baselines/reference/nullishCoalescingOperator10.types @@ -13,7 +13,7 @@ let gg = f() ?? 'foo' >f() : string | undefined > : ^^^^^^^^^^^^^^^^^^ >f : () => string | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >'foo' : "foo" > : ^^^^^ diff --git a/tests/baselines/reference/nullishCoalescingOperator12.types b/tests/baselines/reference/nullishCoalescingOperator12.types index c65421492b85d..de8f143ad8525 100644 --- a/tests/baselines/reference/nullishCoalescingOperator12.types +++ b/tests/baselines/reference/nullishCoalescingOperator12.types @@ -20,7 +20,7 @@ for (const i of obj?.arr ?? []) { } >obj?.arr : any[] > : ^^^^^ >obj : { arr: any[]; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >arr : any[] > : ^^^^^ >[] : never[] diff --git a/tests/baselines/reference/nullishCoalescingOperator8.types b/tests/baselines/reference/nullishCoalescingOperator8.types index 02757adfded38..df6f3e201d751 100644 --- a/tests/baselines/reference/nullishCoalescingOperator8.types +++ b/tests/baselines/reference/nullishCoalescingOperator8.types @@ -25,7 +25,7 @@ const n1 = a.p ?? "default"; >a.p : string | undefined > : ^^^^^^^^^^^^^^^^^^ >a : { p: string | undefined; m(): string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ ^^^ >p : string | undefined > : ^^^^^^^^^^^^^^^^^^ >"default" : "default" @@ -39,11 +39,11 @@ const n2 = a.m() ?? "default"; >a.m() : string | undefined > : ^^^^^^^^^^^^^^^^^^ >a.m : () => string | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >a : { p: string | undefined; m(): string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ ^^^ >m : () => string | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >"default" : "default" > : ^^^^^^^^^ @@ -59,25 +59,25 @@ const n3 = a.m() ?? b.p ?? b.m() ?? "default";; >a.m() : string | undefined > : ^^^^^^^^^^^^^^^^^^ >a.m : () => string | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >a : { p: string | undefined; m(): string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ ^^^ >m : () => string | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >b.p : string | undefined > : ^^^^^^^^^^^^^^^^^^ >b : { p: string | undefined; m(): string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ ^^^ >p : string | undefined > : ^^^^^^^^^^^^^^^^^^ >b.m() : string | undefined > : ^^^^^^^^^^^^^^^^^^ >b.m : () => string | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >b : { p: string | undefined; m(): string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ ^^^ >m : () => string | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >"default" : "default" > : ^^^^^^^^^ diff --git a/tests/baselines/reference/nullishCoalescingOperator9.types b/tests/baselines/reference/nullishCoalescingOperator9.types index 10e98f8de5ecc..f8729a8d5cd62 100644 --- a/tests/baselines/reference/nullishCoalescingOperator9.types +++ b/tests/baselines/reference/nullishCoalescingOperator9.types @@ -9,11 +9,11 @@ declare let f: null | ((x: string) => void); let g = f || (abc => { void abc.toLowerCase() }) >g : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f || (abc => { void abc.toLowerCase() }) : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : ((x: string) => void) | null -> : ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^ >(abc => { void abc.toLowerCase() }) : (abc: string) => void > : ^ ^^^^^^^^^^^^^^^^^ >abc => { void abc.toLowerCase() } : (abc: string) => void @@ -25,19 +25,19 @@ let g = f || (abc => { void abc.toLowerCase() }) >abc.toLowerCase() : string > : ^^^^^^ >abc.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >abc : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ let gg = f ?? (abc => { void abc.toLowerCase() }) >gg : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f ?? (abc => { void abc.toLowerCase() }) : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : ((x: string) => void) | null -> : ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^ >(abc => { void abc.toLowerCase() }) : (abc: string) => void > : ^ ^^^^^^^^^^^^^^^^^ >abc => { void abc.toLowerCase() } : (abc: string) => void @@ -49,9 +49,9 @@ let gg = f ?? (abc => { void abc.toLowerCase() }) >abc.toLowerCase() : string > : ^^^^^^ >abc.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >abc : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/numberPropertyAccess.types b/tests/baselines/reference/numberPropertyAccess.types index e8726db483908..7e09f4b070569 100644 --- a/tests/baselines/reference/numberPropertyAccess.types +++ b/tests/baselines/reference/numberPropertyAccess.types @@ -13,11 +13,11 @@ var a = x.toExponential(); >x.toExponential() : string > : ^^^^^^ >x.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var b = x.hasOwnProperty('toFixed'); >b : boolean @@ -25,11 +25,11 @@ var b = x.hasOwnProperty('toFixed'); >x.hasOwnProperty('toFixed') : boolean > : ^^^^^^^ >x.hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : number > : ^^^^^^ >hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'toFixed' : "toFixed" > : ^^^^^^^^^ @@ -39,7 +39,7 @@ var c = x['toExponential'](); >x['toExponential']() : string > : ^^^^^^ >x['toExponential'] : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >'toExponential' : "toExponential" @@ -51,7 +51,7 @@ var d = x['hasOwnProperty']('toFixed'); >x['hasOwnProperty']('toFixed') : boolean > : ^^^^^^^ >x['hasOwnProperty'] : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : number > : ^^^^^^ >'hasOwnProperty' : "hasOwnProperty" diff --git a/tests/baselines/reference/numberToString.types b/tests/baselines/reference/numberToString.types index 14849a6f2ad3b..56e372eb93b06 100644 --- a/tests/baselines/reference/numberToString.types +++ b/tests/baselines/reference/numberToString.types @@ -23,7 +23,7 @@ f1(3); >f1(3) : string > : ^^^^^^ >f1 : (n: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >3 : 3 > : ^ @@ -31,7 +31,7 @@ f2(3); // error no coercion to string >f2(3) : void > : ^^^^ >f2 : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >3 : 3 > : ^ @@ -39,7 +39,7 @@ f2(3+""); // ok + operator promotes >f2(3+"") : void > : ^^^^ >f2 : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >3+"" : string > : ^^^^^^ >3 : 3 diff --git a/tests/baselines/reference/numberVsBigIntOperations.types b/tests/baselines/reference/numberVsBigIntOperations.types index f64e83b0f9fd0..1d54ea840370a 100644 --- a/tests/baselines/reference/numberVsBigIntOperations.types +++ b/tests/baselines/reference/numberVsBigIntOperations.types @@ -1253,7 +1253,7 @@ if (typeof zeroOrBigOne === "bigint") isBigInt(zeroOrBigOne); >isBigInt(zeroOrBigOne) : bigint > : ^^^^^^ >isBigInt : (x: 0n | 1n) => bigint -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >zeroOrBigOne : 1n > : ^^ @@ -1261,7 +1261,7 @@ else isNumber(zeroOrBigOne); >isNumber(zeroOrBigOne) : number > : ^^^^^^ >isNumber : (x: 0 | 1) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >zeroOrBigOne : 0 > : ^ @@ -1306,7 +1306,7 @@ type NumberOrBigint = number | bigint; function getKey(key: S) { >getKey : (key: S) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >key : S > : ^ diff --git a/tests/baselines/reference/numericEnumMappedType.types b/tests/baselines/reference/numericEnumMappedType.types index 2b88803631191..7ede3b7c4554a 100644 --- a/tests/baselines/reference/numericEnumMappedType.types +++ b/tests/baselines/reference/numericEnumMappedType.types @@ -125,13 +125,13 @@ enum N1 { A = val(), B = val() } >val() : number > : ^^^^^^ >val : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >B : N1.B > : ^^^^ >val() : number > : ^^^^^^ >val : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ enum N2 { C = val(), D = val() } >N2 : N2 @@ -141,13 +141,13 @@ enum N2 { C = val(), D = val() } >val() : number > : ^^^^^^ >val : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >D : N2.D > : ^^^^ >val() : number > : ^^^^^^ >val : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ type T1 = { [K in N1 | N2]: K }; >T1 : T1 diff --git a/tests/baselines/reference/numericIndexerConstraint2.types b/tests/baselines/reference/numericIndexerConstraint2.types index 93aa678eede98..dc2f51b285e19 100644 --- a/tests/baselines/reference/numericIndexerConstraint2.types +++ b/tests/baselines/reference/numericIndexerConstraint2.types @@ -21,9 +21,9 @@ var a: { one: number; }; x = a; >x = a : { one: number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { [index: string]: Foo; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : { one: number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ diff --git a/tests/baselines/reference/numericIndexingResults.types b/tests/baselines/reference/numericIndexingResults.types index 7fae0969529c3..5d0c4aba4a5e8 100644 --- a/tests/baselines/reference/numericIndexingResults.types +++ b/tests/baselines/reference/numericIndexingResults.types @@ -187,7 +187,7 @@ var r1 = a['1']; >a['1'] : string > : ^^^^^^ >a : { [x: number]: string; 1: string; "2": string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >'1' : "1" > : ^^^ @@ -197,7 +197,7 @@ var r2 = a['2']; >a['2'] : string > : ^^^^^^ >a : { [x: number]: string; 1: string; "2": string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >'2' : "2" > : ^^^ @@ -207,7 +207,7 @@ var r3 = a['3']; >a['3'] : string > : ^^^^^^ >a : { [x: number]: string; 1: string; "2": string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >'3' : "3" > : ^^^ @@ -217,7 +217,7 @@ var r4 = a[1]; >a[1] : string > : ^^^^^^ >a : { [x: number]: string; 1: string; "2": string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >1 : 1 > : ^ @@ -227,7 +227,7 @@ var r5 = a[2]; >a[2] : string > : ^^^^^^ >a : { [x: number]: string; 1: string; "2": string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >2 : 2 > : ^ @@ -237,7 +237,7 @@ var r6 = a[3]; >a[3] : string > : ^^^^^^ >a : { [x: number]: string; 1: string; "2": string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >3 : 3 > : ^ @@ -343,7 +343,7 @@ var r1b = b2['1']; >b2['1'] : string > : ^^^^^^ >b2 : { [x: number]: string; 1: string; "2": string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >'1' : "1" > : ^^^ @@ -353,7 +353,7 @@ var r2b = b2['2']; >b2['2'] : string > : ^^^^^^ >b2 : { [x: number]: string; 1: string; "2": string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >'2' : "2" > : ^^^ @@ -363,7 +363,7 @@ var r3 = b2['3']; >b2['3'] : string > : ^^^^^^ >b2 : { [x: number]: string; 1: string; "2": string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >'3' : "3" > : ^^^ @@ -373,7 +373,7 @@ var r4 = b2[1]; >b2[1] : string > : ^^^^^^ >b2 : { [x: number]: string; 1: string; "2": string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >1 : 1 > : ^ @@ -383,7 +383,7 @@ var r5 = b2[2]; >b2[2] : string > : ^^^^^^ >b2 : { [x: number]: string; 1: string; "2": string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >2 : 2 > : ^ @@ -393,7 +393,7 @@ var r6 = b2[3]; >b2[3] : string > : ^^^^^^ >b2 : { [x: number]: string; 1: string; "2": string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >3 : 3 > : ^ diff --git a/tests/baselines/reference/numericLiteralTypes1.types b/tests/baselines/reference/numericLiteralTypes1.types index 45fa716f66344..33f88ca37b238 100644 --- a/tests/baselines/reference/numericLiteralTypes1.types +++ b/tests/baselines/reference/numericLiteralTypes1.types @@ -321,19 +321,19 @@ function f4(a: 1, b: 0 | 1 | 2) { declare function g(x: 0): string; >g : { (x: 0): string; (x: 1): boolean; (x: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : 0 > : ^ declare function g(x: 1): boolean; >g : { (x: 0): string; (x: 1): boolean; (x: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : 1 > : ^ declare function g(x: number): number; >g : { (x: 0): string; (x: 1): boolean; (x: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ @@ -351,7 +351,7 @@ function f5(a: 1, b: 0 | 1 | 2) { >g(0) : string > : ^^^^^^ >g : { (x: 0): string; (x: 1): boolean; (x: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >0 : 0 > : ^ @@ -361,7 +361,7 @@ function f5(a: 1, b: 0 | 1 | 2) { >g(1) : boolean > : ^^^^^^^ >g : { (x: 0): string; (x: 1): boolean; (x: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -371,7 +371,7 @@ function f5(a: 1, b: 0 | 1 | 2) { >g(2) : number > : ^^^^^^ >g : { (x: 0): string; (x: 1): boolean; (x: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >2 : 2 > : ^ @@ -381,7 +381,7 @@ function f5(a: 1, b: 0 | 1 | 2) { >g(a) : boolean > : ^^^^^^^ >g : { (x: 0): string; (x: 1): boolean; (x: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : 1 > : ^ @@ -391,7 +391,7 @@ function f5(a: 1, b: 0 | 1 | 2) { >g(b) : number > : ^^^^^^ >g : { (x: 0): string; (x: 1): boolean; (x: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : 0 | 1 | 2 > : ^^^^^^^^^ } @@ -477,7 +477,7 @@ function f11(x: Tag) { >assertNever(x) : never > : ^^^^^ >assertNever : (x: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : never > : ^^^^^ } @@ -674,7 +674,7 @@ function f20(x: Item) { >x.a : string > : ^^^^^^ >x : { kind: 0; a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >a : string > : ^^^^^^ @@ -684,7 +684,7 @@ function f20(x: Item) { >x.b : string > : ^^^^^^ >x : { kind: 1; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >b : string > : ^^^^^^ @@ -694,7 +694,7 @@ function f20(x: Item) { >x.c : string > : ^^^^^^ >x : { kind: 2; c: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >c : string > : ^^^^^^ } @@ -720,7 +720,7 @@ function f21(x: Item) { >x.a : string > : ^^^^^^ >x : { kind: 0; a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >a : string > : ^^^^^^ @@ -730,7 +730,7 @@ function f21(x: Item) { >x.b : string > : ^^^^^^ >x : { kind: 1; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >b : string > : ^^^^^^ @@ -740,7 +740,7 @@ function f21(x: Item) { >x.c : string > : ^^^^^^ >x : { kind: 2; c: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >c : string > : ^^^^^^ } @@ -748,7 +748,7 @@ function f21(x: Item) { >assertNever(x) : never > : ^^^^^ >assertNever : (x: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : never > : ^^^^^ } diff --git a/tests/baselines/reference/numericLiteralTypes2.types b/tests/baselines/reference/numericLiteralTypes2.types index 6882a95edc58c..126d8471c2bb1 100644 --- a/tests/baselines/reference/numericLiteralTypes2.types +++ b/tests/baselines/reference/numericLiteralTypes2.types @@ -321,19 +321,19 @@ function f4(a: 1, b: 0 | 1 | 2) { declare function g(x: 0): string; >g : { (x: 0): string; (x: 1): boolean; (x: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : 0 > : ^ declare function g(x: 1): boolean; >g : { (x: 0): string; (x: 1): boolean; (x: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : 1 > : ^ declare function g(x: number): number; >g : { (x: 0): string; (x: 1): boolean; (x: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ @@ -351,7 +351,7 @@ function f5(a: 1, b: 0 | 1 | 2) { >g(0) : string > : ^^^^^^ >g : { (x: 0): string; (x: 1): boolean; (x: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >0 : 0 > : ^ @@ -361,7 +361,7 @@ function f5(a: 1, b: 0 | 1 | 2) { >g(1) : boolean > : ^^^^^^^ >g : { (x: 0): string; (x: 1): boolean; (x: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -371,7 +371,7 @@ function f5(a: 1, b: 0 | 1 | 2) { >g(2) : number > : ^^^^^^ >g : { (x: 0): string; (x: 1): boolean; (x: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >2 : 2 > : ^ @@ -381,7 +381,7 @@ function f5(a: 1, b: 0 | 1 | 2) { >g(a) : boolean > : ^^^^^^^ >g : { (x: 0): string; (x: 1): boolean; (x: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : 1 > : ^ @@ -391,7 +391,7 @@ function f5(a: 1, b: 0 | 1 | 2) { >g(b) : number > : ^^^^^^ >g : { (x: 0): string; (x: 1): boolean; (x: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : 0 | 1 | 2 > : ^^^^^^^^^ } @@ -477,7 +477,7 @@ function f11(x: Tag) { >assertNever(x) : never > : ^^^^^ >assertNever : (x: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : never > : ^^^^^ } @@ -674,7 +674,7 @@ function f20(x: Item) { >x.a : string > : ^^^^^^ >x : { kind: 0; a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >a : string > : ^^^^^^ @@ -684,7 +684,7 @@ function f20(x: Item) { >x.b : string > : ^^^^^^ >x : { kind: 1; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >b : string > : ^^^^^^ @@ -694,7 +694,7 @@ function f20(x: Item) { >x.c : string > : ^^^^^^ >x : { kind: 2; c: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >c : string > : ^^^^^^ } @@ -720,7 +720,7 @@ function f21(x: Item) { >x.a : string > : ^^^^^^ >x : { kind: 0; a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >a : string > : ^^^^^^ @@ -730,7 +730,7 @@ function f21(x: Item) { >x.b : string > : ^^^^^^ >x : { kind: 1; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >b : string > : ^^^^^^ @@ -740,7 +740,7 @@ function f21(x: Item) { >x.c : string > : ^^^^^^ >x : { kind: 2; c: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >c : string > : ^^^^^^ } @@ -748,7 +748,7 @@ function f21(x: Item) { >assertNever(x) : never > : ^^^^^ >assertNever : (x: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : never > : ^^^^^ } diff --git a/tests/baselines/reference/numericLiteralsWithTrailingDecimalPoints01.types b/tests/baselines/reference/numericLiteralsWithTrailingDecimalPoints01.types index 1f6f7447a2b1e..80664c96927ad 100644 --- a/tests/baselines/reference/numericLiteralsWithTrailingDecimalPoints01.types +++ b/tests/baselines/reference/numericLiteralsWithTrailingDecimalPoints01.types @@ -5,21 +5,21 @@ >1..toString() : string > : ^^^^^^ >1..toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >1. : 1 > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ 1.0.toString(); >1.0.toString() : string > : ^^^^^^ >1.0.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >1.0 : 1 > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ 1.toString(); >1. : 1 @@ -54,11 +54,11 @@ var test1 = i.toString(); >i.toString() : string > : ^^^^^^ >i.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >i : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var test2 = 2.toString(); >test2 : number @@ -78,11 +78,11 @@ var test3 = 3 .toString(); >3 .toString() : string > : ^^^^^^ >3 .toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >3 : 3 > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var test4 = 3 .toString(); >test4 : string @@ -90,11 +90,11 @@ var test4 = 3 .toString(); >3 .toString() : string > : ^^^^^^ >3 .toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >3 : 3 > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var test5 = 3 .toString(); >test5 : string @@ -102,11 +102,11 @@ var test5 = 3 .toString(); >3 .toString() : string > : ^^^^^^ >3 .toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >3 : 3 > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var test6 = 3.['toString'](); >test6 : string @@ -114,7 +114,7 @@ var test6 = 3.['toString'](); >3.['toString']() : string > : ^^^^^^ >3.['toString'] : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >3. : 3 > : ^ >'toString' : "toString" @@ -126,13 +126,13 @@ var test7 = 3 >3.toString() : string > : ^^^^^^ >3.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >3 : 3 > : ^ .toString(); >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var test8 = new Number(4).toString(); >test8 : string @@ -140,7 +140,7 @@ var test8 = new Number(4).toString(); >new Number(4).toString() : string > : ^^^^^^ >new Number(4).toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >new Number(4) : Number > : ^^^^^^ >Number : NumberConstructor @@ -148,7 +148,7 @@ var test8 = new Number(4).toString(); >4 : 4 > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var test9 = 3. + 3.; >test9 : number @@ -166,11 +166,11 @@ var test10 = 0 /* comment */.toString(); >0 /* comment */.toString() : string > : ^^^^^^ >0 /* comment */.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >0 : 0 > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var test11 = 3. /* comment */ .toString(); >test11 : string @@ -178,11 +178,11 @@ var test11 = 3. /* comment */ .toString(); >3. /* comment */ .toString() : string > : ^^^^^^ >3. /* comment */ .toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >3. : 3 > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var test12 = 3 >test12 : string @@ -190,13 +190,13 @@ var test12 = 3 >3 /* comment */ .toString() : string > : ^^^^^^ >3 /* comment */ .toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >3 : 3 > : ^ /* comment */ .toString(); >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var test13 = 3. >test13 : string @@ -204,13 +204,13 @@ var test13 = 3. >3. /* comment */ .toString() : string > : ^^^^^^ >3. /* comment */ .toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >3. : 3 > : ^ /* comment */ .toString(); >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var test14 = 3 >test14 : string @@ -218,14 +218,14 @@ var test14 = 3 >3 // comment .toString() : string > : ^^^^^^ >3 // comment .toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >3 : 3 > : ^ // comment .toString(); >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var test15 = 3. >test15 : string @@ -233,14 +233,14 @@ var test15 = 3. >3. // comment .toString() : string > : ^^^^^^ >3. // comment .toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >3. : 3 > : ^ // comment .toString(); >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var test16 = 3 // comment time >test16 : string @@ -248,13 +248,13 @@ var test16 = 3 // comment time >3 // comment time .toString() : string > : ^^^^^^ >3 // comment time .toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >3 : 3 > : ^ .toString(); >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var test17 = 3. // comment time again >test17 : string @@ -262,12 +262,12 @@ var test17 = 3. // comment time again >3. // comment time again .toString() : string > : ^^^^^^ >3. // comment time again .toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >3. : 3 > : ^ .toString(); >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/numericLiteralsWithTrailingDecimalPoints02.types b/tests/baselines/reference/numericLiteralsWithTrailingDecimalPoints02.types index 5e1a7bf84ebbb..3e60cfed28f3c 100644 --- a/tests/baselines/reference/numericLiteralsWithTrailingDecimalPoints02.types +++ b/tests/baselines/reference/numericLiteralsWithTrailingDecimalPoints02.types @@ -5,21 +5,21 @@ >1..toString() : string > : ^^^^^^ >1..toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >1. : 1 > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ 1.0.toString(); >1.0.toString() : string > : ^^^^^^ >1.0.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >1.0 : 1 > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ 1.toString(); >1. : 1 @@ -54,11 +54,11 @@ var test1 = i.toString(); >i.toString() : string > : ^^^^^^ >i.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >i : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var test2 = 2.toString(); >test2 : number @@ -78,11 +78,11 @@ var test3 = 3 .toString(); >3 .toString() : string > : ^^^^^^ >3 .toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >3 : 3 > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var test4 = 3 .toString(); >test4 : string @@ -90,11 +90,11 @@ var test4 = 3 .toString(); >3 .toString() : string > : ^^^^^^ >3 .toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >3 : 3 > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var test5 = 3 .toString(); >test5 : string @@ -102,11 +102,11 @@ var test5 = 3 .toString(); >3 .toString() : string > : ^^^^^^ >3 .toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >3 : 3 > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var test6 = 3.['toString'](); >test6 : string @@ -114,7 +114,7 @@ var test6 = 3.['toString'](); >3.['toString']() : string > : ^^^^^^ >3.['toString'] : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >3. : 3 > : ^ >'toString' : "toString" @@ -126,13 +126,13 @@ var test7 = 3 >3.toString() : string > : ^^^^^^ >3.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >3 : 3 > : ^ .toString(); >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var test8 = new Number(4).toString(); >test8 : string @@ -140,7 +140,7 @@ var test8 = new Number(4).toString(); >new Number(4).toString() : string > : ^^^^^^ >new Number(4).toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >new Number(4) : Number > : ^^^^^^ >Number : NumberConstructor @@ -148,7 +148,7 @@ var test8 = new Number(4).toString(); >4 : 4 > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var test9 = 3. + 3.; >test9 : number @@ -166,11 +166,11 @@ var test10 = 0 /* comment */.toString(); >0 /* comment */.toString() : string > : ^^^^^^ >0 /* comment */.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >0 : 0 > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var test11 = 3. /* comment */ .toString(); >test11 : string @@ -178,11 +178,11 @@ var test11 = 3. /* comment */ .toString(); >3. /* comment */ .toString() : string > : ^^^^^^ >3. /* comment */ .toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >3. : 3 > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var test12 = 3 >test12 : string @@ -190,13 +190,13 @@ var test12 = 3 >3 /* comment */ .toString() : string > : ^^^^^^ >3 /* comment */ .toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >3 : 3 > : ^ /* comment */ .toString(); >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var test13 = 3. >test13 : string @@ -204,13 +204,13 @@ var test13 = 3. >3. /* comment */ .toString() : string > : ^^^^^^ >3. /* comment */ .toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >3. : 3 > : ^ /* comment */ .toString(); >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var test14 = 3 >test14 : string @@ -218,14 +218,14 @@ var test14 = 3 >3 // comment .toString() : string > : ^^^^^^ >3 // comment .toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >3 : 3 > : ^ // comment .toString(); >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var test15 = 3. >test15 : string @@ -233,14 +233,14 @@ var test15 = 3. >3. // comment .toString() : string > : ^^^^^^ >3. // comment .toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >3. : 3 > : ^ // comment .toString(); >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var test16 = 3 // comment time >test16 : string @@ -248,13 +248,13 @@ var test16 = 3 // comment time >3 // comment time .toString() : string > : ^^^^^^ >3 // comment time .toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >3 : 3 > : ^ .toString(); >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var test17 = 3. // comment time again >test17 : string @@ -262,12 +262,12 @@ var test17 = 3. // comment time again >3. // comment time again .toString() : string > : ^^^^^^ >3. // comment time again .toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >3. : 3 > : ^ .toString(); >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/numericStringLiteralTypes.types b/tests/baselines/reference/numericStringLiteralTypes.types index c694c29928018..813b84df4a80a 100644 --- a/tests/baselines/reference/numericStringLiteralTypes.types +++ b/tests/baselines/reference/numericStringLiteralTypes.types @@ -14,12 +14,12 @@ type T2 = string & `${bigint}`; // `${bigint} > : ^^^^^^^^^^^ type T3 = string & `${T}`; // `${T} ->T3 : T -> : ^ +>T3 : `${T}` +> : ^^^^^^ type T4 = string & `${Capitalize<`${T}`>}`; // `${Capitalize}` ->T4 : Capitalize -> : ^^^^^^^^^^^^^ +>T4 : `${Capitalize}` +> : ^^^^^^^^^^^^^^^^^^ function f1(a: boolean[], x: `${number}`) { >f1 : (a: boolean[], x: `${number}`) => void @@ -90,13 +90,13 @@ type UnwrapContainers[]> = { [K in keyof T]: T[K][' declare function createContainer(value: T): Container; >createContainer : (value: T) => Container -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >value : T > : ^ declare function f[]>(containers: [...T], callback: (...values: UnwrapContainers) => void): void; >f : []>(containers: [...T], callback: (...values: UnwrapContainers) => void) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >containers : [...T] > : ^^^^^^ >callback : (...values: UnwrapContainers) => void @@ -110,7 +110,7 @@ const container1 = createContainer('hi') >createContainer('hi') : Container > : ^^^^^^^^^^^^^^^^^ >createContainer : (value: T) => Container -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >'hi' : "hi" > : ^^^^ @@ -120,7 +120,7 @@ const container2 = createContainer(2) >createContainer(2) : Container > : ^^^^^^^^^^^^^^^^^ >createContainer : (value: T) => Container -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >2 : 2 > : ^ @@ -128,7 +128,7 @@ f([container1, container2], (value1, value2) => { >f([container1, container2], (value1, value2) => { value1; // string value2; // number}) : void > : ^^^^ >f : []>(containers: [...T], callback: (...values: UnwrapContainers) => void) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >[container1, container2] : [Container, Container] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >container1 : Container diff --git a/tests/baselines/reference/objectAssignLikeNonUnionResult.types b/tests/baselines/reference/objectAssignLikeNonUnionResult.types index f9a917650f4fc..5ff307a4874fd 100644 --- a/tests/baselines/reference/objectAssignLikeNonUnionResult.types +++ b/tests/baselines/reference/objectAssignLikeNonUnionResult.types @@ -32,7 +32,7 @@ const data1 = assign(defaultValue, Date.now() > 3 ? { field: 2 } : {}); >assign(defaultValue, Date.now() > 3 ? { field: 2 } : {}) : Interface & { field: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >assign : (target: T, source: U) => T & U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >defaultValue : Interface > : ^^^^^^^^^ >Date.now() > 3 ? { field: 2 } : {} : { field: number; } | {} @@ -42,11 +42,11 @@ const data1 = assign(defaultValue, Date.now() > 3 ? { field: 2 } : {}); >Date.now() : number > : ^^^^^^ >Date.now : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date : DateConstructor > : ^^^^^^^^^^^^^^^ >now : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >3 : 3 > : ^ >{ field: 2 } : { field: number; } diff --git a/tests/baselines/reference/objectBindingPatternContextuallyTypesArgument.types b/tests/baselines/reference/objectBindingPatternContextuallyTypesArgument.types index ebecce98852f4..53e20d999cb4c 100644 --- a/tests/baselines/reference/objectBindingPatternContextuallyTypesArgument.types +++ b/tests/baselines/reference/objectBindingPatternContextuallyTypesArgument.types @@ -9,7 +9,7 @@ declare function id(x: T): T; const { f = (x: string) => x.length } = id({ f: x => x.charAt }); >f : ((x: string) => number) | ((x: string) => (pos: number) => string) -> : ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^ >(x: string) => x.length : (x: string) => number > : ^ ^^ ^^^^^^^^^^^ >x : string @@ -21,21 +21,21 @@ const { f = (x: string) => x.length } = id({ f: x => x.charAt }); >length : number > : ^^^^^^ >id({ f: x => x.charAt }) : { f: (x: string) => (pos: number) => string; } -> : ^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ >id : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ f: x => x.charAt } : { f: (x: string) => (pos: number) => string; } -> : ^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ >f : (x: string) => (pos: number) => string -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^ >x => x.charAt : (x: string) => (pos: number) => string -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^ >x : string > : ^^^^^^ >x.charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string > : ^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ diff --git a/tests/baselines/reference/objectCreate-errors.types b/tests/baselines/reference/objectCreate-errors.types index 198c5c3c3275b..34fc3dc55a09c 100644 --- a/tests/baselines/reference/objectCreate-errors.types +++ b/tests/baselines/reference/objectCreate-errors.types @@ -7,11 +7,11 @@ var e1 = Object.create(1); // Error >Object.create(1) : any > : ^^^ >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -21,11 +21,11 @@ var e2 = Object.create("string"); // Error >Object.create("string") : any > : ^^^ >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >"string" : "string" > : ^^^^^^^^ @@ -35,11 +35,11 @@ var e3 = Object.create(false); // Error >Object.create(false) : any > : ^^^ >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >false : false > : ^^^^^ @@ -49,11 +49,11 @@ var e4 = Object.create(undefined); // Error >Object.create(undefined) : any > : ^^^ >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ @@ -64,11 +64,11 @@ var e5 = Object.create(1, {}); // Error >Object.create(1, {}) : any > : ^^^ >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ >{} : {} @@ -80,11 +80,11 @@ var e6 = Object.create("string", {}); // Error >Object.create("string", {}) : any > : ^^^ >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >"string" : "string" > : ^^^^^^^^ >{} : {} @@ -96,11 +96,11 @@ var e7 = Object.create(false, {}); // Error >Object.create(false, {}) : any > : ^^^ >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >false : false > : ^^^^^ >{} : {} @@ -112,11 +112,11 @@ var e8 = Object.create(undefined, {}); // Error >Object.create(undefined, {}) : any > : ^^^ >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ >{} : {} diff --git a/tests/baselines/reference/objectCreate.types b/tests/baselines/reference/objectCreate.types index f8d6a2a9f1eb3..d72556ad25997 100644 --- a/tests/baselines/reference/objectCreate.types +++ b/tests/baselines/reference/objectCreate.types @@ -13,21 +13,21 @@ var n = Object.create(null); // object >n : any >Object.create(null) : any >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ var t = Object.create({ a: 1, b: "" }); // {a: number, b: string } >t : any >Object.create({ a: 1, b: "" }) : any >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >{ a: 1, b: "" } : { a: number; b: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -43,23 +43,23 @@ var u = Object.create(union); // object | {a: number, b: string } >u : any >Object.create(union) : any >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >union : { a: number; b: string; } | null -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^ var e = Object.create({}); // {} >e : any >Object.create({}) : any >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >{} : {} > : ^^ @@ -67,11 +67,11 @@ var o = Object.create({}); // object >o : any >Object.create({}) : any >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >{} : object > : ^^^^^^ >{} : {} @@ -81,11 +81,11 @@ var a = Object.create(null, {}); // any >a : any >Object.create(null, {}) : any >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >{} : {} > : ^^ @@ -93,11 +93,11 @@ var a = Object.create({ a: 1, b: "" }, {}); >a : any >Object.create({ a: 1, b: "" }, {}) : any >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >{ a: 1, b: "" } : { a: number; b: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -115,13 +115,13 @@ var a = Object.create(union, {}); >a : any >Object.create(union, {}) : any >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >union : { a: number; b: string; } | null -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^ >{} : {} > : ^^ @@ -129,11 +129,11 @@ var a = Object.create({}, {}); >a : any >Object.create({}, {}) : any >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >{} : {} > : ^^ >{} : {} @@ -143,11 +143,11 @@ var a = Object.create({}, {}); >a : any >Object.create({}, {}) : any >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >{} : object > : ^^^^^^ >{} : {} diff --git a/tests/baselines/reference/objectCreate2.types b/tests/baselines/reference/objectCreate2.types index 2ef0f11eb9421..c25a7e73d917b 100644 --- a/tests/baselines/reference/objectCreate2.types +++ b/tests/baselines/reference/objectCreate2.types @@ -13,21 +13,21 @@ var n = Object.create(null); // any >n : any >Object.create(null) : any >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ var t = Object.create({ a: 1, b: "" }); // {a: number, b: string } >t : any >Object.create({ a: 1, b: "" }) : any >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >{ a: 1, b: "" } : { a: number; b: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -43,23 +43,23 @@ var u = Object.create(union); // {a: number, b: string } >u : any >Object.create(union) : any >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >union : { a: number; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ var e = Object.create({}); // {} >e : any >Object.create({}) : any >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >{} : {} > : ^^ @@ -67,11 +67,11 @@ var o = Object.create({}); // object >o : any >Object.create({}) : any >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >{} : object > : ^^^^^^ >{} : {} @@ -81,11 +81,11 @@ var a = Object.create(null, {}); // any >a : any >Object.create(null, {}) : any >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >{} : {} > : ^^ @@ -93,11 +93,11 @@ var a = Object.create({ a: 1, b: "" }, {}); >a : any >Object.create({ a: 1, b: "" }, {}) : any >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >{ a: 1, b: "" } : { a: number; b: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -115,13 +115,13 @@ var a = Object.create(union, {}); >a : any >Object.create(union, {}) : any >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >union : { a: number; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >{} : {} > : ^^ @@ -129,11 +129,11 @@ var a = Object.create({}, {}); >a : any >Object.create({}, {}) : any >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >{} : {} > : ^^ >{} : {} @@ -143,11 +143,11 @@ var a = Object.create({}, {}); >a : any >Object.create({}, {}) : any >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >{} : object > : ^^^^^^ >{} : {} diff --git a/tests/baselines/reference/objectFreeze.types b/tests/baselines/reference/objectFreeze.types index 40ac93f2bf821..1f9e672b86769 100644 --- a/tests/baselines/reference/objectFreeze.types +++ b/tests/baselines/reference/objectFreeze.types @@ -6,12 +6,12 @@ const f = Object.freeze(function foo(a: number, b: string) { return false; }); > : ^ ^^ ^^ ^^ ^^^^^^^^^^ >Object.freeze(function foo(a: number, b: string) { return false; }) : (a: number, b: string) => false > : ^ ^^ ^^ ^^ ^^^^^^^^^^ ->Object.freeze : { (f: T): T; (o: T_1): Readonly; (o: T_2): Readonly; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +>Object.freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ ->freeze : { (f: T): T; (o: T_1): Readonly; (o: T_2): Readonly; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +>freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >function foo(a: number, b: string) { return false; } : (a: number, b: string) => false > : ^ ^^ ^^ ^^ ^^^^^^^^^^ >foo : (a: number, b: string) => false @@ -48,12 +48,12 @@ const c = Object.freeze(C); > : ^^^^^^^^ >Object.freeze(C) : typeof C > : ^^^^^^^^ ->Object.freeze : { (f: T): T; (o: T_1): Readonly; (o: T_2): Readonly; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +>Object.freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ ->freeze : { (f: T): T; (o: T_1): Readonly; (o: T_2): Readonly; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +>freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >C : typeof C > : ^^^^^^^^ @@ -70,12 +70,12 @@ const a = Object.freeze([1, 2, 3]); > : ^^^^^^^^^^^^^^^^^ >Object.freeze([1, 2, 3]) : readonly number[] > : ^^^^^^^^^^^^^^^^^ ->Object.freeze : { (f: T): T; (o: T_1): Readonly; (o: T_2): Readonly; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +>Object.freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ ->freeze : { (f: T): T; (o: T_1): Readonly; (o: T_2): Readonly; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +>freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >[1, 2, 3] : number[] > : ^^^^^^^^ >1 : 1 @@ -97,7 +97,7 @@ a[0] = a[2].toString(); >a[2].toString() : string > : ^^^^^^ >a[2].toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >a[2] : number > : ^^^^^^ >a : readonly number[] @@ -105,19 +105,19 @@ a[0] = a[2].toString(); >2 : 2 > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ const o = Object.freeze({ a: 1, b: "string", c: true }); >o : Readonly<{ a: 1; b: "string"; c: true; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.freeze({ a: 1, b: "string", c: true }) : Readonly<{ a: 1; b: "string"; c: true; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->Object.freeze : { (f: T): T; (o: T_1): Readonly; (o: T_2): Readonly; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +>Object.freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ ->freeze : { (f: T): T; (o: T_1): Readonly; (o: T_2): Readonly; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +>freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >{ a: 1, b: "string", c: true } : { a: 1; b: "string"; c: true; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : 1 @@ -145,7 +145,7 @@ o.b = o.a.toString(); >o.a.toString() : string > : ^^^^^^ >o.a.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >o.a : 1 > : ^ >o : Readonly<{ a: 1; b: "string"; c: true; }> @@ -153,5 +153,5 @@ o.b = o.a.toString(); >a : 1 > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/objectFreezeLiteralsDontWiden.types b/tests/baselines/reference/objectFreezeLiteralsDontWiden.types index 021788a5045ef..389588efaad97 100644 --- a/tests/baselines/reference/objectFreezeLiteralsDontWiden.types +++ b/tests/baselines/reference/objectFreezeLiteralsDontWiden.types @@ -6,12 +6,12 @@ const PUPPETEER_REVISIONS = Object.freeze({ > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.freeze({ chromium: '1011831', firefox: 'latest',}) : Readonly<{ chromium: "1011831"; firefox: "latest"; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->Object.freeze : { (f: T): T; (o: T_1): Readonly; (o: T_2): Readonly; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +>Object.freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ ->freeze : { (f: T): T; (o: T_1): Readonly; (o: T_2): Readonly; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +>freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >{ chromium: '1011831', firefox: 'latest',} : { chromium: "1011831"; firefox: "latest"; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/objectFromEntries.types b/tests/baselines/reference/objectFromEntries.types index 812f40d4995e5..8baa6681b60f1 100644 --- a/tests/baselines/reference/objectFromEntries.types +++ b/tests/baselines/reference/objectFromEntries.types @@ -7,11 +7,11 @@ const o = Object.fromEntries([['a', 1], ['b', 2], ['c', 3]]); >Object.fromEntries([['a', 1], ['b', 2], ['c', 3]]) : { [k: string]: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^ >Object.fromEntries : { (entries: Iterable): { [k: string]: T; }; (entries: Iterable): any; } -> : ^^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >fromEntries : { (entries: Iterable): { [k: string]: T; }; (entries: Iterable): any; } -> : ^^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >[['a', 1], ['b', 2], ['c', 3]] : [string, number][] > : ^^^^^^^^^^^^^^^^^^ >['a', 1] : [string, number] @@ -39,15 +39,15 @@ const o2 = Object.fromEntries(new URLSearchParams()); >Object.fromEntries(new URLSearchParams()) : { [k: string]: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^ >Object.fromEntries : { (entries: Iterable): { [k: string]: T; }; (entries: Iterable): any; } -> : ^^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >fromEntries : { (entries: Iterable): { [k: string]: T; }; (entries: Iterable): any; } -> : ^^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >new URLSearchParams() : URLSearchParams > : ^^^^^^^^^^^^^^^ >URLSearchParams : { new (init?: string[][] | Record | string | URLSearchParams): URLSearchParams; prototype: URLSearchParams; } -> : ^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^ const o3 = Object.fromEntries(new Map([[Symbol("key"), "value"]])); >o3 : { [k: string]: string; } @@ -55,11 +55,11 @@ const o3 = Object.fromEntries(new Map([[Symbol("key"), "value"]])); >Object.fromEntries(new Map([[Symbol("key"), "value"]])) : { [k: string]: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^ >Object.fromEntries : { (entries: Iterable): { [k: string]: T; }; (entries: Iterable): any; } -> : ^^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >fromEntries : { (entries: Iterable): { [k: string]: T; }; (entries: Iterable): any; } -> : ^^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >new Map([[Symbol("key"), "value"]]) : Map > : ^^^^^^^^^^^^^^^^^^^ >Map : MapConstructor @@ -82,12 +82,12 @@ const frozenArray = Object.freeze([['a', 1], ['b', 2], ['c', 3]]); > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.freeze([['a', 1], ['b', 2], ['c', 3]]) : readonly (string | number)[][] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->Object.freeze : { (f: T): T; (o: T_1): Readonly; (o: T_2): Readonly; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +>Object.freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ ->freeze : { (f: T): T; (o: T_1): Readonly; (o: T_2): Readonly; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +>freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >[['a', 1], ['b', 2], ['c', 3]] : (string | number)[][] > : ^^^^^^^^^^^^^^^^^^^^^ >['a', 1] : (string | number)[] @@ -113,11 +113,11 @@ const o4 = Object.fromEntries(frozenArray); >o4 : any >Object.fromEntries(frozenArray) : any >Object.fromEntries : { (entries: Iterable): { [k: string]: T; }; (entries: Iterable): any; } -> : ^^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >fromEntries : { (entries: Iterable): { [k: string]: T; }; (entries: Iterable): any; } -> : ^^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >frozenArray : readonly (string | number)[][] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -126,12 +126,12 @@ const frozenArray2: readonly [string, number][] = Object.freeze([['a', 1], ['b', > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.freeze([['a', 1], ['b', 2], ['c', 3]]) : readonly [string, number][] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->Object.freeze : { (f: T): T; (o: T_1): Readonly; (o: T_2): Readonly; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +>Object.freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ ->freeze : { (f: T): T; (o: T_1): Readonly; (o: T_2): Readonly; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +>freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >[['a', 1], ['b', 2], ['c', 3]] : [string, number][] > : ^^^^^^^^^^^^^^^^^^ >['a', 1] : [string, number] @@ -159,11 +159,11 @@ const o5 = Object.fromEntries(frozenArray2); >Object.fromEntries(frozenArray2) : { [k: string]: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^ >Object.fromEntries : { (entries: Iterable): { [k: string]: T; }; (entries: Iterable): any; } -> : ^^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >fromEntries : { (entries: Iterable): { [k: string]: T; }; (entries: Iterable): any; } -> : ^^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >frozenArray2 : readonly [string, number][] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/objectGroupBy.symbols b/tests/baselines/reference/objectGroupBy.symbols index df5e44fbf3c16..ef3c9a68f7ef6 100644 --- a/tests/baselines/reference/objectGroupBy.symbols +++ b/tests/baselines/reference/objectGroupBy.symbols @@ -24,9 +24,9 @@ type Employee = { name: string, role: 'ic' | 'manager' } const employees: Set = new Set(); >employees : Symbol(employees, Decl(objectGroupBy.ts, 5, 5)) ->Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.esnext.collection.d.ts, --, --)) >Employee : Symbol(Employee, Decl(objectGroupBy.ts, 2, 49)) ->Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.esnext.collection.d.ts, --, --)) const byRole = Object.groupBy(employees, x => x.role); >byRole : Symbol(byRole, Decl(objectGroupBy.ts, 6, 5)) diff --git a/tests/baselines/reference/objectGroupBy.types b/tests/baselines/reference/objectGroupBy.types index b89e032a26da6..ec9a37f131b20 100644 --- a/tests/baselines/reference/objectGroupBy.types +++ b/tests/baselines/reference/objectGroupBy.types @@ -7,11 +7,11 @@ const basic = Object.groupBy([0, 2, 8], x => x < 5 ? 'small' : 'large'); >Object.groupBy([0, 2, 8], x => x < 5 ? 'small' : 'large') : Partial> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.groupBy : (items: Iterable, keySelector: (item: T, index: number) => K) => Partial> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >groupBy : (items: Iterable, keySelector: (item: T, index: number) => K) => Partial> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >[0, 2, 8] : number[] > : ^^^^^^^^ >0 : 0 @@ -43,11 +43,11 @@ const chars = Object.groupBy('a string', c => c); >Object.groupBy('a string', c => c) : Partial> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.groupBy : (items: Iterable, keySelector: (item: T, index: number) => K) => Partial> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >groupBy : (items: Iterable, keySelector: (item: T, index: number) => K) => Partial> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >'a string' : "a string" > : ^^^^^^^^^^ >c => c : (c: string) => string @@ -79,11 +79,11 @@ const byRole = Object.groupBy(employees, x => x.role); >Object.groupBy(employees, x => x.role) : Partial> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.groupBy : (items: Iterable, keySelector: (item: T, index: number) => K) => Partial> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >groupBy : (items: Iterable, keySelector: (item: T, index: number) => K) => Partial> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >employees : Set > : ^^^^^^^^^^^^^ >x => x.role : (x: Employee) => "ic" | "manager" @@ -103,11 +103,11 @@ const byNonKey = Object.groupBy(employees, x => x); >Object.groupBy(employees, x => x) : Partial> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.groupBy : (items: Iterable, keySelector: (item: T, index: number) => K) => Partial> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >groupBy : (items: Iterable, keySelector: (item: T, index: number) => K) => Partial> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >employees : Set > : ^^^^^^^^^^^^^ >x => x : (x: Employee) => Employee diff --git a/tests/baselines/reference/objectInstantiationFromUnionSpread.types b/tests/baselines/reference/objectInstantiationFromUnionSpread.types index 5144159cdadc2..6afcfcf098d3b 100644 --- a/tests/baselines/reference/objectInstantiationFromUnionSpread.types +++ b/tests/baselines/reference/objectInstantiationFromUnionSpread.types @@ -31,33 +31,33 @@ function f1(a: Item[]) { a.map(item => ({ ...item })).filter(value => {}); >a.map(item => ({ ...item })).filter(value => {}) : ({ isSuccess: true; } | { isSuccess: false; })[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^ >a.map(item => ({ ...item })).filter : { (predicate: (value: { isSuccess: true; } | { isSuccess: false; }, index: number, array: ({ isSuccess: true; } | { isSuccess: false; })[]) => value is S, thisArg?: any): S[]; (predicate: (value: { isSuccess: true; } | { isSuccess: false; }, index: number, array: ({ isSuccess: true; } | { isSuccess: false; })[]) => unknown, thisArg?: any): ({ isSuccess: true; } | { isSuccess: false; })[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ >a.map(item => ({ ...item })) : ({ isSuccess: true; } | { isSuccess: false; })[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^ >a.map : (callbackfn: (value: Item, index: number, array: Item[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >a : Item[] > : ^^^^^^ >map : (callbackfn: (value: Item, index: number, array: Item[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >item => ({ ...item }) : (item: Item) => { isSuccess: true; } | { isSuccess: false; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ >item : Item > : ^^^^ >({ ...item }) : { isSuccess: true; } | { isSuccess: false; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ >{ ...item } : { isSuccess: true; } | { isSuccess: false; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ >item : Item > : ^^^^ >filter : { (predicate: (value: { isSuccess: true; } | { isSuccess: false; }, index: number, array: ({ isSuccess: true; } | { isSuccess: false; })[]) => value is S, thisArg?: any): S[]; (predicate: (value: { isSuccess: true; } | { isSuccess: false; }, index: number, array: ({ isSuccess: true; } | { isSuccess: false; })[]) => unknown, thisArg?: any): ({ isSuccess: true; } | { isSuccess: false; })[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ >value => {} : (value: { isSuccess: true; } | { isSuccess: false; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ >value : { isSuccess: true; } | { isSuccess: false; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ } function f2(a: Item[]) { @@ -68,32 +68,32 @@ function f2(a: Item[]) { a.map(item => ({ ...item })).filter(value => {}); >a.map(item => ({ ...item })).filter(value => {}) : ({ isSuccess: true; } | { isSuccess: false; })[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^ >a.map(item => ({ ...item })).filter : { (predicate: (value: { isSuccess: true; } | { isSuccess: false; }, index: number, array: ({ isSuccess: true; } | { isSuccess: false; })[]) => value is S, thisArg?: any): S[]; (predicate: (value: { isSuccess: true; } | { isSuccess: false; }, index: number, array: ({ isSuccess: true; } | { isSuccess: false; })[]) => unknown, thisArg?: any): ({ isSuccess: true; } | { isSuccess: false; })[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ >a.map(item => ({ ...item })) : ({ isSuccess: true; } | { isSuccess: false; })[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^ >a.map : (callbackfn: (value: Item, index: number, array: Item[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >a : Item[] > : ^^^^^^ >map : (callbackfn: (value: Item, index: number, array: Item[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >item => ({ ...item }) : (item: Item) => { isSuccess: true; } | { isSuccess: false; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ >item : Item > : ^^^^ >({ ...item }) : { isSuccess: true; } | { isSuccess: false; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ >{ ...item } : { isSuccess: true; } | { isSuccess: false; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ >item : Item > : ^^^^ >filter : { (predicate: (value: { isSuccess: true; } | { isSuccess: false; }, index: number, array: ({ isSuccess: true; } | { isSuccess: false; })[]) => value is S, thisArg?: any): S[]; (predicate: (value: { isSuccess: true; } | { isSuccess: false; }, index: number, array: ({ isSuccess: true; } | { isSuccess: false; })[]) => unknown, thisArg?: any): ({ isSuccess: true; } | { isSuccess: false; })[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ >value => {} : (value: { isSuccess: true; } | { isSuccess: false; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ >value : { isSuccess: true; } | { isSuccess: false; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ } diff --git a/tests/baselines/reference/objectLitGetterSetter.types b/tests/baselines/reference/objectLitGetterSetter.types index ec6ee0f49ea63..180cef7e06e9b 100644 --- a/tests/baselines/reference/objectLitGetterSetter.types +++ b/tests/baselines/reference/objectLitGetterSetter.types @@ -11,11 +11,11 @@ >Object.defineProperty(obj, "accProperty", ({ get: function () { eval("public = 1;"); return 11; }, set: function (v) { } })) : {} > : ^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >obj : {} > : ^^ >"accProperty" : "accProperty" @@ -36,7 +36,7 @@ eval("public = 1;"); >eval("public = 1;") : any >eval : (x: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >"public = 1;" : "public = 1;" > : ^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/objectLitPropertyScoping.types b/tests/baselines/reference/objectLitPropertyScoping.types index 060c51e6c492e..37305471c38da 100644 --- a/tests/baselines/reference/objectLitPropertyScoping.types +++ b/tests/baselines/reference/objectLitPropertyScoping.types @@ -43,11 +43,11 @@ function makePoint(x: number, y: number) { >Math.sqrt(x * x + y * y) : number > : ^^^^^^ >Math.sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x * x + y * y : number > : ^^^^^^ >x * x : number diff --git a/tests/baselines/reference/objectLitTargetTypeCallSite.types b/tests/baselines/reference/objectLitTargetTypeCallSite.types index a05c6e19be737..a9f3c8a286167 100644 --- a/tests/baselines/reference/objectLitTargetTypeCallSite.types +++ b/tests/baselines/reference/objectLitTargetTypeCallSite.types @@ -15,7 +15,7 @@ function process( x: {a:number; b:string;}) { >x.a : number > : ^^^^^^ >x : { a: number; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >a : number > : ^^^^^^ } diff --git a/tests/baselines/reference/objectLiteralArraySpecialization.types b/tests/baselines/reference/objectLiteralArraySpecialization.types index 0caad36571eea..f9d6305eaa756 100644 --- a/tests/baselines/reference/objectLiteralArraySpecialization.types +++ b/tests/baselines/reference/objectLiteralArraySpecialization.types @@ -30,7 +30,7 @@ var thing = create([ { name: "bob", id: 24 }, { name: "doug", id: 32 } ]); // sh >create([ { name: "bob", id: 24 }, { name: "doug", id: 32 } ]) : MyArrayWrapper<{ name: string; id: number; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >create : (initialValues?: T[]) => MyArrayWrapper -> : ^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >[ { name: "bob", id: 24 }, { name: "doug", id: 32 } ] : { name: string; id: number; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ name: "bob", id: 24 } : { name: string; id: number; } @@ -58,11 +58,11 @@ thing.doSomething((x, y) => x.name === "bob"); // should not error >thing.doSomething((x, y) => x.name === "bob") : void > : ^^^^ >thing.doSomething : (predicate: (x: { name: string; id: number; }, y: { name: string; id: number; }) => boolean) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >thing : MyArrayWrapper<{ name: string; id: number; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >doSomething : (predicate: (x: { name: string; id: number; }, y: { name: string; id: number; }) => boolean) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >(x, y) => x.name === "bob" : (x: { name: string; id: number; }, y: { name: string; id: number; }) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { name: string; id: number; } diff --git a/tests/baselines/reference/objectLiteralContextualTyping.types b/tests/baselines/reference/objectLiteralContextualTyping.types index aac9e0e5fa731..510d639e4013e 100644 --- a/tests/baselines/reference/objectLiteralContextualTyping.types +++ b/tests/baselines/reference/objectLiteralContextualTyping.types @@ -18,13 +18,13 @@ interface Item { declare function foo(item: Item): string; >foo : { (item: Item): string; (item: any): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >item : Item > : ^^^^ declare function foo(item: any): number; >foo : { (item: Item): string; (item: any): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >item : any > : ^^^ @@ -34,7 +34,7 @@ var x = foo({ name: "Sprocket" }); >foo({ name: "Sprocket" }) : string > : ^^^^^^ >foo : { (item: Item): string; (item: any): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >{ name: "Sprocket" } : { name: string; } > : ^^^^^^^^^^^^^^^^^ >name : string @@ -52,7 +52,7 @@ var y = foo({ name: "Sprocket", description: "Bumpy wheel" }); >foo({ name: "Sprocket", description: "Bumpy wheel" }) : string > : ^^^^^^ >foo : { (item: Item): string; (item: any): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >{ name: "Sprocket", description: "Bumpy wheel" } : { name: string; description: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >name : string @@ -74,7 +74,7 @@ var z = foo({ name: "Sprocket", description: false }); >foo({ name: "Sprocket", description: false }) : number > : ^^^^^^ >foo : { (item: Item): string; (item: any): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >{ name: "Sprocket", description: false } : { name: string; description: boolean; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >name : string @@ -96,7 +96,7 @@ var w = foo({ a: 10 }); >foo({ a: 10 }) : number > : ^^^^^^ >foo : { (item: Item): string; (item: any): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >{ a: 10 } : { a: number; } > : ^^^^^^^^^^^^^^ >a : number @@ -122,7 +122,7 @@ var b = bar({}); >bar({}) : unknown > : ^^^^^^^ >bar : (param: { x?: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{} : {} > : ^^ diff --git a/tests/baselines/reference/objectLiteralExcessProperties.types b/tests/baselines/reference/objectLiteralExcessProperties.types index c8bb0fa8780f1..c485b9a79ef9e 100644 --- a/tests/baselines/reference/objectLiteralExcessProperties.types +++ b/tests/baselines/reference/objectLiteralExcessProperties.types @@ -169,7 +169,7 @@ var b11: Indexed = { 0: { colour: "blue" } }; // nested object literal still err function test() { >test : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ // No excess property checks on generic types const obj1: T = { name: "test" }; diff --git a/tests/baselines/reference/objectLiteralGettersAndSetters.types b/tests/baselines/reference/objectLiteralGettersAndSetters.types index ee7061ae4f3b3..bc6c524814217 100644 --- a/tests/baselines/reference/objectLiteralGettersAndSetters.types +++ b/tests/baselines/reference/objectLiteralGettersAndSetters.types @@ -327,7 +327,7 @@ var setParamType1 = { get n() { return (t) => { >n : (t: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >(t) => { var p: string; var p = t; } : (t: string) => void > : ^ ^^^^^^^^^^^^^^^^^ >t : string @@ -353,7 +353,7 @@ var setParamType2 = { get n() { return (t) => { >n : (t: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >(t) => { var p: string; var p = t; } : (t: string) => void > : ^ ^^^^^^^^^^^^^^^^^ >t : string diff --git a/tests/baselines/reference/objectLiteralNormalization.types b/tests/baselines/reference/objectLiteralNormalization.types index 90d5804ebf512..5905535a8a209 100644 --- a/tests/baselines/reference/objectLiteralNormalization.types +++ b/tests/baselines/reference/objectLiteralNormalization.types @@ -241,11 +241,11 @@ declare let b1: { a: string, b: string } | { b: string, c: string }; let b2 = { ...b1, z: 55 }; >b2 : { z: number; a: string; b: string; } | { z: number; b: string; c: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >{ ...b1, z: 55 } : { z: number; a: string; b: string; } | { z: number; b: string; c: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >b1 : { a: string; b: string; } | { b: string; c: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^ >z : number > : ^^^^^^ >55 : 55 @@ -253,11 +253,11 @@ let b2 = { ...b1, z: 55 }; let b3 = { ...b2 }; >b3 : { z: number; a: string; b: string; } | { z: number; b: string; c: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >{ ...b2 } : { z: number; a: string; b: string; } | { z: number; b: string; c: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >b2 : { z: number; a: string; b: string; } | { z: number; b: string; c: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ // Before widening {} acts like { [x: string]: undefined }, which is a // subtype of types with all optional properties @@ -272,30 +272,30 @@ declare let opts: { foo?: string, bar?: string, baz?: boolean }; > : ^^^^^^^^^^^^^^^^^^^ let c1 = !true ? {} : opts; ->c1 : { foo?: string | undefined; bar?: string | undefined; baz?: boolean | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->!true ? {} : opts : { foo?: string | undefined; bar?: string | undefined; baz?: boolean | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>c1 : { foo?: string; bar?: string; baz?: boolean; } +> : ^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^ +>!true ? {} : opts : { foo?: string; bar?: string; baz?: boolean; } +> : ^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^ >!true : false > : ^^^^^ >true : true > : ^^^^ >{} : {} > : ^^ ->opts : { foo?: string | undefined; bar?: string | undefined; baz?: boolean | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>opts : { foo?: string; bar?: string; baz?: boolean; } +> : ^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^ let c2 = !true ? opts : {}; ->c2 : { foo?: string | undefined; bar?: string | undefined; baz?: boolean | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->!true ? opts : {} : { foo?: string | undefined; bar?: string | undefined; baz?: boolean | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>c2 : { foo?: string; bar?: string; baz?: boolean; } +> : ^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^ +>!true ? opts : {} : { foo?: string; bar?: string; baz?: boolean; } +> : ^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^ >!true : false > : ^^^^^ >true : true > : ^^^^ ->opts : { foo?: string | undefined; bar?: string | undefined; baz?: boolean | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>opts : { foo?: string; bar?: string; baz?: boolean; } +> : ^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^ >{} : {} > : ^^ @@ -487,7 +487,7 @@ let e1 = f({ a: 1, b: 2 }, { a: "abc" }, {}); >f({ a: 1, b: 2 }, { a: "abc" }, {}) : { a: number; b: number; } | { a: string; b?: undefined; } | { a?: undefined; b?: undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f : (...items: T[]) => T -> : ^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >{ a: 1, b: 2 } : { a: number; b: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -513,7 +513,7 @@ let e2 = f({}, { a: "abc" }, { a: 1, b: 2 }); >f({}, { a: "abc" }, { a: 1, b: 2 }) : { a?: undefined; b?: undefined; } | { a: string; b?: undefined; } | { a: number; b: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f : (...items: T[]) => T -> : ^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >{} : {} > : ^^ >{ a: "abc" } : { a: string; } @@ -535,13 +535,13 @@ let e2 = f({}, { a: "abc" }, { a: 1, b: 2 }); let e3 = f(data, { a: 2 }); >e3 : { a: 1; b: "abc"; c: true; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >f(data, { a: 2 }) : { a: 1; b: "abc"; c: true; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >f : (...items: T[]) => T -> : ^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >data : { a: 1; b: "abc"; c: true; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >{ a: 2 } : { a: 2; } > : ^^^^^^^^^ >a : 2 @@ -551,11 +551,11 @@ let e3 = f(data, { a: 2 }); let e4 = f({ a: 2 }, data); >e4 : { a: 1; b: "abc"; c: true; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >f({ a: 2 }, data) : { a: 1; b: "abc"; c: true; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >f : (...items: T[]) => T -> : ^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >{ a: 2 } : { a: 2; } > : ^^^^^^^^^ >a : 2 @@ -563,5 +563,5 @@ let e4 = f({ a: 2 }, data); >2 : 2 > : ^ >data : { a: 1; b: "abc"; c: true; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ diff --git a/tests/baselines/reference/objectLiteralParameterResolution.types b/tests/baselines/reference/objectLiteralParameterResolution.types index f8309d2d764f2..1c4d9a4ed4333 100644 --- a/tests/baselines/reference/objectLiteralParameterResolution.types +++ b/tests/baselines/reference/objectLiteralParameterResolution.types @@ -4,7 +4,7 @@ interface Foo{ extend(target: T, ...objs: any[]): T; >extend : { (target: T, ...objs: any[]): T; (deep: boolean, target: T_1, ...objs: any[]): T_1; } -> : ^^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >target : T > : ^ >objs : any[] @@ -12,7 +12,7 @@ interface Foo{ extend(deep: boolean, target: T, ...objs: any[]): T; >extend : { (target: T_1, ...objs: any[]): T_1; (deep: boolean, target: T, ...objs: any[]): T; } -> : ^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >deep : boolean > : ^^^^^^^ >target : T @@ -29,12 +29,12 @@ var s = $.extend({ > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >$.extend({ type: "GET" , data: "data" , success: wrapSuccessCallback(requestContext, callback) , error: wrapErrorCallback(requestContext, errorCallback) , dataType: "json" , converters: { "text json": "" }, traditional: true , timeout: 12, }, "") : { type: string; data: string; success: any; error: any; dataType: string; converters: { "text json": string; }; traditional: boolean; timeout: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->$.extend : { (target: T, ...objs: any[]): T; (deep: boolean, target: T_1, ...objs: any[]): T_1; } -> : ^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +>$.extend : { (target: T, ...objs: any[]): T; (deep: boolean, target: T, ...objs: any[]): T; } +> : ^^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >$ : Foo > : ^^^ ->extend : { (target: T, ...objs: any[]): T; (deep: boolean, target: T_1, ...objs: any[]): T_1; } -> : ^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +>extend : { (target: T, ...objs: any[]): T; (deep: boolean, target: T, ...objs: any[]): T; } +> : ^^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >{ type: "GET" , data: "data" , success: wrapSuccessCallback(requestContext, callback) , error: wrapErrorCallback(requestContext, errorCallback) , dataType: "json" , converters: { "text json": "" }, traditional: true , timeout: 12, } : { type: string; data: string; success: any; error: any; dataType: string; converters: { "text json": string; }; traditional: true; timeout: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/objectLiteralPropertyImplicitlyAny.types b/tests/baselines/reference/objectLiteralPropertyImplicitlyAny.types index 7386218ba1b96..9850daf6e9469 100644 --- a/tests/baselines/reference/objectLiteralPropertyImplicitlyAny.types +++ b/tests/baselines/reference/objectLiteralPropertyImplicitlyAny.types @@ -7,11 +7,11 @@ const foo = Symbol.for("foo"); >Symbol.for("foo") : unique symbol > : ^^^^^^^^^^^^^ >Symbol.for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Symbol : SymbolConstructor > : ^^^^^^^^^^^^^^^^^ >for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"foo" : "foo" > : ^^^^^ diff --git a/tests/baselines/reference/objectLiteralShorthandPropertiesAssignment.types b/tests/baselines/reference/objectLiteralShorthandPropertiesAssignment.types index 48803ed76d8d5..c79a544f1d96e 100644 --- a/tests/baselines/reference/objectLiteralShorthandPropertiesAssignment.types +++ b/tests/baselines/reference/objectLiteralShorthandPropertiesAssignment.types @@ -83,9 +83,9 @@ foo(person); >foo(person) : void > : ^^^^ >foo : (obj: { name: string; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >person : { name: string; id: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^ ^^^ var person1 = bar("Hello", 5); >person1 : { name: string; id: number; } diff --git a/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentES6.types b/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentES6.types index 54e9583827db4..5fd6f717c806a 100644 --- a/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentES6.types +++ b/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentES6.types @@ -83,9 +83,9 @@ foo(person); >foo(person) : void > : ^^^^ >foo : (obj: { name: string; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >person : { name: string; id: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^ ^^^ var person1 = bar("Hello", 5); >person1 : { name: string; id: number; } diff --git a/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentErrorFromMissingIdentifier.types b/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentErrorFromMissingIdentifier.types index 6e3901cb94042..0597a019c03ae 100644 --- a/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentErrorFromMissingIdentifier.types +++ b/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentErrorFromMissingIdentifier.types @@ -79,9 +79,9 @@ var person2: { name: string, id: number } = bar("hello", 5); >id : number > : ^^^^^^ >bar("hello", 5) : { name: number; id: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^ ^^^ >bar : (name: string, id: number) => { name: number; id: string; } -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ >5 : 5 diff --git a/tests/baselines/reference/objectLiteralThisWidenedOnUse.types b/tests/baselines/reference/objectLiteralThisWidenedOnUse.types index abf7e52332311..0d6350096dbda 100644 --- a/tests/baselines/reference/objectLiteralThisWidenedOnUse.types +++ b/tests/baselines/reference/objectLiteralThisWidenedOnUse.types @@ -37,13 +37,13 @@ var GlobalIns = { >this.accept_foo(this) : boolean > : ^^^^^^^ >this.accept_foo : (foo: Foo) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : { prop1: number; prop2: number; prop3: number; test(): void; accept_foo(foo: Foo): boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >accept_foo : (foo: Foo) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : { prop1: number; prop2: number; prop3: number; test(): void; accept_foo(foo: Foo): boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ }, accept_foo (foo: Foo): boolean { diff --git a/tests/baselines/reference/objectMembersOnTypes.types b/tests/baselines/reference/objectMembersOnTypes.types index 10fa35bff925d..b9e8ae5bb6dc7 100644 --- a/tests/baselines/reference/objectMembersOnTypes.types +++ b/tests/baselines/reference/objectMembersOnTypes.types @@ -14,11 +14,11 @@ x.toString(); >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var i: I; >i : I @@ -28,11 +28,11 @@ i.toString(); // used to be an error >i.toString() : string > : ^^^^^^ >i.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >i : I > : ^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var c: AAA; >c : AAA @@ -42,9 +42,9 @@ c.toString(); // used to be an error >c.toString() : string > : ^^^^^^ >c.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >c : AAA > : ^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/objectRest.types b/tests/baselines/reference/objectRest.types index e798b3df2da13..f363e066c76c9 100644 --- a/tests/baselines/reference/objectRest.types +++ b/tests/baselines/reference/objectRest.types @@ -131,11 +131,11 @@ var { x, n1: { y, n2: { z, n3: { ...nr } } }, ...restrest } = nestedrest; >n3 : any > : ^^^ >nr : { n4: number; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >restrest : { rest: number; restrest: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^ ^^^ >nestedrest : { x: number; n1: { y: number; n2: { z: number; n3: { n4: number; }; }; }; rest: number; restrest: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ ^^^ let complex: { x: { ka, ki }, y: number }; >complex : { x: { ka: any; ki: any; }; y: number; } @@ -163,13 +163,13 @@ var { x: { ka, ...nested }, y: other, ...rest } = complex; >rest : {} > : ^^ >complex : { x: { ka: any; ki: any; }; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^^^ ^^^ ({x: { ka, ...nested }, y: other, ...rest} = complex); >({x: { ka, ...nested }, y: other, ...rest} = complex) : { x: { ka: any; ki: any; }; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^^^ ^^^ >{x: { ka, ...nested }, y: other, ...rest} = complex : { x: { ka: any; ki: any; }; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^^^ ^^^ >{x: { ka, ...nested }, y: other, ...rest} : { x: { ki: any; ka: any; }; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { ki: any; ka: any; } @@ -187,7 +187,7 @@ var { x: { ka, ...nested }, y: other, ...rest } = complex; >rest : {} > : ^^ >complex : { x: { ka: any; ki: any; }; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^^^ ^^^ var { x, ...fresh } = { x: 1, y: 2 }; >x : number @@ -294,7 +294,7 @@ var { removed, ...removableRest } = removable; >removed : string > : ^^^^^^ >removableRest : { remainder: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^ >removable : Removable > : ^^^^^^^^^ @@ -308,7 +308,7 @@ var { removed, ...removableRest2 } = i; >removed : string > : ^^^^^^ >removableRest2 : { m(): void; remainder: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ ^^^ >i : I > : ^ diff --git a/tests/baselines/reference/objectRest2.types b/tests/baselines/reference/objectRest2.types index 0f8e0aef3f8f1..0b7e60347631d 100644 --- a/tests/baselines/reference/objectRest2.types +++ b/tests/baselines/reference/objectRest2.types @@ -47,7 +47,7 @@ function rootConnection(name: string) { >connectionFromArray(objects, args) : {} > : ^^ >connectionFromArray : (objects: number, args: any) => {} -> : ^ ^^ ^^ ^^ ^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >objects : number > : ^^^^^^ >args : any diff --git a/tests/baselines/reference/objectRestAssignment.types b/tests/baselines/reference/objectRestAssignment.types index d8e97c331827f..f14bf427a65da 100644 --- a/tests/baselines/reference/objectRestAssignment.types +++ b/tests/baselines/reference/objectRestAssignment.types @@ -29,9 +29,9 @@ let complex: { x: { ka, ki }, y: number }; ({x: { ka, ...nested }, y: other, ...rest} = complex); >({x: { ka, ...nested }, y: other, ...rest} = complex) : { x: { ka: any; ki: any; }; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^^^ ^^^ >{x: { ka, ...nested }, y: other, ...rest} = complex : { x: { ka: any; ki: any; }; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^^^ ^^^ >{x: { ka, ...nested }, y: other, ...rest} : { x: { ki: any; ka: any; }; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { ki: any; ka: any; } @@ -48,7 +48,7 @@ let complex: { x: { ka, ki }, y: number }; >rest : {} > : ^^ >complex : { x: { ka: any; ki: any; }; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^ ^^^^^ ^^^ // should be: let overEmit: { a: { ka: string, x: string }[], b: { z: string, ki: string, ku: string }, ke: string, ko: string }; @@ -78,49 +78,49 @@ var { a: [{ ...nested2 }, ...y], b: { z, ...c }, ...rest2 } = overEmit; >a : any > : ^^^ >nested2 : { ka: string; x: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^ ^^^ >y : { ka: string; x: string; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^ ^^^^^ >b : any > : ^^^ >z : string > : ^^^^^^ >c : { ki: string; ku: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >rest2 : { ke: string; ko: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >overEmit : { a: { ka: string; x: string; }[]; b: { z: string; ki: string; ku: string; }; ke: string; ko: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^ ^^^^^^ ^^^ ({ a: [{ ...nested2 }, ...y], b: { z, ...c }, ...rest2 } = overEmit); >({ a: [{ ...nested2 }, ...y], b: { z, ...c }, ...rest2 } = overEmit) : { a: { ka: string; x: string; }[]; b: { z: string; ki: string; ku: string; }; ke: string; ko: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^ ^^^^^^ ^^^ >{ a: [{ ...nested2 }, ...y], b: { z, ...c }, ...rest2 } = overEmit : { a: { ka: string; x: string; }[]; b: { z: string; ki: string; ku: string; }; ke: string; ko: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^ ^^^^^^ ^^^ >{ a: [{ ...nested2 }, ...y], b: { z, ...c }, ...rest2 } : { ke: string; ko: string; a: [{ ka: string; x: string; }, ...{ ka: string; x: string; }[]]; b: { ki: string; ku: string; z: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^ >a : [{ ka: string; x: string; }, ...{ ka: string; x: string; }[]] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ ^^^^^ ^^^^^^ >[{ ...nested2 }, ...y] : [{ ka: string; x: string; }, ...{ ka: string; x: string; }[]] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ ^^^^^ ^^^^^^ >{ ...nested2 } : { ka: string; x: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^ ^^^ >nested2 : { ka: string; x: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^ ^^^ >...y : { ka: string; x: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^ ^^^ >y : { ka: string; x: string; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^ ^^^^^ >b : { ki: string; ku: string; z: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^ >{ z, ...c } : { ki: string; ku: string; z: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^ >z : string > : ^^^^^^ >c : { ki: string; ku: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >rest2 : { ke: string; ko: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >overEmit : { a: { ka: string; x: string; }[]; b: { z: string; ki: string; ku: string; }; ke: string; ko: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^ ^^^^^^ ^^^ diff --git a/tests/baselines/reference/objectRestBindingContextualInference.types b/tests/baselines/reference/objectRestBindingContextualInference.types index 17700e71ac033..f6fced90ceeed 100644 --- a/tests/baselines/reference/objectRestBindingContextualInference.types +++ b/tests/baselines/reference/objectRestBindingContextualInference.types @@ -41,7 +41,7 @@ interface TestInterface { declare function setupImages, K extends string>( >setupImages : , K extends string>(item: R, keys: K[]) => SetupImages -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ item: R, >item : R @@ -59,13 +59,13 @@ declare const test: TestInterface; const { prepare, ...rest } = setupImages(test, ["image"]); >prepare : () => { type: "image"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^ >rest : { image: File; } > : ^^^^^^^^^^^^^^^^ >setupImages(test, ["image"]) : SetupImages<"image"> > : ^^^^^^^^^^^^^^^^^^^^ >setupImages : , K extends string>(item: R, keys: K[]) => SetupImages -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >test : TestInterface > : ^^^^^^^^^^^^^ >["image"] : "image"[] diff --git a/tests/baselines/reference/objectRestForOf.types b/tests/baselines/reference/objectRestForOf.types index 7fbfe39301202..618ae25b14441 100644 --- a/tests/baselines/reference/objectRestForOf.types +++ b/tests/baselines/reference/objectRestForOf.types @@ -13,17 +13,17 @@ for (let { x, ...restOf } of array) { >x : number > : ^^^^^^ >restOf : { y: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >array : { x: number; y: string; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ [x, restOf]; >[x, restOf] : (number | { y: string; })[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^^ >x : number > : ^^^^^^ >restOf : { y: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ } let xx: number; >xx : number @@ -37,45 +37,45 @@ let rrestOff: { y: string }; for ({ x: xx, ...rrestOff } of array ) { >{ x: xx, ...rrestOff } : { y: string; x: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^ >x : number > : ^^^^^^ >xx : number > : ^^^^^^ >rrestOff : { y: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >array : { x: number; y: string; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ [xx, rrestOff]; >[xx, rrestOff] : (number | { y: string; })[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^^ >xx : number > : ^^^^^^ >rrestOff : { y: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ } for (const norest of array.map(a => ({ ...a, x: 'a string' }))) { >norest : { x: string; y: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ >array.map(a => ({ ...a, x: 'a string' })) : { x: string; y: string; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ >array.map : (callbackfn: (value: { x: number; y: string; }, index: number, array: { x: number; y: string; }[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^ ^^^^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^ >array : { x: number; y: string; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ >map : (callbackfn: (value: { x: number; y: string; }, index: number, array: { x: number; y: string; }[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^ ^^^^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^ >a => ({ ...a, x: 'a string' }) : (a: { x: number; y: string; }) => { x: string; y: string; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >a : { x: number; y: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >({ ...a, x: 'a string' }) : { x: string; y: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ >{ ...a, x: 'a string' } : { x: string; y: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ >a : { x: number; y: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >x : string > : ^^^^^^ >'a string' : "a string" @@ -87,13 +87,13 @@ for (const norest of array.map(a => ({ ...a, x: 'a string' }))) { >norest.x : string > : ^^^^^^ >norest : { x: string; y: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ >x : string > : ^^^^^^ >norest.y : string > : ^^^^^^ >norest : { x: string; y: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ >y : string > : ^^^^^^ diff --git a/tests/baselines/reference/objectRestNegative.types b/tests/baselines/reference/objectRestNegative.types index 917caf809af46..b57c5777e38a7 100644 --- a/tests/baselines/reference/objectRestNegative.types +++ b/tests/baselines/reference/objectRestNegative.types @@ -39,11 +39,11 @@ let notAssignable: { a: string }; >{ b, ...notAssignable } = o : { a: number; b: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >{ b, ...notAssignable } : { a: string; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^ >b : string > : ^^^^^^ >notAssignable : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >o : { a: number; b: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -52,7 +52,7 @@ function stillMustBeLast({ ...mustBeLast, a }: { a: number, b: string }): void { >stillMustBeLast : ({ ...mustBeLast, a }: { a: number; b: string; }) => void > : ^ ^^ ^^^^^ >mustBeLast : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : number > : ^^^^^^ >a : number @@ -62,7 +62,7 @@ function stillMustBeLast({ ...mustBeLast, a }: { a: number, b: string }): void { } function generic(t: T) { >generic : (t: T) => Omit -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ >x : any > : ^^^ >y : any @@ -103,13 +103,13 @@ let rest: { b: string } >rest.b : string > : ^^^^^^ >rest : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : string > : ^^^^^^ >rest.b : string > : ^^^^^^ >rest : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : string > : ^^^^^^ >o : { a: number; b: string; } diff --git a/tests/baselines/reference/objectRestParameter.types b/tests/baselines/reference/objectRestParameter.types index d8b213883da9d..5e6fc34404e63 100644 --- a/tests/baselines/reference/objectRestParameter.types +++ b/tests/baselines/reference/objectRestParameter.types @@ -7,7 +7,7 @@ function cloneAgain({ a, ...clone }: { a: number, b: string }): void { >a : number > : ^^^^^^ >clone : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : number > : ^^^^^^ >b : string @@ -33,17 +33,17 @@ suddenly(({ x: a, ...rest }) => rest.y); >suddenly : (f: (a: { x: { z: any; ka: any; }; y: string; }) => void) => any > : ^ ^^ ^^^ ^^^ ^^^^^^^^ >({ x: a, ...rest }) => rest.y : ({ x: a, ...rest }: { x: { z: any; ka: any; }; y: string; }) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^ >x : any > : ^^^ >a : { z: any; ka: any; } > : ^^^^^^^^^^^^^^^^^^^^ >rest : { y: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >rest.y : string > : ^^^^^^ >rest : { y: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >y : string > : ^^^^^^ @@ -52,7 +52,7 @@ suddenly(({ x: { z = 12, ...nested }, ...rest } = { x: { z: 1, ka: 1 }, y: 'noo' >suddenly : (f: (a: { x: { z: any; ka: any; }; y: string; }) => void) => any > : ^ ^^ ^^^ ^^^ ^^^^^^^^ >({ x: { z = 12, ...nested }, ...rest } = { x: { z: 1, ka: 1 }, y: 'noo' }) => rest.y + nested.ka : ({ x: { z, ...nested }, ...rest }?: { x: { z: any; ka: any; }; y: string; }) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^ ^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^ >x : any > : ^^^ >z : any @@ -62,7 +62,7 @@ suddenly(({ x: { z = 12, ...nested }, ...rest } = { x: { z: 1, ka: 1 }, y: 'noo' >nested : { ka: any; } > : ^^^^^^^^^^^^ >rest : { y: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ x: { z: 1, ka: 1 }, y: 'noo' } : { x: { z: number; ka: number; }; y: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { z: number; ka: number; } @@ -86,7 +86,7 @@ suddenly(({ x: { z = 12, ...nested }, ...rest } = { x: { z: 1, ka: 1 }, y: 'noo' >rest.y : string > : ^^^^^^ >rest : { y: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >y : string > : ^^^^^^ >nested.ka : any @@ -105,7 +105,7 @@ class C { >a : number > : ^^^^^^ >clone : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : number > : ^^^^^^ >b : string @@ -119,7 +119,7 @@ class C { >a : number > : ^^^^^^ >clone : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : number > : ^^^^^^ >b : string diff --git a/tests/baselines/reference/objectRestParameterES5.types b/tests/baselines/reference/objectRestParameterES5.types index de5a21f6d94a9..bb237dd286d39 100644 --- a/tests/baselines/reference/objectRestParameterES5.types +++ b/tests/baselines/reference/objectRestParameterES5.types @@ -7,7 +7,7 @@ function cloneAgain({ a, ...clone }: { a: number, b: string }): void { >a : number > : ^^^^^^ >clone : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : number > : ^^^^^^ >b : string @@ -33,17 +33,17 @@ suddenly(({ x: a, ...rest }) => rest.y); >suddenly : (f: (a: { x: { z: any; ka: any; }; y: string; }) => void) => any > : ^ ^^ ^^^ ^^^ ^^^^^^^^ >({ x: a, ...rest }) => rest.y : ({ x: a, ...rest }: { x: { z: any; ka: any; }; y: string; }) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^ >x : any > : ^^^ >a : { z: any; ka: any; } > : ^^^^^^^^^^^^^^^^^^^^ >rest : { y: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >rest.y : string > : ^^^^^^ >rest : { y: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >y : string > : ^^^^^^ @@ -52,7 +52,7 @@ suddenly(({ x: { z = 12, ...nested }, ...rest } = { x: { z: 1, ka: 1 }, y: 'noo' >suddenly : (f: (a: { x: { z: any; ka: any; }; y: string; }) => void) => any > : ^ ^^ ^^^ ^^^ ^^^^^^^^ >({ x: { z = 12, ...nested }, ...rest } = { x: { z: 1, ka: 1 }, y: 'noo' }) => rest.y + nested.ka : ({ x: { z, ...nested }, ...rest }?: { x: { z: any; ka: any; }; y: string; }) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^ ^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^ >x : any > : ^^^ >z : any @@ -62,7 +62,7 @@ suddenly(({ x: { z = 12, ...nested }, ...rest } = { x: { z: 1, ka: 1 }, y: 'noo' >nested : { ka: any; } > : ^^^^^^^^^^^^ >rest : { y: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ x: { z: 1, ka: 1 }, y: 'noo' } : { x: { z: number; ka: number; }; y: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { z: number; ka: number; } @@ -86,7 +86,7 @@ suddenly(({ x: { z = 12, ...nested }, ...rest } = { x: { z: 1, ka: 1 }, y: 'noo' >rest.y : string > : ^^^^^^ >rest : { y: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >y : string > : ^^^^^^ >nested.ka : any @@ -105,7 +105,7 @@ class C { >a : number > : ^^^^^^ >clone : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : number > : ^^^^^^ >b : string @@ -119,7 +119,7 @@ class C { >a : number > : ^^^^^^ >clone : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : number > : ^^^^^^ >b : string diff --git a/tests/baselines/reference/objectRestReadonly.types b/tests/baselines/reference/objectRestReadonly.types index 188dbc91e7645..24c6049b2505d 100644 --- a/tests/baselines/reference/objectRestReadonly.types +++ b/tests/baselines/reference/objectRestReadonly.types @@ -48,7 +48,7 @@ const { foo, ...rest } = obj >foo : string > : ^^^^^^ >rest : { baz: string; quux: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >obj : Readonly > : ^^^^^^^^^^^^^^^^^ @@ -58,7 +58,7 @@ delete rest.baz >rest.baz : string > : ^^^^^^ >rest : { baz: string; quux: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >baz : string > : ^^^^^^ diff --git a/tests/baselines/reference/objectSpread.types b/tests/baselines/reference/objectSpread.types index 2b1b13cac88b9..92ca81fce93ad 100644 --- a/tests/baselines/reference/objectSpread.types +++ b/tests/baselines/reference/objectSpread.types @@ -269,7 +269,7 @@ getter.a = 12; >getter.a : number > : ^^^^^^ >getter : { a: number; c: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >a : number > : ^^^^^^ >12 : 12 @@ -310,13 +310,13 @@ function from16326(this: { header: Header }, header: Header, authToken: string): return { >{ ...this.header, ...header, ...authToken && { authToken } } : { authToken: string; head: string; body: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^ ...this.header, >this.header : Header > : ^^^^^^ >this : { header: Header; } -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^ >header : Header > : ^^^^^^ @@ -606,11 +606,11 @@ cplus.plus(); >cplus.plus() : void > : ^^^^ >cplus.plus : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >cplus : { p: number; plus(): void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^ ^^^ >plus : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ // new field's type conflicting with existing field is OK let changeTypeAfter: { a: string, b: string } = @@ -684,11 +684,11 @@ function container( >{ ...definiteBoolean, ...definiteString, ...optionalNumber } : { sn: string | number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^ >definiteBoolean : { sn: boolean; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >definiteString : { sn: string; } -> : ^^^^^^^^^^^^^^^ ->optionalNumber : { sn?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ +>optionalNumber : { sn?: number; } +> : ^^^^^^^ ^^^ let optionalUnionDuplicates: { sn: string | number } = { ...definiteBoolean, ...definiteString, ...optionalString, ...optionalNumber }; >optionalUnionDuplicates : { sn: string | number; } @@ -698,13 +698,13 @@ function container( >{ ...definiteBoolean, ...definiteString, ...optionalString, ...optionalNumber } : { sn: string | number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^ >definiteBoolean : { sn: boolean; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >definiteString : { sn: string; } -> : ^^^^^^^^^^^^^^^ ->optionalString : { sn?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->optionalNumber : { sn?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ +>optionalString : { sn?: string; } +> : ^^^^^^^ ^^^ +>optionalNumber : { sn?: number; } +> : ^^^^^^^ ^^^ let allOptional: { sn?: string | number } = { ...optionalString, ...optionalNumber }; >allOptional : { sn?: string | number; } @@ -713,10 +713,10 @@ function container( > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ ...optionalString, ...optionalNumber } : { sn?: string | number | undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->optionalString : { sn?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->optionalNumber : { sn?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>optionalString : { sn?: string; } +> : ^^^^^^^ ^^^ +>optionalNumber : { sn?: number; } +> : ^^^^^^^ ^^^ // computed property let computedFirst: { a: number, b: string, "before everything": number } = @@ -1052,9 +1052,9 @@ function genericSpread(t: T, u: U, v: T | U, w: T | { s: string }, obj: { let x07 = { a: 5, b: 'hi', ...t, c: true, ...obj }; >x07 : { a: number; b: string; } & T & { x: number; c: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >{ a: 5, b: 'hi', ...t, c: true, ...obj } : { a: number; b: string; } & T & { x: number; c: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >a : number > : ^^^^^^ >5 : 5 @@ -1070,13 +1070,13 @@ function genericSpread(t: T, u: U, v: T | U, w: T | { s: string }, obj: { >true : true > : ^^^^ >obj : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ let x09 = { a: 5, ...t, b: 'hi', c: true, ...obj }; >x09 : { a: number; } & T & { x: number; b: string; c: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ a: 5, ...t, b: 'hi', c: true, ...obj } : { a: number; } & T & { x: number; b: string; c: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number > : ^^^^^^ >5 : 5 @@ -1092,13 +1092,13 @@ function genericSpread(t: T, u: U, v: T | U, w: T | { s: string }, obj: { >true : true > : ^^^^ >obj : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ let x10 = { a: 5, ...t, b: 'hi', ...u, ...obj }; >x10 : { a: number; } & T & { b: string; } & U & { x: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >{ a: 5, ...t, b: 'hi', ...u, ...obj } : { a: number; } & T & { b: string; } & U & { x: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >a : number > : ^^^^^^ >5 : 5 @@ -1112,7 +1112,7 @@ function genericSpread(t: T, u: U, v: T | U, w: T | { s: string }, obj: { >u : U > : ^ >obj : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ let x11 = { ...v }; >x11 : T | U @@ -1124,31 +1124,31 @@ function genericSpread(t: T, u: U, v: T | U, w: T | { s: string }, obj: { let x12 = { ...v, ...obj }; >x12 : (T & { x: number; }) | (U & { x: number; }) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ >{ ...v, ...obj } : (T & { x: number; }) | (U & { x: number; }) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ >v : T | U > : ^^^^^ >obj : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ let x13 = { ...w }; >x13 : T | { s: string; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >{ ...w } : T | { s: string; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >w : T | { s: string; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ let x14 = { ...w, ...obj }; >x14 : (T & { x: number; }) | { x: number; s: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^ ^^^ >{ ...w, ...obj } : (T & { x: number; }) | { x: number; s: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^ ^^^ >w : T | { s: string; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >obj : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ let x15 = { ...t, ...v }; >x15 : T | (T & U) @@ -1162,36 +1162,36 @@ function genericSpread(t: T, u: U, v: T | U, w: T | { s: string }, obj: { let x16 = { ...t, ...w }; >x16 : T | (T & { s: string; }) -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^ >{ ...t, ...w } : T | (T & { s: string; }) -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^ >t : T > : ^ >w : T | { s: string; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ let x17 = { ...t, ...w, ...obj }; >x17 : (T & { x: number; }) | (T & { x: number; s: string; }) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^ >{ ...t, ...w, ...obj } : (T & { x: number; }) | (T & { x: number; s: string; }) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^ >t : T > : ^ >w : T | { s: string; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >obj : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ let x18 = { ...t, ...v, ...w }; >x18 : T | (T & U) | (T & { s: string; }) | (T & U & { s: string; }) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ >{ ...t, ...v, ...w } : T | (T & U) | (T & { s: string; }) | (T & U & { s: string; }) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ >t : T > : ^ >v : T | U > : ^^^^^ >w : T | { s: string; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ } diff --git a/tests/baselines/reference/objectSpreadIndexSignature.types b/tests/baselines/reference/objectSpreadIndexSignature.types index 48f8d8567a848..037cdf90324e4 100644 --- a/tests/baselines/reference/objectSpreadIndexSignature.types +++ b/tests/baselines/reference/objectSpreadIndexSignature.types @@ -25,11 +25,11 @@ declare let indexed3: { [n: string]: number }; let i = { ...indexed1, b: 11 }; >i : { b: number; a: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ >{ ...indexed1, b: 11 } : { b: number; a: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ >indexed1 : { [n: string]: number; a: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >b : number > : ^^^^^^ >11 : 11 @@ -40,26 +40,26 @@ i[101]; >i[101] : any > : ^^^ >i : { b: number; a: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ >101 : 101 > : ^^^ let ii = { ...indexed1, ...indexed2 }; >ii : { [x: string]: number | boolean; c: boolean; a: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >{ ...indexed1, ...indexed2 } : { [x: string]: number | boolean; c: boolean; a: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >indexed1 : { [n: string]: number; a: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >indexed2 : { [n: string]: boolean; c: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ // both have indexer, so i[1001]: number | boolean ii[1001]; >ii[1001] : number | boolean > : ^^^^^^^^^^^^^^^^ >ii : { [x: string]: number | boolean; c: boolean; a: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >1001 : 1001 > : ^^^^ diff --git a/tests/baselines/reference/objectSpreadNegative.types b/tests/baselines/reference/objectSpreadNegative.types index 33f2e3d867e9e..75bdcf50aeb07 100644 --- a/tests/baselines/reference/objectSpreadNegative.types +++ b/tests/baselines/reference/objectSpreadNegative.types @@ -79,10 +79,10 @@ let allOptional: { sn: string | number } = { ...optionalString, ...optionalNumbe > : ^^^^^^^^^^^^^^^ >{ ...optionalString, ...optionalNumber } : { sn?: string | number | undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->optionalString : { sn?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->optionalNumber : { sn?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>optionalString : { sn?: string; } +> : ^^^^^^^ ^^^ +>optionalNumber : { sn?: number; } +> : ^^^^^^^ ^^^ // error, 'sn' is optional in source, required in target diff --git a/tests/baselines/reference/objectSpreadRepeatedNullCheckPerf.types b/tests/baselines/reference/objectSpreadRepeatedNullCheckPerf.types index 0d75502309945..920ff914c2267 100644 --- a/tests/baselines/reference/objectSpreadRepeatedNullCheckPerf.types +++ b/tests/baselines/reference/objectSpreadRepeatedNullCheckPerf.types @@ -137,7 +137,7 @@ function parseWithSpread(config: Record): Props { >config.a.toString() : string > : ^^^^^^ >config.a.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >config.a : number > : ^^^^^^ >config : Record @@ -145,7 +145,7 @@ function parseWithSpread(config: Record): Props { >a : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ...config.b !== undefined && { b: config.b.toString() }, >config.b !== undefined && { b: config.b.toString() } : false | { b: string; } @@ -167,7 +167,7 @@ function parseWithSpread(config: Record): Props { >config.b.toString() : string > : ^^^^^^ >config.b.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >config.b : number > : ^^^^^^ >config : Record @@ -175,7 +175,7 @@ function parseWithSpread(config: Record): Props { >b : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ...config.c !== undefined && { c: config.c.toString() }, >config.c !== undefined && { c: config.c.toString() } : false | { c: string; } @@ -197,7 +197,7 @@ function parseWithSpread(config: Record): Props { >config.c.toString() : string > : ^^^^^^ >config.c.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >config.c : number > : ^^^^^^ >config : Record @@ -205,7 +205,7 @@ function parseWithSpread(config: Record): Props { >c : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ...config.d !== undefined && { d: config.d.toString() }, >config.d !== undefined && { d: config.d.toString() } : false | { d: string; } @@ -227,7 +227,7 @@ function parseWithSpread(config: Record): Props { >config.d.toString() : string > : ^^^^^^ >config.d.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >config.d : number > : ^^^^^^ >config : Record @@ -235,7 +235,7 @@ function parseWithSpread(config: Record): Props { >d : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ...config.e !== undefined && { e: config.e.toString() }, >config.e !== undefined && { e: config.e.toString() } : false | { e: string; } @@ -257,7 +257,7 @@ function parseWithSpread(config: Record): Props { >config.e.toString() : string > : ^^^^^^ >config.e.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >config.e : number > : ^^^^^^ >config : Record @@ -265,7 +265,7 @@ function parseWithSpread(config: Record): Props { >e : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ...config.f !== undefined && { f: config.f.toString() }, >config.f !== undefined && { f: config.f.toString() } : false | { f: string; } @@ -287,7 +287,7 @@ function parseWithSpread(config: Record): Props { >config.f.toString() : string > : ^^^^^^ >config.f.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >config.f : number > : ^^^^^^ >config : Record @@ -295,7 +295,7 @@ function parseWithSpread(config: Record): Props { >f : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ...config.g !== undefined && { g: config.g.toString() }, >config.g !== undefined && { g: config.g.toString() } : false | { g: string; } @@ -317,7 +317,7 @@ function parseWithSpread(config: Record): Props { >config.g.toString() : string > : ^^^^^^ >config.g.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >config.g : number > : ^^^^^^ >config : Record @@ -325,7 +325,7 @@ function parseWithSpread(config: Record): Props { >g : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ...config.h !== undefined && { h: config.h.toString() }, >config.h !== undefined && { h: config.h.toString() } : false | { h: string; } @@ -347,7 +347,7 @@ function parseWithSpread(config: Record): Props { >config.h.toString() : string > : ^^^^^^ >config.h.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >config.h : number > : ^^^^^^ >config : Record @@ -355,7 +355,7 @@ function parseWithSpread(config: Record): Props { >h : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ...config.i !== undefined && { i: config.i.toString() }, >config.i !== undefined && { i: config.i.toString() } : false | { i: string; } @@ -377,7 +377,7 @@ function parseWithSpread(config: Record): Props { >config.i.toString() : string > : ^^^^^^ >config.i.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >config.i : number > : ^^^^^^ >config : Record @@ -385,7 +385,7 @@ function parseWithSpread(config: Record): Props { >i : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ...config.j !== undefined && { j: config.j.toString() }, >config.j !== undefined && { j: config.j.toString() } : false | { j: string; } @@ -407,7 +407,7 @@ function parseWithSpread(config: Record): Props { >config.j.toString() : string > : ^^^^^^ >config.j.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >config.j : number > : ^^^^^^ >config : Record @@ -415,7 +415,7 @@ function parseWithSpread(config: Record): Props { >j : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ...config.k !== undefined && { k: config.k.toString() }, >config.k !== undefined && { k: config.k.toString() } : false | { k: string; } @@ -437,7 +437,7 @@ function parseWithSpread(config: Record): Props { >config.k.toString() : string > : ^^^^^^ >config.k.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >config.k : number > : ^^^^^^ >config : Record @@ -445,7 +445,7 @@ function parseWithSpread(config: Record): Props { >k : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ...config.l !== undefined && { l: config.l.toString() }, >config.l !== undefined && { l: config.l.toString() } : false | { l: string; } @@ -467,7 +467,7 @@ function parseWithSpread(config: Record): Props { >config.l.toString() : string > : ^^^^^^ >config.l.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >config.l : number > : ^^^^^^ >config : Record @@ -475,7 +475,7 @@ function parseWithSpread(config: Record): Props { >l : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ...config.m !== undefined && { m: config.m.toString() }, >config.m !== undefined && { m: config.m.toString() } : false | { m: string; } @@ -497,7 +497,7 @@ function parseWithSpread(config: Record): Props { >config.m.toString() : string > : ^^^^^^ >config.m.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >config.m : number > : ^^^^^^ >config : Record @@ -505,7 +505,7 @@ function parseWithSpread(config: Record): Props { >m : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ...config.n !== undefined && { n: config.n.toString() }, >config.n !== undefined && { n: config.n.toString() } : false | { n: string; } @@ -527,7 +527,7 @@ function parseWithSpread(config: Record): Props { >config.n.toString() : string > : ^^^^^^ >config.n.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >config.n : number > : ^^^^^^ >config : Record @@ -535,7 +535,7 @@ function parseWithSpread(config: Record): Props { >n : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ...config.o !== undefined && { o: config.o.toString() }, >config.o !== undefined && { o: config.o.toString() } : false | { o: string; } @@ -557,7 +557,7 @@ function parseWithSpread(config: Record): Props { >config.o.toString() : string > : ^^^^^^ >config.o.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >config.o : number > : ^^^^^^ >config : Record @@ -565,7 +565,7 @@ function parseWithSpread(config: Record): Props { >o : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ...config.p !== undefined && { p: config.p.toString() }, >config.p !== undefined && { p: config.p.toString() } : false | { p: string; } @@ -587,7 +587,7 @@ function parseWithSpread(config: Record): Props { >config.p.toString() : string > : ^^^^^^ >config.p.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >config.p : number > : ^^^^^^ >config : Record @@ -595,7 +595,7 @@ function parseWithSpread(config: Record): Props { >p : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ...config.q !== undefined && { q: config.q.toString() }, >config.q !== undefined && { q: config.q.toString() } : false | { q: string; } @@ -617,7 +617,7 @@ function parseWithSpread(config: Record): Props { >config.q.toString() : string > : ^^^^^^ >config.q.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >config.q : number > : ^^^^^^ >config : Record @@ -625,7 +625,7 @@ function parseWithSpread(config: Record): Props { >q : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ...config.r !== undefined && { r: config.r.toString() }, >config.r !== undefined && { r: config.r.toString() } : false | { r: string; } @@ -647,7 +647,7 @@ function parseWithSpread(config: Record): Props { >config.r.toString() : string > : ^^^^^^ >config.r.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >config.r : number > : ^^^^^^ >config : Record @@ -655,7 +655,7 @@ function parseWithSpread(config: Record): Props { >r : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ...config.s !== undefined && { s: config.s.toString() }, >config.s !== undefined && { s: config.s.toString() } : false | { s: string; } @@ -677,7 +677,7 @@ function parseWithSpread(config: Record): Props { >config.s.toString() : string > : ^^^^^^ >config.s.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >config.s : number > : ^^^^^^ >config : Record @@ -685,7 +685,7 @@ function parseWithSpread(config: Record): Props { >s : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ...config.t !== undefined && { t: config.t.toString() }, >config.t !== undefined && { t: config.t.toString() } : false | { t: string; } @@ -707,7 +707,7 @@ function parseWithSpread(config: Record): Props { >config.t.toString() : string > : ^^^^^^ >config.t.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >config.t : number > : ^^^^^^ >config : Record @@ -715,7 +715,7 @@ function parseWithSpread(config: Record): Props { >t : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ...config.u !== undefined && { u: config.u.toString() }, >config.u !== undefined && { u: config.u.toString() } : false | { u: string; } @@ -737,7 +737,7 @@ function parseWithSpread(config: Record): Props { >config.u.toString() : string > : ^^^^^^ >config.u.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >config.u : number > : ^^^^^^ >config : Record @@ -745,7 +745,7 @@ function parseWithSpread(config: Record): Props { >u : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ...config.v !== undefined && { v: config.v.toString() }, >config.v !== undefined && { v: config.v.toString() } : false | { v: string; } @@ -767,7 +767,7 @@ function parseWithSpread(config: Record): Props { >config.v.toString() : string > : ^^^^^^ >config.v.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >config.v : number > : ^^^^^^ >config : Record @@ -775,7 +775,7 @@ function parseWithSpread(config: Record): Props { >v : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ...config.w !== undefined && { w: config.w.toString() }, >config.w !== undefined && { w: config.w.toString() } : false | { w: string; } @@ -797,7 +797,7 @@ function parseWithSpread(config: Record): Props { >config.w.toString() : string > : ^^^^^^ >config.w.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >config.w : number > : ^^^^^^ >config : Record @@ -805,7 +805,7 @@ function parseWithSpread(config: Record): Props { >w : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ...config.x !== undefined && { x: config.x.toString() }, >config.x !== undefined && { x: config.x.toString() } : false | { x: string; } @@ -827,7 +827,7 @@ function parseWithSpread(config: Record): Props { >config.x.toString() : string > : ^^^^^^ >config.x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >config.x : number > : ^^^^^^ >config : Record @@ -835,7 +835,7 @@ function parseWithSpread(config: Record): Props { >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ...config.y !== undefined && { y: config.y.toString() }, >config.y !== undefined && { y: config.y.toString() } : false | { y: string; } @@ -857,7 +857,7 @@ function parseWithSpread(config: Record): Props { >config.y.toString() : string > : ^^^^^^ >config.y.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >config.y : number > : ^^^^^^ >config : Record @@ -865,7 +865,7 @@ function parseWithSpread(config: Record): Props { >y : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ...config.z !== undefined && { z: config.z.toString() } >config.z !== undefined && { z: config.z.toString() } : false | { z: string; } @@ -887,7 +887,7 @@ function parseWithSpread(config: Record): Props { >config.z.toString() : string > : ^^^^^^ >config.z.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >config.z : number > : ^^^^^^ >config : Record @@ -895,7 +895,7 @@ function parseWithSpread(config: Record): Props { >z : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } } @@ -903,7 +903,7 @@ parseWithSpread({ a: 1, b: 2, z: 26 }) >parseWithSpread({ a: 1, b: 2, z: 26 }) : Props > : ^^^^^ >parseWithSpread : (config: Record) => Props -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ a: 1, b: 2, z: 26 } : { a: number; b: number; z: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number diff --git a/tests/baselines/reference/objectSpreadStrictNull.types b/tests/baselines/reference/objectSpreadStrictNull.types index acafb5bb04e19..b8d6a1cbeb5e7 100644 --- a/tests/baselines/reference/objectSpreadStrictNull.types +++ b/tests/baselines/reference/objectSpreadStrictNull.types @@ -50,11 +50,11 @@ function f( >{ ...definiteBoolean, ...definiteString, ...optionalNumber } : { sn: string | number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^ >definiteBoolean : { sn: boolean; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >definiteString : { sn: string; } -> : ^^^^^^^^^^^^^^^ ->optionalNumber : { sn?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ +>optionalNumber : { sn?: number; } +> : ^^^^^^^ ^^^ let optionalUnionDuplicates: { sn: string | number } = { ...definiteBoolean, ...definiteString, ...optionalString, ...optionalNumber }; >optionalUnionDuplicates : { sn: string | number; } @@ -64,13 +64,13 @@ function f( >{ ...definiteBoolean, ...definiteString, ...optionalString, ...optionalNumber } : { sn: string | number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^ >definiteBoolean : { sn: boolean; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >definiteString : { sn: string; } -> : ^^^^^^^^^^^^^^^ ->optionalString : { sn?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->optionalNumber : { sn?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ +>optionalString : { sn?: string; } +> : ^^^^^^^ ^^^ +>optionalNumber : { sn?: number; } +> : ^^^^^^^ ^^^ let allOptional: { sn?: string | number } = { ...optionalString, ...optionalNumber }; >allOptional : { sn?: string | number; } @@ -79,10 +79,10 @@ function f( > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ ...optionalString, ...optionalNumber } : { sn?: string | number | undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->optionalString : { sn?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->optionalNumber : { sn?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>optionalString : { sn?: string; } +> : ^^^^^^^ ^^^ +>optionalNumber : { sn?: number; } +> : ^^^^^^^ ^^^ // undefined let undefinedUnionStops: { sn: string | number } = { ...definiteBoolean, ...definiteString, ...undefinedNumber }; @@ -91,13 +91,13 @@ function f( >sn : string | number > : ^^^^^^^^^^^^^^^ >{ ...definiteBoolean, ...definiteString, ...undefinedNumber } : { sn: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >definiteBoolean : { sn: boolean; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >definiteString : { sn: string; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >undefinedNumber : { sn: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ let undefinedUnionDuplicates: { sn: string | number } = { ...definiteBoolean, ...definiteString, ...undefinedString, ...undefinedNumber }; >undefinedUnionDuplicates : { sn: string | number; } @@ -105,15 +105,15 @@ function f( >sn : string | number > : ^^^^^^^^^^^^^^^ >{ ...definiteBoolean, ...definiteString, ...undefinedString, ...undefinedNumber } : { sn: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >definiteBoolean : { sn: boolean; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >definiteString : { sn: string; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >undefinedString : { sn: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >undefinedNumber : { sn: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ let allUndefined: { sn: string | number | undefined } = { ...undefinedString, ...undefinedNumber }; >allUndefined : { sn: string | number | undefined; } @@ -121,11 +121,11 @@ function f( >sn : string | number | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ ...undefinedString, ...undefinedNumber } : { sn: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >undefinedString : { sn: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >undefinedNumber : { sn: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ let undefinedWithOptionalContinues: { sn: string | number | boolean } = { ...definiteBoolean, ...undefinedString, ...optionalNumber }; >undefinedWithOptionalContinues : { sn: string | number | boolean; } @@ -135,11 +135,11 @@ function f( >{ ...definiteBoolean, ...undefinedString, ...optionalNumber } : { sn: string | number | undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >definiteBoolean : { sn: boolean; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >undefinedString : { sn: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->optionalNumber : { sn?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ +>optionalNumber : { sn?: number; } +> : ^^^^^^^ ^^^ } type Movie = { @@ -213,11 +213,11 @@ function g(fields: Fields, partialFields: Partial, nearlyPartialFields: // ok, undefined is stripped from optional properties when spread fields = { ...fields, ...partialFields }; >fields = { ...fields, ...partialFields } : { foo: number; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >fields : Fields > : ^^^^^^ >{ ...fields, ...partialFields } : { foo: number; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >fields : Fields > : ^^^^^^ >partialFields : Partial @@ -226,11 +226,11 @@ function g(fields: Fields, partialFields: Partial, nearlyPartialFields: // error: not optional, undefined remains fields = { ...fields, ...nearlyPartialFields }; >fields = { ...fields, ...nearlyPartialFields } : { foo: number | undefined; bar: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >fields : Fields > : ^^^^^^ >{ ...fields, ...nearlyPartialFields } : { foo: number | undefined; bar: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >fields : Fields > : ^^^^^^ >nearlyPartialFields : NearlyPartialFields diff --git a/tests/baselines/reference/objectTypeHidingMembersOfExtendedObject.types b/tests/baselines/reference/objectTypeHidingMembersOfExtendedObject.types index 316299db5fb80..817c5b6620625 100644 --- a/tests/baselines/reference/objectTypeHidingMembersOfExtendedObject.types +++ b/tests/baselines/reference/objectTypeHidingMembersOfExtendedObject.types @@ -123,11 +123,11 @@ var r2: void = i.valueOf(); >i.valueOf() : void > : ^^^^ >i.valueOf : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i : I > : ^ >valueOf : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var r2b: B = i.data; >r2b : B @@ -245,9 +245,9 @@ var r4: void = b.valueOf(); >b.valueOf() : void > : ^^^^ >b.valueOf : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >b : { [x: string]: any; valueOf(): void; data: B; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ >valueOf : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/objectTypeHidingMembersOfObject.types b/tests/baselines/reference/objectTypeHidingMembersOfObject.types index f9d0c31c3856c..68986806ff8f3 100644 --- a/tests/baselines/reference/objectTypeHidingMembersOfObject.types +++ b/tests/baselines/reference/objectTypeHidingMembersOfObject.types @@ -44,11 +44,11 @@ var r2: void = i.valueOf(); >i.valueOf() : void > : ^^^^ >i.valueOf : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i : I > : ^ >valueOf : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var a = { >a : { valueOf: () => void; } @@ -90,9 +90,9 @@ var r4: void = b.valueOf(); >b.valueOf() : void > : ^^^^ >b.valueOf : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >b : { valueOf(): void; } -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^ >valueOf : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/objectTypePropertyAccess.types b/tests/baselines/reference/objectTypePropertyAccess.types index 7a1dade40bf16..a7f5a403ce761 100644 --- a/tests/baselines/reference/objectTypePropertyAccess.types +++ b/tests/baselines/reference/objectTypePropertyAccess.types @@ -21,11 +21,11 @@ var r1 = c.toString(); >c.toString() : string > : ^^^^^^ >c.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >c : C > : ^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var r2 = c['toString'](); >r2 : string @@ -33,7 +33,7 @@ var r2 = c['toString'](); >c['toString']() : string > : ^^^^^^ >c['toString'] : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >c : C > : ^ >'toString' : "toString" @@ -74,11 +74,11 @@ var r4 = i.toString(); >i.toString() : string > : ^^^^^^ >i.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >i : I > : ^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var r5 = i['toString'](); >r5 : string @@ -86,7 +86,7 @@ var r5 = i['toString'](); >i['toString']() : string > : ^^^^^^ >i['toString'] : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >i : I > : ^ >'toString' : "toString" @@ -131,11 +131,11 @@ var r8 = a.toString(); >a.toString() : string > : ^^^^^^ >a.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >a : { foo: string; } > : ^^^^^^^^^^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var r9 = a['toString'](); >r9 : string @@ -143,7 +143,7 @@ var r9 = a['toString'](); >a['toString']() : string > : ^^^^^^ >a['toString'] : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >a : { foo: string; } > : ^^^^^^^^^^^^^^^^ >'toString' : "toString" diff --git a/tests/baselines/reference/objectTypeWithCallSignatureAppearsToBeFunctionType.types b/tests/baselines/reference/objectTypeWithCallSignatureAppearsToBeFunctionType.types index d6b96f600f822..eb392542f2549 100644 --- a/tests/baselines/reference/objectTypeWithCallSignatureAppearsToBeFunctionType.types +++ b/tests/baselines/reference/objectTypeWithCallSignatureAppearsToBeFunctionType.types @@ -26,11 +26,11 @@ var r2b: (x: any, y?: any) => any = i.apply; >x : any >y : any >i.apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >i : I > : ^ >apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ var b: { >b : () => void @@ -45,7 +45,7 @@ var r4: void = b(); >b() : void > : ^^^^ >b : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var rb4: (x: any, y?: any) => any = b.apply; >rb4 : (x: any, y?: any) => any @@ -53,9 +53,9 @@ var rb4: (x: any, y?: any) => any = b.apply; >x : any >y : any >b.apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >b : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfExtendedFunction.types b/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfExtendedFunction.types index 2e38d61a2492e..4f0e22af53940 100644 --- a/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfExtendedFunction.types +++ b/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfExtendedFunction.types @@ -41,11 +41,11 @@ var r1: (a: any, b?: any) => void = i.apply; >a : any >b : any >i.apply : (a: any, b?: any) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >i : I > : ^ >apply : (a: any, b?: any) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ var r1b: (thisArg: number, ...argArray: number[]) => void = i.call; >r1b : (thisArg: number, ...argArray: number[]) => void @@ -55,11 +55,11 @@ var r1b: (thisArg: number, ...argArray: number[]) => void = i.call; >argArray : number[] > : ^^^^^^^^ >i.call : (thisArg: number, ...argArray: number[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >i : I > : ^ >call : (thisArg: number, ...argArray: number[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ var r1c = i.arguments; >r1c : any @@ -113,11 +113,11 @@ var r2: (a: any, b?: any) => void = x.apply; >a : any >b : any >x.apply : (a: any, b?: any) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >x : { (): void; apply(a: any, b?: any): void; call(thisArg: number, ...argArray: number[]): any; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >apply : (a: any, b?: any) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ var r2b: (thisArg: number, ...argArray: number[]) => void = x.call; >r2b : (thisArg: number, ...argArray: number[]) => void @@ -127,17 +127,17 @@ var r2b: (thisArg: number, ...argArray: number[]) => void = x.call; >argArray : number[] > : ^^^^^^^^ >x.call : (thisArg: number, ...argArray: number[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >x : { (): void; apply(a: any, b?: any): void; call(thisArg: number, ...argArray: number[]): any; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >call : (thisArg: number, ...argArray: number[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ var r2c = x.arguments; >r2c : any >x.arguments : any >x : { (): void; apply(a: any, b?: any): void; call(thisArg: number, ...argArray: number[]): any; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >arguments : any > : ^^^ @@ -147,7 +147,7 @@ var r2d = x.data; >x.data : number > : ^^^^^^ >x : { (): void; apply(a: any, b?: any): void; call(thisArg: number, ...argArray: number[]): any; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >data : number > : ^^^^^^ @@ -155,7 +155,7 @@ var r2e = x['hm']; // should be Object >r2e : error >x['hm'] : error >x : { (): void; apply(a: any, b?: any): void; call(thisArg: number, ...argArray: number[]): any; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >'hm' : "hm" > : ^^^^ diff --git a/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfFunction.types b/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfFunction.types index 025e55b275d61..92a0418827371 100644 --- a/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfFunction.types +++ b/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfFunction.types @@ -31,11 +31,11 @@ var r1: (a: any, b?: any) => void = i.apply; >a : any >b : any >i.apply : (a: any, b?: any) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >i : I > : ^ >apply : (a: any, b?: any) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ var r1b: (thisArg: number, ...argArray: number[]) => void = i.call; >r1b : (thisArg: number, ...argArray: number[]) => void @@ -45,11 +45,11 @@ var r1b: (thisArg: number, ...argArray: number[]) => void = i.call; >argArray : number[] > : ^^^^^^^^ >i.call : (thisArg: number, ...argArray: number[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >i : I > : ^ >call : (thisArg: number, ...argArray: number[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ var r1c = i.arguments; >r1c : any @@ -85,11 +85,11 @@ var r2: (a: any, b?: any) => void = x.apply; >a : any >b : any >x.apply : (a: any, b?: any) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >x : { (): void; apply(a: any, b?: any): void; call(thisArg: number, ...argArray: number[]): any; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >apply : (a: any, b?: any) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ var r2b: (thisArg: number, ...argArray: number[]) => void = x.call; >r2b : (thisArg: number, ...argArray: number[]) => void @@ -99,17 +99,17 @@ var r2b: (thisArg: number, ...argArray: number[]) => void = x.call; >argArray : number[] > : ^^^^^^^^ >x.call : (thisArg: number, ...argArray: number[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >x : { (): void; apply(a: any, b?: any): void; call(thisArg: number, ...argArray: number[]): any; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >call : (thisArg: number, ...argArray: number[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ var r2c = x.arguments; >r2c : any >x.arguments : any >x : { (): void; apply(a: any, b?: any): void; call(thisArg: number, ...argArray: number[]): any; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >arguments : any > : ^^^ diff --git a/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.types b/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.types index 72c1dbe45c078..48208f8f41aeb 100644 --- a/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.types +++ b/tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.types @@ -37,17 +37,17 @@ var a: { } f = a; >f = a : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >f : Object > : ^^^^^^ >a : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ a = f; >a = f : Object > : ^^^^^^ >a : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >f : Object > : ^^^^^^ diff --git a/tests/baselines/reference/objectTypeWithConstructSignatureAppearsToBeFunctionType.types b/tests/baselines/reference/objectTypeWithConstructSignatureAppearsToBeFunctionType.types index 432368d987b25..9526daf2cd7a0 100644 --- a/tests/baselines/reference/objectTypeWithConstructSignatureAppearsToBeFunctionType.types +++ b/tests/baselines/reference/objectTypeWithConstructSignatureAppearsToBeFunctionType.types @@ -35,11 +35,11 @@ var r2c: (x: any, y?: any) => any = i.apply; >y : any > : ^^^ >i.apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >i : I > : ^ >apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ var b: { >b : new () => number @@ -54,7 +54,7 @@ var r4: number = b(); >b() : any > : ^^^ >b : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r4b: number = new b(); >r4b : number @@ -62,7 +62,7 @@ var r4b: number = new b(); >new b() : number > : ^^^^^^ >b : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var r4c: (x: any, y?: any) => any = b.apply; >r4c : (x: any, y?: any) => any @@ -72,9 +72,9 @@ var r4c: (x: any, y?: any) => any = b.apply; >y : any > : ^^^ >b.apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >b : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfExtendedFunction.types b/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfExtendedFunction.types index 37fb5e33f03ee..e2afe0291538d 100644 --- a/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfExtendedFunction.types +++ b/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfExtendedFunction.types @@ -38,11 +38,11 @@ var r1: (a: any, b?: any) => void = i.apply; >a : any >b : any >i.apply : (a: any, b?: any) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >i : I > : ^ >apply : (a: any, b?: any) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ var r1b: (thisArg: number, ...argArray: number[]) => void = i.call; >r1b : (thisArg: number, ...argArray: number[]) => void @@ -52,11 +52,11 @@ var r1b: (thisArg: number, ...argArray: number[]) => void = i.call; >argArray : number[] > : ^^^^^^^^ >i.call : (thisArg: number, ...argArray: number[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >i : I > : ^ >call : (thisArg: number, ...argArray: number[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ var r1c = i.arguments; >r1c : any @@ -110,11 +110,11 @@ var r2: (a: any, b?: any) => void = x.apply; >a : any >b : any >x.apply : (a: any, b?: any) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >x : { new (): number; apply(a: any, b?: any): void; call(thisArg: number, ...argArray: number[]): any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >apply : (a: any, b?: any) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ var r2b: (thisArg: number, ...argArray: number[]) => void = x.call; >r2b : (thisArg: number, ...argArray: number[]) => void @@ -124,17 +124,17 @@ var r2b: (thisArg: number, ...argArray: number[]) => void = x.call; >argArray : number[] > : ^^^^^^^^ >x.call : (thisArg: number, ...argArray: number[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >x : { new (): number; apply(a: any, b?: any): void; call(thisArg: number, ...argArray: number[]): any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >call : (thisArg: number, ...argArray: number[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ var r2c = x.arguments; >r2c : any >x.arguments : any >x : { new (): number; apply(a: any, b?: any): void; call(thisArg: number, ...argArray: number[]): any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >arguments : any > : ^^^ @@ -144,7 +144,7 @@ var r2d = x.data; >x.data : number > : ^^^^^^ >x : { new (): number; apply(a: any, b?: any): void; call(thisArg: number, ...argArray: number[]): any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >data : number > : ^^^^^^ @@ -152,7 +152,7 @@ var r2e = x['hm']; // should be Object >r2e : error >x['hm'] : error >x : { new (): number; apply(a: any, b?: any): void; call(thisArg: number, ...argArray: number[]): any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >'hm' : "hm" > : ^^^^ diff --git a/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfFunction.types b/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfFunction.types index 5aa608309505c..dba1f49ab3c48 100644 --- a/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfFunction.types +++ b/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfFunction.types @@ -28,11 +28,11 @@ var r1: (a: any, b?: any) => void = i.apply; >a : any >b : any >i.apply : (a: any, b?: any) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >i : I > : ^ >apply : (a: any, b?: any) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ var r1b: (thisArg: number, ...argArray: number[]) => void = i.call; >r1b : (thisArg: number, ...argArray: number[]) => void @@ -42,11 +42,11 @@ var r1b: (thisArg: number, ...argArray: number[]) => void = i.call; >argArray : number[] > : ^^^^^^^^ >i.call : (thisArg: number, ...argArray: number[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >i : I > : ^ >call : (thisArg: number, ...argArray: number[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ var r1c = i.arguments; >r1c : any @@ -82,11 +82,11 @@ var r2: (a: any, b?: any) => void = x.apply; >a : any >b : any >x.apply : (a: any, b?: any) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >x : { new (): number; apply(a: any, b?: any): void; call(thisArg: number, ...argArray: number[]): any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >apply : (a: any, b?: any) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ var r2b: (thisArg: number, ...argArray: number[]) => void = x.call; >r2b : (thisArg: number, ...argArray: number[]) => void @@ -96,17 +96,17 @@ var r2b: (thisArg: number, ...argArray: number[]) => void = x.call; >argArray : number[] > : ^^^^^^^^ >x.call : (thisArg: number, ...argArray: number[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >x : { new (): number; apply(a: any, b?: any): void; call(thisArg: number, ...argArray: number[]): any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >call : (thisArg: number, ...argArray: number[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ var r2c = x.arguments; >r2c : any >x.arguments : any >x : { new (): number; apply(a: any, b?: any): void; call(thisArg: number, ...argArray: number[]): any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >arguments : any > : ^^^ diff --git a/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.types b/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.types index e6e3159dcb971..534338085cce2 100644 --- a/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.types +++ b/tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.types @@ -37,17 +37,17 @@ var a: { } f = a; >f = a : new () => any -> : ^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >f : Object > : ^^^^^^ >a : new () => any -> : ^^^^^^^^^^^^^ +> : ^^^^^^^^^^ a = f; >a = f : Object > : ^^^^^^ >a : new () => any -> : ^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >f : Object > : ^^^^^^ diff --git a/tests/baselines/reference/objectTypeWithNumericProperty.types b/tests/baselines/reference/objectTypeWithNumericProperty.types index c6486b23e8471..7cee8ae075481 100644 --- a/tests/baselines/reference/objectTypeWithNumericProperty.types +++ b/tests/baselines/reference/objectTypeWithNumericProperty.types @@ -133,7 +133,7 @@ var r1 = a[1]; >a[1] : number > : ^^^^^^ >a : { 1: number; 1.1: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ ^^^ >1 : 1 > : ^ @@ -143,7 +143,7 @@ var r2 = a[1.1]; >a[1.1] : string > : ^^^^^^ >a : { 1: number; 1.1: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ ^^^ >1.1 : 1.1 > : ^^^ @@ -153,7 +153,7 @@ var r3 = a['1']; >a['1'] : number > : ^^^^^^ >a : { 1: number; 1.1: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ ^^^ >'1' : "1" > : ^^^ @@ -163,7 +163,7 @@ var r4 = a['1.1']; >a['1.1'] : string > : ^^^^^^ >a : { 1: number; 1.1: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ ^^^ >'1.1' : "1.1" > : ^^^^^ diff --git a/tests/baselines/reference/objectTypeWithRecursiveWrappedPropertyCheckedNominally.types b/tests/baselines/reference/objectTypeWithRecursiveWrappedPropertyCheckedNominally.types index 25dd8abd3ed18..5406aaf52e443 100644 --- a/tests/baselines/reference/objectTypeWithRecursiveWrappedPropertyCheckedNominally.types +++ b/tests/baselines/reference/objectTypeWithRecursiveWrappedPropertyCheckedNominally.types @@ -119,7 +119,7 @@ rList1 = rMyList1; // error, not nominally equal function foo, U extends MyList>(t: T, u: U) { >foo : , U extends MyList>(t: T, u: U) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >t : T > : ^ >u : U @@ -184,7 +184,7 @@ function foo, U extends MyList>(t: T, u: U) { function foo2>(t: T, u: U) { >foo2 : >(t: T, u: U) => void -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >t : T > : ^ >u : U diff --git a/tests/baselines/reference/objectTypeWithStringIndexerHidingObjectIndexer.types b/tests/baselines/reference/objectTypeWithStringIndexerHidingObjectIndexer.types index 79476a30ee9f1..6f9d98b105d7c 100644 --- a/tests/baselines/reference/objectTypeWithStringIndexerHidingObjectIndexer.types +++ b/tests/baselines/reference/objectTypeWithStringIndexerHidingObjectIndexer.types @@ -97,7 +97,7 @@ var r4: string = o2['']; >o2[''] : string > : ^^^^^^ >o2 : { [x: string]: string; baz: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >'' : "" > : ^^ diff --git a/tests/baselines/reference/objectTypeWithStringNamedNumericProperty.types b/tests/baselines/reference/objectTypeWithStringNamedNumericProperty.types index 1a1ebe739b07e..653fb50d33f09 100644 --- a/tests/baselines/reference/objectTypeWithStringNamedNumericProperty.types +++ b/tests/baselines/reference/objectTypeWithStringNamedNumericProperty.types @@ -485,7 +485,7 @@ var r1 = a['0.1']; >a['0.1'] : void > : ^^^^ >a : { "0.1": void; ".1": Object; "1": number; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": Date; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ ^^^ >'0.1' : "0.1" > : ^^^^^ @@ -495,7 +495,7 @@ var r2 = a['.1']; >a['.1'] : Object > : ^^^^^^ >a : { "0.1": void; ".1": Object; "1": number; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": Date; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ ^^^ >'.1' : ".1" > : ^^^^ @@ -505,7 +505,7 @@ var r3 = a['1']; >a['1'] : number > : ^^^^^^ >a : { "0.1": void; ".1": Object; "1": number; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": Date; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ ^^^ >'1' : "1" > : ^^^ @@ -525,7 +525,7 @@ var r4 = a['1.']; >a['1.'] : string > : ^^^^^^ >a : { "0.1": void; ".1": Object; "1": number; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": Date; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ ^^^ >'1.' : "1." > : ^^^^ @@ -545,7 +545,7 @@ var r5 = a['1..']; >a['1..'] : boolean > : ^^^^^^^ >a : { "0.1": void; ".1": Object; "1": number; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": Date; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ ^^^ >'1..' : "1.." > : ^^^^^ @@ -555,7 +555,7 @@ var r6 = a['1.0']; >a['1.0'] : Date > : ^^^^ >a : { "0.1": void; ".1": Object; "1": number; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": Date; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ ^^^ >'1.0' : "1.0" > : ^^^^^ diff --git a/tests/baselines/reference/objectTypeWithStringNamedPropertyOfIllegalCharacters.types b/tests/baselines/reference/objectTypeWithStringNamedPropertyOfIllegalCharacters.types index c3e037a350c4e..0c24f0f5b9da6 100644 --- a/tests/baselines/reference/objectTypeWithStringNamedPropertyOfIllegalCharacters.types +++ b/tests/baselines/reference/objectTypeWithStringNamedPropertyOfIllegalCharacters.types @@ -150,7 +150,7 @@ var r = a[" "]; >a[" "] : number > : ^^^^^^ >a : { " ": number; "a b": string; "~!@#$%^&*()_+{}|:'<>?/.,`": number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >" " : " " > : ^^^^^ @@ -158,7 +158,7 @@ var r2 = a[" "]; >r2 : error >a[" "] : error >a : { " ": number; "a b": string; "~!@#$%^&*()_+{}|:'<>?/.,`": number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >" " : " " > : ^^^^^^ @@ -168,7 +168,7 @@ var r3 = a["a b"]; >a["a b"] : string > : ^^^^^^ >a : { " ": number; "a b": string; "~!@#$%^&*()_+{}|:'<>?/.,`": number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >"a b" : "a b" > : ^^^^^^^ @@ -179,7 +179,7 @@ var r4 = a["~!@#$%^&*()_+{}|:'<>?\/.,`"]; >a["~!@#$%^&*()_+{}|:'<>?\/.,`"] : number > : ^^^^^^ >a : { " ": number; "a b": string; "~!@#$%^&*()_+{}|:'<>?/.,`": number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >"~!@#$%^&*()_+{}|:'<>?\/.,`" : "~!@#$%^&*()_+{}|:'<>?/.,`" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/objectTypesIdentity.types b/tests/baselines/reference/objectTypesIdentity.types index ae71d8e9ff560..1e95c086a00fd 100644 --- a/tests/baselines/reference/objectTypesIdentity.types +++ b/tests/baselines/reference/objectTypesIdentity.types @@ -124,17 +124,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -223,9 +223,9 @@ function foo7(x: typeof a); // error >foo7 : { (x: A): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ function foo7(x: any) { } >foo7 : { (x: A): any; (x: typeof a): any; } @@ -276,9 +276,9 @@ function foo10(x: typeof a); // error >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -331,9 +331,9 @@ function foo13(x: typeof a); // error >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/objectTypesIdentity2.types b/tests/baselines/reference/objectTypesIdentity2.types index c083e0f3eb5ba..e4c6f7840c411 100644 --- a/tests/baselines/reference/objectTypesIdentity2.types +++ b/tests/baselines/reference/objectTypesIdentity2.types @@ -123,9 +123,9 @@ function foo7(x: typeof a); // ok >foo7 : { (x: A): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo: RegExp; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a : { foo: RegExp; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ function foo7(x: any) { } >foo7 : { (x: A): any; (x: typeof a): any; } @@ -176,9 +176,9 @@ function foo10(x: typeof a); // ok >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo: RegExp; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a : { foo: RegExp; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -231,9 +231,9 @@ function foo13(x: typeof a); // ok >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo: RegExp; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a : { foo: RegExp; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithCallSignatures.types b/tests/baselines/reference/objectTypesIdentityWithCallSignatures.types index 7c3ac4b5efb66..1abd6acc7b51b 100644 --- a/tests/baselines/reference/objectTypesIdentityWithCallSignatures.types +++ b/tests/baselines/reference/objectTypesIdentityWithCallSignatures.types @@ -144,17 +144,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: string): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >a : { foo(x: string): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: string): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >a : { foo(x: string): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -243,9 +243,9 @@ function foo7(x: typeof a); // error >foo7 : { (x: A): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: string): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >a : { foo(x: string): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ function foo7(x: any) { } >foo7 : { (x: A): any; (x: typeof a): any; } @@ -296,9 +296,9 @@ function foo10(x: typeof a); // error >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: string): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >a : { foo(x: string): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -368,9 +368,9 @@ function foo13(x: typeof a); // error >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: string): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >a : { foo(x: string): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithCallSignatures2.types b/tests/baselines/reference/objectTypesIdentityWithCallSignatures2.types index b3286c2f475b0..f1f800cd33dd5 100644 --- a/tests/baselines/reference/objectTypesIdentityWithCallSignatures2.types +++ b/tests/baselines/reference/objectTypesIdentityWithCallSignatures2.types @@ -144,17 +144,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: Date): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >a : { foo(x: Date): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: Date): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >a : { foo(x: Date): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -243,9 +243,9 @@ function foo7(x: typeof a); // ok >foo7 : { (x: A): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: Date): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >a : { foo(x: Date): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ function foo7(x: any) { } >foo7 : { (x: A): any; (x: typeof a): any; } @@ -296,9 +296,9 @@ function foo10(x: typeof a); // ok >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: Date): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >a : { foo(x: Date): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -368,9 +368,9 @@ function foo13(x: typeof a); // ok >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: Date): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >a : { foo(x: Date): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithCallSignatures3.types b/tests/baselines/reference/objectTypesIdentityWithCallSignatures3.types index 35c64a2bc9249..e5b849c6a2add 100644 --- a/tests/baselines/reference/objectTypesIdentityWithCallSignatures3.types +++ b/tests/baselines/reference/objectTypesIdentityWithCallSignatures3.types @@ -43,17 +43,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -62,24 +62,24 @@ function foo3(x: any) { } > : ^^^ function foo4(x: typeof b); ->foo4 : { (x: any): any; (x: any): any; } -> : ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +>foo4 : { (x: typeof b): any; (x: typeof b): any; } +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : any > : ^^^ >b : any > : ^^^ function foo4(x: typeof b); // error ->foo4 : { (x: any): any; (x: any): any; } -> : ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +>foo4 : { (x: typeof b): any; (x: typeof b): any; } +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : any > : ^^^ >b : any > : ^^^ function foo4(x: any) { } ->foo4 : { (x: any): any; (x: any): any; } -> : ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +>foo4 : { (x: typeof b): any; (x: typeof b): any; } +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : any > : ^^^ @@ -93,9 +93,9 @@ function foo13(x: typeof a); // error >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } @@ -125,9 +125,9 @@ function foo14b(x: typeof a); >foo14b : { (x: typeof a): any; (x: I2): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ function foo14b(x: I2); // error >foo14b : { (x: typeof a): any; (x: I2): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithCallSignaturesDifferingParamCounts.types b/tests/baselines/reference/objectTypesIdentityWithCallSignaturesDifferingParamCounts.types index 4496ce4c405cf..0f170f8a747ff 100644 --- a/tests/baselines/reference/objectTypesIdentityWithCallSignaturesDifferingParamCounts.types +++ b/tests/baselines/reference/objectTypesIdentityWithCallSignaturesDifferingParamCounts.types @@ -150,17 +150,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: string, y: string): string; } -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: string, y: string): string; } -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: string, y: string): string; } -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: string, y: string): string; } -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -249,9 +249,9 @@ function foo7(x: typeof a); // ok >foo7 : { (x: A): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: string, y: string): string; } -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: string, y: string): string; } -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^ function foo7(x: any) { } >foo7 : { (x: A): any; (x: typeof a): any; } @@ -302,9 +302,9 @@ function foo10(x: typeof a); // error >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: string, y: string): string; } -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: string, y: string): string; } -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -374,9 +374,9 @@ function foo13(x: typeof a); // ok >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: string, y: string): string; } -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: string, y: string): string; } -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithCallSignaturesDifferingParamCounts2.types b/tests/baselines/reference/objectTypesIdentityWithCallSignaturesDifferingParamCounts2.types index 4a7c1aed6425d..b7c3b93da993a 100644 --- a/tests/baselines/reference/objectTypesIdentityWithCallSignaturesDifferingParamCounts2.types +++ b/tests/baselines/reference/objectTypesIdentityWithCallSignaturesDifferingParamCounts2.types @@ -44,17 +44,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : (x: string, y: string) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a : (x: string, y: string) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : (x: string, y: string) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a : (x: string, y: string) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -105,9 +105,9 @@ function foo13(x: typeof a); // ok >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : (x: string, y: string) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a : (x: string, y: string) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } @@ -135,9 +135,9 @@ function foo14b(x: typeof a); >foo14b : { (x: typeof a): any; (x: I2): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : (x: string, y: string) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a : (x: string, y: string) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ function foo14b(x: I2); // ok >foo14b : { (x: typeof a): any; (x: I2): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithCallSignaturesWithOverloads.types b/tests/baselines/reference/objectTypesIdentityWithCallSignaturesWithOverloads.types index 5d4e84e2233a6..fdbf09c883385 100644 --- a/tests/baselines/reference/objectTypesIdentityWithCallSignaturesWithOverloads.types +++ b/tests/baselines/reference/objectTypesIdentityWithCallSignaturesWithOverloads.types @@ -9,19 +9,19 @@ class A { foo(x: number): number; >foo : { (x: number): number; (x: string): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ foo(x: string): string; >foo : { (x: number): number; (x: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ foo(x: any): any { return null; } >foo : { (x: number): number; (x: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any } @@ -31,19 +31,19 @@ class B { foo(x: number): number; >foo : { (x: number): number; (x: string): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ foo(x: string): string; >foo : { (x: number): number; (x: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ foo(x: any): any { return null; } >foo : { (x: number): number; (x: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any } @@ -53,38 +53,38 @@ class C { foo(x: number): number; >foo : { (x: number): number; (x: string): string; (x: T): T; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ foo(x: string): string; >foo : { (x: number): number; (x: string): string; (x: T): T; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ foo(x: T): T; >foo : { (x: number): number; (x: string): string; (x: T): T; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : T > : ^ foo(x: any): any { return null; } >foo : { (x: number): number; (x: string): string; (x: T): T; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any } interface I { foo(x: number): number; >foo : { (x: number): number; (x: string): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ foo(x: string): string; >foo : { (x: number): number; (x: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ } @@ -92,19 +92,19 @@ interface I { interface I2 { foo(x: number): number; >foo : { (x: number): number; (x: string): string; (x: T): T; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ foo(x: string): string; >foo : { (x: number): number; (x: string): string; (x: T): T; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ foo(x: T): T; >foo : { (x: number): number; (x: string): string; (x: T): T; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : T > : ^ } @@ -115,13 +115,13 @@ var a: { foo(x: number): number >foo : { (x: number): number; (x: string): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ foo(x: string): string >foo : { (x: number): number; (x: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ } @@ -214,17 +214,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: number): number; foo(x: string): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ >a : { foo(x: number): number; foo(x: string): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: number): number; foo(x: string): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ >a : { foo(x: number): number; foo(x: string): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -313,9 +313,9 @@ function foo7(x: typeof a); // BUG 831930 >foo7 : { (x: A): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: number): number; foo(x: string): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ >a : { foo(x: number): number; foo(x: string): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ function foo7(x: any) { } >foo7 : { (x: A): any; (x: typeof a): any; } @@ -366,9 +366,9 @@ function foo10(x: typeof a); // BUG 831930 >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: number): number; foo(x: string): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ >a : { foo(x: number): number; foo(x: string): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -438,9 +438,9 @@ function foo13(x: typeof a); // error >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: number): number; foo(x: string): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ >a : { foo(x: number): number; foo(x: string): string; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithConstructSignatures2.types b/tests/baselines/reference/objectTypesIdentityWithConstructSignatures2.types index 9907595199db1..4d282106da4bc 100644 --- a/tests/baselines/reference/objectTypesIdentityWithConstructSignatures2.types +++ b/tests/baselines/reference/objectTypesIdentityWithConstructSignatures2.types @@ -106,17 +106,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: Date) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a : new (x: Date) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: Date) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a : new (x: Date) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -188,9 +188,9 @@ function foo10(x: typeof a); // ok >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: Date) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a : new (x: Date) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -260,9 +260,9 @@ function foo13(x: typeof a); // ok >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: Date) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >a : new (x: Date) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithConstructSignaturesDifferingParamCounts.types b/tests/baselines/reference/objectTypesIdentityWithConstructSignaturesDifferingParamCounts.types index 8d269e784ecfe..0f52eec54300d 100644 --- a/tests/baselines/reference/objectTypesIdentityWithConstructSignaturesDifferingParamCounts.types +++ b/tests/baselines/reference/objectTypesIdentityWithConstructSignaturesDifferingParamCounts.types @@ -112,17 +112,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: string, y: string) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a : new (x: string, y: string) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: string, y: string) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a : new (x: string, y: string) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -194,9 +194,9 @@ function foo10(x: typeof a); // ok >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: string, y: string) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a : new (x: string, y: string) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -266,9 +266,9 @@ function foo13(x: typeof a); // ok >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: string, y: string) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >a : new (x: string, y: string) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignatures.types b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignatures.types index a635720f818a6..9f43223125e0b 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignatures.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignatures.types @@ -144,17 +144,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T): T; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: T): T; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T): T; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: T): T; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -243,9 +243,9 @@ function foo7(x: typeof a); // error >foo7 : { (x: A): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T): T; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: T): T; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ function foo7(x: any) { } >foo7 : { (x: A): any; (x: typeof a): any; } @@ -296,9 +296,9 @@ function foo10(x: typeof a); // ok >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T): T; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: T): T; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -368,9 +368,9 @@ function foo13(x: typeof a); // ok >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T): T; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: T): T; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignatures2.types b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignatures2.types index b19beec24edcd..d84b7b6bb6f41 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignatures2.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignatures2.types @@ -158,17 +158,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: T, y: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: T, y: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -257,9 +257,9 @@ function foo7(x: typeof a); // no error, bug? >foo7 : { (x: A): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: T, y: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ function foo7(x: any) { } >foo7 : { (x: A): any; (x: typeof a): any; } @@ -310,9 +310,9 @@ function foo10(x: typeof a); // ok >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: T, y: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -382,9 +382,9 @@ function foo13(x: typeof a); // ok >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: T, y: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.types b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.types index 8bc79b73b34b0..489f22cbb212f 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.types @@ -11,7 +11,7 @@ class A { foo(x: T): string { return null; } >foo : (x: T) => string -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : T > : ^ } @@ -49,26 +49,26 @@ interface I { interface I2 { foo(x: T): string; >foo : (x: T) => string -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : T > : ^ } var a: { foo>(x: T): string } ->a : { foo(x: T): string; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ->foo : (x: T) => string -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +>a : { foo>(x: T): string; } +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ +>foo : >(x: T) => string +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : T > : ^ var b = { foo(x: T) { return ''; } }; >b : { foo(x: T): string; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ >{ foo(x: T) { return ''; } } : { foo(x: T): string; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ >foo : (x: T) => string -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ >x : T > : ^ >'' : "" @@ -145,18 +145,18 @@ function foo2(x: any) { } function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ->x : { foo(x: T): string; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ->a : { foo(x: T): string; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +>x : { foo>(x: T): string; } +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ +>a : { foo>(x: T): string; } +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ->x : { foo(x: T): string; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ->a : { foo(x: T): string; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +>x : { foo>(x: T): string; } +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ +>a : { foo>(x: T): string; } +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -167,17 +167,17 @@ function foo4(x: typeof b); >foo4 : { (x: typeof b): any; (x: typeof b): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T): string; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ >b : { foo(x: T): string; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ function foo4(x: typeof b); // error >foo4 : { (x: typeof b): any; (x: typeof b): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T): string; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ >b : { foo(x: T): string; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ function foo4(x: any) { } >foo4 : { (x: typeof b): any; (x: typeof b): any; } @@ -244,10 +244,10 @@ function foo7(x: A); function foo7(x: typeof a); // ok >foo7 : { (x: A): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ->x : { foo(x: T): string; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ->a : { foo(x: T): string; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +>x : { foo>(x: T): string; } +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ +>a : { foo>(x: T): string; } +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ function foo7(x: any) { } >foo7 : { (x: A): any; (x: typeof a): any; } @@ -297,10 +297,10 @@ function foo10(x: B>); function foo10(x: typeof a); // ok >foo10 : { (x: B>): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ->x : { foo(x: T): string; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ->a : { foo(x: T): string; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +>x : { foo>(x: T): string; } +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ +>a : { foo>(x: T): string; } +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ function foo10(x: any) { } >foo10 : { (x: B>): any; (x: typeof a): any; } @@ -317,9 +317,9 @@ function foo11(x: typeof b); // ok >foo11 : { (x: B>): any; (x: typeof b): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T): string; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ >b : { foo(x: T): string; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ function foo11(x: any) { } >foo11 : { (x: B>): any; (x: typeof b): any; } @@ -369,10 +369,10 @@ function foo13(x: I); function foo13(x: typeof a); // ok >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ->x : { foo(x: T): string; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ->a : { foo(x: T): string; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +>x : { foo>(x: T): string; } +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ +>a : { foo>(x: T): string; } +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } @@ -389,9 +389,9 @@ function foo14(x: typeof b); // ok >foo14 : { (x: I): any; (x: typeof b): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T): string; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ >b : { foo(x: T): string; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ function foo14(x: any) { } >foo14 : { (x: I): any; (x: typeof b): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.types b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.types index c72bf7daad133..0ea25a22ec46c 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.types @@ -11,7 +11,7 @@ class A { foo(x: T, y: U): string { return null; } >foo : (x: T, y: U) => string -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T > : ^ >y : U @@ -70,7 +70,7 @@ interface I { interface I2 { foo(x: T, y: U): string; >foo : (x: T, y: U) => string -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T > : ^ >y : U @@ -78,10 +78,10 @@ interface I2 { } var a: { foo>(x: T, y: U): string } ->a : { foo(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ->foo : (x: T, y: U) => string -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +>a : { foo>(x: T, y: U): string; } +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +>foo : >(x: T, y: U) => string +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T > : ^ >y : U @@ -89,11 +89,11 @@ var a: { foo>(x: T, y: U): string } var b = { foo(x: T, y: U) { return ''; } }; >b : { foo(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >{ foo(x: T, y: U) { return ''; } } : { foo(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >foo : (x: T, y: U) => string -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : T > : ^ >y : U @@ -172,18 +172,18 @@ function foo2(x: any) { } function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ->x : { foo(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ->a : { foo(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +>x : { foo>(x: T, y: U): string; } +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +>a : { foo>(x: T, y: U): string; } +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ->x : { foo(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ->a : { foo(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +>x : { foo>(x: T, y: U): string; } +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +>a : { foo>(x: T, y: U): string; } +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -194,17 +194,17 @@ function foo4(x: typeof b); >foo4 : { (x: typeof b): any; (x: typeof b): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >b : { foo(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ function foo4(x: typeof b); // error >foo4 : { (x: typeof b): any; (x: typeof b): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >b : { foo(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ function foo4(x: any) { } >foo4 : { (x: typeof b): any; (x: typeof b): any; } @@ -305,10 +305,10 @@ function foo7(x: A); function foo7(x: typeof a); // ok >foo7 : { (x: A): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ->x : { foo(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ->a : { foo(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +>x : { foo>(x: T, y: U): string; } +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +>a : { foo>(x: T, y: U): string; } +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ function foo7(x: any) { } >foo7 : { (x: A): any; (x: typeof a): any; } @@ -358,10 +358,10 @@ function foo10(x: B, Array>); function foo10(x: typeof a); // ok >foo10 : { (x: B, Array>): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ->x : { foo(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ->a : { foo(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +>x : { foo>(x: T, y: U): string; } +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +>a : { foo>(x: T, y: U): string; } +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ function foo10(x: any) { } >foo10 : { (x: B, Array>): any; (x: typeof a): any; } @@ -378,9 +378,9 @@ function foo11(x: typeof b); // ok >foo11 : { (x: B, Array>): any; (x: typeof b): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >b : { foo(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ function foo11(x: any) { } >foo11 : { (x: B, Array>): any; (x: typeof b): any; } @@ -430,10 +430,10 @@ function foo13(x: I); function foo13(x: typeof a); // ok >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ->x : { foo(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ->a : { foo(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +>x : { foo>(x: T, y: U): string; } +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +>a : { foo>(x: T, y: U): string; } +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } @@ -450,9 +450,9 @@ function foo14(x: typeof b); // ok >foo14 : { (x: I): any; (x: typeof b): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >b : { foo(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ function foo14(x: any) { } >foo14 : { (x: I): any; (x: typeof b): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.types b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.types index e6448ea7145c7..65dfe33f02c85 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.types @@ -38,7 +38,7 @@ class A { foo(x: T, y: U): string { return null; } >foo : (x: T, y: U) => string -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T > : ^ >y : U @@ -97,7 +97,7 @@ interface I> { interface I2 { foo>(x: T, y: U): string; >foo : >(x: T, y: U) => string -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T > : ^ >y : U @@ -106,9 +106,9 @@ interface I2 { var a: { foo(x: T, y: U): string } >a : { foo(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >foo : (x: T, y: U) => string -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T > : ^ >y : U @@ -116,11 +116,11 @@ var a: { foo(x: T, y: U): string } var b = { foo(x: T, y: U) { return ''; } }; >b : { foo(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >{ foo(x: T, y: U) { return ''; } } : { foo(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >foo : (x: T, y: U) => string -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : T > : ^ >y : U @@ -200,17 +200,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -221,17 +221,17 @@ function foo4(x: typeof b); >foo4 : { (x: typeof b): any; (x: typeof b): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >b : { foo(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ function foo4(x: typeof b); // error >foo4 : { (x: typeof b): any; (x: typeof b): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >b : { foo(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ function foo4(x: any) { } >foo4 : { (x: typeof b): any; (x: typeof b): any; } @@ -333,9 +333,9 @@ function foo7(x: typeof a); // error >foo7 : { (x: A): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ function foo7(x: any) { } >foo7 : { (x: A): any; (x: typeof a): any; } @@ -386,9 +386,9 @@ function foo10(x: typeof a); // ok >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -405,9 +405,9 @@ function foo11(x: typeof b); // ok >foo11 : { (x: B): any; (x: typeof b): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >b : { foo(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ function foo11(x: any) { } >foo11 : { (x: B): any; (x: typeof b): any; } @@ -458,9 +458,9 @@ function foo13(x: typeof a); // ok >foo13 : { (x: I, Five>): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ function foo13(x: any) { } >foo13 : { (x: I, Five>): any; (x: typeof a): any; } @@ -477,9 +477,9 @@ function foo14(x: typeof b); // ok >foo14 : { (x: I, Five>): any; (x: typeof b): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >b : { foo(x: T, y: U): string; } -> : ^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ function foo14(x: any) { } >foo14 : { (x: I, Five>): any; (x: typeof b): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.types b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.types index c059fb7091f00..1e8801a8736e9 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.types @@ -144,17 +144,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T): T; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: T): T; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T): T; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: T): T; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -243,9 +243,9 @@ function foo7(x: typeof a); // ok >foo7 : { (x: A): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T): T; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: T): T; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ function foo7(x: any) { } >foo7 : { (x: A): any; (x: typeof a): any; } @@ -296,9 +296,9 @@ function foo10(x: typeof a); // ok >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T): T; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: T): T; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -368,9 +368,9 @@ function foo13(x: typeof a); // ok >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T): T; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: T): T; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.types b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.types index 4992f7ee3fc5f..50060d43f8764 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.types @@ -11,7 +11,7 @@ class A { foo(x: T): string { return null; } >foo : (x: T) => string -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : T > : ^ } @@ -49,26 +49,26 @@ interface I { interface I2 { foo(x: T): RegExp; >foo : (x: T) => RegExp -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : T > : ^ } var a: { foo(x: T): T } >a : { foo(x: T): T; } -> : ^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : T > : ^ var b = { foo(x: T) { return null; } }; >b : { foo(x: T): any; } -> : ^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >{ foo(x: T) { return null; } } : { foo(x: T): any; } -> : ^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >foo : (x: T) => any -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ >x : T > : ^ @@ -144,17 +144,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T): T; } -> : ^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: T): T; } -> : ^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T): T; } -> : ^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: T): T; } -> : ^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -165,17 +165,17 @@ function foo4(x: typeof b); >foo4 : { (x: typeof b): any; (x: typeof b): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T): any; } -> : ^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >b : { foo(x: T): any; } -> : ^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ function foo4(x: typeof b); // error >foo4 : { (x: typeof b): any; (x: typeof b): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T): any; } -> : ^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >b : { foo(x: T): any; } -> : ^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ function foo4(x: any) { } >foo4 : { (x: typeof b): any; (x: typeof b): any; } @@ -243,9 +243,9 @@ function foo7(x: typeof a); // ok >foo7 : { (x: A): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T): T; } -> : ^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: T): T; } -> : ^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ function foo7(x: any) { } >foo7 : { (x: A): any; (x: typeof a): any; } @@ -296,9 +296,9 @@ function foo10(x: typeof a); // ok >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T): T; } -> : ^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: T): T; } -> : ^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -315,9 +315,9 @@ function foo11(x: typeof b); // ok >foo11 : { (x: B): any; (x: typeof b): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T): any; } -> : ^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >b : { foo(x: T): any; } -> : ^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ function foo11(x: any) { } >foo11 : { (x: B): any; (x: typeof b): any; } @@ -368,9 +368,9 @@ function foo13(x: typeof a); // ok >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T): T; } -> : ^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: T): T; } -> : ^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } @@ -387,9 +387,9 @@ function foo14(x: typeof b); // ok >foo14 : { (x: I): any; (x: typeof b): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T): any; } -> : ^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >b : { foo(x: T): any; } -> : ^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ function foo14(x: any) { } >foo14 : { (x: I): any; (x: typeof b): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.types b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.types index cfc970e4c8621..91dc91f65f955 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.types @@ -144,17 +144,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: Z): Z; } -> : ^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >a : { foo(x: Z): Z; } -> : ^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: Z): Z; } -> : ^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >a : { foo(x: Z): Z; } -> : ^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -243,9 +243,9 @@ function foo7(x: typeof a); // no error, bug? >foo7 : { (x: A): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: Z): Z; } -> : ^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >a : { foo(x: Z): Z; } -> : ^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ function foo7(x: any) { } >foo7 : { (x: A): any; (x: typeof a): any; } @@ -296,9 +296,9 @@ function foo10(x: typeof a); // ok >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: Z): Z; } -> : ^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >a : { foo(x: Z): Z; } -> : ^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -368,9 +368,9 @@ function foo13(x: typeof a); // ok >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: Z): Z; } -> : ^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >a : { foo(x: Z): Z; } -> : ^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.types b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.types index 65bcdccb364f9..79435f5bab00d 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.types @@ -60,17 +60,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : (x: Z) => Z -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^ >a : (x: Z) => Z -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : (x: Z) => Z -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^ >a : (x: Z) => Z -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -87,9 +87,9 @@ function foo13(x: typeof a); // ok >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : (x: Z) => Z -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^ >a : (x: Z) => Z -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } @@ -117,9 +117,9 @@ function foo14b(x: typeof a); >foo14b : { (x: typeof a): any; (x: I2): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : (x: Z) => Z -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^ >a : (x: Z) => Z -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^ function foo14b(x: I2); // ok >foo14b : { (x: typeof a): any; (x: I2): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.types b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.types index efe8256b66397..76953ef17532e 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.types @@ -144,17 +144,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: Z): Z; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: Z): Z; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: Z): Z; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: Z): Z; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -243,9 +243,9 @@ function foo7(x: typeof a); // error >foo7 : { (x: A): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: Z): Z; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: Z): Z; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ function foo7(x: any) { } >foo7 : { (x: A): any; (x: typeof a): any; } @@ -296,9 +296,9 @@ function foo10(x: typeof a); // ok >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: Z): Z; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: Z): Z; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -368,9 +368,9 @@ function foo13(x: typeof a); // ok >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: Z): Z; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ >a : { foo(x: Z): Z; } -> : ^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^ ^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams.types b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams.types index d1055d88fdf44..d8acad80861c5 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams.types @@ -160,17 +160,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y?: T): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >a : { foo(x: T, y?: T): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y?: T): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >a : { foo(x: T, y?: T): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -259,9 +259,9 @@ function foo7(x: typeof a); // no error, bug? >foo7 : { (x: A): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y?: T): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >a : { foo(x: T, y?: T): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ function foo7(x: any) { } >foo7 : { (x: A): any; (x: typeof a): any; } @@ -312,9 +312,9 @@ function foo10(x: typeof a); // ok >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y?: T): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >a : { foo(x: T, y?: T): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -384,9 +384,9 @@ function foo13(x: typeof a); // ok >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y?: T): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >a : { foo(x: T, y?: T): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams2.types b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams2.types index b5e5131110093..ee5fb26e6fb7a 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams2.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams2.types @@ -160,17 +160,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y?: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >a : { foo(x: T, y?: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y?: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >a : { foo(x: T, y?: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -259,9 +259,9 @@ function foo7(x: typeof a); // no error, bug? >foo7 : { (x: A): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y?: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >a : { foo(x: T, y?: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ function foo7(x: any) { } >foo7 : { (x: A): any; (x: typeof a): any; } @@ -312,9 +312,9 @@ function foo10(x: typeof a); // ok >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y?: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >a : { foo(x: T, y?: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -384,9 +384,9 @@ function foo13(x: typeof a); // ok >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y?: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >a : { foo(x: T, y?: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams3.types b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams3.types index 51d3644c98cbe..9cbc59835c1bf 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams3.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams3.types @@ -160,17 +160,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y?: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >a : { foo(x: T, y?: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y?: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >a : { foo(x: T, y?: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -259,9 +259,9 @@ function foo7(x: typeof a); // no error, bug? >foo7 : { (x: A): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y?: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >a : { foo(x: T, y?: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ function foo7(x: any) { } >foo7 : { (x: A): any; (x: typeof a): any; } @@ -312,9 +312,9 @@ function foo10(x: typeof a); // ok >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y?: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >a : { foo(x: T, y?: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -384,9 +384,9 @@ function foo13(x: typeof a); // ok >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo(x: T, y?: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >a : { foo(x: T, y?: U): T; } -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.types b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.types index eceab3c5d18db..c41b39fc503f4 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.types @@ -36,18 +36,18 @@ interface I2 { } var a: { new>(x: T): string } ->a : new (x: T) => string -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +>a : new >(x: T) => string +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : T > : ^ var b = { new(x: T) { return ''; } }; // not a construct signature, function called new >b : { "new"(x: T): string; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ >{ new(x: T) { return ''; } } : { "new"(x: T): string; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ >new : (x: T) => string -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ >x : T > : ^ >'' : "" @@ -107,18 +107,18 @@ function foo2(x: any) { } function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ->x : new (x: T) => string -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ ->a : new (x: T) => string -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +>x : new >(x: T) => string +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ +>a : new >(x: T) => string +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ->x : new (x: T) => string -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ ->a : new (x: T) => string -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +>x : new >(x: T) => string +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ +>a : new >(x: T) => string +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -129,17 +129,17 @@ function foo4(x: typeof b); >foo4 : { (x: typeof b): any; (x: typeof b): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { "new"(x: T): string; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ >b : { "new"(x: T): string; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ function foo4(x: typeof b); // error >foo4 : { (x: typeof b): any; (x: typeof b): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { "new"(x: T): string; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ >b : { "new"(x: T): string; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ function foo4(x: any) { } >foo4 : { (x: typeof b): any; (x: typeof b): any; } @@ -189,10 +189,10 @@ function foo10(x: B>); function foo10(x: typeof a); // ok >foo10 : { (x: B>): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ->x : new (x: T) => string -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ ->a : new (x: T) => string -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +>x : new >(x: T) => string +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ +>a : new >(x: T) => string +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ function foo10(x: any) { } >foo10 : { (x: B>): any; (x: typeof a): any; } @@ -209,9 +209,9 @@ function foo11(x: typeof b); // ok >foo11 : { (x: B>): any; (x: typeof b): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { "new"(x: T): string; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ >b : { "new"(x: T): string; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ function foo11(x: any) { } >foo11 : { (x: B>): any; (x: typeof b): any; } @@ -261,10 +261,10 @@ function foo13(x: I); function foo13(x: typeof a); // ok >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ->x : new (x: T) => string -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ ->a : new (x: T) => string -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +>x : new >(x: T) => string +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ +>a : new >(x: T) => string +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } @@ -281,9 +281,9 @@ function foo14(x: typeof b); // ok >foo14 : { (x: I): any; (x: typeof b): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { "new"(x: T): string; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ >b : { "new"(x: T): string; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ function foo14(x: any) { } >foo14 : { (x: I): any; (x: typeof b): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.types b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.types index b55f8186f89fc..25f8c46e34ce6 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.types @@ -55,8 +55,8 @@ interface I2 { } var a: { new>(x: T, y: U): string } ->a : new (x: T, y: U) => string -> : ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +>a : new >(x: T, y: U) => string +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T > : ^ >y : U @@ -64,11 +64,11 @@ var a: { new>(x: T, y: U): string } var b = { new(x: T, y: U) { return ''; } }; // not a construct signature, function called new >b : { "new"(x: T, y: U): string; } -> : ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >{ new(x: T, y: U) { return ''; } } : { "new"(x: T, y: U): string; } -> : ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >new : (x: T, y: U) => string -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : T > : ^ >y : U @@ -130,18 +130,18 @@ function foo2(x: any) { } function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ->x : new (x: T, y: U) => string -> : ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ ->a : new (x: T, y: U) => string -> : ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +>x : new >(x: T, y: U) => string +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +>a : new >(x: T, y: U) => string +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ->x : new (x: T, y: U) => string -> : ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ ->a : new (x: T, y: U) => string -> : ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +>x : new >(x: T, y: U) => string +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +>a : new >(x: T, y: U) => string +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -152,17 +152,17 @@ function foo4(x: typeof b); >foo4 : { (x: typeof b): any; (x: typeof b): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { "new"(x: T, y: U): string; } -> : ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >b : { "new"(x: T, y: U): string; } -> : ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ function foo4(x: typeof b); // error >foo4 : { (x: typeof b): any; (x: typeof b): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { "new"(x: T, y: U): string; } -> : ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >b : { "new"(x: T, y: U): string; } -> : ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ function foo4(x: any) { } >foo4 : { (x: typeof b): any; (x: typeof b): any; } @@ -246,10 +246,10 @@ function foo10(x: B, Array>); function foo10(x: typeof a); // ok >foo10 : { (x: B, Array>): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ->x : new (x: T, y: U) => string -> : ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ ->a : new (x: T, y: U) => string -> : ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +>x : new >(x: T, y: U) => string +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +>a : new >(x: T, y: U) => string +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ function foo10(x: any) { } >foo10 : { (x: B, Array>): any; (x: typeof a): any; } @@ -266,9 +266,9 @@ function foo11(x: typeof b); // ok >foo11 : { (x: B, Array>): any; (x: typeof b): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { "new"(x: T, y: U): string; } -> : ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >b : { "new"(x: T, y: U): string; } -> : ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ function foo11(x: any) { } >foo11 : { (x: B, Array>): any; (x: typeof b): any; } @@ -318,10 +318,10 @@ function foo13(x: I); function foo13(x: typeof a); // ok >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ->x : new (x: T, y: U) => string -> : ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ ->a : new (x: T, y: U) => string -> : ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +>x : new >(x: T, y: U) => string +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +>a : new >(x: T, y: U) => string +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } @@ -338,9 +338,9 @@ function foo14(x: typeof b); // ok >foo14 : { (x: I): any; (x: typeof b): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { "new"(x: T, y: U): string; } -> : ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >b : { "new"(x: T, y: U): string; } -> : ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ function foo14(x: any) { } >foo14 : { (x: I): any; (x: typeof b): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints3.types b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints3.types index 1a4c46a7da980..07fd3ba9aee1a 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints3.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints3.types @@ -83,7 +83,7 @@ interface I2 { var a: { new(x: T, y: U): string } >a : new (x: T, y: U) => string -> : ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T > : ^ >y : U @@ -91,11 +91,11 @@ var a: { new(x: T, y: U): string } var b = { new(x: T, y: U) { return ''; } }; // not a construct signature, function called new >b : { "new"(x: T, y: U): string; } -> : ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >{ new(x: T, y: U) { return ''; } } : { "new"(x: T, y: U): string; } -> : ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >new : (x: T, y: U) => string -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : T > : ^ >y : U @@ -158,17 +158,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: T, y: U) => string -> : ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a : new (x: T, y: U) => string -> : ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: T, y: U) => string -> : ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a : new (x: T, y: U) => string -> : ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -179,17 +179,17 @@ function foo4(x: typeof b); >foo4 : { (x: typeof b): any; (x: typeof b): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { "new"(x: T, y: U): string; } -> : ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >b : { "new"(x: T, y: U): string; } -> : ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ function foo4(x: typeof b); // error >foo4 : { (x: typeof b): any; (x: typeof b): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { "new"(x: T, y: U): string; } -> : ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >b : { "new"(x: T, y: U): string; } -> : ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ function foo4(x: any) { } >foo4 : { (x: typeof b): any; (x: typeof b): any; } @@ -274,9 +274,9 @@ function foo10(x: typeof a); // ok >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: T, y: U) => string -> : ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a : new (x: T, y: U) => string -> : ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -293,9 +293,9 @@ function foo11(x: typeof b); // ok >foo11 : { (x: B): any; (x: typeof b): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { "new"(x: T, y: U): string; } -> : ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >b : { "new"(x: T, y: U): string; } -> : ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ function foo11(x: any) { } >foo11 : { (x: B): any; (x: typeof b): any; } @@ -346,9 +346,9 @@ function foo13(x: typeof a); // ok >foo13 : { (x: I, Five>): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: T, y: U) => string -> : ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a : new (x: T, y: U) => string -> : ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ function foo13(x: any) { } >foo13 : { (x: I, Five>): any; (x: typeof a): any; } @@ -365,9 +365,9 @@ function foo14(x: typeof b); // ok >foo14 : { (x: I, Five>): any; (x: typeof b): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { "new"(x: T, y: U): string; } -> : ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >b : { "new"(x: T, y: U): string; } -> : ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ function foo14(x: any) { } >foo14 : { (x: I, Five>): any; (x: typeof b): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType.types b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType.types index 22fb98f4be53b..aadd4f64bf845 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType.types @@ -106,17 +106,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -127,17 +127,17 @@ function foo4(x: typeof b); >foo4 : { (x: typeof b): any; (x: typeof b): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { "new"(x: T): T; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^^^ ^^ ^^ ^^^ ^^^ >b : { "new"(x: T): T; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^^^ ^^ ^^ ^^^ ^^^ function foo4(x: typeof b); // error >foo4 : { (x: typeof b): any; (x: typeof b): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { "new"(x: T): T; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^^^ ^^ ^^ ^^^ ^^^ >b : { "new"(x: T): T; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^^^ ^^ ^^ ^^^ ^^^ function foo4(x: any) { } >foo4 : { (x: typeof b): any; (x: typeof b): any; } @@ -146,23 +146,23 @@ function foo4(x: any) { } function foo5(x: typeof a): number; >foo5 : { (x: typeof a): number; (x: typeof b): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ function foo5(x: typeof b): string; // ok >foo5 : { (x: typeof a): number; (x: typeof b): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : { "new"(x: T): T; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^^^ ^^ ^^ ^^^ ^^^ >b : { "new"(x: T): T; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^^^ ^^ ^^ ^^^ ^^^ function foo5(x: any): any { } >foo5 : { (x: typeof a): number; (x: typeof b): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any function foo8(x: B); @@ -209,9 +209,9 @@ function foo10(x: typeof a); // ok >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -228,9 +228,9 @@ function foo11(x: typeof b); // ok >foo11 : { (x: B): any; (x: typeof b): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { "new"(x: T): T; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^^^ ^^ ^^ ^^^ ^^^ >b : { "new"(x: T): T; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^^^ ^^ ^^ ^^^ ^^^ function foo11(x: any) { } >foo11 : { (x: B): any; (x: typeof b): any; } @@ -281,9 +281,9 @@ function foo13(x: typeof a); // ok >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } @@ -300,9 +300,9 @@ function foo14(x: typeof b); // ok >foo14 : { (x: I): any; (x: typeof b): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { "new"(x: T): T; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^^^ ^^ ^^ ^^^ ^^^ >b : { "new"(x: T): T; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^^^^ ^^ ^^ ^^^ ^^^ function foo14(x: any) { } >foo14 : { (x: I): any; (x: typeof b): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.types b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.types index 376430b50a8b9..dc49f95cc0366 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.types @@ -37,17 +37,17 @@ interface I2 { var a: { new(x: T): T } >a : new (x: T) => T -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : T > : ^ var b = { new(x: T) { return null; } }; // not a construct signature, function called new >b : { "new"(x: T): any; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >{ new(x: T) { return null; } } : { "new"(x: T): any; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >new : (x: T) => any -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ >x : T > : ^ @@ -106,17 +106,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: T) => T -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a : new (x: T) => T -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: T) => T -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a : new (x: T) => T -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -127,17 +127,17 @@ function foo4(x: typeof b); >foo4 : { (x: typeof b): any; (x: typeof b): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { "new"(x: T): any; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >b : { "new"(x: T): any; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ function foo4(x: typeof b); // error >foo4 : { (x: typeof b): any; (x: typeof b): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { "new"(x: T): any; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >b : { "new"(x: T): any; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ function foo4(x: any) { } >foo4 : { (x: typeof b): any; (x: typeof b): any; } @@ -188,9 +188,9 @@ function foo10(x: typeof a); // ok >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: T) => T -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a : new (x: T) => T -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -207,9 +207,9 @@ function foo11(x: typeof b); // ok >foo11 : { (x: B): any; (x: typeof b): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { "new"(x: T): any; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >b : { "new"(x: T): any; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ function foo11(x: any) { } >foo11 : { (x: B): any; (x: typeof b): any; } @@ -260,9 +260,9 @@ function foo13(x: typeof a); // ok >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: T) => T -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a : new (x: T) => T -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } @@ -279,9 +279,9 @@ function foo14(x: typeof b); // ok >foo14 : { (x: I): any; (x: typeof b): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { "new"(x: T): any; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >b : { "new"(x: T): any; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ function foo14(x: any) { } >foo14 : { (x: I): any; (x: typeof b): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.types b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.types index 40f78de04a497..f77d9219b6576 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.types @@ -106,17 +106,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: Z) => C -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^ >a : new (x: Z) => C -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: Z) => C -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^ >a : new (x: Z) => C -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -188,9 +188,9 @@ function foo10(x: typeof a); // ok >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: Z) => C -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^ >a : new (x: Z) => C -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -260,9 +260,9 @@ function foo13(x: typeof a); // ok >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: Z) => C -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^ >a : new (x: Z) => C -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterNames.types b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterNames.types index 1c670e8ae631b..8ba9abd909cb1 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterNames.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterNames.types @@ -110,17 +110,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: Z) => B -> : ^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a : new (x: Z) => B -> : ^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: Z) => B -> : ^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a : new (x: Z) => B -> : ^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -192,9 +192,9 @@ function foo10(x: typeof a); // BUG 832086 >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: Z) => B -> : ^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a : new (x: Z) => B -> : ^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -264,9 +264,9 @@ function foo13(x: typeof a); // BUG 832086 >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: Z) => B -> : ^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >a : new (x: Z) => B -> : ^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesOptionalParams.types b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesOptionalParams.types index a252ed87b94d4..464f0e5e0ab21 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesOptionalParams.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesOptionalParams.types @@ -126,17 +126,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: T, y?: T) => B -> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^^^ >a : new (x: T, y?: T) => B -> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: T, y?: T) => B -> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^^^ >a : new (x: T, y?: T) => B -> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -166,19 +166,19 @@ function foo4(x: any) { } function foo8(x: B): string; >foo8 : { (x: B): string; (x: I): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : B > : ^^^^^^^^^ function foo8(x: I): number; // BUG 832086 >foo8 : { (x: B): string; (x: I): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : I > : ^^^^^^^^^ function foo8(x: any): any { } >foo8 : { (x: B): string; (x: I): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any function foo9(x: B); @@ -208,9 +208,9 @@ function foo10(x: typeof a); // BUG 832086 >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: T, y?: T) => B -> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^^^ >a : new (x: T, y?: T) => B -> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -280,9 +280,9 @@ function foo13(x: typeof a); // BUG 832086 >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: T, y?: T) => B -> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^^^ >a : new (x: T, y?: T) => B -> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^ ^^^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesOptionalParams2.types b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesOptionalParams2.types index 1161cefbdc7e0..8caccc6bcb748 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesOptionalParams2.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesOptionalParams2.types @@ -126,17 +126,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: T, y?: U) => B -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >a : new (x: T, y?: U) => B -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: T, y?: U) => B -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >a : new (x: T, y?: U) => B -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -208,9 +208,9 @@ function foo10(x: typeof a); // BUG 832086 >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: T, y?: U) => B -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >a : new (x: T, y?: U) => B -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -280,9 +280,9 @@ function foo13(x: typeof a); // BUG 832086 >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: T, y?: U) => B -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >a : new (x: T, y?: U) => B -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesOptionalParams3.types b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesOptionalParams3.types index b542cb69981b7..422ea196d3f9e 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesOptionalParams3.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesOptionalParams3.types @@ -126,17 +126,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: T, y?: U) => B -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >a : new (x: T, y?: U) => B -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: T, y?: U) => B -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >a : new (x: T, y?: U) => B -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -208,9 +208,9 @@ function foo10(x: typeof a); // BUG 832086 >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: T, y?: U) => B -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >a : new (x: T, y?: U) => B -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -280,9 +280,9 @@ function foo13(x: typeof a); // BUG 832086 >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : new (x: T, y?: U) => B -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >a : new (x: T, y?: U) => B -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithOptionality.types b/tests/baselines/reference/objectTypesIdentityWithOptionality.types index 2ded39592446f..cbb26835f0711 100644 --- a/tests/baselines/reference/objectTypesIdentityWithOptionality.types +++ b/tests/baselines/reference/objectTypesIdentityWithOptionality.types @@ -73,17 +73,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo?: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a : { foo?: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo?: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a : { foo?: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -117,9 +117,9 @@ function foo7(x: typeof a); // ok >foo7 : { (x: A): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo?: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a : { foo?: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ function foo7(x: any) { } >foo7 : { (x: A): any; (x: typeof a): any; } @@ -153,9 +153,9 @@ function foo10(x: typeof a); // ok >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo?: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a : { foo?: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -189,9 +189,9 @@ function foo13(x: typeof a); // error >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo?: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >a : { foo?: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithPrivates.types b/tests/baselines/reference/objectTypesIdentityWithPrivates.types index 4e3a0d8795793..0d1066431e584 100644 --- a/tests/baselines/reference/objectTypesIdentityWithPrivates.types +++ b/tests/baselines/reference/objectTypesIdentityWithPrivates.types @@ -138,17 +138,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -271,9 +271,9 @@ function foo7(x: typeof a); // no error >foo7 : { (x: A): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ function foo7(x: any) { } >foo7 : { (x: A): any; (x: typeof a): any; } @@ -324,9 +324,9 @@ function foo10(x: typeof a); // no error >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -413,9 +413,9 @@ function foo13(x: typeof a); // error >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/objectTypesIdentityWithPrivates2.types b/tests/baselines/reference/objectTypesIdentityWithPrivates2.types index 0669828ed7f79..1f7cb5296efe5 100644 --- a/tests/baselines/reference/objectTypesIdentityWithPrivates2.types +++ b/tests/baselines/reference/objectTypesIdentityWithPrivates2.types @@ -72,19 +72,19 @@ function foo3(x: any) { } function foo4(x: C): number; >foo4 : { (x: C): number; (x: D): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : C > : ^^^^^^^^^ function foo4(x: D): string; // BUG 831926 >foo4 : { (x: C): number; (x: D): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : D > : ^^^^^^^^^ function foo4(x: any): any { } >foo4 : { (x: C): number; (x: D): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any var r = foo4(new C()); @@ -93,7 +93,7 @@ var r = foo4(new C()); >foo4(new C()) : number > : ^^^^^^ >foo4 : { (x: C): number; (x: D): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >new C() : C > : ^^^^^^^^^ >C : typeof C @@ -105,7 +105,7 @@ var r = foo4(new D()); >foo4(new D()) : number > : ^^^^^^ >foo4 : { (x: C): number; (x: D): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >new D() : D > : ^^^^^^^^^ >D : typeof D @@ -113,36 +113,36 @@ var r = foo4(new D()); function foo5(x: C): number; >foo5 : { (x: C): number; (x: C): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : C > : ^^^^^^^^^ function foo5(x: C): string; // error >foo5 : { (x: C): number; (x: C): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : C > : ^^^^^^^^^ function foo5(x: any): any { } >foo5 : { (x: C): number; (x: C): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any function foo6(x: D): number; >foo6 : { (x: D): number; (x: D): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : D > : ^^^^^^^^^ function foo6(x: D): string; // error >foo6 : { (x: D): number; (x: D): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : D > : ^^^^^^^^^ function foo6(x: any): any { } >foo6 : { (x: D): number; (x: D): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any diff --git a/tests/baselines/reference/objectTypesIdentityWithPublics.types b/tests/baselines/reference/objectTypesIdentityWithPublics.types index e4f415ca4bdb6..8bc0a61cd3b8e 100644 --- a/tests/baselines/reference/objectTypesIdentityWithPublics.types +++ b/tests/baselines/reference/objectTypesIdentityWithPublics.types @@ -124,17 +124,17 @@ function foo3(x: typeof a); >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ function foo3(x: typeof a); // error >foo3 : { (x: typeof a): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ function foo3(x: any) { } >foo3 : { (x: typeof a): any; (x: typeof a): any; } @@ -223,9 +223,9 @@ function foo7(x: typeof a); // error >foo7 : { (x: A): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ function foo7(x: any) { } >foo7 : { (x: A): any; (x: typeof a): any; } @@ -276,9 +276,9 @@ function foo10(x: typeof a); // error >foo10 : { (x: B): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ function foo10(x: any) { } >foo10 : { (x: B): any; (x: typeof a): any; } @@ -331,9 +331,9 @@ function foo13(x: typeof a); // error >foo13 : { (x: I): any; (x: typeof a): any; } > : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ function foo13(x: any) { } >foo13 : { (x: I): any; (x: typeof a): any; } diff --git a/tests/baselines/reference/observableInferenceCanBeMade.types b/tests/baselines/reference/observableInferenceCanBeMade.types index 2aac776b8b3b5..55cb97f5290fd 100644 --- a/tests/baselines/reference/observableInferenceCanBeMade.types +++ b/tests/baselines/reference/observableInferenceCanBeMade.types @@ -11,7 +11,7 @@ declare function of(a: T): Observable; declare function from>(input: O): Observable>; >from : >(input: O) => Observable> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >input : O > : ^ @@ -76,13 +76,13 @@ function asObservable(input: string | ObservableInput): Observableof(input) : Observable > : ^^^^^^^^^^^^^^^^^^ >of : (a: T) => Observable -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >input : string > : ^^^^^^ >from(input) : Observable > : ^^^^^^^^^^^^^^^^^^ >from : >(input: O) => Observable> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >input : ObservableInput > : ^^^^^^^^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/operationsAvailableOnPromisedType.types b/tests/baselines/reference/operationsAvailableOnPromisedType.types index 8564fcc967411..22b5172995832 100644 --- a/tests/baselines/reference/operationsAvailableOnPromisedType.types +++ b/tests/baselines/reference/operationsAvailableOnPromisedType.types @@ -115,19 +115,19 @@ async function fn( >c : Promise > : ^^^^^^^^^^^^^^^^^ >d : Promise<{ prop: string; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^ >e : Promise<() => void> -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^ >f : Promise<() => void> | (() => void) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^ >g : Promise any> -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^ d.prop; >d.prop : any > : ^^^ >d : Promise<{ prop: string; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^ >prop : any > : ^^^ } @@ -141,19 +141,19 @@ async function fn( >e() : any > : ^^^ >e : Promise<() => void> -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^ f(); >f() : any > : ^^^ >f : Promise<() => void> | (() => void) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^ new g(); >new g() : any > : ^^^ >g : Promise any> -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^ b(); >b() : any diff --git a/tests/baselines/reference/operatorsAndIntersectionTypes.types b/tests/baselines/reference/operatorsAndIntersectionTypes.types index 235d18be03d39..aa72d3577368f 100644 --- a/tests/baselines/reference/operatorsAndIntersectionTypes.types +++ b/tests/baselines/reference/operatorsAndIntersectionTypes.types @@ -109,11 +109,11 @@ const s2 = guid.toLowerCase(); >guid.toLowerCase() : string > : ^^^^^^ >guid.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >guid : Guid > : ^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ const s3 = guid + guid; >s3 : string @@ -141,11 +141,11 @@ const s5 = serialNo.toPrecision(0); >serialNo.toPrecision(0) : string > : ^^^^^^ >serialNo.toPrecision : (precision?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >serialNo : SerialNo > : ^^^^^^^^ >toPrecision : (precision?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/optionalAccessorsInInterface1.types b/tests/baselines/reference/optionalAccessorsInInterface1.types index 9fd71d29fb174..dfbf4a49512b5 100644 --- a/tests/baselines/reference/optionalAccessorsInInterface1.types +++ b/tests/baselines/reference/optionalAccessorsInInterface1.types @@ -24,7 +24,7 @@ declare function defineMyProperty(o: any, p: string, attributes: MyPropertyDescr defineMyProperty({}, "name", { get: function () { return 5; } }); >defineMyProperty({}, "name", { get: function () { return 5; } }) : any >defineMyProperty : (o: any, p: string, attributes: MyPropertyDescriptor) => any -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{} : {} > : ^^ >"name" : "name" @@ -61,7 +61,7 @@ declare function defineMyProperty2(o: any, p: string, attributes: MyPropertyDesc defineMyProperty2({}, "name", { get: function () { return 5; } }); >defineMyProperty2({}, "name", { get: function () { return 5; } }) : any >defineMyProperty2 : (o: any, p: string, attributes: MyPropertyDescriptor2) => any -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{} : {} > : ^^ >"name" : "name" diff --git a/tests/baselines/reference/optionalChainWithInstantiationExpression1(target=es2019).types b/tests/baselines/reference/optionalChainWithInstantiationExpression1(target=es2019).types index 5981f0b14cdd1..fa3e0eb221a9f 100644 --- a/tests/baselines/reference/optionalChainWithInstantiationExpression1(target=es2019).types +++ b/tests/baselines/reference/optionalChainWithInstantiationExpression1(target=es2019).types @@ -33,7 +33,7 @@ a?.b.d; >a?.b.d : number > : ^^^^^^ >a?.b : { new (x: unknown): A.b; prototype: A.b; d: number; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >a?.b : typeof A.b > : ^^^^^^^^^^ >a : typeof A diff --git a/tests/baselines/reference/optionalChainWithInstantiationExpression1(target=es2020).types b/tests/baselines/reference/optionalChainWithInstantiationExpression1(target=es2020).types index 5981f0b14cdd1..fa3e0eb221a9f 100644 --- a/tests/baselines/reference/optionalChainWithInstantiationExpression1(target=es2020).types +++ b/tests/baselines/reference/optionalChainWithInstantiationExpression1(target=es2020).types @@ -33,7 +33,7 @@ a?.b.d; >a?.b.d : number > : ^^^^^^ >a?.b : { new (x: unknown): A.b; prototype: A.b; d: number; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >a?.b : typeof A.b > : ^^^^^^^^^^ >a : typeof A diff --git a/tests/baselines/reference/optionalChainWithInstantiationExpression2(target=es2019).types b/tests/baselines/reference/optionalChainWithInstantiationExpression2(target=es2019).types index e801b99d373f8..e50112b2e5a77 100644 --- a/tests/baselines/reference/optionalChainWithInstantiationExpression2(target=es2019).types +++ b/tests/baselines/reference/optionalChainWithInstantiationExpression2(target=es2019).types @@ -27,7 +27,7 @@ a?.(); >a?.() : "b type" > : ^^^^^^^^ >a : { (): "b type"; c: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^ >a : A > : ^ diff --git a/tests/baselines/reference/optionalChainWithInstantiationExpression2(target=es2020).types b/tests/baselines/reference/optionalChainWithInstantiationExpression2(target=es2020).types index e801b99d373f8..e50112b2e5a77 100644 --- a/tests/baselines/reference/optionalChainWithInstantiationExpression2(target=es2020).types +++ b/tests/baselines/reference/optionalChainWithInstantiationExpression2(target=es2020).types @@ -27,7 +27,7 @@ a?.(); >a?.() : "b type" > : ^^^^^^^^ >a : { (): "b type"; c: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^ >a : A > : ^ diff --git a/tests/baselines/reference/optionalChainingInference.types b/tests/baselines/reference/optionalChainingInference.types index 9087927f9e5fa..ad8f1ca5f155b 100644 --- a/tests/baselines/reference/optionalChainingInference.types +++ b/tests/baselines/reference/optionalChainingInference.types @@ -50,7 +50,7 @@ const v1: number = unbox(b1); >unbox(b1) : number > : ^^^^^^ >unbox : (box: { value: T | undefined; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b1 : { value: number; } > : ^^^^^^^^^^^^^^^^^^ @@ -76,7 +76,7 @@ const v2: number = unbox(b2); >unbox(b2) : number > : ^^^^^^ >unbox : (box: { value: T | undefined; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b2 : { value: number | undefined; } > : ^^^^^^^^^ ^^^ @@ -102,9 +102,9 @@ const v3: number = unbox(b3); >unbox(b3) : number > : ^^^^^^ >unbox : (box: { value: T | undefined; }) => T -> : ^ ^^ ^^ ^^^^^^ ->b3 : { value: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ +>b3 : { value: number | undefined; } +> : ^^^^^^^^^ ^^^ const b4 = { value: fnu?.() }; >b4 : { value: number; } @@ -116,7 +116,7 @@ const b4 = { value: fnu?.() }; >fnu?.() : number > : ^^^^^^ >fnu : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ const v4: number = unbox(b4); >v4 : number @@ -124,7 +124,7 @@ const v4: number = unbox(b4); >unbox(b4) : number > : ^^^^^^ >unbox : (box: { value: T | undefined; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b4 : { value: number; } > : ^^^^^^^^^^^^^^^^^^ @@ -148,7 +148,7 @@ const v5: number = unbox(b5); >unbox(b5) : number > : ^^^^^^ >unbox : (box: { value: T | undefined; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b5 : { value: number; } > : ^^^^^^^^^^^^^^^^^^ @@ -164,7 +164,7 @@ const b6 = { value: osu?.prop.length }; >osu?.prop : string > : ^^^^^^ >osu : { prop: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >prop : string > : ^^^^^^ >length : number @@ -176,7 +176,7 @@ const v6: number = unbox(b6); >unbox(b6) : number > : ^^^^^^ >unbox : (box: { value: T | undefined; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b6 : { value: number; } > : ^^^^^^^^^^^^^^^^^^ @@ -192,7 +192,7 @@ const b7 = { value: osu?.prop["length"] }; >osu?.prop : string > : ^^^^^^ >osu : { prop: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >prop : string > : ^^^^^^ >"length" : "length" @@ -204,7 +204,7 @@ const v7: number = unbox(b7); >unbox(b7) : number > : ^^^^^^ >unbox : (box: { value: T | undefined; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b7 : { value: number; } > : ^^^^^^^^^^^^^^^^^^ @@ -218,11 +218,11 @@ const b8 = { value: ofnu?.prop() }; >ofnu?.prop() : number > : ^^^^^^ >ofnu?.prop : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >ofnu : { prop: () => number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >prop : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ const v8: number = unbox(b8); >v8 : number @@ -230,7 +230,7 @@ const v8: number = unbox(b8); >unbox(b8) : number > : ^^^^^^ >unbox : (box: { value: T | undefined; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b8 : { value: number; } > : ^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/optionalFunctionArgAssignability.types b/tests/baselines/reference/optionalFunctionArgAssignability.types index b382e6902af6e..c7190317bdae9 100644 --- a/tests/baselines/reference/optionalFunctionArgAssignability.types +++ b/tests/baselines/reference/optionalFunctionArgAssignability.types @@ -4,7 +4,7 @@ interface Promise { then(onFulfill?: (value: T) => U, onReject?: (reason: any) => U): Promise; >then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (onFulfill?: (value: T) => U, onReject?: (reason: any) => U): Promise; } -> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >onFulfill : (value: T) => U > : ^ ^^ ^^^^^ >value : T @@ -49,9 +49,9 @@ var b = function then(onFulFill?: (value: number) => U, onReject?: (reason: a a = b; // error because number is not assignable to string >a = b : (onFulFill?: (value: number) => U, onReject?: (reason: any) => U) => Promise -> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^ >a : (onFulfill?: (value: string) => U, onReject?: (reason: any) => U) => Promise -> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^ >b : (onFulFill?: (value: number) => U, onReject?: (reason: any) => U) => Promise -> : ^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/optionalMethods.types b/tests/baselines/reference/optionalMethods.types index 95a771df1bf8e..7230b9e6cfb01 100644 --- a/tests/baselines/reference/optionalMethods.types +++ b/tests/baselines/reference/optionalMethods.types @@ -43,19 +43,19 @@ function test1(x: Foo) { x.f; >x.f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : Foo > : ^^^ >f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ x.g; >x.g : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >x : Foo > : ^^^ >g : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ let f1 = x.f(); >f1 : number @@ -63,11 +63,11 @@ function test1(x: Foo) { >x.f() : number > : ^^^^^^ >x.f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : Foo > : ^^^ >f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ let g1 = x.g && x.g(); >g1 : number | undefined @@ -75,19 +75,19 @@ function test1(x: Foo) { >x.g && x.g() : number | undefined > : ^^^^^^^^^^^^^^^^^^ >x.g : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >x : Foo > : ^^^ >g : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >x.g() : number > : ^^^^^^ >x.g : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : Foo > : ^^^ >g : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ let g2 = x.g ? x.g() : 0; >g2 : number @@ -95,19 +95,19 @@ function test1(x: Foo) { >x.g ? x.g() : 0 : number > : ^^^^^^ >x.g : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >x : Foo > : ^^^ >g : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >x.g() : number > : ^^^^^^ >x.g : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : Foo > : ^^^ >g : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0 : 0 > : ^ } @@ -216,11 +216,11 @@ function test2(x: Bar) { x.g; >x.g : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >x : Bar > : ^^^ >g : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ let f1 = x.f(); >f1 : number @@ -240,19 +240,19 @@ function test2(x: Bar) { >x.g && x.g() : number | undefined > : ^^^^^^^^^^^^^^^^^^ >x.g : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >x : Bar > : ^^^ >g : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >x.g() : number > : ^^^^^^ >x.g : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : Bar > : ^^^ >g : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ let g2 = x.g ? x.g() : 0; >g2 : number @@ -260,19 +260,19 @@ function test2(x: Bar) { >x.g ? x.g() : 0 : number > : ^^^^^^ >x.g : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >x : Bar > : ^^^ >g : (() => number) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >x.g() : number > : ^^^^^^ >x.g : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : Bar > : ^^^ >g : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/optionalParamArgsTest.types b/tests/baselines/reference/optionalParamArgsTest.types index 75669edf7bc31..389e09f6a8d8d 100644 --- a/tests/baselines/reference/optionalParamArgsTest.types +++ b/tests/baselines/reference/optionalParamArgsTest.types @@ -331,11 +331,11 @@ i1o1.C1M2(1); >i1o1.C1M2(1) : number > : ^^^^^^ >i1o1.C1M2 : (C1M2A1: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i1o1 : I1 > : ^^ >C1M2 : (C1M2A1: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ @@ -378,11 +378,11 @@ i1o1.C1M3(1,2); >i1o1.C1M3(1,2) : number > : ^^^^^^ >i1o1.C1M3 : (C1M3A1?: number, C1M3A2?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >i1o1 : I1 > : ^^ >C1M3 : (C1M3A1?: number, C1M3A2?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -431,11 +431,11 @@ i1o1.C1M4(1,2); >i1o1.C1M4(1,2) : number > : ^^^^^^ >i1o1.C1M4 : (C1M4A1: number, C1M4A2?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >i1o1 : I1 > : ^^ >C1M4 : (C1M4A1: number, C1M4A2?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -482,11 +482,11 @@ i1o1.C1M3(1); >i1o1.C1M3(1) : number > : ^^^^^^ >i1o1.C1M3 : (C1M3A1?: number, C1M3A2?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >i1o1 : I1 > : ^^ >C1M3 : (C1M3A1?: number, C1M3A2?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -525,11 +525,11 @@ i1o1.C1M3(); >i1o1.C1M3() : number > : ^^^^^^ >i1o1.C1M3 : (C1M3A1?: number, C1M3A2?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >i1o1 : I1 > : ^^ >C1M3 : (C1M3A1?: number, C1M3A2?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ var f3v3=F3(); >f3v3 : number @@ -564,11 +564,11 @@ i1o1.C1M4(1); >i1o1.C1M4(1) : number > : ^^^^^^ >i1o1.C1M4 : (C1M4A1: number, C1M4A2?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >i1o1 : I1 > : ^^ >C1M4 : (C1M4A1: number, C1M4A2?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -609,11 +609,11 @@ i1o1.C1M1(1); >i1o1.C1M1(1) : number > : ^^^^^^ >i1o1.C1M1 : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >i1o1 : I1 > : ^^ >C1M1 : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >1 : 1 > : ^ @@ -647,11 +647,11 @@ i1o1.C1M2(); >i1o1.C1M2() : number > : ^^^^^^ >i1o1.C1M2 : (C1M2A1: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i1o1 : I1 > : ^^ >C1M2 : (C1M2A1: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ F2(); >F2() : number @@ -683,11 +683,11 @@ i1o1.C1M2(1,2); >i1o1.C1M2(1,2) : number > : ^^^^^^ >i1o1.C1M2 : (C1M2A1: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i1o1 : I1 > : ^^ >C1M2 : (C1M2A1: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -733,11 +733,11 @@ i1o1.C1M3(1,2,3); >i1o1.C1M3(1,2,3) : number > : ^^^^^^ >i1o1.C1M3 : (C1M3A1?: number, C1M3A2?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >i1o1 : I1 > : ^^ >C1M3 : (C1M3A1?: number, C1M3A2?: number) => number -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -783,11 +783,11 @@ i1o1.C1M4(); >i1o1.C1M4() : number > : ^^^^^^ >i1o1.C1M4 : (C1M4A1: number, C1M4A2?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >i1o1 : I1 > : ^^ >C1M4 : (C1M4A1: number, C1M4A2?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ F4(); >F4() : number @@ -833,7 +833,7 @@ fnOpt1(1, [2, 3], [1], true); >fnOpt1(1, [2, 3], [1], true) : void > : ^^^^ >fnOpt1 : (id: number, children?: number[], expectedPath?: number[], isRoot?: boolean) => void -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >1 : 1 > : ^ >[2, 3] : number[] @@ -853,7 +853,7 @@ fnOpt2(1, [2, 3], [1], true); >fnOpt2(1, [2, 3], [1], true) : void > : ^^^^ >fnOpt2 : (id: number, children?: number[], expectedPath?: number[], isRoot?: boolean) => void -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >1 : 1 > : ^ >[2, 3] : number[] diff --git a/tests/baselines/reference/optionalParamAssignmentCompat.types b/tests/baselines/reference/optionalParamAssignmentCompat.types index de017ff15f4ed..3cebb1e292b27 100644 --- a/tests/baselines/reference/optionalParamAssignmentCompat.types +++ b/tests/baselines/reference/optionalParamAssignmentCompat.types @@ -37,9 +37,9 @@ var d: I1 = i2.m1; // should error >d : I1 > : ^^ >i2.m1 : (p1?: string) => I1 -> : ^ ^^^ ^^^^^^^ +> : ^ ^^^ ^^^^^ >i2 : I2 > : ^^ >m1 : (p1?: string) => I1 -> : ^ ^^^ ^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/optionalParamTypeComparison.types b/tests/baselines/reference/optionalParamTypeComparison.types index 378fea242caa9..3ced38ac55666 100644 --- a/tests/baselines/reference/optionalParamTypeComparison.types +++ b/tests/baselines/reference/optionalParamTypeComparison.types @@ -19,17 +19,17 @@ var g: (s: string, b?: boolean) => void; f = g; >f = g : (s: string, b?: boolean) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >f : (s: string, n?: number) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >g : (s: string, b?: boolean) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ g = f; >g = f : (s: string, n?: number) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >g : (s: string, b?: boolean) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >f : (s: string, n?: number) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/optionalParameterInDestructuringWithInitializer.types b/tests/baselines/reference/optionalParameterInDestructuringWithInitializer.types index 21c75f05fcefe..e4aa613f53756 100644 --- a/tests/baselines/reference/optionalParameterInDestructuringWithInitializer.types +++ b/tests/baselines/reference/optionalParameterInDestructuringWithInitializer.types @@ -37,7 +37,7 @@ function func1( {a, b}: {a: number, b?: number} = {a: 1, b: 2} ) { >f(a, b) : void > : ^^^^ >f : (a: number, b: number) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a : number > : ^^^^^^ >b : number | undefined @@ -74,7 +74,7 @@ function func2( {a, b = 3}: {a: number, b?:number} = {a: 1,b: 2} ) { >f(a, b) : void > : ^^^^ >f : (a: number, b: number) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a : number > : ^^^^^^ >b : number @@ -105,7 +105,7 @@ function func3( {a, b}: {a: number, b?: number} = {a: 1} ) { >f(a,b) : void > : ^^^^ >f : (a: number, b: number) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a : number > : ^^^^^^ >b : number | undefined @@ -156,7 +156,7 @@ function func4( {a: {b, c}, d}: {a: {b: number,c?: number},d: number} = {a: {b: >f(b,c) : void > : ^^^^ >f : (a: number, b: number) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >b : number > : ^^^^^^ >c : number | undefined @@ -209,7 +209,7 @@ function func5({a: {b, c = 4}, d}: {a: {b: number,c?: number},d: number} = {a: { >f(b, c) : void > : ^^^^ >f : (a: number, b: number) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >b : number > : ^^^^^^ >c : number @@ -270,7 +270,7 @@ function func6( {a: {b, c} = {b: 4, c: 5}, d}: {a: {b: number, c?: number}, d: n >f(b, c) : void > : ^^^^ >f : (a: number, b: number) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >b : number > : ^^^^^^ >c : number | undefined @@ -333,7 +333,7 @@ function func7( {a: {b, c = 6} = {b: 4, c: 5}, d}: {a: {b: number, c?: number}, >f(b, c) : void > : ^^^^ >f : (a: number, b: number) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >b : number > : ^^^^^^ >c : number @@ -360,7 +360,7 @@ function performFoo({ bar }: Foo = {}) { >useBar(bar) : void > : ^^^^ >useBar : (bar: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : number | undefined > : ^^^^^^^^^^^^^^^^^^ } @@ -389,7 +389,7 @@ function performFoo2({ bar = null }: Foo = {}) { >useBar2(bar) : void > : ^^^^ >useBar2 : (bar: number | undefined) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : number > : ^^^^^^ } diff --git a/tests/baselines/reference/optionalParameterRetainsNull.types b/tests/baselines/reference/optionalParameterRetainsNull.types index c8936093475ba..d6ebd59e5a978 100644 --- a/tests/baselines/reference/optionalParameterRetainsNull.types +++ b/tests/baselines/reference/optionalParameterRetainsNull.types @@ -9,13 +9,13 @@ interface Bar { bar: number; foo: object | null; } let a = { >a : { test(a: K, b?: Bar[K] | null): void; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^ >{ test (a: K, b?: Bar[K] | null) { }} : { test(a: K, b?: Bar[K] | null): void; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^ test (a: K, b?: Bar[K] | null) { } >test : (a: K, b?: Bar[K] | null) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ >a : K > : ^ >b : Bar[K] | null | undefined @@ -26,11 +26,11 @@ a.test("bar", null); // ok, null is assignable to number | null | undefined >a.test("bar", null) : void > : ^^^^ >a.test : (a: K, b?: Bar[K] | null) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ >a : { test(a: K, b?: Bar[K] | null): void; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^ >test : (a: K, b?: Bar[K] | null) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ >"bar" : "bar" > : ^^^^^ diff --git a/tests/baselines/reference/optionalPropertiesSyntax.types b/tests/baselines/reference/optionalPropertiesSyntax.types index bd52ca2bd6dc1..d78e65b22061b 100644 --- a/tests/baselines/reference/optionalPropertiesSyntax.types +++ b/tests/baselines/reference/optionalPropertiesSyntax.types @@ -5,11 +5,11 @@ interface fnSigs { //functions signatures can be optional fn(): void; >fn : { (): void; (): void; } -> : ^^^^^^ ^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ fn?(): void; //err >fn : { (): void; (): void; } -> : ^^^^^^^^^^^^^^^^ ^^^ +> : ^^^^^^ ^^^^^^ ^^^ fn2?(): void; >fn2 : () => void diff --git a/tests/baselines/reference/optionalPropertiesTest.types b/tests/baselines/reference/optionalPropertiesTest.types index 229bf5d043a30..4a907bb1ca1a4 100644 --- a/tests/baselines/reference/optionalPropertiesTest.types +++ b/tests/baselines/reference/optionalPropertiesTest.types @@ -105,21 +105,21 @@ if (foo.print !== undefined) foo.print(); >foo.print !== undefined : boolean > : ^^^^^^^ >foo.print : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >foo : IFoo > : ^^^^ >print : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >undefined : undefined > : ^^^^^^^^^ >foo.print() : void > : ^^^^ >foo.print : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >foo : IFoo > : ^^^^ >print : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ interface i1 { M: () => void; }; >M : () => void diff --git a/tests/baselines/reference/optionalPropertyAssignableToStringIndexSignature.types b/tests/baselines/reference/optionalPropertyAssignableToStringIndexSignature.types index fa197257ed75c..96932c8384642 100644 --- a/tests/baselines/reference/optionalPropertyAssignableToStringIndexSignature.types +++ b/tests/baselines/reference/optionalPropertyAssignableToStringIndexSignature.types @@ -20,20 +20,20 @@ declare let stringDictionary: { [key: string]: string }; > : ^^^^^^ stringDictionary = optionalProperties; // ok ->stringDictionary = optionalProperties : { k1?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>stringDictionary = optionalProperties : { k1?: string; } +> : ^^^^^^^ ^^^ >stringDictionary : { [key: string]: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->optionalProperties : { k1?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>optionalProperties : { k1?: string; } +> : ^^^^^^^ ^^^ stringDictionary = undefinedProperties; // error >stringDictionary = undefinedProperties : { k1: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >stringDictionary : { [key: string]: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >undefinedProperties : { k1: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ declare let probablyArray: { [key: number]: string }; >probablyArray : { [key: number]: string; } @@ -48,12 +48,12 @@ declare let numberLiteralKeys: { 1?: string }; > : ^^^^^^^^^^^^^^^^^^ probablyArray = numberLiteralKeys; // error ->probablyArray = numberLiteralKeys : { 1?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>probablyArray = numberLiteralKeys : { 1?: string; } +> : ^^^^^^ ^^^ >probablyArray : { [key: number]: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->numberLiteralKeys : { 1?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>numberLiteralKeys : { 1?: string; } +> : ^^^^^^ ^^^ declare let optionalUndefined: { k1?: undefined }; >optionalUndefined : { k1?: undefined; } @@ -67,7 +67,7 @@ let dict: { [key: string]: string } = optionalUndefined; // error >key : string > : ^^^^^^ >optionalUndefined : { k1?: undefined; } -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ function f() { >f : () => void @@ -88,7 +88,7 @@ function f() { > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >key : string > : ^^^^^^ ->optional : { k1?: T | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>optional : { k1?: T; } +> : ^^^^^^^ ^^^ } diff --git a/tests/baselines/reference/outModuleConcatCommonjs.js b/tests/baselines/reference/outModuleConcatCommonjs.js deleted file mode 100644 index c6da7cf3337ea..0000000000000 --- a/tests/baselines/reference/outModuleConcatCommonjs.js +++ /dev/null @@ -1,23 +0,0 @@ -//// [tests/cases/compiler/outModuleConcatCommonjs.ts] //// - -//// [a.ts] -export class A { } - -//// [b.ts] -import {A} from "./ref/a"; -export class B extends A { } - - - - -!!!! File all.d.ts missing from original emit, but present in noCheck emit -//// [all.d.ts] -declare module "ref/a" { - export class A { - } -} -declare module "b" { - import { A } from "ref/a"; - export class B extends A { - } -} diff --git a/tests/baselines/reference/outModuleConcatES6.js b/tests/baselines/reference/outModuleConcatES6.js deleted file mode 100644 index f747cc7e351cb..0000000000000 --- a/tests/baselines/reference/outModuleConcatES6.js +++ /dev/null @@ -1,22 +0,0 @@ -//// [tests/cases/compiler/outModuleConcatES6.ts] //// - -//// [a.ts] -export class A { } - -//// [b.ts] -import {A} from "./ref/a"; -export class B extends A { } - - - -!!!! File all.d.ts missing from original emit, but present in noCheck emit -//// [all.d.ts] -declare module "ref/a" { - export class A { - } -} -declare module "b" { - import { A } from "ref/a"; - export class B extends A { - } -} diff --git a/tests/baselines/reference/outModuleConcatUmd.js b/tests/baselines/reference/outModuleConcatUmd.js deleted file mode 100644 index 44bf3ae850709..0000000000000 --- a/tests/baselines/reference/outModuleConcatUmd.js +++ /dev/null @@ -1,22 +0,0 @@ -//// [tests/cases/compiler/outModuleConcatUmd.ts] //// - -//// [a.ts] -export class A { } - -//// [b.ts] -import {A} from "./ref/a"; -export class B extends A { } - - - -!!!! File all.d.ts missing from original emit, but present in noCheck emit -//// [all.d.ts] -declare module "ref/a" { - export class A { - } -} -declare module "b" { - import { A } from "ref/a"; - export class B extends A { - } -} diff --git a/tests/baselines/reference/overEagerReturnTypeSpecialization.types b/tests/baselines/reference/overEagerReturnTypeSpecialization.types index e844655b550de..ed68d1089007c 100644 --- a/tests/baselines/reference/overEagerReturnTypeSpecialization.types +++ b/tests/baselines/reference/overEagerReturnTypeSpecialization.types @@ -23,15 +23,15 @@ var r1: I1 = v1.func(num => num.toString()) // Correctly returns an I1v1.func(num => num.toString()) // Correctly returns an I1 .func(str => str.length) : I1 > : ^^^^^^^^^^ >v1.func(num => num.toString()) // Correctly returns an I1 .func : (callback: (value: string) => U) => I1 -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^ >v1.func(num => num.toString()) : I1 > : ^^^^^^^^^^ >v1.func : (callback: (value: number) => U) => I1 -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^ >v1 : I1 > : ^^^^^^^^^^ >func : (callback: (value: number) => U) => I1 -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^ >num => num.toString() : (num: number) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >num : number @@ -39,15 +39,15 @@ var r1: I1 = v1.func(num => num.toString()) // Correctly returns an I1num.toString() : string > : ^^^^^^ >num.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >num : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ .func(str => str.length); // should error >func : (callback: (value: string) => U) => I1 -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^ >str => str.length : (str: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >str : string @@ -65,15 +65,15 @@ var r2: I1 = v1.func(num => num.toString()) // Correctly returns an I1v1.func(num => num.toString()) // Correctly returns an I1 .func(str => str.length) : I1 > : ^^^^^^^^^^ >v1.func(num => num.toString()) // Correctly returns an I1 .func : (callback: (value: string) => U) => I1 -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^ >v1.func(num => num.toString()) : I1 > : ^^^^^^^^^^ >v1.func : (callback: (value: number) => U) => I1 -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^ >v1 : I1 > : ^^^^^^^^^^ >func : (callback: (value: number) => U) => I1 -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^ >num => num.toString() : (num: number) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >num : number @@ -81,15 +81,15 @@ var r2: I1 = v1.func(num => num.toString()) // Correctly returns an I1num.toString() : string > : ^^^^^^ >num.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >num : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ .func(str => str.length); // should be ok >func : (callback: (value: string) => U) => I1 -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^ >str => str.length : (str: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >str : string diff --git a/tests/baselines/reference/overload1.types b/tests/baselines/reference/overload1.types index d89df6dbd7d7f..610004a716bc7 100644 --- a/tests/baselines/reference/overload1.types +++ b/tests/baselines/reference/overload1.types @@ -29,19 +29,19 @@ module O { export interface I { f(s:string):number; >f : { (s: string): number; (n: number): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ f(n:number):string; >f : { (s: string): number; (n: number): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ g(n1:number,n2:number):number; >g : { (n1: number, n2: number): number; (n: number): string; (a: A): C; (c: C): string; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n1 : number > : ^^^^^^ >n2 : number @@ -49,25 +49,25 @@ module O { g(n:number):string; >g : { (n1: number, n2: number): number; (n: number): string; (a: A): C; (c: C): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ g(a:A):C; >g : { (n1: number, n2: number): number; (n: number): string; (a: A): C; (c: C): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : A > : ^ g(c:C):string; >g : { (n1: number, n2: number): number; (n: number): string; (a: A): C; (c: C): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c : C > : ^ h(s1:string,s2:number):string; >h : { (s1: string, s2: number): string; (s1: number, s2: string): number; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >s1 : string > : ^^^^^^ >s2 : number @@ -75,7 +75,7 @@ module O { h(s1:number,s2:string):number; >h : { (s1: string, s2: number): string; (s1: number, s2: string): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >s1 : number > : ^^^^^^ >s2 : string @@ -94,12 +94,12 @@ var e:string=x.g(new O.A()); // matches overload but bad assignment > : ^^^^^^ >x.g(new O.A()) : O.C > : ^^^ ->x.g : { (n1: number, n2: number): number; (n: number): string; (a: A): O.C; (c: C): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^ +>x.g : { (n1: number, n2: number): number; (n: number): string; (a: O.A): O.C; (c: O.C): string; } +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ >x : O.I > : ^^^ ->g : { (n1: number, n2: number): number; (n: number): string; (a: A): O.C; (c: C): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^ +>g : { (n1: number, n2: number): number; (n: number): string; (a: O.A): O.C; (c: O.C): string; } +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ >new O.A() : O.A > : ^^^ >O.A : typeof O.A @@ -115,11 +115,11 @@ var y:string=x.f(3); // good >x.f(3) : string > : ^^^^^^ >x.f : { (s: string): number; (n: number): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : O.I > : ^^^ >f : { (s: string): number; (n: number): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >3 : 3 > : ^ @@ -131,11 +131,11 @@ y=x.f("nope"); // can't assign number to string >x.f("nope") : number > : ^^^^^^ >x.f : { (s: string): number; (n: number): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : O.I > : ^^^ >f : { (s: string): number; (n: number): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >"nope" : "nope" > : ^^^^^^ @@ -144,20 +144,20 @@ var z:string=x.g(x.g(3,3)); // good > : ^^^^^^ >x.g(x.g(3,3)) : string > : ^^^^^^ ->x.g : { (n1: number, n2: number): number; (n: number): string; (a: A): O.C; (c: C): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^ +>x.g : { (n1: number, n2: number): number; (n: number): string; (a: O.A): O.C; (c: O.C): string; } +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ >x : O.I > : ^^^ ->g : { (n1: number, n2: number): number; (n: number): string; (a: A): O.C; (c: C): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^ +>g : { (n1: number, n2: number): number; (n: number): string; (a: O.A): O.C; (c: O.C): string; } +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ >x.g(3,3) : number > : ^^^^^^ ->x.g : { (n1: number, n2: number): number; (n: number): string; (a: A): O.C; (c: C): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^ +>x.g : { (n1: number, n2: number): number; (n: number): string; (a: O.A): O.C; (c: O.C): string; } +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ >x : O.I > : ^^^ ->g : { (n1: number, n2: number): number; (n: number): string; (a: A): O.C; (c: C): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^ +>g : { (n1: number, n2: number): number; (n: number): string; (a: O.A): O.C; (c: O.C): string; } +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ >3 : 3 > : ^ >3 : 3 @@ -170,12 +170,12 @@ z=x.g(2,2,2); // no match > : ^^^^^^ >x.g(2,2,2) : never > : ^^^^^ ->x.g : { (n1: number, n2: number): number; (n: number): string; (a: A): O.C; (c: C): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^ +>x.g : { (n1: number, n2: number): number; (n: number): string; (a: O.A): O.C; (c: O.C): string; } +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ >x : O.I > : ^^^ ->g : { (n1: number, n2: number): number; (n: number): string; (a: A): O.C; (c: C): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^ +>g : { (n1: number, n2: number): number; (n: number): string; (a: O.A): O.C; (c: O.C): string; } +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ >2 : 2 > : ^ >2 : 2 @@ -190,12 +190,12 @@ z=x.g(); // no match > : ^^^^^^ >x.g() : never > : ^^^^^ ->x.g : { (n1: number, n2: number): number; (n: number): string; (a: A): O.C; (c: C): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^ +>x.g : { (n1: number, n2: number): number; (n: number): string; (a: O.A): O.C; (c: O.C): string; } +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ >x : O.I > : ^^^ ->g : { (n1: number, n2: number): number; (n: number): string; (a: A): O.C; (c: C): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^ +>g : { (n1: number, n2: number): number; (n: number): string; (a: O.A): O.C; (c: O.C): string; } +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ z=x.g(new O.B()); // ambiguous (up and down conversion) >z=x.g(new O.B()) : O.C @@ -204,12 +204,12 @@ z=x.g(new O.B()); // ambiguous (up and down conversion) > : ^^^^^^ >x.g(new O.B()) : O.C > : ^^^ ->x.g : { (n1: number, n2: number): number; (n: number): string; (a: A): O.C; (c: C): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^ +>x.g : { (n1: number, n2: number): number; (n: number): string; (a: O.A): O.C; (c: O.C): string; } +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ >x : O.I > : ^^^ ->g : { (n1: number, n2: number): number; (n: number): string; (a: A): O.C; (c: C): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^ +>g : { (n1: number, n2: number): number; (n: number): string; (a: O.A): O.C; (c: O.C): string; } +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ >new O.B() : O.B > : ^^^ >O.B : typeof O.B @@ -227,11 +227,11 @@ z=x.h(2,2); // no match >x.h(2,2) : never > : ^^^^^ >x.h : { (s1: string, s2: number): string; (s1: number, s2: string): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >x : O.I > : ^^^ >h : { (s1: string, s2: number): string; (s1: number, s2: string): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >2 : 2 > : ^ >2 : 2 @@ -245,24 +245,24 @@ z=x.h("hello",0); // good >x.h("hello",0) : string > : ^^^^^^ >x.h : { (s1: string, s2: number): string; (s1: number, s2: string): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >x : O.I > : ^^^ >h : { (s1: string, s2: number): string; (s1: number, s2: string): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >"hello" : "hello" > : ^^^^^^^ >0 : 0 > : ^ var v=x.g; ->v : { (n1: number, n2: number): number; (n: number): string; (a: A): O.C; (c: C): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^ ->x.g : { (n1: number, n2: number): number; (n: number): string; (a: A): O.C; (c: C): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^ +>v : { (n1: number, n2: number): number; (n: number): string; (a: O.A): O.C; (c: O.C): string; } +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ +>x.g : { (n1: number, n2: number): number; (n: number): string; (a: O.A): O.C; (c: O.C): string; } +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ >x : O.I > : ^^^ ->g : { (n1: number, n2: number): number; (n: number): string; (a: A): O.C; (c: C): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^ +>g : { (n1: number, n2: number): number; (n: number): string; (a: O.A): O.C; (c: O.C): string; } +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ diff --git a/tests/baselines/reference/overloadAssignmentCompat.types b/tests/baselines/reference/overloadAssignmentCompat.types index b1df258b63bce..ee74b126ed7f8 100644 --- a/tests/baselines/reference/overloadAssignmentCompat.types +++ b/tests/baselines/reference/overloadAssignmentCompat.types @@ -8,13 +8,13 @@ class Accessor {} function attr(name: string): string; >attr : { (name: string): string; (name: string, value: string): Accessor; (map: any): Accessor; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >name : string > : ^^^^^^ function attr(name: string, value: string): Accessor; >attr : { (name: string): string; (name: string, value: string): Accessor; (map: any): Accessor; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >name : string > : ^^^^^^ >value : string @@ -22,13 +22,13 @@ function attr(name: string, value: string): Accessor; function attr(map: any): Accessor; >attr : { (name: string): string; (name: string, value: string): Accessor; (map: any): Accessor; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >map : any > : ^^^ function attr(nameOrMap: any, value?: string): any { >attr : { (name: string): string; (name: string, value: string): Accessor; (map: any): Accessor; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >nameOrMap : any > : ^^^ >value : string @@ -66,13 +66,13 @@ function attr(nameOrMap: any, value?: string): any { // not ok - there's an assignment compat error function attr2(name: string): string; >attr2 : { (name: string): string; (name: string, value: string): Accessor; (map: any): Accessor; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >name : string > : ^^^^^^ function attr2(name: string, value: string): Accessor; >attr2 : { (name: string): string; (name: string, value: string): Accessor; (map: any): Accessor; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >name : string > : ^^^^^^ >value : string @@ -80,13 +80,13 @@ function attr2(name: string, value: string): Accessor; function attr2(map: any): Accessor; >attr2 : { (name: string): string; (name: string, value: string): Accessor; (map: any): Accessor; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >map : any > : ^^^ function attr2(nameOrMap: any, value?: string): string { >attr2 : { (name: string): string; (name: string, value: string): Accessor; (map: any): Accessor; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >nameOrMap : any > : ^^^ >value : string @@ -126,7 +126,7 @@ function foo():number; function foo():string { return "a" }; >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >"a" : "a" > : ^^^ diff --git a/tests/baselines/reference/overloadBindingAcrossDeclarationBoundaries.types b/tests/baselines/reference/overloadBindingAcrossDeclarationBoundaries.types index 1ab3451cf3ba3..080ab316185a1 100644 --- a/tests/baselines/reference/overloadBindingAcrossDeclarationBoundaries.types +++ b/tests/baselines/reference/overloadBindingAcrossDeclarationBoundaries.types @@ -20,13 +20,13 @@ interface Opt4 { interface A { a(o: Opt1): Opt1; >a : { (o: Opt1): Opt1; (o: Opt2): Opt2; (o: Opt3): Opt3; (o: Opt4): Opt4; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >o : Opt1 > : ^^^^ a(o: Opt2): Opt2; >a : { (o: Opt1): Opt1; (o: Opt2): Opt2; (o: Opt3): Opt3; (o: Opt4): Opt4; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >o : Opt2 > : ^^^^ @@ -49,13 +49,13 @@ interface A { interface A { a(o: Opt3): Opt3; >a : { (o: Opt1): Opt1; (o: Opt2): Opt2; (o: Opt3): Opt3; (o: Opt4): Opt4; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >o : Opt3 > : ^^^^ a(o: Opt4): Opt4; >a : { (o: Opt1): Opt1; (o: Opt2): Opt2; (o: Opt3): Opt3; (o: Opt4): Opt4; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >o : Opt4 > : ^^^^ @@ -87,11 +87,11 @@ var a1 = a.a({}); >a.a({}) : Opt3 > : ^^^^ >a.a : { (o: Opt1): Opt1; (o: Opt2): Opt2; (o: Opt3): Opt3; (o: Opt4): Opt4; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : A > : ^ >a : { (o: Opt1): Opt1; (o: Opt2): Opt2; (o: Opt3): Opt3; (o: Opt4): Opt4; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >{} : {} > : ^^ diff --git a/tests/baselines/reference/overloadBindingAcrossDeclarationBoundaries2.types b/tests/baselines/reference/overloadBindingAcrossDeclarationBoundaries2.types index 94b7c3e7f6732..aa13c6bd4c4ac 100644 --- a/tests/baselines/reference/overloadBindingAcrossDeclarationBoundaries2.types +++ b/tests/baselines/reference/overloadBindingAcrossDeclarationBoundaries2.types @@ -21,13 +21,13 @@ interface Opt4 { interface A { a(o: Opt1): Opt1; >a : { (o: Opt1): Opt1; (o: Opt2): Opt2; (o: Opt3): Opt3; (o: Opt4): Opt4; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >o : Opt1 > : ^^^^ a(o: Opt2): Opt2; >a : { (o: Opt1): Opt1; (o: Opt2): Opt2; (o: Opt3): Opt3; (o: Opt4): Opt4; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >o : Opt2 > : ^^^^ @@ -52,13 +52,13 @@ interface A { interface A { a(o: Opt3): Opt3; >a : { (o: Opt1): Opt1; (o: Opt2): Opt2; (o: Opt3): Opt3; (o: Opt4): Opt4; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >o : Opt3 > : ^^^^ a(o: Opt4): Opt4; >a : { (o: Opt1): Opt1; (o: Opt2): Opt2; (o: Opt3): Opt3; (o: Opt4): Opt4; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >o : Opt4 > : ^^^^ @@ -90,11 +90,11 @@ var a1 = a.a({}); >a.a({}) : Opt3 > : ^^^^ >a.a : { (o: Opt1): Opt1; (o: Opt2): Opt2; (o: Opt3): Opt3; (o: Opt4): Opt4; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : A > : ^ >a : { (o: Opt1): Opt1; (o: Opt2): Opt2; (o: Opt3): Opt3; (o: Opt4): Opt4; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >{} : {} > : ^^ diff --git a/tests/baselines/reference/overloadCallTest.types b/tests/baselines/reference/overloadCallTest.types index 36b3d5dbdd6b3..a2bcd979b7de6 100644 --- a/tests/baselines/reference/overloadCallTest.types +++ b/tests/baselines/reference/overloadCallTest.types @@ -12,13 +12,13 @@ class foo { function bar(s:string); >bar : { (): string; (s: string): any; } -> : ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^^^^^^^ >s : string > : ^^^^^^ function bar(foo?: string) { return "foo" }; >bar : { (): string; (s: string): any; } -> : ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^^^^^^^ >foo : string > : ^^^^^^ >"foo" : "foo" @@ -28,7 +28,7 @@ class foo { >test : any >bar("test") : any >bar : { (): string; (s: string): any; } -> : ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^^^^^^^ >"test" : "test" > : ^^^^^^ @@ -38,7 +38,7 @@ class foo { >bar() : string > : ^^^^^^ >bar : { (): string; (s: string): any; } -> : ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^^^^^^^ goo = bar("test"); >goo = bar("test") : any @@ -46,7 +46,7 @@ class foo { > : ^^^^^^ >bar("test") : any >bar : { (): string; (s: string): any; } -> : ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^^^^^^^ >"test" : "test" > : ^^^^^^ } diff --git a/tests/baselines/reference/overloadEquivalenceWithStatics.types b/tests/baselines/reference/overloadEquivalenceWithStatics.types index fa73d37272258..35db77c545ccb 100644 --- a/tests/baselines/reference/overloadEquivalenceWithStatics.types +++ b/tests/baselines/reference/overloadEquivalenceWithStatics.types @@ -7,19 +7,19 @@ class A1 { static B(v: A1): A1; // 1 >B : { (v: A1): A1; (v: S_1): A1; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >v : A1 > : ^^^^^ static B(v: S): A1; // 2 : Error Duplicate signature >B : { (v: A1): A1; (v: S): A1; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >v : S > : ^ static B(v: any): A1 { ->B : { (v: A1): A1; (v: S_2): A1; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +>B : { (v: A1): A1; (v: S_1): A1; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >v : any return null; diff --git a/tests/baselines/reference/overloadErrorMatchesImplementationElaboaration.types b/tests/baselines/reference/overloadErrorMatchesImplementationElaboaration.types index 308df5be67e68..bf4a9a587c9cb 100644 --- a/tests/baselines/reference/overloadErrorMatchesImplementationElaboaration.types +++ b/tests/baselines/reference/overloadErrorMatchesImplementationElaboaration.types @@ -15,7 +15,7 @@ class EventAggregator publish(event: T): void {} >publish : (event: string, data?: any) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >event : T > : ^ } @@ -28,11 +28,11 @@ ea.publish([1,2,3]); >ea.publish([1,2,3]) : void > : ^^^^ >ea.publish : (event: string, data?: any) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >ea : EventAggregator > : ^^^^^^^^^^^^^^^ >publish : (event: string, data?: any) => void -> : ^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >[1,2,3] : number[] > : ^^^^^^^^ >1 : 1 diff --git a/tests/baselines/reference/overloadGenericFunctionWithRestArgs.types b/tests/baselines/reference/overloadGenericFunctionWithRestArgs.types index b26495ba70648..2f8b51eac2750 100644 --- a/tests/baselines/reference/overloadGenericFunctionWithRestArgs.types +++ b/tests/baselines/reference/overloadGenericFunctionWithRestArgs.types @@ -25,7 +25,7 @@ function Choice(...v_args: T[]): A; function Choice(...v_args: T[]): A { >Choice : (...v_args: T_1[]) => A -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >v_args : T[] > : ^^^ diff --git a/tests/baselines/reference/overloadOnConstConstraintChecks1.types b/tests/baselines/reference/overloadOnConstConstraintChecks1.types index 4e349d6ee3084..0435f9c5aa294 100644 --- a/tests/baselines/reference/overloadOnConstConstraintChecks1.types +++ b/tests/baselines/reference/overloadOnConstConstraintChecks1.types @@ -34,25 +34,25 @@ class Derived3 extends Base { biz() { } } interface MyDoc { // Document createElement(tagName: string): Base; >createElement : { (tagName: string): Base; (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >tagName : string > : ^^^^^^ createElement(tagName: 'canvas'): Derived1; >createElement : { (tagName: string): Base; (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >tagName : "canvas" > : ^^^^^^^^ createElement(tagName: 'div'): Derived2; >createElement : { (tagName: string): Base; (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >tagName : "div" > : ^^^^^ createElement(tagName: 'span'): Derived3; >createElement : { (tagName: string): Base; (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >tagName : "span" > : ^^^^^^ @@ -65,31 +65,31 @@ class D implements MyDoc { createElement(tagName:string): Base; >createElement : { (tagName: string): Base; (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >tagName : string > : ^^^^^^ createElement(tagName: 'canvas'): Derived1; >createElement : { (tagName: string): Base; (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >tagName : "canvas" > : ^^^^^^^^ createElement(tagName: 'div'): Derived2; >createElement : { (tagName: string): Base; (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >tagName : "div" > : ^^^^^ createElement(tagName: 'span'): Derived3; >createElement : { (tagName: string): Base; (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >tagName : "span" > : ^^^^^^ createElement(tagName:any): Base { >createElement : { (tagName: string): Base; (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >tagName : any return null; diff --git a/tests/baselines/reference/overloadOnConstConstraintChecks2.types b/tests/baselines/reference/overloadOnConstConstraintChecks2.types index 15ac0bc1fd858..fa858c33ac07f 100644 --- a/tests/baselines/reference/overloadOnConstConstraintChecks2.types +++ b/tests/baselines/reference/overloadOnConstConstraintChecks2.types @@ -23,25 +23,25 @@ class C extends A { } function foo(name: 'hi'): B; >foo : { (name: "hi"): B; (name: "bye"): C; (name: string): A; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >name : "hi" > : ^^^^ function foo(name: 'bye'): C; >foo : { (name: "hi"): B; (name: "bye"): C; (name: string): A; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >name : "bye" > : ^^^^^ function foo(name: string): A; >foo : { (name: "hi"): B; (name: "bye"): C; (name: string): A; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >name : string > : ^^^^^^ function foo(name: any): A { >foo : { (name: "hi"): B; (name: "bye"): C; (name: string): A; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >name : any return null; diff --git a/tests/baselines/reference/overloadOnConstConstraintChecks3.types b/tests/baselines/reference/overloadOnConstConstraintChecks3.types index 0783b5a2ff200..2f11866bac12f 100644 --- a/tests/baselines/reference/overloadOnConstConstraintChecks3.types +++ b/tests/baselines/reference/overloadOnConstConstraintChecks3.types @@ -27,25 +27,25 @@ class C extends A { } function foo(name: 'hi'): B; >foo : { (name: "hi"): B; (name: "bye"): C; (name: string): A; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >name : "hi" > : ^^^^ function foo(name: 'bye'): C; >foo : { (name: "hi"): B; (name: "bye"): C; (name: string): A; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >name : "bye" > : ^^^^^ function foo(name: string): A; >foo : { (name: "hi"): B; (name: "bye"): C; (name: string): A; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >name : string > : ^^^^^^ function foo(name: any): A { >foo : { (name: "hi"): B; (name: "bye"): C; (name: string): A; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >name : any return null; diff --git a/tests/baselines/reference/overloadOnConstConstraintChecks4.types b/tests/baselines/reference/overloadOnConstConstraintChecks4.types index c868c3d785fd0..e952a8b82a8a9 100644 --- a/tests/baselines/reference/overloadOnConstConstraintChecks4.types +++ b/tests/baselines/reference/overloadOnConstConstraintChecks4.types @@ -33,25 +33,25 @@ class C extends A { } function foo(name: 'hi'): B; >foo : { (name: "hi"): B; (name: "bye"): C; (name: string): A; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >name : "hi" > : ^^^^ function foo(name: 'bye'): C; >foo : { (name: "hi"): B; (name: "bye"): C; (name: string): A; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >name : "bye" > : ^^^^^ function foo(name: string): A; >foo : { (name: "hi"): B; (name: "bye"): C; (name: string): A; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >name : string > : ^^^^^^ function foo(name: any): Z { >foo : { (name: "hi"): B; (name: "bye"): C; (name: string): A; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >name : any return null; diff --git a/tests/baselines/reference/overloadOnConstInCallback1.types b/tests/baselines/reference/overloadOnConstInCallback1.types index 79490be69f4d6..d6fbf6618b16d 100644 --- a/tests/baselines/reference/overloadOnConstInCallback1.types +++ b/tests/baselines/reference/overloadOnConstInCallback1.types @@ -28,7 +28,7 @@ class C { >callback('hi') : number > : ^^^^^^ >callback : (x: any) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'hi' : "hi" > : ^^^^ @@ -36,7 +36,7 @@ class C { >callback('bye') : number > : ^^^^^^ >callback : (x: any) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'bye' : "bye" > : ^^^^^ @@ -50,7 +50,7 @@ class C { >callback(hm) : number > : ^^^^^^ >callback : (x: any) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >hm : string > : ^^^^^^ } diff --git a/tests/baselines/reference/overloadOnConstInheritance1.types b/tests/baselines/reference/overloadOnConstInheritance1.types index 77ba8a53af977..3e80860905016 100644 --- a/tests/baselines/reference/overloadOnConstInheritance1.types +++ b/tests/baselines/reference/overloadOnConstInheritance1.types @@ -4,26 +4,26 @@ interface Base { addEventListener(x: string): any; >addEventListener : { (x: string): any; (x: "foo"): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ addEventListener(x: 'foo'): string; >addEventListener : { (x: string): any; (x: "foo"): string; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "foo" > : ^^^^^ } interface Deriver extends Base { addEventListener(x: string): any; >addEventListener : { (x: string): any; (x: "bar"): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ addEventListener(x: 'bar'): string; >addEventListener : { (x: string): any; (x: "bar"): string; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "bar" > : ^^^^^ } diff --git a/tests/baselines/reference/overloadOnConstInheritance2.types b/tests/baselines/reference/overloadOnConstInheritance2.types index cbdf8fca6904f..844822f06ef40 100644 --- a/tests/baselines/reference/overloadOnConstInheritance2.types +++ b/tests/baselines/reference/overloadOnConstInheritance2.types @@ -4,13 +4,13 @@ interface Base { addEventListener(x: string): any; >addEventListener : { (x: string): any; (x: "foo"): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ addEventListener(x: 'foo'): string; >addEventListener : { (x: string): any; (x: "foo"): string; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "foo" > : ^^^^^ } diff --git a/tests/baselines/reference/overloadOnConstInheritance3.types b/tests/baselines/reference/overloadOnConstInheritance3.types index a165e797ba1bc..3ea531168275a 100644 --- a/tests/baselines/reference/overloadOnConstInheritance3.types +++ b/tests/baselines/reference/overloadOnConstInheritance3.types @@ -12,13 +12,13 @@ interface Deriver extends Base { // shouldn't need to redeclare the string overload addEventListener(x: 'bar'): string; >addEventListener : { (x: "bar"): string; (x: "foo"): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "bar" > : ^^^^^ addEventListener(x: 'foo'): string; >addEventListener : { (x: "bar"): string; (x: "foo"): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "foo" > : ^^^^^ } diff --git a/tests/baselines/reference/overloadOnConstNoAnyImplementation.types b/tests/baselines/reference/overloadOnConstNoAnyImplementation.types index 3bf89baf9fb74..dfdb13723b2b8 100644 --- a/tests/baselines/reference/overloadOnConstNoAnyImplementation.types +++ b/tests/baselines/reference/overloadOnConstNoAnyImplementation.types @@ -35,7 +35,7 @@ function x1(a: number, cb: (x: string) => number) { >cb('hi') : number > : ^^^^^^ >cb : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'hi' : "hi" > : ^^^^ @@ -43,7 +43,7 @@ function x1(a: number, cb: (x: string) => number) { >cb('bye') : number > : ^^^^^^ >cb : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'bye' : "bye" > : ^^^^^ @@ -57,7 +57,7 @@ function x1(a: number, cb: (x: string) => number) { >cb(hm) : number > : ^^^^^^ >cb : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >hm : string > : ^^^^^^ @@ -65,7 +65,7 @@ function x1(a: number, cb: (x: string) => number) { >cb('uh') : number > : ^^^^^^ >cb : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'uh' : "uh" > : ^^^^ @@ -73,7 +73,7 @@ function x1(a: number, cb: (x: string) => number) { >cb(1) : number > : ^^^^^^ >cb : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ } @@ -98,7 +98,7 @@ x1(1, cb); >1 : 1 > : ^ >cb : (number: any) => number -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ x1(1, (x: 'hi') => 1); // error >x1(1, (x: 'hi') => 1) : any diff --git a/tests/baselines/reference/overloadOnConstNoAnyImplementation2.types b/tests/baselines/reference/overloadOnConstNoAnyImplementation2.types index f24442ff295b7..f0950110a396e 100644 --- a/tests/baselines/reference/overloadOnConstNoAnyImplementation2.types +++ b/tests/baselines/reference/overloadOnConstNoAnyImplementation2.types @@ -41,7 +41,7 @@ class C { >callback('hi') : number > : ^^^^^^ >callback : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'hi' : "hi" > : ^^^^ @@ -49,7 +49,7 @@ class C { >callback('bye') : number > : ^^^^^^ >callback : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'bye' : "bye" > : ^^^^^ @@ -63,7 +63,7 @@ class C { >callback(hm) : number > : ^^^^^^ >callback : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >hm : string > : ^^^^^^ @@ -71,7 +71,7 @@ class C { >callback(1) : number > : ^^^^^^ >callback : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ } diff --git a/tests/baselines/reference/overloadOnConstNoStringImplementation.types b/tests/baselines/reference/overloadOnConstNoStringImplementation.types index d509eed66a046..b377838889555 100644 --- a/tests/baselines/reference/overloadOnConstNoStringImplementation.types +++ b/tests/baselines/reference/overloadOnConstNoStringImplementation.types @@ -34,7 +34,7 @@ function x2(a: number, cb: (x: any) => number) { >cb('hi') : number > : ^^^^^^ >cb : (x: any) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'hi' : "hi" > : ^^^^ @@ -42,7 +42,7 @@ function x2(a: number, cb: (x: any) => number) { >cb('bye') : number > : ^^^^^^ >cb : (x: any) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'bye' : "bye" > : ^^^^^ @@ -56,7 +56,7 @@ function x2(a: number, cb: (x: any) => number) { >cb(hm) : number > : ^^^^^^ >cb : (x: any) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >hm : string > : ^^^^^^ @@ -64,7 +64,7 @@ function x2(a: number, cb: (x: any) => number) { >cb('uh') : number > : ^^^^^^ >cb : (x: any) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'uh' : "uh" > : ^^^^ @@ -72,7 +72,7 @@ function x2(a: number, cb: (x: any) => number) { >cb(1) : number > : ^^^^^^ >cb : (x: any) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ } @@ -95,7 +95,7 @@ x2(1, cb); // error >1 : 1 > : ^ >cb : (number: any) => number -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ x2(1, (x: 'hi') => 1); // error >x2(1, (x: 'hi') => 1) : any diff --git a/tests/baselines/reference/overloadOnConstNoStringImplementation2.types b/tests/baselines/reference/overloadOnConstNoStringImplementation2.types index bb7e4a87b6d84..c8994bf9cab05 100644 --- a/tests/baselines/reference/overloadOnConstNoStringImplementation2.types +++ b/tests/baselines/reference/overloadOnConstNoStringImplementation2.types @@ -41,7 +41,7 @@ class C implements I { >callback('hi') : number > : ^^^^^^ >callback : (x: any) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'hi' : "hi" > : ^^^^ @@ -49,7 +49,7 @@ class C implements I { >callback('bye') : number > : ^^^^^^ >callback : (x: any) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'bye' : "bye" > : ^^^^^ @@ -63,7 +63,7 @@ class C implements I { >callback(hm) : number > : ^^^^^^ >callback : (x: any) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >hm : string > : ^^^^^^ @@ -71,7 +71,7 @@ class C implements I { >callback(1) : number > : ^^^^^^ >callback : (x: any) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ } diff --git a/tests/baselines/reference/overloadOnConstantsInvalidOverload1.types b/tests/baselines/reference/overloadOnConstantsInvalidOverload1.types index cb1ef0a355bc4..e9333a833da3b 100644 --- a/tests/baselines/reference/overloadOnConstantsInvalidOverload1.types +++ b/tests/baselines/reference/overloadOnConstantsInvalidOverload1.types @@ -39,7 +39,7 @@ function foo(name: "SPAN"): Derived1; function foo(name: "DIV"): Derived2 { >foo : (name: "SPAN") => Derived1 -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >name : "DIV" > : ^^^^^ @@ -50,7 +50,7 @@ foo("HI"); >foo("HI") : Derived1 > : ^^^^^^^^ >foo : (name: "SPAN") => Derived1 -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"HI" : "HI" > : ^^^^ diff --git a/tests/baselines/reference/overloadOnGenericArity.types b/tests/baselines/reference/overloadOnGenericArity.types index f678693b06db8..c335bdf0018f6 100644 --- a/tests/baselines/reference/overloadOnGenericArity.types +++ b/tests/baselines/reference/overloadOnGenericArity.types @@ -4,13 +4,13 @@ interface Test { then(p: string): string; >then : { (p: string): string; (p: string): Date; } -> : ^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >p : string > : ^^^^^^ then(p: string): Date; // Error: Overloads cannot differ only by return type >then : { (p: string): string; (p: string): Date; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >p : string > : ^^^^^^ } diff --git a/tests/baselines/reference/overloadOnGenericClassAndNonGenericClass.types b/tests/baselines/reference/overloadOnGenericClassAndNonGenericClass.types index cb778538826be..de8bc662be9d8 100644 --- a/tests/baselines/reference/overloadOnGenericClassAndNonGenericClass.types +++ b/tests/baselines/reference/overloadOnGenericClassAndNonGenericClass.types @@ -36,19 +36,19 @@ class X2 { x: string; } function f(a: X1): A; >f : { (a: X1): A; (a: X): B; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >a : X1 > : ^^ function f(a: X): B; >f : { (a: X1): A; (a: X): B; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >a : X > : ^^^^ function f(a): any { >f : { (a: X1): A; (a: X): B; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >a : any } @@ -62,7 +62,7 @@ var t3 = f(xs); >f(xs) : A > : ^ >f : { (a: X1): A; (a: X): B; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >xs : X > : ^^^^^^^^^ diff --git a/tests/baselines/reference/overloadResolution.types b/tests/baselines/reference/overloadResolution.types index 57d989a3801b9..22fd83e475b3d 100644 --- a/tests/baselines/reference/overloadResolution.types +++ b/tests/baselines/reference/overloadResolution.types @@ -48,19 +48,19 @@ class SomeDerived3 extends SomeBase { // Ambiguous call picks the first overload in declaration order function fn1(s: string): string; >fn1 : { (s: string): string; (s: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ function fn1(s: number): number; >fn1 : { (s: string): string; (s: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : number > : ^^^^^^ function fn1() { return null; } >fn1 : { (s: string): string; (s: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ var s = fn1(undefined); >s : string @@ -68,7 +68,7 @@ var s = fn1(undefined); >fn1(undefined) : string > : ^^^^^^ >fn1 : { (s: string): string; (s: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ @@ -82,14 +82,14 @@ fn1({}); // Error >fn1({}) : never > : ^^^^^ >fn1 : { (s: string): string; (s: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >{} : {} > : ^^ // Generic and non - generic overload where generic overload is the only candidate when called with type arguments function fn2(s: string, n: number): number; >fn2 : { (s: string, n: number): number; (n: number, t: T): T; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ >n : number @@ -97,7 +97,7 @@ function fn2(s: string, n: number): number; function fn2(n: number, t: T): T; >fn2 : { (s: string, n: number): number; (n: number, t: T): T; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ >t : T @@ -105,7 +105,7 @@ function fn2(n: number, t: T): T; function fn2() { return undefined; } >fn2 : { (s: string, n: number): number; (n: number, t: T): T; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ @@ -115,7 +115,7 @@ var d = fn2(0, undefined); >fn2(0, undefined) : Date > : ^^^^ >fn2 : { (s: string, n: number): number; (n: number, t: T): T; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >0 : 0 > : ^ >undefined : undefined @@ -132,7 +132,7 @@ var s = fn2(0, ''); >fn2(0, '') : "" > : ^^ >fn2 : { (s: string, n: number): number; (n: number, t: T): T; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >0 : 0 > : ^ >'' : "" @@ -143,7 +143,7 @@ fn2('', 0); // Error >fn2('', 0) : number > : ^^^^^^ >fn2 : { (s: string, n: number): number; (n: number, t: T): T; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >'' : "" > : ^^ >0 : 0 @@ -154,7 +154,7 @@ fn2('', 0); // OK >fn2('', 0) : number > : ^^^^^^ >fn2 : { (s: string, n: number): number; (n: number, t: T): T; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >'' : "" > : ^^ >0 : 0 @@ -162,14 +162,14 @@ fn2('', 0); // OK // Generic overloads with differing arity called without type arguments function fn3(n: T): string; ->fn3 : { (n: T): string; (s: string, t: T_1, u: U): U; (v: V, u: U_1, t: T_2): number; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +>fn3 : { (n: T): string; (s: string, t: T_1, u: U): U; (v: V, u: U, t: T_1): number; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >n : T > : ^ function fn3(s: string, t: T, u: U): U; ->fn3 : { (n: T_1): string; (s: string, t: T, u: U): U; (v: V, u: U_1, t: T_2): number; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +>fn3 : { (n: T_1): string; (s: string, t: T, u: U): U; (v: V, u: U_1, t: T_1): number; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ >t : T @@ -178,8 +178,8 @@ function fn3(s: string, t: T, u: U): U; > : ^ function fn3(v: V, u: U, t: T): number; ->fn3 : { (n: T_1): string; (s: string, t: T_2, u: U_1): U_1; (v: V, u: U, t: T): number; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +>fn3 : { (n: T_1): string; (s: string, t: T_1, u: U_1): U_1; (v: V, u: U, t: T): number; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >v : V > : ^ >u : U @@ -188,16 +188,16 @@ function fn3(v: V, u: U, t: T): number; > : ^ function fn3() { return null; } ->fn3 : { (n: T): string; (s: string, t: T_1, u: U): U; (v: V, u: U_1, t: T_2): number; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +>fn3 : { (n: T): string; (s: string, t: T, u: U): U; (v: V, u: U, t: T): number; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var s = fn3(3); >s : string > : ^^^^^^ >fn3(3) : string > : ^^^^^^ ->fn3 : { (n: T): string; (s: string, t: T_1, u: U): U; (v: V, u: U_1, t: T_2): number; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +>fn3 : { (n: T): string; (s: string, t: T, u: U): U; (v: V, u: U, t: T): number; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >3 : 3 > : ^ @@ -206,8 +206,8 @@ var s = fn3('', 3, ''); > : ^^^^^^ >fn3('', 3, '') : "" > : ^^ ->fn3 : { (n: T): string; (s: string, t: T_1, u: U): U; (v: V, u: U_1, t: T_2): number; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +>fn3 : { (n: T): string; (s: string, t: T, u: U): U; (v: V, u: U, t: T): number; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >'' : "" > : ^^ >3 : 3 @@ -220,8 +220,8 @@ var n = fn3(5, 5, 5); > : ^^^^^^ >fn3(5, 5, 5) : number > : ^^^^^^ ->fn3 : { (n: T): string; (s: string, t: T_1, u: U): U; (v: V, u: U_1, t: T_2): number; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +>fn3 : { (n: T): string; (s: string, t: T, u: U): U; (v: V, u: U, t: T): number; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >5 : 5 > : ^ >5 : 5 @@ -239,8 +239,8 @@ var s = fn3(4); > : ^^^^^^ >fn3(4) : string > : ^^^^^^ ->fn3 : { (n: T): string; (s: string, t: T_1, u: U): U; (v: V, u: U_1, t: T_2): number; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +>fn3 : { (n: T): string; (s: string, t: T, u: U): U; (v: V, u: U, t: T): number; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >4 : 4 > : ^ @@ -249,8 +249,8 @@ var s = fn3('', '', ''); > : ^^^^^^ >fn3('', '', '') : string > : ^^^^^^ ->fn3 : { (n: T): string; (s: string, t: T_1, u: U): U; (v: V, u: U_1, t: T_2): number; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +>fn3 : { (n: T): string; (s: string, t: T, u: U): U; (v: V, u: U, t: T): number; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >'' : "" > : ^^ >'' : "" @@ -263,8 +263,8 @@ var n = fn3('', '', 3); > : ^^^^^^ >fn3('', '', 3) : number > : ^^^^^^ ->fn3 : { (n: T): string; (s: string, t: T_1, u: U): U; (v: V, u: U_1, t: T_2): number; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +>fn3 : { (n: T): string; (s: string, t: T, u: U): U; (v: V, u: U, t: T): number; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >'' : "" > : ^^ >'' : "" @@ -276,13 +276,13 @@ var n = fn3('', '', 3); fn3(); // Error >fn3() : string > : ^^^^^^ ->fn3 : { (n: T): string; (s: string, t: T_1, u: U): U; (v: V, u: U_1, t: T_2): number; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +>fn3 : { (n: T): string; (s: string, t: T, u: U): U; (v: V, u: U, t: T): number; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ // Generic overloads with constraints called with type arguments that satisfy the constraints function fn4(n: T, m: U); >fn4 : { (n: T, m: U): any; (n: T_1, m: U_1): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >n : T > : ^ >m : U @@ -290,21 +290,21 @@ function fn4(n: T, m: U); function fn4(n: T, m: U); >fn4 : { (n: T_1, m: U_1): any; (n: T, m: U): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >n : T > : ^ >m : U > : ^ function fn4() { } ->fn4 : { (n: T, m: U): any; (n: T_1, m: U_1): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +>fn4 : { (n: T, m: U): any; (n: T, m: U): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ fn4('', 3); >fn4('', 3) : any > : ^^^ ->fn4 : { (n: T, m: U): any; (n: T_1, m: U_1): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +>fn4 : { (n: T, m: U): any; (n: T, m: U): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >'' : "" > : ^^ >3 : 3 @@ -313,8 +313,8 @@ fn4('', 3); fn4(3, ''); // Error >fn4(3, '') : any > : ^^^ ->fn4 : { (n: T, m: U): any; (n: T_1, m: U_1): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +>fn4 : { (n: T, m: U): any; (n: T, m: U): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >3 : 3 > : ^ >'' : "" @@ -323,8 +323,8 @@ fn4(3, ''); // Error fn4('', 3); // Error >fn4('', 3) : any > : ^^^ ->fn4 : { (n: T, m: U): any; (n: T_1, m: U_1): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +>fn4 : { (n: T, m: U): any; (n: T, m: U): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >'' : "" > : ^^ >3 : 3 @@ -333,8 +333,8 @@ fn4('', 3); // Error fn4(3, ''); >fn4(3, '') : any > : ^^^ ->fn4 : { (n: T, m: U): any; (n: T_1, m: U_1): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +>fn4 : { (n: T, m: U): any; (n: T, m: U): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >3 : 3 > : ^ >'' : "" @@ -344,8 +344,8 @@ fn4(3, ''); fn4('', 3); >fn4('', 3) : any > : ^^^ ->fn4 : { (n: T, m: U): any; (n: T_1, m: U_1): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +>fn4 : { (n: T, m: U): any; (n: T, m: U): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >'' : "" > : ^^ >3 : 3 @@ -354,8 +354,8 @@ fn4('', 3); fn4(3, ''); >fn4(3, '') : any > : ^^^ ->fn4 : { (n: T, m: U): any; (n: T_1, m: U_1): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +>fn4 : { (n: T, m: U): any; (n: T, m: U): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >3 : 3 > : ^ >'' : "" @@ -364,8 +364,8 @@ fn4(3, ''); fn4(3, undefined); >fn4(3, undefined) : any > : ^^^ ->fn4 : { (n: T, m: U): any; (n: T_1, m: U_1): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +>fn4 : { (n: T, m: U): any; (n: T, m: U): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >3 : 3 > : ^ >undefined : undefined @@ -374,8 +374,8 @@ fn4(3, undefined); fn4('', null); >fn4('', null) : any > : ^^^ ->fn4 : { (n: T, m: U): any; (n: T_1, m: U_1): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +>fn4 : { (n: T, m: U): any; (n: T, m: U): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >'' : "" > : ^^ @@ -383,30 +383,30 @@ fn4('', null); fn4(null, null); // Error >fn4(null, null) : any > : ^^^ ->fn4 : { (n: T, m: U): any; (n: T_1, m: U_1): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +>fn4 : { (n: T, m: U): any; (n: T, m: U): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ // Generic overloads with constraints called without type arguments but with types that do not satisfy the constraints fn4(true, null); // Error >fn4(true, null) : any > : ^^^ ->fn4 : { (n: T, m: U): any; (n: T_1, m: U_1): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +>fn4 : { (n: T, m: U): any; (n: T, m: U): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >true : true > : ^^^^ fn4(null, true); // Error >fn4(null, true) : any > : ^^^ ->fn4 : { (n: T, m: U): any; (n: T_1, m: U_1): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +>fn4 : { (n: T, m: U): any; (n: T, m: U): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >true : true > : ^^^^ // Non - generic overloads where contextual typing of function arguments has errors function fn5(f: (n: string) => void): string; >fn5 : { (f: (n: string) => void): string; (f: (n: number) => void): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >f : (n: string) => void > : ^ ^^ ^^^^^ >n : string @@ -414,7 +414,7 @@ function fn5(f: (n: string) => void): string; function fn5(f: (n: number) => void): number; >fn5 : { (f: (n: string) => void): string; (f: (n: number) => void): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >f : (n: number) => void > : ^ ^^ ^^^^^ >n : number @@ -422,7 +422,7 @@ function fn5(f: (n: number) => void): number; function fn5() { return undefined; } >fn5 : { (f: (n: string) => void): string; (f: (n: number) => void): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ @@ -432,7 +432,7 @@ var n = fn5((n) => n.toFixed()); >fn5((n) => n.toFixed()) : string > : ^^^^^^ >fn5 : { (f: (n: string) => void): string; (f: (n: number) => void): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >(n) => n.toFixed() : (n: string) => any > : ^ ^^^^^^^^^^^^^^^^ >n : string @@ -452,7 +452,7 @@ var s = fn5((n) => n.substr(0)); >fn5((n) => n.substr(0)) : string > : ^^^^^^ >fn5 : { (f: (n: string) => void): string; (f: (n: number) => void): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >(n) => n.substr(0) : (n: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >n : string @@ -460,11 +460,11 @@ var s = fn5((n) => n.substr(0)); >n.substr(0) : string > : ^^^^^^ >n.substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >n : string > : ^^^^^^ >substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/overloadResolutionClassConstructors.types b/tests/baselines/reference/overloadResolutionClassConstructors.types index c91a2811f5eb7..9d542b036f5d5 100644 --- a/tests/baselines/reference/overloadResolutionClassConstructors.types +++ b/tests/baselines/reference/overloadResolutionClassConstructors.types @@ -412,11 +412,11 @@ new fn5((n) => n.substr(0)); >n.substr(0) : string > : ^^^^^^ >n.substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >n : string > : ^^^^^^ >substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/overloadResolutionConstructors.types b/tests/baselines/reference/overloadResolutionConstructors.types index 70e2e15dc5cd0..5b6ab01d63534 100644 --- a/tests/baselines/reference/overloadResolutionConstructors.types +++ b/tests/baselines/reference/overloadResolutionConstructors.types @@ -437,11 +437,11 @@ var s = new fn5((n) => n.substr(0)); >n.substr(0) : string > : ^^^^^^ >n.substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >n : string > : ^^^^^^ >substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/overloadResolutionOverNonCTLambdas.types b/tests/baselines/reference/overloadResolutionOverNonCTLambdas.types index b7053444e3b97..1543da64f1476 100644 --- a/tests/baselines/reference/overloadResolutionOverNonCTLambdas.types +++ b/tests/baselines/reference/overloadResolutionOverNonCTLambdas.types @@ -25,11 +25,11 @@ module Bugs { >message.replace(/\{(\d+)\}/g, function(match, ...rest) { var index= rest[0]; return typeof args[index] !== 'undefined' ? args[index] : match; }) : string > : ^^^^^^ >message.replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >message : string > : ^^^^^^ >replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >/\{(\d+)\}/g : RegExp > : ^^^^^^ >function(match, ...rest) { var index= rest[0]; return typeof args[index] !== 'undefined' ? args[index] : match; } : (match: string, ...rest: any[]) => any @@ -87,7 +87,7 @@ function bug3(f:(x:string)=>string) { return f("s") } >f("s") : string > : ^^^^^^ >f : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"s" : "s" > : ^^^ @@ -105,7 +105,7 @@ bug3(fprime); >bug3 : (f: (x: string) => string) => string > : ^ ^^ ^^^^^^^^^^^ >fprime : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ bug3(function(x:string):string { return x; }); >bug3(function(x:string):string { return x; }) : string diff --git a/tests/baselines/reference/overloadResolutionOverNonCTObjectLit.types b/tests/baselines/reference/overloadResolutionOverNonCTObjectLit.types index 5e1a544e62b0d..70f803ce6b125 100644 --- a/tests/baselines/reference/overloadResolutionOverNonCTObjectLit.types +++ b/tests/baselines/reference/overloadResolutionOverNonCTObjectLit.types @@ -46,11 +46,11 @@ module Bugs { >tokens.push({ startIndex: 1, type: '', bracket: 3 }) : number > : ^^^^^^ >tokens.push : (...items: IToken[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >tokens : IToken[] > : ^^^^^^^^ >push : (...items: IToken[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >{ startIndex: 1, type: '', bracket: 3 } : { startIndex: number; type: string; bracket: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >startIndex : number @@ -70,11 +70,11 @@ module Bugs { >tokens.push(({ startIndex: 1, type: '', bracket: 3, state: null, length: 10 })) : number > : ^^^^^^ >tokens.push : (...items: IToken[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >tokens : IToken[] > : ^^^^^^^^ >push : (...items: IToken[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >({ startIndex: 1, type: '', bracket: 3, state: null, length: 10 }) : IToken > : ^^^^^^ >({ startIndex: 1, type: '', bracket: 3, state: null, length: 10 }) : { startIndex: number; type: string; bracket: number; state: null; length: number; } diff --git a/tests/baselines/reference/overloadResolutionTest1.types b/tests/baselines/reference/overloadResolutionTest1.types index c7d11942ff614..5b9f0714d1a0b 100644 --- a/tests/baselines/reference/overloadResolutionTest1.types +++ b/tests/baselines/reference/overloadResolutionTest1.types @@ -3,7 +3,7 @@ === overloadResolutionTest1.ts === function foo(bar:{a:number;}[]):string; >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: number; }[] > : ^^^^^ ^^^^^ >a : number @@ -11,7 +11,7 @@ function foo(bar:{a:number;}[]):string; function foo(bar:{a:boolean;}[]):number; >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: boolean; }[] > : ^^^^^ ^^^^^ >a : boolean @@ -19,13 +19,13 @@ function foo(bar:{a:boolean;}[]):number; function foo(bar:{a:any;}[]):any{ return bar }; >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: any; }[] > : ^^^^^ ^^^^^ >a : any > : ^^^ >bar : { a: any; }[] -> : ^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ var x1 = foo([{a:true}]); // works >x1 : number @@ -33,7 +33,7 @@ var x1 = foo([{a:true}]); // works >foo([{a:true}]) : number > : ^^^^^^ >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >[{a:true}] : { a: true; }[] > : ^^^^^^^^^^^^^^ >{a:true} : { a: true; } @@ -49,7 +49,7 @@ var x11 = foo([{a:0}]); // works >foo([{a:0}]) : string > : ^^^^^^ >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >[{a:0}] : { a: number; }[] > : ^^^^^^^^^^^^^^^^ >{a:0} : { a: number; } @@ -65,7 +65,7 @@ var x111 = foo([{a:"s"}]); // error - does not match any signature >foo([{a:"s"}]) : never > : ^^^^^ >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >[{a:"s"}] : { a: string; }[] > : ^^^^^^^^^^^^^^^^ >{a:"s"} : { a: string; } @@ -81,7 +81,7 @@ var x1111 = foo([{a:null}]); // works - ambiguous call is resolved to be the fir >foo([{a:null}]) : string > : ^^^^^^ >foo : { (bar: { a: number; }[]): string; (bar: { a: boolean; }[]): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >[{a:null}] : { a: null; }[] > : ^^^^^^^^^^^^^^ >{a:null} : { a: null; } @@ -93,7 +93,7 @@ var x1111 = foo([{a:null}]); // works - ambiguous call is resolved to be the fir function foo2(bar:{a:number;}):string; >foo2 : { (bar: { a: number; }): string; (bar: { a: boolean; }): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: number; } > : ^^^^^ ^^^ >a : number @@ -101,7 +101,7 @@ function foo2(bar:{a:number;}):string; function foo2(bar:{a:boolean;}):number; >foo2 : { (bar: { a: number; }): string; (bar: { a: boolean; }): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: boolean; } > : ^^^^^ ^^^ >a : boolean @@ -109,13 +109,13 @@ function foo2(bar:{a:boolean;}):number; function foo2(bar:{a:any;}):any{ return bar }; >foo2 : { (bar: { a: number; }): string; (bar: { a: boolean; }): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: any; } > : ^^^^^ ^^^ >a : any > : ^^^ >bar : { a: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ var x2 = foo2({a:0}); // works >x2 : string @@ -123,7 +123,7 @@ var x2 = foo2({a:0}); // works >foo2({a:0}) : string > : ^^^^^^ >foo2 : { (bar: { a: number; }): string; (bar: { a: boolean; }): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >{a:0} : { a: number; } > : ^^^^^^^^^^^^^^ >a : number @@ -137,7 +137,7 @@ var x3 = foo2({a:true}); // works >foo2({a:true}) : number > : ^^^^^^ >foo2 : { (bar: { a: number; }): string; (bar: { a: boolean; }): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >{a:true} : { a: true; } > : ^^^^^^^^^^^^ >a : true @@ -151,7 +151,7 @@ var x4 = foo2({a:"s"}); // error >foo2({a:"s"}) : never > : ^^^^^ >foo2 : { (bar: { a: number; }): string; (bar: { a: boolean; }): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >{a:"s"} : { a: string; } > : ^^^^^^^^^^^^^^ >a : string @@ -162,7 +162,7 @@ var x4 = foo2({a:"s"}); // error function foo4(bar:{a:number;}):number; >foo4 : { (bar: { a: number; }): number; (bar: { a: string; }): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: number; } > : ^^^^^ ^^^ >a : number @@ -170,7 +170,7 @@ function foo4(bar:{a:number;}):number; function foo4(bar:{a:string;}):string; >foo4 : { (bar: { a: number; }): number; (bar: { a: string; }): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: string; } > : ^^^^^ ^^^ >a : string @@ -178,13 +178,13 @@ function foo4(bar:{a:string;}):string; function foo4(bar:{a:any;}):any{ return bar }; >foo4 : { (bar: { a: number; }): number; (bar: { a: string; }): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >bar : { a: any; } > : ^^^^^ ^^^ >a : any > : ^^^ >bar : { a: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ var x = foo4({a:true}); // error >x : never @@ -192,7 +192,7 @@ var x = foo4({a:true}); // error >foo4({a:true}) : never > : ^^^^^ >foo4 : { (bar: { a: number; }): number; (bar: { a: string; }): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >{a:true} : { a: boolean; } > : ^^^^^^^^^^^^^^^ >a : boolean diff --git a/tests/baselines/reference/overloadResolutionWithAny.types b/tests/baselines/reference/overloadResolutionWithAny.types index 5bea6cc56bcbe..66e5881c7a44c 100644 --- a/tests/baselines/reference/overloadResolutionWithAny.types +++ b/tests/baselines/reference/overloadResolutionWithAny.types @@ -18,7 +18,7 @@ func(""); // number >func("") : number > : ^^^^^^ >func : { (s: string): number; (s: any): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >"" : "" > : ^^ @@ -26,7 +26,7 @@ func(3); // string >func(3) : string > : ^^^^^^ >func : { (s: string): number; (s: any): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >3 : 3 > : ^ @@ -37,7 +37,7 @@ func(x); // string >func(x) : string > : ^^^^^^ >func : { (s: string): number; (s: any): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any var func2: { @@ -69,7 +69,7 @@ func2(x, x); // string >func2(x, x) : string > : ^^^^^^ >func2 : { (s: string, t: string): number; (s: any, t: string): boolean; (s: string, t: any): RegExp; (s: any, t: any): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >x : any >x : any @@ -77,7 +77,7 @@ func2("", ""); // number >func2("", "") : number > : ^^^^^^ >func2 : { (s: string, t: string): number; (s: any, t: string): boolean; (s: string, t: any): RegExp; (s: any, t: any): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >"" : "" > : ^^ >"" : "" @@ -87,7 +87,7 @@ func2(x, ""); // boolean >func2(x, "") : boolean > : ^^^^^^^ >func2 : { (s: string, t: string): number; (s: any, t: string): boolean; (s: string, t: any): RegExp; (s: any, t: any): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >x : any >"" : "" > : ^^ @@ -96,7 +96,7 @@ func2("", x); // RegExp >func2("", x) : RegExp > : ^^^^^^ >func2 : { (s: string, t: string): number; (s: any, t: string): boolean; (s: string, t: any): RegExp; (s: any, t: any): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >"" : "" > : ^^ >x : any diff --git a/tests/baselines/reference/overloadRet.types b/tests/baselines/reference/overloadRet.types index c4a0750d9d1bb..8a807d2971dfa 100644 --- a/tests/baselines/reference/overloadRet.types +++ b/tests/baselines/reference/overloadRet.types @@ -4,25 +4,25 @@ interface I { f(s:string):number; >f : { (s: string): number; (n: number): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ f(n:number):string; >f : { (s: string): number; (n: number): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ g(n:number):any; >g : { (n: number): any; (n: number, m: number): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ g(n:number,m:number):string; >g : { (n: number): any; (n: number, m: number): string; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ >m : number @@ -30,25 +30,25 @@ interface I { h(n:number):I; >h : { (n: number): I; (b: boolean): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ h(b:boolean):number; >h : { (n: number): I; (b: boolean): number; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : boolean > : ^^^^^^^ i(b:boolean):number; >i : { (b: boolean): number; (b: boolean): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : boolean > : ^^^^^^^ i(b:boolean):any; >i : { (b: boolean): number; (b: boolean): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : boolean > : ^^^^^^^ } diff --git a/tests/baselines/reference/overloadReturnTypes.types b/tests/baselines/reference/overloadReturnTypes.types index c4c14a98a25b7..589609d4a6895 100644 --- a/tests/baselines/reference/overloadReturnTypes.types +++ b/tests/baselines/reference/overloadReturnTypes.types @@ -7,13 +7,13 @@ class Accessor {} function attr(name: string): string; >attr : { (name: string): string; (name: string, value: string): Accessor; (map: any): Accessor; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >name : string > : ^^^^^^ function attr(name: string, value: string): Accessor; >attr : { (name: string): string; (name: string, value: string): Accessor; (map: any): Accessor; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >name : string > : ^^^^^^ >value : string @@ -21,12 +21,12 @@ function attr(name: string, value: string): Accessor; function attr(map: any): Accessor; >attr : { (name: string): string; (name: string, value: string): Accessor; (map: any): Accessor; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >map : any function attr(nameOrMap: any, value?: string): any { >attr : { (name: string): string; (name: string, value: string): Accessor; (map: any): Accessor; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >nameOrMap : any >value : string > : ^^^^^^ @@ -62,13 +62,13 @@ function attr(nameOrMap: any, value?: string): any { interface IFace { attr(name:string):string; >attr : { (name: string): string; (name: string, value: string): Accessor; (map: any): Accessor; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >name : string > : ^^^^^^ attr(name: string, value: string): Accessor; >attr : { (name: string): string; (name: string, value: string): Accessor; (map: any): Accessor; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >name : string > : ^^^^^^ >value : string @@ -76,7 +76,7 @@ interface IFace { attr(map: any): Accessor; >attr : { (name: string): string; (name: string, value: string): Accessor; (map: any): Accessor; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >map : any } diff --git a/tests/baselines/reference/overloadTag1.types b/tests/baselines/reference/overloadTag1.types index 6e1fa7d864fb9..c31f5dc42a7d9 100644 --- a/tests/baselines/reference/overloadTag1.types +++ b/tests/baselines/reference/overloadTag1.types @@ -94,7 +94,7 @@ var o1 = overloaded(1,2) >overloaded(1,2) : number > : ^^^^^^ >overloaded : { (a: number, b: number): number; (a: string, b: boolean): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ >2 : 2 @@ -106,7 +106,7 @@ var o2 = overloaded("zero", "one") >overloaded("zero", "one") : never > : ^^^^^ >overloaded : { (a: number, b: number): number; (a: string, b: boolean): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >"zero" : "zero" > : ^^^^^^ >"one" : "one" @@ -118,7 +118,7 @@ var o3 = overloaded("a",false) >overloaded("a",false) : string > : ^^^^^^ >overloaded : { (a: number, b: number): number; (a: string, b: boolean): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >"a" : "a" > : ^^^ >false : false @@ -155,7 +155,7 @@ uncheckedInternally(1,2) >uncheckedInternally(1,2) : number > : ^^^^^^ >uncheckedInternally : { (a: number, b: number): number; (a: string, b: boolean): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ >2 : 2 @@ -165,7 +165,7 @@ uncheckedInternally("zero", "one") >uncheckedInternally("zero", "one") : never > : ^^^^^ >uncheckedInternally : { (a: number, b: number): number; (a: string, b: boolean): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >"zero" : "zero" > : ^^^^^^ >"one" : "one" diff --git a/tests/baselines/reference/overloadedConstructorFixesInferencesAppropriately.types b/tests/baselines/reference/overloadedConstructorFixesInferencesAppropriately.types index cc37dabd59f84..244bb76f0d115 100644 --- a/tests/baselines/reference/overloadedConstructorFixesInferencesAppropriately.types +++ b/tests/baselines/reference/overloadedConstructorFixesInferencesAppropriately.types @@ -59,30 +59,30 @@ function load(): Box<{ success: true } | ErrorResult> { new AsyncLoader({ >new AsyncLoader({ asyncLoad: load, children: result => result.success as any,}) : AsyncLoader -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >AsyncLoader : typeof AsyncLoader > : ^^^^^^^^^^^^^^^^^^ ->{ asyncLoad: load, children: result => result.success as any,} : { asyncLoad: () => Box; children: (result: { success: true; }) => any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +>{ asyncLoad: load, children: result => result.success as any,} : { asyncLoad: () => Box<{ success: true; } | ErrorResult>; children: (result: { success: true; }) => any; } +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ asyncLoad: load, ->asyncLoad : () => Box -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->load : () => Box -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>asyncLoad : () => Box<{ success: true; } | ErrorResult> +> : ^^^^^^ +>load : () => Box<{ success: true; } | ErrorResult> +> : ^^^^^^ children: result => result.success as any, >children : (result: { success: true; }) => any -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ ^^^^^^^^ >result => result.success as any : (result: { success: true; }) => any -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ ^^^^^^^^ >result : { success: true; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^ >result.success as any : any >result.success : true > : ^^^^ >result : { success: true; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^ >success : true > : ^^^^ diff --git a/tests/baselines/reference/overloadedStaticMethodSpecialization.types b/tests/baselines/reference/overloadedStaticMethodSpecialization.types index 2cca122ca30dc..b15c918aa034a 100644 --- a/tests/baselines/reference/overloadedStaticMethodSpecialization.types +++ b/tests/baselines/reference/overloadedStaticMethodSpecialization.types @@ -7,19 +7,19 @@ class A { static B(v: A): A; >B : { (v: A): A; (v: S_1): A; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >v : A > : ^^^^ static B(v: S): A; >B : { (v: A): A; (v: S): A; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >v : S > : ^ static B(v: any): A { ->B : { (v: A): A; (v: S_2): A; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +>B : { (v: A): A; (v: S_1): A; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >v : any return null; diff --git a/tests/baselines/reference/overloadingOnConstants1.types b/tests/baselines/reference/overloadingOnConstants1.types index 985b2de05188f..d5eaa38fcc370 100644 --- a/tests/baselines/reference/overloadingOnConstants1.types +++ b/tests/baselines/reference/overloadingOnConstants1.types @@ -34,25 +34,25 @@ class Derived3 extends Base { biz() { } } interface Document2 { createElement(tagName: 'canvas'): Derived1; >createElement : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >tagName : "canvas" > : ^^^^^^^^ createElement(tagName: 'div'): Derived2; >createElement : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >tagName : "div" > : ^^^^^ createElement(tagName: 'span'): Derived3; >createElement : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >tagName : "span" > : ^^^^^^ createElement(tagName: string): Base; >createElement : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >tagName : string > : ^^^^^^ } @@ -68,11 +68,11 @@ var htmlElement: Base = d2.createElement("yo") >d2.createElement("yo") : Base > : ^^^^ >d2.createElement : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >d2 : Document2 > : ^^^^^^^^^ >createElement : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >"yo" : "yo" > : ^^^^ @@ -82,11 +82,11 @@ var htmlCanvasElement: Derived1 = d2.createElement("canvas"); >d2.createElement("canvas") : Derived1 > : ^^^^^^^^ >d2.createElement : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >d2 : Document2 > : ^^^^^^^^^ >createElement : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >"canvas" : "canvas" > : ^^^^^^^^ @@ -96,11 +96,11 @@ var htmlDivElement: Derived2 = d2.createElement("div"); >d2.createElement("div") : Derived2 > : ^^^^^^^^ >d2.createElement : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >d2 : Document2 > : ^^^^^^^^^ >createElement : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >"div" : "div" > : ^^^^^ @@ -110,11 +110,11 @@ var htmlSpanElement: Derived3 = d2.createElement("span"); >d2.createElement("span") : Derived3 > : ^^^^^^^^ >d2.createElement : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >d2 : Document2 > : ^^^^^^^^^ >createElement : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >"span" : "span" > : ^^^^^^ @@ -125,11 +125,11 @@ var htmlElement2: Derived1 = d2.createElement("yo") >d2.createElement("yo") : Base > : ^^^^ >d2.createElement : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >d2 : Document2 > : ^^^^^^^^^ >createElement : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >"yo" : "yo" > : ^^^^ @@ -139,11 +139,11 @@ var htmlCanvasElement2: Derived3 = d2.createElement("canvas"); >d2.createElement("canvas") : Derived1 > : ^^^^^^^^ >d2.createElement : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >d2 : Document2 > : ^^^^^^^^^ >createElement : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >"canvas" : "canvas" > : ^^^^^^^^ @@ -153,11 +153,11 @@ var htmlDivElement2: Derived1 = d2.createElement("div"); >d2.createElement("div") : Derived2 > : ^^^^^^^^ >d2.createElement : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >d2 : Document2 > : ^^^^^^^^^ >createElement : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >"div" : "div" > : ^^^^^ @@ -167,11 +167,11 @@ var htmlSpanElement2: Derived1 = d2.createElement("span"); >d2.createElement("span") : Derived3 > : ^^^^^^^^ >d2.createElement : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >d2 : Document2 > : ^^^^^^^^^ >createElement : { (tagName: "canvas"): Derived1; (tagName: "div"): Derived2; (tagName: "span"): Derived3; (tagName: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >"span" : "span" > : ^^^^^^ diff --git a/tests/baselines/reference/overloadingOnConstants2.types b/tests/baselines/reference/overloadingOnConstants2.types index 7f3ab5eef9edf..bcb5e6eb3aae7 100644 --- a/tests/baselines/reference/overloadingOnConstants2.types +++ b/tests/baselines/reference/overloadingOnConstants2.types @@ -29,7 +29,7 @@ class E { } function foo(x: "hi", items: string[]): D; >foo : { (x: "hi", items: string[]): D; (x: "bye", items: string[]): E; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >x : "hi" > : ^^^^ >items : string[] @@ -37,7 +37,7 @@ function foo(x: "hi", items: string[]): D; function foo(x: "bye", items: string[]): E; >foo : { (x: "hi", items: string[]): D; (x: "bye", items: string[]): E; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >x : "bye" > : ^^^^^ >items : string[] @@ -45,7 +45,7 @@ function foo(x: "bye", items: string[]): E; function foo(x: string, items: string[]): C { >foo : { (x: "hi", items: string[]): D; (x: "bye", items: string[]): E; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ >items : string[] @@ -59,7 +59,7 @@ var a: D = foo("hi", []); // D >foo("hi", []) : D > : ^ >foo : { (x: "hi", items: string[]): D; (x: "bye", items: string[]): E; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >"hi" : "hi" > : ^^^^ >[] : undefined[] @@ -71,7 +71,7 @@ var b: E = foo("bye", []); // E >foo("bye", []) : E > : ^ >foo : { (x: "hi", items: string[]): D; (x: "bye", items: string[]): E; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >"bye" : "bye" > : ^^^^^ >[] : undefined[] @@ -83,7 +83,7 @@ var c = foo("um", []); // error >foo("um", []) : D & E > : ^^^^^ >foo : { (x: "hi", items: string[]): D; (x: "bye", items: string[]): E; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >"um" : "um" > : ^^^^ >[] : undefined[] @@ -93,7 +93,7 @@ var c = foo("um", []); // error //function bar(x: "hi", items: string[]): D; function bar(x: "bye", items: string[]): E; >bar : { (x: "bye", items: string[]): E; (x: string, items: string[]): C; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >x : "bye" > : ^^^^^ >items : string[] @@ -101,7 +101,7 @@ function bar(x: "bye", items: string[]): E; function bar(x: string, items: string[]): C; >bar : { (x: "bye", items: string[]): E; (x: string, items: string[]): C; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ >items : string[] @@ -109,7 +109,7 @@ function bar(x: string, items: string[]): C; function bar(x: string, items: string[]): C { >bar : { (x: "bye", items: string[]): E; (x: string, items: string[]): C; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ >items : string[] @@ -124,7 +124,7 @@ var d: D = bar("hi", []); // D >bar("hi", []) : C > : ^ >bar : { (x: "bye", items: string[]): E; (x: string, items: string[]): C; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >"hi" : "hi" > : ^^^^ >[] : undefined[] @@ -136,7 +136,7 @@ var e: E = bar("bye", []); // E >bar("bye", []) : E > : ^ >bar : { (x: "bye", items: string[]): E; (x: string, items: string[]): C; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >"bye" : "bye" > : ^^^^^ >[] : undefined[] @@ -148,7 +148,7 @@ var f: C = bar("um", []); // C >bar("um", []) : C > : ^ >bar : { (x: "bye", items: string[]): E; (x: string, items: string[]): C; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >"um" : "um" > : ^^^^ >[] : undefined[] diff --git a/tests/baselines/reference/overloadresolutionWithConstraintCheckingDeferred.types b/tests/baselines/reference/overloadresolutionWithConstraintCheckingDeferred.types index 4fde2d05a3e30..335f52b8f58e4 100644 --- a/tests/baselines/reference/overloadresolutionWithConstraintCheckingDeferred.types +++ b/tests/baselines/reference/overloadresolutionWithConstraintCheckingDeferred.types @@ -30,7 +30,7 @@ class G { declare function foo(arg: (x: D) => number): string; >foo : { (arg: (x: D) => number): string; (arg: (x: C) => any): string; (arg: (x: B) => any): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >arg : (x: D) => number > : ^ ^^ ^^^^^ >x : D @@ -38,7 +38,7 @@ declare function foo(arg: (x: D) => number): string; declare function foo(arg: (x: C) => any): string; >foo : { (arg: (x: D) => number): string; (arg: (x: C) => any): string; (arg: (x: B) => any): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >arg : (x: C) => any > : ^ ^^ ^^^^^ >x : C @@ -46,7 +46,7 @@ declare function foo(arg: (x: C) => any): string; declare function foo(arg: (x: B) => any): number; >foo : { (arg: (x: D) => number): string; (arg: (x: C) => any): string; (arg: (x: B) => any): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >arg : (x: B) => any > : ^ ^^ ^^^^^ >x : B @@ -58,7 +58,7 @@ var result: number = foo(x => new G(x)); // x has type D, new G(x) fails, so fir >foo(x => new G(x)) : never > : ^^^^^ >foo : { (arg: (x: D) => number): string; (arg: (x: C) => any): string; (arg: (x: B) => any): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x => new G(x) : (x: D) => G > : ^ ^^^^^^^^^^^^ >x : D @@ -76,7 +76,7 @@ var result2: number = foo(x => new G(x)); // x has type D, new G(x) fa >foo(x => new G(x)) : never > : ^^^^^ >foo : { (arg: (x: D) => number): string; (arg: (x: C) => any): string; (arg: (x: B) => any): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x => new G(x) : (x: D) => G > : ^ ^^^^^^^^^^^^ >x : D @@ -96,7 +96,7 @@ var result3: string = foo(x => { // x has type D >foo(x => { // x has type D var y: G; // error that D does not satisfy constraint, y is of type G, entire call to foo is an error return y;}) : never > : ^^^^^ >foo : { (arg: (x: D) => number): string; (arg: (x: C) => any): string; (arg: (x: B) => any): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x => { // x has type D var y: G; // error that D does not satisfy constraint, y is of type G, entire call to foo is an error return y;} : (x: D) => G > : ^ ^^^^^^^^^^^^ >x : D diff --git a/tests/baselines/reference/overloadsAndTypeArgumentArity.types b/tests/baselines/reference/overloadsAndTypeArgumentArity.types index b676197de67de..8b2c8402aa69d 100644 --- a/tests/baselines/reference/overloadsAndTypeArgumentArity.types +++ b/tests/baselines/reference/overloadsAndTypeArgumentArity.types @@ -2,41 +2,41 @@ === overloadsAndTypeArgumentArity.ts === declare function Callbacks(flags?: string): void; ->Callbacks : { (flags?: string): void; (flags?: string): void; (flags?: string): void; (flags?: string): void; } -> : ^^^ ^^^ ^^^ ^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ +>Callbacks : { (flags?: string): void; (flags?: string): void; (flags?: string): void; (flags?: string): void; } +> : ^^^ ^^^ ^^^ ^^^^^^ ^^^ ^^^ ^^^^^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^ >flags : string > : ^^^^^^ declare function Callbacks(flags?: string): void; ->Callbacks : { (flags?: string): void; (flags?: string): void; (flags?: string): void; (flags?: string): void; } -> : ^^^ ^^^ ^^^^^^^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ +>Callbacks : { (flags?: string): void; (flags?: string): void; (flags?: string): void; (flags?: string): void; } +> : ^^^ ^^^ ^^^ ^^^^^^ ^^^ ^^^ ^^^^^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^ >flags : string > : ^^^^^^ declare function Callbacks(flags?: string): void; >Callbacks : { (flags?: string): void; (flags?: string): void; (flags?: string): void; (flags?: string): void; } -> : ^^^ ^^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^^^^ ^^^ ^^^ ^^^^^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^ >flags : string > : ^^^^^^ declare function Callbacks(flags?: string): void; >Callbacks : { (flags?: string): void; (flags?: string): void; (flags?: string): void; (flags?: string): void; } -> : ^^^ ^^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^ +> : ^^^ ^^^ ^^^ ^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^ >flags : string > : ^^^^^^ Callbacks('s'); // no error >Callbacks('s') : void > : ^^^^ ->Callbacks : { (flags?: string): void; (flags?: string): void; (flags?: string): void; (flags?: string): void; } -> : ^^^ ^^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ +>Callbacks : { (flags?: string): void; (flags?: string): void; (flags?: string): void; (flags?: string): void; } +> : ^^^ ^^^ ^^^ ^^^^^^ ^^^ ^^^ ^^^^^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^ >'s' : "s" > : ^^^ new Callbacks('s'); // no error >new Callbacks('s') : any ->Callbacks : { (flags?: string): void; (flags?: string): void; (flags?: string): void; (flags?: string): void; } -> : ^^^ ^^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ +>Callbacks : { (flags?: string): void; (flags?: string): void; (flags?: string): void; (flags?: string): void; } +> : ^^^ ^^^ ^^^ ^^^^^^ ^^^ ^^^ ^^^^^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^ >'s' : "s" > : ^^^ diff --git a/tests/baselines/reference/overloadsAndTypeArgumentArityErrors.types b/tests/baselines/reference/overloadsAndTypeArgumentArityErrors.types index e8e73974b393e..3993ee93aff0a 100644 --- a/tests/baselines/reference/overloadsAndTypeArgumentArityErrors.types +++ b/tests/baselines/reference/overloadsAndTypeArgumentArityErrors.types @@ -3,19 +3,19 @@ === overloadsAndTypeArgumentArityErrors.ts === declare function Callbacks(flags?: string): void; >Callbacks : { (flags?: string): void; (flags?: string): void; (flags?: string): void; } -> : ^^^ ^^^ ^^^ ^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^^^^ ^^^ ^^^ ^^^^^^^^^^^ ^^^ ^^^ ^^^ >flags : string > : ^^^^^^ declare function Callbacks(flags?: string): void; >Callbacks : { (flags?: string): void; (flags?: string): void; (flags?: string): void; } -> : ^^^ ^^^ ^^^^^^^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^^^^ ^^^ ^^^ ^^^^^^^^^^^ ^^^ ^^^ ^^^ >flags : string > : ^^^^^^ declare function Callbacks(flags?: string): void; >Callbacks : { (flags?: string): void; (flags?: string): void; (flags?: string): void; } -> : ^^^ ^^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^ +> : ^^^ ^^^ ^^^ ^^^^^^ ^^^ ^^^ ^^^^^^^^^^^ ^^^ ^^^ ^^^ >flags : string > : ^^^^^^ @@ -23,7 +23,7 @@ Callbacks('s'); // wrong number of type arguments >Callbacks('s') : void > : ^^^^ >Callbacks : { (flags?: string): void; (flags?: string): void; (flags?: string): void; } -> : ^^^ ^^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^^^^ ^^^ ^^^ ^^^^^^^^^^^ ^^^ ^^^ ^^^ >'s' : "s" > : ^^^ @@ -31,7 +31,7 @@ new Callbacks('s'); // wrong number of type arguments >new Callbacks('s') : any > : ^^^ >Callbacks : { (flags?: string): void; (flags?: string): void; (flags?: string): void; } -> : ^^^ ^^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^^^^ ^^^ ^^^ ^^^^^^^^^^^ ^^^ ^^^ ^^^ >'s' : "s" > : ^^^ @@ -45,5 +45,5 @@ f(); // wrong number of arguments (#25683) >f() : void > : ^^^^ >f : (arg: number) => void -> : ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/overloadsWithComputedNames.types b/tests/baselines/reference/overloadsWithComputedNames.types index 7b6aace509aca..b85d49a729052 100644 --- a/tests/baselines/reference/overloadsWithComputedNames.types +++ b/tests/baselines/reference/overloadsWithComputedNames.types @@ -38,12 +38,12 @@ let p = new Person(); p.A(0) >p.A(0) : string | number > : ^^^^^^^^^^^^^^^ ->p.A : (a: string | number) => string | number -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +>p.A : (a: string | number) => number | string +> : ^ ^^ ^^^^^ >p : Person > : ^^^^^^ ->A : (a: string | number) => string | number -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +>A : (a: string | number) => number | string +> : ^ ^^ ^^^^^ >0 : 0 > : ^ @@ -51,11 +51,11 @@ p.B(0) >p.B(0) : string > : ^^^^^^ >p.B : (a: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >p : Person > : ^^^^^^ >B : (a: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ @@ -78,7 +78,7 @@ class C { ["foo"]() { >["foo"] : { (): void; (): number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^ >"foo" : "foo" > : ^^^^^ @@ -128,7 +128,7 @@ class C1 { [uniqueSym]() { } >[uniqueSym] : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >uniqueSym : unique symbol > : ^^^^^^^^^^^^^ } @@ -148,13 +148,13 @@ interface I1 { [uniqueSym](): void; >[uniqueSym] : { (): void; (): void; } -> : ^^^^^^ ^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >uniqueSym : unique symbol > : ^^^^^^^^^^^^^ [uniqueSym](): void; >[uniqueSym] : { (): void; (): void; } -> : ^^^^^^^^^^^^^^^^ ^^^ +> : ^^^^^^ ^^^^^^ ^^^ >uniqueSym : unique symbol > : ^^^^^^^^^^^^^ } @@ -211,7 +211,7 @@ class C3 { [2]() { } >[2] : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >2 : 2 > : ^ } @@ -225,13 +225,13 @@ interface I3 { [2](): void; >[2] : { (): void; (): void; } -> : ^^^^^^ ^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >2 : 2 > : ^ [2](): void; >[2] : { (): void; (): void; } -> : ^^^^^^^^^^^^^^^^ ^^^ +> : ^^^^^^ ^^^^^^ ^^^ >2 : 2 > : ^ } diff --git a/tests/baselines/reference/overloadsWithConstraints.types b/tests/baselines/reference/overloadsWithConstraints.types index 92a441c165605..68d8ddf15e6e5 100644 --- a/tests/baselines/reference/overloadsWithConstraints.types +++ b/tests/baselines/reference/overloadsWithConstraints.types @@ -3,13 +3,13 @@ === overloadsWithConstraints.ts === declare function f(x: T): T; >f : { (x: T): T; (x: T_1): T_1; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ declare function f(x: T): T >f : { (x: T_1): T_1; (x: T): T; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ @@ -18,8 +18,8 @@ var v = f(""); > : ^^^^^^ >f("") : string > : ^^^^^^ ->f : { (x: T): T; (x: T_1): T_1; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>f : { (x: T): T; (x: T): T; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >"" : "" > : ^^ diff --git a/tests/baselines/reference/overloadsWithProvisionalErrors.types b/tests/baselines/reference/overloadsWithProvisionalErrors.types index 1a0ad10b5ca7b..669e5c332e166 100644 --- a/tests/baselines/reference/overloadsWithProvisionalErrors.types +++ b/tests/baselines/reference/overloadsWithProvisionalErrors.types @@ -25,7 +25,7 @@ func(s => ({})); // Error for no applicable overload (object type is missing a a >func(s => ({})) : never > : ^^^^^ >func : { (s: string): number; (lambda: (s: string) => { a: number; b: number; }): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s => ({}) : (s: string) => {} > : ^ ^^^^^^^^^^^^^^^ >s : string @@ -39,7 +39,7 @@ func(s => ({ a: blah, b: 3 })); // Only error inside the function, but not outsi >func(s => ({ a: blah, b: 3 })) : string > : ^^^^^^ >func : { (s: string): number; (lambda: (s: string) => { a: number; b: number; }): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s => ({ a: blah, b: 3 }) : (s: string) => { a: any; b: number; } > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >s : string @@ -61,7 +61,7 @@ func(s => ({ a: blah })); // Two errors here, one for blah not being defined, an >func(s => ({ a: blah })) : never > : ^^^^^ >func : { (s: string): number; (lambda: (s: string) => { a: number; b: number; }): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s => ({ a: blah }) : (s: string) => { a: any; } > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ >s : string diff --git a/tests/baselines/reference/overloadsWithinClasses.types b/tests/baselines/reference/overloadsWithinClasses.types index 9d89dc5d450ba..1d6f820f2c04d 100644 --- a/tests/baselines/reference/overloadsWithinClasses.types +++ b/tests/baselines/reference/overloadsWithinClasses.types @@ -39,13 +39,13 @@ class X { public attr(name:string):string; >attr : { (name: string): string; (name: string, value: string): X; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >name : string > : ^^^^^^ public attr(name:string, value:string):X; >attr : { (name: string): string; (name: string, value: string): X; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >name : string > : ^^^^^^ >value : string @@ -53,7 +53,7 @@ class X { public attr(first:any, second?:any):any { >attr : { (name: string): string; (name: string, value: string): X; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >first : any > : ^^^ >second : any diff --git a/tests/baselines/reference/override19.types b/tests/baselines/reference/override19.types index 59caba9cabd6c..dbbb22363b513 100644 --- a/tests/baselines/reference/override19.types +++ b/tests/baselines/reference/override19.types @@ -9,7 +9,7 @@ type Foo = abstract new(...args: any) => any; declare function CreateMixin(Context: C, Base: T): T & { >CreateMixin : (Context: C, Base: T) => T & { new (...args: any[]): { context: InstanceType; }; } -> : ^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >Context : C > : ^ >Base : T @@ -39,8 +39,8 @@ class B extends CreateMixin(Context, A) { > : ^ >CreateMixin(Context, A) : A & { context: Context; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->CreateMixin : (Context: C, Base: T) => T & (new (...args: any[]) => { context: InstanceType; }) -> : ^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>CreateMixin : (Context: C, Base: T) => T & { new (...args: any[]): { context: InstanceType; }; } +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >Context : typeof Context > : ^^^^^^^^^^^^^^ >A : typeof A @@ -56,8 +56,8 @@ class C extends CreateMixin(Context, A) { > : ^ >CreateMixin(Context, A) : A & { context: Context; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->CreateMixin : (Context: C, Base: T) => T & (new (...args: any[]) => { context: InstanceType; }) -> : ^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>CreateMixin : (Context: C, Base: T) => T & { new (...args: any[]): { context: InstanceType; }; } +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >Context : typeof Context > : ^^^^^^^^^^^^^^ >A : typeof A diff --git a/tests/baselines/reference/override20.types b/tests/baselines/reference/override20.types index 5c083486e6c93..4fef3822f9c65 100644 --- a/tests/baselines/reference/override20.types +++ b/tests/baselines/reference/override20.types @@ -60,11 +60,11 @@ export class Bar extends Foo { >super.m1() : void > : ^^^^ >super.m1 : (() => void) & (() => void) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^ ^ >super : I1 & I2 > : ^^^^^^^ >m1 : (() => void) & (() => void) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^ ^ } m2() { >m2 : () => void @@ -74,11 +74,11 @@ export class Bar extends Foo { >super.m2() : void > : ^^^^ >super.m2 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >super : I1 & I2 > : ^^^^^^^ >m2 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } } diff --git a/tests/baselines/reference/overrideBaseIntersectionMethod.types b/tests/baselines/reference/overrideBaseIntersectionMethod.types index 7c69c43f76efc..672cc21411efb 100644 --- a/tests/baselines/reference/overrideBaseIntersectionMethod.types +++ b/tests/baselines/reference/overrideBaseIntersectionMethod.types @@ -11,9 +11,9 @@ type Constructor = new (...args: any[]) => T; const WithLocation = >(Base: T) => class extends Base { >WithLocation : >(Base: T) => { new (...args: any[]): (Anonymous class); prototype: WithLocation.(Anonymous class); } & T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>(Base: T) => class extends Base { getLocation(): [number, number] { const [x,y] = super.getLocation(); return [this.x | x, this.y | y]; }} : >(Base: T) => { new (...args: any[]): (Anonymous class); prototype: WithLocation.(Anonymous class); } & T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Base : T > : ^ >class extends Base { getLocation(): [number, number] { const [x,y] = super.getLocation(); return [this.x | x, this.y | y]; }} : { new (...args: any[]): (Anonymous class); prototype: WithLocation.(Anonymous class); } & T @@ -33,11 +33,11 @@ const WithLocation = >(Base: T) => class extends Ba >super.getLocation() : [number, number] > : ^^^^^^^^^^^^^^^^ >super.getLocation : () => [number, number] -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >super : Point > : ^^^^^ >getLocation : () => [number, number] -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ return [this.x | x, this.y | y]; >[this.x | x, this.y | y] : [number, number] @@ -95,7 +95,7 @@ class Foo extends WithLocation(Point) { >WithLocation(Point) : WithLocation.(Anonymous class) & Point > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >WithLocation : >(Base: T) => { new (...args: any[]): (Anonymous class); prototype: WithLocation.(Anonymous class); } & T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Point : typeof Point > : ^^^^^^^^^^^^ @@ -127,11 +127,11 @@ class Foo extends WithLocation(Point) { >super.getLocation() : [number, number] > : ^^^^^^^^^^^^^^^^ >super.getLocation : (() => [number, number]) & (() => [number, number]) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^ ^ >super : WithLocation.(Anonymous class) & Point > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >getLocation : (() => [number, number]) & (() => [number, number]) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^ ^ } whereAmI() { >whereAmI : () => [number, number] diff --git a/tests/baselines/reference/paramTagOnCallExpression.types b/tests/baselines/reference/paramTagOnCallExpression.types index a1461dc4d4233..9910b0b054571 100644 --- a/tests/baselines/reference/paramTagOnCallExpression.types +++ b/tests/baselines/reference/paramTagOnCallExpression.types @@ -22,7 +22,7 @@ exports.inherits = factory('inherits') >factory('inherits') : {} > : ^^ >factory : (type: string) => {} -> : ^ ^^ ^^^^^^^ +> : ^ ^^ ^^^^^ >'inherits' : "inherits" > : ^^^^^^^^^^ diff --git a/tests/baselines/reference/paramTagTypeResolution.types b/tests/baselines/reference/paramTagTypeResolution.types index 459ccaf23d0d9..51591c439a707 100644 --- a/tests/baselines/reference/paramTagTypeResolution.types +++ b/tests/baselines/reference/paramTagTypeResolution.types @@ -41,11 +41,11 @@ module.exports = function (x, k) { return k(x) } >x : T > : ^ >k : (t: T) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >k(x) : void > : ^^^^ >k : (t: T) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : T > : ^ diff --git a/tests/baselines/reference/paramTagTypeResolution2.types b/tests/baselines/reference/paramTagTypeResolution2.types index 59051e5817bbd..230fdd153eecb 100644 --- a/tests/baselines/reference/paramTagTypeResolution2.types +++ b/tests/baselines/reference/paramTagTypeResolution2.types @@ -12,7 +12,7 @@ function f(a, b) { >a : T > : ^ >b : { [K in keyof T]: (value: T[K]) => void; } -> : ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ } f({ x: 42 }, { x(param) { param.toFixed() } }); @@ -35,9 +35,9 @@ f({ x: 42 }, { x(param) { param.toFixed() } }); >param.toFixed() : string > : ^^^^^^ >param.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >param : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/parameterInitializerBeforeDestructuringEmit.types b/tests/baselines/reference/parameterInitializerBeforeDestructuringEmit.types index 1df1d8b736056..f464bbb935189 100644 --- a/tests/baselines/reference/parameterInitializerBeforeDestructuringEmit.types +++ b/tests/baselines/reference/parameterInitializerBeforeDestructuringEmit.types @@ -17,7 +17,7 @@ function foobar({ bar = {}, ...opts }: Foo = {}) { >{} : {} > : ^^ >opts : { baz?: any; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >{} : {} > : ^^ @@ -33,7 +33,7 @@ function foobar({ bar = {}, ...opts }: Foo = {}) { >opts.baz(bar) : any >opts.baz : any >opts : { baz?: any; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >baz : any > : ^^^ >bar : any @@ -49,7 +49,7 @@ class C { >{} : {} > : ^^ >opts : { baz?: any; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >{} : {} > : ^^ @@ -65,7 +65,7 @@ class C { >opts.baz(bar) : any >opts.baz : any >opts : { baz?: any; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >baz : any > : ^^^ >bar : any diff --git a/tests/baselines/reference/parameterNamesInTypeParameterList.types b/tests/baselines/reference/parameterNamesInTypeParameterList.types index 73aa5fc715d64..5de734a7b1eac 100644 --- a/tests/baselines/reference/parameterNamesInTypeParameterList.types +++ b/tests/baselines/reference/parameterNamesInTypeParameterList.types @@ -2,8 +2,8 @@ === parameterNamesInTypeParameterList.ts === function f0(a: T) { ->f0 : (a: T) => void -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>f0 : (a: T) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >a : any > : ^^^ >a : T @@ -19,8 +19,8 @@ function f0(a: T) { } function f1({a}: {a:T}) { ->f1 : ({ a }: { a: T; }) => void -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>f1 : ({ a }: { a: T; }) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >a : any > : ^^^ >a : T @@ -38,8 +38,8 @@ function f1({a}: {a:T}) { } function f2([a]: T[]) { ->f2 : ([a]: T[]) => void -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>f2 : ([a]: T[]) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >a : any > : ^^^ >a : T @@ -59,8 +59,8 @@ class A { > : ^ m0(a: T) { ->m0 : (a: T) => void -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>m0 : (a: T) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >a : any > : ^^^ >a : T @@ -75,8 +75,8 @@ class A { > : ^^^ } m1({a}: {a:T}) { ->m1 : ({ a }: { a: T; }) => void -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>m1 : ({ a }: { a: T; }) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >a : any > : ^^^ >a : T @@ -93,8 +93,8 @@ class A { > : ^^^ } m2([a]: T[]) { ->m2 : ([a]: T[]) => void -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>m2 : ([a]: T[]) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >a : any > : ^^^ >a : T diff --git a/tests/baselines/reference/parameterPropertyInConstructorWithPrologues.types b/tests/baselines/reference/parameterPropertyInConstructorWithPrologues.types index baa600a30e4d3..74ff87a4c0cb9 100644 --- a/tests/baselines/reference/parameterPropertyInConstructorWithPrologues.types +++ b/tests/baselines/reference/parameterPropertyInConstructorWithPrologues.types @@ -79,11 +79,11 @@ class Foo4 { >console.log("hi") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"hi" : "hi" > : ^^^^ } @@ -111,11 +111,11 @@ class Foo5 { >console.log("hi") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"hi" : "hi" > : ^^^^ } @@ -145,11 +145,11 @@ class Foo6 { >console.log("hi") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"hi" : "hi" > : ^^^^ } @@ -181,11 +181,11 @@ class Foo7 extends C { >console.log("hi") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"hi" : "hi" > : ^^^^ } @@ -227,11 +227,11 @@ class Foo8 extends C { >console.log("hi") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"hi" : "hi" > : ^^^^ } @@ -276,11 +276,11 @@ class Foo9 extends C { >console.log("hi") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"hi" : "hi" > : ^^^^ } diff --git a/tests/baselines/reference/parameterReferenceInInitializer1.types b/tests/baselines/reference/parameterReferenceInInitializer1.types index d286a4b0bf260..92d4b1f984e60 100644 --- a/tests/baselines/reference/parameterReferenceInInitializer1.types +++ b/tests/baselines/reference/parameterReferenceInInitializer1.types @@ -36,7 +36,7 @@ class C { >fn(y, (y, x) => y.x = x) : unknown > : ^^^^^^^ >fn : (y: Y, set: (y: Y, x: number) => void) => a -> : ^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >y : Y > : ^ >(y, x) => y.x = x : (y: Y, x: number) => number diff --git a/tests/baselines/reference/paramsOnlyHaveLiteralTypesWhenAppropriatelyContextualized.types b/tests/baselines/reference/paramsOnlyHaveLiteralTypesWhenAppropriatelyContextualized.types index 746b9380c5266..1014f917a993c 100644 --- a/tests/baselines/reference/paramsOnlyHaveLiteralTypesWhenAppropriatelyContextualized.types +++ b/tests/baselines/reference/paramsOnlyHaveLiteralTypesWhenAppropriatelyContextualized.types @@ -11,7 +11,7 @@ type Lower = { [K in keyof T]: T[K] }; export function appendToOptionalArray< >appendToOptionalArray : (object: { [x in K]?: Lower[]; }, key: K, value: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ K extends string | number | symbol, T @@ -47,11 +47,11 @@ export function appendToOptionalArray< >array.push(value) : number > : ^^^^^^ >array.push : (...items: Lower[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^ >array : Lower[] > : ^^^^^^^^^^ >push : (...items: Lower[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^ >value : T > : ^ @@ -87,9 +87,9 @@ appendToOptionalArray(foo, 'x', 123); // ok >appendToOptionalArray(foo, 'x', 123) : void > : ^^^^ >appendToOptionalArray : (object: { [x in K]?: Lower[]; }, key: K, value: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ->foo : { x?: number[] | undefined; y?: string[] | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>foo : { x?: number[]; y?: string[]; } +> : ^^^^^^ ^^^^^^ ^^^ >'x' : "x" > : ^^^ >123 : 123 @@ -99,9 +99,9 @@ appendToOptionalArray(foo, 'y', 'bar'); // ok >appendToOptionalArray(foo, 'y', 'bar') : void > : ^^^^ >appendToOptionalArray : (object: { [x in K]?: Lower[]; }, key: K, value: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ->foo : { x?: number[] | undefined; y?: string[] | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>foo : { x?: number[]; y?: string[]; } +> : ^^^^^^ ^^^^^^ ^^^ >'y' : "y" > : ^^^ >'bar' : "bar" @@ -111,9 +111,9 @@ appendToOptionalArray(foo, 'y', 12); // should fail >appendToOptionalArray(foo, 'y', 12) : void > : ^^^^ >appendToOptionalArray : (object: { [x in K]?: Lower[]; }, key: K, value: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ->foo : { x?: number[] | undefined; y?: string[] | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>foo : { x?: number[]; y?: string[]; } +> : ^^^^^^ ^^^^^^ ^^^ >'y' : "y" > : ^^^ >12 : 12 @@ -123,9 +123,9 @@ appendToOptionalArray(foo, 'x', "no"); // should fail >appendToOptionalArray(foo, 'x', "no") : void > : ^^^^ >appendToOptionalArray : (object: { [x in K]?: Lower[]; }, key: K, value: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ->foo : { x?: number[] | undefined; y?: string[] | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>foo : { x?: number[]; y?: string[]; } +> : ^^^^^^ ^^^^^^ ^^^ >'x' : "x" > : ^^^ >"no" : "no" diff --git a/tests/baselines/reference/parenthesizedContexualTyping1.types b/tests/baselines/reference/parenthesizedContexualTyping1.types index c2bdfbfcf84ef..fafb520700f26 100644 --- a/tests/baselines/reference/parenthesizedContexualTyping1.types +++ b/tests/baselines/reference/parenthesizedContexualTyping1.types @@ -3,7 +3,7 @@ === parenthesizedContexualTyping1.ts === function fun(g: (x: T) => T, x: T): T; >fun : { (g: (x: T) => T, x: T): T; (g: (x: T_1) => T_1, h: (y: T_1) => T_1, x: T_1): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >g : (x: T) => T > : ^ ^^ ^^^^^ >x : T @@ -13,7 +13,7 @@ function fun(g: (x: T) => T, x: T): T; function fun(g: (x: T) => T, h: (y: T) => T, x: T): T; >fun : { (g: (x: T_1) => T_1, x: T_1): T_1; (g: (x: T) => T, h: (y: T) => T, x: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >g : (x: T) => T > : ^ ^^ ^^^^^ >x : T @@ -26,8 +26,8 @@ function fun(g: (x: T) => T, h: (y: T) => T, x: T): T; > : ^ function fun(g: (x: T) => T, x: T): T { ->fun : { (g: (x: T_1) => T_1, x: T_1): T_1; (g: (x: T_2) => T_2, h: (y: T_2) => T_2, x: T_2): T_2; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>fun : { (g: (x: T_1) => T_1, x: T_1): T_1; (g: (x: T_1) => T_1, h: (y: T_1) => T_1, x: T_1): T_1; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >g : (x: T) => T > : ^ ^^ ^^^^^ >x : T @@ -39,7 +39,7 @@ function fun(g: (x: T) => T, x: T): T { >g(x) : T > : ^ >g : (x: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >x : T > : ^ } @@ -49,8 +49,8 @@ var a = fun(x => x, 10); > : ^^^^^^ >fun(x => x, 10) : number > : ^^^^^^ ->fun : { (g: (x: T) => T, x: T): T; (g: (x: T_1) => T_1, h: (y: T_1) => T_1, x: T_1): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>fun : { (g: (x: T) => T, x: T): T; (g: (x: T) => T, h: (y: T) => T, x: T): T; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x => x : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number @@ -65,8 +65,8 @@ var b = fun((x => x), 10); > : ^^^^^^ >fun((x => x), 10) : number > : ^^^^^^ ->fun : { (g: (x: T) => T, x: T): T; (g: (x: T_1) => T_1, h: (y: T_1) => T_1, x: T_1): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>fun : { (g: (x: T) => T, x: T): T; (g: (x: T) => T, h: (y: T) => T, x: T): T; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >(x => x) : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x => x : (x: number) => number @@ -83,8 +83,8 @@ var c = fun(((x => x)), 10); > : ^^^^^^ >fun(((x => x)), 10) : number > : ^^^^^^ ->fun : { (g: (x: T) => T, x: T): T; (g: (x: T_1) => T_1, h: (y: T_1) => T_1, x: T_1): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>fun : { (g: (x: T) => T, x: T): T; (g: (x: T) => T, h: (y: T) => T, x: T): T; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >((x => x)) : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >(x => x) : (x: number) => number @@ -103,8 +103,8 @@ var d = fun((((x => x))), 10); > : ^^^^^^ >fun((((x => x))), 10) : number > : ^^^^^^ ->fun : { (g: (x: T) => T, x: T): T; (g: (x: T_1) => T_1, h: (y: T_1) => T_1, x: T_1): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>fun : { (g: (x: T) => T, x: T): T; (g: (x: T) => T, h: (y: T) => T, x: T): T; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >(((x => x))) : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >((x => x)) : (x: number) => number @@ -125,8 +125,8 @@ var e = fun(x => x, x => x, 10); > : ^^^^^^ >fun(x => x, x => x, 10) : number > : ^^^^^^ ->fun : { (g: (x: T) => T, x: T): T; (g: (x: T_1) => T_1, h: (y: T_1) => T_1, x: T_1): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>fun : { (g: (x: T) => T, x: T): T; (g: (x: T) => T, h: (y: T) => T, x: T): T; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x => x : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number @@ -147,8 +147,8 @@ var f = fun((x => x), (x => x), 10); > : ^^^^^^ >fun((x => x), (x => x), 10) : number > : ^^^^^^ ->fun : { (g: (x: T) => T, x: T): T; (g: (x: T_1) => T_1, h: (y: T_1) => T_1, x: T_1): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>fun : { (g: (x: T) => T, x: T): T; (g: (x: T) => T, h: (y: T) => T, x: T): T; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >(x => x) : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x => x : (x: number) => number @@ -173,8 +173,8 @@ var g = fun(((x => x)), ((x => x)), 10); > : ^^^^^^ >fun(((x => x)), ((x => x)), 10) : number > : ^^^^^^ ->fun : { (g: (x: T) => T, x: T): T; (g: (x: T_1) => T_1, h: (y: T_1) => T_1, x: T_1): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>fun : { (g: (x: T) => T, x: T): T; (g: (x: T) => T, h: (y: T) => T, x: T): T; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >((x => x)) : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >(x => x) : (x: number) => number @@ -203,8 +203,8 @@ var h = fun((((x => x))), ((x => x)), 10); > : ^^^^^^ >fun((((x => x))), ((x => x)), 10) : number > : ^^^^^^ ->fun : { (g: (x: T) => T, x: T): T; (g: (x: T_1) => T_1, h: (y: T_1) => T_1, x: T_1): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>fun : { (g: (x: T) => T, x: T): T; (g: (x: T) => T, h: (y: T) => T, x: T): T; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >(((x => x))) : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >((x => x)) : (x: number) => number @@ -236,8 +236,8 @@ var i = fun((Math.random() < 0.5 ? x => x : x => undefined), 10); > : ^^^ >fun((Math.random() < 0.5 ? x => x : x => undefined), 10) : any > : ^^^ ->fun : { (g: (x: T) => T, x: T): T; (g: (x: T_1) => T_1, h: (y: T_1) => T_1, x: T_1): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>fun : { (g: (x: T) => T, x: T): T; (g: (x: T) => T, h: (y: T) => T, x: T): T; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >(Math.random() < 0.5 ? x => x : x => undefined) : (x: number) => any > : ^ ^^^^^^^^^^^^^^^^ >Math.random() < 0.5 ? x => x : x => undefined : (x: number) => any @@ -247,11 +247,11 @@ var i = fun((Math.random() < 0.5 ? x => x : x => undefined), 10); >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ >x => x : (x: number) => number @@ -274,8 +274,8 @@ var j = fun((Math.random() < 0.5 ? (x => x) : (x => undefined)), 10); > : ^^^ >fun((Math.random() < 0.5 ? (x => x) : (x => undefined)), 10) : any > : ^^^ ->fun : { (g: (x: T) => T, x: T): T; (g: (x: T_1) => T_1, h: (y: T_1) => T_1, x: T_1): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>fun : { (g: (x: T) => T, x: T): T; (g: (x: T) => T, h: (y: T) => T, x: T): T; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >(Math.random() < 0.5 ? (x => x) : (x => undefined)) : (x: number) => any > : ^ ^^^^^^^^^^^^^^^^ >Math.random() < 0.5 ? (x => x) : (x => undefined) : (x: number) => any @@ -285,11 +285,11 @@ var j = fun((Math.random() < 0.5 ? (x => x) : (x => undefined)), 10); >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ >(x => x) : (x: number) => number @@ -316,8 +316,8 @@ var k = fun((Math.random() < 0.5 ? (x => x) : (x => undefined)), x => x, 10); > : ^^^ >fun((Math.random() < 0.5 ? (x => x) : (x => undefined)), x => x, 10) : any > : ^^^ ->fun : { (g: (x: T) => T, x: T): T; (g: (x: T_1) => T_1, h: (y: T_1) => T_1, x: T_1): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>fun : { (g: (x: T) => T, x: T): T; (g: (x: T) => T, h: (y: T) => T, x: T): T; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >(Math.random() < 0.5 ? (x => x) : (x => undefined)) : (x: number) => any > : ^ ^^^^^^^^^^^^^^^^ >Math.random() < 0.5 ? (x => x) : (x => undefined) : (x: number) => any @@ -327,11 +327,11 @@ var k = fun((Math.random() < 0.5 ? (x => x) : (x => undefined)), x => x, 10); >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ >(x => x) : (x: number) => number @@ -364,8 +364,8 @@ var l = fun(((Math.random() < 0.5 ? ((x => x)) : ((x => undefined)))), ((x => x) > : ^^^ >fun(((Math.random() < 0.5 ? ((x => x)) : ((x => undefined)))), ((x => x)), 10) : any > : ^^^ ->fun : { (g: (x: T) => T, x: T): T; (g: (x: T_1) => T_1, h: (y: T_1) => T_1, x: T_1): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>fun : { (g: (x: T) => T, x: T): T; (g: (x: T) => T, h: (y: T) => T, x: T): T; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >((Math.random() < 0.5 ? ((x => x)) : ((x => undefined)))) : (x: number) => any > : ^ ^^^^^^^^^^^^^^^^ >(Math.random() < 0.5 ? ((x => x)) : ((x => undefined))) : (x: number) => any @@ -377,11 +377,11 @@ var l = fun(((Math.random() < 0.5 ? ((x => x)) : ((x => undefined)))), ((x => x) >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ >((x => x)) : (x: number) => number diff --git a/tests/baselines/reference/parenthesizedContexualTyping2.types b/tests/baselines/reference/parenthesizedContexualTyping2.types index 85cc642d28abb..4cd8a3931ad4e 100644 --- a/tests/baselines/reference/parenthesizedContexualTyping2.types +++ b/tests/baselines/reference/parenthesizedContexualTyping2.types @@ -15,11 +15,11 @@ type FuncType = (x: (p: T) => T) => typeof x; >p : T > : ^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ function fun(f: FuncType, x: T): T; >fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T_1): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >f : FuncType > : ^^^^^^^^ >x : T @@ -27,7 +27,7 @@ function fun(f: FuncType, x: T): T; function fun(f: FuncType, g: FuncType, x: T): T; >fun : { (f: FuncType, x: T_1): T_1; (f: FuncType, g: FuncType, x: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >f : FuncType > : ^^^^^^^^ >g : FuncType @@ -36,8 +36,8 @@ function fun(f: FuncType, g: FuncType, x: T): T; > : ^ function fun(...rest: any[]): T { ->fun : { (f: FuncType, x: T_1): T_1; (f: FuncType, g: FuncType, x: T_2): T_2; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>fun : { (f: FuncType, x: T_1): T_1; (f: FuncType, g: FuncType, x: T_1): T_1; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >rest : any[] > : ^^^^^ @@ -51,20 +51,20 @@ var a = fun(x => { x(undefined); return x; }, 10); > : ^^^^^^ >fun(x => { x(undefined); return x; }, 10) : 10 > : ^^ ->fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T_1): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T): T; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x(undefined) : number > : ^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >10 : 10 > : ^^ @@ -73,22 +73,22 @@ var b = fun((x => { x(undefined); return x; }), 10); > : ^^^^^^ >fun((x => { x(undefined); return x; }), 10) : 10 > : ^^ ->fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T_1): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T): T; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >(x => { x(undefined); return x; }) : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x(undefined) : number > : ^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >10 : 10 > : ^^ @@ -97,24 +97,24 @@ var c = fun(((x => { x(undefined); return x; })), 10); > : ^^^^^^ >fun(((x => { x(undefined); return x; })), 10) : 10 > : ^^ ->fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T_1): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T): T; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >((x => { x(undefined); return x; })) : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >(x => { x(undefined); return x; }) : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x(undefined) : number > : ^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >10 : 10 > : ^^ @@ -123,26 +123,26 @@ var d = fun((((x => { x(undefined); return x; }))), 10); > : ^^^^^^ >fun((((x => { x(undefined); return x; }))), 10) : 10 > : ^^ ->fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T_1): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T): T; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >(((x => { x(undefined); return x; }))) : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >((x => { x(undefined); return x; })) : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >(x => { x(undefined); return x; }) : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x(undefined) : number > : ^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >10 : 10 > : ^^ @@ -151,32 +151,32 @@ var e = fun(x => { x(undefined); return x; }, x => { x(undefined > : ^^^^^^ >fun(x => { x(undefined); return x; }, x => { x(undefined); return x; }, 10) : 10 > : ^^ ->fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T_1): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T): T; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x(undefined) : number > : ^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x(undefined) : number > : ^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >10 : 10 > : ^^ @@ -185,36 +185,36 @@ var f = fun((x => { x(undefined); return x; }),(x => { x(undefin > : ^^^^^^ >fun((x => { x(undefined); return x; }),(x => { x(undefined); return x; }), 10) : 10 > : ^^ ->fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T_1): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T): T; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >(x => { x(undefined); return x; }) : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x(undefined) : number > : ^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >(x => { x(undefined); return x; }) : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x(undefined) : number > : ^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >10 : 10 > : ^^ @@ -223,40 +223,40 @@ var g = fun(((x => { x(undefined); return x; })),((x => { x(unde > : ^^^^^^ >fun(((x => { x(undefined); return x; })),((x => { x(undefined); return x; })), 10) : 10 > : ^^ ->fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T_1): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T): T; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >((x => { x(undefined); return x; })) : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >(x => { x(undefined); return x; }) : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x(undefined) : number > : ^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >((x => { x(undefined); return x; })) : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >(x => { x(undefined); return x; }) : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x(undefined) : number > : ^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >10 : 10 > : ^^ @@ -265,42 +265,42 @@ var h = fun((((x => { x(undefined); return x; }))),((x => { x(un > : ^^^^^^ >fun((((x => { x(undefined); return x; }))),((x => { x(undefined); return x; })), 10) : 10 > : ^^ ->fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T_1): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T): T; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >(((x => { x(undefined); return x; }))) : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >((x => { x(undefined); return x; })) : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >(x => { x(undefined); return x; }) : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x(undefined) : number > : ^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >((x => { x(undefined); return x; })) : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >(x => { x(undefined); return x; }) : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x(undefined) : number > : ^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >10 : 10 > : ^^ @@ -310,40 +310,40 @@ var i = fun((Math.random() < 0.5 ? x => { x(undefined); return x; } : x > : ^^^^^^ >fun((Math.random() < 0.5 ? x => { x(undefined); return x; } : x => undefined), 10) : 10 > : ^^ ->fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T_1): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T): T; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >(Math.random() < 0.5 ? x => { x(undefined); return x; } : x => undefined) : (x: (p: T) => T) => any -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^^^ >Math.random() < 0.5 ? x => { x(undefined); return x; } : x => undefined : (x: (p: T) => T) => any -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^^^ >Math.random() < 0.5 : boolean > : ^^^^^^^ >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x(undefined) : number > : ^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x => undefined : (x: (p: T) => T) => any -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >10 : 10 @@ -354,44 +354,44 @@ var j = fun((Math.random() < 0.5 ? (x => { x(undefined); return x; }) : > : ^^^^^^ >fun((Math.random() < 0.5 ? (x => { x(undefined); return x; }) : (x => undefined)), 10) : 10 > : ^^ ->fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T_1): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T): T; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >(Math.random() < 0.5 ? (x => { x(undefined); return x; }) : (x => undefined)) : (x: (p: T) => T) => any -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^^^ >Math.random() < 0.5 ? (x => { x(undefined); return x; }) : (x => undefined) : (x: (p: T) => T) => any -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^^^ >Math.random() < 0.5 : boolean > : ^^^^^^^ >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ >(x => { x(undefined); return x; }) : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x(undefined) : number > : ^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >(x => undefined) : (x: (p: T) => T) => any -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^^^ >x => undefined : (x: (p: T) => T) => any -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >10 : 10 @@ -402,58 +402,58 @@ var k = fun((Math.random() < 0.5 ? (x => { x(undefined); return x; }) : > : ^^^^^^ >fun((Math.random() < 0.5 ? (x => { x(undefined); return x; }) : (x => undefined)), x => { x(undefined); return x; }, 10) : 10 > : ^^ ->fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T_1): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T): T; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >(Math.random() < 0.5 ? (x => { x(undefined); return x; }) : (x => undefined)) : (x: (p: T) => T) => any -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^^^ >Math.random() < 0.5 ? (x => { x(undefined); return x; }) : (x => undefined) : (x: (p: T) => T) => any -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^^^ >Math.random() < 0.5 : boolean > : ^^^^^^^ >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ >(x => { x(undefined); return x; }) : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x(undefined) : number > : ^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >(x => undefined) : (x: (p: T) => T) => any -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^^^ >x => undefined : (x: (p: T) => T) => any -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x(undefined) : number > : ^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >10 : 10 > : ^^ @@ -462,68 +462,68 @@ var l = fun(((Math.random() < 0.5 ? ((x => { x(undefined); return x; })) > : ^^^^^^ >fun(((Math.random() < 0.5 ? ((x => { x(undefined); return x; })) : ((x => undefined)))),((x => { x(undefined); return x; })), 10) : 10 > : ^^ ->fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T_1): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T): T; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >((Math.random() < 0.5 ? ((x => { x(undefined); return x; })) : ((x => undefined)))) : (x: (p: T) => T) => any -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^^^ >(Math.random() < 0.5 ? ((x => { x(undefined); return x; })) : ((x => undefined))) : (x: (p: T) => T) => any -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^^^ >Math.random() < 0.5 ? ((x => { x(undefined); return x; })) : ((x => undefined)) : (x: (p: T) => T) => any -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^^^ >Math.random() < 0.5 : boolean > : ^^^^^^^ >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ >((x => { x(undefined); return x; })) : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >(x => { x(undefined); return x; }) : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x(undefined) : number > : ^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >((x => undefined)) : (x: (p: T) => T) => any -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^^^ >(x => undefined) : (x: (p: T) => T) => any -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^^^ >x => undefined : (x: (p: T) => T) => any -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >((x => { x(undefined); return x; })) : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >(x => { x(undefined); return x; }) : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x(undefined) : number > : ^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >10 : 10 > : ^^ @@ -531,35 +531,35 @@ var lambda1: FuncType = x => { x(undefined); return x; }; >lambda1 : FuncType > : ^^^^^^^^ >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x(undefined) : number > : ^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ var lambda2: FuncType = (x => { x(undefined); return x; }); >lambda2 : FuncType > : ^^^^^^^^ >(x => { x(undefined); return x; }) : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x(undefined) : number > : ^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ type ObjType = { x: (p: number) => string; y: (p: string) => number }; >ObjType : ObjType diff --git a/tests/baselines/reference/parenthesizedContexualTyping3.types b/tests/baselines/reference/parenthesizedContexualTyping3.types index 077ae7c49e895..e3768cf3417ba 100644 --- a/tests/baselines/reference/parenthesizedContexualTyping3.types +++ b/tests/baselines/reference/parenthesizedContexualTyping3.types @@ -8,7 +8,7 @@ */ function tempFun(tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T; >tempFun : { (tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T; (tempStrs: TemplateStringsArray, g: (x: T_1) => T_1, h: (y: T_1) => T_1, x: T_1): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >tempStrs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >g : (x: T) => T @@ -20,7 +20,7 @@ function tempFun(tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T; function tempFun(tempStrs: TemplateStringsArray, g: (x: T) => T, h: (y: T) => T, x: T): T; >tempFun : { (tempStrs: TemplateStringsArray, g: (x: T_1) => T_1, x: T_1): T_1; (tempStrs: TemplateStringsArray, g: (x: T) => T, h: (y: T) => T, x: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >tempStrs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >g : (x: T) => T @@ -35,8 +35,8 @@ function tempFun(tempStrs: TemplateStringsArray, g: (x: T) => T, h: (y: T) => > : ^ function tempFun(tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T { ->tempFun : { (tempStrs: TemplateStringsArray, g: (x: T_1) => T_1, x: T_1): T_1; (tempStrs: TemplateStringsArray, g: (x: T_2) => T_2, h: (y: T_2) => T_2, x: T_2): T_2; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>tempFun : { (tempStrs: TemplateStringsArray, g: (x: T_1) => T_1, x: T_1): T_1; (tempStrs: TemplateStringsArray, g: (x: T_1) => T_1, h: (y: T_1) => T_1, x: T_1): T_1; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >tempStrs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >g : (x: T) => T @@ -50,7 +50,7 @@ function tempFun(tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T { >g(x) : T > : ^ >g : (x: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >x : T > : ^ } @@ -60,8 +60,8 @@ var a = tempFun `${ x => x } ${ 10 }` > : ^^^^^^ >tempFun `${ x => x } ${ 10 }` : number > : ^^^^^^ ->tempFun : { (tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T; (tempStrs: TemplateStringsArray, g: (x: T_1) => T_1, h: (y: T_1) => T_1, x: T_1): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>tempFun : { (tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T; (tempStrs: TemplateStringsArray, g: (x: T) => T, h: (y: T) => T, x: T): T; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ x => x } ${ 10 }` : string > : ^^^^^^ >x => x : (x: number) => number @@ -78,8 +78,8 @@ var b = tempFun `${ (x => x) } ${ 10 }` > : ^^^^^^ >tempFun `${ (x => x) } ${ 10 }` : number > : ^^^^^^ ->tempFun : { (tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T; (tempStrs: TemplateStringsArray, g: (x: T_1) => T_1, h: (y: T_1) => T_1, x: T_1): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>tempFun : { (tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T; (tempStrs: TemplateStringsArray, g: (x: T) => T, h: (y: T) => T, x: T): T; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ (x => x) } ${ 10 }` : string > : ^^^^^^ >(x => x) : (x: number) => number @@ -98,8 +98,8 @@ var c = tempFun `${ ((x => x)) } ${ 10 }` > : ^^^^^^ >tempFun `${ ((x => x)) } ${ 10 }` : number > : ^^^^^^ ->tempFun : { (tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T; (tempStrs: TemplateStringsArray, g: (x: T_1) => T_1, h: (y: T_1) => T_1, x: T_1): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>tempFun : { (tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T; (tempStrs: TemplateStringsArray, g: (x: T) => T, h: (y: T) => T, x: T): T; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ ((x => x)) } ${ 10 }` : string > : ^^^^^^ >((x => x)) : (x: number) => number @@ -120,8 +120,8 @@ var d = tempFun `${ x => x } ${ x => x } ${ 10 }` > : ^^^^^^ >tempFun `${ x => x } ${ x => x } ${ 10 }` : number > : ^^^^^^ ->tempFun : { (tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T; (tempStrs: TemplateStringsArray, g: (x: T_1) => T_1, h: (y: T_1) => T_1, x: T_1): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>tempFun : { (tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T; (tempStrs: TemplateStringsArray, g: (x: T) => T, h: (y: T) => T, x: T): T; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ x => x } ${ x => x } ${ 10 }` : string > : ^^^^^^ >x => x : (x: number) => number @@ -144,8 +144,8 @@ var e = tempFun `${ x => x } ${ (x => x) } ${ 10 }` > : ^^^^^^ >tempFun `${ x => x } ${ (x => x) } ${ 10 }` : number > : ^^^^^^ ->tempFun : { (tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T; (tempStrs: TemplateStringsArray, g: (x: T_1) => T_1, h: (y: T_1) => T_1, x: T_1): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>tempFun : { (tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T; (tempStrs: TemplateStringsArray, g: (x: T) => T, h: (y: T) => T, x: T): T; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ x => x } ${ (x => x) } ${ 10 }` : string > : ^^^^^^ >x => x : (x: number) => number @@ -170,8 +170,8 @@ var f = tempFun `${ x => x } ${ ((x => x)) } ${ 10 }` > : ^^^^^^ >tempFun `${ x => x } ${ ((x => x)) } ${ 10 }` : number > : ^^^^^^ ->tempFun : { (tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T; (tempStrs: TemplateStringsArray, g: (x: T_1) => T_1, h: (y: T_1) => T_1, x: T_1): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>tempFun : { (tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T; (tempStrs: TemplateStringsArray, g: (x: T) => T, h: (y: T) => T, x: T): T; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ x => x } ${ ((x => x)) } ${ 10 }` : string > : ^^^^^^ >x => x : (x: number) => number @@ -198,8 +198,8 @@ var g = tempFun `${ (x => x) } ${ (((x => x))) } ${ 10 }` > : ^^^^^^ >tempFun `${ (x => x) } ${ (((x => x))) } ${ 10 }` : number > : ^^^^^^ ->tempFun : { (tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T; (tempStrs: TemplateStringsArray, g: (x: T_1) => T_1, h: (y: T_1) => T_1, x: T_1): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>tempFun : { (tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T; (tempStrs: TemplateStringsArray, g: (x: T) => T, h: (y: T) => T, x: T): T; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ (x => x) } ${ (((x => x))) } ${ 10 }` : string > : ^^^^^^ >(x => x) : (x: number) => number @@ -228,8 +228,8 @@ var g = tempFun `${ (x => x) } ${ (((x => x))) } ${ 10 }` var h = tempFun `${ (x => x) } ${ (((x => x))) } ${ undefined }` >h : any >tempFun `${ (x => x) } ${ (((x => x))) } ${ undefined }` : any ->tempFun : { (tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T; (tempStrs: TemplateStringsArray, g: (x: T_1) => T_1, h: (y: T_1) => T_1, x: T_1): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>tempFun : { (tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T; (tempStrs: TemplateStringsArray, g: (x: T) => T, h: (y: T) => T, x: T): T; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ (x => x) } ${ (((x => x))) } ${ undefined }` : string > : ^^^^^^ >(x => x) : (x: any) => any diff --git a/tests/baselines/reference/parenthesizedJSDocCastAtReturnStatement.types b/tests/baselines/reference/parenthesizedJSDocCastAtReturnStatement.types index 63516b4587792..c4836b5981740 100644 --- a/tests/baselines/reference/parenthesizedJSDocCastAtReturnStatement.types +++ b/tests/baselines/reference/parenthesizedJSDocCastAtReturnStatement.types @@ -16,9 +16,9 @@ const cache = new Map() */ const getStringGetter = (key) => { >getStringGetter : (key: string) => () => string -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(key) => { return () => { return /** @type {string} */ (cache.get(key)) }} : (key: string) => () => string -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >key : string > : ^^^^^^ @@ -31,12 +31,12 @@ const getStringGetter = (key) => { > : ^^^^^^ >cache.get(key) : string | Set | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->cache.get : (key: string) => string | Set | undefined -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>cache.get : (key: string) => (string | Set) | undefined +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >cache : Map> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->get : (key: string) => string | Set | undefined -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>get : (key: string) => (string | Set) | undefined +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >key : string > : ^^^^^^ } diff --git a/tests/baselines/reference/parenthesizedTypes.types b/tests/baselines/reference/parenthesizedTypes.types index b4f0001b0d0ab..c7eb0a31e0b07 100644 --- a/tests/baselines/reference/parenthesizedTypes.types +++ b/tests/baselines/reference/parenthesizedTypes.types @@ -25,7 +25,7 @@ var b: (x: string) => string; var b: ((x: (string)) => (string)); >b : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string > : ^^^^^^ @@ -51,7 +51,7 @@ var d: (((x: string) => string) | ((x: number) => number))[]; var d: ({ (x: string): string } | { (x: number): number })[]; >d : (((x: string) => string) | ((x: number) => number))[] -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^ >x : string > : ^^^^^^ >x : number @@ -59,7 +59,7 @@ var d: ({ (x: string): string } | { (x: number): number })[]; var d: Array<((x: string) => string) | ((x: number) => number)>; >d : (((x: string) => string) | ((x: number) => number))[] -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^ >x : string > : ^^^^^^ >x : number @@ -67,7 +67,7 @@ var d: Array<((x: string) => string) | ((x: number) => number)>; var d: Array<{ (x: string): string } | { (x: number): number }>; >d : (((x: string) => string) | ((x: number) => number))[] -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^ >x : string > : ^^^^^^ >x : number @@ -75,7 +75,7 @@ var d: Array<{ (x: string): string } | { (x: number): number }>; var d: (Array<{ (x: string): string } | { (x: number): number }>); >d : (((x: string) => string) | ((x: number) => number))[] -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^ >x : string > : ^^^^^^ >x : number @@ -100,7 +100,7 @@ var f: (string) => string; var f: (string: any) => string; >f : (string: any) => string -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >string : any var g: [string, string]; diff --git a/tests/baselines/reference/parseBigInt.types b/tests/baselines/reference/parseBigInt.types index 8e37934344709..187fde0d64ac4 100644 --- a/tests/baselines/reference/parseBigInt.types +++ b/tests/baselines/reference/parseBigInt.types @@ -345,25 +345,25 @@ oneTwoOrThree(0n); oneTwoOrThree(1n); oneTwoOrThree(2n); oneTwoOrThree(3n); >oneTwoOrThree(0n) : bigint > : ^^^^^^ >oneTwoOrThree : (x: 1n | 2n | 3n) => bigint -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0n : 0n > : ^^ >oneTwoOrThree(1n) : bigint > : ^^^^^^ >oneTwoOrThree : (x: 1n | 2n | 3n) => bigint -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >1n : 1n > : ^^ >oneTwoOrThree(2n) : bigint > : ^^^^^^ >oneTwoOrThree : (x: 1n | 2n | 3n) => bigint -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >2n : 2n > : ^^ >oneTwoOrThree(3n) : bigint > : ^^^^^^ >oneTwoOrThree : (x: 1n | 2n | 3n) => bigint -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >3n : 3n > : ^^ @@ -371,25 +371,25 @@ oneTwoOrThree(0); oneTwoOrThree(1); oneTwoOrThree(2); oneTwoOrThree(3); >oneTwoOrThree(0) : bigint > : ^^^^^^ >oneTwoOrThree : (x: 1n | 2n | 3n) => bigint -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ >oneTwoOrThree(1) : bigint > : ^^^^^^ >oneTwoOrThree : (x: 1n | 2n | 3n) => bigint -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ >oneTwoOrThree(2) : bigint > : ^^^^^^ >oneTwoOrThree : (x: 1n | 2n | 3n) => bigint -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >2 : 2 > : ^ >oneTwoOrThree(3) : bigint > : ^^^^^^ >oneTwoOrThree : (x: 1n | 2n | 3n) => bigint -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >3 : 3 > : ^ diff --git a/tests/baselines/reference/parseErrorIncorrectReturnToken.errors.txt b/tests/baselines/reference/parseErrorIncorrectReturnToken.errors.txt index da6d517a345ae..915d1abde77f1 100644 --- a/tests/baselines/reference/parseErrorIncorrectReturnToken.errors.txt +++ b/tests/baselines/reference/parseErrorIncorrectReturnToken.errors.txt @@ -1,3 +1,4 @@ +error TS-1: Pre-emit (7) and post-emit (8) diagnostic counts do not match! This can indicate that a semantic _error_ was added by the emit resolver - such an error may not be reflected on the command line or in the editor, but may be captured in a baseline here! parseErrorIncorrectReturnToken.ts(2,17): error TS1005: ':' expected. parseErrorIncorrectReturnToken.ts(4,22): error TS1005: '=>' expected. parseErrorIncorrectReturnToken.ts(4,24): error TS2693: 'string' only refers to a type, but is being used as a value here. @@ -7,6 +8,9 @@ parseErrorIncorrectReturnToken.ts(9,21): error TS2693: 'string' only refers to a parseErrorIncorrectReturnToken.ts(12,1): error TS1128: Declaration or statement expected. +!!! error TS-1: Pre-emit (7) and post-emit (8) diagnostic counts do not match! This can indicate that a semantic _error_ was added by the emit resolver - such an error may not be reflected on the command line or in the editor, but may be captured in a baseline here! +!!! related TS-1: The excess diagnostics are: +!!! related TS2304 parseErrorIncorrectReturnToken.ts:10:16: Cannot find name 'n'. ==== parseErrorIncorrectReturnToken.ts (7 errors) ==== type F1 = { (n: number) => string; // should be : not => diff --git a/tests/baselines/reference/parseErrorIncorrectReturnToken.types b/tests/baselines/reference/parseErrorIncorrectReturnToken.types index 38502b4f686f8..1ded003a8f901 100644 --- a/tests/baselines/reference/parseErrorIncorrectReturnToken.types +++ b/tests/baselines/reference/parseErrorIncorrectReturnToken.types @@ -32,11 +32,11 @@ let f = (n: number) => string => n.toString(); >n.toString() : string > : ^^^^^^ >n.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >n : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let o = { >o : { m(n: number): any; } diff --git a/tests/baselines/reference/parseTypes.types b/tests/baselines/reference/parseTypes.types index f4acf0f208961..66504b1cec89e 100644 --- a/tests/baselines/reference/parseTypes.types +++ b/tests/baselines/reference/parseTypes.types @@ -45,7 +45,7 @@ y=f; >y=f : () => number > : ^^^^^^^^^^^^ >y : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >f : () => number > : ^^^^^^^^^^^^ @@ -53,7 +53,7 @@ y=g; >y=g : (s: string) => void > : ^ ^^ ^^^^^^^^^ >y : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >g : (s: string) => void > : ^ ^^ ^^^^^^^^^ @@ -61,7 +61,7 @@ x=g; >x=g : (s: string) => void > : ^ ^^ ^^^^^^^^^ >x : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >g : (s: string) => void > : ^ ^^ ^^^^^^^^^ @@ -77,7 +77,7 @@ z=g; >z=g : (s: string) => void > : ^ ^^ ^^^^^^^^^ >z : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >g : (s: string) => void > : ^ ^^ ^^^^^^^^^ diff --git a/tests/baselines/reference/parser15.4.4.14-9-2.types b/tests/baselines/reference/parser15.4.4.14-9-2.types index c03de72f0e570..82fdada6018dc 100644 --- a/tests/baselines/reference/parser15.4.4.14-9-2.types +++ b/tests/baselines/reference/parser15.4.4.14-9-2.types @@ -112,11 +112,11 @@ function testcase() { >a.indexOf(-(4/3)) : number > : ^^^^^^ >a.indexOf : (searchElement: boolean, fromIndex?: number) => number -> : ^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^^^ ^^^^^ >a : boolean[] > : ^^^^^^^^^ >indexOf : (searchElement: boolean, fromIndex?: number) => number -> : ^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^^^ ^^^^^ >-(4/3) : number > : ^^^^^^ >(4/3) : number @@ -136,11 +136,11 @@ function testcase() { >a.indexOf(0) : number > : ^^^^^^ >a.indexOf : (searchElement: boolean, fromIndex?: number) => number -> : ^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^^^ ^^^^^ >a : boolean[] > : ^^^^^^^^^ >indexOf : (searchElement: boolean, fromIndex?: number) => number -> : ^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^^^ ^^^^^ >0 : 0 > : ^ >7 : 7 @@ -152,11 +152,11 @@ function testcase() { >a.indexOf(-0) : number > : ^^^^^^ >a.indexOf : (searchElement: boolean, fromIndex?: number) => number -> : ^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^^^ ^^^^^ >a : boolean[] > : ^^^^^^^^^ >indexOf : (searchElement: boolean, fromIndex?: number) => number -> : ^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^^^ ^^^^^ >-0 : 0 > : ^ >0 : 0 @@ -170,11 +170,11 @@ function testcase() { >a.indexOf(1) : number > : ^^^^^^ >a.indexOf : (searchElement: boolean, fromIndex?: number) => number -> : ^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^^^ ^^^^^ >a : boolean[] > : ^^^^^^^^^ >indexOf : (searchElement: boolean, fromIndex?: number) => number -> : ^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^^^ ^^^^^ >1 : 1 > : ^ >10 : 10 diff --git a/tests/baselines/reference/parser536727.types b/tests/baselines/reference/parser536727.types index fb42a9672006b..c50671dbd68d5 100644 --- a/tests/baselines/reference/parser536727.types +++ b/tests/baselines/reference/parser536727.types @@ -13,7 +13,7 @@ function foo(f: (x: string) => string) { >f("") : string > : ^^^^^^ >f : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"" : "" > : ^^ } diff --git a/tests/baselines/reference/parser553699.types b/tests/baselines/reference/parser553699.types index 8fb75c3898941..fcc70394c1163 100644 --- a/tests/baselines/reference/parser553699.types +++ b/tests/baselines/reference/parser553699.types @@ -8,7 +8,7 @@ class Foo { constructor() { } public banana (x: public) { } >banana : (x: public) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >x : public > : ^^^^^^ } diff --git a/tests/baselines/reference/parser630933.types b/tests/baselines/reference/parser630933.types index 82c18d1a34478..9b4b51f11bc01 100644 --- a/tests/baselines/reference/parser630933.types +++ b/tests/baselines/reference/parser630933.types @@ -12,12 +12,12 @@ var b = a.match(/\/ver=([^/]+)/); > : ^^^^^^^^^^^^^^^^ >a.match(/\/ver=([^/]+)/) : RegExpMatchArray > : ^^^^^^^^^^^^^^^^ ->a.match : (regexp: string | RegExp) => RegExpMatchArray -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>a.match : (regexp: string | RegExp) => RegExpMatchArray | null +> : ^ ^^ ^^^^^ >a : string > : ^^^^^^ ->match : (regexp: string | RegExp) => RegExpMatchArray -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>match : (regexp: string | RegExp) => RegExpMatchArray | null +> : ^ ^^ ^^^^^ >/\/ver=([^/]+)/ : RegExp > : ^^^^^^ diff --git a/tests/baselines/reference/parser645086_1.errors.txt b/tests/baselines/reference/parser645086_1.errors.txt index 19271f9ae00ae..32871f9fe4cdc 100644 --- a/tests/baselines/reference/parser645086_1.errors.txt +++ b/tests/baselines/reference/parser645086_1.errors.txt @@ -1,13 +1,10 @@ parser645086_1.ts(1,13): error TS1005: ',' expected. parser645086_1.ts(1,14): error TS1134: Variable declaration expected. -parser645086_1.ts(1,15): error TS1161: Unterminated regular expression literal. -==== parser645086_1.ts (3 errors) ==== +==== parser645086_1.ts (2 errors) ==== var v = /[]/]/ ~ !!! error TS1005: ',' expected. ~ -!!! error TS1134: Variable declaration expected. - -!!! error TS1161: Unterminated regular expression literal. \ No newline at end of file +!!! error TS1134: Variable declaration expected. \ No newline at end of file diff --git a/tests/baselines/reference/parser645086_2.errors.txt b/tests/baselines/reference/parser645086_2.errors.txt index dffb43065e05d..7d1f93ee1bb95 100644 --- a/tests/baselines/reference/parser645086_2.errors.txt +++ b/tests/baselines/reference/parser645086_2.errors.txt @@ -1,13 +1,10 @@ parser645086_2.ts(1,14): error TS1005: ',' expected. parser645086_2.ts(1,15): error TS1134: Variable declaration expected. -parser645086_2.ts(1,16): error TS1161: Unterminated regular expression literal. -==== parser645086_2.ts (3 errors) ==== +==== parser645086_2.ts (2 errors) ==== var v = /[^]/]/ ~ !!! error TS1005: ',' expected. ~ -!!! error TS1134: Variable declaration expected. - -!!! error TS1161: Unterminated regular expression literal. \ No newline at end of file +!!! error TS1134: Variable declaration expected. \ No newline at end of file diff --git a/tests/baselines/reference/parserArgumentList1.types b/tests/baselines/reference/parserArgumentList1.types index 954ae75cc5421..01a656ce77d38 100644 --- a/tests/baselines/reference/parserArgumentList1.types +++ b/tests/baselines/reference/parserArgumentList1.types @@ -21,7 +21,7 @@ export function removeClass (node:HTMLElement, className:string) { >node.className.replace(_classNameRegexp(className), function (everything, leftDelimiter, name, rightDelimiter) { return leftDelimiter.length + rightDelimiter.length === 2 ? ' ' : ''; }) : string > : ^^^^^^ >node.className.replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >node.className : string > : ^^^^^^ >node : HTMLElement @@ -29,7 +29,7 @@ export function removeClass (node:HTMLElement, className:string) { >className : string > : ^^^^^^ >replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >_classNameRegexp(className) : any > : ^^^ >_classNameRegexp : any diff --git a/tests/baselines/reference/parserArrowFunctionExpression10.types b/tests/baselines/reference/parserArrowFunctionExpression10.types index 0b639062c960d..bc288ad26b247 100644 --- a/tests/baselines/reference/parserArrowFunctionExpression10.types +++ b/tests/baselines/reference/parserArrowFunctionExpression10.types @@ -3,11 +3,11 @@ === fileJs.js === a ? (b) : c => (d) : e => f // Not legal JS; "Unexpected token ':'" at last colon >a ? (b) : c => (d) : e => f : (b: any) => c -> : ^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >a : any > : ^^^ >(b) : c => (d) : (b: any) => c -> : ^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >b : any > : ^^^ >(d) : any @@ -24,11 +24,11 @@ a ? (b) : c => (d) : e => f // Not legal JS; "Unexpected token ':'" at last colo === fileTs.ts === a ? (b) : c => (d) : e => f >a ? (b) : c => (d) : e => f : (b: any) => c -> : ^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >a : any > : ^^^ >(b) : c => (d) : (b: any) => c -> : ^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >b : any > : ^^^ >(d) : any diff --git a/tests/baselines/reference/parserArrowFunctionExpression17.types b/tests/baselines/reference/parserArrowFunctionExpression17.types index 44f811dbf5975..72350d6f59991 100644 --- a/tests/baselines/reference/parserArrowFunctionExpression17.types +++ b/tests/baselines/reference/parserArrowFunctionExpression17.types @@ -9,7 +9,7 @@ a ? b : (c) : d => e // Not legal JS; "Unexpected token ':'" at last colon >b : any > : ^^^ >(c) : d => e : (c: any) => d -> : ^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >c : any > : ^^^ >e : any @@ -24,7 +24,7 @@ a ? b : (c) : d => e >b : any > : ^^^ >(c) : d => e : (c: any) => d -> : ^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >c : any > : ^^^ >e : any diff --git a/tests/baselines/reference/parserAstSpans1.types b/tests/baselines/reference/parserAstSpans1.types index 0a7024aab2000..7c4d7ca4540c0 100644 --- a/tests/baselines/reference/parserAstSpans1.types +++ b/tests/baselines/reference/parserAstSpans1.types @@ -120,81 +120,81 @@ i1_i.i1_f1(); >i1_i.i1_f1() : void > : ^^^^ >i1_i.i1_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i1_i : i1 > : ^^ >i1_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i1_i.i1_nc_f1(); >i1_i.i1_nc_f1() : void > : ^^^^ >i1_i.i1_nc_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i1_i : i1 > : ^^ >i1_nc_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i1_i.f1(); >i1_i.f1() : void > : ^^^^ >i1_i.f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i1_i : i1 > : ^^ >f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i1_i.nc_f1(); >i1_i.nc_f1() : void > : ^^^^ >i1_i.nc_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i1_i : i1 > : ^^ >nc_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i1_i.i1_l1(); >i1_i.i1_l1() : void > : ^^^^ >i1_i.i1_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i1_i : i1 > : ^^ >i1_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i1_i.i1_nc_l1(); >i1_i.i1_nc_l1() : void > : ^^^^ >i1_i.i1_nc_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i1_i : i1 > : ^^ >i1_nc_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i1_i.l1(); >i1_i.l1() : void > : ^^^^ >i1_i.l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i1_i : i1 > : ^^ >l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i1_i.nc_l1(); >i1_i.nc_l1() : void > : ^^^^ >i1_i.nc_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i1_i : i1 > : ^^ >nc_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var c1_i = new c1(); >c1_i : c1 @@ -248,41 +248,41 @@ c1_i.i1_l1(); >c1_i.i1_l1() : void > : ^^^^ >c1_i.i1_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >c1_i : c1 > : ^^ >i1_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ c1_i.i1_nc_l1(); >c1_i.i1_nc_l1() : void > : ^^^^ >c1_i.i1_nc_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >c1_i : c1 > : ^^ >i1_nc_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ c1_i.l1(); >c1_i.l1() : void > : ^^^^ >c1_i.l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >c1_i : c1 > : ^^ >l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ c1_i.nc_l1(); >c1_i.nc_l1() : void > : ^^^^ >c1_i.nc_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >c1_i : c1 > : ^^ >nc_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ // assign to interface i1_i = c1_i; @@ -297,81 +297,81 @@ i1_i.i1_f1(); >i1_i.i1_f1() : void > : ^^^^ >i1_i.i1_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i1_i : i1 > : ^^ >i1_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i1_i.i1_nc_f1(); >i1_i.i1_nc_f1() : void > : ^^^^ >i1_i.i1_nc_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i1_i : i1 > : ^^ >i1_nc_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i1_i.f1(); >i1_i.f1() : void > : ^^^^ >i1_i.f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i1_i : i1 > : ^^ >f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i1_i.nc_f1(); >i1_i.nc_f1() : void > : ^^^^ >i1_i.nc_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i1_i : i1 > : ^^ >nc_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i1_i.i1_l1(); >i1_i.i1_l1() : void > : ^^^^ >i1_i.i1_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i1_i : i1 > : ^^ >i1_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i1_i.i1_nc_l1(); >i1_i.i1_nc_l1() : void > : ^^^^ >i1_i.i1_nc_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i1_i : i1 > : ^^ >i1_nc_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i1_i.l1(); >i1_i.l1() : void > : ^^^^ >i1_i.l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i1_i : i1 > : ^^ >l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i1_i.nc_l1(); >i1_i.nc_l1() : void > : ^^^^ >i1_i.nc_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i1_i : i1 > : ^^ >nc_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ class c2 { >c2 : c2 @@ -790,161 +790,161 @@ i2_i.i2_f1(); >i2_i.i2_f1() : void > : ^^^^ >i2_i.i2_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i2_i : i2 > : ^^ >i2_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i2_i.i2_nc_f1(); >i2_i.i2_nc_f1() : void > : ^^^^ >i2_i.i2_nc_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i2_i : i2 > : ^^ >i2_nc_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i2_i.f1(); >i2_i.f1() : void > : ^^^^ >i2_i.f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i2_i : i2 > : ^^ >f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i2_i.nc_f1(); >i2_i.nc_f1() : void > : ^^^^ >i2_i.nc_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i2_i : i2 > : ^^ >nc_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i2_i.i2_l1(); >i2_i.i2_l1() : void > : ^^^^ >i2_i.i2_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i2_i : i2 > : ^^ >i2_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i2_i.i2_nc_l1(); >i2_i.i2_nc_l1() : void > : ^^^^ >i2_i.i2_nc_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i2_i : i2 > : ^^ >i2_nc_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i2_i.l1(); >i2_i.l1() : void > : ^^^^ >i2_i.l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i2_i : i2 > : ^^ >l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i2_i.nc_l1(); >i2_i.nc_l1() : void > : ^^^^ >i2_i.nc_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i2_i : i2 > : ^^ >nc_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i3_i.i2_f1(); >i3_i.i2_f1() : void > : ^^^^ >i3_i.i2_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i3_i : i3 > : ^^ >i2_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i3_i.i2_nc_f1(); >i3_i.i2_nc_f1() : void > : ^^^^ >i3_i.i2_nc_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i3_i : i3 > : ^^ >i2_nc_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i3_i.f1(); >i3_i.f1() : void > : ^^^^ >i3_i.f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i3_i : i3 > : ^^ >f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i3_i.nc_f1(); >i3_i.nc_f1() : void > : ^^^^ >i3_i.nc_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i3_i : i3 > : ^^ >nc_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i3_i.i2_l1(); >i3_i.i2_l1() : void > : ^^^^ >i3_i.i2_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i3_i : i3 > : ^^ >i2_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i3_i.i2_nc_l1(); >i3_i.i2_nc_l1() : void > : ^^^^ >i3_i.i2_nc_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i3_i : i3 > : ^^ >i2_nc_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i3_i.l1(); >i3_i.l1() : void > : ^^^^ >i3_i.l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i3_i : i3 > : ^^ >l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i3_i.nc_l1(); >i3_i.nc_l1() : void > : ^^^^ >i3_i.nc_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i3_i : i3 > : ^^ >nc_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ // assign to interface i2_i = i3_i; @@ -959,81 +959,81 @@ i2_i.i2_f1(); >i2_i.i2_f1() : void > : ^^^^ >i2_i.i2_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i2_i : i2 > : ^^ >i2_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i2_i.i2_nc_f1(); >i2_i.i2_nc_f1() : void > : ^^^^ >i2_i.i2_nc_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i2_i : i2 > : ^^ >i2_nc_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i2_i.f1(); >i2_i.f1() : void > : ^^^^ >i2_i.f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i2_i : i2 > : ^^ >f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i2_i.nc_f1(); >i2_i.nc_f1() : void > : ^^^^ >i2_i.nc_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i2_i : i2 > : ^^ >nc_f1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i2_i.i2_l1(); >i2_i.i2_l1() : void > : ^^^^ >i2_i.i2_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i2_i : i2 > : ^^ >i2_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i2_i.i2_nc_l1(); >i2_i.i2_nc_l1() : void > : ^^^^ >i2_i.i2_nc_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i2_i : i2 > : ^^ >i2_nc_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i2_i.l1(); >i2_i.l1() : void > : ^^^^ >i2_i.l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i2_i : i2 > : ^^ >l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ i2_i.nc_l1(); >i2_i.nc_l1() : void > : ^^^^ >i2_i.nc_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >i2_i : i2 > : ^^ >nc_l1 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ /**c5 class*/ class c5 { diff --git a/tests/baselines/reference/parserAutomaticSemicolonInsertion1.types b/tests/baselines/reference/parserAutomaticSemicolonInsertion1.types index 669caa803fe5c..1ad441045c569 100644 --- a/tests/baselines/reference/parserAutomaticSemicolonInsertion1.types +++ b/tests/baselines/reference/parserAutomaticSemicolonInsertion1.types @@ -37,17 +37,17 @@ var a: { } o = a; >o = a : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >o : Object > : ^^^^^^ >a : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ a = o; >a = o : Object > : ^^^^^^ >a : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >o : Object > : ^^^^^^ diff --git a/tests/baselines/reference/parserErrantEqualsGreaterThanAfterFunction2.types b/tests/baselines/reference/parserErrantEqualsGreaterThanAfterFunction2.types index c081e3e394ad1..b1e08f535a2e3 100644 --- a/tests/baselines/reference/parserErrantEqualsGreaterThanAfterFunction2.types +++ b/tests/baselines/reference/parserErrantEqualsGreaterThanAfterFunction2.types @@ -3,7 +3,7 @@ === parserErrantEqualsGreaterThanAfterFunction2.ts === function f(p: A) => p; >f : (p: A) => any -> : ^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >p : A > : ^ >p : any diff --git a/tests/baselines/reference/parserErrantSemicolonInClass1.types b/tests/baselines/reference/parserErrantSemicolonInClass1.types index c4424a6510753..86671ebf34754 100644 --- a/tests/baselines/reference/parserErrantSemicolonInClass1.types +++ b/tests/baselines/reference/parserErrantSemicolonInClass1.types @@ -76,19 +76,19 @@ class a { private foo(n: number): string; >foo : { (n: number): string; (s: string): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ private foo(s: string): string; >foo : { (n: number): string; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ private foo(ns: any) { >foo : { (n: number): string; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >ns : any > : ^^^ diff --git a/tests/baselines/reference/parserErrorRecovery_IncompleteMemberVariable1.types b/tests/baselines/reference/parserErrorRecovery_IncompleteMemberVariable1.types index 4ba6e4f820dbe..3450d8be6e31b 100644 --- a/tests/baselines/reference/parserErrorRecovery_IncompleteMemberVariable1.types +++ b/tests/baselines/reference/parserErrorRecovery_IncompleteMemberVariable1.types @@ -36,11 +36,11 @@ module Shapes { >Math.sqrt(this.x * this.x + this.y * this.y) : number > : ^^^^^^ >Math.sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this.x * this.x + this.y * this.y : number > : ^^^^^^ >this.x * this.x : number @@ -111,9 +111,9 @@ var dist = p.getDist(); >p.getDist() : number > : ^^^^^^ >p.getDist : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >p : IPoint > : ^^^^^^ >getDist : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/parserErrorRecovery_IncompleteMemberVariable2.types b/tests/baselines/reference/parserErrorRecovery_IncompleteMemberVariable2.types index f3a9046b986df..615d9357f26ea 100644 --- a/tests/baselines/reference/parserErrorRecovery_IncompleteMemberVariable2.types +++ b/tests/baselines/reference/parserErrorRecovery_IncompleteMemberVariable2.types @@ -38,11 +38,11 @@ module Shapes { >Math.sqrt(this.x * this.x + this.y * this.y) : number > : ^^^^^^ >Math.sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this.x * this.x + this.y * this.y : number > : ^^^^^^ >this.x * this.x : number @@ -113,9 +113,9 @@ var dist = p.getDist(); >p.getDist() : number > : ^^^^^^ >p.getDist : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >p : IPoint > : ^^^^^^ >getDist : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/parserErrorRecovery_ParameterList6.types b/tests/baselines/reference/parserErrorRecovery_ParameterList6.types index 72675341e2934..938154e596aeb 100644 --- a/tests/baselines/reference/parserErrorRecovery_ParameterList6.types +++ b/tests/baselines/reference/parserErrorRecovery_ParameterList6.types @@ -7,7 +7,7 @@ class Foo { public banana (x: break) { } >banana : (x: break) => void -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >x : break > : ^^^^^ } diff --git a/tests/baselines/reference/parserExportAsFunctionIdentifier.types b/tests/baselines/reference/parserExportAsFunctionIdentifier.types index 821dcf5a980c8..6f7b906668952 100644 --- a/tests/baselines/reference/parserExportAsFunctionIdentifier.types +++ b/tests/baselines/reference/parserExportAsFunctionIdentifier.types @@ -17,9 +17,9 @@ var x = f.export(); >f.export() : string > : ^^^^^^ >f.export : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >f : Foo > : ^^^ >export : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/parserForInStatement8.types b/tests/baselines/reference/parserForInStatement8.types index 269dbe470c240..cea0dc5625f66 100644 --- a/tests/baselines/reference/parserForInStatement8.types +++ b/tests/baselines/reference/parserForInStatement8.types @@ -21,11 +21,11 @@ for (let [x = 'a' in {}] in { '': 0 }) console.log(x) >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : any > : ^^^ @@ -47,11 +47,11 @@ for (let {x = 'a' in {}} in { '': 0 }) console.log(x) >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : any > : ^^^ diff --git a/tests/baselines/reference/parserForOfStatement25.types b/tests/baselines/reference/parserForOfStatement25.types index fcc8a696957c9..0a80626a619fa 100644 --- a/tests/baselines/reference/parserForOfStatement25.types +++ b/tests/baselines/reference/parserForOfStatement25.types @@ -19,11 +19,11 @@ for (let [x = 'a' in {}] of [[]]) console.log(x) >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : boolean > : ^^^^^^^ @@ -43,11 +43,11 @@ for (let {x = 'a' in {}} of [{}]) console.log(x) >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : any > : ^^^ diff --git a/tests/baselines/reference/parserForStatement9.types b/tests/baselines/reference/parserForStatement9.types index 0d38e3a04c5b1..8f7f2f3f836bb 100644 --- a/tests/baselines/reference/parserForStatement9.types +++ b/tests/baselines/reference/parserForStatement9.types @@ -29,11 +29,11 @@ for (let [x = 'a' in {}] = []; !x; x = !x) console.log(x) >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : boolean > : ^^^^^^^ @@ -63,11 +63,11 @@ for (let {x = 'a' in {}} = {}; !x; x = !x) console.log(x) >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : boolean > : ^^^^^^^ diff --git a/tests/baselines/reference/parserGenericsInTypeContexts1.types b/tests/baselines/reference/parserGenericsInTypeContexts1.types index 6845b6326233c..35f7edf331487 100644 --- a/tests/baselines/reference/parserGenericsInTypeContexts1.types +++ b/tests/baselines/reference/parserGenericsInTypeContexts1.types @@ -37,14 +37,14 @@ var v6: K[]; function f1(a: E) { >f1 : (a: E) => void -> : ^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >a : E > : ^^^^ } function f2(): F { >f2 : () => F -> : ^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/parserGenericsInTypeContexts2.types b/tests/baselines/reference/parserGenericsInTypeContexts2.types index 928bcee3118b6..98fe0538ca6f5 100644 --- a/tests/baselines/reference/parserGenericsInTypeContexts2.types +++ b/tests/baselines/reference/parserGenericsInTypeContexts2.types @@ -37,14 +37,14 @@ var v6: K, Y>>[]; function f1(a: E, Y>>) { >f1 : (a: E, Y>>) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >a : E, Y>> > : ^^^^^^^^^^^^^^^^ } function f2(): F, Y>> { >f2 : () => F, Y>> -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/parserInExpression1.types b/tests/baselines/reference/parserInExpression1.types index d9e5dbe50f4c2..a4722c5ac7e06 100644 --- a/tests/baselines/reference/parserInExpression1.types +++ b/tests/baselines/reference/parserInExpression1.types @@ -5,11 +5,11 @@ console.log("a" in { "a": true }); >console.log("a" in { "a": true }) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"a" in { "a": true } : boolean > : ^^^^^^^ >"a" : "a" diff --git a/tests/baselines/reference/parserMissingLambdaOpenBrace1.types b/tests/baselines/reference/parserMissingLambdaOpenBrace1.types index e1c3c66d02847..1745d213e848e 100644 --- a/tests/baselines/reference/parserMissingLambdaOpenBrace1.types +++ b/tests/baselines/reference/parserMissingLambdaOpenBrace1.types @@ -7,7 +7,7 @@ class C { where(filter: Iterator): Query { >where : (filter: Iterator) => Query -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >filter : Iterator > : ^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/parserMissingToken2.errors.txt b/tests/baselines/reference/parserMissingToken2.errors.txt index e1f7c4f8fb230..71aab05b9600e 100644 --- a/tests/baselines/reference/parserMissingToken2.errors.txt +++ b/tests/baselines/reference/parserMissingToken2.errors.txt @@ -1,7 +1,7 @@ -parserMissingToken2.ts(1,2): error TS1161: Unterminated regular expression literal. +parserMissingToken2.ts(1,1): error TS1161: Unterminated regular expression literal. ==== parserMissingToken2.ts (1 errors) ==== / b; - + ~~~ !!! error TS1161: Unterminated regular expression literal. \ No newline at end of file diff --git a/tests/baselines/reference/parserMissingToken2.js b/tests/baselines/reference/parserMissingToken2.js index c4c6a4220d0ba..1faf9ad4971f9 100644 --- a/tests/baselines/reference/parserMissingToken2.js +++ b/tests/baselines/reference/parserMissingToken2.js @@ -4,4 +4,4 @@ / b; //// [parserMissingToken2.js] -/ b;; +/ b; diff --git a/tests/baselines/reference/parserMissingToken2.types b/tests/baselines/reference/parserMissingToken2.types index 88a03e78264e0..ef9428be503a2 100644 --- a/tests/baselines/reference/parserMissingToken2.types +++ b/tests/baselines/reference/parserMissingToken2.types @@ -2,6 +2,6 @@ === parserMissingToken2.ts === / b; ->/ b; : RegExp -> : ^^^^^^ +>/ b : RegExp +> : ^^^^^^ diff --git a/tests/baselines/reference/parserModule1.types b/tests/baselines/reference/parserModule1.types index 51088fbab3ca1..d4f0a3e9d931c 100644 --- a/tests/baselines/reference/parserModule1.types +++ b/tests/baselines/reference/parserModule1.types @@ -43,11 +43,11 @@ >diagnosticWriter.Alert(output) : void > : ^^^^ >diagnosticWriter.Alert : (output: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >diagnosticWriter : IDiagnosticWriter > : ^^^^^^^^^^^^^^^^^ >Alert : (output: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >output : string > : ^^^^^^ } diff --git a/tests/baselines/reference/parserNotHexLiteral1.types b/tests/baselines/reference/parserNotHexLiteral1.types index d8b7632117a2a..4758318b93982 100644 --- a/tests/baselines/reference/parserNotHexLiteral1.types +++ b/tests/baselines/reference/parserNotHexLiteral1.types @@ -19,11 +19,11 @@ console.info (x.x0); >console.info (x.x0) : void > : ^^^^ >console.info : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >info : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x.x0 : string > : ^^^^^^ >x : { e0: string; x0: string; } @@ -37,11 +37,11 @@ console.info (x.e0); >console.info (x.e0) : void > : ^^^^ >console.info : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >info : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x.e0 : string > : ^^^^^^ >x : { e0: string; x0: string; } diff --git a/tests/baselines/reference/parserObjectType5.types b/tests/baselines/reference/parserObjectType5.types index 0c8474a789bc4..fceba9551ba58 100644 --- a/tests/baselines/reference/parserObjectType5.types +++ b/tests/baselines/reference/parserObjectType5.types @@ -3,7 +3,7 @@ === parserObjectType5.ts === var v: { >v : { (): any; A: B; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^^ A: B >A : B diff --git a/tests/baselines/reference/parserObjectType6.types b/tests/baselines/reference/parserObjectType6.types index 990045de90b02..9d487d9bbee74 100644 --- a/tests/baselines/reference/parserObjectType6.types +++ b/tests/baselines/reference/parserObjectType6.types @@ -3,7 +3,7 @@ === parserObjectType6.ts === var v: { >v : { a: B; } -> : ^^^^^^^^^ +> : ^^^^^ ^^^ a: B >a : B diff --git a/tests/baselines/reference/parserOverloadOnConstants1.types b/tests/baselines/reference/parserOverloadOnConstants1.types index c1b3e32117aee..72d6b1b2091bd 100644 --- a/tests/baselines/reference/parserOverloadOnConstants1.types +++ b/tests/baselines/reference/parserOverloadOnConstants1.types @@ -3,26 +3,26 @@ === parserOverloadOnConstants1.ts === interface Document { createElement(tagName: string): HTMLElement; ->createElement : { (tagName: K, options?: ElementCreationOptions): HTMLElementTagNameMap[K]; (tagName: K_1, options?: ElementCreationOptions): HTMLElementDeprecatedTagNameMap[K_1]; (tagName: string, options?: ElementCreationOptions): HTMLElement; (tagName: string): HTMLElement; (tagName: "canvas"): HTMLCanvasElement; (tagName: "div"): HTMLDivElement; (tagName: "span"): HTMLSpanElement; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>createElement : { (tagName: K, options?: ElementCreationOptions): HTMLElementTagNameMap[K]; (tagName: K, options?: ElementCreationOptions): HTMLElementDeprecatedTagNameMap[K]; (tagName: string, options?: ElementCreationOptions): HTMLElement; (tagName: string): HTMLElement; (tagName: "canvas"): HTMLCanvasElement; (tagName: "div"): HTMLDivElement; (tagName: "span"): HTMLSpanElement; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >tagName : string > : ^^^^^^ createElement(tagName: 'canvas'): HTMLCanvasElement; ->createElement : { (tagName: K, options?: ElementCreationOptions): HTMLElementTagNameMap[K]; (tagName: K_1, options?: ElementCreationOptions): HTMLElementDeprecatedTagNameMap[K_1]; (tagName: string, options?: ElementCreationOptions): HTMLElement; (tagName: string): HTMLElement; (tagName: "canvas"): HTMLCanvasElement; (tagName: "div"): HTMLDivElement; (tagName: "span"): HTMLSpanElement; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>createElement : { (tagName: K, options?: ElementCreationOptions): HTMLElementTagNameMap[K]; (tagName: K, options?: ElementCreationOptions): HTMLElementDeprecatedTagNameMap[K]; (tagName: string, options?: ElementCreationOptions): HTMLElement; (tagName: string): HTMLElement; (tagName: "canvas"): HTMLCanvasElement; (tagName: "div"): HTMLDivElement; (tagName: "span"): HTMLSpanElement; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >tagName : "canvas" > : ^^^^^^^^ createElement(tagName: 'div'): HTMLDivElement; ->createElement : { (tagName: K, options?: ElementCreationOptions): HTMLElementTagNameMap[K]; (tagName: K_1, options?: ElementCreationOptions): HTMLElementDeprecatedTagNameMap[K_1]; (tagName: string, options?: ElementCreationOptions): HTMLElement; (tagName: string): HTMLElement; (tagName: "canvas"): HTMLCanvasElement; (tagName: "div"): HTMLDivElement; (tagName: "span"): HTMLSpanElement; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>createElement : { (tagName: K, options?: ElementCreationOptions): HTMLElementTagNameMap[K]; (tagName: K, options?: ElementCreationOptions): HTMLElementDeprecatedTagNameMap[K]; (tagName: string, options?: ElementCreationOptions): HTMLElement; (tagName: string): HTMLElement; (tagName: "canvas"): HTMLCanvasElement; (tagName: "div"): HTMLDivElement; (tagName: "span"): HTMLSpanElement; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >tagName : "div" > : ^^^^^ createElement(tagName: 'span'): HTMLSpanElement; ->createElement : { (tagName: K, options?: ElementCreationOptions): HTMLElementTagNameMap[K]; (tagName: K_1, options?: ElementCreationOptions): HTMLElementDeprecatedTagNameMap[K_1]; (tagName: string, options?: ElementCreationOptions): HTMLElement; (tagName: string): HTMLElement; (tagName: "canvas"): HTMLCanvasElement; (tagName: "div"): HTMLDivElement; (tagName: "span"): HTMLSpanElement; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>createElement : { (tagName: K, options?: ElementCreationOptions): HTMLElementTagNameMap[K]; (tagName: K, options?: ElementCreationOptions): HTMLElementDeprecatedTagNameMap[K]; (tagName: string, options?: ElementCreationOptions): HTMLElement; (tagName: string): HTMLElement; (tagName: "canvas"): HTMLCanvasElement; (tagName: "div"): HTMLDivElement; (tagName: "span"): HTMLSpanElement; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >tagName : "span" > : ^^^^^^ } diff --git a/tests/baselines/reference/parserRealSource1.types b/tests/baselines/reference/parserRealSource1.types index dee5527899aab..dd6543ab65839 100644 --- a/tests/baselines/reference/parserRealSource1.types +++ b/tests/baselines/reference/parserRealSource1.types @@ -52,11 +52,11 @@ module TypeScript { >diagnosticWriter.Alert(output) : void > : ^^^^ >diagnosticWriter.Alert : (output: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >diagnosticWriter : IDiagnosticWriter > : ^^^^^^^^^^^^^^^^^ >Alert : (output: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >output : string > : ^^^^^^ } @@ -223,7 +223,7 @@ module TypeScript { >this.logger.information() : boolean > : ^^^^^^^ >this.logger.information : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >this.logger : ILogger > : ^^^^^^^ >this : this @@ -231,7 +231,7 @@ module TypeScript { >logger : ILogger > : ^^^^^^^ >information : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ this._debug = this.logger.debug(); >this._debug = this.logger.debug() : boolean @@ -245,7 +245,7 @@ module TypeScript { >this.logger.debug() : boolean > : ^^^^^^^ >this.logger.debug : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >this.logger : ILogger > : ^^^^^^^ >this : this @@ -253,7 +253,7 @@ module TypeScript { >logger : ILogger > : ^^^^^^^ >debug : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ this._warning = this.logger.warning(); >this._warning = this.logger.warning() : boolean @@ -267,7 +267,7 @@ module TypeScript { >this.logger.warning() : boolean > : ^^^^^^^ >this.logger.warning : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >this.logger : ILogger > : ^^^^^^^ >this : this @@ -275,7 +275,7 @@ module TypeScript { >logger : ILogger > : ^^^^^^^ >warning : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ this._error = this.logger.error(); >this._error = this.logger.error() : boolean @@ -289,7 +289,7 @@ module TypeScript { >this.logger.error() : boolean > : ^^^^^^^ >this.logger.error : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >this.logger : ILogger > : ^^^^^^^ >this : this @@ -297,7 +297,7 @@ module TypeScript { >logger : ILogger > : ^^^^^^^ >error : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ this._fatal = this.logger.fatal(); >this._fatal = this.logger.fatal() : boolean @@ -311,7 +311,7 @@ module TypeScript { >this.logger.fatal() : boolean > : ^^^^^^^ >this.logger.fatal : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >this.logger : ILogger > : ^^^^^^^ >this : this @@ -319,7 +319,7 @@ module TypeScript { >logger : ILogger > : ^^^^^^^ >fatal : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } @@ -383,7 +383,7 @@ module TypeScript { >this.logger.log(s) : void > : ^^^^ >this.logger.log : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >this.logger : ILogger > : ^^^^^^^ >this : this @@ -391,7 +391,7 @@ module TypeScript { >logger : ILogger > : ^^^^^^^ >log : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >s : string > : ^^^^^^ } @@ -447,7 +447,7 @@ module TypeScript { >this.logContents.push(s) : number > : ^^^^^^ >this.logContents.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >this.logContents : any[] > : ^^^^^ >this : this @@ -455,7 +455,7 @@ module TypeScript { >logContents : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >s : string > : ^^^^^^ } @@ -487,7 +487,7 @@ module TypeScript { >func() : any > : ^^^ >func : () => any -> : ^^^^^^^^^ +> : ^^^^^^ var end = +new Date(); >end : number @@ -503,11 +503,11 @@ module TypeScript { >logger.log(funcDescription + " completed in " + (end - start) + " msec") : void > : ^^^^ >logger.log : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >logger : ILogger > : ^^^^^^^ >log : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >funcDescription + " completed in " + (end - start) + " msec" : string > : ^^^^^^ >funcDescription + " completed in " + (end - start) : string @@ -562,11 +562,11 @@ module TypeScript { >value.charCodeAt(index) : number > : ^^^^^^ >value.charCodeAt : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >value : string > : ^^^^^^ >charCodeAt : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >index : number > : ^^^^^^ @@ -687,11 +687,11 @@ module TypeScript { >value.charAt(index) : string > : ^^^^^^ >value.charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >value : string > : ^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >index : number > : ^^^^^^ } diff --git a/tests/baselines/reference/parserRealSource10.types b/tests/baselines/reference/parserRealSource10.types index 397ed079c4d0c..3ba5196d8a27d 100644 --- a/tests/baselines/reference/parserRealSource10.types +++ b/tests/baselines/reference/parserRealSource10.types @@ -886,7 +886,7 @@ module TypeScript { function setTokenInfo(tokenId: TokenID, reservation: number, binopPrecedence: number, >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >tokenId : TokenID > : ^^^^^^^ >reservation : number @@ -1015,7 +1015,7 @@ module TypeScript { >setTokenInfo(TokenID.Any, Reservation.TypeScript, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "any", ErrorRecoverySet.PrimType) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Any : TokenID.Any > : ^^^^^^^^^^^ >TokenID : typeof TokenID @@ -1065,7 +1065,7 @@ module TypeScript { >setTokenInfo(TokenID.Bool, Reservation.TypeScript, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "boolean", ErrorRecoverySet.PrimType) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Bool : TokenID.Bool > : ^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -1115,7 +1115,7 @@ module TypeScript { >setTokenInfo(TokenID.Break, Reservation.TypeScriptAndJS, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "break", ErrorRecoverySet.Stmt) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Break : TokenID.Break > : ^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -1165,7 +1165,7 @@ module TypeScript { >setTokenInfo(TokenID.Case, Reservation.TypeScriptAndJS, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "case", ErrorRecoverySet.SCase) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Case : TokenID.Case > : ^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -1215,7 +1215,7 @@ module TypeScript { >setTokenInfo(TokenID.Catch, Reservation.TypeScriptAndJS, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "catch", ErrorRecoverySet.Catch) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Catch : TokenID.Catch > : ^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -1265,7 +1265,7 @@ module TypeScript { >setTokenInfo(TokenID.Class, Reservation.TypeScriptAndJSFuture, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "class", ErrorRecoverySet.TypeScriptS) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Class : TokenID.Class > : ^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -1315,7 +1315,7 @@ module TypeScript { >setTokenInfo(TokenID.Const, Reservation.TypeScriptAndJSFuture, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "const", ErrorRecoverySet.Var) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Const : TokenID.Const > : ^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -1365,7 +1365,7 @@ module TypeScript { >setTokenInfo(TokenID.Continue, Reservation.TypeScriptAndJS, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "continue", ErrorRecoverySet.Stmt) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Continue : TokenID.Continue > : ^^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -1415,7 +1415,7 @@ module TypeScript { >setTokenInfo(TokenID.Debugger, Reservation.TypeScriptAndJS, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.Debugger, "debugger", ErrorRecoverySet.Stmt) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Debugger : TokenID.Debugger > : ^^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -1465,7 +1465,7 @@ module TypeScript { >setTokenInfo(TokenID.Default, Reservation.TypeScriptAndJS, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "default", ErrorRecoverySet.SCase) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Default : TokenID.Default > : ^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -1515,7 +1515,7 @@ module TypeScript { >setTokenInfo(TokenID.Delete, Reservation.TypeScriptAndJS, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.Unary, NodeType.Delete, "delete", ErrorRecoverySet.Prefix) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Delete : TokenID.Delete > : ^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -1565,7 +1565,7 @@ module TypeScript { >setTokenInfo(TokenID.Do, Reservation.TypeScriptAndJS, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "do", ErrorRecoverySet.Stmt) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Do : TokenID.Do > : ^^^^^^^^^^ >TokenID : typeof TokenID @@ -1615,7 +1615,7 @@ module TypeScript { >setTokenInfo(TokenID.Else, Reservation.TypeScriptAndJS, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "else", ErrorRecoverySet.Else) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Else : TokenID.Else > : ^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -1665,7 +1665,7 @@ module TypeScript { >setTokenInfo(TokenID.Enum, Reservation.TypeScriptAndJSFuture, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "enum", ErrorRecoverySet.TypeScriptS) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Enum : TokenID.Enum > : ^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -1715,7 +1715,7 @@ module TypeScript { >setTokenInfo(TokenID.Export, Reservation.TypeScriptAndJSFuture, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "export", ErrorRecoverySet.TypeScriptS) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Export : TokenID.Export > : ^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -1765,7 +1765,7 @@ module TypeScript { >setTokenInfo(TokenID.Extends, Reservation.TypeScriptAndJSFuture, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "extends", ErrorRecoverySet.None) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Extends : TokenID.Extends > : ^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -1815,7 +1815,7 @@ module TypeScript { >setTokenInfo(TokenID.Declare, Reservation.TypeScript, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "declare", ErrorRecoverySet.Stmt) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Declare : TokenID.Declare > : ^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -1865,7 +1865,7 @@ module TypeScript { >setTokenInfo(TokenID.False, Reservation.TypeScriptAndJS, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "false", ErrorRecoverySet.RLit) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.False : TokenID.False > : ^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -1915,7 +1915,7 @@ module TypeScript { >setTokenInfo(TokenID.Finally, Reservation.TypeScriptAndJS, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "finally", ErrorRecoverySet.Catch) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Finally : TokenID.Finally > : ^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -1965,7 +1965,7 @@ module TypeScript { >setTokenInfo(TokenID.For, Reservation.TypeScriptAndJS, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "for", ErrorRecoverySet.Stmt) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.For : TokenID.For > : ^^^^^^^^^^^ >TokenID : typeof TokenID @@ -2015,7 +2015,7 @@ module TypeScript { >setTokenInfo(TokenID.Function, Reservation.TypeScriptAndJS, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "function", ErrorRecoverySet.Func) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Function : TokenID.Function > : ^^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -2065,7 +2065,7 @@ module TypeScript { >setTokenInfo(TokenID.Constructor, Reservation.TypeScriptAndJSFutureStrict, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "constructor", ErrorRecoverySet.Func) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Constructor : TokenID.Constructor > : ^^^^^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -2115,7 +2115,7 @@ module TypeScript { >setTokenInfo(TokenID.Get, Reservation.TypeScript, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "get", ErrorRecoverySet.Func) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Get : TokenID.Get > : ^^^^^^^^^^^ >TokenID : typeof TokenID @@ -2165,7 +2165,7 @@ module TypeScript { >setTokenInfo(TokenID.Set, Reservation.TypeScript, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "set", ErrorRecoverySet.Func) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Set : TokenID.Set > : ^^^^^^^^^^^ >TokenID : typeof TokenID @@ -2215,7 +2215,7 @@ module TypeScript { >setTokenInfo(TokenID.If, Reservation.TypeScriptAndJS, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "if", ErrorRecoverySet.Stmt) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.If : TokenID.If > : ^^^^^^^^^^ >TokenID : typeof TokenID @@ -2265,7 +2265,7 @@ module TypeScript { >setTokenInfo(TokenID.Implements, Reservation.TypeScriptAndJSFutureStrict, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "implements", ErrorRecoverySet.None) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Implements : TokenID.Implements > : ^^^^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -2315,7 +2315,7 @@ module TypeScript { >setTokenInfo(TokenID.Import, Reservation.TypeScriptAndJSFuture, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "import", ErrorRecoverySet.TypeScriptS) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Import : TokenID.Import > : ^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -2365,7 +2365,7 @@ module TypeScript { >setTokenInfo(TokenID.In, Reservation.TypeScriptAndJS, OperatorPrecedence.Relational, NodeType.In, OperatorPrecedence.None, NodeType.None, "in", ErrorRecoverySet.None) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.In : TokenID.In > : ^^^^^^^^^^ >TokenID : typeof TokenID @@ -2415,7 +2415,7 @@ module TypeScript { >setTokenInfo(TokenID.InstanceOf, Reservation.TypeScriptAndJS, OperatorPrecedence.Relational, NodeType.InstOf, OperatorPrecedence.None, NodeType.None, "instanceof", ErrorRecoverySet.BinOp) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.InstanceOf : TokenID.InstanceOf > : ^^^^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -2465,7 +2465,7 @@ module TypeScript { >setTokenInfo(TokenID.Interface, Reservation.TypeScriptAndJSFutureStrict, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "interface", ErrorRecoverySet.TypeScriptS) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Interface : TokenID.Interface > : ^^^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -2515,7 +2515,7 @@ module TypeScript { >setTokenInfo(TokenID.Let, Reservation.JavascriptFutureStrict, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "let", ErrorRecoverySet.None) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Let : TokenID.Let > : ^^^^^^^^^^^ >TokenID : typeof TokenID @@ -2565,7 +2565,7 @@ module TypeScript { >setTokenInfo(TokenID.Module, Reservation.TypeScript, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "module", ErrorRecoverySet.TypeScriptS) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Module : TokenID.Module > : ^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -2615,7 +2615,7 @@ module TypeScript { >setTokenInfo(TokenID.New, Reservation.TypeScriptAndJS, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "new", ErrorRecoverySet.PreOp) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.New : TokenID.New > : ^^^^^^^^^^^ >TokenID : typeof TokenID @@ -2665,7 +2665,7 @@ module TypeScript { >setTokenInfo(TokenID.Number, Reservation.TypeScript, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "number", ErrorRecoverySet.PrimType) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Number : TokenID.Number > : ^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -2715,7 +2715,7 @@ module TypeScript { >setTokenInfo(TokenID.Null, Reservation.TypeScriptAndJS, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "null", ErrorRecoverySet.RLit) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Null : TokenID.Null > : ^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -2765,7 +2765,7 @@ module TypeScript { >setTokenInfo(TokenID.Package, Reservation.JavascriptFutureStrict, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "package", ErrorRecoverySet.None) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Package : TokenID.Package > : ^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -2815,7 +2815,7 @@ module TypeScript { >setTokenInfo(TokenID.Private, Reservation.TypeScriptAndJSFutureStrict, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "private", ErrorRecoverySet.TypeScriptS) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Private : TokenID.Private > : ^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -2865,7 +2865,7 @@ module TypeScript { >setTokenInfo(TokenID.Protected, Reservation.JavascriptFutureStrict, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "protected", ErrorRecoverySet.None) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Protected : TokenID.Protected > : ^^^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -2915,7 +2915,7 @@ module TypeScript { >setTokenInfo(TokenID.Public, Reservation.TypeScriptAndJSFutureStrict, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "public", ErrorRecoverySet.TypeScriptS) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Public : TokenID.Public > : ^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -2965,7 +2965,7 @@ module TypeScript { >setTokenInfo(TokenID.Return, Reservation.TypeScriptAndJS, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "return", ErrorRecoverySet.Stmt) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Return : TokenID.Return > : ^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -3015,7 +3015,7 @@ module TypeScript { >setTokenInfo(TokenID.Static, Reservation.TypeScriptAndJSFutureStrict, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "static", ErrorRecoverySet.None) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Static : TokenID.Static > : ^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -3065,7 +3065,7 @@ module TypeScript { >setTokenInfo(TokenID.String, Reservation.TypeScript, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "string", ErrorRecoverySet.PrimType) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.String : TokenID.String > : ^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -3115,7 +3115,7 @@ module TypeScript { >setTokenInfo(TokenID.Super, Reservation.TypeScriptAndJSFuture, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "super", ErrorRecoverySet.RLit) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Super : TokenID.Super > : ^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -3165,7 +3165,7 @@ module TypeScript { >setTokenInfo(TokenID.Switch, Reservation.TypeScriptAndJS, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "switch", ErrorRecoverySet.Stmt) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Switch : TokenID.Switch > : ^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -3215,7 +3215,7 @@ module TypeScript { >setTokenInfo(TokenID.This, Reservation.TypeScriptAndJS, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "this", ErrorRecoverySet.RLit) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.This : TokenID.This > : ^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -3265,7 +3265,7 @@ module TypeScript { >setTokenInfo(TokenID.Throw, Reservation.TypeScriptAndJS, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "throw", ErrorRecoverySet.Stmt) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Throw : TokenID.Throw > : ^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -3315,7 +3315,7 @@ module TypeScript { >setTokenInfo(TokenID.True, Reservation.TypeScriptAndJS, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "true", ErrorRecoverySet.RLit) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.True : TokenID.True > : ^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -3365,7 +3365,7 @@ module TypeScript { >setTokenInfo(TokenID.Try, Reservation.TypeScriptAndJS, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "try", ErrorRecoverySet.Stmt) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Try : TokenID.Try > : ^^^^^^^^^^^ >TokenID : typeof TokenID @@ -3415,7 +3415,7 @@ module TypeScript { >setTokenInfo(TokenID.TypeOf, Reservation.TypeScriptAndJS, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.Unary, NodeType.Typeof, "typeof", ErrorRecoverySet.Prefix) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.TypeOf : TokenID.TypeOf > : ^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -3465,7 +3465,7 @@ module TypeScript { >setTokenInfo(TokenID.Var, Reservation.TypeScriptAndJS, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "var", ErrorRecoverySet.Var) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Var : TokenID.Var > : ^^^^^^^^^^^ >TokenID : typeof TokenID @@ -3515,7 +3515,7 @@ module TypeScript { >setTokenInfo(TokenID.Void, Reservation.TypeScriptAndJS, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.Unary, NodeType.Void, "void", ErrorRecoverySet.Prefix) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Void : TokenID.Void > : ^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -3565,7 +3565,7 @@ module TypeScript { >setTokenInfo(TokenID.With, Reservation.TypeScriptAndJS, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.With, "with", ErrorRecoverySet.Stmt) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.With : TokenID.With > : ^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -3615,7 +3615,7 @@ module TypeScript { >setTokenInfo(TokenID.While, Reservation.TypeScriptAndJS, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "while", ErrorRecoverySet.While) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.While : TokenID.While > : ^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -3665,7 +3665,7 @@ module TypeScript { >setTokenInfo(TokenID.Yield, Reservation.JavascriptFutureStrict, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "yield", ErrorRecoverySet.None) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Yield : TokenID.Yield > : ^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -3715,7 +3715,7 @@ module TypeScript { >setTokenInfo(TokenID.Identifier, Reservation.None, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "identifier", ErrorRecoverySet.ID) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Identifier : TokenID.Identifier > : ^^^^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -3765,7 +3765,7 @@ module TypeScript { >setTokenInfo(TokenID.NumberLiteral, Reservation.None, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "numberLiteral", ErrorRecoverySet.Literal) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.NumberLiteral : TokenID.NumberLiteral > : ^^^^^^^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -3815,7 +3815,7 @@ module TypeScript { >setTokenInfo(TokenID.RegularExpressionLiteral, Reservation.None, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "regex", ErrorRecoverySet.RegExp) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.RegularExpressionLiteral : TokenID.RegularExpressionLiteral > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -3865,7 +3865,7 @@ module TypeScript { >setTokenInfo(TokenID.StringLiteral, Reservation.None, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "qstring", ErrorRecoverySet.Literal) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.StringLiteral : TokenID.StringLiteral > : ^^^^^^^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -3916,7 +3916,7 @@ module TypeScript { >setTokenInfo(TokenID.Semicolon, Reservation.None, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, ";", ErrorRecoverySet.SColon) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Semicolon : TokenID.Semicolon > : ^^^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -3966,7 +3966,7 @@ module TypeScript { >setTokenInfo(TokenID.CloseParen, Reservation.None, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, ")", ErrorRecoverySet.RParen) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.CloseParen : TokenID.CloseParen > : ^^^^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -4016,7 +4016,7 @@ module TypeScript { >setTokenInfo(TokenID.CloseBracket, Reservation.None, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "]", ErrorRecoverySet.RBrack) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.CloseBracket : TokenID.CloseBracket > : ^^^^^^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -4066,7 +4066,7 @@ module TypeScript { >setTokenInfo(TokenID.OpenBrace, Reservation.None, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "{", ErrorRecoverySet.LCurly) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.OpenBrace : TokenID.OpenBrace > : ^^^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -4116,7 +4116,7 @@ module TypeScript { >setTokenInfo(TokenID.CloseBrace, Reservation.None, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "}", ErrorRecoverySet.RCurly) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.CloseBrace : TokenID.CloseBrace > : ^^^^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -4166,7 +4166,7 @@ module TypeScript { >setTokenInfo(TokenID.DotDotDot, Reservation.None, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "...", ErrorRecoverySet.None) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.DotDotDot : TokenID.DotDotDot > : ^^^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -4217,7 +4217,7 @@ module TypeScript { >setTokenInfo(TokenID.Comma, Reservation.None, OperatorPrecedence.Comma, NodeType.Comma, OperatorPrecedence.None, NodeType.None, ",", ErrorRecoverySet.Comma) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Comma : TokenID.Comma > : ^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -4267,7 +4267,7 @@ module TypeScript { >setTokenInfo(TokenID.Equals, Reservation.None, OperatorPrecedence.Assignment, NodeType.Asg, OperatorPrecedence.None, NodeType.None, "=", ErrorRecoverySet.Asg) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Equals : TokenID.Equals > : ^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -4317,7 +4317,7 @@ module TypeScript { >setTokenInfo(TokenID.PlusEquals, Reservation.None, OperatorPrecedence.Assignment, NodeType.AsgAdd, OperatorPrecedence.None, NodeType.None, "+=", ErrorRecoverySet.BinOp) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.PlusEquals : TokenID.PlusEquals > : ^^^^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -4367,7 +4367,7 @@ module TypeScript { >setTokenInfo(TokenID.MinusEquals, Reservation.None, OperatorPrecedence.Assignment, NodeType.AsgSub, OperatorPrecedence.None, NodeType.None, "-=", ErrorRecoverySet.BinOp) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.MinusEquals : TokenID.MinusEquals > : ^^^^^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -4417,7 +4417,7 @@ module TypeScript { >setTokenInfo(TokenID.AsteriskEquals, Reservation.None, OperatorPrecedence.Assignment, NodeType.AsgMul, OperatorPrecedence.None, NodeType.None, "*=", ErrorRecoverySet.BinOp) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.AsteriskEquals : TokenID.AsteriskEquals > : ^^^^^^^^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -4467,7 +4467,7 @@ module TypeScript { >setTokenInfo(TokenID.SlashEquals, Reservation.None, OperatorPrecedence.Assignment, NodeType.AsgDiv, OperatorPrecedence.None, NodeType.None, "/=", ErrorRecoverySet.BinOp) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.SlashEquals : TokenID.SlashEquals > : ^^^^^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -4517,7 +4517,7 @@ module TypeScript { >setTokenInfo(TokenID.PercentEquals, Reservation.None, OperatorPrecedence.Assignment, NodeType.AsgMod, OperatorPrecedence.None, NodeType.None, "%=", ErrorRecoverySet.BinOp) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.PercentEquals : TokenID.PercentEquals > : ^^^^^^^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -4567,7 +4567,7 @@ module TypeScript { >setTokenInfo(TokenID.AmpersandEquals, Reservation.None, OperatorPrecedence.Assignment, NodeType.AsgAnd, OperatorPrecedence.None, NodeType.None, "&=", ErrorRecoverySet.BinOp) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.AmpersandEquals : TokenID.AmpersandEquals > : ^^^^^^^^^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -4617,7 +4617,7 @@ module TypeScript { >setTokenInfo(TokenID.CaretEquals, Reservation.None, OperatorPrecedence.Assignment, NodeType.AsgXor, OperatorPrecedence.None, NodeType.None, "^=", ErrorRecoverySet.BinOp) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.CaretEquals : TokenID.CaretEquals > : ^^^^^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -4667,7 +4667,7 @@ module TypeScript { >setTokenInfo(TokenID.BarEquals, Reservation.None, OperatorPrecedence.Assignment, NodeType.AsgOr, OperatorPrecedence.None, NodeType.None, "|=", ErrorRecoverySet.BinOp) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.BarEquals : TokenID.BarEquals > : ^^^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -4717,7 +4717,7 @@ module TypeScript { >setTokenInfo(TokenID.LessThanLessThanEquals, Reservation.None, OperatorPrecedence.Assignment, NodeType.AsgLsh, OperatorPrecedence.None, NodeType.None, "<<=", ErrorRecoverySet.BinOp) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.LessThanLessThanEquals : TokenID.LessThanLessThanEquals > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -4767,7 +4767,7 @@ module TypeScript { >setTokenInfo(TokenID.GreaterThanGreaterThanEquals, Reservation.None, OperatorPrecedence.Assignment, NodeType.AsgRsh, OperatorPrecedence.None, NodeType.None, ">>=", ErrorRecoverySet.BinOp) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.GreaterThanGreaterThanEquals : TokenID.GreaterThanGreaterThanEquals > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -4817,7 +4817,7 @@ module TypeScript { >setTokenInfo(TokenID.GreaterThanGreaterThanGreaterThanEquals, Reservation.None, OperatorPrecedence.Assignment, NodeType.AsgRs2, OperatorPrecedence.None, NodeType.None, ">>>=", ErrorRecoverySet.BinOp) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.GreaterThanGreaterThanGreaterThanEquals : TokenID.GreaterThanGreaterThanGreaterThanEquals > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -4867,7 +4867,7 @@ module TypeScript { >setTokenInfo(TokenID.Question, Reservation.None, OperatorPrecedence.Conditional, NodeType.ConditionalExpression, OperatorPrecedence.None, NodeType.None, "?", ErrorRecoverySet.BinOp) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Question : TokenID.Question > : ^^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -4917,7 +4917,7 @@ module TypeScript { >setTokenInfo(TokenID.Colon, Reservation.None, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, ":", ErrorRecoverySet.Colon) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Colon : TokenID.Colon > : ^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -4967,7 +4967,7 @@ module TypeScript { >setTokenInfo(TokenID.BarBar, Reservation.None, OperatorPrecedence.LogicalOr, NodeType.LogOr, OperatorPrecedence.None, NodeType.None, "||", ErrorRecoverySet.BinOp) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.BarBar : TokenID.BarBar > : ^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -5017,7 +5017,7 @@ module TypeScript { >setTokenInfo(TokenID.AmpersandAmpersand, Reservation.None, OperatorPrecedence.LogicalAnd, NodeType.LogAnd, OperatorPrecedence.None, NodeType.None, "&&", ErrorRecoverySet.BinOp) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.AmpersandAmpersand : TokenID.AmpersandAmpersand > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -5067,7 +5067,7 @@ module TypeScript { >setTokenInfo(TokenID.Bar, Reservation.None, OperatorPrecedence.BitwiseOr, NodeType.Or, OperatorPrecedence.None, NodeType.None, "|", ErrorRecoverySet.BinOp) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Bar : TokenID.Bar > : ^^^^^^^^^^^ >TokenID : typeof TokenID @@ -5117,7 +5117,7 @@ module TypeScript { >setTokenInfo(TokenID.Caret, Reservation.None, OperatorPrecedence.BitwiseExclusiveOr, NodeType.Xor, OperatorPrecedence.None, NodeType.None, "^", ErrorRecoverySet.BinOp) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Caret : TokenID.Caret > : ^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -5167,7 +5167,7 @@ module TypeScript { >setTokenInfo(TokenID.And, Reservation.None, OperatorPrecedence.BitwiseAnd, NodeType.And, OperatorPrecedence.None, NodeType.None, "&", ErrorRecoverySet.BinOp) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.And : TokenID.And > : ^^^^^^^^^^^ >TokenID : typeof TokenID @@ -5217,7 +5217,7 @@ module TypeScript { >setTokenInfo(TokenID.EqualsEquals, Reservation.None, OperatorPrecedence.Equality, NodeType.Eq, OperatorPrecedence.None, NodeType.None, "==", ErrorRecoverySet.BinOp) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.EqualsEquals : TokenID.EqualsEquals > : ^^^^^^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -5267,7 +5267,7 @@ module TypeScript { >setTokenInfo(TokenID.ExclamationEquals, Reservation.None, OperatorPrecedence.Equality, NodeType.Ne, OperatorPrecedence.None, NodeType.None, "!=", ErrorRecoverySet.BinOp) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.ExclamationEquals : TokenID.ExclamationEquals > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -5317,7 +5317,7 @@ module TypeScript { >setTokenInfo(TokenID.EqualsEqualsEquals, Reservation.None, OperatorPrecedence.Equality, NodeType.Eqv, OperatorPrecedence.None, NodeType.None, "===", ErrorRecoverySet.BinOp) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.EqualsEqualsEquals : TokenID.EqualsEqualsEquals > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -5367,7 +5367,7 @@ module TypeScript { >setTokenInfo(TokenID.ExclamationEqualsEquals, Reservation.None, OperatorPrecedence.Equality, NodeType.NEqv, OperatorPrecedence.None, NodeType.None, "!==", ErrorRecoverySet.BinOp) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.ExclamationEqualsEquals : TokenID.ExclamationEqualsEquals > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -5417,7 +5417,7 @@ module TypeScript { >setTokenInfo(TokenID.LessThan, Reservation.None, OperatorPrecedence.Relational, NodeType.Lt, OperatorPrecedence.None, NodeType.None, "<", ErrorRecoverySet.BinOp) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.LessThan : TokenID.LessThan > : ^^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -5467,7 +5467,7 @@ module TypeScript { >setTokenInfo(TokenID.LessThanEquals, Reservation.None, OperatorPrecedence.Relational, NodeType.Le, OperatorPrecedence.None, NodeType.None, "<=", ErrorRecoverySet.BinOp) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.LessThanEquals : TokenID.LessThanEquals > : ^^^^^^^^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -5517,7 +5517,7 @@ module TypeScript { >setTokenInfo(TokenID.GreaterThan, Reservation.None, OperatorPrecedence.Relational, NodeType.Gt, OperatorPrecedence.None, NodeType.None, ">", ErrorRecoverySet.BinOp) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.GreaterThan : TokenID.GreaterThan > : ^^^^^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -5567,7 +5567,7 @@ module TypeScript { >setTokenInfo(TokenID.GreaterThanEquals, Reservation.None, OperatorPrecedence.Relational, NodeType.Ge, OperatorPrecedence.None, NodeType.None, ">=", ErrorRecoverySet.BinOp) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.GreaterThanEquals : TokenID.GreaterThanEquals > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -5617,7 +5617,7 @@ module TypeScript { >setTokenInfo(TokenID.LessThanLessThan, Reservation.None, OperatorPrecedence.Shift, NodeType.Lsh, OperatorPrecedence.None, NodeType.None, "<<", ErrorRecoverySet.BinOp) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.LessThanLessThan : TokenID.LessThanLessThan > : ^^^^^^^^^^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -5667,7 +5667,7 @@ module TypeScript { >setTokenInfo(TokenID.GreaterThanGreaterThan, Reservation.None, OperatorPrecedence.Shift, NodeType.Rsh, OperatorPrecedence.None, NodeType.None, ">>", ErrorRecoverySet.BinOp) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.GreaterThanGreaterThan : TokenID.GreaterThanGreaterThan > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -5717,7 +5717,7 @@ module TypeScript { >setTokenInfo(TokenID.GreaterThanGreaterThanGreaterThan, Reservation.None, OperatorPrecedence.Shift, NodeType.Rs2, OperatorPrecedence.None, NodeType.None, ">>>", ErrorRecoverySet.BinOp) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.GreaterThanGreaterThanGreaterThan : TokenID.GreaterThanGreaterThanGreaterThan > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -5767,7 +5767,7 @@ module TypeScript { >setTokenInfo(TokenID.Plus, Reservation.None, OperatorPrecedence.Additive, NodeType.Add, OperatorPrecedence.Unary, NodeType.Pos, "+", ErrorRecoverySet.AddOp) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Plus : TokenID.Plus > : ^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -5817,7 +5817,7 @@ module TypeScript { >setTokenInfo(TokenID.Minus, Reservation.None, OperatorPrecedence.Additive, NodeType.Sub, OperatorPrecedence.Unary, NodeType.Neg, "-", ErrorRecoverySet.AddOp) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Minus : TokenID.Minus > : ^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -5867,7 +5867,7 @@ module TypeScript { >setTokenInfo(TokenID.Asterisk, Reservation.None, OperatorPrecedence.Multiplicative, NodeType.Mul, OperatorPrecedence.None, NodeType.None, "*", ErrorRecoverySet.BinOp) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Asterisk : TokenID.Asterisk > : ^^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -5917,7 +5917,7 @@ module TypeScript { >setTokenInfo(TokenID.Slash, Reservation.None, OperatorPrecedence.Multiplicative, NodeType.Div, OperatorPrecedence.None, NodeType.None, "/", ErrorRecoverySet.BinOp) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Slash : TokenID.Slash > : ^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -5967,7 +5967,7 @@ module TypeScript { >setTokenInfo(TokenID.Percent, Reservation.None, OperatorPrecedence.Multiplicative, NodeType.Mod, OperatorPrecedence.None, NodeType.None, "%", ErrorRecoverySet.BinOp) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Percent : TokenID.Percent > : ^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -6017,7 +6017,7 @@ module TypeScript { >setTokenInfo(TokenID.Tilde, Reservation.None, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.Unary, NodeType.Not, "~", ErrorRecoverySet.PreOp) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Tilde : TokenID.Tilde > : ^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -6067,7 +6067,7 @@ module TypeScript { >setTokenInfo(TokenID.Exclamation, Reservation.None, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.Unary, NodeType.LogNot, "!", ErrorRecoverySet.PreOp) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Exclamation : TokenID.Exclamation > : ^^^^^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -6117,7 +6117,7 @@ module TypeScript { >setTokenInfo(TokenID.PlusPlus, Reservation.None, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.Unary, NodeType.IncPre, "++", ErrorRecoverySet.PreOp) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.PlusPlus : TokenID.PlusPlus > : ^^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -6167,7 +6167,7 @@ module TypeScript { >setTokenInfo(TokenID.MinusMinus, Reservation.None, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.Unary, NodeType.DecPre, "--", ErrorRecoverySet.PreOp) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.MinusMinus : TokenID.MinusMinus > : ^^^^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -6217,7 +6217,7 @@ module TypeScript { >setTokenInfo(TokenID.OpenParen, Reservation.None, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "(", ErrorRecoverySet.LParen) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.OpenParen : TokenID.OpenParen > : ^^^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -6267,7 +6267,7 @@ module TypeScript { >setTokenInfo(TokenID.OpenBracket, Reservation.None, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "[", ErrorRecoverySet.LBrack) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.OpenBracket : TokenID.OpenBracket > : ^^^^^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -6317,7 +6317,7 @@ module TypeScript { >setTokenInfo(TokenID.Dot, Reservation.None, OperatorPrecedence.Unary, NodeType.None, OperatorPrecedence.None, NodeType.None, ".", ErrorRecoverySet.Dot) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.Dot : TokenID.Dot > : ^^^^^^^^^^^ >TokenID : typeof TokenID @@ -6367,7 +6367,7 @@ module TypeScript { >setTokenInfo(TokenID.EndOfFile, Reservation.None, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "", ErrorRecoverySet.EOF) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.EndOfFile : TokenID.EndOfFile > : ^^^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -6417,7 +6417,7 @@ module TypeScript { >setTokenInfo(TokenID.EqualsGreaterThan, Reservation.None, OperatorPrecedence.None, NodeType.None, OperatorPrecedence.None, NodeType.None, "=>", ErrorRecoverySet.None) : void > : ^^^^ >setTokenInfo : (tokenId: TokenID, reservation: number, binopPrecedence: number, binopNodeType: number, unopPrecedence: number, unopNodeType: number, text: string, ers: ErrorRecoverySet) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >TokenID.EqualsGreaterThan : TokenID.EqualsGreaterThan > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >TokenID : typeof TokenID @@ -6563,11 +6563,11 @@ module TypeScript { >this.getText() : string > : ^^^^^^ >this.getText : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >getText : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >" (" : " (" > : ^^^^ >(TokenID)._map[this.tokenId] : any @@ -6683,7 +6683,7 @@ module TypeScript { >lookupToken(this.tokenId) : TokenInfo > : ^^^^^^^^^ >lookupToken : (tokenId: TokenID) => TokenInfo -> : ^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this.tokenId : TokenID > : ^^^^^^^ >this : this @@ -6801,7 +6801,7 @@ module TypeScript { >this.value.toString() : string > : ^^^^^^ >this.value.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >this.value : number > : ^^^^^^ >this : this @@ -6809,13 +6809,13 @@ module TypeScript { >value : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >".0" : ".0" > : ^^^^ >this.value.toString() : string > : ^^^^^^ >this.value.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >this.value : number > : ^^^^^^ >this : this @@ -6823,7 +6823,7 @@ module TypeScript { >value : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } public classification(): TokenClass { diff --git a/tests/baselines/reference/parserRealSource11.types b/tests/baselines/reference/parserRealSource11.types index 060b93efd981c..d941bb4c4efe1 100644 --- a/tests/baselines/reference/parserRealSource11.types +++ b/tests/baselines/reference/parserRealSource11.types @@ -136,7 +136,7 @@ module TypeScript { public typeCheck(typeFlow: TypeFlow) { >typeCheck : (typeFlow: TypeFlow) => any -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >typeFlow : TypeFlow > : ^^^^^^^^ @@ -336,7 +336,7 @@ module TypeScript { public emit(emitter: Emitter, tokenId: TokenID, startLine: boolean) { >emit : (emitter: Emitter, tokenId: TokenID, startLine: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >emitter : Emitter > : ^^^^^^^ >tokenId : TokenID @@ -777,7 +777,7 @@ module TypeScript { public print(context: PrintContext) { >print : (context: PrintContext) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >context : PrintContext > : ^^^^^^^^^^^^ @@ -1055,7 +1055,7 @@ module TypeScript { public addToControlFlow(context: ControlFlowContext): void { >addToControlFlow : (context: ControlFlowContext) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >context : ControlFlowContext > : ^^^^^^^^^^^^^^^^^^ @@ -1095,7 +1095,7 @@ module TypeScript { public netFreeUses(container: Symbol, freeUses: StringHashTable) { >netFreeUses : (container: Symbol, freeUses: StringHashTable) => void -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^ >container : Symbol > : ^^^^^^ >freeUses : StringHashTable @@ -1184,11 +1184,11 @@ module TypeScript { >name.charAt(i) : string > : ^^^^^^ >name.charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >name : string > : ^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i : number > : ^^^^^^ >'\\' : "\\" @@ -1198,11 +1198,11 @@ module TypeScript { >name.charAt(i+1) : string > : ^^^^^^ >name.charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >name : string > : ^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i+1 : number > : ^^^^^^ >i : number @@ -1218,15 +1218,15 @@ module TypeScript { >parseInt(name.substr(i + 2, 4), 16) : number > : ^^^^^^ >parseInt : (string: string, radix?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >name.substr(i + 2, 4) : string > : ^^^^^^ >name.substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >name : string > : ^^^^^^ >substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >i + 2 : number > : ^^^^^^ >i : number @@ -1246,11 +1246,11 @@ module TypeScript { >name.substr(start, i - start) : string > : ^^^^^^ >name.substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >name : string > : ^^^^^^ >substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >start : number > : ^^^^^^ >i - start : number @@ -1268,11 +1268,11 @@ module TypeScript { >String.fromCharCode(charCode) : string > : ^^^^^^ >String.fromCharCode : (...codes: number[]) => string -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >String : StringConstructor > : ^^^^^^^^^^^^^^^^^ >fromCharCode : (...codes: number[]) => string -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >charCode : number > : ^^^^^^ @@ -1309,11 +1309,11 @@ module TypeScript { >name.substring(start) : string > : ^^^^^^ >name.substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >name : string > : ^^^^^^ >substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >start : number > : ^^^^^^ @@ -1411,7 +1411,7 @@ module TypeScript { public addToControlFlow(context: ControlFlowContext) { >addToControlFlow : (context: ControlFlowContext) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >context : ControlFlowContext > : ^^^^^^^^^^^^^^^^^^ @@ -1666,7 +1666,7 @@ module TypeScript { public emit(emitter: Emitter, tokenId: TokenID, startLine: boolean) { >emit : (emitter: Emitter, tokenId: TokenID, startLine: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >emitter : Emitter > : ^^^^^^^ >tokenId : TokenID @@ -1725,7 +1725,7 @@ module TypeScript { public typeCheck(typeFlow: TypeFlow) { >typeCheck : (typeFlow: TypeFlow) => this -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >typeFlow : TypeFlow > : ^^^^^^^^ @@ -1797,7 +1797,7 @@ module TypeScript { >this.members[i].typeCheck(typeFlow) : any > : ^^^ >this.members[i].typeCheck : (typeFlow: TypeFlow) => any -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >this.members[i] : AST > : ^^^ >this.members : AST[] @@ -1809,7 +1809,7 @@ module TypeScript { >i : number > : ^^^^^^ >typeCheck : (typeFlow: TypeFlow) => any -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >typeFlow : TypeFlow > : ^^^^^^^^ } @@ -1933,11 +1933,11 @@ module TypeScript { >AST.getResolvedIdentifierName(actualText) : string > : ^^^^^^ >AST.getResolvedIdentifierName : (name: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >AST : typeof AST > : ^^^^^^^^^^ >getResolvedIdentifierName : (name: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >actualText : string > : ^^^^^^ } @@ -2018,7 +2018,7 @@ module TypeScript { public typeCheck(typeFlow: TypeFlow) { >typeCheck : (typeFlow: TypeFlow) => any -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >typeFlow : TypeFlow > : ^^^^^^^^ @@ -2037,7 +2037,7 @@ module TypeScript { public emit(emitter: Emitter, tokenId: TokenID, startLine: boolean) { >emit : (emitter: Emitter, tokenId: TokenID, startLine: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >emitter : Emitter > : ^^^^^^^ >tokenId : TokenID @@ -2062,7 +2062,7 @@ module TypeScript { public static fromToken(token: Token): Identifier { >fromToken : (token: Token) => Identifier -> : ^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >token : Token > : ^^^^^ @@ -2119,7 +2119,7 @@ module TypeScript { public emit(emitter: Emitter, tokenId: TokenID, startLine: boolean) { >emit : (emitter: Emitter, tokenId: TokenID, startLine: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >emitter : Emitter > : ^^^^^^^ >tokenId : TokenID @@ -2174,7 +2174,7 @@ module TypeScript { public typeCheck(typeFlow: TypeFlow) { >typeCheck : (typeFlow: TypeFlow) => this -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >typeFlow : TypeFlow > : ^^^^^^^^ @@ -2201,7 +2201,7 @@ module TypeScript { public emit(emitter: Emitter, tokenId: TokenID, startLine: boolean) { >emit : (emitter: Emitter, tokenId: TokenID, startLine: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >emitter : Emitter > : ^^^^^^^ >tokenId : TokenID @@ -2390,7 +2390,7 @@ module TypeScript { public addToControlFlow(context: ControlFlowContext): void { >addToControlFlow : (context: ControlFlowContext) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >context : ControlFlowContext > : ^^^^^^^^^^^^^^^^^^ @@ -2398,11 +2398,11 @@ module TypeScript { >super.addToControlFlow(context) : void > : ^^^^ >super.addToControlFlow : (context: ControlFlowContext) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >super : Expression > : ^^^^^^^^^^ >addToControlFlow : (context: ControlFlowContext) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >context : ControlFlowContext > : ^^^^^^^^^^^^^^^^^^ @@ -2437,7 +2437,7 @@ module TypeScript { public typeCheck(typeFlow: TypeFlow) { >typeCheck : (typeFlow: TypeFlow) => any -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >typeFlow : TypeFlow > : ^^^^^^^^ @@ -2992,7 +2992,7 @@ module TypeScript { public emit(emitter: Emitter, tokenId: TokenID, startLine: boolean) { >emit : (emitter: Emitter, tokenId: TokenID, startLine: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >emitter : Emitter > : ^^^^^^^ >tokenId : TokenID @@ -3835,7 +3835,7 @@ module TypeScript { public typeCheck(typeFlow: TypeFlow) { >typeCheck : (typeFlow: TypeFlow) => any -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >typeFlow : TypeFlow > : ^^^^^^^^ @@ -3884,7 +3884,7 @@ module TypeScript { public emit(emitter: Emitter, tokenId: TokenID, startLine: boolean) { >emit : (emitter: Emitter, tokenId: TokenID, startLine: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >emitter : Emitter > : ^^^^^^^ >tokenId : TokenID @@ -4035,7 +4035,7 @@ module TypeScript { public typeCheck(typeFlow: TypeFlow) { >typeCheck : (typeFlow: TypeFlow) => any -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >typeFlow : TypeFlow > : ^^^^^^^^ @@ -4777,7 +4777,7 @@ module TypeScript { public emit(emitter: Emitter, tokenId: TokenID, startLine: boolean) { >emit : (emitter: Emitter, tokenId: TokenID, startLine: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >emitter : Emitter > : ^^^^^^^ >tokenId : TokenID @@ -5447,7 +5447,7 @@ module TypeScript { public typeCheck(typeFlow: TypeFlow) { >typeCheck : (typeFlow: TypeFlow) => any -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >typeFlow : TypeFlow > : ^^^^^^^^ @@ -5466,7 +5466,7 @@ module TypeScript { public emit(emitter: Emitter, tokenId: TokenID, startLine: boolean) { >emit : (emitter: Emitter, tokenId: TokenID, startLine: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >emitter : Emitter > : ^^^^^^^ >tokenId : TokenID @@ -5657,7 +5657,7 @@ module TypeScript { public typeCheck(typeFlow: TypeFlow) { >typeCheck : (typeFlow: TypeFlow) => this -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >typeFlow : TypeFlow > : ^^^^^^^^ @@ -5703,7 +5703,7 @@ module TypeScript { public emit(emitter: Emitter, tokenId: TokenID, startLine: boolean) { >emit : (emitter: Emitter, tokenId: TokenID, startLine: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >emitter : Emitter > : ^^^^^^^ >tokenId : TokenID @@ -5770,7 +5770,7 @@ module TypeScript { >this.value.toString() : string > : ^^^^^^ >this.value.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >this.value : number > : ^^^^^^ >this : this @@ -5778,7 +5778,7 @@ module TypeScript { >value : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ if (this.hasEmptyFraction) >this.hasEmptyFraction : boolean @@ -5837,11 +5837,11 @@ module TypeScript { >Math.floor(this.value) : number > : ^^^^^^ >Math.floor : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >floor : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this.value : number > : ^^^^^^ >this : this @@ -5859,11 +5859,11 @@ module TypeScript { >this.value.toFixed(2).toString() : string > : ^^^^^^ >this.value.toFixed(2).toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this.value.toFixed(2) : string > : ^^^^^^ >this.value.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >this.value : number > : ^^^^^^ >this : this @@ -5871,11 +5871,11 @@ module TypeScript { >value : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >2 : 2 > : ^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } else if (this.hasEmptyFraction) { >this.hasEmptyFraction : boolean @@ -5891,7 +5891,7 @@ module TypeScript { >this.value.toString() : string > : ^^^^^^ >this.value.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >this.value : number > : ^^^^^^ >this : this @@ -5899,7 +5899,7 @@ module TypeScript { >value : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >".0" : ".0" > : ^^^^ } @@ -5908,7 +5908,7 @@ module TypeScript { >this.value.toString() : string > : ^^^^^^ >this.value.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >this.value : number > : ^^^^^^ >this : this @@ -5916,7 +5916,7 @@ module TypeScript { >value : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } } } @@ -5946,7 +5946,7 @@ module TypeScript { public typeCheck(typeFlow: TypeFlow) { >typeCheck : (typeFlow: TypeFlow) => this -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >typeFlow : TypeFlow > : ^^^^^^^^ @@ -5973,7 +5973,7 @@ module TypeScript { public emit(emitter: Emitter, tokenId: TokenID, startLine: boolean) { >emit : (emitter: Emitter, tokenId: TokenID, startLine: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >emitter : Emitter > : ^^^^^^^ >tokenId : TokenID @@ -6082,7 +6082,7 @@ module TypeScript { public emit(emitter: Emitter, tokenId: TokenID, startLine: boolean) { >emit : (emitter: Emitter, tokenId: TokenID, startLine: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >emitter : Emitter > : ^^^^^^^ >tokenId : TokenID @@ -6161,7 +6161,7 @@ module TypeScript { public typeCheck(typeFlow: TypeFlow) { >typeCheck : (typeFlow: TypeFlow) => this -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >typeFlow : TypeFlow > : ^^^^^^^^ @@ -6286,7 +6286,7 @@ module TypeScript { public emit(emitter: Emitter, tokenId: TokenID, startLine: boolean) { >emit : (emitter: Emitter, tokenId: TokenID, startLine: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >emitter : Emitter > : ^^^^^^^ >tokenId : TokenID @@ -6571,7 +6571,7 @@ module TypeScript { public typeCheck(typeFlow: TypeFlow) { >typeCheck : (typeFlow: TypeFlow) => any -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >typeFlow : TypeFlow > : ^^^^^^^^ @@ -6645,11 +6645,11 @@ module TypeScript { >this.getAliasName(dotExpr.operand1) : string > : ^^^^^^ >this.getAliasName : (aliasAST?: AST) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >this : this > : ^^^^ >getAliasName : (aliasAST?: AST) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >dotExpr.operand1 : AST > : ^^^ >dotExpr : BinaryExpression @@ -6661,11 +6661,11 @@ module TypeScript { >this.getAliasName(dotExpr.operand2) : string > : ^^^^^^ >this.getAliasName : (aliasAST?: AST) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >this : this > : ^^^^ >getAliasName : (aliasAST?: AST) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >dotExpr.operand2 : AST > : ^^^ >dotExpr : BinaryExpression @@ -6864,7 +6864,7 @@ module TypeScript { public typeCheck(typeFlow: TypeFlow) { >typeCheck : (typeFlow: TypeFlow) => any -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >typeFlow : TypeFlow > : ^^^^^^^^ @@ -6988,7 +6988,7 @@ module TypeScript { public emit(emitter: Emitter, tokenId: TokenID, startLine: boolean) { >emit : (emitter: Emitter, tokenId: TokenID, startLine: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >emitter : Emitter > : ^^^^^^^ >tokenId : TokenID @@ -7111,7 +7111,7 @@ module TypeScript { public emit(emitter: Emitter, tokenId: TokenID, startLine: boolean) { >emit : (emitter: Emitter, tokenId: TokenID, startLine: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >emitter : Emitter > : ^^^^^^^ >tokenId : TokenID @@ -7583,11 +7583,11 @@ module TypeScript { >outerFnc.addJumpRef(sym) : void > : ^^^^ >outerFnc.addJumpRef : (sym: Symbol) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >outerFnc : FuncDecl > : ^^^^^^^^ >addJumpRef : (sym: Symbol) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >sym : Symbol > : ^^^^^^ @@ -7717,18 +7717,18 @@ module TypeScript { >this.addCloRef(id, null) : number > : ^^^^^^ >this.addCloRef : (id: Identifier, sym: Symbol) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >addCloRef : (id: Identifier, sym: Symbol) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >id : Identifier > : ^^^^^^^^^^ } public buildControlFlow(): ControlFlowContext { >buildControlFlow : () => ControlFlowContext -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var entry = new BasicBlock(); >entry : any @@ -7760,9 +7760,9 @@ module TypeScript { var controlFlowPrefix = (ast: AST, parent: AST, walker: IAstWalker) => { >controlFlowPrefix : (ast: AST, parent: AST, walker: IAstWalker) => AST -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ >(ast: AST, parent: AST, walker: IAstWalker) => { ast.addToControlFlow(walker.state); return ast; } : (ast: AST, parent: AST, walker: IAstWalker) => AST -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ >ast : AST > : ^^^ >parent : AST @@ -7774,11 +7774,11 @@ module TypeScript { >ast.addToControlFlow(walker.state) : void > : ^^^^ >ast.addToControlFlow : (context: ControlFlowContext) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >ast : AST > : ^^^ >addToControlFlow : (context: ControlFlowContext) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >walker.state : any > : ^^^ >walker : IAstWalker @@ -7805,7 +7805,7 @@ module TypeScript { >getWalker : any > : ^^^ >controlFlowPrefix : (ast: AST, parent: AST, walker: IAstWalker) => AST -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ >context : any > : ^^^ @@ -7846,7 +7846,7 @@ module TypeScript { public typeCheck(typeFlow: TypeFlow) { >typeCheck : (typeFlow: TypeFlow) => any -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >typeFlow : TypeFlow > : ^^^^^^^^ @@ -7865,7 +7865,7 @@ module TypeScript { public emit(emitter: Emitter, tokenId: TokenID, startLine: boolean) { >emit : (emitter: Emitter, tokenId: TokenID, startLine: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >emitter : Emitter > : ^^^^^^^ >tokenId : TokenID @@ -8540,7 +8540,7 @@ module TypeScript { public typeCheck(typeFlow: TypeFlow) { >typeCheck : (typeFlow: TypeFlow) => any -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >typeFlow : TypeFlow > : ^^^^^^^^ @@ -8873,7 +8873,7 @@ module TypeScript { public emit(emitter: Emitter, tokenId: TokenID, startLine: boolean) { >emit : (emitter: Emitter, tokenId: TokenID, startLine: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >emitter : Emitter > : ^^^^^^^ >tokenId : TokenID @@ -9231,7 +9231,7 @@ module TypeScript { public typeCheck(typeFlow: TypeFlow) { >typeCheck : (typeFlow: TypeFlow) => any -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >typeFlow : TypeFlow > : ^^^^^^^^ @@ -9250,7 +9250,7 @@ module TypeScript { public emit(emitter: Emitter, tokenId: TokenID, startLine: boolean) { >emit : (emitter: Emitter, tokenId: TokenID, startLine: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >emitter : Emitter > : ^^^^^^^ >tokenId : TokenID @@ -9506,7 +9506,7 @@ module TypeScript { public typeCheck(typeFlow: TypeFlow) { >typeCheck : (typeFlow: TypeFlow) => any -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >typeFlow : TypeFlow > : ^^^^^^^^ @@ -9525,7 +9525,7 @@ module TypeScript { public emit(emitter: Emitter, tokenId: TokenID, startLine: boolean) { >emit : (emitter: Emitter, tokenId: TokenID, startLine: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >emitter : Emitter > : ^^^^^^^ >tokenId : TokenID @@ -9592,7 +9592,7 @@ module TypeScript { public typeCheck(typeFlow: TypeFlow) { >typeCheck : (typeFlow: TypeFlow) => any -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >typeFlow : TypeFlow > : ^^^^^^^^ @@ -9611,7 +9611,7 @@ module TypeScript { public emit(emitter: Emitter, tokenId: TokenID, startLine: boolean) { >emit : (emitter: Emitter, tokenId: TokenID, startLine: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >emitter : Emitter > : ^^^^^^^ >tokenId : TokenID @@ -9682,7 +9682,7 @@ module TypeScript { public typeCheck(typeFlow: TypeFlow) { >typeCheck : (typeFlow: TypeFlow) => this -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >typeFlow : TypeFlow > : ^^^^^^^^ @@ -9735,7 +9735,7 @@ module TypeScript { public emit(emitter: Emitter, tokenId: TokenID, startLine: boolean) { >emit : (emitter: Emitter, tokenId: TokenID, startLine: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >emitter : Emitter > : ^^^^^^^ >tokenId : TokenID @@ -9815,7 +9815,7 @@ module TypeScript { >this.labels.members[i].emit(emitter, tokenId, startLine) : void > : ^^^^ >this.labels.members[i].emit : (emitter: Emitter, tokenId: TokenID, startLine: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >this.labels.members[i] : AST > : ^^^ >this.labels.members : AST[] @@ -9831,7 +9831,7 @@ module TypeScript { >i : number > : ^^^^^^ >emit : (emitter: Emitter, tokenId: TokenID, startLine: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >emitter : Emitter > : ^^^^^^^ >tokenId : TokenID @@ -9844,7 +9844,7 @@ module TypeScript { >this.stmt.emit(emitter, tokenId, true) : void > : ^^^^ >this.stmt.emit : (emitter: Emitter, tokenId: TokenID, startLine: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >this.stmt : AST > : ^^^ >this : this @@ -9852,7 +9852,7 @@ module TypeScript { >stmt : AST > : ^^^ >emit : (emitter: Emitter, tokenId: TokenID, startLine: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >emitter : Emitter > : ^^^^^^^ >tokenId : TokenID @@ -9889,7 +9889,7 @@ module TypeScript { public typeCheck(typeFlow: TypeFlow) { >typeCheck : (typeFlow: TypeFlow) => this -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >typeFlow : TypeFlow > : ^^^^^^^^ @@ -9921,7 +9921,7 @@ module TypeScript { >this.stmt.typeCheck(typeFlow) : any > : ^^^ >this.stmt.typeCheck : (typeFlow: TypeFlow) => any -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >this.stmt : AST > : ^^^ >this : this @@ -9929,7 +9929,7 @@ module TypeScript { >stmt : AST > : ^^^ >typeCheck : (typeFlow: TypeFlow) => any -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >typeFlow : TypeFlow > : ^^^^^^^^ @@ -9940,7 +9940,7 @@ module TypeScript { public addToControlFlow(context: ControlFlowContext): void { >addToControlFlow : (context: ControlFlowContext) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >context : ControlFlowContext > : ^^^^^^^^^^^^^^^^^^ @@ -10017,7 +10017,7 @@ module TypeScript { public emit(emitter: Emitter, tokenId: TokenID, startLine: boolean) { >emit : (emitter: Emitter, tokenId: TokenID, startLine: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >emitter : Emitter > : ^^^^^^^ >tokenId : TokenID @@ -10245,7 +10245,7 @@ module TypeScript { public addToControlFlow(context: ControlFlowContext) { >addToControlFlow : (context: ControlFlowContext) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >context : ControlFlowContext > : ^^^^^^^^^^^^^^^^^^ @@ -10381,7 +10381,7 @@ module TypeScript { public typeCheck(typeFlow: TypeFlow) { >typeCheck : (typeFlow: TypeFlow) => this -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >typeFlow : TypeFlow > : ^^^^^^^^ @@ -10524,7 +10524,7 @@ module TypeScript { public setResolvedTarget(parser: Parser, stmt: Statement): boolean { >setResolvedTarget : (parser: Parser, stmt: Statement) => boolean -> : ^ ^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >parser : Parser > : ^^^^^^ >stmt : Statement @@ -10655,7 +10655,7 @@ module TypeScript { public addToControlFlow(context: ControlFlowContext): void { >addToControlFlow : (context: ControlFlowContext) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >context : ControlFlowContext > : ^^^^^^^^^^^^^^^^^^ @@ -10663,11 +10663,11 @@ module TypeScript { >super.addToControlFlow(context) : void > : ^^^^ >super.addToControlFlow : (context: ControlFlowContext) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >super : Statement > : ^^^^^^^^^ >addToControlFlow : (context: ControlFlowContext) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >context : ControlFlowContext > : ^^^^^^^^^^^^^^^^^^ @@ -10706,7 +10706,7 @@ module TypeScript { public emit(emitter: Emitter, tokenId: TokenID, startLine: boolean) { >emit : (emitter: Emitter, tokenId: TokenID, startLine: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >emitter : Emitter > : ^^^^^^^ >tokenId : TokenID @@ -10886,7 +10886,7 @@ module TypeScript { public emit(emitter: Emitter, tokenId: TokenID, startLine: boolean) { >emit : (emitter: Emitter, tokenId: TokenID, startLine: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >emitter : Emitter > : ^^^^^^^ >tokenId : TokenID @@ -11043,7 +11043,7 @@ module TypeScript { public typeCheck(typeFlow: TypeFlow) { >typeCheck : (typeFlow: TypeFlow) => any -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >typeFlow : TypeFlow > : ^^^^^^^^ @@ -11062,7 +11062,7 @@ module TypeScript { public addToControlFlow(context: ControlFlowContext): void { >addToControlFlow : (context: ControlFlowContext) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >context : ControlFlowContext > : ^^^^^^^^^^^^^^^^^^ @@ -11365,7 +11365,7 @@ module TypeScript { public emit(emitter: Emitter, tokenId: TokenID, startLine: boolean) { >emit : (emitter: Emitter, tokenId: TokenID, startLine: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >emitter : Emitter > : ^^^^^^^ >tokenId : TokenID @@ -11578,7 +11578,7 @@ module TypeScript { public typeCheck(typeFlow: TypeFlow) { >typeCheck : (typeFlow: TypeFlow) => any -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >typeFlow : TypeFlow > : ^^^^^^^^ @@ -11597,7 +11597,7 @@ module TypeScript { public addToControlFlow(context: ControlFlowContext): void { >addToControlFlow : (context: ControlFlowContext) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >context : ControlFlowContext > : ^^^^^^^^^^^^^^^^^^ @@ -11872,7 +11872,7 @@ module TypeScript { public emit(emitter: Emitter, tokenId: TokenID, startLine: boolean) { >emit : (emitter: Emitter, tokenId: TokenID, startLine: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >emitter : Emitter > : ^^^^^^^ >tokenId : TokenID @@ -12101,7 +12101,7 @@ module TypeScript { public typeCheck(typeFlow: TypeFlow) { >typeCheck : (typeFlow: TypeFlow) => any -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >typeFlow : TypeFlow > : ^^^^^^^^ @@ -12120,7 +12120,7 @@ module TypeScript { public addToControlFlow(context: ControlFlowContext): void { >addToControlFlow : (context: ControlFlowContext) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >context : ControlFlowContext > : ^^^^^^^^^^^^^^^^^^ @@ -12128,7 +12128,7 @@ module TypeScript { >this.cond.addToControlFlow(context) : void > : ^^^^ >this.cond.addToControlFlow : (context: ControlFlowContext) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this.cond : AST > : ^^^ >this : this @@ -12136,7 +12136,7 @@ module TypeScript { >cond : AST > : ^^^ >addToControlFlow : (context: ControlFlowContext) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >context : ControlFlowContext > : ^^^^^^^^^^^^^^^^^^ @@ -12530,7 +12530,7 @@ module TypeScript { public emit(emitter: Emitter, tokenId: TokenID, startLine: boolean) { >emit : (emitter: Emitter, tokenId: TokenID, startLine: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >emitter : Emitter > : ^^^^^^^ >tokenId : TokenID @@ -12676,7 +12676,7 @@ module TypeScript { public addToControlFlow(context: ControlFlowContext): void { >addToControlFlow : (context: ControlFlowContext) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >context : ControlFlowContext > : ^^^^^^^^^^^^^^^^^^ @@ -12684,11 +12684,11 @@ module TypeScript { >super.addToControlFlow(context) : void > : ^^^^ >super.addToControlFlow : (context: ControlFlowContext) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >super : Statement > : ^^^^^^^^^ >addToControlFlow : (context: ControlFlowContext) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >context : ControlFlowContext > : ^^^^^^^^^^^^^^^^^^ @@ -12705,7 +12705,7 @@ module TypeScript { public typeCheck(typeFlow: TypeFlow) { >typeCheck : (typeFlow: TypeFlow) => any -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >typeFlow : TypeFlow > : ^^^^^^^^ @@ -13357,7 +13357,7 @@ module TypeScript { public emit(emitter: Emitter, tokenId: TokenID, startLine: boolean) { >emit : (emitter: Emitter, tokenId: TokenID, startLine: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >emitter : Emitter > : ^^^^^^^ >tokenId : TokenID @@ -13582,7 +13582,7 @@ module TypeScript { public typeCheck(typeFlow: TypeFlow) { >typeCheck : (typeFlow: TypeFlow) => any -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >typeFlow : TypeFlow > : ^^^^^^^^ @@ -13652,7 +13652,7 @@ module TypeScript { public addToControlFlow(context: ControlFlowContext): void { >addToControlFlow : (context: ControlFlowContext) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >context : ControlFlowContext > : ^^^^^^^^^^^^^^^^^^ @@ -13942,7 +13942,7 @@ module TypeScript { public emit(emitter: Emitter, tokenId: TokenID, startLine: boolean) { >emit : (emitter: Emitter, tokenId: TokenID, startLine: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >emitter : Emitter > : ^^^^^^^ >tokenId : TokenID @@ -14257,7 +14257,7 @@ module TypeScript { public typeCheck(typeFlow: TypeFlow) { >typeCheck : (typeFlow: TypeFlow) => any -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >typeFlow : TypeFlow > : ^^^^^^^^ @@ -14276,7 +14276,7 @@ module TypeScript { public addToControlFlow(context: ControlFlowContext): void { >addToControlFlow : (context: ControlFlowContext) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >context : ControlFlowContext > : ^^^^^^^^^^^^^^^^^^ @@ -14779,7 +14779,7 @@ module TypeScript { public emit(emitter: Emitter, tokenId: TokenID, startLine: boolean) { >emit : (emitter: Emitter, tokenId: TokenID, startLine: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >emitter : Emitter > : ^^^^^^^ >tokenId : TokenID @@ -14919,7 +14919,7 @@ module TypeScript { public typeCheck(typeFlow: TypeFlow) { >typeCheck : (typeFlow: TypeFlow) => any -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^ >typeFlow : TypeFlow > : ^^^^^^^^ @@ -14984,7 +14984,7 @@ module TypeScript { public emit(emitter: Emitter, tokenId: TokenID, startLine: boolean) { >emit : (emitter: Emitter, tokenId: TokenID, startLine: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >emitter : Emitter > : ^^^^^^^ >tokenId : TokenID @@ -15299,7 +15299,7 @@ module TypeScript { public typeCheck(typeFlow: TypeFlow) { >typeCheck : (typeFlow: TypeFlow) => this -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >typeFlow : TypeFlow > : ^^^^^^^^ @@ -15451,7 +15451,7 @@ module TypeScript { // if there are break statements that match this switch, then just link cond block with block after switch public addToControlFlow(context: ControlFlowContext) { >addToControlFlow : (context: ControlFlowContext) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >context : ControlFlowContext > : ^^^^^^^^^^^^^^^^^^ @@ -15730,7 +15730,7 @@ module TypeScript { public emit(emitter: Emitter, tokenId: TokenID, startLine: boolean) { >emit : (emitter: Emitter, tokenId: TokenID, startLine: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >emitter : Emitter > : ^^^^^^^ >tokenId : TokenID @@ -15882,7 +15882,7 @@ module TypeScript { public typeCheck(typeFlow: TypeFlow) { >typeCheck : (typeFlow: TypeFlow) => this -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >typeFlow : TypeFlow > : ^^^^^^^^ @@ -15951,7 +15951,7 @@ module TypeScript { // for now, assume all cases are reachable, regardless of whether some cases fall through public addToControlFlow(context: ControlFlowContext) { >addToControlFlow : (context: ControlFlowContext) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >context : ControlFlowContext > : ^^^^^^^^^^^^^^^^^^ @@ -16170,7 +16170,7 @@ module TypeScript { public emit(emitter: Emitter, tokenId: TokenID, startLine: boolean) { >emit : (emitter: Emitter, tokenId: TokenID, startLine: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >emitter : Emitter > : ^^^^^^^ >tokenId : TokenID @@ -16189,7 +16189,7 @@ module TypeScript { public typeCheck(typeFlow: TypeFlow) { >typeCheck : (typeFlow: TypeFlow) => this -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >typeFlow : TypeFlow > : ^^^^^^^^ @@ -16397,7 +16397,7 @@ module TypeScript { public emit(emitter: Emitter, tokenId: TokenID, startLine: boolean) { >emit : (emitter: Emitter, tokenId: TokenID, startLine: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >emitter : Emitter > : ^^^^^^^ >tokenId : TokenID @@ -16480,7 +16480,7 @@ module TypeScript { public typeCheck(typeFlow: TypeFlow) { >typeCheck : (typeFlow: TypeFlow) => this -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >typeFlow : TypeFlow > : ^^^^^^^^ @@ -16557,7 +16557,7 @@ module TypeScript { public addToControlFlow(context: ControlFlowContext) { >addToControlFlow : (context: ControlFlowContext) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >context : ControlFlowContext > : ^^^^^^^^^^^^^^^^^^ @@ -16803,7 +16803,7 @@ module TypeScript { public emit(emitter: Emitter, tokenId: TokenID, startLine: boolean) { >emit : (emitter: Emitter, tokenId: TokenID, startLine: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >emitter : Emitter > : ^^^^^^^ >tokenId : TokenID @@ -16914,7 +16914,7 @@ module TypeScript { public addToControlFlow(context: ControlFlowContext) { >addToControlFlow : (context: ControlFlowContext) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >context : ControlFlowContext > : ^^^^^^^^^^^^^^^^^^ @@ -17163,7 +17163,7 @@ module TypeScript { public typeCheck(typeFlow: TypeFlow) { >typeCheck : (typeFlow: TypeFlow) => this -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >typeFlow : TypeFlow > : ^^^^^^^^ @@ -17266,7 +17266,7 @@ module TypeScript { public emit(emitter: Emitter, tokenId: TokenID, startLine: boolean) { >emit : (emitter: Emitter, tokenId: TokenID, startLine: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >emitter : Emitter > : ^^^^^^^ >tokenId : TokenID @@ -17365,7 +17365,7 @@ module TypeScript { public typeCheck(typeFlow: TypeFlow) { >typeCheck : (typeFlow: TypeFlow) => this -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >typeFlow : TypeFlow > : ^^^^^^^^ @@ -17400,7 +17400,7 @@ module TypeScript { public addToControlFlow(context: ControlFlowContext) { >addToControlFlow : (context: ControlFlowContext) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >context : ControlFlowContext > : ^^^^^^^^^^^^^^^^^^ @@ -17531,7 +17531,7 @@ module TypeScript { public emit(emitter: Emitter, tokenId: TokenID, startLine: boolean) { >emit : (emitter: Emitter, tokenId: TokenID, startLine: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >emitter : Emitter > : ^^^^^^^ >tokenId : TokenID @@ -17710,7 +17710,7 @@ module TypeScript { public addToControlFlow(context: ControlFlowContext) { >addToControlFlow : (context: ControlFlowContext) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >context : ControlFlowContext > : ^^^^^^^^^^^^^^^^^^ @@ -17835,7 +17835,7 @@ module TypeScript { public typeCheck(typeFlow: TypeFlow) { >typeCheck : (typeFlow: TypeFlow) => this -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >typeFlow : TypeFlow > : ^^^^^^^^ @@ -18288,7 +18288,7 @@ module TypeScript { public emit(emitter: Emitter, tokenId: TokenID, startLine: boolean) { >emit : (emitter: Emitter, tokenId: TokenID, startLine: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >emitter : Emitter > : ^^^^^^^ >tokenId : TokenID @@ -18387,7 +18387,7 @@ module TypeScript { public addToControlFlow(context: ControlFlowContext) { >addToControlFlow : (context: ControlFlowContext) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >context : ControlFlowContext > : ^^^^^^^^^^^^^^^^^^ @@ -18452,7 +18452,7 @@ module TypeScript { public typeCheck(typeFlow: TypeFlow) { >typeCheck : (typeFlow: TypeFlow) => this -> : ^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >typeFlow : TypeFlow > : ^^^^^^^^ @@ -18551,7 +18551,7 @@ module TypeScript { >this.content.split("\n") : string[] > : ^^^^^^^^ >this.content.split : (separator: string | RegExp, limit?: number) => string[] -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >this.content : string > : ^^^^^^ >this : this @@ -18559,7 +18559,7 @@ module TypeScript { >content : string > : ^^^^^^ >split : (separator: string | RegExp, limit?: number) => string[] -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >"\n" : "\n" > : ^^^^ @@ -18603,7 +18603,7 @@ module TypeScript { >this.text[i].replace(/^\s+|\s+$/g, '') : string > : ^^^^^^ >this.text[i].replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >this.text[i] : string > : ^^^^^^ >this.text : string[] @@ -18615,7 +18615,7 @@ module TypeScript { >i : number > : ^^^^^^ >replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >/^\s+|\s+$/g : RegExp > : ^^^^^^ >'' : "" @@ -18639,7 +18639,7 @@ module TypeScript { >this.content.replace(/^\s+|\s+$/g, '') : string > : ^^^^^^ >this.content.replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >this.content : string > : ^^^^^^ >this : this @@ -18647,7 +18647,7 @@ module TypeScript { >content : string > : ^^^^^^ >replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >/^\s+|\s+$/g : RegExp > : ^^^^^^ >'' : "" @@ -18687,7 +18687,7 @@ module TypeScript { public emit(emitter: Emitter, tokenId: TokenID, startLine: boolean) { >emit : (emitter: Emitter, tokenId: TokenID, startLine: boolean) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >emitter : Emitter > : ^^^^^^^ >tokenId : TokenID diff --git a/tests/baselines/reference/parserRealSource12.types b/tests/baselines/reference/parserRealSource12.types index bc0769c76ca3d..6763d907264ef 100644 --- a/tests/baselines/reference/parserRealSource12.types +++ b/tests/baselines/reference/parserRealSource12.types @@ -13,7 +13,7 @@ module TypeScript { export interface IAstWalker { walk(ast: AST, parent: AST): AST; >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >ast : AST > : ^^^ >parent : AST @@ -136,7 +136,7 @@ module TypeScript { public walk(ast: AST, parent: AST): AST { >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >ast : AST > : ^^^ >parent : AST @@ -346,16 +346,16 @@ module TypeScript { >this.initChildrenWalkers() : void > : ^^^^ >this.initChildrenWalkers : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >initChildrenWalkers : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } public walk(ast: AST, pre: IAstWalkCallback, post?: IAstWalkCallback, options?: AstWalkOptions, state?: any): AST { >walk : (ast: AST, pre: IAstWalkCallback, post?: IAstWalkCallback, options?: AstWalkOptions, state?: any) => AST -> : ^ ^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >ast : AST > : ^^^ >pre : IAstWalkCallback @@ -371,15 +371,15 @@ module TypeScript { >this.getWalker(pre, post, options, state).walk(ast, null) : AST > : ^^^ >this.getWalker(pre, post, options, state).walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this.getWalker(pre, post, options, state) : IAstWalker > : ^^^^^^^^^^ >this.getWalker : (pre: IAstWalkCallback, post?: IAstWalkCallback, options?: AstWalkOptions, state?: any) => IAstWalker -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >this : this > : ^^^^ >getWalker : (pre: IAstWalkCallback, post?: IAstWalkCallback, options?: AstWalkOptions, state?: any) => IAstWalker -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >pre : IAstWalkCallback > : ^^^^^^^^^^^^^^^^ >post : IAstWalkCallback @@ -389,7 +389,7 @@ module TypeScript { >state : any > : ^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >ast : AST > : ^^^ } @@ -410,11 +410,11 @@ module TypeScript { >this.getSlowWalker(pre, post, options, state) : IAstWalker > : ^^^^^^^^^^ >this.getSlowWalker : (pre: IAstWalkCallback, post?: IAstWalkCallback, options?: AstWalkOptions, state?: any) => IAstWalker -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >this : this > : ^^^^ >getSlowWalker : (pre: IAstWalkCallback, post?: IAstWalkCallback, options?: AstWalkOptions, state?: any) => IAstWalker -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >pre : IAstWalkCallback > : ^^^^^^^^^^^^^^^^ >post : IAstWalkCallback @@ -481,7 +481,7 @@ module TypeScript { this.childrenWalkers[NodeType.None] = ChildrenWalkers.walkNone; >this.childrenWalkers[NodeType.None] = ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.None] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -497,15 +497,15 @@ module TypeScript { >None : any > : ^^^ >ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Empty] = ChildrenWalkers.walkNone; >this.childrenWalkers[NodeType.Empty] = ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Empty] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -521,15 +521,15 @@ module TypeScript { >Empty : any > : ^^^ >ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.EmptyExpr] = ChildrenWalkers.walkNone; >this.childrenWalkers[NodeType.EmptyExpr] = ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.EmptyExpr] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -545,15 +545,15 @@ module TypeScript { >EmptyExpr : any > : ^^^ >ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.True] = ChildrenWalkers.walkNone; >this.childrenWalkers[NodeType.True] = ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.True] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -569,15 +569,15 @@ module TypeScript { >True : any > : ^^^ >ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.False] = ChildrenWalkers.walkNone; >this.childrenWalkers[NodeType.False] = ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.False] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -593,15 +593,15 @@ module TypeScript { >False : any > : ^^^ >ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.This] = ChildrenWalkers.walkNone; >this.childrenWalkers[NodeType.This] = ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.This] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -617,15 +617,15 @@ module TypeScript { >This : any > : ^^^ >ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Super] = ChildrenWalkers.walkNone; >this.childrenWalkers[NodeType.Super] = ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Super] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -641,15 +641,15 @@ module TypeScript { >Super : any > : ^^^ >ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.QString] = ChildrenWalkers.walkNone; >this.childrenWalkers[NodeType.QString] = ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.QString] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -665,15 +665,15 @@ module TypeScript { >QString : any > : ^^^ >ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Regex] = ChildrenWalkers.walkNone; >this.childrenWalkers[NodeType.Regex] = ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Regex] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -689,15 +689,15 @@ module TypeScript { >Regex : any > : ^^^ >ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Null] = ChildrenWalkers.walkNone; >this.childrenWalkers[NodeType.Null] = ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Null] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -713,15 +713,15 @@ module TypeScript { >Null : any > : ^^^ >ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.ArrayLit] = ChildrenWalkers.walkUnaryExpressionChildren; >this.childrenWalkers[NodeType.ArrayLit] = ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.ArrayLit] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -737,15 +737,15 @@ module TypeScript { >ArrayLit : any > : ^^^ >ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.ObjectLit] = ChildrenWalkers.walkUnaryExpressionChildren; >this.childrenWalkers[NodeType.ObjectLit] = ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.ObjectLit] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -761,15 +761,15 @@ module TypeScript { >ObjectLit : any > : ^^^ >ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Void] = ChildrenWalkers.walkUnaryExpressionChildren; >this.childrenWalkers[NodeType.Void] = ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Void] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -785,15 +785,15 @@ module TypeScript { >Void : any > : ^^^ >ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Comma] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.Comma] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Comma] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -809,15 +809,15 @@ module TypeScript { >Comma : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Pos] = ChildrenWalkers.walkUnaryExpressionChildren; >this.childrenWalkers[NodeType.Pos] = ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Pos] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -833,15 +833,15 @@ module TypeScript { >Pos : any > : ^^^ >ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Neg] = ChildrenWalkers.walkUnaryExpressionChildren; >this.childrenWalkers[NodeType.Neg] = ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Neg] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -857,15 +857,15 @@ module TypeScript { >Neg : any > : ^^^ >ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Delete] = ChildrenWalkers.walkUnaryExpressionChildren; >this.childrenWalkers[NodeType.Delete] = ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Delete] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -881,15 +881,15 @@ module TypeScript { >Delete : any > : ^^^ >ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Await] = ChildrenWalkers.walkUnaryExpressionChildren; >this.childrenWalkers[NodeType.Await] = ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Await] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -905,15 +905,15 @@ module TypeScript { >Await : any > : ^^^ >ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.In] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.In] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.In] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -929,15 +929,15 @@ module TypeScript { >In : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Dot] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.Dot] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Dot] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -953,15 +953,15 @@ module TypeScript { >Dot : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.From] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.From] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.From] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -977,15 +977,15 @@ module TypeScript { >From : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Is] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.Is] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Is] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1001,15 +1001,15 @@ module TypeScript { >Is : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.InstOf] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.InstOf] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.InstOf] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1025,15 +1025,15 @@ module TypeScript { >InstOf : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Typeof] = ChildrenWalkers.walkUnaryExpressionChildren; >this.childrenWalkers[NodeType.Typeof] = ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Typeof] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1049,15 +1049,15 @@ module TypeScript { >Typeof : any > : ^^^ >ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.NumberLit] = ChildrenWalkers.walkNone; >this.childrenWalkers[NodeType.NumberLit] = ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.NumberLit] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1073,15 +1073,15 @@ module TypeScript { >NumberLit : any > : ^^^ >ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Name] = ChildrenWalkers.walkNone; >this.childrenWalkers[NodeType.Name] = ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Name] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1097,15 +1097,15 @@ module TypeScript { >Name : any > : ^^^ >ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.TypeRef] = ChildrenWalkers.walkTypeReferenceChildren; >this.childrenWalkers[NodeType.TypeRef] = ChildrenWalkers.walkTypeReferenceChildren : (preAst: TypeReference, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.TypeRef] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1121,15 +1121,15 @@ module TypeScript { >TypeRef : any > : ^^^ >ChildrenWalkers.walkTypeReferenceChildren : (preAst: TypeReference, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkTypeReferenceChildren : (preAst: TypeReference, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Index] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.Index] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Index] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1145,15 +1145,15 @@ module TypeScript { >Index : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Call] = ChildrenWalkers.walkCallExpressionChildren; >this.childrenWalkers[NodeType.Call] = ChildrenWalkers.walkCallExpressionChildren : (preAst: CallExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Call] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1169,15 +1169,15 @@ module TypeScript { >Call : any > : ^^^ >ChildrenWalkers.walkCallExpressionChildren : (preAst: CallExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkCallExpressionChildren : (preAst: CallExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.New] = ChildrenWalkers.walkCallExpressionChildren; >this.childrenWalkers[NodeType.New] = ChildrenWalkers.walkCallExpressionChildren : (preAst: CallExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.New] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1193,15 +1193,15 @@ module TypeScript { >New : any > : ^^^ >ChildrenWalkers.walkCallExpressionChildren : (preAst: CallExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkCallExpressionChildren : (preAst: CallExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Asg] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.Asg] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Asg] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1217,15 +1217,15 @@ module TypeScript { >Asg : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.AsgAdd] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.AsgAdd] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.AsgAdd] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1241,15 +1241,15 @@ module TypeScript { >AsgAdd : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.AsgSub] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.AsgSub] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.AsgSub] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1265,15 +1265,15 @@ module TypeScript { >AsgSub : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.AsgDiv] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.AsgDiv] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.AsgDiv] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1289,15 +1289,15 @@ module TypeScript { >AsgDiv : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.AsgMul] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.AsgMul] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.AsgMul] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1313,15 +1313,15 @@ module TypeScript { >AsgMul : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.AsgMod] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.AsgMod] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.AsgMod] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1337,15 +1337,15 @@ module TypeScript { >AsgMod : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.AsgAnd] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.AsgAnd] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.AsgAnd] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1361,15 +1361,15 @@ module TypeScript { >AsgAnd : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.AsgXor] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.AsgXor] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.AsgXor] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1385,15 +1385,15 @@ module TypeScript { >AsgXor : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.AsgOr] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.AsgOr] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.AsgOr] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1409,15 +1409,15 @@ module TypeScript { >AsgOr : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.AsgLsh] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.AsgLsh] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.AsgLsh] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1433,15 +1433,15 @@ module TypeScript { >AsgLsh : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.AsgRsh] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.AsgRsh] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.AsgRsh] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1457,15 +1457,15 @@ module TypeScript { >AsgRsh : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.AsgRs2] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.AsgRs2] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.AsgRs2] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1481,15 +1481,15 @@ module TypeScript { >AsgRs2 : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.ConditionalExpression] = ChildrenWalkers.walkTrinaryExpressionChildren; >this.childrenWalkers[NodeType.ConditionalExpression] = ChildrenWalkers.walkTrinaryExpressionChildren : (preAst: ConditionalExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.ConditionalExpression] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1505,15 +1505,15 @@ module TypeScript { >ConditionalExpression : any > : ^^^ >ChildrenWalkers.walkTrinaryExpressionChildren : (preAst: ConditionalExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkTrinaryExpressionChildren : (preAst: ConditionalExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.LogOr] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.LogOr] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.LogOr] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1529,15 +1529,15 @@ module TypeScript { >LogOr : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.LogAnd] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.LogAnd] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.LogAnd] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1553,15 +1553,15 @@ module TypeScript { >LogAnd : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Or] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.Or] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Or] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1577,15 +1577,15 @@ module TypeScript { >Or : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Xor] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.Xor] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Xor] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1601,15 +1601,15 @@ module TypeScript { >Xor : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.And] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.And] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.And] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1625,15 +1625,15 @@ module TypeScript { >And : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Eq] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.Eq] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Eq] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1649,15 +1649,15 @@ module TypeScript { >Eq : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Ne] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.Ne] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Ne] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1673,15 +1673,15 @@ module TypeScript { >Ne : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Eqv] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.Eqv] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Eqv] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1697,15 +1697,15 @@ module TypeScript { >Eqv : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.NEqv] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.NEqv] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.NEqv] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1721,15 +1721,15 @@ module TypeScript { >NEqv : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Lt] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.Lt] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Lt] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1745,15 +1745,15 @@ module TypeScript { >Lt : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Le] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.Le] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Le] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1769,15 +1769,15 @@ module TypeScript { >Le : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Gt] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.Gt] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Gt] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1793,15 +1793,15 @@ module TypeScript { >Gt : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Ge] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.Ge] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Ge] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1817,15 +1817,15 @@ module TypeScript { >Ge : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Add] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.Add] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Add] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1841,15 +1841,15 @@ module TypeScript { >Add : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Sub] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.Sub] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Sub] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1865,15 +1865,15 @@ module TypeScript { >Sub : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Mul] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.Mul] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Mul] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1889,15 +1889,15 @@ module TypeScript { >Mul : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Div] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.Div] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Div] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1913,15 +1913,15 @@ module TypeScript { >Div : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Mod] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.Mod] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Mod] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1937,15 +1937,15 @@ module TypeScript { >Mod : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Lsh] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.Lsh] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Lsh] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1961,15 +1961,15 @@ module TypeScript { >Lsh : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Rsh] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.Rsh] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Rsh] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -1985,15 +1985,15 @@ module TypeScript { >Rsh : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Rs2] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.Rs2] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Rs2] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2009,15 +2009,15 @@ module TypeScript { >Rs2 : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Not] = ChildrenWalkers.walkUnaryExpressionChildren; >this.childrenWalkers[NodeType.Not] = ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Not] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2033,15 +2033,15 @@ module TypeScript { >Not : any > : ^^^ >ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.LogNot] = ChildrenWalkers.walkUnaryExpressionChildren; >this.childrenWalkers[NodeType.LogNot] = ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.LogNot] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2057,15 +2057,15 @@ module TypeScript { >LogNot : any > : ^^^ >ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.IncPre] = ChildrenWalkers.walkUnaryExpressionChildren; >this.childrenWalkers[NodeType.IncPre] = ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.IncPre] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2081,15 +2081,15 @@ module TypeScript { >IncPre : any > : ^^^ >ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.DecPre] = ChildrenWalkers.walkUnaryExpressionChildren; >this.childrenWalkers[NodeType.DecPre] = ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.DecPre] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2105,15 +2105,15 @@ module TypeScript { >DecPre : any > : ^^^ >ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.IncPost] = ChildrenWalkers.walkUnaryExpressionChildren; >this.childrenWalkers[NodeType.IncPost] = ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.IncPost] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2129,15 +2129,15 @@ module TypeScript { >IncPost : any > : ^^^ >ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.DecPost] = ChildrenWalkers.walkUnaryExpressionChildren; >this.childrenWalkers[NodeType.DecPost] = ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.DecPost] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2153,15 +2153,15 @@ module TypeScript { >DecPost : any > : ^^^ >ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.TypeAssertion] = ChildrenWalkers.walkUnaryExpressionChildren; >this.childrenWalkers[NodeType.TypeAssertion] = ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.TypeAssertion] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2177,15 +2177,15 @@ module TypeScript { >TypeAssertion : any > : ^^^ >ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.FuncDecl] = ChildrenWalkers.walkFuncDeclChildren; >this.childrenWalkers[NodeType.FuncDecl] = ChildrenWalkers.walkFuncDeclChildren : (preAst: FuncDecl, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.FuncDecl] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2201,15 +2201,15 @@ module TypeScript { >FuncDecl : any > : ^^^ >ChildrenWalkers.walkFuncDeclChildren : (preAst: FuncDecl, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkFuncDeclChildren : (preAst: FuncDecl, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Member] = ChildrenWalkers.walkBinaryExpressionChildren; >this.childrenWalkers[NodeType.Member] = ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Member] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2225,15 +2225,15 @@ module TypeScript { >Member : any > : ^^^ >ChildrenWalkers.walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.VarDecl] = ChildrenWalkers.walkBoundDeclChildren; >this.childrenWalkers[NodeType.VarDecl] = ChildrenWalkers.walkBoundDeclChildren : (preAst: BoundDecl, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.VarDecl] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2249,15 +2249,15 @@ module TypeScript { >VarDecl : any > : ^^^ >ChildrenWalkers.walkBoundDeclChildren : (preAst: BoundDecl, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBoundDeclChildren : (preAst: BoundDecl, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.ArgDecl] = ChildrenWalkers.walkBoundDeclChildren; >this.childrenWalkers[NodeType.ArgDecl] = ChildrenWalkers.walkBoundDeclChildren : (preAst: BoundDecl, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.ArgDecl] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2273,15 +2273,15 @@ module TypeScript { >ArgDecl : any > : ^^^ >ChildrenWalkers.walkBoundDeclChildren : (preAst: BoundDecl, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBoundDeclChildren : (preAst: BoundDecl, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Return] = ChildrenWalkers.walkReturnStatementChildren; >this.childrenWalkers[NodeType.Return] = ChildrenWalkers.walkReturnStatementChildren : (preAst: ReturnStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Return] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2297,15 +2297,15 @@ module TypeScript { >Return : any > : ^^^ >ChildrenWalkers.walkReturnStatementChildren : (preAst: ReturnStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkReturnStatementChildren : (preAst: ReturnStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Break] = ChildrenWalkers.walkNone; >this.childrenWalkers[NodeType.Break] = ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Break] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2321,15 +2321,15 @@ module TypeScript { >Break : any > : ^^^ >ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Continue] = ChildrenWalkers.walkNone; >this.childrenWalkers[NodeType.Continue] = ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Continue] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2345,15 +2345,15 @@ module TypeScript { >Continue : any > : ^^^ >ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Throw] = ChildrenWalkers.walkUnaryExpressionChildren; >this.childrenWalkers[NodeType.Throw] = ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Throw] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2369,15 +2369,15 @@ module TypeScript { >Throw : any > : ^^^ >ChildrenWalkers.walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.For] = ChildrenWalkers.walkForStatementChildren; >this.childrenWalkers[NodeType.For] = ChildrenWalkers.walkForStatementChildren : (preAst: ForStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.For] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2393,15 +2393,15 @@ module TypeScript { >For : any > : ^^^ >ChildrenWalkers.walkForStatementChildren : (preAst: ForStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkForStatementChildren : (preAst: ForStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.ForIn] = ChildrenWalkers.walkForInStatementChildren; >this.childrenWalkers[NodeType.ForIn] = ChildrenWalkers.walkForInStatementChildren : (preAst: ForInStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.ForIn] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2417,15 +2417,15 @@ module TypeScript { >ForIn : any > : ^^^ >ChildrenWalkers.walkForInStatementChildren : (preAst: ForInStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkForInStatementChildren : (preAst: ForInStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.If] = ChildrenWalkers.walkIfStatementChildren; >this.childrenWalkers[NodeType.If] = ChildrenWalkers.walkIfStatementChildren : (preAst: IfStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.If] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2441,15 +2441,15 @@ module TypeScript { >If : any > : ^^^ >ChildrenWalkers.walkIfStatementChildren : (preAst: IfStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkIfStatementChildren : (preAst: IfStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.While] = ChildrenWalkers.walkWhileStatementChildren; >this.childrenWalkers[NodeType.While] = ChildrenWalkers.walkWhileStatementChildren : (preAst: WhileStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.While] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2465,15 +2465,15 @@ module TypeScript { >While : any > : ^^^ >ChildrenWalkers.walkWhileStatementChildren : (preAst: WhileStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkWhileStatementChildren : (preAst: WhileStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.DoWhile] = ChildrenWalkers.walkDoWhileStatementChildren; >this.childrenWalkers[NodeType.DoWhile] = ChildrenWalkers.walkDoWhileStatementChildren : (preAst: DoWhileStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.DoWhile] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2489,15 +2489,15 @@ module TypeScript { >DoWhile : any > : ^^^ >ChildrenWalkers.walkDoWhileStatementChildren : (preAst: DoWhileStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkDoWhileStatementChildren : (preAst: DoWhileStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Block] = ChildrenWalkers.walkBlockChildren; >this.childrenWalkers[NodeType.Block] = ChildrenWalkers.walkBlockChildren : (preAst: Block, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Block] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2513,15 +2513,15 @@ module TypeScript { >Block : any > : ^^^ >ChildrenWalkers.walkBlockChildren : (preAst: Block, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkBlockChildren : (preAst: Block, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Case] = ChildrenWalkers.walkCaseStatementChildren; >this.childrenWalkers[NodeType.Case] = ChildrenWalkers.walkCaseStatementChildren : (preAst: CaseStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Case] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2537,15 +2537,15 @@ module TypeScript { >Case : any > : ^^^ >ChildrenWalkers.walkCaseStatementChildren : (preAst: CaseStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkCaseStatementChildren : (preAst: CaseStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Switch] = ChildrenWalkers.walkSwitchStatementChildren; >this.childrenWalkers[NodeType.Switch] = ChildrenWalkers.walkSwitchStatementChildren : (preAst: SwitchStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Switch] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2561,15 +2561,15 @@ module TypeScript { >Switch : any > : ^^^ >ChildrenWalkers.walkSwitchStatementChildren : (preAst: SwitchStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkSwitchStatementChildren : (preAst: SwitchStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Try] = ChildrenWalkers.walkTryChildren; >this.childrenWalkers[NodeType.Try] = ChildrenWalkers.walkTryChildren : (preAst: Try, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Try] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2585,15 +2585,15 @@ module TypeScript { >Try : any > : ^^^ >ChildrenWalkers.walkTryChildren : (preAst: Try, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkTryChildren : (preAst: Try, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.TryCatch] = ChildrenWalkers.walkTryCatchChildren; >this.childrenWalkers[NodeType.TryCatch] = ChildrenWalkers.walkTryCatchChildren : (preAst: TryCatch, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.TryCatch] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2609,15 +2609,15 @@ module TypeScript { >TryCatch : any > : ^^^ >ChildrenWalkers.walkTryCatchChildren : (preAst: TryCatch, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkTryCatchChildren : (preAst: TryCatch, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.TryFinally] = ChildrenWalkers.walkTryFinallyChildren; >this.childrenWalkers[NodeType.TryFinally] = ChildrenWalkers.walkTryFinallyChildren : (preAst: TryFinally, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.TryFinally] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2633,15 +2633,15 @@ module TypeScript { >TryFinally : any > : ^^^ >ChildrenWalkers.walkTryFinallyChildren : (preAst: TryFinally, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkTryFinallyChildren : (preAst: TryFinally, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Finally] = ChildrenWalkers.walkFinallyChildren; >this.childrenWalkers[NodeType.Finally] = ChildrenWalkers.walkFinallyChildren : (preAst: Finally, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Finally] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2657,15 +2657,15 @@ module TypeScript { >Finally : any > : ^^^ >ChildrenWalkers.walkFinallyChildren : (preAst: Finally, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkFinallyChildren : (preAst: Finally, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Catch] = ChildrenWalkers.walkCatchChildren; >this.childrenWalkers[NodeType.Catch] = ChildrenWalkers.walkCatchChildren : (preAst: Catch, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Catch] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2681,15 +2681,15 @@ module TypeScript { >Catch : any > : ^^^ >ChildrenWalkers.walkCatchChildren : (preAst: Catch, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkCatchChildren : (preAst: Catch, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.List] = ChildrenWalkers.walkListChildren; >this.childrenWalkers[NodeType.List] = ChildrenWalkers.walkListChildren : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.List] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2705,15 +2705,15 @@ module TypeScript { >List : any > : ^^^ >ChildrenWalkers.walkListChildren : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkListChildren : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Script] = ChildrenWalkers.walkScriptChildren; >this.childrenWalkers[NodeType.Script] = ChildrenWalkers.walkScriptChildren : (preAst: Script, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Script] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2729,15 +2729,15 @@ module TypeScript { >Script : any > : ^^^ >ChildrenWalkers.walkScriptChildren : (preAst: Script, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkScriptChildren : (preAst: Script, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.ClassDeclaration] = ChildrenWalkers.walkClassDeclChildren; >this.childrenWalkers[NodeType.ClassDeclaration] = ChildrenWalkers.walkClassDeclChildren : (preAst: ClassDeclaration, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.ClassDeclaration] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2753,15 +2753,15 @@ module TypeScript { >ClassDeclaration : any > : ^^^ >ChildrenWalkers.walkClassDeclChildren : (preAst: ClassDeclaration, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkClassDeclChildren : (preAst: ClassDeclaration, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.InterfaceDeclaration] = ChildrenWalkers.walkTypeDeclChildren; >this.childrenWalkers[NodeType.InterfaceDeclaration] = ChildrenWalkers.walkTypeDeclChildren : (preAst: InterfaceDeclaration, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.InterfaceDeclaration] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2777,15 +2777,15 @@ module TypeScript { >InterfaceDeclaration : any > : ^^^ >ChildrenWalkers.walkTypeDeclChildren : (preAst: InterfaceDeclaration, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkTypeDeclChildren : (preAst: InterfaceDeclaration, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.ModuleDeclaration] = ChildrenWalkers.walkModuleDeclChildren; >this.childrenWalkers[NodeType.ModuleDeclaration] = ChildrenWalkers.walkModuleDeclChildren : (preAst: ModuleDeclaration, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.ModuleDeclaration] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2801,15 +2801,15 @@ module TypeScript { >ModuleDeclaration : any > : ^^^ >ChildrenWalkers.walkModuleDeclChildren : (preAst: ModuleDeclaration, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkModuleDeclChildren : (preAst: ModuleDeclaration, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.ImportDeclaration] = ChildrenWalkers.walkImportDeclChildren; >this.childrenWalkers[NodeType.ImportDeclaration] = ChildrenWalkers.walkImportDeclChildren : (preAst: ImportDeclaration, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.ImportDeclaration] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2825,15 +2825,15 @@ module TypeScript { >ImportDeclaration : any > : ^^^ >ChildrenWalkers.walkImportDeclChildren : (preAst: ImportDeclaration, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkImportDeclChildren : (preAst: ImportDeclaration, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.With] = ChildrenWalkers.walkWithStatementChildren; >this.childrenWalkers[NodeType.With] = ChildrenWalkers.walkWithStatementChildren : (preAst: WithStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.With] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2849,15 +2849,15 @@ module TypeScript { >With : any > : ^^^ >ChildrenWalkers.walkWithStatementChildren : (preAst: WithStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkWithStatementChildren : (preAst: WithStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Label] = ChildrenWalkers.walkLabelChildren; >this.childrenWalkers[NodeType.Label] = ChildrenWalkers.walkLabelChildren : (preAst: Label, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Label] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2873,15 +2873,15 @@ module TypeScript { >Label : any > : ^^^ >ChildrenWalkers.walkLabelChildren : (preAst: Label, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkLabelChildren : (preAst: Label, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.LabeledStatement] = ChildrenWalkers.walkLabeledStatementChildren; >this.childrenWalkers[NodeType.LabeledStatement] = ChildrenWalkers.walkLabeledStatementChildren : (preAst: LabeledStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.LabeledStatement] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2897,15 +2897,15 @@ module TypeScript { >LabeledStatement : any > : ^^^ >ChildrenWalkers.walkLabeledStatementChildren : (preAst: LabeledStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkLabeledStatementChildren : (preAst: LabeledStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.EBStart] = ChildrenWalkers.walkNone; >this.childrenWalkers[NodeType.EBStart] = ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.EBStart] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2921,15 +2921,15 @@ module TypeScript { >EBStart : any > : ^^^ >ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.GotoEB] = ChildrenWalkers.walkNone; >this.childrenWalkers[NodeType.GotoEB] = ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.GotoEB] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2945,15 +2945,15 @@ module TypeScript { >GotoEB : any > : ^^^ >ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.EndCode] = ChildrenWalkers.walkNone; >this.childrenWalkers[NodeType.EndCode] = ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.EndCode] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2969,15 +2969,15 @@ module TypeScript { >EndCode : any > : ^^^ >ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Error] = ChildrenWalkers.walkNone; >this.childrenWalkers[NodeType.Error] = ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Error] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -2993,15 +2993,15 @@ module TypeScript { >Error : any > : ^^^ >ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Comment] = ChildrenWalkers.walkNone; >this.childrenWalkers[NodeType.Comment] = ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Comment] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -3017,15 +3017,15 @@ module TypeScript { >Comment : any > : ^^^ >ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ this.childrenWalkers[NodeType.Debugger] = ChildrenWalkers.walkNone; >this.childrenWalkers[NodeType.Debugger] = ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this.childrenWalkers[NodeType.Debugger] : IAstWalkChildren > : ^^^^^^^^^^^^^^^^ >this.childrenWalkers : IAstWalkChildren[] @@ -3041,11 +3041,11 @@ module TypeScript { >Debugger : any > : ^^^ >ChildrenWalkers.walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ChildrenWalkers : typeof ChildrenWalkers > : ^^^^^^^^^^^^^^^^^^^^^^ >walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ // Verify the code is up to date with the enum for (var e in (NodeType)._map) { @@ -3129,7 +3129,7 @@ module TypeScript { export function walkNone(preAst: ASTList, parent: AST, walker: IAstWalker): void { >walkNone : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >preAst : ASTList > : ^^^^^^^ >parent : AST @@ -3142,7 +3142,7 @@ module TypeScript { export function walkListChildren(preAst: ASTList, parent: AST, walker: IAstWalker): void { >walkListChildren : (preAst: ASTList, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >preAst : ASTList > : ^^^^^^^ >parent : AST @@ -3224,11 +3224,11 @@ module TypeScript { >walker.walk(preAst.members[i], preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.members[i] : any > : ^^^ >preAst.members : any @@ -3289,11 +3289,11 @@ module TypeScript { >walker.walk(preAst.members[i], preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.members[i] : any > : ^^^ >preAst.members : any @@ -3313,7 +3313,7 @@ module TypeScript { export function walkUnaryExpressionChildren(preAst: UnaryExpression, parent: AST, walker: IAstWalker): void { >walkUnaryExpressionChildren : (preAst: UnaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >preAst : UnaryExpression > : ^^^^^^^^^^^^^^^ >parent : AST @@ -3341,11 +3341,11 @@ module TypeScript { >walker.walk(preAst.castTerm, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.castTerm : any > : ^^^ >preAst : UnaryExpression @@ -3375,11 +3375,11 @@ module TypeScript { >walker.walk(preAst.operand, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.operand : any > : ^^^ >preAst : UnaryExpression @@ -3393,7 +3393,7 @@ module TypeScript { export function walkBinaryExpressionChildren(preAst: BinaryExpression, parent: AST, walker: IAstWalker): void { >walkBinaryExpressionChildren : (preAst: BinaryExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >preAst : BinaryExpression > : ^^^^^^^^^^^^^^^^ >parent : AST @@ -3433,11 +3433,11 @@ module TypeScript { >walker.walk(preAst.operand2, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.operand2 : any > : ^^^ >preAst : BinaryExpression @@ -3483,11 +3483,11 @@ module TypeScript { >walker.walk(preAst.operand1, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.operand1 : any > : ^^^ >preAst : BinaryExpression @@ -3518,11 +3518,11 @@ module TypeScript { >walker.walk(preAst.operand1, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.operand1 : any > : ^^^ >preAst : BinaryExpression @@ -3568,11 +3568,11 @@ module TypeScript { >walker.walk(preAst.operand2, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.operand2 : any > : ^^^ >preAst : BinaryExpression @@ -3587,7 +3587,7 @@ module TypeScript { export function walkTypeReferenceChildren(preAst: TypeReference, parent: AST, walker: IAstWalker): void { >walkTypeReferenceChildren : (preAst: TypeReference, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >preAst : TypeReference > : ^^^^^^^^^^^^^ >parent : AST @@ -3615,11 +3615,11 @@ module TypeScript { >walker.walk(preAst.term, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.term : any > : ^^^ >preAst : TypeReference @@ -3633,7 +3633,7 @@ module TypeScript { export function walkCallExpressionChildren(preAst: CallExpression, parent: AST, walker: IAstWalker): void { >walkCallExpressionChildren : (preAst: CallExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >preAst : CallExpression > : ^^^^^^^^^^^^^^ >parent : AST @@ -3667,11 +3667,11 @@ module TypeScript { >walker.walk(preAst.target, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.target : any > : ^^^ >preAst : CallExpression @@ -3717,11 +3717,11 @@ module TypeScript { >walker.walk(preAst.arguments, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.arguments : any > : ^^^ >preAst : CallExpression @@ -3771,11 +3771,11 @@ module TypeScript { >walker.walk(preAst.target, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.target : any > : ^^^ >preAst : CallExpression @@ -3789,7 +3789,7 @@ module TypeScript { export function walkTrinaryExpressionChildren(preAst: ConditionalExpression, parent: AST, walker: IAstWalker): void { >walkTrinaryExpressionChildren : (preAst: ConditionalExpression, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >preAst : ConditionalExpression > : ^^^^^^^^^^^^^^^^^^^^^ >parent : AST @@ -3817,11 +3817,11 @@ module TypeScript { >walker.walk(preAst.operand1, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.operand1 : any > : ^^^ >preAst : ConditionalExpression @@ -3865,11 +3865,11 @@ module TypeScript { >walker.walk(preAst.operand2, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.operand2 : any > : ^^^ >preAst : ConditionalExpression @@ -3913,11 +3913,11 @@ module TypeScript { >walker.walk(preAst.operand3, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.operand3 : any > : ^^^ >preAst : ConditionalExpression @@ -3931,7 +3931,7 @@ module TypeScript { export function walkFuncDeclChildren(preAst: FuncDecl, parent: AST, walker: IAstWalker): void { >walkFuncDeclChildren : (preAst: FuncDecl, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >preAst : FuncDecl > : ^^^^^^^^ >parent : AST @@ -3961,11 +3961,11 @@ module TypeScript { >walker.walk(preAst.name, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.name : any > : ^^^ >preAst : FuncDecl @@ -4033,11 +4033,11 @@ module TypeScript { >walker.walk(preAst.arguments, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.arguments : any > : ^^^ >preAst : FuncDecl @@ -4081,11 +4081,11 @@ module TypeScript { >walker.walk(preAst.returnTypeAnnotation, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.returnTypeAnnotation : any > : ^^^ >preAst : FuncDecl @@ -4153,11 +4153,11 @@ module TypeScript { >walker.walk(preAst.bod, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.bod : any > : ^^^ >preAst : FuncDecl @@ -4171,7 +4171,7 @@ module TypeScript { export function walkBoundDeclChildren(preAst: BoundDecl, parent: AST, walker: IAstWalker): void { >walkBoundDeclChildren : (preAst: BoundDecl, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >preAst : BoundDecl > : ^^^^^^^^^ >parent : AST @@ -4201,11 +4201,11 @@ module TypeScript { >walker.walk(preAst.id, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.id : any > : ^^^ >preAst : BoundDecl @@ -4235,11 +4235,11 @@ module TypeScript { >walker.walk(preAst.init, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.init : any > : ^^^ >preAst : BoundDecl @@ -4285,11 +4285,11 @@ module TypeScript { >walker.walk(preAst.typeExpr, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.typeExpr : any > : ^^^ >preAst : BoundDecl @@ -4303,7 +4303,7 @@ module TypeScript { export function walkReturnStatementChildren(preAst: ReturnStatement, parent: AST, walker: IAstWalker): void { >walkReturnStatementChildren : (preAst: ReturnStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >preAst : ReturnStatement > : ^^^^^^^^^^^^^^^ >parent : AST @@ -4331,11 +4331,11 @@ module TypeScript { >walker.walk(preAst.returnExpression, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.returnExpression : any > : ^^^ >preAst : ReturnStatement @@ -4349,7 +4349,7 @@ module TypeScript { export function walkForStatementChildren(preAst: ForStatement, parent: AST, walker: IAstWalker): void { >walkForStatementChildren : (preAst: ForStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >preAst : ForStatement > : ^^^^^^^^^^^^ >parent : AST @@ -4377,11 +4377,11 @@ module TypeScript { >walker.walk(preAst.init, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.init : any > : ^^^ >preAst : ForStatement @@ -4424,11 +4424,11 @@ module TypeScript { >walker.walk(preAst.cond, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.cond : any > : ^^^ >preAst : ForStatement @@ -4471,11 +4471,11 @@ module TypeScript { >walker.walk(preAst.incr, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.incr : any > : ^^^ >preAst : ForStatement @@ -4518,11 +4518,11 @@ module TypeScript { >walker.walk(preAst.body, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.body : any > : ^^^ >preAst : ForStatement @@ -4536,7 +4536,7 @@ module TypeScript { export function walkForInStatementChildren(preAst: ForInStatement, parent: AST, walker: IAstWalker): void { >walkForInStatementChildren : (preAst: ForInStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >preAst : ForInStatement > : ^^^^^^^^^^^^^^ >parent : AST @@ -4556,11 +4556,11 @@ module TypeScript { >walker.walk(preAst.lval, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.lval : any > : ^^^ >preAst : ForInStatement @@ -4594,11 +4594,11 @@ module TypeScript { >walker.walk(preAst.obj, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.obj : any > : ^^^ >preAst : ForInStatement @@ -4642,11 +4642,11 @@ module TypeScript { >walker.walk(preAst.body, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.body : any > : ^^^ >preAst : ForInStatement @@ -4660,7 +4660,7 @@ module TypeScript { export function walkIfStatementChildren(preAst: IfStatement, parent: AST, walker: IAstWalker): void { >walkIfStatementChildren : (preAst: IfStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >preAst : IfStatement > : ^^^^^^^^^^^ >parent : AST @@ -4680,11 +4680,11 @@ module TypeScript { >walker.walk(preAst.cond, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.cond : any > : ^^^ >preAst : IfStatement @@ -4728,11 +4728,11 @@ module TypeScript { >walker.walk(preAst.thenBod, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.thenBod : any > : ^^^ >preAst : IfStatement @@ -4776,11 +4776,11 @@ module TypeScript { >walker.walk(preAst.elseBod, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.elseBod : any > : ^^^ >preAst : IfStatement @@ -4794,7 +4794,7 @@ module TypeScript { export function walkWhileStatementChildren(preAst: WhileStatement, parent: AST, walker: IAstWalker): void { >walkWhileStatementChildren : (preAst: WhileStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >preAst : WhileStatement > : ^^^^^^^^^^^^^^ >parent : AST @@ -4814,11 +4814,11 @@ module TypeScript { >walker.walk(preAst.cond, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.cond : any > : ^^^ >preAst : WhileStatement @@ -4862,11 +4862,11 @@ module TypeScript { >walker.walk(preAst.body, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.body : any > : ^^^ >preAst : WhileStatement @@ -4880,7 +4880,7 @@ module TypeScript { export function walkDoWhileStatementChildren(preAst: DoWhileStatement, parent: AST, walker: IAstWalker): void { >walkDoWhileStatementChildren : (preAst: DoWhileStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >preAst : DoWhileStatement > : ^^^^^^^^^^^^^^^^ >parent : AST @@ -4900,11 +4900,11 @@ module TypeScript { >walker.walk(preAst.cond, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.cond : any > : ^^^ >preAst : DoWhileStatement @@ -4948,11 +4948,11 @@ module TypeScript { >walker.walk(preAst.body, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.body : any > : ^^^ >preAst : DoWhileStatement @@ -4966,7 +4966,7 @@ module TypeScript { export function walkBlockChildren(preAst: Block, parent: AST, walker: IAstWalker): void { >walkBlockChildren : (preAst: Block, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^ ^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >preAst : Block > : ^^^^^ >parent : AST @@ -4996,11 +4996,11 @@ module TypeScript { >walker.walk(preAst.statements, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.statements : any > : ^^^ >preAst : Block @@ -5014,7 +5014,7 @@ module TypeScript { export function walkCaseStatementChildren(preAst: CaseStatement, parent: AST, walker: IAstWalker): void { >walkCaseStatementChildren : (preAst: CaseStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >preAst : CaseStatement > : ^^^^^^^^^^^^^ >parent : AST @@ -5042,11 +5042,11 @@ module TypeScript { >walker.walk(preAst.expr, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.expr : any > : ^^^ >preAst : CaseStatement @@ -5091,11 +5091,11 @@ module TypeScript { >walker.walk(preAst.body, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.body : any > : ^^^ >preAst : CaseStatement @@ -5109,7 +5109,7 @@ module TypeScript { export function walkSwitchStatementChildren(preAst: SwitchStatement, parent: AST, walker: IAstWalker): void { >walkSwitchStatementChildren : (preAst: SwitchStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >preAst : SwitchStatement > : ^^^^^^^^^^^^^^^ >parent : AST @@ -5137,11 +5137,11 @@ module TypeScript { >walker.walk(preAst.val, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.val : any > : ^^^ >preAst : SwitchStatement @@ -5188,11 +5188,11 @@ module TypeScript { >walker.walk(preAst.caseList, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.caseList : any > : ^^^ >preAst : SwitchStatement @@ -5206,7 +5206,7 @@ module TypeScript { export function walkTryChildren(preAst: Try, parent: AST, walker: IAstWalker): void { >walkTryChildren : (preAst: Try, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^ ^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >preAst : Try > : ^^^ >parent : AST @@ -5234,11 +5234,11 @@ module TypeScript { >walker.walk(preAst.body, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.body : any > : ^^^ >preAst : Try @@ -5252,7 +5252,7 @@ module TypeScript { export function walkTryCatchChildren(preAst: TryCatch, parent: AST, walker: IAstWalker): void { >walkTryCatchChildren : (preAst: TryCatch, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >preAst : TryCatch > : ^^^^^^^^ >parent : AST @@ -5282,11 +5282,11 @@ module TypeScript { >walker.walk(preAst.tryNode, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.tryNode : any > : ^^^ >preAst : TryCatch @@ -5333,11 +5333,11 @@ module TypeScript { >walker.walk(preAst.catchNode, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.catchNode : any > : ^^^ >preAst : TryCatch @@ -5351,7 +5351,7 @@ module TypeScript { export function walkTryFinallyChildren(preAst: TryFinally, parent: AST, walker: IAstWalker): void { >walkTryFinallyChildren : (preAst: TryFinally, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >preAst : TryFinally > : ^^^^^^^^^^ >parent : AST @@ -5379,11 +5379,11 @@ module TypeScript { >walker.walk(preAst.tryNode, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.tryNode : any > : ^^^ >preAst : TryFinally @@ -5428,11 +5428,11 @@ module TypeScript { >walker.walk(preAst.finallyNode, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.finallyNode : any > : ^^^ >preAst : TryFinally @@ -5446,7 +5446,7 @@ module TypeScript { export function walkFinallyChildren(preAst: Finally, parent: AST, walker: IAstWalker): void { >walkFinallyChildren : (preAst: Finally, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >preAst : Finally > : ^^^^^^^ >parent : AST @@ -5474,11 +5474,11 @@ module TypeScript { >walker.walk(preAst.body, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.body : any > : ^^^ >preAst : Finally @@ -5492,7 +5492,7 @@ module TypeScript { export function walkCatchChildren(preAst: Catch, parent: AST, walker: IAstWalker): void { >walkCatchChildren : (preAst: Catch, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^ ^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >preAst : Catch > : ^^^^^ >parent : AST @@ -5522,11 +5522,11 @@ module TypeScript { >walker.walk(preAst.param, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.param : any > : ^^^ >preAst : Catch @@ -5571,11 +5571,11 @@ module TypeScript { >walker.walk(preAst.body, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.body : any > : ^^^ >preAst : Catch @@ -5589,7 +5589,7 @@ module TypeScript { export function walkRecordChildren(preAst: NamedDeclaration, parent: AST, walker: IAstWalker): void { >walkRecordChildren : (preAst: NamedDeclaration, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >preAst : NamedDeclaration > : ^^^^^^^^^^^^^^^^ >parent : AST @@ -5611,11 +5611,11 @@ module TypeScript { >walker.walk(preAst.name, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.name : any > : ^^^ >preAst : NamedDeclaration @@ -5659,11 +5659,11 @@ module TypeScript { >walker.walk(preAst.members, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.members : any > : ^^^ >preAst : NamedDeclaration @@ -5678,7 +5678,7 @@ module TypeScript { export function walkNamedTypeChildren(preAst: TypeDeclaration, parent: AST, walker: IAstWalker): void { >walkNamedTypeChildren : (preAst: TypeDeclaration, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >preAst : TypeDeclaration > : ^^^^^^^^^^^^^^^ >parent : AST @@ -5690,7 +5690,7 @@ module TypeScript { >walkRecordChildren(preAst, parent, walker) : void > : ^^^^ >walkRecordChildren : (preAst: NamedDeclaration, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >preAst : TypeDeclaration > : ^^^^^^^^^^^^^^^ >parent : AST @@ -5701,7 +5701,7 @@ module TypeScript { export function walkClassDeclChildren(preAst: ClassDeclaration, parent: AST, walker: IAstWalker): void { >walkClassDeclChildren : (preAst: ClassDeclaration, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >preAst : ClassDeclaration > : ^^^^^^^^^^^^^^^^ >parent : AST @@ -5713,7 +5713,7 @@ module TypeScript { >walkNamedTypeChildren(preAst, parent, walker) : void > : ^^^^ >walkNamedTypeChildren : (preAst: TypeDeclaration, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >preAst : ClassDeclaration > : ^^^^^^^^^^^^^^^^ >parent : AST @@ -5755,11 +5755,11 @@ module TypeScript { >walker.walk(preAst.extendsList, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.extendsList : any > : ^^^ >preAst : ClassDeclaration @@ -5804,11 +5804,11 @@ module TypeScript { >walker.walk(preAst.implementsList, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.implementsList : any > : ^^^ >preAst : ClassDeclaration @@ -5822,7 +5822,7 @@ module TypeScript { export function walkScriptChildren(preAst: Script, parent: AST, walker: IAstWalker): void { >walkScriptChildren : (preAst: Script, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >preAst : Script > : ^^^^^^ >parent : AST @@ -5852,11 +5852,11 @@ module TypeScript { >walker.walk(preAst.bod, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.bod : any > : ^^^ >preAst : Script @@ -5870,7 +5870,7 @@ module TypeScript { export function walkTypeDeclChildren(preAst: InterfaceDeclaration, parent: AST, walker: IAstWalker): void { >walkTypeDeclChildren : (preAst: InterfaceDeclaration, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >preAst : InterfaceDeclaration > : ^^^^^^^^^^^^^^^^^^^^ >parent : AST @@ -5882,7 +5882,7 @@ module TypeScript { >walkNamedTypeChildren(preAst, parent, walker) : void > : ^^^^ >walkNamedTypeChildren : (preAst: TypeDeclaration, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >preAst : InterfaceDeclaration > : ^^^^^^^^^^^^^^^^^^^^ >parent : AST @@ -5925,11 +5925,11 @@ module TypeScript { >walker.walk(preAst.extendsList, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.extendsList : any > : ^^^ >preAst : InterfaceDeclaration @@ -5974,11 +5974,11 @@ module TypeScript { >walker.walk(preAst.implementsList, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.implementsList : any > : ^^^ >preAst : InterfaceDeclaration @@ -5992,7 +5992,7 @@ module TypeScript { export function walkModuleDeclChildren(preAst: ModuleDeclaration, parent: AST, walker: IAstWalker): void { >walkModuleDeclChildren : (preAst: ModuleDeclaration, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >preAst : ModuleDeclaration > : ^^^^^^^^^^^^^^^^^ >parent : AST @@ -6004,7 +6004,7 @@ module TypeScript { >walkRecordChildren(preAst, parent, walker) : void > : ^^^^ >walkRecordChildren : (preAst: NamedDeclaration, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >preAst : ModuleDeclaration > : ^^^^^^^^^^^^^^^^^ >parent : AST @@ -6015,7 +6015,7 @@ module TypeScript { export function walkImportDeclChildren(preAst: ImportDeclaration, parent: AST, walker: IAstWalker): void { >walkImportDeclChildren : (preAst: ImportDeclaration, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >preAst : ImportDeclaration > : ^^^^^^^^^^^^^^^^^ >parent : AST @@ -6045,11 +6045,11 @@ module TypeScript { >walker.walk(preAst.id, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.id : any > : ^^^ >preAst : ImportDeclaration @@ -6079,11 +6079,11 @@ module TypeScript { >walker.walk(preAst.alias, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.alias : any > : ^^^ >preAst : ImportDeclaration @@ -6097,7 +6097,7 @@ module TypeScript { export function walkWithStatementChildren(preAst: WithStatement, parent: AST, walker: IAstWalker): void { >walkWithStatementChildren : (preAst: WithStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >preAst : WithStatement > : ^^^^^^^^^^^^^ >parent : AST @@ -6125,11 +6125,11 @@ module TypeScript { >walker.walk(preAst.expr, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.expr : any > : ^^^ >preAst : WithStatement @@ -6172,11 +6172,11 @@ module TypeScript { >walker.walk(preAst.body, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.body : any > : ^^^ >preAst : WithStatement @@ -6190,7 +6190,7 @@ module TypeScript { export function walkLabelChildren(preAst: Label, parent: AST, walker: IAstWalker): void { >walkLabelChildren : (preAst: Label, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^ ^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >preAst : Label > : ^^^^^ >parent : AST @@ -6203,7 +6203,7 @@ module TypeScript { export function walkLabeledStatementChildren(preAst: LabeledStatement, parent: AST, walker: IAstWalker): void { >walkLabeledStatementChildren : (preAst: LabeledStatement, parent: AST, walker: IAstWalker) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >preAst : LabeledStatement > : ^^^^^^^^^^^^^^^^ >parent : AST @@ -6225,11 +6225,11 @@ module TypeScript { >walker.walk(preAst.labels, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.labels : any > : ^^^ >preAst : LabeledStatement @@ -6263,11 +6263,11 @@ module TypeScript { >walker.walk(preAst.stmt, preAst) : AST > : ^^^ >walker.walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >walker : IAstWalker > : ^^^^^^^^^^ >walk : (ast: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >preAst.stmt : any > : ^^^ >preAst : LabeledStatement diff --git a/tests/baselines/reference/parserRealSource13.types b/tests/baselines/reference/parserRealSource13.types index ede420491340b..90f4660a711ff 100644 --- a/tests/baselines/reference/parserRealSource13.types +++ b/tests/baselines/reference/parserRealSource13.types @@ -15,7 +15,7 @@ module TypeScript.AstWalkerWithDetailCallback { export interface AstWalkerDetailCallback { EmptyCallback? (pre, ast: AST): boolean; >EmptyCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -23,7 +23,7 @@ module TypeScript.AstWalkerWithDetailCallback { EmptyExprCallback? (pre, ast: AST): boolean; >EmptyExprCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -31,7 +31,7 @@ module TypeScript.AstWalkerWithDetailCallback { TrueCallback? (pre, ast: AST): boolean; >TrueCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -39,7 +39,7 @@ module TypeScript.AstWalkerWithDetailCallback { FalseCallback? (pre, ast: AST): boolean; >FalseCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -47,7 +47,7 @@ module TypeScript.AstWalkerWithDetailCallback { ThisCallback? (pre, ast: AST): boolean; >ThisCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -55,7 +55,7 @@ module TypeScript.AstWalkerWithDetailCallback { SuperCallback? (pre, ast: AST): boolean; >SuperCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -63,7 +63,7 @@ module TypeScript.AstWalkerWithDetailCallback { QStringCallback? (pre, ast: AST): boolean; >QStringCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -71,7 +71,7 @@ module TypeScript.AstWalkerWithDetailCallback { RegexCallback? (pre, ast: AST): boolean; >RegexCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -79,7 +79,7 @@ module TypeScript.AstWalkerWithDetailCallback { NullCallback? (pre, ast: AST): boolean; >NullCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -87,7 +87,7 @@ module TypeScript.AstWalkerWithDetailCallback { ArrayLitCallback? (pre, ast: AST): boolean; >ArrayLitCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -95,7 +95,7 @@ module TypeScript.AstWalkerWithDetailCallback { ObjectLitCallback? (pre, ast: AST): boolean; >ObjectLitCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -103,7 +103,7 @@ module TypeScript.AstWalkerWithDetailCallback { VoidCallback? (pre, ast: AST): boolean; >VoidCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -111,7 +111,7 @@ module TypeScript.AstWalkerWithDetailCallback { CommaCallback? (pre, ast: AST): boolean; >CommaCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -119,7 +119,7 @@ module TypeScript.AstWalkerWithDetailCallback { PosCallback? (pre, ast: AST): boolean; >PosCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -127,7 +127,7 @@ module TypeScript.AstWalkerWithDetailCallback { NegCallback? (pre, ast: AST): boolean; >NegCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -135,7 +135,7 @@ module TypeScript.AstWalkerWithDetailCallback { DeleteCallback? (pre, ast: AST): boolean; >DeleteCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -143,7 +143,7 @@ module TypeScript.AstWalkerWithDetailCallback { AwaitCallback? (pre, ast: AST): boolean; >AwaitCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -151,7 +151,7 @@ module TypeScript.AstWalkerWithDetailCallback { InCallback? (pre, ast: AST): boolean; >InCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -159,7 +159,7 @@ module TypeScript.AstWalkerWithDetailCallback { DotCallback? (pre, ast: AST): boolean; >DotCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -167,7 +167,7 @@ module TypeScript.AstWalkerWithDetailCallback { FromCallback? (pre, ast: AST): boolean; >FromCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -175,7 +175,7 @@ module TypeScript.AstWalkerWithDetailCallback { IsCallback? (pre, ast: AST): boolean; >IsCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -183,7 +183,7 @@ module TypeScript.AstWalkerWithDetailCallback { InstOfCallback? (pre, ast: AST): boolean; >InstOfCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -191,7 +191,7 @@ module TypeScript.AstWalkerWithDetailCallback { TypeofCallback? (pre, ast: AST): boolean; >TypeofCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -199,7 +199,7 @@ module TypeScript.AstWalkerWithDetailCallback { NumberLitCallback? (pre, ast: AST): boolean; >NumberLitCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -207,7 +207,7 @@ module TypeScript.AstWalkerWithDetailCallback { NameCallback? (pre, identifierAst: Identifier): boolean; >NameCallback : (pre: any, identifierAst: Identifier) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >identifierAst : Identifier @@ -215,7 +215,7 @@ module TypeScript.AstWalkerWithDetailCallback { TypeRefCallback? (pre, ast: AST): boolean; >TypeRefCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -223,7 +223,7 @@ module TypeScript.AstWalkerWithDetailCallback { IndexCallback? (pre, ast: AST): boolean; >IndexCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -231,7 +231,7 @@ module TypeScript.AstWalkerWithDetailCallback { CallCallback? (pre, ast: AST): boolean; >CallCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -239,7 +239,7 @@ module TypeScript.AstWalkerWithDetailCallback { NewCallback? (pre, ast: AST): boolean; >NewCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -247,7 +247,7 @@ module TypeScript.AstWalkerWithDetailCallback { AsgCallback? (pre, ast: AST): boolean; >AsgCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -255,7 +255,7 @@ module TypeScript.AstWalkerWithDetailCallback { AsgAddCallback? (pre, ast: AST): boolean; >AsgAddCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -263,7 +263,7 @@ module TypeScript.AstWalkerWithDetailCallback { AsgSubCallback? (pre, ast: AST): boolean; >AsgSubCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -271,7 +271,7 @@ module TypeScript.AstWalkerWithDetailCallback { AsgDivCallback? (pre, ast: AST): boolean; >AsgDivCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -279,7 +279,7 @@ module TypeScript.AstWalkerWithDetailCallback { AsgMulCallback? (pre, ast: AST): boolean; >AsgMulCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -287,7 +287,7 @@ module TypeScript.AstWalkerWithDetailCallback { AsgModCallback? (pre, ast: AST): boolean; >AsgModCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -295,7 +295,7 @@ module TypeScript.AstWalkerWithDetailCallback { AsgAndCallback? (pre, ast: AST): boolean; >AsgAndCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -303,7 +303,7 @@ module TypeScript.AstWalkerWithDetailCallback { AsgXorCallback? (pre, ast: AST): boolean; >AsgXorCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -311,7 +311,7 @@ module TypeScript.AstWalkerWithDetailCallback { AsgOrCallback? (pre, ast: AST): boolean; >AsgOrCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -319,7 +319,7 @@ module TypeScript.AstWalkerWithDetailCallback { AsgLshCallback? (pre, ast: AST): boolean; >AsgLshCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -327,7 +327,7 @@ module TypeScript.AstWalkerWithDetailCallback { AsgRshCallback? (pre, ast: AST): boolean; >AsgRshCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -335,7 +335,7 @@ module TypeScript.AstWalkerWithDetailCallback { AsgRs2Callback? (pre, ast: AST): boolean; >AsgRs2Callback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -343,7 +343,7 @@ module TypeScript.AstWalkerWithDetailCallback { QMarkCallback? (pre, ast: AST): boolean; >QMarkCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -351,7 +351,7 @@ module TypeScript.AstWalkerWithDetailCallback { LogOrCallback? (pre, ast: AST): boolean; >LogOrCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -359,7 +359,7 @@ module TypeScript.AstWalkerWithDetailCallback { LogAndCallback? (pre, ast: AST): boolean; >LogAndCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -367,7 +367,7 @@ module TypeScript.AstWalkerWithDetailCallback { OrCallback? (pre, ast: AST): boolean; >OrCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -375,7 +375,7 @@ module TypeScript.AstWalkerWithDetailCallback { XorCallback? (pre, ast: AST): boolean; >XorCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -383,7 +383,7 @@ module TypeScript.AstWalkerWithDetailCallback { AndCallback? (pre, ast: AST): boolean; >AndCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -391,7 +391,7 @@ module TypeScript.AstWalkerWithDetailCallback { EqCallback? (pre, ast: AST): boolean; >EqCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -399,7 +399,7 @@ module TypeScript.AstWalkerWithDetailCallback { NeCallback? (pre, ast: AST): boolean; >NeCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -407,7 +407,7 @@ module TypeScript.AstWalkerWithDetailCallback { EqvCallback? (pre, ast: AST): boolean; >EqvCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -415,7 +415,7 @@ module TypeScript.AstWalkerWithDetailCallback { NEqvCallback? (pre, ast: AST): boolean; >NEqvCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -423,7 +423,7 @@ module TypeScript.AstWalkerWithDetailCallback { LtCallback? (pre, ast: AST): boolean; >LtCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -431,7 +431,7 @@ module TypeScript.AstWalkerWithDetailCallback { LeCallback? (pre, ast: AST): boolean; >LeCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -439,7 +439,7 @@ module TypeScript.AstWalkerWithDetailCallback { GtCallback? (pre, ast: AST): boolean; >GtCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -447,7 +447,7 @@ module TypeScript.AstWalkerWithDetailCallback { GeCallback? (pre, ast: AST): boolean; >GeCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -455,7 +455,7 @@ module TypeScript.AstWalkerWithDetailCallback { AddCallback? (pre, ast: AST): boolean; >AddCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -463,7 +463,7 @@ module TypeScript.AstWalkerWithDetailCallback { SubCallback? (pre, ast: AST): boolean; >SubCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -471,7 +471,7 @@ module TypeScript.AstWalkerWithDetailCallback { MulCallback? (pre, ast: AST): boolean; >MulCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -479,7 +479,7 @@ module TypeScript.AstWalkerWithDetailCallback { DivCallback? (pre, ast: AST): boolean; >DivCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -487,7 +487,7 @@ module TypeScript.AstWalkerWithDetailCallback { ModCallback? (pre, ast: AST): boolean; >ModCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -495,7 +495,7 @@ module TypeScript.AstWalkerWithDetailCallback { LshCallback? (pre, ast: AST): boolean; >LshCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -503,7 +503,7 @@ module TypeScript.AstWalkerWithDetailCallback { RshCallback? (pre, ast: AST): boolean; >RshCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -511,7 +511,7 @@ module TypeScript.AstWalkerWithDetailCallback { Rs2Callback? (pre, ast: AST): boolean; >Rs2Callback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -519,7 +519,7 @@ module TypeScript.AstWalkerWithDetailCallback { NotCallback? (pre, ast: AST): boolean; >NotCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -527,7 +527,7 @@ module TypeScript.AstWalkerWithDetailCallback { LogNotCallback? (pre, ast: AST): boolean; >LogNotCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -535,7 +535,7 @@ module TypeScript.AstWalkerWithDetailCallback { IncPreCallback? (pre, ast: AST): boolean; >IncPreCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -543,7 +543,7 @@ module TypeScript.AstWalkerWithDetailCallback { DecPreCallback? (pre, ast: AST): boolean; >DecPreCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -551,7 +551,7 @@ module TypeScript.AstWalkerWithDetailCallback { IncPostCallback? (pre, ast: AST): boolean; >IncPostCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -559,7 +559,7 @@ module TypeScript.AstWalkerWithDetailCallback { DecPostCallback? (pre, ast: AST): boolean; >DecPostCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -567,7 +567,7 @@ module TypeScript.AstWalkerWithDetailCallback { TypeAssertionCallback? (pre, ast: AST): boolean; >TypeAssertionCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -575,7 +575,7 @@ module TypeScript.AstWalkerWithDetailCallback { FuncDeclCallback? (pre, funcDecl: FuncDecl): boolean; >FuncDeclCallback : (pre: any, funcDecl: FuncDecl) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >funcDecl : FuncDecl @@ -583,7 +583,7 @@ module TypeScript.AstWalkerWithDetailCallback { MemberCallback? (pre, ast: AST): boolean; >MemberCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -591,7 +591,7 @@ module TypeScript.AstWalkerWithDetailCallback { VarDeclCallback? (pre, varDecl: VarDecl): boolean; >VarDeclCallback : (pre: any, varDecl: VarDecl) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >varDecl : VarDecl @@ -599,7 +599,7 @@ module TypeScript.AstWalkerWithDetailCallback { ArgDeclCallback? (pre, ast: AST): boolean; >ArgDeclCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -607,7 +607,7 @@ module TypeScript.AstWalkerWithDetailCallback { ReturnCallback? (pre, ast: AST): boolean; >ReturnCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -615,7 +615,7 @@ module TypeScript.AstWalkerWithDetailCallback { BreakCallback? (pre, ast: AST): boolean; >BreakCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -623,7 +623,7 @@ module TypeScript.AstWalkerWithDetailCallback { ContinueCallback? (pre, ast: AST): boolean; >ContinueCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -631,7 +631,7 @@ module TypeScript.AstWalkerWithDetailCallback { ThrowCallback? (pre, ast: AST): boolean; >ThrowCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -639,7 +639,7 @@ module TypeScript.AstWalkerWithDetailCallback { ForCallback? (pre, ast: AST): boolean; >ForCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -647,7 +647,7 @@ module TypeScript.AstWalkerWithDetailCallback { ForInCallback? (pre, ast: AST): boolean; >ForInCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -655,7 +655,7 @@ module TypeScript.AstWalkerWithDetailCallback { IfCallback? (pre, ast: AST): boolean; >IfCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -663,7 +663,7 @@ module TypeScript.AstWalkerWithDetailCallback { WhileCallback? (pre, ast: AST): boolean; >WhileCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -671,7 +671,7 @@ module TypeScript.AstWalkerWithDetailCallback { DoWhileCallback? (pre, ast: AST): boolean; >DoWhileCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -679,7 +679,7 @@ module TypeScript.AstWalkerWithDetailCallback { BlockCallback? (pre, block: Block): boolean; >BlockCallback : (pre: any, block: Block) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >block : Block @@ -687,7 +687,7 @@ module TypeScript.AstWalkerWithDetailCallback { CaseCallback? (pre, ast: AST): boolean; >CaseCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -695,7 +695,7 @@ module TypeScript.AstWalkerWithDetailCallback { SwitchCallback? (pre, ast: AST): boolean; >SwitchCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -703,7 +703,7 @@ module TypeScript.AstWalkerWithDetailCallback { TryCallback? (pre, ast: AST): boolean; >TryCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -711,7 +711,7 @@ module TypeScript.AstWalkerWithDetailCallback { TryCatchCallback? (pre, ast: AST): boolean; >TryCatchCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -719,7 +719,7 @@ module TypeScript.AstWalkerWithDetailCallback { TryFinallyCallback? (pre, ast: AST): boolean; >TryFinallyCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -727,7 +727,7 @@ module TypeScript.AstWalkerWithDetailCallback { FinallyCallback? (pre, ast: AST): boolean; >FinallyCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -735,7 +735,7 @@ module TypeScript.AstWalkerWithDetailCallback { CatchCallback? (pre, ast: AST): boolean; >CatchCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -743,7 +743,7 @@ module TypeScript.AstWalkerWithDetailCallback { ListCallback? (pre, astList: ASTList): boolean; >ListCallback : (pre: any, astList: ASTList) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >astList : ASTList @@ -751,7 +751,7 @@ module TypeScript.AstWalkerWithDetailCallback { ScriptCallback? (pre, script: Script): boolean; >ScriptCallback : (pre: any, script: Script) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >script : Script @@ -759,7 +759,7 @@ module TypeScript.AstWalkerWithDetailCallback { ClassDeclarationCallback? (pre, ast: AST): boolean; >ClassDeclarationCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -767,7 +767,7 @@ module TypeScript.AstWalkerWithDetailCallback { InterfaceDeclarationCallback? (pre, interfaceDecl: InterfaceDeclaration): boolean; >InterfaceDeclarationCallback : (pre: any, interfaceDecl: InterfaceDeclaration) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >interfaceDecl : InterfaceDeclaration @@ -775,7 +775,7 @@ module TypeScript.AstWalkerWithDetailCallback { ModuleDeclarationCallback? (pre, moduleDecl: ModuleDeclaration): boolean; >ModuleDeclarationCallback : (pre: any, moduleDecl: ModuleDeclaration) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >moduleDecl : ModuleDeclaration @@ -783,7 +783,7 @@ module TypeScript.AstWalkerWithDetailCallback { ImportDeclarationCallback? (pre, ast: AST): boolean; >ImportDeclarationCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -791,7 +791,7 @@ module TypeScript.AstWalkerWithDetailCallback { WithCallback? (pre, ast: AST): boolean; >WithCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -799,7 +799,7 @@ module TypeScript.AstWalkerWithDetailCallback { LabelCallback? (pre, labelAST: AST): boolean; >LabelCallback : (pre: any, labelAST: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >labelAST : AST @@ -807,7 +807,7 @@ module TypeScript.AstWalkerWithDetailCallback { LabeledStatementCallback? (pre, ast: AST): boolean; >LabeledStatementCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -815,7 +815,7 @@ module TypeScript.AstWalkerWithDetailCallback { EBStartCallback? (pre, ast: AST): boolean; >EBStartCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -823,7 +823,7 @@ module TypeScript.AstWalkerWithDetailCallback { GotoEBCallback? (pre, ast: AST): boolean; >GotoEBCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -831,7 +831,7 @@ module TypeScript.AstWalkerWithDetailCallback { EndCodeCallback? (pre, ast: AST): boolean; >EndCodeCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -839,7 +839,7 @@ module TypeScript.AstWalkerWithDetailCallback { ErrorCallback? (pre, ast: AST): boolean; >ErrorCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -847,7 +847,7 @@ module TypeScript.AstWalkerWithDetailCallback { CommentCallback? (pre, ast: AST): boolean; >CommentCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -855,7 +855,7 @@ module TypeScript.AstWalkerWithDetailCallback { DebuggerCallback? (pre, ast: AST): boolean; >DebuggerCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -863,7 +863,7 @@ module TypeScript.AstWalkerWithDetailCallback { DefaultCallback? (pre, ast: AST): boolean; >DefaultCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : any > : ^^^ >ast : AST @@ -872,7 +872,7 @@ module TypeScript.AstWalkerWithDetailCallback { export function walk(script: Script, callback: AstWalkerDetailCallback): void { >walk : (script: Script, callback: AstWalkerDetailCallback) => void -> : ^ ^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >script : Script > : ^^^^^^ >callback : AstWalkerDetailCallback @@ -880,9 +880,9 @@ module TypeScript.AstWalkerWithDetailCallback { var pre = (cur: AST, parent: AST) => { >pre : (cur: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^ >(cur: AST, parent: AST) => { walker.options.goChildren = AstWalkerCallback(true, cur, callback); return cur; } : (cur: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^ >cur : AST > : ^^^ >parent : AST @@ -904,7 +904,7 @@ module TypeScript.AstWalkerWithDetailCallback { >AstWalkerCallback(true, cur, callback) : boolean > : ^^^^^^^ >AstWalkerCallback : (pre: boolean, ast: AST, callback: AstWalkerDetailCallback) => boolean -> : ^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >true : true > : ^^^^ >cur : AST @@ -919,9 +919,9 @@ module TypeScript.AstWalkerWithDetailCallback { var post = (cur: AST, parent: AST) => { >post : (cur: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^ >(cur: AST, parent: AST) => { AstWalkerCallback(false, cur, callback); return cur; } : (cur: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^ >cur : AST > : ^^^ >parent : AST @@ -931,7 +931,7 @@ module TypeScript.AstWalkerWithDetailCallback { >AstWalkerCallback(false, cur, callback) : boolean > : ^^^^^^^ >AstWalkerCallback : (pre: boolean, ast: AST, callback: AstWalkerDetailCallback) => boolean -> : ^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >false : false > : ^^^^^ >cur : AST @@ -962,9 +962,9 @@ module TypeScript.AstWalkerWithDetailCallback { >getWalker : any > : ^^^ >pre : (cur: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^ >post : (cur: AST, parent: AST) => AST -> : ^ ^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^ walker.walk(script, null); >walker.walk(script, null) : any @@ -981,7 +981,7 @@ module TypeScript.AstWalkerWithDetailCallback { function AstWalkerCallback(pre: boolean, ast: AST, callback: AstWalkerDetailCallback): boolean { >AstWalkerCallback : (pre: boolean, ast: AST, callback: AstWalkerDetailCallback) => boolean -> : ^ ^^ ^^ ^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >pre : boolean > : ^^^^^^^ >ast : AST @@ -1047,21 +1047,21 @@ module TypeScript.AstWalkerWithDetailCallback { if (callback.DefaultCallback) { >callback.DefaultCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >callback : AstWalkerDetailCallback > : ^^^^^^^^^^^^^^^^^^^^^^^ >DefaultCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ return callback.DefaultCallback(pre, ast); >callback.DefaultCallback(pre, ast) : boolean > : ^^^^^^^ >callback.DefaultCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >callback : AstWalkerDetailCallback > : ^^^^^^^^^^^^^^^^^^^^^^^ >DefaultCallback : (pre: any, ast: AST) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^ ^^^^^ >pre : boolean > : ^^^^^^^ >ast : AST diff --git a/tests/baselines/reference/parserRealSource14.types b/tests/baselines/reference/parserRealSource14.types index 062b2f1c826e1..547f0b56c1eb0 100644 --- a/tests/baselines/reference/parserRealSource14.types +++ b/tests/baselines/reference/parserRealSource14.types @@ -196,7 +196,7 @@ module TypeScript { >this.asts.map((value) => { return value; }) : TypeScript.AST[] > : ^^^^^^^^^^^^^^^^ >this.asts.map : (callbackfn: (value: TypeScript.AST, index: number, array: TypeScript.AST[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >this.asts : TypeScript.AST[] > : ^^^^^^^^^^^^^^^^ >this : this @@ -204,7 +204,7 @@ module TypeScript { >asts : TypeScript.AST[] > : ^^^^^^^^^^^^^^^^ >map : (callbackfn: (value: TypeScript.AST, index: number, array: TypeScript.AST[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >(value) => { return value; } : (value: TypeScript.AST) => TypeScript.AST > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >value : TypeScript.AST @@ -235,7 +235,7 @@ module TypeScript { public pop(): TypeScript.AST { >pop : () => TypeScript.AST -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >TypeScript : any > : ^^^ @@ -286,16 +286,16 @@ module TypeScript { this.asts.pop(); >this.asts.pop() : TypeScript.AST > : ^^^^^^^^^^^^^^ ->this.asts.pop : () => TypeScript.AST -> : ^^^^^^^^^^^^^^^^^^^^ +>this.asts.pop : () => TypeScript.AST | undefined +> : ^^^^^^^^^^^^^^^^^^^^ >this.asts : TypeScript.AST[] > : ^^^^^^^^^^^^^^^^ >this : this > : ^^^^ >asts : TypeScript.AST[] > : ^^^^^^^^^^^^^^^^ ->pop : () => TypeScript.AST -> : ^^^^^^^^^^^^^^^^^^^^ +>pop : () => TypeScript.AST | undefined +> : ^^^^^^^^^^^^^^^^^^^^ } return head; >head : TypeScript.AST @@ -304,7 +304,7 @@ module TypeScript { public push(ast: TypeScript.AST) { >push : (ast: TypeScript.AST) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >ast : TypeScript.AST > : ^^^^^^^^^^^^^^ >TypeScript : any @@ -335,16 +335,16 @@ module TypeScript { this.asts.pop(); >this.asts.pop() : TypeScript.AST > : ^^^^^^^^^^^^^^ ->this.asts.pop : () => TypeScript.AST -> : ^^^^^^^^^^^^^^^^^^^^ +>this.asts.pop : () => TypeScript.AST | undefined +> : ^^^^^^^^^^^^^^^^^^^^ >this.asts : TypeScript.AST[] > : ^^^^^^^^^^^^^^^^ >this : this > : ^^^^ >asts : TypeScript.AST[] > : ^^^^^^^^^^^^^^^^ ->pop : () => TypeScript.AST -> : ^^^^^^^^^^^^^^^^^^^^ +>pop : () => TypeScript.AST | undefined +> : ^^^^^^^^^^^^^^^^^^^^ } this.top = this.asts.length; >this.top = this.asts.length : number @@ -370,7 +370,7 @@ module TypeScript { >this.asts.push(ast) : number > : ^^^^^^ >this.asts.push : (...items: TypeScript.AST[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ >this.asts : TypeScript.AST[] > : ^^^^^^^^^^^^^^^^ >this : this @@ -378,7 +378,7 @@ module TypeScript { >asts : TypeScript.AST[] > : ^^^^^^^^^^^^^^^^ >push : (...items: TypeScript.AST[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ >ast : TypeScript.AST > : ^^^^^^^^^^^^^^ } @@ -469,7 +469,7 @@ module TypeScript { public nodeType(): TypeScript.NodeType { >nodeType : () => TypeScript.NodeType -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >TypeScript : any > : ^^^ @@ -524,11 +524,11 @@ module TypeScript { >AstPath.reverseIndexOf(this.asts, this.asts.length - (this.top + 1)) : any > : ^^^ >AstPath.reverseIndexOf : (items: any[], index: number) => any -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >AstPath : typeof AstPath > : ^^^^^^^^^^^^^^ >reverseIndexOf : (items: any[], index: number) => any -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this.asts : TypeScript.AST[] > : ^^^^^^^^^^^^^^^^ >this : this @@ -573,11 +573,11 @@ module TypeScript { >AstPath.reverseIndexOf(this.asts, this.asts.length - this.top) : any > : ^^^ >AstPath.reverseIndexOf : (items: any[], index: number) => any -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >AstPath : typeof AstPath > : ^^^^^^^^^^^^^^ >reverseIndexOf : (items: any[], index: number) => any -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this.asts : TypeScript.AST[] > : ^^^^^^^^^^^^^^^^ >this : this @@ -623,7 +623,7 @@ module TypeScript { public get(index: number): TypeScript.AST { >get : (index: number) => TypeScript.AST -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >index : number > : ^^^^^^ >TypeScript : any @@ -1402,7 +1402,7 @@ module TypeScript { >lastOf(this.asts) : any > : ^^^ >lastOf : (items: any[]) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >this.asts : TypeScript.AST[] > : ^^^^^^^^^^^^^^^^ >this : this @@ -1533,7 +1533,7 @@ module TypeScript { >lastOf(this.asts) : any > : ^^^ >lastOf : (items: any[]) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >this.asts : TypeScript.AST[] > : ^^^^^^^^^^^^^^^^ >this : this @@ -1664,7 +1664,7 @@ module TypeScript { >lastOf(this.asts) : any > : ^^^ >lastOf : (items: any[]) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >this.asts : TypeScript.AST[] > : ^^^^^^^^^^^^^^^^ >this : this @@ -1795,7 +1795,7 @@ module TypeScript { >lastOf(this.asts) : any > : ^^^ >lastOf : (items: any[]) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >this.asts : TypeScript.AST[] > : ^^^^^^^^^^^^^^^^ >this : this @@ -2144,7 +2144,7 @@ module TypeScript { >lastOf(this.asts) : any > : ^^^ >lastOf : (items: any[]) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >this.asts : TypeScript.AST[] > : ^^^^^^^^^^^^^^^^ >this : this @@ -4806,11 +4806,11 @@ module TypeScript { >this.isListOfObjectLit() : boolean > : ^^^^^^^ >this.isListOfObjectLit : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >isListOfObjectLit : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } public isEmptyListOfObjectLit(): boolean { @@ -6058,11 +6058,11 @@ module TypeScript { >this.isBodyOfCase() : boolean > : ^^^^^^^ >this.isBodyOfCase : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >isBodyOfCase : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } public isSingleStatementList(): boolean { @@ -6838,7 +6838,7 @@ module TypeScript { export function isValidAstNode(ast: TypeScript.ASTSpan): boolean { >isValidAstNode : (ast: TypeScript.ASTSpan) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >ast : TypeScript.ASTSpan > : ^^^^^^^^^^^^^^^^^^ >TypeScript : any @@ -6947,7 +6947,7 @@ module TypeScript { /// export function getAstPathToPosition(script: TypeScript.AST, pos: number, options = GetAstPathOptions.Default): TypeScript.AstPath { >getAstPathToPosition : (script: TypeScript.AST, pos: number, options?: GetAstPathOptions) => TypeScript.AstPath -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ >script : TypeScript.AST > : ^^^^^^^^^^^^^^ >TypeScript : any @@ -7079,7 +7079,7 @@ module TypeScript { >ctx.path.push(comments[i]) : void > : ^^^^ >ctx.path.push : (ast: TypeScript.AST) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >ctx.path : AstPath > : ^^^^^^^ >ctx : AstPathContext @@ -7087,7 +7087,7 @@ module TypeScript { >path : AstPath > : ^^^^^^^ >push : (ast: TypeScript.AST) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >comments[i] : TypeScript.Comment > : ^^^^^^^^^^^^^^^^^^ >comments : TypeScript.Comment[] @@ -7101,9 +7101,9 @@ module TypeScript { var pre = function (cur: TypeScript.AST, parent: TypeScript.AST, walker: IAstWalker) { >pre : (cur: TypeScript.AST, parent: TypeScript.AST, walker: IAstWalker) => TypeScript.AST -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >function (cur: TypeScript.AST, parent: TypeScript.AST, walker: IAstWalker) { if (isValidAstNode(cur)) { // Add "cur" to the stack if it contains our position // For "identifier" nodes, we need a special case: A position equal to "limChar" is // valid, since the position corresponds to a caret position (in between characters) // For example: // bar // 0123 // If "position == 3", the caret is at the "right" of the "r" character, which should be considered valid var inclusive = hasFlag(options, GetAstPathOptions.EdgeInclusive) || cur.nodeType === TypeScript.NodeType.Name || pos === script.limChar; // Special "EOF" case var minChar = cur.minChar; var limChar = cur.limChar + (inclusive ? 1 : 0) if (pos >= minChar && pos < limChar) { // TODO: Since AST is sometimes not correct wrt to position, only add "cur" if it's better // than top of the stack. var previous = ctx.path.ast(); if (previous == null || (cur.minChar >= previous.minChar && cur.limChar <= previous.limChar)) { ctx.path.push(cur); } else { //logger.log("TODO: Ignoring node because minChar, limChar not better than previous node in stack"); } } // The AST walker skips comments, but we might be in one, so check the pre/post comments for this node manually if (pos < limChar) { lookInComments(cur.preComments); } if (pos >= minChar) { lookInComments(cur.postComments); } if (!hasFlag(options, GetAstPathOptions.DontPruneSearchBasedOnPosition)) { // Don't go further down the tree if pos is outside of [minChar, limChar] walker.options.goChildren = (minChar <= pos && pos <= limChar); } } return cur; } : (cur: TypeScript.AST, parent: TypeScript.AST, walker: IAstWalker) => TypeScript.AST -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >cur : TypeScript.AST > : ^^^^^^^^^^^^^^ >TypeScript : any @@ -7119,7 +7119,7 @@ module TypeScript { >isValidAstNode(cur) : boolean > : ^^^^^^^ >isValidAstNode : (ast: TypeScript.ASTSpan) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >cur : TypeScript.AST > : ^^^^^^^^^^^^^^ @@ -7294,7 +7294,7 @@ module TypeScript { >ctx.path.push(cur) : void > : ^^^^ >ctx.path.push : (ast: TypeScript.AST) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >ctx.path : AstPath > : ^^^^^^^ >ctx : AstPathContext @@ -7302,7 +7302,7 @@ module TypeScript { >path : AstPath > : ^^^^^^^ >push : (ast: TypeScript.AST) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >cur : TypeScript.AST > : ^^^^^^^^^^^^^^ } @@ -7432,7 +7432,7 @@ module TypeScript { >script : TypeScript.AST > : ^^^^^^^^^^^^^^ >pre : (cur: TypeScript.AST, parent: TypeScript.AST, walker: IAstWalker) => TypeScript.AST -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >ctx : AstPathContext > : ^^^^^^^^^^^^^^ @@ -7451,7 +7451,7 @@ module TypeScript { // export function getTokenizationOffset(script: TypeScript.Script, position: number): number { >getTokenizationOffset : (script: TypeScript.Script, position: number) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >script : TypeScript.Script > : ^^^^^^^^^^^^^^^^^ >TypeScript : any @@ -7467,9 +7467,9 @@ module TypeScript { var pre = (cur: TypeScript.AST, parent: TypeScript.AST, walker: TypeScript.IAstWalker): TypeScript.AST => { >pre : (cur: TypeScript.AST, parent: TypeScript.AST, walker: TypeScript.IAstWalker) => TypeScript.AST -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >(cur: TypeScript.AST, parent: TypeScript.AST, walker: TypeScript.IAstWalker): TypeScript.AST => { if (TypeScript.isValidAstNode(cur)) { // Did we find a closer offset? if (cur.minChar <= position) { bestOffset = max(bestOffset, cur.minChar); } // Stop the walk if this node is not related to "minChar" if (cur.minChar > position || cur.limChar < bestOffset) { walker.options.goChildren = false; } } return cur; } : (cur: TypeScript.AST, parent: TypeScript.AST, walker: TypeScript.IAstWalker) => TypeScript.AST -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >cur : TypeScript.AST > : ^^^^^^^^^^^^^^ >TypeScript : any @@ -7489,11 +7489,11 @@ module TypeScript { >TypeScript.isValidAstNode(cur) : boolean > : ^^^^^^^ >TypeScript.isValidAstNode : (ast: TypeScript.ASTSpan) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >TypeScript : typeof TypeScript > : ^^^^^^^^^^^^^^^^^ >isValidAstNode : (ast: TypeScript.ASTSpan) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >cur : TypeScript.AST > : ^^^^^^^^^^^^^^ @@ -7518,7 +7518,7 @@ module TypeScript { >max(bestOffset, cur.minChar) : number > : ^^^^^^ >max : (a: number, b: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >bestOffset : number > : ^^^^^^ >cur.minChar : any @@ -7595,7 +7595,7 @@ module TypeScript { >script : TypeScript.Script > : ^^^^^^^^^^^^^^^^^ >pre : (cur: TypeScript.AST, parent: TypeScript.AST, walker: TypeScript.IAstWalker) => TypeScript.AST -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ return bestOffset; >bestOffset : number @@ -7607,13 +7607,13 @@ module TypeScript { /// export function walkAST(ast: TypeScript.AST, callback: (path: AstPath, walker: TypeScript.IAstWalker) => void ): void { >walkAST : (ast: TypeScript.AST, callback: (path: AstPath, walker: TypeScript.IAstWalker) => void) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >ast : TypeScript.AST > : ^^^^^^^^^^^^^^ >TypeScript : any > : ^^^ >callback : (path: AstPath, walker: TypeScript.IAstWalker) => void -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >path : AstPath > : ^^^^^^^ >walker : TypeScript.IAstWalker @@ -7623,9 +7623,9 @@ module TypeScript { var pre = function (cur: TypeScript.AST, parent: TypeScript.AST, walker: TypeScript.IAstWalker) { >pre : (cur: TypeScript.AST, parent: TypeScript.AST, walker: TypeScript.IAstWalker) => TypeScript.AST -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >function (cur: TypeScript.AST, parent: TypeScript.AST, walker: TypeScript.IAstWalker) { var path: TypeScript.AstPath = walker.state; path.push(cur); callback(path, walker); return cur; } : (cur: TypeScript.AST, parent: TypeScript.AST, walker: TypeScript.IAstWalker) => TypeScript.AST -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >cur : TypeScript.AST > : ^^^^^^^^^^^^^^ >TypeScript : any @@ -7655,11 +7655,11 @@ module TypeScript { >path.push(cur) : void > : ^^^^ >path.push : (ast: TypeScript.AST) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >path : AstPath > : ^^^^^^^ >push : (ast: TypeScript.AST) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >cur : TypeScript.AST > : ^^^^^^^^^^^^^^ @@ -7667,7 +7667,7 @@ module TypeScript { >callback(path, walker) : void > : ^^^^ >callback : (path: AstPath, walker: TypeScript.IAstWalker) => void -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >path : AstPath > : ^^^^^^^ >walker : TypeScript.IAstWalker @@ -7679,9 +7679,9 @@ module TypeScript { } var post = function (cur: TypeScript.AST, parent: TypeScript.AST, walker: TypeScript.IAstWalker) { >post : (cur: TypeScript.AST, parent: TypeScript.AST, walker: TypeScript.IAstWalker) => TypeScript.AST -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >function (cur: TypeScript.AST, parent: TypeScript.AST, walker: TypeScript.IAstWalker) { var path: TypeScript.AstPath = walker.state; path.pop(); return cur; } : (cur: TypeScript.AST, parent: TypeScript.AST, walker: TypeScript.IAstWalker) => TypeScript.AST -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >cur : TypeScript.AST > : ^^^^^^^^^^^^^^ >TypeScript : any @@ -7711,11 +7711,11 @@ module TypeScript { >path.pop() : TypeScript.AST > : ^^^^^^^^^^^^^^ >path.pop : () => TypeScript.AST -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >path : AstPath > : ^^^^^^^ >pop : () => TypeScript.AST -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ return cur; >cur : TypeScript.AST @@ -7748,9 +7748,9 @@ module TypeScript { >ast : TypeScript.AST > : ^^^^^^^^^^^^^^ >pre : (cur: TypeScript.AST, parent: TypeScript.AST, walker: TypeScript.IAstWalker) => TypeScript.AST -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >post : (cur: TypeScript.AST, parent: TypeScript.AST, walker: TypeScript.IAstWalker) => TypeScript.AST -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >path : AstPath > : ^^^^^^^ } diff --git a/tests/baselines/reference/parserRealSource2.types b/tests/baselines/reference/parserRealSource2.types index 18ade41b1a001..beb7a8348569c 100644 --- a/tests/baselines/reference/parserRealSource2.types +++ b/tests/baselines/reference/parserRealSource2.types @@ -1613,31 +1613,31 @@ module TypeScript { export function ToDeclFlags(fncFlags: FncFlags) : DeclFlags; >ToDeclFlags : { (fncFlags: FncFlags): DeclFlags; (varFlags: VarFlags): DeclFlags; (symFlags: SymbolFlags): DeclFlags; (moduleFlags: ModuleFlags): DeclFlags; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >fncFlags : FncFlags > : ^^^^^^^^ export function ToDeclFlags(varFlags: VarFlags) : DeclFlags; >ToDeclFlags : { (fncFlags: FncFlags): DeclFlags; (varFlags: VarFlags): DeclFlags; (symFlags: SymbolFlags): DeclFlags; (moduleFlags: ModuleFlags): DeclFlags; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >varFlags : VarFlags > : ^^^^^^^^ export function ToDeclFlags(symFlags: SymbolFlags): DeclFlags; >ToDeclFlags : { (fncFlags: FncFlags): DeclFlags; (varFlags: VarFlags): DeclFlags; (symFlags: SymbolFlags): DeclFlags; (moduleFlags: ModuleFlags): DeclFlags; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >symFlags : SymbolFlags > : ^^^^^^^^^^^ export function ToDeclFlags(moduleFlags: ModuleFlags): DeclFlags; >ToDeclFlags : { (fncFlags: FncFlags): DeclFlags; (varFlags: VarFlags): DeclFlags; (symFlags: SymbolFlags): DeclFlags; (moduleFlags: ModuleFlags): DeclFlags; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >moduleFlags : ModuleFlags > : ^^^^^^^^^^^ export function ToDeclFlags(fncOrVarOrSymbolOrModuleFlags: any) { >ToDeclFlags : { (fncFlags: FncFlags): DeclFlags; (varFlags: VarFlags): DeclFlags; (symFlags: SymbolFlags): DeclFlags; (moduleFlags: ModuleFlags): DeclFlags; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >fncOrVarOrSymbolOrModuleFlags : any > : ^^^ diff --git a/tests/baselines/reference/parserRealSource4.types b/tests/baselines/reference/parserRealSource4.types index ff46c18b13be1..b17459e9e063b 100644 --- a/tests/baselines/reference/parserRealSource4.types +++ b/tests/baselines/reference/parserRealSource4.types @@ -412,7 +412,7 @@ module TypeScript { >fn(k, this.table[k], context) : void > : ^^^^ >fn : (k: string, v: any, c: any) => void -> : ^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^ >k : string > : ^^^^^^ >this.table[k] : any @@ -483,7 +483,7 @@ module TypeScript { >fn(k, this.table[k], context) : boolean > : ^^^^^^^ >fn : (k: string, v: any, c: any) => boolean -> : ^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^ >k : string > : ^^^^^^ >this.table[k] : any @@ -560,7 +560,7 @@ module TypeScript { >fn(k, this.table[k], context) : boolean > : ^^^^^^^ >fn : (k: string, v: any, c: any) => boolean -> : ^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^ >k : string > : ^^^^^^ >this.table[k] : any @@ -666,11 +666,11 @@ module TypeScript { >this.primaryTable.getAllKeys().concat(this.secondaryTable.getAllKeys()) : string[] > : ^^^^^^^^ >this.primaryTable.getAllKeys().concat : { (...items: ConcatArray[]): string[]; (...items: (string | ConcatArray)[]): string[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >this.primaryTable.getAllKeys() : string[] > : ^^^^^^^^ >this.primaryTable.getAllKeys : () => string[] -> : ^^^^^^^^^^^^^^ +> : ^^^^^^ >this.primaryTable : IHashTable > : ^^^^^^^^^^ >this : this @@ -678,13 +678,13 @@ module TypeScript { >primaryTable : IHashTable > : ^^^^^^^^^^ >getAllKeys : () => string[] -> : ^^^^^^^^^^^^^^ +> : ^^^^^^ >concat : { (...items: ConcatArray[]): string[]; (...items: (string | ConcatArray)[]): string[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >this.secondaryTable.getAllKeys() : string[] > : ^^^^^^^^ >this.secondaryTable.getAllKeys : () => string[] -> : ^^^^^^^^^^^^^^ +> : ^^^^^^ >this.secondaryTable : IHashTable > : ^^^^^^^^^^ >this : this @@ -692,7 +692,7 @@ module TypeScript { >secondaryTable : IHashTable > : ^^^^^^^^^^ >getAllKeys : () => string[] -> : ^^^^^^^^^^^^^^ +> : ^^^^^^ } public add(key: string, data): boolean { @@ -715,7 +715,7 @@ module TypeScript { >this.primaryTable.add(key, data) : boolean > : ^^^^^^^ >this.primaryTable.add : (key: string, data: any) => boolean -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^ >this.primaryTable : IHashTable > : ^^^^^^^^^^ >this : this @@ -723,7 +723,7 @@ module TypeScript { >primaryTable : IHashTable > : ^^^^^^^^^^ >add : (key: string, data: any) => boolean -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^ >key : string > : ^^^^^^ >data : any @@ -734,7 +734,7 @@ module TypeScript { >this.secondaryTable.add(key, data) : boolean > : ^^^^^^^ >this.secondaryTable.add : (key: string, data: any) => boolean -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^ >this.secondaryTable : IHashTable > : ^^^^^^^^^^ >this : this @@ -742,7 +742,7 @@ module TypeScript { >secondaryTable : IHashTable > : ^^^^^^^^^^ >add : (key: string, data: any) => boolean -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^ >key : string > : ^^^^^^ >data : any @@ -770,7 +770,7 @@ module TypeScript { >this.primaryTable.addOrUpdate(key, data) : boolean > : ^^^^^^^ >this.primaryTable.addOrUpdate : (key: string, data: any) => boolean -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^ >this.primaryTable : IHashTable > : ^^^^^^^^^^ >this : this @@ -778,7 +778,7 @@ module TypeScript { >primaryTable : IHashTable > : ^^^^^^^^^^ >addOrUpdate : (key: string, data: any) => boolean -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^ >key : string > : ^^^^^^ >data : any @@ -789,7 +789,7 @@ module TypeScript { >this.secondaryTable.addOrUpdate(key, data) : boolean > : ^^^^^^^ >this.secondaryTable.addOrUpdate : (key: string, data: any) => boolean -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^ >this.secondaryTable : IHashTable > : ^^^^^^^^^^ >this : this @@ -797,7 +797,7 @@ module TypeScript { >secondaryTable : IHashTable > : ^^^^^^^^^^ >addOrUpdate : (key: string, data: any) => boolean -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^ >key : string > : ^^^^^^ >data : any @@ -823,7 +823,7 @@ module TypeScript { >this.primaryTable.map(fn, context) : void > : ^^^^ >this.primaryTable.map : (fn: (k: string, v: any, c: any) => void, context: any) => void -> : ^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ >this.primaryTable : IHashTable > : ^^^^^^^^^^ >this : this @@ -831,9 +831,9 @@ module TypeScript { >primaryTable : IHashTable > : ^^^^^^^^^^ >map : (fn: (k: string, v: any, c: any) => void, context: any) => void -> : ^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ >fn : (k: string, v: any, c: any) => void -> : ^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^ >context : any > : ^^^ @@ -841,7 +841,7 @@ module TypeScript { >this.secondaryTable.map(fn, context) : void > : ^^^^ >this.secondaryTable.map : (fn: (k: string, v: any, c: any) => void, context: any) => void -> : ^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ >this.secondaryTable : IHashTable > : ^^^^^^^^^^ >this : this @@ -849,9 +849,9 @@ module TypeScript { >secondaryTable : IHashTable > : ^^^^^^^^^^ >map : (fn: (k: string, v: any, c: any) => void, context: any) => void -> : ^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ >fn : (k: string, v: any, c: any) => void -> : ^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^ >context : any > : ^^^ } @@ -876,7 +876,7 @@ module TypeScript { >this.primaryTable.every(fn, context) : boolean > : ^^^^^^^ >this.primaryTable.every : (fn: (k: string, v: any, c: any) => boolean, context: any) => boolean -> : ^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ >this.primaryTable : IHashTable > : ^^^^^^^^^^ >this : this @@ -884,15 +884,15 @@ module TypeScript { >primaryTable : IHashTable > : ^^^^^^^^^^ >every : (fn: (k: string, v: any, c: any) => boolean, context: any) => boolean -> : ^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ >fn : (k: string, v: any, c: any) => boolean -> : ^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^ >context : any > : ^^^ >this.secondaryTable.every(fn, context) : boolean > : ^^^^^^^ >this.secondaryTable.every : (fn: (k: string, v: any, c: any) => boolean, context: any) => boolean -> : ^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ >this.secondaryTable : IHashTable > : ^^^^^^^^^^ >this : this @@ -900,9 +900,9 @@ module TypeScript { >secondaryTable : IHashTable > : ^^^^^^^^^^ >every : (fn: (k: string, v: any, c: any) => boolean, context: any) => boolean -> : ^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ >fn : (k: string, v: any, c: any) => boolean -> : ^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^ >context : any > : ^^^ } @@ -927,7 +927,7 @@ module TypeScript { >this.primaryTable.some(fn, context) : boolean > : ^^^^^^^ >this.primaryTable.some : (fn: (k: string, v: any, c: any) => boolean, context: any) => boolean -> : ^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ >this.primaryTable : IHashTable > : ^^^^^^^^^^ >this : this @@ -935,15 +935,15 @@ module TypeScript { >primaryTable : IHashTable > : ^^^^^^^^^^ >some : (fn: (k: string, v: any, c: any) => boolean, context: any) => boolean -> : ^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ >fn : (k: string, v: any, c: any) => boolean -> : ^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^ >context : any > : ^^^ >this.secondaryTable.some(fn, context) : boolean > : ^^^^^^^ >this.secondaryTable.some : (fn: (k: string, v: any, c: any) => boolean, context: any) => boolean -> : ^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ >this.secondaryTable : IHashTable > : ^^^^^^^^^^ >this : this @@ -951,9 +951,9 @@ module TypeScript { >secondaryTable : IHashTable > : ^^^^^^^^^^ >some : (fn: (k: string, v: any, c: any) => boolean, context: any) => boolean -> : ^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ >fn : (k: string, v: any, c: any) => boolean -> : ^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^ >context : any > : ^^^ } @@ -968,7 +968,7 @@ module TypeScript { >this.primaryTable.count() : number > : ^^^^^^ >this.primaryTable.count : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this.primaryTable : IHashTable > : ^^^^^^^^^^ >this : this @@ -976,11 +976,11 @@ module TypeScript { >primaryTable : IHashTable > : ^^^^^^^^^^ >count : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this.secondaryTable.count() : number > : ^^^^^^ >this.secondaryTable.count : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this.secondaryTable : IHashTable > : ^^^^^^^^^^ >this : this @@ -988,7 +988,7 @@ module TypeScript { >secondaryTable : IHashTable > : ^^^^^^^^^^ >count : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } public lookup(key: string) { @@ -1003,7 +1003,7 @@ module TypeScript { >this.primaryTable.lookup(key) : any > : ^^^ >this.primaryTable.lookup : (key: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >this.primaryTable : IHashTable > : ^^^^^^^^^^ >this : this @@ -1011,7 +1011,7 @@ module TypeScript { >primaryTable : IHashTable > : ^^^^^^^^^^ >lookup : (key: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >key : string > : ^^^^^^ @@ -1032,7 +1032,7 @@ module TypeScript { >this.secondaryTable.lookup(key) : any > : ^^^ >this.secondaryTable.lookup : (key: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >this.secondaryTable : IHashTable > : ^^^^^^^^^^ >this : this @@ -1040,7 +1040,7 @@ module TypeScript { >secondaryTable : IHashTable > : ^^^^^^^^^^ >lookup : (key: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >key : string > : ^^^^^^ } @@ -1302,11 +1302,11 @@ module TypeScript { >this.hashFn(key) : number > : ^^^^^^ >this.hashFn : (key: any) => number -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >this : this > : ^^^^ >hashFn : (key: any) => number -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >key : any > : ^^^ @@ -1360,11 +1360,11 @@ module TypeScript { >this.equalsFn(key, current.key) : boolean > : ^^^^^^^ >this.equalsFn : (key1: any, key2: any) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^^^^^^ >this : this > : ^^^^ >equalsFn : (key1: any, key2: any) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^^^^^^ >key : any > : ^^^ >current.key : any @@ -1446,11 +1446,11 @@ module TypeScript { >this.hashFn(key) : number > : ^^^^^^ >this.hashFn : (key: any) => number -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >this : this > : ^^^^ >hashFn : (key: any) => number -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >key : any > : ^^^ @@ -1512,11 +1512,11 @@ module TypeScript { >this.equalsFn(key, current.key) : boolean > : ^^^^^^^ >this.equalsFn : (key1: any, key2: any) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^^^^^^ >this : this > : ^^^^ >equalsFn : (key1: any, key2: any) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^^^^^^ >key : any > : ^^^ >current.key : any @@ -1630,11 +1630,11 @@ module TypeScript { >this.hashFn(key) : number > : ^^^^^^ >this.hashFn : (key: any) => number -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >this : this > : ^^^^ >hashFn : (key: any) => number -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >key : any > : ^^^ @@ -1688,11 +1688,11 @@ module TypeScript { >this.equalsFn(key, current.key) : boolean > : ^^^^^^^ >this.equalsFn : (key1: any, key2: any) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^^^^^^ >this : this > : ^^^^ >equalsFn : (key1: any, key2: any) => boolean -> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^^^^^^ >key : any > : ^^^ >current.key : any diff --git a/tests/baselines/reference/parserRealSource5.types b/tests/baselines/reference/parserRealSource5.types index 8667029679f70..8f3ed1a4a4b1f 100644 --- a/tests/baselines/reference/parserRealSource5.types +++ b/tests/baselines/reference/parserRealSource5.types @@ -252,7 +252,7 @@ module TypeScript { >this.outfile.WriteLine(this.builder) : void > : ^^^^ >this.outfile.WriteLine : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >this.outfile : ITextWriter > : ^^^^^^^^^^^ >this : this @@ -260,7 +260,7 @@ module TypeScript { >outfile : ITextWriter > : ^^^^^^^^^^^ >WriteLine : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >this.builder : string > : ^^^^^^ >this : this @@ -285,7 +285,7 @@ module TypeScript { export function prePrintAST(ast: AST, parent: AST, walker: IAstWalker) { >prePrintAST : (ast: AST, parent: AST, walker: IAstWalker) => AST -> : ^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ >ast : AST > : ^^^ >parent : AST @@ -335,7 +335,7 @@ module TypeScript { export function postPrintAST(ast: AST, parent: AST, walker: IAstWalker) { >postPrintAST : (ast: AST, parent: AST, walker: IAstWalker) => AST -> : ^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ >ast : AST > : ^^^ >parent : AST diff --git a/tests/baselines/reference/parserRealSource6.types b/tests/baselines/reference/parserRealSource6.types index 19d355f02ffdc..0ca3b7cf60791 100644 --- a/tests/baselines/reference/parserRealSource6.types +++ b/tests/baselines/reference/parserRealSource6.types @@ -66,11 +66,11 @@ module TypeScript { public scopeGetter: () => SymbolScope = null; >scopeGetter : () => SymbolScope -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ public objectLiteralScopeGetter: () => SymbolScope = null; >objectLiteralScopeGetter : () => SymbolScope -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ public scopeStartAST: AST = null; >scopeStartAST : AST @@ -133,32 +133,32 @@ module TypeScript { public getScope(): SymbolScope { >getScope : () => SymbolScope -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ return this.scopeGetter(); >this.scopeGetter() : SymbolScope > : ^^^^^^^^^^^ >this.scopeGetter : () => SymbolScope -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >scopeGetter : () => SymbolScope -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ } public getObjectLiteralScope(): SymbolScope { >getObjectLiteralScope : () => SymbolScope -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ return this.objectLiteralScopeGetter(); >this.objectLiteralScopeGetter() : SymbolScope > : ^^^^^^^^^^^ >this.objectLiteralScopeGetter : () => SymbolScope -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >objectLiteralScopeGetter : () => SymbolScope -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ } public getScopeAST() { @@ -193,7 +193,7 @@ module TypeScript { public getScriptFragmentStartAST(): AST { >getScriptFragmentStartAST : () => AST -> : ^^^^^^^^^ +> : ^^^^^^ return this.scopeStartAST; >this.scopeStartAST : AST @@ -214,18 +214,18 @@ module TypeScript { >this.getScriptFragmentStartAST() : AST > : ^^^ >this.getScriptFragmentStartAST : () => AST -> : ^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >getScriptFragmentStartAST : () => AST -> : ^^^^^^^^^ +> : ^^^^^^ >minChar : any > : ^^^ } public getScriptFragment(): Script { >getScriptFragment : () => Script -> : ^^^^^^^^^^^^ +> : ^^^^^^ if (this.scriptFragment == null) { >this.scriptFragment == null : boolean @@ -243,11 +243,11 @@ module TypeScript { >this.getScriptFragmentStartAST() : AST > : ^^^ >this.getScriptFragmentStartAST : () => AST -> : ^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >getScriptFragmentStartAST : () => AST -> : ^^^^^^^^^ +> : ^^^^^^ var minChar = ast.minChar; >minChar : any @@ -341,7 +341,7 @@ module TypeScript { export function preFindMemberScope(ast: AST, parent: AST, walker: IAstWalker) { >preFindMemberScope : (ast: AST, parent: AST, walker: IAstWalker) => AST -> : ^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ >ast : AST > : ^^^ >parent : AST @@ -508,7 +508,7 @@ module TypeScript { export function pushTypeCollectionScope(container: Symbol, >pushTypeCollectionScope : (container: Symbol, valueMembers: ScopedMembers, ambientValueMembers: ScopedMembers, enclosedTypes: ScopedMembers, ambientEnclosedTypes: ScopedMembers, context: TypeCollectionContext, thisType: Type, classType: Type, moduleDecl: ModuleDeclaration) => void -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >container : Symbol > : ^^^^^^ @@ -658,7 +658,7 @@ module TypeScript { export function preFindEnclosingScope(ast: AST, parent: AST, walker: IAstWalker) { >preFindEnclosingScope : (ast: AST, parent: AST, walker: IAstWalker) => AST -> : ^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ >ast : AST > : ^^^ >parent : AST @@ -796,11 +796,11 @@ module TypeScript { >context.scopeGetter = function () { return script.bod === null ? null : script.bod.enclosingScope; } : () => any > : ^^^^^^^^^ >context.scopeGetter : () => SymbolScope -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >context : EnclosingScopeContext > : ^^^^^^^^^^^^^^^^^^^^^ >scopeGetter : () => SymbolScope -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >function () { return script.bod === null ? null : script.bod.enclosingScope; } : () => any > : ^^^^^^^^^ @@ -853,11 +853,11 @@ module TypeScript { >context.scopeGetter = function () { return (ast.type === null || ast.type.instanceType.containedScope === null) ? null : ast.type.instanceType.containedScope; } : () => any > : ^^^^^^^^^ >context.scopeGetter : () => SymbolScope -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >context : EnclosingScopeContext > : ^^^^^^^^^^^^^^^^^^^^^ >scopeGetter : () => SymbolScope -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >function () { return (ast.type === null || ast.type.instanceType.containedScope === null) ? null : ast.type.instanceType.containedScope; } : () => any > : ^^^^^^^^^ @@ -965,11 +965,11 @@ module TypeScript { >context.scopeGetter = function () { return objectLit.targetType.containedScope; } : () => any > : ^^^^^^^^^ >context.scopeGetter : () => SymbolScope -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >context : EnclosingScopeContext > : ^^^^^^^^^^^^^^^^^^^^^ >scopeGetter : () => SymbolScope -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >function () { return objectLit.targetType.containedScope; } : () => any > : ^^^^^^^^^ @@ -990,11 +990,11 @@ module TypeScript { >context.objectLiteralScopeGetter = function () { return objectLit.targetType.memberScope; } : () => any > : ^^^^^^^^^ >context.objectLiteralScopeGetter : () => SymbolScope -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >context : EnclosingScopeContext > : ^^^^^^^^^^^^^^^^^^^^^ >objectLiteralScopeGetter : () => SymbolScope -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >function () { return objectLit.targetType.memberScope; } : () => any > : ^^^^^^^^^ @@ -1050,11 +1050,11 @@ module TypeScript { >context.scopeGetter = function () { return ast.type === null ? null : ast.type.containedScope; } : () => any > : ^^^^^^^^^ >context.scopeGetter : () => SymbolScope -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >context : EnclosingScopeContext > : ^^^^^^^^^^^^^^^^^^^^^ >scopeGetter : () => SymbolScope -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >function () { return ast.type === null ? null : ast.type.containedScope; } : () => any > : ^^^^^^^^^ @@ -1107,11 +1107,11 @@ module TypeScript { >context.scopeGetter = function () { return (ast.type === null) ? null : ast.type.containedScope; } : () => any > : ^^^^^^^^^ >context.scopeGetter : () => SymbolScope -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >context : EnclosingScopeContext > : ^^^^^^^^^^^^^^^^^^^^^ >scopeGetter : () => SymbolScope -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >function () { return (ast.type === null) ? null : ast.type.containedScope; } : () => any > : ^^^^^^^^^ @@ -1195,11 +1195,11 @@ module TypeScript { >context.scopeGetter = function () { // The scope of a class constructor is hidden somewhere we don't expect :-S if (funcDecl.isConstructor && hasFlag(funcDecl.fncFlags, FncFlags.ClassMethod)) { if (ast.type && ast.type.enclosingType) { return ast.type.enclosingType.constructorScope; } } if (funcDecl.scopeType) { return funcDecl.scopeType.containedScope; } if (funcDecl.type) { return funcDecl.type.containedScope; } return null; } : () => any > : ^^^^^^^^^ >context.scopeGetter : () => SymbolScope -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >context : EnclosingScopeContext > : ^^^^^^^^^^^^^^^^^^^^^ >scopeGetter : () => SymbolScope -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >function () { // The scope of a class constructor is hidden somewhere we don't expect :-S if (funcDecl.isConstructor && hasFlag(funcDecl.fncFlags, FncFlags.ClassMethod)) { if (ast.type && ast.type.enclosingType) { return ast.type.enclosingType.constructorScope; } } if (funcDecl.scopeType) { return funcDecl.scopeType.containedScope; } if (funcDecl.type) { return funcDecl.type.containedScope; } return null; } : () => any > : ^^^^^^^^^ @@ -1371,7 +1371,7 @@ module TypeScript { // export function findEnclosingScopeAt(logger: ILogger, script: Script, text: ISourceText, pos: number, isMemberCompletion: boolean): EnclosingScopeContext { >findEnclosingScopeAt : (logger: ILogger, script: Script, text: ISourceText, pos: number, isMemberCompletion: boolean) => EnclosingScopeContext -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >logger : ILogger > : ^^^^^^^ >script : Script @@ -1419,7 +1419,7 @@ module TypeScript { >script : Script > : ^^^^^^ >preFindEnclosingScope : (ast: AST, parent: AST, walker: IAstWalker) => AST -> : ^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ >context : EnclosingScopeContext > : ^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/parserRealSource7.types b/tests/baselines/reference/parserRealSource7.types index 2b95b3aa4c7f2..8b2d40b9c40ca 100644 --- a/tests/baselines/reference/parserRealSource7.types +++ b/tests/baselines/reference/parserRealSource7.types @@ -29,7 +29,7 @@ module TypeScript { function getBaseTypeLinks(bases: ASTList, baseTypeLinks: TypeLink[]) { >getBaseTypeLinks : (bases: ASTList, baseTypeLinks: TypeLink[]) => TypeLink[] -> : ^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ >bases : ASTList > : ^^^^^^^ >baseTypeLinks : TypeLink[] @@ -153,7 +153,7 @@ module TypeScript { function getBases(type: Type, typeDecl: TypeDeclaration) { >getBases : (type: Type, typeDecl: TypeDeclaration) => void -> : ^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^ >type : Type > : ^^^^ >typeDecl : TypeDeclaration @@ -171,7 +171,7 @@ module TypeScript { >getBaseTypeLinks(typeDecl.extendsList, type.extendsTypeLinks) : TypeLink[] > : ^^^^^^^^^^ >getBaseTypeLinks : (bases: ASTList, baseTypeLinks: TypeLink[]) => TypeLink[] -> : ^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ >typeDecl.extendsList : any > : ^^^ >typeDecl : TypeDeclaration @@ -197,7 +197,7 @@ module TypeScript { >getBaseTypeLinks(typeDecl.implementsList, type.implementsTypeLinks) : TypeLink[] > : ^^^^^^^^^^ >getBaseTypeLinks : (bases: ASTList, baseTypeLinks: TypeLink[]) => TypeLink[] -> : ^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ >typeDecl.implementsList : any > : ^^^ >typeDecl : TypeDeclaration @@ -214,7 +214,7 @@ module TypeScript { function addPrototypeField(classType: Type, ast: AST, context: TypeCollectionContext) { >addPrototypeField : (classType: Type, ast: AST, context: TypeCollectionContext) => void -> : ^ ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >classType : Type > : ^^^^ >ast : AST @@ -389,7 +389,7 @@ module TypeScript { export function createNewConstructGroupForType(type: Type) { >createNewConstructGroupForType : (type: Type) => void -> : ^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >type : Type > : ^^^^ @@ -480,7 +480,7 @@ module TypeScript { export function cloneParentConstructGroupForChildType(child: Type, parent: Type) { >cloneParentConstructGroupForChildType : (child: Type, parent: Type) => void -> : ^ ^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^ >child : Type > : ^^^^ >parent : Type @@ -518,7 +518,7 @@ module TypeScript { >createNewConstructGroupForType(parent) : void > : ^^^^ >createNewConstructGroupForType : (type: Type) => void -> : ^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >parent : Type > : ^^^^ } @@ -748,7 +748,7 @@ module TypeScript { function findTypeSymbolInScopeChain(name: string, scopeChain: ScopeChain): Symbol { >findTypeSymbolInScopeChain : (name: string, scopeChain: ScopeChain) => Symbol -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >name : string > : ^^^^^^ >scopeChain : ScopeChain @@ -798,7 +798,7 @@ module TypeScript { >findTypeSymbolInScopeChain(name, scopeChain.previous) : Symbol > : ^^^^^^ >findTypeSymbolInScopeChain : (name: string, scopeChain: ScopeChain) => Symbol -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >name : string > : ^^^^^^ >scopeChain.previous : any @@ -816,7 +816,7 @@ module TypeScript { function findSymbolFromAlias(alias: AST, context: IAliasScopeContext): Symbol { >findSymbolFromAlias : (alias: AST, context: IAliasScopeContext) => Symbol -> : ^ ^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >alias : AST > : ^^^ >context : IAliasScopeContext @@ -903,7 +903,7 @@ module TypeScript { >findTypeSymbolInScopeChain(name, context.topLevelScope) : Symbol > : ^^^^^^ >findTypeSymbolInScopeChain : (name: string, scopeChain: ScopeChain) => Symbol -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >name : any > : ^^^ >context.topLevelScope : ScopeChain @@ -1001,7 +1001,7 @@ module TypeScript { >findSymbolFromAlias(dottedExpr.operand1, context) : Symbol > : ^^^^^^ >findSymbolFromAlias : (alias: AST, context: IAliasScopeContext) => Symbol -> : ^ ^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >dottedExpr.operand1 : any > : ^^^ >dottedExpr : BinaryExpression @@ -1033,7 +1033,7 @@ module TypeScript { >findSymbolFromAlias(dottedExpr.operand2, context) : Symbol > : ^^^^^^ >findSymbolFromAlias : (alias: AST, context: IAliasScopeContext) => Symbol -> : ^ ^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >dottedExpr.operand2 : any > : ^^^ >dottedExpr : BinaryExpression @@ -1110,7 +1110,7 @@ module TypeScript { export function preCollectImportTypes(ast: AST, parent: AST, context: TypeCollectionContext) { >preCollectImportTypes : (ast: AST, parent: AST, context: TypeCollectionContext) => boolean -> : ^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >ast : AST > : ^^^ >parent : AST @@ -1171,7 +1171,7 @@ module TypeScript { >findSymbolFromAlias(importDecl.alias, { topLevelScope: scopeChain, members: null, tcContext: context }) : Symbol > : ^^^^^^ >findSymbolFromAlias : (alias: AST, context: IAliasScopeContext) => Symbol -> : ^ ^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >importDecl.alias : any > : ^^^ >importDecl : ImportDeclaration @@ -1464,7 +1464,7 @@ module TypeScript { export function preCollectModuleTypes(ast: AST, parent: AST, context: TypeCollectionContext) { >preCollectModuleTypes : (ast: AST, parent: AST, context: TypeCollectionContext) => boolean -> : ^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >ast : AST > : ^^^ >parent : AST @@ -2586,7 +2586,7 @@ module TypeScript { export function preCollectClassTypes(ast: AST, parent: AST, context: TypeCollectionContext) { >preCollectClassTypes : (ast: AST, parent: AST, context: TypeCollectionContext) => boolean -> : ^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >ast : AST > : ^^^ >parent : AST @@ -3140,7 +3140,7 @@ module TypeScript { >addPrototypeField(classType, classDecl, context) : void > : ^^^^ >addPrototypeField : (classType: Type, ast: AST, context: TypeCollectionContext) => void -> : ^ ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >classType : Type > : ^^^^ >classDecl : ClassDeclaration @@ -3806,7 +3806,7 @@ module TypeScript { >createNewConstructGroupForType(classDecl.type) : void > : ^^^^ >createNewConstructGroupForType : (type: Type) => void -> : ^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >classDecl.type : any > : ^^^ >classDecl : ClassDeclaration @@ -3851,7 +3851,7 @@ module TypeScript { >getBases(instanceType, classDecl) : void > : ^^^^ >getBases : (type: Type, typeDecl: TypeDeclaration) => void -> : ^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^ >instanceType : Type > : ^^^^ >classDecl : ClassDeclaration @@ -3892,7 +3892,7 @@ module TypeScript { export function preCollectInterfaceTypes(ast: AST, parent: AST, context: TypeCollectionContext) { >preCollectInterfaceTypes : (ast: AST, parent: AST, context: TypeCollectionContext) => boolean -> : ^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >ast : AST > : ^^^ >parent : AST @@ -4244,7 +4244,7 @@ module TypeScript { >getBases(interfaceType, interfaceDecl) : void > : ^^^^ >getBases : (type: Type, typeDecl: TypeDeclaration) => void -> : ^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^ >interfaceType : Type > : ^^^^ >interfaceDecl : InterfaceDeclaration @@ -4393,7 +4393,7 @@ module TypeScript { export function preCollectArgDeclTypes(ast: AST, parent: AST, context: TypeCollectionContext) { >preCollectArgDeclTypes : (ast: AST, parent: AST, context: TypeCollectionContext) => boolean -> : ^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >ast : AST > : ^^^ >parent : AST @@ -4696,7 +4696,7 @@ module TypeScript { export function preCollectVarDeclTypes(ast: AST, parent: AST, context: TypeCollectionContext) { >preCollectVarDeclTypes : (ast: AST, parent: AST, context: TypeCollectionContext) => boolean -> : ^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >ast : AST > : ^^^ >parent : AST @@ -5568,7 +5568,7 @@ module TypeScript { export function preCollectFuncDeclTypes(ast: AST, parent: AST, context: TypeCollectionContext) { >preCollectFuncDeclTypes : (ast: AST, parent: AST, context: TypeCollectionContext) => boolean -> : ^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >ast : AST > : ^^^ >parent : AST @@ -7455,7 +7455,7 @@ module TypeScript { export function preCollectTypes(ast: AST, parent: AST, walker: IAstWalker) { >preCollectTypes : (ast: AST, parent: AST, walker: IAstWalker) => AST -> : ^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ >ast : AST > : ^^^ >parent : AST @@ -7581,7 +7581,7 @@ module TypeScript { >preCollectImportTypes(ast, parent, context) : boolean > : ^^^^^^^ >preCollectImportTypes : (ast: AST, parent: AST, context: TypeCollectionContext) => boolean -> : ^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >ast : AST > : ^^^ >parent : AST @@ -7637,7 +7637,7 @@ module TypeScript { >preCollectModuleTypes(ast, parent, context) : boolean > : ^^^^^^^ >preCollectModuleTypes : (ast: AST, parent: AST, context: TypeCollectionContext) => boolean -> : ^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >ast : AST > : ^^^ >parent : AST @@ -7669,7 +7669,7 @@ module TypeScript { >preCollectClassTypes(ast, parent, context) : boolean > : ^^^^^^^ >preCollectClassTypes : (ast: AST, parent: AST, context: TypeCollectionContext) => boolean -> : ^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >ast : AST > : ^^^ >parent : AST @@ -7725,7 +7725,7 @@ module TypeScript { >preCollectInterfaceTypes(ast, parent, context) : boolean > : ^^^^^^^ >preCollectInterfaceTypes : (ast: AST, parent: AST, context: TypeCollectionContext) => boolean -> : ^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >ast : AST > : ^^^ >parent : AST @@ -7759,7 +7759,7 @@ module TypeScript { >preCollectArgDeclTypes(ast, parent, context) : boolean > : ^^^^^^^ >preCollectArgDeclTypes : (ast: AST, parent: AST, context: TypeCollectionContext) => boolean -> : ^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >ast : AST > : ^^^ >parent : AST @@ -7791,7 +7791,7 @@ module TypeScript { >preCollectVarDeclTypes(ast, parent, context) : boolean > : ^^^^^^^ >preCollectVarDeclTypes : (ast: AST, parent: AST, context: TypeCollectionContext) => boolean -> : ^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >ast : AST > : ^^^ >parent : AST @@ -7823,7 +7823,7 @@ module TypeScript { >preCollectFuncDeclTypes(ast, parent, context) : boolean > : ^^^^^^^ >preCollectFuncDeclTypes : (ast: AST, parent: AST, context: TypeCollectionContext) => boolean -> : ^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ >ast : AST > : ^^^ >parent : AST @@ -7896,7 +7896,7 @@ module TypeScript { export function postCollectTypes(ast: AST, parent: AST, walker: IAstWalker) { >postCollectTypes : (ast: AST, parent: AST, walker: IAstWalker) => AST -> : ^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ >ast : AST > : ^^^ >parent : AST diff --git a/tests/baselines/reference/parserRealSource8.types b/tests/baselines/reference/parserRealSource8.types index cefee66387304..fe9c659ffc140 100644 --- a/tests/baselines/reference/parserRealSource8.types +++ b/tests/baselines/reference/parserRealSource8.types @@ -30,7 +30,7 @@ module TypeScript { export function pushAssignScope(scope: SymbolScope, >pushAssignScope : (scope: SymbolScope, context: AssignScopeContext, type: Type, classType: Type, fnc: FuncDecl) => void -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >scope : SymbolScope > : ^^^^^^^^^^^ @@ -257,11 +257,11 @@ module TypeScript { >this.select(this.result, b) : Symbol > : ^^^^^^ >this.select : (a: Symbol, b: Symbol) => Symbol -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >select : (a: Symbol, b: Symbol) => Symbol -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this.result : Symbol > : ^^^^^^ >this : this @@ -283,11 +283,11 @@ module TypeScript { >this.stop(this.result) : boolean > : ^^^^^^^ >this.stop : (s: Symbol) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >stop : (s: Symbol) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this.result : Symbol > : ^^^^^^ >this : this @@ -317,7 +317,7 @@ module TypeScript { export function preAssignModuleScopes(ast: AST, context: AssignScopeContext) { >preAssignModuleScopes : (ast: AST, context: AssignScopeContext) => void -> : ^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^ >ast : AST > : ^^^ >context : AssignScopeContext @@ -456,7 +456,7 @@ module TypeScript { >context.modDeclChain.push(moduleDecl) : number > : ^^^^^^ >context.modDeclChain.push : (...items: ModuleDeclaration[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >context.modDeclChain : ModuleDeclaration[] > : ^^^^^^^^^^^^^^^^^^^ >context : AssignScopeContext @@ -464,7 +464,7 @@ module TypeScript { >modDeclChain : ModuleDeclaration[] > : ^^^^^^^^^^^^^^^^^^^ >push : (...items: ModuleDeclaration[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >moduleDecl : ModuleDeclaration > : ^^^^^^^^^^^^^^^^^ @@ -540,7 +540,7 @@ module TypeScript { >pushAssignScope(aggScope, context, null, null, null) : void > : ^^^^ >pushAssignScope : (scope: SymbolScope, context: AssignScopeContext, type: Type, classType: Type, fnc: FuncDecl) => void -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >aggScope : SymbolAggregateScope > : ^^^^^^^^^^^^^^^^^^^^ >context : AssignScopeContext @@ -614,7 +614,7 @@ module TypeScript { export function preAssignClassScopes(ast: AST, context: AssignScopeContext) { >preAssignClassScopes : (ast: AST, context: AssignScopeContext) => void -> : ^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^ >ast : AST > : ^^^ >context : AssignScopeContext @@ -887,7 +887,7 @@ module TypeScript { >pushAssignScope(aggScope, context, instanceType, classType, null) : void > : ^^^^ >pushAssignScope : (scope: SymbolScope, context: AssignScopeContext, type: Type, classType: Type, fnc: FuncDecl) => void -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >aggScope : SymbolAggregateScope > : ^^^^^^^^^^^^^^^^^^^^ >context : AssignScopeContext @@ -934,7 +934,7 @@ module TypeScript { export function preAssignInterfaceScopes(ast: AST, context: AssignScopeContext) { >preAssignInterfaceScopes : (ast: AST, context: AssignScopeContext) => void -> : ^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^ >ast : AST > : ^^^ >context : AssignScopeContext @@ -1097,7 +1097,7 @@ module TypeScript { >pushAssignScope(aggScope, context, null, null, null) : void > : ^^^^ >pushAssignScope : (scope: SymbolScope, context: AssignScopeContext, type: Type, classType: Type, fnc: FuncDecl) => void -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >aggScope : SymbolAggregateScope > : ^^^^^^^^^^^^^^^^^^^^ >context : AssignScopeContext @@ -1118,7 +1118,7 @@ module TypeScript { export function preAssignWithScopes(ast: AST, context: AssignScopeContext) { >preAssignWithScopes : (ast: AST, context: AssignScopeContext) => void -> : ^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^ >ast : AST > : ^^^ >context : AssignScopeContext @@ -1326,7 +1326,7 @@ module TypeScript { >pushAssignScope(withScope, context, null, null, null) : void > : ^^^^ >pushAssignScope : (scope: SymbolScope, context: AssignScopeContext, type: Type, classType: Type, fnc: FuncDecl) => void -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >withScope : any > : ^^^ >context : AssignScopeContext @@ -1347,7 +1347,7 @@ module TypeScript { export function preAssignFuncDeclScopes(ast: AST, context: AssignScopeContext) { >preAssignFuncDeclScopes : (ast: AST, context: AssignScopeContext) => void -> : ^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^ >ast : AST > : ^^^ >context : AssignScopeContext @@ -3274,7 +3274,7 @@ module TypeScript { >pushAssignScope(locals, context, thisType, null, funcDecl) : void > : ^^^^ >pushAssignScope : (scope: SymbolScope, context: AssignScopeContext, type: Type, classType: Type, fnc: FuncDecl) => void -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >locals : any > : ^^^ >context : AssignScopeContext @@ -3288,7 +3288,7 @@ module TypeScript { export function preAssignCatchScopes(ast: AST, context: AssignScopeContext) { >preAssignCatchScopes : (ast: AST, context: AssignScopeContext) => void -> : ^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^ >ast : AST > : ^^^ >context : AssignScopeContext @@ -3382,7 +3382,7 @@ module TypeScript { >pushAssignScope(catchLocals, context, context.scopeChain.thisType, context.scopeChain.classType, context.scopeChain.fnc) : void > : ^^^^ >pushAssignScope : (scope: SymbolScope, context: AssignScopeContext, type: Type, classType: Type, fnc: FuncDecl) => void -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >catchLocals : any > : ^^^ >context : AssignScopeContext @@ -3422,7 +3422,7 @@ module TypeScript { export function preAssignScopes(ast: AST, parent: AST, walker: IAstWalker) { >preAssignScopes : (ast: AST, parent: AST, walker: IAstWalker) => AST -> : ^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ >ast : AST > : ^^^ >parent : AST @@ -3514,7 +3514,7 @@ module TypeScript { >preAssignModuleScopes(ast, context) : void > : ^^^^ >preAssignModuleScopes : (ast: AST, context: AssignScopeContext) => void -> : ^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^ >ast : AST > : ^^^ >context : AssignScopeContext @@ -3540,7 +3540,7 @@ module TypeScript { >preAssignClassScopes(ast, context) : void > : ^^^^ >preAssignClassScopes : (ast: AST, context: AssignScopeContext) => void -> : ^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^ >ast : AST > : ^^^ >context : AssignScopeContext @@ -3566,7 +3566,7 @@ module TypeScript { >preAssignInterfaceScopes(ast, context) : void > : ^^^^ >preAssignInterfaceScopes : (ast: AST, context: AssignScopeContext) => void -> : ^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^ >ast : AST > : ^^^ >context : AssignScopeContext @@ -3592,7 +3592,7 @@ module TypeScript { >preAssignWithScopes(ast, context) : void > : ^^^^ >preAssignWithScopes : (ast: AST, context: AssignScopeContext) => void -> : ^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^ >ast : AST > : ^^^ >context : AssignScopeContext @@ -3618,7 +3618,7 @@ module TypeScript { >preAssignFuncDeclScopes(ast, context) : void > : ^^^^ >preAssignFuncDeclScopes : (ast: AST, context: AssignScopeContext) => void -> : ^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^ >ast : AST > : ^^^ >context : AssignScopeContext @@ -3644,7 +3644,7 @@ module TypeScript { >preAssignCatchScopes(ast, context) : void > : ^^^^ >preAssignCatchScopes : (ast: AST, context: AssignScopeContext) => void -> : ^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^ >ast : AST > : ^^^ >context : AssignScopeContext @@ -3698,7 +3698,7 @@ module TypeScript { export function postAssignScopes(ast: AST, parent: AST, walker: IAstWalker) { >postAssignScopes : (ast: AST, parent: AST, walker: IAstWalker) => AST -> : ^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ >ast : AST > : ^^^ >parent : AST @@ -3761,16 +3761,16 @@ module TypeScript { context.modDeclChain.pop(); >context.modDeclChain.pop() : ModuleDeclaration > : ^^^^^^^^^^^^^^^^^ ->context.modDeclChain.pop : () => ModuleDeclaration -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>context.modDeclChain.pop : () => ModuleDeclaration | undefined +> : ^^^^^^^^^^^^^^^^^^^^^^^ >context.modDeclChain : ModuleDeclaration[] > : ^^^^^^^^^^^^^^^^^^^ >context : AssignScopeContext > : ^^^^^^^^^^^^^^^^^^ >modDeclChain : ModuleDeclaration[] > : ^^^^^^^^^^^^^^^^^^^ ->pop : () => ModuleDeclaration -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>pop : () => ModuleDeclaration | undefined +> : ^^^^^^^^^^^^^^^^^^^^^^^ if (context.modDeclChain.length >= 1) { >context.modDeclChain.length >= 1 : boolean diff --git a/tests/baselines/reference/parserRealSource9.types b/tests/baselines/reference/parserRealSource9.types index 8b117e45e6f94..ab395310ba98b 100644 --- a/tests/baselines/reference/parserRealSource9.types +++ b/tests/baselines/reference/parserRealSource9.types @@ -20,7 +20,7 @@ module TypeScript { public resolveBaseTypeLinks(typeLinks: TypeLink[], scope: SymbolScope) { >resolveBaseTypeLinks : (typeLinks: TypeLink[], scope: SymbolScope) => Type[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >typeLinks : TypeLink[] > : ^^^^^^^^^^ >scope : SymbolScope @@ -194,7 +194,7 @@ module TypeScript { public resolveBases(scope: SymbolScope, type: Type) { >resolveBases : (scope: SymbolScope, type: Type) => void -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^ >scope : SymbolScope > : ^^^^^^^^^^^ >type : Type @@ -212,11 +212,11 @@ module TypeScript { >this.resolveBaseTypeLinks(type.extendsTypeLinks, scope) : Type[] > : ^^^^^^ >this.resolveBaseTypeLinks : (typeLinks: TypeLink[], scope: SymbolScope) => Type[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >this : this > : ^^^^ >resolveBaseTypeLinks : (typeLinks: TypeLink[], scope: SymbolScope) => Type[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >type.extendsTypeLinks : any > : ^^^ >type : Type @@ -452,11 +452,11 @@ module TypeScript { >this.resolveBaseTypeLinks(type.implementsTypeLinks, scope) : Type[] > : ^^^^^^ >this.resolveBaseTypeLinks : (typeLinks: TypeLink[], scope: SymbolScope) => Type[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >this : this > : ^^^^ >resolveBaseTypeLinks : (typeLinks: TypeLink[], scope: SymbolScope) => Type[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >type.implementsTypeLinks : any > : ^^^ >type : Type @@ -589,7 +589,7 @@ module TypeScript { public resolveSignatureGroup(signatureGroup: SignatureGroup, scope: SymbolScope, instanceType: Type) { >resolveSignatureGroup : (signatureGroup: SignatureGroup, scope: SymbolScope, instanceType: Type) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >signatureGroup : SignatureGroup > : ^^^^^^^^^^^^^^ >scope : SymbolScope @@ -732,11 +732,11 @@ module TypeScript { >this.bindSymbol(scope, signature.parameters[j]) : void > : ^^^^ >this.bindSymbol : (scope: SymbolScope, symbol: Symbol) => void -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^ >this : this > : ^^^^ >bindSymbol : (scope: SymbolScope, symbol: Symbol) => void -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^ >scope : SymbolScope > : ^^^^^^^^^^^ >signature.parameters[j] : any @@ -887,7 +887,7 @@ module TypeScript { public bindType(scope: SymbolScope, type: Type, instanceType: Type): void { >bindType : (scope: SymbolScope, type: Type, instanceType: Type) => void -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >scope : SymbolScope > : ^^^^^^^^^^^ >type : Type @@ -903,11 +903,11 @@ module TypeScript { >this.bindType(scope, instanceType, null) : void > : ^^^^ >this.bindType : (scope: SymbolScope, type: Type, instanceType: Type) => void -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >bindType : (scope: SymbolScope, type: Type, instanceType: Type) => void -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >scope : SymbolScope > : ^^^^^^^^^^^ >instanceType : Type @@ -1115,11 +1115,11 @@ module TypeScript { >this.bind(agg, type.members.allMembers) : void > : ^^^^ >this.bind : (scope: SymbolScope, table: IHashTable) => void -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^ >this : this > : ^^^^ >bind : (scope: SymbolScope, table: IHashTable) => void -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^ >agg : any > : ^^^ >type.members.allMembers : any @@ -1141,11 +1141,11 @@ module TypeScript { >this.bind(agg, typeMembers.allMembers) : void > : ^^^^ >this.bind : (scope: SymbolScope, table: IHashTable) => void -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^ >this : this > : ^^^^ >bind : (scope: SymbolScope, table: IHashTable) => void -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^ >agg : any > : ^^^ >typeMembers.allMembers : any @@ -1163,11 +1163,11 @@ module TypeScript { >this.bind(agg, ambientMembers.allMembers) : void > : ^^^^ >this.bind : (scope: SymbolScope, table: IHashTable) => void -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^ >this : this > : ^^^^ >bind : (scope: SymbolScope, table: IHashTable) => void -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^ >agg : any > : ^^^ >ambientMembers.allMembers : any @@ -1185,11 +1185,11 @@ module TypeScript { >this.bind(agg, ambientTypeMembers.allMembers) : void > : ^^^^ >this.bind : (scope: SymbolScope, table: IHashTable) => void -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^ >this : this > : ^^^^ >bind : (scope: SymbolScope, table: IHashTable) => void -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^ >agg : any > : ^^^ >ambientTypeMembers.allMembers : any @@ -1243,11 +1243,11 @@ module TypeScript { >this.resolveBases(scope, type) : void > : ^^^^ >this.resolveBases : (scope: SymbolScope, type: Type) => void -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^ >this : this > : ^^^^ >resolveBases : (scope: SymbolScope, type: Type) => void -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^ >scope : SymbolScope > : ^^^^^^^^^^^ >type : Type @@ -1265,11 +1265,11 @@ module TypeScript { >this.resolveSignatureGroup(type.construct, scope, instanceType) : void > : ^^^^ >this.resolveSignatureGroup : (signatureGroup: SignatureGroup, scope: SymbolScope, instanceType: Type) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >this : this > : ^^^^ >resolveSignatureGroup : (signatureGroup: SignatureGroup, scope: SymbolScope, instanceType: Type) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >type.construct : any > : ^^^ >type : Type @@ -1293,11 +1293,11 @@ module TypeScript { >this.resolveSignatureGroup(type.call, scope, null) : void > : ^^^^ >this.resolveSignatureGroup : (signatureGroup: SignatureGroup, scope: SymbolScope, instanceType: Type) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >this : this > : ^^^^ >resolveSignatureGroup : (signatureGroup: SignatureGroup, scope: SymbolScope, instanceType: Type) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >type.call : any > : ^^^ >type : Type @@ -1319,11 +1319,11 @@ module TypeScript { >this.resolveSignatureGroup(type.index, scope, null) : void > : ^^^^ >this.resolveSignatureGroup : (signatureGroup: SignatureGroup, scope: SymbolScope, instanceType: Type) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >this : this > : ^^^^ >resolveSignatureGroup : (signatureGroup: SignatureGroup, scope: SymbolScope, instanceType: Type) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >type.index : any > : ^^^ >type : Type @@ -1345,11 +1345,11 @@ module TypeScript { >this.bindType(scope, type.elementType, null) : void > : ^^^^ >this.bindType : (scope: SymbolScope, type: Type, instanceType: Type) => void -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >bindType : (scope: SymbolScope, type: Type, instanceType: Type) => void -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >scope : SymbolScope > : ^^^^^^^^^^^ >type.elementType : any @@ -1363,7 +1363,7 @@ module TypeScript { public bindSymbol(scope: SymbolScope, symbol: Symbol) { >bindSymbol : (scope: SymbolScope, symbol: Symbol) => void -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^ >scope : SymbolScope > : ^^^^^^^^^^^ >symbol : Symbol @@ -1715,11 +1715,11 @@ module TypeScript { >this.bindType(scope, typeSymbol.type, typeSymbol.instanceType) : void > : ^^^^ >this.bindType : (scope: SymbolScope, type: Type, instanceType: Type) => void -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >bindType : (scope: SymbolScope, type: Type, instanceType: Type) => void -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >scope : SymbolScope > : ^^^^^^^^^^^ >typeSymbol.type : any @@ -1778,11 +1778,11 @@ module TypeScript { >this.bindType(scope, typeSymbol.expansions[i], typeSymbol.instanceType) : void > : ^^^^ >this.bindType : (scope: SymbolScope, type: Type, instanceType: Type) => void -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >bindType : (scope: SymbolScope, type: Type, instanceType: Type) => void -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >scope : SymbolScope > : ^^^^^^^^^^^ >typeSymbol.expansions[i] : any @@ -1925,7 +1925,7 @@ module TypeScript { public bind(scope: SymbolScope, table: IHashTable) { >bind : (scope: SymbolScope, table: IHashTable) => void -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^ >scope : SymbolScope > : ^^^^^^^^^^^ >table : IHashTable diff --git a/tests/baselines/reference/parserRegularExpression4.types b/tests/baselines/reference/parserRegularExpression4.types index 55ae3207d263d..019c3de726558 100644 --- a/tests/baselines/reference/parserRegularExpression4.types +++ b/tests/baselines/reference/parserRegularExpression4.types @@ -39,11 +39,11 @@ if (Ca.test(c.href) || Ba.test(c.href) && /(\\?|&)adurl=/.test(c.href) && !/(\\? >/(\\?|&)adurl=/.test(c.href) : boolean > : ^^^^^^^ >/(\\?|&)adurl=/.test : (string: string) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >/(\\?|&)adurl=/ : RegExp > : ^^^^^^ >test : (string: string) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c.href : any > : ^^^ >c : any @@ -55,11 +55,11 @@ if (Ca.test(c.href) || Ba.test(c.href) && /(\\?|&)adurl=/.test(c.href) && !/(\\? >/(\\?|&)q=/.test(c.href) : boolean > : ^^^^^^^ >/(\\?|&)q=/.test : (string: string) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >/(\\?|&)q=/ : RegExp > : ^^^^^^ >test : (string: string) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c.href : any > : ^^^ >c : any @@ -75,11 +75,11 @@ if (Ca.test(c.href) || Ba.test(c.href) && /(\\?|&)adurl=/.test(c.href) && !/(\\? >/ (\\ ? | & ) rct = j / .test(c.href) : boolean > : ^^^^^^^ >/ (\\ ? | & ) rct = j / .test : (string: string) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >/ (\\ ? | & ) rct = j / : RegExp > : ^^^^^^ >test : (string: string) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c.href : any > : ^^^ >c : any @@ -99,11 +99,11 @@ if (Ca.test(c.href) || Ba.test(c.href) && /(\\?|&)adurl=/.test(c.href) && !/(\\? >/(\\?|&)q=/.test(c.href) : boolean > : ^^^^^^^ >/(\\?|&)q=/.test : (string: string) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >/(\\?|&)q=/ : RegExp > : ^^^^^^ >test : (string: string) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c.href : any > : ^^^ >c : any @@ -125,7 +125,7 @@ if (Ca.test(c.href) || Ba.test(c.href) && /(\\?|&)adurl=/.test(c.href) && !/(\\? >encodeURIComponent(W("q") || W("as_q") || A) : string > : ^^^^^^ >encodeURIComponent : (uriComponent: string | number | boolean) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >W("q") || W("as_q") || A : any > : ^^^ >W("q") || W("as_q") : any diff --git a/tests/baselines/reference/parserRegularExpression5.types b/tests/baselines/reference/parserRegularExpression5.types index b5d04a963e7b1..4c40322e6ee23 100644 --- a/tests/baselines/reference/parserRegularExpression5.types +++ b/tests/baselines/reference/parserRegularExpression5.types @@ -7,11 +7,11 @@ if (a) / (\\ ? | & ) rct = j / .test(c.href); >/ (\\ ? | & ) rct = j / .test(c.href) : boolean > : ^^^^^^^ >/ (\\ ? | & ) rct = j / .test : (string: string) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >/ (\\ ? | & ) rct = j / : RegExp > : ^^^^^^ >test : (string: string) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c.href : any > : ^^^ >c : any diff --git a/tests/baselines/reference/parserRegularExpressionDivideAmbiguity4.errors.txt b/tests/baselines/reference/parserRegularExpressionDivideAmbiguity4.errors.txt index 4b32921546956..afa9b3e5e4577 100644 --- a/tests/baselines/reference/parserRegularExpressionDivideAmbiguity4.errors.txt +++ b/tests/baselines/reference/parserRegularExpressionDivideAmbiguity4.errors.txt @@ -1,13 +1,10 @@ parserRegularExpressionDivideAmbiguity4.ts(1,1): error TS2304: Cannot find name 'foo'. -parserRegularExpressionDivideAmbiguity4.ts(1,6): error TS1161: Unterminated regular expression literal. -parserRegularExpressionDivideAmbiguity4.ts(1,17): error TS1005: ')' expected. +parserRegularExpressionDivideAmbiguity4.ts(1,5): error TS1161: Unterminated regular expression literal. -==== parserRegularExpressionDivideAmbiguity4.ts (3 errors) ==== +==== parserRegularExpressionDivideAmbiguity4.ts (2 errors) ==== foo(/notregexp); ~~~ !!! error TS2304: Cannot find name 'foo'. - -!!! error TS1161: Unterminated regular expression literal. - -!!! error TS1005: ')' expected. \ No newline at end of file + ~~~~~~~~~~ +!!! error TS1161: Unterminated regular expression literal. \ No newline at end of file diff --git a/tests/baselines/reference/parserRegularExpressionDivideAmbiguity4.js b/tests/baselines/reference/parserRegularExpressionDivideAmbiguity4.js index de84199b803ae..b8ec4550186b8 100644 --- a/tests/baselines/reference/parserRegularExpressionDivideAmbiguity4.js +++ b/tests/baselines/reference/parserRegularExpressionDivideAmbiguity4.js @@ -4,4 +4,4 @@ foo(/notregexp); //// [parserRegularExpressionDivideAmbiguity4.js] -foo(/notregexp);); +foo(/notregexp); diff --git a/tests/baselines/reference/parserRegularExpressionDivideAmbiguity4.types b/tests/baselines/reference/parserRegularExpressionDivideAmbiguity4.types index 0c2623d2d1269..49795f0955380 100644 --- a/tests/baselines/reference/parserRegularExpressionDivideAmbiguity4.types +++ b/tests/baselines/reference/parserRegularExpressionDivideAmbiguity4.types @@ -2,10 +2,10 @@ === parserRegularExpressionDivideAmbiguity4.ts === foo(/notregexp); ->foo(/notregexp); : any -> : ^^^ +>foo(/notregexp) : any +> : ^^^ >foo : any > : ^^^ ->/notregexp); : RegExp -> : ^^^^^^ +>/notregexp : RegExp +> : ^^^^^^ diff --git a/tests/baselines/reference/parserS7.2_A1.5_T2.types b/tests/baselines/reference/parserS7.2_A1.5_T2.types index 9555ae1c07817..9650c1acebe84 100644 --- a/tests/baselines/reference/parserS7.2_A1.5_T2.types +++ b/tests/baselines/reference/parserS7.2_A1.5_T2.types @@ -16,7 +16,7 @@ eval("\u00A0var x\u00A0= 1\u00A0"); >eval("\u00A0var x\u00A0= 1\u00A0") : any > : ^^^ >eval : (x: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >"\u00A0var x\u00A0= 1\u00A0" : " var x = 1 " > : ^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/parserStatementIsNotAMemberVariableDeclaration1.errors.txt b/tests/baselines/reference/parserStatementIsNotAMemberVariableDeclaration1.errors.txt index 678d49a6ccfc4..0550c53d433f5 100644 --- a/tests/baselines/reference/parserStatementIsNotAMemberVariableDeclaration1.errors.txt +++ b/tests/baselines/reference/parserStatementIsNotAMemberVariableDeclaration1.errors.txt @@ -1,6 +1,10 @@ +error TS-1: Pre-emit (1) and post-emit (2) diagnostic counts do not match! This can indicate that a semantic _error_ was added by the emit resolver - such an error may not be reflected on the command line or in the editor, but may be captured in a baseline here! parserStatementIsNotAMemberVariableDeclaration1.ts(1,1): error TS1108: A 'return' statement can only be used within a function body. +!!! error TS-1: Pre-emit (1) and post-emit (2) diagnostic counts do not match! This can indicate that a semantic _error_ was added by the emit resolver - such an error may not be reflected on the command line or in the editor, but may be captured in a baseline here! +!!! related TS-1: The excess diagnostics are: +!!! related TS2304 parserStatementIsNotAMemberVariableDeclaration1.ts:6:5: Cannot find name 'private'. ==== parserStatementIsNotAMemberVariableDeclaration1.ts (1 errors) ==== return { ~~~~~~ diff --git a/tests/baselines/reference/parserStrictMode8.types b/tests/baselines/reference/parserStrictMode8.types index bf7e4b46d63c8..908fbd37e67b0 100644 --- a/tests/baselines/reference/parserStrictMode8.types +++ b/tests/baselines/reference/parserStrictMode8.types @@ -12,5 +12,5 @@ Instantiation count: 2,500 function eval() { >eval : { (x: string): any; (): void; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/parserUnterminatedGeneric1.types b/tests/baselines/reference/parserUnterminatedGeneric1.types index 12c025090c4b2..549ca935c184d 100644 --- a/tests/baselines/reference/parserUnterminatedGeneric1.types +++ b/tests/baselines/reference/parserUnterminatedGeneric1.types @@ -4,7 +4,7 @@ interface IQService { all(promises: IPromise < any > []): IPromise< >all : (promises: IPromise[]) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >promises : IPromise[] > : ^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/parserUnterminatedGeneric2.types b/tests/baselines/reference/parserUnterminatedGeneric2.types index 2f5be1ab9ff4c..b947eed9d1388 100644 --- a/tests/baselines/reference/parserUnterminatedGeneric2.types +++ b/tests/baselines/reference/parserUnterminatedGeneric2.types @@ -39,7 +39,7 @@ declare module ng { interface IQService { all(promises: IPromise < any > []): IPromise< >all : (promises: IPromise[]) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >promises : IPromise[] > : ^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/parserUsingConstructorAsIdentifier.types b/tests/baselines/reference/parserUsingConstructorAsIdentifier.types index 60070a629cd5c..32bfd70a43e5a 100644 --- a/tests/baselines/reference/parserUsingConstructorAsIdentifier.types +++ b/tests/baselines/reference/parserUsingConstructorAsIdentifier.types @@ -126,11 +126,11 @@ >Object.create(basePrototype) : any > : ^^^ >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >basePrototype : any > : ^^^ @@ -154,11 +154,11 @@ >Object.defineProperty(constructor.prototype, "constructor", { value: constructor, writable: true, configurable: true, enumerable: true }) : any > : ^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >constructor.prototype : any > : ^^^ >constructor : any diff --git a/tests/baselines/reference/parserX_ArrowFunction1.types b/tests/baselines/reference/parserX_ArrowFunction1.types index 9231ec5c45df6..b81026b7751d5 100644 --- a/tests/baselines/reference/parserX_ArrowFunction1.types +++ b/tests/baselines/reference/parserX_ArrowFunction1.types @@ -3,9 +3,9 @@ === parserX_ArrowFunction1.ts === var v = (a: ) => { >v : (a: any) => void -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >(a: ) => { } : (a: any) => void -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >a : any > : ^^^ diff --git a/tests/baselines/reference/parserharness.types b/tests/baselines/reference/parserharness.types index f42b93d6804c1..da5fe14851731 100644 --- a/tests/baselines/reference/parserharness.types +++ b/tests/baselines/reference/parserharness.types @@ -60,11 +60,11 @@ function switchToForwardSlashes(path: string) { >path.replace(/\\/g, "/") : string > : ^^^^^^ >path.replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >path : string > : ^^^^^^ >replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >/\\/g : RegExp > : ^^^^^^ >"/" : "/" @@ -95,11 +95,11 @@ function filePath(fullPath: string) { >fullPath.split("/") : string[] > : ^^^^^^^^ >fullPath.split : (separator: string | RegExp, limit?: number) => string[] -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >fullPath : string > : ^^^^^^ >split : (separator: string | RegExp, limit?: number) => string[] -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >"/" : "/" > : ^^^ @@ -109,11 +109,11 @@ function filePath(fullPath: string) { >components.slice(0, components.length - 1) : string[] > : ^^^^^^^^ >components.slice : (start?: number, end?: number) => string[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >components : string[] > : ^^^^^^^^ >slice : (start?: number, end?: number) => string[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >0 : 0 > : ^ >components.length - 1 : number @@ -133,11 +133,11 @@ function filePath(fullPath: string) { >path.join("/") : string > : ^^^^^^ >path.join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >path : string[] > : ^^^^^^^^ >join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"/" : "/" > : ^^^ >"/" : "/" @@ -192,7 +192,7 @@ if (typeof ActiveXObject === "function") { >eval(typescriptServiceFile) : any > : ^^^ >eval : (x: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >typescriptServiceFile : any > : ^^^ @@ -278,7 +278,7 @@ module Harness { >Function("return this").call(null) : any > : ^^^ >Function("return this").call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >Function("return this") : Function > : ^^^^^^^^ >Function : FunctionConstructor @@ -286,7 +286,7 @@ module Harness { >"return this" : "return this" > : ^^^^^^^^^^^^^ >call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ export var usePull = false; >usePull : boolean @@ -389,11 +389,11 @@ module Harness { >bugIds.indexOf(id) : number > : ^^^^^^ >bugIds.indexOf : (searchElement: string, fromIndex?: number) => number -> : ^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >bugIds : string[] > : ^^^^^^^^ >indexOf : (searchElement: string, fromIndex?: number) => number -> : ^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >id : string > : ^^^^^^ >0 : 0 @@ -403,11 +403,11 @@ module Harness { >bugIds.push(id) : number > : ^^^^^^ >bugIds.push : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >bugIds : string[] > : ^^^^^^^^ >push : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >id : string > : ^^^^^^ } @@ -425,12 +425,12 @@ module Harness { > : ^^^^^^^^^^^^^^^^ >content.match(/\bbug (\d+)/i) : RegExpMatchArray > : ^^^^^^^^^^^^^^^^ ->content.match : (regexp: string | RegExp) => RegExpMatchArray -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>content.match : (regexp: string | RegExp) => RegExpMatchArray | null +> : ^ ^^ ^^^^^ >content : string > : ^^^^^^ ->match : (regexp: string | RegExp) => RegExpMatchArray -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>match : (regexp: string | RegExp) => RegExpMatchArray | null +> : ^ ^^ ^^^^^ >/\bbug (\d+)/i : RegExp > : ^^^^^^ @@ -442,11 +442,11 @@ module Harness { >bugs.forEach(bug => assert.bug(bug)) : void > : ^^^^ >bugs.forEach : (callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >bugs : RegExpMatchArray > : ^^^^^^^^^^^^^^^^ >forEach : (callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >bug => assert.bug(bug) : (bug: string) => any > : ^ ^^^^^^^^^^^^^^^^ >bug : string @@ -526,11 +526,11 @@ module Harness { >arr.forEach(n => actual = actual + '\n ' + n.toString()) : void > : ^^^^ >arr.forEach : (callbackfn: (value: any, index: number, array: any[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >arr : any[] > : ^^^^^ >forEach : (callbackfn: (value: any, index: number, array: any[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >n => actual = actual + '\n ' + n.toString() : (n: any) => string > : ^ ^^^^^^^^^^^^^^^^ >n : any @@ -742,7 +742,7 @@ module Harness { >result.errors.forEach(err => { actual = actual + '\n ' + err.toString(); }) : void > : ^^^^ >result.errors.forEach : (callbackfn: (value: Compiler.CompilerError, index: number, array: Compiler.CompilerError[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >result.errors : Compiler.CompilerError[] > : ^^^^^^^^^^^^^^^^^^^^^^^^ >result : Compiler.CompilerResult @@ -750,7 +750,7 @@ module Harness { >errors : Compiler.CompilerError[] > : ^^^^^^^^^^^^^^^^^^^^^^^^ >forEach : (callbackfn: (value: Compiler.CompilerError, index: number, array: Compiler.CompilerError[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >err => { actual = actual + '\n ' + err.toString(); } : (err: Compiler.CompilerError) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >err : Compiler.CompilerError @@ -1202,7 +1202,7 @@ module Harness { >filter(arr[i]) : boolean > : ^^^^^^^ >filter : (item: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >arr[i] : any > : ^^^ >arr : any[] @@ -1265,11 +1265,11 @@ module Harness { >content.split('\r\n') : string[] > : ^^^^^^^^ >content.split : (separator: string | RegExp, limit?: number) => string[] -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >content : string > : ^^^^^^ >split : (separator: string | RegExp, limit?: number) => string[] -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >'\r\n' : "\r\n" > : ^^^^^^ @@ -1293,11 +1293,11 @@ module Harness { >content.split('\n') : string[] > : ^^^^^^^^ >content.split : (separator: string | RegExp, limit?: number) => string[] -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >content : string > : ^^^^^^ >split : (separator: string | RegExp, limit?: number) => string[] -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >'\n' : "\n" > : ^^^^ } @@ -1319,11 +1319,11 @@ module Harness { >path.indexOf('tests') : number > : ^^^^^^ >path.indexOf : (searchString: string, position?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >path : string > : ^^^^^^ >indexOf : (searchString: string, position?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >'tests' : "tests" > : ^^^^^^^ >0 : 0 @@ -1585,11 +1585,11 @@ module Harness { >loggers.push(logger) : number > : ^^^^^^ >loggers.push : (...items: ILogger[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^ >loggers : ILogger[] > : ^^^^^^^^^ >push : (...items: ILogger[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^ >logger : ILogger > : ^^^^^^^ } @@ -1725,7 +1725,7 @@ module Harness { >this.children.push(child) : number > : ^^^^^^ >this.children.push : (...items: Runnable[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^ >this.children : Runnable[] > : ^^^^^^^^^^ >this : this @@ -1733,7 +1733,7 @@ module Harness { >children : Runnable[] > : ^^^^^^^^^^ >push : (...items: Runnable[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^ >child : Runnable > : ^^^^^^^^ } @@ -1765,7 +1765,7 @@ module Harness { >fn.length : number > : ^^^^^^ >fn : (done?: IDone) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >length : number > : ^^^^^^ >0 : 0 @@ -1776,7 +1776,7 @@ module Harness { >fn() : void > : ^^^^ >fn : (done?: IDone) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ done(); >done() : void @@ -1807,7 +1807,7 @@ module Harness { >fn(function () { isAsync = false; // If we execute synchronously, this will get called before the return below. Runnable.popGlobalErrorHandler(); done(); }) : void > : ^^^^ >fn : (done?: IDone) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >function () { isAsync = false; // If we execute synchronously, this will get called before the return below. Runnable.popGlobalErrorHandler(); done(); } : () => void > : ^^^^^^^^^^ @@ -2136,7 +2136,7 @@ module Harness { >Runnable.currentStack.push(this) : number > : ^^^^^^ >Runnable.currentStack.push : (...items: Runnable[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^ >Runnable.currentStack : Runnable[] > : ^^^^^^^^^^ >Runnable : typeof Runnable @@ -2144,7 +2144,7 @@ module Harness { >currentStack : Runnable[] > : ^^^^^^^^^^ >push : (...items: Runnable[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^ >this : this > : ^^^^ @@ -2283,16 +2283,16 @@ module Harness { Runnable.currentStack.pop(); >Runnable.currentStack.pop() : Runnable > : ^^^^^^^^ ->Runnable.currentStack.pop : () => Runnable -> : ^^^^^^^^^^^^^^ +>Runnable.currentStack.pop : () => Runnable | undefined +> : ^^^^^^^^^^^^^^ >Runnable.currentStack : Runnable[] > : ^^^^^^^^^^ >Runnable : typeof Runnable > : ^^^^^^^^^^^^^^^ >currentStack : Runnable[] > : ^^^^^^^^^^ ->pop : () => Runnable -> : ^^^^^^^^^^^^^^ +>pop : () => Runnable | undefined +> : ^^^^^^^^^^^^^^ done() >done() : void @@ -2378,7 +2378,7 @@ module Harness { >Runnable.currentStack.push(this) : number > : ^^^^^^ >Runnable.currentStack.push : (...items: Runnable[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^ >Runnable.currentStack : Runnable[] > : ^^^^^^^^^^ >Runnable : typeof Runnable @@ -2386,7 +2386,7 @@ module Harness { >currentStack : Runnable[] > : ^^^^^^^^^^ >push : (...items: Runnable[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^ >this : this > : ^^^^ @@ -2429,16 +2429,16 @@ module Harness { Runnable.currentStack.pop(); >Runnable.currentStack.pop() : Runnable > : ^^^^^^^^ ->Runnable.currentStack.pop : () => Runnable -> : ^^^^^^^^^^^^^^ +>Runnable.currentStack.pop : () => Runnable | undefined +> : ^^^^^^^^^^^^^^ >Runnable.currentStack : Runnable[] > : ^^^^^^^^^^ >Runnable : typeof Runnable > : ^^^^^^^^^^^^^^^ >currentStack : Runnable[] > : ^^^^^^^^^^ ->pop : () => Runnable -> : ^^^^^^^^^^^^^^ +>pop : () => Runnable | undefined +> : ^^^^^^^^^^^^^^ if (e) { >e : any @@ -3034,7 +3034,7 @@ module Harness { >now = function () { return TestUtilities.QueryPerformanceCounter(); } : () => number > : ^^^^^^^^^^^^ >now : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >function () { return TestUtilities.QueryPerformanceCounter(); } : () => number > : ^^^^^^^^^^^^ @@ -3042,11 +3042,11 @@ module Harness { >TestUtilities.QueryPerformanceCounter() : number > : ^^^^^^ >TestUtilities.QueryPerformanceCounter : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >TestUtilities : typeof TestUtilities > : ^^^^^^^^^^^^^^^^^^^^ >QueryPerformanceCounter : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } resolution = TestUtilities.QueryPerformanceFrequency(); @@ -3057,18 +3057,18 @@ module Harness { >TestUtilities.QueryPerformanceFrequency() : number > : ^^^^^^ >TestUtilities.QueryPerformanceFrequency : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >TestUtilities : typeof TestUtilities > : ^^^^^^^^^^^^^^^^^^^^ >QueryPerformanceFrequency : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } else { now = function () { >now = function () { return Date.now(); } : () => number > : ^^^^^^^^^^^^ >now : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >function () { return Date.now(); } : () => number > : ^^^^^^^^^^^^ @@ -3076,11 +3076,11 @@ module Harness { >Date.now() : number > : ^^^^^^ >Date.now : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Date : DateConstructor > : ^^^^^^^^^^^^^^^ >now : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } resolution = 1000; @@ -3135,11 +3135,11 @@ module Harness { >Clock.now() : number > : ^^^^^^ >Clock.now : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Clock : typeof Clock > : ^^^^^^^^^^^^ >now : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } public end() { @@ -3167,11 +3167,11 @@ module Harness { >Clock.now() : number > : ^^^^^^ >Clock.now : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Clock : typeof Clock > : ^^^^^^^^^^^^ >now : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this.startTime : any > : ^^^ >this : this @@ -3209,7 +3209,7 @@ module Harness { >this.data.push(value) : number > : ^^^^^^ >this.data.push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >this.data : number[] > : ^^^^^^^^ >this : this @@ -3217,7 +3217,7 @@ module Harness { >data : number[] > : ^^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >value : number > : ^^^^^^ } @@ -3506,11 +3506,11 @@ module Harness { >Math.pow(this.data[i] - sampleMean, 2) : number > : ^^^^^^ >Math.pow : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >Math : Math > : ^^^^ >pow : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this.data[i] - sampleMean : number > : ^^^^^^ >this.data[i] : number @@ -3533,11 +3533,11 @@ module Harness { >Math.sqrt(sumOfSquares / this.data.length) : number > : ^^^^^^ >Math.sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sumOfSquares / this.data.length : number > : ^^^^^^ >sumOfSquares : number @@ -3698,11 +3698,11 @@ module Harness { timeFunction = function ( >timeFunction = function ( benchmark: Benchmark, description: string = benchmark.description, name: string = '', f = benchmark.bench ): void { var t = new Timer(); t.start(); var subBenchmark = function (name, f): void { timeFunction(benchmark, description, name, f); } f.call(benchmark, subBenchmark); t.end(); benchmark.addTimingFor(name, t.time); } : (benchmark: Benchmark, description?: string, name?: string, f?: (bench?: { (): void; }) => void) => void -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^^ ^^^ ^^^^^ ^^^^^ >timeFunction : (benchmark: Benchmark, description?: string, name?: string, f?: (bench?: { (): void; }) => void) => void -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >function ( benchmark: Benchmark, description: string = benchmark.description, name: string = '', f = benchmark.bench ): void { var t = new Timer(); t.start(); var subBenchmark = function (name, f): void { timeFunction(benchmark, description, name, f); } f.call(benchmark, subBenchmark); t.end(); benchmark.addTimingFor(name, t.time); } : (benchmark: Benchmark, description?: string, name?: string, f?: (bench?: { (): void; }) => void) => void -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^^ ^^^ ^^^^^ ^^^^^ benchmark: Benchmark, >benchmark : Benchmark @@ -3726,7 +3726,7 @@ module Harness { f = benchmark.bench >f : (bench?: { (): void; }) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >benchmark.bench : (subBench?: () => void) => void > : ^ ^^^ ^^^^^^^^^ >benchmark : Benchmark @@ -3768,7 +3768,7 @@ module Harness { >timeFunction(benchmark, description, name, f) : void > : ^^^^ >timeFunction : (benchmark: Benchmark, description?: string, name?: string, f?: (bench?: { (): void; }) => void) => void -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >benchmark : Benchmark > : ^^^^^^^^^ >description : string @@ -3783,15 +3783,15 @@ module Harness { >f.call(benchmark, subBenchmark) : any > : ^^^ >f.call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >f : (bench?: { (): void; }) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >benchmark : Benchmark > : ^^^^^^^^^ >subBenchmark : (name: any, f: any) => void -> : ^ ^^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^^^^^^ t.end(); >t.end() : void @@ -3838,7 +3838,7 @@ module Harness { >benchmarks.length : number > : ^^^^^^ >benchmarks : (new () => Benchmark)[] -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^ >length : number > : ^^^^^^ >i++ : number @@ -3852,9 +3852,9 @@ module Harness { >new benchmarks[i]() : Benchmark > : ^^^^^^^^^ >benchmarks[i] : new () => Benchmark -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >benchmarks : (new () => Benchmark)[] -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^ >i : number > : ^^^^^^ @@ -3911,7 +3911,7 @@ module Harness { >timeFunction(b) : void > : ^^^^ >timeFunction : (benchmark: Benchmark, description?: string, name?: string, f?: (bench?: { (): void; }) => void) => void -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >b : Benchmark > : ^^^^^^^^^ @@ -4126,11 +4126,11 @@ module Harness { >benchmarks.push(BenchmarkClass) : number > : ^^^^^^ >benchmarks.push : (...items: (new () => Benchmark)[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ >benchmarks : (new () => Benchmark)[] -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^ >push : (...items: (new () => Benchmark)[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ >BenchmarkClass : any > : ^^^ } @@ -4190,7 +4190,7 @@ module Harness { >this.lines.push(this.currentLine + str) : number > : ^^^^^^ >this.lines.push : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >this.lines : string[] > : ^^^^^^^^ >this : this @@ -4198,7 +4198,7 @@ module Harness { >lines : string[] > : ^^^^^^^^ >push : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >this.currentLine + str : string > : ^^^^^^ >this.currentLine : string @@ -4245,7 +4245,7 @@ module Harness { >this.lines.push(this.currentLine) : number > : ^^^^^^ >this.lines.push : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >this.lines : string[] > : ^^^^^^^^ >this : this @@ -4253,7 +4253,7 @@ module Harness { >lines : string[] > : ^^^^^^^^ >push : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >this.currentLine : string > : ^^^^^^ >this : this @@ -4320,7 +4320,7 @@ module Harness { /** create file gets the whole path to create, so this works as expected with the --out parameter */ public createFile(s: string, useUTF8?: boolean): ITextWriter { >createFile : (s: string, useUTF8?: boolean) => ITextWriter -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >s : string > : ^^^^^^ >useUTF8 : boolean @@ -4474,7 +4474,7 @@ module Harness { >this.fileCollection.hasOwnProperty(p) : boolean > : ^^^^^^^ >this.fileCollection.hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this.fileCollection : {} > : ^^ >this : this @@ -4482,7 +4482,7 @@ module Harness { >fileCollection : {} > : ^^ >hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >p : string > : ^^^^^^ @@ -4532,7 +4532,7 @@ module Harness { >current.lines.unshift('////[' + p + ']') : number > : ^^^^^^ >current.lines.unshift : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >current.lines : string[] > : ^^^^^^^^ >current : WriterAggregator @@ -4540,7 +4540,7 @@ module Harness { >lines : string[] > : ^^^^^^^^ >unshift : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >'////[' + p + ']' : string > : ^^^^^^ >'////[' + p : string @@ -4556,11 +4556,11 @@ module Harness { >result.push({ filename: p, file: this.fileCollection[p] }) : number > : ^^^^^^ >result.push : (...items: { filename: string; file: WriterAggregator; }[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ >result : { filename: string; file: WriterAggregator; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ >push : (...items: { filename: string; file: WriterAggregator; }[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ >{ filename: p, file: this.fileCollection[p] } : { filename: string; file: any; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >filename : string @@ -4584,7 +4584,7 @@ module Harness { } return result; >result : { filename: string; file: WriterAggregator; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ } } @@ -4676,18 +4676,18 @@ module Harness { >/\.d\.ts$/.test(filename) : boolean > : ^^^^^^^ >/\.d\.ts$/.test : (string: string) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >/\.d\.ts$/ : RegExp > : ^^^^^^ >test : (string: string) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >filename : string > : ^^^^^^ } export function makeDefaultCompilerForTest(c?: TypeScript.TypeScriptCompiler) { >makeDefaultCompilerForTest : (c?: TypeScript.TypeScriptCompiler) => any -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^ >c : TypeScript.TypeScriptCompiler > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >TypeScript : any @@ -5031,19 +5031,19 @@ module Harness { >Array.isArray && Array.isArray(arg) : boolean > : ^^^^^^^ >Array.isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Array.isArray(arg) : boolean > : ^^^^^^^ >Array.isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >arg : any > : ^^^ >arg instanceof Array : boolean @@ -5267,11 +5267,11 @@ module Harness { >this.compilesOk(testCode) : boolean > : ^^^^^^^ >this.compilesOk : (testCode: any) => boolean -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >this : this > : ^^^^ >compilesOk : (testCode: any) => boolean -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >testCode : string > : ^^^^^^ } @@ -5639,11 +5639,11 @@ module Harness { >this.compilesOk(testCode) : boolean > : ^^^^^^^ >this.compilesOk : (testCode: any) => boolean -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >this : this > : ^^^^ >compilesOk : (testCode: any) => boolean -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >testCode : string > : ^^^^^^ } @@ -6322,11 +6322,11 @@ module Harness { >matchingIdentifiers.push(new Type(entries[i].type, code, targetIdentifier)) : number > : ^^^^^^ >matchingIdentifiers.push : (...items: Type[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^ >matchingIdentifiers : Type[] > : ^^^^^^ >push : (...items: Type[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^ >new Type(entries[i].type, code, targetIdentifier) : Type > : ^^^^ >Type : typeof Type @@ -6448,11 +6448,11 @@ module Harness { >this.getTypeInfoName(tyInfo.ast) : string > : ^^^^^^ >this.getTypeInfoName : (ast: TypeScript.AST) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >this : this > : ^^^^ >getTypeInfoName : (ast: TypeScript.AST) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >tyInfo.ast : any > : ^^^ >tyInfo : any @@ -6484,11 +6484,11 @@ module Harness { >matchingIdentifiers.some(value => (value.identifier === foundValue.identifier) && (value.code === foundValue.code) && (value.type === foundValue.type)) : boolean > : ^^^^^^^ >matchingIdentifiers.some : (predicate: (value: Type, index: number, array: Type[]) => unknown, thisArg?: any) => boolean -> : ^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >matchingIdentifiers : Type[] > : ^^^^^^ >some : (predicate: (value: Type, index: number, array: Type[]) => unknown, thisArg?: any) => boolean -> : ^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >value => (value.identifier === foundValue.identifier) && (value.code === foundValue.code) && (value.type === foundValue.type) : (value: Type) => boolean > : ^ ^^^^^^^^^^^^^^^^^^ >value : Type @@ -6550,11 +6550,11 @@ module Harness { >matchingIdentifiers.push(foundValue) : number > : ^^^^^^ >matchingIdentifiers.push : (...items: Type[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^ >matchingIdentifiers : Type[] > : ^^^^^^ >push : (...items: Type[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^ >foundValue : Type > : ^^^^ } @@ -6602,11 +6602,11 @@ module Harness { >this.getTypeInfoName(tyInfo.ast) : string > : ^^^^^^ >this.getTypeInfoName : (ast: TypeScript.AST) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >this : this > : ^^^^ >getTypeInfoName : (ast: TypeScript.AST) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >tyInfo.ast : any > : ^^^ >tyInfo : any @@ -6646,11 +6646,11 @@ module Harness { >matchingIdentifiers.some(value => (value.identifier === foundValue.identifier) && (value.code === foundValue.code) && (value.type === foundValue.type)) : boolean > : ^^^^^^^ >matchingIdentifiers.some : (predicate: (value: Type, index: number, array: Type[]) => unknown, thisArg?: any) => boolean -> : ^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >matchingIdentifiers : Type[] > : ^^^^^^ >some : (predicate: (value: Type, index: number, array: Type[]) => unknown, thisArg?: any) => boolean -> : ^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >value => (value.identifier === foundValue.identifier) && (value.code === foundValue.code) && (value.type === foundValue.type) : (value: Type) => boolean > : ^ ^^^^^^^^^^^^^^^^^^ >value : Type @@ -6712,11 +6712,11 @@ module Harness { >matchingIdentifiers.push(foundValue) : number > : ^^^^^^ >matchingIdentifiers.push : (...items: Type[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^ >matchingIdentifiers : Type[] > : ^^^^^^ >push : (...items: Type[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^ >foundValue : Type > : ^^^^ } @@ -6816,7 +6816,7 @@ module Harness { private getTypeInfoName(ast : TypeScript.AST) { >getTypeInfoName : (ast: TypeScript.AST) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^ >ast : TypeScript.AST > : ^^^^^^^^^^^^^^ >TypeScript : any @@ -7488,25 +7488,25 @@ module Harness { try { if (compilationContext && compilationContext.preCompile) { >compilationContext && compilationContext.preCompile : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >compilationContext : CompilationContext > : ^^^^^^^^^^^^^^^^^^ >compilationContext.preCompile : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >compilationContext : CompilationContext > : ^^^^^^^^^^^^^^^^^^ >preCompile : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ compilationContext.preCompile(); >compilationContext.preCompile() : void > : ^^^^ >compilationContext.preCompile : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >compilationContext : CompilationContext > : ^^^^^^^^^^^^^^^^^^ >preCompile : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } addUnit(code, unitName, false, false, references); @@ -7666,11 +7666,11 @@ module Harness { >fn.indexOf('.d.ts') : number > : ^^^^^^ >fn.indexOf : (searchString: string, position?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >fn : string > : ^^^^^^ >indexOf : (searchString: string, position?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >'.d.ts' : ".d.ts" > : ^^^^^^^ >0 : 0 @@ -7710,7 +7710,7 @@ module Harness { >writer.lines.join('\n') : string > : ^^^^^^ >writer.lines.join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >writer.lines : string[] > : ^^^^^^^^ >writer : WriterAggregator @@ -7718,7 +7718,7 @@ module Harness { >lines : string[] > : ^^^^^^^^ >join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >'\n' : "\n" > : ^^^^ @@ -7819,25 +7819,25 @@ module Harness { if (compilationContext && compilationContext.postCompile) { >compilationContext && compilationContext.postCompile : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >compilationContext : CompilationContext > : ^^^^^^^^^^^^^^^^^^ >compilationContext.postCompile : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >compilationContext : CompilationContext > : ^^^^^^^^^^^^^^^^^^ >postCompile : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ compilationContext.postCompile(); >compilationContext.postCompile() : void > : ^^^^ >compilationContext.postCompile : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >compilationContext : CompilationContext > : ^^^^^^^^^^^^^^^^^^ >postCompile : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } var uName = unitName || '0.ts'; @@ -7904,15 +7904,15 @@ module Harness { >fileResults.forEach(v => lines = lines.concat(v.file.lines)) : void > : ^^^^ >fileResults.forEach : (callbackfn: (value: { filename: string; file: WriterAggregator; }, index: number, array: { filename: string; file: WriterAggregator; }[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^^ ^^^^^ >fileResults : { filename: string; file: WriterAggregator; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ >forEach : (callbackfn: (value: { filename: string; file: WriterAggregator; }, index: number, array: { filename: string; file: WriterAggregator; }[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^^ ^^^^^ >v => lines = lines.concat(v.file.lines) : (v: { filename: string; file: WriterAggregator; }) => any[] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^ >v : { filename: string; file: WriterAggregator; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^^ ^^^ >lines = lines.concat(v.file.lines) : any[] > : ^^^^^ >lines : any[] @@ -7920,17 +7920,17 @@ module Harness { >lines.concat(v.file.lines) : any[] > : ^^^^^ >lines.concat : { (...items: ConcatArray[]): any[]; (...items: any[]): any[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^ ^^^ >lines : any[] > : ^^^^^ >concat : { (...items: ConcatArray[]): any[]; (...items: any[]): any[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^ ^^^ >v.file.lines : string[] > : ^^^^^^^^ >v.file : WriterAggregator > : ^^^^^^^^^^^^^^^^ >v : { filename: string; file: WriterAggregator; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^^ ^^^ >file : WriterAggregator > : ^^^^^^^^^^^^^^^^ >lines : string[] @@ -7948,11 +7948,11 @@ module Harness { >lines.join("\n") : string > : ^^^^^^ >lines.join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >lines : any[] > : ^^^^^ >join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"\n" : "\n" > : ^^^^ @@ -8012,7 +8012,7 @@ module Harness { >this.errors.push(new CompilerError(err.filename, 0, 0, err.message)) : number > : ^^^^^^ >this.errors.push : (...items: CompilerError[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >this.errors : CompilerError[] > : ^^^^^^^^^^^^^^^ >this : this @@ -8020,7 +8020,7 @@ module Harness { >errors : CompilerError[] > : ^^^^^^^^^^^^^^^ >push : (...items: CompilerError[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >new CompilerError(err.filename, 0, 0, err.message) : CompilerError > : ^^^^^^^^^^^^^ >CompilerError : typeof CompilerError @@ -8048,16 +8048,16 @@ module Harness { > : ^^^^^^^^^^^^^^^^ >errorLines[i].match(/([^\(]*)\((\d+),(\d+)\):\s+((.*[\s\r\n]*.*)+)\s*$/) : RegExpMatchArray > : ^^^^^^^^^^^^^^^^ ->errorLines[i].match : (regexp: string | RegExp) => RegExpMatchArray -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>errorLines[i].match : (regexp: string | RegExp) => RegExpMatchArray | null +> : ^ ^^ ^^^^^ >errorLines[i] : string > : ^^^^^^ >errorLines : string[] > : ^^^^^^^^ >i : number > : ^^^^^^ ->match : (regexp: string | RegExp) => RegExpMatchArray -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>match : (regexp: string | RegExp) => RegExpMatchArray | null +> : ^ ^^ ^^^^^ >/([^\(]*)\((\d+),(\d+)\):\s+((.*[\s\r\n]*.*)+)\s*$/ : RegExp > : ^^^^^^ @@ -8069,7 +8069,7 @@ module Harness { >this.errors.push(new CompilerError(match[1], parseFloat(match[2]), parseFloat(match[3]), match[4])) : number > : ^^^^^^ >this.errors.push : (...items: CompilerError[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >this.errors : CompilerError[] > : ^^^^^^^^^^^^^^^ >this : this @@ -8077,7 +8077,7 @@ module Harness { >errors : CompilerError[] > : ^^^^^^^^^^^^^^^ >push : (...items: CompilerError[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >new CompilerError(match[1], parseFloat(match[2]), parseFloat(match[3]), match[4]) : CompilerError > : ^^^^^^^^^^^^^ >CompilerError : typeof CompilerError @@ -8091,7 +8091,7 @@ module Harness { >parseFloat(match[2]) : number > : ^^^^^^ >parseFloat : (string: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >match[2] : string > : ^^^^^^ >match : RegExpMatchArray @@ -8101,7 +8101,7 @@ module Harness { >parseFloat(match[3]) : number > : ^^^^^^ >parseFloat : (string: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >match[3] : string > : ^^^^^^ >match : RegExpMatchArray @@ -8329,7 +8329,7 @@ module Harness { >makeDefaultCompilerForTest() : any > : ^^^ >makeDefaultCompilerForTest : (c?: TypeScript.TypeScriptCompiler) => any -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^ if (usePull) { >usePull : boolean @@ -8733,7 +8733,7 @@ module Harness { >res : CompilerResult > : ^^^^^^^^^^^^^^ >settingsCallback : (settings?: TypeScript.CompilationSettings) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >settings : TypeScript.CompilationSettings > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >TypeScript : any @@ -8764,12 +8764,12 @@ module Harness { > : ^^^^^^ >path.match(/[^\/]*$/) : RegExpMatchArray > : ^^^^^^^^^^^^^^^^ ->path.match : (regexp: string | RegExp) => RegExpMatchArray -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>path.match : (regexp: string | RegExp) => RegExpMatchArray | null +> : ^ ^^ ^^^^^ >path : string > : ^^^^^^ ->match : (regexp: string | RegExp) => RegExpMatchArray -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>match : (regexp: string | RegExp) => RegExpMatchArray | null +> : ^ ^^ ^^^^^ >/[^\/]*$/ : RegExp > : ^^^^^^ >0 : 0 @@ -8795,9 +8795,9 @@ module Harness { >filename : string > : ^^^^^^ >callback : (res: CompilerResult) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >settingsCallback : (settings?: TypeScript.CompilationSettings) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >context : CompilationContext > : ^^^^^^^^^^^^^^^^^^ >references : TypeScript.IFileReference[] @@ -8816,7 +8816,7 @@ module Harness { >res : CompilerResult > : ^^^^^^^^^^^^^^ >settingsCallback : (settings?: TypeScript.CompilationSettings) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >settings : TypeScript.CompilationSettings > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >TypeScript : any @@ -8931,13 +8931,13 @@ module Harness { if (settingsCallback) { >settingsCallback : (settings?: TypeScript.CompilationSettings) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ settingsCallback(compiler.settings); >settingsCallback(compiler.settings) : void > : ^^^^ >settingsCallback : (settings?: TypeScript.CompilationSettings) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >compiler.settings : any > : ^^^ >compiler : TypeScript.TypeScriptCompiler @@ -8980,7 +8980,7 @@ module Harness { >filename : string > : ^^^^^^ >callback : (res: CompilerResult) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >context : CompilationContext > : ^^^^^^^^^^^^^^^^^^ >references : TypeScript.IFileReference[] @@ -8991,7 +8991,7 @@ module Harness { // So that a test doesn't have side effects for tests run after it, restore the compiler settings to their previous state. if (settingsCallback) { >settingsCallback : (settings?: TypeScript.CompilationSettings) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ compiler.settings = oldCompilerSettings; >compiler.settings = oldCompilerSettings : any @@ -9073,8 +9073,8 @@ module Harness { > : ^^^^^^ >switchToForwardSlashes(lastUnit.name).match(/[^\/]*$/) : RegExpMatchArray > : ^^^^^^^^^^^^^^^^ ->switchToForwardSlashes(lastUnit.name).match : (regexp: string | RegExp) => RegExpMatchArray -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>switchToForwardSlashes(lastUnit.name).match : (regexp: string | RegExp) => RegExpMatchArray | null +> : ^ ^^ ^^^^^ >switchToForwardSlashes(lastUnit.name) : string > : ^^^^^^ >switchToForwardSlashes : (path: string) => string @@ -9085,8 +9085,8 @@ module Harness { > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >name : string > : ^^^^^^ ->match : (regexp: string | RegExp) => RegExpMatchArray -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>match : (regexp: string | RegExp) => RegExpMatchArray | null +> : ^ ^^ ^^^^^ >/[^\/]*$/ : RegExp > : ^^^^^^ >0 : 0 @@ -9098,11 +9098,11 @@ module Harness { >units.slice(0, units.length - 1) : TestCaseParser.TestUnitData[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >units.slice : (start?: number, end?: number) => TestCaseParser.TestUnitData[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >units : TestCaseParser.TestUnitData[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >slice : (start?: number, end?: number) => TestCaseParser.TestUnitData[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >0 : 0 > : ^ >units.length - 1 : number @@ -9122,7 +9122,7 @@ module Harness { >Harness.Compiler.defineCompilationContextForTest(unitName, dependencies) : CompilationContext > : ^^^^^^^^^^^^^^^^^^ >Harness.Compiler.defineCompilationContextForTest : (filename: string, dependencies: TestCaseParser.TestUnitData[]) => CompilationContext -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >Harness.Compiler : typeof Compiler > : ^^^^^^^^^^^^^^^ >Harness : typeof Harness @@ -9130,7 +9130,7 @@ module Harness { >Compiler : typeof Compiler > : ^^^^^^^^^^^^^^^ >defineCompilationContextForTest : (filename: string, dependencies: TestCaseParser.TestUnitData[]) => CompilationContext -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >unitName : string > : ^^^^^^ >dependencies : TestCaseParser.TestUnitData[] @@ -9150,9 +9150,9 @@ module Harness { >unitName : string > : ^^^^^^ >callback : (res: Compiler.CompilerResult) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >settingsCallback : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >compilationContext : CompilationContext > : ^^^^^^^^^^^^^^^^^^ >lastUnit.references : TypeScript.IFileReference[] @@ -9184,7 +9184,7 @@ module Harness { export function emit(ioHost: TypeScript.EmitterIOHost, usePullEmitter?: boolean) { >emit : (ioHost: TypeScript.EmitterIOHost, usePullEmitter?: boolean) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^ >ioHost : TypeScript.EmitterIOHost > : ^^^^^^^^^^^^^^^^^^^^^^^^ >TypeScript : any @@ -9249,11 +9249,11 @@ module Harness { >context.preCompile() : void > : ^^^^ >context.preCompile : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >context : CompilationContext > : ^^^^^^^^^^^^^^^^^^ >preCompile : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } var isDeclareFile = Harness.Compiler.isDeclareFile(unitName); @@ -9301,11 +9301,11 @@ module Harness { >scripts.push(addUnit(code, uName, false, isDeclareFile, references)) : number > : ^^^^^^ >scripts.push : (...items: TypeScript.Script[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >scripts : TypeScript.Script[] > : ^^^^^^^^^^^^^^^^^^^ >push : (...items: TypeScript.Script[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >addUnit(code, uName, false, isDeclareFile, references) : TypeScript.Script > : ^^^^^^^^^^^^^^^^^ >addUnit : (code: string, unitName?: string, isResident?: boolean, isDeclareFile?: boolean, references?: TypeScript.IFileReference[]) => TypeScript.Script @@ -9360,7 +9360,7 @@ module Harness { >emit(stdout, true) : void > : ^^^^ >emit : (ioHost: TypeScript.EmitterIOHost, usePullEmitter?: boolean) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^ >stdout : EmitterIOHost > : ^^^^^^^^^^^^^ >true : true @@ -9383,7 +9383,7 @@ module Harness { >emit(stdout, false) : void > : ^^^^ >emit : (ioHost: TypeScript.EmitterIOHost, usePullEmitter?: boolean) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^ >stdout : EmitterIOHost > : ^^^^^^^^^^^^^ >false : false @@ -9409,30 +9409,30 @@ module Harness { >context.postCompile() : void > : ^^^^ >context.postCompile : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >context : CompilationContext > : ^^^^^^^^^^^^^^^^^^ >postCompile : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } callback(new CompilerResult(stdout.toArray(), errors, scripts)); >callback(new CompilerResult(stdout.toArray(), errors, scripts)) : void > : ^^^^ >callback : (res: Compiler.CompilerResult) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >new CompilerResult(stdout.toArray(), errors, scripts) : CompilerResult > : ^^^^^^^^^^^^^^ >CompilerResult : typeof CompilerResult > : ^^^^^^^^^^^^^^^^^^^^^ >stdout.toArray() : { filename: string; file: WriterAggregator; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ >stdout.toArray : () => { filename: string; file: WriterAggregator; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >stdout : EmitterIOHost > : ^^^^^^^^^^^^^ >toArray : () => { filename: string; file: WriterAggregator; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >errors : any > : ^^^ >scripts : TypeScript.Script[] @@ -9485,11 +9485,11 @@ module Harness { >dependencies.forEach(dep => { addUnit(dep.content, dep.name, false, Harness.Compiler.isDeclareFile(dep.name)); addedFiles.push(dep.name); }) : void > : ^^^^ >dependencies.forEach : (callbackfn: (value: TestCaseParser.TestUnitData, index: number, array: TestCaseParser.TestUnitData[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >dependencies : TestCaseParser.TestUnitData[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >forEach : (callbackfn: (value: TestCaseParser.TestUnitData, index: number, array: TestCaseParser.TestUnitData[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >dep => { addUnit(dep.content, dep.name, false, Harness.Compiler.isDeclareFile(dep.name)); addedFiles.push(dep.name); } : (dep: TestCaseParser.TestUnitData) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >dep : TestCaseParser.TestUnitData @@ -9537,11 +9537,11 @@ module Harness { >addedFiles.push(dep.name) : number > : ^^^^^^ >addedFiles.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >addedFiles : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >dep.name : string > : ^^^^^^ >dep : TestCaseParser.TestUnitData @@ -9561,11 +9561,11 @@ module Harness { >addedFiles.forEach(file => { updateUnit('', file); }) : void > : ^^^^ >addedFiles.forEach : (callbackfn: (value: any, index: number, array: any[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >addedFiles : any[] > : ^^^^^ >forEach : (callbackfn: (value: any, index: number, array: any[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >file => { updateUnit('', file); } : (file: any) => void > : ^ ^^^^^^^^^^^^^^ >file : any @@ -9726,11 +9726,11 @@ module Harness { >opts.push({ flag: match[1], value: match[2] }) : number > : ^^^^^^ >opts.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >opts : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >{ flag: match[1], value: match[2] } : { flag: any; value: any; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >flag : any @@ -9775,7 +9775,7 @@ module Harness { >extractCompilerSettings(code) : CompilerSetting[] > : ^^^^^^^^^^^^^^^^^ >extractCompilerSettings : (content: string) => CompilerSetting[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >code : string > : ^^^^^^ @@ -9855,11 +9855,11 @@ module Harness { >/[\/]{3}\s* : ^^^^^^^ >/[\/]{3}\s* boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >/[\/]{3}\s* : ^^^^^^ >test : (string: string) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >line : string > : ^^^^^^ @@ -9887,12 +9887,12 @@ module Harness { > : ^^^^^^^^^^^^^^^^ >line.match(/reference\spath='(\w*_?\w*\.?d?\.ts)'/) : RegExpMatchArray > : ^^^^^^^^^^^^^^^^ ->line.match : (regexp: string | RegExp) => RegExpMatchArray -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>line.match : (regexp: string | RegExp) => RegExpMatchArray | null +> : ^ ^^ ^^^^^ >line : string > : ^^^^^^ ->match : (regexp: string | RegExp) => RegExpMatchArray -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>match : (regexp: string | RegExp) => RegExpMatchArray | null +> : ^ ^^ ^^^^^ >/reference\spath='(\w*_?\w*\.?d?\.ts)'/ : RegExp > : ^^^^^^ @@ -9952,11 +9952,11 @@ module Harness { >refs.push(ref) : number > : ^^^^^^ >refs.push : (...items: TypeScript.IFileReference[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >refs : TypeScript.IFileReference[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >push : (...items: TypeScript.IFileReference[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >ref : { minChar: number; limChar: number; startLine: number; startCol: number; path: string; isResident: boolean; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } @@ -9983,11 +9983,11 @@ module Harness { >fileMetadataNames.indexOf(testMetaData[1].toLowerCase()) : number > : ^^^^^^ >fileMetadataNames.indexOf : (searchElement: string, fromIndex?: number) => number -> : ^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >fileMetadataNames : string[] > : ^^^^^^^^ >indexOf : (searchElement: string, fromIndex?: number) => number -> : ^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >testMetaData[1].toLowerCase() : any > : ^^^ >testMetaData[1].toLowerCase : any @@ -10035,11 +10035,11 @@ module Harness { >fileMetadataNames.join(', ') : string > : ^^^^^^ >fileMetadataNames.join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >fileMetadataNames : string[] > : ^^^^^^^^ >join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >', ' : ", " > : ^^^^ @@ -10123,11 +10123,11 @@ module Harness { >files.push(newTestFile) : number > : ^^^^^^ >files.push : (...items: TestUnitData[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ >files : TestUnitData[] > : ^^^^^^^^^^^^^^ >push : (...items: TestUnitData[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ >newTestFile : { content: string; name: any; fileOptions: {}; originalFilePath: string; references: TypeScript.IFileReference[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -10294,11 +10294,11 @@ module Harness { >files.push(newTestFile) : number > : ^^^^^^ >files.push : (...items: TestUnitData[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ >files : TestUnitData[] > : ^^^^^^^^^^^^^^ >push : (...items: TestUnitData[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ >newTestFile : { content: string; name: any; fileOptions: {}; originalFilePath: string; references: TypeScript.IFileReference[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -10326,7 +10326,7 @@ module Harness { public editRanges: { length: number; editRange: TypeScript.ScriptEditRange; }[] = []; >editRanges : { length: number; editRange: TypeScript.ScriptEditRange; }[] -> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ >length : number > : ^^^^^^ >editRange : TypeScript.ScriptEditRange @@ -10371,11 +10371,11 @@ module Harness { >this.editRanges = [] : undefined[] > : ^^^^^^^^^^^ >this.editRanges : { length: number; editRange: TypeScript.ScriptEditRange; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ >this : this > : ^^^^ >editRanges : { length: number; editRange: TypeScript.ScriptEditRange; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ >[] : undefined[] > : ^^^^^^^^^^^ @@ -10431,7 +10431,7 @@ module Harness { >this.content.substring(0, minChar) : string > : ^^^^^^ >this.content.substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >this.content : string > : ^^^^^^ >this : this @@ -10439,7 +10439,7 @@ module Harness { >content : string > : ^^^^^^ >substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ >minChar : number @@ -10457,7 +10457,7 @@ module Harness { >this.content.substring(limChar) : string > : ^^^^^^ >this.content.substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >this.content : string > : ^^^^^^ >this : this @@ -10465,7 +10465,7 @@ module Harness { >content : string > : ^^^^^^ >substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >limChar : number > : ^^^^^^ @@ -10494,15 +10494,15 @@ module Harness { >this.editRanges.push({ length: this.content.length, editRange: new TypeScript.ScriptEditRange(minChar, limChar, (limChar - minChar) + newText.length) }) : number > : ^^^^^^ >this.editRanges.push : (...items: { length: number; editRange: TypeScript.ScriptEditRange; }[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^ >this.editRanges : { length: number; editRange: TypeScript.ScriptEditRange; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ >this : this > : ^^^^ >editRanges : { length: number; editRange: TypeScript.ScriptEditRange; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ >push : (...items: { length: number; editRange: TypeScript.ScriptEditRange; }[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^ >{ length: this.content.length, editRange: new TypeScript.ScriptEditRange(minChar, limChar, (limChar - minChar) + newText.length) } : { length: number; editRange: any; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -10560,11 +10560,11 @@ module Harness { >this.editRanges.length : number > : ^^^^^^ >this.editRanges : { length: number; editRange: TypeScript.ScriptEditRange; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ >this : this > : ^^^^ >editRanges : { length: number; editRange: TypeScript.ScriptEditRange; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ >length : number > : ^^^^^^ >this.maxScriptVersions : number @@ -10576,17 +10576,17 @@ module Harness { this.editRanges.splice(0, this.maxScriptVersions - this.editRanges.length); >this.editRanges.splice(0, this.maxScriptVersions - this.editRanges.length) : { length: number; editRange: TypeScript.ScriptEditRange; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ >this.editRanges.splice : { (start: number, deleteCount?: number): { length: number; editRange: TypeScript.ScriptEditRange; }[]; (start: number, deleteCount: number, ...items: { length: number; editRange: TypeScript.ScriptEditRange; }[]): { length: number; editRange: TypeScript.ScriptEditRange; }[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ ^^^ >this.editRanges : { length: number; editRange: TypeScript.ScriptEditRange; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ >this : this > : ^^^^ >editRanges : { length: number; editRange: TypeScript.ScriptEditRange; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ >splice : { (start: number, deleteCount?: number): { length: number; editRange: TypeScript.ScriptEditRange; }[]; (start: number, deleteCount: number, ...items: { length: number; editRange: TypeScript.ScriptEditRange; }[]): { length: number; editRange: TypeScript.ScriptEditRange; }[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ ^^^ >0 : 0 > : ^ >this.maxScriptVersions - this.editRanges.length : number @@ -10600,11 +10600,11 @@ module Harness { >this.editRanges.length : number > : ^^^^^^ >this.editRanges : { length: number; editRange: TypeScript.ScriptEditRange; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ >this : this > : ^^^^ >editRanges : { length: number; editRange: TypeScript.ScriptEditRange; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ >length : number > : ^^^^^^ } @@ -10623,7 +10623,7 @@ module Harness { public getEditRangeSinceVersion(version: number): TypeScript.ScriptEditRange { >getEditRangeSinceVersion : (version: number) => TypeScript.ScriptEditRange -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >version : number > : ^^^^^^ >TypeScript : any @@ -10653,11 +10653,11 @@ module Harness { >this.editRanges.length : number > : ^^^^^^ >this.editRanges : { length: number; editRange: TypeScript.ScriptEditRange; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ >this : this > : ^^^^ >editRanges : { length: number; editRange: TypeScript.ScriptEditRange; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ >length : number > : ^^^^^^ >(this.version - version) : number @@ -10689,11 +10689,11 @@ module Harness { >this.editRanges.length : number > : ^^^^^^ >this.editRanges : { length: number; editRange: TypeScript.ScriptEditRange; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ >this : this > : ^^^^ >editRanges : { length: number; editRange: TypeScript.ScriptEditRange; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ >length : number > : ^^^^^^ @@ -10715,19 +10715,19 @@ module Harness { var entries = this.editRanges.slice(initialEditRangeIndex); >entries : { length: number; editRange: TypeScript.ScriptEditRange; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ >this.editRanges.slice(initialEditRangeIndex) : { length: number; editRange: TypeScript.ScriptEditRange; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ >this.editRanges.slice : (start?: number, end?: number) => { length: number; editRange: TypeScript.ScriptEditRange; }[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >this.editRanges : { length: number; editRange: TypeScript.ScriptEditRange; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ >this : this > : ^^^^ >editRanges : { length: number; editRange: TypeScript.ScriptEditRange; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ >slice : (start?: number, end?: number) => { length: number; editRange: TypeScript.ScriptEditRange; }[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >initialEditRangeIndex : number > : ^^^^^^ @@ -10741,21 +10741,21 @@ module Harness { >entries.map(x => x.editRange.minChar) : any[] > : ^^^^^ >entries.map : (callbackfn: (value: { length: number; editRange: TypeScript.ScriptEditRange; }, index: number, array: { length: number; editRange: TypeScript.ScriptEditRange; }[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^ >entries : { length: number; editRange: TypeScript.ScriptEditRange; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ >map : (callbackfn: (value: { length: number; editRange: TypeScript.ScriptEditRange; }, index: number, array: { length: number; editRange: TypeScript.ScriptEditRange; }[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^ >x => x.editRange.minChar : (x: { length: number; editRange: TypeScript.ScriptEditRange; }) => any -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ >x : { length: number; editRange: TypeScript.ScriptEditRange; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >x.editRange.minChar : any > : ^^^ >x.editRange : TypeScript.ScriptEditRange > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { length: number; editRange: TypeScript.ScriptEditRange; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >editRange : TypeScript.ScriptEditRange > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >minChar : any @@ -10771,11 +10771,11 @@ module Harness { >Math.min(prev, current) : number > : ^^^^^^ >Math.min : (...values: number[]) => number -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Math : Math > : ^^^^ >min : (...values: number[]) => number -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >prev : any > : ^^^ >current : any @@ -10791,21 +10791,21 @@ module Harness { >entries.map(x => x.length - x.editRange.limChar) : number[] > : ^^^^^^^^ >entries.map : (callbackfn: (value: { length: number; editRange: TypeScript.ScriptEditRange; }, index: number, array: { length: number; editRange: TypeScript.ScriptEditRange; }[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^ >entries : { length: number; editRange: TypeScript.ScriptEditRange; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ >map : (callbackfn: (value: { length: number; editRange: TypeScript.ScriptEditRange; }, index: number, array: { length: number; editRange: TypeScript.ScriptEditRange; }[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^ >x => x.length - x.editRange.limChar : (x: { length: number; editRange: TypeScript.ScriptEditRange; }) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ >x : { length: number; editRange: TypeScript.ScriptEditRange; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >x.length - x.editRange.limChar : number > : ^^^^^^ >x.length : number > : ^^^^^^ >x : { length: number; editRange: TypeScript.ScriptEditRange; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >length : number > : ^^^^^^ >x.editRange.limChar : any @@ -10813,7 +10813,7 @@ module Harness { >x.editRange : TypeScript.ScriptEditRange > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { length: number; editRange: TypeScript.ScriptEditRange; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >editRange : TypeScript.ScriptEditRange > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >limChar : any @@ -10829,11 +10829,11 @@ module Harness { >Math.min(prev, current) : number > : ^^^^^^ >Math.min : (...values: number[]) => number -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Math : Math > : ^^^^ >min : (...values: number[]) => number -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >prev : number > : ^^^^^^ >current : number @@ -10849,21 +10849,21 @@ module Harness { >entries.map(x => x.editRange.delta) : any[] > : ^^^^^ >entries.map : (callbackfn: (value: { length: number; editRange: TypeScript.ScriptEditRange; }, index: number, array: { length: number; editRange: TypeScript.ScriptEditRange; }[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^ >entries : { length: number; editRange: TypeScript.ScriptEditRange; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ >map : (callbackfn: (value: { length: number; editRange: TypeScript.ScriptEditRange; }, index: number, array: { length: number; editRange: TypeScript.ScriptEditRange; }[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^ >x => x.editRange.delta : (x: { length: number; editRange: TypeScript.ScriptEditRange; }) => any -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ >x : { length: number; editRange: TypeScript.ScriptEditRange; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >x.editRange.delta : any > : ^^^ >x.editRange : TypeScript.ScriptEditRange > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { length: number; editRange: TypeScript.ScriptEditRange; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >editRange : TypeScript.ScriptEditRange > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >delta : any @@ -10899,9 +10899,9 @@ module Harness { >entries[0].length : number > : ^^^^^^ >entries[0] : { length: number; editRange: TypeScript.ScriptEditRange; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >entries : { length: number; editRange: TypeScript.ScriptEditRange; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ >0 : 0 > : ^ >length : number @@ -11039,7 +11039,7 @@ module Harness { >this.scripts.push(script) : number > : ^^^^^^ >this.scripts.push : (...items: ScriptInfo[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^ >this.scripts : ScriptInfo[] > : ^^^^^^^^^^^^ >this : this @@ -11047,7 +11047,7 @@ module Harness { >scripts : ScriptInfo[] > : ^^^^^^^^^^^^ >push : (...items: ScriptInfo[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^ >script : ScriptInfo > : ^^^^^^^^^^ } @@ -11362,7 +11362,7 @@ module Harness { >this.scripts[scriptIndex].content.substring(start, end) : string > : ^^^^^^ >this.scripts[scriptIndex].content.substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >this.scripts[scriptIndex].content : string > : ^^^^^^ >this.scripts[scriptIndex] : ScriptInfo @@ -11378,7 +11378,7 @@ module Harness { >content : string > : ^^^^^^ >substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >start : number > : ^^^^^^ >end : number @@ -11495,7 +11495,7 @@ module Harness { >this.scripts[scriptIndex].getEditRangeSinceVersion(scriptVersion) : TypeScript.ScriptEditRange > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >this.scripts[scriptIndex].getEditRangeSinceVersion : (version: number) => TypeScript.ScriptEditRange -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this.scripts[scriptIndex] : ScriptInfo > : ^^^^^^^^^^ >this.scripts : ScriptInfo[] @@ -11507,7 +11507,7 @@ module Harness { >scriptIndex : number > : ^^^^^^ >getEditRangeSinceVersion : (version: number) => TypeScript.ScriptEditRange -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >scriptVersion : number > : ^^^^^^ @@ -11557,7 +11557,7 @@ module Harness { */ public getLanguageService(): Services.ILanguageServiceShim { >getLanguageService : () => Services.ILanguageServiceShim -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >Services : any > : ^^^ @@ -11613,7 +11613,7 @@ module Harness { /** Parse file given its source text */ public parseSourceText(fileName: string, sourceText: TypeScript.ISourceText): TypeScript.Script { >parseSourceText : (fileName: string, sourceText: TypeScript.ISourceText) => TypeScript.Script -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >fileName : string > : ^^^^^^ >sourceText : TypeScript.ISourceText @@ -11721,11 +11721,11 @@ module Harness { >this.parseSourceText(fileName, sourceText) : TypeScript.Script > : ^^^^^^^^^^^^^^^^^ >this.parseSourceText : (fileName: string, sourceText: TypeScript.ISourceText) => TypeScript.Script -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >parseSourceText : (fileName: string, sourceText: TypeScript.ISourceText) => TypeScript.Script -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >fileName : string > : ^^^^^^ >sourceText : any @@ -11871,7 +11871,7 @@ module Harness { */ public positionToZeroBasedLineCol(fileName: string, position: number): TypeScript.ILineCol { >positionToZeroBasedLineCol : (fileName: string, position: number) => TypeScript.ILineCol -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >fileName : string > : ^^^^^^ >position : number @@ -12003,11 +12003,11 @@ module Harness { >this.applyEdits(script, edits) : string > : ^^^^^^ >this.applyEdits : (content: string, edits: Services.TextEdit[]) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >applyEdits : (content: string, edits: Services.TextEdit[]) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >script : any > : ^^^ >edits : Services.TextEdit[] @@ -12078,11 +12078,11 @@ module Harness { >this.normalizeEdits(edits) : Services.TextEdit[] > : ^^^^^^^^^^^^^^^^^^^ >this.normalizeEdits : (edits: Services.TextEdit[]) => Services.TextEdit[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >normalizeEdits : (edits: Services.TextEdit[]) => Services.TextEdit[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >edits : Services.TextEdit[] > : ^^^^^^^^^^^^^^^^^^^ @@ -12126,11 +12126,11 @@ module Harness { >result.substring(0, edit.minChar) : string > : ^^^^^^ >result.substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >result : string > : ^^^^^^ >substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ >edit.minChar : any @@ -12156,11 +12156,11 @@ module Harness { >result.substring(edit.limChar) : string > : ^^^^^^ >result.substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >result : string > : ^^^^^^ >substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >edit.limChar : any > : ^^^ >edit : Services.TextEdit @@ -12252,11 +12252,11 @@ module Harness { >result.push({ edit: edits[i], index: i }) : number > : ^^^^^^ >result.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >result : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >{ edit: edits[i], index: i } : { edit: Services.TextEdit; index: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >edit : Services.TextEdit @@ -12279,25 +12279,25 @@ module Harness { var temp = mapEdits(edits).sort(function (a, b) { >temp : { edit: Services.TextEdit; index: number; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^^^ >mapEdits(edits).sort(function (a, b) { var result = a.edit.minChar - b.edit.minChar; if (result == 0) result = a.index - b.index; return result; }) : { edit: Services.TextEdit; index: number; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^^^ >mapEdits(edits).sort : (compareFn?: (a: { edit: Services.TextEdit; index: number; }, b: { edit: Services.TextEdit; index: number; }) => number) => { edit: Services.TextEdit; index: number; }[] -> : ^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^ ^^^^^ ^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^ >mapEdits(edits) : { edit: Services.TextEdit; index: number; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^^^ >mapEdits : (edits: Services.TextEdit[]) => { edit: Services.TextEdit; index: number; }[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >edits : Services.TextEdit[] > : ^^^^^^^^^^^^^^^^^^^ >sort : (compareFn?: (a: { edit: Services.TextEdit; index: number; }, b: { edit: Services.TextEdit; index: number; }) => number) => { edit: Services.TextEdit; index: number; }[] -> : ^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^ ^^^^^ ^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^ >function (a, b) { var result = a.edit.minChar - b.edit.minChar; if (result == 0) result = a.index - b.index; return result; } : (a: { edit: Services.TextEdit; index: number; }, b: { edit: Services.TextEdit; index: number; }) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^^^^^^^ ^^^^^ ^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^ >a : { edit: Services.TextEdit; index: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^ >b : { edit: Services.TextEdit; index: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^ var result = a.edit.minChar - b.edit.minChar; >result : number @@ -12309,7 +12309,7 @@ module Harness { >a.edit : Services.TextEdit > : ^^^^^^^^^^^^^^^^^ >a : { edit: Services.TextEdit; index: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^ >edit : Services.TextEdit > : ^^^^^^^^^^^^^^^^^ >minChar : any @@ -12319,7 +12319,7 @@ module Harness { >b.edit : Services.TextEdit > : ^^^^^^^^^^^^^^^^^ >b : { edit: Services.TextEdit; index: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^ >edit : Services.TextEdit > : ^^^^^^^^^^^^^^^^^ >minChar : any @@ -12343,13 +12343,13 @@ module Harness { >a.index : number > : ^^^^^^ >a : { edit: Services.TextEdit; index: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^ >index : number > : ^^^^^^ >b.index : number > : ^^^^^^ >b : { edit: Services.TextEdit; index: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^ >index : number > : ^^^^^^ @@ -12379,7 +12379,7 @@ module Harness { >temp.length : number > : ^^^^^^ >temp : { edit: Services.TextEdit; index: number; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^^^ >length : number > : ^^^^^^ @@ -12389,9 +12389,9 @@ module Harness { >temp[current].edit : Services.TextEdit > : ^^^^^^^^^^^^^^^^^ >temp[current] : { edit: Services.TextEdit; index: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^ >temp : { edit: Services.TextEdit; index: number; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^^^ >current : number > : ^^^^^^ >edit : Services.TextEdit @@ -12406,7 +12406,7 @@ module Harness { >temp.length : number > : ^^^^^^ >temp : { edit: Services.TextEdit; index: number; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^^^ >length : number > : ^^^^^^ @@ -12414,11 +12414,11 @@ module Harness { >result.push(currentEdit) : number > : ^^^^^^ >result.push : (...items: Services.TextEdit[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >result : Services.TextEdit[] > : ^^^^^^^^^^^^^^^^^^^ >push : (...items: Services.TextEdit[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >currentEdit : Services.TextEdit > : ^^^^^^^^^^^^^^^^^ @@ -12436,9 +12436,9 @@ module Harness { >temp[next].edit : Services.TextEdit > : ^^^^^^^^^^^^^^^^^ >temp[next] : { edit: Services.TextEdit; index: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^ >temp : { edit: Services.TextEdit; index: number; }[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^^^ >next : number > : ^^^^^^ >edit : Services.TextEdit @@ -12475,11 +12475,11 @@ module Harness { >result.push(currentEdit) : number > : ^^^^^^ >result.push : (...items: Services.TextEdit[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >result : Services.TextEdit[] > : ^^^^^^^^^^^^^^^^^^^ >push : (...items: Services.TextEdit[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >currentEdit : Services.TextEdit > : ^^^^^^^^^^^^^^^^^ @@ -12550,11 +12550,11 @@ module Harness { >JSON.stringify({ usePullLanguageService: usePull }) : string > : ^^^^^^ >JSON.stringify : { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; } -> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >JSON : JSON > : ^^^^ >stringify : { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; } -> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >{ usePullLanguageService: usePull } : { usePullLanguageService: boolean; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >usePullLanguageService : boolean @@ -12583,7 +12583,7 @@ module Harness { >description : string > : ^^^^^^ >block : () => any -> : ^^^^^^^^^ +> : ^^^^^^ if (Runnable.currentStack.length === 0) { >Runnable.currentStack.length === 0 : boolean @@ -12605,7 +12605,7 @@ module Harness { >Runnable.currentStack.push(currentRun) : number > : ^^^^^^ >Runnable.currentStack.push : (...items: Runnable[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^ >Runnable.currentStack : Runnable[] > : ^^^^^^^^^^ >Runnable : typeof Runnable @@ -12613,7 +12613,7 @@ module Harness { >currentStack : Runnable[] > : ^^^^^^^^^^ >push : (...items: Runnable[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^ >currentRun : Run > : ^^^ } @@ -12622,7 +12622,7 @@ module Harness { >Runnable.currentStack[Runnable.currentStack.length - 1].addChild(newScenario) : void > : ^^^^ >Runnable.currentStack[Runnable.currentStack.length - 1].addChild : (child: Runnable) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >Runnable.currentStack[Runnable.currentStack.length - 1] : Runnable > : ^^^^^^^^ >Runnable.currentStack : Runnable[] @@ -12646,7 +12646,7 @@ module Harness { >1 : 1 > : ^ >addChild : (child: Runnable) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >newScenario : Scenario > : ^^^^^^^^ } @@ -12668,13 +12668,13 @@ module Harness { >description : string > : ^^^^^^ >block : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ Runnable.currentStack[Runnable.currentStack.length - 1].addChild(testCase); >Runnable.currentStack[Runnable.currentStack.length - 1].addChild(testCase) : void > : ^^^^ >Runnable.currentStack[Runnable.currentStack.length - 1].addChild : (child: Runnable) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >Runnable.currentStack[Runnable.currentStack.length - 1] : Runnable > : ^^^^^^^^ >Runnable.currentStack : Runnable[] @@ -12698,7 +12698,7 @@ module Harness { >1 : 1 > : ^ >addChild : (child: Runnable) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >testCase : TestCase > : ^^^^^^^^ } @@ -12801,18 +12801,18 @@ module Harness { > : ^^^^^^ >path.match(/[^\/]*$/) : RegExpMatchArray > : ^^^^^^^^^^^^^^^^ ->path.match : (regexp: string | RegExp) => RegExpMatchArray -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>path.match : (regexp: string | RegExp) => RegExpMatchArray | null +> : ^ ^^ ^^^^^ >path : string > : ^^^^^^ ->match : (regexp: string | RegExp) => RegExpMatchArray -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>match : (regexp: string | RegExp) => RegExpMatchArray | null +> : ^ ^^ ^^^^^ >/[^\/]*$/ : RegExp > : ^^^^^^ >0 : 0 > : ^ >callback : (error: Error, result: any) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ } export function runJSString(code: string, callback: (error: Error, result: any) => void ) { @@ -12884,7 +12884,7 @@ module Harness { >eval(code) : any > : ^^^ >eval : (x: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >code : string > : ^^^^^^ @@ -12923,7 +12923,7 @@ module Harness { >callback(null, res) : void > : ^^^^ >callback : (error: Error, result: any) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >res : any > : ^^^ @@ -12966,7 +12966,7 @@ module Harness { >callback(e, null) : void > : ^^^^ >callback : (error: Error, result: any) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >e : any > : ^^^ } @@ -12989,12 +12989,12 @@ module Harness { Compiler.compileString(code, unitName, function (res) { >Compiler.compileString(code, unitName, function (res) { runJSString(res.code, callback); }) : void > : ^^^^ ->Compiler.compileString : (code: string, unitName: string, callback: (res: Compiler.CompilerResult) => void, context?: CompilationContext, references?: TypeScript.IFileReference[]) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ +>Compiler.compileString : (code: string, unitName: string, callback: (res: Compiler.CompilerResult) => void, context?: Compiler.CompilationContext, references?: TypeScript.IFileReference[]) => void +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ >Compiler : typeof Compiler > : ^^^^^^^^^^^^^^^ ->compileString : (code: string, unitName: string, callback: (res: Compiler.CompilerResult) => void, context?: CompilationContext, references?: TypeScript.IFileReference[]) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ +>compileString : (code: string, unitName: string, callback: (res: Compiler.CompilerResult) => void, context?: Compiler.CompilationContext, references?: TypeScript.IFileReference[]) => void +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ >code : string > : ^^^^^^ >unitName : string @@ -13016,7 +13016,7 @@ module Harness { >code : string > : ^^^^^^ >callback : (error: Error, result: any) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ }); } @@ -13392,11 +13392,11 @@ module Harness { >reportContent.replace(htmlTrailer, '') : string > : ^^^^^^ >reportContent.replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >reportContent : string > : ^^^^^^ >replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >htmlTrailer : string > : ^^^^^^ >'' : "" @@ -13505,7 +13505,7 @@ module Harness { >generateContent() : string > : ^^^^^^ >generateContent : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ if (actual === undefined) { >actual === undefined : boolean @@ -13664,11 +13664,11 @@ module Harness { >expected.replace(/\r\n?/g, '\n') : string > : ^^^^^^ >expected.replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >expected : string > : ^^^^^^ >replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >/\r\n?/g : RegExp > : ^^^^^^ >'\n' : "\n" @@ -13682,11 +13682,11 @@ module Harness { >actual.replace(/\r\n?/g, '\n') : string > : ^^^^^^ >actual.replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >actual : string > : ^^^^^^ >replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >/\r\n?/g : RegExp > : ^^^^^^ >'\n' : "\n" @@ -13828,7 +13828,7 @@ module Harness { >prepareBaselineReport() : string > : ^^^^^^ >prepareBaselineReport : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ reportContentSoFar = reportContentSoFar + header + '
    ' + diff.mergedHtml + '
    ' + trailer + htmlTrailer; >reportContentSoFar = reportContentSoFar + header + '
    ' + diff.mergedHtml + '
    ' + trailer + htmlTrailer : string @@ -13944,11 +13944,11 @@ module Harness { >generateActual(actualFilename, generateContent) : string > : ^^^^^^ >generateActual : (actualFilename: string, generateContent: () => string) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >actualFilename : string > : ^^^^^^ >generateContent : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var comparison = compareToBaseline(actual, relativeFilename, opts); >comparison : { expected: string; actual: string; } @@ -14021,11 +14021,11 @@ module Harness { >generateActual(actualFilename, generateContent) : string > : ^^^^^^ >generateActual : (actualFilename: string, generateContent: () => string) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >actualFilename : string > : ^^^^^^ >generateContent : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ }); diff --git a/tests/baselines/reference/parserindenter.types b/tests/baselines/reference/parserindenter.types index 1a09748980533..0d93f460d18e4 100644 --- a/tests/baselines/reference/parserindenter.types +++ b/tests/baselines/reference/parserindenter.types @@ -145,11 +145,11 @@ module Formatting { >this.ApplyScriptBlockIndentation(this.languageHostIndentation, this.tree) : void > : ^^^^ >this.ApplyScriptBlockIndentation : (languageHostIndentation: string, tree: ParseTree) => void -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >ApplyScriptBlockIndentation : (languageHostIndentation: string, tree: ParseTree) => void -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this.languageHostIndentation : string > : ^^^^^^ >this : this @@ -167,11 +167,11 @@ module Formatting { >this.FillInheritedIndentation(this.tree) : void > : ^^^^ >this.FillInheritedIndentation : (tree: ParseTree) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >FillInheritedIndentation : (tree: ParseTree) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this.tree : ParseTree > : ^^^^^^^^^ >this : this @@ -183,7 +183,7 @@ module Formatting { public GetIndentationEdits(token: TokenSpan, nextToken: TokenSpan, node: ParseNode, sameLineIndent: boolean): List_TextEditInfo { >GetIndentationEdits : (token: TokenSpan, nextToken: TokenSpan, node: ParseNode, sameLineIndent: boolean) => List_TextEditInfo -> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >token : TokenSpan > : ^^^^^^^^^ >nextToken : TokenSpan @@ -332,11 +332,11 @@ module Formatting { >this.GetIndentationEditsWorker(token, nextToken, node, sameLineIndent) : List_TextEditInfo > : ^^^^^^^^^^^^^^^^^ >this.GetIndentationEditsWorker : (token: TokenSpan, nextToken: TokenSpan, node: ParseNode, sameLineIndent: boolean) => List_TextEditInfo -> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >GetIndentationEditsWorker : (token: TokenSpan, nextToken: TokenSpan, node: ParseNode, sameLineIndent: boolean) => List_TextEditInfo -> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >token : TokenSpan > : ^^^^^^^^^ >nextToken : TokenSpan @@ -477,7 +477,7 @@ module Formatting { public GetIndentationEditsWorker(token: TokenSpan, nextToken: TokenSpan, node: ParseNode, sameLineIndent: boolean): List_TextEditInfo { >GetIndentationEditsWorker : (token: TokenSpan, nextToken: TokenSpan, node: ParseNode, sameLineIndent: boolean) => List_TextEditInfo -> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >token : TokenSpan > : ^^^^^^^^^ >nextToken : TokenSpan @@ -513,11 +513,11 @@ module Formatting { >this.AdjustStartOffsetIfNeeded(token, node) : void > : ^^^^ >this.AdjustStartOffsetIfNeeded : (token: TokenSpan, node: ParseNode) => void -> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >AdjustStartOffsetIfNeeded : (token: TokenSpan, node: ParseNode) => void -> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >token : TokenSpan > : ^^^^^^^^^ >node : ParseNode @@ -558,11 +558,11 @@ module Formatting { >this.IsMultiLineString(token) : boolean > : ^^^^^^^ >this.IsMultiLineString : (token: TokenSpan) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >IsMultiLineString : (token: TokenSpan) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >token : TokenSpan > : ^^^^^^^^^ @@ -580,11 +580,11 @@ module Formatting { >this.GetSpecialCaseIndentation(token, node) : IndentationInfo > : ^^^^^^^^^^^^^^^ >this.GetSpecialCaseIndentation : (token: TokenSpan, node: ParseNode) => IndentationInfo -> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >GetSpecialCaseIndentation : (token: TokenSpan, node: ParseNode) => IndentationInfo -> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >token : TokenSpan > : ^^^^^^^^^ >node : ParseNode @@ -811,11 +811,11 @@ module Formatting { >this.ApplyIndentationDeltaFromParent(token, node) : IndentationInfo > : ^^^^^^^^^^^^^^^ >this.ApplyIndentationDeltaFromParent : (token: TokenSpan, node: ParseNode) => IndentationInfo -> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >ApplyIndentationDeltaFromParent : (token: TokenSpan, node: ParseNode) => IndentationInfo -> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >token : TokenSpan > : ^^^^^^^^^ >node : ParseNode @@ -837,11 +837,11 @@ module Formatting { >this.GetIndentEdit(indentationInfo, token.Span.startPosition(), sameLineIndent) : TextEditInfo > : ^^^^^^^^^^^^ >this.GetIndentEdit : (indentInfo: IndentationInfo, tokenStartPosition: number, sameLineIndent: boolean) => TextEditInfo -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >GetIndentEdit : (indentInfo: IndentationInfo, tokenStartPosition: number, sameLineIndent: boolean) => TextEditInfo -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >indentationInfo : IndentationInfo > : ^^^^^^^^^^^^^^^ >token.Span.startPosition() : any @@ -869,11 +869,11 @@ module Formatting { >this.RegisterIndentation(edit, sameLineIndent) : void > : ^^^^ >this.RegisterIndentation : (indent: TextEditInfo, sameLineIndent: boolean) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >RegisterIndentation : (indent: TextEditInfo, sameLineIndent: boolean) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >edit : TextEditInfo > : ^^^^^^^^^^^^ >sameLineIndent : boolean @@ -914,11 +914,11 @@ module Formatting { >this.GetCommentIndentationEdits(token) : List_TextEditInfo > : ^^^^^^^^^^^^^^^^^ >this.GetCommentIndentationEdits : (token: TokenSpan) => List_TextEditInfo -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >GetCommentIndentationEdits : (token: TokenSpan) => List_TextEditInfo -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >token : TokenSpan > : ^^^^^^^^^ @@ -960,7 +960,7 @@ module Formatting { private GetCommentIndentationEdits(token: TokenSpan): List_TextEditInfo { >GetCommentIndentationEdits : (token: TokenSpan) => List_TextEditInfo -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >token : TokenSpan > : ^^^^^^^^^ @@ -1044,11 +1044,11 @@ module Formatting { >this.GetIndentationDelta(token.Span.startPosition(), null) : number > : ^^^^^^ >this.GetIndentationDelta : (tokenStartPosition: number, childTokenStartPosition: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >GetIndentationDelta : (tokenStartPosition: number, childTokenStartPosition: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >token.Span.startPosition() : any > : ^^^ >token.Span.startPosition : any @@ -1126,11 +1126,11 @@ module Formatting { >this.GetLineIndentationForOffset(lineStartPosition) : string > : ^^^^^^ >this.GetLineIndentationForOffset : (offset: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >GetLineIndentationForOffset : (offset: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >lineStartPosition : any > : ^^^ @@ -1140,11 +1140,11 @@ module Formatting { >this.ApplyIndentationDelta2(lineIndent, commentFirstLineIndentationDelta) : IndentationInfo > : ^^^^^^^^^^^^^^^ >this.ApplyIndentationDelta2 : (currentIndent: string, delta: number) => IndentationInfo -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >ApplyIndentationDelta2 : (currentIndent: string, delta: number) => IndentationInfo -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >lineIndent : string > : ^^^^^^ >commentFirstLineIndentationDelta : number @@ -1176,11 +1176,11 @@ module Formatting { >this.GetIndentEdit(commentIndentationInfo, tokenStartPosition, false) : TextEditInfo > : ^^^^^^^^^^^^ >this.GetIndentEdit : (indentInfo: IndentationInfo, tokenStartPosition: number, sameLineIndent: boolean) => TextEditInfo -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >GetIndentEdit : (indentInfo: IndentationInfo, tokenStartPosition: number, sameLineIndent: boolean) => TextEditInfo -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >commentIndentationInfo : IndentationInfo > : ^^^^^^^^^^^^^^^ >tokenStartPosition : any @@ -1217,7 +1217,7 @@ module Formatting { static GetIndentSizeFromIndentText(indentText: string, editorOptions: Services.EditorOptions): number { >GetIndentSizeFromIndentText : (indentText: string, editorOptions: Services.EditorOptions) => number -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >indentText : string > : ^^^^^^ >editorOptions : Services.EditorOptions @@ -1240,7 +1240,7 @@ module Formatting { static GetIndentSizeFromText(text: string, editorOptions: Services.EditorOptions, includeNonIndentChars: boolean): number { >GetIndentSizeFromText : (text: string, editorOptions: Services.EditorOptions, includeNonIndentChars: boolean) => number -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >text : string > : ^^^^^^ >editorOptions : Services.EditorOptions @@ -1282,11 +1282,11 @@ module Formatting { >text.charAt(i) : string > : ^^^^^^ >text.charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >text : string > : ^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >i : number > : ^^^^^^ @@ -1371,7 +1371,7 @@ module Formatting { private GetSpecialCaseIndentation(token: TokenSpan, node: ParseNode): IndentationInfo { >GetSpecialCaseIndentation : (token: TokenSpan, node: ParseNode) => IndentationInfo -> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >token : TokenSpan > : ^^^^^^^^^ >node : ParseNode @@ -1405,11 +1405,11 @@ module Formatting { >this.GetSpecialCaseIndentationForLCurly(node) : IndentationInfo > : ^^^^^^^^^^^^^^^ >this.GetSpecialCaseIndentationForLCurly : (node: ParseNode) => IndentationInfo -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >GetSpecialCaseIndentationForLCurly : (node: ParseNode) => IndentationInfo -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >node : ParseNode > : ^^^^^^^^^ @@ -1605,11 +1605,11 @@ module Formatting { >this.GetSpecialCaseIndentationForSemicolon(token, node) : IndentationInfo > : ^^^^^^^^^^^^^^^ >this.GetSpecialCaseIndentationForSemicolon : (token: TokenSpan, node: ParseNode) => IndentationInfo -> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >GetSpecialCaseIndentationForSemicolon : (token: TokenSpan, node: ParseNode) => IndentationInfo -> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >token : TokenSpan > : ^^^^^^^^^ >node : ParseNode @@ -1627,11 +1627,11 @@ module Formatting { >this.GetSpecialCaseIndentationForComment(token, node) : IndentationInfo > : ^^^^^^^^^^^^^^^ >this.GetSpecialCaseIndentationForComment : (token: TokenSpan, node: ParseNode) => IndentationInfo -> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >GetSpecialCaseIndentationForComment : (token: TokenSpan, node: ParseNode) => IndentationInfo -> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >token : TokenSpan > : ^^^^^^^^^ >node : ParseNode @@ -1646,7 +1646,7 @@ module Formatting { private GetSpecialCaseIndentationForLCurly(node: ParseNode): IndentationInfo { >GetSpecialCaseIndentationForLCurly : (node: ParseNode) => IndentationInfo -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >node : ParseNode > : ^^^^^^^^^ @@ -1805,7 +1805,7 @@ module Formatting { private GetSpecialCaseIndentationForSemicolon(token: TokenSpan, node: ParseNode): IndentationInfo { >GetSpecialCaseIndentationForSemicolon : (token: TokenSpan, node: ParseNode) => IndentationInfo -> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >token : TokenSpan > : ^^^^^^^^^ >node : ParseNode @@ -1941,7 +1941,7 @@ module Formatting { private GetSpecialCaseIndentationForComment(token: TokenSpan, node: ParseNode): IndentationInfo { >GetSpecialCaseIndentationForComment : (token: TokenSpan, node: ParseNode) => IndentationInfo -> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >token : TokenSpan > : ^^^^^^^^^ >node : ParseNode @@ -2058,11 +2058,11 @@ module Formatting { >this.CanIndentComment(token, node) : boolean > : ^^^^^^^ >this.CanIndentComment : (token: TokenSpan, node: ParseNode) => boolean -> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >CanIndentComment : (token: TokenSpan, node: ParseNode) => boolean -> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >token : TokenSpan > : ^^^^^^^^^ >node : ParseNode @@ -2093,11 +2093,11 @@ module Formatting { >this.ApplyIndentationDeltaFromParent(token, node) : IndentationInfo > : ^^^^^^^^^^^^^^^ >this.ApplyIndentationDeltaFromParent : (token: TokenSpan, node: ParseNode) => IndentationInfo -> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >ApplyIndentationDeltaFromParent : (token: TokenSpan, node: ParseNode) => IndentationInfo -> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >token : TokenSpan > : ^^^^^^^^^ >node : ParseNode @@ -2112,7 +2112,7 @@ module Formatting { private CanIndentComment(token: TokenSpan, node: ParseNode): boolean { >CanIndentComment : (token: TokenSpan, node: ParseNode) => boolean -> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >token : TokenSpan > : ^^^^^^^^^ >node : ParseNode @@ -2339,7 +2339,7 @@ module Formatting { private ApplyScriptBlockIndentation(languageHostIndentation: string, tree: ParseTree): void >ApplyScriptBlockIndentation : (languageHostIndentation: string, tree: ParseTree) => void -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >languageHostIndentation : string > : ^^^^^^ >tree : ParseTree @@ -2369,11 +2369,11 @@ module Formatting { >this.ApplyIndentationLevel(languageHostIndentation, 1) : string > : ^^^^^^ >this.ApplyIndentationLevel : (existingIndentation: string, level: number) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >ApplyIndentationLevel : (existingIndentation: string, level: number) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >languageHostIndentation : string > : ^^^^^^ >1 : 1 @@ -2441,7 +2441,7 @@ module Formatting { private GetIndentEdit(indentInfo: IndentationInfo, tokenStartPosition: number, sameLineIndent: boolean): TextEditInfo { >GetIndentEdit : (indentInfo: IndentationInfo, tokenStartPosition: number, sameLineIndent: boolean) => TextEditInfo -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >indentInfo : IndentationInfo > : ^^^^^^^^^^^^^^^ >tokenStartPosition : number @@ -2455,11 +2455,11 @@ module Formatting { >this.ApplyIndentationLevel(indentInfo.Prefix, indentInfo.Level) : string > : ^^^^^^ >this.ApplyIndentationLevel : (existingIndentation: string, level: number) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >ApplyIndentationLevel : (existingIndentation: string, level: number) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >indentInfo.Prefix : any > : ^^^ >indentInfo : IndentationInfo @@ -2834,11 +2834,11 @@ module Formatting { >this.GetIndentString(null, totalIndent, tabSize, convertTabsToSpaces) : string > : ^^^^^^ >this.GetIndentString : (prefix: string, totalIndentSize: number, tabSize: number, convertTabsToSpaces: boolean) => string -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >GetIndentString : (prefix: string, totalIndentSize: number, tabSize: number, convertTabsToSpaces: boolean) => string -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >totalIndent : number > : ^^^^^^ >tabSize : any @@ -2861,11 +2861,11 @@ module Formatting { >this.GetIndentString(existingIndentation, totalIndentSize, tabSize, convertTabsToSpaces) : string > : ^^^^^^ >this.GetIndentString : (prefix: string, totalIndentSize: number, tabSize: number, convertTabsToSpaces: boolean) => string -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >GetIndentString : (prefix: string, totalIndentSize: number, tabSize: number, convertTabsToSpaces: boolean) => string -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >existingIndentation : string > : ^^^^^^ >totalIndentSize : number @@ -3005,7 +3005,7 @@ module Formatting { private ApplyIndentationDeltaFromParent(token: TokenSpan, node: ParseNode): IndentationInfo { >ApplyIndentationDeltaFromParent : (token: TokenSpan, node: ParseNode) => IndentationInfo -> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >token : TokenSpan > : ^^^^^^^^^ >node : ParseNode @@ -3087,11 +3087,11 @@ module Formatting { >this.GetIndentationDelta(indentableParent.AuthorNode.Details.StartOffset, token.Span.startPosition()) : number > : ^^^^^^ >this.GetIndentationDelta : (tokenStartPosition: number, childTokenStartPosition: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >GetIndentationDelta : (tokenStartPosition: number, childTokenStartPosition: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >indentableParent.AuthorNode.Details.StartOffset : any > : ^^^ >indentableParent.AuthorNode.Details : any @@ -3135,11 +3135,11 @@ module Formatting { >this.ApplyIndentationDelta1(token.Span.startPosition(), parentIndentationDeltaSize) : IndentationInfo > : ^^^^^^^^^^^^^^^ >this.ApplyIndentationDelta1 : (tokenStartPosition: number, delta: number) => IndentationInfo -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >ApplyIndentationDelta1 : (tokenStartPosition: number, delta: number) => IndentationInfo -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >token.Span.startPosition() : any > : ^^^ >token.Span.startPosition : any @@ -3164,7 +3164,7 @@ module Formatting { private ApplyIndentationDelta1(tokenStartPosition: number, delta: number): IndentationInfo { >ApplyIndentationDelta1 : (tokenStartPosition: number, delta: number) => IndentationInfo -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >tokenStartPosition : number > : ^^^^^^ >delta : number @@ -3240,11 +3240,11 @@ module Formatting { >this.ApplyIndentationDelta2(currentIndent, delta) : IndentationInfo > : ^^^^^^^^^^^^^^^ >this.ApplyIndentationDelta2 : (currentIndent: string, delta: number) => IndentationInfo -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >ApplyIndentationDelta2 : (currentIndent: string, delta: number) => IndentationInfo -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >currentIndent : any > : ^^^ >delta : number @@ -3253,7 +3253,7 @@ module Formatting { private ApplyIndentationDelta2(currentIndent: string, delta: number): IndentationInfo { >ApplyIndentationDelta2 : (currentIndent: string, delta: number) => IndentationInfo -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >currentIndent : string > : ^^^^^^ >delta : number @@ -3275,11 +3275,11 @@ module Formatting { >Indenter.GetIndentSizeFromIndentText(currentIndent, this.editorOptions) : number > : ^^^^^^ >Indenter.GetIndentSizeFromIndentText : (indentText: string, editorOptions: Services.EditorOptions) => number -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >Indenter : typeof Indenter > : ^^^^^^^^^^^^^^^ >GetIndentSizeFromIndentText : (indentText: string, editorOptions: Services.EditorOptions) => number -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >currentIndent : string > : ^^^^^^ >this.editorOptions : Services.EditorOptions @@ -3322,11 +3322,11 @@ module Formatting { >this.GetIndentString(null, newIndentSize, this.editorOptions.TabSize, this.editorOptions.ConvertTabsToSpaces) : string > : ^^^^^^ >this.GetIndentString : (prefix: string, totalIndentSize: number, tabSize: number, convertTabsToSpaces: boolean) => string -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >GetIndentString : (prefix: string, totalIndentSize: number, tabSize: number, convertTabsToSpaces: boolean) => string -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >newIndentSize : number > : ^^^^^^ >this.editorOptions.TabSize : any @@ -3499,11 +3499,11 @@ module Formatting { >Indenter.GetIndentSizeFromText(origIndentText, this.editorOptions, /*includeNonIndentChars*/true) : number > : ^^^^^^ >Indenter.GetIndentSizeFromText : (text: string, editorOptions: Services.EditorOptions, includeNonIndentChars: boolean) => number -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Indenter : typeof Indenter > : ^^^^^^^^^^^^^^^ >GetIndentSizeFromText : (text: string, editorOptions: Services.EditorOptions, includeNonIndentChars: boolean) => number -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >origIndentText : any > : ^^^ >this.editorOptions : Services.EditorOptions @@ -3521,11 +3521,11 @@ module Formatting { >Indenter.GetIndentSizeFromIndentText(newIndentText, this.editorOptions) : number > : ^^^^^^ >Indenter.GetIndentSizeFromIndentText : (indentText: string, editorOptions: Services.EditorOptions) => number -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >Indenter : typeof Indenter > : ^^^^^^^^^^^^^^^ >GetIndentSizeFromIndentText : (indentText: string, editorOptions: Services.EditorOptions) => number -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >newIndentText : any > : ^^^ >this.editorOptions : Services.EditorOptions @@ -3613,11 +3613,11 @@ module Formatting { >Indenter.GetIndentSizeFromIndentText(childIndentText, this.editorOptions) : number > : ^^^^^^ >Indenter.GetIndentSizeFromIndentText : (indentText: string, editorOptions: Services.EditorOptions) => number -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >Indenter : typeof Indenter > : ^^^^^^^^^^^^^^^ >GetIndentSizeFromIndentText : (indentText: string, editorOptions: Services.EditorOptions) => number -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >childIndentText : any > : ^^^ >this.editorOptions : Services.EditorOptions @@ -3643,11 +3643,11 @@ module Formatting { >Indenter.GetIndentSizeFromIndentText(origIndentText, this.editorOptions) : number > : ^^^^^^ >Indenter.GetIndentSizeFromIndentText : (indentText: string, editorOptions: Services.EditorOptions) => number -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >Indenter : typeof Indenter > : ^^^^^^^^^^^^^^^ >GetIndentSizeFromIndentText : (indentText: string, editorOptions: Services.EditorOptions) => number -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >origIndentText : any > : ^^^ >this.editorOptions : Services.EditorOptions @@ -3696,7 +3696,7 @@ module Formatting { private FillInheritedIndentation(tree: ParseTree): void >FillInheritedIndentation : (tree: ParseTree) => void -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >tree : ParseTree > : ^^^^^^^^^ { @@ -4220,11 +4220,11 @@ module Formatting { >this.GetLineIndentationForOffset(offset) : string > : ^^^^^^ >this.GetLineIndentationForOffset : (offset: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >GetLineIndentationForOffset : (offset: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >offset : number > : ^^^^^^ @@ -4410,11 +4410,11 @@ module Formatting { >this.ApplyIndentationLevel(indentOverride, -lastDelta) : string > : ^^^^^^ >this.ApplyIndentationLevel : (existingIndentation: string, level: number) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >ApplyIndentationLevel : (existingIndentation: string, level: number) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >indentOverride : string > : ^^^^^^ >-lastDelta : number @@ -4642,7 +4642,7 @@ module Formatting { private RegisterIndentation(indent: TextEditInfo, sameLineIndent: boolean): void >RegisterIndentation : (indent: TextEditInfo, sameLineIndent: boolean) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >indent : TextEditInfo > : ^^^^^^^^^^^^ >sameLineIndent : boolean @@ -4772,11 +4772,11 @@ module Formatting { >this.RegisterIndentation(new TextEditInfo(position, 0, indent), false) : void > : ^^^^ >this.RegisterIndentation : (indent: TextEditInfo, sameLineIndent: boolean) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >RegisterIndentation : (indent: TextEditInfo, sameLineIndent: boolean) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >new TextEditInfo(position, 0, indent) : any > : ^^^ >TextEditInfo : any @@ -4793,7 +4793,7 @@ module Formatting { private AdjustStartOffsetIfNeeded(token: TokenSpan, node: ParseNode): void >AdjustStartOffsetIfNeeded : (token: TokenSpan, node: ParseNode) => void -> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >token : TokenSpan > : ^^^^^^^^^ >node : ParseNode @@ -4982,7 +4982,7 @@ module Formatting { private IsMultiLineString(token: TokenSpan): boolean { >IsMultiLineString : (token: TokenSpan) => boolean -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >token : TokenSpan > : ^^^^^^^^^ diff --git a/tests/baselines/reference/parsingDeepParenthensizedExpression.types b/tests/baselines/reference/parsingDeepParenthensizedExpression.types index d88fde50c7be8..5f9591f718091 100644 --- a/tests/baselines/reference/parsingDeepParenthensizedExpression.types +++ b/tests/baselines/reference/parsingDeepParenthensizedExpression.types @@ -101,11 +101,11 @@ function Y(e, t) { > : ^^^^^^ >v = f, (0 | (f = f + 288 | 0)) >= (0 | l) && b(288), T = v, A = t : any >v = f, (0 | (f = f + 288 | 0)) >= (0 | l) && b(288), T = v : error ->v = f, (0 | (f = f + 288 | 0)) >= (0 | l) && b(288) : any +>v = f, (0 | (f = f + 288 | 0)) >= (0 | l) && b(288) : error >v = f : error >v : any >f : error ->(0 | (f = f + 288 | 0)) >= (0 | l) && b(288) : any +>(0 | (f = f + 288 | 0)) >= (0 | l) && b(288) : error >(0 | (f = f + 288 | 0)) >= (0 | l) : boolean > : ^^^^^^^ >(0 | (f = f + 288 | 0)) : number @@ -298,11 +298,11 @@ function Y(e, t) { > : ^^^^^^ >s = f, (0 | (f = f + 32 | 0)) >= (0 | l) && b(32), i = e, a = t : any >s = f, (0 | (f = f + 32 | 0)) >= (0 | l) && b(32), i = e : error ->s = f, (0 | (f = f + 32 | 0)) >= (0 | l) && b(32) : any +>s = f, (0 | (f = f + 32 | 0)) >= (0 | l) && b(32) : error >s = f : error >s : any >f : error ->(0 | (f = f + 32 | 0)) >= (0 | l) && b(32) : any +>(0 | (f = f + 32 | 0)) >= (0 | l) && b(32) : error >(0 | (f = f + 32 | 0)) >= (0 | l) : boolean > : ^^^^^^^ >(0 | (f = f + 32 | 0)) : number diff --git a/tests/baselines/reference/partialDiscriminatedUnionMemberHasGoodError.types b/tests/baselines/reference/partialDiscriminatedUnionMemberHasGoodError.types index b6342ee165f6b..e1ad39ce0b825 100644 --- a/tests/baselines/reference/partialDiscriminatedUnionMemberHasGoodError.types +++ b/tests/baselines/reference/partialDiscriminatedUnionMemberHasGoodError.types @@ -41,11 +41,11 @@ foo.push({ >foo.push({ types: [{ type: "A" }]}) : number > : ^^^^^^ >foo.push : (...items: Wrapper[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^ >foo : Wrapper[] > : ^^^^^^^^^ >push : (...items: Wrapper[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^ >{ types: [{ type: "A" }]} : { types: { type: "A"; }[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/partialOfLargeAPIIsAbleToBeWorkedWith.types b/tests/baselines/reference/partialOfLargeAPIIsAbleToBeWorkedWith.types index 1a8450d960128..28eed6b23ceaa 100644 --- a/tests/baselines/reference/partialOfLargeAPIIsAbleToBeWorkedWith.types +++ b/tests/baselines/reference/partialOfLargeAPIIsAbleToBeWorkedWith.types @@ -335,7 +335,7 @@ for (const k of keys) { >obj[k] = () => "12" : () => string > : ^^^^^^^^^^^^ >obj[k] : (((x: 0) => string) & ((x: 1) => string) & ((x: 2) => string) & ((x: 3) => string) & ((x: 4) => string) & ((x: 5) => string) & ((x: 6) => string) & ((x: 7) => string) & ((x: 8) => string) & ((x: 9) => string) & ((x: 10) => string) & ((x: 11) => string) & ((x: 12) => string) & ((x: 13) => string) & ((x: 14) => string) & ((x: 15) => string) & ((x: 16) => string) & ((x: 17) => string) & ((x: 18) => string) & ((x: 19) => string) & ((x: 20) => string) & ((x: 21) => string) & ((x: 22) => string) & ((x: 23) => string) & ((x: 24) => string) & ((x: 25) => string) & ((x: 26) => string) & ((x: 27) => string) & ((x: 28) => string) & ((x: 29) => string) & ((x: 30) => string) & ((x: 31) => string) & ((x: 32) => string) & ((x: 33) => string) & ((x: 34) => string) & ((x: 35) => string) & ((x: 36) => string) & ((x: 37) => string) & ((x: 38) => string) & ((x: 39) => string) & ((x: 40) => string) & ((x: 41) => string) & ((x: 42) => string) & ((x: 43) => string) & ((x: 44) => string) & ((x: 45) => string) & ((x: 46) => string) & ((x: 47) => string) & ((x: 48) => string) & ((x: 49) => string) & ((x: 50) => string) & ((x: 51) => string)) | undefined -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^ >obj : Partial > : ^^^^^^^^^^^^^^ >k : keyof MyAPI @@ -366,7 +366,7 @@ for (const k of keys) { >obj2[k] = () => "12" : () => string > : ^^^^^^^^^^^^ >obj2[k] : (((x: 0) => string) & ((x: 1) => string) & ((x: 2) => string) & ((x: 3) => string) & ((x: 4) => string) & ((x: 5) => string) & ((x: 6) => string) & ((x: 7) => string) & ((x: 8) => string) & ((x: 9) => string) & ((x: 10) => string) & ((x: 11) => string) & ((x: 12) => string) & ((x: 13) => string) & ((x: 14) => string) & ((x: 15) => string) & ((x: 16) => string) & ((x: 17) => string) & ((x: 18) => string) & ((x: 19) => string) & ((x: 20) => string) & ((x: 21) => string) & ((x: 22) => string) & ((x: 23) => string) & ((x: 24) => string) & ((x: 25) => string) & ((x: 26) => string) & ((x: 27) => string) & ((x: 28) => string) & ((x: 29) => string) & ((x: 30) => string) & ((x: 31) => string) & ((x: 32) => string) & ((x: 33) => string) & ((x: 34) => string) & ((x: 35) => string) & ((x: 36) => string) & ((x: 37) => string) & ((x: 38) => string) & ((x: 39) => string) & ((x: 40) => string) & ((x: 41) => string) & ((x: 42) => string) & ((x: 43) => string) & ((x: 44) => string) & ((x: 45) => string) & ((x: 46) => string) & ((x: 47) => string) & ((x: 48) => string) & ((x: 49) => string) & ((x: 50) => string) & ((x: 51) => string)) | null | undefined -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ >obj2 : PartialNull > : ^^^^^^^^^^^^^^^^^^ >k : keyof MyAPI diff --git a/tests/baselines/reference/partialTypeNarrowedToByTypeGuard.types b/tests/baselines/reference/partialTypeNarrowedToByTypeGuard.types index db0b4f134553c..307008452ed3c 100644 --- a/tests/baselines/reference/partialTypeNarrowedToByTypeGuard.types +++ b/tests/baselines/reference/partialTypeNarrowedToByTypeGuard.types @@ -48,8 +48,8 @@ function getUserName(obj: Obj) { if (isUser(obj)) { >isUser(obj) : boolean > : ^^^^^^^ ->isUser : (obj: Obj) => obj is Partial -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +>isUser : (obj: Obj) => obj is PartialUser +> : ^ ^^ ^^^^^ >obj : Obj > : ^^^ diff --git a/tests/baselines/reference/partiallyAnnotatedFunctionInferenceError.types b/tests/baselines/reference/partiallyAnnotatedFunctionInferenceError.types index a2516242a7805..cca446c5b1fe9 100644 --- a/tests/baselines/reference/partiallyAnnotatedFunctionInferenceError.types +++ b/tests/baselines/reference/partiallyAnnotatedFunctionInferenceError.types @@ -23,7 +23,7 @@ class D extends C { declare function testError(a: (t: T, t1: T) => void): T >testError : (a: (t: T, t1: T) => void) => T -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a : (t: T, t1: T) => void > : ^ ^^ ^^ ^^ ^^^^^ >t : T @@ -36,7 +36,7 @@ testError((t1: D, t2, t3) => {}) >testError((t1: D, t2, t3) => {}) : C > : ^ >testError : (a: (t: T, t1: T) => void) => T -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(t1: D, t2, t3) => {} : (t1: D, t2: any, t3: any) => void > : ^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^ >t1 : D @@ -50,7 +50,7 @@ testError((t1, t2: D, t3) => {}) >testError((t1, t2: D, t3) => {}) : C > : ^ >testError : (a: (t: T, t1: T) => void) => T -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(t1, t2: D, t3) => {} : (t1: any, t2: D, t3: any) => void > : ^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ >t1 : any @@ -64,7 +64,7 @@ testError((t1, t2, t3: D) => {}) >testError((t1, t2, t3: D) => {}) : C > : ^ >testError : (a: (t: T, t1: T) => void) => T -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(t1, t2, t3: D) => {} : (t1: any, t2: any, t3: D) => void > : ^ ^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ >t1 : any diff --git a/tests/baselines/reference/partiallyAnnotatedFunctionInferenceWithTypeParameter.types b/tests/baselines/reference/partiallyAnnotatedFunctionInferenceWithTypeParameter.types index ba1c150a22306..080f03a265b67 100644 --- a/tests/baselines/reference/partiallyAnnotatedFunctionInferenceWithTypeParameter.types +++ b/tests/baselines/reference/partiallyAnnotatedFunctionInferenceWithTypeParameter.types @@ -23,7 +23,7 @@ class D extends C { declare function test(a: (t: T, t1: T) => void): T >test : (a: (t: T, t1: T) => void) => T -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a : (t: T, t1: T) => void > : ^ ^^ ^^ ^^ ^^^^^ >t : T @@ -33,7 +33,7 @@ declare function test(a: (t: T, t1: T) => void): T declare function testRest(a: (t: T, t1: T, ...ts: T[]) => void): T >testRest : (a: (t: T, t1: T, ...ts: T[]) => void) => T -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a : (t: T, t1: T, ...ts: T[]) => void > : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >t : T @@ -49,7 +49,7 @@ test((t1: D, t2) => { t2.test2 }) >test((t1: D, t2) => { t2.test2 }) : D > : ^ >test : (a: (t: T, t1: T) => void) => T -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(t1: D, t2) => { t2.test2 } : (t1: D, t2: D) => void > : ^ ^^ ^^ ^^^^^^^^^^^^ >t1 : D @@ -67,7 +67,7 @@ test((t1, t2: D) => { t2.test2 }) >test((t1, t2: D) => { t2.test2 }) : D > : ^ >test : (a: (t: T, t1: T) => void) => T -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(t1, t2: D) => { t2.test2 } : (t1: D, t2: D) => void > : ^ ^^^^^ ^^ ^^^^^^^^^ >t1 : D @@ -86,7 +86,7 @@ test(() => {}) >test(() => {}) : C > : ^ >test : (a: (t: T, t1: T) => void) => T -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >() => {} : () => void > : ^^^^^^^^^^ @@ -95,7 +95,7 @@ test((t1: D) => {}) >test((t1: D) => {}) : D > : ^ >test : (a: (t: T, t1: T) => void) => T -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(t1: D) => {} : (t1: D) => void > : ^ ^^ ^^^^^^^^^ >t1 : D @@ -106,7 +106,7 @@ test((...ts: D[]) => {}) >test((...ts: D[]) => {}) : D > : ^ >test : (a: (t: T, t1: T) => void) => T -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(...ts: D[]) => {} : (...ts: D[]) => void > : ^^^^ ^^ ^^^^^^^^^ >ts : D[] @@ -117,7 +117,7 @@ testRest((t1: D) => {}) >testRest((t1: D) => {}) : D > : ^ >testRest : (a: (t: T, t1: T, ...ts: T[]) => void) => T -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(t1: D) => {} : (t1: D) => void > : ^ ^^ ^^^^^^^^^ >t1 : D @@ -127,7 +127,7 @@ testRest((t1, t2, t3) => {}) >testRest((t1, t2, t3) => {}) : C > : ^ >testRest : (a: (t: T, t1: T, ...ts: T[]) => void) => T -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(t1, t2, t3) => {} : (t1: C, t2: C, t3: C) => void > : ^ ^^^^^ ^^^^^ ^^^^^^^^^^^^ >t1 : C @@ -141,7 +141,7 @@ testRest((t1: D, t2, t3) => {}) >testRest((t1: D, t2, t3) => {}) : D > : ^ >testRest : (a: (t: T, t1: T, ...ts: T[]) => void) => T -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(t1: D, t2, t3) => {} : (t1: D, t2: D, t3: D) => void > : ^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^ >t1 : D @@ -155,7 +155,7 @@ testRest((t1, t2: D, t3) => {}) >testRest((t1, t2: D, t3) => {}) : D > : ^ >testRest : (a: (t: T, t1: T, ...ts: T[]) => void) => T -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(t1, t2: D, t3) => {} : (t1: D, t2: D, t3: D) => void > : ^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^ >t1 : D @@ -169,7 +169,7 @@ testRest((t2: D, ...t3) => {}) >testRest((t2: D, ...t3) => {}) : D > : ^ >testRest : (a: (t: T, t1: T, ...ts: T[]) => void) => T -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(t2: D, ...t3) => {} : (t2: D, t1: D, ...ts: D[]) => void > : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >t2 : D @@ -181,7 +181,7 @@ testRest((t2, ...t3: D[]) => {}) >testRest((t2, ...t3: D[]) => {}) : C > : ^ >testRest : (a: (t: T, t1: T, ...ts: T[]) => void) => T -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(t2, ...t3: D[]) => {} : (t2: C, ...t3: D[]) => void > : ^ ^^^^^^^^ ^^ ^^^^^^^^^ >t2 : C diff --git a/tests/baselines/reference/partiallyAnnotatedFunctionWitoutTypeParameter.types b/tests/baselines/reference/partiallyAnnotatedFunctionWitoutTypeParameter.types index 07c1c8ca9904a..f2d20ac261416 100644 --- a/tests/baselines/reference/partiallyAnnotatedFunctionWitoutTypeParameter.types +++ b/tests/baselines/reference/partiallyAnnotatedFunctionWitoutTypeParameter.types @@ -16,7 +16,7 @@ simple((a: number, b) => {}) >simple((a: number, b) => {}) : {} > : ^^ >simple : (f: (a: number, b: number) => void) => {} -> : ^ ^^ ^^^^^^^ +> : ^ ^^ ^^^^^ >(a: number, b) => {} : (a: number, b: number) => void > : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^ >a : number @@ -28,7 +28,7 @@ simple((a, b: number) => {}) >simple((a, b: number) => {}) : {} > : ^^ >simple : (f: (a: number, b: number) => void) => {} -> : ^ ^^ ^^^^^^^ +> : ^ ^^ ^^^^^ >(a, b: number) => {} : (a: number, b: number) => void > : ^ ^^^^^^^^^^ ^^ ^^^^^^^^^ >a : number diff --git a/tests/baselines/reference/partiallyDiscriminantedUnions.types b/tests/baselines/reference/partiallyDiscriminantedUnions.types index 9d0405c7075ed..cdead438ff1f2 100644 --- a/tests/baselines/reference/partiallyDiscriminantedUnions.types +++ b/tests/baselines/reference/partiallyDiscriminantedUnions.types @@ -113,11 +113,11 @@ function isShape(s : Shapes): s is Shape { >Array.isArray(s) : boolean > : ^^^^^^^ >Array.isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >s : Shapes > : ^^^^^^ } @@ -132,7 +132,7 @@ function fail(s: Shapes) { >isShape(s) : boolean > : ^^^^^^^ >isShape : (s: Shapes) => s is Shape -> : ^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >s : Shapes > : ^^^^^^ diff --git a/tests/baselines/reference/partiallyNamedTuples.types b/tests/baselines/reference/partiallyNamedTuples.types index e69f35ab3a28d..7ae1941bb52cf 100644 --- a/tests/baselines/reference/partiallyNamedTuples.types +++ b/tests/baselines/reference/partiallyNamedTuples.types @@ -119,7 +119,7 @@ type AddMixedConditionalNumberPrimitive = AddMixedConditional; declare function test( >test : (arg: [...{ [K in keyof T]: { type: T[K]; }; }]) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ arg: [ >arg : [...{ [K in keyof T]: { type: T[K]; }; }] @@ -150,7 +150,7 @@ const output = test(input); >test(input) : [first: number, string] > : ^^^^^^^^^^^^^^^^^^^^^^^ >test : (arg: [...{ [K in keyof T]: { type: T[K]; }; }]) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >input : [first: { type: number; }, { type: string; }] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^ diff --git a/tests/baselines/reference/partiallyNamedTuples2.types b/tests/baselines/reference/partiallyNamedTuples2.types index 479f55bfe129f..e651a06bebac4 100644 --- a/tests/baselines/reference/partiallyNamedTuples2.types +++ b/tests/baselines/reference/partiallyNamedTuples2.types @@ -5,7 +5,7 @@ interface MultiKeyMap { get>(...key: Key): GetResult; >get : >(...key: Key) => GetResult -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >key : Key > : ^^^ } @@ -50,11 +50,11 @@ const matches = x.get(id1); >x.get(id1) : Iterable<[id2: string, object]> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x.get : (...key: Key) => GetResult<[id1: string, id2: string], Key, object> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >x : MultiKeyMap<[id1: string, id2: string], object> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >get : (...key: Key) => GetResult<[id1: string, id2: string], Key, object> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >id1 : string > : ^^^^^^ diff --git a/tests/baselines/reference/pathMappingBasedModuleResolution3_classic.types b/tests/baselines/reference/pathMappingBasedModuleResolution3_classic.types index db698849af9ca..9dd70eaa6a659 100644 --- a/tests/baselines/reference/pathMappingBasedModuleResolution3_classic.types +++ b/tests/baselines/reference/pathMappingBasedModuleResolution3_classic.types @@ -14,15 +14,15 @@ use(x.toExponential()); >use(x.toExponential()) : void > : ^^^^ >use : (a: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x.toExponential() : string > : ^^^^^^ >x.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ === c:/root/folder2/file2.ts === import {x as a} from "./file3" // found with baseurl diff --git a/tests/baselines/reference/pathMappingBasedModuleResolution3_node.types b/tests/baselines/reference/pathMappingBasedModuleResolution3_node.types index 529763b7eef7b..33456a972a9db 100644 --- a/tests/baselines/reference/pathMappingBasedModuleResolution3_node.types +++ b/tests/baselines/reference/pathMappingBasedModuleResolution3_node.types @@ -14,15 +14,15 @@ use(x.toExponential()); >use(x.toExponential()) : void > : ^^^^ >use : (a: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x.toExponential() : string > : ^^^^^^ >x.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ === c:/root/folder2/file2.ts === import {x as a} from "./file3" // found with baseurl diff --git a/tests/baselines/reference/pathMappingBasedModuleResolution4_classic.types b/tests/baselines/reference/pathMappingBasedModuleResolution4_classic.types index b4a2227055038..48feb81a3a3ef 100644 --- a/tests/baselines/reference/pathMappingBasedModuleResolution4_classic.types +++ b/tests/baselines/reference/pathMappingBasedModuleResolution4_classic.types @@ -14,15 +14,15 @@ use(x.toExponential()); >use(x.toExponential()) : void > : ^^^^ >use : (a: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x.toExponential() : string > : ^^^^^^ >x.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ === c:/root/folder2/file2.ts === import {x as a} from "./file3" // found with baseurl diff --git a/tests/baselines/reference/pathMappingBasedModuleResolution4_node.types b/tests/baselines/reference/pathMappingBasedModuleResolution4_node.types index aac0cf18449b3..ca6e3d690b0e2 100644 --- a/tests/baselines/reference/pathMappingBasedModuleResolution4_node.types +++ b/tests/baselines/reference/pathMappingBasedModuleResolution4_node.types @@ -14,15 +14,15 @@ use(x.toExponential()); >use(x.toExponential()) : void > : ^^^^ >use : (a: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x.toExponential() : string > : ^^^^^^ >x.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ === c:/root/folder2/file2.ts === import {x as a} from "./file3" // found with baseurl diff --git a/tests/baselines/reference/pathMappingBasedModuleResolution5_classic.types b/tests/baselines/reference/pathMappingBasedModuleResolution5_classic.types index 64a019f7f36a2..e9296ecf3f3d9 100644 --- a/tests/baselines/reference/pathMappingBasedModuleResolution5_classic.types +++ b/tests/baselines/reference/pathMappingBasedModuleResolution5_classic.types @@ -26,57 +26,57 @@ use(x.toExponential()); >use(x.toExponential()) : void > : ^^^^ >use : (a: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x.toExponential() : string > : ^^^^^^ >x.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ use(y.toExponential()); >use(y.toExponential()) : void > : ^^^^ >use : (a: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >y.toExponential() : string > : ^^^^^^ >y.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >y : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ use(z.toExponential()); >use(z.toExponential()) : void > : ^^^^ >use : (a: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >z.toExponential() : string > : ^^^^^^ >z.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >z : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ use(z1.toExponential()); >use(z1.toExponential()) : void > : ^^^^ >use : (a: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >z1.toExponential() : string > : ^^^^^^ >z1.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >z1 : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ === c:/root/folder2/file1.ts === export var x = 1; diff --git a/tests/baselines/reference/pathMappingBasedModuleResolution5_node.types b/tests/baselines/reference/pathMappingBasedModuleResolution5_node.types index b6ab42a4d1434..ce53f71e8d777 100644 --- a/tests/baselines/reference/pathMappingBasedModuleResolution5_node.types +++ b/tests/baselines/reference/pathMappingBasedModuleResolution5_node.types @@ -26,57 +26,57 @@ use(x.toExponential()); >use(x.toExponential()) : void > : ^^^^ >use : (a: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x.toExponential() : string > : ^^^^^^ >x.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ use(y.toExponential()); >use(y.toExponential()) : void > : ^^^^ >use : (a: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >y.toExponential() : string > : ^^^^^^ >y.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >y : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ use(z.toExponential()); >use(z.toExponential()) : void > : ^^^^ >use : (a: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >z.toExponential() : string > : ^^^^^^ >z.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >z : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ use(z1.toExponential()); >use(z1.toExponential()) : void > : ^^^^ >use : (a: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >z1.toExponential() : string > : ^^^^^^ >z1.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >z1 : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ === c:/root/folder2/file1.ts === export var x = 1; diff --git a/tests/baselines/reference/pathMappingBasedModuleResolution6_classic.types b/tests/baselines/reference/pathMappingBasedModuleResolution6_classic.types index 99ed3b841a091..2bdb131bb68b1 100644 --- a/tests/baselines/reference/pathMappingBasedModuleResolution6_classic.types +++ b/tests/baselines/reference/pathMappingBasedModuleResolution6_classic.types @@ -18,11 +18,11 @@ use(x.toExponential()); >x.toExponential() : string > : ^^^^^^ >x.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ === c:/root/src/file2.d.ts === export let x: number; diff --git a/tests/baselines/reference/pathMappingBasedModuleResolution6_node.types b/tests/baselines/reference/pathMappingBasedModuleResolution6_node.types index bed1b2ff4c0da..fd0f62016f117 100644 --- a/tests/baselines/reference/pathMappingBasedModuleResolution6_node.types +++ b/tests/baselines/reference/pathMappingBasedModuleResolution6_node.types @@ -18,11 +18,11 @@ use(x.toFixed()); >x.toFixed() : string > : ^^^^^^ >x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ === c:/root/src/file2/index.d.ts === export let x: number; diff --git a/tests/baselines/reference/pathMappingBasedModuleResolution7_classic.types b/tests/baselines/reference/pathMappingBasedModuleResolution7_classic.types index 41084523e6792..fa6254e61aafb 100644 --- a/tests/baselines/reference/pathMappingBasedModuleResolution7_classic.types +++ b/tests/baselines/reference/pathMappingBasedModuleResolution7_classic.types @@ -22,11 +22,11 @@ use(x.toFixed()); >x.toFixed() : string > : ^^^^^^ >x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ use(y.toFixed()); >use(y.toFixed()) : any @@ -35,11 +35,11 @@ use(y.toFixed()); >y.toFixed() : string > : ^^^^^^ >y.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >y : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ === c:/root/src/file3.d.ts === export let x: number; diff --git a/tests/baselines/reference/pathMappingBasedModuleResolution7_node.types b/tests/baselines/reference/pathMappingBasedModuleResolution7_node.types index edf1be4243b98..476d6bc06ae38 100644 --- a/tests/baselines/reference/pathMappingBasedModuleResolution7_node.types +++ b/tests/baselines/reference/pathMappingBasedModuleResolution7_node.types @@ -22,11 +22,11 @@ use(x.toFixed()); >x.toFixed() : string > : ^^^^^^ >x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ use(y.toFixed()); >use(y.toFixed()) : any @@ -35,11 +35,11 @@ use(y.toFixed()); >y.toFixed() : string > : ^^^^^^ >y.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >y : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ === c:/root/src/file3/index.d.ts === export let x: number; diff --git a/tests/baselines/reference/performanceComparisonOfStructurallyIdenticalInterfacesWithGenericSignatures.types b/tests/baselines/reference/performanceComparisonOfStructurallyIdenticalInterfacesWithGenericSignatures.types index 6f41ce8af72c7..c3cee6bbd921f 100644 --- a/tests/baselines/reference/performanceComparisonOfStructurallyIdenticalInterfacesWithGenericSignatures.types +++ b/tests/baselines/reference/performanceComparisonOfStructurallyIdenticalInterfacesWithGenericSignatures.types @@ -30,47 +30,47 @@ export interface InterfaceA { await>(): InterfaceA; >await : >() => InterfaceA -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ awaitLatest>(): InterfaceA; >awaitLatest : >() => InterfaceA -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ awaitOrdered>(): InterfaceA; >awaitOrdered : >() => InterfaceA -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ awaitOrdered2>(): InterfaceA; >awaitOrdered2 : >() => InterfaceA -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ awaitOrdered3>(): InterfaceA; >awaitOrdered3 : >() => InterfaceA -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ awaitOrdered4>(): InterfaceA; >awaitOrdered4 : >() => InterfaceA -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ awaitOrdered5>(): InterfaceA; >awaitOrdered5 : >() => InterfaceA -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ awaitOrdered6>(): InterfaceA; >awaitOrdered6 : >() => InterfaceA -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ awaitOrdered7>(): InterfaceA; >awaitOrdered7 : >() => InterfaceA -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ awaitOrdered8>(): InterfaceA; >awaitOrdered8 : >() => InterfaceA -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ awaitOrdered9>(): InterfaceA; >awaitOrdered9 : >() => InterfaceA -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ } export interface InterfaceB extends InterfaceA { @@ -84,47 +84,47 @@ export interface InterfaceB extends InterfaceA { await>(): InterfaceB; >await : >() => InterfaceB -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ awaitLatest>(): InterfaceB; >awaitLatest : >() => InterfaceB -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ awaitOrdered>(): InterfaceB; >awaitOrdered : >() => InterfaceB -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ awaitOrdered2>(): InterfaceB; >awaitOrdered2 : >() => InterfaceB -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ awaitOrdered3>(): InterfaceB; >awaitOrdered3 : >() => InterfaceB -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ awaitOrdered4>(): InterfaceB; >awaitOrdered4 : >() => InterfaceB -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ awaitOrdered5>(): InterfaceB; >awaitOrdered5 : >() => InterfaceB -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ awaitOrdered6>(): InterfaceB; >awaitOrdered6 : >() => InterfaceB -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ awaitOrdered7>(): InterfaceB; >awaitOrdered7 : >() => InterfaceB -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ awaitOrdered8>(): InterfaceB; >awaitOrdered8 : >() => InterfaceB -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ awaitOrdered9>(): InterfaceB; >awaitOrdered9 : >() => InterfaceB -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ } export class A implements InterfaceB { @@ -163,7 +163,7 @@ export class A implements InterfaceB { public await>(): B { >await : >() => B -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ return undefined as any; >undefined as any : any @@ -173,7 +173,7 @@ export class A implements InterfaceB { public awaitOrdered>(): B { >awaitOrdered : >() => B -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ return undefined as any; >undefined as any : any @@ -183,7 +183,7 @@ export class A implements InterfaceB { public awaitOrdered2>(): B { >awaitOrdered2 : >() => B -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ return undefined as any; >undefined as any : any @@ -193,7 +193,7 @@ export class A implements InterfaceB { public awaitOrdered3>(): B { >awaitOrdered3 : >() => B -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ return undefined as any; >undefined as any : any @@ -203,7 +203,7 @@ export class A implements InterfaceB { public awaitOrdered4>(): B { >awaitOrdered4 : >() => B -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ return undefined as any; >undefined as any : any @@ -213,7 +213,7 @@ export class A implements InterfaceB { public awaitOrdered5>(): B { >awaitOrdered5 : >() => B -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ return undefined as any; >undefined as any : any @@ -223,7 +223,7 @@ export class A implements InterfaceB { public awaitOrdered6>(): B { >awaitOrdered6 : >() => B -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ return undefined as any; >undefined as any : any @@ -233,7 +233,7 @@ export class A implements InterfaceB { public awaitOrdered7>(): B { >awaitOrdered7 : >() => B -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ return undefined as any; >undefined as any : any @@ -243,7 +243,7 @@ export class A implements InterfaceB { public awaitOrdered8>(): B { >awaitOrdered8 : >() => B -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ return undefined as any; >undefined as any : any @@ -253,7 +253,7 @@ export class A implements InterfaceB { public awaitOrdered9>(): B { >awaitOrdered9 : >() => B -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ return undefined as any; >undefined as any : any @@ -263,7 +263,7 @@ export class A implements InterfaceB { public awaitLatest>(): B { >awaitLatest : >() => B -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ return undefined as any; >undefined as any : any diff --git a/tests/baselines/reference/plainJSGrammarErrors.types b/tests/baselines/reference/plainJSGrammarErrors.types index 0c8648a0f6d58..468fbb05e5610 100644 --- a/tests/baselines/reference/plainJSGrammarErrors.types +++ b/tests/baselines/reference/plainJSGrammarErrors.types @@ -56,11 +56,11 @@ class C { >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : number > : ^^^^^^ } @@ -478,11 +478,11 @@ const o = { >console.log('oh no') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'oh no' : "oh no" > : ^^^^^^^ >2 : 2 @@ -611,11 +611,11 @@ for (async of l) { >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : number > : ^^^^^^ } @@ -637,11 +637,11 @@ for (const cantHaveInit = 1 of [1,2,3]) { >console.log(cantHaveInit) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >cantHaveInit : number > : ^^^^^^ } @@ -663,11 +663,11 @@ for (const cantHaveInit = 1 in [1,2,3]) { >console.log(cantHaveInit) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >cantHaveInit : string > : ^^^^^^ } @@ -689,11 +689,11 @@ for (let y, x of [1,2,3]) { >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : number > : ^^^^^^ } @@ -715,11 +715,11 @@ for (let y, x in [1,2,3]) { >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : string > : ^^^^^^ } @@ -741,11 +741,11 @@ switch (b) { >console.log('no') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'no' : "no" > : ^^^^ @@ -754,11 +754,11 @@ switch (b) { >console.log('yes') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'yes' : "yes" > : ^^^^^ @@ -767,11 +767,11 @@ switch (b) { >console.log('wat') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'wat' : "wat" > : ^^^^^ } @@ -794,11 +794,11 @@ catch (e) { >console.log(e) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >e : 1 > : ^ } diff --git a/tests/baselines/reference/plainJSRedeclare.types b/tests/baselines/reference/plainJSRedeclare.types index 6c7fa4846ca42..b50efebdbf0a3 100644 --- a/tests/baselines/reference/plainJSRedeclare.types +++ b/tests/baselines/reference/plainJSRedeclare.types @@ -21,9 +21,9 @@ orbitol.toExponential() >orbitol.toExponential() : string > : ^^^^^^ >orbitol.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >orbitol : 1 > : ^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/plainJSRedeclare2.types b/tests/baselines/reference/plainJSRedeclare2.types index a088f8a2ba82f..33683419bb2f9 100644 --- a/tests/baselines/reference/plainJSRedeclare2.types +++ b/tests/baselines/reference/plainJSRedeclare2.types @@ -21,9 +21,9 @@ orbitol.toExponential() >orbitol.toExponential() : string > : ^^^^^^ >orbitol.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >orbitol : 1 > : ^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/plainJSRedeclare3.types b/tests/baselines/reference/plainJSRedeclare3.types index d620c4451124c..1632cc0c47462 100644 --- a/tests/baselines/reference/plainJSRedeclare3.types +++ b/tests/baselines/reference/plainJSRedeclare3.types @@ -19,9 +19,9 @@ orbitol.toExponential() >orbitol.toExponential() : string > : ^^^^^^ >orbitol.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >orbitol : 1 > : ^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/plusOperatorWithAnyOtherType.types b/tests/baselines/reference/plusOperatorWithAnyOtherType.types index dbe941dca87b6..1f19877f8bc0f 100644 --- a/tests/baselines/reference/plusOperatorWithAnyOtherType.types +++ b/tests/baselines/reference/plusOperatorWithAnyOtherType.types @@ -131,7 +131,7 @@ var ResultIsNumber5 = +obj; >+obj : number > : ^^^^^^ >obj : () => {} -> : ^^^^^^^^ +> : ^^^^^^ var ResultIsNumber6 = +obj1; >ResultIsNumber6 : number @@ -225,7 +225,7 @@ var ResultIsNumber14 = +foo(); >foo() : any > : ^^^ >foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber15 = +A.foo(); >ResultIsNumber15 : number diff --git a/tests/baselines/reference/plusOperatorWithBooleanType.types b/tests/baselines/reference/plusOperatorWithBooleanType.types index aa06cc22ac457..160423172a396 100644 --- a/tests/baselines/reference/plusOperatorWithBooleanType.types +++ b/tests/baselines/reference/plusOperatorWithBooleanType.types @@ -110,7 +110,7 @@ var ResultIsNumber6 = +foo(); >foo() : boolean > : ^^^^^^^ >foo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber7 = +A.foo(); >ResultIsNumber7 : number @@ -145,7 +145,7 @@ var ResultIsNumber7 = +A.foo(); >foo() : boolean > : ^^^^^^^ >foo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ +true, false; >+true, false : false diff --git a/tests/baselines/reference/plusOperatorWithNumberType.types b/tests/baselines/reference/plusOperatorWithNumberType.types index 8583f2a6f59a1..57ec667d52bb0 100644 --- a/tests/baselines/reference/plusOperatorWithNumberType.types +++ b/tests/baselines/reference/plusOperatorWithNumberType.types @@ -160,7 +160,7 @@ var ResultIsNumber9 = +foo(); >foo() : number > : ^^^^^^ >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber10 = +A.foo(); >ResultIsNumber10 : number @@ -215,7 +215,7 @@ var ResultIsNumber11 = +(NUMBER + NUMBER); >foo() : number > : ^^^^^^ >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ +objA.a; >+objA.a : number diff --git a/tests/baselines/reference/plusOperatorWithStringType.types b/tests/baselines/reference/plusOperatorWithStringType.types index 3092346424590..ec3d7429ee416 100644 --- a/tests/baselines/reference/plusOperatorWithStringType.types +++ b/tests/baselines/reference/plusOperatorWithStringType.types @@ -160,7 +160,7 @@ var ResultIsNumber9 = +foo(); >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber10 = +A.foo(); >ResultIsNumber10 : number @@ -198,11 +198,11 @@ var ResultIsNumber12 = +STRING.charAt(0); >STRING.charAt(0) : string > : ^^^^^^ >STRING.charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >STRING : string > : ^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ @@ -231,7 +231,7 @@ var ResultIsNumber12 = +STRING.charAt(0); >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ +objA.a,M.n; >+objA.a,M.n : string diff --git a/tests/baselines/reference/potentiallyUnassignedVariableInCatch.types b/tests/baselines/reference/potentiallyUnassignedVariableInCatch.types index 1362dbbadeaf7..6922dfa8d47a8 100644 --- a/tests/baselines/reference/potentiallyUnassignedVariableInCatch.types +++ b/tests/baselines/reference/potentiallyUnassignedVariableInCatch.types @@ -11,11 +11,11 @@ try { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ diff --git a/tests/baselines/reference/potentiallyUncalledDecorators.types b/tests/baselines/reference/potentiallyUncalledDecorators.types index 9e57c0f429e92..81a90410ff6b9 100644 --- a/tests/baselines/reference/potentiallyUncalledDecorators.types +++ b/tests/baselines/reference/potentiallyUncalledDecorators.types @@ -14,7 +14,7 @@ class FooComponent { @Input foo: string; >Input : (bindingPropertyName?: string) => any -> : ^ ^^^ ^^^^^^^^ +> : ^ ^^^ ^^^^^ >foo : string > : ^^^^^^ } @@ -32,7 +32,7 @@ class Person { @tracked person; any; >tracked : PropertyDecorator & ((...watchedProperties: string[]) => any) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^ >person : any > : ^^^ >any : any @@ -51,7 +51,7 @@ class MultiplyByTwo { >tracked('args') : any > : ^^^ >tracked : PropertyDecorator & ((...watchedProperties: string[]) => any) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^ >'args' : "args" > : ^^^^^^ @@ -130,7 +130,7 @@ declare const anyDec: any; @noArgs >noArgs : () => OmniDecorator -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ class A { >A : A @@ -138,20 +138,20 @@ class A { @noArgs foo: any; >noArgs : () => OmniDecorator -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >foo : any > : ^^^ @noArgs bar() { } >noArgs : () => OmniDecorator -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >bar : () => void > : ^^^^^^^^^^ } @allRest >allRest : (...args: any[]) => OmniDecorator -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ class B { >B : B @@ -159,20 +159,20 @@ class B { @allRest foo: any; >allRest : (...args: any[]) => OmniDecorator -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >foo : any > : ^^^ @allRest bar() { } >allRest : (...args: any[]) => OmniDecorator -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >bar : () => void > : ^^^^^^^^^^ } @oneOptional >oneOptional : (x?: any) => OmniDecorator -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ class C { >C : C @@ -180,20 +180,20 @@ class C { @oneOptional foo: any; >oneOptional : (x?: any) => OmniDecorator -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >foo : any > : ^^^ @oneOptional bar() { } >oneOptional : (x?: any) => OmniDecorator -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >bar : () => void > : ^^^^^^^^^^ } @twoOptional >twoOptional : (x?: any, y?: any) => OmniDecorator -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ class D { >D : D @@ -201,20 +201,20 @@ class D { @twoOptional foo: any; >twoOptional : (x?: any, y?: any) => OmniDecorator -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >foo : any > : ^^^ @twoOptional bar() { } >twoOptional : (x?: any, y?: any) => OmniDecorator -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >bar : () => void > : ^^^^^^^^^^ } @threeOptional >threeOptional : (x?: any, y?: any, z?: any) => OmniDecorator -> : ^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ class E { >E : E @@ -222,20 +222,20 @@ class E { @threeOptional foo: any; >threeOptional : (x?: any, y?: any, z?: any) => OmniDecorator -> : ^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >foo : any > : ^^^ @threeOptional bar() { } >threeOptional : (x?: any, y?: any, z?: any) => OmniDecorator -> : ^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >bar : () => void > : ^^^^^^^^^^ } @oneOptionalWithRest >oneOptionalWithRest : (x?: any, ...args: any[]) => OmniDecorator -> : ^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^^^^ class F { >F : F @@ -243,13 +243,13 @@ class F { @oneOptionalWithRest foo: any; >oneOptionalWithRest : (x?: any, ...args: any[]) => OmniDecorator -> : ^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^^^^ >foo : any > : ^^^ @oneOptionalWithRest bar() { } >oneOptionalWithRest : (x?: any, ...args: any[]) => OmniDecorator -> : ^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^^^^ >bar : () => void > : ^^^^^^^^^^ } diff --git a/tests/baselines/reference/primitiveConstraints1.types b/tests/baselines/reference/primitiveConstraints1.types index 1ae1477394997..2759a2ea0e4c7 100644 --- a/tests/baselines/reference/primitiveConstraints1.types +++ b/tests/baselines/reference/primitiveConstraints1.types @@ -3,7 +3,7 @@ === primitiveConstraints1.ts === function foo1(t: T, u: U) { } >foo1 : (t: T, u: U) => void -> : ^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >t : T > : ^ >u : U @@ -13,7 +13,7 @@ foo1('hm', 1); // no error >foo1('hm', 1) : void > : ^^^^ >foo1 : (t: T, u: U) => void -> : ^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >'hm' : "hm" > : ^^^^ >1 : 1 @@ -21,7 +21,7 @@ foo1('hm', 1); // no error function foo2(t: T, u: U) { } >foo2 : (t: T, u: U) => void -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >t : T > : ^ >u : U @@ -31,7 +31,7 @@ foo2(1, 'hm'); // error >foo2(1, 'hm') : void > : ^^^^ >foo2 : (t: T, u: U) => void -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >1 : 1 > : ^ >'hm' : "hm" diff --git a/tests/baselines/reference/primitiveConstraints2.types b/tests/baselines/reference/primitiveConstraints2.types index 12a328ce088a3..a07c4848c5301 100644 --- a/tests/baselines/reference/primitiveConstraints2.types +++ b/tests/baselines/reference/primitiveConstraints2.types @@ -7,7 +7,7 @@ class C { public bar2(x: T, y: U): T { >bar2 : (x: T, y: U) => T -> : ^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T > : ^ >y : U diff --git a/tests/baselines/reference/primitiveMembers.types b/tests/baselines/reference/primitiveMembers.types index 8dafa9ba7c292..bd2f700c7279d 100644 --- a/tests/baselines/reference/primitiveMembers.types +++ b/tests/baselines/reference/primitiveMembers.types @@ -35,11 +35,11 @@ x.toString(); >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var n = 0; >n : number diff --git a/tests/baselines/reference/primitiveUnionDetection.types b/tests/baselines/reference/primitiveUnionDetection.types index b35655ff6877e..7619f8e94f5ce 100644 --- a/tests/baselines/reference/primitiveUnionDetection.types +++ b/tests/baselines/reference/primitiveUnionDetection.types @@ -9,7 +9,7 @@ type Kind = "one" | "two" | "three"; declare function getInterfaceFromString(options?: { type?: T } & { type?: Kind }): T; >getInterfaceFromString : (options?: { type?: T; } & { type?: Kind; }) => T -> : ^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^ ^^^^^ >options : ({ type?: T; } & { type?: Kind; }) | undefined > : ^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ >type : T | undefined @@ -23,7 +23,7 @@ const result = getInterfaceFromString({ type: 'two' }); >getInterfaceFromString({ type: 'two' }) : "two" > : ^^^^^ >getInterfaceFromString : (options?: { type?: T; } & { type?: Kind; }) => T -> : ^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^ ^^^^^ >{ type: 'two' } : { type: "two"; } > : ^^^^^^^^^^^^^^^^ >type : "two" diff --git a/tests/baselines/reference/privacyCheckAnonymousFunctionParameter.types b/tests/baselines/reference/privacyCheckAnonymousFunctionParameter.types index 63ba640440529..121e9703964c8 100644 --- a/tests/baselines/reference/privacyCheckAnonymousFunctionParameter.types +++ b/tests/baselines/reference/privacyCheckAnonymousFunctionParameter.types @@ -33,7 +33,7 @@ module Query { >fromDoWhile(test => { return true; }) : Iterator > : ^^^^^^^^^^^^^^^^^ >fromDoWhile : (doWhile: (test: Iterator) => boolean) => Iterator -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >test => { return true; } : (test: Iterator) => true > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >test : Iterator diff --git a/tests/baselines/reference/privacyCheckAnonymousFunctionParameter2.types b/tests/baselines/reference/privacyCheckAnonymousFunctionParameter2.types index 15f089a7cebe0..015287208343b 100644 --- a/tests/baselines/reference/privacyCheckAnonymousFunctionParameter2.types +++ b/tests/baselines/reference/privacyCheckAnonymousFunctionParameter2.types @@ -25,7 +25,7 @@ module Q { return x; >x : (a: Iterator) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ } } @@ -39,8 +39,8 @@ module Q { foo(null); >foo(null) : (a: Iterator) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (x: (a: Iterator) => number) => (a: Iterator) => number -> : ^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^ ^^ ^^^^^ } } diff --git a/tests/baselines/reference/privacyImportParseErrors.types b/tests/baselines/reference/privacyImportParseErrors.types index 6e2f15b99bac9..b7365ddb1c871 100644 --- a/tests/baselines/reference/privacyImportParseErrors.types +++ b/tests/baselines/reference/privacyImportParseErrors.types @@ -1542,7 +1542,7 @@ export declare module "use_glo_M1_public" { export var use_glo_M2_public_v1_public: { new (): use_glo_M2_public.c1; }; >use_glo_M2_public_v1_public : new () => use_glo_M2_public.c1 -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >use_glo_M2_public : any > : ^^^ @@ -1552,13 +1552,13 @@ export declare module "use_glo_M1_public" { export var use_glo_M2_public_v3_public: () => use_glo_M2_public.c1; >use_glo_M2_public_v3_public : () => use_glo_M2_public.c1 -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >use_glo_M2_public : any > : ^^^ var use_glo_M2_public_v1_private: { new (): use_glo_M2_public.c1; }; >use_glo_M2_public_v1_private : new () => use_glo_M2_public.c1 -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >use_glo_M2_public : any > : ^^^ @@ -1568,7 +1568,7 @@ export declare module "use_glo_M1_public" { var use_glo_M2_public_v3_private: () => use_glo_M2_public.c1; >use_glo_M2_public_v3_private : () => use_glo_M2_public.c1 -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >use_glo_M2_public : any > : ^^^ @@ -1646,7 +1646,7 @@ declare module "use_glo_M3_private" { export var use_glo_M4_private_v1_public: { new (): use_glo_M4_private.c1; }; >use_glo_M4_private_v1_public : new () => use_glo_M4_private.c1 -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >use_glo_M4_private : any > : ^^^ @@ -1656,13 +1656,13 @@ declare module "use_glo_M3_private" { export var use_glo_M4_private_v3_public: () => use_glo_M4_private.c1; >use_glo_M4_private_v3_public : () => use_glo_M4_private.c1 -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >use_glo_M4_private : any > : ^^^ var use_glo_M4_private_v1_private: { new (): use_glo_M4_private.c1; }; >use_glo_M4_private_v1_private : new () => use_glo_M4_private.c1 -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >use_glo_M4_private : any > : ^^^ @@ -1672,7 +1672,7 @@ declare module "use_glo_M3_private" { var use_glo_M4_private_v3_private: () => use_glo_M4_private.c1; >use_glo_M4_private_v3_private : () => use_glo_M4_private.c1 -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >use_glo_M4_private : any > : ^^^ diff --git a/tests/baselines/reference/privacyTypeParameterOfFunction.types b/tests/baselines/reference/privacyTypeParameterOfFunction.types index 601a8ea6ae295..2e9eac9072533 100644 --- a/tests/baselines/reference/privacyTypeParameterOfFunction.types +++ b/tests/baselines/reference/privacyTypeParameterOfFunction.types @@ -21,7 +21,7 @@ export interface publicInterfaceWithPrivateTypeParameters { // TypeParameter_0_of_method_from_exported_interface_has_or_is_using_private_type_1 myMethod(): privateClass; >myMethod : () => privateClass -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^ } export interface publicInterfaceWithPublicTypeParameters { @@ -29,7 +29,7 @@ export interface publicInterfaceWithPublicTypeParameters { (): publicClass; myMethod(): publicClass; >myMethod : () => publicClass -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^ } interface privateInterfaceWithPrivateTypeParameters { @@ -37,7 +37,7 @@ interface privateInterfaceWithPrivateTypeParameters { (): privateClass; myMethod(): privateClass; >myMethod : () => privateClass -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^ } interface privateInterfaceWithPublicTypeParameters { @@ -45,7 +45,7 @@ interface privateInterfaceWithPublicTypeParameters { (): publicClass; myMethod(): publicClass; >myMethod : () => publicClass -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^ } export class publicClassWithWithPrivateTypeParameters { @@ -55,20 +55,20 @@ export class publicClassWithWithPrivateTypeParameters { // TypeParameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_type_1 static myPublicStaticMethod() { >myPublicStaticMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } private static myPrivateStaticMethod() { // No error >myPrivateStaticMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } // TypeParameter_0_of_public_method_from_exported_class_has_or_is_using_private_type_1 myPublicMethod() { >myPublicMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } private myPrivateMethod() { // No error >myPrivateMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } } @@ -78,19 +78,19 @@ export class publicClassWithWithPublicTypeParameters { static myPublicStaticMethod() { >myPublicStaticMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } private static myPrivateStaticMethod() { >myPrivateStaticMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } myPublicMethod() { >myPublicMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } private myPrivateMethod() { >myPrivateMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } } @@ -100,19 +100,19 @@ class privateClassWithWithPrivateTypeParameters { static myPublicStaticMethod() { >myPublicStaticMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } private static myPrivateStaticMethod() { // No error >myPrivateStaticMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } myPublicMethod() { >myPublicMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } private myPrivateMethod() { // No error >myPrivateMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } } @@ -122,41 +122,41 @@ class privateClassWithWithPublicTypeParameters { static myPublicStaticMethod() { >myPublicStaticMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } private static myPrivateStaticMethod() { >myPrivateStaticMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } myPublicMethod() { >myPublicMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } private myPrivateMethod() { >myPrivateMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } } // TypeParameter_0_of_exported_function_has_or_is_using_private_type_1 export function publicFunctionWithPrivateTypeParameters() { >publicFunctionWithPrivateTypeParameters : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } export function publicFunctionWithPublicTypeParameters() { >publicFunctionWithPublicTypeParameters : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } function privateFunctionWithPrivateTypeParameters() { >privateFunctionWithPrivateTypeParameters : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } function privateFunctionWithPublicTypeParameters() { >privateFunctionWithPublicTypeParameters : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } export interface publicInterfaceWithPublicTypeParametersWithoutExtends { diff --git a/tests/baselines/reference/privacyTypeParameterOfFunctionDeclFile.types b/tests/baselines/reference/privacyTypeParameterOfFunctionDeclFile.types index bd92ea08beeda..10b5290ba7aec 100644 --- a/tests/baselines/reference/privacyTypeParameterOfFunctionDeclFile.types +++ b/tests/baselines/reference/privacyTypeParameterOfFunctionDeclFile.types @@ -16,7 +16,7 @@ export interface publicInterfaceWithPrivateTypeParameters { (): privateClass; // Error myMethod(): privateClass; // Error >myMethod : () => privateClass -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^ } export interface publicInterfaceWithPublicTypeParameters { @@ -24,7 +24,7 @@ export interface publicInterfaceWithPublicTypeParameters { (): publicClass; myMethod(): publicClass; >myMethod : () => publicClass -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^ } interface privateInterfaceWithPrivateTypeParameters { @@ -32,7 +32,7 @@ interface privateInterfaceWithPrivateTypeParameters { (): privateClass; myMethod(): privateClass; >myMethod : () => privateClass -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^ } interface privateInterfaceWithPublicTypeParameters { @@ -40,7 +40,7 @@ interface privateInterfaceWithPublicTypeParameters { (): publicClass; myMethod(): publicClass; >myMethod : () => publicClass -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^ } export class publicClassWithWithPrivateTypeParameters { @@ -49,19 +49,19 @@ export class publicClassWithWithPrivateTypeParameters { static myPublicStaticMethod() { // Error >myPublicStaticMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } private static myPrivateStaticMethod() { >myPrivateStaticMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } myPublicMethod() { // Error >myPublicMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } private myPrivateMethod() { >myPrivateMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } } @@ -71,19 +71,19 @@ export class publicClassWithWithPublicTypeParameters { static myPublicStaticMethod() { >myPublicStaticMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } private static myPrivateStaticMethod() { >myPrivateStaticMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } myPublicMethod() { >myPublicMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } private myPrivateMethod() { >myPrivateMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } } @@ -93,19 +93,19 @@ class privateClassWithWithPrivateTypeParameters { static myPublicStaticMethod() { >myPublicStaticMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } private static myPrivateStaticMethod() { >myPrivateStaticMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } myPublicMethod() { >myPublicMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } private myPrivateMethod() { >myPrivateMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } } @@ -115,40 +115,40 @@ class privateClassWithWithPublicTypeParameters { static myPublicStaticMethod() { >myPublicStaticMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } private static myPrivateStaticMethod() { >myPrivateStaticMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } myPublicMethod() { >myPublicMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } private myPrivateMethod() { >myPrivateMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } } export function publicFunctionWithPrivateTypeParameters() { // Error >publicFunctionWithPrivateTypeParameters : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } export function publicFunctionWithPublicTypeParameters() { >publicFunctionWithPublicTypeParameters : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } function privateFunctionWithPrivateTypeParameters() { >privateFunctionWithPrivateTypeParameters : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } function privateFunctionWithPublicTypeParameters() { >privateFunctionWithPublicTypeParameters : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } export interface publicInterfaceWithPublicTypeParametersWithoutExtends { @@ -235,7 +235,7 @@ export interface publicInterfaceWithPrivatModuleTypeParameters { myMethod(): privateModule.publicClass; // Error >myMethod : () => privateModule.publicClass -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^ >privateModule : any > : ^^^ >privateModule : any @@ -247,20 +247,20 @@ export class publicClassWithWithPrivateModuleTypeParameters { static myPublicStaticMethod() { // Error >myPublicStaticMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ >privateModule : any > : ^^^ } myPublicMethod() { // Error >myPublicMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ >privateModule : any > : ^^^ } } export function publicFunctionWithPrivateMopduleTypeParameters() { // Error >publicFunctionWithPrivateMopduleTypeParameters : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ >privateModule : any > : ^^^ } @@ -281,7 +281,7 @@ interface privateInterfaceWithPrivatModuleTypeParameters { myMethod(): privateModule.publicClass; >myMethod : () => privateModule.publicClass -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^ >privateModule : any > : ^^^ >privateModule : any @@ -293,20 +293,20 @@ class privateClassWithWithPrivateModuleTypeParameters { static myPublicStaticMethod() { >myPublicStaticMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ >privateModule : any > : ^^^ } myPublicMethod() { >myPublicMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ >privateModule : any > : ^^^ } } function privateFunctionWithPrivateMopduleTypeParameters() { >privateFunctionWithPrivateMopduleTypeParameters : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ >privateModule : any > : ^^^ } @@ -331,7 +331,7 @@ export module publicModule { (): privateClass; // Error myMethod(): privateClass; // Error >myMethod : () => privateClass -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^ } export interface publicInterfaceWithPublicTypeParameters { @@ -339,7 +339,7 @@ export module publicModule { (): publicClass; myMethod(): publicClass; >myMethod : () => publicClass -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^ } interface privateInterfaceWithPrivateTypeParameters { @@ -347,7 +347,7 @@ export module publicModule { (): privateClass; myMethod(): privateClass; >myMethod : () => privateClass -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^ } interface privateInterfaceWithPublicTypeParameters { @@ -355,7 +355,7 @@ export module publicModule { (): publicClass; myMethod(): publicClass; >myMethod : () => publicClass -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^ } export class publicClassWithWithPrivateTypeParameters { @@ -364,19 +364,19 @@ export module publicModule { static myPublicStaticMethod() { // Error >myPublicStaticMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } private static myPrivateStaticMethod() { >myPrivateStaticMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } myPublicMethod() { // Error >myPublicMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } private myPrivateMethod() { >myPrivateMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } } @@ -386,19 +386,19 @@ export module publicModule { static myPublicStaticMethod() { >myPublicStaticMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } private static myPrivateStaticMethod() { >myPrivateStaticMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } myPublicMethod() { >myPublicMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } private myPrivateMethod() { >myPrivateMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } } @@ -408,19 +408,19 @@ export module publicModule { static myPublicStaticMethod() { >myPublicStaticMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } private static myPrivateStaticMethod() { >myPrivateStaticMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } myPublicMethod() { >myPublicMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } private myPrivateMethod() { >myPrivateMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } } @@ -430,40 +430,40 @@ export module publicModule { static myPublicStaticMethod() { >myPublicStaticMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } private static myPrivateStaticMethod() { >myPrivateStaticMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } myPublicMethod() { >myPublicMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } private myPrivateMethod() { >myPrivateMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } } export function publicFunctionWithPrivateTypeParameters() { // Error >publicFunctionWithPrivateTypeParameters : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } export function publicFunctionWithPublicTypeParameters() { >publicFunctionWithPublicTypeParameters : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } function privateFunctionWithPrivateTypeParameters() { >privateFunctionWithPrivateTypeParameters : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } function privateFunctionWithPublicTypeParameters() { >privateFunctionWithPublicTypeParameters : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } export interface publicInterfaceWithPublicTypeParametersWithoutExtends { @@ -550,7 +550,7 @@ export module publicModule { myMethod(): privateModule.publicClass; // Error >myMethod : () => privateModule.publicClass -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^ >privateModule : any > : ^^^ >privateModule : any @@ -562,20 +562,20 @@ export module publicModule { static myPublicStaticMethod() { // Error >myPublicStaticMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ >privateModule : any > : ^^^ } myPublicMethod() { // Error >myPublicMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ >privateModule : any > : ^^^ } } export function publicFunctionWithPrivateMopduleTypeParameters() { // Error >publicFunctionWithPrivateMopduleTypeParameters : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ >privateModule : any > : ^^^ } @@ -596,7 +596,7 @@ export module publicModule { myMethod(): privateModule.publicClass; >myMethod : () => privateModule.publicClass -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^ >privateModule : any > : ^^^ >privateModule : any @@ -608,20 +608,20 @@ export module publicModule { static myPublicStaticMethod() { >myPublicStaticMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ >privateModule : any > : ^^^ } myPublicMethod() { >myPublicMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ >privateModule : any > : ^^^ } } function privateFunctionWithPrivateMopduleTypeParameters() { >privateFunctionWithPrivateMopduleTypeParameters : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ >privateModule : any > : ^^^ } @@ -647,7 +647,7 @@ module privateModule { (): privateClass; myMethod(): privateClass; >myMethod : () => privateClass -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^ } export interface publicInterfaceWithPublicTypeParameters { @@ -655,7 +655,7 @@ module privateModule { (): publicClass; myMethod(): publicClass; >myMethod : () => publicClass -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^ } interface privateInterfaceWithPrivateTypeParameters { @@ -663,7 +663,7 @@ module privateModule { (): privateClass; myMethod(): privateClass; >myMethod : () => privateClass -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^ } interface privateInterfaceWithPublicTypeParameters { @@ -671,7 +671,7 @@ module privateModule { (): publicClass; myMethod(): publicClass; >myMethod : () => publicClass -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^ } export class publicClassWithWithPrivateTypeParameters { @@ -680,19 +680,19 @@ module privateModule { static myPublicStaticMethod() { >myPublicStaticMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } private static myPrivateStaticMethod() { >myPrivateStaticMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } myPublicMethod() { >myPublicMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } private myPrivateMethod() { >myPrivateMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } } @@ -702,19 +702,19 @@ module privateModule { static myPublicStaticMethod() { >myPublicStaticMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } private static myPrivateStaticMethod() { >myPrivateStaticMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } myPublicMethod() { >myPublicMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } private myPrivateMethod() { >myPrivateMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } } @@ -724,19 +724,19 @@ module privateModule { static myPublicStaticMethod() { >myPublicStaticMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } private static myPrivateStaticMethod() { >myPrivateStaticMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } myPublicMethod() { >myPublicMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } private myPrivateMethod() { >myPrivateMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } } @@ -746,40 +746,40 @@ module privateModule { static myPublicStaticMethod() { >myPublicStaticMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } private static myPrivateStaticMethod() { >myPrivateStaticMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } myPublicMethod() { >myPublicMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } private myPrivateMethod() { >myPrivateMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } } export function publicFunctionWithPrivateTypeParameters() { >publicFunctionWithPrivateTypeParameters : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } export function publicFunctionWithPublicTypeParameters() { >publicFunctionWithPublicTypeParameters : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } function privateFunctionWithPrivateTypeParameters() { >privateFunctionWithPrivateTypeParameters : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } function privateFunctionWithPublicTypeParameters() { >privateFunctionWithPublicTypeParameters : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } export interface publicInterfaceWithPublicTypeParametersWithoutExtends { diff --git a/tests/baselines/reference/privateIdentifierChain.1.types b/tests/baselines/reference/privateIdentifierChain.1.types index e33153a60ad81..70827d3bcbc0c 100644 --- a/tests/baselines/reference/privateIdentifierChain.1.types +++ b/tests/baselines/reference/privateIdentifierChain.1.types @@ -46,11 +46,11 @@ class A { >this?.getA() : A > : ^ >this?.getA : () => A -> : ^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >getA : () => A -> : ^^^^^^^ +> : ^^^^^^ } } diff --git a/tests/baselines/reference/privateNameAccessors.types b/tests/baselines/reference/privateNameAccessors.types index cba12112833a8..0284be38565a0 100644 --- a/tests/baselines/reference/privateNameAccessors.types +++ b/tests/baselines/reference/privateNameAccessors.types @@ -51,11 +51,11 @@ class A1 { >console.log(this.#prop) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.#prop : string > : ^^^^^^ >this : this @@ -65,11 +65,11 @@ class A1 { >console.log(this.#roProp) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.#roProp : string > : ^^^^^^ >this : this diff --git a/tests/baselines/reference/privateNameAccessorsAccess.types b/tests/baselines/reference/privateNameAccessorsAccess.types index 3f218f9c77433..7bc0fa7eb962f 100644 --- a/tests/baselines/reference/privateNameAccessorsAccess.types +++ b/tests/baselines/reference/privateNameAccessorsAccess.types @@ -22,11 +22,11 @@ class A2 { >console.log(this.#prop) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.#prop : string > : ^^^^^^ >this : this diff --git a/tests/baselines/reference/privateNameAccessorssDerivedClasses.types b/tests/baselines/reference/privateNameAccessorssDerivedClasses.types index bb200b361fa30..8a1a563b9aadc 100644 --- a/tests/baselines/reference/privateNameAccessorssDerivedClasses.types +++ b/tests/baselines/reference/privateNameAccessorssDerivedClasses.types @@ -21,11 +21,11 @@ class Base { >console.log(x.#prop) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x.#prop : number > : ^^^^^^ >x : Derived @@ -48,11 +48,11 @@ class Derived extends Base { >console.log(x.#prop) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x.#prop : any > : ^^^ >x : Derived diff --git a/tests/baselines/reference/privateNameClassExpressionLoop.types b/tests/baselines/reference/privateNameClassExpressionLoop.types index 16286caef90fa..a45de35c91a3f 100644 --- a/tests/baselines/reference/privateNameClassExpressionLoop.types +++ b/tests/baselines/reference/privateNameClassExpressionLoop.types @@ -27,11 +27,11 @@ for (let i = 0; i < 10; ++i) { >array.push(class C { #myField = "hello"; #method() {} get #accessor() { return 42; } set #accessor(val) { } }) : number > : ^^^^^^ >array.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >array : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >class C { #myField = "hello"; #method() {} get #accessor() { return 42; } set #accessor(val) { } } : typeof C > : ^^^^^^^^ >C : typeof C diff --git a/tests/baselines/reference/privateNameComputedPropertyName1(target=es2015).types b/tests/baselines/reference/privateNameComputedPropertyName1(target=es2015).types index e22ee74558bb1..4b492e9afc059 100644 --- a/tests/baselines/reference/privateNameComputedPropertyName1(target=es2015).types +++ b/tests/baselines/reference/privateNameComputedPropertyName1(target=es2015).types @@ -136,11 +136,11 @@ class A { >console.log(a, b, c, d, e) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >a : string > : ^^^^^^ >b : string @@ -216,11 +216,11 @@ class A { >console.log(a1, b1, c1, d1) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >a1 : string > : ^^^^^^ >b1 : string diff --git a/tests/baselines/reference/privateNameComputedPropertyName1(target=es2022).types b/tests/baselines/reference/privateNameComputedPropertyName1(target=es2022).types index e22ee74558bb1..4b492e9afc059 100644 --- a/tests/baselines/reference/privateNameComputedPropertyName1(target=es2022).types +++ b/tests/baselines/reference/privateNameComputedPropertyName1(target=es2022).types @@ -136,11 +136,11 @@ class A { >console.log(a, b, c, d, e) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >a : string > : ^^^^^^ >b : string @@ -216,11 +216,11 @@ class A { >console.log(a1, b1, c1, d1) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >a1 : string > : ^^^^^^ >b1 : string diff --git a/tests/baselines/reference/privateNameComputedPropertyName1(target=esnext).types b/tests/baselines/reference/privateNameComputedPropertyName1(target=esnext).types index e22ee74558bb1..4b492e9afc059 100644 --- a/tests/baselines/reference/privateNameComputedPropertyName1(target=esnext).types +++ b/tests/baselines/reference/privateNameComputedPropertyName1(target=esnext).types @@ -136,11 +136,11 @@ class A { >console.log(a, b, c, d, e) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >a : string > : ^^^^^^ >b : string @@ -216,11 +216,11 @@ class A { >console.log(a1, b1, c1, d1) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >a1 : string > : ^^^^^^ >b1 : string diff --git a/tests/baselines/reference/privateNameComputedPropertyName2(target=es2015).types b/tests/baselines/reference/privateNameComputedPropertyName2(target=es2015).types index f3698ff119615..1d6e4de688edc 100644 --- a/tests/baselines/reference/privateNameComputedPropertyName2(target=es2015).types +++ b/tests/baselines/reference/privateNameComputedPropertyName2(target=es2015).types @@ -27,7 +27,7 @@ class A { >getX = (a: A) => a.#x : (a: A) => number > : ^ ^^ ^^^^^^^^^^^ >getX : (a: A) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(a: A) => a.#x : (a: A) => number > : ^ ^^ ^^^^^^^^^^^ >a : A @@ -44,15 +44,15 @@ console.log(getX(new A)); >console.log(getX(new A)) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >getX(new A) : number > : ^^^^^^ >getX : (a: A) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >new A : A > : ^ >A : typeof A diff --git a/tests/baselines/reference/privateNameComputedPropertyName2(target=es2022).types b/tests/baselines/reference/privateNameComputedPropertyName2(target=es2022).types index f3698ff119615..1d6e4de688edc 100644 --- a/tests/baselines/reference/privateNameComputedPropertyName2(target=es2022).types +++ b/tests/baselines/reference/privateNameComputedPropertyName2(target=es2022).types @@ -27,7 +27,7 @@ class A { >getX = (a: A) => a.#x : (a: A) => number > : ^ ^^ ^^^^^^^^^^^ >getX : (a: A) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(a: A) => a.#x : (a: A) => number > : ^ ^^ ^^^^^^^^^^^ >a : A @@ -44,15 +44,15 @@ console.log(getX(new A)); >console.log(getX(new A)) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >getX(new A) : number > : ^^^^^^ >getX : (a: A) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >new A : A > : ^ >A : typeof A diff --git a/tests/baselines/reference/privateNameComputedPropertyName2(target=esnext).types b/tests/baselines/reference/privateNameComputedPropertyName2(target=esnext).types index f3698ff119615..1d6e4de688edc 100644 --- a/tests/baselines/reference/privateNameComputedPropertyName2(target=esnext).types +++ b/tests/baselines/reference/privateNameComputedPropertyName2(target=esnext).types @@ -27,7 +27,7 @@ class A { >getX = (a: A) => a.#x : (a: A) => number > : ^ ^^ ^^^^^^^^^^^ >getX : (a: A) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(a: A) => a.#x : (a: A) => number > : ^ ^^ ^^^^^^^^^^^ >a : A @@ -44,15 +44,15 @@ console.log(getX(new A)); >console.log(getX(new A)) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >getX(new A) : number > : ^^^^^^ >getX : (a: A) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >new A : A > : ^ >A : typeof A diff --git a/tests/baselines/reference/privateNameComputedPropertyName3(target=es2015).types b/tests/baselines/reference/privateNameComputedPropertyName3(target=es2015).types index eb2cb6ca603ec..b4d47b5ae4683 100644 --- a/tests/baselines/reference/privateNameComputedPropertyName3(target=es2015).types +++ b/tests/baselines/reference/privateNameComputedPropertyName3(target=es2015).types @@ -74,11 +74,11 @@ console.log(new Foo("NAME").getValue(100)); >console.log(new Foo("NAME").getValue(100)) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >new Foo("NAME").getValue(100) : error >new Foo("NAME").getValue : (x: any) => any > : ^ ^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/privateNameComputedPropertyName3(target=es2022).types b/tests/baselines/reference/privateNameComputedPropertyName3(target=es2022).types index eb2cb6ca603ec..b4d47b5ae4683 100644 --- a/tests/baselines/reference/privateNameComputedPropertyName3(target=es2022).types +++ b/tests/baselines/reference/privateNameComputedPropertyName3(target=es2022).types @@ -74,11 +74,11 @@ console.log(new Foo("NAME").getValue(100)); >console.log(new Foo("NAME").getValue(100)) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >new Foo("NAME").getValue(100) : error >new Foo("NAME").getValue : (x: any) => any > : ^ ^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/privateNameComputedPropertyName3(target=esnext).types b/tests/baselines/reference/privateNameComputedPropertyName3(target=esnext).types index eb2cb6ca603ec..b4d47b5ae4683 100644 --- a/tests/baselines/reference/privateNameComputedPropertyName3(target=esnext).types +++ b/tests/baselines/reference/privateNameComputedPropertyName3(target=esnext).types @@ -74,11 +74,11 @@ console.log(new Foo("NAME").getValue(100)); >console.log(new Foo("NAME").getValue(100)) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >new Foo("NAME").getValue(100) : error >new Foo("NAME").getValue : (x: any) => any > : ^ ^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/privateNameEmitHelpers.types b/tests/baselines/reference/privateNameEmitHelpers.types index fe56288e53970..69f0d4f6a284d 100644 --- a/tests/baselines/reference/privateNameEmitHelpers.types +++ b/tests/baselines/reference/privateNameEmitHelpers.types @@ -42,7 +42,7 @@ export class C { // these are pre-TS4.3 versions of emit helpers, which only supported private instance fields export declare function __classPrivateFieldGet(receiver: T, state: any): V; >__classPrivateFieldGet : (receiver: T, state: any) => V -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >receiver : T > : ^ >state : any @@ -50,7 +50,7 @@ export declare function __classPrivateFieldGet(receiver: T, export declare function __classPrivateFieldSet(receiver: T, state: any, value: V): V; >__classPrivateFieldSet : (receiver: T, state: any, value: V) => V -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >receiver : T > : ^ >state : any diff --git a/tests/baselines/reference/privateNameFieldAccess.types b/tests/baselines/reference/privateNameFieldAccess.types index 5f4765f5d90a1..0d05772438e3e 100644 --- a/tests/baselines/reference/privateNameFieldAccess.types +++ b/tests/baselines/reference/privateNameFieldAccess.types @@ -16,11 +16,11 @@ class A { >console.log(this.#myField) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.#myField : string > : ^^^^^^ >this : this diff --git a/tests/baselines/reference/privateNameFieldClassExpression.types b/tests/baselines/reference/privateNameFieldClassExpression.types index a3265159e6934..2c9d54c61d93e 100644 --- a/tests/baselines/reference/privateNameFieldClassExpression.types +++ b/tests/baselines/reference/privateNameFieldClassExpression.types @@ -16,11 +16,11 @@ class B { >console.log("hello") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ } diff --git a/tests/baselines/reference/privateNameFieldDerivedClasses.types b/tests/baselines/reference/privateNameFieldDerivedClasses.types index 305fe56a495cc..6b58b8d4b2d01 100644 --- a/tests/baselines/reference/privateNameFieldDerivedClasses.types +++ b/tests/baselines/reference/privateNameFieldDerivedClasses.types @@ -21,11 +21,11 @@ class Base { >console.log(x.#prop) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x.#prop : number > : ^^^^^^ >x : Derived @@ -48,11 +48,11 @@ class Derived extends Base { >console.log(x.#prop) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x.#prop : any > : ^^^ >x : Derived diff --git a/tests/baselines/reference/privateNameFieldsESNext(target=es2022).types b/tests/baselines/reference/privateNameFieldsESNext(target=es2022).types index e6707b1a48b63..048ccd7c39950 100644 --- a/tests/baselines/reference/privateNameFieldsESNext(target=es2022).types +++ b/tests/baselines/reference/privateNameFieldsESNext(target=es2022).types @@ -35,11 +35,11 @@ class C { >console.log(this.#a) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.#a : number > : ^^^^^^ >this : this @@ -59,11 +59,11 @@ class C { >console.log(this.#b) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.#b : any > : ^^^ >this : this @@ -87,11 +87,11 @@ class C { >console.log(this.#m) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.#m : string > : ^^^^^^ >this : typeof C @@ -101,11 +101,11 @@ class C { >console.log(this.#x = "test") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.#x = "test" : "test" > : ^^^^^^ >this.#x : any diff --git a/tests/baselines/reference/privateNameFieldsESNext(target=esnext).types b/tests/baselines/reference/privateNameFieldsESNext(target=esnext).types index e6707b1a48b63..048ccd7c39950 100644 --- a/tests/baselines/reference/privateNameFieldsESNext(target=esnext).types +++ b/tests/baselines/reference/privateNameFieldsESNext(target=esnext).types @@ -35,11 +35,11 @@ class C { >console.log(this.#a) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.#a : number > : ^^^^^^ >this : this @@ -59,11 +59,11 @@ class C { >console.log(this.#b) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.#b : any > : ^^^ >this : this @@ -87,11 +87,11 @@ class C { >console.log(this.#m) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.#m : string > : ^^^^^^ >this : typeof C @@ -101,11 +101,11 @@ class C { >console.log(this.#x = "test") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.#x = "test" : "test" > : ^^^^^^ >this.#x : any diff --git a/tests/baselines/reference/privateNameMethod.types b/tests/baselines/reference/privateNameMethod.types index b2d2aa1ce4364..e7d65ef794c67 100644 --- a/tests/baselines/reference/privateNameMethod.types +++ b/tests/baselines/reference/privateNameMethod.types @@ -23,7 +23,7 @@ class A1 { >this.#method("") : string > : ^^^^^^ >this.#method : (param: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >"" : "" @@ -33,7 +33,7 @@ class A1 { >this.#method(1) : string > : ^^^^^^ >this.#method : (param: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >1 : 1 @@ -43,7 +43,7 @@ class A1 { >this.#method() : string > : ^^^^^^ >this.#method : (param: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ diff --git a/tests/baselines/reference/privateNameMethodAccess.types b/tests/baselines/reference/privateNameMethodAccess.types index 799fd3ba7801c..7c0d500b508b3 100644 --- a/tests/baselines/reference/privateNameMethodAccess.types +++ b/tests/baselines/reference/privateNameMethodAccess.types @@ -16,11 +16,11 @@ class A2 { >console.log(this.#method) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.#method : () => string > : ^^^^^^^^^^^^ >this : this diff --git a/tests/baselines/reference/privateNameMethodAsync.types b/tests/baselines/reference/privateNameMethodAsync.types index 5415514cf50f7..f5a0abeb3a06e 100644 --- a/tests/baselines/reference/privateNameMethodAsync.types +++ b/tests/baselines/reference/privateNameMethodAsync.types @@ -14,12 +14,12 @@ const C = class { > : ^^^^^^ >Promise.resolve(42) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >42 : 42 > : ^^ @@ -55,7 +55,7 @@ const C = class { >this.#baz().next() : IteratorResult > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this.#baz().next : (...args: [] | [unknown]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^ >this.#baz() : Generator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this.#baz : () => Generator @@ -63,7 +63,7 @@ const C = class { >this : this > : ^^^^ >next : (...args: [] | [unknown]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^ >value : number | void > : ^^^^^^^^^^^^^ >0 : 0 @@ -81,7 +81,7 @@ const C = class { >this.#qux().next() : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this.#qux().next : (...args: [] | [unknown]) => Promise> -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^ >this.#qux() : AsyncGenerator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this.#qux : () => AsyncGenerator @@ -89,7 +89,7 @@ const C = class { >this : this > : ^^^^ >next : (...args: [] | [unknown]) => Promise> -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^ >value : number | void > : ^^^^^^^^^^^^^ >0 : 0 @@ -114,12 +114,12 @@ const C = class { > : ^^^^^^ >Promise.resolve(42) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >42 : 42 > : ^^ } @@ -129,7 +129,7 @@ new C().foo().then(console.log); >new C().foo().then(console.log) : Promise > : ^^^^^^^^^^^^^ >new C().foo().then : (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >new C().foo() : Promise > : ^^^^^^^^^^^^^^^ >new C().foo : () => Promise @@ -141,11 +141,11 @@ new C().foo().then(console.log); >foo : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/privateNameMethodClassExpression.types b/tests/baselines/reference/privateNameMethodClassExpression.types index 9e399d795c482..331d845e5c7d4 100644 --- a/tests/baselines/reference/privateNameMethodClassExpression.types +++ b/tests/baselines/reference/privateNameMethodClassExpression.types @@ -44,11 +44,11 @@ console.log(C.getInstance().getField()); >console.log(C.getInstance().getField()) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >C.getInstance().getField() : number > : ^^^^^^ >C.getInstance().getField : () => number diff --git a/tests/baselines/reference/privateNameMethodInStaticFieldInit.types b/tests/baselines/reference/privateNameMethodInStaticFieldInit.types index ae9c072e97c5f..e3a0a42d48f23 100644 --- a/tests/baselines/reference/privateNameMethodInStaticFieldInit.types +++ b/tests/baselines/reference/privateNameMethodInStaticFieldInit.types @@ -28,11 +28,11 @@ console.log(C.s); >console.log(C.s) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >C.s : number > : ^^^^^^ >C : typeof C diff --git a/tests/baselines/reference/privateNameMethodsDerivedClasses.types b/tests/baselines/reference/privateNameMethodsDerivedClasses.types index 979cfc58cfd7b..06cd43078fad8 100644 --- a/tests/baselines/reference/privateNameMethodsDerivedClasses.types +++ b/tests/baselines/reference/privateNameMethodsDerivedClasses.types @@ -21,15 +21,15 @@ class Base { >console.log(x.#prop()) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x.#prop() : number > : ^^^^^^ >x.#prop : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : Derived > : ^^^^^^^ } @@ -50,11 +50,11 @@ class Derived extends Base { >console.log(x.#prop()) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x.#prop() : any > : ^^^ >x.#prop : any diff --git a/tests/baselines/reference/privateNameNestedClassAccessorsShadowing.types b/tests/baselines/reference/privateNameNestedClassAccessorsShadowing.types index 577bf172dfeec..d560b9d69dc23 100644 --- a/tests/baselines/reference/privateNameNestedClassAccessorsShadowing.types +++ b/tests/baselines/reference/privateNameNestedClassAccessorsShadowing.types @@ -32,11 +32,11 @@ class Base { >console.log(x.#x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x.#x : any > : ^^^ >x : Base @@ -52,11 +52,11 @@ class Base { >console.log(x.#x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x.#x : number > : ^^^^^^ >x : Derived diff --git a/tests/baselines/reference/privateNameNestedClassFieldShadowing.types b/tests/baselines/reference/privateNameNestedClassFieldShadowing.types index 86c853e041e65..009e8e9146097 100644 --- a/tests/baselines/reference/privateNameNestedClassFieldShadowing.types +++ b/tests/baselines/reference/privateNameNestedClassFieldShadowing.types @@ -28,11 +28,11 @@ class Base { >console.log(x.#x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x.#x : any > : ^^^ >x : Base @@ -48,11 +48,11 @@ class Base { >console.log(x.#x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x.#x : any > : ^^^ >x : Derived diff --git a/tests/baselines/reference/privateNameNestedClassMethodShadowing.types b/tests/baselines/reference/privateNameNestedClassMethodShadowing.types index e5a8d900687d1..fbe90079b6c86 100644 --- a/tests/baselines/reference/privateNameNestedClassMethodShadowing.types +++ b/tests/baselines/reference/privateNameNestedClassMethodShadowing.types @@ -28,11 +28,11 @@ class Base { >console.log(x.#x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x.#x : any > : ^^^ >x : Base @@ -48,11 +48,11 @@ class Base { >console.log(x.#x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x.#x : () => void > : ^^^^^^^^^^ >x : Derived diff --git a/tests/baselines/reference/privateNameReadonly.types b/tests/baselines/reference/privateNameReadonly.types index b1f85ac2889fb..b154d00b81b0b 100644 --- a/tests/baselines/reference/privateNameReadonly.types +++ b/tests/baselines/reference/privateNameReadonly.types @@ -25,11 +25,11 @@ const C = class { >console.log("should log this then throw") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"should log this then throw" : "should log this then throw" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } @@ -39,11 +39,11 @@ console.log(new C().foo()); >console.log(new C().foo()) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >new C().foo() : void > : ^^^^ >new C().foo : () => void diff --git a/tests/baselines/reference/privateNameSetterExprReturnValue.types b/tests/baselines/reference/privateNameSetterExprReturnValue.types index f05659d9a0e90..f8b4de3539d85 100644 --- a/tests/baselines/reference/privateNameSetterExprReturnValue.types +++ b/tests/baselines/reference/privateNameSetterExprReturnValue.types @@ -37,11 +37,11 @@ class C { >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : number > : ^^^^^^ } diff --git a/tests/baselines/reference/privateNameSetterNoGetter.types b/tests/baselines/reference/privateNameSetterNoGetter.types index 496d2e2215970..cdd173e512b78 100644 --- a/tests/baselines/reference/privateNameSetterNoGetter.types +++ b/tests/baselines/reference/privateNameSetterNoGetter.types @@ -33,11 +33,11 @@ console.log(new C().m()); >console.log(new C().m()) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >new C().m() : void > : ^^^^ >new C().m : () => void diff --git a/tests/baselines/reference/privateNameStaticAccessors.types b/tests/baselines/reference/privateNameStaticAccessors.types index e259cb6d2adc5..cc3963df8750b 100644 --- a/tests/baselines/reference/privateNameStaticAccessors.types +++ b/tests/baselines/reference/privateNameStaticAccessors.types @@ -51,11 +51,11 @@ class A1 { >console.log(A1.#prop) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >A1.#prop : string > : ^^^^^^ >A1 : typeof A1 @@ -65,11 +65,11 @@ class A1 { >console.log(A1.#roProp) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >A1.#roProp : string > : ^^^^^^ >A1 : typeof A1 diff --git a/tests/baselines/reference/privateNameStaticAccessorsAccess.types b/tests/baselines/reference/privateNameStaticAccessorsAccess.types index 7e34eaf81e4f3..c0cc982d7d403 100644 --- a/tests/baselines/reference/privateNameStaticAccessorsAccess.types +++ b/tests/baselines/reference/privateNameStaticAccessorsAccess.types @@ -23,11 +23,11 @@ class A2 { >console.log(A2.#prop) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >A2.#prop : string > : ^^^^^^ >A2 : typeof A2 diff --git a/tests/baselines/reference/privateNameStaticAccessorssDerivedClasses.types b/tests/baselines/reference/privateNameStaticAccessorssDerivedClasses.types index 65117c9d3df31..244cf67c53329 100644 --- a/tests/baselines/reference/privateNameStaticAccessorssDerivedClasses.types +++ b/tests/baselines/reference/privateNameStaticAccessorssDerivedClasses.types @@ -23,11 +23,11 @@ class Base { >console.log(x.#prop) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x.#prop : any > : ^^^ >x : typeof Derived @@ -52,11 +52,11 @@ class Derived extends Base { >console.log(x.#prop) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x.#prop : any > : ^^^ >x : typeof Derived diff --git a/tests/baselines/reference/privateNameStaticEmitHelpers.types b/tests/baselines/reference/privateNameStaticEmitHelpers.types index 3db1db4f673a9..2cf321bb0a728 100644 --- a/tests/baselines/reference/privateNameStaticEmitHelpers.types +++ b/tests/baselines/reference/privateNameStaticEmitHelpers.types @@ -38,7 +38,7 @@ export class S { // these are pre-TS4.3 versions of emit helpers, which only supported private instance fields export declare function __classPrivateFieldGet(receiver: T, state: any): V; >__classPrivateFieldGet : (receiver: T, state: any) => V -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >receiver : T > : ^ >state : any @@ -46,7 +46,7 @@ export declare function __classPrivateFieldGet(receiver: T, export declare function __classPrivateFieldSet(receiver: T, state: any, value: V): V; >__classPrivateFieldSet : (receiver: T, state: any, value: V) => V -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >receiver : T > : ^ >state : any diff --git a/tests/baselines/reference/privateNameStaticFieldAccess.types b/tests/baselines/reference/privateNameStaticFieldAccess.types index deb0360d0f664..1ab7fe3c7a23f 100644 --- a/tests/baselines/reference/privateNameStaticFieldAccess.types +++ b/tests/baselines/reference/privateNameStaticFieldAccess.types @@ -16,11 +16,11 @@ class A { >console.log(A.#myField) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >A.#myField : string > : ^^^^^^ >A : typeof A @@ -30,11 +30,11 @@ class A { >console.log(this.#myField) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.#myField : any > : ^^^ >this : this diff --git a/tests/baselines/reference/privateNameStaticFieldClassExpression.types b/tests/baselines/reference/privateNameStaticFieldClassExpression.types index 171c410633d59..2f809625ababa 100644 --- a/tests/baselines/reference/privateNameStaticFieldClassExpression.types +++ b/tests/baselines/reference/privateNameStaticFieldClassExpression.types @@ -16,11 +16,11 @@ class B { >console.log("hello") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ @@ -69,11 +69,11 @@ class B { >console.log(B.#foo.test) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >B.#foo.test : number > : ^^^^^^ >B.#foo : typeof (Anonymous class) diff --git a/tests/baselines/reference/privateNameStaticFieldDestructuredBinding(target=es2015).js b/tests/baselines/reference/privateNameStaticFieldDestructuredBinding(target=es2015).js index 089ccdd131e28..ec8500fd4239b 100644 --- a/tests/baselines/reference/privateNameStaticFieldDestructuredBinding(target=es2015).js +++ b/tests/baselines/reference/privateNameStaticFieldDestructuredBinding(target=es2015).js @@ -45,13 +45,13 @@ class A { var _c; this.otherClass = _b; let y; - ({ x: ({ set value(_b) { __classPrivateFieldSet(_b, _b, _b, "f", _A_field); } }).value, y } = this.testObject()); - ([({ set value(_b) { __classPrivateFieldSet(_b, _b, _b, "f", _A_field); } }).value, y] = this.testArray()); - ({ a: ({ set value(_b) { __classPrivateFieldSet(_b, _b, _b, "f", _A_field); } }).value, b: [({ set value(_b) { __classPrivateFieldSet(_b, _b, _b, "f", _A_field); } }).value] } = { a: 1, b: [2] }); - [({ set value(_b) { __classPrivateFieldSet(_b, _b, _b, "f", _A_field); } }).value, [({ set value(_b) { __classPrivateFieldSet(_b, _b, _b, "f", _A_field); } }).value]] = [1, [2]]; - ({ a: ({ set value(_b) { __classPrivateFieldSet(_b, _b, _b, "f", _A_field); } }).value = 1, b: [({ set value(_b) { __classPrivateFieldSet(_b, _b, _b, "f", _A_field); } }).value = 1] } = { b: [] }); - [({ set value(_b) { __classPrivateFieldSet(_b, _b, _b, "f", _A_field); } }).value = 2] = []; - _c = this.otherClass, [({ set value(_b) { __classPrivateFieldSet(_c, _b, _b, "f", _A_field); } }).value = 2] = []; + ({ x: ({ set value(_d) { __classPrivateFieldSet(_b, _b, _d, "f", _A_field); } }).value, y } = this.testObject()); + ([({ set value(_d) { __classPrivateFieldSet(_b, _b, _d, "f", _A_field); } }).value, y] = this.testArray()); + ({ a: ({ set value(_d) { __classPrivateFieldSet(_b, _b, _d, "f", _A_field); } }).value, b: [({ set value(_d) { __classPrivateFieldSet(_b, _b, _d, "f", _A_field); } }).value] } = { a: 1, b: [2] }); + [({ set value(_d) { __classPrivateFieldSet(_b, _b, _d, "f", _A_field); } }).value, [({ set value(_d) { __classPrivateFieldSet(_b, _b, _d, "f", _A_field); } }).value]] = [1, [2]]; + ({ a: ({ set value(_d) { __classPrivateFieldSet(_b, _b, _d, "f", _A_field); } }).value = 1, b: [({ set value(_d) { __classPrivateFieldSet(_b, _b, _d, "f", _A_field); } }).value = 1] } = { b: [] }); + [({ set value(_d) { __classPrivateFieldSet(_b, _b, _d, "f", _A_field); } }).value = 2] = []; + _c = this.otherClass, [({ set value(_d) { __classPrivateFieldSet(_c, _b, _d, "f", _A_field); } }).value = 2] = []; } static test(_a) { [({ set value(_c) { __classPrivateFieldSet(_a, _b, _c, "f", _A_field); } }).value] = [2]; diff --git a/tests/baselines/reference/privateNameStaticMethod.types b/tests/baselines/reference/privateNameStaticMethod.types index 1ecf46f89a1e8..b016e3dd653b0 100644 --- a/tests/baselines/reference/privateNameStaticMethod.types +++ b/tests/baselines/reference/privateNameStaticMethod.types @@ -20,7 +20,7 @@ class A1 { >A1.#method("") : string > : ^^^^^^ >A1.#method : (param: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >A1 : typeof A1 > : ^^^^^^^^^ >"" : "" @@ -30,7 +30,7 @@ class A1 { >A1.#method(1) : string > : ^^^^^^ >A1.#method : (param: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >A1 : typeof A1 > : ^^^^^^^^^ >1 : 1 @@ -40,7 +40,7 @@ class A1 { >A1.#method() : string > : ^^^^^^ >A1.#method : (param: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >A1 : typeof A1 > : ^^^^^^^^^ diff --git a/tests/baselines/reference/privateNameStaticMethodAsync.types b/tests/baselines/reference/privateNameStaticMethodAsync.types index 6747505e97516..1a1205a51ddd7 100644 --- a/tests/baselines/reference/privateNameStaticMethodAsync.types +++ b/tests/baselines/reference/privateNameStaticMethodAsync.types @@ -14,12 +14,12 @@ const C = class { > : ^^^^^^ >Promise.resolve(42) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >42 : 42 > : ^^ @@ -55,7 +55,7 @@ const C = class { >this.#baz().next() : IteratorResult > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this.#baz().next : (...args: [] | [unknown]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^ >this.#baz() : Generator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this.#baz : () => Generator @@ -63,7 +63,7 @@ const C = class { >this : typeof C > : ^^^^^^^^ >next : (...args: [] | [unknown]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^ >value : number | void > : ^^^^^^^^^^^^^ >0 : 0 @@ -81,7 +81,7 @@ const C = class { >this.#qux().next() : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this.#qux().next : (...args: [] | [unknown]) => Promise> -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^ >this.#qux() : AsyncGenerator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this.#qux : () => AsyncGenerator @@ -89,7 +89,7 @@ const C = class { >this : typeof C > : ^^^^^^^^ >next : (...args: [] | [unknown]) => Promise> -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^ >value : number | void > : ^^^^^^^^^^^^^ >0 : 0 @@ -116,12 +116,12 @@ const C = class { > : ^^^^^^ >Promise.resolve(42) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >42 : 42 > : ^^ } diff --git a/tests/baselines/reference/privateNameStaticMethodClassExpression.types b/tests/baselines/reference/privateNameStaticMethodClassExpression.types index b39e0b0f8e3bd..f502ffc6c6473 100644 --- a/tests/baselines/reference/privateNameStaticMethodClassExpression.types +++ b/tests/baselines/reference/privateNameStaticMethodClassExpression.types @@ -44,11 +44,11 @@ console.log(C.getClass().getField()); >console.log(C.getClass().getField()) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >C.getClass().getField() : number > : ^^^^^^ >C.getClass().getField : () => number diff --git a/tests/baselines/reference/privateNameStaticMethodInStaticFieldInit.types b/tests/baselines/reference/privateNameStaticMethodInStaticFieldInit.types index d367c04edfa66..257afd87252fe 100644 --- a/tests/baselines/reference/privateNameStaticMethodInStaticFieldInit.types +++ b/tests/baselines/reference/privateNameStaticMethodInStaticFieldInit.types @@ -26,11 +26,11 @@ console.log(C.s); >console.log(C.s) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >C.s : number > : ^^^^^^ >C : typeof C diff --git a/tests/baselines/reference/privateNameUnused.types b/tests/baselines/reference/privateNameUnused.types index e5a3b0407da68..fad2e2876096e 100644 --- a/tests/baselines/reference/privateNameUnused.types +++ b/tests/baselines/reference/privateNameUnused.types @@ -22,11 +22,11 @@ export class A { >console.log(this.#used) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.#used : string > : ^^^^^^ >this : this @@ -51,11 +51,11 @@ export class A2 { >console.log(this.#used()) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.#used() : void > : ^^^^ >this.#used : () => void @@ -98,11 +98,11 @@ export class A3 { >console.log(this.#used) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.#used : number > : ^^^^^^ >this : this diff --git a/tests/baselines/reference/privateNamesAndDecorators.types b/tests/baselines/reference/privateNamesAndDecorators.types index 84293a47e1566..426d2f0a53863 100644 --- a/tests/baselines/reference/privateNamesAndDecorators.types +++ b/tests/baselines/reference/privateNamesAndDecorators.types @@ -13,7 +13,7 @@ class A { @dec // Error >dec : (target: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ #foo = 1; >#foo : number @@ -23,7 +23,7 @@ class A { @dec // Error >dec : (target: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ #bar(): void { } >#bar : () => void diff --git a/tests/baselines/reference/privateNamesAndGenericClasses-2.types b/tests/baselines/reference/privateNamesAndGenericClasses-2.types index bd2a63d18f9f8..a60c858771b41 100644 --- a/tests/baselines/reference/privateNamesAndGenericClasses-2.types +++ b/tests/baselines/reference/privateNamesAndGenericClasses-2.types @@ -41,7 +41,7 @@ class C { >this.#bar() : T > : ^ >this.#bar : () => T -> : ^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ } diff --git a/tests/baselines/reference/privateNamesAssertion(target=es2022).types b/tests/baselines/reference/privateNamesAssertion(target=es2022).types index 16c3df1dec82f..7b1f6ff33e1f7 100644 --- a/tests/baselines/reference/privateNamesAssertion(target=es2022).types +++ b/tests/baselines/reference/privateNamesAssertion(target=es2022).types @@ -39,7 +39,7 @@ class Foo { >this.#p1(v) : void > : ^^^^ >this.#p1 : (v: any) => asserts v is string -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >v : unknown @@ -86,7 +86,7 @@ class Foo2 { >this.#p1(v) : void > : ^^^^ >this.#p1 : (v: any) => asserts v is string -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >v : unknown diff --git a/tests/baselines/reference/privateNamesAssertion(target=esnext).types b/tests/baselines/reference/privateNamesAssertion(target=esnext).types index 16c3df1dec82f..7b1f6ff33e1f7 100644 --- a/tests/baselines/reference/privateNamesAssertion(target=esnext).types +++ b/tests/baselines/reference/privateNamesAssertion(target=esnext).types @@ -39,7 +39,7 @@ class Foo { >this.#p1(v) : void > : ^^^^ >this.#p1 : (v: any) => asserts v is string -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >v : unknown @@ -86,7 +86,7 @@ class Foo2 { >this.#p1(v) : void > : ^^^^ >this.#p1 : (v: any) => asserts v is string -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >v : unknown diff --git a/tests/baselines/reference/privateNamesInGenericClasses.types b/tests/baselines/reference/privateNamesInGenericClasses.types index 40439b86f5c29..35101119c9ccb 100644 --- a/tests/baselines/reference/privateNamesInGenericClasses.types +++ b/tests/baselines/reference/privateNamesInGenericClasses.types @@ -57,7 +57,7 @@ class C { >x.#method() : T > : ^ >x.#method : () => T -> : ^^^^^^^ +> : ^^^^^^ >x : C > : ^^^^ diff --git a/tests/baselines/reference/privateWriteOnlyAccessorRead.types b/tests/baselines/reference/privateWriteOnlyAccessorRead.types index 9dde0c85f5a07..342f889fdcb00 100644 --- a/tests/baselines/reference/privateWriteOnlyAccessorRead.types +++ b/tests/baselines/reference/privateWriteOnlyAccessorRead.types @@ -51,13 +51,13 @@ class Test { >console.log(this.#value) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.#value : { foo: { bar: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >this : this > : ^^^^ @@ -65,7 +65,7 @@ class Test { >this.#value = { foo } : { foo: { bar: number; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >this.#value : { foo: { bar: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >this : this > : ^^^^ >{ foo } : { foo: { bar: number; }; } @@ -77,7 +77,7 @@ class Test { >this.#value = { foo } : { foo: { bar: number; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >this.#value : { foo: { bar: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >this : this > : ^^^^ >{ foo } : { foo: { bar: number; }; } @@ -89,13 +89,13 @@ class Test { >this.#value.foo = foo : { bar: number; } > : ^^^^^^^^^^^^^^^^ >this.#value.foo : { bar: number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >this.#value : { foo: { bar: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >this : this > : ^^^^ >foo : { bar: number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >foo : { bar: number; } > : ^^^^^^^^^^^^^^^^ @@ -105,11 +105,11 @@ class Test { >{ o: this.#value } = { o: { foo } } : { o: { foo: { bar: number; }; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ o: this.#value } : { o: { foo: { bar: number; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^ >o : { foo: { bar: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >this.#value : { foo: { bar: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >this : this > : ^^^^ >{ o: { foo } } : { o: { foo: { bar: number; }; }; } @@ -127,9 +127,9 @@ class Test { >{ ...this.#value } = { foo } : { foo: { bar: number; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ ...this.#value } : { foo: { bar: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >this.#value : { foo: { bar: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >this : this > : ^^^^ >{ foo } : { foo: { bar: number; }; } @@ -143,17 +143,17 @@ class Test { >{ foo: this.#value.foo } = { foo } : { foo: { bar: number; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ foo: this.#value.foo } : { foo: { bar: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^^ >foo : { bar: number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >this.#value.foo : { bar: number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >this.#value : { foo: { bar: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >this : this > : ^^^^ >foo : { bar: number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >{ foo } : { foo: { bar: number; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : { bar: number; } @@ -165,21 +165,21 @@ class Test { >{ foo: { ...this.#value.foo }, } = { foo } : { foo: { bar: number; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ foo: { ...this.#value.foo }, } : { foo: { bar: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^^ foo: { ...this.#value.foo }, >foo : { bar: number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >{ ...this.#value.foo } : { bar: number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >this.#value.foo : { bar: number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >this.#value : { foo: { bar: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >this : this > : ^^^^ >foo : { bar: number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } = { foo }); //error >{ foo } : { foo: { bar: number; }; } @@ -189,13 +189,13 @@ class Test { let r = { o: this.#value }; //error >r : { o: { foo: { bar: number; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^ >{ o: this.#value } : { o: { foo: { bar: number; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^ >o : { foo: { bar: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >this.#value : { foo: { bar: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >this : this > : ^^^^ diff --git a/tests/baselines/reference/promiseAllOnAny01.types b/tests/baselines/reference/promiseAllOnAny01.types index 107a4ca078fdd..7446acf02f587 100644 --- a/tests/baselines/reference/promiseAllOnAny01.types +++ b/tests/baselines/reference/promiseAllOnAny01.types @@ -14,11 +14,11 @@ async function foo(x: any) { >Promise.all(x) : Promise > : ^^^^^^^^^^^^^^ >Promise.all : (values: T) => Promise<{ -readonly [P in keyof T]: Awaited; }> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >all : (values: T) => Promise<{ -readonly [P in keyof T]: Awaited; }> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : any let result: any[] = abc; diff --git a/tests/baselines/reference/promiseChaining.types b/tests/baselines/reference/promiseChaining.types index 5acd07c234db2..3b7647b546bdf 100644 --- a/tests/baselines/reference/promiseChaining.types +++ b/tests/baselines/reference/promiseChaining.types @@ -23,7 +23,7 @@ class Chain { >cb(this.value) : S > : ^ >cb : (x: T) => S -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >this.value : T > : ^ >this : this @@ -38,19 +38,19 @@ class Chain { >this.then(x => result)/*S*/.then(x => "abc")/*string*/.then(x => x.length) : Chain > : ^^^^^^^^^^^^^ >this.then(x => result)/*S*/.then(x => "abc")/*string*/.then : (cb: (x: string) => S) => Chain -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^ >this.then(x => result)/*S*/.then(x => "abc") : Chain > : ^^^^^^^^^^^^^ >this.then(x => result)/*S*/.then : (cb: (x: S_1) => S) => Chain -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^ ^ >this.then(x => result) : Chain > : ^^^^^^^^ >this.then : (cb: (x: T) => S) => Chain -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >then : (cb: (x: T) => S) => Chain -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x => result : (x: T) => S > : ^ ^^^^^^^^^ >x : T @@ -58,7 +58,7 @@ class Chain { >result : S > : ^ >then : (cb: (x: S_1) => S) => Chain -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^ ^ >x => "abc" : (x: S) => string > : ^ ^^^^^^^^^^^^^^ >x : S @@ -66,7 +66,7 @@ class Chain { >"abc" : "abc" > : ^^^^^ >then : (cb: (x: string) => S) => Chain -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^ >x => x.length : (x: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : string diff --git a/tests/baselines/reference/promiseChaining1.types b/tests/baselines/reference/promiseChaining1.types index af2e57472bfa0..4024c6e584381 100644 --- a/tests/baselines/reference/promiseChaining1.types +++ b/tests/baselines/reference/promiseChaining1.types @@ -14,7 +14,7 @@ class Chain2 { then(cb: (x: T) => S): Chain2 { >then : (cb: (x: T) => S) => Chain2 -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >cb : (x: T) => S > : ^ ^^ ^^^^^ >x : T @@ -26,7 +26,7 @@ class Chain2 { >cb(this.value) : S > : ^ >cb : (x: T) => S -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >this.value : T > : ^ >this : this @@ -41,19 +41,19 @@ class Chain2 { >this.then(x => result)/*S*/.then(x => "abc")/*Function*/.then(x => x.length) : Chain2 > : ^^^^^^^^^^^^^^^^ >this.then(x => result)/*S*/.then(x => "abc")/*Function*/.then : (cb: (x: Function) => S) => Chain2 -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^ >this.then(x => result)/*S*/.then(x => "abc") : Chain2 > : ^^^^^^^^^^^^^^^^ >this.then(x => result)/*S*/.then : (cb: (x: S_1) => S) => Chain2 -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^ >this.then(x => result) : Chain2 > : ^^^^^^^^^ >this.then : (cb: (x: T) => S) => Chain2 -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >then : (cb: (x: T) => S) => Chain2 -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x => result : (x: T) => S > : ^ ^^^^^^^^^ >x : T @@ -61,7 +61,7 @@ class Chain2 { >result : S > : ^ >then : (cb: (x: S_1) => S) => Chain2 -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^ >x => "abc" : (x: S) => string > : ^ ^^^^^^^^^^^^^^ >x : S @@ -69,7 +69,7 @@ class Chain2 { >"abc" : "abc" > : ^^^^^ >then : (cb: (x: Function) => S) => Chain2 -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^ >x => x.length : (x: Function) => number > : ^ ^^^^^^^^^^^^^^^^^^^^^ >x : Function diff --git a/tests/baselines/reference/promiseChaining2.types b/tests/baselines/reference/promiseChaining2.types index 1ccb66c20e187..3f70949631ad1 100644 --- a/tests/baselines/reference/promiseChaining2.types +++ b/tests/baselines/reference/promiseChaining2.types @@ -14,7 +14,7 @@ class Chain2 { then(cb: (x: T) => S): Chain2 { >then : (cb: (x: T) => S) => Chain2 -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >cb : (x: T) => S > : ^ ^^ ^^^^^ >x : T @@ -26,7 +26,7 @@ class Chain2 { >cb(this.value) : S > : ^ >cb : (x: T) => S -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >this.value : T > : ^ >this : this @@ -41,19 +41,19 @@ class Chain2 { >this.then(x => result).then(x => "abc").then(x => x.length) : Chain2 > : ^^^^^^^^^^^^^^^^ >this.then(x => result).then(x => "abc").then : (cb: (x: Function) => S) => Chain2 -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^ >this.then(x => result).then(x => "abc") : Chain2 > : ^^^^^^^^^^^^^^^^ >this.then(x => result).then : (cb: (x: S_1) => S) => Chain2 -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^ >this.then(x => result) : Chain2 > : ^^^^^^^^^ >this.then : (cb: (x: T) => S) => Chain2 -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >then : (cb: (x: T) => S) => Chain2 -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x => result : (x: T) => S > : ^ ^^^^^^^^^ >x : T @@ -61,7 +61,7 @@ class Chain2 { >result : S > : ^ >then : (cb: (x: S_1) => S) => Chain2 -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^ >x => "abc" : (x: S) => string > : ^ ^^^^^^^^^^^^^^ >x : S @@ -69,7 +69,7 @@ class Chain2 { >"abc" : "abc" > : ^^^^^ >then : (cb: (x: Function) => S) => Chain2 -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^ >x => x.length : (x: Function) => number > : ^ ^^^^^^^^^^^^^^^^^^^^^ >x : Function diff --git a/tests/baselines/reference/promiseIdentityWithConstraints.types b/tests/baselines/reference/promiseIdentityWithConstraints.types index a355a12621e5f..fd19a1f929a21 100644 --- a/tests/baselines/reference/promiseIdentityWithConstraints.types +++ b/tests/baselines/reference/promiseIdentityWithConstraints.types @@ -4,7 +4,7 @@ export interface IPromise { then(callback: (x: T) => IPromise): IPromise; >then : (callback: (x: T) => IPromise) => IPromise -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >callback : (x: T) => IPromise > : ^ ^^ ^^^^^ >x : T @@ -13,7 +13,7 @@ export interface IPromise { export interface Promise { then(callback: (x: T) => Promise): Promise; >then : (callback: (x: T) => Promise) => Promise -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >callback : (x: T) => Promise > : ^ ^^ ^^^^^ >x : T diff --git a/tests/baselines/reference/promisePermutations.types b/tests/baselines/reference/promisePermutations.types index a0a98f0a62380..37e91522dd94e 100644 --- a/tests/baselines/reference/promisePermutations.types +++ b/tests/baselines/reference/promisePermutations.types @@ -2,13 +2,13 @@ === Performance Stats === Type Count: 1,000 -> 2,500 -Instantiation count: 5,000 +Instantiation count: 5,000 -> 25,000 === promisePermutations.ts === interface Promise { then(success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; ->then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: T) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: T) => U_1, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U_1, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; } +> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => Promise > : ^ ^^ ^^^^^ >value : T @@ -23,8 +23,8 @@ interface Promise { > : ^^^ then(success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; ->then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: T) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: T) => U_1, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U_1, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; } +> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => Promise > : ^ ^^ ^^^^^ >value : T @@ -39,8 +39,8 @@ interface Promise { > : ^^^ then(success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; ->then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U_2, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U_1, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; } +> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => U > : ^ ^^ ^^^^^ >value : T @@ -55,8 +55,8 @@ interface Promise { > : ^^^ then(success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; ->then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U_2, progress?: (progress: any) => void): Promise; (success?: (value: T) => U_3, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ +>then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: T) => U_1, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => U > : ^ ^^ ^^^^^ >value : T @@ -89,8 +89,8 @@ interface Promise { interface IPromise { then(success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; ->then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_1, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_1, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; } +> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => IPromise > : ^ ^^ ^^^^^ >value : T @@ -105,8 +105,8 @@ interface IPromise { > : ^^^ then(success?: (value: T) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; ->then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_1, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_1, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; } +> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => IPromise > : ^ ^^ ^^^^^ >value : T @@ -121,8 +121,8 @@ interface IPromise { > : ^^^ then(success?: (value: T) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; ->then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U_2, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_1, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; } +> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => U > : ^ ^^ ^^^^^ >value : T @@ -137,8 +137,8 @@ interface IPromise { > : ^^^ then(success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; ->then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U_2, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_3, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ +>then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_1, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => U > : ^ ^^ ^^^^^ >value : T @@ -331,37 +331,37 @@ declare function testFunction10P(cb: (a: U) => U): Promise; declare function testFunction11(x: number): IPromise; >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ declare function testFunction11(x: string): IPromise; >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ declare function testFunction11P(x: number): Promise; >testFunction11P : { (x: number): Promise; (x: string): Promise; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ declare function testFunction11P(x: string): Promise; >testFunction11P : { (x: number): Promise; (x: string): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ declare function testFunction12(x: T): IPromise; >testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ declare function testFunction12(x: T, y: T): IPromise; >testFunction12 : { (x: T_1): IPromise; (x: T, y: T): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ >y : T @@ -369,13 +369,13 @@ declare function testFunction12(x: T, y: T): IPromise; declare function testFunction12P(x: T): IPromise; >testFunction12P : { (x: T): IPromise; (x: T_1, y: T_1): Promise; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ declare function testFunction12P(x: T, y: T): Promise; >testFunction12P : { (x: T_1): IPromise; (x: T, y: T): Promise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ >y : T @@ -390,66 +390,66 @@ var r1a = r1.then(testFunction, testFunction, testFunction); > : ^^^^^^^^^^^^^^^^ >r1.then(testFunction, testFunction, testFunction) : IPromise > : ^^^^^^^^^^^^^^^^ ->r1.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r1.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r1 : IPromise > : ^^^^^^^^^^^^^^^^ ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var r1b = r1.then(testFunction, testFunction, testFunction).then(testFunction, testFunction, testFunction); >r1b : IPromise > : ^^^^^^^^^^^^^^^^ >r1.then(testFunction, testFunction, testFunction).then(testFunction, testFunction, testFunction) : IPromise > : ^^^^^^^^^^^^^^^^ ->r1.then(testFunction, testFunction, testFunction).then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r1.then(testFunction, testFunction, testFunction).then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r1.then(testFunction, testFunction, testFunction) : IPromise > : ^^^^^^^^^^^^^^^^ ->r1.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r1.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r1 : IPromise > : ^^^^^^^^^^^^^^^^ ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var r1c = r1.then(testFunctionP, testFunctionP, testFunctionP); >r1c : IPromise > : ^^^^^^^^^^^^^^^^ >r1.then(testFunctionP, testFunctionP, testFunctionP) : IPromise > : ^^^^^^^^^^^^^^^^ ->r1.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r1.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r1 : IPromise > : ^^^^^^^^^^^^^^^^ ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var s1: Promise; >s1 : Promise @@ -460,84 +460,84 @@ var s1a = s1.then(testFunction, testFunction, testFunction); > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s1.then(testFunction, testFunction, testFunction) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s1 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var s1b = s1.then(testFunctionP, testFunctionP, testFunctionP); >s1b : Promise > : ^^^^^^^^^^^^^^^ >s1.then(testFunctionP, testFunctionP, testFunctionP) : Promise > : ^^^^^^^^^^^^^^^ ->s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s1 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var s1c = s1.then(testFunctionP, testFunction, testFunction); >s1c : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s1.then(testFunctionP, testFunction, testFunction) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s1 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var s1d = s1.then(testFunctionP, testFunction, testFunction).then(testFunction, testFunction, testFunction); >s1d : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s1.then(testFunctionP, testFunction, testFunction).then(testFunction, testFunction, testFunction) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->s1.then(testFunctionP, testFunction, testFunction).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s1.then(testFunctionP, testFunction, testFunction).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s1.then(testFunctionP, testFunction, testFunction) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s1 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ ->then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ +>then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var r2: IPromise<{ x: number; }>; >r2 : IPromise<{ x: number; }> @@ -547,51 +547,51 @@ var r2: IPromise<{ x: number; }>; var r2a = r2.then(testFunction2, testFunction2, testFunction2); >r2a : IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^ >r2.then(testFunction2, testFunction2, testFunction2) : IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ->r2.then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^ +>r2.then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r2 : IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ->then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^ +>then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var r2b = r2.then(testFunction2, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2); >r2b : IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^ >r2.then(testFunction2, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2) : IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ->r2.then(testFunction2, testFunction2, testFunction2).then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^ +>r2.then(testFunction2, testFunction2, testFunction2).then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r2.then(testFunction2, testFunction2, testFunction2) : IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ->r2.then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^ +>r2.then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r2 : IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ->then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^ +>then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ +>then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var s2: Promise<{ x: number; }>; >s2 : Promise<{ x: number; }> @@ -601,87 +601,87 @@ var s2: Promise<{ x: number; }>; var s2a = s2.then(testFunction2, testFunction2, testFunction2); >s2a : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >s2.then(testFunction2, testFunction2, testFunction2) : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ +>s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s2 : Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^ +>then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var s2b = s2.then(testFunction2P, testFunction2P, testFunction2P); >s2b : Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^ >s2.then(testFunction2P, testFunction2P, testFunction2P) : Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^ ->s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^ +>s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s2 : Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^ +>then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction2P : () => Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2P : () => Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2P : () => Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var s2c = s2.then(testFunction2P, testFunction2, testFunction2); >s2c : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >s2.then(testFunction2P, testFunction2, testFunction2) : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ +>s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s2 : Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^ +>then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction2P : () => Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var s2d = s2.then(testFunction2P, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2); >s2d : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >s2.then(testFunction2P, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2) : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->s2.then(testFunction2P, testFunction2, testFunction2).then : { , TResult2 = never>(onfulfilled?: (value: IPromise<{ x: number; }>) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ +>s2.then(testFunction2P, testFunction2, testFunction2).then : { , TResult2 = never>(onfulfilled?: (value: IPromise<{ x: number; }>) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s2.then(testFunction2P, testFunction2, testFunction2) : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ +>s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s2 : Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^ +>then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction2P : () => Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->then : { , TResult2 = never>(onfulfilled?: (value: IPromise<{ x: number; }>) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ +>then : { , TResult2 = never>(onfulfilled?: (value: IPromise<{ x: number; }>) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var r3: IPromise; >r3 : IPromise @@ -692,48 +692,48 @@ var r3a = r3.then(testFunction3, testFunction3, testFunction3); > : ^^^^^^^^^^^^^^^^ >r3.then(testFunction3, testFunction3, testFunction3) : IPromise > : ^^^^^^^^^^^^^^^^ ->r3.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r3.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r3 : IPromise > : ^^^^^^^^^^^^^^^^ ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r3b = r3.then(testFunction3, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3); >r3b : IPromise > : ^^^^^^^^^^^^^^^^ >r3.then(testFunction3, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3) : IPromise > : ^^^^^^^^^^^^^^^^ ->r3.then(testFunction3, testFunction3, testFunction3).then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r3.then(testFunction3, testFunction3, testFunction3).then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r3.then(testFunction3, testFunction3, testFunction3) : IPromise > : ^^^^^^^^^^^^^^^^ ->r3.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r3.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r3 : IPromise > : ^^^^^^^^^^^^^^^^ ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s3: Promise; >s3 : Promise @@ -744,84 +744,84 @@ var s3a = s3.then(testFunction3, testFunction3, testFunction3); > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s3.then(testFunction3, testFunction3, testFunction3) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s3 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s3b = s3.then(testFunction3P, testFunction3P, testFunction3P); >s3b : Promise > : ^^^^^^^^^^^^^^^ >s3.then(testFunction3P, testFunction3P, testFunction3P) : Promise > : ^^^^^^^^^^^^^^^ ->s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s3 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction3P : (x: number) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3P : (x: number) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3P : (x: number) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s3c = s3.then(testFunction3P, testFunction3, testFunction3); >s3c : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s3.then(testFunction3P, testFunction3, testFunction3) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s3 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction3P : (x: number) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s3d = s3.then(testFunction3P, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3); // error >s3d : Promise > : ^^^^^^^^^^^^^^^ >s3.then(testFunction3P, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3) : Promise > : ^^^^^^^^^^^^^^^ ->s3.then(testFunction3P, testFunction3, testFunction3).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s3.then(testFunction3P, testFunction3, testFunction3).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s3.then(testFunction3P, testFunction3, testFunction3) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s3 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction3P : (x: number) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ->then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r4: IPromise; >r4 : IPromise @@ -844,48 +844,48 @@ var r4a = r4.then(testFunction4, testFunction4, testFunction4); // error > : ^^^^^^^^^^^^^^^^ >r4.then(testFunction4, testFunction4, testFunction4) : IPromise > : ^^^^^^^^^^^^^^^^ ->r4.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r4.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r4 : IPromise > : ^^^^^^^^^^^^^^^^ ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ var r4b = r4.then(sIPromise, testFunction4, testFunction4).then(sIPromise, testFunction4, testFunction4); // ok >r4b : IPromise > : ^^^^^^^^^^^^^^^^ >r4.then(sIPromise, testFunction4, testFunction4).then(sIPromise, testFunction4, testFunction4) : IPromise > : ^^^^^^^^^^^^^^^^ ->r4.then(sIPromise, testFunction4, testFunction4).then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r4.then(sIPromise, testFunction4, testFunction4).then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r4.then(sIPromise, testFunction4, testFunction4) : IPromise > : ^^^^^^^^^^^^^^^^ ->r4.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r4.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r4 : IPromise > : ^^^^^^^^^^^^^^^^ ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ var s4: Promise; >s4 : Promise @@ -896,84 +896,84 @@ var s4a = s4.then(testFunction4, testFunction4, testFunction4); // error > : ^^^^^^^^^^^^^^^ >s4.then(testFunction4, testFunction4, testFunction4) : Promise > : ^^^^^^^^^^^^^^^ ->s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s4 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ var s4b = s4.then(testFunction4P, testFunction4P, testFunction4P); // error >s4b : Promise > : ^^^^^^^^^^^^^^^ >s4.then(testFunction4P, testFunction4P, testFunction4P) : Promise > : ^^^^^^^^^^^^^^^ ->s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s4 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction4P : (x: number, y?: string) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4P : (x: number, y?: string) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4P : (x: number, y?: string) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ var s4c = s4.then(testFunction4P, testFunction4, testFunction4); // error >s4c : Promise > : ^^^^^^^^^^^^^^^ >s4.then(testFunction4P, testFunction4, testFunction4) : Promise > : ^^^^^^^^^^^^^^^ ->s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s4 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction4P : (x: number, y?: string) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ var s4d = s4.then(sIPromise, testFunction4P, testFunction4).then(sIPromise, testFunction4P, testFunction4); >s4d : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s4.then(sIPromise, testFunction4P, testFunction4).then(sIPromise, testFunction4P, testFunction4) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->s4.then(sIPromise, testFunction4P, testFunction4).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s4.then(sIPromise, testFunction4P, testFunction4).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s4.then(sIPromise, testFunction4P, testFunction4) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s4 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction4P : (x: number, y?: string) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ->then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ +>then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction4P : (x: number, y?: string) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ var r5: IPromise; >r5 : IPromise @@ -984,48 +984,48 @@ var r5a = r5.then(testFunction5, testFunction5, testFunction5); // error > : ^^^^^^^^^^^^^^^^ >r5.then(testFunction5, testFunction5, testFunction5) : IPromise > : ^^^^^^^^^^^^^^^^ ->r5.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r5.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r5 : IPromise > : ^^^^^^^^^^^^^^^^ ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction5 : (x: number, cb: (a: string) => string) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction5 : (x: number, cb: (a: string) => string) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction5 : (x: number, cb: (a: string) => string) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var r5b = r5.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >r5b : IPromise > : ^^^^^^^^^^^^^^^^ >r5.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ ->r5.then(sIPromise, sIPromise, sIPromise).then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r5.then(sIPromise, sIPromise, sIPromise).then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r5.then(sIPromise, sIPromise, sIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ ->r5.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r5.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r5 : IPromise > : ^^^^^^^^^^^^^^^^ ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s5: Promise; >s5 : Promise @@ -1036,84 +1036,84 @@ var s5a = s5.then(testFunction5, testFunction5, testFunction5); // error > : ^^^^^^^^^^^^^^^ >s5.then(testFunction5, testFunction5, testFunction5) : Promise > : ^^^^^^^^^^^^^^^ ->s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s5 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction5 : (x: number, cb: (a: string) => string) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction5 : (x: number, cb: (a: string) => string) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction5 : (x: number, cb: (a: string) => string) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var s5b = s5.then(testFunction5P, testFunction5P, testFunction5P); // error >s5b : Promise > : ^^^^^^^^^^^^^^^ >s5.then(testFunction5P, testFunction5P, testFunction5P) : Promise > : ^^^^^^^^^^^^^^^ ->s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s5 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction5P : (x: number, cb: (a: string) => string) => Promise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction5P : (x: number, cb: (a: string) => string) => Promise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction5P : (x: number, cb: (a: string) => string) => Promise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var s5c = s5.then(testFunction5P, testFunction5, testFunction5); // error >s5c : Promise > : ^^^^^^^^^^^^^^^ >s5.then(testFunction5P, testFunction5, testFunction5) : Promise > : ^^^^^^^^^^^^^^^ ->s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s5 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction5P : (x: number, cb: (a: string) => string) => Promise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction5 : (x: number, cb: (a: string) => string) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction5 : (x: number, cb: (a: string) => string) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var s5d = s5.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise); // ok >s5d : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s5.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->s5.then(sPromise, sPromise, sPromise).then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s5.then(sPromise, sPromise, sPromise).then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s5.then(sPromise, sPromise, sPromise) : Promise > : ^^^^^^^^^^^^^^^ ->s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s5 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r6: IPromise; >r6 : IPromise @@ -1124,48 +1124,48 @@ var r6a = r6.then(testFunction6, testFunction6, testFunction6); // error > : ^^^^^^^^^^^^^^^^ >r6.then(testFunction6, testFunction6, testFunction6) : IPromise > : ^^^^^^^^^^^^^^^^ ->r6.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r6.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r6 : IPromise > : ^^^^^^^^^^^^^^^^ ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction6 : (x: number, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction6 : (x: number, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction6 : (x: number, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var r6b = r6.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >r6b : IPromise > : ^^^^^^^^^^^^^^^^ >r6.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ ->r6.then(sIPromise, sIPromise, sIPromise).then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r6.then(sIPromise, sIPromise, sIPromise).then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r6.then(sIPromise, sIPromise, sIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ ->r6.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r6.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r6 : IPromise > : ^^^^^^^^^^^^^^^^ ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s6: Promise; >s6 : Promise @@ -1176,84 +1176,84 @@ var s6a = s6.then(testFunction6, testFunction6, testFunction6); // error > : ^^^^^^^^^^^^^^^ >s6.then(testFunction6, testFunction6, testFunction6) : Promise > : ^^^^^^^^^^^^^^^ ->s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s6 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction6 : (x: number, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction6 : (x: number, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction6 : (x: number, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var s6b = s6.then(testFunction6P, testFunction6P, testFunction6P); // error >s6b : Promise > : ^^^^^^^^^^^^^^^ >s6.then(testFunction6P, testFunction6P, testFunction6P) : Promise > : ^^^^^^^^^^^^^^^ ->s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s6 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction6P : (x: number, cb: (a: T) => T) => Promise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction6P : (x: number, cb: (a: T) => T) => Promise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction6P : (x: number, cb: (a: T) => T) => Promise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var s6c = s6.then(testFunction6P, testFunction6, testFunction6); // error >s6c : Promise > : ^^^^^^^^^^^^^^^ >s6.then(testFunction6P, testFunction6, testFunction6) : Promise > : ^^^^^^^^^^^^^^^ ->s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s6 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction6P : (x: number, cb: (a: T) => T) => Promise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction6 : (x: number, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction6 : (x: number, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var s6d = s6.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise); // ok >s6d : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s6.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->s6.then(sPromise, sPromise, sPromise).then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s6.then(sPromise, sPromise, sPromise).then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s6.then(sPromise, sPromise, sPromise) : Promise > : ^^^^^^^^^^^^^^^ ->s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s6 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r7: IPromise; >r7 : IPromise @@ -1264,48 +1264,48 @@ var r7a = r7.then(testFunction7, testFunction7, testFunction7); // error > : ^^^^^^^^^^^^^^^^ >r7.then(testFunction7, testFunction7, testFunction7) : IPromise > : ^^^^^^^^^^^^^^^^ ->r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r7 : IPromise > : ^^^^^^^^^^^^^^^^ ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction7 : (cb: (a: T) => T) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction7 : (cb: (a: T) => T) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction7 : (cb: (a: T) => T) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r7b = r7.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >r7b : IPromise > : ^^^^^^^^^^^^^^^^ >r7.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ ->r7.then(sIPromise, sIPromise, sIPromise).then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r7.then(sIPromise, sIPromise, sIPromise).then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r7.then(sIPromise, sIPromise, sIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ ->r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r7 : IPromise > : ^^^^^^^^^^^^^^^^ ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s7: Promise; >s7 : Promise @@ -1316,84 +1316,84 @@ var s7a = r7.then(testFunction7, testFunction7, testFunction7); // error > : ^^^^^^^^^^^^^^^^ >r7.then(testFunction7, testFunction7, testFunction7) : IPromise > : ^^^^^^^^^^^^^^^^ ->r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r7 : IPromise > : ^^^^^^^^^^^^^^^^ ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction7 : (cb: (a: T) => T) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction7 : (cb: (a: T) => T) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction7 : (cb: (a: T) => T) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s7b = r7.then(testFunction7P, testFunction7P, testFunction7P); // error >s7b : IPromise > : ^^^^^^^^^^^^^^^^ >r7.then(testFunction7P, testFunction7P, testFunction7P) : IPromise > : ^^^^^^^^^^^^^^^^ ->r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r7 : IPromise > : ^^^^^^^^^^^^^^^^ ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction7P : (cb: (a: T) => T) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction7P : (cb: (a: T) => T) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction7P : (cb: (a: T) => T) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s7c = r7.then(testFunction7P, testFunction7, testFunction7); // error >s7c : IPromise > : ^^^^^^^^^^^^^^^^ >r7.then(testFunction7P, testFunction7, testFunction7) : IPromise > : ^^^^^^^^^^^^^^^^ ->r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r7 : IPromise > : ^^^^^^^^^^^^^^^^ ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction7P : (cb: (a: T) => T) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction7 : (cb: (a: T) => T) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction7 : (cb: (a: T) => T) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s7d = r7.then(sPromise, sPromise, sPromise).then(sPromise, sPromise, sPromise); // ok? >s7d : IPromise > : ^^^^^^^^^^^^^^^^ >r7.then(sPromise, sPromise, sPromise).then(sPromise, sPromise, sPromise) : IPromise > : ^^^^^^^^^^^^^^^^ ->r7.then(sPromise, sPromise, sPromise).then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r7.then(sPromise, sPromise, sPromise).then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r7.then(sPromise, sPromise, sPromise) : IPromise > : ^^^^^^^^^^^^^^^^ ->r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r7 : IPromise > : ^^^^^^^^^^^^^^^^ ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r8: IPromise; >r8 : IPromise @@ -1416,48 +1416,48 @@ var r8a = r8.then(testFunction8, testFunction8, testFunction8); // error > : ^^^^^^^^^^^^^^^^^ >r8.then(testFunction8, testFunction8, testFunction8) : IPromise > : ^^^^^^^^^^^^^^^^^ ->r8.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r8.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r8 : IPromise > : ^^^^^^^^^^^^^^^^ ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction8 : (x: T, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction8 : (x: T, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction8 : (x: T, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var r8b = r8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise); // ok >r8b : IPromise > : ^^^^^^^^^^^^^^^^ >r8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ ->r8.then(nIPromise, nIPromise, nIPromise).then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r8.then(nIPromise, nIPromise, nIPromise).then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r8.then(nIPromise, nIPromise, nIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ ->r8.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r8.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r8 : IPromise > : ^^^^^^^^^^^^^^^^ ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s8: Promise; >s8 : Promise @@ -1468,84 +1468,84 @@ var s8a = s8.then(testFunction8, testFunction8, testFunction8); // error > : ^^^^^^^^^^^^^^^^ >s8.then(testFunction8, testFunction8, testFunction8) : Promise > : ^^^^^^^^^^^^^^^^ ->s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s8 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction8 : (x: T, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction8 : (x: T, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction8 : (x: T, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var s8b = s8.then(testFunction8P, testFunction8P, testFunction8P); // error >s8b : Promise > : ^^^^^^^^^^^^^^^^ >s8.then(testFunction8P, testFunction8P, testFunction8P) : Promise > : ^^^^^^^^^^^^^^^^ ->s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s8 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction8P : (x: T, cb: (a: T) => T) => Promise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction8P : (x: T, cb: (a: T) => T) => Promise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction8P : (x: T, cb: (a: T) => T) => Promise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var s8c = s8.then(testFunction8P, testFunction8, testFunction8); // error >s8c : Promise > : ^^^^^^^^^^^^^^^^ >s8.then(testFunction8P, testFunction8, testFunction8) : Promise > : ^^^^^^^^^^^^^^^^ ->s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s8 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction8P : (x: T, cb: (a: T) => T) => Promise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction8 : (x: T, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction8 : (x: T, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var s8d = s8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise); // ok >s8d : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->s8.then(nIPromise, nIPromise, nIPromise).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s8.then(nIPromise, nIPromise, nIPromise).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s8.then(nIPromise, nIPromise, nIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s8 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ->then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r9: IPromise; >r9 : IPromise @@ -1556,102 +1556,102 @@ var r9a = r9.then(testFunction9, testFunction9, testFunction9); // error > : ^^^^^^^^^^^^^^^^^ >r9.then(testFunction9, testFunction9, testFunction9) : IPromise > : ^^^^^^^^^^^^^^^^^ ->r9.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r9.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r9 : IPromise > : ^^^^^^^^^^^^^^^^ ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction9 : (x: T, cb: (a: U) => U) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction9 : (x: T, cb: (a: U) => U) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction9 : (x: T, cb: (a: U) => U) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var r9b = r9.then(sIPromise, sIPromise, sIPromise); // ok >r9b : IPromise > : ^^^^^^^^^^^^^^^^ >r9.then(sIPromise, sIPromise, sIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ ->r9.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r9.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r9 : IPromise > : ^^^^^^^^^^^^^^^^ ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r9c = r9.then(nIPromise, nIPromise, nIPromise); // ok >r9c : IPromise > : ^^^^^^^^^^^^^^^^ >r9.then(nIPromise, nIPromise, nIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ ->r9.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r9.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r9 : IPromise > : ^^^^^^^^^^^^^^^^ ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r9d = r9.then(testFunction, sIPromise, nIPromise); // ok >r9d : IPromise > : ^^^^^^^^^^^^^^^^ >r9.then(testFunction, sIPromise, nIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ ->r9.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r9.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r9 : IPromise > : ^^^^^^^^^^^^^^^^ ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r9e = r9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >r9e : IPromise > : ^^^^^^^^^^^^^^^^ >r9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ ->r9.then(testFunction, nIPromise, sIPromise).then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r9.then(testFunction, nIPromise, sIPromise).then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r9.then(testFunction, nIPromise, sIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ ->r9.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r9.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r9 : IPromise > : ^^^^^^^^^^^^^^^^ ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s9: Promise; >s9 : Promise @@ -1662,138 +1662,138 @@ var s9a = s9.then(testFunction9, testFunction9, testFunction9); // error > : ^^^^^^^^^^^^^^^^ >s9.then(testFunction9, testFunction9, testFunction9) : Promise > : ^^^^^^^^^^^^^^^^ ->s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s9 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction9 : (x: T, cb: (a: U) => U) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction9 : (x: T, cb: (a: U) => U) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction9 : (x: T, cb: (a: U) => U) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var s9b = s9.then(testFunction9P, testFunction9P, testFunction9P); // error >s9b : Promise > : ^^^^^^^^^^^^^^^^ >s9.then(testFunction9P, testFunction9P, testFunction9P) : Promise > : ^^^^^^^^^^^^^^^^ ->s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s9 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction9P : (x: T, cb: (a: U) => U) => Promise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction9P : (x: T, cb: (a: U) => U) => Promise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction9P : (x: T, cb: (a: U) => U) => Promise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var s9c = s9.then(testFunction9P, testFunction9, testFunction9); // error >s9c : Promise > : ^^^^^^^^^^^^^^^^ >s9.then(testFunction9P, testFunction9, testFunction9) : Promise > : ^^^^^^^^^^^^^^^^ ->s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s9 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction9P : (x: T, cb: (a: U) => U) => Promise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction9 : (x: T, cb: (a: U) => U) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction9 : (x: T, cb: (a: U) => U) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var s9d = s9.then(sPromise, sPromise, sPromise); // ok >s9d : Promise > : ^^^^^^^^^^^^^^^ >s9.then(sPromise, sPromise, sPromise) : Promise > : ^^^^^^^^^^^^^^^ ->s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s9 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s9e = s9.then(nPromise, nPromise, nPromise); // ok >s9e : Promise > : ^^^^^^^^^^^^^^^ >s9.then(nPromise, nPromise, nPromise) : Promise > : ^^^^^^^^^^^^^^^ ->s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s9 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >nPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s9f = s9.then(testFunction, sIPromise, nIPromise); // error >s9f : Promise > : ^^^^^^^^^^^^^^^ >s9.then(testFunction, sIPromise, nIPromise) : Promise > : ^^^^^^^^^^^^^^^ ->s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s9 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s9g = s9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >s9g : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->s9.then(testFunction, nIPromise, sIPromise).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s9.then(testFunction, nIPromise, sIPromise).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s9.then(testFunction, nIPromise, sIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s9 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ->then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r10 = testFunction10(x => x); >r10 : IPromise @@ -1801,7 +1801,7 @@ var r10 = testFunction10(x => x); >testFunction10(x => x) : IPromise > : ^^^^^^^^^^^^^^^^^ >testFunction10 : (cb: (a: U) => U) => IPromise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x => x : (x: U) => U > : ^^^^ ^^^^^^^^^ >x : U @@ -1814,102 +1814,102 @@ var r10a = r10.then(testFunction10, testFunction10, testFunction10); // ok > : ^^^^^^^^^^^^^^^^^ >r10.then(testFunction10, testFunction10, testFunction10) : IPromise > : ^^^^^^^^^^^^^^^^^ ->r10.then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r10.then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r10 : IPromise > : ^^^^^^^^^^^^^^^^^ ->then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction10 : (cb: (a: U) => U) => IPromise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >testFunction10 : (cb: (a: U) => U) => IPromise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >testFunction10 : (cb: (a: U) => U) => IPromise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ var r10b = r10.then(sIPromise, sIPromise, sIPromise); // ok >r10b : IPromise > : ^^^^^^^^^^^^^^^^ >r10.then(sIPromise, sIPromise, sIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ ->r10.then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r10.then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r10 : IPromise > : ^^^^^^^^^^^^^^^^^ ->then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r10c = r10.then(nIPromise, nIPromise, nIPromise); // ok >r10c : IPromise > : ^^^^^^^^^^^^^^^^ >r10.then(nIPromise, nIPromise, nIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ ->r10.then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r10.then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r10 : IPromise > : ^^^^^^^^^^^^^^^^^ ->then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r10d = r10.then(testFunction, sIPromise, nIPromise); // ok >r10d : IPromise > : ^^^^^^^^^^^^^^^^ >r10.then(testFunction, sIPromise, nIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ ->r10.then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r10.then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r10 : IPromise > : ^^^^^^^^^^^^^^^^^ ->then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r10e = r10.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >r10e : IPromise > : ^^^^^^^^^^^^^^^^ >r10.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ ->r10.then(testFunction, nIPromise, sIPromise).then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r10.then(testFunction, nIPromise, sIPromise).then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r10.then(testFunction, nIPromise, sIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ ->r10.then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r10.then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r10 : IPromise > : ^^^^^^^^^^^^^^^^^ ->then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s10 = testFunction10P(x => x); >s10 : Promise @@ -1917,7 +1917,7 @@ var s10 = testFunction10P(x => x); >testFunction10P(x => x) : Promise > : ^^^^^^^^^^^^^^^^ >testFunction10P : (cb: (a: U) => U) => Promise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x => x : (x: U) => U > : ^^^^ ^^^^^^^^^ >x : U @@ -1930,138 +1930,138 @@ var s10a = s10.then(testFunction10, testFunction10, testFunction10); // ok > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >s10.then(testFunction10, testFunction10, testFunction10) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s10 : Promise > : ^^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction10 : (cb: (a: U) => U) => IPromise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >testFunction10 : (cb: (a: U) => U) => IPromise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >testFunction10 : (cb: (a: U) => U) => IPromise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ var s10b = s10.then(testFunction10P, testFunction10P, testFunction10P); // ok >s10b : Promise > : ^^^^^^^^^^^^^^^^ >s10.then(testFunction10P, testFunction10P, testFunction10P) : Promise > : ^^^^^^^^^^^^^^^^ ->s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s10 : Promise > : ^^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction10P : (cb: (a: U) => U) => Promise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >testFunction10P : (cb: (a: U) => U) => Promise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >testFunction10P : (cb: (a: U) => U) => Promise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ var s10c = s10.then(testFunction10P, testFunction10, testFunction10); // ok >s10c : Promise > : ^^^^^^^^^^^^^^^^ >s10.then(testFunction10P, testFunction10, testFunction10) : Promise > : ^^^^^^^^^^^^^^^^ ->s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s10 : Promise > : ^^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction10P : (cb: (a: U) => U) => Promise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >testFunction10 : (cb: (a: U) => U) => IPromise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >testFunction10 : (cb: (a: U) => U) => IPromise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ var s10d = s10.then(sPromise, sPromise, sPromise); // ok >s10d : Promise > : ^^^^^^^^^^^^^^^ >s10.then(sPromise, sPromise, sPromise) : Promise > : ^^^^^^^^^^^^^^^ ->s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s10 : Promise > : ^^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s10e = s10.then(nIPromise, nPromise, nIPromise); // ok >s10e : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s10.then(nIPromise, nPromise, nIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s10 : Promise > : ^^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s10f = s10.then(testFunctionP, sIPromise, nIPromise); // error >s10f : Promise > : ^^^^^^^^^^^^^^^ >s10.then(testFunctionP, sIPromise, nIPromise) : Promise > : ^^^^^^^^^^^^^^^ ->s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s10 : Promise > : ^^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s10g = s10.then(testFunctionP, nIPromise, sIPromise).then(sPromise, sIPromise, sIPromise); // ok >s10g : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s10.then(testFunctionP, nIPromise, sIPromise).then(sPromise, sIPromise, sIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->s10.then(testFunctionP, nIPromise, sIPromise).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s10.then(testFunctionP, nIPromise, sIPromise).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s10.then(testFunctionP, nIPromise, sIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s10 : Promise > : ^^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ->then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r11: IPromise; >r11 : IPromise @@ -2072,18 +2072,18 @@ var r11a = r11.then(testFunction11, testFunction11, testFunction11); // error > : ^^^^^^^^^^^^^^^^ >r11.then(testFunction11, testFunction11, testFunction11) : IPromise > : ^^^^^^^^^^^^^^^^ ->r11.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r11.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r11 : IPromise > : ^^^^^^^^^^^^^^^^ ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ var s11: Promise; >s11 : Promise @@ -2094,62 +2094,62 @@ var s11a = s11.then(testFunction11, testFunction11, testFunction11); // ok > : ^^^^^^^^^^^^^^^ >s11.then(testFunction11, testFunction11, testFunction11) : Promise > : ^^^^^^^^^^^^^^^ ->s11.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s11.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s11 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ var s11b = s11.then(testFunction11P, testFunction11P, testFunction11P); // error >s11b : Promise > : ^^^^^^^^^^^^^^^ >s11.then(testFunction11P, testFunction11P, testFunction11P) : Promise > : ^^^^^^^^^^^^^^^ ->s11.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s11.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s11 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction11P : { (x: number): Promise; (x: string): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >testFunction11P : { (x: number): Promise; (x: string): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >testFunction11P : { (x: number): Promise; (x: string): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ var s11c = s11.then(testFunction11P, testFunction11, testFunction11); // error >s11c : Promise > : ^^^^^^^^^^^^^^^ >s11.then(testFunction11P, testFunction11, testFunction11) : Promise > : ^^^^^^^^^^^^^^^ ->s11.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s11.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s11 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction11P : { (x: number): Promise; (x: string): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ var r12 = testFunction12(x => x); >r12 : IPromise<(x: any) => any> > : ^^^^^^^^^^ ^^^^^^^^^^^^^^ >testFunction12(x => x) : IPromise<(x: any) => any> > : ^^^^^^^^^^ ^^^^^^^^^^^^^^ ->testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +>testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x => x : (x: any) => any > : ^ ^^^^^^^^^^^^^ >x : any @@ -2162,26 +2162,26 @@ var r12a = r12.then(testFunction12, testFunction12, testFunction12); // ok > : ^^^^^^^^^^^^^^^^^ >r12.then(testFunction12, testFunction12, testFunction12) : IPromise > : ^^^^^^^^^^^^^^^^^ ->r12.then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r12.then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r12 : IPromise<(x: any) => any> > : ^^^^^^^^^^ ^^^^^^^^^^^^^^ ->then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ->testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ->testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ->testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ +>testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +>testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +>testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var s12 = testFunction12(x => x); >s12 : IPromise<(x: any) => any> > : ^^^^^^^^^^ ^^^^^^^^^^^^^^ >testFunction12(x => x) : IPromise<(x: any) => any> > : ^^^^^^^^^^ ^^^^^^^^^^^^^^ ->testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +>testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x => x : (x: any) => any > : ^ ^^^^^^^^^^^^^ >x : any @@ -2194,52 +2194,52 @@ var s12a = s12.then(testFunction12, testFunction12, testFunction12); // ok > : ^^^^^^^^^^^^^^^^^ >s12.then(testFunction12, testFunction12, testFunction12) : IPromise > : ^^^^^^^^^^^^^^^^^ ->s12.then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>s12.then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >s12 : IPromise<(x: any) => any> > : ^^^^^^^^^^ ^^^^^^^^^^^^^^ ->then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ->testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ->testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ->testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ +>testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +>testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +>testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var s12b = s12.then(testFunction12P, testFunction12P, testFunction12P); // ok >s12b : IPromise > : ^^^^^^^^^^^^^^^^^ >s12.then(testFunction12P, testFunction12P, testFunction12P) : IPromise > : ^^^^^^^^^^^^^^^^^ ->s12.then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>s12.then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >s12 : IPromise<(x: any) => any> > : ^^^^^^^^^^ ^^^^^^^^^^^^^^ ->then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ->testFunction12P : { (x: T): IPromise; (x: T_1, y: T_1): Promise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ->testFunction12P : { (x: T): IPromise; (x: T_1, y: T_1): Promise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ->testFunction12P : { (x: T): IPromise; (x: T_1, y: T_1): Promise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ +>testFunction12P : { (x: T): IPromise; (x: T, y: T): Promise; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +>testFunction12P : { (x: T): IPromise; (x: T, y: T): Promise; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +>testFunction12P : { (x: T): IPromise; (x: T, y: T): Promise; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var s12c = s12.then(testFunction12P, testFunction12, testFunction12); // ok >s12c : IPromise > : ^^^^^^^^^^^^^^^^^ >s12.then(testFunction12P, testFunction12, testFunction12) : IPromise > : ^^^^^^^^^^^^^^^^^ ->s12.then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>s12.then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >s12 : IPromise<(x: any) => any> > : ^^^^^^^^^^ ^^^^^^^^^^^^^^ ->then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ->testFunction12P : { (x: T): IPromise; (x: T_1, y: T_1): Promise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ->testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ->testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ +>testFunction12P : { (x: T): IPromise; (x: T, y: T): Promise; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +>testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +>testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ diff --git a/tests/baselines/reference/promisePermutations2.types b/tests/baselines/reference/promisePermutations2.types index f1a21c2c53b64..d7781b8a9ac15 100644 --- a/tests/baselines/reference/promisePermutations2.types +++ b/tests/baselines/reference/promisePermutations2.types @@ -1,7 +1,7 @@ //// [tests/cases/compiler/promisePermutations2.ts] //// === Performance Stats === -Instantiation count: 2,500 +Instantiation count: 2,500 -> 10,000 === promisePermutations2.ts === // same as promisePermutations but without the same overloads in Promise @@ -9,7 +9,7 @@ Instantiation count: 2,500 interface Promise { then(success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; >then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => U > : ^ ^^ ^^^^^ >value : T @@ -42,8 +42,8 @@ interface Promise { interface IPromise { then(success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; ->then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_1, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_1, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; } +> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => IPromise > : ^ ^^ ^^^^^ >value : T @@ -58,8 +58,8 @@ interface IPromise { > : ^^^ then(success?: (value: T) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; ->then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_1, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_1, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; } +> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => IPromise > : ^ ^^ ^^^^^ >value : T @@ -74,8 +74,8 @@ interface IPromise { > : ^^^ then(success?: (value: T) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; ->then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U_2, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_1, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; } +> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => U > : ^ ^^ ^^^^^ >value : T @@ -90,8 +90,8 @@ interface IPromise { > : ^^^ then(success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; ->then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U_2, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_3, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } -> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ +>then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_1, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => U > : ^ ^^ ^^^^^ >value : T @@ -284,37 +284,37 @@ declare function testFunction10P(cb: (a: U) => U): Promise; declare function testFunction11(x: number): IPromise; >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ declare function testFunction11(x: string): IPromise; >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ declare function testFunction11P(x: number): Promise; >testFunction11P : { (x: number): Promise; (x: string): Promise; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ declare function testFunction11P(x: string): Promise; >testFunction11P : { (x: number): Promise; (x: string): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ declare function testFunction12(x: T): IPromise; >testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ declare function testFunction12(x: T, y: T): IPromise; >testFunction12 : { (x: T_1): IPromise; (x: T, y: T): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ >y : T @@ -322,13 +322,13 @@ declare function testFunction12(x: T, y: T): IPromise; declare function testFunction12P(x: T): IPromise; >testFunction12P : { (x: T): IPromise; (x: T_1, y: T_1): Promise; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ declare function testFunction12P(x: T, y: T): Promise; >testFunction12P : { (x: T_1): IPromise; (x: T, y: T): Promise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ >y : T @@ -343,66 +343,66 @@ var r1a = r1.then(testFunction, testFunction, testFunction); > : ^^^^^^^^^^^^^^^^ >r1.then(testFunction, testFunction, testFunction) : IPromise > : ^^^^^^^^^^^^^^^^ ->r1.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r1.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r1 : IPromise > : ^^^^^^^^^^^^^^^^ ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var r1b = r1.then(testFunction, testFunction, testFunction).then(testFunction, testFunction, testFunction); >r1b : IPromise > : ^^^^^^^^^^^^^^^^ >r1.then(testFunction, testFunction, testFunction).then(testFunction, testFunction, testFunction) : IPromise > : ^^^^^^^^^^^^^^^^ ->r1.then(testFunction, testFunction, testFunction).then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r1.then(testFunction, testFunction, testFunction).then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r1.then(testFunction, testFunction, testFunction) : IPromise > : ^^^^^^^^^^^^^^^^ ->r1.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r1.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r1 : IPromise > : ^^^^^^^^^^^^^^^^ ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var r1c = r1.then(testFunctionP, testFunctionP, testFunctionP); >r1c : IPromise > : ^^^^^^^^^^^^^^^^ >r1.then(testFunctionP, testFunctionP, testFunctionP) : IPromise > : ^^^^^^^^^^^^^^^^ ->r1.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r1.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r1 : IPromise > : ^^^^^^^^^^^^^^^^ ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var s1: Promise; >s1 : Promise @@ -414,17 +414,17 @@ var s1a = s1.then(testFunction, testFunction, testFunction); >s1.then(testFunction, testFunction, testFunction) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s1 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var s1b = s1.then(testFunctionP, testFunctionP, testFunctionP); >s1b : Promise> @@ -432,17 +432,17 @@ var s1b = s1.then(testFunctionP, testFunctionP, testFunctionP); >s1.then(testFunctionP, testFunctionP, testFunctionP) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^ >s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s1 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var s1c = s1.then(testFunctionP, testFunction, testFunction); >s1c : Promise> @@ -450,17 +450,17 @@ var s1c = s1.then(testFunctionP, testFunction, testFunction); >s1.then(testFunctionP, testFunction, testFunction) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s1 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var s1d = s1.then(testFunctionP, testFunction, testFunction).then(testFunction, testFunction, testFunction); >s1d : Promise> @@ -468,29 +468,29 @@ var s1d = s1.then(testFunctionP, testFunction, testFunction).then(testFunction, >s1.then(testFunctionP, testFunction, testFunction).then(testFunction, testFunction, testFunction) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s1.then(testFunctionP, testFunction, testFunction).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s1.then(testFunctionP, testFunction, testFunction) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s1 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var r2: IPromise<{ x: number; }>; >r2 : IPromise<{ x: number; }> @@ -500,51 +500,51 @@ var r2: IPromise<{ x: number; }>; var r2a = r2.then(testFunction2, testFunction2, testFunction2); >r2a : IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^ >r2.then(testFunction2, testFunction2, testFunction2) : IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ->r2.then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^ +>r2.then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r2 : IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ->then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^ +>then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var r2b = r2.then(testFunction2, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2); >r2b : IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^ >r2.then(testFunction2, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2) : IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ->r2.then(testFunction2, testFunction2, testFunction2).then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^ +>r2.then(testFunction2, testFunction2, testFunction2).then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r2.then(testFunction2, testFunction2, testFunction2) : IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ->r2.then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^ +>r2.then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r2 : IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ->then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^ +>then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ +>then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var s2: Promise<{ x: number; }>; >s2 : Promise<{ x: number; }> @@ -554,87 +554,87 @@ var s2: Promise<{ x: number; }>; var s2a = s2.then(testFunction2, testFunction2, testFunction2); >s2a : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >s2.then(testFunction2, testFunction2, testFunction2) : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s2 : Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^ >then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var s2b = s2.then(testFunction2P, testFunction2P, testFunction2P); >s2b : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >s2.then(testFunction2P, testFunction2P, testFunction2P) : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s2 : Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^ >then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction2P : () => Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2P : () => Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2P : () => Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var s2c = s2.then(testFunction2P, testFunction2, testFunction2); >s2c : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >s2.then(testFunction2P, testFunction2, testFunction2) : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s2 : Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^ >then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction2P : () => Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var s2d = s2.then(testFunction2P, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2); >s2d : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >s2.then(testFunction2P, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2) : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >s2.then(testFunction2P, testFunction2, testFunction2).then : { , TResult2 = never>(onfulfilled?: (value: IPromise<{ x: number; }>) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise<{ x: number; }>) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s2.then(testFunction2P, testFunction2, testFunction2) : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s2 : Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^ >then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction2P : () => Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >then : { , TResult2 = never>(onfulfilled?: (value: IPromise<{ x: number; }>) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise<{ x: number; }>) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var r3: IPromise; >r3 : IPromise @@ -645,48 +645,48 @@ var r3a = r3.then(testFunction3, testFunction3, testFunction3); > : ^^^^^^^^^^^^^^^^ >r3.then(testFunction3, testFunction3, testFunction3) : IPromise > : ^^^^^^^^^^^^^^^^ ->r3.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r3.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r3 : IPromise > : ^^^^^^^^^^^^^^^^ ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r3b = r3.then(testFunction3, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3); >r3b : IPromise > : ^^^^^^^^^^^^^^^^ >r3.then(testFunction3, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3) : IPromise > : ^^^^^^^^^^^^^^^^ ->r3.then(testFunction3, testFunction3, testFunction3).then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r3.then(testFunction3, testFunction3, testFunction3).then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r3.then(testFunction3, testFunction3, testFunction3) : IPromise > : ^^^^^^^^^^^^^^^^ ->r3.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r3.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r3 : IPromise > : ^^^^^^^^^^^^^^^^ ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s3: Promise; >s3 : Promise @@ -698,17 +698,17 @@ var s3a = s3.then(testFunction3, testFunction3, testFunction3); >s3.then(testFunction3, testFunction3, testFunction3) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s3 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s3b = s3.then(testFunction3P, testFunction3P, testFunction3P); >s3b : Promise> @@ -716,17 +716,17 @@ var s3b = s3.then(testFunction3P, testFunction3P, testFunction3P); >s3.then(testFunction3P, testFunction3P, testFunction3P) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^ >s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s3 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction3P : (x: number) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3P : (x: number) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3P : (x: number) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s3c = s3.then(testFunction3P, testFunction3, testFunction3); >s3c : Promise> @@ -734,17 +734,17 @@ var s3c = s3.then(testFunction3P, testFunction3, testFunction3); >s3.then(testFunction3P, testFunction3, testFunction3) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s3 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction3P : (x: number) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s3d = s3.then(testFunction3P, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3); // Should error >s3d : Promise> @@ -752,29 +752,29 @@ var s3d = s3.then(testFunction3P, testFunction3, testFunction3).then(testFunctio >s3.then(testFunction3P, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s3.then(testFunction3P, testFunction3, testFunction3).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s3.then(testFunction3P, testFunction3, testFunction3) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s3 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction3P : (x: number) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r4: IPromise; >r4 : IPromise @@ -797,48 +797,48 @@ var r4a = r4.then(testFunction4, testFunction4, testFunction4); // error > : ^^^^^^^^^^^^^^^^ >r4.then(testFunction4, testFunction4, testFunction4) : IPromise > : ^^^^^^^^^^^^^^^^ ->r4.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r4.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r4 : IPromise > : ^^^^^^^^^^^^^^^^ ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ var r4b = r4.then(sIPromise, testFunction4, testFunction4).then(sIPromise, testFunction4, testFunction4); // ok >r4b : IPromise > : ^^^^^^^^^^^^^^^^ >r4.then(sIPromise, testFunction4, testFunction4).then(sIPromise, testFunction4, testFunction4) : IPromise > : ^^^^^^^^^^^^^^^^ ->r4.then(sIPromise, testFunction4, testFunction4).then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r4.then(sIPromise, testFunction4, testFunction4).then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r4.then(sIPromise, testFunction4, testFunction4) : IPromise > : ^^^^^^^^^^^^^^^^ ->r4.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r4.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r4 : IPromise > : ^^^^^^^^^^^^^^^^ ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ var s4: Promise; >s4 : Promise @@ -850,17 +850,17 @@ var s4a = s4.then(testFunction4, testFunction4, testFunction4); // error >s4.then(testFunction4, testFunction4, testFunction4) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s4 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ var s4b = s4.then(testFunction4P, testFunction4P, testFunction4P); // error >s4b : Promise> @@ -868,17 +868,17 @@ var s4b = s4.then(testFunction4P, testFunction4P, testFunction4P); // error >s4.then(testFunction4P, testFunction4P, testFunction4P) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^ >s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s4 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction4P : (x: number, y?: string) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4P : (x: number, y?: string) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4P : (x: number, y?: string) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ var s4c = s4.then(testFunction4P, testFunction4, testFunction4); // error >s4c : Promise> @@ -886,17 +886,17 @@ var s4c = s4.then(testFunction4P, testFunction4, testFunction4); // error >s4.then(testFunction4P, testFunction4, testFunction4) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s4 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction4P : (x: number, y?: string) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ var s4d = s4.then(sIPromise, testFunction4P, testFunction4).then(sIPromise, testFunction4P, testFunction4); >s4d : Promise> @@ -904,29 +904,29 @@ var s4d = s4.then(sIPromise, testFunction4P, testFunction4).then(sIPromise, test >s4.then(sIPromise, testFunction4P, testFunction4).then(sIPromise, testFunction4P, testFunction4) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s4.then(sIPromise, testFunction4P, testFunction4).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s4.then(sIPromise, testFunction4P, testFunction4) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s4 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction4P : (x: number, y?: string) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction4P : (x: number, y?: string) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ var r5: IPromise; >r5 : IPromise @@ -937,48 +937,48 @@ var r5a = r5.then(testFunction5, testFunction5, testFunction5); // error > : ^^^^^^^^^^^^^^^^ >r5.then(testFunction5, testFunction5, testFunction5) : IPromise > : ^^^^^^^^^^^^^^^^ ->r5.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r5.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r5 : IPromise > : ^^^^^^^^^^^^^^^^ ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction5 : (x: number, cb: (a: string) => string) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction5 : (x: number, cb: (a: string) => string) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction5 : (x: number, cb: (a: string) => string) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var r5b = r5.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >r5b : IPromise > : ^^^^^^^^^^^^^^^^ >r5.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ ->r5.then(sIPromise, sIPromise, sIPromise).then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r5.then(sIPromise, sIPromise, sIPromise).then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r5.then(sIPromise, sIPromise, sIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ ->r5.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r5.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r5 : IPromise > : ^^^^^^^^^^^^^^^^ ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s5: Promise; >s5 : Promise @@ -990,17 +990,17 @@ var s5a = s5.then(testFunction5, testFunction5, testFunction5); // error >s5.then(testFunction5, testFunction5, testFunction5) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s5 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction5 : (x: number, cb: (a: string) => string) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction5 : (x: number, cb: (a: string) => string) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction5 : (x: number, cb: (a: string) => string) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var s5b = s5.then(testFunction5P, testFunction5P, testFunction5P); // error >s5b : Promise> @@ -1008,17 +1008,17 @@ var s5b = s5.then(testFunction5P, testFunction5P, testFunction5P); // error >s5.then(testFunction5P, testFunction5P, testFunction5P) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^ >s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s5 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction5P : (x: number, cb: (a: string) => string) => Promise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction5P : (x: number, cb: (a: string) => string) => Promise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction5P : (x: number, cb: (a: string) => string) => Promise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var s5c = s5.then(testFunction5P, testFunction5, testFunction5); // error >s5c : Promise> @@ -1026,17 +1026,17 @@ var s5c = s5.then(testFunction5P, testFunction5, testFunction5); // error >s5.then(testFunction5P, testFunction5, testFunction5) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s5 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction5P : (x: number, cb: (a: string) => string) => Promise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction5 : (x: number, cb: (a: string) => string) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction5 : (x: number, cb: (a: string) => string) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var s5d = s5.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise); // ok >s5d : Promise> @@ -1044,29 +1044,29 @@ var s5d = s5.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPro >s5.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s5.then(sPromise, sPromise, sPromise).then : { , TResult2 = never>(onfulfilled?: (value: Promise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: Promise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s5.then(sPromise, sPromise, sPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^ >s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s5 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : { , TResult2 = never>(onfulfilled?: (value: Promise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: Promise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r6: IPromise; >r6 : IPromise @@ -1077,48 +1077,48 @@ var r6a = r6.then(testFunction6, testFunction6, testFunction6); // error > : ^^^^^^^^^^^^^^^^ >r6.then(testFunction6, testFunction6, testFunction6) : IPromise > : ^^^^^^^^^^^^^^^^ ->r6.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r6.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r6 : IPromise > : ^^^^^^^^^^^^^^^^ ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction6 : (x: number, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction6 : (x: number, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction6 : (x: number, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var r6b = r6.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >r6b : IPromise > : ^^^^^^^^^^^^^^^^ >r6.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ ->r6.then(sIPromise, sIPromise, sIPromise).then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r6.then(sIPromise, sIPromise, sIPromise).then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r6.then(sIPromise, sIPromise, sIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ ->r6.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r6.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r6 : IPromise > : ^^^^^^^^^^^^^^^^ ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s6: Promise; >s6 : Promise @@ -1130,17 +1130,17 @@ var s6a = s6.then(testFunction6, testFunction6, testFunction6); // error >s6.then(testFunction6, testFunction6, testFunction6) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s6 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction6 : (x: number, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction6 : (x: number, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction6 : (x: number, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var s6b = s6.then(testFunction6P, testFunction6P, testFunction6P); // error >s6b : Promise> @@ -1148,17 +1148,17 @@ var s6b = s6.then(testFunction6P, testFunction6P, testFunction6P); // error >s6.then(testFunction6P, testFunction6P, testFunction6P) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^ >s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s6 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction6P : (x: number, cb: (a: T) => T) => Promise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction6P : (x: number, cb: (a: T) => T) => Promise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction6P : (x: number, cb: (a: T) => T) => Promise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var s6c = s6.then(testFunction6P, testFunction6, testFunction6); // error >s6c : Promise> @@ -1166,17 +1166,17 @@ var s6c = s6.then(testFunction6P, testFunction6, testFunction6); // error >s6.then(testFunction6P, testFunction6, testFunction6) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s6 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction6P : (x: number, cb: (a: T) => T) => Promise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction6 : (x: number, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction6 : (x: number, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var s6d = s6.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise); // ok >s6d : Promise> @@ -1184,29 +1184,29 @@ var s6d = s6.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPro >s6.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s6.then(sPromise, sPromise, sPromise).then : { , TResult2 = never>(onfulfilled?: (value: Promise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: Promise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s6.then(sPromise, sPromise, sPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^ >s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s6 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : { , TResult2 = never>(onfulfilled?: (value: Promise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: Promise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r7: IPromise; >r7 : IPromise @@ -1217,48 +1217,48 @@ var r7a = r7.then(testFunction7, testFunction7, testFunction7); // error > : ^^^^^^^^^^^^^^^^ >r7.then(testFunction7, testFunction7, testFunction7) : IPromise > : ^^^^^^^^^^^^^^^^ ->r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r7 : IPromise > : ^^^^^^^^^^^^^^^^ ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction7 : (cb: (a: T) => T) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction7 : (cb: (a: T) => T) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction7 : (cb: (a: T) => T) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r7b = r7.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >r7b : IPromise > : ^^^^^^^^^^^^^^^^ >r7.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ ->r7.then(sIPromise, sIPromise, sIPromise).then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r7.then(sIPromise, sIPromise, sIPromise).then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r7.then(sIPromise, sIPromise, sIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ ->r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r7 : IPromise > : ^^^^^^^^^^^^^^^^ ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s7: Promise; >s7 : Promise @@ -1269,84 +1269,84 @@ var s7a = r7.then(testFunction7, testFunction7, testFunction7); // error > : ^^^^^^^^^^^^^^^^ >r7.then(testFunction7, testFunction7, testFunction7) : IPromise > : ^^^^^^^^^^^^^^^^ ->r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r7 : IPromise > : ^^^^^^^^^^^^^^^^ ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction7 : (cb: (a: T) => T) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction7 : (cb: (a: T) => T) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction7 : (cb: (a: T) => T) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s7b = r7.then(testFunction7P, testFunction7P, testFunction7P); // error >s7b : IPromise > : ^^^^^^^^^^^^^^^^ >r7.then(testFunction7P, testFunction7P, testFunction7P) : IPromise > : ^^^^^^^^^^^^^^^^ ->r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r7 : IPromise > : ^^^^^^^^^^^^^^^^ ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction7P : (cb: (a: T) => T) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction7P : (cb: (a: T) => T) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction7P : (cb: (a: T) => T) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s7c = r7.then(testFunction7P, testFunction7, testFunction7); // error >s7c : IPromise > : ^^^^^^^^^^^^^^^^ >r7.then(testFunction7P, testFunction7, testFunction7) : IPromise > : ^^^^^^^^^^^^^^^^ ->r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r7 : IPromise > : ^^^^^^^^^^^^^^^^ ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction7P : (cb: (a: T) => T) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction7 : (cb: (a: T) => T) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction7 : (cb: (a: T) => T) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s7d = r7.then(sPromise, sPromise, sPromise).then(sPromise, sPromise, sPromise); // ok? >s7d : IPromise > : ^^^^^^^^^^^^^^^^ >r7.then(sPromise, sPromise, sPromise).then(sPromise, sPromise, sPromise) : IPromise > : ^^^^^^^^^^^^^^^^ ->r7.then(sPromise, sPromise, sPromise).then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r7.then(sPromise, sPromise, sPromise).then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r7.then(sPromise, sPromise, sPromise) : IPromise > : ^^^^^^^^^^^^^^^^ ->r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r7 : IPromise > : ^^^^^^^^^^^^^^^^ ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r8: IPromise; >r8 : IPromise @@ -1369,48 +1369,48 @@ var r8a = r8.then(testFunction8, testFunction8, testFunction8); // error > : ^^^^^^^^^^^^^^^^^ >r8.then(testFunction8, testFunction8, testFunction8) : IPromise > : ^^^^^^^^^^^^^^^^^ ->r8.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r8.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r8 : IPromise > : ^^^^^^^^^^^^^^^^ ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction8 : (x: T, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction8 : (x: T, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction8 : (x: T, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var r8b = r8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise); // ok >r8b : IPromise > : ^^^^^^^^^^^^^^^^ >r8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ ->r8.then(nIPromise, nIPromise, nIPromise).then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r8.then(nIPromise, nIPromise, nIPromise).then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r8.then(nIPromise, nIPromise, nIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ ->r8.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r8.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r8 : IPromise > : ^^^^^^^^^^^^^^^^ ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s8: Promise; >s8 : Promise @@ -1422,17 +1422,17 @@ var s8a = s8.then(testFunction8, testFunction8, testFunction8); // error >s8.then(testFunction8, testFunction8, testFunction8) : Promise > : ^^^^^^^^^^^^^^^^ >s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s8 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction8 : (x: T, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction8 : (x: T, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction8 : (x: T, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var s8b = s8.then(testFunction8P, testFunction8P, testFunction8P); // error >s8b : Promise @@ -1440,17 +1440,17 @@ var s8b = s8.then(testFunction8P, testFunction8P, testFunction8P); // error >s8.then(testFunction8P, testFunction8P, testFunction8P) : Promise > : ^^^^^^^^^^^^^^^^ >s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s8 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction8P : (x: T, cb: (a: T) => T) => Promise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction8P : (x: T, cb: (a: T) => T) => Promise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction8P : (x: T, cb: (a: T) => T) => Promise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var s8c = s8.then(testFunction8P, testFunction8, testFunction8); // error >s8c : Promise @@ -1458,17 +1458,17 @@ var s8c = s8.then(testFunction8P, testFunction8, testFunction8); // error >s8.then(testFunction8P, testFunction8, testFunction8) : Promise > : ^^^^^^^^^^^^^^^^ >s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s8 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction8P : (x: T, cb: (a: T) => T) => Promise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction8 : (x: T, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction8 : (x: T, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var s8d = s8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise); // ok >s8d : Promise> @@ -1476,29 +1476,29 @@ var s8d = s8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nI >s8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s8.then(nIPromise, nIPromise, nIPromise).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s8.then(nIPromise, nIPromise, nIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s8 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r9: IPromise; >r9 : IPromise @@ -1509,102 +1509,102 @@ var r9a = r9.then(testFunction9, testFunction9, testFunction9); // error > : ^^^^^^^^^^^^^^^^^ >r9.then(testFunction9, testFunction9, testFunction9) : IPromise > : ^^^^^^^^^^^^^^^^^ ->r9.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r9.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r9 : IPromise > : ^^^^^^^^^^^^^^^^ ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction9 : (x: T, cb: (a: U) => U) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction9 : (x: T, cb: (a: U) => U) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction9 : (x: T, cb: (a: U) => U) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var r9b = r9.then(sIPromise, sIPromise, sIPromise); // ok >r9b : IPromise > : ^^^^^^^^^^^^^^^^ >r9.then(sIPromise, sIPromise, sIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ ->r9.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r9.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r9 : IPromise > : ^^^^^^^^^^^^^^^^ ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r9c = r9.then(nIPromise, nIPromise, nIPromise); // ok >r9c : IPromise > : ^^^^^^^^^^^^^^^^ >r9.then(nIPromise, nIPromise, nIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ ->r9.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r9.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r9 : IPromise > : ^^^^^^^^^^^^^^^^ ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r9d = r9.then(testFunction, sIPromise, nIPromise); // error >r9d : IPromise > : ^^^^^^^^^^^^^^^^ >r9.then(testFunction, sIPromise, nIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ ->r9.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r9.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r9 : IPromise > : ^^^^^^^^^^^^^^^^ ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r9e = r9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >r9e : IPromise > : ^^^^^^^^^^^^^^^^ >r9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ ->r9.then(testFunction, nIPromise, sIPromise).then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r9.then(testFunction, nIPromise, sIPromise).then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r9.then(testFunction, nIPromise, sIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ ->r9.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r9.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r9 : IPromise > : ^^^^^^^^^^^^^^^^ ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s9: Promise; >s9 : Promise @@ -1616,17 +1616,17 @@ var s9a = s9.then(testFunction9, testFunction9, testFunction9); // error >s9.then(testFunction9, testFunction9, testFunction9) : Promise > : ^^^^^^^^^^^^^^^^ >s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s9 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction9 : (x: T, cb: (a: U) => U) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction9 : (x: T, cb: (a: U) => U) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction9 : (x: T, cb: (a: U) => U) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var s9b = s9.then(testFunction9P, testFunction9P, testFunction9P); // error >s9b : Promise @@ -1634,17 +1634,17 @@ var s9b = s9.then(testFunction9P, testFunction9P, testFunction9P); // error >s9.then(testFunction9P, testFunction9P, testFunction9P) : Promise > : ^^^^^^^^^^^^^^^^ >s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s9 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction9P : (x: T, cb: (a: U) => U) => Promise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction9P : (x: T, cb: (a: U) => U) => Promise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction9P : (x: T, cb: (a: U) => U) => Promise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var s9c = s9.then(testFunction9P, testFunction9, testFunction9); // error >s9c : Promise @@ -1652,17 +1652,17 @@ var s9c = s9.then(testFunction9P, testFunction9, testFunction9); // error >s9.then(testFunction9P, testFunction9, testFunction9) : Promise > : ^^^^^^^^^^^^^^^^ >s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s9 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction9P : (x: T, cb: (a: U) => U) => Promise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction9 : (x: T, cb: (a: U) => U) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction9 : (x: T, cb: (a: U) => U) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var s9d = s9.then(sPromise, sPromise, sPromise); // ok >s9d : Promise> @@ -1670,17 +1670,17 @@ var s9d = s9.then(sPromise, sPromise, sPromise); // ok >s9.then(sPromise, sPromise, sPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^ >s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s9 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s9e = s9.then(nPromise, nPromise, nPromise); // ok >s9e : Promise> @@ -1688,17 +1688,17 @@ var s9e = s9.then(nPromise, nPromise, nPromise); // ok >s9.then(nPromise, nPromise, nPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^ >s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s9 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >nPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s9f = s9.then(testFunction, sIPromise, nIPromise); // error >s9f : Promise> @@ -1706,17 +1706,17 @@ var s9f = s9.then(testFunction, sIPromise, nIPromise); // error >s9.then(testFunction, sIPromise, nIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s9 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s9g = s9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >s9g : Promise> @@ -1724,29 +1724,29 @@ var s9g = s9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, >s9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s9.then(testFunction, nIPromise, sIPromise).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s9.then(testFunction, nIPromise, sIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s9 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r10 = testFunction10(x => x); >r10 : IPromise @@ -1754,7 +1754,7 @@ var r10 = testFunction10(x => x); >testFunction10(x => x) : IPromise > : ^^^^^^^^^^^^^^^^^ >testFunction10 : (cb: (a: U) => U) => IPromise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x => x : (x: U) => U > : ^^^^ ^^^^^^^^^ >x : U @@ -1767,102 +1767,102 @@ var r10a = r10.then(testFunction10, testFunction10, testFunction10); // ok > : ^^^^^^^^^^^^^^^^^ >r10.then(testFunction10, testFunction10, testFunction10) : IPromise > : ^^^^^^^^^^^^^^^^^ ->r10.then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r10.then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r10 : IPromise > : ^^^^^^^^^^^^^^^^^ ->then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction10 : (cb: (a: U) => U) => IPromise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >testFunction10 : (cb: (a: U) => U) => IPromise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >testFunction10 : (cb: (a: U) => U) => IPromise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ var r10b = r10.then(sIPromise, sIPromise, sIPromise); // ok >r10b : IPromise > : ^^^^^^^^^^^^^^^^ >r10.then(sIPromise, sIPromise, sIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ ->r10.then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r10.then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r10 : IPromise > : ^^^^^^^^^^^^^^^^^ ->then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r10c = r10.then(nIPromise, nIPromise, nIPromise); // ok >r10c : IPromise > : ^^^^^^^^^^^^^^^^ >r10.then(nIPromise, nIPromise, nIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ ->r10.then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r10.then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r10 : IPromise > : ^^^^^^^^^^^^^^^^^ ->then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r10d = r10.then(testFunction, sIPromise, nIPromise); // error >r10d : IPromise > : ^^^^^^^^^^^^^^^^ >r10.then(testFunction, sIPromise, nIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ ->r10.then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r10.then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r10 : IPromise > : ^^^^^^^^^^^^^^^^^ ->then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r10e = r10.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >r10e : IPromise > : ^^^^^^^^^^^^^^^^ >r10.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ ->r10.then(testFunction, nIPromise, sIPromise).then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r10.then(testFunction, nIPromise, sIPromise).then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r10.then(testFunction, nIPromise, sIPromise) : IPromise > : ^^^^^^^^^^^^^^^^ ->r10.then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r10.then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r10 : IPromise > : ^^^^^^^^^^^^^^^^^ ->then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s10 = testFunction10P(x => x); >s10 : Promise @@ -1870,7 +1870,7 @@ var s10 = testFunction10P(x => x); >testFunction10P(x => x) : Promise > : ^^^^^^^^^^^^^^^^ >testFunction10P : (cb: (a: U) => U) => Promise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x => x : (x: U) => U > : ^^^^ ^^^^^^^^^ >x : U @@ -1884,17 +1884,17 @@ var s10a = s10.then(testFunction10, testFunction10, testFunction10); // ok >s10.then(testFunction10, testFunction10, testFunction10) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s10 : Promise > : ^^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction10 : (cb: (a: U) => U) => IPromise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >testFunction10 : (cb: (a: U) => U) => IPromise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >testFunction10 : (cb: (a: U) => U) => IPromise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ var s10b = s10.then(testFunction10P, testFunction10P, testFunction10P); // ok >s10b : Promise> @@ -1902,17 +1902,17 @@ var s10b = s10.then(testFunction10P, testFunction10P, testFunction10P); // ok >s10.then(testFunction10P, testFunction10P, testFunction10P) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s10 : Promise > : ^^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction10P : (cb: (a: U) => U) => Promise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >testFunction10P : (cb: (a: U) => U) => Promise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >testFunction10P : (cb: (a: U) => U) => Promise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ var s10c = s10.then(testFunction10P, testFunction10, testFunction10); // ok >s10c : Promise> @@ -1920,17 +1920,17 @@ var s10c = s10.then(testFunction10P, testFunction10, testFunction10); // ok >s10.then(testFunction10P, testFunction10, testFunction10) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s10 : Promise > : ^^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction10P : (cb: (a: U) => U) => Promise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >testFunction10 : (cb: (a: U) => U) => IPromise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >testFunction10 : (cb: (a: U) => U) => IPromise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ var s10d = s10.then(sPromise, sPromise, sPromise); // ok >s10d : Promise> @@ -1938,17 +1938,17 @@ var s10d = s10.then(sPromise, sPromise, sPromise); // ok >s10.then(sPromise, sPromise, sPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^ >s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s10 : Promise > : ^^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s10e = s10.then(nIPromise, nPromise, nIPromise); // ok >s10e : Promise> @@ -1956,17 +1956,17 @@ var s10e = s10.then(nIPromise, nPromise, nIPromise); // ok >s10.then(nIPromise, nPromise, nIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s10 : Promise > : ^^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s10f = s10.then(testFunctionP, sIPromise, nIPromise); // error >s10f : Promise> @@ -1974,17 +1974,17 @@ var s10f = s10.then(testFunctionP, sIPromise, nIPromise); // error >s10.then(testFunctionP, sIPromise, nIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^ >s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s10 : Promise > : ^^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s10g = s10.then(testFunctionP, nIPromise, sIPromise).then(sPromise, sIPromise, sIPromise); // ok >s10g : Promise> @@ -1992,29 +1992,29 @@ var s10g = s10.then(testFunctionP, nIPromise, sIPromise).then(sPromise, sIPromis >s10.then(testFunctionP, nIPromise, sIPromise).then(sPromise, sIPromise, sIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s10.then(testFunctionP, nIPromise, sIPromise).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s10.then(testFunctionP, nIPromise, sIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s10 : Promise > : ^^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r11: IPromise; >r11 : IPromise @@ -2025,18 +2025,18 @@ var r11a = r11.then(testFunction11, testFunction11, testFunction11); // error > : ^^^^^^^^^^^^^^^^ >r11.then(testFunction11, testFunction11, testFunction11) : IPromise > : ^^^^^^^^^^^^^^^^ ->r11.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r11.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r11 : IPromise > : ^^^^^^^^^^^^^^^^ ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ var s11: Promise; >s11 : Promise @@ -2048,17 +2048,17 @@ var s11a = s11.then(testFunction11, testFunction11, testFunction11); // ok >s11.then(testFunction11, testFunction11, testFunction11) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s11.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s11 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ var s11b = s11.then(testFunction11P, testFunction11P, testFunction11P); // ok >s11b : Promise> @@ -2066,17 +2066,17 @@ var s11b = s11.then(testFunction11P, testFunction11P, testFunction11P); // ok >s11.then(testFunction11P, testFunction11P, testFunction11P) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^ >s11.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s11 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction11P : { (x: number): Promise; (x: string): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >testFunction11P : { (x: number): Promise; (x: string): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >testFunction11P : { (x: number): Promise; (x: string): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ var s11c = s11.then(testFunction11P, testFunction11, testFunction11); // ok >s11c : Promise> @@ -2084,25 +2084,25 @@ var s11c = s11.then(testFunction11P, testFunction11, testFunction11); // ok >s11.then(testFunction11P, testFunction11, testFunction11) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s11.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s11 : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction11P : { (x: number): Promise; (x: string): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ var r12 = testFunction12(x => x); >r12 : IPromise<(x: any) => any> > : ^^^^^^^^^^ ^^^^^^^^^^^^^^ >testFunction12(x => x) : IPromise<(x: any) => any> > : ^^^^^^^^^^ ^^^^^^^^^^^^^^ ->testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +>testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x => x : (x: any) => any > : ^ ^^^^^^^^^^^^^ >x : any @@ -2115,26 +2115,26 @@ var r12a = r12.then(testFunction12, testFunction12, testFunction12); // ok > : ^^^^^^^^^^^^^^^^^ >r12.then(testFunction12, testFunction12, testFunction12) : IPromise > : ^^^^^^^^^^^^^^^^^ ->r12.then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>r12.then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >r12 : IPromise<(x: any) => any> > : ^^^^^^^^^^ ^^^^^^^^^^^^^^ ->then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ->testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ->testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ->testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ +>testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +>testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +>testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var s12 = testFunction12(x => x); >s12 : IPromise<(x: any) => any> > : ^^^^^^^^^^ ^^^^^^^^^^^^^^ >testFunction12(x => x) : IPromise<(x: any) => any> > : ^^^^^^^^^^ ^^^^^^^^^^^^^^ ->testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +>testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x => x : (x: any) => any > : ^ ^^^^^^^^^^^^^ >x : any @@ -2147,52 +2147,52 @@ var s12a = s12.then(testFunction12, testFunction12, testFunction12); // ok > : ^^^^^^^^^^^^^^^^^ >s12.then(testFunction12, testFunction12, testFunction12) : IPromise > : ^^^^^^^^^^^^^^^^^ ->s12.then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>s12.then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >s12 : IPromise<(x: any) => any> > : ^^^^^^^^^^ ^^^^^^^^^^^^^^ ->then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ->testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ->testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ->testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ +>testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +>testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +>testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var s12b = s12.then(testFunction12P, testFunction12P, testFunction12P); // ok >s12b : IPromise > : ^^^^^^^^^^^^^^^^^ >s12.then(testFunction12P, testFunction12P, testFunction12P) : IPromise > : ^^^^^^^^^^^^^^^^^ ->s12.then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>s12.then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >s12 : IPromise<(x: any) => any> > : ^^^^^^^^^^ ^^^^^^^^^^^^^^ ->then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ->testFunction12P : { (x: T): IPromise; (x: T_1, y: T_1): Promise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ->testFunction12P : { (x: T): IPromise; (x: T_1, y: T_1): Promise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ->testFunction12P : { (x: T): IPromise; (x: T_1, y: T_1): Promise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ +>testFunction12P : { (x: T): IPromise; (x: T, y: T): Promise; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +>testFunction12P : { (x: T): IPromise; (x: T, y: T): Promise; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +>testFunction12P : { (x: T): IPromise; (x: T, y: T): Promise; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var s12c = s12.then(testFunction12P, testFunction12, testFunction12); // ok >s12c : IPromise > : ^^^^^^^^^^^^^^^^^ >s12.then(testFunction12P, testFunction12, testFunction12) : IPromise > : ^^^^^^^^^^^^^^^^^ ->s12.then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>s12.then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >s12 : IPromise<(x: any) => any> > : ^^^^^^^^^^ ^^^^^^^^^^^^^^ ->then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ->testFunction12P : { (x: T): IPromise; (x: T_1, y: T_1): Promise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ->testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ->testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +> : ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ +>testFunction12P : { (x: T): IPromise; (x: T, y: T): Promise; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +>testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +>testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ diff --git a/tests/baselines/reference/promisePermutations3.types b/tests/baselines/reference/promisePermutations3.types index a4ccc3563f4f1..e59283afc6d1e 100644 --- a/tests/baselines/reference/promisePermutations3.types +++ b/tests/baselines/reference/promisePermutations3.types @@ -2,15 +2,15 @@ === Performance Stats === Type Count: 1,000 -Instantiation count: 5,000 +Instantiation count: 5,000 -> 25,000 === promisePermutations3.ts === // same as promisePermutations but without the same overloads in IPromise interface Promise { then(success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; ->then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: T) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: T) => U_1, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U_1, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; } +> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => Promise > : ^ ^^ ^^^^^ >value : T @@ -25,8 +25,8 @@ interface Promise { > : ^^^ then(success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; ->then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: T) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: T) => U_1, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U_1, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; } +> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => Promise > : ^ ^^ ^^^^^ >value : T @@ -41,8 +41,8 @@ interface Promise { > : ^^^ then(success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; ->then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U_2, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U_1, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; } +> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => U > : ^ ^^ ^^^^^ >value : T @@ -57,8 +57,8 @@ interface Promise { > : ^^^ then(success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; ->then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U_2, progress?: (progress: any) => void): Promise; (success?: (value: T) => U_3, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } -> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ +>then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: T) => U_1, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => U > : ^ ^^ ^^^^^ >value : T @@ -285,37 +285,37 @@ declare function testFunction10P(cb: (a: U) => U): Promise; declare function testFunction11(x: number): IPromise; >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ declare function testFunction11(x: string): IPromise; >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ declare function testFunction11P(x: number): Promise; >testFunction11P : { (x: number): Promise; (x: string): Promise; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ declare function testFunction11P(x: string): Promise; >testFunction11P : { (x: number): Promise; (x: string): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ declare function testFunction12(x: T): IPromise; >testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ declare function testFunction12(x: T, y: T): IPromise; >testFunction12 : { (x: T_1): IPromise; (x: T, y: T): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ >y : T @@ -323,13 +323,13 @@ declare function testFunction12(x: T, y: T): IPromise; declare function testFunction12P(x: T): IPromise; >testFunction12P : { (x: T): IPromise; (x: T_1, y: T_1): Promise; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ declare function testFunction12P(x: T, y: T): Promise; >testFunction12P : { (x: T_1): IPromise; (x: T, y: T): Promise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ >y : T @@ -345,17 +345,17 @@ var r1a = r1.then(testFunction, testFunction, testFunction); >r1.then(testFunction, testFunction, testFunction) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r1.then : (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r1 : IPromise > : ^^^^^^^^^^^^^^^^ >then : (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var r1b = r1.then(testFunction, testFunction, testFunction).then(testFunction, testFunction, testFunction); >r1b : IPromise> @@ -363,29 +363,29 @@ var r1b = r1.then(testFunction, testFunction, testFunction).then(testFunction, t >r1.then(testFunction, testFunction, testFunction).then(testFunction, testFunction, testFunction) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r1.then(testFunction, testFunction, testFunction).then : (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r1.then(testFunction, testFunction, testFunction) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r1.then : (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r1 : IPromise > : ^^^^^^^^^^^^^^^^ >then : (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >then : (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var r1c = r1.then(testFunctionP, testFunctionP, testFunctionP); >r1c : IPromise> @@ -393,17 +393,17 @@ var r1c = r1.then(testFunctionP, testFunctionP, testFunctionP); >r1.then(testFunctionP, testFunctionP, testFunctionP) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >r1.then : (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r1 : IPromise > : ^^^^^^^^^^^^^^^^ >then : (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var s1: Promise; >s1 : Promise @@ -414,84 +414,84 @@ var s1a = s1.then(testFunction, testFunction, testFunction); > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s1.then(testFunction, testFunction, testFunction) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s1 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var s1b = s1.then(testFunctionP, testFunctionP, testFunctionP); >s1b : Promise > : ^^^^^^^^^^^^^^^ >s1.then(testFunctionP, testFunctionP, testFunctionP) : Promise > : ^^^^^^^^^^^^^^^ ->s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s1 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var s1c = s1.then(testFunctionP, testFunction, testFunction); >s1c : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s1.then(testFunctionP, testFunction, testFunction) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s1 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var s1d = s1.then(testFunctionP, testFunction, testFunction).then(testFunction, testFunction, testFunction); >s1d : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s1.then(testFunctionP, testFunction, testFunction).then(testFunction, testFunction, testFunction) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->s1.then(testFunctionP, testFunction, testFunction).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s1.then(testFunctionP, testFunction, testFunction).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s1.then(testFunctionP, testFunction, testFunction) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s1 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ ->then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ +>then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var r2: IPromise<{ x: number; }>; >r2 : IPromise<{ x: number; }> @@ -501,51 +501,51 @@ var r2: IPromise<{ x: number; }>; var r2a = r2.then(testFunction2, testFunction2, testFunction2); >r2a : IPromise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >r2.then(testFunction2, testFunction2, testFunction2) : IPromise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >r2.then : (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r2 : IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^ >then : (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var r2b = r2.then(testFunction2, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2); >r2b : IPromise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >r2.then(testFunction2, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2) : IPromise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >r2.then(testFunction2, testFunction2, testFunction2).then : (success?: (value: IPromise<{ x: number; }>) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r2.then(testFunction2, testFunction2, testFunction2) : IPromise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >r2.then : (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r2 : IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^ >then : (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >then : (success?: (value: IPromise<{ x: number; }>) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var s2: Promise<{ x: number; }>; >s2 : Promise<{ x: number; }> @@ -555,87 +555,87 @@ var s2: Promise<{ x: number; }>; var s2a = s2.then(testFunction2, testFunction2, testFunction2); >s2a : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >s2.then(testFunction2, testFunction2, testFunction2) : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ +>s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s2 : Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^ +>then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var s2b = s2.then(testFunction2P, testFunction2P, testFunction2P); >s2b : Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^ >s2.then(testFunction2P, testFunction2P, testFunction2P) : Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^ ->s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^ +>s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s2 : Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^ +>then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction2P : () => Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2P : () => Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2P : () => Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var s2c = s2.then(testFunction2P, testFunction2, testFunction2); >s2c : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >s2.then(testFunction2P, testFunction2, testFunction2) : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ +>s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s2 : Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^ +>then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction2P : () => Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var s2d = s2.then(testFunction2P, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2); >s2d : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >s2.then(testFunction2P, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2) : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->s2.then(testFunction2P, testFunction2, testFunction2).then : { , TResult2 = never>(onfulfilled?: (value: IPromise<{ x: number; }>) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ +>s2.then(testFunction2P, testFunction2, testFunction2).then : { , TResult2 = never>(onfulfilled?: (value: IPromise<{ x: number; }>) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s2.then(testFunction2P, testFunction2, testFunction2) : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ +>s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s2 : Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^ +>then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction2P : () => Promise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->then : { , TResult2 = never>(onfulfilled?: (value: IPromise<{ x: number; }>) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ +>then : { , TResult2 = never>(onfulfilled?: (value: IPromise<{ x: number; }>) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testFunction2 : () => IPromise<{ x: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var r3: IPromise; >r3 : IPromise @@ -647,17 +647,17 @@ var r3a = r3.then(testFunction3, testFunction3, testFunction3); >r3.then(testFunction3, testFunction3, testFunction3) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r3.then : (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r3 : IPromise > : ^^^^^^^^^^^^^^^^ >then : (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r3b = r3.then(testFunction3, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3); >r3b : IPromise> @@ -665,29 +665,29 @@ var r3b = r3.then(testFunction3, testFunction3, testFunction3).then(testFunction >r3.then(testFunction3, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r3.then(testFunction3, testFunction3, testFunction3).then : (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r3.then(testFunction3, testFunction3, testFunction3) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r3.then : (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r3 : IPromise > : ^^^^^^^^^^^^^^^^ >then : (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s3: Promise; >s3 : Promise @@ -698,84 +698,84 @@ var s3a = s3.then(testFunction3, testFunction3, testFunction3); > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s3.then(testFunction3, testFunction3, testFunction3) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s3 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s3b = s3.then(testFunction3P, testFunction3P, testFunction3P); >s3b : Promise > : ^^^^^^^^^^^^^^^ >s3.then(testFunction3P, testFunction3P, testFunction3P) : Promise > : ^^^^^^^^^^^^^^^ ->s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s3 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction3P : (x: number) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3P : (x: number) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3P : (x: number) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s3c = s3.then(testFunction3P, testFunction3, testFunction3); >s3c : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s3.then(testFunction3P, testFunction3, testFunction3) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s3 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction3P : (x: number) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s3d = s3.then(testFunction3P, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3); >s3d : Promise > : ^^^^^^^^^^^^^^^ >s3.then(testFunction3P, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3) : Promise > : ^^^^^^^^^^^^^^^ ->s3.then(testFunction3P, testFunction3, testFunction3).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s3.then(testFunction3P, testFunction3, testFunction3).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s3.then(testFunction3P, testFunction3, testFunction3) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s3 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction3P : (x: number) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ->then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction3 : (x: number) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r4: IPromise; >r4 : IPromise @@ -799,17 +799,17 @@ var r4a = r4.then(testFunction4, testFunction4, testFunction4); // error >r4.then(testFunction4, testFunction4, testFunction4) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r4.then : (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r4 : IPromise > : ^^^^^^^^^^^^^^^^ >then : (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ var r4b = r4.then(sIPromise, testFunction4, testFunction4).then(sIPromise, testFunction4, testFunction4); // ok >r4b : IPromise> @@ -817,29 +817,29 @@ var r4b = r4.then(sIPromise, testFunction4, testFunction4).then(sIPromise, testF >r4.then(sIPromise, testFunction4, testFunction4).then(sIPromise, testFunction4, testFunction4) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r4.then(sIPromise, testFunction4, testFunction4).then : (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r4.then(sIPromise, testFunction4, testFunction4) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r4.then : (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r4 : IPromise > : ^^^^^^^^^^^^^^^^ >then : (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >then : (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ var s4: Promise; >s4 : Promise @@ -850,84 +850,84 @@ var s4a = s4.then(testFunction4, testFunction4, testFunction4); // error > : ^^^^^^^^^^^^^^^ >s4.then(testFunction4, testFunction4, testFunction4) : Promise > : ^^^^^^^^^^^^^^^ ->s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s4 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ var s4b = s4.then(testFunction4P, testFunction4P, testFunction4P); // error >s4b : Promise > : ^^^^^^^^^^^^^^^ >s4.then(testFunction4P, testFunction4P, testFunction4P) : Promise > : ^^^^^^^^^^^^^^^ ->s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s4 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction4P : (x: number, y?: string) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4P : (x: number, y?: string) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4P : (x: number, y?: string) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ var s4c = s4.then(testFunction4P, testFunction4, testFunction4); // error >s4c : Promise > : ^^^^^^^^^^^^^^^ >s4.then(testFunction4P, testFunction4, testFunction4) : Promise > : ^^^^^^^^^^^^^^^ ->s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s4 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction4P : (x: number, y?: string) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ var s4d = s4.then(sIPromise, testFunction4P, testFunction4).then(sIPromise, testFunction4P, testFunction4); >s4d : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s4.then(sIPromise, testFunction4P, testFunction4).then(sIPromise, testFunction4P, testFunction4) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->s4.then(sIPromise, testFunction4P, testFunction4).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s4.then(sIPromise, testFunction4P, testFunction4).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s4.then(sIPromise, testFunction4P, testFunction4) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s4 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction4P : (x: number, y?: string) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ->then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ +>then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction4P : (x: number, y?: string) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >testFunction4 : (x: number, y?: string) => IPromise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ var r5: IPromise; >r5 : IPromise @@ -939,17 +939,17 @@ var r5a = r5.then(testFunction5, testFunction5, testFunction5); // error >r5.then(testFunction5, testFunction5, testFunction5) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r5.then : (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r5 : IPromise > : ^^^^^^^^^^^^^^^^ >then : (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >testFunction5 : (x: number, cb: (a: string) => string) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction5 : (x: number, cb: (a: string) => string) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction5 : (x: number, cb: (a: string) => string) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var r5b = r5.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >r5b : IPromise> @@ -957,29 +957,29 @@ var r5b = r5.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sI >r5.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r5.then(sIPromise, sIPromise, sIPromise).then : (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r5.then(sIPromise, sIPromise, sIPromise) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r5.then : (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r5 : IPromise > : ^^^^^^^^^^^^^^^^ >then : (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s5: Promise; >s5 : Promise @@ -990,84 +990,84 @@ var s5a = s5.then(testFunction5, testFunction5, testFunction5); // error > : ^^^^^^^^^^^^^^^ >s5.then(testFunction5, testFunction5, testFunction5) : Promise > : ^^^^^^^^^^^^^^^ ->s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s5 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction5 : (x: number, cb: (a: string) => string) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction5 : (x: number, cb: (a: string) => string) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction5 : (x: number, cb: (a: string) => string) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var s5b = s5.then(testFunction5P, testFunction5P, testFunction5P); // error >s5b : Promise > : ^^^^^^^^^^^^^^^ >s5.then(testFunction5P, testFunction5P, testFunction5P) : Promise > : ^^^^^^^^^^^^^^^ ->s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s5 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction5P : (x: number, cb: (a: string) => string) => Promise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction5P : (x: number, cb: (a: string) => string) => Promise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction5P : (x: number, cb: (a: string) => string) => Promise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var s5c = s5.then(testFunction5P, testFunction5, testFunction5); // error >s5c : Promise > : ^^^^^^^^^^^^^^^ >s5.then(testFunction5P, testFunction5, testFunction5) : Promise > : ^^^^^^^^^^^^^^^ ->s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s5 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction5P : (x: number, cb: (a: string) => string) => Promise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction5 : (x: number, cb: (a: string) => string) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction5 : (x: number, cb: (a: string) => string) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var s5d = s5.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise); // ok >s5d : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s5.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->s5.then(sPromise, sPromise, sPromise).then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s5.then(sPromise, sPromise, sPromise).then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s5.then(sPromise, sPromise, sPromise) : Promise > : ^^^^^^^^^^^^^^^ ->s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s5 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r6: IPromise; >r6 : IPromise @@ -1079,17 +1079,17 @@ var r6a = r6.then(testFunction6, testFunction6, testFunction6); // error >r6.then(testFunction6, testFunction6, testFunction6) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r6.then : (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r6 : IPromise > : ^^^^^^^^^^^^^^^^ >then : (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >testFunction6 : (x: number, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction6 : (x: number, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction6 : (x: number, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var r6b = r6.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >r6b : IPromise> @@ -1097,29 +1097,29 @@ var r6b = r6.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sI >r6.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r6.then(sIPromise, sIPromise, sIPromise).then : (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r6.then(sIPromise, sIPromise, sIPromise) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r6.then : (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r6 : IPromise > : ^^^^^^^^^^^^^^^^ >then : (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s6: Promise; >s6 : Promise @@ -1130,84 +1130,84 @@ var s6a = s6.then(testFunction6, testFunction6, testFunction6); // error > : ^^^^^^^^^^^^^^^ >s6.then(testFunction6, testFunction6, testFunction6) : Promise > : ^^^^^^^^^^^^^^^ ->s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s6 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction6 : (x: number, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction6 : (x: number, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction6 : (x: number, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var s6b = s6.then(testFunction6P, testFunction6P, testFunction6P); // error >s6b : Promise > : ^^^^^^^^^^^^^^^ >s6.then(testFunction6P, testFunction6P, testFunction6P) : Promise > : ^^^^^^^^^^^^^^^ ->s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s6 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction6P : (x: number, cb: (a: T) => T) => Promise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction6P : (x: number, cb: (a: T) => T) => Promise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction6P : (x: number, cb: (a: T) => T) => Promise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var s6c = s6.then(testFunction6P, testFunction6, testFunction6); // error >s6c : Promise > : ^^^^^^^^^^^^^^^ >s6.then(testFunction6P, testFunction6, testFunction6) : Promise > : ^^^^^^^^^^^^^^^ ->s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s6 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction6P : (x: number, cb: (a: T) => T) => Promise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction6 : (x: number, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >testFunction6 : (x: number, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var s6d = s6.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise); // ok >s6d : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s6.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->s6.then(sPromise, sPromise, sPromise).then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s6.then(sPromise, sPromise, sPromise).then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s6.then(sPromise, sPromise, sPromise) : Promise > : ^^^^^^^^^^^^^^^ ->s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s6 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r7: IPromise; >r7 : IPromise @@ -1219,17 +1219,17 @@ var r7a = r7.then(testFunction7, testFunction7, testFunction7); // error >r7.then(testFunction7, testFunction7, testFunction7) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r7.then : (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r7 : IPromise > : ^^^^^^^^^^^^^^^^ >then : (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >testFunction7 : (cb: (a: T) => T) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction7 : (cb: (a: T) => T) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction7 : (cb: (a: T) => T) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r7b = r7.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >r7b : IPromise> @@ -1237,29 +1237,29 @@ var r7b = r7.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sI >r7.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r7.then(sIPromise, sIPromise, sIPromise).then : (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r7.then(sIPromise, sIPromise, sIPromise) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r7.then : (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r7 : IPromise > : ^^^^^^^^^^^^^^^^ >then : (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s7: Promise; >s7 : Promise @@ -1271,17 +1271,17 @@ var s7a = r7.then(testFunction7, testFunction7, testFunction7); // error >r7.then(testFunction7, testFunction7, testFunction7) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r7.then : (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r7 : IPromise > : ^^^^^^^^^^^^^^^^ >then : (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >testFunction7 : (cb: (a: T) => T) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction7 : (cb: (a: T) => T) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction7 : (cb: (a: T) => T) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s7b = r7.then(testFunction7P, testFunction7P, testFunction7P); // error >s7b : IPromise> @@ -1289,17 +1289,17 @@ var s7b = r7.then(testFunction7P, testFunction7P, testFunction7P); // error >r7.then(testFunction7P, testFunction7P, testFunction7P) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >r7.then : (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r7 : IPromise > : ^^^^^^^^^^^^^^^^ >then : (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >testFunction7P : (cb: (a: T) => T) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction7P : (cb: (a: T) => T) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction7P : (cb: (a: T) => T) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s7c = r7.then(testFunction7P, testFunction7, testFunction7); // error >s7c : IPromise> @@ -1307,17 +1307,17 @@ var s7c = r7.then(testFunction7P, testFunction7, testFunction7); // error >r7.then(testFunction7P, testFunction7, testFunction7) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r7.then : (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r7 : IPromise > : ^^^^^^^^^^^^^^^^ >then : (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >testFunction7P : (cb: (a: T) => T) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction7 : (cb: (a: T) => T) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >testFunction7 : (cb: (a: T) => T) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s7d = r7.then(sPromise, sPromise, sPromise).then(sPromise, sPromise, sPromise); // ok? >s7d : IPromise> @@ -1325,29 +1325,29 @@ var s7d = r7.then(sPromise, sPromise, sPromise).then(sPromise, sPromise, sPromis >r7.then(sPromise, sPromise, sPromise).then(sPromise, sPromise, sPromise) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >r7.then(sPromise, sPromise, sPromise).then : (success?: (value: Promise) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r7.then(sPromise, sPromise, sPromise) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >r7.then : (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r7 : IPromise > : ^^^^^^^^^^^^^^^^ >then : (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : (success?: (value: Promise) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r8: IPromise; >r8 : IPromise @@ -1371,17 +1371,17 @@ var r8a = r8.then(testFunction8, testFunction8, testFunction8); // error >r8.then(testFunction8, testFunction8, testFunction8) : IPromise > : ^^^^^^^^^^^^^^^^^ >r8.then : (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r8 : IPromise > : ^^^^^^^^^^^^^^^^ >then : (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >testFunction8 : (x: T, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction8 : (x: T, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction8 : (x: T, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var r8b = r8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise); // ok >r8b : IPromise> @@ -1389,29 +1389,29 @@ var r8b = r8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nI >r8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r8.then(nIPromise, nIPromise, nIPromise).then : (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r8.then(nIPromise, nIPromise, nIPromise) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r8.then : (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r8 : IPromise > : ^^^^^^^^^^^^^^^^ >then : (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s8: Promise; >s8 : Promise @@ -1422,84 +1422,84 @@ var s8a = s8.then(testFunction8, testFunction8, testFunction8); // error > : ^^^^^^^^^^^^^^^^ >s8.then(testFunction8, testFunction8, testFunction8) : Promise > : ^^^^^^^^^^^^^^^^ ->s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s8 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction8 : (x: T, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction8 : (x: T, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction8 : (x: T, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var s8b = s8.then(testFunction8P, testFunction8P, testFunction8P); // error >s8b : Promise > : ^^^^^^^^^^^^^^^^ >s8.then(testFunction8P, testFunction8P, testFunction8P) : Promise > : ^^^^^^^^^^^^^^^^ ->s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s8 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction8P : (x: T, cb: (a: T) => T) => Promise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction8P : (x: T, cb: (a: T) => T) => Promise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction8P : (x: T, cb: (a: T) => T) => Promise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var s8c = s8.then(testFunction8P, testFunction8, testFunction8); // error >s8c : Promise > : ^^^^^^^^^^^^^^^^ >s8.then(testFunction8P, testFunction8, testFunction8) : Promise > : ^^^^^^^^^^^^^^^^ ->s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s8 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction8P : (x: T, cb: (a: T) => T) => Promise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction8 : (x: T, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction8 : (x: T, cb: (a: T) => T) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var s8d = s8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise); // ok >s8d : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->s8.then(nIPromise, nIPromise, nIPromise).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s8.then(nIPromise, nIPromise, nIPromise).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s8.then(nIPromise, nIPromise, nIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s8 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ->then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r9: IPromise; >r9 : IPromise @@ -1511,17 +1511,17 @@ var r9a = r9.then(testFunction9, testFunction9, testFunction9); // error >r9.then(testFunction9, testFunction9, testFunction9) : IPromise > : ^^^^^^^^^^^^^^^^^ >r9.then : (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r9 : IPromise > : ^^^^^^^^^^^^^^^^ >then : (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >testFunction9 : (x: T, cb: (a: U) => U) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction9 : (x: T, cb: (a: U) => U) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction9 : (x: T, cb: (a: U) => U) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var r9b = r9.then(sIPromise, sIPromise, sIPromise); // ok >r9b : IPromise> @@ -1529,17 +1529,17 @@ var r9b = r9.then(sIPromise, sIPromise, sIPromise); // ok >r9.then(sIPromise, sIPromise, sIPromise) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r9.then : (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r9 : IPromise > : ^^^^^^^^^^^^^^^^ >then : (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r9c = r9.then(nIPromise, nIPromise, nIPromise); // ok >r9c : IPromise> @@ -1547,17 +1547,17 @@ var r9c = r9.then(nIPromise, nIPromise, nIPromise); // ok >r9.then(nIPromise, nIPromise, nIPromise) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r9.then : (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r9 : IPromise > : ^^^^^^^^^^^^^^^^ >then : (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r9d = r9.then(testFunction, sIPromise, nIPromise); // error >r9d : IPromise> @@ -1565,17 +1565,17 @@ var r9d = r9.then(testFunction, sIPromise, nIPromise); // error >r9.then(testFunction, sIPromise, nIPromise) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r9.then : (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r9 : IPromise > : ^^^^^^^^^^^^^^^^ >then : (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r9e = r9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >r9e : IPromise> @@ -1583,29 +1583,29 @@ var r9e = r9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, >r9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r9.then(testFunction, nIPromise, sIPromise).then : (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r9.then(testFunction, nIPromise, sIPromise) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r9.then : (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r9 : IPromise > : ^^^^^^^^^^^^^^^^ >then : (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s9: Promise; >s9 : Promise @@ -1616,138 +1616,138 @@ var s9a = s9.then(testFunction9, testFunction9, testFunction9); // error > : ^^^^^^^^^^^^^^^^ >s9.then(testFunction9, testFunction9, testFunction9) : Promise > : ^^^^^^^^^^^^^^^^ ->s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s9 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction9 : (x: T, cb: (a: U) => U) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction9 : (x: T, cb: (a: U) => U) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction9 : (x: T, cb: (a: U) => U) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var s9b = s9.then(testFunction9P, testFunction9P, testFunction9P); // error >s9b : Promise > : ^^^^^^^^^^^^^^^^ >s9.then(testFunction9P, testFunction9P, testFunction9P) : Promise > : ^^^^^^^^^^^^^^^^ ->s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s9 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction9P : (x: T, cb: (a: U) => U) => Promise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction9P : (x: T, cb: (a: U) => U) => Promise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction9P : (x: T, cb: (a: U) => U) => Promise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var s9c = s9.then(testFunction9P, testFunction9, testFunction9); // error >s9c : Promise > : ^^^^^^^^^^^^^^^^ >s9.then(testFunction9P, testFunction9, testFunction9) : Promise > : ^^^^^^^^^^^^^^^^ ->s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s9 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction9P : (x: T, cb: (a: U) => U) => Promise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction9 : (x: T, cb: (a: U) => U) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >testFunction9 : (x: T, cb: (a: U) => U) => IPromise -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ var s9d = s9.then(sPromise, sPromise, sPromise); // ok >s9d : Promise > : ^^^^^^^^^^^^^^^ >s9.then(sPromise, sPromise, sPromise) : Promise > : ^^^^^^^^^^^^^^^ ->s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s9 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s9e = s9.then(nPromise, nPromise, nPromise); // ok >s9e : Promise > : ^^^^^^^^^^^^^^^ >s9.then(nPromise, nPromise, nPromise) : Promise > : ^^^^^^^^^^^^^^^ ->s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s9 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >nPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s9f = s9.then(testFunction, sIPromise, nIPromise); // error >s9f : Promise > : ^^^^^^^^^^^^^^^ >s9.then(testFunction, sIPromise, nIPromise) : Promise > : ^^^^^^^^^^^^^^^ ->s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s9 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s9g = s9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >s9g : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->s9.then(testFunction, nIPromise, sIPromise).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s9.then(testFunction, nIPromise, sIPromise).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s9.then(testFunction, nIPromise, sIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s9 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ->then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r10 = testFunction10(x => x); >r10 : IPromise @@ -1755,7 +1755,7 @@ var r10 = testFunction10(x => x); >testFunction10(x => x) : IPromise > : ^^^^^^^^^^^^^^^^^ >testFunction10 : (cb: (a: U) => U) => IPromise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x => x : (x: U) => U > : ^^^^ ^^^^^^^^^ >x : U @@ -1769,17 +1769,17 @@ var r10a = r10.then(testFunction10, testFunction10, testFunction10); // ok >r10.then(testFunction10, testFunction10, testFunction10) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >r10.then : (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r10 : IPromise > : ^^^^^^^^^^^^^^^^^ >then : (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >testFunction10 : (cb: (a: U) => U) => IPromise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >testFunction10 : (cb: (a: U) => U) => IPromise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >testFunction10 : (cb: (a: U) => U) => IPromise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ var r10b = r10.then(sIPromise, sIPromise, sIPromise); // ok >r10b : IPromise> @@ -1787,17 +1787,17 @@ var r10b = r10.then(sIPromise, sIPromise, sIPromise); // ok >r10.then(sIPromise, sIPromise, sIPromise) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r10.then : (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r10 : IPromise > : ^^^^^^^^^^^^^^^^^ >then : (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r10c = r10.then(nIPromise, nIPromise, nIPromise); // ok >r10c : IPromise> @@ -1805,17 +1805,17 @@ var r10c = r10.then(nIPromise, nIPromise, nIPromise); // ok >r10.then(nIPromise, nIPromise, nIPromise) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r10.then : (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r10 : IPromise > : ^^^^^^^^^^^^^^^^^ >then : (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r10d = r10.then(testFunction, sIPromise, nIPromise); // error >r10d : IPromise> @@ -1823,17 +1823,17 @@ var r10d = r10.then(testFunction, sIPromise, nIPromise); // error >r10.then(testFunction, sIPromise, nIPromise) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r10.then : (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r10 : IPromise > : ^^^^^^^^^^^^^^^^^ >then : (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r10e = r10.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >r10e : IPromise> @@ -1841,29 +1841,29 @@ var r10e = r10.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromis >r10.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r10.then(testFunction, nIPromise, sIPromise).then : (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r10.then(testFunction, nIPromise, sIPromise) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r10.then : (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r10 : IPromise > : ^^^^^^^^^^^^^^^^^ >then : (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >testFunction : () => IPromise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >then : (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s10 = testFunction10P(x => x); >s10 : Promise @@ -1871,7 +1871,7 @@ var s10 = testFunction10P(x => x); >testFunction10P(x => x) : Promise > : ^^^^^^^^^^^^^^^^ >testFunction10P : (cb: (a: U) => U) => Promise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x => x : (x: U) => U > : ^^^^ ^^^^^^^^^ >x : U @@ -1884,138 +1884,138 @@ var s10a = s10.then(testFunction10, testFunction10, testFunction10); // ok > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >s10.then(testFunction10, testFunction10, testFunction10) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s10 : Promise > : ^^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction10 : (cb: (a: U) => U) => IPromise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >testFunction10 : (cb: (a: U) => U) => IPromise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >testFunction10 : (cb: (a: U) => U) => IPromise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ var s10b = s10.then(testFunction10P, testFunction10P, testFunction10P); // ok >s10b : Promise > : ^^^^^^^^^^^^^^^^ >s10.then(testFunction10P, testFunction10P, testFunction10P) : Promise > : ^^^^^^^^^^^^^^^^ ->s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s10 : Promise > : ^^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction10P : (cb: (a: U) => U) => Promise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >testFunction10P : (cb: (a: U) => U) => Promise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >testFunction10P : (cb: (a: U) => U) => Promise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ var s10c = s10.then(testFunction10P, testFunction10, testFunction10); // ok >s10c : Promise > : ^^^^^^^^^^^^^^^^ >s10.then(testFunction10P, testFunction10, testFunction10) : Promise > : ^^^^^^^^^^^^^^^^ ->s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s10 : Promise > : ^^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction10P : (cb: (a: U) => U) => Promise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >testFunction10 : (cb: (a: U) => U) => IPromise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >testFunction10 : (cb: (a: U) => U) => IPromise -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ var s10d = s10.then(sPromise, sPromise, sPromise); // ok >s10d : Promise > : ^^^^^^^^^^^^^^^ >s10.then(sPromise, sPromise, sPromise) : Promise > : ^^^^^^^^^^^^^^^ ->s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s10 : Promise > : ^^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s10e = s10.then(nIPromise, nPromise, nIPromise); // ok >s10e : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s10.then(nIPromise, nPromise, nIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s10 : Promise > : ^^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s10f = s10.then(testFunctionP, sIPromise, nIPromise); // error >s10f : Promise > : ^^^^^^^^^^^^^^^ >s10.then(testFunctionP, sIPromise, nIPromise) : Promise > : ^^^^^^^^^^^^^^^ ->s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s10 : Promise > : ^^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var s10g = s10.then(testFunctionP, nIPromise, sIPromise).then(sPromise, sIPromise, sIPromise); // ok >s10g : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >s10.then(testFunctionP, nIPromise, sIPromise).then(sPromise, sIPromise, sIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->s10.then(testFunctionP, nIPromise, sIPromise).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s10.then(testFunctionP, nIPromise, sIPromise).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s10.then(testFunctionP, nIPromise, sIPromise) : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s10 : Promise > : ^^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunctionP : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >nIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ->then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >sPromise : (x: any) => Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sIPromise : (x: any) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r11: IPromise; >r11 : IPromise @@ -2027,17 +2027,17 @@ var r11a = r11.then(testFunction11, testFunction11, testFunction11); // ok >r11.then(testFunction11, testFunction11, testFunction11) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >r11.then : (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r11 : IPromise > : ^^^^^^^^^^^^^^^^ >then : (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ var s11: Promise; >s11 : Promise @@ -2048,62 +2048,62 @@ var s11a = s11.then(testFunction11, testFunction11, testFunction11); // ok > : ^^^^^^^^^^^^^^^ >s11.then(testFunction11, testFunction11, testFunction11) : Promise > : ^^^^^^^^^^^^^^^ ->s11.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s11.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s11 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ var s11b = s11.then(testFunction11P, testFunction11P, testFunction11P); // error >s11b : Promise > : ^^^^^^^^^^^^^^^ >s11.then(testFunction11P, testFunction11P, testFunction11P) : Promise > : ^^^^^^^^^^^^^^^ ->s11.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s11.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s11 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction11P : { (x: number): Promise; (x: string): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >testFunction11P : { (x: number): Promise; (x: string): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >testFunction11P : { (x: number): Promise; (x: string): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ var s11c = s11.then(testFunction11P, testFunction11, testFunction11); // error >s11c : Promise > : ^^^^^^^^^^^^^^^ >s11.then(testFunction11P, testFunction11, testFunction11) : Promise > : ^^^^^^^^^^^^^^^ ->s11.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>s11.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >s11 : Promise > : ^^^^^^^^^^^^^^^ ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^ ^^^ >testFunction11P : { (x: number): Promise; (x: string): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ var r12 = testFunction12(x => x); >r12 : IPromise<(x: any) => any> > : ^^^^^^^^^^ ^^^^^^^^^^^^^^ >testFunction12(x => x) : IPromise<(x: any) => any> > : ^^^^^^^^^^ ^^^^^^^^^^^^^^ ->testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +>testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x => x : (x: any) => any > : ^ ^^^^^^^^^^^^^ >x : any @@ -2117,25 +2117,25 @@ var r12a = r12.then(testFunction12, testFunction12, testFunction12); // ok >r12.then(testFunction12, testFunction12, testFunction12) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >r12.then : (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >r12 : IPromise<(x: any) => any> > : ^^^^^^^^^^ ^^^^^^^^^^^^^^ >then : (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ ->testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ->testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ->testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ +>testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +>testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +>testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var s12 = testFunction12(x => x); >s12 : IPromise<(x: any) => any> > : ^^^^^^^^^^ ^^^^^^^^^^^^^^ >testFunction12(x => x) : IPromise<(x: any) => any> > : ^^^^^^^^^^ ^^^^^^^^^^^^^^ ->testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +>testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x => x : (x: any) => any > : ^ ^^^^^^^^^^^^^ >x : any @@ -2149,17 +2149,17 @@ var s12a = s12.then(testFunction12, testFunction12, testFunction12); // ok >s12.then(testFunction12, testFunction12, testFunction12) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >s12.then : (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >s12 : IPromise<(x: any) => any> > : ^^^^^^^^^^ ^^^^^^^^^^^^^^ >then : (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ ->testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ->testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ->testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ +>testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +>testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +>testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var s12b = s12.then(testFunction12P, testFunction12P, testFunction12P); // ok >s12b : IPromise> @@ -2167,17 +2167,17 @@ var s12b = s12.then(testFunction12P, testFunction12P, testFunction12P); // ok >s12.then(testFunction12P, testFunction12P, testFunction12P) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >s12.then : (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >s12 : IPromise<(x: any) => any> > : ^^^^^^^^^^ ^^^^^^^^^^^^^^ >then : (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ ->testFunction12P : { (x: T): IPromise; (x: T_1, y: T_1): Promise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ->testFunction12P : { (x: T): IPromise; (x: T_1, y: T_1): Promise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ->testFunction12P : { (x: T): IPromise; (x: T_1, y: T_1): Promise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ +>testFunction12P : { (x: T): IPromise; (x: T, y: T): Promise; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +>testFunction12P : { (x: T): IPromise; (x: T, y: T): Promise; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +>testFunction12P : { (x: T): IPromise; (x: T, y: T): Promise; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var s12c = s12.then(testFunction12P, testFunction12, testFunction12); // ok >s12c : IPromise> @@ -2185,15 +2185,15 @@ var s12c = s12.then(testFunction12P, testFunction12, testFunction12); // ok >s12.then(testFunction12P, testFunction12, testFunction12) : IPromise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >s12.then : (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ >s12 : IPromise<(x: any) => any> > : ^^^^^^^^^^ ^^^^^^^^^^^^^^ >then : (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise -> : ^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ ->testFunction12P : { (x: T): IPromise; (x: T_1, y: T_1): Promise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ->testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ->testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^^^ ^ +>testFunction12P : { (x: T): IPromise; (x: T, y: T): Promise; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +>testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +>testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ diff --git a/tests/baselines/reference/promiseTest.types b/tests/baselines/reference/promiseTest.types index 62fbc6612f12c..f97721783ae83 100644 --- a/tests/baselines/reference/promiseTest.types +++ b/tests/baselines/reference/promiseTest.types @@ -4,7 +4,7 @@ interface Promise { then
    (success?: (value: T) => Promise): Promise; >then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (success?: (value: T) => Promise): Promise; (success?: (value: T) => B): Promise; } -> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => Promise > : ^ ^^ ^^^^^ >value : T @@ -12,7 +12,7 @@ interface Promise { then(success?: (value: T) => B): Promise; >then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (success?: (value: T) => Promise): Promise; (success?: (value: T) => B): Promise; } -> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => B > : ^ ^^ ^^^^^ >value : T @@ -33,11 +33,11 @@ var p2 = p.then(function (x) { >p.then(function (x) { return p;} ) : Promise > : ^^^^^^^^^^^^^^^ >p.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise): Promise; (success?: (value: number) => B): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^ ^^^ >p : Promise > : ^^^^^^^^^^^^^^^ >then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise): Promise; (success?: (value: number) => B): Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^ ^^^ >function (x) { return p;} : (x: number) => Promise > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/promiseType.types b/tests/baselines/reference/promiseType.types index 825b131666ce0..570177cdd0a33 100644 --- a/tests/baselines/reference/promiseType.types +++ b/tests/baselines/reference/promiseType.types @@ -1,7 +1,7 @@ //// [tests/cases/compiler/promiseType.ts] //// === Performance Stats === -Instantiation count: 2,500 +Instantiation count: 2,500 -> 10,000 === promiseType.ts === declare var p: Promise; @@ -145,11 +145,11 @@ async function F() { >Promise.reject(Error()) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Error() : Error > : ^^^^^ >Error : ErrorConstructor @@ -233,11 +233,11 @@ async function I() { >Promise.reject(Error()) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Error() : Error > : ^^^^^ >Error : ErrorConstructor @@ -253,11 +253,11 @@ const p00 = p.catch(); >p.catch() : Promise > : ^^^^^^^^^^^^^^^^ >p.catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^ ^^^^^^^ ^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^ ^^^^^^^ ^^^^^^^ const p01 = p.then(); >p01 : Promise @@ -265,11 +265,11 @@ const p01 = p.then(); >p.then() : Promise > : ^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ const p10 = p.catch(undefined); >p10 : Promise @@ -277,11 +277,11 @@ const p10 = p.catch(undefined); >p.catch(undefined) : Promise > : ^^^^^^^^^^^^^^^^ >p.catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^ ^^^^^^^ ^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^ ^^^^^^^ ^^^^^^^ >undefined : undefined > : ^^^^^^^^^ @@ -291,11 +291,11 @@ const p11 = p.catch(null); >p.catch(null) : Promise > : ^^^^^^^^^^^^^^^^ >p.catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^ ^^^^^^^ ^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^ ^^^^^^^ ^^^^^^^ const p12 = p.catch(() => 1); >p12 : Promise @@ -303,11 +303,11 @@ const p12 = p.catch(() => 1); >p.catch(() => 1) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >p.catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^ ^^^^^^^ ^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^ ^^^^^^^ ^^^^^^^ >() => 1 : () => number > : ^^^^^^^^^^^^ >1 : 1 @@ -319,11 +319,11 @@ const p13 = p.catch(() => x); >p.catch(() => x) : Promise > : ^^^^^^^^^^^^ >p.catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^ ^^^^^^^ ^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^ ^^^^^^^ ^^^^^^^ >() => x : () => any > : ^^^^^^^^^ >x : any @@ -334,11 +334,11 @@ const p14 = p.catch(() => undefined); >p.catch(() => undefined) : Promise > : ^^^^^^^^^^^^ >p.catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^ ^^^^^^^ ^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^ ^^^^^^^ ^^^^^^^ >() => undefined : () => any > : ^^^^^^^^^ >undefined : undefined @@ -350,11 +350,11 @@ const p15 = p.catch(() => null); >p.catch(() => null) : Promise > : ^^^^^^^^^^^^ >p.catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^ ^^^^^^^ ^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^ ^^^^^^^ ^^^^^^^ >() => null : () => any > : ^^^^^^^^^ @@ -364,11 +364,11 @@ const p16 = p.catch(() => {}); >p.catch(() => {}) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^ >p.catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^ ^^^^^^^ ^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^ ^^^^^^^ ^^^^^^^ >() => {} : () => void > : ^^^^^^^^^^ @@ -378,11 +378,11 @@ const p17 = p.catch(() => {throw 1}); >p.catch(() => {throw 1}) : Promise > : ^^^^^^^^^^^^^^^^ >p.catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^ ^^^^^^^ ^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^ ^^^^^^^ ^^^^^^^ >() => {throw 1} : () => never > : ^^^^^^^^^^^ >1 : 1 @@ -394,21 +394,21 @@ const p18 = p.catch(() => Promise.reject(1)); >p.catch(() => Promise.reject(1)) : Promise > : ^^^^^^^^^^^^^^^^ >p.catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^ ^^^^^^^ ^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^ ^^^^^^^ ^^^^^^^ >() => Promise.reject(1) : () => Promise > : ^^^^^^^^^^^^^^^^^^^^ >Promise.reject(1) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -418,21 +418,21 @@ const p19 = p.catch(() => Promise.resolve(1)); >p.catch(() => Promise.resolve(1)) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >p.catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^ ^^^^^^^ ^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^ ^^^^^^^ ^^^^^^^ >() => Promise.resolve(1) : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -442,11 +442,11 @@ const p20 = p.then(undefined); >p.then(undefined) : Promise > : ^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ @@ -456,11 +456,11 @@ const p21 = p.then(null); >p.then(null) : Promise > : ^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ const p22 = p.then(() => 1); >p22 : Promise @@ -468,11 +468,11 @@ const p22 = p.then(() => 1); >p.then(() => 1) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => 1 : () => number > : ^^^^^^^^^^^^ >1 : 1 @@ -484,11 +484,11 @@ const p23 = p.then(() => x); >p.then(() => x) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => x : () => any > : ^^^^^^^^^ >x : any @@ -499,11 +499,11 @@ const p24 = p.then(() => undefined); >p.then(() => undefined) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => undefined : () => any > : ^^^^^^^^^ >undefined : undefined @@ -515,11 +515,11 @@ const p25 = p.then(() => null); >p.then(() => null) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => null : () => any > : ^^^^^^^^^ @@ -529,11 +529,11 @@ const p26 = p.then(() => {}); >p.then(() => {}) : Promise > : ^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {} : () => void > : ^^^^^^^^^^ @@ -543,11 +543,11 @@ const p27 = p.then(() => {throw 1}); >p.then(() => {throw 1}) : Promise > : ^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {throw 1} : () => never > : ^^^^^^^^^^^ >1 : 1 @@ -559,21 +559,21 @@ const p28 = p.then(() => Promise.resolve(1)); >p.then(() => Promise.resolve(1)) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.resolve(1) : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -583,21 +583,21 @@ const p29 = p.then(() => Promise.reject(1)); >p.then(() => Promise.reject(1)) : Promise > : ^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.reject(1) : () => Promise > : ^^^^^^^^^^^^^^^^^^^^ >Promise.reject(1) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -607,11 +607,11 @@ const p30 = p.then(undefined, undefined); >p.then(undefined, undefined) : Promise > : ^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ >undefined : undefined @@ -623,11 +623,11 @@ const p31 = p.then(undefined, null); >p.then(undefined, null) : Promise > : ^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ @@ -637,11 +637,11 @@ const p32 = p.then(undefined, () => 1); >p.then(undefined, () => 1) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ >() => 1 : () => number @@ -655,11 +655,11 @@ const p33 = p.then(undefined, () => x); >p.then(undefined, () => x) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ >() => x : () => any @@ -672,11 +672,11 @@ const p34 = p.then(undefined, () => undefined); >p.then(undefined, () => undefined) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ >() => undefined : () => any @@ -690,11 +690,11 @@ const p35 = p.then(undefined, () => null); >p.then(undefined, () => null) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ >() => null : () => any @@ -706,11 +706,11 @@ const p36 = p.then(undefined, () => {}); >p.then(undefined, () => {}) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ >() => {} : () => void @@ -722,11 +722,11 @@ const p37 = p.then(undefined, () => {throw 1}); >p.then(undefined, () => {throw 1}) : Promise > : ^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ >() => {throw 1} : () => never @@ -740,23 +740,23 @@ const p38 = p.then(undefined, () => Promise.resolve(1)); >p.then(undefined, () => Promise.resolve(1)) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ >() => Promise.resolve(1) : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -766,11 +766,11 @@ const p39 = p.then(undefined, () => Promise.reject(1)); >p.then(undefined, () => Promise.reject(1)) : Promise > : ^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ >() => Promise.reject(1) : () => Promise @@ -778,11 +778,11 @@ const p39 = p.then(undefined, () => Promise.reject(1)); >Promise.reject(1) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -792,11 +792,11 @@ const p40 = p.then(null, undefined); >p.then(null, undefined) : Promise > : ^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ @@ -806,11 +806,11 @@ const p41 = p.then(null, null); >p.then(null, null) : Promise > : ^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ const p42 = p.then(null, () => 1); >p42 : Promise @@ -818,11 +818,11 @@ const p42 = p.then(null, () => 1); >p.then(null, () => 1) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => 1 : () => number > : ^^^^^^^^^^^^ >1 : 1 @@ -834,11 +834,11 @@ const p43 = p.then(null, () => x); >p.then(null, () => x) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => x : () => any > : ^^^^^^^^^ >x : any @@ -849,11 +849,11 @@ const p44 = p.then(null, () => undefined); >p.then(null, () => undefined) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => undefined : () => any > : ^^^^^^^^^ >undefined : undefined @@ -865,11 +865,11 @@ const p45 = p.then(null, () => null); >p.then(null, () => null) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => null : () => any > : ^^^^^^^^^ @@ -879,11 +879,11 @@ const p46 = p.then(null, () => {}); >p.then(null, () => {}) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {} : () => void > : ^^^^^^^^^^ @@ -893,11 +893,11 @@ const p47 = p.then(null, () => {throw 1}); >p.then(null, () => {throw 1}) : Promise > : ^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {throw 1} : () => never > : ^^^^^^^^^^^ >1 : 1 @@ -909,21 +909,21 @@ const p48 = p.then(null, () => Promise.resolve(1)); >p.then(null, () => Promise.resolve(1)) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.resolve(1) : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -933,21 +933,21 @@ const p49 = p.then(null, () => Promise.reject(1)); >p.then(null, () => Promise.reject(1)) : Promise > : ^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.reject(1) : () => Promise > : ^^^^^^^^^^^^^^^^^^^^ >Promise.reject(1) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -957,11 +957,11 @@ const p50 = p.then(() => "1", undefined); >p.then(() => "1", undefined) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => "1" : () => string > : ^^^^^^^^^^^^ >"1" : "1" @@ -975,11 +975,11 @@ const p51 = p.then(() => "1", null); >p.then(() => "1", null) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => "1" : () => string > : ^^^^^^^^^^^^ >"1" : "1" @@ -991,11 +991,11 @@ const p52 = p.then(() => "1", () => 1); >p.then(() => "1", () => 1) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => "1" : () => string > : ^^^^^^^^^^^^ >"1" : "1" @@ -1011,11 +1011,11 @@ const p53 = p.then(() => "1", () => x); >p.then(() => "1", () => x) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => "1" : () => string > : ^^^^^^^^^^^^ >"1" : "1" @@ -1030,11 +1030,11 @@ const p54 = p.then(() => "1", () => undefined); >p.then(() => "1", () => undefined) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => "1" : () => string > : ^^^^^^^^^^^^ >"1" : "1" @@ -1050,11 +1050,11 @@ const p55 = p.then(() => "1", () => null); >p.then(() => "1", () => null) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => "1" : () => string > : ^^^^^^^^^^^^ >"1" : "1" @@ -1068,11 +1068,11 @@ const p56 = p.then(() => "1", () => {}); >p.then(() => "1", () => {}) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => "1" : () => string > : ^^^^^^^^^^^^ >"1" : "1" @@ -1086,11 +1086,11 @@ const p57 = p.then(() => "1", () => {throw 1}); >p.then(() => "1", () => {throw 1}) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => "1" : () => string > : ^^^^^^^^^^^^ >"1" : "1" @@ -1106,11 +1106,11 @@ const p58 = p.then(() => "1", () => Promise.resolve(1)); >p.then(() => "1", () => Promise.resolve(1)) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => "1" : () => string > : ^^^^^^^^^^^^ >"1" : "1" @@ -1119,12 +1119,12 @@ const p58 = p.then(() => "1", () => Promise.resolve(1)); > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -1134,11 +1134,11 @@ const p59 = p.then(() => "1", () => Promise.reject(1)); >p.then(() => "1", () => Promise.reject(1)) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => "1" : () => string > : ^^^^^^^^^^^^ >"1" : "1" @@ -1148,11 +1148,11 @@ const p59 = p.then(() => "1", () => Promise.reject(1)); >Promise.reject(1) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -1162,11 +1162,11 @@ const p60 = p.then(() => x, undefined); >p.then(() => x, undefined) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => x : () => any > : ^^^^^^^^^ >x : any @@ -1179,11 +1179,11 @@ const p61 = p.then(() => x, null); >p.then(() => x, null) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => x : () => any > : ^^^^^^^^^ >x : any @@ -1194,11 +1194,11 @@ const p62 = p.then(() => x, () => 1); >p.then(() => x, () => 1) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => x : () => any > : ^^^^^^^^^ >x : any @@ -1213,11 +1213,11 @@ const p63 = p.then(() => x, () => x); >p.then(() => x, () => x) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => x : () => any > : ^^^^^^^^^ >x : any @@ -1231,11 +1231,11 @@ const p64 = p.then(() => x, () => undefined); >p.then(() => x, () => undefined) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => x : () => any > : ^^^^^^^^^ >x : any @@ -1250,11 +1250,11 @@ const p65 = p.then(() => x, () => null); >p.then(() => x, () => null) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => x : () => any > : ^^^^^^^^^ >x : any @@ -1267,11 +1267,11 @@ const p66 = p.then(() => x, () => {}); >p.then(() => x, () => {}) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => x : () => any > : ^^^^^^^^^ >x : any @@ -1284,11 +1284,11 @@ const p67 = p.then(() => x, () => {throw 1}); >p.then(() => x, () => {throw 1}) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => x : () => any > : ^^^^^^^^^ >x : any @@ -1303,11 +1303,11 @@ const p68 = p.then(() => x, () => Promise.resolve(1)); >p.then(() => x, () => Promise.resolve(1)) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => x : () => any > : ^^^^^^^^^ >x : any @@ -1315,12 +1315,12 @@ const p68 = p.then(() => x, () => Promise.resolve(1)); > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -1330,11 +1330,11 @@ const p69 = p.then(() => x, () => Promise.reject(1)); >p.then(() => x, () => Promise.reject(1)) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => x : () => any > : ^^^^^^^^^ >x : any @@ -1343,11 +1343,11 @@ const p69 = p.then(() => x, () => Promise.reject(1)); >Promise.reject(1) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -1357,11 +1357,11 @@ const p70 = p.then(() => undefined, undefined); >p.then(() => undefined, undefined) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => undefined : () => any > : ^^^^^^^^^ >undefined : undefined @@ -1375,11 +1375,11 @@ const p71 = p.then(() => undefined, null); >p.then(() => undefined, null) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => undefined : () => any > : ^^^^^^^^^ >undefined : undefined @@ -1391,11 +1391,11 @@ const p72 = p.then(() => undefined, () => 1); >p.then(() => undefined, () => 1) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => undefined : () => any > : ^^^^^^^^^ >undefined : undefined @@ -1411,11 +1411,11 @@ const p73 = p.then(() => undefined, () => x); >p.then(() => undefined, () => x) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => undefined : () => any > : ^^^^^^^^^ >undefined : undefined @@ -1430,11 +1430,11 @@ const p74 = p.then(() => undefined, () => undefined); >p.then(() => undefined, () => undefined) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => undefined : () => any > : ^^^^^^^^^ >undefined : undefined @@ -1450,11 +1450,11 @@ const p75 = p.then(() => undefined, () => null); >p.then(() => undefined, () => null) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => undefined : () => any > : ^^^^^^^^^ >undefined : undefined @@ -1468,11 +1468,11 @@ const p76 = p.then(() => undefined, () => {}); >p.then(() => undefined, () => {}) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => undefined : () => any > : ^^^^^^^^^ >undefined : undefined @@ -1486,11 +1486,11 @@ const p77 = p.then(() => undefined, () => {throw 1}); >p.then(() => undefined, () => {throw 1}) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => undefined : () => any > : ^^^^^^^^^ >undefined : undefined @@ -1506,11 +1506,11 @@ const p78 = p.then(() => undefined, () => Promise.resolve(1)); >p.then(() => undefined, () => Promise.resolve(1)) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => undefined : () => any > : ^^^^^^^^^ >undefined : undefined @@ -1519,12 +1519,12 @@ const p78 = p.then(() => undefined, () => Promise.resolve(1)); > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -1534,11 +1534,11 @@ const p79 = p.then(() => undefined, () => Promise.reject(1)); >p.then(() => undefined, () => Promise.reject(1)) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => undefined : () => any > : ^^^^^^^^^ >undefined : undefined @@ -1548,11 +1548,11 @@ const p79 = p.then(() => undefined, () => Promise.reject(1)); >Promise.reject(1) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -1562,11 +1562,11 @@ const p80 = p.then(() => null, undefined); >p.then(() => null, undefined) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => null : () => any > : ^^^^^^^^^ >undefined : undefined @@ -1578,11 +1578,11 @@ const p81 = p.then(() => null, null); >p.then(() => null, null) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => null : () => any > : ^^^^^^^^^ @@ -1592,11 +1592,11 @@ const p82 = p.then(() => null, () => 1); >p.then(() => null, () => 1) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => null : () => any > : ^^^^^^^^^ >() => 1 : () => number @@ -1610,11 +1610,11 @@ const p83 = p.then(() => null, () => x); >p.then(() => null, () => x) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => null : () => any > : ^^^^^^^^^ >() => x : () => any @@ -1627,11 +1627,11 @@ const p84 = p.then(() => null, () => undefined); >p.then(() => null, () => undefined) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => null : () => any > : ^^^^^^^^^ >() => undefined : () => any @@ -1645,11 +1645,11 @@ const p85 = p.then(() => null, () => null); >p.then(() => null, () => null) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => null : () => any > : ^^^^^^^^^ >() => null : () => any @@ -1661,11 +1661,11 @@ const p86 = p.then(() => null, () => {}); >p.then(() => null, () => {}) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => null : () => any > : ^^^^^^^^^ >() => {} : () => void @@ -1677,11 +1677,11 @@ const p87 = p.then(() => null, () => {throw 1}); >p.then(() => null, () => {throw 1}) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => null : () => any > : ^^^^^^^^^ >() => {throw 1} : () => never @@ -1695,23 +1695,23 @@ const p88 = p.then(() => null, () => Promise.resolve(1)); >p.then(() => null, () => Promise.resolve(1)) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => null : () => any > : ^^^^^^^^^ >() => Promise.resolve(1) : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -1721,11 +1721,11 @@ const p89 = p.then(() => null, () => Promise.reject(1)); >p.then(() => null, () => Promise.reject(1)) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => null : () => any > : ^^^^^^^^^ >() => Promise.reject(1) : () => Promise @@ -1733,11 +1733,11 @@ const p89 = p.then(() => null, () => Promise.reject(1)); >Promise.reject(1) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -1747,11 +1747,11 @@ const p90 = p.then(() => {}, undefined); >p.then(() => {}, undefined) : Promise > : ^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {} : () => void > : ^^^^^^^^^^ >undefined : undefined @@ -1763,11 +1763,11 @@ const p91 = p.then(() => {}, null); >p.then(() => {}, null) : Promise > : ^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {} : () => void > : ^^^^^^^^^^ @@ -1777,11 +1777,11 @@ const p92 = p.then(() => {}, () => 1); >p.then(() => {}, () => 1) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {} : () => void > : ^^^^^^^^^^ >() => 1 : () => number @@ -1795,11 +1795,11 @@ const p93 = p.then(() => {}, () => x); >p.then(() => {}, () => x) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {} : () => void > : ^^^^^^^^^^ >() => x : () => any @@ -1812,11 +1812,11 @@ const p94 = p.then(() => {}, () => undefined); >p.then(() => {}, () => undefined) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {} : () => void > : ^^^^^^^^^^ >() => undefined : () => any @@ -1830,11 +1830,11 @@ const p95 = p.then(() => {}, () => null); >p.then(() => {}, () => null) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {} : () => void > : ^^^^^^^^^^ >() => null : () => any @@ -1846,11 +1846,11 @@ const p96 = p.then(() => {}, () => {}); >p.then(() => {}, () => {}) : Promise > : ^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {} : () => void > : ^^^^^^^^^^ >() => {} : () => void @@ -1862,11 +1862,11 @@ const p97 = p.then(() => {}, () => {throw 1}); >p.then(() => {}, () => {throw 1}) : Promise > : ^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {} : () => void > : ^^^^^^^^^^ >() => {throw 1} : () => never @@ -1880,23 +1880,23 @@ const p98 = p.then(() => {}, () => Promise.resolve(1)); >p.then(() => {}, () => Promise.resolve(1)) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {} : () => void > : ^^^^^^^^^^ >() => Promise.resolve(1) : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -1906,11 +1906,11 @@ const p99 = p.then(() => {}, () => Promise.reject(1)); >p.then(() => {}, () => Promise.reject(1)) : Promise > : ^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {} : () => void > : ^^^^^^^^^^ >() => Promise.reject(1) : () => Promise @@ -1918,11 +1918,11 @@ const p99 = p.then(() => {}, () => Promise.reject(1)); >Promise.reject(1) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -1932,11 +1932,11 @@ const pa0 = p.then(() => {throw 1}, undefined); >p.then(() => {throw 1}, undefined) : Promise > : ^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {throw 1} : () => never > : ^^^^^^^^^^^ >1 : 1 @@ -1950,11 +1950,11 @@ const pa1 = p.then(() => {throw 1}, null); >p.then(() => {throw 1}, null) : Promise > : ^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {throw 1} : () => never > : ^^^^^^^^^^^ >1 : 1 @@ -1966,11 +1966,11 @@ const pa2 = p.then(() => {throw 1}, () => 1); >p.then(() => {throw 1}, () => 1) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {throw 1} : () => never > : ^^^^^^^^^^^ >1 : 1 @@ -1986,11 +1986,11 @@ const pa3 = p.then(() => {throw 1}, () => x); >p.then(() => {throw 1}, () => x) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {throw 1} : () => never > : ^^^^^^^^^^^ >1 : 1 @@ -2005,11 +2005,11 @@ const pa4 = p.then(() => {throw 1}, () => undefined); >p.then(() => {throw 1}, () => undefined) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {throw 1} : () => never > : ^^^^^^^^^^^ >1 : 1 @@ -2025,11 +2025,11 @@ const pa5 = p.then(() => {throw 1}, () => null); >p.then(() => {throw 1}, () => null) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {throw 1} : () => never > : ^^^^^^^^^^^ >1 : 1 @@ -2043,11 +2043,11 @@ const pa6 = p.then(() => {throw 1}, () => {}); >p.then(() => {throw 1}, () => {}) : Promise > : ^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {throw 1} : () => never > : ^^^^^^^^^^^ >1 : 1 @@ -2061,11 +2061,11 @@ const pa7 = p.then(() => {throw 1}, () => {throw 1}); >p.then(() => {throw 1}, () => {throw 1}) : Promise > : ^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {throw 1} : () => never > : ^^^^^^^^^^^ >1 : 1 @@ -2081,11 +2081,11 @@ const pa8 = p.then(() => {throw 1}, () => Promise.resolve(1)); >p.then(() => {throw 1}, () => Promise.resolve(1)) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {throw 1} : () => never > : ^^^^^^^^^^^ >1 : 1 @@ -2094,12 +2094,12 @@ const pa8 = p.then(() => {throw 1}, () => Promise.resolve(1)); > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -2109,11 +2109,11 @@ const pa9 = p.then(() => {throw 1}, () => Promise.reject(1)); >p.then(() => {throw 1}, () => Promise.reject(1)) : Promise > : ^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {throw 1} : () => never > : ^^^^^^^^^^^ >1 : 1 @@ -2123,11 +2123,11 @@ const pa9 = p.then(() => {throw 1}, () => Promise.reject(1)); >Promise.reject(1) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -2137,21 +2137,21 @@ const pb0 = p.then(() => Promise.resolve("1"), undefined); >p.then(() => Promise.resolve("1"), undefined) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.resolve("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve("1") : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >"1" : "1" > : ^^^ >undefined : undefined @@ -2163,21 +2163,21 @@ const pb1 = p.then(() => Promise.resolve("1"), null); >p.then(() => Promise.resolve("1"), null) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.resolve("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve("1") : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >"1" : "1" > : ^^^ @@ -2187,21 +2187,21 @@ const pb2 = p.then(() => Promise.resolve("1"), () => 1); >p.then(() => Promise.resolve("1"), () => 1) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.resolve("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve("1") : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >"1" : "1" > : ^^^ >() => 1 : () => number @@ -2215,21 +2215,21 @@ const pb3 = p.then(() => Promise.resolve("1"), () => x); >p.then(() => Promise.resolve("1"), () => x) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.resolve("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve("1") : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >"1" : "1" > : ^^^ >() => x : () => any @@ -2242,21 +2242,21 @@ const pb4 = p.then(() => Promise.resolve("1"), () => undefined); >p.then(() => Promise.resolve("1"), () => undefined) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.resolve("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve("1") : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >"1" : "1" > : ^^^ >() => undefined : () => any @@ -2270,21 +2270,21 @@ const pb5 = p.then(() => Promise.resolve("1"), () => null); >p.then(() => Promise.resolve("1"), () => null) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.resolve("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve("1") : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >"1" : "1" > : ^^^ >() => null : () => any @@ -2296,21 +2296,21 @@ const pb6 = p.then(() => Promise.resolve("1"), () => {}); >p.then(() => Promise.resolve("1"), () => {}) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.resolve("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve("1") : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >"1" : "1" > : ^^^ >() => {} : () => void @@ -2322,21 +2322,21 @@ const pb7 = p.then(() => Promise.resolve("1"), () => {throw 1}); >p.then(() => Promise.resolve("1"), () => {throw 1}) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.resolve("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve("1") : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >"1" : "1" > : ^^^ >() => {throw 1} : () => never @@ -2350,33 +2350,33 @@ const pb8 = p.then(() => Promise.resolve("1"), () => Promise.resolve(1)); >p.then(() => Promise.resolve("1"), () => Promise.resolve(1)) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.resolve("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve("1") : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >"1" : "1" > : ^^^ >() => Promise.resolve(1) : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -2386,21 +2386,21 @@ const pb9 = p.then(() => Promise.resolve("1"), () => Promise.reject(1)); >p.then(() => Promise.resolve("1"), () => Promise.reject(1)) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.resolve("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve("1") : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >"1" : "1" > : ^^^ >() => Promise.reject(1) : () => Promise @@ -2408,11 +2408,11 @@ const pb9 = p.then(() => Promise.resolve("1"), () => Promise.reject(1)); >Promise.reject(1) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -2422,21 +2422,21 @@ const pc0 = p.then(() => Promise.reject("1"), undefined); >p.then(() => Promise.reject("1"), undefined) : Promise > : ^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.reject("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^ >Promise.reject("1") : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >"1" : "1" > : ^^^ >undefined : undefined @@ -2448,21 +2448,21 @@ const pc1 = p.then(() => Promise.reject("1"), null); >p.then(() => Promise.reject("1"), null) : Promise > : ^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.reject("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^ >Promise.reject("1") : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >"1" : "1" > : ^^^ @@ -2472,21 +2472,21 @@ const pc2 = p.then(() => Promise.reject("1"), () => 1); >p.then(() => Promise.reject("1"), () => 1) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.reject("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^ >Promise.reject("1") : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >"1" : "1" > : ^^^ >() => 1 : () => number @@ -2500,21 +2500,21 @@ const pc3 = p.then(() => Promise.reject("1"), () => x); >p.then(() => Promise.reject("1"), () => x) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.reject("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^ >Promise.reject("1") : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >"1" : "1" > : ^^^ >() => x : () => any @@ -2527,21 +2527,21 @@ const pc4 = p.then(() => Promise.reject("1"), () => undefined); >p.then(() => Promise.reject("1"), () => undefined) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.reject("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^ >Promise.reject("1") : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >"1" : "1" > : ^^^ >() => undefined : () => any @@ -2555,21 +2555,21 @@ const pc5 = p.then(() => Promise.reject("1"), () => null); >p.then(() => Promise.reject("1"), () => null) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.reject("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^ >Promise.reject("1") : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >"1" : "1" > : ^^^ >() => null : () => any @@ -2581,21 +2581,21 @@ const pc6 = p.then(() => Promise.reject("1"), () => {}); >p.then(() => Promise.reject("1"), () => {}) : Promise > : ^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.reject("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^ >Promise.reject("1") : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >"1" : "1" > : ^^^ >() => {} : () => void @@ -2607,21 +2607,21 @@ const pc7 = p.then(() => Promise.reject("1"), () => {throw 1}); >p.then(() => Promise.reject("1"), () => {throw 1}) : Promise > : ^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.reject("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^ >Promise.reject("1") : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >"1" : "1" > : ^^^ >() => {throw 1} : () => never @@ -2635,33 +2635,33 @@ const pc8 = p.then(() => Promise.reject("1"), () => Promise.resolve(1)); >p.then(() => Promise.reject("1"), () => Promise.resolve(1)) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.reject("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^ >Promise.reject("1") : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >"1" : "1" > : ^^^ >() => Promise.resolve(1) : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -2671,21 +2671,21 @@ const pc9 = p.then(() => Promise.reject("1"), () => Promise.reject(1)); >p.then(() => Promise.reject("1"), () => Promise.reject(1)) : Promise > : ^^^^^^^^^^^^^^ >p.then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.reject("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^ >Promise.reject("1") : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >"1" : "1" > : ^^^ >() => Promise.reject(1) : () => Promise @@ -2693,23 +2693,23 @@ const pc9 = p.then(() => Promise.reject("1"), () => Promise.reject(1)); >Promise.reject(1) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >1 : 1 > : ^ Promise.resolve(undefined as Promise | number); >Promise.resolve(undefined as Promise | number) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >undefined as Promise | number : number | Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^ >undefined : undefined @@ -2718,12 +2718,12 @@ Promise.resolve(undefined as Promise | number); Promise.resolve(undefined as Promise>); >Promise.resolve(undefined as Promise>) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >undefined as Promise> : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^ >undefined : undefined @@ -2732,12 +2732,12 @@ Promise.resolve(undefined as Promise>); Promise.resolve(undefined as string | Promise>); >Promise.resolve(undefined as string | Promise>) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >undefined as string | Promise> : string | Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >undefined : undefined @@ -2746,12 +2746,12 @@ Promise.resolve(undefined as string | Promise>); Promise.resolve(undefined as Promise | Promise>); >Promise.resolve(undefined as Promise | Promise>) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >undefined as Promise | Promise> : Promise | Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >undefined : undefined @@ -2760,12 +2760,12 @@ Promise.resolve(undefined as Promise | Promise>); Promise.resolve(undefined as Promise>>); >Promise.resolve(undefined as Promise>>) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >undefined as Promise>> : Promise>> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >undefined : undefined diff --git a/tests/baselines/reference/promiseTypeInference.types b/tests/baselines/reference/promiseTypeInference.types index bf3f8d605813b..a08547bc2765e 100644 --- a/tests/baselines/reference/promiseTypeInference.types +++ b/tests/baselines/reference/promiseTypeInference.types @@ -40,15 +40,15 @@ var $$x = load("something").then(s => convert(s)); >load("something").then(s => convert(s)) : CPromise > : ^^^^^^^^^^^^^^^^ >load("something").then : (success?: (value: string) => CPromise) => CPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^^^^ ^ >load("something") : CPromise > : ^^^^^^^^^^^^^^^^ >load : (name: string) => CPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"something" : "something" > : ^^^^^^^^^^^ >then : (success?: (value: string) => CPromise) => CPromise -> : ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^^^^ ^ >s => convert(s) : (s: string) => IPromise > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >s : string @@ -56,7 +56,7 @@ var $$x = load("something").then(s => convert(s)); >convert(s) : IPromise > : ^^^^^^^^^^^^^^^^ >convert : (s: string) => IPromise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >s : string > : ^^^^^^ diff --git a/tests/baselines/reference/promiseTypeInferenceUnion.types b/tests/baselines/reference/promiseTypeInferenceUnion.types index 22f3681b82d30..e5277861461dd 100644 --- a/tests/baselines/reference/promiseTypeInferenceUnion.types +++ b/tests/baselines/reference/promiseTypeInferenceUnion.types @@ -10,12 +10,12 @@ function f1(x: number): number | Promise { return Promise.resolve(x); >Promise.resolve(x) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ } @@ -29,12 +29,12 @@ function f2(x: number): number | PromiseLike { return Promise.resolve(x); >Promise.resolve(x) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ } @@ -48,12 +48,12 @@ function f3(x: number): number | Promise | PromiseLike { return Promise.resolve(x); >Promise.resolve(x) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ } @@ -63,16 +63,16 @@ const g1: Promise = Promise.resolve(f1(42)); > : ^^^^^^^^^^^^^^^ >Promise.resolve(f1(42)) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >f1(42) : number | Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^ >f1 : (x: number) => number | Promise -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >42 : 42 > : ^^ @@ -81,16 +81,16 @@ const g2: Promise = Promise.resolve(f2(42)); > : ^^^^^^^^^^^^^^^ >Promise.resolve(f2(42)) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >f2(42) : number | PromiseLike > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f2 : (x: number) => number | PromiseLike -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >42 : 42 > : ^^ @@ -99,16 +99,16 @@ const g3: Promise = Promise.resolve(f3(42)); > : ^^^^^^^^^^^^^^^ >Promise.resolve(f3(42)) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >f3(42) : number | Promise | PromiseLike > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f3 : (x: number) => number | Promise | PromiseLike -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >42 : 42 > : ^^ diff --git a/tests/baselines/reference/promiseTypeStrictNull.types b/tests/baselines/reference/promiseTypeStrictNull.types index 8f9d6803bf0fe..c7d7aa3a3b6f7 100644 --- a/tests/baselines/reference/promiseTypeStrictNull.types +++ b/tests/baselines/reference/promiseTypeStrictNull.types @@ -1,7 +1,7 @@ //// [tests/cases/compiler/promiseTypeStrictNull.ts] //// === Performance Stats === -Instantiation count: 2,500 +Instantiation count: 2,500 -> 10,000 === promiseTypeStrictNull.ts === declare var p: Promise; @@ -145,11 +145,11 @@ async function F() { >Promise.reject(Error()) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Error() : Error > : ^^^^^ >Error : ErrorConstructor @@ -233,11 +233,11 @@ async function I() { >Promise.reject(Error()) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Error() : Error > : ^^^^^ >Error : ErrorConstructor @@ -253,11 +253,11 @@ const p00 = p.catch(); >p.catch() : Promise > : ^^^^^^^^^^^^^^^^ >p.catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ const p01 = p.then(); >p01 : Promise @@ -265,11 +265,11 @@ const p01 = p.then(); >p.then() : Promise > : ^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ const p10 = p.catch(undefined); >p10 : Promise @@ -277,11 +277,11 @@ const p10 = p.catch(undefined); >p.catch(undefined) : Promise > : ^^^^^^^^^^^^^^^^ >p.catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ >undefined : undefined > : ^^^^^^^^^ @@ -291,11 +291,11 @@ const p11 = p.catch(null); >p.catch(null) : Promise > : ^^^^^^^^^^^^^^^^ >p.catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ const p12 = p.catch(() => 1); >p12 : Promise @@ -303,11 +303,11 @@ const p12 = p.catch(() => 1); >p.catch(() => 1) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >p.catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ >() => 1 : () => number > : ^^^^^^^^^^^^ >1 : 1 @@ -319,11 +319,11 @@ const p13 = p.catch(() => x); >p.catch(() => x) : Promise > : ^^^^^^^^^^^^ >p.catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ >() => x : () => any > : ^^^^^^^^^ >x : any @@ -334,11 +334,11 @@ const p14 = p.catch(() => undefined); >p.catch(() => undefined) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >p.catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ >() => undefined : () => undefined > : ^^^^^^^^^^^^^^^ >undefined : undefined @@ -350,11 +350,11 @@ const p15 = p.catch(() => null); >p.catch(() => null) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^ >p.catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ >() => null : () => null > : ^^^^^^^^^^ @@ -364,11 +364,11 @@ const p16 = p.catch(() => {}); >p.catch(() => {}) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^ >p.catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ >() => {} : () => void > : ^^^^^^^^^^ @@ -378,11 +378,11 @@ const p17 = p.catch(() => {throw 1}); >p.catch(() => {throw 1}) : Promise > : ^^^^^^^^^^^^^^^^ >p.catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ >() => {throw 1} : () => never > : ^^^^^^^^^^^ >1 : 1 @@ -394,21 +394,21 @@ const p18 = p.catch(() => Promise.reject(1)); >p.catch(() => Promise.reject(1)) : Promise > : ^^^^^^^^^^^^^^^^ >p.catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ >() => Promise.reject(1) : () => Promise > : ^^^^^^^^^^^^^^^^^^^^ >Promise.reject(1) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -418,21 +418,21 @@ const p19 = p.catch(() => Promise.resolve(1)); >p.catch(() => Promise.resolve(1)) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >p.catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ >() => Promise.resolve(1) : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -442,11 +442,11 @@ const p20 = p.then(undefined); >p.then(undefined) : Promise > : ^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ @@ -456,11 +456,11 @@ const p21 = p.then(null); >p.then(null) : Promise > : ^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ const p22 = p.then(() => 1); >p22 : Promise @@ -468,11 +468,11 @@ const p22 = p.then(() => 1); >p.then(() => 1) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => 1 : () => number > : ^^^^^^^^^^^^ >1 : 1 @@ -484,11 +484,11 @@ const p23 = p.then(() => x); >p.then(() => x) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => x : () => any > : ^^^^^^^^^ >x : any @@ -499,11 +499,11 @@ const p24 = p.then(() => undefined); >p.then(() => undefined) : Promise > : ^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => undefined : () => undefined > : ^^^^^^^^^^^^^^^ >undefined : undefined @@ -515,11 +515,11 @@ const p25 = p.then(() => null); >p.then(() => null) : Promise > : ^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => null : () => null > : ^^^^^^^^^^ @@ -529,11 +529,11 @@ const p26 = p.then(() => {}); >p.then(() => {}) : Promise > : ^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {} : () => void > : ^^^^^^^^^^ @@ -543,11 +543,11 @@ const p27 = p.then(() => {throw 1}); >p.then(() => {throw 1}) : Promise > : ^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {throw 1} : () => never > : ^^^^^^^^^^^ >1 : 1 @@ -559,21 +559,21 @@ const p28 = p.then(() => Promise.resolve(1)); >p.then(() => Promise.resolve(1)) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.resolve(1) : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -583,21 +583,21 @@ const p29 = p.then(() => Promise.reject(1)); >p.then(() => Promise.reject(1)) : Promise > : ^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.reject(1) : () => Promise > : ^^^^^^^^^^^^^^^^^^^^ >Promise.reject(1) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -607,11 +607,11 @@ const p30 = p.then(undefined, undefined); >p.then(undefined, undefined) : Promise > : ^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ >undefined : undefined @@ -623,11 +623,11 @@ const p31 = p.then(undefined, null); >p.then(undefined, null) : Promise > : ^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ @@ -637,11 +637,11 @@ const p32 = p.then(undefined, () => 1); >p.then(undefined, () => 1) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ >() => 1 : () => number @@ -655,11 +655,11 @@ const p33 = p.then(undefined, () => x); >p.then(undefined, () => x) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ >() => x : () => any @@ -672,11 +672,11 @@ const p34 = p.then(undefined, () => undefined); >p.then(undefined, () => undefined) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ >() => undefined : () => undefined @@ -690,11 +690,11 @@ const p35 = p.then(undefined, () => null); >p.then(undefined, () => null) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ >() => null : () => null @@ -706,11 +706,11 @@ const p36 = p.then(undefined, () => {}); >p.then(undefined, () => {}) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ >() => {} : () => void @@ -722,11 +722,11 @@ const p37 = p.then(undefined, () => {throw 1}); >p.then(undefined, () => {throw 1}) : Promise > : ^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ >() => {throw 1} : () => never @@ -740,23 +740,23 @@ const p38 = p.then(undefined, () => Promise.resolve(1)); >p.then(undefined, () => Promise.resolve(1)) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ >() => Promise.resolve(1) : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -766,11 +766,11 @@ const p39 = p.then(undefined, () => Promise.reject(1)); >p.then(undefined, () => Promise.reject(1)) : Promise > : ^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ >() => Promise.reject(1) : () => Promise @@ -778,11 +778,11 @@ const p39 = p.then(undefined, () => Promise.reject(1)); >Promise.reject(1) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -792,11 +792,11 @@ const p40 = p.then(null, undefined); >p.then(null, undefined) : Promise > : ^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ @@ -806,11 +806,11 @@ const p41 = p.then(null, null); >p.then(null, null) : Promise > : ^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ const p42 = p.then(null, () => 1); >p42 : Promise @@ -818,11 +818,11 @@ const p42 = p.then(null, () => 1); >p.then(null, () => 1) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => 1 : () => number > : ^^^^^^^^^^^^ >1 : 1 @@ -834,11 +834,11 @@ const p43 = p.then(null, () => x); >p.then(null, () => x) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => x : () => any > : ^^^^^^^^^ >x : any @@ -849,11 +849,11 @@ const p44 = p.then(null, () => undefined); >p.then(null, () => undefined) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => undefined : () => undefined > : ^^^^^^^^^^^^^^^ >undefined : undefined @@ -865,11 +865,11 @@ const p45 = p.then(null, () => null); >p.then(null, () => null) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => null : () => null > : ^^^^^^^^^^ @@ -879,11 +879,11 @@ const p46 = p.then(null, () => {}); >p.then(null, () => {}) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {} : () => void > : ^^^^^^^^^^ @@ -893,11 +893,11 @@ const p47 = p.then(null, () => {throw 1}); >p.then(null, () => {throw 1}) : Promise > : ^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {throw 1} : () => never > : ^^^^^^^^^^^ >1 : 1 @@ -909,21 +909,21 @@ const p48 = p.then(null, () => Promise.resolve(1)); >p.then(null, () => Promise.resolve(1)) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.resolve(1) : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -933,21 +933,21 @@ const p49 = p.then(null, () => Promise.reject(1)); >p.then(null, () => Promise.reject(1)) : Promise > : ^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.reject(1) : () => Promise > : ^^^^^^^^^^^^^^^^^^^^ >Promise.reject(1) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -957,11 +957,11 @@ const p50 = p.then(() => "1", undefined); >p.then(() => "1", undefined) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => "1" : () => string > : ^^^^^^^^^^^^ >"1" : "1" @@ -975,11 +975,11 @@ const p51 = p.then(() => "1", null); >p.then(() => "1", null) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => "1" : () => string > : ^^^^^^^^^^^^ >"1" : "1" @@ -991,11 +991,11 @@ const p52 = p.then(() => "1", () => 1); >p.then(() => "1", () => 1) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => "1" : () => string > : ^^^^^^^^^^^^ >"1" : "1" @@ -1011,11 +1011,11 @@ const p53 = p.then(() => "1", () => x); >p.then(() => "1", () => x) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => "1" : () => string > : ^^^^^^^^^^^^ >"1" : "1" @@ -1030,11 +1030,11 @@ const p54 = p.then(() => "1", () => undefined); >p.then(() => "1", () => undefined) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => "1" : () => string > : ^^^^^^^^^^^^ >"1" : "1" @@ -1050,11 +1050,11 @@ const p55 = p.then(() => "1", () => null); >p.then(() => "1", () => null) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => "1" : () => string > : ^^^^^^^^^^^^ >"1" : "1" @@ -1068,11 +1068,11 @@ const p56 = p.then(() => "1", () => {}); >p.then(() => "1", () => {}) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => "1" : () => string > : ^^^^^^^^^^^^ >"1" : "1" @@ -1086,11 +1086,11 @@ const p57 = p.then(() => "1", () => {throw 1}); >p.then(() => "1", () => {throw 1}) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => "1" : () => string > : ^^^^^^^^^^^^ >"1" : "1" @@ -1106,11 +1106,11 @@ const p58 = p.then(() => "1", () => Promise.resolve(1)); >p.then(() => "1", () => Promise.resolve(1)) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => "1" : () => string > : ^^^^^^^^^^^^ >"1" : "1" @@ -1119,12 +1119,12 @@ const p58 = p.then(() => "1", () => Promise.resolve(1)); > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -1134,11 +1134,11 @@ const p59 = p.then(() => "1", () => Promise.reject(1)); >p.then(() => "1", () => Promise.reject(1)) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => "1" : () => string > : ^^^^^^^^^^^^ >"1" : "1" @@ -1148,11 +1148,11 @@ const p59 = p.then(() => "1", () => Promise.reject(1)); >Promise.reject(1) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -1162,11 +1162,11 @@ const p60 = p.then(() => x, undefined); >p.then(() => x, undefined) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => x : () => any > : ^^^^^^^^^ >x : any @@ -1179,11 +1179,11 @@ const p61 = p.then(() => x, null); >p.then(() => x, null) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => x : () => any > : ^^^^^^^^^ >x : any @@ -1194,11 +1194,11 @@ const p62 = p.then(() => x, () => 1); >p.then(() => x, () => 1) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => x : () => any > : ^^^^^^^^^ >x : any @@ -1213,11 +1213,11 @@ const p63 = p.then(() => x, () => x); >p.then(() => x, () => x) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => x : () => any > : ^^^^^^^^^ >x : any @@ -1231,11 +1231,11 @@ const p64 = p.then(() => x, () => undefined); >p.then(() => x, () => undefined) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => x : () => any > : ^^^^^^^^^ >x : any @@ -1250,11 +1250,11 @@ const p65 = p.then(() => x, () => null); >p.then(() => x, () => null) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => x : () => any > : ^^^^^^^^^ >x : any @@ -1267,11 +1267,11 @@ const p66 = p.then(() => x, () => {}); >p.then(() => x, () => {}) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => x : () => any > : ^^^^^^^^^ >x : any @@ -1284,11 +1284,11 @@ const p67 = p.then(() => x, () => {throw 1}); >p.then(() => x, () => {throw 1}) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => x : () => any > : ^^^^^^^^^ >x : any @@ -1303,11 +1303,11 @@ const p68 = p.then(() => x, () => Promise.resolve(1)); >p.then(() => x, () => Promise.resolve(1)) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => x : () => any > : ^^^^^^^^^ >x : any @@ -1315,12 +1315,12 @@ const p68 = p.then(() => x, () => Promise.resolve(1)); > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -1330,11 +1330,11 @@ const p69 = p.then(() => x, () => Promise.reject(1)); >p.then(() => x, () => Promise.reject(1)) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => x : () => any > : ^^^^^^^^^ >x : any @@ -1343,11 +1343,11 @@ const p69 = p.then(() => x, () => Promise.reject(1)); >Promise.reject(1) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -1357,11 +1357,11 @@ const p70 = p.then(() => undefined, undefined); >p.then(() => undefined, undefined) : Promise > : ^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => undefined : () => undefined > : ^^^^^^^^^^^^^^^ >undefined : undefined @@ -1375,11 +1375,11 @@ const p71 = p.then(() => undefined, null); >p.then(() => undefined, null) : Promise > : ^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => undefined : () => undefined > : ^^^^^^^^^^^^^^^ >undefined : undefined @@ -1391,11 +1391,11 @@ const p72 = p.then(() => undefined, () => 1); >p.then(() => undefined, () => 1) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => undefined : () => undefined > : ^^^^^^^^^^^^^^^ >undefined : undefined @@ -1411,11 +1411,11 @@ const p73 = p.then(() => undefined, () => x); >p.then(() => undefined, () => x) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => undefined : () => undefined > : ^^^^^^^^^^^^^^^ >undefined : undefined @@ -1430,11 +1430,11 @@ const p74 = p.then(() => undefined, () => undefined); >p.then(() => undefined, () => undefined) : Promise > : ^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => undefined : () => undefined > : ^^^^^^^^^^^^^^^ >undefined : undefined @@ -1450,11 +1450,11 @@ const p75 = p.then(() => undefined, () => null); >p.then(() => undefined, () => null) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => undefined : () => undefined > : ^^^^^^^^^^^^^^^ >undefined : undefined @@ -1468,11 +1468,11 @@ const p76 = p.then(() => undefined, () => {}); >p.then(() => undefined, () => {}) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => undefined : () => undefined > : ^^^^^^^^^^^^^^^ >undefined : undefined @@ -1486,11 +1486,11 @@ const p77 = p.then(() => undefined, () => {throw 1}); >p.then(() => undefined, () => {throw 1}) : Promise > : ^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => undefined : () => undefined > : ^^^^^^^^^^^^^^^ >undefined : undefined @@ -1506,11 +1506,11 @@ const p78 = p.then(() => undefined, () => Promise.resolve(1)); >p.then(() => undefined, () => Promise.resolve(1)) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => undefined : () => undefined > : ^^^^^^^^^^^^^^^ >undefined : undefined @@ -1519,12 +1519,12 @@ const p78 = p.then(() => undefined, () => Promise.resolve(1)); > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -1534,11 +1534,11 @@ const p79 = p.then(() => undefined, () => Promise.reject(1)); >p.then(() => undefined, () => Promise.reject(1)) : Promise > : ^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => undefined : () => undefined > : ^^^^^^^^^^^^^^^ >undefined : undefined @@ -1548,11 +1548,11 @@ const p79 = p.then(() => undefined, () => Promise.reject(1)); >Promise.reject(1) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -1562,11 +1562,11 @@ const p80 = p.then(() => null, undefined); >p.then(() => null, undefined) : Promise > : ^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => null : () => null > : ^^^^^^^^^^ >undefined : undefined @@ -1578,11 +1578,11 @@ const p81 = p.then(() => null, null); >p.then(() => null, null) : Promise > : ^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => null : () => null > : ^^^^^^^^^^ @@ -1592,11 +1592,11 @@ const p82 = p.then(() => null, () => 1); >p.then(() => null, () => 1) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => null : () => null > : ^^^^^^^^^^ >() => 1 : () => number @@ -1610,11 +1610,11 @@ const p83 = p.then(() => null, () => x); >p.then(() => null, () => x) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => null : () => null > : ^^^^^^^^^^ >() => x : () => any @@ -1627,11 +1627,11 @@ const p84 = p.then(() => null, () => undefined); >p.then(() => null, () => undefined) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => null : () => null > : ^^^^^^^^^^ >() => undefined : () => undefined @@ -1645,11 +1645,11 @@ const p85 = p.then(() => null, () => null); >p.then(() => null, () => null) : Promise > : ^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => null : () => null > : ^^^^^^^^^^ >() => null : () => null @@ -1661,11 +1661,11 @@ const p86 = p.then(() => null, () => {}); >p.then(() => null, () => {}) : Promise > : ^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => null : () => null > : ^^^^^^^^^^ >() => {} : () => void @@ -1677,11 +1677,11 @@ const p87 = p.then(() => null, () => {throw 1}); >p.then(() => null, () => {throw 1}) : Promise > : ^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => null : () => null > : ^^^^^^^^^^ >() => {throw 1} : () => never @@ -1695,23 +1695,23 @@ const p88 = p.then(() => null, () => Promise.resolve(1)); >p.then(() => null, () => Promise.resolve(1)) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => null : () => null > : ^^^^^^^^^^ >() => Promise.resolve(1) : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -1721,11 +1721,11 @@ const p89 = p.then(() => null, () => Promise.reject(1)); >p.then(() => null, () => Promise.reject(1)) : Promise > : ^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => null : () => null > : ^^^^^^^^^^ >() => Promise.reject(1) : () => Promise @@ -1733,11 +1733,11 @@ const p89 = p.then(() => null, () => Promise.reject(1)); >Promise.reject(1) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -1747,11 +1747,11 @@ const p90 = p.then(() => {}, undefined); >p.then(() => {}, undefined) : Promise > : ^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {} : () => void > : ^^^^^^^^^^ >undefined : undefined @@ -1763,11 +1763,11 @@ const p91 = p.then(() => {}, null); >p.then(() => {}, null) : Promise > : ^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {} : () => void > : ^^^^^^^^^^ @@ -1777,11 +1777,11 @@ const p92 = p.then(() => {}, () => 1); >p.then(() => {}, () => 1) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {} : () => void > : ^^^^^^^^^^ >() => 1 : () => number @@ -1795,11 +1795,11 @@ const p93 = p.then(() => {}, () => x); >p.then(() => {}, () => x) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {} : () => void > : ^^^^^^^^^^ >() => x : () => any @@ -1812,11 +1812,11 @@ const p94 = p.then(() => {}, () => undefined); >p.then(() => {}, () => undefined) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {} : () => void > : ^^^^^^^^^^ >() => undefined : () => undefined @@ -1830,11 +1830,11 @@ const p95 = p.then(() => {}, () => null); >p.then(() => {}, () => null) : Promise > : ^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {} : () => void > : ^^^^^^^^^^ >() => null : () => null @@ -1846,11 +1846,11 @@ const p96 = p.then(() => {}, () => {}); >p.then(() => {}, () => {}) : Promise > : ^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {} : () => void > : ^^^^^^^^^^ >() => {} : () => void @@ -1862,11 +1862,11 @@ const p97 = p.then(() => {}, () => {throw 1}); >p.then(() => {}, () => {throw 1}) : Promise > : ^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {} : () => void > : ^^^^^^^^^^ >() => {throw 1} : () => never @@ -1880,23 +1880,23 @@ const p98 = p.then(() => {}, () => Promise.resolve(1)); >p.then(() => {}, () => Promise.resolve(1)) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {} : () => void > : ^^^^^^^^^^ >() => Promise.resolve(1) : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -1906,11 +1906,11 @@ const p99 = p.then(() => {}, () => Promise.reject(1)); >p.then(() => {}, () => Promise.reject(1)) : Promise > : ^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {} : () => void > : ^^^^^^^^^^ >() => Promise.reject(1) : () => Promise @@ -1918,11 +1918,11 @@ const p99 = p.then(() => {}, () => Promise.reject(1)); >Promise.reject(1) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -1932,11 +1932,11 @@ const pa0 = p.then(() => {throw 1}, undefined); >p.then(() => {throw 1}, undefined) : Promise > : ^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {throw 1} : () => never > : ^^^^^^^^^^^ >1 : 1 @@ -1950,11 +1950,11 @@ const pa1 = p.then(() => {throw 1}, null); >p.then(() => {throw 1}, null) : Promise > : ^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {throw 1} : () => never > : ^^^^^^^^^^^ >1 : 1 @@ -1966,11 +1966,11 @@ const pa2 = p.then(() => {throw 1}, () => 1); >p.then(() => {throw 1}, () => 1) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {throw 1} : () => never > : ^^^^^^^^^^^ >1 : 1 @@ -1986,11 +1986,11 @@ const pa3 = p.then(() => {throw 1}, () => x); >p.then(() => {throw 1}, () => x) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {throw 1} : () => never > : ^^^^^^^^^^^ >1 : 1 @@ -2005,11 +2005,11 @@ const pa4 = p.then(() => {throw 1}, () => undefined); >p.then(() => {throw 1}, () => undefined) : Promise > : ^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {throw 1} : () => never > : ^^^^^^^^^^^ >1 : 1 @@ -2025,11 +2025,11 @@ const pa5 = p.then(() => {throw 1}, () => null); >p.then(() => {throw 1}, () => null) : Promise > : ^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {throw 1} : () => never > : ^^^^^^^^^^^ >1 : 1 @@ -2043,11 +2043,11 @@ const pa6 = p.then(() => {throw 1}, () => {}); >p.then(() => {throw 1}, () => {}) : Promise > : ^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {throw 1} : () => never > : ^^^^^^^^^^^ >1 : 1 @@ -2061,11 +2061,11 @@ const pa7 = p.then(() => {throw 1}, () => {throw 1}); >p.then(() => {throw 1}, () => {throw 1}) : Promise > : ^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {throw 1} : () => never > : ^^^^^^^^^^^ >1 : 1 @@ -2081,11 +2081,11 @@ const pa8 = p.then(() => {throw 1}, () => Promise.resolve(1)); >p.then(() => {throw 1}, () => Promise.resolve(1)) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {throw 1} : () => never > : ^^^^^^^^^^^ >1 : 1 @@ -2094,12 +2094,12 @@ const pa8 = p.then(() => {throw 1}, () => Promise.resolve(1)); > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -2109,11 +2109,11 @@ const pa9 = p.then(() => {throw 1}, () => Promise.reject(1)); >p.then(() => {throw 1}, () => Promise.reject(1)) : Promise > : ^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => {throw 1} : () => never > : ^^^^^^^^^^^ >1 : 1 @@ -2123,11 +2123,11 @@ const pa9 = p.then(() => {throw 1}, () => Promise.reject(1)); >Promise.reject(1) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -2137,21 +2137,21 @@ const pb0 = p.then(() => Promise.resolve("1"), undefined); >p.then(() => Promise.resolve("1"), undefined) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.resolve("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve("1") : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >"1" : "1" > : ^^^ >undefined : undefined @@ -2163,21 +2163,21 @@ const pb1 = p.then(() => Promise.resolve("1"), null); >p.then(() => Promise.resolve("1"), null) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.resolve("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve("1") : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >"1" : "1" > : ^^^ @@ -2187,21 +2187,21 @@ const pb2 = p.then(() => Promise.resolve("1"), () => 1); >p.then(() => Promise.resolve("1"), () => 1) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.resolve("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve("1") : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >"1" : "1" > : ^^^ >() => 1 : () => number @@ -2215,21 +2215,21 @@ const pb3 = p.then(() => Promise.resolve("1"), () => x); >p.then(() => Promise.resolve("1"), () => x) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.resolve("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve("1") : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >"1" : "1" > : ^^^ >() => x : () => any @@ -2242,21 +2242,21 @@ const pb4 = p.then(() => Promise.resolve("1"), () => undefined); >p.then(() => Promise.resolve("1"), () => undefined) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.resolve("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve("1") : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >"1" : "1" > : ^^^ >() => undefined : () => undefined @@ -2270,21 +2270,21 @@ const pb5 = p.then(() => Promise.resolve("1"), () => null); >p.then(() => Promise.resolve("1"), () => null) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.resolve("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve("1") : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >"1" : "1" > : ^^^ >() => null : () => null @@ -2296,21 +2296,21 @@ const pb6 = p.then(() => Promise.resolve("1"), () => {}); >p.then(() => Promise.resolve("1"), () => {}) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.resolve("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve("1") : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >"1" : "1" > : ^^^ >() => {} : () => void @@ -2322,21 +2322,21 @@ const pb7 = p.then(() => Promise.resolve("1"), () => {throw 1}); >p.then(() => Promise.resolve("1"), () => {throw 1}) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.resolve("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve("1") : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >"1" : "1" > : ^^^ >() => {throw 1} : () => never @@ -2350,33 +2350,33 @@ const pb8 = p.then(() => Promise.resolve("1"), () => Promise.resolve(1)); >p.then(() => Promise.resolve("1"), () => Promise.resolve(1)) : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.resolve("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve("1") : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >"1" : "1" > : ^^^ >() => Promise.resolve(1) : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -2386,21 +2386,21 @@ const pb9 = p.then(() => Promise.resolve("1"), () => Promise.reject(1)); >p.then(() => Promise.resolve("1"), () => Promise.reject(1)) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.resolve("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve("1") : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >"1" : "1" > : ^^^ >() => Promise.reject(1) : () => Promise @@ -2408,11 +2408,11 @@ const pb9 = p.then(() => Promise.resolve("1"), () => Promise.reject(1)); >Promise.reject(1) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -2422,21 +2422,21 @@ const pc0 = p.then(() => Promise.reject("1"), undefined); >p.then(() => Promise.reject("1"), undefined) : Promise > : ^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.reject("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^ >Promise.reject("1") : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >"1" : "1" > : ^^^ >undefined : undefined @@ -2448,21 +2448,21 @@ const pc1 = p.then(() => Promise.reject("1"), null); >p.then(() => Promise.reject("1"), null) : Promise > : ^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.reject("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^ >Promise.reject("1") : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >"1" : "1" > : ^^^ @@ -2472,21 +2472,21 @@ const pc2 = p.then(() => Promise.reject("1"), () => 1); >p.then(() => Promise.reject("1"), () => 1) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.reject("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^ >Promise.reject("1") : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >"1" : "1" > : ^^^ >() => 1 : () => number @@ -2500,21 +2500,21 @@ const pc3 = p.then(() => Promise.reject("1"), () => x); >p.then(() => Promise.reject("1"), () => x) : Promise > : ^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.reject("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^ >Promise.reject("1") : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >"1" : "1" > : ^^^ >() => x : () => any @@ -2527,21 +2527,21 @@ const pc4 = p.then(() => Promise.reject("1"), () => undefined); >p.then(() => Promise.reject("1"), () => undefined) : Promise > : ^^^^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.reject("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^ >Promise.reject("1") : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >"1" : "1" > : ^^^ >() => undefined : () => undefined @@ -2555,21 +2555,21 @@ const pc5 = p.then(() => Promise.reject("1"), () => null); >p.then(() => Promise.reject("1"), () => null) : Promise > : ^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.reject("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^ >Promise.reject("1") : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >"1" : "1" > : ^^^ >() => null : () => null @@ -2581,21 +2581,21 @@ const pc6 = p.then(() => Promise.reject("1"), () => {}); >p.then(() => Promise.reject("1"), () => {}) : Promise > : ^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.reject("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^ >Promise.reject("1") : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >"1" : "1" > : ^^^ >() => {} : () => void @@ -2607,21 +2607,21 @@ const pc7 = p.then(() => Promise.reject("1"), () => {throw 1}); >p.then(() => Promise.reject("1"), () => {throw 1}) : Promise > : ^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.reject("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^ >Promise.reject("1") : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >"1" : "1" > : ^^^ >() => {throw 1} : () => never @@ -2635,33 +2635,33 @@ const pc8 = p.then(() => Promise.reject("1"), () => Promise.resolve(1)); >p.then(() => Promise.reject("1"), () => Promise.resolve(1)) : Promise > : ^^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.reject("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^ >Promise.reject("1") : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >"1" : "1" > : ^^^ >() => Promise.resolve(1) : () => Promise > : ^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -2671,21 +2671,21 @@ const pc9 = p.then(() => Promise.reject("1"), () => Promise.reject(1)); >p.then(() => Promise.reject("1"), () => Promise.reject(1)) : Promise > : ^^^^^^^^^^^^^^ >p.then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => Promise.reject("1") : () => Promise > : ^^^^^^^^^^^^^^^^^^^^ >Promise.reject("1") : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >"1" : "1" > : ^^^ >() => Promise.reject(1) : () => Promise @@ -2693,11 +2693,11 @@ const pc9 = p.then(() => Promise.reject("1"), () => Promise.reject(1)); >Promise.reject(1) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/promiseVoidErrorCallback.types b/tests/baselines/reference/promiseVoidErrorCallback.types index c025aa45445e5..8e7b4e4b28fb3 100644 --- a/tests/baselines/reference/promiseVoidErrorCallback.types +++ b/tests/baselines/reference/promiseVoidErrorCallback.types @@ -26,12 +26,12 @@ function f1(): Promise { return Promise.resolve({ __t1: "foo_t1" }); >Promise.resolve({ __t1: "foo_t1" }) : Promise<{ __t1: string; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >{ __t1: "foo_t1" } : { __t1: string; } > : ^^^^^^^^^^^^^^^^^ >__t1 : string @@ -69,21 +69,21 @@ var x3 = f1() >f1() .then(f2, (e: Error) => { throw e;}) .then((x: T2) => { return { __t3: x.__t2 + "bar" };}) : Promise<{ __t3: string; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >f1() .then(f2, (e: Error) => { throw e;}) .then : (onfulfilled?: (value: T2) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >f1() .then(f2, (e: Error) => { throw e;}) : Promise > : ^^^^^^^^^^^ >f1() .then : (onfulfilled?: (value: T1) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >f1() : Promise > : ^^^^^^^^^^^ >f1 : () => Promise -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ .then(f2, (e: Error) => { >then : (onfulfilled?: (value: T1) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >f2 : (x: T1) => T2 -> : ^ ^^ ^^^^^^^ +> : ^ ^^ ^^^^^ >(e: Error) => { throw e;} : (e: Error) => never > : ^ ^^ ^^^^^^^^^^ >e : Error @@ -96,7 +96,7 @@ var x3 = f1() }) .then((x: T2) => { >then : (onfulfilled?: (value: T2) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >(x: T2) => { return { __t3: x.__t2 + "bar" };} : (x: T2) => { __t3: string; } > : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ >x : T2 diff --git a/tests/baselines/reference/promiseWithResolvers.types b/tests/baselines/reference/promiseWithResolvers.types index c573adf3cde7c..6ccb2b9736c2f 100644 --- a/tests/baselines/reference/promiseWithResolvers.types +++ b/tests/baselines/reference/promiseWithResolvers.types @@ -9,15 +9,15 @@ const { promise, resolve, reject } = Promise.withResolvers(); >promise : Promise > : ^^^^^^^^^^ >resolve : (value: T | PromiseLike) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Promise.withResolvers() : PromiseWithResolvers > : ^^^^^^^^^^^^^^^^^^^^^^^ >Promise.withResolvers : () => PromiseWithResolvers -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >withResolvers : () => PromiseWithResolvers -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ diff --git a/tests/baselines/reference/promises.types b/tests/baselines/reference/promises.types index 914bbabac64e5..a6dc5831f889f 100644 --- a/tests/baselines/reference/promises.types +++ b/tests/baselines/reference/promises.types @@ -4,7 +4,7 @@ interface Promise { then(success?: (value: T) => U): Promise; >then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (success?: (value: T) => U): Promise; (success?: (value: T) => Promise): Promise; } -> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => U > : ^ ^^ ^^^^^ >value : T @@ -12,7 +12,7 @@ interface Promise { then(success?: (value: T) => Promise): Promise; >then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (success?: (value: T) => U_1): Promise; (success?: (value: T) => Promise): Promise; } -> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => Promise > : ^ ^^ ^^^^^ >value : T diff --git a/tests/baselines/reference/promisesWithConstraints.types b/tests/baselines/reference/promisesWithConstraints.types index 4868e027f6009..2ea111f3c24e2 100644 --- a/tests/baselines/reference/promisesWithConstraints.types +++ b/tests/baselines/reference/promisesWithConstraints.types @@ -4,7 +4,7 @@ interface Promise { then(cb: (x: T) => Promise): Promise; >then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (cb: (x: T) => Promise): Promise; } -> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >cb : (x: T) => Promise > : ^ ^^ ^^^^^ >x : T @@ -17,7 +17,7 @@ interface CPromise { then(cb: (x: T) => Promise): Promise; >then : (cb: (x: T) => Promise) => Promise -> : ^ ^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : any > : ^^^ >cb : (x: T) => Promise diff --git a/tests/baselines/reference/propTypeValidatorInference.types b/tests/baselines/reference/propTypeValidatorInference.types index f00a5abfe24cc..16d1e994330d4 100644 --- a/tests/baselines/reference/propTypeValidatorInference.types +++ b/tests/baselines/reference/propTypeValidatorInference.types @@ -97,13 +97,13 @@ export const number: Requireable; export function shape

    >(type: P): Requireable>; >shape :

    >(type: P) => Requireable> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >type : P > : ^ export function oneOfType>(types: T[]): Requireable>>; >oneOfType : >(types: T[]) => Requireable>> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >types : T[] > : ^^^ @@ -224,11 +224,11 @@ const arrayOfTypes = [PropTypes.string, PropTypes.bool, PropTypes.shape({ >PropTypes.shape({ foo: PropTypes.string, bar: PropTypes.number.isRequired}) : PropTypes.Requireable; bar: PropTypes.Validator; }>> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >PropTypes.shape :

    >(type: P) => PropTypes.Requireable> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >PropTypes : typeof PropTypes > : ^^^^^^^^^^^^^^^^ >shape :

    >(type: P) => PropTypes.Requireable> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >{ foo: PropTypes.string, bar: PropTypes.number.isRequired} : { foo: PropTypes.Requireable; bar: PropTypes.Validator; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -311,11 +311,11 @@ const propTypes: PropTypesMap = { >PropTypes.shape(innerProps) : PropTypes.Requireable; bar: PropTypes.Requireable; baz: PropTypes.Requireable; }>> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >PropTypes.shape :

    >(type: P) => PropTypes.Requireable> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >PropTypes : typeof PropTypes > : ^^^^^^^^^^^^^^^^ >shape :

    >(type: P) => PropTypes.Requireable> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >innerProps : { foo: PropTypes.Validator; bar: PropTypes.Requireable; baz: PropTypes.Requireable; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >isRequired : PropTypes.Validator; bar: PropTypes.Requireable; baz: PropTypes.Requireable; }>>> @@ -329,11 +329,11 @@ const propTypes: PropTypesMap = { >PropTypes.oneOfType(arrayOfTypes) : PropTypes.Requireable; bar: PropTypes.Validator; }>>> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >PropTypes.oneOfType : >(types: T[]) => PropTypes.Requireable>> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >PropTypes : typeof PropTypes > : ^^^^^^^^^^^^^^^^ >oneOfType : >(types: T[]) => PropTypes.Requireable>> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >arrayOfTypes : (PropTypes.Requireable | PropTypes.Requireable | PropTypes.Requireable; bar: PropTypes.Validator; }>>)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >isRequired : PropTypes.Validator; bar: PropTypes.Validator; }>>>> @@ -394,11 +394,11 @@ const propTypesWithoutAnnotation = { >PropTypes.shape(innerProps) : PropTypes.Requireable; bar: PropTypes.Requireable; baz: PropTypes.Requireable; }>> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >PropTypes.shape :

    >(type: P) => PropTypes.Requireable> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >PropTypes : typeof PropTypes > : ^^^^^^^^^^^^^^^^ >shape :

    >(type: P) => PropTypes.Requireable> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >innerProps : { foo: PropTypes.Validator; bar: PropTypes.Requireable; baz: PropTypes.Requireable; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >isRequired : PropTypes.Validator; bar: PropTypes.Requireable; baz: PropTypes.Requireable; }>>> @@ -412,11 +412,11 @@ const propTypesWithoutAnnotation = { >PropTypes.oneOfType(arrayOfTypes) : PropTypes.Requireable; bar: PropTypes.Validator; }>>> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >PropTypes.oneOfType : >(types: T[]) => PropTypes.Requireable>> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >PropTypes : typeof PropTypes > : ^^^^^^^^^^^^^^^^ >oneOfType : >(types: T[]) => PropTypes.Requireable>> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >arrayOfTypes : (PropTypes.Requireable | PropTypes.Requireable | PropTypes.Requireable; bar: PropTypes.Validator; }>>)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >isRequired : PropTypes.Validator; bar: PropTypes.Validator; }>>>> diff --git a/tests/baselines/reference/propagateNonInferrableType.types b/tests/baselines/reference/propagateNonInferrableType.types index a173a44ccbcd9..2b6c447bd6b1f 100644 --- a/tests/baselines/reference/propagateNonInferrableType.types +++ b/tests/baselines/reference/propagateNonInferrableType.types @@ -15,13 +15,13 @@ wrapResolver(resolver() || []); >wrapResolver(resolver() || []) : void > : ^^^^ >wrapResolver : (resolverFunction: () => void) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >resolver() || [] : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >resolver() : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >resolver : () => () => void -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ >[] : never[] > : ^^^^^^^ diff --git a/tests/baselines/reference/propagationOfPromiseInitialization.types b/tests/baselines/reference/propagationOfPromiseInitialization.types index 6920504ac958a..f5c3708dc8d9c 100644 --- a/tests/baselines/reference/propagationOfPromiseInitialization.types +++ b/tests/baselines/reference/propagationOfPromiseInitialization.types @@ -22,15 +22,15 @@ foo.then((x) => { >foo.then((x) => { // x is inferred to be a number return "asdf";}).then((x) => { // x is inferred to be string x.length; return 123;}) : IPromise > : ^^^^^^^^^^^^^^^^ >foo.then((x) => { // x is inferred to be a number return "asdf";}).then : (successCallback: (promiseValue: string) => TResult, errorCallback?: (reason: any) => TResult) => IPromise -> : ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^ >foo.then((x) => { // x is inferred to be a number return "asdf";}) : IPromise > : ^^^^^^^^^^^^^^^^ >foo.then : (successCallback: (promiseValue: number) => TResult, errorCallback?: (reason: any) => TResult) => IPromise -> : ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^ >foo : IPromise > : ^^^^^^^^^^^^^^^^ >then : (successCallback: (promiseValue: number) => TResult, errorCallback?: (reason: any) => TResult) => IPromise -> : ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^ >(x) => { // x is inferred to be a number return "asdf";} : (x: number) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number @@ -43,7 +43,7 @@ foo.then((x) => { }).then((x) => { >then : (successCallback: (promiseValue: string) => TResult, errorCallback?: (reason: any) => TResult) => IPromise -> : ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^ >(x) => { // x is inferred to be string x.length; return 123;} : (x: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : string diff --git a/tests/baselines/reference/propertyAccess.types b/tests/baselines/reference/propertyAccess.types index ff95a0585ca6a..4d8b083563337 100644 --- a/tests/baselines/reference/propertyAccess.types +++ b/tests/baselines/reference/propertyAccess.types @@ -219,13 +219,13 @@ var aa = obj.x; // Dotted property access of property that exists on value's apparent type var bb = obj.hasOwnProperty; >bb : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >obj.hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >obj : { 10: string; x: string; y: number; z: { n: string; m: number; o: () => boolean; }; 'literal property': number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ // Dotted property access of property that doesn't exist on value's apparent type var cc = obj.qqq; // error @@ -371,7 +371,7 @@ var ll = numIndex[someObject]; // Error >numIndex : { [n: number]: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^ >someObject : { name: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ // Bracket notation property access using string value on type with string index signature and no numeric index signature var mm = strIndex['N']; @@ -524,7 +524,7 @@ var uu = noIndex[someObject]; // Error >noIndex : () => void > : ^^^^^^^^^^ >someObject : { name: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ // Bracket notation property access using numeric value on type with numeric index signature and string index signature var vv = noIndex[32]; @@ -614,7 +614,7 @@ var zzzz = bothIndex[someObject]; // Error >bothIndex : { [n: string]: A; [m: number]: B; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >someObject : { name: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ var x1 = numIndex[stringOrNumber]; >x1 : any diff --git a/tests/baselines/reference/propertyAccess1.types b/tests/baselines/reference/propertyAccess1.types index df0a2efa37e85..28dae6b3507bd 100644 --- a/tests/baselines/reference/propertyAccess1.types +++ b/tests/baselines/reference/propertyAccess1.types @@ -13,7 +13,7 @@ foo.a = 4; >foo.a : number > : ^^^^^^ >foo : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : number > : ^^^^^^ >4 : 4 @@ -25,7 +25,7 @@ foo.b = 5; >foo.b : any > : ^^^ >foo : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : any > : ^^^ >5 : 5 diff --git a/tests/baselines/reference/propertyAccess7.types b/tests/baselines/reference/propertyAccess7.types index 7ee1956be91af..688f41eb6b5a6 100644 --- a/tests/baselines/reference/propertyAccess7.types +++ b/tests/baselines/reference/propertyAccess7.types @@ -9,9 +9,9 @@ foo.toUpperCase(); >foo.toUpperCase() : string > : ^^^^^^ >foo.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >foo : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/propertyAccessChain.2.types b/tests/baselines/reference/propertyAccessChain.2.types index 59f557c7a15f0..0aad749641ab7 100644 --- a/tests/baselines/reference/propertyAccessChain.2.types +++ b/tests/baselines/reference/propertyAccessChain.2.types @@ -11,7 +11,7 @@ o1?.b; >o1?.b : string > : ^^^^^^ >o1 : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : string > : ^^^^^^ @@ -27,11 +27,11 @@ o2?.b.c; >o2?.b.c : string > : ^^^^^^ >o2?.b : { c: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >o2 : { b: { c: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : { c: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : string > : ^^^^^^ @@ -47,11 +47,11 @@ o3.b?.c; >o3.b?.c : string > : ^^^^^^ >o3.b : { c: string; } -> : ^^^^^^^^^^^^^^ ->o3 : { b: { c: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ +>o3 : { b: undefined | { c: string; }; } +> : ^^^^^ ^^^ >b : { c: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : string > : ^^^^^^ diff --git a/tests/baselines/reference/propertyAccessChain.types b/tests/baselines/reference/propertyAccessChain.types index 44e68d614dc85..45d266edc0ad5 100644 --- a/tests/baselines/reference/propertyAccessChain.types +++ b/tests/baselines/reference/propertyAccessChain.types @@ -11,7 +11,7 @@ o1?.b; >o1?.b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o1 : { b: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >b : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -27,11 +27,11 @@ o2?.b.c; >o2?.b.c : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.b : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o2 : { b: { c: string; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >b : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >c : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -47,11 +47,11 @@ o3.b?.c; >o3.b?.c : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o3.b : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o3 : { b: { c: string; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o3 : { b: undefined | { c: string; }; } +> : ^^^^^ ^^^ >b : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >c : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -71,19 +71,19 @@ o4.b?.c.d?.e; >o4.b?.c.d?.e : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o4.b?.c.d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o4.b?.c : { d?: { e: string; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o4.b : { c: { d?: { e: string; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o4 : { b?: { c: { d?: { e: string; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { c: { d?: { e: string; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->c : { d?: { e: string; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o4.b?.c : { d?: { e: string; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>o4.b : { c: { d?: { e: string; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o4 : { b?: { c: { d?: { e: string; }; }; }; } +> : ^^^^^^ ^^^ +>b : { c: { d?: { e: string; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>c : { d?: { e: string; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ >d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >e : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -103,21 +103,21 @@ o5.b?.().c.d?.e; >o5.b?.().c.d?.e : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o5.b?.().c.d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.b?.().c : { d?: { e: string; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.b?.() : { c: { d?: { e: string; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.b : (() => { c: { d?: { e: string; } | undefined; }; }) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : { b?(): { c: { d?: { e: string; } | undefined; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : (() => { c: { d?: { e: string; } | undefined; }; }) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->c : { d?: { e: string; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5.b?.().c : { d?: { e: string; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>o5.b?.() : { c: { d?: { e: string; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5.b : (() => { c: { d?: { e: string; }; }; }) | undefined +> : ^^^^^^^ ^^^^^^^^^^^^^ +>o5 : { b?(): { c: { d?: { e: string; }; }; }; } +> : ^^^^^^^^ ^^^ +>b : (() => { c: { d?: { e: string; }; }; }) | undefined +> : ^^^^^^^ ^^^^^^^^^^^^^ +>c : { d?: { e: string; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ >d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >e : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -132,9 +132,9 @@ o6()?.x; >o6()?.x : number | undefined > : ^^^^^^^^^^^^^^^^^^ >o6() : { x: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o6 : () => { x: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o6 : () => undefined | ({ x: number; }) +> : ^^^^^^^^^ >x : number | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -145,7 +145,7 @@ o1?.b ? 1 : 0; >o1?.b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o1 : { b: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >1 : 1 @@ -158,13 +158,13 @@ o2?.b!.c; >o2?.b!.c : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.b! : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o2?.b : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o2 : { b: { c: string; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >b : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >c : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -174,13 +174,13 @@ o2?.b!.c!; >o2?.b!.c : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.b! : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o2?.b : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o2 : { b: { c: string; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >b : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >c : string | undefined > : ^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/propertyAccessExpressionInnerComments.types b/tests/baselines/reference/propertyAccessExpressionInnerComments.types index 90b8ce467bbd7..b9a148b0b7555 100644 --- a/tests/baselines/reference/propertyAccessExpressionInnerComments.types +++ b/tests/baselines/reference/propertyAccessExpressionInnerComments.types @@ -3,15 +3,15 @@ === propertyAccessExpressionInnerComments.ts === /*1*/Array/*2*/./*3*/toString/*4*/ >Array/*2*/./*3*/toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ /*1*/Array >Array/*2*/./*3*/ // Single-line comment toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ @@ -19,43 +19,43 @@ // Single-line comment toString/*4*/ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ /*1*/Array/*2*/./*3*/ >Array/*2*/./*3*/ // Single-line comment toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ // Single-line comment toString/*4*/ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ /*1*/Array >Array // Single-line comment /*2*/./*3*/toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ // Single-line comment /*2*/./*3*/toString/*4*/ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ /* Existing issue: the "2" comments below are duplicated and "3"s are missing */ /*1*/Array/*2*/?./*3*/toString/*4*/ >Array/*2*/?./*3*/toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ /*1*/Array >Array/*2*/?./*3*/ // Single-line comment toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ @@ -63,27 +63,27 @@ // Single-line comment toString/*4*/ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ /*1*/Array/*2*/?./*3*/ >Array/*2*/?./*3*/ // Single-line comment toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ // Single-line comment toString/*4*/ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ /*1*/Array >Array // Single-line comment /*2*/?./*3*/toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ // Single-line comment /*2*/?./*3*/toString/*4*/ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/propertyAccessNumericLiterals.es6.types b/tests/baselines/reference/propertyAccessNumericLiterals.es6.types index d9e323c4ccc2a..16d5819b902a6 100644 --- a/tests/baselines/reference/propertyAccessNumericLiterals.es6.types +++ b/tests/baselines/reference/propertyAccessNumericLiterals.es6.types @@ -5,49 +5,49 @@ >0xffffffff.toString() : string > : ^^^^^^ >0xffffffff.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >0xffffffff : 4294967295 > : ^^^^^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ 0o01234.toString(); >0o01234.toString() : string > : ^^^^^^ >0o01234.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >0o01234 : 668 > : ^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ 0b01101101.toString(); >0b01101101.toString() : string > : ^^^^^^ >0b01101101.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >0b01101101 : 109 > : ^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ 1234..toString(); >1234..toString() : string > : ^^^^^^ >1234..toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >1234. : 1234 > : ^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ 1e0.toString(); >1e0.toString() : string > : ^^^^^^ >1e0.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >1e0 : 1 > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/propertyAccessNumericLiterals.types b/tests/baselines/reference/propertyAccessNumericLiterals.types index a244f61ec53b4..b776aecd81475 100644 --- a/tests/baselines/reference/propertyAccessNumericLiterals.types +++ b/tests/baselines/reference/propertyAccessNumericLiterals.types @@ -5,129 +5,129 @@ >0xffffffff.toString() : string > : ^^^^^^ >0xffffffff.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >0xffffffff : 4294967295 > : ^^^^^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ 0o01234.toString(); >0o01234.toString() : string > : ^^^^^^ >0o01234.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >0o01234 : 668 > : ^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ 0b01101101.toString(); >0b01101101.toString() : string > : ^^^^^^ >0b01101101.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >0b01101101 : 109 > : ^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ 1234..toString(); >1234..toString() : string > : ^^^^^^ >1234..toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >1234. : 1234 > : ^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ 1e0.toString(); >1e0.toString() : string > : ^^^^^^ >1e0.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >1e0 : 1 > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ 000.toString(); >000.toString() : string > : ^^^^^^ >000.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >000 : 0 > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ 08.8e5.toString(); >08.8e5.toString() : string > : ^^^^^^ >08.8e5.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >08.8e5 : 880000 > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ 0_8.8e5.toString(); >0_8.8e5.toString() : string > : ^^^^^^ >0_8.8e5.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >0_8.8e5 : 880000 > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ 8.8e5.toString(); >8.8e5.toString() : string > : ^^^^^^ >8.8e5.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >8.8e5 : 880000 > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ 088e4.toString(); >088e4.toString() : string > : ^^^^^^ >088e4.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >088e4 : 880000 > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ 88_e4.toString(); >88_e4.toString() : string > : ^^^^^^ >88_e4.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >88_e4 : 880000 > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ 88e4.toString(); >88e4.toString() : string > : ^^^^^^ >88e4.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >88e4 : 880000 > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ 8_8e4.toString(); >8_8e4.toString() : string > : ^^^^^^ >8_8e4.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >8_8e4 : 880000 > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/propertyAccessOnObjectLiteral.types b/tests/baselines/reference/propertyAccessOnObjectLiteral.types index 5579684b74999..a9863fda0f513 100644 --- a/tests/baselines/reference/propertyAccessOnObjectLiteral.types +++ b/tests/baselines/reference/propertyAccessOnObjectLiteral.types @@ -9,7 +9,7 @@ class A { } >({}).toString() : string > : ^^^^^^ >({}).toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >({}) : A > : ^ >{} : A @@ -17,7 +17,7 @@ class A { } >{} : {} > : ^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ (() => { >(() => { ({}).toString();})() : void @@ -31,7 +31,7 @@ class A { } >({}).toString() : string > : ^^^^^^ >({}).toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >({}) : A > : ^ >{} : A @@ -39,7 +39,7 @@ class A { } >{} : {} > : ^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ })(); diff --git a/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints.types b/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints.types index 55aeba7d58fcc..abb802188b804 100644 --- a/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints.types +++ b/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints.types @@ -22,7 +22,7 @@ class C { >x['getDate']() : number > : ^^^^^^ >x['getDate'] : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : T > : ^ >'getDate' : "getDate" @@ -36,11 +36,11 @@ class C { >x.getDate() : number > : ^^^^^^ >x.getDate : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : T > : ^ >getDate : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } @@ -75,7 +75,7 @@ var r2 = i.foo.getDate(); >i.foo.getDate() : number > : ^^^^^^ >i.foo.getDate : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >i.foo : Date > : ^^^^ >i : I @@ -83,7 +83,7 @@ var r2 = i.foo.getDate(); >foo : Date > : ^^^^ >getDate : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ var r2b = i.foo['getDate'](); >r2b : number @@ -91,7 +91,7 @@ var r2b = i.foo['getDate'](); >i.foo['getDate']() : number > : ^^^^^^ >i.foo['getDate'] : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >i.foo : Date > : ^^^^ >i : I @@ -103,7 +103,7 @@ var r2b = i.foo['getDate'](); var a: { >a : () => T -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ (): T; } @@ -113,13 +113,13 @@ var r3 = a().getDate(); >a().getDate() : number > : ^^^^^^ >a().getDate : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >a() : Date > : ^^^^ >a : () => T -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ >getDate : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ var r3b = a()['getDate'](); >r3b : number @@ -127,25 +127,25 @@ var r3b = a()['getDate'](); >a()['getDate']() : number > : ^^^^^^ >a()['getDate'] : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >a() : Date > : ^^^^ >a : () => T -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ >'getDate' : "getDate" > : ^^^^^^^^^ var b = { >b : { foo: (x: T) => number; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ >{ foo: (x: T) => { var a = x['getDate'](); // number return a + x.getDate(); }} : { foo: (x: T) => number; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ foo: (x: T) => { >foo : (x: T) => number -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ >(x: T) => { var a = x['getDate'](); // number return a + x.getDate(); } : (x: T) => number -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ >x : T > : ^ @@ -155,7 +155,7 @@ var b = { >x['getDate']() : number > : ^^^^^^ >x['getDate'] : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : T > : ^ >'getDate' : "getDate" @@ -169,11 +169,11 @@ var b = { >x.getDate() : number > : ^^^^^^ >x.getDate : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : T > : ^ >getDate : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } @@ -183,11 +183,11 @@ var r4 = b.foo(new Date()); >b.foo(new Date()) : number > : ^^^^^^ >b.foo : (x: T) => number -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ >b : { foo: (x: T) => number; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ >foo : (x: T) => number -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ >new Date() : Date > : ^^^^ >Date : DateConstructor diff --git a/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints2.types b/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints2.types index 005ef30bbecce..4f8662f4906dd 100644 --- a/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints2.types +++ b/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints2.types @@ -48,7 +48,7 @@ class C { >x['foo']() : string > : ^^^^^^ >x['foo'] : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : U > : ^ >'foo' : "foo" @@ -62,11 +62,11 @@ class C { >x.foo() : string > : ^^^^^^ >x.foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : U > : ^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } g(x: U) { @@ -81,7 +81,7 @@ class C { >x['foo']() : string > : ^^^^^^ >x['foo'] : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : U > : ^ >'foo' : "foo" @@ -95,11 +95,11 @@ class C { >x.foo() : string > : ^^^^^^ >x.foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : U > : ^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } //class C { @@ -169,7 +169,7 @@ var r2 = i.foo.foo(); >i.foo.foo() : string > : ^^^^^^ >i.foo.foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >i.foo : B > : ^ >i : I @@ -177,7 +177,7 @@ var r2 = i.foo.foo(); >foo : B > : ^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var r2b = i.foo['foo'](); >r2b : string @@ -185,7 +185,7 @@ var r2b = i.foo['foo'](); >i.foo['foo']() : string > : ^^^^^^ >i.foo['foo'] : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >i.foo : B > : ^ >i : I @@ -196,8 +196,8 @@ var r2b = i.foo['foo'](); > : ^^^^^ var a: { ->a : { (): U; (x: U_1): U_1; (x: U_2, y: T_2): U_2; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +>a : { (): U; (x: U): U; (x: U, y: T): U; } +> : ^^^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^ ^^^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ (): U; (x: U): U; @@ -221,13 +221,13 @@ var r3 = a().foo(); >a().foo() : string > : ^^^^^^ >a().foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >a() : A > : ^ ->a : { (): U; (x: U_1): U_1; (x: U_2, y: T_2): U_2; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +>a : { (): U; (x: U): U; (x: U, y: T): U; } +> : ^^^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^ ^^^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var r3b = a()['foo'](); >r3b : string @@ -235,11 +235,11 @@ var r3b = a()['foo'](); >a()['foo']() : string > : ^^^^^^ >a()['foo'] : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >a() : A > : ^ ->a : { (): U; (x: U_1): U_1; (x: U_2, y: T_2): U_2; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +>a : { (): U; (x: U): U; (x: U, y: T): U; } +> : ^^^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^ ^^^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >'foo' : "foo" > : ^^^^^ @@ -258,17 +258,17 @@ var r3c = a(aB, aB).foo(); >a(aB, aB).foo() : string > : ^^^^^^ >a(aB, aB).foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >a(aB, aB) : B > : ^ ->a : { (): U; (x: U_1): U_1; (x: U_2, y: T_2): U_2; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +>a : { (): U; (x: U): U; (x: U, y: T): U; } +> : ^^^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^ ^^^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >aB : B > : ^ >aB : B > : ^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var r3d = a(aB, aB)['foo'](); >r3d : string @@ -276,11 +276,11 @@ var r3d = a(aB, aB)['foo'](); >a(aB, aB)['foo']() : string > : ^^^^^^ >a(aB, aB)['foo'] : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >a(aB, aB) : B > : ^ ->a : { (): U; (x: U_1): U_1; (x: U_2, y: T_2): U_2; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +>a : { (): U; (x: U): U; (x: U, y: T): U; } +> : ^^^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^ ^^^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >aB : B > : ^ >aB : B @@ -290,15 +290,15 @@ var r3d = a(aB, aB)['foo'](); var b = { >b : { foo: (x: U, y: T) => string; } -> : ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ >{ foo: (x: U, y: T) => { var a = x['foo'](); // should be string return a + x.foo(); }} : { foo: (x: U, y: T) => string; } -> : ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ foo: (x: U, y: T) => { >foo : (x: U, y: T) => string -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ >(x: U, y: T) => { var a = x['foo'](); // should be string return a + x.foo(); } : (x: U, y: T) => string -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : U > : ^ >y : T @@ -310,7 +310,7 @@ var b = { >x['foo']() : string > : ^^^^^^ >x['foo'] : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : U > : ^ >'foo' : "foo" @@ -324,11 +324,11 @@ var b = { >x.foo() : string > : ^^^^^^ >x.foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : U > : ^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } //var b = { @@ -344,11 +344,11 @@ var r4 = b.foo(aB, aB); // no inferences for T so constraint isn't satisfied, er >b.foo(aB, aB) : string > : ^^^^^^ >b.foo : (x: U, y: T) => string -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ >b : { foo: (x: U, y: T) => string; } -> : ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ >foo : (x: U, y: T) => string -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ >aB : B > : ^ >aB : B diff --git a/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints3.types b/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints3.types index 51f351702c6b7..13236da358048 100644 --- a/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints3.types +++ b/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints3.types @@ -49,7 +49,7 @@ class C { >x['foo']() : string > : ^^^^^^ >x['foo'] : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : T > : ^ >'foo' : "foo" @@ -63,11 +63,11 @@ class C { >x.foo() : string > : ^^^^^^ >x.foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : T > : ^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } g(x: U) { @@ -83,7 +83,7 @@ class C { >x['foo']() : string > : ^^^^^^ >x['foo'] : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : U > : ^ >'foo' : "foo" @@ -97,11 +97,11 @@ class C { >x.foo() : string > : ^^^^^^ >x.foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : U > : ^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } @@ -156,7 +156,7 @@ var r2 = i.foo.foo(); >i.foo.foo() : string > : ^^^^^^ >i.foo.foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >i.foo : B > : ^ >i : I @@ -164,7 +164,7 @@ var r2 = i.foo.foo(); >foo : B > : ^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var r2b = i.foo['foo'](); >r2b : string @@ -172,7 +172,7 @@ var r2b = i.foo['foo'](); >i.foo['foo']() : string > : ^^^^^^ >i.foo['foo'] : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >i.foo : B > : ^ >i : I @@ -183,8 +183,8 @@ var r2b = i.foo['foo'](); > : ^^^^^ var a: { ->a : { (): T; (x: U_1): U_1; } -> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>a : { (): T; (x: U): U; } +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ (): T; (x: U): U; @@ -197,13 +197,13 @@ var r3 = a().foo(); // error, no inferences for U so it doesn't satisfy constrai >a().foo() : string > : ^^^^^^ >a().foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >a() : A > : ^ ->a : { (): T; (x: U_1): U_1; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>a : { (): T; (x: U): U; } +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var r3b = a()['foo'](); >r3b : string @@ -211,11 +211,11 @@ var r3b = a()['foo'](); >a()['foo']() : string > : ^^^^^^ >a()['foo'] : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >a() : A > : ^ ->a : { (): T; (x: U_1): U_1; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>a : { (): T; (x: U): U; } +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >'foo' : "foo" > : ^^^^^ @@ -226,17 +226,17 @@ var r3c = a(new B()).foo(); // valid call to an invalid function, U is inferred >a(new B()).foo() : string > : ^^^^^^ >a(new B()).foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >a(new B()) : B > : ^ ->a : { (): T; (x: U_1): U_1; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>a : { (): T; (x: U): U; } +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >new B() : B > : ^ >B : typeof B > : ^^^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var r3d = a(new B())['foo'](); // valid call to an invalid function, U is inferred as B, which has a foo >r3d : string @@ -244,11 +244,11 @@ var r3d = a(new B())['foo'](); // valid call to an invalid function, U is inferr >a(new B())['foo']() : string > : ^^^^^^ >a(new B())['foo'] : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >a(new B()) : B > : ^ ->a : { (): T; (x: U_1): U_1; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>a : { (): T; (x: U): U; } +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >new B() : B > : ^ >B : typeof B @@ -258,15 +258,15 @@ var r3d = a(new B())['foo'](); // valid call to an invalid function, U is inferr var b = { >b : { foo: (x: T) => string; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ >{ foo: (x: T) => { // BUG 823818 var a = x['foo'](); // should be string return a + x.foo(); }} : { foo: (x: T) => string; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ foo: (x: T) => { >foo : (x: T) => string -> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ >(x: T) => { // BUG 823818 var a = x['foo'](); // should be string return a + x.foo(); } : (x: T) => string -> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ >x : T > : ^ @@ -277,7 +277,7 @@ var b = { >x['foo']() : string > : ^^^^^^ >x['foo'] : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : T > : ^ >'foo' : "foo" @@ -291,11 +291,11 @@ var b = { >x.foo() : string > : ^^^^^^ >x.foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : T > : ^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } @@ -305,11 +305,11 @@ var r4 = b.foo(new B()); // valid call to an invalid function >b.foo(new B()) : string > : ^^^^^^ >b.foo : (x: T) => string -> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ >b : { foo: (x: T) => string; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ >foo : (x: T) => string -> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ >new B() : B > : ^ >B : typeof B diff --git a/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints4.types b/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints4.types index bdb9852bce464..001aa437a7eaf 100644 --- a/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints4.types +++ b/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints4.types @@ -100,7 +100,7 @@ var r2b = i.foo['notHere'](); var a: { >a : () => T -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ (): T; } @@ -114,7 +114,7 @@ var r3: string = a().notHere(); >a() : Date > : ^^^^ >a : () => T -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ >notHere : any > : ^^^ @@ -128,7 +128,7 @@ var r3b: string = a()['notHere'](); >a() : Date > : ^^^^ >a : () => T -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ >'notHere' : "notHere" > : ^^^^^^^^^ @@ -136,13 +136,13 @@ var b = { >b : any > : ^^^ >{ foo: (x: T): T => { var a = x['notHere'](); // should be string return a + x.notHere(); }, bar: b.foo().notHere()} : { foo: (x: T) => T; bar: any; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ foo: (x: T): T => { >foo : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(x: T): T => { var a = x['notHere'](); // should be string return a + x.notHere(); } : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : T > : ^ diff --git a/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints5.types b/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints5.types index 46c7f380befb6..57655018bed08 100644 --- a/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints5.types +++ b/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints5.types @@ -46,7 +46,7 @@ class C { >x['foo']() : string > : ^^^^^^ >x['foo'] : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : U > : ^ >'foo' : "foo" @@ -62,11 +62,11 @@ class C { >x.foo() : string > : ^^^^^^ >x.foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : U > : ^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x.notHere() : any > : ^^^ >x.notHere : any @@ -125,7 +125,7 @@ var r2b = i.foo['foo'](); >i.foo['foo']() : string > : ^^^^^^ >i.foo['foo'] : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >i.foo : B > : ^ >i : I @@ -137,7 +137,7 @@ var r2b = i.foo['foo'](); var a: { >a : () => U -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^ (): U; } @@ -152,7 +152,7 @@ var r3: string = a().notHere(); >a() : A > : ^ >a : () => U -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^ >notHere : any > : ^^^ @@ -162,11 +162,11 @@ var r3b: string = a()['foo'](); >a()['foo']() : string > : ^^^^^^ >a()['foo'] : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >a() : A > : ^ >a : () => U -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^ >'foo' : "foo" > : ^^^^^ @@ -174,13 +174,13 @@ var b = { >b : any > : ^^^ >{ foo: (x: U): U => { var a = x['foo'](); // should be string return a + x.notHere(); }, // BUG 794164 bar: b.foo(1).notHere()} : { foo: (x: U) => U; bar: any; } -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ foo: (x: U): U => { >foo : (x: U) => U -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(x: U): U => { var a = x['foo'](); // should be string return a + x.notHere(); } : (x: U) => U -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : U > : ^ @@ -190,7 +190,7 @@ var b = { >x['foo']() : string > : ^^^^^^ >x['foo'] : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : U > : ^ >'foo' : "foo" diff --git a/tests/baselines/reference/propertyAccessOnTypeParameterWithoutConstraints.types b/tests/baselines/reference/propertyAccessOnTypeParameterWithoutConstraints.types index 297fb1fff67c1..df7f91479eb7c 100644 --- a/tests/baselines/reference/propertyAccessOnTypeParameterWithoutConstraints.types +++ b/tests/baselines/reference/propertyAccessOnTypeParameterWithoutConstraints.types @@ -19,7 +19,7 @@ class C { >x['toString']() : string > : ^^^^^^ >x['toString'] : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : T > : ^ >'toString' : "toString" @@ -33,11 +33,11 @@ class C { >x.toString() : string > : ^^^^^^ >x.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : T > : ^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } @@ -72,7 +72,7 @@ var r2 = i.foo.toString(); >i.foo.toString() : string > : ^^^^^^ >i.foo.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >i.foo : number > : ^^^^^^ >i : I @@ -80,7 +80,7 @@ var r2 = i.foo.toString(); >foo : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var r2b = i.foo['toString'](); >r2b : string @@ -88,7 +88,7 @@ var r2b = i.foo['toString'](); >i.foo['toString']() : string > : ^^^^^^ >i.foo['toString'] : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >i.foo : number > : ^^^^^^ >i : I @@ -110,13 +110,13 @@ var r3: string = a().toString(); >a().toString() : string > : ^^^^^^ >a().toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >a() : unknown > : ^^^^^^^ >a : () => T -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var r3b: string = a()['toString'](); >r3b : string @@ -124,11 +124,11 @@ var r3b: string = a()['toString'](); >a()['toString']() : string > : ^^^^^^ >a()['toString'] : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >a() : unknown > : ^^^^^^^ >a : () => T -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ >'toString' : "toString" > : ^^^^^^^^^^ @@ -152,7 +152,7 @@ var b = { >x['toString']() : string > : ^^^^^^ >x['toString'] : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : T > : ^ >'toString' : "toString" @@ -166,11 +166,11 @@ var b = { >x.toString() : string > : ^^^^^^ >x.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : T > : ^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } diff --git a/tests/baselines/reference/propertyAccessWidening.types b/tests/baselines/reference/propertyAccessWidening.types index a063b3cb1fd7d..710ea4bedf22a 100644 --- a/tests/baselines/reference/propertyAccessWidening.types +++ b/tests/baselines/reference/propertyAccessWidening.types @@ -31,7 +31,7 @@ function g1(headerNames: any) { >[{cells: headerNames }].concat(t) : { cells: any; }[] > : ^^^^^^^^^^^^^^^^^ >[{cells: headerNames }].concat : { (...items: ConcatArray<{ cells: any; }>[]): { cells: any; }[]; (...items: ({ cells: any; } | ConcatArray<{ cells: any; }>)[]): { cells: any; }[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >[{cells: headerNames }] : { cells: any; }[] > : ^^^^^^^^^^^^^^^^^ >{cells: headerNames } : { cells: any; } @@ -41,7 +41,7 @@ function g1(headerNames: any) { >headerNames : any > : ^^^ >concat : { (...items: ConcatArray<{ cells: any; }>[]): { cells: any; }[]; (...items: ({ cells: any; } | ConcatArray<{ cells: any; }>)[]): { cells: any; }[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >t : { hasLineBreak: boolean; cells: never[]; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } @@ -74,7 +74,7 @@ function g2(headerNames: any) { >[{cells: headerNames }]["concat"](t) : { cells: any; }[] > : ^^^^^^^^^^^^^^^^^ >[{cells: headerNames }]["concat"] : { (...items: ConcatArray<{ cells: any; }>[]): { cells: any; }[]; (...items: ({ cells: any; } | ConcatArray<{ cells: any; }>)[]): { cells: any; }[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >[{cells: headerNames }] : { cells: any; }[] > : ^^^^^^^^^^^^^^^^^ >{cells: headerNames } : { cells: any; } @@ -107,11 +107,11 @@ function foo(options?: { a: string, b: number }) { >(options || {}).a : string | undefined > : ^^^^^^^^^^^^^^^^^^ >(options || {}) : { a: string; b: number; } | {} -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^ >options || {} : { a: string; b: number; } | {} -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^ >options : { a: string; b: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^^^ >{} : {} > : ^^ >a : string | undefined @@ -123,11 +123,11 @@ function foo(options?: { a: string, b: number }) { >(options || {})["a"] : string | undefined > : ^^^^^^^^^^^^^^^^^^ >(options || {}) : { a: string; b: number; } | {} -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^ >options || {} : { a: string; b: number; } | {} -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^ >options : { a: string; b: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^^^ >{} : {} > : ^^ >"a" : "a" @@ -139,11 +139,11 @@ function foo(options?: { a: string, b: number }) { >(options || {}).a : any > : ^^^ >(options || {}) : { a: string; b: number; } | {} -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^ >options || {} : { a: string; b: number; } | {} -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^ >options : { a: string; b: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^^^ >{} : {} > : ^^ >a : any @@ -157,11 +157,11 @@ function foo(options?: { a: string, b: number }) { >(options || {})["a"] : any > : ^^^ >(options || {}) : { a: string; b: number; } | {} -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^ >options || {} : { a: string; b: number; } | {} -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^ >options : { a: string; b: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^^^ >{} : {} > : ^^ >"a" : "a" diff --git a/tests/baselines/reference/propertyAssignment.types b/tests/baselines/reference/propertyAssignment.types index 6d764ea18ead5..c931d3d716091 100644 --- a/tests/baselines/reference/propertyAssignment.types +++ b/tests/baselines/reference/propertyAssignment.types @@ -39,25 +39,25 @@ var bar3: { x : number; } foo1 = bar1; // should be an error >foo1 = bar1 : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >foo1 : new () => any -> : ^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >bar1 : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ foo2 = bar2; >foo2 = bar2 : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >foo2 : {} > : ^^ >bar2 : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ foo3 = bar3; // should be an error >foo3 = bar3 : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >foo3 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >bar3 : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ diff --git a/tests/baselines/reference/propertyAssignmentUseParentType1.types b/tests/baselines/reference/propertyAssignmentUseParentType1.types index 1ad01d5746cc7..bb347594d8a0c 100644 --- a/tests/baselines/reference/propertyAssignmentUseParentType1.types +++ b/tests/baselines/reference/propertyAssignmentUseParentType1.types @@ -43,7 +43,7 @@ inlined.nun = 456; >inlined.nun : 456 > : ^^^ >inlined : { (): boolean; nun: 456; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^ ^^^ >nun : 456 > : ^^^ >456 : 456 diff --git a/tests/baselines/reference/propertyAssignmentUseParentType2.types b/tests/baselines/reference/propertyAssignmentUseParentType2.types index b76e288c116ab..d984368037a49 100644 --- a/tests/baselines/reference/propertyAssignmentUseParentType2.types +++ b/tests/baselines/reference/propertyAssignmentUseParentType2.types @@ -4,9 +4,9 @@ /** @type {{ (): boolean; nuo: 789 }} */ export const inlined = () => true >inlined : { (): boolean; nuo: 789; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^ ^^^ >() => true : { (): boolean; nuo: 789; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^ >true : true > : ^^^^ @@ -16,7 +16,7 @@ inlined.nuo = 789 >inlined.nuo : 789 > : ^^^ >inlined : { (): boolean; nuo: 789; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^ ^^^ >nuo : 789 > : ^^^ >789 : 789 @@ -25,9 +25,9 @@ inlined.nuo = 789 /** @type {{ (): boolean; nuo: 789 }} */ export const duplicated = () => true >duplicated : { (): boolean; nuo: 789; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^ ^^^ >() => true : { (): boolean; nuo: 789; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^ ^^^ >true : true > : ^^^^ @@ -38,7 +38,7 @@ duplicated.nuo = 789 >duplicated.nuo : 789 > : ^^^ >duplicated : { (): boolean; nuo: 789; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^ ^^^ >nuo : 789 > : ^^^ >789 : 789 @@ -47,9 +47,9 @@ duplicated.nuo = 789 /** @type {{ (): boolean; nuo: 789 }} */ export const conflictingDuplicated = () => true >conflictingDuplicated : { (): boolean; nuo: 789; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^ ^^^ >() => true : { (): boolean; nuo: 1000; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^ ^^^ >true : true > : ^^^^ @@ -60,7 +60,7 @@ conflictingDuplicated.nuo = 789 >conflictingDuplicated.nuo : 789 > : ^^^ >conflictingDuplicated : { (): boolean; nuo: 789; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^ ^^^ >nuo : 789 > : ^^^ >789 : 789 diff --git a/tests/baselines/reference/propertyOverridesAccessors2.types b/tests/baselines/reference/propertyOverridesAccessors2.types index 7602c762e28f9..29bd1d23dc99f 100644 --- a/tests/baselines/reference/propertyOverridesAccessors2.types +++ b/tests/baselines/reference/propertyOverridesAccessors2.types @@ -19,11 +19,11 @@ class Base { >console.log(`x was set to ${value}`) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >`x was set to ${value}` : string > : ^^^^^^ >value : number @@ -55,11 +55,11 @@ console.log(obj.x); // 2 >console.log(obj.x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >obj.x : number > : ^^^^^^ >obj : Derived diff --git a/tests/baselines/reference/propertyOverridesAccessors3.types b/tests/baselines/reference/propertyOverridesAccessors3.types index 82271c629b446..9498b07038b4c 100644 --- a/tests/baselines/reference/propertyOverridesAccessors3.types +++ b/tests/baselines/reference/propertyOverridesAccessors3.types @@ -50,11 +50,11 @@ class Animal { >console.log(this._sound) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this._sound : string > : ^^^^^^ >this : this diff --git a/tests/baselines/reference/protectedInstanceMemberAccessibility.types b/tests/baselines/reference/protectedInstanceMemberAccessibility.types index 64fd77a3f2f14..90b3aae30efa3 100644 --- a/tests/baselines/reference/protectedInstanceMemberAccessibility.types +++ b/tests/baselines/reference/protectedInstanceMemberAccessibility.types @@ -49,11 +49,11 @@ class B extends A { >this.f() : string > : ^^^^^^ >this.f : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >f : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var t3 = this.y; >t3 : string @@ -91,11 +91,11 @@ class B extends A { >super.f() : string > : ^^^^^^ >super.f : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >super : A > : ^ >f : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var s3 = super.y; // error >s3 : any @@ -137,11 +137,11 @@ class B extends A { >a.f() : string > : ^^^^^^ >a.f : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >a : A > : ^ >f : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var a3 = a.y; // error >a3 : any @@ -183,11 +183,11 @@ class B extends A { >b.f() : string > : ^^^^^^ >b.f : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >b : B > : ^ >f : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var b3 = b.y; >b3 : string @@ -229,11 +229,11 @@ class B extends A { >c.f() : string > : ^^^^^^ >c.f : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >c : C > : ^ >f : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var c3 = c.y; // error >c3 : any diff --git a/tests/baselines/reference/protectedMembersThisParameter.types b/tests/baselines/reference/protectedMembersThisParameter.types index f831d911dafbb..8098545371317 100644 --- a/tests/baselines/reference/protectedMembersThisParameter.types +++ b/tests/baselines/reference/protectedMembersThisParameter.types @@ -47,11 +47,11 @@ class MessageWrapper { >m.secret() : void > : ^^^^ >m.secret : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >m : Message > : ^^^^^^^ >secret : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } } } @@ -95,7 +95,7 @@ class Z { function bA(this: T, arg: B) { >bA : (this: T, arg: B) => void -> : ^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >this : T > : ^ >arg : B @@ -133,7 +133,7 @@ function bA(this: T, arg: B) { } function bB(this: T, arg: B) { >bB : (this: T, arg: B) => void -> : ^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >this : T > : ^ >arg : B @@ -181,7 +181,7 @@ function bB(this: T, arg: B) { } function bC(this: T, arg: B) { >bC : (this: T, arg: B) => void -> : ^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >this : T > : ^ >arg : B @@ -229,7 +229,7 @@ function bC(this: T, arg: B) { } function bZ(this: T, arg: B) { >bZ : (this: T, arg: B) => void -> : ^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >this : T > : ^ >arg : B @@ -267,7 +267,7 @@ function bZ(this: T, arg: B) { } function bString(this: T, arg: B) { >bString : (this: T, arg: B) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >this : T > : ^ >arg : B @@ -277,11 +277,11 @@ function bString(this: T, arg: B) { >this.toLowerCase() : string > : ^^^^^^ >this.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this : T > : ^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ arg.a(); // should error >arg.a() : void diff --git a/tests/baselines/reference/protoAsIndexInIndexExpression.types b/tests/baselines/reference/protoAsIndexInIndexExpression.types index 3eac19bbb8de2..e1d8ac9f1f8bb 100644 --- a/tests/baselines/reference/protoAsIndexInIndexExpression.types +++ b/tests/baselines/reference/protoAsIndexInIndexExpression.types @@ -24,7 +24,7 @@ WorkspacePrototype['__proto__'] = EntityPrototype; >WorkspacePrototype['__proto__'] = EntityPrototype : any >WorkspacePrototype['__proto__'] : error >WorkspacePrototype : { serialize: () => any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^ >'__proto__' : "__proto__" > : ^^^^^^^^^^^ >EntityPrototype : any diff --git a/tests/baselines/reference/prototypeOnConstructorFunctions.types b/tests/baselines/reference/prototypeOnConstructorFunctions.types index 205fd0aea780d..283ea43294365 100644 --- a/tests/baselines/reference/prototypeOnConstructorFunctions.types +++ b/tests/baselines/reference/prototypeOnConstructorFunctions.types @@ -22,11 +22,11 @@ i.const.prototype.prop = "yo"; >i.const.prototype : any > : ^^^ >i.const : new (options?: any, element?: any) => any -> : ^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ ^^^^^^^^^^^ >i : I1 > : ^^ >const : new (options?: any, element?: any) => any -> : ^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ ^^^^^^^^^^^ >prototype : any > : ^^^ >prop : any diff --git a/tests/baselines/reference/prototypePropertyAssignmentMergeWithInterfaceMethod.types b/tests/baselines/reference/prototypePropertyAssignmentMergeWithInterfaceMethod.types index c1d1754fae3ec..7bc83bc1f9987 100644 --- a/tests/baselines/reference/prototypePropertyAssignmentMergeWithInterfaceMethod.types +++ b/tests/baselines/reference/prototypePropertyAssignmentMergeWithInterfaceMethod.types @@ -6,7 +6,7 @@ declare namespace lf { export interface Transaction { attach(query: query.Builder): Promise> >attach : (query: query.Builder) => Promise> -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >query : query.Builder > : ^^^^^^^^^^^^^ >query : any @@ -38,7 +38,7 @@ declare namespace lf { stats(): TransactionStats >stats : () => TransactionStats -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ } } === lovefield.js === @@ -60,7 +60,7 @@ lf.Transaction = function() {}; */ lf.Transaction.prototype.begin = function(scope) {}; >lf.Transaction.prototype.begin = function(scope) {} : (scope: Array) => IThenable -> : ^ ^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >lf.Transaction.prototype.begin : any > : ^^^ >lf.Transaction.prototype : any @@ -76,7 +76,7 @@ lf.Transaction.prototype.begin = function(scope) {}; >begin : any > : ^^^ >function(scope) {} : (scope: Array) => IThenable -> : ^ ^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >scope : lf.schema.Table[] > : ^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/prototypePropertyAssignmentMergedTypeReference.types b/tests/baselines/reference/prototypePropertyAssignmentMergedTypeReference.types index b86d59264dc6a..663fc1fcb42bc 100644 --- a/tests/baselines/reference/prototypePropertyAssignmentMergedTypeReference.types +++ b/tests/baselines/reference/prototypePropertyAssignmentMergedTypeReference.types @@ -31,7 +31,7 @@ f.prototype.a = "a"; /** @type {new () => f} */ var x = f; >x : new () => f -> : ^^^^^^^^^^^ +> : ^^^^^^^^^^ >f : typeof f > : ^^^^^^^^ diff --git a/tests/baselines/reference/quickInfoCircularInstantiationExpression.baseline b/tests/baselines/reference/quickInfoCircularInstantiationExpression.baseline index 2c190b11c4378..aa6ab71613e73 100644 --- a/tests/baselines/reference/quickInfoCircularInstantiationExpression.baseline +++ b/tests/baselines/reference/quickInfoCircularInstantiationExpression.baseline @@ -4,7 +4,7 @@ // foo(""); // ^^^ // | ---------------------------------------------------------------------- -// | function foo(t: string): (t: string) => ... +// | function foo(t: string): typeof foo // | ---------------------------------------------------------------------- [ @@ -79,44 +79,28 @@ "kind": "space" }, { - "text": "(", - "kind": "punctuation" - }, - { - "text": "t", - "kind": "parameterName" - }, - { - "text": ":", - "kind": "punctuation" + "text": "typeof", + "kind": "keyword" }, { "text": " ", "kind": "space" }, { - "text": "string", - "kind": "keyword" + "text": "foo", + "kind": "functionName" }, { - "text": ")", + "text": "<", "kind": "punctuation" }, { - "text": " ", - "kind": "space" + "text": "string", + "kind": "keyword" }, { - "text": "=>", + "text": ">", "kind": "punctuation" - }, - { - "text": " ", - "kind": "space" - }, - { - "text": "...", - "kind": "text" } ], "documentation": [] diff --git a/tests/baselines/reference/quickIntersectionCheckCorrectlyCachesErrors.types b/tests/baselines/reference/quickIntersectionCheckCorrectlyCachesErrors.types index cb33955492a17..f9d566f624ddd 100644 --- a/tests/baselines/reference/quickIntersectionCheckCorrectlyCachesErrors.types +++ b/tests/baselines/reference/quickIntersectionCheckCorrectlyCachesErrors.types @@ -20,7 +20,7 @@ declare function g(C: F): string; export function wu(CC: F) { >wu : (CC: F) => void -> : ^ ^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >o : object > : ^^^^^^ >CC : F @@ -38,7 +38,7 @@ export function wu(CC: F) { >g(CC) : string > : ^^^^^^ >g : (C: F) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >CC : F > : ^^^^^ diff --git a/tests/baselines/reference/quickinfoTypeAtReturnPositionsInaccurate.types b/tests/baselines/reference/quickinfoTypeAtReturnPositionsInaccurate.types index 7c476ac08707b..0562a597d826d 100644 --- a/tests/baselines/reference/quickinfoTypeAtReturnPositionsInaccurate.types +++ b/tests/baselines/reference/quickinfoTypeAtReturnPositionsInaccurate.types @@ -53,9 +53,9 @@ class StrClass { const isNumClass = | StrClass> ( >isNumClass : | StrClass>(item: Item) => item is Extract> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ > | StrClass> ( item: Item ): item is Extract> => { return (item instanceof NumClass); } : | StrClass>(item: Item) => item is Extract> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ item: Item >item : Item @@ -93,7 +93,7 @@ class SimpleStore | StrClass public get(entryId: EntryId): Entries[EntryId] { >get : (entryId: EntryId) => Entries[EntryId] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >entryId : EntryId > : ^^^^^^^ @@ -125,7 +125,7 @@ class SimpleStore | StrClass >isNumClass(entry) : boolean > : ^^^^^^^ >isNumClass : | StrClass>(item: Item) => item is Extract> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >entry : Entries[EntryId] > : ^^^^^^^^^^^^^^^^ @@ -182,7 +182,7 @@ class ComplexStore { public get( >get : (sliceId: SliceId, sliceKey: SliceKey) => Slices[SliceId][SliceKey] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ sliceId: SliceId, sliceKey: SliceKey >sliceId : SliceId @@ -213,7 +213,7 @@ class ComplexStore { >isNumClass(item) : boolean > : ^^^^^^^ >isNumClass : | StrClass>(item: Item) => item is Extract> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >item : Slices[SliceId][SliceKey] > : ^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -248,7 +248,7 @@ class ComplexStore { public get2( >get2 : (sliceId: SliceId, sliceKey: SliceKey) => Slices[SliceId][SliceKey] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ sliceId: SliceId, sliceKey: SliceKey >sliceId : SliceId @@ -279,7 +279,7 @@ class ComplexStore { >isNumClass(item) : boolean > : ^^^^^^^ >isNumClass : | StrClass>(item: Item) => item is Extract> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >item : Slices[SliceId][SliceKey] > : ^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -319,13 +319,13 @@ interface Program { } declare function isBuilderProgram(program: Program | T): program is T; >isBuilderProgram : (program: Program | T) => program is T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >program : Program | T > : ^^^^^^^^^^^ export function listFiles(program: Program | T) { >listFiles : (program: Program | T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >program : Program | T > : ^^^^^^^^^^^ @@ -337,17 +337,17 @@ export function listFiles(program: Program | T) { >isBuilderProgram(program) : boolean > : ^^^^^^^ >isBuilderProgram : (program: Program | T_1) => program is T_1 -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >program : Program | T > : ^^^^^^^^^^^ >program.getProgram() : Program > : ^^^^^^^ >program.getProgram : () => Program -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >program : T > : ^ >getProgram : () => Program -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >program : Program > : ^^^^^^^ } diff --git a/tests/baselines/reference/quotedConstructors.types b/tests/baselines/reference/quotedConstructors.types index e68d6c8ee1925..957ae47fae65c 100644 --- a/tests/baselines/reference/quotedConstructors.types +++ b/tests/baselines/reference/quotedConstructors.types @@ -10,11 +10,11 @@ class C { >console.log(this) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this : this > : ^^^^ } @@ -29,11 +29,11 @@ class D { >console.log(this) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this : this > : ^^^^ } @@ -53,11 +53,11 @@ class E { >console.log(this) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this : this > : ^^^^ } @@ -74,11 +74,11 @@ new class { >console.log(this) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this : this > : ^^^^ } @@ -101,11 +101,11 @@ class F { >console.log(this) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this : this > : ^^^^ } diff --git a/tests/baselines/reference/reExportDefaultExport.js b/tests/baselines/reference/reExportDefaultExport.js index 71ba9c96f931a..b0a50abe5170f 100644 --- a/tests/baselines/reference/reExportDefaultExport.js +++ b/tests/baselines/reference/reExportDefaultExport.js @@ -16,7 +16,6 @@ foo(); //// [m1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.f = void 0; exports.default = f; exports.f = f; function f() { diff --git a/tests/baselines/reference/reachabilityCheckWithEmptyDefault.types b/tests/baselines/reference/reachabilityCheckWithEmptyDefault.types index 7e5837d83edfa..42f125d119cf6 100644 --- a/tests/baselines/reference/reachabilityCheckWithEmptyDefault.types +++ b/tests/baselines/reference/reachabilityCheckWithEmptyDefault.types @@ -3,7 +3,7 @@ === reachabilityCheckWithEmptyDefault.ts === declare function print(s: string): void; >print : { (): void; (s: string): void; } -> : ^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ @@ -25,7 +25,7 @@ function foo(x: any) { >print('1') : void > : ^^^^ >print : { (): void; (s: string): void; } -> : ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >'1' : "1" > : ^^^ } diff --git a/tests/baselines/reference/reachabilityChecks4.types b/tests/baselines/reference/reachabilityChecks4.types index d4863f80d4003..ffb47a8e180e4 100644 --- a/tests/baselines/reference/reachabilityChecks4.types +++ b/tests/baselines/reference/reachabilityChecks4.types @@ -73,7 +73,7 @@ function f1(x: 0 | 1 | 2) { >fail() : never > : ^^^^^ >fail : () => never -> : ^^^^^^^^^^^ +> : ^^^^^^ case 1: >1 : 1 @@ -83,7 +83,7 @@ function f1(x: 0 | 1 | 2) { >noop() : void > : ^^^^ >noop : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ case 2: >2 : 2 diff --git a/tests/baselines/reference/reachabilityChecks7.types b/tests/baselines/reference/reachabilityChecks7.types index f9c0893514446..d2ebc749f20cf 100644 --- a/tests/baselines/reference/reachabilityChecks7.types +++ b/tests/baselines/reference/reachabilityChecks7.types @@ -57,7 +57,7 @@ function calltoVoidFunc(x) { >voidFunc() : void > : ^^^^ >voidFunc : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } declare function use(s: string): void; @@ -74,7 +74,7 @@ let x1 = () => { use("Test"); } >use("Test") : void > : ^^^^ >use : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"Test" : "Test" > : ^^^^^^ diff --git a/tests/baselines/reference/reactDefaultPropsInferenceSuccess.types b/tests/baselines/reference/reactDefaultPropsInferenceSuccess.types index a20e9b38fb349..12ab24b57a640 100644 --- a/tests/baselines/reference/reactDefaultPropsInferenceSuccess.types +++ b/tests/baselines/reference/reactDefaultPropsInferenceSuccess.types @@ -110,11 +110,11 @@ const Test2 = () => console.log(value)} />; >console.log(value) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >value : string > : ^^^^^^ @@ -204,11 +204,11 @@ const Test2a = () => console.log(value)} error >console.log(value) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >value : string > : ^^^^^^ >error : true @@ -318,11 +318,11 @@ const Test4 = () => console.log(value)} />; >console.log(value) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >value : string > : ^^^^^^ diff --git a/tests/baselines/reference/reactHOCSpreadprops.types b/tests/baselines/reference/reactHOCSpreadprops.types index 641a8a8fe1320..8a50e112749d3 100644 --- a/tests/baselines/reference/reactHOCSpreadprops.types +++ b/tests/baselines/reference/reactHOCSpreadprops.types @@ -44,11 +44,11 @@ function f

    (App: React.ComponentClass

    | React.StatelessComponent

    ): void >App : React.ComponentClass | React.StatelessComponent

    > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this.props : Readonly<{ children?: React.ReactNode; }> & Readonly

    -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >this : this > : ^^^^ >props : Readonly<{ children?: React.ReactNode; }> & Readonly

    -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ } } } diff --git a/tests/baselines/reference/reactImportDropped.types b/tests/baselines/reference/reactImportDropped.types index a7cc4eee1f62f..293c2f17357cc 100644 --- a/tests/baselines/reference/reactImportDropped.types +++ b/tests/baselines/reference/reactImportDropped.types @@ -39,11 +39,11 @@ export default React.createClass({ >React.createClass({ render() { return ( null ); }}) : import("react").ClassicComponentClass > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >React.createClass : (spec: any) => import("react").ClassicComponentClass -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ >React : typeof import("react") > : ^^^^^^^^^^^^^^^^^^^^^^ >createClass : (spec: any) => import("react").ClassicComponentClass -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ >{ render() { return ( null ); }} : { render(): any; } > : ^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/reactReadonlyHOCAssignabilityReal.types b/tests/baselines/reference/reactReadonlyHOCAssignabilityReal.types index bcf5d84e97546..2da91a602779a 100644 --- a/tests/baselines/reference/reactReadonlyHOCAssignabilityReal.types +++ b/tests/baselines/reference/reactReadonlyHOCAssignabilityReal.types @@ -44,7 +44,7 @@ function myHigherOrderComponent

    (Inner: React.ComponentClass

    : JSX.Element > : ^^^^^^^^^^^ >Inner : React.ComponentClass

    -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ >this.props : Readonly<{ children?: React.ReactNode; }> & Readonly

    > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this : this diff --git a/tests/baselines/reference/reactReduxLikeDeferredInferenceAllowsAssignment.types b/tests/baselines/reference/reactReduxLikeDeferredInferenceAllowsAssignment.types index 38e95ec3bb270..09c38866b4d64 100644 --- a/tests/baselines/reference/reactReduxLikeDeferredInferenceAllowsAssignment.types +++ b/tests/baselines/reference/reactReduxLikeDeferredInferenceAllowsAssignment.types @@ -354,7 +354,7 @@ const Test1 = connect( >connect( null, mapDispatchToProps) : InferableComponentEnhancerWithProps<{ simpleAction: (payload: boolean) => { type: string; payload: boolean; }; thunkAction: (param1: number, param2: string) => Promise; }, {}> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >connect : (mapStateToProps: null | undefined, mapDispatchToProps: TDispatchProps) => InferableComponentEnhancerWithProps, TOwnProps> -> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ ^^ ^^ ^^ ^^^^^ null, mapDispatchToProps diff --git a/tests/baselines/reference/reactSFCAndFunctionResolvable.types b/tests/baselines/reference/reactSFCAndFunctionResolvable.types index b0860c347eec2..d2cbbe7cdedab 100644 --- a/tests/baselines/reference/reactSFCAndFunctionResolvable.types +++ b/tests/baselines/reference/reactSFCAndFunctionResolvable.types @@ -55,17 +55,17 @@ const RandomComponent: React.SFC = () => { const Component = >Component : ((props: {}) => React.ReactElement<{}>) | React.SFC<{}> -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^ condition1 >condition1 ? Radio : Checkbox : ((props: {}) => React.ReactElement<{}>) | React.SFC<{}> -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^ >condition1 : boolean > : ^^^^^^^ ? Radio >Radio : (props: {}) => React.ReactElement<{}> -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ : Checkbox; >Checkbox : React.SFC<{}> @@ -73,17 +73,17 @@ const RandomComponent: React.SFC = () => { const OtherComponent = >OtherComponent : (() => React.ReactElement<{}>) | React.SFC<{}> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^ condition2 >condition2 ? OtherRadio : Checkbox : (() => React.ReactElement<{}>) | React.SFC<{}> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^ >condition2 : boolean > : ^^^^^^^ ? OtherRadio >OtherRadio : () => React.ReactElement<{}> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ : Checkbox; >Checkbox : React.SFC<{}> @@ -97,11 +97,11 @@ const RandomComponent: React.SFC = () => { > : JSX.Element > : ^^^^^^^^^^^ >Component : ((props: {}) => React.ReactElement<{}>) | React.SFC<{}> -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^ > : JSX.Element > : ^^^^^^^^^^^ >OtherComponent : (() => React.ReactElement<{}>) | React.SFC<{}> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^ }; diff --git a/tests/baselines/reference/reactTransitiveImportHasValidDeclaration.types b/tests/baselines/reference/reactTransitiveImportHasValidDeclaration.types index a9b081bc941c4..314979508e248 100644 --- a/tests/baselines/reference/reactTransitiveImportHasValidDeclaration.types +++ b/tests/baselines/reference/reactTransitiveImportHasValidDeclaration.types @@ -55,18 +55,18 @@ export default function styled(tag: string): (o: object) => StyledOtherComponent === index.ts === import styled from "react-emotion" ->styled : (tag: string) => (o: object) => import("node_modules/create-emotion-styled/index").StyledOtherComponent<{}, import("node_modules/react/index").DetailedHTMLProps, HTMLDivElement>, any> -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>styled : (tag: string) => (o: object) => import("node_modules/create-emotion-styled/index").StyledOtherComponent<{}, import("node_modules/create-emotion-styled/index").StyledOtherComponentList["div"], any> +> : ^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ const Form = styled('div')({ color: "red" }) >Form : import("node_modules/create-emotion-styled/index").StyledOtherComponent<{}, import("node_modules/react/index").DetailedHTMLProps, HTMLDivElement>, any> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >styled('div')({ color: "red" }) : import("node_modules/create-emotion-styled/index").StyledOtherComponent<{}, import("node_modules/react/index").DetailedHTMLProps, HTMLDivElement>, any> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->styled('div') : (o: object) => import("node_modules/create-emotion-styled/index").StyledOtherComponent<{}, import("node_modules/react/index").DetailedHTMLProps, HTMLDivElement>, any> -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->styled : (tag: string) => (o: object) => import("node_modules/create-emotion-styled/index").StyledOtherComponent<{}, import("node_modules/react/index").DetailedHTMLProps, HTMLDivElement>, any> -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>styled('div') : (o: object) => import("node_modules/create-emotion-styled/index").StyledOtherComponent<{}, import("node_modules/create-emotion-styled/index").StyledOtherComponentList["div"], any> +> : ^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +>styled : (tag: string) => (o: object) => import("node_modules/create-emotion-styled/index").StyledOtherComponent<{}, import("node_modules/create-emotion-styled/index").StyledOtherComponentList["div"], any> +> : ^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ >'div' : "div" > : ^^^^^ >{ color: "red" } : { color: string; } diff --git a/tests/baselines/reference/readonlyAssignmentInSubclassOfClassExpression.types b/tests/baselines/reference/readonlyAssignmentInSubclassOfClassExpression.types index a7b1a7f7bd55c..d8aa9f84e5c93 100644 --- a/tests/baselines/reference/readonlyAssignmentInSubclassOfClassExpression.types +++ b/tests/baselines/reference/readonlyAssignmentInSubclassOfClassExpression.types @@ -18,7 +18,7 @@ class C extends (class {} as new () => Readonly<{ attrib: number }>) { >super() : void > : ^^^^ >super : new () => Readonly<{ attrib: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ this.attrib = 2 >this.attrib = 2 : 2 diff --git a/tests/baselines/reference/readonlyInDeclarationFile.types b/tests/baselines/reference/readonlyInDeclarationFile.types index b12808dff8ed0..ac3d899754fd4 100644 --- a/tests/baselines/reference/readonlyInDeclarationFile.types +++ b/tests/baselines/reference/readonlyInDeclarationFile.types @@ -211,5 +211,5 @@ function g() { } return x; >x : { readonly [x: string]: Object; readonly a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ } diff --git a/tests/baselines/reference/readonlyMembers.types b/tests/baselines/reference/readonlyMembers.types index 228fb549b1f00..0566106bdf4a9 100644 --- a/tests/baselines/reference/readonlyMembers.types +++ b/tests/baselines/reference/readonlyMembers.types @@ -259,7 +259,7 @@ p.a = 1; // Error >p.a : any > : ^^^ >p : { readonly a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^ ^^^ >a : any > : ^^^ >1 : 1 @@ -271,7 +271,7 @@ p.b = 1; >p.b : number > : ^^^^^^ >p : { readonly a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^ ^^^ >b : number > : ^^^^^^ >1 : 1 @@ -285,7 +285,7 @@ var q: { a: number, b: number } = p; >b : number > : ^^^^^^ >p : { readonly a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^ ^^^ q.a = 1; >q.a = 1 : 1 @@ -293,7 +293,7 @@ q.a = 1; >q.a : number > : ^^^^^^ >q : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >a : number > : ^^^^^^ >1 : 1 @@ -305,7 +305,7 @@ q.b = 1; >q.b : number > : ^^^^^^ >q : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >b : number > : ^^^^^^ >1 : 1 diff --git a/tests/baselines/reference/readonlyPropertySubtypeRelationDirected.types b/tests/baselines/reference/readonlyPropertySubtypeRelationDirected.types index dde9cad88345b..351ec983ffccd 100644 --- a/tests/baselines/reference/readonlyPropertySubtypeRelationDirected.types +++ b/tests/baselines/reference/readonlyPropertySubtypeRelationDirected.types @@ -29,7 +29,7 @@ const one: { readonly a: string } = { a: 'one' }; function doSomething(condition: boolean) { >doSomething : (condition: boolean) => { readonly a: string; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ >condition : boolean > : ^^^^^^^ @@ -37,17 +37,17 @@ function doSomething(condition: boolean) { // only treated as readonly (i.e. it will produce a diagnostic if you try to assign to it) based on the order of declarations of `one` and `two` above const three = (condition) ? one : two; >three : { readonly a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >(condition) ? one : two : { readonly a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >(condition) : boolean > : ^^^^^^^ >condition : boolean > : ^^^^^^^ >one : { readonly a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >two : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ three.a = 'foo'; >three.a = 'foo' : "foo" @@ -55,7 +55,7 @@ function doSomething(condition: boolean) { >three.a : any > : ^^^ >three : { readonly a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >a : any > : ^^^ >'foo' : "foo" @@ -69,7 +69,7 @@ function doSomething(condition: boolean) { >three.a : any > : ^^^ >three : { readonly a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >a : any > : ^^^ >'foo2' : "foo2" @@ -77,7 +77,7 @@ function doSomething(condition: boolean) { return three; >three : { readonly a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ } === two.ts === export {}; @@ -108,7 +108,7 @@ const one: { readonly a: string } = { a: 'one' }; function doSomething(condition: boolean) { >doSomething : (condition: boolean) => { readonly a: string; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ >condition : boolean > : ^^^^^^^ @@ -116,17 +116,17 @@ function doSomething(condition: boolean) { // based on the declaration order of `one` and `two` const three = (condition) ? two : one; >three : { readonly a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >(condition) ? two : one : { readonly a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >(condition) : boolean > : ^^^^^^^ >condition : boolean > : ^^^^^^^ >two : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >one : { readonly a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ three.a = 'foo'; >three.a = 'foo' : "foo" @@ -134,7 +134,7 @@ function doSomething(condition: boolean) { >three.a : any > : ^^^ >three : { readonly a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >a : any > : ^^^ >'foo' : "foo" @@ -148,7 +148,7 @@ function doSomething(condition: boolean) { >three.a : any > : ^^^ >three : { readonly a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >a : any > : ^^^ >'foo2' : "foo2" @@ -156,7 +156,7 @@ function doSomething(condition: boolean) { return three; >three : { readonly a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ } === three.ts === @@ -188,7 +188,7 @@ const two: { a: string } = { a: 'two' }; function doSomething(condition: boolean) { >doSomething : (condition: boolean) => { readonly a: string; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ >condition : boolean > : ^^^^^^^ @@ -196,17 +196,17 @@ function doSomething(condition: boolean) { // only treated as readonly (i.e. it will produce a diagnostic if you try to assign to it) based on the order of declarations of `one` and `two` above const three = (condition) ? one : two; >three : { readonly a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >(condition) ? one : two : { readonly a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >(condition) : boolean > : ^^^^^^^ >condition : boolean > : ^^^^^^^ >one : { readonly a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >two : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ three.a = 'foo'; >three.a = 'foo' : "foo" @@ -214,7 +214,7 @@ function doSomething(condition: boolean) { >three.a : any > : ^^^ >three : { readonly a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >a : any > : ^^^ >'foo' : "foo" @@ -228,7 +228,7 @@ function doSomething(condition: boolean) { >three.a : any > : ^^^ >three : { readonly a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >a : any > : ^^^ >'foo2' : "foo2" @@ -236,7 +236,7 @@ function doSomething(condition: boolean) { return three; >three : { readonly a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ } === four.ts === @@ -268,7 +268,7 @@ const two: { a: string } = { a: 'two' }; function doSomething(condition: boolean) { >doSomething : (condition: boolean) => { readonly a: string; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ >condition : boolean > : ^^^^^^^ @@ -276,17 +276,17 @@ function doSomething(condition: boolean) { // based on the declaration order of `one` and `two` const three = (condition) ? two : one; >three : { readonly a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >(condition) ? two : one : { readonly a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >(condition) : boolean > : ^^^^^^^ >condition : boolean > : ^^^^^^^ >two : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >one : { readonly a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ three.a = 'foo'; >three.a = 'foo' : "foo" @@ -294,7 +294,7 @@ function doSomething(condition: boolean) { >three.a : any > : ^^^ >three : { readonly a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >a : any > : ^^^ >'foo' : "foo" @@ -308,7 +308,7 @@ function doSomething(condition: boolean) { >three.a : any > : ^^^ >three : { readonly a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >a : any > : ^^^ >'foo2' : "foo2" @@ -316,5 +316,5 @@ function doSomething(condition: boolean) { return three; >three : { readonly a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ } diff --git a/tests/baselines/reference/readonlyTupleAndArrayElaboration.types b/tests/baselines/reference/readonlyTupleAndArrayElaboration.types index 3fdbcf7c7f14f..19aa0053f168f 100644 --- a/tests/baselines/reference/readonlyTupleAndArrayElaboration.types +++ b/tests/baselines/reference/readonlyTupleAndArrayElaboration.types @@ -28,11 +28,11 @@ function distanceFromOrigin([x, y]: [number, number]) { >Math.sqrt(x ** 2 + y ** 2) : number > : ^^^^^^ >Math.sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x ** 2 + y ** 2 : number > : ^^^^^^ >x ** 2 : number @@ -67,7 +67,7 @@ arryFn(point); >arryFn(point) : void > : ^^^^ >arryFn : (x: number[]) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >point : readonly [3, 4] > : ^^^^^^^^^^^^^^^ @@ -81,7 +81,7 @@ arryFn2(point); >arryFn2(point) : void > : ^^^^ >arryFn2 : (x: Array) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >point : readonly [3, 4] > : ^^^^^^^^^^^^^^^ @@ -101,7 +101,7 @@ arryFn2(a); >arryFn2(a) : void > : ^^^^ >arryFn2 : (x: Array) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : readonly number[] > : ^^^^^^^^^^^^^^^^^ @@ -109,7 +109,7 @@ arryFn2(b); >arryFn2(b) : void > : ^^^^ >arryFn2 : (x: Array) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : readonly number[] > : ^^^^^^^^^^^^^^^^^ @@ -117,7 +117,7 @@ arryFn2(c); >arryFn2(c) : void > : ^^^^ >arryFn2 : (x: Array) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >c : readonly number[] > : ^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/recursiveArrayNotCircular.types b/tests/baselines/reference/recursiveArrayNotCircular.types index 7802715a7e0ce..9596f54bcfa24 100644 --- a/tests/baselines/reference/recursiveArrayNotCircular.types +++ b/tests/baselines/reference/recursiveArrayNotCircular.types @@ -150,7 +150,7 @@ function reducer(action: ReducerAction): void { >action.payload.map(reducer) : void[] > : ^^^^^^ >action.payload.map : (callbackfn: (value: ReducerAction, index: number, array: ReducerAction[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >action.payload : ReducerAction[] > : ^^^^^^^^^^^^^^^ >action : { type: ActionType.Batch; payload: ReducerAction[]; } @@ -158,16 +158,16 @@ function reducer(action: ReducerAction): void { >payload : ReducerAction[] > : ^^^^^^^^^^^^^^^ >map : (callbackfn: (value: ReducerAction, index: number, array: ReducerAction[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >reducer : (action: ReducerAction) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ break; default: return assertNever(action); >assertNever(action) : never > : ^^^^^ >assertNever : (a: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >action : never > : ^^^^^ } diff --git a/tests/baselines/reference/recursiveClassBaseType.types b/tests/baselines/reference/recursiveClassBaseType.types index 27e0cce0eab1f..ed89ef813ceb4 100644 --- a/tests/baselines/reference/recursiveClassBaseType.types +++ b/tests/baselines/reference/recursiveClassBaseType.types @@ -20,8 +20,8 @@ class C extends Base({ x: p(() => []) }) { } > : ^ >Base({ x: p(() => []) }) : { x: C[]; } > : ^^^^^^^^^^^ ->Base : (val: T) => new () => T -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +>Base : (val: T) => { new (): T; } +> : ^ ^^ ^^ ^^^^^ >{ x: p(() => []) } : { x: C[]; } > : ^^^^^^^^^^^ >x : C[] @@ -29,7 +29,7 @@ class C extends Base({ x: p(() => []) }) { } >p(() => []) : C[] > : ^^^ >p : (fn: () => T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >() => [] : () => never[] > : ^^^^^^^^^^^^^ >[] : never[] diff --git a/tests/baselines/reference/recursiveClassReferenceTest.types b/tests/baselines/reference/recursiveClassReferenceTest.types index 34441a16fe778..092de33da333b 100644 --- a/tests/baselines/reference/recursiveClassReferenceTest.types +++ b/tests/baselines/reference/recursiveClassReferenceTest.types @@ -34,7 +34,7 @@ declare module Sample.Thing { getDomNode(): Element; >getDomNode : () => Element -> : ^^^^^^^^^^^^^ +> : ^^^^^^ addWidget(widgetId:string, widget:IWidget); >addWidget : (widgetId: string, widget: IWidget) => any @@ -142,7 +142,7 @@ module Sample.Thing.Widgets { >runner(this) : any > : ^^^ >runner : (widget: Sample.Thing.IWidget) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ diff --git a/tests/baselines/reference/recursiveConditionalCrash3.types b/tests/baselines/reference/recursiveConditionalCrash3.types index 3d26d2293203a..d621d5aab7986 100644 --- a/tests/baselines/reference/recursiveConditionalCrash3.types +++ b/tests/baselines/reference/recursiveConditionalCrash3.types @@ -186,11 +186,11 @@ export type Expand = never, N extends */ let y1: Expand >y1 : { id: string; name: string; user: string; role: string; roles: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ let y2: Expand >y2 : { id: string; name: string; user: { id: string; role: { id: string; user: { id: string; role: string; note: string; }; x: string; }; note: string; }; role: string; roles: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /** @@ -206,12 +206,12 @@ let y2: Expand */ type UseQueryOptions > = Expand ->UseQueryOptions : T extends CanBeExpanded ? T["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_2 ? T_2 extends T["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_2 extends CanBeExpanded ? T_2["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_3 ? T_3 extends T_2["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_3 extends CanBeExpanded ? T_3["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_4 ? T_4 extends T_3["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_4 extends CanBeExpanded ? T_4["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_5 ? T_5 extends T_4["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_5 extends CanBeExpanded ? T_5["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_6 ? T_6 extends T_5["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_6 extends CanBeExpanded ? T_6["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_7 ? T_7 extends T_6["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_7 extends CanBeExpanded ? T_7["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_8 ? T_8 extends T_7["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_8 extends CanBeExpanded ? T_8["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_9 ? T_9 extends T_8["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_9 extends CanBeExpanded ? T_9["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_10 ? T_10 extends T_9["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_10 extends CanBeExpanded ? T_10["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_11 ? T_11 extends T_10["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_11 extends CanBeExpanded ? any : T_11 extends (infer U)[] ? any[] : T_11 extends object ? { [K_1 in keyof T_11]-?: any; } : T_11 : never : never : T_10 extends (infer U)[] ? any[] : T_10 extends object ? { [K_2 in keyof T_10]-?: T_10[K_2] extends infer T_12 ? T_12 extends T_10[K_2] ? T_12 extends CanBeExpanded ? any : T_12 extends (infer U)[] ? any[] : T_12 extends object ? { [K_3 in keyof T_12]-?: any; } : T_12 : never : never; } : T_10 : never : never : T_9 extends (infer U)[] ? any[] : T_9 extends object ? { [K_4 in keyof T_9]-?: T_9[K_4] extends infer T_13 ? T_13 extends T_9[K_4] ? T_13 extends CanBeExpanded ? T_13[string & K_4 extends infer T_14 ? T_14 extends string & K_4 ? T_14 extends SplitAC ? "value" : "default" : never : never] extends infer T_15 ? T_15 extends T_13[string & K_4 extends infer T_14 ? T_14 extends string & K_4 ? T_14 extends SplitAC ? "value" : "default" : never : never] ? T_15 extends CanBeExpanded ? any : T_15 extends (infer U)[] ? any[] : T_15 extends object ? { [K_5 in keyof T_15]-?: any; } : T_15 : never : never : T_13 extends (infer U)[] ? any[] : T_13 extends object ? { [K_6 in keyof T_13]-?: T_13[K_6] extends infer T_16 ? T_16 extends T_13[K_6] ? T_16 extends CanBeExpanded ? any : T_16 extends (infer U)[] ? any[] : T_16 extends object ? { [K_7 in keyof T_16]-?: any; } : T_16 : never : never; } : T_13 : never : never; } : T_9 : never : never : T_8 extends (infer U)[] ? any[] : T_8 extends object ? { [K_8 in keyof T_8]-?: T_8[K_8] extends infer T_17 ? T_17 extends T_8[K_8] ? T_17 extends CanBeExpanded ? T_17[string & K_8 extends infer T_18 ? T_18 extends string & K_8 ? T_18 extends SplitAC ? "value" : "default" : never : never] extends infer T_19 ? T_19 extends T_17[string & K_8 extends infer T_18 ? T_18 extends string & K_8 ? T_18 extends SplitAC ? "value" : "default" : never : never] ? T_19 extends CanBeExpanded ? T_19[string & K_8 extends infer T_18 ? T_18 extends string & K_8 ? T_18 extends SplitAC ? "value" : "default" : never : never] extends infer T_20 ? T_20 extends T_19[string & K_8 extends infer T_18 ? T_18 extends string & K_8 ? T_18 extends SplitAC ? "value" : "default" : never : never] ? T_20 extends CanBeExpanded ? any : T_20 extends (infer U)[] ? any[] : T_20 extends object ? { [K_9 in keyof T_20]-?: any; } : T_20 : never : never : T_19 extends (infer U)[] ? any[] : T_19 extends object ? { [K_10 in keyof T_19]-?: T_19[K_10] extends infer T_21 ? T_21 extends T_19[K_10] ? T_21 extends CanBeExpanded ? any : T_21 extends (infer U)[] ? any[] : T_21 extends object ? { [K_11 in keyof T_21]-?: any; } : T_21 : never : never; } : T_19 : never : never : T_17 extends (infer U)[] ? any[] : T_17 extends object ? { [K_12 in keyof T_17]-?: T_17[K_12] extends infer T_22 ? T_22 extends T_17[K_12] ? T_22 extends CanBeExpanded ? T_22[PrefixWith extends infer T_23 ? T_23 extends PrefixWith ? T_23 extends SplitAC ? "value" : "default" : never : never] extends infer T_24 ? T_24 extends T_22[PrefixWith extends infer T_23 ? T_23 extends PrefixWith ? T_23 extends SplitAC ? "value" : "default" : never : never] ? T_24 extends CanBeExpanded ? any : T_24 extends (infer U)[] ? any[] : T_24 extends object ? { [K_13 in keyof T_24]-?: any; } : T_24 : never : never : T_22 extends (infer U)[] ? any[] : T_22 extends object ? { [K_14 in keyof T_22]-?: T_22[K_14] extends infer T_25 ? T_25 extends T_22[K_14] ? T_25 extends CanBeExpanded ? any : T_25 extends (infer U)[] ? any[] : T_25 extends object ? { [K_15 in keyof T_25]-?: T_25[K_15] extends infer T_26 ? T_26 extends T_25[K_15] ? T_26 extends CanBeExpanded ? T_26["default"] : T_26 : never : never; } : T_25 : never : never; } : T_22 : never : never; } : T_17 : never : never; } : T_8 : never : never : T_7 extends (infer U)[] ? any[] : T_7 extends object ? { [K_16 in keyof T_7]-?: T_7[K_16] extends infer T_27 ? T_27 extends T_7[K_16] ? T_27 extends CanBeExpanded ? T_27[string & K_16 extends infer T_28 ? T_28 extends string & K_16 ? T_28 extends SplitAC ? "value" : "default" : never : never] extends infer T_29 ? T_29 extends T_27[string & K_16 extends infer T_28 ? T_28 extends string & K_16 ? T_28 extends SplitAC ? "value" : "default" : never : never] ? T_29 extends CanBeExpanded ? T_29[string & K_16 extends infer T_28 ? T_28 extends string & K_16 ? T_28 extends SplitAC ? "value" : "default" : never : never] extends infer T_30 ? T_30 extends T_29[string & K_16 extends infer T_28 ? T_28 extends string & K_16 ? T_28 extends SplitAC ? "value" : "default" : never : never] ? T_30 extends CanBeExpanded ? T_30[string & K_16 extends infer T_28 ? T_28 extends string & K_16 ? T_28 extends SplitAC ? "value" : "default" : never : never] extends infer T_31 ? T_31 extends T_30[string & K_16 extends infer T_28 ? T_28 extends string & K_16 ? T_28 extends SplitAC ? "value" : "default" : never : never] ? T_31 extends CanBeExpanded ? any : T_31 extends (infer U)[] ? any[] : T_31 extends object ? { [K_17 in keyof T_31]-?: any; } : T_31 : never : never : T_30 extends (infer U)[] ? any[] : T_30 extends object ? { [K_18 in keyof T_30]-?: T_30[K_18] extends infer T_32 ? T_32 extends T_30[K_18] ? T_32 extends CanBeExpanded ? any : T_32 extends (infer U)[] ? any[] : T_32 extends object ? { [K_19 in keyof T_32]-?: any; } : T_32 : never : never; } : T_30 : never : never : T_29 extends (infer U)[] ? any[] : T_29 extends object ? { [K_20 in keyof T_29]-?: T_29[K_20] extends infer T_33 ? T_33 extends T_29[K_20] ? T_33 extends CanBeExpanded ? T_33[PrefixWith extends infer T_34 ? T_34 extends PrefixWith ? T_34 extends SplitAC ? "value" : "default" : never : never] extends infer T_35 ? T_35 extends T_33[PrefixWith extends infer T_34 ? T_34 extends PrefixWith ? T_34 extends SplitAC ? "value" : "default" : never : never] ? T_35 extends CanBeExpanded ? any : T_35 extends (infer U)[] ? any[] : T_35 extends object ? { [K_21 in keyof T_35]-?: any; } : T_35 : never : never : T_33 extends (infer U)[] ? any[] : T_33 extends object ? { [K_22 in keyof T_33]-?: T_33[K_22] extends infer T_36 ? T_36 extends T_33[K_22] ? T_36 extends CanBeExpanded ? any : T_36 extends (infer U)[] ? any[] : T_36 extends object ? { [K_23 in keyof T_36]-?: T_36[K_23] extends infer T_37 ? T_37 extends T_36[K_23] ? T_37 extends CanBeExpanded ? T_37["default"] : T_37 : never : never; } : T_36 : never : never; } : T_33 : never : never; } : T_29 : never : never : T_27 extends (infer U)[] ? any[] : T_27 extends object ? { [K_24 in keyof T_27]-?: T_27[K_24] extends infer T_38 ? T_38 extends T_27[K_24] ? T_38 extends CanBeExpanded ? T_38[PrefixWith extends infer T_39 ? T_39 extends PrefixWith ? T_39 extends SplitAC ? "value" : "default" : never : never] extends infer T_40 ? T_40 extends T_38[PrefixWith extends infer T_39 ? T_39 extends PrefixWith ? T_39 extends SplitAC ? "value" : "default" : never : never] ? T_40 extends CanBeExpanded ? T_40[PrefixWith extends infer T_39 ? T_39 extends PrefixWith ? T_39 extends SplitAC ? "value" : "default" : never : never] extends infer T_41 ? T_41 extends T_40[PrefixWith extends infer T_39 ? T_39 extends PrefixWith ? T_39 extends SplitAC ? "value" : "default" : never : never] ? T_41 extends CanBeExpanded ? any : T_41 extends (infer U)[] ? any[] : T_41 extends object ? { [K_25 in keyof T_41]-?: any; } : T_41 : never : never : T_40 extends (infer U)[] ? any[] : T_40 extends object ? { [K_26 in keyof T_40]-?: T_40[K_26] extends infer T_42 ? T_42 extends T_40[K_26] ? T_42 extends CanBeExpanded ? any : T_42 extends (infer U)[] ? any[] : T_42 extends object ? { [K_27 in keyof T_42]-?: T_42[K_27] extends infer T_43 ? T_43 extends T_42[K_27] ? T_43 extends CanBeExpanded ? T_43["default"] : T_43 : never : never; } : T_42 : never : never; } : T_40 : never : never : T_38 extends (infer U)[] ? any[] : T_38 extends object ? { [K_28 in keyof T_38]-?: T_38[K_28] extends infer T_44 ? T_44 extends T_38[K_28] ? T_44 extends CanBeExpanded ? T_44[PrefixWith, K_28, "."> extends infer T_45 ? T_45 extends PrefixWith, K_28, "."> ? T_45 extends SplitAC ? "value" : "default" : never : never] extends infer T_46 ? T_46 extends T_44[PrefixWith, K_28, "."> extends infer T_45 ? T_45 extends PrefixWith, K_28, "."> ? T_45 extends SplitAC ? "value" : "default" : never : never] ? T_46 extends CanBeExpanded ? any : T_46 extends (infer U)[] ? any[] : T_46 extends object ? { [K_29 in keyof T_46]-?: T_46[K_29] extends infer T_47 ? T_47 extends T_46[K_29] ? T_47 extends CanBeExpanded ? T_47["default"] : T_47 : never : never; } : T_46 : never : never : T_44 extends (infer U)[] ? any[] : T_44 extends object ? { [K_30 in keyof T_44]-?: T_44[K_30] extends infer T_48 ? T_48 extends T_44[K_30] ? T_48 extends CanBeExpanded ? T_48["default"] : T_48 : never : never; } : T_44 : never : never; } : T_38 : never : never; } : T_27 : never : never; } : T_7 : never : never : T_6 extends (infer U)[] ? any[] : T_6 extends object ? { [K_31 in keyof T_6]-?: T_6[K_31] extends infer T_49 ? T_49 extends T_6[K_31] ? T_49 extends CanBeExpanded ? T_49[string & K_31 extends infer T_50 ? T_50 extends string & K_31 ? T_50 extends SplitAC ? "value" : "default" : never : never] extends infer T_51 ? T_51 extends T_49[string & K_31 extends infer T_50 ? T_50 extends string & K_31 ? T_50 extends SplitAC ? "value" : "default" : never : never] ? T_51 extends CanBeExpanded ? T_51[string & K_31 extends infer T_50 ? T_50 extends string & K_31 ? T_50 extends SplitAC ? "value" : "default" : never : never] extends infer T_52 ? T_52 extends T_51[string & K_31 extends infer T_50 ? T_50 extends string & K_31 ? T_50 extends SplitAC ? "value" : "default" : never : never] ? T_52 extends CanBeExpanded ? T_52[string & K_31 extends infer T_50 ? T_50 extends string & K_31 ? T_50 extends SplitAC ? "value" : "default" : never : never] extends infer T_53 ? T_53 extends T_52[string & K_31 extends infer T_50 ? T_50 extends string & K_31 ? T_50 extends SplitAC ? "value" : "default" : never : never] ? T_53 extends CanBeExpanded ? T_53[string & K_31 extends infer T_50 ? T_50 extends string & K_31 ? T_50 extends SplitAC ? "value" : "default" : never : never] extends infer T_54 ? T_54 extends T_53[string & K_31 extends infer T_50 ? T_50 extends string & K_31 ? T_50 extends SplitAC ? "value" : "default" : never : never] ? T_54 extends CanBeExpanded ? any : T_54 extends (infer U)[] ? any[] : T_54 extends object ? { [K_32 in keyof T_54]-?: any; } : T_54 : never : never : T_53 extends (infer U)[] ? any[] : T_53 extends object ? { [K_33 in keyof T_53]-?: T_53[K_33] extends infer T_55 ? T_55 extends T_53[K_33] ? T_55 extends CanBeExpanded ? any : T_55 extends (infer U)[] ? any[] : T_55 extends object ? { [K_34 in keyof T_55]-?: any; } : T_55 : never : never; } : T_53 : never : never : T_52 extends (infer U)[] ? any[] : T_52 extends object ? { [K_35 in keyof T_52]-?: T_52[K_35] extends infer T_56 ? T_56 extends T_52[K_35] ? T_56 extends CanBeExpanded ? T_56[PrefixWith extends infer T_57 ? T_57 extends PrefixWith ? T_57 extends SplitAC ? "value" : "default" : never : never] extends infer T_58 ? T_58 extends T_56[PrefixWith extends infer T_57 ? T_57 extends PrefixWith ? T_57 extends SplitAC ? "value" : "default" : never : never] ? T_58 extends CanBeExpanded ? any : T_58 extends (infer U)[] ? any[] : T_58 extends object ? { [K_36 in keyof T_58]-?: any; } : T_58 : never : never : T_56 extends (infer U)[] ? any[] : T_56 extends object ? { [K_37 in keyof T_56]-?: T_56[K_37] extends infer T_59 ? T_59 extends T_56[K_37] ? T_59 extends CanBeExpanded ? any : T_59 extends (infer U)[] ? any[] : T_59 extends object ? { [K_38 in keyof T_59]-?: T_59[K_38] extends infer T_60 ? T_60 extends T_59[K_38] ? T_60 extends CanBeExpanded ? T_60["default"] : T_60 : never : never; } : T_59 : never : never; } : T_56 : never : never; } : T_52 : never : never : T_51 extends (infer U)[] ? any[] : T_51 extends object ? { [K_39 in keyof T_51]-?: T_51[K_39] extends infer T_61 ? T_61 extends T_51[K_39] ? T_61 extends CanBeExpanded ? T_61[PrefixWith extends infer T_62 ? T_62 extends PrefixWith ? T_62 extends SplitAC ? "value" : "default" : never : never] extends infer T_63 ? T_63 extends T_61[PrefixWith extends infer T_62 ? T_62 extends PrefixWith ? T_62 extends SplitAC ? "value" : "default" : never : never] ? T_63 extends CanBeExpanded ? T_63[PrefixWith extends infer T_62 ? T_62 extends PrefixWith ? T_62 extends SplitAC ? "value" : "default" : never : never] extends infer T_64 ? T_64 extends T_63[PrefixWith extends infer T_62 ? T_62 extends PrefixWith ? T_62 extends SplitAC ? "value" : "default" : never : never] ? T_64 extends CanBeExpanded ? any : T_64 extends (infer U)[] ? any[] : T_64 extends object ? { [K_40 in keyof T_64]-?: any; } : T_64 : never : never : T_63 extends (infer U)[] ? any[] : T_63 extends object ? { [K_41 in keyof T_63]-?: T_63[K_41] extends infer T_65 ? T_65 extends T_63[K_41] ? T_65 extends CanBeExpanded ? any : T_65 extends (infer U)[] ? any[] : T_65 extends object ? { [K_42 in keyof T_65]-?: T_65[K_42] extends infer T_66 ? T_66 extends T_65[K_42] ? T_66 extends CanBeExpanded ? T_66["default"] : T_66 : never : never; } : T_65 : never : never; } : T_63 : never : never : T_61 extends (infer U)[] ? any[] : T_61 extends object ? { [K_43 in keyof T_61]-?: T_61[K_43] extends infer T_67 ? T_67 extends T_61[K_43] ? T_67 extends CanBeExpanded ? T_67[PrefixWith, K_43, "."> extends infer T_68 ? T_68 extends PrefixWith, K_43, "."> ? T_68 extends SplitAC ? "value" : "default" : never : never] extends infer T_69 ? T_69 extends T_67[PrefixWith, K_43, "."> extends infer T_68 ? T_68 extends PrefixWith, K_43, "."> ? T_68 extends SplitAC ? "value" : "default" : never : never] ? T_69 extends CanBeExpanded ? any : T_69 extends (infer U)[] ? any[] : T_69 extends object ? { [K_44 in keyof T_69]-?: T_69[K_44] extends infer T_70 ? T_70 extends T_69[K_44] ? T_70 extends CanBeExpanded ? T_70["default"] : T_70 : never : never; } : T_69 : never : never : T_67 extends (infer U)[] ? any[] : T_67 extends object ? { [K_45 in keyof T_67]-?: T_67[K_45] extends infer T_71 ? T_71 extends T_67[K_45] ? T_71 extends CanBeExpanded ? T_71["default"] : T_71 : never : never; } : T_67 : never : never; } : T_61 : never : never; } : T_51 : never : never : T_49 extends (infer U)[] ? any[] : T_49 extends object ? { [K_46 in keyof T_49]-?: T_49[K_46] extends infer T_72 ? T_72 extends T_49[K_46] ? T_72 extends CanBeExpanded ? T_72[PrefixWith extends infer T_73 ? T_73 extends PrefixWith ? T_73 extends SplitAC ? "value" : "default" : never : never] extends infer T_74 ? T_74 extends T_72[PrefixWith extends infer T_73 ? T_73 extends PrefixWith ? T_73 extends SplitAC ? "value" : "default" : never : never] ? T_74 extends CanBeExpanded ? T_74[PrefixWith extends infer T_73 ? T_73 extends PrefixWith ? T_73 extends SplitAC ? "value" : "default" : never : never] extends infer T_75 ? T_75 extends T_74[PrefixWith extends infer T_73 ? T_73 extends PrefixWith ? T_73 extends SplitAC ? "value" : "default" : never : never] ? T_75 extends CanBeExpanded ? T_75[PrefixWith extends infer T_73 ? T_73 extends PrefixWith ? T_73 extends SplitAC ? "value" : "default" : never : never] extends infer T_76 ? T_76 extends T_75[PrefixWith extends infer T_73 ? T_73 extends PrefixWith ? T_73 extends SplitAC ? "value" : "default" : never : never] ? T_76 extends CanBeExpanded ? any : T_76 extends (infer U)[] ? any[] : T_76 extends object ? { [K_47 in keyof T_76]-?: any; } : T_76 : never : never : T_75 extends (infer U)[] ? any[] : T_75 extends object ? { [K_48 in keyof T_75]-?: T_75[K_48] extends infer T_77 ? T_77 extends T_75[K_48] ? T_77 extends CanBeExpanded ? any : T_77 extends (infer U)[] ? any[] : T_77 extends object ? { [K_49 in keyof T_77]-?: T_77[K_49] extends infer T_78 ? T_78 extends T_77[K_49] ? T_78 extends CanBeExpanded ? T_78["default"] : T_78 : never : never; } : T_77 : never : never; } : T_75 : never : never : T_74 extends (infer U)[] ? any[] : T_74 extends object ? { [K_50 in keyof T_74]-?: T_74[K_50] extends infer T_79 ? T_79 extends T_74[K_50] ? T_79 extends CanBeExpanded ? T_79[PrefixWith, K_50, "."> extends infer T_80 ? T_80 extends PrefixWith, K_50, "."> ? T_80 extends SplitAC ? "value" : "default" : never : never] extends infer T_81 ? T_81 extends T_79[PrefixWith, K_50, "."> extends infer T_80 ? T_80 extends PrefixWith, K_50, "."> ? T_80 extends SplitAC ? "value" : "default" : never : never] ? T_81 extends CanBeExpanded ? any : T_81 extends (infer U)[] ? any[] : T_81 extends object ? { [K_51 in keyof T_81]-?: T_81[K_51] extends infer T_82 ? T_82 extends T_81[K_51] ? T_82 extends CanBeExpanded ? T_82["default"] : T_82 : never : never; } : T_81 : never : never : T_79 extends (infer U)[] ? any[] : T_79 extends object ? { [K_52 in keyof T_79]-?: T_79[K_52] extends infer T_83 ? T_83 extends T_79[K_52] ? T_83 extends CanBeExpanded ? T_83["default"] : T_83 : never : never; } : T_79 : never : never; } : T_74 : never : never : T_72 extends (infer U)[] ? any[] : T_72 extends object ? { [K_53 in keyof T_72]-?: T_72[K_53] extends infer T_84 ? T_84 extends T_72[K_53] ? T_84 extends CanBeExpanded ? T_84[PrefixWith, K_53, "."> extends infer T_85 ? T_85 extends PrefixWith, K_53, "."> ? T_85 extends SplitAC ? "value" : "default" : never : never] extends infer T_86 ? T_86 extends T_84[PrefixWith, K_53, "."> extends infer T_85 ? T_85 extends PrefixWith, K_53, "."> ? T_85 extends SplitAC ? "value" : "default" : never : never] ? T_86 extends CanBeExpanded ? T_86[PrefixWith, K_53, "."> extends infer T_85 ? T_85 extends PrefixWith, K_53, "."> ? T_85 extends SplitAC ? "value" : "default" : never : never] extends infer T_87 ? T_87 extends T_86[PrefixWith, K_53, "."> extends infer T_85 ? T_85 extends PrefixWith, K_53, "."> ? T_85 extends SplitAC ? "value" : "default" : never : never] ? T_87 extends CanBeExpanded ? any : T_87 extends (infer U)[] ? any[] : T_87 extends object ? { [K_54 in keyof T_87]-?: T_87[K_54] extends infer T_88 ? T_88 extends T_87[K_54] ? T_88 extends CanBeExpanded ? T_88["default"] : T_88 : never : never; } : T_87 : never : never : T_86 extends (infer U)[] ? any[] : T_86 extends object ? { [K_55 in keyof T_86]-?: T_86[K_55] extends infer T_89 ? T_89 extends T_86[K_55] ? T_89 extends CanBeExpanded ? T_89["default"] : T_89 : never : never; } : T_86 : never : never : T_84 extends (infer U)[] ? any[] : T_84 extends object ? { [K_56 in keyof T_84]-?: T_84[K_56] extends infer T_90 ? T_90 extends T_84[K_56] ? T_90 extends CanBeExpanded ? T_90["default"] : T_90 : never : never; } : T_84 : never : never; } : T_72 : never : never; } : T_49 : never : never; } : T_6 : never : never : T_5 extends (infer U)[] ? any[] : T_5 extends object ? { [K_57 in keyof T_5]-?: T_5[K_57] extends infer T_91 ? T_91 extends T_5[K_57] ? T_91 extends CanBeExpanded ? T_91[string & K_57 extends infer T_92 ? T_92 extends string & K_57 ? T_92 extends SplitAC ? "value" : "default" : never : never] extends infer T_93 ? T_93 extends T_91[string & K_57 extends infer T_92 ? T_92 extends string & K_57 ? T_92 extends SplitAC ? "value" : "default" : never : never] ? T_93 extends CanBeExpanded ? T_93[string & K_57 extends infer T_92 ? T_92 extends string & K_57 ? T_92 extends SplitAC ? "value" : "default" : never : never] extends infer T_94 ? T_94 extends T_93[string & K_57 extends infer T_92 ? T_92 extends string & K_57 ? T_92 extends SplitAC ? "value" : "default" : never : never] ? T_94 extends CanBeExpanded ? T_94[string & K_57 extends infer T_92 ? T_92 extends string & K_57 ? T_92 extends SplitAC ? "value" : "default" : never : never] extends infer T_95 ? T_95 extends T_94[string & K_57 extends infer T_92 ? T_92 extends string & K_57 ? T_92 extends SplitAC ? "value" : "default" : never : never] ? T_95 extends CanBeExpanded ? T_95[string & K_57 extends infer T_92 ? T_92 extends string & K_57 ? T_92 extends SplitAC ? "value" : "default" : never : never] extends infer T_96 ? T_96 extends T_95[string & K_57 extends infer T_92 ? T_92 extends string & K_57 ? T_92 extends SplitAC ? "value" : "default" : never : never] ? T_96 extends CanBeExpanded ? T_96[string & K_57 extends infer T_92 ? T_92 extends string & K_57 ? T_92 extends SplitAC ? "value" : "default" : never : never] extends infer T_97 ? T_97 extends T_96[string & K_57 extends infer T_92 ? T_92 extends string & K_57 ? T_92 extends SplitAC ? "value" : "default" : never : never] ? T_97 extends CanBeExpanded ? any : T_97 extends (infer U)[] ? any[] : T_97 extends object ? { [K_58 in keyof T_97]-?: any; } : T_97 : never : never : T_96 extends (infer U)[] ? any[] : T_96 extends object ? { [K_59 in keyof T_96]-?: T_96[K_59] extends infer T_98 ? T_98 extends T_96[K_59] ? T_98 extends CanBeExpanded ? any : T_98 extends (infer U)[] ? any[] : T_98 extends object ? { [K_60 in keyof T_98]-?: any; } : T_98 : never : never; } : T_96 : never : never : T_95 extends (infer U)[] ? any[] : T_95 extends object ? { [K_61 in keyof T_95]-?: T_95[K_61] extends infer T_99 ? T_99 extends T_95[K_61] ? T_99 extends CanBeExpanded ? T_99[PrefixWith extends infer T_100 ? T_100 extends PrefixWith ? T_100 extends SplitAC ? "value" : "default" : never : never] extends infer T_101 ? T_101 extends T_99[PrefixWith extends infer T_100 ? T_100 extends PrefixWith ? T_100 extends SplitAC ? "value" : "default" : never : never] ? T_101 extends CanBeExpanded ? any : T_101 extends (infer U)[] ? any[] : T_101 extends object ? { [K_62 in keyof T_101]-?: any; } : T_101 : never : never : T_99 extends (infer U)[] ? any[] : T_99 extends object ? { [K_63 in keyof T_99]-?: T_99[K_63] extends infer T_102 ? T_102 extends T_99[K_63] ? T_102 extends CanBeExpanded ? any : T_102 extends (infer U)[] ? any[] : T_102 extends object ? { [K_64 in keyof T_102]-?: T_102[K_64] extends infer T_103 ? T_103 extends T_102[K_64] ? T_103 extends CanBeExpanded ? T_103["default"] : T_103 : never : never; } : T_102 : never : never; } : T_99 : never : never; } : T_95 : never : never : T_94 extends (infer U)[] ? any[] : T_94 extends object ? { [K_65 in keyof T_94]-?: T_94[K_65] extends infer T_104 ? T_104 extends T_94[K_65] ? T_104 extends CanBeExpanded ? T_104[PrefixWith extends infer T_105 ? T_105 extends PrefixWith ? T_105 extends SplitAC ? "value" : "default" : never : never] extends infer T_106 ? T_106 extends T_104[PrefixWith extends infer T_105 ? T_105 extends PrefixWith ? T_105 extends SplitAC ? "value" : "default" : never : never] ? T_106 extends CanBeExpanded ? T_106[PrefixWith extends infer T_105 ? T_105 extends PrefixWith ? T_105 extends SplitAC ? "value" : "default" : never : never] extends infer T_107 ? T_107 extends T_106[PrefixWith extends infer T_105 ? T_105 extends PrefixWith ? T_105 extends SplitAC ? "value" : "default" : never : never] ? T_107 extends CanBeExpanded ? any : T_107 extends (infer U)[] ? any[] : T_107 extends object ? { [K_66 in keyof T_107]-?: any; } : T_107 : never : never : T_106 extends (infer U)[] ? any[] : T_106 extends object ? { [K_67 in keyof T_106]-?: T_106[K_67] extends infer T_108 ? T_108 extends T_106[K_67] ? T_108 extends CanBeExpanded ? any : T_108 extends (infer U)[] ? any[] : T_108 extends object ? { [K_68 in keyof T_108]-?: T_108[K_68] extends infer T_109 ? T_109 extends T_108[K_68] ? T_109 extends CanBeExpanded ? T_109["default"] : T_109 : never : never; } : T_108 : never : never; } : T_106 : never : never : T_104 extends (infer U)[] ? any[] : T_104 extends object ? { [K_69 in keyof T_104]-?: T_104[K_69] extends infer T_110 ? T_110 extends T_104[K_69] ? T_110 extends CanBeExpanded ? T_110[PrefixWith, K_69, "."> extends infer T_111 ? T_111 extends PrefixWith, K_69, "."> ? T_111 extends SplitAC ? "value" : "default" : never : never] extends infer T_112 ? T_112 extends T_110[PrefixWith, K_69, "."> extends infer T_111 ? T_111 extends PrefixWith, K_69, "."> ? T_111 extends SplitAC ? "value" : "default" : never : never] ? T_112 extends CanBeExpanded ? any : T_112 extends (infer U)[] ? any[] : T_112 extends object ? { [K_70 in keyof T_112]-?: T_112[K_70] extends infer T_113 ? T_113 extends T_112[K_70] ? T_113 extends CanBeExpanded ? T_113["default"] : T_113 : never : never; } : T_112 : never : never : T_110 extends (infer U)[] ? any[] : T_110 extends object ? { [K_71 in keyof T_110]-?: T_110[K_71] extends infer T_114 ? T_114 extends T_110[K_71] ? T_114 extends CanBeExpanded ? T_114["default"] : T_114 : never : never; } : T_110 : never : never; } : T_104 : never : never; } : T_94 : never : never : T_93 extends (infer U)[] ? any[] : T_93 extends object ? { [K_72 in keyof T_93]-?: T_93[K_72] extends infer T_115 ? T_115 extends T_93[K_72] ? T_115 extends CanBeExpanded ? T_115[PrefixWith extends infer T_116 ? T_116 extends PrefixWith ? T_116 extends SplitAC ? "value" : "default" : never : never] extends infer T_117 ? T_117 extends T_115[PrefixWith extends infer T_116 ? T_116 extends PrefixWith ? T_116 extends SplitAC ? "value" : "default" : never : never] ? T_117 extends CanBeExpanded ? T_117[PrefixWith extends infer T_116 ? T_116 extends PrefixWith ? T_116 extends SplitAC ? "value" : "default" : never : never] extends infer T_118 ? T_118 extends T_117[PrefixWith extends infer T_116 ? T_116 extends PrefixWith ? T_116 extends SplitAC ? "value" : "default" : never : never] ? T_118 extends CanBeExpanded ? T_118[PrefixWith extends infer T_116 ? T_116 extends PrefixWith ? T_116 extends SplitAC ? "value" : "default" : never : never] extends infer T_119 ? T_119 extends T_118[PrefixWith extends infer T_116 ? T_116 extends PrefixWith ? T_116 extends SplitAC ? "value" : "default" : never : never] ? T_119 extends CanBeExpanded ? any : T_119 extends (infer U)[] ? any[] : T_119 extends object ? { [K_73 in keyof T_119]-?: any; } : T_119 : never : never : T_118 extends (infer U)[] ? any[] : T_118 extends object ? { [K_74 in keyof T_118]-?: T_118[K_74] extends infer T_120 ? T_120 extends T_118[K_74] ? T_120 extends CanBeExpanded ? any : T_120 extends (infer U)[] ? any[] : T_120 extends object ? { [K_75 in keyof T_120]-?: T_120[K_75] extends infer T_121 ? T_121 extends T_120[K_75] ? T_121 extends CanBeExpanded ? T_121["default"] : T_121 : never : never; } : T_120 : never : never; } : T_118 : never : never : T_117 extends (infer U)[] ? any[] : T_117 extends object ? { [K_76 in keyof T_117]-?: T_117[K_76] extends infer T_122 ? T_122 extends T_117[K_76] ? T_122 extends CanBeExpanded ? T_122[PrefixWith, K_76, "."> extends infer T_123 ? T_123 extends PrefixWith, K_76, "."> ? T_123 extends SplitAC ? "value" : "default" : never : never] extends infer T_124 ? T_124 extends T_122[PrefixWith, K_76, "."> extends infer T_123 ? T_123 extends PrefixWith, K_76, "."> ? T_123 extends SplitAC ? "value" : "default" : never : never] ? T_124 extends CanBeExpanded ? any : T_124 extends (infer U)[] ? any[] : T_124 extends object ? { [K_77 in keyof T_124]-?: T_124[K_77] extends infer T_125 ? T_125 extends T_124[K_77] ? T_125 extends CanBeExpanded ? T_125["default"] : T_125 : never : never; } : T_124 : never : never : T_122 extends (infer U)[] ? any[] : T_122 extends object ? { [K_78 in keyof T_122]-?: T_122[K_78] extends infer T_126 ? T_126 extends T_122[K_78] ? T_126 extends CanBeExpanded ? T_126["default"] : T_126 : never : never; } : T_122 : never : never; } : T_117 : never : never : T_115 extends (infer U)[] ? any[] : T_115 extends object ? { [K_79 in keyof T_115]-?: T_115[K_79] extends infer T_127 ? T_127 extends T_115[K_79] ? T_127 extends CanBeExpanded ? T_127[PrefixWith, K_79, "."> extends infer T_128 ? T_128 extends PrefixWith, K_79, "."> ? T_128 extends SplitAC ? "value" : "default" : never : never] extends infer T_129 ? T_129 extends T_127[PrefixWith, K_79, "."> extends infer T_128 ? T_128 extends PrefixWith, K_79, "."> ? T_128 extends SplitAC ? "value" : "default" : never : never] ? T_129 extends CanBeExpanded ? T_129[PrefixWith, K_79, "."> extends infer T_128 ? T_128 extends PrefixWith, K_79, "."> ? T_128 extends SplitAC ? "value" : "default" : never : never] extends infer T_130 ? T_130 extends T_129[PrefixWith, K_79, "."> extends infer T_128 ? T_128 extends PrefixWith, K_79, "."> ? T_128 extends SplitAC ? "value" : "default" : never : never] ? T_130 extends CanBeExpanded ? any : T_130 extends (infer U)[] ? any[] : T_130 extends object ? { [K_80 in keyof T_130]-?: T_130[K_80] extends infer T_131 ? T_131 extends T_130[K_80] ? T_131 extends CanBeExpanded ? T_131["default"] : T_131 : never : never; } : T_130 : never : never : T_129 extends (infer U)[] ? any[] : T_129 extends object ? { [K_81 in keyof T_129]-?: T_129[K_81] extends infer T_132 ? T_132 extends T_129[K_81] ? T_132 extends CanBeExpanded ? T_132["default"] : T_132 : never : never; } : T_129 : never : never : T_127 extends (infer U)[] ? any[] : T_127 extends object ? { [K_82 in keyof T_127]-?: T_127[K_82] extends infer T_133 ? T_133 extends T_127[K_82] ? T_133 extends CanBeExpanded ? T_133["default"] : T_133 : never : never; } : T_127 : never : never; } : T_115 : never : never; } : T_93 : never : never : T_91 extends (infer U)[] ? any[] : T_91 extends object ? { [K_83 in keyof T_91]-?: T_91[K_83] extends infer T_134 ? T_134 extends T_91[K_83] ? T_134 extends CanBeExpanded ? T_134[PrefixWith extends infer T_135 ? T_135 extends PrefixWith ? T_135 extends SplitAC ? "value" : "default" : never : never] extends infer T_136 ? T_136 extends T_134[PrefixWith extends infer T_135 ? T_135 extends PrefixWith ? T_135 extends SplitAC ? "value" : "default" : never : never] ? T_136 extends CanBeExpanded ? T_136[PrefixWith extends infer T_135 ? T_135 extends PrefixWith ? T_135 extends SplitAC ? "value" : "default" : never : never] extends infer T_137 ? T_137 extends T_136[PrefixWith extends infer T_135 ? T_135 extends PrefixWith ? T_135 extends SplitAC ? "value" : "default" : never : never] ? T_137 extends CanBeExpanded ? T_137[PrefixWith extends infer T_135 ? T_135 extends PrefixWith ? T_135 extends SplitAC ? "value" : "default" : never : never] extends infer T_138 ? T_138 extends T_137[PrefixWith extends infer T_135 ? T_135 extends PrefixWith ? T_135 extends SplitAC ? "value" : "default" : never : never] ? T_138 extends CanBeExpanded ? T_138[PrefixWith extends infer T_135 ? T_135 extends PrefixWith ? T_135 extends SplitAC ? "value" : "default" : never : never] extends infer T_139 ? T_139 extends T_138[PrefixWith extends infer T_135 ? T_135 extends PrefixWith ? T_135 extends SplitAC ? "value" : "default" : never : never] ? T_139 extends CanBeExpanded ? any : T_139 extends (infer U)[] ? any[] : T_139 extends object ? { [K_84 in keyof T_139]-?: any; } : T_139 : never : never : T_138 extends (infer U)[] ? any[] : T_138 extends object ? { [K_85 in keyof T_138]-?: T_138[K_85] extends infer T_140 ? T_140 extends T_138[K_85] ? T_140 extends CanBeExpanded ? any : T_140 extends (infer U)[] ? any[] : T_140 extends object ? { [K_86 in keyof T_140]-?: T_140[K_86] extends infer T_141 ? T_141 extends T_140[K_86] ? T_141 extends CanBeExpanded ? T_141["default"] : T_141 : never : never; } : T_140 : never : never; } : T_138 : never : never : T_137 extends (infer U)[] ? any[] : T_137 extends object ? { [K_87 in keyof T_137]-?: T_137[K_87] extends infer T_142 ? T_142 extends T_137[K_87] ? T_142 extends CanBeExpanded ? T_142[PrefixWith, K_87, "."> extends infer T_143 ? T_143 extends PrefixWith, K_87, "."> ? T_143 extends SplitAC ? "value" : "default" : never : never] extends infer T_144 ? T_144 extends T_142[PrefixWith, K_87, "."> extends infer T_143 ? T_143 extends PrefixWith, K_87, "."> ? T_143 extends SplitAC ? "value" : "default" : never : never] ? T_144 extends CanBeExpanded ? any : T_144 extends (infer U)[] ? any[] : T_144 extends object ? { [K_88 in keyof T_144]-?: T_144[K_88] extends infer T_145 ? T_145 extends T_144[K_88] ? T_145 extends CanBeExpanded ? T_145["default"] : T_145 : never : never; } : T_144 : never : never : T_142 extends (infer U)[] ? any[] : T_142 extends object ? { [K_89 in keyof T_142]-?: T_142[K_89] extends infer T_146 ? T_146 extends T_142[K_89] ? T_146 extends CanBeExpanded ? T_146["default"] : T_146 : never : never; } : T_142 : never : never; } : T_137 : never : never : T_136 extends (infer U)[] ? any[] : T_136 extends object ? { [K_90 in keyof T_136]-?: T_136[K_90] extends infer T_147 ? T_147 extends T_136[K_90] ? T_147 extends CanBeExpanded ? T_147[PrefixWith, K_90, "."> extends infer T_148 ? T_148 extends PrefixWith, K_90, "."> ? T_148 extends SplitAC ? "value" : "default" : never : never] extends infer T_149 ? T_149 extends T_147[PrefixWith, K_90, "."> extends infer T_148 ? T_148 extends PrefixWith, K_90, "."> ? T_148 extends SplitAC ? "value" : "default" : never : never] ? T_149 extends CanBeExpanded ? T_149[PrefixWith, K_90, "."> extends infer T_148 ? T_148 extends PrefixWith, K_90, "."> ? T_148 extends SplitAC ? "value" : "default" : never : never] extends infer T_150 ? T_150 extends T_149[PrefixWith, K_90, "."> extends infer T_148 ? T_148 extends PrefixWith, K_90, "."> ? T_148 extends SplitAC ? "value" : "default" : never : never] ? T_150 extends CanBeExpanded ? any : T_150 extends (infer U)[] ? any[] : T_150 extends object ? { [K_91 in keyof T_150]-?: T_150[K_91] extends infer T_151 ? T_151 extends T_150[K_91] ? T_151 extends CanBeExpanded ? T_151["default"] : T_151 : never : never; } : T_150 : never : never : T_149 extends (infer U)[] ? any[] : T_149 extends object ? { [K_92 in keyof T_149]-?: T_149[K_92] extends infer T_152 ? T_152 extends T_149[K_92] ? T_152 extends CanBeExpanded ? T_152["default"] : T_152 : never : never; } : T_149 : never : never : T_147 extends (infer U)[] ? any[] : T_147 extends object ? { [K_93 in keyof T_147]-?: T_147[K_93] extends infer T_153 ? T_153 extends T_147[K_93] ? T_153 extends CanBeExpanded ? T_153["default"] : T_153 : never : never; } : T_147 : never : never; } : T_136 : never : never : T_134 extends (infer U)[] ? any[] : T_134 extends object ? { [K_94 in keyof T_134]-?: T_134[K_94] extends infer T_154 ? T_154 extends T_134[K_94] ? T_154 extends CanBeExpanded ? T_154[PrefixWith, K_94, "."> extends infer T_155 ? T_155 extends PrefixWith, K_94, "."> ? T_155 extends SplitAC ? "value" : "default" : never : never] extends infer T_156 ? T_156 extends T_154[PrefixWith, K_94, "."> extends infer T_155 ? T_155 extends PrefixWith, K_94, "."> ? T_155 extends SplitAC ? "value" : "default" : never : never] ? T_156 extends CanBeExpanded ? T_156[PrefixWith, K_94, "."> extends infer T_155 ? T_155 extends PrefixWith, K_94, "."> ? T_155 extends SplitAC ? "value" : "default" : never : never] extends infer T_157 ? T_157 extends T_156[PrefixWith, K_94, "."> extends infer T_155 ? T_155 extends PrefixWith, K_94, "."> ? T_155 extends SplitAC ? "value" : "default" : never : never] ? T_157 extends CanBeExpanded ? T_157[PrefixWith, K_94, "."> extends infer T_155 ? T_155 extends PrefixWith, K_94, "."> ? T_155 extends SplitAC ? "value" : "default" : never : never] extends infer T_158 ? T_158 extends T_157[PrefixWith, K_94, "."> extends infer T_155 ? T_155 extends PrefixWith, K_94, "."> ? T_155 extends SplitAC ? "value" : "default" : never : never] ? T_158 extends CanBeExpanded ? any : T_158 extends (infer U)[] ? any[] : T_158 extends object ? { [K_95 in keyof T_158]-?: T_158[K_95] extends infer T_159 ? T_159 extends T_158[K_95] ? T_159 extends CanBeExpanded ? T_159["default"] : T_159 : never : never; } : T_158 : never : never : T_157 extends (infer U)[] ? any[] : T_157 extends object ? { [K_96 in keyof T_157]-?: T_157[K_96] extends infer T_160 ? T_160 extends T_157[K_96] ? T_160 extends CanBeExpanded ? T_160["default"] : T_160 : never : never; } : T_157 : never : never : T_156 extends (infer U)[] ? any[] : T_156 extends object ? { [K_97 in keyof T_156]-?: T_156[K_97] extends infer T_161 ? T_161 extends T_156[K_97] ? T_161 extends CanBeExpanded ? T_161["default"] : T_161 : never : never; } : T_156 : never : never : T_154 extends (infer U)[] ? any[] : T_154 extends object ? { [K_98 in keyof T_154]-?: T_154[K_98] extends infer T_162 ? T_162 extends T_154[K_98] ? T_162 extends CanBeExpanded ? T_162["default"] : T_162 : never : never; } : T_154 : never : never; } : T_134 : never : never; } : T_91 : never : never; } : T_5 : never : never : T_4 extends (infer U)[] ? any[] : T_4 extends object ? { [K_99 in keyof T_4]-?: T_4[K_99] extends infer T_163 ? T_163 extends T_4[K_99] ? T_163 extends CanBeExpanded ? T_163[string & K_99 extends infer T_164 ? T_164 extends string & K_99 ? T_164 extends SplitAC ? "value" : "default" : never : never] extends infer T_165 ? T_165 extends T_163[string & K_99 extends infer T_164 ? T_164 extends string & K_99 ? T_164 extends SplitAC ? "value" : "default" : never : never] ? T_165 extends CanBeExpanded ? T_165[string & K_99 extends infer T_164 ? T_164 extends string & K_99 ? T_164 extends SplitAC ? "value" : "default" : never : never] extends infer T_166 ? T_166 extends T_165[string & K_99 extends infer T_164 ? T_164 extends string & K_99 ? T_164 extends SplitAC ? "value" : "default" : never : never] ? T_166 extends CanBeExpanded ? T_166[string & K_99 extends infer T_164 ? T_164 extends string & K_99 ? T_164 extends SplitAC ? "value" : "default" : never : never] extends infer T_167 ? T_167 extends T_166[string & K_99 extends infer T_164 ? T_164 extends string & K_99 ? T_164 extends SplitAC ? "value" : "default" : never : never] ? T_167 extends CanBeExpanded ? T_167[string & K_99 extends infer T_164 ? T_164 extends string & K_99 ? T_164 extends SplitAC ? "value" : "default" : never : never] extends infer T_168 ? T_168 extends T_167[string & K_99 extends infer T_164 ? T_164 extends string & K_99 ? T_164 extends SplitAC ? "value" : "default" : never : never] ? T_168 extends CanBeExpanded ? T_168[string & K_99 extends infer T_164 ? T_164 extends string & K_99 ? T_164 extends SplitAC ? "value" : "default" : never : never] extends infer T_169 ? T_169 extends T_168[string & K_99 extends infer T_164 ? T_164 extends string & K_99 ? T_164 extends SplitAC ? "value" : "default" : never : never] ? T_169 extends CanBeExpanded ? T_169[string & K_99 extends infer T_164 ? T_164 extends string & K_99 ? T_164 extends SplitAC ? "value" : "default" : never : never] extends infer T_170 ? T_170 extends T_169[string & K_99 extends infer T_164 ? T_164 extends string & K_99 ? T_164 extends SplitAC ? "value" : "default" : never : never] ? T_170 extends CanBeExpanded ? any : T_170 extends (infer U)[] ? any[] : T_170 extends object ? { [K_100 in keyof T_170]-?: any; } : T_170 : never : never : T_169 extends (infer U)[] ? any[] : T_169 extends object ? { [K_101 in keyof T_169]-?: T_169[K_101] extends infer T_171 ? T_171 extends T_169[K_101] ? T_171 extends CanBeExpanded ? any : T_171 extends (infer U)[] ? any[] : T_171 extends object ? { [K_102 in keyof T_171]-?: any; } : T_171 : never : never; } : T_169 : never : never : T_168 extends (infer U)[] ? any[] : T_168 extends object ? { [K_103 in keyof T_168]-?: T_168[K_103] extends infer T_172 ? T_172 extends T_168[K_103] ? T_172 extends CanBeExpanded ? T_172[PrefixWith extends infer T_173 ? T_173 extends PrefixWith ? T_173 extends SplitAC ? "value" : "default" : never : never] extends infer T_174 ? T_174 extends T_172[PrefixWith extends infer T_173 ? T_173 extends PrefixWith ? T_173 extends SplitAC ? "value" : "default" : never : never] ? T_174 extends CanBeExpanded ? any : T_174 extends (infer U)[] ? any[] : T_174 extends object ? { [K_104 in keyof T_174]-?: any; } : T_174 : never : never : T_172 extends (infer U)[] ? any[] : T_172 extends object ? { [K_105 in keyof T_172]-?: T_172[K_105] extends infer T_175 ? T_175 extends T_172[K_105] ? T_175 extends CanBeExpanded ? any : T_175 extends (infer U)[] ? any[] : T_175 extends object ? { [K_106 in keyof T_175]-?: T_175[K_106] extends infer T_176 ? T_176 extends T_175[K_106] ? T_176 extends CanBeExpanded ? T_176["default"] : T_176 : never : never; } : T_175 : never : never; } : T_172 : never : never; } : T_168 : never : never : T_167 extends (infer U)[] ? any[] : T_167 extends object ? { [K_107 in keyof T_167]-?: T_167[K_107] extends infer T_177 ? T_177 extends T_167[K_107] ? T_177 extends CanBeExpanded ? T_177[PrefixWith extends infer T_178 ? T_178 extends PrefixWith ? T_178 extends SplitAC ? "value" : "default" : never : never] extends infer T_179 ? T_179 extends T_177[PrefixWith extends infer T_178 ? T_178 extends PrefixWith ? T_178 extends SplitAC ? "value" : "default" : never : never] ? T_179 extends CanBeExpanded ? T_179[PrefixWith extends infer T_178 ? T_178 extends PrefixWith ? T_178 extends SplitAC ? "value" : "default" : never : never] extends infer T_180 ? T_180 extends T_179[PrefixWith extends infer T_178 ? T_178 extends PrefixWith ? T_178 extends SplitAC ? "value" : "default" : never : never] ? T_180 extends CanBeExpanded ? any : T_180 extends (infer U)[] ? any[] : T_180 extends object ? { [K_108 in keyof T_180]-?: any; } : T_180 : never : never : T_179 extends (infer U)[] ? any[] : T_179 extends object ? { [K_109 in keyof T_179]-?: T_179[K_109] extends infer T_181 ? T_181 extends T_179[K_109] ? T_181 extends CanBeExpanded ? any : T_181 extends (infer U)[] ? any[] : T_181 extends object ? { [K_110 in keyof T_181]-?: T_181[K_110] extends infer T_182 ? T_182 extends T_181[K_110] ? T_182 extends CanBeExpanded ? T_182["default"] : T_182 : never : never; } : T_181 : never : never; } : T_179 : never : never : T_177 extends (infer U)[] ? any[] : T_177 extends object ? { [K_111 in keyof T_177]-?: T_177[K_111] extends infer T_183 ? T_183 extends T_177[K_111] ? T_183 extends CanBeExpanded ? T_183[PrefixWith, K_111, "."> extends infer T_184 ? T_184 extends PrefixWith, K_111, "."> ? T_184 extends SplitAC ? "value" : "default" : never : never] extends infer T_185 ? T_185 extends T_183[PrefixWith, K_111, "."> extends infer T_184 ? T_184 extends PrefixWith, K_111, "."> ? T_184 extends SplitAC ? "value" : "default" : never : never] ? T_185 extends CanBeExpanded ? any : T_185 extends (infer U)[] ? any[] : T_185 extends object ? { [K_112 in keyof T_185]-?: T_185[K_112] extends infer T_186 ? T_186 extends T_185[K_112] ? T_186 extends CanBeExpanded ? T_186["default"] : T_186 : never : never; } : T_185 : never : never : T_183 extends (infer U)[] ? any[] : T_183 extends object ? { [K_113 in keyof T_183]-?: T_183[K_113] extends infer T_187 ? T_187 extends T_183[K_113] ? T_187 extends CanBeExpanded ? T_187["default"] : T_187 : never : never; } : T_183 : never : never; } : T_177 : never : never; } : T_167 : never : never : T_166 extends (infer U)[] ? any[] : T_166 extends object ? { [K_114 in keyof T_166]-?: T_166[K_114] extends infer T_188 ? T_188 extends T_166[K_114] ? T_188 extends CanBeExpanded ? T_188[PrefixWith extends infer T_189 ? T_189 extends PrefixWith ? T_189 extends SplitAC ? "value" : "default" : never : never] extends infer T_190 ? T_190 extends T_188[PrefixWith extends infer T_189 ? T_189 extends PrefixWith ? T_189 extends SplitAC ? "value" : "default" : never : never] ? T_190 extends CanBeExpanded ? T_190[PrefixWith extends infer T_189 ? T_189 extends PrefixWith ? T_189 extends SplitAC ? "value" : "default" : never : never] extends infer T_191 ? T_191 extends T_190[PrefixWith extends infer T_189 ? T_189 extends PrefixWith ? T_189 extends SplitAC ? "value" : "default" : never : never] ? T_191 extends CanBeExpanded ? T_191[PrefixWith extends infer T_189 ? T_189 extends PrefixWith ? T_189 extends SplitAC ? "value" : "default" : never : never] extends infer T_192 ? T_192 extends T_191[PrefixWith extends infer T_189 ? T_189 extends PrefixWith ? T_189 extends SplitAC ? "value" : "default" : never : never] ? T_192 extends CanBeExpanded ? any : T_192 extends (infer U)[] ? any[] : T_192 extends object ? { [K_115 in keyof T_192]-?: any; } : T_192 : never : never : T_191 extends (infer U)[] ? any[] : T_191 extends object ? { [K_116 in keyof T_191]-?: T_191[K_116] extends infer T_193 ? T_193 extends T_191[K_116] ? T_193 extends CanBeExpanded ? any : T_193 extends (infer U)[] ? any[] : T_193 extends object ? { [K_117 in keyof T_193]-?: T_193[K_117] extends infer T_194 ? T_194 extends T_193[K_117] ? T_194 extends CanBeExpanded ? T_194["default"] : T_194 : never : never; } : T_193 : never : never; } : T_191 : never : never : T_190 extends (infer U)[] ? any[] : T_190 extends object ? { [K_118 in keyof T_190]-?: T_190[K_118] extends infer T_195 ? T_195 extends T_190[K_118] ? T_195 extends CanBeExpanded ? T_195[PrefixWith, K_118, "."> extends infer T_196 ? T_196 extends PrefixWith, K_118, "."> ? T_196 extends SplitAC ? "value" : "default" : never : never] extends infer T_197 ? T_197 extends T_195[PrefixWith, K_118, "."> extends infer T_196 ? T_196 extends PrefixWith, K_118, "."> ? T_196 extends SplitAC ? "value" : "default" : never : never] ? T_197 extends CanBeExpanded ? any : T_197 extends (infer U)[] ? any[] : T_197 extends object ? { [K_119 in keyof T_197]-?: T_197[K_119] extends infer T_198 ? T_198 extends T_197[K_119] ? T_198 extends CanBeExpanded ? T_198["default"] : T_198 : never : never; } : T_197 : never : never : T_195 extends (infer U)[] ? any[] : T_195 extends object ? { [K_120 in keyof T_195]-?: T_195[K_120] extends infer T_199 ? T_199 extends T_195[K_120] ? T_199 extends CanBeExpanded ? T_199["default"] : T_199 : never : never; } : T_195 : never : never; } : T_190 : never : never : T_188 extends (infer U)[] ? any[] : T_188 extends object ? { [K_121 in keyof T_188]-?: T_188[K_121] extends infer T_200 ? T_200 extends T_188[K_121] ? T_200 extends CanBeExpanded ? T_200[PrefixWith, K_121, "."> extends infer T_201 ? T_201 extends PrefixWith, K_121, "."> ? T_201 extends SplitAC ? "value" : "default" : never : never] extends infer T_202 ? T_202 extends T_200[PrefixWith, K_121, "."> extends infer T_201 ? T_201 extends PrefixWith, K_121, "."> ? T_201 extends SplitAC ? "value" : "default" : never : never] ? T_202 extends CanBeExpanded ? T_202[PrefixWith, K_121, "."> extends infer T_201 ? T_201 extends PrefixWith, K_121, "."> ? T_201 extends SplitAC ? "value" : "default" : never : never] extends infer T_203 ? T_203 extends T_202[PrefixWith, K_121, "."> extends infer T_201 ? T_201 extends PrefixWith, K_121, "."> ? T_201 extends SplitAC ? "value" : "default" : never : never] ? T_203 extends CanBeExpanded ? any : T_203 extends (infer U)[] ? any[] : T_203 extends object ? { [K_122 in keyof T_203]-?: T_203[K_122] extends infer T_204 ? T_204 extends T_203[K_122] ? T_204 extends CanBeExpanded ? T_204["default"] : T_204 : never : never; } : T_203 : never : never : T_202 extends (infer U)[] ? any[] : T_202 extends object ? { [K_123 in keyof T_202]-?: T_202[K_123] extends infer T_205 ? T_205 extends T_202[K_123] ? T_205 extends CanBeExpanded ? T_205["default"] : T_205 : never : never; } : T_202 : never : never : T_200 extends (infer U)[] ? any[] : T_200 extends object ? { [K_124 in keyof T_200]-?: T_200[K_124] extends infer T_206 ? T_206 extends T_200[K_124] ? T_206 extends CanBeExpanded ? T_206["default"] : T_206 : never : never; } : T_200 : never : never; } : T_188 : never : never; } : T_166 : never : never : T_165 extends (infer U)[] ? any[] : T_165 extends object ? { [K_125 in keyof T_165]-?: T_165[K_125] extends infer T_207 ? T_207 extends T_165[K_125] ? T_207 extends CanBeExpanded ? T_207[PrefixWith extends infer T_208 ? T_208 extends PrefixWith ? T_208 extends SplitAC ? "value" : "default" : never : never] extends infer T_209 ? T_209 extends T_207[PrefixWith extends infer T_208 ? T_208 extends PrefixWith ? T_208 extends SplitAC ? "value" : "default" : never : never] ? T_209 extends CanBeExpanded ? T_209[PrefixWith extends infer T_208 ? T_208 extends PrefixWith ? T_208 extends SplitAC ? "value" : "default" : never : never] extends infer T_210 ? T_210 extends T_209[PrefixWith extends infer T_208 ? T_208 extends PrefixWith ? T_208 extends SplitAC ? "value" : "default" : never : never] ? T_210 extends CanBeExpanded ? T_210[PrefixWith extends infer T_208 ? T_208 extends PrefixWith ? T_208 extends SplitAC ? "value" : "default" : never : never] extends infer T_211 ? T_211 extends T_210[PrefixWith extends infer T_208 ? T_208 extends PrefixWith ? T_208 extends SplitAC ? "value" : "default" : never : never] ? T_211 extends CanBeExpanded ? T_211[PrefixWith extends infer T_208 ? T_208 extends PrefixWith ? T_208 extends SplitAC ? "value" : "default" : never : never] extends infer T_212 ? T_212 extends T_211[PrefixWith extends infer T_208 ? T_208 extends PrefixWith ? T_208 extends SplitAC ? "value" : "default" : never : never] ? T_212 extends CanBeExpanded ? any : T_212 extends (infer U)[] ? any[] : T_212 extends object ? { [K_126 in keyof T_212]-?: any; } : T_212 : never : never : T_211 extends (infer U)[] ? any[] : T_211 extends object ? { [K_127 in keyof T_211]-?: T_211[K_127] extends infer T_213 ? T_213 extends T_211[K_127] ? T_213 extends CanBeExpanded ? any : T_213 extends (infer U)[] ? any[] : T_213 extends object ? { [K_128 in keyof T_213]-?: T_213[K_128] extends infer T_214 ? T_214 extends T_213[K_128] ? T_214 extends CanBeExpanded ? T_214["default"] : T_214 : never : never; } : T_213 : never : never; } : T_211 : never : never : T_210 extends (infer U)[] ? any[] : T_210 extends object ? { [K_129 in keyof T_210]-?: T_210[K_129] extends infer T_215 ? T_215 extends T_210[K_129] ? T_215 extends CanBeExpanded ? T_215[PrefixWith, K_129, "."> extends infer T_216 ? T_216 extends PrefixWith, K_129, "."> ? T_216 extends SplitAC ? "value" : "default" : never : never] extends infer T_217 ? T_217 extends T_215[PrefixWith, K_129, "."> extends infer T_216 ? T_216 extends PrefixWith, K_129, "."> ? T_216 extends SplitAC ? "value" : "default" : never : never] ? T_217 extends CanBeExpanded ? any : T_217 extends (infer U)[] ? any[] : T_217 extends object ? { [K_130 in keyof T_217]-?: T_217[K_130] extends infer T_218 ? T_218 extends T_217[K_130] ? T_218 extends CanBeExpanded ? T_218["default"] : T_218 : never : never; } : T_217 : never : never : T_215 extends (infer U)[] ? any[] : T_215 extends object ? { [K_131 in keyof T_215]-?: T_215[K_131] extends infer T_219 ? T_219 extends T_215[K_131] ? T_219 extends CanBeExpanded ? T_219["default"] : T_219 : never : never; } : T_215 : never : never; } : T_210 : never : never : T_209 extends (infer U)[] ? any[] : T_209 extends object ? { [K_132 in keyof T_209]-?: T_209[K_132] extends infer T_220 ? T_220 extends T_209[K_132] ? T_220 extends CanBeExpanded ? T_220[PrefixWith, K_132, "."> extends infer T_221 ? T_221 extends PrefixWith, K_132, "."> ? T_221 extends SplitAC ? "value" : "default" : never : never] extends infer T_222 ? T_222 extends T_220[PrefixWith, K_132, "."> extends infer T_221 ? T_221 extends PrefixWith, K_132, "."> ? T_221 extends SplitAC ? "value" : "default" : never : never] ? T_222 extends CanBeExpanded ? T_222[PrefixWith, K_132, "."> extends infer T_221 ? T_221 extends PrefixWith, K_132, "."> ? T_221 extends SplitAC ? "value" : "default" : never : never] extends infer T_223 ? T_223 extends T_222[PrefixWith, K_132, "."> extends infer T_221 ? T_221 extends PrefixWith, K_132, "."> ? T_221 extends SplitAC ? "value" : "default" : never : never] ? T_223 extends CanBeExpanded ? any : T_223 extends (infer U)[] ? any[] : T_223 extends object ? { [K_133 in keyof T_223]-?: T_223[K_133] extends infer T_224 ? T_224 extends T_223[K_133] ? T_224 extends CanBeExpanded ? T_224["default"] : T_224 : never : never; } : T_223 : never : never : T_222 extends (infer U)[] ? any[] : T_222 extends object ? { [K_134 in keyof T_222]-?: T_222[K_134] extends infer T_225 ? T_225 extends T_222[K_134] ? T_225 extends CanBeExpanded ? T_225["default"] : T_225 : never : never; } : T_222 : never : never : T_220 extends (infer U)[] ? any[] : T_220 extends object ? { [K_135 in keyof T_220]-?: T_220[K_135] extends infer T_226 ? T_226 extends T_220[K_135] ? T_226 extends CanBeExpanded ? T_226["default"] : T_226 : never : never; } : T_220 : never : never; } : T_209 : never : never : T_207 extends (infer U)[] ? any[] : T_207 extends object ? { [K_136 in keyof T_207]-?: T_207[K_136] extends infer T_227 ? T_227 extends T_207[K_136] ? T_227 extends CanBeExpanded ? T_227[PrefixWith, K_136, "."> extends infer T_228 ? T_228 extends PrefixWith, K_136, "."> ? T_228 extends SplitAC ? "value" : "default" : never : never] extends infer T_229 ? T_229 extends T_227[PrefixWith, K_136, "."> extends infer T_228 ? T_228 extends PrefixWith, K_136, "."> ? T_228 extends SplitAC ? "value" : "default" : never : never] ? T_229 extends CanBeExpanded ? T_229[PrefixWith, K_136, "."> extends infer T_228 ? T_228 extends PrefixWith, K_136, "."> ? T_228 extends SplitAC ? "value" : "default" : never : never] extends infer T_230 ? T_230 extends T_229[PrefixWith, K_136, "."> extends infer T_228 ? T_228 extends PrefixWith, K_136, "."> ? T_228 extends SplitAC ? "value" : "default" : never : never] ? T_230 extends CanBeExpanded ? T_230[PrefixWith, K_136, "."> extends infer T_228 ? T_228 extends PrefixWith, K_136, "."> ? T_228 extends SplitAC ? "value" : "default" : never : never] extends infer T_231 ? T_231 extends T_230[PrefixWith, K_136, "."> extends infer T_228 ? T_228 extends PrefixWith, K_136, "."> ? T_228 extends SplitAC ? "value" : "default" : never : never] ? T_231 extends CanBeExpanded ? any : T_231 extends (infer U)[] ? any[] : T_231 extends object ? { [K_137 in keyof T_231]-?: T_231[K_137] extends infer T_232 ? T_232 extends T_231[K_137] ? T_232 extends CanBeExpanded ? T_232["default"] : T_232 : never : never; } : T_231 : never : never : T_230 extends (infer U)[] ? any[] : T_230 extends object ? { [K_138 in keyof T_230]-?: T_230[K_138] extends infer T_233 ? T_233 extends T_230[K_138] ? T_233 extends CanBeExpanded ? T_233["default"] : T_233 : never : never; } : T_230 : never : never : T_229 extends (infer U)[] ? any[] : T_229 extends object ? { [K_139 in keyof T_229]-?: T_229[K_139] extends infer T_234 ? T_234 extends T_229[K_139] ? T_234 extends CanBeExpanded ? T_234["default"] : T_234 : never : never; } : T_229 : never : never : T_227 extends (infer U)[] ? any[] : T_227 extends object ? { [K_140 in keyof T_227]-?: T_227[K_140] extends infer T_235 ? T_235 extends T_227[K_140] ? T_235 extends CanBeExpanded ? T_235["default"] : T_235 : never : never; } : T_227 : never : never; } : T_207 : never : never; } : T_165 : never : never : T_163 extends (infer U)[] ? any[] : T_163 extends object ? { [K_141 in keyof T_163]-?: T_163[K_141] extends infer T_236 ? T_236 extends T_163[K_141] ? T_236 extends CanBeExpanded ? T_236[PrefixWith extends infer T_237 ? T_237 extends PrefixWith ? T_237 extends SplitAC ? "value" : "default" : never : never] extends infer T_238 ? T_238 extends T_236[PrefixWith extends infer T_237 ? T_237 extends PrefixWith ? T_237 extends SplitAC ? "value" : "default" : never : never] ? T_238 extends CanBeExpanded ? T_238[PrefixWith extends infer T_237 ? T_237 extends PrefixWith ? T_237 extends SplitAC ? "value" : "default" : never : never] extends infer T_239 ? T_239 extends T_238[PrefixWith extends infer T_237 ? T_237 extends PrefixWith ? T_237 extends SplitAC ? "value" : "default" : never : never] ? T_239 extends CanBeExpanded ? T_239[PrefixWith extends infer T_237 ? T_237 extends PrefixWith ? T_237 extends SplitAC ? "value" : "default" : never : never] extends infer T_240 ? T_240 extends T_239[PrefixWith extends infer T_237 ? T_237 extends PrefixWith ? T_237 extends SplitAC ? "value" : "default" : never : never] ? T_240 extends CanBeExpanded ? T_240[PrefixWith extends infer T_237 ? T_237 extends PrefixWith ? T_237 extends SplitAC ? "value" : "default" : never : never] extends infer T_241 ? T_241 extends T_240[PrefixWith extends infer T_237 ? T_237 extends PrefixWith ? T_237 extends SplitAC ? "value" : "default" : never : never] ? T_241 extends CanBeExpanded ? T_241[PrefixWith extends infer T_237 ? T_237 extends PrefixWith ? T_237 extends SplitAC ? "value" : "default" : never : never] extends infer T_242 ? T_242 extends T_241[PrefixWith extends infer T_237 ? T_237 extends PrefixWith ? T_237 extends SplitAC ? "value" : "default" : never : never] ? T_242 extends CanBeExpanded ? any : T_242 extends (infer U)[] ? any[] : T_242 extends object ? { [K_142 in keyof T_242]-?: any; } : T_242 : never : never : T_241 extends (infer U)[] ? any[] : T_241 extends object ? { [K_143 in keyof T_241]-?: T_241[K_143] extends infer T_243 ? T_243 extends T_241[K_143] ? T_243 extends CanBeExpanded ? any : T_243 extends (infer U)[] ? any[] : T_243 extends object ? { [K_144 in keyof T_243]-?: T_243[K_144] extends infer T_244 ? T_244 extends T_243[K_144] ? T_244 extends CanBeExpanded ? T_244["default"] : T_244 : never : never; } : T_243 : never : never; } : T_241 : never : never : T_240 extends (infer U)[] ? any[] : T_240 extends object ? { [K_145 in keyof T_240]-?: T_240[K_145] extends infer T_245 ? T_245 extends T_240[K_145] ? T_245 extends CanBeExpanded ? T_245[PrefixWith, K_145, "."> extends infer T_246 ? T_246 extends PrefixWith, K_145, "."> ? T_246 extends SplitAC ? "value" : "default" : never : never] extends infer T_247 ? T_247 extends T_245[PrefixWith, K_145, "."> extends infer T_246 ? T_246 extends PrefixWith, K_145, "."> ? T_246 extends SplitAC ? "value" : "default" : never : never] ? T_247 extends CanBeExpanded ? any : T_247 extends (infer U)[] ? any[] : T_247 extends object ? { [K_146 in keyof T_247]-?: T_247[K_146] extends infer T_248 ? T_248 extends T_247[K_146] ? T_248 extends CanBeExpanded ? T_248["default"] : T_248 : never : never; } : T_247 : never : never : T_245 extends (infer U)[] ? any[] : T_245 extends object ? { [K_147 in keyof T_245]-?: T_245[K_147] extends infer T_249 ? T_249 extends T_245[K_147] ? T_249 extends CanBeExpanded ? T_249["default"] : T_249 : never : never; } : T_245 : never : never; } : T_240 : never : never : T_239 extends (infer U)[] ? any[] : T_239 extends object ? { [K_148 in keyof T_239]-?: T_239[K_148] extends infer T_250 ? T_250 extends T_239[K_148] ? T_250 extends CanBeExpanded ? T_250[PrefixWith, K_148, "."> extends infer T_251 ? T_251 extends PrefixWith, K_148, "."> ? T_251 extends SplitAC ? "value" : "default" : never : never] extends infer T_252 ? T_252 extends T_250[PrefixWith, K_148, "."> extends infer T_251 ? T_251 extends PrefixWith, K_148, "."> ? T_251 extends SplitAC ? "value" : "default" : never : never] ? T_252 extends CanBeExpanded ? T_252[PrefixWith, K_148, "."> extends infer T_251 ? T_251 extends PrefixWith, K_148, "."> ? T_251 extends SplitAC ? "value" : "default" : never : never] extends infer T_253 ? T_253 extends T_252[PrefixWith, K_148, "."> extends infer T_251 ? T_251 extends PrefixWith, K_148, "."> ? T_251 extends SplitAC ? "value" : "default" : never : never] ? T_253 extends CanBeExpanded ? any : T_253 extends (infer U)[] ? any[] : T_253 extends object ? { [K_149 in keyof T_253]-?: T_253[K_149] extends infer T_254 ? T_254 extends T_253[K_149] ? T_254 extends CanBeExpanded ? T_254["default"] : T_254 : never : never; } : T_253 : never : never : T_252 extends (infer U)[] ? any[] : T_252 extends object ? { [K_150 in keyof T_252]-?: T_252[K_150] extends infer T_255 ? T_255 extends T_252[K_150] ? T_255 extends CanBeExpanded ? T_255["default"] : T_255 : never : never; } : T_252 : never : never : T_250 extends (infer U)[] ? any[] : T_250 extends object ? { [K_151 in keyof T_250]-?: T_250[K_151] extends infer T_256 ? T_256 extends T_250[K_151] ? T_256 extends CanBeExpanded ? T_256["default"] : T_256 : never : never; } : T_250 : never : never; } : T_239 : never : never : T_238 extends (infer U)[] ? any[] : T_238 extends object ? { [K_152 in keyof T_238]-?: T_238[K_152] extends infer T_257 ? T_257 extends T_238[K_152] ? T_257 extends CanBeExpanded ? T_257[PrefixWith, K_152, "."> extends infer T_258 ? T_258 extends PrefixWith, K_152, "."> ? T_258 extends SplitAC ? "value" : "default" : never : never] extends infer T_259 ? T_259 extends T_257[PrefixWith, K_152, "."> extends infer T_258 ? T_258 extends PrefixWith, K_152, "."> ? T_258 extends SplitAC ? "value" : "default" : never : never] ? T_259 extends CanBeExpanded ? T_259[PrefixWith, K_152, "."> extends infer T_258 ? T_258 extends PrefixWith, K_152, "."> ? T_258 extends SplitAC ? "value" : "default" : never : never] extends infer T_260 ? T_260 extends T_259[PrefixWith, K_152, "."> extends infer T_258 ? T_258 extends PrefixWith, K_152, "."> ? T_258 extends SplitAC ? "value" : "default" : never : never] ? T_260 extends CanBeExpanded ? T_260[PrefixWith, K_152, "."> extends infer T_258 ? T_258 extends PrefixWith, K_152, "."> ? T_258 extends SplitAC ? "value" : "default" : never : never] extends infer T_261 ? T_261 extends T_260[PrefixWith, K_152, "."> extends infer T_258 ? T_258 extends PrefixWith, K_152, "."> ? T_258 extends SplitAC ? "value" : "default" : never : never] ? T_261 extends CanBeExpanded ? any : T_261 extends (infer U)[] ? any[] : T_261 extends object ? { [K_153 in keyof T_261]-?: T_261[K_153] extends infer T_262 ? T_262 extends T_261[K_153] ? T_262 extends CanBeExpanded ? T_262["default"] : T_262 : never : never; } : T_261 : never : never : T_260 extends (infer U)[] ? any[] : T_260 extends object ? { [K_154 in keyof T_260]-?: T_260[K_154] extends infer T_263 ? T_263 extends T_260[K_154] ? T_263 extends CanBeExpanded ? T_263["default"] : T_263 : never : never; } : T_260 : never : never : T_259 extends (infer U)[] ? any[] : T_259 extends object ? { [K_155 in keyof T_259]-?: T_259[K_155] extends infer T_264 ? T_264 extends T_259[K_155] ? T_264 extends CanBeExpanded ? T_264["default"] : T_264 : never : never; } : T_259 : never : never : T_257 extends (infer U)[] ? any[] : T_257 extends object ? { [K_156 in keyof T_257]-?: T_257[K_156] extends infer T_265 ? T_265 extends T_257[K_156] ? T_265 extends CanBeExpanded ? T_265["default"] : T_265 : never : never; } : T_257 : never : never; } : T_238 : never : never : T_236 extends (infer U)[] ? any[] : T_236 extends object ? { [K_157 in keyof T_236]-?: T_236[K_157] extends infer T_266 ? T_266 extends T_236[K_157] ? T_266 extends CanBeExpanded ? T_266[PrefixWith, K_157, "."> extends infer T_267 ? T_267 extends PrefixWith, K_157, "."> ? T_267 extends SplitAC ? "value" : "default" : never : never] extends infer T_268 ? T_268 extends T_266[PrefixWith, K_157, "."> extends infer T_267 ? T_267 extends PrefixWith, K_157, "."> ? T_267 extends SplitAC ? "value" : "default" : never : never] ? T_268 extends CanBeExpanded ? T_268[PrefixWith, K_157, "."> extends infer T_267 ? T_267 extends PrefixWith, K_157, "."> ? T_267 extends SplitAC ? "value" : "default" : never : never] extends infer T_269 ? T_269 extends T_268[PrefixWith, K_157, "."> extends infer T_267 ? T_267 extends PrefixWith, K_157, "."> ? T_267 extends SplitAC ? "value" : "default" : never : never] ? T_269 extends CanBeExpanded ? T_269[PrefixWith, K_157, "."> extends infer T_267 ? T_267 extends PrefixWith, K_157, "."> ? T_267 extends SplitAC ? "value" : "default" : never : never] extends infer T_270 ? T_270 extends T_269[PrefixWith, K_157, "."> extends infer T_267 ? T_267 extends PrefixWith, K_157, "."> ? T_267 extends SplitAC ? "value" : "default" : never : never] ? T_270 extends CanBeExpanded ? T_270[PrefixWith, K_157, "."> extends infer T_267 ? T_267 extends PrefixWith, K_157, "."> ? T_267 extends SplitAC ? "value" : "default" : never : never] extends infer T_271 ? T_271 extends T_270[PrefixWith, K_157, "."> extends infer T_267 ? T_267 extends PrefixWith, K_157, "."> ? T_267 extends SplitAC ? "value" : "default" : never : never] ? T_271 extends CanBeExpanded ? any : T_271 extends (infer U)[] ? any[] : T_271 extends object ? { [K_158 in keyof T_271]-?: T_271[K_158] extends infer T_272 ? T_272 extends T_271[K_158] ? T_272 extends CanBeExpanded ? T_272["default"] : T_272 : never : never; } : T_271 : never : never : T_270 extends (infer U)[] ? any[] : T_270 extends object ? { [K_159 in keyof T_270]-?: T_270[K_159] extends infer T_273 ? T_273 extends T_270[K_159] ? T_273 extends CanBeExpanded ? T_273["default"] : T_273 : never : never; } : T_270 : never : never : T_269 extends (infer U)[] ? any[] : T_269 extends object ? { [K_160 in keyof T_269]-?: T_269[K_160] extends infer T_274 ? T_274 extends T_269[K_160] ? T_274 extends CanBeExpanded ? T_274["default"] : T_274 : never : never; } : T_269 : never : never : T_268 extends (infer U)[] ? any[] : T_268 extends object ? { [K_161 in keyof T_268]-?: T_268[K_161] extends infer T_275 ? T_275 extends T_268[K_161] ? T_275 extends CanBeExpanded ? T_275["default"] : T_275 : never : never; } : T_268 : never : never : T_266 extends (infer U)[] ? any[] : T_266 extends object ? { [K_162 in keyof T_266]-?: T_266[K_162] extends infer T_276 ? T_276 extends T_266[K_162] ? T_276 extends CanBeExpanded ? T_276["default"] : T_276 : never : never; } : T_266 : never : never; } : T_236 : never : never; } : T_163 : never : never; } : T_4 : never : never : T_3 extends (infer U)[] ? any[] : T_3 extends object ? { [K_163 in keyof T_3]-?: T_3[K_163] extends infer T_277 ? T_277 extends T_3[K_163] ? T_277 extends CanBeExpanded ? T_277[string & K_163 extends infer T_278 ? T_278 extends string & K_163 ? T_278 extends SplitAC ? "value" : "default" : never : never] extends infer T_279 ? T_279 extends T_277[string & K_163 extends infer T_278 ? T_278 extends string & K_163 ? T_278 extends SplitAC ? "value" : "default" : never : never] ? T_279 extends CanBeExpanded ? T_279[string & K_163 extends infer T_278 ? T_278 extends string & K_163 ? T_278 extends SplitAC ? "value" : "default" : never : never] extends infer T_280 ? T_280 extends T_279[string & K_163 extends infer T_278 ? T_278 extends string & K_163 ? T_278 extends SplitAC ? "value" : "default" : never : never] ? T_280 extends CanBeExpanded ? T_280[string & K_163 extends infer T_278 ? T_278 extends string & K_163 ? T_278 extends SplitAC ? "value" : "default" : never : never] extends infer T_281 ? T_281 extends T_280[string & K_163 extends infer T_278 ? T_278 extends string & K_163 ? T_278 extends SplitAC ? "value" : "default" : never : never] ? T_281 extends CanBeExpanded ? T_281[string & K_163 extends infer T_278 ? T_278 extends string & K_163 ? T_278 extends SplitAC ? "value" : "default" : never : never] extends infer T_282 ? T_282 extends T_281[string & K_163 extends infer T_278 ? T_278 extends string & K_163 ? T_278 extends SplitAC ? "value" : "default" : never : never] ? T_282 extends CanBeExpanded ? T_282[string & K_163 extends infer T_278 ? T_278 extends string & K_163 ? T_278 extends SplitAC ? "value" : "default" : never : never] extends infer T_283 ? T_283 extends T_282[string & K_163 extends infer T_278 ? T_278 extends string & K_163 ? T_278 extends SplitAC ? "value" : "default" : never : never] ? T_283 extends CanBeExpanded ? T_283[string & K_163 extends infer T_278 ? T_278 extends string & K_163 ? T_278 extends SplitAC ? "value" : "default" : never : never] extends infer T_284 ? T_284 extends T_283[string & K_163 extends infer T_278 ? T_278 extends string & K_163 ? T_278 extends SplitAC ? "value" : "default" : never : never] ? T_284 extends CanBeExpanded ? T_284[string & K_163 extends infer T_278 ? T_278 extends string & K_163 ? T_278 extends SplitAC ? "value" : "default" : never : never] extends infer T_285 ? T_285 extends T_284[string & K_163 extends infer T_278 ? T_278 extends string & K_163 ? T_278 extends SplitAC ? "value" : "default" : never : never] ? T_285 extends CanBeExpanded ? any : T_285 extends (infer U)[] ? any[] : T_285 extends object ? { [K_164 in keyof T_285]-?: any; } : T_285 : never : never : T_284 extends (infer U)[] ? any[] : T_284 extends object ? { [K_165 in keyof T_284]-?: T_284[K_165] extends infer T_286 ? T_286 extends T_284[K_165] ? T_286 extends CanBeExpanded ? any : T_286 extends (infer U)[] ? any[] : T_286 extends object ? { [K_166 in keyof T_286]-?: any; } : T_286 : never : never; } : T_284 : never : never : T_283 extends (infer U)[] ? any[] : T_283 extends object ? { [K_167 in keyof T_283]-?: T_283[K_167] extends infer T_287 ? T_287 extends T_283[K_167] ? T_287 extends CanBeExpanded ? T_287[PrefixWith extends infer T_288 ? T_288 extends PrefixWith ? T_288 extends SplitAC ? "value" : "default" : never : never] extends infer T_289 ? T_289 extends T_287[PrefixWith extends infer T_288 ? T_288 extends PrefixWith ? T_288 extends SplitAC ? "value" : "default" : never : never] ? T_289 extends CanBeExpanded ? any : T_289 extends (infer U)[] ? any[] : T_289 extends object ? { [K_168 in keyof T_289]-?: any; } : T_289 : never : never : T_287 extends (infer U)[] ? any[] : T_287 extends object ? { [K_169 in keyof T_287]-?: T_287[K_169] extends infer T_290 ? T_290 extends T_287[K_169] ? T_290 extends CanBeExpanded ? any : T_290 extends (infer U)[] ? any[] : T_290 extends object ? { [K_170 in keyof T_290]-?: T_290[K_170] extends infer T_291 ? T_291 extends T_290[K_170] ? T_291 extends CanBeExpanded ? T_291["default"] : T_291 : never : never; } : T_290 : never : never; } : T_287 : never : never; } : T_283 : never : never : T_282 extends (infer U)[] ? any[] : T_282 extends object ? { [K_171 in keyof T_282]-?: T_282[K_171] extends infer T_292 ? T_292 extends T_282[K_171] ? T_292 extends CanBeExpanded ? T_292[PrefixWith extends infer T_293 ? T_293 extends PrefixWith ? T_293 extends SplitAC ? "value" : "default" : never : never] extends infer T_294 ? T_294 extends T_292[PrefixWith extends infer T_293 ? T_293 extends PrefixWith ? T_293 extends SplitAC ? "value" : "default" : never : never] ? T_294 extends CanBeExpanded ? T_294[PrefixWith extends infer T_293 ? T_293 extends PrefixWith ? T_293 extends SplitAC ? "value" : "default" : never : never] extends infer T_295 ? T_295 extends T_294[PrefixWith extends infer T_293 ? T_293 extends PrefixWith ? T_293 extends SplitAC ? "value" : "default" : never : never] ? T_295 extends CanBeExpanded ? any : T_295 extends (infer U)[] ? any[] : T_295 extends object ? { [K_172 in keyof T_295]-?: any; } : T_295 : never : never : T_294 extends (infer U)[] ? any[] : T_294 extends object ? { [K_173 in keyof T_294]-?: T_294[K_173] extends infer T_296 ? T_296 extends T_294[K_173] ? T_296 extends CanBeExpanded ? any : T_296 extends (infer U)[] ? any[] : T_296 extends object ? { [K_174 in keyof T_296]-?: T_296[K_174] extends infer T_297 ? T_297 extends T_296[K_174] ? T_297 extends CanBeExpanded ? T_297["default"] : T_297 : never : never; } : T_296 : never : never; } : T_294 : never : never : T_292 extends (infer U)[] ? any[] : T_292 extends object ? { [K_175 in keyof T_292]-?: T_292[K_175] extends infer T_298 ? T_298 extends T_292[K_175] ? T_298 extends CanBeExpanded ? T_298[PrefixWith, K_175, "."> extends infer T_299 ? T_299 extends PrefixWith, K_175, "."> ? T_299 extends SplitAC ? "value" : "default" : never : never] extends infer T_300 ? T_300 extends T_298[PrefixWith, K_175, "."> extends infer T_299 ? T_299 extends PrefixWith, K_175, "."> ? T_299 extends SplitAC ? "value" : "default" : never : never] ? T_300 extends CanBeExpanded ? any : T_300 extends (infer U)[] ? any[] : T_300 extends object ? { [K_176 in keyof T_300]-?: T_300[K_176] extends infer T_301 ? T_301 extends T_300[K_176] ? T_301 extends CanBeExpanded ? T_301["default"] : T_301 : never : never; } : T_300 : never : never : T_298 extends (infer U)[] ? any[] : T_298 extends object ? { [K_177 in keyof T_298]-?: T_298[K_177] extends infer T_302 ? T_302 extends T_298[K_177] ? T_302 extends CanBeExpanded ? T_302["default"] : T_302 : never : never; } : T_298 : never : never; } : T_292 : never : never; } : T_282 : never : never : T_281 extends (infer U)[] ? any[] : T_281 extends object ? { [K_178 in keyof T_281]-?: T_281[K_178] extends infer T_303 ? T_303 extends T_281[K_178] ? T_303 extends CanBeExpanded ? T_303[PrefixWith extends infer T_304 ? T_304 extends PrefixWith ? T_304 extends SplitAC ? "value" : "default" : never : never] extends infer T_305 ? T_305 extends T_303[PrefixWith extends infer T_304 ? T_304 extends PrefixWith ? T_304 extends SplitAC ? "value" : "default" : never : never] ? T_305 extends CanBeExpanded ? T_305[PrefixWith extends infer T_304 ? T_304 extends PrefixWith ? T_304 extends SplitAC ? "value" : "default" : never : never] extends infer T_306 ? T_306 extends T_305[PrefixWith extends infer T_304 ? T_304 extends PrefixWith ? T_304 extends SplitAC ? "value" : "default" : never : never] ? T_306 extends CanBeExpanded ? T_306[PrefixWith extends infer T_304 ? T_304 extends PrefixWith ? T_304 extends SplitAC ? "value" : "default" : never : never] extends infer T_307 ? T_307 extends T_306[PrefixWith extends infer T_304 ? T_304 extends PrefixWith ? T_304 extends SplitAC ? "value" : "default" : never : never] ? T_307 extends CanBeExpanded ? any : T_307 extends (infer U)[] ? any[] : T_307 extends object ? { [K_179 in keyof T_307]-?: any; } : T_307 : never : never : T_306 extends (infer U)[] ? any[] : T_306 extends object ? { [K_180 in keyof T_306]-?: T_306[K_180] extends infer T_308 ? T_308 extends T_306[K_180] ? T_308 extends CanBeExpanded ? any : T_308 extends (infer U)[] ? any[] : T_308 extends object ? { [K_181 in keyof T_308]-?: T_308[K_181] extends infer T_309 ? T_309 extends T_308[K_181] ? T_309 extends CanBeExpanded ? T_309["default"] : T_309 : never : never; } : T_308 : never : never; } : T_306 : never : never : T_305 extends (infer U)[] ? any[] : T_305 extends object ? { [K_182 in keyof T_305]-?: T_305[K_182] extends infer T_310 ? T_310 extends T_305[K_182] ? T_310 extends CanBeExpanded ? T_310[PrefixWith, K_182, "."> extends infer T_311 ? T_311 extends PrefixWith, K_182, "."> ? T_311 extends SplitAC ? "value" : "default" : never : never] extends infer T_312 ? T_312 extends T_310[PrefixWith, K_182, "."> extends infer T_311 ? T_311 extends PrefixWith, K_182, "."> ? T_311 extends SplitAC ? "value" : "default" : never : never] ? T_312 extends CanBeExpanded ? any : T_312 extends (infer U)[] ? any[] : T_312 extends object ? { [K_183 in keyof T_312]-?: T_312[K_183] extends infer T_313 ? T_313 extends T_312[K_183] ? T_313 extends CanBeExpanded ? T_313["default"] : T_313 : never : never; } : T_312 : never : never : T_310 extends (infer U)[] ? any[] : T_310 extends object ? { [K_184 in keyof T_310]-?: T_310[K_184] extends infer T_314 ? T_314 extends T_310[K_184] ? T_314 extends CanBeExpanded ? T_314["default"] : T_314 : never : never; } : T_310 : never : never; } : T_305 : never : never : T_303 extends (infer U)[] ? any[] : T_303 extends object ? { [K_185 in keyof T_303]-?: T_303[K_185] extends infer T_315 ? T_315 extends T_303[K_185] ? T_315 extends CanBeExpanded ? T_315[PrefixWith, K_185, "."> extends infer T_316 ? T_316 extends PrefixWith, K_185, "."> ? T_316 extends SplitAC ? "value" : "default" : never : never] extends infer T_317 ? T_317 extends T_315[PrefixWith, K_185, "."> extends infer T_316 ? T_316 extends PrefixWith, K_185, "."> ? T_316 extends SplitAC ? "value" : "default" : never : never] ? T_317 extends CanBeExpanded ? T_317[PrefixWith, K_185, "."> extends infer T_316 ? T_316 extends PrefixWith, K_185, "."> ? T_316 extends SplitAC ? "value" : "default" : never : never] extends infer T_318 ? T_318 extends T_317[PrefixWith, K_185, "."> extends infer T_316 ? T_316 extends PrefixWith, K_185, "."> ? T_316 extends SplitAC ? "value" : "default" : never : never] ? T_318 extends CanBeExpanded ? any : T_318 extends (infer U)[] ? any[] : T_318 extends object ? { [K_186 in keyof T_318]-?: T_318[K_186] extends infer T_319 ? T_319 extends T_318[K_186] ? T_319 extends CanBeExpanded ? T_319["default"] : T_319 : never : never; } : T_318 : never : never : T_317 extends (infer U)[] ? any[] : T_317 extends object ? { [K_187 in keyof T_317]-?: T_317[K_187] extends infer T_320 ? T_320 extends T_317[K_187] ? T_320 extends CanBeExpanded ? T_320["default"] : T_320 : never : never; } : T_317 : never : never : T_315 extends (infer U)[] ? any[] : T_315 extends object ? { [K_188 in keyof T_315]-?: T_315[K_188] extends infer T_321 ? T_321 extends T_315[K_188] ? T_321 extends CanBeExpanded ? T_321["default"] : T_321 : never : never; } : T_315 : never : never; } : T_303 : never : never; } : T_281 : never : never : T_280 extends (infer U)[] ? any[] : T_280 extends object ? { [K_189 in keyof T_280]-?: T_280[K_189] extends infer T_322 ? T_322 extends T_280[K_189] ? T_322 extends CanBeExpanded ? T_322[PrefixWith extends infer T_323 ? T_323 extends PrefixWith ? T_323 extends SplitAC ? "value" : "default" : never : never] extends infer T_324 ? T_324 extends T_322[PrefixWith extends infer T_323 ? T_323 extends PrefixWith ? T_323 extends SplitAC ? "value" : "default" : never : never] ? T_324 extends CanBeExpanded ? T_324[PrefixWith extends infer T_323 ? T_323 extends PrefixWith ? T_323 extends SplitAC ? "value" : "default" : never : never] extends infer T_325 ? T_325 extends T_324[PrefixWith extends infer T_323 ? T_323 extends PrefixWith ? T_323 extends SplitAC ? "value" : "default" : never : never] ? T_325 extends CanBeExpanded ? T_325[PrefixWith extends infer T_323 ? T_323 extends PrefixWith ? T_323 extends SplitAC ? "value" : "default" : never : never] extends infer T_326 ? T_326 extends T_325[PrefixWith extends infer T_323 ? T_323 extends PrefixWith ? T_323 extends SplitAC ? "value" : "default" : never : never] ? T_326 extends CanBeExpanded ? T_326[PrefixWith extends infer T_323 ? T_323 extends PrefixWith ? T_323 extends SplitAC ? "value" : "default" : never : never] extends infer T_327 ? T_327 extends T_326[PrefixWith extends infer T_323 ? T_323 extends PrefixWith ? T_323 extends SplitAC ? "value" : "default" : never : never] ? T_327 extends CanBeExpanded ? any : T_327 extends (infer U)[] ? any[] : T_327 extends object ? { [K_190 in keyof T_327]-?: any; } : T_327 : never : never : T_326 extends (infer U)[] ? any[] : T_326 extends object ? { [K_191 in keyof T_326]-?: T_326[K_191] extends infer T_328 ? T_328 extends T_326[K_191] ? T_328 extends CanBeExpanded ? any : T_328 extends (infer U)[] ? any[] : T_328 extends object ? { [K_192 in keyof T_328]-?: T_328[K_192] extends infer T_329 ? T_329 extends T_328[K_192] ? T_329 extends CanBeExpanded ? T_329["default"] : T_329 : never : never; } : T_328 : never : never; } : T_326 : never : never : T_325 extends (infer U)[] ? any[] : T_325 extends object ? { [K_193 in keyof T_325]-?: T_325[K_193] extends infer T_330 ? T_330 extends T_325[K_193] ? T_330 extends CanBeExpanded ? T_330[PrefixWith, K_193, "."> extends infer T_331 ? T_331 extends PrefixWith, K_193, "."> ? T_331 extends SplitAC ? "value" : "default" : never : never] extends infer T_332 ? T_332 extends T_330[PrefixWith, K_193, "."> extends infer T_331 ? T_331 extends PrefixWith, K_193, "."> ? T_331 extends SplitAC ? "value" : "default" : never : never] ? T_332 extends CanBeExpanded ? any : T_332 extends (infer U)[] ? any[] : T_332 extends object ? { [K_194 in keyof T_332]-?: T_332[K_194] extends infer T_333 ? T_333 extends T_332[K_194] ? T_333 extends CanBeExpanded ? T_333["default"] : T_333 : never : never; } : T_332 : never : never : T_330 extends (infer U)[] ? any[] : T_330 extends object ? { [K_195 in keyof T_330]-?: T_330[K_195] extends infer T_334 ? T_334 extends T_330[K_195] ? T_334 extends CanBeExpanded ? T_334["default"] : T_334 : never : never; } : T_330 : never : never; } : T_325 : never : never : T_324 extends (infer U)[] ? any[] : T_324 extends object ? { [K_196 in keyof T_324]-?: T_324[K_196] extends infer T_335 ? T_335 extends T_324[K_196] ? T_335 extends CanBeExpanded ? T_335[PrefixWith, K_196, "."> extends infer T_336 ? T_336 extends PrefixWith, K_196, "."> ? T_336 extends SplitAC ? "value" : "default" : never : never] extends infer T_337 ? T_337 extends T_335[PrefixWith, K_196, "."> extends infer T_336 ? T_336 extends PrefixWith, K_196, "."> ? T_336 extends SplitAC ? "value" : "default" : never : never] ? T_337 extends CanBeExpanded ? T_337[PrefixWith, K_196, "."> extends infer T_336 ? T_336 extends PrefixWith, K_196, "."> ? T_336 extends SplitAC ? "value" : "default" : never : never] extends infer T_338 ? T_338 extends T_337[PrefixWith, K_196, "."> extends infer T_336 ? T_336 extends PrefixWith, K_196, "."> ? T_336 extends SplitAC ? "value" : "default" : never : never] ? T_338 extends CanBeExpanded ? any : T_338 extends (infer U)[] ? any[] : T_338 extends object ? { [K_197 in keyof T_338]-?: T_338[K_197] extends infer T_339 ? T_339 extends T_338[K_197] ? T_339 extends CanBeExpanded ? T_339["default"] : T_339 : never : never; } : T_338 : never : never : T_337 extends (infer U)[] ? any[] : T_337 extends object ? { [K_198 in keyof T_337]-?: T_337[K_198] extends infer T_340 ? T_340 extends T_337[K_198] ? T_340 extends CanBeExpanded ? T_340["default"] : T_340 : never : never; } : T_337 : never : never : T_335 extends (infer U)[] ? any[] : T_335 extends object ? { [K_199 in keyof T_335]-?: T_335[K_199] extends infer T_341 ? T_341 extends T_335[K_199] ? T_341 extends CanBeExpanded ? T_341["default"] : T_341 : never : never; } : T_335 : never : never; } : T_324 : never : never : T_322 extends (infer U)[] ? any[] : T_322 extends object ? { [K_200 in keyof T_322]-?: T_322[K_200] extends infer T_342 ? T_342 extends T_322[K_200] ? T_342 extends CanBeExpanded ? T_342[PrefixWith, K_200, "."> extends infer T_343 ? T_343 extends PrefixWith, K_200, "."> ? T_343 extends SplitAC ? "value" : "default" : never : never] extends infer T_344 ? T_344 extends T_342[PrefixWith, K_200, "."> extends infer T_343 ? T_343 extends PrefixWith, K_200, "."> ? T_343 extends SplitAC ? "value" : "default" : never : never] ? T_344 extends CanBeExpanded ? T_344[PrefixWith, K_200, "."> extends infer T_343 ? T_343 extends PrefixWith, K_200, "."> ? T_343 extends SplitAC ? "value" : "default" : never : never] extends infer T_345 ? T_345 extends T_344[PrefixWith, K_200, "."> extends infer T_343 ? T_343 extends PrefixWith, K_200, "."> ? T_343 extends SplitAC ? "value" : "default" : never : never] ? T_345 extends CanBeExpanded ? T_345[PrefixWith, K_200, "."> extends infer T_343 ? T_343 extends PrefixWith, K_200, "."> ? T_343 extends SplitAC ? "value" : "default" : never : never] extends infer T_346 ? T_346 extends T_345[PrefixWith, K_200, "."> extends infer T_343 ? T_343 extends PrefixWith, K_200, "."> ? T_343 extends SplitAC ? "value" : "default" : never : never] ? T_346 extends CanBeExpanded ? any : T_346 extends (infer U)[] ? any[] : T_346 extends object ? { [K_201 in keyof T_346]-?: T_346[K_201] extends infer T_347 ? T_347 extends T_346[K_201] ? T_347 extends CanBeExpanded ? T_347["default"] : T_347 : never : never; } : T_346 : never : never : T_345 extends (infer U)[] ? any[] : T_345 extends object ? { [K_202 in keyof T_345]-?: T_345[K_202] extends infer T_348 ? T_348 extends T_345[K_202] ? T_348 extends CanBeExpanded ? T_348["default"] : T_348 : never : never; } : T_345 : never : never : T_344 extends (infer U)[] ? any[] : T_344 extends object ? { [K_203 in keyof T_344]-?: T_344[K_203] extends infer T_349 ? T_349 extends T_344[K_203] ? T_349 extends CanBeExpanded ? T_349["default"] : T_349 : never : never; } : T_344 : never : never : T_342 extends (infer U)[] ? any[] : T_342 extends object ? { [K_204 in keyof T_342]-?: T_342[K_204] extends infer T_350 ? T_350 extends T_342[K_204] ? T_350 extends CanBeExpanded ? T_350["default"] : T_350 : never : never; } : T_342 : never : never; } : T_322 : never : never; } : T_280 : never : never : T_279 extends (infer U)[] ? any[] : T_279 extends object ? { [K_205 in keyof T_279]-?: T_279[K_205] extends infer T_351 ? T_351 extends T_279[K_205] ? T_351 extends CanBeExpanded ? T_351[PrefixWith extends infer T_352 ? T_352 extends PrefixWith ? T_352 extends SplitAC ? "value" : "default" : never : never] extends infer T_353 ? T_353 extends T_351[PrefixWith extends infer T_352 ? T_352 extends PrefixWith ? T_352 extends SplitAC ? "value" : "default" : never : never] ? T_353 extends CanBeExpanded ? T_353[PrefixWith extends infer T_352 ? T_352 extends PrefixWith ? T_352 extends SplitAC ? "value" : "default" : never : never] extends infer T_354 ? T_354 extends T_353[PrefixWith extends infer T_352 ? T_352 extends PrefixWith ? T_352 extends SplitAC ? "value" : "default" : never : never] ? T_354 extends CanBeExpanded ? T_354[PrefixWith extends infer T_352 ? T_352 extends PrefixWith ? T_352 extends SplitAC ? "value" : "default" : never : never] extends infer T_355 ? T_355 extends T_354[PrefixWith extends infer T_352 ? T_352 extends PrefixWith ? T_352 extends SplitAC ? "value" : "default" : never : never] ? T_355 extends CanBeExpanded ? T_355[PrefixWith extends infer T_352 ? T_352 extends PrefixWith ? T_352 extends SplitAC ? "value" : "default" : never : never] extends infer T_356 ? T_356 extends T_355[PrefixWith extends infer T_352 ? T_352 extends PrefixWith ? T_352 extends SplitAC ? "value" : "default" : never : never] ? T_356 extends CanBeExpanded ? T_356[PrefixWith extends infer T_352 ? T_352 extends PrefixWith ? T_352 extends SplitAC ? "value" : "default" : never : never] extends infer T_357 ? T_357 extends T_356[PrefixWith extends infer T_352 ? T_352 extends PrefixWith ? T_352 extends SplitAC ? "value" : "default" : never : never] ? T_357 extends CanBeExpanded ? any : T_357 extends (infer U)[] ? any[] : T_357 extends object ? { [K_206 in keyof T_357]-?: any; } : T_357 : never : never : T_356 extends (infer U)[] ? any[] : T_356 extends object ? { [K_207 in keyof T_356]-?: T_356[K_207] extends infer T_358 ? T_358 extends T_356[K_207] ? T_358 extends CanBeExpanded ? any : T_358 extends (infer U)[] ? any[] : T_358 extends object ? { [K_208 in keyof T_358]-?: T_358[K_208] extends infer T_359 ? T_359 extends T_358[K_208] ? T_359 extends CanBeExpanded ? T_359["default"] : T_359 : never : never; } : T_358 : never : never; } : T_356 : never : never : T_355 extends (infer U)[] ? any[] : T_355 extends object ? { [K_209 in keyof T_355]-?: T_355[K_209] extends infer T_360 ? T_360 extends T_355[K_209] ? T_360 extends CanBeExpanded ? T_360[PrefixWith, K_209, "."> extends infer T_361 ? T_361 extends PrefixWith, K_209, "."> ? T_361 extends SplitAC ? "value" : "default" : never : never] extends infer T_362 ? T_362 extends T_360[PrefixWith, K_209, "."> extends infer T_361 ? T_361 extends PrefixWith, K_209, "."> ? T_361 extends SplitAC ? "value" : "default" : never : never] ? T_362 extends CanBeExpanded ? any : T_362 extends (infer U)[] ? any[] : T_362 extends object ? { [K_210 in keyof T_362]-?: T_362[K_210] extends infer T_363 ? T_363 extends T_362[K_210] ? T_363 extends CanBeExpanded ? T_363["default"] : T_363 : never : never; } : T_362 : never : never : T_360 extends (infer U)[] ? any[] : T_360 extends object ? { [K_211 in keyof T_360]-?: T_360[K_211] extends infer T_364 ? T_364 extends T_360[K_211] ? T_364 extends CanBeExpanded ? T_364["default"] : T_364 : never : never; } : T_360 : never : never; } : T_355 : never : never : T_354 extends (infer U)[] ? any[] : T_354 extends object ? { [K_212 in keyof T_354]-?: T_354[K_212] extends infer T_365 ? T_365 extends T_354[K_212] ? T_365 extends CanBeExpanded ? T_365[PrefixWith, K_212, "."> extends infer T_366 ? T_366 extends PrefixWith, K_212, "."> ? T_366 extends SplitAC ? "value" : "default" : never : never] extends infer T_367 ? T_367 extends T_365[PrefixWith, K_212, "."> extends infer T_366 ? T_366 extends PrefixWith, K_212, "."> ? T_366 extends SplitAC ? "value" : "default" : never : never] ? T_367 extends CanBeExpanded ? T_367[PrefixWith, K_212, "."> extends infer T_366 ? T_366 extends PrefixWith, K_212, "."> ? T_366 extends SplitAC ? "value" : "default" : never : never] extends infer T_368 ? T_368 extends T_367[PrefixWith, K_212, "."> extends infer T_366 ? T_366 extends PrefixWith, K_212, "."> ? T_366 extends SplitAC ? "value" : "default" : never : never] ? T_368 extends CanBeExpanded ? any : T_368 extends (infer U)[] ? any[] : T_368 extends object ? { [K_213 in keyof T_368]-?: T_368[K_213] extends infer T_369 ? T_369 extends T_368[K_213] ? T_369 extends CanBeExpanded ? T_369["default"] : T_369 : never : never; } : T_368 : never : never : T_367 extends (infer U)[] ? any[] : T_367 extends object ? { [K_214 in keyof T_367]-?: T_367[K_214] extends infer T_370 ? T_370 extends T_367[K_214] ? T_370 extends CanBeExpanded ? T_370["default"] : T_370 : never : never; } : T_367 : never : never : T_365 extends (infer U)[] ? any[] : T_365 extends object ? { [K_215 in keyof T_365]-?: T_365[K_215] extends infer T_371 ? T_371 extends T_365[K_215] ? T_371 extends CanBeExpanded ? T_371["default"] : T_371 : never : never; } : T_365 : never : never; } : T_354 : never : never : T_353 extends (infer U)[] ? any[] : T_353 extends object ? { [K_216 in keyof T_353]-?: T_353[K_216] extends infer T_372 ? T_372 extends T_353[K_216] ? T_372 extends CanBeExpanded ? T_372[PrefixWith, K_216, "."> extends infer T_373 ? T_373 extends PrefixWith, K_216, "."> ? T_373 extends SplitAC ? "value" : "default" : never : never] extends infer T_374 ? T_374 extends T_372[PrefixWith, K_216, "."> extends infer T_373 ? T_373 extends PrefixWith, K_216, "."> ? T_373 extends SplitAC ? "value" : "default" : never : never] ? T_374 extends CanBeExpanded ? T_374[PrefixWith, K_216, "."> extends infer T_373 ? T_373 extends PrefixWith, K_216, "."> ? T_373 extends SplitAC ? "value" : "default" : never : never] extends infer T_375 ? T_375 extends T_374[PrefixWith, K_216, "."> extends infer T_373 ? T_373 extends PrefixWith, K_216, "."> ? T_373 extends SplitAC ? "value" : "default" : never : never] ? T_375 extends CanBeExpanded ? T_375[PrefixWith, K_216, "."> extends infer T_373 ? T_373 extends PrefixWith, K_216, "."> ? T_373 extends SplitAC ? "value" : "default" : never : never] extends infer T_376 ? T_376 extends T_375[PrefixWith, K_216, "."> extends infer T_373 ? T_373 extends PrefixWith, K_216, "."> ? T_373 extends SplitAC ? "value" : "default" : never : never] ? T_376 extends CanBeExpanded ? any : T_376 extends (infer U)[] ? any[] : T_376 extends object ? { [K_217 in keyof T_376]-?: T_376[K_217] extends infer T_377 ? T_377 extends T_376[K_217] ? T_377 extends CanBeExpanded ? T_377["default"] : T_377 : never : never; } : T_376 : never : never : T_375 extends (infer U)[] ? any[] : T_375 extends object ? { [K_218 in keyof T_375]-?: T_375[K_218] extends infer T_378 ? T_378 extends T_375[K_218] ? T_378 extends CanBeExpanded ? T_378["default"] : T_378 : never : never; } : T_375 : never : never : T_374 extends (infer U)[] ? any[] : T_374 extends object ? { [K_219 in keyof T_374]-?: T_374[K_219] extends infer T_379 ? T_379 extends T_374[K_219] ? T_379 extends CanBeExpanded ? T_379["default"] : T_379 : never : never; } : T_374 : never : never : T_372 extends (infer U)[] ? any[] : T_372 extends object ? { [K_220 in keyof T_372]-?: T_372[K_220] extends infer T_380 ? T_380 extends T_372[K_220] ? T_380 extends CanBeExpanded ? T_380["default"] : T_380 : never : never; } : T_372 : never : never; } : T_353 : never : never : T_351 extends (infer U)[] ? any[] : T_351 extends object ? { [K_221 in keyof T_351]-?: T_351[K_221] extends infer T_381 ? T_381 extends T_351[K_221] ? T_381 extends CanBeExpanded ? T_381[PrefixWith, K_221, "."> extends infer T_382 ? T_382 extends PrefixWith, K_221, "."> ? T_382 extends SplitAC ? "value" : "default" : never : never] extends infer T_383 ? T_383 extends T_381[PrefixWith, K_221, "."> extends infer T_382 ? T_382 extends PrefixWith, K_221, "."> ? T_382 extends SplitAC ? "value" : "default" : never : never] ? T_383 extends CanBeExpanded ? T_383[PrefixWith, K_221, "."> extends infer T_382 ? T_382 extends PrefixWith, K_221, "."> ? T_382 extends SplitAC ? "value" : "default" : never : never] extends infer T_384 ? T_384 extends T_383[PrefixWith, K_221, "."> extends infer T_382 ? T_382 extends PrefixWith, K_221, "."> ? T_382 extends SplitAC ? "value" : "default" : never : never] ? T_384 extends CanBeExpanded ? T_384[PrefixWith, K_221, "."> extends infer T_382 ? T_382 extends PrefixWith, K_221, "."> ? T_382 extends SplitAC ? "value" : "default" : never : never] extends infer T_385 ? T_385 extends T_384[PrefixWith, K_221, "."> extends infer T_382 ? T_382 extends PrefixWith, K_221, "."> ? T_382 extends SplitAC ? "value" : "default" : never : never] ? T_385 extends CanBeExpanded ? T_385[PrefixWith, K_221, "."> extends infer T_382 ? T_382 extends PrefixWith, K_221, "."> ? T_382 extends SplitAC ? "value" : "default" : never : never] extends infer T_386 ? T_386 extends T_385[PrefixWith, K_221, "."> extends infer T_382 ? T_382 extends PrefixWith, K_221, "."> ? T_382 extends SplitAC ? "value" : "default" : never : never] ? T_386 extends CanBeExpanded ? any : T_386 extends (infer U)[] ? any[] : T_386 extends object ? { [K_222 in keyof T_386]-?: T_386[K_222] extends infer T_387 ? T_387 extends T_386[K_222] ? T_387 extends CanBeExpanded ? T_387["default"] : T_387 : never : never; } : T_386 : never : never : T_385 extends (infer U)[] ? any[] : T_385 extends object ? { [K_223 in keyof T_385]-?: T_385[K_223] extends infer T_388 ? T_388 extends T_385[K_223] ? T_388 extends CanBeExpanded ? T_388["default"] : T_388 : never : never; } : T_385 : never : never : T_384 extends (infer U)[] ? any[] : T_384 extends object ? { [K_224 in keyof T_384]-?: T_384[K_224] extends infer T_389 ? T_389 extends T_384[K_224] ? T_389 extends CanBeExpanded ? T_389["default"] : T_389 : never : never; } : T_384 : never : never : T_383 extends (infer U)[] ? any[] : T_383 extends object ? { [K_225 in keyof T_383]-?: T_383[K_225] extends infer T_390 ? T_390 extends T_383[K_225] ? T_390 extends CanBeExpanded ? T_390["default"] : T_390 : never : never; } : T_383 : never : never : T_381 extends (infer U)[] ? any[] : T_381 extends object ? { [K_226 in keyof T_381]-?: T_381[K_226] extends infer T_391 ? T_391 extends T_381[K_226] ? T_391 extends CanBeExpanded ? T_391["default"] : T_391 : never : never; } : T_381 : never : never; } : T_351 : never : never; } : T_279 : never : never : T_277 extends (infer U)[] ? any[] : T_277 extends object ? { [K_227 in keyof T_277]-?: T_277[K_227] extends infer T_392 ? T_392 extends T_277[K_227] ? T_392 extends CanBeExpanded ? T_392[PrefixWith extends infer T_393 ? T_393 extends PrefixWith ? T_393 extends SplitAC ? "value" : "default" : never : never] extends infer T_394 ? T_394 extends T_392[PrefixWith extends infer T_393 ? T_393 extends PrefixWith ? T_393 extends SplitAC ? "value" : "default" : never : never] ? T_394 extends CanBeExpanded ? T_394[PrefixWith extends infer T_393 ? T_393 extends PrefixWith ? T_393 extends SplitAC ? "value" : "default" : never : never] extends infer T_395 ? T_395 extends T_394[PrefixWith extends infer T_393 ? T_393 extends PrefixWith ? T_393 extends SplitAC ? "value" : "default" : never : never] ? T_395 extends CanBeExpanded ? T_395[PrefixWith extends infer T_393 ? T_393 extends PrefixWith ? T_393 extends SplitAC ? "value" : "default" : never : never] extends infer T_396 ? T_396 extends T_395[PrefixWith extends infer T_393 ? T_393 extends PrefixWith ? T_393 extends SplitAC ? "value" : "default" : never : never] ? T_396 extends CanBeExpanded ? T_396[PrefixWith extends infer T_393 ? T_393 extends PrefixWith ? T_393 extends SplitAC ? "value" : "default" : never : never] extends infer T_397 ? T_397 extends T_396[PrefixWith extends infer T_393 ? T_393 extends PrefixWith ? T_393 extends SplitAC ? "value" : "default" : never : never] ? T_397 extends CanBeExpanded ? T_397[PrefixWith extends infer T_393 ? T_393 extends PrefixWith ? T_393 extends SplitAC ? "value" : "default" : never : never] extends infer T_398 ? T_398 extends T_397[PrefixWith extends infer T_393 ? T_393 extends PrefixWith ? T_393 extends SplitAC ? "value" : "default" : never : never] ? T_398 extends CanBeExpanded ? T_398[PrefixWith extends infer T_393 ? T_393 extends PrefixWith ? T_393 extends SplitAC ? "value" : "default" : never : never] extends infer T_399 ? T_399 extends T_398[PrefixWith extends infer T_393 ? T_393 extends PrefixWith ? T_393 extends SplitAC ? "value" : "default" : never : never] ? T_399 extends CanBeExpanded ? any : T_399 extends (infer U)[] ? any[] : T_399 extends object ? { [K_228 in keyof T_399]-?: any; } : T_399 : never : never : T_398 extends (infer U)[] ? any[] : T_398 extends object ? { [K_229 in keyof T_398]-?: T_398[K_229] extends infer T_400 ? T_400 extends T_398[K_229] ? T_400 extends CanBeExpanded ? any : T_400 extends (infer U)[] ? any[] : T_400 extends object ? { [K_230 in keyof T_400]-?: T_400[K_230] extends infer T_401 ? T_401 extends T_400[K_230] ? T_401 extends CanBeExpanded ? T_401["default"] : T_401 : never : never; } : T_400 : never : never; } : T_398 : never : never : T_397 extends (infer U)[] ? any[] : T_397 extends object ? { [K_231 in keyof T_397]-?: T_397[K_231] extends infer T_402 ? T_402 extends T_397[K_231] ? T_402 extends CanBeExpanded ? T_402[PrefixWith, K_231, "."> extends infer T_403 ? T_403 extends PrefixWith, K_231, "."> ? T_403 extends SplitAC ? "value" : "default" : never : never] extends infer T_404 ? T_404 extends T_402[PrefixWith, K_231, "."> extends infer T_403 ? T_403 extends PrefixWith, K_231, "."> ? T_403 extends SplitAC ? "value" : "default" : never : never] ? T_404 extends CanBeExpanded ? any : T_404 extends (infer U)[] ? any[] : T_404 extends object ? { [K_232 in keyof T_404]-?: T_404[K_232] extends infer T_405 ? T_405 extends T_404[K_232] ? T_405 extends CanBeExpanded ? T_405["default"] : T_405 : never : never; } : T_404 : never : never : T_402 extends (infer U)[] ? any[] : T_402 extends object ? { [K_233 in keyof T_402]-?: T_402[K_233] extends infer T_406 ? T_406 extends T_402[K_233] ? T_406 extends CanBeExpanded ? T_406["default"] : T_406 : never : never; } : T_402 : never : never; } : T_397 : never : never : T_396 extends (infer U)[] ? any[] : T_396 extends object ? { [K_234 in keyof T_396]-?: T_396[K_234] extends infer T_407 ? T_407 extends T_396[K_234] ? T_407 extends CanBeExpanded ? T_407[PrefixWith, K_234, "."> extends infer T_408 ? T_408 extends PrefixWith, K_234, "."> ? T_408 extends SplitAC ? "value" : "default" : never : never] extends infer T_409 ? T_409 extends T_407[PrefixWith, K_234, "."> extends infer T_408 ? T_408 extends PrefixWith, K_234, "."> ? T_408 extends SplitAC ? "value" : "default" : never : never] ? T_409 extends CanBeExpanded ? T_409[PrefixWith, K_234, "."> extends infer T_408 ? T_408 extends PrefixWith, K_234, "."> ? T_408 extends SplitAC ? "value" : "default" : never : never] extends infer T_410 ? T_410 extends T_409[PrefixWith, K_234, "."> extends infer T_408 ? T_408 extends PrefixWith, K_234, "."> ? T_408 extends SplitAC ? "value" : "default" : never : never] ? T_410 extends CanBeExpanded ? any : T_410 extends (infer U)[] ? any[] : T_410 extends object ? { [K_235 in keyof T_410]-?: T_410[K_235] extends infer T_411 ? T_411 extends T_410[K_235] ? T_411 extends CanBeExpanded ? T_411["default"] : T_411 : never : never; } : T_410 : never : never : T_409 extends (infer U)[] ? any[] : T_409 extends object ? { [K_236 in keyof T_409]-?: T_409[K_236] extends infer T_412 ? T_412 extends T_409[K_236] ? T_412 extends CanBeExpanded ? T_412["default"] : T_412 : never : never; } : T_409 : never : never : T_407 extends (infer U)[] ? any[] : T_407 extends object ? { [K_237 in keyof T_407]-?: T_407[K_237] extends infer T_413 ? T_413 extends T_407[K_237] ? T_413 extends CanBeExpanded ? T_413["default"] : T_413 : never : never; } : T_407 : never : never; } : T_396 : never : never : T_395 extends (infer U)[] ? any[] : T_395 extends object ? { [K_238 in keyof T_395]-?: T_395[K_238] extends infer T_414 ? T_414 extends T_395[K_238] ? T_414 extends CanBeExpanded ? T_414[PrefixWith, K_238, "."> extends infer T_415 ? T_415 extends PrefixWith, K_238, "."> ? T_415 extends SplitAC ? "value" : "default" : never : never] extends infer T_416 ? T_416 extends T_414[PrefixWith, K_238, "."> extends infer T_415 ? T_415 extends PrefixWith, K_238, "."> ? T_415 extends SplitAC ? "value" : "default" : never : never] ? T_416 extends CanBeExpanded ? T_416[PrefixWith, K_238, "."> extends infer T_415 ? T_415 extends PrefixWith, K_238, "."> ? T_415 extends SplitAC ? "value" : "default" : never : never] extends infer T_417 ? T_417 extends T_416[PrefixWith, K_238, "."> extends infer T_415 ? T_415 extends PrefixWith, K_238, "."> ? T_415 extends SplitAC ? "value" : "default" : never : never] ? T_417 extends CanBeExpanded ? T_417[PrefixWith, K_238, "."> extends infer T_415 ? T_415 extends PrefixWith, K_238, "."> ? T_415 extends SplitAC ? "value" : "default" : never : never] extends infer T_418 ? T_418 extends T_417[PrefixWith, K_238, "."> extends infer T_415 ? T_415 extends PrefixWith, K_238, "."> ? T_415 extends SplitAC ? "value" : "default" : never : never] ? T_418 extends CanBeExpanded ? any : T_418 extends (infer U)[] ? any[] : T_418 extends object ? { [K_239 in keyof T_418]-?: T_418[K_239] extends infer T_419 ? T_419 extends T_418[K_239] ? T_419 extends CanBeExpanded ? T_419["default"] : T_419 : never : never; } : T_418 : never : never : T_417 extends (infer U)[] ? any[] : T_417 extends object ? { [K_240 in keyof T_417]-?: T_417[K_240] extends infer T_420 ? T_420 extends T_417[K_240] ? T_420 extends CanBeExpanded ? T_420["default"] : T_420 : never : never; } : T_417 : never : never : T_416 extends (infer U)[] ? any[] : T_416 extends object ? { [K_241 in keyof T_416]-?: T_416[K_241] extends infer T_421 ? T_421 extends T_416[K_241] ? T_421 extends CanBeExpanded ? T_421["default"] : T_421 : never : never; } : T_416 : never : never : T_414 extends (infer U)[] ? any[] : T_414 extends object ? { [K_242 in keyof T_414]-?: T_414[K_242] extends infer T_422 ? T_422 extends T_414[K_242] ? T_422 extends CanBeExpanded ? T_422["default"] : T_422 : never : never; } : T_414 : never : never; } : T_395 : never : never : T_394 extends (infer U)[] ? any[] : T_394 extends object ? { [K_243 in keyof T_394]-?: T_394[K_243] extends infer T_423 ? T_423 extends T_394[K_243] ? T_423 extends CanBeExpanded ? T_423[PrefixWith, K_243, "."> extends infer T_424 ? T_424 extends PrefixWith, K_243, "."> ? T_424 extends SplitAC ? "value" : "default" : never : never] extends infer T_425 ? T_425 extends T_423[PrefixWith, K_243, "."> extends infer T_424 ? T_424 extends PrefixWith, K_243, "."> ? T_424 extends SplitAC ? "value" : "default" : never : never] ? T_425 extends CanBeExpanded ? T_425[PrefixWith, K_243, "."> extends infer T_424 ? T_424 extends PrefixWith, K_243, "."> ? T_424 extends SplitAC ? "value" : "default" : never : never] extends infer T_426 ? T_426 extends T_425[PrefixWith, K_243, "."> extends infer T_424 ? T_424 extends PrefixWith, K_243, "."> ? T_424 extends SplitAC ? "value" : "default" : never : never] ? T_426 extends CanBeExpanded ? T_426[PrefixWith, K_243, "."> extends infer T_424 ? T_424 extends PrefixWith, K_243, "."> ? T_424 extends SplitAC ? "value" : "default" : never : never] extends infer T_427 ? T_427 extends T_426[PrefixWith, K_243, "."> extends infer T_424 ? T_424 extends PrefixWith, K_243, "."> ? T_424 extends SplitAC ? "value" : "default" : never : never] ? T_427 extends CanBeExpanded ? T_427[PrefixWith, K_243, "."> extends infer T_424 ? T_424 extends PrefixWith, K_243, "."> ? T_424 extends SplitAC ? "value" : "default" : never : never] extends infer T_428 ? T_428 extends T_427[PrefixWith, K_243, "."> extends infer T_424 ? T_424 extends PrefixWith, K_243, "."> ? T_424 extends SplitAC ? "value" : "default" : never : never] ? T_428 extends CanBeExpanded ? any : T_428 extends (infer U)[] ? any[] : T_428 extends object ? { [K_244 in keyof T_428]-?: T_428[K_244] extends infer T_429 ? T_429 extends T_428[K_244] ? T_429 extends CanBeExpanded ? T_429["default"] : T_429 : never : never; } : T_428 : never : never : T_427 extends (infer U)[] ? any[] : T_427 extends object ? { [K_245 in keyof T_427]-?: T_427[K_245] extends infer T_430 ? T_430 extends T_427[K_245] ? T_430 extends CanBeExpanded ? T_430["default"] : T_430 : never : never; } : T_427 : never : never : T_426 extends (infer U)[] ? any[] : T_426 extends object ? { [K_246 in keyof T_426]-?: T_426[K_246] extends infer T_431 ? T_431 extends T_426[K_246] ? T_431 extends CanBeExpanded ? T_431["default"] : T_431 : never : never; } : T_426 : never : never : T_425 extends (infer U)[] ? any[] : T_425 extends object ? { [K_247 in keyof T_425]-?: T_425[K_247] extends infer T_432 ? T_432 extends T_425[K_247] ? T_432 extends CanBeExpanded ? T_432["default"] : T_432 : never : never; } : T_425 : never : never : T_423 extends (infer U)[] ? any[] : T_423 extends object ? { [K_248 in keyof T_423]-?: T_423[K_248] extends infer T_433 ? T_433 extends T_423[K_248] ? T_433 extends CanBeExpanded ? T_433["default"] : T_433 : never : never; } : T_423 : never : never; } : T_394 : never : never : T_392 extends (infer U)[] ? any[] : T_392 extends object ? { [K_249 in keyof T_392]-?: T_392[K_249] extends infer T_434 ? T_434 extends T_392[K_249] ? T_434 extends CanBeExpanded ? T_434[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] extends infer T_436 ? T_436 extends T_434[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] ? T_436 extends CanBeExpanded ? T_436[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] extends infer T_437 ? T_437 extends T_436[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] ? T_437 extends CanBeExpanded ? T_437[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] extends infer T_438 ? T_438 extends T_437[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] ? T_438 extends CanBeExpanded ? T_438[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] extends infer T_439 ? T_439 extends T_438[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] ? T_439 extends CanBeExpanded ? T_439[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] extends infer T_440 ? T_440 extends T_439[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] ? T_440 extends CanBeExpanded ? any : T_440 extends (infer U)[] ? any[] : T_440 extends object ? { [K_250 in keyof T_440]-?: T_440[K_250] extends infer T_441 ? T_441 extends T_440[K_250] ? T_441 extends CanBeExpanded ? T_441["default"] : T_441 : never : never; } : T_440 : never : never : T_439 extends (infer U)[] ? any[] : T_439 extends object ? { [K_251 in keyof T_439]-?: T_439[K_251] extends infer T_442 ? T_442 extends T_439[K_251] ? T_442 extends CanBeExpanded ? T_442["default"] : T_442 : never : never; } : T_439 : never : never : T_438 extends (infer U)[] ? any[] : T_438 extends object ? { [K_252 in keyof T_438]-?: T_438[K_252] extends infer T_443 ? T_443 extends T_438[K_252] ? T_443 extends CanBeExpanded ? T_443["default"] : T_443 : never : never; } : T_438 : never : never : T_437 extends (infer U)[] ? any[] : T_437 extends object ? { [K_253 in keyof T_437]-?: T_437[K_253] extends infer T_444 ? T_444 extends T_437[K_253] ? T_444 extends CanBeExpanded ? T_444["default"] : T_444 : never : never; } : T_437 : never : never : T_436 extends (infer U)[] ? any[] : T_436 extends object ? { [K_254 in keyof T_436]-?: T_436[K_254] extends infer T_445 ? T_445 extends T_436[K_254] ? T_445 extends CanBeExpanded ? T_445["default"] : T_445 : never : never; } : T_436 : never : never : T_434 extends (infer U)[] ? any[] : T_434 extends object ? { [K_255 in keyof T_434]-?: T_434[K_255] extends infer T_446 ? T_446 extends T_434[K_255] ? T_446 extends CanBeExpanded ? T_446["default"] : T_446 : never : never; } : T_434 : never : never; } : T_392 : never : never; } : T_277 : never : never; } : T_3 : never : never : T_2 extends (infer U)[] ? any[] : T_2 extends object ? { [K_256 in keyof T_2]-?: T_2[K_256] extends infer T_447 ? T_447 extends T_2[K_256] ? T_447 extends CanBeExpanded ? T_447[string & K_256 extends infer T_448 ? T_448 extends string & K_256 ? T_448 extends SplitAC ? "value" : "default" : never : never] extends infer T_449 ? T_449 extends T_447[string & K_256 extends infer T_448 ? T_448 extends string & K_256 ? T_448 extends SplitAC ? "value" : "default" : never : never] ? T_449 extends CanBeExpanded ? T_449[string & K_256 extends infer T_448 ? T_448 extends string & K_256 ? T_448 extends SplitAC ? "value" : "default" : never : never] extends infer T_450 ? T_450 extends T_449[string & K_256 extends infer T_448 ? T_448 extends string & K_256 ? T_448 extends SplitAC ? "value" : "default" : never : never] ? T_450 extends CanBeExpanded ? T_450[string & K_256 extends infer T_448 ? T_448 extends string & K_256 ? T_448 extends SplitAC ? "value" : "default" : never : never] extends infer T_451 ? T_451 extends T_450[string & K_256 extends infer T_448 ? T_448 extends string & K_256 ? T_448 extends SplitAC ? "value" : "default" : never : never] ? T_451 extends CanBeExpanded ? T_451[string & K_256 extends infer T_448 ? T_448 extends string & K_256 ? T_448 extends SplitAC ? "value" : "default" : never : never] extends infer T_452 ? T_452 extends T_451[string & K_256 extends infer T_448 ? T_448 extends string & K_256 ? T_448 extends SplitAC ? "value" : "default" : never : never] ? T_452 extends CanBeExpanded ? T_452[string & K_256 extends infer T_448 ? T_448 extends string & K_256 ? T_448 extends SplitAC ? "value" : "default" : never : never] extends infer T_453 ? T_453 extends T_452[string & K_256 extends infer T_448 ? T_448 extends string & K_256 ? T_448 extends SplitAC ? "value" : "default" : never : never] ? T_453 extends CanBeExpanded ? T_453[string & K_256 extends infer T_448 ? T_448 extends string & K_256 ? T_448 extends SplitAC ? "value" : "default" : never : never] extends infer T_454 ? T_454 extends T_453[string & K_256 extends infer T_448 ? T_448 extends string & K_256 ? T_448 extends SplitAC ? "value" : "default" : never : never] ? T_454 extends CanBeExpanded ? T_454[string & K_256 extends infer T_448 ? T_448 extends string & K_256 ? T_448 extends SplitAC ? "value" : "default" : never : never] extends infer T_455 ? T_455 extends T_454[string & K_256 extends infer T_448 ? T_448 extends string & K_256 ? T_448 extends SplitAC ? "value" : "default" : never : never] ? T_455 extends CanBeExpanded ? T_455[string & K_256 extends infer T_448 ? T_448 extends string & K_256 ? T_448 extends SplitAC ? "value" : "default" : never : never] extends infer T_456 ? T_456 extends T_455[string & K_256 extends infer T_448 ? T_448 extends string & K_256 ? T_448 extends SplitAC ? "value" : "default" : never : never] ? T_456 extends CanBeExpanded ? any : T_456 extends (infer U)[] ? any[] : T_456 extends object ? { [K_257 in keyof T_456]-?: any; } : T_456 : never : never : T_455 extends (infer U)[] ? any[] : T_455 extends object ? { [K_258 in keyof T_455]-?: T_455[K_258] extends infer T_457 ? T_457 extends T_455[K_258] ? T_457 extends CanBeExpanded ? any : T_457 extends (infer U)[] ? any[] : T_457 extends object ? { [K_259 in keyof T_457]-?: any; } : T_457 : never : never; } : T_455 : never : never : T_454 extends (infer U)[] ? any[] : T_454 extends object ? { [K_260 in keyof T_454]-?: T_454[K_260] extends infer T_458 ? T_458 extends T_454[K_260] ? T_458 extends CanBeExpanded ? T_458[PrefixWith extends infer T_459 ? T_459 extends PrefixWith ? T_459 extends SplitAC ? "value" : "default" : never : never] extends infer T_460 ? T_460 extends T_458[PrefixWith extends infer T_459 ? T_459 extends PrefixWith ? T_459 extends SplitAC ? "value" : "default" : never : never] ? T_460 extends CanBeExpanded ? any : T_460 extends (infer U)[] ? any[] : T_460 extends object ? { [K_261 in keyof T_460]-?: any; } : T_460 : never : never : T_458 extends (infer U)[] ? any[] : T_458 extends object ? { [K_262 in keyof T_458]-?: T_458[K_262] extends infer T_461 ? T_461 extends T_458[K_262] ? T_461 extends CanBeExpanded ? any : T_461 extends (infer U)[] ? any[] : T_461 extends object ? { [K_263 in keyof T_461]-?: T_461[K_263] extends infer T_462 ? T_462 extends T_461[K_263] ? T_462 extends CanBeExpanded ? T_462["default"] : T_462 : never : never; } : T_461 : never : never; } : T_458 : never : never; } : T_454 : never : never : T_453 extends (infer U)[] ? any[] : T_453 extends object ? { [K_264 in keyof T_453]-?: T_453[K_264] extends infer T_463 ? T_463 extends T_453[K_264] ? T_463 extends CanBeExpanded ? T_463[PrefixWith extends infer T_464 ? T_464 extends PrefixWith ? T_464 extends SplitAC ? "value" : "default" : never : never] extends infer T_465 ? T_465 extends T_463[PrefixWith extends infer T_464 ? T_464 extends PrefixWith ? T_464 extends SplitAC ? "value" : "default" : never : never] ? T_465 extends CanBeExpanded ? T_465[PrefixWith extends infer T_464 ? T_464 extends PrefixWith ? T_464 extends SplitAC ? "value" : "default" : never : never] extends infer T_466 ? T_466 extends T_465[PrefixWith extends infer T_464 ? T_464 extends PrefixWith ? T_464 extends SplitAC ? "value" : "default" : never : never] ? T_466 extends CanBeExpanded ? any : T_466 extends (infer U)[] ? any[] : T_466 extends object ? { [K_265 in keyof T_466]-?: any; } : T_466 : never : never : T_465 extends (infer U)[] ? any[] : T_465 extends object ? { [K_266 in keyof T_465]-?: T_465[K_266] extends infer T_467 ? T_467 extends T_465[K_266] ? T_467 extends CanBeExpanded ? any : T_467 extends (infer U)[] ? any[] : T_467 extends object ? { [K_267 in keyof T_467]-?: T_467[K_267] extends infer T_468 ? T_468 extends T_467[K_267] ? T_468 extends CanBeExpanded ? T_468["default"] : T_468 : never : never; } : T_467 : never : never; } : T_465 : never : never : T_463 extends (infer U)[] ? any[] : T_463 extends object ? { [K_268 in keyof T_463]-?: T_463[K_268] extends infer T_469 ? T_469 extends T_463[K_268] ? T_469 extends CanBeExpanded ? T_469[PrefixWith, K_268, "."> extends infer T_470 ? T_470 extends PrefixWith, K_268, "."> ? T_470 extends SplitAC ? "value" : "default" : never : never] extends infer T_471 ? T_471 extends T_469[PrefixWith, K_268, "."> extends infer T_470 ? T_470 extends PrefixWith, K_268, "."> ? T_470 extends SplitAC ? "value" : "default" : never : never] ? T_471 extends CanBeExpanded ? any : T_471 extends (infer U)[] ? any[] : T_471 extends object ? { [K_269 in keyof T_471]-?: T_471[K_269] extends infer T_472 ? T_472 extends T_471[K_269] ? T_472 extends CanBeExpanded ? T_472["default"] : T_472 : never : never; } : T_471 : never : never : T_469 extends (infer U)[] ? any[] : T_469 extends object ? { [K_270 in keyof T_469]-?: T_469[K_270] extends infer T_473 ? T_473 extends T_469[K_270] ? T_473 extends CanBeExpanded ? T_473["default"] : T_473 : never : never; } : T_469 : never : never; } : T_463 : never : never; } : T_453 : never : never : T_452 extends (infer U)[] ? any[] : T_452 extends object ? { [K_271 in keyof T_452]-?: T_452[K_271] extends infer T_474 ? T_474 extends T_452[K_271] ? T_474 extends CanBeExpanded ? T_474[PrefixWith extends infer T_475 ? T_475 extends PrefixWith ? T_475 extends SplitAC ? "value" : "default" : never : never] extends infer T_476 ? T_476 extends T_474[PrefixWith extends infer T_475 ? T_475 extends PrefixWith ? T_475 extends SplitAC ? "value" : "default" : never : never] ? T_476 extends CanBeExpanded ? T_476[PrefixWith extends infer T_475 ? T_475 extends PrefixWith ? T_475 extends SplitAC ? "value" : "default" : never : never] extends infer T_477 ? T_477 extends T_476[PrefixWith extends infer T_475 ? T_475 extends PrefixWith ? T_475 extends SplitAC ? "value" : "default" : never : never] ? T_477 extends CanBeExpanded ? T_477[PrefixWith extends infer T_475 ? T_475 extends PrefixWith ? T_475 extends SplitAC ? "value" : "default" : never : never] extends infer T_478 ? T_478 extends T_477[PrefixWith extends infer T_475 ? T_475 extends PrefixWith ? T_475 extends SplitAC ? "value" : "default" : never : never] ? T_478 extends CanBeExpanded ? any : T_478 extends (infer U)[] ? any[] : T_478 extends object ? { [K_272 in keyof T_478]-?: any; } : T_478 : never : never : T_477 extends (infer U)[] ? any[] : T_477 extends object ? { [K_273 in keyof T_477]-?: T_477[K_273] extends infer T_479 ? T_479 extends T_477[K_273] ? T_479 extends CanBeExpanded ? any : T_479 extends (infer U)[] ? any[] : T_479 extends object ? { [K_274 in keyof T_479]-?: T_479[K_274] extends infer T_480 ? T_480 extends T_479[K_274] ? T_480 extends CanBeExpanded ? T_480["default"] : T_480 : never : never; } : T_479 : never : never; } : T_477 : never : never : T_476 extends (infer U)[] ? any[] : T_476 extends object ? { [K_275 in keyof T_476]-?: T_476[K_275] extends infer T_481 ? T_481 extends T_476[K_275] ? T_481 extends CanBeExpanded ? T_481[PrefixWith, K_275, "."> extends infer T_482 ? T_482 extends PrefixWith, K_275, "."> ? T_482 extends SplitAC ? "value" : "default" : never : never] extends infer T_483 ? T_483 extends T_481[PrefixWith, K_275, "."> extends infer T_482 ? T_482 extends PrefixWith, K_275, "."> ? T_482 extends SplitAC ? "value" : "default" : never : never] ? T_483 extends CanBeExpanded ? any : T_483 extends (infer U)[] ? any[] : T_483 extends object ? { [K_276 in keyof T_483]-?: T_483[K_276] extends infer T_484 ? T_484 extends T_483[K_276] ? T_484 extends CanBeExpanded ? T_484["default"] : T_484 : never : never; } : T_483 : never : never : T_481 extends (infer U)[] ? any[] : T_481 extends object ? { [K_277 in keyof T_481]-?: T_481[K_277] extends infer T_485 ? T_485 extends T_481[K_277] ? T_485 extends CanBeExpanded ? T_485["default"] : T_485 : never : never; } : T_481 : never : never; } : T_476 : never : never : T_474 extends (infer U)[] ? any[] : T_474 extends object ? { [K_278 in keyof T_474]-?: T_474[K_278] extends infer T_486 ? T_486 extends T_474[K_278] ? T_486 extends CanBeExpanded ? T_486[PrefixWith, K_278, "."> extends infer T_487 ? T_487 extends PrefixWith, K_278, "."> ? T_487 extends SplitAC ? "value" : "default" : never : never] extends infer T_488 ? T_488 extends T_486[PrefixWith, K_278, "."> extends infer T_487 ? T_487 extends PrefixWith, K_278, "."> ? T_487 extends SplitAC ? "value" : "default" : never : never] ? T_488 extends CanBeExpanded ? T_488[PrefixWith, K_278, "."> extends infer T_487 ? T_487 extends PrefixWith, K_278, "."> ? T_487 extends SplitAC ? "value" : "default" : never : never] extends infer T_489 ? T_489 extends T_488[PrefixWith, K_278, "."> extends infer T_487 ? T_487 extends PrefixWith, K_278, "."> ? T_487 extends SplitAC ? "value" : "default" : never : never] ? T_489 extends CanBeExpanded ? any : T_489 extends (infer U)[] ? any[] : T_489 extends object ? { [K_279 in keyof T_489]-?: T_489[K_279] extends infer T_490 ? T_490 extends T_489[K_279] ? T_490 extends CanBeExpanded ? T_490["default"] : T_490 : never : never; } : T_489 : never : never : T_488 extends (infer U)[] ? any[] : T_488 extends object ? { [K_280 in keyof T_488]-?: T_488[K_280] extends infer T_491 ? T_491 extends T_488[K_280] ? T_491 extends CanBeExpanded ? T_491["default"] : T_491 : never : never; } : T_488 : never : never : T_486 extends (infer U)[] ? any[] : T_486 extends object ? { [K_281 in keyof T_486]-?: T_486[K_281] extends infer T_492 ? T_492 extends T_486[K_281] ? T_492 extends CanBeExpanded ? T_492["default"] : T_492 : never : never; } : T_486 : never : never; } : T_474 : never : never; } : T_452 : never : never : T_451 extends (infer U)[] ? any[] : T_451 extends object ? { [K_282 in keyof T_451]-?: T_451[K_282] extends infer T_493 ? T_493 extends T_451[K_282] ? T_493 extends CanBeExpanded ? T_493[PrefixWith extends infer T_494 ? T_494 extends PrefixWith ? T_494 extends SplitAC ? "value" : "default" : never : never] extends infer T_495 ? T_495 extends T_493[PrefixWith extends infer T_494 ? T_494 extends PrefixWith ? T_494 extends SplitAC ? "value" : "default" : never : never] ? T_495 extends CanBeExpanded ? T_495[PrefixWith extends infer T_494 ? T_494 extends PrefixWith ? T_494 extends SplitAC ? "value" : "default" : never : never] extends infer T_496 ? T_496 extends T_495[PrefixWith extends infer T_494 ? T_494 extends PrefixWith ? T_494 extends SplitAC ? "value" : "default" : never : never] ? T_496 extends CanBeExpanded ? T_496[PrefixWith extends infer T_494 ? T_494 extends PrefixWith ? T_494 extends SplitAC ? "value" : "default" : never : never] extends infer T_497 ? T_497 extends T_496[PrefixWith extends infer T_494 ? T_494 extends PrefixWith ? T_494 extends SplitAC ? "value" : "default" : never : never] ? T_497 extends CanBeExpanded ? T_497[PrefixWith extends infer T_494 ? T_494 extends PrefixWith ? T_494 extends SplitAC ? "value" : "default" : never : never] extends infer T_498 ? T_498 extends T_497[PrefixWith extends infer T_494 ? T_494 extends PrefixWith ? T_494 extends SplitAC ? "value" : "default" : never : never] ? T_498 extends CanBeExpanded ? any : T_498 extends (infer U)[] ? any[] : T_498 extends object ? { [K_283 in keyof T_498]-?: any; } : T_498 : never : never : T_497 extends (infer U)[] ? any[] : T_497 extends object ? { [K_284 in keyof T_497]-?: T_497[K_284] extends infer T_499 ? T_499 extends T_497[K_284] ? T_499 extends CanBeExpanded ? any : T_499 extends (infer U)[] ? any[] : T_499 extends object ? { [K_285 in keyof T_499]-?: T_499[K_285] extends infer T_500 ? T_500 extends T_499[K_285] ? T_500 extends CanBeExpanded ? T_500["default"] : T_500 : never : never; } : T_499 : never : never; } : T_497 : never : never : T_496 extends (infer U)[] ? any[] : T_496 extends object ? { [K_286 in keyof T_496]-?: T_496[K_286] extends infer T_501 ? T_501 extends T_496[K_286] ? T_501 extends CanBeExpanded ? T_501[PrefixWith, K_286, "."> extends infer T_502 ? T_502 extends PrefixWith, K_286, "."> ? T_502 extends SplitAC ? "value" : "default" : never : never] extends infer T_503 ? T_503 extends T_501[PrefixWith, K_286, "."> extends infer T_502 ? T_502 extends PrefixWith, K_286, "."> ? T_502 extends SplitAC ? "value" : "default" : never : never] ? T_503 extends CanBeExpanded ? any : T_503 extends (infer U)[] ? any[] : T_503 extends object ? { [K_287 in keyof T_503]-?: T_503[K_287] extends infer T_504 ? T_504 extends T_503[K_287] ? T_504 extends CanBeExpanded ? T_504["default"] : T_504 : never : never; } : T_503 : never : never : T_501 extends (infer U)[] ? any[] : T_501 extends object ? { [K_288 in keyof T_501]-?: T_501[K_288] extends infer T_505 ? T_505 extends T_501[K_288] ? T_505 extends CanBeExpanded ? T_505["default"] : T_505 : never : never; } : T_501 : never : never; } : T_496 : never : never : T_495 extends (infer U)[] ? any[] : T_495 extends object ? { [K_289 in keyof T_495]-?: T_495[K_289] extends infer T_506 ? T_506 extends T_495[K_289] ? T_506 extends CanBeExpanded ? T_506[PrefixWith, K_289, "."> extends infer T_507 ? T_507 extends PrefixWith, K_289, "."> ? T_507 extends SplitAC ? "value" : "default" : never : never] extends infer T_508 ? T_508 extends T_506[PrefixWith, K_289, "."> extends infer T_507 ? T_507 extends PrefixWith, K_289, "."> ? T_507 extends SplitAC ? "value" : "default" : never : never] ? T_508 extends CanBeExpanded ? T_508[PrefixWith, K_289, "."> extends infer T_507 ? T_507 extends PrefixWith, K_289, "."> ? T_507 extends SplitAC ? "value" : "default" : never : never] extends infer T_509 ? T_509 extends T_508[PrefixWith, K_289, "."> extends infer T_507 ? T_507 extends PrefixWith, K_289, "."> ? T_507 extends SplitAC ? "value" : "default" : never : never] ? T_509 extends CanBeExpanded ? any : T_509 extends (infer U)[] ? any[] : T_509 extends object ? { [K_290 in keyof T_509]-?: T_509[K_290] extends infer T_510 ? T_510 extends T_509[K_290] ? T_510 extends CanBeExpanded ? T_510["default"] : T_510 : never : never; } : T_509 : never : never : T_508 extends (infer U)[] ? any[] : T_508 extends object ? { [K_291 in keyof T_508]-?: T_508[K_291] extends infer T_511 ? T_511 extends T_508[K_291] ? T_511 extends CanBeExpanded ? T_511["default"] : T_511 : never : never; } : T_508 : never : never : T_506 extends (infer U)[] ? any[] : T_506 extends object ? { [K_292 in keyof T_506]-?: T_506[K_292] extends infer T_512 ? T_512 extends T_506[K_292] ? T_512 extends CanBeExpanded ? T_512["default"] : T_512 : never : never; } : T_506 : never : never; } : T_495 : never : never : T_493 extends (infer U)[] ? any[] : T_493 extends object ? { [K_293 in keyof T_493]-?: T_493[K_293] extends infer T_513 ? T_513 extends T_493[K_293] ? T_513 extends CanBeExpanded ? T_513[PrefixWith, K_293, "."> extends infer T_514 ? T_514 extends PrefixWith, K_293, "."> ? T_514 extends SplitAC ? "value" : "default" : never : never] extends infer T_515 ? T_515 extends T_513[PrefixWith, K_293, "."> extends infer T_514 ? T_514 extends PrefixWith, K_293, "."> ? T_514 extends SplitAC ? "value" : "default" : never : never] ? T_515 extends CanBeExpanded ? T_515[PrefixWith, K_293, "."> extends infer T_514 ? T_514 extends PrefixWith, K_293, "."> ? T_514 extends SplitAC ? "value" : "default" : never : never] extends infer T_516 ? T_516 extends T_515[PrefixWith, K_293, "."> extends infer T_514 ? T_514 extends PrefixWith, K_293, "."> ? T_514 extends SplitAC ? "value" : "default" : never : never] ? T_516 extends CanBeExpanded ? T_516[PrefixWith, K_293, "."> extends infer T_514 ? T_514 extends PrefixWith, K_293, "."> ? T_514 extends SplitAC ? "value" : "default" : never : never] extends infer T_517 ? T_517 extends T_516[PrefixWith, K_293, "."> extends infer T_514 ? T_514 extends PrefixWith, K_293, "."> ? T_514 extends SplitAC ? "value" : "default" : never : never] ? T_517 extends CanBeExpanded ? any : T_517 extends (infer U)[] ? any[] : T_517 extends object ? { [K_294 in keyof T_517]-?: T_517[K_294] extends infer T_518 ? T_518 extends T_517[K_294] ? T_518 extends CanBeExpanded ? T_518["default"] : T_518 : never : never; } : T_517 : never : never : T_516 extends (infer U)[] ? any[] : T_516 extends object ? { [K_295 in keyof T_516]-?: T_516[K_295] extends infer T_519 ? T_519 extends T_516[K_295] ? T_519 extends CanBeExpanded ? T_519["default"] : T_519 : never : never; } : T_516 : never : never : T_515 extends (infer U)[] ? any[] : T_515 extends object ? { [K_296 in keyof T_515]-?: T_515[K_296] extends infer T_520 ? T_520 extends T_515[K_296] ? T_520 extends CanBeExpanded ? T_520["default"] : T_520 : never : never; } : T_515 : never : never : T_513 extends (infer U)[] ? any[] : T_513 extends object ? { [K_297 in keyof T_513]-?: T_513[K_297] extends infer T_521 ? T_521 extends T_513[K_297] ? T_521 extends CanBeExpanded ? T_521["default"] : T_521 : never : never; } : T_513 : never : never; } : T_493 : never : never; } : T_451 : never : never : T_450 extends (infer U)[] ? any[] : T_450 extends object ? { [K_298 in keyof T_450]-?: T_450[K_298] extends infer T_522 ? T_522 extends T_450[K_298] ? T_522 extends CanBeExpanded ? T_522[PrefixWith extends infer T_523 ? T_523 extends PrefixWith ? T_523 extends SplitAC ? "value" : "default" : never : never] extends infer T_524 ? T_524 extends T_522[PrefixWith extends infer T_523 ? T_523 extends PrefixWith ? T_523 extends SplitAC ? "value" : "default" : never : never] ? T_524 extends CanBeExpanded ? T_524[PrefixWith extends infer T_523 ? T_523 extends PrefixWith ? T_523 extends SplitAC ? "value" : "default" : never : never] extends infer T_525 ? T_525 extends T_524[PrefixWith extends infer T_523 ? T_523 extends PrefixWith ? T_523 extends SplitAC ? "value" : "default" : never : never] ? T_525 extends CanBeExpanded ? T_525[PrefixWith extends infer T_523 ? T_523 extends PrefixWith ? T_523 extends SplitAC ? "value" : "default" : never : never] extends infer T_526 ? T_526 extends T_525[PrefixWith extends infer T_523 ? T_523 extends PrefixWith ? T_523 extends SplitAC ? "value" : "default" : never : never] ? T_526 extends CanBeExpanded ? T_526[PrefixWith extends infer T_523 ? T_523 extends PrefixWith ? T_523 extends SplitAC ? "value" : "default" : never : never] extends infer T_527 ? T_527 extends T_526[PrefixWith extends infer T_523 ? T_523 extends PrefixWith ? T_523 extends SplitAC ? "value" : "default" : never : never] ? T_527 extends CanBeExpanded ? T_527[PrefixWith extends infer T_523 ? T_523 extends PrefixWith ? T_523 extends SplitAC ? "value" : "default" : never : never] extends infer T_528 ? T_528 extends T_527[PrefixWith extends infer T_523 ? T_523 extends PrefixWith ? T_523 extends SplitAC ? "value" : "default" : never : never] ? T_528 extends CanBeExpanded ? any : T_528 extends (infer U)[] ? any[] : T_528 extends object ? { [K_299 in keyof T_528]-?: any; } : T_528 : never : never : T_527 extends (infer U)[] ? any[] : T_527 extends object ? { [K_300 in keyof T_527]-?: T_527[K_300] extends infer T_529 ? T_529 extends T_527[K_300] ? T_529 extends CanBeExpanded ? any : T_529 extends (infer U)[] ? any[] : T_529 extends object ? { [K_301 in keyof T_529]-?: T_529[K_301] extends infer T_530 ? T_530 extends T_529[K_301] ? T_530 extends CanBeExpanded ? T_530["default"] : T_530 : never : never; } : T_529 : never : never; } : T_527 : never : never : T_526 extends (infer U)[] ? any[] : T_526 extends object ? { [K_302 in keyof T_526]-?: T_526[K_302] extends infer T_531 ? T_531 extends T_526[K_302] ? T_531 extends CanBeExpanded ? T_531[PrefixWith, K_302, "."> extends infer T_532 ? T_532 extends PrefixWith, K_302, "."> ? T_532 extends SplitAC ? "value" : "default" : never : never] extends infer T_533 ? T_533 extends T_531[PrefixWith, K_302, "."> extends infer T_532 ? T_532 extends PrefixWith, K_302, "."> ? T_532 extends SplitAC ? "value" : "default" : never : never] ? T_533 extends CanBeExpanded ? any : T_533 extends (infer U)[] ? any[] : T_533 extends object ? { [K_303 in keyof T_533]-?: T_533[K_303] extends infer T_534 ? T_534 extends T_533[K_303] ? T_534 extends CanBeExpanded ? T_534["default"] : T_534 : never : never; } : T_533 : never : never : T_531 extends (infer U)[] ? any[] : T_531 extends object ? { [K_304 in keyof T_531]-?: T_531[K_304] extends infer T_535 ? T_535 extends T_531[K_304] ? T_535 extends CanBeExpanded ? T_535["default"] : T_535 : never : never; } : T_531 : never : never; } : T_526 : never : never : T_525 extends (infer U)[] ? any[] : T_525 extends object ? { [K_305 in keyof T_525]-?: T_525[K_305] extends infer T_536 ? T_536 extends T_525[K_305] ? T_536 extends CanBeExpanded ? T_536[PrefixWith, K_305, "."> extends infer T_537 ? T_537 extends PrefixWith, K_305, "."> ? T_537 extends SplitAC ? "value" : "default" : never : never] extends infer T_538 ? T_538 extends T_536[PrefixWith, K_305, "."> extends infer T_537 ? T_537 extends PrefixWith, K_305, "."> ? T_537 extends SplitAC ? "value" : "default" : never : never] ? T_538 extends CanBeExpanded ? T_538[PrefixWith, K_305, "."> extends infer T_537 ? T_537 extends PrefixWith, K_305, "."> ? T_537 extends SplitAC ? "value" : "default" : never : never] extends infer T_539 ? T_539 extends T_538[PrefixWith, K_305, "."> extends infer T_537 ? T_537 extends PrefixWith, K_305, "."> ? T_537 extends SplitAC ? "value" : "default" : never : never] ? T_539 extends CanBeExpanded ? any : T_539 extends (infer U)[] ? any[] : T_539 extends object ? { [K_306 in keyof T_539]-?: T_539[K_306] extends infer T_540 ? T_540 extends T_539[K_306] ? T_540 extends CanBeExpanded ? T_540["default"] : T_540 : never : never; } : T_539 : never : never : T_538 extends (infer U)[] ? any[] : T_538 extends object ? { [K_307 in keyof T_538]-?: T_538[K_307] extends infer T_541 ? T_541 extends T_538[K_307] ? T_541 extends CanBeExpanded ? T_541["default"] : T_541 : never : never; } : T_538 : never : never : T_536 extends (infer U)[] ? any[] : T_536 extends object ? { [K_308 in keyof T_536]-?: T_536[K_308] extends infer T_542 ? T_542 extends T_536[K_308] ? T_542 extends CanBeExpanded ? T_542["default"] : T_542 : never : never; } : T_536 : never : never; } : T_525 : never : never : T_524 extends (infer U)[] ? any[] : T_524 extends object ? { [K_309 in keyof T_524]-?: T_524[K_309] extends infer T_543 ? T_543 extends T_524[K_309] ? T_543 extends CanBeExpanded ? T_543[PrefixWith, K_309, "."> extends infer T_544 ? T_544 extends PrefixWith, K_309, "."> ? T_544 extends SplitAC ? "value" : "default" : never : never] extends infer T_545 ? T_545 extends T_543[PrefixWith, K_309, "."> extends infer T_544 ? T_544 extends PrefixWith, K_309, "."> ? T_544 extends SplitAC ? "value" : "default" : never : never] ? T_545 extends CanBeExpanded ? T_545[PrefixWith, K_309, "."> extends infer T_544 ? T_544 extends PrefixWith, K_309, "."> ? T_544 extends SplitAC ? "value" : "default" : never : never] extends infer T_546 ? T_546 extends T_545[PrefixWith, K_309, "."> extends infer T_544 ? T_544 extends PrefixWith, K_309, "."> ? T_544 extends SplitAC ? "value" : "default" : never : never] ? T_546 extends CanBeExpanded ? T_546[PrefixWith, K_309, "."> extends infer T_544 ? T_544 extends PrefixWith, K_309, "."> ? T_544 extends SplitAC ? "value" : "default" : never : never] extends infer T_547 ? T_547 extends T_546[PrefixWith, K_309, "."> extends infer T_544 ? T_544 extends PrefixWith, K_309, "."> ? T_544 extends SplitAC ? "value" : "default" : never : never] ? T_547 extends CanBeExpanded ? any : T_547 extends (infer U)[] ? any[] : T_547 extends object ? { [K_310 in keyof T_547]-?: T_547[K_310] extends infer T_548 ? T_548 extends T_547[K_310] ? T_548 extends CanBeExpanded ? T_548["default"] : T_548 : never : never; } : T_547 : never : never : T_546 extends (infer U)[] ? any[] : T_546 extends object ? { [K_311 in keyof T_546]-?: T_546[K_311] extends infer T_549 ? T_549 extends T_546[K_311] ? T_549 extends CanBeExpanded ? T_549["default"] : T_549 : never : never; } : T_546 : never : never : T_545 extends (infer U)[] ? any[] : T_545 extends object ? { [K_312 in keyof T_545]-?: T_545[K_312] extends infer T_550 ? T_550 extends T_545[K_312] ? T_550 extends CanBeExpanded ? T_550["default"] : T_550 : never : never; } : T_545 : never : never : T_543 extends (infer U)[] ? any[] : T_543 extends object ? { [K_313 in keyof T_543]-?: T_543[K_313] extends infer T_551 ? T_551 extends T_543[K_313] ? T_551 extends CanBeExpanded ? T_551["default"] : T_551 : never : never; } : T_543 : never : never; } : T_524 : never : never : T_522 extends (infer U)[] ? any[] : T_522 extends object ? { [K_314 in keyof T_522]-?: T_522[K_314] extends infer T_552 ? T_552 extends T_522[K_314] ? T_552 extends CanBeExpanded ? T_552[PrefixWith, K_314, "."> extends infer T_553 ? T_553 extends PrefixWith, K_314, "."> ? T_553 extends SplitAC ? "value" : "default" : never : never] extends infer T_554 ? T_554 extends T_552[PrefixWith, K_314, "."> extends infer T_553 ? T_553 extends PrefixWith, K_314, "."> ? T_553 extends SplitAC ? "value" : "default" : never : never] ? T_554 extends CanBeExpanded ? T_554[PrefixWith, K_314, "."> extends infer T_553 ? T_553 extends PrefixWith, K_314, "."> ? T_553 extends SplitAC ? "value" : "default" : never : never] extends infer T_555 ? T_555 extends T_554[PrefixWith, K_314, "."> extends infer T_553 ? T_553 extends PrefixWith, K_314, "."> ? T_553 extends SplitAC ? "value" : "default" : never : never] ? T_555 extends CanBeExpanded ? T_555[PrefixWith, K_314, "."> extends infer T_553 ? T_553 extends PrefixWith, K_314, "."> ? T_553 extends SplitAC ? "value" : "default" : never : never] extends infer T_556 ? T_556 extends T_555[PrefixWith, K_314, "."> extends infer T_553 ? T_553 extends PrefixWith, K_314, "."> ? T_553 extends SplitAC ? "value" : "default" : never : never] ? T_556 extends CanBeExpanded ? T_556[PrefixWith, K_314, "."> extends infer T_553 ? T_553 extends PrefixWith, K_314, "."> ? T_553 extends SplitAC ? "value" : "default" : never : never] extends infer T_557 ? T_557 extends T_556[PrefixWith, K_314, "."> extends infer T_553 ? T_553 extends PrefixWith, K_314, "."> ? T_553 extends SplitAC ? "value" : "default" : never : never] ? T_557 extends CanBeExpanded ? any : T_557 extends (infer U)[] ? any[] : T_557 extends object ? { [K_315 in keyof T_557]-?: T_557[K_315] extends infer T_558 ? T_558 extends T_557[K_315] ? T_558 extends CanBeExpanded ? T_558["default"] : T_558 : never : never; } : T_557 : never : never : T_556 extends (infer U)[] ? any[] : T_556 extends object ? { [K_316 in keyof T_556]-?: T_556[K_316] extends infer T_559 ? T_559 extends T_556[K_316] ? T_559 extends CanBeExpanded ? T_559["default"] : T_559 : never : never; } : T_556 : never : never : T_555 extends (infer U)[] ? any[] : T_555 extends object ? { [K_317 in keyof T_555]-?: T_555[K_317] extends infer T_560 ? T_560 extends T_555[K_317] ? T_560 extends CanBeExpanded ? T_560["default"] : T_560 : never : never; } : T_555 : never : never : T_554 extends (infer U)[] ? any[] : T_554 extends object ? { [K_318 in keyof T_554]-?: T_554[K_318] extends infer T_561 ? T_561 extends T_554[K_318] ? T_561 extends CanBeExpanded ? T_561["default"] : T_561 : never : never; } : T_554 : never : never : T_552 extends (infer U)[] ? any[] : T_552 extends object ? { [K_319 in keyof T_552]-?: T_552[K_319] extends infer T_562 ? T_562 extends T_552[K_319] ? T_562 extends CanBeExpanded ? T_562["default"] : T_562 : never : never; } : T_552 : never : never; } : T_522 : never : never; } : T_450 : never : never : T_449 extends (infer U)[] ? any[] : T_449 extends object ? { [K_320 in keyof T_449]-?: T_449[K_320] extends infer T_563 ? T_563 extends T_449[K_320] ? T_563 extends CanBeExpanded ? T_563[PrefixWith extends infer T_564 ? T_564 extends PrefixWith ? T_564 extends SplitAC ? "value" : "default" : never : never] extends infer T_565 ? T_565 extends T_563[PrefixWith extends infer T_564 ? T_564 extends PrefixWith ? T_564 extends SplitAC ? "value" : "default" : never : never] ? T_565 extends CanBeExpanded ? T_565[PrefixWith extends infer T_564 ? T_564 extends PrefixWith ? T_564 extends SplitAC ? "value" : "default" : never : never] extends infer T_566 ? T_566 extends T_565[PrefixWith extends infer T_564 ? T_564 extends PrefixWith ? T_564 extends SplitAC ? "value" : "default" : never : never] ? T_566 extends CanBeExpanded ? T_566[PrefixWith extends infer T_564 ? T_564 extends PrefixWith ? T_564 extends SplitAC ? "value" : "default" : never : never] extends infer T_567 ? T_567 extends T_566[PrefixWith extends infer T_564 ? T_564 extends PrefixWith ? T_564 extends SplitAC ? "value" : "default" : never : never] ? T_567 extends CanBeExpanded ? T_567[PrefixWith extends infer T_564 ? T_564 extends PrefixWith ? T_564 extends SplitAC ? "value" : "default" : never : never] extends infer T_568 ? T_568 extends T_567[PrefixWith extends infer T_564 ? T_564 extends PrefixWith ? T_564 extends SplitAC ? "value" : "default" : never : never] ? T_568 extends CanBeExpanded ? T_568[PrefixWith extends infer T_564 ? T_564 extends PrefixWith ? T_564 extends SplitAC ? "value" : "default" : never : never] extends infer T_569 ? T_569 extends T_568[PrefixWith extends infer T_564 ? T_564 extends PrefixWith ? T_564 extends SplitAC ? "value" : "default" : never : never] ? T_569 extends CanBeExpanded ? T_569[PrefixWith extends infer T_564 ? T_564 extends PrefixWith ? T_564 extends SplitAC ? "value" : "default" : never : never] extends infer T_570 ? T_570 extends T_569[PrefixWith extends infer T_564 ? T_564 extends PrefixWith ? T_564 extends SplitAC ? "value" : "default" : never : never] ? T_570 extends CanBeExpanded ? any : T_570 extends (infer U)[] ? any[] : T_570 extends object ? { [K_321 in keyof T_570]-?: any; } : T_570 : never : never : T_569 extends (infer U)[] ? any[] : T_569 extends object ? { [K_322 in keyof T_569]-?: T_569[K_322] extends infer T_571 ? T_571 extends T_569[K_322] ? T_571 extends CanBeExpanded ? any : T_571 extends (infer U)[] ? any[] : T_571 extends object ? { [K_323 in keyof T_571]-?: T_571[K_323] extends infer T_572 ? T_572 extends T_571[K_323] ? T_572 extends CanBeExpanded ? T_572["default"] : T_572 : never : never; } : T_571 : never : never; } : T_569 : never : never : T_568 extends (infer U)[] ? any[] : T_568 extends object ? { [K_324 in keyof T_568]-?: T_568[K_324] extends infer T_573 ? T_573 extends T_568[K_324] ? T_573 extends CanBeExpanded ? T_573[PrefixWith, K_324, "."> extends infer T_574 ? T_574 extends PrefixWith, K_324, "."> ? T_574 extends SplitAC ? "value" : "default" : never : never] extends infer T_575 ? T_575 extends T_573[PrefixWith, K_324, "."> extends infer T_574 ? T_574 extends PrefixWith, K_324, "."> ? T_574 extends SplitAC ? "value" : "default" : never : never] ? T_575 extends CanBeExpanded ? any : T_575 extends (infer U)[] ? any[] : T_575 extends object ? { [K_325 in keyof T_575]-?: T_575[K_325] extends infer T_576 ? T_576 extends T_575[K_325] ? T_576 extends CanBeExpanded ? T_576["default"] : T_576 : never : never; } : T_575 : never : never : T_573 extends (infer U)[] ? any[] : T_573 extends object ? { [K_326 in keyof T_573]-?: T_573[K_326] extends infer T_577 ? T_577 extends T_573[K_326] ? T_577 extends CanBeExpanded ? T_577["default"] : T_577 : never : never; } : T_573 : never : never; } : T_568 : never : never : T_567 extends (infer U)[] ? any[] : T_567 extends object ? { [K_327 in keyof T_567]-?: T_567[K_327] extends infer T_578 ? T_578 extends T_567[K_327] ? T_578 extends CanBeExpanded ? T_578[PrefixWith, K_327, "."> extends infer T_579 ? T_579 extends PrefixWith, K_327, "."> ? T_579 extends SplitAC ? "value" : "default" : never : never] extends infer T_580 ? T_580 extends T_578[PrefixWith, K_327, "."> extends infer T_579 ? T_579 extends PrefixWith, K_327, "."> ? T_579 extends SplitAC ? "value" : "default" : never : never] ? T_580 extends CanBeExpanded ? T_580[PrefixWith, K_327, "."> extends infer T_579 ? T_579 extends PrefixWith, K_327, "."> ? T_579 extends SplitAC ? "value" : "default" : never : never] extends infer T_581 ? T_581 extends T_580[PrefixWith, K_327, "."> extends infer T_579 ? T_579 extends PrefixWith, K_327, "."> ? T_579 extends SplitAC ? "value" : "default" : never : never] ? T_581 extends CanBeExpanded ? any : T_581 extends (infer U)[] ? any[] : T_581 extends object ? { [K_328 in keyof T_581]-?: T_581[K_328] extends infer T_582 ? T_582 extends T_581[K_328] ? T_582 extends CanBeExpanded ? T_582["default"] : T_582 : never : never; } : T_581 : never : never : T_580 extends (infer U)[] ? any[] : T_580 extends object ? { [K_329 in keyof T_580]-?: T_580[K_329] extends infer T_583 ? T_583 extends T_580[K_329] ? T_583 extends CanBeExpanded ? T_583["default"] : T_583 : never : never; } : T_580 : never : never : T_578 extends (infer U)[] ? any[] : T_578 extends object ? { [K_330 in keyof T_578]-?: T_578[K_330] extends infer T_584 ? T_584 extends T_578[K_330] ? T_584 extends CanBeExpanded ? T_584["default"] : T_584 : never : never; } : T_578 : never : never; } : T_567 : never : never : T_566 extends (infer U)[] ? any[] : T_566 extends object ? { [K_331 in keyof T_566]-?: T_566[K_331] extends infer T_585 ? T_585 extends T_566[K_331] ? T_585 extends CanBeExpanded ? T_585[PrefixWith, K_331, "."> extends infer T_586 ? T_586 extends PrefixWith, K_331, "."> ? T_586 extends SplitAC ? "value" : "default" : never : never] extends infer T_587 ? T_587 extends T_585[PrefixWith, K_331, "."> extends infer T_586 ? T_586 extends PrefixWith, K_331, "."> ? T_586 extends SplitAC ? "value" : "default" : never : never] ? T_587 extends CanBeExpanded ? T_587[PrefixWith, K_331, "."> extends infer T_586 ? T_586 extends PrefixWith, K_331, "."> ? T_586 extends SplitAC ? "value" : "default" : never : never] extends infer T_588 ? T_588 extends T_587[PrefixWith, K_331, "."> extends infer T_586 ? T_586 extends PrefixWith, K_331, "."> ? T_586 extends SplitAC ? "value" : "default" : never : never] ? T_588 extends CanBeExpanded ? T_588[PrefixWith, K_331, "."> extends infer T_586 ? T_586 extends PrefixWith, K_331, "."> ? T_586 extends SplitAC ? "value" : "default" : never : never] extends infer T_589 ? T_589 extends T_588[PrefixWith, K_331, "."> extends infer T_586 ? T_586 extends PrefixWith, K_331, "."> ? T_586 extends SplitAC ? "value" : "default" : never : never] ? T_589 extends CanBeExpanded ? any : T_589 extends (infer U)[] ? any[] : T_589 extends object ? { [K_332 in keyof T_589]-?: T_589[K_332] extends infer T_590 ? T_590 extends T_589[K_332] ? T_590 extends CanBeExpanded ? T_590["default"] : T_590 : never : never; } : T_589 : never : never : T_588 extends (infer U)[] ? any[] : T_588 extends object ? { [K_333 in keyof T_588]-?: T_588[K_333] extends infer T_591 ? T_591 extends T_588[K_333] ? T_591 extends CanBeExpanded ? T_591["default"] : T_591 : never : never; } : T_588 : never : never : T_587 extends (infer U)[] ? any[] : T_587 extends object ? { [K_334 in keyof T_587]-?: T_587[K_334] extends infer T_592 ? T_592 extends T_587[K_334] ? T_592 extends CanBeExpanded ? T_592["default"] : T_592 : never : never; } : T_587 : never : never : T_585 extends (infer U)[] ? any[] : T_585 extends object ? { [K_335 in keyof T_585]-?: T_585[K_335] extends infer T_593 ? T_593 extends T_585[K_335] ? T_593 extends CanBeExpanded ? T_593["default"] : T_593 : never : never; } : T_585 : never : never; } : T_566 : never : never : T_565 extends (infer U)[] ? any[] : T_565 extends object ? { [K_336 in keyof T_565]-?: T_565[K_336] extends infer T_594 ? T_594 extends T_565[K_336] ? T_594 extends CanBeExpanded ? T_594[PrefixWith, K_336, "."> extends infer T_595 ? T_595 extends PrefixWith, K_336, "."> ? T_595 extends SplitAC ? "value" : "default" : never : never] extends infer T_596 ? T_596 extends T_594[PrefixWith, K_336, "."> extends infer T_595 ? T_595 extends PrefixWith, K_336, "."> ? T_595 extends SplitAC ? "value" : "default" : never : never] ? T_596 extends CanBeExpanded ? T_596[PrefixWith, K_336, "."> extends infer T_595 ? T_595 extends PrefixWith, K_336, "."> ? T_595 extends SplitAC ? "value" : "default" : never : never] extends infer T_597 ? T_597 extends T_596[PrefixWith, K_336, "."> extends infer T_595 ? T_595 extends PrefixWith, K_336, "."> ? T_595 extends SplitAC ? "value" : "default" : never : never] ? T_597 extends CanBeExpanded ? T_597[PrefixWith, K_336, "."> extends infer T_595 ? T_595 extends PrefixWith, K_336, "."> ? T_595 extends SplitAC ? "value" : "default" : never : never] extends infer T_598 ? T_598 extends T_597[PrefixWith, K_336, "."> extends infer T_595 ? T_595 extends PrefixWith, K_336, "."> ? T_595 extends SplitAC ? "value" : "default" : never : never] ? T_598 extends CanBeExpanded ? T_598[PrefixWith, K_336, "."> extends infer T_595 ? T_595 extends PrefixWith, K_336, "."> ? T_595 extends SplitAC ? "value" : "default" : never : never] extends infer T_599 ? T_599 extends T_598[PrefixWith, K_336, "."> extends infer T_595 ? T_595 extends PrefixWith, K_336, "."> ? T_595 extends SplitAC ? "value" : "default" : never : never] ? T_599 extends CanBeExpanded ? any : T_599 extends (infer U)[] ? any[] : T_599 extends object ? { [K_337 in keyof T_599]-?: T_599[K_337] extends infer T_600 ? T_600 extends T_599[K_337] ? T_600 extends CanBeExpanded ? T_600["default"] : T_600 : never : never; } : T_599 : never : never : T_598 extends (infer U)[] ? any[] : T_598 extends object ? { [K_338 in keyof T_598]-?: T_598[K_338] extends infer T_601 ? T_601 extends T_598[K_338] ? T_601 extends CanBeExpanded ? T_601["default"] : T_601 : never : never; } : T_598 : never : never : T_597 extends (infer U)[] ? any[] : T_597 extends object ? { [K_339 in keyof T_597]-?: T_597[K_339] extends infer T_602 ? T_602 extends T_597[K_339] ? T_602 extends CanBeExpanded ? T_602["default"] : T_602 : never : never; } : T_597 : never : never : T_596 extends (infer U)[] ? any[] : T_596 extends object ? { [K_340 in keyof T_596]-?: T_596[K_340] extends infer T_603 ? T_603 extends T_596[K_340] ? T_603 extends CanBeExpanded ? T_603["default"] : T_603 : never : never; } : T_596 : never : never : T_594 extends (infer U)[] ? any[] : T_594 extends object ? { [K_341 in keyof T_594]-?: T_594[K_341] extends infer T_604 ? T_604 extends T_594[K_341] ? T_604 extends CanBeExpanded ? T_604["default"] : T_604 : never : never; } : T_594 : never : never; } : T_565 : never : never : T_563 extends (infer U)[] ? any[] : T_563 extends object ? { [K_342 in keyof T_563]-?: T_563[K_342] extends infer T_605 ? T_605 extends T_563[K_342] ? T_605 extends CanBeExpanded ? T_605[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] extends infer T_607 ? T_607 extends T_605[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] ? T_607 extends CanBeExpanded ? T_607[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] extends infer T_608 ? T_608 extends T_607[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] ? T_608 extends CanBeExpanded ? T_608[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] extends infer T_609 ? T_609 extends T_608[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] ? T_609 extends CanBeExpanded ? T_609[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] extends infer T_610 ? T_610 extends T_609[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] ? T_610 extends CanBeExpanded ? T_610[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] extends infer T_611 ? T_611 extends T_610[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] ? T_611 extends CanBeExpanded ? any : T_611 extends (infer U)[] ? any[] : T_611 extends object ? { [K_343 in keyof T_611]-?: T_611[K_343] extends infer T_612 ? T_612 extends T_611[K_343] ? T_612 extends CanBeExpanded ? T_612["default"] : T_612 : never : never; } : T_611 : never : never : T_610 extends (infer U)[] ? any[] : T_610 extends object ? { [K_344 in keyof T_610]-?: T_610[K_344] extends infer T_613 ? T_613 extends T_610[K_344] ? T_613 extends CanBeExpanded ? T_613["default"] : T_613 : never : never; } : T_610 : never : never : T_609 extends (infer U)[] ? any[] : T_609 extends object ? { [K_345 in keyof T_609]-?: T_609[K_345] extends infer T_614 ? T_614 extends T_609[K_345] ? T_614 extends CanBeExpanded ? T_614["default"] : T_614 : never : never; } : T_609 : never : never : T_608 extends (infer U)[] ? any[] : T_608 extends object ? { [K_346 in keyof T_608]-?: T_608[K_346] extends infer T_615 ? T_615 extends T_608[K_346] ? T_615 extends CanBeExpanded ? T_615["default"] : T_615 : never : never; } : T_608 : never : never : T_607 extends (infer U)[] ? any[] : T_607 extends object ? { [K_347 in keyof T_607]-?: T_607[K_347] extends infer T_616 ? T_616 extends T_607[K_347] ? T_616 extends CanBeExpanded ? T_616["default"] : T_616 : never : never; } : T_607 : never : never : T_605 extends (infer U)[] ? any[] : T_605 extends object ? { [K_348 in keyof T_605]-?: T_605[K_348] extends infer T_617 ? T_617 extends T_605[K_348] ? T_617 extends CanBeExpanded ? T_617["default"] : T_617 : never : never; } : T_605 : never : never; } : T_563 : never : never; } : T_449 : never : never : T_447 extends (infer U)[] ? any[] : T_447 extends object ? { [K_349 in keyof T_447]-?: T_447[K_349] extends infer T_618 ? T_618 extends T_447[K_349] ? T_618 extends CanBeExpanded ? T_618[PrefixWith extends infer T_619 ? T_619 extends PrefixWith ? T_619 extends SplitAC ? "value" : "default" : never : never] extends infer T_620 ? T_620 extends T_618[PrefixWith extends infer T_619 ? T_619 extends PrefixWith ? T_619 extends SplitAC ? "value" : "default" : never : never] ? T_620 extends CanBeExpanded ? T_620[PrefixWith extends infer T_619 ? T_619 extends PrefixWith ? T_619 extends SplitAC ? "value" : "default" : never : never] extends infer T_621 ? T_621 extends T_620[PrefixWith extends infer T_619 ? T_619 extends PrefixWith ? T_619 extends SplitAC ? "value" : "default" : never : never] ? T_621 extends CanBeExpanded ? T_621[PrefixWith extends infer T_619 ? T_619 extends PrefixWith ? T_619 extends SplitAC ? "value" : "default" : never : never] extends infer T_622 ? T_622 extends T_621[PrefixWith extends infer T_619 ? T_619 extends PrefixWith ? T_619 extends SplitAC ? "value" : "default" : never : never] ? T_622 extends CanBeExpanded ? T_622[PrefixWith extends infer T_619 ? T_619 extends PrefixWith ? T_619 extends SplitAC ? "value" : "default" : never : never] extends infer T_623 ? T_623 extends T_622[PrefixWith extends infer T_619 ? T_619 extends PrefixWith ? T_619 extends SplitAC ? "value" : "default" : never : never] ? T_623 extends CanBeExpanded ? T_623[PrefixWith extends infer T_619 ? T_619 extends PrefixWith ? T_619 extends SplitAC ? "value" : "default" : never : never] extends infer T_624 ? T_624 extends T_623[PrefixWith extends infer T_619 ? T_619 extends PrefixWith ? T_619 extends SplitAC ? "value" : "default" : never : never] ? T_624 extends CanBeExpanded ? T_624[PrefixWith extends infer T_619 ? T_619 extends PrefixWith ? T_619 extends SplitAC ? "value" : "default" : never : never] extends infer T_625 ? T_625 extends T_624[PrefixWith extends infer T_619 ? T_619 extends PrefixWith ? T_619 extends SplitAC ? "value" : "default" : never : never] ? T_625 extends CanBeExpanded ? T_625[PrefixWith extends infer T_619 ? T_619 extends PrefixWith ? T_619 extends SplitAC ? "value" : "default" : never : never] extends infer T_626 ? T_626 extends T_625[PrefixWith extends infer T_619 ? T_619 extends PrefixWith ? T_619 extends SplitAC ? "value" : "default" : never : never] ? T_626 extends CanBeExpanded ? any : T_626 extends (infer U)[] ? any[] : T_626 extends object ? { [K_350 in keyof T_626]-?: any; } : T_626 : never : never : T_625 extends (infer U)[] ? any[] : T_625 extends object ? { [K_351 in keyof T_625]-?: T_625[K_351] extends infer T_627 ? T_627 extends T_625[K_351] ? T_627 extends CanBeExpanded ? any : T_627 extends (infer U)[] ? any[] : T_627 extends object ? { [K_352 in keyof T_627]-?: T_627[K_352] extends infer T_628 ? T_628 extends T_627[K_352] ? T_628 extends CanBeExpanded ? T_628["default"] : T_628 : never : never; } : T_627 : never : never; } : T_625 : never : never : T_624 extends (infer U)[] ? any[] : T_624 extends object ? { [K_353 in keyof T_624]-?: T_624[K_353] extends infer T_629 ? T_629 extends T_624[K_353] ? T_629 extends CanBeExpanded ? T_629[PrefixWith, K_353, "."> extends infer T_630 ? T_630 extends PrefixWith, K_353, "."> ? T_630 extends SplitAC ? "value" : "default" : never : never] extends infer T_631 ? T_631 extends T_629[PrefixWith, K_353, "."> extends infer T_630 ? T_630 extends PrefixWith, K_353, "."> ? T_630 extends SplitAC ? "value" : "default" : never : never] ? T_631 extends CanBeExpanded ? any : T_631 extends (infer U)[] ? any[] : T_631 extends object ? { [K_354 in keyof T_631]-?: T_631[K_354] extends infer T_632 ? T_632 extends T_631[K_354] ? T_632 extends CanBeExpanded ? T_632["default"] : T_632 : never : never; } : T_631 : never : never : T_629 extends (infer U)[] ? any[] : T_629 extends object ? { [K_355 in keyof T_629]-?: T_629[K_355] extends infer T_633 ? T_633 extends T_629[K_355] ? T_633 extends CanBeExpanded ? T_633["default"] : T_633 : never : never; } : T_629 : never : never; } : T_624 : never : never : T_623 extends (infer U)[] ? any[] : T_623 extends object ? { [K_356 in keyof T_623]-?: T_623[K_356] extends infer T_634 ? T_634 extends T_623[K_356] ? T_634 extends CanBeExpanded ? T_634[PrefixWith, K_356, "."> extends infer T_635 ? T_635 extends PrefixWith, K_356, "."> ? T_635 extends SplitAC ? "value" : "default" : never : never] extends infer T_636 ? T_636 extends T_634[PrefixWith, K_356, "."> extends infer T_635 ? T_635 extends PrefixWith, K_356, "."> ? T_635 extends SplitAC ? "value" : "default" : never : never] ? T_636 extends CanBeExpanded ? T_636[PrefixWith, K_356, "."> extends infer T_635 ? T_635 extends PrefixWith, K_356, "."> ? T_635 extends SplitAC ? "value" : "default" : never : never] extends infer T_637 ? T_637 extends T_636[PrefixWith, K_356, "."> extends infer T_635 ? T_635 extends PrefixWith, K_356, "."> ? T_635 extends SplitAC ? "value" : "default" : never : never] ? T_637 extends CanBeExpanded ? any : T_637 extends (infer U)[] ? any[] : T_637 extends object ? { [K_357 in keyof T_637]-?: T_637[K_357] extends infer T_638 ? T_638 extends T_637[K_357] ? T_638 extends CanBeExpanded ? T_638["default"] : T_638 : never : never; } : T_637 : never : never : T_636 extends (infer U)[] ? any[] : T_636 extends object ? { [K_358 in keyof T_636]-?: T_636[K_358] extends infer T_639 ? T_639 extends T_636[K_358] ? T_639 extends CanBeExpanded ? T_639["default"] : T_639 : never : never; } : T_636 : never : never : T_634 extends (infer U)[] ? any[] : T_634 extends object ? { [K_359 in keyof T_634]-?: T_634[K_359] extends infer T_640 ? T_640 extends T_634[K_359] ? T_640 extends CanBeExpanded ? T_640["default"] : T_640 : never : never; } : T_634 : never : never; } : T_623 : never : never : T_622 extends (infer U)[] ? any[] : T_622 extends object ? { [K_360 in keyof T_622]-?: T_622[K_360] extends infer T_641 ? T_641 extends T_622[K_360] ? T_641 extends CanBeExpanded ? T_641[PrefixWith, K_360, "."> extends infer T_642 ? T_642 extends PrefixWith, K_360, "."> ? T_642 extends SplitAC ? "value" : "default" : never : never] extends infer T_643 ? T_643 extends T_641[PrefixWith, K_360, "."> extends infer T_642 ? T_642 extends PrefixWith, K_360, "."> ? T_642 extends SplitAC ? "value" : "default" : never : never] ? T_643 extends CanBeExpanded ? T_643[PrefixWith, K_360, "."> extends infer T_642 ? T_642 extends PrefixWith, K_360, "."> ? T_642 extends SplitAC ? "value" : "default" : never : never] extends infer T_644 ? T_644 extends T_643[PrefixWith, K_360, "."> extends infer T_642 ? T_642 extends PrefixWith, K_360, "."> ? T_642 extends SplitAC ? "value" : "default" : never : never] ? T_644 extends CanBeExpanded ? T_644[PrefixWith, K_360, "."> extends infer T_642 ? T_642 extends PrefixWith, K_360, "."> ? T_642 extends SplitAC ? "value" : "default" : never : never] extends infer T_645 ? T_645 extends T_644[PrefixWith, K_360, "."> extends infer T_642 ? T_642 extends PrefixWith, K_360, "."> ? T_642 extends SplitAC ? "value" : "default" : never : never] ? T_645 extends CanBeExpanded ? any : T_645 extends (infer U)[] ? any[] : T_645 extends object ? { [K_361 in keyof T_645]-?: T_645[K_361] extends infer T_646 ? T_646 extends T_645[K_361] ? T_646 extends CanBeExpanded ? T_646["default"] : T_646 : never : never; } : T_645 : never : never : T_644 extends (infer U)[] ? any[] : T_644 extends object ? { [K_362 in keyof T_644]-?: T_644[K_362] extends infer T_647 ? T_647 extends T_644[K_362] ? T_647 extends CanBeExpanded ? T_647["default"] : T_647 : never : never; } : T_644 : never : never : T_643 extends (infer U)[] ? any[] : T_643 extends object ? { [K_363 in keyof T_643]-?: T_643[K_363] extends infer T_648 ? T_648 extends T_643[K_363] ? T_648 extends CanBeExpanded ? T_648["default"] : T_648 : never : never; } : T_643 : never : never : T_641 extends (infer U)[] ? any[] : T_641 extends object ? { [K_364 in keyof T_641]-?: T_641[K_364] extends infer T_649 ? T_649 extends T_641[K_364] ? T_649 extends CanBeExpanded ? T_649["default"] : T_649 : never : never; } : T_641 : never : never; } : T_622 : never : never : T_621 extends (infer U)[] ? any[] : T_621 extends object ? { [K_365 in keyof T_621]-?: T_621[K_365] extends infer T_650 ? T_650 extends T_621[K_365] ? T_650 extends CanBeExpanded ? T_650[PrefixWith, K_365, "."> extends infer T_651 ? T_651 extends PrefixWith, K_365, "."> ? T_651 extends SplitAC ? "value" : "default" : never : never] extends infer T_652 ? T_652 extends T_650[PrefixWith, K_365, "."> extends infer T_651 ? T_651 extends PrefixWith, K_365, "."> ? T_651 extends SplitAC ? "value" : "default" : never : never] ? T_652 extends CanBeExpanded ? T_652[PrefixWith, K_365, "."> extends infer T_651 ? T_651 extends PrefixWith, K_365, "."> ? T_651 extends SplitAC ? "value" : "default" : never : never] extends infer T_653 ? T_653 extends T_652[PrefixWith, K_365, "."> extends infer T_651 ? T_651 extends PrefixWith, K_365, "."> ? T_651 extends SplitAC ? "value" : "default" : never : never] ? T_653 extends CanBeExpanded ? T_653[PrefixWith, K_365, "."> extends infer T_651 ? T_651 extends PrefixWith, K_365, "."> ? T_651 extends SplitAC ? "value" : "default" : never : never] extends infer T_654 ? T_654 extends T_653[PrefixWith, K_365, "."> extends infer T_651 ? T_651 extends PrefixWith, K_365, "."> ? T_651 extends SplitAC ? "value" : "default" : never : never] ? T_654 extends CanBeExpanded ? T_654[PrefixWith, K_365, "."> extends infer T_651 ? T_651 extends PrefixWith, K_365, "."> ? T_651 extends SplitAC ? "value" : "default" : never : never] extends infer T_655 ? T_655 extends T_654[PrefixWith, K_365, "."> extends infer T_651 ? T_651 extends PrefixWith, K_365, "."> ? T_651 extends SplitAC ? "value" : "default" : never : never] ? T_655 extends CanBeExpanded ? any : T_655 extends (infer U)[] ? any[] : T_655 extends object ? { [K_366 in keyof T_655]-?: T_655[K_366] extends infer T_656 ? T_656 extends T_655[K_366] ? T_656 extends CanBeExpanded ? T_656["default"] : T_656 : never : never; } : T_655 : never : never : T_654 extends (infer U)[] ? any[] : T_654 extends object ? { [K_367 in keyof T_654]-?: T_654[K_367] extends infer T_657 ? T_657 extends T_654[K_367] ? T_657 extends CanBeExpanded ? T_657["default"] : T_657 : never : never; } : T_654 : never : never : T_653 extends (infer U)[] ? any[] : T_653 extends object ? { [K_368 in keyof T_653]-?: T_653[K_368] extends infer T_658 ? T_658 extends T_653[K_368] ? T_658 extends CanBeExpanded ? T_658["default"] : T_658 : never : never; } : T_653 : never : never : T_652 extends (infer U)[] ? any[] : T_652 extends object ? { [K_369 in keyof T_652]-?: T_652[K_369] extends infer T_659 ? T_659 extends T_652[K_369] ? T_659 extends CanBeExpanded ? T_659["default"] : T_659 : never : never; } : T_652 : never : never : T_650 extends (infer U)[] ? any[] : T_650 extends object ? { [K_370 in keyof T_650]-?: T_650[K_370] extends infer T_660 ? T_660 extends T_650[K_370] ? T_660 extends CanBeExpanded ? T_660["default"] : T_660 : never : never; } : T_650 : never : never; } : T_621 : never : never : T_620 extends (infer U)[] ? any[] : T_620 extends object ? { [K_371 in keyof T_620]-?: T_620[K_371] extends infer T_661 ? T_661 extends T_620[K_371] ? T_661 extends CanBeExpanded ? T_661[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] extends infer T_663 ? T_663 extends T_661[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] ? T_663 extends CanBeExpanded ? T_663[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] extends infer T_664 ? T_664 extends T_663[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] ? T_664 extends CanBeExpanded ? T_664[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] extends infer T_665 ? T_665 extends T_664[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] ? T_665 extends CanBeExpanded ? T_665[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] extends infer T_666 ? T_666 extends T_665[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] ? T_666 extends CanBeExpanded ? T_666[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] extends infer T_667 ? T_667 extends T_666[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] ? T_667 extends CanBeExpanded ? any : T_667 extends (infer U)[] ? any[] : T_667 extends object ? { [K_372 in keyof T_667]-?: T_667[K_372] extends infer T_668 ? T_668 extends T_667[K_372] ? T_668 extends CanBeExpanded ? T_668["default"] : T_668 : never : never; } : T_667 : never : never : T_666 extends (infer U)[] ? any[] : T_666 extends object ? { [K_373 in keyof T_666]-?: T_666[K_373] extends infer T_669 ? T_669 extends T_666[K_373] ? T_669 extends CanBeExpanded ? T_669["default"] : T_669 : never : never; } : T_666 : never : never : T_665 extends (infer U)[] ? any[] : T_665 extends object ? { [K_374 in keyof T_665]-?: T_665[K_374] extends infer T_670 ? T_670 extends T_665[K_374] ? T_670 extends CanBeExpanded ? T_670["default"] : T_670 : never : never; } : T_665 : never : never : T_664 extends (infer U)[] ? any[] : T_664 extends object ? { [K_375 in keyof T_664]-?: T_664[K_375] extends infer T_671 ? T_671 extends T_664[K_375] ? T_671 extends CanBeExpanded ? T_671["default"] : T_671 : never : never; } : T_664 : never : never : T_663 extends (infer U)[] ? any[] : T_663 extends object ? { [K_376 in keyof T_663]-?: T_663[K_376] extends infer T_672 ? T_672 extends T_663[K_376] ? T_672 extends CanBeExpanded ? T_672["default"] : T_672 : never : never; } : T_663 : never : never : T_661 extends (infer U)[] ? any[] : T_661 extends object ? { [K_377 in keyof T_661]-?: T_661[K_377] extends infer T_673 ? T_673 extends T_661[K_377] ? T_673 extends CanBeExpanded ? T_673["default"] : T_673 : never : never; } : T_661 : never : never; } : T_620 : never : never : T_618 extends (infer U)[] ? any[] : T_618 extends object ? { [K_378 in keyof T_618]-?: T_618[K_378] extends infer T_674 ? T_674 extends T_618[K_378] ? T_674 extends CanBeExpanded ? T_674[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] extends infer T_676 ? T_676 extends T_674[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] ? T_676 extends CanBeExpanded ? T_676[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] extends infer T_677 ? T_677 extends T_676[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] ? T_677 extends CanBeExpanded ? T_677[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] extends infer T_678 ? T_678 extends T_677[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] ? T_678 extends CanBeExpanded ? T_678[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] extends infer T_679 ? T_679 extends T_678[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] ? T_679 extends CanBeExpanded ? T_679[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] extends infer T_680 ? T_680 extends T_679[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] ? T_680 extends CanBeExpanded ? T_680[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] extends infer T_681 ? T_681 extends T_680[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] ? T_681 extends CanBeExpanded ? any : T_681 extends (infer U)[] ? any[] : T_681 extends object ? { [K_379 in keyof T_681]-?: T_681[K_379] extends infer T_682 ? T_682 extends T_681[K_379] ? T_682 extends CanBeExpanded ? T_682["default"] : T_682 : never : never; } : T_681 : never : never : T_680 extends (infer U)[] ? any[] : T_680 extends object ? { [K_380 in keyof T_680]-?: T_680[K_380] extends infer T_683 ? T_683 extends T_680[K_380] ? T_683 extends CanBeExpanded ? T_683["default"] : T_683 : never : never; } : T_680 : never : never : T_679 extends (infer U)[] ? any[] : T_679 extends object ? { [K_381 in keyof T_679]-?: T_679[K_381] extends infer T_684 ? T_684 extends T_679[K_381] ? T_684 extends CanBeExpanded ? T_684["default"] : T_684 : never : never; } : T_679 : never : never : T_678 extends (infer U)[] ? any[] : T_678 extends object ? { [K_382 in keyof T_678]-?: T_678[K_382] extends infer T_685 ? T_685 extends T_678[K_382] ? T_685 extends CanBeExpanded ? T_685["default"] : T_685 : never : never; } : T_678 : never : never : T_677 extends (infer U)[] ? any[] : T_677 extends object ? { [K_383 in keyof T_677]-?: T_677[K_383] extends infer T_686 ? T_686 extends T_677[K_383] ? T_686 extends CanBeExpanded ? T_686["default"] : T_686 : never : never; } : T_677 : never : never : T_676 extends (infer U)[] ? any[] : T_676 extends object ? { [K_384 in keyof T_676]-?: T_676[K_384] extends infer T_687 ? T_687 extends T_676[K_384] ? T_687 extends CanBeExpanded ? T_687["default"] : T_687 : never : never; } : T_676 : never : never : T_674 extends (infer U)[] ? any[] : T_674 extends object ? { [K_385 in keyof T_674]-?: T_674[K_385] extends infer T_688 ? T_688 extends T_674[K_385] ? T_688 extends CanBeExpanded ? T_688["default"] : T_688 : never : never; } : T_674 : never : never; } : T_618 : never : never; } : T_447 : never : never; } : T_2 : never : never : T extends (infer U)[] ? any[] : T extends object ? { [K_386 in keyof T]-?: T[K_386] extends infer T_689 ? T_689 extends T[K_386] ? T_689 extends CanBeExpanded ? T_689[string & K_386 extends infer T_690 ? T_690 extends string & K_386 ? T_690 extends SplitAC ? "value" : "default" : never : never] extends infer T_691 ? T_691 extends T_689[string & K_386 extends infer T_690 ? T_690 extends string & K_386 ? T_690 extends SplitAC ? "value" : "default" : never : never] ? T_691 extends CanBeExpanded ? T_691[string & K_386 extends infer T_690 ? T_690 extends string & K_386 ? T_690 extends SplitAC ? "value" : "default" : never : never] extends infer T_692 ? T_692 extends T_691[string & K_386 extends infer T_690 ? T_690 extends string & K_386 ? T_690 extends SplitAC ? "value" : "default" : never : never] ? T_692 extends CanBeExpanded ? T_692[string & K_386 extends infer T_690 ? T_690 extends string & K_386 ? T_690 extends SplitAC ? "value" : "default" : never : never] extends infer T_693 ? T_693 extends T_692[string & K_386 extends infer T_690 ? T_690 extends string & K_386 ? T_690 extends SplitAC ? "value" : "default" : never : never] ? T_693 extends CanBeExpanded ? T_693[string & K_386 extends infer T_690 ? T_690 extends string & K_386 ? T_690 extends SplitAC ? "value" : "default" : never : never] extends infer T_694 ? T_694 extends T_693[string & K_386 extends infer T_690 ? T_690 extends string & K_386 ? T_690 extends SplitAC ? "value" : "default" : never : never] ? T_694 extends CanBeExpanded ? T_694[string & K_386 extends infer T_690 ? T_690 extends string & K_386 ? T_690 extends SplitAC ? "value" : "default" : never : never] extends infer T_695 ? T_695 extends T_694[string & K_386 extends infer T_690 ? T_690 extends string & K_386 ? T_690 extends SplitAC ? "value" : "default" : never : never] ? T_695 extends CanBeExpanded ? T_695[string & K_386 extends infer T_690 ? T_690 extends string & K_386 ? T_690 extends SplitAC ? "value" : "default" : never : never] extends infer T_696 ? T_696 extends T_695[string & K_386 extends infer T_690 ? T_690 extends string & K_386 ? T_690 extends SplitAC ? "value" : "default" : never : never] ? T_696 extends CanBeExpanded ? T_696[string & K_386 extends infer T_690 ? T_690 extends string & K_386 ? T_690 extends SplitAC ? "value" : "default" : never : never] extends infer T_697 ? T_697 extends T_696[string & K_386 extends infer T_690 ? T_690 extends string & K_386 ? T_690 extends SplitAC ? "value" : "default" : never : never] ? T_697 extends CanBeExpanded ? T_697[string & K_386 extends infer T_690 ? T_690 extends string & K_386 ? T_690 extends SplitAC ? "value" : "default" : never : never] extends infer T_698 ? T_698 extends T_697[string & K_386 extends infer T_690 ? T_690 extends string & K_386 ? T_690 extends SplitAC ? "value" : "default" : never : never] ? T_698 extends CanBeExpanded ? T_698[string & K_386 extends infer T_690 ? T_690 extends string & K_386 ? T_690 extends SplitAC ? "value" : "default" : never : never] extends infer T_699 ? T_699 extends T_698[string & K_386 extends infer T_690 ? T_690 extends string & K_386 ? T_690 extends SplitAC ? "value" : "default" : never : never] ? T_699 extends CanBeExpanded ? any : T_699 extends (infer U)[] ? any[] : T_699 extends object ? { [K_387 in keyof T_699]-?: any; } : T_699 : never : never : T_698 extends (infer U)[] ? any[] : T_698 extends object ? { [K_388 in keyof T_698]-?: T_698[K_388] extends infer T_700 ? T_700 extends T_698[K_388] ? T_700 extends CanBeExpanded ? any : T_700 extends (infer U)[] ? any[] : T_700 extends object ? { [K_389 in keyof T_700]-?: any; } : T_700 : never : never; } : T_698 : never : never : T_697 extends (infer U)[] ? any[] : T_697 extends object ? { [K_390 in keyof T_697]-?: T_697[K_390] extends infer T_701 ? T_701 extends T_697[K_390] ? T_701 extends CanBeExpanded ? T_701[PrefixWith extends infer T_702 ? T_702 extends PrefixWith ? T_702 extends SplitAC ? "value" : "default" : never : never] extends infer T_703 ? T_703 extends T_701[PrefixWith extends infer T_702 ? T_702 extends PrefixWith ? T_702 extends SplitAC ? "value" : "default" : never : never] ? T_703 extends CanBeExpanded ? any : T_703 extends (infer U)[] ? any[] : T_703 extends object ? { [K_391 in keyof T_703]-?: any; } : T_703 : never : never : T_701 extends (infer U)[] ? any[] : T_701 extends object ? { [K_392 in keyof T_701]-?: T_701[K_392] extends infer T_704 ? T_704 extends T_701[K_392] ? T_704 extends CanBeExpanded ? any : T_704 extends (infer U)[] ? any[] : T_704 extends object ? { [K_393 in keyof T_704]-?: T_704[K_393] extends infer T_705 ? T_705 extends T_704[K_393] ? T_705 extends CanBeExpanded ? T_705["default"] : T_705 : never : never; } : T_704 : never : never; } : T_701 : never : never; } : T_697 : never : never : T_696 extends (infer U)[] ? any[] : T_696 extends object ? { [K_394 in keyof T_696]-?: T_696[K_394] extends infer T_706 ? T_706 extends T_696[K_394] ? T_706 extends CanBeExpanded ? T_706[PrefixWith extends infer T_707 ? T_707 extends PrefixWith ? T_707 extends SplitAC ? "value" : "default" : never : never] extends infer T_708 ? T_708 extends T_706[PrefixWith extends infer T_707 ? T_707 extends PrefixWith ? T_707 extends SplitAC ? "value" : "default" : never : never] ? T_708 extends CanBeExpanded ? T_708[PrefixWith extends infer T_707 ? T_707 extends PrefixWith ? T_707 extends SplitAC ? "value" : "default" : never : never] extends infer T_709 ? T_709 extends T_708[PrefixWith extends infer T_707 ? T_707 extends PrefixWith ? T_707 extends SplitAC ? "value" : "default" : never : never] ? T_709 extends CanBeExpanded ? any : T_709 extends (infer U)[] ? any[] : T_709 extends object ? { [K_395 in keyof T_709]-?: any; } : T_709 : never : never : T_708 extends (infer U)[] ? any[] : T_708 extends object ? { [K_396 in keyof T_708]-?: T_708[K_396] extends infer T_710 ? T_710 extends T_708[K_396] ? T_710 extends CanBeExpanded ? any : T_710 extends (infer U)[] ? any[] : T_710 extends object ? { [K_397 in keyof T_710]-?: T_710[K_397] extends infer T_711 ? T_711 extends T_710[K_397] ? T_711 extends CanBeExpanded ? T_711["default"] : T_711 : never : never; } : T_710 : never : never; } : T_708 : never : never : T_706 extends (infer U)[] ? any[] : T_706 extends object ? { [K_398 in keyof T_706]-?: T_706[K_398] extends infer T_712 ? T_712 extends T_706[K_398] ? T_712 extends CanBeExpanded ? T_712[PrefixWith, K_398, "."> extends infer T_713 ? T_713 extends PrefixWith, K_398, "."> ? T_713 extends SplitAC ? "value" : "default" : never : never] extends infer T_714 ? T_714 extends T_712[PrefixWith, K_398, "."> extends infer T_713 ? T_713 extends PrefixWith, K_398, "."> ? T_713 extends SplitAC ? "value" : "default" : never : never] ? T_714 extends CanBeExpanded ? any : T_714 extends (infer U)[] ? any[] : T_714 extends object ? { [K_399 in keyof T_714]-?: T_714[K_399] extends infer T_715 ? T_715 extends T_714[K_399] ? T_715 extends CanBeExpanded ? T_715["default"] : T_715 : never : never; } : T_714 : never : never : T_712 extends (infer U)[] ? any[] : T_712 extends object ? { [K_400 in keyof T_712]-?: T_712[K_400] extends infer T_716 ? T_716 extends T_712[K_400] ? T_716 extends CanBeExpanded ? T_716["default"] : T_716 : never : never; } : T_712 : never : never; } : T_706 : never : never; } : T_696 : never : never : T_695 extends (infer U)[] ? any[] : T_695 extends object ? { [K_401 in keyof T_695]-?: T_695[K_401] extends infer T_717 ? T_717 extends T_695[K_401] ? T_717 extends CanBeExpanded ? T_717[PrefixWith extends infer T_718 ? T_718 extends PrefixWith ? T_718 extends SplitAC ? "value" : "default" : never : never] extends infer T_719 ? T_719 extends T_717[PrefixWith extends infer T_718 ? T_718 extends PrefixWith ? T_718 extends SplitAC ? "value" : "default" : never : never] ? T_719 extends CanBeExpanded ? T_719[PrefixWith extends infer T_718 ? T_718 extends PrefixWith ? T_718 extends SplitAC ? "value" : "default" : never : never] extends infer T_720 ? T_720 extends T_719[PrefixWith extends infer T_718 ? T_718 extends PrefixWith ? T_718 extends SplitAC ? "value" : "default" : never : never] ? T_720 extends CanBeExpanded ? T_720[PrefixWith extends infer T_718 ? T_718 extends PrefixWith ? T_718 extends SplitAC ? "value" : "default" : never : never] extends infer T_721 ? T_721 extends T_720[PrefixWith extends infer T_718 ? T_718 extends PrefixWith ? T_718 extends SplitAC ? "value" : "default" : never : never] ? T_721 extends CanBeExpanded ? any : T_721 extends (infer U)[] ? any[] : T_721 extends object ? { [K_402 in keyof T_721]-?: any; } : T_721 : never : never : T_720 extends (infer U)[] ? any[] : T_720 extends object ? { [K_403 in keyof T_720]-?: T_720[K_403] extends infer T_722 ? T_722 extends T_720[K_403] ? T_722 extends CanBeExpanded ? any : T_722 extends (infer U)[] ? any[] : T_722 extends object ? { [K_404 in keyof T_722]-?: T_722[K_404] extends infer T_723 ? T_723 extends T_722[K_404] ? T_723 extends CanBeExpanded ? T_723["default"] : T_723 : never : never; } : T_722 : never : never; } : T_720 : never : never : T_719 extends (infer U)[] ? any[] : T_719 extends object ? { [K_405 in keyof T_719]-?: T_719[K_405] extends infer T_724 ? T_724 extends T_719[K_405] ? T_724 extends CanBeExpanded ? T_724[PrefixWith, K_405, "."> extends infer T_725 ? T_725 extends PrefixWith, K_405, "."> ? T_725 extends SplitAC ? "value" : "default" : never : never] extends infer T_726 ? T_726 extends T_724[PrefixWith, K_405, "."> extends infer T_725 ? T_725 extends PrefixWith, K_405, "."> ? T_725 extends SplitAC ? "value" : "default" : never : never] ? T_726 extends CanBeExpanded ? any : T_726 extends (infer U)[] ? any[] : T_726 extends object ? { [K_406 in keyof T_726]-?: T_726[K_406] extends infer T_727 ? T_727 extends T_726[K_406] ? T_727 extends CanBeExpanded ? T_727["default"] : T_727 : never : never; } : T_726 : never : never : T_724 extends (infer U)[] ? any[] : T_724 extends object ? { [K_407 in keyof T_724]-?: T_724[K_407] extends infer T_728 ? T_728 extends T_724[K_407] ? T_728 extends CanBeExpanded ? T_728["default"] : T_728 : never : never; } : T_724 : never : never; } : T_719 : never : never : T_717 extends (infer U)[] ? any[] : T_717 extends object ? { [K_408 in keyof T_717]-?: T_717[K_408] extends infer T_729 ? T_729 extends T_717[K_408] ? T_729 extends CanBeExpanded ? T_729[PrefixWith, K_408, "."> extends infer T_730 ? T_730 extends PrefixWith, K_408, "."> ? T_730 extends SplitAC ? "value" : "default" : never : never] extends infer T_731 ? T_731 extends T_729[PrefixWith, K_408, "."> extends infer T_730 ? T_730 extends PrefixWith, K_408, "."> ? T_730 extends SplitAC ? "value" : "default" : never : never] ? T_731 extends CanBeExpanded ? T_731[PrefixWith, K_408, "."> extends infer T_730 ? T_730 extends PrefixWith, K_408, "."> ? T_730 extends SplitAC ? "value" : "default" : never : never] extends infer T_732 ? T_732 extends T_731[PrefixWith, K_408, "."> extends infer T_730 ? T_730 extends PrefixWith, K_408, "."> ? T_730 extends SplitAC ? "value" : "default" : never : never] ? T_732 extends CanBeExpanded ? any : T_732 extends (infer U)[] ? any[] : T_732 extends object ? { [K_409 in keyof T_732]-?: T_732[K_409] extends infer T_733 ? T_733 extends T_732[K_409] ? T_733 extends CanBeExpanded ? T_733["default"] : T_733 : never : never; } : T_732 : never : never : T_731 extends (infer U)[] ? any[] : T_731 extends object ? { [K_410 in keyof T_731]-?: T_731[K_410] extends infer T_734 ? T_734 extends T_731[K_410] ? T_734 extends CanBeExpanded ? T_734["default"] : T_734 : never : never; } : T_731 : never : never : T_729 extends (infer U)[] ? any[] : T_729 extends object ? { [K_411 in keyof T_729]-?: T_729[K_411] extends infer T_735 ? T_735 extends T_729[K_411] ? T_735 extends CanBeExpanded ? T_735["default"] : T_735 : never : never; } : T_729 : never : never; } : T_717 : never : never; } : T_695 : never : never : T_694 extends (infer U)[] ? any[] : T_694 extends object ? { [K_412 in keyof T_694]-?: T_694[K_412] extends infer T_736 ? T_736 extends T_694[K_412] ? T_736 extends CanBeExpanded ? T_736[PrefixWith extends infer T_737 ? T_737 extends PrefixWith ? T_737 extends SplitAC ? "value" : "default" : never : never] extends infer T_738 ? T_738 extends T_736[PrefixWith extends infer T_737 ? T_737 extends PrefixWith ? T_737 extends SplitAC ? "value" : "default" : never : never] ? T_738 extends CanBeExpanded ? T_738[PrefixWith extends infer T_737 ? T_737 extends PrefixWith ? T_737 extends SplitAC ? "value" : "default" : never : never] extends infer T_739 ? T_739 extends T_738[PrefixWith extends infer T_737 ? T_737 extends PrefixWith ? T_737 extends SplitAC ? "value" : "default" : never : never] ? T_739 extends CanBeExpanded ? T_739[PrefixWith extends infer T_737 ? T_737 extends PrefixWith ? T_737 extends SplitAC ? "value" : "default" : never : never] extends infer T_740 ? T_740 extends T_739[PrefixWith extends infer T_737 ? T_737 extends PrefixWith ? T_737 extends SplitAC ? "value" : "default" : never : never] ? T_740 extends CanBeExpanded ? T_740[PrefixWith extends infer T_737 ? T_737 extends PrefixWith ? T_737 extends SplitAC ? "value" : "default" : never : never] extends infer T_741 ? T_741 extends T_740[PrefixWith extends infer T_737 ? T_737 extends PrefixWith ? T_737 extends SplitAC ? "value" : "default" : never : never] ? T_741 extends CanBeExpanded ? any : T_741 extends (infer U)[] ? any[] : T_741 extends object ? { [K_413 in keyof T_741]-?: any; } : T_741 : never : never : T_740 extends (infer U)[] ? any[] : T_740 extends object ? { [K_414 in keyof T_740]-?: T_740[K_414] extends infer T_742 ? T_742 extends T_740[K_414] ? T_742 extends CanBeExpanded ? any : T_742 extends (infer U)[] ? any[] : T_742 extends object ? { [K_415 in keyof T_742]-?: T_742[K_415] extends infer T_743 ? T_743 extends T_742[K_415] ? T_743 extends CanBeExpanded ? T_743["default"] : T_743 : never : never; } : T_742 : never : never; } : T_740 : never : never : T_739 extends (infer U)[] ? any[] : T_739 extends object ? { [K_416 in keyof T_739]-?: T_739[K_416] extends infer T_744 ? T_744 extends T_739[K_416] ? T_744 extends CanBeExpanded ? T_744[PrefixWith, K_416, "."> extends infer T_745 ? T_745 extends PrefixWith, K_416, "."> ? T_745 extends SplitAC ? "value" : "default" : never : never] extends infer T_746 ? T_746 extends T_744[PrefixWith, K_416, "."> extends infer T_745 ? T_745 extends PrefixWith, K_416, "."> ? T_745 extends SplitAC ? "value" : "default" : never : never] ? T_746 extends CanBeExpanded ? any : T_746 extends (infer U)[] ? any[] : T_746 extends object ? { [K_417 in keyof T_746]-?: T_746[K_417] extends infer T_747 ? T_747 extends T_746[K_417] ? T_747 extends CanBeExpanded ? T_747["default"] : T_747 : never : never; } : T_746 : never : never : T_744 extends (infer U)[] ? any[] : T_744 extends object ? { [K_418 in keyof T_744]-?: T_744[K_418] extends infer T_748 ? T_748 extends T_744[K_418] ? T_748 extends CanBeExpanded ? T_748["default"] : T_748 : never : never; } : T_744 : never : never; } : T_739 : never : never : T_738 extends (infer U)[] ? any[] : T_738 extends object ? { [K_419 in keyof T_738]-?: T_738[K_419] extends infer T_749 ? T_749 extends T_738[K_419] ? T_749 extends CanBeExpanded ? T_749[PrefixWith, K_419, "."> extends infer T_750 ? T_750 extends PrefixWith, K_419, "."> ? T_750 extends SplitAC ? "value" : "default" : never : never] extends infer T_751 ? T_751 extends T_749[PrefixWith, K_419, "."> extends infer T_750 ? T_750 extends PrefixWith, K_419, "."> ? T_750 extends SplitAC ? "value" : "default" : never : never] ? T_751 extends CanBeExpanded ? T_751[PrefixWith, K_419, "."> extends infer T_750 ? T_750 extends PrefixWith, K_419, "."> ? T_750 extends SplitAC ? "value" : "default" : never : never] extends infer T_752 ? T_752 extends T_751[PrefixWith, K_419, "."> extends infer T_750 ? T_750 extends PrefixWith, K_419, "."> ? T_750 extends SplitAC ? "value" : "default" : never : never] ? T_752 extends CanBeExpanded ? any : T_752 extends (infer U)[] ? any[] : T_752 extends object ? { [K_420 in keyof T_752]-?: T_752[K_420] extends infer T_753 ? T_753 extends T_752[K_420] ? T_753 extends CanBeExpanded ? T_753["default"] : T_753 : never : never; } : T_752 : never : never : T_751 extends (infer U)[] ? any[] : T_751 extends object ? { [K_421 in keyof T_751]-?: T_751[K_421] extends infer T_754 ? T_754 extends T_751[K_421] ? T_754 extends CanBeExpanded ? T_754["default"] : T_754 : never : never; } : T_751 : never : never : T_749 extends (infer U)[] ? any[] : T_749 extends object ? { [K_422 in keyof T_749]-?: T_749[K_422] extends infer T_755 ? T_755 extends T_749[K_422] ? T_755 extends CanBeExpanded ? T_755["default"] : T_755 : never : never; } : T_749 : never : never; } : T_738 : never : never : T_736 extends (infer U)[] ? any[] : T_736 extends object ? { [K_423 in keyof T_736]-?: T_736[K_423] extends infer T_756 ? T_756 extends T_736[K_423] ? T_756 extends CanBeExpanded ? T_756[PrefixWith, K_423, "."> extends infer T_757 ? T_757 extends PrefixWith, K_423, "."> ? T_757 extends SplitAC ? "value" : "default" : never : never] extends infer T_758 ? T_758 extends T_756[PrefixWith, K_423, "."> extends infer T_757 ? T_757 extends PrefixWith, K_423, "."> ? T_757 extends SplitAC ? "value" : "default" : never : never] ? T_758 extends CanBeExpanded ? T_758[PrefixWith, K_423, "."> extends infer T_757 ? T_757 extends PrefixWith, K_423, "."> ? T_757 extends SplitAC ? "value" : "default" : never : never] extends infer T_759 ? T_759 extends T_758[PrefixWith, K_423, "."> extends infer T_757 ? T_757 extends PrefixWith, K_423, "."> ? T_757 extends SplitAC ? "value" : "default" : never : never] ? T_759 extends CanBeExpanded ? T_759[PrefixWith, K_423, "."> extends infer T_757 ? T_757 extends PrefixWith, K_423, "."> ? T_757 extends SplitAC ? "value" : "default" : never : never] extends infer T_760 ? T_760 extends T_759[PrefixWith, K_423, "."> extends infer T_757 ? T_757 extends PrefixWith, K_423, "."> ? T_757 extends SplitAC ? "value" : "default" : never : never] ? T_760 extends CanBeExpanded ? any : T_760 extends (infer U)[] ? any[] : T_760 extends object ? { [K_424 in keyof T_760]-?: T_760[K_424] extends infer T_761 ? T_761 extends T_760[K_424] ? T_761 extends CanBeExpanded ? T_761["default"] : T_761 : never : never; } : T_760 : never : never : T_759 extends (infer U)[] ? any[] : T_759 extends object ? { [K_425 in keyof T_759]-?: T_759[K_425] extends infer T_762 ? T_762 extends T_759[K_425] ? T_762 extends CanBeExpanded ? T_762["default"] : T_762 : never : never; } : T_759 : never : never : T_758 extends (infer U)[] ? any[] : T_758 extends object ? { [K_426 in keyof T_758]-?: T_758[K_426] extends infer T_763 ? T_763 extends T_758[K_426] ? T_763 extends CanBeExpanded ? T_763["default"] : T_763 : never : never; } : T_758 : never : never : T_756 extends (infer U)[] ? any[] : T_756 extends object ? { [K_427 in keyof T_756]-?: T_756[K_427] extends infer T_764 ? T_764 extends T_756[K_427] ? T_764 extends CanBeExpanded ? T_764["default"] : T_764 : never : never; } : T_756 : never : never; } : T_736 : never : never; } : T_694 : never : never : T_693 extends (infer U)[] ? any[] : T_693 extends object ? { [K_428 in keyof T_693]-?: T_693[K_428] extends infer T_765 ? T_765 extends T_693[K_428] ? T_765 extends CanBeExpanded ? T_765[PrefixWith extends infer T_766 ? T_766 extends PrefixWith ? T_766 extends SplitAC ? "value" : "default" : never : never] extends infer T_767 ? T_767 extends T_765[PrefixWith extends infer T_766 ? T_766 extends PrefixWith ? T_766 extends SplitAC ? "value" : "default" : never : never] ? T_767 extends CanBeExpanded ? T_767[PrefixWith extends infer T_766 ? T_766 extends PrefixWith ? T_766 extends SplitAC ? "value" : "default" : never : never] extends infer T_768 ? T_768 extends T_767[PrefixWith extends infer T_766 ? T_766 extends PrefixWith ? T_766 extends SplitAC ? "value" : "default" : never : never] ? T_768 extends CanBeExpanded ? T_768[PrefixWith extends infer T_766 ? T_766 extends PrefixWith ? T_766 extends SplitAC ? "value" : "default" : never : never] extends infer T_769 ? T_769 extends T_768[PrefixWith extends infer T_766 ? T_766 extends PrefixWith ? T_766 extends SplitAC ? "value" : "default" : never : never] ? T_769 extends CanBeExpanded ? T_769[PrefixWith extends infer T_766 ? T_766 extends PrefixWith ? T_766 extends SplitAC ? "value" : "default" : never : never] extends infer T_770 ? T_770 extends T_769[PrefixWith extends infer T_766 ? T_766 extends PrefixWith ? T_766 extends SplitAC ? "value" : "default" : never : never] ? T_770 extends CanBeExpanded ? T_770[PrefixWith extends infer T_766 ? T_766 extends PrefixWith ? T_766 extends SplitAC ? "value" : "default" : never : never] extends infer T_771 ? T_771 extends T_770[PrefixWith extends infer T_766 ? T_766 extends PrefixWith ? T_766 extends SplitAC ? "value" : "default" : never : never] ? T_771 extends CanBeExpanded ? any : T_771 extends (infer U)[] ? any[] : T_771 extends object ? { [K_429 in keyof T_771]-?: any; } : T_771 : never : never : T_770 extends (infer U)[] ? any[] : T_770 extends object ? { [K_430 in keyof T_770]-?: T_770[K_430] extends infer T_772 ? T_772 extends T_770[K_430] ? T_772 extends CanBeExpanded ? any : T_772 extends (infer U)[] ? any[] : T_772 extends object ? { [K_431 in keyof T_772]-?: T_772[K_431] extends infer T_773 ? T_773 extends T_772[K_431] ? T_773 extends CanBeExpanded ? T_773["default"] : T_773 : never : never; } : T_772 : never : never; } : T_770 : never : never : T_769 extends (infer U)[] ? any[] : T_769 extends object ? { [K_432 in keyof T_769]-?: T_769[K_432] extends infer T_774 ? T_774 extends T_769[K_432] ? T_774 extends CanBeExpanded ? T_774[PrefixWith, K_432, "."> extends infer T_775 ? T_775 extends PrefixWith, K_432, "."> ? T_775 extends SplitAC ? "value" : "default" : never : never] extends infer T_776 ? T_776 extends T_774[PrefixWith, K_432, "."> extends infer T_775 ? T_775 extends PrefixWith, K_432, "."> ? T_775 extends SplitAC ? "value" : "default" : never : never] ? T_776 extends CanBeExpanded ? any : T_776 extends (infer U)[] ? any[] : T_776 extends object ? { [K_433 in keyof T_776]-?: T_776[K_433] extends infer T_777 ? T_777 extends T_776[K_433] ? T_777 extends CanBeExpanded ? T_777["default"] : T_777 : never : never; } : T_776 : never : never : T_774 extends (infer U)[] ? any[] : T_774 extends object ? { [K_434 in keyof T_774]-?: T_774[K_434] extends infer T_778 ? T_778 extends T_774[K_434] ? T_778 extends CanBeExpanded ? T_778["default"] : T_778 : never : never; } : T_774 : never : never; } : T_769 : never : never : T_768 extends (infer U)[] ? any[] : T_768 extends object ? { [K_435 in keyof T_768]-?: T_768[K_435] extends infer T_779 ? T_779 extends T_768[K_435] ? T_779 extends CanBeExpanded ? T_779[PrefixWith, K_435, "."> extends infer T_780 ? T_780 extends PrefixWith, K_435, "."> ? T_780 extends SplitAC ? "value" : "default" : never : never] extends infer T_781 ? T_781 extends T_779[PrefixWith, K_435, "."> extends infer T_780 ? T_780 extends PrefixWith, K_435, "."> ? T_780 extends SplitAC ? "value" : "default" : never : never] ? T_781 extends CanBeExpanded ? T_781[PrefixWith, K_435, "."> extends infer T_780 ? T_780 extends PrefixWith, K_435, "."> ? T_780 extends SplitAC ? "value" : "default" : never : never] extends infer T_782 ? T_782 extends T_781[PrefixWith, K_435, "."> extends infer T_780 ? T_780 extends PrefixWith, K_435, "."> ? T_780 extends SplitAC ? "value" : "default" : never : never] ? T_782 extends CanBeExpanded ? any : T_782 extends (infer U)[] ? any[] : T_782 extends object ? { [K_436 in keyof T_782]-?: T_782[K_436] extends infer T_783 ? T_783 extends T_782[K_436] ? T_783 extends CanBeExpanded ? T_783["default"] : T_783 : never : never; } : T_782 : never : never : T_781 extends (infer U)[] ? any[] : T_781 extends object ? { [K_437 in keyof T_781]-?: T_781[K_437] extends infer T_784 ? T_784 extends T_781[K_437] ? T_784 extends CanBeExpanded ? T_784["default"] : T_784 : never : never; } : T_781 : never : never : T_779 extends (infer U)[] ? any[] : T_779 extends object ? { [K_438 in keyof T_779]-?: T_779[K_438] extends infer T_785 ? T_785 extends T_779[K_438] ? T_785 extends CanBeExpanded ? T_785["default"] : T_785 : never : never; } : T_779 : never : never; } : T_768 : never : never : T_767 extends (infer U)[] ? any[] : T_767 extends object ? { [K_439 in keyof T_767]-?: T_767[K_439] extends infer T_786 ? T_786 extends T_767[K_439] ? T_786 extends CanBeExpanded ? T_786[PrefixWith, K_439, "."> extends infer T_787 ? T_787 extends PrefixWith, K_439, "."> ? T_787 extends SplitAC ? "value" : "default" : never : never] extends infer T_788 ? T_788 extends T_786[PrefixWith, K_439, "."> extends infer T_787 ? T_787 extends PrefixWith, K_439, "."> ? T_787 extends SplitAC ? "value" : "default" : never : never] ? T_788 extends CanBeExpanded ? T_788[PrefixWith, K_439, "."> extends infer T_787 ? T_787 extends PrefixWith, K_439, "."> ? T_787 extends SplitAC ? "value" : "default" : never : never] extends infer T_789 ? T_789 extends T_788[PrefixWith, K_439, "."> extends infer T_787 ? T_787 extends PrefixWith, K_439, "."> ? T_787 extends SplitAC ? "value" : "default" : never : never] ? T_789 extends CanBeExpanded ? T_789[PrefixWith, K_439, "."> extends infer T_787 ? T_787 extends PrefixWith, K_439, "."> ? T_787 extends SplitAC ? "value" : "default" : never : never] extends infer T_790 ? T_790 extends T_789[PrefixWith, K_439, "."> extends infer T_787 ? T_787 extends PrefixWith, K_439, "."> ? T_787 extends SplitAC ? "value" : "default" : never : never] ? T_790 extends CanBeExpanded ? any : T_790 extends (infer U)[] ? any[] : T_790 extends object ? { [K_440 in keyof T_790]-?: T_790[K_440] extends infer T_791 ? T_791 extends T_790[K_440] ? T_791 extends CanBeExpanded ? T_791["default"] : T_791 : never : never; } : T_790 : never : never : T_789 extends (infer U)[] ? any[] : T_789 extends object ? { [K_441 in keyof T_789]-?: T_789[K_441] extends infer T_792 ? T_792 extends T_789[K_441] ? T_792 extends CanBeExpanded ? T_792["default"] : T_792 : never : never; } : T_789 : never : never : T_788 extends (infer U)[] ? any[] : T_788 extends object ? { [K_442 in keyof T_788]-?: T_788[K_442] extends infer T_793 ? T_793 extends T_788[K_442] ? T_793 extends CanBeExpanded ? T_793["default"] : T_793 : never : never; } : T_788 : never : never : T_786 extends (infer U)[] ? any[] : T_786 extends object ? { [K_443 in keyof T_786]-?: T_786[K_443] extends infer T_794 ? T_794 extends T_786[K_443] ? T_794 extends CanBeExpanded ? T_794["default"] : T_794 : never : never; } : T_786 : never : never; } : T_767 : never : never : T_765 extends (infer U)[] ? any[] : T_765 extends object ? { [K_444 in keyof T_765]-?: T_765[K_444] extends infer T_795 ? T_795 extends T_765[K_444] ? T_795 extends CanBeExpanded ? T_795[PrefixWith, K_444, "."> extends infer T_796 ? T_796 extends PrefixWith, K_444, "."> ? T_796 extends SplitAC ? "value" : "default" : never : never] extends infer T_797 ? T_797 extends T_795[PrefixWith, K_444, "."> extends infer T_796 ? T_796 extends PrefixWith, K_444, "."> ? T_796 extends SplitAC ? "value" : "default" : never : never] ? T_797 extends CanBeExpanded ? T_797[PrefixWith, K_444, "."> extends infer T_796 ? T_796 extends PrefixWith, K_444, "."> ? T_796 extends SplitAC ? "value" : "default" : never : never] extends infer T_798 ? T_798 extends T_797[PrefixWith, K_444, "."> extends infer T_796 ? T_796 extends PrefixWith, K_444, "."> ? T_796 extends SplitAC ? "value" : "default" : never : never] ? T_798 extends CanBeExpanded ? T_798[PrefixWith, K_444, "."> extends infer T_796 ? T_796 extends PrefixWith, K_444, "."> ? T_796 extends SplitAC ? "value" : "default" : never : never] extends infer T_799 ? T_799 extends T_798[PrefixWith, K_444, "."> extends infer T_796 ? T_796 extends PrefixWith, K_444, "."> ? T_796 extends SplitAC ? "value" : "default" : never : never] ? T_799 extends CanBeExpanded ? T_799[PrefixWith, K_444, "."> extends infer T_796 ? T_796 extends PrefixWith, K_444, "."> ? T_796 extends SplitAC ? "value" : "default" : never : never] extends infer T_800 ? T_800 extends T_799[PrefixWith, K_444, "."> extends infer T_796 ? T_796 extends PrefixWith, K_444, "."> ? T_796 extends SplitAC ? "value" : "default" : never : never] ? T_800 extends CanBeExpanded ? any : T_800 extends (infer U)[] ? any[] : T_800 extends object ? { [K_445 in keyof T_800]-?: T_800[K_445] extends infer T_801 ? T_801 extends T_800[K_445] ? T_801 extends CanBeExpanded ? T_801["default"] : T_801 : never : never; } : T_800 : never : never : T_799 extends (infer U)[] ? any[] : T_799 extends object ? { [K_446 in keyof T_799]-?: T_799[K_446] extends infer T_802 ? T_802 extends T_799[K_446] ? T_802 extends CanBeExpanded ? T_802["default"] : T_802 : never : never; } : T_799 : never : never : T_798 extends (infer U)[] ? any[] : T_798 extends object ? { [K_447 in keyof T_798]-?: T_798[K_447] extends infer T_803 ? T_803 extends T_798[K_447] ? T_803 extends CanBeExpanded ? T_803["default"] : T_803 : never : never; } : T_798 : never : never : T_797 extends (infer U)[] ? any[] : T_797 extends object ? { [K_448 in keyof T_797]-?: T_797[K_448] extends infer T_804 ? T_804 extends T_797[K_448] ? T_804 extends CanBeExpanded ? T_804["default"] : T_804 : never : never; } : T_797 : never : never : T_795 extends (infer U)[] ? any[] : T_795 extends object ? { [K_449 in keyof T_795]-?: T_795[K_449] extends infer T_805 ? T_805 extends T_795[K_449] ? T_805 extends CanBeExpanded ? T_805["default"] : T_805 : never : never; } : T_795 : never : never; } : T_765 : never : never; } : T_693 : never : never : T_692 extends (infer U)[] ? any[] : T_692 extends object ? { [K_450 in keyof T_692]-?: T_692[K_450] extends infer T_806 ? T_806 extends T_692[K_450] ? T_806 extends CanBeExpanded ? T_806[PrefixWith extends infer T_807 ? T_807 extends PrefixWith ? T_807 extends SplitAC ? "value" : "default" : never : never] extends infer T_808 ? T_808 extends T_806[PrefixWith extends infer T_807 ? T_807 extends PrefixWith ? T_807 extends SplitAC ? "value" : "default" : never : never] ? T_808 extends CanBeExpanded ? T_808[PrefixWith extends infer T_807 ? T_807 extends PrefixWith ? T_807 extends SplitAC ? "value" : "default" : never : never] extends infer T_809 ? T_809 extends T_808[PrefixWith extends infer T_807 ? T_807 extends PrefixWith ? T_807 extends SplitAC ? "value" : "default" : never : never] ? T_809 extends CanBeExpanded ? T_809[PrefixWith extends infer T_807 ? T_807 extends PrefixWith ? T_807 extends SplitAC ? "value" : "default" : never : never] extends infer T_810 ? T_810 extends T_809[PrefixWith extends infer T_807 ? T_807 extends PrefixWith ? T_807 extends SplitAC ? "value" : "default" : never : never] ? T_810 extends CanBeExpanded ? T_810[PrefixWith extends infer T_807 ? T_807 extends PrefixWith ? T_807 extends SplitAC ? "value" : "default" : never : never] extends infer T_811 ? T_811 extends T_810[PrefixWith extends infer T_807 ? T_807 extends PrefixWith ? T_807 extends SplitAC ? "value" : "default" : never : never] ? T_811 extends CanBeExpanded ? T_811[PrefixWith extends infer T_807 ? T_807 extends PrefixWith ? T_807 extends SplitAC ? "value" : "default" : never : never] extends infer T_812 ? T_812 extends T_811[PrefixWith extends infer T_807 ? T_807 extends PrefixWith ? T_807 extends SplitAC ? "value" : "default" : never : never] ? T_812 extends CanBeExpanded ? T_812[PrefixWith extends infer T_807 ? T_807 extends PrefixWith ? T_807 extends SplitAC ? "value" : "default" : never : never] extends infer T_813 ? T_813 extends T_812[PrefixWith extends infer T_807 ? T_807 extends PrefixWith ? T_807 extends SplitAC ? "value" : "default" : never : never] ? T_813 extends CanBeExpanded ? any : T_813 extends (infer U)[] ? any[] : T_813 extends object ? { [K_451 in keyof T_813]-?: any; } : T_813 : never : never : T_812 extends (infer U)[] ? any[] : T_812 extends object ? { [K_452 in keyof T_812]-?: T_812[K_452] extends infer T_814 ? T_814 extends T_812[K_452] ? T_814 extends CanBeExpanded ? any : T_814 extends (infer U)[] ? any[] : T_814 extends object ? { [K_453 in keyof T_814]-?: T_814[K_453] extends infer T_815 ? T_815 extends T_814[K_453] ? T_815 extends CanBeExpanded ? T_815["default"] : T_815 : never : never; } : T_814 : never : never; } : T_812 : never : never : T_811 extends (infer U)[] ? any[] : T_811 extends object ? { [K_454 in keyof T_811]-?: T_811[K_454] extends infer T_816 ? T_816 extends T_811[K_454] ? T_816 extends CanBeExpanded ? T_816[PrefixWith, K_454, "."> extends infer T_817 ? T_817 extends PrefixWith, K_454, "."> ? T_817 extends SplitAC ? "value" : "default" : never : never] extends infer T_818 ? T_818 extends T_816[PrefixWith, K_454, "."> extends infer T_817 ? T_817 extends PrefixWith, K_454, "."> ? T_817 extends SplitAC ? "value" : "default" : never : never] ? T_818 extends CanBeExpanded ? any : T_818 extends (infer U)[] ? any[] : T_818 extends object ? { [K_455 in keyof T_818]-?: T_818[K_455] extends infer T_819 ? T_819 extends T_818[K_455] ? T_819 extends CanBeExpanded ? T_819["default"] : T_819 : never : never; } : T_818 : never : never : T_816 extends (infer U)[] ? any[] : T_816 extends object ? { [K_456 in keyof T_816]-?: T_816[K_456] extends infer T_820 ? T_820 extends T_816[K_456] ? T_820 extends CanBeExpanded ? T_820["default"] : T_820 : never : never; } : T_816 : never : never; } : T_811 : never : never : T_810 extends (infer U)[] ? any[] : T_810 extends object ? { [K_457 in keyof T_810]-?: T_810[K_457] extends infer T_821 ? T_821 extends T_810[K_457] ? T_821 extends CanBeExpanded ? T_821[PrefixWith, K_457, "."> extends infer T_822 ? T_822 extends PrefixWith, K_457, "."> ? T_822 extends SplitAC ? "value" : "default" : never : never] extends infer T_823 ? T_823 extends T_821[PrefixWith, K_457, "."> extends infer T_822 ? T_822 extends PrefixWith, K_457, "."> ? T_822 extends SplitAC ? "value" : "default" : never : never] ? T_823 extends CanBeExpanded ? T_823[PrefixWith, K_457, "."> extends infer T_822 ? T_822 extends PrefixWith, K_457, "."> ? T_822 extends SplitAC ? "value" : "default" : never : never] extends infer T_824 ? T_824 extends T_823[PrefixWith, K_457, "."> extends infer T_822 ? T_822 extends PrefixWith, K_457, "."> ? T_822 extends SplitAC ? "value" : "default" : never : never] ? T_824 extends CanBeExpanded ? any : T_824 extends (infer U)[] ? any[] : T_824 extends object ? { [K_458 in keyof T_824]-?: T_824[K_458] extends infer T_825 ? T_825 extends T_824[K_458] ? T_825 extends CanBeExpanded ? T_825["default"] : T_825 : never : never; } : T_824 : never : never : T_823 extends (infer U)[] ? any[] : T_823 extends object ? { [K_459 in keyof T_823]-?: T_823[K_459] extends infer T_826 ? T_826 extends T_823[K_459] ? T_826 extends CanBeExpanded ? T_826["default"] : T_826 : never : never; } : T_823 : never : never : T_821 extends (infer U)[] ? any[] : T_821 extends object ? { [K_460 in keyof T_821]-?: T_821[K_460] extends infer T_827 ? T_827 extends T_821[K_460] ? T_827 extends CanBeExpanded ? T_827["default"] : T_827 : never : never; } : T_821 : never : never; } : T_810 : never : never : T_809 extends (infer U)[] ? any[] : T_809 extends object ? { [K_461 in keyof T_809]-?: T_809[K_461] extends infer T_828 ? T_828 extends T_809[K_461] ? T_828 extends CanBeExpanded ? T_828[PrefixWith, K_461, "."> extends infer T_829 ? T_829 extends PrefixWith, K_461, "."> ? T_829 extends SplitAC ? "value" : "default" : never : never] extends infer T_830 ? T_830 extends T_828[PrefixWith, K_461, "."> extends infer T_829 ? T_829 extends PrefixWith, K_461, "."> ? T_829 extends SplitAC ? "value" : "default" : never : never] ? T_830 extends CanBeExpanded ? T_830[PrefixWith, K_461, "."> extends infer T_829 ? T_829 extends PrefixWith, K_461, "."> ? T_829 extends SplitAC ? "value" : "default" : never : never] extends infer T_831 ? T_831 extends T_830[PrefixWith, K_461, "."> extends infer T_829 ? T_829 extends PrefixWith, K_461, "."> ? T_829 extends SplitAC ? "value" : "default" : never : never] ? T_831 extends CanBeExpanded ? T_831[PrefixWith, K_461, "."> extends infer T_829 ? T_829 extends PrefixWith, K_461, "."> ? T_829 extends SplitAC ? "value" : "default" : never : never] extends infer T_832 ? T_832 extends T_831[PrefixWith, K_461, "."> extends infer T_829 ? T_829 extends PrefixWith, K_461, "."> ? T_829 extends SplitAC ? "value" : "default" : never : never] ? T_832 extends CanBeExpanded ? any : T_832 extends (infer U)[] ? any[] : T_832 extends object ? { [K_462 in keyof T_832]-?: T_832[K_462] extends infer T_833 ? T_833 extends T_832[K_462] ? T_833 extends CanBeExpanded ? T_833["default"] : T_833 : never : never; } : T_832 : never : never : T_831 extends (infer U)[] ? any[] : T_831 extends object ? { [K_463 in keyof T_831]-?: T_831[K_463] extends infer T_834 ? T_834 extends T_831[K_463] ? T_834 extends CanBeExpanded ? T_834["default"] : T_834 : never : never; } : T_831 : never : never : T_830 extends (infer U)[] ? any[] : T_830 extends object ? { [K_464 in keyof T_830]-?: T_830[K_464] extends infer T_835 ? T_835 extends T_830[K_464] ? T_835 extends CanBeExpanded ? T_835["default"] : T_835 : never : never; } : T_830 : never : never : T_828 extends (infer U)[] ? any[] : T_828 extends object ? { [K_465 in keyof T_828]-?: T_828[K_465] extends infer T_836 ? T_836 extends T_828[K_465] ? T_836 extends CanBeExpanded ? T_836["default"] : T_836 : never : never; } : T_828 : never : never; } : T_809 : never : never : T_808 extends (infer U)[] ? any[] : T_808 extends object ? { [K_466 in keyof T_808]-?: T_808[K_466] extends infer T_837 ? T_837 extends T_808[K_466] ? T_837 extends CanBeExpanded ? T_837[PrefixWith, K_466, "."> extends infer T_838 ? T_838 extends PrefixWith, K_466, "."> ? T_838 extends SplitAC ? "value" : "default" : never : never] extends infer T_839 ? T_839 extends T_837[PrefixWith, K_466, "."> extends infer T_838 ? T_838 extends PrefixWith, K_466, "."> ? T_838 extends SplitAC ? "value" : "default" : never : never] ? T_839 extends CanBeExpanded ? T_839[PrefixWith, K_466, "."> extends infer T_838 ? T_838 extends PrefixWith, K_466, "."> ? T_838 extends SplitAC ? "value" : "default" : never : never] extends infer T_840 ? T_840 extends T_839[PrefixWith, K_466, "."> extends infer T_838 ? T_838 extends PrefixWith, K_466, "."> ? T_838 extends SplitAC ? "value" : "default" : never : never] ? T_840 extends CanBeExpanded ? T_840[PrefixWith, K_466, "."> extends infer T_838 ? T_838 extends PrefixWith, K_466, "."> ? T_838 extends SplitAC ? "value" : "default" : never : never] extends infer T_841 ? T_841 extends T_840[PrefixWith, K_466, "."> extends infer T_838 ? T_838 extends PrefixWith, K_466, "."> ? T_838 extends SplitAC ? "value" : "default" : never : never] ? T_841 extends CanBeExpanded ? T_841[PrefixWith, K_466, "."> extends infer T_838 ? T_838 extends PrefixWith, K_466, "."> ? T_838 extends SplitAC ? "value" : "default" : never : never] extends infer T_842 ? T_842 extends T_841[PrefixWith, K_466, "."> extends infer T_838 ? T_838 extends PrefixWith, K_466, "."> ? T_838 extends SplitAC ? "value" : "default" : never : never] ? T_842 extends CanBeExpanded ? any : T_842 extends (infer U)[] ? any[] : T_842 extends object ? { [K_467 in keyof T_842]-?: T_842[K_467] extends infer T_843 ? T_843 extends T_842[K_467] ? T_843 extends CanBeExpanded ? T_843["default"] : T_843 : never : never; } : T_842 : never : never : T_841 extends (infer U)[] ? any[] : T_841 extends object ? { [K_468 in keyof T_841]-?: T_841[K_468] extends infer T_844 ? T_844 extends T_841[K_468] ? T_844 extends CanBeExpanded ? T_844["default"] : T_844 : never : never; } : T_841 : never : never : T_840 extends (infer U)[] ? any[] : T_840 extends object ? { [K_469 in keyof T_840]-?: T_840[K_469] extends infer T_845 ? T_845 extends T_840[K_469] ? T_845 extends CanBeExpanded ? T_845["default"] : T_845 : never : never; } : T_840 : never : never : T_839 extends (infer U)[] ? any[] : T_839 extends object ? { [K_470 in keyof T_839]-?: T_839[K_470] extends infer T_846 ? T_846 extends T_839[K_470] ? T_846 extends CanBeExpanded ? T_846["default"] : T_846 : never : never; } : T_839 : never : never : T_837 extends (infer U)[] ? any[] : T_837 extends object ? { [K_471 in keyof T_837]-?: T_837[K_471] extends infer T_847 ? T_847 extends T_837[K_471] ? T_847 extends CanBeExpanded ? T_847["default"] : T_847 : never : never; } : T_837 : never : never; } : T_808 : never : never : T_806 extends (infer U)[] ? any[] : T_806 extends object ? { [K_472 in keyof T_806]-?: T_806[K_472] extends infer T_848 ? T_848 extends T_806[K_472] ? T_848 extends CanBeExpanded ? T_848[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] extends infer T_850 ? T_850 extends T_848[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] ? T_850 extends CanBeExpanded ? T_850[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] extends infer T_851 ? T_851 extends T_850[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] ? T_851 extends CanBeExpanded ? T_851[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] extends infer T_852 ? T_852 extends T_851[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] ? T_852 extends CanBeExpanded ? T_852[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] extends infer T_853 ? T_853 extends T_852[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] ? T_853 extends CanBeExpanded ? T_853[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] extends infer T_854 ? T_854 extends T_853[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] ? T_854 extends CanBeExpanded ? any : T_854 extends (infer U)[] ? any[] : T_854 extends object ? { [K_473 in keyof T_854]-?: T_854[K_473] extends infer T_855 ? T_855 extends T_854[K_473] ? T_855 extends CanBeExpanded ? T_855["default"] : T_855 : never : never; } : T_854 : never : never : T_853 extends (infer U)[] ? any[] : T_853 extends object ? { [K_474 in keyof T_853]-?: T_853[K_474] extends infer T_856 ? T_856 extends T_853[K_474] ? T_856 extends CanBeExpanded ? T_856["default"] : T_856 : never : never; } : T_853 : never : never : T_852 extends (infer U)[] ? any[] : T_852 extends object ? { [K_475 in keyof T_852]-?: T_852[K_475] extends infer T_857 ? T_857 extends T_852[K_475] ? T_857 extends CanBeExpanded ? T_857["default"] : T_857 : never : never; } : T_852 : never : never : T_851 extends (infer U)[] ? any[] : T_851 extends object ? { [K_476 in keyof T_851]-?: T_851[K_476] extends infer T_858 ? T_858 extends T_851[K_476] ? T_858 extends CanBeExpanded ? T_858["default"] : T_858 : never : never; } : T_851 : never : never : T_850 extends (infer U)[] ? any[] : T_850 extends object ? { [K_477 in keyof T_850]-?: T_850[K_477] extends infer T_859 ? T_859 extends T_850[K_477] ? T_859 extends CanBeExpanded ? T_859["default"] : T_859 : never : never; } : T_850 : never : never : T_848 extends (infer U)[] ? any[] : T_848 extends object ? { [K_478 in keyof T_848]-?: T_848[K_478] extends infer T_860 ? T_860 extends T_848[K_478] ? T_860 extends CanBeExpanded ? T_860["default"] : T_860 : never : never; } : T_848 : never : never; } : T_806 : never : never; } : T_692 : never : never : T_691 extends (infer U)[] ? any[] : T_691 extends object ? { [K_479 in keyof T_691]-?: T_691[K_479] extends infer T_861 ? T_861 extends T_691[K_479] ? T_861 extends CanBeExpanded ? T_861[PrefixWith extends infer T_862 ? T_862 extends PrefixWith ? T_862 extends SplitAC ? "value" : "default" : never : never] extends infer T_863 ? T_863 extends T_861[PrefixWith extends infer T_862 ? T_862 extends PrefixWith ? T_862 extends SplitAC ? "value" : "default" : never : never] ? T_863 extends CanBeExpanded ? T_863[PrefixWith extends infer T_862 ? T_862 extends PrefixWith ? T_862 extends SplitAC ? "value" : "default" : never : never] extends infer T_864 ? T_864 extends T_863[PrefixWith extends infer T_862 ? T_862 extends PrefixWith ? T_862 extends SplitAC ? "value" : "default" : never : never] ? T_864 extends CanBeExpanded ? T_864[PrefixWith extends infer T_862 ? T_862 extends PrefixWith ? T_862 extends SplitAC ? "value" : "default" : never : never] extends infer T_865 ? T_865 extends T_864[PrefixWith extends infer T_862 ? T_862 extends PrefixWith ? T_862 extends SplitAC ? "value" : "default" : never : never] ? T_865 extends CanBeExpanded ? T_865[PrefixWith extends infer T_862 ? T_862 extends PrefixWith ? T_862 extends SplitAC ? "value" : "default" : never : never] extends infer T_866 ? T_866 extends T_865[PrefixWith extends infer T_862 ? T_862 extends PrefixWith ? T_862 extends SplitAC ? "value" : "default" : never : never] ? T_866 extends CanBeExpanded ? T_866[PrefixWith extends infer T_862 ? T_862 extends PrefixWith ? T_862 extends SplitAC ? "value" : "default" : never : never] extends infer T_867 ? T_867 extends T_866[PrefixWith extends infer T_862 ? T_862 extends PrefixWith ? T_862 extends SplitAC ? "value" : "default" : never : never] ? T_867 extends CanBeExpanded ? T_867[PrefixWith extends infer T_862 ? T_862 extends PrefixWith ? T_862 extends SplitAC ? "value" : "default" : never : never] extends infer T_868 ? T_868 extends T_867[PrefixWith extends infer T_862 ? T_862 extends PrefixWith ? T_862 extends SplitAC ? "value" : "default" : never : never] ? T_868 extends CanBeExpanded ? T_868[PrefixWith extends infer T_862 ? T_862 extends PrefixWith ? T_862 extends SplitAC ? "value" : "default" : never : never] extends infer T_869 ? T_869 extends T_868[PrefixWith extends infer T_862 ? T_862 extends PrefixWith ? T_862 extends SplitAC ? "value" : "default" : never : never] ? T_869 extends CanBeExpanded ? any : T_869 extends (infer U)[] ? any[] : T_869 extends object ? { [K_480 in keyof T_869]-?: any; } : T_869 : never : never : T_868 extends (infer U)[] ? any[] : T_868 extends object ? { [K_481 in keyof T_868]-?: T_868[K_481] extends infer T_870 ? T_870 extends T_868[K_481] ? T_870 extends CanBeExpanded ? any : T_870 extends (infer U)[] ? any[] : T_870 extends object ? { [K_482 in keyof T_870]-?: T_870[K_482] extends infer T_871 ? T_871 extends T_870[K_482] ? T_871 extends CanBeExpanded ? T_871["default"] : T_871 : never : never; } : T_870 : never : never; } : T_868 : never : never : T_867 extends (infer U)[] ? any[] : T_867 extends object ? { [K_483 in keyof T_867]-?: T_867[K_483] extends infer T_872 ? T_872 extends T_867[K_483] ? T_872 extends CanBeExpanded ? T_872[PrefixWith, K_483, "."> extends infer T_873 ? T_873 extends PrefixWith, K_483, "."> ? T_873 extends SplitAC ? "value" : "default" : never : never] extends infer T_874 ? T_874 extends T_872[PrefixWith, K_483, "."> extends infer T_873 ? T_873 extends PrefixWith, K_483, "."> ? T_873 extends SplitAC ? "value" : "default" : never : never] ? T_874 extends CanBeExpanded ? any : T_874 extends (infer U)[] ? any[] : T_874 extends object ? { [K_484 in keyof T_874]-?: T_874[K_484] extends infer T_875 ? T_875 extends T_874[K_484] ? T_875 extends CanBeExpanded ? T_875["default"] : T_875 : never : never; } : T_874 : never : never : T_872 extends (infer U)[] ? any[] : T_872 extends object ? { [K_485 in keyof T_872]-?: T_872[K_485] extends infer T_876 ? T_876 extends T_872[K_485] ? T_876 extends CanBeExpanded ? T_876["default"] : T_876 : never : never; } : T_872 : never : never; } : T_867 : never : never : T_866 extends (infer U)[] ? any[] : T_866 extends object ? { [K_486 in keyof T_866]-?: T_866[K_486] extends infer T_877 ? T_877 extends T_866[K_486] ? T_877 extends CanBeExpanded ? T_877[PrefixWith, K_486, "."> extends infer T_878 ? T_878 extends PrefixWith, K_486, "."> ? T_878 extends SplitAC ? "value" : "default" : never : never] extends infer T_879 ? T_879 extends T_877[PrefixWith, K_486, "."> extends infer T_878 ? T_878 extends PrefixWith, K_486, "."> ? T_878 extends SplitAC ? "value" : "default" : never : never] ? T_879 extends CanBeExpanded ? T_879[PrefixWith, K_486, "."> extends infer T_878 ? T_878 extends PrefixWith, K_486, "."> ? T_878 extends SplitAC ? "value" : "default" : never : never] extends infer T_880 ? T_880 extends T_879[PrefixWith, K_486, "."> extends infer T_878 ? T_878 extends PrefixWith, K_486, "."> ? T_878 extends SplitAC ? "value" : "default" : never : never] ? T_880 extends CanBeExpanded ? any : T_880 extends (infer U)[] ? any[] : T_880 extends object ? { [K_487 in keyof T_880]-?: T_880[K_487] extends infer T_881 ? T_881 extends T_880[K_487] ? T_881 extends CanBeExpanded ? T_881["default"] : T_881 : never : never; } : T_880 : never : never : T_879 extends (infer U)[] ? any[] : T_879 extends object ? { [K_488 in keyof T_879]-?: T_879[K_488] extends infer T_882 ? T_882 extends T_879[K_488] ? T_882 extends CanBeExpanded ? T_882["default"] : T_882 : never : never; } : T_879 : never : never : T_877 extends (infer U)[] ? any[] : T_877 extends object ? { [K_489 in keyof T_877]-?: T_877[K_489] extends infer T_883 ? T_883 extends T_877[K_489] ? T_883 extends CanBeExpanded ? T_883["default"] : T_883 : never : never; } : T_877 : never : never; } : T_866 : never : never : T_865 extends (infer U)[] ? any[] : T_865 extends object ? { [K_490 in keyof T_865]-?: T_865[K_490] extends infer T_884 ? T_884 extends T_865[K_490] ? T_884 extends CanBeExpanded ? T_884[PrefixWith, K_490, "."> extends infer T_885 ? T_885 extends PrefixWith, K_490, "."> ? T_885 extends SplitAC ? "value" : "default" : never : never] extends infer T_886 ? T_886 extends T_884[PrefixWith, K_490, "."> extends infer T_885 ? T_885 extends PrefixWith, K_490, "."> ? T_885 extends SplitAC ? "value" : "default" : never : never] ? T_886 extends CanBeExpanded ? T_886[PrefixWith, K_490, "."> extends infer T_885 ? T_885 extends PrefixWith, K_490, "."> ? T_885 extends SplitAC ? "value" : "default" : never : never] extends infer T_887 ? T_887 extends T_886[PrefixWith, K_490, "."> extends infer T_885 ? T_885 extends PrefixWith, K_490, "."> ? T_885 extends SplitAC ? "value" : "default" : never : never] ? T_887 extends CanBeExpanded ? T_887[PrefixWith, K_490, "."> extends infer T_885 ? T_885 extends PrefixWith, K_490, "."> ? T_885 extends SplitAC ? "value" : "default" : never : never] extends infer T_888 ? T_888 extends T_887[PrefixWith, K_490, "."> extends infer T_885 ? T_885 extends PrefixWith, K_490, "."> ? T_885 extends SplitAC ? "value" : "default" : never : never] ? T_888 extends CanBeExpanded ? any : T_888 extends (infer U)[] ? any[] : T_888 extends object ? { [K_491 in keyof T_888]-?: T_888[K_491] extends infer T_889 ? T_889 extends T_888[K_491] ? T_889 extends CanBeExpanded ? T_889["default"] : T_889 : never : never; } : T_888 : never : never : T_887 extends (infer U)[] ? any[] : T_887 extends object ? { [K_492 in keyof T_887]-?: T_887[K_492] extends infer T_890 ? T_890 extends T_887[K_492] ? T_890 extends CanBeExpanded ? T_890["default"] : T_890 : never : never; } : T_887 : never : never : T_886 extends (infer U)[] ? any[] : T_886 extends object ? { [K_493 in keyof T_886]-?: T_886[K_493] extends infer T_891 ? T_891 extends T_886[K_493] ? T_891 extends CanBeExpanded ? T_891["default"] : T_891 : never : never; } : T_886 : never : never : T_884 extends (infer U)[] ? any[] : T_884 extends object ? { [K_494 in keyof T_884]-?: T_884[K_494] extends infer T_892 ? T_892 extends T_884[K_494] ? T_892 extends CanBeExpanded ? T_892["default"] : T_892 : never : never; } : T_884 : never : never; } : T_865 : never : never : T_864 extends (infer U)[] ? any[] : T_864 extends object ? { [K_495 in keyof T_864]-?: T_864[K_495] extends infer T_893 ? T_893 extends T_864[K_495] ? T_893 extends CanBeExpanded ? T_893[PrefixWith, K_495, "."> extends infer T_894 ? T_894 extends PrefixWith, K_495, "."> ? T_894 extends SplitAC ? "value" : "default" : never : never] extends infer T_895 ? T_895 extends T_893[PrefixWith, K_495, "."> extends infer T_894 ? T_894 extends PrefixWith, K_495, "."> ? T_894 extends SplitAC ? "value" : "default" : never : never] ? T_895 extends CanBeExpanded ? T_895[PrefixWith, K_495, "."> extends infer T_894 ? T_894 extends PrefixWith, K_495, "."> ? T_894 extends SplitAC ? "value" : "default" : never : never] extends infer T_896 ? T_896 extends T_895[PrefixWith, K_495, "."> extends infer T_894 ? T_894 extends PrefixWith, K_495, "."> ? T_894 extends SplitAC ? "value" : "default" : never : never] ? T_896 extends CanBeExpanded ? T_896[PrefixWith, K_495, "."> extends infer T_894 ? T_894 extends PrefixWith, K_495, "."> ? T_894 extends SplitAC ? "value" : "default" : never : never] extends infer T_897 ? T_897 extends T_896[PrefixWith, K_495, "."> extends infer T_894 ? T_894 extends PrefixWith, K_495, "."> ? T_894 extends SplitAC ? "value" : "default" : never : never] ? T_897 extends CanBeExpanded ? T_897[PrefixWith, K_495, "."> extends infer T_894 ? T_894 extends PrefixWith, K_495, "."> ? T_894 extends SplitAC ? "value" : "default" : never : never] extends infer T_898 ? T_898 extends T_897[PrefixWith, K_495, "."> extends infer T_894 ? T_894 extends PrefixWith, K_495, "."> ? T_894 extends SplitAC ? "value" : "default" : never : never] ? T_898 extends CanBeExpanded ? any : T_898 extends (infer U)[] ? any[] : T_898 extends object ? { [K_496 in keyof T_898]-?: T_898[K_496] extends infer T_899 ? T_899 extends T_898[K_496] ? T_899 extends CanBeExpanded ? T_899["default"] : T_899 : never : never; } : T_898 : never : never : T_897 extends (infer U)[] ? any[] : T_897 extends object ? { [K_497 in keyof T_897]-?: T_897[K_497] extends infer T_900 ? T_900 extends T_897[K_497] ? T_900 extends CanBeExpanded ? T_900["default"] : T_900 : never : never; } : T_897 : never : never : T_896 extends (infer U)[] ? any[] : T_896 extends object ? { [K_498 in keyof T_896]-?: T_896[K_498] extends infer T_901 ? T_901 extends T_896[K_498] ? T_901 extends CanBeExpanded ? T_901["default"] : T_901 : never : never; } : T_896 : never : never : T_895 extends (infer U)[] ? any[] : T_895 extends object ? { [K_499 in keyof T_895]-?: T_895[K_499] extends infer T_902 ? T_902 extends T_895[K_499] ? T_902 extends CanBeExpanded ? T_902["default"] : T_902 : never : never; } : T_895 : never : never : T_893 extends (infer U)[] ? any[] : T_893 extends object ? { [K_500 in keyof T_893]-?: T_893[K_500] extends infer T_903 ? T_903 extends T_893[K_500] ? T_903 extends CanBeExpanded ? T_903["default"] : T_903 : never : never; } : T_893 : never : never; } : T_864 : never : never : T_863 extends (infer U)[] ? any[] : T_863 extends object ? { [K_501 in keyof T_863]-?: T_863[K_501] extends infer T_904 ? T_904 extends T_863[K_501] ? T_904 extends CanBeExpanded ? T_904[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] extends infer T_906 ? T_906 extends T_904[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] ? T_906 extends CanBeExpanded ? T_906[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] extends infer T_907 ? T_907 extends T_906[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] ? T_907 extends CanBeExpanded ? T_907[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] extends infer T_908 ? T_908 extends T_907[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] ? T_908 extends CanBeExpanded ? T_908[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] extends infer T_909 ? T_909 extends T_908[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] ? T_909 extends CanBeExpanded ? T_909[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] extends infer T_910 ? T_910 extends T_909[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] ? T_910 extends CanBeExpanded ? any : T_910 extends (infer U)[] ? any[] : T_910 extends object ? { [K_502 in keyof T_910]-?: T_910[K_502] extends infer T_911 ? T_911 extends T_910[K_502] ? T_911 extends CanBeExpanded ? T_911["default"] : T_911 : never : never; } : T_910 : never : never : T_909 extends (infer U)[] ? any[] : T_909 extends object ? { [K_503 in keyof T_909]-?: T_909[K_503] extends infer T_912 ? T_912 extends T_909[K_503] ? T_912 extends CanBeExpanded ? T_912["default"] : T_912 : never : never; } : T_909 : never : never : T_908 extends (infer U)[] ? any[] : T_908 extends object ? { [K_504 in keyof T_908]-?: T_908[K_504] extends infer T_913 ? T_913 extends T_908[K_504] ? T_913 extends CanBeExpanded ? T_913["default"] : T_913 : never : never; } : T_908 : never : never : T_907 extends (infer U)[] ? any[] : T_907 extends object ? { [K_505 in keyof T_907]-?: T_907[K_505] extends infer T_914 ? T_914 extends T_907[K_505] ? T_914 extends CanBeExpanded ? T_914["default"] : T_914 : never : never; } : T_907 : never : never : T_906 extends (infer U)[] ? any[] : T_906 extends object ? { [K_506 in keyof T_906]-?: T_906[K_506] extends infer T_915 ? T_915 extends T_906[K_506] ? T_915 extends CanBeExpanded ? T_915["default"] : T_915 : never : never; } : T_906 : never : never : T_904 extends (infer U)[] ? any[] : T_904 extends object ? { [K_507 in keyof T_904]-?: T_904[K_507] extends infer T_916 ? T_916 extends T_904[K_507] ? T_916 extends CanBeExpanded ? T_916["default"] : T_916 : never : never; } : T_904 : never : never; } : T_863 : never : never : T_861 extends (infer U)[] ? any[] : T_861 extends object ? { [K_508 in keyof T_861]-?: T_861[K_508] extends infer T_917 ? T_917 extends T_861[K_508] ? T_917 extends CanBeExpanded ? T_917[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] extends infer T_919 ? T_919 extends T_917[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] ? T_919 extends CanBeExpanded ? T_919[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] extends infer T_920 ? T_920 extends T_919[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] ? T_920 extends CanBeExpanded ? T_920[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] extends infer T_921 ? T_921 extends T_920[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] ? T_921 extends CanBeExpanded ? T_921[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] extends infer T_922 ? T_922 extends T_921[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] ? T_922 extends CanBeExpanded ? T_922[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] extends infer T_923 ? T_923 extends T_922[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] ? T_923 extends CanBeExpanded ? T_923[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] extends infer T_924 ? T_924 extends T_923[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] ? T_924 extends CanBeExpanded ? any : T_924 extends (infer U)[] ? any[] : T_924 extends object ? { [K_509 in keyof T_924]-?: T_924[K_509] extends infer T_925 ? T_925 extends T_924[K_509] ? T_925 extends CanBeExpanded ? T_925["default"] : T_925 : never : never; } : T_924 : never : never : T_923 extends (infer U)[] ? any[] : T_923 extends object ? { [K_510 in keyof T_923]-?: T_923[K_510] extends infer T_926 ? T_926 extends T_923[K_510] ? T_926 extends CanBeExpanded ? T_926["default"] : T_926 : never : never; } : T_923 : never : never : T_922 extends (infer U)[] ? any[] : T_922 extends object ? { [K_511 in keyof T_922]-?: T_922[K_511] extends infer T_927 ? T_927 extends T_922[K_511] ? T_927 extends CanBeExpanded ? T_927["default"] : T_927 : never : never; } : T_922 : never : never : T_921 extends (infer U)[] ? any[] : T_921 extends object ? { [K_512 in keyof T_921]-?: T_921[K_512] extends infer T_928 ? T_928 extends T_921[K_512] ? T_928 extends CanBeExpanded ? T_928["default"] : T_928 : never : never; } : T_921 : never : never : T_920 extends (infer U)[] ? any[] : T_920 extends object ? { [K_513 in keyof T_920]-?: T_920[K_513] extends infer T_929 ? T_929 extends T_920[K_513] ? T_929 extends CanBeExpanded ? T_929["default"] : T_929 : never : never; } : T_920 : never : never : T_919 extends (infer U)[] ? any[] : T_919 extends object ? { [K_514 in keyof T_919]-?: T_919[K_514] extends infer T_930 ? T_930 extends T_919[K_514] ? T_930 extends CanBeExpanded ? T_930["default"] : T_930 : never : never; } : T_919 : never : never : T_917 extends (infer U)[] ? any[] : T_917 extends object ? { [K_515 in keyof T_917]-?: T_917[K_515] extends infer T_931 ? T_931 extends T_917[K_515] ? T_931 extends CanBeExpanded ? T_931["default"] : T_931 : never : never; } : T_917 : never : never; } : T_861 : never : never; } : T_691 : never : never : T_689 extends (infer U)[] ? any[] : T_689 extends object ? { [K_516 in keyof T_689]-?: T_689[K_516] extends infer T_932 ? T_932 extends T_689[K_516] ? T_932 extends CanBeExpanded ? T_932[PrefixWith extends infer T_933 ? T_933 extends PrefixWith ? T_933 extends SplitAC ? "value" : "default" : never : never] extends infer T_934 ? T_934 extends T_932[PrefixWith extends infer T_933 ? T_933 extends PrefixWith ? T_933 extends SplitAC ? "value" : "default" : never : never] ? T_934 extends CanBeExpanded ? T_934[PrefixWith extends infer T_933 ? T_933 extends PrefixWith ? T_933 extends SplitAC ? "value" : "default" : never : never] extends infer T_935 ? T_935 extends T_934[PrefixWith extends infer T_933 ? T_933 extends PrefixWith ? T_933 extends SplitAC ? "value" : "default" : never : never] ? T_935 extends CanBeExpanded ? T_935[PrefixWith extends infer T_933 ? T_933 extends PrefixWith ? T_933 extends SplitAC ? "value" : "default" : never : never] extends infer T_936 ? T_936 extends T_935[PrefixWith extends infer T_933 ? T_933 extends PrefixWith ? T_933 extends SplitAC ? "value" : "default" : never : never] ? T_936 extends CanBeExpanded ? T_936[PrefixWith extends infer T_933 ? T_933 extends PrefixWith ? T_933 extends SplitAC ? "value" : "default" : never : never] extends infer T_937 ? T_937 extends T_936[PrefixWith extends infer T_933 ? T_933 extends PrefixWith ? T_933 extends SplitAC ? "value" : "default" : never : never] ? T_937 extends CanBeExpanded ? T_937[PrefixWith extends infer T_933 ? T_933 extends PrefixWith ? T_933 extends SplitAC ? "value" : "default" : never : never] extends infer T_938 ? T_938 extends T_937[PrefixWith extends infer T_933 ? T_933 extends PrefixWith ? T_933 extends SplitAC ? "value" : "default" : never : never] ? T_938 extends CanBeExpanded ? T_938[PrefixWith extends infer T_933 ? T_933 extends PrefixWith ? T_933 extends SplitAC ? "value" : "default" : never : never] extends infer T_939 ? T_939 extends T_938[PrefixWith extends infer T_933 ? T_933 extends PrefixWith ? T_933 extends SplitAC ? "value" : "default" : never : never] ? T_939 extends CanBeExpanded ? T_939[PrefixWith extends infer T_933 ? T_933 extends PrefixWith ? T_933 extends SplitAC ? "value" : "default" : never : never] extends infer T_940 ? T_940 extends T_939[PrefixWith extends infer T_933 ? T_933 extends PrefixWith ? T_933 extends SplitAC ? "value" : "default" : never : never] ? T_940 extends CanBeExpanded ? T_940[PrefixWith extends infer T_933 ? T_933 extends PrefixWith ? T_933 extends SplitAC ? "value" : "default" : never : never] extends infer T_941 ? T_941 extends T_940[PrefixWith extends infer T_933 ? T_933 extends PrefixWith ? T_933 extends SplitAC ? "value" : "default" : never : never] ? T_941 extends CanBeExpanded ? any : T_941 extends (infer U)[] ? any[] : T_941 extends object ? { [K_517 in keyof T_941]-?: any; } : T_941 : never : never : T_940 extends (infer U)[] ? any[] : T_940 extends object ? { [K_518 in keyof T_940]-?: T_940[K_518] extends infer T_942 ? T_942 extends T_940[K_518] ? T_942 extends CanBeExpanded ? any : T_942 extends (infer U)[] ? any[] : T_942 extends object ? { [K_519 in keyof T_942]-?: T_942[K_519] extends infer T_943 ? T_943 extends T_942[K_519] ? T_943 extends CanBeExpanded ? T_943["default"] : T_943 : never : never; } : T_942 : never : never; } : T_940 : never : never : T_939 extends (infer U)[] ? any[] : T_939 extends object ? { [K_520 in keyof T_939]-?: T_939[K_520] extends infer T_944 ? T_944 extends T_939[K_520] ? T_944 extends CanBeExpanded ? T_944[PrefixWith, K_520, "."> extends infer T_945 ? T_945 extends PrefixWith, K_520, "."> ? T_945 extends SplitAC ? "value" : "default" : never : never] extends infer T_946 ? T_946 extends T_944[PrefixWith, K_520, "."> extends infer T_945 ? T_945 extends PrefixWith, K_520, "."> ? T_945 extends SplitAC ? "value" : "default" : never : never] ? T_946 extends CanBeExpanded ? any : T_946 extends (infer U)[] ? any[] : T_946 extends object ? { [K_521 in keyof T_946]-?: T_946[K_521] extends infer T_947 ? T_947 extends T_946[K_521] ? T_947 extends CanBeExpanded ? T_947["default"] : T_947 : never : never; } : T_946 : never : never : T_944 extends (infer U)[] ? any[] : T_944 extends object ? { [K_522 in keyof T_944]-?: T_944[K_522] extends infer T_948 ? T_948 extends T_944[K_522] ? T_948 extends CanBeExpanded ? T_948["default"] : T_948 : never : never; } : T_944 : never : never; } : T_939 : never : never : T_938 extends (infer U)[] ? any[] : T_938 extends object ? { [K_523 in keyof T_938]-?: T_938[K_523] extends infer T_949 ? T_949 extends T_938[K_523] ? T_949 extends CanBeExpanded ? T_949[PrefixWith, K_523, "."> extends infer T_950 ? T_950 extends PrefixWith, K_523, "."> ? T_950 extends SplitAC ? "value" : "default" : never : never] extends infer T_951 ? T_951 extends T_949[PrefixWith, K_523, "."> extends infer T_950 ? T_950 extends PrefixWith, K_523, "."> ? T_950 extends SplitAC ? "value" : "default" : never : never] ? T_951 extends CanBeExpanded ? T_951[PrefixWith, K_523, "."> extends infer T_950 ? T_950 extends PrefixWith, K_523, "."> ? T_950 extends SplitAC ? "value" : "default" : never : never] extends infer T_952 ? T_952 extends T_951[PrefixWith, K_523, "."> extends infer T_950 ? T_950 extends PrefixWith, K_523, "."> ? T_950 extends SplitAC ? "value" : "default" : never : never] ? T_952 extends CanBeExpanded ? any : T_952 extends (infer U)[] ? any[] : T_952 extends object ? { [K_524 in keyof T_952]-?: T_952[K_524] extends infer T_953 ? T_953 extends T_952[K_524] ? T_953 extends CanBeExpanded ? T_953["default"] : T_953 : never : never; } : T_952 : never : never : T_951 extends (infer U)[] ? any[] : T_951 extends object ? { [K_525 in keyof T_951]-?: T_951[K_525] extends infer T_954 ? T_954 extends T_951[K_525] ? T_954 extends CanBeExpanded ? T_954["default"] : T_954 : never : never; } : T_951 : never : never : T_949 extends (infer U)[] ? any[] : T_949 extends object ? { [K_526 in keyof T_949]-?: T_949[K_526] extends infer T_955 ? T_955 extends T_949[K_526] ? T_955 extends CanBeExpanded ? T_955["default"] : T_955 : never : never; } : T_949 : never : never; } : T_938 : never : never : T_937 extends (infer U)[] ? any[] : T_937 extends object ? { [K_527 in keyof T_937]-?: T_937[K_527] extends infer T_956 ? T_956 extends T_937[K_527] ? T_956 extends CanBeExpanded ? T_956[PrefixWith, K_527, "."> extends infer T_957 ? T_957 extends PrefixWith, K_527, "."> ? T_957 extends SplitAC ? "value" : "default" : never : never] extends infer T_958 ? T_958 extends T_956[PrefixWith, K_527, "."> extends infer T_957 ? T_957 extends PrefixWith, K_527, "."> ? T_957 extends SplitAC ? "value" : "default" : never : never] ? T_958 extends CanBeExpanded ? T_958[PrefixWith, K_527, "."> extends infer T_957 ? T_957 extends PrefixWith, K_527, "."> ? T_957 extends SplitAC ? "value" : "default" : never : never] extends infer T_959 ? T_959 extends T_958[PrefixWith, K_527, "."> extends infer T_957 ? T_957 extends PrefixWith, K_527, "."> ? T_957 extends SplitAC ? "value" : "default" : never : never] ? T_959 extends CanBeExpanded ? T_959[PrefixWith, K_527, "."> extends infer T_957 ? T_957 extends PrefixWith, K_527, "."> ? T_957 extends SplitAC ? "value" : "default" : never : never] extends infer T_960 ? T_960 extends T_959[PrefixWith, K_527, "."> extends infer T_957 ? T_957 extends PrefixWith, K_527, "."> ? T_957 extends SplitAC ? "value" : "default" : never : never] ? T_960 extends CanBeExpanded ? any : T_960 extends (infer U)[] ? any[] : T_960 extends object ? { [K_528 in keyof T_960]-?: T_960[K_528] extends infer T_961 ? T_961 extends T_960[K_528] ? T_961 extends CanBeExpanded ? T_961["default"] : T_961 : never : never; } : T_960 : never : never : T_959 extends (infer U)[] ? any[] : T_959 extends object ? { [K_529 in keyof T_959]-?: T_959[K_529] extends infer T_962 ? T_962 extends T_959[K_529] ? T_962 extends CanBeExpanded ? T_962["default"] : T_962 : never : never; } : T_959 : never : never : T_958 extends (infer U)[] ? any[] : T_958 extends object ? { [K_530 in keyof T_958]-?: T_958[K_530] extends infer T_963 ? T_963 extends T_958[K_530] ? T_963 extends CanBeExpanded ? T_963["default"] : T_963 : never : never; } : T_958 : never : never : T_956 extends (infer U)[] ? any[] : T_956 extends object ? { [K_531 in keyof T_956]-?: T_956[K_531] extends infer T_964 ? T_964 extends T_956[K_531] ? T_964 extends CanBeExpanded ? T_964["default"] : T_964 : never : never; } : T_956 : never : never; } : T_937 : never : never : T_936 extends (infer U)[] ? any[] : T_936 extends object ? { [K_532 in keyof T_936]-?: T_936[K_532] extends infer T_965 ? T_965 extends T_936[K_532] ? T_965 extends CanBeExpanded ? T_965[PrefixWith, K_532, "."> extends infer T_966 ? T_966 extends PrefixWith, K_532, "."> ? T_966 extends SplitAC ? "value" : "default" : never : never] extends infer T_967 ? T_967 extends T_965[PrefixWith, K_532, "."> extends infer T_966 ? T_966 extends PrefixWith, K_532, "."> ? T_966 extends SplitAC ? "value" : "default" : never : never] ? T_967 extends CanBeExpanded ? T_967[PrefixWith, K_532, "."> extends infer T_966 ? T_966 extends PrefixWith, K_532, "."> ? T_966 extends SplitAC ? "value" : "default" : never : never] extends infer T_968 ? T_968 extends T_967[PrefixWith, K_532, "."> extends infer T_966 ? T_966 extends PrefixWith, K_532, "."> ? T_966 extends SplitAC ? "value" : "default" : never : never] ? T_968 extends CanBeExpanded ? T_968[PrefixWith, K_532, "."> extends infer T_966 ? T_966 extends PrefixWith, K_532, "."> ? T_966 extends SplitAC ? "value" : "default" : never : never] extends infer T_969 ? T_969 extends T_968[PrefixWith, K_532, "."> extends infer T_966 ? T_966 extends PrefixWith, K_532, "."> ? T_966 extends SplitAC ? "value" : "default" : never : never] ? T_969 extends CanBeExpanded ? T_969[PrefixWith, K_532, "."> extends infer T_966 ? T_966 extends PrefixWith, K_532, "."> ? T_966 extends SplitAC ? "value" : "default" : never : never] extends infer T_970 ? T_970 extends T_969[PrefixWith, K_532, "."> extends infer T_966 ? T_966 extends PrefixWith, K_532, "."> ? T_966 extends SplitAC ? "value" : "default" : never : never] ? T_970 extends CanBeExpanded ? any : T_970 extends (infer U)[] ? any[] : T_970 extends object ? { [K_533 in keyof T_970]-?: T_970[K_533] extends infer T_971 ? T_971 extends T_970[K_533] ? T_971 extends CanBeExpanded ? T_971["default"] : T_971 : never : never; } : T_970 : never : never : T_969 extends (infer U)[] ? any[] : T_969 extends object ? { [K_534 in keyof T_969]-?: T_969[K_534] extends infer T_972 ? T_972 extends T_969[K_534] ? T_972 extends CanBeExpanded ? T_972["default"] : T_972 : never : never; } : T_969 : never : never : T_968 extends (infer U)[] ? any[] : T_968 extends object ? { [K_535 in keyof T_968]-?: T_968[K_535] extends infer T_973 ? T_973 extends T_968[K_535] ? T_973 extends CanBeExpanded ? T_973["default"] : T_973 : never : never; } : T_968 : never : never : T_967 extends (infer U)[] ? any[] : T_967 extends object ? { [K_536 in keyof T_967]-?: T_967[K_536] extends infer T_974 ? T_974 extends T_967[K_536] ? T_974 extends CanBeExpanded ? T_974["default"] : T_974 : never : never; } : T_967 : never : never : T_965 extends (infer U)[] ? any[] : T_965 extends object ? { [K_537 in keyof T_965]-?: T_965[K_537] extends infer T_975 ? T_975 extends T_965[K_537] ? T_975 extends CanBeExpanded ? T_975["default"] : T_975 : never : never; } : T_965 : never : never; } : T_936 : never : never : T_935 extends (infer U)[] ? any[] : T_935 extends object ? { [K_538 in keyof T_935]-?: T_935[K_538] extends infer T_976 ? T_976 extends T_935[K_538] ? T_976 extends CanBeExpanded ? T_976[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] extends infer T_978 ? T_978 extends T_976[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] ? T_978 extends CanBeExpanded ? T_978[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] extends infer T_979 ? T_979 extends T_978[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] ? T_979 extends CanBeExpanded ? T_979[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] extends infer T_980 ? T_980 extends T_979[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] ? T_980 extends CanBeExpanded ? T_980[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] extends infer T_981 ? T_981 extends T_980[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] ? T_981 extends CanBeExpanded ? T_981[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] extends infer T_982 ? T_982 extends T_981[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] ? T_982 extends CanBeExpanded ? any : T_982 extends (infer U)[] ? any[] : T_982 extends object ? { [K_539 in keyof T_982]-?: T_982[K_539] extends infer T_983 ? T_983 extends T_982[K_539] ? T_983 extends CanBeExpanded ? T_983["default"] : T_983 : never : never; } : T_982 : never : never : T_981 extends (infer U)[] ? any[] : T_981 extends object ? { [K_540 in keyof T_981]-?: T_981[K_540] extends infer T_984 ? T_984 extends T_981[K_540] ? T_984 extends CanBeExpanded ? T_984["default"] : T_984 : never : never; } : T_981 : never : never : T_980 extends (infer U)[] ? any[] : T_980 extends object ? { [K_541 in keyof T_980]-?: T_980[K_541] extends infer T_985 ? T_985 extends T_980[K_541] ? T_985 extends CanBeExpanded ? T_985["default"] : T_985 : never : never; } : T_980 : never : never : T_979 extends (infer U)[] ? any[] : T_979 extends object ? { [K_542 in keyof T_979]-?: T_979[K_542] extends infer T_986 ? T_986 extends T_979[K_542] ? T_986 extends CanBeExpanded ? T_986["default"] : T_986 : never : never; } : T_979 : never : never : T_978 extends (infer U)[] ? any[] : T_978 extends object ? { [K_543 in keyof T_978]-?: T_978[K_543] extends infer T_987 ? T_987 extends T_978[K_543] ? T_987 extends CanBeExpanded ? T_987["default"] : T_987 : never : never; } : T_978 : never : never : T_976 extends (infer U)[] ? any[] : T_976 extends object ? { [K_544 in keyof T_976]-?: T_976[K_544] extends infer T_988 ? T_988 extends T_976[K_544] ? T_988 extends CanBeExpanded ? T_988["default"] : T_988 : never : never; } : T_976 : never : never; } : T_935 : never : never : T_934 extends (infer U)[] ? any[] : T_934 extends object ? { [K_545 in keyof T_934]-?: T_934[K_545] extends infer T_989 ? T_989 extends T_934[K_545] ? T_989 extends CanBeExpanded ? T_989[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] extends infer T_991 ? T_991 extends T_989[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] ? T_991 extends CanBeExpanded ? T_991[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] extends infer T_992 ? T_992 extends T_991[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] ? T_992 extends CanBeExpanded ? T_992[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] extends infer T_993 ? T_993 extends T_992[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] ? T_993 extends CanBeExpanded ? T_993[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] extends infer T_994 ? T_994 extends T_993[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] ? T_994 extends CanBeExpanded ? T_994[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] extends infer T_995 ? T_995 extends T_994[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] ? T_995 extends CanBeExpanded ? T_995[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] extends infer T_996 ? T_996 extends T_995[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] ? T_996 extends CanBeExpanded ? any : T_996 extends (infer U)[] ? any[] : T_996 extends object ? { [K_546 in keyof T_996]-?: T_996[K_546] extends infer T_997 ? T_997 extends T_996[K_546] ? T_997 extends CanBeExpanded ? T_997["default"] : T_997 : never : never; } : T_996 : never : never : T_995 extends (infer U)[] ? any[] : T_995 extends object ? { [K_547 in keyof T_995]-?: T_995[K_547] extends infer T_998 ? T_998 extends T_995[K_547] ? T_998 extends CanBeExpanded ? T_998["default"] : T_998 : never : never; } : T_995 : never : never : T_994 extends (infer U)[] ? any[] : T_994 extends object ? { [K_548 in keyof T_994]-?: T_994[K_548] extends infer T_999 ? T_999 extends T_994[K_548] ? T_999 extends CanBeExpanded ? T_999["default"] : T_999 : never : never; } : T_994 : never : never : T_993 extends (infer U)[] ? any[] : T_993 extends object ? { [K_549 in keyof T_993]-?: T_993[K_549] extends infer T_1000 ? T_1000 extends T_993[K_549] ? T_1000 extends CanBeExpanded ? T_1000["default"] : T_1000 : never : never; } : T_993 : never : never : T_992 extends (infer U)[] ? any[] : T_992 extends object ? { [K_550 in keyof T_992]-?: T_992[K_550] extends infer T_1001 ? T_1001 extends T_992[K_550] ? T_1001 extends CanBeExpanded ? T_1001["default"] : T_1001 : never : never; } : T_992 : never : never : T_991 extends (infer U)[] ? any[] : T_991 extends object ? { [K_551 in keyof T_991]-?: T_991[K_551] extends infer T_1002 ? T_1002 extends T_991[K_551] ? T_1002 extends CanBeExpanded ? T_1002["default"] : T_1002 : never : never; } : T_991 : never : never : T_989 extends (infer U)[] ? any[] : T_989 extends object ? { [K_552 in keyof T_989]-?: T_989[K_552] extends infer T_1003 ? T_1003 extends T_989[K_552] ? T_1003 extends CanBeExpanded ? T_1003["default"] : T_1003 : never : never; } : T_989 : never : never; } : T_934 : never : never : T_932 extends (infer U)[] ? any[] : T_932 extends object ? { [K_553 in keyof T_932]-?: T_932[K_553] extends infer T_1004 ? T_1004 extends T_932[K_553] ? T_1004 extends CanBeExpanded ? T_1004[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] extends infer T_1006 ? T_1006 extends T_1004[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] ? T_1006 extends CanBeExpanded ? T_1006[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] extends infer T_1007 ? T_1007 extends T_1006[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] ? T_1007 extends CanBeExpanded ? T_1007[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] extends infer T_1008 ? T_1008 extends T_1007[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] ? T_1008 extends CanBeExpanded ? T_1008[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] extends infer T_1009 ? T_1009 extends T_1008[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] ? T_1009 extends CanBeExpanded ? T_1009[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] extends infer T_1010 ? T_1010 extends T_1009[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] ? T_1010 extends CanBeExpanded ? T_1010[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] extends infer T_1011 ? T_1011 extends T_1010[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] ? T_1011 extends CanBeExpanded ? T_1011[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] extends infer T_1012 ? T_1012 extends T_1011[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] ? T_1012 extends CanBeExpanded ? any : T_1012 extends (infer U)[] ? any[] : T_1012 extends object ? { [K_554 in keyof T_1012]-?: T_1012[K_554] extends infer T_1013 ? T_1013 extends T_1012[K_554] ? T_1013 extends CanBeExpanded ? T_1013["default"] : T_1013 : never : never; } : T_1012 : never : never : T_1011 extends (infer U)[] ? any[] : T_1011 extends object ? { [K_555 in keyof T_1011]-?: T_1011[K_555] extends infer T_1014 ? T_1014 extends T_1011[K_555] ? T_1014 extends CanBeExpanded ? T_1014["default"] : T_1014 : never : never; } : T_1011 : never : never : T_1010 extends (infer U)[] ? any[] : T_1010 extends object ? { [K_556 in keyof T_1010]-?: T_1010[K_556] extends infer T_1015 ? T_1015 extends T_1010[K_556] ? T_1015 extends CanBeExpanded ? T_1015["default"] : T_1015 : never : never; } : T_1010 : never : never : T_1009 extends (infer U)[] ? any[] : T_1009 extends object ? { [K_557 in keyof T_1009]-?: T_1009[K_557] extends infer T_1016 ? T_1016 extends T_1009[K_557] ? T_1016 extends CanBeExpanded ? T_1016["default"] : T_1016 : never : never; } : T_1009 : never : never : T_1008 extends (infer U)[] ? any[] : T_1008 extends object ? { [K_558 in keyof T_1008]-?: T_1008[K_558] extends infer T_1017 ? T_1017 extends T_1008[K_558] ? T_1017 extends CanBeExpanded ? T_1017["default"] : T_1017 : never : never; } : T_1008 : never : never : T_1007 extends (infer U)[] ? any[] : T_1007 extends object ? { [K_559 in keyof T_1007]-?: T_1007[K_559] extends infer T_1018 ? T_1018 extends T_1007[K_559] ? T_1018 extends CanBeExpanded ? T_1018["default"] : T_1018 : never : never; } : T_1007 : never : never : T_1006 extends (infer U)[] ? any[] : T_1006 extends object ? { [K_560 in keyof T_1006]-?: T_1006[K_560] extends infer T_1019 ? T_1019 extends T_1006[K_560] ? T_1019 extends CanBeExpanded ? T_1019["default"] : T_1019 : never : never; } : T_1006 : never : never : T_1004 extends (infer U)[] ? any[] : T_1004 extends object ? { [K_561 in keyof T_1004]-?: T_1004[K_561] extends infer T_1020 ? T_1020 extends T_1004[K_561] ? T_1020 extends CanBeExpanded ? T_1020["default"] : T_1020 : never : never; } : T_1004 : never : never; } : T_932 : never : never; } : T_689 : never : never; } : T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>UseQueryOptions : T extends CanBeExpanded ? T["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_2 ? T_2 extends T["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_2 extends CanBeExpanded ? T_2["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_3 ? T_3 extends T_2["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_3 extends CanBeExpanded ? T_3["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_4 ? T_4 extends T_3["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_4 extends CanBeExpanded ? T_4["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_5 ? T_5 extends T_4["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_5 extends CanBeExpanded ? T_5["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_6 ? T_6 extends T_5["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_6 extends CanBeExpanded ? T_6["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_7 ? T_7 extends T_6["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_7 extends CanBeExpanded ? T_7["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_8 ? T_8 extends T_7["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_8 extends CanBeExpanded ? T_8["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_9 ? T_9 extends T_8["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_9 extends CanBeExpanded ? T_9["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_10 ? T_10 extends T_9["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_10 extends CanBeExpanded ? T_10["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_11 ? T_11 extends T_10["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_11 extends CanBeExpanded ? any : T_11 extends (infer U)[] ? any[] : T_11 extends object ? { [K_1 in keyof T_11]-?: any; } : T_11 : never : never : T_10 extends (infer U)[] ? any[] : T_10 extends object ? { [K_2 in keyof T_10]-?: T_10[K_2] extends infer T_12 ? T_12 extends T_10[K_2] ? T_12 extends CanBeExpanded ? any : T_12 extends (infer U)[] ? any[] : T_12 extends object ? { [K_3 in keyof T_12]-?: any; } : T_12 : never : never; } : T_10 : never : never : T_9 extends (infer U)[] ? any[] : T_9 extends object ? { [K_4 in keyof T_9]-?: T_9[K_4] extends infer T_13 ? T_13 extends T_9[K_4] ? T_13 extends CanBeExpanded ? T_13[`${string & K_4}` extends infer T_14 ? T_14 extends `${string & K_4}` ? T_14 extends SplitAC ? "value" : "default" : never : never] extends infer T_15 ? T_15 extends T_13[`${string & K_4}` extends infer T_14 ? T_14 extends `${string & K_4}` ? T_14 extends SplitAC ? "value" : "default" : never : never] ? T_15 extends CanBeExpanded ? any : T_15 extends (infer U)[] ? any[] : T_15 extends object ? { [K_5 in keyof T_15]-?: any; } : T_15 : never : never : T_13 extends (infer U)[] ? any[] : T_13 extends object ? { [K_6 in keyof T_13]-?: T_13[K_6] extends infer T_16 ? T_16 extends T_13[K_6] ? T_16 extends CanBeExpanded ? any : T_16 extends (infer U)[] ? any[] : T_16 extends object ? { [K_7 in keyof T_16]-?: any; } : T_16 : never : never; } : T_13 : never : never; } : T_9 : never : never : T_8 extends (infer U)[] ? any[] : T_8 extends object ? { [K_8 in keyof T_8]-?: T_8[K_8] extends infer T_17 ? T_17 extends T_8[K_8] ? T_17 extends CanBeExpanded ? T_17[`${string & K_8}` extends infer T_18 ? T_18 extends `${string & K_8}` ? T_18 extends SplitAC ? "value" : "default" : never : never] extends infer T_19 ? T_19 extends T_17[`${string & K_8}` extends infer T_18 ? T_18 extends `${string & K_8}` ? T_18 extends SplitAC ? "value" : "default" : never : never] ? T_19 extends CanBeExpanded ? T_19[`${string & K_8}` extends infer T_18 ? T_18 extends `${string & K_8}` ? T_18 extends SplitAC ? "value" : "default" : never : never] extends infer T_20 ? T_20 extends T_19[`${string & K_8}` extends infer T_18 ? T_18 extends `${string & K_8}` ? T_18 extends SplitAC ? "value" : "default" : never : never] ? T_20 extends CanBeExpanded ? any : T_20 extends (infer U)[] ? any[] : T_20 extends object ? { [K_9 in keyof T_20]-?: any; } : T_20 : never : never : T_19 extends (infer U)[] ? any[] : T_19 extends object ? { [K_10 in keyof T_19]-?: T_19[K_10] extends infer T_21 ? T_21 extends T_19[K_10] ? T_21 extends CanBeExpanded ? any : T_21 extends (infer U)[] ? any[] : T_21 extends object ? { [K_11 in keyof T_21]-?: any; } : T_21 : never : never; } : T_19 : never : never : T_17 extends (infer U)[] ? any[] : T_17 extends object ? { [K_12 in keyof T_17]-?: T_17[K_12] extends infer T_22 ? T_22 extends T_17[K_12] ? T_22 extends CanBeExpanded ? T_22[PrefixWith<`${string & K_8}`, K_12, "."> extends infer T_23 ? T_23 extends PrefixWith<`${string & K_8}`, K_12, "."> ? T_23 extends SplitAC ? "value" : "default" : never : never] extends infer T_24 ? T_24 extends T_22[PrefixWith<`${string & K_8}`, K_12, "."> extends infer T_23 ? T_23 extends PrefixWith<`${string & K_8}`, K_12, "."> ? T_23 extends SplitAC ? "value" : "default" : never : never] ? T_24 extends CanBeExpanded ? any : T_24 extends (infer U)[] ? any[] : T_24 extends object ? { [K_13 in keyof T_24]-?: any; } : T_24 : never : never : T_22 extends (infer U)[] ? any[] : T_22 extends object ? { [K_14 in keyof T_22]-?: T_22[K_14] extends infer T_25 ? T_25 extends T_22[K_14] ? T_25 extends CanBeExpanded ? any : T_25 extends (infer U)[] ? any[] : T_25 extends object ? { [K_15 in keyof T_25]-?: T_25[K_15] extends infer T_26 ? T_26 extends T_25[K_15] ? T_26 extends CanBeExpanded ? T_26["default"] : T_26 : never : never; } : T_25 : never : never; } : T_22 : never : never; } : T_17 : never : never; } : T_8 : never : never : T_7 extends (infer U)[] ? any[] : T_7 extends object ? { [K_16 in keyof T_7]-?: T_7[K_16] extends infer T_27 ? T_27 extends T_7[K_16] ? T_27 extends CanBeExpanded ? T_27[`${string & K_16}` extends infer T_28 ? T_28 extends `${string & K_16}` ? T_28 extends SplitAC ? "value" : "default" : never : never] extends infer T_29 ? T_29 extends T_27[`${string & K_16}` extends infer T_28 ? T_28 extends `${string & K_16}` ? T_28 extends SplitAC ? "value" : "default" : never : never] ? T_29 extends CanBeExpanded ? T_29[`${string & K_16}` extends infer T_28 ? T_28 extends `${string & K_16}` ? T_28 extends SplitAC ? "value" : "default" : never : never] extends infer T_30 ? T_30 extends T_29[`${string & K_16}` extends infer T_28 ? T_28 extends `${string & K_16}` ? T_28 extends SplitAC ? "value" : "default" : never : never] ? T_30 extends CanBeExpanded ? T_30[`${string & K_16}` extends infer T_28 ? T_28 extends `${string & K_16}` ? T_28 extends SplitAC ? "value" : "default" : never : never] extends infer T_31 ? T_31 extends T_30[`${string & K_16}` extends infer T_28 ? T_28 extends `${string & K_16}` ? T_28 extends SplitAC ? "value" : "default" : never : never] ? T_31 extends CanBeExpanded ? any : T_31 extends (infer U)[] ? any[] : T_31 extends object ? { [K_17 in keyof T_31]-?: any; } : T_31 : never : never : T_30 extends (infer U)[] ? any[] : T_30 extends object ? { [K_18 in keyof T_30]-?: T_30[K_18] extends infer T_32 ? T_32 extends T_30[K_18] ? T_32 extends CanBeExpanded ? any : T_32 extends (infer U)[] ? any[] : T_32 extends object ? { [K_19 in keyof T_32]-?: any; } : T_32 : never : never; } : T_30 : never : never : T_29 extends (infer U)[] ? any[] : T_29 extends object ? { [K_20 in keyof T_29]-?: T_29[K_20] extends infer T_33 ? T_33 extends T_29[K_20] ? T_33 extends CanBeExpanded ? T_33[PrefixWith<`${string & K_16}`, K_20, "."> extends infer T_34 ? T_34 extends PrefixWith<`${string & K_16}`, K_20, "."> ? T_34 extends SplitAC ? "value" : "default" : never : never] extends infer T_35 ? T_35 extends T_33[PrefixWith<`${string & K_16}`, K_20, "."> extends infer T_34 ? T_34 extends PrefixWith<`${string & K_16}`, K_20, "."> ? T_34 extends SplitAC ? "value" : "default" : never : never] ? T_35 extends CanBeExpanded ? any : T_35 extends (infer U)[] ? any[] : T_35 extends object ? { [K_21 in keyof T_35]-?: any; } : T_35 : never : never : T_33 extends (infer U)[] ? any[] : T_33 extends object ? { [K_22 in keyof T_33]-?: T_33[K_22] extends infer T_36 ? T_36 extends T_33[K_22] ? T_36 extends CanBeExpanded ? any : T_36 extends (infer U)[] ? any[] : T_36 extends object ? { [K_23 in keyof T_36]-?: T_36[K_23] extends infer T_37 ? T_37 extends T_36[K_23] ? T_37 extends CanBeExpanded ? T_37["default"] : T_37 : never : never; } : T_36 : never : never; } : T_33 : never : never; } : T_29 : never : never : T_27 extends (infer U)[] ? any[] : T_27 extends object ? { [K_24 in keyof T_27]-?: T_27[K_24] extends infer T_38 ? T_38 extends T_27[K_24] ? T_38 extends CanBeExpanded ? T_38[PrefixWith<`${string & K_16}`, K_24, "."> extends infer T_39 ? T_39 extends PrefixWith<`${string & K_16}`, K_24, "."> ? T_39 extends SplitAC ? "value" : "default" : never : never] extends infer T_40 ? T_40 extends T_38[PrefixWith<`${string & K_16}`, K_24, "."> extends infer T_39 ? T_39 extends PrefixWith<`${string & K_16}`, K_24, "."> ? T_39 extends SplitAC ? "value" : "default" : never : never] ? T_40 extends CanBeExpanded ? T_40[PrefixWith<`${string & K_16}`, K_24, "."> extends infer T_39 ? T_39 extends PrefixWith<`${string & K_16}`, K_24, "."> ? T_39 extends SplitAC ? "value" : "default" : never : never] extends infer T_41 ? T_41 extends T_40[PrefixWith<`${string & K_16}`, K_24, "."> extends infer T_39 ? T_39 extends PrefixWith<`${string & K_16}`, K_24, "."> ? T_39 extends SplitAC ? "value" : "default" : never : never] ? T_41 extends CanBeExpanded ? any : T_41 extends (infer U)[] ? any[] : T_41 extends object ? { [K_25 in keyof T_41]-?: any; } : T_41 : never : never : T_40 extends (infer U)[] ? any[] : T_40 extends object ? { [K_26 in keyof T_40]-?: T_40[K_26] extends infer T_42 ? T_42 extends T_40[K_26] ? T_42 extends CanBeExpanded ? any : T_42 extends (infer U)[] ? any[] : T_42 extends object ? { [K_27 in keyof T_42]-?: T_42[K_27] extends infer T_43 ? T_43 extends T_42[K_27] ? T_43 extends CanBeExpanded ? T_43["default"] : T_43 : never : never; } : T_42 : never : never; } : T_40 : never : never : T_38 extends (infer U)[] ? any[] : T_38 extends object ? { [K_28 in keyof T_38]-?: T_38[K_28] extends infer T_44 ? T_44 extends T_38[K_28] ? T_44 extends CanBeExpanded ? T_44[PrefixWith, K_28, "."> extends infer T_45 ? T_45 extends PrefixWith, K_28, "."> ? T_45 extends SplitAC ? "value" : "default" : never : never] extends infer T_46 ? T_46 extends T_44[PrefixWith, K_28, "."> extends infer T_45 ? T_45 extends PrefixWith, K_28, "."> ? T_45 extends SplitAC ? "value" : "default" : never : never] ? T_46 extends CanBeExpanded ? any : T_46 extends (infer U)[] ? any[] : T_46 extends object ? { [K_29 in keyof T_46]-?: T_46[K_29] extends infer T_47 ? T_47 extends T_46[K_29] ? T_47 extends CanBeExpanded ? T_47["default"] : T_47 : never : never; } : T_46 : never : never : T_44 extends (infer U)[] ? any[] : T_44 extends object ? { [K_30 in keyof T_44]-?: T_44[K_30] extends infer T_48 ? T_48 extends T_44[K_30] ? T_48 extends CanBeExpanded ? T_48["default"] : T_48 : never : never; } : T_44 : never : never; } : T_38 : never : never; } : T_27 : never : never; } : T_7 : never : never : T_6 extends (infer U)[] ? any[] : T_6 extends object ? { [K_31 in keyof T_6]-?: T_6[K_31] extends infer T_49 ? T_49 extends T_6[K_31] ? T_49 extends CanBeExpanded ? T_49[`${string & K_31}` extends infer T_50 ? T_50 extends `${string & K_31}` ? T_50 extends SplitAC ? "value" : "default" : never : never] extends infer T_51 ? T_51 extends T_49[`${string & K_31}` extends infer T_50 ? T_50 extends `${string & K_31}` ? T_50 extends SplitAC ? "value" : "default" : never : never] ? T_51 extends CanBeExpanded ? T_51[`${string & K_31}` extends infer T_50 ? T_50 extends `${string & K_31}` ? T_50 extends SplitAC ? "value" : "default" : never : never] extends infer T_52 ? T_52 extends T_51[`${string & K_31}` extends infer T_50 ? T_50 extends `${string & K_31}` ? T_50 extends SplitAC ? "value" : "default" : never : never] ? T_52 extends CanBeExpanded ? T_52[`${string & K_31}` extends infer T_50 ? T_50 extends `${string & K_31}` ? T_50 extends SplitAC ? "value" : "default" : never : never] extends infer T_53 ? T_53 extends T_52[`${string & K_31}` extends infer T_50 ? T_50 extends `${string & K_31}` ? T_50 extends SplitAC ? "value" : "default" : never : never] ? T_53 extends CanBeExpanded ? T_53[`${string & K_31}` extends infer T_50 ? T_50 extends `${string & K_31}` ? T_50 extends SplitAC ? "value" : "default" : never : never] extends infer T_54 ? T_54 extends T_53[`${string & K_31}` extends infer T_50 ? T_50 extends `${string & K_31}` ? T_50 extends SplitAC ? "value" : "default" : never : never] ? T_54 extends CanBeExpanded ? any : T_54 extends (infer U)[] ? any[] : T_54 extends object ? { [K_32 in keyof T_54]-?: any; } : T_54 : never : never : T_53 extends (infer U)[] ? any[] : T_53 extends object ? { [K_33 in keyof T_53]-?: T_53[K_33] extends infer T_55 ? T_55 extends T_53[K_33] ? T_55 extends CanBeExpanded ? any : T_55 extends (infer U)[] ? any[] : T_55 extends object ? { [K_34 in keyof T_55]-?: any; } : T_55 : never : never; } : T_53 : never : never : T_52 extends (infer U)[] ? any[] : T_52 extends object ? { [K_35 in keyof T_52]-?: T_52[K_35] extends infer T_56 ? T_56 extends T_52[K_35] ? T_56 extends CanBeExpanded ? T_56[PrefixWith<`${string & K_31}`, K_35, "."> extends infer T_57 ? T_57 extends PrefixWith<`${string & K_31}`, K_35, "."> ? T_57 extends SplitAC ? "value" : "default" : never : never] extends infer T_58 ? T_58 extends T_56[PrefixWith<`${string & K_31}`, K_35, "."> extends infer T_57 ? T_57 extends PrefixWith<`${string & K_31}`, K_35, "."> ? T_57 extends SplitAC ? "value" : "default" : never : never] ? T_58 extends CanBeExpanded ? any : T_58 extends (infer U)[] ? any[] : T_58 extends object ? { [K_36 in keyof T_58]-?: any; } : T_58 : never : never : T_56 extends (infer U)[] ? any[] : T_56 extends object ? { [K_37 in keyof T_56]-?: T_56[K_37] extends infer T_59 ? T_59 extends T_56[K_37] ? T_59 extends CanBeExpanded ? any : T_59 extends (infer U)[] ? any[] : T_59 extends object ? { [K_38 in keyof T_59]-?: T_59[K_38] extends infer T_60 ? T_60 extends T_59[K_38] ? T_60 extends CanBeExpanded ? T_60["default"] : T_60 : never : never; } : T_59 : never : never; } : T_56 : never : never; } : T_52 : never : never : T_51 extends (infer U)[] ? any[] : T_51 extends object ? { [K_39 in keyof T_51]-?: T_51[K_39] extends infer T_61 ? T_61 extends T_51[K_39] ? T_61 extends CanBeExpanded ? T_61[PrefixWith<`${string & K_31}`, K_39, "."> extends infer T_62 ? T_62 extends PrefixWith<`${string & K_31}`, K_39, "."> ? T_62 extends SplitAC ? "value" : "default" : never : never] extends infer T_63 ? T_63 extends T_61[PrefixWith<`${string & K_31}`, K_39, "."> extends infer T_62 ? T_62 extends PrefixWith<`${string & K_31}`, K_39, "."> ? T_62 extends SplitAC ? "value" : "default" : never : never] ? T_63 extends CanBeExpanded ? T_63[PrefixWith<`${string & K_31}`, K_39, "."> extends infer T_62 ? T_62 extends PrefixWith<`${string & K_31}`, K_39, "."> ? T_62 extends SplitAC ? "value" : "default" : never : never] extends infer T_64 ? T_64 extends T_63[PrefixWith<`${string & K_31}`, K_39, "."> extends infer T_62 ? T_62 extends PrefixWith<`${string & K_31}`, K_39, "."> ? T_62 extends SplitAC ? "value" : "default" : never : never] ? T_64 extends CanBeExpanded ? any : T_64 extends (infer U)[] ? any[] : T_64 extends object ? { [K_40 in keyof T_64]-?: any; } : T_64 : never : never : T_63 extends (infer U)[] ? any[] : T_63 extends object ? { [K_41 in keyof T_63]-?: T_63[K_41] extends infer T_65 ? T_65 extends T_63[K_41] ? T_65 extends CanBeExpanded ? any : T_65 extends (infer U)[] ? any[] : T_65 extends object ? { [K_42 in keyof T_65]-?: T_65[K_42] extends infer T_66 ? T_66 extends T_65[K_42] ? T_66 extends CanBeExpanded ? T_66["default"] : T_66 : never : never; } : T_65 : never : never; } : T_63 : never : never : T_61 extends (infer U)[] ? any[] : T_61 extends object ? { [K_43 in keyof T_61]-?: T_61[K_43] extends infer T_67 ? T_67 extends T_61[K_43] ? T_67 extends CanBeExpanded ? T_67[PrefixWith, K_43, "."> extends infer T_68 ? T_68 extends PrefixWith, K_43, "."> ? T_68 extends SplitAC ? "value" : "default" : never : never] extends infer T_69 ? T_69 extends T_67[PrefixWith, K_43, "."> extends infer T_68 ? T_68 extends PrefixWith, K_43, "."> ? T_68 extends SplitAC ? "value" : "default" : never : never] ? T_69 extends CanBeExpanded ? any : T_69 extends (infer U)[] ? any[] : T_69 extends object ? { [K_44 in keyof T_69]-?: T_69[K_44] extends infer T_70 ? T_70 extends T_69[K_44] ? T_70 extends CanBeExpanded ? T_70["default"] : T_70 : never : never; } : T_69 : never : never : T_67 extends (infer U)[] ? any[] : T_67 extends object ? { [K_45 in keyof T_67]-?: T_67[K_45] extends infer T_71 ? T_71 extends T_67[K_45] ? T_71 extends CanBeExpanded ? T_71["default"] : T_71 : never : never; } : T_67 : never : never; } : T_61 : never : never; } : T_51 : never : never : T_49 extends (infer U)[] ? any[] : T_49 extends object ? { [K_46 in keyof T_49]-?: T_49[K_46] extends infer T_72 ? T_72 extends T_49[K_46] ? T_72 extends CanBeExpanded ? T_72[PrefixWith<`${string & K_31}`, K_46, "."> extends infer T_73 ? T_73 extends PrefixWith<`${string & K_31}`, K_46, "."> ? T_73 extends SplitAC ? "value" : "default" : never : never] extends infer T_74 ? T_74 extends T_72[PrefixWith<`${string & K_31}`, K_46, "."> extends infer T_73 ? T_73 extends PrefixWith<`${string & K_31}`, K_46, "."> ? T_73 extends SplitAC ? "value" : "default" : never : never] ? T_74 extends CanBeExpanded ? T_74[PrefixWith<`${string & K_31}`, K_46, "."> extends infer T_73 ? T_73 extends PrefixWith<`${string & K_31}`, K_46, "."> ? T_73 extends SplitAC ? "value" : "default" : never : never] extends infer T_75 ? T_75 extends T_74[PrefixWith<`${string & K_31}`, K_46, "."> extends infer T_73 ? T_73 extends PrefixWith<`${string & K_31}`, K_46, "."> ? T_73 extends SplitAC ? "value" : "default" : never : never] ? T_75 extends CanBeExpanded ? T_75[PrefixWith<`${string & K_31}`, K_46, "."> extends infer T_73 ? T_73 extends PrefixWith<`${string & K_31}`, K_46, "."> ? T_73 extends SplitAC ? "value" : "default" : never : never] extends infer T_76 ? T_76 extends T_75[PrefixWith<`${string & K_31}`, K_46, "."> extends infer T_73 ? T_73 extends PrefixWith<`${string & K_31}`, K_46, "."> ? T_73 extends SplitAC ? "value" : "default" : never : never] ? T_76 extends CanBeExpanded ? any : T_76 extends (infer U)[] ? any[] : T_76 extends object ? { [K_47 in keyof T_76]-?: any; } : T_76 : never : never : T_75 extends (infer U)[] ? any[] : T_75 extends object ? { [K_48 in keyof T_75]-?: T_75[K_48] extends infer T_77 ? T_77 extends T_75[K_48] ? T_77 extends CanBeExpanded ? any : T_77 extends (infer U)[] ? any[] : T_77 extends object ? { [K_49 in keyof T_77]-?: T_77[K_49] extends infer T_78 ? T_78 extends T_77[K_49] ? T_78 extends CanBeExpanded ? T_78["default"] : T_78 : never : never; } : T_77 : never : never; } : T_75 : never : never : T_74 extends (infer U)[] ? any[] : T_74 extends object ? { [K_50 in keyof T_74]-?: T_74[K_50] extends infer T_79 ? T_79 extends T_74[K_50] ? T_79 extends CanBeExpanded ? T_79[PrefixWith, K_50, "."> extends infer T_80 ? T_80 extends PrefixWith, K_50, "."> ? T_80 extends SplitAC ? "value" : "default" : never : never] extends infer T_81 ? T_81 extends T_79[PrefixWith, K_50, "."> extends infer T_80 ? T_80 extends PrefixWith, K_50, "."> ? T_80 extends SplitAC ? "value" : "default" : never : never] ? T_81 extends CanBeExpanded ? any : T_81 extends (infer U)[] ? any[] : T_81 extends object ? { [K_51 in keyof T_81]-?: T_81[K_51] extends infer T_82 ? T_82 extends T_81[K_51] ? T_82 extends CanBeExpanded ? T_82["default"] : T_82 : never : never; } : T_81 : never : never : T_79 extends (infer U)[] ? any[] : T_79 extends object ? { [K_52 in keyof T_79]-?: T_79[K_52] extends infer T_83 ? T_83 extends T_79[K_52] ? T_83 extends CanBeExpanded ? T_83["default"] : T_83 : never : never; } : T_79 : never : never; } : T_74 : never : never : T_72 extends (infer U)[] ? any[] : T_72 extends object ? { [K_53 in keyof T_72]-?: T_72[K_53] extends infer T_84 ? T_84 extends T_72[K_53] ? T_84 extends CanBeExpanded ? T_84[PrefixWith, K_53, "."> extends infer T_85 ? T_85 extends PrefixWith, K_53, "."> ? T_85 extends SplitAC ? "value" : "default" : never : never] extends infer T_86 ? T_86 extends T_84[PrefixWith, K_53, "."> extends infer T_85 ? T_85 extends PrefixWith, K_53, "."> ? T_85 extends SplitAC ? "value" : "default" : never : never] ? T_86 extends CanBeExpanded ? T_86[PrefixWith, K_53, "."> extends infer T_85 ? T_85 extends PrefixWith, K_53, "."> ? T_85 extends SplitAC ? "value" : "default" : never : never] extends infer T_87 ? T_87 extends T_86[PrefixWith, K_53, "."> extends infer T_85 ? T_85 extends PrefixWith, K_53, "."> ? T_85 extends SplitAC ? "value" : "default" : never : never] ? T_87 extends CanBeExpanded ? any : T_87 extends (infer U)[] ? any[] : T_87 extends object ? { [K_54 in keyof T_87]-?: T_87[K_54] extends infer T_88 ? T_88 extends T_87[K_54] ? T_88 extends CanBeExpanded ? T_88["default"] : T_88 : never : never; } : T_87 : never : never : T_86 extends (infer U)[] ? any[] : T_86 extends object ? { [K_55 in keyof T_86]-?: T_86[K_55] extends infer T_89 ? T_89 extends T_86[K_55] ? T_89 extends CanBeExpanded ? T_89["default"] : T_89 : never : never; } : T_86 : never : never : T_84 extends (infer U)[] ? any[] : T_84 extends object ? { [K_56 in keyof T_84]-?: T_84[K_56] extends infer T_90 ? T_90 extends T_84[K_56] ? T_90 extends CanBeExpanded ? T_90["default"] : T_90 : never : never; } : T_84 : never : never; } : T_72 : never : never; } : T_49 : never : never; } : T_6 : never : never : T_5 extends (infer U)[] ? any[] : T_5 extends object ? { [K_57 in keyof T_5]-?: T_5[K_57] extends infer T_91 ? T_91 extends T_5[K_57] ? T_91 extends CanBeExpanded ? T_91[`${string & K_57}` extends infer T_92 ? T_92 extends `${string & K_57}` ? T_92 extends SplitAC ? "value" : "default" : never : never] extends infer T_93 ? T_93 extends T_91[`${string & K_57}` extends infer T_92 ? T_92 extends `${string & K_57}` ? T_92 extends SplitAC ? "value" : "default" : never : never] ? T_93 extends CanBeExpanded ? T_93[`${string & K_57}` extends infer T_92 ? T_92 extends `${string & K_57}` ? T_92 extends SplitAC ? "value" : "default" : never : never] extends infer T_94 ? T_94 extends T_93[`${string & K_57}` extends infer T_92 ? T_92 extends `${string & K_57}` ? T_92 extends SplitAC ? "value" : "default" : never : never] ? T_94 extends CanBeExpanded ? T_94[`${string & K_57}` extends infer T_92 ? T_92 extends `${string & K_57}` ? T_92 extends SplitAC ? "value" : "default" : never : never] extends infer T_95 ? T_95 extends T_94[`${string & K_57}` extends infer T_92 ? T_92 extends `${string & K_57}` ? T_92 extends SplitAC ? "value" : "default" : never : never] ? T_95 extends CanBeExpanded ? T_95[`${string & K_57}` extends infer T_92 ? T_92 extends `${string & K_57}` ? T_92 extends SplitAC ? "value" : "default" : never : never] extends infer T_96 ? T_96 extends T_95[`${string & K_57}` extends infer T_92 ? T_92 extends `${string & K_57}` ? T_92 extends SplitAC ? "value" : "default" : never : never] ? T_96 extends CanBeExpanded ? T_96[`${string & K_57}` extends infer T_92 ? T_92 extends `${string & K_57}` ? T_92 extends SplitAC ? "value" : "default" : never : never] extends infer T_97 ? T_97 extends T_96[`${string & K_57}` extends infer T_92 ? T_92 extends `${string & K_57}` ? T_92 extends SplitAC ? "value" : "default" : never : never] ? T_97 extends CanBeExpanded ? any : T_97 extends (infer U)[] ? any[] : T_97 extends object ? { [K_58 in keyof T_97]-?: any; } : T_97 : never : never : T_96 extends (infer U)[] ? any[] : T_96 extends object ? { [K_59 in keyof T_96]-?: T_96[K_59] extends infer T_98 ? T_98 extends T_96[K_59] ? T_98 extends CanBeExpanded ? any : T_98 extends (infer U)[] ? any[] : T_98 extends object ? { [K_60 in keyof T_98]-?: any; } : T_98 : never : never; } : T_96 : never : never : T_95 extends (infer U)[] ? any[] : T_95 extends object ? { [K_61 in keyof T_95]-?: T_95[K_61] extends infer T_99 ? T_99 extends T_95[K_61] ? T_99 extends CanBeExpanded ? T_99[PrefixWith<`${string & K_57}`, K_61, "."> extends infer T_100 ? T_100 extends PrefixWith<`${string & K_57}`, K_61, "."> ? T_100 extends SplitAC ? "value" : "default" : never : never] extends infer T_101 ? T_101 extends T_99[PrefixWith<`${string & K_57}`, K_61, "."> extends infer T_100 ? T_100 extends PrefixWith<`${string & K_57}`, K_61, "."> ? T_100 extends SplitAC ? "value" : "default" : never : never] ? T_101 extends CanBeExpanded ? any : T_101 extends (infer U)[] ? any[] : T_101 extends object ? { [K_62 in keyof T_101]-?: any; } : T_101 : never : never : T_99 extends (infer U)[] ? any[] : T_99 extends object ? { [K_63 in keyof T_99]-?: T_99[K_63] extends infer T_102 ? T_102 extends T_99[K_63] ? T_102 extends CanBeExpanded ? any : T_102 extends (infer U)[] ? any[] : T_102 extends object ? { [K_64 in keyof T_102]-?: T_102[K_64] extends infer T_103 ? T_103 extends T_102[K_64] ? T_103 extends CanBeExpanded ? T_103["default"] : T_103 : never : never; } : T_102 : never : never; } : T_99 : never : never; } : T_95 : never : never : T_94 extends (infer U)[] ? any[] : T_94 extends object ? { [K_65 in keyof T_94]-?: T_94[K_65] extends infer T_104 ? T_104 extends T_94[K_65] ? T_104 extends CanBeExpanded ? T_104[PrefixWith<`${string & K_57}`, K_65, "."> extends infer T_105 ? T_105 extends PrefixWith<`${string & K_57}`, K_65, "."> ? T_105 extends SplitAC ? "value" : "default" : never : never] extends infer T_106 ? T_106 extends T_104[PrefixWith<`${string & K_57}`, K_65, "."> extends infer T_105 ? T_105 extends PrefixWith<`${string & K_57}`, K_65, "."> ? T_105 extends SplitAC ? "value" : "default" : never : never] ? T_106 extends CanBeExpanded ? T_106[PrefixWith<`${string & K_57}`, K_65, "."> extends infer T_105 ? T_105 extends PrefixWith<`${string & K_57}`, K_65, "."> ? T_105 extends SplitAC ? "value" : "default" : never : never] extends infer T_107 ? T_107 extends T_106[PrefixWith<`${string & K_57}`, K_65, "."> extends infer T_105 ? T_105 extends PrefixWith<`${string & K_57}`, K_65, "."> ? T_105 extends SplitAC ? "value" : "default" : never : never] ? T_107 extends CanBeExpanded ? any : T_107 extends (infer U)[] ? any[] : T_107 extends object ? { [K_66 in keyof T_107]-?: any; } : T_107 : never : never : T_106 extends (infer U)[] ? any[] : T_106 extends object ? { [K_67 in keyof T_106]-?: T_106[K_67] extends infer T_108 ? T_108 extends T_106[K_67] ? T_108 extends CanBeExpanded ? any : T_108 extends (infer U)[] ? any[] : T_108 extends object ? { [K_68 in keyof T_108]-?: T_108[K_68] extends infer T_109 ? T_109 extends T_108[K_68] ? T_109 extends CanBeExpanded ? T_109["default"] : T_109 : never : never; } : T_108 : never : never; } : T_106 : never : never : T_104 extends (infer U)[] ? any[] : T_104 extends object ? { [K_69 in keyof T_104]-?: T_104[K_69] extends infer T_110 ? T_110 extends T_104[K_69] ? T_110 extends CanBeExpanded ? T_110[PrefixWith, K_69, "."> extends infer T_111 ? T_111 extends PrefixWith, K_69, "."> ? T_111 extends SplitAC ? "value" : "default" : never : never] extends infer T_112 ? T_112 extends T_110[PrefixWith, K_69, "."> extends infer T_111 ? T_111 extends PrefixWith, K_69, "."> ? T_111 extends SplitAC ? "value" : "default" : never : never] ? T_112 extends CanBeExpanded ? any : T_112 extends (infer U)[] ? any[] : T_112 extends object ? { [K_70 in keyof T_112]-?: T_112[K_70] extends infer T_113 ? T_113 extends T_112[K_70] ? T_113 extends CanBeExpanded ? T_113["default"] : T_113 : never : never; } : T_112 : never : never : T_110 extends (infer U)[] ? any[] : T_110 extends object ? { [K_71 in keyof T_110]-?: T_110[K_71] extends infer T_114 ? T_114 extends T_110[K_71] ? T_114 extends CanBeExpanded ? T_114["default"] : T_114 : never : never; } : T_110 : never : never; } : T_104 : never : never; } : T_94 : never : never : T_93 extends (infer U)[] ? any[] : T_93 extends object ? { [K_72 in keyof T_93]-?: T_93[K_72] extends infer T_115 ? T_115 extends T_93[K_72] ? T_115 extends CanBeExpanded ? T_115[PrefixWith<`${string & K_57}`, K_72, "."> extends infer T_116 ? T_116 extends PrefixWith<`${string & K_57}`, K_72, "."> ? T_116 extends SplitAC ? "value" : "default" : never : never] extends infer T_117 ? T_117 extends T_115[PrefixWith<`${string & K_57}`, K_72, "."> extends infer T_116 ? T_116 extends PrefixWith<`${string & K_57}`, K_72, "."> ? T_116 extends SplitAC ? "value" : "default" : never : never] ? T_117 extends CanBeExpanded ? T_117[PrefixWith<`${string & K_57}`, K_72, "."> extends infer T_116 ? T_116 extends PrefixWith<`${string & K_57}`, K_72, "."> ? T_116 extends SplitAC ? "value" : "default" : never : never] extends infer T_118 ? T_118 extends T_117[PrefixWith<`${string & K_57}`, K_72, "."> extends infer T_116 ? T_116 extends PrefixWith<`${string & K_57}`, K_72, "."> ? T_116 extends SplitAC ? "value" : "default" : never : never] ? T_118 extends CanBeExpanded ? T_118[PrefixWith<`${string & K_57}`, K_72, "."> extends infer T_116 ? T_116 extends PrefixWith<`${string & K_57}`, K_72, "."> ? T_116 extends SplitAC ? "value" : "default" : never : never] extends infer T_119 ? T_119 extends T_118[PrefixWith<`${string & K_57}`, K_72, "."> extends infer T_116 ? T_116 extends PrefixWith<`${string & K_57}`, K_72, "."> ? T_116 extends SplitAC ? "value" : "default" : never : never] ? T_119 extends CanBeExpanded ? any : T_119 extends (infer U)[] ? any[] : T_119 extends object ? { [K_73 in keyof T_119]-?: any; } : T_119 : never : never : T_118 extends (infer U)[] ? any[] : T_118 extends object ? { [K_74 in keyof T_118]-?: T_118[K_74] extends infer T_120 ? T_120 extends T_118[K_74] ? T_120 extends CanBeExpanded ? any : T_120 extends (infer U)[] ? any[] : T_120 extends object ? { [K_75 in keyof T_120]-?: T_120[K_75] extends infer T_121 ? T_121 extends T_120[K_75] ? T_121 extends CanBeExpanded ? T_121["default"] : T_121 : never : never; } : T_120 : never : never; } : T_118 : never : never : T_117 extends (infer U)[] ? any[] : T_117 extends object ? { [K_76 in keyof T_117]-?: T_117[K_76] extends infer T_122 ? T_122 extends T_117[K_76] ? T_122 extends CanBeExpanded ? T_122[PrefixWith, K_76, "."> extends infer T_123 ? T_123 extends PrefixWith, K_76, "."> ? T_123 extends SplitAC ? "value" : "default" : never : never] extends infer T_124 ? T_124 extends T_122[PrefixWith, K_76, "."> extends infer T_123 ? T_123 extends PrefixWith, K_76, "."> ? T_123 extends SplitAC ? "value" : "default" : never : never] ? T_124 extends CanBeExpanded ? any : T_124 extends (infer U)[] ? any[] : T_124 extends object ? { [K_77 in keyof T_124]-?: T_124[K_77] extends infer T_125 ? T_125 extends T_124[K_77] ? T_125 extends CanBeExpanded ? T_125["default"] : T_125 : never : never; } : T_124 : never : never : T_122 extends (infer U)[] ? any[] : T_122 extends object ? { [K_78 in keyof T_122]-?: T_122[K_78] extends infer T_126 ? T_126 extends T_122[K_78] ? T_126 extends CanBeExpanded ? T_126["default"] : T_126 : never : never; } : T_122 : never : never; } : T_117 : never : never : T_115 extends (infer U)[] ? any[] : T_115 extends object ? { [K_79 in keyof T_115]-?: T_115[K_79] extends infer T_127 ? T_127 extends T_115[K_79] ? T_127 extends CanBeExpanded ? T_127[PrefixWith, K_79, "."> extends infer T_128 ? T_128 extends PrefixWith, K_79, "."> ? T_128 extends SplitAC ? "value" : "default" : never : never] extends infer T_129 ? T_129 extends T_127[PrefixWith, K_79, "."> extends infer T_128 ? T_128 extends PrefixWith, K_79, "."> ? T_128 extends SplitAC ? "value" : "default" : never : never] ? T_129 extends CanBeExpanded ? T_129[PrefixWith, K_79, "."> extends infer T_128 ? T_128 extends PrefixWith, K_79, "."> ? T_128 extends SplitAC ? "value" : "default" : never : never] extends infer T_130 ? T_130 extends T_129[PrefixWith, K_79, "."> extends infer T_128 ? T_128 extends PrefixWith, K_79, "."> ? T_128 extends SplitAC ? "value" : "default" : never : never] ? T_130 extends CanBeExpanded ? any : T_130 extends (infer U)[] ? any[] : T_130 extends object ? { [K_80 in keyof T_130]-?: T_130[K_80] extends infer T_131 ? T_131 extends T_130[K_80] ? T_131 extends CanBeExpanded ? T_131["default"] : T_131 : never : never; } : T_130 : never : never : T_129 extends (infer U)[] ? any[] : T_129 extends object ? { [K_81 in keyof T_129]-?: T_129[K_81] extends infer T_132 ? T_132 extends T_129[K_81] ? T_132 extends CanBeExpanded ? T_132["default"] : T_132 : never : never; } : T_129 : never : never : T_127 extends (infer U)[] ? any[] : T_127 extends object ? { [K_82 in keyof T_127]-?: T_127[K_82] extends infer T_133 ? T_133 extends T_127[K_82] ? T_133 extends CanBeExpanded ? T_133["default"] : T_133 : never : never; } : T_127 : never : never; } : T_115 : never : never; } : T_93 : never : never : T_91 extends (infer U)[] ? any[] : T_91 extends object ? { [K_83 in keyof T_91]-?: T_91[K_83] extends infer T_134 ? T_134 extends T_91[K_83] ? T_134 extends CanBeExpanded ? T_134[PrefixWith<`${string & K_57}`, K_83, "."> extends infer T_135 ? T_135 extends PrefixWith<`${string & K_57}`, K_83, "."> ? T_135 extends SplitAC ? "value" : "default" : never : never] extends infer T_136 ? T_136 extends T_134[PrefixWith<`${string & K_57}`, K_83, "."> extends infer T_135 ? T_135 extends PrefixWith<`${string & K_57}`, K_83, "."> ? T_135 extends SplitAC ? "value" : "default" : never : never] ? T_136 extends CanBeExpanded ? T_136[PrefixWith<`${string & K_57}`, K_83, "."> extends infer T_135 ? T_135 extends PrefixWith<`${string & K_57}`, K_83, "."> ? T_135 extends SplitAC ? "value" : "default" : never : never] extends infer T_137 ? T_137 extends T_136[PrefixWith<`${string & K_57}`, K_83, "."> extends infer T_135 ? T_135 extends PrefixWith<`${string & K_57}`, K_83, "."> ? T_135 extends SplitAC ? "value" : "default" : never : never] ? T_137 extends CanBeExpanded ? T_137[PrefixWith<`${string & K_57}`, K_83, "."> extends infer T_135 ? T_135 extends PrefixWith<`${string & K_57}`, K_83, "."> ? T_135 extends SplitAC ? "value" : "default" : never : never] extends infer T_138 ? T_138 extends T_137[PrefixWith<`${string & K_57}`, K_83, "."> extends infer T_135 ? T_135 extends PrefixWith<`${string & K_57}`, K_83, "."> ? T_135 extends SplitAC ? "value" : "default" : never : never] ? T_138 extends CanBeExpanded ? T_138[PrefixWith<`${string & K_57}`, K_83, "."> extends infer T_135 ? T_135 extends PrefixWith<`${string & K_57}`, K_83, "."> ? T_135 extends SplitAC ? "value" : "default" : never : never] extends infer T_139 ? T_139 extends T_138[PrefixWith<`${string & K_57}`, K_83, "."> extends infer T_135 ? T_135 extends PrefixWith<`${string & K_57}`, K_83, "."> ? T_135 extends SplitAC ? "value" : "default" : never : never] ? T_139 extends CanBeExpanded ? any : T_139 extends (infer U)[] ? any[] : T_139 extends object ? { [K_84 in keyof T_139]-?: any; } : T_139 : never : never : T_138 extends (infer U)[] ? any[] : T_138 extends object ? { [K_85 in keyof T_138]-?: T_138[K_85] extends infer T_140 ? T_140 extends T_138[K_85] ? T_140 extends CanBeExpanded ? any : T_140 extends (infer U)[] ? any[] : T_140 extends object ? { [K_86 in keyof T_140]-?: T_140[K_86] extends infer T_141 ? T_141 extends T_140[K_86] ? T_141 extends CanBeExpanded ? T_141["default"] : T_141 : never : never; } : T_140 : never : never; } : T_138 : never : never : T_137 extends (infer U)[] ? any[] : T_137 extends object ? { [K_87 in keyof T_137]-?: T_137[K_87] extends infer T_142 ? T_142 extends T_137[K_87] ? T_142 extends CanBeExpanded ? T_142[PrefixWith, K_87, "."> extends infer T_143 ? T_143 extends PrefixWith, K_87, "."> ? T_143 extends SplitAC ? "value" : "default" : never : never] extends infer T_144 ? T_144 extends T_142[PrefixWith, K_87, "."> extends infer T_143 ? T_143 extends PrefixWith, K_87, "."> ? T_143 extends SplitAC ? "value" : "default" : never : never] ? T_144 extends CanBeExpanded ? any : T_144 extends (infer U)[] ? any[] : T_144 extends object ? { [K_88 in keyof T_144]-?: T_144[K_88] extends infer T_145 ? T_145 extends T_144[K_88] ? T_145 extends CanBeExpanded ? T_145["default"] : T_145 : never : never; } : T_144 : never : never : T_142 extends (infer U)[] ? any[] : T_142 extends object ? { [K_89 in keyof T_142]-?: T_142[K_89] extends infer T_146 ? T_146 extends T_142[K_89] ? T_146 extends CanBeExpanded ? T_146["default"] : T_146 : never : never; } : T_142 : never : never; } : T_137 : never : never : T_136 extends (infer U)[] ? any[] : T_136 extends object ? { [K_90 in keyof T_136]-?: T_136[K_90] extends infer T_147 ? T_147 extends T_136[K_90] ? T_147 extends CanBeExpanded ? T_147[PrefixWith, K_90, "."> extends infer T_148 ? T_148 extends PrefixWith, K_90, "."> ? T_148 extends SplitAC ? "value" : "default" : never : never] extends infer T_149 ? T_149 extends T_147[PrefixWith, K_90, "."> extends infer T_148 ? T_148 extends PrefixWith, K_90, "."> ? T_148 extends SplitAC ? "value" : "default" : never : never] ? T_149 extends CanBeExpanded ? T_149[PrefixWith, K_90, "."> extends infer T_148 ? T_148 extends PrefixWith, K_90, "."> ? T_148 extends SplitAC ? "value" : "default" : never : never] extends infer T_150 ? T_150 extends T_149[PrefixWith, K_90, "."> extends infer T_148 ? T_148 extends PrefixWith, K_90, "."> ? T_148 extends SplitAC ? "value" : "default" : never : never] ? T_150 extends CanBeExpanded ? any : T_150 extends (infer U)[] ? any[] : T_150 extends object ? { [K_91 in keyof T_150]-?: T_150[K_91] extends infer T_151 ? T_151 extends T_150[K_91] ? T_151 extends CanBeExpanded ? T_151["default"] : T_151 : never : never; } : T_150 : never : never : T_149 extends (infer U)[] ? any[] : T_149 extends object ? { [K_92 in keyof T_149]-?: T_149[K_92] extends infer T_152 ? T_152 extends T_149[K_92] ? T_152 extends CanBeExpanded ? T_152["default"] : T_152 : never : never; } : T_149 : never : never : T_147 extends (infer U)[] ? any[] : T_147 extends object ? { [K_93 in keyof T_147]-?: T_147[K_93] extends infer T_153 ? T_153 extends T_147[K_93] ? T_153 extends CanBeExpanded ? T_153["default"] : T_153 : never : never; } : T_147 : never : never; } : T_136 : never : never : T_134 extends (infer U)[] ? any[] : T_134 extends object ? { [K_94 in keyof T_134]-?: T_134[K_94] extends infer T_154 ? T_154 extends T_134[K_94] ? T_154 extends CanBeExpanded ? T_154[PrefixWith, K_94, "."> extends infer T_155 ? T_155 extends PrefixWith, K_94, "."> ? T_155 extends SplitAC ? "value" : "default" : never : never] extends infer T_156 ? T_156 extends T_154[PrefixWith, K_94, "."> extends infer T_155 ? T_155 extends PrefixWith, K_94, "."> ? T_155 extends SplitAC ? "value" : "default" : never : never] ? T_156 extends CanBeExpanded ? T_156[PrefixWith, K_94, "."> extends infer T_155 ? T_155 extends PrefixWith, K_94, "."> ? T_155 extends SplitAC ? "value" : "default" : never : never] extends infer T_157 ? T_157 extends T_156[PrefixWith, K_94, "."> extends infer T_155 ? T_155 extends PrefixWith, K_94, "."> ? T_155 extends SplitAC ? "value" : "default" : never : never] ? T_157 extends CanBeExpanded ? T_157[PrefixWith, K_94, "."> extends infer T_155 ? T_155 extends PrefixWith, K_94, "."> ? T_155 extends SplitAC ? "value" : "default" : never : never] extends infer T_158 ? T_158 extends T_157[PrefixWith, K_94, "."> extends infer T_155 ? T_155 extends PrefixWith, K_94, "."> ? T_155 extends SplitAC ? "value" : "default" : never : never] ? T_158 extends CanBeExpanded ? any : T_158 extends (infer U)[] ? any[] : T_158 extends object ? { [K_95 in keyof T_158]-?: T_158[K_95] extends infer T_159 ? T_159 extends T_158[K_95] ? T_159 extends CanBeExpanded ? T_159["default"] : T_159 : never : never; } : T_158 : never : never : T_157 extends (infer U)[] ? any[] : T_157 extends object ? { [K_96 in keyof T_157]-?: T_157[K_96] extends infer T_160 ? T_160 extends T_157[K_96] ? T_160 extends CanBeExpanded ? T_160["default"] : T_160 : never : never; } : T_157 : never : never : T_156 extends (infer U)[] ? any[] : T_156 extends object ? { [K_97 in keyof T_156]-?: T_156[K_97] extends infer T_161 ? T_161 extends T_156[K_97] ? T_161 extends CanBeExpanded ? T_161["default"] : T_161 : never : never; } : T_156 : never : never : T_154 extends (infer U)[] ? any[] : T_154 extends object ? { [K_98 in keyof T_154]-?: T_154[K_98] extends infer T_162 ? T_162 extends T_154[K_98] ? T_162 extends CanBeExpanded ? T_162["default"] : T_162 : never : never; } : T_154 : never : never; } : T_134 : never : never; } : T_91 : never : never; } : T_5 : never : never : T_4 extends (infer U)[] ? any[] : T_4 extends object ? { [K_99 in keyof T_4]-?: T_4[K_99] extends infer T_163 ? T_163 extends T_4[K_99] ? T_163 extends CanBeExpanded ? T_163[`${string & K_99}` extends infer T_164 ? T_164 extends `${string & K_99}` ? T_164 extends SplitAC ? "value" : "default" : never : never] extends infer T_165 ? T_165 extends T_163[`${string & K_99}` extends infer T_164 ? T_164 extends `${string & K_99}` ? T_164 extends SplitAC ? "value" : "default" : never : never] ? T_165 extends CanBeExpanded ? T_165[`${string & K_99}` extends infer T_164 ? T_164 extends `${string & K_99}` ? T_164 extends SplitAC ? "value" : "default" : never : never] extends infer T_166 ? T_166 extends T_165[`${string & K_99}` extends infer T_164 ? T_164 extends `${string & K_99}` ? T_164 extends SplitAC ? "value" : "default" : never : never] ? T_166 extends CanBeExpanded ? T_166[`${string & K_99}` extends infer T_164 ? T_164 extends `${string & K_99}` ? T_164 extends SplitAC ? "value" : "default" : never : never] extends infer T_167 ? T_167 extends T_166[`${string & K_99}` extends infer T_164 ? T_164 extends `${string & K_99}` ? T_164 extends SplitAC ? "value" : "default" : never : never] ? T_167 extends CanBeExpanded ? T_167[`${string & K_99}` extends infer T_164 ? T_164 extends `${string & K_99}` ? T_164 extends SplitAC ? "value" : "default" : never : never] extends infer T_168 ? T_168 extends T_167[`${string & K_99}` extends infer T_164 ? T_164 extends `${string & K_99}` ? T_164 extends SplitAC ? "value" : "default" : never : never] ? T_168 extends CanBeExpanded ? T_168[`${string & K_99}` extends infer T_164 ? T_164 extends `${string & K_99}` ? T_164 extends SplitAC ? "value" : "default" : never : never] extends infer T_169 ? T_169 extends T_168[`${string & K_99}` extends infer T_164 ? T_164 extends `${string & K_99}` ? T_164 extends SplitAC ? "value" : "default" : never : never] ? T_169 extends CanBeExpanded ? T_169[`${string & K_99}` extends infer T_164 ? T_164 extends `${string & K_99}` ? T_164 extends SplitAC ? "value" : "default" : never : never] extends infer T_170 ? T_170 extends T_169[`${string & K_99}` extends infer T_164 ? T_164 extends `${string & K_99}` ? T_164 extends SplitAC ? "value" : "default" : never : never] ? T_170 extends CanBeExpanded ? any : T_170 extends (infer U)[] ? any[] : T_170 extends object ? { [K_100 in keyof T_170]-?: any; } : T_170 : never : never : T_169 extends (infer U)[] ? any[] : T_169 extends object ? { [K_101 in keyof T_169]-?: T_169[K_101] extends infer T_171 ? T_171 extends T_169[K_101] ? T_171 extends CanBeExpanded ? any : T_171 extends (infer U)[] ? any[] : T_171 extends object ? { [K_102 in keyof T_171]-?: any; } : T_171 : never : never; } : T_169 : never : never : T_168 extends (infer U)[] ? any[] : T_168 extends object ? { [K_103 in keyof T_168]-?: T_168[K_103] extends infer T_172 ? T_172 extends T_168[K_103] ? T_172 extends CanBeExpanded ? T_172[PrefixWith<`${string & K_99}`, K_103, "."> extends infer T_173 ? T_173 extends PrefixWith<`${string & K_99}`, K_103, "."> ? T_173 extends SplitAC ? "value" : "default" : never : never] extends infer T_174 ? T_174 extends T_172[PrefixWith<`${string & K_99}`, K_103, "."> extends infer T_173 ? T_173 extends PrefixWith<`${string & K_99}`, K_103, "."> ? T_173 extends SplitAC ? "value" : "default" : never : never] ? T_174 extends CanBeExpanded ? any : T_174 extends (infer U)[] ? any[] : T_174 extends object ? { [K_104 in keyof T_174]-?: any; } : T_174 : never : never : T_172 extends (infer U)[] ? any[] : T_172 extends object ? { [K_105 in keyof T_172]-?: T_172[K_105] extends infer T_175 ? T_175 extends T_172[K_105] ? T_175 extends CanBeExpanded ? any : T_175 extends (infer U)[] ? any[] : T_175 extends object ? { [K_106 in keyof T_175]-?: T_175[K_106] extends infer T_176 ? T_176 extends T_175[K_106] ? T_176 extends CanBeExpanded ? T_176["default"] : T_176 : never : never; } : T_175 : never : never; } : T_172 : never : never; } : T_168 : never : never : T_167 extends (infer U)[] ? any[] : T_167 extends object ? { [K_107 in keyof T_167]-?: T_167[K_107] extends infer T_177 ? T_177 extends T_167[K_107] ? T_177 extends CanBeExpanded ? T_177[PrefixWith<`${string & K_99}`, K_107, "."> extends infer T_178 ? T_178 extends PrefixWith<`${string & K_99}`, K_107, "."> ? T_178 extends SplitAC ? "value" : "default" : never : never] extends infer T_179 ? T_179 extends T_177[PrefixWith<`${string & K_99}`, K_107, "."> extends infer T_178 ? T_178 extends PrefixWith<`${string & K_99}`, K_107, "."> ? T_178 extends SplitAC ? "value" : "default" : never : never] ? T_179 extends CanBeExpanded ? T_179[PrefixWith<`${string & K_99}`, K_107, "."> extends infer T_178 ? T_178 extends PrefixWith<`${string & K_99}`, K_107, "."> ? T_178 extends SplitAC ? "value" : "default" : never : never] extends infer T_180 ? T_180 extends T_179[PrefixWith<`${string & K_99}`, K_107, "."> extends infer T_178 ? T_178 extends PrefixWith<`${string & K_99}`, K_107, "."> ? T_178 extends SplitAC ? "value" : "default" : never : never] ? T_180 extends CanBeExpanded ? any : T_180 extends (infer U)[] ? any[] : T_180 extends object ? { [K_108 in keyof T_180]-?: any; } : T_180 : never : never : T_179 extends (infer U)[] ? any[] : T_179 extends object ? { [K_109 in keyof T_179]-?: T_179[K_109] extends infer T_181 ? T_181 extends T_179[K_109] ? T_181 extends CanBeExpanded ? any : T_181 extends (infer U)[] ? any[] : T_181 extends object ? { [K_110 in keyof T_181]-?: T_181[K_110] extends infer T_182 ? T_182 extends T_181[K_110] ? T_182 extends CanBeExpanded ? T_182["default"] : T_182 : never : never; } : T_181 : never : never; } : T_179 : never : never : T_177 extends (infer U)[] ? any[] : T_177 extends object ? { [K_111 in keyof T_177]-?: T_177[K_111] extends infer T_183 ? T_183 extends T_177[K_111] ? T_183 extends CanBeExpanded ? T_183[PrefixWith, K_111, "."> extends infer T_184 ? T_184 extends PrefixWith, K_111, "."> ? T_184 extends SplitAC ? "value" : "default" : never : never] extends infer T_185 ? T_185 extends T_183[PrefixWith, K_111, "."> extends infer T_184 ? T_184 extends PrefixWith, K_111, "."> ? T_184 extends SplitAC ? "value" : "default" : never : never] ? T_185 extends CanBeExpanded ? any : T_185 extends (infer U)[] ? any[] : T_185 extends object ? { [K_112 in keyof T_185]-?: T_185[K_112] extends infer T_186 ? T_186 extends T_185[K_112] ? T_186 extends CanBeExpanded ? T_186["default"] : T_186 : never : never; } : T_185 : never : never : T_183 extends (infer U)[] ? any[] : T_183 extends object ? { [K_113 in keyof T_183]-?: T_183[K_113] extends infer T_187 ? T_187 extends T_183[K_113] ? T_187 extends CanBeExpanded ? T_187["default"] : T_187 : never : never; } : T_183 : never : never; } : T_177 : never : never; } : T_167 : never : never : T_166 extends (infer U)[] ? any[] : T_166 extends object ? { [K_114 in keyof T_166]-?: T_166[K_114] extends infer T_188 ? T_188 extends T_166[K_114] ? T_188 extends CanBeExpanded ? T_188[PrefixWith<`${string & K_99}`, K_114, "."> extends infer T_189 ? T_189 extends PrefixWith<`${string & K_99}`, K_114, "."> ? T_189 extends SplitAC ? "value" : "default" : never : never] extends infer T_190 ? T_190 extends T_188[PrefixWith<`${string & K_99}`, K_114, "."> extends infer T_189 ? T_189 extends PrefixWith<`${string & K_99}`, K_114, "."> ? T_189 extends SplitAC ? "value" : "default" : never : never] ? T_190 extends CanBeExpanded ? T_190[PrefixWith<`${string & K_99}`, K_114, "."> extends infer T_189 ? T_189 extends PrefixWith<`${string & K_99}`, K_114, "."> ? T_189 extends SplitAC ? "value" : "default" : never : never] extends infer T_191 ? T_191 extends T_190[PrefixWith<`${string & K_99}`, K_114, "."> extends infer T_189 ? T_189 extends PrefixWith<`${string & K_99}`, K_114, "."> ? T_189 extends SplitAC ? "value" : "default" : never : never] ? T_191 extends CanBeExpanded ? T_191[PrefixWith<`${string & K_99}`, K_114, "."> extends infer T_189 ? T_189 extends PrefixWith<`${string & K_99}`, K_114, "."> ? T_189 extends SplitAC ? "value" : "default" : never : never] extends infer T_192 ? T_192 extends T_191[PrefixWith<`${string & K_99}`, K_114, "."> extends infer T_189 ? T_189 extends PrefixWith<`${string & K_99}`, K_114, "."> ? T_189 extends SplitAC ? "value" : "default" : never : never] ? T_192 extends CanBeExpanded ? any : T_192 extends (infer U)[] ? any[] : T_192 extends object ? { [K_115 in keyof T_192]-?: any; } : T_192 : never : never : T_191 extends (infer U)[] ? any[] : T_191 extends object ? { [K_116 in keyof T_191]-?: T_191[K_116] extends infer T_193 ? T_193 extends T_191[K_116] ? T_193 extends CanBeExpanded ? any : T_193 extends (infer U)[] ? any[] : T_193 extends object ? { [K_117 in keyof T_193]-?: T_193[K_117] extends infer T_194 ? T_194 extends T_193[K_117] ? T_194 extends CanBeExpanded ? T_194["default"] : T_194 : never : never; } : T_193 : never : never; } : T_191 : never : never : T_190 extends (infer U)[] ? any[] : T_190 extends object ? { [K_118 in keyof T_190]-?: T_190[K_118] extends infer T_195 ? T_195 extends T_190[K_118] ? T_195 extends CanBeExpanded ? T_195[PrefixWith, K_118, "."> extends infer T_196 ? T_196 extends PrefixWith, K_118, "."> ? T_196 extends SplitAC ? "value" : "default" : never : never] extends infer T_197 ? T_197 extends T_195[PrefixWith, K_118, "."> extends infer T_196 ? T_196 extends PrefixWith, K_118, "."> ? T_196 extends SplitAC ? "value" : "default" : never : never] ? T_197 extends CanBeExpanded ? any : T_197 extends (infer U)[] ? any[] : T_197 extends object ? { [K_119 in keyof T_197]-?: T_197[K_119] extends infer T_198 ? T_198 extends T_197[K_119] ? T_198 extends CanBeExpanded ? T_198["default"] : T_198 : never : never; } : T_197 : never : never : T_195 extends (infer U)[] ? any[] : T_195 extends object ? { [K_120 in keyof T_195]-?: T_195[K_120] extends infer T_199 ? T_199 extends T_195[K_120] ? T_199 extends CanBeExpanded ? T_199["default"] : T_199 : never : never; } : T_195 : never : never; } : T_190 : never : never : T_188 extends (infer U)[] ? any[] : T_188 extends object ? { [K_121 in keyof T_188]-?: T_188[K_121] extends infer T_200 ? T_200 extends T_188[K_121] ? T_200 extends CanBeExpanded ? T_200[PrefixWith, K_121, "."> extends infer T_201 ? T_201 extends PrefixWith, K_121, "."> ? T_201 extends SplitAC ? "value" : "default" : never : never] extends infer T_202 ? T_202 extends T_200[PrefixWith, K_121, "."> extends infer T_201 ? T_201 extends PrefixWith, K_121, "."> ? T_201 extends SplitAC ? "value" : "default" : never : never] ? T_202 extends CanBeExpanded ? T_202[PrefixWith, K_121, "."> extends infer T_201 ? T_201 extends PrefixWith, K_121, "."> ? T_201 extends SplitAC ? "value" : "default" : never : never] extends infer T_203 ? T_203 extends T_202[PrefixWith, K_121, "."> extends infer T_201 ? T_201 extends PrefixWith, K_121, "."> ? T_201 extends SplitAC ? "value" : "default" : never : never] ? T_203 extends CanBeExpanded ? any : T_203 extends (infer U)[] ? any[] : T_203 extends object ? { [K_122 in keyof T_203]-?: T_203[K_122] extends infer T_204 ? T_204 extends T_203[K_122] ? T_204 extends CanBeExpanded ? T_204["default"] : T_204 : never : never; } : T_203 : never : never : T_202 extends (infer U)[] ? any[] : T_202 extends object ? { [K_123 in keyof T_202]-?: T_202[K_123] extends infer T_205 ? T_205 extends T_202[K_123] ? T_205 extends CanBeExpanded ? T_205["default"] : T_205 : never : never; } : T_202 : never : never : T_200 extends (infer U)[] ? any[] : T_200 extends object ? { [K_124 in keyof T_200]-?: T_200[K_124] extends infer T_206 ? T_206 extends T_200[K_124] ? T_206 extends CanBeExpanded ? T_206["default"] : T_206 : never : never; } : T_200 : never : never; } : T_188 : never : never; } : T_166 : never : never : T_165 extends (infer U)[] ? any[] : T_165 extends object ? { [K_125 in keyof T_165]-?: T_165[K_125] extends infer T_207 ? T_207 extends T_165[K_125] ? T_207 extends CanBeExpanded ? T_207[PrefixWith<`${string & K_99}`, K_125, "."> extends infer T_208 ? T_208 extends PrefixWith<`${string & K_99}`, K_125, "."> ? T_208 extends SplitAC ? "value" : "default" : never : never] extends infer T_209 ? T_209 extends T_207[PrefixWith<`${string & K_99}`, K_125, "."> extends infer T_208 ? T_208 extends PrefixWith<`${string & K_99}`, K_125, "."> ? T_208 extends SplitAC ? "value" : "default" : never : never] ? T_209 extends CanBeExpanded ? T_209[PrefixWith<`${string & K_99}`, K_125, "."> extends infer T_208 ? T_208 extends PrefixWith<`${string & K_99}`, K_125, "."> ? T_208 extends SplitAC ? "value" : "default" : never : never] extends infer T_210 ? T_210 extends T_209[PrefixWith<`${string & K_99}`, K_125, "."> extends infer T_208 ? T_208 extends PrefixWith<`${string & K_99}`, K_125, "."> ? T_208 extends SplitAC ? "value" : "default" : never : never] ? T_210 extends CanBeExpanded ? T_210[PrefixWith<`${string & K_99}`, K_125, "."> extends infer T_208 ? T_208 extends PrefixWith<`${string & K_99}`, K_125, "."> ? T_208 extends SplitAC ? "value" : "default" : never : never] extends infer T_211 ? T_211 extends T_210[PrefixWith<`${string & K_99}`, K_125, "."> extends infer T_208 ? T_208 extends PrefixWith<`${string & K_99}`, K_125, "."> ? T_208 extends SplitAC ? "value" : "default" : never : never] ? T_211 extends CanBeExpanded ? T_211[PrefixWith<`${string & K_99}`, K_125, "."> extends infer T_208 ? T_208 extends PrefixWith<`${string & K_99}`, K_125, "."> ? T_208 extends SplitAC ? "value" : "default" : never : never] extends infer T_212 ? T_212 extends T_211[PrefixWith<`${string & K_99}`, K_125, "."> extends infer T_208 ? T_208 extends PrefixWith<`${string & K_99}`, K_125, "."> ? T_208 extends SplitAC ? "value" : "default" : never : never] ? T_212 extends CanBeExpanded ? any : T_212 extends (infer U)[] ? any[] : T_212 extends object ? { [K_126 in keyof T_212]-?: any; } : T_212 : never : never : T_211 extends (infer U)[] ? any[] : T_211 extends object ? { [K_127 in keyof T_211]-?: T_211[K_127] extends infer T_213 ? T_213 extends T_211[K_127] ? T_213 extends CanBeExpanded ? any : T_213 extends (infer U)[] ? any[] : T_213 extends object ? { [K_128 in keyof T_213]-?: T_213[K_128] extends infer T_214 ? T_214 extends T_213[K_128] ? T_214 extends CanBeExpanded ? T_214["default"] : T_214 : never : never; } : T_213 : never : never; } : T_211 : never : never : T_210 extends (infer U)[] ? any[] : T_210 extends object ? { [K_129 in keyof T_210]-?: T_210[K_129] extends infer T_215 ? T_215 extends T_210[K_129] ? T_215 extends CanBeExpanded ? T_215[PrefixWith, K_129, "."> extends infer T_216 ? T_216 extends PrefixWith, K_129, "."> ? T_216 extends SplitAC ? "value" : "default" : never : never] extends infer T_217 ? T_217 extends T_215[PrefixWith, K_129, "."> extends infer T_216 ? T_216 extends PrefixWith, K_129, "."> ? T_216 extends SplitAC ? "value" : "default" : never : never] ? T_217 extends CanBeExpanded ? any : T_217 extends (infer U)[] ? any[] : T_217 extends object ? { [K_130 in keyof T_217]-?: T_217[K_130] extends infer T_218 ? T_218 extends T_217[K_130] ? T_218 extends CanBeExpanded ? T_218["default"] : T_218 : never : never; } : T_217 : never : never : T_215 extends (infer U)[] ? any[] : T_215 extends object ? { [K_131 in keyof T_215]-?: T_215[K_131] extends infer T_219 ? T_219 extends T_215[K_131] ? T_219 extends CanBeExpanded ? T_219["default"] : T_219 : never : never; } : T_215 : never : never; } : T_210 : never : never : T_209 extends (infer U)[] ? any[] : T_209 extends object ? { [K_132 in keyof T_209]-?: T_209[K_132] extends infer T_220 ? T_220 extends T_209[K_132] ? T_220 extends CanBeExpanded ? T_220[PrefixWith, K_132, "."> extends infer T_221 ? T_221 extends PrefixWith, K_132, "."> ? T_221 extends SplitAC ? "value" : "default" : never : never] extends infer T_222 ? T_222 extends T_220[PrefixWith, K_132, "."> extends infer T_221 ? T_221 extends PrefixWith, K_132, "."> ? T_221 extends SplitAC ? "value" : "default" : never : never] ? T_222 extends CanBeExpanded ? T_222[PrefixWith, K_132, "."> extends infer T_221 ? T_221 extends PrefixWith, K_132, "."> ? T_221 extends SplitAC ? "value" : "default" : never : never] extends infer T_223 ? T_223 extends T_222[PrefixWith, K_132, "."> extends infer T_221 ? T_221 extends PrefixWith, K_132, "."> ? T_221 extends SplitAC ? "value" : "default" : never : never] ? T_223 extends CanBeExpanded ? any : T_223 extends (infer U)[] ? any[] : T_223 extends object ? { [K_133 in keyof T_223]-?: T_223[K_133] extends infer T_224 ? T_224 extends T_223[K_133] ? T_224 extends CanBeExpanded ? T_224["default"] : T_224 : never : never; } : T_223 : never : never : T_222 extends (infer U)[] ? any[] : T_222 extends object ? { [K_134 in keyof T_222]-?: T_222[K_134] extends infer T_225 ? T_225 extends T_222[K_134] ? T_225 extends CanBeExpanded ? T_225["default"] : T_225 : never : never; } : T_222 : never : never : T_220 extends (infer U)[] ? any[] : T_220 extends object ? { [K_135 in keyof T_220]-?: T_220[K_135] extends infer T_226 ? T_226 extends T_220[K_135] ? T_226 extends CanBeExpanded ? T_226["default"] : T_226 : never : never; } : T_220 : never : never; } : T_209 : never : never : T_207 extends (infer U)[] ? any[] : T_207 extends object ? { [K_136 in keyof T_207]-?: T_207[K_136] extends infer T_227 ? T_227 extends T_207[K_136] ? T_227 extends CanBeExpanded ? T_227[PrefixWith, K_136, "."> extends infer T_228 ? T_228 extends PrefixWith, K_136, "."> ? T_228 extends SplitAC ? "value" : "default" : never : never] extends infer T_229 ? T_229 extends T_227[PrefixWith, K_136, "."> extends infer T_228 ? T_228 extends PrefixWith, K_136, "."> ? T_228 extends SplitAC ? "value" : "default" : never : never] ? T_229 extends CanBeExpanded ? T_229[PrefixWith, K_136, "."> extends infer T_228 ? T_228 extends PrefixWith, K_136, "."> ? T_228 extends SplitAC ? "value" : "default" : never : never] extends infer T_230 ? T_230 extends T_229[PrefixWith, K_136, "."> extends infer T_228 ? T_228 extends PrefixWith, K_136, "."> ? T_228 extends SplitAC ? "value" : "default" : never : never] ? T_230 extends CanBeExpanded ? T_230[PrefixWith, K_136, "."> extends infer T_228 ? T_228 extends PrefixWith, K_136, "."> ? T_228 extends SplitAC ? "value" : "default" : never : never] extends infer T_231 ? T_231 extends T_230[PrefixWith, K_136, "."> extends infer T_228 ? T_228 extends PrefixWith, K_136, "."> ? T_228 extends SplitAC ? "value" : "default" : never : never] ? T_231 extends CanBeExpanded ? any : T_231 extends (infer U)[] ? any[] : T_231 extends object ? { [K_137 in keyof T_231]-?: T_231[K_137] extends infer T_232 ? T_232 extends T_231[K_137] ? T_232 extends CanBeExpanded ? T_232["default"] : T_232 : never : never; } : T_231 : never : never : T_230 extends (infer U)[] ? any[] : T_230 extends object ? { [K_138 in keyof T_230]-?: T_230[K_138] extends infer T_233 ? T_233 extends T_230[K_138] ? T_233 extends CanBeExpanded ? T_233["default"] : T_233 : never : never; } : T_230 : never : never : T_229 extends (infer U)[] ? any[] : T_229 extends object ? { [K_139 in keyof T_229]-?: T_229[K_139] extends infer T_234 ? T_234 extends T_229[K_139] ? T_234 extends CanBeExpanded ? T_234["default"] : T_234 : never : never; } : T_229 : never : never : T_227 extends (infer U)[] ? any[] : T_227 extends object ? { [K_140 in keyof T_227]-?: T_227[K_140] extends infer T_235 ? T_235 extends T_227[K_140] ? T_235 extends CanBeExpanded ? T_235["default"] : T_235 : never : never; } : T_227 : never : never; } : T_207 : never : never; } : T_165 : never : never : T_163 extends (infer U)[] ? any[] : T_163 extends object ? { [K_141 in keyof T_163]-?: T_163[K_141] extends infer T_236 ? T_236 extends T_163[K_141] ? T_236 extends CanBeExpanded ? T_236[PrefixWith<`${string & K_99}`, K_141, "."> extends infer T_237 ? T_237 extends PrefixWith<`${string & K_99}`, K_141, "."> ? T_237 extends SplitAC ? "value" : "default" : never : never] extends infer T_238 ? T_238 extends T_236[PrefixWith<`${string & K_99}`, K_141, "."> extends infer T_237 ? T_237 extends PrefixWith<`${string & K_99}`, K_141, "."> ? T_237 extends SplitAC ? "value" : "default" : never : never] ? T_238 extends CanBeExpanded ? T_238[PrefixWith<`${string & K_99}`, K_141, "."> extends infer T_237 ? T_237 extends PrefixWith<`${string & K_99}`, K_141, "."> ? T_237 extends SplitAC ? "value" : "default" : never : never] extends infer T_239 ? T_239 extends T_238[PrefixWith<`${string & K_99}`, K_141, "."> extends infer T_237 ? T_237 extends PrefixWith<`${string & K_99}`, K_141, "."> ? T_237 extends SplitAC ? "value" : "default" : never : never] ? T_239 extends CanBeExpanded ? T_239[PrefixWith<`${string & K_99}`, K_141, "."> extends infer T_237 ? T_237 extends PrefixWith<`${string & K_99}`, K_141, "."> ? T_237 extends SplitAC ? "value" : "default" : never : never] extends infer T_240 ? T_240 extends T_239[PrefixWith<`${string & K_99}`, K_141, "."> extends infer T_237 ? T_237 extends PrefixWith<`${string & K_99}`, K_141, "."> ? T_237 extends SplitAC ? "value" : "default" : never : never] ? T_240 extends CanBeExpanded ? T_240[PrefixWith<`${string & K_99}`, K_141, "."> extends infer T_237 ? T_237 extends PrefixWith<`${string & K_99}`, K_141, "."> ? T_237 extends SplitAC ? "value" : "default" : never : never] extends infer T_241 ? T_241 extends T_240[PrefixWith<`${string & K_99}`, K_141, "."> extends infer T_237 ? T_237 extends PrefixWith<`${string & K_99}`, K_141, "."> ? T_237 extends SplitAC ? "value" : "default" : never : never] ? T_241 extends CanBeExpanded ? T_241[PrefixWith<`${string & K_99}`, K_141, "."> extends infer T_237 ? T_237 extends PrefixWith<`${string & K_99}`, K_141, "."> ? T_237 extends SplitAC ? "value" : "default" : never : never] extends infer T_242 ? T_242 extends T_241[PrefixWith<`${string & K_99}`, K_141, "."> extends infer T_237 ? T_237 extends PrefixWith<`${string & K_99}`, K_141, "."> ? T_237 extends SplitAC ? "value" : "default" : never : never] ? T_242 extends CanBeExpanded ? any : T_242 extends (infer U)[] ? any[] : T_242 extends object ? { [K_142 in keyof T_242]-?: any; } : T_242 : never : never : T_241 extends (infer U)[] ? any[] : T_241 extends object ? { [K_143 in keyof T_241]-?: T_241[K_143] extends infer T_243 ? T_243 extends T_241[K_143] ? T_243 extends CanBeExpanded ? any : T_243 extends (infer U)[] ? any[] : T_243 extends object ? { [K_144 in keyof T_243]-?: T_243[K_144] extends infer T_244 ? T_244 extends T_243[K_144] ? T_244 extends CanBeExpanded ? T_244["default"] : T_244 : never : never; } : T_243 : never : never; } : T_241 : never : never : T_240 extends (infer U)[] ? any[] : T_240 extends object ? { [K_145 in keyof T_240]-?: T_240[K_145] extends infer T_245 ? T_245 extends T_240[K_145] ? T_245 extends CanBeExpanded ? T_245[PrefixWith, K_145, "."> extends infer T_246 ? T_246 extends PrefixWith, K_145, "."> ? T_246 extends SplitAC ? "value" : "default" : never : never] extends infer T_247 ? T_247 extends T_245[PrefixWith, K_145, "."> extends infer T_246 ? T_246 extends PrefixWith, K_145, "."> ? T_246 extends SplitAC ? "value" : "default" : never : never] ? T_247 extends CanBeExpanded ? any : T_247 extends (infer U)[] ? any[] : T_247 extends object ? { [K_146 in keyof T_247]-?: T_247[K_146] extends infer T_248 ? T_248 extends T_247[K_146] ? T_248 extends CanBeExpanded ? T_248["default"] : T_248 : never : never; } : T_247 : never : never : T_245 extends (infer U)[] ? any[] : T_245 extends object ? { [K_147 in keyof T_245]-?: T_245[K_147] extends infer T_249 ? T_249 extends T_245[K_147] ? T_249 extends CanBeExpanded ? T_249["default"] : T_249 : never : never; } : T_245 : never : never; } : T_240 : never : never : T_239 extends (infer U)[] ? any[] : T_239 extends object ? { [K_148 in keyof T_239]-?: T_239[K_148] extends infer T_250 ? T_250 extends T_239[K_148] ? T_250 extends CanBeExpanded ? T_250[PrefixWith, K_148, "."> extends infer T_251 ? T_251 extends PrefixWith, K_148, "."> ? T_251 extends SplitAC ? "value" : "default" : never : never] extends infer T_252 ? T_252 extends T_250[PrefixWith, K_148, "."> extends infer T_251 ? T_251 extends PrefixWith, K_148, "."> ? T_251 extends SplitAC ? "value" : "default" : never : never] ? T_252 extends CanBeExpanded ? T_252[PrefixWith, K_148, "."> extends infer T_251 ? T_251 extends PrefixWith, K_148, "."> ? T_251 extends SplitAC ? "value" : "default" : never : never] extends infer T_253 ? T_253 extends T_252[PrefixWith, K_148, "."> extends infer T_251 ? T_251 extends PrefixWith, K_148, "."> ? T_251 extends SplitAC ? "value" : "default" : never : never] ? T_253 extends CanBeExpanded ? any : T_253 extends (infer U)[] ? any[] : T_253 extends object ? { [K_149 in keyof T_253]-?: T_253[K_149] extends infer T_254 ? T_254 extends T_253[K_149] ? T_254 extends CanBeExpanded ? T_254["default"] : T_254 : never : never; } : T_253 : never : never : T_252 extends (infer U)[] ? any[] : T_252 extends object ? { [K_150 in keyof T_252]-?: T_252[K_150] extends infer T_255 ? T_255 extends T_252[K_150] ? T_255 extends CanBeExpanded ? T_255["default"] : T_255 : never : never; } : T_252 : never : never : T_250 extends (infer U)[] ? any[] : T_250 extends object ? { [K_151 in keyof T_250]-?: T_250[K_151] extends infer T_256 ? T_256 extends T_250[K_151] ? T_256 extends CanBeExpanded ? T_256["default"] : T_256 : never : never; } : T_250 : never : never; } : T_239 : never : never : T_238 extends (infer U)[] ? any[] : T_238 extends object ? { [K_152 in keyof T_238]-?: T_238[K_152] extends infer T_257 ? T_257 extends T_238[K_152] ? T_257 extends CanBeExpanded ? T_257[PrefixWith, K_152, "."> extends infer T_258 ? T_258 extends PrefixWith, K_152, "."> ? T_258 extends SplitAC ? "value" : "default" : never : never] extends infer T_259 ? T_259 extends T_257[PrefixWith, K_152, "."> extends infer T_258 ? T_258 extends PrefixWith, K_152, "."> ? T_258 extends SplitAC ? "value" : "default" : never : never] ? T_259 extends CanBeExpanded ? T_259[PrefixWith, K_152, "."> extends infer T_258 ? T_258 extends PrefixWith, K_152, "."> ? T_258 extends SplitAC ? "value" : "default" : never : never] extends infer T_260 ? T_260 extends T_259[PrefixWith, K_152, "."> extends infer T_258 ? T_258 extends PrefixWith, K_152, "."> ? T_258 extends SplitAC ? "value" : "default" : never : never] ? T_260 extends CanBeExpanded ? T_260[PrefixWith, K_152, "."> extends infer T_258 ? T_258 extends PrefixWith, K_152, "."> ? T_258 extends SplitAC ? "value" : "default" : never : never] extends infer T_261 ? T_261 extends T_260[PrefixWith, K_152, "."> extends infer T_258 ? T_258 extends PrefixWith, K_152, "."> ? T_258 extends SplitAC ? "value" : "default" : never : never] ? T_261 extends CanBeExpanded ? any : T_261 extends (infer U)[] ? any[] : T_261 extends object ? { [K_153 in keyof T_261]-?: T_261[K_153] extends infer T_262 ? T_262 extends T_261[K_153] ? T_262 extends CanBeExpanded ? T_262["default"] : T_262 : never : never; } : T_261 : never : never : T_260 extends (infer U)[] ? any[] : T_260 extends object ? { [K_154 in keyof T_260]-?: T_260[K_154] extends infer T_263 ? T_263 extends T_260[K_154] ? T_263 extends CanBeExpanded ? T_263["default"] : T_263 : never : never; } : T_260 : never : never : T_259 extends (infer U)[] ? any[] : T_259 extends object ? { [K_155 in keyof T_259]-?: T_259[K_155] extends infer T_264 ? T_264 extends T_259[K_155] ? T_264 extends CanBeExpanded ? T_264["default"] : T_264 : never : never; } : T_259 : never : never : T_257 extends (infer U)[] ? any[] : T_257 extends object ? { [K_156 in keyof T_257]-?: T_257[K_156] extends infer T_265 ? T_265 extends T_257[K_156] ? T_265 extends CanBeExpanded ? T_265["default"] : T_265 : never : never; } : T_257 : never : never; } : T_238 : never : never : T_236 extends (infer U)[] ? any[] : T_236 extends object ? { [K_157 in keyof T_236]-?: T_236[K_157] extends infer T_266 ? T_266 extends T_236[K_157] ? T_266 extends CanBeExpanded ? T_266[PrefixWith, K_157, "."> extends infer T_267 ? T_267 extends PrefixWith, K_157, "."> ? T_267 extends SplitAC ? "value" : "default" : never : never] extends infer T_268 ? T_268 extends T_266[PrefixWith, K_157, "."> extends infer T_267 ? T_267 extends PrefixWith, K_157, "."> ? T_267 extends SplitAC ? "value" : "default" : never : never] ? T_268 extends CanBeExpanded ? T_268[PrefixWith, K_157, "."> extends infer T_267 ? T_267 extends PrefixWith, K_157, "."> ? T_267 extends SplitAC ? "value" : "default" : never : never] extends infer T_269 ? T_269 extends T_268[PrefixWith, K_157, "."> extends infer T_267 ? T_267 extends PrefixWith, K_157, "."> ? T_267 extends SplitAC ? "value" : "default" : never : never] ? T_269 extends CanBeExpanded ? T_269[PrefixWith, K_157, "."> extends infer T_267 ? T_267 extends PrefixWith, K_157, "."> ? T_267 extends SplitAC ? "value" : "default" : never : never] extends infer T_270 ? T_270 extends T_269[PrefixWith, K_157, "."> extends infer T_267 ? T_267 extends PrefixWith, K_157, "."> ? T_267 extends SplitAC ? "value" : "default" : never : never] ? T_270 extends CanBeExpanded ? T_270[PrefixWith, K_157, "."> extends infer T_267 ? T_267 extends PrefixWith, K_157, "."> ? T_267 extends SplitAC ? "value" : "default" : never : never] extends infer T_271 ? T_271 extends T_270[PrefixWith, K_157, "."> extends infer T_267 ? T_267 extends PrefixWith, K_157, "."> ? T_267 extends SplitAC ? "value" : "default" : never : never] ? T_271 extends CanBeExpanded ? any : T_271 extends (infer U)[] ? any[] : T_271 extends object ? { [K_158 in keyof T_271]-?: T_271[K_158] extends infer T_272 ? T_272 extends T_271[K_158] ? T_272 extends CanBeExpanded ? T_272["default"] : T_272 : never : never; } : T_271 : never : never : T_270 extends (infer U)[] ? any[] : T_270 extends object ? { [K_159 in keyof T_270]-?: T_270[K_159] extends infer T_273 ? T_273 extends T_270[K_159] ? T_273 extends CanBeExpanded ? T_273["default"] : T_273 : never : never; } : T_270 : never : never : T_269 extends (infer U)[] ? any[] : T_269 extends object ? { [K_160 in keyof T_269]-?: T_269[K_160] extends infer T_274 ? T_274 extends T_269[K_160] ? T_274 extends CanBeExpanded ? T_274["default"] : T_274 : never : never; } : T_269 : never : never : T_268 extends (infer U)[] ? any[] : T_268 extends object ? { [K_161 in keyof T_268]-?: T_268[K_161] extends infer T_275 ? T_275 extends T_268[K_161] ? T_275 extends CanBeExpanded ? T_275["default"] : T_275 : never : never; } : T_268 : never : never : T_266 extends (infer U)[] ? any[] : T_266 extends object ? { [K_162 in keyof T_266]-?: T_266[K_162] extends infer T_276 ? T_276 extends T_266[K_162] ? T_276 extends CanBeExpanded ? T_276["default"] : T_276 : never : never; } : T_266 : never : never; } : T_236 : never : never; } : T_163 : never : never; } : T_4 : never : never : T_3 extends (infer U)[] ? any[] : T_3 extends object ? { [K_163 in keyof T_3]-?: T_3[K_163] extends infer T_277 ? T_277 extends T_3[K_163] ? T_277 extends CanBeExpanded ? T_277[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] extends infer T_279 ? T_279 extends T_277[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] ? T_279 extends CanBeExpanded ? T_279[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] extends infer T_280 ? T_280 extends T_279[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] ? T_280 extends CanBeExpanded ? T_280[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] extends infer T_281 ? T_281 extends T_280[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] ? T_281 extends CanBeExpanded ? T_281[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] extends infer T_282 ? T_282 extends T_281[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] ? T_282 extends CanBeExpanded ? T_282[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] extends infer T_283 ? T_283 extends T_282[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] ? T_283 extends CanBeExpanded ? T_283[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] extends infer T_284 ? T_284 extends T_283[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] ? T_284 extends CanBeExpanded ? T_284[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] extends infer T_285 ? T_285 extends T_284[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] ? T_285 extends CanBeExpanded ? any : T_285 extends (infer U)[] ? any[] : T_285 extends object ? { [K_164 in keyof T_285]-?: any; } : T_285 : never : never : T_284 extends (infer U)[] ? any[] : T_284 extends object ? { [K_165 in keyof T_284]-?: T_284[K_165] extends infer T_286 ? T_286 extends T_284[K_165] ? T_286 extends CanBeExpanded ? any : T_286 extends (infer U)[] ? any[] : T_286 extends object ? { [K_166 in keyof T_286]-?: any; } : T_286 : never : never; } : T_284 : never : never : T_283 extends (infer U)[] ? any[] : T_283 extends object ? { [K_167 in keyof T_283]-?: T_283[K_167] extends infer T_287 ? T_287 extends T_283[K_167] ? T_287 extends CanBeExpanded ? T_287[PrefixWith<`${string & K_163}`, K_167, "."> extends infer T_288 ? T_288 extends PrefixWith<`${string & K_163}`, K_167, "."> ? T_288 extends SplitAC ? "value" : "default" : never : never] extends infer T_289 ? T_289 extends T_287[PrefixWith<`${string & K_163}`, K_167, "."> extends infer T_288 ? T_288 extends PrefixWith<`${string & K_163}`, K_167, "."> ? T_288 extends SplitAC ? "value" : "default" : never : never] ? T_289 extends CanBeExpanded ? any : T_289 extends (infer U)[] ? any[] : T_289 extends object ? { [K_168 in keyof T_289]-?: any; } : T_289 : never : never : T_287 extends (infer U)[] ? any[] : T_287 extends object ? { [K_169 in keyof T_287]-?: T_287[K_169] extends infer T_290 ? T_290 extends T_287[K_169] ? T_290 extends CanBeExpanded ? any : T_290 extends (infer U)[] ? any[] : T_290 extends object ? { [K_170 in keyof T_290]-?: T_290[K_170] extends infer T_291 ? T_291 extends T_290[K_170] ? T_291 extends CanBeExpanded ? T_291["default"] : T_291 : never : never; } : T_290 : never : never; } : T_287 : never : never; } : T_283 : never : never : T_282 extends (infer U)[] ? any[] : T_282 extends object ? { [K_171 in keyof T_282]-?: T_282[K_171] extends infer T_292 ? T_292 extends T_282[K_171] ? T_292 extends CanBeExpanded ? T_292[PrefixWith<`${string & K_163}`, K_171, "."> extends infer T_293 ? T_293 extends PrefixWith<`${string & K_163}`, K_171, "."> ? T_293 extends SplitAC ? "value" : "default" : never : never] extends infer T_294 ? T_294 extends T_292[PrefixWith<`${string & K_163}`, K_171, "."> extends infer T_293 ? T_293 extends PrefixWith<`${string & K_163}`, K_171, "."> ? T_293 extends SplitAC ? "value" : "default" : never : never] ? T_294 extends CanBeExpanded ? T_294[PrefixWith<`${string & K_163}`, K_171, "."> extends infer T_293 ? T_293 extends PrefixWith<`${string & K_163}`, K_171, "."> ? T_293 extends SplitAC ? "value" : "default" : never : never] extends infer T_295 ? T_295 extends T_294[PrefixWith<`${string & K_163}`, K_171, "."> extends infer T_293 ? T_293 extends PrefixWith<`${string & K_163}`, K_171, "."> ? T_293 extends SplitAC ? "value" : "default" : never : never] ? T_295 extends CanBeExpanded ? any : T_295 extends (infer U)[] ? any[] : T_295 extends object ? { [K_172 in keyof T_295]-?: any; } : T_295 : never : never : T_294 extends (infer U)[] ? any[] : T_294 extends object ? { [K_173 in keyof T_294]-?: T_294[K_173] extends infer T_296 ? T_296 extends T_294[K_173] ? T_296 extends CanBeExpanded ? any : T_296 extends (infer U)[] ? any[] : T_296 extends object ? { [K_174 in keyof T_296]-?: T_296[K_174] extends infer T_297 ? T_297 extends T_296[K_174] ? T_297 extends CanBeExpanded ? T_297["default"] : T_297 : never : never; } : T_296 : never : never; } : T_294 : never : never : T_292 extends (infer U)[] ? any[] : T_292 extends object ? { [K_175 in keyof T_292]-?: T_292[K_175] extends infer T_298 ? T_298 extends T_292[K_175] ? T_298 extends CanBeExpanded ? T_298[PrefixWith, K_175, "."> extends infer T_299 ? T_299 extends PrefixWith, K_175, "."> ? T_299 extends SplitAC ? "value" : "default" : never : never] extends infer T_300 ? T_300 extends T_298[PrefixWith, K_175, "."> extends infer T_299 ? T_299 extends PrefixWith, K_175, "."> ? T_299 extends SplitAC ? "value" : "default" : never : never] ? T_300 extends CanBeExpanded ? any : T_300 extends (infer U)[] ? any[] : T_300 extends object ? { [K_176 in keyof T_300]-?: T_300[K_176] extends infer T_301 ? T_301 extends T_300[K_176] ? T_301 extends CanBeExpanded ? T_301["default"] : T_301 : never : never; } : T_300 : never : never : T_298 extends (infer U)[] ? any[] : T_298 extends object ? { [K_177 in keyof T_298]-?: T_298[K_177] extends infer T_302 ? T_302 extends T_298[K_177] ? T_302 extends CanBeExpanded ? T_302["default"] : T_302 : never : never; } : T_298 : never : never; } : T_292 : never : never; } : T_282 : never : never : T_281 extends (infer U)[] ? any[] : T_281 extends object ? { [K_178 in keyof T_281]-?: T_281[K_178] extends infer T_303 ? T_303 extends T_281[K_178] ? T_303 extends CanBeExpanded ? T_303[PrefixWith<`${string & K_163}`, K_178, "."> extends infer T_304 ? T_304 extends PrefixWith<`${string & K_163}`, K_178, "."> ? T_304 extends SplitAC ? "value" : "default" : never : never] extends infer T_305 ? T_305 extends T_303[PrefixWith<`${string & K_163}`, K_178, "."> extends infer T_304 ? T_304 extends PrefixWith<`${string & K_163}`, K_178, "."> ? T_304 extends SplitAC ? "value" : "default" : never : never] ? T_305 extends CanBeExpanded ? T_305[PrefixWith<`${string & K_163}`, K_178, "."> extends infer T_304 ? T_304 extends PrefixWith<`${string & K_163}`, K_178, "."> ? T_304 extends SplitAC ? "value" : "default" : never : never] extends infer T_306 ? T_306 extends T_305[PrefixWith<`${string & K_163}`, K_178, "."> extends infer T_304 ? T_304 extends PrefixWith<`${string & K_163}`, K_178, "."> ? T_304 extends SplitAC ? "value" : "default" : never : never] ? T_306 extends CanBeExpanded ? T_306[PrefixWith<`${string & K_163}`, K_178, "."> extends infer T_304 ? T_304 extends PrefixWith<`${string & K_163}`, K_178, "."> ? T_304 extends SplitAC ? "value" : "default" : never : never] extends infer T_307 ? T_307 extends T_306[PrefixWith<`${string & K_163}`, K_178, "."> extends infer T_304 ? T_304 extends PrefixWith<`${string & K_163}`, K_178, "."> ? T_304 extends SplitAC ? "value" : "default" : never : never] ? T_307 extends CanBeExpanded ? any : T_307 extends (infer U)[] ? any[] : T_307 extends object ? { [K_179 in keyof T_307]-?: any; } : T_307 : never : never : T_306 extends (infer U)[] ? any[] : T_306 extends object ? { [K_180 in keyof T_306]-?: T_306[K_180] extends infer T_308 ? T_308 extends T_306[K_180] ? T_308 extends CanBeExpanded ? any : T_308 extends (infer U)[] ? any[] : T_308 extends object ? { [K_181 in keyof T_308]-?: T_308[K_181] extends infer T_309 ? T_309 extends T_308[K_181] ? T_309 extends CanBeExpanded ? T_309["default"] : T_309 : never : never; } : T_308 : never : never; } : T_306 : never : never : T_305 extends (infer U)[] ? any[] : T_305 extends object ? { [K_182 in keyof T_305]-?: T_305[K_182] extends infer T_310 ? T_310 extends T_305[K_182] ? T_310 extends CanBeExpanded ? T_310[PrefixWith, K_182, "."> extends infer T_311 ? T_311 extends PrefixWith, K_182, "."> ? T_311 extends SplitAC ? "value" : "default" : never : never] extends infer T_312 ? T_312 extends T_310[PrefixWith, K_182, "."> extends infer T_311 ? T_311 extends PrefixWith, K_182, "."> ? T_311 extends SplitAC ? "value" : "default" : never : never] ? T_312 extends CanBeExpanded ? any : T_312 extends (infer U)[] ? any[] : T_312 extends object ? { [K_183 in keyof T_312]-?: T_312[K_183] extends infer T_313 ? T_313 extends T_312[K_183] ? T_313 extends CanBeExpanded ? T_313["default"] : T_313 : never : never; } : T_312 : never : never : T_310 extends (infer U)[] ? any[] : T_310 extends object ? { [K_184 in keyof T_310]-?: T_310[K_184] extends infer T_314 ? T_314 extends T_310[K_184] ? T_314 extends CanBeExpanded ? T_314["default"] : T_314 : never : never; } : T_310 : never : never; } : T_305 : never : never : T_303 extends (infer U)[] ? any[] : T_303 extends object ? { [K_185 in keyof T_303]-?: T_303[K_185] extends infer T_315 ? T_315 extends T_303[K_185] ? T_315 extends CanBeExpanded ? T_315[PrefixWith, K_185, "."> extends infer T_316 ? T_316 extends PrefixWith, K_185, "."> ? T_316 extends SplitAC ? "value" : "default" : never : never] extends infer T_317 ? T_317 extends T_315[PrefixWith, K_185, "."> extends infer T_316 ? T_316 extends PrefixWith, K_185, "."> ? T_316 extends SplitAC ? "value" : "default" : never : never] ? T_317 extends CanBeExpanded ? T_317[PrefixWith, K_185, "."> extends infer T_316 ? T_316 extends PrefixWith, K_185, "."> ? T_316 extends SplitAC ? "value" : "default" : never : never] extends infer T_318 ? T_318 extends T_317[PrefixWith, K_185, "."> extends infer T_316 ? T_316 extends PrefixWith, K_185, "."> ? T_316 extends SplitAC ? "value" : "default" : never : never] ? T_318 extends CanBeExpanded ? any : T_318 extends (infer U)[] ? any[] : T_318 extends object ? { [K_186 in keyof T_318]-?: T_318[K_186] extends infer T_319 ? T_319 extends T_318[K_186] ? T_319 extends CanBeExpanded ? T_319["default"] : T_319 : never : never; } : T_318 : never : never : T_317 extends (infer U)[] ? any[] : T_317 extends object ? { [K_187 in keyof T_317]-?: T_317[K_187] extends infer T_320 ? T_320 extends T_317[K_187] ? T_320 extends CanBeExpanded ? T_320["default"] : T_320 : never : never; } : T_317 : never : never : T_315 extends (infer U)[] ? any[] : T_315 extends object ? { [K_188 in keyof T_315]-?: T_315[K_188] extends infer T_321 ? T_321 extends T_315[K_188] ? T_321 extends CanBeExpanded ? T_321["default"] : T_321 : never : never; } : T_315 : never : never; } : T_303 : never : never; } : T_281 : never : never : T_280 extends (infer U)[] ? any[] : T_280 extends object ? { [K_189 in keyof T_280]-?: T_280[K_189] extends infer T_322 ? T_322 extends T_280[K_189] ? T_322 extends CanBeExpanded ? T_322[PrefixWith<`${string & K_163}`, K_189, "."> extends infer T_323 ? T_323 extends PrefixWith<`${string & K_163}`, K_189, "."> ? T_323 extends SplitAC ? "value" : "default" : never : never] extends infer T_324 ? T_324 extends T_322[PrefixWith<`${string & K_163}`, K_189, "."> extends infer T_323 ? T_323 extends PrefixWith<`${string & K_163}`, K_189, "."> ? T_323 extends SplitAC ? "value" : "default" : never : never] ? T_324 extends CanBeExpanded ? T_324[PrefixWith<`${string & K_163}`, K_189, "."> extends infer T_323 ? T_323 extends PrefixWith<`${string & K_163}`, K_189, "."> ? T_323 extends SplitAC ? "value" : "default" : never : never] extends infer T_325 ? T_325 extends T_324[PrefixWith<`${string & K_163}`, K_189, "."> extends infer T_323 ? T_323 extends PrefixWith<`${string & K_163}`, K_189, "."> ? T_323 extends SplitAC ? "value" : "default" : never : never] ? T_325 extends CanBeExpanded ? T_325[PrefixWith<`${string & K_163}`, K_189, "."> extends infer T_323 ? T_323 extends PrefixWith<`${string & K_163}`, K_189, "."> ? T_323 extends SplitAC ? "value" : "default" : never : never] extends infer T_326 ? T_326 extends T_325[PrefixWith<`${string & K_163}`, K_189, "."> extends infer T_323 ? T_323 extends PrefixWith<`${string & K_163}`, K_189, "."> ? T_323 extends SplitAC ? "value" : "default" : never : never] ? T_326 extends CanBeExpanded ? T_326[PrefixWith<`${string & K_163}`, K_189, "."> extends infer T_323 ? T_323 extends PrefixWith<`${string & K_163}`, K_189, "."> ? T_323 extends SplitAC ? "value" : "default" : never : never] extends infer T_327 ? T_327 extends T_326[PrefixWith<`${string & K_163}`, K_189, "."> extends infer T_323 ? T_323 extends PrefixWith<`${string & K_163}`, K_189, "."> ? T_323 extends SplitAC ? "value" : "default" : never : never] ? T_327 extends CanBeExpanded ? any : T_327 extends (infer U)[] ? any[] : T_327 extends object ? { [K_190 in keyof T_327]-?: any; } : T_327 : never : never : T_326 extends (infer U)[] ? any[] : T_326 extends object ? { [K_191 in keyof T_326]-?: T_326[K_191] extends infer T_328 ? T_328 extends T_326[K_191] ? T_328 extends CanBeExpanded ? any : T_328 extends (infer U)[] ? any[] : T_328 extends object ? { [K_192 in keyof T_328]-?: T_328[K_192] extends infer T_329 ? T_329 extends T_328[K_192] ? T_329 extends CanBeExpanded ? T_329["default"] : T_329 : never : never; } : T_328 : never : never; } : T_326 : never : never : T_325 extends (infer U)[] ? any[] : T_325 extends object ? { [K_193 in keyof T_325]-?: T_325[K_193] extends infer T_330 ? T_330 extends T_325[K_193] ? T_330 extends CanBeExpanded ? T_330[PrefixWith, K_193, "."> extends infer T_331 ? T_331 extends PrefixWith, K_193, "."> ? T_331 extends SplitAC ? "value" : "default" : never : never] extends infer T_332 ? T_332 extends T_330[PrefixWith, K_193, "."> extends infer T_331 ? T_331 extends PrefixWith, K_193, "."> ? T_331 extends SplitAC ? "value" : "default" : never : never] ? T_332 extends CanBeExpanded ? any : T_332 extends (infer U)[] ? any[] : T_332 extends object ? { [K_194 in keyof T_332]-?: T_332[K_194] extends infer T_333 ? T_333 extends T_332[K_194] ? T_333 extends CanBeExpanded ? T_333["default"] : T_333 : never : never; } : T_332 : never : never : T_330 extends (infer U)[] ? any[] : T_330 extends object ? { [K_195 in keyof T_330]-?: T_330[K_195] extends infer T_334 ? T_334 extends T_330[K_195] ? T_334 extends CanBeExpanded ? T_334["default"] : T_334 : never : never; } : T_330 : never : never; } : T_325 : never : never : T_324 extends (infer U)[] ? any[] : T_324 extends object ? { [K_196 in keyof T_324]-?: T_324[K_196] extends infer T_335 ? T_335 extends T_324[K_196] ? T_335 extends CanBeExpanded ? T_335[PrefixWith, K_196, "."> extends infer T_336 ? T_336 extends PrefixWith, K_196, "."> ? T_336 extends SplitAC ? "value" : "default" : never : never] extends infer T_337 ? T_337 extends T_335[PrefixWith, K_196, "."> extends infer T_336 ? T_336 extends PrefixWith, K_196, "."> ? T_336 extends SplitAC ? "value" : "default" : never : never] ? T_337 extends CanBeExpanded ? T_337[PrefixWith, K_196, "."> extends infer T_336 ? T_336 extends PrefixWith, K_196, "."> ? T_336 extends SplitAC ? "value" : "default" : never : never] extends infer T_338 ? T_338 extends T_337[PrefixWith, K_196, "."> extends infer T_336 ? T_336 extends PrefixWith, K_196, "."> ? T_336 extends SplitAC ? "value" : "default" : never : never] ? T_338 extends CanBeExpanded ? any : T_338 extends (infer U)[] ? any[] : T_338 extends object ? { [K_197 in keyof T_338]-?: T_338[K_197] extends infer T_339 ? T_339 extends T_338[K_197] ? T_339 extends CanBeExpanded ? T_339["default"] : T_339 : never : never; } : T_338 : never : never : T_337 extends (infer U)[] ? any[] : T_337 extends object ? { [K_198 in keyof T_337]-?: T_337[K_198] extends infer T_340 ? T_340 extends T_337[K_198] ? T_340 extends CanBeExpanded ? T_340["default"] : T_340 : never : never; } : T_337 : never : never : T_335 extends (infer U)[] ? any[] : T_335 extends object ? { [K_199 in keyof T_335]-?: T_335[K_199] extends infer T_341 ? T_341 extends T_335[K_199] ? T_341 extends CanBeExpanded ? T_341["default"] : T_341 : never : never; } : T_335 : never : never; } : T_324 : never : never : T_322 extends (infer U)[] ? any[] : T_322 extends object ? { [K_200 in keyof T_322]-?: T_322[K_200] extends infer T_342 ? T_342 extends T_322[K_200] ? T_342 extends CanBeExpanded ? T_342[PrefixWith, K_200, "."> extends infer T_343 ? T_343 extends PrefixWith, K_200, "."> ? T_343 extends SplitAC ? "value" : "default" : never : never] extends infer T_344 ? T_344 extends T_342[PrefixWith, K_200, "."> extends infer T_343 ? T_343 extends PrefixWith, K_200, "."> ? T_343 extends SplitAC ? "value" : "default" : never : never] ? T_344 extends CanBeExpanded ? T_344[PrefixWith, K_200, "."> extends infer T_343 ? T_343 extends PrefixWith, K_200, "."> ? T_343 extends SplitAC ? "value" : "default" : never : never] extends infer T_345 ? T_345 extends T_344[PrefixWith, K_200, "."> extends infer T_343 ? T_343 extends PrefixWith, K_200, "."> ? T_343 extends SplitAC ? "value" : "default" : never : never] ? T_345 extends CanBeExpanded ? T_345[PrefixWith, K_200, "."> extends infer T_343 ? T_343 extends PrefixWith, K_200, "."> ? T_343 extends SplitAC ? "value" : "default" : never : never] extends infer T_346 ? T_346 extends T_345[PrefixWith, K_200, "."> extends infer T_343 ? T_343 extends PrefixWith, K_200, "."> ? T_343 extends SplitAC ? "value" : "default" : never : never] ? T_346 extends CanBeExpanded ? any : T_346 extends (infer U)[] ? any[] : T_346 extends object ? { [K_201 in keyof T_346]-?: T_346[K_201] extends infer T_347 ? T_347 extends T_346[K_201] ? T_347 extends CanBeExpanded ? T_347["default"] : T_347 : never : never; } : T_346 : never : never : T_345 extends (infer U)[] ? any[] : T_345 extends object ? { [K_202 in keyof T_345]-?: T_345[K_202] extends infer T_348 ? T_348 extends T_345[K_202] ? T_348 extends CanBeExpanded ? T_348["default"] : T_348 : never : never; } : T_345 : never : never : T_344 extends (infer U)[] ? any[] : T_344 extends object ? { [K_203 in keyof T_344]-?: T_344[K_203] extends infer T_349 ? T_349 extends T_344[K_203] ? T_349 extends CanBeExpanded ? T_349["default"] : T_349 : never : never; } : T_344 : never : never : T_342 extends (infer U)[] ? any[] : T_342 extends object ? { [K_204 in keyof T_342]-?: T_342[K_204] extends infer T_350 ? T_350 extends T_342[K_204] ? T_350 extends CanBeExpanded ? T_350["default"] : T_350 : never : never; } : T_342 : never : never; } : T_322 : never : never; } : T_280 : never : never : T_279 extends (infer U)[] ? any[] : T_279 extends object ? { [K_205 in keyof T_279]-?: T_279[K_205] extends infer T_351 ? T_351 extends T_279[K_205] ? T_351 extends CanBeExpanded ? T_351[PrefixWith<`${string & K_163}`, K_205, "."> extends infer T_352 ? T_352 extends PrefixWith<`${string & K_163}`, K_205, "."> ? T_352 extends SplitAC ? "value" : "default" : never : never] extends infer T_353 ? T_353 extends T_351[PrefixWith<`${string & K_163}`, K_205, "."> extends infer T_352 ? T_352 extends PrefixWith<`${string & K_163}`, K_205, "."> ? T_352 extends SplitAC ? "value" : "default" : never : never] ? T_353 extends CanBeExpanded ? T_353[PrefixWith<`${string & K_163}`, K_205, "."> extends infer T_352 ? T_352 extends PrefixWith<`${string & K_163}`, K_205, "."> ? T_352 extends SplitAC ? "value" : "default" : never : never] extends infer T_354 ? T_354 extends T_353[PrefixWith<`${string & K_163}`, K_205, "."> extends infer T_352 ? T_352 extends PrefixWith<`${string & K_163}`, K_205, "."> ? T_352 extends SplitAC ? "value" : "default" : never : never] ? T_354 extends CanBeExpanded ? T_354[PrefixWith<`${string & K_163}`, K_205, "."> extends infer T_352 ? T_352 extends PrefixWith<`${string & K_163}`, K_205, "."> ? T_352 extends SplitAC ? "value" : "default" : never : never] extends infer T_355 ? T_355 extends T_354[PrefixWith<`${string & K_163}`, K_205, "."> extends infer T_352 ? T_352 extends PrefixWith<`${string & K_163}`, K_205, "."> ? T_352 extends SplitAC ? "value" : "default" : never : never] ? T_355 extends CanBeExpanded ? T_355[PrefixWith<`${string & K_163}`, K_205, "."> extends infer T_352 ? T_352 extends PrefixWith<`${string & K_163}`, K_205, "."> ? T_352 extends SplitAC ? "value" : "default" : never : never] extends infer T_356 ? T_356 extends T_355[PrefixWith<`${string & K_163}`, K_205, "."> extends infer T_352 ? T_352 extends PrefixWith<`${string & K_163}`, K_205, "."> ? T_352 extends SplitAC ? "value" : "default" : never : never] ? T_356 extends CanBeExpanded ? T_356[PrefixWith<`${string & K_163}`, K_205, "."> extends infer T_352 ? T_352 extends PrefixWith<`${string & K_163}`, K_205, "."> ? T_352 extends SplitAC ? "value" : "default" : never : never] extends infer T_357 ? T_357 extends T_356[PrefixWith<`${string & K_163}`, K_205, "."> extends infer T_352 ? T_352 extends PrefixWith<`${string & K_163}`, K_205, "."> ? T_352 extends SplitAC ? "value" : "default" : never : never] ? T_357 extends CanBeExpanded ? any : T_357 extends (infer U)[] ? any[] : T_357 extends object ? { [K_206 in keyof T_357]-?: any; } : T_357 : never : never : T_356 extends (infer U)[] ? any[] : T_356 extends object ? { [K_207 in keyof T_356]-?: T_356[K_207] extends infer T_358 ? T_358 extends T_356[K_207] ? T_358 extends CanBeExpanded ? any : T_358 extends (infer U)[] ? any[] : T_358 extends object ? { [K_208 in keyof T_358]-?: T_358[K_208] extends infer T_359 ? T_359 extends T_358[K_208] ? T_359 extends CanBeExpanded ? T_359["default"] : T_359 : never : never; } : T_358 : never : never; } : T_356 : never : never : T_355 extends (infer U)[] ? any[] : T_355 extends object ? { [K_209 in keyof T_355]-?: T_355[K_209] extends infer T_360 ? T_360 extends T_355[K_209] ? T_360 extends CanBeExpanded ? T_360[PrefixWith, K_209, "."> extends infer T_361 ? T_361 extends PrefixWith, K_209, "."> ? T_361 extends SplitAC ? "value" : "default" : never : never] extends infer T_362 ? T_362 extends T_360[PrefixWith, K_209, "."> extends infer T_361 ? T_361 extends PrefixWith, K_209, "."> ? T_361 extends SplitAC ? "value" : "default" : never : never] ? T_362 extends CanBeExpanded ? any : T_362 extends (infer U)[] ? any[] : T_362 extends object ? { [K_210 in keyof T_362]-?: T_362[K_210] extends infer T_363 ? T_363 extends T_362[K_210] ? T_363 extends CanBeExpanded ? T_363["default"] : T_363 : never : never; } : T_362 : never : never : T_360 extends (infer U)[] ? any[] : T_360 extends object ? { [K_211 in keyof T_360]-?: T_360[K_211] extends infer T_364 ? T_364 extends T_360[K_211] ? T_364 extends CanBeExpanded ? T_364["default"] : T_364 : never : never; } : T_360 : never : never; } : T_355 : never : never : T_354 extends (infer U)[] ? any[] : T_354 extends object ? { [K_212 in keyof T_354]-?: T_354[K_212] extends infer T_365 ? T_365 extends T_354[K_212] ? T_365 extends CanBeExpanded ? T_365[PrefixWith, K_212, "."> extends infer T_366 ? T_366 extends PrefixWith, K_212, "."> ? T_366 extends SplitAC ? "value" : "default" : never : never] extends infer T_367 ? T_367 extends T_365[PrefixWith, K_212, "."> extends infer T_366 ? T_366 extends PrefixWith, K_212, "."> ? T_366 extends SplitAC ? "value" : "default" : never : never] ? T_367 extends CanBeExpanded ? T_367[PrefixWith, K_212, "."> extends infer T_366 ? T_366 extends PrefixWith, K_212, "."> ? T_366 extends SplitAC ? "value" : "default" : never : never] extends infer T_368 ? T_368 extends T_367[PrefixWith, K_212, "."> extends infer T_366 ? T_366 extends PrefixWith, K_212, "."> ? T_366 extends SplitAC ? "value" : "default" : never : never] ? T_368 extends CanBeExpanded ? any : T_368 extends (infer U)[] ? any[] : T_368 extends object ? { [K_213 in keyof T_368]-?: T_368[K_213] extends infer T_369 ? T_369 extends T_368[K_213] ? T_369 extends CanBeExpanded ? T_369["default"] : T_369 : never : never; } : T_368 : never : never : T_367 extends (infer U)[] ? any[] : T_367 extends object ? { [K_214 in keyof T_367]-?: T_367[K_214] extends infer T_370 ? T_370 extends T_367[K_214] ? T_370 extends CanBeExpanded ? T_370["default"] : T_370 : never : never; } : T_367 : never : never : T_365 extends (infer U)[] ? any[] : T_365 extends object ? { [K_215 in keyof T_365]-?: T_365[K_215] extends infer T_371 ? T_371 extends T_365[K_215] ? T_371 extends CanBeExpanded ? T_371["default"] : T_371 : never : never; } : T_365 : never : never; } : T_354 : never : never : T_353 extends (infer U)[] ? any[] : T_353 extends object ? { [K_216 in keyof T_353]-?: T_353[K_216] extends infer T_372 ? T_372 extends T_353[K_216] ? T_372 extends CanBeExpanded ? T_372[PrefixWith, K_216, "."> extends infer T_373 ? T_373 extends PrefixWith, K_216, "."> ? T_373 extends SplitAC ? "value" : "default" : never : never] extends infer T_374 ? T_374 extends T_372[PrefixWith, K_216, "."> extends infer T_373 ? T_373 extends PrefixWith, K_216, "."> ? T_373 extends SplitAC ? "value" : "default" : never : never] ? T_374 extends CanBeExpanded ? T_374[PrefixWith, K_216, "."> extends infer T_373 ? T_373 extends PrefixWith, K_216, "."> ? T_373 extends SplitAC ? "value" : "default" : never : never] extends infer T_375 ? T_375 extends T_374[PrefixWith, K_216, "."> extends infer T_373 ? T_373 extends PrefixWith, K_216, "."> ? T_373 extends SplitAC ? "value" : "default" : never : never] ? T_375 extends CanBeExpanded ? T_375[PrefixWith, K_216, "."> extends infer T_373 ? T_373 extends PrefixWith, K_216, "."> ? T_373 extends SplitAC ? "value" : "default" : never : never] extends infer T_376 ? T_376 extends T_375[PrefixWith, K_216, "."> extends infer T_373 ? T_373 extends PrefixWith, K_216, "."> ? T_373 extends SplitAC ? "value" : "default" : never : never] ? T_376 extends CanBeExpanded ? any : T_376 extends (infer U)[] ? any[] : T_376 extends object ? { [K_217 in keyof T_376]-?: T_376[K_217] extends infer T_377 ? T_377 extends T_376[K_217] ? T_377 extends CanBeExpanded ? T_377["default"] : T_377 : never : never; } : T_376 : never : never : T_375 extends (infer U)[] ? any[] : T_375 extends object ? { [K_218 in keyof T_375]-?: T_375[K_218] extends infer T_378 ? T_378 extends T_375[K_218] ? T_378 extends CanBeExpanded ? T_378["default"] : T_378 : never : never; } : T_375 : never : never : T_374 extends (infer U)[] ? any[] : T_374 extends object ? { [K_219 in keyof T_374]-?: T_374[K_219] extends infer T_379 ? T_379 extends T_374[K_219] ? T_379 extends CanBeExpanded ? T_379["default"] : T_379 : never : never; } : T_374 : never : never : T_372 extends (infer U)[] ? any[] : T_372 extends object ? { [K_220 in keyof T_372]-?: T_372[K_220] extends infer T_380 ? T_380 extends T_372[K_220] ? T_380 extends CanBeExpanded ? T_380["default"] : T_380 : never : never; } : T_372 : never : never; } : T_353 : never : never : T_351 extends (infer U)[] ? any[] : T_351 extends object ? { [K_221 in keyof T_351]-?: T_351[K_221] extends infer T_381 ? T_381 extends T_351[K_221] ? T_381 extends CanBeExpanded ? T_381[PrefixWith, K_221, "."> extends infer T_382 ? T_382 extends PrefixWith, K_221, "."> ? T_382 extends SplitAC ? "value" : "default" : never : never] extends infer T_383 ? T_383 extends T_381[PrefixWith, K_221, "."> extends infer T_382 ? T_382 extends PrefixWith, K_221, "."> ? T_382 extends SplitAC ? "value" : "default" : never : never] ? T_383 extends CanBeExpanded ? T_383[PrefixWith, K_221, "."> extends infer T_382 ? T_382 extends PrefixWith, K_221, "."> ? T_382 extends SplitAC ? "value" : "default" : never : never] extends infer T_384 ? T_384 extends T_383[PrefixWith, K_221, "."> extends infer T_382 ? T_382 extends PrefixWith, K_221, "."> ? T_382 extends SplitAC ? "value" : "default" : never : never] ? T_384 extends CanBeExpanded ? T_384[PrefixWith, K_221, "."> extends infer T_382 ? T_382 extends PrefixWith, K_221, "."> ? T_382 extends SplitAC ? "value" : "default" : never : never] extends infer T_385 ? T_385 extends T_384[PrefixWith, K_221, "."> extends infer T_382 ? T_382 extends PrefixWith, K_221, "."> ? T_382 extends SplitAC ? "value" : "default" : never : never] ? T_385 extends CanBeExpanded ? T_385[PrefixWith, K_221, "."> extends infer T_382 ? T_382 extends PrefixWith, K_221, "."> ? T_382 extends SplitAC ? "value" : "default" : never : never] extends infer T_386 ? T_386 extends T_385[PrefixWith, K_221, "."> extends infer T_382 ? T_382 extends PrefixWith, K_221, "."> ? T_382 extends SplitAC ? "value" : "default" : never : never] ? T_386 extends CanBeExpanded ? any : T_386 extends (infer U)[] ? any[] : T_386 extends object ? { [K_222 in keyof T_386]-?: T_386[K_222] extends infer T_387 ? T_387 extends T_386[K_222] ? T_387 extends CanBeExpanded ? T_387["default"] : T_387 : never : never; } : T_386 : never : never : T_385 extends (infer U)[] ? any[] : T_385 extends object ? { [K_223 in keyof T_385]-?: T_385[K_223] extends infer T_388 ? T_388 extends T_385[K_223] ? T_388 extends CanBeExpanded ? T_388["default"] : T_388 : never : never; } : T_385 : never : never : T_384 extends (infer U)[] ? any[] : T_384 extends object ? { [K_224 in keyof T_384]-?: T_384[K_224] extends infer T_389 ? T_389 extends T_384[K_224] ? T_389 extends CanBeExpanded ? T_389["default"] : T_389 : never : never; } : T_384 : never : never : T_383 extends (infer U)[] ? any[] : T_383 extends object ? { [K_225 in keyof T_383]-?: T_383[K_225] extends infer T_390 ? T_390 extends T_383[K_225] ? T_390 extends CanBeExpanded ? T_390["default"] : T_390 : never : never; } : T_383 : never : never : T_381 extends (infer U)[] ? any[] : T_381 extends object ? { [K_226 in keyof T_381]-?: T_381[K_226] extends infer T_391 ? T_391 extends T_381[K_226] ? T_391 extends CanBeExpanded ? T_391["default"] : T_391 : never : never; } : T_381 : never : never; } : T_351 : never : never; } : T_279 : never : never : T_277 extends (infer U)[] ? any[] : T_277 extends object ? { [K_227 in keyof T_277]-?: T_277[K_227] extends infer T_392 ? T_392 extends T_277[K_227] ? T_392 extends CanBeExpanded ? T_392[PrefixWith<`${string & K_163}`, K_227, "."> extends infer T_393 ? T_393 extends PrefixWith<`${string & K_163}`, K_227, "."> ? T_393 extends SplitAC ? "value" : "default" : never : never] extends infer T_394 ? T_394 extends T_392[PrefixWith<`${string & K_163}`, K_227, "."> extends infer T_393 ? T_393 extends PrefixWith<`${string & K_163}`, K_227, "."> ? T_393 extends SplitAC ? "value" : "default" : never : never] ? T_394 extends CanBeExpanded ? T_394[PrefixWith<`${string & K_163}`, K_227, "."> extends infer T_393 ? T_393 extends PrefixWith<`${string & K_163}`, K_227, "."> ? T_393 extends SplitAC ? "value" : "default" : never : never] extends infer T_395 ? T_395 extends T_394[PrefixWith<`${string & K_163}`, K_227, "."> extends infer T_393 ? T_393 extends PrefixWith<`${string & K_163}`, K_227, "."> ? T_393 extends SplitAC ? "value" : "default" : never : never] ? T_395 extends CanBeExpanded ? T_395[PrefixWith<`${string & K_163}`, K_227, "."> extends infer T_393 ? T_393 extends PrefixWith<`${string & K_163}`, K_227, "."> ? T_393 extends SplitAC ? "value" : "default" : never : never] extends infer T_396 ? T_396 extends T_395[PrefixWith<`${string & K_163}`, K_227, "."> extends infer T_393 ? T_393 extends PrefixWith<`${string & K_163}`, K_227, "."> ? T_393 extends SplitAC ? "value" : "default" : never : never] ? T_396 extends CanBeExpanded ? T_396[PrefixWith<`${string & K_163}`, K_227, "."> extends infer T_393 ? T_393 extends PrefixWith<`${string & K_163}`, K_227, "."> ? T_393 extends SplitAC ? "value" : "default" : never : never] extends infer T_397 ? T_397 extends T_396[PrefixWith<`${string & K_163}`, K_227, "."> extends infer T_393 ? T_393 extends PrefixWith<`${string & K_163}`, K_227, "."> ? T_393 extends SplitAC ? "value" : "default" : never : never] ? T_397 extends CanBeExpanded ? T_397[PrefixWith<`${string & K_163}`, K_227, "."> extends infer T_393 ? T_393 extends PrefixWith<`${string & K_163}`, K_227, "."> ? T_393 extends SplitAC ? "value" : "default" : never : never] extends infer T_398 ? T_398 extends T_397[PrefixWith<`${string & K_163}`, K_227, "."> extends infer T_393 ? T_393 extends PrefixWith<`${string & K_163}`, K_227, "."> ? T_393 extends SplitAC ? "value" : "default" : never : never] ? T_398 extends CanBeExpanded ? T_398[PrefixWith<`${string & K_163}`, K_227, "."> extends infer T_393 ? T_393 extends PrefixWith<`${string & K_163}`, K_227, "."> ? T_393 extends SplitAC ? "value" : "default" : never : never] extends infer T_399 ? T_399 extends T_398[PrefixWith<`${string & K_163}`, K_227, "."> extends infer T_393 ? T_393 extends PrefixWith<`${string & K_163}`, K_227, "."> ? T_393 extends SplitAC ? "value" : "default" : never : never] ? T_399 extends CanBeExpanded ? any : T_399 extends (infer U)[] ? any[] : T_399 extends object ? { [K_228 in keyof T_399]-?: any; } : T_399 : never : never : T_398 extends (infer U)[] ? any[] : T_398 extends object ? { [K_229 in keyof T_398]-?: T_398[K_229] extends infer T_400 ? T_400 extends T_398[K_229] ? T_400 extends CanBeExpanded ? any : T_400 extends (infer U)[] ? any[] : T_400 extends object ? { [K_230 in keyof T_400]-?: T_400[K_230] extends infer T_401 ? T_401 extends T_400[K_230] ? T_401 extends CanBeExpanded ? T_401["default"] : T_401 : never : never; } : T_400 : never : never; } : T_398 : never : never : T_397 extends (infer U)[] ? any[] : T_397 extends object ? { [K_231 in keyof T_397]-?: T_397[K_231] extends infer T_402 ? T_402 extends T_397[K_231] ? T_402 extends CanBeExpanded ? T_402[PrefixWith, K_231, "."> extends infer T_403 ? T_403 extends PrefixWith, K_231, "."> ? T_403 extends SplitAC ? "value" : "default" : never : never] extends infer T_404 ? T_404 extends T_402[PrefixWith, K_231, "."> extends infer T_403 ? T_403 extends PrefixWith, K_231, "."> ? T_403 extends SplitAC ? "value" : "default" : never : never] ? T_404 extends CanBeExpanded ? any : T_404 extends (infer U)[] ? any[] : T_404 extends object ? { [K_232 in keyof T_404]-?: T_404[K_232] extends infer T_405 ? T_405 extends T_404[K_232] ? T_405 extends CanBeExpanded ? T_405["default"] : T_405 : never : never; } : T_404 : never : never : T_402 extends (infer U)[] ? any[] : T_402 extends object ? { [K_233 in keyof T_402]-?: T_402[K_233] extends infer T_406 ? T_406 extends T_402[K_233] ? T_406 extends CanBeExpanded ? T_406["default"] : T_406 : never : never; } : T_402 : never : never; } : T_397 : never : never : T_396 extends (infer U)[] ? any[] : T_396 extends object ? { [K_234 in keyof T_396]-?: T_396[K_234] extends infer T_407 ? T_407 extends T_396[K_234] ? T_407 extends CanBeExpanded ? T_407[PrefixWith, K_234, "."> extends infer T_408 ? T_408 extends PrefixWith, K_234, "."> ? T_408 extends SplitAC ? "value" : "default" : never : never] extends infer T_409 ? T_409 extends T_407[PrefixWith, K_234, "."> extends infer T_408 ? T_408 extends PrefixWith, K_234, "."> ? T_408 extends SplitAC ? "value" : "default" : never : never] ? T_409 extends CanBeExpanded ? T_409[PrefixWith, K_234, "."> extends infer T_408 ? T_408 extends PrefixWith, K_234, "."> ? T_408 extends SplitAC ? "value" : "default" : never : never] extends infer T_410 ? T_410 extends T_409[PrefixWith, K_234, "."> extends infer T_408 ? T_408 extends PrefixWith, K_234, "."> ? T_408 extends SplitAC ? "value" : "default" : never : never] ? T_410 extends CanBeExpanded ? any : T_410 extends (infer U)[] ? any[] : T_410 extends object ? { [K_235 in keyof T_410]-?: T_410[K_235] extends infer T_411 ? T_411 extends T_410[K_235] ? T_411 extends CanBeExpanded ? T_411["default"] : T_411 : never : never; } : T_410 : never : never : T_409 extends (infer U)[] ? any[] : T_409 extends object ? { [K_236 in keyof T_409]-?: T_409[K_236] extends infer T_412 ? T_412 extends T_409[K_236] ? T_412 extends CanBeExpanded ? T_412["default"] : T_412 : never : never; } : T_409 : never : never : T_407 extends (infer U)[] ? any[] : T_407 extends object ? { [K_237 in keyof T_407]-?: T_407[K_237] extends infer T_413 ? T_413 extends T_407[K_237] ? T_413 extends CanBeExpanded ? T_413["default"] : T_413 : never : never; } : T_407 : never : never; } : T_396 : never : never : T_395 extends (infer U)[] ? any[] : T_395 extends object ? { [K_238 in keyof T_395]-?: T_395[K_238] extends infer T_414 ? T_414 extends T_395[K_238] ? T_414 extends CanBeExpanded ? T_414[PrefixWith, K_238, "."> extends infer T_415 ? T_415 extends PrefixWith, K_238, "."> ? T_415 extends SplitAC ? "value" : "default" : never : never] extends infer T_416 ? T_416 extends T_414[PrefixWith, K_238, "."> extends infer T_415 ? T_415 extends PrefixWith, K_238, "."> ? T_415 extends SplitAC ? "value" : "default" : never : never] ? T_416 extends CanBeExpanded ? T_416[PrefixWith, K_238, "."> extends infer T_415 ? T_415 extends PrefixWith, K_238, "."> ? T_415 extends SplitAC ? "value" : "default" : never : never] extends infer T_417 ? T_417 extends T_416[PrefixWith, K_238, "."> extends infer T_415 ? T_415 extends PrefixWith, K_238, "."> ? T_415 extends SplitAC ? "value" : "default" : never : never] ? T_417 extends CanBeExpanded ? T_417[PrefixWith, K_238, "."> extends infer T_415 ? T_415 extends PrefixWith, K_238, "."> ? T_415 extends SplitAC ? "value" : "default" : never : never] extends infer T_418 ? T_418 extends T_417[PrefixWith, K_238, "."> extends infer T_415 ? T_415 extends PrefixWith, K_238, "."> ? T_415 extends SplitAC ? "value" : "default" : never : never] ? T_418 extends CanBeExpanded ? any : T_418 extends (infer U)[] ? any[] : T_418 extends object ? { [K_239 in keyof T_418]-?: T_418[K_239] extends infer T_419 ? T_419 extends T_418[K_239] ? T_419 extends CanBeExpanded ? T_419["default"] : T_419 : never : never; } : T_418 : never : never : T_417 extends (infer U)[] ? any[] : T_417 extends object ? { [K_240 in keyof T_417]-?: T_417[K_240] extends infer T_420 ? T_420 extends T_417[K_240] ? T_420 extends CanBeExpanded ? T_420["default"] : T_420 : never : never; } : T_417 : never : never : T_416 extends (infer U)[] ? any[] : T_416 extends object ? { [K_241 in keyof T_416]-?: T_416[K_241] extends infer T_421 ? T_421 extends T_416[K_241] ? T_421 extends CanBeExpanded ? T_421["default"] : T_421 : never : never; } : T_416 : never : never : T_414 extends (infer U)[] ? any[] : T_414 extends object ? { [K_242 in keyof T_414]-?: T_414[K_242] extends infer T_422 ? T_422 extends T_414[K_242] ? T_422 extends CanBeExpanded ? T_422["default"] : T_422 : never : never; } : T_414 : never : never; } : T_395 : never : never : T_394 extends (infer U)[] ? any[] : T_394 extends object ? { [K_243 in keyof T_394]-?: T_394[K_243] extends infer T_423 ? T_423 extends T_394[K_243] ? T_423 extends CanBeExpanded ? T_423[PrefixWith, K_243, "."> extends infer T_424 ? T_424 extends PrefixWith, K_243, "."> ? T_424 extends SplitAC ? "value" : "default" : never : never] extends infer T_425 ? T_425 extends T_423[PrefixWith, K_243, "."> extends infer T_424 ? T_424 extends PrefixWith, K_243, "."> ? T_424 extends SplitAC ? "value" : "default" : never : never] ? T_425 extends CanBeExpanded ? T_425[PrefixWith, K_243, "."> extends infer T_424 ? T_424 extends PrefixWith, K_243, "."> ? T_424 extends SplitAC ? "value" : "default" : never : never] extends infer T_426 ? T_426 extends T_425[PrefixWith, K_243, "."> extends infer T_424 ? T_424 extends PrefixWith, K_243, "."> ? T_424 extends SplitAC ? "value" : "default" : never : never] ? T_426 extends CanBeExpanded ? T_426[PrefixWith, K_243, "."> extends infer T_424 ? T_424 extends PrefixWith, K_243, "."> ? T_424 extends SplitAC ? "value" : "default" : never : never] extends infer T_427 ? T_427 extends T_426[PrefixWith, K_243, "."> extends infer T_424 ? T_424 extends PrefixWith, K_243, "."> ? T_424 extends SplitAC ? "value" : "default" : never : never] ? T_427 extends CanBeExpanded ? T_427[PrefixWith, K_243, "."> extends infer T_424 ? T_424 extends PrefixWith, K_243, "."> ? T_424 extends SplitAC ? "value" : "default" : never : never] extends infer T_428 ? T_428 extends T_427[PrefixWith, K_243, "."> extends infer T_424 ? T_424 extends PrefixWith, K_243, "."> ? T_424 extends SplitAC ? "value" : "default" : never : never] ? T_428 extends CanBeExpanded ? any : T_428 extends (infer U)[] ? any[] : T_428 extends object ? { [K_244 in keyof T_428]-?: T_428[K_244] extends infer T_429 ? T_429 extends T_428[K_244] ? T_429 extends CanBeExpanded ? T_429["default"] : T_429 : never : never; } : T_428 : never : never : T_427 extends (infer U)[] ? any[] : T_427 extends object ? { [K_245 in keyof T_427]-?: T_427[K_245] extends infer T_430 ? T_430 extends T_427[K_245] ? T_430 extends CanBeExpanded ? T_430["default"] : T_430 : never : never; } : T_427 : never : never : T_426 extends (infer U)[] ? any[] : T_426 extends object ? { [K_246 in keyof T_426]-?: T_426[K_246] extends infer T_431 ? T_431 extends T_426[K_246] ? T_431 extends CanBeExpanded ? T_431["default"] : T_431 : never : never; } : T_426 : never : never : T_425 extends (infer U)[] ? any[] : T_425 extends object ? { [K_247 in keyof T_425]-?: T_425[K_247] extends infer T_432 ? T_432 extends T_425[K_247] ? T_432 extends CanBeExpanded ? T_432["default"] : T_432 : never : never; } : T_425 : never : never : T_423 extends (infer U)[] ? any[] : T_423 extends object ? { [K_248 in keyof T_423]-?: T_423[K_248] extends infer T_433 ? T_433 extends T_423[K_248] ? T_433 extends CanBeExpanded ? T_433["default"] : T_433 : never : never; } : T_423 : never : never; } : T_394 : never : never : T_392 extends (infer U)[] ? any[] : T_392 extends object ? { [K_249 in keyof T_392]-?: T_392[K_249] extends infer T_434 ? T_434 extends T_392[K_249] ? T_434 extends CanBeExpanded ? T_434[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] extends infer T_436 ? T_436 extends T_434[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] ? T_436 extends CanBeExpanded ? T_436[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] extends infer T_437 ? T_437 extends T_436[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] ? T_437 extends CanBeExpanded ? T_437[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] extends infer T_438 ? T_438 extends T_437[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] ? T_438 extends CanBeExpanded ? T_438[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] extends infer T_439 ? T_439 extends T_438[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] ? T_439 extends CanBeExpanded ? T_439[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] extends infer T_440 ? T_440 extends T_439[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] ? T_440 extends CanBeExpanded ? any : T_440 extends (infer U)[] ? any[] : T_440 extends object ? { [K_250 in keyof T_440]-?: T_440[K_250] extends infer T_441 ? T_441 extends T_440[K_250] ? T_441 extends CanBeExpanded ? T_441["default"] : T_441 : never : never; } : T_440 : never : never : T_439 extends (infer U)[] ? any[] : T_439 extends object ? { [K_251 in keyof T_439]-?: T_439[K_251] extends infer T_442 ? T_442 extends T_439[K_251] ? T_442 extends CanBeExpanded ? T_442["default"] : T_442 : never : never; } : T_439 : never : never : T_438 extends (infer U)[] ? any[] : T_438 extends object ? { [K_252 in keyof T_438]-?: T_438[K_252] extends infer T_443 ? T_443 extends T_438[K_252] ? T_443 extends CanBeExpanded ? T_443["default"] : T_443 : never : never; } : T_438 : never : never : T_437 extends (infer U)[] ? any[] : T_437 extends object ? { [K_253 in keyof T_437]-?: T_437[K_253] extends infer T_444 ? T_444 extends T_437[K_253] ? T_444 extends CanBeExpanded ? T_444["default"] : T_444 : never : never; } : T_437 : never : never : T_436 extends (infer U)[] ? any[] : T_436 extends object ? { [K_254 in keyof T_436]-?: T_436[K_254] extends infer T_445 ? T_445 extends T_436[K_254] ? T_445 extends CanBeExpanded ? T_445["default"] : T_445 : never : never; } : T_436 : never : never : T_434 extends (infer U)[] ? any[] : T_434 extends object ? { [K_255 in keyof T_434]-?: T_434[K_255] extends infer T_446 ? T_446 extends T_434[K_255] ? T_446 extends CanBeExpanded ? T_446["default"] : T_446 : never : never; } : T_434 : never : never; } : T_392 : never : never; } : T_277 : never : never; } : T_3 : never : never : T_2 extends (infer U)[] ? any[] : T_2 extends object ? { [K_256 in keyof T_2]-?: T_2[K_256] extends infer T_447 ? T_447 extends T_2[K_256] ? T_447 extends CanBeExpanded ? T_447[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] extends infer T_449 ? T_449 extends T_447[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] ? T_449 extends CanBeExpanded ? T_449[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] extends infer T_450 ? T_450 extends T_449[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] ? T_450 extends CanBeExpanded ? T_450[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] extends infer T_451 ? T_451 extends T_450[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] ? T_451 extends CanBeExpanded ? T_451[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] extends infer T_452 ? T_452 extends T_451[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] ? T_452 extends CanBeExpanded ? T_452[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] extends infer T_453 ? T_453 extends T_452[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] ? T_453 extends CanBeExpanded ? T_453[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] extends infer T_454 ? T_454 extends T_453[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] ? T_454 extends CanBeExpanded ? T_454[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] extends infer T_455 ? T_455 extends T_454[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] ? T_455 extends CanBeExpanded ? T_455[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] extends infer T_456 ? T_456 extends T_455[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] ? T_456 extends CanBeExpanded ? any : T_456 extends (infer U)[] ? any[] : T_456 extends object ? { [K_257 in keyof T_456]-?: any; } : T_456 : never : never : T_455 extends (infer U)[] ? any[] : T_455 extends object ? { [K_258 in keyof T_455]-?: T_455[K_258] extends infer T_457 ? T_457 extends T_455[K_258] ? T_457 extends CanBeExpanded ? any : T_457 extends (infer U)[] ? any[] : T_457 extends object ? { [K_259 in keyof T_457]-?: any; } : T_457 : never : never; } : T_455 : never : never : T_454 extends (infer U)[] ? any[] : T_454 extends object ? { [K_260 in keyof T_454]-?: T_454[K_260] extends infer T_458 ? T_458 extends T_454[K_260] ? T_458 extends CanBeExpanded ? T_458[PrefixWith<`${string & K_256}`, K_260, "."> extends infer T_459 ? T_459 extends PrefixWith<`${string & K_256}`, K_260, "."> ? T_459 extends SplitAC ? "value" : "default" : never : never] extends infer T_460 ? T_460 extends T_458[PrefixWith<`${string & K_256}`, K_260, "."> extends infer T_459 ? T_459 extends PrefixWith<`${string & K_256}`, K_260, "."> ? T_459 extends SplitAC ? "value" : "default" : never : never] ? T_460 extends CanBeExpanded ? any : T_460 extends (infer U)[] ? any[] : T_460 extends object ? { [K_261 in keyof T_460]-?: any; } : T_460 : never : never : T_458 extends (infer U)[] ? any[] : T_458 extends object ? { [K_262 in keyof T_458]-?: T_458[K_262] extends infer T_461 ? T_461 extends T_458[K_262] ? T_461 extends CanBeExpanded ? any : T_461 extends (infer U)[] ? any[] : T_461 extends object ? { [K_263 in keyof T_461]-?: T_461[K_263] extends infer T_462 ? T_462 extends T_461[K_263] ? T_462 extends CanBeExpanded ? T_462["default"] : T_462 : never : never; } : T_461 : never : never; } : T_458 : never : never; } : T_454 : never : never : T_453 extends (infer U)[] ? any[] : T_453 extends object ? { [K_264 in keyof T_453]-?: T_453[K_264] extends infer T_463 ? T_463 extends T_453[K_264] ? T_463 extends CanBeExpanded ? T_463[PrefixWith<`${string & K_256}`, K_264, "."> extends infer T_464 ? T_464 extends PrefixWith<`${string & K_256}`, K_264, "."> ? T_464 extends SplitAC ? "value" : "default" : never : never] extends infer T_465 ? T_465 extends T_463[PrefixWith<`${string & K_256}`, K_264, "."> extends infer T_464 ? T_464 extends PrefixWith<`${string & K_256}`, K_264, "."> ? T_464 extends SplitAC ? "value" : "default" : never : never] ? T_465 extends CanBeExpanded ? T_465[PrefixWith<`${string & K_256}`, K_264, "."> extends infer T_464 ? T_464 extends PrefixWith<`${string & K_256}`, K_264, "."> ? T_464 extends SplitAC ? "value" : "default" : never : never] extends infer T_466 ? T_466 extends T_465[PrefixWith<`${string & K_256}`, K_264, "."> extends infer T_464 ? T_464 extends PrefixWith<`${string & K_256}`, K_264, "."> ? T_464 extends SplitAC ? "value" : "default" : never : never] ? T_466 extends CanBeExpanded ? any : T_466 extends (infer U)[] ? any[] : T_466 extends object ? { [K_265 in keyof T_466]-?: any; } : T_466 : never : never : T_465 extends (infer U)[] ? any[] : T_465 extends object ? { [K_266 in keyof T_465]-?: T_465[K_266] extends infer T_467 ? T_467 extends T_465[K_266] ? T_467 extends CanBeExpanded ? any : T_467 extends (infer U)[] ? any[] : T_467 extends object ? { [K_267 in keyof T_467]-?: T_467[K_267] extends infer T_468 ? T_468 extends T_467[K_267] ? T_468 extends CanBeExpanded ? T_468["default"] : T_468 : never : never; } : T_467 : never : never; } : T_465 : never : never : T_463 extends (infer U)[] ? any[] : T_463 extends object ? { [K_268 in keyof T_463]-?: T_463[K_268] extends infer T_469 ? T_469 extends T_463[K_268] ? T_469 extends CanBeExpanded ? T_469[PrefixWith, K_268, "."> extends infer T_470 ? T_470 extends PrefixWith, K_268, "."> ? T_470 extends SplitAC ? "value" : "default" : never : never] extends infer T_471 ? T_471 extends T_469[PrefixWith, K_268, "."> extends infer T_470 ? T_470 extends PrefixWith, K_268, "."> ? T_470 extends SplitAC ? "value" : "default" : never : never] ? T_471 extends CanBeExpanded ? any : T_471 extends (infer U)[] ? any[] : T_471 extends object ? { [K_269 in keyof T_471]-?: T_471[K_269] extends infer T_472 ? T_472 extends T_471[K_269] ? T_472 extends CanBeExpanded ? T_472["default"] : T_472 : never : never; } : T_471 : never : never : T_469 extends (infer U)[] ? any[] : T_469 extends object ? { [K_270 in keyof T_469]-?: T_469[K_270] extends infer T_473 ? T_473 extends T_469[K_270] ? T_473 extends CanBeExpanded ? T_473["default"] : T_473 : never : never; } : T_469 : never : never; } : T_463 : never : never; } : T_453 : never : never : T_452 extends (infer U)[] ? any[] : T_452 extends object ? { [K_271 in keyof T_452]-?: T_452[K_271] extends infer T_474 ? T_474 extends T_452[K_271] ? T_474 extends CanBeExpanded ? T_474[PrefixWith<`${string & K_256}`, K_271, "."> extends infer T_475 ? T_475 extends PrefixWith<`${string & K_256}`, K_271, "."> ? T_475 extends SplitAC ? "value" : "default" : never : never] extends infer T_476 ? T_476 extends T_474[PrefixWith<`${string & K_256}`, K_271, "."> extends infer T_475 ? T_475 extends PrefixWith<`${string & K_256}`, K_271, "."> ? T_475 extends SplitAC ? "value" : "default" : never : never] ? T_476 extends CanBeExpanded ? T_476[PrefixWith<`${string & K_256}`, K_271, "."> extends infer T_475 ? T_475 extends PrefixWith<`${string & K_256}`, K_271, "."> ? T_475 extends SplitAC ? "value" : "default" : never : never] extends infer T_477 ? T_477 extends T_476[PrefixWith<`${string & K_256}`, K_271, "."> extends infer T_475 ? T_475 extends PrefixWith<`${string & K_256}`, K_271, "."> ? T_475 extends SplitAC ? "value" : "default" : never : never] ? T_477 extends CanBeExpanded ? T_477[PrefixWith<`${string & K_256}`, K_271, "."> extends infer T_475 ? T_475 extends PrefixWith<`${string & K_256}`, K_271, "."> ? T_475 extends SplitAC ? "value" : "default" : never : never] extends infer T_478 ? T_478 extends T_477[PrefixWith<`${string & K_256}`, K_271, "."> extends infer T_475 ? T_475 extends PrefixWith<`${string & K_256}`, K_271, "."> ? T_475 extends SplitAC ? "value" : "default" : never : never] ? T_478 extends CanBeExpanded ? any : T_478 extends (infer U)[] ? any[] : T_478 extends object ? { [K_272 in keyof T_478]-?: any; } : T_478 : never : never : T_477 extends (infer U)[] ? any[] : T_477 extends object ? { [K_273 in keyof T_477]-?: T_477[K_273] extends infer T_479 ? T_479 extends T_477[K_273] ? T_479 extends CanBeExpanded ? any : T_479 extends (infer U)[] ? any[] : T_479 extends object ? { [K_274 in keyof T_479]-?: T_479[K_274] extends infer T_480 ? T_480 extends T_479[K_274] ? T_480 extends CanBeExpanded ? T_480["default"] : T_480 : never : never; } : T_479 : never : never; } : T_477 : never : never : T_476 extends (infer U)[] ? any[] : T_476 extends object ? { [K_275 in keyof T_476]-?: T_476[K_275] extends infer T_481 ? T_481 extends T_476[K_275] ? T_481 extends CanBeExpanded ? T_481[PrefixWith, K_275, "."> extends infer T_482 ? T_482 extends PrefixWith, K_275, "."> ? T_482 extends SplitAC ? "value" : "default" : never : never] extends infer T_483 ? T_483 extends T_481[PrefixWith, K_275, "."> extends infer T_482 ? T_482 extends PrefixWith, K_275, "."> ? T_482 extends SplitAC ? "value" : "default" : never : never] ? T_483 extends CanBeExpanded ? any : T_483 extends (infer U)[] ? any[] : T_483 extends object ? { [K_276 in keyof T_483]-?: T_483[K_276] extends infer T_484 ? T_484 extends T_483[K_276] ? T_484 extends CanBeExpanded ? T_484["default"] : T_484 : never : never; } : T_483 : never : never : T_481 extends (infer U)[] ? any[] : T_481 extends object ? { [K_277 in keyof T_481]-?: T_481[K_277] extends infer T_485 ? T_485 extends T_481[K_277] ? T_485 extends CanBeExpanded ? T_485["default"] : T_485 : never : never; } : T_481 : never : never; } : T_476 : never : never : T_474 extends (infer U)[] ? any[] : T_474 extends object ? { [K_278 in keyof T_474]-?: T_474[K_278] extends infer T_486 ? T_486 extends T_474[K_278] ? T_486 extends CanBeExpanded ? T_486[PrefixWith, K_278, "."> extends infer T_487 ? T_487 extends PrefixWith, K_278, "."> ? T_487 extends SplitAC ? "value" : "default" : never : never] extends infer T_488 ? T_488 extends T_486[PrefixWith, K_278, "."> extends infer T_487 ? T_487 extends PrefixWith, K_278, "."> ? T_487 extends SplitAC ? "value" : "default" : never : never] ? T_488 extends CanBeExpanded ? T_488[PrefixWith, K_278, "."> extends infer T_487 ? T_487 extends PrefixWith, K_278, "."> ? T_487 extends SplitAC ? "value" : "default" : never : never] extends infer T_489 ? T_489 extends T_488[PrefixWith, K_278, "."> extends infer T_487 ? T_487 extends PrefixWith, K_278, "."> ? T_487 extends SplitAC ? "value" : "default" : never : never] ? T_489 extends CanBeExpanded ? any : T_489 extends (infer U)[] ? any[] : T_489 extends object ? { [K_279 in keyof T_489]-?: T_489[K_279] extends infer T_490 ? T_490 extends T_489[K_279] ? T_490 extends CanBeExpanded ? T_490["default"] : T_490 : never : never; } : T_489 : never : never : T_488 extends (infer U)[] ? any[] : T_488 extends object ? { [K_280 in keyof T_488]-?: T_488[K_280] extends infer T_491 ? T_491 extends T_488[K_280] ? T_491 extends CanBeExpanded ? T_491["default"] : T_491 : never : never; } : T_488 : never : never : T_486 extends (infer U)[] ? any[] : T_486 extends object ? { [K_281 in keyof T_486]-?: T_486[K_281] extends infer T_492 ? T_492 extends T_486[K_281] ? T_492 extends CanBeExpanded ? T_492["default"] : T_492 : never : never; } : T_486 : never : never; } : T_474 : never : never; } : T_452 : never : never : T_451 extends (infer U)[] ? any[] : T_451 extends object ? { [K_282 in keyof T_451]-?: T_451[K_282] extends infer T_493 ? T_493 extends T_451[K_282] ? T_493 extends CanBeExpanded ? T_493[PrefixWith<`${string & K_256}`, K_282, "."> extends infer T_494 ? T_494 extends PrefixWith<`${string & K_256}`, K_282, "."> ? T_494 extends SplitAC ? "value" : "default" : never : never] extends infer T_495 ? T_495 extends T_493[PrefixWith<`${string & K_256}`, K_282, "."> extends infer T_494 ? T_494 extends PrefixWith<`${string & K_256}`, K_282, "."> ? T_494 extends SplitAC ? "value" : "default" : never : never] ? T_495 extends CanBeExpanded ? T_495[PrefixWith<`${string & K_256}`, K_282, "."> extends infer T_494 ? T_494 extends PrefixWith<`${string & K_256}`, K_282, "."> ? T_494 extends SplitAC ? "value" : "default" : never : never] extends infer T_496 ? T_496 extends T_495[PrefixWith<`${string & K_256}`, K_282, "."> extends infer T_494 ? T_494 extends PrefixWith<`${string & K_256}`, K_282, "."> ? T_494 extends SplitAC ? "value" : "default" : never : never] ? T_496 extends CanBeExpanded ? T_496[PrefixWith<`${string & K_256}`, K_282, "."> extends infer T_494 ? T_494 extends PrefixWith<`${string & K_256}`, K_282, "."> ? T_494 extends SplitAC ? "value" : "default" : never : never] extends infer T_497 ? T_497 extends T_496[PrefixWith<`${string & K_256}`, K_282, "."> extends infer T_494 ? T_494 extends PrefixWith<`${string & K_256}`, K_282, "."> ? T_494 extends SplitAC ? "value" : "default" : never : never] ? T_497 extends CanBeExpanded ? T_497[PrefixWith<`${string & K_256}`, K_282, "."> extends infer T_494 ? T_494 extends PrefixWith<`${string & K_256}`, K_282, "."> ? T_494 extends SplitAC ? "value" : "default" : never : never] extends infer T_498 ? T_498 extends T_497[PrefixWith<`${string & K_256}`, K_282, "."> extends infer T_494 ? T_494 extends PrefixWith<`${string & K_256}`, K_282, "."> ? T_494 extends SplitAC ? "value" : "default" : never : never] ? T_498 extends CanBeExpanded ? any : T_498 extends (infer U)[] ? any[] : T_498 extends object ? { [K_283 in keyof T_498]-?: any; } : T_498 : never : never : T_497 extends (infer U)[] ? any[] : T_497 extends object ? { [K_284 in keyof T_497]-?: T_497[K_284] extends infer T_499 ? T_499 extends T_497[K_284] ? T_499 extends CanBeExpanded ? any : T_499 extends (infer U)[] ? any[] : T_499 extends object ? { [K_285 in keyof T_499]-?: T_499[K_285] extends infer T_500 ? T_500 extends T_499[K_285] ? T_500 extends CanBeExpanded ? T_500["default"] : T_500 : never : never; } : T_499 : never : never; } : T_497 : never : never : T_496 extends (infer U)[] ? any[] : T_496 extends object ? { [K_286 in keyof T_496]-?: T_496[K_286] extends infer T_501 ? T_501 extends T_496[K_286] ? T_501 extends CanBeExpanded ? T_501[PrefixWith, K_286, "."> extends infer T_502 ? T_502 extends PrefixWith, K_286, "."> ? T_502 extends SplitAC ? "value" : "default" : never : never] extends infer T_503 ? T_503 extends T_501[PrefixWith, K_286, "."> extends infer T_502 ? T_502 extends PrefixWith, K_286, "."> ? T_502 extends SplitAC ? "value" : "default" : never : never] ? T_503 extends CanBeExpanded ? any : T_503 extends (infer U)[] ? any[] : T_503 extends object ? { [K_287 in keyof T_503]-?: T_503[K_287] extends infer T_504 ? T_504 extends T_503[K_287] ? T_504 extends CanBeExpanded ? T_504["default"] : T_504 : never : never; } : T_503 : never : never : T_501 extends (infer U)[] ? any[] : T_501 extends object ? { [K_288 in keyof T_501]-?: T_501[K_288] extends infer T_505 ? T_505 extends T_501[K_288] ? T_505 extends CanBeExpanded ? T_505["default"] : T_505 : never : never; } : T_501 : never : never; } : T_496 : never : never : T_495 extends (infer U)[] ? any[] : T_495 extends object ? { [K_289 in keyof T_495]-?: T_495[K_289] extends infer T_506 ? T_506 extends T_495[K_289] ? T_506 extends CanBeExpanded ? T_506[PrefixWith, K_289, "."> extends infer T_507 ? T_507 extends PrefixWith, K_289, "."> ? T_507 extends SplitAC ? "value" : "default" : never : never] extends infer T_508 ? T_508 extends T_506[PrefixWith, K_289, "."> extends infer T_507 ? T_507 extends PrefixWith, K_289, "."> ? T_507 extends SplitAC ? "value" : "default" : never : never] ? T_508 extends CanBeExpanded ? T_508[PrefixWith, K_289, "."> extends infer T_507 ? T_507 extends PrefixWith, K_289, "."> ? T_507 extends SplitAC ? "value" : "default" : never : never] extends infer T_509 ? T_509 extends T_508[PrefixWith, K_289, "."> extends infer T_507 ? T_507 extends PrefixWith, K_289, "."> ? T_507 extends SplitAC ? "value" : "default" : never : never] ? T_509 extends CanBeExpanded ? any : T_509 extends (infer U)[] ? any[] : T_509 extends object ? { [K_290 in keyof T_509]-?: T_509[K_290] extends infer T_510 ? T_510 extends T_509[K_290] ? T_510 extends CanBeExpanded ? T_510["default"] : T_510 : never : never; } : T_509 : never : never : T_508 extends (infer U)[] ? any[] : T_508 extends object ? { [K_291 in keyof T_508]-?: T_508[K_291] extends infer T_511 ? T_511 extends T_508[K_291] ? T_511 extends CanBeExpanded ? T_511["default"] : T_511 : never : never; } : T_508 : never : never : T_506 extends (infer U)[] ? any[] : T_506 extends object ? { [K_292 in keyof T_506]-?: T_506[K_292] extends infer T_512 ? T_512 extends T_506[K_292] ? T_512 extends CanBeExpanded ? T_512["default"] : T_512 : never : never; } : T_506 : never : never; } : T_495 : never : never : T_493 extends (infer U)[] ? any[] : T_493 extends object ? { [K_293 in keyof T_493]-?: T_493[K_293] extends infer T_513 ? T_513 extends T_493[K_293] ? T_513 extends CanBeExpanded ? T_513[PrefixWith, K_293, "."> extends infer T_514 ? T_514 extends PrefixWith, K_293, "."> ? T_514 extends SplitAC ? "value" : "default" : never : never] extends infer T_515 ? T_515 extends T_513[PrefixWith, K_293, "."> extends infer T_514 ? T_514 extends PrefixWith, K_293, "."> ? T_514 extends SplitAC ? "value" : "default" : never : never] ? T_515 extends CanBeExpanded ? T_515[PrefixWith, K_293, "."> extends infer T_514 ? T_514 extends PrefixWith, K_293, "."> ? T_514 extends SplitAC ? "value" : "default" : never : never] extends infer T_516 ? T_516 extends T_515[PrefixWith, K_293, "."> extends infer T_514 ? T_514 extends PrefixWith, K_293, "."> ? T_514 extends SplitAC ? "value" : "default" : never : never] ? T_516 extends CanBeExpanded ? T_516[PrefixWith, K_293, "."> extends infer T_514 ? T_514 extends PrefixWith, K_293, "."> ? T_514 extends SplitAC ? "value" : "default" : never : never] extends infer T_517 ? T_517 extends T_516[PrefixWith, K_293, "."> extends infer T_514 ? T_514 extends PrefixWith, K_293, "."> ? T_514 extends SplitAC ? "value" : "default" : never : never] ? T_517 extends CanBeExpanded ? any : T_517 extends (infer U)[] ? any[] : T_517 extends object ? { [K_294 in keyof T_517]-?: T_517[K_294] extends infer T_518 ? T_518 extends T_517[K_294] ? T_518 extends CanBeExpanded ? T_518["default"] : T_518 : never : never; } : T_517 : never : never : T_516 extends (infer U)[] ? any[] : T_516 extends object ? { [K_295 in keyof T_516]-?: T_516[K_295] extends infer T_519 ? T_519 extends T_516[K_295] ? T_519 extends CanBeExpanded ? T_519["default"] : T_519 : never : never; } : T_516 : never : never : T_515 extends (infer U)[] ? any[] : T_515 extends object ? { [K_296 in keyof T_515]-?: T_515[K_296] extends infer T_520 ? T_520 extends T_515[K_296] ? T_520 extends CanBeExpanded ? T_520["default"] : T_520 : never : never; } : T_515 : never : never : T_513 extends (infer U)[] ? any[] : T_513 extends object ? { [K_297 in keyof T_513]-?: T_513[K_297] extends infer T_521 ? T_521 extends T_513[K_297] ? T_521 extends CanBeExpanded ? T_521["default"] : T_521 : never : never; } : T_513 : never : never; } : T_493 : never : never; } : T_451 : never : never : T_450 extends (infer U)[] ? any[] : T_450 extends object ? { [K_298 in keyof T_450]-?: T_450[K_298] extends infer T_522 ? T_522 extends T_450[K_298] ? T_522 extends CanBeExpanded ? T_522[PrefixWith<`${string & K_256}`, K_298, "."> extends infer T_523 ? T_523 extends PrefixWith<`${string & K_256}`, K_298, "."> ? T_523 extends SplitAC ? "value" : "default" : never : never] extends infer T_524 ? T_524 extends T_522[PrefixWith<`${string & K_256}`, K_298, "."> extends infer T_523 ? T_523 extends PrefixWith<`${string & K_256}`, K_298, "."> ? T_523 extends SplitAC ? "value" : "default" : never : never] ? T_524 extends CanBeExpanded ? T_524[PrefixWith<`${string & K_256}`, K_298, "."> extends infer T_523 ? T_523 extends PrefixWith<`${string & K_256}`, K_298, "."> ? T_523 extends SplitAC ? "value" : "default" : never : never] extends infer T_525 ? T_525 extends T_524[PrefixWith<`${string & K_256}`, K_298, "."> extends infer T_523 ? T_523 extends PrefixWith<`${string & K_256}`, K_298, "."> ? T_523 extends SplitAC ? "value" : "default" : never : never] ? T_525 extends CanBeExpanded ? T_525[PrefixWith<`${string & K_256}`, K_298, "."> extends infer T_523 ? T_523 extends PrefixWith<`${string & K_256}`, K_298, "."> ? T_523 extends SplitAC ? "value" : "default" : never : never] extends infer T_526 ? T_526 extends T_525[PrefixWith<`${string & K_256}`, K_298, "."> extends infer T_523 ? T_523 extends PrefixWith<`${string & K_256}`, K_298, "."> ? T_523 extends SplitAC ? "value" : "default" : never : never] ? T_526 extends CanBeExpanded ? T_526[PrefixWith<`${string & K_256}`, K_298, "."> extends infer T_523 ? T_523 extends PrefixWith<`${string & K_256}`, K_298, "."> ? T_523 extends SplitAC ? "value" : "default" : never : never] extends infer T_527 ? T_527 extends T_526[PrefixWith<`${string & K_256}`, K_298, "."> extends infer T_523 ? T_523 extends PrefixWith<`${string & K_256}`, K_298, "."> ? T_523 extends SplitAC ? "value" : "default" : never : never] ? T_527 extends CanBeExpanded ? T_527[PrefixWith<`${string & K_256}`, K_298, "."> extends infer T_523 ? T_523 extends PrefixWith<`${string & K_256}`, K_298, "."> ? T_523 extends SplitAC ? "value" : "default" : never : never] extends infer T_528 ? T_528 extends T_527[PrefixWith<`${string & K_256}`, K_298, "."> extends infer T_523 ? T_523 extends PrefixWith<`${string & K_256}`, K_298, "."> ? T_523 extends SplitAC ? "value" : "default" : never : never] ? T_528 extends CanBeExpanded ? any : T_528 extends (infer U)[] ? any[] : T_528 extends object ? { [K_299 in keyof T_528]-?: any; } : T_528 : never : never : T_527 extends (infer U)[] ? any[] : T_527 extends object ? { [K_300 in keyof T_527]-?: T_527[K_300] extends infer T_529 ? T_529 extends T_527[K_300] ? T_529 extends CanBeExpanded ? any : T_529 extends (infer U)[] ? any[] : T_529 extends object ? { [K_301 in keyof T_529]-?: T_529[K_301] extends infer T_530 ? T_530 extends T_529[K_301] ? T_530 extends CanBeExpanded ? T_530["default"] : T_530 : never : never; } : T_529 : never : never; } : T_527 : never : never : T_526 extends (infer U)[] ? any[] : T_526 extends object ? { [K_302 in keyof T_526]-?: T_526[K_302] extends infer T_531 ? T_531 extends T_526[K_302] ? T_531 extends CanBeExpanded ? T_531[PrefixWith, K_302, "."> extends infer T_532 ? T_532 extends PrefixWith, K_302, "."> ? T_532 extends SplitAC ? "value" : "default" : never : never] extends infer T_533 ? T_533 extends T_531[PrefixWith, K_302, "."> extends infer T_532 ? T_532 extends PrefixWith, K_302, "."> ? T_532 extends SplitAC ? "value" : "default" : never : never] ? T_533 extends CanBeExpanded ? any : T_533 extends (infer U)[] ? any[] : T_533 extends object ? { [K_303 in keyof T_533]-?: T_533[K_303] extends infer T_534 ? T_534 extends T_533[K_303] ? T_534 extends CanBeExpanded ? T_534["default"] : T_534 : never : never; } : T_533 : never : never : T_531 extends (infer U)[] ? any[] : T_531 extends object ? { [K_304 in keyof T_531]-?: T_531[K_304] extends infer T_535 ? T_535 extends T_531[K_304] ? T_535 extends CanBeExpanded ? T_535["default"] : T_535 : never : never; } : T_531 : never : never; } : T_526 : never : never : T_525 extends (infer U)[] ? any[] : T_525 extends object ? { [K_305 in keyof T_525]-?: T_525[K_305] extends infer T_536 ? T_536 extends T_525[K_305] ? T_536 extends CanBeExpanded ? T_536[PrefixWith, K_305, "."> extends infer T_537 ? T_537 extends PrefixWith, K_305, "."> ? T_537 extends SplitAC ? "value" : "default" : never : never] extends infer T_538 ? T_538 extends T_536[PrefixWith, K_305, "."> extends infer T_537 ? T_537 extends PrefixWith, K_305, "."> ? T_537 extends SplitAC ? "value" : "default" : never : never] ? T_538 extends CanBeExpanded ? T_538[PrefixWith, K_305, "."> extends infer T_537 ? T_537 extends PrefixWith, K_305, "."> ? T_537 extends SplitAC ? "value" : "default" : never : never] extends infer T_539 ? T_539 extends T_538[PrefixWith, K_305, "."> extends infer T_537 ? T_537 extends PrefixWith, K_305, "."> ? T_537 extends SplitAC ? "value" : "default" : never : never] ? T_539 extends CanBeExpanded ? any : T_539 extends (infer U)[] ? any[] : T_539 extends object ? { [K_306 in keyof T_539]-?: T_539[K_306] extends infer T_540 ? T_540 extends T_539[K_306] ? T_540 extends CanBeExpanded ? T_540["default"] : T_540 : never : never; } : T_539 : never : never : T_538 extends (infer U)[] ? any[] : T_538 extends object ? { [K_307 in keyof T_538]-?: T_538[K_307] extends infer T_541 ? T_541 extends T_538[K_307] ? T_541 extends CanBeExpanded ? T_541["default"] : T_541 : never : never; } : T_538 : never : never : T_536 extends (infer U)[] ? any[] : T_536 extends object ? { [K_308 in keyof T_536]-?: T_536[K_308] extends infer T_542 ? T_542 extends T_536[K_308] ? T_542 extends CanBeExpanded ? T_542["default"] : T_542 : never : never; } : T_536 : never : never; } : T_525 : never : never : T_524 extends (infer U)[] ? any[] : T_524 extends object ? { [K_309 in keyof T_524]-?: T_524[K_309] extends infer T_543 ? T_543 extends T_524[K_309] ? T_543 extends CanBeExpanded ? T_543[PrefixWith, K_309, "."> extends infer T_544 ? T_544 extends PrefixWith, K_309, "."> ? T_544 extends SplitAC ? "value" : "default" : never : never] extends infer T_545 ? T_545 extends T_543[PrefixWith, K_309, "."> extends infer T_544 ? T_544 extends PrefixWith, K_309, "."> ? T_544 extends SplitAC ? "value" : "default" : never : never] ? T_545 extends CanBeExpanded ? T_545[PrefixWith, K_309, "."> extends infer T_544 ? T_544 extends PrefixWith, K_309, "."> ? T_544 extends SplitAC ? "value" : "default" : never : never] extends infer T_546 ? T_546 extends T_545[PrefixWith, K_309, "."> extends infer T_544 ? T_544 extends PrefixWith, K_309, "."> ? T_544 extends SplitAC ? "value" : "default" : never : never] ? T_546 extends CanBeExpanded ? T_546[PrefixWith, K_309, "."> extends infer T_544 ? T_544 extends PrefixWith, K_309, "."> ? T_544 extends SplitAC ? "value" : "default" : never : never] extends infer T_547 ? T_547 extends T_546[PrefixWith, K_309, "."> extends infer T_544 ? T_544 extends PrefixWith, K_309, "."> ? T_544 extends SplitAC ? "value" : "default" : never : never] ? T_547 extends CanBeExpanded ? any : T_547 extends (infer U)[] ? any[] : T_547 extends object ? { [K_310 in keyof T_547]-?: T_547[K_310] extends infer T_548 ? T_548 extends T_547[K_310] ? T_548 extends CanBeExpanded ? T_548["default"] : T_548 : never : never; } : T_547 : never : never : T_546 extends (infer U)[] ? any[] : T_546 extends object ? { [K_311 in keyof T_546]-?: T_546[K_311] extends infer T_549 ? T_549 extends T_546[K_311] ? T_549 extends CanBeExpanded ? T_549["default"] : T_549 : never : never; } : T_546 : never : never : T_545 extends (infer U)[] ? any[] : T_545 extends object ? { [K_312 in keyof T_545]-?: T_545[K_312] extends infer T_550 ? T_550 extends T_545[K_312] ? T_550 extends CanBeExpanded ? T_550["default"] : T_550 : never : never; } : T_545 : never : never : T_543 extends (infer U)[] ? any[] : T_543 extends object ? { [K_313 in keyof T_543]-?: T_543[K_313] extends infer T_551 ? T_551 extends T_543[K_313] ? T_551 extends CanBeExpanded ? T_551["default"] : T_551 : never : never; } : T_543 : never : never; } : T_524 : never : never : T_522 extends (infer U)[] ? any[] : T_522 extends object ? { [K_314 in keyof T_522]-?: T_522[K_314] extends infer T_552 ? T_552 extends T_522[K_314] ? T_552 extends CanBeExpanded ? T_552[PrefixWith, K_314, "."> extends infer T_553 ? T_553 extends PrefixWith, K_314, "."> ? T_553 extends SplitAC ? "value" : "default" : never : never] extends infer T_554 ? T_554 extends T_552[PrefixWith, K_314, "."> extends infer T_553 ? T_553 extends PrefixWith, K_314, "."> ? T_553 extends SplitAC ? "value" : "default" : never : never] ? T_554 extends CanBeExpanded ? T_554[PrefixWith, K_314, "."> extends infer T_553 ? T_553 extends PrefixWith, K_314, "."> ? T_553 extends SplitAC ? "value" : "default" : never : never] extends infer T_555 ? T_555 extends T_554[PrefixWith, K_314, "."> extends infer T_553 ? T_553 extends PrefixWith, K_314, "."> ? T_553 extends SplitAC ? "value" : "default" : never : never] ? T_555 extends CanBeExpanded ? T_555[PrefixWith, K_314, "."> extends infer T_553 ? T_553 extends PrefixWith, K_314, "."> ? T_553 extends SplitAC ? "value" : "default" : never : never] extends infer T_556 ? T_556 extends T_555[PrefixWith, K_314, "."> extends infer T_553 ? T_553 extends PrefixWith, K_314, "."> ? T_553 extends SplitAC ? "value" : "default" : never : never] ? T_556 extends CanBeExpanded ? T_556[PrefixWith, K_314, "."> extends infer T_553 ? T_553 extends PrefixWith, K_314, "."> ? T_553 extends SplitAC ? "value" : "default" : never : never] extends infer T_557 ? T_557 extends T_556[PrefixWith, K_314, "."> extends infer T_553 ? T_553 extends PrefixWith, K_314, "."> ? T_553 extends SplitAC ? "value" : "default" : never : never] ? T_557 extends CanBeExpanded ? any : T_557 extends (infer U)[] ? any[] : T_557 extends object ? { [K_315 in keyof T_557]-?: T_557[K_315] extends infer T_558 ? T_558 extends T_557[K_315] ? T_558 extends CanBeExpanded ? T_558["default"] : T_558 : never : never; } : T_557 : never : never : T_556 extends (infer U)[] ? any[] : T_556 extends object ? { [K_316 in keyof T_556]-?: T_556[K_316] extends infer T_559 ? T_559 extends T_556[K_316] ? T_559 extends CanBeExpanded ? T_559["default"] : T_559 : never : never; } : T_556 : never : never : T_555 extends (infer U)[] ? any[] : T_555 extends object ? { [K_317 in keyof T_555]-?: T_555[K_317] extends infer T_560 ? T_560 extends T_555[K_317] ? T_560 extends CanBeExpanded ? T_560["default"] : T_560 : never : never; } : T_555 : never : never : T_554 extends (infer U)[] ? any[] : T_554 extends object ? { [K_318 in keyof T_554]-?: T_554[K_318] extends infer T_561 ? T_561 extends T_554[K_318] ? T_561 extends CanBeExpanded ? T_561["default"] : T_561 : never : never; } : T_554 : never : never : T_552 extends (infer U)[] ? any[] : T_552 extends object ? { [K_319 in keyof T_552]-?: T_552[K_319] extends infer T_562 ? T_562 extends T_552[K_319] ? T_562 extends CanBeExpanded ? T_562["default"] : T_562 : never : never; } : T_552 : never : never; } : T_522 : never : never; } : T_450 : never : never : T_449 extends (infer U)[] ? any[] : T_449 extends object ? { [K_320 in keyof T_449]-?: T_449[K_320] extends infer T_563 ? T_563 extends T_449[K_320] ? T_563 extends CanBeExpanded ? T_563[PrefixWith<`${string & K_256}`, K_320, "."> extends infer T_564 ? T_564 extends PrefixWith<`${string & K_256}`, K_320, "."> ? T_564 extends SplitAC ? "value" : "default" : never : never] extends infer T_565 ? T_565 extends T_563[PrefixWith<`${string & K_256}`, K_320, "."> extends infer T_564 ? T_564 extends PrefixWith<`${string & K_256}`, K_320, "."> ? T_564 extends SplitAC ? "value" : "default" : never : never] ? T_565 extends CanBeExpanded ? T_565[PrefixWith<`${string & K_256}`, K_320, "."> extends infer T_564 ? T_564 extends PrefixWith<`${string & K_256}`, K_320, "."> ? T_564 extends SplitAC ? "value" : "default" : never : never] extends infer T_566 ? T_566 extends T_565[PrefixWith<`${string & K_256}`, K_320, "."> extends infer T_564 ? T_564 extends PrefixWith<`${string & K_256}`, K_320, "."> ? T_564 extends SplitAC ? "value" : "default" : never : never] ? T_566 extends CanBeExpanded ? T_566[PrefixWith<`${string & K_256}`, K_320, "."> extends infer T_564 ? T_564 extends PrefixWith<`${string & K_256}`, K_320, "."> ? T_564 extends SplitAC ? "value" : "default" : never : never] extends infer T_567 ? T_567 extends T_566[PrefixWith<`${string & K_256}`, K_320, "."> extends infer T_564 ? T_564 extends PrefixWith<`${string & K_256}`, K_320, "."> ? T_564 extends SplitAC ? "value" : "default" : never : never] ? T_567 extends CanBeExpanded ? T_567[PrefixWith<`${string & K_256}`, K_320, "."> extends infer T_564 ? T_564 extends PrefixWith<`${string & K_256}`, K_320, "."> ? T_564 extends SplitAC ? "value" : "default" : never : never] extends infer T_568 ? T_568 extends T_567[PrefixWith<`${string & K_256}`, K_320, "."> extends infer T_564 ? T_564 extends PrefixWith<`${string & K_256}`, K_320, "."> ? T_564 extends SplitAC ? "value" : "default" : never : never] ? T_568 extends CanBeExpanded ? T_568[PrefixWith<`${string & K_256}`, K_320, "."> extends infer T_564 ? T_564 extends PrefixWith<`${string & K_256}`, K_320, "."> ? T_564 extends SplitAC ? "value" : "default" : never : never] extends infer T_569 ? T_569 extends T_568[PrefixWith<`${string & K_256}`, K_320, "."> extends infer T_564 ? T_564 extends PrefixWith<`${string & K_256}`, K_320, "."> ? T_564 extends SplitAC ? "value" : "default" : never : never] ? T_569 extends CanBeExpanded ? T_569[PrefixWith<`${string & K_256}`, K_320, "."> extends infer T_564 ? T_564 extends PrefixWith<`${string & K_256}`, K_320, "."> ? T_564 extends SplitAC ? "value" : "default" : never : never] extends infer T_570 ? T_570 extends T_569[PrefixWith<`${string & K_256}`, K_320, "."> extends infer T_564 ? T_564 extends PrefixWith<`${string & K_256}`, K_320, "."> ? T_564 extends SplitAC ? "value" : "default" : never : never] ? T_570 extends CanBeExpanded ? any : T_570 extends (infer U)[] ? any[] : T_570 extends object ? { [K_321 in keyof T_570]-?: any; } : T_570 : never : never : T_569 extends (infer U)[] ? any[] : T_569 extends object ? { [K_322 in keyof T_569]-?: T_569[K_322] extends infer T_571 ? T_571 extends T_569[K_322] ? T_571 extends CanBeExpanded ? any : T_571 extends (infer U)[] ? any[] : T_571 extends object ? { [K_323 in keyof T_571]-?: T_571[K_323] extends infer T_572 ? T_572 extends T_571[K_323] ? T_572 extends CanBeExpanded ? T_572["default"] : T_572 : never : never; } : T_571 : never : never; } : T_569 : never : never : T_568 extends (infer U)[] ? any[] : T_568 extends object ? { [K_324 in keyof T_568]-?: T_568[K_324] extends infer T_573 ? T_573 extends T_568[K_324] ? T_573 extends CanBeExpanded ? T_573[PrefixWith, K_324, "."> extends infer T_574 ? T_574 extends PrefixWith, K_324, "."> ? T_574 extends SplitAC ? "value" : "default" : never : never] extends infer T_575 ? T_575 extends T_573[PrefixWith, K_324, "."> extends infer T_574 ? T_574 extends PrefixWith, K_324, "."> ? T_574 extends SplitAC ? "value" : "default" : never : never] ? T_575 extends CanBeExpanded ? any : T_575 extends (infer U)[] ? any[] : T_575 extends object ? { [K_325 in keyof T_575]-?: T_575[K_325] extends infer T_576 ? T_576 extends T_575[K_325] ? T_576 extends CanBeExpanded ? T_576["default"] : T_576 : never : never; } : T_575 : never : never : T_573 extends (infer U)[] ? any[] : T_573 extends object ? { [K_326 in keyof T_573]-?: T_573[K_326] extends infer T_577 ? T_577 extends T_573[K_326] ? T_577 extends CanBeExpanded ? T_577["default"] : T_577 : never : never; } : T_573 : never : never; } : T_568 : never : never : T_567 extends (infer U)[] ? any[] : T_567 extends object ? { [K_327 in keyof T_567]-?: T_567[K_327] extends infer T_578 ? T_578 extends T_567[K_327] ? T_578 extends CanBeExpanded ? T_578[PrefixWith, K_327, "."> extends infer T_579 ? T_579 extends PrefixWith, K_327, "."> ? T_579 extends SplitAC ? "value" : "default" : never : never] extends infer T_580 ? T_580 extends T_578[PrefixWith, K_327, "."> extends infer T_579 ? T_579 extends PrefixWith, K_327, "."> ? T_579 extends SplitAC ? "value" : "default" : never : never] ? T_580 extends CanBeExpanded ? T_580[PrefixWith, K_327, "."> extends infer T_579 ? T_579 extends PrefixWith, K_327, "."> ? T_579 extends SplitAC ? "value" : "default" : never : never] extends infer T_581 ? T_581 extends T_580[PrefixWith, K_327, "."> extends infer T_579 ? T_579 extends PrefixWith, K_327, "."> ? T_579 extends SplitAC ? "value" : "default" : never : never] ? T_581 extends CanBeExpanded ? any : T_581 extends (infer U)[] ? any[] : T_581 extends object ? { [K_328 in keyof T_581]-?: T_581[K_328] extends infer T_582 ? T_582 extends T_581[K_328] ? T_582 extends CanBeExpanded ? T_582["default"] : T_582 : never : never; } : T_581 : never : never : T_580 extends (infer U)[] ? any[] : T_580 extends object ? { [K_329 in keyof T_580]-?: T_580[K_329] extends infer T_583 ? T_583 extends T_580[K_329] ? T_583 extends CanBeExpanded ? T_583["default"] : T_583 : never : never; } : T_580 : never : never : T_578 extends (infer U)[] ? any[] : T_578 extends object ? { [K_330 in keyof T_578]-?: T_578[K_330] extends infer T_584 ? T_584 extends T_578[K_330] ? T_584 extends CanBeExpanded ? T_584["default"] : T_584 : never : never; } : T_578 : never : never; } : T_567 : never : never : T_566 extends (infer U)[] ? any[] : T_566 extends object ? { [K_331 in keyof T_566]-?: T_566[K_331] extends infer T_585 ? T_585 extends T_566[K_331] ? T_585 extends CanBeExpanded ? T_585[PrefixWith, K_331, "."> extends infer T_586 ? T_586 extends PrefixWith, K_331, "."> ? T_586 extends SplitAC ? "value" : "default" : never : never] extends infer T_587 ? T_587 extends T_585[PrefixWith, K_331, "."> extends infer T_586 ? T_586 extends PrefixWith, K_331, "."> ? T_586 extends SplitAC ? "value" : "default" : never : never] ? T_587 extends CanBeExpanded ? T_587[PrefixWith, K_331, "."> extends infer T_586 ? T_586 extends PrefixWith, K_331, "."> ? T_586 extends SplitAC ? "value" : "default" : never : never] extends infer T_588 ? T_588 extends T_587[PrefixWith, K_331, "."> extends infer T_586 ? T_586 extends PrefixWith, K_331, "."> ? T_586 extends SplitAC ? "value" : "default" : never : never] ? T_588 extends CanBeExpanded ? T_588[PrefixWith, K_331, "."> extends infer T_586 ? T_586 extends PrefixWith, K_331, "."> ? T_586 extends SplitAC ? "value" : "default" : never : never] extends infer T_589 ? T_589 extends T_588[PrefixWith, K_331, "."> extends infer T_586 ? T_586 extends PrefixWith, K_331, "."> ? T_586 extends SplitAC ? "value" : "default" : never : never] ? T_589 extends CanBeExpanded ? any : T_589 extends (infer U)[] ? any[] : T_589 extends object ? { [K_332 in keyof T_589]-?: T_589[K_332] extends infer T_590 ? T_590 extends T_589[K_332] ? T_590 extends CanBeExpanded ? T_590["default"] : T_590 : never : never; } : T_589 : never : never : T_588 extends (infer U)[] ? any[] : T_588 extends object ? { [K_333 in keyof T_588]-?: T_588[K_333] extends infer T_591 ? T_591 extends T_588[K_333] ? T_591 extends CanBeExpanded ? T_591["default"] : T_591 : never : never; } : T_588 : never : never : T_587 extends (infer U)[] ? any[] : T_587 extends object ? { [K_334 in keyof T_587]-?: T_587[K_334] extends infer T_592 ? T_592 extends T_587[K_334] ? T_592 extends CanBeExpanded ? T_592["default"] : T_592 : never : never; } : T_587 : never : never : T_585 extends (infer U)[] ? any[] : T_585 extends object ? { [K_335 in keyof T_585]-?: T_585[K_335] extends infer T_593 ? T_593 extends T_585[K_335] ? T_593 extends CanBeExpanded ? T_593["default"] : T_593 : never : never; } : T_585 : never : never; } : T_566 : never : never : T_565 extends (infer U)[] ? any[] : T_565 extends object ? { [K_336 in keyof T_565]-?: T_565[K_336] extends infer T_594 ? T_594 extends T_565[K_336] ? T_594 extends CanBeExpanded ? T_594[PrefixWith, K_336, "."> extends infer T_595 ? T_595 extends PrefixWith, K_336, "."> ? T_595 extends SplitAC ? "value" : "default" : never : never] extends infer T_596 ? T_596 extends T_594[PrefixWith, K_336, "."> extends infer T_595 ? T_595 extends PrefixWith, K_336, "."> ? T_595 extends SplitAC ? "value" : "default" : never : never] ? T_596 extends CanBeExpanded ? T_596[PrefixWith, K_336, "."> extends infer T_595 ? T_595 extends PrefixWith, K_336, "."> ? T_595 extends SplitAC ? "value" : "default" : never : never] extends infer T_597 ? T_597 extends T_596[PrefixWith, K_336, "."> extends infer T_595 ? T_595 extends PrefixWith, K_336, "."> ? T_595 extends SplitAC ? "value" : "default" : never : never] ? T_597 extends CanBeExpanded ? T_597[PrefixWith, K_336, "."> extends infer T_595 ? T_595 extends PrefixWith, K_336, "."> ? T_595 extends SplitAC ? "value" : "default" : never : never] extends infer T_598 ? T_598 extends T_597[PrefixWith, K_336, "."> extends infer T_595 ? T_595 extends PrefixWith, K_336, "."> ? T_595 extends SplitAC ? "value" : "default" : never : never] ? T_598 extends CanBeExpanded ? T_598[PrefixWith, K_336, "."> extends infer T_595 ? T_595 extends PrefixWith, K_336, "."> ? T_595 extends SplitAC ? "value" : "default" : never : never] extends infer T_599 ? T_599 extends T_598[PrefixWith, K_336, "."> extends infer T_595 ? T_595 extends PrefixWith, K_336, "."> ? T_595 extends SplitAC ? "value" : "default" : never : never] ? T_599 extends CanBeExpanded ? any : T_599 extends (infer U)[] ? any[] : T_599 extends object ? { [K_337 in keyof T_599]-?: T_599[K_337] extends infer T_600 ? T_600 extends T_599[K_337] ? T_600 extends CanBeExpanded ? T_600["default"] : T_600 : never : never; } : T_599 : never : never : T_598 extends (infer U)[] ? any[] : T_598 extends object ? { [K_338 in keyof T_598]-?: T_598[K_338] extends infer T_601 ? T_601 extends T_598[K_338] ? T_601 extends CanBeExpanded ? T_601["default"] : T_601 : never : never; } : T_598 : never : never : T_597 extends (infer U)[] ? any[] : T_597 extends object ? { [K_339 in keyof T_597]-?: T_597[K_339] extends infer T_602 ? T_602 extends T_597[K_339] ? T_602 extends CanBeExpanded ? T_602["default"] : T_602 : never : never; } : T_597 : never : never : T_596 extends (infer U)[] ? any[] : T_596 extends object ? { [K_340 in keyof T_596]-?: T_596[K_340] extends infer T_603 ? T_603 extends T_596[K_340] ? T_603 extends CanBeExpanded ? T_603["default"] : T_603 : never : never; } : T_596 : never : never : T_594 extends (infer U)[] ? any[] : T_594 extends object ? { [K_341 in keyof T_594]-?: T_594[K_341] extends infer T_604 ? T_604 extends T_594[K_341] ? T_604 extends CanBeExpanded ? T_604["default"] : T_604 : never : never; } : T_594 : never : never; } : T_565 : never : never : T_563 extends (infer U)[] ? any[] : T_563 extends object ? { [K_342 in keyof T_563]-?: T_563[K_342] extends infer T_605 ? T_605 extends T_563[K_342] ? T_605 extends CanBeExpanded ? T_605[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] extends infer T_607 ? T_607 extends T_605[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] ? T_607 extends CanBeExpanded ? T_607[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] extends infer T_608 ? T_608 extends T_607[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] ? T_608 extends CanBeExpanded ? T_608[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] extends infer T_609 ? T_609 extends T_608[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] ? T_609 extends CanBeExpanded ? T_609[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] extends infer T_610 ? T_610 extends T_609[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] ? T_610 extends CanBeExpanded ? T_610[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] extends infer T_611 ? T_611 extends T_610[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] ? T_611 extends CanBeExpanded ? any : T_611 extends (infer U)[] ? any[] : T_611 extends object ? { [K_343 in keyof T_611]-?: T_611[K_343] extends infer T_612 ? T_612 extends T_611[K_343] ? T_612 extends CanBeExpanded ? T_612["default"] : T_612 : never : never; } : T_611 : never : never : T_610 extends (infer U)[] ? any[] : T_610 extends object ? { [K_344 in keyof T_610]-?: T_610[K_344] extends infer T_613 ? T_613 extends T_610[K_344] ? T_613 extends CanBeExpanded ? T_613["default"] : T_613 : never : never; } : T_610 : never : never : T_609 extends (infer U)[] ? any[] : T_609 extends object ? { [K_345 in keyof T_609]-?: T_609[K_345] extends infer T_614 ? T_614 extends T_609[K_345] ? T_614 extends CanBeExpanded ? T_614["default"] : T_614 : never : never; } : T_609 : never : never : T_608 extends (infer U)[] ? any[] : T_608 extends object ? { [K_346 in keyof T_608]-?: T_608[K_346] extends infer T_615 ? T_615 extends T_608[K_346] ? T_615 extends CanBeExpanded ? T_615["default"] : T_615 : never : never; } : T_608 : never : never : T_607 extends (infer U)[] ? any[] : T_607 extends object ? { [K_347 in keyof T_607]-?: T_607[K_347] extends infer T_616 ? T_616 extends T_607[K_347] ? T_616 extends CanBeExpanded ? T_616["default"] : T_616 : never : never; } : T_607 : never : never : T_605 extends (infer U)[] ? any[] : T_605 extends object ? { [K_348 in keyof T_605]-?: T_605[K_348] extends infer T_617 ? T_617 extends T_605[K_348] ? T_617 extends CanBeExpanded ? T_617["default"] : T_617 : never : never; } : T_605 : never : never; } : T_563 : never : never; } : T_449 : never : never : T_447 extends (infer U)[] ? any[] : T_447 extends object ? { [K_349 in keyof T_447]-?: T_447[K_349] extends infer T_618 ? T_618 extends T_447[K_349] ? T_618 extends CanBeExpanded ? T_618[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] extends infer T_620 ? T_620 extends T_618[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] ? T_620 extends CanBeExpanded ? T_620[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] extends infer T_621 ? T_621 extends T_620[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] ? T_621 extends CanBeExpanded ? T_621[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] extends infer T_622 ? T_622 extends T_621[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] ? T_622 extends CanBeExpanded ? T_622[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] extends infer T_623 ? T_623 extends T_622[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] ? T_623 extends CanBeExpanded ? T_623[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] extends infer T_624 ? T_624 extends T_623[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] ? T_624 extends CanBeExpanded ? T_624[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] extends infer T_625 ? T_625 extends T_624[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] ? T_625 extends CanBeExpanded ? T_625[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] extends infer T_626 ? T_626 extends T_625[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] ? T_626 extends CanBeExpanded ? any : T_626 extends (infer U)[] ? any[] : T_626 extends object ? { [K_350 in keyof T_626]-?: any; } : T_626 : never : never : T_625 extends (infer U)[] ? any[] : T_625 extends object ? { [K_351 in keyof T_625]-?: T_625[K_351] extends infer T_627 ? T_627 extends T_625[K_351] ? T_627 extends CanBeExpanded ? any : T_627 extends (infer U)[] ? any[] : T_627 extends object ? { [K_352 in keyof T_627]-?: T_627[K_352] extends infer T_628 ? T_628 extends T_627[K_352] ? T_628 extends CanBeExpanded ? T_628["default"] : T_628 : never : never; } : T_627 : never : never; } : T_625 : never : never : T_624 extends (infer U)[] ? any[] : T_624 extends object ? { [K_353 in keyof T_624]-?: T_624[K_353] extends infer T_629 ? T_629 extends T_624[K_353] ? T_629 extends CanBeExpanded ? T_629[PrefixWith, K_353, "."> extends infer T_630 ? T_630 extends PrefixWith, K_353, "."> ? T_630 extends SplitAC ? "value" : "default" : never : never] extends infer T_631 ? T_631 extends T_629[PrefixWith, K_353, "."> extends infer T_630 ? T_630 extends PrefixWith, K_353, "."> ? T_630 extends SplitAC ? "value" : "default" : never : never] ? T_631 extends CanBeExpanded ? any : T_631 extends (infer U)[] ? any[] : T_631 extends object ? { [K_354 in keyof T_631]-?: T_631[K_354] extends infer T_632 ? T_632 extends T_631[K_354] ? T_632 extends CanBeExpanded ? T_632["default"] : T_632 : never : never; } : T_631 : never : never : T_629 extends (infer U)[] ? any[] : T_629 extends object ? { [K_355 in keyof T_629]-?: T_629[K_355] extends infer T_633 ? T_633 extends T_629[K_355] ? T_633 extends CanBeExpanded ? T_633["default"] : T_633 : never : never; } : T_629 : never : never; } : T_624 : never : never : T_623 extends (infer U)[] ? any[] : T_623 extends object ? { [K_356 in keyof T_623]-?: T_623[K_356] extends infer T_634 ? T_634 extends T_623[K_356] ? T_634 extends CanBeExpanded ? T_634[PrefixWith, K_356, "."> extends infer T_635 ? T_635 extends PrefixWith, K_356, "."> ? T_635 extends SplitAC ? "value" : "default" : never : never] extends infer T_636 ? T_636 extends T_634[PrefixWith, K_356, "."> extends infer T_635 ? T_635 extends PrefixWith, K_356, "."> ? T_635 extends SplitAC ? "value" : "default" : never : never] ? T_636 extends CanBeExpanded ? T_636[PrefixWith, K_356, "."> extends infer T_635 ? T_635 extends PrefixWith, K_356, "."> ? T_635 extends SplitAC ? "value" : "default" : never : never] extends infer T_637 ? T_637 extends T_636[PrefixWith, K_356, "."> extends infer T_635 ? T_635 extends PrefixWith, K_356, "."> ? T_635 extends SplitAC ? "value" : "default" : never : never] ? T_637 extends CanBeExpanded ? any : T_637 extends (infer U)[] ? any[] : T_637 extends object ? { [K_357 in keyof T_637]-?: T_637[K_357] extends infer T_638 ? T_638 extends T_637[K_357] ? T_638 extends CanBeExpanded ? T_638["default"] : T_638 : never : never; } : T_637 : never : never : T_636 extends (infer U)[] ? any[] : T_636 extends object ? { [K_358 in keyof T_636]-?: T_636[K_358] extends infer T_639 ? T_639 extends T_636[K_358] ? T_639 extends CanBeExpanded ? T_639["default"] : T_639 : never : never; } : T_636 : never : never : T_634 extends (infer U)[] ? any[] : T_634 extends object ? { [K_359 in keyof T_634]-?: T_634[K_359] extends infer T_640 ? T_640 extends T_634[K_359] ? T_640 extends CanBeExpanded ? T_640["default"] : T_640 : never : never; } : T_634 : never : never; } : T_623 : never : never : T_622 extends (infer U)[] ? any[] : T_622 extends object ? { [K_360 in keyof T_622]-?: T_622[K_360] extends infer T_641 ? T_641 extends T_622[K_360] ? T_641 extends CanBeExpanded ? T_641[PrefixWith, K_360, "."> extends infer T_642 ? T_642 extends PrefixWith, K_360, "."> ? T_642 extends SplitAC ? "value" : "default" : never : never] extends infer T_643 ? T_643 extends T_641[PrefixWith, K_360, "."> extends infer T_642 ? T_642 extends PrefixWith, K_360, "."> ? T_642 extends SplitAC ? "value" : "default" : never : never] ? T_643 extends CanBeExpanded ? T_643[PrefixWith, K_360, "."> extends infer T_642 ? T_642 extends PrefixWith, K_360, "."> ? T_642 extends SplitAC ? "value" : "default" : never : never] extends infer T_644 ? T_644 extends T_643[PrefixWith, K_360, "."> extends infer T_642 ? T_642 extends PrefixWith, K_360, "."> ? T_642 extends SplitAC ? "value" : "default" : never : never] ? T_644 extends CanBeExpanded ? T_644[PrefixWith, K_360, "."> extends infer T_642 ? T_642 extends PrefixWith, K_360, "."> ? T_642 extends SplitAC ? "value" : "default" : never : never] extends infer T_645 ? T_645 extends T_644[PrefixWith, K_360, "."> extends infer T_642 ? T_642 extends PrefixWith, K_360, "."> ? T_642 extends SplitAC ? "value" : "default" : never : never] ? T_645 extends CanBeExpanded ? any : T_645 extends (infer U)[] ? any[] : T_645 extends object ? { [K_361 in keyof T_645]-?: T_645[K_361] extends infer T_646 ? T_646 extends T_645[K_361] ? T_646 extends CanBeExpanded ? T_646["default"] : T_646 : never : never; } : T_645 : never : never : T_644 extends (infer U)[] ? any[] : T_644 extends object ? { [K_362 in keyof T_644]-?: T_644[K_362] extends infer T_647 ? T_647 extends T_644[K_362] ? T_647 extends CanBeExpanded ? T_647["default"] : T_647 : never : never; } : T_644 : never : never : T_643 extends (infer U)[] ? any[] : T_643 extends object ? { [K_363 in keyof T_643]-?: T_643[K_363] extends infer T_648 ? T_648 extends T_643[K_363] ? T_648 extends CanBeExpanded ? T_648["default"] : T_648 : never : never; } : T_643 : never : never : T_641 extends (infer U)[] ? any[] : T_641 extends object ? { [K_364 in keyof T_641]-?: T_641[K_364] extends infer T_649 ? T_649 extends T_641[K_364] ? T_649 extends CanBeExpanded ? T_649["default"] : T_649 : never : never; } : T_641 : never : never; } : T_622 : never : never : T_621 extends (infer U)[] ? any[] : T_621 extends object ? { [K_365 in keyof T_621]-?: T_621[K_365] extends infer T_650 ? T_650 extends T_621[K_365] ? T_650 extends CanBeExpanded ? T_650[PrefixWith, K_365, "."> extends infer T_651 ? T_651 extends PrefixWith, K_365, "."> ? T_651 extends SplitAC ? "value" : "default" : never : never] extends infer T_652 ? T_652 extends T_650[PrefixWith, K_365, "."> extends infer T_651 ? T_651 extends PrefixWith, K_365, "."> ? T_651 extends SplitAC ? "value" : "default" : never : never] ? T_652 extends CanBeExpanded ? T_652[PrefixWith, K_365, "."> extends infer T_651 ? T_651 extends PrefixWith, K_365, "."> ? T_651 extends SplitAC ? "value" : "default" : never : never] extends infer T_653 ? T_653 extends T_652[PrefixWith, K_365, "."> extends infer T_651 ? T_651 extends PrefixWith, K_365, "."> ? T_651 extends SplitAC ? "value" : "default" : never : never] ? T_653 extends CanBeExpanded ? T_653[PrefixWith, K_365, "."> extends infer T_651 ? T_651 extends PrefixWith, K_365, "."> ? T_651 extends SplitAC ? "value" : "default" : never : never] extends infer T_654 ? T_654 extends T_653[PrefixWith, K_365, "."> extends infer T_651 ? T_651 extends PrefixWith, K_365, "."> ? T_651 extends SplitAC ? "value" : "default" : never : never] ? T_654 extends CanBeExpanded ? T_654[PrefixWith, K_365, "."> extends infer T_651 ? T_651 extends PrefixWith, K_365, "."> ? T_651 extends SplitAC ? "value" : "default" : never : never] extends infer T_655 ? T_655 extends T_654[PrefixWith, K_365, "."> extends infer T_651 ? T_651 extends PrefixWith, K_365, "."> ? T_651 extends SplitAC ? "value" : "default" : never : never] ? T_655 extends CanBeExpanded ? any : T_655 extends (infer U)[] ? any[] : T_655 extends object ? { [K_366 in keyof T_655]-?: T_655[K_366] extends infer T_656 ? T_656 extends T_655[K_366] ? T_656 extends CanBeExpanded ? T_656["default"] : T_656 : never : never; } : T_655 : never : never : T_654 extends (infer U)[] ? any[] : T_654 extends object ? { [K_367 in keyof T_654]-?: T_654[K_367] extends infer T_657 ? T_657 extends T_654[K_367] ? T_657 extends CanBeExpanded ? T_657["default"] : T_657 : never : never; } : T_654 : never : never : T_653 extends (infer U)[] ? any[] : T_653 extends object ? { [K_368 in keyof T_653]-?: T_653[K_368] extends infer T_658 ? T_658 extends T_653[K_368] ? T_658 extends CanBeExpanded ? T_658["default"] : T_658 : never : never; } : T_653 : never : never : T_652 extends (infer U)[] ? any[] : T_652 extends object ? { [K_369 in keyof T_652]-?: T_652[K_369] extends infer T_659 ? T_659 extends T_652[K_369] ? T_659 extends CanBeExpanded ? T_659["default"] : T_659 : never : never; } : T_652 : never : never : T_650 extends (infer U)[] ? any[] : T_650 extends object ? { [K_370 in keyof T_650]-?: T_650[K_370] extends infer T_660 ? T_660 extends T_650[K_370] ? T_660 extends CanBeExpanded ? T_660["default"] : T_660 : never : never; } : T_650 : never : never; } : T_621 : never : never : T_620 extends (infer U)[] ? any[] : T_620 extends object ? { [K_371 in keyof T_620]-?: T_620[K_371] extends infer T_661 ? T_661 extends T_620[K_371] ? T_661 extends CanBeExpanded ? T_661[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] extends infer T_663 ? T_663 extends T_661[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] ? T_663 extends CanBeExpanded ? T_663[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] extends infer T_664 ? T_664 extends T_663[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] ? T_664 extends CanBeExpanded ? T_664[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] extends infer T_665 ? T_665 extends T_664[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] ? T_665 extends CanBeExpanded ? T_665[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] extends infer T_666 ? T_666 extends T_665[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] ? T_666 extends CanBeExpanded ? T_666[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] extends infer T_667 ? T_667 extends T_666[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] ? T_667 extends CanBeExpanded ? any : T_667 extends (infer U)[] ? any[] : T_667 extends object ? { [K_372 in keyof T_667]-?: T_667[K_372] extends infer T_668 ? T_668 extends T_667[K_372] ? T_668 extends CanBeExpanded ? T_668["default"] : T_668 : never : never; } : T_667 : never : never : T_666 extends (infer U)[] ? any[] : T_666 extends object ? { [K_373 in keyof T_666]-?: T_666[K_373] extends infer T_669 ? T_669 extends T_666[K_373] ? T_669 extends CanBeExpanded ? T_669["default"] : T_669 : never : never; } : T_666 : never : never : T_665 extends (infer U)[] ? any[] : T_665 extends object ? { [K_374 in keyof T_665]-?: T_665[K_374] extends infer T_670 ? T_670 extends T_665[K_374] ? T_670 extends CanBeExpanded ? T_670["default"] : T_670 : never : never; } : T_665 : never : never : T_664 extends (infer U)[] ? any[] : T_664 extends object ? { [K_375 in keyof T_664]-?: T_664[K_375] extends infer T_671 ? T_671 extends T_664[K_375] ? T_671 extends CanBeExpanded ? T_671["default"] : T_671 : never : never; } : T_664 : never : never : T_663 extends (infer U)[] ? any[] : T_663 extends object ? { [K_376 in keyof T_663]-?: T_663[K_376] extends infer T_672 ? T_672 extends T_663[K_376] ? T_672 extends CanBeExpanded ? T_672["default"] : T_672 : never : never; } : T_663 : never : never : T_661 extends (infer U)[] ? any[] : T_661 extends object ? { [K_377 in keyof T_661]-?: T_661[K_377] extends infer T_673 ? T_673 extends T_661[K_377] ? T_673 extends CanBeExpanded ? T_673["default"] : T_673 : never : never; } : T_661 : never : never; } : T_620 : never : never : T_618 extends (infer U)[] ? any[] : T_618 extends object ? { [K_378 in keyof T_618]-?: T_618[K_378] extends infer T_674 ? T_674 extends T_618[K_378] ? T_674 extends CanBeExpanded ? T_674[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] extends infer T_676 ? T_676 extends T_674[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] ? T_676 extends CanBeExpanded ? T_676[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] extends infer T_677 ? T_677 extends T_676[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] ? T_677 extends CanBeExpanded ? T_677[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] extends infer T_678 ? T_678 extends T_677[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] ? T_678 extends CanBeExpanded ? T_678[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] extends infer T_679 ? T_679 extends T_678[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] ? T_679 extends CanBeExpanded ? T_679[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] extends infer T_680 ? T_680 extends T_679[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] ? T_680 extends CanBeExpanded ? T_680[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] extends infer T_681 ? T_681 extends T_680[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] ? T_681 extends CanBeExpanded ? any : T_681 extends (infer U)[] ? any[] : T_681 extends object ? { [K_379 in keyof T_681]-?: T_681[K_379] extends infer T_682 ? T_682 extends T_681[K_379] ? T_682 extends CanBeExpanded ? T_682["default"] : T_682 : never : never; } : T_681 : never : never : T_680 extends (infer U)[] ? any[] : T_680 extends object ? { [K_380 in keyof T_680]-?: T_680[K_380] extends infer T_683 ? T_683 extends T_680[K_380] ? T_683 extends CanBeExpanded ? T_683["default"] : T_683 : never : never; } : T_680 : never : never : T_679 extends (infer U)[] ? any[] : T_679 extends object ? { [K_381 in keyof T_679]-?: T_679[K_381] extends infer T_684 ? T_684 extends T_679[K_381] ? T_684 extends CanBeExpanded ? T_684["default"] : T_684 : never : never; } : T_679 : never : never : T_678 extends (infer U)[] ? any[] : T_678 extends object ? { [K_382 in keyof T_678]-?: T_678[K_382] extends infer T_685 ? T_685 extends T_678[K_382] ? T_685 extends CanBeExpanded ? T_685["default"] : T_685 : never : never; } : T_678 : never : never : T_677 extends (infer U)[] ? any[] : T_677 extends object ? { [K_383 in keyof T_677]-?: T_677[K_383] extends infer T_686 ? T_686 extends T_677[K_383] ? T_686 extends CanBeExpanded ? T_686["default"] : T_686 : never : never; } : T_677 : never : never : T_676 extends (infer U)[] ? any[] : T_676 extends object ? { [K_384 in keyof T_676]-?: T_676[K_384] extends infer T_687 ? T_687 extends T_676[K_384] ? T_687 extends CanBeExpanded ? T_687["default"] : T_687 : never : never; } : T_676 : never : never : T_674 extends (infer U)[] ? any[] : T_674 extends object ? { [K_385 in keyof T_674]-?: T_674[K_385] extends infer T_688 ? T_688 extends T_674[K_385] ? T_688 extends CanBeExpanded ? T_688["default"] : T_688 : never : never; } : T_674 : never : never; } : T_618 : never : never; } : T_447 : never : never; } : T_2 : never : never : T extends (infer U)[] ? any[] : T extends object ? { [K_386 in keyof T]-?: T[K_386] extends infer T_689 ? T_689 extends T[K_386] ? T_689 extends CanBeExpanded ? T_689[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] extends infer T_691 ? T_691 extends T_689[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] ? T_691 extends CanBeExpanded ? T_691[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] extends infer T_692 ? T_692 extends T_691[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] ? T_692 extends CanBeExpanded ? T_692[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] extends infer T_693 ? T_693 extends T_692[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] ? T_693 extends CanBeExpanded ? T_693[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] extends infer T_694 ? T_694 extends T_693[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] ? T_694 extends CanBeExpanded ? T_694[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] extends infer T_695 ? T_695 extends T_694[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] ? T_695 extends CanBeExpanded ? T_695[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] extends infer T_696 ? T_696 extends T_695[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] ? T_696 extends CanBeExpanded ? T_696[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] extends infer T_697 ? T_697 extends T_696[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] ? T_697 extends CanBeExpanded ? T_697[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] extends infer T_698 ? T_698 extends T_697[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] ? T_698 extends CanBeExpanded ? T_698[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] extends infer T_699 ? T_699 extends T_698[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] ? T_699 extends CanBeExpanded ? any : T_699 extends (infer U)[] ? any[] : T_699 extends object ? { [K_387 in keyof T_699]-?: any; } : T_699 : never : never : T_698 extends (infer U)[] ? any[] : T_698 extends object ? { [K_388 in keyof T_698]-?: T_698[K_388] extends infer T_700 ? T_700 extends T_698[K_388] ? T_700 extends CanBeExpanded ? any : T_700 extends (infer U)[] ? any[] : T_700 extends object ? { [K_389 in keyof T_700]-?: any; } : T_700 : never : never; } : T_698 : never : never : T_697 extends (infer U)[] ? any[] : T_697 extends object ? { [K_390 in keyof T_697]-?: T_697[K_390] extends infer T_701 ? T_701 extends T_697[K_390] ? T_701 extends CanBeExpanded ? T_701[PrefixWith<`${string & K_386}`, K_390, "."> extends infer T_702 ? T_702 extends PrefixWith<`${string & K_386}`, K_390, "."> ? T_702 extends SplitAC ? "value" : "default" : never : never] extends infer T_703 ? T_703 extends T_701[PrefixWith<`${string & K_386}`, K_390, "."> extends infer T_702 ? T_702 extends PrefixWith<`${string & K_386}`, K_390, "."> ? T_702 extends SplitAC ? "value" : "default" : never : never] ? T_703 extends CanBeExpanded ? any : T_703 extends (infer U)[] ? any[] : T_703 extends object ? { [K_391 in keyof T_703]-?: any; } : T_703 : never : never : T_701 extends (infer U)[] ? any[] : T_701 extends object ? { [K_392 in keyof T_701]-?: T_701[K_392] extends infer T_704 ? T_704 extends T_701[K_392] ? T_704 extends CanBeExpanded ? any : T_704 extends (infer U)[] ? any[] : T_704 extends object ? { [K_393 in keyof T_704]-?: T_704[K_393] extends infer T_705 ? T_705 extends T_704[K_393] ? T_705 extends CanBeExpanded ? T_705["default"] : T_705 : never : never; } : T_704 : never : never; } : T_701 : never : never; } : T_697 : never : never : T_696 extends (infer U)[] ? any[] : T_696 extends object ? { [K_394 in keyof T_696]-?: T_696[K_394] extends infer T_706 ? T_706 extends T_696[K_394] ? T_706 extends CanBeExpanded ? T_706[PrefixWith<`${string & K_386}`, K_394, "."> extends infer T_707 ? T_707 extends PrefixWith<`${string & K_386}`, K_394, "."> ? T_707 extends SplitAC ? "value" : "default" : never : never] extends infer T_708 ? T_708 extends T_706[PrefixWith<`${string & K_386}`, K_394, "."> extends infer T_707 ? T_707 extends PrefixWith<`${string & K_386}`, K_394, "."> ? T_707 extends SplitAC ? "value" : "default" : never : never] ? T_708 extends CanBeExpanded ? T_708[PrefixWith<`${string & K_386}`, K_394, "."> extends infer T_707 ? T_707 extends PrefixWith<`${string & K_386}`, K_394, "."> ? T_707 extends SplitAC ? "value" : "default" : never : never] extends infer T_709 ? T_709 extends T_708[PrefixWith<`${string & K_386}`, K_394, "."> extends infer T_707 ? T_707 extends PrefixWith<`${string & K_386}`, K_394, "."> ? T_707 extends SplitAC ? "value" : "default" : never : never] ? T_709 extends CanBeExpanded ? any : T_709 extends (infer U)[] ? any[] : T_709 extends object ? { [K_395 in keyof T_709]-?: any; } : T_709 : never : never : T_708 extends (infer U)[] ? any[] : T_708 extends object ? { [K_396 in keyof T_708]-?: T_708[K_396] extends infer T_710 ? T_710 extends T_708[K_396] ? T_710 extends CanBeExpanded ? any : T_710 extends (infer U)[] ? any[] : T_710 extends object ? { [K_397 in keyof T_710]-?: T_710[K_397] extends infer T_711 ? T_711 extends T_710[K_397] ? T_711 extends CanBeExpanded ? T_711["default"] : T_711 : never : never; } : T_710 : never : never; } : T_708 : never : never : T_706 extends (infer U)[] ? any[] : T_706 extends object ? { [K_398 in keyof T_706]-?: T_706[K_398] extends infer T_712 ? T_712 extends T_706[K_398] ? T_712 extends CanBeExpanded ? T_712[PrefixWith, K_398, "."> extends infer T_713 ? T_713 extends PrefixWith, K_398, "."> ? T_713 extends SplitAC ? "value" : "default" : never : never] extends infer T_714 ? T_714 extends T_712[PrefixWith, K_398, "."> extends infer T_713 ? T_713 extends PrefixWith, K_398, "."> ? T_713 extends SplitAC ? "value" : "default" : never : never] ? T_714 extends CanBeExpanded ? any : T_714 extends (infer U)[] ? any[] : T_714 extends object ? { [K_399 in keyof T_714]-?: T_714[K_399] extends infer T_715 ? T_715 extends T_714[K_399] ? T_715 extends CanBeExpanded ? T_715["default"] : T_715 : never : never; } : T_714 : never : never : T_712 extends (infer U)[] ? any[] : T_712 extends object ? { [K_400 in keyof T_712]-?: T_712[K_400] extends infer T_716 ? T_716 extends T_712[K_400] ? T_716 extends CanBeExpanded ? T_716["default"] : T_716 : never : never; } : T_712 : never : never; } : T_706 : never : never; } : T_696 : never : never : T_695 extends (infer U)[] ? any[] : T_695 extends object ? { [K_401 in keyof T_695]-?: T_695[K_401] extends infer T_717 ? T_717 extends T_695[K_401] ? T_717 extends CanBeExpanded ? T_717[PrefixWith<`${string & K_386}`, K_401, "."> extends infer T_718 ? T_718 extends PrefixWith<`${string & K_386}`, K_401, "."> ? T_718 extends SplitAC ? "value" : "default" : never : never] extends infer T_719 ? T_719 extends T_717[PrefixWith<`${string & K_386}`, K_401, "."> extends infer T_718 ? T_718 extends PrefixWith<`${string & K_386}`, K_401, "."> ? T_718 extends SplitAC ? "value" : "default" : never : never] ? T_719 extends CanBeExpanded ? T_719[PrefixWith<`${string & K_386}`, K_401, "."> extends infer T_718 ? T_718 extends PrefixWith<`${string & K_386}`, K_401, "."> ? T_718 extends SplitAC ? "value" : "default" : never : never] extends infer T_720 ? T_720 extends T_719[PrefixWith<`${string & K_386}`, K_401, "."> extends infer T_718 ? T_718 extends PrefixWith<`${string & K_386}`, K_401, "."> ? T_718 extends SplitAC ? "value" : "default" : never : never] ? T_720 extends CanBeExpanded ? T_720[PrefixWith<`${string & K_386}`, K_401, "."> extends infer T_718 ? T_718 extends PrefixWith<`${string & K_386}`, K_401, "."> ? T_718 extends SplitAC ? "value" : "default" : never : never] extends infer T_721 ? T_721 extends T_720[PrefixWith<`${string & K_386}`, K_401, "."> extends infer T_718 ? T_718 extends PrefixWith<`${string & K_386}`, K_401, "."> ? T_718 extends SplitAC ? "value" : "default" : never : never] ? T_721 extends CanBeExpanded ? any : T_721 extends (infer U)[] ? any[] : T_721 extends object ? { [K_402 in keyof T_721]-?: any; } : T_721 : never : never : T_720 extends (infer U)[] ? any[] : T_720 extends object ? { [K_403 in keyof T_720]-?: T_720[K_403] extends infer T_722 ? T_722 extends T_720[K_403] ? T_722 extends CanBeExpanded ? any : T_722 extends (infer U)[] ? any[] : T_722 extends object ? { [K_404 in keyof T_722]-?: T_722[K_404] extends infer T_723 ? T_723 extends T_722[K_404] ? T_723 extends CanBeExpanded ? T_723["default"] : T_723 : never : never; } : T_722 : never : never; } : T_720 : never : never : T_719 extends (infer U)[] ? any[] : T_719 extends object ? { [K_405 in keyof T_719]-?: T_719[K_405] extends infer T_724 ? T_724 extends T_719[K_405] ? T_724 extends CanBeExpanded ? T_724[PrefixWith, K_405, "."> extends infer T_725 ? T_725 extends PrefixWith, K_405, "."> ? T_725 extends SplitAC ? "value" : "default" : never : never] extends infer T_726 ? T_726 extends T_724[PrefixWith, K_405, "."> extends infer T_725 ? T_725 extends PrefixWith, K_405, "."> ? T_725 extends SplitAC ? "value" : "default" : never : never] ? T_726 extends CanBeExpanded ? any : T_726 extends (infer U)[] ? any[] : T_726 extends object ? { [K_406 in keyof T_726]-?: T_726[K_406] extends infer T_727 ? T_727 extends T_726[K_406] ? T_727 extends CanBeExpanded ? T_727["default"] : T_727 : never : never; } : T_726 : never : never : T_724 extends (infer U)[] ? any[] : T_724 extends object ? { [K_407 in keyof T_724]-?: T_724[K_407] extends infer T_728 ? T_728 extends T_724[K_407] ? T_728 extends CanBeExpanded ? T_728["default"] : T_728 : never : never; } : T_724 : never : never; } : T_719 : never : never : T_717 extends (infer U)[] ? any[] : T_717 extends object ? { [K_408 in keyof T_717]-?: T_717[K_408] extends infer T_729 ? T_729 extends T_717[K_408] ? T_729 extends CanBeExpanded ? T_729[PrefixWith, K_408, "."> extends infer T_730 ? T_730 extends PrefixWith, K_408, "."> ? T_730 extends SplitAC ? "value" : "default" : never : never] extends infer T_731 ? T_731 extends T_729[PrefixWith, K_408, "."> extends infer T_730 ? T_730 extends PrefixWith, K_408, "."> ? T_730 extends SplitAC ? "value" : "default" : never : never] ? T_731 extends CanBeExpanded ? T_731[PrefixWith, K_408, "."> extends infer T_730 ? T_730 extends PrefixWith, K_408, "."> ? T_730 extends SplitAC ? "value" : "default" : never : never] extends infer T_732 ? T_732 extends T_731[PrefixWith, K_408, "."> extends infer T_730 ? T_730 extends PrefixWith, K_408, "."> ? T_730 extends SplitAC ? "value" : "default" : never : never] ? T_732 extends CanBeExpanded ? any : T_732 extends (infer U)[] ? any[] : T_732 extends object ? { [K_409 in keyof T_732]-?: T_732[K_409] extends infer T_733 ? T_733 extends T_732[K_409] ? T_733 extends CanBeExpanded ? T_733["default"] : T_733 : never : never; } : T_732 : never : never : T_731 extends (infer U)[] ? any[] : T_731 extends object ? { [K_410 in keyof T_731]-?: T_731[K_410] extends infer T_734 ? T_734 extends T_731[K_410] ? T_734 extends CanBeExpanded ? T_734["default"] : T_734 : never : never; } : T_731 : never : never : T_729 extends (infer U)[] ? any[] : T_729 extends object ? { [K_411 in keyof T_729]-?: T_729[K_411] extends infer T_735 ? T_735 extends T_729[K_411] ? T_735 extends CanBeExpanded ? T_735["default"] : T_735 : never : never; } : T_729 : never : never; } : T_717 : never : never; } : T_695 : never : never : T_694 extends (infer U)[] ? any[] : T_694 extends object ? { [K_412 in keyof T_694]-?: T_694[K_412] extends infer T_736 ? T_736 extends T_694[K_412] ? T_736 extends CanBeExpanded ? T_736[PrefixWith<`${string & K_386}`, K_412, "."> extends infer T_737 ? T_737 extends PrefixWith<`${string & K_386}`, K_412, "."> ? T_737 extends SplitAC ? "value" : "default" : never : never] extends infer T_738 ? T_738 extends T_736[PrefixWith<`${string & K_386}`, K_412, "."> extends infer T_737 ? T_737 extends PrefixWith<`${string & K_386}`, K_412, "."> ? T_737 extends SplitAC ? "value" : "default" : never : never] ? T_738 extends CanBeExpanded ? T_738[PrefixWith<`${string & K_386}`, K_412, "."> extends infer T_737 ? T_737 extends PrefixWith<`${string & K_386}`, K_412, "."> ? T_737 extends SplitAC ? "value" : "default" : never : never] extends infer T_739 ? T_739 extends T_738[PrefixWith<`${string & K_386}`, K_412, "."> extends infer T_737 ? T_737 extends PrefixWith<`${string & K_386}`, K_412, "."> ? T_737 extends SplitAC ? "value" : "default" : never : never] ? T_739 extends CanBeExpanded ? T_739[PrefixWith<`${string & K_386}`, K_412, "."> extends infer T_737 ? T_737 extends PrefixWith<`${string & K_386}`, K_412, "."> ? T_737 extends SplitAC ? "value" : "default" : never : never] extends infer T_740 ? T_740 extends T_739[PrefixWith<`${string & K_386}`, K_412, "."> extends infer T_737 ? T_737 extends PrefixWith<`${string & K_386}`, K_412, "."> ? T_737 extends SplitAC ? "value" : "default" : never : never] ? T_740 extends CanBeExpanded ? T_740[PrefixWith<`${string & K_386}`, K_412, "."> extends infer T_737 ? T_737 extends PrefixWith<`${string & K_386}`, K_412, "."> ? T_737 extends SplitAC ? "value" : "default" : never : never] extends infer T_741 ? T_741 extends T_740[PrefixWith<`${string & K_386}`, K_412, "."> extends infer T_737 ? T_737 extends PrefixWith<`${string & K_386}`, K_412, "."> ? T_737 extends SplitAC ? "value" : "default" : never : never] ? T_741 extends CanBeExpanded ? any : T_741 extends (infer U)[] ? any[] : T_741 extends object ? { [K_413 in keyof T_741]-?: any; } : T_741 : never : never : T_740 extends (infer U)[] ? any[] : T_740 extends object ? { [K_414 in keyof T_740]-?: T_740[K_414] extends infer T_742 ? T_742 extends T_740[K_414] ? T_742 extends CanBeExpanded ? any : T_742 extends (infer U)[] ? any[] : T_742 extends object ? { [K_415 in keyof T_742]-?: T_742[K_415] extends infer T_743 ? T_743 extends T_742[K_415] ? T_743 extends CanBeExpanded ? T_743["default"] : T_743 : never : never; } : T_742 : never : never; } : T_740 : never : never : T_739 extends (infer U)[] ? any[] : T_739 extends object ? { [K_416 in keyof T_739]-?: T_739[K_416] extends infer T_744 ? T_744 extends T_739[K_416] ? T_744 extends CanBeExpanded ? T_744[PrefixWith, K_416, "."> extends infer T_745 ? T_745 extends PrefixWith, K_416, "."> ? T_745 extends SplitAC ? "value" : "default" : never : never] extends infer T_746 ? T_746 extends T_744[PrefixWith, K_416, "."> extends infer T_745 ? T_745 extends PrefixWith, K_416, "."> ? T_745 extends SplitAC ? "value" : "default" : never : never] ? T_746 extends CanBeExpanded ? any : T_746 extends (infer U)[] ? any[] : T_746 extends object ? { [K_417 in keyof T_746]-?: T_746[K_417] extends infer T_747 ? T_747 extends T_746[K_417] ? T_747 extends CanBeExpanded ? T_747["default"] : T_747 : never : never; } : T_746 : never : never : T_744 extends (infer U)[] ? any[] : T_744 extends object ? { [K_418 in keyof T_744]-?: T_744[K_418] extends infer T_748 ? T_748 extends T_744[K_418] ? T_748 extends CanBeExpanded ? T_748["default"] : T_748 : never : never; } : T_744 : never : never; } : T_739 : never : never : T_738 extends (infer U)[] ? any[] : T_738 extends object ? { [K_419 in keyof T_738]-?: T_738[K_419] extends infer T_749 ? T_749 extends T_738[K_419] ? T_749 extends CanBeExpanded ? T_749[PrefixWith, K_419, "."> extends infer T_750 ? T_750 extends PrefixWith, K_419, "."> ? T_750 extends SplitAC ? "value" : "default" : never : never] extends infer T_751 ? T_751 extends T_749[PrefixWith, K_419, "."> extends infer T_750 ? T_750 extends PrefixWith, K_419, "."> ? T_750 extends SplitAC ? "value" : "default" : never : never] ? T_751 extends CanBeExpanded ? T_751[PrefixWith, K_419, "."> extends infer T_750 ? T_750 extends PrefixWith, K_419, "."> ? T_750 extends SplitAC ? "value" : "default" : never : never] extends infer T_752 ? T_752 extends T_751[PrefixWith, K_419, "."> extends infer T_750 ? T_750 extends PrefixWith, K_419, "."> ? T_750 extends SplitAC ? "value" : "default" : never : never] ? T_752 extends CanBeExpanded ? any : T_752 extends (infer U)[] ? any[] : T_752 extends object ? { [K_420 in keyof T_752]-?: T_752[K_420] extends infer T_753 ? T_753 extends T_752[K_420] ? T_753 extends CanBeExpanded ? T_753["default"] : T_753 : never : never; } : T_752 : never : never : T_751 extends (infer U)[] ? any[] : T_751 extends object ? { [K_421 in keyof T_751]-?: T_751[K_421] extends infer T_754 ? T_754 extends T_751[K_421] ? T_754 extends CanBeExpanded ? T_754["default"] : T_754 : never : never; } : T_751 : never : never : T_749 extends (infer U)[] ? any[] : T_749 extends object ? { [K_422 in keyof T_749]-?: T_749[K_422] extends infer T_755 ? T_755 extends T_749[K_422] ? T_755 extends CanBeExpanded ? T_755["default"] : T_755 : never : never; } : T_749 : never : never; } : T_738 : never : never : T_736 extends (infer U)[] ? any[] : T_736 extends object ? { [K_423 in keyof T_736]-?: T_736[K_423] extends infer T_756 ? T_756 extends T_736[K_423] ? T_756 extends CanBeExpanded ? T_756[PrefixWith, K_423, "."> extends infer T_757 ? T_757 extends PrefixWith, K_423, "."> ? T_757 extends SplitAC ? "value" : "default" : never : never] extends infer T_758 ? T_758 extends T_756[PrefixWith, K_423, "."> extends infer T_757 ? T_757 extends PrefixWith, K_423, "."> ? T_757 extends SplitAC ? "value" : "default" : never : never] ? T_758 extends CanBeExpanded ? T_758[PrefixWith, K_423, "."> extends infer T_757 ? T_757 extends PrefixWith, K_423, "."> ? T_757 extends SplitAC ? "value" : "default" : never : never] extends infer T_759 ? T_759 extends T_758[PrefixWith, K_423, "."> extends infer T_757 ? T_757 extends PrefixWith, K_423, "."> ? T_757 extends SplitAC ? "value" : "default" : never : never] ? T_759 extends CanBeExpanded ? T_759[PrefixWith, K_423, "."> extends infer T_757 ? T_757 extends PrefixWith, K_423, "."> ? T_757 extends SplitAC ? "value" : "default" : never : never] extends infer T_760 ? T_760 extends T_759[PrefixWith, K_423, "."> extends infer T_757 ? T_757 extends PrefixWith, K_423, "."> ? T_757 extends SplitAC ? "value" : "default" : never : never] ? T_760 extends CanBeExpanded ? any : T_760 extends (infer U)[] ? any[] : T_760 extends object ? { [K_424 in keyof T_760]-?: T_760[K_424] extends infer T_761 ? T_761 extends T_760[K_424] ? T_761 extends CanBeExpanded ? T_761["default"] : T_761 : never : never; } : T_760 : never : never : T_759 extends (infer U)[] ? any[] : T_759 extends object ? { [K_425 in keyof T_759]-?: T_759[K_425] extends infer T_762 ? T_762 extends T_759[K_425] ? T_762 extends CanBeExpanded ? T_762["default"] : T_762 : never : never; } : T_759 : never : never : T_758 extends (infer U)[] ? any[] : T_758 extends object ? { [K_426 in keyof T_758]-?: T_758[K_426] extends infer T_763 ? T_763 extends T_758[K_426] ? T_763 extends CanBeExpanded ? T_763["default"] : T_763 : never : never; } : T_758 : never : never : T_756 extends (infer U)[] ? any[] : T_756 extends object ? { [K_427 in keyof T_756]-?: T_756[K_427] extends infer T_764 ? T_764 extends T_756[K_427] ? T_764 extends CanBeExpanded ? T_764["default"] : T_764 : never : never; } : T_756 : never : never; } : T_736 : never : never; } : T_694 : never : never : T_693 extends (infer U)[] ? any[] : T_693 extends object ? { [K_428 in keyof T_693]-?: T_693[K_428] extends infer T_765 ? T_765 extends T_693[K_428] ? T_765 extends CanBeExpanded ? T_765[PrefixWith<`${string & K_386}`, K_428, "."> extends infer T_766 ? T_766 extends PrefixWith<`${string & K_386}`, K_428, "."> ? T_766 extends SplitAC ? "value" : "default" : never : never] extends infer T_767 ? T_767 extends T_765[PrefixWith<`${string & K_386}`, K_428, "."> extends infer T_766 ? T_766 extends PrefixWith<`${string & K_386}`, K_428, "."> ? T_766 extends SplitAC ? "value" : "default" : never : never] ? T_767 extends CanBeExpanded ? T_767[PrefixWith<`${string & K_386}`, K_428, "."> extends infer T_766 ? T_766 extends PrefixWith<`${string & K_386}`, K_428, "."> ? T_766 extends SplitAC ? "value" : "default" : never : never] extends infer T_768 ? T_768 extends T_767[PrefixWith<`${string & K_386}`, K_428, "."> extends infer T_766 ? T_766 extends PrefixWith<`${string & K_386}`, K_428, "."> ? T_766 extends SplitAC ? "value" : "default" : never : never] ? T_768 extends CanBeExpanded ? T_768[PrefixWith<`${string & K_386}`, K_428, "."> extends infer T_766 ? T_766 extends PrefixWith<`${string & K_386}`, K_428, "."> ? T_766 extends SplitAC ? "value" : "default" : never : never] extends infer T_769 ? T_769 extends T_768[PrefixWith<`${string & K_386}`, K_428, "."> extends infer T_766 ? T_766 extends PrefixWith<`${string & K_386}`, K_428, "."> ? T_766 extends SplitAC ? "value" : "default" : never : never] ? T_769 extends CanBeExpanded ? T_769[PrefixWith<`${string & K_386}`, K_428, "."> extends infer T_766 ? T_766 extends PrefixWith<`${string & K_386}`, K_428, "."> ? T_766 extends SplitAC ? "value" : "default" : never : never] extends infer T_770 ? T_770 extends T_769[PrefixWith<`${string & K_386}`, K_428, "."> extends infer T_766 ? T_766 extends PrefixWith<`${string & K_386}`, K_428, "."> ? T_766 extends SplitAC ? "value" : "default" : never : never] ? T_770 extends CanBeExpanded ? T_770[PrefixWith<`${string & K_386}`, K_428, "."> extends infer T_766 ? T_766 extends PrefixWith<`${string & K_386}`, K_428, "."> ? T_766 extends SplitAC ? "value" : "default" : never : never] extends infer T_771 ? T_771 extends T_770[PrefixWith<`${string & K_386}`, K_428, "."> extends infer T_766 ? T_766 extends PrefixWith<`${string & K_386}`, K_428, "."> ? T_766 extends SplitAC ? "value" : "default" : never : never] ? T_771 extends CanBeExpanded ? any : T_771 extends (infer U)[] ? any[] : T_771 extends object ? { [K_429 in keyof T_771]-?: any; } : T_771 : never : never : T_770 extends (infer U)[] ? any[] : T_770 extends object ? { [K_430 in keyof T_770]-?: T_770[K_430] extends infer T_772 ? T_772 extends T_770[K_430] ? T_772 extends CanBeExpanded ? any : T_772 extends (infer U)[] ? any[] : T_772 extends object ? { [K_431 in keyof T_772]-?: T_772[K_431] extends infer T_773 ? T_773 extends T_772[K_431] ? T_773 extends CanBeExpanded ? T_773["default"] : T_773 : never : never; } : T_772 : never : never; } : T_770 : never : never : T_769 extends (infer U)[] ? any[] : T_769 extends object ? { [K_432 in keyof T_769]-?: T_769[K_432] extends infer T_774 ? T_774 extends T_769[K_432] ? T_774 extends CanBeExpanded ? T_774[PrefixWith, K_432, "."> extends infer T_775 ? T_775 extends PrefixWith, K_432, "."> ? T_775 extends SplitAC ? "value" : "default" : never : never] extends infer T_776 ? T_776 extends T_774[PrefixWith, K_432, "."> extends infer T_775 ? T_775 extends PrefixWith, K_432, "."> ? T_775 extends SplitAC ? "value" : "default" : never : never] ? T_776 extends CanBeExpanded ? any : T_776 extends (infer U)[] ? any[] : T_776 extends object ? { [K_433 in keyof T_776]-?: T_776[K_433] extends infer T_777 ? T_777 extends T_776[K_433] ? T_777 extends CanBeExpanded ? T_777["default"] : T_777 : never : never; } : T_776 : never : never : T_774 extends (infer U)[] ? any[] : T_774 extends object ? { [K_434 in keyof T_774]-?: T_774[K_434] extends infer T_778 ? T_778 extends T_774[K_434] ? T_778 extends CanBeExpanded ? T_778["default"] : T_778 : never : never; } : T_774 : never : never; } : T_769 : never : never : T_768 extends (infer U)[] ? any[] : T_768 extends object ? { [K_435 in keyof T_768]-?: T_768[K_435] extends infer T_779 ? T_779 extends T_768[K_435] ? T_779 extends CanBeExpanded ? T_779[PrefixWith, K_435, "."> extends infer T_780 ? T_780 extends PrefixWith, K_435, "."> ? T_780 extends SplitAC ? "value" : "default" : never : never] extends infer T_781 ? T_781 extends T_779[PrefixWith, K_435, "."> extends infer T_780 ? T_780 extends PrefixWith, K_435, "."> ? T_780 extends SplitAC ? "value" : "default" : never : never] ? T_781 extends CanBeExpanded ? T_781[PrefixWith, K_435, "."> extends infer T_780 ? T_780 extends PrefixWith, K_435, "."> ? T_780 extends SplitAC ? "value" : "default" : never : never] extends infer T_782 ? T_782 extends T_781[PrefixWith, K_435, "."> extends infer T_780 ? T_780 extends PrefixWith, K_435, "."> ? T_780 extends SplitAC ? "value" : "default" : never : never] ? T_782 extends CanBeExpanded ? any : T_782 extends (infer U)[] ? any[] : T_782 extends object ? { [K_436 in keyof T_782]-?: T_782[K_436] extends infer T_783 ? T_783 extends T_782[K_436] ? T_783 extends CanBeExpanded ? T_783["default"] : T_783 : never : never; } : T_782 : never : never : T_781 extends (infer U)[] ? any[] : T_781 extends object ? { [K_437 in keyof T_781]-?: T_781[K_437] extends infer T_784 ? T_784 extends T_781[K_437] ? T_784 extends CanBeExpanded ? T_784["default"] : T_784 : never : never; } : T_781 : never : never : T_779 extends (infer U)[] ? any[] : T_779 extends object ? { [K_438 in keyof T_779]-?: T_779[K_438] extends infer T_785 ? T_785 extends T_779[K_438] ? T_785 extends CanBeExpanded ? T_785["default"] : T_785 : never : never; } : T_779 : never : never; } : T_768 : never : never : T_767 extends (infer U)[] ? any[] : T_767 extends object ? { [K_439 in keyof T_767]-?: T_767[K_439] extends infer T_786 ? T_786 extends T_767[K_439] ? T_786 extends CanBeExpanded ? T_786[PrefixWith, K_439, "."> extends infer T_787 ? T_787 extends PrefixWith, K_439, "."> ? T_787 extends SplitAC ? "value" : "default" : never : never] extends infer T_788 ? T_788 extends T_786[PrefixWith, K_439, "."> extends infer T_787 ? T_787 extends PrefixWith, K_439, "."> ? T_787 extends SplitAC ? "value" : "default" : never : never] ? T_788 extends CanBeExpanded ? T_788[PrefixWith, K_439, "."> extends infer T_787 ? T_787 extends PrefixWith, K_439, "."> ? T_787 extends SplitAC ? "value" : "default" : never : never] extends infer T_789 ? T_789 extends T_788[PrefixWith, K_439, "."> extends infer T_787 ? T_787 extends PrefixWith, K_439, "."> ? T_787 extends SplitAC ? "value" : "default" : never : never] ? T_789 extends CanBeExpanded ? T_789[PrefixWith, K_439, "."> extends infer T_787 ? T_787 extends PrefixWith, K_439, "."> ? T_787 extends SplitAC ? "value" : "default" : never : never] extends infer T_790 ? T_790 extends T_789[PrefixWith, K_439, "."> extends infer T_787 ? T_787 extends PrefixWith, K_439, "."> ? T_787 extends SplitAC ? "value" : "default" : never : never] ? T_790 extends CanBeExpanded ? any : T_790 extends (infer U)[] ? any[] : T_790 extends object ? { [K_440 in keyof T_790]-?: T_790[K_440] extends infer T_791 ? T_791 extends T_790[K_440] ? T_791 extends CanBeExpanded ? T_791["default"] : T_791 : never : never; } : T_790 : never : never : T_789 extends (infer U)[] ? any[] : T_789 extends object ? { [K_441 in keyof T_789]-?: T_789[K_441] extends infer T_792 ? T_792 extends T_789[K_441] ? T_792 extends CanBeExpanded ? T_792["default"] : T_792 : never : never; } : T_789 : never : never : T_788 extends (infer U)[] ? any[] : T_788 extends object ? { [K_442 in keyof T_788]-?: T_788[K_442] extends infer T_793 ? T_793 extends T_788[K_442] ? T_793 extends CanBeExpanded ? T_793["default"] : T_793 : never : never; } : T_788 : never : never : T_786 extends (infer U)[] ? any[] : T_786 extends object ? { [K_443 in keyof T_786]-?: T_786[K_443] extends infer T_794 ? T_794 extends T_786[K_443] ? T_794 extends CanBeExpanded ? T_794["default"] : T_794 : never : never; } : T_786 : never : never; } : T_767 : never : never : T_765 extends (infer U)[] ? any[] : T_765 extends object ? { [K_444 in keyof T_765]-?: T_765[K_444] extends infer T_795 ? T_795 extends T_765[K_444] ? T_795 extends CanBeExpanded ? T_795[PrefixWith, K_444, "."> extends infer T_796 ? T_796 extends PrefixWith, K_444, "."> ? T_796 extends SplitAC ? "value" : "default" : never : never] extends infer T_797 ? T_797 extends T_795[PrefixWith, K_444, "."> extends infer T_796 ? T_796 extends PrefixWith, K_444, "."> ? T_796 extends SplitAC ? "value" : "default" : never : never] ? T_797 extends CanBeExpanded ? T_797[PrefixWith, K_444, "."> extends infer T_796 ? T_796 extends PrefixWith, K_444, "."> ? T_796 extends SplitAC ? "value" : "default" : never : never] extends infer T_798 ? T_798 extends T_797[PrefixWith, K_444, "."> extends infer T_796 ? T_796 extends PrefixWith, K_444, "."> ? T_796 extends SplitAC ? "value" : "default" : never : never] ? T_798 extends CanBeExpanded ? T_798[PrefixWith, K_444, "."> extends infer T_796 ? T_796 extends PrefixWith, K_444, "."> ? T_796 extends SplitAC ? "value" : "default" : never : never] extends infer T_799 ? T_799 extends T_798[PrefixWith, K_444, "."> extends infer T_796 ? T_796 extends PrefixWith, K_444, "."> ? T_796 extends SplitAC ? "value" : "default" : never : never] ? T_799 extends CanBeExpanded ? T_799[PrefixWith, K_444, "."> extends infer T_796 ? T_796 extends PrefixWith, K_444, "."> ? T_796 extends SplitAC ? "value" : "default" : never : never] extends infer T_800 ? T_800 extends T_799[PrefixWith, K_444, "."> extends infer T_796 ? T_796 extends PrefixWith, K_444, "."> ? T_796 extends SplitAC ? "value" : "default" : never : never] ? T_800 extends CanBeExpanded ? any : T_800 extends (infer U)[] ? any[] : T_800 extends object ? { [K_445 in keyof T_800]-?: T_800[K_445] extends infer T_801 ? T_801 extends T_800[K_445] ? T_801 extends CanBeExpanded ? T_801["default"] : T_801 : never : never; } : T_800 : never : never : T_799 extends (infer U)[] ? any[] : T_799 extends object ? { [K_446 in keyof T_799]-?: T_799[K_446] extends infer T_802 ? T_802 extends T_799[K_446] ? T_802 extends CanBeExpanded ? T_802["default"] : T_802 : never : never; } : T_799 : never : never : T_798 extends (infer U)[] ? any[] : T_798 extends object ? { [K_447 in keyof T_798]-?: T_798[K_447] extends infer T_803 ? T_803 extends T_798[K_447] ? T_803 extends CanBeExpanded ? T_803["default"] : T_803 : never : never; } : T_798 : never : never : T_797 extends (infer U)[] ? any[] : T_797 extends object ? { [K_448 in keyof T_797]-?: T_797[K_448] extends infer T_804 ? T_804 extends T_797[K_448] ? T_804 extends CanBeExpanded ? T_804["default"] : T_804 : never : never; } : T_797 : never : never : T_795 extends (infer U)[] ? any[] : T_795 extends object ? { [K_449 in keyof T_795]-?: T_795[K_449] extends infer T_805 ? T_805 extends T_795[K_449] ? T_805 extends CanBeExpanded ? T_805["default"] : T_805 : never : never; } : T_795 : never : never; } : T_765 : never : never; } : T_693 : never : never : T_692 extends (infer U)[] ? any[] : T_692 extends object ? { [K_450 in keyof T_692]-?: T_692[K_450] extends infer T_806 ? T_806 extends T_692[K_450] ? T_806 extends CanBeExpanded ? T_806[PrefixWith<`${string & K_386}`, K_450, "."> extends infer T_807 ? T_807 extends PrefixWith<`${string & K_386}`, K_450, "."> ? T_807 extends SplitAC ? "value" : "default" : never : never] extends infer T_808 ? T_808 extends T_806[PrefixWith<`${string & K_386}`, K_450, "."> extends infer T_807 ? T_807 extends PrefixWith<`${string & K_386}`, K_450, "."> ? T_807 extends SplitAC ? "value" : "default" : never : never] ? T_808 extends CanBeExpanded ? T_808[PrefixWith<`${string & K_386}`, K_450, "."> extends infer T_807 ? T_807 extends PrefixWith<`${string & K_386}`, K_450, "."> ? T_807 extends SplitAC ? "value" : "default" : never : never] extends infer T_809 ? T_809 extends T_808[PrefixWith<`${string & K_386}`, K_450, "."> extends infer T_807 ? T_807 extends PrefixWith<`${string & K_386}`, K_450, "."> ? T_807 extends SplitAC ? "value" : "default" : never : never] ? T_809 extends CanBeExpanded ? T_809[PrefixWith<`${string & K_386}`, K_450, "."> extends infer T_807 ? T_807 extends PrefixWith<`${string & K_386}`, K_450, "."> ? T_807 extends SplitAC ? "value" : "default" : never : never] extends infer T_810 ? T_810 extends T_809[PrefixWith<`${string & K_386}`, K_450, "."> extends infer T_807 ? T_807 extends PrefixWith<`${string & K_386}`, K_450, "."> ? T_807 extends SplitAC ? "value" : "default" : never : never] ? T_810 extends CanBeExpanded ? T_810[PrefixWith<`${string & K_386}`, K_450, "."> extends infer T_807 ? T_807 extends PrefixWith<`${string & K_386}`, K_450, "."> ? T_807 extends SplitAC ? "value" : "default" : never : never] extends infer T_811 ? T_811 extends T_810[PrefixWith<`${string & K_386}`, K_450, "."> extends infer T_807 ? T_807 extends PrefixWith<`${string & K_386}`, K_450, "."> ? T_807 extends SplitAC ? "value" : "default" : never : never] ? T_811 extends CanBeExpanded ? T_811[PrefixWith<`${string & K_386}`, K_450, "."> extends infer T_807 ? T_807 extends PrefixWith<`${string & K_386}`, K_450, "."> ? T_807 extends SplitAC ? "value" : "default" : never : never] extends infer T_812 ? T_812 extends T_811[PrefixWith<`${string & K_386}`, K_450, "."> extends infer T_807 ? T_807 extends PrefixWith<`${string & K_386}`, K_450, "."> ? T_807 extends SplitAC ? "value" : "default" : never : never] ? T_812 extends CanBeExpanded ? T_812[PrefixWith<`${string & K_386}`, K_450, "."> extends infer T_807 ? T_807 extends PrefixWith<`${string & K_386}`, K_450, "."> ? T_807 extends SplitAC ? "value" : "default" : never : never] extends infer T_813 ? T_813 extends T_812[PrefixWith<`${string & K_386}`, K_450, "."> extends infer T_807 ? T_807 extends PrefixWith<`${string & K_386}`, K_450, "."> ? T_807 extends SplitAC ? "value" : "default" : never : never] ? T_813 extends CanBeExpanded ? any : T_813 extends (infer U)[] ? any[] : T_813 extends object ? { [K_451 in keyof T_813]-?: any; } : T_813 : never : never : T_812 extends (infer U)[] ? any[] : T_812 extends object ? { [K_452 in keyof T_812]-?: T_812[K_452] extends infer T_814 ? T_814 extends T_812[K_452] ? T_814 extends CanBeExpanded ? any : T_814 extends (infer U)[] ? any[] : T_814 extends object ? { [K_453 in keyof T_814]-?: T_814[K_453] extends infer T_815 ? T_815 extends T_814[K_453] ? T_815 extends CanBeExpanded ? T_815["default"] : T_815 : never : never; } : T_814 : never : never; } : T_812 : never : never : T_811 extends (infer U)[] ? any[] : T_811 extends object ? { [K_454 in keyof T_811]-?: T_811[K_454] extends infer T_816 ? T_816 extends T_811[K_454] ? T_816 extends CanBeExpanded ? T_816[PrefixWith, K_454, "."> extends infer T_817 ? T_817 extends PrefixWith, K_454, "."> ? T_817 extends SplitAC ? "value" : "default" : never : never] extends infer T_818 ? T_818 extends T_816[PrefixWith, K_454, "."> extends infer T_817 ? T_817 extends PrefixWith, K_454, "."> ? T_817 extends SplitAC ? "value" : "default" : never : never] ? T_818 extends CanBeExpanded ? any : T_818 extends (infer U)[] ? any[] : T_818 extends object ? { [K_455 in keyof T_818]-?: T_818[K_455] extends infer T_819 ? T_819 extends T_818[K_455] ? T_819 extends CanBeExpanded ? T_819["default"] : T_819 : never : never; } : T_818 : never : never : T_816 extends (infer U)[] ? any[] : T_816 extends object ? { [K_456 in keyof T_816]-?: T_816[K_456] extends infer T_820 ? T_820 extends T_816[K_456] ? T_820 extends CanBeExpanded ? T_820["default"] : T_820 : never : never; } : T_816 : never : never; } : T_811 : never : never : T_810 extends (infer U)[] ? any[] : T_810 extends object ? { [K_457 in keyof T_810]-?: T_810[K_457] extends infer T_821 ? T_821 extends T_810[K_457] ? T_821 extends CanBeExpanded ? T_821[PrefixWith, K_457, "."> extends infer T_822 ? T_822 extends PrefixWith, K_457, "."> ? T_822 extends SplitAC ? "value" : "default" : never : never] extends infer T_823 ? T_823 extends T_821[PrefixWith, K_457, "."> extends infer T_822 ? T_822 extends PrefixWith, K_457, "."> ? T_822 extends SplitAC ? "value" : "default" : never : never] ? T_823 extends CanBeExpanded ? T_823[PrefixWith, K_457, "."> extends infer T_822 ? T_822 extends PrefixWith, K_457, "."> ? T_822 extends SplitAC ? "value" : "default" : never : never] extends infer T_824 ? T_824 extends T_823[PrefixWith, K_457, "."> extends infer T_822 ? T_822 extends PrefixWith, K_457, "."> ? T_822 extends SplitAC ? "value" : "default" : never : never] ? T_824 extends CanBeExpanded ? any : T_824 extends (infer U)[] ? any[] : T_824 extends object ? { [K_458 in keyof T_824]-?: T_824[K_458] extends infer T_825 ? T_825 extends T_824[K_458] ? T_825 extends CanBeExpanded ? T_825["default"] : T_825 : never : never; } : T_824 : never : never : T_823 extends (infer U)[] ? any[] : T_823 extends object ? { [K_459 in keyof T_823]-?: T_823[K_459] extends infer T_826 ? T_826 extends T_823[K_459] ? T_826 extends CanBeExpanded ? T_826["default"] : T_826 : never : never; } : T_823 : never : never : T_821 extends (infer U)[] ? any[] : T_821 extends object ? { [K_460 in keyof T_821]-?: T_821[K_460] extends infer T_827 ? T_827 extends T_821[K_460] ? T_827 extends CanBeExpanded ? T_827["default"] : T_827 : never : never; } : T_821 : never : never; } : T_810 : never : never : T_809 extends (infer U)[] ? any[] : T_809 extends object ? { [K_461 in keyof T_809]-?: T_809[K_461] extends infer T_828 ? T_828 extends T_809[K_461] ? T_828 extends CanBeExpanded ? T_828[PrefixWith, K_461, "."> extends infer T_829 ? T_829 extends PrefixWith, K_461, "."> ? T_829 extends SplitAC ? "value" : "default" : never : never] extends infer T_830 ? T_830 extends T_828[PrefixWith, K_461, "."> extends infer T_829 ? T_829 extends PrefixWith, K_461, "."> ? T_829 extends SplitAC ? "value" : "default" : never : never] ? T_830 extends CanBeExpanded ? T_830[PrefixWith, K_461, "."> extends infer T_829 ? T_829 extends PrefixWith, K_461, "."> ? T_829 extends SplitAC ? "value" : "default" : never : never] extends infer T_831 ? T_831 extends T_830[PrefixWith, K_461, "."> extends infer T_829 ? T_829 extends PrefixWith, K_461, "."> ? T_829 extends SplitAC ? "value" : "default" : never : never] ? T_831 extends CanBeExpanded ? T_831[PrefixWith, K_461, "."> extends infer T_829 ? T_829 extends PrefixWith, K_461, "."> ? T_829 extends SplitAC ? "value" : "default" : never : never] extends infer T_832 ? T_832 extends T_831[PrefixWith, K_461, "."> extends infer T_829 ? T_829 extends PrefixWith, K_461, "."> ? T_829 extends SplitAC ? "value" : "default" : never : never] ? T_832 extends CanBeExpanded ? any : T_832 extends (infer U)[] ? any[] : T_832 extends object ? { [K_462 in keyof T_832]-?: T_832[K_462] extends infer T_833 ? T_833 extends T_832[K_462] ? T_833 extends CanBeExpanded ? T_833["default"] : T_833 : never : never; } : T_832 : never : never : T_831 extends (infer U)[] ? any[] : T_831 extends object ? { [K_463 in keyof T_831]-?: T_831[K_463] extends infer T_834 ? T_834 extends T_831[K_463] ? T_834 extends CanBeExpanded ? T_834["default"] : T_834 : never : never; } : T_831 : never : never : T_830 extends (infer U)[] ? any[] : T_830 extends object ? { [K_464 in keyof T_830]-?: T_830[K_464] extends infer T_835 ? T_835 extends T_830[K_464] ? T_835 extends CanBeExpanded ? T_835["default"] : T_835 : never : never; } : T_830 : never : never : T_828 extends (infer U)[] ? any[] : T_828 extends object ? { [K_465 in keyof T_828]-?: T_828[K_465] extends infer T_836 ? T_836 extends T_828[K_465] ? T_836 extends CanBeExpanded ? T_836["default"] : T_836 : never : never; } : T_828 : never : never; } : T_809 : never : never : T_808 extends (infer U)[] ? any[] : T_808 extends object ? { [K_466 in keyof T_808]-?: T_808[K_466] extends infer T_837 ? T_837 extends T_808[K_466] ? T_837 extends CanBeExpanded ? T_837[PrefixWith, K_466, "."> extends infer T_838 ? T_838 extends PrefixWith, K_466, "."> ? T_838 extends SplitAC ? "value" : "default" : never : never] extends infer T_839 ? T_839 extends T_837[PrefixWith, K_466, "."> extends infer T_838 ? T_838 extends PrefixWith, K_466, "."> ? T_838 extends SplitAC ? "value" : "default" : never : never] ? T_839 extends CanBeExpanded ? T_839[PrefixWith, K_466, "."> extends infer T_838 ? T_838 extends PrefixWith, K_466, "."> ? T_838 extends SplitAC ? "value" : "default" : never : never] extends infer T_840 ? T_840 extends T_839[PrefixWith, K_466, "."> extends infer T_838 ? T_838 extends PrefixWith, K_466, "."> ? T_838 extends SplitAC ? "value" : "default" : never : never] ? T_840 extends CanBeExpanded ? T_840[PrefixWith, K_466, "."> extends infer T_838 ? T_838 extends PrefixWith, K_466, "."> ? T_838 extends SplitAC ? "value" : "default" : never : never] extends infer T_841 ? T_841 extends T_840[PrefixWith, K_466, "."> extends infer T_838 ? T_838 extends PrefixWith, K_466, "."> ? T_838 extends SplitAC ? "value" : "default" : never : never] ? T_841 extends CanBeExpanded ? T_841[PrefixWith, K_466, "."> extends infer T_838 ? T_838 extends PrefixWith, K_466, "."> ? T_838 extends SplitAC ? "value" : "default" : never : never] extends infer T_842 ? T_842 extends T_841[PrefixWith, K_466, "."> extends infer T_838 ? T_838 extends PrefixWith, K_466, "."> ? T_838 extends SplitAC ? "value" : "default" : never : never] ? T_842 extends CanBeExpanded ? any : T_842 extends (infer U)[] ? any[] : T_842 extends object ? { [K_467 in keyof T_842]-?: T_842[K_467] extends infer T_843 ? T_843 extends T_842[K_467] ? T_843 extends CanBeExpanded ? T_843["default"] : T_843 : never : never; } : T_842 : never : never : T_841 extends (infer U)[] ? any[] : T_841 extends object ? { [K_468 in keyof T_841]-?: T_841[K_468] extends infer T_844 ? T_844 extends T_841[K_468] ? T_844 extends CanBeExpanded ? T_844["default"] : T_844 : never : never; } : T_841 : never : never : T_840 extends (infer U)[] ? any[] : T_840 extends object ? { [K_469 in keyof T_840]-?: T_840[K_469] extends infer T_845 ? T_845 extends T_840[K_469] ? T_845 extends CanBeExpanded ? T_845["default"] : T_845 : never : never; } : T_840 : never : never : T_839 extends (infer U)[] ? any[] : T_839 extends object ? { [K_470 in keyof T_839]-?: T_839[K_470] extends infer T_846 ? T_846 extends T_839[K_470] ? T_846 extends CanBeExpanded ? T_846["default"] : T_846 : never : never; } : T_839 : never : never : T_837 extends (infer U)[] ? any[] : T_837 extends object ? { [K_471 in keyof T_837]-?: T_837[K_471] extends infer T_847 ? T_847 extends T_837[K_471] ? T_847 extends CanBeExpanded ? T_847["default"] : T_847 : never : never; } : T_837 : never : never; } : T_808 : never : never : T_806 extends (infer U)[] ? any[] : T_806 extends object ? { [K_472 in keyof T_806]-?: T_806[K_472] extends infer T_848 ? T_848 extends T_806[K_472] ? T_848 extends CanBeExpanded ? T_848[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] extends infer T_850 ? T_850 extends T_848[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] ? T_850 extends CanBeExpanded ? T_850[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] extends infer T_851 ? T_851 extends T_850[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] ? T_851 extends CanBeExpanded ? T_851[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] extends infer T_852 ? T_852 extends T_851[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] ? T_852 extends CanBeExpanded ? T_852[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] extends infer T_853 ? T_853 extends T_852[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] ? T_853 extends CanBeExpanded ? T_853[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] extends infer T_854 ? T_854 extends T_853[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] ? T_854 extends CanBeExpanded ? any : T_854 extends (infer U)[] ? any[] : T_854 extends object ? { [K_473 in keyof T_854]-?: T_854[K_473] extends infer T_855 ? T_855 extends T_854[K_473] ? T_855 extends CanBeExpanded ? T_855["default"] : T_855 : never : never; } : T_854 : never : never : T_853 extends (infer U)[] ? any[] : T_853 extends object ? { [K_474 in keyof T_853]-?: T_853[K_474] extends infer T_856 ? T_856 extends T_853[K_474] ? T_856 extends CanBeExpanded ? T_856["default"] : T_856 : never : never; } : T_853 : never : never : T_852 extends (infer U)[] ? any[] : T_852 extends object ? { [K_475 in keyof T_852]-?: T_852[K_475] extends infer T_857 ? T_857 extends T_852[K_475] ? T_857 extends CanBeExpanded ? T_857["default"] : T_857 : never : never; } : T_852 : never : never : T_851 extends (infer U)[] ? any[] : T_851 extends object ? { [K_476 in keyof T_851]-?: T_851[K_476] extends infer T_858 ? T_858 extends T_851[K_476] ? T_858 extends CanBeExpanded ? T_858["default"] : T_858 : never : never; } : T_851 : never : never : T_850 extends (infer U)[] ? any[] : T_850 extends object ? { [K_477 in keyof T_850]-?: T_850[K_477] extends infer T_859 ? T_859 extends T_850[K_477] ? T_859 extends CanBeExpanded ? T_859["default"] : T_859 : never : never; } : T_850 : never : never : T_848 extends (infer U)[] ? any[] : T_848 extends object ? { [K_478 in keyof T_848]-?: T_848[K_478] extends infer T_860 ? T_860 extends T_848[K_478] ? T_860 extends CanBeExpanded ? T_860["default"] : T_860 : never : never; } : T_848 : never : never; } : T_806 : never : never; } : T_692 : never : never : T_691 extends (infer U)[] ? any[] : T_691 extends object ? { [K_479 in keyof T_691]-?: T_691[K_479] extends infer T_861 ? T_861 extends T_691[K_479] ? T_861 extends CanBeExpanded ? T_861[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] extends infer T_863 ? T_863 extends T_861[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] ? T_863 extends CanBeExpanded ? T_863[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] extends infer T_864 ? T_864 extends T_863[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] ? T_864 extends CanBeExpanded ? T_864[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] extends infer T_865 ? T_865 extends T_864[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] ? T_865 extends CanBeExpanded ? T_865[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] extends infer T_866 ? T_866 extends T_865[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] ? T_866 extends CanBeExpanded ? T_866[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] extends infer T_867 ? T_867 extends T_866[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] ? T_867 extends CanBeExpanded ? T_867[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] extends infer T_868 ? T_868 extends T_867[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] ? T_868 extends CanBeExpanded ? T_868[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] extends infer T_869 ? T_869 extends T_868[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] ? T_869 extends CanBeExpanded ? any : T_869 extends (infer U)[] ? any[] : T_869 extends object ? { [K_480 in keyof T_869]-?: any; } : T_869 : never : never : T_868 extends (infer U)[] ? any[] : T_868 extends object ? { [K_481 in keyof T_868]-?: T_868[K_481] extends infer T_870 ? T_870 extends T_868[K_481] ? T_870 extends CanBeExpanded ? any : T_870 extends (infer U)[] ? any[] : T_870 extends object ? { [K_482 in keyof T_870]-?: T_870[K_482] extends infer T_871 ? T_871 extends T_870[K_482] ? T_871 extends CanBeExpanded ? T_871["default"] : T_871 : never : never; } : T_870 : never : never; } : T_868 : never : never : T_867 extends (infer U)[] ? any[] : T_867 extends object ? { [K_483 in keyof T_867]-?: T_867[K_483] extends infer T_872 ? T_872 extends T_867[K_483] ? T_872 extends CanBeExpanded ? T_872[PrefixWith, K_483, "."> extends infer T_873 ? T_873 extends PrefixWith, K_483, "."> ? T_873 extends SplitAC ? "value" : "default" : never : never] extends infer T_874 ? T_874 extends T_872[PrefixWith, K_483, "."> extends infer T_873 ? T_873 extends PrefixWith, K_483, "."> ? T_873 extends SplitAC ? "value" : "default" : never : never] ? T_874 extends CanBeExpanded ? any : T_874 extends (infer U)[] ? any[] : T_874 extends object ? { [K_484 in keyof T_874]-?: T_874[K_484] extends infer T_875 ? T_875 extends T_874[K_484] ? T_875 extends CanBeExpanded ? T_875["default"] : T_875 : never : never; } : T_874 : never : never : T_872 extends (infer U)[] ? any[] : T_872 extends object ? { [K_485 in keyof T_872]-?: T_872[K_485] extends infer T_876 ? T_876 extends T_872[K_485] ? T_876 extends CanBeExpanded ? T_876["default"] : T_876 : never : never; } : T_872 : never : never; } : T_867 : never : never : T_866 extends (infer U)[] ? any[] : T_866 extends object ? { [K_486 in keyof T_866]-?: T_866[K_486] extends infer T_877 ? T_877 extends T_866[K_486] ? T_877 extends CanBeExpanded ? T_877[PrefixWith, K_486, "."> extends infer T_878 ? T_878 extends PrefixWith, K_486, "."> ? T_878 extends SplitAC ? "value" : "default" : never : never] extends infer T_879 ? T_879 extends T_877[PrefixWith, K_486, "."> extends infer T_878 ? T_878 extends PrefixWith, K_486, "."> ? T_878 extends SplitAC ? "value" : "default" : never : never] ? T_879 extends CanBeExpanded ? T_879[PrefixWith, K_486, "."> extends infer T_878 ? T_878 extends PrefixWith, K_486, "."> ? T_878 extends SplitAC ? "value" : "default" : never : never] extends infer T_880 ? T_880 extends T_879[PrefixWith, K_486, "."> extends infer T_878 ? T_878 extends PrefixWith, K_486, "."> ? T_878 extends SplitAC ? "value" : "default" : never : never] ? T_880 extends CanBeExpanded ? any : T_880 extends (infer U)[] ? any[] : T_880 extends object ? { [K_487 in keyof T_880]-?: T_880[K_487] extends infer T_881 ? T_881 extends T_880[K_487] ? T_881 extends CanBeExpanded ? T_881["default"] : T_881 : never : never; } : T_880 : never : never : T_879 extends (infer U)[] ? any[] : T_879 extends object ? { [K_488 in keyof T_879]-?: T_879[K_488] extends infer T_882 ? T_882 extends T_879[K_488] ? T_882 extends CanBeExpanded ? T_882["default"] : T_882 : never : never; } : T_879 : never : never : T_877 extends (infer U)[] ? any[] : T_877 extends object ? { [K_489 in keyof T_877]-?: T_877[K_489] extends infer T_883 ? T_883 extends T_877[K_489] ? T_883 extends CanBeExpanded ? T_883["default"] : T_883 : never : never; } : T_877 : never : never; } : T_866 : never : never : T_865 extends (infer U)[] ? any[] : T_865 extends object ? { [K_490 in keyof T_865]-?: T_865[K_490] extends infer T_884 ? T_884 extends T_865[K_490] ? T_884 extends CanBeExpanded ? T_884[PrefixWith, K_490, "."> extends infer T_885 ? T_885 extends PrefixWith, K_490, "."> ? T_885 extends SplitAC ? "value" : "default" : never : never] extends infer T_886 ? T_886 extends T_884[PrefixWith, K_490, "."> extends infer T_885 ? T_885 extends PrefixWith, K_490, "."> ? T_885 extends SplitAC ? "value" : "default" : never : never] ? T_886 extends CanBeExpanded ? T_886[PrefixWith, K_490, "."> extends infer T_885 ? T_885 extends PrefixWith, K_490, "."> ? T_885 extends SplitAC ? "value" : "default" : never : never] extends infer T_887 ? T_887 extends T_886[PrefixWith, K_490, "."> extends infer T_885 ? T_885 extends PrefixWith, K_490, "."> ? T_885 extends SplitAC ? "value" : "default" : never : never] ? T_887 extends CanBeExpanded ? T_887[PrefixWith, K_490, "."> extends infer T_885 ? T_885 extends PrefixWith, K_490, "."> ? T_885 extends SplitAC ? "value" : "default" : never : never] extends infer T_888 ? T_888 extends T_887[PrefixWith, K_490, "."> extends infer T_885 ? T_885 extends PrefixWith, K_490, "."> ? T_885 extends SplitAC ? "value" : "default" : never : never] ? T_888 extends CanBeExpanded ? any : T_888 extends (infer U)[] ? any[] : T_888 extends object ? { [K_491 in keyof T_888]-?: T_888[K_491] extends infer T_889 ? T_889 extends T_888[K_491] ? T_889 extends CanBeExpanded ? T_889["default"] : T_889 : never : never; } : T_888 : never : never : T_887 extends (infer U)[] ? any[] : T_887 extends object ? { [K_492 in keyof T_887]-?: T_887[K_492] extends infer T_890 ? T_890 extends T_887[K_492] ? T_890 extends CanBeExpanded ? T_890["default"] : T_890 : never : never; } : T_887 : never : never : T_886 extends (infer U)[] ? any[] : T_886 extends object ? { [K_493 in keyof T_886]-?: T_886[K_493] extends infer T_891 ? T_891 extends T_886[K_493] ? T_891 extends CanBeExpanded ? T_891["default"] : T_891 : never : never; } : T_886 : never : never : T_884 extends (infer U)[] ? any[] : T_884 extends object ? { [K_494 in keyof T_884]-?: T_884[K_494] extends infer T_892 ? T_892 extends T_884[K_494] ? T_892 extends CanBeExpanded ? T_892["default"] : T_892 : never : never; } : T_884 : never : never; } : T_865 : never : never : T_864 extends (infer U)[] ? any[] : T_864 extends object ? { [K_495 in keyof T_864]-?: T_864[K_495] extends infer T_893 ? T_893 extends T_864[K_495] ? T_893 extends CanBeExpanded ? T_893[PrefixWith, K_495, "."> extends infer T_894 ? T_894 extends PrefixWith, K_495, "."> ? T_894 extends SplitAC ? "value" : "default" : never : never] extends infer T_895 ? T_895 extends T_893[PrefixWith, K_495, "."> extends infer T_894 ? T_894 extends PrefixWith, K_495, "."> ? T_894 extends SplitAC ? "value" : "default" : never : never] ? T_895 extends CanBeExpanded ? T_895[PrefixWith, K_495, "."> extends infer T_894 ? T_894 extends PrefixWith, K_495, "."> ? T_894 extends SplitAC ? "value" : "default" : never : never] extends infer T_896 ? T_896 extends T_895[PrefixWith, K_495, "."> extends infer T_894 ? T_894 extends PrefixWith, K_495, "."> ? T_894 extends SplitAC ? "value" : "default" : never : never] ? T_896 extends CanBeExpanded ? T_896[PrefixWith, K_495, "."> extends infer T_894 ? T_894 extends PrefixWith, K_495, "."> ? T_894 extends SplitAC ? "value" : "default" : never : never] extends infer T_897 ? T_897 extends T_896[PrefixWith, K_495, "."> extends infer T_894 ? T_894 extends PrefixWith, K_495, "."> ? T_894 extends SplitAC ? "value" : "default" : never : never] ? T_897 extends CanBeExpanded ? T_897[PrefixWith, K_495, "."> extends infer T_894 ? T_894 extends PrefixWith, K_495, "."> ? T_894 extends SplitAC ? "value" : "default" : never : never] extends infer T_898 ? T_898 extends T_897[PrefixWith, K_495, "."> extends infer T_894 ? T_894 extends PrefixWith, K_495, "."> ? T_894 extends SplitAC ? "value" : "default" : never : never] ? T_898 extends CanBeExpanded ? any : T_898 extends (infer U)[] ? any[] : T_898 extends object ? { [K_496 in keyof T_898]-?: T_898[K_496] extends infer T_899 ? T_899 extends T_898[K_496] ? T_899 extends CanBeExpanded ? T_899["default"] : T_899 : never : never; } : T_898 : never : never : T_897 extends (infer U)[] ? any[] : T_897 extends object ? { [K_497 in keyof T_897]-?: T_897[K_497] extends infer T_900 ? T_900 extends T_897[K_497] ? T_900 extends CanBeExpanded ? T_900["default"] : T_900 : never : never; } : T_897 : never : never : T_896 extends (infer U)[] ? any[] : T_896 extends object ? { [K_498 in keyof T_896]-?: T_896[K_498] extends infer T_901 ? T_901 extends T_896[K_498] ? T_901 extends CanBeExpanded ? T_901["default"] : T_901 : never : never; } : T_896 : never : never : T_895 extends (infer U)[] ? any[] : T_895 extends object ? { [K_499 in keyof T_895]-?: T_895[K_499] extends infer T_902 ? T_902 extends T_895[K_499] ? T_902 extends CanBeExpanded ? T_902["default"] : T_902 : never : never; } : T_895 : never : never : T_893 extends (infer U)[] ? any[] : T_893 extends object ? { [K_500 in keyof T_893]-?: T_893[K_500] extends infer T_903 ? T_903 extends T_893[K_500] ? T_903 extends CanBeExpanded ? T_903["default"] : T_903 : never : never; } : T_893 : never : never; } : T_864 : never : never : T_863 extends (infer U)[] ? any[] : T_863 extends object ? { [K_501 in keyof T_863]-?: T_863[K_501] extends infer T_904 ? T_904 extends T_863[K_501] ? T_904 extends CanBeExpanded ? T_904[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] extends infer T_906 ? T_906 extends T_904[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] ? T_906 extends CanBeExpanded ? T_906[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] extends infer T_907 ? T_907 extends T_906[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] ? T_907 extends CanBeExpanded ? T_907[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] extends infer T_908 ? T_908 extends T_907[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] ? T_908 extends CanBeExpanded ? T_908[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] extends infer T_909 ? T_909 extends T_908[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] ? T_909 extends CanBeExpanded ? T_909[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] extends infer T_910 ? T_910 extends T_909[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] ? T_910 extends CanBeExpanded ? any : T_910 extends (infer U)[] ? any[] : T_910 extends object ? { [K_502 in keyof T_910]-?: T_910[K_502] extends infer T_911 ? T_911 extends T_910[K_502] ? T_911 extends CanBeExpanded ? T_911["default"] : T_911 : never : never; } : T_910 : never : never : T_909 extends (infer U)[] ? any[] : T_909 extends object ? { [K_503 in keyof T_909]-?: T_909[K_503] extends infer T_912 ? T_912 extends T_909[K_503] ? T_912 extends CanBeExpanded ? T_912["default"] : T_912 : never : never; } : T_909 : never : never : T_908 extends (infer U)[] ? any[] : T_908 extends object ? { [K_504 in keyof T_908]-?: T_908[K_504] extends infer T_913 ? T_913 extends T_908[K_504] ? T_913 extends CanBeExpanded ? T_913["default"] : T_913 : never : never; } : T_908 : never : never : T_907 extends (infer U)[] ? any[] : T_907 extends object ? { [K_505 in keyof T_907]-?: T_907[K_505] extends infer T_914 ? T_914 extends T_907[K_505] ? T_914 extends CanBeExpanded ? T_914["default"] : T_914 : never : never; } : T_907 : never : never : T_906 extends (infer U)[] ? any[] : T_906 extends object ? { [K_506 in keyof T_906]-?: T_906[K_506] extends infer T_915 ? T_915 extends T_906[K_506] ? T_915 extends CanBeExpanded ? T_915["default"] : T_915 : never : never; } : T_906 : never : never : T_904 extends (infer U)[] ? any[] : T_904 extends object ? { [K_507 in keyof T_904]-?: T_904[K_507] extends infer T_916 ? T_916 extends T_904[K_507] ? T_916 extends CanBeExpanded ? T_916["default"] : T_916 : never : never; } : T_904 : never : never; } : T_863 : never : never : T_861 extends (infer U)[] ? any[] : T_861 extends object ? { [K_508 in keyof T_861]-?: T_861[K_508] extends infer T_917 ? T_917 extends T_861[K_508] ? T_917 extends CanBeExpanded ? T_917[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] extends infer T_919 ? T_919 extends T_917[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] ? T_919 extends CanBeExpanded ? T_919[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] extends infer T_920 ? T_920 extends T_919[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] ? T_920 extends CanBeExpanded ? T_920[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] extends infer T_921 ? T_921 extends T_920[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] ? T_921 extends CanBeExpanded ? T_921[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] extends infer T_922 ? T_922 extends T_921[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] ? T_922 extends CanBeExpanded ? T_922[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] extends infer T_923 ? T_923 extends T_922[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] ? T_923 extends CanBeExpanded ? T_923[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] extends infer T_924 ? T_924 extends T_923[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] ? T_924 extends CanBeExpanded ? any : T_924 extends (infer U)[] ? any[] : T_924 extends object ? { [K_509 in keyof T_924]-?: T_924[K_509] extends infer T_925 ? T_925 extends T_924[K_509] ? T_925 extends CanBeExpanded ? T_925["default"] : T_925 : never : never; } : T_924 : never : never : T_923 extends (infer U)[] ? any[] : T_923 extends object ? { [K_510 in keyof T_923]-?: T_923[K_510] extends infer T_926 ? T_926 extends T_923[K_510] ? T_926 extends CanBeExpanded ? T_926["default"] : T_926 : never : never; } : T_923 : never : never : T_922 extends (infer U)[] ? any[] : T_922 extends object ? { [K_511 in keyof T_922]-?: T_922[K_511] extends infer T_927 ? T_927 extends T_922[K_511] ? T_927 extends CanBeExpanded ? T_927["default"] : T_927 : never : never; } : T_922 : never : never : T_921 extends (infer U)[] ? any[] : T_921 extends object ? { [K_512 in keyof T_921]-?: T_921[K_512] extends infer T_928 ? T_928 extends T_921[K_512] ? T_928 extends CanBeExpanded ? T_928["default"] : T_928 : never : never; } : T_921 : never : never : T_920 extends (infer U)[] ? any[] : T_920 extends object ? { [K_513 in keyof T_920]-?: T_920[K_513] extends infer T_929 ? T_929 extends T_920[K_513] ? T_929 extends CanBeExpanded ? T_929["default"] : T_929 : never : never; } : T_920 : never : never : T_919 extends (infer U)[] ? any[] : T_919 extends object ? { [K_514 in keyof T_919]-?: T_919[K_514] extends infer T_930 ? T_930 extends T_919[K_514] ? T_930 extends CanBeExpanded ? T_930["default"] : T_930 : never : never; } : T_919 : never : never : T_917 extends (infer U)[] ? any[] : T_917 extends object ? { [K_515 in keyof T_917]-?: T_917[K_515] extends infer T_931 ? T_931 extends T_917[K_515] ? T_931 extends CanBeExpanded ? T_931["default"] : T_931 : never : never; } : T_917 : never : never; } : T_861 : never : never; } : T_691 : never : never : T_689 extends (infer U)[] ? any[] : T_689 extends object ? { [K_516 in keyof T_689]-?: T_689[K_516] extends infer T_932 ? T_932 extends T_689[K_516] ? T_932 extends CanBeExpanded ? T_932[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] extends infer T_934 ? T_934 extends T_932[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] ? T_934 extends CanBeExpanded ? T_934[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] extends infer T_935 ? T_935 extends T_934[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] ? T_935 extends CanBeExpanded ? T_935[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] extends infer T_936 ? T_936 extends T_935[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] ? T_936 extends CanBeExpanded ? T_936[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] extends infer T_937 ? T_937 extends T_936[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] ? T_937 extends CanBeExpanded ? T_937[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] extends infer T_938 ? T_938 extends T_937[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] ? T_938 extends CanBeExpanded ? T_938[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] extends infer T_939 ? T_939 extends T_938[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] ? T_939 extends CanBeExpanded ? T_939[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] extends infer T_940 ? T_940 extends T_939[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] ? T_940 extends CanBeExpanded ? T_940[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] extends infer T_941 ? T_941 extends T_940[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] ? T_941 extends CanBeExpanded ? any : T_941 extends (infer U)[] ? any[] : T_941 extends object ? { [K_517 in keyof T_941]-?: any; } : T_941 : never : never : T_940 extends (infer U)[] ? any[] : T_940 extends object ? { [K_518 in keyof T_940]-?: T_940[K_518] extends infer T_942 ? T_942 extends T_940[K_518] ? T_942 extends CanBeExpanded ? any : T_942 extends (infer U)[] ? any[] : T_942 extends object ? { [K_519 in keyof T_942]-?: T_942[K_519] extends infer T_943 ? T_943 extends T_942[K_519] ? T_943 extends CanBeExpanded ? T_943["default"] : T_943 : never : never; } : T_942 : never : never; } : T_940 : never : never : T_939 extends (infer U)[] ? any[] : T_939 extends object ? { [K_520 in keyof T_939]-?: T_939[K_520] extends infer T_944 ? T_944 extends T_939[K_520] ? T_944 extends CanBeExpanded ? T_944[PrefixWith, K_520, "."> extends infer T_945 ? T_945 extends PrefixWith, K_520, "."> ? T_945 extends SplitAC ? "value" : "default" : never : never] extends infer T_946 ? T_946 extends T_944[PrefixWith, K_520, "."> extends infer T_945 ? T_945 extends PrefixWith, K_520, "."> ? T_945 extends SplitAC ? "value" : "default" : never : never] ? T_946 extends CanBeExpanded ? any : T_946 extends (infer U)[] ? any[] : T_946 extends object ? { [K_521 in keyof T_946]-?: T_946[K_521] extends infer T_947 ? T_947 extends T_946[K_521] ? T_947 extends CanBeExpanded ? T_947["default"] : T_947 : never : never; } : T_946 : never : never : T_944 extends (infer U)[] ? any[] : T_944 extends object ? { [K_522 in keyof T_944]-?: T_944[K_522] extends infer T_948 ? T_948 extends T_944[K_522] ? T_948 extends CanBeExpanded ? T_948["default"] : T_948 : never : never; } : T_944 : never : never; } : T_939 : never : never : T_938 extends (infer U)[] ? any[] : T_938 extends object ? { [K_523 in keyof T_938]-?: T_938[K_523] extends infer T_949 ? T_949 extends T_938[K_523] ? T_949 extends CanBeExpanded ? T_949[PrefixWith, K_523, "."> extends infer T_950 ? T_950 extends PrefixWith, K_523, "."> ? T_950 extends SplitAC ? "value" : "default" : never : never] extends infer T_951 ? T_951 extends T_949[PrefixWith, K_523, "."> extends infer T_950 ? T_950 extends PrefixWith, K_523, "."> ? T_950 extends SplitAC ? "value" : "default" : never : never] ? T_951 extends CanBeExpanded ? T_951[PrefixWith, K_523, "."> extends infer T_950 ? T_950 extends PrefixWith, K_523, "."> ? T_950 extends SplitAC ? "value" : "default" : never : never] extends infer T_952 ? T_952 extends T_951[PrefixWith, K_523, "."> extends infer T_950 ? T_950 extends PrefixWith, K_523, "."> ? T_950 extends SplitAC ? "value" : "default" : never : never] ? T_952 extends CanBeExpanded ? any : T_952 extends (infer U)[] ? any[] : T_952 extends object ? { [K_524 in keyof T_952]-?: T_952[K_524] extends infer T_953 ? T_953 extends T_952[K_524] ? T_953 extends CanBeExpanded ? T_953["default"] : T_953 : never : never; } : T_952 : never : never : T_951 extends (infer U)[] ? any[] : T_951 extends object ? { [K_525 in keyof T_951]-?: T_951[K_525] extends infer T_954 ? T_954 extends T_951[K_525] ? T_954 extends CanBeExpanded ? T_954["default"] : T_954 : never : never; } : T_951 : never : never : T_949 extends (infer U)[] ? any[] : T_949 extends object ? { [K_526 in keyof T_949]-?: T_949[K_526] extends infer T_955 ? T_955 extends T_949[K_526] ? T_955 extends CanBeExpanded ? T_955["default"] : T_955 : never : never; } : T_949 : never : never; } : T_938 : never : never : T_937 extends (infer U)[] ? any[] : T_937 extends object ? { [K_527 in keyof T_937]-?: T_937[K_527] extends infer T_956 ? T_956 extends T_937[K_527] ? T_956 extends CanBeExpanded ? T_956[PrefixWith, K_527, "."> extends infer T_957 ? T_957 extends PrefixWith, K_527, "."> ? T_957 extends SplitAC ? "value" : "default" : never : never] extends infer T_958 ? T_958 extends T_956[PrefixWith, K_527, "."> extends infer T_957 ? T_957 extends PrefixWith, K_527, "."> ? T_957 extends SplitAC ? "value" : "default" : never : never] ? T_958 extends CanBeExpanded ? T_958[PrefixWith, K_527, "."> extends infer T_957 ? T_957 extends PrefixWith, K_527, "."> ? T_957 extends SplitAC ? "value" : "default" : never : never] extends infer T_959 ? T_959 extends T_958[PrefixWith, K_527, "."> extends infer T_957 ? T_957 extends PrefixWith, K_527, "."> ? T_957 extends SplitAC ? "value" : "default" : never : never] ? T_959 extends CanBeExpanded ? T_959[PrefixWith, K_527, "."> extends infer T_957 ? T_957 extends PrefixWith, K_527, "."> ? T_957 extends SplitAC ? "value" : "default" : never : never] extends infer T_960 ? T_960 extends T_959[PrefixWith, K_527, "."> extends infer T_957 ? T_957 extends PrefixWith, K_527, "."> ? T_957 extends SplitAC ? "value" : "default" : never : never] ? T_960 extends CanBeExpanded ? any : T_960 extends (infer U)[] ? any[] : T_960 extends object ? { [K_528 in keyof T_960]-?: T_960[K_528] extends infer T_961 ? T_961 extends T_960[K_528] ? T_961 extends CanBeExpanded ? T_961["default"] : T_961 : never : never; } : T_960 : never : never : T_959 extends (infer U)[] ? any[] : T_959 extends object ? { [K_529 in keyof T_959]-?: T_959[K_529] extends infer T_962 ? T_962 extends T_959[K_529] ? T_962 extends CanBeExpanded ? T_962["default"] : T_962 : never : never; } : T_959 : never : never : T_958 extends (infer U)[] ? any[] : T_958 extends object ? { [K_530 in keyof T_958]-?: T_958[K_530] extends infer T_963 ? T_963 extends T_958[K_530] ? T_963 extends CanBeExpanded ? T_963["default"] : T_963 : never : never; } : T_958 : never : never : T_956 extends (infer U)[] ? any[] : T_956 extends object ? { [K_531 in keyof T_956]-?: T_956[K_531] extends infer T_964 ? T_964 extends T_956[K_531] ? T_964 extends CanBeExpanded ? T_964["default"] : T_964 : never : never; } : T_956 : never : never; } : T_937 : never : never : T_936 extends (infer U)[] ? any[] : T_936 extends object ? { [K_532 in keyof T_936]-?: T_936[K_532] extends infer T_965 ? T_965 extends T_936[K_532] ? T_965 extends CanBeExpanded ? T_965[PrefixWith, K_532, "."> extends infer T_966 ? T_966 extends PrefixWith, K_532, "."> ? T_966 extends SplitAC ? "value" : "default" : never : never] extends infer T_967 ? T_967 extends T_965[PrefixWith, K_532, "."> extends infer T_966 ? T_966 extends PrefixWith, K_532, "."> ? T_966 extends SplitAC ? "value" : "default" : never : never] ? T_967 extends CanBeExpanded ? T_967[PrefixWith, K_532, "."> extends infer T_966 ? T_966 extends PrefixWith, K_532, "."> ? T_966 extends SplitAC ? "value" : "default" : never : never] extends infer T_968 ? T_968 extends T_967[PrefixWith, K_532, "."> extends infer T_966 ? T_966 extends PrefixWith, K_532, "."> ? T_966 extends SplitAC ? "value" : "default" : never : never] ? T_968 extends CanBeExpanded ? T_968[PrefixWith, K_532, "."> extends infer T_966 ? T_966 extends PrefixWith, K_532, "."> ? T_966 extends SplitAC ? "value" : "default" : never : never] extends infer T_969 ? T_969 extends T_968[PrefixWith, K_532, "."> extends infer T_966 ? T_966 extends PrefixWith, K_532, "."> ? T_966 extends SplitAC ? "value" : "default" : never : never] ? T_969 extends CanBeExpanded ? T_969[PrefixWith, K_532, "."> extends infer T_966 ? T_966 extends PrefixWith, K_532, "."> ? T_966 extends SplitAC ? "value" : "default" : never : never] extends infer T_970 ? T_970 extends T_969[PrefixWith, K_532, "."> extends infer T_966 ? T_966 extends PrefixWith, K_532, "."> ? T_966 extends SplitAC ? "value" : "default" : never : never] ? T_970 extends CanBeExpanded ? any : T_970 extends (infer U)[] ? any[] : T_970 extends object ? { [K_533 in keyof T_970]-?: T_970[K_533] extends infer T_971 ? T_971 extends T_970[K_533] ? T_971 extends CanBeExpanded ? T_971["default"] : T_971 : never : never; } : T_970 : never : never : T_969 extends (infer U)[] ? any[] : T_969 extends object ? { [K_534 in keyof T_969]-?: T_969[K_534] extends infer T_972 ? T_972 extends T_969[K_534] ? T_972 extends CanBeExpanded ? T_972["default"] : T_972 : never : never; } : T_969 : never : never : T_968 extends (infer U)[] ? any[] : T_968 extends object ? { [K_535 in keyof T_968]-?: T_968[K_535] extends infer T_973 ? T_973 extends T_968[K_535] ? T_973 extends CanBeExpanded ? T_973["default"] : T_973 : never : never; } : T_968 : never : never : T_967 extends (infer U)[] ? any[] : T_967 extends object ? { [K_536 in keyof T_967]-?: T_967[K_536] extends infer T_974 ? T_974 extends T_967[K_536] ? T_974 extends CanBeExpanded ? T_974["default"] : T_974 : never : never; } : T_967 : never : never : T_965 extends (infer U)[] ? any[] : T_965 extends object ? { [K_537 in keyof T_965]-?: T_965[K_537] extends infer T_975 ? T_975 extends T_965[K_537] ? T_975 extends CanBeExpanded ? T_975["default"] : T_975 : never : never; } : T_965 : never : never; } : T_936 : never : never : T_935 extends (infer U)[] ? any[] : T_935 extends object ? { [K_538 in keyof T_935]-?: T_935[K_538] extends infer T_976 ? T_976 extends T_935[K_538] ? T_976 extends CanBeExpanded ? T_976[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] extends infer T_978 ? T_978 extends T_976[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] ? T_978 extends CanBeExpanded ? T_978[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] extends infer T_979 ? T_979 extends T_978[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] ? T_979 extends CanBeExpanded ? T_979[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] extends infer T_980 ? T_980 extends T_979[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] ? T_980 extends CanBeExpanded ? T_980[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] extends infer T_981 ? T_981 extends T_980[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] ? T_981 extends CanBeExpanded ? T_981[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] extends infer T_982 ? T_982 extends T_981[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] ? T_982 extends CanBeExpanded ? any : T_982 extends (infer U)[] ? any[] : T_982 extends object ? { [K_539 in keyof T_982]-?: T_982[K_539] extends infer T_983 ? T_983 extends T_982[K_539] ? T_983 extends CanBeExpanded ? T_983["default"] : T_983 : never : never; } : T_982 : never : never : T_981 extends (infer U)[] ? any[] : T_981 extends object ? { [K_540 in keyof T_981]-?: T_981[K_540] extends infer T_984 ? T_984 extends T_981[K_540] ? T_984 extends CanBeExpanded ? T_984["default"] : T_984 : never : never; } : T_981 : never : never : T_980 extends (infer U)[] ? any[] : T_980 extends object ? { [K_541 in keyof T_980]-?: T_980[K_541] extends infer T_985 ? T_985 extends T_980[K_541] ? T_985 extends CanBeExpanded ? T_985["default"] : T_985 : never : never; } : T_980 : never : never : T_979 extends (infer U)[] ? any[] : T_979 extends object ? { [K_542 in keyof T_979]-?: T_979[K_542] extends infer T_986 ? T_986 extends T_979[K_542] ? T_986 extends CanBeExpanded ? T_986["default"] : T_986 : never : never; } : T_979 : never : never : T_978 extends (infer U)[] ? any[] : T_978 extends object ? { [K_543 in keyof T_978]-?: T_978[K_543] extends infer T_987 ? T_987 extends T_978[K_543] ? T_987 extends CanBeExpanded ? T_987["default"] : T_987 : never : never; } : T_978 : never : never : T_976 extends (infer U)[] ? any[] : T_976 extends object ? { [K_544 in keyof T_976]-?: T_976[K_544] extends infer T_988 ? T_988 extends T_976[K_544] ? T_988 extends CanBeExpanded ? T_988["default"] : T_988 : never : never; } : T_976 : never : never; } : T_935 : never : never : T_934 extends (infer U)[] ? any[] : T_934 extends object ? { [K_545 in keyof T_934]-?: T_934[K_545] extends infer T_989 ? T_989 extends T_934[K_545] ? T_989 extends CanBeExpanded ? T_989[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] extends infer T_991 ? T_991 extends T_989[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] ? T_991 extends CanBeExpanded ? T_991[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] extends infer T_992 ? T_992 extends T_991[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] ? T_992 extends CanBeExpanded ? T_992[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] extends infer T_993 ? T_993 extends T_992[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] ? T_993 extends CanBeExpanded ? T_993[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] extends infer T_994 ? T_994 extends T_993[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] ? T_994 extends CanBeExpanded ? T_994[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] extends infer T_995 ? T_995 extends T_994[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] ? T_995 extends CanBeExpanded ? T_995[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] extends infer T_996 ? T_996 extends T_995[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] ? T_996 extends CanBeExpanded ? any : T_996 extends (infer U)[] ? any[] : T_996 extends object ? { [K_546 in keyof T_996]-?: T_996[K_546] extends infer T_997 ? T_997 extends T_996[K_546] ? T_997 extends CanBeExpanded ? T_997["default"] : T_997 : never : never; } : T_996 : never : never : T_995 extends (infer U)[] ? any[] : T_995 extends object ? { [K_547 in keyof T_995]-?: T_995[K_547] extends infer T_998 ? T_998 extends T_995[K_547] ? T_998 extends CanBeExpanded ? T_998["default"] : T_998 : never : never; } : T_995 : never : never : T_994 extends (infer U)[] ? any[] : T_994 extends object ? { [K_548 in keyof T_994]-?: T_994[K_548] extends infer T_999 ? T_999 extends T_994[K_548] ? T_999 extends CanBeExpanded ? T_999["default"] : T_999 : never : never; } : T_994 : never : never : T_993 extends (infer U)[] ? any[] : T_993 extends object ? { [K_549 in keyof T_993]-?: T_993[K_549] extends infer T_1000 ? T_1000 extends T_993[K_549] ? T_1000 extends CanBeExpanded ? T_1000["default"] : T_1000 : never : never; } : T_993 : never : never : T_992 extends (infer U)[] ? any[] : T_992 extends object ? { [K_550 in keyof T_992]-?: T_992[K_550] extends infer T_1001 ? T_1001 extends T_992[K_550] ? T_1001 extends CanBeExpanded ? T_1001["default"] : T_1001 : never : never; } : T_992 : never : never : T_991 extends (infer U)[] ? any[] : T_991 extends object ? { [K_551 in keyof T_991]-?: T_991[K_551] extends infer T_1002 ? T_1002 extends T_991[K_551] ? T_1002 extends CanBeExpanded ? T_1002["default"] : T_1002 : never : never; } : T_991 : never : never : T_989 extends (infer U)[] ? any[] : T_989 extends object ? { [K_552 in keyof T_989]-?: T_989[K_552] extends infer T_1003 ? T_1003 extends T_989[K_552] ? T_1003 extends CanBeExpanded ? T_1003["default"] : T_1003 : never : never; } : T_989 : never : never; } : T_934 : never : never : T_932 extends (infer U)[] ? any[] : T_932 extends object ? { [K_553 in keyof T_932]-?: T_932[K_553] extends infer T_1004 ? T_1004 extends T_932[K_553] ? T_1004 extends CanBeExpanded ? T_1004[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] extends infer T_1006 ? T_1006 extends T_1004[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] ? T_1006 extends CanBeExpanded ? T_1006[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] extends infer T_1007 ? T_1007 extends T_1006[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] ? T_1007 extends CanBeExpanded ? T_1007[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] extends infer T_1008 ? T_1008 extends T_1007[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] ? T_1008 extends CanBeExpanded ? T_1008[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] extends infer T_1009 ? T_1009 extends T_1008[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] ? T_1009 extends CanBeExpanded ? T_1009[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] extends infer T_1010 ? T_1010 extends T_1009[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] ? T_1010 extends CanBeExpanded ? T_1010[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] extends infer T_1011 ? T_1011 extends T_1010[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] ? T_1011 extends CanBeExpanded ? T_1011[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] extends infer T_1012 ? T_1012 extends T_1011[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] ? T_1012 extends CanBeExpanded ? any : T_1012 extends (infer U)[] ? any[] : T_1012 extends object ? { [K_554 in keyof T_1012]-?: T_1012[K_554] extends infer T_1013 ? T_1013 extends T_1012[K_554] ? T_1013 extends CanBeExpanded ? T_1013["default"] : T_1013 : never : never; } : T_1012 : never : never : T_1011 extends (infer U)[] ? any[] : T_1011 extends object ? { [K_555 in keyof T_1011]-?: T_1011[K_555] extends infer T_1014 ? T_1014 extends T_1011[K_555] ? T_1014 extends CanBeExpanded ? T_1014["default"] : T_1014 : never : never; } : T_1011 : never : never : T_1010 extends (infer U)[] ? any[] : T_1010 extends object ? { [K_556 in keyof T_1010]-?: T_1010[K_556] extends infer T_1015 ? T_1015 extends T_1010[K_556] ? T_1015 extends CanBeExpanded ? T_1015["default"] : T_1015 : never : never; } : T_1010 : never : never : T_1009 extends (infer U)[] ? any[] : T_1009 extends object ? { [K_557 in keyof T_1009]-?: T_1009[K_557] extends infer T_1016 ? T_1016 extends T_1009[K_557] ? T_1016 extends CanBeExpanded ? T_1016["default"] : T_1016 : never : never; } : T_1009 : never : never : T_1008 extends (infer U)[] ? any[] : T_1008 extends object ? { [K_558 in keyof T_1008]-?: T_1008[K_558] extends infer T_1017 ? T_1017 extends T_1008[K_558] ? T_1017 extends CanBeExpanded ? T_1017["default"] : T_1017 : never : never; } : T_1008 : never : never : T_1007 extends (infer U)[] ? any[] : T_1007 extends object ? { [K_559 in keyof T_1007]-?: T_1007[K_559] extends infer T_1018 ? T_1018 extends T_1007[K_559] ? T_1018 extends CanBeExpanded ? T_1018["default"] : T_1018 : never : never; } : T_1007 : never : never : T_1006 extends (infer U)[] ? any[] : T_1006 extends object ? { [K_560 in keyof T_1006]-?: T_1006[K_560] extends infer T_1019 ? T_1019 extends T_1006[K_560] ? T_1019 extends CanBeExpanded ? T_1019["default"] : T_1019 : never : never; } : T_1006 : never : never : T_1004 extends (infer U)[] ? any[] : T_1004 extends object ? { [K_561 in keyof T_1004]-?: T_1004[K_561] extends infer T_1020 ? T_1020 extends T_1004[K_561] ? T_1020 extends CanBeExpanded ? T_1020["default"] : T_1020 : never : never; } : T_1004 : never : never; } : T_932 : never : never; } : T_689 : never : never; } : T +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type UseQueryOptions2 = Expand_ ->UseQueryOptions2 : T extends CanBeExpanded ? T["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_2 ? T_2 extends T["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_2 extends CanBeExpanded ? T_2["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_3 ? T_3 extends T_2["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_3 extends CanBeExpanded ? T_3["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_4 ? T_4 extends T_3["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_4 extends CanBeExpanded ? T_4["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_5 ? T_5 extends T_4["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_5 extends CanBeExpanded ? T_5["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_6 ? T_6 extends T_5["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_6 extends CanBeExpanded ? T_6["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_7 ? T_7 extends T_6["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_7 extends CanBeExpanded ? T_7["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_8 ? T_8 extends T_7["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_8 extends CanBeExpanded ? T_8["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_9 ? T_9 extends T_8["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_9 extends CanBeExpanded ? T_9["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_10 ? T_10 extends T_9["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_10 extends CanBeExpanded ? T_10["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_11 ? T_11 extends T_10["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_11 extends CanBeExpanded ? any : T_11 extends (infer U)[] ? any[] : T_11 extends object ? { [K_1 in keyof T_11]-?: any; } : T_11 : never : never : T_10 extends (infer U)[] ? any[] : T_10 extends object ? { [K_2 in keyof T_10]-?: T_10[K_2] extends infer T_12 ? T_12 extends T_10[K_2] ? T_12 extends CanBeExpanded ? any : T_12 extends (infer U)[] ? any[] : T_12 extends object ? { [K_3 in keyof T_12]-?: any; } : T_12 : never : never; } : T_10 : never : never : T_9 extends (infer U)[] ? any[] : T_9 extends object ? { [K_4 in keyof T_9]-?: T_9[K_4] extends infer T_13 ? T_13 extends T_9[K_4] ? T_13 extends CanBeExpanded ? T_13[string & K_4 extends infer T_14 ? T_14 extends string & K_4 ? T_14 extends SplitAC ? "value" : "default" : never : never] extends infer T_15 ? T_15 extends T_13[string & K_4 extends infer T_14 ? T_14 extends string & K_4 ? T_14 extends SplitAC ? "value" : "default" : never : never] ? T_15 extends CanBeExpanded ? any : T_15 extends (infer U)[] ? any[] : T_15 extends object ? { [K_5 in keyof T_15]-?: any; } : T_15 : never : never : T_13 extends (infer U)[] ? any[] : T_13 extends object ? { [K_6 in keyof T_13]-?: T_13[K_6] extends infer T_16 ? T_16 extends T_13[K_6] ? T_16 extends CanBeExpanded ? any : T_16 extends (infer U)[] ? any[] : T_16 extends object ? { [K_7 in keyof T_16]-?: any; } : T_16 : never : never; } : T_13 : never : never; } : T_9 : never : never : T_8 extends (infer U)[] ? any[] : T_8 extends object ? { [K_8 in keyof T_8]-?: T_8[K_8] extends infer T_17 ? T_17 extends T_8[K_8] ? T_17 extends CanBeExpanded ? T_17[string & K_8 extends infer T_18 ? T_18 extends string & K_8 ? T_18 extends SplitAC ? "value" : "default" : never : never] extends infer T_19 ? T_19 extends T_17[string & K_8 extends infer T_18 ? T_18 extends string & K_8 ? T_18 extends SplitAC ? "value" : "default" : never : never] ? T_19 extends CanBeExpanded ? T_19[string & K_8 extends infer T_18 ? T_18 extends string & K_8 ? T_18 extends SplitAC ? "value" : "default" : never : never] extends infer T_20 ? T_20 extends T_19[string & K_8 extends infer T_18 ? T_18 extends string & K_8 ? T_18 extends SplitAC ? "value" : "default" : never : never] ? T_20 extends CanBeExpanded ? any : T_20 extends (infer U)[] ? any[] : T_20 extends object ? { [K_9 in keyof T_20]-?: any; } : T_20 : never : never : T_19 extends (infer U)[] ? any[] : T_19 extends object ? { [K_10 in keyof T_19]-?: T_19[K_10] extends infer T_21 ? T_21 extends T_19[K_10] ? T_21 extends CanBeExpanded ? any : T_21 extends (infer U)[] ? any[] : T_21 extends object ? { [K_11 in keyof T_21]-?: any; } : T_21 : never : never; } : T_19 : never : never : T_17 extends (infer U)[] ? any[] : T_17 extends object ? { [K_12 in keyof T_17]-?: T_17[K_12] extends infer T_22 ? T_22 extends T_17[K_12] ? T_22 extends CanBeExpanded ? T_22[PrefixWith extends infer T_23 ? T_23 extends PrefixWith ? T_23 extends SplitAC ? "value" : "default" : never : never] extends infer T_24 ? T_24 extends T_22[PrefixWith extends infer T_23 ? T_23 extends PrefixWith ? T_23 extends SplitAC ? "value" : "default" : never : never] ? T_24 extends CanBeExpanded ? any : T_24 extends (infer U)[] ? any[] : T_24 extends object ? { [K_13 in keyof T_24]-?: any; } : T_24 : never : never : T_22 extends (infer U)[] ? any[] : T_22 extends object ? { [K_14 in keyof T_22]-?: T_22[K_14] extends infer T_25 ? T_25 extends T_22[K_14] ? T_25 extends CanBeExpanded ? any : T_25 extends (infer U)[] ? any[] : T_25 extends object ? { [K_15 in keyof T_25]-?: T_25[K_15] extends infer T_26 ? T_26 extends T_25[K_15] ? T_26 extends CanBeExpanded ? T_26["default"] : T_26 : never : never; } : T_25 : never : never; } : T_22 : never : never; } : T_17 : never : never; } : T_8 : never : never : T_7 extends (infer U)[] ? any[] : T_7 extends object ? { [K_16 in keyof T_7]-?: T_7[K_16] extends infer T_27 ? T_27 extends T_7[K_16] ? T_27 extends CanBeExpanded ? T_27[string & K_16 extends infer T_28 ? T_28 extends string & K_16 ? T_28 extends SplitAC ? "value" : "default" : never : never] extends infer T_29 ? T_29 extends T_27[string & K_16 extends infer T_28 ? T_28 extends string & K_16 ? T_28 extends SplitAC ? "value" : "default" : never : never] ? T_29 extends CanBeExpanded ? T_29[string & K_16 extends infer T_28 ? T_28 extends string & K_16 ? T_28 extends SplitAC ? "value" : "default" : never : never] extends infer T_30 ? T_30 extends T_29[string & K_16 extends infer T_28 ? T_28 extends string & K_16 ? T_28 extends SplitAC ? "value" : "default" : never : never] ? T_30 extends CanBeExpanded ? T_30[string & K_16 extends infer T_28 ? T_28 extends string & K_16 ? T_28 extends SplitAC ? "value" : "default" : never : never] extends infer T_31 ? T_31 extends T_30[string & K_16 extends infer T_28 ? T_28 extends string & K_16 ? T_28 extends SplitAC ? "value" : "default" : never : never] ? T_31 extends CanBeExpanded ? any : T_31 extends (infer U)[] ? any[] : T_31 extends object ? { [K_17 in keyof T_31]-?: any; } : T_31 : never : never : T_30 extends (infer U)[] ? any[] : T_30 extends object ? { [K_18 in keyof T_30]-?: T_30[K_18] extends infer T_32 ? T_32 extends T_30[K_18] ? T_32 extends CanBeExpanded ? any : T_32 extends (infer U)[] ? any[] : T_32 extends object ? { [K_19 in keyof T_32]-?: any; } : T_32 : never : never; } : T_30 : never : never : T_29 extends (infer U)[] ? any[] : T_29 extends object ? { [K_20 in keyof T_29]-?: T_29[K_20] extends infer T_33 ? T_33 extends T_29[K_20] ? T_33 extends CanBeExpanded ? T_33[PrefixWith extends infer T_34 ? T_34 extends PrefixWith ? T_34 extends SplitAC ? "value" : "default" : never : never] extends infer T_35 ? T_35 extends T_33[PrefixWith extends infer T_34 ? T_34 extends PrefixWith ? T_34 extends SplitAC ? "value" : "default" : never : never] ? T_35 extends CanBeExpanded ? any : T_35 extends (infer U)[] ? any[] : T_35 extends object ? { [K_21 in keyof T_35]-?: any; } : T_35 : never : never : T_33 extends (infer U)[] ? any[] : T_33 extends object ? { [K_22 in keyof T_33]-?: T_33[K_22] extends infer T_36 ? T_36 extends T_33[K_22] ? T_36 extends CanBeExpanded ? any : T_36 extends (infer U)[] ? any[] : T_36 extends object ? { [K_23 in keyof T_36]-?: T_36[K_23] extends infer T_37 ? T_37 extends T_36[K_23] ? T_37 extends CanBeExpanded ? T_37["default"] : T_37 : never : never; } : T_36 : never : never; } : T_33 : never : never; } : T_29 : never : never : T_27 extends (infer U)[] ? any[] : T_27 extends object ? { [K_24 in keyof T_27]-?: T_27[K_24] extends infer T_38 ? T_38 extends T_27[K_24] ? T_38 extends CanBeExpanded ? T_38[PrefixWith extends infer T_39 ? T_39 extends PrefixWith ? T_39 extends SplitAC ? "value" : "default" : never : never] extends infer T_40 ? T_40 extends T_38[PrefixWith extends infer T_39 ? T_39 extends PrefixWith ? T_39 extends SplitAC ? "value" : "default" : never : never] ? T_40 extends CanBeExpanded ? T_40[PrefixWith extends infer T_39 ? T_39 extends PrefixWith ? T_39 extends SplitAC ? "value" : "default" : never : never] extends infer T_41 ? T_41 extends T_40[PrefixWith extends infer T_39 ? T_39 extends PrefixWith ? T_39 extends SplitAC ? "value" : "default" : never : never] ? T_41 extends CanBeExpanded ? any : T_41 extends (infer U)[] ? any[] : T_41 extends object ? { [K_25 in keyof T_41]-?: any; } : T_41 : never : never : T_40 extends (infer U)[] ? any[] : T_40 extends object ? { [K_26 in keyof T_40]-?: T_40[K_26] extends infer T_42 ? T_42 extends T_40[K_26] ? T_42 extends CanBeExpanded ? any : T_42 extends (infer U)[] ? any[] : T_42 extends object ? { [K_27 in keyof T_42]-?: T_42[K_27] extends infer T_43 ? T_43 extends T_42[K_27] ? T_43 extends CanBeExpanded ? T_43["default"] : T_43 : never : never; } : T_42 : never : never; } : T_40 : never : never : T_38 extends (infer U)[] ? any[] : T_38 extends object ? { [K_28 in keyof T_38]-?: T_38[K_28] extends infer T_44 ? T_44 extends T_38[K_28] ? T_44 extends CanBeExpanded ? T_44[PrefixWith, K_28, "."> extends infer T_45 ? T_45 extends PrefixWith, K_28, "."> ? T_45 extends SplitAC ? "value" : "default" : never : never] extends infer T_46 ? T_46 extends T_44[PrefixWith, K_28, "."> extends infer T_45 ? T_45 extends PrefixWith, K_28, "."> ? T_45 extends SplitAC ? "value" : "default" : never : never] ? T_46 extends CanBeExpanded ? any : T_46 extends (infer U)[] ? any[] : T_46 extends object ? { [K_29 in keyof T_46]-?: T_46[K_29] extends infer T_47 ? T_47 extends T_46[K_29] ? T_47 extends CanBeExpanded ? T_47["default"] : T_47 : never : never; } : T_46 : never : never : T_44 extends (infer U)[] ? any[] : T_44 extends object ? { [K_30 in keyof T_44]-?: T_44[K_30] extends infer T_48 ? T_48 extends T_44[K_30] ? T_48 extends CanBeExpanded ? T_48["default"] : T_48 : never : never; } : T_44 : never : never; } : T_38 : never : never; } : T_27 : never : never; } : T_7 : never : never : T_6 extends (infer U)[] ? any[] : T_6 extends object ? { [K_31 in keyof T_6]-?: T_6[K_31] extends infer T_49 ? T_49 extends T_6[K_31] ? T_49 extends CanBeExpanded ? T_49[string & K_31 extends infer T_50 ? T_50 extends string & K_31 ? T_50 extends SplitAC ? "value" : "default" : never : never] extends infer T_51 ? T_51 extends T_49[string & K_31 extends infer T_50 ? T_50 extends string & K_31 ? T_50 extends SplitAC ? "value" : "default" : never : never] ? T_51 extends CanBeExpanded ? T_51[string & K_31 extends infer T_50 ? T_50 extends string & K_31 ? T_50 extends SplitAC ? "value" : "default" : never : never] extends infer T_52 ? T_52 extends T_51[string & K_31 extends infer T_50 ? T_50 extends string & K_31 ? T_50 extends SplitAC ? "value" : "default" : never : never] ? T_52 extends CanBeExpanded ? T_52[string & K_31 extends infer T_50 ? T_50 extends string & K_31 ? T_50 extends SplitAC ? "value" : "default" : never : never] extends infer T_53 ? T_53 extends T_52[string & K_31 extends infer T_50 ? T_50 extends string & K_31 ? T_50 extends SplitAC ? "value" : "default" : never : never] ? T_53 extends CanBeExpanded ? T_53[string & K_31 extends infer T_50 ? T_50 extends string & K_31 ? T_50 extends SplitAC ? "value" : "default" : never : never] extends infer T_54 ? T_54 extends T_53[string & K_31 extends infer T_50 ? T_50 extends string & K_31 ? T_50 extends SplitAC ? "value" : "default" : never : never] ? T_54 extends CanBeExpanded ? any : T_54 extends (infer U)[] ? any[] : T_54 extends object ? { [K_32 in keyof T_54]-?: any; } : T_54 : never : never : T_53 extends (infer U)[] ? any[] : T_53 extends object ? { [K_33 in keyof T_53]-?: T_53[K_33] extends infer T_55 ? T_55 extends T_53[K_33] ? T_55 extends CanBeExpanded ? any : T_55 extends (infer U)[] ? any[] : T_55 extends object ? { [K_34 in keyof T_55]-?: any; } : T_55 : never : never; } : T_53 : never : never : T_52 extends (infer U)[] ? any[] : T_52 extends object ? { [K_35 in keyof T_52]-?: T_52[K_35] extends infer T_56 ? T_56 extends T_52[K_35] ? T_56 extends CanBeExpanded ? T_56[PrefixWith extends infer T_57 ? T_57 extends PrefixWith ? T_57 extends SplitAC ? "value" : "default" : never : never] extends infer T_58 ? T_58 extends T_56[PrefixWith extends infer T_57 ? T_57 extends PrefixWith ? T_57 extends SplitAC ? "value" : "default" : never : never] ? T_58 extends CanBeExpanded ? any : T_58 extends (infer U)[] ? any[] : T_58 extends object ? { [K_36 in keyof T_58]-?: any; } : T_58 : never : never : T_56 extends (infer U)[] ? any[] : T_56 extends object ? { [K_37 in keyof T_56]-?: T_56[K_37] extends infer T_59 ? T_59 extends T_56[K_37] ? T_59 extends CanBeExpanded ? any : T_59 extends (infer U)[] ? any[] : T_59 extends object ? { [K_38 in keyof T_59]-?: T_59[K_38] extends infer T_60 ? T_60 extends T_59[K_38] ? T_60 extends CanBeExpanded ? T_60["default"] : T_60 : never : never; } : T_59 : never : never; } : T_56 : never : never; } : T_52 : never : never : T_51 extends (infer U)[] ? any[] : T_51 extends object ? { [K_39 in keyof T_51]-?: T_51[K_39] extends infer T_61 ? T_61 extends T_51[K_39] ? T_61 extends CanBeExpanded ? T_61[PrefixWith extends infer T_62 ? T_62 extends PrefixWith ? T_62 extends SplitAC ? "value" : "default" : never : never] extends infer T_63 ? T_63 extends T_61[PrefixWith extends infer T_62 ? T_62 extends PrefixWith ? T_62 extends SplitAC ? "value" : "default" : never : never] ? T_63 extends CanBeExpanded ? T_63[PrefixWith extends infer T_62 ? T_62 extends PrefixWith ? T_62 extends SplitAC ? "value" : "default" : never : never] extends infer T_64 ? T_64 extends T_63[PrefixWith extends infer T_62 ? T_62 extends PrefixWith ? T_62 extends SplitAC ? "value" : "default" : never : never] ? T_64 extends CanBeExpanded ? any : T_64 extends (infer U)[] ? any[] : T_64 extends object ? { [K_40 in keyof T_64]-?: any; } : T_64 : never : never : T_63 extends (infer U)[] ? any[] : T_63 extends object ? { [K_41 in keyof T_63]-?: T_63[K_41] extends infer T_65 ? T_65 extends T_63[K_41] ? T_65 extends CanBeExpanded ? any : T_65 extends (infer U)[] ? any[] : T_65 extends object ? { [K_42 in keyof T_65]-?: T_65[K_42] extends infer T_66 ? T_66 extends T_65[K_42] ? T_66 extends CanBeExpanded ? T_66["default"] : T_66 : never : never; } : T_65 : never : never; } : T_63 : never : never : T_61 extends (infer U)[] ? any[] : T_61 extends object ? { [K_43 in keyof T_61]-?: T_61[K_43] extends infer T_67 ? T_67 extends T_61[K_43] ? T_67 extends CanBeExpanded ? T_67[PrefixWith, K_43, "."> extends infer T_68 ? T_68 extends PrefixWith, K_43, "."> ? T_68 extends SplitAC ? "value" : "default" : never : never] extends infer T_69 ? T_69 extends T_67[PrefixWith, K_43, "."> extends infer T_68 ? T_68 extends PrefixWith, K_43, "."> ? T_68 extends SplitAC ? "value" : "default" : never : never] ? T_69 extends CanBeExpanded ? any : T_69 extends (infer U)[] ? any[] : T_69 extends object ? { [K_44 in keyof T_69]-?: T_69[K_44] extends infer T_70 ? T_70 extends T_69[K_44] ? T_70 extends CanBeExpanded ? T_70["default"] : T_70 : never : never; } : T_69 : never : never : T_67 extends (infer U)[] ? any[] : T_67 extends object ? { [K_45 in keyof T_67]-?: T_67[K_45] extends infer T_71 ? T_71 extends T_67[K_45] ? T_71 extends CanBeExpanded ? T_71["default"] : T_71 : never : never; } : T_67 : never : never; } : T_61 : never : never; } : T_51 : never : never : T_49 extends (infer U)[] ? any[] : T_49 extends object ? { [K_46 in keyof T_49]-?: T_49[K_46] extends infer T_72 ? T_72 extends T_49[K_46] ? T_72 extends CanBeExpanded ? T_72[PrefixWith extends infer T_73 ? T_73 extends PrefixWith ? T_73 extends SplitAC ? "value" : "default" : never : never] extends infer T_74 ? T_74 extends T_72[PrefixWith extends infer T_73 ? T_73 extends PrefixWith ? T_73 extends SplitAC ? "value" : "default" : never : never] ? T_74 extends CanBeExpanded ? T_74[PrefixWith extends infer T_73 ? T_73 extends PrefixWith ? T_73 extends SplitAC ? "value" : "default" : never : never] extends infer T_75 ? T_75 extends T_74[PrefixWith extends infer T_73 ? T_73 extends PrefixWith ? T_73 extends SplitAC ? "value" : "default" : never : never] ? T_75 extends CanBeExpanded ? T_75[PrefixWith extends infer T_73 ? T_73 extends PrefixWith ? T_73 extends SplitAC ? "value" : "default" : never : never] extends infer T_76 ? T_76 extends T_75[PrefixWith extends infer T_73 ? T_73 extends PrefixWith ? T_73 extends SplitAC ? "value" : "default" : never : never] ? T_76 extends CanBeExpanded ? any : T_76 extends (infer U)[] ? any[] : T_76 extends object ? { [K_47 in keyof T_76]-?: any; } : T_76 : never : never : T_75 extends (infer U)[] ? any[] : T_75 extends object ? { [K_48 in keyof T_75]-?: T_75[K_48] extends infer T_77 ? T_77 extends T_75[K_48] ? T_77 extends CanBeExpanded ? any : T_77 extends (infer U)[] ? any[] : T_77 extends object ? { [K_49 in keyof T_77]-?: T_77[K_49] extends infer T_78 ? T_78 extends T_77[K_49] ? T_78 extends CanBeExpanded ? T_78["default"] : T_78 : never : never; } : T_77 : never : never; } : T_75 : never : never : T_74 extends (infer U)[] ? any[] : T_74 extends object ? { [K_50 in keyof T_74]-?: T_74[K_50] extends infer T_79 ? T_79 extends T_74[K_50] ? T_79 extends CanBeExpanded ? T_79[PrefixWith, K_50, "."> extends infer T_80 ? T_80 extends PrefixWith, K_50, "."> ? T_80 extends SplitAC ? "value" : "default" : never : never] extends infer T_81 ? T_81 extends T_79[PrefixWith, K_50, "."> extends infer T_80 ? T_80 extends PrefixWith, K_50, "."> ? T_80 extends SplitAC ? "value" : "default" : never : never] ? T_81 extends CanBeExpanded ? any : T_81 extends (infer U)[] ? any[] : T_81 extends object ? { [K_51 in keyof T_81]-?: T_81[K_51] extends infer T_82 ? T_82 extends T_81[K_51] ? T_82 extends CanBeExpanded ? T_82["default"] : T_82 : never : never; } : T_81 : never : never : T_79 extends (infer U)[] ? any[] : T_79 extends object ? { [K_52 in keyof T_79]-?: T_79[K_52] extends infer T_83 ? T_83 extends T_79[K_52] ? T_83 extends CanBeExpanded ? T_83["default"] : T_83 : never : never; } : T_79 : never : never; } : T_74 : never : never : T_72 extends (infer U)[] ? any[] : T_72 extends object ? { [K_53 in keyof T_72]-?: T_72[K_53] extends infer T_84 ? T_84 extends T_72[K_53] ? T_84 extends CanBeExpanded ? T_84[PrefixWith, K_53, "."> extends infer T_85 ? T_85 extends PrefixWith, K_53, "."> ? T_85 extends SplitAC ? "value" : "default" : never : never] extends infer T_86 ? T_86 extends T_84[PrefixWith, K_53, "."> extends infer T_85 ? T_85 extends PrefixWith, K_53, "."> ? T_85 extends SplitAC ? "value" : "default" : never : never] ? T_86 extends CanBeExpanded ? T_86[PrefixWith, K_53, "."> extends infer T_85 ? T_85 extends PrefixWith, K_53, "."> ? T_85 extends SplitAC ? "value" : "default" : never : never] extends infer T_87 ? T_87 extends T_86[PrefixWith, K_53, "."> extends infer T_85 ? T_85 extends PrefixWith, K_53, "."> ? T_85 extends SplitAC ? "value" : "default" : never : never] ? T_87 extends CanBeExpanded ? any : T_87 extends (infer U)[] ? any[] : T_87 extends object ? { [K_54 in keyof T_87]-?: T_87[K_54] extends infer T_88 ? T_88 extends T_87[K_54] ? T_88 extends CanBeExpanded ? T_88["default"] : T_88 : never : never; } : T_87 : never : never : T_86 extends (infer U)[] ? any[] : T_86 extends object ? { [K_55 in keyof T_86]-?: T_86[K_55] extends infer T_89 ? T_89 extends T_86[K_55] ? T_89 extends CanBeExpanded ? T_89["default"] : T_89 : never : never; } : T_86 : never : never : T_84 extends (infer U)[] ? any[] : T_84 extends object ? { [K_56 in keyof T_84]-?: T_84[K_56] extends infer T_90 ? T_90 extends T_84[K_56] ? T_90 extends CanBeExpanded ? T_90["default"] : T_90 : never : never; } : T_84 : never : never; } : T_72 : never : never; } : T_49 : never : never; } : T_6 : never : never : T_5 extends (infer U)[] ? any[] : T_5 extends object ? { [K_57 in keyof T_5]-?: T_5[K_57] extends infer T_91 ? T_91 extends T_5[K_57] ? T_91 extends CanBeExpanded ? T_91[string & K_57 extends infer T_92 ? T_92 extends string & K_57 ? T_92 extends SplitAC ? "value" : "default" : never : never] extends infer T_93 ? T_93 extends T_91[string & K_57 extends infer T_92 ? T_92 extends string & K_57 ? T_92 extends SplitAC ? "value" : "default" : never : never] ? T_93 extends CanBeExpanded ? T_93[string & K_57 extends infer T_92 ? T_92 extends string & K_57 ? T_92 extends SplitAC ? "value" : "default" : never : never] extends infer T_94 ? T_94 extends T_93[string & K_57 extends infer T_92 ? T_92 extends string & K_57 ? T_92 extends SplitAC ? "value" : "default" : never : never] ? T_94 extends CanBeExpanded ? T_94[string & K_57 extends infer T_92 ? T_92 extends string & K_57 ? T_92 extends SplitAC ? "value" : "default" : never : never] extends infer T_95 ? T_95 extends T_94[string & K_57 extends infer T_92 ? T_92 extends string & K_57 ? T_92 extends SplitAC ? "value" : "default" : never : never] ? T_95 extends CanBeExpanded ? T_95[string & K_57 extends infer T_92 ? T_92 extends string & K_57 ? T_92 extends SplitAC ? "value" : "default" : never : never] extends infer T_96 ? T_96 extends T_95[string & K_57 extends infer T_92 ? T_92 extends string & K_57 ? T_92 extends SplitAC ? "value" : "default" : never : never] ? T_96 extends CanBeExpanded ? T_96[string & K_57 extends infer T_92 ? T_92 extends string & K_57 ? T_92 extends SplitAC ? "value" : "default" : never : never] extends infer T_97 ? T_97 extends T_96[string & K_57 extends infer T_92 ? T_92 extends string & K_57 ? T_92 extends SplitAC ? "value" : "default" : never : never] ? T_97 extends CanBeExpanded ? any : T_97 extends (infer U)[] ? any[] : T_97 extends object ? { [K_58 in keyof T_97]-?: any; } : T_97 : never : never : T_96 extends (infer U)[] ? any[] : T_96 extends object ? { [K_59 in keyof T_96]-?: T_96[K_59] extends infer T_98 ? T_98 extends T_96[K_59] ? T_98 extends CanBeExpanded ? any : T_98 extends (infer U)[] ? any[] : T_98 extends object ? { [K_60 in keyof T_98]-?: any; } : T_98 : never : never; } : T_96 : never : never : T_95 extends (infer U)[] ? any[] : T_95 extends object ? { [K_61 in keyof T_95]-?: T_95[K_61] extends infer T_99 ? T_99 extends T_95[K_61] ? T_99 extends CanBeExpanded ? T_99[PrefixWith extends infer T_100 ? T_100 extends PrefixWith ? T_100 extends SplitAC ? "value" : "default" : never : never] extends infer T_101 ? T_101 extends T_99[PrefixWith extends infer T_100 ? T_100 extends PrefixWith ? T_100 extends SplitAC ? "value" : "default" : never : never] ? T_101 extends CanBeExpanded ? any : T_101 extends (infer U)[] ? any[] : T_101 extends object ? { [K_62 in keyof T_101]-?: any; } : T_101 : never : never : T_99 extends (infer U)[] ? any[] : T_99 extends object ? { [K_63 in keyof T_99]-?: T_99[K_63] extends infer T_102 ? T_102 extends T_99[K_63] ? T_102 extends CanBeExpanded ? any : T_102 extends (infer U)[] ? any[] : T_102 extends object ? { [K_64 in keyof T_102]-?: T_102[K_64] extends infer T_103 ? T_103 extends T_102[K_64] ? T_103 extends CanBeExpanded ? T_103["default"] : T_103 : never : never; } : T_102 : never : never; } : T_99 : never : never; } : T_95 : never : never : T_94 extends (infer U)[] ? any[] : T_94 extends object ? { [K_65 in keyof T_94]-?: T_94[K_65] extends infer T_104 ? T_104 extends T_94[K_65] ? T_104 extends CanBeExpanded ? T_104[PrefixWith extends infer T_105 ? T_105 extends PrefixWith ? T_105 extends SplitAC ? "value" : "default" : never : never] extends infer T_106 ? T_106 extends T_104[PrefixWith extends infer T_105 ? T_105 extends PrefixWith ? T_105 extends SplitAC ? "value" : "default" : never : never] ? T_106 extends CanBeExpanded ? T_106[PrefixWith extends infer T_105 ? T_105 extends PrefixWith ? T_105 extends SplitAC ? "value" : "default" : never : never] extends infer T_107 ? T_107 extends T_106[PrefixWith extends infer T_105 ? T_105 extends PrefixWith ? T_105 extends SplitAC ? "value" : "default" : never : never] ? T_107 extends CanBeExpanded ? any : T_107 extends (infer U)[] ? any[] : T_107 extends object ? { [K_66 in keyof T_107]-?: any; } : T_107 : never : never : T_106 extends (infer U)[] ? any[] : T_106 extends object ? { [K_67 in keyof T_106]-?: T_106[K_67] extends infer T_108 ? T_108 extends T_106[K_67] ? T_108 extends CanBeExpanded ? any : T_108 extends (infer U)[] ? any[] : T_108 extends object ? { [K_68 in keyof T_108]-?: T_108[K_68] extends infer T_109 ? T_109 extends T_108[K_68] ? T_109 extends CanBeExpanded ? T_109["default"] : T_109 : never : never; } : T_108 : never : never; } : T_106 : never : never : T_104 extends (infer U)[] ? any[] : T_104 extends object ? { [K_69 in keyof T_104]-?: T_104[K_69] extends infer T_110 ? T_110 extends T_104[K_69] ? T_110 extends CanBeExpanded ? T_110[PrefixWith, K_69, "."> extends infer T_111 ? T_111 extends PrefixWith, K_69, "."> ? T_111 extends SplitAC ? "value" : "default" : never : never] extends infer T_112 ? T_112 extends T_110[PrefixWith, K_69, "."> extends infer T_111 ? T_111 extends PrefixWith, K_69, "."> ? T_111 extends SplitAC ? "value" : "default" : never : never] ? T_112 extends CanBeExpanded ? any : T_112 extends (infer U)[] ? any[] : T_112 extends object ? { [K_70 in keyof T_112]-?: T_112[K_70] extends infer T_113 ? T_113 extends T_112[K_70] ? T_113 extends CanBeExpanded ? T_113["default"] : T_113 : never : never; } : T_112 : never : never : T_110 extends (infer U)[] ? any[] : T_110 extends object ? { [K_71 in keyof T_110]-?: T_110[K_71] extends infer T_114 ? T_114 extends T_110[K_71] ? T_114 extends CanBeExpanded ? T_114["default"] : T_114 : never : never; } : T_110 : never : never; } : T_104 : never : never; } : T_94 : never : never : T_93 extends (infer U)[] ? any[] : T_93 extends object ? { [K_72 in keyof T_93]-?: T_93[K_72] extends infer T_115 ? T_115 extends T_93[K_72] ? T_115 extends CanBeExpanded ? T_115[PrefixWith extends infer T_116 ? T_116 extends PrefixWith ? T_116 extends SplitAC ? "value" : "default" : never : never] extends infer T_117 ? T_117 extends T_115[PrefixWith extends infer T_116 ? T_116 extends PrefixWith ? T_116 extends SplitAC ? "value" : "default" : never : never] ? T_117 extends CanBeExpanded ? T_117[PrefixWith extends infer T_116 ? T_116 extends PrefixWith ? T_116 extends SplitAC ? "value" : "default" : never : never] extends infer T_118 ? T_118 extends T_117[PrefixWith extends infer T_116 ? T_116 extends PrefixWith ? T_116 extends SplitAC ? "value" : "default" : never : never] ? T_118 extends CanBeExpanded ? T_118[PrefixWith extends infer T_116 ? T_116 extends PrefixWith ? T_116 extends SplitAC ? "value" : "default" : never : never] extends infer T_119 ? T_119 extends T_118[PrefixWith extends infer T_116 ? T_116 extends PrefixWith ? T_116 extends SplitAC ? "value" : "default" : never : never] ? T_119 extends CanBeExpanded ? any : T_119 extends (infer U)[] ? any[] : T_119 extends object ? { [K_73 in keyof T_119]-?: any; } : T_119 : never : never : T_118 extends (infer U)[] ? any[] : T_118 extends object ? { [K_74 in keyof T_118]-?: T_118[K_74] extends infer T_120 ? T_120 extends T_118[K_74] ? T_120 extends CanBeExpanded ? any : T_120 extends (infer U)[] ? any[] : T_120 extends object ? { [K_75 in keyof T_120]-?: T_120[K_75] extends infer T_121 ? T_121 extends T_120[K_75] ? T_121 extends CanBeExpanded ? T_121["default"] : T_121 : never : never; } : T_120 : never : never; } : T_118 : never : never : T_117 extends (infer U)[] ? any[] : T_117 extends object ? { [K_76 in keyof T_117]-?: T_117[K_76] extends infer T_122 ? T_122 extends T_117[K_76] ? T_122 extends CanBeExpanded ? T_122[PrefixWith, K_76, "."> extends infer T_123 ? T_123 extends PrefixWith, K_76, "."> ? T_123 extends SplitAC ? "value" : "default" : never : never] extends infer T_124 ? T_124 extends T_122[PrefixWith, K_76, "."> extends infer T_123 ? T_123 extends PrefixWith, K_76, "."> ? T_123 extends SplitAC ? "value" : "default" : never : never] ? T_124 extends CanBeExpanded ? any : T_124 extends (infer U)[] ? any[] : T_124 extends object ? { [K_77 in keyof T_124]-?: T_124[K_77] extends infer T_125 ? T_125 extends T_124[K_77] ? T_125 extends CanBeExpanded ? T_125["default"] : T_125 : never : never; } : T_124 : never : never : T_122 extends (infer U)[] ? any[] : T_122 extends object ? { [K_78 in keyof T_122]-?: T_122[K_78] extends infer T_126 ? T_126 extends T_122[K_78] ? T_126 extends CanBeExpanded ? T_126["default"] : T_126 : never : never; } : T_122 : never : never; } : T_117 : never : never : T_115 extends (infer U)[] ? any[] : T_115 extends object ? { [K_79 in keyof T_115]-?: T_115[K_79] extends infer T_127 ? T_127 extends T_115[K_79] ? T_127 extends CanBeExpanded ? T_127[PrefixWith, K_79, "."> extends infer T_128 ? T_128 extends PrefixWith, K_79, "."> ? T_128 extends SplitAC ? "value" : "default" : never : never] extends infer T_129 ? T_129 extends T_127[PrefixWith, K_79, "."> extends infer T_128 ? T_128 extends PrefixWith, K_79, "."> ? T_128 extends SplitAC ? "value" : "default" : never : never] ? T_129 extends CanBeExpanded ? T_129[PrefixWith, K_79, "."> extends infer T_128 ? T_128 extends PrefixWith, K_79, "."> ? T_128 extends SplitAC ? "value" : "default" : never : never] extends infer T_130 ? T_130 extends T_129[PrefixWith, K_79, "."> extends infer T_128 ? T_128 extends PrefixWith, K_79, "."> ? T_128 extends SplitAC ? "value" : "default" : never : never] ? T_130 extends CanBeExpanded ? any : T_130 extends (infer U)[] ? any[] : T_130 extends object ? { [K_80 in keyof T_130]-?: T_130[K_80] extends infer T_131 ? T_131 extends T_130[K_80] ? T_131 extends CanBeExpanded ? T_131["default"] : T_131 : never : never; } : T_130 : never : never : T_129 extends (infer U)[] ? any[] : T_129 extends object ? { [K_81 in keyof T_129]-?: T_129[K_81] extends infer T_132 ? T_132 extends T_129[K_81] ? T_132 extends CanBeExpanded ? T_132["default"] : T_132 : never : never; } : T_129 : never : never : T_127 extends (infer U)[] ? any[] : T_127 extends object ? { [K_82 in keyof T_127]-?: T_127[K_82] extends infer T_133 ? T_133 extends T_127[K_82] ? T_133 extends CanBeExpanded ? T_133["default"] : T_133 : never : never; } : T_127 : never : never; } : T_115 : never : never; } : T_93 : never : never : T_91 extends (infer U)[] ? any[] : T_91 extends object ? { [K_83 in keyof T_91]-?: T_91[K_83] extends infer T_134 ? T_134 extends T_91[K_83] ? T_134 extends CanBeExpanded ? T_134[PrefixWith extends infer T_135 ? T_135 extends PrefixWith ? T_135 extends SplitAC ? "value" : "default" : never : never] extends infer T_136 ? T_136 extends T_134[PrefixWith extends infer T_135 ? T_135 extends PrefixWith ? T_135 extends SplitAC ? "value" : "default" : never : never] ? T_136 extends CanBeExpanded ? T_136[PrefixWith extends infer T_135 ? T_135 extends PrefixWith ? T_135 extends SplitAC ? "value" : "default" : never : never] extends infer T_137 ? T_137 extends T_136[PrefixWith extends infer T_135 ? T_135 extends PrefixWith ? T_135 extends SplitAC ? "value" : "default" : never : never] ? T_137 extends CanBeExpanded ? T_137[PrefixWith extends infer T_135 ? T_135 extends PrefixWith ? T_135 extends SplitAC ? "value" : "default" : never : never] extends infer T_138 ? T_138 extends T_137[PrefixWith extends infer T_135 ? T_135 extends PrefixWith ? T_135 extends SplitAC ? "value" : "default" : never : never] ? T_138 extends CanBeExpanded ? T_138[PrefixWith extends infer T_135 ? T_135 extends PrefixWith ? T_135 extends SplitAC ? "value" : "default" : never : never] extends infer T_139 ? T_139 extends T_138[PrefixWith extends infer T_135 ? T_135 extends PrefixWith ? T_135 extends SplitAC ? "value" : "default" : never : never] ? T_139 extends CanBeExpanded ? any : T_139 extends (infer U)[] ? any[] : T_139 extends object ? { [K_84 in keyof T_139]-?: any; } : T_139 : never : never : T_138 extends (infer U)[] ? any[] : T_138 extends object ? { [K_85 in keyof T_138]-?: T_138[K_85] extends infer T_140 ? T_140 extends T_138[K_85] ? T_140 extends CanBeExpanded ? any : T_140 extends (infer U)[] ? any[] : T_140 extends object ? { [K_86 in keyof T_140]-?: T_140[K_86] extends infer T_141 ? T_141 extends T_140[K_86] ? T_141 extends CanBeExpanded ? T_141["default"] : T_141 : never : never; } : T_140 : never : never; } : T_138 : never : never : T_137 extends (infer U)[] ? any[] : T_137 extends object ? { [K_87 in keyof T_137]-?: T_137[K_87] extends infer T_142 ? T_142 extends T_137[K_87] ? T_142 extends CanBeExpanded ? T_142[PrefixWith, K_87, "."> extends infer T_143 ? T_143 extends PrefixWith, K_87, "."> ? T_143 extends SplitAC ? "value" : "default" : never : never] extends infer T_144 ? T_144 extends T_142[PrefixWith, K_87, "."> extends infer T_143 ? T_143 extends PrefixWith, K_87, "."> ? T_143 extends SplitAC ? "value" : "default" : never : never] ? T_144 extends CanBeExpanded ? any : T_144 extends (infer U)[] ? any[] : T_144 extends object ? { [K_88 in keyof T_144]-?: T_144[K_88] extends infer T_145 ? T_145 extends T_144[K_88] ? T_145 extends CanBeExpanded ? T_145["default"] : T_145 : never : never; } : T_144 : never : never : T_142 extends (infer U)[] ? any[] : T_142 extends object ? { [K_89 in keyof T_142]-?: T_142[K_89] extends infer T_146 ? T_146 extends T_142[K_89] ? T_146 extends CanBeExpanded ? T_146["default"] : T_146 : never : never; } : T_142 : never : never; } : T_137 : never : never : T_136 extends (infer U)[] ? any[] : T_136 extends object ? { [K_90 in keyof T_136]-?: T_136[K_90] extends infer T_147 ? T_147 extends T_136[K_90] ? T_147 extends CanBeExpanded ? T_147[PrefixWith, K_90, "."> extends infer T_148 ? T_148 extends PrefixWith, K_90, "."> ? T_148 extends SplitAC ? "value" : "default" : never : never] extends infer T_149 ? T_149 extends T_147[PrefixWith, K_90, "."> extends infer T_148 ? T_148 extends PrefixWith, K_90, "."> ? T_148 extends SplitAC ? "value" : "default" : never : never] ? T_149 extends CanBeExpanded ? T_149[PrefixWith, K_90, "."> extends infer T_148 ? T_148 extends PrefixWith, K_90, "."> ? T_148 extends SplitAC ? "value" : "default" : never : never] extends infer T_150 ? T_150 extends T_149[PrefixWith, K_90, "."> extends infer T_148 ? T_148 extends PrefixWith, K_90, "."> ? T_148 extends SplitAC ? "value" : "default" : never : never] ? T_150 extends CanBeExpanded ? any : T_150 extends (infer U)[] ? any[] : T_150 extends object ? { [K_91 in keyof T_150]-?: T_150[K_91] extends infer T_151 ? T_151 extends T_150[K_91] ? T_151 extends CanBeExpanded ? T_151["default"] : T_151 : never : never; } : T_150 : never : never : T_149 extends (infer U)[] ? any[] : T_149 extends object ? { [K_92 in keyof T_149]-?: T_149[K_92] extends infer T_152 ? T_152 extends T_149[K_92] ? T_152 extends CanBeExpanded ? T_152["default"] : T_152 : never : never; } : T_149 : never : never : T_147 extends (infer U)[] ? any[] : T_147 extends object ? { [K_93 in keyof T_147]-?: T_147[K_93] extends infer T_153 ? T_153 extends T_147[K_93] ? T_153 extends CanBeExpanded ? T_153["default"] : T_153 : never : never; } : T_147 : never : never; } : T_136 : never : never : T_134 extends (infer U)[] ? any[] : T_134 extends object ? { [K_94 in keyof T_134]-?: T_134[K_94] extends infer T_154 ? T_154 extends T_134[K_94] ? T_154 extends CanBeExpanded ? T_154[PrefixWith, K_94, "."> extends infer T_155 ? T_155 extends PrefixWith, K_94, "."> ? T_155 extends SplitAC ? "value" : "default" : never : never] extends infer T_156 ? T_156 extends T_154[PrefixWith, K_94, "."> extends infer T_155 ? T_155 extends PrefixWith, K_94, "."> ? T_155 extends SplitAC ? "value" : "default" : never : never] ? T_156 extends CanBeExpanded ? T_156[PrefixWith, K_94, "."> extends infer T_155 ? T_155 extends PrefixWith, K_94, "."> ? T_155 extends SplitAC ? "value" : "default" : never : never] extends infer T_157 ? T_157 extends T_156[PrefixWith, K_94, "."> extends infer T_155 ? T_155 extends PrefixWith, K_94, "."> ? T_155 extends SplitAC ? "value" : "default" : never : never] ? T_157 extends CanBeExpanded ? T_157[PrefixWith, K_94, "."> extends infer T_155 ? T_155 extends PrefixWith, K_94, "."> ? T_155 extends SplitAC ? "value" : "default" : never : never] extends infer T_158 ? T_158 extends T_157[PrefixWith, K_94, "."> extends infer T_155 ? T_155 extends PrefixWith, K_94, "."> ? T_155 extends SplitAC ? "value" : "default" : never : never] ? T_158 extends CanBeExpanded ? any : T_158 extends (infer U)[] ? any[] : T_158 extends object ? { [K_95 in keyof T_158]-?: T_158[K_95] extends infer T_159 ? T_159 extends T_158[K_95] ? T_159 extends CanBeExpanded ? T_159["default"] : T_159 : never : never; } : T_158 : never : never : T_157 extends (infer U)[] ? any[] : T_157 extends object ? { [K_96 in keyof T_157]-?: T_157[K_96] extends infer T_160 ? T_160 extends T_157[K_96] ? T_160 extends CanBeExpanded ? T_160["default"] : T_160 : never : never; } : T_157 : never : never : T_156 extends (infer U)[] ? any[] : T_156 extends object ? { [K_97 in keyof T_156]-?: T_156[K_97] extends infer T_161 ? T_161 extends T_156[K_97] ? T_161 extends CanBeExpanded ? T_161["default"] : T_161 : never : never; } : T_156 : never : never : T_154 extends (infer U)[] ? any[] : T_154 extends object ? { [K_98 in keyof T_154]-?: T_154[K_98] extends infer T_162 ? T_162 extends T_154[K_98] ? T_162 extends CanBeExpanded ? T_162["default"] : T_162 : never : never; } : T_154 : never : never; } : T_134 : never : never; } : T_91 : never : never; } : T_5 : never : never : T_4 extends (infer U)[] ? any[] : T_4 extends object ? { [K_99 in keyof T_4]-?: T_4[K_99] extends infer T_163 ? T_163 extends T_4[K_99] ? T_163 extends CanBeExpanded ? T_163[string & K_99 extends infer T_164 ? T_164 extends string & K_99 ? T_164 extends SplitAC ? "value" : "default" : never : never] extends infer T_165 ? T_165 extends T_163[string & K_99 extends infer T_164 ? T_164 extends string & K_99 ? T_164 extends SplitAC ? "value" : "default" : never : never] ? T_165 extends CanBeExpanded ? T_165[string & K_99 extends infer T_164 ? T_164 extends string & K_99 ? T_164 extends SplitAC ? "value" : "default" : never : never] extends infer T_166 ? T_166 extends T_165[string & K_99 extends infer T_164 ? T_164 extends string & K_99 ? T_164 extends SplitAC ? "value" : "default" : never : never] ? T_166 extends CanBeExpanded ? T_166[string & K_99 extends infer T_164 ? T_164 extends string & K_99 ? T_164 extends SplitAC ? "value" : "default" : never : never] extends infer T_167 ? T_167 extends T_166[string & K_99 extends infer T_164 ? T_164 extends string & K_99 ? T_164 extends SplitAC ? "value" : "default" : never : never] ? T_167 extends CanBeExpanded ? T_167[string & K_99 extends infer T_164 ? T_164 extends string & K_99 ? T_164 extends SplitAC ? "value" : "default" : never : never] extends infer T_168 ? T_168 extends T_167[string & K_99 extends infer T_164 ? T_164 extends string & K_99 ? T_164 extends SplitAC ? "value" : "default" : never : never] ? T_168 extends CanBeExpanded ? T_168[string & K_99 extends infer T_164 ? T_164 extends string & K_99 ? T_164 extends SplitAC ? "value" : "default" : never : never] extends infer T_169 ? T_169 extends T_168[string & K_99 extends infer T_164 ? T_164 extends string & K_99 ? T_164 extends SplitAC ? "value" : "default" : never : never] ? T_169 extends CanBeExpanded ? T_169[string & K_99 extends infer T_164 ? T_164 extends string & K_99 ? T_164 extends SplitAC ? "value" : "default" : never : never] extends infer T_170 ? T_170 extends T_169[string & K_99 extends infer T_164 ? T_164 extends string & K_99 ? T_164 extends SplitAC ? "value" : "default" : never : never] ? T_170 extends CanBeExpanded ? any : T_170 extends (infer U)[] ? any[] : T_170 extends object ? { [K_100 in keyof T_170]-?: any; } : T_170 : never : never : T_169 extends (infer U)[] ? any[] : T_169 extends object ? { [K_101 in keyof T_169]-?: T_169[K_101] extends infer T_171 ? T_171 extends T_169[K_101] ? T_171 extends CanBeExpanded ? any : T_171 extends (infer U)[] ? any[] : T_171 extends object ? { [K_102 in keyof T_171]-?: any; } : T_171 : never : never; } : T_169 : never : never : T_168 extends (infer U)[] ? any[] : T_168 extends object ? { [K_103 in keyof T_168]-?: T_168[K_103] extends infer T_172 ? T_172 extends T_168[K_103] ? T_172 extends CanBeExpanded ? T_172[PrefixWith extends infer T_173 ? T_173 extends PrefixWith ? T_173 extends SplitAC ? "value" : "default" : never : never] extends infer T_174 ? T_174 extends T_172[PrefixWith extends infer T_173 ? T_173 extends PrefixWith ? T_173 extends SplitAC ? "value" : "default" : never : never] ? T_174 extends CanBeExpanded ? any : T_174 extends (infer U)[] ? any[] : T_174 extends object ? { [K_104 in keyof T_174]-?: any; } : T_174 : never : never : T_172 extends (infer U)[] ? any[] : T_172 extends object ? { [K_105 in keyof T_172]-?: T_172[K_105] extends infer T_175 ? T_175 extends T_172[K_105] ? T_175 extends CanBeExpanded ? any : T_175 extends (infer U)[] ? any[] : T_175 extends object ? { [K_106 in keyof T_175]-?: T_175[K_106] extends infer T_176 ? T_176 extends T_175[K_106] ? T_176 extends CanBeExpanded ? T_176["default"] : T_176 : never : never; } : T_175 : never : never; } : T_172 : never : never; } : T_168 : never : never : T_167 extends (infer U)[] ? any[] : T_167 extends object ? { [K_107 in keyof T_167]-?: T_167[K_107] extends infer T_177 ? T_177 extends T_167[K_107] ? T_177 extends CanBeExpanded ? T_177[PrefixWith extends infer T_178 ? T_178 extends PrefixWith ? T_178 extends SplitAC ? "value" : "default" : never : never] extends infer T_179 ? T_179 extends T_177[PrefixWith extends infer T_178 ? T_178 extends PrefixWith ? T_178 extends SplitAC ? "value" : "default" : never : never] ? T_179 extends CanBeExpanded ? T_179[PrefixWith extends infer T_178 ? T_178 extends PrefixWith ? T_178 extends SplitAC ? "value" : "default" : never : never] extends infer T_180 ? T_180 extends T_179[PrefixWith extends infer T_178 ? T_178 extends PrefixWith ? T_178 extends SplitAC ? "value" : "default" : never : never] ? T_180 extends CanBeExpanded ? any : T_180 extends (infer U)[] ? any[] : T_180 extends object ? { [K_108 in keyof T_180]-?: any; } : T_180 : never : never : T_179 extends (infer U)[] ? any[] : T_179 extends object ? { [K_109 in keyof T_179]-?: T_179[K_109] extends infer T_181 ? T_181 extends T_179[K_109] ? T_181 extends CanBeExpanded ? any : T_181 extends (infer U)[] ? any[] : T_181 extends object ? { [K_110 in keyof T_181]-?: T_181[K_110] extends infer T_182 ? T_182 extends T_181[K_110] ? T_182 extends CanBeExpanded ? T_182["default"] : T_182 : never : never; } : T_181 : never : never; } : T_179 : never : never : T_177 extends (infer U)[] ? any[] : T_177 extends object ? { [K_111 in keyof T_177]-?: T_177[K_111] extends infer T_183 ? T_183 extends T_177[K_111] ? T_183 extends CanBeExpanded ? T_183[PrefixWith, K_111, "."> extends infer T_184 ? T_184 extends PrefixWith, K_111, "."> ? T_184 extends SplitAC ? "value" : "default" : never : never] extends infer T_185 ? T_185 extends T_183[PrefixWith, K_111, "."> extends infer T_184 ? T_184 extends PrefixWith, K_111, "."> ? T_184 extends SplitAC ? "value" : "default" : never : never] ? T_185 extends CanBeExpanded ? any : T_185 extends (infer U)[] ? any[] : T_185 extends object ? { [K_112 in keyof T_185]-?: T_185[K_112] extends infer T_186 ? T_186 extends T_185[K_112] ? T_186 extends CanBeExpanded ? T_186["default"] : T_186 : never : never; } : T_185 : never : never : T_183 extends (infer U)[] ? any[] : T_183 extends object ? { [K_113 in keyof T_183]-?: T_183[K_113] extends infer T_187 ? T_187 extends T_183[K_113] ? T_187 extends CanBeExpanded ? T_187["default"] : T_187 : never : never; } : T_183 : never : never; } : T_177 : never : never; } : T_167 : never : never : T_166 extends (infer U)[] ? any[] : T_166 extends object ? { [K_114 in keyof T_166]-?: T_166[K_114] extends infer T_188 ? T_188 extends T_166[K_114] ? T_188 extends CanBeExpanded ? T_188[PrefixWith extends infer T_189 ? T_189 extends PrefixWith ? T_189 extends SplitAC ? "value" : "default" : never : never] extends infer T_190 ? T_190 extends T_188[PrefixWith extends infer T_189 ? T_189 extends PrefixWith ? T_189 extends SplitAC ? "value" : "default" : never : never] ? T_190 extends CanBeExpanded ? T_190[PrefixWith extends infer T_189 ? T_189 extends PrefixWith ? T_189 extends SplitAC ? "value" : "default" : never : never] extends infer T_191 ? T_191 extends T_190[PrefixWith extends infer T_189 ? T_189 extends PrefixWith ? T_189 extends SplitAC ? "value" : "default" : never : never] ? T_191 extends CanBeExpanded ? T_191[PrefixWith extends infer T_189 ? T_189 extends PrefixWith ? T_189 extends SplitAC ? "value" : "default" : never : never] extends infer T_192 ? T_192 extends T_191[PrefixWith extends infer T_189 ? T_189 extends PrefixWith ? T_189 extends SplitAC ? "value" : "default" : never : never] ? T_192 extends CanBeExpanded ? any : T_192 extends (infer U)[] ? any[] : T_192 extends object ? { [K_115 in keyof T_192]-?: any; } : T_192 : never : never : T_191 extends (infer U)[] ? any[] : T_191 extends object ? { [K_116 in keyof T_191]-?: T_191[K_116] extends infer T_193 ? T_193 extends T_191[K_116] ? T_193 extends CanBeExpanded ? any : T_193 extends (infer U)[] ? any[] : T_193 extends object ? { [K_117 in keyof T_193]-?: T_193[K_117] extends infer T_194 ? T_194 extends T_193[K_117] ? T_194 extends CanBeExpanded ? T_194["default"] : T_194 : never : never; } : T_193 : never : never; } : T_191 : never : never : T_190 extends (infer U)[] ? any[] : T_190 extends object ? { [K_118 in keyof T_190]-?: T_190[K_118] extends infer T_195 ? T_195 extends T_190[K_118] ? T_195 extends CanBeExpanded ? T_195[PrefixWith, K_118, "."> extends infer T_196 ? T_196 extends PrefixWith, K_118, "."> ? T_196 extends SplitAC ? "value" : "default" : never : never] extends infer T_197 ? T_197 extends T_195[PrefixWith, K_118, "."> extends infer T_196 ? T_196 extends PrefixWith, K_118, "."> ? T_196 extends SplitAC ? "value" : "default" : never : never] ? T_197 extends CanBeExpanded ? any : T_197 extends (infer U)[] ? any[] : T_197 extends object ? { [K_119 in keyof T_197]-?: T_197[K_119] extends infer T_198 ? T_198 extends T_197[K_119] ? T_198 extends CanBeExpanded ? T_198["default"] : T_198 : never : never; } : T_197 : never : never : T_195 extends (infer U)[] ? any[] : T_195 extends object ? { [K_120 in keyof T_195]-?: T_195[K_120] extends infer T_199 ? T_199 extends T_195[K_120] ? T_199 extends CanBeExpanded ? T_199["default"] : T_199 : never : never; } : T_195 : never : never; } : T_190 : never : never : T_188 extends (infer U)[] ? any[] : T_188 extends object ? { [K_121 in keyof T_188]-?: T_188[K_121] extends infer T_200 ? T_200 extends T_188[K_121] ? T_200 extends CanBeExpanded ? T_200[PrefixWith, K_121, "."> extends infer T_201 ? T_201 extends PrefixWith, K_121, "."> ? T_201 extends SplitAC ? "value" : "default" : never : never] extends infer T_202 ? T_202 extends T_200[PrefixWith, K_121, "."> extends infer T_201 ? T_201 extends PrefixWith, K_121, "."> ? T_201 extends SplitAC ? "value" : "default" : never : never] ? T_202 extends CanBeExpanded ? T_202[PrefixWith, K_121, "."> extends infer T_201 ? T_201 extends PrefixWith, K_121, "."> ? T_201 extends SplitAC ? "value" : "default" : never : never] extends infer T_203 ? T_203 extends T_202[PrefixWith, K_121, "."> extends infer T_201 ? T_201 extends PrefixWith, K_121, "."> ? T_201 extends SplitAC ? "value" : "default" : never : never] ? T_203 extends CanBeExpanded ? any : T_203 extends (infer U)[] ? any[] : T_203 extends object ? { [K_122 in keyof T_203]-?: T_203[K_122] extends infer T_204 ? T_204 extends T_203[K_122] ? T_204 extends CanBeExpanded ? T_204["default"] : T_204 : never : never; } : T_203 : never : never : T_202 extends (infer U)[] ? any[] : T_202 extends object ? { [K_123 in keyof T_202]-?: T_202[K_123] extends infer T_205 ? T_205 extends T_202[K_123] ? T_205 extends CanBeExpanded ? T_205["default"] : T_205 : never : never; } : T_202 : never : never : T_200 extends (infer U)[] ? any[] : T_200 extends object ? { [K_124 in keyof T_200]-?: T_200[K_124] extends infer T_206 ? T_206 extends T_200[K_124] ? T_206 extends CanBeExpanded ? T_206["default"] : T_206 : never : never; } : T_200 : never : never; } : T_188 : never : never; } : T_166 : never : never : T_165 extends (infer U)[] ? any[] : T_165 extends object ? { [K_125 in keyof T_165]-?: T_165[K_125] extends infer T_207 ? T_207 extends T_165[K_125] ? T_207 extends CanBeExpanded ? T_207[PrefixWith extends infer T_208 ? T_208 extends PrefixWith ? T_208 extends SplitAC ? "value" : "default" : never : never] extends infer T_209 ? T_209 extends T_207[PrefixWith extends infer T_208 ? T_208 extends PrefixWith ? T_208 extends SplitAC ? "value" : "default" : never : never] ? T_209 extends CanBeExpanded ? T_209[PrefixWith extends infer T_208 ? T_208 extends PrefixWith ? T_208 extends SplitAC ? "value" : "default" : never : never] extends infer T_210 ? T_210 extends T_209[PrefixWith extends infer T_208 ? T_208 extends PrefixWith ? T_208 extends SplitAC ? "value" : "default" : never : never] ? T_210 extends CanBeExpanded ? T_210[PrefixWith extends infer T_208 ? T_208 extends PrefixWith ? T_208 extends SplitAC ? "value" : "default" : never : never] extends infer T_211 ? T_211 extends T_210[PrefixWith extends infer T_208 ? T_208 extends PrefixWith ? T_208 extends SplitAC ? "value" : "default" : never : never] ? T_211 extends CanBeExpanded ? T_211[PrefixWith extends infer T_208 ? T_208 extends PrefixWith ? T_208 extends SplitAC ? "value" : "default" : never : never] extends infer T_212 ? T_212 extends T_211[PrefixWith extends infer T_208 ? T_208 extends PrefixWith ? T_208 extends SplitAC ? "value" : "default" : never : never] ? T_212 extends CanBeExpanded ? any : T_212 extends (infer U)[] ? any[] : T_212 extends object ? { [K_126 in keyof T_212]-?: any; } : T_212 : never : never : T_211 extends (infer U)[] ? any[] : T_211 extends object ? { [K_127 in keyof T_211]-?: T_211[K_127] extends infer T_213 ? T_213 extends T_211[K_127] ? T_213 extends CanBeExpanded ? any : T_213 extends (infer U)[] ? any[] : T_213 extends object ? { [K_128 in keyof T_213]-?: T_213[K_128] extends infer T_214 ? T_214 extends T_213[K_128] ? T_214 extends CanBeExpanded ? T_214["default"] : T_214 : never : never; } : T_213 : never : never; } : T_211 : never : never : T_210 extends (infer U)[] ? any[] : T_210 extends object ? { [K_129 in keyof T_210]-?: T_210[K_129] extends infer T_215 ? T_215 extends T_210[K_129] ? T_215 extends CanBeExpanded ? T_215[PrefixWith, K_129, "."> extends infer T_216 ? T_216 extends PrefixWith, K_129, "."> ? T_216 extends SplitAC ? "value" : "default" : never : never] extends infer T_217 ? T_217 extends T_215[PrefixWith, K_129, "."> extends infer T_216 ? T_216 extends PrefixWith, K_129, "."> ? T_216 extends SplitAC ? "value" : "default" : never : never] ? T_217 extends CanBeExpanded ? any : T_217 extends (infer U)[] ? any[] : T_217 extends object ? { [K_130 in keyof T_217]-?: T_217[K_130] extends infer T_218 ? T_218 extends T_217[K_130] ? T_218 extends CanBeExpanded ? T_218["default"] : T_218 : never : never; } : T_217 : never : never : T_215 extends (infer U)[] ? any[] : T_215 extends object ? { [K_131 in keyof T_215]-?: T_215[K_131] extends infer T_219 ? T_219 extends T_215[K_131] ? T_219 extends CanBeExpanded ? T_219["default"] : T_219 : never : never; } : T_215 : never : never; } : T_210 : never : never : T_209 extends (infer U)[] ? any[] : T_209 extends object ? { [K_132 in keyof T_209]-?: T_209[K_132] extends infer T_220 ? T_220 extends T_209[K_132] ? T_220 extends CanBeExpanded ? T_220[PrefixWith, K_132, "."> extends infer T_221 ? T_221 extends PrefixWith, K_132, "."> ? T_221 extends SplitAC ? "value" : "default" : never : never] extends infer T_222 ? T_222 extends T_220[PrefixWith, K_132, "."> extends infer T_221 ? T_221 extends PrefixWith, K_132, "."> ? T_221 extends SplitAC ? "value" : "default" : never : never] ? T_222 extends CanBeExpanded ? T_222[PrefixWith, K_132, "."> extends infer T_221 ? T_221 extends PrefixWith, K_132, "."> ? T_221 extends SplitAC ? "value" : "default" : never : never] extends infer T_223 ? T_223 extends T_222[PrefixWith, K_132, "."> extends infer T_221 ? T_221 extends PrefixWith, K_132, "."> ? T_221 extends SplitAC ? "value" : "default" : never : never] ? T_223 extends CanBeExpanded ? any : T_223 extends (infer U)[] ? any[] : T_223 extends object ? { [K_133 in keyof T_223]-?: T_223[K_133] extends infer T_224 ? T_224 extends T_223[K_133] ? T_224 extends CanBeExpanded ? T_224["default"] : T_224 : never : never; } : T_223 : never : never : T_222 extends (infer U)[] ? any[] : T_222 extends object ? { [K_134 in keyof T_222]-?: T_222[K_134] extends infer T_225 ? T_225 extends T_222[K_134] ? T_225 extends CanBeExpanded ? T_225["default"] : T_225 : never : never; } : T_222 : never : never : T_220 extends (infer U)[] ? any[] : T_220 extends object ? { [K_135 in keyof T_220]-?: T_220[K_135] extends infer T_226 ? T_226 extends T_220[K_135] ? T_226 extends CanBeExpanded ? T_226["default"] : T_226 : never : never; } : T_220 : never : never; } : T_209 : never : never : T_207 extends (infer U)[] ? any[] : T_207 extends object ? { [K_136 in keyof T_207]-?: T_207[K_136] extends infer T_227 ? T_227 extends T_207[K_136] ? T_227 extends CanBeExpanded ? T_227[PrefixWith, K_136, "."> extends infer T_228 ? T_228 extends PrefixWith, K_136, "."> ? T_228 extends SplitAC ? "value" : "default" : never : never] extends infer T_229 ? T_229 extends T_227[PrefixWith, K_136, "."> extends infer T_228 ? T_228 extends PrefixWith, K_136, "."> ? T_228 extends SplitAC ? "value" : "default" : never : never] ? T_229 extends CanBeExpanded ? T_229[PrefixWith, K_136, "."> extends infer T_228 ? T_228 extends PrefixWith, K_136, "."> ? T_228 extends SplitAC ? "value" : "default" : never : never] extends infer T_230 ? T_230 extends T_229[PrefixWith, K_136, "."> extends infer T_228 ? T_228 extends PrefixWith, K_136, "."> ? T_228 extends SplitAC ? "value" : "default" : never : never] ? T_230 extends CanBeExpanded ? T_230[PrefixWith, K_136, "."> extends infer T_228 ? T_228 extends PrefixWith, K_136, "."> ? T_228 extends SplitAC ? "value" : "default" : never : never] extends infer T_231 ? T_231 extends T_230[PrefixWith, K_136, "."> extends infer T_228 ? T_228 extends PrefixWith, K_136, "."> ? T_228 extends SplitAC ? "value" : "default" : never : never] ? T_231 extends CanBeExpanded ? any : T_231 extends (infer U)[] ? any[] : T_231 extends object ? { [K_137 in keyof T_231]-?: T_231[K_137] extends infer T_232 ? T_232 extends T_231[K_137] ? T_232 extends CanBeExpanded ? T_232["default"] : T_232 : never : never; } : T_231 : never : never : T_230 extends (infer U)[] ? any[] : T_230 extends object ? { [K_138 in keyof T_230]-?: T_230[K_138] extends infer T_233 ? T_233 extends T_230[K_138] ? T_233 extends CanBeExpanded ? T_233["default"] : T_233 : never : never; } : T_230 : never : never : T_229 extends (infer U)[] ? any[] : T_229 extends object ? { [K_139 in keyof T_229]-?: T_229[K_139] extends infer T_234 ? T_234 extends T_229[K_139] ? T_234 extends CanBeExpanded ? T_234["default"] : T_234 : never : never; } : T_229 : never : never : T_227 extends (infer U)[] ? any[] : T_227 extends object ? { [K_140 in keyof T_227]-?: T_227[K_140] extends infer T_235 ? T_235 extends T_227[K_140] ? T_235 extends CanBeExpanded ? T_235["default"] : T_235 : never : never; } : T_227 : never : never; } : T_207 : never : never; } : T_165 : never : never : T_163 extends (infer U)[] ? any[] : T_163 extends object ? { [K_141 in keyof T_163]-?: T_163[K_141] extends infer T_236 ? T_236 extends T_163[K_141] ? T_236 extends CanBeExpanded ? T_236[PrefixWith extends infer T_237 ? T_237 extends PrefixWith ? T_237 extends SplitAC ? "value" : "default" : never : never] extends infer T_238 ? T_238 extends T_236[PrefixWith extends infer T_237 ? T_237 extends PrefixWith ? T_237 extends SplitAC ? "value" : "default" : never : never] ? T_238 extends CanBeExpanded ? T_238[PrefixWith extends infer T_237 ? T_237 extends PrefixWith ? T_237 extends SplitAC ? "value" : "default" : never : never] extends infer T_239 ? T_239 extends T_238[PrefixWith extends infer T_237 ? T_237 extends PrefixWith ? T_237 extends SplitAC ? "value" : "default" : never : never] ? T_239 extends CanBeExpanded ? T_239[PrefixWith extends infer T_237 ? T_237 extends PrefixWith ? T_237 extends SplitAC ? "value" : "default" : never : never] extends infer T_240 ? T_240 extends T_239[PrefixWith extends infer T_237 ? T_237 extends PrefixWith ? T_237 extends SplitAC ? "value" : "default" : never : never] ? T_240 extends CanBeExpanded ? T_240[PrefixWith extends infer T_237 ? T_237 extends PrefixWith ? T_237 extends SplitAC ? "value" : "default" : never : never] extends infer T_241 ? T_241 extends T_240[PrefixWith extends infer T_237 ? T_237 extends PrefixWith ? T_237 extends SplitAC ? "value" : "default" : never : never] ? T_241 extends CanBeExpanded ? T_241[PrefixWith extends infer T_237 ? T_237 extends PrefixWith ? T_237 extends SplitAC ? "value" : "default" : never : never] extends infer T_242 ? T_242 extends T_241[PrefixWith extends infer T_237 ? T_237 extends PrefixWith ? T_237 extends SplitAC ? "value" : "default" : never : never] ? T_242 extends CanBeExpanded ? any : T_242 extends (infer U)[] ? any[] : T_242 extends object ? { [K_142 in keyof T_242]-?: any; } : T_242 : never : never : T_241 extends (infer U)[] ? any[] : T_241 extends object ? { [K_143 in keyof T_241]-?: T_241[K_143] extends infer T_243 ? T_243 extends T_241[K_143] ? T_243 extends CanBeExpanded ? any : T_243 extends (infer U)[] ? any[] : T_243 extends object ? { [K_144 in keyof T_243]-?: T_243[K_144] extends infer T_244 ? T_244 extends T_243[K_144] ? T_244 extends CanBeExpanded ? T_244["default"] : T_244 : never : never; } : T_243 : never : never; } : T_241 : never : never : T_240 extends (infer U)[] ? any[] : T_240 extends object ? { [K_145 in keyof T_240]-?: T_240[K_145] extends infer T_245 ? T_245 extends T_240[K_145] ? T_245 extends CanBeExpanded ? T_245[PrefixWith, K_145, "."> extends infer T_246 ? T_246 extends PrefixWith, K_145, "."> ? T_246 extends SplitAC ? "value" : "default" : never : never] extends infer T_247 ? T_247 extends T_245[PrefixWith, K_145, "."> extends infer T_246 ? T_246 extends PrefixWith, K_145, "."> ? T_246 extends SplitAC ? "value" : "default" : never : never] ? T_247 extends CanBeExpanded ? any : T_247 extends (infer U)[] ? any[] : T_247 extends object ? { [K_146 in keyof T_247]-?: T_247[K_146] extends infer T_248 ? T_248 extends T_247[K_146] ? T_248 extends CanBeExpanded ? T_248["default"] : T_248 : never : never; } : T_247 : never : never : T_245 extends (infer U)[] ? any[] : T_245 extends object ? { [K_147 in keyof T_245]-?: T_245[K_147] extends infer T_249 ? T_249 extends T_245[K_147] ? T_249 extends CanBeExpanded ? T_249["default"] : T_249 : never : never; } : T_245 : never : never; } : T_240 : never : never : T_239 extends (infer U)[] ? any[] : T_239 extends object ? { [K_148 in keyof T_239]-?: T_239[K_148] extends infer T_250 ? T_250 extends T_239[K_148] ? T_250 extends CanBeExpanded ? T_250[PrefixWith, K_148, "."> extends infer T_251 ? T_251 extends PrefixWith, K_148, "."> ? T_251 extends SplitAC ? "value" : "default" : never : never] extends infer T_252 ? T_252 extends T_250[PrefixWith, K_148, "."> extends infer T_251 ? T_251 extends PrefixWith, K_148, "."> ? T_251 extends SplitAC ? "value" : "default" : never : never] ? T_252 extends CanBeExpanded ? T_252[PrefixWith, K_148, "."> extends infer T_251 ? T_251 extends PrefixWith, K_148, "."> ? T_251 extends SplitAC ? "value" : "default" : never : never] extends infer T_253 ? T_253 extends T_252[PrefixWith, K_148, "."> extends infer T_251 ? T_251 extends PrefixWith, K_148, "."> ? T_251 extends SplitAC ? "value" : "default" : never : never] ? T_253 extends CanBeExpanded ? any : T_253 extends (infer U)[] ? any[] : T_253 extends object ? { [K_149 in keyof T_253]-?: T_253[K_149] extends infer T_254 ? T_254 extends T_253[K_149] ? T_254 extends CanBeExpanded ? T_254["default"] : T_254 : never : never; } : T_253 : never : never : T_252 extends (infer U)[] ? any[] : T_252 extends object ? { [K_150 in keyof T_252]-?: T_252[K_150] extends infer T_255 ? T_255 extends T_252[K_150] ? T_255 extends CanBeExpanded ? T_255["default"] : T_255 : never : never; } : T_252 : never : never : T_250 extends (infer U)[] ? any[] : T_250 extends object ? { [K_151 in keyof T_250]-?: T_250[K_151] extends infer T_256 ? T_256 extends T_250[K_151] ? T_256 extends CanBeExpanded ? T_256["default"] : T_256 : never : never; } : T_250 : never : never; } : T_239 : never : never : T_238 extends (infer U)[] ? any[] : T_238 extends object ? { [K_152 in keyof T_238]-?: T_238[K_152] extends infer T_257 ? T_257 extends T_238[K_152] ? T_257 extends CanBeExpanded ? T_257[PrefixWith, K_152, "."> extends infer T_258 ? T_258 extends PrefixWith, K_152, "."> ? T_258 extends SplitAC ? "value" : "default" : never : never] extends infer T_259 ? T_259 extends T_257[PrefixWith, K_152, "."> extends infer T_258 ? T_258 extends PrefixWith, K_152, "."> ? T_258 extends SplitAC ? "value" : "default" : never : never] ? T_259 extends CanBeExpanded ? T_259[PrefixWith, K_152, "."> extends infer T_258 ? T_258 extends PrefixWith, K_152, "."> ? T_258 extends SplitAC ? "value" : "default" : never : never] extends infer T_260 ? T_260 extends T_259[PrefixWith, K_152, "."> extends infer T_258 ? T_258 extends PrefixWith, K_152, "."> ? T_258 extends SplitAC ? "value" : "default" : never : never] ? T_260 extends CanBeExpanded ? T_260[PrefixWith, K_152, "."> extends infer T_258 ? T_258 extends PrefixWith, K_152, "."> ? T_258 extends SplitAC ? "value" : "default" : never : never] extends infer T_261 ? T_261 extends T_260[PrefixWith, K_152, "."> extends infer T_258 ? T_258 extends PrefixWith, K_152, "."> ? T_258 extends SplitAC ? "value" : "default" : never : never] ? T_261 extends CanBeExpanded ? any : T_261 extends (infer U)[] ? any[] : T_261 extends object ? { [K_153 in keyof T_261]-?: T_261[K_153] extends infer T_262 ? T_262 extends T_261[K_153] ? T_262 extends CanBeExpanded ? T_262["default"] : T_262 : never : never; } : T_261 : never : never : T_260 extends (infer U)[] ? any[] : T_260 extends object ? { [K_154 in keyof T_260]-?: T_260[K_154] extends infer T_263 ? T_263 extends T_260[K_154] ? T_263 extends CanBeExpanded ? T_263["default"] : T_263 : never : never; } : T_260 : never : never : T_259 extends (infer U)[] ? any[] : T_259 extends object ? { [K_155 in keyof T_259]-?: T_259[K_155] extends infer T_264 ? T_264 extends T_259[K_155] ? T_264 extends CanBeExpanded ? T_264["default"] : T_264 : never : never; } : T_259 : never : never : T_257 extends (infer U)[] ? any[] : T_257 extends object ? { [K_156 in keyof T_257]-?: T_257[K_156] extends infer T_265 ? T_265 extends T_257[K_156] ? T_265 extends CanBeExpanded ? T_265["default"] : T_265 : never : never; } : T_257 : never : never; } : T_238 : never : never : T_236 extends (infer U)[] ? any[] : T_236 extends object ? { [K_157 in keyof T_236]-?: T_236[K_157] extends infer T_266 ? T_266 extends T_236[K_157] ? T_266 extends CanBeExpanded ? T_266[PrefixWith, K_157, "."> extends infer T_267 ? T_267 extends PrefixWith, K_157, "."> ? T_267 extends SplitAC ? "value" : "default" : never : never] extends infer T_268 ? T_268 extends T_266[PrefixWith, K_157, "."> extends infer T_267 ? T_267 extends PrefixWith, K_157, "."> ? T_267 extends SplitAC ? "value" : "default" : never : never] ? T_268 extends CanBeExpanded ? T_268[PrefixWith, K_157, "."> extends infer T_267 ? T_267 extends PrefixWith, K_157, "."> ? T_267 extends SplitAC ? "value" : "default" : never : never] extends infer T_269 ? T_269 extends T_268[PrefixWith, K_157, "."> extends infer T_267 ? T_267 extends PrefixWith, K_157, "."> ? T_267 extends SplitAC ? "value" : "default" : never : never] ? T_269 extends CanBeExpanded ? T_269[PrefixWith, K_157, "."> extends infer T_267 ? T_267 extends PrefixWith, K_157, "."> ? T_267 extends SplitAC ? "value" : "default" : never : never] extends infer T_270 ? T_270 extends T_269[PrefixWith, K_157, "."> extends infer T_267 ? T_267 extends PrefixWith, K_157, "."> ? T_267 extends SplitAC ? "value" : "default" : never : never] ? T_270 extends CanBeExpanded ? T_270[PrefixWith, K_157, "."> extends infer T_267 ? T_267 extends PrefixWith, K_157, "."> ? T_267 extends SplitAC ? "value" : "default" : never : never] extends infer T_271 ? T_271 extends T_270[PrefixWith, K_157, "."> extends infer T_267 ? T_267 extends PrefixWith, K_157, "."> ? T_267 extends SplitAC ? "value" : "default" : never : never] ? T_271 extends CanBeExpanded ? any : T_271 extends (infer U)[] ? any[] : T_271 extends object ? { [K_158 in keyof T_271]-?: T_271[K_158] extends infer T_272 ? T_272 extends T_271[K_158] ? T_272 extends CanBeExpanded ? T_272["default"] : T_272 : never : never; } : T_271 : never : never : T_270 extends (infer U)[] ? any[] : T_270 extends object ? { [K_159 in keyof T_270]-?: T_270[K_159] extends infer T_273 ? T_273 extends T_270[K_159] ? T_273 extends CanBeExpanded ? T_273["default"] : T_273 : never : never; } : T_270 : never : never : T_269 extends (infer U)[] ? any[] : T_269 extends object ? { [K_160 in keyof T_269]-?: T_269[K_160] extends infer T_274 ? T_274 extends T_269[K_160] ? T_274 extends CanBeExpanded ? T_274["default"] : T_274 : never : never; } : T_269 : never : never : T_268 extends (infer U)[] ? any[] : T_268 extends object ? { [K_161 in keyof T_268]-?: T_268[K_161] extends infer T_275 ? T_275 extends T_268[K_161] ? T_275 extends CanBeExpanded ? T_275["default"] : T_275 : never : never; } : T_268 : never : never : T_266 extends (infer U)[] ? any[] : T_266 extends object ? { [K_162 in keyof T_266]-?: T_266[K_162] extends infer T_276 ? T_276 extends T_266[K_162] ? T_276 extends CanBeExpanded ? T_276["default"] : T_276 : never : never; } : T_266 : never : never; } : T_236 : never : never; } : T_163 : never : never; } : T_4 : never : never : T_3 extends (infer U)[] ? any[] : T_3 extends object ? { [K_163 in keyof T_3]-?: T_3[K_163] extends infer T_277 ? T_277 extends T_3[K_163] ? T_277 extends CanBeExpanded ? T_277[string & K_163 extends infer T_278 ? T_278 extends string & K_163 ? T_278 extends SplitAC ? "value" : "default" : never : never] extends infer T_279 ? T_279 extends T_277[string & K_163 extends infer T_278 ? T_278 extends string & K_163 ? T_278 extends SplitAC ? "value" : "default" : never : never] ? T_279 extends CanBeExpanded ? T_279[string & K_163 extends infer T_278 ? T_278 extends string & K_163 ? T_278 extends SplitAC ? "value" : "default" : never : never] extends infer T_280 ? T_280 extends T_279[string & K_163 extends infer T_278 ? T_278 extends string & K_163 ? T_278 extends SplitAC ? "value" : "default" : never : never] ? T_280 extends CanBeExpanded ? T_280[string & K_163 extends infer T_278 ? T_278 extends string & K_163 ? T_278 extends SplitAC ? "value" : "default" : never : never] extends infer T_281 ? T_281 extends T_280[string & K_163 extends infer T_278 ? T_278 extends string & K_163 ? T_278 extends SplitAC ? "value" : "default" : never : never] ? T_281 extends CanBeExpanded ? T_281[string & K_163 extends infer T_278 ? T_278 extends string & K_163 ? T_278 extends SplitAC ? "value" : "default" : never : never] extends infer T_282 ? T_282 extends T_281[string & K_163 extends infer T_278 ? T_278 extends string & K_163 ? T_278 extends SplitAC ? "value" : "default" : never : never] ? T_282 extends CanBeExpanded ? T_282[string & K_163 extends infer T_278 ? T_278 extends string & K_163 ? T_278 extends SplitAC ? "value" : "default" : never : never] extends infer T_283 ? T_283 extends T_282[string & K_163 extends infer T_278 ? T_278 extends string & K_163 ? T_278 extends SplitAC ? "value" : "default" : never : never] ? T_283 extends CanBeExpanded ? T_283[string & K_163 extends infer T_278 ? T_278 extends string & K_163 ? T_278 extends SplitAC ? "value" : "default" : never : never] extends infer T_284 ? T_284 extends T_283[string & K_163 extends infer T_278 ? T_278 extends string & K_163 ? T_278 extends SplitAC ? "value" : "default" : never : never] ? T_284 extends CanBeExpanded ? T_284[string & K_163 extends infer T_278 ? T_278 extends string & K_163 ? T_278 extends SplitAC ? "value" : "default" : never : never] extends infer T_285 ? T_285 extends T_284[string & K_163 extends infer T_278 ? T_278 extends string & K_163 ? T_278 extends SplitAC ? "value" : "default" : never : never] ? T_285 extends CanBeExpanded ? any : T_285 extends (infer U)[] ? any[] : T_285 extends object ? { [K_164 in keyof T_285]-?: any; } : T_285 : never : never : T_284 extends (infer U)[] ? any[] : T_284 extends object ? { [K_165 in keyof T_284]-?: T_284[K_165] extends infer T_286 ? T_286 extends T_284[K_165] ? T_286 extends CanBeExpanded ? any : T_286 extends (infer U)[] ? any[] : T_286 extends object ? { [K_166 in keyof T_286]-?: any; } : T_286 : never : never; } : T_284 : never : never : T_283 extends (infer U)[] ? any[] : T_283 extends object ? { [K_167 in keyof T_283]-?: T_283[K_167] extends infer T_287 ? T_287 extends T_283[K_167] ? T_287 extends CanBeExpanded ? T_287[PrefixWith extends infer T_288 ? T_288 extends PrefixWith ? T_288 extends SplitAC ? "value" : "default" : never : never] extends infer T_289 ? T_289 extends T_287[PrefixWith extends infer T_288 ? T_288 extends PrefixWith ? T_288 extends SplitAC ? "value" : "default" : never : never] ? T_289 extends CanBeExpanded ? any : T_289 extends (infer U)[] ? any[] : T_289 extends object ? { [K_168 in keyof T_289]-?: any; } : T_289 : never : never : T_287 extends (infer U)[] ? any[] : T_287 extends object ? { [K_169 in keyof T_287]-?: T_287[K_169] extends infer T_290 ? T_290 extends T_287[K_169] ? T_290 extends CanBeExpanded ? any : T_290 extends (infer U)[] ? any[] : T_290 extends object ? { [K_170 in keyof T_290]-?: T_290[K_170] extends infer T_291 ? T_291 extends T_290[K_170] ? T_291 extends CanBeExpanded ? T_291["default"] : T_291 : never : never; } : T_290 : never : never; } : T_287 : never : never; } : T_283 : never : never : T_282 extends (infer U)[] ? any[] : T_282 extends object ? { [K_171 in keyof T_282]-?: T_282[K_171] extends infer T_292 ? T_292 extends T_282[K_171] ? T_292 extends CanBeExpanded ? T_292[PrefixWith extends infer T_293 ? T_293 extends PrefixWith ? T_293 extends SplitAC ? "value" : "default" : never : never] extends infer T_294 ? T_294 extends T_292[PrefixWith extends infer T_293 ? T_293 extends PrefixWith ? T_293 extends SplitAC ? "value" : "default" : never : never] ? T_294 extends CanBeExpanded ? T_294[PrefixWith extends infer T_293 ? T_293 extends PrefixWith ? T_293 extends SplitAC ? "value" : "default" : never : never] extends infer T_295 ? T_295 extends T_294[PrefixWith extends infer T_293 ? T_293 extends PrefixWith ? T_293 extends SplitAC ? "value" : "default" : never : never] ? T_295 extends CanBeExpanded ? any : T_295 extends (infer U)[] ? any[] : T_295 extends object ? { [K_172 in keyof T_295]-?: any; } : T_295 : never : never : T_294 extends (infer U)[] ? any[] : T_294 extends object ? { [K_173 in keyof T_294]-?: T_294[K_173] extends infer T_296 ? T_296 extends T_294[K_173] ? T_296 extends CanBeExpanded ? any : T_296 extends (infer U)[] ? any[] : T_296 extends object ? { [K_174 in keyof T_296]-?: T_296[K_174] extends infer T_297 ? T_297 extends T_296[K_174] ? T_297 extends CanBeExpanded ? T_297["default"] : T_297 : never : never; } : T_296 : never : never; } : T_294 : never : never : T_292 extends (infer U)[] ? any[] : T_292 extends object ? { [K_175 in keyof T_292]-?: T_292[K_175] extends infer T_298 ? T_298 extends T_292[K_175] ? T_298 extends CanBeExpanded ? T_298[PrefixWith, K_175, "."> extends infer T_299 ? T_299 extends PrefixWith, K_175, "."> ? T_299 extends SplitAC ? "value" : "default" : never : never] extends infer T_300 ? T_300 extends T_298[PrefixWith, K_175, "."> extends infer T_299 ? T_299 extends PrefixWith, K_175, "."> ? T_299 extends SplitAC ? "value" : "default" : never : never] ? T_300 extends CanBeExpanded ? any : T_300 extends (infer U)[] ? any[] : T_300 extends object ? { [K_176 in keyof T_300]-?: T_300[K_176] extends infer T_301 ? T_301 extends T_300[K_176] ? T_301 extends CanBeExpanded ? T_301["default"] : T_301 : never : never; } : T_300 : never : never : T_298 extends (infer U)[] ? any[] : T_298 extends object ? { [K_177 in keyof T_298]-?: T_298[K_177] extends infer T_302 ? T_302 extends T_298[K_177] ? T_302 extends CanBeExpanded ? T_302["default"] : T_302 : never : never; } : T_298 : never : never; } : T_292 : never : never; } : T_282 : never : never : T_281 extends (infer U)[] ? any[] : T_281 extends object ? { [K_178 in keyof T_281]-?: T_281[K_178] extends infer T_303 ? T_303 extends T_281[K_178] ? T_303 extends CanBeExpanded ? T_303[PrefixWith extends infer T_304 ? T_304 extends PrefixWith ? T_304 extends SplitAC ? "value" : "default" : never : never] extends infer T_305 ? T_305 extends T_303[PrefixWith extends infer T_304 ? T_304 extends PrefixWith ? T_304 extends SplitAC ? "value" : "default" : never : never] ? T_305 extends CanBeExpanded ? T_305[PrefixWith extends infer T_304 ? T_304 extends PrefixWith ? T_304 extends SplitAC ? "value" : "default" : never : never] extends infer T_306 ? T_306 extends T_305[PrefixWith extends infer T_304 ? T_304 extends PrefixWith ? T_304 extends SplitAC ? "value" : "default" : never : never] ? T_306 extends CanBeExpanded ? T_306[PrefixWith extends infer T_304 ? T_304 extends PrefixWith ? T_304 extends SplitAC ? "value" : "default" : never : never] extends infer T_307 ? T_307 extends T_306[PrefixWith extends infer T_304 ? T_304 extends PrefixWith ? T_304 extends SplitAC ? "value" : "default" : never : never] ? T_307 extends CanBeExpanded ? any : T_307 extends (infer U)[] ? any[] : T_307 extends object ? { [K_179 in keyof T_307]-?: any; } : T_307 : never : never : T_306 extends (infer U)[] ? any[] : T_306 extends object ? { [K_180 in keyof T_306]-?: T_306[K_180] extends infer T_308 ? T_308 extends T_306[K_180] ? T_308 extends CanBeExpanded ? any : T_308 extends (infer U)[] ? any[] : T_308 extends object ? { [K_181 in keyof T_308]-?: T_308[K_181] extends infer T_309 ? T_309 extends T_308[K_181] ? T_309 extends CanBeExpanded ? T_309["default"] : T_309 : never : never; } : T_308 : never : never; } : T_306 : never : never : T_305 extends (infer U)[] ? any[] : T_305 extends object ? { [K_182 in keyof T_305]-?: T_305[K_182] extends infer T_310 ? T_310 extends T_305[K_182] ? T_310 extends CanBeExpanded ? T_310[PrefixWith, K_182, "."> extends infer T_311 ? T_311 extends PrefixWith, K_182, "."> ? T_311 extends SplitAC ? "value" : "default" : never : never] extends infer T_312 ? T_312 extends T_310[PrefixWith, K_182, "."> extends infer T_311 ? T_311 extends PrefixWith, K_182, "."> ? T_311 extends SplitAC ? "value" : "default" : never : never] ? T_312 extends CanBeExpanded ? any : T_312 extends (infer U)[] ? any[] : T_312 extends object ? { [K_183 in keyof T_312]-?: T_312[K_183] extends infer T_313 ? T_313 extends T_312[K_183] ? T_313 extends CanBeExpanded ? T_313["default"] : T_313 : never : never; } : T_312 : never : never : T_310 extends (infer U)[] ? any[] : T_310 extends object ? { [K_184 in keyof T_310]-?: T_310[K_184] extends infer T_314 ? T_314 extends T_310[K_184] ? T_314 extends CanBeExpanded ? T_314["default"] : T_314 : never : never; } : T_310 : never : never; } : T_305 : never : never : T_303 extends (infer U)[] ? any[] : T_303 extends object ? { [K_185 in keyof T_303]-?: T_303[K_185] extends infer T_315 ? T_315 extends T_303[K_185] ? T_315 extends CanBeExpanded ? T_315[PrefixWith, K_185, "."> extends infer T_316 ? T_316 extends PrefixWith, K_185, "."> ? T_316 extends SplitAC ? "value" : "default" : never : never] extends infer T_317 ? T_317 extends T_315[PrefixWith, K_185, "."> extends infer T_316 ? T_316 extends PrefixWith, K_185, "."> ? T_316 extends SplitAC ? "value" : "default" : never : never] ? T_317 extends CanBeExpanded ? T_317[PrefixWith, K_185, "."> extends infer T_316 ? T_316 extends PrefixWith, K_185, "."> ? T_316 extends SplitAC ? "value" : "default" : never : never] extends infer T_318 ? T_318 extends T_317[PrefixWith, K_185, "."> extends infer T_316 ? T_316 extends PrefixWith, K_185, "."> ? T_316 extends SplitAC ? "value" : "default" : never : never] ? T_318 extends CanBeExpanded ? any : T_318 extends (infer U)[] ? any[] : T_318 extends object ? { [K_186 in keyof T_318]-?: T_318[K_186] extends infer T_319 ? T_319 extends T_318[K_186] ? T_319 extends CanBeExpanded ? T_319["default"] : T_319 : never : never; } : T_318 : never : never : T_317 extends (infer U)[] ? any[] : T_317 extends object ? { [K_187 in keyof T_317]-?: T_317[K_187] extends infer T_320 ? T_320 extends T_317[K_187] ? T_320 extends CanBeExpanded ? T_320["default"] : T_320 : never : never; } : T_317 : never : never : T_315 extends (infer U)[] ? any[] : T_315 extends object ? { [K_188 in keyof T_315]-?: T_315[K_188] extends infer T_321 ? T_321 extends T_315[K_188] ? T_321 extends CanBeExpanded ? T_321["default"] : T_321 : never : never; } : T_315 : never : never; } : T_303 : never : never; } : T_281 : never : never : T_280 extends (infer U)[] ? any[] : T_280 extends object ? { [K_189 in keyof T_280]-?: T_280[K_189] extends infer T_322 ? T_322 extends T_280[K_189] ? T_322 extends CanBeExpanded ? T_322[PrefixWith extends infer T_323 ? T_323 extends PrefixWith ? T_323 extends SplitAC ? "value" : "default" : never : never] extends infer T_324 ? T_324 extends T_322[PrefixWith extends infer T_323 ? T_323 extends PrefixWith ? T_323 extends SplitAC ? "value" : "default" : never : never] ? T_324 extends CanBeExpanded ? T_324[PrefixWith extends infer T_323 ? T_323 extends PrefixWith ? T_323 extends SplitAC ? "value" : "default" : never : never] extends infer T_325 ? T_325 extends T_324[PrefixWith extends infer T_323 ? T_323 extends PrefixWith ? T_323 extends SplitAC ? "value" : "default" : never : never] ? T_325 extends CanBeExpanded ? T_325[PrefixWith extends infer T_323 ? T_323 extends PrefixWith ? T_323 extends SplitAC ? "value" : "default" : never : never] extends infer T_326 ? T_326 extends T_325[PrefixWith extends infer T_323 ? T_323 extends PrefixWith ? T_323 extends SplitAC ? "value" : "default" : never : never] ? T_326 extends CanBeExpanded ? T_326[PrefixWith extends infer T_323 ? T_323 extends PrefixWith ? T_323 extends SplitAC ? "value" : "default" : never : never] extends infer T_327 ? T_327 extends T_326[PrefixWith extends infer T_323 ? T_323 extends PrefixWith ? T_323 extends SplitAC ? "value" : "default" : never : never] ? T_327 extends CanBeExpanded ? any : T_327 extends (infer U)[] ? any[] : T_327 extends object ? { [K_190 in keyof T_327]-?: any; } : T_327 : never : never : T_326 extends (infer U)[] ? any[] : T_326 extends object ? { [K_191 in keyof T_326]-?: T_326[K_191] extends infer T_328 ? T_328 extends T_326[K_191] ? T_328 extends CanBeExpanded ? any : T_328 extends (infer U)[] ? any[] : T_328 extends object ? { [K_192 in keyof T_328]-?: T_328[K_192] extends infer T_329 ? T_329 extends T_328[K_192] ? T_329 extends CanBeExpanded ? T_329["default"] : T_329 : never : never; } : T_328 : never : never; } : T_326 : never : never : T_325 extends (infer U)[] ? any[] : T_325 extends object ? { [K_193 in keyof T_325]-?: T_325[K_193] extends infer T_330 ? T_330 extends T_325[K_193] ? T_330 extends CanBeExpanded ? T_330[PrefixWith, K_193, "."> extends infer T_331 ? T_331 extends PrefixWith, K_193, "."> ? T_331 extends SplitAC ? "value" : "default" : never : never] extends infer T_332 ? T_332 extends T_330[PrefixWith, K_193, "."> extends infer T_331 ? T_331 extends PrefixWith, K_193, "."> ? T_331 extends SplitAC ? "value" : "default" : never : never] ? T_332 extends CanBeExpanded ? any : T_332 extends (infer U)[] ? any[] : T_332 extends object ? { [K_194 in keyof T_332]-?: T_332[K_194] extends infer T_333 ? T_333 extends T_332[K_194] ? T_333 extends CanBeExpanded ? T_333["default"] : T_333 : never : never; } : T_332 : never : never : T_330 extends (infer U)[] ? any[] : T_330 extends object ? { [K_195 in keyof T_330]-?: T_330[K_195] extends infer T_334 ? T_334 extends T_330[K_195] ? T_334 extends CanBeExpanded ? T_334["default"] : T_334 : never : never; } : T_330 : never : never; } : T_325 : never : never : T_324 extends (infer U)[] ? any[] : T_324 extends object ? { [K_196 in keyof T_324]-?: T_324[K_196] extends infer T_335 ? T_335 extends T_324[K_196] ? T_335 extends CanBeExpanded ? T_335[PrefixWith, K_196, "."> extends infer T_336 ? T_336 extends PrefixWith, K_196, "."> ? T_336 extends SplitAC ? "value" : "default" : never : never] extends infer T_337 ? T_337 extends T_335[PrefixWith, K_196, "."> extends infer T_336 ? T_336 extends PrefixWith, K_196, "."> ? T_336 extends SplitAC ? "value" : "default" : never : never] ? T_337 extends CanBeExpanded ? T_337[PrefixWith, K_196, "."> extends infer T_336 ? T_336 extends PrefixWith, K_196, "."> ? T_336 extends SplitAC ? "value" : "default" : never : never] extends infer T_338 ? T_338 extends T_337[PrefixWith, K_196, "."> extends infer T_336 ? T_336 extends PrefixWith, K_196, "."> ? T_336 extends SplitAC ? "value" : "default" : never : never] ? T_338 extends CanBeExpanded ? any : T_338 extends (infer U)[] ? any[] : T_338 extends object ? { [K_197 in keyof T_338]-?: T_338[K_197] extends infer T_339 ? T_339 extends T_338[K_197] ? T_339 extends CanBeExpanded ? T_339["default"] : T_339 : never : never; } : T_338 : never : never : T_337 extends (infer U)[] ? any[] : T_337 extends object ? { [K_198 in keyof T_337]-?: T_337[K_198] extends infer T_340 ? T_340 extends T_337[K_198] ? T_340 extends CanBeExpanded ? T_340["default"] : T_340 : never : never; } : T_337 : never : never : T_335 extends (infer U)[] ? any[] : T_335 extends object ? { [K_199 in keyof T_335]-?: T_335[K_199] extends infer T_341 ? T_341 extends T_335[K_199] ? T_341 extends CanBeExpanded ? T_341["default"] : T_341 : never : never; } : T_335 : never : never; } : T_324 : never : never : T_322 extends (infer U)[] ? any[] : T_322 extends object ? { [K_200 in keyof T_322]-?: T_322[K_200] extends infer T_342 ? T_342 extends T_322[K_200] ? T_342 extends CanBeExpanded ? T_342[PrefixWith, K_200, "."> extends infer T_343 ? T_343 extends PrefixWith, K_200, "."> ? T_343 extends SplitAC ? "value" : "default" : never : never] extends infer T_344 ? T_344 extends T_342[PrefixWith, K_200, "."> extends infer T_343 ? T_343 extends PrefixWith, K_200, "."> ? T_343 extends SplitAC ? "value" : "default" : never : never] ? T_344 extends CanBeExpanded ? T_344[PrefixWith, K_200, "."> extends infer T_343 ? T_343 extends PrefixWith, K_200, "."> ? T_343 extends SplitAC ? "value" : "default" : never : never] extends infer T_345 ? T_345 extends T_344[PrefixWith, K_200, "."> extends infer T_343 ? T_343 extends PrefixWith, K_200, "."> ? T_343 extends SplitAC ? "value" : "default" : never : never] ? T_345 extends CanBeExpanded ? T_345[PrefixWith, K_200, "."> extends infer T_343 ? T_343 extends PrefixWith, K_200, "."> ? T_343 extends SplitAC ? "value" : "default" : never : never] extends infer T_346 ? T_346 extends T_345[PrefixWith, K_200, "."> extends infer T_343 ? T_343 extends PrefixWith, K_200, "."> ? T_343 extends SplitAC ? "value" : "default" : never : never] ? T_346 extends CanBeExpanded ? any : T_346 extends (infer U)[] ? any[] : T_346 extends object ? { [K_201 in keyof T_346]-?: T_346[K_201] extends infer T_347 ? T_347 extends T_346[K_201] ? T_347 extends CanBeExpanded ? T_347["default"] : T_347 : never : never; } : T_346 : never : never : T_345 extends (infer U)[] ? any[] : T_345 extends object ? { [K_202 in keyof T_345]-?: T_345[K_202] extends infer T_348 ? T_348 extends T_345[K_202] ? T_348 extends CanBeExpanded ? T_348["default"] : T_348 : never : never; } : T_345 : never : never : T_344 extends (infer U)[] ? any[] : T_344 extends object ? { [K_203 in keyof T_344]-?: T_344[K_203] extends infer T_349 ? T_349 extends T_344[K_203] ? T_349 extends CanBeExpanded ? T_349["default"] : T_349 : never : never; } : T_344 : never : never : T_342 extends (infer U)[] ? any[] : T_342 extends object ? { [K_204 in keyof T_342]-?: T_342[K_204] extends infer T_350 ? T_350 extends T_342[K_204] ? T_350 extends CanBeExpanded ? T_350["default"] : T_350 : never : never; } : T_342 : never : never; } : T_322 : never : never; } : T_280 : never : never : T_279 extends (infer U)[] ? any[] : T_279 extends object ? { [K_205 in keyof T_279]-?: T_279[K_205] extends infer T_351 ? T_351 extends T_279[K_205] ? T_351 extends CanBeExpanded ? T_351[PrefixWith extends infer T_352 ? T_352 extends PrefixWith ? T_352 extends SplitAC ? "value" : "default" : never : never] extends infer T_353 ? T_353 extends T_351[PrefixWith extends infer T_352 ? T_352 extends PrefixWith ? T_352 extends SplitAC ? "value" : "default" : never : never] ? T_353 extends CanBeExpanded ? T_353[PrefixWith extends infer T_352 ? T_352 extends PrefixWith ? T_352 extends SplitAC ? "value" : "default" : never : never] extends infer T_354 ? T_354 extends T_353[PrefixWith extends infer T_352 ? T_352 extends PrefixWith ? T_352 extends SplitAC ? "value" : "default" : never : never] ? T_354 extends CanBeExpanded ? T_354[PrefixWith extends infer T_352 ? T_352 extends PrefixWith ? T_352 extends SplitAC ? "value" : "default" : never : never] extends infer T_355 ? T_355 extends T_354[PrefixWith extends infer T_352 ? T_352 extends PrefixWith ? T_352 extends SplitAC ? "value" : "default" : never : never] ? T_355 extends CanBeExpanded ? T_355[PrefixWith extends infer T_352 ? T_352 extends PrefixWith ? T_352 extends SplitAC ? "value" : "default" : never : never] extends infer T_356 ? T_356 extends T_355[PrefixWith extends infer T_352 ? T_352 extends PrefixWith ? T_352 extends SplitAC ? "value" : "default" : never : never] ? T_356 extends CanBeExpanded ? T_356[PrefixWith extends infer T_352 ? T_352 extends PrefixWith ? T_352 extends SplitAC ? "value" : "default" : never : never] extends infer T_357 ? T_357 extends T_356[PrefixWith extends infer T_352 ? T_352 extends PrefixWith ? T_352 extends SplitAC ? "value" : "default" : never : never] ? T_357 extends CanBeExpanded ? any : T_357 extends (infer U)[] ? any[] : T_357 extends object ? { [K_206 in keyof T_357]-?: any; } : T_357 : never : never : T_356 extends (infer U)[] ? any[] : T_356 extends object ? { [K_207 in keyof T_356]-?: T_356[K_207] extends infer T_358 ? T_358 extends T_356[K_207] ? T_358 extends CanBeExpanded ? any : T_358 extends (infer U)[] ? any[] : T_358 extends object ? { [K_208 in keyof T_358]-?: T_358[K_208] extends infer T_359 ? T_359 extends T_358[K_208] ? T_359 extends CanBeExpanded ? T_359["default"] : T_359 : never : never; } : T_358 : never : never; } : T_356 : never : never : T_355 extends (infer U)[] ? any[] : T_355 extends object ? { [K_209 in keyof T_355]-?: T_355[K_209] extends infer T_360 ? T_360 extends T_355[K_209] ? T_360 extends CanBeExpanded ? T_360[PrefixWith, K_209, "."> extends infer T_361 ? T_361 extends PrefixWith, K_209, "."> ? T_361 extends SplitAC ? "value" : "default" : never : never] extends infer T_362 ? T_362 extends T_360[PrefixWith, K_209, "."> extends infer T_361 ? T_361 extends PrefixWith, K_209, "."> ? T_361 extends SplitAC ? "value" : "default" : never : never] ? T_362 extends CanBeExpanded ? any : T_362 extends (infer U)[] ? any[] : T_362 extends object ? { [K_210 in keyof T_362]-?: T_362[K_210] extends infer T_363 ? T_363 extends T_362[K_210] ? T_363 extends CanBeExpanded ? T_363["default"] : T_363 : never : never; } : T_362 : never : never : T_360 extends (infer U)[] ? any[] : T_360 extends object ? { [K_211 in keyof T_360]-?: T_360[K_211] extends infer T_364 ? T_364 extends T_360[K_211] ? T_364 extends CanBeExpanded ? T_364["default"] : T_364 : never : never; } : T_360 : never : never; } : T_355 : never : never : T_354 extends (infer U)[] ? any[] : T_354 extends object ? { [K_212 in keyof T_354]-?: T_354[K_212] extends infer T_365 ? T_365 extends T_354[K_212] ? T_365 extends CanBeExpanded ? T_365[PrefixWith, K_212, "."> extends infer T_366 ? T_366 extends PrefixWith, K_212, "."> ? T_366 extends SplitAC ? "value" : "default" : never : never] extends infer T_367 ? T_367 extends T_365[PrefixWith, K_212, "."> extends infer T_366 ? T_366 extends PrefixWith, K_212, "."> ? T_366 extends SplitAC ? "value" : "default" : never : never] ? T_367 extends CanBeExpanded ? T_367[PrefixWith, K_212, "."> extends infer T_366 ? T_366 extends PrefixWith, K_212, "."> ? T_366 extends SplitAC ? "value" : "default" : never : never] extends infer T_368 ? T_368 extends T_367[PrefixWith, K_212, "."> extends infer T_366 ? T_366 extends PrefixWith, K_212, "."> ? T_366 extends SplitAC ? "value" : "default" : never : never] ? T_368 extends CanBeExpanded ? any : T_368 extends (infer U)[] ? any[] : T_368 extends object ? { [K_213 in keyof T_368]-?: T_368[K_213] extends infer T_369 ? T_369 extends T_368[K_213] ? T_369 extends CanBeExpanded ? T_369["default"] : T_369 : never : never; } : T_368 : never : never : T_367 extends (infer U)[] ? any[] : T_367 extends object ? { [K_214 in keyof T_367]-?: T_367[K_214] extends infer T_370 ? T_370 extends T_367[K_214] ? T_370 extends CanBeExpanded ? T_370["default"] : T_370 : never : never; } : T_367 : never : never : T_365 extends (infer U)[] ? any[] : T_365 extends object ? { [K_215 in keyof T_365]-?: T_365[K_215] extends infer T_371 ? T_371 extends T_365[K_215] ? T_371 extends CanBeExpanded ? T_371["default"] : T_371 : never : never; } : T_365 : never : never; } : T_354 : never : never : T_353 extends (infer U)[] ? any[] : T_353 extends object ? { [K_216 in keyof T_353]-?: T_353[K_216] extends infer T_372 ? T_372 extends T_353[K_216] ? T_372 extends CanBeExpanded ? T_372[PrefixWith, K_216, "."> extends infer T_373 ? T_373 extends PrefixWith, K_216, "."> ? T_373 extends SplitAC ? "value" : "default" : never : never] extends infer T_374 ? T_374 extends T_372[PrefixWith, K_216, "."> extends infer T_373 ? T_373 extends PrefixWith, K_216, "."> ? T_373 extends SplitAC ? "value" : "default" : never : never] ? T_374 extends CanBeExpanded ? T_374[PrefixWith, K_216, "."> extends infer T_373 ? T_373 extends PrefixWith, K_216, "."> ? T_373 extends SplitAC ? "value" : "default" : never : never] extends infer T_375 ? T_375 extends T_374[PrefixWith, K_216, "."> extends infer T_373 ? T_373 extends PrefixWith, K_216, "."> ? T_373 extends SplitAC ? "value" : "default" : never : never] ? T_375 extends CanBeExpanded ? T_375[PrefixWith, K_216, "."> extends infer T_373 ? T_373 extends PrefixWith, K_216, "."> ? T_373 extends SplitAC ? "value" : "default" : never : never] extends infer T_376 ? T_376 extends T_375[PrefixWith, K_216, "."> extends infer T_373 ? T_373 extends PrefixWith, K_216, "."> ? T_373 extends SplitAC ? "value" : "default" : never : never] ? T_376 extends CanBeExpanded ? any : T_376 extends (infer U)[] ? any[] : T_376 extends object ? { [K_217 in keyof T_376]-?: T_376[K_217] extends infer T_377 ? T_377 extends T_376[K_217] ? T_377 extends CanBeExpanded ? T_377["default"] : T_377 : never : never; } : T_376 : never : never : T_375 extends (infer U)[] ? any[] : T_375 extends object ? { [K_218 in keyof T_375]-?: T_375[K_218] extends infer T_378 ? T_378 extends T_375[K_218] ? T_378 extends CanBeExpanded ? T_378["default"] : T_378 : never : never; } : T_375 : never : never : T_374 extends (infer U)[] ? any[] : T_374 extends object ? { [K_219 in keyof T_374]-?: T_374[K_219] extends infer T_379 ? T_379 extends T_374[K_219] ? T_379 extends CanBeExpanded ? T_379["default"] : T_379 : never : never; } : T_374 : never : never : T_372 extends (infer U)[] ? any[] : T_372 extends object ? { [K_220 in keyof T_372]-?: T_372[K_220] extends infer T_380 ? T_380 extends T_372[K_220] ? T_380 extends CanBeExpanded ? T_380["default"] : T_380 : never : never; } : T_372 : never : never; } : T_353 : never : never : T_351 extends (infer U)[] ? any[] : T_351 extends object ? { [K_221 in keyof T_351]-?: T_351[K_221] extends infer T_381 ? T_381 extends T_351[K_221] ? T_381 extends CanBeExpanded ? T_381[PrefixWith, K_221, "."> extends infer T_382 ? T_382 extends PrefixWith, K_221, "."> ? T_382 extends SplitAC ? "value" : "default" : never : never] extends infer T_383 ? T_383 extends T_381[PrefixWith, K_221, "."> extends infer T_382 ? T_382 extends PrefixWith, K_221, "."> ? T_382 extends SplitAC ? "value" : "default" : never : never] ? T_383 extends CanBeExpanded ? T_383[PrefixWith, K_221, "."> extends infer T_382 ? T_382 extends PrefixWith, K_221, "."> ? T_382 extends SplitAC ? "value" : "default" : never : never] extends infer T_384 ? T_384 extends T_383[PrefixWith, K_221, "."> extends infer T_382 ? T_382 extends PrefixWith, K_221, "."> ? T_382 extends SplitAC ? "value" : "default" : never : never] ? T_384 extends CanBeExpanded ? T_384[PrefixWith, K_221, "."> extends infer T_382 ? T_382 extends PrefixWith, K_221, "."> ? T_382 extends SplitAC ? "value" : "default" : never : never] extends infer T_385 ? T_385 extends T_384[PrefixWith, K_221, "."> extends infer T_382 ? T_382 extends PrefixWith, K_221, "."> ? T_382 extends SplitAC ? "value" : "default" : never : never] ? T_385 extends CanBeExpanded ? T_385[PrefixWith, K_221, "."> extends infer T_382 ? T_382 extends PrefixWith, K_221, "."> ? T_382 extends SplitAC ? "value" : "default" : never : never] extends infer T_386 ? T_386 extends T_385[PrefixWith, K_221, "."> extends infer T_382 ? T_382 extends PrefixWith, K_221, "."> ? T_382 extends SplitAC ? "value" : "default" : never : never] ? T_386 extends CanBeExpanded ? any : T_386 extends (infer U)[] ? any[] : T_386 extends object ? { [K_222 in keyof T_386]-?: T_386[K_222] extends infer T_387 ? T_387 extends T_386[K_222] ? T_387 extends CanBeExpanded ? T_387["default"] : T_387 : never : never; } : T_386 : never : never : T_385 extends (infer U)[] ? any[] : T_385 extends object ? { [K_223 in keyof T_385]-?: T_385[K_223] extends infer T_388 ? T_388 extends T_385[K_223] ? T_388 extends CanBeExpanded ? T_388["default"] : T_388 : never : never; } : T_385 : never : never : T_384 extends (infer U)[] ? any[] : T_384 extends object ? { [K_224 in keyof T_384]-?: T_384[K_224] extends infer T_389 ? T_389 extends T_384[K_224] ? T_389 extends CanBeExpanded ? T_389["default"] : T_389 : never : never; } : T_384 : never : never : T_383 extends (infer U)[] ? any[] : T_383 extends object ? { [K_225 in keyof T_383]-?: T_383[K_225] extends infer T_390 ? T_390 extends T_383[K_225] ? T_390 extends CanBeExpanded ? T_390["default"] : T_390 : never : never; } : T_383 : never : never : T_381 extends (infer U)[] ? any[] : T_381 extends object ? { [K_226 in keyof T_381]-?: T_381[K_226] extends infer T_391 ? T_391 extends T_381[K_226] ? T_391 extends CanBeExpanded ? T_391["default"] : T_391 : never : never; } : T_381 : never : never; } : T_351 : never : never; } : T_279 : never : never : T_277 extends (infer U)[] ? any[] : T_277 extends object ? { [K_227 in keyof T_277]-?: T_277[K_227] extends infer T_392 ? T_392 extends T_277[K_227] ? T_392 extends CanBeExpanded ? T_392[PrefixWith extends infer T_393 ? T_393 extends PrefixWith ? T_393 extends SplitAC ? "value" : "default" : never : never] extends infer T_394 ? T_394 extends T_392[PrefixWith extends infer T_393 ? T_393 extends PrefixWith ? T_393 extends SplitAC ? "value" : "default" : never : never] ? T_394 extends CanBeExpanded ? T_394[PrefixWith extends infer T_393 ? T_393 extends PrefixWith ? T_393 extends SplitAC ? "value" : "default" : never : never] extends infer T_395 ? T_395 extends T_394[PrefixWith extends infer T_393 ? T_393 extends PrefixWith ? T_393 extends SplitAC ? "value" : "default" : never : never] ? T_395 extends CanBeExpanded ? T_395[PrefixWith extends infer T_393 ? T_393 extends PrefixWith ? T_393 extends SplitAC ? "value" : "default" : never : never] extends infer T_396 ? T_396 extends T_395[PrefixWith extends infer T_393 ? T_393 extends PrefixWith ? T_393 extends SplitAC ? "value" : "default" : never : never] ? T_396 extends CanBeExpanded ? T_396[PrefixWith extends infer T_393 ? T_393 extends PrefixWith ? T_393 extends SplitAC ? "value" : "default" : never : never] extends infer T_397 ? T_397 extends T_396[PrefixWith extends infer T_393 ? T_393 extends PrefixWith ? T_393 extends SplitAC ? "value" : "default" : never : never] ? T_397 extends CanBeExpanded ? T_397[PrefixWith extends infer T_393 ? T_393 extends PrefixWith ? T_393 extends SplitAC ? "value" : "default" : never : never] extends infer T_398 ? T_398 extends T_397[PrefixWith extends infer T_393 ? T_393 extends PrefixWith ? T_393 extends SplitAC ? "value" : "default" : never : never] ? T_398 extends CanBeExpanded ? T_398[PrefixWith extends infer T_393 ? T_393 extends PrefixWith ? T_393 extends SplitAC ? "value" : "default" : never : never] extends infer T_399 ? T_399 extends T_398[PrefixWith extends infer T_393 ? T_393 extends PrefixWith ? T_393 extends SplitAC ? "value" : "default" : never : never] ? T_399 extends CanBeExpanded ? any : T_399 extends (infer U)[] ? any[] : T_399 extends object ? { [K_228 in keyof T_399]-?: any; } : T_399 : never : never : T_398 extends (infer U)[] ? any[] : T_398 extends object ? { [K_229 in keyof T_398]-?: T_398[K_229] extends infer T_400 ? T_400 extends T_398[K_229] ? T_400 extends CanBeExpanded ? any : T_400 extends (infer U)[] ? any[] : T_400 extends object ? { [K_230 in keyof T_400]-?: T_400[K_230] extends infer T_401 ? T_401 extends T_400[K_230] ? T_401 extends CanBeExpanded ? T_401["default"] : T_401 : never : never; } : T_400 : never : never; } : T_398 : never : never : T_397 extends (infer U)[] ? any[] : T_397 extends object ? { [K_231 in keyof T_397]-?: T_397[K_231] extends infer T_402 ? T_402 extends T_397[K_231] ? T_402 extends CanBeExpanded ? T_402[PrefixWith, K_231, "."> extends infer T_403 ? T_403 extends PrefixWith, K_231, "."> ? T_403 extends SplitAC ? "value" : "default" : never : never] extends infer T_404 ? T_404 extends T_402[PrefixWith, K_231, "."> extends infer T_403 ? T_403 extends PrefixWith, K_231, "."> ? T_403 extends SplitAC ? "value" : "default" : never : never] ? T_404 extends CanBeExpanded ? any : T_404 extends (infer U)[] ? any[] : T_404 extends object ? { [K_232 in keyof T_404]-?: T_404[K_232] extends infer T_405 ? T_405 extends T_404[K_232] ? T_405 extends CanBeExpanded ? T_405["default"] : T_405 : never : never; } : T_404 : never : never : T_402 extends (infer U)[] ? any[] : T_402 extends object ? { [K_233 in keyof T_402]-?: T_402[K_233] extends infer T_406 ? T_406 extends T_402[K_233] ? T_406 extends CanBeExpanded ? T_406["default"] : T_406 : never : never; } : T_402 : never : never; } : T_397 : never : never : T_396 extends (infer U)[] ? any[] : T_396 extends object ? { [K_234 in keyof T_396]-?: T_396[K_234] extends infer T_407 ? T_407 extends T_396[K_234] ? T_407 extends CanBeExpanded ? T_407[PrefixWith, K_234, "."> extends infer T_408 ? T_408 extends PrefixWith, K_234, "."> ? T_408 extends SplitAC ? "value" : "default" : never : never] extends infer T_409 ? T_409 extends T_407[PrefixWith, K_234, "."> extends infer T_408 ? T_408 extends PrefixWith, K_234, "."> ? T_408 extends SplitAC ? "value" : "default" : never : never] ? T_409 extends CanBeExpanded ? T_409[PrefixWith, K_234, "."> extends infer T_408 ? T_408 extends PrefixWith, K_234, "."> ? T_408 extends SplitAC ? "value" : "default" : never : never] extends infer T_410 ? T_410 extends T_409[PrefixWith, K_234, "."> extends infer T_408 ? T_408 extends PrefixWith, K_234, "."> ? T_408 extends SplitAC ? "value" : "default" : never : never] ? T_410 extends CanBeExpanded ? any : T_410 extends (infer U)[] ? any[] : T_410 extends object ? { [K_235 in keyof T_410]-?: T_410[K_235] extends infer T_411 ? T_411 extends T_410[K_235] ? T_411 extends CanBeExpanded ? T_411["default"] : T_411 : never : never; } : T_410 : never : never : T_409 extends (infer U)[] ? any[] : T_409 extends object ? { [K_236 in keyof T_409]-?: T_409[K_236] extends infer T_412 ? T_412 extends T_409[K_236] ? T_412 extends CanBeExpanded ? T_412["default"] : T_412 : never : never; } : T_409 : never : never : T_407 extends (infer U)[] ? any[] : T_407 extends object ? { [K_237 in keyof T_407]-?: T_407[K_237] extends infer T_413 ? T_413 extends T_407[K_237] ? T_413 extends CanBeExpanded ? T_413["default"] : T_413 : never : never; } : T_407 : never : never; } : T_396 : never : never : T_395 extends (infer U)[] ? any[] : T_395 extends object ? { [K_238 in keyof T_395]-?: T_395[K_238] extends infer T_414 ? T_414 extends T_395[K_238] ? T_414 extends CanBeExpanded ? T_414[PrefixWith, K_238, "."> extends infer T_415 ? T_415 extends PrefixWith, K_238, "."> ? T_415 extends SplitAC ? "value" : "default" : never : never] extends infer T_416 ? T_416 extends T_414[PrefixWith, K_238, "."> extends infer T_415 ? T_415 extends PrefixWith, K_238, "."> ? T_415 extends SplitAC ? "value" : "default" : never : never] ? T_416 extends CanBeExpanded ? T_416[PrefixWith, K_238, "."> extends infer T_415 ? T_415 extends PrefixWith, K_238, "."> ? T_415 extends SplitAC ? "value" : "default" : never : never] extends infer T_417 ? T_417 extends T_416[PrefixWith, K_238, "."> extends infer T_415 ? T_415 extends PrefixWith, K_238, "."> ? T_415 extends SplitAC ? "value" : "default" : never : never] ? T_417 extends CanBeExpanded ? T_417[PrefixWith, K_238, "."> extends infer T_415 ? T_415 extends PrefixWith, K_238, "."> ? T_415 extends SplitAC ? "value" : "default" : never : never] extends infer T_418 ? T_418 extends T_417[PrefixWith, K_238, "."> extends infer T_415 ? T_415 extends PrefixWith, K_238, "."> ? T_415 extends SplitAC ? "value" : "default" : never : never] ? T_418 extends CanBeExpanded ? any : T_418 extends (infer U)[] ? any[] : T_418 extends object ? { [K_239 in keyof T_418]-?: T_418[K_239] extends infer T_419 ? T_419 extends T_418[K_239] ? T_419 extends CanBeExpanded ? T_419["default"] : T_419 : never : never; } : T_418 : never : never : T_417 extends (infer U)[] ? any[] : T_417 extends object ? { [K_240 in keyof T_417]-?: T_417[K_240] extends infer T_420 ? T_420 extends T_417[K_240] ? T_420 extends CanBeExpanded ? T_420["default"] : T_420 : never : never; } : T_417 : never : never : T_416 extends (infer U)[] ? any[] : T_416 extends object ? { [K_241 in keyof T_416]-?: T_416[K_241] extends infer T_421 ? T_421 extends T_416[K_241] ? T_421 extends CanBeExpanded ? T_421["default"] : T_421 : never : never; } : T_416 : never : never : T_414 extends (infer U)[] ? any[] : T_414 extends object ? { [K_242 in keyof T_414]-?: T_414[K_242] extends infer T_422 ? T_422 extends T_414[K_242] ? T_422 extends CanBeExpanded ? T_422["default"] : T_422 : never : never; } : T_414 : never : never; } : T_395 : never : never : T_394 extends (infer U)[] ? any[] : T_394 extends object ? { [K_243 in keyof T_394]-?: T_394[K_243] extends infer T_423 ? T_423 extends T_394[K_243] ? T_423 extends CanBeExpanded ? T_423[PrefixWith, K_243, "."> extends infer T_424 ? T_424 extends PrefixWith, K_243, "."> ? T_424 extends SplitAC ? "value" : "default" : never : never] extends infer T_425 ? T_425 extends T_423[PrefixWith, K_243, "."> extends infer T_424 ? T_424 extends PrefixWith, K_243, "."> ? T_424 extends SplitAC ? "value" : "default" : never : never] ? T_425 extends CanBeExpanded ? T_425[PrefixWith, K_243, "."> extends infer T_424 ? T_424 extends PrefixWith, K_243, "."> ? T_424 extends SplitAC ? "value" : "default" : never : never] extends infer T_426 ? T_426 extends T_425[PrefixWith, K_243, "."> extends infer T_424 ? T_424 extends PrefixWith, K_243, "."> ? T_424 extends SplitAC ? "value" : "default" : never : never] ? T_426 extends CanBeExpanded ? T_426[PrefixWith, K_243, "."> extends infer T_424 ? T_424 extends PrefixWith, K_243, "."> ? T_424 extends SplitAC ? "value" : "default" : never : never] extends infer T_427 ? T_427 extends T_426[PrefixWith, K_243, "."> extends infer T_424 ? T_424 extends PrefixWith, K_243, "."> ? T_424 extends SplitAC ? "value" : "default" : never : never] ? T_427 extends CanBeExpanded ? T_427[PrefixWith, K_243, "."> extends infer T_424 ? T_424 extends PrefixWith, K_243, "."> ? T_424 extends SplitAC ? "value" : "default" : never : never] extends infer T_428 ? T_428 extends T_427[PrefixWith, K_243, "."> extends infer T_424 ? T_424 extends PrefixWith, K_243, "."> ? T_424 extends SplitAC ? "value" : "default" : never : never] ? T_428 extends CanBeExpanded ? any : T_428 extends (infer U)[] ? any[] : T_428 extends object ? { [K_244 in keyof T_428]-?: T_428[K_244] extends infer T_429 ? T_429 extends T_428[K_244] ? T_429 extends CanBeExpanded ? T_429["default"] : T_429 : never : never; } : T_428 : never : never : T_427 extends (infer U)[] ? any[] : T_427 extends object ? { [K_245 in keyof T_427]-?: T_427[K_245] extends infer T_430 ? T_430 extends T_427[K_245] ? T_430 extends CanBeExpanded ? T_430["default"] : T_430 : never : never; } : T_427 : never : never : T_426 extends (infer U)[] ? any[] : T_426 extends object ? { [K_246 in keyof T_426]-?: T_426[K_246] extends infer T_431 ? T_431 extends T_426[K_246] ? T_431 extends CanBeExpanded ? T_431["default"] : T_431 : never : never; } : T_426 : never : never : T_425 extends (infer U)[] ? any[] : T_425 extends object ? { [K_247 in keyof T_425]-?: T_425[K_247] extends infer T_432 ? T_432 extends T_425[K_247] ? T_432 extends CanBeExpanded ? T_432["default"] : T_432 : never : never; } : T_425 : never : never : T_423 extends (infer U)[] ? any[] : T_423 extends object ? { [K_248 in keyof T_423]-?: T_423[K_248] extends infer T_433 ? T_433 extends T_423[K_248] ? T_433 extends CanBeExpanded ? T_433["default"] : T_433 : never : never; } : T_423 : never : never; } : T_394 : never : never : T_392 extends (infer U)[] ? any[] : T_392 extends object ? { [K_249 in keyof T_392]-?: T_392[K_249] extends infer T_434 ? T_434 extends T_392[K_249] ? T_434 extends CanBeExpanded ? T_434[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] extends infer T_436 ? T_436 extends T_434[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] ? T_436 extends CanBeExpanded ? T_436[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] extends infer T_437 ? T_437 extends T_436[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] ? T_437 extends CanBeExpanded ? T_437[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] extends infer T_438 ? T_438 extends T_437[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] ? T_438 extends CanBeExpanded ? T_438[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] extends infer T_439 ? T_439 extends T_438[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] ? T_439 extends CanBeExpanded ? T_439[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] extends infer T_440 ? T_440 extends T_439[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] ? T_440 extends CanBeExpanded ? any : T_440 extends (infer U)[] ? any[] : T_440 extends object ? { [K_250 in keyof T_440]-?: T_440[K_250] extends infer T_441 ? T_441 extends T_440[K_250] ? T_441 extends CanBeExpanded ? T_441["default"] : T_441 : never : never; } : T_440 : never : never : T_439 extends (infer U)[] ? any[] : T_439 extends object ? { [K_251 in keyof T_439]-?: T_439[K_251] extends infer T_442 ? T_442 extends T_439[K_251] ? T_442 extends CanBeExpanded ? T_442["default"] : T_442 : never : never; } : T_439 : never : never : T_438 extends (infer U)[] ? any[] : T_438 extends object ? { [K_252 in keyof T_438]-?: T_438[K_252] extends infer T_443 ? T_443 extends T_438[K_252] ? T_443 extends CanBeExpanded ? T_443["default"] : T_443 : never : never; } : T_438 : never : never : T_437 extends (infer U)[] ? any[] : T_437 extends object ? { [K_253 in keyof T_437]-?: T_437[K_253] extends infer T_444 ? T_444 extends T_437[K_253] ? T_444 extends CanBeExpanded ? T_444["default"] : T_444 : never : never; } : T_437 : never : never : T_436 extends (infer U)[] ? any[] : T_436 extends object ? { [K_254 in keyof T_436]-?: T_436[K_254] extends infer T_445 ? T_445 extends T_436[K_254] ? T_445 extends CanBeExpanded ? T_445["default"] : T_445 : never : never; } : T_436 : never : never : T_434 extends (infer U)[] ? any[] : T_434 extends object ? { [K_255 in keyof T_434]-?: T_434[K_255] extends infer T_446 ? T_446 extends T_434[K_255] ? T_446 extends CanBeExpanded ? T_446["default"] : T_446 : never : never; } : T_434 : never : never; } : T_392 : never : never; } : T_277 : never : never; } : T_3 : never : never : T_2 extends (infer U)[] ? any[] : T_2 extends object ? { [K_256 in keyof T_2]-?: T_2[K_256] extends infer T_447 ? T_447 extends T_2[K_256] ? T_447 extends CanBeExpanded ? T_447[string & K_256 extends infer T_448 ? T_448 extends string & K_256 ? T_448 extends SplitAC ? "value" : "default" : never : never] extends infer T_449 ? T_449 extends T_447[string & K_256 extends infer T_448 ? T_448 extends string & K_256 ? T_448 extends SplitAC ? "value" : "default" : never : never] ? T_449 extends CanBeExpanded ? T_449[string & K_256 extends infer T_448 ? T_448 extends string & K_256 ? T_448 extends SplitAC ? "value" : "default" : never : never] extends infer T_450 ? T_450 extends T_449[string & K_256 extends infer T_448 ? T_448 extends string & K_256 ? T_448 extends SplitAC ? "value" : "default" : never : never] ? T_450 extends CanBeExpanded ? T_450[string & K_256 extends infer T_448 ? T_448 extends string & K_256 ? T_448 extends SplitAC ? "value" : "default" : never : never] extends infer T_451 ? T_451 extends T_450[string & K_256 extends infer T_448 ? T_448 extends string & K_256 ? T_448 extends SplitAC ? "value" : "default" : never : never] ? T_451 extends CanBeExpanded ? T_451[string & K_256 extends infer T_448 ? T_448 extends string & K_256 ? T_448 extends SplitAC ? "value" : "default" : never : never] extends infer T_452 ? T_452 extends T_451[string & K_256 extends infer T_448 ? T_448 extends string & K_256 ? T_448 extends SplitAC ? "value" : "default" : never : never] ? T_452 extends CanBeExpanded ? T_452[string & K_256 extends infer T_448 ? T_448 extends string & K_256 ? T_448 extends SplitAC ? "value" : "default" : never : never] extends infer T_453 ? T_453 extends T_452[string & K_256 extends infer T_448 ? T_448 extends string & K_256 ? T_448 extends SplitAC ? "value" : "default" : never : never] ? T_453 extends CanBeExpanded ? T_453[string & K_256 extends infer T_448 ? T_448 extends string & K_256 ? T_448 extends SplitAC ? "value" : "default" : never : never] extends infer T_454 ? T_454 extends T_453[string & K_256 extends infer T_448 ? T_448 extends string & K_256 ? T_448 extends SplitAC ? "value" : "default" : never : never] ? T_454 extends CanBeExpanded ? T_454[string & K_256 extends infer T_448 ? T_448 extends string & K_256 ? T_448 extends SplitAC ? "value" : "default" : never : never] extends infer T_455 ? T_455 extends T_454[string & K_256 extends infer T_448 ? T_448 extends string & K_256 ? T_448 extends SplitAC ? "value" : "default" : never : never] ? T_455 extends CanBeExpanded ? T_455[string & K_256 extends infer T_448 ? T_448 extends string & K_256 ? T_448 extends SplitAC ? "value" : "default" : never : never] extends infer T_456 ? T_456 extends T_455[string & K_256 extends infer T_448 ? T_448 extends string & K_256 ? T_448 extends SplitAC ? "value" : "default" : never : never] ? T_456 extends CanBeExpanded ? any : T_456 extends (infer U)[] ? any[] : T_456 extends object ? { [K_257 in keyof T_456]-?: any; } : T_456 : never : never : T_455 extends (infer U)[] ? any[] : T_455 extends object ? { [K_258 in keyof T_455]-?: T_455[K_258] extends infer T_457 ? T_457 extends T_455[K_258] ? T_457 extends CanBeExpanded ? any : T_457 extends (infer U)[] ? any[] : T_457 extends object ? { [K_259 in keyof T_457]-?: any; } : T_457 : never : never; } : T_455 : never : never : T_454 extends (infer U)[] ? any[] : T_454 extends object ? { [K_260 in keyof T_454]-?: T_454[K_260] extends infer T_458 ? T_458 extends T_454[K_260] ? T_458 extends CanBeExpanded ? T_458[PrefixWith extends infer T_459 ? T_459 extends PrefixWith ? T_459 extends SplitAC ? "value" : "default" : never : never] extends infer T_460 ? T_460 extends T_458[PrefixWith extends infer T_459 ? T_459 extends PrefixWith ? T_459 extends SplitAC ? "value" : "default" : never : never] ? T_460 extends CanBeExpanded ? any : T_460 extends (infer U)[] ? any[] : T_460 extends object ? { [K_261 in keyof T_460]-?: any; } : T_460 : never : never : T_458 extends (infer U)[] ? any[] : T_458 extends object ? { [K_262 in keyof T_458]-?: T_458[K_262] extends infer T_461 ? T_461 extends T_458[K_262] ? T_461 extends CanBeExpanded ? any : T_461 extends (infer U)[] ? any[] : T_461 extends object ? { [K_263 in keyof T_461]-?: T_461[K_263] extends infer T_462 ? T_462 extends T_461[K_263] ? T_462 extends CanBeExpanded ? T_462["default"] : T_462 : never : never; } : T_461 : never : never; } : T_458 : never : never; } : T_454 : never : never : T_453 extends (infer U)[] ? any[] : T_453 extends object ? { [K_264 in keyof T_453]-?: T_453[K_264] extends infer T_463 ? T_463 extends T_453[K_264] ? T_463 extends CanBeExpanded ? T_463[PrefixWith extends infer T_464 ? T_464 extends PrefixWith ? T_464 extends SplitAC ? "value" : "default" : never : never] extends infer T_465 ? T_465 extends T_463[PrefixWith extends infer T_464 ? T_464 extends PrefixWith ? T_464 extends SplitAC ? "value" : "default" : never : never] ? T_465 extends CanBeExpanded ? T_465[PrefixWith extends infer T_464 ? T_464 extends PrefixWith ? T_464 extends SplitAC ? "value" : "default" : never : never] extends infer T_466 ? T_466 extends T_465[PrefixWith extends infer T_464 ? T_464 extends PrefixWith ? T_464 extends SplitAC ? "value" : "default" : never : never] ? T_466 extends CanBeExpanded ? any : T_466 extends (infer U)[] ? any[] : T_466 extends object ? { [K_265 in keyof T_466]-?: any; } : T_466 : never : never : T_465 extends (infer U)[] ? any[] : T_465 extends object ? { [K_266 in keyof T_465]-?: T_465[K_266] extends infer T_467 ? T_467 extends T_465[K_266] ? T_467 extends CanBeExpanded ? any : T_467 extends (infer U)[] ? any[] : T_467 extends object ? { [K_267 in keyof T_467]-?: T_467[K_267] extends infer T_468 ? T_468 extends T_467[K_267] ? T_468 extends CanBeExpanded ? T_468["default"] : T_468 : never : never; } : T_467 : never : never; } : T_465 : never : never : T_463 extends (infer U)[] ? any[] : T_463 extends object ? { [K_268 in keyof T_463]-?: T_463[K_268] extends infer T_469 ? T_469 extends T_463[K_268] ? T_469 extends CanBeExpanded ? T_469[PrefixWith, K_268, "."> extends infer T_470 ? T_470 extends PrefixWith, K_268, "."> ? T_470 extends SplitAC ? "value" : "default" : never : never] extends infer T_471 ? T_471 extends T_469[PrefixWith, K_268, "."> extends infer T_470 ? T_470 extends PrefixWith, K_268, "."> ? T_470 extends SplitAC ? "value" : "default" : never : never] ? T_471 extends CanBeExpanded ? any : T_471 extends (infer U)[] ? any[] : T_471 extends object ? { [K_269 in keyof T_471]-?: T_471[K_269] extends infer T_472 ? T_472 extends T_471[K_269] ? T_472 extends CanBeExpanded ? T_472["default"] : T_472 : never : never; } : T_471 : never : never : T_469 extends (infer U)[] ? any[] : T_469 extends object ? { [K_270 in keyof T_469]-?: T_469[K_270] extends infer T_473 ? T_473 extends T_469[K_270] ? T_473 extends CanBeExpanded ? T_473["default"] : T_473 : never : never; } : T_469 : never : never; } : T_463 : never : never; } : T_453 : never : never : T_452 extends (infer U)[] ? any[] : T_452 extends object ? { [K_271 in keyof T_452]-?: T_452[K_271] extends infer T_474 ? T_474 extends T_452[K_271] ? T_474 extends CanBeExpanded ? T_474[PrefixWith extends infer T_475 ? T_475 extends PrefixWith ? T_475 extends SplitAC ? "value" : "default" : never : never] extends infer T_476 ? T_476 extends T_474[PrefixWith extends infer T_475 ? T_475 extends PrefixWith ? T_475 extends SplitAC ? "value" : "default" : never : never] ? T_476 extends CanBeExpanded ? T_476[PrefixWith extends infer T_475 ? T_475 extends PrefixWith ? T_475 extends SplitAC ? "value" : "default" : never : never] extends infer T_477 ? T_477 extends T_476[PrefixWith extends infer T_475 ? T_475 extends PrefixWith ? T_475 extends SplitAC ? "value" : "default" : never : never] ? T_477 extends CanBeExpanded ? T_477[PrefixWith extends infer T_475 ? T_475 extends PrefixWith ? T_475 extends SplitAC ? "value" : "default" : never : never] extends infer T_478 ? T_478 extends T_477[PrefixWith extends infer T_475 ? T_475 extends PrefixWith ? T_475 extends SplitAC ? "value" : "default" : never : never] ? T_478 extends CanBeExpanded ? any : T_478 extends (infer U)[] ? any[] : T_478 extends object ? { [K_272 in keyof T_478]-?: any; } : T_478 : never : never : T_477 extends (infer U)[] ? any[] : T_477 extends object ? { [K_273 in keyof T_477]-?: T_477[K_273] extends infer T_479 ? T_479 extends T_477[K_273] ? T_479 extends CanBeExpanded ? any : T_479 extends (infer U)[] ? any[] : T_479 extends object ? { [K_274 in keyof T_479]-?: T_479[K_274] extends infer T_480 ? T_480 extends T_479[K_274] ? T_480 extends CanBeExpanded ? T_480["default"] : T_480 : never : never; } : T_479 : never : never; } : T_477 : never : never : T_476 extends (infer U)[] ? any[] : T_476 extends object ? { [K_275 in keyof T_476]-?: T_476[K_275] extends infer T_481 ? T_481 extends T_476[K_275] ? T_481 extends CanBeExpanded ? T_481[PrefixWith, K_275, "."> extends infer T_482 ? T_482 extends PrefixWith, K_275, "."> ? T_482 extends SplitAC ? "value" : "default" : never : never] extends infer T_483 ? T_483 extends T_481[PrefixWith, K_275, "."> extends infer T_482 ? T_482 extends PrefixWith, K_275, "."> ? T_482 extends SplitAC ? "value" : "default" : never : never] ? T_483 extends CanBeExpanded ? any : T_483 extends (infer U)[] ? any[] : T_483 extends object ? { [K_276 in keyof T_483]-?: T_483[K_276] extends infer T_484 ? T_484 extends T_483[K_276] ? T_484 extends CanBeExpanded ? T_484["default"] : T_484 : never : never; } : T_483 : never : never : T_481 extends (infer U)[] ? any[] : T_481 extends object ? { [K_277 in keyof T_481]-?: T_481[K_277] extends infer T_485 ? T_485 extends T_481[K_277] ? T_485 extends CanBeExpanded ? T_485["default"] : T_485 : never : never; } : T_481 : never : never; } : T_476 : never : never : T_474 extends (infer U)[] ? any[] : T_474 extends object ? { [K_278 in keyof T_474]-?: T_474[K_278] extends infer T_486 ? T_486 extends T_474[K_278] ? T_486 extends CanBeExpanded ? T_486[PrefixWith, K_278, "."> extends infer T_487 ? T_487 extends PrefixWith, K_278, "."> ? T_487 extends SplitAC ? "value" : "default" : never : never] extends infer T_488 ? T_488 extends T_486[PrefixWith, K_278, "."> extends infer T_487 ? T_487 extends PrefixWith, K_278, "."> ? T_487 extends SplitAC ? "value" : "default" : never : never] ? T_488 extends CanBeExpanded ? T_488[PrefixWith, K_278, "."> extends infer T_487 ? T_487 extends PrefixWith, K_278, "."> ? T_487 extends SplitAC ? "value" : "default" : never : never] extends infer T_489 ? T_489 extends T_488[PrefixWith, K_278, "."> extends infer T_487 ? T_487 extends PrefixWith, K_278, "."> ? T_487 extends SplitAC ? "value" : "default" : never : never] ? T_489 extends CanBeExpanded ? any : T_489 extends (infer U)[] ? any[] : T_489 extends object ? { [K_279 in keyof T_489]-?: T_489[K_279] extends infer T_490 ? T_490 extends T_489[K_279] ? T_490 extends CanBeExpanded ? T_490["default"] : T_490 : never : never; } : T_489 : never : never : T_488 extends (infer U)[] ? any[] : T_488 extends object ? { [K_280 in keyof T_488]-?: T_488[K_280] extends infer T_491 ? T_491 extends T_488[K_280] ? T_491 extends CanBeExpanded ? T_491["default"] : T_491 : never : never; } : T_488 : never : never : T_486 extends (infer U)[] ? any[] : T_486 extends object ? { [K_281 in keyof T_486]-?: T_486[K_281] extends infer T_492 ? T_492 extends T_486[K_281] ? T_492 extends CanBeExpanded ? T_492["default"] : T_492 : never : never; } : T_486 : never : never; } : T_474 : never : never; } : T_452 : never : never : T_451 extends (infer U)[] ? any[] : T_451 extends object ? { [K_282 in keyof T_451]-?: T_451[K_282] extends infer T_493 ? T_493 extends T_451[K_282] ? T_493 extends CanBeExpanded ? T_493[PrefixWith extends infer T_494 ? T_494 extends PrefixWith ? T_494 extends SplitAC ? "value" : "default" : never : never] extends infer T_495 ? T_495 extends T_493[PrefixWith extends infer T_494 ? T_494 extends PrefixWith ? T_494 extends SplitAC ? "value" : "default" : never : never] ? T_495 extends CanBeExpanded ? T_495[PrefixWith extends infer T_494 ? T_494 extends PrefixWith ? T_494 extends SplitAC ? "value" : "default" : never : never] extends infer T_496 ? T_496 extends T_495[PrefixWith extends infer T_494 ? T_494 extends PrefixWith ? T_494 extends SplitAC ? "value" : "default" : never : never] ? T_496 extends CanBeExpanded ? T_496[PrefixWith extends infer T_494 ? T_494 extends PrefixWith ? T_494 extends SplitAC ? "value" : "default" : never : never] extends infer T_497 ? T_497 extends T_496[PrefixWith extends infer T_494 ? T_494 extends PrefixWith ? T_494 extends SplitAC ? "value" : "default" : never : never] ? T_497 extends CanBeExpanded ? T_497[PrefixWith extends infer T_494 ? T_494 extends PrefixWith ? T_494 extends SplitAC ? "value" : "default" : never : never] extends infer T_498 ? T_498 extends T_497[PrefixWith extends infer T_494 ? T_494 extends PrefixWith ? T_494 extends SplitAC ? "value" : "default" : never : never] ? T_498 extends CanBeExpanded ? any : T_498 extends (infer U)[] ? any[] : T_498 extends object ? { [K_283 in keyof T_498]-?: any; } : T_498 : never : never : T_497 extends (infer U)[] ? any[] : T_497 extends object ? { [K_284 in keyof T_497]-?: T_497[K_284] extends infer T_499 ? T_499 extends T_497[K_284] ? T_499 extends CanBeExpanded ? any : T_499 extends (infer U)[] ? any[] : T_499 extends object ? { [K_285 in keyof T_499]-?: T_499[K_285] extends infer T_500 ? T_500 extends T_499[K_285] ? T_500 extends CanBeExpanded ? T_500["default"] : T_500 : never : never; } : T_499 : never : never; } : T_497 : never : never : T_496 extends (infer U)[] ? any[] : T_496 extends object ? { [K_286 in keyof T_496]-?: T_496[K_286] extends infer T_501 ? T_501 extends T_496[K_286] ? T_501 extends CanBeExpanded ? T_501[PrefixWith, K_286, "."> extends infer T_502 ? T_502 extends PrefixWith, K_286, "."> ? T_502 extends SplitAC ? "value" : "default" : never : never] extends infer T_503 ? T_503 extends T_501[PrefixWith, K_286, "."> extends infer T_502 ? T_502 extends PrefixWith, K_286, "."> ? T_502 extends SplitAC ? "value" : "default" : never : never] ? T_503 extends CanBeExpanded ? any : T_503 extends (infer U)[] ? any[] : T_503 extends object ? { [K_287 in keyof T_503]-?: T_503[K_287] extends infer T_504 ? T_504 extends T_503[K_287] ? T_504 extends CanBeExpanded ? T_504["default"] : T_504 : never : never; } : T_503 : never : never : T_501 extends (infer U)[] ? any[] : T_501 extends object ? { [K_288 in keyof T_501]-?: T_501[K_288] extends infer T_505 ? T_505 extends T_501[K_288] ? T_505 extends CanBeExpanded ? T_505["default"] : T_505 : never : never; } : T_501 : never : never; } : T_496 : never : never : T_495 extends (infer U)[] ? any[] : T_495 extends object ? { [K_289 in keyof T_495]-?: T_495[K_289] extends infer T_506 ? T_506 extends T_495[K_289] ? T_506 extends CanBeExpanded ? T_506[PrefixWith, K_289, "."> extends infer T_507 ? T_507 extends PrefixWith, K_289, "."> ? T_507 extends SplitAC ? "value" : "default" : never : never] extends infer T_508 ? T_508 extends T_506[PrefixWith, K_289, "."> extends infer T_507 ? T_507 extends PrefixWith, K_289, "."> ? T_507 extends SplitAC ? "value" : "default" : never : never] ? T_508 extends CanBeExpanded ? T_508[PrefixWith, K_289, "."> extends infer T_507 ? T_507 extends PrefixWith, K_289, "."> ? T_507 extends SplitAC ? "value" : "default" : never : never] extends infer T_509 ? T_509 extends T_508[PrefixWith, K_289, "."> extends infer T_507 ? T_507 extends PrefixWith, K_289, "."> ? T_507 extends SplitAC ? "value" : "default" : never : never] ? T_509 extends CanBeExpanded ? any : T_509 extends (infer U)[] ? any[] : T_509 extends object ? { [K_290 in keyof T_509]-?: T_509[K_290] extends infer T_510 ? T_510 extends T_509[K_290] ? T_510 extends CanBeExpanded ? T_510["default"] : T_510 : never : never; } : T_509 : never : never : T_508 extends (infer U)[] ? any[] : T_508 extends object ? { [K_291 in keyof T_508]-?: T_508[K_291] extends infer T_511 ? T_511 extends T_508[K_291] ? T_511 extends CanBeExpanded ? T_511["default"] : T_511 : never : never; } : T_508 : never : never : T_506 extends (infer U)[] ? any[] : T_506 extends object ? { [K_292 in keyof T_506]-?: T_506[K_292] extends infer T_512 ? T_512 extends T_506[K_292] ? T_512 extends CanBeExpanded ? T_512["default"] : T_512 : never : never; } : T_506 : never : never; } : T_495 : never : never : T_493 extends (infer U)[] ? any[] : T_493 extends object ? { [K_293 in keyof T_493]-?: T_493[K_293] extends infer T_513 ? T_513 extends T_493[K_293] ? T_513 extends CanBeExpanded ? T_513[PrefixWith, K_293, "."> extends infer T_514 ? T_514 extends PrefixWith, K_293, "."> ? T_514 extends SplitAC ? "value" : "default" : never : never] extends infer T_515 ? T_515 extends T_513[PrefixWith, K_293, "."> extends infer T_514 ? T_514 extends PrefixWith, K_293, "."> ? T_514 extends SplitAC ? "value" : "default" : never : never] ? T_515 extends CanBeExpanded ? T_515[PrefixWith, K_293, "."> extends infer T_514 ? T_514 extends PrefixWith, K_293, "."> ? T_514 extends SplitAC ? "value" : "default" : never : never] extends infer T_516 ? T_516 extends T_515[PrefixWith, K_293, "."> extends infer T_514 ? T_514 extends PrefixWith, K_293, "."> ? T_514 extends SplitAC ? "value" : "default" : never : never] ? T_516 extends CanBeExpanded ? T_516[PrefixWith, K_293, "."> extends infer T_514 ? T_514 extends PrefixWith, K_293, "."> ? T_514 extends SplitAC ? "value" : "default" : never : never] extends infer T_517 ? T_517 extends T_516[PrefixWith, K_293, "."> extends infer T_514 ? T_514 extends PrefixWith, K_293, "."> ? T_514 extends SplitAC ? "value" : "default" : never : never] ? T_517 extends CanBeExpanded ? any : T_517 extends (infer U)[] ? any[] : T_517 extends object ? { [K_294 in keyof T_517]-?: T_517[K_294] extends infer T_518 ? T_518 extends T_517[K_294] ? T_518 extends CanBeExpanded ? T_518["default"] : T_518 : never : never; } : T_517 : never : never : T_516 extends (infer U)[] ? any[] : T_516 extends object ? { [K_295 in keyof T_516]-?: T_516[K_295] extends infer T_519 ? T_519 extends T_516[K_295] ? T_519 extends CanBeExpanded ? T_519["default"] : T_519 : never : never; } : T_516 : never : never : T_515 extends (infer U)[] ? any[] : T_515 extends object ? { [K_296 in keyof T_515]-?: T_515[K_296] extends infer T_520 ? T_520 extends T_515[K_296] ? T_520 extends CanBeExpanded ? T_520["default"] : T_520 : never : never; } : T_515 : never : never : T_513 extends (infer U)[] ? any[] : T_513 extends object ? { [K_297 in keyof T_513]-?: T_513[K_297] extends infer T_521 ? T_521 extends T_513[K_297] ? T_521 extends CanBeExpanded ? T_521["default"] : T_521 : never : never; } : T_513 : never : never; } : T_493 : never : never; } : T_451 : never : never : T_450 extends (infer U)[] ? any[] : T_450 extends object ? { [K_298 in keyof T_450]-?: T_450[K_298] extends infer T_522 ? T_522 extends T_450[K_298] ? T_522 extends CanBeExpanded ? T_522[PrefixWith extends infer T_523 ? T_523 extends PrefixWith ? T_523 extends SplitAC ? "value" : "default" : never : never] extends infer T_524 ? T_524 extends T_522[PrefixWith extends infer T_523 ? T_523 extends PrefixWith ? T_523 extends SplitAC ? "value" : "default" : never : never] ? T_524 extends CanBeExpanded ? T_524[PrefixWith extends infer T_523 ? T_523 extends PrefixWith ? T_523 extends SplitAC ? "value" : "default" : never : never] extends infer T_525 ? T_525 extends T_524[PrefixWith extends infer T_523 ? T_523 extends PrefixWith ? T_523 extends SplitAC ? "value" : "default" : never : never] ? T_525 extends CanBeExpanded ? T_525[PrefixWith extends infer T_523 ? T_523 extends PrefixWith ? T_523 extends SplitAC ? "value" : "default" : never : never] extends infer T_526 ? T_526 extends T_525[PrefixWith extends infer T_523 ? T_523 extends PrefixWith ? T_523 extends SplitAC ? "value" : "default" : never : never] ? T_526 extends CanBeExpanded ? T_526[PrefixWith extends infer T_523 ? T_523 extends PrefixWith ? T_523 extends SplitAC ? "value" : "default" : never : never] extends infer T_527 ? T_527 extends T_526[PrefixWith extends infer T_523 ? T_523 extends PrefixWith ? T_523 extends SplitAC ? "value" : "default" : never : never] ? T_527 extends CanBeExpanded ? T_527[PrefixWith extends infer T_523 ? T_523 extends PrefixWith ? T_523 extends SplitAC ? "value" : "default" : never : never] extends infer T_528 ? T_528 extends T_527[PrefixWith extends infer T_523 ? T_523 extends PrefixWith ? T_523 extends SplitAC ? "value" : "default" : never : never] ? T_528 extends CanBeExpanded ? any : T_528 extends (infer U)[] ? any[] : T_528 extends object ? { [K_299 in keyof T_528]-?: any; } : T_528 : never : never : T_527 extends (infer U)[] ? any[] : T_527 extends object ? { [K_300 in keyof T_527]-?: T_527[K_300] extends infer T_529 ? T_529 extends T_527[K_300] ? T_529 extends CanBeExpanded ? any : T_529 extends (infer U)[] ? any[] : T_529 extends object ? { [K_301 in keyof T_529]-?: T_529[K_301] extends infer T_530 ? T_530 extends T_529[K_301] ? T_530 extends CanBeExpanded ? T_530["default"] : T_530 : never : never; } : T_529 : never : never; } : T_527 : never : never : T_526 extends (infer U)[] ? any[] : T_526 extends object ? { [K_302 in keyof T_526]-?: T_526[K_302] extends infer T_531 ? T_531 extends T_526[K_302] ? T_531 extends CanBeExpanded ? T_531[PrefixWith, K_302, "."> extends infer T_532 ? T_532 extends PrefixWith, K_302, "."> ? T_532 extends SplitAC ? "value" : "default" : never : never] extends infer T_533 ? T_533 extends T_531[PrefixWith, K_302, "."> extends infer T_532 ? T_532 extends PrefixWith, K_302, "."> ? T_532 extends SplitAC ? "value" : "default" : never : never] ? T_533 extends CanBeExpanded ? any : T_533 extends (infer U)[] ? any[] : T_533 extends object ? { [K_303 in keyof T_533]-?: T_533[K_303] extends infer T_534 ? T_534 extends T_533[K_303] ? T_534 extends CanBeExpanded ? T_534["default"] : T_534 : never : never; } : T_533 : never : never : T_531 extends (infer U)[] ? any[] : T_531 extends object ? { [K_304 in keyof T_531]-?: T_531[K_304] extends infer T_535 ? T_535 extends T_531[K_304] ? T_535 extends CanBeExpanded ? T_535["default"] : T_535 : never : never; } : T_531 : never : never; } : T_526 : never : never : T_525 extends (infer U)[] ? any[] : T_525 extends object ? { [K_305 in keyof T_525]-?: T_525[K_305] extends infer T_536 ? T_536 extends T_525[K_305] ? T_536 extends CanBeExpanded ? T_536[PrefixWith, K_305, "."> extends infer T_537 ? T_537 extends PrefixWith, K_305, "."> ? T_537 extends SplitAC ? "value" : "default" : never : never] extends infer T_538 ? T_538 extends T_536[PrefixWith, K_305, "."> extends infer T_537 ? T_537 extends PrefixWith, K_305, "."> ? T_537 extends SplitAC ? "value" : "default" : never : never] ? T_538 extends CanBeExpanded ? T_538[PrefixWith, K_305, "."> extends infer T_537 ? T_537 extends PrefixWith, K_305, "."> ? T_537 extends SplitAC ? "value" : "default" : never : never] extends infer T_539 ? T_539 extends T_538[PrefixWith, K_305, "."> extends infer T_537 ? T_537 extends PrefixWith, K_305, "."> ? T_537 extends SplitAC ? "value" : "default" : never : never] ? T_539 extends CanBeExpanded ? any : T_539 extends (infer U)[] ? any[] : T_539 extends object ? { [K_306 in keyof T_539]-?: T_539[K_306] extends infer T_540 ? T_540 extends T_539[K_306] ? T_540 extends CanBeExpanded ? T_540["default"] : T_540 : never : never; } : T_539 : never : never : T_538 extends (infer U)[] ? any[] : T_538 extends object ? { [K_307 in keyof T_538]-?: T_538[K_307] extends infer T_541 ? T_541 extends T_538[K_307] ? T_541 extends CanBeExpanded ? T_541["default"] : T_541 : never : never; } : T_538 : never : never : T_536 extends (infer U)[] ? any[] : T_536 extends object ? { [K_308 in keyof T_536]-?: T_536[K_308] extends infer T_542 ? T_542 extends T_536[K_308] ? T_542 extends CanBeExpanded ? T_542["default"] : T_542 : never : never; } : T_536 : never : never; } : T_525 : never : never : T_524 extends (infer U)[] ? any[] : T_524 extends object ? { [K_309 in keyof T_524]-?: T_524[K_309] extends infer T_543 ? T_543 extends T_524[K_309] ? T_543 extends CanBeExpanded ? T_543[PrefixWith, K_309, "."> extends infer T_544 ? T_544 extends PrefixWith, K_309, "."> ? T_544 extends SplitAC ? "value" : "default" : never : never] extends infer T_545 ? T_545 extends T_543[PrefixWith, K_309, "."> extends infer T_544 ? T_544 extends PrefixWith, K_309, "."> ? T_544 extends SplitAC ? "value" : "default" : never : never] ? T_545 extends CanBeExpanded ? T_545[PrefixWith, K_309, "."> extends infer T_544 ? T_544 extends PrefixWith, K_309, "."> ? T_544 extends SplitAC ? "value" : "default" : never : never] extends infer T_546 ? T_546 extends T_545[PrefixWith, K_309, "."> extends infer T_544 ? T_544 extends PrefixWith, K_309, "."> ? T_544 extends SplitAC ? "value" : "default" : never : never] ? T_546 extends CanBeExpanded ? T_546[PrefixWith, K_309, "."> extends infer T_544 ? T_544 extends PrefixWith, K_309, "."> ? T_544 extends SplitAC ? "value" : "default" : never : never] extends infer T_547 ? T_547 extends T_546[PrefixWith, K_309, "."> extends infer T_544 ? T_544 extends PrefixWith, K_309, "."> ? T_544 extends SplitAC ? "value" : "default" : never : never] ? T_547 extends CanBeExpanded ? any : T_547 extends (infer U)[] ? any[] : T_547 extends object ? { [K_310 in keyof T_547]-?: T_547[K_310] extends infer T_548 ? T_548 extends T_547[K_310] ? T_548 extends CanBeExpanded ? T_548["default"] : T_548 : never : never; } : T_547 : never : never : T_546 extends (infer U)[] ? any[] : T_546 extends object ? { [K_311 in keyof T_546]-?: T_546[K_311] extends infer T_549 ? T_549 extends T_546[K_311] ? T_549 extends CanBeExpanded ? T_549["default"] : T_549 : never : never; } : T_546 : never : never : T_545 extends (infer U)[] ? any[] : T_545 extends object ? { [K_312 in keyof T_545]-?: T_545[K_312] extends infer T_550 ? T_550 extends T_545[K_312] ? T_550 extends CanBeExpanded ? T_550["default"] : T_550 : never : never; } : T_545 : never : never : T_543 extends (infer U)[] ? any[] : T_543 extends object ? { [K_313 in keyof T_543]-?: T_543[K_313] extends infer T_551 ? T_551 extends T_543[K_313] ? T_551 extends CanBeExpanded ? T_551["default"] : T_551 : never : never; } : T_543 : never : never; } : T_524 : never : never : T_522 extends (infer U)[] ? any[] : T_522 extends object ? { [K_314 in keyof T_522]-?: T_522[K_314] extends infer T_552 ? T_552 extends T_522[K_314] ? T_552 extends CanBeExpanded ? T_552[PrefixWith, K_314, "."> extends infer T_553 ? T_553 extends PrefixWith, K_314, "."> ? T_553 extends SplitAC ? "value" : "default" : never : never] extends infer T_554 ? T_554 extends T_552[PrefixWith, K_314, "."> extends infer T_553 ? T_553 extends PrefixWith, K_314, "."> ? T_553 extends SplitAC ? "value" : "default" : never : never] ? T_554 extends CanBeExpanded ? T_554[PrefixWith, K_314, "."> extends infer T_553 ? T_553 extends PrefixWith, K_314, "."> ? T_553 extends SplitAC ? "value" : "default" : never : never] extends infer T_555 ? T_555 extends T_554[PrefixWith, K_314, "."> extends infer T_553 ? T_553 extends PrefixWith, K_314, "."> ? T_553 extends SplitAC ? "value" : "default" : never : never] ? T_555 extends CanBeExpanded ? T_555[PrefixWith, K_314, "."> extends infer T_553 ? T_553 extends PrefixWith, K_314, "."> ? T_553 extends SplitAC ? "value" : "default" : never : never] extends infer T_556 ? T_556 extends T_555[PrefixWith, K_314, "."> extends infer T_553 ? T_553 extends PrefixWith, K_314, "."> ? T_553 extends SplitAC ? "value" : "default" : never : never] ? T_556 extends CanBeExpanded ? T_556[PrefixWith, K_314, "."> extends infer T_553 ? T_553 extends PrefixWith, K_314, "."> ? T_553 extends SplitAC ? "value" : "default" : never : never] extends infer T_557 ? T_557 extends T_556[PrefixWith, K_314, "."> extends infer T_553 ? T_553 extends PrefixWith, K_314, "."> ? T_553 extends SplitAC ? "value" : "default" : never : never] ? T_557 extends CanBeExpanded ? any : T_557 extends (infer U)[] ? any[] : T_557 extends object ? { [K_315 in keyof T_557]-?: T_557[K_315] extends infer T_558 ? T_558 extends T_557[K_315] ? T_558 extends CanBeExpanded ? T_558["default"] : T_558 : never : never; } : T_557 : never : never : T_556 extends (infer U)[] ? any[] : T_556 extends object ? { [K_316 in keyof T_556]-?: T_556[K_316] extends infer T_559 ? T_559 extends T_556[K_316] ? T_559 extends CanBeExpanded ? T_559["default"] : T_559 : never : never; } : T_556 : never : never : T_555 extends (infer U)[] ? any[] : T_555 extends object ? { [K_317 in keyof T_555]-?: T_555[K_317] extends infer T_560 ? T_560 extends T_555[K_317] ? T_560 extends CanBeExpanded ? T_560["default"] : T_560 : never : never; } : T_555 : never : never : T_554 extends (infer U)[] ? any[] : T_554 extends object ? { [K_318 in keyof T_554]-?: T_554[K_318] extends infer T_561 ? T_561 extends T_554[K_318] ? T_561 extends CanBeExpanded ? T_561["default"] : T_561 : never : never; } : T_554 : never : never : T_552 extends (infer U)[] ? any[] : T_552 extends object ? { [K_319 in keyof T_552]-?: T_552[K_319] extends infer T_562 ? T_562 extends T_552[K_319] ? T_562 extends CanBeExpanded ? T_562["default"] : T_562 : never : never; } : T_552 : never : never; } : T_522 : never : never; } : T_450 : never : never : T_449 extends (infer U)[] ? any[] : T_449 extends object ? { [K_320 in keyof T_449]-?: T_449[K_320] extends infer T_563 ? T_563 extends T_449[K_320] ? T_563 extends CanBeExpanded ? T_563[PrefixWith extends infer T_564 ? T_564 extends PrefixWith ? T_564 extends SplitAC ? "value" : "default" : never : never] extends infer T_565 ? T_565 extends T_563[PrefixWith extends infer T_564 ? T_564 extends PrefixWith ? T_564 extends SplitAC ? "value" : "default" : never : never] ? T_565 extends CanBeExpanded ? T_565[PrefixWith extends infer T_564 ? T_564 extends PrefixWith ? T_564 extends SplitAC ? "value" : "default" : never : never] extends infer T_566 ? T_566 extends T_565[PrefixWith extends infer T_564 ? T_564 extends PrefixWith ? T_564 extends SplitAC ? "value" : "default" : never : never] ? T_566 extends CanBeExpanded ? T_566[PrefixWith extends infer T_564 ? T_564 extends PrefixWith ? T_564 extends SplitAC ? "value" : "default" : never : never] extends infer T_567 ? T_567 extends T_566[PrefixWith extends infer T_564 ? T_564 extends PrefixWith ? T_564 extends SplitAC ? "value" : "default" : never : never] ? T_567 extends CanBeExpanded ? T_567[PrefixWith extends infer T_564 ? T_564 extends PrefixWith ? T_564 extends SplitAC ? "value" : "default" : never : never] extends infer T_568 ? T_568 extends T_567[PrefixWith extends infer T_564 ? T_564 extends PrefixWith ? T_564 extends SplitAC ? "value" : "default" : never : never] ? T_568 extends CanBeExpanded ? T_568[PrefixWith extends infer T_564 ? T_564 extends PrefixWith ? T_564 extends SplitAC ? "value" : "default" : never : never] extends infer T_569 ? T_569 extends T_568[PrefixWith extends infer T_564 ? T_564 extends PrefixWith ? T_564 extends SplitAC ? "value" : "default" : never : never] ? T_569 extends CanBeExpanded ? T_569[PrefixWith extends infer T_564 ? T_564 extends PrefixWith ? T_564 extends SplitAC ? "value" : "default" : never : never] extends infer T_570 ? T_570 extends T_569[PrefixWith extends infer T_564 ? T_564 extends PrefixWith ? T_564 extends SplitAC ? "value" : "default" : never : never] ? T_570 extends CanBeExpanded ? any : T_570 extends (infer U)[] ? any[] : T_570 extends object ? { [K_321 in keyof T_570]-?: any; } : T_570 : never : never : T_569 extends (infer U)[] ? any[] : T_569 extends object ? { [K_322 in keyof T_569]-?: T_569[K_322] extends infer T_571 ? T_571 extends T_569[K_322] ? T_571 extends CanBeExpanded ? any : T_571 extends (infer U)[] ? any[] : T_571 extends object ? { [K_323 in keyof T_571]-?: T_571[K_323] extends infer T_572 ? T_572 extends T_571[K_323] ? T_572 extends CanBeExpanded ? T_572["default"] : T_572 : never : never; } : T_571 : never : never; } : T_569 : never : never : T_568 extends (infer U)[] ? any[] : T_568 extends object ? { [K_324 in keyof T_568]-?: T_568[K_324] extends infer T_573 ? T_573 extends T_568[K_324] ? T_573 extends CanBeExpanded ? T_573[PrefixWith, K_324, "."> extends infer T_574 ? T_574 extends PrefixWith, K_324, "."> ? T_574 extends SplitAC ? "value" : "default" : never : never] extends infer T_575 ? T_575 extends T_573[PrefixWith, K_324, "."> extends infer T_574 ? T_574 extends PrefixWith, K_324, "."> ? T_574 extends SplitAC ? "value" : "default" : never : never] ? T_575 extends CanBeExpanded ? any : T_575 extends (infer U)[] ? any[] : T_575 extends object ? { [K_325 in keyof T_575]-?: T_575[K_325] extends infer T_576 ? T_576 extends T_575[K_325] ? T_576 extends CanBeExpanded ? T_576["default"] : T_576 : never : never; } : T_575 : never : never : T_573 extends (infer U)[] ? any[] : T_573 extends object ? { [K_326 in keyof T_573]-?: T_573[K_326] extends infer T_577 ? T_577 extends T_573[K_326] ? T_577 extends CanBeExpanded ? T_577["default"] : T_577 : never : never; } : T_573 : never : never; } : T_568 : never : never : T_567 extends (infer U)[] ? any[] : T_567 extends object ? { [K_327 in keyof T_567]-?: T_567[K_327] extends infer T_578 ? T_578 extends T_567[K_327] ? T_578 extends CanBeExpanded ? T_578[PrefixWith, K_327, "."> extends infer T_579 ? T_579 extends PrefixWith, K_327, "."> ? T_579 extends SplitAC ? "value" : "default" : never : never] extends infer T_580 ? T_580 extends T_578[PrefixWith, K_327, "."> extends infer T_579 ? T_579 extends PrefixWith, K_327, "."> ? T_579 extends SplitAC ? "value" : "default" : never : never] ? T_580 extends CanBeExpanded ? T_580[PrefixWith, K_327, "."> extends infer T_579 ? T_579 extends PrefixWith, K_327, "."> ? T_579 extends SplitAC ? "value" : "default" : never : never] extends infer T_581 ? T_581 extends T_580[PrefixWith, K_327, "."> extends infer T_579 ? T_579 extends PrefixWith, K_327, "."> ? T_579 extends SplitAC ? "value" : "default" : never : never] ? T_581 extends CanBeExpanded ? any : T_581 extends (infer U)[] ? any[] : T_581 extends object ? { [K_328 in keyof T_581]-?: T_581[K_328] extends infer T_582 ? T_582 extends T_581[K_328] ? T_582 extends CanBeExpanded ? T_582["default"] : T_582 : never : never; } : T_581 : never : never : T_580 extends (infer U)[] ? any[] : T_580 extends object ? { [K_329 in keyof T_580]-?: T_580[K_329] extends infer T_583 ? T_583 extends T_580[K_329] ? T_583 extends CanBeExpanded ? T_583["default"] : T_583 : never : never; } : T_580 : never : never : T_578 extends (infer U)[] ? any[] : T_578 extends object ? { [K_330 in keyof T_578]-?: T_578[K_330] extends infer T_584 ? T_584 extends T_578[K_330] ? T_584 extends CanBeExpanded ? T_584["default"] : T_584 : never : never; } : T_578 : never : never; } : T_567 : never : never : T_566 extends (infer U)[] ? any[] : T_566 extends object ? { [K_331 in keyof T_566]-?: T_566[K_331] extends infer T_585 ? T_585 extends T_566[K_331] ? T_585 extends CanBeExpanded ? T_585[PrefixWith, K_331, "."> extends infer T_586 ? T_586 extends PrefixWith, K_331, "."> ? T_586 extends SplitAC ? "value" : "default" : never : never] extends infer T_587 ? T_587 extends T_585[PrefixWith, K_331, "."> extends infer T_586 ? T_586 extends PrefixWith, K_331, "."> ? T_586 extends SplitAC ? "value" : "default" : never : never] ? T_587 extends CanBeExpanded ? T_587[PrefixWith, K_331, "."> extends infer T_586 ? T_586 extends PrefixWith, K_331, "."> ? T_586 extends SplitAC ? "value" : "default" : never : never] extends infer T_588 ? T_588 extends T_587[PrefixWith, K_331, "."> extends infer T_586 ? T_586 extends PrefixWith, K_331, "."> ? T_586 extends SplitAC ? "value" : "default" : never : never] ? T_588 extends CanBeExpanded ? T_588[PrefixWith, K_331, "."> extends infer T_586 ? T_586 extends PrefixWith, K_331, "."> ? T_586 extends SplitAC ? "value" : "default" : never : never] extends infer T_589 ? T_589 extends T_588[PrefixWith, K_331, "."> extends infer T_586 ? T_586 extends PrefixWith, K_331, "."> ? T_586 extends SplitAC ? "value" : "default" : never : never] ? T_589 extends CanBeExpanded ? any : T_589 extends (infer U)[] ? any[] : T_589 extends object ? { [K_332 in keyof T_589]-?: T_589[K_332] extends infer T_590 ? T_590 extends T_589[K_332] ? T_590 extends CanBeExpanded ? T_590["default"] : T_590 : never : never; } : T_589 : never : never : T_588 extends (infer U)[] ? any[] : T_588 extends object ? { [K_333 in keyof T_588]-?: T_588[K_333] extends infer T_591 ? T_591 extends T_588[K_333] ? T_591 extends CanBeExpanded ? T_591["default"] : T_591 : never : never; } : T_588 : never : never : T_587 extends (infer U)[] ? any[] : T_587 extends object ? { [K_334 in keyof T_587]-?: T_587[K_334] extends infer T_592 ? T_592 extends T_587[K_334] ? T_592 extends CanBeExpanded ? T_592["default"] : T_592 : never : never; } : T_587 : never : never : T_585 extends (infer U)[] ? any[] : T_585 extends object ? { [K_335 in keyof T_585]-?: T_585[K_335] extends infer T_593 ? T_593 extends T_585[K_335] ? T_593 extends CanBeExpanded ? T_593["default"] : T_593 : never : never; } : T_585 : never : never; } : T_566 : never : never : T_565 extends (infer U)[] ? any[] : T_565 extends object ? { [K_336 in keyof T_565]-?: T_565[K_336] extends infer T_594 ? T_594 extends T_565[K_336] ? T_594 extends CanBeExpanded ? T_594[PrefixWith, K_336, "."> extends infer T_595 ? T_595 extends PrefixWith, K_336, "."> ? T_595 extends SplitAC ? "value" : "default" : never : never] extends infer T_596 ? T_596 extends T_594[PrefixWith, K_336, "."> extends infer T_595 ? T_595 extends PrefixWith, K_336, "."> ? T_595 extends SplitAC ? "value" : "default" : never : never] ? T_596 extends CanBeExpanded ? T_596[PrefixWith, K_336, "."> extends infer T_595 ? T_595 extends PrefixWith, K_336, "."> ? T_595 extends SplitAC ? "value" : "default" : never : never] extends infer T_597 ? T_597 extends T_596[PrefixWith, K_336, "."> extends infer T_595 ? T_595 extends PrefixWith, K_336, "."> ? T_595 extends SplitAC ? "value" : "default" : never : never] ? T_597 extends CanBeExpanded ? T_597[PrefixWith, K_336, "."> extends infer T_595 ? T_595 extends PrefixWith, K_336, "."> ? T_595 extends SplitAC ? "value" : "default" : never : never] extends infer T_598 ? T_598 extends T_597[PrefixWith, K_336, "."> extends infer T_595 ? T_595 extends PrefixWith, K_336, "."> ? T_595 extends SplitAC ? "value" : "default" : never : never] ? T_598 extends CanBeExpanded ? T_598[PrefixWith, K_336, "."> extends infer T_595 ? T_595 extends PrefixWith, K_336, "."> ? T_595 extends SplitAC ? "value" : "default" : never : never] extends infer T_599 ? T_599 extends T_598[PrefixWith, K_336, "."> extends infer T_595 ? T_595 extends PrefixWith, K_336, "."> ? T_595 extends SplitAC ? "value" : "default" : never : never] ? T_599 extends CanBeExpanded ? any : T_599 extends (infer U)[] ? any[] : T_599 extends object ? { [K_337 in keyof T_599]-?: T_599[K_337] extends infer T_600 ? T_600 extends T_599[K_337] ? T_600 extends CanBeExpanded ? T_600["default"] : T_600 : never : never; } : T_599 : never : never : T_598 extends (infer U)[] ? any[] : T_598 extends object ? { [K_338 in keyof T_598]-?: T_598[K_338] extends infer T_601 ? T_601 extends T_598[K_338] ? T_601 extends CanBeExpanded ? T_601["default"] : T_601 : never : never; } : T_598 : never : never : T_597 extends (infer U)[] ? any[] : T_597 extends object ? { [K_339 in keyof T_597]-?: T_597[K_339] extends infer T_602 ? T_602 extends T_597[K_339] ? T_602 extends CanBeExpanded ? T_602["default"] : T_602 : never : never; } : T_597 : never : never : T_596 extends (infer U)[] ? any[] : T_596 extends object ? { [K_340 in keyof T_596]-?: T_596[K_340] extends infer T_603 ? T_603 extends T_596[K_340] ? T_603 extends CanBeExpanded ? T_603["default"] : T_603 : never : never; } : T_596 : never : never : T_594 extends (infer U)[] ? any[] : T_594 extends object ? { [K_341 in keyof T_594]-?: T_594[K_341] extends infer T_604 ? T_604 extends T_594[K_341] ? T_604 extends CanBeExpanded ? T_604["default"] : T_604 : never : never; } : T_594 : never : never; } : T_565 : never : never : T_563 extends (infer U)[] ? any[] : T_563 extends object ? { [K_342 in keyof T_563]-?: T_563[K_342] extends infer T_605 ? T_605 extends T_563[K_342] ? T_605 extends CanBeExpanded ? T_605[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] extends infer T_607 ? T_607 extends T_605[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] ? T_607 extends CanBeExpanded ? T_607[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] extends infer T_608 ? T_608 extends T_607[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] ? T_608 extends CanBeExpanded ? T_608[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] extends infer T_609 ? T_609 extends T_608[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] ? T_609 extends CanBeExpanded ? T_609[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] extends infer T_610 ? T_610 extends T_609[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] ? T_610 extends CanBeExpanded ? T_610[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] extends infer T_611 ? T_611 extends T_610[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] ? T_611 extends CanBeExpanded ? any : T_611 extends (infer U)[] ? any[] : T_611 extends object ? { [K_343 in keyof T_611]-?: T_611[K_343] extends infer T_612 ? T_612 extends T_611[K_343] ? T_612 extends CanBeExpanded ? T_612["default"] : T_612 : never : never; } : T_611 : never : never : T_610 extends (infer U)[] ? any[] : T_610 extends object ? { [K_344 in keyof T_610]-?: T_610[K_344] extends infer T_613 ? T_613 extends T_610[K_344] ? T_613 extends CanBeExpanded ? T_613["default"] : T_613 : never : never; } : T_610 : never : never : T_609 extends (infer U)[] ? any[] : T_609 extends object ? { [K_345 in keyof T_609]-?: T_609[K_345] extends infer T_614 ? T_614 extends T_609[K_345] ? T_614 extends CanBeExpanded ? T_614["default"] : T_614 : never : never; } : T_609 : never : never : T_608 extends (infer U)[] ? any[] : T_608 extends object ? { [K_346 in keyof T_608]-?: T_608[K_346] extends infer T_615 ? T_615 extends T_608[K_346] ? T_615 extends CanBeExpanded ? T_615["default"] : T_615 : never : never; } : T_608 : never : never : T_607 extends (infer U)[] ? any[] : T_607 extends object ? { [K_347 in keyof T_607]-?: T_607[K_347] extends infer T_616 ? T_616 extends T_607[K_347] ? T_616 extends CanBeExpanded ? T_616["default"] : T_616 : never : never; } : T_607 : never : never : T_605 extends (infer U)[] ? any[] : T_605 extends object ? { [K_348 in keyof T_605]-?: T_605[K_348] extends infer T_617 ? T_617 extends T_605[K_348] ? T_617 extends CanBeExpanded ? T_617["default"] : T_617 : never : never; } : T_605 : never : never; } : T_563 : never : never; } : T_449 : never : never : T_447 extends (infer U)[] ? any[] : T_447 extends object ? { [K_349 in keyof T_447]-?: T_447[K_349] extends infer T_618 ? T_618 extends T_447[K_349] ? T_618 extends CanBeExpanded ? T_618[PrefixWith extends infer T_619 ? T_619 extends PrefixWith ? T_619 extends SplitAC ? "value" : "default" : never : never] extends infer T_620 ? T_620 extends T_618[PrefixWith extends infer T_619 ? T_619 extends PrefixWith ? T_619 extends SplitAC ? "value" : "default" : never : never] ? T_620 extends CanBeExpanded ? T_620[PrefixWith extends infer T_619 ? T_619 extends PrefixWith ? T_619 extends SplitAC ? "value" : "default" : never : never] extends infer T_621 ? T_621 extends T_620[PrefixWith extends infer T_619 ? T_619 extends PrefixWith ? T_619 extends SplitAC ? "value" : "default" : never : never] ? T_621 extends CanBeExpanded ? T_621[PrefixWith extends infer T_619 ? T_619 extends PrefixWith ? T_619 extends SplitAC ? "value" : "default" : never : never] extends infer T_622 ? T_622 extends T_621[PrefixWith extends infer T_619 ? T_619 extends PrefixWith ? T_619 extends SplitAC ? "value" : "default" : never : never] ? T_622 extends CanBeExpanded ? T_622[PrefixWith extends infer T_619 ? T_619 extends PrefixWith ? T_619 extends SplitAC ? "value" : "default" : never : never] extends infer T_623 ? T_623 extends T_622[PrefixWith extends infer T_619 ? T_619 extends PrefixWith ? T_619 extends SplitAC ? "value" : "default" : never : never] ? T_623 extends CanBeExpanded ? T_623[PrefixWith extends infer T_619 ? T_619 extends PrefixWith ? T_619 extends SplitAC ? "value" : "default" : never : never] extends infer T_624 ? T_624 extends T_623[PrefixWith extends infer T_619 ? T_619 extends PrefixWith ? T_619 extends SplitAC ? "value" : "default" : never : never] ? T_624 extends CanBeExpanded ? T_624[PrefixWith extends infer T_619 ? T_619 extends PrefixWith ? T_619 extends SplitAC ? "value" : "default" : never : never] extends infer T_625 ? T_625 extends T_624[PrefixWith extends infer T_619 ? T_619 extends PrefixWith ? T_619 extends SplitAC ? "value" : "default" : never : never] ? T_625 extends CanBeExpanded ? T_625[PrefixWith extends infer T_619 ? T_619 extends PrefixWith ? T_619 extends SplitAC ? "value" : "default" : never : never] extends infer T_626 ? T_626 extends T_625[PrefixWith extends infer T_619 ? T_619 extends PrefixWith ? T_619 extends SplitAC ? "value" : "default" : never : never] ? T_626 extends CanBeExpanded ? any : T_626 extends (infer U)[] ? any[] : T_626 extends object ? { [K_350 in keyof T_626]-?: any; } : T_626 : never : never : T_625 extends (infer U)[] ? any[] : T_625 extends object ? { [K_351 in keyof T_625]-?: T_625[K_351] extends infer T_627 ? T_627 extends T_625[K_351] ? T_627 extends CanBeExpanded ? any : T_627 extends (infer U)[] ? any[] : T_627 extends object ? { [K_352 in keyof T_627]-?: T_627[K_352] extends infer T_628 ? T_628 extends T_627[K_352] ? T_628 extends CanBeExpanded ? T_628["default"] : T_628 : never : never; } : T_627 : never : never; } : T_625 : never : never : T_624 extends (infer U)[] ? any[] : T_624 extends object ? { [K_353 in keyof T_624]-?: T_624[K_353] extends infer T_629 ? T_629 extends T_624[K_353] ? T_629 extends CanBeExpanded ? T_629[PrefixWith, K_353, "."> extends infer T_630 ? T_630 extends PrefixWith, K_353, "."> ? T_630 extends SplitAC ? "value" : "default" : never : never] extends infer T_631 ? T_631 extends T_629[PrefixWith, K_353, "."> extends infer T_630 ? T_630 extends PrefixWith, K_353, "."> ? T_630 extends SplitAC ? "value" : "default" : never : never] ? T_631 extends CanBeExpanded ? any : T_631 extends (infer U)[] ? any[] : T_631 extends object ? { [K_354 in keyof T_631]-?: T_631[K_354] extends infer T_632 ? T_632 extends T_631[K_354] ? T_632 extends CanBeExpanded ? T_632["default"] : T_632 : never : never; } : T_631 : never : never : T_629 extends (infer U)[] ? any[] : T_629 extends object ? { [K_355 in keyof T_629]-?: T_629[K_355] extends infer T_633 ? T_633 extends T_629[K_355] ? T_633 extends CanBeExpanded ? T_633["default"] : T_633 : never : never; } : T_629 : never : never; } : T_624 : never : never : T_623 extends (infer U)[] ? any[] : T_623 extends object ? { [K_356 in keyof T_623]-?: T_623[K_356] extends infer T_634 ? T_634 extends T_623[K_356] ? T_634 extends CanBeExpanded ? T_634[PrefixWith, K_356, "."> extends infer T_635 ? T_635 extends PrefixWith, K_356, "."> ? T_635 extends SplitAC ? "value" : "default" : never : never] extends infer T_636 ? T_636 extends T_634[PrefixWith, K_356, "."> extends infer T_635 ? T_635 extends PrefixWith, K_356, "."> ? T_635 extends SplitAC ? "value" : "default" : never : never] ? T_636 extends CanBeExpanded ? T_636[PrefixWith, K_356, "."> extends infer T_635 ? T_635 extends PrefixWith, K_356, "."> ? T_635 extends SplitAC ? "value" : "default" : never : never] extends infer T_637 ? T_637 extends T_636[PrefixWith, K_356, "."> extends infer T_635 ? T_635 extends PrefixWith, K_356, "."> ? T_635 extends SplitAC ? "value" : "default" : never : never] ? T_637 extends CanBeExpanded ? any : T_637 extends (infer U)[] ? any[] : T_637 extends object ? { [K_357 in keyof T_637]-?: T_637[K_357] extends infer T_638 ? T_638 extends T_637[K_357] ? T_638 extends CanBeExpanded ? T_638["default"] : T_638 : never : never; } : T_637 : never : never : T_636 extends (infer U)[] ? any[] : T_636 extends object ? { [K_358 in keyof T_636]-?: T_636[K_358] extends infer T_639 ? T_639 extends T_636[K_358] ? T_639 extends CanBeExpanded ? T_639["default"] : T_639 : never : never; } : T_636 : never : never : T_634 extends (infer U)[] ? any[] : T_634 extends object ? { [K_359 in keyof T_634]-?: T_634[K_359] extends infer T_640 ? T_640 extends T_634[K_359] ? T_640 extends CanBeExpanded ? T_640["default"] : T_640 : never : never; } : T_634 : never : never; } : T_623 : never : never : T_622 extends (infer U)[] ? any[] : T_622 extends object ? { [K_360 in keyof T_622]-?: T_622[K_360] extends infer T_641 ? T_641 extends T_622[K_360] ? T_641 extends CanBeExpanded ? T_641[PrefixWith, K_360, "."> extends infer T_642 ? T_642 extends PrefixWith, K_360, "."> ? T_642 extends SplitAC ? "value" : "default" : never : never] extends infer T_643 ? T_643 extends T_641[PrefixWith, K_360, "."> extends infer T_642 ? T_642 extends PrefixWith, K_360, "."> ? T_642 extends SplitAC ? "value" : "default" : never : never] ? T_643 extends CanBeExpanded ? T_643[PrefixWith, K_360, "."> extends infer T_642 ? T_642 extends PrefixWith, K_360, "."> ? T_642 extends SplitAC ? "value" : "default" : never : never] extends infer T_644 ? T_644 extends T_643[PrefixWith, K_360, "."> extends infer T_642 ? T_642 extends PrefixWith, K_360, "."> ? T_642 extends SplitAC ? "value" : "default" : never : never] ? T_644 extends CanBeExpanded ? T_644[PrefixWith, K_360, "."> extends infer T_642 ? T_642 extends PrefixWith, K_360, "."> ? T_642 extends SplitAC ? "value" : "default" : never : never] extends infer T_645 ? T_645 extends T_644[PrefixWith, K_360, "."> extends infer T_642 ? T_642 extends PrefixWith, K_360, "."> ? T_642 extends SplitAC ? "value" : "default" : never : never] ? T_645 extends CanBeExpanded ? any : T_645 extends (infer U)[] ? any[] : T_645 extends object ? { [K_361 in keyof T_645]-?: T_645[K_361] extends infer T_646 ? T_646 extends T_645[K_361] ? T_646 extends CanBeExpanded ? T_646["default"] : T_646 : never : never; } : T_645 : never : never : T_644 extends (infer U)[] ? any[] : T_644 extends object ? { [K_362 in keyof T_644]-?: T_644[K_362] extends infer T_647 ? T_647 extends T_644[K_362] ? T_647 extends CanBeExpanded ? T_647["default"] : T_647 : never : never; } : T_644 : never : never : T_643 extends (infer U)[] ? any[] : T_643 extends object ? { [K_363 in keyof T_643]-?: T_643[K_363] extends infer T_648 ? T_648 extends T_643[K_363] ? T_648 extends CanBeExpanded ? T_648["default"] : T_648 : never : never; } : T_643 : never : never : T_641 extends (infer U)[] ? any[] : T_641 extends object ? { [K_364 in keyof T_641]-?: T_641[K_364] extends infer T_649 ? T_649 extends T_641[K_364] ? T_649 extends CanBeExpanded ? T_649["default"] : T_649 : never : never; } : T_641 : never : never; } : T_622 : never : never : T_621 extends (infer U)[] ? any[] : T_621 extends object ? { [K_365 in keyof T_621]-?: T_621[K_365] extends infer T_650 ? T_650 extends T_621[K_365] ? T_650 extends CanBeExpanded ? T_650[PrefixWith, K_365, "."> extends infer T_651 ? T_651 extends PrefixWith, K_365, "."> ? T_651 extends SplitAC ? "value" : "default" : never : never] extends infer T_652 ? T_652 extends T_650[PrefixWith, K_365, "."> extends infer T_651 ? T_651 extends PrefixWith, K_365, "."> ? T_651 extends SplitAC ? "value" : "default" : never : never] ? T_652 extends CanBeExpanded ? T_652[PrefixWith, K_365, "."> extends infer T_651 ? T_651 extends PrefixWith, K_365, "."> ? T_651 extends SplitAC ? "value" : "default" : never : never] extends infer T_653 ? T_653 extends T_652[PrefixWith, K_365, "."> extends infer T_651 ? T_651 extends PrefixWith, K_365, "."> ? T_651 extends SplitAC ? "value" : "default" : never : never] ? T_653 extends CanBeExpanded ? T_653[PrefixWith, K_365, "."> extends infer T_651 ? T_651 extends PrefixWith, K_365, "."> ? T_651 extends SplitAC ? "value" : "default" : never : never] extends infer T_654 ? T_654 extends T_653[PrefixWith, K_365, "."> extends infer T_651 ? T_651 extends PrefixWith, K_365, "."> ? T_651 extends SplitAC ? "value" : "default" : never : never] ? T_654 extends CanBeExpanded ? T_654[PrefixWith, K_365, "."> extends infer T_651 ? T_651 extends PrefixWith, K_365, "."> ? T_651 extends SplitAC ? "value" : "default" : never : never] extends infer T_655 ? T_655 extends T_654[PrefixWith, K_365, "."> extends infer T_651 ? T_651 extends PrefixWith, K_365, "."> ? T_651 extends SplitAC ? "value" : "default" : never : never] ? T_655 extends CanBeExpanded ? any : T_655 extends (infer U)[] ? any[] : T_655 extends object ? { [K_366 in keyof T_655]-?: T_655[K_366] extends infer T_656 ? T_656 extends T_655[K_366] ? T_656 extends CanBeExpanded ? T_656["default"] : T_656 : never : never; } : T_655 : never : never : T_654 extends (infer U)[] ? any[] : T_654 extends object ? { [K_367 in keyof T_654]-?: T_654[K_367] extends infer T_657 ? T_657 extends T_654[K_367] ? T_657 extends CanBeExpanded ? T_657["default"] : T_657 : never : never; } : T_654 : never : never : T_653 extends (infer U)[] ? any[] : T_653 extends object ? { [K_368 in keyof T_653]-?: T_653[K_368] extends infer T_658 ? T_658 extends T_653[K_368] ? T_658 extends CanBeExpanded ? T_658["default"] : T_658 : never : never; } : T_653 : never : never : T_652 extends (infer U)[] ? any[] : T_652 extends object ? { [K_369 in keyof T_652]-?: T_652[K_369] extends infer T_659 ? T_659 extends T_652[K_369] ? T_659 extends CanBeExpanded ? T_659["default"] : T_659 : never : never; } : T_652 : never : never : T_650 extends (infer U)[] ? any[] : T_650 extends object ? { [K_370 in keyof T_650]-?: T_650[K_370] extends infer T_660 ? T_660 extends T_650[K_370] ? T_660 extends CanBeExpanded ? T_660["default"] : T_660 : never : never; } : T_650 : never : never; } : T_621 : never : never : T_620 extends (infer U)[] ? any[] : T_620 extends object ? { [K_371 in keyof T_620]-?: T_620[K_371] extends infer T_661 ? T_661 extends T_620[K_371] ? T_661 extends CanBeExpanded ? T_661[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] extends infer T_663 ? T_663 extends T_661[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] ? T_663 extends CanBeExpanded ? T_663[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] extends infer T_664 ? T_664 extends T_663[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] ? T_664 extends CanBeExpanded ? T_664[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] extends infer T_665 ? T_665 extends T_664[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] ? T_665 extends CanBeExpanded ? T_665[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] extends infer T_666 ? T_666 extends T_665[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] ? T_666 extends CanBeExpanded ? T_666[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] extends infer T_667 ? T_667 extends T_666[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] ? T_667 extends CanBeExpanded ? any : T_667 extends (infer U)[] ? any[] : T_667 extends object ? { [K_372 in keyof T_667]-?: T_667[K_372] extends infer T_668 ? T_668 extends T_667[K_372] ? T_668 extends CanBeExpanded ? T_668["default"] : T_668 : never : never; } : T_667 : never : never : T_666 extends (infer U)[] ? any[] : T_666 extends object ? { [K_373 in keyof T_666]-?: T_666[K_373] extends infer T_669 ? T_669 extends T_666[K_373] ? T_669 extends CanBeExpanded ? T_669["default"] : T_669 : never : never; } : T_666 : never : never : T_665 extends (infer U)[] ? any[] : T_665 extends object ? { [K_374 in keyof T_665]-?: T_665[K_374] extends infer T_670 ? T_670 extends T_665[K_374] ? T_670 extends CanBeExpanded ? T_670["default"] : T_670 : never : never; } : T_665 : never : never : T_664 extends (infer U)[] ? any[] : T_664 extends object ? { [K_375 in keyof T_664]-?: T_664[K_375] extends infer T_671 ? T_671 extends T_664[K_375] ? T_671 extends CanBeExpanded ? T_671["default"] : T_671 : never : never; } : T_664 : never : never : T_663 extends (infer U)[] ? any[] : T_663 extends object ? { [K_376 in keyof T_663]-?: T_663[K_376] extends infer T_672 ? T_672 extends T_663[K_376] ? T_672 extends CanBeExpanded ? T_672["default"] : T_672 : never : never; } : T_663 : never : never : T_661 extends (infer U)[] ? any[] : T_661 extends object ? { [K_377 in keyof T_661]-?: T_661[K_377] extends infer T_673 ? T_673 extends T_661[K_377] ? T_673 extends CanBeExpanded ? T_673["default"] : T_673 : never : never; } : T_661 : never : never; } : T_620 : never : never : T_618 extends (infer U)[] ? any[] : T_618 extends object ? { [K_378 in keyof T_618]-?: T_618[K_378] extends infer T_674 ? T_674 extends T_618[K_378] ? T_674 extends CanBeExpanded ? T_674[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] extends infer T_676 ? T_676 extends T_674[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] ? T_676 extends CanBeExpanded ? T_676[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] extends infer T_677 ? T_677 extends T_676[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] ? T_677 extends CanBeExpanded ? T_677[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] extends infer T_678 ? T_678 extends T_677[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] ? T_678 extends CanBeExpanded ? T_678[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] extends infer T_679 ? T_679 extends T_678[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] ? T_679 extends CanBeExpanded ? T_679[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] extends infer T_680 ? T_680 extends T_679[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] ? T_680 extends CanBeExpanded ? T_680[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] extends infer T_681 ? T_681 extends T_680[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] ? T_681 extends CanBeExpanded ? any : T_681 extends (infer U)[] ? any[] : T_681 extends object ? { [K_379 in keyof T_681]-?: T_681[K_379] extends infer T_682 ? T_682 extends T_681[K_379] ? T_682 extends CanBeExpanded ? T_682["default"] : T_682 : never : never; } : T_681 : never : never : T_680 extends (infer U)[] ? any[] : T_680 extends object ? { [K_380 in keyof T_680]-?: T_680[K_380] extends infer T_683 ? T_683 extends T_680[K_380] ? T_683 extends CanBeExpanded ? T_683["default"] : T_683 : never : never; } : T_680 : never : never : T_679 extends (infer U)[] ? any[] : T_679 extends object ? { [K_381 in keyof T_679]-?: T_679[K_381] extends infer T_684 ? T_684 extends T_679[K_381] ? T_684 extends CanBeExpanded ? T_684["default"] : T_684 : never : never; } : T_679 : never : never : T_678 extends (infer U)[] ? any[] : T_678 extends object ? { [K_382 in keyof T_678]-?: T_678[K_382] extends infer T_685 ? T_685 extends T_678[K_382] ? T_685 extends CanBeExpanded ? T_685["default"] : T_685 : never : never; } : T_678 : never : never : T_677 extends (infer U)[] ? any[] : T_677 extends object ? { [K_383 in keyof T_677]-?: T_677[K_383] extends infer T_686 ? T_686 extends T_677[K_383] ? T_686 extends CanBeExpanded ? T_686["default"] : T_686 : never : never; } : T_677 : never : never : T_676 extends (infer U)[] ? any[] : T_676 extends object ? { [K_384 in keyof T_676]-?: T_676[K_384] extends infer T_687 ? T_687 extends T_676[K_384] ? T_687 extends CanBeExpanded ? T_687["default"] : T_687 : never : never; } : T_676 : never : never : T_674 extends (infer U)[] ? any[] : T_674 extends object ? { [K_385 in keyof T_674]-?: T_674[K_385] extends infer T_688 ? T_688 extends T_674[K_385] ? T_688 extends CanBeExpanded ? T_688["default"] : T_688 : never : never; } : T_674 : never : never; } : T_618 : never : never; } : T_447 : never : never; } : T_2 : never : never : T extends (infer U)[] ? any[] : T extends object ? { [K_386 in keyof T]-?: T[K_386] extends infer T_689 ? T_689 extends T[K_386] ? T_689 extends CanBeExpanded ? T_689[string & K_386 extends infer T_690 ? T_690 extends string & K_386 ? T_690 extends SplitAC ? "value" : "default" : never : never] extends infer T_691 ? T_691 extends T_689[string & K_386 extends infer T_690 ? T_690 extends string & K_386 ? T_690 extends SplitAC ? "value" : "default" : never : never] ? T_691 extends CanBeExpanded ? T_691[string & K_386 extends infer T_690 ? T_690 extends string & K_386 ? T_690 extends SplitAC ? "value" : "default" : never : never] extends infer T_692 ? T_692 extends T_691[string & K_386 extends infer T_690 ? T_690 extends string & K_386 ? T_690 extends SplitAC ? "value" : "default" : never : never] ? T_692 extends CanBeExpanded ? T_692[string & K_386 extends infer T_690 ? T_690 extends string & K_386 ? T_690 extends SplitAC ? "value" : "default" : never : never] extends infer T_693 ? T_693 extends T_692[string & K_386 extends infer T_690 ? T_690 extends string & K_386 ? T_690 extends SplitAC ? "value" : "default" : never : never] ? T_693 extends CanBeExpanded ? T_693[string & K_386 extends infer T_690 ? T_690 extends string & K_386 ? T_690 extends SplitAC ? "value" : "default" : never : never] extends infer T_694 ? T_694 extends T_693[string & K_386 extends infer T_690 ? T_690 extends string & K_386 ? T_690 extends SplitAC ? "value" : "default" : never : never] ? T_694 extends CanBeExpanded ? T_694[string & K_386 extends infer T_690 ? T_690 extends string & K_386 ? T_690 extends SplitAC ? "value" : "default" : never : never] extends infer T_695 ? T_695 extends T_694[string & K_386 extends infer T_690 ? T_690 extends string & K_386 ? T_690 extends SplitAC ? "value" : "default" : never : never] ? T_695 extends CanBeExpanded ? T_695[string & K_386 extends infer T_690 ? T_690 extends string & K_386 ? T_690 extends SplitAC ? "value" : "default" : never : never] extends infer T_696 ? T_696 extends T_695[string & K_386 extends infer T_690 ? T_690 extends string & K_386 ? T_690 extends SplitAC ? "value" : "default" : never : never] ? T_696 extends CanBeExpanded ? T_696[string & K_386 extends infer T_690 ? T_690 extends string & K_386 ? T_690 extends SplitAC ? "value" : "default" : never : never] extends infer T_697 ? T_697 extends T_696[string & K_386 extends infer T_690 ? T_690 extends string & K_386 ? T_690 extends SplitAC ? "value" : "default" : never : never] ? T_697 extends CanBeExpanded ? T_697[string & K_386 extends infer T_690 ? T_690 extends string & K_386 ? T_690 extends SplitAC ? "value" : "default" : never : never] extends infer T_698 ? T_698 extends T_697[string & K_386 extends infer T_690 ? T_690 extends string & K_386 ? T_690 extends SplitAC ? "value" : "default" : never : never] ? T_698 extends CanBeExpanded ? T_698[string & K_386 extends infer T_690 ? T_690 extends string & K_386 ? T_690 extends SplitAC ? "value" : "default" : never : never] extends infer T_699 ? T_699 extends T_698[string & K_386 extends infer T_690 ? T_690 extends string & K_386 ? T_690 extends SplitAC ? "value" : "default" : never : never] ? T_699 extends CanBeExpanded ? any : T_699 extends (infer U)[] ? any[] : T_699 extends object ? { [K_387 in keyof T_699]-?: any; } : T_699 : never : never : T_698 extends (infer U)[] ? any[] : T_698 extends object ? { [K_388 in keyof T_698]-?: T_698[K_388] extends infer T_700 ? T_700 extends T_698[K_388] ? T_700 extends CanBeExpanded ? any : T_700 extends (infer U)[] ? any[] : T_700 extends object ? { [K_389 in keyof T_700]-?: any; } : T_700 : never : never; } : T_698 : never : never : T_697 extends (infer U)[] ? any[] : T_697 extends object ? { [K_390 in keyof T_697]-?: T_697[K_390] extends infer T_701 ? T_701 extends T_697[K_390] ? T_701 extends CanBeExpanded ? T_701[PrefixWith extends infer T_702 ? T_702 extends PrefixWith ? T_702 extends SplitAC ? "value" : "default" : never : never] extends infer T_703 ? T_703 extends T_701[PrefixWith extends infer T_702 ? T_702 extends PrefixWith ? T_702 extends SplitAC ? "value" : "default" : never : never] ? T_703 extends CanBeExpanded ? any : T_703 extends (infer U)[] ? any[] : T_703 extends object ? { [K_391 in keyof T_703]-?: any; } : T_703 : never : never : T_701 extends (infer U)[] ? any[] : T_701 extends object ? { [K_392 in keyof T_701]-?: T_701[K_392] extends infer T_704 ? T_704 extends T_701[K_392] ? T_704 extends CanBeExpanded ? any : T_704 extends (infer U)[] ? any[] : T_704 extends object ? { [K_393 in keyof T_704]-?: T_704[K_393] extends infer T_705 ? T_705 extends T_704[K_393] ? T_705 extends CanBeExpanded ? T_705["default"] : T_705 : never : never; } : T_704 : never : never; } : T_701 : never : never; } : T_697 : never : never : T_696 extends (infer U)[] ? any[] : T_696 extends object ? { [K_394 in keyof T_696]-?: T_696[K_394] extends infer T_706 ? T_706 extends T_696[K_394] ? T_706 extends CanBeExpanded ? T_706[PrefixWith extends infer T_707 ? T_707 extends PrefixWith ? T_707 extends SplitAC ? "value" : "default" : never : never] extends infer T_708 ? T_708 extends T_706[PrefixWith extends infer T_707 ? T_707 extends PrefixWith ? T_707 extends SplitAC ? "value" : "default" : never : never] ? T_708 extends CanBeExpanded ? T_708[PrefixWith extends infer T_707 ? T_707 extends PrefixWith ? T_707 extends SplitAC ? "value" : "default" : never : never] extends infer T_709 ? T_709 extends T_708[PrefixWith extends infer T_707 ? T_707 extends PrefixWith ? T_707 extends SplitAC ? "value" : "default" : never : never] ? T_709 extends CanBeExpanded ? any : T_709 extends (infer U)[] ? any[] : T_709 extends object ? { [K_395 in keyof T_709]-?: any; } : T_709 : never : never : T_708 extends (infer U)[] ? any[] : T_708 extends object ? { [K_396 in keyof T_708]-?: T_708[K_396] extends infer T_710 ? T_710 extends T_708[K_396] ? T_710 extends CanBeExpanded ? any : T_710 extends (infer U)[] ? any[] : T_710 extends object ? { [K_397 in keyof T_710]-?: T_710[K_397] extends infer T_711 ? T_711 extends T_710[K_397] ? T_711 extends CanBeExpanded ? T_711["default"] : T_711 : never : never; } : T_710 : never : never; } : T_708 : never : never : T_706 extends (infer U)[] ? any[] : T_706 extends object ? { [K_398 in keyof T_706]-?: T_706[K_398] extends infer T_712 ? T_712 extends T_706[K_398] ? T_712 extends CanBeExpanded ? T_712[PrefixWith, K_398, "."> extends infer T_713 ? T_713 extends PrefixWith, K_398, "."> ? T_713 extends SplitAC ? "value" : "default" : never : never] extends infer T_714 ? T_714 extends T_712[PrefixWith, K_398, "."> extends infer T_713 ? T_713 extends PrefixWith, K_398, "."> ? T_713 extends SplitAC ? "value" : "default" : never : never] ? T_714 extends CanBeExpanded ? any : T_714 extends (infer U)[] ? any[] : T_714 extends object ? { [K_399 in keyof T_714]-?: T_714[K_399] extends infer T_715 ? T_715 extends T_714[K_399] ? T_715 extends CanBeExpanded ? T_715["default"] : T_715 : never : never; } : T_714 : never : never : T_712 extends (infer U)[] ? any[] : T_712 extends object ? { [K_400 in keyof T_712]-?: T_712[K_400] extends infer T_716 ? T_716 extends T_712[K_400] ? T_716 extends CanBeExpanded ? T_716["default"] : T_716 : never : never; } : T_712 : never : never; } : T_706 : never : never; } : T_696 : never : never : T_695 extends (infer U)[] ? any[] : T_695 extends object ? { [K_401 in keyof T_695]-?: T_695[K_401] extends infer T_717 ? T_717 extends T_695[K_401] ? T_717 extends CanBeExpanded ? T_717[PrefixWith extends infer T_718 ? T_718 extends PrefixWith ? T_718 extends SplitAC ? "value" : "default" : never : never] extends infer T_719 ? T_719 extends T_717[PrefixWith extends infer T_718 ? T_718 extends PrefixWith ? T_718 extends SplitAC ? "value" : "default" : never : never] ? T_719 extends CanBeExpanded ? T_719[PrefixWith extends infer T_718 ? T_718 extends PrefixWith ? T_718 extends SplitAC ? "value" : "default" : never : never] extends infer T_720 ? T_720 extends T_719[PrefixWith extends infer T_718 ? T_718 extends PrefixWith ? T_718 extends SplitAC ? "value" : "default" : never : never] ? T_720 extends CanBeExpanded ? T_720[PrefixWith extends infer T_718 ? T_718 extends PrefixWith ? T_718 extends SplitAC ? "value" : "default" : never : never] extends infer T_721 ? T_721 extends T_720[PrefixWith extends infer T_718 ? T_718 extends PrefixWith ? T_718 extends SplitAC ? "value" : "default" : never : never] ? T_721 extends CanBeExpanded ? any : T_721 extends (infer U)[] ? any[] : T_721 extends object ? { [K_402 in keyof T_721]-?: any; } : T_721 : never : never : T_720 extends (infer U)[] ? any[] : T_720 extends object ? { [K_403 in keyof T_720]-?: T_720[K_403] extends infer T_722 ? T_722 extends T_720[K_403] ? T_722 extends CanBeExpanded ? any : T_722 extends (infer U)[] ? any[] : T_722 extends object ? { [K_404 in keyof T_722]-?: T_722[K_404] extends infer T_723 ? T_723 extends T_722[K_404] ? T_723 extends CanBeExpanded ? T_723["default"] : T_723 : never : never; } : T_722 : never : never; } : T_720 : never : never : T_719 extends (infer U)[] ? any[] : T_719 extends object ? { [K_405 in keyof T_719]-?: T_719[K_405] extends infer T_724 ? T_724 extends T_719[K_405] ? T_724 extends CanBeExpanded ? T_724[PrefixWith, K_405, "."> extends infer T_725 ? T_725 extends PrefixWith, K_405, "."> ? T_725 extends SplitAC ? "value" : "default" : never : never] extends infer T_726 ? T_726 extends T_724[PrefixWith, K_405, "."> extends infer T_725 ? T_725 extends PrefixWith, K_405, "."> ? T_725 extends SplitAC ? "value" : "default" : never : never] ? T_726 extends CanBeExpanded ? any : T_726 extends (infer U)[] ? any[] : T_726 extends object ? { [K_406 in keyof T_726]-?: T_726[K_406] extends infer T_727 ? T_727 extends T_726[K_406] ? T_727 extends CanBeExpanded ? T_727["default"] : T_727 : never : never; } : T_726 : never : never : T_724 extends (infer U)[] ? any[] : T_724 extends object ? { [K_407 in keyof T_724]-?: T_724[K_407] extends infer T_728 ? T_728 extends T_724[K_407] ? T_728 extends CanBeExpanded ? T_728["default"] : T_728 : never : never; } : T_724 : never : never; } : T_719 : never : never : T_717 extends (infer U)[] ? any[] : T_717 extends object ? { [K_408 in keyof T_717]-?: T_717[K_408] extends infer T_729 ? T_729 extends T_717[K_408] ? T_729 extends CanBeExpanded ? T_729[PrefixWith, K_408, "."> extends infer T_730 ? T_730 extends PrefixWith, K_408, "."> ? T_730 extends SplitAC ? "value" : "default" : never : never] extends infer T_731 ? T_731 extends T_729[PrefixWith, K_408, "."> extends infer T_730 ? T_730 extends PrefixWith, K_408, "."> ? T_730 extends SplitAC ? "value" : "default" : never : never] ? T_731 extends CanBeExpanded ? T_731[PrefixWith, K_408, "."> extends infer T_730 ? T_730 extends PrefixWith, K_408, "."> ? T_730 extends SplitAC ? "value" : "default" : never : never] extends infer T_732 ? T_732 extends T_731[PrefixWith, K_408, "."> extends infer T_730 ? T_730 extends PrefixWith, K_408, "."> ? T_730 extends SplitAC ? "value" : "default" : never : never] ? T_732 extends CanBeExpanded ? any : T_732 extends (infer U)[] ? any[] : T_732 extends object ? { [K_409 in keyof T_732]-?: T_732[K_409] extends infer T_733 ? T_733 extends T_732[K_409] ? T_733 extends CanBeExpanded ? T_733["default"] : T_733 : never : never; } : T_732 : never : never : T_731 extends (infer U)[] ? any[] : T_731 extends object ? { [K_410 in keyof T_731]-?: T_731[K_410] extends infer T_734 ? T_734 extends T_731[K_410] ? T_734 extends CanBeExpanded ? T_734["default"] : T_734 : never : never; } : T_731 : never : never : T_729 extends (infer U)[] ? any[] : T_729 extends object ? { [K_411 in keyof T_729]-?: T_729[K_411] extends infer T_735 ? T_735 extends T_729[K_411] ? T_735 extends CanBeExpanded ? T_735["default"] : T_735 : never : never; } : T_729 : never : never; } : T_717 : never : never; } : T_695 : never : never : T_694 extends (infer U)[] ? any[] : T_694 extends object ? { [K_412 in keyof T_694]-?: T_694[K_412] extends infer T_736 ? T_736 extends T_694[K_412] ? T_736 extends CanBeExpanded ? T_736[PrefixWith extends infer T_737 ? T_737 extends PrefixWith ? T_737 extends SplitAC ? "value" : "default" : never : never] extends infer T_738 ? T_738 extends T_736[PrefixWith extends infer T_737 ? T_737 extends PrefixWith ? T_737 extends SplitAC ? "value" : "default" : never : never] ? T_738 extends CanBeExpanded ? T_738[PrefixWith extends infer T_737 ? T_737 extends PrefixWith ? T_737 extends SplitAC ? "value" : "default" : never : never] extends infer T_739 ? T_739 extends T_738[PrefixWith extends infer T_737 ? T_737 extends PrefixWith ? T_737 extends SplitAC ? "value" : "default" : never : never] ? T_739 extends CanBeExpanded ? T_739[PrefixWith extends infer T_737 ? T_737 extends PrefixWith ? T_737 extends SplitAC ? "value" : "default" : never : never] extends infer T_740 ? T_740 extends T_739[PrefixWith extends infer T_737 ? T_737 extends PrefixWith ? T_737 extends SplitAC ? "value" : "default" : never : never] ? T_740 extends CanBeExpanded ? T_740[PrefixWith extends infer T_737 ? T_737 extends PrefixWith ? T_737 extends SplitAC ? "value" : "default" : never : never] extends infer T_741 ? T_741 extends T_740[PrefixWith extends infer T_737 ? T_737 extends PrefixWith ? T_737 extends SplitAC ? "value" : "default" : never : never] ? T_741 extends CanBeExpanded ? any : T_741 extends (infer U)[] ? any[] : T_741 extends object ? { [K_413 in keyof T_741]-?: any; } : T_741 : never : never : T_740 extends (infer U)[] ? any[] : T_740 extends object ? { [K_414 in keyof T_740]-?: T_740[K_414] extends infer T_742 ? T_742 extends T_740[K_414] ? T_742 extends CanBeExpanded ? any : T_742 extends (infer U)[] ? any[] : T_742 extends object ? { [K_415 in keyof T_742]-?: T_742[K_415] extends infer T_743 ? T_743 extends T_742[K_415] ? T_743 extends CanBeExpanded ? T_743["default"] : T_743 : never : never; } : T_742 : never : never; } : T_740 : never : never : T_739 extends (infer U)[] ? any[] : T_739 extends object ? { [K_416 in keyof T_739]-?: T_739[K_416] extends infer T_744 ? T_744 extends T_739[K_416] ? T_744 extends CanBeExpanded ? T_744[PrefixWith, K_416, "."> extends infer T_745 ? T_745 extends PrefixWith, K_416, "."> ? T_745 extends SplitAC ? "value" : "default" : never : never] extends infer T_746 ? T_746 extends T_744[PrefixWith, K_416, "."> extends infer T_745 ? T_745 extends PrefixWith, K_416, "."> ? T_745 extends SplitAC ? "value" : "default" : never : never] ? T_746 extends CanBeExpanded ? any : T_746 extends (infer U)[] ? any[] : T_746 extends object ? { [K_417 in keyof T_746]-?: T_746[K_417] extends infer T_747 ? T_747 extends T_746[K_417] ? T_747 extends CanBeExpanded ? T_747["default"] : T_747 : never : never; } : T_746 : never : never : T_744 extends (infer U)[] ? any[] : T_744 extends object ? { [K_418 in keyof T_744]-?: T_744[K_418] extends infer T_748 ? T_748 extends T_744[K_418] ? T_748 extends CanBeExpanded ? T_748["default"] : T_748 : never : never; } : T_744 : never : never; } : T_739 : never : never : T_738 extends (infer U)[] ? any[] : T_738 extends object ? { [K_419 in keyof T_738]-?: T_738[K_419] extends infer T_749 ? T_749 extends T_738[K_419] ? T_749 extends CanBeExpanded ? T_749[PrefixWith, K_419, "."> extends infer T_750 ? T_750 extends PrefixWith, K_419, "."> ? T_750 extends SplitAC ? "value" : "default" : never : never] extends infer T_751 ? T_751 extends T_749[PrefixWith, K_419, "."> extends infer T_750 ? T_750 extends PrefixWith, K_419, "."> ? T_750 extends SplitAC ? "value" : "default" : never : never] ? T_751 extends CanBeExpanded ? T_751[PrefixWith, K_419, "."> extends infer T_750 ? T_750 extends PrefixWith, K_419, "."> ? T_750 extends SplitAC ? "value" : "default" : never : never] extends infer T_752 ? T_752 extends T_751[PrefixWith, K_419, "."> extends infer T_750 ? T_750 extends PrefixWith, K_419, "."> ? T_750 extends SplitAC ? "value" : "default" : never : never] ? T_752 extends CanBeExpanded ? any : T_752 extends (infer U)[] ? any[] : T_752 extends object ? { [K_420 in keyof T_752]-?: T_752[K_420] extends infer T_753 ? T_753 extends T_752[K_420] ? T_753 extends CanBeExpanded ? T_753["default"] : T_753 : never : never; } : T_752 : never : never : T_751 extends (infer U)[] ? any[] : T_751 extends object ? { [K_421 in keyof T_751]-?: T_751[K_421] extends infer T_754 ? T_754 extends T_751[K_421] ? T_754 extends CanBeExpanded ? T_754["default"] : T_754 : never : never; } : T_751 : never : never : T_749 extends (infer U)[] ? any[] : T_749 extends object ? { [K_422 in keyof T_749]-?: T_749[K_422] extends infer T_755 ? T_755 extends T_749[K_422] ? T_755 extends CanBeExpanded ? T_755["default"] : T_755 : never : never; } : T_749 : never : never; } : T_738 : never : never : T_736 extends (infer U)[] ? any[] : T_736 extends object ? { [K_423 in keyof T_736]-?: T_736[K_423] extends infer T_756 ? T_756 extends T_736[K_423] ? T_756 extends CanBeExpanded ? T_756[PrefixWith, K_423, "."> extends infer T_757 ? T_757 extends PrefixWith, K_423, "."> ? T_757 extends SplitAC ? "value" : "default" : never : never] extends infer T_758 ? T_758 extends T_756[PrefixWith, K_423, "."> extends infer T_757 ? T_757 extends PrefixWith, K_423, "."> ? T_757 extends SplitAC ? "value" : "default" : never : never] ? T_758 extends CanBeExpanded ? T_758[PrefixWith, K_423, "."> extends infer T_757 ? T_757 extends PrefixWith, K_423, "."> ? T_757 extends SplitAC ? "value" : "default" : never : never] extends infer T_759 ? T_759 extends T_758[PrefixWith, K_423, "."> extends infer T_757 ? T_757 extends PrefixWith, K_423, "."> ? T_757 extends SplitAC ? "value" : "default" : never : never] ? T_759 extends CanBeExpanded ? T_759[PrefixWith, K_423, "."> extends infer T_757 ? T_757 extends PrefixWith, K_423, "."> ? T_757 extends SplitAC ? "value" : "default" : never : never] extends infer T_760 ? T_760 extends T_759[PrefixWith, K_423, "."> extends infer T_757 ? T_757 extends PrefixWith, K_423, "."> ? T_757 extends SplitAC ? "value" : "default" : never : never] ? T_760 extends CanBeExpanded ? any : T_760 extends (infer U)[] ? any[] : T_760 extends object ? { [K_424 in keyof T_760]-?: T_760[K_424] extends infer T_761 ? T_761 extends T_760[K_424] ? T_761 extends CanBeExpanded ? T_761["default"] : T_761 : never : never; } : T_760 : never : never : T_759 extends (infer U)[] ? any[] : T_759 extends object ? { [K_425 in keyof T_759]-?: T_759[K_425] extends infer T_762 ? T_762 extends T_759[K_425] ? T_762 extends CanBeExpanded ? T_762["default"] : T_762 : never : never; } : T_759 : never : never : T_758 extends (infer U)[] ? any[] : T_758 extends object ? { [K_426 in keyof T_758]-?: T_758[K_426] extends infer T_763 ? T_763 extends T_758[K_426] ? T_763 extends CanBeExpanded ? T_763["default"] : T_763 : never : never; } : T_758 : never : never : T_756 extends (infer U)[] ? any[] : T_756 extends object ? { [K_427 in keyof T_756]-?: T_756[K_427] extends infer T_764 ? T_764 extends T_756[K_427] ? T_764 extends CanBeExpanded ? T_764["default"] : T_764 : never : never; } : T_756 : never : never; } : T_736 : never : never; } : T_694 : never : never : T_693 extends (infer U)[] ? any[] : T_693 extends object ? { [K_428 in keyof T_693]-?: T_693[K_428] extends infer T_765 ? T_765 extends T_693[K_428] ? T_765 extends CanBeExpanded ? T_765[PrefixWith extends infer T_766 ? T_766 extends PrefixWith ? T_766 extends SplitAC ? "value" : "default" : never : never] extends infer T_767 ? T_767 extends T_765[PrefixWith extends infer T_766 ? T_766 extends PrefixWith ? T_766 extends SplitAC ? "value" : "default" : never : never] ? T_767 extends CanBeExpanded ? T_767[PrefixWith extends infer T_766 ? T_766 extends PrefixWith ? T_766 extends SplitAC ? "value" : "default" : never : never] extends infer T_768 ? T_768 extends T_767[PrefixWith extends infer T_766 ? T_766 extends PrefixWith ? T_766 extends SplitAC ? "value" : "default" : never : never] ? T_768 extends CanBeExpanded ? T_768[PrefixWith extends infer T_766 ? T_766 extends PrefixWith ? T_766 extends SplitAC ? "value" : "default" : never : never] extends infer T_769 ? T_769 extends T_768[PrefixWith extends infer T_766 ? T_766 extends PrefixWith ? T_766 extends SplitAC ? "value" : "default" : never : never] ? T_769 extends CanBeExpanded ? T_769[PrefixWith extends infer T_766 ? T_766 extends PrefixWith ? T_766 extends SplitAC ? "value" : "default" : never : never] extends infer T_770 ? T_770 extends T_769[PrefixWith extends infer T_766 ? T_766 extends PrefixWith ? T_766 extends SplitAC ? "value" : "default" : never : never] ? T_770 extends CanBeExpanded ? T_770[PrefixWith extends infer T_766 ? T_766 extends PrefixWith ? T_766 extends SplitAC ? "value" : "default" : never : never] extends infer T_771 ? T_771 extends T_770[PrefixWith extends infer T_766 ? T_766 extends PrefixWith ? T_766 extends SplitAC ? "value" : "default" : never : never] ? T_771 extends CanBeExpanded ? any : T_771 extends (infer U)[] ? any[] : T_771 extends object ? { [K_429 in keyof T_771]-?: any; } : T_771 : never : never : T_770 extends (infer U)[] ? any[] : T_770 extends object ? { [K_430 in keyof T_770]-?: T_770[K_430] extends infer T_772 ? T_772 extends T_770[K_430] ? T_772 extends CanBeExpanded ? any : T_772 extends (infer U)[] ? any[] : T_772 extends object ? { [K_431 in keyof T_772]-?: T_772[K_431] extends infer T_773 ? T_773 extends T_772[K_431] ? T_773 extends CanBeExpanded ? T_773["default"] : T_773 : never : never; } : T_772 : never : never; } : T_770 : never : never : T_769 extends (infer U)[] ? any[] : T_769 extends object ? { [K_432 in keyof T_769]-?: T_769[K_432] extends infer T_774 ? T_774 extends T_769[K_432] ? T_774 extends CanBeExpanded ? T_774[PrefixWith, K_432, "."> extends infer T_775 ? T_775 extends PrefixWith, K_432, "."> ? T_775 extends SplitAC ? "value" : "default" : never : never] extends infer T_776 ? T_776 extends T_774[PrefixWith, K_432, "."> extends infer T_775 ? T_775 extends PrefixWith, K_432, "."> ? T_775 extends SplitAC ? "value" : "default" : never : never] ? T_776 extends CanBeExpanded ? any : T_776 extends (infer U)[] ? any[] : T_776 extends object ? { [K_433 in keyof T_776]-?: T_776[K_433] extends infer T_777 ? T_777 extends T_776[K_433] ? T_777 extends CanBeExpanded ? T_777["default"] : T_777 : never : never; } : T_776 : never : never : T_774 extends (infer U)[] ? any[] : T_774 extends object ? { [K_434 in keyof T_774]-?: T_774[K_434] extends infer T_778 ? T_778 extends T_774[K_434] ? T_778 extends CanBeExpanded ? T_778["default"] : T_778 : never : never; } : T_774 : never : never; } : T_769 : never : never : T_768 extends (infer U)[] ? any[] : T_768 extends object ? { [K_435 in keyof T_768]-?: T_768[K_435] extends infer T_779 ? T_779 extends T_768[K_435] ? T_779 extends CanBeExpanded ? T_779[PrefixWith, K_435, "."> extends infer T_780 ? T_780 extends PrefixWith, K_435, "."> ? T_780 extends SplitAC ? "value" : "default" : never : never] extends infer T_781 ? T_781 extends T_779[PrefixWith, K_435, "."> extends infer T_780 ? T_780 extends PrefixWith, K_435, "."> ? T_780 extends SplitAC ? "value" : "default" : never : never] ? T_781 extends CanBeExpanded ? T_781[PrefixWith, K_435, "."> extends infer T_780 ? T_780 extends PrefixWith, K_435, "."> ? T_780 extends SplitAC ? "value" : "default" : never : never] extends infer T_782 ? T_782 extends T_781[PrefixWith, K_435, "."> extends infer T_780 ? T_780 extends PrefixWith, K_435, "."> ? T_780 extends SplitAC ? "value" : "default" : never : never] ? T_782 extends CanBeExpanded ? any : T_782 extends (infer U)[] ? any[] : T_782 extends object ? { [K_436 in keyof T_782]-?: T_782[K_436] extends infer T_783 ? T_783 extends T_782[K_436] ? T_783 extends CanBeExpanded ? T_783["default"] : T_783 : never : never; } : T_782 : never : never : T_781 extends (infer U)[] ? any[] : T_781 extends object ? { [K_437 in keyof T_781]-?: T_781[K_437] extends infer T_784 ? T_784 extends T_781[K_437] ? T_784 extends CanBeExpanded ? T_784["default"] : T_784 : never : never; } : T_781 : never : never : T_779 extends (infer U)[] ? any[] : T_779 extends object ? { [K_438 in keyof T_779]-?: T_779[K_438] extends infer T_785 ? T_785 extends T_779[K_438] ? T_785 extends CanBeExpanded ? T_785["default"] : T_785 : never : never; } : T_779 : never : never; } : T_768 : never : never : T_767 extends (infer U)[] ? any[] : T_767 extends object ? { [K_439 in keyof T_767]-?: T_767[K_439] extends infer T_786 ? T_786 extends T_767[K_439] ? T_786 extends CanBeExpanded ? T_786[PrefixWith, K_439, "."> extends infer T_787 ? T_787 extends PrefixWith, K_439, "."> ? T_787 extends SplitAC ? "value" : "default" : never : never] extends infer T_788 ? T_788 extends T_786[PrefixWith, K_439, "."> extends infer T_787 ? T_787 extends PrefixWith, K_439, "."> ? T_787 extends SplitAC ? "value" : "default" : never : never] ? T_788 extends CanBeExpanded ? T_788[PrefixWith, K_439, "."> extends infer T_787 ? T_787 extends PrefixWith, K_439, "."> ? T_787 extends SplitAC ? "value" : "default" : never : never] extends infer T_789 ? T_789 extends T_788[PrefixWith, K_439, "."> extends infer T_787 ? T_787 extends PrefixWith, K_439, "."> ? T_787 extends SplitAC ? "value" : "default" : never : never] ? T_789 extends CanBeExpanded ? T_789[PrefixWith, K_439, "."> extends infer T_787 ? T_787 extends PrefixWith, K_439, "."> ? T_787 extends SplitAC ? "value" : "default" : never : never] extends infer T_790 ? T_790 extends T_789[PrefixWith, K_439, "."> extends infer T_787 ? T_787 extends PrefixWith, K_439, "."> ? T_787 extends SplitAC ? "value" : "default" : never : never] ? T_790 extends CanBeExpanded ? any : T_790 extends (infer U)[] ? any[] : T_790 extends object ? { [K_440 in keyof T_790]-?: T_790[K_440] extends infer T_791 ? T_791 extends T_790[K_440] ? T_791 extends CanBeExpanded ? T_791["default"] : T_791 : never : never; } : T_790 : never : never : T_789 extends (infer U)[] ? any[] : T_789 extends object ? { [K_441 in keyof T_789]-?: T_789[K_441] extends infer T_792 ? T_792 extends T_789[K_441] ? T_792 extends CanBeExpanded ? T_792["default"] : T_792 : never : never; } : T_789 : never : never : T_788 extends (infer U)[] ? any[] : T_788 extends object ? { [K_442 in keyof T_788]-?: T_788[K_442] extends infer T_793 ? T_793 extends T_788[K_442] ? T_793 extends CanBeExpanded ? T_793["default"] : T_793 : never : never; } : T_788 : never : never : T_786 extends (infer U)[] ? any[] : T_786 extends object ? { [K_443 in keyof T_786]-?: T_786[K_443] extends infer T_794 ? T_794 extends T_786[K_443] ? T_794 extends CanBeExpanded ? T_794["default"] : T_794 : never : never; } : T_786 : never : never; } : T_767 : never : never : T_765 extends (infer U)[] ? any[] : T_765 extends object ? { [K_444 in keyof T_765]-?: T_765[K_444] extends infer T_795 ? T_795 extends T_765[K_444] ? T_795 extends CanBeExpanded ? T_795[PrefixWith, K_444, "."> extends infer T_796 ? T_796 extends PrefixWith, K_444, "."> ? T_796 extends SplitAC ? "value" : "default" : never : never] extends infer T_797 ? T_797 extends T_795[PrefixWith, K_444, "."> extends infer T_796 ? T_796 extends PrefixWith, K_444, "."> ? T_796 extends SplitAC ? "value" : "default" : never : never] ? T_797 extends CanBeExpanded ? T_797[PrefixWith, K_444, "."> extends infer T_796 ? T_796 extends PrefixWith, K_444, "."> ? T_796 extends SplitAC ? "value" : "default" : never : never] extends infer T_798 ? T_798 extends T_797[PrefixWith, K_444, "."> extends infer T_796 ? T_796 extends PrefixWith, K_444, "."> ? T_796 extends SplitAC ? "value" : "default" : never : never] ? T_798 extends CanBeExpanded ? T_798[PrefixWith, K_444, "."> extends infer T_796 ? T_796 extends PrefixWith, K_444, "."> ? T_796 extends SplitAC ? "value" : "default" : never : never] extends infer T_799 ? T_799 extends T_798[PrefixWith, K_444, "."> extends infer T_796 ? T_796 extends PrefixWith, K_444, "."> ? T_796 extends SplitAC ? "value" : "default" : never : never] ? T_799 extends CanBeExpanded ? T_799[PrefixWith, K_444, "."> extends infer T_796 ? T_796 extends PrefixWith, K_444, "."> ? T_796 extends SplitAC ? "value" : "default" : never : never] extends infer T_800 ? T_800 extends T_799[PrefixWith, K_444, "."> extends infer T_796 ? T_796 extends PrefixWith, K_444, "."> ? T_796 extends SplitAC ? "value" : "default" : never : never] ? T_800 extends CanBeExpanded ? any : T_800 extends (infer U)[] ? any[] : T_800 extends object ? { [K_445 in keyof T_800]-?: T_800[K_445] extends infer T_801 ? T_801 extends T_800[K_445] ? T_801 extends CanBeExpanded ? T_801["default"] : T_801 : never : never; } : T_800 : never : never : T_799 extends (infer U)[] ? any[] : T_799 extends object ? { [K_446 in keyof T_799]-?: T_799[K_446] extends infer T_802 ? T_802 extends T_799[K_446] ? T_802 extends CanBeExpanded ? T_802["default"] : T_802 : never : never; } : T_799 : never : never : T_798 extends (infer U)[] ? any[] : T_798 extends object ? { [K_447 in keyof T_798]-?: T_798[K_447] extends infer T_803 ? T_803 extends T_798[K_447] ? T_803 extends CanBeExpanded ? T_803["default"] : T_803 : never : never; } : T_798 : never : never : T_797 extends (infer U)[] ? any[] : T_797 extends object ? { [K_448 in keyof T_797]-?: T_797[K_448] extends infer T_804 ? T_804 extends T_797[K_448] ? T_804 extends CanBeExpanded ? T_804["default"] : T_804 : never : never; } : T_797 : never : never : T_795 extends (infer U)[] ? any[] : T_795 extends object ? { [K_449 in keyof T_795]-?: T_795[K_449] extends infer T_805 ? T_805 extends T_795[K_449] ? T_805 extends CanBeExpanded ? T_805["default"] : T_805 : never : never; } : T_795 : never : never; } : T_765 : never : never; } : T_693 : never : never : T_692 extends (infer U)[] ? any[] : T_692 extends object ? { [K_450 in keyof T_692]-?: T_692[K_450] extends infer T_806 ? T_806 extends T_692[K_450] ? T_806 extends CanBeExpanded ? T_806[PrefixWith extends infer T_807 ? T_807 extends PrefixWith ? T_807 extends SplitAC ? "value" : "default" : never : never] extends infer T_808 ? T_808 extends T_806[PrefixWith extends infer T_807 ? T_807 extends PrefixWith ? T_807 extends SplitAC ? "value" : "default" : never : never] ? T_808 extends CanBeExpanded ? T_808[PrefixWith extends infer T_807 ? T_807 extends PrefixWith ? T_807 extends SplitAC ? "value" : "default" : never : never] extends infer T_809 ? T_809 extends T_808[PrefixWith extends infer T_807 ? T_807 extends PrefixWith ? T_807 extends SplitAC ? "value" : "default" : never : never] ? T_809 extends CanBeExpanded ? T_809[PrefixWith extends infer T_807 ? T_807 extends PrefixWith ? T_807 extends SplitAC ? "value" : "default" : never : never] extends infer T_810 ? T_810 extends T_809[PrefixWith extends infer T_807 ? T_807 extends PrefixWith ? T_807 extends SplitAC ? "value" : "default" : never : never] ? T_810 extends CanBeExpanded ? T_810[PrefixWith extends infer T_807 ? T_807 extends PrefixWith ? T_807 extends SplitAC ? "value" : "default" : never : never] extends infer T_811 ? T_811 extends T_810[PrefixWith extends infer T_807 ? T_807 extends PrefixWith ? T_807 extends SplitAC ? "value" : "default" : never : never] ? T_811 extends CanBeExpanded ? T_811[PrefixWith extends infer T_807 ? T_807 extends PrefixWith ? T_807 extends SplitAC ? "value" : "default" : never : never] extends infer T_812 ? T_812 extends T_811[PrefixWith extends infer T_807 ? T_807 extends PrefixWith ? T_807 extends SplitAC ? "value" : "default" : never : never] ? T_812 extends CanBeExpanded ? T_812[PrefixWith extends infer T_807 ? T_807 extends PrefixWith ? T_807 extends SplitAC ? "value" : "default" : never : never] extends infer T_813 ? T_813 extends T_812[PrefixWith extends infer T_807 ? T_807 extends PrefixWith ? T_807 extends SplitAC ? "value" : "default" : never : never] ? T_813 extends CanBeExpanded ? any : T_813 extends (infer U)[] ? any[] : T_813 extends object ? { [K_451 in keyof T_813]-?: any; } : T_813 : never : never : T_812 extends (infer U)[] ? any[] : T_812 extends object ? { [K_452 in keyof T_812]-?: T_812[K_452] extends infer T_814 ? T_814 extends T_812[K_452] ? T_814 extends CanBeExpanded ? any : T_814 extends (infer U)[] ? any[] : T_814 extends object ? { [K_453 in keyof T_814]-?: T_814[K_453] extends infer T_815 ? T_815 extends T_814[K_453] ? T_815 extends CanBeExpanded ? T_815["default"] : T_815 : never : never; } : T_814 : never : never; } : T_812 : never : never : T_811 extends (infer U)[] ? any[] : T_811 extends object ? { [K_454 in keyof T_811]-?: T_811[K_454] extends infer T_816 ? T_816 extends T_811[K_454] ? T_816 extends CanBeExpanded ? T_816[PrefixWith, K_454, "."> extends infer T_817 ? T_817 extends PrefixWith, K_454, "."> ? T_817 extends SplitAC ? "value" : "default" : never : never] extends infer T_818 ? T_818 extends T_816[PrefixWith, K_454, "."> extends infer T_817 ? T_817 extends PrefixWith, K_454, "."> ? T_817 extends SplitAC ? "value" : "default" : never : never] ? T_818 extends CanBeExpanded ? any : T_818 extends (infer U)[] ? any[] : T_818 extends object ? { [K_455 in keyof T_818]-?: T_818[K_455] extends infer T_819 ? T_819 extends T_818[K_455] ? T_819 extends CanBeExpanded ? T_819["default"] : T_819 : never : never; } : T_818 : never : never : T_816 extends (infer U)[] ? any[] : T_816 extends object ? { [K_456 in keyof T_816]-?: T_816[K_456] extends infer T_820 ? T_820 extends T_816[K_456] ? T_820 extends CanBeExpanded ? T_820["default"] : T_820 : never : never; } : T_816 : never : never; } : T_811 : never : never : T_810 extends (infer U)[] ? any[] : T_810 extends object ? { [K_457 in keyof T_810]-?: T_810[K_457] extends infer T_821 ? T_821 extends T_810[K_457] ? T_821 extends CanBeExpanded ? T_821[PrefixWith, K_457, "."> extends infer T_822 ? T_822 extends PrefixWith, K_457, "."> ? T_822 extends SplitAC ? "value" : "default" : never : never] extends infer T_823 ? T_823 extends T_821[PrefixWith, K_457, "."> extends infer T_822 ? T_822 extends PrefixWith, K_457, "."> ? T_822 extends SplitAC ? "value" : "default" : never : never] ? T_823 extends CanBeExpanded ? T_823[PrefixWith, K_457, "."> extends infer T_822 ? T_822 extends PrefixWith, K_457, "."> ? T_822 extends SplitAC ? "value" : "default" : never : never] extends infer T_824 ? T_824 extends T_823[PrefixWith, K_457, "."> extends infer T_822 ? T_822 extends PrefixWith, K_457, "."> ? T_822 extends SplitAC ? "value" : "default" : never : never] ? T_824 extends CanBeExpanded ? any : T_824 extends (infer U)[] ? any[] : T_824 extends object ? { [K_458 in keyof T_824]-?: T_824[K_458] extends infer T_825 ? T_825 extends T_824[K_458] ? T_825 extends CanBeExpanded ? T_825["default"] : T_825 : never : never; } : T_824 : never : never : T_823 extends (infer U)[] ? any[] : T_823 extends object ? { [K_459 in keyof T_823]-?: T_823[K_459] extends infer T_826 ? T_826 extends T_823[K_459] ? T_826 extends CanBeExpanded ? T_826["default"] : T_826 : never : never; } : T_823 : never : never : T_821 extends (infer U)[] ? any[] : T_821 extends object ? { [K_460 in keyof T_821]-?: T_821[K_460] extends infer T_827 ? T_827 extends T_821[K_460] ? T_827 extends CanBeExpanded ? T_827["default"] : T_827 : never : never; } : T_821 : never : never; } : T_810 : never : never : T_809 extends (infer U)[] ? any[] : T_809 extends object ? { [K_461 in keyof T_809]-?: T_809[K_461] extends infer T_828 ? T_828 extends T_809[K_461] ? T_828 extends CanBeExpanded ? T_828[PrefixWith, K_461, "."> extends infer T_829 ? T_829 extends PrefixWith, K_461, "."> ? T_829 extends SplitAC ? "value" : "default" : never : never] extends infer T_830 ? T_830 extends T_828[PrefixWith, K_461, "."> extends infer T_829 ? T_829 extends PrefixWith, K_461, "."> ? T_829 extends SplitAC ? "value" : "default" : never : never] ? T_830 extends CanBeExpanded ? T_830[PrefixWith, K_461, "."> extends infer T_829 ? T_829 extends PrefixWith, K_461, "."> ? T_829 extends SplitAC ? "value" : "default" : never : never] extends infer T_831 ? T_831 extends T_830[PrefixWith, K_461, "."> extends infer T_829 ? T_829 extends PrefixWith, K_461, "."> ? T_829 extends SplitAC ? "value" : "default" : never : never] ? T_831 extends CanBeExpanded ? T_831[PrefixWith, K_461, "."> extends infer T_829 ? T_829 extends PrefixWith, K_461, "."> ? T_829 extends SplitAC ? "value" : "default" : never : never] extends infer T_832 ? T_832 extends T_831[PrefixWith, K_461, "."> extends infer T_829 ? T_829 extends PrefixWith, K_461, "."> ? T_829 extends SplitAC ? "value" : "default" : never : never] ? T_832 extends CanBeExpanded ? any : T_832 extends (infer U)[] ? any[] : T_832 extends object ? { [K_462 in keyof T_832]-?: T_832[K_462] extends infer T_833 ? T_833 extends T_832[K_462] ? T_833 extends CanBeExpanded ? T_833["default"] : T_833 : never : never; } : T_832 : never : never : T_831 extends (infer U)[] ? any[] : T_831 extends object ? { [K_463 in keyof T_831]-?: T_831[K_463] extends infer T_834 ? T_834 extends T_831[K_463] ? T_834 extends CanBeExpanded ? T_834["default"] : T_834 : never : never; } : T_831 : never : never : T_830 extends (infer U)[] ? any[] : T_830 extends object ? { [K_464 in keyof T_830]-?: T_830[K_464] extends infer T_835 ? T_835 extends T_830[K_464] ? T_835 extends CanBeExpanded ? T_835["default"] : T_835 : never : never; } : T_830 : never : never : T_828 extends (infer U)[] ? any[] : T_828 extends object ? { [K_465 in keyof T_828]-?: T_828[K_465] extends infer T_836 ? T_836 extends T_828[K_465] ? T_836 extends CanBeExpanded ? T_836["default"] : T_836 : never : never; } : T_828 : never : never; } : T_809 : never : never : T_808 extends (infer U)[] ? any[] : T_808 extends object ? { [K_466 in keyof T_808]-?: T_808[K_466] extends infer T_837 ? T_837 extends T_808[K_466] ? T_837 extends CanBeExpanded ? T_837[PrefixWith, K_466, "."> extends infer T_838 ? T_838 extends PrefixWith, K_466, "."> ? T_838 extends SplitAC ? "value" : "default" : never : never] extends infer T_839 ? T_839 extends T_837[PrefixWith, K_466, "."> extends infer T_838 ? T_838 extends PrefixWith, K_466, "."> ? T_838 extends SplitAC ? "value" : "default" : never : never] ? T_839 extends CanBeExpanded ? T_839[PrefixWith, K_466, "."> extends infer T_838 ? T_838 extends PrefixWith, K_466, "."> ? T_838 extends SplitAC ? "value" : "default" : never : never] extends infer T_840 ? T_840 extends T_839[PrefixWith, K_466, "."> extends infer T_838 ? T_838 extends PrefixWith, K_466, "."> ? T_838 extends SplitAC ? "value" : "default" : never : never] ? T_840 extends CanBeExpanded ? T_840[PrefixWith, K_466, "."> extends infer T_838 ? T_838 extends PrefixWith, K_466, "."> ? T_838 extends SplitAC ? "value" : "default" : never : never] extends infer T_841 ? T_841 extends T_840[PrefixWith, K_466, "."> extends infer T_838 ? T_838 extends PrefixWith, K_466, "."> ? T_838 extends SplitAC ? "value" : "default" : never : never] ? T_841 extends CanBeExpanded ? T_841[PrefixWith, K_466, "."> extends infer T_838 ? T_838 extends PrefixWith, K_466, "."> ? T_838 extends SplitAC ? "value" : "default" : never : never] extends infer T_842 ? T_842 extends T_841[PrefixWith, K_466, "."> extends infer T_838 ? T_838 extends PrefixWith, K_466, "."> ? T_838 extends SplitAC ? "value" : "default" : never : never] ? T_842 extends CanBeExpanded ? any : T_842 extends (infer U)[] ? any[] : T_842 extends object ? { [K_467 in keyof T_842]-?: T_842[K_467] extends infer T_843 ? T_843 extends T_842[K_467] ? T_843 extends CanBeExpanded ? T_843["default"] : T_843 : never : never; } : T_842 : never : never : T_841 extends (infer U)[] ? any[] : T_841 extends object ? { [K_468 in keyof T_841]-?: T_841[K_468] extends infer T_844 ? T_844 extends T_841[K_468] ? T_844 extends CanBeExpanded ? T_844["default"] : T_844 : never : never; } : T_841 : never : never : T_840 extends (infer U)[] ? any[] : T_840 extends object ? { [K_469 in keyof T_840]-?: T_840[K_469] extends infer T_845 ? T_845 extends T_840[K_469] ? T_845 extends CanBeExpanded ? T_845["default"] : T_845 : never : never; } : T_840 : never : never : T_839 extends (infer U)[] ? any[] : T_839 extends object ? { [K_470 in keyof T_839]-?: T_839[K_470] extends infer T_846 ? T_846 extends T_839[K_470] ? T_846 extends CanBeExpanded ? T_846["default"] : T_846 : never : never; } : T_839 : never : never : T_837 extends (infer U)[] ? any[] : T_837 extends object ? { [K_471 in keyof T_837]-?: T_837[K_471] extends infer T_847 ? T_847 extends T_837[K_471] ? T_847 extends CanBeExpanded ? T_847["default"] : T_847 : never : never; } : T_837 : never : never; } : T_808 : never : never : T_806 extends (infer U)[] ? any[] : T_806 extends object ? { [K_472 in keyof T_806]-?: T_806[K_472] extends infer T_848 ? T_848 extends T_806[K_472] ? T_848 extends CanBeExpanded ? T_848[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] extends infer T_850 ? T_850 extends T_848[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] ? T_850 extends CanBeExpanded ? T_850[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] extends infer T_851 ? T_851 extends T_850[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] ? T_851 extends CanBeExpanded ? T_851[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] extends infer T_852 ? T_852 extends T_851[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] ? T_852 extends CanBeExpanded ? T_852[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] extends infer T_853 ? T_853 extends T_852[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] ? T_853 extends CanBeExpanded ? T_853[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] extends infer T_854 ? T_854 extends T_853[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] ? T_854 extends CanBeExpanded ? any : T_854 extends (infer U)[] ? any[] : T_854 extends object ? { [K_473 in keyof T_854]-?: T_854[K_473] extends infer T_855 ? T_855 extends T_854[K_473] ? T_855 extends CanBeExpanded ? T_855["default"] : T_855 : never : never; } : T_854 : never : never : T_853 extends (infer U)[] ? any[] : T_853 extends object ? { [K_474 in keyof T_853]-?: T_853[K_474] extends infer T_856 ? T_856 extends T_853[K_474] ? T_856 extends CanBeExpanded ? T_856["default"] : T_856 : never : never; } : T_853 : never : never : T_852 extends (infer U)[] ? any[] : T_852 extends object ? { [K_475 in keyof T_852]-?: T_852[K_475] extends infer T_857 ? T_857 extends T_852[K_475] ? T_857 extends CanBeExpanded ? T_857["default"] : T_857 : never : never; } : T_852 : never : never : T_851 extends (infer U)[] ? any[] : T_851 extends object ? { [K_476 in keyof T_851]-?: T_851[K_476] extends infer T_858 ? T_858 extends T_851[K_476] ? T_858 extends CanBeExpanded ? T_858["default"] : T_858 : never : never; } : T_851 : never : never : T_850 extends (infer U)[] ? any[] : T_850 extends object ? { [K_477 in keyof T_850]-?: T_850[K_477] extends infer T_859 ? T_859 extends T_850[K_477] ? T_859 extends CanBeExpanded ? T_859["default"] : T_859 : never : never; } : T_850 : never : never : T_848 extends (infer U)[] ? any[] : T_848 extends object ? { [K_478 in keyof T_848]-?: T_848[K_478] extends infer T_860 ? T_860 extends T_848[K_478] ? T_860 extends CanBeExpanded ? T_860["default"] : T_860 : never : never; } : T_848 : never : never; } : T_806 : never : never; } : T_692 : never : never : T_691 extends (infer U)[] ? any[] : T_691 extends object ? { [K_479 in keyof T_691]-?: T_691[K_479] extends infer T_861 ? T_861 extends T_691[K_479] ? T_861 extends CanBeExpanded ? T_861[PrefixWith extends infer T_862 ? T_862 extends PrefixWith ? T_862 extends SplitAC ? "value" : "default" : never : never] extends infer T_863 ? T_863 extends T_861[PrefixWith extends infer T_862 ? T_862 extends PrefixWith ? T_862 extends SplitAC ? "value" : "default" : never : never] ? T_863 extends CanBeExpanded ? T_863[PrefixWith extends infer T_862 ? T_862 extends PrefixWith ? T_862 extends SplitAC ? "value" : "default" : never : never] extends infer T_864 ? T_864 extends T_863[PrefixWith extends infer T_862 ? T_862 extends PrefixWith ? T_862 extends SplitAC ? "value" : "default" : never : never] ? T_864 extends CanBeExpanded ? T_864[PrefixWith extends infer T_862 ? T_862 extends PrefixWith ? T_862 extends SplitAC ? "value" : "default" : never : never] extends infer T_865 ? T_865 extends T_864[PrefixWith extends infer T_862 ? T_862 extends PrefixWith ? T_862 extends SplitAC ? "value" : "default" : never : never] ? T_865 extends CanBeExpanded ? T_865[PrefixWith extends infer T_862 ? T_862 extends PrefixWith ? T_862 extends SplitAC ? "value" : "default" : never : never] extends infer T_866 ? T_866 extends T_865[PrefixWith extends infer T_862 ? T_862 extends PrefixWith ? T_862 extends SplitAC ? "value" : "default" : never : never] ? T_866 extends CanBeExpanded ? T_866[PrefixWith extends infer T_862 ? T_862 extends PrefixWith ? T_862 extends SplitAC ? "value" : "default" : never : never] extends infer T_867 ? T_867 extends T_866[PrefixWith extends infer T_862 ? T_862 extends PrefixWith ? T_862 extends SplitAC ? "value" : "default" : never : never] ? T_867 extends CanBeExpanded ? T_867[PrefixWith extends infer T_862 ? T_862 extends PrefixWith ? T_862 extends SplitAC ? "value" : "default" : never : never] extends infer T_868 ? T_868 extends T_867[PrefixWith extends infer T_862 ? T_862 extends PrefixWith ? T_862 extends SplitAC ? "value" : "default" : never : never] ? T_868 extends CanBeExpanded ? T_868[PrefixWith extends infer T_862 ? T_862 extends PrefixWith ? T_862 extends SplitAC ? "value" : "default" : never : never] extends infer T_869 ? T_869 extends T_868[PrefixWith extends infer T_862 ? T_862 extends PrefixWith ? T_862 extends SplitAC ? "value" : "default" : never : never] ? T_869 extends CanBeExpanded ? any : T_869 extends (infer U)[] ? any[] : T_869 extends object ? { [K_480 in keyof T_869]-?: any; } : T_869 : never : never : T_868 extends (infer U)[] ? any[] : T_868 extends object ? { [K_481 in keyof T_868]-?: T_868[K_481] extends infer T_870 ? T_870 extends T_868[K_481] ? T_870 extends CanBeExpanded ? any : T_870 extends (infer U)[] ? any[] : T_870 extends object ? { [K_482 in keyof T_870]-?: T_870[K_482] extends infer T_871 ? T_871 extends T_870[K_482] ? T_871 extends CanBeExpanded ? T_871["default"] : T_871 : never : never; } : T_870 : never : never; } : T_868 : never : never : T_867 extends (infer U)[] ? any[] : T_867 extends object ? { [K_483 in keyof T_867]-?: T_867[K_483] extends infer T_872 ? T_872 extends T_867[K_483] ? T_872 extends CanBeExpanded ? T_872[PrefixWith, K_483, "."> extends infer T_873 ? T_873 extends PrefixWith, K_483, "."> ? T_873 extends SplitAC ? "value" : "default" : never : never] extends infer T_874 ? T_874 extends T_872[PrefixWith, K_483, "."> extends infer T_873 ? T_873 extends PrefixWith, K_483, "."> ? T_873 extends SplitAC ? "value" : "default" : never : never] ? T_874 extends CanBeExpanded ? any : T_874 extends (infer U)[] ? any[] : T_874 extends object ? { [K_484 in keyof T_874]-?: T_874[K_484] extends infer T_875 ? T_875 extends T_874[K_484] ? T_875 extends CanBeExpanded ? T_875["default"] : T_875 : never : never; } : T_874 : never : never : T_872 extends (infer U)[] ? any[] : T_872 extends object ? { [K_485 in keyof T_872]-?: T_872[K_485] extends infer T_876 ? T_876 extends T_872[K_485] ? T_876 extends CanBeExpanded ? T_876["default"] : T_876 : never : never; } : T_872 : never : never; } : T_867 : never : never : T_866 extends (infer U)[] ? any[] : T_866 extends object ? { [K_486 in keyof T_866]-?: T_866[K_486] extends infer T_877 ? T_877 extends T_866[K_486] ? T_877 extends CanBeExpanded ? T_877[PrefixWith, K_486, "."> extends infer T_878 ? T_878 extends PrefixWith, K_486, "."> ? T_878 extends SplitAC ? "value" : "default" : never : never] extends infer T_879 ? T_879 extends T_877[PrefixWith, K_486, "."> extends infer T_878 ? T_878 extends PrefixWith, K_486, "."> ? T_878 extends SplitAC ? "value" : "default" : never : never] ? T_879 extends CanBeExpanded ? T_879[PrefixWith, K_486, "."> extends infer T_878 ? T_878 extends PrefixWith, K_486, "."> ? T_878 extends SplitAC ? "value" : "default" : never : never] extends infer T_880 ? T_880 extends T_879[PrefixWith, K_486, "."> extends infer T_878 ? T_878 extends PrefixWith, K_486, "."> ? T_878 extends SplitAC ? "value" : "default" : never : never] ? T_880 extends CanBeExpanded ? any : T_880 extends (infer U)[] ? any[] : T_880 extends object ? { [K_487 in keyof T_880]-?: T_880[K_487] extends infer T_881 ? T_881 extends T_880[K_487] ? T_881 extends CanBeExpanded ? T_881["default"] : T_881 : never : never; } : T_880 : never : never : T_879 extends (infer U)[] ? any[] : T_879 extends object ? { [K_488 in keyof T_879]-?: T_879[K_488] extends infer T_882 ? T_882 extends T_879[K_488] ? T_882 extends CanBeExpanded ? T_882["default"] : T_882 : never : never; } : T_879 : never : never : T_877 extends (infer U)[] ? any[] : T_877 extends object ? { [K_489 in keyof T_877]-?: T_877[K_489] extends infer T_883 ? T_883 extends T_877[K_489] ? T_883 extends CanBeExpanded ? T_883["default"] : T_883 : never : never; } : T_877 : never : never; } : T_866 : never : never : T_865 extends (infer U)[] ? any[] : T_865 extends object ? { [K_490 in keyof T_865]-?: T_865[K_490] extends infer T_884 ? T_884 extends T_865[K_490] ? T_884 extends CanBeExpanded ? T_884[PrefixWith, K_490, "."> extends infer T_885 ? T_885 extends PrefixWith, K_490, "."> ? T_885 extends SplitAC ? "value" : "default" : never : never] extends infer T_886 ? T_886 extends T_884[PrefixWith, K_490, "."> extends infer T_885 ? T_885 extends PrefixWith, K_490, "."> ? T_885 extends SplitAC ? "value" : "default" : never : never] ? T_886 extends CanBeExpanded ? T_886[PrefixWith, K_490, "."> extends infer T_885 ? T_885 extends PrefixWith, K_490, "."> ? T_885 extends SplitAC ? "value" : "default" : never : never] extends infer T_887 ? T_887 extends T_886[PrefixWith, K_490, "."> extends infer T_885 ? T_885 extends PrefixWith, K_490, "."> ? T_885 extends SplitAC ? "value" : "default" : never : never] ? T_887 extends CanBeExpanded ? T_887[PrefixWith, K_490, "."> extends infer T_885 ? T_885 extends PrefixWith, K_490, "."> ? T_885 extends SplitAC ? "value" : "default" : never : never] extends infer T_888 ? T_888 extends T_887[PrefixWith, K_490, "."> extends infer T_885 ? T_885 extends PrefixWith, K_490, "."> ? T_885 extends SplitAC ? "value" : "default" : never : never] ? T_888 extends CanBeExpanded ? any : T_888 extends (infer U)[] ? any[] : T_888 extends object ? { [K_491 in keyof T_888]-?: T_888[K_491] extends infer T_889 ? T_889 extends T_888[K_491] ? T_889 extends CanBeExpanded ? T_889["default"] : T_889 : never : never; } : T_888 : never : never : T_887 extends (infer U)[] ? any[] : T_887 extends object ? { [K_492 in keyof T_887]-?: T_887[K_492] extends infer T_890 ? T_890 extends T_887[K_492] ? T_890 extends CanBeExpanded ? T_890["default"] : T_890 : never : never; } : T_887 : never : never : T_886 extends (infer U)[] ? any[] : T_886 extends object ? { [K_493 in keyof T_886]-?: T_886[K_493] extends infer T_891 ? T_891 extends T_886[K_493] ? T_891 extends CanBeExpanded ? T_891["default"] : T_891 : never : never; } : T_886 : never : never : T_884 extends (infer U)[] ? any[] : T_884 extends object ? { [K_494 in keyof T_884]-?: T_884[K_494] extends infer T_892 ? T_892 extends T_884[K_494] ? T_892 extends CanBeExpanded ? T_892["default"] : T_892 : never : never; } : T_884 : never : never; } : T_865 : never : never : T_864 extends (infer U)[] ? any[] : T_864 extends object ? { [K_495 in keyof T_864]-?: T_864[K_495] extends infer T_893 ? T_893 extends T_864[K_495] ? T_893 extends CanBeExpanded ? T_893[PrefixWith, K_495, "."> extends infer T_894 ? T_894 extends PrefixWith, K_495, "."> ? T_894 extends SplitAC ? "value" : "default" : never : never] extends infer T_895 ? T_895 extends T_893[PrefixWith, K_495, "."> extends infer T_894 ? T_894 extends PrefixWith, K_495, "."> ? T_894 extends SplitAC ? "value" : "default" : never : never] ? T_895 extends CanBeExpanded ? T_895[PrefixWith, K_495, "."> extends infer T_894 ? T_894 extends PrefixWith, K_495, "."> ? T_894 extends SplitAC ? "value" : "default" : never : never] extends infer T_896 ? T_896 extends T_895[PrefixWith, K_495, "."> extends infer T_894 ? T_894 extends PrefixWith, K_495, "."> ? T_894 extends SplitAC ? "value" : "default" : never : never] ? T_896 extends CanBeExpanded ? T_896[PrefixWith, K_495, "."> extends infer T_894 ? T_894 extends PrefixWith, K_495, "."> ? T_894 extends SplitAC ? "value" : "default" : never : never] extends infer T_897 ? T_897 extends T_896[PrefixWith, K_495, "."> extends infer T_894 ? T_894 extends PrefixWith, K_495, "."> ? T_894 extends SplitAC ? "value" : "default" : never : never] ? T_897 extends CanBeExpanded ? T_897[PrefixWith, K_495, "."> extends infer T_894 ? T_894 extends PrefixWith, K_495, "."> ? T_894 extends SplitAC ? "value" : "default" : never : never] extends infer T_898 ? T_898 extends T_897[PrefixWith, K_495, "."> extends infer T_894 ? T_894 extends PrefixWith, K_495, "."> ? T_894 extends SplitAC ? "value" : "default" : never : never] ? T_898 extends CanBeExpanded ? any : T_898 extends (infer U)[] ? any[] : T_898 extends object ? { [K_496 in keyof T_898]-?: T_898[K_496] extends infer T_899 ? T_899 extends T_898[K_496] ? T_899 extends CanBeExpanded ? T_899["default"] : T_899 : never : never; } : T_898 : never : never : T_897 extends (infer U)[] ? any[] : T_897 extends object ? { [K_497 in keyof T_897]-?: T_897[K_497] extends infer T_900 ? T_900 extends T_897[K_497] ? T_900 extends CanBeExpanded ? T_900["default"] : T_900 : never : never; } : T_897 : never : never : T_896 extends (infer U)[] ? any[] : T_896 extends object ? { [K_498 in keyof T_896]-?: T_896[K_498] extends infer T_901 ? T_901 extends T_896[K_498] ? T_901 extends CanBeExpanded ? T_901["default"] : T_901 : never : never; } : T_896 : never : never : T_895 extends (infer U)[] ? any[] : T_895 extends object ? { [K_499 in keyof T_895]-?: T_895[K_499] extends infer T_902 ? T_902 extends T_895[K_499] ? T_902 extends CanBeExpanded ? T_902["default"] : T_902 : never : never; } : T_895 : never : never : T_893 extends (infer U)[] ? any[] : T_893 extends object ? { [K_500 in keyof T_893]-?: T_893[K_500] extends infer T_903 ? T_903 extends T_893[K_500] ? T_903 extends CanBeExpanded ? T_903["default"] : T_903 : never : never; } : T_893 : never : never; } : T_864 : never : never : T_863 extends (infer U)[] ? any[] : T_863 extends object ? { [K_501 in keyof T_863]-?: T_863[K_501] extends infer T_904 ? T_904 extends T_863[K_501] ? T_904 extends CanBeExpanded ? T_904[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] extends infer T_906 ? T_906 extends T_904[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] ? T_906 extends CanBeExpanded ? T_906[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] extends infer T_907 ? T_907 extends T_906[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] ? T_907 extends CanBeExpanded ? T_907[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] extends infer T_908 ? T_908 extends T_907[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] ? T_908 extends CanBeExpanded ? T_908[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] extends infer T_909 ? T_909 extends T_908[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] ? T_909 extends CanBeExpanded ? T_909[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] extends infer T_910 ? T_910 extends T_909[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] ? T_910 extends CanBeExpanded ? any : T_910 extends (infer U)[] ? any[] : T_910 extends object ? { [K_502 in keyof T_910]-?: T_910[K_502] extends infer T_911 ? T_911 extends T_910[K_502] ? T_911 extends CanBeExpanded ? T_911["default"] : T_911 : never : never; } : T_910 : never : never : T_909 extends (infer U)[] ? any[] : T_909 extends object ? { [K_503 in keyof T_909]-?: T_909[K_503] extends infer T_912 ? T_912 extends T_909[K_503] ? T_912 extends CanBeExpanded ? T_912["default"] : T_912 : never : never; } : T_909 : never : never : T_908 extends (infer U)[] ? any[] : T_908 extends object ? { [K_504 in keyof T_908]-?: T_908[K_504] extends infer T_913 ? T_913 extends T_908[K_504] ? T_913 extends CanBeExpanded ? T_913["default"] : T_913 : never : never; } : T_908 : never : never : T_907 extends (infer U)[] ? any[] : T_907 extends object ? { [K_505 in keyof T_907]-?: T_907[K_505] extends infer T_914 ? T_914 extends T_907[K_505] ? T_914 extends CanBeExpanded ? T_914["default"] : T_914 : never : never; } : T_907 : never : never : T_906 extends (infer U)[] ? any[] : T_906 extends object ? { [K_506 in keyof T_906]-?: T_906[K_506] extends infer T_915 ? T_915 extends T_906[K_506] ? T_915 extends CanBeExpanded ? T_915["default"] : T_915 : never : never; } : T_906 : never : never : T_904 extends (infer U)[] ? any[] : T_904 extends object ? { [K_507 in keyof T_904]-?: T_904[K_507] extends infer T_916 ? T_916 extends T_904[K_507] ? T_916 extends CanBeExpanded ? T_916["default"] : T_916 : never : never; } : T_904 : never : never; } : T_863 : never : never : T_861 extends (infer U)[] ? any[] : T_861 extends object ? { [K_508 in keyof T_861]-?: T_861[K_508] extends infer T_917 ? T_917 extends T_861[K_508] ? T_917 extends CanBeExpanded ? T_917[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] extends infer T_919 ? T_919 extends T_917[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] ? T_919 extends CanBeExpanded ? T_919[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] extends infer T_920 ? T_920 extends T_919[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] ? T_920 extends CanBeExpanded ? T_920[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] extends infer T_921 ? T_921 extends T_920[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] ? T_921 extends CanBeExpanded ? T_921[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] extends infer T_922 ? T_922 extends T_921[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] ? T_922 extends CanBeExpanded ? T_922[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] extends infer T_923 ? T_923 extends T_922[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] ? T_923 extends CanBeExpanded ? T_923[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] extends infer T_924 ? T_924 extends T_923[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] ? T_924 extends CanBeExpanded ? any : T_924 extends (infer U)[] ? any[] : T_924 extends object ? { [K_509 in keyof T_924]-?: T_924[K_509] extends infer T_925 ? T_925 extends T_924[K_509] ? T_925 extends CanBeExpanded ? T_925["default"] : T_925 : never : never; } : T_924 : never : never : T_923 extends (infer U)[] ? any[] : T_923 extends object ? { [K_510 in keyof T_923]-?: T_923[K_510] extends infer T_926 ? T_926 extends T_923[K_510] ? T_926 extends CanBeExpanded ? T_926["default"] : T_926 : never : never; } : T_923 : never : never : T_922 extends (infer U)[] ? any[] : T_922 extends object ? { [K_511 in keyof T_922]-?: T_922[K_511] extends infer T_927 ? T_927 extends T_922[K_511] ? T_927 extends CanBeExpanded ? T_927["default"] : T_927 : never : never; } : T_922 : never : never : T_921 extends (infer U)[] ? any[] : T_921 extends object ? { [K_512 in keyof T_921]-?: T_921[K_512] extends infer T_928 ? T_928 extends T_921[K_512] ? T_928 extends CanBeExpanded ? T_928["default"] : T_928 : never : never; } : T_921 : never : never : T_920 extends (infer U)[] ? any[] : T_920 extends object ? { [K_513 in keyof T_920]-?: T_920[K_513] extends infer T_929 ? T_929 extends T_920[K_513] ? T_929 extends CanBeExpanded ? T_929["default"] : T_929 : never : never; } : T_920 : never : never : T_919 extends (infer U)[] ? any[] : T_919 extends object ? { [K_514 in keyof T_919]-?: T_919[K_514] extends infer T_930 ? T_930 extends T_919[K_514] ? T_930 extends CanBeExpanded ? T_930["default"] : T_930 : never : never; } : T_919 : never : never : T_917 extends (infer U)[] ? any[] : T_917 extends object ? { [K_515 in keyof T_917]-?: T_917[K_515] extends infer T_931 ? T_931 extends T_917[K_515] ? T_931 extends CanBeExpanded ? T_931["default"] : T_931 : never : never; } : T_917 : never : never; } : T_861 : never : never; } : T_691 : never : never : T_689 extends (infer U)[] ? any[] : T_689 extends object ? { [K_516 in keyof T_689]-?: T_689[K_516] extends infer T_932 ? T_932 extends T_689[K_516] ? T_932 extends CanBeExpanded ? T_932[PrefixWith extends infer T_933 ? T_933 extends PrefixWith ? T_933 extends SplitAC ? "value" : "default" : never : never] extends infer T_934 ? T_934 extends T_932[PrefixWith extends infer T_933 ? T_933 extends PrefixWith ? T_933 extends SplitAC ? "value" : "default" : never : never] ? T_934 extends CanBeExpanded ? T_934[PrefixWith extends infer T_933 ? T_933 extends PrefixWith ? T_933 extends SplitAC ? "value" : "default" : never : never] extends infer T_935 ? T_935 extends T_934[PrefixWith extends infer T_933 ? T_933 extends PrefixWith ? T_933 extends SplitAC ? "value" : "default" : never : never] ? T_935 extends CanBeExpanded ? T_935[PrefixWith extends infer T_933 ? T_933 extends PrefixWith ? T_933 extends SplitAC ? "value" : "default" : never : never] extends infer T_936 ? T_936 extends T_935[PrefixWith extends infer T_933 ? T_933 extends PrefixWith ? T_933 extends SplitAC ? "value" : "default" : never : never] ? T_936 extends CanBeExpanded ? T_936[PrefixWith extends infer T_933 ? T_933 extends PrefixWith ? T_933 extends SplitAC ? "value" : "default" : never : never] extends infer T_937 ? T_937 extends T_936[PrefixWith extends infer T_933 ? T_933 extends PrefixWith ? T_933 extends SplitAC ? "value" : "default" : never : never] ? T_937 extends CanBeExpanded ? T_937[PrefixWith extends infer T_933 ? T_933 extends PrefixWith ? T_933 extends SplitAC ? "value" : "default" : never : never] extends infer T_938 ? T_938 extends T_937[PrefixWith extends infer T_933 ? T_933 extends PrefixWith ? T_933 extends SplitAC ? "value" : "default" : never : never] ? T_938 extends CanBeExpanded ? T_938[PrefixWith extends infer T_933 ? T_933 extends PrefixWith ? T_933 extends SplitAC ? "value" : "default" : never : never] extends infer T_939 ? T_939 extends T_938[PrefixWith extends infer T_933 ? T_933 extends PrefixWith ? T_933 extends SplitAC ? "value" : "default" : never : never] ? T_939 extends CanBeExpanded ? T_939[PrefixWith extends infer T_933 ? T_933 extends PrefixWith ? T_933 extends SplitAC ? "value" : "default" : never : never] extends infer T_940 ? T_940 extends T_939[PrefixWith extends infer T_933 ? T_933 extends PrefixWith ? T_933 extends SplitAC ? "value" : "default" : never : never] ? T_940 extends CanBeExpanded ? T_940[PrefixWith extends infer T_933 ? T_933 extends PrefixWith ? T_933 extends SplitAC ? "value" : "default" : never : never] extends infer T_941 ? T_941 extends T_940[PrefixWith extends infer T_933 ? T_933 extends PrefixWith ? T_933 extends SplitAC ? "value" : "default" : never : never] ? T_941 extends CanBeExpanded ? any : T_941 extends (infer U)[] ? any[] : T_941 extends object ? { [K_517 in keyof T_941]-?: any; } : T_941 : never : never : T_940 extends (infer U)[] ? any[] : T_940 extends object ? { [K_518 in keyof T_940]-?: T_940[K_518] extends infer T_942 ? T_942 extends T_940[K_518] ? T_942 extends CanBeExpanded ? any : T_942 extends (infer U)[] ? any[] : T_942 extends object ? { [K_519 in keyof T_942]-?: T_942[K_519] extends infer T_943 ? T_943 extends T_942[K_519] ? T_943 extends CanBeExpanded ? T_943["default"] : T_943 : never : never; } : T_942 : never : never; } : T_940 : never : never : T_939 extends (infer U)[] ? any[] : T_939 extends object ? { [K_520 in keyof T_939]-?: T_939[K_520] extends infer T_944 ? T_944 extends T_939[K_520] ? T_944 extends CanBeExpanded ? T_944[PrefixWith, K_520, "."> extends infer T_945 ? T_945 extends PrefixWith, K_520, "."> ? T_945 extends SplitAC ? "value" : "default" : never : never] extends infer T_946 ? T_946 extends T_944[PrefixWith, K_520, "."> extends infer T_945 ? T_945 extends PrefixWith, K_520, "."> ? T_945 extends SplitAC ? "value" : "default" : never : never] ? T_946 extends CanBeExpanded ? any : T_946 extends (infer U)[] ? any[] : T_946 extends object ? { [K_521 in keyof T_946]-?: T_946[K_521] extends infer T_947 ? T_947 extends T_946[K_521] ? T_947 extends CanBeExpanded ? T_947["default"] : T_947 : never : never; } : T_946 : never : never : T_944 extends (infer U)[] ? any[] : T_944 extends object ? { [K_522 in keyof T_944]-?: T_944[K_522] extends infer T_948 ? T_948 extends T_944[K_522] ? T_948 extends CanBeExpanded ? T_948["default"] : T_948 : never : never; } : T_944 : never : never; } : T_939 : never : never : T_938 extends (infer U)[] ? any[] : T_938 extends object ? { [K_523 in keyof T_938]-?: T_938[K_523] extends infer T_949 ? T_949 extends T_938[K_523] ? T_949 extends CanBeExpanded ? T_949[PrefixWith, K_523, "."> extends infer T_950 ? T_950 extends PrefixWith, K_523, "."> ? T_950 extends SplitAC ? "value" : "default" : never : never] extends infer T_951 ? T_951 extends T_949[PrefixWith, K_523, "."> extends infer T_950 ? T_950 extends PrefixWith, K_523, "."> ? T_950 extends SplitAC ? "value" : "default" : never : never] ? T_951 extends CanBeExpanded ? T_951[PrefixWith, K_523, "."> extends infer T_950 ? T_950 extends PrefixWith, K_523, "."> ? T_950 extends SplitAC ? "value" : "default" : never : never] extends infer T_952 ? T_952 extends T_951[PrefixWith, K_523, "."> extends infer T_950 ? T_950 extends PrefixWith, K_523, "."> ? T_950 extends SplitAC ? "value" : "default" : never : never] ? T_952 extends CanBeExpanded ? any : T_952 extends (infer U)[] ? any[] : T_952 extends object ? { [K_524 in keyof T_952]-?: T_952[K_524] extends infer T_953 ? T_953 extends T_952[K_524] ? T_953 extends CanBeExpanded ? T_953["default"] : T_953 : never : never; } : T_952 : never : never : T_951 extends (infer U)[] ? any[] : T_951 extends object ? { [K_525 in keyof T_951]-?: T_951[K_525] extends infer T_954 ? T_954 extends T_951[K_525] ? T_954 extends CanBeExpanded ? T_954["default"] : T_954 : never : never; } : T_951 : never : never : T_949 extends (infer U)[] ? any[] : T_949 extends object ? { [K_526 in keyof T_949]-?: T_949[K_526] extends infer T_955 ? T_955 extends T_949[K_526] ? T_955 extends CanBeExpanded ? T_955["default"] : T_955 : never : never; } : T_949 : never : never; } : T_938 : never : never : T_937 extends (infer U)[] ? any[] : T_937 extends object ? { [K_527 in keyof T_937]-?: T_937[K_527] extends infer T_956 ? T_956 extends T_937[K_527] ? T_956 extends CanBeExpanded ? T_956[PrefixWith, K_527, "."> extends infer T_957 ? T_957 extends PrefixWith, K_527, "."> ? T_957 extends SplitAC ? "value" : "default" : never : never] extends infer T_958 ? T_958 extends T_956[PrefixWith, K_527, "."> extends infer T_957 ? T_957 extends PrefixWith, K_527, "."> ? T_957 extends SplitAC ? "value" : "default" : never : never] ? T_958 extends CanBeExpanded ? T_958[PrefixWith, K_527, "."> extends infer T_957 ? T_957 extends PrefixWith, K_527, "."> ? T_957 extends SplitAC ? "value" : "default" : never : never] extends infer T_959 ? T_959 extends T_958[PrefixWith, K_527, "."> extends infer T_957 ? T_957 extends PrefixWith, K_527, "."> ? T_957 extends SplitAC ? "value" : "default" : never : never] ? T_959 extends CanBeExpanded ? T_959[PrefixWith, K_527, "."> extends infer T_957 ? T_957 extends PrefixWith, K_527, "."> ? T_957 extends SplitAC ? "value" : "default" : never : never] extends infer T_960 ? T_960 extends T_959[PrefixWith, K_527, "."> extends infer T_957 ? T_957 extends PrefixWith, K_527, "."> ? T_957 extends SplitAC ? "value" : "default" : never : never] ? T_960 extends CanBeExpanded ? any : T_960 extends (infer U)[] ? any[] : T_960 extends object ? { [K_528 in keyof T_960]-?: T_960[K_528] extends infer T_961 ? T_961 extends T_960[K_528] ? T_961 extends CanBeExpanded ? T_961["default"] : T_961 : never : never; } : T_960 : never : never : T_959 extends (infer U)[] ? any[] : T_959 extends object ? { [K_529 in keyof T_959]-?: T_959[K_529] extends infer T_962 ? T_962 extends T_959[K_529] ? T_962 extends CanBeExpanded ? T_962["default"] : T_962 : never : never; } : T_959 : never : never : T_958 extends (infer U)[] ? any[] : T_958 extends object ? { [K_530 in keyof T_958]-?: T_958[K_530] extends infer T_963 ? T_963 extends T_958[K_530] ? T_963 extends CanBeExpanded ? T_963["default"] : T_963 : never : never; } : T_958 : never : never : T_956 extends (infer U)[] ? any[] : T_956 extends object ? { [K_531 in keyof T_956]-?: T_956[K_531] extends infer T_964 ? T_964 extends T_956[K_531] ? T_964 extends CanBeExpanded ? T_964["default"] : T_964 : never : never; } : T_956 : never : never; } : T_937 : never : never : T_936 extends (infer U)[] ? any[] : T_936 extends object ? { [K_532 in keyof T_936]-?: T_936[K_532] extends infer T_965 ? T_965 extends T_936[K_532] ? T_965 extends CanBeExpanded ? T_965[PrefixWith, K_532, "."> extends infer T_966 ? T_966 extends PrefixWith, K_532, "."> ? T_966 extends SplitAC ? "value" : "default" : never : never] extends infer T_967 ? T_967 extends T_965[PrefixWith, K_532, "."> extends infer T_966 ? T_966 extends PrefixWith, K_532, "."> ? T_966 extends SplitAC ? "value" : "default" : never : never] ? T_967 extends CanBeExpanded ? T_967[PrefixWith, K_532, "."> extends infer T_966 ? T_966 extends PrefixWith, K_532, "."> ? T_966 extends SplitAC ? "value" : "default" : never : never] extends infer T_968 ? T_968 extends T_967[PrefixWith, K_532, "."> extends infer T_966 ? T_966 extends PrefixWith, K_532, "."> ? T_966 extends SplitAC ? "value" : "default" : never : never] ? T_968 extends CanBeExpanded ? T_968[PrefixWith, K_532, "."> extends infer T_966 ? T_966 extends PrefixWith, K_532, "."> ? T_966 extends SplitAC ? "value" : "default" : never : never] extends infer T_969 ? T_969 extends T_968[PrefixWith, K_532, "."> extends infer T_966 ? T_966 extends PrefixWith, K_532, "."> ? T_966 extends SplitAC ? "value" : "default" : never : never] ? T_969 extends CanBeExpanded ? T_969[PrefixWith, K_532, "."> extends infer T_966 ? T_966 extends PrefixWith, K_532, "."> ? T_966 extends SplitAC ? "value" : "default" : never : never] extends infer T_970 ? T_970 extends T_969[PrefixWith, K_532, "."> extends infer T_966 ? T_966 extends PrefixWith, K_532, "."> ? T_966 extends SplitAC ? "value" : "default" : never : never] ? T_970 extends CanBeExpanded ? any : T_970 extends (infer U)[] ? any[] : T_970 extends object ? { [K_533 in keyof T_970]-?: T_970[K_533] extends infer T_971 ? T_971 extends T_970[K_533] ? T_971 extends CanBeExpanded ? T_971["default"] : T_971 : never : never; } : T_970 : never : never : T_969 extends (infer U)[] ? any[] : T_969 extends object ? { [K_534 in keyof T_969]-?: T_969[K_534] extends infer T_972 ? T_972 extends T_969[K_534] ? T_972 extends CanBeExpanded ? T_972["default"] : T_972 : never : never; } : T_969 : never : never : T_968 extends (infer U)[] ? any[] : T_968 extends object ? { [K_535 in keyof T_968]-?: T_968[K_535] extends infer T_973 ? T_973 extends T_968[K_535] ? T_973 extends CanBeExpanded ? T_973["default"] : T_973 : never : never; } : T_968 : never : never : T_967 extends (infer U)[] ? any[] : T_967 extends object ? { [K_536 in keyof T_967]-?: T_967[K_536] extends infer T_974 ? T_974 extends T_967[K_536] ? T_974 extends CanBeExpanded ? T_974["default"] : T_974 : never : never; } : T_967 : never : never : T_965 extends (infer U)[] ? any[] : T_965 extends object ? { [K_537 in keyof T_965]-?: T_965[K_537] extends infer T_975 ? T_975 extends T_965[K_537] ? T_975 extends CanBeExpanded ? T_975["default"] : T_975 : never : never; } : T_965 : never : never; } : T_936 : never : never : T_935 extends (infer U)[] ? any[] : T_935 extends object ? { [K_538 in keyof T_935]-?: T_935[K_538] extends infer T_976 ? T_976 extends T_935[K_538] ? T_976 extends CanBeExpanded ? T_976[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] extends infer T_978 ? T_978 extends T_976[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] ? T_978 extends CanBeExpanded ? T_978[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] extends infer T_979 ? T_979 extends T_978[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] ? T_979 extends CanBeExpanded ? T_979[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] extends infer T_980 ? T_980 extends T_979[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] ? T_980 extends CanBeExpanded ? T_980[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] extends infer T_981 ? T_981 extends T_980[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] ? T_981 extends CanBeExpanded ? T_981[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] extends infer T_982 ? T_982 extends T_981[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] ? T_982 extends CanBeExpanded ? any : T_982 extends (infer U)[] ? any[] : T_982 extends object ? { [K_539 in keyof T_982]-?: T_982[K_539] extends infer T_983 ? T_983 extends T_982[K_539] ? T_983 extends CanBeExpanded ? T_983["default"] : T_983 : never : never; } : T_982 : never : never : T_981 extends (infer U)[] ? any[] : T_981 extends object ? { [K_540 in keyof T_981]-?: T_981[K_540] extends infer T_984 ? T_984 extends T_981[K_540] ? T_984 extends CanBeExpanded ? T_984["default"] : T_984 : never : never; } : T_981 : never : never : T_980 extends (infer U)[] ? any[] : T_980 extends object ? { [K_541 in keyof T_980]-?: T_980[K_541] extends infer T_985 ? T_985 extends T_980[K_541] ? T_985 extends CanBeExpanded ? T_985["default"] : T_985 : never : never; } : T_980 : never : never : T_979 extends (infer U)[] ? any[] : T_979 extends object ? { [K_542 in keyof T_979]-?: T_979[K_542] extends infer T_986 ? T_986 extends T_979[K_542] ? T_986 extends CanBeExpanded ? T_986["default"] : T_986 : never : never; } : T_979 : never : never : T_978 extends (infer U)[] ? any[] : T_978 extends object ? { [K_543 in keyof T_978]-?: T_978[K_543] extends infer T_987 ? T_987 extends T_978[K_543] ? T_987 extends CanBeExpanded ? T_987["default"] : T_987 : never : never; } : T_978 : never : never : T_976 extends (infer U)[] ? any[] : T_976 extends object ? { [K_544 in keyof T_976]-?: T_976[K_544] extends infer T_988 ? T_988 extends T_976[K_544] ? T_988 extends CanBeExpanded ? T_988["default"] : T_988 : never : never; } : T_976 : never : never; } : T_935 : never : never : T_934 extends (infer U)[] ? any[] : T_934 extends object ? { [K_545 in keyof T_934]-?: T_934[K_545] extends infer T_989 ? T_989 extends T_934[K_545] ? T_989 extends CanBeExpanded ? T_989[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] extends infer T_991 ? T_991 extends T_989[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] ? T_991 extends CanBeExpanded ? T_991[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] extends infer T_992 ? T_992 extends T_991[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] ? T_992 extends CanBeExpanded ? T_992[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] extends infer T_993 ? T_993 extends T_992[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] ? T_993 extends CanBeExpanded ? T_993[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] extends infer T_994 ? T_994 extends T_993[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] ? T_994 extends CanBeExpanded ? T_994[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] extends infer T_995 ? T_995 extends T_994[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] ? T_995 extends CanBeExpanded ? T_995[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] extends infer T_996 ? T_996 extends T_995[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] ? T_996 extends CanBeExpanded ? any : T_996 extends (infer U)[] ? any[] : T_996 extends object ? { [K_546 in keyof T_996]-?: T_996[K_546] extends infer T_997 ? T_997 extends T_996[K_546] ? T_997 extends CanBeExpanded ? T_997["default"] : T_997 : never : never; } : T_996 : never : never : T_995 extends (infer U)[] ? any[] : T_995 extends object ? { [K_547 in keyof T_995]-?: T_995[K_547] extends infer T_998 ? T_998 extends T_995[K_547] ? T_998 extends CanBeExpanded ? T_998["default"] : T_998 : never : never; } : T_995 : never : never : T_994 extends (infer U)[] ? any[] : T_994 extends object ? { [K_548 in keyof T_994]-?: T_994[K_548] extends infer T_999 ? T_999 extends T_994[K_548] ? T_999 extends CanBeExpanded ? T_999["default"] : T_999 : never : never; } : T_994 : never : never : T_993 extends (infer U)[] ? any[] : T_993 extends object ? { [K_549 in keyof T_993]-?: T_993[K_549] extends infer T_1000 ? T_1000 extends T_993[K_549] ? T_1000 extends CanBeExpanded ? T_1000["default"] : T_1000 : never : never; } : T_993 : never : never : T_992 extends (infer U)[] ? any[] : T_992 extends object ? { [K_550 in keyof T_992]-?: T_992[K_550] extends infer T_1001 ? T_1001 extends T_992[K_550] ? T_1001 extends CanBeExpanded ? T_1001["default"] : T_1001 : never : never; } : T_992 : never : never : T_991 extends (infer U)[] ? any[] : T_991 extends object ? { [K_551 in keyof T_991]-?: T_991[K_551] extends infer T_1002 ? T_1002 extends T_991[K_551] ? T_1002 extends CanBeExpanded ? T_1002["default"] : T_1002 : never : never; } : T_991 : never : never : T_989 extends (infer U)[] ? any[] : T_989 extends object ? { [K_552 in keyof T_989]-?: T_989[K_552] extends infer T_1003 ? T_1003 extends T_989[K_552] ? T_1003 extends CanBeExpanded ? T_1003["default"] : T_1003 : never : never; } : T_989 : never : never; } : T_934 : never : never : T_932 extends (infer U)[] ? any[] : T_932 extends object ? { [K_553 in keyof T_932]-?: T_932[K_553] extends infer T_1004 ? T_1004 extends T_932[K_553] ? T_1004 extends CanBeExpanded ? T_1004[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] extends infer T_1006 ? T_1006 extends T_1004[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] ? T_1006 extends CanBeExpanded ? T_1006[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] extends infer T_1007 ? T_1007 extends T_1006[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] ? T_1007 extends CanBeExpanded ? T_1007[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] extends infer T_1008 ? T_1008 extends T_1007[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] ? T_1008 extends CanBeExpanded ? T_1008[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] extends infer T_1009 ? T_1009 extends T_1008[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] ? T_1009 extends CanBeExpanded ? T_1009[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] extends infer T_1010 ? T_1010 extends T_1009[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] ? T_1010 extends CanBeExpanded ? T_1010[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] extends infer T_1011 ? T_1011 extends T_1010[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] ? T_1011 extends CanBeExpanded ? T_1011[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] extends infer T_1012 ? T_1012 extends T_1011[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] ? T_1012 extends CanBeExpanded ? any : T_1012 extends (infer U)[] ? any[] : T_1012 extends object ? { [K_554 in keyof T_1012]-?: T_1012[K_554] extends infer T_1013 ? T_1013 extends T_1012[K_554] ? T_1013 extends CanBeExpanded ? T_1013["default"] : T_1013 : never : never; } : T_1012 : never : never : T_1011 extends (infer U)[] ? any[] : T_1011 extends object ? { [K_555 in keyof T_1011]-?: T_1011[K_555] extends infer T_1014 ? T_1014 extends T_1011[K_555] ? T_1014 extends CanBeExpanded ? T_1014["default"] : T_1014 : never : never; } : T_1011 : never : never : T_1010 extends (infer U)[] ? any[] : T_1010 extends object ? { [K_556 in keyof T_1010]-?: T_1010[K_556] extends infer T_1015 ? T_1015 extends T_1010[K_556] ? T_1015 extends CanBeExpanded ? T_1015["default"] : T_1015 : never : never; } : T_1010 : never : never : T_1009 extends (infer U)[] ? any[] : T_1009 extends object ? { [K_557 in keyof T_1009]-?: T_1009[K_557] extends infer T_1016 ? T_1016 extends T_1009[K_557] ? T_1016 extends CanBeExpanded ? T_1016["default"] : T_1016 : never : never; } : T_1009 : never : never : T_1008 extends (infer U)[] ? any[] : T_1008 extends object ? { [K_558 in keyof T_1008]-?: T_1008[K_558] extends infer T_1017 ? T_1017 extends T_1008[K_558] ? T_1017 extends CanBeExpanded ? T_1017["default"] : T_1017 : never : never; } : T_1008 : never : never : T_1007 extends (infer U)[] ? any[] : T_1007 extends object ? { [K_559 in keyof T_1007]-?: T_1007[K_559] extends infer T_1018 ? T_1018 extends T_1007[K_559] ? T_1018 extends CanBeExpanded ? T_1018["default"] : T_1018 : never : never; } : T_1007 : never : never : T_1006 extends (infer U)[] ? any[] : T_1006 extends object ? { [K_560 in keyof T_1006]-?: T_1006[K_560] extends infer T_1019 ? T_1019 extends T_1006[K_560] ? T_1019 extends CanBeExpanded ? T_1019["default"] : T_1019 : never : never; } : T_1006 : never : never : T_1004 extends (infer U)[] ? any[] : T_1004 extends object ? { [K_561 in keyof T_1004]-?: T_1004[K_561] extends infer T_1020 ? T_1020 extends T_1004[K_561] ? T_1020 extends CanBeExpanded ? T_1020["default"] : T_1020 : never : never; } : T_1004 : never : never; } : T_932 : never : never; } : T_689 : never : never; } : T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>UseQueryOptions2 : T extends CanBeExpanded ? T["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_2 ? T_2 extends T["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_2 extends CanBeExpanded ? T_2["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_3 ? T_3 extends T_2["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_3 extends CanBeExpanded ? T_3["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_4 ? T_4 extends T_3["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_4 extends CanBeExpanded ? T_4["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_5 ? T_5 extends T_4["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_5 extends CanBeExpanded ? T_5["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_6 ? T_6 extends T_5["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_6 extends CanBeExpanded ? T_6["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_7 ? T_7 extends T_6["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_7 extends CanBeExpanded ? T_7["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_8 ? T_8 extends T_7["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_8 extends CanBeExpanded ? T_8["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_9 ? T_9 extends T_8["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_9 extends CanBeExpanded ? T_9["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_10 ? T_10 extends T_9["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_10 extends CanBeExpanded ? T_10["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_11 ? T_11 extends T_10["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_11 extends CanBeExpanded ? any : T_11 extends (infer U)[] ? any[] : T_11 extends object ? { [K_1 in keyof T_11]-?: any; } : T_11 : never : never : T_10 extends (infer U)[] ? any[] : T_10 extends object ? { [K_2 in keyof T_10]-?: T_10[K_2] extends infer T_12 ? T_12 extends T_10[K_2] ? T_12 extends CanBeExpanded ? any : T_12 extends (infer U)[] ? any[] : T_12 extends object ? { [K_3 in keyof T_12]-?: any; } : T_12 : never : never; } : T_10 : never : never : T_9 extends (infer U)[] ? any[] : T_9 extends object ? { [K_4 in keyof T_9]-?: T_9[K_4] extends infer T_13 ? T_13 extends T_9[K_4] ? T_13 extends CanBeExpanded ? T_13[`${string & K_4}` extends infer T_14 ? T_14 extends `${string & K_4}` ? T_14 extends SplitAC ? "value" : "default" : never : never] extends infer T_15 ? T_15 extends T_13[`${string & K_4}` extends infer T_14 ? T_14 extends `${string & K_4}` ? T_14 extends SplitAC ? "value" : "default" : never : never] ? T_15 extends CanBeExpanded ? any : T_15 extends (infer U)[] ? any[] : T_15 extends object ? { [K_5 in keyof T_15]-?: any; } : T_15 : never : never : T_13 extends (infer U)[] ? any[] : T_13 extends object ? { [K_6 in keyof T_13]-?: T_13[K_6] extends infer T_16 ? T_16 extends T_13[K_6] ? T_16 extends CanBeExpanded ? any : T_16 extends (infer U)[] ? any[] : T_16 extends object ? { [K_7 in keyof T_16]-?: any; } : T_16 : never : never; } : T_13 : never : never; } : T_9 : never : never : T_8 extends (infer U)[] ? any[] : T_8 extends object ? { [K_8 in keyof T_8]-?: T_8[K_8] extends infer T_17 ? T_17 extends T_8[K_8] ? T_17 extends CanBeExpanded ? T_17[`${string & K_8}` extends infer T_18 ? T_18 extends `${string & K_8}` ? T_18 extends SplitAC ? "value" : "default" : never : never] extends infer T_19 ? T_19 extends T_17[`${string & K_8}` extends infer T_18 ? T_18 extends `${string & K_8}` ? T_18 extends SplitAC ? "value" : "default" : never : never] ? T_19 extends CanBeExpanded ? T_19[`${string & K_8}` extends infer T_18 ? T_18 extends `${string & K_8}` ? T_18 extends SplitAC ? "value" : "default" : never : never] extends infer T_20 ? T_20 extends T_19[`${string & K_8}` extends infer T_18 ? T_18 extends `${string & K_8}` ? T_18 extends SplitAC ? "value" : "default" : never : never] ? T_20 extends CanBeExpanded ? any : T_20 extends (infer U)[] ? any[] : T_20 extends object ? { [K_9 in keyof T_20]-?: any; } : T_20 : never : never : T_19 extends (infer U)[] ? any[] : T_19 extends object ? { [K_10 in keyof T_19]-?: T_19[K_10] extends infer T_21 ? T_21 extends T_19[K_10] ? T_21 extends CanBeExpanded ? any : T_21 extends (infer U)[] ? any[] : T_21 extends object ? { [K_11 in keyof T_21]-?: any; } : T_21 : never : never; } : T_19 : never : never : T_17 extends (infer U)[] ? any[] : T_17 extends object ? { [K_12 in keyof T_17]-?: T_17[K_12] extends infer T_22 ? T_22 extends T_17[K_12] ? T_22 extends CanBeExpanded ? T_22[PrefixWith<`${string & K_8}`, K_12, "."> extends infer T_23 ? T_23 extends PrefixWith<`${string & K_8}`, K_12, "."> ? T_23 extends SplitAC ? "value" : "default" : never : never] extends infer T_24 ? T_24 extends T_22[PrefixWith<`${string & K_8}`, K_12, "."> extends infer T_23 ? T_23 extends PrefixWith<`${string & K_8}`, K_12, "."> ? T_23 extends SplitAC ? "value" : "default" : never : never] ? T_24 extends CanBeExpanded ? any : T_24 extends (infer U)[] ? any[] : T_24 extends object ? { [K_13 in keyof T_24]-?: any; } : T_24 : never : never : T_22 extends (infer U)[] ? any[] : T_22 extends object ? { [K_14 in keyof T_22]-?: T_22[K_14] extends infer T_25 ? T_25 extends T_22[K_14] ? T_25 extends CanBeExpanded ? any : T_25 extends (infer U)[] ? any[] : T_25 extends object ? { [K_15 in keyof T_25]-?: T_25[K_15] extends infer T_26 ? T_26 extends T_25[K_15] ? T_26 extends CanBeExpanded ? T_26["default"] : T_26 : never : never; } : T_25 : never : never; } : T_22 : never : never; } : T_17 : never : never; } : T_8 : never : never : T_7 extends (infer U)[] ? any[] : T_7 extends object ? { [K_16 in keyof T_7]-?: T_7[K_16] extends infer T_27 ? T_27 extends T_7[K_16] ? T_27 extends CanBeExpanded ? T_27[`${string & K_16}` extends infer T_28 ? T_28 extends `${string & K_16}` ? T_28 extends SplitAC ? "value" : "default" : never : never] extends infer T_29 ? T_29 extends T_27[`${string & K_16}` extends infer T_28 ? T_28 extends `${string & K_16}` ? T_28 extends SplitAC ? "value" : "default" : never : never] ? T_29 extends CanBeExpanded ? T_29[`${string & K_16}` extends infer T_28 ? T_28 extends `${string & K_16}` ? T_28 extends SplitAC ? "value" : "default" : never : never] extends infer T_30 ? T_30 extends T_29[`${string & K_16}` extends infer T_28 ? T_28 extends `${string & K_16}` ? T_28 extends SplitAC ? "value" : "default" : never : never] ? T_30 extends CanBeExpanded ? T_30[`${string & K_16}` extends infer T_28 ? T_28 extends `${string & K_16}` ? T_28 extends SplitAC ? "value" : "default" : never : never] extends infer T_31 ? T_31 extends T_30[`${string & K_16}` extends infer T_28 ? T_28 extends `${string & K_16}` ? T_28 extends SplitAC ? "value" : "default" : never : never] ? T_31 extends CanBeExpanded ? any : T_31 extends (infer U)[] ? any[] : T_31 extends object ? { [K_17 in keyof T_31]-?: any; } : T_31 : never : never : T_30 extends (infer U)[] ? any[] : T_30 extends object ? { [K_18 in keyof T_30]-?: T_30[K_18] extends infer T_32 ? T_32 extends T_30[K_18] ? T_32 extends CanBeExpanded ? any : T_32 extends (infer U)[] ? any[] : T_32 extends object ? { [K_19 in keyof T_32]-?: any; } : T_32 : never : never; } : T_30 : never : never : T_29 extends (infer U)[] ? any[] : T_29 extends object ? { [K_20 in keyof T_29]-?: T_29[K_20] extends infer T_33 ? T_33 extends T_29[K_20] ? T_33 extends CanBeExpanded ? T_33[PrefixWith<`${string & K_16}`, K_20, "."> extends infer T_34 ? T_34 extends PrefixWith<`${string & K_16}`, K_20, "."> ? T_34 extends SplitAC ? "value" : "default" : never : never] extends infer T_35 ? T_35 extends T_33[PrefixWith<`${string & K_16}`, K_20, "."> extends infer T_34 ? T_34 extends PrefixWith<`${string & K_16}`, K_20, "."> ? T_34 extends SplitAC ? "value" : "default" : never : never] ? T_35 extends CanBeExpanded ? any : T_35 extends (infer U)[] ? any[] : T_35 extends object ? { [K_21 in keyof T_35]-?: any; } : T_35 : never : never : T_33 extends (infer U)[] ? any[] : T_33 extends object ? { [K_22 in keyof T_33]-?: T_33[K_22] extends infer T_36 ? T_36 extends T_33[K_22] ? T_36 extends CanBeExpanded ? any : T_36 extends (infer U)[] ? any[] : T_36 extends object ? { [K_23 in keyof T_36]-?: T_36[K_23] extends infer T_37 ? T_37 extends T_36[K_23] ? T_37 extends CanBeExpanded ? T_37["default"] : T_37 : never : never; } : T_36 : never : never; } : T_33 : never : never; } : T_29 : never : never : T_27 extends (infer U)[] ? any[] : T_27 extends object ? { [K_24 in keyof T_27]-?: T_27[K_24] extends infer T_38 ? T_38 extends T_27[K_24] ? T_38 extends CanBeExpanded ? T_38[PrefixWith<`${string & K_16}`, K_24, "."> extends infer T_39 ? T_39 extends PrefixWith<`${string & K_16}`, K_24, "."> ? T_39 extends SplitAC ? "value" : "default" : never : never] extends infer T_40 ? T_40 extends T_38[PrefixWith<`${string & K_16}`, K_24, "."> extends infer T_39 ? T_39 extends PrefixWith<`${string & K_16}`, K_24, "."> ? T_39 extends SplitAC ? "value" : "default" : never : never] ? T_40 extends CanBeExpanded ? T_40[PrefixWith<`${string & K_16}`, K_24, "."> extends infer T_39 ? T_39 extends PrefixWith<`${string & K_16}`, K_24, "."> ? T_39 extends SplitAC ? "value" : "default" : never : never] extends infer T_41 ? T_41 extends T_40[PrefixWith<`${string & K_16}`, K_24, "."> extends infer T_39 ? T_39 extends PrefixWith<`${string & K_16}`, K_24, "."> ? T_39 extends SplitAC ? "value" : "default" : never : never] ? T_41 extends CanBeExpanded ? any : T_41 extends (infer U)[] ? any[] : T_41 extends object ? { [K_25 in keyof T_41]-?: any; } : T_41 : never : never : T_40 extends (infer U)[] ? any[] : T_40 extends object ? { [K_26 in keyof T_40]-?: T_40[K_26] extends infer T_42 ? T_42 extends T_40[K_26] ? T_42 extends CanBeExpanded ? any : T_42 extends (infer U)[] ? any[] : T_42 extends object ? { [K_27 in keyof T_42]-?: T_42[K_27] extends infer T_43 ? T_43 extends T_42[K_27] ? T_43 extends CanBeExpanded ? T_43["default"] : T_43 : never : never; } : T_42 : never : never; } : T_40 : never : never : T_38 extends (infer U)[] ? any[] : T_38 extends object ? { [K_28 in keyof T_38]-?: T_38[K_28] extends infer T_44 ? T_44 extends T_38[K_28] ? T_44 extends CanBeExpanded ? T_44[PrefixWith, K_28, "."> extends infer T_45 ? T_45 extends PrefixWith, K_28, "."> ? T_45 extends SplitAC ? "value" : "default" : never : never] extends infer T_46 ? T_46 extends T_44[PrefixWith, K_28, "."> extends infer T_45 ? T_45 extends PrefixWith, K_28, "."> ? T_45 extends SplitAC ? "value" : "default" : never : never] ? T_46 extends CanBeExpanded ? any : T_46 extends (infer U)[] ? any[] : T_46 extends object ? { [K_29 in keyof T_46]-?: T_46[K_29] extends infer T_47 ? T_47 extends T_46[K_29] ? T_47 extends CanBeExpanded ? T_47["default"] : T_47 : never : never; } : T_46 : never : never : T_44 extends (infer U)[] ? any[] : T_44 extends object ? { [K_30 in keyof T_44]-?: T_44[K_30] extends infer T_48 ? T_48 extends T_44[K_30] ? T_48 extends CanBeExpanded ? T_48["default"] : T_48 : never : never; } : T_44 : never : never; } : T_38 : never : never; } : T_27 : never : never; } : T_7 : never : never : T_6 extends (infer U)[] ? any[] : T_6 extends object ? { [K_31 in keyof T_6]-?: T_6[K_31] extends infer T_49 ? T_49 extends T_6[K_31] ? T_49 extends CanBeExpanded ? T_49[`${string & K_31}` extends infer T_50 ? T_50 extends `${string & K_31}` ? T_50 extends SplitAC ? "value" : "default" : never : never] extends infer T_51 ? T_51 extends T_49[`${string & K_31}` extends infer T_50 ? T_50 extends `${string & K_31}` ? T_50 extends SplitAC ? "value" : "default" : never : never] ? T_51 extends CanBeExpanded ? T_51[`${string & K_31}` extends infer T_50 ? T_50 extends `${string & K_31}` ? T_50 extends SplitAC ? "value" : "default" : never : never] extends infer T_52 ? T_52 extends T_51[`${string & K_31}` extends infer T_50 ? T_50 extends `${string & K_31}` ? T_50 extends SplitAC ? "value" : "default" : never : never] ? T_52 extends CanBeExpanded ? T_52[`${string & K_31}` extends infer T_50 ? T_50 extends `${string & K_31}` ? T_50 extends SplitAC ? "value" : "default" : never : never] extends infer T_53 ? T_53 extends T_52[`${string & K_31}` extends infer T_50 ? T_50 extends `${string & K_31}` ? T_50 extends SplitAC ? "value" : "default" : never : never] ? T_53 extends CanBeExpanded ? T_53[`${string & K_31}` extends infer T_50 ? T_50 extends `${string & K_31}` ? T_50 extends SplitAC ? "value" : "default" : never : never] extends infer T_54 ? T_54 extends T_53[`${string & K_31}` extends infer T_50 ? T_50 extends `${string & K_31}` ? T_50 extends SplitAC ? "value" : "default" : never : never] ? T_54 extends CanBeExpanded ? any : T_54 extends (infer U)[] ? any[] : T_54 extends object ? { [K_32 in keyof T_54]-?: any; } : T_54 : never : never : T_53 extends (infer U)[] ? any[] : T_53 extends object ? { [K_33 in keyof T_53]-?: T_53[K_33] extends infer T_55 ? T_55 extends T_53[K_33] ? T_55 extends CanBeExpanded ? any : T_55 extends (infer U)[] ? any[] : T_55 extends object ? { [K_34 in keyof T_55]-?: any; } : T_55 : never : never; } : T_53 : never : never : T_52 extends (infer U)[] ? any[] : T_52 extends object ? { [K_35 in keyof T_52]-?: T_52[K_35] extends infer T_56 ? T_56 extends T_52[K_35] ? T_56 extends CanBeExpanded ? T_56[PrefixWith<`${string & K_31}`, K_35, "."> extends infer T_57 ? T_57 extends PrefixWith<`${string & K_31}`, K_35, "."> ? T_57 extends SplitAC ? "value" : "default" : never : never] extends infer T_58 ? T_58 extends T_56[PrefixWith<`${string & K_31}`, K_35, "."> extends infer T_57 ? T_57 extends PrefixWith<`${string & K_31}`, K_35, "."> ? T_57 extends SplitAC ? "value" : "default" : never : never] ? T_58 extends CanBeExpanded ? any : T_58 extends (infer U)[] ? any[] : T_58 extends object ? { [K_36 in keyof T_58]-?: any; } : T_58 : never : never : T_56 extends (infer U)[] ? any[] : T_56 extends object ? { [K_37 in keyof T_56]-?: T_56[K_37] extends infer T_59 ? T_59 extends T_56[K_37] ? T_59 extends CanBeExpanded ? any : T_59 extends (infer U)[] ? any[] : T_59 extends object ? { [K_38 in keyof T_59]-?: T_59[K_38] extends infer T_60 ? T_60 extends T_59[K_38] ? T_60 extends CanBeExpanded ? T_60["default"] : T_60 : never : never; } : T_59 : never : never; } : T_56 : never : never; } : T_52 : never : never : T_51 extends (infer U)[] ? any[] : T_51 extends object ? { [K_39 in keyof T_51]-?: T_51[K_39] extends infer T_61 ? T_61 extends T_51[K_39] ? T_61 extends CanBeExpanded ? T_61[PrefixWith<`${string & K_31}`, K_39, "."> extends infer T_62 ? T_62 extends PrefixWith<`${string & K_31}`, K_39, "."> ? T_62 extends SplitAC ? "value" : "default" : never : never] extends infer T_63 ? T_63 extends T_61[PrefixWith<`${string & K_31}`, K_39, "."> extends infer T_62 ? T_62 extends PrefixWith<`${string & K_31}`, K_39, "."> ? T_62 extends SplitAC ? "value" : "default" : never : never] ? T_63 extends CanBeExpanded ? T_63[PrefixWith<`${string & K_31}`, K_39, "."> extends infer T_62 ? T_62 extends PrefixWith<`${string & K_31}`, K_39, "."> ? T_62 extends SplitAC ? "value" : "default" : never : never] extends infer T_64 ? T_64 extends T_63[PrefixWith<`${string & K_31}`, K_39, "."> extends infer T_62 ? T_62 extends PrefixWith<`${string & K_31}`, K_39, "."> ? T_62 extends SplitAC ? "value" : "default" : never : never] ? T_64 extends CanBeExpanded ? any : T_64 extends (infer U)[] ? any[] : T_64 extends object ? { [K_40 in keyof T_64]-?: any; } : T_64 : never : never : T_63 extends (infer U)[] ? any[] : T_63 extends object ? { [K_41 in keyof T_63]-?: T_63[K_41] extends infer T_65 ? T_65 extends T_63[K_41] ? T_65 extends CanBeExpanded ? any : T_65 extends (infer U)[] ? any[] : T_65 extends object ? { [K_42 in keyof T_65]-?: T_65[K_42] extends infer T_66 ? T_66 extends T_65[K_42] ? T_66 extends CanBeExpanded ? T_66["default"] : T_66 : never : never; } : T_65 : never : never; } : T_63 : never : never : T_61 extends (infer U)[] ? any[] : T_61 extends object ? { [K_43 in keyof T_61]-?: T_61[K_43] extends infer T_67 ? T_67 extends T_61[K_43] ? T_67 extends CanBeExpanded ? T_67[PrefixWith, K_43, "."> extends infer T_68 ? T_68 extends PrefixWith, K_43, "."> ? T_68 extends SplitAC ? "value" : "default" : never : never] extends infer T_69 ? T_69 extends T_67[PrefixWith, K_43, "."> extends infer T_68 ? T_68 extends PrefixWith, K_43, "."> ? T_68 extends SplitAC ? "value" : "default" : never : never] ? T_69 extends CanBeExpanded ? any : T_69 extends (infer U)[] ? any[] : T_69 extends object ? { [K_44 in keyof T_69]-?: T_69[K_44] extends infer T_70 ? T_70 extends T_69[K_44] ? T_70 extends CanBeExpanded ? T_70["default"] : T_70 : never : never; } : T_69 : never : never : T_67 extends (infer U)[] ? any[] : T_67 extends object ? { [K_45 in keyof T_67]-?: T_67[K_45] extends infer T_71 ? T_71 extends T_67[K_45] ? T_71 extends CanBeExpanded ? T_71["default"] : T_71 : never : never; } : T_67 : never : never; } : T_61 : never : never; } : T_51 : never : never : T_49 extends (infer U)[] ? any[] : T_49 extends object ? { [K_46 in keyof T_49]-?: T_49[K_46] extends infer T_72 ? T_72 extends T_49[K_46] ? T_72 extends CanBeExpanded ? T_72[PrefixWith<`${string & K_31}`, K_46, "."> extends infer T_73 ? T_73 extends PrefixWith<`${string & K_31}`, K_46, "."> ? T_73 extends SplitAC ? "value" : "default" : never : never] extends infer T_74 ? T_74 extends T_72[PrefixWith<`${string & K_31}`, K_46, "."> extends infer T_73 ? T_73 extends PrefixWith<`${string & K_31}`, K_46, "."> ? T_73 extends SplitAC ? "value" : "default" : never : never] ? T_74 extends CanBeExpanded ? T_74[PrefixWith<`${string & K_31}`, K_46, "."> extends infer T_73 ? T_73 extends PrefixWith<`${string & K_31}`, K_46, "."> ? T_73 extends SplitAC ? "value" : "default" : never : never] extends infer T_75 ? T_75 extends T_74[PrefixWith<`${string & K_31}`, K_46, "."> extends infer T_73 ? T_73 extends PrefixWith<`${string & K_31}`, K_46, "."> ? T_73 extends SplitAC ? "value" : "default" : never : never] ? T_75 extends CanBeExpanded ? T_75[PrefixWith<`${string & K_31}`, K_46, "."> extends infer T_73 ? T_73 extends PrefixWith<`${string & K_31}`, K_46, "."> ? T_73 extends SplitAC ? "value" : "default" : never : never] extends infer T_76 ? T_76 extends T_75[PrefixWith<`${string & K_31}`, K_46, "."> extends infer T_73 ? T_73 extends PrefixWith<`${string & K_31}`, K_46, "."> ? T_73 extends SplitAC ? "value" : "default" : never : never] ? T_76 extends CanBeExpanded ? any : T_76 extends (infer U)[] ? any[] : T_76 extends object ? { [K_47 in keyof T_76]-?: any; } : T_76 : never : never : T_75 extends (infer U)[] ? any[] : T_75 extends object ? { [K_48 in keyof T_75]-?: T_75[K_48] extends infer T_77 ? T_77 extends T_75[K_48] ? T_77 extends CanBeExpanded ? any : T_77 extends (infer U)[] ? any[] : T_77 extends object ? { [K_49 in keyof T_77]-?: T_77[K_49] extends infer T_78 ? T_78 extends T_77[K_49] ? T_78 extends CanBeExpanded ? T_78["default"] : T_78 : never : never; } : T_77 : never : never; } : T_75 : never : never : T_74 extends (infer U)[] ? any[] : T_74 extends object ? { [K_50 in keyof T_74]-?: T_74[K_50] extends infer T_79 ? T_79 extends T_74[K_50] ? T_79 extends CanBeExpanded ? T_79[PrefixWith, K_50, "."> extends infer T_80 ? T_80 extends PrefixWith, K_50, "."> ? T_80 extends SplitAC ? "value" : "default" : never : never] extends infer T_81 ? T_81 extends T_79[PrefixWith, K_50, "."> extends infer T_80 ? T_80 extends PrefixWith, K_50, "."> ? T_80 extends SplitAC ? "value" : "default" : never : never] ? T_81 extends CanBeExpanded ? any : T_81 extends (infer U)[] ? any[] : T_81 extends object ? { [K_51 in keyof T_81]-?: T_81[K_51] extends infer T_82 ? T_82 extends T_81[K_51] ? T_82 extends CanBeExpanded ? T_82["default"] : T_82 : never : never; } : T_81 : never : never : T_79 extends (infer U)[] ? any[] : T_79 extends object ? { [K_52 in keyof T_79]-?: T_79[K_52] extends infer T_83 ? T_83 extends T_79[K_52] ? T_83 extends CanBeExpanded ? T_83["default"] : T_83 : never : never; } : T_79 : never : never; } : T_74 : never : never : T_72 extends (infer U)[] ? any[] : T_72 extends object ? { [K_53 in keyof T_72]-?: T_72[K_53] extends infer T_84 ? T_84 extends T_72[K_53] ? T_84 extends CanBeExpanded ? T_84[PrefixWith, K_53, "."> extends infer T_85 ? T_85 extends PrefixWith, K_53, "."> ? T_85 extends SplitAC ? "value" : "default" : never : never] extends infer T_86 ? T_86 extends T_84[PrefixWith, K_53, "."> extends infer T_85 ? T_85 extends PrefixWith, K_53, "."> ? T_85 extends SplitAC ? "value" : "default" : never : never] ? T_86 extends CanBeExpanded ? T_86[PrefixWith, K_53, "."> extends infer T_85 ? T_85 extends PrefixWith, K_53, "."> ? T_85 extends SplitAC ? "value" : "default" : never : never] extends infer T_87 ? T_87 extends T_86[PrefixWith, K_53, "."> extends infer T_85 ? T_85 extends PrefixWith, K_53, "."> ? T_85 extends SplitAC ? "value" : "default" : never : never] ? T_87 extends CanBeExpanded ? any : T_87 extends (infer U)[] ? any[] : T_87 extends object ? { [K_54 in keyof T_87]-?: T_87[K_54] extends infer T_88 ? T_88 extends T_87[K_54] ? T_88 extends CanBeExpanded ? T_88["default"] : T_88 : never : never; } : T_87 : never : never : T_86 extends (infer U)[] ? any[] : T_86 extends object ? { [K_55 in keyof T_86]-?: T_86[K_55] extends infer T_89 ? T_89 extends T_86[K_55] ? T_89 extends CanBeExpanded ? T_89["default"] : T_89 : never : never; } : T_86 : never : never : T_84 extends (infer U)[] ? any[] : T_84 extends object ? { [K_56 in keyof T_84]-?: T_84[K_56] extends infer T_90 ? T_90 extends T_84[K_56] ? T_90 extends CanBeExpanded ? T_90["default"] : T_90 : never : never; } : T_84 : never : never; } : T_72 : never : never; } : T_49 : never : never; } : T_6 : never : never : T_5 extends (infer U)[] ? any[] : T_5 extends object ? { [K_57 in keyof T_5]-?: T_5[K_57] extends infer T_91 ? T_91 extends T_5[K_57] ? T_91 extends CanBeExpanded ? T_91[`${string & K_57}` extends infer T_92 ? T_92 extends `${string & K_57}` ? T_92 extends SplitAC ? "value" : "default" : never : never] extends infer T_93 ? T_93 extends T_91[`${string & K_57}` extends infer T_92 ? T_92 extends `${string & K_57}` ? T_92 extends SplitAC ? "value" : "default" : never : never] ? T_93 extends CanBeExpanded ? T_93[`${string & K_57}` extends infer T_92 ? T_92 extends `${string & K_57}` ? T_92 extends SplitAC ? "value" : "default" : never : never] extends infer T_94 ? T_94 extends T_93[`${string & K_57}` extends infer T_92 ? T_92 extends `${string & K_57}` ? T_92 extends SplitAC ? "value" : "default" : never : never] ? T_94 extends CanBeExpanded ? T_94[`${string & K_57}` extends infer T_92 ? T_92 extends `${string & K_57}` ? T_92 extends SplitAC ? "value" : "default" : never : never] extends infer T_95 ? T_95 extends T_94[`${string & K_57}` extends infer T_92 ? T_92 extends `${string & K_57}` ? T_92 extends SplitAC ? "value" : "default" : never : never] ? T_95 extends CanBeExpanded ? T_95[`${string & K_57}` extends infer T_92 ? T_92 extends `${string & K_57}` ? T_92 extends SplitAC ? "value" : "default" : never : never] extends infer T_96 ? T_96 extends T_95[`${string & K_57}` extends infer T_92 ? T_92 extends `${string & K_57}` ? T_92 extends SplitAC ? "value" : "default" : never : never] ? T_96 extends CanBeExpanded ? T_96[`${string & K_57}` extends infer T_92 ? T_92 extends `${string & K_57}` ? T_92 extends SplitAC ? "value" : "default" : never : never] extends infer T_97 ? T_97 extends T_96[`${string & K_57}` extends infer T_92 ? T_92 extends `${string & K_57}` ? T_92 extends SplitAC ? "value" : "default" : never : never] ? T_97 extends CanBeExpanded ? any : T_97 extends (infer U)[] ? any[] : T_97 extends object ? { [K_58 in keyof T_97]-?: any; } : T_97 : never : never : T_96 extends (infer U)[] ? any[] : T_96 extends object ? { [K_59 in keyof T_96]-?: T_96[K_59] extends infer T_98 ? T_98 extends T_96[K_59] ? T_98 extends CanBeExpanded ? any : T_98 extends (infer U)[] ? any[] : T_98 extends object ? { [K_60 in keyof T_98]-?: any; } : T_98 : never : never; } : T_96 : never : never : T_95 extends (infer U)[] ? any[] : T_95 extends object ? { [K_61 in keyof T_95]-?: T_95[K_61] extends infer T_99 ? T_99 extends T_95[K_61] ? T_99 extends CanBeExpanded ? T_99[PrefixWith<`${string & K_57}`, K_61, "."> extends infer T_100 ? T_100 extends PrefixWith<`${string & K_57}`, K_61, "."> ? T_100 extends SplitAC ? "value" : "default" : never : never] extends infer T_101 ? T_101 extends T_99[PrefixWith<`${string & K_57}`, K_61, "."> extends infer T_100 ? T_100 extends PrefixWith<`${string & K_57}`, K_61, "."> ? T_100 extends SplitAC ? "value" : "default" : never : never] ? T_101 extends CanBeExpanded ? any : T_101 extends (infer U)[] ? any[] : T_101 extends object ? { [K_62 in keyof T_101]-?: any; } : T_101 : never : never : T_99 extends (infer U)[] ? any[] : T_99 extends object ? { [K_63 in keyof T_99]-?: T_99[K_63] extends infer T_102 ? T_102 extends T_99[K_63] ? T_102 extends CanBeExpanded ? any : T_102 extends (infer U)[] ? any[] : T_102 extends object ? { [K_64 in keyof T_102]-?: T_102[K_64] extends infer T_103 ? T_103 extends T_102[K_64] ? T_103 extends CanBeExpanded ? T_103["default"] : T_103 : never : never; } : T_102 : never : never; } : T_99 : never : never; } : T_95 : never : never : T_94 extends (infer U)[] ? any[] : T_94 extends object ? { [K_65 in keyof T_94]-?: T_94[K_65] extends infer T_104 ? T_104 extends T_94[K_65] ? T_104 extends CanBeExpanded ? T_104[PrefixWith<`${string & K_57}`, K_65, "."> extends infer T_105 ? T_105 extends PrefixWith<`${string & K_57}`, K_65, "."> ? T_105 extends SplitAC ? "value" : "default" : never : never] extends infer T_106 ? T_106 extends T_104[PrefixWith<`${string & K_57}`, K_65, "."> extends infer T_105 ? T_105 extends PrefixWith<`${string & K_57}`, K_65, "."> ? T_105 extends SplitAC ? "value" : "default" : never : never] ? T_106 extends CanBeExpanded ? T_106[PrefixWith<`${string & K_57}`, K_65, "."> extends infer T_105 ? T_105 extends PrefixWith<`${string & K_57}`, K_65, "."> ? T_105 extends SplitAC ? "value" : "default" : never : never] extends infer T_107 ? T_107 extends T_106[PrefixWith<`${string & K_57}`, K_65, "."> extends infer T_105 ? T_105 extends PrefixWith<`${string & K_57}`, K_65, "."> ? T_105 extends SplitAC ? "value" : "default" : never : never] ? T_107 extends CanBeExpanded ? any : T_107 extends (infer U)[] ? any[] : T_107 extends object ? { [K_66 in keyof T_107]-?: any; } : T_107 : never : never : T_106 extends (infer U)[] ? any[] : T_106 extends object ? { [K_67 in keyof T_106]-?: T_106[K_67] extends infer T_108 ? T_108 extends T_106[K_67] ? T_108 extends CanBeExpanded ? any : T_108 extends (infer U)[] ? any[] : T_108 extends object ? { [K_68 in keyof T_108]-?: T_108[K_68] extends infer T_109 ? T_109 extends T_108[K_68] ? T_109 extends CanBeExpanded ? T_109["default"] : T_109 : never : never; } : T_108 : never : never; } : T_106 : never : never : T_104 extends (infer U)[] ? any[] : T_104 extends object ? { [K_69 in keyof T_104]-?: T_104[K_69] extends infer T_110 ? T_110 extends T_104[K_69] ? T_110 extends CanBeExpanded ? T_110[PrefixWith, K_69, "."> extends infer T_111 ? T_111 extends PrefixWith, K_69, "."> ? T_111 extends SplitAC ? "value" : "default" : never : never] extends infer T_112 ? T_112 extends T_110[PrefixWith, K_69, "."> extends infer T_111 ? T_111 extends PrefixWith, K_69, "."> ? T_111 extends SplitAC ? "value" : "default" : never : never] ? T_112 extends CanBeExpanded ? any : T_112 extends (infer U)[] ? any[] : T_112 extends object ? { [K_70 in keyof T_112]-?: T_112[K_70] extends infer T_113 ? T_113 extends T_112[K_70] ? T_113 extends CanBeExpanded ? T_113["default"] : T_113 : never : never; } : T_112 : never : never : T_110 extends (infer U)[] ? any[] : T_110 extends object ? { [K_71 in keyof T_110]-?: T_110[K_71] extends infer T_114 ? T_114 extends T_110[K_71] ? T_114 extends CanBeExpanded ? T_114["default"] : T_114 : never : never; } : T_110 : never : never; } : T_104 : never : never; } : T_94 : never : never : T_93 extends (infer U)[] ? any[] : T_93 extends object ? { [K_72 in keyof T_93]-?: T_93[K_72] extends infer T_115 ? T_115 extends T_93[K_72] ? T_115 extends CanBeExpanded ? T_115[PrefixWith<`${string & K_57}`, K_72, "."> extends infer T_116 ? T_116 extends PrefixWith<`${string & K_57}`, K_72, "."> ? T_116 extends SplitAC ? "value" : "default" : never : never] extends infer T_117 ? T_117 extends T_115[PrefixWith<`${string & K_57}`, K_72, "."> extends infer T_116 ? T_116 extends PrefixWith<`${string & K_57}`, K_72, "."> ? T_116 extends SplitAC ? "value" : "default" : never : never] ? T_117 extends CanBeExpanded ? T_117[PrefixWith<`${string & K_57}`, K_72, "."> extends infer T_116 ? T_116 extends PrefixWith<`${string & K_57}`, K_72, "."> ? T_116 extends SplitAC ? "value" : "default" : never : never] extends infer T_118 ? T_118 extends T_117[PrefixWith<`${string & K_57}`, K_72, "."> extends infer T_116 ? T_116 extends PrefixWith<`${string & K_57}`, K_72, "."> ? T_116 extends SplitAC ? "value" : "default" : never : never] ? T_118 extends CanBeExpanded ? T_118[PrefixWith<`${string & K_57}`, K_72, "."> extends infer T_116 ? T_116 extends PrefixWith<`${string & K_57}`, K_72, "."> ? T_116 extends SplitAC ? "value" : "default" : never : never] extends infer T_119 ? T_119 extends T_118[PrefixWith<`${string & K_57}`, K_72, "."> extends infer T_116 ? T_116 extends PrefixWith<`${string & K_57}`, K_72, "."> ? T_116 extends SplitAC ? "value" : "default" : never : never] ? T_119 extends CanBeExpanded ? any : T_119 extends (infer U)[] ? any[] : T_119 extends object ? { [K_73 in keyof T_119]-?: any; } : T_119 : never : never : T_118 extends (infer U)[] ? any[] : T_118 extends object ? { [K_74 in keyof T_118]-?: T_118[K_74] extends infer T_120 ? T_120 extends T_118[K_74] ? T_120 extends CanBeExpanded ? any : T_120 extends (infer U)[] ? any[] : T_120 extends object ? { [K_75 in keyof T_120]-?: T_120[K_75] extends infer T_121 ? T_121 extends T_120[K_75] ? T_121 extends CanBeExpanded ? T_121["default"] : T_121 : never : never; } : T_120 : never : never; } : T_118 : never : never : T_117 extends (infer U)[] ? any[] : T_117 extends object ? { [K_76 in keyof T_117]-?: T_117[K_76] extends infer T_122 ? T_122 extends T_117[K_76] ? T_122 extends CanBeExpanded ? T_122[PrefixWith, K_76, "."> extends infer T_123 ? T_123 extends PrefixWith, K_76, "."> ? T_123 extends SplitAC ? "value" : "default" : never : never] extends infer T_124 ? T_124 extends T_122[PrefixWith, K_76, "."> extends infer T_123 ? T_123 extends PrefixWith, K_76, "."> ? T_123 extends SplitAC ? "value" : "default" : never : never] ? T_124 extends CanBeExpanded ? any : T_124 extends (infer U)[] ? any[] : T_124 extends object ? { [K_77 in keyof T_124]-?: T_124[K_77] extends infer T_125 ? T_125 extends T_124[K_77] ? T_125 extends CanBeExpanded ? T_125["default"] : T_125 : never : never; } : T_124 : never : never : T_122 extends (infer U)[] ? any[] : T_122 extends object ? { [K_78 in keyof T_122]-?: T_122[K_78] extends infer T_126 ? T_126 extends T_122[K_78] ? T_126 extends CanBeExpanded ? T_126["default"] : T_126 : never : never; } : T_122 : never : never; } : T_117 : never : never : T_115 extends (infer U)[] ? any[] : T_115 extends object ? { [K_79 in keyof T_115]-?: T_115[K_79] extends infer T_127 ? T_127 extends T_115[K_79] ? T_127 extends CanBeExpanded ? T_127[PrefixWith, K_79, "."> extends infer T_128 ? T_128 extends PrefixWith, K_79, "."> ? T_128 extends SplitAC ? "value" : "default" : never : never] extends infer T_129 ? T_129 extends T_127[PrefixWith, K_79, "."> extends infer T_128 ? T_128 extends PrefixWith, K_79, "."> ? T_128 extends SplitAC ? "value" : "default" : never : never] ? T_129 extends CanBeExpanded ? T_129[PrefixWith, K_79, "."> extends infer T_128 ? T_128 extends PrefixWith, K_79, "."> ? T_128 extends SplitAC ? "value" : "default" : never : never] extends infer T_130 ? T_130 extends T_129[PrefixWith, K_79, "."> extends infer T_128 ? T_128 extends PrefixWith, K_79, "."> ? T_128 extends SplitAC ? "value" : "default" : never : never] ? T_130 extends CanBeExpanded ? any : T_130 extends (infer U)[] ? any[] : T_130 extends object ? { [K_80 in keyof T_130]-?: T_130[K_80] extends infer T_131 ? T_131 extends T_130[K_80] ? T_131 extends CanBeExpanded ? T_131["default"] : T_131 : never : never; } : T_130 : never : never : T_129 extends (infer U)[] ? any[] : T_129 extends object ? { [K_81 in keyof T_129]-?: T_129[K_81] extends infer T_132 ? T_132 extends T_129[K_81] ? T_132 extends CanBeExpanded ? T_132["default"] : T_132 : never : never; } : T_129 : never : never : T_127 extends (infer U)[] ? any[] : T_127 extends object ? { [K_82 in keyof T_127]-?: T_127[K_82] extends infer T_133 ? T_133 extends T_127[K_82] ? T_133 extends CanBeExpanded ? T_133["default"] : T_133 : never : never; } : T_127 : never : never; } : T_115 : never : never; } : T_93 : never : never : T_91 extends (infer U)[] ? any[] : T_91 extends object ? { [K_83 in keyof T_91]-?: T_91[K_83] extends infer T_134 ? T_134 extends T_91[K_83] ? T_134 extends CanBeExpanded ? T_134[PrefixWith<`${string & K_57}`, K_83, "."> extends infer T_135 ? T_135 extends PrefixWith<`${string & K_57}`, K_83, "."> ? T_135 extends SplitAC ? "value" : "default" : never : never] extends infer T_136 ? T_136 extends T_134[PrefixWith<`${string & K_57}`, K_83, "."> extends infer T_135 ? T_135 extends PrefixWith<`${string & K_57}`, K_83, "."> ? T_135 extends SplitAC ? "value" : "default" : never : never] ? T_136 extends CanBeExpanded ? T_136[PrefixWith<`${string & K_57}`, K_83, "."> extends infer T_135 ? T_135 extends PrefixWith<`${string & K_57}`, K_83, "."> ? T_135 extends SplitAC ? "value" : "default" : never : never] extends infer T_137 ? T_137 extends T_136[PrefixWith<`${string & K_57}`, K_83, "."> extends infer T_135 ? T_135 extends PrefixWith<`${string & K_57}`, K_83, "."> ? T_135 extends SplitAC ? "value" : "default" : never : never] ? T_137 extends CanBeExpanded ? T_137[PrefixWith<`${string & K_57}`, K_83, "."> extends infer T_135 ? T_135 extends PrefixWith<`${string & K_57}`, K_83, "."> ? T_135 extends SplitAC ? "value" : "default" : never : never] extends infer T_138 ? T_138 extends T_137[PrefixWith<`${string & K_57}`, K_83, "."> extends infer T_135 ? T_135 extends PrefixWith<`${string & K_57}`, K_83, "."> ? T_135 extends SplitAC ? "value" : "default" : never : never] ? T_138 extends CanBeExpanded ? T_138[PrefixWith<`${string & K_57}`, K_83, "."> extends infer T_135 ? T_135 extends PrefixWith<`${string & K_57}`, K_83, "."> ? T_135 extends SplitAC ? "value" : "default" : never : never] extends infer T_139 ? T_139 extends T_138[PrefixWith<`${string & K_57}`, K_83, "."> extends infer T_135 ? T_135 extends PrefixWith<`${string & K_57}`, K_83, "."> ? T_135 extends SplitAC ? "value" : "default" : never : never] ? T_139 extends CanBeExpanded ? any : T_139 extends (infer U)[] ? any[] : T_139 extends object ? { [K_84 in keyof T_139]-?: any; } : T_139 : never : never : T_138 extends (infer U)[] ? any[] : T_138 extends object ? { [K_85 in keyof T_138]-?: T_138[K_85] extends infer T_140 ? T_140 extends T_138[K_85] ? T_140 extends CanBeExpanded ? any : T_140 extends (infer U)[] ? any[] : T_140 extends object ? { [K_86 in keyof T_140]-?: T_140[K_86] extends infer T_141 ? T_141 extends T_140[K_86] ? T_141 extends CanBeExpanded ? T_141["default"] : T_141 : never : never; } : T_140 : never : never; } : T_138 : never : never : T_137 extends (infer U)[] ? any[] : T_137 extends object ? { [K_87 in keyof T_137]-?: T_137[K_87] extends infer T_142 ? T_142 extends T_137[K_87] ? T_142 extends CanBeExpanded ? T_142[PrefixWith, K_87, "."> extends infer T_143 ? T_143 extends PrefixWith, K_87, "."> ? T_143 extends SplitAC ? "value" : "default" : never : never] extends infer T_144 ? T_144 extends T_142[PrefixWith, K_87, "."> extends infer T_143 ? T_143 extends PrefixWith, K_87, "."> ? T_143 extends SplitAC ? "value" : "default" : never : never] ? T_144 extends CanBeExpanded ? any : T_144 extends (infer U)[] ? any[] : T_144 extends object ? { [K_88 in keyof T_144]-?: T_144[K_88] extends infer T_145 ? T_145 extends T_144[K_88] ? T_145 extends CanBeExpanded ? T_145["default"] : T_145 : never : never; } : T_144 : never : never : T_142 extends (infer U)[] ? any[] : T_142 extends object ? { [K_89 in keyof T_142]-?: T_142[K_89] extends infer T_146 ? T_146 extends T_142[K_89] ? T_146 extends CanBeExpanded ? T_146["default"] : T_146 : never : never; } : T_142 : never : never; } : T_137 : never : never : T_136 extends (infer U)[] ? any[] : T_136 extends object ? { [K_90 in keyof T_136]-?: T_136[K_90] extends infer T_147 ? T_147 extends T_136[K_90] ? T_147 extends CanBeExpanded ? T_147[PrefixWith, K_90, "."> extends infer T_148 ? T_148 extends PrefixWith, K_90, "."> ? T_148 extends SplitAC ? "value" : "default" : never : never] extends infer T_149 ? T_149 extends T_147[PrefixWith, K_90, "."> extends infer T_148 ? T_148 extends PrefixWith, K_90, "."> ? T_148 extends SplitAC ? "value" : "default" : never : never] ? T_149 extends CanBeExpanded ? T_149[PrefixWith, K_90, "."> extends infer T_148 ? T_148 extends PrefixWith, K_90, "."> ? T_148 extends SplitAC ? "value" : "default" : never : never] extends infer T_150 ? T_150 extends T_149[PrefixWith, K_90, "."> extends infer T_148 ? T_148 extends PrefixWith, K_90, "."> ? T_148 extends SplitAC ? "value" : "default" : never : never] ? T_150 extends CanBeExpanded ? any : T_150 extends (infer U)[] ? any[] : T_150 extends object ? { [K_91 in keyof T_150]-?: T_150[K_91] extends infer T_151 ? T_151 extends T_150[K_91] ? T_151 extends CanBeExpanded ? T_151["default"] : T_151 : never : never; } : T_150 : never : never : T_149 extends (infer U)[] ? any[] : T_149 extends object ? { [K_92 in keyof T_149]-?: T_149[K_92] extends infer T_152 ? T_152 extends T_149[K_92] ? T_152 extends CanBeExpanded ? T_152["default"] : T_152 : never : never; } : T_149 : never : never : T_147 extends (infer U)[] ? any[] : T_147 extends object ? { [K_93 in keyof T_147]-?: T_147[K_93] extends infer T_153 ? T_153 extends T_147[K_93] ? T_153 extends CanBeExpanded ? T_153["default"] : T_153 : never : never; } : T_147 : never : never; } : T_136 : never : never : T_134 extends (infer U)[] ? any[] : T_134 extends object ? { [K_94 in keyof T_134]-?: T_134[K_94] extends infer T_154 ? T_154 extends T_134[K_94] ? T_154 extends CanBeExpanded ? T_154[PrefixWith, K_94, "."> extends infer T_155 ? T_155 extends PrefixWith, K_94, "."> ? T_155 extends SplitAC ? "value" : "default" : never : never] extends infer T_156 ? T_156 extends T_154[PrefixWith, K_94, "."> extends infer T_155 ? T_155 extends PrefixWith, K_94, "."> ? T_155 extends SplitAC ? "value" : "default" : never : never] ? T_156 extends CanBeExpanded ? T_156[PrefixWith, K_94, "."> extends infer T_155 ? T_155 extends PrefixWith, K_94, "."> ? T_155 extends SplitAC ? "value" : "default" : never : never] extends infer T_157 ? T_157 extends T_156[PrefixWith, K_94, "."> extends infer T_155 ? T_155 extends PrefixWith, K_94, "."> ? T_155 extends SplitAC ? "value" : "default" : never : never] ? T_157 extends CanBeExpanded ? T_157[PrefixWith, K_94, "."> extends infer T_155 ? T_155 extends PrefixWith, K_94, "."> ? T_155 extends SplitAC ? "value" : "default" : never : never] extends infer T_158 ? T_158 extends T_157[PrefixWith, K_94, "."> extends infer T_155 ? T_155 extends PrefixWith, K_94, "."> ? T_155 extends SplitAC ? "value" : "default" : never : never] ? T_158 extends CanBeExpanded ? any : T_158 extends (infer U)[] ? any[] : T_158 extends object ? { [K_95 in keyof T_158]-?: T_158[K_95] extends infer T_159 ? T_159 extends T_158[K_95] ? T_159 extends CanBeExpanded ? T_159["default"] : T_159 : never : never; } : T_158 : never : never : T_157 extends (infer U)[] ? any[] : T_157 extends object ? { [K_96 in keyof T_157]-?: T_157[K_96] extends infer T_160 ? T_160 extends T_157[K_96] ? T_160 extends CanBeExpanded ? T_160["default"] : T_160 : never : never; } : T_157 : never : never : T_156 extends (infer U)[] ? any[] : T_156 extends object ? { [K_97 in keyof T_156]-?: T_156[K_97] extends infer T_161 ? T_161 extends T_156[K_97] ? T_161 extends CanBeExpanded ? T_161["default"] : T_161 : never : never; } : T_156 : never : never : T_154 extends (infer U)[] ? any[] : T_154 extends object ? { [K_98 in keyof T_154]-?: T_154[K_98] extends infer T_162 ? T_162 extends T_154[K_98] ? T_162 extends CanBeExpanded ? T_162["default"] : T_162 : never : never; } : T_154 : never : never; } : T_134 : never : never; } : T_91 : never : never; } : T_5 : never : never : T_4 extends (infer U)[] ? any[] : T_4 extends object ? { [K_99 in keyof T_4]-?: T_4[K_99] extends infer T_163 ? T_163 extends T_4[K_99] ? T_163 extends CanBeExpanded ? T_163[`${string & K_99}` extends infer T_164 ? T_164 extends `${string & K_99}` ? T_164 extends SplitAC ? "value" : "default" : never : never] extends infer T_165 ? T_165 extends T_163[`${string & K_99}` extends infer T_164 ? T_164 extends `${string & K_99}` ? T_164 extends SplitAC ? "value" : "default" : never : never] ? T_165 extends CanBeExpanded ? T_165[`${string & K_99}` extends infer T_164 ? T_164 extends `${string & K_99}` ? T_164 extends SplitAC ? "value" : "default" : never : never] extends infer T_166 ? T_166 extends T_165[`${string & K_99}` extends infer T_164 ? T_164 extends `${string & K_99}` ? T_164 extends SplitAC ? "value" : "default" : never : never] ? T_166 extends CanBeExpanded ? T_166[`${string & K_99}` extends infer T_164 ? T_164 extends `${string & K_99}` ? T_164 extends SplitAC ? "value" : "default" : never : never] extends infer T_167 ? T_167 extends T_166[`${string & K_99}` extends infer T_164 ? T_164 extends `${string & K_99}` ? T_164 extends SplitAC ? "value" : "default" : never : never] ? T_167 extends CanBeExpanded ? T_167[`${string & K_99}` extends infer T_164 ? T_164 extends `${string & K_99}` ? T_164 extends SplitAC ? "value" : "default" : never : never] extends infer T_168 ? T_168 extends T_167[`${string & K_99}` extends infer T_164 ? T_164 extends `${string & K_99}` ? T_164 extends SplitAC ? "value" : "default" : never : never] ? T_168 extends CanBeExpanded ? T_168[`${string & K_99}` extends infer T_164 ? T_164 extends `${string & K_99}` ? T_164 extends SplitAC ? "value" : "default" : never : never] extends infer T_169 ? T_169 extends T_168[`${string & K_99}` extends infer T_164 ? T_164 extends `${string & K_99}` ? T_164 extends SplitAC ? "value" : "default" : never : never] ? T_169 extends CanBeExpanded ? T_169[`${string & K_99}` extends infer T_164 ? T_164 extends `${string & K_99}` ? T_164 extends SplitAC ? "value" : "default" : never : never] extends infer T_170 ? T_170 extends T_169[`${string & K_99}` extends infer T_164 ? T_164 extends `${string & K_99}` ? T_164 extends SplitAC ? "value" : "default" : never : never] ? T_170 extends CanBeExpanded ? any : T_170 extends (infer U)[] ? any[] : T_170 extends object ? { [K_100 in keyof T_170]-?: any; } : T_170 : never : never : T_169 extends (infer U)[] ? any[] : T_169 extends object ? { [K_101 in keyof T_169]-?: T_169[K_101] extends infer T_171 ? T_171 extends T_169[K_101] ? T_171 extends CanBeExpanded ? any : T_171 extends (infer U)[] ? any[] : T_171 extends object ? { [K_102 in keyof T_171]-?: any; } : T_171 : never : never; } : T_169 : never : never : T_168 extends (infer U)[] ? any[] : T_168 extends object ? { [K_103 in keyof T_168]-?: T_168[K_103] extends infer T_172 ? T_172 extends T_168[K_103] ? T_172 extends CanBeExpanded ? T_172[PrefixWith<`${string & K_99}`, K_103, "."> extends infer T_173 ? T_173 extends PrefixWith<`${string & K_99}`, K_103, "."> ? T_173 extends SplitAC ? "value" : "default" : never : never] extends infer T_174 ? T_174 extends T_172[PrefixWith<`${string & K_99}`, K_103, "."> extends infer T_173 ? T_173 extends PrefixWith<`${string & K_99}`, K_103, "."> ? T_173 extends SplitAC ? "value" : "default" : never : never] ? T_174 extends CanBeExpanded ? any : T_174 extends (infer U)[] ? any[] : T_174 extends object ? { [K_104 in keyof T_174]-?: any; } : T_174 : never : never : T_172 extends (infer U)[] ? any[] : T_172 extends object ? { [K_105 in keyof T_172]-?: T_172[K_105] extends infer T_175 ? T_175 extends T_172[K_105] ? T_175 extends CanBeExpanded ? any : T_175 extends (infer U)[] ? any[] : T_175 extends object ? { [K_106 in keyof T_175]-?: T_175[K_106] extends infer T_176 ? T_176 extends T_175[K_106] ? T_176 extends CanBeExpanded ? T_176["default"] : T_176 : never : never; } : T_175 : never : never; } : T_172 : never : never; } : T_168 : never : never : T_167 extends (infer U)[] ? any[] : T_167 extends object ? { [K_107 in keyof T_167]-?: T_167[K_107] extends infer T_177 ? T_177 extends T_167[K_107] ? T_177 extends CanBeExpanded ? T_177[PrefixWith<`${string & K_99}`, K_107, "."> extends infer T_178 ? T_178 extends PrefixWith<`${string & K_99}`, K_107, "."> ? T_178 extends SplitAC ? "value" : "default" : never : never] extends infer T_179 ? T_179 extends T_177[PrefixWith<`${string & K_99}`, K_107, "."> extends infer T_178 ? T_178 extends PrefixWith<`${string & K_99}`, K_107, "."> ? T_178 extends SplitAC ? "value" : "default" : never : never] ? T_179 extends CanBeExpanded ? T_179[PrefixWith<`${string & K_99}`, K_107, "."> extends infer T_178 ? T_178 extends PrefixWith<`${string & K_99}`, K_107, "."> ? T_178 extends SplitAC ? "value" : "default" : never : never] extends infer T_180 ? T_180 extends T_179[PrefixWith<`${string & K_99}`, K_107, "."> extends infer T_178 ? T_178 extends PrefixWith<`${string & K_99}`, K_107, "."> ? T_178 extends SplitAC ? "value" : "default" : never : never] ? T_180 extends CanBeExpanded ? any : T_180 extends (infer U)[] ? any[] : T_180 extends object ? { [K_108 in keyof T_180]-?: any; } : T_180 : never : never : T_179 extends (infer U)[] ? any[] : T_179 extends object ? { [K_109 in keyof T_179]-?: T_179[K_109] extends infer T_181 ? T_181 extends T_179[K_109] ? T_181 extends CanBeExpanded ? any : T_181 extends (infer U)[] ? any[] : T_181 extends object ? { [K_110 in keyof T_181]-?: T_181[K_110] extends infer T_182 ? T_182 extends T_181[K_110] ? T_182 extends CanBeExpanded ? T_182["default"] : T_182 : never : never; } : T_181 : never : never; } : T_179 : never : never : T_177 extends (infer U)[] ? any[] : T_177 extends object ? { [K_111 in keyof T_177]-?: T_177[K_111] extends infer T_183 ? T_183 extends T_177[K_111] ? T_183 extends CanBeExpanded ? T_183[PrefixWith, K_111, "."> extends infer T_184 ? T_184 extends PrefixWith, K_111, "."> ? T_184 extends SplitAC ? "value" : "default" : never : never] extends infer T_185 ? T_185 extends T_183[PrefixWith, K_111, "."> extends infer T_184 ? T_184 extends PrefixWith, K_111, "."> ? T_184 extends SplitAC ? "value" : "default" : never : never] ? T_185 extends CanBeExpanded ? any : T_185 extends (infer U)[] ? any[] : T_185 extends object ? { [K_112 in keyof T_185]-?: T_185[K_112] extends infer T_186 ? T_186 extends T_185[K_112] ? T_186 extends CanBeExpanded ? T_186["default"] : T_186 : never : never; } : T_185 : never : never : T_183 extends (infer U)[] ? any[] : T_183 extends object ? { [K_113 in keyof T_183]-?: T_183[K_113] extends infer T_187 ? T_187 extends T_183[K_113] ? T_187 extends CanBeExpanded ? T_187["default"] : T_187 : never : never; } : T_183 : never : never; } : T_177 : never : never; } : T_167 : never : never : T_166 extends (infer U)[] ? any[] : T_166 extends object ? { [K_114 in keyof T_166]-?: T_166[K_114] extends infer T_188 ? T_188 extends T_166[K_114] ? T_188 extends CanBeExpanded ? T_188[PrefixWith<`${string & K_99}`, K_114, "."> extends infer T_189 ? T_189 extends PrefixWith<`${string & K_99}`, K_114, "."> ? T_189 extends SplitAC ? "value" : "default" : never : never] extends infer T_190 ? T_190 extends T_188[PrefixWith<`${string & K_99}`, K_114, "."> extends infer T_189 ? T_189 extends PrefixWith<`${string & K_99}`, K_114, "."> ? T_189 extends SplitAC ? "value" : "default" : never : never] ? T_190 extends CanBeExpanded ? T_190[PrefixWith<`${string & K_99}`, K_114, "."> extends infer T_189 ? T_189 extends PrefixWith<`${string & K_99}`, K_114, "."> ? T_189 extends SplitAC ? "value" : "default" : never : never] extends infer T_191 ? T_191 extends T_190[PrefixWith<`${string & K_99}`, K_114, "."> extends infer T_189 ? T_189 extends PrefixWith<`${string & K_99}`, K_114, "."> ? T_189 extends SplitAC ? "value" : "default" : never : never] ? T_191 extends CanBeExpanded ? T_191[PrefixWith<`${string & K_99}`, K_114, "."> extends infer T_189 ? T_189 extends PrefixWith<`${string & K_99}`, K_114, "."> ? T_189 extends SplitAC ? "value" : "default" : never : never] extends infer T_192 ? T_192 extends T_191[PrefixWith<`${string & K_99}`, K_114, "."> extends infer T_189 ? T_189 extends PrefixWith<`${string & K_99}`, K_114, "."> ? T_189 extends SplitAC ? "value" : "default" : never : never] ? T_192 extends CanBeExpanded ? any : T_192 extends (infer U)[] ? any[] : T_192 extends object ? { [K_115 in keyof T_192]-?: any; } : T_192 : never : never : T_191 extends (infer U)[] ? any[] : T_191 extends object ? { [K_116 in keyof T_191]-?: T_191[K_116] extends infer T_193 ? T_193 extends T_191[K_116] ? T_193 extends CanBeExpanded ? any : T_193 extends (infer U)[] ? any[] : T_193 extends object ? { [K_117 in keyof T_193]-?: T_193[K_117] extends infer T_194 ? T_194 extends T_193[K_117] ? T_194 extends CanBeExpanded ? T_194["default"] : T_194 : never : never; } : T_193 : never : never; } : T_191 : never : never : T_190 extends (infer U)[] ? any[] : T_190 extends object ? { [K_118 in keyof T_190]-?: T_190[K_118] extends infer T_195 ? T_195 extends T_190[K_118] ? T_195 extends CanBeExpanded ? T_195[PrefixWith, K_118, "."> extends infer T_196 ? T_196 extends PrefixWith, K_118, "."> ? T_196 extends SplitAC ? "value" : "default" : never : never] extends infer T_197 ? T_197 extends T_195[PrefixWith, K_118, "."> extends infer T_196 ? T_196 extends PrefixWith, K_118, "."> ? T_196 extends SplitAC ? "value" : "default" : never : never] ? T_197 extends CanBeExpanded ? any : T_197 extends (infer U)[] ? any[] : T_197 extends object ? { [K_119 in keyof T_197]-?: T_197[K_119] extends infer T_198 ? T_198 extends T_197[K_119] ? T_198 extends CanBeExpanded ? T_198["default"] : T_198 : never : never; } : T_197 : never : never : T_195 extends (infer U)[] ? any[] : T_195 extends object ? { [K_120 in keyof T_195]-?: T_195[K_120] extends infer T_199 ? T_199 extends T_195[K_120] ? T_199 extends CanBeExpanded ? T_199["default"] : T_199 : never : never; } : T_195 : never : never; } : T_190 : never : never : T_188 extends (infer U)[] ? any[] : T_188 extends object ? { [K_121 in keyof T_188]-?: T_188[K_121] extends infer T_200 ? T_200 extends T_188[K_121] ? T_200 extends CanBeExpanded ? T_200[PrefixWith, K_121, "."> extends infer T_201 ? T_201 extends PrefixWith, K_121, "."> ? T_201 extends SplitAC ? "value" : "default" : never : never] extends infer T_202 ? T_202 extends T_200[PrefixWith, K_121, "."> extends infer T_201 ? T_201 extends PrefixWith, K_121, "."> ? T_201 extends SplitAC ? "value" : "default" : never : never] ? T_202 extends CanBeExpanded ? T_202[PrefixWith, K_121, "."> extends infer T_201 ? T_201 extends PrefixWith, K_121, "."> ? T_201 extends SplitAC ? "value" : "default" : never : never] extends infer T_203 ? T_203 extends T_202[PrefixWith, K_121, "."> extends infer T_201 ? T_201 extends PrefixWith, K_121, "."> ? T_201 extends SplitAC ? "value" : "default" : never : never] ? T_203 extends CanBeExpanded ? any : T_203 extends (infer U)[] ? any[] : T_203 extends object ? { [K_122 in keyof T_203]-?: T_203[K_122] extends infer T_204 ? T_204 extends T_203[K_122] ? T_204 extends CanBeExpanded ? T_204["default"] : T_204 : never : never; } : T_203 : never : never : T_202 extends (infer U)[] ? any[] : T_202 extends object ? { [K_123 in keyof T_202]-?: T_202[K_123] extends infer T_205 ? T_205 extends T_202[K_123] ? T_205 extends CanBeExpanded ? T_205["default"] : T_205 : never : never; } : T_202 : never : never : T_200 extends (infer U)[] ? any[] : T_200 extends object ? { [K_124 in keyof T_200]-?: T_200[K_124] extends infer T_206 ? T_206 extends T_200[K_124] ? T_206 extends CanBeExpanded ? T_206["default"] : T_206 : never : never; } : T_200 : never : never; } : T_188 : never : never; } : T_166 : never : never : T_165 extends (infer U)[] ? any[] : T_165 extends object ? { [K_125 in keyof T_165]-?: T_165[K_125] extends infer T_207 ? T_207 extends T_165[K_125] ? T_207 extends CanBeExpanded ? T_207[PrefixWith<`${string & K_99}`, K_125, "."> extends infer T_208 ? T_208 extends PrefixWith<`${string & K_99}`, K_125, "."> ? T_208 extends SplitAC ? "value" : "default" : never : never] extends infer T_209 ? T_209 extends T_207[PrefixWith<`${string & K_99}`, K_125, "."> extends infer T_208 ? T_208 extends PrefixWith<`${string & K_99}`, K_125, "."> ? T_208 extends SplitAC ? "value" : "default" : never : never] ? T_209 extends CanBeExpanded ? T_209[PrefixWith<`${string & K_99}`, K_125, "."> extends infer T_208 ? T_208 extends PrefixWith<`${string & K_99}`, K_125, "."> ? T_208 extends SplitAC ? "value" : "default" : never : never] extends infer T_210 ? T_210 extends T_209[PrefixWith<`${string & K_99}`, K_125, "."> extends infer T_208 ? T_208 extends PrefixWith<`${string & K_99}`, K_125, "."> ? T_208 extends SplitAC ? "value" : "default" : never : never] ? T_210 extends CanBeExpanded ? T_210[PrefixWith<`${string & K_99}`, K_125, "."> extends infer T_208 ? T_208 extends PrefixWith<`${string & K_99}`, K_125, "."> ? T_208 extends SplitAC ? "value" : "default" : never : never] extends infer T_211 ? T_211 extends T_210[PrefixWith<`${string & K_99}`, K_125, "."> extends infer T_208 ? T_208 extends PrefixWith<`${string & K_99}`, K_125, "."> ? T_208 extends SplitAC ? "value" : "default" : never : never] ? T_211 extends CanBeExpanded ? T_211[PrefixWith<`${string & K_99}`, K_125, "."> extends infer T_208 ? T_208 extends PrefixWith<`${string & K_99}`, K_125, "."> ? T_208 extends SplitAC ? "value" : "default" : never : never] extends infer T_212 ? T_212 extends T_211[PrefixWith<`${string & K_99}`, K_125, "."> extends infer T_208 ? T_208 extends PrefixWith<`${string & K_99}`, K_125, "."> ? T_208 extends SplitAC ? "value" : "default" : never : never] ? T_212 extends CanBeExpanded ? any : T_212 extends (infer U)[] ? any[] : T_212 extends object ? { [K_126 in keyof T_212]-?: any; } : T_212 : never : never : T_211 extends (infer U)[] ? any[] : T_211 extends object ? { [K_127 in keyof T_211]-?: T_211[K_127] extends infer T_213 ? T_213 extends T_211[K_127] ? T_213 extends CanBeExpanded ? any : T_213 extends (infer U)[] ? any[] : T_213 extends object ? { [K_128 in keyof T_213]-?: T_213[K_128] extends infer T_214 ? T_214 extends T_213[K_128] ? T_214 extends CanBeExpanded ? T_214["default"] : T_214 : never : never; } : T_213 : never : never; } : T_211 : never : never : T_210 extends (infer U)[] ? any[] : T_210 extends object ? { [K_129 in keyof T_210]-?: T_210[K_129] extends infer T_215 ? T_215 extends T_210[K_129] ? T_215 extends CanBeExpanded ? T_215[PrefixWith, K_129, "."> extends infer T_216 ? T_216 extends PrefixWith, K_129, "."> ? T_216 extends SplitAC ? "value" : "default" : never : never] extends infer T_217 ? T_217 extends T_215[PrefixWith, K_129, "."> extends infer T_216 ? T_216 extends PrefixWith, K_129, "."> ? T_216 extends SplitAC ? "value" : "default" : never : never] ? T_217 extends CanBeExpanded ? any : T_217 extends (infer U)[] ? any[] : T_217 extends object ? { [K_130 in keyof T_217]-?: T_217[K_130] extends infer T_218 ? T_218 extends T_217[K_130] ? T_218 extends CanBeExpanded ? T_218["default"] : T_218 : never : never; } : T_217 : never : never : T_215 extends (infer U)[] ? any[] : T_215 extends object ? { [K_131 in keyof T_215]-?: T_215[K_131] extends infer T_219 ? T_219 extends T_215[K_131] ? T_219 extends CanBeExpanded ? T_219["default"] : T_219 : never : never; } : T_215 : never : never; } : T_210 : never : never : T_209 extends (infer U)[] ? any[] : T_209 extends object ? { [K_132 in keyof T_209]-?: T_209[K_132] extends infer T_220 ? T_220 extends T_209[K_132] ? T_220 extends CanBeExpanded ? T_220[PrefixWith, K_132, "."> extends infer T_221 ? T_221 extends PrefixWith, K_132, "."> ? T_221 extends SplitAC ? "value" : "default" : never : never] extends infer T_222 ? T_222 extends T_220[PrefixWith, K_132, "."> extends infer T_221 ? T_221 extends PrefixWith, K_132, "."> ? T_221 extends SplitAC ? "value" : "default" : never : never] ? T_222 extends CanBeExpanded ? T_222[PrefixWith, K_132, "."> extends infer T_221 ? T_221 extends PrefixWith, K_132, "."> ? T_221 extends SplitAC ? "value" : "default" : never : never] extends infer T_223 ? T_223 extends T_222[PrefixWith, K_132, "."> extends infer T_221 ? T_221 extends PrefixWith, K_132, "."> ? T_221 extends SplitAC ? "value" : "default" : never : never] ? T_223 extends CanBeExpanded ? any : T_223 extends (infer U)[] ? any[] : T_223 extends object ? { [K_133 in keyof T_223]-?: T_223[K_133] extends infer T_224 ? T_224 extends T_223[K_133] ? T_224 extends CanBeExpanded ? T_224["default"] : T_224 : never : never; } : T_223 : never : never : T_222 extends (infer U)[] ? any[] : T_222 extends object ? { [K_134 in keyof T_222]-?: T_222[K_134] extends infer T_225 ? T_225 extends T_222[K_134] ? T_225 extends CanBeExpanded ? T_225["default"] : T_225 : never : never; } : T_222 : never : never : T_220 extends (infer U)[] ? any[] : T_220 extends object ? { [K_135 in keyof T_220]-?: T_220[K_135] extends infer T_226 ? T_226 extends T_220[K_135] ? T_226 extends CanBeExpanded ? T_226["default"] : T_226 : never : never; } : T_220 : never : never; } : T_209 : never : never : T_207 extends (infer U)[] ? any[] : T_207 extends object ? { [K_136 in keyof T_207]-?: T_207[K_136] extends infer T_227 ? T_227 extends T_207[K_136] ? T_227 extends CanBeExpanded ? T_227[PrefixWith, K_136, "."> extends infer T_228 ? T_228 extends PrefixWith, K_136, "."> ? T_228 extends SplitAC ? "value" : "default" : never : never] extends infer T_229 ? T_229 extends T_227[PrefixWith, K_136, "."> extends infer T_228 ? T_228 extends PrefixWith, K_136, "."> ? T_228 extends SplitAC ? "value" : "default" : never : never] ? T_229 extends CanBeExpanded ? T_229[PrefixWith, K_136, "."> extends infer T_228 ? T_228 extends PrefixWith, K_136, "."> ? T_228 extends SplitAC ? "value" : "default" : never : never] extends infer T_230 ? T_230 extends T_229[PrefixWith, K_136, "."> extends infer T_228 ? T_228 extends PrefixWith, K_136, "."> ? T_228 extends SplitAC ? "value" : "default" : never : never] ? T_230 extends CanBeExpanded ? T_230[PrefixWith, K_136, "."> extends infer T_228 ? T_228 extends PrefixWith, K_136, "."> ? T_228 extends SplitAC ? "value" : "default" : never : never] extends infer T_231 ? T_231 extends T_230[PrefixWith, K_136, "."> extends infer T_228 ? T_228 extends PrefixWith, K_136, "."> ? T_228 extends SplitAC ? "value" : "default" : never : never] ? T_231 extends CanBeExpanded ? any : T_231 extends (infer U)[] ? any[] : T_231 extends object ? { [K_137 in keyof T_231]-?: T_231[K_137] extends infer T_232 ? T_232 extends T_231[K_137] ? T_232 extends CanBeExpanded ? T_232["default"] : T_232 : never : never; } : T_231 : never : never : T_230 extends (infer U)[] ? any[] : T_230 extends object ? { [K_138 in keyof T_230]-?: T_230[K_138] extends infer T_233 ? T_233 extends T_230[K_138] ? T_233 extends CanBeExpanded ? T_233["default"] : T_233 : never : never; } : T_230 : never : never : T_229 extends (infer U)[] ? any[] : T_229 extends object ? { [K_139 in keyof T_229]-?: T_229[K_139] extends infer T_234 ? T_234 extends T_229[K_139] ? T_234 extends CanBeExpanded ? T_234["default"] : T_234 : never : never; } : T_229 : never : never : T_227 extends (infer U)[] ? any[] : T_227 extends object ? { [K_140 in keyof T_227]-?: T_227[K_140] extends infer T_235 ? T_235 extends T_227[K_140] ? T_235 extends CanBeExpanded ? T_235["default"] : T_235 : never : never; } : T_227 : never : never; } : T_207 : never : never; } : T_165 : never : never : T_163 extends (infer U)[] ? any[] : T_163 extends object ? { [K_141 in keyof T_163]-?: T_163[K_141] extends infer T_236 ? T_236 extends T_163[K_141] ? T_236 extends CanBeExpanded ? T_236[PrefixWith<`${string & K_99}`, K_141, "."> extends infer T_237 ? T_237 extends PrefixWith<`${string & K_99}`, K_141, "."> ? T_237 extends SplitAC ? "value" : "default" : never : never] extends infer T_238 ? T_238 extends T_236[PrefixWith<`${string & K_99}`, K_141, "."> extends infer T_237 ? T_237 extends PrefixWith<`${string & K_99}`, K_141, "."> ? T_237 extends SplitAC ? "value" : "default" : never : never] ? T_238 extends CanBeExpanded ? T_238[PrefixWith<`${string & K_99}`, K_141, "."> extends infer T_237 ? T_237 extends PrefixWith<`${string & K_99}`, K_141, "."> ? T_237 extends SplitAC ? "value" : "default" : never : never] extends infer T_239 ? T_239 extends T_238[PrefixWith<`${string & K_99}`, K_141, "."> extends infer T_237 ? T_237 extends PrefixWith<`${string & K_99}`, K_141, "."> ? T_237 extends SplitAC ? "value" : "default" : never : never] ? T_239 extends CanBeExpanded ? T_239[PrefixWith<`${string & K_99}`, K_141, "."> extends infer T_237 ? T_237 extends PrefixWith<`${string & K_99}`, K_141, "."> ? T_237 extends SplitAC ? "value" : "default" : never : never] extends infer T_240 ? T_240 extends T_239[PrefixWith<`${string & K_99}`, K_141, "."> extends infer T_237 ? T_237 extends PrefixWith<`${string & K_99}`, K_141, "."> ? T_237 extends SplitAC ? "value" : "default" : never : never] ? T_240 extends CanBeExpanded ? T_240[PrefixWith<`${string & K_99}`, K_141, "."> extends infer T_237 ? T_237 extends PrefixWith<`${string & K_99}`, K_141, "."> ? T_237 extends SplitAC ? "value" : "default" : never : never] extends infer T_241 ? T_241 extends T_240[PrefixWith<`${string & K_99}`, K_141, "."> extends infer T_237 ? T_237 extends PrefixWith<`${string & K_99}`, K_141, "."> ? T_237 extends SplitAC ? "value" : "default" : never : never] ? T_241 extends CanBeExpanded ? T_241[PrefixWith<`${string & K_99}`, K_141, "."> extends infer T_237 ? T_237 extends PrefixWith<`${string & K_99}`, K_141, "."> ? T_237 extends SplitAC ? "value" : "default" : never : never] extends infer T_242 ? T_242 extends T_241[PrefixWith<`${string & K_99}`, K_141, "."> extends infer T_237 ? T_237 extends PrefixWith<`${string & K_99}`, K_141, "."> ? T_237 extends SplitAC ? "value" : "default" : never : never] ? T_242 extends CanBeExpanded ? any : T_242 extends (infer U)[] ? any[] : T_242 extends object ? { [K_142 in keyof T_242]-?: any; } : T_242 : never : never : T_241 extends (infer U)[] ? any[] : T_241 extends object ? { [K_143 in keyof T_241]-?: T_241[K_143] extends infer T_243 ? T_243 extends T_241[K_143] ? T_243 extends CanBeExpanded ? any : T_243 extends (infer U)[] ? any[] : T_243 extends object ? { [K_144 in keyof T_243]-?: T_243[K_144] extends infer T_244 ? T_244 extends T_243[K_144] ? T_244 extends CanBeExpanded ? T_244["default"] : T_244 : never : never; } : T_243 : never : never; } : T_241 : never : never : T_240 extends (infer U)[] ? any[] : T_240 extends object ? { [K_145 in keyof T_240]-?: T_240[K_145] extends infer T_245 ? T_245 extends T_240[K_145] ? T_245 extends CanBeExpanded ? T_245[PrefixWith, K_145, "."> extends infer T_246 ? T_246 extends PrefixWith, K_145, "."> ? T_246 extends SplitAC ? "value" : "default" : never : never] extends infer T_247 ? T_247 extends T_245[PrefixWith, K_145, "."> extends infer T_246 ? T_246 extends PrefixWith, K_145, "."> ? T_246 extends SplitAC ? "value" : "default" : never : never] ? T_247 extends CanBeExpanded ? any : T_247 extends (infer U)[] ? any[] : T_247 extends object ? { [K_146 in keyof T_247]-?: T_247[K_146] extends infer T_248 ? T_248 extends T_247[K_146] ? T_248 extends CanBeExpanded ? T_248["default"] : T_248 : never : never; } : T_247 : never : never : T_245 extends (infer U)[] ? any[] : T_245 extends object ? { [K_147 in keyof T_245]-?: T_245[K_147] extends infer T_249 ? T_249 extends T_245[K_147] ? T_249 extends CanBeExpanded ? T_249["default"] : T_249 : never : never; } : T_245 : never : never; } : T_240 : never : never : T_239 extends (infer U)[] ? any[] : T_239 extends object ? { [K_148 in keyof T_239]-?: T_239[K_148] extends infer T_250 ? T_250 extends T_239[K_148] ? T_250 extends CanBeExpanded ? T_250[PrefixWith, K_148, "."> extends infer T_251 ? T_251 extends PrefixWith, K_148, "."> ? T_251 extends SplitAC ? "value" : "default" : never : never] extends infer T_252 ? T_252 extends T_250[PrefixWith, K_148, "."> extends infer T_251 ? T_251 extends PrefixWith, K_148, "."> ? T_251 extends SplitAC ? "value" : "default" : never : never] ? T_252 extends CanBeExpanded ? T_252[PrefixWith, K_148, "."> extends infer T_251 ? T_251 extends PrefixWith, K_148, "."> ? T_251 extends SplitAC ? "value" : "default" : never : never] extends infer T_253 ? T_253 extends T_252[PrefixWith, K_148, "."> extends infer T_251 ? T_251 extends PrefixWith, K_148, "."> ? T_251 extends SplitAC ? "value" : "default" : never : never] ? T_253 extends CanBeExpanded ? any : T_253 extends (infer U)[] ? any[] : T_253 extends object ? { [K_149 in keyof T_253]-?: T_253[K_149] extends infer T_254 ? T_254 extends T_253[K_149] ? T_254 extends CanBeExpanded ? T_254["default"] : T_254 : never : never; } : T_253 : never : never : T_252 extends (infer U)[] ? any[] : T_252 extends object ? { [K_150 in keyof T_252]-?: T_252[K_150] extends infer T_255 ? T_255 extends T_252[K_150] ? T_255 extends CanBeExpanded ? T_255["default"] : T_255 : never : never; } : T_252 : never : never : T_250 extends (infer U)[] ? any[] : T_250 extends object ? { [K_151 in keyof T_250]-?: T_250[K_151] extends infer T_256 ? T_256 extends T_250[K_151] ? T_256 extends CanBeExpanded ? T_256["default"] : T_256 : never : never; } : T_250 : never : never; } : T_239 : never : never : T_238 extends (infer U)[] ? any[] : T_238 extends object ? { [K_152 in keyof T_238]-?: T_238[K_152] extends infer T_257 ? T_257 extends T_238[K_152] ? T_257 extends CanBeExpanded ? T_257[PrefixWith, K_152, "."> extends infer T_258 ? T_258 extends PrefixWith, K_152, "."> ? T_258 extends SplitAC ? "value" : "default" : never : never] extends infer T_259 ? T_259 extends T_257[PrefixWith, K_152, "."> extends infer T_258 ? T_258 extends PrefixWith, K_152, "."> ? T_258 extends SplitAC ? "value" : "default" : never : never] ? T_259 extends CanBeExpanded ? T_259[PrefixWith, K_152, "."> extends infer T_258 ? T_258 extends PrefixWith, K_152, "."> ? T_258 extends SplitAC ? "value" : "default" : never : never] extends infer T_260 ? T_260 extends T_259[PrefixWith, K_152, "."> extends infer T_258 ? T_258 extends PrefixWith, K_152, "."> ? T_258 extends SplitAC ? "value" : "default" : never : never] ? T_260 extends CanBeExpanded ? T_260[PrefixWith, K_152, "."> extends infer T_258 ? T_258 extends PrefixWith, K_152, "."> ? T_258 extends SplitAC ? "value" : "default" : never : never] extends infer T_261 ? T_261 extends T_260[PrefixWith, K_152, "."> extends infer T_258 ? T_258 extends PrefixWith, K_152, "."> ? T_258 extends SplitAC ? "value" : "default" : never : never] ? T_261 extends CanBeExpanded ? any : T_261 extends (infer U)[] ? any[] : T_261 extends object ? { [K_153 in keyof T_261]-?: T_261[K_153] extends infer T_262 ? T_262 extends T_261[K_153] ? T_262 extends CanBeExpanded ? T_262["default"] : T_262 : never : never; } : T_261 : never : never : T_260 extends (infer U)[] ? any[] : T_260 extends object ? { [K_154 in keyof T_260]-?: T_260[K_154] extends infer T_263 ? T_263 extends T_260[K_154] ? T_263 extends CanBeExpanded ? T_263["default"] : T_263 : never : never; } : T_260 : never : never : T_259 extends (infer U)[] ? any[] : T_259 extends object ? { [K_155 in keyof T_259]-?: T_259[K_155] extends infer T_264 ? T_264 extends T_259[K_155] ? T_264 extends CanBeExpanded ? T_264["default"] : T_264 : never : never; } : T_259 : never : never : T_257 extends (infer U)[] ? any[] : T_257 extends object ? { [K_156 in keyof T_257]-?: T_257[K_156] extends infer T_265 ? T_265 extends T_257[K_156] ? T_265 extends CanBeExpanded ? T_265["default"] : T_265 : never : never; } : T_257 : never : never; } : T_238 : never : never : T_236 extends (infer U)[] ? any[] : T_236 extends object ? { [K_157 in keyof T_236]-?: T_236[K_157] extends infer T_266 ? T_266 extends T_236[K_157] ? T_266 extends CanBeExpanded ? T_266[PrefixWith, K_157, "."> extends infer T_267 ? T_267 extends PrefixWith, K_157, "."> ? T_267 extends SplitAC ? "value" : "default" : never : never] extends infer T_268 ? T_268 extends T_266[PrefixWith, K_157, "."> extends infer T_267 ? T_267 extends PrefixWith, K_157, "."> ? T_267 extends SplitAC ? "value" : "default" : never : never] ? T_268 extends CanBeExpanded ? T_268[PrefixWith, K_157, "."> extends infer T_267 ? T_267 extends PrefixWith, K_157, "."> ? T_267 extends SplitAC ? "value" : "default" : never : never] extends infer T_269 ? T_269 extends T_268[PrefixWith, K_157, "."> extends infer T_267 ? T_267 extends PrefixWith, K_157, "."> ? T_267 extends SplitAC ? "value" : "default" : never : never] ? T_269 extends CanBeExpanded ? T_269[PrefixWith, K_157, "."> extends infer T_267 ? T_267 extends PrefixWith, K_157, "."> ? T_267 extends SplitAC ? "value" : "default" : never : never] extends infer T_270 ? T_270 extends T_269[PrefixWith, K_157, "."> extends infer T_267 ? T_267 extends PrefixWith, K_157, "."> ? T_267 extends SplitAC ? "value" : "default" : never : never] ? T_270 extends CanBeExpanded ? T_270[PrefixWith, K_157, "."> extends infer T_267 ? T_267 extends PrefixWith, K_157, "."> ? T_267 extends SplitAC ? "value" : "default" : never : never] extends infer T_271 ? T_271 extends T_270[PrefixWith, K_157, "."> extends infer T_267 ? T_267 extends PrefixWith, K_157, "."> ? T_267 extends SplitAC ? "value" : "default" : never : never] ? T_271 extends CanBeExpanded ? any : T_271 extends (infer U)[] ? any[] : T_271 extends object ? { [K_158 in keyof T_271]-?: T_271[K_158] extends infer T_272 ? T_272 extends T_271[K_158] ? T_272 extends CanBeExpanded ? T_272["default"] : T_272 : never : never; } : T_271 : never : never : T_270 extends (infer U)[] ? any[] : T_270 extends object ? { [K_159 in keyof T_270]-?: T_270[K_159] extends infer T_273 ? T_273 extends T_270[K_159] ? T_273 extends CanBeExpanded ? T_273["default"] : T_273 : never : never; } : T_270 : never : never : T_269 extends (infer U)[] ? any[] : T_269 extends object ? { [K_160 in keyof T_269]-?: T_269[K_160] extends infer T_274 ? T_274 extends T_269[K_160] ? T_274 extends CanBeExpanded ? T_274["default"] : T_274 : never : never; } : T_269 : never : never : T_268 extends (infer U)[] ? any[] : T_268 extends object ? { [K_161 in keyof T_268]-?: T_268[K_161] extends infer T_275 ? T_275 extends T_268[K_161] ? T_275 extends CanBeExpanded ? T_275["default"] : T_275 : never : never; } : T_268 : never : never : T_266 extends (infer U)[] ? any[] : T_266 extends object ? { [K_162 in keyof T_266]-?: T_266[K_162] extends infer T_276 ? T_276 extends T_266[K_162] ? T_276 extends CanBeExpanded ? T_276["default"] : T_276 : never : never; } : T_266 : never : never; } : T_236 : never : never; } : T_163 : never : never; } : T_4 : never : never : T_3 extends (infer U)[] ? any[] : T_3 extends object ? { [K_163 in keyof T_3]-?: T_3[K_163] extends infer T_277 ? T_277 extends T_3[K_163] ? T_277 extends CanBeExpanded ? T_277[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] extends infer T_279 ? T_279 extends T_277[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] ? T_279 extends CanBeExpanded ? T_279[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] extends infer T_280 ? T_280 extends T_279[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] ? T_280 extends CanBeExpanded ? T_280[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] extends infer T_281 ? T_281 extends T_280[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] ? T_281 extends CanBeExpanded ? T_281[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] extends infer T_282 ? T_282 extends T_281[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] ? T_282 extends CanBeExpanded ? T_282[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] extends infer T_283 ? T_283 extends T_282[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] ? T_283 extends CanBeExpanded ? T_283[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] extends infer T_284 ? T_284 extends T_283[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] ? T_284 extends CanBeExpanded ? T_284[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] extends infer T_285 ? T_285 extends T_284[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] ? T_285 extends CanBeExpanded ? any : T_285 extends (infer U)[] ? any[] : T_285 extends object ? { [K_164 in keyof T_285]-?: any; } : T_285 : never : never : T_284 extends (infer U)[] ? any[] : T_284 extends object ? { [K_165 in keyof T_284]-?: T_284[K_165] extends infer T_286 ? T_286 extends T_284[K_165] ? T_286 extends CanBeExpanded ? any : T_286 extends (infer U)[] ? any[] : T_286 extends object ? { [K_166 in keyof T_286]-?: any; } : T_286 : never : never; } : T_284 : never : never : T_283 extends (infer U)[] ? any[] : T_283 extends object ? { [K_167 in keyof T_283]-?: T_283[K_167] extends infer T_287 ? T_287 extends T_283[K_167] ? T_287 extends CanBeExpanded ? T_287[PrefixWith<`${string & K_163}`, K_167, "."> extends infer T_288 ? T_288 extends PrefixWith<`${string & K_163}`, K_167, "."> ? T_288 extends SplitAC ? "value" : "default" : never : never] extends infer T_289 ? T_289 extends T_287[PrefixWith<`${string & K_163}`, K_167, "."> extends infer T_288 ? T_288 extends PrefixWith<`${string & K_163}`, K_167, "."> ? T_288 extends SplitAC ? "value" : "default" : never : never] ? T_289 extends CanBeExpanded ? any : T_289 extends (infer U)[] ? any[] : T_289 extends object ? { [K_168 in keyof T_289]-?: any; } : T_289 : never : never : T_287 extends (infer U)[] ? any[] : T_287 extends object ? { [K_169 in keyof T_287]-?: T_287[K_169] extends infer T_290 ? T_290 extends T_287[K_169] ? T_290 extends CanBeExpanded ? any : T_290 extends (infer U)[] ? any[] : T_290 extends object ? { [K_170 in keyof T_290]-?: T_290[K_170] extends infer T_291 ? T_291 extends T_290[K_170] ? T_291 extends CanBeExpanded ? T_291["default"] : T_291 : never : never; } : T_290 : never : never; } : T_287 : never : never; } : T_283 : never : never : T_282 extends (infer U)[] ? any[] : T_282 extends object ? { [K_171 in keyof T_282]-?: T_282[K_171] extends infer T_292 ? T_292 extends T_282[K_171] ? T_292 extends CanBeExpanded ? T_292[PrefixWith<`${string & K_163}`, K_171, "."> extends infer T_293 ? T_293 extends PrefixWith<`${string & K_163}`, K_171, "."> ? T_293 extends SplitAC ? "value" : "default" : never : never] extends infer T_294 ? T_294 extends T_292[PrefixWith<`${string & K_163}`, K_171, "."> extends infer T_293 ? T_293 extends PrefixWith<`${string & K_163}`, K_171, "."> ? T_293 extends SplitAC ? "value" : "default" : never : never] ? T_294 extends CanBeExpanded ? T_294[PrefixWith<`${string & K_163}`, K_171, "."> extends infer T_293 ? T_293 extends PrefixWith<`${string & K_163}`, K_171, "."> ? T_293 extends SplitAC ? "value" : "default" : never : never] extends infer T_295 ? T_295 extends T_294[PrefixWith<`${string & K_163}`, K_171, "."> extends infer T_293 ? T_293 extends PrefixWith<`${string & K_163}`, K_171, "."> ? T_293 extends SplitAC ? "value" : "default" : never : never] ? T_295 extends CanBeExpanded ? any : T_295 extends (infer U)[] ? any[] : T_295 extends object ? { [K_172 in keyof T_295]-?: any; } : T_295 : never : never : T_294 extends (infer U)[] ? any[] : T_294 extends object ? { [K_173 in keyof T_294]-?: T_294[K_173] extends infer T_296 ? T_296 extends T_294[K_173] ? T_296 extends CanBeExpanded ? any : T_296 extends (infer U)[] ? any[] : T_296 extends object ? { [K_174 in keyof T_296]-?: T_296[K_174] extends infer T_297 ? T_297 extends T_296[K_174] ? T_297 extends CanBeExpanded ? T_297["default"] : T_297 : never : never; } : T_296 : never : never; } : T_294 : never : never : T_292 extends (infer U)[] ? any[] : T_292 extends object ? { [K_175 in keyof T_292]-?: T_292[K_175] extends infer T_298 ? T_298 extends T_292[K_175] ? T_298 extends CanBeExpanded ? T_298[PrefixWith, K_175, "."> extends infer T_299 ? T_299 extends PrefixWith, K_175, "."> ? T_299 extends SplitAC ? "value" : "default" : never : never] extends infer T_300 ? T_300 extends T_298[PrefixWith, K_175, "."> extends infer T_299 ? T_299 extends PrefixWith, K_175, "."> ? T_299 extends SplitAC ? "value" : "default" : never : never] ? T_300 extends CanBeExpanded ? any : T_300 extends (infer U)[] ? any[] : T_300 extends object ? { [K_176 in keyof T_300]-?: T_300[K_176] extends infer T_301 ? T_301 extends T_300[K_176] ? T_301 extends CanBeExpanded ? T_301["default"] : T_301 : never : never; } : T_300 : never : never : T_298 extends (infer U)[] ? any[] : T_298 extends object ? { [K_177 in keyof T_298]-?: T_298[K_177] extends infer T_302 ? T_302 extends T_298[K_177] ? T_302 extends CanBeExpanded ? T_302["default"] : T_302 : never : never; } : T_298 : never : never; } : T_292 : never : never; } : T_282 : never : never : T_281 extends (infer U)[] ? any[] : T_281 extends object ? { [K_178 in keyof T_281]-?: T_281[K_178] extends infer T_303 ? T_303 extends T_281[K_178] ? T_303 extends CanBeExpanded ? T_303[PrefixWith<`${string & K_163}`, K_178, "."> extends infer T_304 ? T_304 extends PrefixWith<`${string & K_163}`, K_178, "."> ? T_304 extends SplitAC ? "value" : "default" : never : never] extends infer T_305 ? T_305 extends T_303[PrefixWith<`${string & K_163}`, K_178, "."> extends infer T_304 ? T_304 extends PrefixWith<`${string & K_163}`, K_178, "."> ? T_304 extends SplitAC ? "value" : "default" : never : never] ? T_305 extends CanBeExpanded ? T_305[PrefixWith<`${string & K_163}`, K_178, "."> extends infer T_304 ? T_304 extends PrefixWith<`${string & K_163}`, K_178, "."> ? T_304 extends SplitAC ? "value" : "default" : never : never] extends infer T_306 ? T_306 extends T_305[PrefixWith<`${string & K_163}`, K_178, "."> extends infer T_304 ? T_304 extends PrefixWith<`${string & K_163}`, K_178, "."> ? T_304 extends SplitAC ? "value" : "default" : never : never] ? T_306 extends CanBeExpanded ? T_306[PrefixWith<`${string & K_163}`, K_178, "."> extends infer T_304 ? T_304 extends PrefixWith<`${string & K_163}`, K_178, "."> ? T_304 extends SplitAC ? "value" : "default" : never : never] extends infer T_307 ? T_307 extends T_306[PrefixWith<`${string & K_163}`, K_178, "."> extends infer T_304 ? T_304 extends PrefixWith<`${string & K_163}`, K_178, "."> ? T_304 extends SplitAC ? "value" : "default" : never : never] ? T_307 extends CanBeExpanded ? any : T_307 extends (infer U)[] ? any[] : T_307 extends object ? { [K_179 in keyof T_307]-?: any; } : T_307 : never : never : T_306 extends (infer U)[] ? any[] : T_306 extends object ? { [K_180 in keyof T_306]-?: T_306[K_180] extends infer T_308 ? T_308 extends T_306[K_180] ? T_308 extends CanBeExpanded ? any : T_308 extends (infer U)[] ? any[] : T_308 extends object ? { [K_181 in keyof T_308]-?: T_308[K_181] extends infer T_309 ? T_309 extends T_308[K_181] ? T_309 extends CanBeExpanded ? T_309["default"] : T_309 : never : never; } : T_308 : never : never; } : T_306 : never : never : T_305 extends (infer U)[] ? any[] : T_305 extends object ? { [K_182 in keyof T_305]-?: T_305[K_182] extends infer T_310 ? T_310 extends T_305[K_182] ? T_310 extends CanBeExpanded ? T_310[PrefixWith, K_182, "."> extends infer T_311 ? T_311 extends PrefixWith, K_182, "."> ? T_311 extends SplitAC ? "value" : "default" : never : never] extends infer T_312 ? T_312 extends T_310[PrefixWith, K_182, "."> extends infer T_311 ? T_311 extends PrefixWith, K_182, "."> ? T_311 extends SplitAC ? "value" : "default" : never : never] ? T_312 extends CanBeExpanded ? any : T_312 extends (infer U)[] ? any[] : T_312 extends object ? { [K_183 in keyof T_312]-?: T_312[K_183] extends infer T_313 ? T_313 extends T_312[K_183] ? T_313 extends CanBeExpanded ? T_313["default"] : T_313 : never : never; } : T_312 : never : never : T_310 extends (infer U)[] ? any[] : T_310 extends object ? { [K_184 in keyof T_310]-?: T_310[K_184] extends infer T_314 ? T_314 extends T_310[K_184] ? T_314 extends CanBeExpanded ? T_314["default"] : T_314 : never : never; } : T_310 : never : never; } : T_305 : never : never : T_303 extends (infer U)[] ? any[] : T_303 extends object ? { [K_185 in keyof T_303]-?: T_303[K_185] extends infer T_315 ? T_315 extends T_303[K_185] ? T_315 extends CanBeExpanded ? T_315[PrefixWith, K_185, "."> extends infer T_316 ? T_316 extends PrefixWith, K_185, "."> ? T_316 extends SplitAC ? "value" : "default" : never : never] extends infer T_317 ? T_317 extends T_315[PrefixWith, K_185, "."> extends infer T_316 ? T_316 extends PrefixWith, K_185, "."> ? T_316 extends SplitAC ? "value" : "default" : never : never] ? T_317 extends CanBeExpanded ? T_317[PrefixWith, K_185, "."> extends infer T_316 ? T_316 extends PrefixWith, K_185, "."> ? T_316 extends SplitAC ? "value" : "default" : never : never] extends infer T_318 ? T_318 extends T_317[PrefixWith, K_185, "."> extends infer T_316 ? T_316 extends PrefixWith, K_185, "."> ? T_316 extends SplitAC ? "value" : "default" : never : never] ? T_318 extends CanBeExpanded ? any : T_318 extends (infer U)[] ? any[] : T_318 extends object ? { [K_186 in keyof T_318]-?: T_318[K_186] extends infer T_319 ? T_319 extends T_318[K_186] ? T_319 extends CanBeExpanded ? T_319["default"] : T_319 : never : never; } : T_318 : never : never : T_317 extends (infer U)[] ? any[] : T_317 extends object ? { [K_187 in keyof T_317]-?: T_317[K_187] extends infer T_320 ? T_320 extends T_317[K_187] ? T_320 extends CanBeExpanded ? T_320["default"] : T_320 : never : never; } : T_317 : never : never : T_315 extends (infer U)[] ? any[] : T_315 extends object ? { [K_188 in keyof T_315]-?: T_315[K_188] extends infer T_321 ? T_321 extends T_315[K_188] ? T_321 extends CanBeExpanded ? T_321["default"] : T_321 : never : never; } : T_315 : never : never; } : T_303 : never : never; } : T_281 : never : never : T_280 extends (infer U)[] ? any[] : T_280 extends object ? { [K_189 in keyof T_280]-?: T_280[K_189] extends infer T_322 ? T_322 extends T_280[K_189] ? T_322 extends CanBeExpanded ? T_322[PrefixWith<`${string & K_163}`, K_189, "."> extends infer T_323 ? T_323 extends PrefixWith<`${string & K_163}`, K_189, "."> ? T_323 extends SplitAC ? "value" : "default" : never : never] extends infer T_324 ? T_324 extends T_322[PrefixWith<`${string & K_163}`, K_189, "."> extends infer T_323 ? T_323 extends PrefixWith<`${string & K_163}`, K_189, "."> ? T_323 extends SplitAC ? "value" : "default" : never : never] ? T_324 extends CanBeExpanded ? T_324[PrefixWith<`${string & K_163}`, K_189, "."> extends infer T_323 ? T_323 extends PrefixWith<`${string & K_163}`, K_189, "."> ? T_323 extends SplitAC ? "value" : "default" : never : never] extends infer T_325 ? T_325 extends T_324[PrefixWith<`${string & K_163}`, K_189, "."> extends infer T_323 ? T_323 extends PrefixWith<`${string & K_163}`, K_189, "."> ? T_323 extends SplitAC ? "value" : "default" : never : never] ? T_325 extends CanBeExpanded ? T_325[PrefixWith<`${string & K_163}`, K_189, "."> extends infer T_323 ? T_323 extends PrefixWith<`${string & K_163}`, K_189, "."> ? T_323 extends SplitAC ? "value" : "default" : never : never] extends infer T_326 ? T_326 extends T_325[PrefixWith<`${string & K_163}`, K_189, "."> extends infer T_323 ? T_323 extends PrefixWith<`${string & K_163}`, K_189, "."> ? T_323 extends SplitAC ? "value" : "default" : never : never] ? T_326 extends CanBeExpanded ? T_326[PrefixWith<`${string & K_163}`, K_189, "."> extends infer T_323 ? T_323 extends PrefixWith<`${string & K_163}`, K_189, "."> ? T_323 extends SplitAC ? "value" : "default" : never : never] extends infer T_327 ? T_327 extends T_326[PrefixWith<`${string & K_163}`, K_189, "."> extends infer T_323 ? T_323 extends PrefixWith<`${string & K_163}`, K_189, "."> ? T_323 extends SplitAC ? "value" : "default" : never : never] ? T_327 extends CanBeExpanded ? any : T_327 extends (infer U)[] ? any[] : T_327 extends object ? { [K_190 in keyof T_327]-?: any; } : T_327 : never : never : T_326 extends (infer U)[] ? any[] : T_326 extends object ? { [K_191 in keyof T_326]-?: T_326[K_191] extends infer T_328 ? T_328 extends T_326[K_191] ? T_328 extends CanBeExpanded ? any : T_328 extends (infer U)[] ? any[] : T_328 extends object ? { [K_192 in keyof T_328]-?: T_328[K_192] extends infer T_329 ? T_329 extends T_328[K_192] ? T_329 extends CanBeExpanded ? T_329["default"] : T_329 : never : never; } : T_328 : never : never; } : T_326 : never : never : T_325 extends (infer U)[] ? any[] : T_325 extends object ? { [K_193 in keyof T_325]-?: T_325[K_193] extends infer T_330 ? T_330 extends T_325[K_193] ? T_330 extends CanBeExpanded ? T_330[PrefixWith, K_193, "."> extends infer T_331 ? T_331 extends PrefixWith, K_193, "."> ? T_331 extends SplitAC ? "value" : "default" : never : never] extends infer T_332 ? T_332 extends T_330[PrefixWith, K_193, "."> extends infer T_331 ? T_331 extends PrefixWith, K_193, "."> ? T_331 extends SplitAC ? "value" : "default" : never : never] ? T_332 extends CanBeExpanded ? any : T_332 extends (infer U)[] ? any[] : T_332 extends object ? { [K_194 in keyof T_332]-?: T_332[K_194] extends infer T_333 ? T_333 extends T_332[K_194] ? T_333 extends CanBeExpanded ? T_333["default"] : T_333 : never : never; } : T_332 : never : never : T_330 extends (infer U)[] ? any[] : T_330 extends object ? { [K_195 in keyof T_330]-?: T_330[K_195] extends infer T_334 ? T_334 extends T_330[K_195] ? T_334 extends CanBeExpanded ? T_334["default"] : T_334 : never : never; } : T_330 : never : never; } : T_325 : never : never : T_324 extends (infer U)[] ? any[] : T_324 extends object ? { [K_196 in keyof T_324]-?: T_324[K_196] extends infer T_335 ? T_335 extends T_324[K_196] ? T_335 extends CanBeExpanded ? T_335[PrefixWith, K_196, "."> extends infer T_336 ? T_336 extends PrefixWith, K_196, "."> ? T_336 extends SplitAC ? "value" : "default" : never : never] extends infer T_337 ? T_337 extends T_335[PrefixWith, K_196, "."> extends infer T_336 ? T_336 extends PrefixWith, K_196, "."> ? T_336 extends SplitAC ? "value" : "default" : never : never] ? T_337 extends CanBeExpanded ? T_337[PrefixWith, K_196, "."> extends infer T_336 ? T_336 extends PrefixWith, K_196, "."> ? T_336 extends SplitAC ? "value" : "default" : never : never] extends infer T_338 ? T_338 extends T_337[PrefixWith, K_196, "."> extends infer T_336 ? T_336 extends PrefixWith, K_196, "."> ? T_336 extends SplitAC ? "value" : "default" : never : never] ? T_338 extends CanBeExpanded ? any : T_338 extends (infer U)[] ? any[] : T_338 extends object ? { [K_197 in keyof T_338]-?: T_338[K_197] extends infer T_339 ? T_339 extends T_338[K_197] ? T_339 extends CanBeExpanded ? T_339["default"] : T_339 : never : never; } : T_338 : never : never : T_337 extends (infer U)[] ? any[] : T_337 extends object ? { [K_198 in keyof T_337]-?: T_337[K_198] extends infer T_340 ? T_340 extends T_337[K_198] ? T_340 extends CanBeExpanded ? T_340["default"] : T_340 : never : never; } : T_337 : never : never : T_335 extends (infer U)[] ? any[] : T_335 extends object ? { [K_199 in keyof T_335]-?: T_335[K_199] extends infer T_341 ? T_341 extends T_335[K_199] ? T_341 extends CanBeExpanded ? T_341["default"] : T_341 : never : never; } : T_335 : never : never; } : T_324 : never : never : T_322 extends (infer U)[] ? any[] : T_322 extends object ? { [K_200 in keyof T_322]-?: T_322[K_200] extends infer T_342 ? T_342 extends T_322[K_200] ? T_342 extends CanBeExpanded ? T_342[PrefixWith, K_200, "."> extends infer T_343 ? T_343 extends PrefixWith, K_200, "."> ? T_343 extends SplitAC ? "value" : "default" : never : never] extends infer T_344 ? T_344 extends T_342[PrefixWith, K_200, "."> extends infer T_343 ? T_343 extends PrefixWith, K_200, "."> ? T_343 extends SplitAC ? "value" : "default" : never : never] ? T_344 extends CanBeExpanded ? T_344[PrefixWith, K_200, "."> extends infer T_343 ? T_343 extends PrefixWith, K_200, "."> ? T_343 extends SplitAC ? "value" : "default" : never : never] extends infer T_345 ? T_345 extends T_344[PrefixWith, K_200, "."> extends infer T_343 ? T_343 extends PrefixWith, K_200, "."> ? T_343 extends SplitAC ? "value" : "default" : never : never] ? T_345 extends CanBeExpanded ? T_345[PrefixWith, K_200, "."> extends infer T_343 ? T_343 extends PrefixWith, K_200, "."> ? T_343 extends SplitAC ? "value" : "default" : never : never] extends infer T_346 ? T_346 extends T_345[PrefixWith, K_200, "."> extends infer T_343 ? T_343 extends PrefixWith, K_200, "."> ? T_343 extends SplitAC ? "value" : "default" : never : never] ? T_346 extends CanBeExpanded ? any : T_346 extends (infer U)[] ? any[] : T_346 extends object ? { [K_201 in keyof T_346]-?: T_346[K_201] extends infer T_347 ? T_347 extends T_346[K_201] ? T_347 extends CanBeExpanded ? T_347["default"] : T_347 : never : never; } : T_346 : never : never : T_345 extends (infer U)[] ? any[] : T_345 extends object ? { [K_202 in keyof T_345]-?: T_345[K_202] extends infer T_348 ? T_348 extends T_345[K_202] ? T_348 extends CanBeExpanded ? T_348["default"] : T_348 : never : never; } : T_345 : never : never : T_344 extends (infer U)[] ? any[] : T_344 extends object ? { [K_203 in keyof T_344]-?: T_344[K_203] extends infer T_349 ? T_349 extends T_344[K_203] ? T_349 extends CanBeExpanded ? T_349["default"] : T_349 : never : never; } : T_344 : never : never : T_342 extends (infer U)[] ? any[] : T_342 extends object ? { [K_204 in keyof T_342]-?: T_342[K_204] extends infer T_350 ? T_350 extends T_342[K_204] ? T_350 extends CanBeExpanded ? T_350["default"] : T_350 : never : never; } : T_342 : never : never; } : T_322 : never : never; } : T_280 : never : never : T_279 extends (infer U)[] ? any[] : T_279 extends object ? { [K_205 in keyof T_279]-?: T_279[K_205] extends infer T_351 ? T_351 extends T_279[K_205] ? T_351 extends CanBeExpanded ? T_351[PrefixWith<`${string & K_163}`, K_205, "."> extends infer T_352 ? T_352 extends PrefixWith<`${string & K_163}`, K_205, "."> ? T_352 extends SplitAC ? "value" : "default" : never : never] extends infer T_353 ? T_353 extends T_351[PrefixWith<`${string & K_163}`, K_205, "."> extends infer T_352 ? T_352 extends PrefixWith<`${string & K_163}`, K_205, "."> ? T_352 extends SplitAC ? "value" : "default" : never : never] ? T_353 extends CanBeExpanded ? T_353[PrefixWith<`${string & K_163}`, K_205, "."> extends infer T_352 ? T_352 extends PrefixWith<`${string & K_163}`, K_205, "."> ? T_352 extends SplitAC ? "value" : "default" : never : never] extends infer T_354 ? T_354 extends T_353[PrefixWith<`${string & K_163}`, K_205, "."> extends infer T_352 ? T_352 extends PrefixWith<`${string & K_163}`, K_205, "."> ? T_352 extends SplitAC ? "value" : "default" : never : never] ? T_354 extends CanBeExpanded ? T_354[PrefixWith<`${string & K_163}`, K_205, "."> extends infer T_352 ? T_352 extends PrefixWith<`${string & K_163}`, K_205, "."> ? T_352 extends SplitAC ? "value" : "default" : never : never] extends infer T_355 ? T_355 extends T_354[PrefixWith<`${string & K_163}`, K_205, "."> extends infer T_352 ? T_352 extends PrefixWith<`${string & K_163}`, K_205, "."> ? T_352 extends SplitAC ? "value" : "default" : never : never] ? T_355 extends CanBeExpanded ? T_355[PrefixWith<`${string & K_163}`, K_205, "."> extends infer T_352 ? T_352 extends PrefixWith<`${string & K_163}`, K_205, "."> ? T_352 extends SplitAC ? "value" : "default" : never : never] extends infer T_356 ? T_356 extends T_355[PrefixWith<`${string & K_163}`, K_205, "."> extends infer T_352 ? T_352 extends PrefixWith<`${string & K_163}`, K_205, "."> ? T_352 extends SplitAC ? "value" : "default" : never : never] ? T_356 extends CanBeExpanded ? T_356[PrefixWith<`${string & K_163}`, K_205, "."> extends infer T_352 ? T_352 extends PrefixWith<`${string & K_163}`, K_205, "."> ? T_352 extends SplitAC ? "value" : "default" : never : never] extends infer T_357 ? T_357 extends T_356[PrefixWith<`${string & K_163}`, K_205, "."> extends infer T_352 ? T_352 extends PrefixWith<`${string & K_163}`, K_205, "."> ? T_352 extends SplitAC ? "value" : "default" : never : never] ? T_357 extends CanBeExpanded ? any : T_357 extends (infer U)[] ? any[] : T_357 extends object ? { [K_206 in keyof T_357]-?: any; } : T_357 : never : never : T_356 extends (infer U)[] ? any[] : T_356 extends object ? { [K_207 in keyof T_356]-?: T_356[K_207] extends infer T_358 ? T_358 extends T_356[K_207] ? T_358 extends CanBeExpanded ? any : T_358 extends (infer U)[] ? any[] : T_358 extends object ? { [K_208 in keyof T_358]-?: T_358[K_208] extends infer T_359 ? T_359 extends T_358[K_208] ? T_359 extends CanBeExpanded ? T_359["default"] : T_359 : never : never; } : T_358 : never : never; } : T_356 : never : never : T_355 extends (infer U)[] ? any[] : T_355 extends object ? { [K_209 in keyof T_355]-?: T_355[K_209] extends infer T_360 ? T_360 extends T_355[K_209] ? T_360 extends CanBeExpanded ? T_360[PrefixWith, K_209, "."> extends infer T_361 ? T_361 extends PrefixWith, K_209, "."> ? T_361 extends SplitAC ? "value" : "default" : never : never] extends infer T_362 ? T_362 extends T_360[PrefixWith, K_209, "."> extends infer T_361 ? T_361 extends PrefixWith, K_209, "."> ? T_361 extends SplitAC ? "value" : "default" : never : never] ? T_362 extends CanBeExpanded ? any : T_362 extends (infer U)[] ? any[] : T_362 extends object ? { [K_210 in keyof T_362]-?: T_362[K_210] extends infer T_363 ? T_363 extends T_362[K_210] ? T_363 extends CanBeExpanded ? T_363["default"] : T_363 : never : never; } : T_362 : never : never : T_360 extends (infer U)[] ? any[] : T_360 extends object ? { [K_211 in keyof T_360]-?: T_360[K_211] extends infer T_364 ? T_364 extends T_360[K_211] ? T_364 extends CanBeExpanded ? T_364["default"] : T_364 : never : never; } : T_360 : never : never; } : T_355 : never : never : T_354 extends (infer U)[] ? any[] : T_354 extends object ? { [K_212 in keyof T_354]-?: T_354[K_212] extends infer T_365 ? T_365 extends T_354[K_212] ? T_365 extends CanBeExpanded ? T_365[PrefixWith, K_212, "."> extends infer T_366 ? T_366 extends PrefixWith, K_212, "."> ? T_366 extends SplitAC ? "value" : "default" : never : never] extends infer T_367 ? T_367 extends T_365[PrefixWith, K_212, "."> extends infer T_366 ? T_366 extends PrefixWith, K_212, "."> ? T_366 extends SplitAC ? "value" : "default" : never : never] ? T_367 extends CanBeExpanded ? T_367[PrefixWith, K_212, "."> extends infer T_366 ? T_366 extends PrefixWith, K_212, "."> ? T_366 extends SplitAC ? "value" : "default" : never : never] extends infer T_368 ? T_368 extends T_367[PrefixWith, K_212, "."> extends infer T_366 ? T_366 extends PrefixWith, K_212, "."> ? T_366 extends SplitAC ? "value" : "default" : never : never] ? T_368 extends CanBeExpanded ? any : T_368 extends (infer U)[] ? any[] : T_368 extends object ? { [K_213 in keyof T_368]-?: T_368[K_213] extends infer T_369 ? T_369 extends T_368[K_213] ? T_369 extends CanBeExpanded ? T_369["default"] : T_369 : never : never; } : T_368 : never : never : T_367 extends (infer U)[] ? any[] : T_367 extends object ? { [K_214 in keyof T_367]-?: T_367[K_214] extends infer T_370 ? T_370 extends T_367[K_214] ? T_370 extends CanBeExpanded ? T_370["default"] : T_370 : never : never; } : T_367 : never : never : T_365 extends (infer U)[] ? any[] : T_365 extends object ? { [K_215 in keyof T_365]-?: T_365[K_215] extends infer T_371 ? T_371 extends T_365[K_215] ? T_371 extends CanBeExpanded ? T_371["default"] : T_371 : never : never; } : T_365 : never : never; } : T_354 : never : never : T_353 extends (infer U)[] ? any[] : T_353 extends object ? { [K_216 in keyof T_353]-?: T_353[K_216] extends infer T_372 ? T_372 extends T_353[K_216] ? T_372 extends CanBeExpanded ? T_372[PrefixWith, K_216, "."> extends infer T_373 ? T_373 extends PrefixWith, K_216, "."> ? T_373 extends SplitAC ? "value" : "default" : never : never] extends infer T_374 ? T_374 extends T_372[PrefixWith, K_216, "."> extends infer T_373 ? T_373 extends PrefixWith, K_216, "."> ? T_373 extends SplitAC ? "value" : "default" : never : never] ? T_374 extends CanBeExpanded ? T_374[PrefixWith, K_216, "."> extends infer T_373 ? T_373 extends PrefixWith, K_216, "."> ? T_373 extends SplitAC ? "value" : "default" : never : never] extends infer T_375 ? T_375 extends T_374[PrefixWith, K_216, "."> extends infer T_373 ? T_373 extends PrefixWith, K_216, "."> ? T_373 extends SplitAC ? "value" : "default" : never : never] ? T_375 extends CanBeExpanded ? T_375[PrefixWith, K_216, "."> extends infer T_373 ? T_373 extends PrefixWith, K_216, "."> ? T_373 extends SplitAC ? "value" : "default" : never : never] extends infer T_376 ? T_376 extends T_375[PrefixWith, K_216, "."> extends infer T_373 ? T_373 extends PrefixWith, K_216, "."> ? T_373 extends SplitAC ? "value" : "default" : never : never] ? T_376 extends CanBeExpanded ? any : T_376 extends (infer U)[] ? any[] : T_376 extends object ? { [K_217 in keyof T_376]-?: T_376[K_217] extends infer T_377 ? T_377 extends T_376[K_217] ? T_377 extends CanBeExpanded ? T_377["default"] : T_377 : never : never; } : T_376 : never : never : T_375 extends (infer U)[] ? any[] : T_375 extends object ? { [K_218 in keyof T_375]-?: T_375[K_218] extends infer T_378 ? T_378 extends T_375[K_218] ? T_378 extends CanBeExpanded ? T_378["default"] : T_378 : never : never; } : T_375 : never : never : T_374 extends (infer U)[] ? any[] : T_374 extends object ? { [K_219 in keyof T_374]-?: T_374[K_219] extends infer T_379 ? T_379 extends T_374[K_219] ? T_379 extends CanBeExpanded ? T_379["default"] : T_379 : never : never; } : T_374 : never : never : T_372 extends (infer U)[] ? any[] : T_372 extends object ? { [K_220 in keyof T_372]-?: T_372[K_220] extends infer T_380 ? T_380 extends T_372[K_220] ? T_380 extends CanBeExpanded ? T_380["default"] : T_380 : never : never; } : T_372 : never : never; } : T_353 : never : never : T_351 extends (infer U)[] ? any[] : T_351 extends object ? { [K_221 in keyof T_351]-?: T_351[K_221] extends infer T_381 ? T_381 extends T_351[K_221] ? T_381 extends CanBeExpanded ? T_381[PrefixWith, K_221, "."> extends infer T_382 ? T_382 extends PrefixWith, K_221, "."> ? T_382 extends SplitAC ? "value" : "default" : never : never] extends infer T_383 ? T_383 extends T_381[PrefixWith, K_221, "."> extends infer T_382 ? T_382 extends PrefixWith, K_221, "."> ? T_382 extends SplitAC ? "value" : "default" : never : never] ? T_383 extends CanBeExpanded ? T_383[PrefixWith, K_221, "."> extends infer T_382 ? T_382 extends PrefixWith, K_221, "."> ? T_382 extends SplitAC ? "value" : "default" : never : never] extends infer T_384 ? T_384 extends T_383[PrefixWith, K_221, "."> extends infer T_382 ? T_382 extends PrefixWith, K_221, "."> ? T_382 extends SplitAC ? "value" : "default" : never : never] ? T_384 extends CanBeExpanded ? T_384[PrefixWith, K_221, "."> extends infer T_382 ? T_382 extends PrefixWith, K_221, "."> ? T_382 extends SplitAC ? "value" : "default" : never : never] extends infer T_385 ? T_385 extends T_384[PrefixWith, K_221, "."> extends infer T_382 ? T_382 extends PrefixWith, K_221, "."> ? T_382 extends SplitAC ? "value" : "default" : never : never] ? T_385 extends CanBeExpanded ? T_385[PrefixWith, K_221, "."> extends infer T_382 ? T_382 extends PrefixWith, K_221, "."> ? T_382 extends SplitAC ? "value" : "default" : never : never] extends infer T_386 ? T_386 extends T_385[PrefixWith, K_221, "."> extends infer T_382 ? T_382 extends PrefixWith, K_221, "."> ? T_382 extends SplitAC ? "value" : "default" : never : never] ? T_386 extends CanBeExpanded ? any : T_386 extends (infer U)[] ? any[] : T_386 extends object ? { [K_222 in keyof T_386]-?: T_386[K_222] extends infer T_387 ? T_387 extends T_386[K_222] ? T_387 extends CanBeExpanded ? T_387["default"] : T_387 : never : never; } : T_386 : never : never : T_385 extends (infer U)[] ? any[] : T_385 extends object ? { [K_223 in keyof T_385]-?: T_385[K_223] extends infer T_388 ? T_388 extends T_385[K_223] ? T_388 extends CanBeExpanded ? T_388["default"] : T_388 : never : never; } : T_385 : never : never : T_384 extends (infer U)[] ? any[] : T_384 extends object ? { [K_224 in keyof T_384]-?: T_384[K_224] extends infer T_389 ? T_389 extends T_384[K_224] ? T_389 extends CanBeExpanded ? T_389["default"] : T_389 : never : never; } : T_384 : never : never : T_383 extends (infer U)[] ? any[] : T_383 extends object ? { [K_225 in keyof T_383]-?: T_383[K_225] extends infer T_390 ? T_390 extends T_383[K_225] ? T_390 extends CanBeExpanded ? T_390["default"] : T_390 : never : never; } : T_383 : never : never : T_381 extends (infer U)[] ? any[] : T_381 extends object ? { [K_226 in keyof T_381]-?: T_381[K_226] extends infer T_391 ? T_391 extends T_381[K_226] ? T_391 extends CanBeExpanded ? T_391["default"] : T_391 : never : never; } : T_381 : never : never; } : T_351 : never : never; } : T_279 : never : never : T_277 extends (infer U)[] ? any[] : T_277 extends object ? { [K_227 in keyof T_277]-?: T_277[K_227] extends infer T_392 ? T_392 extends T_277[K_227] ? T_392 extends CanBeExpanded ? T_392[PrefixWith<`${string & K_163}`, K_227, "."> extends infer T_393 ? T_393 extends PrefixWith<`${string & K_163}`, K_227, "."> ? T_393 extends SplitAC ? "value" : "default" : never : never] extends infer T_394 ? T_394 extends T_392[PrefixWith<`${string & K_163}`, K_227, "."> extends infer T_393 ? T_393 extends PrefixWith<`${string & K_163}`, K_227, "."> ? T_393 extends SplitAC ? "value" : "default" : never : never] ? T_394 extends CanBeExpanded ? T_394[PrefixWith<`${string & K_163}`, K_227, "."> extends infer T_393 ? T_393 extends PrefixWith<`${string & K_163}`, K_227, "."> ? T_393 extends SplitAC ? "value" : "default" : never : never] extends infer T_395 ? T_395 extends T_394[PrefixWith<`${string & K_163}`, K_227, "."> extends infer T_393 ? T_393 extends PrefixWith<`${string & K_163}`, K_227, "."> ? T_393 extends SplitAC ? "value" : "default" : never : never] ? T_395 extends CanBeExpanded ? T_395[PrefixWith<`${string & K_163}`, K_227, "."> extends infer T_393 ? T_393 extends PrefixWith<`${string & K_163}`, K_227, "."> ? T_393 extends SplitAC ? "value" : "default" : never : never] extends infer T_396 ? T_396 extends T_395[PrefixWith<`${string & K_163}`, K_227, "."> extends infer T_393 ? T_393 extends PrefixWith<`${string & K_163}`, K_227, "."> ? T_393 extends SplitAC ? "value" : "default" : never : never] ? T_396 extends CanBeExpanded ? T_396[PrefixWith<`${string & K_163}`, K_227, "."> extends infer T_393 ? T_393 extends PrefixWith<`${string & K_163}`, K_227, "."> ? T_393 extends SplitAC ? "value" : "default" : never : never] extends infer T_397 ? T_397 extends T_396[PrefixWith<`${string & K_163}`, K_227, "."> extends infer T_393 ? T_393 extends PrefixWith<`${string & K_163}`, K_227, "."> ? T_393 extends SplitAC ? "value" : "default" : never : never] ? T_397 extends CanBeExpanded ? T_397[PrefixWith<`${string & K_163}`, K_227, "."> extends infer T_393 ? T_393 extends PrefixWith<`${string & K_163}`, K_227, "."> ? T_393 extends SplitAC ? "value" : "default" : never : never] extends infer T_398 ? T_398 extends T_397[PrefixWith<`${string & K_163}`, K_227, "."> extends infer T_393 ? T_393 extends PrefixWith<`${string & K_163}`, K_227, "."> ? T_393 extends SplitAC ? "value" : "default" : never : never] ? T_398 extends CanBeExpanded ? T_398[PrefixWith<`${string & K_163}`, K_227, "."> extends infer T_393 ? T_393 extends PrefixWith<`${string & K_163}`, K_227, "."> ? T_393 extends SplitAC ? "value" : "default" : never : never] extends infer T_399 ? T_399 extends T_398[PrefixWith<`${string & K_163}`, K_227, "."> extends infer T_393 ? T_393 extends PrefixWith<`${string & K_163}`, K_227, "."> ? T_393 extends SplitAC ? "value" : "default" : never : never] ? T_399 extends CanBeExpanded ? any : T_399 extends (infer U)[] ? any[] : T_399 extends object ? { [K_228 in keyof T_399]-?: any; } : T_399 : never : never : T_398 extends (infer U)[] ? any[] : T_398 extends object ? { [K_229 in keyof T_398]-?: T_398[K_229] extends infer T_400 ? T_400 extends T_398[K_229] ? T_400 extends CanBeExpanded ? any : T_400 extends (infer U)[] ? any[] : T_400 extends object ? { [K_230 in keyof T_400]-?: T_400[K_230] extends infer T_401 ? T_401 extends T_400[K_230] ? T_401 extends CanBeExpanded ? T_401["default"] : T_401 : never : never; } : T_400 : never : never; } : T_398 : never : never : T_397 extends (infer U)[] ? any[] : T_397 extends object ? { [K_231 in keyof T_397]-?: T_397[K_231] extends infer T_402 ? T_402 extends T_397[K_231] ? T_402 extends CanBeExpanded ? T_402[PrefixWith, K_231, "."> extends infer T_403 ? T_403 extends PrefixWith, K_231, "."> ? T_403 extends SplitAC ? "value" : "default" : never : never] extends infer T_404 ? T_404 extends T_402[PrefixWith, K_231, "."> extends infer T_403 ? T_403 extends PrefixWith, K_231, "."> ? T_403 extends SplitAC ? "value" : "default" : never : never] ? T_404 extends CanBeExpanded ? any : T_404 extends (infer U)[] ? any[] : T_404 extends object ? { [K_232 in keyof T_404]-?: T_404[K_232] extends infer T_405 ? T_405 extends T_404[K_232] ? T_405 extends CanBeExpanded ? T_405["default"] : T_405 : never : never; } : T_404 : never : never : T_402 extends (infer U)[] ? any[] : T_402 extends object ? { [K_233 in keyof T_402]-?: T_402[K_233] extends infer T_406 ? T_406 extends T_402[K_233] ? T_406 extends CanBeExpanded ? T_406["default"] : T_406 : never : never; } : T_402 : never : never; } : T_397 : never : never : T_396 extends (infer U)[] ? any[] : T_396 extends object ? { [K_234 in keyof T_396]-?: T_396[K_234] extends infer T_407 ? T_407 extends T_396[K_234] ? T_407 extends CanBeExpanded ? T_407[PrefixWith, K_234, "."> extends infer T_408 ? T_408 extends PrefixWith, K_234, "."> ? T_408 extends SplitAC ? "value" : "default" : never : never] extends infer T_409 ? T_409 extends T_407[PrefixWith, K_234, "."> extends infer T_408 ? T_408 extends PrefixWith, K_234, "."> ? T_408 extends SplitAC ? "value" : "default" : never : never] ? T_409 extends CanBeExpanded ? T_409[PrefixWith, K_234, "."> extends infer T_408 ? T_408 extends PrefixWith, K_234, "."> ? T_408 extends SplitAC ? "value" : "default" : never : never] extends infer T_410 ? T_410 extends T_409[PrefixWith, K_234, "."> extends infer T_408 ? T_408 extends PrefixWith, K_234, "."> ? T_408 extends SplitAC ? "value" : "default" : never : never] ? T_410 extends CanBeExpanded ? any : T_410 extends (infer U)[] ? any[] : T_410 extends object ? { [K_235 in keyof T_410]-?: T_410[K_235] extends infer T_411 ? T_411 extends T_410[K_235] ? T_411 extends CanBeExpanded ? T_411["default"] : T_411 : never : never; } : T_410 : never : never : T_409 extends (infer U)[] ? any[] : T_409 extends object ? { [K_236 in keyof T_409]-?: T_409[K_236] extends infer T_412 ? T_412 extends T_409[K_236] ? T_412 extends CanBeExpanded ? T_412["default"] : T_412 : never : never; } : T_409 : never : never : T_407 extends (infer U)[] ? any[] : T_407 extends object ? { [K_237 in keyof T_407]-?: T_407[K_237] extends infer T_413 ? T_413 extends T_407[K_237] ? T_413 extends CanBeExpanded ? T_413["default"] : T_413 : never : never; } : T_407 : never : never; } : T_396 : never : never : T_395 extends (infer U)[] ? any[] : T_395 extends object ? { [K_238 in keyof T_395]-?: T_395[K_238] extends infer T_414 ? T_414 extends T_395[K_238] ? T_414 extends CanBeExpanded ? T_414[PrefixWith, K_238, "."> extends infer T_415 ? T_415 extends PrefixWith, K_238, "."> ? T_415 extends SplitAC ? "value" : "default" : never : never] extends infer T_416 ? T_416 extends T_414[PrefixWith, K_238, "."> extends infer T_415 ? T_415 extends PrefixWith, K_238, "."> ? T_415 extends SplitAC ? "value" : "default" : never : never] ? T_416 extends CanBeExpanded ? T_416[PrefixWith, K_238, "."> extends infer T_415 ? T_415 extends PrefixWith, K_238, "."> ? T_415 extends SplitAC ? "value" : "default" : never : never] extends infer T_417 ? T_417 extends T_416[PrefixWith, K_238, "."> extends infer T_415 ? T_415 extends PrefixWith, K_238, "."> ? T_415 extends SplitAC ? "value" : "default" : never : never] ? T_417 extends CanBeExpanded ? T_417[PrefixWith, K_238, "."> extends infer T_415 ? T_415 extends PrefixWith, K_238, "."> ? T_415 extends SplitAC ? "value" : "default" : never : never] extends infer T_418 ? T_418 extends T_417[PrefixWith, K_238, "."> extends infer T_415 ? T_415 extends PrefixWith, K_238, "."> ? T_415 extends SplitAC ? "value" : "default" : never : never] ? T_418 extends CanBeExpanded ? any : T_418 extends (infer U)[] ? any[] : T_418 extends object ? { [K_239 in keyof T_418]-?: T_418[K_239] extends infer T_419 ? T_419 extends T_418[K_239] ? T_419 extends CanBeExpanded ? T_419["default"] : T_419 : never : never; } : T_418 : never : never : T_417 extends (infer U)[] ? any[] : T_417 extends object ? { [K_240 in keyof T_417]-?: T_417[K_240] extends infer T_420 ? T_420 extends T_417[K_240] ? T_420 extends CanBeExpanded ? T_420["default"] : T_420 : never : never; } : T_417 : never : never : T_416 extends (infer U)[] ? any[] : T_416 extends object ? { [K_241 in keyof T_416]-?: T_416[K_241] extends infer T_421 ? T_421 extends T_416[K_241] ? T_421 extends CanBeExpanded ? T_421["default"] : T_421 : never : never; } : T_416 : never : never : T_414 extends (infer U)[] ? any[] : T_414 extends object ? { [K_242 in keyof T_414]-?: T_414[K_242] extends infer T_422 ? T_422 extends T_414[K_242] ? T_422 extends CanBeExpanded ? T_422["default"] : T_422 : never : never; } : T_414 : never : never; } : T_395 : never : never : T_394 extends (infer U)[] ? any[] : T_394 extends object ? { [K_243 in keyof T_394]-?: T_394[K_243] extends infer T_423 ? T_423 extends T_394[K_243] ? T_423 extends CanBeExpanded ? T_423[PrefixWith, K_243, "."> extends infer T_424 ? T_424 extends PrefixWith, K_243, "."> ? T_424 extends SplitAC ? "value" : "default" : never : never] extends infer T_425 ? T_425 extends T_423[PrefixWith, K_243, "."> extends infer T_424 ? T_424 extends PrefixWith, K_243, "."> ? T_424 extends SplitAC ? "value" : "default" : never : never] ? T_425 extends CanBeExpanded ? T_425[PrefixWith, K_243, "."> extends infer T_424 ? T_424 extends PrefixWith, K_243, "."> ? T_424 extends SplitAC ? "value" : "default" : never : never] extends infer T_426 ? T_426 extends T_425[PrefixWith, K_243, "."> extends infer T_424 ? T_424 extends PrefixWith, K_243, "."> ? T_424 extends SplitAC ? "value" : "default" : never : never] ? T_426 extends CanBeExpanded ? T_426[PrefixWith, K_243, "."> extends infer T_424 ? T_424 extends PrefixWith, K_243, "."> ? T_424 extends SplitAC ? "value" : "default" : never : never] extends infer T_427 ? T_427 extends T_426[PrefixWith, K_243, "."> extends infer T_424 ? T_424 extends PrefixWith, K_243, "."> ? T_424 extends SplitAC ? "value" : "default" : never : never] ? T_427 extends CanBeExpanded ? T_427[PrefixWith, K_243, "."> extends infer T_424 ? T_424 extends PrefixWith, K_243, "."> ? T_424 extends SplitAC ? "value" : "default" : never : never] extends infer T_428 ? T_428 extends T_427[PrefixWith, K_243, "."> extends infer T_424 ? T_424 extends PrefixWith, K_243, "."> ? T_424 extends SplitAC ? "value" : "default" : never : never] ? T_428 extends CanBeExpanded ? any : T_428 extends (infer U)[] ? any[] : T_428 extends object ? { [K_244 in keyof T_428]-?: T_428[K_244] extends infer T_429 ? T_429 extends T_428[K_244] ? T_429 extends CanBeExpanded ? T_429["default"] : T_429 : never : never; } : T_428 : never : never : T_427 extends (infer U)[] ? any[] : T_427 extends object ? { [K_245 in keyof T_427]-?: T_427[K_245] extends infer T_430 ? T_430 extends T_427[K_245] ? T_430 extends CanBeExpanded ? T_430["default"] : T_430 : never : never; } : T_427 : never : never : T_426 extends (infer U)[] ? any[] : T_426 extends object ? { [K_246 in keyof T_426]-?: T_426[K_246] extends infer T_431 ? T_431 extends T_426[K_246] ? T_431 extends CanBeExpanded ? T_431["default"] : T_431 : never : never; } : T_426 : never : never : T_425 extends (infer U)[] ? any[] : T_425 extends object ? { [K_247 in keyof T_425]-?: T_425[K_247] extends infer T_432 ? T_432 extends T_425[K_247] ? T_432 extends CanBeExpanded ? T_432["default"] : T_432 : never : never; } : T_425 : never : never : T_423 extends (infer U)[] ? any[] : T_423 extends object ? { [K_248 in keyof T_423]-?: T_423[K_248] extends infer T_433 ? T_433 extends T_423[K_248] ? T_433 extends CanBeExpanded ? T_433["default"] : T_433 : never : never; } : T_423 : never : never; } : T_394 : never : never : T_392 extends (infer U)[] ? any[] : T_392 extends object ? { [K_249 in keyof T_392]-?: T_392[K_249] extends infer T_434 ? T_434 extends T_392[K_249] ? T_434 extends CanBeExpanded ? T_434[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] extends infer T_436 ? T_436 extends T_434[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] ? T_436 extends CanBeExpanded ? T_436[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] extends infer T_437 ? T_437 extends T_436[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] ? T_437 extends CanBeExpanded ? T_437[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] extends infer T_438 ? T_438 extends T_437[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] ? T_438 extends CanBeExpanded ? T_438[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] extends infer T_439 ? T_439 extends T_438[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] ? T_439 extends CanBeExpanded ? T_439[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] extends infer T_440 ? T_440 extends T_439[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] ? T_440 extends CanBeExpanded ? any : T_440 extends (infer U)[] ? any[] : T_440 extends object ? { [K_250 in keyof T_440]-?: T_440[K_250] extends infer T_441 ? T_441 extends T_440[K_250] ? T_441 extends CanBeExpanded ? T_441["default"] : T_441 : never : never; } : T_440 : never : never : T_439 extends (infer U)[] ? any[] : T_439 extends object ? { [K_251 in keyof T_439]-?: T_439[K_251] extends infer T_442 ? T_442 extends T_439[K_251] ? T_442 extends CanBeExpanded ? T_442["default"] : T_442 : never : never; } : T_439 : never : never : T_438 extends (infer U)[] ? any[] : T_438 extends object ? { [K_252 in keyof T_438]-?: T_438[K_252] extends infer T_443 ? T_443 extends T_438[K_252] ? T_443 extends CanBeExpanded ? T_443["default"] : T_443 : never : never; } : T_438 : never : never : T_437 extends (infer U)[] ? any[] : T_437 extends object ? { [K_253 in keyof T_437]-?: T_437[K_253] extends infer T_444 ? T_444 extends T_437[K_253] ? T_444 extends CanBeExpanded ? T_444["default"] : T_444 : never : never; } : T_437 : never : never : T_436 extends (infer U)[] ? any[] : T_436 extends object ? { [K_254 in keyof T_436]-?: T_436[K_254] extends infer T_445 ? T_445 extends T_436[K_254] ? T_445 extends CanBeExpanded ? T_445["default"] : T_445 : never : never; } : T_436 : never : never : T_434 extends (infer U)[] ? any[] : T_434 extends object ? { [K_255 in keyof T_434]-?: T_434[K_255] extends infer T_446 ? T_446 extends T_434[K_255] ? T_446 extends CanBeExpanded ? T_446["default"] : T_446 : never : never; } : T_434 : never : never; } : T_392 : never : never; } : T_277 : never : never; } : T_3 : never : never : T_2 extends (infer U)[] ? any[] : T_2 extends object ? { [K_256 in keyof T_2]-?: T_2[K_256] extends infer T_447 ? T_447 extends T_2[K_256] ? T_447 extends CanBeExpanded ? T_447[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] extends infer T_449 ? T_449 extends T_447[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] ? T_449 extends CanBeExpanded ? T_449[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] extends infer T_450 ? T_450 extends T_449[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] ? T_450 extends CanBeExpanded ? T_450[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] extends infer T_451 ? T_451 extends T_450[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] ? T_451 extends CanBeExpanded ? T_451[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] extends infer T_452 ? T_452 extends T_451[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] ? T_452 extends CanBeExpanded ? T_452[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] extends infer T_453 ? T_453 extends T_452[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] ? T_453 extends CanBeExpanded ? T_453[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] extends infer T_454 ? T_454 extends T_453[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] ? T_454 extends CanBeExpanded ? T_454[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] extends infer T_455 ? T_455 extends T_454[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] ? T_455 extends CanBeExpanded ? T_455[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] extends infer T_456 ? T_456 extends T_455[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] ? T_456 extends CanBeExpanded ? any : T_456 extends (infer U)[] ? any[] : T_456 extends object ? { [K_257 in keyof T_456]-?: any; } : T_456 : never : never : T_455 extends (infer U)[] ? any[] : T_455 extends object ? { [K_258 in keyof T_455]-?: T_455[K_258] extends infer T_457 ? T_457 extends T_455[K_258] ? T_457 extends CanBeExpanded ? any : T_457 extends (infer U)[] ? any[] : T_457 extends object ? { [K_259 in keyof T_457]-?: any; } : T_457 : never : never; } : T_455 : never : never : T_454 extends (infer U)[] ? any[] : T_454 extends object ? { [K_260 in keyof T_454]-?: T_454[K_260] extends infer T_458 ? T_458 extends T_454[K_260] ? T_458 extends CanBeExpanded ? T_458[PrefixWith<`${string & K_256}`, K_260, "."> extends infer T_459 ? T_459 extends PrefixWith<`${string & K_256}`, K_260, "."> ? T_459 extends SplitAC ? "value" : "default" : never : never] extends infer T_460 ? T_460 extends T_458[PrefixWith<`${string & K_256}`, K_260, "."> extends infer T_459 ? T_459 extends PrefixWith<`${string & K_256}`, K_260, "."> ? T_459 extends SplitAC ? "value" : "default" : never : never] ? T_460 extends CanBeExpanded ? any : T_460 extends (infer U)[] ? any[] : T_460 extends object ? { [K_261 in keyof T_460]-?: any; } : T_460 : never : never : T_458 extends (infer U)[] ? any[] : T_458 extends object ? { [K_262 in keyof T_458]-?: T_458[K_262] extends infer T_461 ? T_461 extends T_458[K_262] ? T_461 extends CanBeExpanded ? any : T_461 extends (infer U)[] ? any[] : T_461 extends object ? { [K_263 in keyof T_461]-?: T_461[K_263] extends infer T_462 ? T_462 extends T_461[K_263] ? T_462 extends CanBeExpanded ? T_462["default"] : T_462 : never : never; } : T_461 : never : never; } : T_458 : never : never; } : T_454 : never : never : T_453 extends (infer U)[] ? any[] : T_453 extends object ? { [K_264 in keyof T_453]-?: T_453[K_264] extends infer T_463 ? T_463 extends T_453[K_264] ? T_463 extends CanBeExpanded ? T_463[PrefixWith<`${string & K_256}`, K_264, "."> extends infer T_464 ? T_464 extends PrefixWith<`${string & K_256}`, K_264, "."> ? T_464 extends SplitAC ? "value" : "default" : never : never] extends infer T_465 ? T_465 extends T_463[PrefixWith<`${string & K_256}`, K_264, "."> extends infer T_464 ? T_464 extends PrefixWith<`${string & K_256}`, K_264, "."> ? T_464 extends SplitAC ? "value" : "default" : never : never] ? T_465 extends CanBeExpanded ? T_465[PrefixWith<`${string & K_256}`, K_264, "."> extends infer T_464 ? T_464 extends PrefixWith<`${string & K_256}`, K_264, "."> ? T_464 extends SplitAC ? "value" : "default" : never : never] extends infer T_466 ? T_466 extends T_465[PrefixWith<`${string & K_256}`, K_264, "."> extends infer T_464 ? T_464 extends PrefixWith<`${string & K_256}`, K_264, "."> ? T_464 extends SplitAC ? "value" : "default" : never : never] ? T_466 extends CanBeExpanded ? any : T_466 extends (infer U)[] ? any[] : T_466 extends object ? { [K_265 in keyof T_466]-?: any; } : T_466 : never : never : T_465 extends (infer U)[] ? any[] : T_465 extends object ? { [K_266 in keyof T_465]-?: T_465[K_266] extends infer T_467 ? T_467 extends T_465[K_266] ? T_467 extends CanBeExpanded ? any : T_467 extends (infer U)[] ? any[] : T_467 extends object ? { [K_267 in keyof T_467]-?: T_467[K_267] extends infer T_468 ? T_468 extends T_467[K_267] ? T_468 extends CanBeExpanded ? T_468["default"] : T_468 : never : never; } : T_467 : never : never; } : T_465 : never : never : T_463 extends (infer U)[] ? any[] : T_463 extends object ? { [K_268 in keyof T_463]-?: T_463[K_268] extends infer T_469 ? T_469 extends T_463[K_268] ? T_469 extends CanBeExpanded ? T_469[PrefixWith, K_268, "."> extends infer T_470 ? T_470 extends PrefixWith, K_268, "."> ? T_470 extends SplitAC ? "value" : "default" : never : never] extends infer T_471 ? T_471 extends T_469[PrefixWith, K_268, "."> extends infer T_470 ? T_470 extends PrefixWith, K_268, "."> ? T_470 extends SplitAC ? "value" : "default" : never : never] ? T_471 extends CanBeExpanded ? any : T_471 extends (infer U)[] ? any[] : T_471 extends object ? { [K_269 in keyof T_471]-?: T_471[K_269] extends infer T_472 ? T_472 extends T_471[K_269] ? T_472 extends CanBeExpanded ? T_472["default"] : T_472 : never : never; } : T_471 : never : never : T_469 extends (infer U)[] ? any[] : T_469 extends object ? { [K_270 in keyof T_469]-?: T_469[K_270] extends infer T_473 ? T_473 extends T_469[K_270] ? T_473 extends CanBeExpanded ? T_473["default"] : T_473 : never : never; } : T_469 : never : never; } : T_463 : never : never; } : T_453 : never : never : T_452 extends (infer U)[] ? any[] : T_452 extends object ? { [K_271 in keyof T_452]-?: T_452[K_271] extends infer T_474 ? T_474 extends T_452[K_271] ? T_474 extends CanBeExpanded ? T_474[PrefixWith<`${string & K_256}`, K_271, "."> extends infer T_475 ? T_475 extends PrefixWith<`${string & K_256}`, K_271, "."> ? T_475 extends SplitAC ? "value" : "default" : never : never] extends infer T_476 ? T_476 extends T_474[PrefixWith<`${string & K_256}`, K_271, "."> extends infer T_475 ? T_475 extends PrefixWith<`${string & K_256}`, K_271, "."> ? T_475 extends SplitAC ? "value" : "default" : never : never] ? T_476 extends CanBeExpanded ? T_476[PrefixWith<`${string & K_256}`, K_271, "."> extends infer T_475 ? T_475 extends PrefixWith<`${string & K_256}`, K_271, "."> ? T_475 extends SplitAC ? "value" : "default" : never : never] extends infer T_477 ? T_477 extends T_476[PrefixWith<`${string & K_256}`, K_271, "."> extends infer T_475 ? T_475 extends PrefixWith<`${string & K_256}`, K_271, "."> ? T_475 extends SplitAC ? "value" : "default" : never : never] ? T_477 extends CanBeExpanded ? T_477[PrefixWith<`${string & K_256}`, K_271, "."> extends infer T_475 ? T_475 extends PrefixWith<`${string & K_256}`, K_271, "."> ? T_475 extends SplitAC ? "value" : "default" : never : never] extends infer T_478 ? T_478 extends T_477[PrefixWith<`${string & K_256}`, K_271, "."> extends infer T_475 ? T_475 extends PrefixWith<`${string & K_256}`, K_271, "."> ? T_475 extends SplitAC ? "value" : "default" : never : never] ? T_478 extends CanBeExpanded ? any : T_478 extends (infer U)[] ? any[] : T_478 extends object ? { [K_272 in keyof T_478]-?: any; } : T_478 : never : never : T_477 extends (infer U)[] ? any[] : T_477 extends object ? { [K_273 in keyof T_477]-?: T_477[K_273] extends infer T_479 ? T_479 extends T_477[K_273] ? T_479 extends CanBeExpanded ? any : T_479 extends (infer U)[] ? any[] : T_479 extends object ? { [K_274 in keyof T_479]-?: T_479[K_274] extends infer T_480 ? T_480 extends T_479[K_274] ? T_480 extends CanBeExpanded ? T_480["default"] : T_480 : never : never; } : T_479 : never : never; } : T_477 : never : never : T_476 extends (infer U)[] ? any[] : T_476 extends object ? { [K_275 in keyof T_476]-?: T_476[K_275] extends infer T_481 ? T_481 extends T_476[K_275] ? T_481 extends CanBeExpanded ? T_481[PrefixWith, K_275, "."> extends infer T_482 ? T_482 extends PrefixWith, K_275, "."> ? T_482 extends SplitAC ? "value" : "default" : never : never] extends infer T_483 ? T_483 extends T_481[PrefixWith, K_275, "."> extends infer T_482 ? T_482 extends PrefixWith, K_275, "."> ? T_482 extends SplitAC ? "value" : "default" : never : never] ? T_483 extends CanBeExpanded ? any : T_483 extends (infer U)[] ? any[] : T_483 extends object ? { [K_276 in keyof T_483]-?: T_483[K_276] extends infer T_484 ? T_484 extends T_483[K_276] ? T_484 extends CanBeExpanded ? T_484["default"] : T_484 : never : never; } : T_483 : never : never : T_481 extends (infer U)[] ? any[] : T_481 extends object ? { [K_277 in keyof T_481]-?: T_481[K_277] extends infer T_485 ? T_485 extends T_481[K_277] ? T_485 extends CanBeExpanded ? T_485["default"] : T_485 : never : never; } : T_481 : never : never; } : T_476 : never : never : T_474 extends (infer U)[] ? any[] : T_474 extends object ? { [K_278 in keyof T_474]-?: T_474[K_278] extends infer T_486 ? T_486 extends T_474[K_278] ? T_486 extends CanBeExpanded ? T_486[PrefixWith, K_278, "."> extends infer T_487 ? T_487 extends PrefixWith, K_278, "."> ? T_487 extends SplitAC ? "value" : "default" : never : never] extends infer T_488 ? T_488 extends T_486[PrefixWith, K_278, "."> extends infer T_487 ? T_487 extends PrefixWith, K_278, "."> ? T_487 extends SplitAC ? "value" : "default" : never : never] ? T_488 extends CanBeExpanded ? T_488[PrefixWith, K_278, "."> extends infer T_487 ? T_487 extends PrefixWith, K_278, "."> ? T_487 extends SplitAC ? "value" : "default" : never : never] extends infer T_489 ? T_489 extends T_488[PrefixWith, K_278, "."> extends infer T_487 ? T_487 extends PrefixWith, K_278, "."> ? T_487 extends SplitAC ? "value" : "default" : never : never] ? T_489 extends CanBeExpanded ? any : T_489 extends (infer U)[] ? any[] : T_489 extends object ? { [K_279 in keyof T_489]-?: T_489[K_279] extends infer T_490 ? T_490 extends T_489[K_279] ? T_490 extends CanBeExpanded ? T_490["default"] : T_490 : never : never; } : T_489 : never : never : T_488 extends (infer U)[] ? any[] : T_488 extends object ? { [K_280 in keyof T_488]-?: T_488[K_280] extends infer T_491 ? T_491 extends T_488[K_280] ? T_491 extends CanBeExpanded ? T_491["default"] : T_491 : never : never; } : T_488 : never : never : T_486 extends (infer U)[] ? any[] : T_486 extends object ? { [K_281 in keyof T_486]-?: T_486[K_281] extends infer T_492 ? T_492 extends T_486[K_281] ? T_492 extends CanBeExpanded ? T_492["default"] : T_492 : never : never; } : T_486 : never : never; } : T_474 : never : never; } : T_452 : never : never : T_451 extends (infer U)[] ? any[] : T_451 extends object ? { [K_282 in keyof T_451]-?: T_451[K_282] extends infer T_493 ? T_493 extends T_451[K_282] ? T_493 extends CanBeExpanded ? T_493[PrefixWith<`${string & K_256}`, K_282, "."> extends infer T_494 ? T_494 extends PrefixWith<`${string & K_256}`, K_282, "."> ? T_494 extends SplitAC ? "value" : "default" : never : never] extends infer T_495 ? T_495 extends T_493[PrefixWith<`${string & K_256}`, K_282, "."> extends infer T_494 ? T_494 extends PrefixWith<`${string & K_256}`, K_282, "."> ? T_494 extends SplitAC ? "value" : "default" : never : never] ? T_495 extends CanBeExpanded ? T_495[PrefixWith<`${string & K_256}`, K_282, "."> extends infer T_494 ? T_494 extends PrefixWith<`${string & K_256}`, K_282, "."> ? T_494 extends SplitAC ? "value" : "default" : never : never] extends infer T_496 ? T_496 extends T_495[PrefixWith<`${string & K_256}`, K_282, "."> extends infer T_494 ? T_494 extends PrefixWith<`${string & K_256}`, K_282, "."> ? T_494 extends SplitAC ? "value" : "default" : never : never] ? T_496 extends CanBeExpanded ? T_496[PrefixWith<`${string & K_256}`, K_282, "."> extends infer T_494 ? T_494 extends PrefixWith<`${string & K_256}`, K_282, "."> ? T_494 extends SplitAC ? "value" : "default" : never : never] extends infer T_497 ? T_497 extends T_496[PrefixWith<`${string & K_256}`, K_282, "."> extends infer T_494 ? T_494 extends PrefixWith<`${string & K_256}`, K_282, "."> ? T_494 extends SplitAC ? "value" : "default" : never : never] ? T_497 extends CanBeExpanded ? T_497[PrefixWith<`${string & K_256}`, K_282, "."> extends infer T_494 ? T_494 extends PrefixWith<`${string & K_256}`, K_282, "."> ? T_494 extends SplitAC ? "value" : "default" : never : never] extends infer T_498 ? T_498 extends T_497[PrefixWith<`${string & K_256}`, K_282, "."> extends infer T_494 ? T_494 extends PrefixWith<`${string & K_256}`, K_282, "."> ? T_494 extends SplitAC ? "value" : "default" : never : never] ? T_498 extends CanBeExpanded ? any : T_498 extends (infer U)[] ? any[] : T_498 extends object ? { [K_283 in keyof T_498]-?: any; } : T_498 : never : never : T_497 extends (infer U)[] ? any[] : T_497 extends object ? { [K_284 in keyof T_497]-?: T_497[K_284] extends infer T_499 ? T_499 extends T_497[K_284] ? T_499 extends CanBeExpanded ? any : T_499 extends (infer U)[] ? any[] : T_499 extends object ? { [K_285 in keyof T_499]-?: T_499[K_285] extends infer T_500 ? T_500 extends T_499[K_285] ? T_500 extends CanBeExpanded ? T_500["default"] : T_500 : never : never; } : T_499 : never : never; } : T_497 : never : never : T_496 extends (infer U)[] ? any[] : T_496 extends object ? { [K_286 in keyof T_496]-?: T_496[K_286] extends infer T_501 ? T_501 extends T_496[K_286] ? T_501 extends CanBeExpanded ? T_501[PrefixWith, K_286, "."> extends infer T_502 ? T_502 extends PrefixWith, K_286, "."> ? T_502 extends SplitAC ? "value" : "default" : never : never] extends infer T_503 ? T_503 extends T_501[PrefixWith, K_286, "."> extends infer T_502 ? T_502 extends PrefixWith, K_286, "."> ? T_502 extends SplitAC ? "value" : "default" : never : never] ? T_503 extends CanBeExpanded ? any : T_503 extends (infer U)[] ? any[] : T_503 extends object ? { [K_287 in keyof T_503]-?: T_503[K_287] extends infer T_504 ? T_504 extends T_503[K_287] ? T_504 extends CanBeExpanded ? T_504["default"] : T_504 : never : never; } : T_503 : never : never : T_501 extends (infer U)[] ? any[] : T_501 extends object ? { [K_288 in keyof T_501]-?: T_501[K_288] extends infer T_505 ? T_505 extends T_501[K_288] ? T_505 extends CanBeExpanded ? T_505["default"] : T_505 : never : never; } : T_501 : never : never; } : T_496 : never : never : T_495 extends (infer U)[] ? any[] : T_495 extends object ? { [K_289 in keyof T_495]-?: T_495[K_289] extends infer T_506 ? T_506 extends T_495[K_289] ? T_506 extends CanBeExpanded ? T_506[PrefixWith, K_289, "."> extends infer T_507 ? T_507 extends PrefixWith, K_289, "."> ? T_507 extends SplitAC ? "value" : "default" : never : never] extends infer T_508 ? T_508 extends T_506[PrefixWith, K_289, "."> extends infer T_507 ? T_507 extends PrefixWith, K_289, "."> ? T_507 extends SplitAC ? "value" : "default" : never : never] ? T_508 extends CanBeExpanded ? T_508[PrefixWith, K_289, "."> extends infer T_507 ? T_507 extends PrefixWith, K_289, "."> ? T_507 extends SplitAC ? "value" : "default" : never : never] extends infer T_509 ? T_509 extends T_508[PrefixWith, K_289, "."> extends infer T_507 ? T_507 extends PrefixWith, K_289, "."> ? T_507 extends SplitAC ? "value" : "default" : never : never] ? T_509 extends CanBeExpanded ? any : T_509 extends (infer U)[] ? any[] : T_509 extends object ? { [K_290 in keyof T_509]-?: T_509[K_290] extends infer T_510 ? T_510 extends T_509[K_290] ? T_510 extends CanBeExpanded ? T_510["default"] : T_510 : never : never; } : T_509 : never : never : T_508 extends (infer U)[] ? any[] : T_508 extends object ? { [K_291 in keyof T_508]-?: T_508[K_291] extends infer T_511 ? T_511 extends T_508[K_291] ? T_511 extends CanBeExpanded ? T_511["default"] : T_511 : never : never; } : T_508 : never : never : T_506 extends (infer U)[] ? any[] : T_506 extends object ? { [K_292 in keyof T_506]-?: T_506[K_292] extends infer T_512 ? T_512 extends T_506[K_292] ? T_512 extends CanBeExpanded ? T_512["default"] : T_512 : never : never; } : T_506 : never : never; } : T_495 : never : never : T_493 extends (infer U)[] ? any[] : T_493 extends object ? { [K_293 in keyof T_493]-?: T_493[K_293] extends infer T_513 ? T_513 extends T_493[K_293] ? T_513 extends CanBeExpanded ? T_513[PrefixWith, K_293, "."> extends infer T_514 ? T_514 extends PrefixWith, K_293, "."> ? T_514 extends SplitAC ? "value" : "default" : never : never] extends infer T_515 ? T_515 extends T_513[PrefixWith, K_293, "."> extends infer T_514 ? T_514 extends PrefixWith, K_293, "."> ? T_514 extends SplitAC ? "value" : "default" : never : never] ? T_515 extends CanBeExpanded ? T_515[PrefixWith, K_293, "."> extends infer T_514 ? T_514 extends PrefixWith, K_293, "."> ? T_514 extends SplitAC ? "value" : "default" : never : never] extends infer T_516 ? T_516 extends T_515[PrefixWith, K_293, "."> extends infer T_514 ? T_514 extends PrefixWith, K_293, "."> ? T_514 extends SplitAC ? "value" : "default" : never : never] ? T_516 extends CanBeExpanded ? T_516[PrefixWith, K_293, "."> extends infer T_514 ? T_514 extends PrefixWith, K_293, "."> ? T_514 extends SplitAC ? "value" : "default" : never : never] extends infer T_517 ? T_517 extends T_516[PrefixWith, K_293, "."> extends infer T_514 ? T_514 extends PrefixWith, K_293, "."> ? T_514 extends SplitAC ? "value" : "default" : never : never] ? T_517 extends CanBeExpanded ? any : T_517 extends (infer U)[] ? any[] : T_517 extends object ? { [K_294 in keyof T_517]-?: T_517[K_294] extends infer T_518 ? T_518 extends T_517[K_294] ? T_518 extends CanBeExpanded ? T_518["default"] : T_518 : never : never; } : T_517 : never : never : T_516 extends (infer U)[] ? any[] : T_516 extends object ? { [K_295 in keyof T_516]-?: T_516[K_295] extends infer T_519 ? T_519 extends T_516[K_295] ? T_519 extends CanBeExpanded ? T_519["default"] : T_519 : never : never; } : T_516 : never : never : T_515 extends (infer U)[] ? any[] : T_515 extends object ? { [K_296 in keyof T_515]-?: T_515[K_296] extends infer T_520 ? T_520 extends T_515[K_296] ? T_520 extends CanBeExpanded ? T_520["default"] : T_520 : never : never; } : T_515 : never : never : T_513 extends (infer U)[] ? any[] : T_513 extends object ? { [K_297 in keyof T_513]-?: T_513[K_297] extends infer T_521 ? T_521 extends T_513[K_297] ? T_521 extends CanBeExpanded ? T_521["default"] : T_521 : never : never; } : T_513 : never : never; } : T_493 : never : never; } : T_451 : never : never : T_450 extends (infer U)[] ? any[] : T_450 extends object ? { [K_298 in keyof T_450]-?: T_450[K_298] extends infer T_522 ? T_522 extends T_450[K_298] ? T_522 extends CanBeExpanded ? T_522[PrefixWith<`${string & K_256}`, K_298, "."> extends infer T_523 ? T_523 extends PrefixWith<`${string & K_256}`, K_298, "."> ? T_523 extends SplitAC ? "value" : "default" : never : never] extends infer T_524 ? T_524 extends T_522[PrefixWith<`${string & K_256}`, K_298, "."> extends infer T_523 ? T_523 extends PrefixWith<`${string & K_256}`, K_298, "."> ? T_523 extends SplitAC ? "value" : "default" : never : never] ? T_524 extends CanBeExpanded ? T_524[PrefixWith<`${string & K_256}`, K_298, "."> extends infer T_523 ? T_523 extends PrefixWith<`${string & K_256}`, K_298, "."> ? T_523 extends SplitAC ? "value" : "default" : never : never] extends infer T_525 ? T_525 extends T_524[PrefixWith<`${string & K_256}`, K_298, "."> extends infer T_523 ? T_523 extends PrefixWith<`${string & K_256}`, K_298, "."> ? T_523 extends SplitAC ? "value" : "default" : never : never] ? T_525 extends CanBeExpanded ? T_525[PrefixWith<`${string & K_256}`, K_298, "."> extends infer T_523 ? T_523 extends PrefixWith<`${string & K_256}`, K_298, "."> ? T_523 extends SplitAC ? "value" : "default" : never : never] extends infer T_526 ? T_526 extends T_525[PrefixWith<`${string & K_256}`, K_298, "."> extends infer T_523 ? T_523 extends PrefixWith<`${string & K_256}`, K_298, "."> ? T_523 extends SplitAC ? "value" : "default" : never : never] ? T_526 extends CanBeExpanded ? T_526[PrefixWith<`${string & K_256}`, K_298, "."> extends infer T_523 ? T_523 extends PrefixWith<`${string & K_256}`, K_298, "."> ? T_523 extends SplitAC ? "value" : "default" : never : never] extends infer T_527 ? T_527 extends T_526[PrefixWith<`${string & K_256}`, K_298, "."> extends infer T_523 ? T_523 extends PrefixWith<`${string & K_256}`, K_298, "."> ? T_523 extends SplitAC ? "value" : "default" : never : never] ? T_527 extends CanBeExpanded ? T_527[PrefixWith<`${string & K_256}`, K_298, "."> extends infer T_523 ? T_523 extends PrefixWith<`${string & K_256}`, K_298, "."> ? T_523 extends SplitAC ? "value" : "default" : never : never] extends infer T_528 ? T_528 extends T_527[PrefixWith<`${string & K_256}`, K_298, "."> extends infer T_523 ? T_523 extends PrefixWith<`${string & K_256}`, K_298, "."> ? T_523 extends SplitAC ? "value" : "default" : never : never] ? T_528 extends CanBeExpanded ? any : T_528 extends (infer U)[] ? any[] : T_528 extends object ? { [K_299 in keyof T_528]-?: any; } : T_528 : never : never : T_527 extends (infer U)[] ? any[] : T_527 extends object ? { [K_300 in keyof T_527]-?: T_527[K_300] extends infer T_529 ? T_529 extends T_527[K_300] ? T_529 extends CanBeExpanded ? any : T_529 extends (infer U)[] ? any[] : T_529 extends object ? { [K_301 in keyof T_529]-?: T_529[K_301] extends infer T_530 ? T_530 extends T_529[K_301] ? T_530 extends CanBeExpanded ? T_530["default"] : T_530 : never : never; } : T_529 : never : never; } : T_527 : never : never : T_526 extends (infer U)[] ? any[] : T_526 extends object ? { [K_302 in keyof T_526]-?: T_526[K_302] extends infer T_531 ? T_531 extends T_526[K_302] ? T_531 extends CanBeExpanded ? T_531[PrefixWith, K_302, "."> extends infer T_532 ? T_532 extends PrefixWith, K_302, "."> ? T_532 extends SplitAC ? "value" : "default" : never : never] extends infer T_533 ? T_533 extends T_531[PrefixWith, K_302, "."> extends infer T_532 ? T_532 extends PrefixWith, K_302, "."> ? T_532 extends SplitAC ? "value" : "default" : never : never] ? T_533 extends CanBeExpanded ? any : T_533 extends (infer U)[] ? any[] : T_533 extends object ? { [K_303 in keyof T_533]-?: T_533[K_303] extends infer T_534 ? T_534 extends T_533[K_303] ? T_534 extends CanBeExpanded ? T_534["default"] : T_534 : never : never; } : T_533 : never : never : T_531 extends (infer U)[] ? any[] : T_531 extends object ? { [K_304 in keyof T_531]-?: T_531[K_304] extends infer T_535 ? T_535 extends T_531[K_304] ? T_535 extends CanBeExpanded ? T_535["default"] : T_535 : never : never; } : T_531 : never : never; } : T_526 : never : never : T_525 extends (infer U)[] ? any[] : T_525 extends object ? { [K_305 in keyof T_525]-?: T_525[K_305] extends infer T_536 ? T_536 extends T_525[K_305] ? T_536 extends CanBeExpanded ? T_536[PrefixWith, K_305, "."> extends infer T_537 ? T_537 extends PrefixWith, K_305, "."> ? T_537 extends SplitAC ? "value" : "default" : never : never] extends infer T_538 ? T_538 extends T_536[PrefixWith, K_305, "."> extends infer T_537 ? T_537 extends PrefixWith, K_305, "."> ? T_537 extends SplitAC ? "value" : "default" : never : never] ? T_538 extends CanBeExpanded ? T_538[PrefixWith, K_305, "."> extends infer T_537 ? T_537 extends PrefixWith, K_305, "."> ? T_537 extends SplitAC ? "value" : "default" : never : never] extends infer T_539 ? T_539 extends T_538[PrefixWith, K_305, "."> extends infer T_537 ? T_537 extends PrefixWith, K_305, "."> ? T_537 extends SplitAC ? "value" : "default" : never : never] ? T_539 extends CanBeExpanded ? any : T_539 extends (infer U)[] ? any[] : T_539 extends object ? { [K_306 in keyof T_539]-?: T_539[K_306] extends infer T_540 ? T_540 extends T_539[K_306] ? T_540 extends CanBeExpanded ? T_540["default"] : T_540 : never : never; } : T_539 : never : never : T_538 extends (infer U)[] ? any[] : T_538 extends object ? { [K_307 in keyof T_538]-?: T_538[K_307] extends infer T_541 ? T_541 extends T_538[K_307] ? T_541 extends CanBeExpanded ? T_541["default"] : T_541 : never : never; } : T_538 : never : never : T_536 extends (infer U)[] ? any[] : T_536 extends object ? { [K_308 in keyof T_536]-?: T_536[K_308] extends infer T_542 ? T_542 extends T_536[K_308] ? T_542 extends CanBeExpanded ? T_542["default"] : T_542 : never : never; } : T_536 : never : never; } : T_525 : never : never : T_524 extends (infer U)[] ? any[] : T_524 extends object ? { [K_309 in keyof T_524]-?: T_524[K_309] extends infer T_543 ? T_543 extends T_524[K_309] ? T_543 extends CanBeExpanded ? T_543[PrefixWith, K_309, "."> extends infer T_544 ? T_544 extends PrefixWith, K_309, "."> ? T_544 extends SplitAC ? "value" : "default" : never : never] extends infer T_545 ? T_545 extends T_543[PrefixWith, K_309, "."> extends infer T_544 ? T_544 extends PrefixWith, K_309, "."> ? T_544 extends SplitAC ? "value" : "default" : never : never] ? T_545 extends CanBeExpanded ? T_545[PrefixWith, K_309, "."> extends infer T_544 ? T_544 extends PrefixWith, K_309, "."> ? T_544 extends SplitAC ? "value" : "default" : never : never] extends infer T_546 ? T_546 extends T_545[PrefixWith, K_309, "."> extends infer T_544 ? T_544 extends PrefixWith, K_309, "."> ? T_544 extends SplitAC ? "value" : "default" : never : never] ? T_546 extends CanBeExpanded ? T_546[PrefixWith, K_309, "."> extends infer T_544 ? T_544 extends PrefixWith, K_309, "."> ? T_544 extends SplitAC ? "value" : "default" : never : never] extends infer T_547 ? T_547 extends T_546[PrefixWith, K_309, "."> extends infer T_544 ? T_544 extends PrefixWith, K_309, "."> ? T_544 extends SplitAC ? "value" : "default" : never : never] ? T_547 extends CanBeExpanded ? any : T_547 extends (infer U)[] ? any[] : T_547 extends object ? { [K_310 in keyof T_547]-?: T_547[K_310] extends infer T_548 ? T_548 extends T_547[K_310] ? T_548 extends CanBeExpanded ? T_548["default"] : T_548 : never : never; } : T_547 : never : never : T_546 extends (infer U)[] ? any[] : T_546 extends object ? { [K_311 in keyof T_546]-?: T_546[K_311] extends infer T_549 ? T_549 extends T_546[K_311] ? T_549 extends CanBeExpanded ? T_549["default"] : T_549 : never : never; } : T_546 : never : never : T_545 extends (infer U)[] ? any[] : T_545 extends object ? { [K_312 in keyof T_545]-?: T_545[K_312] extends infer T_550 ? T_550 extends T_545[K_312] ? T_550 extends CanBeExpanded ? T_550["default"] : T_550 : never : never; } : T_545 : never : never : T_543 extends (infer U)[] ? any[] : T_543 extends object ? { [K_313 in keyof T_543]-?: T_543[K_313] extends infer T_551 ? T_551 extends T_543[K_313] ? T_551 extends CanBeExpanded ? T_551["default"] : T_551 : never : never; } : T_543 : never : never; } : T_524 : never : never : T_522 extends (infer U)[] ? any[] : T_522 extends object ? { [K_314 in keyof T_522]-?: T_522[K_314] extends infer T_552 ? T_552 extends T_522[K_314] ? T_552 extends CanBeExpanded ? T_552[PrefixWith, K_314, "."> extends infer T_553 ? T_553 extends PrefixWith, K_314, "."> ? T_553 extends SplitAC ? "value" : "default" : never : never] extends infer T_554 ? T_554 extends T_552[PrefixWith, K_314, "."> extends infer T_553 ? T_553 extends PrefixWith, K_314, "."> ? T_553 extends SplitAC ? "value" : "default" : never : never] ? T_554 extends CanBeExpanded ? T_554[PrefixWith, K_314, "."> extends infer T_553 ? T_553 extends PrefixWith, K_314, "."> ? T_553 extends SplitAC ? "value" : "default" : never : never] extends infer T_555 ? T_555 extends T_554[PrefixWith, K_314, "."> extends infer T_553 ? T_553 extends PrefixWith, K_314, "."> ? T_553 extends SplitAC ? "value" : "default" : never : never] ? T_555 extends CanBeExpanded ? T_555[PrefixWith, K_314, "."> extends infer T_553 ? T_553 extends PrefixWith, K_314, "."> ? T_553 extends SplitAC ? "value" : "default" : never : never] extends infer T_556 ? T_556 extends T_555[PrefixWith, K_314, "."> extends infer T_553 ? T_553 extends PrefixWith, K_314, "."> ? T_553 extends SplitAC ? "value" : "default" : never : never] ? T_556 extends CanBeExpanded ? T_556[PrefixWith, K_314, "."> extends infer T_553 ? T_553 extends PrefixWith, K_314, "."> ? T_553 extends SplitAC ? "value" : "default" : never : never] extends infer T_557 ? T_557 extends T_556[PrefixWith, K_314, "."> extends infer T_553 ? T_553 extends PrefixWith, K_314, "."> ? T_553 extends SplitAC ? "value" : "default" : never : never] ? T_557 extends CanBeExpanded ? any : T_557 extends (infer U)[] ? any[] : T_557 extends object ? { [K_315 in keyof T_557]-?: T_557[K_315] extends infer T_558 ? T_558 extends T_557[K_315] ? T_558 extends CanBeExpanded ? T_558["default"] : T_558 : never : never; } : T_557 : never : never : T_556 extends (infer U)[] ? any[] : T_556 extends object ? { [K_316 in keyof T_556]-?: T_556[K_316] extends infer T_559 ? T_559 extends T_556[K_316] ? T_559 extends CanBeExpanded ? T_559["default"] : T_559 : never : never; } : T_556 : never : never : T_555 extends (infer U)[] ? any[] : T_555 extends object ? { [K_317 in keyof T_555]-?: T_555[K_317] extends infer T_560 ? T_560 extends T_555[K_317] ? T_560 extends CanBeExpanded ? T_560["default"] : T_560 : never : never; } : T_555 : never : never : T_554 extends (infer U)[] ? any[] : T_554 extends object ? { [K_318 in keyof T_554]-?: T_554[K_318] extends infer T_561 ? T_561 extends T_554[K_318] ? T_561 extends CanBeExpanded ? T_561["default"] : T_561 : never : never; } : T_554 : never : never : T_552 extends (infer U)[] ? any[] : T_552 extends object ? { [K_319 in keyof T_552]-?: T_552[K_319] extends infer T_562 ? T_562 extends T_552[K_319] ? T_562 extends CanBeExpanded ? T_562["default"] : T_562 : never : never; } : T_552 : never : never; } : T_522 : never : never; } : T_450 : never : never : T_449 extends (infer U)[] ? any[] : T_449 extends object ? { [K_320 in keyof T_449]-?: T_449[K_320] extends infer T_563 ? T_563 extends T_449[K_320] ? T_563 extends CanBeExpanded ? T_563[PrefixWith<`${string & K_256}`, K_320, "."> extends infer T_564 ? T_564 extends PrefixWith<`${string & K_256}`, K_320, "."> ? T_564 extends SplitAC ? "value" : "default" : never : never] extends infer T_565 ? T_565 extends T_563[PrefixWith<`${string & K_256}`, K_320, "."> extends infer T_564 ? T_564 extends PrefixWith<`${string & K_256}`, K_320, "."> ? T_564 extends SplitAC ? "value" : "default" : never : never] ? T_565 extends CanBeExpanded ? T_565[PrefixWith<`${string & K_256}`, K_320, "."> extends infer T_564 ? T_564 extends PrefixWith<`${string & K_256}`, K_320, "."> ? T_564 extends SplitAC ? "value" : "default" : never : never] extends infer T_566 ? T_566 extends T_565[PrefixWith<`${string & K_256}`, K_320, "."> extends infer T_564 ? T_564 extends PrefixWith<`${string & K_256}`, K_320, "."> ? T_564 extends SplitAC ? "value" : "default" : never : never] ? T_566 extends CanBeExpanded ? T_566[PrefixWith<`${string & K_256}`, K_320, "."> extends infer T_564 ? T_564 extends PrefixWith<`${string & K_256}`, K_320, "."> ? T_564 extends SplitAC ? "value" : "default" : never : never] extends infer T_567 ? T_567 extends T_566[PrefixWith<`${string & K_256}`, K_320, "."> extends infer T_564 ? T_564 extends PrefixWith<`${string & K_256}`, K_320, "."> ? T_564 extends SplitAC ? "value" : "default" : never : never] ? T_567 extends CanBeExpanded ? T_567[PrefixWith<`${string & K_256}`, K_320, "."> extends infer T_564 ? T_564 extends PrefixWith<`${string & K_256}`, K_320, "."> ? T_564 extends SplitAC ? "value" : "default" : never : never] extends infer T_568 ? T_568 extends T_567[PrefixWith<`${string & K_256}`, K_320, "."> extends infer T_564 ? T_564 extends PrefixWith<`${string & K_256}`, K_320, "."> ? T_564 extends SplitAC ? "value" : "default" : never : never] ? T_568 extends CanBeExpanded ? T_568[PrefixWith<`${string & K_256}`, K_320, "."> extends infer T_564 ? T_564 extends PrefixWith<`${string & K_256}`, K_320, "."> ? T_564 extends SplitAC ? "value" : "default" : never : never] extends infer T_569 ? T_569 extends T_568[PrefixWith<`${string & K_256}`, K_320, "."> extends infer T_564 ? T_564 extends PrefixWith<`${string & K_256}`, K_320, "."> ? T_564 extends SplitAC ? "value" : "default" : never : never] ? T_569 extends CanBeExpanded ? T_569[PrefixWith<`${string & K_256}`, K_320, "."> extends infer T_564 ? T_564 extends PrefixWith<`${string & K_256}`, K_320, "."> ? T_564 extends SplitAC ? "value" : "default" : never : never] extends infer T_570 ? T_570 extends T_569[PrefixWith<`${string & K_256}`, K_320, "."> extends infer T_564 ? T_564 extends PrefixWith<`${string & K_256}`, K_320, "."> ? T_564 extends SplitAC ? "value" : "default" : never : never] ? T_570 extends CanBeExpanded ? any : T_570 extends (infer U)[] ? any[] : T_570 extends object ? { [K_321 in keyof T_570]-?: any; } : T_570 : never : never : T_569 extends (infer U)[] ? any[] : T_569 extends object ? { [K_322 in keyof T_569]-?: T_569[K_322] extends infer T_571 ? T_571 extends T_569[K_322] ? T_571 extends CanBeExpanded ? any : T_571 extends (infer U)[] ? any[] : T_571 extends object ? { [K_323 in keyof T_571]-?: T_571[K_323] extends infer T_572 ? T_572 extends T_571[K_323] ? T_572 extends CanBeExpanded ? T_572["default"] : T_572 : never : never; } : T_571 : never : never; } : T_569 : never : never : T_568 extends (infer U)[] ? any[] : T_568 extends object ? { [K_324 in keyof T_568]-?: T_568[K_324] extends infer T_573 ? T_573 extends T_568[K_324] ? T_573 extends CanBeExpanded ? T_573[PrefixWith, K_324, "."> extends infer T_574 ? T_574 extends PrefixWith, K_324, "."> ? T_574 extends SplitAC ? "value" : "default" : never : never] extends infer T_575 ? T_575 extends T_573[PrefixWith, K_324, "."> extends infer T_574 ? T_574 extends PrefixWith, K_324, "."> ? T_574 extends SplitAC ? "value" : "default" : never : never] ? T_575 extends CanBeExpanded ? any : T_575 extends (infer U)[] ? any[] : T_575 extends object ? { [K_325 in keyof T_575]-?: T_575[K_325] extends infer T_576 ? T_576 extends T_575[K_325] ? T_576 extends CanBeExpanded ? T_576["default"] : T_576 : never : never; } : T_575 : never : never : T_573 extends (infer U)[] ? any[] : T_573 extends object ? { [K_326 in keyof T_573]-?: T_573[K_326] extends infer T_577 ? T_577 extends T_573[K_326] ? T_577 extends CanBeExpanded ? T_577["default"] : T_577 : never : never; } : T_573 : never : never; } : T_568 : never : never : T_567 extends (infer U)[] ? any[] : T_567 extends object ? { [K_327 in keyof T_567]-?: T_567[K_327] extends infer T_578 ? T_578 extends T_567[K_327] ? T_578 extends CanBeExpanded ? T_578[PrefixWith, K_327, "."> extends infer T_579 ? T_579 extends PrefixWith, K_327, "."> ? T_579 extends SplitAC ? "value" : "default" : never : never] extends infer T_580 ? T_580 extends T_578[PrefixWith, K_327, "."> extends infer T_579 ? T_579 extends PrefixWith, K_327, "."> ? T_579 extends SplitAC ? "value" : "default" : never : never] ? T_580 extends CanBeExpanded ? T_580[PrefixWith, K_327, "."> extends infer T_579 ? T_579 extends PrefixWith, K_327, "."> ? T_579 extends SplitAC ? "value" : "default" : never : never] extends infer T_581 ? T_581 extends T_580[PrefixWith, K_327, "."> extends infer T_579 ? T_579 extends PrefixWith, K_327, "."> ? T_579 extends SplitAC ? "value" : "default" : never : never] ? T_581 extends CanBeExpanded ? any : T_581 extends (infer U)[] ? any[] : T_581 extends object ? { [K_328 in keyof T_581]-?: T_581[K_328] extends infer T_582 ? T_582 extends T_581[K_328] ? T_582 extends CanBeExpanded ? T_582["default"] : T_582 : never : never; } : T_581 : never : never : T_580 extends (infer U)[] ? any[] : T_580 extends object ? { [K_329 in keyof T_580]-?: T_580[K_329] extends infer T_583 ? T_583 extends T_580[K_329] ? T_583 extends CanBeExpanded ? T_583["default"] : T_583 : never : never; } : T_580 : never : never : T_578 extends (infer U)[] ? any[] : T_578 extends object ? { [K_330 in keyof T_578]-?: T_578[K_330] extends infer T_584 ? T_584 extends T_578[K_330] ? T_584 extends CanBeExpanded ? T_584["default"] : T_584 : never : never; } : T_578 : never : never; } : T_567 : never : never : T_566 extends (infer U)[] ? any[] : T_566 extends object ? { [K_331 in keyof T_566]-?: T_566[K_331] extends infer T_585 ? T_585 extends T_566[K_331] ? T_585 extends CanBeExpanded ? T_585[PrefixWith, K_331, "."> extends infer T_586 ? T_586 extends PrefixWith, K_331, "."> ? T_586 extends SplitAC ? "value" : "default" : never : never] extends infer T_587 ? T_587 extends T_585[PrefixWith, K_331, "."> extends infer T_586 ? T_586 extends PrefixWith, K_331, "."> ? T_586 extends SplitAC ? "value" : "default" : never : never] ? T_587 extends CanBeExpanded ? T_587[PrefixWith, K_331, "."> extends infer T_586 ? T_586 extends PrefixWith, K_331, "."> ? T_586 extends SplitAC ? "value" : "default" : never : never] extends infer T_588 ? T_588 extends T_587[PrefixWith, K_331, "."> extends infer T_586 ? T_586 extends PrefixWith, K_331, "."> ? T_586 extends SplitAC ? "value" : "default" : never : never] ? T_588 extends CanBeExpanded ? T_588[PrefixWith, K_331, "."> extends infer T_586 ? T_586 extends PrefixWith, K_331, "."> ? T_586 extends SplitAC ? "value" : "default" : never : never] extends infer T_589 ? T_589 extends T_588[PrefixWith, K_331, "."> extends infer T_586 ? T_586 extends PrefixWith, K_331, "."> ? T_586 extends SplitAC ? "value" : "default" : never : never] ? T_589 extends CanBeExpanded ? any : T_589 extends (infer U)[] ? any[] : T_589 extends object ? { [K_332 in keyof T_589]-?: T_589[K_332] extends infer T_590 ? T_590 extends T_589[K_332] ? T_590 extends CanBeExpanded ? T_590["default"] : T_590 : never : never; } : T_589 : never : never : T_588 extends (infer U)[] ? any[] : T_588 extends object ? { [K_333 in keyof T_588]-?: T_588[K_333] extends infer T_591 ? T_591 extends T_588[K_333] ? T_591 extends CanBeExpanded ? T_591["default"] : T_591 : never : never; } : T_588 : never : never : T_587 extends (infer U)[] ? any[] : T_587 extends object ? { [K_334 in keyof T_587]-?: T_587[K_334] extends infer T_592 ? T_592 extends T_587[K_334] ? T_592 extends CanBeExpanded ? T_592["default"] : T_592 : never : never; } : T_587 : never : never : T_585 extends (infer U)[] ? any[] : T_585 extends object ? { [K_335 in keyof T_585]-?: T_585[K_335] extends infer T_593 ? T_593 extends T_585[K_335] ? T_593 extends CanBeExpanded ? T_593["default"] : T_593 : never : never; } : T_585 : never : never; } : T_566 : never : never : T_565 extends (infer U)[] ? any[] : T_565 extends object ? { [K_336 in keyof T_565]-?: T_565[K_336] extends infer T_594 ? T_594 extends T_565[K_336] ? T_594 extends CanBeExpanded ? T_594[PrefixWith, K_336, "."> extends infer T_595 ? T_595 extends PrefixWith, K_336, "."> ? T_595 extends SplitAC ? "value" : "default" : never : never] extends infer T_596 ? T_596 extends T_594[PrefixWith, K_336, "."> extends infer T_595 ? T_595 extends PrefixWith, K_336, "."> ? T_595 extends SplitAC ? "value" : "default" : never : never] ? T_596 extends CanBeExpanded ? T_596[PrefixWith, K_336, "."> extends infer T_595 ? T_595 extends PrefixWith, K_336, "."> ? T_595 extends SplitAC ? "value" : "default" : never : never] extends infer T_597 ? T_597 extends T_596[PrefixWith, K_336, "."> extends infer T_595 ? T_595 extends PrefixWith, K_336, "."> ? T_595 extends SplitAC ? "value" : "default" : never : never] ? T_597 extends CanBeExpanded ? T_597[PrefixWith, K_336, "."> extends infer T_595 ? T_595 extends PrefixWith, K_336, "."> ? T_595 extends SplitAC ? "value" : "default" : never : never] extends infer T_598 ? T_598 extends T_597[PrefixWith, K_336, "."> extends infer T_595 ? T_595 extends PrefixWith, K_336, "."> ? T_595 extends SplitAC ? "value" : "default" : never : never] ? T_598 extends CanBeExpanded ? T_598[PrefixWith, K_336, "."> extends infer T_595 ? T_595 extends PrefixWith, K_336, "."> ? T_595 extends SplitAC ? "value" : "default" : never : never] extends infer T_599 ? T_599 extends T_598[PrefixWith, K_336, "."> extends infer T_595 ? T_595 extends PrefixWith, K_336, "."> ? T_595 extends SplitAC ? "value" : "default" : never : never] ? T_599 extends CanBeExpanded ? any : T_599 extends (infer U)[] ? any[] : T_599 extends object ? { [K_337 in keyof T_599]-?: T_599[K_337] extends infer T_600 ? T_600 extends T_599[K_337] ? T_600 extends CanBeExpanded ? T_600["default"] : T_600 : never : never; } : T_599 : never : never : T_598 extends (infer U)[] ? any[] : T_598 extends object ? { [K_338 in keyof T_598]-?: T_598[K_338] extends infer T_601 ? T_601 extends T_598[K_338] ? T_601 extends CanBeExpanded ? T_601["default"] : T_601 : never : never; } : T_598 : never : never : T_597 extends (infer U)[] ? any[] : T_597 extends object ? { [K_339 in keyof T_597]-?: T_597[K_339] extends infer T_602 ? T_602 extends T_597[K_339] ? T_602 extends CanBeExpanded ? T_602["default"] : T_602 : never : never; } : T_597 : never : never : T_596 extends (infer U)[] ? any[] : T_596 extends object ? { [K_340 in keyof T_596]-?: T_596[K_340] extends infer T_603 ? T_603 extends T_596[K_340] ? T_603 extends CanBeExpanded ? T_603["default"] : T_603 : never : never; } : T_596 : never : never : T_594 extends (infer U)[] ? any[] : T_594 extends object ? { [K_341 in keyof T_594]-?: T_594[K_341] extends infer T_604 ? T_604 extends T_594[K_341] ? T_604 extends CanBeExpanded ? T_604["default"] : T_604 : never : never; } : T_594 : never : never; } : T_565 : never : never : T_563 extends (infer U)[] ? any[] : T_563 extends object ? { [K_342 in keyof T_563]-?: T_563[K_342] extends infer T_605 ? T_605 extends T_563[K_342] ? T_605 extends CanBeExpanded ? T_605[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] extends infer T_607 ? T_607 extends T_605[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] ? T_607 extends CanBeExpanded ? T_607[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] extends infer T_608 ? T_608 extends T_607[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] ? T_608 extends CanBeExpanded ? T_608[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] extends infer T_609 ? T_609 extends T_608[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] ? T_609 extends CanBeExpanded ? T_609[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] extends infer T_610 ? T_610 extends T_609[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] ? T_610 extends CanBeExpanded ? T_610[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] extends infer T_611 ? T_611 extends T_610[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] ? T_611 extends CanBeExpanded ? any : T_611 extends (infer U)[] ? any[] : T_611 extends object ? { [K_343 in keyof T_611]-?: T_611[K_343] extends infer T_612 ? T_612 extends T_611[K_343] ? T_612 extends CanBeExpanded ? T_612["default"] : T_612 : never : never; } : T_611 : never : never : T_610 extends (infer U)[] ? any[] : T_610 extends object ? { [K_344 in keyof T_610]-?: T_610[K_344] extends infer T_613 ? T_613 extends T_610[K_344] ? T_613 extends CanBeExpanded ? T_613["default"] : T_613 : never : never; } : T_610 : never : never : T_609 extends (infer U)[] ? any[] : T_609 extends object ? { [K_345 in keyof T_609]-?: T_609[K_345] extends infer T_614 ? T_614 extends T_609[K_345] ? T_614 extends CanBeExpanded ? T_614["default"] : T_614 : never : never; } : T_609 : never : never : T_608 extends (infer U)[] ? any[] : T_608 extends object ? { [K_346 in keyof T_608]-?: T_608[K_346] extends infer T_615 ? T_615 extends T_608[K_346] ? T_615 extends CanBeExpanded ? T_615["default"] : T_615 : never : never; } : T_608 : never : never : T_607 extends (infer U)[] ? any[] : T_607 extends object ? { [K_347 in keyof T_607]-?: T_607[K_347] extends infer T_616 ? T_616 extends T_607[K_347] ? T_616 extends CanBeExpanded ? T_616["default"] : T_616 : never : never; } : T_607 : never : never : T_605 extends (infer U)[] ? any[] : T_605 extends object ? { [K_348 in keyof T_605]-?: T_605[K_348] extends infer T_617 ? T_617 extends T_605[K_348] ? T_617 extends CanBeExpanded ? T_617["default"] : T_617 : never : never; } : T_605 : never : never; } : T_563 : never : never; } : T_449 : never : never : T_447 extends (infer U)[] ? any[] : T_447 extends object ? { [K_349 in keyof T_447]-?: T_447[K_349] extends infer T_618 ? T_618 extends T_447[K_349] ? T_618 extends CanBeExpanded ? T_618[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] extends infer T_620 ? T_620 extends T_618[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] ? T_620 extends CanBeExpanded ? T_620[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] extends infer T_621 ? T_621 extends T_620[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] ? T_621 extends CanBeExpanded ? T_621[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] extends infer T_622 ? T_622 extends T_621[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] ? T_622 extends CanBeExpanded ? T_622[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] extends infer T_623 ? T_623 extends T_622[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] ? T_623 extends CanBeExpanded ? T_623[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] extends infer T_624 ? T_624 extends T_623[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] ? T_624 extends CanBeExpanded ? T_624[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] extends infer T_625 ? T_625 extends T_624[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] ? T_625 extends CanBeExpanded ? T_625[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] extends infer T_626 ? T_626 extends T_625[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] ? T_626 extends CanBeExpanded ? any : T_626 extends (infer U)[] ? any[] : T_626 extends object ? { [K_350 in keyof T_626]-?: any; } : T_626 : never : never : T_625 extends (infer U)[] ? any[] : T_625 extends object ? { [K_351 in keyof T_625]-?: T_625[K_351] extends infer T_627 ? T_627 extends T_625[K_351] ? T_627 extends CanBeExpanded ? any : T_627 extends (infer U)[] ? any[] : T_627 extends object ? { [K_352 in keyof T_627]-?: T_627[K_352] extends infer T_628 ? T_628 extends T_627[K_352] ? T_628 extends CanBeExpanded ? T_628["default"] : T_628 : never : never; } : T_627 : never : never; } : T_625 : never : never : T_624 extends (infer U)[] ? any[] : T_624 extends object ? { [K_353 in keyof T_624]-?: T_624[K_353] extends infer T_629 ? T_629 extends T_624[K_353] ? T_629 extends CanBeExpanded ? T_629[PrefixWith, K_353, "."> extends infer T_630 ? T_630 extends PrefixWith, K_353, "."> ? T_630 extends SplitAC ? "value" : "default" : never : never] extends infer T_631 ? T_631 extends T_629[PrefixWith, K_353, "."> extends infer T_630 ? T_630 extends PrefixWith, K_353, "."> ? T_630 extends SplitAC ? "value" : "default" : never : never] ? T_631 extends CanBeExpanded ? any : T_631 extends (infer U)[] ? any[] : T_631 extends object ? { [K_354 in keyof T_631]-?: T_631[K_354] extends infer T_632 ? T_632 extends T_631[K_354] ? T_632 extends CanBeExpanded ? T_632["default"] : T_632 : never : never; } : T_631 : never : never : T_629 extends (infer U)[] ? any[] : T_629 extends object ? { [K_355 in keyof T_629]-?: T_629[K_355] extends infer T_633 ? T_633 extends T_629[K_355] ? T_633 extends CanBeExpanded ? T_633["default"] : T_633 : never : never; } : T_629 : never : never; } : T_624 : never : never : T_623 extends (infer U)[] ? any[] : T_623 extends object ? { [K_356 in keyof T_623]-?: T_623[K_356] extends infer T_634 ? T_634 extends T_623[K_356] ? T_634 extends CanBeExpanded ? T_634[PrefixWith, K_356, "."> extends infer T_635 ? T_635 extends PrefixWith, K_356, "."> ? T_635 extends SplitAC ? "value" : "default" : never : never] extends infer T_636 ? T_636 extends T_634[PrefixWith, K_356, "."> extends infer T_635 ? T_635 extends PrefixWith, K_356, "."> ? T_635 extends SplitAC ? "value" : "default" : never : never] ? T_636 extends CanBeExpanded ? T_636[PrefixWith, K_356, "."> extends infer T_635 ? T_635 extends PrefixWith, K_356, "."> ? T_635 extends SplitAC ? "value" : "default" : never : never] extends infer T_637 ? T_637 extends T_636[PrefixWith, K_356, "."> extends infer T_635 ? T_635 extends PrefixWith, K_356, "."> ? T_635 extends SplitAC ? "value" : "default" : never : never] ? T_637 extends CanBeExpanded ? any : T_637 extends (infer U)[] ? any[] : T_637 extends object ? { [K_357 in keyof T_637]-?: T_637[K_357] extends infer T_638 ? T_638 extends T_637[K_357] ? T_638 extends CanBeExpanded ? T_638["default"] : T_638 : never : never; } : T_637 : never : never : T_636 extends (infer U)[] ? any[] : T_636 extends object ? { [K_358 in keyof T_636]-?: T_636[K_358] extends infer T_639 ? T_639 extends T_636[K_358] ? T_639 extends CanBeExpanded ? T_639["default"] : T_639 : never : never; } : T_636 : never : never : T_634 extends (infer U)[] ? any[] : T_634 extends object ? { [K_359 in keyof T_634]-?: T_634[K_359] extends infer T_640 ? T_640 extends T_634[K_359] ? T_640 extends CanBeExpanded ? T_640["default"] : T_640 : never : never; } : T_634 : never : never; } : T_623 : never : never : T_622 extends (infer U)[] ? any[] : T_622 extends object ? { [K_360 in keyof T_622]-?: T_622[K_360] extends infer T_641 ? T_641 extends T_622[K_360] ? T_641 extends CanBeExpanded ? T_641[PrefixWith, K_360, "."> extends infer T_642 ? T_642 extends PrefixWith, K_360, "."> ? T_642 extends SplitAC ? "value" : "default" : never : never] extends infer T_643 ? T_643 extends T_641[PrefixWith, K_360, "."> extends infer T_642 ? T_642 extends PrefixWith, K_360, "."> ? T_642 extends SplitAC ? "value" : "default" : never : never] ? T_643 extends CanBeExpanded ? T_643[PrefixWith, K_360, "."> extends infer T_642 ? T_642 extends PrefixWith, K_360, "."> ? T_642 extends SplitAC ? "value" : "default" : never : never] extends infer T_644 ? T_644 extends T_643[PrefixWith, K_360, "."> extends infer T_642 ? T_642 extends PrefixWith, K_360, "."> ? T_642 extends SplitAC ? "value" : "default" : never : never] ? T_644 extends CanBeExpanded ? T_644[PrefixWith, K_360, "."> extends infer T_642 ? T_642 extends PrefixWith, K_360, "."> ? T_642 extends SplitAC ? "value" : "default" : never : never] extends infer T_645 ? T_645 extends T_644[PrefixWith, K_360, "."> extends infer T_642 ? T_642 extends PrefixWith, K_360, "."> ? T_642 extends SplitAC ? "value" : "default" : never : never] ? T_645 extends CanBeExpanded ? any : T_645 extends (infer U)[] ? any[] : T_645 extends object ? { [K_361 in keyof T_645]-?: T_645[K_361] extends infer T_646 ? T_646 extends T_645[K_361] ? T_646 extends CanBeExpanded ? T_646["default"] : T_646 : never : never; } : T_645 : never : never : T_644 extends (infer U)[] ? any[] : T_644 extends object ? { [K_362 in keyof T_644]-?: T_644[K_362] extends infer T_647 ? T_647 extends T_644[K_362] ? T_647 extends CanBeExpanded ? T_647["default"] : T_647 : never : never; } : T_644 : never : never : T_643 extends (infer U)[] ? any[] : T_643 extends object ? { [K_363 in keyof T_643]-?: T_643[K_363] extends infer T_648 ? T_648 extends T_643[K_363] ? T_648 extends CanBeExpanded ? T_648["default"] : T_648 : never : never; } : T_643 : never : never : T_641 extends (infer U)[] ? any[] : T_641 extends object ? { [K_364 in keyof T_641]-?: T_641[K_364] extends infer T_649 ? T_649 extends T_641[K_364] ? T_649 extends CanBeExpanded ? T_649["default"] : T_649 : never : never; } : T_641 : never : never; } : T_622 : never : never : T_621 extends (infer U)[] ? any[] : T_621 extends object ? { [K_365 in keyof T_621]-?: T_621[K_365] extends infer T_650 ? T_650 extends T_621[K_365] ? T_650 extends CanBeExpanded ? T_650[PrefixWith, K_365, "."> extends infer T_651 ? T_651 extends PrefixWith, K_365, "."> ? T_651 extends SplitAC ? "value" : "default" : never : never] extends infer T_652 ? T_652 extends T_650[PrefixWith, K_365, "."> extends infer T_651 ? T_651 extends PrefixWith, K_365, "."> ? T_651 extends SplitAC ? "value" : "default" : never : never] ? T_652 extends CanBeExpanded ? T_652[PrefixWith, K_365, "."> extends infer T_651 ? T_651 extends PrefixWith, K_365, "."> ? T_651 extends SplitAC ? "value" : "default" : never : never] extends infer T_653 ? T_653 extends T_652[PrefixWith, K_365, "."> extends infer T_651 ? T_651 extends PrefixWith, K_365, "."> ? T_651 extends SplitAC ? "value" : "default" : never : never] ? T_653 extends CanBeExpanded ? T_653[PrefixWith, K_365, "."> extends infer T_651 ? T_651 extends PrefixWith, K_365, "."> ? T_651 extends SplitAC ? "value" : "default" : never : never] extends infer T_654 ? T_654 extends T_653[PrefixWith, K_365, "."> extends infer T_651 ? T_651 extends PrefixWith, K_365, "."> ? T_651 extends SplitAC ? "value" : "default" : never : never] ? T_654 extends CanBeExpanded ? T_654[PrefixWith, K_365, "."> extends infer T_651 ? T_651 extends PrefixWith, K_365, "."> ? T_651 extends SplitAC ? "value" : "default" : never : never] extends infer T_655 ? T_655 extends T_654[PrefixWith, K_365, "."> extends infer T_651 ? T_651 extends PrefixWith, K_365, "."> ? T_651 extends SplitAC ? "value" : "default" : never : never] ? T_655 extends CanBeExpanded ? any : T_655 extends (infer U)[] ? any[] : T_655 extends object ? { [K_366 in keyof T_655]-?: T_655[K_366] extends infer T_656 ? T_656 extends T_655[K_366] ? T_656 extends CanBeExpanded ? T_656["default"] : T_656 : never : never; } : T_655 : never : never : T_654 extends (infer U)[] ? any[] : T_654 extends object ? { [K_367 in keyof T_654]-?: T_654[K_367] extends infer T_657 ? T_657 extends T_654[K_367] ? T_657 extends CanBeExpanded ? T_657["default"] : T_657 : never : never; } : T_654 : never : never : T_653 extends (infer U)[] ? any[] : T_653 extends object ? { [K_368 in keyof T_653]-?: T_653[K_368] extends infer T_658 ? T_658 extends T_653[K_368] ? T_658 extends CanBeExpanded ? T_658["default"] : T_658 : never : never; } : T_653 : never : never : T_652 extends (infer U)[] ? any[] : T_652 extends object ? { [K_369 in keyof T_652]-?: T_652[K_369] extends infer T_659 ? T_659 extends T_652[K_369] ? T_659 extends CanBeExpanded ? T_659["default"] : T_659 : never : never; } : T_652 : never : never : T_650 extends (infer U)[] ? any[] : T_650 extends object ? { [K_370 in keyof T_650]-?: T_650[K_370] extends infer T_660 ? T_660 extends T_650[K_370] ? T_660 extends CanBeExpanded ? T_660["default"] : T_660 : never : never; } : T_650 : never : never; } : T_621 : never : never : T_620 extends (infer U)[] ? any[] : T_620 extends object ? { [K_371 in keyof T_620]-?: T_620[K_371] extends infer T_661 ? T_661 extends T_620[K_371] ? T_661 extends CanBeExpanded ? T_661[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] extends infer T_663 ? T_663 extends T_661[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] ? T_663 extends CanBeExpanded ? T_663[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] extends infer T_664 ? T_664 extends T_663[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] ? T_664 extends CanBeExpanded ? T_664[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] extends infer T_665 ? T_665 extends T_664[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] ? T_665 extends CanBeExpanded ? T_665[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] extends infer T_666 ? T_666 extends T_665[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] ? T_666 extends CanBeExpanded ? T_666[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] extends infer T_667 ? T_667 extends T_666[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] ? T_667 extends CanBeExpanded ? any : T_667 extends (infer U)[] ? any[] : T_667 extends object ? { [K_372 in keyof T_667]-?: T_667[K_372] extends infer T_668 ? T_668 extends T_667[K_372] ? T_668 extends CanBeExpanded ? T_668["default"] : T_668 : never : never; } : T_667 : never : never : T_666 extends (infer U)[] ? any[] : T_666 extends object ? { [K_373 in keyof T_666]-?: T_666[K_373] extends infer T_669 ? T_669 extends T_666[K_373] ? T_669 extends CanBeExpanded ? T_669["default"] : T_669 : never : never; } : T_666 : never : never : T_665 extends (infer U)[] ? any[] : T_665 extends object ? { [K_374 in keyof T_665]-?: T_665[K_374] extends infer T_670 ? T_670 extends T_665[K_374] ? T_670 extends CanBeExpanded ? T_670["default"] : T_670 : never : never; } : T_665 : never : never : T_664 extends (infer U)[] ? any[] : T_664 extends object ? { [K_375 in keyof T_664]-?: T_664[K_375] extends infer T_671 ? T_671 extends T_664[K_375] ? T_671 extends CanBeExpanded ? T_671["default"] : T_671 : never : never; } : T_664 : never : never : T_663 extends (infer U)[] ? any[] : T_663 extends object ? { [K_376 in keyof T_663]-?: T_663[K_376] extends infer T_672 ? T_672 extends T_663[K_376] ? T_672 extends CanBeExpanded ? T_672["default"] : T_672 : never : never; } : T_663 : never : never : T_661 extends (infer U)[] ? any[] : T_661 extends object ? { [K_377 in keyof T_661]-?: T_661[K_377] extends infer T_673 ? T_673 extends T_661[K_377] ? T_673 extends CanBeExpanded ? T_673["default"] : T_673 : never : never; } : T_661 : never : never; } : T_620 : never : never : T_618 extends (infer U)[] ? any[] : T_618 extends object ? { [K_378 in keyof T_618]-?: T_618[K_378] extends infer T_674 ? T_674 extends T_618[K_378] ? T_674 extends CanBeExpanded ? T_674[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] extends infer T_676 ? T_676 extends T_674[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] ? T_676 extends CanBeExpanded ? T_676[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] extends infer T_677 ? T_677 extends T_676[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] ? T_677 extends CanBeExpanded ? T_677[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] extends infer T_678 ? T_678 extends T_677[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] ? T_678 extends CanBeExpanded ? T_678[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] extends infer T_679 ? T_679 extends T_678[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] ? T_679 extends CanBeExpanded ? T_679[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] extends infer T_680 ? T_680 extends T_679[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] ? T_680 extends CanBeExpanded ? T_680[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] extends infer T_681 ? T_681 extends T_680[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] ? T_681 extends CanBeExpanded ? any : T_681 extends (infer U)[] ? any[] : T_681 extends object ? { [K_379 in keyof T_681]-?: T_681[K_379] extends infer T_682 ? T_682 extends T_681[K_379] ? T_682 extends CanBeExpanded ? T_682["default"] : T_682 : never : never; } : T_681 : never : never : T_680 extends (infer U)[] ? any[] : T_680 extends object ? { [K_380 in keyof T_680]-?: T_680[K_380] extends infer T_683 ? T_683 extends T_680[K_380] ? T_683 extends CanBeExpanded ? T_683["default"] : T_683 : never : never; } : T_680 : never : never : T_679 extends (infer U)[] ? any[] : T_679 extends object ? { [K_381 in keyof T_679]-?: T_679[K_381] extends infer T_684 ? T_684 extends T_679[K_381] ? T_684 extends CanBeExpanded ? T_684["default"] : T_684 : never : never; } : T_679 : never : never : T_678 extends (infer U)[] ? any[] : T_678 extends object ? { [K_382 in keyof T_678]-?: T_678[K_382] extends infer T_685 ? T_685 extends T_678[K_382] ? T_685 extends CanBeExpanded ? T_685["default"] : T_685 : never : never; } : T_678 : never : never : T_677 extends (infer U)[] ? any[] : T_677 extends object ? { [K_383 in keyof T_677]-?: T_677[K_383] extends infer T_686 ? T_686 extends T_677[K_383] ? T_686 extends CanBeExpanded ? T_686["default"] : T_686 : never : never; } : T_677 : never : never : T_676 extends (infer U)[] ? any[] : T_676 extends object ? { [K_384 in keyof T_676]-?: T_676[K_384] extends infer T_687 ? T_687 extends T_676[K_384] ? T_687 extends CanBeExpanded ? T_687["default"] : T_687 : never : never; } : T_676 : never : never : T_674 extends (infer U)[] ? any[] : T_674 extends object ? { [K_385 in keyof T_674]-?: T_674[K_385] extends infer T_688 ? T_688 extends T_674[K_385] ? T_688 extends CanBeExpanded ? T_688["default"] : T_688 : never : never; } : T_674 : never : never; } : T_618 : never : never; } : T_447 : never : never; } : T_2 : never : never : T extends (infer U)[] ? any[] : T extends object ? { [K_386 in keyof T]-?: T[K_386] extends infer T_689 ? T_689 extends T[K_386] ? T_689 extends CanBeExpanded ? T_689[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] extends infer T_691 ? T_691 extends T_689[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] ? T_691 extends CanBeExpanded ? T_691[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] extends infer T_692 ? T_692 extends T_691[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] ? T_692 extends CanBeExpanded ? T_692[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] extends infer T_693 ? T_693 extends T_692[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] ? T_693 extends CanBeExpanded ? T_693[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] extends infer T_694 ? T_694 extends T_693[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] ? T_694 extends CanBeExpanded ? T_694[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] extends infer T_695 ? T_695 extends T_694[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] ? T_695 extends CanBeExpanded ? T_695[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] extends infer T_696 ? T_696 extends T_695[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] ? T_696 extends CanBeExpanded ? T_696[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] extends infer T_697 ? T_697 extends T_696[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] ? T_697 extends CanBeExpanded ? T_697[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] extends infer T_698 ? T_698 extends T_697[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] ? T_698 extends CanBeExpanded ? T_698[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] extends infer T_699 ? T_699 extends T_698[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] ? T_699 extends CanBeExpanded ? any : T_699 extends (infer U)[] ? any[] : T_699 extends object ? { [K_387 in keyof T_699]-?: any; } : T_699 : never : never : T_698 extends (infer U)[] ? any[] : T_698 extends object ? { [K_388 in keyof T_698]-?: T_698[K_388] extends infer T_700 ? T_700 extends T_698[K_388] ? T_700 extends CanBeExpanded ? any : T_700 extends (infer U)[] ? any[] : T_700 extends object ? { [K_389 in keyof T_700]-?: any; } : T_700 : never : never; } : T_698 : never : never : T_697 extends (infer U)[] ? any[] : T_697 extends object ? { [K_390 in keyof T_697]-?: T_697[K_390] extends infer T_701 ? T_701 extends T_697[K_390] ? T_701 extends CanBeExpanded ? T_701[PrefixWith<`${string & K_386}`, K_390, "."> extends infer T_702 ? T_702 extends PrefixWith<`${string & K_386}`, K_390, "."> ? T_702 extends SplitAC ? "value" : "default" : never : never] extends infer T_703 ? T_703 extends T_701[PrefixWith<`${string & K_386}`, K_390, "."> extends infer T_702 ? T_702 extends PrefixWith<`${string & K_386}`, K_390, "."> ? T_702 extends SplitAC ? "value" : "default" : never : never] ? T_703 extends CanBeExpanded ? any : T_703 extends (infer U)[] ? any[] : T_703 extends object ? { [K_391 in keyof T_703]-?: any; } : T_703 : never : never : T_701 extends (infer U)[] ? any[] : T_701 extends object ? { [K_392 in keyof T_701]-?: T_701[K_392] extends infer T_704 ? T_704 extends T_701[K_392] ? T_704 extends CanBeExpanded ? any : T_704 extends (infer U)[] ? any[] : T_704 extends object ? { [K_393 in keyof T_704]-?: T_704[K_393] extends infer T_705 ? T_705 extends T_704[K_393] ? T_705 extends CanBeExpanded ? T_705["default"] : T_705 : never : never; } : T_704 : never : never; } : T_701 : never : never; } : T_697 : never : never : T_696 extends (infer U)[] ? any[] : T_696 extends object ? { [K_394 in keyof T_696]-?: T_696[K_394] extends infer T_706 ? T_706 extends T_696[K_394] ? T_706 extends CanBeExpanded ? T_706[PrefixWith<`${string & K_386}`, K_394, "."> extends infer T_707 ? T_707 extends PrefixWith<`${string & K_386}`, K_394, "."> ? T_707 extends SplitAC ? "value" : "default" : never : never] extends infer T_708 ? T_708 extends T_706[PrefixWith<`${string & K_386}`, K_394, "."> extends infer T_707 ? T_707 extends PrefixWith<`${string & K_386}`, K_394, "."> ? T_707 extends SplitAC ? "value" : "default" : never : never] ? T_708 extends CanBeExpanded ? T_708[PrefixWith<`${string & K_386}`, K_394, "."> extends infer T_707 ? T_707 extends PrefixWith<`${string & K_386}`, K_394, "."> ? T_707 extends SplitAC ? "value" : "default" : never : never] extends infer T_709 ? T_709 extends T_708[PrefixWith<`${string & K_386}`, K_394, "."> extends infer T_707 ? T_707 extends PrefixWith<`${string & K_386}`, K_394, "."> ? T_707 extends SplitAC ? "value" : "default" : never : never] ? T_709 extends CanBeExpanded ? any : T_709 extends (infer U)[] ? any[] : T_709 extends object ? { [K_395 in keyof T_709]-?: any; } : T_709 : never : never : T_708 extends (infer U)[] ? any[] : T_708 extends object ? { [K_396 in keyof T_708]-?: T_708[K_396] extends infer T_710 ? T_710 extends T_708[K_396] ? T_710 extends CanBeExpanded ? any : T_710 extends (infer U)[] ? any[] : T_710 extends object ? { [K_397 in keyof T_710]-?: T_710[K_397] extends infer T_711 ? T_711 extends T_710[K_397] ? T_711 extends CanBeExpanded ? T_711["default"] : T_711 : never : never; } : T_710 : never : never; } : T_708 : never : never : T_706 extends (infer U)[] ? any[] : T_706 extends object ? { [K_398 in keyof T_706]-?: T_706[K_398] extends infer T_712 ? T_712 extends T_706[K_398] ? T_712 extends CanBeExpanded ? T_712[PrefixWith, K_398, "."> extends infer T_713 ? T_713 extends PrefixWith, K_398, "."> ? T_713 extends SplitAC ? "value" : "default" : never : never] extends infer T_714 ? T_714 extends T_712[PrefixWith, K_398, "."> extends infer T_713 ? T_713 extends PrefixWith, K_398, "."> ? T_713 extends SplitAC ? "value" : "default" : never : never] ? T_714 extends CanBeExpanded ? any : T_714 extends (infer U)[] ? any[] : T_714 extends object ? { [K_399 in keyof T_714]-?: T_714[K_399] extends infer T_715 ? T_715 extends T_714[K_399] ? T_715 extends CanBeExpanded ? T_715["default"] : T_715 : never : never; } : T_714 : never : never : T_712 extends (infer U)[] ? any[] : T_712 extends object ? { [K_400 in keyof T_712]-?: T_712[K_400] extends infer T_716 ? T_716 extends T_712[K_400] ? T_716 extends CanBeExpanded ? T_716["default"] : T_716 : never : never; } : T_712 : never : never; } : T_706 : never : never; } : T_696 : never : never : T_695 extends (infer U)[] ? any[] : T_695 extends object ? { [K_401 in keyof T_695]-?: T_695[K_401] extends infer T_717 ? T_717 extends T_695[K_401] ? T_717 extends CanBeExpanded ? T_717[PrefixWith<`${string & K_386}`, K_401, "."> extends infer T_718 ? T_718 extends PrefixWith<`${string & K_386}`, K_401, "."> ? T_718 extends SplitAC ? "value" : "default" : never : never] extends infer T_719 ? T_719 extends T_717[PrefixWith<`${string & K_386}`, K_401, "."> extends infer T_718 ? T_718 extends PrefixWith<`${string & K_386}`, K_401, "."> ? T_718 extends SplitAC ? "value" : "default" : never : never] ? T_719 extends CanBeExpanded ? T_719[PrefixWith<`${string & K_386}`, K_401, "."> extends infer T_718 ? T_718 extends PrefixWith<`${string & K_386}`, K_401, "."> ? T_718 extends SplitAC ? "value" : "default" : never : never] extends infer T_720 ? T_720 extends T_719[PrefixWith<`${string & K_386}`, K_401, "."> extends infer T_718 ? T_718 extends PrefixWith<`${string & K_386}`, K_401, "."> ? T_718 extends SplitAC ? "value" : "default" : never : never] ? T_720 extends CanBeExpanded ? T_720[PrefixWith<`${string & K_386}`, K_401, "."> extends infer T_718 ? T_718 extends PrefixWith<`${string & K_386}`, K_401, "."> ? T_718 extends SplitAC ? "value" : "default" : never : never] extends infer T_721 ? T_721 extends T_720[PrefixWith<`${string & K_386}`, K_401, "."> extends infer T_718 ? T_718 extends PrefixWith<`${string & K_386}`, K_401, "."> ? T_718 extends SplitAC ? "value" : "default" : never : never] ? T_721 extends CanBeExpanded ? any : T_721 extends (infer U)[] ? any[] : T_721 extends object ? { [K_402 in keyof T_721]-?: any; } : T_721 : never : never : T_720 extends (infer U)[] ? any[] : T_720 extends object ? { [K_403 in keyof T_720]-?: T_720[K_403] extends infer T_722 ? T_722 extends T_720[K_403] ? T_722 extends CanBeExpanded ? any : T_722 extends (infer U)[] ? any[] : T_722 extends object ? { [K_404 in keyof T_722]-?: T_722[K_404] extends infer T_723 ? T_723 extends T_722[K_404] ? T_723 extends CanBeExpanded ? T_723["default"] : T_723 : never : never; } : T_722 : never : never; } : T_720 : never : never : T_719 extends (infer U)[] ? any[] : T_719 extends object ? { [K_405 in keyof T_719]-?: T_719[K_405] extends infer T_724 ? T_724 extends T_719[K_405] ? T_724 extends CanBeExpanded ? T_724[PrefixWith, K_405, "."> extends infer T_725 ? T_725 extends PrefixWith, K_405, "."> ? T_725 extends SplitAC ? "value" : "default" : never : never] extends infer T_726 ? T_726 extends T_724[PrefixWith, K_405, "."> extends infer T_725 ? T_725 extends PrefixWith, K_405, "."> ? T_725 extends SplitAC ? "value" : "default" : never : never] ? T_726 extends CanBeExpanded ? any : T_726 extends (infer U)[] ? any[] : T_726 extends object ? { [K_406 in keyof T_726]-?: T_726[K_406] extends infer T_727 ? T_727 extends T_726[K_406] ? T_727 extends CanBeExpanded ? T_727["default"] : T_727 : never : never; } : T_726 : never : never : T_724 extends (infer U)[] ? any[] : T_724 extends object ? { [K_407 in keyof T_724]-?: T_724[K_407] extends infer T_728 ? T_728 extends T_724[K_407] ? T_728 extends CanBeExpanded ? T_728["default"] : T_728 : never : never; } : T_724 : never : never; } : T_719 : never : never : T_717 extends (infer U)[] ? any[] : T_717 extends object ? { [K_408 in keyof T_717]-?: T_717[K_408] extends infer T_729 ? T_729 extends T_717[K_408] ? T_729 extends CanBeExpanded ? T_729[PrefixWith, K_408, "."> extends infer T_730 ? T_730 extends PrefixWith, K_408, "."> ? T_730 extends SplitAC ? "value" : "default" : never : never] extends infer T_731 ? T_731 extends T_729[PrefixWith, K_408, "."> extends infer T_730 ? T_730 extends PrefixWith, K_408, "."> ? T_730 extends SplitAC ? "value" : "default" : never : never] ? T_731 extends CanBeExpanded ? T_731[PrefixWith, K_408, "."> extends infer T_730 ? T_730 extends PrefixWith, K_408, "."> ? T_730 extends SplitAC ? "value" : "default" : never : never] extends infer T_732 ? T_732 extends T_731[PrefixWith, K_408, "."> extends infer T_730 ? T_730 extends PrefixWith, K_408, "."> ? T_730 extends SplitAC ? "value" : "default" : never : never] ? T_732 extends CanBeExpanded ? any : T_732 extends (infer U)[] ? any[] : T_732 extends object ? { [K_409 in keyof T_732]-?: T_732[K_409] extends infer T_733 ? T_733 extends T_732[K_409] ? T_733 extends CanBeExpanded ? T_733["default"] : T_733 : never : never; } : T_732 : never : never : T_731 extends (infer U)[] ? any[] : T_731 extends object ? { [K_410 in keyof T_731]-?: T_731[K_410] extends infer T_734 ? T_734 extends T_731[K_410] ? T_734 extends CanBeExpanded ? T_734["default"] : T_734 : never : never; } : T_731 : never : never : T_729 extends (infer U)[] ? any[] : T_729 extends object ? { [K_411 in keyof T_729]-?: T_729[K_411] extends infer T_735 ? T_735 extends T_729[K_411] ? T_735 extends CanBeExpanded ? T_735["default"] : T_735 : never : never; } : T_729 : never : never; } : T_717 : never : never; } : T_695 : never : never : T_694 extends (infer U)[] ? any[] : T_694 extends object ? { [K_412 in keyof T_694]-?: T_694[K_412] extends infer T_736 ? T_736 extends T_694[K_412] ? T_736 extends CanBeExpanded ? T_736[PrefixWith<`${string & K_386}`, K_412, "."> extends infer T_737 ? T_737 extends PrefixWith<`${string & K_386}`, K_412, "."> ? T_737 extends SplitAC ? "value" : "default" : never : never] extends infer T_738 ? T_738 extends T_736[PrefixWith<`${string & K_386}`, K_412, "."> extends infer T_737 ? T_737 extends PrefixWith<`${string & K_386}`, K_412, "."> ? T_737 extends SplitAC ? "value" : "default" : never : never] ? T_738 extends CanBeExpanded ? T_738[PrefixWith<`${string & K_386}`, K_412, "."> extends infer T_737 ? T_737 extends PrefixWith<`${string & K_386}`, K_412, "."> ? T_737 extends SplitAC ? "value" : "default" : never : never] extends infer T_739 ? T_739 extends T_738[PrefixWith<`${string & K_386}`, K_412, "."> extends infer T_737 ? T_737 extends PrefixWith<`${string & K_386}`, K_412, "."> ? T_737 extends SplitAC ? "value" : "default" : never : never] ? T_739 extends CanBeExpanded ? T_739[PrefixWith<`${string & K_386}`, K_412, "."> extends infer T_737 ? T_737 extends PrefixWith<`${string & K_386}`, K_412, "."> ? T_737 extends SplitAC ? "value" : "default" : never : never] extends infer T_740 ? T_740 extends T_739[PrefixWith<`${string & K_386}`, K_412, "."> extends infer T_737 ? T_737 extends PrefixWith<`${string & K_386}`, K_412, "."> ? T_737 extends SplitAC ? "value" : "default" : never : never] ? T_740 extends CanBeExpanded ? T_740[PrefixWith<`${string & K_386}`, K_412, "."> extends infer T_737 ? T_737 extends PrefixWith<`${string & K_386}`, K_412, "."> ? T_737 extends SplitAC ? "value" : "default" : never : never] extends infer T_741 ? T_741 extends T_740[PrefixWith<`${string & K_386}`, K_412, "."> extends infer T_737 ? T_737 extends PrefixWith<`${string & K_386}`, K_412, "."> ? T_737 extends SplitAC ? "value" : "default" : never : never] ? T_741 extends CanBeExpanded ? any : T_741 extends (infer U)[] ? any[] : T_741 extends object ? { [K_413 in keyof T_741]-?: any; } : T_741 : never : never : T_740 extends (infer U)[] ? any[] : T_740 extends object ? { [K_414 in keyof T_740]-?: T_740[K_414] extends infer T_742 ? T_742 extends T_740[K_414] ? T_742 extends CanBeExpanded ? any : T_742 extends (infer U)[] ? any[] : T_742 extends object ? { [K_415 in keyof T_742]-?: T_742[K_415] extends infer T_743 ? T_743 extends T_742[K_415] ? T_743 extends CanBeExpanded ? T_743["default"] : T_743 : never : never; } : T_742 : never : never; } : T_740 : never : never : T_739 extends (infer U)[] ? any[] : T_739 extends object ? { [K_416 in keyof T_739]-?: T_739[K_416] extends infer T_744 ? T_744 extends T_739[K_416] ? T_744 extends CanBeExpanded ? T_744[PrefixWith, K_416, "."> extends infer T_745 ? T_745 extends PrefixWith, K_416, "."> ? T_745 extends SplitAC ? "value" : "default" : never : never] extends infer T_746 ? T_746 extends T_744[PrefixWith, K_416, "."> extends infer T_745 ? T_745 extends PrefixWith, K_416, "."> ? T_745 extends SplitAC ? "value" : "default" : never : never] ? T_746 extends CanBeExpanded ? any : T_746 extends (infer U)[] ? any[] : T_746 extends object ? { [K_417 in keyof T_746]-?: T_746[K_417] extends infer T_747 ? T_747 extends T_746[K_417] ? T_747 extends CanBeExpanded ? T_747["default"] : T_747 : never : never; } : T_746 : never : never : T_744 extends (infer U)[] ? any[] : T_744 extends object ? { [K_418 in keyof T_744]-?: T_744[K_418] extends infer T_748 ? T_748 extends T_744[K_418] ? T_748 extends CanBeExpanded ? T_748["default"] : T_748 : never : never; } : T_744 : never : never; } : T_739 : never : never : T_738 extends (infer U)[] ? any[] : T_738 extends object ? { [K_419 in keyof T_738]-?: T_738[K_419] extends infer T_749 ? T_749 extends T_738[K_419] ? T_749 extends CanBeExpanded ? T_749[PrefixWith, K_419, "."> extends infer T_750 ? T_750 extends PrefixWith, K_419, "."> ? T_750 extends SplitAC ? "value" : "default" : never : never] extends infer T_751 ? T_751 extends T_749[PrefixWith, K_419, "."> extends infer T_750 ? T_750 extends PrefixWith, K_419, "."> ? T_750 extends SplitAC ? "value" : "default" : never : never] ? T_751 extends CanBeExpanded ? T_751[PrefixWith, K_419, "."> extends infer T_750 ? T_750 extends PrefixWith, K_419, "."> ? T_750 extends SplitAC ? "value" : "default" : never : never] extends infer T_752 ? T_752 extends T_751[PrefixWith, K_419, "."> extends infer T_750 ? T_750 extends PrefixWith, K_419, "."> ? T_750 extends SplitAC ? "value" : "default" : never : never] ? T_752 extends CanBeExpanded ? any : T_752 extends (infer U)[] ? any[] : T_752 extends object ? { [K_420 in keyof T_752]-?: T_752[K_420] extends infer T_753 ? T_753 extends T_752[K_420] ? T_753 extends CanBeExpanded ? T_753["default"] : T_753 : never : never; } : T_752 : never : never : T_751 extends (infer U)[] ? any[] : T_751 extends object ? { [K_421 in keyof T_751]-?: T_751[K_421] extends infer T_754 ? T_754 extends T_751[K_421] ? T_754 extends CanBeExpanded ? T_754["default"] : T_754 : never : never; } : T_751 : never : never : T_749 extends (infer U)[] ? any[] : T_749 extends object ? { [K_422 in keyof T_749]-?: T_749[K_422] extends infer T_755 ? T_755 extends T_749[K_422] ? T_755 extends CanBeExpanded ? T_755["default"] : T_755 : never : never; } : T_749 : never : never; } : T_738 : never : never : T_736 extends (infer U)[] ? any[] : T_736 extends object ? { [K_423 in keyof T_736]-?: T_736[K_423] extends infer T_756 ? T_756 extends T_736[K_423] ? T_756 extends CanBeExpanded ? T_756[PrefixWith, K_423, "."> extends infer T_757 ? T_757 extends PrefixWith, K_423, "."> ? T_757 extends SplitAC ? "value" : "default" : never : never] extends infer T_758 ? T_758 extends T_756[PrefixWith, K_423, "."> extends infer T_757 ? T_757 extends PrefixWith, K_423, "."> ? T_757 extends SplitAC ? "value" : "default" : never : never] ? T_758 extends CanBeExpanded ? T_758[PrefixWith, K_423, "."> extends infer T_757 ? T_757 extends PrefixWith, K_423, "."> ? T_757 extends SplitAC ? "value" : "default" : never : never] extends infer T_759 ? T_759 extends T_758[PrefixWith, K_423, "."> extends infer T_757 ? T_757 extends PrefixWith, K_423, "."> ? T_757 extends SplitAC ? "value" : "default" : never : never] ? T_759 extends CanBeExpanded ? T_759[PrefixWith, K_423, "."> extends infer T_757 ? T_757 extends PrefixWith, K_423, "."> ? T_757 extends SplitAC ? "value" : "default" : never : never] extends infer T_760 ? T_760 extends T_759[PrefixWith, K_423, "."> extends infer T_757 ? T_757 extends PrefixWith, K_423, "."> ? T_757 extends SplitAC ? "value" : "default" : never : never] ? T_760 extends CanBeExpanded ? any : T_760 extends (infer U)[] ? any[] : T_760 extends object ? { [K_424 in keyof T_760]-?: T_760[K_424] extends infer T_761 ? T_761 extends T_760[K_424] ? T_761 extends CanBeExpanded ? T_761["default"] : T_761 : never : never; } : T_760 : never : never : T_759 extends (infer U)[] ? any[] : T_759 extends object ? { [K_425 in keyof T_759]-?: T_759[K_425] extends infer T_762 ? T_762 extends T_759[K_425] ? T_762 extends CanBeExpanded ? T_762["default"] : T_762 : never : never; } : T_759 : never : never : T_758 extends (infer U)[] ? any[] : T_758 extends object ? { [K_426 in keyof T_758]-?: T_758[K_426] extends infer T_763 ? T_763 extends T_758[K_426] ? T_763 extends CanBeExpanded ? T_763["default"] : T_763 : never : never; } : T_758 : never : never : T_756 extends (infer U)[] ? any[] : T_756 extends object ? { [K_427 in keyof T_756]-?: T_756[K_427] extends infer T_764 ? T_764 extends T_756[K_427] ? T_764 extends CanBeExpanded ? T_764["default"] : T_764 : never : never; } : T_756 : never : never; } : T_736 : never : never; } : T_694 : never : never : T_693 extends (infer U)[] ? any[] : T_693 extends object ? { [K_428 in keyof T_693]-?: T_693[K_428] extends infer T_765 ? T_765 extends T_693[K_428] ? T_765 extends CanBeExpanded ? T_765[PrefixWith<`${string & K_386}`, K_428, "."> extends infer T_766 ? T_766 extends PrefixWith<`${string & K_386}`, K_428, "."> ? T_766 extends SplitAC ? "value" : "default" : never : never] extends infer T_767 ? T_767 extends T_765[PrefixWith<`${string & K_386}`, K_428, "."> extends infer T_766 ? T_766 extends PrefixWith<`${string & K_386}`, K_428, "."> ? T_766 extends SplitAC ? "value" : "default" : never : never] ? T_767 extends CanBeExpanded ? T_767[PrefixWith<`${string & K_386}`, K_428, "."> extends infer T_766 ? T_766 extends PrefixWith<`${string & K_386}`, K_428, "."> ? T_766 extends SplitAC ? "value" : "default" : never : never] extends infer T_768 ? T_768 extends T_767[PrefixWith<`${string & K_386}`, K_428, "."> extends infer T_766 ? T_766 extends PrefixWith<`${string & K_386}`, K_428, "."> ? T_766 extends SplitAC ? "value" : "default" : never : never] ? T_768 extends CanBeExpanded ? T_768[PrefixWith<`${string & K_386}`, K_428, "."> extends infer T_766 ? T_766 extends PrefixWith<`${string & K_386}`, K_428, "."> ? T_766 extends SplitAC ? "value" : "default" : never : never] extends infer T_769 ? T_769 extends T_768[PrefixWith<`${string & K_386}`, K_428, "."> extends infer T_766 ? T_766 extends PrefixWith<`${string & K_386}`, K_428, "."> ? T_766 extends SplitAC ? "value" : "default" : never : never] ? T_769 extends CanBeExpanded ? T_769[PrefixWith<`${string & K_386}`, K_428, "."> extends infer T_766 ? T_766 extends PrefixWith<`${string & K_386}`, K_428, "."> ? T_766 extends SplitAC ? "value" : "default" : never : never] extends infer T_770 ? T_770 extends T_769[PrefixWith<`${string & K_386}`, K_428, "."> extends infer T_766 ? T_766 extends PrefixWith<`${string & K_386}`, K_428, "."> ? T_766 extends SplitAC ? "value" : "default" : never : never] ? T_770 extends CanBeExpanded ? T_770[PrefixWith<`${string & K_386}`, K_428, "."> extends infer T_766 ? T_766 extends PrefixWith<`${string & K_386}`, K_428, "."> ? T_766 extends SplitAC ? "value" : "default" : never : never] extends infer T_771 ? T_771 extends T_770[PrefixWith<`${string & K_386}`, K_428, "."> extends infer T_766 ? T_766 extends PrefixWith<`${string & K_386}`, K_428, "."> ? T_766 extends SplitAC ? "value" : "default" : never : never] ? T_771 extends CanBeExpanded ? any : T_771 extends (infer U)[] ? any[] : T_771 extends object ? { [K_429 in keyof T_771]-?: any; } : T_771 : never : never : T_770 extends (infer U)[] ? any[] : T_770 extends object ? { [K_430 in keyof T_770]-?: T_770[K_430] extends infer T_772 ? T_772 extends T_770[K_430] ? T_772 extends CanBeExpanded ? any : T_772 extends (infer U)[] ? any[] : T_772 extends object ? { [K_431 in keyof T_772]-?: T_772[K_431] extends infer T_773 ? T_773 extends T_772[K_431] ? T_773 extends CanBeExpanded ? T_773["default"] : T_773 : never : never; } : T_772 : never : never; } : T_770 : never : never : T_769 extends (infer U)[] ? any[] : T_769 extends object ? { [K_432 in keyof T_769]-?: T_769[K_432] extends infer T_774 ? T_774 extends T_769[K_432] ? T_774 extends CanBeExpanded ? T_774[PrefixWith, K_432, "."> extends infer T_775 ? T_775 extends PrefixWith, K_432, "."> ? T_775 extends SplitAC ? "value" : "default" : never : never] extends infer T_776 ? T_776 extends T_774[PrefixWith, K_432, "."> extends infer T_775 ? T_775 extends PrefixWith, K_432, "."> ? T_775 extends SplitAC ? "value" : "default" : never : never] ? T_776 extends CanBeExpanded ? any : T_776 extends (infer U)[] ? any[] : T_776 extends object ? { [K_433 in keyof T_776]-?: T_776[K_433] extends infer T_777 ? T_777 extends T_776[K_433] ? T_777 extends CanBeExpanded ? T_777["default"] : T_777 : never : never; } : T_776 : never : never : T_774 extends (infer U)[] ? any[] : T_774 extends object ? { [K_434 in keyof T_774]-?: T_774[K_434] extends infer T_778 ? T_778 extends T_774[K_434] ? T_778 extends CanBeExpanded ? T_778["default"] : T_778 : never : never; } : T_774 : never : never; } : T_769 : never : never : T_768 extends (infer U)[] ? any[] : T_768 extends object ? { [K_435 in keyof T_768]-?: T_768[K_435] extends infer T_779 ? T_779 extends T_768[K_435] ? T_779 extends CanBeExpanded ? T_779[PrefixWith, K_435, "."> extends infer T_780 ? T_780 extends PrefixWith, K_435, "."> ? T_780 extends SplitAC ? "value" : "default" : never : never] extends infer T_781 ? T_781 extends T_779[PrefixWith, K_435, "."> extends infer T_780 ? T_780 extends PrefixWith, K_435, "."> ? T_780 extends SplitAC ? "value" : "default" : never : never] ? T_781 extends CanBeExpanded ? T_781[PrefixWith, K_435, "."> extends infer T_780 ? T_780 extends PrefixWith, K_435, "."> ? T_780 extends SplitAC ? "value" : "default" : never : never] extends infer T_782 ? T_782 extends T_781[PrefixWith, K_435, "."> extends infer T_780 ? T_780 extends PrefixWith, K_435, "."> ? T_780 extends SplitAC ? "value" : "default" : never : never] ? T_782 extends CanBeExpanded ? any : T_782 extends (infer U)[] ? any[] : T_782 extends object ? { [K_436 in keyof T_782]-?: T_782[K_436] extends infer T_783 ? T_783 extends T_782[K_436] ? T_783 extends CanBeExpanded ? T_783["default"] : T_783 : never : never; } : T_782 : never : never : T_781 extends (infer U)[] ? any[] : T_781 extends object ? { [K_437 in keyof T_781]-?: T_781[K_437] extends infer T_784 ? T_784 extends T_781[K_437] ? T_784 extends CanBeExpanded ? T_784["default"] : T_784 : never : never; } : T_781 : never : never : T_779 extends (infer U)[] ? any[] : T_779 extends object ? { [K_438 in keyof T_779]-?: T_779[K_438] extends infer T_785 ? T_785 extends T_779[K_438] ? T_785 extends CanBeExpanded ? T_785["default"] : T_785 : never : never; } : T_779 : never : never; } : T_768 : never : never : T_767 extends (infer U)[] ? any[] : T_767 extends object ? { [K_439 in keyof T_767]-?: T_767[K_439] extends infer T_786 ? T_786 extends T_767[K_439] ? T_786 extends CanBeExpanded ? T_786[PrefixWith, K_439, "."> extends infer T_787 ? T_787 extends PrefixWith, K_439, "."> ? T_787 extends SplitAC ? "value" : "default" : never : never] extends infer T_788 ? T_788 extends T_786[PrefixWith, K_439, "."> extends infer T_787 ? T_787 extends PrefixWith, K_439, "."> ? T_787 extends SplitAC ? "value" : "default" : never : never] ? T_788 extends CanBeExpanded ? T_788[PrefixWith, K_439, "."> extends infer T_787 ? T_787 extends PrefixWith, K_439, "."> ? T_787 extends SplitAC ? "value" : "default" : never : never] extends infer T_789 ? T_789 extends T_788[PrefixWith, K_439, "."> extends infer T_787 ? T_787 extends PrefixWith, K_439, "."> ? T_787 extends SplitAC ? "value" : "default" : never : never] ? T_789 extends CanBeExpanded ? T_789[PrefixWith, K_439, "."> extends infer T_787 ? T_787 extends PrefixWith, K_439, "."> ? T_787 extends SplitAC ? "value" : "default" : never : never] extends infer T_790 ? T_790 extends T_789[PrefixWith, K_439, "."> extends infer T_787 ? T_787 extends PrefixWith, K_439, "."> ? T_787 extends SplitAC ? "value" : "default" : never : never] ? T_790 extends CanBeExpanded ? any : T_790 extends (infer U)[] ? any[] : T_790 extends object ? { [K_440 in keyof T_790]-?: T_790[K_440] extends infer T_791 ? T_791 extends T_790[K_440] ? T_791 extends CanBeExpanded ? T_791["default"] : T_791 : never : never; } : T_790 : never : never : T_789 extends (infer U)[] ? any[] : T_789 extends object ? { [K_441 in keyof T_789]-?: T_789[K_441] extends infer T_792 ? T_792 extends T_789[K_441] ? T_792 extends CanBeExpanded ? T_792["default"] : T_792 : never : never; } : T_789 : never : never : T_788 extends (infer U)[] ? any[] : T_788 extends object ? { [K_442 in keyof T_788]-?: T_788[K_442] extends infer T_793 ? T_793 extends T_788[K_442] ? T_793 extends CanBeExpanded ? T_793["default"] : T_793 : never : never; } : T_788 : never : never : T_786 extends (infer U)[] ? any[] : T_786 extends object ? { [K_443 in keyof T_786]-?: T_786[K_443] extends infer T_794 ? T_794 extends T_786[K_443] ? T_794 extends CanBeExpanded ? T_794["default"] : T_794 : never : never; } : T_786 : never : never; } : T_767 : never : never : T_765 extends (infer U)[] ? any[] : T_765 extends object ? { [K_444 in keyof T_765]-?: T_765[K_444] extends infer T_795 ? T_795 extends T_765[K_444] ? T_795 extends CanBeExpanded ? T_795[PrefixWith, K_444, "."> extends infer T_796 ? T_796 extends PrefixWith, K_444, "."> ? T_796 extends SplitAC ? "value" : "default" : never : never] extends infer T_797 ? T_797 extends T_795[PrefixWith, K_444, "."> extends infer T_796 ? T_796 extends PrefixWith, K_444, "."> ? T_796 extends SplitAC ? "value" : "default" : never : never] ? T_797 extends CanBeExpanded ? T_797[PrefixWith, K_444, "."> extends infer T_796 ? T_796 extends PrefixWith, K_444, "."> ? T_796 extends SplitAC ? "value" : "default" : never : never] extends infer T_798 ? T_798 extends T_797[PrefixWith, K_444, "."> extends infer T_796 ? T_796 extends PrefixWith, K_444, "."> ? T_796 extends SplitAC ? "value" : "default" : never : never] ? T_798 extends CanBeExpanded ? T_798[PrefixWith, K_444, "."> extends infer T_796 ? T_796 extends PrefixWith, K_444, "."> ? T_796 extends SplitAC ? "value" : "default" : never : never] extends infer T_799 ? T_799 extends T_798[PrefixWith, K_444, "."> extends infer T_796 ? T_796 extends PrefixWith, K_444, "."> ? T_796 extends SplitAC ? "value" : "default" : never : never] ? T_799 extends CanBeExpanded ? T_799[PrefixWith, K_444, "."> extends infer T_796 ? T_796 extends PrefixWith, K_444, "."> ? T_796 extends SplitAC ? "value" : "default" : never : never] extends infer T_800 ? T_800 extends T_799[PrefixWith, K_444, "."> extends infer T_796 ? T_796 extends PrefixWith, K_444, "."> ? T_796 extends SplitAC ? "value" : "default" : never : never] ? T_800 extends CanBeExpanded ? any : T_800 extends (infer U)[] ? any[] : T_800 extends object ? { [K_445 in keyof T_800]-?: T_800[K_445] extends infer T_801 ? T_801 extends T_800[K_445] ? T_801 extends CanBeExpanded ? T_801["default"] : T_801 : never : never; } : T_800 : never : never : T_799 extends (infer U)[] ? any[] : T_799 extends object ? { [K_446 in keyof T_799]-?: T_799[K_446] extends infer T_802 ? T_802 extends T_799[K_446] ? T_802 extends CanBeExpanded ? T_802["default"] : T_802 : never : never; } : T_799 : never : never : T_798 extends (infer U)[] ? any[] : T_798 extends object ? { [K_447 in keyof T_798]-?: T_798[K_447] extends infer T_803 ? T_803 extends T_798[K_447] ? T_803 extends CanBeExpanded ? T_803["default"] : T_803 : never : never; } : T_798 : never : never : T_797 extends (infer U)[] ? any[] : T_797 extends object ? { [K_448 in keyof T_797]-?: T_797[K_448] extends infer T_804 ? T_804 extends T_797[K_448] ? T_804 extends CanBeExpanded ? T_804["default"] : T_804 : never : never; } : T_797 : never : never : T_795 extends (infer U)[] ? any[] : T_795 extends object ? { [K_449 in keyof T_795]-?: T_795[K_449] extends infer T_805 ? T_805 extends T_795[K_449] ? T_805 extends CanBeExpanded ? T_805["default"] : T_805 : never : never; } : T_795 : never : never; } : T_765 : never : never; } : T_693 : never : never : T_692 extends (infer U)[] ? any[] : T_692 extends object ? { [K_450 in keyof T_692]-?: T_692[K_450] extends infer T_806 ? T_806 extends T_692[K_450] ? T_806 extends CanBeExpanded ? T_806[PrefixWith<`${string & K_386}`, K_450, "."> extends infer T_807 ? T_807 extends PrefixWith<`${string & K_386}`, K_450, "."> ? T_807 extends SplitAC ? "value" : "default" : never : never] extends infer T_808 ? T_808 extends T_806[PrefixWith<`${string & K_386}`, K_450, "."> extends infer T_807 ? T_807 extends PrefixWith<`${string & K_386}`, K_450, "."> ? T_807 extends SplitAC ? "value" : "default" : never : never] ? T_808 extends CanBeExpanded ? T_808[PrefixWith<`${string & K_386}`, K_450, "."> extends infer T_807 ? T_807 extends PrefixWith<`${string & K_386}`, K_450, "."> ? T_807 extends SplitAC ? "value" : "default" : never : never] extends infer T_809 ? T_809 extends T_808[PrefixWith<`${string & K_386}`, K_450, "."> extends infer T_807 ? T_807 extends PrefixWith<`${string & K_386}`, K_450, "."> ? T_807 extends SplitAC ? "value" : "default" : never : never] ? T_809 extends CanBeExpanded ? T_809[PrefixWith<`${string & K_386}`, K_450, "."> extends infer T_807 ? T_807 extends PrefixWith<`${string & K_386}`, K_450, "."> ? T_807 extends SplitAC ? "value" : "default" : never : never] extends infer T_810 ? T_810 extends T_809[PrefixWith<`${string & K_386}`, K_450, "."> extends infer T_807 ? T_807 extends PrefixWith<`${string & K_386}`, K_450, "."> ? T_807 extends SplitAC ? "value" : "default" : never : never] ? T_810 extends CanBeExpanded ? T_810[PrefixWith<`${string & K_386}`, K_450, "."> extends infer T_807 ? T_807 extends PrefixWith<`${string & K_386}`, K_450, "."> ? T_807 extends SplitAC ? "value" : "default" : never : never] extends infer T_811 ? T_811 extends T_810[PrefixWith<`${string & K_386}`, K_450, "."> extends infer T_807 ? T_807 extends PrefixWith<`${string & K_386}`, K_450, "."> ? T_807 extends SplitAC ? "value" : "default" : never : never] ? T_811 extends CanBeExpanded ? T_811[PrefixWith<`${string & K_386}`, K_450, "."> extends infer T_807 ? T_807 extends PrefixWith<`${string & K_386}`, K_450, "."> ? T_807 extends SplitAC ? "value" : "default" : never : never] extends infer T_812 ? T_812 extends T_811[PrefixWith<`${string & K_386}`, K_450, "."> extends infer T_807 ? T_807 extends PrefixWith<`${string & K_386}`, K_450, "."> ? T_807 extends SplitAC ? "value" : "default" : never : never] ? T_812 extends CanBeExpanded ? T_812[PrefixWith<`${string & K_386}`, K_450, "."> extends infer T_807 ? T_807 extends PrefixWith<`${string & K_386}`, K_450, "."> ? T_807 extends SplitAC ? "value" : "default" : never : never] extends infer T_813 ? T_813 extends T_812[PrefixWith<`${string & K_386}`, K_450, "."> extends infer T_807 ? T_807 extends PrefixWith<`${string & K_386}`, K_450, "."> ? T_807 extends SplitAC ? "value" : "default" : never : never] ? T_813 extends CanBeExpanded ? any : T_813 extends (infer U)[] ? any[] : T_813 extends object ? { [K_451 in keyof T_813]-?: any; } : T_813 : never : never : T_812 extends (infer U)[] ? any[] : T_812 extends object ? { [K_452 in keyof T_812]-?: T_812[K_452] extends infer T_814 ? T_814 extends T_812[K_452] ? T_814 extends CanBeExpanded ? any : T_814 extends (infer U)[] ? any[] : T_814 extends object ? { [K_453 in keyof T_814]-?: T_814[K_453] extends infer T_815 ? T_815 extends T_814[K_453] ? T_815 extends CanBeExpanded ? T_815["default"] : T_815 : never : never; } : T_814 : never : never; } : T_812 : never : never : T_811 extends (infer U)[] ? any[] : T_811 extends object ? { [K_454 in keyof T_811]-?: T_811[K_454] extends infer T_816 ? T_816 extends T_811[K_454] ? T_816 extends CanBeExpanded ? T_816[PrefixWith, K_454, "."> extends infer T_817 ? T_817 extends PrefixWith, K_454, "."> ? T_817 extends SplitAC ? "value" : "default" : never : never] extends infer T_818 ? T_818 extends T_816[PrefixWith, K_454, "."> extends infer T_817 ? T_817 extends PrefixWith, K_454, "."> ? T_817 extends SplitAC ? "value" : "default" : never : never] ? T_818 extends CanBeExpanded ? any : T_818 extends (infer U)[] ? any[] : T_818 extends object ? { [K_455 in keyof T_818]-?: T_818[K_455] extends infer T_819 ? T_819 extends T_818[K_455] ? T_819 extends CanBeExpanded ? T_819["default"] : T_819 : never : never; } : T_818 : never : never : T_816 extends (infer U)[] ? any[] : T_816 extends object ? { [K_456 in keyof T_816]-?: T_816[K_456] extends infer T_820 ? T_820 extends T_816[K_456] ? T_820 extends CanBeExpanded ? T_820["default"] : T_820 : never : never; } : T_816 : never : never; } : T_811 : never : never : T_810 extends (infer U)[] ? any[] : T_810 extends object ? { [K_457 in keyof T_810]-?: T_810[K_457] extends infer T_821 ? T_821 extends T_810[K_457] ? T_821 extends CanBeExpanded ? T_821[PrefixWith, K_457, "."> extends infer T_822 ? T_822 extends PrefixWith, K_457, "."> ? T_822 extends SplitAC ? "value" : "default" : never : never] extends infer T_823 ? T_823 extends T_821[PrefixWith, K_457, "."> extends infer T_822 ? T_822 extends PrefixWith, K_457, "."> ? T_822 extends SplitAC ? "value" : "default" : never : never] ? T_823 extends CanBeExpanded ? T_823[PrefixWith, K_457, "."> extends infer T_822 ? T_822 extends PrefixWith, K_457, "."> ? T_822 extends SplitAC ? "value" : "default" : never : never] extends infer T_824 ? T_824 extends T_823[PrefixWith, K_457, "."> extends infer T_822 ? T_822 extends PrefixWith, K_457, "."> ? T_822 extends SplitAC ? "value" : "default" : never : never] ? T_824 extends CanBeExpanded ? any : T_824 extends (infer U)[] ? any[] : T_824 extends object ? { [K_458 in keyof T_824]-?: T_824[K_458] extends infer T_825 ? T_825 extends T_824[K_458] ? T_825 extends CanBeExpanded ? T_825["default"] : T_825 : never : never; } : T_824 : never : never : T_823 extends (infer U)[] ? any[] : T_823 extends object ? { [K_459 in keyof T_823]-?: T_823[K_459] extends infer T_826 ? T_826 extends T_823[K_459] ? T_826 extends CanBeExpanded ? T_826["default"] : T_826 : never : never; } : T_823 : never : never : T_821 extends (infer U)[] ? any[] : T_821 extends object ? { [K_460 in keyof T_821]-?: T_821[K_460] extends infer T_827 ? T_827 extends T_821[K_460] ? T_827 extends CanBeExpanded ? T_827["default"] : T_827 : never : never; } : T_821 : never : never; } : T_810 : never : never : T_809 extends (infer U)[] ? any[] : T_809 extends object ? { [K_461 in keyof T_809]-?: T_809[K_461] extends infer T_828 ? T_828 extends T_809[K_461] ? T_828 extends CanBeExpanded ? T_828[PrefixWith, K_461, "."> extends infer T_829 ? T_829 extends PrefixWith, K_461, "."> ? T_829 extends SplitAC ? "value" : "default" : never : never] extends infer T_830 ? T_830 extends T_828[PrefixWith, K_461, "."> extends infer T_829 ? T_829 extends PrefixWith, K_461, "."> ? T_829 extends SplitAC ? "value" : "default" : never : never] ? T_830 extends CanBeExpanded ? T_830[PrefixWith, K_461, "."> extends infer T_829 ? T_829 extends PrefixWith, K_461, "."> ? T_829 extends SplitAC ? "value" : "default" : never : never] extends infer T_831 ? T_831 extends T_830[PrefixWith, K_461, "."> extends infer T_829 ? T_829 extends PrefixWith, K_461, "."> ? T_829 extends SplitAC ? "value" : "default" : never : never] ? T_831 extends CanBeExpanded ? T_831[PrefixWith, K_461, "."> extends infer T_829 ? T_829 extends PrefixWith, K_461, "."> ? T_829 extends SplitAC ? "value" : "default" : never : never] extends infer T_832 ? T_832 extends T_831[PrefixWith, K_461, "."> extends infer T_829 ? T_829 extends PrefixWith, K_461, "."> ? T_829 extends SplitAC ? "value" : "default" : never : never] ? T_832 extends CanBeExpanded ? any : T_832 extends (infer U)[] ? any[] : T_832 extends object ? { [K_462 in keyof T_832]-?: T_832[K_462] extends infer T_833 ? T_833 extends T_832[K_462] ? T_833 extends CanBeExpanded ? T_833["default"] : T_833 : never : never; } : T_832 : never : never : T_831 extends (infer U)[] ? any[] : T_831 extends object ? { [K_463 in keyof T_831]-?: T_831[K_463] extends infer T_834 ? T_834 extends T_831[K_463] ? T_834 extends CanBeExpanded ? T_834["default"] : T_834 : never : never; } : T_831 : never : never : T_830 extends (infer U)[] ? any[] : T_830 extends object ? { [K_464 in keyof T_830]-?: T_830[K_464] extends infer T_835 ? T_835 extends T_830[K_464] ? T_835 extends CanBeExpanded ? T_835["default"] : T_835 : never : never; } : T_830 : never : never : T_828 extends (infer U)[] ? any[] : T_828 extends object ? { [K_465 in keyof T_828]-?: T_828[K_465] extends infer T_836 ? T_836 extends T_828[K_465] ? T_836 extends CanBeExpanded ? T_836["default"] : T_836 : never : never; } : T_828 : never : never; } : T_809 : never : never : T_808 extends (infer U)[] ? any[] : T_808 extends object ? { [K_466 in keyof T_808]-?: T_808[K_466] extends infer T_837 ? T_837 extends T_808[K_466] ? T_837 extends CanBeExpanded ? T_837[PrefixWith, K_466, "."> extends infer T_838 ? T_838 extends PrefixWith, K_466, "."> ? T_838 extends SplitAC ? "value" : "default" : never : never] extends infer T_839 ? T_839 extends T_837[PrefixWith, K_466, "."> extends infer T_838 ? T_838 extends PrefixWith, K_466, "."> ? T_838 extends SplitAC ? "value" : "default" : never : never] ? T_839 extends CanBeExpanded ? T_839[PrefixWith, K_466, "."> extends infer T_838 ? T_838 extends PrefixWith, K_466, "."> ? T_838 extends SplitAC ? "value" : "default" : never : never] extends infer T_840 ? T_840 extends T_839[PrefixWith, K_466, "."> extends infer T_838 ? T_838 extends PrefixWith, K_466, "."> ? T_838 extends SplitAC ? "value" : "default" : never : never] ? T_840 extends CanBeExpanded ? T_840[PrefixWith, K_466, "."> extends infer T_838 ? T_838 extends PrefixWith, K_466, "."> ? T_838 extends SplitAC ? "value" : "default" : never : never] extends infer T_841 ? T_841 extends T_840[PrefixWith, K_466, "."> extends infer T_838 ? T_838 extends PrefixWith, K_466, "."> ? T_838 extends SplitAC ? "value" : "default" : never : never] ? T_841 extends CanBeExpanded ? T_841[PrefixWith, K_466, "."> extends infer T_838 ? T_838 extends PrefixWith, K_466, "."> ? T_838 extends SplitAC ? "value" : "default" : never : never] extends infer T_842 ? T_842 extends T_841[PrefixWith, K_466, "."> extends infer T_838 ? T_838 extends PrefixWith, K_466, "."> ? T_838 extends SplitAC ? "value" : "default" : never : never] ? T_842 extends CanBeExpanded ? any : T_842 extends (infer U)[] ? any[] : T_842 extends object ? { [K_467 in keyof T_842]-?: T_842[K_467] extends infer T_843 ? T_843 extends T_842[K_467] ? T_843 extends CanBeExpanded ? T_843["default"] : T_843 : never : never; } : T_842 : never : never : T_841 extends (infer U)[] ? any[] : T_841 extends object ? { [K_468 in keyof T_841]-?: T_841[K_468] extends infer T_844 ? T_844 extends T_841[K_468] ? T_844 extends CanBeExpanded ? T_844["default"] : T_844 : never : never; } : T_841 : never : never : T_840 extends (infer U)[] ? any[] : T_840 extends object ? { [K_469 in keyof T_840]-?: T_840[K_469] extends infer T_845 ? T_845 extends T_840[K_469] ? T_845 extends CanBeExpanded ? T_845["default"] : T_845 : never : never; } : T_840 : never : never : T_839 extends (infer U)[] ? any[] : T_839 extends object ? { [K_470 in keyof T_839]-?: T_839[K_470] extends infer T_846 ? T_846 extends T_839[K_470] ? T_846 extends CanBeExpanded ? T_846["default"] : T_846 : never : never; } : T_839 : never : never : T_837 extends (infer U)[] ? any[] : T_837 extends object ? { [K_471 in keyof T_837]-?: T_837[K_471] extends infer T_847 ? T_847 extends T_837[K_471] ? T_847 extends CanBeExpanded ? T_847["default"] : T_847 : never : never; } : T_837 : never : never; } : T_808 : never : never : T_806 extends (infer U)[] ? any[] : T_806 extends object ? { [K_472 in keyof T_806]-?: T_806[K_472] extends infer T_848 ? T_848 extends T_806[K_472] ? T_848 extends CanBeExpanded ? T_848[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] extends infer T_850 ? T_850 extends T_848[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] ? T_850 extends CanBeExpanded ? T_850[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] extends infer T_851 ? T_851 extends T_850[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] ? T_851 extends CanBeExpanded ? T_851[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] extends infer T_852 ? T_852 extends T_851[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] ? T_852 extends CanBeExpanded ? T_852[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] extends infer T_853 ? T_853 extends T_852[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] ? T_853 extends CanBeExpanded ? T_853[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] extends infer T_854 ? T_854 extends T_853[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] ? T_854 extends CanBeExpanded ? any : T_854 extends (infer U)[] ? any[] : T_854 extends object ? { [K_473 in keyof T_854]-?: T_854[K_473] extends infer T_855 ? T_855 extends T_854[K_473] ? T_855 extends CanBeExpanded ? T_855["default"] : T_855 : never : never; } : T_854 : never : never : T_853 extends (infer U)[] ? any[] : T_853 extends object ? { [K_474 in keyof T_853]-?: T_853[K_474] extends infer T_856 ? T_856 extends T_853[K_474] ? T_856 extends CanBeExpanded ? T_856["default"] : T_856 : never : never; } : T_853 : never : never : T_852 extends (infer U)[] ? any[] : T_852 extends object ? { [K_475 in keyof T_852]-?: T_852[K_475] extends infer T_857 ? T_857 extends T_852[K_475] ? T_857 extends CanBeExpanded ? T_857["default"] : T_857 : never : never; } : T_852 : never : never : T_851 extends (infer U)[] ? any[] : T_851 extends object ? { [K_476 in keyof T_851]-?: T_851[K_476] extends infer T_858 ? T_858 extends T_851[K_476] ? T_858 extends CanBeExpanded ? T_858["default"] : T_858 : never : never; } : T_851 : never : never : T_850 extends (infer U)[] ? any[] : T_850 extends object ? { [K_477 in keyof T_850]-?: T_850[K_477] extends infer T_859 ? T_859 extends T_850[K_477] ? T_859 extends CanBeExpanded ? T_859["default"] : T_859 : never : never; } : T_850 : never : never : T_848 extends (infer U)[] ? any[] : T_848 extends object ? { [K_478 in keyof T_848]-?: T_848[K_478] extends infer T_860 ? T_860 extends T_848[K_478] ? T_860 extends CanBeExpanded ? T_860["default"] : T_860 : never : never; } : T_848 : never : never; } : T_806 : never : never; } : T_692 : never : never : T_691 extends (infer U)[] ? any[] : T_691 extends object ? { [K_479 in keyof T_691]-?: T_691[K_479] extends infer T_861 ? T_861 extends T_691[K_479] ? T_861 extends CanBeExpanded ? T_861[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] extends infer T_863 ? T_863 extends T_861[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] ? T_863 extends CanBeExpanded ? T_863[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] extends infer T_864 ? T_864 extends T_863[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] ? T_864 extends CanBeExpanded ? T_864[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] extends infer T_865 ? T_865 extends T_864[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] ? T_865 extends CanBeExpanded ? T_865[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] extends infer T_866 ? T_866 extends T_865[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] ? T_866 extends CanBeExpanded ? T_866[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] extends infer T_867 ? T_867 extends T_866[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] ? T_867 extends CanBeExpanded ? T_867[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] extends infer T_868 ? T_868 extends T_867[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] ? T_868 extends CanBeExpanded ? T_868[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] extends infer T_869 ? T_869 extends T_868[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] ? T_869 extends CanBeExpanded ? any : T_869 extends (infer U)[] ? any[] : T_869 extends object ? { [K_480 in keyof T_869]-?: any; } : T_869 : never : never : T_868 extends (infer U)[] ? any[] : T_868 extends object ? { [K_481 in keyof T_868]-?: T_868[K_481] extends infer T_870 ? T_870 extends T_868[K_481] ? T_870 extends CanBeExpanded ? any : T_870 extends (infer U)[] ? any[] : T_870 extends object ? { [K_482 in keyof T_870]-?: T_870[K_482] extends infer T_871 ? T_871 extends T_870[K_482] ? T_871 extends CanBeExpanded ? T_871["default"] : T_871 : never : never; } : T_870 : never : never; } : T_868 : never : never : T_867 extends (infer U)[] ? any[] : T_867 extends object ? { [K_483 in keyof T_867]-?: T_867[K_483] extends infer T_872 ? T_872 extends T_867[K_483] ? T_872 extends CanBeExpanded ? T_872[PrefixWith, K_483, "."> extends infer T_873 ? T_873 extends PrefixWith, K_483, "."> ? T_873 extends SplitAC ? "value" : "default" : never : never] extends infer T_874 ? T_874 extends T_872[PrefixWith, K_483, "."> extends infer T_873 ? T_873 extends PrefixWith, K_483, "."> ? T_873 extends SplitAC ? "value" : "default" : never : never] ? T_874 extends CanBeExpanded ? any : T_874 extends (infer U)[] ? any[] : T_874 extends object ? { [K_484 in keyof T_874]-?: T_874[K_484] extends infer T_875 ? T_875 extends T_874[K_484] ? T_875 extends CanBeExpanded ? T_875["default"] : T_875 : never : never; } : T_874 : never : never : T_872 extends (infer U)[] ? any[] : T_872 extends object ? { [K_485 in keyof T_872]-?: T_872[K_485] extends infer T_876 ? T_876 extends T_872[K_485] ? T_876 extends CanBeExpanded ? T_876["default"] : T_876 : never : never; } : T_872 : never : never; } : T_867 : never : never : T_866 extends (infer U)[] ? any[] : T_866 extends object ? { [K_486 in keyof T_866]-?: T_866[K_486] extends infer T_877 ? T_877 extends T_866[K_486] ? T_877 extends CanBeExpanded ? T_877[PrefixWith, K_486, "."> extends infer T_878 ? T_878 extends PrefixWith, K_486, "."> ? T_878 extends SplitAC ? "value" : "default" : never : never] extends infer T_879 ? T_879 extends T_877[PrefixWith, K_486, "."> extends infer T_878 ? T_878 extends PrefixWith, K_486, "."> ? T_878 extends SplitAC ? "value" : "default" : never : never] ? T_879 extends CanBeExpanded ? T_879[PrefixWith, K_486, "."> extends infer T_878 ? T_878 extends PrefixWith, K_486, "."> ? T_878 extends SplitAC ? "value" : "default" : never : never] extends infer T_880 ? T_880 extends T_879[PrefixWith, K_486, "."> extends infer T_878 ? T_878 extends PrefixWith, K_486, "."> ? T_878 extends SplitAC ? "value" : "default" : never : never] ? T_880 extends CanBeExpanded ? any : T_880 extends (infer U)[] ? any[] : T_880 extends object ? { [K_487 in keyof T_880]-?: T_880[K_487] extends infer T_881 ? T_881 extends T_880[K_487] ? T_881 extends CanBeExpanded ? T_881["default"] : T_881 : never : never; } : T_880 : never : never : T_879 extends (infer U)[] ? any[] : T_879 extends object ? { [K_488 in keyof T_879]-?: T_879[K_488] extends infer T_882 ? T_882 extends T_879[K_488] ? T_882 extends CanBeExpanded ? T_882["default"] : T_882 : never : never; } : T_879 : never : never : T_877 extends (infer U)[] ? any[] : T_877 extends object ? { [K_489 in keyof T_877]-?: T_877[K_489] extends infer T_883 ? T_883 extends T_877[K_489] ? T_883 extends CanBeExpanded ? T_883["default"] : T_883 : never : never; } : T_877 : never : never; } : T_866 : never : never : T_865 extends (infer U)[] ? any[] : T_865 extends object ? { [K_490 in keyof T_865]-?: T_865[K_490] extends infer T_884 ? T_884 extends T_865[K_490] ? T_884 extends CanBeExpanded ? T_884[PrefixWith, K_490, "."> extends infer T_885 ? T_885 extends PrefixWith, K_490, "."> ? T_885 extends SplitAC ? "value" : "default" : never : never] extends infer T_886 ? T_886 extends T_884[PrefixWith, K_490, "."> extends infer T_885 ? T_885 extends PrefixWith, K_490, "."> ? T_885 extends SplitAC ? "value" : "default" : never : never] ? T_886 extends CanBeExpanded ? T_886[PrefixWith, K_490, "."> extends infer T_885 ? T_885 extends PrefixWith, K_490, "."> ? T_885 extends SplitAC ? "value" : "default" : never : never] extends infer T_887 ? T_887 extends T_886[PrefixWith, K_490, "."> extends infer T_885 ? T_885 extends PrefixWith, K_490, "."> ? T_885 extends SplitAC ? "value" : "default" : never : never] ? T_887 extends CanBeExpanded ? T_887[PrefixWith, K_490, "."> extends infer T_885 ? T_885 extends PrefixWith, K_490, "."> ? T_885 extends SplitAC ? "value" : "default" : never : never] extends infer T_888 ? T_888 extends T_887[PrefixWith, K_490, "."> extends infer T_885 ? T_885 extends PrefixWith, K_490, "."> ? T_885 extends SplitAC ? "value" : "default" : never : never] ? T_888 extends CanBeExpanded ? any : T_888 extends (infer U)[] ? any[] : T_888 extends object ? { [K_491 in keyof T_888]-?: T_888[K_491] extends infer T_889 ? T_889 extends T_888[K_491] ? T_889 extends CanBeExpanded ? T_889["default"] : T_889 : never : never; } : T_888 : never : never : T_887 extends (infer U)[] ? any[] : T_887 extends object ? { [K_492 in keyof T_887]-?: T_887[K_492] extends infer T_890 ? T_890 extends T_887[K_492] ? T_890 extends CanBeExpanded ? T_890["default"] : T_890 : never : never; } : T_887 : never : never : T_886 extends (infer U)[] ? any[] : T_886 extends object ? { [K_493 in keyof T_886]-?: T_886[K_493] extends infer T_891 ? T_891 extends T_886[K_493] ? T_891 extends CanBeExpanded ? T_891["default"] : T_891 : never : never; } : T_886 : never : never : T_884 extends (infer U)[] ? any[] : T_884 extends object ? { [K_494 in keyof T_884]-?: T_884[K_494] extends infer T_892 ? T_892 extends T_884[K_494] ? T_892 extends CanBeExpanded ? T_892["default"] : T_892 : never : never; } : T_884 : never : never; } : T_865 : never : never : T_864 extends (infer U)[] ? any[] : T_864 extends object ? { [K_495 in keyof T_864]-?: T_864[K_495] extends infer T_893 ? T_893 extends T_864[K_495] ? T_893 extends CanBeExpanded ? T_893[PrefixWith, K_495, "."> extends infer T_894 ? T_894 extends PrefixWith, K_495, "."> ? T_894 extends SplitAC ? "value" : "default" : never : never] extends infer T_895 ? T_895 extends T_893[PrefixWith, K_495, "."> extends infer T_894 ? T_894 extends PrefixWith, K_495, "."> ? T_894 extends SplitAC ? "value" : "default" : never : never] ? T_895 extends CanBeExpanded ? T_895[PrefixWith, K_495, "."> extends infer T_894 ? T_894 extends PrefixWith, K_495, "."> ? T_894 extends SplitAC ? "value" : "default" : never : never] extends infer T_896 ? T_896 extends T_895[PrefixWith, K_495, "."> extends infer T_894 ? T_894 extends PrefixWith, K_495, "."> ? T_894 extends SplitAC ? "value" : "default" : never : never] ? T_896 extends CanBeExpanded ? T_896[PrefixWith, K_495, "."> extends infer T_894 ? T_894 extends PrefixWith, K_495, "."> ? T_894 extends SplitAC ? "value" : "default" : never : never] extends infer T_897 ? T_897 extends T_896[PrefixWith, K_495, "."> extends infer T_894 ? T_894 extends PrefixWith, K_495, "."> ? T_894 extends SplitAC ? "value" : "default" : never : never] ? T_897 extends CanBeExpanded ? T_897[PrefixWith, K_495, "."> extends infer T_894 ? T_894 extends PrefixWith, K_495, "."> ? T_894 extends SplitAC ? "value" : "default" : never : never] extends infer T_898 ? T_898 extends T_897[PrefixWith, K_495, "."> extends infer T_894 ? T_894 extends PrefixWith, K_495, "."> ? T_894 extends SplitAC ? "value" : "default" : never : never] ? T_898 extends CanBeExpanded ? any : T_898 extends (infer U)[] ? any[] : T_898 extends object ? { [K_496 in keyof T_898]-?: T_898[K_496] extends infer T_899 ? T_899 extends T_898[K_496] ? T_899 extends CanBeExpanded ? T_899["default"] : T_899 : never : never; } : T_898 : never : never : T_897 extends (infer U)[] ? any[] : T_897 extends object ? { [K_497 in keyof T_897]-?: T_897[K_497] extends infer T_900 ? T_900 extends T_897[K_497] ? T_900 extends CanBeExpanded ? T_900["default"] : T_900 : never : never; } : T_897 : never : never : T_896 extends (infer U)[] ? any[] : T_896 extends object ? { [K_498 in keyof T_896]-?: T_896[K_498] extends infer T_901 ? T_901 extends T_896[K_498] ? T_901 extends CanBeExpanded ? T_901["default"] : T_901 : never : never; } : T_896 : never : never : T_895 extends (infer U)[] ? any[] : T_895 extends object ? { [K_499 in keyof T_895]-?: T_895[K_499] extends infer T_902 ? T_902 extends T_895[K_499] ? T_902 extends CanBeExpanded ? T_902["default"] : T_902 : never : never; } : T_895 : never : never : T_893 extends (infer U)[] ? any[] : T_893 extends object ? { [K_500 in keyof T_893]-?: T_893[K_500] extends infer T_903 ? T_903 extends T_893[K_500] ? T_903 extends CanBeExpanded ? T_903["default"] : T_903 : never : never; } : T_893 : never : never; } : T_864 : never : never : T_863 extends (infer U)[] ? any[] : T_863 extends object ? { [K_501 in keyof T_863]-?: T_863[K_501] extends infer T_904 ? T_904 extends T_863[K_501] ? T_904 extends CanBeExpanded ? T_904[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] extends infer T_906 ? T_906 extends T_904[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] ? T_906 extends CanBeExpanded ? T_906[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] extends infer T_907 ? T_907 extends T_906[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] ? T_907 extends CanBeExpanded ? T_907[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] extends infer T_908 ? T_908 extends T_907[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] ? T_908 extends CanBeExpanded ? T_908[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] extends infer T_909 ? T_909 extends T_908[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] ? T_909 extends CanBeExpanded ? T_909[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] extends infer T_910 ? T_910 extends T_909[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] ? T_910 extends CanBeExpanded ? any : T_910 extends (infer U)[] ? any[] : T_910 extends object ? { [K_502 in keyof T_910]-?: T_910[K_502] extends infer T_911 ? T_911 extends T_910[K_502] ? T_911 extends CanBeExpanded ? T_911["default"] : T_911 : never : never; } : T_910 : never : never : T_909 extends (infer U)[] ? any[] : T_909 extends object ? { [K_503 in keyof T_909]-?: T_909[K_503] extends infer T_912 ? T_912 extends T_909[K_503] ? T_912 extends CanBeExpanded ? T_912["default"] : T_912 : never : never; } : T_909 : never : never : T_908 extends (infer U)[] ? any[] : T_908 extends object ? { [K_504 in keyof T_908]-?: T_908[K_504] extends infer T_913 ? T_913 extends T_908[K_504] ? T_913 extends CanBeExpanded ? T_913["default"] : T_913 : never : never; } : T_908 : never : never : T_907 extends (infer U)[] ? any[] : T_907 extends object ? { [K_505 in keyof T_907]-?: T_907[K_505] extends infer T_914 ? T_914 extends T_907[K_505] ? T_914 extends CanBeExpanded ? T_914["default"] : T_914 : never : never; } : T_907 : never : never : T_906 extends (infer U)[] ? any[] : T_906 extends object ? { [K_506 in keyof T_906]-?: T_906[K_506] extends infer T_915 ? T_915 extends T_906[K_506] ? T_915 extends CanBeExpanded ? T_915["default"] : T_915 : never : never; } : T_906 : never : never : T_904 extends (infer U)[] ? any[] : T_904 extends object ? { [K_507 in keyof T_904]-?: T_904[K_507] extends infer T_916 ? T_916 extends T_904[K_507] ? T_916 extends CanBeExpanded ? T_916["default"] : T_916 : never : never; } : T_904 : never : never; } : T_863 : never : never : T_861 extends (infer U)[] ? any[] : T_861 extends object ? { [K_508 in keyof T_861]-?: T_861[K_508] extends infer T_917 ? T_917 extends T_861[K_508] ? T_917 extends CanBeExpanded ? T_917[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] extends infer T_919 ? T_919 extends T_917[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] ? T_919 extends CanBeExpanded ? T_919[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] extends infer T_920 ? T_920 extends T_919[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] ? T_920 extends CanBeExpanded ? T_920[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] extends infer T_921 ? T_921 extends T_920[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] ? T_921 extends CanBeExpanded ? T_921[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] extends infer T_922 ? T_922 extends T_921[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] ? T_922 extends CanBeExpanded ? T_922[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] extends infer T_923 ? T_923 extends T_922[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] ? T_923 extends CanBeExpanded ? T_923[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] extends infer T_924 ? T_924 extends T_923[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] ? T_924 extends CanBeExpanded ? any : T_924 extends (infer U)[] ? any[] : T_924 extends object ? { [K_509 in keyof T_924]-?: T_924[K_509] extends infer T_925 ? T_925 extends T_924[K_509] ? T_925 extends CanBeExpanded ? T_925["default"] : T_925 : never : never; } : T_924 : never : never : T_923 extends (infer U)[] ? any[] : T_923 extends object ? { [K_510 in keyof T_923]-?: T_923[K_510] extends infer T_926 ? T_926 extends T_923[K_510] ? T_926 extends CanBeExpanded ? T_926["default"] : T_926 : never : never; } : T_923 : never : never : T_922 extends (infer U)[] ? any[] : T_922 extends object ? { [K_511 in keyof T_922]-?: T_922[K_511] extends infer T_927 ? T_927 extends T_922[K_511] ? T_927 extends CanBeExpanded ? T_927["default"] : T_927 : never : never; } : T_922 : never : never : T_921 extends (infer U)[] ? any[] : T_921 extends object ? { [K_512 in keyof T_921]-?: T_921[K_512] extends infer T_928 ? T_928 extends T_921[K_512] ? T_928 extends CanBeExpanded ? T_928["default"] : T_928 : never : never; } : T_921 : never : never : T_920 extends (infer U)[] ? any[] : T_920 extends object ? { [K_513 in keyof T_920]-?: T_920[K_513] extends infer T_929 ? T_929 extends T_920[K_513] ? T_929 extends CanBeExpanded ? T_929["default"] : T_929 : never : never; } : T_920 : never : never : T_919 extends (infer U)[] ? any[] : T_919 extends object ? { [K_514 in keyof T_919]-?: T_919[K_514] extends infer T_930 ? T_930 extends T_919[K_514] ? T_930 extends CanBeExpanded ? T_930["default"] : T_930 : never : never; } : T_919 : never : never : T_917 extends (infer U)[] ? any[] : T_917 extends object ? { [K_515 in keyof T_917]-?: T_917[K_515] extends infer T_931 ? T_931 extends T_917[K_515] ? T_931 extends CanBeExpanded ? T_931["default"] : T_931 : never : never; } : T_917 : never : never; } : T_861 : never : never; } : T_691 : never : never : T_689 extends (infer U)[] ? any[] : T_689 extends object ? { [K_516 in keyof T_689]-?: T_689[K_516] extends infer T_932 ? T_932 extends T_689[K_516] ? T_932 extends CanBeExpanded ? T_932[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] extends infer T_934 ? T_934 extends T_932[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] ? T_934 extends CanBeExpanded ? T_934[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] extends infer T_935 ? T_935 extends T_934[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] ? T_935 extends CanBeExpanded ? T_935[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] extends infer T_936 ? T_936 extends T_935[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] ? T_936 extends CanBeExpanded ? T_936[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] extends infer T_937 ? T_937 extends T_936[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] ? T_937 extends CanBeExpanded ? T_937[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] extends infer T_938 ? T_938 extends T_937[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] ? T_938 extends CanBeExpanded ? T_938[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] extends infer T_939 ? T_939 extends T_938[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] ? T_939 extends CanBeExpanded ? T_939[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] extends infer T_940 ? T_940 extends T_939[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] ? T_940 extends CanBeExpanded ? T_940[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] extends infer T_941 ? T_941 extends T_940[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] ? T_941 extends CanBeExpanded ? any : T_941 extends (infer U)[] ? any[] : T_941 extends object ? { [K_517 in keyof T_941]-?: any; } : T_941 : never : never : T_940 extends (infer U)[] ? any[] : T_940 extends object ? { [K_518 in keyof T_940]-?: T_940[K_518] extends infer T_942 ? T_942 extends T_940[K_518] ? T_942 extends CanBeExpanded ? any : T_942 extends (infer U)[] ? any[] : T_942 extends object ? { [K_519 in keyof T_942]-?: T_942[K_519] extends infer T_943 ? T_943 extends T_942[K_519] ? T_943 extends CanBeExpanded ? T_943["default"] : T_943 : never : never; } : T_942 : never : never; } : T_940 : never : never : T_939 extends (infer U)[] ? any[] : T_939 extends object ? { [K_520 in keyof T_939]-?: T_939[K_520] extends infer T_944 ? T_944 extends T_939[K_520] ? T_944 extends CanBeExpanded ? T_944[PrefixWith, K_520, "."> extends infer T_945 ? T_945 extends PrefixWith, K_520, "."> ? T_945 extends SplitAC ? "value" : "default" : never : never] extends infer T_946 ? T_946 extends T_944[PrefixWith, K_520, "."> extends infer T_945 ? T_945 extends PrefixWith, K_520, "."> ? T_945 extends SplitAC ? "value" : "default" : never : never] ? T_946 extends CanBeExpanded ? any : T_946 extends (infer U)[] ? any[] : T_946 extends object ? { [K_521 in keyof T_946]-?: T_946[K_521] extends infer T_947 ? T_947 extends T_946[K_521] ? T_947 extends CanBeExpanded ? T_947["default"] : T_947 : never : never; } : T_946 : never : never : T_944 extends (infer U)[] ? any[] : T_944 extends object ? { [K_522 in keyof T_944]-?: T_944[K_522] extends infer T_948 ? T_948 extends T_944[K_522] ? T_948 extends CanBeExpanded ? T_948["default"] : T_948 : never : never; } : T_944 : never : never; } : T_939 : never : never : T_938 extends (infer U)[] ? any[] : T_938 extends object ? { [K_523 in keyof T_938]-?: T_938[K_523] extends infer T_949 ? T_949 extends T_938[K_523] ? T_949 extends CanBeExpanded ? T_949[PrefixWith, K_523, "."> extends infer T_950 ? T_950 extends PrefixWith, K_523, "."> ? T_950 extends SplitAC ? "value" : "default" : never : never] extends infer T_951 ? T_951 extends T_949[PrefixWith, K_523, "."> extends infer T_950 ? T_950 extends PrefixWith, K_523, "."> ? T_950 extends SplitAC ? "value" : "default" : never : never] ? T_951 extends CanBeExpanded ? T_951[PrefixWith, K_523, "."> extends infer T_950 ? T_950 extends PrefixWith, K_523, "."> ? T_950 extends SplitAC ? "value" : "default" : never : never] extends infer T_952 ? T_952 extends T_951[PrefixWith, K_523, "."> extends infer T_950 ? T_950 extends PrefixWith, K_523, "."> ? T_950 extends SplitAC ? "value" : "default" : never : never] ? T_952 extends CanBeExpanded ? any : T_952 extends (infer U)[] ? any[] : T_952 extends object ? { [K_524 in keyof T_952]-?: T_952[K_524] extends infer T_953 ? T_953 extends T_952[K_524] ? T_953 extends CanBeExpanded ? T_953["default"] : T_953 : never : never; } : T_952 : never : never : T_951 extends (infer U)[] ? any[] : T_951 extends object ? { [K_525 in keyof T_951]-?: T_951[K_525] extends infer T_954 ? T_954 extends T_951[K_525] ? T_954 extends CanBeExpanded ? T_954["default"] : T_954 : never : never; } : T_951 : never : never : T_949 extends (infer U)[] ? any[] : T_949 extends object ? { [K_526 in keyof T_949]-?: T_949[K_526] extends infer T_955 ? T_955 extends T_949[K_526] ? T_955 extends CanBeExpanded ? T_955["default"] : T_955 : never : never; } : T_949 : never : never; } : T_938 : never : never : T_937 extends (infer U)[] ? any[] : T_937 extends object ? { [K_527 in keyof T_937]-?: T_937[K_527] extends infer T_956 ? T_956 extends T_937[K_527] ? T_956 extends CanBeExpanded ? T_956[PrefixWith, K_527, "."> extends infer T_957 ? T_957 extends PrefixWith, K_527, "."> ? T_957 extends SplitAC ? "value" : "default" : never : never] extends infer T_958 ? T_958 extends T_956[PrefixWith, K_527, "."> extends infer T_957 ? T_957 extends PrefixWith, K_527, "."> ? T_957 extends SplitAC ? "value" : "default" : never : never] ? T_958 extends CanBeExpanded ? T_958[PrefixWith, K_527, "."> extends infer T_957 ? T_957 extends PrefixWith, K_527, "."> ? T_957 extends SplitAC ? "value" : "default" : never : never] extends infer T_959 ? T_959 extends T_958[PrefixWith, K_527, "."> extends infer T_957 ? T_957 extends PrefixWith, K_527, "."> ? T_957 extends SplitAC ? "value" : "default" : never : never] ? T_959 extends CanBeExpanded ? T_959[PrefixWith, K_527, "."> extends infer T_957 ? T_957 extends PrefixWith, K_527, "."> ? T_957 extends SplitAC ? "value" : "default" : never : never] extends infer T_960 ? T_960 extends T_959[PrefixWith, K_527, "."> extends infer T_957 ? T_957 extends PrefixWith, K_527, "."> ? T_957 extends SplitAC ? "value" : "default" : never : never] ? T_960 extends CanBeExpanded ? any : T_960 extends (infer U)[] ? any[] : T_960 extends object ? { [K_528 in keyof T_960]-?: T_960[K_528] extends infer T_961 ? T_961 extends T_960[K_528] ? T_961 extends CanBeExpanded ? T_961["default"] : T_961 : never : never; } : T_960 : never : never : T_959 extends (infer U)[] ? any[] : T_959 extends object ? { [K_529 in keyof T_959]-?: T_959[K_529] extends infer T_962 ? T_962 extends T_959[K_529] ? T_962 extends CanBeExpanded ? T_962["default"] : T_962 : never : never; } : T_959 : never : never : T_958 extends (infer U)[] ? any[] : T_958 extends object ? { [K_530 in keyof T_958]-?: T_958[K_530] extends infer T_963 ? T_963 extends T_958[K_530] ? T_963 extends CanBeExpanded ? T_963["default"] : T_963 : never : never; } : T_958 : never : never : T_956 extends (infer U)[] ? any[] : T_956 extends object ? { [K_531 in keyof T_956]-?: T_956[K_531] extends infer T_964 ? T_964 extends T_956[K_531] ? T_964 extends CanBeExpanded ? T_964["default"] : T_964 : never : never; } : T_956 : never : never; } : T_937 : never : never : T_936 extends (infer U)[] ? any[] : T_936 extends object ? { [K_532 in keyof T_936]-?: T_936[K_532] extends infer T_965 ? T_965 extends T_936[K_532] ? T_965 extends CanBeExpanded ? T_965[PrefixWith, K_532, "."> extends infer T_966 ? T_966 extends PrefixWith, K_532, "."> ? T_966 extends SplitAC ? "value" : "default" : never : never] extends infer T_967 ? T_967 extends T_965[PrefixWith, K_532, "."> extends infer T_966 ? T_966 extends PrefixWith, K_532, "."> ? T_966 extends SplitAC ? "value" : "default" : never : never] ? T_967 extends CanBeExpanded ? T_967[PrefixWith, K_532, "."> extends infer T_966 ? T_966 extends PrefixWith, K_532, "."> ? T_966 extends SplitAC ? "value" : "default" : never : never] extends infer T_968 ? T_968 extends T_967[PrefixWith, K_532, "."> extends infer T_966 ? T_966 extends PrefixWith, K_532, "."> ? T_966 extends SplitAC ? "value" : "default" : never : never] ? T_968 extends CanBeExpanded ? T_968[PrefixWith, K_532, "."> extends infer T_966 ? T_966 extends PrefixWith, K_532, "."> ? T_966 extends SplitAC ? "value" : "default" : never : never] extends infer T_969 ? T_969 extends T_968[PrefixWith, K_532, "."> extends infer T_966 ? T_966 extends PrefixWith, K_532, "."> ? T_966 extends SplitAC ? "value" : "default" : never : never] ? T_969 extends CanBeExpanded ? T_969[PrefixWith, K_532, "."> extends infer T_966 ? T_966 extends PrefixWith, K_532, "."> ? T_966 extends SplitAC ? "value" : "default" : never : never] extends infer T_970 ? T_970 extends T_969[PrefixWith, K_532, "."> extends infer T_966 ? T_966 extends PrefixWith, K_532, "."> ? T_966 extends SplitAC ? "value" : "default" : never : never] ? T_970 extends CanBeExpanded ? any : T_970 extends (infer U)[] ? any[] : T_970 extends object ? { [K_533 in keyof T_970]-?: T_970[K_533] extends infer T_971 ? T_971 extends T_970[K_533] ? T_971 extends CanBeExpanded ? T_971["default"] : T_971 : never : never; } : T_970 : never : never : T_969 extends (infer U)[] ? any[] : T_969 extends object ? { [K_534 in keyof T_969]-?: T_969[K_534] extends infer T_972 ? T_972 extends T_969[K_534] ? T_972 extends CanBeExpanded ? T_972["default"] : T_972 : never : never; } : T_969 : never : never : T_968 extends (infer U)[] ? any[] : T_968 extends object ? { [K_535 in keyof T_968]-?: T_968[K_535] extends infer T_973 ? T_973 extends T_968[K_535] ? T_973 extends CanBeExpanded ? T_973["default"] : T_973 : never : never; } : T_968 : never : never : T_967 extends (infer U)[] ? any[] : T_967 extends object ? { [K_536 in keyof T_967]-?: T_967[K_536] extends infer T_974 ? T_974 extends T_967[K_536] ? T_974 extends CanBeExpanded ? T_974["default"] : T_974 : never : never; } : T_967 : never : never : T_965 extends (infer U)[] ? any[] : T_965 extends object ? { [K_537 in keyof T_965]-?: T_965[K_537] extends infer T_975 ? T_975 extends T_965[K_537] ? T_975 extends CanBeExpanded ? T_975["default"] : T_975 : never : never; } : T_965 : never : never; } : T_936 : never : never : T_935 extends (infer U)[] ? any[] : T_935 extends object ? { [K_538 in keyof T_935]-?: T_935[K_538] extends infer T_976 ? T_976 extends T_935[K_538] ? T_976 extends CanBeExpanded ? T_976[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] extends infer T_978 ? T_978 extends T_976[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] ? T_978 extends CanBeExpanded ? T_978[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] extends infer T_979 ? T_979 extends T_978[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] ? T_979 extends CanBeExpanded ? T_979[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] extends infer T_980 ? T_980 extends T_979[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] ? T_980 extends CanBeExpanded ? T_980[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] extends infer T_981 ? T_981 extends T_980[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] ? T_981 extends CanBeExpanded ? T_981[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] extends infer T_982 ? T_982 extends T_981[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] ? T_982 extends CanBeExpanded ? any : T_982 extends (infer U)[] ? any[] : T_982 extends object ? { [K_539 in keyof T_982]-?: T_982[K_539] extends infer T_983 ? T_983 extends T_982[K_539] ? T_983 extends CanBeExpanded ? T_983["default"] : T_983 : never : never; } : T_982 : never : never : T_981 extends (infer U)[] ? any[] : T_981 extends object ? { [K_540 in keyof T_981]-?: T_981[K_540] extends infer T_984 ? T_984 extends T_981[K_540] ? T_984 extends CanBeExpanded ? T_984["default"] : T_984 : never : never; } : T_981 : never : never : T_980 extends (infer U)[] ? any[] : T_980 extends object ? { [K_541 in keyof T_980]-?: T_980[K_541] extends infer T_985 ? T_985 extends T_980[K_541] ? T_985 extends CanBeExpanded ? T_985["default"] : T_985 : never : never; } : T_980 : never : never : T_979 extends (infer U)[] ? any[] : T_979 extends object ? { [K_542 in keyof T_979]-?: T_979[K_542] extends infer T_986 ? T_986 extends T_979[K_542] ? T_986 extends CanBeExpanded ? T_986["default"] : T_986 : never : never; } : T_979 : never : never : T_978 extends (infer U)[] ? any[] : T_978 extends object ? { [K_543 in keyof T_978]-?: T_978[K_543] extends infer T_987 ? T_987 extends T_978[K_543] ? T_987 extends CanBeExpanded ? T_987["default"] : T_987 : never : never; } : T_978 : never : never : T_976 extends (infer U)[] ? any[] : T_976 extends object ? { [K_544 in keyof T_976]-?: T_976[K_544] extends infer T_988 ? T_988 extends T_976[K_544] ? T_988 extends CanBeExpanded ? T_988["default"] : T_988 : never : never; } : T_976 : never : never; } : T_935 : never : never : T_934 extends (infer U)[] ? any[] : T_934 extends object ? { [K_545 in keyof T_934]-?: T_934[K_545] extends infer T_989 ? T_989 extends T_934[K_545] ? T_989 extends CanBeExpanded ? T_989[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] extends infer T_991 ? T_991 extends T_989[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] ? T_991 extends CanBeExpanded ? T_991[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] extends infer T_992 ? T_992 extends T_991[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] ? T_992 extends CanBeExpanded ? T_992[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] extends infer T_993 ? T_993 extends T_992[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] ? T_993 extends CanBeExpanded ? T_993[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] extends infer T_994 ? T_994 extends T_993[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] ? T_994 extends CanBeExpanded ? T_994[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] extends infer T_995 ? T_995 extends T_994[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] ? T_995 extends CanBeExpanded ? T_995[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] extends infer T_996 ? T_996 extends T_995[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] ? T_996 extends CanBeExpanded ? any : T_996 extends (infer U)[] ? any[] : T_996 extends object ? { [K_546 in keyof T_996]-?: T_996[K_546] extends infer T_997 ? T_997 extends T_996[K_546] ? T_997 extends CanBeExpanded ? T_997["default"] : T_997 : never : never; } : T_996 : never : never : T_995 extends (infer U)[] ? any[] : T_995 extends object ? { [K_547 in keyof T_995]-?: T_995[K_547] extends infer T_998 ? T_998 extends T_995[K_547] ? T_998 extends CanBeExpanded ? T_998["default"] : T_998 : never : never; } : T_995 : never : never : T_994 extends (infer U)[] ? any[] : T_994 extends object ? { [K_548 in keyof T_994]-?: T_994[K_548] extends infer T_999 ? T_999 extends T_994[K_548] ? T_999 extends CanBeExpanded ? T_999["default"] : T_999 : never : never; } : T_994 : never : never : T_993 extends (infer U)[] ? any[] : T_993 extends object ? { [K_549 in keyof T_993]-?: T_993[K_549] extends infer T_1000 ? T_1000 extends T_993[K_549] ? T_1000 extends CanBeExpanded ? T_1000["default"] : T_1000 : never : never; } : T_993 : never : never : T_992 extends (infer U)[] ? any[] : T_992 extends object ? { [K_550 in keyof T_992]-?: T_992[K_550] extends infer T_1001 ? T_1001 extends T_992[K_550] ? T_1001 extends CanBeExpanded ? T_1001["default"] : T_1001 : never : never; } : T_992 : never : never : T_991 extends (infer U)[] ? any[] : T_991 extends object ? { [K_551 in keyof T_991]-?: T_991[K_551] extends infer T_1002 ? T_1002 extends T_991[K_551] ? T_1002 extends CanBeExpanded ? T_1002["default"] : T_1002 : never : never; } : T_991 : never : never : T_989 extends (infer U)[] ? any[] : T_989 extends object ? { [K_552 in keyof T_989]-?: T_989[K_552] extends infer T_1003 ? T_1003 extends T_989[K_552] ? T_1003 extends CanBeExpanded ? T_1003["default"] : T_1003 : never : never; } : T_989 : never : never; } : T_934 : never : never : T_932 extends (infer U)[] ? any[] : T_932 extends object ? { [K_553 in keyof T_932]-?: T_932[K_553] extends infer T_1004 ? T_1004 extends T_932[K_553] ? T_1004 extends CanBeExpanded ? T_1004[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] extends infer T_1006 ? T_1006 extends T_1004[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] ? T_1006 extends CanBeExpanded ? T_1006[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] extends infer T_1007 ? T_1007 extends T_1006[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] ? T_1007 extends CanBeExpanded ? T_1007[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] extends infer T_1008 ? T_1008 extends T_1007[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] ? T_1008 extends CanBeExpanded ? T_1008[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] extends infer T_1009 ? T_1009 extends T_1008[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] ? T_1009 extends CanBeExpanded ? T_1009[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] extends infer T_1010 ? T_1010 extends T_1009[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] ? T_1010 extends CanBeExpanded ? T_1010[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] extends infer T_1011 ? T_1011 extends T_1010[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] ? T_1011 extends CanBeExpanded ? T_1011[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] extends infer T_1012 ? T_1012 extends T_1011[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] ? T_1012 extends CanBeExpanded ? any : T_1012 extends (infer U)[] ? any[] : T_1012 extends object ? { [K_554 in keyof T_1012]-?: T_1012[K_554] extends infer T_1013 ? T_1013 extends T_1012[K_554] ? T_1013 extends CanBeExpanded ? T_1013["default"] : T_1013 : never : never; } : T_1012 : never : never : T_1011 extends (infer U)[] ? any[] : T_1011 extends object ? { [K_555 in keyof T_1011]-?: T_1011[K_555] extends infer T_1014 ? T_1014 extends T_1011[K_555] ? T_1014 extends CanBeExpanded ? T_1014["default"] : T_1014 : never : never; } : T_1011 : never : never : T_1010 extends (infer U)[] ? any[] : T_1010 extends object ? { [K_556 in keyof T_1010]-?: T_1010[K_556] extends infer T_1015 ? T_1015 extends T_1010[K_556] ? T_1015 extends CanBeExpanded ? T_1015["default"] : T_1015 : never : never; } : T_1010 : never : never : T_1009 extends (infer U)[] ? any[] : T_1009 extends object ? { [K_557 in keyof T_1009]-?: T_1009[K_557] extends infer T_1016 ? T_1016 extends T_1009[K_557] ? T_1016 extends CanBeExpanded ? T_1016["default"] : T_1016 : never : never; } : T_1009 : never : never : T_1008 extends (infer U)[] ? any[] : T_1008 extends object ? { [K_558 in keyof T_1008]-?: T_1008[K_558] extends infer T_1017 ? T_1017 extends T_1008[K_558] ? T_1017 extends CanBeExpanded ? T_1017["default"] : T_1017 : never : never; } : T_1008 : never : never : T_1007 extends (infer U)[] ? any[] : T_1007 extends object ? { [K_559 in keyof T_1007]-?: T_1007[K_559] extends infer T_1018 ? T_1018 extends T_1007[K_559] ? T_1018 extends CanBeExpanded ? T_1018["default"] : T_1018 : never : never; } : T_1007 : never : never : T_1006 extends (infer U)[] ? any[] : T_1006 extends object ? { [K_560 in keyof T_1006]-?: T_1006[K_560] extends infer T_1019 ? T_1019 extends T_1006[K_560] ? T_1019 extends CanBeExpanded ? T_1019["default"] : T_1019 : never : never; } : T_1006 : never : never : T_1004 extends (infer U)[] ? any[] : T_1004 extends object ? { [K_561 in keyof T_1004]-?: T_1004[K_561] extends infer T_1020 ? T_1020 extends T_1004[K_561] ? T_1020 extends CanBeExpanded ? T_1020["default"] : T_1020 : never : never; } : T_1004 : never : never; } : T_932 : never : never; } : T_689 : never : never; } : T +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type UseQueryOptions3 = Expand_ extends infer O ? O : never >UseQueryOptions3 : UseQueryOptions3 @@ -234,5 +234,5 @@ type UseQueryOptions4 = ExpandResult */ let t: UseQueryOptions >t : { id: string; name: string; user: string; role: { id: string; user: { id: string; role: { id: string; user: string; x: string; }; note: string; }; x: string; }; roles: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/recursiveConditionalCrash4.types b/tests/baselines/reference/recursiveConditionalCrash4.types index c931714bc70b0..309edb17dc063 100644 --- a/tests/baselines/reference/recursiveConditionalCrash4.types +++ b/tests/baselines/reference/recursiveConditionalCrash4.types @@ -1,8 +1,5 @@ //// [tests/cases/compiler/recursiveConditionalCrash4.ts] //// -=== Performance Stats === -Instantiation count: 2,500 - === recursiveConditionalCrash4.ts === // Repros from #53783 diff --git a/tests/baselines/reference/recursiveConditionalTypes.types b/tests/baselines/reference/recursiveConditionalTypes.types index 829882de8384e..a82cbcb06a8ed 100644 --- a/tests/baselines/reference/recursiveConditionalTypes.types +++ b/tests/baselines/reference/recursiveConditionalTypes.types @@ -47,7 +47,7 @@ type P2 = __Awaited>; // Error function f11(tx: T, ta: __Awaited, ux: U, ua: __Awaited) { >f11 : (tx: T, ta: __Awaited, ux: U, ua: __Awaited) => void -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >tx : T > : ^ >ta : __Awaited @@ -156,7 +156,7 @@ type TT5 = TupleOf; // Depth error function f22(tn: TupleOf, tm: TupleOf) { >f22 : (tn: TupleOf, tm: TupleOf) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >tn : TupleOf > : ^^^^^^^^^^^^^^^^^^ >tm : TupleOf @@ -189,7 +189,7 @@ f23(['a', 'b', 'c']); // string >f23(['a', 'b', 'c']) : string > : ^^^^^^ >f23 : (t: TupleOf) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >['a', 'b', 'c'] : [string, string, string] > : ^^^^^^^^^^^^^^^^^^^^^^^^ >'a' : "a" @@ -263,15 +263,15 @@ declare let b4: { value: { value: { value: typeof b4 }}}; >value : { value: typeof b4; } > : ^^^^^^^^^ ^^^ >value : { value: { value: { value: typeof b4; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ->b4 : { value: { value: { value: any; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ +>b4 : { value: { value: { value: typeof b4; }; }; } +> : ^^^^^^^^^ ^^^ unbox(b1); // string >unbox(b1) : string > : ^^^^^^ >unbox : (box: RecBox) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b1 : Box>>>>> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -279,7 +279,7 @@ unbox(b2); // string >unbox(b2) : string > : ^^^^^^ >unbox : (box: RecBox) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b2 : T6 > : ^^ @@ -287,7 +287,7 @@ unbox(b3); // InfBox >unbox(b3) : InfBox > : ^^^^^^^^^^^^^^ >unbox : (box: RecBox) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b3 : InfBox > : ^^^^^^^^^^^^^^ @@ -295,7 +295,7 @@ unbox({ value: { value: { value: { value: { value: { value: 5 }}}}}}); // numbe >unbox({ value: { value: { value: { value: { value: { value: 5 }}}}}}) : number > : ^^^^^^ >unbox : (box: RecBox) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ value: { value: { value: { value: { value: { value: 5 }}}}}} : { value: { value: { value: { value: { value: { value: number; }; }; }; }; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >value : { value: { value: { value: { value: { value: number; }; }; }; }; } @@ -324,18 +324,18 @@ unbox({ value: { value: { value: { value: { value: { value: 5 }}}}}}); // numbe > : ^ unbox(b4); // { value: { value: typeof b4 }} ->unbox(b4) : { value: { value: { value: any; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>unbox(b4) : { value: { value: typeof b4; }; } +> : ^^^^^^^^^ ^^^ >unbox : (box: RecBox) => T -> : ^ ^^ ^^ ^^^^^^ ->b4 : { value: { value: { value: any; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ +>b4 : { value: { value: { value: typeof b4; }; }; } +> : ^^^^^^^^^ ^^^ unbox({ value: { value: { get value() { return this; } }}}); // { readonly value: ... } >unbox({ value: { value: { get value() { return this; } }}}) : { readonly value: { readonly value: any; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >unbox : (box: RecBox) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ value: { value: { get value() { return this; } }}} : { value: { value: { readonly value: { readonly value: any; }; }; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >value : { value: { readonly value: { readonly value: any; }; }; } @@ -379,7 +379,7 @@ foo(z); // string >foo(z) : string > : ^^^^^^ >foo : (x: Box1>) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >z : Box2> > : ^^^^^^^^^^^^^^^^^^ @@ -405,7 +405,7 @@ type Unpack2 = T extends (infer U)[] ? Unpack2 : T; function f20(x: Unpack1, y: Unpack2) { >f20 : (x: Unpack1, y: Unpack2) => void -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : Unpack1 > : ^^^^^^^^^^ >y : Unpack2 @@ -431,7 +431,7 @@ function f20(x: Unpack1, y: Unpack2) { >f20(y, x) : void > : ^^^^ >f20 : (x: Unpack1, y: Unpack2) => void -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >y : Unpack2 > : ^^^^^^^^^^ >x : Unpack1 @@ -448,7 +448,7 @@ type Grow2 = T['length'] extends N ? T : function f21(x: Grow1<[], T>, y: Grow2<[], T>) { >f21 : (x: Grow1<[], T>, y: Grow2<[], T>) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : Grow1<[], T> > : ^^^^^^^^^^^^ >y : Grow2<[], T> @@ -458,7 +458,7 @@ function f21(x: Grow1<[], T>, y: Grow2<[], T>) { >f21(y, x) : void > : ^^^^ >f21 : (x: Grow1<[], T>, y: Grow2<[], T>) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >y : Grow2<[], T> > : ^^^^^^^^^^^^ >x : Grow1<[], T> @@ -548,7 +548,7 @@ type Enumerate = number extends N function foo2(value: T): Enumerate { >foo2 : (value: T) => Enumerate -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >value : T > : ^ diff --git a/tests/baselines/reference/recursiveConditionalTypes2.types b/tests/baselines/reference/recursiveConditionalTypes2.types index 15450ab4fd748..1e808b8db5145 100644 --- a/tests/baselines/reference/recursiveConditionalTypes2.types +++ b/tests/baselines/reference/recursiveConditionalTypes2.types @@ -105,7 +105,7 @@ type DefaultsDeep = { interface _Array { find(predicate: (value: T) => boolean): void; >find : (predicate: (value: T) => boolean) => void -> : ^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^^^^^^^ ^^ ^^ ^^^^^ >predicate : (value: T) => boolean > : ^ ^^ ^^^^^ >value : T @@ -122,11 +122,11 @@ z.find((_) => true); >z.find((_) => true) : void > : ^^^^ >z.find : >(predicate: (value: DefaultsDeep<{}, {}>) => boolean) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >z : _Array> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >find : >(predicate: (value: DefaultsDeep<{}, {}>) => boolean) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ >(_) => true : (_: DefaultsDeep<{}, {}>) => true > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >_ : DefaultsDeep<{}, {}> diff --git a/tests/baselines/reference/recursiveFunctionTypes.types b/tests/baselines/reference/recursiveFunctionTypes.types index 8411d44569a78..2ead748c9b405 100644 --- a/tests/baselines/reference/recursiveFunctionTypes.types +++ b/tests/baselines/reference/recursiveFunctionTypes.types @@ -13,25 +13,25 @@ var x: number = fn; // error >x : number > : ^^^^^^ >fn : () => typeof fn -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ var y: () => number = fn; // ok >y : () => number > : ^^^^^^ >fn : () => typeof fn -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ var f: () => typeof g; >f : () => typeof g > : ^^^^^^ ->g : () => () => typeof g -> : ^^^^^^^^^^^^ +>g : () => typeof f +> : ^^^^^^ var g: () => typeof f; >g : () => typeof f > : ^^^^^^ ->f : () => () => typeof f -> : ^^^^^^^^^^^^ +>f : () => typeof g +> : ^^^^^^ function f1(d: typeof f1) { } >f1 : (d: typeof f1) => void @@ -44,29 +44,29 @@ function f1(d: typeof f1) { } function f2(): typeof g2 { } >f2 : () => typeof g2 > : ^^^^^^ ->g2 : () => () => typeof g2 -> : ^^^^^^^^^^^^ +>g2 : () => typeof f2 +> : ^^^^^^ function g2(): typeof f2 { } >g2 : () => typeof f2 > : ^^^^^^ ->f2 : () => () => typeof f2 -> : ^^^^^^^^^^^^ +>f2 : () => typeof g2 +> : ^^^^^^ interface I { } function f3(): I { return f3; } >f3 : () => I > : ^^^^^^ >f3 : () => I -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >f3 : () => I -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var a: number = f3; // error >a : number > : ^^^^^^ >f3 : () => I -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ class C { >C : C @@ -105,8 +105,8 @@ var f4: () => typeof f4; f4 = 3; // error >f4 = 3 : 3 > : ^ ->f4 : () => any -> : ^^^^^^^^^ +>f4 : () => typeof f4 +> : ^^^^^^ >3 : 3 > : ^ @@ -118,31 +118,31 @@ function f5() { return f5; } function f6(): typeof f6; >f6 : { (): typeof f6; (a: typeof f6): () => number; } -> : ^^^^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >f6 : { (): typeof f6; (a: typeof f6): () => number; } -> : ^^^^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ function f6(a: typeof f6): () => number; >f6 : { (): typeof f6; (a: typeof f6): () => number; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >a : { (): typeof f6; (a: typeof f6): () => number; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >f6 : { (): typeof f6; (a: typeof f6): () => number; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ function f6(a?: any) { return f6; } >f6 : { (): typeof f6; (a: typeof f6): () => number; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >a : any > : ^^^ >f6 : { (): typeof f6; (a: typeof f6): () => number; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ f6("", 3); // error (arity mismatch) >f6("", 3) : { (): typeof f6; (a: typeof f6): () => number; } & (() => number) -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ ^ >f6 : { (): typeof f6; (a: typeof f6): () => number; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >"" : "" > : ^^ >3 : 3 @@ -150,53 +150,53 @@ f6("", 3); // error (arity mismatch) f6(""); // ok (function takes an any param) >f6("") : { (): typeof f6; (a: typeof f6): () => number; } & (() => number) -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ ^ >f6 : { (): typeof f6; (a: typeof f6): () => number; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >"" : "" > : ^^ f6(); // ok >f6() : { (): typeof f6; (a: typeof f6): () => number; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >f6 : { (): typeof f6; (a: typeof f6): () => number; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ declare function f7(): typeof f7; >f7 : { (): typeof f7; (a: typeof f7): () => number; (a: number): number; (a?: typeof f7): typeof f7; } -> : ^^^^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^^ >f7 : { (): typeof f7; (a: typeof f7): () => number; (a: number): number; (a?: typeof f7): typeof f7; } -> : ^^^^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^^ declare function f7(a: typeof f7): () => number; >f7 : { (): typeof f7; (a: typeof f7): () => number; (a: number): number; (a?: typeof f7): typeof f7; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^^ >a : { (): typeof f7; (a: typeof f7): () => number; (a: number): number; (a?: typeof f7): typeof f7; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^^ >f7 : { (): typeof f7; (a: typeof f7): () => number; (a: number): number; (a?: typeof f7): typeof f7; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^^ declare function f7(a: number): number; >f7 : { (): typeof f7; (a: typeof f7): () => number; (a: number): number; (a?: typeof f7): typeof f7; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^^ >a : number > : ^^^^^^ declare function f7(a?: typeof f7): typeof f7; >f7 : { (): typeof f7; (a: typeof f7): () => number; (a: number): number; (a?: typeof f7): typeof f7; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^ ^^^ ^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^^ >a : { (): typeof f7; (a: typeof f7): () => number; (a: number): number; (a?: typeof f7): typeof f7; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^^ >f7 : { (): typeof f7; (a: typeof f7): () => number; (a: number): number; (a?: typeof f7): typeof f7; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^^ >f7 : { (): typeof f7; (a: typeof f7): () => number; (a: number): number; (a?: typeof f7): typeof f7; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^ ^^^ ^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^^ f7("", 3); // error (arity mismatch) >f7("", 3) : { (): typeof f7; (a: typeof f7): () => number; (a: number): number; (a?: typeof f7): typeof f7; } & (() => number) & number -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^ >f7 : { (): typeof f7; (a: typeof f7): () => number; (a: number): number; (a?: typeof f7): typeof f7; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^^ >"" : "" > : ^^ >3 : 3 @@ -204,15 +204,15 @@ f7("", 3); // error (arity mismatch) f7(""); // ok (function takes an any param) >f7("") : { (): typeof f7; (a: typeof f7): () => number; (a: number): number; (a?: typeof f7): typeof f7; } & (() => number) & number -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^ >f7 : { (): typeof f7; (a: typeof f7): () => number; (a: number): number; (a?: typeof f7): typeof f7; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^^ >"" : "" > : ^^ f7(); // ok >f7() : { (): typeof f7; (a: typeof f7): () => number; (a: number): number; (a?: typeof f7): typeof f7; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^^ >f7 : { (): typeof f7; (a: typeof f7): () => number; (a: number): number; (a?: typeof f7): typeof f7; } -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^^ diff --git a/tests/baselines/reference/recursiveGenericMethodCall.types b/tests/baselines/reference/recursiveGenericMethodCall.types index 6621f3dd88a72..93d6a45828b9a 100644 --- a/tests/baselines/reference/recursiveGenericMethodCall.types +++ b/tests/baselines/reference/recursiveGenericMethodCall.types @@ -13,7 +13,7 @@ function Generate(func: Generator): T { >Generate(func) : T > : ^ >Generate : (func: Generator) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >func : Generator > : ^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/recursiveMappedTypes.types b/tests/baselines/reference/recursiveMappedTypes.types index b9724d792d72b..650478677ba83 100644 --- a/tests/baselines/reference/recursiveMappedTypes.types +++ b/tests/baselines/reference/recursiveMappedTypes.types @@ -35,8 +35,8 @@ type tup = [number, number, number, number]; > : ^^^ function foo(arg: Circular): tup { ->foo : (arg: any) => tup -> : ^ ^^^^^^^^^^ +>foo : (arg: Circular) => tup +> : ^ ^^ ^^^^^ >arg : any > : ^^^ diff --git a/tests/baselines/reference/recursiveMods.types b/tests/baselines/reference/recursiveMods.types index 6f20a12a3217b..06cc172732100 100644 --- a/tests/baselines/reference/recursiveMods.types +++ b/tests/baselines/reference/recursiveMods.types @@ -24,7 +24,7 @@ export module Foo { >Bar() : C > : ^ >Bar : () => C -> : ^^^^^^^ +> : ^^^^^^ return new C(); >new C() : C @@ -43,13 +43,13 @@ export module Foo { >Baz() : C > : ^ >Baz : () => C -> : ^^^^^^^ +> : ^^^^^^ return Bar(); >Bar() : C > : ^ >Bar : () => C -> : ^^^^^^^ +> : ^^^^^^ } function Gar() { @@ -62,7 +62,7 @@ export module Foo { >Baz() : C > : ^ >Baz : () => C -> : ^^^^^^^ +> : ^^^^^^ return; } diff --git a/tests/baselines/reference/recursiveReverseMappedType.types b/tests/baselines/reference/recursiveReverseMappedType.types index 5179edf13d6b1..91ceffd4dd0e1 100644 --- a/tests/baselines/reference/recursiveReverseMappedType.types +++ b/tests/baselines/reference/recursiveReverseMappedType.types @@ -39,7 +39,7 @@ function a(l: Recur[]): void { >join(l) : Recur > : ^^^^^^^^ >join : (l: Recur[]) => Recur -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >l : Recur[] > : ^^^^^^^^^^ } diff --git a/tests/baselines/reference/recursiveTupleTypeInference.types b/tests/baselines/reference/recursiveTupleTypeInference.types index d544d09a1c148..1a8f4cc115153 100644 --- a/tests/baselines/reference/recursiveTupleTypeInference.types +++ b/tests/baselines/reference/recursiveTupleTypeInference.types @@ -57,7 +57,7 @@ foo(gK); >foo(gK) : { b: unknown; } > : ^^^^^^^^^^^^^^^ >foo : (g: G) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >gK : { b: A; } > : ^^^^^^^^^ diff --git a/tests/baselines/reference/recursiveTypeAliasWithSpreadConditionalReturnNotCircular.types b/tests/baselines/reference/recursiveTypeAliasWithSpreadConditionalReturnNotCircular.types index 68bebad0e5303..9a56781e125f7 100644 --- a/tests/baselines/reference/recursiveTypeAliasWithSpreadConditionalReturnNotCircular.types +++ b/tests/baselines/reference/recursiveTypeAliasWithSpreadConditionalReturnNotCircular.types @@ -4,20 +4,20 @@ export {} export interface Option { zip1>>(...others: O): Option<[T, ...UnzipOptionArray1]>; ->zip1 : []>(...others: O) => Option<[T, ...UnzipOptionArray1]> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +>zip1 : >>(...others: O) => Option<[T, ...UnzipOptionArray1]> +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >others : O > : ^ zip2>>(...others: O): Option<[T, ...UnzipOptionArray2]>; ->zip2 : []>(...others: O) => Option<[T, ...UnzipOptionArray2]> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +>zip2 : >>(...others: O) => Option<[T, ...UnzipOptionArray2]> +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >others : O > : ^ zip3>>(...others: O): Option<[T, ...UnzipOptionArray3]>; ->zip3 : []>(...others: O) => Option<[T, ...UnzipOptionArray3]> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +>zip3 : >>(...others: O) => Option<[T, ...UnzipOptionArray3]> +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >others : O > : ^ } @@ -57,12 +57,12 @@ const zipped1 = opt1.zip1(opt2, opt3); > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >opt1.zip1(opt2, opt3) : Option<[number, string, boolean]> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->opt1.zip1 : []>(...others: O) => Option<[number, ...UnzipOptionArray1]> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>opt1.zip1 : >>(...others: O) => Option<[number, ...UnzipOptionArray1]> +> : ^^^^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^ ^ >opt1 : Option > : ^^^^^^^^^^^^^^ ->zip1 : []>(...others: O) => Option<[number, ...UnzipOptionArray1]> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>zip1 : >>(...others: O) => Option<[number, ...UnzipOptionArray1]> +> : ^^^^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^ ^ >opt2 : Option > : ^^^^^^^^^^^^^^ >opt3 : Option @@ -73,12 +73,12 @@ const zipped2 = opt1.zip2(opt2, opt3); > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >opt1.zip2(opt2, opt3) : Option<[number, string, boolean]> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->opt1.zip2 : []>(...others: O) => Option<[number, ...UnzipOptionArray2]> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>opt1.zip2 : >>(...others: O) => Option<[number, ...UnzipOptionArray2]> +> : ^^^^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^ ^ >opt1 : Option > : ^^^^^^^^^^^^^^ ->zip2 : []>(...others: O) => Option<[number, ...UnzipOptionArray2]> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>zip2 : >>(...others: O) => Option<[number, ...UnzipOptionArray2]> +> : ^^^^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^ ^ >opt2 : Option > : ^^^^^^^^^^^^^^ >opt3 : Option @@ -89,12 +89,12 @@ const zipped3 = opt1.zip3(opt2, opt3); > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >opt1.zip3(opt2, opt3) : Option<[number, string, boolean]> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->opt1.zip3 : []>(...others: O) => Option<[number, ...UnzipOptionArray3]> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>opt1.zip3 : >>(...others: O) => Option<[number, ...UnzipOptionArray3]> +> : ^^^^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^ ^ >opt1 : Option > : ^^^^^^^^^^^^^^ ->zip3 : []>(...others: O) => Option<[number, ...UnzipOptionArray3]> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>zip3 : >>(...others: O) => Option<[number, ...UnzipOptionArray3]> +> : ^^^^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^ ^ >opt2 : Option > : ^^^^^^^^^^^^^^ >opt3 : Option diff --git a/tests/baselines/reference/recursiveTypeComparison2.types b/tests/baselines/reference/recursiveTypeComparison2.types index 426e072c06351..9f8d4d2de2a60 100644 --- a/tests/baselines/reference/recursiveTypeComparison2.types +++ b/tests/baselines/reference/recursiveTypeComparison2.types @@ -54,7 +54,7 @@ declare module Bacon { >initState : U > : ^ >f : (state: U, event: Event) => StateValue -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >state : U > : ^ >event : Event @@ -119,9 +119,9 @@ var stuck: Bacon.Bus = new Bacon.Bus(); >new Bacon.Bus() : Bacon.Bus > : ^^^^^^^^^^^^^^^^^ >Bacon.Bus : new () => Bacon.Bus -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^^ >Bacon : typeof Bacon > : ^^^^^^^^^^^^ >Bus : new () => Bacon.Bus -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/recursiveTypeReferences1.types b/tests/baselines/reference/recursiveTypeReferences1.types index f8dec34885245..fec88efec2d07 100644 --- a/tests/baselines/reference/recursiveTypeReferences1.types +++ b/tests/baselines/reference/recursiveTypeReferences1.types @@ -315,8 +315,8 @@ declare function flat2(a: Array>>): Array; flat([1, [2, [3]]]); // number[] >flat([1, [2, [3]]]) : number[] > : ^^^^^^^^ ->flat : (a: RecArray) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +>flat : (a: RecArray) => Array +> : ^ ^^ ^^ ^^^^^ >[1, [2, [3]]] : (number | (number | number[])[])[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >1 : 1 @@ -333,8 +333,8 @@ flat([1, [2, [3]]]); // number[] flat([[[0]]]); // number[] >flat([[[0]]]) : number[] > : ^^^^^^^^ ->flat : (a: RecArray) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +>flat : (a: RecArray) => Array +> : ^ ^^ ^^ ^^^^^ >[[[0]]] : number[][][] > : ^^^^^^^^^^^^ >[[0]] : number[][] @@ -347,8 +347,8 @@ flat([[[0]]]); // number[] flat([[[[[[[[[[[4]]]]]]]]]]]); // number[] >flat([[[[[[[[[[[4]]]]]]]]]]]) : number[] > : ^^^^^^^^ ->flat : (a: RecArray) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +>flat : (a: RecArray) => Array +> : ^ ^^ ^^ ^^^^^ >[[[[[[[[[[[4]]]]]]]]]]] : number[][][][][][][][][][][] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >[[[[[[[[[[4]]]]]]]]]] : number[][][][][][][][][][] @@ -377,8 +377,8 @@ flat([[[[[[[[[[[4]]]]]]]]]]]); // number[] flat([1, 'a', [2]]); // (string | number)[] >flat([1, 'a', [2]]) : (string | number)[] > : ^^^^^^^^^^^^^^^^^^^ ->flat : (a: RecArray) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +>flat : (a: RecArray) => Array +> : ^ ^^ ^^ ^^^^^ >[1, 'a', [2]] : (string | number | number[])[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >1 : 1 @@ -393,8 +393,8 @@ flat([1, 'a', [2]]); // (string | number)[] flat([1, [2, 'a']]); // (string | number)[] >flat([1, [2, 'a']]) : (string | number)[] > : ^^^^^^^^^^^^^^^^^^^ ->flat : (a: RecArray) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +>flat : (a: RecArray) => Array +> : ^ ^^ ^^ ^^^^^ >[1, [2, 'a']] : (number | (string | number)[])[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >1 : 1 @@ -409,8 +409,8 @@ flat([1, [2, 'a']]); // (string | number)[] flat([1, ['a']]); // Error >flat([1, ['a']]) : string[] > : ^^^^^^^^ ->flat : (a: RecArray) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +>flat : (a: RecArray) => Array +> : ^ ^^ ^^ ^^^^^ >[1, ['a']] : (number | string[])[] > : ^^^^^^^^^^^^^^^^^^^^^ >1 : 1 @@ -423,8 +423,8 @@ flat([1, ['a']]); // Error flat1([1, [2, [3]]]); // (number | number[])[] >flat1([1, [2, [3]]]) : (number | number[])[] > : ^^^^^^^^^^^^^^^^^^^^^ ->flat1 : (a: Array>) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +>flat1 : (a: Array>) => Array +> : ^ ^^ ^^ ^^^^^ >[1, [2, [3]]] : (number | (number | number[])[])[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >1 : 1 @@ -441,8 +441,8 @@ flat1([1, [2, [3]]]); // (number | number[])[] flat1([[[0]]]); // number[][] >flat1([[[0]]]) : number[][] > : ^^^^^^^^^^ ->flat1 : (a: Array>) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +>flat1 : (a: Array>) => Array +> : ^ ^^ ^^ ^^^^^ >[[[0]]] : number[][][] > : ^^^^^^^^^^^^ >[[0]] : number[][] @@ -455,8 +455,8 @@ flat1([[[0]]]); // number[][] flat1([1, 'a', [2]]); // (string | number)[] >flat1([1, 'a', [2]]) : (string | number)[] > : ^^^^^^^^^^^^^^^^^^^ ->flat1 : (a: Array>) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +>flat1 : (a: Array>) => Array +> : ^ ^^ ^^ ^^^^^ >[1, 'a', [2]] : (string | number | number[])[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >1 : 1 @@ -471,8 +471,8 @@ flat1([1, 'a', [2]]); // (string | number)[] flat1([1, [2, 'a']]); // (string | number)[] >flat1([1, [2, 'a']]) : (string | number)[] > : ^^^^^^^^^^^^^^^^^^^ ->flat1 : (a: Array>) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +>flat1 : (a: Array>) => Array +> : ^ ^^ ^^ ^^^^^ >[1, [2, 'a']] : (number | (string | number)[])[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >1 : 1 @@ -487,8 +487,8 @@ flat1([1, [2, 'a']]); // (string | number)[] flat1([1, ['a']]); // Error >flat1([1, ['a']]) : string[] > : ^^^^^^^^ ->flat1 : (a: Array>) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +>flat1 : (a: Array>) => Array +> : ^ ^^ ^^ ^^^^^ >[1, ['a']] : (number | string[])[] > : ^^^^^^^^^^^^^^^^^^^^^ >1 : 1 @@ -501,8 +501,8 @@ flat1([1, ['a']]); // Error flat2([1, [2, [3]]]); // number[] >flat2([1, [2, [3]]]) : number[] > : ^^^^^^^^ ->flat2 : (a: Array>>) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +>flat2 : (a: Array>>) => Array +> : ^ ^^ ^^ ^^^^^ >[1, [2, [3]]] : (number | (number | number[])[])[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >1 : 1 @@ -519,8 +519,8 @@ flat2([1, [2, [3]]]); // number[] flat2([[[0]]]); // number[] >flat2([[[0]]]) : number[] > : ^^^^^^^^ ->flat2 : (a: Array>>) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +>flat2 : (a: Array>>) => Array +> : ^ ^^ ^^ ^^^^^ >[[[0]]] : number[][][] > : ^^^^^^^^^^^^ >[[0]] : number[][] @@ -533,8 +533,8 @@ flat2([[[0]]]); // number[] flat2([1, 'a', [2]]); // (string | number)[] >flat2([1, 'a', [2]]) : (string | number)[] > : ^^^^^^^^^^^^^^^^^^^ ->flat2 : (a: Array>>) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +>flat2 : (a: Array>>) => Array +> : ^ ^^ ^^ ^^^^^ >[1, 'a', [2]] : (string | number | number[])[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >1 : 1 @@ -549,8 +549,8 @@ flat2([1, 'a', [2]]); // (string | number)[] flat2([1, [2, 'a']]); // (string | number)[] >flat2([1, [2, 'a']]) : (string | number)[] > : ^^^^^^^^^^^^^^^^^^^ ->flat2 : (a: Array>>) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +>flat2 : (a: Array>>) => Array +> : ^ ^^ ^^ ^^^^^ >[1, [2, 'a']] : (number | (string | number)[])[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >1 : 1 @@ -565,8 +565,8 @@ flat2([1, [2, 'a']]); // (string | number)[] flat2([1, ['a']]); // Error >flat2([1, ['a']]) : string[] > : ^^^^^^^^ ->flat2 : (a: Array>>) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +>flat2 : (a: Array>>) => Array +> : ^ ^^ ^^ ^^^^^ >[1, ['a']] : (number | string[])[] > : ^^^^^^^^^^^^^^^^^^^^^ >1 : 1 @@ -626,7 +626,7 @@ let x1 = foo1(ra1); // Boom! >foo1(ra1) : string > : ^^^^^^ >foo1 : (a: ValueOrArray1) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >ra1 : ValueOrArray2 > : ^^^^^^^^^^^^^^^^^^^^^ @@ -654,7 +654,7 @@ let x2 = foo2(ra2); // Boom! >foo2(ra2) : string > : ^^^^^^ >foo2 : (a: ValueOrArray1) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >ra2 : ValueOrArray2 > : ^^^^^^^^^^^^^^^^^^^^^ @@ -684,11 +684,11 @@ function parse(node: Tree, index: number[] = []): HTMLUListElement { >node.map(([el, children], i) => { const idx = [...index, i + 1]; return html('li', [ html('a', { href: `#${el.id}`, rel: 'noopener', 'data-index': idx.join('.') }, el.textContent!), children.length > 0 ? parse(children, idx) : frag() ]); }) : any[] > : ^^^^^ >node.map : (callbackfn: (value: [HTMLHeadingElement, Tree], index: number, array: [HTMLHeadingElement, Tree][]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >node : Tree > : ^^^^ >map : (callbackfn: (value: [HTMLHeadingElement, Tree], index: number, array: [HTMLHeadingElement, Tree][]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >([el, children], i) => { const idx = [...index, i + 1]; return html('li', [ html('a', { href: `#${el.id}`, rel: 'noopener', 'data-index': idx.join('.') }, el.textContent!), children.length > 0 ? parse(children, idx) : frag() ]); } : ([el, children]: [HTMLHeadingElement, Tree], i: number) => any > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ >el : HTMLHeadingElement @@ -752,11 +752,11 @@ function parse(node: Tree, index: number[] = []): HTMLUListElement { >idx.join('.') : string > : ^^^^^^ >idx.join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >idx : number[] > : ^^^^^^^^ >join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >'.' : "." > : ^^^ >el.textContent! : string @@ -784,7 +784,7 @@ function parse(node: Tree, index: number[] = []): HTMLUListElement { >parse(children, idx) : HTMLUListElement > : ^^^^^^^^^^^^^^^^ >parse : (node: Tree, index?: number[]) => HTMLUListElement -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >children : Tree > : ^^^^ >idx : number[] @@ -834,11 +834,11 @@ function cons(hs: HTMLHeadingElement[]): Tree { >hss.pop() : HTMLHeadingElement[] | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >hss.pop : () => HTMLHeadingElement[] | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >hss : HTMLHeadingElement[][] > : ^^^^^^^^^^^^^^^^^^^^^^ >pop : () => HTMLHeadingElement[] | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ return hs.length === 0 || level(h) > level(hs[0]) >hs.length === 0 || level(h) > level(hs[0]) ? concat(hss, [concat(hs, [h])]) : concat(hss, [hs, [h]]) : any @@ -860,13 +860,13 @@ function cons(hs: HTMLHeadingElement[]): Tree { >level(h) : number > : ^^^^^^ >level : (h: HTMLHeadingElement) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >h : HTMLHeadingElement > : ^^^^^^^^^^^^^^^^^^ >level(hs[0]) : number > : ^^^^^^ >level : (h: HTMLHeadingElement) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >hs[0] : HTMLHeadingElement > : ^^^^^^^^^^^^^^^^^^ >hs : HTMLHeadingElement[] @@ -960,15 +960,15 @@ function cons(hs: HTMLHeadingElement[]): Tree { >hs.shift() : HTMLHeadingElement | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >hs.shift : () => HTMLHeadingElement | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^ >hs : HTMLHeadingElement[] > : ^^^^^^^^^^^^^^^^^^^^ >shift : () => HTMLHeadingElement | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^ >cons(hs) : Tree > : ^^^^ >cons : (hs: HTMLHeadingElement[]) => Tree -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >hs : HTMLHeadingElement[] > : ^^^^^^^^^^^^^^^^^^^^ @@ -991,7 +991,7 @@ function level(h: HTMLHeadingElement): number { >isFinite(+h.tagName[1]) : boolean > : ^^^^^^^ >isFinite : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >+h.tagName[1] : number > : ^^^^^^ >h.tagName[1] : string diff --git a/tests/baselines/reference/recursiveTypeReferences2.types b/tests/baselines/reference/recursiveTypeReferences2.types index f46929b4cb71b..1edbf9be6ff01 100644 --- a/tests/baselines/reference/recursiveTypeReferences2.types +++ b/tests/baselines/reference/recursiveTypeReferences2.types @@ -27,7 +27,7 @@ /** @type {XMLObject<{foo:string}>} */ const p = {}; >p : XMLObject<{ foo: string; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^^^ >{} : {} > : ^^ diff --git a/tests/baselines/reference/recursiveTypeRelations.types b/tests/baselines/reference/recursiveTypeRelations.types index 1585073398dc8..da64c92c5de1e 100644 --- a/tests/baselines/reference/recursiveTypeRelations.types +++ b/tests/baselines/reference/recursiveTypeRelations.types @@ -16,7 +16,7 @@ class Query> { multiply>(x: B): Query; >multiply : >(x: B) => Query -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : B > : ^ } @@ -41,7 +41,7 @@ type ClassNameArg = ClassName | ClassNameObjectMap; export function css(styles: S, ...classNames: ClassNameArg[]): string { >css : (styles: S, ...classNames: ClassNameArg[]) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >styles : S > : ^ >classNames : ClassNameArg[] @@ -53,11 +53,11 @@ export function css(styles: S, ...classNam >classNames.map(arg => { if (arg == null) { return null; } if (typeof arg == "string") { return styles[arg]; } if (typeof arg == "object") { return Object.keys(arg).reduce((obj: ClassNameObject, key: keyof S) => { const exportedClassName = styles[key]; obj[exportedClassName] = (arg as ClassNameMap)[key]; return obj; }, {}); } }) : string[] > : ^^^^^^^^ >classNames.map : (callbackfn: (value: ClassNameArg, index: number, array: ClassNameArg[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >classNames : ClassNameArg[] > : ^^^^^^^^^^^^^^^^^ >map : (callbackfn: (value: ClassNameArg, index: number, array: ClassNameArg[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >arg => { if (arg == null) { return null; } if (typeof arg == "string") { return styles[arg]; } if (typeof arg == "object") { return Object.keys(arg).reduce((obj: ClassNameObject, key: keyof S) => { const exportedClassName = styles[key]; obj[exportedClassName] = (arg as ClassNameMap)[key]; return obj; }, {}); } } : (arg: ClassNameArg) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >arg : ClassNameArg @@ -107,17 +107,17 @@ export function css(styles: S, ...classNam >Object.keys(arg) : string[] > : ^^^^^^^^ >Object.keys : (o: object) => string[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >keys : (o: object) => string[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >arg : ClassNameObjectMap > : ^^^^^^^^^^^^^^^^^^^^^ >reduce : { (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string): string; (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string, initialValue: string): string; (callbackfn: (previousValue: U, currentValue: string, currentIndex: number, array: string[]) => U, initialValue: U): U; } > : ^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ >(obj: ClassNameObject, key: keyof S) => { const exportedClassName = styles[key]; obj[exportedClassName] = (arg as ClassNameMap)[key]; return obj; } : (obj: ClassNameObject, key: keyof S) => ClassNameObject -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ >obj : ClassNameObject > : ^^^^^^^^^^^^^^^ >key : keyof S diff --git a/tests/baselines/reference/recursiveTypesUsedAsFunctionParameters.types b/tests/baselines/reference/recursiveTypesUsedAsFunctionParameters.types index 23fffabdb60a4..fcc84bfafdf25 100644 --- a/tests/baselines/reference/recursiveTypesUsedAsFunctionParameters.types +++ b/tests/baselines/reference/recursiveTypesUsedAsFunctionParameters.types @@ -66,7 +66,7 @@ function foo2(x: any) { function other, U>() { >other : , U>() => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^^^^^^^ // error but wrong error // BUG 838247 @@ -98,26 +98,26 @@ function other, U>() { // ok function foo5(x: T): string; ->foo5 : { (x: T): string; (x: List): number; (x: MyList): boolean; } -> : ^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +>foo5 : { (x: T): string; (x: List): number; (x: MyList): boolean; } +> : ^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ function foo5(x: List): number; ->foo5 : { (x: T): string; (x: List): number; (x: MyList): boolean; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^ +>foo5 : { (x: T): string; (x: List): number; (x: MyList): boolean; } +> : ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >x : List > : ^^^^^^^ function foo5(x: MyList): boolean; ->foo5 : { (x: T): string; (x: List): number; (x: MyList): boolean; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ +>foo5 : { (x: T): string; (x: List): number; (x: MyList): boolean; } +> : ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >x : MyList > : ^^^^^^^^^ function foo5(x: any): any { return null; } ->foo5 : { (x: T): string; (x: List): number; (x: MyList): boolean; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +>foo5 : { (x: T): string; (x: List): number; (x: MyList): boolean; } +> : ^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >x : any var list: List; @@ -133,8 +133,8 @@ function other, U>() { > : ^^^^^^ >foo5(list) : number > : ^^^^^^ ->foo5 : { (x: T): string; (x: List): number; (x: MyList): boolean; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +>foo5 : { (x: T): string; (x: List): number; (x: MyList): boolean; } +> : ^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >list : List > : ^^^^^^^^^^^^ @@ -143,8 +143,8 @@ function other, U>() { > : ^^^^^^ >foo5(myList) : number > : ^^^^^^ ->foo5 : { (x: T): string; (x: List): number; (x: MyList): boolean; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +>foo5 : { (x: T): string; (x: List): number; (x: MyList): boolean; } +> : ^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >myList : MyList > : ^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/recursiveTypesWithTypeof.types b/tests/baselines/reference/recursiveTypesWithTypeof.types index 07e0e7edbc17b..1844734733878 100644 --- a/tests/baselines/reference/recursiveTypesWithTypeof.types +++ b/tests/baselines/reference/recursiveTypesWithTypeof.types @@ -70,18 +70,18 @@ var g: { x: typeof g; }; > : ^^^^^ ^^^ >x : { x: typeof g; } > : ^^^^^ ^^^ ->g : { x: any; } -> : ^^^^^^^^^^^ +>g : { x: typeof g; } +> : ^^^^^ ^^^ var g: typeof g.x; ->g : { x: any; } -> : ^^^^^^^^^^^ ->g.x : { x: any; } -> : ^^^^^^^^^^^ ->g : { x: any; } -> : ^^^^^^^^^^^ ->x : { x: any; } -> : ^^^^^^^^^^^ +>g : { x: typeof g; } +> : ^^^^^ ^^^ +>g.x : { x: typeof g; } +> : ^^^^^ ^^^ +>g : { x: typeof g; } +> : ^^^^^ ^^^ +>x : { x: typeof g; } +> : ^^^^^ ^^^ var h: () => typeof h; >h : () => typeof h @@ -90,50 +90,50 @@ var h: () => typeof h; > : ^^^^^^ var h = h(); ->h : () => any -> : ^^^^^^^^^ ->h() : () => any -> : ^^^^^^^^^ ->h : () => any -> : ^^^^^^^^^ +>h : () => typeof h +> : ^^^^^^ +>h() : () => typeof h +> : ^^^^^^ +>h : () => typeof h +> : ^^^^^^ var i: (x: typeof i) => typeof x; >i : (x: typeof i) => typeof x > : ^ ^^ ^^^^^ ->x : (x: typeof i) => any -> : ^ ^^ ^^^^^^^^ ->i : (x: typeof i) => any -> : ^ ^^ ^^^^^^^^ +>x : (x: typeof i) => typeof x +> : ^ ^^ ^^^^^ +>i : (x: typeof i) => typeof x +> : ^ ^^ ^^^^^ >x : (x: typeof i) => typeof x > : ^ ^^ ^^^^^ var i = i(i); ->i : (x: typeof i) => any -> : ^ ^^ ^^^^^^^^ ->i(i) : (x: typeof i) => any -> : ^ ^^ ^^^^^^^^ ->i : (x: typeof i) => any -> : ^ ^^ ^^^^^^^^ ->i : (x: typeof i) => any -> : ^ ^^ ^^^^^^^^ +>i : (x: typeof i) => typeof x +> : ^ ^^ ^^^^^ +>i(i) : (x: typeof i) => typeof x +> : ^ ^^ ^^^^^ +>i : (x: typeof i) => typeof x +> : ^ ^^ ^^^^^ +>i : (x: typeof i) => typeof x +> : ^ ^^ ^^^^^ var j: (x: T) => T; ->j : (x: T) => T -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ->j : (x: T) => T -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^^ +>j : (x: T) => T +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ +>j : (x: T) => T +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : T > : ^ var j = j(j); ->j : (x: T) => T -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^^ ->j(j) : (x: T) => T -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^^ ->j : (x: T) => T -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^^ ->j : (x: T) => T -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^^ +>j : (x: T) => T +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ +>j(j) : (x: T) => T +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ +>j : (x: T) => T +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ +>j : (x: T) => T +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ // Same as h, i, j with construct signatures var h2: new () => typeof h2; @@ -143,50 +143,50 @@ var h2: new () => typeof h2; > : ^^^^^^^^^^ var h2 = new h2(); ->h2 : new () => any -> : ^^^^^^^^^^^^^ ->new h2() : new () => any -> : ^^^^^^^^^^^^^ ->h2 : new () => any -> : ^^^^^^^^^^^^^ +>h2 : new () => typeof h2 +> : ^^^^^^^^^^ +>new h2() : new () => typeof h2 +> : ^^^^^^^^^^ +>h2 : new () => typeof h2 +> : ^^^^^^^^^^ var i2: new (x: typeof i2) => typeof x; >i2 : new (x: typeof i2) => typeof x > : ^^^^^ ^^ ^^^^^ ->x : new (x: typeof i2) => any -> : ^^^^^ ^^ ^^^^^^^^ ->i2 : new (x: typeof i2) => any -> : ^^^^^ ^^ ^^^^^^^^ +>x : new (x: typeof i2) => typeof x +> : ^^^^^ ^^ ^^^^^ +>i2 : new (x: typeof i2) => typeof x +> : ^^^^^ ^^ ^^^^^ >x : new (x: typeof i2) => typeof x > : ^^^^^ ^^ ^^^^^ var i2 = new i2(i2); ->i2 : new (x: typeof i2) => any -> : ^^^^^ ^^ ^^^^^^^^ ->new i2(i2) : new (x: typeof i2) => any -> : ^^^^^ ^^ ^^^^^^^^ ->i2 : new (x: typeof i2) => any -> : ^^^^^ ^^ ^^^^^^^^ ->i2 : new (x: typeof i2) => any -> : ^^^^^ ^^ ^^^^^^^^ +>i2 : new (x: typeof i2) => typeof x +> : ^^^^^ ^^ ^^^^^ +>new i2(i2) : new (x: typeof i2) => typeof x +> : ^^^^^ ^^ ^^^^^ +>i2 : new (x: typeof i2) => typeof x +> : ^^^^^ ^^ ^^^^^ +>i2 : new (x: typeof i2) => typeof x +> : ^^^^^ ^^ ^^^^^ var j2: new (x: T) => T; ->j2 : new (x: T) => T -> : ^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ->j2 : new (x: T) => T -> : ^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^ +>j2 : new (x: T) => T +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ +>j2 : new (x: T) => T +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : T > : ^ var j2 = new j2(j2); ->j2 : new (x: T) => T -> : ^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^ ->new j2(j2) : new (x: T) => T -> : ^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^ ->j2 : new (x: T) => T -> : ^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^ ->j2 : new (x: T) => T -> : ^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^ +>j2 : new (x: T) => T +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ +>new j2(j2) : new (x: T) => T +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ +>j2 : new (x: T) => T +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ +>j2 : new (x: T) => T +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ // Indexers var k: { [n: number]: typeof k;[s: string]: typeof k }; @@ -228,42 +228,42 @@ var hy1: { x: typeof hy1 }[]; > : ^^^^^ ^^^^^ >x : { x: typeof hy1; }[] > : ^^^^^ ^^^^^ ->hy1 : { x: any[]; }[] -> : ^^^^^^^^^^^^^^^ +>hy1 : { x: typeof hy1; }[] +> : ^^^^^ ^^^^^ var hy1 = hy1[0].x; ->hy1 : { x: any[]; }[] -> : ^^^^^^^^^^^^^^^ ->hy1[0].x : { x: any[]; }[] -> : ^^^^^^^^^^^^^^^ ->hy1[0] : { x: any[]; } -> : ^^^^^^^^^^^^^ ->hy1 : { x: any[]; }[] -> : ^^^^^^^^^^^^^^^ +>hy1 : { x: typeof hy1; }[] +> : ^^^^^ ^^^^^ +>hy1[0].x : { x: typeof hy1; }[] +> : ^^^^^ ^^^^^ +>hy1[0] : { x: typeof hy1; } +> : ^^^^^ ^^^ +>hy1 : { x: typeof hy1; }[] +> : ^^^^^ ^^^^^ >0 : 0 > : ^ ->x : { x: any[]; }[] -> : ^^^^^^^^^^^^^^^ +>x : { x: typeof hy1; }[] +> : ^^^^^ ^^^^^ var hy2: { x: Array }; >hy2 : { x: Array; } > : ^^^^^ ^^^ >x : { x: Array; }[] > : ^^^^^ ^^^^^ ->hy2 : { x: any[]; } -> : ^^^^^^^^^^^^^ +>hy2 : { x: Array; } +> : ^^^^^ ^^^ var hy2 = hy2.x[0]; ->hy2 : { x: any[]; } -> : ^^^^^^^^^^^^^ ->hy2.x[0] : { x: any[]; } -> : ^^^^^^^^^^^^^ ->hy2.x : { x: any[]; }[] -> : ^^^^^^^^^^^^^^^ ->hy2 : { x: any[]; } -> : ^^^^^^^^^^^^^ ->x : { x: any[]; }[] -> : ^^^^^^^^^^^^^^^ +>hy2 : { x: Array; } +> : ^^^^^ ^^^ +>hy2.x[0] : { x: Array; } +> : ^^^^^ ^^^ +>hy2.x : { x: Array; }[] +> : ^^^^^ ^^^^^ +>hy2 : { x: Array; } +> : ^^^^^ ^^^ +>x : { x: Array; }[] +> : ^^^^^ ^^^^^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/recursiveUnionTypeInference.types b/tests/baselines/reference/recursiveUnionTypeInference.types index d6dd8845b7c4e..1977b1abd1cea 100644 --- a/tests/baselines/reference/recursiveUnionTypeInference.types +++ b/tests/baselines/reference/recursiveUnionTypeInference.types @@ -17,7 +17,7 @@ function bar(x: Foo | string): T { >bar(x) : T > : ^ >bar : (x: Foo | string) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : string | Foo > : ^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/redeclarationOfVarWithGenericType.types b/tests/baselines/reference/redeclarationOfVarWithGenericType.types index 944e078187ae2..f8cd9851ee6af 100644 --- a/tests/baselines/reference/redeclarationOfVarWithGenericType.types +++ b/tests/baselines/reference/redeclarationOfVarWithGenericType.types @@ -11,7 +11,7 @@ var a1: { fn(x: T): T }; var a1: { fn(x: T): T }; >a1 : { fn(x: T): T; } -> : ^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^ ^^^ >fn : (x: T) => T > : ^ ^^ ^^ ^^^^^ >x : T diff --git a/tests/baselines/reference/reducibleIndexedAccessTypes.types b/tests/baselines/reference/reducibleIndexedAccessTypes.types index bd13dedb1855a..0ac4ffbdc3e81 100644 --- a/tests/baselines/reference/reducibleIndexedAccessTypes.types +++ b/tests/baselines/reference/reducibleIndexedAccessTypes.types @@ -106,11 +106,11 @@ const payloads2: MappedPayload2 = { >console.log(data) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >data : string > : ^^^^^^ } diff --git a/tests/baselines/reference/reexportedMissingAlias.errors.txt b/tests/baselines/reference/reexportedMissingAlias.errors.txt index 4f74ea345dc92..19a81f5a6d333 100644 --- a/tests/baselines/reference/reexportedMissingAlias.errors.txt +++ b/tests/baselines/reference/reexportedMissingAlias.errors.txt @@ -1,12 +1,9 @@ -second.d.ts(1,27): error TS2304: Cannot find name 'CompletelyMissing'. second.d.ts(1,27): error TS2503: Cannot find namespace 'CompletelyMissing'. -==== second.d.ts (2 errors) ==== +==== second.d.ts (1 errors) ==== export import Component = CompletelyMissing; ~~~~~~~~~~~~~~~~~ -!!! error TS2304: Cannot find name 'CompletelyMissing'. - ~~~~~~~~~~~~~~~~~ !!! error TS2503: Cannot find namespace 'CompletelyMissing'. ==== first.d.ts (0 errors) ==== import * as Second from './second'; diff --git a/tests/baselines/reference/referenceSatisfiesExpression.types b/tests/baselines/reference/referenceSatisfiesExpression.types index 9c74de8c52996..1d0fb0b0dffd8 100644 --- a/tests/baselines/reference/referenceSatisfiesExpression.types +++ b/tests/baselines/reference/referenceSatisfiesExpression.types @@ -135,11 +135,11 @@ for ((g satisfies number) of [10]) { >console.log(g) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >g : number > : ^^^^^^ } @@ -168,11 +168,11 @@ for ((x satisfies string) in { a: 10 }) { >console.log(x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : string > : ^^^^^^ } diff --git a/tests/baselines/reference/referenceTypesPreferedToPathIfPossible.types b/tests/baselines/reference/referenceTypesPreferedToPathIfPossible.types index 0605272aced84..38494113a2a37 100644 --- a/tests/baselines/reference/referenceTypesPreferedToPathIfPossible.types +++ b/tests/baselines/reference/referenceTypesPreferedToPathIfPossible.types @@ -3,7 +3,7 @@ === usage.ts === import { parse } from "url"; >parse : () => import("url").Url -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^ ^^^ export const thing = () => parse(); >thing : () => import("url").Url @@ -13,7 +13,7 @@ export const thing = () => parse(); >parse() : import("url").Url > : ^^^^^^^^^^^^^^^^^ >parse : () => import("url").Url -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^ ^^^ === node_modules/@types/node/index.d.ts === declare module "url" { diff --git a/tests/baselines/reference/regExpWithSlashInCharClass.types b/tests/baselines/reference/regExpWithSlashInCharClass.types index 89bbeca7cb621..64c20b5182766 100644 --- a/tests/baselines/reference/regExpWithSlashInCharClass.types +++ b/tests/baselines/reference/regExpWithSlashInCharClass.types @@ -7,11 +7,11 @@ var foo1 = "a/".replace(/.[/]/, ""); >"a/".replace(/.[/]/, "") : string > : ^^^^^^ >"a/".replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >"a/" : "a/" > : ^^^^ >replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >/.[/]/ : RegExp > : ^^^^^^ >"" : "" @@ -23,11 +23,11 @@ var foo2 = "a//".replace(/.[//]/g, ""); >"a//".replace(/.[//]/g, "") : string > : ^^^^^^ >"a//".replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >"a//" : "a//" > : ^^^^^ >replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >/.[//]/g : RegExp > : ^^^^^^ >"" : "" @@ -39,11 +39,11 @@ var foo3 = "a/".replace(/.[/no sleep /till/]/, "bugfix"); >"a/".replace(/.[/no sleep /till/]/, "bugfix") : string > : ^^^^^^ >"a/".replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >"a/" : "a/" > : ^^^^ >replace : { (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >/.[/no sleep /till/]/ : RegExp > : ^^^^^^ >"bugfix" : "bugfix" diff --git a/tests/baselines/reference/regexMatchAll-esnext.types b/tests/baselines/reference/regexMatchAll-esnext.types index 13c2b3b1572af..e8048eb9db3a4 100644 --- a/tests/baselines/reference/regexMatchAll-esnext.types +++ b/tests/baselines/reference/regexMatchAll-esnext.types @@ -7,7 +7,7 @@ const matches = /\w/g[Symbol.matchAll]("matchAll"); >/\w/g[Symbol.matchAll]("matchAll") : IterableIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >/\w/g[Symbol.matchAll] : (str: string) => IterableIterator -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >/\w/g : RegExp > : ^^^^^^ >Symbol.matchAll : unique symbol diff --git a/tests/baselines/reference/regexMatchAll.types b/tests/baselines/reference/regexMatchAll.types index 59bd4d730a162..acfc292ace79f 100644 --- a/tests/baselines/reference/regexMatchAll.types +++ b/tests/baselines/reference/regexMatchAll.types @@ -7,7 +7,7 @@ const matches = /\w/g[Symbol.matchAll]("matchAll"); >/\w/g[Symbol.matchAll]("matchAll") : IterableIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >/\w/g[Symbol.matchAll] : (str: string) => IterableIterator -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >/\w/g : RegExp > : ^^^^^^ >Symbol.matchAll : unique symbol diff --git a/tests/baselines/reference/regexpExecAndMatchTypeUsages(strict=false).types b/tests/baselines/reference/regexpExecAndMatchTypeUsages(strict=false).types index 436f9bd0bfd6e..cf6673a5ed5ea 100644 --- a/tests/baselines/reference/regexpExecAndMatchTypeUsages(strict=false).types +++ b/tests/baselines/reference/regexpExecAndMatchTypeUsages(strict=false).types @@ -165,11 +165,11 @@ export function foo(matchResult: RegExpMatchArray, execResult: RegExpExecArray) >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ matchResult = execResult; >matchResult = execResult : RegExpExecArray diff --git a/tests/baselines/reference/regexpExecAndMatchTypeUsages(strict=true).types b/tests/baselines/reference/regexpExecAndMatchTypeUsages(strict=true).types index 81455769f5f50..21c3abcc70570 100644 --- a/tests/baselines/reference/regexpExecAndMatchTypeUsages(strict=true).types +++ b/tests/baselines/reference/regexpExecAndMatchTypeUsages(strict=true).types @@ -165,11 +165,11 @@ export function foo(matchResult: RegExpMatchArray, execResult: RegExpExecArray) >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ matchResult = execResult; >matchResult = execResult : RegExpExecArray diff --git a/tests/baselines/reference/regularExpressionAnnexB.errors.txt b/tests/baselines/reference/regularExpressionAnnexB.errors.txt new file mode 100644 index 0000000000000..f08ceaf89590a --- /dev/null +++ b/tests/baselines/reference/regularExpressionAnnexB.errors.txt @@ -0,0 +1,269 @@ +regularExpressionAnnexB.ts(2,8): error TS1125: Hexadecimal digit expected. +regularExpressionAnnexB.ts(2,22): error TS1125: Hexadecimal digit expected. +regularExpressionAnnexB.ts(2,28): error TS1125: Hexadecimal digit expected. +regularExpressionAnnexB.ts(3,9): error TS1125: Hexadecimal digit expected. +regularExpressionAnnexB.ts(3,23): error TS1125: Hexadecimal digit expected. +regularExpressionAnnexB.ts(3,29): error TS1125: Hexadecimal digit expected. +regularExpressionAnnexB.ts(7,4): error TS1535: This character cannot be escaped in a regular expression. +regularExpressionAnnexB.ts(7,8): error TS1125: Hexadecimal digit expected. +regularExpressionAnnexB.ts(7,10): error TS1512: '\c' must be followed by an ASCII letter. +regularExpressionAnnexB.ts(7,12): error TS1510: '\k' must be followed by a capturing group name enclosed in angle brackets. +regularExpressionAnnexB.ts(7,14): error TS1535: This character cannot be escaped in a regular expression. +regularExpressionAnnexB.ts(7,18): error TS1535: This character cannot be escaped in a regular expression. +regularExpressionAnnexB.ts(7,22): error TS1125: Hexadecimal digit expected. +regularExpressionAnnexB.ts(7,24): error TS1535: This character cannot be escaped in a regular expression. +regularExpressionAnnexB.ts(7,28): error TS1125: Hexadecimal digit expected. +regularExpressionAnnexB.ts(7,30): error TS1531: '\p' must be followed by a Unicode property value expression enclosed in braces. +regularExpressionAnnexB.ts(8,5): error TS1535: This character cannot be escaped in a regular expression. +regularExpressionAnnexB.ts(8,9): error TS1125: Hexadecimal digit expected. +regularExpressionAnnexB.ts(8,11): error TS1512: '\c' must be followed by an ASCII letter. +regularExpressionAnnexB.ts(8,13): error TS1535: This character cannot be escaped in a regular expression. +regularExpressionAnnexB.ts(8,15): error TS1535: This character cannot be escaped in a regular expression. +regularExpressionAnnexB.ts(8,19): error TS1535: This character cannot be escaped in a regular expression. +regularExpressionAnnexB.ts(8,23): error TS1125: Hexadecimal digit expected. +regularExpressionAnnexB.ts(8,25): error TS1535: This character cannot be escaped in a regular expression. +regularExpressionAnnexB.ts(8,29): error TS1125: Hexadecimal digit expected. +regularExpressionAnnexB.ts(8,31): error TS1531: '\p' must be followed by a Unicode property value expression enclosed in braces. +regularExpressionAnnexB.ts(9,4): error TS1531: '\P' must be followed by a Unicode property value expression enclosed in braces. +regularExpressionAnnexB.ts(9,7): error TS1531: '\P' must be followed by a Unicode property value expression enclosed in braces. +regularExpressionAnnexB.ts(9,9): error TS1516: A character class range must not be bounded by another character class. +regularExpressionAnnexB.ts(23,4): error TS1507: There is nothing available for repetition. +regularExpressionAnnexB.ts(23,8): error TS1507: There is nothing available for repetition. +regularExpressionAnnexB.ts(24,4): error TS1507: There is nothing available for repetition. +regularExpressionAnnexB.ts(24,9): error TS1507: There is nothing available for repetition. +regularExpressionAnnexB.ts(25,4): error TS1507: There is nothing available for repetition. +regularExpressionAnnexB.ts(25,10): error TS1507: There is nothing available for repetition. +regularExpressionAnnexB.ts(26,4): error TS1507: There is nothing available for repetition. +regularExpressionAnnexB.ts(26,5): error TS1506: Numbers out of order in quantifier. +regularExpressionAnnexB.ts(26,10): error TS1507: There is nothing available for repetition. +regularExpressionAnnexB.ts(29,4): error TS1508: Unexpected '{'. Did you mean to escape it with backslash? +regularExpressionAnnexB.ts(30,4): error TS1508: Unexpected '{'. Did you mean to escape it with backslash? +regularExpressionAnnexB.ts(31,4): error TS1507: There is nothing available for repetition. +regularExpressionAnnexB.ts(31,5): error TS1505: Incomplete quantifier. Digit expected. +regularExpressionAnnexB.ts(31,7): error TS1005: '}' expected. +regularExpressionAnnexB.ts(31,8): error TS1507: There is nothing available for repetition. +regularExpressionAnnexB.ts(32,4): error TS1507: There is nothing available for repetition. +regularExpressionAnnexB.ts(32,6): error TS1005: '}' expected. +regularExpressionAnnexB.ts(32,7): error TS1507: There is nothing available for repetition. +regularExpressionAnnexB.ts(33,4): error TS1507: There is nothing available for repetition. +regularExpressionAnnexB.ts(33,7): error TS1005: '}' expected. +regularExpressionAnnexB.ts(33,8): error TS1507: There is nothing available for repetition. +regularExpressionAnnexB.ts(34,4): error TS1507: There is nothing available for repetition. +regularExpressionAnnexB.ts(34,8): error TS1005: '}' expected. +regularExpressionAnnexB.ts(34,9): error TS1507: There is nothing available for repetition. +regularExpressionAnnexB.ts(35,4): error TS1507: There is nothing available for repetition. +regularExpressionAnnexB.ts(35,5): error TS1506: Numbers out of order in quantifier. +regularExpressionAnnexB.ts(35,8): error TS1005: '}' expected. +regularExpressionAnnexB.ts(35,9): error TS1507: There is nothing available for repetition. +regularExpressionAnnexB.ts(36,4): error TS1508: Unexpected '{'. Did you mean to escape it with backslash? +regularExpressionAnnexB.ts(36,5): error TS1508: Unexpected '}'. Did you mean to escape it with backslash? +regularExpressionAnnexB.ts(37,4): error TS1507: There is nothing available for repetition. +regularExpressionAnnexB.ts(37,5): error TS1505: Incomplete quantifier. Digit expected. +regularExpressionAnnexB.ts(37,8): error TS1507: There is nothing available for repetition. +regularExpressionAnnexB.ts(38,4): error TS1507: There is nothing available for repetition. +regularExpressionAnnexB.ts(38,5): error TS1505: Incomplete quantifier. Digit expected. +regularExpressionAnnexB.ts(38,9): error TS1507: There is nothing available for repetition. +regularExpressionAnnexB.ts(39,4): error TS1507: There is nothing available for repetition. +regularExpressionAnnexB.ts(39,8): error TS1507: There is nothing available for repetition. +regularExpressionAnnexB.ts(40,4): error TS1507: There is nothing available for repetition. +regularExpressionAnnexB.ts(40,9): error TS1507: There is nothing available for repetition. +regularExpressionAnnexB.ts(41,4): error TS1507: There is nothing available for repetition. +regularExpressionAnnexB.ts(41,10): error TS1507: There is nothing available for repetition. +regularExpressionAnnexB.ts(42,4): error TS1507: There is nothing available for repetition. +regularExpressionAnnexB.ts(42,5): error TS1506: Numbers out of order in quantifier. +regularExpressionAnnexB.ts(42,10): error TS1507: There is nothing available for repetition. + + +==== regularExpressionAnnexB.ts (74 errors) ==== + const regexes: RegExp[] = [ + /\q\u\i\c\k\_\f\o\x\-\j\u\m\p\s/, + +!!! error TS1125: Hexadecimal digit expected. + +!!! error TS1125: Hexadecimal digit expected. + +!!! error TS1125: Hexadecimal digit expected. + /[\q\u\i\c\k\_\f\o\x\-\j\u\m\p\s]/, + +!!! error TS1125: Hexadecimal digit expected. + +!!! error TS1125: Hexadecimal digit expected. + +!!! error TS1125: Hexadecimal digit expected. + /\P[\P\w-_]/, + + // Compare to + /\q\u\i\c\k\_\f\o\x\-\j\u\m\p\s/u, + ~~ +!!! error TS1535: This character cannot be escaped in a regular expression. + +!!! error TS1125: Hexadecimal digit expected. + ~~ +!!! error TS1512: '\c' must be followed by an ASCII letter. + ~~ +!!! error TS1510: '\k' must be followed by a capturing group name enclosed in angle brackets. + ~~ +!!! error TS1535: This character cannot be escaped in a regular expression. + ~~ +!!! error TS1535: This character cannot be escaped in a regular expression. + +!!! error TS1125: Hexadecimal digit expected. + ~~ +!!! error TS1535: This character cannot be escaped in a regular expression. + +!!! error TS1125: Hexadecimal digit expected. + ~~ +!!! error TS1531: '\p' must be followed by a Unicode property value expression enclosed in braces. + /[\q\u\i\c\k\_\f\o\x\-\j\u\m\p\s]/u, + ~~ +!!! error TS1535: This character cannot be escaped in a regular expression. + +!!! error TS1125: Hexadecimal digit expected. + ~~ +!!! error TS1512: '\c' must be followed by an ASCII letter. + ~~ +!!! error TS1535: This character cannot be escaped in a regular expression. + ~~ +!!! error TS1535: This character cannot be escaped in a regular expression. + ~~ +!!! error TS1535: This character cannot be escaped in a regular expression. + +!!! error TS1125: Hexadecimal digit expected. + ~~ +!!! error TS1535: This character cannot be escaped in a regular expression. + +!!! error TS1125: Hexadecimal digit expected. + ~~ +!!! error TS1531: '\p' must be followed by a Unicode property value expression enclosed in braces. + /\P[\P\w-_]/u, + ~~ +!!! error TS1531: '\P' must be followed by a Unicode property value expression enclosed in braces. + ~~ +!!! error TS1531: '\P' must be followed by a Unicode property value expression enclosed in braces. + ~~ +!!! error TS1516: A character class range must not be bounded by another character class. + ]; + + const regexesWithBraces: RegExp[] = [ + /{??/, + /{,??/, + /{,1??/, + /{1??/, + /{1,??/, + /{1,2??/, + /{2,1??/, + /{}??/, + /{,}??/, + /{,1}??/, + /{1}??/, + ~~~~ +!!! error TS1507: There is nothing available for repetition. + ~ +!!! error TS1507: There is nothing available for repetition. + /{1,}??/, + ~~~~~ +!!! error TS1507: There is nothing available for repetition. + ~ +!!! error TS1507: There is nothing available for repetition. + /{1,2}??/, + ~~~~~~ +!!! error TS1507: There is nothing available for repetition. + ~ +!!! error TS1507: There is nothing available for repetition. + /{2,1}??/, + ~~~~~~ +!!! error TS1507: There is nothing available for repetition. + ~~~ +!!! error TS1506: Numbers out of order in quantifier. + ~ +!!! error TS1507: There is nothing available for repetition. + + // Compare to + /{??/u, + ~ +!!! error TS1508: Unexpected '{'. Did you mean to escape it with backslash? + /{,??/u, + ~ +!!! error TS1508: Unexpected '{'. Did you mean to escape it with backslash? + /{,1??/u, + ~~~~ +!!! error TS1507: There is nothing available for repetition. + +!!! error TS1505: Incomplete quantifier. Digit expected. + +!!! error TS1005: '}' expected. + ~ +!!! error TS1507: There is nothing available for repetition. + /{1??/u, + ~~~ +!!! error TS1507: There is nothing available for repetition. + +!!! error TS1005: '}' expected. + ~ +!!! error TS1507: There is nothing available for repetition. + /{1,??/u, + ~~~~ +!!! error TS1507: There is nothing available for repetition. + +!!! error TS1005: '}' expected. + ~ +!!! error TS1507: There is nothing available for repetition. + /{1,2??/u, + ~~~~~ +!!! error TS1507: There is nothing available for repetition. + +!!! error TS1005: '}' expected. + ~ +!!! error TS1507: There is nothing available for repetition. + /{2,1??/u, + ~~~~~ +!!! error TS1507: There is nothing available for repetition. + ~~~ +!!! error TS1506: Numbers out of order in quantifier. + +!!! error TS1005: '}' expected. + ~ +!!! error TS1507: There is nothing available for repetition. + /{}??/u, + ~ +!!! error TS1508: Unexpected '{'. Did you mean to escape it with backslash? + ~ +!!! error TS1508: Unexpected '}'. Did you mean to escape it with backslash? + /{,}??/u, + ~~~~ +!!! error TS1507: There is nothing available for repetition. + +!!! error TS1505: Incomplete quantifier. Digit expected. + ~ +!!! error TS1507: There is nothing available for repetition. + /{,1}??/u, + ~~~~~ +!!! error TS1507: There is nothing available for repetition. + +!!! error TS1505: Incomplete quantifier. Digit expected. + ~ +!!! error TS1507: There is nothing available for repetition. + /{1}??/u, + ~~~~ +!!! error TS1507: There is nothing available for repetition. + ~ +!!! error TS1507: There is nothing available for repetition. + /{1,}??/u, + ~~~~~ +!!! error TS1507: There is nothing available for repetition. + ~ +!!! error TS1507: There is nothing available for repetition. + /{1,2}??/u, + ~~~~~~ +!!! error TS1507: There is nothing available for repetition. + ~ +!!! error TS1507: There is nothing available for repetition. + /{2,1}??/u, + ~~~~~~ +!!! error TS1507: There is nothing available for repetition. + ~~~ +!!! error TS1506: Numbers out of order in quantifier. + ~ +!!! error TS1507: There is nothing available for repetition. + ]; + \ No newline at end of file diff --git a/tests/baselines/reference/regularExpressionAnnexB.js b/tests/baselines/reference/regularExpressionAnnexB.js new file mode 100644 index 0000000000000..c1ee8d1343858 --- /dev/null +++ b/tests/baselines/reference/regularExpressionAnnexB.js @@ -0,0 +1,89 @@ +//// [tests/cases/compiler/regularExpressionAnnexB.ts] //// + +//// [regularExpressionAnnexB.ts] +const regexes: RegExp[] = [ + /\q\u\i\c\k\_\f\o\x\-\j\u\m\p\s/, + /[\q\u\i\c\k\_\f\o\x\-\j\u\m\p\s]/, + /\P[\P\w-_]/, + + // Compare to + /\q\u\i\c\k\_\f\o\x\-\j\u\m\p\s/u, + /[\q\u\i\c\k\_\f\o\x\-\j\u\m\p\s]/u, + /\P[\P\w-_]/u, +]; + +const regexesWithBraces: RegExp[] = [ + /{??/, + /{,??/, + /{,1??/, + /{1??/, + /{1,??/, + /{1,2??/, + /{2,1??/, + /{}??/, + /{,}??/, + /{,1}??/, + /{1}??/, + /{1,}??/, + /{1,2}??/, + /{2,1}??/, + + // Compare to + /{??/u, + /{,??/u, + /{,1??/u, + /{1??/u, + /{1,??/u, + /{1,2??/u, + /{2,1??/u, + /{}??/u, + /{,}??/u, + /{,1}??/u, + /{1}??/u, + /{1,}??/u, + /{1,2}??/u, + /{2,1}??/u, +]; + + +//// [regularExpressionAnnexB.js] +const regexes = [ + /\q\u\i\c\k\_\f\o\x\-\j\u\m\p\s/, + /[\q\u\i\c\k\_\f\o\x\-\j\u\m\p\s]/, + /\P[\P\w-_]/, + // Compare to + /\q\u\i\c\k\_\f\o\x\-\j\u\m\p\s/u, + /[\q\u\i\c\k\_\f\o\x\-\j\u\m\p\s]/u, + /\P[\P\w-_]/u, +]; +const regexesWithBraces = [ + /{??/, + /{,??/, + /{,1??/, + /{1??/, + /{1,??/, + /{1,2??/, + /{2,1??/, + /{}??/, + /{,}??/, + /{,1}??/, + /{1}??/, + /{1,}??/, + /{1,2}??/, + /{2,1}??/, + // Compare to + /{??/u, + /{,??/u, + /{,1??/u, + /{1??/u, + /{1,??/u, + /{1,2??/u, + /{2,1??/u, + /{}??/u, + /{,}??/u, + /{,1}??/u, + /{1}??/u, + /{1,}??/u, + /{1,2}??/u, + /{2,1}??/u, +]; diff --git a/tests/baselines/reference/regularExpressionAnnexB.symbols b/tests/baselines/reference/regularExpressionAnnexB.symbols new file mode 100644 index 0000000000000..78ac17b509968 --- /dev/null +++ b/tests/baselines/reference/regularExpressionAnnexB.symbols @@ -0,0 +1,53 @@ +//// [tests/cases/compiler/regularExpressionAnnexB.ts] //// + +=== regularExpressionAnnexB.ts === +const regexes: RegExp[] = [ +>regexes : Symbol(regexes, Decl(regularExpressionAnnexB.ts, 0, 5)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2018.regexp.d.ts, --, --) ... and 3 more) + + /\q\u\i\c\k\_\f\o\x\-\j\u\m\p\s/, + /[\q\u\i\c\k\_\f\o\x\-\j\u\m\p\s]/, + /\P[\P\w-_]/, + + // Compare to + /\q\u\i\c\k\_\f\o\x\-\j\u\m\p\s/u, + /[\q\u\i\c\k\_\f\o\x\-\j\u\m\p\s]/u, + /\P[\P\w-_]/u, +]; + +const regexesWithBraces: RegExp[] = [ +>regexesWithBraces : Symbol(regexesWithBraces, Decl(regularExpressionAnnexB.ts, 11, 5)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2018.regexp.d.ts, --, --) ... and 3 more) + + /{??/, + /{,??/, + /{,1??/, + /{1??/, + /{1,??/, + /{1,2??/, + /{2,1??/, + /{}??/, + /{,}??/, + /{,1}??/, + /{1}??/, + /{1,}??/, + /{1,2}??/, + /{2,1}??/, + + // Compare to + /{??/u, + /{,??/u, + /{,1??/u, + /{1??/u, + /{1,??/u, + /{1,2??/u, + /{2,1??/u, + /{}??/u, + /{,}??/u, + /{,1}??/u, + /{1}??/u, + /{1,}??/u, + /{1,2}??/u, + /{2,1}??/u, +]; + diff --git a/tests/baselines/reference/regularExpressionAnnexB.types b/tests/baselines/reference/regularExpressionAnnexB.types new file mode 100644 index 0000000000000..68460384b3808 --- /dev/null +++ b/tests/baselines/reference/regularExpressionAnnexB.types @@ -0,0 +1,157 @@ +//// [tests/cases/compiler/regularExpressionAnnexB.ts] //// + +=== regularExpressionAnnexB.ts === +const regexes: RegExp[] = [ +>regexes : RegExp[] +> : ^^^^^^^^ +>[ /\q\u\i\c\k\_\f\o\x\-\j\u\m\p\s/, /[\q\u\i\c\k\_\f\o\x\-\j\u\m\p\s]/, /\P[\P\w-_]/, // Compare to /\q\u\i\c\k\_\f\o\x\-\j\u\m\p\s/u, /[\q\u\i\c\k\_\f\o\x\-\j\u\m\p\s]/u, /\P[\P\w-_]/u,] : RegExp[] +> : ^^^^^^^^ + + /\q\u\i\c\k\_\f\o\x\-\j\u\m\p\s/, +>/\q\u\i\c\k\_\f\o\x\-\j\u\m\p\s/ : RegExp +> : ^^^^^^ + + /[\q\u\i\c\k\_\f\o\x\-\j\u\m\p\s]/, +>/[\q\u\i\c\k\_\f\o\x\-\j\u\m\p\s]/ : RegExp +> : ^^^^^^ + + /\P[\P\w-_]/, +>/\P[\P\w-_]/ : RegExp +> : ^^^^^^ + + // Compare to + /\q\u\i\c\k\_\f\o\x\-\j\u\m\p\s/u, +>/\q\u\i\c\k\_\f\o\x\-\j\u\m\p\s/u : RegExp +> : ^^^^^^ + + /[\q\u\i\c\k\_\f\o\x\-\j\u\m\p\s]/u, +>/[\q\u\i\c\k\_\f\o\x\-\j\u\m\p\s]/u : RegExp +> : ^^^^^^ + + /\P[\P\w-_]/u, +>/\P[\P\w-_]/u : RegExp +> : ^^^^^^ + +]; + +const regexesWithBraces: RegExp[] = [ +>regexesWithBraces : RegExp[] +> : ^^^^^^^^ +>[ /{??/, /{,??/, /{,1??/, /{1??/, /{1,??/, /{1,2??/, /{2,1??/, /{}??/, /{,}??/, /{,1}??/, /{1}??/, /{1,}??/, /{1,2}??/, /{2,1}??/, // Compare to /{??/u, /{,??/u, /{,1??/u, /{1??/u, /{1,??/u, /{1,2??/u, /{2,1??/u, /{}??/u, /{,}??/u, /{,1}??/u, /{1}??/u, /{1,}??/u, /{1,2}??/u, /{2,1}??/u,] : RegExp[] +> : ^^^^^^^^ + + /{??/, +>/{??/ : RegExp +> : ^^^^^^ + + /{,??/, +>/{,??/ : RegExp +> : ^^^^^^ + + /{,1??/, +>/{,1??/ : RegExp +> : ^^^^^^ + + /{1??/, +>/{1??/ : RegExp +> : ^^^^^^ + + /{1,??/, +>/{1,??/ : RegExp +> : ^^^^^^ + + /{1,2??/, +>/{1,2??/ : RegExp +> : ^^^^^^ + + /{2,1??/, +>/{2,1??/ : RegExp +> : ^^^^^^ + + /{}??/, +>/{}??/ : RegExp +> : ^^^^^^ + + /{,}??/, +>/{,}??/ : RegExp +> : ^^^^^^ + + /{,1}??/, +>/{,1}??/ : RegExp +> : ^^^^^^ + + /{1}??/, +>/{1}??/ : RegExp +> : ^^^^^^ + + /{1,}??/, +>/{1,}??/ : RegExp +> : ^^^^^^ + + /{1,2}??/, +>/{1,2}??/ : RegExp +> : ^^^^^^ + + /{2,1}??/, +>/{2,1}??/ : RegExp +> : ^^^^^^ + + // Compare to + /{??/u, +>/{??/u : RegExp +> : ^^^^^^ + + /{,??/u, +>/{,??/u : RegExp +> : ^^^^^^ + + /{,1??/u, +>/{,1??/u : RegExp +> : ^^^^^^ + + /{1??/u, +>/{1??/u : RegExp +> : ^^^^^^ + + /{1,??/u, +>/{1,??/u : RegExp +> : ^^^^^^ + + /{1,2??/u, +>/{1,2??/u : RegExp +> : ^^^^^^ + + /{2,1??/u, +>/{2,1??/u : RegExp +> : ^^^^^^ + + /{}??/u, +>/{}??/u : RegExp +> : ^^^^^^ + + /{,}??/u, +>/{,}??/u : RegExp +> : ^^^^^^ + + /{,1}??/u, +>/{,1}??/u : RegExp +> : ^^^^^^ + + /{1}??/u, +>/{1}??/u : RegExp +> : ^^^^^^ + + /{1,}??/u, +>/{1,}??/u : RegExp +> : ^^^^^^ + + /{1,2}??/u, +>/{1,2}??/u : RegExp +> : ^^^^^^ + + /{2,1}??/u, +>/{2,1}??/u : RegExp +> : ^^^^^^ + +]; + diff --git a/tests/baselines/reference/regularExpressionScanning(target=es2015).errors.txt b/tests/baselines/reference/regularExpressionScanning(target=es2015).errors.txt index 7cf62fcaba4a2..e5afde3d2f4b2 100644 --- a/tests/baselines/reference/regularExpressionScanning(target=es2015).errors.txt +++ b/tests/baselines/reference/regularExpressionScanning(target=es2015).errors.txt @@ -17,13 +17,30 @@ regularExpressionScanning.ts(5,6): error TS1499: Unknown regular expression flag regularExpressionScanning.ts(5,7): error TS1509: This regular expression flag cannot be toggled within a subpattern. regularExpressionScanning.ts(5,10): error TS1509: This regular expression flag cannot be toggled within a subpattern. regularExpressionScanning.ts(5,11): error TS1500: Duplicate regular expression flag. +regularExpressionScanning.ts(8,4): error TS1534: This backreference refers to a group that does not exist. There are no capturing groups in this regular expression. +regularExpressionScanning.ts(9,4): error TS1534: This backreference refers to a group that does not exist. There are no capturing groups in this regular expression. +regularExpressionScanning.ts(12,9): error TS1533: This backreference refers to a group that does not exist. There are only 4 capturing groups in this regular expression. +regularExpressionScanning.ts(12,24): error TS1536: Octal escape sequences and backreferences are not allowed in a character class. If this was intended as an escape sequence, use the syntax '\x01' instead. +regularExpressionScanning.ts(12,26): error TS1487: Octal escape sequences are not allowed. Use the syntax '\x01'. +regularExpressionScanning.ts(12,29): error TS1536: Octal escape sequences and backreferences are not allowed in a character class. If this was intended as an escape sequence, use the syntax '\x53' instead. +regularExpressionScanning.ts(12,33): error TS1487: Octal escape sequences are not allowed. Use the syntax '\x00'. +regularExpressionScanning.ts(12,36): error TS1537: Decimal escape sequences and backreferences are not allowed in a character class. +regularExpressionScanning.ts(12,42): error TS1487: Octal escape sequences are not allowed. Use the syntax '\x03'. +regularExpressionScanning.ts(12,47): error TS1533: This backreference refers to a group that does not exist. There are only 4 capturing groups in this regular expression. +regularExpressionScanning.ts(12,48): error TS1487: Octal escape sequences are not allowed. Use the syntax '\x05'. +regularExpressionScanning.ts(12,53): error TS1533: This backreference refers to a group that does not exist. There are only 4 capturing groups in this regular expression. +regularExpressionScanning.ts(12,54): error TS1487: Octal escape sequences are not allowed. Use the syntax '\x00'. regularExpressionScanning.ts(13,9): error TS1533: This backreference refers to a group that does not exist. There are only 4 capturing groups in this regular expression. -regularExpressionScanning.ts(13,24): error TS1487: Octal escape sequences are not allowed. Use the syntax '\x01'. +regularExpressionScanning.ts(13,24): error TS1536: Octal escape sequences and backreferences are not allowed in a character class. If this was intended as an escape sequence, use the syntax '\x01' instead. regularExpressionScanning.ts(13,26): error TS1487: Octal escape sequences are not allowed. Use the syntax '\x01'. -regularExpressionScanning.ts(13,29): error TS1487: Octal escape sequences are not allowed. Use the syntax '\x53'. -regularExpressionScanning.ts(13,37): error TS1487: Octal escape sequences are not allowed. Use the syntax '\x03'. -regularExpressionScanning.ts(13,42): error TS1533: This backreference refers to a group that does not exist. There are only 4 capturing groups in this regular expression. -regularExpressionScanning.ts(13,43): error TS1487: Octal escape sequences are not allowed. Use the syntax '\x05'. +regularExpressionScanning.ts(13,29): error TS1536: Octal escape sequences and backreferences are not allowed in a character class. If this was intended as an escape sequence, use the syntax '\x53' instead. +regularExpressionScanning.ts(13,33): error TS1487: Octal escape sequences are not allowed. Use the syntax '\x00'. +regularExpressionScanning.ts(13,36): error TS1537: Decimal escape sequences and backreferences are not allowed in a character class. +regularExpressionScanning.ts(13,42): error TS1487: Octal escape sequences are not allowed. Use the syntax '\x03'. +regularExpressionScanning.ts(13,47): error TS1533: This backreference refers to a group that does not exist. There are only 4 capturing groups in this regular expression. +regularExpressionScanning.ts(13,48): error TS1487: Octal escape sequences are not allowed. Use the syntax '\x05'. +regularExpressionScanning.ts(13,53): error TS1533: This backreference refers to a group that does not exist. There are only 4 capturing groups in this regular expression. +regularExpressionScanning.ts(13,54): error TS1487: Octal escape sequences are not allowed. Use the syntax '\x00'. regularExpressionScanning.ts(14,5): error TS1503: Named capturing groups are only available when targeting 'ES2018' or later. regularExpressionScanning.ts(14,14): error TS1503: Named capturing groups are only available when targeting 'ES2018' or later. regularExpressionScanning.ts(14,29): error TS1503: Named capturing groups are only available when targeting 'ES2018' or later. @@ -38,7 +55,6 @@ regularExpressionScanning.ts(15,59): error TS1515: Named capturing groups with t regularExpressionScanning.ts(17,31): error TS1507: There is nothing available for repetition. regularExpressionScanning.ts(17,32): error TS1506: Numbers out of order in quantifier. regularExpressionScanning.ts(17,40): error TS1507: There is nothing available for repetition. -regularExpressionScanning.ts(17,61): error TS1505: Incomplete quantifier. Digit expected. regularExpressionScanning.ts(19,12): error TS1517: Range out of order in character class. regularExpressionScanning.ts(19,15): error TS1517: Range out of order in character class. regularExpressionScanning.ts(19,28): error TS1517: Range out of order in character class. @@ -203,7 +219,7 @@ regularExpressionScanning.ts(47,89): error TS1518: Anything that would possibly regularExpressionScanning.ts(47,101): error TS1501: This regular expression flag is only available when targeting 'esnext' or later. -==== regularExpressionScanning.ts (203 errors) ==== +==== regularExpressionScanning.ts (219 errors) ==== const regexes: RegExp[] = [ // Flags /foo/visualstudiocode, @@ -250,25 +266,59 @@ regularExpressionScanning.ts(47,101): error TS1501: This regular expression flag // Capturing groups /\0/, /\1/, + ~ +!!! error TS1534: This backreference refers to a group that does not exist. There are no capturing groups in this regular expression. /\2/, + ~ +!!! error TS1534: This backreference refers to a group that does not exist. There are no capturing groups in this regular expression. /(hi)\1/, /(hi) (hello) \2/, - /\2()(\12)(foo)\1\0[\0\1\01\123](\3\03)\5\005/, - /\2()(\12)(foo)\1\0[\0\1\01\123](\3\03)\5\005/u, + /\2()(\12)(foo)\1\0[\0\1\01\123\08\8](\3\03)\5\005\9\009/, ~~ !!! error TS1533: This backreference refers to a group that does not exist. There are only 4 capturing groups in this regular expression. ~~ +!!! error TS1536: Octal escape sequences and backreferences are not allowed in a character class. If this was intended as an escape sequence, use the syntax '\x01' instead. + ~~~ !!! error TS1487: Octal escape sequences are not allowed. Use the syntax '\x01'. + ~~~~ +!!! error TS1536: Octal escape sequences and backreferences are not allowed in a character class. If this was intended as an escape sequence, use the syntax '\x53' instead. + ~~ +!!! error TS1487: Octal escape sequences are not allowed. Use the syntax '\x00'. + ~~ +!!! error TS1537: Decimal escape sequences and backreferences are not allowed in a character class. + ~~~ +!!! error TS1487: Octal escape sequences are not allowed. Use the syntax '\x03'. + ~ +!!! error TS1533: This backreference refers to a group that does not exist. There are only 4 capturing groups in this regular expression. + ~~~~ +!!! error TS1487: Octal escape sequences are not allowed. Use the syntax '\x05'. + ~ +!!! error TS1533: This backreference refers to a group that does not exist. There are only 4 capturing groups in this regular expression. + ~~~ +!!! error TS1487: Octal escape sequences are not allowed. Use the syntax '\x00'. + /\2()(\12)(foo)\1\0[\0\1\01\123\08\8](\3\03)\5\005\9\009/u, + ~~ +!!! error TS1533: This backreference refers to a group that does not exist. There are only 4 capturing groups in this regular expression. + ~~ +!!! error TS1536: Octal escape sequences and backreferences are not allowed in a character class. If this was intended as an escape sequence, use the syntax '\x01' instead. ~~~ !!! error TS1487: Octal escape sequences are not allowed. Use the syntax '\x01'. ~~~~ -!!! error TS1487: Octal escape sequences are not allowed. Use the syntax '\x53'. - ~~~ +!!! error TS1536: Octal escape sequences and backreferences are not allowed in a character class. If this was intended as an escape sequence, use the syntax '\x53' instead. + ~~ +!!! error TS1487: Octal escape sequences are not allowed. Use the syntax '\x00'. + ~~ +!!! error TS1537: Decimal escape sequences and backreferences are not allowed in a character class. + ~~~ !!! error TS1487: Octal escape sequences are not allowed. Use the syntax '\x03'. - ~ + ~ !!! error TS1533: This backreference refers to a group that does not exist. There are only 4 capturing groups in this regular expression. - ~~~~ + ~~~~ !!! error TS1487: Octal escape sequences are not allowed. Use the syntax '\x05'. + ~ +!!! error TS1533: This backreference refers to a group that does not exist. There are only 4 capturing groups in this regular expression. + ~~~ +!!! error TS1487: Octal escape sequences are not allowed. Use the syntax '\x00'. /(?)((?bar)bar)(?baz)|(foo(?foo))(?)/, ~~~~~ !!! error TS1503: Named capturing groups are only available when targeting 'ES2018' or later. @@ -301,8 +351,6 @@ regularExpressionScanning.ts(47,101): error TS1501: This regular expression flag !!! error TS1506: Numbers out of order in quantifier. ~~~~~~~~~ !!! error TS1507: There is nothing available for repetition. - -!!! error TS1505: Incomplete quantifier. Digit expected. // Character classes /[-A-Za-z-z-aZ-A\d_-\d-.-.\r-\n\w-\W]/, ~~~ diff --git a/tests/baselines/reference/regularExpressionScanning(target=es2015).js b/tests/baselines/reference/regularExpressionScanning(target=es2015).js index 0c7a8eb88a13f..532b81598e326 100644 --- a/tests/baselines/reference/regularExpressionScanning(target=es2015).js +++ b/tests/baselines/reference/regularExpressionScanning(target=es2015).js @@ -12,8 +12,8 @@ const regexes: RegExp[] = [ /\2/, /(hi)\1/, /(hi) (hello) \2/, - /\2()(\12)(foo)\1\0[\0\1\01\123](\3\03)\5\005/, - /\2()(\12)(foo)\1\0[\0\1\01\123](\3\03)\5\005/u, + /\2()(\12)(foo)\1\0[\0\1\01\123\08\8](\3\03)\5\005\9\009/, + /\2()(\12)(foo)\1\0[\0\1\01\123\08\8](\3\03)\5\005\9\009/u, /(?)((?bar)bar)(?baz)|(foo(?foo))(?)/, /(\k)\k(?foo)|(?)((?)|(bar(?bar)))/, // Quantifiers @@ -63,8 +63,8 @@ const regexes = [ /\2/, /(hi)\1/, /(hi) (hello) \2/, - /\2()(\12)(foo)\1\0[\0\1\01\123](\3\03)\5\005/, - /\2()(\12)(foo)\1\0[\0\1\01\123](\3\03)\5\005/u, + /\2()(\12)(foo)\1\0[\0\1\01\123\08\8](\3\03)\5\005\9\009/, + /\2()(\12)(foo)\1\0[\0\1\01\123\08\8](\3\03)\5\005\9\009/u, /(?)((?bar)bar)(?baz)|(foo(?foo))(?)/, /(\k)\k(?foo)|(?)((?)|(bar(?bar)))/, // Quantifiers diff --git a/tests/baselines/reference/regularExpressionScanning(target=es2015).symbols b/tests/baselines/reference/regularExpressionScanning(target=es2015).symbols index d46a82ed9a797..be3fb1bc3fdac 100644 --- a/tests/baselines/reference/regularExpressionScanning(target=es2015).symbols +++ b/tests/baselines/reference/regularExpressionScanning(target=es2015).symbols @@ -15,8 +15,8 @@ const regexes: RegExp[] = [ /\2/, /(hi)\1/, /(hi) (hello) \2/, - /\2()(\12)(foo)\1\0[\0\1\01\123](\3\03)\5\005/, - /\2()(\12)(foo)\1\0[\0\1\01\123](\3\03)\5\005/u, + /\2()(\12)(foo)\1\0[\0\1\01\123\08\8](\3\03)\5\005\9\009/, + /\2()(\12)(foo)\1\0[\0\1\01\123\08\8](\3\03)\5\005\9\009/u, /(?)((?bar)bar)(?baz)|(foo(?foo))(?)/, /(\k)\k(?foo)|(?)((?)|(bar(?bar)))/, // Quantifiers diff --git a/tests/baselines/reference/regularExpressionScanning(target=es2015).types b/tests/baselines/reference/regularExpressionScanning(target=es2015).types index 18219dd210a87..7bd5841bd26be 100644 --- a/tests/baselines/reference/regularExpressionScanning(target=es2015).types +++ b/tests/baselines/reference/regularExpressionScanning(target=es2015).types @@ -4,8 +4,8 @@ const regexes: RegExp[] = [ >regexes : RegExp[] > : ^^^^^^^^ ->[ // Flags /foo/visualstudiocode, // Pattern modifiers /(?med-ium:bar)/, // Capturing groups /\0/, /\1/, /\2/, /(hi)\1/, /(hi) (hello) \2/, /\2()(\12)(foo)\1\0[\0\1\01\123](\3\03)\5\005/, /\2()(\12)(foo)\1\0[\0\1\01\123](\3\03)\5\005/u, /(?)((?bar)bar)(?baz)|(foo(?foo))(?)/, /(\k)\k(?foo)|(?)((?)|(bar(?bar)))/, // Quantifiers /{}{1,2}_{3}.{4,}?(foo){008}${32,16}\b{064,128}.+&*?\???\n{,256}{\\{,/, // Character classes /[-A-Za-z-z-aZ-A\d_-\d-.-.\r-\n\w-\W]/, /\p{L}\p{gc=L}\p{ASCII}\p{Invalid}[\p{L}\p{gc=L}\P{ASCII}\p{Invalid}]/, /\p{L}\p{gc=L}\p{ASCII}\p{Invalid}[\p{L}\p{gc=L}\P{ASCII}\p{Invalid}]/u, /\p{L}\p{gc=L}\p{ASCII}\p{Invalid}[\p{L}\p{gc=L}\P{ASCII}\p{Invalid}]/v, /\p{InvalidProperty=Value}\p{=}\p{sc=}\P{=foo}[\p{}\p\\\P\P{]\p{/, /\p{InvalidProperty=Value}\p{=}\p{sc=}\P{=foo}[\p{}\p\\\P\P{]\p{/u, /\p{InvalidProperty=Value}\p{=}\p{sc=}\P{=foo}[\p{}\p\\\P\P{]\p{/v, /\p{RGI_Emoji}\P{RGI_Emoji}[^\p{RGI_Emoji}\P{RGI_Emoji}]/, /\p{RGI_Emoji}\P{RGI_Emoji}[^\p{RGI_Emoji}\P{RGI_Emoji}]/u, /\p{RGI_Emoji}\P{RGI_Emoji}[^\p{RGI_Emoji}\P{RGI_Emoji}]/v, // Character escapes /\c[\c0\ca\cQ\c\C]\c1\C/, /\c[\c0\ca\cQ\c\C]\c1\C/u, /\q\\\`[\q\\\`[\Q\\\Q{\q{foo|bar|baz]\q{]\q{/, /\q\\\`[\q\\\`[\Q\\\Q{\q{foo|bar|baz]\q{]\q{/u, /\q\\\`[\q\\\`[\Q\\\Q{\q{foo|bar|baz]\q{]\q{/v, // Unicode sets notation /[a--b[--][\d++[]]&&[[&0-9--]&&[\p{L}]--\P{L}-_-]]&&&\q{foo}[0---9][&&q&&&\q{bar}&&]/, /[a--b[--][\d++[]]&&[[&0-9--]&&[\p{L}]--\P{L}-_-]]&&&\q{foo}[0---9][&&q&&&\q{bar}&&]/u, /[a--b[--][\d++[]]&&[[&0-9--]&&[\p{L}]--\P{L}-_-]]&&&\q{foo}[0---9][&&q&&&\q{bar}&&]/v, /[[^\P{Decimal_Number}&&[0-9]]&&\p{L}&&\p{ID_Continue}--\p{ASCII}\p{CWCF}]/v, /[^\p{Emoji}\p{RGI_Emoji}][^\p{Emoji}--\p{RGI_Emoji}][^\p{Emoji}&&\p{RGI_Emoji}]/v, /[^\p{RGI_Emoji}\p{Emoji}][^\p{RGI_Emoji}--\p{Emoji}][^\p{RGI_Emoji}&&\p{Emoji}]/v, /[^\p{RGI_Emoji}\q{foo}][^\p{RGI_Emoji}--\q{foo}][^\p{RGI_Emoji}&&\q{foo}]/v, /[^\p{Emoji}[[\p{RGI_Emoji}]]][^\p{Emoji}--[[\p{RGI_Emoji}]]][^\p{Emoji}&&[[\p{RGI_Emoji}]]]/v, /[^[[\p{RGI_Emoji}]]\p{Emoji}][^[[\p{RGI_Emoji}]]--\p{Emoji}][^[[\p{RGI_Emoji}]]&&\p{Emoji}]/v, /[^[[\p{RGI_Emoji}]]\q{foo}][^[[\p{RGI_Emoji}]]--\q{foo}][^[[\p{RGI_Emoji}]]&&\q{foo}]/v, /[^\q{foo|bar|baz}--\q{foo}--\q{bar}--\q{baz}][^\p{L}--\q{foo}--[\q{bar}]--[^[\q{baz}]]]/v, /[^[[\q{foo|bar|baz}]]--\q{foo}--\q{bar}--\q{baz}][^[^[^\p{L}]]--\q{foo}--[\q{bar}]--[^[\q{baz}]]]/v,] : RegExp[] -> : ^^^^^^^^ +>[ // Flags /foo/visualstudiocode, // Pattern modifiers /(?med-ium:bar)/, // Capturing groups /\0/, /\1/, /\2/, /(hi)\1/, /(hi) (hello) \2/, /\2()(\12)(foo)\1\0[\0\1\01\123\08\8](\3\03)\5\005\9\009/, /\2()(\12)(foo)\1\0[\0\1\01\123\08\8](\3\03)\5\005\9\009/u, /(?)((?bar)bar)(?baz)|(foo(?foo))(?)/, /(\k)\k(?foo)|(?)((?)|(bar(?bar)))/, // Quantifiers /{}{1,2}_{3}.{4,}?(foo){008}${32,16}\b{064,128}.+&*?\???\n{,256}{\\{,/, // Character classes /[-A-Za-z-z-aZ-A\d_-\d-.-.\r-\n\w-\W]/, /\p{L}\p{gc=L}\p{ASCII}\p{Invalid}[\p{L}\p{gc=L}\P{ASCII}\p{Invalid}]/, /\p{L}\p{gc=L}\p{ASCII}\p{Invalid}[\p{L}\p{gc=L}\P{ASCII}\p{Invalid}]/u, /\p{L}\p{gc=L}\p{ASCII}\p{Invalid}[\p{L}\p{gc=L}\P{ASCII}\p{Invalid}]/v, /\p{InvalidProperty=Value}\p{=}\p{sc=}\P{=foo}[\p{}\p\\\P\P{]\p{/, /\p{InvalidProperty=Value}\p{=}\p{sc=}\P{=foo}[\p{}\p\\\P\P{]\p{/u, /\p{InvalidProperty=Value}\p{=}\p{sc=}\P{=foo}[\p{}\p\\\P\P{]\p{/v, /\p{RGI_Emoji}\P{RGI_Emoji}[^\p{RGI_Emoji}\P{RGI_Emoji}]/, /\p{RGI_Emoji}\P{RGI_Emoji}[^\p{RGI_Emoji}\P{RGI_Emoji}]/u, /\p{RGI_Emoji}\P{RGI_Emoji}[^\p{RGI_Emoji}\P{RGI_Emoji}]/v, // Character escapes /\c[\c0\ca\cQ\c\C]\c1\C/, /\c[\c0\ca\cQ\c\C]\c1\C/u, /\q\\\`[\q\\\`[\Q\\\Q{\q{foo|bar|baz]\q{]\q{/, /\q\\\`[\q\\\`[\Q\\\Q{\q{foo|bar|baz]\q{]\q{/u, /\q\\\`[\q\\\`[\Q\\\Q{\q{foo|bar|baz]\q{]\q{/v, // Unicode sets notation /[a--b[--][\d++[]]&&[[&0-9--]&&[\p{L}]--\P{L}-_-]]&&&\q{foo}[0---9][&&q&&&\q{bar}&&]/, /[a--b[--][\d++[]]&&[[&0-9--]&&[\p{L}]--\P{L}-_-]]&&&\q{foo}[0---9][&&q&&&\q{bar}&&]/u, /[a--b[--][\d++[]]&&[[&0-9--]&&[\p{L}]--\P{L}-_-]]&&&\q{foo}[0---9][&&q&&&\q{bar}&&]/v, /[[^\P{Decimal_Number}&&[0-9]]&&\p{L}&&\p{ID_Continue}--\p{ASCII}\p{CWCF}]/v, /[^\p{Emoji}\p{RGI_Emoji}][^\p{Emoji}--\p{RGI_Emoji}][^\p{Emoji}&&\p{RGI_Emoji}]/v, /[^\p{RGI_Emoji}\p{Emoji}][^\p{RGI_Emoji}--\p{Emoji}][^\p{RGI_Emoji}&&\p{Emoji}]/v, /[^\p{RGI_Emoji}\q{foo}][^\p{RGI_Emoji}--\q{foo}][^\p{RGI_Emoji}&&\q{foo}]/v, /[^\p{Emoji}[[\p{RGI_Emoji}]]][^\p{Emoji}--[[\p{RGI_Emoji}]]][^\p{Emoji}&&[[\p{RGI_Emoji}]]]/v, /[^[[\p{RGI_Emoji}]]\p{Emoji}][^[[\p{RGI_Emoji}]]--\p{Emoji}][^[[\p{RGI_Emoji}]]&&\p{Emoji}]/v, /[^[[\p{RGI_Emoji}]]\q{foo}][^[[\p{RGI_Emoji}]]--\q{foo}][^[[\p{RGI_Emoji}]]&&\q{foo}]/v, /[^\q{foo|bar|baz}--\q{foo}--\q{bar}--\q{baz}][^\p{L}--\q{foo}--[\q{bar}]--[^[\q{baz}]]]/v, /[^[[\q{foo|bar|baz}]]--\q{foo}--\q{bar}--\q{baz}][^[^[^\p{L}]]--\q{foo}--[\q{bar}]--[^[\q{baz}]]]/v,] : RegExp[] +> : ^^^^^^^^ // Flags /foo/visualstudiocode, @@ -38,13 +38,13 @@ const regexes: RegExp[] = [ >/(hi) (hello) \2/ : RegExp > : ^^^^^^ - /\2()(\12)(foo)\1\0[\0\1\01\123](\3\03)\5\005/, ->/\2()(\12)(foo)\1\0[\0\1\01\123](\3\03)\5\005/ : RegExp -> : ^^^^^^ + /\2()(\12)(foo)\1\0[\0\1\01\123\08\8](\3\03)\5\005\9\009/, +>/\2()(\12)(foo)\1\0[\0\1\01\123\08\8](\3\03)\5\005\9\009/ : RegExp +> : ^^^^^^ - /\2()(\12)(foo)\1\0[\0\1\01\123](\3\03)\5\005/u, ->/\2()(\12)(foo)\1\0[\0\1\01\123](\3\03)\5\005/u : RegExp -> : ^^^^^^ + /\2()(\12)(foo)\1\0[\0\1\01\123\08\8](\3\03)\5\005\9\009/u, +>/\2()(\12)(foo)\1\0[\0\1\01\123\08\8](\3\03)\5\005\9\009/u : RegExp +> : ^^^^^^ /(?)((?bar)bar)(?baz)|(foo(?foo))(?)/, >/(?)((?bar)bar)(?baz)|(foo(?foo))(?)/ : RegExp diff --git a/tests/baselines/reference/regularExpressionScanning(target=es5).errors.txt b/tests/baselines/reference/regularExpressionScanning(target=es5).errors.txt index 1db06a65a8c1e..2c185950185a0 100644 --- a/tests/baselines/reference/regularExpressionScanning(target=es5).errors.txt +++ b/tests/baselines/reference/regularExpressionScanning(target=es5).errors.txt @@ -17,14 +17,31 @@ regularExpressionScanning.ts(5,6): error TS1499: Unknown regular expression flag regularExpressionScanning.ts(5,7): error TS1509: This regular expression flag cannot be toggled within a subpattern. regularExpressionScanning.ts(5,10): error TS1509: This regular expression flag cannot be toggled within a subpattern. regularExpressionScanning.ts(5,11): error TS1500: Duplicate regular expression flag. +regularExpressionScanning.ts(8,4): error TS1534: This backreference refers to a group that does not exist. There are no capturing groups in this regular expression. +regularExpressionScanning.ts(9,4): error TS1534: This backreference refers to a group that does not exist. There are no capturing groups in this regular expression. +regularExpressionScanning.ts(12,9): error TS1533: This backreference refers to a group that does not exist. There are only 4 capturing groups in this regular expression. +regularExpressionScanning.ts(12,24): error TS1536: Octal escape sequences and backreferences are not allowed in a character class. If this was intended as an escape sequence, use the syntax '\x01' instead. +regularExpressionScanning.ts(12,26): error TS1487: Octal escape sequences are not allowed. Use the syntax '\x01'. +regularExpressionScanning.ts(12,29): error TS1536: Octal escape sequences and backreferences are not allowed in a character class. If this was intended as an escape sequence, use the syntax '\x53' instead. +regularExpressionScanning.ts(12,33): error TS1487: Octal escape sequences are not allowed. Use the syntax '\x00'. +regularExpressionScanning.ts(12,36): error TS1537: Decimal escape sequences and backreferences are not allowed in a character class. +regularExpressionScanning.ts(12,42): error TS1487: Octal escape sequences are not allowed. Use the syntax '\x03'. +regularExpressionScanning.ts(12,47): error TS1533: This backreference refers to a group that does not exist. There are only 4 capturing groups in this regular expression. +regularExpressionScanning.ts(12,48): error TS1487: Octal escape sequences are not allowed. Use the syntax '\x05'. +regularExpressionScanning.ts(12,53): error TS1533: This backreference refers to a group that does not exist. There are only 4 capturing groups in this regular expression. +regularExpressionScanning.ts(12,54): error TS1487: Octal escape sequences are not allowed. Use the syntax '\x00'. regularExpressionScanning.ts(13,9): error TS1533: This backreference refers to a group that does not exist. There are only 4 capturing groups in this regular expression. -regularExpressionScanning.ts(13,24): error TS1487: Octal escape sequences are not allowed. Use the syntax '\x01'. +regularExpressionScanning.ts(13,24): error TS1536: Octal escape sequences and backreferences are not allowed in a character class. If this was intended as an escape sequence, use the syntax '\x01' instead. regularExpressionScanning.ts(13,26): error TS1487: Octal escape sequences are not allowed. Use the syntax '\x01'. -regularExpressionScanning.ts(13,29): error TS1487: Octal escape sequences are not allowed. Use the syntax '\x53'. -regularExpressionScanning.ts(13,37): error TS1487: Octal escape sequences are not allowed. Use the syntax '\x03'. -regularExpressionScanning.ts(13,42): error TS1533: This backreference refers to a group that does not exist. There are only 4 capturing groups in this regular expression. -regularExpressionScanning.ts(13,43): error TS1487: Octal escape sequences are not allowed. Use the syntax '\x05'. -regularExpressionScanning.ts(13,48): error TS1501: This regular expression flag is only available when targeting 'es6' or later. +regularExpressionScanning.ts(13,29): error TS1536: Octal escape sequences and backreferences are not allowed in a character class. If this was intended as an escape sequence, use the syntax '\x53' instead. +regularExpressionScanning.ts(13,33): error TS1487: Octal escape sequences are not allowed. Use the syntax '\x00'. +regularExpressionScanning.ts(13,36): error TS1537: Decimal escape sequences and backreferences are not allowed in a character class. +regularExpressionScanning.ts(13,42): error TS1487: Octal escape sequences are not allowed. Use the syntax '\x03'. +regularExpressionScanning.ts(13,47): error TS1533: This backreference refers to a group that does not exist. There are only 4 capturing groups in this regular expression. +regularExpressionScanning.ts(13,48): error TS1487: Octal escape sequences are not allowed. Use the syntax '\x05'. +regularExpressionScanning.ts(13,53): error TS1533: This backreference refers to a group that does not exist. There are only 4 capturing groups in this regular expression. +regularExpressionScanning.ts(13,54): error TS1487: Octal escape sequences are not allowed. Use the syntax '\x00'. +regularExpressionScanning.ts(13,59): error TS1501: This regular expression flag is only available when targeting 'es6' or later. regularExpressionScanning.ts(14,5): error TS1503: Named capturing groups are only available when targeting 'ES2018' or later. regularExpressionScanning.ts(14,14): error TS1503: Named capturing groups are only available when targeting 'ES2018' or later. regularExpressionScanning.ts(14,29): error TS1503: Named capturing groups are only available when targeting 'ES2018' or later. @@ -39,7 +56,6 @@ regularExpressionScanning.ts(15,59): error TS1515: Named capturing groups with t regularExpressionScanning.ts(17,31): error TS1507: There is nothing available for repetition. regularExpressionScanning.ts(17,32): error TS1506: Numbers out of order in quantifier. regularExpressionScanning.ts(17,40): error TS1507: There is nothing available for repetition. -regularExpressionScanning.ts(17,61): error TS1505: Incomplete quantifier. Digit expected. regularExpressionScanning.ts(19,12): error TS1517: Range out of order in character class. regularExpressionScanning.ts(19,15): error TS1517: Range out of order in character class. regularExpressionScanning.ts(19,28): error TS1517: Range out of order in character class. @@ -210,7 +226,7 @@ regularExpressionScanning.ts(47,89): error TS1518: Anything that would possibly regularExpressionScanning.ts(47,101): error TS1501: This regular expression flag is only available when targeting 'esnext' or later. -==== regularExpressionScanning.ts (210 errors) ==== +==== regularExpressionScanning.ts (226 errors) ==== const regexes: RegExp[] = [ // Flags /foo/visualstudiocode, @@ -257,26 +273,60 @@ regularExpressionScanning.ts(47,101): error TS1501: This regular expression flag // Capturing groups /\0/, /\1/, + ~ +!!! error TS1534: This backreference refers to a group that does not exist. There are no capturing groups in this regular expression. /\2/, + ~ +!!! error TS1534: This backreference refers to a group that does not exist. There are no capturing groups in this regular expression. /(hi)\1/, /(hi) (hello) \2/, - /\2()(\12)(foo)\1\0[\0\1\01\123](\3\03)\5\005/, - /\2()(\12)(foo)\1\0[\0\1\01\123](\3\03)\5\005/u, + /\2()(\12)(foo)\1\0[\0\1\01\123\08\8](\3\03)\5\005\9\009/, ~~ !!! error TS1533: This backreference refers to a group that does not exist. There are only 4 capturing groups in this regular expression. ~~ +!!! error TS1536: Octal escape sequences and backreferences are not allowed in a character class. If this was intended as an escape sequence, use the syntax '\x01' instead. + ~~~ !!! error TS1487: Octal escape sequences are not allowed. Use the syntax '\x01'. + ~~~~ +!!! error TS1536: Octal escape sequences and backreferences are not allowed in a character class. If this was intended as an escape sequence, use the syntax '\x53' instead. + ~~ +!!! error TS1487: Octal escape sequences are not allowed. Use the syntax '\x00'. + ~~ +!!! error TS1537: Decimal escape sequences and backreferences are not allowed in a character class. + ~~~ +!!! error TS1487: Octal escape sequences are not allowed. Use the syntax '\x03'. + ~ +!!! error TS1533: This backreference refers to a group that does not exist. There are only 4 capturing groups in this regular expression. + ~~~~ +!!! error TS1487: Octal escape sequences are not allowed. Use the syntax '\x05'. + ~ +!!! error TS1533: This backreference refers to a group that does not exist. There are only 4 capturing groups in this regular expression. + ~~~ +!!! error TS1487: Octal escape sequences are not allowed. Use the syntax '\x00'. + /\2()(\12)(foo)\1\0[\0\1\01\123\08\8](\3\03)\5\005\9\009/u, + ~~ +!!! error TS1533: This backreference refers to a group that does not exist. There are only 4 capturing groups in this regular expression. + ~~ +!!! error TS1536: Octal escape sequences and backreferences are not allowed in a character class. If this was intended as an escape sequence, use the syntax '\x01' instead. ~~~ !!! error TS1487: Octal escape sequences are not allowed. Use the syntax '\x01'. ~~~~ -!!! error TS1487: Octal escape sequences are not allowed. Use the syntax '\x53'. - ~~~ +!!! error TS1536: Octal escape sequences and backreferences are not allowed in a character class. If this was intended as an escape sequence, use the syntax '\x53' instead. + ~~ +!!! error TS1487: Octal escape sequences are not allowed. Use the syntax '\x00'. + ~~ +!!! error TS1537: Decimal escape sequences and backreferences are not allowed in a character class. + ~~~ !!! error TS1487: Octal escape sequences are not allowed. Use the syntax '\x03'. - ~ + ~ !!! error TS1533: This backreference refers to a group that does not exist. There are only 4 capturing groups in this regular expression. - ~~~~ + ~~~~ !!! error TS1487: Octal escape sequences are not allowed. Use the syntax '\x05'. - ~ + ~ +!!! error TS1533: This backreference refers to a group that does not exist. There are only 4 capturing groups in this regular expression. + ~~~ +!!! error TS1487: Octal escape sequences are not allowed. Use the syntax '\x00'. + ~ !!! error TS1501: This regular expression flag is only available when targeting 'es6' or later. /(?)((?bar)bar)(?baz)|(foo(?foo))(?)/, ~~~~~ @@ -310,8 +360,6 @@ regularExpressionScanning.ts(47,101): error TS1501: This regular expression flag !!! error TS1506: Numbers out of order in quantifier. ~~~~~~~~~ !!! error TS1507: There is nothing available for repetition. - -!!! error TS1505: Incomplete quantifier. Digit expected. // Character classes /[-A-Za-z-z-aZ-A\d_-\d-.-.\r-\n\w-\W]/, ~~~ diff --git a/tests/baselines/reference/regularExpressionScanning(target=es5).js b/tests/baselines/reference/regularExpressionScanning(target=es5).js index fa691f88c1b0f..9b9e04d7ae9cc 100644 --- a/tests/baselines/reference/regularExpressionScanning(target=es5).js +++ b/tests/baselines/reference/regularExpressionScanning(target=es5).js @@ -12,8 +12,8 @@ const regexes: RegExp[] = [ /\2/, /(hi)\1/, /(hi) (hello) \2/, - /\2()(\12)(foo)\1\0[\0\1\01\123](\3\03)\5\005/, - /\2()(\12)(foo)\1\0[\0\1\01\123](\3\03)\5\005/u, + /\2()(\12)(foo)\1\0[\0\1\01\123\08\8](\3\03)\5\005\9\009/, + /\2()(\12)(foo)\1\0[\0\1\01\123\08\8](\3\03)\5\005\9\009/u, /(?)((?bar)bar)(?baz)|(foo(?foo))(?)/, /(\k)\k(?foo)|(?)((?)|(bar(?bar)))/, // Quantifiers @@ -63,8 +63,8 @@ var regexes = [ /\2/, /(hi)\1/, /(hi) (hello) \2/, - /\2()(\12)(foo)\1\0[\0\1\01\123](\3\03)\5\005/, - /\2()(\12)(foo)\1\0[\0\1\01\123](\3\03)\5\005/u, + /\2()(\12)(foo)\1\0[\0\1\01\123\08\8](\3\03)\5\005\9\009/, + /\2()(\12)(foo)\1\0[\0\1\01\123\08\8](\3\03)\5\005\9\009/u, /(?)((?bar)bar)(?baz)|(foo(?foo))(?)/, /(\k)\k(?foo)|(?)((?)|(bar(?bar)))/, // Quantifiers diff --git a/tests/baselines/reference/regularExpressionScanning(target=es5).symbols b/tests/baselines/reference/regularExpressionScanning(target=es5).symbols index 7f424ca297bad..510a311226e8e 100644 --- a/tests/baselines/reference/regularExpressionScanning(target=es5).symbols +++ b/tests/baselines/reference/regularExpressionScanning(target=es5).symbols @@ -15,8 +15,8 @@ const regexes: RegExp[] = [ /\2/, /(hi)\1/, /(hi) (hello) \2/, - /\2()(\12)(foo)\1\0[\0\1\01\123](\3\03)\5\005/, - /\2()(\12)(foo)\1\0[\0\1\01\123](\3\03)\5\005/u, + /\2()(\12)(foo)\1\0[\0\1\01\123\08\8](\3\03)\5\005\9\009/, + /\2()(\12)(foo)\1\0[\0\1\01\123\08\8](\3\03)\5\005\9\009/u, /(?)((?bar)bar)(?baz)|(foo(?foo))(?)/, /(\k)\k(?foo)|(?)((?)|(bar(?bar)))/, // Quantifiers diff --git a/tests/baselines/reference/regularExpressionScanning(target=es5).types b/tests/baselines/reference/regularExpressionScanning(target=es5).types index 18219dd210a87..7bd5841bd26be 100644 --- a/tests/baselines/reference/regularExpressionScanning(target=es5).types +++ b/tests/baselines/reference/regularExpressionScanning(target=es5).types @@ -4,8 +4,8 @@ const regexes: RegExp[] = [ >regexes : RegExp[] > : ^^^^^^^^ ->[ // Flags /foo/visualstudiocode, // Pattern modifiers /(?med-ium:bar)/, // Capturing groups /\0/, /\1/, /\2/, /(hi)\1/, /(hi) (hello) \2/, /\2()(\12)(foo)\1\0[\0\1\01\123](\3\03)\5\005/, /\2()(\12)(foo)\1\0[\0\1\01\123](\3\03)\5\005/u, /(?)((?bar)bar)(?baz)|(foo(?foo))(?)/, /(\k)\k(?foo)|(?)((?)|(bar(?bar)))/, // Quantifiers /{}{1,2}_{3}.{4,}?(foo){008}${32,16}\b{064,128}.+&*?\???\n{,256}{\\{,/, // Character classes /[-A-Za-z-z-aZ-A\d_-\d-.-.\r-\n\w-\W]/, /\p{L}\p{gc=L}\p{ASCII}\p{Invalid}[\p{L}\p{gc=L}\P{ASCII}\p{Invalid}]/, /\p{L}\p{gc=L}\p{ASCII}\p{Invalid}[\p{L}\p{gc=L}\P{ASCII}\p{Invalid}]/u, /\p{L}\p{gc=L}\p{ASCII}\p{Invalid}[\p{L}\p{gc=L}\P{ASCII}\p{Invalid}]/v, /\p{InvalidProperty=Value}\p{=}\p{sc=}\P{=foo}[\p{}\p\\\P\P{]\p{/, /\p{InvalidProperty=Value}\p{=}\p{sc=}\P{=foo}[\p{}\p\\\P\P{]\p{/u, /\p{InvalidProperty=Value}\p{=}\p{sc=}\P{=foo}[\p{}\p\\\P\P{]\p{/v, /\p{RGI_Emoji}\P{RGI_Emoji}[^\p{RGI_Emoji}\P{RGI_Emoji}]/, /\p{RGI_Emoji}\P{RGI_Emoji}[^\p{RGI_Emoji}\P{RGI_Emoji}]/u, /\p{RGI_Emoji}\P{RGI_Emoji}[^\p{RGI_Emoji}\P{RGI_Emoji}]/v, // Character escapes /\c[\c0\ca\cQ\c\C]\c1\C/, /\c[\c0\ca\cQ\c\C]\c1\C/u, /\q\\\`[\q\\\`[\Q\\\Q{\q{foo|bar|baz]\q{]\q{/, /\q\\\`[\q\\\`[\Q\\\Q{\q{foo|bar|baz]\q{]\q{/u, /\q\\\`[\q\\\`[\Q\\\Q{\q{foo|bar|baz]\q{]\q{/v, // Unicode sets notation /[a--b[--][\d++[]]&&[[&0-9--]&&[\p{L}]--\P{L}-_-]]&&&\q{foo}[0---9][&&q&&&\q{bar}&&]/, /[a--b[--][\d++[]]&&[[&0-9--]&&[\p{L}]--\P{L}-_-]]&&&\q{foo}[0---9][&&q&&&\q{bar}&&]/u, /[a--b[--][\d++[]]&&[[&0-9--]&&[\p{L}]--\P{L}-_-]]&&&\q{foo}[0---9][&&q&&&\q{bar}&&]/v, /[[^\P{Decimal_Number}&&[0-9]]&&\p{L}&&\p{ID_Continue}--\p{ASCII}\p{CWCF}]/v, /[^\p{Emoji}\p{RGI_Emoji}][^\p{Emoji}--\p{RGI_Emoji}][^\p{Emoji}&&\p{RGI_Emoji}]/v, /[^\p{RGI_Emoji}\p{Emoji}][^\p{RGI_Emoji}--\p{Emoji}][^\p{RGI_Emoji}&&\p{Emoji}]/v, /[^\p{RGI_Emoji}\q{foo}][^\p{RGI_Emoji}--\q{foo}][^\p{RGI_Emoji}&&\q{foo}]/v, /[^\p{Emoji}[[\p{RGI_Emoji}]]][^\p{Emoji}--[[\p{RGI_Emoji}]]][^\p{Emoji}&&[[\p{RGI_Emoji}]]]/v, /[^[[\p{RGI_Emoji}]]\p{Emoji}][^[[\p{RGI_Emoji}]]--\p{Emoji}][^[[\p{RGI_Emoji}]]&&\p{Emoji}]/v, /[^[[\p{RGI_Emoji}]]\q{foo}][^[[\p{RGI_Emoji}]]--\q{foo}][^[[\p{RGI_Emoji}]]&&\q{foo}]/v, /[^\q{foo|bar|baz}--\q{foo}--\q{bar}--\q{baz}][^\p{L}--\q{foo}--[\q{bar}]--[^[\q{baz}]]]/v, /[^[[\q{foo|bar|baz}]]--\q{foo}--\q{bar}--\q{baz}][^[^[^\p{L}]]--\q{foo}--[\q{bar}]--[^[\q{baz}]]]/v,] : RegExp[] -> : ^^^^^^^^ +>[ // Flags /foo/visualstudiocode, // Pattern modifiers /(?med-ium:bar)/, // Capturing groups /\0/, /\1/, /\2/, /(hi)\1/, /(hi) (hello) \2/, /\2()(\12)(foo)\1\0[\0\1\01\123\08\8](\3\03)\5\005\9\009/, /\2()(\12)(foo)\1\0[\0\1\01\123\08\8](\3\03)\5\005\9\009/u, /(?)((?bar)bar)(?baz)|(foo(?foo))(?)/, /(\k)\k(?foo)|(?)((?)|(bar(?bar)))/, // Quantifiers /{}{1,2}_{3}.{4,}?(foo){008}${32,16}\b{064,128}.+&*?\???\n{,256}{\\{,/, // Character classes /[-A-Za-z-z-aZ-A\d_-\d-.-.\r-\n\w-\W]/, /\p{L}\p{gc=L}\p{ASCII}\p{Invalid}[\p{L}\p{gc=L}\P{ASCII}\p{Invalid}]/, /\p{L}\p{gc=L}\p{ASCII}\p{Invalid}[\p{L}\p{gc=L}\P{ASCII}\p{Invalid}]/u, /\p{L}\p{gc=L}\p{ASCII}\p{Invalid}[\p{L}\p{gc=L}\P{ASCII}\p{Invalid}]/v, /\p{InvalidProperty=Value}\p{=}\p{sc=}\P{=foo}[\p{}\p\\\P\P{]\p{/, /\p{InvalidProperty=Value}\p{=}\p{sc=}\P{=foo}[\p{}\p\\\P\P{]\p{/u, /\p{InvalidProperty=Value}\p{=}\p{sc=}\P{=foo}[\p{}\p\\\P\P{]\p{/v, /\p{RGI_Emoji}\P{RGI_Emoji}[^\p{RGI_Emoji}\P{RGI_Emoji}]/, /\p{RGI_Emoji}\P{RGI_Emoji}[^\p{RGI_Emoji}\P{RGI_Emoji}]/u, /\p{RGI_Emoji}\P{RGI_Emoji}[^\p{RGI_Emoji}\P{RGI_Emoji}]/v, // Character escapes /\c[\c0\ca\cQ\c\C]\c1\C/, /\c[\c0\ca\cQ\c\C]\c1\C/u, /\q\\\`[\q\\\`[\Q\\\Q{\q{foo|bar|baz]\q{]\q{/, /\q\\\`[\q\\\`[\Q\\\Q{\q{foo|bar|baz]\q{]\q{/u, /\q\\\`[\q\\\`[\Q\\\Q{\q{foo|bar|baz]\q{]\q{/v, // Unicode sets notation /[a--b[--][\d++[]]&&[[&0-9--]&&[\p{L}]--\P{L}-_-]]&&&\q{foo}[0---9][&&q&&&\q{bar}&&]/, /[a--b[--][\d++[]]&&[[&0-9--]&&[\p{L}]--\P{L}-_-]]&&&\q{foo}[0---9][&&q&&&\q{bar}&&]/u, /[a--b[--][\d++[]]&&[[&0-9--]&&[\p{L}]--\P{L}-_-]]&&&\q{foo}[0---9][&&q&&&\q{bar}&&]/v, /[[^\P{Decimal_Number}&&[0-9]]&&\p{L}&&\p{ID_Continue}--\p{ASCII}\p{CWCF}]/v, /[^\p{Emoji}\p{RGI_Emoji}][^\p{Emoji}--\p{RGI_Emoji}][^\p{Emoji}&&\p{RGI_Emoji}]/v, /[^\p{RGI_Emoji}\p{Emoji}][^\p{RGI_Emoji}--\p{Emoji}][^\p{RGI_Emoji}&&\p{Emoji}]/v, /[^\p{RGI_Emoji}\q{foo}][^\p{RGI_Emoji}--\q{foo}][^\p{RGI_Emoji}&&\q{foo}]/v, /[^\p{Emoji}[[\p{RGI_Emoji}]]][^\p{Emoji}--[[\p{RGI_Emoji}]]][^\p{Emoji}&&[[\p{RGI_Emoji}]]]/v, /[^[[\p{RGI_Emoji}]]\p{Emoji}][^[[\p{RGI_Emoji}]]--\p{Emoji}][^[[\p{RGI_Emoji}]]&&\p{Emoji}]/v, /[^[[\p{RGI_Emoji}]]\q{foo}][^[[\p{RGI_Emoji}]]--\q{foo}][^[[\p{RGI_Emoji}]]&&\q{foo}]/v, /[^\q{foo|bar|baz}--\q{foo}--\q{bar}--\q{baz}][^\p{L}--\q{foo}--[\q{bar}]--[^[\q{baz}]]]/v, /[^[[\q{foo|bar|baz}]]--\q{foo}--\q{bar}--\q{baz}][^[^[^\p{L}]]--\q{foo}--[\q{bar}]--[^[\q{baz}]]]/v,] : RegExp[] +> : ^^^^^^^^ // Flags /foo/visualstudiocode, @@ -38,13 +38,13 @@ const regexes: RegExp[] = [ >/(hi) (hello) \2/ : RegExp > : ^^^^^^ - /\2()(\12)(foo)\1\0[\0\1\01\123](\3\03)\5\005/, ->/\2()(\12)(foo)\1\0[\0\1\01\123](\3\03)\5\005/ : RegExp -> : ^^^^^^ + /\2()(\12)(foo)\1\0[\0\1\01\123\08\8](\3\03)\5\005\9\009/, +>/\2()(\12)(foo)\1\0[\0\1\01\123\08\8](\3\03)\5\005\9\009/ : RegExp +> : ^^^^^^ - /\2()(\12)(foo)\1\0[\0\1\01\123](\3\03)\5\005/u, ->/\2()(\12)(foo)\1\0[\0\1\01\123](\3\03)\5\005/u : RegExp -> : ^^^^^^ + /\2()(\12)(foo)\1\0[\0\1\01\123\08\8](\3\03)\5\005\9\009/u, +>/\2()(\12)(foo)\1\0[\0\1\01\123\08\8](\3\03)\5\005\9\009/u : RegExp +> : ^^^^^^ /(?)((?bar)bar)(?baz)|(foo(?foo))(?)/, >/(?)((?bar)bar)(?baz)|(foo(?foo))(?)/ : RegExp diff --git a/tests/baselines/reference/regularExpressionScanning(target=esnext).errors.txt b/tests/baselines/reference/regularExpressionScanning(target=esnext).errors.txt index 9b641966e016a..c2d144d42c511 100644 --- a/tests/baselines/reference/regularExpressionScanning(target=esnext).errors.txt +++ b/tests/baselines/reference/regularExpressionScanning(target=esnext).errors.txt @@ -14,19 +14,35 @@ regularExpressionScanning.ts(5,6): error TS1499: Unknown regular expression flag regularExpressionScanning.ts(5,7): error TS1509: This regular expression flag cannot be toggled within a subpattern. regularExpressionScanning.ts(5,10): error TS1509: This regular expression flag cannot be toggled within a subpattern. regularExpressionScanning.ts(5,11): error TS1500: Duplicate regular expression flag. +regularExpressionScanning.ts(8,4): error TS1534: This backreference refers to a group that does not exist. There are no capturing groups in this regular expression. +regularExpressionScanning.ts(9,4): error TS1534: This backreference refers to a group that does not exist. There are no capturing groups in this regular expression. +regularExpressionScanning.ts(12,9): error TS1533: This backreference refers to a group that does not exist. There are only 4 capturing groups in this regular expression. +regularExpressionScanning.ts(12,24): error TS1536: Octal escape sequences and backreferences are not allowed in a character class. If this was intended as an escape sequence, use the syntax '\x01' instead. +regularExpressionScanning.ts(12,26): error TS1487: Octal escape sequences are not allowed. Use the syntax '\x01'. +regularExpressionScanning.ts(12,29): error TS1536: Octal escape sequences and backreferences are not allowed in a character class. If this was intended as an escape sequence, use the syntax '\x53' instead. +regularExpressionScanning.ts(12,33): error TS1487: Octal escape sequences are not allowed. Use the syntax '\x00'. +regularExpressionScanning.ts(12,36): error TS1537: Decimal escape sequences and backreferences are not allowed in a character class. +regularExpressionScanning.ts(12,42): error TS1487: Octal escape sequences are not allowed. Use the syntax '\x03'. +regularExpressionScanning.ts(12,47): error TS1533: This backreference refers to a group that does not exist. There are only 4 capturing groups in this regular expression. +regularExpressionScanning.ts(12,48): error TS1487: Octal escape sequences are not allowed. Use the syntax '\x05'. +regularExpressionScanning.ts(12,53): error TS1533: This backreference refers to a group that does not exist. There are only 4 capturing groups in this regular expression. +regularExpressionScanning.ts(12,54): error TS1487: Octal escape sequences are not allowed. Use the syntax '\x00'. regularExpressionScanning.ts(13,9): error TS1533: This backreference refers to a group that does not exist. There are only 4 capturing groups in this regular expression. -regularExpressionScanning.ts(13,24): error TS1487: Octal escape sequences are not allowed. Use the syntax '\x01'. +regularExpressionScanning.ts(13,24): error TS1536: Octal escape sequences and backreferences are not allowed in a character class. If this was intended as an escape sequence, use the syntax '\x01' instead. regularExpressionScanning.ts(13,26): error TS1487: Octal escape sequences are not allowed. Use the syntax '\x01'. -regularExpressionScanning.ts(13,29): error TS1487: Octal escape sequences are not allowed. Use the syntax '\x53'. -regularExpressionScanning.ts(13,37): error TS1487: Octal escape sequences are not allowed. Use the syntax '\x03'. -regularExpressionScanning.ts(13,42): error TS1533: This backreference refers to a group that does not exist. There are only 4 capturing groups in this regular expression. -regularExpressionScanning.ts(13,43): error TS1487: Octal escape sequences are not allowed. Use the syntax '\x05'. +regularExpressionScanning.ts(13,29): error TS1536: Octal escape sequences and backreferences are not allowed in a character class. If this was intended as an escape sequence, use the syntax '\x53' instead. +regularExpressionScanning.ts(13,33): error TS1487: Octal escape sequences are not allowed. Use the syntax '\x00'. +regularExpressionScanning.ts(13,36): error TS1537: Decimal escape sequences and backreferences are not allowed in a character class. +regularExpressionScanning.ts(13,42): error TS1487: Octal escape sequences are not allowed. Use the syntax '\x03'. +regularExpressionScanning.ts(13,47): error TS1533: This backreference refers to a group that does not exist. There are only 4 capturing groups in this regular expression. +regularExpressionScanning.ts(13,48): error TS1487: Octal escape sequences are not allowed. Use the syntax '\x05'. +regularExpressionScanning.ts(13,53): error TS1533: This backreference refers to a group that does not exist. There are only 4 capturing groups in this regular expression. +regularExpressionScanning.ts(13,54): error TS1487: Octal escape sequences are not allowed. Use the syntax '\x00'. regularExpressionScanning.ts(15,15): error TS1532: There is no capturing group named 'absent' in this regular expression. regularExpressionScanning.ts(15,59): error TS1515: Named capturing groups with the same name must be mutually exclusive to each other. regularExpressionScanning.ts(17,31): error TS1507: There is nothing available for repetition. regularExpressionScanning.ts(17,32): error TS1506: Numbers out of order in quantifier. regularExpressionScanning.ts(17,40): error TS1507: There is nothing available for repetition. -regularExpressionScanning.ts(17,61): error TS1505: Incomplete quantifier. Digit expected. regularExpressionScanning.ts(19,12): error TS1517: Range out of order in character class. regularExpressionScanning.ts(19,15): error TS1517: Range out of order in character class. regularExpressionScanning.ts(19,28): error TS1517: Range out of order in character class. @@ -177,7 +193,7 @@ regularExpressionScanning.ts(47,5): error TS1518: Anything that would possibly m regularExpressionScanning.ts(47,89): error TS1518: Anything that would possibly match more than a single character is invalid inside a negated character class. -==== regularExpressionScanning.ts (177 errors) ==== +==== regularExpressionScanning.ts (193 errors) ==== const regexes: RegExp[] = [ // Flags /foo/visualstudiocode, @@ -218,25 +234,59 @@ regularExpressionScanning.ts(47,89): error TS1518: Anything that would possibly // Capturing groups /\0/, /\1/, + ~ +!!! error TS1534: This backreference refers to a group that does not exist. There are no capturing groups in this regular expression. /\2/, + ~ +!!! error TS1534: This backreference refers to a group that does not exist. There are no capturing groups in this regular expression. /(hi)\1/, /(hi) (hello) \2/, - /\2()(\12)(foo)\1\0[\0\1\01\123](\3\03)\5\005/, - /\2()(\12)(foo)\1\0[\0\1\01\123](\3\03)\5\005/u, + /\2()(\12)(foo)\1\0[\0\1\01\123\08\8](\3\03)\5\005\9\009/, ~~ !!! error TS1533: This backreference refers to a group that does not exist. There are only 4 capturing groups in this regular expression. ~~ +!!! error TS1536: Octal escape sequences and backreferences are not allowed in a character class. If this was intended as an escape sequence, use the syntax '\x01' instead. + ~~~ !!! error TS1487: Octal escape sequences are not allowed. Use the syntax '\x01'. + ~~~~ +!!! error TS1536: Octal escape sequences and backreferences are not allowed in a character class. If this was intended as an escape sequence, use the syntax '\x53' instead. + ~~ +!!! error TS1487: Octal escape sequences are not allowed. Use the syntax '\x00'. + ~~ +!!! error TS1537: Decimal escape sequences and backreferences are not allowed in a character class. + ~~~ +!!! error TS1487: Octal escape sequences are not allowed. Use the syntax '\x03'. + ~ +!!! error TS1533: This backreference refers to a group that does not exist. There are only 4 capturing groups in this regular expression. + ~~~~ +!!! error TS1487: Octal escape sequences are not allowed. Use the syntax '\x05'. + ~ +!!! error TS1533: This backreference refers to a group that does not exist. There are only 4 capturing groups in this regular expression. + ~~~ +!!! error TS1487: Octal escape sequences are not allowed. Use the syntax '\x00'. + /\2()(\12)(foo)\1\0[\0\1\01\123\08\8](\3\03)\5\005\9\009/u, + ~~ +!!! error TS1533: This backreference refers to a group that does not exist. There are only 4 capturing groups in this regular expression. + ~~ +!!! error TS1536: Octal escape sequences and backreferences are not allowed in a character class. If this was intended as an escape sequence, use the syntax '\x01' instead. ~~~ !!! error TS1487: Octal escape sequences are not allowed. Use the syntax '\x01'. ~~~~ -!!! error TS1487: Octal escape sequences are not allowed. Use the syntax '\x53'. - ~~~ +!!! error TS1536: Octal escape sequences and backreferences are not allowed in a character class. If this was intended as an escape sequence, use the syntax '\x53' instead. + ~~ +!!! error TS1487: Octal escape sequences are not allowed. Use the syntax '\x00'. + ~~ +!!! error TS1537: Decimal escape sequences and backreferences are not allowed in a character class. + ~~~ !!! error TS1487: Octal escape sequences are not allowed. Use the syntax '\x03'. - ~ + ~ !!! error TS1533: This backreference refers to a group that does not exist. There are only 4 capturing groups in this regular expression. - ~~~~ + ~~~~ !!! error TS1487: Octal escape sequences are not allowed. Use the syntax '\x05'. + ~ +!!! error TS1533: This backreference refers to a group that does not exist. There are only 4 capturing groups in this regular expression. + ~~~ +!!! error TS1487: Octal escape sequences are not allowed. Use the syntax '\x00'. /(?)((?bar)bar)(?baz)|(foo(?foo))(?)/, /(\k)\k(?foo)|(?)((?)|(bar(?bar)))/, ~~~~~~ @@ -251,8 +301,6 @@ regularExpressionScanning.ts(47,89): error TS1518: Anything that would possibly !!! error TS1506: Numbers out of order in quantifier. ~~~~~~~~~ !!! error TS1507: There is nothing available for repetition. - -!!! error TS1505: Incomplete quantifier. Digit expected. // Character classes /[-A-Za-z-z-aZ-A\d_-\d-.-.\r-\n\w-\W]/, ~~~ diff --git a/tests/baselines/reference/regularExpressionScanning(target=esnext).js b/tests/baselines/reference/regularExpressionScanning(target=esnext).js index 0c7a8eb88a13f..532b81598e326 100644 --- a/tests/baselines/reference/regularExpressionScanning(target=esnext).js +++ b/tests/baselines/reference/regularExpressionScanning(target=esnext).js @@ -12,8 +12,8 @@ const regexes: RegExp[] = [ /\2/, /(hi)\1/, /(hi) (hello) \2/, - /\2()(\12)(foo)\1\0[\0\1\01\123](\3\03)\5\005/, - /\2()(\12)(foo)\1\0[\0\1\01\123](\3\03)\5\005/u, + /\2()(\12)(foo)\1\0[\0\1\01\123\08\8](\3\03)\5\005\9\009/, + /\2()(\12)(foo)\1\0[\0\1\01\123\08\8](\3\03)\5\005\9\009/u, /(?)((?bar)bar)(?baz)|(foo(?foo))(?)/, /(\k)\k(?foo)|(?)((?)|(bar(?bar)))/, // Quantifiers @@ -63,8 +63,8 @@ const regexes = [ /\2/, /(hi)\1/, /(hi) (hello) \2/, - /\2()(\12)(foo)\1\0[\0\1\01\123](\3\03)\5\005/, - /\2()(\12)(foo)\1\0[\0\1\01\123](\3\03)\5\005/u, + /\2()(\12)(foo)\1\0[\0\1\01\123\08\8](\3\03)\5\005\9\009/, + /\2()(\12)(foo)\1\0[\0\1\01\123\08\8](\3\03)\5\005\9\009/u, /(?)((?bar)bar)(?baz)|(foo(?foo))(?)/, /(\k)\k(?foo)|(?)((?)|(bar(?bar)))/, // Quantifiers diff --git a/tests/baselines/reference/regularExpressionScanning(target=esnext).symbols b/tests/baselines/reference/regularExpressionScanning(target=esnext).symbols index 72c3617f33d6f..fccd492b24d86 100644 --- a/tests/baselines/reference/regularExpressionScanning(target=esnext).symbols +++ b/tests/baselines/reference/regularExpressionScanning(target=esnext).symbols @@ -15,8 +15,8 @@ const regexes: RegExp[] = [ /\2/, /(hi)\1/, /(hi) (hello) \2/, - /\2()(\12)(foo)\1\0[\0\1\01\123](\3\03)\5\005/, - /\2()(\12)(foo)\1\0[\0\1\01\123](\3\03)\5\005/u, + /\2()(\12)(foo)\1\0[\0\1\01\123\08\8](\3\03)\5\005\9\009/, + /\2()(\12)(foo)\1\0[\0\1\01\123\08\8](\3\03)\5\005\9\009/u, /(?)((?bar)bar)(?baz)|(foo(?foo))(?)/, /(\k)\k(?foo)|(?)((?)|(bar(?bar)))/, // Quantifiers diff --git a/tests/baselines/reference/regularExpressionScanning(target=esnext).types b/tests/baselines/reference/regularExpressionScanning(target=esnext).types index 18219dd210a87..7bd5841bd26be 100644 --- a/tests/baselines/reference/regularExpressionScanning(target=esnext).types +++ b/tests/baselines/reference/regularExpressionScanning(target=esnext).types @@ -4,8 +4,8 @@ const regexes: RegExp[] = [ >regexes : RegExp[] > : ^^^^^^^^ ->[ // Flags /foo/visualstudiocode, // Pattern modifiers /(?med-ium:bar)/, // Capturing groups /\0/, /\1/, /\2/, /(hi)\1/, /(hi) (hello) \2/, /\2()(\12)(foo)\1\0[\0\1\01\123](\3\03)\5\005/, /\2()(\12)(foo)\1\0[\0\1\01\123](\3\03)\5\005/u, /(?)((?bar)bar)(?baz)|(foo(?foo))(?)/, /(\k)\k(?foo)|(?)((?)|(bar(?bar)))/, // Quantifiers /{}{1,2}_{3}.{4,}?(foo){008}${32,16}\b{064,128}.+&*?\???\n{,256}{\\{,/, // Character classes /[-A-Za-z-z-aZ-A\d_-\d-.-.\r-\n\w-\W]/, /\p{L}\p{gc=L}\p{ASCII}\p{Invalid}[\p{L}\p{gc=L}\P{ASCII}\p{Invalid}]/, /\p{L}\p{gc=L}\p{ASCII}\p{Invalid}[\p{L}\p{gc=L}\P{ASCII}\p{Invalid}]/u, /\p{L}\p{gc=L}\p{ASCII}\p{Invalid}[\p{L}\p{gc=L}\P{ASCII}\p{Invalid}]/v, /\p{InvalidProperty=Value}\p{=}\p{sc=}\P{=foo}[\p{}\p\\\P\P{]\p{/, /\p{InvalidProperty=Value}\p{=}\p{sc=}\P{=foo}[\p{}\p\\\P\P{]\p{/u, /\p{InvalidProperty=Value}\p{=}\p{sc=}\P{=foo}[\p{}\p\\\P\P{]\p{/v, /\p{RGI_Emoji}\P{RGI_Emoji}[^\p{RGI_Emoji}\P{RGI_Emoji}]/, /\p{RGI_Emoji}\P{RGI_Emoji}[^\p{RGI_Emoji}\P{RGI_Emoji}]/u, /\p{RGI_Emoji}\P{RGI_Emoji}[^\p{RGI_Emoji}\P{RGI_Emoji}]/v, // Character escapes /\c[\c0\ca\cQ\c\C]\c1\C/, /\c[\c0\ca\cQ\c\C]\c1\C/u, /\q\\\`[\q\\\`[\Q\\\Q{\q{foo|bar|baz]\q{]\q{/, /\q\\\`[\q\\\`[\Q\\\Q{\q{foo|bar|baz]\q{]\q{/u, /\q\\\`[\q\\\`[\Q\\\Q{\q{foo|bar|baz]\q{]\q{/v, // Unicode sets notation /[a--b[--][\d++[]]&&[[&0-9--]&&[\p{L}]--\P{L}-_-]]&&&\q{foo}[0---9][&&q&&&\q{bar}&&]/, /[a--b[--][\d++[]]&&[[&0-9--]&&[\p{L}]--\P{L}-_-]]&&&\q{foo}[0---9][&&q&&&\q{bar}&&]/u, /[a--b[--][\d++[]]&&[[&0-9--]&&[\p{L}]--\P{L}-_-]]&&&\q{foo}[0---9][&&q&&&\q{bar}&&]/v, /[[^\P{Decimal_Number}&&[0-9]]&&\p{L}&&\p{ID_Continue}--\p{ASCII}\p{CWCF}]/v, /[^\p{Emoji}\p{RGI_Emoji}][^\p{Emoji}--\p{RGI_Emoji}][^\p{Emoji}&&\p{RGI_Emoji}]/v, /[^\p{RGI_Emoji}\p{Emoji}][^\p{RGI_Emoji}--\p{Emoji}][^\p{RGI_Emoji}&&\p{Emoji}]/v, /[^\p{RGI_Emoji}\q{foo}][^\p{RGI_Emoji}--\q{foo}][^\p{RGI_Emoji}&&\q{foo}]/v, /[^\p{Emoji}[[\p{RGI_Emoji}]]][^\p{Emoji}--[[\p{RGI_Emoji}]]][^\p{Emoji}&&[[\p{RGI_Emoji}]]]/v, /[^[[\p{RGI_Emoji}]]\p{Emoji}][^[[\p{RGI_Emoji}]]--\p{Emoji}][^[[\p{RGI_Emoji}]]&&\p{Emoji}]/v, /[^[[\p{RGI_Emoji}]]\q{foo}][^[[\p{RGI_Emoji}]]--\q{foo}][^[[\p{RGI_Emoji}]]&&\q{foo}]/v, /[^\q{foo|bar|baz}--\q{foo}--\q{bar}--\q{baz}][^\p{L}--\q{foo}--[\q{bar}]--[^[\q{baz}]]]/v, /[^[[\q{foo|bar|baz}]]--\q{foo}--\q{bar}--\q{baz}][^[^[^\p{L}]]--\q{foo}--[\q{bar}]--[^[\q{baz}]]]/v,] : RegExp[] -> : ^^^^^^^^ +>[ // Flags /foo/visualstudiocode, // Pattern modifiers /(?med-ium:bar)/, // Capturing groups /\0/, /\1/, /\2/, /(hi)\1/, /(hi) (hello) \2/, /\2()(\12)(foo)\1\0[\0\1\01\123\08\8](\3\03)\5\005\9\009/, /\2()(\12)(foo)\1\0[\0\1\01\123\08\8](\3\03)\5\005\9\009/u, /(?)((?bar)bar)(?baz)|(foo(?foo))(?)/, /(\k)\k(?foo)|(?)((?)|(bar(?bar)))/, // Quantifiers /{}{1,2}_{3}.{4,}?(foo){008}${32,16}\b{064,128}.+&*?\???\n{,256}{\\{,/, // Character classes /[-A-Za-z-z-aZ-A\d_-\d-.-.\r-\n\w-\W]/, /\p{L}\p{gc=L}\p{ASCII}\p{Invalid}[\p{L}\p{gc=L}\P{ASCII}\p{Invalid}]/, /\p{L}\p{gc=L}\p{ASCII}\p{Invalid}[\p{L}\p{gc=L}\P{ASCII}\p{Invalid}]/u, /\p{L}\p{gc=L}\p{ASCII}\p{Invalid}[\p{L}\p{gc=L}\P{ASCII}\p{Invalid}]/v, /\p{InvalidProperty=Value}\p{=}\p{sc=}\P{=foo}[\p{}\p\\\P\P{]\p{/, /\p{InvalidProperty=Value}\p{=}\p{sc=}\P{=foo}[\p{}\p\\\P\P{]\p{/u, /\p{InvalidProperty=Value}\p{=}\p{sc=}\P{=foo}[\p{}\p\\\P\P{]\p{/v, /\p{RGI_Emoji}\P{RGI_Emoji}[^\p{RGI_Emoji}\P{RGI_Emoji}]/, /\p{RGI_Emoji}\P{RGI_Emoji}[^\p{RGI_Emoji}\P{RGI_Emoji}]/u, /\p{RGI_Emoji}\P{RGI_Emoji}[^\p{RGI_Emoji}\P{RGI_Emoji}]/v, // Character escapes /\c[\c0\ca\cQ\c\C]\c1\C/, /\c[\c0\ca\cQ\c\C]\c1\C/u, /\q\\\`[\q\\\`[\Q\\\Q{\q{foo|bar|baz]\q{]\q{/, /\q\\\`[\q\\\`[\Q\\\Q{\q{foo|bar|baz]\q{]\q{/u, /\q\\\`[\q\\\`[\Q\\\Q{\q{foo|bar|baz]\q{]\q{/v, // Unicode sets notation /[a--b[--][\d++[]]&&[[&0-9--]&&[\p{L}]--\P{L}-_-]]&&&\q{foo}[0---9][&&q&&&\q{bar}&&]/, /[a--b[--][\d++[]]&&[[&0-9--]&&[\p{L}]--\P{L}-_-]]&&&\q{foo}[0---9][&&q&&&\q{bar}&&]/u, /[a--b[--][\d++[]]&&[[&0-9--]&&[\p{L}]--\P{L}-_-]]&&&\q{foo}[0---9][&&q&&&\q{bar}&&]/v, /[[^\P{Decimal_Number}&&[0-9]]&&\p{L}&&\p{ID_Continue}--\p{ASCII}\p{CWCF}]/v, /[^\p{Emoji}\p{RGI_Emoji}][^\p{Emoji}--\p{RGI_Emoji}][^\p{Emoji}&&\p{RGI_Emoji}]/v, /[^\p{RGI_Emoji}\p{Emoji}][^\p{RGI_Emoji}--\p{Emoji}][^\p{RGI_Emoji}&&\p{Emoji}]/v, /[^\p{RGI_Emoji}\q{foo}][^\p{RGI_Emoji}--\q{foo}][^\p{RGI_Emoji}&&\q{foo}]/v, /[^\p{Emoji}[[\p{RGI_Emoji}]]][^\p{Emoji}--[[\p{RGI_Emoji}]]][^\p{Emoji}&&[[\p{RGI_Emoji}]]]/v, /[^[[\p{RGI_Emoji}]]\p{Emoji}][^[[\p{RGI_Emoji}]]--\p{Emoji}][^[[\p{RGI_Emoji}]]&&\p{Emoji}]/v, /[^[[\p{RGI_Emoji}]]\q{foo}][^[[\p{RGI_Emoji}]]--\q{foo}][^[[\p{RGI_Emoji}]]&&\q{foo}]/v, /[^\q{foo|bar|baz}--\q{foo}--\q{bar}--\q{baz}][^\p{L}--\q{foo}--[\q{bar}]--[^[\q{baz}]]]/v, /[^[[\q{foo|bar|baz}]]--\q{foo}--\q{bar}--\q{baz}][^[^[^\p{L}]]--\q{foo}--[\q{bar}]--[^[\q{baz}]]]/v,] : RegExp[] +> : ^^^^^^^^ // Flags /foo/visualstudiocode, @@ -38,13 +38,13 @@ const regexes: RegExp[] = [ >/(hi) (hello) \2/ : RegExp > : ^^^^^^ - /\2()(\12)(foo)\1\0[\0\1\01\123](\3\03)\5\005/, ->/\2()(\12)(foo)\1\0[\0\1\01\123](\3\03)\5\005/ : RegExp -> : ^^^^^^ + /\2()(\12)(foo)\1\0[\0\1\01\123\08\8](\3\03)\5\005\9\009/, +>/\2()(\12)(foo)\1\0[\0\1\01\123\08\8](\3\03)\5\005\9\009/ : RegExp +> : ^^^^^^ - /\2()(\12)(foo)\1\0[\0\1\01\123](\3\03)\5\005/u, ->/\2()(\12)(foo)\1\0[\0\1\01\123](\3\03)\5\005/u : RegExp -> : ^^^^^^ + /\2()(\12)(foo)\1\0[\0\1\01\123\08\8](\3\03)\5\005\9\009/u, +>/\2()(\12)(foo)\1\0[\0\1\01\123\08\8](\3\03)\5\005\9\009/u : RegExp +> : ^^^^^^ /(?)((?bar)bar)(?baz)|(foo(?foo))(?)/, >/(?)((?bar)bar)(?baz)|(foo(?foo))(?)/ : RegExp diff --git a/tests/baselines/reference/relativePathToDeclarationFile.types b/tests/baselines/reference/relativePathToDeclarationFile.types index 03cc3474fb7ad..dbe995b668fb3 100644 --- a/tests/baselines/reference/relativePathToDeclarationFile.types +++ b/tests/baselines/reference/relativePathToDeclarationFile.types @@ -35,7 +35,7 @@ if(foo.M2.x){ >other.M2.x.charCodeAt(0) : number > : ^^^^^^ >other.M2.x.charCodeAt : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >other.M2.x : string > : ^^^^^^ >other.M2 : typeof other.M2 @@ -47,7 +47,7 @@ if(foo.M2.x){ >x : string > : ^^^^^^ >charCodeAt : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ } diff --git a/tests/baselines/reference/renameStringPropertyNames2.baseline.jsonc b/tests/baselines/reference/renameStringPropertyNames2.baseline.jsonc new file mode 100644 index 0000000000000..a355ab18065a0 --- /dev/null +++ b/tests/baselines/reference/renameStringPropertyNames2.baseline.jsonc @@ -0,0 +1,10 @@ +// === findRenameLocations === +// === /tests/cases/fourslash/renameStringPropertyNames2.ts === +// type Props = { +// <|[|fooRENAME|]: boolean;|> +// } +// +// <|let { [|fooRENAME|]: foo/*END SUFFIX*/ }: Props = null as any;|> +// foo; +// +// let asd: Props = { <|"[|fooRENAME|]"/*RENAME*/: true|> }; // rename foo here \ No newline at end of file diff --git a/tests/baselines/reference/reorderProperties.types b/tests/baselines/reference/reorderProperties.types index 8093dce8f0244..c27b992221511 100644 --- a/tests/baselines/reference/reorderProperties.types +++ b/tests/baselines/reference/reorderProperties.types @@ -41,5 +41,5 @@ var d: D<{ n: number; s: string }> = c >s : string > : ^^^^^^ >c : C<{ s: string; n: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ ^^^^ diff --git a/tests/baselines/reference/requireAssertsFromTypescript.types b/tests/baselines/reference/requireAssertsFromTypescript.types index 786ba0f5b9235..89564a780c683 100644 --- a/tests/baselines/reference/requireAssertsFromTypescript.types +++ b/tests/baselines/reference/requireAssertsFromTypescript.types @@ -3,7 +3,7 @@ === 38379.js === const { art } = require('./ex') >art : (value: any, message?: string | Error) => asserts value -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >require('./ex') : typeof import("ex") > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >require : any @@ -12,9 +12,9 @@ const { art } = require('./ex') const artoo = require('./ex2') >artoo : (value: any, message?: string | Error) => asserts value -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >require('./ex2') : (value: any, message?: string | Error) => asserts value -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >require : any >'./ex2' : "./ex2" > : ^^^^^^^ @@ -29,7 +29,7 @@ art(x) >art(x) : void > : ^^^^ >art : (value: any, message?: string | Error) => asserts value -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >x : number > : ^^^^^^ @@ -43,7 +43,7 @@ artoo(y) >artoo(y) : void > : ^^^^ >artoo : (value: any, message?: string | Error) => asserts value -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >y : number > : ^^^^^^ @@ -66,5 +66,5 @@ declare function art(value: any, message?: string | Error): asserts value; export = art; >art : (value: any, message?: string | Error) => asserts value -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/requireOfJsonFileInJsFile.types b/tests/baselines/reference/requireOfJsonFileInJsFile.types index dc801c0c894f9..0df1092de2d12 100644 --- a/tests/baselines/reference/requireOfJsonFileInJsFile.types +++ b/tests/baselines/reference/requireOfJsonFileInJsFile.types @@ -22,7 +22,7 @@ json0.b; // Error (good) /** @type {{ b: number }} */ const json1 = require("./json.json"); // No error (bad) >json1 : { b: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >require("./json.json") : { a: number; } > : ^^^^^^^^^^^^^^ >require : any @@ -34,7 +34,7 @@ json1.b; // No error (OK since that's the type annotation) >json1.b : number > : ^^^^^^ >json1 : { b: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : number > : ^^^^^^ @@ -59,7 +59,7 @@ json0.b; // Error (good) /** @type {{ b: number }} */ const js1 = require("./js.js"); // Error (good) >js1 : { b: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >require("./js.js") : { a: number; } > : ^^^^^^^^^^^^^^ >require : any @@ -71,7 +71,7 @@ js1.b; >js1.b : number > : ^^^^^^ >js1 : { b: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : number > : ^^^^^^ diff --git a/tests/baselines/reference/requireTwoPropertyAccesses.types b/tests/baselines/reference/requireTwoPropertyAccesses.types index 1d5759107fd31..d0f887d90639e 100644 --- a/tests/baselines/reference/requireTwoPropertyAccesses.types +++ b/tests/baselines/reference/requireTwoPropertyAccesses.types @@ -21,11 +21,11 @@ console.log(value) >console.log(value) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >value : error === mod.js === diff --git a/tests/baselines/reference/requiredMappedTypeModifierTrumpsVariance.types b/tests/baselines/reference/requiredMappedTypeModifierTrumpsVariance.types index cc1c134f70861..d5e7d9af23894 100644 --- a/tests/baselines/reference/requiredMappedTypeModifierTrumpsVariance.types +++ b/tests/baselines/reference/requiredMappedTypeModifierTrumpsVariance.types @@ -39,37 +39,37 @@ const b: Required<{ b?: 1; x: 1 }> = { b: 1, x: 1 }; export let A = a; >A : Required<{ a?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^ ^^^^ >a : Required<{ a?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^ ^^^^ export let B = b; >B : Required<{ b?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^ ^^^^ >b : Required<{ b?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^ ^^^^ A = b; // Should Error >A = b : Required<{ b?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^ ^^^^ >A : Required<{ a?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^ ^^^^ >b : Required<{ b?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^ ^^^^ B = a; // Should Error >B = a : Required<{ a?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^ ^^^^ >B : Required<{ b?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^ ^^^^ >a : Required<{ a?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^ ^^^^ a.b; // Property 'b' does not exist on type 'Required<{ a?: 1; x: 1; }>'. >a.b : any > : ^^^ >a : Required<{ a?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^ ^^^^ >b : any > : ^^^ @@ -77,7 +77,7 @@ b.a; // Property 'a' does not exist on type 'Required<{ b?: 1; x: 1; }>'. >b.a : any > : ^^^ >b : Required<{ b?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^ ^^^^ >a : any > : ^^^ @@ -132,41 +132,41 @@ const bb: Foo<{ b?: 1; x: 1 }> = { a: { b: 1, x: 1 } }; export let AA = aa; >AA : Foo<{ a?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^ ^^^^ >aa : Foo<{ a?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^ ^^^^ export let BB = bb; >BB : Foo<{ b?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^ ^^^^ >bb : Foo<{ b?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^ ^^^^ AA = bb; // Should Error >AA = bb : Foo<{ b?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^ ^^^^ >AA : Foo<{ a?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^ ^^^^ >bb : Foo<{ b?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^ ^^^^ BB = aa; // Should Error >BB = aa : Foo<{ a?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^ ^^^^ >BB : Foo<{ b?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^ ^^^^ >aa : Foo<{ a?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^ ^^^^ aa.a.b; // Property 'b' does not exist on type 'Required<{ a?: 1; x: 1; }>'. >aa.a.b : any > : ^^^ >aa.a : Required<{ a?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^ ^^^^ >aa : Foo<{ a?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^ ^^^^ >a : Required<{ a?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^ ^^^^ >b : any > : ^^^ @@ -174,11 +174,11 @@ bb.a.a; // Property 'a' does not exist on type 'Required<{ b?: 1; x: 1; }>'. >bb.a.a : any > : ^^^ >bb.a : Required<{ b?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^ ^^^^ >bb : Foo<{ b?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^ ^^^^ >a : Required<{ b?: 1; x: 1; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^ ^^^^ >a : any > : ^^^ diff --git a/tests/baselines/reference/resolveNameWithNamspace.types b/tests/baselines/reference/resolveNameWithNamspace.types index 9066fa171adb1..877b8c757bee3 100644 --- a/tests/baselines/reference/resolveNameWithNamspace.types +++ b/tests/baselines/reference/resolveNameWithNamspace.types @@ -31,7 +31,7 @@ var myAssert = require('assert') >myAssert : any >require('assert') : any >require : (moduleName: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >'assert' : "assert" > : ^^^^^^^^ diff --git a/tests/baselines/reference/restArgAssignmentCompat.types b/tests/baselines/reference/restArgAssignmentCompat.types index 39443ebc0b12b..385410a2afc27 100644 --- a/tests/baselines/reference/restArgAssignmentCompat.types +++ b/tests/baselines/reference/restArgAssignmentCompat.types @@ -11,11 +11,11 @@ function f(...x: number[]) { >x.forEach((n, i) => void ('item ' + i + ' = ' + n)) : void > : ^^^^ >x.forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >x : number[] > : ^^^^^^^^ >forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >(n, i) => void ('item ' + i + ' = ' + n) : (n: number, i: number) => any > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^ >n : number diff --git a/tests/baselines/reference/restElementWithNumberPropertyName.types b/tests/baselines/reference/restElementWithNumberPropertyName.types index 832169425be51..7d62c246ff88e 100644 --- a/tests/baselines/reference/restElementWithNumberPropertyName.types +++ b/tests/baselines/reference/restElementWithNumberPropertyName.types @@ -4,8 +4,8 @@ const { 0: a, ...b } = [0, 1, 2]; >a : number > : ^^^^^^ ->b : { [n: number]: number; 0: number; 1: number; 2: number; length: 3; toString(): string; toLocaleString(): string; pop(): number; push(...items: number[]): number; concat(...items: ConcatArray[]): number[]; concat(...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, number, number]; splice(start: number, deleteCount?: number): number[]; splice(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[]; every(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_1, thisArg?: any): S_1[]; filter(predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; reduce(callbackfn: (previousValue: U_1, currentValue: number, currentIndex: number, array: number[]) => U_1, initialValue: U_1): U_1; reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; reduceRight(callbackfn: (previousValue: U_2, currentValue: number, currentIndex: number, array: number[]) => U_2, initialValue: U_2): U_2; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +>b : { [n: number]: number; 0: number; 1: number; 2: number; length: 3; toString(): string; toLocaleString(): string; pop(): number | undefined; push(...items: number[]): number; concat(...items: ConcatArray[]): number[]; concat(...items: (number | ConcatArray)[]): number[]; join(separator?: string): string; reverse(): number[]; shift(): number | undefined; slice(start?: number, end?: number): number[]; sort(compareFn?: (a: number, b: number) => number): [number, number, number]; splice(start: number, deleteCount?: number): number[]; splice(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[]; every(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[]; filter(predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; reduce(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; reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ >[0, 1, 2] : [number, number, number] > : ^^^^^^^^^^^^^^^^^^^^^^^^ >0 : 0 diff --git a/tests/baselines/reference/restIntersection.types b/tests/baselines/reference/restIntersection.types index db4fd5fb3dcb6..74b6ebfad0fae 100644 --- a/tests/baselines/reference/restIntersection.types +++ b/tests/baselines/reference/restIntersection.types @@ -27,7 +27,7 @@ var {x, ...rest1 } = intersection; >x : number > : ^^^^^^ >rest1 : { y: number; w: string; z: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >intersection : { x: number; y: number; } & { w: string; z: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^ diff --git a/tests/baselines/reference/restInvalidArgumentType.types b/tests/baselines/reference/restInvalidArgumentType.types index 4024308732bd9..64eb43c860498 100644 --- a/tests/baselines/reference/restInvalidArgumentType.types +++ b/tests/baselines/reference/restInvalidArgumentType.types @@ -11,7 +11,7 @@ enum E { v1, v2 }; function f(p1: T, p2: T[]) { >f : (p1: T, p2: T[]) => void -> : ^ ^^^^^^^^^^^^^^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >b : string > : ^^^^^^ >p1 : T @@ -102,8 +102,8 @@ function f(p1: T, p2: T[]) { > : ^ var {...r2} = p2; // OK ->r2 : { [n: number]: T; length: number; toString(): string; toLocaleString(): string; pop(): T; push(...items: T[]): number; concat(...items: ConcatArray[]): T[]; concat(...items: (T | ConcatArray)[]): T[]; join(separator?: string): string; reverse(): T[]; shift(): T; slice(start?: number, end?: number): T[]; sort(compareFn?: (a: T, b: T) => number): T[]; splice(start: number, deleteCount?: number): T[]; splice(start: number, deleteCount: number, ...items: T[]): T[]; unshift(...items: T[]): number; indexOf(searchElement: T, fromIndex?: number): number; lastIndexOf(searchElement: T, fromIndex?: number): number; every(predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any): this is S[]; every(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): boolean; some(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): boolean; forEach(callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any): void; map(callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any): U[]; filter(predicate: (value: T, index: number, array: T[]) => value is S_1, thisArg?: any): S_1[]; filter(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): T[]; reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; reduce(callbackfn: (previousValue: U_1, currentValue: T, currentIndex: number, array: T[]) => U_1, initialValue: U_1): U_1; reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; reduceRight(callbackfn: (previousValue: U_2, currentValue: T, currentIndex: number, array: T[]) => U_2, initialValue: U_2): U_2; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ ^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +>r2 : { [n: number]: T; length: number; toString(): string; toLocaleString(): string; pop(): T | undefined; push(...items: T[]): number; concat(...items: ConcatArray[]): T[]; concat(...items: (T | ConcatArray)[]): T[]; join(separator?: string): string; reverse(): T[]; shift(): T | undefined; slice(start?: number, end?: number): T[]; sort(compareFn?: (a: T, b: T) => number): T[]; splice(start: number, deleteCount?: number): T[]; splice(start: number, deleteCount: number, ...items: T[]): T[]; unshift(...items: T[]): number; indexOf(searchElement: T, fromIndex?: number): number; lastIndexOf(searchElement: T, fromIndex?: number): number; every(predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any): this is S[]; every(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): boolean; some(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): boolean; forEach(callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any): void; map(callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any): U[]; filter(predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any): S[]; filter(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): T[]; reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; reduce(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; reduceRight(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^ ^^^ ^^^^ ^^^^^^^ ^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^^ ^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^ >p2 : T[] > : ^^^ @@ -139,27 +139,27 @@ function f(p1: T, p2: T[]) { var {...r8} = union_generic; // Error, union with generic type parameter >r8 : T | { a: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >union_generic : T | { a: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ var {...r9} = union_primitive; // Error, union with generic type parameter >r9 : any > : ^^^ >union_primitive : number | { a: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ var {...r10} = intersection_generic; // Error, intersection with generic type parameter >r10 : T & { a: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >intersection_generic : T & { a: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ var {...r11} = intersection_primitive; // Error, intersection with generic type parameter >r11 : any > : ^^^ >intersection_primitive : { a: number; } & string -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^ var {...r12} = num; // Error >r12 : any diff --git a/tests/baselines/reference/restParamUsingMappedTypeOverUnionConstraint.types b/tests/baselines/reference/restParamUsingMappedTypeOverUnionConstraint.types index 799bd1ea89b20..0aa04e2458151 100644 --- a/tests/baselines/reference/restParamUsingMappedTypeOverUnionConstraint.types +++ b/tests/baselines/reference/restParamUsingMappedTypeOverUnionConstraint.types @@ -9,7 +9,7 @@ type HomomorphicMappedType = { [P in keyof T]: T[P] extends string ? boolean declare function test( >test : (args: T, fn: (...args: HomomorphicMappedType) => void) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ args: T, >args : T diff --git a/tests/baselines/reference/restParameterWithBindingPattern3.types b/tests/baselines/reference/restParameterWithBindingPattern3.types index 7b5a6d007bdcb..15bee41d4849c 100644 --- a/tests/baselines/reference/restParameterWithBindingPattern3.types +++ b/tests/baselines/reference/restParameterWithBindingPattern3.types @@ -56,6 +56,6 @@ function e(...{0: a = 1, 1: b = true, ...rest: rest}: [boolean, string, number]) > : ^^^^ >rest : any > : ^^^ ->rest : { [n: number]: string | number | boolean; 0: boolean; 1: string; 2: number; length: 3; toString(): string; toLocaleString(): string; pop(): string | number | boolean; push(...items: (string | number | boolean)[]): number; concat(...items: ConcatArray[]): (string | number | boolean)[]; concat(...items: (string | number | boolean | ConcatArray)[]): (string | number | boolean)[]; join(separator?: string): string; reverse(): (string | number | boolean)[]; shift(): string | number | boolean; slice(start?: number, end?: number): (string | number | boolean)[]; sort(compareFn?: (a: string | number | boolean, b: string | number | boolean) => number): [boolean, string, number]; splice(start: number, deleteCount?: number): (string | number | boolean)[]; splice(start: number, deleteCount: number, ...items: (string | number | boolean)[]): (string | number | boolean)[]; unshift(...items: (string | number | boolean)[]): number; indexOf(searchElement: string | number | boolean, fromIndex?: number): number; lastIndexOf(searchElement: string | number | boolean, fromIndex?: number): number; every(predicate: (value: string | number | boolean, index: number, array: (string | number | boolean)[]) => value is S, thisArg?: any): this is S[]; every(predicate: (value: string | number | boolean, index: number, array: (string | number | boolean)[]) => unknown, thisArg?: any): boolean; some(predicate: (value: string | number | boolean, index: number, array: (string | number | boolean)[]) => unknown, thisArg?: any): boolean; forEach(callbackfn: (value: string | number | boolean, index: number, array: (string | number | boolean)[]) => void, thisArg?: any): void; map(callbackfn: (value: string | number | boolean, index: number, array: (string | number | boolean)[]) => U, thisArg?: any): U[]; filter(predicate: (value: string | number | boolean, index: number, array: (string | number | boolean)[]) => value is S_1, thisArg?: any): S_1[]; filter(predicate: (value: string | number | boolean, index: number, array: (string | number | boolean)[]) => unknown, thisArg?: any): (string | number | boolean)[]; reduce(callbackfn: (previousValue: string | number | boolean, currentValue: string | number | boolean, currentIndex: number, array: (string | number | boolean)[]) => string | number | boolean): string | number | boolean; reduce(callbackfn: (previousValue: string | number | boolean, currentValue: string | number | boolean, currentIndex: number, array: (string | number | boolean)[]) => string | number | boolean, initialValue: string | number | boolean): string | number | boolean; reduce(callbackfn: (previousValue: U_1, currentValue: string | number | boolean, currentIndex: number, array: (string | number | boolean)[]) => U_1, initialValue: U_1): U_1; reduceRight(callbackfn: (previousValue: string | number | boolean, currentValue: string | number | boolean, currentIndex: number, array: (string | number | boolean)[]) => string | number | boolean): string | number | boolean; reduceRight(callbackfn: (previousValue: string | number | boolean, currentValue: string | number | boolean, currentIndex: number, array: (string | number | boolean)[]) => string | number | boolean, initialValue: string | number | boolean): string | number | boolean; reduceRight(callbackfn: (previousValue: U_2, currentValue: string | number | boolean, currentIndex: number, array: (string | number | boolean)[]) => U_2, initialValue: U_2): U_2; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +>rest : { [n: number]: string | number | boolean; 0: boolean; 1: string; 2: number; length: 3; toString(): string; toLocaleString(): string; pop(): (string | number | boolean) | undefined; push(...items: (string | number | boolean)[]): number; concat(...items: ConcatArray[]): (string | number | boolean)[]; concat(...items: (string | number | boolean | ConcatArray)[]): (string | number | boolean)[]; join(separator?: string): string; reverse(): (string | number | boolean)[]; shift(): (string | number | boolean) | undefined; slice(start?: number, end?: number): (string | number | boolean)[]; sort(compareFn?: (a: string | number | boolean, b: string | number | boolean) => number): [boolean, string, number]; splice(start: number, deleteCount?: number): (string | number | boolean)[]; splice(start: number, deleteCount: number, ...items: (string | number | boolean)[]): (string | number | boolean)[]; unshift(...items: (string | number | boolean)[]): number; indexOf(searchElement: string | number | boolean, fromIndex?: number): number; lastIndexOf(searchElement: string | number | boolean, fromIndex?: number): number; every(predicate: (value: string | number | boolean, index: number, array: (string | number | boolean)[]) => value is S, thisArg?: any): this is S[]; every(predicate: (value: string | number | boolean, index: number, array: (string | number | boolean)[]) => unknown, thisArg?: any): boolean; some(predicate: (value: string | number | boolean, index: number, array: (string | number | boolean)[]) => unknown, thisArg?: any): boolean; forEach(callbackfn: (value: string | number | boolean, index: number, array: (string | number | boolean)[]) => void, thisArg?: any): void; map(callbackfn: (value: string | number | boolean, index: number, array: (string | number | boolean)[]) => U, thisArg?: any): U[]; filter(predicate: (value: string | number | boolean, index: number, array: (string | number | boolean)[]) => value is S, thisArg?: any): S[]; filter(predicate: (value: string | number | boolean, index: number, array: (string | number | boolean)[]) => unknown, thisArg?: any): (string | number | boolean)[]; reduce(callbackfn: (previousValue: string | number | boolean, currentValue: string | number | boolean, currentIndex: number, array: (string | number | boolean)[]) => string | number | boolean): string | number | boolean; reduce(callbackfn: (previousValue: string | number | boolean, currentValue: string | number | boolean, currentIndex: number, array: (string | number | boolean)[]) => string | number | boolean, initialValue: string | number | boolean): string | number | boolean; reduce(callbackfn: (previousValue: U, currentValue: string | number | boolean, currentIndex: number, array: (string | number | boolean)[]) => U, initialValue: U): U; reduceRight(callbackfn: (previousValue: string | number | boolean, currentValue: string | number | boolean, currentIndex: number, array: (string | number | boolean)[]) => string | number | boolean): string | number | boolean; reduceRight(callbackfn: (previousValue: string | number | boolean, currentValue: string | number | boolean, currentIndex: number, array: (string | number | boolean)[]) => string | number | boolean, initialValue: string | number | boolean): string | number | boolean; reduceRight(callbackfn: (previousValue: U, currentValue: string | number | boolean, currentIndex: number, array: (string | number | boolean)[]) => U, initialValue: U): U; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ diff --git a/tests/baselines/reference/restPropertyWithBindingPattern.types b/tests/baselines/reference/restPropertyWithBindingPattern.types index 9182b815fae94..2ac93afdc8154 100644 --- a/tests/baselines/reference/restPropertyWithBindingPattern.types +++ b/tests/baselines/reference/restPropertyWithBindingPattern.types @@ -32,8 +32,8 @@ > : ^^ >{...[]} = {} : {} > : ^^ ->{...[]} : { [n: number]: never; length: 0; toString(): string; toLocaleString(): string; pop(): never; push(...items: never[]): number; concat(...items: ConcatArray[]): never[]; concat(...items: ConcatArray[]): never[]; join(separator?: string): string; reverse(): never[]; shift(): never; slice(start?: number, end?: number): never[]; sort(compareFn?: (a: never, b: never) => number): []; splice(start: number, deleteCount?: number): never[]; splice(start: number, deleteCount: number, ...items: never[]): never[]; unshift(...items: never[]): number; indexOf(searchElement: never, fromIndex?: number): number; lastIndexOf(searchElement: never, fromIndex?: number): number; every(predicate: (value: never, index: number, array: never[]) => value is S, thisArg?: any): this is S[]; every(predicate: (value: never, index: number, array: never[]) => unknown, thisArg?: any): boolean; some(predicate: (value: never, index: number, array: never[]) => unknown, thisArg?: any): boolean; forEach(callbackfn: (value: never, index: number, array: never[]) => void, thisArg?: any): void; map(callbackfn: (value: never, index: number, array: never[]) => U, thisArg?: any): U[]; filter(predicate: (value: never, index: number, array: never[]) => value is S_1, thisArg?: any): S_1[]; filter(predicate: (value: never, index: number, array: never[]) => unknown, thisArg?: any): never[]; reduce(callbackfn: (previousValue: never, currentValue: never, currentIndex: number, array: never[]) => never): never; reduce(callbackfn: (previousValue: never, currentValue: never, currentIndex: number, array: never[]) => never, initialValue: never): never; reduce(callbackfn: (previousValue: U_1, currentValue: never, currentIndex: number, array: never[]) => U_1, initialValue: U_1): U_1; reduceRight(callbackfn: (previousValue: never, currentValue: never, currentIndex: number, array: never[]) => never): never; reduceRight(callbackfn: (previousValue: never, currentValue: never, currentIndex: number, array: never[]) => never, initialValue: never): never; reduceRight(callbackfn: (previousValue: U_2, currentValue: never, currentIndex: number, array: never[]) => U_2, initialValue: U_2): U_2; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +>{...[]} : { [n: number]: never; length: 0; toString(): string; toLocaleString(): string; pop(): never | undefined; push(...items: never[]): number; concat(...items: ConcatArray[]): never[]; concat(...items: ConcatArray[]): never[]; join(separator?: string): string; reverse(): never[]; shift(): never | undefined; slice(start?: number, end?: number): never[]; sort(compareFn?: (a: never, b: never) => number): []; splice(start: number, deleteCount?: number): never[]; splice(start: number, deleteCount: number, ...items: never[]): never[]; unshift(...items: never[]): number; indexOf(searchElement: never, fromIndex?: number): number; lastIndexOf(searchElement: never, fromIndex?: number): number; every(predicate: (value: never, index: number, array: never[]) => value is S, thisArg?: any): this is S[]; every(predicate: (value: never, index: number, array: never[]) => unknown, thisArg?: any): boolean; some(predicate: (value: never, index: number, array: never[]) => unknown, thisArg?: any): boolean; forEach(callbackfn: (value: never, index: number, array: never[]) => void, thisArg?: any): void; map(callbackfn: (value: never, index: number, array: never[]) => U, thisArg?: any): U[]; filter(predicate: (value: never, index: number, array: never[]) => value is S, thisArg?: any): S[]; filter(predicate: (value: never, index: number, array: never[]) => unknown, thisArg?: any): never[]; reduce(callbackfn: (previousValue: never, currentValue: never, currentIndex: number, array: never[]) => never): never; reduce(callbackfn: (previousValue: never, currentValue: never, currentIndex: number, array: never[]) => never, initialValue: never): never; reduce(callbackfn: (previousValue: U, currentValue: never, currentIndex: number, array: never[]) => U, initialValue: U): U; reduceRight(callbackfn: (previousValue: never, currentValue: never, currentIndex: number, array: never[]) => never): never; reduceRight(callbackfn: (previousValue: never, currentValue: never, currentIndex: number, array: never[]) => never, initialValue: never): never; reduceRight(callbackfn: (previousValue: U, currentValue: never, currentIndex: number, array: never[]) => U, initialValue: U): U; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^ ^^^^^^^ ^^^^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ >[] : [] > : ^^ >{} : {} @@ -44,8 +44,8 @@ > : ^^ >{...([])} = {} : {} > : ^^ ->{...([])} : { [n: number]: never; length: 0; toString(): string; toLocaleString(): string; pop(): never; push(...items: never[]): number; concat(...items: ConcatArray[]): never[]; concat(...items: ConcatArray[]): never[]; join(separator?: string): string; reverse(): never[]; shift(): never; slice(start?: number, end?: number): never[]; sort(compareFn?: (a: never, b: never) => number): []; splice(start: number, deleteCount?: number): never[]; splice(start: number, deleteCount: number, ...items: never[]): never[]; unshift(...items: never[]): number; indexOf(searchElement: never, fromIndex?: number): number; lastIndexOf(searchElement: never, fromIndex?: number): number; every(predicate: (value: never, index: number, array: never[]) => value is S, thisArg?: any): this is S[]; every(predicate: (value: never, index: number, array: never[]) => unknown, thisArg?: any): boolean; some(predicate: (value: never, index: number, array: never[]) => unknown, thisArg?: any): boolean; forEach(callbackfn: (value: never, index: number, array: never[]) => void, thisArg?: any): void; map(callbackfn: (value: never, index: number, array: never[]) => U, thisArg?: any): U[]; filter(predicate: (value: never, index: number, array: never[]) => value is S_1, thisArg?: any): S_1[]; filter(predicate: (value: never, index: number, array: never[]) => unknown, thisArg?: any): never[]; reduce(callbackfn: (previousValue: never, currentValue: never, currentIndex: number, array: never[]) => never): never; reduce(callbackfn: (previousValue: never, currentValue: never, currentIndex: number, array: never[]) => never, initialValue: never): never; reduce(callbackfn: (previousValue: U_1, currentValue: never, currentIndex: number, array: never[]) => U_1, initialValue: U_1): U_1; reduceRight(callbackfn: (previousValue: never, currentValue: never, currentIndex: number, array: never[]) => never): never; reduceRight(callbackfn: (previousValue: never, currentValue: never, currentIndex: number, array: never[]) => never, initialValue: never): never; reduceRight(callbackfn: (previousValue: U_2, currentValue: never, currentIndex: number, array: never[]) => U_2, initialValue: U_2): U_2; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +>{...([])} : { [n: number]: never; length: 0; toString(): string; toLocaleString(): string; pop(): never | undefined; push(...items: never[]): number; concat(...items: ConcatArray[]): never[]; concat(...items: ConcatArray[]): never[]; join(separator?: string): string; reverse(): never[]; shift(): never | undefined; slice(start?: number, end?: number): never[]; sort(compareFn?: (a: never, b: never) => number): []; splice(start: number, deleteCount?: number): never[]; splice(start: number, deleteCount: number, ...items: never[]): never[]; unshift(...items: never[]): number; indexOf(searchElement: never, fromIndex?: number): number; lastIndexOf(searchElement: never, fromIndex?: number): number; every(predicate: (value: never, index: number, array: never[]) => value is S, thisArg?: any): this is S[]; every(predicate: (value: never, index: number, array: never[]) => unknown, thisArg?: any): boolean; some(predicate: (value: never, index: number, array: never[]) => unknown, thisArg?: any): boolean; forEach(callbackfn: (value: never, index: number, array: never[]) => void, thisArg?: any): void; map(callbackfn: (value: never, index: number, array: never[]) => U, thisArg?: any): U[]; filter(predicate: (value: never, index: number, array: never[]) => value is S, thisArg?: any): S[]; filter(predicate: (value: never, index: number, array: never[]) => unknown, thisArg?: any): never[]; reduce(callbackfn: (previousValue: never, currentValue: never, currentIndex: number, array: never[]) => never): never; reduce(callbackfn: (previousValue: never, currentValue: never, currentIndex: number, array: never[]) => never, initialValue: never): never; reduce(callbackfn: (previousValue: U, currentValue: never, currentIndex: number, array: never[]) => U, initialValue: U): U; reduceRight(callbackfn: (previousValue: never, currentValue: never, currentIndex: number, array: never[]) => never): never; reduceRight(callbackfn: (previousValue: never, currentValue: never, currentIndex: number, array: never[]) => never, initialValue: never): never; reduceRight(callbackfn: (previousValue: U, currentValue: never, currentIndex: number, array: never[]) => U, initialValue: U): U; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^ ^^^^^^^ ^^^^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ >([]) : [] > : ^^ >[] : [] diff --git a/tests/baselines/reference/restTupleElements1.types b/tests/baselines/reference/restTupleElements1.types index bcad673fa382d..20cedc952a65e 100644 --- a/tests/baselines/reference/restTupleElements1.types +++ b/tests/baselines/reference/restTupleElements1.types @@ -59,91 +59,91 @@ type L15 = T15["length"]; // number declare function assign(): void; >assign : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^ assign(); >assign() : void > : ^^^^ >assign : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^ assign(); >assign() : void > : ^^^^ >assign : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^ assign<[...number[]], number[]>(); >assign<[...number[]], number[]>() : void > : ^^^^ >assign : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^ assign<[number, ...number[]], number[]>(); // Error >assign<[number, ...number[]], number[]>() : void > : ^^^^ >assign : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^ assign<[number, ...number[]], []>(); // Error >assign<[number, ...number[]], []>() : void > : ^^^^ >assign : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^ assign<[number, ...number[]], [number]>(); >assign<[number, ...number[]], [number]>() : void > : ^^^^ >assign : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^ assign<[number, ...number[]], [number, number]>(); >assign<[number, ...number[]], [number, number]>() : void > : ^^^^ >assign : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^ assign<[number, ...number[]], [number, number, ...number[]]>(); >assign<[number, ...number[]], [number, number, ...number[]]>() : void > : ^^^^ >assign : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^ assign<[number], [...number[]]>(); // Error >assign<[number], [...number[]]>() : void > : ^^^^ >assign : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^ assign<[number], [number, ...number[]]>(); // Error >assign<[number], [number, ...number[]]>() : void > : ^^^^ >assign : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^ assign<[number, ...number[]], [number, ...string[]]>(); // Error >assign<[number, ...number[]], [number, ...string[]]>() : void > : ^^^^ >assign : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^ assign<[number, ...number[]], [string, ...number[]]>(); // Error >assign<[number, ...number[]], [string, ...number[]]>() : void > : ^^^^ >assign : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^ assign<[number, ...number[]], [number, number, string]>(); // Error >assign<[number, ...number[]], [number, number, string]>() : void > : ^^^^ >assign : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^ assign<[number, ...number[]], [number, number, number, string]>(); // Error >assign<[number, ...number[]], [number, number, number, string]>() : void > : ^^^^ >assign : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^ type T20 = [number, string, ...boolean[]]; >T20 : T20 @@ -249,7 +249,7 @@ f0([]); // Error >f0([]) : [unknown, unknown] > : ^^^^^^^^^^^^^^^^^^ >f0 : (x: [T, ...U[]]) => [T, U] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >[] : [] > : ^^ @@ -257,7 +257,7 @@ f0([1]); >f0([1]) : [number, unknown] > : ^^^^^^^^^^^^^^^^^ >f0 : (x: [T, ...U[]]) => [T, U] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >[1] : [number] > : ^^^^^^^^ >1 : 1 @@ -267,7 +267,7 @@ f0([1, 2, 3]); >f0([1, 2, 3]) : [number, number] > : ^^^^^^^^^^^^^^^^ >f0 : (x: [T, ...U[]]) => [T, U] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >[1, 2, 3] : [number, number, number] > : ^^^^^^^^^^^^^^^^^^^^^^^^ >1 : 1 @@ -281,7 +281,7 @@ f0([1, "hello", true]); >f0([1, "hello", true]) : [number, string | boolean] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >f0 : (x: [T, ...U[]]) => [T, U] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >[1, "hello", true] : [number, string, true] > : ^^^^^^^^^^^^^^^^^^^^^^ >1 : 1 @@ -315,7 +315,7 @@ f1([x => x * 2, x => x.length, x => x.charCodeAt(0)]); >f1([x => x * 2, x => x.length, x => x.charCodeAt(0)]) : void > : ^^^^ >f1 : (a: [(x: number) => number, ...((x: string) => number)[]]) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >[x => x * 2, x => x.length, x => x.charCodeAt(0)] : [(x: number) => number, (x: string) => number, (x: string) => number] > : ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >x => x * 2 : (x: number) => number @@ -345,11 +345,11 @@ f1([x => x * 2, x => x.length, x => x.charCodeAt(0)]); >x.charCodeAt(0) : number > : ^^^^^^ >x.charCodeAt : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string > : ^^^^^^ >charCodeAt : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ @@ -357,7 +357,7 @@ f2(x => x * 2, x => x.length, x => x.charCodeAt(0)); >f2(x => x * 2, x => x.length, x => x.charCodeAt(0)) : void > : ^^^^ >f2 : (a_0: (x: number) => number, ...a_1: ((x: string) => number)[]) => void -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^ >x => x * 2 : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number @@ -385,11 +385,11 @@ f2(x => x * 2, x => x.length, x => x.charCodeAt(0)); >x.charCodeAt(0) : number > : ^^^^^^ >x.charCodeAt : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string > : ^^^^^^ >charCodeAt : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/restTuplesFromContextualTypes.types b/tests/baselines/reference/restTuplesFromContextualTypes.types index 2cdf63e6eaee4..655c5f92bd68d 100644 --- a/tests/baselines/reference/restTuplesFromContextualTypes.types +++ b/tests/baselines/reference/restTuplesFromContextualTypes.types @@ -105,7 +105,7 @@ f1((a, b, c) => {}) >f1((a, b, c) => {}) : void > : ^^^^ >f1 : (cb: (...args: typeof t1) => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >(a, b, c) => {} : (a: number, b: boolean, c: string) => void > : ^ ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ >a : number @@ -119,7 +119,7 @@ f1((...x) => {}) >f1((...x) => {}) : void > : ^^^^ >f1 : (cb: (...args: typeof t1) => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >(...x) => {} : (x_0: number, x_1: boolean, x_2: string) => void > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : [number, boolean, string] @@ -129,7 +129,7 @@ f1((a, ...x) => {}) >f1((a, ...x) => {}) : void > : ^^^^ >f1 : (cb: (...args: typeof t1) => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >(a, ...x) => {} : (a: number, x_0: boolean, x_1: string) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -141,7 +141,7 @@ f1((a, b, ...x) => {}) >f1((a, b, ...x) => {}) : void > : ^^^^ >f1 : (cb: (...args: typeof t1) => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >(a, b, ...x) => {} : (a: number, b: boolean, x_0: string) => void > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -155,7 +155,7 @@ f1((a, b, c, ...x) => {}) >f1((a, b, c, ...x) => {}) : void > : ^^^^ >f1 : (cb: (...args: typeof t1) => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >(a, b, c, ...x) => {} : (a: number, b: boolean, c: string) => void > : ^ ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ >a : number @@ -271,7 +271,7 @@ f2((a, b, c) => {}) >f2((a, b, c) => {}) : void > : ^^^^ >f2 : (cb: (...args: typeof t2) => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >(a, b, c) => {} : (a: number, b: boolean, c: string) => void > : ^ ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ >a : number @@ -285,7 +285,7 @@ f2((...x) => {}) >f2((...x) => {}) : void > : ^^^^ >f2 : (cb: (...args: typeof t2) => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >(...x) => {} : (x_0: number, x_1: boolean, ...x_2: string[]) => void > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : [number, boolean, ...string[]] @@ -295,7 +295,7 @@ f2((a, ...x) => {}) >f2((a, ...x) => {}) : void > : ^^^^ >f2 : (cb: (...args: typeof t2) => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >(a, ...x) => {} : (a: number, x_0: boolean, ...x_1: string[]) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -307,7 +307,7 @@ f2((a, b, ...x) => {}) >f2((a, b, ...x) => {}) : void > : ^^^^ >f2 : (cb: (...args: typeof t2) => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >(a, b, ...x) => {} : (a: number, b: boolean, ...x: string[]) => void > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >a : number @@ -321,7 +321,7 @@ f2((a, b, c, ...x) => {}) >f2((a, b, c, ...x) => {}) : void > : ^^^^ >f2 : (cb: (...args: typeof t2) => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >(a, b, c, ...x) => {} : (a: number, b: boolean, c: string, ...x: string[]) => void > : ^ ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >a : number @@ -449,7 +449,7 @@ f3((a, b, c) => {}) >f3((a, b, c) => {}) : void > : ^^^^ >f3 : (cb: (x: number, ...args: typeof t3) => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >(a, b, c) => {} : (a: number, b: boolean, c: string) => void > : ^ ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ >a : number @@ -463,7 +463,7 @@ f3((...x) => {}) >f3((...x) => {}) : void > : ^^^^ >f3 : (cb: (x: number, ...args: typeof t3) => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >(...x) => {} : (x: number, x_1: boolean, ...x_2: string[]) => void > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : [x: number, boolean, ...string[]] @@ -473,7 +473,7 @@ f3((a, ...x) => {}) >f3((a, ...x) => {}) : void > : ^^^^ >f3 : (cb: (x: number, ...args: typeof t3) => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >(a, ...x) => {} : (a: number, x_0: boolean, ...x_1: string[]) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -485,7 +485,7 @@ f3((a, b, ...x) => {}) >f3((a, b, ...x) => {}) : void > : ^^^^ >f3 : (cb: (x: number, ...args: typeof t3) => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >(a, b, ...x) => {} : (a: number, b: boolean, ...x: string[]) => void > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >a : number @@ -499,7 +499,7 @@ f3((a, b, c, ...x) => {}) >f3((a, b, c, ...x) => {}) : void > : ^^^^ >f3 : (cb: (x: number, ...args: typeof t3) => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >(a, b, c, ...x) => {} : (a: number, b: boolean, c: string, ...x: string[]) => void > : ^ ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >a : number @@ -513,7 +513,7 @@ f3((a, b, c, ...x) => {}) function f4(t: T) { >f4 : (t: T) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >t : T > : ^ @@ -618,7 +618,7 @@ function f4(t: T) { declare function f5(f: (...args: T) => U): (...args: T) => U; >f5 : (f: (...args: T) => U) => (...args: T) => U -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ >f : (...args: T) => U > : ^^^^ ^^ ^^^^^ >args : T @@ -632,7 +632,7 @@ let g0 = f5(() => "hello"); >f5(() => "hello") : () => string > : ^^^^^^^^^^^^ >f5 : (f: (...args: T) => U) => (...args: T) => U -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ >() => "hello" : () => string > : ^^^^^^^^^^^^ >"hello" : "hello" @@ -644,7 +644,7 @@ let g1 = f5((x, y) => 42); >f5((x, y) => 42) : (x: any, y: any) => number > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >f5 : (f: (...args: T) => U) => (...args: T) => U -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ >(x, y) => 42 : (x: any, y: any) => number > : ^ ^^^^^^^ ^^^^^^^^^^^^^^^^ >x : any @@ -660,7 +660,7 @@ let g2 = f5((x: number, y) => 42); >f5((x: number, y) => 42) : (x: number, y: any) => number > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f5 : (f: (...args: T) => U) => (...args: T) => U -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ >(x: number, y) => 42 : (x: number, y: any) => number > : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ >x : number @@ -676,7 +676,7 @@ let g3 = f5((x: number, y: number) => x + y); >f5((x: number, y: number) => x + y) : (x: number, y: number) => number > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f5 : (f: (...args: T) => U) => (...args: T) => U -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ >(x: number, y: number) => x + y : (x: number, y: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : number @@ -696,7 +696,7 @@ let g4 = f5((...args) => true); >f5((...args) => true) : (...args: any[]) => boolean > : ^^^^ ^^^^^^^^^^^^^^^^^^^ >f5 : (f: (...args: T) => U) => (...args: T) => U -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ >(...args) => true : (...args: any[]) => boolean > : ^^^^ ^^^^^^^^^^^^^^^^^^^ >args : any[] @@ -706,7 +706,7 @@ let g4 = f5((...args) => true); declare function pipe(f: (...args: A) => B, g: (x: B) => C): (...args: A) => C; >pipe : (f: (...args: A) => B, g: (x: B) => C) => (...args: A) => C -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >f : (...args: A) => B > : ^^^^ ^^ ^^^^^ >args : A @@ -724,7 +724,7 @@ let g5 = pipe(() => true, b => 42); >pipe(() => true, b => 42) : () => number > : ^^^^^^^^^^^^ >pipe : (f: (...args: A) => B, g: (x: B) => C) => (...args: A) => C -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >() => true : () => boolean > : ^^^^^^^^^^^^^ >true : true @@ -742,7 +742,7 @@ let g6 = pipe(x => "hello", s => s.length); >pipe(x => "hello", s => s.length) : (x: any) => number > : ^^^^^^^^^^^^^^^^^^ >pipe : (f: (...args: A) => B, g: (x: B) => C) => (...args: A) => C -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x => "hello" : (x: any) => string > : ^ ^^^^^^^^^^^^^^^^ >x : any @@ -766,7 +766,7 @@ let g7 = pipe((x, y) => 42, x => "" + x); >pipe((x, y) => 42, x => "" + x) : (x: any, y: any) => string > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >pipe : (f: (...args: A) => B, g: (x: B) => C) => (...args: A) => C -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >(x, y) => 42 : (x: any, y: any) => number > : ^ ^^^^^^^ ^^^^^^^^^^^^^^^^ >x : any @@ -792,7 +792,7 @@ let g8 = pipe((x: number, y: string) => 42, x => "" + x); >pipe((x: number, y: string) => 42, x => "" + x) : (x: number, y: string) => string > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >pipe : (f: (...args: A) => B, g: (x: B) => C) => (...args: A) => C -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >(x: number, y: string) => 42 : (x: number, y: string) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : number @@ -868,7 +868,7 @@ take(function(...rest){}); >take(function(...rest){}) : void > : ^^^^ >take : (cb: (a: number, b: string) => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >function(...rest){} : (a: number, b: string) => void > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >rest : [a: number, b: string] diff --git a/tests/baselines/reference/restTypeRetainsMappyness.types b/tests/baselines/reference/restTypeRetainsMappyness.types index 217a6a1815687..78df64c62ddbd 100644 --- a/tests/baselines/reference/restTypeRetainsMappyness.types +++ b/tests/baselines/reference/restTypeRetainsMappyness.types @@ -10,7 +10,7 @@ type Foo = { function test(fn: (...args: Foo) => void) { >test : (fn: (...args: Foo) => void) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >fn : (...args: Foo) => void > : ^^^^ ^^ ^^^^^ >args : Foo @@ -27,7 +27,7 @@ function test(fn: (...args: Foo) => void) { >fn(...arr) : void > : ^^^^ >fn : (...args: Foo) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >...arr : any >arr : Foo > : ^^^^^^ diff --git a/tests/baselines/reference/restUnion.types b/tests/baselines/reference/restUnion.types index c1ff911243911..48ea71e6a4ace 100644 --- a/tests/baselines/reference/restUnion.types +++ b/tests/baselines/reference/restUnion.types @@ -25,9 +25,9 @@ var {a, ...rest1 } = union; >a : string | number > : ^^^^^^^^^^^^^^^ >rest1 : { c: boolean; } | { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >union : { a: number; c: boolean; } | { a: string; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^ var undefinedUnion: { n: number } | undefined; @@ -46,7 +46,7 @@ var {n, ...rest2 } = undefinedUnion; >rest2 : {} > : ^^ >undefinedUnion : { n: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ var nullUnion: { n: number } | null; @@ -65,5 +65,5 @@ var {n, ...rest3 } = nullUnion; >rest3 : {} > : ^^ >nullUnion : { n: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ diff --git a/tests/baselines/reference/restUnion2.types b/tests/baselines/reference/restUnion2.types index 3205d3b2d984c..6788a95e2e56c 100644 --- a/tests/baselines/reference/restUnion2.types +++ b/tests/baselines/reference/restUnion2.types @@ -15,9 +15,9 @@ var rest2: { n: number }; var {...rest2 } = undefinedUnion; >rest2 : { n: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >undefinedUnion : { n: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ declare const nullUnion: { n: number } | null; @@ -34,7 +34,7 @@ var rest3: { n: number }; var {...rest3 } = nullUnion; >rest3 : { n: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >nullUnion : { n: number; } | null -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^ diff --git a/tests/baselines/reference/restUnion3.types b/tests/baselines/reference/restUnion3.types index fcde1cefcb499..2b1693a0667f0 100644 --- a/tests/baselines/reference/restUnion3.types +++ b/tests/baselines/reference/restUnion3.types @@ -33,7 +33,7 @@ var rest5: { n: number, s: string }; var {...rest5 } = unionWithIntersection; >rest5 : { n: number; s: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >unionWithIntersection : never > : ^^^^^ diff --git a/tests/baselines/reference/returnInfiniteIntersection.types b/tests/baselines/reference/returnInfiniteIntersection.types index 054d77048b3a3..a622308a96031 100644 --- a/tests/baselines/reference/returnInfiniteIntersection.types +++ b/tests/baselines/reference/returnInfiniteIntersection.types @@ -3,7 +3,7 @@ === returnInfiniteIntersection.ts === function recursive() { >recursive : () => ((subkey: T) => any & { p: any; }) & { p: any; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ let x = (subkey: T) => recursive(); >x : (subkey: T) => any & { p: any; } @@ -15,7 +15,7 @@ function recursive() { >recursive() : ((subkey: T) => any & { p: any; }) & { p: any; } > : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >recursive : () => ((subkey: T) => any & { p: any; }) & { p: any; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ return x as typeof x & { p }; >x as typeof x & { p } : ((subkey: T) => any & { p: any; }) & { p: any; } @@ -35,7 +35,7 @@ let result = recursive()(1) >recursive() : ((subkey: T) => any & { p: any; }) & { p: any; } > : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >recursive : () => ((subkey: T) => any & { p: any; }) & { p: any; } -> : ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/returnTagTypeGuard.types b/tests/baselines/reference/returnTagTypeGuard.types index 1d6efa2e792a6..4653caabc4de4 100644 --- a/tests/baselines/reference/returnTagTypeGuard.types +++ b/tests/baselines/reference/returnTagTypeGuard.types @@ -76,11 +76,11 @@ function f(chunk) { >chunk.isInit(chunk) : boolean > : ^^^^^^^ >chunk.isInit : ((x: any) => this is Entry) | ((x: any) => false) -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ >chunk : Entry | Group > : ^^^^^^^^^^^^^ >isInit : ((x: any) => this is Entry) | ((x: any) => false) -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ >chunk : Entry | Group > : ^^^^^^^^^^^^^ >chunk.c : number @@ -131,7 +131,7 @@ function foo(val) { >isBoolean(val) : boolean > : ^^^^^^^ >isBoolean : (value: any) => value is boolean -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >val : number | boolean > : ^^^^^^^^^^^^^^^^ @@ -173,7 +173,7 @@ function g(x) { >isNumber(x) : boolean > : ^^^^^^^ >isNumber : (x: unknown) => x is number -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : unknown > : ^^^^^^^ diff --git a/tests/baselines/reference/returnTypeInferenceNotTooBroad.types b/tests/baselines/reference/returnTypeInferenceNotTooBroad.types index d6ed39751d257..149c7971b596e 100644 --- a/tests/baselines/reference/returnTypeInferenceNotTooBroad.types +++ b/tests/baselines/reference/returnTypeInferenceNotTooBroad.types @@ -30,7 +30,7 @@ interface Wrapper { } declare function sepsis(opts: Opts): Wrapper; >sepsis : (opts: Opts) => Wrapper -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >opts : Opts > : ^^^^^^^ @@ -46,7 +46,7 @@ export const y = sepsis({ low: 1, sign: { kind: 'a', a: 3 }}); >sepsis({ low: 1, sign: { kind: 'a', a: 3 }}) : Wrapper<{ kind: "a"; a: 3; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >sepsis : (opts: Opts) => Wrapper -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ low: 1, sign: { kind: 'a', a: 3 }} : { low: number; sign: { kind: "a"; a: 3; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >low : number @@ -73,7 +73,7 @@ export const yun = unwrap(y); >unwrap(y) : { kind: "a"; a: 3; } > : ^^^^^^^^^^^^^^^^^^^^ >unwrap : (w: Wrapper) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >y : Wrapper<{ kind: "a"; a: 3; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -84,11 +84,11 @@ export const yone = unwrap(sepsis({ low: 1, sign: { kind: 'a', a: 3 }})); >unwrap(sepsis({ low: 1, sign: { kind: 'a', a: 3 }})) : { kind: "a"; a: 3; } > : ^^^^^^^^^^^^^^^^^^^^ >unwrap : (w: Wrapper) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >sepsis({ low: 1, sign: { kind: 'a', a: 3 }}) : Wrapper<{ kind: "a"; a: 3; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >sepsis : (opts: Opts) => Wrapper -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ low: 1, sign: { kind: 'a', a: 3 }} : { low: number; sign: { kind: "a"; a: 3; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >low : number diff --git a/tests/baselines/reference/returnTypeParameterWithModules.types b/tests/baselines/reference/returnTypeParameterWithModules.types index 1868eebb2b1a9..bc5fccfddb8d9 100644 --- a/tests/baselines/reference/returnTypeParameterWithModules.types +++ b/tests/baselines/reference/returnTypeParameterWithModules.types @@ -15,7 +15,7 @@ module M1 { return Array.prototype.reduce.apply(ar, e ? [f, e] : [f]); >Array.prototype.reduce.apply(ar, e ? [f, e] : [f]) : any >Array.prototype.reduce.apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >Array.prototype.reduce : { (callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: any[]) => any): any; (callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: any[]) => any, initialValue: any): any; (callbackfn: (previousValue: U, currentValue: any, currentIndex: number, array: any[]) => U, initialValue: U): U; } > : ^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^ >Array.prototype : any[] @@ -27,7 +27,7 @@ module M1 { >reduce : { (callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: any[]) => any): any; (callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: any[]) => any, initialValue: any): any; (callbackfn: (previousValue: U, currentValue: any, currentIndex: number, array: any[]) => U, initialValue: U): U; } > : ^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^ >apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >ar : any >e ? [f, e] : [f] : any[] > : ^^^^^ @@ -59,16 +59,16 @@ module M2 { A.reduce(arguments, compose2); >A.reduce(arguments, compose2) : unknown[] > : ^^^^^^^^^ ->A.reduce : (ar: any, f: any, e?: any) => A[] -> : ^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ +>A.reduce : (ar: any, f: any, e?: any) => Array +> : ^ ^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ >A : typeof A > : ^^^^^^^^ ->reduce : (ar: any, f: any, e?: any) => A[] -> : ^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ +>reduce : (ar: any, f: any, e?: any) => Array +> : ^ ^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ >arguments : IArguments > : ^^^^^^^^^^ >compose2 : (g: (x: B) => C, f: (x: D) => B) => (x: D) => C -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ }; export function compose2(g: (x: B) => C, f: (x: D) => B): (x: D) => C { @@ -93,11 +93,11 @@ module M2 { >g(f(x)) : C > : ^ >g : (x: B) => C -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >f(x) : B > : ^ >f : (x: D) => B -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >x : D > : ^ diff --git a/tests/baselines/reference/returnTypePredicateIsInstantiateInContextOfTarget.types b/tests/baselines/reference/returnTypePredicateIsInstantiateInContextOfTarget.types index bc6e07b95814d..f2678d05d4294 100644 --- a/tests/baselines/reference/returnTypePredicateIsInstantiateInContextOfTarget.types +++ b/tests/baselines/reference/returnTypePredicateIsInstantiateInContextOfTarget.types @@ -27,19 +27,19 @@ class TestComponent extends React.Component<{ isAny: (obj: any) => obj is T } static defaultProps = { >defaultProps : { isAny: (obj: any) => obj is T; } -> : ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^ ^^^^^ ^^^ >{ isAny: TestComponent.isAny } : { isAny: (obj: any) => obj is T; } -> : ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^ ^^^^^ ^^^ isAny: TestComponent.isAny >isAny : (obj: any) => obj is T -> : ^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >TestComponent.isAny : (obj: any) => obj is T -> : ^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >TestComponent : typeof TestComponent > : ^^^^^^^^^^^^^^^^^^^^ >isAny : (obj: any) => obj is T -> : ^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ } // Type guard is defined as a static class property diff --git a/tests/baselines/reference/returnTypeTypeArguments.types b/tests/baselines/reference/returnTypeTypeArguments.types index f56cf51e130ee..6610909f4dfd1 100644 --- a/tests/baselines/reference/returnTypeTypeArguments.types +++ b/tests/baselines/reference/returnTypeTypeArguments.types @@ -39,56 +39,56 @@ class Three{ } function A1(): One { return null; } ->A1 : () => any -> : ^^^^^^^^^ +>A1 : () => One +> : ^^^^^^ function A2(): Two { return null; } ->A2 : () => any -> : ^^^^^^^^^ +>A2 : () => Two +> : ^^^^^^ function A3(): Three { return null; } ->A3 : () => any -> : ^^^^^^^^^ +>A3 : () => Three +> : ^^^^^^ function B1(): Two { return null; } ->B1 : () => any -> : ^^^^^^^^^ +>B1 : () => Two +> : ^^^^^^ function B2(): Three { return null; } ->B2 : () => any -> : ^^^^^^^^^ +>B2 : () => Three +> : ^^^^^^ function B3(): Three { return null; } ->B3 : () => any -> : ^^^^^^^^^ +>B3 : () => Three +> : ^^^^^^ class C { >C : C > : ^ A1(): One { return null; } ->A1 : () => any -> : ^^^^^^^^^ +>A1 : () => One +> : ^^^^^^ A2(): Two { return null; } ->A2 : () => any -> : ^^^^^^^^^ +>A2 : () => Two +> : ^^^^^^ A3(): Three { return null; } ->A3 : () => any -> : ^^^^^^^^^ +>A3 : () => Three +> : ^^^^^^ B1(): Two { return null; } ->B1 : () => any -> : ^^^^^^^^^ +>B1 : () => Two +> : ^^^^^^ B2(): Three { return null; } ->B2 : () => any -> : ^^^^^^^^^ +>B2 : () => Three +> : ^^^^^^ B3(): Three { return null; } ->B3 : () => any -> : ^^^^^^^^^ +>B3 : () => Three +> : ^^^^^^ } class D { @@ -96,24 +96,24 @@ class D { > : ^^^^ A2(): Two { return null; } ->A2 : () => any -> : ^^^^^^^^^ +>A2 : () => Two +> : ^^^^^^ A3(): Three { return null; } ->A3 : () => any -> : ^^^^^^^^^ +>A3 : () => Three +> : ^^^^^^ B1(): Two { return null; } ->B1 : () => any -> : ^^^^^^^^^ +>B1 : () => Two +> : ^^^^^^ B2(): Three { return null; } ->B2 : () => any -> : ^^^^^^^^^ +>B2 : () => Three +> : ^^^^^^ B3(): Three { return null; } ->B3 : () => any -> : ^^^^^^^^^ +>B3 : () => Three +> : ^^^^^^ } interface I { @@ -136,8 +136,8 @@ class X > : ^^^^ { p1: () => X; ->p1 : () => any -> : ^^^^^^^^^ +>p1 : () => X +> : ^^^^^^ p2: { [idx: number]: X } >p2 : { [idx: number]: any; } @@ -158,8 +158,8 @@ class X > : ^^^ p6: () => Y; ->p6 : () => any -> : ^^^^^^^^^ +>p6 : () => Y +> : ^^^^^^ p7: { [idx: number]: Y } >p7 : { [idx: number]: any; } @@ -181,12 +181,12 @@ class X } declare var a: { ->a : { p1: () => X; p2: { [idx: number]: X; }; p3: X[]; p4: I; p5: any; p6: () => Y; p7: { [idx: number]: Y; }; p8: Y[]; p9: I; pa: any; } -> : ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^^^^^^^ +>a : { p1: () => X; p2: { [idx: number]: X; }; p3: X[]; p4: I; p5: X; p6: () => Y; p7: { [idx: number]: Y; }; p8: Y[]; p9: I; pa: Y; } +> : ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^ ^^^ p1: () => X; ->p1 : () => any -> : ^^^^^^^^^ +>p1 : () => X +> : ^^^^^^ p2: { [idx: number]: X } >p2 : { [idx: number]: any; } @@ -207,8 +207,8 @@ declare var a: { > : ^^^ p6: () => Y; ->p6 : () => any -> : ^^^^^^^^^ +>p6 : () => Y +> : ^^^^^^ p7: { [idx: number]: Y } >p7 : { [idx: number]: any; } diff --git a/tests/baselines/reference/reuseProgramStructure/can-reuse-ambient-module-declarations-from-non-modified-files.js b/tests/baselines/reference/reuseProgramStructure/can-reuse-ambient-module-declarations-from-non-modified-files.js index fea620a833358..e0338ffd59848 100644 --- a/tests/baselines/reference/reuseProgramStructure/can-reuse-ambient-module-declarations-from-non-modified-files.js +++ b/tests/baselines/reference/reuseProgramStructure/can-reuse-ambient-module-declarations-from-non-modified-files.js @@ -1,4 +1,4 @@ -Program Reused:: Not +Program 1 Reused:: Not File: /a/b/app.ts import * as fs from 'fs' @@ -81,7 +81,7 @@ MissingPaths:: [ -Program Reused:: Completely +Program 2 Reused:: Completely File: /a/b/app.ts import * as fs from 'fs' @@ -136,7 +136,7 @@ MissingPaths:: [ -Program Reused:: Completely +Program 3 Reused:: Completely File: /a/b/app.ts import * as fs from 'fs' diff --git a/tests/baselines/reference/reuseProgramStructure/can-reuse-module-resolutions-from-non-modified-files.js b/tests/baselines/reference/reuseProgramStructure/can-reuse-module-resolutions-from-non-modified-files.js index 5f88f3f72fe6a..7944e19796056 100644 --- a/tests/baselines/reference/reuseProgramStructure/can-reuse-module-resolutions-from-non-modified-files.js +++ b/tests/baselines/reference/reuseProgramStructure/can-reuse-module-resolutions-from-non-modified-files.js @@ -1,4 +1,4 @@ -Program Reused:: Not +Program 1 Reused:: Not File: a1.ts @@ -138,7 +138,7 @@ node_modules/@types/typerefs2/index.d.ts(3,13): error TS2451: Cannot redeclare b -Program Reused:: SafeModules +Program 2 Reused:: SafeModules File: a1.ts @@ -284,7 +284,7 @@ node_modules/@types/typerefs2/index.d.ts(3,13): error TS2451: Cannot redeclare b -Program Reused:: SafeModules +Program 3 Reused:: SafeModules File: a1.ts @@ -413,7 +413,7 @@ node_modules/@types/typerefs2/index.d.ts(3,13): error TS2451: Cannot redeclare b -Program Reused:: SafeModules +Program 4 Reused:: SafeModules File: a1.ts @@ -542,7 +542,7 @@ node_modules/@types/typerefs2/index.d.ts(3,13): error TS2451: Cannot redeclare b -Program Reused:: Completely +Program 5 Reused:: Completely File: a1.ts @@ -653,7 +653,7 @@ node_modules/@types/typerefs2/index.d.ts(3,13): error TS2451: Cannot redeclare b -Program Reused:: SafeModules +Program 6 Reused:: SafeModules File: a1.ts @@ -782,7 +782,7 @@ node_modules/@types/typerefs2/index.d.ts(3,13): error TS2451: Cannot redeclare b -Program Reused:: SafeModules +Program 7 Reused:: SafeModules File: a1.ts diff --git a/tests/baselines/reference/reuseProgramStructure/change-affects-a-single-module-of-a-package.js b/tests/baselines/reference/reuseProgramStructure/change-affects-a-single-module-of-a-package.js index 7adcba0f8b2db..8cb3f8f5243bf 100644 --- a/tests/baselines/reference/reuseProgramStructure/change-affects-a-single-module-of-a-package.js +++ b/tests/baselines/reference/reuseProgramStructure/change-affects-a-single-module-of-a-package.js @@ -1,4 +1,4 @@ -Program Reused:: Not +Program 1 Reused:: Not File: /node_modules/b/internal.d.ts @@ -67,7 +67,7 @@ MissingPaths:: [ -Program Reused:: Completely +Program 2 Reused:: Completely File: /node_modules/b/internal.d.ts diff --git a/tests/baselines/reference/reuseProgramStructure/change-affects-imports.js b/tests/baselines/reference/reuseProgramStructure/change-affects-imports.js index 3db291a132cbe..a64a2078c7065 100644 --- a/tests/baselines/reference/reuseProgramStructure/change-affects-imports.js +++ b/tests/baselines/reference/reuseProgramStructure/change-affects-imports.js @@ -1,4 +1,4 @@ -Program Reused:: Not +Program 1 Reused:: Not File: c.ts @@ -42,7 +42,7 @@ a.ts(4,23): error TS2688: Cannot find type definition file for 'typerefs'. -Program Reused:: SafeModules +Program 2 Reused:: SafeModules File: c.ts import x from 'b' diff --git a/tests/baselines/reference/reuseProgramStructure/change-affects-tripleslash-references.js b/tests/baselines/reference/reuseProgramStructure/change-affects-tripleslash-references.js index 975eed617936b..7c8ceb073f55e 100644 --- a/tests/baselines/reference/reuseProgramStructure/change-affects-tripleslash-references.js +++ b/tests/baselines/reference/reuseProgramStructure/change-affects-tripleslash-references.js @@ -1,4 +1,4 @@ -Program Reused:: Not +Program 1 Reused:: Not File: c.ts @@ -42,7 +42,7 @@ a.ts(4,23): error TS2688: Cannot find type definition file for 'typerefs'. -Program Reused:: SafeModules +Program 2 Reused:: SafeModules File: c.ts diff --git a/tests/baselines/reference/reuseProgramStructure/change-affects-type-directives.js b/tests/baselines/reference/reuseProgramStructure/change-affects-type-directives.js index 91db05ff83747..b7dd21299eb27 100644 --- a/tests/baselines/reference/reuseProgramStructure/change-affects-type-directives.js +++ b/tests/baselines/reference/reuseProgramStructure/change-affects-type-directives.js @@ -1,4 +1,4 @@ -Program Reused:: Not +Program 1 Reused:: Not File: c.ts @@ -42,7 +42,7 @@ a.ts(4,23): error TS2688: Cannot find type definition file for 'typerefs'. -Program Reused:: SafeModules +Program 2 Reused:: SafeModules File: c.ts diff --git a/tests/baselines/reference/reuseProgramStructure/change-affects-type-references.js b/tests/baselines/reference/reuseProgramStructure/change-affects-type-references.js index dae7716779778..ad1dca80e4d12 100644 --- a/tests/baselines/reference/reuseProgramStructure/change-affects-type-references.js +++ b/tests/baselines/reference/reuseProgramStructure/change-affects-type-references.js @@ -1,4 +1,4 @@ -Program Reused:: Not +Program 1 Reused:: Not File: c.ts @@ -55,7 +55,7 @@ a.ts(4,23): error TS2688: Cannot find type definition file for 'typerefs'. -Program Reused:: SafeModules +Program 2 Reused:: SafeModules File: c.ts diff --git a/tests/baselines/reference/reuseProgramStructure/change-does-not-affect-imports-or-type-refs.js b/tests/baselines/reference/reuseProgramStructure/change-does-not-affect-imports-or-type-refs.js index 358c57df5ec52..126a143f0c9cf 100644 --- a/tests/baselines/reference/reuseProgramStructure/change-does-not-affect-imports-or-type-refs.js +++ b/tests/baselines/reference/reuseProgramStructure/change-does-not-affect-imports-or-type-refs.js @@ -1,4 +1,4 @@ -Program Reused:: Not +Program 1 Reused:: Not File: c.ts @@ -42,7 +42,7 @@ a.ts(4,23): error TS2688: Cannot find type definition file for 'typerefs'. -Program Reused:: Completely +Program 2 Reused:: Completely File: c.ts diff --git a/tests/baselines/reference/reuseProgramStructure/change-doesnot-affect-type-references.js b/tests/baselines/reference/reuseProgramStructure/change-doesnot-affect-type-references.js index caa57f5c989ca..ebd73889412a0 100644 --- a/tests/baselines/reference/reuseProgramStructure/change-doesnot-affect-type-references.js +++ b/tests/baselines/reference/reuseProgramStructure/change-doesnot-affect-type-references.js @@ -1,4 +1,4 @@ -Program Reused:: Not +Program 1 Reused:: Not File: c.ts @@ -55,7 +55,7 @@ a.ts(4,23): error TS2688: Cannot find type definition file for 'typerefs'. -Program Reused:: Completely +Program 2 Reused:: Completely File: c.ts diff --git a/tests/baselines/reference/reuseProgramStructure/config-path-changes.js b/tests/baselines/reference/reuseProgramStructure/config-path-changes.js index 7608a460c1017..d751189dca03b 100644 --- a/tests/baselines/reference/reuseProgramStructure/config-path-changes.js +++ b/tests/baselines/reference/reuseProgramStructure/config-path-changes.js @@ -1,4 +1,4 @@ -Program Reused:: Not +Program 1 Reused:: Not File: c.ts @@ -46,7 +46,7 @@ a.ts(4,23): error TS2688: Cannot find type definition file for 'typerefs'. -Program Reused:: Not +Program 2 Reused:: Not File: c.ts diff --git a/tests/baselines/reference/reuseProgramStructure/fetches-imports-after-npm-install.js b/tests/baselines/reference/reuseProgramStructure/fetches-imports-after-npm-install.js index e0465c1a849d1..83606b0482712 100644 --- a/tests/baselines/reference/reuseProgramStructure/fetches-imports-after-npm-install.js +++ b/tests/baselines/reference/reuseProgramStructure/fetches-imports-after-npm-install.js @@ -1,4 +1,4 @@ -Program Reused:: Not +Program 1 Reused:: Not File: file1.ts import * as a from "a"; @@ -63,7 +63,7 @@ file1.ts(2,20): error TS2307: Cannot find module 'a' or its corresponding type d -Program Reused:: SafeModules +Program 2 Reused:: SafeModules File: node_modules/a/index.d.ts export declare let x: number; diff --git a/tests/baselines/reference/reuseProgramStructure/handles-file-preprocessing-dignostics-when-diagnostics-are-not-queried.js b/tests/baselines/reference/reuseProgramStructure/handles-file-preprocessing-dignostics-when-diagnostics-are-not-queried.js new file mode 100644 index 0000000000000..b190df362b194 --- /dev/null +++ b/tests/baselines/reference/reuseProgramStructure/handles-file-preprocessing-dignostics-when-diagnostics-are-not-queried.js @@ -0,0 +1,1624 @@ +Program 1 Reused:: Not +File: /src/project/node_modules/fp-ts/lib/Struct.d.ts + + +export function foo(): void + +File: /src/project/src/struct.d.ts + + +import * as xs1 from "fp-ts/lib/Struct"; +import * as xs2 from "fp-ts/lib/struct"; +import * as xs3 from "./Struct"; +import * as xs4 from "./struct"; + +resolvedModules: +fp-ts/lib/Struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/node_modules/fp-ts/lib/Struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": true, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/node_modules/fp-ts/lib/Struct/package.json", + "/src/project/src/node_modules/fp-ts/package.json", + "/src/project/src/node_modules/fp-ts/lib/Struct.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct.tsx", + "/src/project/src/node_modules/fp-ts/lib/Struct.d.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.tsx", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct/package.json", + "/src/project/src/node_modules/@types/fp-ts/package.json", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct/index.d.ts", + "/src/project/node_modules/fp-ts/lib/Struct/package.json", + "/src/project/node_modules/fp-ts/package.json", + "/src/project/node_modules/fp-ts/lib/Struct.ts", + "/src/project/node_modules/fp-ts/lib/Struct.tsx" + ] +} +fp-ts/lib/struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/node_modules/fp-ts/lib/struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": true, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/node_modules/fp-ts/lib/struct/package.json", + "/src/project/src/node_modules/fp-ts/package.json", + "/src/project/src/node_modules/fp-ts/lib/struct.ts", + "/src/project/src/node_modules/fp-ts/lib/struct.tsx", + "/src/project/src/node_modules/fp-ts/lib/struct.d.ts", + "/src/project/src/node_modules/fp-ts/lib/struct/index.ts", + "/src/project/src/node_modules/fp-ts/lib/struct/index.tsx", + "/src/project/src/node_modules/fp-ts/lib/struct/index.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/struct/package.json", + "/src/project/src/node_modules/@types/fp-ts/package.json", + "/src/project/src/node_modules/@types/fp-ts/lib/struct.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/struct/index.d.ts", + "/src/project/node_modules/fp-ts/lib/struct/package.json", + "/src/project/node_modules/fp-ts/package.json", + "/src/project/node_modules/fp-ts/lib/struct.ts", + "/src/project/node_modules/fp-ts/lib/struct.tsx" + ] +} +./Struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/src/Struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": false, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/Struct.ts", + "/src/project/src/Struct.tsx" + ] +} +./struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/src/struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": false, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/struct.ts", + "/src/project/src/struct.tsx" + ] +} + +File: /src/project/src/anotherFile.ts + + +import * as xs1 from "fp-ts/lib/Struct"; +import * as xs2 from "fp-ts/lib/struct"; +import * as xs3 from "./Struct"; +import * as xs4 from "./struct"; + +resolvedModules: +fp-ts/lib/Struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/node_modules/fp-ts/lib/Struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": true, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/node_modules/fp-ts/lib/Struct/package.json", + "/src/project/src/node_modules/fp-ts/package.json", + "/src/project/src/node_modules/fp-ts/lib/Struct.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct.tsx", + "/src/project/src/node_modules/fp-ts/lib/Struct.d.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.tsx", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct/package.json", + "/src/project/src/node_modules/@types/fp-ts/package.json", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct/index.d.ts", + "/src/project/node_modules/fp-ts/lib/Struct/package.json", + "/src/project/node_modules/fp-ts/package.json", + "/src/project/node_modules/fp-ts/lib/Struct.ts", + "/src/project/node_modules/fp-ts/lib/Struct.tsx" + ] +} +fp-ts/lib/struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/node_modules/fp-ts/lib/struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": true, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/node_modules/fp-ts/lib/struct/package.json", + "/src/project/src/node_modules/fp-ts/package.json", + "/src/project/src/node_modules/fp-ts/lib/struct.ts", + "/src/project/src/node_modules/fp-ts/lib/struct.tsx", + "/src/project/src/node_modules/fp-ts/lib/struct.d.ts", + "/src/project/src/node_modules/fp-ts/lib/struct/index.ts", + "/src/project/src/node_modules/fp-ts/lib/struct/index.tsx", + "/src/project/src/node_modules/fp-ts/lib/struct/index.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/struct/package.json", + "/src/project/src/node_modules/@types/fp-ts/package.json", + "/src/project/src/node_modules/@types/fp-ts/lib/struct.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/struct/index.d.ts", + "/src/project/node_modules/fp-ts/lib/struct/package.json", + "/src/project/node_modules/fp-ts/package.json", + "/src/project/node_modules/fp-ts/lib/struct.ts", + "/src/project/node_modules/fp-ts/lib/struct.tsx" + ] +} +./Struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/src/Struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": false, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/Struct.ts", + "/src/project/src/Struct.tsx" + ] +} +./struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/src/struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": false, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/struct.ts", + "/src/project/src/struct.tsx" + ] +} + +File: /src/project/src/oneMore.ts + + +import * as xs1 from "fp-ts/lib/Struct"; +import * as xs2 from "fp-ts/lib/struct"; +import * as xs3 from "./Struct"; +import * as xs4 from "./struct"; + +resolvedModules: +fp-ts/lib/Struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/node_modules/fp-ts/lib/Struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": true, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/node_modules/fp-ts/lib/Struct/package.json", + "/src/project/src/node_modules/fp-ts/package.json", + "/src/project/src/node_modules/fp-ts/lib/Struct.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct.tsx", + "/src/project/src/node_modules/fp-ts/lib/Struct.d.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.tsx", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct/package.json", + "/src/project/src/node_modules/@types/fp-ts/package.json", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct/index.d.ts", + "/src/project/node_modules/fp-ts/lib/Struct/package.json", + "/src/project/node_modules/fp-ts/package.json", + "/src/project/node_modules/fp-ts/lib/Struct.ts", + "/src/project/node_modules/fp-ts/lib/Struct.tsx" + ] +} +fp-ts/lib/struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/node_modules/fp-ts/lib/struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": true, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/node_modules/fp-ts/lib/struct/package.json", + "/src/project/src/node_modules/fp-ts/package.json", + "/src/project/src/node_modules/fp-ts/lib/struct.ts", + "/src/project/src/node_modules/fp-ts/lib/struct.tsx", + "/src/project/src/node_modules/fp-ts/lib/struct.d.ts", + "/src/project/src/node_modules/fp-ts/lib/struct/index.ts", + "/src/project/src/node_modules/fp-ts/lib/struct/index.tsx", + "/src/project/src/node_modules/fp-ts/lib/struct/index.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/struct/package.json", + "/src/project/src/node_modules/@types/fp-ts/package.json", + "/src/project/src/node_modules/@types/fp-ts/lib/struct.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/struct/index.d.ts", + "/src/project/node_modules/fp-ts/lib/struct/package.json", + "/src/project/node_modules/fp-ts/package.json", + "/src/project/node_modules/fp-ts/lib/struct.ts", + "/src/project/node_modules/fp-ts/lib/struct.tsx" + ] +} +./Struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/src/Struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": false, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/Struct.ts", + "/src/project/src/Struct.tsx" + ] +} +./struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/src/struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": false, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/struct.ts", + "/src/project/src/struct.tsx" + ] +} + + +MissingPaths:: [ + "lib.d.ts" +] + +Skipped diagnostics + + +Program 2 Reused:: Completely +File: /src/project/node_modules/fp-ts/lib/Struct.d.ts + + +export function foo(): void + +File: /src/project/src/struct.d.ts + + + + +import * as xs1 from "fp-ts/lib/Struct"; +import * as xs2 from "fp-ts/lib/struct"; +import * as xs3 from "./Struct"; +import * as xs4 from "./struct"; +export const y = 10; +resolvedModules: +fp-ts/lib/Struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/node_modules/fp-ts/lib/Struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": true, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/node_modules/fp-ts/lib/Struct/package.json", + "/src/project/src/node_modules/fp-ts/package.json", + "/src/project/src/node_modules/fp-ts/lib/Struct.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct.tsx", + "/src/project/src/node_modules/fp-ts/lib/Struct.d.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.tsx", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct/package.json", + "/src/project/src/node_modules/@types/fp-ts/package.json", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct/index.d.ts", + "/src/project/node_modules/fp-ts/lib/Struct/package.json", + "/src/project/node_modules/fp-ts/package.json", + "/src/project/node_modules/fp-ts/lib/Struct.ts", + "/src/project/node_modules/fp-ts/lib/Struct.tsx" + ] +} +fp-ts/lib/struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/node_modules/fp-ts/lib/struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": true, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/node_modules/fp-ts/lib/struct/package.json", + "/src/project/src/node_modules/fp-ts/package.json", + "/src/project/src/node_modules/fp-ts/lib/struct.ts", + "/src/project/src/node_modules/fp-ts/lib/struct.tsx", + "/src/project/src/node_modules/fp-ts/lib/struct.d.ts", + "/src/project/src/node_modules/fp-ts/lib/struct/index.ts", + "/src/project/src/node_modules/fp-ts/lib/struct/index.tsx", + "/src/project/src/node_modules/fp-ts/lib/struct/index.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/struct/package.json", + "/src/project/src/node_modules/@types/fp-ts/package.json", + "/src/project/src/node_modules/@types/fp-ts/lib/struct.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/struct/index.d.ts", + "/src/project/node_modules/fp-ts/lib/struct/package.json", + "/src/project/node_modules/fp-ts/package.json", + "/src/project/node_modules/fp-ts/lib/struct.ts", + "/src/project/node_modules/fp-ts/lib/struct.tsx" + ] +} +./Struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/src/Struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": false, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/Struct.ts", + "/src/project/src/Struct.tsx" + ] +} +./struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/src/struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": false, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/struct.ts", + "/src/project/src/struct.tsx" + ] +} + +File: /src/project/src/anotherFile.ts + + +import * as xs1 from "fp-ts/lib/Struct"; +import * as xs2 from "fp-ts/lib/struct"; +import * as xs3 from "./Struct"; +import * as xs4 from "./struct"; + +resolvedModules: +fp-ts/lib/Struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/node_modules/fp-ts/lib/Struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": true, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/node_modules/fp-ts/lib/Struct/package.json", + "/src/project/src/node_modules/fp-ts/package.json", + "/src/project/src/node_modules/fp-ts/lib/Struct.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct.tsx", + "/src/project/src/node_modules/fp-ts/lib/Struct.d.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.tsx", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct/package.json", + "/src/project/src/node_modules/@types/fp-ts/package.json", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct/index.d.ts", + "/src/project/node_modules/fp-ts/lib/Struct/package.json", + "/src/project/node_modules/fp-ts/package.json", + "/src/project/node_modules/fp-ts/lib/Struct.ts", + "/src/project/node_modules/fp-ts/lib/Struct.tsx" + ] +} +fp-ts/lib/struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/node_modules/fp-ts/lib/struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": true, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/node_modules/fp-ts/lib/struct/package.json", + "/src/project/src/node_modules/fp-ts/package.json", + "/src/project/src/node_modules/fp-ts/lib/struct.ts", + "/src/project/src/node_modules/fp-ts/lib/struct.tsx", + "/src/project/src/node_modules/fp-ts/lib/struct.d.ts", + "/src/project/src/node_modules/fp-ts/lib/struct/index.ts", + "/src/project/src/node_modules/fp-ts/lib/struct/index.tsx", + "/src/project/src/node_modules/fp-ts/lib/struct/index.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/struct/package.json", + "/src/project/src/node_modules/@types/fp-ts/package.json", + "/src/project/src/node_modules/@types/fp-ts/lib/struct.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/struct/index.d.ts", + "/src/project/node_modules/fp-ts/lib/struct/package.json", + "/src/project/node_modules/fp-ts/package.json", + "/src/project/node_modules/fp-ts/lib/struct.ts", + "/src/project/node_modules/fp-ts/lib/struct.tsx" + ] +} +./Struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/src/Struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": false, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/Struct.ts", + "/src/project/src/Struct.tsx" + ] +} +./struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/src/struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": false, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/struct.ts", + "/src/project/src/struct.tsx" + ] +} + +File: /src/project/src/oneMore.ts + + +import * as xs1 from "fp-ts/lib/Struct"; +import * as xs2 from "fp-ts/lib/struct"; +import * as xs3 from "./Struct"; +import * as xs4 from "./struct"; + +resolvedModules: +fp-ts/lib/Struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/node_modules/fp-ts/lib/Struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": true, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/node_modules/fp-ts/lib/Struct/package.json", + "/src/project/src/node_modules/fp-ts/package.json", + "/src/project/src/node_modules/fp-ts/lib/Struct.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct.tsx", + "/src/project/src/node_modules/fp-ts/lib/Struct.d.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.tsx", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct/package.json", + "/src/project/src/node_modules/@types/fp-ts/package.json", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct/index.d.ts", + "/src/project/node_modules/fp-ts/lib/Struct/package.json", + "/src/project/node_modules/fp-ts/package.json", + "/src/project/node_modules/fp-ts/lib/Struct.ts", + "/src/project/node_modules/fp-ts/lib/Struct.tsx" + ] +} +fp-ts/lib/struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/node_modules/fp-ts/lib/struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": true, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/node_modules/fp-ts/lib/struct/package.json", + "/src/project/src/node_modules/fp-ts/package.json", + "/src/project/src/node_modules/fp-ts/lib/struct.ts", + "/src/project/src/node_modules/fp-ts/lib/struct.tsx", + "/src/project/src/node_modules/fp-ts/lib/struct.d.ts", + "/src/project/src/node_modules/fp-ts/lib/struct/index.ts", + "/src/project/src/node_modules/fp-ts/lib/struct/index.tsx", + "/src/project/src/node_modules/fp-ts/lib/struct/index.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/struct/package.json", + "/src/project/src/node_modules/@types/fp-ts/package.json", + "/src/project/src/node_modules/@types/fp-ts/lib/struct.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/struct/index.d.ts", + "/src/project/node_modules/fp-ts/lib/struct/package.json", + "/src/project/node_modules/fp-ts/package.json", + "/src/project/node_modules/fp-ts/lib/struct.ts", + "/src/project/node_modules/fp-ts/lib/struct.tsx" + ] +} +./Struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/src/Struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": false, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/Struct.ts", + "/src/project/src/Struct.tsx" + ] +} +./struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/src/struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": false, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/struct.ts", + "/src/project/src/struct.tsx" + ] +} + + +MissingPaths:: [ + "lib.d.ts" +] + +Skipped diagnostics + + +Program 1 Reused:: Not +Diagnostics: +/src/project/src/anotherFile.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. + The file is in the program because: + Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' + Root file specified for compilation +/src/project/src/anotherFile.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. + The file is in the program because: + Root file specified for compilation + Imported via "./Struct" from file '/src/project/src/struct.d.ts' + Imported via "./struct" from file '/src/project/src/struct.d.ts' + Imported via "./Struct" from file '/src/project/src/anotherFile.ts' + Imported via "./struct" from file '/src/project/src/anotherFile.ts' + Imported via "./Struct" from file '/src/project/src/oneMore.ts' + Imported via "./struct" from file '/src/project/src/oneMore.ts' +/src/project/src/oneMore.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. + The file is in the program because: + Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' + Root file specified for compilation +/src/project/src/oneMore.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. + The file is in the program because: + Root file specified for compilation + Imported via "./Struct" from file '/src/project/src/struct.d.ts' + Imported via "./struct" from file '/src/project/src/struct.d.ts' + Imported via "./Struct" from file '/src/project/src/anotherFile.ts' + Imported via "./struct" from file '/src/project/src/anotherFile.ts' + Imported via "./Struct" from file '/src/project/src/oneMore.ts' + Imported via "./struct" from file '/src/project/src/oneMore.ts' +/src/project/src/struct.d.ts(3,22): error TS1261: Already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' differs from file name '/src/project/node_modules/fp-ts/lib/struct.d.ts' only in casing. + The file is in the program because: + Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' + Root file specified for compilation +/src/project/src/struct.d.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. + The file is in the program because: + Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' + Root file specified for compilation +/src/project/src/struct.d.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. + The file is in the program because: + Root file specified for compilation + Imported via "./Struct" from file '/src/project/src/struct.d.ts' + Imported via "./struct" from file '/src/project/src/struct.d.ts' + Imported via "./Struct" from file '/src/project/src/anotherFile.ts' + Imported via "./struct" from file '/src/project/src/anotherFile.ts' + Imported via "./Struct" from file '/src/project/src/oneMore.ts' + Imported via "./struct" from file '/src/project/src/oneMore.ts' + + + +Program 3 Reused:: Completely +File: /src/project/node_modules/fp-ts/lib/Struct.d.ts + + +export function foo(): void + +File: /src/project/src/struct.d.ts + + + + + + +import * as xs1 from "fp-ts/lib/Struct"; +import * as xs2 from "fp-ts/lib/struct"; +import * as xs3 from "./Struct"; +import * as xs4 from "./struct"; +export const y = 10;export const z = 10; +resolvedModules: +fp-ts/lib/Struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/node_modules/fp-ts/lib/Struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": true, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/node_modules/fp-ts/lib/Struct/package.json", + "/src/project/src/node_modules/fp-ts/package.json", + "/src/project/src/node_modules/fp-ts/lib/Struct.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct.tsx", + "/src/project/src/node_modules/fp-ts/lib/Struct.d.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.tsx", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct/package.json", + "/src/project/src/node_modules/@types/fp-ts/package.json", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct/index.d.ts", + "/src/project/node_modules/fp-ts/lib/Struct/package.json", + "/src/project/node_modules/fp-ts/package.json", + "/src/project/node_modules/fp-ts/lib/Struct.ts", + "/src/project/node_modules/fp-ts/lib/Struct.tsx" + ] +} +fp-ts/lib/struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/node_modules/fp-ts/lib/struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": true, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/node_modules/fp-ts/lib/struct/package.json", + "/src/project/src/node_modules/fp-ts/package.json", + "/src/project/src/node_modules/fp-ts/lib/struct.ts", + "/src/project/src/node_modules/fp-ts/lib/struct.tsx", + "/src/project/src/node_modules/fp-ts/lib/struct.d.ts", + "/src/project/src/node_modules/fp-ts/lib/struct/index.ts", + "/src/project/src/node_modules/fp-ts/lib/struct/index.tsx", + "/src/project/src/node_modules/fp-ts/lib/struct/index.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/struct/package.json", + "/src/project/src/node_modules/@types/fp-ts/package.json", + "/src/project/src/node_modules/@types/fp-ts/lib/struct.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/struct/index.d.ts", + "/src/project/node_modules/fp-ts/lib/struct/package.json", + "/src/project/node_modules/fp-ts/package.json", + "/src/project/node_modules/fp-ts/lib/struct.ts", + "/src/project/node_modules/fp-ts/lib/struct.tsx" + ] +} +./Struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/src/Struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": false, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/Struct.ts", + "/src/project/src/Struct.tsx" + ] +} +./struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/src/struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": false, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/struct.ts", + "/src/project/src/struct.tsx" + ] +} + +File: /src/project/src/anotherFile.ts + + +import * as xs1 from "fp-ts/lib/Struct"; +import * as xs2 from "fp-ts/lib/struct"; +import * as xs3 from "./Struct"; +import * as xs4 from "./struct"; + +resolvedModules: +fp-ts/lib/Struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/node_modules/fp-ts/lib/Struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": true, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/node_modules/fp-ts/lib/Struct/package.json", + "/src/project/src/node_modules/fp-ts/package.json", + "/src/project/src/node_modules/fp-ts/lib/Struct.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct.tsx", + "/src/project/src/node_modules/fp-ts/lib/Struct.d.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.tsx", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct/package.json", + "/src/project/src/node_modules/@types/fp-ts/package.json", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct/index.d.ts", + "/src/project/node_modules/fp-ts/lib/Struct/package.json", + "/src/project/node_modules/fp-ts/package.json", + "/src/project/node_modules/fp-ts/lib/Struct.ts", + "/src/project/node_modules/fp-ts/lib/Struct.tsx" + ] +} +fp-ts/lib/struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/node_modules/fp-ts/lib/struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": true, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/node_modules/fp-ts/lib/struct/package.json", + "/src/project/src/node_modules/fp-ts/package.json", + "/src/project/src/node_modules/fp-ts/lib/struct.ts", + "/src/project/src/node_modules/fp-ts/lib/struct.tsx", + "/src/project/src/node_modules/fp-ts/lib/struct.d.ts", + "/src/project/src/node_modules/fp-ts/lib/struct/index.ts", + "/src/project/src/node_modules/fp-ts/lib/struct/index.tsx", + "/src/project/src/node_modules/fp-ts/lib/struct/index.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/struct/package.json", + "/src/project/src/node_modules/@types/fp-ts/package.json", + "/src/project/src/node_modules/@types/fp-ts/lib/struct.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/struct/index.d.ts", + "/src/project/node_modules/fp-ts/lib/struct/package.json", + "/src/project/node_modules/fp-ts/package.json", + "/src/project/node_modules/fp-ts/lib/struct.ts", + "/src/project/node_modules/fp-ts/lib/struct.tsx" + ] +} +./Struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/src/Struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": false, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/Struct.ts", + "/src/project/src/Struct.tsx" + ] +} +./struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/src/struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": false, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/struct.ts", + "/src/project/src/struct.tsx" + ] +} + +File: /src/project/src/oneMore.ts + + +import * as xs1 from "fp-ts/lib/Struct"; +import * as xs2 from "fp-ts/lib/struct"; +import * as xs3 from "./Struct"; +import * as xs4 from "./struct"; + +resolvedModules: +fp-ts/lib/Struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/node_modules/fp-ts/lib/Struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": true, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/node_modules/fp-ts/lib/Struct/package.json", + "/src/project/src/node_modules/fp-ts/package.json", + "/src/project/src/node_modules/fp-ts/lib/Struct.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct.tsx", + "/src/project/src/node_modules/fp-ts/lib/Struct.d.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.tsx", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct/package.json", + "/src/project/src/node_modules/@types/fp-ts/package.json", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct/index.d.ts", + "/src/project/node_modules/fp-ts/lib/Struct/package.json", + "/src/project/node_modules/fp-ts/package.json", + "/src/project/node_modules/fp-ts/lib/Struct.ts", + "/src/project/node_modules/fp-ts/lib/Struct.tsx" + ] +} +fp-ts/lib/struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/node_modules/fp-ts/lib/struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": true, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/node_modules/fp-ts/lib/struct/package.json", + "/src/project/src/node_modules/fp-ts/package.json", + "/src/project/src/node_modules/fp-ts/lib/struct.ts", + "/src/project/src/node_modules/fp-ts/lib/struct.tsx", + "/src/project/src/node_modules/fp-ts/lib/struct.d.ts", + "/src/project/src/node_modules/fp-ts/lib/struct/index.ts", + "/src/project/src/node_modules/fp-ts/lib/struct/index.tsx", + "/src/project/src/node_modules/fp-ts/lib/struct/index.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/struct/package.json", + "/src/project/src/node_modules/@types/fp-ts/package.json", + "/src/project/src/node_modules/@types/fp-ts/lib/struct.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/struct/index.d.ts", + "/src/project/node_modules/fp-ts/lib/struct/package.json", + "/src/project/node_modules/fp-ts/package.json", + "/src/project/node_modules/fp-ts/lib/struct.ts", + "/src/project/node_modules/fp-ts/lib/struct.tsx" + ] +} +./Struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/src/Struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": false, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/Struct.ts", + "/src/project/src/Struct.tsx" + ] +} +./struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/src/struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": false, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/struct.ts", + "/src/project/src/struct.tsx" + ] +} + + +MissingPaths:: [ + "lib.d.ts" +] + +/src/project/src/anotherFile.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. + The file is in the program because: + Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' + Root file specified for compilation +/src/project/src/anotherFile.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. + The file is in the program because: + Root file specified for compilation + Imported via "./Struct" from file '/src/project/src/struct.d.ts' + Imported via "./struct" from file '/src/project/src/struct.d.ts' + Imported via "./Struct" from file '/src/project/src/anotherFile.ts' + Imported via "./struct" from file '/src/project/src/anotherFile.ts' + Imported via "./Struct" from file '/src/project/src/oneMore.ts' + Imported via "./struct" from file '/src/project/src/oneMore.ts' +/src/project/src/oneMore.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. + The file is in the program because: + Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' + Root file specified for compilation +/src/project/src/oneMore.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. + The file is in the program because: + Root file specified for compilation + Imported via "./Struct" from file '/src/project/src/struct.d.ts' + Imported via "./struct" from file '/src/project/src/struct.d.ts' + Imported via "./Struct" from file '/src/project/src/anotherFile.ts' + Imported via "./struct" from file '/src/project/src/anotherFile.ts' + Imported via "./Struct" from file '/src/project/src/oneMore.ts' + Imported via "./struct" from file '/src/project/src/oneMore.ts' +/src/project/src/struct.d.ts(7,22): error TS1261: Already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' differs from file name '/src/project/node_modules/fp-ts/lib/struct.d.ts' only in casing. + The file is in the program because: + Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' + Root file specified for compilation +/src/project/src/struct.d.ts(8,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. + The file is in the program because: + Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' + Root file specified for compilation +/src/project/src/struct.d.ts(9,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. + The file is in the program because: + Root file specified for compilation + Imported via "./Struct" from file '/src/project/src/struct.d.ts' + Imported via "./struct" from file '/src/project/src/struct.d.ts' + Imported via "./Struct" from file '/src/project/src/anotherFile.ts' + Imported via "./struct" from file '/src/project/src/anotherFile.ts' + Imported via "./Struct" from file '/src/project/src/oneMore.ts' + Imported via "./struct" from file '/src/project/src/oneMore.ts' + + + +Program 2 Reused:: Completely +Diagnostics: +/src/project/src/anotherFile.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. + The file is in the program because: + Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' + Root file specified for compilation +/src/project/src/anotherFile.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. + The file is in the program because: + Root file specified for compilation + Imported via "./Struct" from file '/src/project/src/struct.d.ts' + Imported via "./struct" from file '/src/project/src/struct.d.ts' + Imported via "./Struct" from file '/src/project/src/anotherFile.ts' + Imported via "./struct" from file '/src/project/src/anotherFile.ts' + Imported via "./Struct" from file '/src/project/src/oneMore.ts' + Imported via "./struct" from file '/src/project/src/oneMore.ts' +/src/project/src/oneMore.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. + The file is in the program because: + Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' + Root file specified for compilation +/src/project/src/oneMore.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. + The file is in the program because: + Root file specified for compilation + Imported via "./Struct" from file '/src/project/src/struct.d.ts' + Imported via "./struct" from file '/src/project/src/struct.d.ts' + Imported via "./Struct" from file '/src/project/src/anotherFile.ts' + Imported via "./struct" from file '/src/project/src/anotherFile.ts' + Imported via "./Struct" from file '/src/project/src/oneMore.ts' + Imported via "./struct" from file '/src/project/src/oneMore.ts' +/src/project/src/struct.d.ts(5,22): error TS1261: Already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' differs from file name '/src/project/node_modules/fp-ts/lib/struct.d.ts' only in casing. + The file is in the program because: + Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' + Root file specified for compilation +/src/project/src/struct.d.ts(6,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. + The file is in the program because: + Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' + Root file specified for compilation +/src/project/src/struct.d.ts(7,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. + The file is in the program because: + Root file specified for compilation + Imported via "./Struct" from file '/src/project/src/struct.d.ts' + Imported via "./struct" from file '/src/project/src/struct.d.ts' + Imported via "./Struct" from file '/src/project/src/anotherFile.ts' + Imported via "./struct" from file '/src/project/src/anotherFile.ts' + Imported via "./Struct" from file '/src/project/src/oneMore.ts' + Imported via "./struct" from file '/src/project/src/oneMore.ts' + + + +Program 4 Reused:: SafeModules +File: /src/project/node_modules/fp-ts/lib/Struct.d.ts + + +export function foo(): void + +File: /src/project/src/struct.d.ts + + +import * as xs1 from "fp-ts/lib/Struct"; +import * as xs2 from "fp-ts/lib/struct"; +import * as xs3 from "./Struct"; + +resolvedModules: +fp-ts/lib/Struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/node_modules/fp-ts/lib/Struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": true, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/node_modules/fp-ts/lib/Struct/package.json", + "/src/project/src/node_modules/fp-ts/package.json", + "/src/project/src/node_modules/fp-ts/lib/Struct.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct.tsx", + "/src/project/src/node_modules/fp-ts/lib/Struct.d.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.tsx", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct/package.json", + "/src/project/src/node_modules/@types/fp-ts/package.json", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct/index.d.ts", + "/src/project/node_modules/fp-ts/lib/Struct/package.json", + "/src/project/node_modules/fp-ts/package.json", + "/src/project/node_modules/fp-ts/lib/Struct.ts", + "/src/project/node_modules/fp-ts/lib/Struct.tsx" + ] +} +fp-ts/lib/struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/node_modules/fp-ts/lib/struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": true, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/node_modules/fp-ts/lib/struct/package.json", + "/src/project/src/node_modules/fp-ts/package.json", + "/src/project/src/node_modules/fp-ts/lib/struct.ts", + "/src/project/src/node_modules/fp-ts/lib/struct.tsx", + "/src/project/src/node_modules/fp-ts/lib/struct.d.ts", + "/src/project/src/node_modules/fp-ts/lib/struct/index.ts", + "/src/project/src/node_modules/fp-ts/lib/struct/index.tsx", + "/src/project/src/node_modules/fp-ts/lib/struct/index.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/struct/package.json", + "/src/project/src/node_modules/@types/fp-ts/package.json", + "/src/project/src/node_modules/@types/fp-ts/lib/struct.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/struct/index.d.ts", + "/src/project/node_modules/fp-ts/lib/struct/package.json", + "/src/project/node_modules/fp-ts/package.json", + "/src/project/node_modules/fp-ts/lib/struct.ts", + "/src/project/node_modules/fp-ts/lib/struct.tsx" + ] +} +./Struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/src/Struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": false, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/Struct.ts", + "/src/project/src/Struct.tsx" + ] +} + +File: /src/project/src/anotherFile.ts + + +import * as xs1 from "fp-ts/lib/Struct"; +import * as xs2 from "fp-ts/lib/struct"; +import * as xs3 from "./Struct"; +import * as xs4 from "./struct"; + +resolvedModules: +fp-ts/lib/Struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/node_modules/fp-ts/lib/Struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": true, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/node_modules/fp-ts/lib/Struct/package.json", + "/src/project/src/node_modules/fp-ts/package.json", + "/src/project/src/node_modules/fp-ts/lib/Struct.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct.tsx", + "/src/project/src/node_modules/fp-ts/lib/Struct.d.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.tsx", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct/package.json", + "/src/project/src/node_modules/@types/fp-ts/package.json", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct/index.d.ts", + "/src/project/node_modules/fp-ts/lib/Struct/package.json", + "/src/project/node_modules/fp-ts/package.json", + "/src/project/node_modules/fp-ts/lib/Struct.ts", + "/src/project/node_modules/fp-ts/lib/Struct.tsx" + ] +} +fp-ts/lib/struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/node_modules/fp-ts/lib/struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": true, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/node_modules/fp-ts/lib/struct/package.json", + "/src/project/src/node_modules/fp-ts/package.json", + "/src/project/src/node_modules/fp-ts/lib/struct.ts", + "/src/project/src/node_modules/fp-ts/lib/struct.tsx", + "/src/project/src/node_modules/fp-ts/lib/struct.d.ts", + "/src/project/src/node_modules/fp-ts/lib/struct/index.ts", + "/src/project/src/node_modules/fp-ts/lib/struct/index.tsx", + "/src/project/src/node_modules/fp-ts/lib/struct/index.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/struct/package.json", + "/src/project/src/node_modules/@types/fp-ts/package.json", + "/src/project/src/node_modules/@types/fp-ts/lib/struct.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/struct/index.d.ts", + "/src/project/node_modules/fp-ts/lib/struct/package.json", + "/src/project/node_modules/fp-ts/package.json", + "/src/project/node_modules/fp-ts/lib/struct.ts", + "/src/project/node_modules/fp-ts/lib/struct.tsx" + ] +} +./Struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/src/Struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": false, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/Struct.ts", + "/src/project/src/Struct.tsx" + ] +} +./struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/src/struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": false, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/struct.ts", + "/src/project/src/struct.tsx" + ] +} + +File: /src/project/src/oneMore.ts + + +import * as xs1 from "fp-ts/lib/Struct"; +import * as xs2 from "fp-ts/lib/struct"; +import * as xs3 from "./Struct"; +import * as xs4 from "./struct"; + +resolvedModules: +fp-ts/lib/Struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/node_modules/fp-ts/lib/Struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": true, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/node_modules/fp-ts/lib/Struct/package.json", + "/src/project/src/node_modules/fp-ts/package.json", + "/src/project/src/node_modules/fp-ts/lib/Struct.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct.tsx", + "/src/project/src/node_modules/fp-ts/lib/Struct.d.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.tsx", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct/package.json", + "/src/project/src/node_modules/@types/fp-ts/package.json", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct/index.d.ts", + "/src/project/node_modules/fp-ts/lib/Struct/package.json", + "/src/project/node_modules/fp-ts/package.json", + "/src/project/node_modules/fp-ts/lib/Struct.ts", + "/src/project/node_modules/fp-ts/lib/Struct.tsx" + ] +} +fp-ts/lib/struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/node_modules/fp-ts/lib/struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": true, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/node_modules/fp-ts/lib/struct/package.json", + "/src/project/src/node_modules/fp-ts/package.json", + "/src/project/src/node_modules/fp-ts/lib/struct.ts", + "/src/project/src/node_modules/fp-ts/lib/struct.tsx", + "/src/project/src/node_modules/fp-ts/lib/struct.d.ts", + "/src/project/src/node_modules/fp-ts/lib/struct/index.ts", + "/src/project/src/node_modules/fp-ts/lib/struct/index.tsx", + "/src/project/src/node_modules/fp-ts/lib/struct/index.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/struct/package.json", + "/src/project/src/node_modules/@types/fp-ts/package.json", + "/src/project/src/node_modules/@types/fp-ts/lib/struct.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/struct/index.d.ts", + "/src/project/node_modules/fp-ts/lib/struct/package.json", + "/src/project/node_modules/fp-ts/package.json", + "/src/project/node_modules/fp-ts/lib/struct.ts", + "/src/project/node_modules/fp-ts/lib/struct.tsx" + ] +} +./Struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/src/Struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": false, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/Struct.ts", + "/src/project/src/Struct.tsx" + ] +} +./struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/src/struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": false, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/struct.ts", + "/src/project/src/struct.tsx" + ] +} + + +MissingPaths:: [ + "lib.d.ts" +] + +Skipped diagnostics + + +Program 5 Reused:: SafeModules +File: /src/project/node_modules/fp-ts/lib/Struct.d.ts + + +export function foo(): void + +File: /src/project/src/struct.d.ts + + +import * as xs1 from "fp-ts/lib/Struct"; +import * as xs3 from "./Struct"; + +resolvedModules: +fp-ts/lib/Struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/node_modules/fp-ts/lib/Struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": true, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/node_modules/fp-ts/lib/Struct/package.json", + "/src/project/src/node_modules/fp-ts/package.json", + "/src/project/src/node_modules/fp-ts/lib/Struct.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct.tsx", + "/src/project/src/node_modules/fp-ts/lib/Struct.d.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.tsx", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct/package.json", + "/src/project/src/node_modules/@types/fp-ts/package.json", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct/index.d.ts", + "/src/project/node_modules/fp-ts/lib/Struct/package.json", + "/src/project/node_modules/fp-ts/package.json", + "/src/project/node_modules/fp-ts/lib/Struct.ts", + "/src/project/node_modules/fp-ts/lib/Struct.tsx" + ] +} +./Struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/src/Struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": false, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/Struct.ts", + "/src/project/src/Struct.tsx" + ] +} + +File: /src/project/src/anotherFile.ts + + +import * as xs1 from "fp-ts/lib/Struct"; +import * as xs2 from "fp-ts/lib/struct"; +import * as xs3 from "./Struct"; +import * as xs4 from "./struct"; + +resolvedModules: +fp-ts/lib/Struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/node_modules/fp-ts/lib/Struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": true, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/node_modules/fp-ts/lib/Struct/package.json", + "/src/project/src/node_modules/fp-ts/package.json", + "/src/project/src/node_modules/fp-ts/lib/Struct.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct.tsx", + "/src/project/src/node_modules/fp-ts/lib/Struct.d.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.tsx", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct/package.json", + "/src/project/src/node_modules/@types/fp-ts/package.json", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct/index.d.ts", + "/src/project/node_modules/fp-ts/lib/Struct/package.json", + "/src/project/node_modules/fp-ts/package.json", + "/src/project/node_modules/fp-ts/lib/Struct.ts", + "/src/project/node_modules/fp-ts/lib/Struct.tsx" + ] +} +fp-ts/lib/struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/node_modules/fp-ts/lib/struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": true, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/node_modules/fp-ts/lib/struct/package.json", + "/src/project/src/node_modules/fp-ts/package.json", + "/src/project/src/node_modules/fp-ts/lib/struct.ts", + "/src/project/src/node_modules/fp-ts/lib/struct.tsx", + "/src/project/src/node_modules/fp-ts/lib/struct.d.ts", + "/src/project/src/node_modules/fp-ts/lib/struct/index.ts", + "/src/project/src/node_modules/fp-ts/lib/struct/index.tsx", + "/src/project/src/node_modules/fp-ts/lib/struct/index.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/struct/package.json", + "/src/project/src/node_modules/@types/fp-ts/package.json", + "/src/project/src/node_modules/@types/fp-ts/lib/struct.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/struct/index.d.ts", + "/src/project/node_modules/fp-ts/lib/struct/package.json", + "/src/project/node_modules/fp-ts/package.json", + "/src/project/node_modules/fp-ts/lib/struct.ts", + "/src/project/node_modules/fp-ts/lib/struct.tsx" + ] +} +./Struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/src/Struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": false, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/Struct.ts", + "/src/project/src/Struct.tsx" + ] +} +./struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/src/struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": false, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/struct.ts", + "/src/project/src/struct.tsx" + ] +} + +File: /src/project/src/oneMore.ts + + +import * as xs1 from "fp-ts/lib/Struct"; +import * as xs2 from "fp-ts/lib/struct"; +import * as xs3 from "./Struct"; +import * as xs4 from "./struct"; + +resolvedModules: +fp-ts/lib/Struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/node_modules/fp-ts/lib/Struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": true, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/node_modules/fp-ts/lib/Struct/package.json", + "/src/project/src/node_modules/fp-ts/package.json", + "/src/project/src/node_modules/fp-ts/lib/Struct.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct.tsx", + "/src/project/src/node_modules/fp-ts/lib/Struct.d.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.tsx", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct/package.json", + "/src/project/src/node_modules/@types/fp-ts/package.json", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct/index.d.ts", + "/src/project/node_modules/fp-ts/lib/Struct/package.json", + "/src/project/node_modules/fp-ts/package.json", + "/src/project/node_modules/fp-ts/lib/Struct.ts", + "/src/project/node_modules/fp-ts/lib/Struct.tsx" + ] +} +fp-ts/lib/struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/node_modules/fp-ts/lib/struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": true, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/node_modules/fp-ts/lib/struct/package.json", + "/src/project/src/node_modules/fp-ts/package.json", + "/src/project/src/node_modules/fp-ts/lib/struct.ts", + "/src/project/src/node_modules/fp-ts/lib/struct.tsx", + "/src/project/src/node_modules/fp-ts/lib/struct.d.ts", + "/src/project/src/node_modules/fp-ts/lib/struct/index.ts", + "/src/project/src/node_modules/fp-ts/lib/struct/index.tsx", + "/src/project/src/node_modules/fp-ts/lib/struct/index.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/struct/package.json", + "/src/project/src/node_modules/@types/fp-ts/package.json", + "/src/project/src/node_modules/@types/fp-ts/lib/struct.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/struct/index.d.ts", + "/src/project/node_modules/fp-ts/lib/struct/package.json", + "/src/project/node_modules/fp-ts/package.json", + "/src/project/node_modules/fp-ts/lib/struct.ts", + "/src/project/node_modules/fp-ts/lib/struct.tsx" + ] +} +./Struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/src/Struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": false, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/Struct.ts", + "/src/project/src/Struct.tsx" + ] +} +./struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/src/struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": false, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/struct.ts", + "/src/project/src/struct.tsx" + ] +} + + +MissingPaths:: [ + "lib.d.ts" +] + +/src/project/src/anotherFile.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. + The file is in the program because: + Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' + Root file specified for compilation +/src/project/src/anotherFile.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. + The file is in the program because: + Root file specified for compilation + Imported via "./Struct" from file '/src/project/src/struct.d.ts' + Imported via "./Struct" from file '/src/project/src/anotherFile.ts' + Imported via "./struct" from file '/src/project/src/anotherFile.ts' + Imported via "./Struct" from file '/src/project/src/oneMore.ts' + Imported via "./struct" from file '/src/project/src/oneMore.ts' +/src/project/src/oneMore.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. + The file is in the program because: + Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' + Root file specified for compilation +/src/project/src/oneMore.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. + The file is in the program because: + Root file specified for compilation + Imported via "./Struct" from file '/src/project/src/struct.d.ts' + Imported via "./Struct" from file '/src/project/src/anotherFile.ts' + Imported via "./struct" from file '/src/project/src/anotherFile.ts' + Imported via "./Struct" from file '/src/project/src/oneMore.ts' + Imported via "./struct" from file '/src/project/src/oneMore.ts' +/src/project/src/struct.d.ts(3,22): error TS1261: Already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' differs from file name '/src/project/node_modules/fp-ts/lib/struct.d.ts' only in casing. + The file is in the program because: + Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' + Root file specified for compilation +/src/project/src/struct.d.ts(4,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. + The file is in the program because: + Root file specified for compilation + Imported via "./Struct" from file '/src/project/src/struct.d.ts' + Imported via "./Struct" from file '/src/project/src/anotherFile.ts' + Imported via "./struct" from file '/src/project/src/anotherFile.ts' + Imported via "./Struct" from file '/src/project/src/oneMore.ts' + Imported via "./struct" from file '/src/project/src/oneMore.ts' + + + +Program 4 Reused:: SafeModules +Diagnostics: +/src/project/src/anotherFile.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. + The file is in the program because: + Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' + Root file specified for compilation +/src/project/src/anotherFile.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. + The file is in the program because: + Root file specified for compilation + Imported via "./Struct" from file '/src/project/src/struct.d.ts' + Imported via "./Struct" from file '/src/project/src/anotherFile.ts' + Imported via "./struct" from file '/src/project/src/anotherFile.ts' + Imported via "./Struct" from file '/src/project/src/oneMore.ts' + Imported via "./struct" from file '/src/project/src/oneMore.ts' +/src/project/src/oneMore.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. + The file is in the program because: + Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' + Root file specified for compilation +/src/project/src/oneMore.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. + The file is in the program because: + Root file specified for compilation + Imported via "./Struct" from file '/src/project/src/struct.d.ts' + Imported via "./Struct" from file '/src/project/src/anotherFile.ts' + Imported via "./struct" from file '/src/project/src/anotherFile.ts' + Imported via "./Struct" from file '/src/project/src/oneMore.ts' + Imported via "./struct" from file '/src/project/src/oneMore.ts' +/src/project/src/struct.d.ts(3,22): error TS1261: Already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' differs from file name '/src/project/node_modules/fp-ts/lib/struct.d.ts' only in casing. + The file is in the program because: + Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' + Root file specified for compilation +/src/project/src/struct.d.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. + The file is in the program because: + Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' + Root file specified for compilation +/src/project/src/struct.d.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. + The file is in the program because: + Root file specified for compilation + Imported via "./Struct" from file '/src/project/src/struct.d.ts' + Imported via "./Struct" from file '/src/project/src/anotherFile.ts' + Imported via "./struct" from file '/src/project/src/anotherFile.ts' + Imported via "./Struct" from file '/src/project/src/oneMore.ts' + Imported via "./struct" from file '/src/project/src/oneMore.ts' + + diff --git a/tests/baselines/reference/reuseProgramStructure/handles-file-preprocessing-dignostics.js b/tests/baselines/reference/reuseProgramStructure/handles-file-preprocessing-dignostics.js new file mode 100644 index 0000000000000..59afd7f822063 --- /dev/null +++ b/tests/baselines/reference/reuseProgramStructure/handles-file-preprocessing-dignostics.js @@ -0,0 +1,990 @@ +Program 1 Reused:: Not +File: /src/project/node_modules/fp-ts/lib/Struct.d.ts + + +export function foo(): void + +File: /src/project/src/struct.d.ts + + +import * as xs1 from "fp-ts/lib/Struct"; +import * as xs2 from "fp-ts/lib/struct"; +import * as xs3 from "./Struct"; +import * as xs4 from "./struct"; + +resolvedModules: +fp-ts/lib/Struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/node_modules/fp-ts/lib/Struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": true, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/node_modules/fp-ts/lib/Struct/package.json", + "/src/project/src/node_modules/fp-ts/package.json", + "/src/project/src/node_modules/fp-ts/lib/Struct.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct.tsx", + "/src/project/src/node_modules/fp-ts/lib/Struct.d.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.tsx", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct/package.json", + "/src/project/src/node_modules/@types/fp-ts/package.json", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct/index.d.ts", + "/src/project/node_modules/fp-ts/lib/Struct/package.json", + "/src/project/node_modules/fp-ts/package.json", + "/src/project/node_modules/fp-ts/lib/Struct.ts", + "/src/project/node_modules/fp-ts/lib/Struct.tsx" + ] +} +fp-ts/lib/struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/node_modules/fp-ts/lib/struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": true, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/node_modules/fp-ts/lib/struct/package.json", + "/src/project/src/node_modules/fp-ts/package.json", + "/src/project/src/node_modules/fp-ts/lib/struct.ts", + "/src/project/src/node_modules/fp-ts/lib/struct.tsx", + "/src/project/src/node_modules/fp-ts/lib/struct.d.ts", + "/src/project/src/node_modules/fp-ts/lib/struct/index.ts", + "/src/project/src/node_modules/fp-ts/lib/struct/index.tsx", + "/src/project/src/node_modules/fp-ts/lib/struct/index.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/struct/package.json", + "/src/project/src/node_modules/@types/fp-ts/package.json", + "/src/project/src/node_modules/@types/fp-ts/lib/struct.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/struct/index.d.ts", + "/src/project/node_modules/fp-ts/lib/struct/package.json", + "/src/project/node_modules/fp-ts/package.json", + "/src/project/node_modules/fp-ts/lib/struct.ts", + "/src/project/node_modules/fp-ts/lib/struct.tsx" + ] +} +./Struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/src/Struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": false, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/Struct.ts", + "/src/project/src/Struct.tsx" + ] +} +./struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/src/struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": false, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/struct.ts", + "/src/project/src/struct.tsx" + ] +} + +File: /src/project/src/anotherFile.ts + + +import * as xs1 from "fp-ts/lib/Struct"; +import * as xs2 from "fp-ts/lib/struct"; +import * as xs3 from "./Struct"; +import * as xs4 from "./struct"; + +resolvedModules: +fp-ts/lib/Struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/node_modules/fp-ts/lib/Struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": true, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/node_modules/fp-ts/lib/Struct/package.json", + "/src/project/src/node_modules/fp-ts/package.json", + "/src/project/src/node_modules/fp-ts/lib/Struct.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct.tsx", + "/src/project/src/node_modules/fp-ts/lib/Struct.d.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.tsx", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct/package.json", + "/src/project/src/node_modules/@types/fp-ts/package.json", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct/index.d.ts", + "/src/project/node_modules/fp-ts/lib/Struct/package.json", + "/src/project/node_modules/fp-ts/package.json", + "/src/project/node_modules/fp-ts/lib/Struct.ts", + "/src/project/node_modules/fp-ts/lib/Struct.tsx" + ] +} +fp-ts/lib/struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/node_modules/fp-ts/lib/struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": true, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/node_modules/fp-ts/lib/struct/package.json", + "/src/project/src/node_modules/fp-ts/package.json", + "/src/project/src/node_modules/fp-ts/lib/struct.ts", + "/src/project/src/node_modules/fp-ts/lib/struct.tsx", + "/src/project/src/node_modules/fp-ts/lib/struct.d.ts", + "/src/project/src/node_modules/fp-ts/lib/struct/index.ts", + "/src/project/src/node_modules/fp-ts/lib/struct/index.tsx", + "/src/project/src/node_modules/fp-ts/lib/struct/index.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/struct/package.json", + "/src/project/src/node_modules/@types/fp-ts/package.json", + "/src/project/src/node_modules/@types/fp-ts/lib/struct.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/struct/index.d.ts", + "/src/project/node_modules/fp-ts/lib/struct/package.json", + "/src/project/node_modules/fp-ts/package.json", + "/src/project/node_modules/fp-ts/lib/struct.ts", + "/src/project/node_modules/fp-ts/lib/struct.tsx" + ] +} +./Struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/src/Struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": false, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/Struct.ts", + "/src/project/src/Struct.tsx" + ] +} +./struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/src/struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": false, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/struct.ts", + "/src/project/src/struct.tsx" + ] +} + +File: /src/project/src/oneMore.ts + + +import * as xs1 from "fp-ts/lib/Struct"; +import * as xs2 from "fp-ts/lib/struct"; +import * as xs3 from "./Struct"; +import * as xs4 from "./struct"; + +resolvedModules: +fp-ts/lib/Struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/node_modules/fp-ts/lib/Struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": true, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/node_modules/fp-ts/lib/Struct/package.json", + "/src/project/src/node_modules/fp-ts/package.json", + "/src/project/src/node_modules/fp-ts/lib/Struct.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct.tsx", + "/src/project/src/node_modules/fp-ts/lib/Struct.d.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.tsx", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct/package.json", + "/src/project/src/node_modules/@types/fp-ts/package.json", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct/index.d.ts", + "/src/project/node_modules/fp-ts/lib/Struct/package.json", + "/src/project/node_modules/fp-ts/package.json", + "/src/project/node_modules/fp-ts/lib/Struct.ts", + "/src/project/node_modules/fp-ts/lib/Struct.tsx" + ] +} +fp-ts/lib/struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/node_modules/fp-ts/lib/struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": true, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/node_modules/fp-ts/lib/struct/package.json", + "/src/project/src/node_modules/fp-ts/package.json", + "/src/project/src/node_modules/fp-ts/lib/struct.ts", + "/src/project/src/node_modules/fp-ts/lib/struct.tsx", + "/src/project/src/node_modules/fp-ts/lib/struct.d.ts", + "/src/project/src/node_modules/fp-ts/lib/struct/index.ts", + "/src/project/src/node_modules/fp-ts/lib/struct/index.tsx", + "/src/project/src/node_modules/fp-ts/lib/struct/index.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/struct/package.json", + "/src/project/src/node_modules/@types/fp-ts/package.json", + "/src/project/src/node_modules/@types/fp-ts/lib/struct.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/struct/index.d.ts", + "/src/project/node_modules/fp-ts/lib/struct/package.json", + "/src/project/node_modules/fp-ts/package.json", + "/src/project/node_modules/fp-ts/lib/struct.ts", + "/src/project/node_modules/fp-ts/lib/struct.tsx" + ] +} +./Struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/src/Struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": false, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/Struct.ts", + "/src/project/src/Struct.tsx" + ] +} +./struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/src/struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": false, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/struct.ts", + "/src/project/src/struct.tsx" + ] +} + + +MissingPaths:: [ + "lib.d.ts" +] + +/src/project/src/anotherFile.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. + The file is in the program because: + Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' + Root file specified for compilation +/src/project/src/anotherFile.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. + The file is in the program because: + Root file specified for compilation + Imported via "./Struct" from file '/src/project/src/struct.d.ts' + Imported via "./struct" from file '/src/project/src/struct.d.ts' + Imported via "./Struct" from file '/src/project/src/anotherFile.ts' + Imported via "./struct" from file '/src/project/src/anotherFile.ts' + Imported via "./Struct" from file '/src/project/src/oneMore.ts' + Imported via "./struct" from file '/src/project/src/oneMore.ts' +/src/project/src/oneMore.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. + The file is in the program because: + Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' + Root file specified for compilation +/src/project/src/oneMore.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. + The file is in the program because: + Root file specified for compilation + Imported via "./Struct" from file '/src/project/src/struct.d.ts' + Imported via "./struct" from file '/src/project/src/struct.d.ts' + Imported via "./Struct" from file '/src/project/src/anotherFile.ts' + Imported via "./struct" from file '/src/project/src/anotherFile.ts' + Imported via "./Struct" from file '/src/project/src/oneMore.ts' + Imported via "./struct" from file '/src/project/src/oneMore.ts' +/src/project/src/struct.d.ts(3,22): error TS1261: Already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' differs from file name '/src/project/node_modules/fp-ts/lib/struct.d.ts' only in casing. + The file is in the program because: + Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' + Root file specified for compilation +/src/project/src/struct.d.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. + The file is in the program because: + Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' + Root file specified for compilation +/src/project/src/struct.d.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. + The file is in the program because: + Root file specified for compilation + Imported via "./Struct" from file '/src/project/src/struct.d.ts' + Imported via "./struct" from file '/src/project/src/struct.d.ts' + Imported via "./Struct" from file '/src/project/src/anotherFile.ts' + Imported via "./struct" from file '/src/project/src/anotherFile.ts' + Imported via "./Struct" from file '/src/project/src/oneMore.ts' + Imported via "./struct" from file '/src/project/src/oneMore.ts' + + + +Program 2 Reused:: Completely +File: /src/project/node_modules/fp-ts/lib/Struct.d.ts + + +export function foo(): void + +File: /src/project/src/struct.d.ts + + + + +import * as xs1 from "fp-ts/lib/Struct"; +import * as xs2 from "fp-ts/lib/struct"; +import * as xs3 from "./Struct"; +import * as xs4 from "./struct"; +export const y = 10; +resolvedModules: +fp-ts/lib/Struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/node_modules/fp-ts/lib/Struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": true, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/node_modules/fp-ts/lib/Struct/package.json", + "/src/project/src/node_modules/fp-ts/package.json", + "/src/project/src/node_modules/fp-ts/lib/Struct.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct.tsx", + "/src/project/src/node_modules/fp-ts/lib/Struct.d.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.tsx", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct/package.json", + "/src/project/src/node_modules/@types/fp-ts/package.json", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct/index.d.ts", + "/src/project/node_modules/fp-ts/lib/Struct/package.json", + "/src/project/node_modules/fp-ts/package.json", + "/src/project/node_modules/fp-ts/lib/Struct.ts", + "/src/project/node_modules/fp-ts/lib/Struct.tsx" + ] +} +fp-ts/lib/struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/node_modules/fp-ts/lib/struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": true, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/node_modules/fp-ts/lib/struct/package.json", + "/src/project/src/node_modules/fp-ts/package.json", + "/src/project/src/node_modules/fp-ts/lib/struct.ts", + "/src/project/src/node_modules/fp-ts/lib/struct.tsx", + "/src/project/src/node_modules/fp-ts/lib/struct.d.ts", + "/src/project/src/node_modules/fp-ts/lib/struct/index.ts", + "/src/project/src/node_modules/fp-ts/lib/struct/index.tsx", + "/src/project/src/node_modules/fp-ts/lib/struct/index.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/struct/package.json", + "/src/project/src/node_modules/@types/fp-ts/package.json", + "/src/project/src/node_modules/@types/fp-ts/lib/struct.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/struct/index.d.ts", + "/src/project/node_modules/fp-ts/lib/struct/package.json", + "/src/project/node_modules/fp-ts/package.json", + "/src/project/node_modules/fp-ts/lib/struct.ts", + "/src/project/node_modules/fp-ts/lib/struct.tsx" + ] +} +./Struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/src/Struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": false, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/Struct.ts", + "/src/project/src/Struct.tsx" + ] +} +./struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/src/struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": false, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/struct.ts", + "/src/project/src/struct.tsx" + ] +} + +File: /src/project/src/anotherFile.ts + + +import * as xs1 from "fp-ts/lib/Struct"; +import * as xs2 from "fp-ts/lib/struct"; +import * as xs3 from "./Struct"; +import * as xs4 from "./struct"; + +resolvedModules: +fp-ts/lib/Struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/node_modules/fp-ts/lib/Struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": true, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/node_modules/fp-ts/lib/Struct/package.json", + "/src/project/src/node_modules/fp-ts/package.json", + "/src/project/src/node_modules/fp-ts/lib/Struct.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct.tsx", + "/src/project/src/node_modules/fp-ts/lib/Struct.d.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.tsx", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct/package.json", + "/src/project/src/node_modules/@types/fp-ts/package.json", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct/index.d.ts", + "/src/project/node_modules/fp-ts/lib/Struct/package.json", + "/src/project/node_modules/fp-ts/package.json", + "/src/project/node_modules/fp-ts/lib/Struct.ts", + "/src/project/node_modules/fp-ts/lib/Struct.tsx" + ] +} +fp-ts/lib/struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/node_modules/fp-ts/lib/struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": true, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/node_modules/fp-ts/lib/struct/package.json", + "/src/project/src/node_modules/fp-ts/package.json", + "/src/project/src/node_modules/fp-ts/lib/struct.ts", + "/src/project/src/node_modules/fp-ts/lib/struct.tsx", + "/src/project/src/node_modules/fp-ts/lib/struct.d.ts", + "/src/project/src/node_modules/fp-ts/lib/struct/index.ts", + "/src/project/src/node_modules/fp-ts/lib/struct/index.tsx", + "/src/project/src/node_modules/fp-ts/lib/struct/index.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/struct/package.json", + "/src/project/src/node_modules/@types/fp-ts/package.json", + "/src/project/src/node_modules/@types/fp-ts/lib/struct.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/struct/index.d.ts", + "/src/project/node_modules/fp-ts/lib/struct/package.json", + "/src/project/node_modules/fp-ts/package.json", + "/src/project/node_modules/fp-ts/lib/struct.ts", + "/src/project/node_modules/fp-ts/lib/struct.tsx" + ] +} +./Struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/src/Struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": false, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/Struct.ts", + "/src/project/src/Struct.tsx" + ] +} +./struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/src/struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": false, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/struct.ts", + "/src/project/src/struct.tsx" + ] +} + +File: /src/project/src/oneMore.ts + + +import * as xs1 from "fp-ts/lib/Struct"; +import * as xs2 from "fp-ts/lib/struct"; +import * as xs3 from "./Struct"; +import * as xs4 from "./struct"; + +resolvedModules: +fp-ts/lib/Struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/node_modules/fp-ts/lib/Struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": true, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/node_modules/fp-ts/lib/Struct/package.json", + "/src/project/src/node_modules/fp-ts/package.json", + "/src/project/src/node_modules/fp-ts/lib/Struct.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct.tsx", + "/src/project/src/node_modules/fp-ts/lib/Struct.d.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.tsx", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct/package.json", + "/src/project/src/node_modules/@types/fp-ts/package.json", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct/index.d.ts", + "/src/project/node_modules/fp-ts/lib/Struct/package.json", + "/src/project/node_modules/fp-ts/package.json", + "/src/project/node_modules/fp-ts/lib/Struct.ts", + "/src/project/node_modules/fp-ts/lib/Struct.tsx" + ] +} +fp-ts/lib/struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/node_modules/fp-ts/lib/struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": true, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/node_modules/fp-ts/lib/struct/package.json", + "/src/project/src/node_modules/fp-ts/package.json", + "/src/project/src/node_modules/fp-ts/lib/struct.ts", + "/src/project/src/node_modules/fp-ts/lib/struct.tsx", + "/src/project/src/node_modules/fp-ts/lib/struct.d.ts", + "/src/project/src/node_modules/fp-ts/lib/struct/index.ts", + "/src/project/src/node_modules/fp-ts/lib/struct/index.tsx", + "/src/project/src/node_modules/fp-ts/lib/struct/index.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/struct/package.json", + "/src/project/src/node_modules/@types/fp-ts/package.json", + "/src/project/src/node_modules/@types/fp-ts/lib/struct.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/struct/index.d.ts", + "/src/project/node_modules/fp-ts/lib/struct/package.json", + "/src/project/node_modules/fp-ts/package.json", + "/src/project/node_modules/fp-ts/lib/struct.ts", + "/src/project/node_modules/fp-ts/lib/struct.tsx" + ] +} +./Struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/src/Struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": false, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/Struct.ts", + "/src/project/src/Struct.tsx" + ] +} +./struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/src/struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": false, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/struct.ts", + "/src/project/src/struct.tsx" + ] +} + + +MissingPaths:: [ + "lib.d.ts" +] + +/src/project/src/anotherFile.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. + The file is in the program because: + Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' + Root file specified for compilation +/src/project/src/anotherFile.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. + The file is in the program because: + Root file specified for compilation + Imported via "./Struct" from file '/src/project/src/struct.d.ts' + Imported via "./struct" from file '/src/project/src/struct.d.ts' + Imported via "./Struct" from file '/src/project/src/anotherFile.ts' + Imported via "./struct" from file '/src/project/src/anotherFile.ts' + Imported via "./Struct" from file '/src/project/src/oneMore.ts' + Imported via "./struct" from file '/src/project/src/oneMore.ts' +/src/project/src/oneMore.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. + The file is in the program because: + Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' + Root file specified for compilation +/src/project/src/oneMore.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. + The file is in the program because: + Root file specified for compilation + Imported via "./Struct" from file '/src/project/src/struct.d.ts' + Imported via "./struct" from file '/src/project/src/struct.d.ts' + Imported via "./Struct" from file '/src/project/src/anotherFile.ts' + Imported via "./struct" from file '/src/project/src/anotherFile.ts' + Imported via "./Struct" from file '/src/project/src/oneMore.ts' + Imported via "./struct" from file '/src/project/src/oneMore.ts' +/src/project/src/struct.d.ts(5,22): error TS1261: Already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' differs from file name '/src/project/node_modules/fp-ts/lib/struct.d.ts' only in casing. + The file is in the program because: + Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' + Root file specified for compilation +/src/project/src/struct.d.ts(6,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. + The file is in the program because: + Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' + Root file specified for compilation +/src/project/src/struct.d.ts(7,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. + The file is in the program because: + Root file specified for compilation + Imported via "./Struct" from file '/src/project/src/struct.d.ts' + Imported via "./struct" from file '/src/project/src/struct.d.ts' + Imported via "./Struct" from file '/src/project/src/anotherFile.ts' + Imported via "./struct" from file '/src/project/src/anotherFile.ts' + Imported via "./Struct" from file '/src/project/src/oneMore.ts' + Imported via "./struct" from file '/src/project/src/oneMore.ts' + + + +Program 3 Reused:: SafeModules +File: /src/project/node_modules/fp-ts/lib/Struct.d.ts + + +export function foo(): void + +File: /src/project/src/struct.d.ts + + +import * as xs1 from "fp-ts/lib/Struct"; +import * as xs2 from "fp-ts/lib/struct"; +import * as xs3 from "./Struct"; + +resolvedModules: +fp-ts/lib/Struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/node_modules/fp-ts/lib/Struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": true, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/node_modules/fp-ts/lib/Struct/package.json", + "/src/project/src/node_modules/fp-ts/package.json", + "/src/project/src/node_modules/fp-ts/lib/Struct.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct.tsx", + "/src/project/src/node_modules/fp-ts/lib/Struct.d.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.tsx", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct/package.json", + "/src/project/src/node_modules/@types/fp-ts/package.json", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct/index.d.ts", + "/src/project/node_modules/fp-ts/lib/Struct/package.json", + "/src/project/node_modules/fp-ts/package.json", + "/src/project/node_modules/fp-ts/lib/Struct.ts", + "/src/project/node_modules/fp-ts/lib/Struct.tsx" + ] +} +fp-ts/lib/struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/node_modules/fp-ts/lib/struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": true, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/node_modules/fp-ts/lib/struct/package.json", + "/src/project/src/node_modules/fp-ts/package.json", + "/src/project/src/node_modules/fp-ts/lib/struct.ts", + "/src/project/src/node_modules/fp-ts/lib/struct.tsx", + "/src/project/src/node_modules/fp-ts/lib/struct.d.ts", + "/src/project/src/node_modules/fp-ts/lib/struct/index.ts", + "/src/project/src/node_modules/fp-ts/lib/struct/index.tsx", + "/src/project/src/node_modules/fp-ts/lib/struct/index.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/struct/package.json", + "/src/project/src/node_modules/@types/fp-ts/package.json", + "/src/project/src/node_modules/@types/fp-ts/lib/struct.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/struct/index.d.ts", + "/src/project/node_modules/fp-ts/lib/struct/package.json", + "/src/project/node_modules/fp-ts/package.json", + "/src/project/node_modules/fp-ts/lib/struct.ts", + "/src/project/node_modules/fp-ts/lib/struct.tsx" + ] +} +./Struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/src/Struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": false, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/Struct.ts", + "/src/project/src/Struct.tsx" + ] +} + +File: /src/project/src/anotherFile.ts + + +import * as xs1 from "fp-ts/lib/Struct"; +import * as xs2 from "fp-ts/lib/struct"; +import * as xs3 from "./Struct"; +import * as xs4 from "./struct"; + +resolvedModules: +fp-ts/lib/Struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/node_modules/fp-ts/lib/Struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": true, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/node_modules/fp-ts/lib/Struct/package.json", + "/src/project/src/node_modules/fp-ts/package.json", + "/src/project/src/node_modules/fp-ts/lib/Struct.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct.tsx", + "/src/project/src/node_modules/fp-ts/lib/Struct.d.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.tsx", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct/package.json", + "/src/project/src/node_modules/@types/fp-ts/package.json", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct/index.d.ts", + "/src/project/node_modules/fp-ts/lib/Struct/package.json", + "/src/project/node_modules/fp-ts/package.json", + "/src/project/node_modules/fp-ts/lib/Struct.ts", + "/src/project/node_modules/fp-ts/lib/Struct.tsx" + ] +} +fp-ts/lib/struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/node_modules/fp-ts/lib/struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": true, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/node_modules/fp-ts/lib/struct/package.json", + "/src/project/src/node_modules/fp-ts/package.json", + "/src/project/src/node_modules/fp-ts/lib/struct.ts", + "/src/project/src/node_modules/fp-ts/lib/struct.tsx", + "/src/project/src/node_modules/fp-ts/lib/struct.d.ts", + "/src/project/src/node_modules/fp-ts/lib/struct/index.ts", + "/src/project/src/node_modules/fp-ts/lib/struct/index.tsx", + "/src/project/src/node_modules/fp-ts/lib/struct/index.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/struct/package.json", + "/src/project/src/node_modules/@types/fp-ts/package.json", + "/src/project/src/node_modules/@types/fp-ts/lib/struct.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/struct/index.d.ts", + "/src/project/node_modules/fp-ts/lib/struct/package.json", + "/src/project/node_modules/fp-ts/package.json", + "/src/project/node_modules/fp-ts/lib/struct.ts", + "/src/project/node_modules/fp-ts/lib/struct.tsx" + ] +} +./Struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/src/Struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": false, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/Struct.ts", + "/src/project/src/Struct.tsx" + ] +} +./struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/src/struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": false, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/struct.ts", + "/src/project/src/struct.tsx" + ] +} + +File: /src/project/src/oneMore.ts + + +import * as xs1 from "fp-ts/lib/Struct"; +import * as xs2 from "fp-ts/lib/struct"; +import * as xs3 from "./Struct"; +import * as xs4 from "./struct"; + +resolvedModules: +fp-ts/lib/Struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/node_modules/fp-ts/lib/Struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": true, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/node_modules/fp-ts/lib/Struct/package.json", + "/src/project/src/node_modules/fp-ts/package.json", + "/src/project/src/node_modules/fp-ts/lib/Struct.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct.tsx", + "/src/project/src/node_modules/fp-ts/lib/Struct.d.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.ts", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.tsx", + "/src/project/src/node_modules/fp-ts/lib/Struct/index.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct/package.json", + "/src/project/src/node_modules/@types/fp-ts/package.json", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/Struct/index.d.ts", + "/src/project/node_modules/fp-ts/lib/Struct/package.json", + "/src/project/node_modules/fp-ts/package.json", + "/src/project/node_modules/fp-ts/lib/Struct.ts", + "/src/project/node_modules/fp-ts/lib/Struct.tsx" + ] +} +fp-ts/lib/struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/node_modules/fp-ts/lib/struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": true, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/node_modules/fp-ts/lib/struct/package.json", + "/src/project/src/node_modules/fp-ts/package.json", + "/src/project/src/node_modules/fp-ts/lib/struct.ts", + "/src/project/src/node_modules/fp-ts/lib/struct.tsx", + "/src/project/src/node_modules/fp-ts/lib/struct.d.ts", + "/src/project/src/node_modules/fp-ts/lib/struct/index.ts", + "/src/project/src/node_modules/fp-ts/lib/struct/index.tsx", + "/src/project/src/node_modules/fp-ts/lib/struct/index.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/struct/package.json", + "/src/project/src/node_modules/@types/fp-ts/package.json", + "/src/project/src/node_modules/@types/fp-ts/lib/struct.d.ts", + "/src/project/src/node_modules/@types/fp-ts/lib/struct/index.d.ts", + "/src/project/node_modules/fp-ts/lib/struct/package.json", + "/src/project/node_modules/fp-ts/package.json", + "/src/project/node_modules/fp-ts/lib/struct.ts", + "/src/project/node_modules/fp-ts/lib/struct.tsx" + ] +} +./Struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/src/Struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": false, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/Struct.ts", + "/src/project/src/Struct.tsx" + ] +} +./struct: { + "resolvedModule": { + "resolvedFileName": "/src/project/src/struct.d.ts", + "extension": ".d.ts", + "isExternalLibraryImport": false, + "resolvedUsingTsExtension": false + }, + "failedLookupLocations": [ + "/src/project/src/struct.ts", + "/src/project/src/struct.tsx" + ] +} + + +MissingPaths:: [ + "lib.d.ts" +] + +/src/project/src/anotherFile.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. + The file is in the program because: + Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' + Root file specified for compilation +/src/project/src/anotherFile.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. + The file is in the program because: + Root file specified for compilation + Imported via "./Struct" from file '/src/project/src/struct.d.ts' + Imported via "./Struct" from file '/src/project/src/anotherFile.ts' + Imported via "./struct" from file '/src/project/src/anotherFile.ts' + Imported via "./Struct" from file '/src/project/src/oneMore.ts' + Imported via "./struct" from file '/src/project/src/oneMore.ts' +/src/project/src/oneMore.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. + The file is in the program because: + Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' + Root file specified for compilation +/src/project/src/oneMore.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. + The file is in the program because: + Root file specified for compilation + Imported via "./Struct" from file '/src/project/src/struct.d.ts' + Imported via "./Struct" from file '/src/project/src/anotherFile.ts' + Imported via "./struct" from file '/src/project/src/anotherFile.ts' + Imported via "./Struct" from file '/src/project/src/oneMore.ts' + Imported via "./struct" from file '/src/project/src/oneMore.ts' +/src/project/src/struct.d.ts(3,22): error TS1261: Already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' differs from file name '/src/project/node_modules/fp-ts/lib/struct.d.ts' only in casing. + The file is in the program because: + Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' + Root file specified for compilation +/src/project/src/struct.d.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. + The file is in the program because: + Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/anotherFile.ts' + Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' + Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' + Root file specified for compilation +/src/project/src/struct.d.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. + The file is in the program because: + Root file specified for compilation + Imported via "./Struct" from file '/src/project/src/struct.d.ts' + Imported via "./Struct" from file '/src/project/src/anotherFile.ts' + Imported via "./struct" from file '/src/project/src/anotherFile.ts' + Imported via "./Struct" from file '/src/project/src/oneMore.ts' + Imported via "./struct" from file '/src/project/src/oneMore.ts' + + diff --git a/tests/baselines/reference/reuseProgramStructure/missing-file-is-created.js b/tests/baselines/reference/reuseProgramStructure/missing-file-is-created.js index 281b3fa52a82c..0da2b41e0271f 100644 --- a/tests/baselines/reference/reuseProgramStructure/missing-file-is-created.js +++ b/tests/baselines/reference/reuseProgramStructure/missing-file-is-created.js @@ -1,4 +1,4 @@ -Program Reused:: Not +Program 1 Reused:: Not File: c.ts @@ -41,7 +41,7 @@ a.ts(4,23): error TS2688: Cannot find type definition file for 'typerefs'. -Program Reused:: Not +Program 2 Reused:: Not File: c.ts diff --git a/tests/baselines/reference/reuseProgramStructure/missing-files-remain-missing.js b/tests/baselines/reference/reuseProgramStructure/missing-files-remain-missing.js index 17543c39f00e4..8f886fddd36a4 100644 --- a/tests/baselines/reference/reuseProgramStructure/missing-files-remain-missing.js +++ b/tests/baselines/reference/reuseProgramStructure/missing-files-remain-missing.js @@ -1,4 +1,4 @@ -Program Reused:: Not +Program 1 Reused:: Not File: c.ts @@ -41,7 +41,7 @@ a.ts(4,23): error TS2688: Cannot find type definition file for 'typerefs'. -Program Reused:: Completely +Program 2 Reused:: Completely File: c.ts diff --git a/tests/baselines/reference/reuseProgramStructure/module-kind-changes.js b/tests/baselines/reference/reuseProgramStructure/module-kind-changes.js index f89808a1ea164..2ce4f8610a9f6 100644 --- a/tests/baselines/reference/reuseProgramStructure/module-kind-changes.js +++ b/tests/baselines/reference/reuseProgramStructure/module-kind-changes.js @@ -1,4 +1,4 @@ -Program Reused:: Not +Program 1 Reused:: Not File: c.ts @@ -42,7 +42,7 @@ a.ts(4,23): error TS2688: Cannot find type definition file for 'typerefs'. -Program Reused:: Not +Program 2 Reused:: Not File: c.ts diff --git a/tests/baselines/reference/reuseProgramStructure/redirect-no-change.js b/tests/baselines/reference/reuseProgramStructure/redirect-no-change.js index 7658653c5fc75..cbd759345c993 100644 --- a/tests/baselines/reference/reuseProgramStructure/redirect-no-change.js +++ b/tests/baselines/reference/reuseProgramStructure/redirect-no-change.js @@ -1,4 +1,4 @@ -Program Reused:: Not +Program 1 Reused:: Not File: /node_modules/a/node_modules/x/index.d.ts @@ -113,7 +113,7 @@ MissingPaths:: [ -Program Reused:: Completely +Program 2 Reused:: Completely File: /node_modules/a/node_modules/x/index.d.ts diff --git a/tests/baselines/reference/reuseProgramStructure/redirect-previous-duplicate-packages.js b/tests/baselines/reference/reuseProgramStructure/redirect-previous-duplicate-packages.js index 35fab4bb660fa..fcff7e884e078 100644 --- a/tests/baselines/reference/reuseProgramStructure/redirect-previous-duplicate-packages.js +++ b/tests/baselines/reference/reuseProgramStructure/redirect-previous-duplicate-packages.js @@ -1,4 +1,4 @@ -Program Reused:: Not +Program 1 Reused:: Not File: /node_modules/a/node_modules/x/index.d.ts @@ -115,7 +115,7 @@ MissingPaths:: [ -Program Reused:: Not +Program 2 Reused:: Not File: /node_modules/a/node_modules/x/index.d.ts diff --git a/tests/baselines/reference/reuseProgramStructure/redirect-target-changes.js b/tests/baselines/reference/reuseProgramStructure/redirect-target-changes.js index 9a3a6bbd321ef..9805b725e4201 100644 --- a/tests/baselines/reference/reuseProgramStructure/redirect-target-changes.js +++ b/tests/baselines/reference/reuseProgramStructure/redirect-target-changes.js @@ -1,4 +1,4 @@ -Program Reused:: Not +Program 1 Reused:: Not File: /node_modules/a/node_modules/x/index.d.ts @@ -113,7 +113,7 @@ MissingPaths:: [ -Program Reused:: Not +Program 2 Reused:: Not File: /node_modules/a/node_modules/x/index.d.ts diff --git a/tests/baselines/reference/reuseProgramStructure/redirect-underlying-changes.js b/tests/baselines/reference/reuseProgramStructure/redirect-underlying-changes.js index 415b2885b5a77..a54f008e9be07 100644 --- a/tests/baselines/reference/reuseProgramStructure/redirect-underlying-changes.js +++ b/tests/baselines/reference/reuseProgramStructure/redirect-underlying-changes.js @@ -1,4 +1,4 @@ -Program Reused:: Not +Program 1 Reused:: Not File: /node_modules/a/node_modules/x/index.d.ts @@ -113,7 +113,7 @@ MissingPaths:: [ -Program Reused:: Not +Program 2 Reused:: Not File: /node_modules/a/node_modules/x/index.d.ts diff --git a/tests/baselines/reference/reuseProgramStructure/redirect-with-getSourceFileByPath-no-change.js b/tests/baselines/reference/reuseProgramStructure/redirect-with-getSourceFileByPath-no-change.js index 7658653c5fc75..cbd759345c993 100644 --- a/tests/baselines/reference/reuseProgramStructure/redirect-with-getSourceFileByPath-no-change.js +++ b/tests/baselines/reference/reuseProgramStructure/redirect-with-getSourceFileByPath-no-change.js @@ -1,4 +1,4 @@ -Program Reused:: Not +Program 1 Reused:: Not File: /node_modules/a/node_modules/x/index.d.ts @@ -113,7 +113,7 @@ MissingPaths:: [ -Program Reused:: Completely +Program 2 Reused:: Completely File: /node_modules/a/node_modules/x/index.d.ts diff --git a/tests/baselines/reference/reuseProgramStructure/redirect-with-getSourceFileByPath-previous-duplicate-packages.js b/tests/baselines/reference/reuseProgramStructure/redirect-with-getSourceFileByPath-previous-duplicate-packages.js index 35fab4bb660fa..fcff7e884e078 100644 --- a/tests/baselines/reference/reuseProgramStructure/redirect-with-getSourceFileByPath-previous-duplicate-packages.js +++ b/tests/baselines/reference/reuseProgramStructure/redirect-with-getSourceFileByPath-previous-duplicate-packages.js @@ -1,4 +1,4 @@ -Program Reused:: Not +Program 1 Reused:: Not File: /node_modules/a/node_modules/x/index.d.ts @@ -115,7 +115,7 @@ MissingPaths:: [ -Program Reused:: Not +Program 2 Reused:: Not File: /node_modules/a/node_modules/x/index.d.ts diff --git a/tests/baselines/reference/reuseProgramStructure/redirect-with-getSourceFileByPath-target-changes.js b/tests/baselines/reference/reuseProgramStructure/redirect-with-getSourceFileByPath-target-changes.js index 9a3a6bbd321ef..9805b725e4201 100644 --- a/tests/baselines/reference/reuseProgramStructure/redirect-with-getSourceFileByPath-target-changes.js +++ b/tests/baselines/reference/reuseProgramStructure/redirect-with-getSourceFileByPath-target-changes.js @@ -1,4 +1,4 @@ -Program Reused:: Not +Program 1 Reused:: Not File: /node_modules/a/node_modules/x/index.d.ts @@ -113,7 +113,7 @@ MissingPaths:: [ -Program Reused:: Not +Program 2 Reused:: Not File: /node_modules/a/node_modules/x/index.d.ts diff --git a/tests/baselines/reference/reuseProgramStructure/redirect-with-getSourceFileByPath-underlying-changes.js b/tests/baselines/reference/reuseProgramStructure/redirect-with-getSourceFileByPath-underlying-changes.js index 415b2885b5a77..a54f008e9be07 100644 --- a/tests/baselines/reference/reuseProgramStructure/redirect-with-getSourceFileByPath-underlying-changes.js +++ b/tests/baselines/reference/reuseProgramStructure/redirect-with-getSourceFileByPath-underlying-changes.js @@ -1,4 +1,4 @@ -Program Reused:: Not +Program 1 Reused:: Not File: /node_modules/a/node_modules/x/index.d.ts @@ -113,7 +113,7 @@ MissingPaths:: [ -Program Reused:: Not +Program 2 Reused:: Not File: /node_modules/a/node_modules/x/index.d.ts diff --git a/tests/baselines/reference/reuseProgramStructure/resolution-cache-follows-imports.js b/tests/baselines/reference/reuseProgramStructure/resolution-cache-follows-imports.js index 81d9d56b21ae5..bde8203f05fee 100644 --- a/tests/baselines/reference/reuseProgramStructure/resolution-cache-follows-imports.js +++ b/tests/baselines/reference/reuseProgramStructure/resolution-cache-follows-imports.js @@ -1,4 +1,4 @@ -Program Reused:: Not +Program 1 Reused:: Not File: b.ts @@ -27,7 +27,7 @@ a.ts(2,17): error TS2306: File 'b.ts' is not a module. -Program Reused:: Completely +Program 2 Reused:: Completely File: b.ts @@ -56,7 +56,7 @@ a.ts(2,17): error TS2306: File 'b.ts' is not a module. -Program Reused:: SafeModules +Program 3 Reused:: SafeModules File: a.ts @@ -70,7 +70,7 @@ MissingPaths:: [ -Program Reused:: SafeModules +Program 4 Reused:: SafeModules File: b.ts diff --git a/tests/baselines/reference/reuseProgramStructure/resolved-type-directives-cache-follows-type-directives.js b/tests/baselines/reference/reuseProgramStructure/resolved-type-directives-cache-follows-type-directives.js index 7ed3ff6eba2d3..e11d3be8926ce 100644 --- a/tests/baselines/reference/reuseProgramStructure/resolved-type-directives-cache-follows-type-directives.js +++ b/tests/baselines/reference/reuseProgramStructure/resolved-type-directives-cache-follows-type-directives.js @@ -1,4 +1,4 @@ -Program Reused:: Not +Program 1 Reused:: Not File: /types/typedefs/index.d.ts @@ -29,7 +29,7 @@ MissingPaths:: [ -Program Reused:: Completely +Program 2 Reused:: Completely File: /types/typedefs/index.d.ts @@ -60,7 +60,7 @@ MissingPaths:: [ -Program Reused:: SafeModules +Program 3 Reused:: SafeModules File: /a.ts @@ -74,7 +74,7 @@ MissingPaths:: [ -Program Reused:: SafeModules +Program 4 Reused:: SafeModules File: /types/typedefs/index.d.ts diff --git a/tests/baselines/reference/reuseProgramStructure/resolvedImports-after-re-using-an-ambient-external-module-declaration.js b/tests/baselines/reference/reuseProgramStructure/resolvedImports-after-re-using-an-ambient-external-module-declaration.js index 94e20f8c9ca33..381fc9c9bb8b2 100644 --- a/tests/baselines/reference/reuseProgramStructure/resolvedImports-after-re-using-an-ambient-external-module-declaration.js +++ b/tests/baselines/reference/reuseProgramStructure/resolvedImports-after-re-using-an-ambient-external-module-declaration.js @@ -1,4 +1,4 @@ -Program Reused:: Not +Program 1 Reused:: Not File: /a.ts @@ -21,7 +21,7 @@ MissingPaths:: [ -Program Reused:: Completely +Program 2 Reused:: Completely File: /a.ts diff --git a/tests/baselines/reference/reuseProgramStructure/rootdir-changes.js b/tests/baselines/reference/reuseProgramStructure/rootdir-changes.js index 72c9fc904bc3b..e83cf28f21519 100644 --- a/tests/baselines/reference/reuseProgramStructure/rootdir-changes.js +++ b/tests/baselines/reference/reuseProgramStructure/rootdir-changes.js @@ -1,4 +1,4 @@ -Program Reused:: Not +Program 1 Reused:: Not File: c.ts @@ -44,7 +44,7 @@ b.ts(1,22): error TS6059: File 'c.ts' is not under 'rootDir' '/a/b'. 'rootDir' i -Program Reused:: Completely +Program 2 Reused:: Completely File: c.ts diff --git a/tests/baselines/reference/reuseProgramStructure/works-with-updated-SourceFiles.js b/tests/baselines/reference/reuseProgramStructure/works-with-updated-SourceFiles.js index ea315d07916c4..be80605049f2d 100644 --- a/tests/baselines/reference/reuseProgramStructure/works-with-updated-SourceFiles.js +++ b/tests/baselines/reference/reuseProgramStructure/works-with-updated-SourceFiles.js @@ -1,4 +1,4 @@ -Program Reused:: Not +Program 1 Reused:: Not File: /a.ts @@ -22,7 +22,7 @@ MissingPaths:: [ parent pointers are updated: true -Program Reused:: Completely +Program 2 Reused:: Completely File: /a.ts 'use strict'; diff --git a/tests/baselines/reference/reverseInferenceInContextualInstantiation.types b/tests/baselines/reference/reverseInferenceInContextualInstantiation.types index 88d393c7172d2..4f23a1f3f3dc2 100644 --- a/tests/baselines/reference/reverseInferenceInContextualInstantiation.types +++ b/tests/baselines/reference/reverseInferenceInContextualInstantiation.types @@ -19,11 +19,11 @@ x.sort(compare); // Error, but shouldn't be >x.sort(compare) : number[] > : ^^^^^^^^ >x.sort : (compareFn?: (a: number, b: number) => number) => number[] -> : ^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ >x : number[] > : ^^^^^^^^ >sort : (compareFn?: (a: number, b: number) => number) => number[] -> : ^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ >compare : (a: T, b: T) => number -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/reverseMappedContravariantInference.types b/tests/baselines/reference/reverseMappedContravariantInference.types index 7a130d1d209b5..da070f1c6ca9c 100644 --- a/tests/baselines/reference/reverseMappedContravariantInference.types +++ b/tests/baselines/reference/reverseMappedContravariantInference.types @@ -17,9 +17,9 @@ conforms({ foo: (v: string) => false })({ foo: "hello" }); >conforms({ foo: (v: string) => false })({ foo: "hello" }) : boolean > : ^^^^^^^ >conforms({ foo: (v: string) => false }) : (value: { foo: string; }) => boolean -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ >conforms : (source: { [K in keyof T]: (val: T[K]) => boolean; }) => (value: T) => boolean -> : ^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ foo: (v: string) => false } : { foo: (v: string) => false; } > : ^^^^^^^^ ^^ ^^^^^^^^^^^^^ >foo : (v: string) => false diff --git a/tests/baselines/reference/reverseMappedPartiallyInferableTypes.types b/tests/baselines/reference/reverseMappedPartiallyInferableTypes.types index 88e6e191e0801..50e7502dd422c 100644 --- a/tests/baselines/reference/reverseMappedPartiallyInferableTypes.types +++ b/tests/baselines/reference/reverseMappedPartiallyInferableTypes.types @@ -78,8 +78,8 @@ const r = extend({ > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >extend({ props: { notResolved: { type: Object as PropType, validator: x => { return x.valid; } }, explicit: { type: Object as PropType, validator: (x: MyType) => { return x.valid; } } }}) : RecordPropsDefinition<{ notResolved: MyType; explicit: MyType; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->extend : ({ props }: { props: PropsDefinition; }) => RecordPropsDefinition -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>extend : ({ props }: { props: PropsDefinition; }) => PropsDefinition +> : ^ ^^ ^^ ^^^^^ >{ props: { notResolved: { type: Object as PropType, validator: x => { return x.valid; } }, explicit: { type: Object as PropType, validator: (x: MyType) => { return x.valid; } } }} : { props: { notResolved: { type: PropType; validator: (x: MyType) => boolean; }; explicit: { type: PropType; validator: (x: MyType) => boolean; }; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ @@ -233,7 +233,7 @@ const obj1 = id({ >id({ foo: { contents: "" }}) : Mapped<{ foo: string; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^ >id : (arg: Mapped) => Mapped -> : ^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ foo: { contents: "" }} : { foo: { contents: string; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -259,7 +259,7 @@ const obj2 = id({ >id({ foo: { contents: "", contains(k) { return k.length > 0; } }}) : Mapped<{ foo: string; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^ >id : (arg: Mapped) => Mapped -> : ^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ foo: { contents: "", contains(k) { return k.length > 0; } }} : { foo: { contents: string; contains(k: string): boolean; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ @@ -304,7 +304,7 @@ const obj3 = id({ >id({ foo: { contains(k) { return k.length > 0; } }}) : Mapped > : ^^^^^^^^^^^^^^^ >id : (arg: Mapped) => Mapped -> : ^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ foo: { contains(k) { return k.length > 0; } }} : { foo: { contains(k: unknown): boolean; }; } > : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -357,7 +357,7 @@ inferMapped1({ >inferMapped1({ key: [3, arg => arg.key > 5]}) : void > : ^^^^ >inferMapped1 : (arg: Mapped1) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ key: [3, arg => arg.key > 5]} : { key: [number, (arg: { key: number; }) => boolean]; } > : ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -405,7 +405,7 @@ inferMapped2({ >inferMapped2({ key: [3, arg => arg.key > 5]}) : void > : ^^^^ >inferMapped2 : (arg: Mapped2) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ key: [3, arg => arg.key > 5]} : { key: [number, (arg: { key: number; }) => boolean]; } > : ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -453,7 +453,7 @@ inferMappedReadonly({ >inferMappedReadonly({ key: [3, arg => arg.key > 5]}) : void > : ^^^^ >inferMappedReadonly : (arg: MappedReadonly) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ key: [3, arg => arg.key > 5]} : { key: [number, (arg: { key: number; }) => boolean]; } > : ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/reverseMappedTupleContext.types b/tests/baselines/reference/reverseMappedTupleContext.types index cb87e6b2a7b03..91a5c3dfffb9b 100644 --- a/tests/baselines/reference/reverseMappedTupleContext.types +++ b/tests/baselines/reference/reverseMappedTupleContext.types @@ -17,7 +17,7 @@ const result1 = test1(["foo", 42]); >test1(["foo", 42]) : [string, number] > : ^^^^^^^^^^^^^^^^ >test1 : (arg: { [K in keyof T]: T[K]; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >["foo", 42] : [string, number] > : ^^^^^^^^^^^^^^^^ >"foo" : "foo" @@ -27,7 +27,7 @@ const result1 = test1(["foo", 42]); declare function test2(arg: { >test2 : (arg: { [K in keyof T]: T[K]; }) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >arg : { [K in keyof T]: T[K]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -39,7 +39,7 @@ const result2 = test2(["foo", 42]); >test2(["foo", 42]) : [string, number] > : ^^^^^^^^^^^^^^^^ >test2 : (arg: { [K in keyof T]: T[K]; }) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >["foo", 42] : [string, number] > : ^^^^^^^^^^^^^^^^ >"foo" : "foo" @@ -59,7 +59,7 @@ type Definition = { }; declare function create(definition: Definition): T; >create : (definition: Definition) => T -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >definition : Definition > : ^^^^^^^^^^^^^ @@ -69,7 +69,7 @@ const created1 = create([() => 1, [() => ""]]); >create([() => 1, [() => ""]]) : [number, [string]] > : ^^^^^^^^^^^^^^^^^^ >create : (definition: Definition) => T -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >[() => 1, [() => ""]] : [() => number, [() => string]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >() => 1 : () => number @@ -89,7 +89,7 @@ const created2 = create({ >create({ a: () => 1, b: [() => ""],}) : { a: number; b: [string]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >create : (definition: Definition) => T -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ a: () => 1, b: [() => ""],} : { a: () => number; b: [() => string]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -134,7 +134,7 @@ type KeepLiteralStrings = { }; declare function test4>(obj: { >test4 : >(obj: { [K in keyof T & keyof CompilerOptions]: { dependencies: KeepLiteralStrings; }; }) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >obj : { [K in keyof T & keyof CompilerOptions]: { dependencies: KeepLiteralStrings; }; } > : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ @@ -151,7 +151,7 @@ const result4 = test4({ >test4({ alwaysStrict: { dependencies: ["foo", "bar"], }, allowUnusedLabels: { dependencies: ["baz", "qwe"], },}) : { alwaysStrict: ["foo", "bar"]; allowUnusedLabels: ["baz", "qwe"]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >test4 : >(obj: { [K in keyof T & keyof CompilerOptions]: { dependencies: KeepLiteralStrings; }; }) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ alwaysStrict: { dependencies: ["foo", "bar"], }, allowUnusedLabels: { dependencies: ["baz", "qwe"], },} : { alwaysStrict: { dependencies: ["foo", "bar"]; }; allowUnusedLabels: { dependencies: ["baz", "qwe"]; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/reverseMappedTypeContextualTypeNotCircular.types b/tests/baselines/reference/reverseMappedTypeContextualTypeNotCircular.types index c3aa601567a04..8f6c154f822d3 100644 --- a/tests/baselines/reference/reverseMappedTypeContextualTypeNotCircular.types +++ b/tests/baselines/reference/reverseMappedTypeContextualTypeNotCircular.types @@ -33,7 +33,7 @@ const mapStateToProps = createStructuredSelector({ >createStructuredSelector({ editable: (state: any, props: any) => editable(), // expect "Type '(state: any, props: any) => {}' is not assignable to type 'Selector'", _not_ a circularity error}) : Selector > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >createStructuredSelector : (selectors: { [K in keyof T]: Selector; }) => Selector -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >{ editable: (state: any, props: any) => editable(), // expect "Type '(state: any, props: any) => {}' is not assignable to type 'Selector'", _not_ a circularity error} : { editable: (state: any, props: any) => {}; } > : ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ diff --git a/tests/baselines/reference/reverseMappedTypeContextualTypesPerElementOfTupleConstraint.types b/tests/baselines/reference/reverseMappedTypeContextualTypesPerElementOfTupleConstraint.types index 43e79f698ae06..34a2bd7a78788 100644 --- a/tests/baselines/reference/reverseMappedTypeContextualTypesPerElementOfTupleConstraint.types +++ b/tests/baselines/reference/reverseMappedTypeContextualTypesPerElementOfTupleConstraint.types @@ -7,7 +7,7 @@ type Tuple = readonly [T, ...T[]]; declare function bindAll< >bindAll : >(target: TTarget, bindings: { [K in keyof TTypes]: { type: TTypes[K]; listener: (ev: Parameters any>>[0]) => void; }; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ TTarget extends EventTarget, TTypes extends Tuple @@ -44,7 +44,7 @@ bindAll({} as HTMLButtonElement, [ >bindAll({} as HTMLButtonElement, [ { type: "onclick", listener: (event) => {}, }, { type: "onkeydown", listener: (event) => {}, },]) : void > : ^^^^ >bindAll : >(target: TTarget, bindings: { [K in keyof TTypes]: { type: TTypes[K]; listener: (ev: Parameters any>>[0]) => void; }; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >{} as HTMLButtonElement : HTMLButtonElement > : ^^^^^^^^^^^^^^^^^ >{} : {} diff --git a/tests/baselines/reference/reverseMappedTypeDeepDeclarationEmit.types b/tests/baselines/reference/reverseMappedTypeDeepDeclarationEmit.types index fa46e5713c949..50aa4cc334119 100644 --- a/tests/baselines/reference/reverseMappedTypeDeepDeclarationEmit.types +++ b/tests/baselines/reference/reverseMappedTypeDeepDeclarationEmit.types @@ -64,7 +64,7 @@ export const validatorFunc = ObjValidator(test); >ObjValidator(test) : (o: any) => { Test: { Test1: { Test2: string; }; }; } > : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >ObjValidator : (validatorObj: ObjectValidator) => (o: any) => V -> : ^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >test : { Test: { Test1: { Test2: NativeTypeValidator; }; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/reverseMappedTypeIntersectionConstraint.types b/tests/baselines/reference/reverseMappedTypeIntersectionConstraint.types index 9608d9a4e85d6..fbb016a9ba1fd 100644 --- a/tests/baselines/reference/reverseMappedTypeIntersectionConstraint.types +++ b/tests/baselines/reference/reverseMappedTypeIntersectionConstraint.types @@ -27,7 +27,7 @@ type StateSchema = { declare function createMachine< >createMachine : , TAction extends string = TConfig["entry"] extends string ? TConfig["entry"] : string>(config: { [K in keyof TConfig & keyof StateConfig]: TConfig[K]; }) => [TAction, TConfig] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ TConfig extends StateConfig, TAction extends string = TConfig["entry"] extends string ? TConfig["entry"] : string, @@ -41,7 +41,7 @@ const inferredParams1 = createMachine({ >createMachine({ entry: "foo", states: { a: { entry: "bar", }, }, extra: 12,}) : ["foo", StateConfig<"foo">] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >createMachine : , TAction extends string = TConfig["entry"] extends string ? TConfig["entry"] : string>(config: { [K in keyof TConfig & keyof StateConfig]: TConfig[K]; }) => [TAction, TConfig] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ >{ entry: "foo", states: { a: { entry: "bar", }, }, extra: 12,} : { entry: "foo"; states: { a: { entry: "bar"; }; }; extra: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -85,7 +85,7 @@ const inferredParams2 = createMachine({ >createMachine({ entry: "foo", states: { a: { entry: "foo", }, }, extra: 12,}) : ["foo", { entry: "foo"; states: { a: { entry: "foo"; }; }; }] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >createMachine : , TAction extends string = TConfig["entry"] extends string ? TConfig["entry"] : string>(config: { [K in keyof TConfig & keyof StateConfig]: TConfig[K]; }) => [TAction, TConfig] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ >{ entry: "foo", states: { a: { entry: "foo", }, }, extra: 12,} : { entry: "foo"; states: { a: { entry: "foo"; }; }; extra: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -128,11 +128,11 @@ const inferredParams2 = createMachine({ const checkType = () => (value: { [K in keyof U & keyof T]: U[K] }) => value; >checkType : () => (value: { [K in keyof U & keyof T]: U[K]; }) => { [K in keyof U & keyof T]: U[K]; } -> : ^ ^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >() => (value: { [K in keyof U & keyof T]: U[K] }) => value : () => (value: { [K in keyof U & keyof T]: U[K]; }) => { [K in keyof U & keyof T]: U[K]; } -> : ^ ^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >(value: { [K in keyof U & keyof T]: U[K] }) => value : (value: { [K in keyof U & keyof T]: U[K]; }) => { [K in keyof U & keyof T]: U[K]; } -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >value : { [K in keyof U & keyof T]: U[K]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >value : { [K in keyof U & keyof T]: U[K]; } @@ -146,7 +146,7 @@ const checked = checkType<{x: number, y: string}>()({ >checkType<{x: number, y: string}>() : (value: { [K in keyof U & ("x" | "y")]: U[K]; }) => { [K in keyof U & ("x" | "y")]: U[K]; } > : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >checkType : () => (value: { [K in keyof U & keyof T]: U[K]; }) => { [K in keyof U & keyof T]: U[K]; } -> : ^ ^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number > : ^^^^^^ >y : string @@ -194,7 +194,7 @@ interface Stuff { function doStuffWithStuff(s: { [K in keyof T & keyof Stuff]: T[K] } ): T { >doStuffWithStuff : (s: { [K in keyof T & keyof Stuff]: T[K]; }) => T -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >s : { [K in keyof T & keyof Stuff]: T[K]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -204,11 +204,11 @@ function doStuffWithStuff(s: { [K in keyof T & keyof Stuff]: T[ >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ @@ -229,7 +229,7 @@ doStuffWithStuff({ field: 1, anotherField: 'a', extra: 123 }) >doStuffWithStuff({ field: 1, anotherField: 'a', extra: 123 }) : { field: 1; anotherField: "a"; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >doStuffWithStuff : (s: { [K in keyof T & keyof Stuff]: T[K]; }) => T -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ field: 1, anotherField: 'a', extra: 123 } : { field: 1; anotherField: "a"; extra: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >field : 1 @@ -247,7 +247,7 @@ doStuffWithStuff({ field: 1, anotherField: 'a', extra: 123 }) function doStuffWithStuffArr(arr: { [K in keyof T & keyof Stuff]: T[K] }[]): T[] { >doStuffWithStuffArr : (arr: { [K in keyof T & keyof Stuff]: T[K]; }[]) => T[] -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >arr : { [K in keyof T & keyof Stuff]: T[K]; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -257,11 +257,11 @@ function doStuffWithStuffArr(arr: { [K in keyof T & keyof Stuff >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ @@ -282,7 +282,7 @@ doStuffWithStuffArr([ >doStuffWithStuffArr([ { field: 1, anotherField: 'a', extra: 123 },]) : { field: 1; anotherField: "a"; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >doStuffWithStuffArr : (arr: { [K in keyof T & keyof Stuff]: T[K]; }[]) => T[] -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >[ { field: 1, anotherField: 'a', extra: 123 },] : { field: 1; anotherField: "a"; extra: number; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -314,7 +314,7 @@ type XNumber = { x: number } declare function foo(props: {[K in keyof T & keyof XNumber]: T[K]}): void; >foo : (props: { [K in keyof T & keyof XNumber]: T[K]; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >props : { [K in keyof T & "x"]: T[K]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -332,16 +332,16 @@ function bar(props: {x: number, y: string}) { >foo(props) : void > : ^^^^ >foo : (props: { [K in keyof T & keyof XNumber]: T[K]; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >props : { x: number; y: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ } foo({x: 1, y: 'foo'}); >foo({x: 1, y: 'foo'}) : void > : ^^^^ >foo : (props: { [K in keyof T & keyof XNumber]: T[K]; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{x: 1, y: 'foo'} : { x: 1; y: string; } > : ^^^^^^^^^^^^^^^^^^^^ >x : 1 @@ -357,7 +357,7 @@ foo({...{x: 1, y: 'foo'}}); // no error because lack of excess property check by >foo({...{x: 1, y: 'foo'}}) : void > : ^^^^ >foo : (props: { [K in keyof T & keyof XNumber]: T[K]; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{...{x: 1, y: 'foo'}} : { x: 1; y: string; } > : ^^^^^^^^^^^^^^^^^^^^ >{x: 1, y: 'foo'} : { x: 1; y: string; } @@ -383,7 +383,7 @@ type NoErrWithOptProps = { x: number, y?: string } declare function baz(props: {[K in keyof T & keyof NoErrWithOptProps]: T[K]}): void; >baz : (props: { [K in keyof T & keyof NoErrWithOptProps]: T[K]; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >props : { [K in keyof T & keyof NoErrWithOptProps]: T[K]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -391,7 +391,7 @@ baz({x: 1}); >baz({x: 1}) : void > : ^^^^ >baz : (props: { [K in keyof T & keyof NoErrWithOptProps]: T[K]; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{x: 1} : { x: 1; } > : ^^^^^^^^^ >x : 1 @@ -403,7 +403,7 @@ baz({x: 1, z: 123}); >baz({x: 1, z: 123}) : void > : ^^^^ >baz : (props: { [K in keyof T & keyof NoErrWithOptProps]: T[K]; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{x: 1, z: 123} : { x: 1; z: number; } > : ^^^^^^^^^^^^^^^^^^^^ >x : 1 @@ -419,7 +419,7 @@ baz({x: 1, y: 'foo'}); >baz({x: 1, y: 'foo'}) : void > : ^^^^ >baz : (props: { [K in keyof T & keyof NoErrWithOptProps]: T[K]; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{x: 1, y: 'foo'} : { x: 1; y: "foo"; } > : ^^^^^^^^^^^^^^^^^^^ >x : 1 @@ -435,7 +435,7 @@ baz({x: 1, y: 'foo', z: 123}); >baz({x: 1, y: 'foo', z: 123}) : void > : ^^^^ >baz : (props: { [K in keyof T & keyof NoErrWithOptProps]: T[K]; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{x: 1, y: 'foo', z: 123} : { x: 1; y: "foo"; z: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : 1 @@ -470,7 +470,7 @@ interface WithNestedProp { declare function withNestedProp(props: {[K in keyof T & keyof WithNestedProp]: T[K]}): T; >withNestedProp : (props: { [K in keyof T & keyof WithNestedProp]: T[K]; }) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >props : { [K in keyof T & keyof WithNestedProp]: T[K]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -480,7 +480,7 @@ const wnp = withNestedProp({prop: 'foo', nested: { prop: 'bar' }, extra: 10 }); >withNestedProp({prop: 'foo', nested: { prop: 'bar' }, extra: 10 }) : { prop: "foo"; nested: { prop: string; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >withNestedProp : (props: { [K in keyof T & keyof WithNestedProp]: T[K]; }) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{prop: 'foo', nested: { prop: 'bar' }, extra: 10 } : { prop: "foo"; nested: { prop: string; }; extra: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >prop : "foo" @@ -571,7 +571,7 @@ type NoExtra = { declare function createXMachine< >createXMachine : , TActor extends ProvidedActor = TConfig extends { types: { actors: ProvidedActor; }; } ? TConfig["types"]["actors"] : ProvidedActor>(config: { [K in keyof MachineConfig & keyof TConfig]: TConfig[K]; }) => TConfig -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ const TConfig extends MachineConfig, TActor extends ProvidedActor = TConfig extends { types: { actors: ProvidedActor} } ? TConfig["types"]["actors"] : ProvidedActor, @@ -606,7 +606,7 @@ const config = createXMachine({ >createXMachine({ types: {} as { actors: { src: "str"; logic: typeof child; }; }, invoke: { src: "str", }, extra: 10}) : { types: { actors: { src: "str"; logic: typeof child; }; }; invoke: { readonly src: "str"; }; } > : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >createXMachine : , TActor extends ProvidedActor = TConfig extends { types: { actors: ProvidedActor; }; } ? TConfig["types"]["actors"] : ProvidedActor>(config: { [K in keyof MachineConfig & keyof TConfig]: TConfig[K]; }) => TConfig -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ >{ types: {} as { actors: { src: "str"; logic: typeof child; }; }, invoke: { src: "str", }, extra: 10} : { types: { actors: { src: "str"; logic: typeof child; }; }; invoke: { src: "str"; }; extra: number; } > : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -661,7 +661,7 @@ const config2 = createXMachine({ >createXMachine({ invoke: { src: "whatever", }, extra: 10}) : { invoke: { readonly src: "whatever"; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >createXMachine : , TActor extends ProvidedActor = TConfig extends { types: { actors: ProvidedActor; }; } ? TConfig["types"]["actors"] : ProvidedActor>(config: { [K in keyof MachineConfig & keyof TConfig]: TConfig[K]; }) => TConfig -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ >{ invoke: { src: "whatever", }, extra: 10} : { invoke: { src: "whatever"; }; extra: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/reverseMappedTypeLimitedConstraint.types b/tests/baselines/reference/reverseMappedTypeLimitedConstraint.types index 7c0e35cb49770..38b6fc719d261 100644 --- a/tests/baselines/reference/reverseMappedTypeLimitedConstraint.types +++ b/tests/baselines/reference/reverseMappedTypeLimitedConstraint.types @@ -9,7 +9,7 @@ type XNumber_ = { x: number } declare function foo_(props: {[K in keyof T & keyof XNumber_]: T[K]}): T; >foo_ : (props: { [K in keyof T & keyof XNumber_]: T[K]; }) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >props : { [K in keyof T & "x"]: T[K]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -17,7 +17,7 @@ foo_({x: 1, y: 'foo'}); >foo_({x: 1, y: 'foo'}) : { x: 1; } > : ^^^^^^^^^ >foo_ : (props: { [K in keyof T & keyof XNumber_]: T[K]; }) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{x: 1, y: 'foo'} : { x: 1; y: string; } > : ^^^^^^^^^^^^^^^^^^^^ >x : 1 @@ -33,11 +33,11 @@ foo_({x: 1, y: 'foo'}); const checkType_ = () => (value: { [K in keyof U & keyof T]: U[K] }) => value; >checkType_ : () => (value: { [K in keyof U & keyof T]: U[K]; }) => { [K in keyof U & keyof T]: U[K]; } -> : ^ ^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >() => (value: { [K in keyof U & keyof T]: U[K] }) => value : () => (value: { [K in keyof U & keyof T]: U[K]; }) => { [K in keyof U & keyof T]: U[K]; } -> : ^ ^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >(value: { [K in keyof U & keyof T]: U[K] }) => value : (value: { [K in keyof U & keyof T]: U[K]; }) => { [K in keyof U & keyof T]: U[K]; } -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >value : { [K in keyof U & keyof T]: U[K]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >value : { [K in keyof U & keyof T]: U[K]; } @@ -51,7 +51,7 @@ const checked_ = checkType_<{x: number, y: string}>()({ >checkType_<{x: number, y: string}>() : (value: { [K in keyof U & ("x" | "y")]: U[K]; }) => { [K in keyof U & ("x" | "y")]: U[K]; } > : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >checkType_ : () => (value: { [K in keyof U & keyof T]: U[K]; }) => { [K in keyof U & keyof T]: U[K]; } -> : ^ ^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number > : ^^^^^^ >y : string diff --git a/tests/baselines/reference/reverseMappedTypePrimitiveConstraintProperty.types b/tests/baselines/reference/reverseMappedTypePrimitiveConstraintProperty.types index 263a0a93907ae..cba6b40393ab6 100644 --- a/tests/baselines/reference/reverseMappedTypePrimitiveConstraintProperty.types +++ b/tests/baselines/reference/reverseMappedTypePrimitiveConstraintProperty.types @@ -3,7 +3,7 @@ === reverseMappedTypePrimitiveConstraintProperty.ts === declare function test< >test : (obj: { [K in keyof T]: T[K]; }) => T -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ T extends { prop: string; nested: { nestedProp: string } }, >prop : string @@ -23,7 +23,7 @@ const result = test({ >test({ prop: "foo", // this one should not widen to string nested: { nestedProp: "bar", }, extra: "baz",}) : { prop: "foo"; nested: { nestedProp: string; }; extra: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >test : (obj: { [K in keyof T]: T[K]; }) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ prop: "foo", // this one should not widen to string nested: { nestedProp: "bar", }, extra: "baz",} : { prop: "foo"; nested: { nestedProp: string; }; extra: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/reverseMappedTypeRecursiveInference.types b/tests/baselines/reference/reverseMappedTypeRecursiveInference.types index acaa5b22d55fa..5cdda57f52197 100644 --- a/tests/baselines/reference/reverseMappedTypeRecursiveInference.types +++ b/tests/baselines/reference/reverseMappedTypeRecursiveInference.types @@ -25,11 +25,11 @@ function test(value: Foo): V { >console.log(value) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >value : Foo > : ^^^^^^ @@ -49,7 +49,7 @@ test(bar); >test(bar) : { [x: string]: any; } > : ^^^^^^^^^^^^^^^^^^^^^ >test : (value: Foo) => V -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >bar : Bar > : ^^^^^^^^ diff --git a/tests/baselines/reference/reverseMappedUnionInference.types b/tests/baselines/reference/reverseMappedUnionInference.types index 8d9aa97853cde..d74f5853d608e 100644 --- a/tests/baselines/reference/reverseMappedUnionInference.types +++ b/tests/baselines/reference/reverseMappedUnionInference.types @@ -69,15 +69,15 @@ const identifierExtractor = createExtractor({ >createExtractor({ matcher: isIdentifier, extract: (node) => { return { node, kind: "identifier" as const, value: node.name, }; },}) : Extractor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >createExtractor : (params: { matcher: (node: unknown) => node is T; extract: (node: T) => Result; }) => Extractor -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >{ matcher: isIdentifier, extract: (node) => { return { node, kind: "identifier" as const, value: node.name, }; },} : { matcher: (node: unknown) => node is Identifier; extract: (node: Identifier) => { node: Identifier; kind: "identifier"; value: string; }; } -> : ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ matcher: isIdentifier, >matcher : (node: unknown) => node is Identifier -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >isIdentifier : (node: unknown) => node is Identifier -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ extract: (node) => { >extract : (node: Identifier) => { node: Identifier; kind: "identifier"; value: string; } @@ -139,15 +139,15 @@ const stringExtractor = createExtractor({ >createExtractor({ matcher: isStringLiteral, extract: (node) => { return { node, kind: "string" as const, value: node.value, }; },}) : Extractor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >createExtractor : (params: { matcher: (node: unknown) => node is T; extract: (node: T) => Result; }) => Extractor -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >{ matcher: isStringLiteral, extract: (node) => { return { node, kind: "string" as const, value: node.value, }; },} : { matcher: (node: unknown) => node is StringLiteral; extract: (node: StringLiteral) => { node: StringLiteral; kind: "string"; value: string; }; } -> : ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ matcher: isStringLiteral, >matcher : (node: unknown) => node is StringLiteral -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >isStringLiteral : (node: unknown) => node is StringLiteral -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ extract: (node) => { >extract : (node: StringLiteral) => { node: StringLiteral; kind: "string"; value: string; } @@ -189,7 +189,7 @@ const stringExtractor = createExtractor({ declare function unionType(parsers: { >unionType : (parsers: { [K in keyof Result]: AnyExtractor; }) => AnyExtractor -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >parsers : { [K in keyof Result]: AnyExtractor; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -202,7 +202,7 @@ const myUnion = unionType([identifierExtractor, stringExtractor]); >unionType([identifierExtractor, stringExtractor]) : AnyExtractor<{ node: Identifier; kind: "identifier"; value: string; } | { node: StringLiteral; kind: "string"; value: string; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >unionType : (parsers: { [K in keyof Result]: AnyExtractor; }) => AnyExtractor -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >[identifierExtractor, stringExtractor] : [Extractor, Extractor] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >identifierExtractor : Extractor diff --git a/tests/baselines/reference/scannerS7.2_A1.5_T2.types b/tests/baselines/reference/scannerS7.2_A1.5_T2.types index f93a77f7075bd..c275739768c3b 100644 --- a/tests/baselines/reference/scannerS7.2_A1.5_T2.types +++ b/tests/baselines/reference/scannerS7.2_A1.5_T2.types @@ -16,7 +16,7 @@ eval("\u00A0var x\u00A0= 1\u00A0"); >eval("\u00A0var x\u00A0= 1\u00A0") : any > : ^^^ >eval : (x: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >"\u00A0var x\u00A0= 1\u00A0" : " var x = 1 " > : ^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/selfInCallback.types b/tests/baselines/reference/selfInCallback.types index 5bf6ee75b3c9c..4ba660b4437b8 100644 --- a/tests/baselines/reference/selfInCallback.types +++ b/tests/baselines/reference/selfInCallback.types @@ -19,7 +19,7 @@ class C { >cb() : void > : ^^^^ >cb : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ public doit() { >doit : () => void diff --git a/tests/baselines/reference/selfInLambdas.types b/tests/baselines/reference/selfInLambdas.types index 5f40d02c7e6a1..7013e72a7fd35 100644 --- a/tests/baselines/reference/selfInLambdas.types +++ b/tests/baselines/reference/selfInLambdas.types @@ -45,11 +45,11 @@ var o = { >window.onmousemove = () => { this.counter++ var f = () => this.counter; } : () => void > : ^^^^^^^^^^ >window.onmousemove : (ev: MouseEvent) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >window : Window > : ^^^^^^ >onmousemove : (ev: MouseEvent) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >() => { this.counter++ var f = () => this.counter; } : () => void > : ^^^^^^^^^^ diff --git a/tests/baselines/reference/selfNameModuleAugmentation.types b/tests/baselines/reference/selfNameModuleAugmentation.types index 8f0eb75dc54fc..3728786e5272e 100644 --- a/tests/baselines/reference/selfNameModuleAugmentation.types +++ b/tests/baselines/reference/selfNameModuleAugmentation.types @@ -22,5 +22,5 @@ export {}; === /index.ts === import { simple } from 'acorn-walk'; >simple : (node: any, visitors: any, base?: any, state?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/selfReference.types b/tests/baselines/reference/selfReference.types index ab1c5aed6a07d..ec2b6bf814e7c 100644 --- a/tests/baselines/reference/selfReference.types +++ b/tests/baselines/reference/selfReference.types @@ -11,7 +11,7 @@ asFunction(() => { return 1; }); >asFunction(() => { return 1; }) : () => () => 1 > : ^^^^^^^^^^^^^ >asFunction : (value: T) => () => T -> : ^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >() => { return 1; } : () => 1 > : ^^^^^^^ >1 : 1 diff --git a/tests/baselines/reference/selfReferencesInFunctionParameters.types b/tests/baselines/reference/selfReferencesInFunctionParameters.types index 1f7d4c930f678..7edd67348729d 100644 --- a/tests/baselines/reference/selfReferencesInFunctionParameters.types +++ b/tests/baselines/reference/selfReferencesInFunctionParameters.types @@ -50,10 +50,10 @@ class C { >b.toString() : string > : ^^^^^^ >b.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >b : string > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } diff --git a/tests/baselines/reference/selfReferentialFunctionType.types b/tests/baselines/reference/selfReferentialFunctionType.types index a028dee08c9a2..e69caaf61733f 100644 --- a/tests/baselines/reference/selfReferentialFunctionType.types +++ b/tests/baselines/reference/selfReferentialFunctionType.types @@ -7,13 +7,13 @@ declare function f(args: typeof f): T; >args : typeof f > : >f : (args: typeof f) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ declare function g(args: T): T; >g : (args: T) => T > : ^ ^^^^^^^^^^^^^ ^^ ^^^^^ >g : (args: T) => T -> : ^ ^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^^^^^ ^^ ^^^^^ >args : T > : ^ diff --git a/tests/baselines/reference/setMethods.errors.txt b/tests/baselines/reference/setMethods.errors.txt new file mode 100644 index 0000000000000..dc46f007ec67f --- /dev/null +++ b/tests/baselines/reference/setMethods.errors.txt @@ -0,0 +1,80 @@ +setMethods.ts(13,17): error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'ReadonlySetLike'. + Type 'undefined[]' is missing the following properties from type 'ReadonlySetLike': has, size +setMethods.ts(19,24): error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'ReadonlySetLike'. +setMethods.ts(25,22): error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'ReadonlySetLike'. +setMethods.ts(31,31): error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'ReadonlySetLike'. +setMethods.ts(37,22): error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'ReadonlySetLike'. +setMethods.ts(43,24): error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'ReadonlySetLike'. +setMethods.ts(49,26): error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'ReadonlySetLike'. + + +==== setMethods.ts (7 errors) ==== + let numberSet = new Set([0, 1, 2]); + + let stringSet = new Set(["a", "b"]); + + let numberMap = new Map([[4, {}], [5, {}]]); + + let numberSetLike = { + size: 1, + *keys() { yield 3 }, + has(x) { return x === 3 }, + }; + + numberSet.union([]); + ~~ +!!! error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'ReadonlySetLike'. +!!! error TS2345: Type 'undefined[]' is missing the following properties from type 'ReadonlySetLike': has, size + numberSet.union(new Set); + numberSet.union(stringSet); + numberSet.union(numberMap); + numberSet.union(numberSetLike); + + numberSet.intersection([]); + ~~ +!!! error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'ReadonlySetLike'. + numberSet.intersection(new Set); + numberSet.intersection(stringSet); + numberSet.intersection(numberMap); + numberSet.intersection(numberSetLike); + + numberSet.difference([]); + ~~ +!!! error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'ReadonlySetLike'. + numberSet.difference(new Set); + numberSet.difference(stringSet); + numberSet.difference(numberMap); + numberSet.difference(numberSetLike); + + numberSet.symmetricDifference([]); + ~~ +!!! error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'ReadonlySetLike'. + numberSet.symmetricDifference(new Set); + numberSet.symmetricDifference(stringSet); + numberSet.symmetricDifference(numberMap); + numberSet.symmetricDifference(numberSetLike); + + numberSet.isSubsetOf([]); + ~~ +!!! error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'ReadonlySetLike'. + numberSet.isSubsetOf(new Set); + numberSet.isSubsetOf(stringSet); + numberSet.isSubsetOf(numberMap); + numberSet.isSubsetOf(numberSetLike); + + numberSet.isSupersetOf([]); + ~~ +!!! error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'ReadonlySetLike'. + numberSet.isSupersetOf(new Set); + numberSet.isSupersetOf(stringSet); + numberSet.isSupersetOf(numberMap); + numberSet.isSupersetOf(numberSetLike); + + numberSet.isDisjointFrom([]); + ~~ +!!! error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'ReadonlySetLike'. + numberSet.isDisjointFrom(new Set); + numberSet.isDisjointFrom(stringSet); + numberSet.isDisjointFrom(numberMap); + numberSet.isDisjointFrom(numberSetLike); + \ No newline at end of file diff --git a/tests/baselines/reference/setMethods.js b/tests/baselines/reference/setMethods.js new file mode 100644 index 0000000000000..b8c41f96afba7 --- /dev/null +++ b/tests/baselines/reference/setMethods.js @@ -0,0 +1,102 @@ +//// [tests/cases/compiler/setMethods.ts] //// + +//// [setMethods.ts] +let numberSet = new Set([0, 1, 2]); + +let stringSet = new Set(["a", "b"]); + +let numberMap = new Map([[4, {}], [5, {}]]); + +let numberSetLike = { + size: 1, + *keys() { yield 3 }, + has(x) { return x === 3 }, +}; + +numberSet.union([]); +numberSet.union(new Set); +numberSet.union(stringSet); +numberSet.union(numberMap); +numberSet.union(numberSetLike); + +numberSet.intersection([]); +numberSet.intersection(new Set); +numberSet.intersection(stringSet); +numberSet.intersection(numberMap); +numberSet.intersection(numberSetLike); + +numberSet.difference([]); +numberSet.difference(new Set); +numberSet.difference(stringSet); +numberSet.difference(numberMap); +numberSet.difference(numberSetLike); + +numberSet.symmetricDifference([]); +numberSet.symmetricDifference(new Set); +numberSet.symmetricDifference(stringSet); +numberSet.symmetricDifference(numberMap); +numberSet.symmetricDifference(numberSetLike); + +numberSet.isSubsetOf([]); +numberSet.isSubsetOf(new Set); +numberSet.isSubsetOf(stringSet); +numberSet.isSubsetOf(numberMap); +numberSet.isSubsetOf(numberSetLike); + +numberSet.isSupersetOf([]); +numberSet.isSupersetOf(new Set); +numberSet.isSupersetOf(stringSet); +numberSet.isSupersetOf(numberMap); +numberSet.isSupersetOf(numberSetLike); + +numberSet.isDisjointFrom([]); +numberSet.isDisjointFrom(new Set); +numberSet.isDisjointFrom(stringSet); +numberSet.isDisjointFrom(numberMap); +numberSet.isDisjointFrom(numberSetLike); + + +//// [setMethods.js] +let numberSet = new Set([0, 1, 2]); +let stringSet = new Set(["a", "b"]); +let numberMap = new Map([[4, {}], [5, {}]]); +let numberSetLike = { + size: 1, + *keys() { yield 3; }, + has(x) { return x === 3; }, +}; +numberSet.union([]); +numberSet.union(new Set); +numberSet.union(stringSet); +numberSet.union(numberMap); +numberSet.union(numberSetLike); +numberSet.intersection([]); +numberSet.intersection(new Set); +numberSet.intersection(stringSet); +numberSet.intersection(numberMap); +numberSet.intersection(numberSetLike); +numberSet.difference([]); +numberSet.difference(new Set); +numberSet.difference(stringSet); +numberSet.difference(numberMap); +numberSet.difference(numberSetLike); +numberSet.symmetricDifference([]); +numberSet.symmetricDifference(new Set); +numberSet.symmetricDifference(stringSet); +numberSet.symmetricDifference(numberMap); +numberSet.symmetricDifference(numberSetLike); +numberSet.isSubsetOf([]); +numberSet.isSubsetOf(new Set); +numberSet.isSubsetOf(stringSet); +numberSet.isSubsetOf(numberMap); +numberSet.isSubsetOf(numberSetLike); +numberSet.isSupersetOf([]); +numberSet.isSupersetOf(new Set); +numberSet.isSupersetOf(stringSet); +numberSet.isSupersetOf(numberMap); +numberSet.isSupersetOf(numberSetLike); +numberSet.isDisjointFrom([]); +numberSet.isDisjointFrom(new Set); +numberSet.isDisjointFrom(stringSet); +numberSet.isDisjointFrom(numberMap); +numberSet.isDisjointFrom(numberSetLike); diff --git a/tests/baselines/reference/setMethods.symbols b/tests/baselines/reference/setMethods.symbols new file mode 100644 index 0000000000000..e2c233be0d99e --- /dev/null +++ b/tests/baselines/reference/setMethods.symbols @@ -0,0 +1,234 @@ +//// [tests/cases/compiler/setMethods.ts] //// + +=== setMethods.ts === +let numberSet = new Set([0, 1, 2]); +>numberSet : Symbol(numberSet, Decl(setMethods.ts, 0, 3)) +>Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.esnext.collection.d.ts, --, --)) + +let stringSet = new Set(["a", "b"]); +>stringSet : Symbol(stringSet, Decl(setMethods.ts, 2, 3)) +>Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.esnext.collection.d.ts, --, --)) + +let numberMap = new Map([[4, {}], [5, {}]]); +>numberMap : Symbol(numberMap, Decl(setMethods.ts, 4, 3)) +>Map : Symbol(Map, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) + +let numberSetLike = { +>numberSetLike : Symbol(numberSetLike, Decl(setMethods.ts, 6, 3)) + + size: 1, +>size : Symbol(size, Decl(setMethods.ts, 6, 21)) + + *keys() { yield 3 }, +>keys : Symbol(keys, Decl(setMethods.ts, 7, 10)) + + has(x) { return x === 3 }, +>has : Symbol(has, Decl(setMethods.ts, 8, 22)) +>x : Symbol(x, Decl(setMethods.ts, 9, 6)) +>x : Symbol(x, Decl(setMethods.ts, 9, 6)) + +}; + +numberSet.union([]); +>numberSet.union : Symbol(Set.union, Decl(lib.esnext.collection.d.ts, --, --)) +>numberSet : Symbol(numberSet, Decl(setMethods.ts, 0, 3)) +>union : Symbol(Set.union, Decl(lib.esnext.collection.d.ts, --, --)) + +numberSet.union(new Set); +>numberSet.union : Symbol(Set.union, Decl(lib.esnext.collection.d.ts, --, --)) +>numberSet : Symbol(numberSet, Decl(setMethods.ts, 0, 3)) +>union : Symbol(Set.union, Decl(lib.esnext.collection.d.ts, --, --)) +>Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.esnext.collection.d.ts, --, --)) + +numberSet.union(stringSet); +>numberSet.union : Symbol(Set.union, Decl(lib.esnext.collection.d.ts, --, --)) +>numberSet : Symbol(numberSet, Decl(setMethods.ts, 0, 3)) +>union : Symbol(Set.union, Decl(lib.esnext.collection.d.ts, --, --)) +>stringSet : Symbol(stringSet, Decl(setMethods.ts, 2, 3)) + +numberSet.union(numberMap); +>numberSet.union : Symbol(Set.union, Decl(lib.esnext.collection.d.ts, --, --)) +>numberSet : Symbol(numberSet, Decl(setMethods.ts, 0, 3)) +>union : Symbol(Set.union, Decl(lib.esnext.collection.d.ts, --, --)) +>numberMap : Symbol(numberMap, Decl(setMethods.ts, 4, 3)) + +numberSet.union(numberSetLike); +>numberSet.union : Symbol(Set.union, Decl(lib.esnext.collection.d.ts, --, --)) +>numberSet : Symbol(numberSet, Decl(setMethods.ts, 0, 3)) +>union : Symbol(Set.union, Decl(lib.esnext.collection.d.ts, --, --)) +>numberSetLike : Symbol(numberSetLike, Decl(setMethods.ts, 6, 3)) + +numberSet.intersection([]); +>numberSet.intersection : Symbol(Set.intersection, Decl(lib.esnext.collection.d.ts, --, --)) +>numberSet : Symbol(numberSet, Decl(setMethods.ts, 0, 3)) +>intersection : Symbol(Set.intersection, Decl(lib.esnext.collection.d.ts, --, --)) + +numberSet.intersection(new Set); +>numberSet.intersection : Symbol(Set.intersection, Decl(lib.esnext.collection.d.ts, --, --)) +>numberSet : Symbol(numberSet, Decl(setMethods.ts, 0, 3)) +>intersection : Symbol(Set.intersection, Decl(lib.esnext.collection.d.ts, --, --)) +>Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.esnext.collection.d.ts, --, --)) + +numberSet.intersection(stringSet); +>numberSet.intersection : Symbol(Set.intersection, Decl(lib.esnext.collection.d.ts, --, --)) +>numberSet : Symbol(numberSet, Decl(setMethods.ts, 0, 3)) +>intersection : Symbol(Set.intersection, Decl(lib.esnext.collection.d.ts, --, --)) +>stringSet : Symbol(stringSet, Decl(setMethods.ts, 2, 3)) + +numberSet.intersection(numberMap); +>numberSet.intersection : Symbol(Set.intersection, Decl(lib.esnext.collection.d.ts, --, --)) +>numberSet : Symbol(numberSet, Decl(setMethods.ts, 0, 3)) +>intersection : Symbol(Set.intersection, Decl(lib.esnext.collection.d.ts, --, --)) +>numberMap : Symbol(numberMap, Decl(setMethods.ts, 4, 3)) + +numberSet.intersection(numberSetLike); +>numberSet.intersection : Symbol(Set.intersection, Decl(lib.esnext.collection.d.ts, --, --)) +>numberSet : Symbol(numberSet, Decl(setMethods.ts, 0, 3)) +>intersection : Symbol(Set.intersection, Decl(lib.esnext.collection.d.ts, --, --)) +>numberSetLike : Symbol(numberSetLike, Decl(setMethods.ts, 6, 3)) + +numberSet.difference([]); +>numberSet.difference : Symbol(Set.difference, Decl(lib.esnext.collection.d.ts, --, --)) +>numberSet : Symbol(numberSet, Decl(setMethods.ts, 0, 3)) +>difference : Symbol(Set.difference, Decl(lib.esnext.collection.d.ts, --, --)) + +numberSet.difference(new Set); +>numberSet.difference : Symbol(Set.difference, Decl(lib.esnext.collection.d.ts, --, --)) +>numberSet : Symbol(numberSet, Decl(setMethods.ts, 0, 3)) +>difference : Symbol(Set.difference, Decl(lib.esnext.collection.d.ts, --, --)) +>Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.esnext.collection.d.ts, --, --)) + +numberSet.difference(stringSet); +>numberSet.difference : Symbol(Set.difference, Decl(lib.esnext.collection.d.ts, --, --)) +>numberSet : Symbol(numberSet, Decl(setMethods.ts, 0, 3)) +>difference : Symbol(Set.difference, Decl(lib.esnext.collection.d.ts, --, --)) +>stringSet : Symbol(stringSet, Decl(setMethods.ts, 2, 3)) + +numberSet.difference(numberMap); +>numberSet.difference : Symbol(Set.difference, Decl(lib.esnext.collection.d.ts, --, --)) +>numberSet : Symbol(numberSet, Decl(setMethods.ts, 0, 3)) +>difference : Symbol(Set.difference, Decl(lib.esnext.collection.d.ts, --, --)) +>numberMap : Symbol(numberMap, Decl(setMethods.ts, 4, 3)) + +numberSet.difference(numberSetLike); +>numberSet.difference : Symbol(Set.difference, Decl(lib.esnext.collection.d.ts, --, --)) +>numberSet : Symbol(numberSet, Decl(setMethods.ts, 0, 3)) +>difference : Symbol(Set.difference, Decl(lib.esnext.collection.d.ts, --, --)) +>numberSetLike : Symbol(numberSetLike, Decl(setMethods.ts, 6, 3)) + +numberSet.symmetricDifference([]); +>numberSet.symmetricDifference : Symbol(Set.symmetricDifference, Decl(lib.esnext.collection.d.ts, --, --)) +>numberSet : Symbol(numberSet, Decl(setMethods.ts, 0, 3)) +>symmetricDifference : Symbol(Set.symmetricDifference, Decl(lib.esnext.collection.d.ts, --, --)) + +numberSet.symmetricDifference(new Set); +>numberSet.symmetricDifference : Symbol(Set.symmetricDifference, Decl(lib.esnext.collection.d.ts, --, --)) +>numberSet : Symbol(numberSet, Decl(setMethods.ts, 0, 3)) +>symmetricDifference : Symbol(Set.symmetricDifference, Decl(lib.esnext.collection.d.ts, --, --)) +>Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.esnext.collection.d.ts, --, --)) + +numberSet.symmetricDifference(stringSet); +>numberSet.symmetricDifference : Symbol(Set.symmetricDifference, Decl(lib.esnext.collection.d.ts, --, --)) +>numberSet : Symbol(numberSet, Decl(setMethods.ts, 0, 3)) +>symmetricDifference : Symbol(Set.symmetricDifference, Decl(lib.esnext.collection.d.ts, --, --)) +>stringSet : Symbol(stringSet, Decl(setMethods.ts, 2, 3)) + +numberSet.symmetricDifference(numberMap); +>numberSet.symmetricDifference : Symbol(Set.symmetricDifference, Decl(lib.esnext.collection.d.ts, --, --)) +>numberSet : Symbol(numberSet, Decl(setMethods.ts, 0, 3)) +>symmetricDifference : Symbol(Set.symmetricDifference, Decl(lib.esnext.collection.d.ts, --, --)) +>numberMap : Symbol(numberMap, Decl(setMethods.ts, 4, 3)) + +numberSet.symmetricDifference(numberSetLike); +>numberSet.symmetricDifference : Symbol(Set.symmetricDifference, Decl(lib.esnext.collection.d.ts, --, --)) +>numberSet : Symbol(numberSet, Decl(setMethods.ts, 0, 3)) +>symmetricDifference : Symbol(Set.symmetricDifference, Decl(lib.esnext.collection.d.ts, --, --)) +>numberSetLike : Symbol(numberSetLike, Decl(setMethods.ts, 6, 3)) + +numberSet.isSubsetOf([]); +>numberSet.isSubsetOf : Symbol(Set.isSubsetOf, Decl(lib.esnext.collection.d.ts, --, --)) +>numberSet : Symbol(numberSet, Decl(setMethods.ts, 0, 3)) +>isSubsetOf : Symbol(Set.isSubsetOf, Decl(lib.esnext.collection.d.ts, --, --)) + +numberSet.isSubsetOf(new Set); +>numberSet.isSubsetOf : Symbol(Set.isSubsetOf, Decl(lib.esnext.collection.d.ts, --, --)) +>numberSet : Symbol(numberSet, Decl(setMethods.ts, 0, 3)) +>isSubsetOf : Symbol(Set.isSubsetOf, Decl(lib.esnext.collection.d.ts, --, --)) +>Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.esnext.collection.d.ts, --, --)) + +numberSet.isSubsetOf(stringSet); +>numberSet.isSubsetOf : Symbol(Set.isSubsetOf, Decl(lib.esnext.collection.d.ts, --, --)) +>numberSet : Symbol(numberSet, Decl(setMethods.ts, 0, 3)) +>isSubsetOf : Symbol(Set.isSubsetOf, Decl(lib.esnext.collection.d.ts, --, --)) +>stringSet : Symbol(stringSet, Decl(setMethods.ts, 2, 3)) + +numberSet.isSubsetOf(numberMap); +>numberSet.isSubsetOf : Symbol(Set.isSubsetOf, Decl(lib.esnext.collection.d.ts, --, --)) +>numberSet : Symbol(numberSet, Decl(setMethods.ts, 0, 3)) +>isSubsetOf : Symbol(Set.isSubsetOf, Decl(lib.esnext.collection.d.ts, --, --)) +>numberMap : Symbol(numberMap, Decl(setMethods.ts, 4, 3)) + +numberSet.isSubsetOf(numberSetLike); +>numberSet.isSubsetOf : Symbol(Set.isSubsetOf, Decl(lib.esnext.collection.d.ts, --, --)) +>numberSet : Symbol(numberSet, Decl(setMethods.ts, 0, 3)) +>isSubsetOf : Symbol(Set.isSubsetOf, Decl(lib.esnext.collection.d.ts, --, --)) +>numberSetLike : Symbol(numberSetLike, Decl(setMethods.ts, 6, 3)) + +numberSet.isSupersetOf([]); +>numberSet.isSupersetOf : Symbol(Set.isSupersetOf, Decl(lib.esnext.collection.d.ts, --, --)) +>numberSet : Symbol(numberSet, Decl(setMethods.ts, 0, 3)) +>isSupersetOf : Symbol(Set.isSupersetOf, Decl(lib.esnext.collection.d.ts, --, --)) + +numberSet.isSupersetOf(new Set); +>numberSet.isSupersetOf : Symbol(Set.isSupersetOf, Decl(lib.esnext.collection.d.ts, --, --)) +>numberSet : Symbol(numberSet, Decl(setMethods.ts, 0, 3)) +>isSupersetOf : Symbol(Set.isSupersetOf, Decl(lib.esnext.collection.d.ts, --, --)) +>Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.esnext.collection.d.ts, --, --)) + +numberSet.isSupersetOf(stringSet); +>numberSet.isSupersetOf : Symbol(Set.isSupersetOf, Decl(lib.esnext.collection.d.ts, --, --)) +>numberSet : Symbol(numberSet, Decl(setMethods.ts, 0, 3)) +>isSupersetOf : Symbol(Set.isSupersetOf, Decl(lib.esnext.collection.d.ts, --, --)) +>stringSet : Symbol(stringSet, Decl(setMethods.ts, 2, 3)) + +numberSet.isSupersetOf(numberMap); +>numberSet.isSupersetOf : Symbol(Set.isSupersetOf, Decl(lib.esnext.collection.d.ts, --, --)) +>numberSet : Symbol(numberSet, Decl(setMethods.ts, 0, 3)) +>isSupersetOf : Symbol(Set.isSupersetOf, Decl(lib.esnext.collection.d.ts, --, --)) +>numberMap : Symbol(numberMap, Decl(setMethods.ts, 4, 3)) + +numberSet.isSupersetOf(numberSetLike); +>numberSet.isSupersetOf : Symbol(Set.isSupersetOf, Decl(lib.esnext.collection.d.ts, --, --)) +>numberSet : Symbol(numberSet, Decl(setMethods.ts, 0, 3)) +>isSupersetOf : Symbol(Set.isSupersetOf, Decl(lib.esnext.collection.d.ts, --, --)) +>numberSetLike : Symbol(numberSetLike, Decl(setMethods.ts, 6, 3)) + +numberSet.isDisjointFrom([]); +>numberSet.isDisjointFrom : Symbol(Set.isDisjointFrom, Decl(lib.esnext.collection.d.ts, --, --)) +>numberSet : Symbol(numberSet, Decl(setMethods.ts, 0, 3)) +>isDisjointFrom : Symbol(Set.isDisjointFrom, Decl(lib.esnext.collection.d.ts, --, --)) + +numberSet.isDisjointFrom(new Set); +>numberSet.isDisjointFrom : Symbol(Set.isDisjointFrom, Decl(lib.esnext.collection.d.ts, --, --)) +>numberSet : Symbol(numberSet, Decl(setMethods.ts, 0, 3)) +>isDisjointFrom : Symbol(Set.isDisjointFrom, Decl(lib.esnext.collection.d.ts, --, --)) +>Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.esnext.collection.d.ts, --, --)) + +numberSet.isDisjointFrom(stringSet); +>numberSet.isDisjointFrom : Symbol(Set.isDisjointFrom, Decl(lib.esnext.collection.d.ts, --, --)) +>numberSet : Symbol(numberSet, Decl(setMethods.ts, 0, 3)) +>isDisjointFrom : Symbol(Set.isDisjointFrom, Decl(lib.esnext.collection.d.ts, --, --)) +>stringSet : Symbol(stringSet, Decl(setMethods.ts, 2, 3)) + +numberSet.isDisjointFrom(numberMap); +>numberSet.isDisjointFrom : Symbol(Set.isDisjointFrom, Decl(lib.esnext.collection.d.ts, --, --)) +>numberSet : Symbol(numberSet, Decl(setMethods.ts, 0, 3)) +>isDisjointFrom : Symbol(Set.isDisjointFrom, Decl(lib.esnext.collection.d.ts, --, --)) +>numberMap : Symbol(numberMap, Decl(setMethods.ts, 4, 3)) + +numberSet.isDisjointFrom(numberSetLike); +>numberSet.isDisjointFrom : Symbol(Set.isDisjointFrom, Decl(lib.esnext.collection.d.ts, --, --)) +>numberSet : Symbol(numberSet, Decl(setMethods.ts, 0, 3)) +>isDisjointFrom : Symbol(Set.isDisjointFrom, Decl(lib.esnext.collection.d.ts, --, --)) +>numberSetLike : Symbol(numberSetLike, Decl(setMethods.ts, 6, 3)) + diff --git a/tests/baselines/reference/setMethods.types b/tests/baselines/reference/setMethods.types new file mode 100644 index 0000000000000..f9d7a924d7635 --- /dev/null +++ b/tests/baselines/reference/setMethods.types @@ -0,0 +1,523 @@ +//// [tests/cases/compiler/setMethods.ts] //// + +=== setMethods.ts === +let numberSet = new Set([0, 1, 2]); +>numberSet : Set +> : ^^^^^^^^^^^ +>new Set([0, 1, 2]) : Set +> : ^^^^^^^^^^^ +>Set : SetConstructor +> : ^^^^^^^^^^^^^^ +>[0, 1, 2] : number[] +> : ^^^^^^^^ +>0 : 0 +> : ^ +>1 : 1 +> : ^ +>2 : 2 +> : ^ + +let stringSet = new Set(["a", "b"]); +>stringSet : Set +> : ^^^^^^^^^^^ +>new Set(["a", "b"]) : Set +> : ^^^^^^^^^^^ +>Set : SetConstructor +> : ^^^^^^^^^^^^^^ +>["a", "b"] : string[] +> : ^^^^^^^^ +>"a" : "a" +> : ^^^ +>"b" : "b" +> : ^^^ + +let numberMap = new Map([[4, {}], [5, {}]]); +>numberMap : Map +> : ^^^^^^^^^^^^^^^ +>new Map([[4, {}], [5, {}]]) : Map +> : ^^^^^^^^^^^^^^^ +>Map : MapConstructor +> : ^^^^^^^^^^^^^^ +>[[4, {}], [5, {}]] : [number, {}][] +> : ^^^^^^^^^^^^^^ +>[4, {}] : [number, {}] +> : ^^^^^^^^^^^^ +>4 : 4 +> : ^ +>{} : {} +> : ^^ +>[5, {}] : [number, {}] +> : ^^^^^^^^^^^^ +>5 : 5 +> : ^ +>{} : {} +> : ^^ + +let numberSetLike = { +>numberSetLike : { size: number; keys(): Generator; has(x: any): boolean; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +>{ size: 1, *keys() { yield 3 }, has(x) { return x === 3 },} : { size: number; keys(): Generator; has(x: any): boolean; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ + + size: 1, +>size : number +> : ^^^^^^ +>1 : 1 +> : ^ + + *keys() { yield 3 }, +>keys : () => Generator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>yield 3 : any +> : ^^^ +>3 : 3 +> : ^ + + has(x) { return x === 3 }, +>has : (x: any) => boolean +> : ^ ^^^^^^^^^^^^^^^^^ +>x : any +> : ^^^ +>x === 3 : boolean +> : ^^^^^^^ +>x : any +> : ^^^ +>3 : 3 +> : ^ + +}; + +numberSet.union([]); +>numberSet.union([]) : Set +> : ^^^^^^^^^^^^ +>numberSet.union : (other: ReadonlySetLike) => Set +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ +>numberSet : Set +> : ^^^^^^^^^^^ +>union : (other: ReadonlySetLike) => Set +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ +>[] : undefined[] +> : ^^^^^^^^^^^ + +numberSet.union(new Set); +>numberSet.union(new Set) : Set +> : ^^^^^^^^^^^^ +>numberSet.union : (other: ReadonlySetLike) => Set +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ +>numberSet : Set +> : ^^^^^^^^^^^ +>union : (other: ReadonlySetLike) => Set +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ +>new Set : Set +> : ^^^^^^^^^^^^ +>Set : SetConstructor +> : ^^^^^^^^^^^^^^ + +numberSet.union(stringSet); +>numberSet.union(stringSet) : Set +> : ^^^^^^^^^^^^^^^^^^^^ +>numberSet.union : (other: ReadonlySetLike) => Set +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ +>numberSet : Set +> : ^^^^^^^^^^^ +>union : (other: ReadonlySetLike) => Set +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ +>stringSet : Set +> : ^^^^^^^^^^^ + +numberSet.union(numberMap); +>numberSet.union(numberMap) : Set +> : ^^^^^^^^^^^ +>numberSet.union : (other: ReadonlySetLike) => Set +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ +>numberSet : Set +> : ^^^^^^^^^^^ +>union : (other: ReadonlySetLike) => Set +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ +>numberMap : Map +> : ^^^^^^^^^^^^^^^ + +numberSet.union(numberSetLike); +>numberSet.union(numberSetLike) : Set +> : ^^^^^^^^ +>numberSet.union : (other: ReadonlySetLike) => Set +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ +>numberSet : Set +> : ^^^^^^^^^^^ +>union : (other: ReadonlySetLike) => Set +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ +>numberSetLike : { size: number; keys(): Generator; has(x: any): boolean; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ + +numberSet.intersection([]); +>numberSet.intersection([]) : Set +> : ^^^^^^^^^^^ +>numberSet.intersection : (other: ReadonlySetLike) => Set +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ +>numberSet : Set +> : ^^^^^^^^^^^ +>intersection : (other: ReadonlySetLike) => Set +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ +>[] : undefined[] +> : ^^^^^^^^^^^ + +numberSet.intersection(new Set); +>numberSet.intersection(new Set) : Set +> : ^^^^^^^^^^^ +>numberSet.intersection : (other: ReadonlySetLike) => Set +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ +>numberSet : Set +> : ^^^^^^^^^^^ +>intersection : (other: ReadonlySetLike) => Set +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ +>new Set : Set +> : ^^^^^^^^^^^^ +>Set : SetConstructor +> : ^^^^^^^^^^^^^^ + +numberSet.intersection(stringSet); +>numberSet.intersection(stringSet) : Set +> : ^^^^^^^^^^ +>numberSet.intersection : (other: ReadonlySetLike) => Set +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ +>numberSet : Set +> : ^^^^^^^^^^^ +>intersection : (other: ReadonlySetLike) => Set +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ +>stringSet : Set +> : ^^^^^^^^^^^ + +numberSet.intersection(numberMap); +>numberSet.intersection(numberMap) : Set +> : ^^^^^^^^^^^ +>numberSet.intersection : (other: ReadonlySetLike) => Set +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ +>numberSet : Set +> : ^^^^^^^^^^^ +>intersection : (other: ReadonlySetLike) => Set +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ +>numberMap : Map +> : ^^^^^^^^^^^^^^^ + +numberSet.intersection(numberSetLike); +>numberSet.intersection(numberSetLike) : Set +> : ^^^^^^^^ +>numberSet.intersection : (other: ReadonlySetLike) => Set +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ +>numberSet : Set +> : ^^^^^^^^^^^ +>intersection : (other: ReadonlySetLike) => Set +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ +>numberSetLike : { size: number; keys(): Generator; has(x: any): boolean; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ + +numberSet.difference([]); +>numberSet.difference([]) : Set +> : ^^^^^^^^^^^ +>numberSet.difference : (other: ReadonlySetLike) => Set +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ +>numberSet : Set +> : ^^^^^^^^^^^ +>difference : (other: ReadonlySetLike) => Set +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ +>[] : undefined[] +> : ^^^^^^^^^^^ + +numberSet.difference(new Set); +>numberSet.difference(new Set) : Set +> : ^^^^^^^^^^^ +>numberSet.difference : (other: ReadonlySetLike) => Set +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ +>numberSet : Set +> : ^^^^^^^^^^^ +>difference : (other: ReadonlySetLike) => Set +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ +>new Set : Set +> : ^^^^^^^^^^^^ +>Set : SetConstructor +> : ^^^^^^^^^^^^^^ + +numberSet.difference(stringSet); +>numberSet.difference(stringSet) : Set +> : ^^^^^^^^^^^ +>numberSet.difference : (other: ReadonlySetLike) => Set +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ +>numberSet : Set +> : ^^^^^^^^^^^ +>difference : (other: ReadonlySetLike) => Set +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ +>stringSet : Set +> : ^^^^^^^^^^^ + +numberSet.difference(numberMap); +>numberSet.difference(numberMap) : Set +> : ^^^^^^^^^^^ +>numberSet.difference : (other: ReadonlySetLike) => Set +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ +>numberSet : Set +> : ^^^^^^^^^^^ +>difference : (other: ReadonlySetLike) => Set +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ +>numberMap : Map +> : ^^^^^^^^^^^^^^^ + +numberSet.difference(numberSetLike); +>numberSet.difference(numberSetLike) : Set +> : ^^^^^^^^^^^ +>numberSet.difference : (other: ReadonlySetLike) => Set +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ +>numberSet : Set +> : ^^^^^^^^^^^ +>difference : (other: ReadonlySetLike) => Set +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ +>numberSetLike : { size: number; keys(): Generator; has(x: any): boolean; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ + +numberSet.symmetricDifference([]); +>numberSet.symmetricDifference([]) : Set +> : ^^^^^^^^^^^^ +>numberSet.symmetricDifference : (other: ReadonlySetLike) => Set +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ +>numberSet : Set +> : ^^^^^^^^^^^ +>symmetricDifference : (other: ReadonlySetLike) => Set +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ +>[] : undefined[] +> : ^^^^^^^^^^^ + +numberSet.symmetricDifference(new Set); +>numberSet.symmetricDifference(new Set) : Set +> : ^^^^^^^^^^^^ +>numberSet.symmetricDifference : (other: ReadonlySetLike) => Set +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ +>numberSet : Set +> : ^^^^^^^^^^^ +>symmetricDifference : (other: ReadonlySetLike) => Set +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ +>new Set : Set +> : ^^^^^^^^^^^^ +>Set : SetConstructor +> : ^^^^^^^^^^^^^^ + +numberSet.symmetricDifference(stringSet); +>numberSet.symmetricDifference(stringSet) : Set +> : ^^^^^^^^^^^^^^^^^^^^ +>numberSet.symmetricDifference : (other: ReadonlySetLike) => Set +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ +>numberSet : Set +> : ^^^^^^^^^^^ +>symmetricDifference : (other: ReadonlySetLike) => Set +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ +>stringSet : Set +> : ^^^^^^^^^^^ + +numberSet.symmetricDifference(numberMap); +>numberSet.symmetricDifference(numberMap) : Set +> : ^^^^^^^^^^^ +>numberSet.symmetricDifference : (other: ReadonlySetLike) => Set +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ +>numberSet : Set +> : ^^^^^^^^^^^ +>symmetricDifference : (other: ReadonlySetLike) => Set +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ +>numberMap : Map +> : ^^^^^^^^^^^^^^^ + +numberSet.symmetricDifference(numberSetLike); +>numberSet.symmetricDifference(numberSetLike) : Set +> : ^^^^^^^^ +>numberSet.symmetricDifference : (other: ReadonlySetLike) => Set +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ +>numberSet : Set +> : ^^^^^^^^^^^ +>symmetricDifference : (other: ReadonlySetLike) => Set +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^ +>numberSetLike : { size: number; keys(): Generator; has(x: any): boolean; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ + +numberSet.isSubsetOf([]); +>numberSet.isSubsetOf([]) : boolean +> : ^^^^^^^ +>numberSet.isSubsetOf : (other: ReadonlySetLike) => boolean +> : ^ ^^ ^^^^^ +>numberSet : Set +> : ^^^^^^^^^^^ +>isSubsetOf : (other: ReadonlySetLike) => boolean +> : ^ ^^ ^^^^^ +>[] : undefined[] +> : ^^^^^^^^^^^ + +numberSet.isSubsetOf(new Set); +>numberSet.isSubsetOf(new Set) : boolean +> : ^^^^^^^ +>numberSet.isSubsetOf : (other: ReadonlySetLike) => boolean +> : ^ ^^ ^^^^^ +>numberSet : Set +> : ^^^^^^^^^^^ +>isSubsetOf : (other: ReadonlySetLike) => boolean +> : ^ ^^ ^^^^^ +>new Set : Set +> : ^^^^^^^^^^^^ +>Set : SetConstructor +> : ^^^^^^^^^^^^^^ + +numberSet.isSubsetOf(stringSet); +>numberSet.isSubsetOf(stringSet) : boolean +> : ^^^^^^^ +>numberSet.isSubsetOf : (other: ReadonlySetLike) => boolean +> : ^ ^^ ^^^^^ +>numberSet : Set +> : ^^^^^^^^^^^ +>isSubsetOf : (other: ReadonlySetLike) => boolean +> : ^ ^^ ^^^^^ +>stringSet : Set +> : ^^^^^^^^^^^ + +numberSet.isSubsetOf(numberMap); +>numberSet.isSubsetOf(numberMap) : boolean +> : ^^^^^^^ +>numberSet.isSubsetOf : (other: ReadonlySetLike) => boolean +> : ^ ^^ ^^^^^ +>numberSet : Set +> : ^^^^^^^^^^^ +>isSubsetOf : (other: ReadonlySetLike) => boolean +> : ^ ^^ ^^^^^ +>numberMap : Map +> : ^^^^^^^^^^^^^^^ + +numberSet.isSubsetOf(numberSetLike); +>numberSet.isSubsetOf(numberSetLike) : boolean +> : ^^^^^^^ +>numberSet.isSubsetOf : (other: ReadonlySetLike) => boolean +> : ^ ^^ ^^^^^ +>numberSet : Set +> : ^^^^^^^^^^^ +>isSubsetOf : (other: ReadonlySetLike) => boolean +> : ^ ^^ ^^^^^ +>numberSetLike : { size: number; keys(): Generator; has(x: any): boolean; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ + +numberSet.isSupersetOf([]); +>numberSet.isSupersetOf([]) : boolean +> : ^^^^^^^ +>numberSet.isSupersetOf : (other: ReadonlySetLike) => boolean +> : ^ ^^ ^^^^^ +>numberSet : Set +> : ^^^^^^^^^^^ +>isSupersetOf : (other: ReadonlySetLike) => boolean +> : ^ ^^ ^^^^^ +>[] : undefined[] +> : ^^^^^^^^^^^ + +numberSet.isSupersetOf(new Set); +>numberSet.isSupersetOf(new Set) : boolean +> : ^^^^^^^ +>numberSet.isSupersetOf : (other: ReadonlySetLike) => boolean +> : ^ ^^ ^^^^^ +>numberSet : Set +> : ^^^^^^^^^^^ +>isSupersetOf : (other: ReadonlySetLike) => boolean +> : ^ ^^ ^^^^^ +>new Set : Set +> : ^^^^^^^^^^^^ +>Set : SetConstructor +> : ^^^^^^^^^^^^^^ + +numberSet.isSupersetOf(stringSet); +>numberSet.isSupersetOf(stringSet) : boolean +> : ^^^^^^^ +>numberSet.isSupersetOf : (other: ReadonlySetLike) => boolean +> : ^ ^^ ^^^^^ +>numberSet : Set +> : ^^^^^^^^^^^ +>isSupersetOf : (other: ReadonlySetLike) => boolean +> : ^ ^^ ^^^^^ +>stringSet : Set +> : ^^^^^^^^^^^ + +numberSet.isSupersetOf(numberMap); +>numberSet.isSupersetOf(numberMap) : boolean +> : ^^^^^^^ +>numberSet.isSupersetOf : (other: ReadonlySetLike) => boolean +> : ^ ^^ ^^^^^ +>numberSet : Set +> : ^^^^^^^^^^^ +>isSupersetOf : (other: ReadonlySetLike) => boolean +> : ^ ^^ ^^^^^ +>numberMap : Map +> : ^^^^^^^^^^^^^^^ + +numberSet.isSupersetOf(numberSetLike); +>numberSet.isSupersetOf(numberSetLike) : boolean +> : ^^^^^^^ +>numberSet.isSupersetOf : (other: ReadonlySetLike) => boolean +> : ^ ^^ ^^^^^ +>numberSet : Set +> : ^^^^^^^^^^^ +>isSupersetOf : (other: ReadonlySetLike) => boolean +> : ^ ^^ ^^^^^ +>numberSetLike : { size: number; keys(): Generator; has(x: any): boolean; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ + +numberSet.isDisjointFrom([]); +>numberSet.isDisjointFrom([]) : boolean +> : ^^^^^^^ +>numberSet.isDisjointFrom : (other: ReadonlySetLike) => boolean +> : ^ ^^ ^^^^^ +>numberSet : Set +> : ^^^^^^^^^^^ +>isDisjointFrom : (other: ReadonlySetLike) => boolean +> : ^ ^^ ^^^^^ +>[] : undefined[] +> : ^^^^^^^^^^^ + +numberSet.isDisjointFrom(new Set); +>numberSet.isDisjointFrom(new Set) : boolean +> : ^^^^^^^ +>numberSet.isDisjointFrom : (other: ReadonlySetLike) => boolean +> : ^ ^^ ^^^^^ +>numberSet : Set +> : ^^^^^^^^^^^ +>isDisjointFrom : (other: ReadonlySetLike) => boolean +> : ^ ^^ ^^^^^ +>new Set : Set +> : ^^^^^^^^^^^^ +>Set : SetConstructor +> : ^^^^^^^^^^^^^^ + +numberSet.isDisjointFrom(stringSet); +>numberSet.isDisjointFrom(stringSet) : boolean +> : ^^^^^^^ +>numberSet.isDisjointFrom : (other: ReadonlySetLike) => boolean +> : ^ ^^ ^^^^^ +>numberSet : Set +> : ^^^^^^^^^^^ +>isDisjointFrom : (other: ReadonlySetLike) => boolean +> : ^ ^^ ^^^^^ +>stringSet : Set +> : ^^^^^^^^^^^ + +numberSet.isDisjointFrom(numberMap); +>numberSet.isDisjointFrom(numberMap) : boolean +> : ^^^^^^^ +>numberSet.isDisjointFrom : (other: ReadonlySetLike) => boolean +> : ^ ^^ ^^^^^ +>numberSet : Set +> : ^^^^^^^^^^^ +>isDisjointFrom : (other: ReadonlySetLike) => boolean +> : ^ ^^ ^^^^^ +>numberMap : Map +> : ^^^^^^^^^^^^^^^ + +numberSet.isDisjointFrom(numberSetLike); +>numberSet.isDisjointFrom(numberSetLike) : boolean +> : ^^^^^^^ +>numberSet.isDisjointFrom : (other: ReadonlySetLike) => boolean +> : ^ ^^ ^^^^^ +>numberSet : Set +> : ^^^^^^^^^^^ +>isDisjointFrom : (other: ReadonlySetLike) => boolean +> : ^ ^^ ^^^^^ +>numberSetLike : { size: number; keys(): Generator; has(x: any): boolean; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ + diff --git a/tests/baselines/reference/setterBeforeGetter.types b/tests/baselines/reference/setterBeforeGetter.types index f4a9770688342..661c8a9e2f303 100644 --- a/tests/baselines/reference/setterBeforeGetter.types +++ b/tests/baselines/reference/setterBeforeGetter.types @@ -14,7 +14,7 @@ class Foo { // should not be an error to order them this way set bar(thing: { a: string; }) { >bar : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >thing : { a: string; } > : ^^^^^ ^^^ >a : string @@ -22,15 +22,15 @@ class Foo { this._bar = thing; >this._bar = thing : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >this._bar : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >this : this > : ^^^^ >_bar : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >thing : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ } get bar(): { a: string; } { >bar : { a: string; } @@ -40,11 +40,11 @@ class Foo { return this._bar; >this._bar : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >this : this > : ^^^^ >_bar : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ } } diff --git a/tests/baselines/reference/shebangBeforeReferences.types b/tests/baselines/reference/shebangBeforeReferences.types index a08e35fecd8e9..daec61a0ca3b9 100644 --- a/tests/baselines/reference/shebangBeforeReferences.types +++ b/tests/baselines/reference/shebangBeforeReferences.types @@ -19,7 +19,7 @@ use(x); >use(x) : void > : ^^^^ >use : (f: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : number > : ^^^^^^ diff --git a/tests/baselines/reference/shorthandPropertyAssignmentInES6Module.types b/tests/baselines/reference/shorthandPropertyAssignmentInES6Module.types index f390598588b39..01c59128c7a2e 100644 --- a/tests/baselines/reference/shorthandPropertyAssignmentInES6Module.types +++ b/tests/baselines/reference/shorthandPropertyAssignmentInES6Module.types @@ -36,7 +36,7 @@ use(x); >use(x) : void > : ^^^^ >use : (a: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : number > : ^^^^^^ @@ -44,7 +44,7 @@ use(foo); >use(foo) : void > : ^^^^ >use : (a: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo : any > : ^^^ diff --git a/tests/baselines/reference/shorthandPropertyAssignmentsInDestructuring.types b/tests/baselines/reference/shorthandPropertyAssignmentsInDestructuring.types index 131dec85ede89..dfaaa2fe5c235 100644 --- a/tests/baselines/reference/shorthandPropertyAssignmentsInDestructuring.types +++ b/tests/baselines/reference/shorthandPropertyAssignmentsInDestructuring.types @@ -432,17 +432,17 @@ ({ y2 = 5, y3 = { x: 1 } } = {}) >({ y2 = 5, y3 = { x: 1 } } = {}) : { y2?: string; y3?: { x: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >{ y2 = 5, y3 = { x: 1 } } = {} : { y2?: string; y3?: { x: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >{ y2 = 5, y3 = { x: 1 } } : { y2?: string; y3?: { x: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >y2 : string > : ^^^^^^ >5 : 5 > : ^ >y3 : { x: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ x: 1 } : { x: number; } > : ^^^^^^^^^^^^^^ >x : number @@ -450,7 +450,7 @@ >1 : 1 > : ^ >{} : { y2?: string; y3?: { x: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ }); @@ -488,7 +488,7 @@ >y3 = { x: 1 } : { x: number; } > : ^^^^^^^^^^^^^^ >y3 : { x: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ x: 1 } : { x: number; } > : ^^^^^^^^^^^^^^ >x : number @@ -516,17 +516,17 @@ ({ y4 = 5, y5 = { x: 1 } } = {}) >({ y4 = 5, y5 = { x: 1 } } = {}) : { y4?: number; y5?: { x: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >{ y4 = 5, y5 = { x: 1 } } = {} : { y4?: number; y5?: { x: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >{ y4 = 5, y5 = { x: 1 } } : { y4?: number; y5?: { x: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >y4 : number > : ^^^^^^ >5 : 5 > : ^ >y5 : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ x: 1 } : { x: number; } > : ^^^^^^^^^^^^^^ >x : number @@ -534,7 +534,7 @@ >1 : 1 > : ^ >{} : { y4?: number; y5?: { x: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ }); @@ -572,7 +572,7 @@ >y5 = { x: 1 } : { x: number; } > : ^^^^^^^^^^^^^^ >y5 : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ x: 1 } : { x: number; } > : ^^^^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/shorthandPropertyAssignmentsInDestructuring_ES6.types b/tests/baselines/reference/shorthandPropertyAssignmentsInDestructuring_ES6.types index cc54ceeaaf3c8..b713ddd3e4de1 100644 --- a/tests/baselines/reference/shorthandPropertyAssignmentsInDestructuring_ES6.types +++ b/tests/baselines/reference/shorthandPropertyAssignmentsInDestructuring_ES6.types @@ -432,17 +432,17 @@ ({ y2 = 5, y3 = { x: 1 } } = {}) >({ y2 = 5, y3 = { x: 1 } } = {}) : { y2?: string; y3?: { x: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >{ y2 = 5, y3 = { x: 1 } } = {} : { y2?: string; y3?: { x: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >{ y2 = 5, y3 = { x: 1 } } : { y2?: string; y3?: { x: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >y2 : string > : ^^^^^^ >5 : 5 > : ^ >y3 : { x: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ x: 1 } : { x: number; } > : ^^^^^^^^^^^^^^ >x : number @@ -450,7 +450,7 @@ >1 : 1 > : ^ >{} : { y2?: string; y3?: { x: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ }); @@ -488,7 +488,7 @@ >y3 = { x: 1 } : { x: number; } > : ^^^^^^^^^^^^^^ >y3 : { x: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ x: 1 } : { x: number; } > : ^^^^^^^^^^^^^^ >x : number @@ -516,17 +516,17 @@ ({ y4 = 5, y5 = { x: 1 } } = {}) >({ y4 = 5, y5 = { x: 1 } } = {}) : { y4?: number; y5?: { x: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >{ y4 = 5, y5 = { x: 1 } } = {} : { y4?: number; y5?: { x: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >{ y4 = 5, y5 = { x: 1 } } : { y4?: number; y5?: { x: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >y4 : number > : ^^^^^^ >5 : 5 > : ^ >y5 : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ x: 1 } : { x: number; } > : ^^^^^^^^^^^^^^ >x : number @@ -534,7 +534,7 @@ >1 : 1 > : ^ >{} : { y4?: number; y5?: { x: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ }); @@ -572,7 +572,7 @@ >y5 = { x: 1 } : { x: number; } > : ^^^^^^^^^^^^^^ >y5 : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ x: 1 } : { x: number; } > : ^^^^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/signatureInstantiationWithRecursiveConstraints.types b/tests/baselines/reference/signatureInstantiationWithRecursiveConstraints.types index 982b6eec22685..f7998a56ea6a8 100644 --- a/tests/baselines/reference/signatureInstantiationWithRecursiveConstraints.types +++ b/tests/baselines/reference/signatureInstantiationWithRecursiveConstraints.types @@ -9,7 +9,7 @@ class Foo { myFunc(arg: T) {} >myFunc : (arg: T) => void -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >arg : T > : ^ } @@ -20,7 +20,7 @@ class Bar { myFunc(arg: T) {} >myFunc : (arg: T) => void -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >arg : T > : ^ } diff --git a/tests/baselines/reference/signatureLengthMismatchInOverload.types b/tests/baselines/reference/signatureLengthMismatchInOverload.types index d73e8082f8bf0..996bdc883d34f 100644 --- a/tests/baselines/reference/signatureLengthMismatchInOverload.types +++ b/tests/baselines/reference/signatureLengthMismatchInOverload.types @@ -3,7 +3,7 @@ === signatureLengthMismatchInOverload.ts === function f(callback: (arg: string, arg2: string) => void): void; >f : { (callback: (arg: string, arg2: string) => void): void; (callback: (arg: number) => void): void; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >callback : (arg: string, arg2: string) => void > : ^ ^^ ^^ ^^ ^^^^^ >arg : string @@ -13,7 +13,7 @@ function f(callback: (arg: string, arg2: string) => void): void; function f(callback: (arg: number) => void): void; >f : { (callback: (arg: string, arg2: string) => void): void; (callback: (arg: number) => void): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >callback : (arg: number) => void > : ^ ^^ ^^^^^ >arg : number @@ -21,7 +21,7 @@ function f(callback: (arg: number) => void): void; function f(callback: unknown) { } >f : { (callback: (arg: string, arg2: string) => void): void; (callback: (arg: number) => void): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >callback : unknown > : ^^^^^^^ @@ -29,7 +29,7 @@ f((arg: number, arg2: number) => {}); >f((arg: number, arg2: number) => {}) : void > : ^^^^ >f : { (callback: (arg: string, arg2: string) => void): void; (callback: (arg: number) => void): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >(arg: number, arg2: number) => {} : (arg: number, arg2: number) => void > : ^ ^^ ^^ ^^ ^^^^^^^^^ >arg : number diff --git a/tests/baselines/reference/signaturesUseJSDocForOptionalParameters.types b/tests/baselines/reference/signaturesUseJSDocForOptionalParameters.types index f89fac822860b..1058363a7df61 100644 --- a/tests/baselines/reference/signaturesUseJSDocForOptionalParameters.types +++ b/tests/baselines/reference/signaturesUseJSDocForOptionalParameters.types @@ -32,7 +32,7 @@ MyClass.prototype.optionalParam = function(required, notRequired) { >optionalParam : any > : ^^^ >function(required, notRequired) { return this;} : (required: string, notRequired?: string) => MyClass -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >required : string > : ^^^^^^ >notRequired : string @@ -57,11 +57,11 @@ let c1 = pInst.optionalParam('hello') >pInst.optionalParam('hello') : MyClass > : ^^^^^^^ >pInst.optionalParam : (required: string, notRequired?: string) => MyClass -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >pInst : MyClass > : ^^^^^^^ >optionalParam : (required: string, notRequired?: string) => MyClass -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >'hello' : "hello" > : ^^^^^^^ @@ -71,11 +71,11 @@ let c2 = pInst.optionalParam('hello', null) >pInst.optionalParam('hello', null) : MyClass > : ^^^^^^^ >pInst.optionalParam : (required: string, notRequired?: string) => MyClass -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >pInst : MyClass > : ^^^^^^^ >optionalParam : (required: string, notRequired?: string) => MyClass -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >'hello' : "hello" > : ^^^^^^^ diff --git a/tests/baselines/reference/silentNeverPropagation.types b/tests/baselines/reference/silentNeverPropagation.types index 9115062f7b713..933843c9f53ec 100644 --- a/tests/baselines/reference/silentNeverPropagation.types +++ b/tests/baselines/reference/silentNeverPropagation.types @@ -53,13 +53,13 @@ const breaks = convert( >convert( createModule({ a: 12 }, { foo() { return true } })) : ModuleWithState<{ a: number; } & MoreState> & ModuleWithState<{ a: number; }> & { foo(): true; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >convert : (m: ModuleWithState & TActions) => ModuleWithState & TActions -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ createModule({ a: 12 }, { foo() { return true } }) >createModule({ a: 12 }, { foo() { return true } }) : ModuleWithState<{ a: number; }> & { foo(): true; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >createModule : (state: TState, actions: TActions) => ModuleWithState & TActions -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{ a: 12 } : { a: number; } > : ^^^^^^^^^^^^^^ >a : number diff --git a/tests/baselines/reference/simpleArrowFunctionParameterReferencedInObjectLiteral1.types b/tests/baselines/reference/simpleArrowFunctionParameterReferencedInObjectLiteral1.types index 717e4facfbc67..d0e9771199482 100644 --- a/tests/baselines/reference/simpleArrowFunctionParameterReferencedInObjectLiteral1.types +++ b/tests/baselines/reference/simpleArrowFunctionParameterReferencedInObjectLiteral1.types @@ -5,21 +5,21 @@ >[].map(() => [].map(p => ({ X: p }))) : { X: any; }[][] > : ^^^^^^^^^^^^^^^ >[].map : (callbackfn: (value: any, index: number, array: any[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >[] : undefined[] > : ^^^^^^^^^^^ >map : (callbackfn: (value: any, index: number, array: any[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >() => [].map(p => ({ X: p })) : () => { X: any; }[] > : ^^^^^^^^^^^^^^^^^^^ >[].map(p => ({ X: p })) : { X: any; }[] > : ^^^^^^^^^^^^^ >[].map : (callbackfn: (value: any, index: number, array: any[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >[] : undefined[] > : ^^^^^^^^^^^ >map : (callbackfn: (value: any, index: number, array: any[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >p => ({ X: p }) : (p: any) => { X: any; } > : ^ ^^^^^^^^^^^^^^^^^^^^^ >p : any diff --git a/tests/baselines/reference/simpleRecursionWithBaseCase2.types b/tests/baselines/reference/simpleRecursionWithBaseCase2.types index 4379bc8dc0b8a..c8c43b74321be 100644 --- a/tests/baselines/reference/simpleRecursionWithBaseCase2.types +++ b/tests/baselines/reference/simpleRecursionWithBaseCase2.types @@ -11,11 +11,11 @@ async function rec1() { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ @@ -42,11 +42,11 @@ async function rec2() { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ @@ -99,11 +99,11 @@ async function rec5() { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ @@ -134,11 +134,11 @@ async function rec6() { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ @@ -175,11 +175,11 @@ async function foo1() { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ @@ -208,11 +208,11 @@ async function foo2() { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ diff --git a/tests/baselines/reference/simpleRecursionWithBaseCase3.types b/tests/baselines/reference/simpleRecursionWithBaseCase3.types index 5c07e1b0859c0..1be00dc5494eb 100644 --- a/tests/baselines/reference/simpleRecursionWithBaseCase3.types +++ b/tests/baselines/reference/simpleRecursionWithBaseCase3.types @@ -13,11 +13,11 @@ const fn1 = () => { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ diff --git a/tests/baselines/reference/simplifyingConditionalWithInteriorConditionalIsRelated.types b/tests/baselines/reference/simplifyingConditionalWithInteriorConditionalIsRelated.types index ba1f501adcc04..55455ad37ec30 100644 --- a/tests/baselines/reference/simplifyingConditionalWithInteriorConditionalIsRelated.types +++ b/tests/baselines/reference/simplifyingConditionalWithInteriorConditionalIsRelated.types @@ -26,7 +26,7 @@ function JustConditional(): ConditionalType { >ConditionalOrUndefined() : ConditionalType | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >ConditionalOrUndefined : () => ConditionalType | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ } @@ -51,7 +51,7 @@ function JustGeneric(): T { >genericOrUndefined() : T | undefined > : ^^^^^^^^^^^^^ >genericOrUndefined : () => T_1 | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ } // Simplified example: diff --git a/tests/baselines/reference/sliceResultCast.types b/tests/baselines/reference/sliceResultCast.types index 20df45adcf6b9..95a357be636bc 100644 --- a/tests/baselines/reference/sliceResultCast.types +++ b/tests/baselines/reference/sliceResultCast.types @@ -11,11 +11,11 @@ x.slice(1) as readonly string[]; >x.slice(1) : (string | number)[] > : ^^^^^^^^^^^^^^^^^^^ >x.slice : ((start?: number, end?: number) => (string | number)[]) | ((start?: number, end?: number) => (string | number)[]) -> : ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^ >x : [number, string] | [number, string, string] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >slice : ((start?: number, end?: number) => (string | number)[]) | ((start?: number, end?: number) => (string | number)[]) -> : ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/slightlyIndirectedDeepObjectLiteralElaborations.types b/tests/baselines/reference/slightlyIndirectedDeepObjectLiteralElaborations.types index 423a18415680b..44a5c4ceb2ae9 100644 --- a/tests/baselines/reference/slightlyIndirectedDeepObjectLiteralElaborations.types +++ b/tests/baselines/reference/slightlyIndirectedDeepObjectLiteralElaborations.types @@ -24,7 +24,7 @@ interface Foo { let q: Foo["a"] | undefined; >q : { b: { c: { d: string; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ const x: Foo = (void 0, { >x : Foo @@ -46,7 +46,7 @@ const x: Foo = (void 0, { >q = { b: ({ c: { d: 42 } }) } : { b: { c: { d: number; }; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >q : { b: { c: { d: string; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ b: ({ c: { d: 42 } }) } : { b: { c: { d: number; }; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/sourceFileMergeWithFunction.types b/tests/baselines/reference/sourceFileMergeWithFunction.types index 274cfec4e8b9d..f6cc9011e2055 100644 --- a/tests/baselines/reference/sourceFileMergeWithFunction.types +++ b/tests/baselines/reference/sourceFileMergeWithFunction.types @@ -14,7 +14,7 @@ declare function foo(props: any): any; export default foo; >foo : (props: any) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ export as namespace foo; >foo : typeof import("types") diff --git a/tests/baselines/reference/sourceMap-FileWithComments.types b/tests/baselines/reference/sourceMap-FileWithComments.types index c4854e08749db..3ee2579e00eee 100644 --- a/tests/baselines/reference/sourceMap-FileWithComments.types +++ b/tests/baselines/reference/sourceMap-FileWithComments.types @@ -32,11 +32,11 @@ module Shapes { >Math.sqrt(this.x * this.x + this.y * this.y) : number > : ^^^^^^ >Math.sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this.x * this.x + this.y * this.y : number > : ^^^^^^ >this.x * this.x : number @@ -127,9 +127,9 @@ var dist = p.getDist(); >p.getDist() : number > : ^^^^^^ >p.getDist : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >p : IPoint > : ^^^^^^ >getDist : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/sourceMapSample.types b/tests/baselines/reference/sourceMapSample.types index 5a09c4739c820..18833168898e4 100644 --- a/tests/baselines/reference/sourceMapSample.types +++ b/tests/baselines/reference/sourceMapSample.types @@ -45,7 +45,7 @@ module Foo.Bar { function foo(greeting: string): Foo.Bar.Greeter { >foo : (greeting: string) => Foo.Bar.Greeter -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >greeting : string > : ^^^^^^ >Foo : any @@ -138,11 +138,11 @@ module Foo.Bar { >greeters.push(new Greeter(restGreetings[i])) : number > : ^^^^^^ >greeters.push : (...items: Greeter[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^ >greeters : Greeter[] > : ^^^^^^^^^ >push : (...items: Greeter[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^ >new Greeter(restGreetings[i]) : Greeter > : ^^^^^^^ >Greeter : typeof Greeter diff --git a/tests/baselines/reference/sourceMapValidationClasses.types b/tests/baselines/reference/sourceMapValidationClasses.types index 9df99fe7840e2..15c3c6d1dac57 100644 --- a/tests/baselines/reference/sourceMapValidationClasses.types +++ b/tests/baselines/reference/sourceMapValidationClasses.types @@ -134,11 +134,11 @@ module Foo.Bar { >greeters.push(new Greeter(restGreetings[i])) : number > : ^^^^^^ >greeters.push : (...items: Greeter[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^ >greeters : Greeter[] > : ^^^^^^^^^ >push : (...items: Greeter[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^ >new Greeter(restGreetings[i]) : Greeter > : ^^^^^^^ >Greeter : typeof Greeter diff --git a/tests/baselines/reference/sourceMapValidationDecorators.types b/tests/baselines/reference/sourceMapValidationDecorators.types index 5070f5d1660fd..9d156eec61d5d 100644 --- a/tests/baselines/reference/sourceMapValidationDecorators.types +++ b/tests/baselines/reference/sourceMapValidationDecorators.types @@ -61,13 +61,13 @@ declare function ParameterDecorator2(x: number): (target: Object, key: string | @ClassDecorator1 >ClassDecorator1 : (target: Function) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ @ClassDecorator2(10) >ClassDecorator2(10) : (target: Function) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >ClassDecorator2 : (x: number) => (target: Function) => void -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >10 : 10 > : ^^ @@ -78,13 +78,13 @@ class Greeter { constructor( @ParameterDecorator1 >ParameterDecorator1 : (target: Object, key: string | symbol, paramIndex: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ @ParameterDecorator2(20) >ParameterDecorator2(20) : (target: Object, key: string | symbol, paramIndex: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ParameterDecorator2 : (x: number) => (target: Object, key: string | symbol, paramIndex: number) => void -> : ^ ^^ ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >20 : 20 > : ^^ @@ -94,13 +94,13 @@ class Greeter { @ParameterDecorator1 >ParameterDecorator1 : (target: Object, key: string | symbol, paramIndex: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ @ParameterDecorator2(30) >ParameterDecorator2(30) : (target: Object, key: string | symbol, paramIndex: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ParameterDecorator2 : (x: number) => (target: Object, key: string | symbol, paramIndex: number) => void -> : ^ ^^ ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >30 : 30 > : ^^ @@ -111,13 +111,13 @@ class Greeter { @PropertyDecorator1 >PropertyDecorator1 : (target: Object, key: string | symbol, descriptor?: PropertyDescriptor) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ @PropertyDecorator2(40) >PropertyDecorator2(40) : (target: Object, key: string | symbol, descriptor?: PropertyDescriptor) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >PropertyDecorator2 : (x: number) => (target: Object, key: string | symbol, descriptor?: PropertyDescriptor) => void -> : ^ ^^ ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >40 : 40 > : ^^ @@ -144,13 +144,13 @@ class Greeter { @PropertyDecorator1 >PropertyDecorator1 : (target: Object, key: string | symbol, descriptor?: PropertyDescriptor) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ @PropertyDecorator2(50) >PropertyDecorator2(50) : (target: Object, key: string | symbol, descriptor?: PropertyDescriptor) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >PropertyDecorator2 : (x: number) => (target: Object, key: string | symbol, descriptor?: PropertyDescriptor) => void -> : ^ ^^ ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >50 : 50 > : ^^ @@ -160,13 +160,13 @@ class Greeter { @PropertyDecorator1 >PropertyDecorator1 : (target: Object, key: string | symbol, descriptor?: PropertyDescriptor) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ @PropertyDecorator2(60) >PropertyDecorator2(60) : (target: Object, key: string | symbol, descriptor?: PropertyDescriptor) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >PropertyDecorator2 : (x: number) => (target: Object, key: string | symbol, descriptor?: PropertyDescriptor) => void -> : ^ ^^ ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >60 : 60 > : ^^ @@ -182,13 +182,13 @@ class Greeter { @ParameterDecorator1 >ParameterDecorator1 : (target: Object, key: string | symbol, paramIndex: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ @ParameterDecorator2(70) >ParameterDecorator2(70) : (target: Object, key: string | symbol, paramIndex: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ParameterDecorator2 : (x: number) => (target: Object, key: string | symbol, paramIndex: number) => void -> : ^ ^^ ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >70 : 70 > : ^^ @@ -207,13 +207,13 @@ class Greeter { @PropertyDecorator1 >PropertyDecorator1 : (target: Object, key: string | symbol, descriptor?: PropertyDescriptor) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ @PropertyDecorator2(80) >PropertyDecorator2(80) : (target: Object, key: string | symbol, descriptor?: PropertyDescriptor) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >PropertyDecorator2 : (x: number) => (target: Object, key: string | symbol, descriptor?: PropertyDescriptor) => void -> : ^ ^^ ^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >80 : 80 > : ^^ @@ -236,13 +236,13 @@ class Greeter { @ParameterDecorator1 >ParameterDecorator1 : (target: Object, key: string | symbol, paramIndex: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ @ParameterDecorator2(90) >ParameterDecorator2(90) : (target: Object, key: string | symbol, paramIndex: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >ParameterDecorator2 : (x: number) => (target: Object, key: string | symbol, paramIndex: number) => void -> : ^ ^^ ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >90 : 90 > : ^^ diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern.types b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern.types index ca13e05402fb9..11a3aa5c22453 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern.types @@ -102,11 +102,11 @@ for (let [, nameA] = robotA, i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -138,11 +138,11 @@ for (let [, nameA] = getRobot(), i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -178,11 +178,11 @@ for (let [, nameA] = [2, "trimmer", "trimming"], i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -214,11 +214,11 @@ for (let [, [primarySkillA, secondarySkillA]] = multiRobotA, i = 0; i < 1; i++) >console.log(primarySkillA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primarySkillA : string > : ^^^^^^ } @@ -252,11 +252,11 @@ for (let [, [primarySkillA, secondarySkillA]] = getMultiRobot(), i = 0; i < 1; i >console.log(primarySkillA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primarySkillA : string > : ^^^^^^ } @@ -296,11 +296,11 @@ for (let [, [primarySkillA, secondarySkillA]] = ["trimmer", ["trimming", "edging >console.log(primarySkillA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primarySkillA : string > : ^^^^^^ } @@ -329,11 +329,11 @@ for (let [numberB] = robotA, i = 0; i < 1; i++) { >console.log(numberB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberB : number > : ^^^^^^ } @@ -363,11 +363,11 @@ for (let [numberB] = getRobot(), i = 0; i < 1; i++) { >console.log(numberB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberB : number > : ^^^^^^ } @@ -401,11 +401,11 @@ for (let [numberB] = [2, "trimmer", "trimming"], i = 0; i < 1; i++) { >console.log(numberB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberB : number > : ^^^^^^ } @@ -433,11 +433,11 @@ for (let [nameB] = multiRobotA, i = 0; i < 1; i++) { >console.log(nameB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameB : string > : ^^^^^^ } @@ -467,11 +467,11 @@ for (let [nameB] = getMultiRobot(), i = 0; i < 1; i++) { >console.log(nameB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameB : string > : ^^^^^^ } @@ -507,11 +507,11 @@ for (let [nameB] = ["trimmer", ["trimming", "edging"]], i = 0; i < 1; i++) { >console.log(nameB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameB : string > : ^^^^^^ } @@ -544,11 +544,11 @@ for (let [numberA2, nameA2, skillA2] = robotA, i = 0; i < 1; i++) { >console.log(nameA2) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA2 : string > : ^^^^^^ } @@ -582,11 +582,11 @@ for (let [numberA2, nameA2, skillA2] = getRobot(), i = 0; i < 1; i++) { >console.log(nameA2) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA2 : string > : ^^^^^^ } @@ -624,11 +624,11 @@ for (let [numberA2, nameA2, skillA2] = [2, "trimmer", "trimming"], i = 0; i < 1; >console.log(nameA2) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA2 : string > : ^^^^^^ } @@ -660,11 +660,11 @@ for (let [nameMA, [primarySkillA, secondarySkillA]] = multiRobotA, i = 0; i < 1; >console.log(nameMA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMA : string > : ^^^^^^ } @@ -698,11 +698,11 @@ for (let [nameMA, [primarySkillA, secondarySkillA]] = getMultiRobot(), i = 0; i >console.log(nameMA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMA : string > : ^^^^^^ } @@ -742,11 +742,11 @@ for (let [nameMA, [primarySkillA, secondarySkillA]] = ["trimmer", ["trimming", " >console.log(nameMA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMA : string > : ^^^^^^ } @@ -777,11 +777,11 @@ for (let [numberA3, ...robotAInfo] = robotA, i = 0; i < 1; i++) { >console.log(numberA3) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberA3 : number > : ^^^^^^ } @@ -813,11 +813,11 @@ for (let [numberA3, ...robotAInfo] = getRobot(), i = 0; i < 1; i++) { >console.log(numberA3) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberA3 : number > : ^^^^^^ } @@ -853,11 +853,11 @@ for (let [numberA3, ...robotAInfo] = [2, "trimmer", "trimming"], i = 0; i < 1; i >console.log(numberA3) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberA3 : number > : ^^^^^^ } @@ -885,11 +885,11 @@ for (let [...multiRobotAInfo] = multiRobotA, i = 0; i < 1; i++) { >console.log(multiRobotAInfo) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >multiRobotAInfo : [string, [string, string]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ } @@ -919,11 +919,11 @@ for (let [...multiRobotAInfo] = getMultiRobot(), i = 0; i < 1; i++) { >console.log(multiRobotAInfo) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >multiRobotAInfo : [string, [string, string]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ } @@ -959,11 +959,11 @@ for (let [...multiRobotAInfo] = ["trimmer", ["trimming", "edging"]], i = 0; i < >console.log(multiRobotAInfo) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >multiRobotAInfo : (string | string[])[] > : ^^^^^^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern2.types b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern2.types index d0ba32fe883f7..4e98942c92a10 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern2.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern2.types @@ -146,11 +146,11 @@ for ([, nameA] = robotA, i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -190,11 +190,11 @@ for ([, nameA] = getRobot(), i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -238,11 +238,11 @@ for ([, nameA] = [2, "trimmer", "trimming"], i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -284,11 +284,11 @@ for ([, [primarySkillA, secondarySkillA]] = multiRobotA, i = 0; i < 1; i++) { >console.log(primarySkillA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primarySkillA : string > : ^^^^^^ } @@ -332,11 +332,11 @@ for ([, [primarySkillA, secondarySkillA]] = getMultiRobot(), i = 0; i < 1; i++) >console.log(primarySkillA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primarySkillA : string > : ^^^^^^ } @@ -386,11 +386,11 @@ for ([, [primarySkillA, secondarySkillA]] = ["trimmer", ["trimming", "edging"]], >console.log(primarySkillA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primarySkillA : string > : ^^^^^^ } @@ -427,11 +427,11 @@ for ([numberB] = robotA, i = 0; i < 1; i++) { >console.log(numberB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberB : number > : ^^^^^^ } @@ -469,11 +469,11 @@ for ([numberB] = getRobot(), i = 0; i < 1; i++) { >console.log(numberB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberB : number > : ^^^^^^ } @@ -515,11 +515,11 @@ for ([numberB] = [2, "trimmer", "trimming"], i = 0; i < 1; i++) { >console.log(numberB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberB : number > : ^^^^^^ } @@ -555,11 +555,11 @@ for ([nameB] = multiRobotA, i = 0; i < 1; i++) { >console.log(nameB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameB : string > : ^^^^^^ } @@ -597,11 +597,11 @@ for ([nameB] = getMultiRobot(), i = 0; i < 1; i++) { >console.log(nameB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameB : string > : ^^^^^^ } @@ -645,11 +645,11 @@ for ([nameB] = ["trimmer", ["trimming", "edging"]], i = 0; i < 1; i++) { >console.log(nameB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameB : string > : ^^^^^^ } @@ -690,11 +690,11 @@ for ([numberA2, nameA2, skillA2] = robotA, i = 0; i < 1; i++) { >console.log(nameA2) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA2 : string > : ^^^^^^ } @@ -736,11 +736,11 @@ for ([numberA2, nameA2, skillA2] = getRobot(), i = 0; i < 1; i++) { >console.log(nameA2) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA2 : string > : ^^^^^^ } @@ -786,11 +786,11 @@ for ([numberA2, nameA2, skillA2] = [2, "trimmer", "trimming"], i = 0; i < 1; i++ >console.log(nameA2) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA2 : string > : ^^^^^^ } @@ -832,11 +832,11 @@ for ([nameMA, [primarySkillA, secondarySkillA]] = multiRobotA, i = 0; i < 1; i++ >console.log(nameMA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMA : string > : ^^^^^^ } @@ -880,11 +880,11 @@ for ([nameMA, [primarySkillA, secondarySkillA]] = getMultiRobot(), i = 0; i < 1; >console.log(nameMA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMA : string > : ^^^^^^ } @@ -934,11 +934,11 @@ for ([nameMA, [primarySkillA, secondarySkillA]] = ["trimmer", ["trimming", "edgi >console.log(nameMA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMA : string > : ^^^^^^ } @@ -979,11 +979,11 @@ for ([numberA3, ...robotAInfo] = robotA, i = 0; i < 1; i++) { >console.log(numberA3) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberA3 : number > : ^^^^^^ } @@ -1025,11 +1025,11 @@ for ([numberA3, ...robotAInfo] = getRobot(), i = 0; i < 1; i++) { >console.log(numberA3) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberA3 : number > : ^^^^^^ } @@ -1077,11 +1077,11 @@ for ([numberA3, ...robotAInfo] = [2, "trimmer", "trimming"], i = 0; i < 1 >console.log(numberA3) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberA3 : number > : ^^^^^^ } @@ -1119,11 +1119,11 @@ for ([...multiRobotAInfo] = multiRobotA, i = 0; i < 1; i++) { >console.log(multiRobotAInfo) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >multiRobotAInfo : (string | [string, string])[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } @@ -1163,11 +1163,11 @@ for ([...multiRobotAInfo] = getMultiRobot(), i = 0; i < 1; i++) { >console.log(multiRobotAInfo) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >multiRobotAInfo : (string | [string, string])[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } @@ -1215,11 +1215,11 @@ for ([...multiRobotAInfo] = ["trimmer", ["trimming", "edging" >console.log(multiRobotAInfo) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >multiRobotAInfo : (string | [string, string])[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.types b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.types index 50739ec5b230d..f20d3304689be 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.types @@ -104,11 +104,11 @@ for (let [, nameA ="name"] = robotA, i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -142,11 +142,11 @@ for (let [, nameA = "name"] = getRobot(), i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -184,11 +184,11 @@ for (let [, nameA = "name"] = [2, "trimmer", "trimming"], i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -236,11 +236,11 @@ for (let [, [ >console.log(primarySkillA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primarySkillA : string > : ^^^^^^ } @@ -290,11 +290,11 @@ for (let [, [ >console.log(primarySkillA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primarySkillA : string > : ^^^^^^ } @@ -350,11 +350,11 @@ for (let [, [ >console.log(primarySkillA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primarySkillA : string > : ^^^^^^ } @@ -387,11 +387,11 @@ for (let [numberB = -1] = robotA, i = 0; i < 1; i++) { >console.log(numberB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberB : number > : ^^^^^^ } @@ -425,11 +425,11 @@ for (let [numberB = -1] = getRobot(), i = 0; i < 1; i++) { >console.log(numberB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberB : number > : ^^^^^^ } @@ -467,11 +467,11 @@ for (let [numberB = -1] = [2, "trimmer", "trimming"], i = 0; i < 1; i++) { >console.log(numberB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberB : number > : ^^^^^^ } @@ -501,11 +501,11 @@ for (let [nameB = "name"] = multiRobotA, i = 0; i < 1; i++) { >console.log(nameB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameB : string > : ^^^^^^ } @@ -537,11 +537,11 @@ for (let [nameB = "name"] = getMultiRobot(), i = 0; i < 1; i++) { >console.log(nameB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameB : string > : ^^^^^^ } @@ -579,11 +579,11 @@ for (let [nameB = "name"] = ["trimmer", ["trimming", "edging"]], i = 0; i < 1; i >console.log(nameB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameB : string > : ^^^^^^ } @@ -624,11 +624,11 @@ for (let [numberA2 = -1, nameA2 = "name", skillA2 = "skill"] = robotA, i = 0; i >console.log(nameA2) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA2 : string > : ^^^^^^ } @@ -670,11 +670,11 @@ for (let [numberA2 = -1, nameA2 = "name", skillA2 = "skill"] = getRobot(), i = 0 >console.log(nameA2) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA2 : string > : ^^^^^^ } @@ -720,11 +720,11 @@ for (let [numberA2 = -1, nameA2 = "name", skillA2 = "skill"] = [2, "trimmer", "t >console.log(nameA2) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA2 : string > : ^^^^^^ } @@ -778,11 +778,11 @@ for (let >console.log(nameMA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMA : string > : ^^^^^^ } @@ -837,11 +837,11 @@ for (let [nameMA = "noName", >console.log(nameMA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMA : string > : ^^^^^^ } @@ -902,11 +902,11 @@ for (let [nameMA = "noName", >console.log(nameMA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMA : string > : ^^^^^^ } @@ -941,11 +941,11 @@ for (let [numberA3 = -1, ...robotAInfo] = robotA, i = 0; i < 1; i++) { >console.log(numberA3) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberA3 : number > : ^^^^^^ } @@ -981,11 +981,11 @@ for (let [numberA3 = -1, ...robotAInfo] = getRobot(), i = 0; i < 1; i++) { >console.log(numberA3) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberA3 : number > : ^^^^^^ } @@ -1025,11 +1025,11 @@ for (let [numberA3 = -1, ...robotAInfo] = [2, "trimmer", "trimming"], i = 0; i < >console.log(numberA3) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberA3 : number > : ^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2.types b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2.types index a3f3da34b6f30..e52ddba83cbc6 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2.types @@ -150,11 +150,11 @@ for ([, nameA = "name"] = robotA, i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -198,11 +198,11 @@ for ([, nameA = "name"] = getRobot(), i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -250,11 +250,11 @@ for ([, nameA = "name"] = [2, "trimmer", "trimming"], i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -318,11 +318,11 @@ for ([, [ >console.log(primarySkillA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primarySkillA : string > : ^^^^^^ } @@ -388,11 +388,11 @@ for ([, [ >console.log(primarySkillA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primarySkillA : string > : ^^^^^^ } @@ -464,11 +464,11 @@ for ([, [ >console.log(primarySkillA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primarySkillA : string > : ^^^^^^ } @@ -511,11 +511,11 @@ for ([numberB = -1] = robotA, i = 0; i < 1; i++) { >console.log(numberB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberB : number > : ^^^^^^ } @@ -559,11 +559,11 @@ for ([numberB = -1] = getRobot(), i = 0; i < 1; i++) { >console.log(numberB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberB : number > : ^^^^^^ } @@ -611,11 +611,11 @@ for ([numberB = -1] = [2, "trimmer", "trimming"], i = 0; i < 1; i++) { >console.log(numberB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberB : number > : ^^^^^^ } @@ -655,11 +655,11 @@ for ([nameB = "name"] = multiRobotA, i = 0; i < 1; i++) { >console.log(nameB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameB : string > : ^^^^^^ } @@ -701,11 +701,11 @@ for ([nameB = "name"] = getMultiRobot(), i = 0; i < 1; i++) { >console.log(nameB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameB : string > : ^^^^^^ } @@ -753,11 +753,11 @@ for ([nameB = "name"] = ["trimmer", ["trimming", "edging"]], i = 0; i < 1; i++) >console.log(nameB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameB : string > : ^^^^^^ } @@ -812,11 +812,11 @@ for ([numberA2 = -1, nameA2 = "name", skillA2 = "skill"] = robotA, i = 0; i < 1; >console.log(nameA2) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA2 : string > : ^^^^^^ } @@ -872,11 +872,11 @@ for ([numberA2 = -1, nameA2 = "name", skillA2 = "skill"] = getRobot(), i = 0; i >console.log(nameA2) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA2 : string > : ^^^^^^ } @@ -936,11 +936,11 @@ for ([numberA2 = -1, nameA2 = "name", skillA2 = "skill"] = [2, "trimmer", "trimm >console.log(nameA2) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA2 : string > : ^^^^^^ } @@ -994,11 +994,11 @@ for (let >console.log(nameMA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMA : string > : ^^^^^^ } @@ -1072,11 +1072,11 @@ for ([nameMA = "noName", >console.log(nameMA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMA : string > : ^^^^^^ } @@ -1156,11 +1156,11 @@ for ([nameMA = "noName", >console.log(nameMA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMA : string > : ^^^^^^ } @@ -1207,11 +1207,11 @@ for ([numberA3 = -1, ...robotAInfo] = robotA, i = 0; i < 1; i++) { >console.log(numberA3) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberA3 : number > : ^^^^^^ } @@ -1259,11 +1259,11 @@ for ([numberA3 = -1, ...robotAInfo] = getRobot(), i = 0; i < 1; i++) { >console.log(numberA3) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberA3 : number > : ^^^^^^ } @@ -1317,11 +1317,11 @@ for ([numberA3 = -1, ...robotAInfo] = [2, "trimmer", "trimming"], i = 0; >console.log(numberA3) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberA3 : number > : ^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPattern.types b/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPattern.types index 670ffbd90cad9..e84e013a836cf 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPattern.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPattern.types @@ -119,11 +119,11 @@ for (let {name: nameA } = robot, i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -155,11 +155,11 @@ for (let {name: nameA } = getRobot(), i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -199,11 +199,11 @@ for (let {name: nameA } = { name: "trimmer", skill: "trimming" }, i = 0; >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -239,11 +239,11 @@ for (let { skills: { primary: primaryA, secondary: secondaryA } } = multiRobot, >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -281,11 +281,11 @@ for (let { skills: { primary: primaryA, secondary: secondaryA } } = getMultiRobo >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -343,11 +343,11 @@ for (let { skills: { primary: primaryA, secondary: secondaryA } } = >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -382,11 +382,11 @@ for (let {name: nameA, skill: skillA } = robot, i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -422,11 +422,11 @@ for (let {name: nameA, skill: skillA } = getRobot(), i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -470,11 +470,11 @@ for (let {name: nameA, skill: skillA } = { name: "trimmer", skill: "trimm >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -514,11 +514,11 @@ for (let {name: nameA, skills: { primary: primaryA, secondary: secondaryA } } = >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -560,11 +560,11 @@ for (let {name: nameA, skills: { primary: primaryA, secondary: secondaryA } } = >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -626,11 +626,11 @@ for (let {name: nameA, skills: { primary: primaryA, secondary: secondaryA } } = >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPattern2.types b/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPattern2.types index 7e466e379dbf1..60343ca9b8439 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPattern2.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPattern2.types @@ -149,11 +149,11 @@ for ({ name: nameA } = robot, i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -193,11 +193,11 @@ for ({ name: nameA } = getRobot(), i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -245,11 +245,11 @@ for ({ name: nameA } = { name: "trimmer", skill: "trimming" }, i = 0; i < >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -295,11 +295,11 @@ for ({ skills: { primary: primaryA, secondary: secondaryA } } = multiRobot, i = >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -347,11 +347,11 @@ for ({ skills: { primary: primaryA, secondary: secondaryA } } = getMultiRobot(), >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -419,11 +419,11 @@ for ({ skills: { primary: primaryA, secondary: secondaryA } } = >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -459,11 +459,11 @@ for ({ name } = robot, i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -501,11 +501,11 @@ for ({ name } = getRobot(), i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -551,11 +551,11 @@ for ({ name } = { name: "trimmer", skill: "trimming" }, i = 0; i < 1; i++ >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -597,11 +597,11 @@ for ({ skills: { primary, secondary } } = multiRobot, i = 0; i < 1; i++) { >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -645,11 +645,11 @@ for ({ skills: { primary, secondary } } = getMultiRobot(), i = 0; i < 1; i++) { >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -713,11 +713,11 @@ for ({ skills: { primary, secondary } } = >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -761,11 +761,11 @@ for ({ name: nameA, skill: skillA } = robot, i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -809,11 +809,11 @@ for ({ name: nameA, skill: skillA } = getRobot(), i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -865,11 +865,11 @@ for ({ name: nameA, skill: skillA } = { name: "trimmer", skill: "trimming >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -919,11 +919,11 @@ for ({ name: nameA, skills: { primary: primaryA, secondary: secondaryA } } = mul >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -975,11 +975,11 @@ for ({ name: nameA, skills: { primary: primaryA, secondary: secondaryA } } = get >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -1051,11 +1051,11 @@ for ({ name: nameA, skills: { primary: primaryA, secondary: secondaryA } } = >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -1093,11 +1093,11 @@ for ({ name, skill } = robot, i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -1137,11 +1137,11 @@ for ({ name, skill } = getRobot(), i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -1189,11 +1189,11 @@ for ({ name, skill } = { name: "trimmer", skill: "trimming" }, i = 0; i < >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -1237,11 +1237,11 @@ for ({ name, skills: { primary, secondary } } = multiRobot, i = 0; i < 1; i++) { >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -1287,11 +1287,11 @@ for ({ name, skills: { primary, secondary } } = getMultiRobot(), i = 0; i < 1; i >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -1357,11 +1357,11 @@ for ({ name, skills: { primary, secondary } } = >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPatternDefaultValues.types b/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPatternDefaultValues.types index 3a69e5d52b4cb..50bc0a493296c 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPatternDefaultValues.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPatternDefaultValues.types @@ -121,11 +121,11 @@ for (let {name: nameA= "noName" } = robot, i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -159,11 +159,11 @@ for (let {name: nameA = "noName" } = getRobot(), i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -205,11 +205,11 @@ for (let {name: nameA = "noName" } = { name: "trimmer", skill: "trimming" >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -268,11 +268,11 @@ for (let { >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -333,11 +333,11 @@ for (let { >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -416,11 +416,11 @@ for (let { >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -459,11 +459,11 @@ for (let {name: nameA = "noName", skill: skillA = "skill" } = robot, i = 0; i < >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -503,11 +503,11 @@ for (let {name: nameA = "noName", skill: skillA = "skill" } = getRobot(), i = 0; >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -555,11 +555,11 @@ for (let {name: nameA = "noName", skill: skillA = "skill" } = { name: "tr >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -626,11 +626,11 @@ for (let { >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -699,11 +699,11 @@ for (let { >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -790,11 +790,11 @@ for (let { >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2.types b/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2.types index f266f7220d44a..edf8bb79fa778 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForObjectBindingPatternDefaultValues2.types @@ -153,11 +153,11 @@ for ({name: nameA = "noName" } = robot, i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -201,11 +201,11 @@ for ({name: nameA = "noName" } = getRobot(), i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -257,11 +257,11 @@ for ({name: nameA = "noName" } = { name: "trimmer", skill: "trimming" }, >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -337,11 +337,11 @@ for ({ >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -419,11 +419,11 @@ for ({ >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -519,11 +519,11 @@ for ({ >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -562,11 +562,11 @@ for ({ name = "noName" } = robot, i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -606,11 +606,11 @@ for ({ name = "noName" } = getRobot(), i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -658,11 +658,11 @@ for ({ name = "noName" } = { name: "trimmer", skill: "trimming" }, i = 0; >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -730,11 +730,11 @@ for ({ >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -804,11 +804,11 @@ for ({ >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -896,11 +896,11 @@ for ({ >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -952,11 +952,11 @@ for ({name: nameA = "noName", skill: skillA = "skill" } = robot, i = 0; i < 1; i >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -1008,11 +1008,11 @@ for ({name: nameA = "noName", skill: skillA = "skill" } = getRobot(), i = 0; i < >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -1072,11 +1072,11 @@ for ({name: nameA = "noName", skill: skillA = "skill" } = { name: "trimme >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -1162,11 +1162,11 @@ for ({ >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -1254,11 +1254,11 @@ for ({ >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -1364,11 +1364,11 @@ for ({ >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -1411,11 +1411,11 @@ for ({ name = "noName", skill = "skill" } = robot, i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -1459,11 +1459,11 @@ for ({ name = "noName", skill = "skill" } = getRobot(), i = 0; i < 1; i++) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -1515,11 +1515,11 @@ for ({ name = "noName", skill = "skill" } = { name: "trimmer", skill: "tr >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -1593,11 +1593,11 @@ for ({ >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -1673,11 +1673,11 @@ for ({ >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -1771,11 +1771,11 @@ for ({ >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern.types b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern.types index db166c06947a4..cca716efa5480 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern.types @@ -120,11 +120,11 @@ for (let [, nameA] of robots) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -142,11 +142,11 @@ for (let [, nameA] of getRobots()) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -166,11 +166,11 @@ for (let [, nameA] of [robotA, robotB]) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -188,11 +188,11 @@ for (let [, [primarySkillA, secondarySkillA]] of multiRobots) { >console.log(primarySkillA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primarySkillA : string > : ^^^^^^ } @@ -212,11 +212,11 @@ for (let [, [primarySkillA, secondarySkillA]] of getMultiRobots()) { >console.log(primarySkillA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primarySkillA : string > : ^^^^^^ } @@ -238,11 +238,11 @@ for (let [, [primarySkillA, secondarySkillA]] of [multiRobotA, multiRobotB]) { >console.log(primarySkillA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primarySkillA : string > : ^^^^^^ } @@ -257,11 +257,11 @@ for (let [numberB] of robots) { >console.log(numberB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberB : number > : ^^^^^^ } @@ -277,11 +277,11 @@ for (let [numberB] of getRobots()) { >console.log(numberB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberB : number > : ^^^^^^ } @@ -299,11 +299,11 @@ for (let [numberB] of [robotA, robotB]) { >console.log(numberB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberB : number > : ^^^^^^ } @@ -317,11 +317,11 @@ for (let [nameB] of multiRobots) { >console.log(nameB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameB : string > : ^^^^^^ } @@ -337,11 +337,11 @@ for (let [nameB] of getMultiRobots()) { >console.log(nameB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameB : string > : ^^^^^^ } @@ -359,11 +359,11 @@ for (let [nameB] of [multiRobotA, multiRobotB]) { >console.log(nameB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameB : string > : ^^^^^^ } @@ -382,11 +382,11 @@ for (let [numberA2, nameA2, skillA2] of robots) { >console.log(nameA2) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA2 : string > : ^^^^^^ } @@ -406,11 +406,11 @@ for (let [numberA2, nameA2, skillA2] of getRobots()) { >console.log(nameA2) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA2 : string > : ^^^^^^ } @@ -432,11 +432,11 @@ for (let [numberA2, nameA2, skillA2] of [robotA, robotB]) { >console.log(nameA2) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA2 : string > : ^^^^^^ } @@ -454,11 +454,11 @@ for (let [nameMA, [primarySkillA, secondarySkillA]] of multiRobots) { >console.log(nameMA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMA : string > : ^^^^^^ } @@ -478,11 +478,11 @@ for (let [nameMA, [primarySkillA, secondarySkillA]] of getMultiRobots()) { >console.log(nameMA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMA : string > : ^^^^^^ } @@ -504,11 +504,11 @@ for (let [nameMA, [primarySkillA, secondarySkillA]] of [multiRobotA, multiRobotB >console.log(nameMA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMA : string > : ^^^^^^ } @@ -525,11 +525,11 @@ for (let [numberA3, ...robotAInfo] of robots) { >console.log(numberA3) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberA3 : number > : ^^^^^^ } @@ -547,11 +547,11 @@ for (let [numberA3, ...robotAInfo] of getRobots()) { >console.log(numberA3) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberA3 : number > : ^^^^^^ } @@ -571,11 +571,11 @@ for (let [numberA3, ...robotAInfo] of [robotA, robotB]) { >console.log(numberA3) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberA3 : number > : ^^^^^^ } @@ -589,11 +589,11 @@ for (let [...multiRobotAInfo] of multiRobots) { >console.log(multiRobotAInfo) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >multiRobotAInfo : [string, [string, string]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ } @@ -609,11 +609,11 @@ for (let [...multiRobotAInfo] of getMultiRobots()) { >console.log(multiRobotAInfo) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >multiRobotAInfo : [string, [string, string]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ } @@ -631,11 +631,11 @@ for (let [...multiRobotAInfo] of [multiRobotA, multiRobotB]) { >console.log(multiRobotAInfo) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >multiRobotAInfo : [string, [string, string]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern2.types b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern2.types index 4038420f80cd4..8cfff566e87b2 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern2.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern2.types @@ -154,11 +154,11 @@ for ([, nameA] of robots) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -178,11 +178,11 @@ for ([, nameA] of getRobots()) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -204,11 +204,11 @@ for ([, nameA] of [robotA, robotB]) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -230,11 +230,11 @@ for ([, [primarySkillA, secondarySkillA]] of multiRobots) { >console.log(primarySkillA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primarySkillA : string > : ^^^^^^ } @@ -258,11 +258,11 @@ for ([, [primarySkillA, secondarySkillA]] of getMultiRobots()) { >console.log(primarySkillA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primarySkillA : string > : ^^^^^^ } @@ -288,11 +288,11 @@ for ([, [primarySkillA, secondarySkillA]] of [multiRobotA, multiRobotB]) { >console.log(primarySkillA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primarySkillA : string > : ^^^^^^ } @@ -309,11 +309,11 @@ for ([numberB] of robots) { >console.log(numberB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberB : number > : ^^^^^^ } @@ -331,11 +331,11 @@ for ([numberB] of getRobots()) { >console.log(numberB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberB : number > : ^^^^^^ } @@ -355,11 +355,11 @@ for ([numberB] of [robotA, robotB]) { >console.log(numberB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberB : number > : ^^^^^^ } @@ -375,11 +375,11 @@ for ([nameB] of multiRobots) { >console.log(nameB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameB : string > : ^^^^^^ } @@ -397,11 +397,11 @@ for ([nameB] of getMultiRobots()) { >console.log(nameB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameB : string > : ^^^^^^ } @@ -421,11 +421,11 @@ for ([nameB] of [multiRobotA, multiRobotB]) { >console.log(nameB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameB : string > : ^^^^^^ } @@ -446,11 +446,11 @@ for ([numberA2, nameA2, skillA2] of robots) { >console.log(nameA2) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA2 : string > : ^^^^^^ } @@ -472,11 +472,11 @@ for ([numberA2, nameA2, skillA2] of getRobots()) { >console.log(nameA2) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA2 : string > : ^^^^^^ } @@ -500,11 +500,11 @@ for ([numberA2, nameA2, skillA2] of [robotA, robotB]) { >console.log(nameA2) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA2 : string > : ^^^^^^ } @@ -526,11 +526,11 @@ for ([nameMA, [primarySkillA, secondarySkillA]] of multiRobots) { >console.log(nameMA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMA : string > : ^^^^^^ } @@ -554,11 +554,11 @@ for ([nameMA, [primarySkillA, secondarySkillA]] of getMultiRobots()) { >console.log(nameMA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMA : string > : ^^^^^^ } @@ -584,11 +584,11 @@ for ([nameMA, [primarySkillA, secondarySkillA]] of [multiRobotA, multiRobotB]) { >console.log(nameMA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMA : string > : ^^^^^^ } @@ -609,11 +609,11 @@ for ([numberA3, ...robotAInfo] of robots) { >console.log(numberA3) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberA3 : number > : ^^^^^^ } @@ -635,11 +635,11 @@ for ([numberA3, ...robotAInfo] of getRobots()) { >console.log(numberA3) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberA3 : number > : ^^^^^^ } @@ -663,11 +663,11 @@ for ([numberA3, ...robotAInfo] of [robotA, robotB]) { >console.log(numberA3) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberA3 : number > : ^^^^^^ } @@ -685,11 +685,11 @@ for ([...multiRobotAInfo] of multiRobots) { >console.log(multiRobotAInfo) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >multiRobotAInfo : (string | [string, string])[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } @@ -709,11 +709,11 @@ for ([...multiRobotAInfo] of getMultiRobots()) { >console.log(multiRobotAInfo) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >multiRobotAInfo : (string | [string, string])[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } @@ -735,11 +735,11 @@ for ([...multiRobotAInfo] of [multiRobotA, multiRobotB]) { >console.log(multiRobotAInfo) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >multiRobotAInfo : (string | [string, string])[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues.types b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues.types index 86ae24ef14d5b..c932fd489b889 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues.types @@ -122,11 +122,11 @@ for (let [, nameA = "noName"] of robots) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -146,11 +146,11 @@ for (let [, nameA = "noName"] of getRobots()) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -172,11 +172,11 @@ for (let [, nameA = "noName"] of [robotA, robotB]) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -210,11 +210,11 @@ for (let [, [ >console.log(primarySkillA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primarySkillA : string > : ^^^^^^ } @@ -250,11 +250,11 @@ for (let [, [ >console.log(primarySkillA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primarySkillA : string > : ^^^^^^ } @@ -292,11 +292,11 @@ for (let [, [ >console.log(primarySkillA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primarySkillA : string > : ^^^^^^ } @@ -315,11 +315,11 @@ for (let [numberB = -1] of robots) { >console.log(numberB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberB : number > : ^^^^^^ } @@ -339,11 +339,11 @@ for (let [numberB = -1] of getRobots()) { >console.log(numberB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberB : number > : ^^^^^^ } @@ -365,11 +365,11 @@ for (let [numberB = -1] of [robotA, robotB]) { >console.log(numberB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberB : number > : ^^^^^^ } @@ -385,11 +385,11 @@ for (let [nameB = "noName"] of multiRobots) { >console.log(nameB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameB : string > : ^^^^^^ } @@ -407,11 +407,11 @@ for (let [nameB = "noName"] of getMultiRobots()) { >console.log(nameB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameB : string > : ^^^^^^ } @@ -431,11 +431,11 @@ for (let [nameB = "noName"] of [multiRobotA, multiRobotB]) { >console.log(nameB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameB : string > : ^^^^^^ } @@ -462,11 +462,11 @@ for (let [numberA2 = -1, nameA2 = "noName", skillA2 = "skill"] of robots) { >console.log(nameA2) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA2 : string > : ^^^^^^ } @@ -494,11 +494,11 @@ for (let [numberA2 = -1, nameA2 = "noName", skillA2 = "skill"] of getRobots()) { >console.log(nameA2) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA2 : string > : ^^^^^^ } @@ -528,11 +528,11 @@ for (let [numberA2 = -1, nameA2 = "noName", skillA2 = "skill"] of [robotA, robot >console.log(nameA2) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA2 : string > : ^^^^^^ } @@ -568,11 +568,11 @@ for (let [nameMA = "noName", [ >console.log(nameMA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMA : string > : ^^^^^^ } @@ -610,11 +610,11 @@ for (let [nameMA = "noName", [ >console.log(nameMA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMA : string > : ^^^^^^ } @@ -654,11 +654,11 @@ for (let [nameMA = "noName", [ >console.log(nameMA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMA : string > : ^^^^^^ } @@ -679,11 +679,11 @@ for (let [numberA3 = -1, ...robotAInfo] of robots) { >console.log(numberA3) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberA3 : number > : ^^^^^^ } @@ -705,11 +705,11 @@ for (let [numberA3 = -1, ...robotAInfo] of getRobots()) { >console.log(numberA3) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberA3 : number > : ^^^^^^ } @@ -733,11 +733,11 @@ for (let [numberA3 = -1, ...robotAInfo] of [robotA, robotB]) { >console.log(numberA3) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberA3 : number > : ^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues2.types b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues2.types index 9e439607b85ca..0659af5e1a0f5 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues2.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues2.types @@ -158,11 +158,11 @@ for ([, nameA = "noName"] of robots) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -186,11 +186,11 @@ for ([, nameA = "noName"] of getRobots()) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -216,11 +216,11 @@ for ([, nameA = "noName"] of [robotA, robotB]) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -264,11 +264,11 @@ for ([, [ >console.log(primarySkillA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primarySkillA : string > : ^^^^^^ } @@ -314,11 +314,11 @@ for ([, [ >console.log(primarySkillA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primarySkillA : string > : ^^^^^^ } @@ -366,11 +366,11 @@ for ([, [ >console.log(primarySkillA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primarySkillA : string > : ^^^^^^ } @@ -393,11 +393,11 @@ for ([numberB = -1] of robots) { >console.log(numberB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberB : number > : ^^^^^^ } @@ -421,11 +421,11 @@ for ([numberB = -1] of getRobots()) { >console.log(numberB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberB : number > : ^^^^^^ } @@ -451,11 +451,11 @@ for ([numberB = -1] of [robotA, robotB]) { >console.log(numberB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberB : number > : ^^^^^^ } @@ -475,11 +475,11 @@ for ([nameB = "noName"] of multiRobots) { >console.log(nameB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameB : string > : ^^^^^^ } @@ -501,11 +501,11 @@ for ([nameB = "noName"] of getMultiRobots()) { >console.log(nameB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameB : string > : ^^^^^^ } @@ -529,11 +529,11 @@ for ([nameB = "noName"] of [multiRobotA, multiRobotB]) { >console.log(nameB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameB : string > : ^^^^^^ } @@ -568,11 +568,11 @@ for ([numberA2 = -1, nameA2 = "noName", skillA2 = "skill"] of robots) { >console.log(nameA2) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA2 : string > : ^^^^^^ } @@ -608,11 +608,11 @@ for ([numberA2 = -1, nameA2 = "noName", skillA2 = "skill"] of getRobots()) { >console.log(nameA2) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA2 : string > : ^^^^^^ } @@ -650,11 +650,11 @@ for ([numberA2 = -1, nameA2 = "noName", skillA2 = "skill"] of [robotA, robotB]) >console.log(nameA2) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA2 : string > : ^^^^^^ } @@ -702,11 +702,11 @@ for ([nameMA = "noName", [ >console.log(nameMA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMA : string > : ^^^^^^ } @@ -756,11 +756,11 @@ for ([nameMA = "noName", [ >console.log(nameMA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMA : string > : ^^^^^^ } @@ -812,11 +812,11 @@ for ([nameMA = "noName", [ >console.log(nameMA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMA : string > : ^^^^^^ } @@ -843,11 +843,11 @@ for ([numberA3 = -1, ...robotAInfo] of robots) { >console.log(numberA3) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberA3 : number > : ^^^^^^ } @@ -875,11 +875,11 @@ for ([numberA3 = -1, ...robotAInfo] of getRobots()) { >console.log(numberA3) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberA3 : number > : ^^^^^^ } @@ -909,11 +909,11 @@ for ([numberA3 = -1, ...robotAInfo] of [robotA, robotB]) { >console.log(numberA3) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberA3 : number > : ^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPattern.types b/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPattern.types index 7c966daa8aee5..ed48a298e5bba 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPattern.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPattern.types @@ -140,11 +140,11 @@ for (let {name: nameA } of robots) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -162,11 +162,11 @@ for (let {name: nameA } of getRobots()) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -202,11 +202,11 @@ for (let {name: nameA } of [{ name: "mower", skill: "mowing" }, { name: "trimmer >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -228,11 +228,11 @@ for (let { skills: { primary: primaryA, secondary: secondaryA } } of multiRobots >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -256,11 +256,11 @@ for (let { skills: { primary: primaryA, secondary: secondaryA } } of getMultiRob >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -320,11 +320,11 @@ for (let { skills: { primary: primaryA, secondary: secondaryA } } of [{ name: "m >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -345,11 +345,11 @@ for (let {name: nameA, skill: skillA } of robots) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -371,11 +371,11 @@ for (let {name: nameA, skill: skillA } of getRobots()) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -415,11 +415,11 @@ for (let {name: nameA, skill: skillA } of [{ name: "mower", skill: "mowing" }, { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -445,11 +445,11 @@ for (let {name: nameA, skills: { primary: primaryA, secondary: secondaryA } } of >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -477,11 +477,11 @@ for (let {name: nameA, skills: { primary: primaryA, secondary: secondaryA } } of >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -545,11 +545,11 @@ for (let {name: nameA, skills: { primary: primaryA, secondary: secondaryA } } of >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPattern2.types b/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPattern2.types index e92e0ed847581..63c5d399ef3d1 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPattern2.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPattern2.types @@ -164,11 +164,11 @@ for ({name: nameA } of robots) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -188,11 +188,11 @@ for ({name: nameA } of getRobots()) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -230,11 +230,11 @@ for ({name: nameA } of [{ name: "mower", skill: "mowing" }, { name: "trimmer", s >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -260,11 +260,11 @@ for ({ skills: { primary: primaryA, secondary: secondaryA } } of multiRobots) { >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -292,11 +292,11 @@ for ({ skills: { primary: primaryA, secondary: secondaryA } } of getMultiRobots( >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -360,11 +360,11 @@ for ({ skills: { primary: primaryA, secondary: secondaryA } } of [{ name: "mower >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -380,11 +380,11 @@ for ({name } of robots) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -402,11 +402,11 @@ for ({name } of getRobots()) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -442,11 +442,11 @@ for ({name } of [{ name: "mower", skill: "mowing" }, { name: "trimmer", skill: " >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -468,11 +468,11 @@ for ({ skills: { primary, secondary } } of multiRobots) { >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -496,11 +496,11 @@ for ({ skills: { primary, secondary } } of getMultiRobots()) { >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -560,11 +560,11 @@ for ({ skills: { primary, secondary } } of [{ name: "mower", skills: { primary: >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -588,11 +588,11 @@ for ({name: nameA, skill: skillA } of robots) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -616,11 +616,11 @@ for ({name: nameA, skill: skillA } of getRobots()) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -662,11 +662,11 @@ for ({name: nameA, skill: skillA } of [{ name: "mower", skill: "mowing" }, { nam >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -696,11 +696,11 @@ for ({name: nameA, skills: { primary: primaryA, secondary: secondaryA } } of mul >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -732,11 +732,11 @@ for ({name: nameA, skills: { primary: primaryA, secondary: secondaryA } } of get >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -804,11 +804,11 @@ for ({name: nameA, skills: { primary: primaryA, secondary: secondaryA } } of [{ >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -826,11 +826,11 @@ for ({name, skill } of robots) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -850,11 +850,11 @@ for ({name, skill } of getRobots()) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -892,11 +892,11 @@ for ({name, skill } of [{ name: "mower", skill: "mowing" }, { name: "trimmer", s >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -920,11 +920,11 @@ for ({name, skills: { primary, secondary } } of multiRobots) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -950,11 +950,11 @@ for ({name, skills: { primary, secondary } } of getMultiRobots()) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -1016,11 +1016,11 @@ for ({name, skills: { primary, secondary } } of [{ name: "mower", skills: { prim >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues.types b/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues.types index 0356648e42668..6b340234e2806 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues.types @@ -142,11 +142,11 @@ for (let {name: nameA = "noName" } of robots) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -166,11 +166,11 @@ for (let {name: nameA = "noName" } of getRobots()) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -208,11 +208,11 @@ for (let {name: nameA = "noName" } of [{ name: "mower", skill: "mowing" }, { nam >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -250,11 +250,11 @@ for (let { skills: { primary: primaryA = "primary", secondary: secondaryA = "sec >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -294,11 +294,11 @@ for (let { skills: { primary: primaryA = "primary", secondary: secondaryA = "sec >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -378,11 +378,11 @@ for (let { skills: { primary: primaryA = "primary", secondary: secondaryA = "sec >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -407,11 +407,11 @@ for (let {name: nameA = "noName", skill: skillA = "noSkill" } of robots) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -437,11 +437,11 @@ for (let {name: nameA = "noName", skill: skillA = "noSkill" } of getRobots()) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -485,11 +485,11 @@ for (let {name: nameA = "noName", skill: skillA = "noSkill" } of [{ name: "mowe >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -542,11 +542,11 @@ for (let { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -601,11 +601,11 @@ for (let { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -698,11 +698,11 @@ for (let { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues2.types b/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues2.types index 33c89a0e8afb6..61071a5da110c 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues2.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForOfObjectBindingPatternDefaultValues2.types @@ -168,11 +168,11 @@ for ({name: nameA = "noName" } of robots) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -196,11 +196,11 @@ for ({name: nameA = "noName" } of getRobots()) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -242,11 +242,11 @@ for ({name: nameA = "noName" } of [{ name: "mower", skill: "mowing" }, { name: " >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -294,11 +294,11 @@ for ({ skills: { primary: primaryA = "primary", secondary: secondaryA = "seconda >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -348,11 +348,11 @@ for ({ skills: { primary: primaryA = "primary", secondary: secondaryA = "seconda >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -442,11 +442,11 @@ for ({ skills: { primary: primaryA = "primary", secondary: secondaryA = "seconda >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -465,11 +465,11 @@ for ({ name = "noName" } of robots) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -489,11 +489,11 @@ for ({ name = "noName" } of getRobots()) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -531,11 +531,11 @@ for ({ name = "noName" } of [{ name: "mower", skill: "mowing" }, { name: "trimme >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -583,11 +583,11 @@ for ({ >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -637,11 +637,11 @@ for ({ >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -727,11 +727,11 @@ for ({ >console.log(primaryA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -763,11 +763,11 @@ for ({name: nameA = "noName", skill: skillA = "noSkill" } of robots) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -799,11 +799,11 @@ for ({name: nameA = "noName", skill: skillA = "noSkill" } of getRobots()) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -853,11 +853,11 @@ for ({name: nameA = "noName", skill: skillA = "noSkill" } of [{ name: "mower", >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -923,11 +923,11 @@ for ({ >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -995,11 +995,11 @@ for ({ >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -1105,11 +1105,11 @@ for ({ >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -1132,11 +1132,11 @@ for ({ name = "noName", skill = "noSkill" } of robots) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -1160,11 +1160,11 @@ for ({ name = "noName", skill = "noSkill" } of getRobots()) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -1206,11 +1206,11 @@ for ({ name = "noName", skill = "noSkill" } of [{ name: "mower", skill: "mowing >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -1264,11 +1264,11 @@ for ({ >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -1324,11 +1324,11 @@ for ({ >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -1420,11 +1420,11 @@ for ({ >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPattern.types b/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPattern.types index 33cf0f09eeea0..978a8bccac0c3 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPattern.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPattern.types @@ -70,11 +70,11 @@ function foo1({ skills: { primary: primaryA, secondary: secondaryA } }: Robot) { >console.log(primaryA) : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -100,11 +100,11 @@ function foo2({ name: nameC, skills: { primary: primaryB, secondary: secondaryB >console.log(secondaryB) : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >secondaryB : string > : ^^^^^^ } @@ -112,21 +112,21 @@ function foo3({ skills }: Robot) { >foo3 : ({ skills }: Robot) => void > : ^ ^^ ^^^^^^^^^ >skills : { primary: string; secondary: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ console.log(skills.primary); >console.log(skills.primary) : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >skills.primary : string > : ^^^^^^ >skills : { primary: string; secondary: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >primary : string > : ^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.types b/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.types index ddeb116d33d56..dc0af84bf16c9 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.types @@ -96,11 +96,11 @@ function foo1( >console.log(primaryA) : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >primaryA : string > : ^^^^^^ } @@ -156,11 +156,11 @@ function foo2( >console.log(secondaryB) : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >secondaryB : string > : ^^^^^^ } @@ -168,7 +168,7 @@ function foo3({ skills = { primary: "SomeSkill", secondary: "someSkill" } }: Ro >foo3 : ({ skills }?: Robot) => void > : ^ ^^^ ^^^^^^^^^ >skills : { primary?: string; secondary?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ >{ primary: "SomeSkill", secondary: "someSkill" } : { primary: string; secondary: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >primary : string @@ -186,15 +186,15 @@ function foo3({ skills = { primary: "SomeSkill", secondary: "someSkill" } }: Ro >console.log(skills.primary) : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >skills.primary : string > : ^^^^^^ >skills : { primary?: string; secondary?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ >primary : string > : ^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPattern.types b/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPattern.types index 5b001a96d02ce..9fdb7fcd7b0b4 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPattern.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPattern.types @@ -52,11 +52,11 @@ function foo1({ name: nameA }: Robot) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -76,11 +76,11 @@ function foo2({ name: nameB, skill: skillB }: Robot) { >console.log(nameB) : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameB : string > : ^^^^^^ } @@ -94,11 +94,11 @@ function foo3({ name }: Robot) { >console.log(name) : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >name : string > : ^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.types b/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.types index 5e7d4519dfa0c..935c9aecb9402 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.types @@ -56,11 +56,11 @@ function foo1({ name: nameA = "" }: Robot = { }) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -86,11 +86,11 @@ function foo2({ name: nameB = "", skill: skillB = "noSkill" }: Robot = { >console.log(nameB) : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameB : string > : ^^^^^^ } @@ -108,11 +108,11 @@ function foo3({ name = "" }: Robot = {}) { >console.log(name) : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >name : string > : ^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPattern.types b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPattern.types index 32d8ef0251366..52edb6fd0a0ab 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPattern.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPattern.types @@ -38,11 +38,11 @@ function foo1([, nameA]: Robot) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -57,11 +57,11 @@ function foo2([numberB]: Robot) { >console.log(numberB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberB : number > : ^^^^^^ } @@ -80,11 +80,11 @@ function foo3([numberA2, nameA2, skillA2]: Robot) { >console.log(nameA2) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA2 : string > : ^^^^^^ } @@ -101,11 +101,11 @@ function foo4([numberA3, ...robotAInfo]: Robot) { >console.log(robotAInfo) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >robotAInfo : [string, string] > : ^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPattern2.types b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPattern2.types index a5b37ca082c02..4de0b5be5819c 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPattern2.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPattern2.types @@ -40,11 +40,11 @@ function foo1([, skillA]: Robot) { >console.log(skillA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >skillA : [string, string] > : ^^^^^^^^^^^^^^^^ } @@ -59,11 +59,11 @@ function foo2([nameMB]: Robot) { >console.log(nameMB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMB : string > : ^^^^^^ } @@ -82,11 +82,11 @@ function foo3([nameMA, [primarySkillA, secondarySkillA]]: Robot) { >console.log(nameMA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMA : string > : ^^^^^^ } @@ -101,11 +101,11 @@ function foo4([...multiRobotAInfo]: Robot) { >console.log(multiRobotAInfo) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >multiRobotAInfo : [string, [string, string]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.types b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.types index 394a41af2d10a..8f83f04f17c7a 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.types @@ -50,11 +50,11 @@ function foo1([, nameA = "noName"]: Robot = [-1, "name", "skill"]) { >console.log(nameA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA : string > : ^^^^^^ } @@ -83,11 +83,11 @@ function foo2([numberB = -1]: Robot = [-1, "name", "skill"]) { >console.log(numberB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >numberB : number > : ^^^^^^ } @@ -124,11 +124,11 @@ function foo3([numberA2 = -1, nameA2 = "name", skillA2 = "skill"]: Robot = [-1, >console.log(nameA2) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameA2 : string > : ^^^^^^ } @@ -159,11 +159,11 @@ function foo4([numberA3 = -1, ...robotAInfo]: Robot = [-1, "name", "skill"]) { >console.log(robotAInfo) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >robotAInfo : [string, string] > : ^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.types b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.types index 81d836ec4404e..9fb722f961905 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.types @@ -56,11 +56,11 @@ function foo1([, skillA = ["noSkill", "noSkill"]]: Robot= ["name", ["skill1", "s >console.log(skillA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >skillA : string[] > : ^^^^^^^^ } @@ -87,11 +87,11 @@ function foo2([nameMB = "noName"]: Robot = ["name", ["skill1", "skill2"]]) { >console.log(nameMB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMB : string > : ^^^^^^ } @@ -128,11 +128,11 @@ function foo3([nameMA = "noName", [ >console.log(nameMA) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameMA : string > : ^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatement.types b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatement.types index 5d9eec570482f..3bf079b6ce082 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatement.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatement.types @@ -106,11 +106,11 @@ if (nameA == nameB) { >console.log(skillB) : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >skillB : string > : ^^^^^^ } @@ -119,11 +119,11 @@ else { >console.log(nameC) : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameC : string > : ^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatement1.types b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatement1.types index 57d027bc884f4..6563370699d86 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatement1.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatement1.types @@ -228,11 +228,11 @@ if (nameA == nameB) { >console.log(skillB) : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >skillB : string > : ^^^^^^ } @@ -241,11 +241,11 @@ else { >console.log(nameC) : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameC : string > : ^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern.types b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern.types index 46750a081730c..dc216bdd79ed8 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern.types @@ -112,11 +112,11 @@ if (nameA == nameA2) { >console.log(skillA2) : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >skillA2 : string > : ^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.types b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.types index 395d793b8fa66..acc986e9ddb5b 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.types @@ -117,11 +117,11 @@ if (nameMB == nameMA) { >console.log(skillA[0] + skillA[1]) : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >skillA[0] + skillA[1] : string > : ^^^^^^ >skillA[0] : string diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern3.types b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern3.types index 1a1d64cc3feb5..362eee3615e45 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern3.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern3.types @@ -484,11 +484,11 @@ if (nameA == nameB) { >console.log(skillB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >skillB : string > : ^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues.types b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues.types index 506e226f1a147..eee8a49adbcfb 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues.types @@ -141,11 +141,11 @@ if (nameA == nameA2) { >console.log(skillA2) : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >skillA2 : string > : ^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues2.types b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues2.types index c13418a565c8f..741478f9b7e6b 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues2.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues2.types @@ -145,11 +145,11 @@ if (nameMB == nameMA) { >console.log(skillA[0] + skillA[1]) : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >skillA[0] + skillA[1] : string > : ^^^^^^ >skillA[0] : string diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.types b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.types index 01df5fd1f2c17..b319dffea433d 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.types @@ -602,11 +602,11 @@ if (nameA == nameB) { >console.log(skillB) : void > : ^^^^ >console.log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: any): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >skillB : string > : ^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementDefaultValues.types b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementDefaultValues.types index 0d2636402c348..6b997eb1c8ceb 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementDefaultValues.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementDefaultValues.types @@ -116,11 +116,11 @@ if (nameA == nameB) { >console.log(skillB) : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >skillB : string > : ^^^^^^ } @@ -129,11 +129,11 @@ else { >console.log(nameC) : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameC : string > : ^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementNestedObjectBindingPattern.types b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementNestedObjectBindingPattern.types index de3a5b40a2f31..c8071130329e4 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementNestedObjectBindingPattern.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementNestedObjectBindingPattern.types @@ -152,11 +152,11 @@ if (nameB == nameB) { >console.log(nameC) : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameC : string > : ^^^^^^ } @@ -165,11 +165,11 @@ else { >console.log(nameC) : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameC : string > : ^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementNestedObjectBindingPatternWithDefaultValues.types b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementNestedObjectBindingPatternWithDefaultValues.types index a2e3ec300e48c..f7f4218e1f454 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementNestedObjectBindingPatternWithDefaultValues.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementNestedObjectBindingPatternWithDefaultValues.types @@ -231,11 +231,11 @@ if (nameB == nameB) { >console.log(nameC) : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameC : string > : ^^^^^^ } @@ -244,11 +244,11 @@ else { >console.log(nameC) : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >nameC : string > : ^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationFor.types b/tests/baselines/reference/sourceMapValidationFor.types index ed04a851d78d0..53b988718e826 100644 --- a/tests/baselines/reference/sourceMapValidationFor.types +++ b/tests/baselines/reference/sourceMapValidationFor.types @@ -21,11 +21,11 @@ for (var i = 0; i < 10; i++) { >WScript.Echo("i: " + i) : void > : ^^^^ >WScript.Echo : (s: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >WScript : { Echo(s: any): void; StdErr: TextStreamWriter; StdOut: TextStreamWriter; Arguments: { length: number; Item(n: number): string; }; ScriptFullName: string; Quit(exitCode?: number): number; BuildVersion: number; FullName: string; Interactive: boolean; Name: string; Path: string; ScriptName: string; StdIn: TextStreamReader; Version: string; ConnectObject(objEventSource: any, strPrefix: string): void; CreateObject(strProgID: string, strPrefix?: string): any; DisconnectObject(obj: any): void; GetObject(strPathname: string, strProgID?: string, strPrefix?: string): any; Sleep(intTime: number): void; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^ ^^ ^^^ ^^^ >Echo : (s: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"i: " + i : string > : ^^^^^^ >"i: " : "i: " @@ -55,11 +55,11 @@ for (i = 0; i < 10; i++) >WScript.Echo("i: " + i) : void > : ^^^^ >WScript.Echo : (s: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >WScript : { Echo(s: any): void; StdErr: TextStreamWriter; StdOut: TextStreamWriter; Arguments: { length: number; Item(n: number): string; }; ScriptFullName: string; Quit(exitCode?: number): number; BuildVersion: number; FullName: string; Interactive: boolean; Name: string; Path: string; ScriptName: string; StdIn: TextStreamReader; Version: string; ConnectObject(objEventSource: any, strPrefix: string): void; CreateObject(strProgID: string, strPrefix?: string): any; DisconnectObject(obj: any): void; GetObject(strPathname: string, strProgID?: string, strPrefix?: string): any; Sleep(intTime: number): void; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^ ^^ ^^^ ^^^ >Echo : (s: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"i: " + i : string > : ^^^^^^ >"i: " : "i: " diff --git a/tests/baselines/reference/sourceMapValidationForIn.types b/tests/baselines/reference/sourceMapValidationForIn.types index 79bf50a9c38cd..35818f64c25c4 100644 --- a/tests/baselines/reference/sourceMapValidationForIn.types +++ b/tests/baselines/reference/sourceMapValidationForIn.types @@ -11,11 +11,11 @@ for (var x in String) { >WScript.Echo(x) : void > : ^^^^ >WScript.Echo : (s: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >WScript : { Echo(s: any): void; StdErr: TextStreamWriter; StdOut: TextStreamWriter; Arguments: { length: number; Item(n: number): string; }; ScriptFullName: string; Quit(exitCode?: number): number; BuildVersion: number; FullName: string; Interactive: boolean; Name: string; Path: string; ScriptName: string; StdIn: TextStreamReader; Version: string; ConnectObject(objEventSource: any, strPrefix: string): void; CreateObject(strProgID: string, strPrefix?: string): any; DisconnectObject(obj: any): void; GetObject(strPathname: string, strProgID?: string, strPrefix?: string): any; Sleep(intTime: number): void; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^ ^^ ^^^ ^^^ >Echo : (s: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string > : ^^^^^^ } @@ -29,11 +29,11 @@ for (x in String) { >WScript.Echo(x) : void > : ^^^^ >WScript.Echo : (s: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >WScript : { Echo(s: any): void; StdErr: TextStreamWriter; StdOut: TextStreamWriter; Arguments: { length: number; Item(n: number): string; }; ScriptFullName: string; Quit(exitCode?: number): number; BuildVersion: number; FullName: string; Interactive: boolean; Name: string; Path: string; ScriptName: string; StdIn: TextStreamReader; Version: string; ConnectObject(objEventSource: any, strPrefix: string): void; CreateObject(strProgID: string, strPrefix?: string): any; DisconnectObject(obj: any): void; GetObject(strPathname: string, strProgID?: string, strPrefix?: string): any; Sleep(intTime: number): void; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^ ^^ ^^^ ^^^ >Echo : (s: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string > : ^^^^^^ } @@ -47,11 +47,11 @@ for (var x2 in String) >WScript.Echo(x2) : void > : ^^^^ >WScript.Echo : (s: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >WScript : { Echo(s: any): void; StdErr: TextStreamWriter; StdOut: TextStreamWriter; Arguments: { length: number; Item(n: number): string; }; ScriptFullName: string; Quit(exitCode?: number): number; BuildVersion: number; FullName: string; Interactive: boolean; Name: string; Path: string; ScriptName: string; StdIn: TextStreamReader; Version: string; ConnectObject(objEventSource: any, strPrefix: string): void; CreateObject(strProgID: string, strPrefix?: string): any; DisconnectObject(obj: any): void; GetObject(strPathname: string, strProgID?: string, strPrefix?: string): any; Sleep(intTime: number): void; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^ ^^ ^^^ ^^^ >Echo : (s: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x2 : string > : ^^^^^^ } @@ -65,11 +65,11 @@ for (x in String) >WScript.Echo(x) : void > : ^^^^ >WScript.Echo : (s: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >WScript : { Echo(s: any): void; StdErr: TextStreamWriter; StdOut: TextStreamWriter; Arguments: { length: number; Item(n: number): string; }; ScriptFullName: string; Quit(exitCode?: number): number; BuildVersion: number; FullName: string; Interactive: boolean; Name: string; Path: string; ScriptName: string; StdIn: TextStreamReader; Version: string; ConnectObject(objEventSource: any, strPrefix: string): void; CreateObject(strProgID: string, strPrefix?: string): any; DisconnectObject(obj: any): void; GetObject(strPathname: string, strProgID?: string, strPrefix?: string): any; Sleep(intTime: number): void; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^ ^^ ^^^ ^^^ >Echo : (s: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string > : ^^^^^^ } diff --git a/tests/baselines/reference/sourceMapValidationFunctionExpressions.types b/tests/baselines/reference/sourceMapValidationFunctionExpressions.types index ca83e3d4cc462..07ecb36cc88c3 100644 --- a/tests/baselines/reference/sourceMapValidationFunctionExpressions.types +++ b/tests/baselines/reference/sourceMapValidationFunctionExpressions.types @@ -29,7 +29,7 @@ greet("Hello"); >greet("Hello") : number > : ^^^^^^ >greet : (greeting: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"Hello" : "Hello" > : ^^^^^^^ diff --git a/tests/baselines/reference/sourceMapValidationStatements.types b/tests/baselines/reference/sourceMapValidationStatements.types index b416c7733c974..c81165c278048 100644 --- a/tests/baselines/reference/sourceMapValidationStatements.types +++ b/tests/baselines/reference/sourceMapValidationStatements.types @@ -411,7 +411,7 @@ function f() { >eval("y") : any > : ^^^ >eval : (x: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >"y" : "y" > : ^^^ diff --git a/tests/baselines/reference/sourceMapWithMultipleFilesWithFileEndingWithInterface.types b/tests/baselines/reference/sourceMapWithMultipleFilesWithFileEndingWithInterface.types index ccae41b10c393..2911f8b23b94d 100644 --- a/tests/baselines/reference/sourceMapWithMultipleFilesWithFileEndingWithInterface.types +++ b/tests/baselines/reference/sourceMapWithMultipleFilesWithFileEndingWithInterface.types @@ -13,8 +13,8 @@ module M { } interface Navigator { getGamepads(func?: any): any; ->getGamepads : { (): Gamepad[]; (func?: any): any; } -> : ^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^ +>getGamepads : { (): (Gamepad | null)[]; (func?: any): any; } +> : ^^^^^^ ^^^ ^^^ ^^^ ^^^ >func : any webkitGetGamepads(func?: any): any diff --git a/tests/baselines/reference/specedNoStackBlown.types b/tests/baselines/reference/specedNoStackBlown.types index 8ecde23cb88d5..f84e448dd51ff 100644 --- a/tests/baselines/reference/specedNoStackBlown.types +++ b/tests/baselines/reference/specedNoStackBlown.types @@ -9,7 +9,7 @@ declare function spected = SpecValue>(spec: SPEC, input: ROOTINPUT): Result; >spected : = SpecValue>(spec: SPEC, input: ROOTINPUT) => Result -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ >spec : SPEC > : ^^^^ >input : ROOTINPUT @@ -80,5 +80,5 @@ export type Result = {[key in keyof INPUT]: true | any[] | Resultspected : = SpecValue>(spec: SPEC, input: ROOTINPUT) => Result -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/specializationError.types b/tests/baselines/reference/specializationError.types index b1d5ede39e484..1ec5f160b60df 100644 --- a/tests/baselines/reference/specializationError.types +++ b/tests/baselines/reference/specializationError.types @@ -4,21 +4,21 @@ interface Promise { then(value: T): void; >then : { (onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; (value: T): void; } -> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ >value : T > : ^ } interface Bar { bar(value: "Menu"): Promise; ->bar : { (value: "Menu"): Promise; (value: string, element: string): Promise; (value: string): Promise; } -> : ^^^ ^^ ^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +>bar : { (value: "Menu"): Promise; (value: string, element: string): Promise; (value: string): Promise; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >value : "Menu" > : ^^^^^^ bar(value: string, element: string): Promise; >bar : { (value: "Menu"): Promise; (value: string, element: string): Promise; (value: string): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >value : string > : ^^^^^^ >element : string @@ -26,7 +26,7 @@ interface Bar { bar(value: string): Promise; >bar : { (value: "Menu"): Promise; (value: string, element: string): Promise; (value: string): Promise; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >value : string > : ^^^^^^ } diff --git a/tests/baselines/reference/specializationsShouldNotAffectEachOther.types b/tests/baselines/reference/specializationsShouldNotAffectEachOther.types index 7b0cd70a57e74..4084b3d86700f 100644 --- a/tests/baselines/reference/specializationsShouldNotAffectEachOther.types +++ b/tests/baselines/reference/specializationsShouldNotAffectEachOther.types @@ -31,11 +31,11 @@ function foo() { >series2.map(seriesExtent) : any[] > : ^^^^^ >series2.map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >series2 : number[] > : ^^^^^^^^ >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >seriesExtent : (series: any) => any > : ^ ^^^^^^^^^^^^^ @@ -49,7 +49,7 @@ var keyExtent2: any[] = series.data.map(function (d: string) { return d; }); >series.data.map(function (d: string) { return d; }) : string[] > : ^^^^^^^^ >series.data.map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >series.data : string[] > : ^^^^^^^^ >series : Series @@ -57,7 +57,7 @@ var keyExtent2: any[] = series.data.map(function (d: string) { return d; }); >data : string[] > : ^^^^^^^^ >map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >function (d: string) { return d; } : (d: string) => string > : ^ ^^ ^^^^^^^^^^^ >d : string diff --git a/tests/baselines/reference/specializeVarArgs1.types b/tests/baselines/reference/specializeVarArgs1.types index 59b19d6ce8b7d..4a8cfd38f5bab 100644 --- a/tests/baselines/reference/specializeVarArgs1.types +++ b/tests/baselines/reference/specializeVarArgs1.types @@ -31,7 +31,7 @@ var a = observableArray(); >observableArray() : ObservableArray > : ^^^^^^^^^^^^^^^^^^^^^^^ >observableArray : () => ObservableArray -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ a.push('Some Value'); >a.push('Some Value') : any diff --git a/tests/baselines/reference/specializedOverloadWithRestParameters.types b/tests/baselines/reference/specializedOverloadWithRestParameters.types index 26311d484278b..a4ee8a63e0ca4 100644 --- a/tests/baselines/reference/specializedOverloadWithRestParameters.types +++ b/tests/baselines/reference/specializedOverloadWithRestParameters.types @@ -17,7 +17,7 @@ class Derived1 extends Base { bar() { } } function f(tagName: 'span', ...args): Derived1; // error >f : { (tagName: "span", ...args: any[]): Derived1; (tagName: number, ...args: any[]): Base; } -> : ^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^^ >tagName : "span" > : ^^^^^^ >args : any[] @@ -25,7 +25,7 @@ function f(tagName: 'span', ...args): Derived1; // error function f(tagName: number, ...args): Base; >f : { (tagName: "span", ...args: any[]): Derived1; (tagName: number, ...args: any[]): Base; } -> : ^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^^ +> : ^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^^ >tagName : number > : ^^^^^^ >args : any[] @@ -33,28 +33,28 @@ function f(tagName: number, ...args): Base; function f(tagName: any): Base { >f : { (tagName: "span", ...args: any[]): Derived1; (tagName: number, ...args: any[]): Base; } -> : ^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^^ >tagName : any return null; } function g(tagName: 'span', arg): Derived1; // error >g : { (tagName: "span", arg: any): Derived1; (tagName: number, arg: any): Base; } -> : ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ >tagName : "span" > : ^^^^^^ >arg : any function g(tagName: number, arg): Base; >g : { (tagName: "span", arg: any): Derived1; (tagName: number, arg: any): Base; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^ ^^^ +> : ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ >tagName : number > : ^^^^^^ >arg : any function g(tagName: any): Base { >g : { (tagName: "span", arg: any): Derived1; (tagName: number, arg: any): Base; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^ ^^^ >tagName : any return null; diff --git a/tests/baselines/reference/specializedSignatureAsCallbackParameter1.types b/tests/baselines/reference/specializedSignatureAsCallbackParameter1.types index f69d32ea5a2f5..4db6bb86a7213 100644 --- a/tests/baselines/reference/specializedSignatureAsCallbackParameter1.types +++ b/tests/baselines/reference/specializedSignatureAsCallbackParameter1.types @@ -35,7 +35,7 @@ function x3(a: any, cb: (x: number) => number) { >cb(a) : number > : ^^^^^^ >cb : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : any > : ^^^ } diff --git a/tests/baselines/reference/specializedSignatureIsNotSubtypeOfNonSpecializedSignature.types b/tests/baselines/reference/specializedSignatureIsNotSubtypeOfNonSpecializedSignature.types index 45b838cbf0baf..d92de312d36f7 100644 --- a/tests/baselines/reference/specializedSignatureIsNotSubtypeOfNonSpecializedSignature.types +++ b/tests/baselines/reference/specializedSignatureIsNotSubtypeOfNonSpecializedSignature.types @@ -174,8 +174,8 @@ var a: { } var a2: { ->a2 : { (x: "a"): any; (x: T): any; foo(x: "a"): any; foo(x: T_1): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +>a2 : { (x: "a"): any; (x: T): any; foo(x: "a"): any; foo(x: T): any; } +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ (x: 'a'); >x : "a" @@ -199,8 +199,8 @@ var a2: { } var a3: { ->a3 : { (x: "a"): any; (x: T): any; foo(x: "a"): any; foo(x: T_1): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>a3 : { (x: "a"): any; (x: T): any; foo(x: "a"): any; foo(x: T): any; } +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ (x: 'a'); >x : "a" @@ -212,13 +212,13 @@ var a3: { foo(x: 'a'); >foo : { (x: "a"): any; (x: T): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : "a" > : ^^^ foo(x: T); >foo : { (x: "a"): any; (x: T): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ } diff --git a/tests/baselines/reference/specializedSignatureIsSubtypeOfNonSpecializedSignature.types b/tests/baselines/reference/specializedSignatureIsSubtypeOfNonSpecializedSignature.types index 136c4981d5a94..98480b9816223 100644 --- a/tests/baselines/reference/specializedSignatureIsSubtypeOfNonSpecializedSignature.types +++ b/tests/baselines/reference/specializedSignatureIsSubtypeOfNonSpecializedSignature.types @@ -231,8 +231,8 @@ var a: { } var a2: { ->a2 : { (x: "a"): any; (x: string): any; (x: T): any; foo(x: string): any; foo(x: "a"): any; foo(x: T_1): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +>a2 : { (x: "a"): any; (x: string): any; (x: T): any; foo(x: string): any; foo(x: "a"): any; foo(x: T): any; } +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ (x: 'a'); >x : "a" @@ -266,8 +266,8 @@ var a2: { } var a3: { ->a3 : { (x: "a"): any; (x: T): any; (x: string): any; foo(x: string): any; foo(x: "a"): any; foo(x: T_1): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>a3 : { (x: "a"): any; (x: T): any; (x: string): any; foo(x: string): any; foo(x: "a"): any; foo(x: T): any; } +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ (x: 'a'); >x : "a" @@ -283,19 +283,19 @@ var a3: { foo(x: string); >foo : { (x: string): any; (x: "a"): any; (x: T): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : string > : ^^^^^^ foo(x: 'a'); >foo : { (x: string): any; (x: "a"): any; (x: T): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : "a" > : ^^^ foo(x: T); >foo : { (x: string): any; (x: "a"): any; (x: T): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ } diff --git a/tests/baselines/reference/specializedSignatureOverloadReturnTypeWithIndexers.types b/tests/baselines/reference/specializedSignatureOverloadReturnTypeWithIndexers.types index cd21361940582..09726805eacc5 100644 --- a/tests/baselines/reference/specializedSignatureOverloadReturnTypeWithIndexers.types +++ b/tests/baselines/reference/specializedSignatureOverloadReturnTypeWithIndexers.types @@ -4,7 +4,7 @@ interface A { f(p: string): { [p: string]: string; }; >f : { (p: string): { [p: string]: string; }; (p: "spec"): { [p: string]: any; }; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >p : string > : ^^^^^^ >p : string @@ -12,7 +12,7 @@ interface A { f(p: "spec"): { [p: string]: any; } // Should be ok >f : { (p: string): { [p: string]: string; }; (p: "spec"): { [p: string]: any; }; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >p : "spec" > : ^^^^^^ >p : string @@ -21,7 +21,7 @@ interface A { interface B { f(p: string): { [p: number]: string; }; >f : { (p: string): { [p: number]: string; }; (p: "spec"): { [p: string]: any; }; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >p : string > : ^^^^^^ >p : number @@ -29,7 +29,7 @@ interface B { f(p: "spec"): { [p: string]: any; } // Should be ok >f : { (p: string): { [p: number]: string; }; (p: "spec"): { [p: string]: any; }; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >p : "spec" > : ^^^^^^ >p : string @@ -38,7 +38,7 @@ interface B { interface C { f(p: string): { [p: number]: string; }; >f : { (p: string): { [p: number]: string; }; (p: "spec"): { [p: number]: any; }; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >p : string > : ^^^^^^ >p : number @@ -46,7 +46,7 @@ interface C { f(p: "spec"): { [p: number]: any; } // Should be ok >f : { (p: string): { [p: number]: string; }; (p: "spec"): { [p: number]: any; }; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >p : "spec" > : ^^^^^^ >p : number @@ -55,7 +55,7 @@ interface C { interface D { f(p: string): { [p: string]: string; }; >f : { (p: string): { [p: string]: string; }; (p: "spec"): { [p: number]: any; }; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >p : string > : ^^^^^^ >p : string @@ -63,7 +63,7 @@ interface D { f(p: "spec"): { [p: number]: any; } // Should be error >f : { (p: string): { [p: string]: string; }; (p: "spec"): { [p: number]: any; }; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >p : "spec" > : ^^^^^^ >p : number diff --git a/tests/baselines/reference/specializedSignatureWithOptional.types b/tests/baselines/reference/specializedSignatureWithOptional.types index b10a93051c39c..1f4450016c063 100644 --- a/tests/baselines/reference/specializedSignatureWithOptional.types +++ b/tests/baselines/reference/specializedSignatureWithOptional.types @@ -3,13 +3,13 @@ === specializedSignatureWithOptional.ts === declare function f(x?: "hi"): void; >f : { (x?: "hi"): void; (x?: string): void; } -> : ^^^ ^^^ ^^^ ^^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ >x : "hi" > : ^^^^ declare function f(x?: string): void; >f : { (x?: "hi"): void; (x?: string): void; } -> : ^^^ ^^^ ^^^^^^^^^^ ^^^ ^^^ ^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ >x : string > : ^^^^^^ diff --git a/tests/baselines/reference/spellingSuggestionLeadingUnderscores01.types b/tests/baselines/reference/spellingSuggestionLeadingUnderscores01.types index 4b98ab3a71880..792c440f43e59 100644 --- a/tests/baselines/reference/spellingSuggestionLeadingUnderscores01.types +++ b/tests/baselines/reference/spellingSuggestionLeadingUnderscores01.types @@ -15,7 +15,7 @@ a.___foo >a.___foo : any > : ^^^ >a : { __foo: 10; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >___foo : any > : ^^^ @@ -33,7 +33,7 @@ b = { >b = { ___foo: 100,} : { ___foo: number; } > : ^^^^^^^^^^^^^^^^^^^ >b : { __foo: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >{ ___foo: 100,} : { ___foo: number; } > : ^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/spellingUncheckedJS.types b/tests/baselines/reference/spellingUncheckedJS.types index a73f1e64702ff..a2149a9efc1d6 100644 --- a/tests/baselines/reference/spellingUncheckedJS.types +++ b/tests/baselines/reference/spellingUncheckedJS.types @@ -161,11 +161,11 @@ const atoc = setIntegral(() => console.log('ok'), 500) >console.log('ok') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'ok' : "ok" > : ^^^^ >500 : 500 diff --git a/tests/baselines/reference/spreadBooleanRespectsFreshness.types b/tests/baselines/reference/spreadBooleanRespectsFreshness.types index 3e653b98fa428..68289d8a47aaa 100644 --- a/tests/baselines/reference/spreadBooleanRespectsFreshness.types +++ b/tests/baselines/reference/spreadBooleanRespectsFreshness.types @@ -37,11 +37,11 @@ foo1 = [...Array.isArray(foo2) ? foo2 : [foo2]]; >Array.isArray(foo2) : boolean > : ^^^^^^^ >Array.isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo2 : Foo > : ^^^ >foo2 : FooArray diff --git a/tests/baselines/reference/spreadContextualTypedBindingPattern.types b/tests/baselines/reference/spreadContextualTypedBindingPattern.types index 43589779564e8..4b778a626d469 100644 --- a/tests/baselines/reference/spreadContextualTypedBindingPattern.types +++ b/tests/baselines/reference/spreadContextualTypedBindingPattern.types @@ -27,7 +27,7 @@ const { naam, age } = {...bob, ...alice} >age : number > : ^^^^^^ >{...bob, ...alice} : { naam: string; age: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^ >bob : Person > : ^^^^^^ >alice : Person diff --git a/tests/baselines/reference/spreadDuplicate.types b/tests/baselines/reference/spreadDuplicate.types index 6a98267681656..e36d1923ebc92 100644 --- a/tests/baselines/reference/spreadDuplicate.types +++ b/tests/baselines/reference/spreadDuplicate.types @@ -33,15 +33,15 @@ declare let t: boolean; let a1 = { a: 123, ...a }; // string (Error) >a1 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ a: 123, ...a } : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : number > : ^^^^^^ >123 : 123 > : ^^^ >a : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ let b1 = { a: 123, ...b }; // string | number >b1 : { a: string | number; } @@ -52,20 +52,20 @@ let b1 = { a: 123, ...b }; // string | number > : ^^^^^^ >123 : 123 > : ^^^ ->b : { a?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>b : { a?: string; } +> : ^^^^^^ ^^^ let c1 = { a: 123, ...c }; // string | undefined (Error) >c1 : { a: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ a: 123, ...c } : { a: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : number > : ^^^^^^ >123 : 123 > : ^^^ >c : { a: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ let d1 = { a: 123, ...d }; // string | number >d1 : { a: string | number; } @@ -77,7 +77,7 @@ let d1 = { a: 123, ...d }; // string | number >123 : 123 > : ^^^ >d : { a?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ let a2 = { a: 123, ...(t ? a : {}) }; // string | number >a2 : { a: string | number; } @@ -89,13 +89,13 @@ let a2 = { a: 123, ...(t ? a : {}) }; // string | number >123 : 123 > : ^^^ >(t ? a : {}) : { a: string; } | {} -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ >t ? a : {} : { a: string; } | {} -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ >t : boolean > : ^^^^^^^ >a : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{} : {} > : ^^ @@ -108,14 +108,14 @@ let b2 = { a: 123, ...(t ? b : {}) }; // string | number > : ^^^^^^ >123 : 123 > : ^^^ ->(t ? b : {}) : { a?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->t ? b : {} : { a?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(t ? b : {}) : { a?: string; } +> : ^^^^^^ ^^^ +>t ? b : {} : { a?: string; } +> : ^^^^^^ ^^^ >t : boolean > : ^^^^^^^ ->b : { a?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>b : { a?: string; } +> : ^^^^^^ ^^^ >{} : {} > : ^^ @@ -129,13 +129,13 @@ let c2 = { a: 123, ...(t ? c : {}) }; // string | number >123 : 123 > : ^^^ >(t ? c : {}) : { a: string | undefined; } | {} -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ >t ? c : {} : { a: string | undefined; } | {} -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ >t : boolean > : ^^^^^^^ >c : { a: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{} : {} > : ^^ @@ -149,13 +149,13 @@ let d2 = { a: 123, ...(t ? d : {}) }; // string | number >123 : 123 > : ^^^ >(t ? d : {}) : { a?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >t ? d : {} : { a?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >t : boolean > : ^^^^^^^ >d : { a?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >{} : {} > : ^^ diff --git a/tests/baselines/reference/spreadDuplicateExact.types b/tests/baselines/reference/spreadDuplicateExact.types index e29a79875740b..aaea5b2bd5dfb 100644 --- a/tests/baselines/reference/spreadDuplicateExact.types +++ b/tests/baselines/reference/spreadDuplicateExact.types @@ -33,15 +33,15 @@ declare let t: boolean; let a1 = { a: 123, ...a }; // string (Error) >a1 : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ a: 123, ...a } : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : number > : ^^^^^^ >123 : 123 > : ^^^ >a : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ let b1 = { a: 123, ...b }; // string | number >b1 : { a: string | number; } @@ -53,19 +53,19 @@ let b1 = { a: 123, ...b }; // string | number >123 : 123 > : ^^^ >b : { a?: string; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ let c1 = { a: 123, ...c }; // string | undefined (Error) >c1 : { a: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ a: 123, ...c } : { a: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : number > : ^^^^^^ >123 : 123 > : ^^^ >c : { a: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ let d1 = { a: 123, ...d }; // string | number | undefined >d1 : { a: string | number | undefined; } @@ -77,7 +77,7 @@ let d1 = { a: 123, ...d }; // string | number | undefined >123 : 123 > : ^^^ >d : { a?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ let a2 = { a: 123, ...(t ? a : {}) }; // string | number >a2 : { a: string | number; } @@ -89,13 +89,13 @@ let a2 = { a: 123, ...(t ? a : {}) }; // string | number >123 : 123 > : ^^^ >(t ? a : {}) : { a: string; } | {} -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ >t ? a : {} : { a: string; } | {} -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ >t : boolean > : ^^^^^^^ >a : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{} : {} > : ^^ @@ -109,13 +109,13 @@ let b2 = { a: 123, ...(t ? b : {}) }; // string | number >123 : 123 > : ^^^ >(t ? b : {}) : { a?: string; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >t ? b : {} : { a?: string; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >t : boolean > : ^^^^^^^ >b : { a?: string; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >{} : {} > : ^^ @@ -129,13 +129,13 @@ let c2 = { a: 123, ...(t ? c : {}) }; // string | number | undefined >123 : 123 > : ^^^ >(t ? c : {}) : { a: string | undefined; } | {} -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ >t ? c : {} : { a: string | undefined; } | {} -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ >t : boolean > : ^^^^^^^ >c : { a: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{} : {} > : ^^ @@ -149,13 +149,13 @@ let d2 = { a: 123, ...(t ? d : {}) }; // string | number | undefined >123 : 123 > : ^^^ >(t ? d : {}) : { a?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >t ? d : {} : { a?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >t : boolean > : ^^^^^^^ >d : { a?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >{} : {} > : ^^ diff --git a/tests/baselines/reference/spreadExpressionContextualType.types b/tests/baselines/reference/spreadExpressionContextualType.types index ebab7a5709213..5248655610147 100644 --- a/tests/baselines/reference/spreadExpressionContextualType.types +++ b/tests/baselines/reference/spreadExpressionContextualType.types @@ -16,8 +16,8 @@ interface Apple { } function test(item: T): T { ->test : (item: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +>test : (item: T) => T +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >item : T > : ^ @@ -29,8 +29,8 @@ function test(item: T): T { } function test2(item: T): T { ->test2 : (item: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +>test2 : (item: T) => T +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >item : T > : ^ diff --git a/tests/baselines/reference/spreadExpressionContextualTypeWithNamespace.js b/tests/baselines/reference/spreadExpressionContextualTypeWithNamespace.js index e09a3c117267d..3edec230fe0f8 100644 --- a/tests/baselines/reference/spreadExpressionContextualTypeWithNamespace.js +++ b/tests/baselines/reference/spreadExpressionContextualTypeWithNamespace.js @@ -38,7 +38,8 @@ getStuff().exportedDirectly; "use strict"; // Repro from #44179 with some modification Object.defineProperty(exports, "__esModule", { value: true }); -exports.obj = exports.klass = exports.func = void 0; +exports.obj = exports.klass = void 0; +exports.func = func; exports.exportedDirectly = exportedDirectly; function func() { } var klass = /** @class */ (function () { diff --git a/tests/baselines/reference/spreadIdenticalTypesRemoved.types b/tests/baselines/reference/spreadIdenticalTypesRemoved.types index 7d16e388ae92c..dd9b91bb66a55 100644 --- a/tests/baselines/reference/spreadIdenticalTypesRemoved.types +++ b/tests/baselines/reference/spreadIdenticalTypesRemoved.types @@ -25,7 +25,7 @@ interface Animal { function clonePet(pet: Animal, fullCopy?: boolean) { >clonePet : (pet: Animal, fullCopy?: boolean) => { name: string; kind: string; age?: number | undefined; location?: string | undefined; owner?: object | undefined; } -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >pet : Animal > : ^^^^^^ >fullCopy : boolean | undefined @@ -33,7 +33,7 @@ function clonePet(pet: Animal, fullCopy?: boolean) { return { >{ name: pet.name, kind: pet.kind, ...(fullCopy && pet), } : { name: string; kind: string; age?: number | undefined; location?: string | undefined; owner?: object | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ name: pet.name, >name : string @@ -77,14 +77,14 @@ interface Animal2 { > : ^^^^^^^^^^^^^^^^^^ } function billOwner(pet: Animal2) { ->billOwner : (pet: Animal2) => { paid: boolean; name?: string | undefined; owner?: string | undefined; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>billOwner : (pet: Animal2) => { paid: boolean; name?: string | undefined; owner?: string; } +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >pet : Animal2 > : ^^^^^^^ return { ->{ ...(pet.owner && pet), paid: false } : { paid: boolean; name?: string | undefined; owner?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{ ...(pet.owner && pet), paid: false } : { paid: boolean; name?: string | undefined; owner?: string; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ...(pet.owner && pet), >(pet.owner && pet) : "" | Animal2 | undefined diff --git a/tests/baselines/reference/spreadIntersection.types b/tests/baselines/reference/spreadIntersection.types index 4a29fe0d17b3e..6b56e1b50ed9f 100644 --- a/tests/baselines/reference/spreadIntersection.types +++ b/tests/baselines/reference/spreadIntersection.types @@ -19,11 +19,11 @@ var o1: { a: number, b: string }; var o1 = { ...intersection }; >o1 : { a: number; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >{ ...intersection } : { a: number; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >intersection : { a: number; } & { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ var o2: { a: number, b: string, c: boolean }; >o2 : { a: number; b: string; c: boolean; } @@ -37,11 +37,11 @@ var o2: { a: number, b: string, c: boolean }; var o2 = { ...intersection, c: false }; >o2 : { a: number; b: string; c: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >{ ...intersection, c: false } : { c: boolean; a: number; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >intersection : { a: number; } & { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >c : boolean > : ^^^^^^^ >false : false diff --git a/tests/baselines/reference/spreadInvalidArgumentType.types b/tests/baselines/reference/spreadInvalidArgumentType.types index 18706b4039471..f600941b34698 100644 --- a/tests/baselines/reference/spreadInvalidArgumentType.types +++ b/tests/baselines/reference/spreadInvalidArgumentType.types @@ -11,7 +11,7 @@ enum E { v1, v2 }; function f(p1: T, p2: T[]) { >f : (p1: T, p2: T[]) => void -> : ^ ^^^^^^^^^^^^^^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >b : string > : ^^^^^^ >p1 : T @@ -105,10 +105,10 @@ function f(p1: T, p2: T[]) { > : ^ var o2 = { ...p2 }; // OK ->o2 : { [x: number]: T; length: number; toString(): string; toLocaleString(): string; pop(): T; push(...items: T[]): number; concat(...items: ConcatArray[]): T[]; concat(...items: (T | ConcatArray)[]): T[]; join(separator?: string): string; reverse(): T[]; shift(): T; slice(start?: number, end?: number): T[]; sort(compareFn?: (a: T, b: T) => number): T[]; splice(start: number, deleteCount?: number): T[]; splice(start: number, deleteCount: number, ...items: T[]): T[]; unshift(...items: T[]): number; indexOf(searchElement: T, fromIndex?: number): number; lastIndexOf(searchElement: T, fromIndex?: number): number; every(predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any): this is S[]; every(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): boolean; some(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): boolean; forEach(callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any): void; map(callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any): U[]; filter(predicate: (value: T, index: number, array: T[]) => value is S_1, thisArg?: any): S_1[]; filter(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): T[]; reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; reduce(callbackfn: (previousValue: U_1, currentValue: T, currentIndex: number, array: T[]) => U_1, initialValue: U_1): U_1; reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; reduceRight(callbackfn: (previousValue: U_2, currentValue: T, currentIndex: number, array: T[]) => U_2, initialValue: U_2): U_2; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ ^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ->{ ...p2 } : { [n: number]: T; length: number; toString(): string; toLocaleString(): string; pop(): T; push(...items: T[]): number; concat(...items: ConcatArray[]): T[]; concat(...items: (T | ConcatArray)[]): T[]; join(separator?: string): string; reverse(): T[]; shift(): T; slice(start?: number, end?: number): T[]; sort(compareFn?: (a: T, b: T) => number): T[]; splice(start: number, deleteCount?: number): T[]; splice(start: number, deleteCount: number, ...items: T[]): T[]; unshift(...items: T[]): number; indexOf(searchElement: T, fromIndex?: number): number; lastIndexOf(searchElement: T, fromIndex?: number): number; every(predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any): this is S[]; every(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): boolean; some(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): boolean; forEach(callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any): void; map(callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any): U[]; filter(predicate: (value: T, index: number, array: T[]) => value is S_1, thisArg?: any): S_1[]; filter(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): T[]; reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; reduce(callbackfn: (previousValue: U_1, currentValue: T, currentIndex: number, array: T[]) => U_1, initialValue: U_1): U_1; reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; reduceRight(callbackfn: (previousValue: U_2, currentValue: T, currentIndex: number, array: T[]) => U_2, initialValue: U_2): U_2; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ ^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +>o2 : { [x: number]: T; length: number; toString(): string; toLocaleString(): string; pop(): T | undefined; push(...items: T[]): number; concat(...items: ConcatArray[]): T[]; concat(...items: (T | ConcatArray)[]): T[]; join(separator?: string): string; reverse(): T[]; shift(): T | undefined; slice(start?: number, end?: number): T[]; sort(compareFn?: (a: T, b: T) => number): T[]; splice(start: number, deleteCount?: number): T[]; splice(start: number, deleteCount: number, ...items: T[]): T[]; unshift(...items: T[]): number; indexOf(searchElement: T, fromIndex?: number): number; lastIndexOf(searchElement: T, fromIndex?: number): number; every(predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any): this is S[]; every(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): boolean; some(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): boolean; forEach(callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any): void; map(callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any): U[]; filter(predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any): S[]; filter(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): T[]; reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; reduce(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; reduceRight(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^ ^^^ ^^^^ ^^^^^^^ ^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^^ ^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^ +>{ ...p2 } : { [n: number]: T; length: number; toString(): string; toLocaleString(): string; pop(): T | undefined; push(...items: T[]): number; concat(...items: ConcatArray[]): T[]; concat(...items: (T | ConcatArray)[]): T[]; join(separator?: string): string; reverse(): T[]; shift(): T | undefined; slice(start?: number, end?: number): T[]; sort(compareFn?: (a: T, b: T) => number): T[]; splice(start: number, deleteCount?: number): T[]; splice(start: number, deleteCount: number, ...items: T[]): T[]; unshift(...items: T[]): number; indexOf(searchElement: T, fromIndex?: number): number; lastIndexOf(searchElement: T, fromIndex?: number): number; every(predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any): this is S[]; every(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): boolean; some(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): boolean; forEach(callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any): void; map(callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any): U[]; filter(predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any): S[]; filter(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): T[]; reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; reduce(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; reduceRight(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^ ^^^ ^^^^ ^^^^^^^ ^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^^^^^^^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^^ ^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^ >p2 : T[] > : ^^^ @@ -154,11 +154,11 @@ function f(p1: T, p2: T[]) { var o8 = { ...union_generic }; // OK, union with generic type parameter >o8 : T | { a: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >{ ...union_generic } : T | { a: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >union_generic : T | { a: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ var o9 = { ...union_primitive }; // Error, union with generic type parameter >o9 : any @@ -166,15 +166,15 @@ function f(p1: T, p2: T[]) { >{ ...union_primitive } : any > : ^^^ >union_primitive : number | { a: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ var o10 = { ...intersection_generic }; // OK, intersection with generic type parameter >o10 : T & { a: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >{ ...intersection_generic } : T & { a: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >intersection_generic : T & { a: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ var o11 = { ...intersection_primitive }; // Error, intersection with generic type parameter >o11 : any @@ -182,7 +182,7 @@ function f(p1: T, p2: T[]) { >{ ...intersection_primitive } : any > : ^^^ >intersection_primitive : string | { a: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ var o12 = { ...num }; // Error >o12 : any diff --git a/tests/baselines/reference/spreadMethods.types b/tests/baselines/reference/spreadMethods.types index 8b91038e008e7..a246f69552e82 100644 --- a/tests/baselines/reference/spreadMethods.types +++ b/tests/baselines/reference/spreadMethods.types @@ -131,17 +131,17 @@ let i: I = { p: 12, m() { }, get g() { return 0; } }; let si = { ...i }; >si : { p: number; m(): void; g: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ ^^^^^ ^^^ >{ ...i } : { p: number; m(): void; g: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ ^^^^^ ^^^ >i : I > : ^ let ssi = { ...i, ...i }; >ssi : { p: number; m(): void; g: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ ^^^^^ ^^^ >{ ...i, ...i } : { p: number; m(): void; g: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ ^^^^^ ^^^ >i : I > : ^ >i : I @@ -151,7 +151,7 @@ si.p; >si.p : number > : ^^^^^^ >si : { p: number; m(): void; g: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ ^^^^^ ^^^ >p : number > : ^^^^^^ @@ -159,17 +159,17 @@ si.m(); // ok >si.m() : void > : ^^^^ >si.m : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >si : { p: number; m(): void; g: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ ^^^^^ ^^^ >m : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ si.g; // ok >si.g : number > : ^^^^^^ >si : { p: number; m(): void; g: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ ^^^^^ ^^^ >g : number > : ^^^^^^ @@ -177,7 +177,7 @@ ssi.p; >ssi.p : number > : ^^^^^^ >ssi : { p: number; m(): void; g: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ ^^^^^ ^^^ >p : number > : ^^^^^^ @@ -185,17 +185,17 @@ ssi.m(); // ok >ssi.m() : void > : ^^^^ >ssi.m : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >ssi : { p: number; m(): void; g: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ ^^^^^ ^^^ >m : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ ssi.g; // ok >ssi.g : number > : ^^^^^^ >ssi : { p: number; m(): void; g: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ ^^^^^ ^^^ >g : number > : ^^^^^^ diff --git a/tests/baselines/reference/spreadNonObject1.types b/tests/baselines/reference/spreadNonObject1.types index 136391bc8fcff..99aef7c6bc4e2 100644 --- a/tests/baselines/reference/spreadNonObject1.types +++ b/tests/baselines/reference/spreadNonObject1.types @@ -19,7 +19,7 @@ const b = { >(["4"] as S[]).map(function (s) { const a = { ...s, y: 6 }; }) : void[] > : ^^^^^^ >(["4"] as S[]).map : (callbackfn: (value: `${number}`, index: number, array: `${number}`[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >(["4"] as S[]) : `${number}`[] > : ^^^^^^^^^^^^^ >["4"] as S[] : `${number}`[] @@ -29,7 +29,7 @@ const b = { >"4" : "4" > : ^^^ >map : (callbackfn: (value: `${number}`, index: number, array: `${number}`[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >function (s) { const a = { ...s, y: 6 }; } : (s: `${number}`) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^ >s : `${number}` diff --git a/tests/baselines/reference/spreadObjectOrFalsy.types b/tests/baselines/reference/spreadObjectOrFalsy.types index 332e9fd5d6fdc..a33ded1d33fb3 100644 --- a/tests/baselines/reference/spreadObjectOrFalsy.types +++ b/tests/baselines/reference/spreadObjectOrFalsy.types @@ -29,7 +29,7 @@ function f2(a: T | T & undefined) { function f3(a: T) { >f3 : (a: T) => any -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ >a : T > : ^ @@ -42,7 +42,7 @@ function f3(a: T) { function f4(a: object | T) { >f4 : (a: object | T) => {} -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^ >a : object | T > : ^^^^^^^^^^ @@ -55,7 +55,7 @@ function f4(a: object | T) { function f5(a: S | T) { >f5 : (a: S | T) => S | T -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^ >a : S | T > : ^^^^^ @@ -68,7 +68,7 @@ function f5(a: S | T) { function f6(a: T) { >f6 : (a: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ >a : T > : ^ @@ -83,7 +83,7 @@ function f6(a: T) { function g1(a: A) { >g1 : (a: A) => T -> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ >z : T > : ^ >a : A @@ -130,17 +130,17 @@ class Foo { >this.hasData() : boolean > : ^^^^^^^ >this.hasData : () => this is DatafulFoo -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >hasData : () => this is DatafulFoo -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ this.data.toLocaleLowerCase(); >this.data.toLocaleLowerCase() : string > : ^^^^^^ >this.data.toLocaleLowerCase : (locales?: string | string[]) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >this.data : T > : ^ >this : this & DatafulFoo @@ -148,7 +148,7 @@ class Foo { >data : T > : ^ >toLocaleLowerCase : (locales?: string | string[]) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } } hasData(): this is DatafulFoo { diff --git a/tests/baselines/reference/spreadObjectPermutations(exactoptionalpropertytypes=false).types b/tests/baselines/reference/spreadObjectPermutations(exactoptionalpropertytypes=false).types index f1c1b3138e693..660e4d74b1545 100644 --- a/tests/baselines/reference/spreadObjectPermutations(exactoptionalpropertytypes=false).types +++ b/tests/baselines/reference/spreadObjectPermutations(exactoptionalpropertytypes=false).types @@ -21,157 +21,157 @@ declare const c: { x?: string | number | undefined }; const v_a = { ...a }; >v_a : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ ...a } : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ const v_b = { ...b }; ->v_b : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->{ ...b } : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>v_b : { x?: string | number; } +> : ^^^^^^ ^^^ +>{ ...b } : { x?: string | number; } +> : ^^^^^^ ^^^ +>b : { x?: string | number; } +> : ^^^^^^ ^^^ const v_c = { ...c }; >v_c : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >{ ...c } : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >c : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ const v_ab = { ...a, ...b }; >v_ab : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ ...a, ...b } : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ ->b : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ +>b : { x?: string | number; } +> : ^^^^^^ ^^^ const v_ac = { ...a, ...c }; >v_ac : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ ...a, ...c } : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ const v_ba = { ...b, ...a }; >v_ba : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ ...b, ...a } : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ ->b : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ +>b : { x?: string | number; } +> : ^^^^^^ ^^^ >a : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ const v_bc = { ...b, ...c }; ->v_bc : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->{ ...b, ...c } : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>v_bc : { x?: string | number; } +> : ^^^^^^ ^^^ +>{ ...b, ...c } : { x?: string | number; } +> : ^^^^^^ ^^^ +>b : { x?: string | number; } +> : ^^^^^^ ^^^ >c : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ const v_ca = { ...c, ...a }; >v_ca : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ ...c, ...a } : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >a : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ const v_cb = { ...c, ...b }; >v_cb : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >{ ...c, ...b } : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >c : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ +>b : { x?: string | number; } +> : ^^^^^^ ^^^ const v_abc = { ...a, ...b, ...c }; >v_abc : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ ...a, ...b, ...c } : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ ->b : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ +>b : { x?: string | number; } +> : ^^^^^^ ^^^ >c : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ const v_acb = { ...a, ...c, ...b }; >v_acb : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ ...a, ...c, ...b } : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ +>b : { x?: string | number; } +> : ^^^^^^ ^^^ const v_bac = { ...b, ...a, ...c }; >v_bac : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ ...b, ...a, ...c } : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ ->b : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ +>b : { x?: string | number; } +> : ^^^^^^ ^^^ >a : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ const v_bca = { ...b, ...c, ...a }; >v_bca : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ ...b, ...c, ...a } : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ ->b : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ +>b : { x?: string | number; } +> : ^^^^^^ ^^^ >c : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >a : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ const v_cab = { ...c, ...a, ...b }; >v_cab : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ ...c, ...a, ...b } : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >a : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ ->b : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ +>b : { x?: string | number; } +> : ^^^^^^ ^^^ const v_cba = { ...c, ...b, ...a }; >v_cba : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ ...c, ...b, ...a } : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ +>b : { x?: string | number; } +> : ^^^^^^ ^^^ >a : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ diff --git a/tests/baselines/reference/spreadObjectPermutations(exactoptionalpropertytypes=true).types b/tests/baselines/reference/spreadObjectPermutations(exactoptionalpropertytypes=true).types index 1d2c22e7a37d9..02ae4bdc4a7c0 100644 --- a/tests/baselines/reference/spreadObjectPermutations(exactoptionalpropertytypes=true).types +++ b/tests/baselines/reference/spreadObjectPermutations(exactoptionalpropertytypes=true).types @@ -21,37 +21,37 @@ declare const c: { x?: string | number | undefined }; const v_a = { ...a }; >v_a : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ ...a } : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ const v_b = { ...b }; >v_b : { x?: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >{ ...b } : { x?: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >b : { x?: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ const v_c = { ...c }; >v_c : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >{ ...c } : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >c : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ const v_ab = { ...a, ...b }; >v_ab : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ ...a, ...b } : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : { x?: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ const v_ac = { ...a, ...c }; >v_ac : { x: string | number | undefined; } @@ -59,49 +59,49 @@ const v_ac = { ...a, ...c }; >{ ...a, ...c } : { x: string | number | undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ const v_ba = { ...b, ...a }; >v_ba : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ ...b, ...a } : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : { x?: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >a : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ const v_bc = { ...b, ...c }; ->v_bc : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->{ ...b, ...c } : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>v_bc : { x?: string | number; } +> : ^^^^^^ ^^^ +>{ ...b, ...c } : { x?: string | number; } +> : ^^^^^^ ^^^ >b : { x?: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >c : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ const v_ca = { ...c, ...a }; >v_ca : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ ...c, ...a } : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >a : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ const v_cb = { ...c, ...b }; >v_cb : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >{ ...c, ...b } : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >c : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >b : { x?: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ const v_abc = { ...a, ...b, ...c }; >v_abc : { x: string | number | undefined; } @@ -109,11 +109,11 @@ const v_abc = { ...a, ...b, ...c }; >{ ...a, ...b, ...c } : { x: string | number | undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : { x?: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >c : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ const v_acb = { ...a, ...c, ...b }; >v_acb : { x: string | number | undefined; } @@ -121,11 +121,11 @@ const v_acb = { ...a, ...c, ...b }; >{ ...a, ...c, ...b } : { x: string | number | undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >b : { x?: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ const v_bac = { ...b, ...a, ...c }; >v_bac : { x: string | number | undefined; } @@ -133,45 +133,45 @@ const v_bac = { ...b, ...a, ...c }; >{ ...b, ...a, ...c } : { x: string | number | undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >b : { x?: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >a : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ const v_bca = { ...b, ...c, ...a }; >v_bca : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ ...b, ...c, ...a } : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : { x?: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >c : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >a : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ const v_cab = { ...c, ...a, ...b }; >v_cab : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ ...c, ...a, ...b } : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >a : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : { x?: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ const v_cba = { ...c, ...b, ...a }; >v_cba : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ ...c, ...b, ...a } : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : { x?: string | number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >b : { x?: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >a : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ diff --git a/tests/baselines/reference/spreadOfParamsFromGeneratorMakesRequiredParams.types b/tests/baselines/reference/spreadOfParamsFromGeneratorMakesRequiredParams.types index e18fee2410acd..500f68537fdb4 100644 --- a/tests/baselines/reference/spreadOfParamsFromGeneratorMakesRequiredParams.types +++ b/tests/baselines/reference/spreadOfParamsFromGeneratorMakesRequiredParams.types @@ -3,7 +3,7 @@ === spreadOfParamsFromGeneratorMakesRequiredParams.ts === declare function call any>( >call : any>(fn: Fn, ...args: Parameters) => any -> : ^ ^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >args : any[] > : ^^^^^ @@ -21,7 +21,7 @@ call(function* (a: 'a') { }); // error, 2nd argument required >call(function* (a: 'a') { }) : any > : ^^^ >call : any>(fn: Fn, ...args: Parameters) => any -> : ^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >function* (a: 'a') { } : (a: "a") => {} > : ^ ^^ ^^^^^^^ >a : "a" diff --git a/tests/baselines/reference/spreadOverwritesProperty.types b/tests/baselines/reference/spreadOverwritesProperty.types index 523d345c22a18..34d3dbbb7e6fd 100644 --- a/tests/baselines/reference/spreadOverwritesProperty.types +++ b/tests/baselines/reference/spreadOverwritesProperty.types @@ -20,37 +20,37 @@ declare var abq: { a: number, b?: number }; var unused1 = { b: 1, ...ab } >unused1 : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >{ b: 1, ...ab } : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >b : number > : ^^^^^^ >1 : 1 > : ^ >ab : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ var unused2 = { ...ab, ...ab } >unused2 : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >{ ...ab, ...ab } : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >ab : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >ab : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ var unused3 = { b: 1, ...abq } >unused3 : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >{ b: 1, ...abq } : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >b : number > : ^^^^^^ >1 : 1 > : ^ >abq : { a: number; b?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ function g(obj: { x: number | undefined }) { >g : (obj: { x: number | undefined; }) => { x: number | undefined; } @@ -61,14 +61,14 @@ function g(obj: { x: number | undefined }) { > : ^^^^^^ return { x: 1, ...obj }; ->{ x: 1, ...obj } : { x: number; } -> : ^^^^^^^^^^^^^^ +>{ x: 1, ...obj } : { x: number | undefined; } +> : ^^^^^ ^^^ >x : number > : ^^^^^^ >1 : 1 > : ^ ->obj : { x: number; } -> : ^^^^^^^^^^^^^^ +>obj : { x: number | undefined; } +> : ^^^^^ ^^^ } function h(obj: { x: number }) { >h : (obj: { x: number; }) => { x: number; } @@ -80,12 +80,12 @@ function h(obj: { x: number }) { return { x: 1, ...obj }; >{ x: 1, ...obj } : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : number > : ^^^^^^ >1 : 1 > : ^ >obj : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ } diff --git a/tests/baselines/reference/spreadOverwritesPropertyStrict.types b/tests/baselines/reference/spreadOverwritesPropertyStrict.types index 9db1117793350..f1d67c6696f0a 100644 --- a/tests/baselines/reference/spreadOverwritesPropertyStrict.types +++ b/tests/baselines/reference/spreadOverwritesPropertyStrict.types @@ -19,45 +19,45 @@ declare var abq: { a: number, b?: number }; var unused1 = { b: 1, ...ab } // error >unused1 : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >{ b: 1, ...ab } : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >b : number > : ^^^^^^ >1 : 1 > : ^ >ab : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ var unused2 = { ...ab, ...ab } // ok, overwritten error doesn't apply to spreads >unused2 : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >{ ...ab, ...ab } : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >ab : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >ab : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ var unused3 = { b: 1, ...abq } // ok, abq might have b: undefined >unused3 : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >{ b: 1, ...abq } : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >b : number > : ^^^^^^ >1 : 1 > : ^ ->abq : { a: number; b?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>abq : { a: number; b?: number; } +> : ^^^^^ ^^^^^^ ^^^ var unused4 = { ...ab, b: 1 } // ok, we don't care that b in ab is overwritten >unused4 : { b: number; a: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ >{ ...ab, b: 1 } : { b: number; a: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ >ab : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >b : number > : ^^^^^^ >1 : 1 @@ -65,11 +65,11 @@ var unused4 = { ...ab, b: 1 } // ok, we don't care that b in ab is overwritten var unused5 = { ...abq, b: 1 } // ok >unused5 : { b: number; a: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ >{ ...abq, b: 1 } : { b: number; a: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->abq : { a: number; b?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^ +>abq : { a: number; b?: number; } +> : ^^^^^ ^^^^^^ ^^^ >b : number > : ^^^^^^ >1 : 1 @@ -85,13 +85,13 @@ function g(obj: { x: number | undefined }) { return { x: 1, ...obj }; // ok, obj might have x: undefined >{ x: 1, ...obj } : { x: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : number > : ^^^^^^ >1 : 1 > : ^ >obj : { x: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ } function f(obj: { x: number } | undefined) { >f : (obj: { x: number; } | undefined) => { x: number; } @@ -103,13 +103,13 @@ function f(obj: { x: number } | undefined) { return { x: 1, ...obj }; // ok, obj might be undefined >{ x: 1, ...obj } : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : number > : ^^^^^^ >1 : 1 > : ^ >obj : { x: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ } function h(obj: { x: number } | { x: string }) { >h : (obj: { x: number; } | { x: string; }) => { x: number; } | { x: string; } @@ -123,13 +123,13 @@ function h(obj: { x: number } | { x: string }) { return { x: 1, ...obj } // error >{ x: 1, ...obj } : { x: number; } | { x: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >x : number > : ^^^^^^ >1 : 1 > : ^ >obj : { x: number; } | { x: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ } function i(b: boolean, t: { command: string, ok: string }) { >i : (b: boolean, t: { command: string; ok: string; }) => { command: string; ok?: string | undefined; } @@ -145,19 +145,19 @@ function i(b: boolean, t: { command: string, ok: string }) { return { command: "hi", ...(b ? t : {}) } // ok >{ command: "hi", ...(b ? t : {}) } : { command: string; ok?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >command : string > : ^^^^^^ >"hi" : "hi" > : ^^^^ >(b ? t : {}) : { command: string; ok: string; } | {} -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^ ^^^^^^^^ >b ? t : {} : { command: string; ok: string; } | {} -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^ ^^^^^^^^ >b : boolean > : ^^^^^^^ >t : { command: string; ok: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^ ^^^ >{} : {} > : ^^ } @@ -193,7 +193,7 @@ function k(t: { command: string, ok: string }) { return { command: "hi", ...{ spoiler: true }, spoiler2: true, ...t } // error >{ command: "hi", ...{ spoiler: true }, spoiler2: true, ...t } : { command: string; ok: string; spoiler2: boolean; spoiler: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >command : string > : ^^^^^^ >"hi" : "hi" @@ -209,7 +209,7 @@ function k(t: { command: string, ok: string }) { >true : true > : ^^^^ >t : { command: string; ok: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^ ^^^ } function l(anyrequired: { a: any }) { @@ -222,13 +222,13 @@ function l(anyrequired: { a: any }) { return { a: 'zzz', ...anyrequired } // error >{ a: 'zzz', ...anyrequired } : { a: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : string > : ^^^^^^ >'zzz' : "zzz" > : ^^^^^ >anyrequired : { a: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ } function m(anyoptional: { a?: any }) { >m : (anyoptional: { a?: any; }) => { a: any; } @@ -240,13 +240,13 @@ function m(anyoptional: { a?: any }) { return { a: 'zzz', ...anyoptional } // ok >{ a: 'zzz', ...anyoptional } : { a: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : string > : ^^^^^^ >'zzz' : "zzz" > : ^^^^^ >anyoptional : { a?: any; } -> : ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ } diff --git a/tests/baselines/reference/spreadTupleAccessedByTypeParameter.types b/tests/baselines/reference/spreadTupleAccessedByTypeParameter.types index 216e3ae90a5b5..562053320a525 100644 --- a/tests/baselines/reference/spreadTupleAccessedByTypeParameter.types +++ b/tests/baselines/reference/spreadTupleAccessedByTypeParameter.types @@ -3,7 +3,7 @@ === spreadTupleAccessedByTypeParameter.ts === export function test(singletons: ["a"][], i: N) { >test : (singletons: ["a"][], i: N) => [] -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ >singletons : ["a"][] > : ^^^^^^^ >i : N diff --git a/tests/baselines/reference/spreadTypeRemovesReadonly.types b/tests/baselines/reference/spreadTypeRemovesReadonly.types index d0913d47a49e7..1f78ec19e52e7 100644 --- a/tests/baselines/reference/spreadTypeRemovesReadonly.types +++ b/tests/baselines/reference/spreadTypeRemovesReadonly.types @@ -19,9 +19,9 @@ const data: ReadonlyData = { value: 'foo' }; const clone = { ...data }; >clone : { value: string; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >{ ...data } : { value: string; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >data : ReadonlyData > : ^^^^^^^^^^^^ @@ -31,7 +31,7 @@ clone.value = 'bar'; >clone.value : string > : ^^^^^^ >clone : { value: string; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >value : string > : ^^^^^^ >'bar' : "bar" diff --git a/tests/baselines/reference/spreadTypeVariable.types b/tests/baselines/reference/spreadTypeVariable.types index 1341b7eef3686..6d2bf2bd48ec8 100644 --- a/tests/baselines/reference/spreadTypeVariable.types +++ b/tests/baselines/reference/spreadTypeVariable.types @@ -3,7 +3,7 @@ === spreadTypeVariable.ts === function f1(arg: T) { >f1 : (arg: T) => any -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ >arg : T > : ^ @@ -16,7 +16,7 @@ function f1(arg: T) { function f2(arg: T) { >f2 : (arg: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ >arg : T > : ^ @@ -29,7 +29,7 @@ function f2(arg: T) { function f3(arg: T) { >f3 : (arg: T) => any -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ >arg : T > : ^ @@ -42,7 +42,7 @@ function f3(arg: T) { function f4(arg: T) { >f4 : (arg: T) => any -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ >key : string > : ^^^^^^ >arg : T @@ -57,7 +57,7 @@ function f4(arg: T) { function f5(arg: T) { >f5 : (arg: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ >key : string > : ^^^^^^ >arg : T diff --git a/tests/baselines/reference/spreadUnion.types b/tests/baselines/reference/spreadUnion.types index 7e02f549918d4..ca1d3ba57fab7 100644 --- a/tests/baselines/reference/spreadUnion.types +++ b/tests/baselines/reference/spreadUnion.types @@ -19,11 +19,11 @@ var o3: { a: number } | { b: string }; var o3 = { ...union }; >o3 : { a: number; } | { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >{ ...union } : { a: number; } | { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >union : { a: number; } | { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ var o4: { a: boolean } | { b: string , a: boolean}; >o4 : { a: boolean; } | { b: string; a: boolean; } @@ -37,11 +37,11 @@ var o4: { a: boolean } | { b: string , a: boolean}; var o4 = { ...union, a: false }; >o4 : { a: boolean; } | { b: string; a: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^ >{ ...union, a: false } : { a: boolean; } | { a: boolean; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >union : { a: number; } | { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >a : boolean > : ^^^^^^^ >false : false @@ -61,11 +61,11 @@ var o5: { a: number } | { b: string } | { a: number, b: string }; var o5 = { ...union, ...union }; >o5 : { a: number; } | { b: string; } | { a: number; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^ >{ ...union, ...union } : { a: number; } | { b: string; a: number; } | { a: number; b: string; } | { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^ ^^^ >union : { a: number; } | { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >union : { a: number; } | { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ diff --git a/tests/baselines/reference/spreadUnion2.types b/tests/baselines/reference/spreadUnion2.types index c7a7bd278d977..d27cfe6d5e0b5 100644 --- a/tests/baselines/reference/spreadUnion2.types +++ b/tests/baselines/reference/spreadUnion2.types @@ -21,11 +21,11 @@ var o1: {} | { a: number }; var o1 = { ...undefinedUnion }; >o1 : {} | { a: number; } -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^ >{ ...undefinedUnion } : { a?: number | undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >undefinedUnion : { a: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ var o2: {} | { b: number }; >o2 : {} | { b: number; } @@ -35,11 +35,11 @@ var o2: {} | { b: number }; var o2 = { ...nullUnion }; >o2 : {} | { b: number; } -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^ >{ ...nullUnion } : { b?: number | undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >nullUnion : { b: number; } | null -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^ var o3: {} | { a: number } | { b: number } | { a: number, b: number }; >o3 : {} | { a: number; } | { b: number; } | { a: number; b: number; } @@ -55,23 +55,23 @@ var o3: {} | { a: number } | { b: number } | { a: number, b: number }; var o3 = { ...undefinedUnion, ...nullUnion }; >o3 : {} | { a: number; } | { b: number; } | { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^ >{ ...undefinedUnion, ...nullUnion } : { b?: number | undefined; a?: number | undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >undefinedUnion : { a: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >nullUnion : { b: number; } | null -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^ var o3 = { ...nullUnion, ...undefinedUnion }; >o3 : {} | { a: number; } | { b: number; } | { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^ ^^^ >{ ...nullUnion, ...undefinedUnion } : { a?: number | undefined; b?: number | undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >nullUnion : { b: number; } | null -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^ >undefinedUnion : { a: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ var o4: {} | { a: number }; >o4 : {} | { a: number; } @@ -81,13 +81,13 @@ var o4: {} | { a: number }; var o4 = { ...undefinedUnion, ...undefinedUnion }; >o4 : {} | { a: number; } -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^ >{ ...undefinedUnion, ...undefinedUnion } : { a?: number | undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >undefinedUnion : { a: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >undefinedUnion : { a: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ var o5: {} | { b: number }; >o5 : {} | { b: number; } @@ -97,12 +97,12 @@ var o5: {} | { b: number }; var o5 = { ...nullUnion, ...nullUnion }; >o5 : {} | { b: number; } -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^ >{ ...nullUnion, ...nullUnion } : { b?: number | undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >nullUnion : { b: number; } | null -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^ >nullUnion : { b: number; } | null -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^ diff --git a/tests/baselines/reference/spreadUnion3.types b/tests/baselines/reference/spreadUnion3.types index 64d8acf275598..007e530937fed 100644 --- a/tests/baselines/reference/spreadUnion3.types +++ b/tests/baselines/reference/spreadUnion3.types @@ -19,13 +19,13 @@ function f(x: { y: string } | undefined): { y: string } { >123 : 123 > : ^^^ >x : { y: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ } f(undefined) >f(undefined) : { y: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >f : (x: { y: string; } | undefined) => { y: string; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ @@ -44,7 +44,7 @@ function g(t?: { a: number } | null): void { >{ ...t } : { a?: number | undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >t : { a: number; } | null | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ let c: number = b.a; // might not have 'a' >c : number @@ -60,13 +60,13 @@ g() >g() : void > : ^^^^ >g : (t?: { a: number; } | null) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ g(undefined) >g(undefined) : void > : ^^^^ >g : (t?: { a: number; } | null) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ @@ -74,7 +74,7 @@ g(null) >g(null) : void > : ^^^^ >g : (t?: { a: number; } | null) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ // spreading nothing but null and undefined is not allowed declare const nullAndUndefinedUnion: null | undefined; diff --git a/tests/baselines/reference/spreadUnion4.types b/tests/baselines/reference/spreadUnion4.types index d895a0fbaa166..bb3427c400338 100644 --- a/tests/baselines/reference/spreadUnion4.types +++ b/tests/baselines/reference/spreadUnion4.types @@ -15,11 +15,11 @@ declare const b: { x?: () => void } const c = { ...a, ...b }; >c : { x: () => void; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ ...a, ...b } : { x: () => void; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : { x: () => void; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : { x?: () => void; } -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ diff --git a/tests/baselines/reference/spreadsAndContextualTupleTypes.types b/tests/baselines/reference/spreadsAndContextualTupleTypes.types index 4bd6c9fa4a447..a7e2d9aec9a77 100644 --- a/tests/baselines/reference/spreadsAndContextualTupleTypes.types +++ b/tests/baselines/reference/spreadsAndContextualTupleTypes.types @@ -3,13 +3,13 @@ === spreadsAndContextualTupleTypes.ts === declare function fx1(x: T): T; >fx1 : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : T > : ^ declare function fx2(x: T): T; >fx2 : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : T > : ^ @@ -31,7 +31,7 @@ fx1(['x', 'y', 'z', 'a']); >fx1(['x', 'y', 'z', 'a']) : [string, string, string, "a"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >fx1 : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >['x', 'y', 'z', 'a'] : [string, string, string, "a"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'x' : "x" @@ -47,7 +47,7 @@ fx1([...t3, 'a']); >fx1([...t3, 'a']) : ["x", "y", "z", "a"] > : ^^^^^^^^^^^^^^^^^^^^ >fx1 : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >[...t3, 'a'] : ["x", "y", "z", "a"] > : ^^^^^^^^^^^^^^^^^^^^ >...t3 : "x" | "y" | "z" @@ -61,7 +61,7 @@ fx2(['x', 'y', 'z', 'a']); >fx2(['x', 'y', 'z', 'a']) : [string, string, string, "a"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >fx2 : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >['x', 'y', 'z', 'a'] : [string, string, string, "a"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'x' : "x" @@ -77,7 +77,7 @@ fx2([...t3, 'a']); >fx2([...t3, 'a']) : ["x", "y", "z", "a"] > : ^^^^^^^^^^^^^^^^^^^^ >fx2 : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >[...t3, 'a'] : ["x", "y", "z", "a"] > : ^^^^^^^^^^^^^^^^^^^^ >...t3 : "x" | "y" | "z" @@ -175,7 +175,7 @@ const a1 = foo([...staticPath1Level, randomID, 'doc.pdf']); >foo([...staticPath1Level, randomID, 'doc.pdf']) : readonly ["home", string, "doc.pdf"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (path: T) => T -> : ^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >[...staticPath1Level, randomID, 'doc.pdf'] : ["home", string, "doc.pdf"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >...staticPath1Level : "home" @@ -193,7 +193,7 @@ const a2 = foo([...staticPath2Level, randomID, 'doc.pdf']); >foo([...staticPath2Level, randomID, 'doc.pdf']) : readonly ["home", "user", string, "doc.pdf"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (path: T) => T -> : ^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >[...staticPath2Level, randomID, 'doc.pdf'] : ["home", "user", string, "doc.pdf"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >...staticPath2Level : "home" | "user" @@ -211,7 +211,7 @@ const a3 = foo([...staticPath3Level, randomID, 'doc.pdf']); >foo([...staticPath3Level, randomID, 'doc.pdf']) : readonly ["home", "user", "downloads", string, "doc.pdf"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (path: T) => T -> : ^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >[...staticPath3Level, randomID, 'doc.pdf'] : ["home", "user", "downloads", string, "doc.pdf"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >...staticPath3Level : "home" | "user" | "downloads" @@ -229,7 +229,7 @@ const b1 = foo([...staticPath1Level, randomID, 'folder', 'doc.pdf']); >foo([...staticPath1Level, randomID, 'folder', 'doc.pdf']) : readonly ["home", string, "folder", "doc.pdf"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (path: T) => T -> : ^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >[...staticPath1Level, randomID, 'folder', 'doc.pdf'] : ["home", string, "folder", "doc.pdf"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >...staticPath1Level : "home" @@ -249,7 +249,7 @@ const b2 = foo([...staticPath2Level, randomID, 'folder', 'doc.pdf']); >foo([...staticPath2Level, randomID, 'folder', 'doc.pdf']) : readonly ["home", "user", string, "folder", "doc.pdf"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (path: T) => T -> : ^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >[...staticPath2Level, randomID, 'folder', 'doc.pdf'] : ["home", "user", string, "folder", "doc.pdf"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >...staticPath2Level : "home" | "user" @@ -269,7 +269,7 @@ const b3 = foo([...staticPath3Level, randomID, 'folder', 'doc.pdf']); >foo([...staticPath3Level, randomID, 'folder', 'doc.pdf']) : readonly ["home", "user", "downloads", string, "folder", "doc.pdf"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (path: T) => T -> : ^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >[...staticPath3Level, randomID, 'folder', 'doc.pdf'] : ["home", "user", "downloads", string, "folder", "doc.pdf"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >...staticPath3Level : "home" | "user" | "downloads" @@ -289,7 +289,7 @@ const c1 = foo([...staticPath1Level, randomID, 'folder', 'subfolder', 'doc.pdf'] >foo([...staticPath1Level, randomID, 'folder', 'subfolder', 'doc.pdf']) : readonly ["home", string, "folder", "subfolder", "doc.pdf"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (path: T) => T -> : ^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >[...staticPath1Level, randomID, 'folder', 'subfolder', 'doc.pdf'] : ["home", string, "folder", "subfolder", "doc.pdf"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >...staticPath1Level : "home" @@ -311,7 +311,7 @@ const c2 = foo([...staticPath2Level, randomID, 'folder', 'subfolder', 'doc.pdf'] >foo([...staticPath2Level, randomID, 'folder', 'subfolder', 'doc.pdf']) : readonly ["home", "user", string, "folder", "subfolder", "doc.pdf"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (path: T) => T -> : ^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >[...staticPath2Level, randomID, 'folder', 'subfolder', 'doc.pdf'] : ["home", "user", string, "folder", "subfolder", "doc.pdf"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >...staticPath2Level : "home" | "user" @@ -333,7 +333,7 @@ const c3 = foo([...staticPath3Level, randomID, 'folder', 'subfolder', 'doc.pdf'] >foo([...staticPath3Level, randomID, 'folder', 'subfolder', 'doc.pdf']) : readonly ["home", "user", "downloads", string, "folder", "subfolder", "doc.pdf"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (path: T) => T -> : ^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >[...staticPath3Level, randomID, 'folder', 'subfolder', 'doc.pdf'] : ["home", "user", "downloads", string, "folder", "subfolder", "doc.pdf"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >...staticPath3Level : "home" | "user" | "downloads" @@ -355,7 +355,7 @@ const d1 = foo([...staticPath1Level, randomID, 'folder', 'subfolder', 'another-s >foo([...staticPath1Level, randomID, 'folder', 'subfolder', 'another-subfolder', 'doc.pdf']) : readonly ["home", string, "folder", "subfolder", "another-subfolder", "doc.pdf"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (path: T) => T -> : ^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >[...staticPath1Level, randomID, 'folder', 'subfolder', 'another-subfolder', 'doc.pdf'] : ["home", string, "folder", "subfolder", "another-subfolder", "doc.pdf"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >...staticPath1Level : "home" @@ -379,7 +379,7 @@ const d2 = foo([...staticPath2Level, randomID, 'folder', 'subfolder', 'another-s >foo([...staticPath2Level, randomID, 'folder', 'subfolder', 'another-subfolder', 'doc.pdf']) : readonly ["home", "user", string, "folder", "subfolder", "another-subfolder", "doc.pdf"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (path: T) => T -> : ^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >[...staticPath2Level, randomID, 'folder', 'subfolder', 'another-subfolder', 'doc.pdf'] : ["home", "user", string, "folder", "subfolder", "another-subfolder", "doc.pdf"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >...staticPath2Level : "home" | "user" @@ -403,7 +403,7 @@ const d3 = foo([...staticPath3Level, randomID, 'folder', 'subfolder', 'another-s >foo([...staticPath3Level, randomID, 'folder', 'subfolder', 'another-subfolder', 'doc.pdf']) : readonly ["home", "user", "downloads", string, "folder", "subfolder", "another-subfolder", "doc.pdf"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (path: T) => T -> : ^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >[...staticPath3Level, randomID, 'folder', 'subfolder', 'another-subfolder', 'doc.pdf'] : ["home", "user", "downloads", string, "folder", "subfolder", "another-subfolder", "doc.pdf"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >...staticPath3Level : "home" | "user" | "downloads" diff --git a/tests/baselines/reference/spuriousCircularityOnTypeImport.types b/tests/baselines/reference/spuriousCircularityOnTypeImport.types index 675ed82b6c532..8816b1f1904ab 100644 --- a/tests/baselines/reference/spuriousCircularityOnTypeImport.types +++ b/tests/baselines/reference/spuriousCircularityOnTypeImport.types @@ -25,8 +25,8 @@ export declare const value2: { > : ^^^^^^^^^^^^^^^^^^ ^^^ sliceSelectors: >(selectorsBySlice: FuncMap) => { [P in keyof FuncMap]: Parameters }; ->sliceSelectors : >(selectorsBySlice: FuncMap) => { [P in keyof FuncMap]: Parameters; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +>sliceSelectors : >(selectorsBySlice: FuncMap) => { [P in keyof FuncMap]: Parameters; } +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >selectorsBySlice : FuncMap > : ^^^^^^^ @@ -38,7 +38,7 @@ export declare const value3: { sliceSelectors: >(selectorsBySlice: FuncMap) => { [P in keyof FuncMap]: Parameters }; >sliceSelectors : >(selectorsBySlice: FuncMap) => { [P in keyof FuncMap]: Parameters; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >selectorsBySlice : FuncMap > : ^^^^^^^ diff --git a/tests/baselines/reference/spyComparisonChecking.types b/tests/baselines/reference/spyComparisonChecking.types index 682babc8a4cc6..8d8860d18545b 100644 --- a/tests/baselines/reference/spyComparisonChecking.types +++ b/tests/baselines/reference/spyComparisonChecking.types @@ -56,7 +56,7 @@ function mock(spyName: string, methodNames: Array): SpyObj { >createSpyObj(spyName, methodNames) : SpyObj > : ^^^^^^^^^ >createSpyObj : (name: string, names: Array) => SpyObj -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >spyName : string > : ^^^^^^ >methodNames : (keyof T)[] diff --git a/tests/baselines/reference/stackDepthLimitCastingType.types b/tests/baselines/reference/stackDepthLimitCastingType.types index 8ef2fa68acc92..5d0bf5c16487b 100644 --- a/tests/baselines/reference/stackDepthLimitCastingType.types +++ b/tests/baselines/reference/stackDepthLimitCastingType.types @@ -104,10 +104,10 @@ hoge.fetch(null as any); >hoge.fetch(null as any) : JQueryXHR > : ^^^^^^^^^ >hoge.fetch : (options?: any) => JQueryXHR -> : ^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >hoge : Backbone.ModelWithCache > : ^^^^^^^^^^^^^^^^^^^^^^^ >fetch : (options?: any) => JQueryXHR -> : ^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >null as any : any diff --git a/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.types b/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.types index bdf69cdbe81a9..4eab51e9e65d4 100644 --- a/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.types +++ b/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.types @@ -54,11 +54,11 @@ class ListWrapper2 { >array.slice(0) : T[] > : ^^^ >array.slice : (start?: number, end?: number) => T[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^ >array : T[] > : ^^^ >slice : (start?: number, end?: number) => T[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^ >0 : 0 > : ^ @@ -78,11 +78,11 @@ class ListWrapper2 { >ListWrapper2.clone(dit, array) : T[] > : ^^^ >ListWrapper2.clone : (dit: typeof ListWrapper2, array: T_1[]) => T_1[] -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >ListWrapper2 : typeof ListWrapper2 > : ^^^^^^^^^^^^^^^^^^^ >clone : (dit: typeof ListWrapper2, array: T_1[]) => T_1[] -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >dit : typeof ListWrapper2 > : ^^^^^^^^^^^^^^^^^^^ >array : T[] @@ -148,7 +148,7 @@ namespace tessst { >callback(array[i], i) : U > : ^ >callback : (element: T, index: number) => U -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >array[i] : T > : ^ >array : T[] @@ -234,11 +234,11 @@ class ListWrapper { >array.slice(0) : T[] > : ^^^ >array.slice : (start?: number, end?: number) => T[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^ >array : T[] > : ^^^ >slice : (start?: number, end?: number) => T[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^ >0 : 0 > : ^ @@ -282,7 +282,7 @@ class ListWrapper { >fn(array[i], i) : void > : ^^^^ >fn : (t: T, n: number) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >array[i] : T > : ^ >array : T[] @@ -381,11 +381,11 @@ class ListWrapper { >array.indexOf(value, startIndex) : number > : ^^^^^^ >array.indexOf : (searchElement: T, fromIndex?: number) => number -> : ^ ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^^ ^^^^^ >array : T[] > : ^^^ >indexOf : (searchElement: T, fromIndex?: number) => number -> : ^ ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^^ ^^^^^ >value : T > : ^ >startIndex : number @@ -407,11 +407,11 @@ class ListWrapper { >list.indexOf(el) : number > : ^^^^^^ >list.indexOf : (searchElement: T, fromIndex?: number) => number -> : ^ ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^^ ^^^^^ >list : T[] > : ^^^ >indexOf : (searchElement: T, fromIndex?: number) => number -> : ^ ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^^ ^^^^^ >el : T > : ^ >-1 : -1 @@ -435,11 +435,11 @@ class ListWrapper { >ListWrapper.clone(dit, array) : T[] > : ^^^ >ListWrapper.clone : (dit: typeof ListWrapper, array: T_1[]) => T_1[] -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >ListWrapper : typeof ListWrapper > : ^^^^^^^^^^^^^^^^^^ >clone : (dit: typeof ListWrapper, array: T_1[]) => T_1[] -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >dit : typeof ListWrapper > : ^^^^^^^^^^^^^^^^^^ >array : T[] @@ -453,11 +453,11 @@ class ListWrapper { >scanner.scanRange(3, 5, () => { }) : void > : ^^^^ >scanner.scanRange : (start: number, length: number, callback: () => T_1) => T_1 -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >scanner : Scanner > : ^^^^^^^ >scanRange : (start: number, length: number, callback: () => T_1) => T_1 -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >3 : 3 > : ^ >5 : 5 @@ -471,11 +471,11 @@ class ListWrapper { >tessst.funkyFor(array, t => t.toString()) : string > : ^^^^^^ >tessst.funkyFor : (array: T_1[], callback: (element: T_1, index: number) => U) => U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >tessst : typeof tessst > : ^^^^^^^^^^^^^ >funkyFor : (array: T_1[], callback: (element: T_1, index: number) => U) => U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >array : T[] > : ^^^ >t => t.toString() : (t: T) => string @@ -485,19 +485,19 @@ class ListWrapper { >t.toString() : string > : ^^^^^^ >t.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >t : T > : ^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >a.reverse() : T[] > : ^^^ >a.reverse : () => T[] -> : ^^^^^^^^^ +> : ^^^^^^^ >a : T[] > : ^^^ >reverse : () => T[] -> : ^^^^^^^^^ +> : ^^^^^^^ >a : T[] > : ^^^ } @@ -515,11 +515,11 @@ class ListWrapper { >a.concat(b) : any[] > : ^^^^^ >a.concat : { (...items: ConcatArray[]): any[]; (...items: any[]): any[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^ ^^^ >a : any[] > : ^^^^^ >concat : { (...items: ConcatArray[]): any[]; (...items: any[]): any[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^ ^^^ >b : any[] > : ^^^^^ @@ -539,11 +539,11 @@ class ListWrapper { >list.splice(index, 0, value) : T[] > : ^^^ >list.splice : { (start: number, deleteCount?: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^ ^^^ >list : T[] > : ^^^ >splice : { (start: number, deleteCount?: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^ ^^^ >index : number > : ^^^^^^ >0 : 0 @@ -577,11 +577,11 @@ class ListWrapper { >list.splice(index, 1) : T[] > : ^^^ >list.splice : { (start: number, deleteCount?: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^ ^^^ >list : T[] > : ^^^ >splice : { (start: number, deleteCount?: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^ ^^^ >index : number > : ^^^^^^ >1 : 1 @@ -629,11 +629,11 @@ class ListWrapper { >list.indexOf(items[i]) : number > : ^^^^^^ >list.indexOf : (searchElement: T, fromIndex?: number) => number -> : ^ ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^^ ^^^^^ >list : T[] > : ^^^ >indexOf : (searchElement: T, fromIndex?: number) => number -> : ^ ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^^ ^^^^^ >items[i] : T > : ^ >items : T[] @@ -645,11 +645,11 @@ class ListWrapper { >list.splice(index, 1) : T[] > : ^^^ >list.splice : { (start: number, deleteCount?: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^ ^^^ >list : T[] > : ^^^ >splice : { (start: number, deleteCount?: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^ ^^^ >index : number > : ^^^^^^ >1 : 1 @@ -674,11 +674,11 @@ class ListWrapper { >list.indexOf(el) : number > : ^^^^^^ >list.indexOf : (searchElement: T, fromIndex?: number) => number -> : ^ ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^^ ^^^^^ >list : T[] > : ^^^ >indexOf : (searchElement: T, fromIndex?: number) => number -> : ^ ^^^^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^^ ^^^^^ >el : T > : ^ @@ -696,11 +696,11 @@ class ListWrapper { >list.splice(index, 1) : T[] > : ^^^ >list.splice : { (start: number, deleteCount?: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^ ^^^ >list : T[] > : ^^^ >splice : { (start: number, deleteCount?: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^ ^^^ >index : number > : ^^^^^^ >1 : 1 @@ -775,11 +775,11 @@ class ListWrapper { >list.fill(value, start, end === null ? list.length : end) : void > : ^^^^ >list.fill : (value: any, start: number, end: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >list : any[] > : ^^^^^ >fill : (value: any, start: number, end: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >value : any >start : number > : ^^^^^^ @@ -888,11 +888,11 @@ class ListWrapper { >l.slice(from, to === null ? undefined : to) : T[] > : ^^^ >l.slice : (start?: number, end?: number) => T[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^ >l : T[] > : ^^^ >slice : (start?: number, end?: number) => T[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^ >from : number > : ^^^^^^ >to === null ? undefined : to : number @@ -922,11 +922,11 @@ class ListWrapper { >l.splice(from, length) : T[] > : ^^^ >l.splice : { (start: number, deleteCount?: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^ ^^^ >l : T[] > : ^^^ >splice : { (start: number, deleteCount?: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^ ^^^ >from : number > : ^^^^^^ >length : number @@ -952,32 +952,32 @@ class ListWrapper { >isPresent(compareFn) : boolean > : ^^^^^^^ >isPresent : (compareFn?: (a: T_1, b: T_1) => number) => boolean -> : ^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >compareFn : (a: T, b: T) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ l.sort(compareFn); >l.sort(compareFn) : T[] > : ^^^ >l.sort : (compareFn?: (a: T, b: T) => number) => T[] -> : ^ ^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >l : T[] > : ^^^ >sort : (compareFn?: (a: T, b: T) => number) => T[] -> : ^ ^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >compareFn : (a: T, b: T) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ } else { l.sort(); >l.sort() : T[] > : ^^^ >l.sort : (compareFn?: (a: T, b: T) => number) => T[] -> : ^ ^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >l : T[] > : ^^^ >sort : (compareFn?: (a: T, b: T) => number) => T[] -> : ^ ^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ } } static toString(dit: typeof ListWrapper, l: T[]): string { return l.toString(); } @@ -992,11 +992,11 @@ class ListWrapper { >l.toString() : string > : ^^^^^^ >l.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >l : T[] > : ^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ static toJSON(dit: typeof ListWrapper, l: T[]): string { return JSON.stringify(l); } >toJSON : (dit: typeof ListWrapper, l: T[]) => string @@ -1010,11 +1010,11 @@ class ListWrapper { >JSON.stringify(l) : string > : ^^^^^^ >JSON.stringify : { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; } -> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >JSON : JSON > : ^^^^ >stringify : { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; } -> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >l : T[] > : ^^^ @@ -1092,7 +1092,7 @@ class ListWrapper { >isBlank(candidate) : boolean > : ^^^^^^^ >isBlank : (x: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >candidate : T > : ^ @@ -1104,7 +1104,7 @@ class ListWrapper { >predicate(candidate) : number > : ^^^^^^ >predicate : (t: T) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >candidate : T > : ^ @@ -1144,11 +1144,11 @@ let cloned = ListWrapper.clone(ListWrapper, [1,2,3,4]); >ListWrapper.clone(ListWrapper, [1,2,3,4]) : number[] > : ^^^^^^^^ >ListWrapper.clone : (dit: typeof ListWrapper, array: T[]) => T[] -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >ListWrapper : typeof ListWrapper > : ^^^^^^^^^^^^^^^^^^ >clone : (dit: typeof ListWrapper, array: T[]) => T[] -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >ListWrapper : typeof ListWrapper > : ^^^^^^^^^^^^^^^^^^ >[1,2,3,4] : number[] diff --git a/tests/baselines/reference/staticFieldWithInterfaceContext.types b/tests/baselines/reference/staticFieldWithInterfaceContext.types index b76e10f3edb74..33e959ec5b630 100644 --- a/tests/baselines/reference/staticFieldWithInterfaceContext.types +++ b/tests/baselines/reference/staticFieldWithInterfaceContext.types @@ -30,11 +30,11 @@ c.x = { a: "a" }; >c.x = { a: "a" } : { a: "a"; } > : ^^^^^^^^^^^ >c.x : { a: "a"; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : I > : ^ >x : { a: "a"; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ a: "a" } : { a: "a"; } > : ^^^^^^^^^^^ >a : "a" @@ -68,7 +68,7 @@ c[ex] = { a: "a" }; >c[ex] = { a: "a" } : { a: "a"; } > : ^^^^^^^^^^^ >c[ex] : { a: "a"; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ >c : I > : ^ >ex : "x" diff --git a/tests/baselines/reference/staticInstanceResolution2.types b/tests/baselines/reference/staticInstanceResolution2.types index 3dab8fd4f295e..d9b5f3708a105 100644 --- a/tests/baselines/reference/staticInstanceResolution2.types +++ b/tests/baselines/reference/staticInstanceResolution2.types @@ -9,11 +9,11 @@ A.hasOwnProperty('foo'); >A.hasOwnProperty('foo') : boolean > : ^^^^^^^ >A.hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >A : typeof A > : ^^^^^^^^ >hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'foo' : "foo" > : ^^^^^ @@ -27,11 +27,11 @@ B.hasOwnProperty('foo'); >B.hasOwnProperty('foo') : boolean > : ^^^^^^^ >B.hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >B : typeof B > : ^^^^^^^^ >hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'foo' : "foo" > : ^^^^^ diff --git a/tests/baselines/reference/staticInstanceResolution5.types b/tests/baselines/reference/staticInstanceResolution5.types index 157f53f468e87..b61028cde79de 100644 --- a/tests/baselines/reference/staticInstanceResolution5.types +++ b/tests/baselines/reference/staticInstanceResolution5.types @@ -8,23 +8,23 @@ import WinJS = require('staticInstanceResolution5_0'); // these 3 should be errors var x = (w1: WinJS) => { }; >x : (w1: WinJS) => void -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >(w1: WinJS) => { } : (w1: WinJS) => void -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >w1 : WinJS > : ^^^^^ var y = function (w2: WinJS) { } >y : (w2: WinJS) => void -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >function (w2: WinJS) { } : (w2: WinJS) => void -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >w2 : WinJS > : ^^^^^ function z(w3: WinJS) { } >z : (w3: WinJS) => void -> : ^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >w3 : WinJS > : ^^^^^ diff --git a/tests/baselines/reference/staticMemberAssignsToConstructorFunctionMembers.types b/tests/baselines/reference/staticMemberAssignsToConstructorFunctionMembers.types index ccf648b74e2c6..b672a7c564e87 100644 --- a/tests/baselines/reference/staticMemberAssignsToConstructorFunctionMembers.types +++ b/tests/baselines/reference/staticMemberAssignsToConstructorFunctionMembers.types @@ -32,11 +32,11 @@ class C { >C.bar = () => { } : () => void > : ^^^^^^^^^^ >C.bar : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >C : typeof C > : ^^^^^^^^ >bar : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >() => { } : () => void > : ^^^^^^^^^^ @@ -44,11 +44,11 @@ class C { >C.bar = (x) => x : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >C.bar : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >C : typeof C > : ^^^^^^^^ >bar : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(x) => x : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number @@ -60,11 +60,11 @@ class C { >C.bar = (x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >C.bar : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >C : typeof C > : ^^^^^^^^ >bar : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/staticMembersUsingClassTypeParameter.types b/tests/baselines/reference/staticMembersUsingClassTypeParameter.types index 2c0cdd3fb0024..296bd6f3ed763 100644 --- a/tests/baselines/reference/staticMembersUsingClassTypeParameter.types +++ b/tests/baselines/reference/staticMembersUsingClassTypeParameter.types @@ -12,7 +12,7 @@ class C { static f(x: T) {} >f : (x: T) => void -> : ^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >x : T > : ^ } @@ -27,7 +27,7 @@ class C2 { static f(x: U) { } >f : (x: U) => void -> : ^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >x : U > : ^ } @@ -42,7 +42,7 @@ class C3 { static f(x: T) { } >f : (x: T) => void -> : ^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >x : T > : ^ } diff --git a/tests/baselines/reference/staticMethodWithTypeParameterExtendsClauseDeclFile.types b/tests/baselines/reference/staticMethodWithTypeParameterExtendsClauseDeclFile.types index f4648c3bc93cc..d9993a43160be 100644 --- a/tests/baselines/reference/staticMethodWithTypeParameterExtendsClauseDeclFile.types +++ b/tests/baselines/reference/staticMethodWithTypeParameterExtendsClauseDeclFile.types @@ -17,27 +17,27 @@ export class publicClassWithWithPrivateTypeParameters { private static myPrivateStaticMethod1() { // do not emit extends clause >myPrivateStaticMethod1 : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } private myPrivateMethod1() { // do not emit extends clause >myPrivateMethod1 : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } private static myPrivateStaticMethod2() { // do not emit extends clause >myPrivateStaticMethod2 : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } private myPrivateMethod2() { // do not emit extends clause >myPrivateMethod2 : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } public static myPublicStaticMethod() { >myPublicStaticMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } public myPublicMethod() { >myPublicMethod : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } } diff --git a/tests/baselines/reference/staticMethodsReferencingClassTypeParameters.types b/tests/baselines/reference/staticMethodsReferencingClassTypeParameters.types index 5de409da74475..4faf575220e70 100644 --- a/tests/baselines/reference/staticMethodsReferencingClassTypeParameters.types +++ b/tests/baselines/reference/staticMethodsReferencingClassTypeParameters.types @@ -7,7 +7,7 @@ class C { static s(p: T) { return p; } >s : (p: T) => T -> : ^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^ >p : T > : ^ >p : T diff --git a/tests/baselines/reference/strictBindCallApply1.types b/tests/baselines/reference/strictBindCallApply1.types index 9288ce951bf45..2ffde731ad948 100644 --- a/tests/baselines/reference/strictBindCallApply1.types +++ b/tests/baselines/reference/strictBindCallApply1.types @@ -11,13 +11,13 @@ declare function foo(a: number, b: string): string; declare function overloaded(s: string): number; >overloaded : { (s: string): number; (n: number): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ declare function overloaded(n: number): string; >overloaded : { (s: string): number; (n: number): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ @@ -29,15 +29,15 @@ declare function generic(x: T): T; let f00 = foo.bind(undefined); >f00 : (a: number, b: string) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >foo.bind(undefined) : (a: number, b: string) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ ->foo.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ +>foo.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >foo : (a: number, b: string) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ ->bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ +>bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ @@ -46,12 +46,12 @@ let f01 = foo.bind(undefined, 10); > : ^^^^^^^^^^^^^^^^^^^^^ >foo.bind(undefined, 10) : (b: string) => string > : ^^^^^^^^^^^^^^^^^^^^^ ->foo.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +>foo.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >foo : (a: number, b: string) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ ->bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ +>bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ >10 : 10 @@ -62,12 +62,12 @@ let f02 = foo.bind(undefined, 10, "hello"); > : ^^^^^^^^^^^^ >foo.bind(undefined, 10, "hello") : () => string > : ^^^^^^^^^^^^ ->foo.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +>foo.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >foo : (a: number, b: string) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ ->bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ +>bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ >10 : 10 @@ -80,12 +80,12 @@ let f03 = foo.bind(undefined, 10, 20); // Error > : ^^^^^^^^^^^^ >foo.bind(undefined, 10, 20) : () => string > : ^^^^^^^^^^^^ ->foo.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +>foo.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >foo : (a: number, b: string) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ ->bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ +>bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ >10 : 10 @@ -95,29 +95,29 @@ let f03 = foo.bind(undefined, 10, 20); // Error let f04 = overloaded.bind(undefined); // typeof overloaded >f04 : { (s: string): number; (n: number): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >overloaded.bind(undefined) : { (s: string): number; (n: number): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ->overloaded.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ +>overloaded.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >overloaded : { (s: string): number; (n: number): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ->bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ +>bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ let f05 = generic.bind(undefined); // typeof generic >f05 : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >generic.bind(undefined) : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ ->generic.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ +>generic.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >generic : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ ->bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ +>bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ @@ -127,11 +127,11 @@ let c00 = foo.call(undefined, 10, "hello"); >foo.call(undefined, 10, "hello") : string > : ^^^^^^ >foo.call : (this: (this: T, ...args: A) => R, thisArg: T, ...args: A) => R -> : ^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >foo : (a: number, b: string) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >call : (this: (this: T, ...args: A) => R, thisArg: T, ...args: A) => R -> : ^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >10 : 10 @@ -145,11 +145,11 @@ let c01 = foo.call(undefined, 10); // Error >foo.call(undefined, 10) : string > : ^^^^^^ >foo.call : (this: (this: T, ...args: A) => R, thisArg: T, ...args: A) => R -> : ^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >foo : (a: number, b: string) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >call : (this: (this: T, ...args: A) => R, thisArg: T, ...args: A) => R -> : ^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >10 : 10 @@ -161,11 +161,11 @@ let c02 = foo.call(undefined, 10, 20); // Error >foo.call(undefined, 10, 20) : string > : ^^^^^^ >foo.call : (this: (this: T, ...args: A) => R, thisArg: T, ...args: A) => R -> : ^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >foo : (a: number, b: string) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >call : (this: (this: T, ...args: A) => R, thisArg: T, ...args: A) => R -> : ^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >10 : 10 @@ -179,11 +179,11 @@ let c03 = foo.call(undefined, 10, "hello", 30); // Error >foo.call(undefined, 10, "hello", 30) : string > : ^^^^^^ >foo.call : (this: (this: T, ...args: A) => R, thisArg: T, ...args: A) => R -> : ^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >foo : (a: number, b: string) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >call : (this: (this: T, ...args: A) => R, thisArg: T, ...args: A) => R -> : ^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >10 : 10 @@ -198,12 +198,12 @@ let a00 = foo.apply(undefined, [10, "hello"]); > : ^^^^^^ >foo.apply(undefined, [10, "hello"]) : string > : ^^^^^^ ->foo.apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T_1, ...args: A) => R_1, thisArg: T_1, args: A): R_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>foo.apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >foo : (a: number, b: string) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ ->apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T_1, ...args: A) => R_1, thisArg: T_1, args: A): R_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ +>apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ >[10, "hello"] : [number, string] @@ -218,12 +218,12 @@ let a01 = foo.apply(undefined, [10]); // Error > : ^^^^^^ >foo.apply(undefined, [10]) : string > : ^^^^^^ ->foo.apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T_1, ...args: A) => R_1, thisArg: T_1, args: A): R_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>foo.apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >foo : (a: number, b: string) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ ->apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T_1, ...args: A) => R_1, thisArg: T_1, args: A): R_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ +>apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ >[10] : [number] @@ -236,12 +236,12 @@ let a02 = foo.apply(undefined, [10, 20]); // Error > : ^^^^^^ >foo.apply(undefined, [10, 20]) : string > : ^^^^^^ ->foo.apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T_1, ...args: A) => R_1, thisArg: T_1, args: A): R_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>foo.apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >foo : (a: number, b: string) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ ->apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T_1, ...args: A) => R_1, thisArg: T_1, args: A): R_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ +>apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ >[10, 20] : [number, number] @@ -256,12 +256,12 @@ let a03 = foo.apply(undefined, [10, "hello", 30]); // Error > : ^^^^^^ >foo.apply(undefined, [10, "hello", 30]) : string > : ^^^^^^ ->foo.apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T_1, ...args: A) => R_1, thisArg: T_1, args: A): R_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>foo.apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >foo : (a: number, b: string) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ ->apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T_1, ...args: A) => R_1, thisArg: T_1, args: A): R_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ +>apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ >[10, "hello", 30] : [number, string, number] @@ -297,19 +297,19 @@ class C { overloaded(s: string): number; >overloaded : { (s: string): number; (n: number): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ overloaded(n: number): string; >overloaded : { (s: string): number; (n: number): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ overloaded(x: any): any { return undefined } >overloaded : { (s: string): number; (n: number): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any > : ^^^ >undefined : any @@ -339,16 +339,16 @@ let f10 = c.foo.bind(c); > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >c.foo.bind(c) : (a: number, b: string) => string > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->c.foo.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +>c.foo.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >c.foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ ->bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ +>bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >c : C > : ^ @@ -357,16 +357,16 @@ let f11 = c.foo.bind(c, 10); > : ^^^^^^^^^^^^^^^^^^^^^ >c.foo.bind(c, 10) : (b: string) => string > : ^^^^^^^^^^^^^^^^^^^^^ ->c.foo.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +>c.foo.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >c.foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ ->bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ +>bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >c : C > : ^ >10 : 10 @@ -377,16 +377,16 @@ let f12 = c.foo.bind(c, 10, "hello"); > : ^^^^^^^^^^^^ >c.foo.bind(c, 10, "hello") : () => string > : ^^^^^^^^^^^^ ->c.foo.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +>c.foo.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >c.foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ ->bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ +>bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >c : C > : ^ >10 : 10 @@ -399,16 +399,16 @@ let f13 = c.foo.bind(c, 10, 20); // Error > : ^^^^^^^^^^^^ >c.foo.bind(c, 10, 20) : () => string > : ^^^^^^^^^^^^ ->c.foo.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +>c.foo.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >c.foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ ->bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ +>bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >c : C > : ^ >10 : 10 @@ -421,52 +421,52 @@ let f14 = c.foo.bind(undefined); // Error > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >c.foo.bind(undefined) : (a: number, b: string) => string > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->c.foo.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +>c.foo.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >c.foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ ->bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ +>bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ let f15 = c.overloaded.bind(c); // typeof C.prototype.overloaded >f15 : { (s: string): number; (n: number): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c.overloaded.bind(c) : { (s: string): number; (n: number): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ->c.overloaded.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ +>c.overloaded.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >c.overloaded : { (s: string): number; (n: number): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c : C > : ^ >overloaded : { (s: string): number; (n: number): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ->bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ +>bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >c : C > : ^ let f16 = c.generic.bind(c); // typeof C.prototype.generic >f16 : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >c.generic.bind(c) : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ ->c.generic.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ +>c.generic.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >c.generic : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >c : C > : ^ >generic : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ ->bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ +>bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >c : C > : ^ @@ -476,15 +476,15 @@ let c10 = c.foo.call(c, 10, "hello"); >c.foo.call(c, 10, "hello") : string > : ^^^^^^ >c.foo.call : (this: (this: T, ...args: A) => R, thisArg: T, ...args: A) => R -> : ^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >c.foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ >call : (this: (this: T, ...args: A) => R, thisArg: T, ...args: A) => R -> : ^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >c : C > : ^ >10 : 10 @@ -498,15 +498,15 @@ let c11 = c.foo.call(c, 10); // Error >c.foo.call(c, 10) : string > : ^^^^^^ >c.foo.call : (this: (this: T, ...args: A) => R, thisArg: T, ...args: A) => R -> : ^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >c.foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ >call : (this: (this: T, ...args: A) => R, thisArg: T, ...args: A) => R -> : ^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >c : C > : ^ >10 : 10 @@ -518,15 +518,15 @@ let c12 = c.foo.call(c, 10, 20); // Error >c.foo.call(c, 10, 20) : string > : ^^^^^^ >c.foo.call : (this: (this: T, ...args: A) => R, thisArg: T, ...args: A) => R -> : ^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >c.foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ >call : (this: (this: T, ...args: A) => R, thisArg: T, ...args: A) => R -> : ^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >c : C > : ^ >10 : 10 @@ -540,15 +540,15 @@ let c13 = c.foo.call(c, 10, "hello", 30); // Error >c.foo.call(c, 10, "hello", 30) : string > : ^^^^^^ >c.foo.call : (this: (this: T, ...args: A) => R, thisArg: T, ...args: A) => R -> : ^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >c.foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ >call : (this: (this: T, ...args: A) => R, thisArg: T, ...args: A) => R -> : ^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >c : C > : ^ >10 : 10 @@ -564,15 +564,15 @@ let c14 = c.foo.call(undefined, 10, "hello"); // Error >c.foo.call(undefined, 10, "hello") : string > : ^^^^^^ >c.foo.call : (this: (this: T, ...args: A) => R, thisArg: T, ...args: A) => R -> : ^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >c.foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ >call : (this: (this: T, ...args: A) => R, thisArg: T, ...args: A) => R -> : ^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >10 : 10 @@ -585,16 +585,16 @@ let a10 = c.foo.apply(c, [10, "hello"]); > : ^^^^^^ >c.foo.apply(c, [10, "hello"]) : string > : ^^^^^^ ->c.foo.apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T_1, ...args: A) => R_1, thisArg: T_1, args: A): R_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>c.foo.apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c.foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ ->apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T_1, ...args: A) => R_1, thisArg: T_1, args: A): R_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ +>apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c : C > : ^ >[10, "hello"] : [number, string] @@ -609,16 +609,16 @@ let a11 = c.foo.apply(c, [10]); // Error > : ^^^^^^ >c.foo.apply(c, [10]) : string > : ^^^^^^ ->c.foo.apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T_1, ...args: A) => R_1, thisArg: T_1, args: A): R_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>c.foo.apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c.foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ ->apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T_1, ...args: A) => R_1, thisArg: T_1, args: A): R_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ +>apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c : C > : ^ >[10] : [number] @@ -631,16 +631,16 @@ let a12 = c.foo.apply(c, [10, 20]); // Error > : ^^^^^^ >c.foo.apply(c, [10, 20]) : string > : ^^^^^^ ->c.foo.apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T_1, ...args: A) => R_1, thisArg: T_1, args: A): R_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>c.foo.apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c.foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ ->apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T_1, ...args: A) => R_1, thisArg: T_1, args: A): R_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ +>apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c : C > : ^ >[10, 20] : [number, number] @@ -655,16 +655,16 @@ let a13 = c.foo.apply(c, [10, "hello", 30]); // Error > : ^^^^^^ >c.foo.apply(c, [10, "hello", 30]) : string > : ^^^^^^ ->c.foo.apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T_1, ...args: A) => R_1, thisArg: T_1, args: A): R_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>c.foo.apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c.foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ ->apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T_1, ...args: A) => R_1, thisArg: T_1, args: A): R_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ +>apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c : C > : ^ >[10, "hello", 30] : [number, string, number] @@ -681,16 +681,16 @@ let a14 = c.foo.apply(undefined, [10, "hello"]); // Error > : ^^^^^^ >c.foo.apply(undefined, [10, "hello"]) : string > : ^^^^^^ ->c.foo.apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T_1, ...args: A) => R_1, thisArg: T_1, args: A): R_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>c.foo.apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c.foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >foo : (this: C, a: number, b: string) => string -> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ ->apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T_1, ...args: A) => R_1, thisArg: T_1, args: A): R_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^ ^^ ^^^^^ +>apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ >[10, "hello"] : [number, string] @@ -706,11 +706,11 @@ let f20 = C.bind(undefined); >C.bind(undefined) : typeof C > : ^^^^^^^^ >C.bind : { (this: T, thisArg: any): T; (this: new (...args: [...A, ...B]) => R, thisArg: any, ...args: A): new (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >C : typeof C > : ^^^^^^^^ >bind : { (this: T, thisArg: any): T; (this: new (...args: [...A, ...B]) => R, thisArg: any, ...args: A): new (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ @@ -720,11 +720,11 @@ let f21 = C.bind(undefined, 10); >C.bind(undefined, 10) : new (b: string) => C > : ^^^^^^^^^^^^^^^^^^^^ >C.bind : { (this: T, thisArg: any): T; (this: new (...args: [...A, ...B]) => R, thisArg: any, ...args: A): new (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >C : typeof C > : ^^^^^^^^ >bind : { (this: T, thisArg: any): T; (this: new (...args: [...A, ...B]) => R, thisArg: any, ...args: A): new (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ >10 : 10 @@ -736,11 +736,11 @@ let f22 = C.bind(undefined, 10, "hello"); >C.bind(undefined, 10, "hello") : new () => C > : ^^^^^^^^^^^ >C.bind : { (this: T, thisArg: any): T; (this: new (...args: [...A, ...B]) => R, thisArg: any, ...args: A): new (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >C : typeof C > : ^^^^^^^^ >bind : { (this: T, thisArg: any): T; (this: new (...args: [...A, ...B]) => R, thisArg: any, ...args: A): new (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ >10 : 10 @@ -754,11 +754,11 @@ let f23 = C.bind(undefined, 10, 20); // Error >C.bind(undefined, 10, 20) : new () => C > : ^^^^^^^^^^^ >C.bind : { (this: T, thisArg: any): T; (this: new (...args: [...A, ...B]) => R, thisArg: any, ...args: A): new (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >C : typeof C > : ^^^^^^^^ >bind : { (this: T, thisArg: any): T; (this: new (...args: [...A, ...B]) => R, thisArg: any, ...args: A): new (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ >10 : 10 @@ -770,11 +770,11 @@ C.call(c, 10, "hello"); >C.call(c, 10, "hello") : void > : ^^^^ >C.call : (this: new (...args: A) => T, thisArg: T, ...args: A) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >C : typeof C > : ^^^^^^^^ >call : (this: new (...args: A) => T, thisArg: T, ...args: A) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >c : C > : ^ >10 : 10 @@ -786,11 +786,11 @@ C.call(c, 10); // Error >C.call(c, 10) : void > : ^^^^ >C.call : (this: new (...args: A) => T, thisArg: T, ...args: A) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >C : typeof C > : ^^^^^^^^ >call : (this: new (...args: A) => T, thisArg: T, ...args: A) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >c : C > : ^ >10 : 10 @@ -800,11 +800,11 @@ C.call(c, 10, 20); // Error >C.call(c, 10, 20) : void > : ^^^^ >C.call : (this: new (...args: A) => T, thisArg: T, ...args: A) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >C : typeof C > : ^^^^^^^^ >call : (this: new (...args: A) => T, thisArg: T, ...args: A) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >c : C > : ^ >10 : 10 @@ -816,11 +816,11 @@ C.call(c, 10, "hello", 30); // Error >C.call(c, 10, "hello", 30) : void > : ^^^^ >C.call : (this: new (...args: A) => T, thisArg: T, ...args: A) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >C : typeof C > : ^^^^^^^^ >call : (this: new (...args: A) => T, thisArg: T, ...args: A) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >c : C > : ^ >10 : 10 @@ -833,12 +833,12 @@ C.call(c, 10, "hello", 30); // Error C.apply(c, [10, "hello"]); >C.apply(c, [10, "hello"]) : void > : ^^^^ ->C.apply : { (this: new () => T, thisArg: T): void; (this: new (...args: A) => T_1, thisArg: T_1, args: A): void; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +>C.apply : { (this: new () => T, thisArg: T): void; (this: new (...args: A) => T, thisArg: T, args: A): void; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >C : typeof C > : ^^^^^^^^ ->apply : { (this: new () => T, thisArg: T): void; (this: new (...args: A) => T_1, thisArg: T_1, args: A): void; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +>apply : { (this: new () => T, thisArg: T): void; (this: new (...args: A) => T, thisArg: T, args: A): void; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c : C > : ^ >[10, "hello"] : [number, string] @@ -851,12 +851,12 @@ C.apply(c, [10, "hello"]); C.apply(c, [10]); // Error >C.apply(c, [10]) : void > : ^^^^ ->C.apply : { (this: new () => T, thisArg: T): void; (this: new (...args: A) => T_1, thisArg: T_1, args: A): void; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +>C.apply : { (this: new () => T, thisArg: T): void; (this: new (...args: A) => T, thisArg: T, args: A): void; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >C : typeof C > : ^^^^^^^^ ->apply : { (this: new () => T, thisArg: T): void; (this: new (...args: A) => T_1, thisArg: T_1, args: A): void; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +>apply : { (this: new () => T, thisArg: T): void; (this: new (...args: A) => T, thisArg: T, args: A): void; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c : C > : ^ >[10] : [number] @@ -867,12 +867,12 @@ C.apply(c, [10]); // Error C.apply(c, [10, 20]); // Error >C.apply(c, [10, 20]) : void > : ^^^^ ->C.apply : { (this: new () => T, thisArg: T): void; (this: new (...args: A) => T_1, thisArg: T_1, args: A): void; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +>C.apply : { (this: new () => T, thisArg: T): void; (this: new (...args: A) => T, thisArg: T, args: A): void; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >C : typeof C > : ^^^^^^^^ ->apply : { (this: new () => T, thisArg: T): void; (this: new (...args: A) => T_1, thisArg: T_1, args: A): void; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +>apply : { (this: new () => T, thisArg: T): void; (this: new (...args: A) => T, thisArg: T, args: A): void; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c : C > : ^ >[10, 20] : [number, number] @@ -885,12 +885,12 @@ C.apply(c, [10, 20]); // Error C.apply(c, [10, "hello", 30]); // Error >C.apply(c, [10, "hello", 30]) : void > : ^^^^ ->C.apply : { (this: new () => T, thisArg: T): void; (this: new (...args: A) => T_1, thisArg: T_1, args: A): void; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +>C.apply : { (this: new () => T, thisArg: T): void; (this: new (...args: A) => T, thisArg: T, args: A): void; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >C : typeof C > : ^^^^^^^^ ->apply : { (this: new () => T, thisArg: T): void; (this: new (...args: A) => T_1, thisArg: T_1, args: A): void; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +>apply : { (this: new () => T, thisArg: T): void; (this: new (...args: A) => T, thisArg: T, args: A): void; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c : C > : ^ >[10, "hello", 30] : [number, string, number] @@ -904,7 +904,7 @@ C.apply(c, [10, "hello", 30]); // Error function bar(callback: (this: 1, ...args: T) => void) { >bar : (callback: (this: 1, ...args: T) => void) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >callback : (this: 1, ...args: T) => void > : ^ ^^ ^^^^^ ^^ ^^^^^ >this : 1 @@ -915,31 +915,31 @@ function bar(callback: (this: 1, ...args: T) => void) { callback.bind(1); >callback.bind(1) : (...args: T) => void > : ^^^^ ^^^^^^^^^^^^ ->callback.bind : { (this: T_1, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_2, ...args: [...A, ...B]) => R, thisArg: T_2, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +>callback.bind : { (this: T_1, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >callback : (this: 1, ...args: T) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ ->bind : { (this: T_1, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_2, ...args: [...A, ...B]) => R, thisArg: T_2, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ +>bind : { (this: T_1, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >1 : 1 > : ^ callback.bind(2); // Error >callback.bind(2) : (...args: T) => void > : ^^^^ ^^^^^^^^^^^^ ->callback.bind : { (this: T_1, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_2, ...args: [...A, ...B]) => R, thisArg: T_2, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +>callback.bind : { (this: T_1, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >callback : (this: 1, ...args: T) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ ->bind : { (this: T_1, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_2, ...args: [...A, ...B]) => R, thisArg: T_2, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ +>bind : { (this: T_1, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >2 : 2 > : ^ } function baz(callback: (this: 1, ...args: T extends 1 ? [unknown] : [unknown, unknown]) => void) { ->baz : (callback: (this: 1, ...args: T extends 1 ? [unknown] : [unknown, unknown]) => void) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>baz : (callback: (this: 1, ...args: T extends 1 ? [unknown] : [unknown, unknown]) => void) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >callback : (this: 1, ...args: T extends 1 ? [unknown] : [unknown, unknown]) => void > : ^ ^^ ^^^^^ ^^ ^^^^^ >this : 1 @@ -950,24 +950,24 @@ function baz(callback: (this: 1, ...args: T extends 1 ? [unknow callback.bind(1); >callback.bind(1) : (...args: T extends 1 ? [unknown] : [unknown, unknown]) => void > : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->callback.bind : { (this: T_1, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_2, ...args: [...A, ...B]) => R, thisArg: T_2, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +>callback.bind : { (this: T_1, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >callback : (this: 1, ...args: T extends 1 ? [unknown] : [unknown, unknown]) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ ->bind : { (this: T_1, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_2, ...args: [...A, ...B]) => R, thisArg: T_2, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ +>bind : { (this: T_1, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >1 : 1 > : ^ callback.bind(2); // Error >callback.bind(2) : (...args: T extends 1 ? [unknown] : [unknown, unknown]) => void > : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->callback.bind : { (this: T_1, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_2, ...args: [...A, ...B]) => R, thisArg: T_2, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +>callback.bind : { (this: T_1, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >callback : (this: 1, ...args: T extends 1 ? [unknown] : [unknown, unknown]) => void -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^ ->bind : { (this: T_1, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_2, ...args: [...A, ...B]) => R, thisArg: T_2, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ +>bind : { (this: T_1, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >2 : 2 > : ^ } @@ -980,17 +980,17 @@ class Foo { constructor() { this.fn.bind(this); >this.fn.bind(this) : (...args: T) => void -> : ^^^^ ^^ ^^^^^^^^^ ->this.fn.bind : { (this: T_1, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_2, ...args: [...A, ...B]) => R, thisArg: T_2, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ +>this.fn.bind : { (this: T_1, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >this.fn : (...args: T) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this : this > : ^^^^ >fn : (...args: T) => void -> : ^^^^ ^^ ^^^^^^^^^ ->bind : { (this: T_1, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_2, ...args: [...A, ...B]) => R, thisArg: T_2, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ +>bind : { (this: T_1, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >this : this > : ^^^^ } @@ -1010,16 +1010,16 @@ class Bar { this.fn.bind(this); >this.fn.bind(this) : (...args: T extends 1 ? [unknown] : [unknown, unknown]) => void > : ^^^^ ^^ ^^^^^^^^^ ->this.fn.bind : { (this: T_1, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_2, ...args: [...A, ...B]) => R, thisArg: T_2, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +>this.fn.bind : { (this: T_1, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >this.fn : (...args: T extends 1 ? [unknown] : [unknown, unknown]) => void > : ^^^^ ^^ ^^^^^^^^^ >this : this > : ^^^^ >fn : (...args: T extends 1 ? [unknown] : [unknown, unknown]) => void > : ^^^^ ^^ ^^^^^^^^^ ->bind : { (this: T_1, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_2, ...args: [...A, ...B]) => R, thisArg: T_2, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +>bind : { (this: T_1, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >this : this > : ^^^^ } diff --git a/tests/baselines/reference/strictBindCallApply2.types b/tests/baselines/reference/strictBindCallApply2.types index 6d79c19dbc090..ca6d694a05be2 100644 --- a/tests/baselines/reference/strictBindCallApply2.types +++ b/tests/baselines/reference/strictBindCallApply2.types @@ -24,12 +24,12 @@ const fb = fn.bind({ blub: "blub" }); > : ^^^^^^^^^^ >fn.bind({ blub: "blub" }) : () => void > : ^^^^^^^^^^ ->fn.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +>fn.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >fn : (this: Foo) => void > : ^ ^^ ^^^^^^^^^ ->bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +>bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >{ blub: "blub" } : { blub: string; } > : ^^^^^^^^^^^^^^^^^ >blub : string diff --git a/tests/baselines/reference/strictFunctionTypes1.types b/tests/baselines/reference/strictFunctionTypes1.types index 3084ba1196c6a..e14e8da1b8fd0 100644 --- a/tests/baselines/reference/strictFunctionTypes1.types +++ b/tests/baselines/reference/strictFunctionTypes1.types @@ -79,15 +79,15 @@ declare function fx(f: (x: "def") => void): void; const x1 = f1(fo, fs); // (x: string) => void >x1 : (x: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >f1(fo, fs) : (x: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >f1 : (f1: (x: T) => void, f2: (x: T) => void) => (x: T) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >fo : (x: Object) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >fs : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ const x2 = f2("abc", fo, fs); // "abc" >x2 : "abc" @@ -95,13 +95,13 @@ const x2 = f2("abc", fo, fs); // "abc" >f2("abc", fo, fs) : "abc" > : ^^^^^ >f2 : (obj: T, f1: (x: T) => void, f2: (x: T) => void) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >"abc" : "abc" > : ^^^^^ >fo : (x: Object) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >fs : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ const x3 = f3("abc", fo, fx); // "abc" | "def" >x3 : "def" | "abc" @@ -109,13 +109,13 @@ const x3 = f3("abc", fo, fx); // "abc" | "def" >f3("abc", fo, fx) : "def" | "abc" > : ^^^^^^^^^^^^^ >f3 : (obj: T, f1: (x: T) => void, f2: (f: (x: T) => void) => void) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >"abc" : "abc" > : ^^^^^ >fo : (x: Object) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >fx : (f: (x: "def") => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ const x4 = f4(fo, fs); // Func >x4 : Func @@ -123,11 +123,11 @@ const x4 = f4(fo, fs); // Func >f4(fo, fs) : Func > : ^^^^^^^^^^^^ >f4 : (f1: Func, f2: Func) => Func -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >fo : (x: Object) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >fs : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ declare const never: never; >never : never @@ -139,13 +139,13 @@ const x10 = f2(never, fo, fs); // string >f2(never, fo, fs) : string > : ^^^^^^ >f2 : (obj: T, f1: (x: T) => void, f2: (x: T) => void) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >never : never > : ^^^^^ >fo : (x: Object) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >fs : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ const x11 = f3(never, fo, fx); // "def" >x11 : "def" @@ -153,13 +153,13 @@ const x11 = f3(never, fo, fx); // "def" >f3(never, fo, fx) : "def" > : ^^^^^ >f3 : (obj: T, f1: (x: T) => void, f2: (f: (x: T) => void) => void) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >never : never > : ^^^^^ >fo : (x: Object) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >fx : (f: (x: "def") => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ // Repro from #21112 @@ -175,7 +175,7 @@ let x = foo([]); // never >foo([]) : never > : ^^^^^ >foo : (a: ReadonlyArray) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >[] : never[] > : ^^^^^^^ @@ -225,11 +225,11 @@ const t1: A = coAndContra(a, acceptUnion); >coAndContra(a, acceptUnion) : A > : ^ >coAndContra : (value: T, func: (t: T) => void) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >a : A > : ^ >acceptUnion : (x: A | number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ const t2: B = coAndContra(b, acceptA); >t2 : B @@ -237,11 +237,11 @@ const t2: B = coAndContra(b, acceptA); >coAndContra(b, acceptA) : B > : ^ >coAndContra : (value: T, func: (t: T) => void) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >b : B > : ^ >acceptA : (x: A) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ const t3: A = coAndContra(never, acceptA); >t3 : A @@ -249,11 +249,11 @@ const t3: A = coAndContra(never, acceptA); >coAndContra(never, acceptA) : A > : ^ >coAndContra : (value: T, func: (t: T) => void) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >never : never > : ^^^^^ >acceptA : (x: A) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ declare function coAndContraArray(value: T[], func: (t: T) => void): T[]; >coAndContraArray : (value: T[], func: (t: T) => void) => T[] @@ -271,13 +271,13 @@ const t4: A[] = coAndContraArray([a], acceptUnion); >coAndContraArray([a], acceptUnion) : A[] > : ^^^ >coAndContraArray : (value: T[], func: (t: T) => void) => T[] -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >[a] : A[] > : ^^^ >a : A > : ^ >acceptUnion : (x: A | number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ const t5: B[] = coAndContraArray([b], acceptA); >t5 : B[] @@ -285,13 +285,13 @@ const t5: B[] = coAndContraArray([b], acceptA); >coAndContraArray([b], acceptA) : B[] > : ^^^ >coAndContraArray : (value: T[], func: (t: T) => void) => T[] -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >[b] : B[] > : ^^^ >b : B > : ^ >acceptA : (x: A) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ const t6: A[] = coAndContraArray([], acceptA); >t6 : A[] @@ -299,9 +299,9 @@ const t6: A[] = coAndContraArray([], acceptA); >coAndContraArray([], acceptA) : A[] > : ^^^ >coAndContraArray : (value: T[], func: (t: T) => void) => T[] -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >[] : never[] > : ^^^^^^^ >acceptA : (x: A) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ diff --git a/tests/baselines/reference/strictFunctionTypesErrors.types b/tests/baselines/reference/strictFunctionTypesErrors.types index 5f1b899657363..d552690380398 100644 --- a/tests/baselines/reference/strictFunctionTypesErrors.types +++ b/tests/baselines/reference/strictFunctionTypesErrors.types @@ -30,99 +30,99 @@ declare let f4: (x: string) => string; f1 = f2; // Ok >f1 = f2 : (x: Object) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f1 : (x: Object) => Object -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f2 : (x: Object) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ f1 = f3; // Error >f1 = f3 : (x: string) => Object -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f1 : (x: Object) => Object -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f3 : (x: string) => Object -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ f1 = f4; // Error >f1 = f4 : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f1 : (x: Object) => Object -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f4 : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ f2 = f1; // Error >f2 = f1 : (x: Object) => Object -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f2 : (x: Object) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f1 : (x: Object) => Object -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ f2 = f3; // Error >f2 = f3 : (x: string) => Object -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f2 : (x: Object) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f3 : (x: string) => Object -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ f2 = f4; // Error >f2 = f4 : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f2 : (x: Object) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f4 : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ f3 = f1; // Ok >f3 = f1 : (x: Object) => Object -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f3 : (x: string) => Object -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f1 : (x: Object) => Object -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ f3 = f2; // Ok >f3 = f2 : (x: Object) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f3 : (x: string) => Object -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f2 : (x: Object) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ f3 = f4; // Ok >f3 = f4 : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f3 : (x: string) => Object -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f4 : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ f4 = f1; // Error >f4 = f1 : (x: Object) => Object -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f4 : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f1 : (x: Object) => Object -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ f4 = f2; // Ok >f4 = f2 : (x: Object) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f4 : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f2 : (x: Object) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ f4 = f3; // Error >f4 = f3 : (x: string) => Object -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f4 : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f3 : (x: string) => Object -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ type Func = (x: T) => U; >Func : Func @@ -606,19 +606,19 @@ declare let fc2: (f: (x: Dog) => Dog) => void; fc1 = fc2; // Error >fc1 = fc2 : (f: (x: Dog) => Dog) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >fc1 : (f: (x: Animal) => Animal) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >fc2 : (f: (x: Dog) => Dog) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ fc2 = fc1; // Error >fc2 = fc1 : (f: (x: Animal) => Animal) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >fc2 : (f: (x: Dog) => Dog) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >fc1 : (f: (x: Animal) => Animal) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ // Verify that callback parameters aren't loosely checked when types // originate in method declarations @@ -649,43 +649,43 @@ namespace n1 { } declare let f1: (cb: typeof Foo.f1) => void; >f1 : (cb: (x: Animal) => Animal) => void -> : ^ ^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^^^ ^^^^^ >cb : (x: Animal) => Animal -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Foo.f1 : (x: Animal) => Animal -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Foo : typeof Foo > : ^^^^^^^^^^ >f1 : (x: Animal) => Animal -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ declare let f2: (cb: typeof Foo.f2) => void; >f2 : (cb: (x: Dog) => Animal) => void -> : ^ ^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^^^ ^^^^^ >cb : (x: Dog) => Animal -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Foo.f2 : (x: Dog) => Animal -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Foo : typeof Foo > : ^^^^^^^^^^ >f2 : (x: Dog) => Animal -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ f1 = f2; >f1 = f2 : (cb: (x: Dog) => Animal) => void -> : ^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^^^ ^^^^^ >f1 : (cb: (x: Animal) => Animal) => void -> : ^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^^^ ^^^^^ >f2 : (cb: (x: Dog) => Animal) => void -> : ^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^^^ ^^^^^ f2 = f1; // Error >f2 = f1 : (cb: (x: Animal) => Animal) => void -> : ^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^^^ ^^^^^ >f2 : (cb: (x: Dog) => Animal) => void -> : ^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^^^ ^^^^^ >f1 : (cb: (x: Animal) => Animal) => void -> : ^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^^^ ^^^^^ } namespace n2 { @@ -714,17 +714,17 @@ namespace n2 { f1 = f2; >f1 = f2 : (cb: (x: Dog) => Animal) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ >f1 : (cb: (x: Animal) => Animal) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ >f2 : (cb: (x: Dog) => Animal) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ f2 = f1; // Error >f2 = f1 : (cb: (x: Animal) => Animal) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ >f2 : (cb: (x: Dog) => Animal) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ >f1 : (cb: (x: Animal) => Animal) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/strictModeReservedWord.types b/tests/baselines/reference/strictModeReservedWord.types index a4d7ce28c6d18..896fdabbd736f 100644 --- a/tests/baselines/reference/strictModeReservedWord.types +++ b/tests/baselines/reference/strictModeReservedWord.types @@ -101,7 +101,7 @@ function foo() { function foo(x: private.x) { } >foo : (x: private.x) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >x : private.x > : ^^^^^^^^^ >private : any @@ -109,7 +109,7 @@ function foo() { function foo1(x: private.package.x) { } >foo1 : (x: private.package.x) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >x : private.package.x > : ^^^^^^^^^^^^^^^^^ >private : any @@ -119,7 +119,7 @@ function foo() { function foo2(x: private.package.protected) { } >foo2 : (x: private.package.protected) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >x : private.package.protected > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >private : any diff --git a/tests/baselines/reference/strictNullChecksNoWidening.types b/tests/baselines/reference/strictNullChecksNoWidening.types index df06a1f55ac5a..a6592ffbb5c7f 100644 --- a/tests/baselines/reference/strictNullChecksNoWidening.types +++ b/tests/baselines/reference/strictNullChecksNoWidening.types @@ -75,7 +75,7 @@ var c1 = f(null); >f(null) : null > : ^^^^ >f : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ var c2 = f(undefined); >c2 : undefined @@ -83,7 +83,7 @@ var c2 = f(undefined); >f(undefined) : undefined > : ^^^^^^^^^ >f : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ @@ -93,7 +93,7 @@ var c3 = f([]); >f([]) : never[] > : ^^^^^^^ >f : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >[] : never[] > : ^^^^^^^ diff --git a/tests/baselines/reference/strictNullEmptyDestructuring.types b/tests/baselines/reference/strictNullEmptyDestructuring.types index a067c92322d17..926cda146fb5c 100644 --- a/tests/baselines/reference/strictNullEmptyDestructuring.types +++ b/tests/baselines/reference/strictNullEmptyDestructuring.types @@ -35,11 +35,11 @@ let { } = Math.random() ? {} : null; >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >{} : {} > : ^^ @@ -55,11 +55,11 @@ let { } = Math.random() ? {} : null; >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >{} : {} > : ^^ @@ -69,11 +69,11 @@ let { } = Math.random() ? {} : undefined; >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >{} : {} > : ^^ >undefined : undefined @@ -91,11 +91,11 @@ let { } = Math.random() ? {} : undefined; >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >{} : {} > : ^^ >undefined : undefined @@ -107,11 +107,11 @@ let { } = Math.random() ? null : undefined; >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >undefined : undefined > : ^^^^^^^^^ @@ -127,11 +127,11 @@ let { } = Math.random() ? null : undefined; >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >undefined : undefined > : ^^^^^^^^^ diff --git a/tests/baselines/reference/strictNullLogicalAndOr.types b/tests/baselines/reference/strictNullLogicalAndOr.types index 8ee096a18a092..df52abfb5fa5e 100644 --- a/tests/baselines/reference/strictNullLogicalAndOr.types +++ b/tests/baselines/reference/strictNullLogicalAndOr.types @@ -11,41 +11,41 @@ let sinOrCos = Math.random() < .5; >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >.5 : 0.5 > : ^^^ let choice = sinOrCos && Math.sin || Math.cos; >choice : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sinOrCos && Math.sin || Math.cos : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sinOrCos && Math.sin : false | ((x: number) => number) -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^ ^ >sinOrCos : boolean > : ^^^^^^^ >Math.sin : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >sin : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math.cos : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >cos : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ choice(Math.PI); >choice(Math.PI) : number > : ^^^^^^ >choice : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math.PI : number > : ^^^^^^ >Math : Math @@ -90,7 +90,7 @@ sq(3); >sq(3) : number > : ^^^^^^ >sq : (n?: number) => number -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >3 : 3 > : ^ diff --git a/tests/baselines/reference/strictOptionalProperties1.types b/tests/baselines/reference/strictOptionalProperties1.types index dbd79df4825e6..6407140da10cf 100644 --- a/tests/baselines/reference/strictOptionalProperties1.types +++ b/tests/baselines/reference/strictOptionalProperties1.types @@ -17,7 +17,7 @@ function f1(obj: { a?: string, b?: string | undefined }) { >obj.a : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >a : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -27,7 +27,7 @@ function f1(obj: { a?: string, b?: string | undefined }) { >obj.b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >b : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -37,7 +37,7 @@ function f1(obj: { a?: string, b?: string | undefined }) { >obj.a : string > : ^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >a : string > : ^^^^^^ >'hello' : "hello" @@ -49,7 +49,7 @@ function f1(obj: { a?: string, b?: string | undefined }) { >obj.b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >'hello' : "hello" @@ -61,7 +61,7 @@ function f1(obj: { a?: string, b?: string | undefined }) { >obj.a : string > : ^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >a : string > : ^^^^^^ >undefined : undefined @@ -73,7 +73,7 @@ function f1(obj: { a?: string, b?: string | undefined }) { >obj.b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >undefined : undefined @@ -92,11 +92,11 @@ function f2(obj: { a?: string, b?: string | undefined }) { obj = obj; >obj = obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ obj.a = obj.a; // Error >obj.a = obj.a : string | undefined @@ -104,13 +104,13 @@ function f2(obj: { a?: string, b?: string | undefined }) { >obj.a : string > : ^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >a : string > : ^^^^^^ >obj.a : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >a : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -120,13 +120,13 @@ function f2(obj: { a?: string, b?: string | undefined }) { >obj.b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj.b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >b : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -136,13 +136,13 @@ function f2(obj: { a?: string, b?: string | undefined }) { >'a' : "a" > : ^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ obj.a; >obj.a : string > : ^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >a : string > : ^^^^^^ @@ -152,13 +152,13 @@ function f2(obj: { a?: string, b?: string | undefined }) { >obj.a : string > : ^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >a : string > : ^^^^^^ >obj.a : string > : ^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >a : string > : ^^^^^^ } @@ -167,7 +167,7 @@ function f2(obj: { a?: string, b?: string | undefined }) { >obj.a : undefined > : ^^^^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >a : undefined > : ^^^^^^^^^ @@ -177,13 +177,13 @@ function f2(obj: { a?: string, b?: string | undefined }) { >obj.a : string > : ^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >a : string > : ^^^^^^ >obj.a : undefined > : ^^^^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >a : undefined > : ^^^^^^^^^ } @@ -191,11 +191,11 @@ function f2(obj: { a?: string, b?: string | undefined }) { >obj.hasOwnProperty('a') : boolean > : ^^^^^^^ >obj.hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'a' : "a" > : ^^^ @@ -203,7 +203,7 @@ function f2(obj: { a?: string, b?: string | undefined }) { >obj.a : string > : ^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >a : string > : ^^^^^^ @@ -213,13 +213,13 @@ function f2(obj: { a?: string, b?: string | undefined }) { >obj.a : string > : ^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >a : string > : ^^^^^^ >obj.a : string > : ^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >a : string > : ^^^^^^ } @@ -228,7 +228,7 @@ function f2(obj: { a?: string, b?: string | undefined }) { >obj.a : undefined > : ^^^^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >a : undefined > : ^^^^^^^^^ @@ -238,13 +238,13 @@ function f2(obj: { a?: string, b?: string | undefined }) { >obj.a : string > : ^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >a : string > : ^^^^^^ >obj.a : undefined > : ^^^^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >a : undefined > : ^^^^^^^^^ } @@ -254,13 +254,13 @@ function f2(obj: { a?: string, b?: string | undefined }) { >'b' : "b" > : ^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ obj.b; >obj.b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >b : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -270,13 +270,13 @@ function f2(obj: { a?: string, b?: string | undefined }) { >obj.b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj.b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >b : string | undefined > : ^^^^^^^^^^^^^^^^^^ } @@ -285,7 +285,7 @@ function f2(obj: { a?: string, b?: string | undefined }) { >obj.b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >b : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -295,13 +295,13 @@ function f2(obj: { a?: string, b?: string | undefined }) { >obj.b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj.b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >b : string | undefined > : ^^^^^^^^^^^^^^^^^^ } @@ -309,11 +309,11 @@ function f2(obj: { a?: string, b?: string | undefined }) { >obj.hasOwnProperty('b') : boolean > : ^^^^^^^ >obj.hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'b' : "b" > : ^^^ @@ -321,7 +321,7 @@ function f2(obj: { a?: string, b?: string | undefined }) { >obj.b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >b : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -331,13 +331,13 @@ function f2(obj: { a?: string, b?: string | undefined }) { >obj.b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj.b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >b : string | undefined > : ^^^^^^^^^^^^^^^^^^ } @@ -346,7 +346,7 @@ function f2(obj: { a?: string, b?: string | undefined }) { >obj.b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >b : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -356,13 +356,13 @@ function f2(obj: { a?: string, b?: string | undefined }) { >obj.b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj.b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : { a?: string; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >b : string | undefined > : ^^^^^^^^^^^^^^^^^^ } @@ -384,7 +384,7 @@ function f3(obj: Partial<{ a: string, b: string | undefined }>) { >obj.a : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : Partial<{ a: string; b: string | undefined; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^ ^^^^ >a : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -394,7 +394,7 @@ function f3(obj: Partial<{ a: string, b: string | undefined }>) { >obj.b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : Partial<{ a: string; b: string | undefined; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^ ^^^^ >b : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -404,7 +404,7 @@ function f3(obj: Partial<{ a: string, b: string | undefined }>) { >obj.a : string > : ^^^^^^ >obj : Partial<{ a: string; b: string | undefined; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^ ^^^^ >a : string > : ^^^^^^ >'hello' : "hello" @@ -416,7 +416,7 @@ function f3(obj: Partial<{ a: string, b: string | undefined }>) { >obj.b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : Partial<{ a: string; b: string | undefined; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^ ^^^^ >b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >'hello' : "hello" @@ -428,7 +428,7 @@ function f3(obj: Partial<{ a: string, b: string | undefined }>) { >obj.a : string > : ^^^^^^ >obj : Partial<{ a: string; b: string | undefined; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^ ^^^^ >a : string > : ^^^^^^ >undefined : undefined @@ -440,7 +440,7 @@ function f3(obj: Partial<{ a: string, b: string | undefined }>) { >obj.b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : Partial<{ a: string; b: string | undefined; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^ ^^^^ >b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >undefined : undefined @@ -751,7 +751,7 @@ const completeProps: Props = { ...defaultProps, ...inputProps }; >completeProps : Props > : ^^^^^ >{ ...defaultProps, ...inputProps } : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >defaultProps : Pick > : ^^^^^^^^^^^^^^^^^^ >inputProps : InputProps @@ -821,13 +821,13 @@ const y: { foo: number } = { foo: 123, ...x }; >foo : number > : ^^^^^^ >{ foo: 123, ...x } : { foo: number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >foo : number > : ^^^^^^ >123 : 123 > : ^^^ >x : { foo?: number; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ // Index signatures and strict optional properties @@ -899,33 +899,33 @@ f11(ox1); // string >f11(ox1) : string > : ^^^^^^ >f11 : (x: { p?: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >ox1 : { p: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ f11(ox2); // string | undefined >f11(ox2) : string | undefined > : ^^^^^^^^^^^^^^^^^^ >f11 : (x: { p?: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >ox2 : { p: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ f11(ox3); // string >f11(ox3) : string > : ^^^^^^ >f11 : (x: { p?: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >ox3 : { p?: string; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ f11(ox4); // string | undefined >f11(ox4) : string | undefined > : ^^^^^^^^^^^^^^^^^^ >f11 : (x: { p?: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >ox4 : { p?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ declare function f12(x: [T?]): T; >f12 : (x: [T?]) => T @@ -937,7 +937,7 @@ f12(tx1); // string >f12(tx1) : string > : ^^^^^^ >f12 : (x: [T?]) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >tx1 : [string] > : ^^^^^^^^ @@ -945,7 +945,7 @@ f12(tx2); // string | undefined >f12(tx2) : string | undefined > : ^^^^^^^^^^^^^^^^^^ >f12 : (x: [T?]) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >tx2 : [string | undefined] > : ^^^^^^^^^^^^^^^^^^^^ @@ -953,7 +953,7 @@ f12(tx3); // string >f12(tx3) : string > : ^^^^^^ >f12 : (x: [T?]) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >tx3 : [string?] > : ^^^^^^^^^ @@ -961,7 +961,7 @@ f12(tx4); // string | undefined >f12(tx4) : string | undefined > : ^^^^^^^^^^^^^^^^^^ >f12 : (x: [T?]) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >tx4 : [(string | undefined)?] > : ^^^^^^^^^^^^^^^^^^^^^^^ @@ -973,41 +973,41 @@ declare function f13(x: Partial): T; f13(ox1); // { p: string } >f13(ox1) : { p: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >f13 : (x: Partial) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >ox1 : { p: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ f13(ox2); // { p: string | undefined } >f13(ox2) : { p: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >f13 : (x: Partial) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >ox2 : { p: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ f13(ox3); // { p: string } >f13(ox3) : { p: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >f13 : (x: Partial) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >ox3 : { p?: string; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ f13(ox4); // { p: string | undefined } >f13(ox4) : { p: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >f13 : (x: Partial) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >ox4 : { p?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ f13(tx1); // [string] >f13(tx1) : [string] > : ^^^^^^^^ >f13 : (x: Partial) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >tx1 : [string] > : ^^^^^^^^ @@ -1015,7 +1015,7 @@ f13(tx2); // [string | undefined] >f13(tx2) : [string | undefined] > : ^^^^^^^^^^^^^^^^^^^^ >f13 : (x: Partial) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >tx2 : [string | undefined] > : ^^^^^^^^^^^^^^^^^^^^ @@ -1023,7 +1023,7 @@ f13(tx3); // [string] >f13(tx3) : [string] > : ^^^^^^^^ >f13 : (x: Partial) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >tx3 : [string?] > : ^^^^^^^^^ @@ -1031,7 +1031,7 @@ f13(tx4); // [string | undefined] >f13(tx4) : [string | undefined] > : ^^^^^^^^^^^^^^^^^^^^ >f13 : (x: Partial) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >tx4 : [(string | undefined)?] > : ^^^^^^^^^^^^^^^^^^^^^^^ @@ -1086,7 +1086,7 @@ function aa(input: Bar): void { >expectNotUndefined(input.bar) : number > : ^^^^^^ >expectNotUndefined : (value: Undefinable) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >input.bar : number | undefined > : ^^^^^^^^^^^^^^^^^^ >input : Bar @@ -1098,7 +1098,7 @@ function aa(input: Bar): void { >bb(notUndefinedVal) : void > : ^^^^ >bb : (input: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >notUndefinedVal : number > : ^^^^^^ } @@ -1226,27 +1226,27 @@ declare var e: {a: number, b?: string | undefined } a = b; >a = b : { a: number; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >a : { [x: string]: string | number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >b : { a: number; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ a = c; >a = c : { a: number; b?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ >a : { [x: string]: string | number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >c : { a: number; b?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ a = d; // Error >a = d : { a: number; b: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >a : { [x: string]: string | number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >d : { a: number; b: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ a = e; // Error >a = e : string | boolean | undefined diff --git a/tests/baselines/reference/strictPropertyInitialization.types b/tests/baselines/reference/strictPropertyInitialization.types index 7b80087d375cb..a028ba04609eb 100644 --- a/tests/baselines/reference/strictPropertyInitialization.types +++ b/tests/baselines/reference/strictPropertyInitialization.types @@ -471,7 +471,7 @@ class C11 { >someValue() : any > : ^^^ >someValue : () => any -> : ^^^^^^^^^ +> : ^^^^^^ this.#b = someValue(); >this.#b = someValue() : any @@ -483,7 +483,7 @@ class C11 { >someValue() : any > : ^^^ >someValue : () => any -> : ^^^^^^^^^ +> : ^^^^^^ } } diff --git a/tests/baselines/reference/strictSubtypeAndNarrowing.types b/tests/baselines/reference/strictSubtypeAndNarrowing.types index e6a1ad9d84937..c6182b8e834c1 100644 --- a/tests/baselines/reference/strictSubtypeAndNarrowing.types +++ b/tests/baselines/reference/strictSubtypeAndNarrowing.types @@ -17,23 +17,23 @@ declare const x12: { x: any }; const a11 = [x11, x12]; >a11 : { x: any; }[] -> : ^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ >[x11, x12] : { x: any; }[] -> : ^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ >x11 : { x: unknown; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x12 : { x: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ const a12 = [x12, x11]; >a12 : { x: any; }[] -> : ^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ >[x12, x11] : { x: any; }[] -> : ^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ >x12 : { x: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ >x11 : { x: unknown; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ declare const x21: { x: any }; >x21 : { x: any; } @@ -49,23 +49,23 @@ declare const x22: { x: unknown }; const a21 = [x22, x21]; >a21 : { x: any; }[] -> : ^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ >[x22, x21] : { x: any; }[] -> : ^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ >x22 : { x: unknown; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x21 : { x: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ const a22 = [x21, x22]; >a22 : { x: any; }[] -> : ^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ >[x21, x22] : { x: any; }[] -> : ^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ >x21 : { x: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ >x22 : { x: unknown; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ // Strict subtype doesn't infer index signatures in non-fresh object types @@ -95,7 +95,7 @@ const a31 = [x31, x32]; >x31 : { a: number; } > : ^^^^^^^^^^^^^^ >x32 : { [x: string]: unknown; a: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ const a32 = [x32, x31]; >a32 : { a: number; }[] @@ -103,7 +103,7 @@ const a32 = [x32, x31]; >[x32, x31] : { a: number; }[] > : ^^^^^^^^^^^^^^^^ >x32 : { [x: string]: unknown; a: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >x31 : { a: number; } > : ^^^^^^^^^^^^^^ @@ -133,7 +133,7 @@ const a41 = [x42, x41]; >x42 : { a: number; } > : ^^^^^^^^^^^^^^ >x41 : { [x: string]: unknown; a: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ const a42 = [x41, x42]; >a42 : { a: number; }[] @@ -141,7 +141,7 @@ const a42 = [x41, x42]; >[x41, x42] : { a: number; }[] > : ^^^^^^^^^^^^^^^^ >x41 : { [x: string]: unknown; a: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >x42 : { a: number; } > : ^^^^^^^^^^^^^^ @@ -191,13 +191,13 @@ function fx1(f: (() => void) | undefined) { >isFunction(f) : boolean > : ^^^^^^^ >isFunction : (x: unknown) => x is T -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >f : (() => void) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ f; // () => void >f : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } else { f; // undefined @@ -206,7 +206,7 @@ function fx1(f: (() => void) | undefined) { } f; // (() => void) | undefined >f : (() => void) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ } function fx2(f: (() => void) | undefined) { @@ -219,13 +219,13 @@ function fx2(f: (() => void) | undefined) { >isFunction(f) : boolean > : ^^^^^^^ >isFunction : (x: unknown) => x is T -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >f : (() => void) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ f; // () => void >f : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } else { f; // undefined @@ -234,7 +234,7 @@ function fx2(f: (() => void) | undefined) { } f; // (() => void) | undefined >f : (() => void) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ } function fx3(f: (() => void) | undefined) { @@ -247,13 +247,13 @@ function fx3(f: (() => void) | undefined) { >isFunction(f) : boolean > : ^^^^^^^ >isFunction : (x: unknown) => x is T -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >f : (() => void) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ f; // () => void >f : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } else { f; // undefined @@ -262,7 +262,7 @@ function fx3(f: (() => void) | undefined) { } f; // (() => void) | undefined >f : (() => void) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ } function fx4(f: (() => void) | undefined) { @@ -275,13 +275,13 @@ function fx4(f: (() => void) | undefined) { >isFunction(f) : boolean > : ^^^^^^^ >isFunction : (x: unknown) => x is T -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >f : (() => void) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ f; // () => void >f : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } else { f; // undefined @@ -290,7 +290,7 @@ function fx4(f: (() => void) | undefined) { } f; // (() => void) | undefined >f : (() => void) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ } function checkA(f: FnTypes) { @@ -303,7 +303,7 @@ function checkA(f: FnTypes) { >isFunction(f) : boolean > : ^^^^^^^ >isFunction : (x: unknown) => x is T -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >f : FnTypes > : ^^^^^^^ @@ -331,7 +331,7 @@ function checkB(f: FnTypes) { >isFunction(f) : boolean > : ^^^^^^^ >isFunction : (x: unknown) => x is T -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >f : FnTypes > : ^^^^^^^ @@ -359,7 +359,7 @@ function checkC(f: FnTypes) { >isFunction(f) : boolean > : ^^^^^^^ >isFunction : (x: unknown) => x is T -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >f : FnTypes > : ^^^^^^^ @@ -387,7 +387,7 @@ function checkD(f: FnTypes) { >isFunction(f) : boolean > : ^^^^^^^ >isFunction : (x: unknown) => x is T -> : ^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >f : FnTypes > : ^^^^^^^ @@ -424,12 +424,12 @@ function fx10(obj1: { x?: number }, obj2: { x?: number, y?: number }) { obj1 = obj2 = { x: 1, y: 2 }; >obj1 = obj2 = { x: 1, y: 2 } : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->obj1 : { x?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj1 : { x?: number; } +> : ^^^^^^ ^^^ >obj2 = { x: 1, y: 2 } : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->obj2 : { x?: number | undefined; y?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj2 : { x?: number; y?: number; } +> : ^^^^^^ ^^^^^^ ^^^ >{ x: 1, y: 2 } : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -444,12 +444,12 @@ function fx10(obj1: { x?: number }, obj2: { x?: number, y?: number }) { obj2 = obj1 = { x: 1, y: 2 }; >obj2 = obj1 = { x: 1, y: 2 } : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->obj2 : { x?: number | undefined; y?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj2 : { x?: number; y?: number; } +> : ^^^^^^ ^^^^^^ ^^^ >obj1 = { x: 1, y: 2 } : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->obj1 : { x?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj1 : { x?: number; } +> : ^^^^^^ ^^^ >{ x: 1, y: 2 } : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -479,8 +479,8 @@ function fx11(): { x?: number } { return obj = { x: 1, y: 2 }; >obj = { x: 1, y: 2 } : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->obj : { x?: number | undefined; y?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj : { x?: number; y?: number; } +> : ^^^^^^ ^^^^^^ ^^^ >{ x: 1, y: 2 } : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -517,13 +517,13 @@ function ff1(value: { [index: number]: boolean, length: number } | undefined) { >isArrayLike(value) : boolean > : ^^^^^^^ >isArrayLike : (value: any) => value is { length: number; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >value : { [index: number]: boolean; length: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ value; >value : { [index: number]: boolean; length: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ } else { value; @@ -532,7 +532,7 @@ function ff1(value: { [index: number]: boolean, length: number } | undefined) { } value; >value : { [index: number]: boolean; length: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ } function ff2(value: { [index: number]: boolean, length: number } | string) { @@ -549,13 +549,13 @@ function ff2(value: { [index: number]: boolean, length: number } | string) { >isArrayLike(value) : boolean > : ^^^^^^^ >isArrayLike : (value: any) => value is { length: number; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >value : string | { [index: number]: boolean; length: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ value; >value : string | { [index: number]: boolean; length: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ } else { value; @@ -564,7 +564,7 @@ function ff2(value: { [index: number]: boolean, length: number } | string) { } value; >value : string | { [index: number]: boolean; length: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ } function ff3(value: string | string[] | { [index: number]: boolean, length: number } | [number, boolean] | number | { length: string } | { a: string } | null | undefined) { @@ -585,22 +585,22 @@ function ff3(value: string | string[] | { [index: number]: boolean, length: numb >isArrayLike(value) : boolean > : ^^^^^^^ >isArrayLike : (value: any) => value is { length: number; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >value : string | number | { [index: number]: boolean; length: number; } | [number, boolean] | { length: string; } | { a: string; } | string[] | null | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ value; >value : string | { [index: number]: boolean; length: number; } | [number, boolean] | string[] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } else { value; >value : number | { length: string; } | { a: string; } | null | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ } value; >value : string | number | { [index: number]: boolean; length: number; } | [number, boolean] | { length: string; } | { a: string; } | string[] | null | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } // Repro from comment in #52984 @@ -633,8 +633,8 @@ type NarrowByDeepValue = DeepPathT extends readonly [ declare function doesValueAtDeepPathSatisfy< ->doesValueAtDeepPathSatisfy : (obj: ObjT, deepPath: DeepPathT, predicate: (arg: unknown) => arg is ValueT) => obj is NarrowByDeepValue -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ +>doesValueAtDeepPathSatisfy : , ValueT>(obj: ObjT, deepPath: DeepPathT, predicate: (arg: unknown) => arg is ValueT) => obj is NarrowByDeepValue +> : ^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ObjT extends object, const DeepPathT extends ReadonlyArray, @@ -707,11 +707,11 @@ function test1(foo: Foo): {value: {type: 'A'}; a?: number} { >assert(doesValueAtDeepPathSatisfy(foo, ['value', 'type'], isA)) : void > : ^^^^ >assert : (condition: boolean) => asserts condition -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >doesValueAtDeepPathSatisfy(foo, ['value', 'type'], isA) : boolean > : ^^^^^^^ ->doesValueAtDeepPathSatisfy : (obj: ObjT, deepPath: DeepPathT, predicate: (arg: unknown) => arg is ValueT) => obj is NarrowByDeepValue -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>doesValueAtDeepPathSatisfy : , ValueT>(obj: ObjT, deepPath: DeepPathT, predicate: (arg: unknown) => arg is ValueT) => obj is NarrowByDeepValue +> : ^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >foo : Foo > : ^^^ >['value', 'type'] : ["value", "type"] @@ -721,11 +721,11 @@ function test1(foo: Foo): {value: {type: 'A'}; a?: number} { >'type' : "type" > : ^^^^^^ >isA : (arg: unknown) => arg is "A" -> : ^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ return foo; ->foo : { value: { type: "A"; }; a?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { value: { type: "A"; }; a?: number; } +> : ^^^^^^^^^ ^^^^^^ ^^^ } function test2(foo: Foo): {value: {type: 'A'}; a?: number} { @@ -744,13 +744,13 @@ function test2(foo: Foo): {value: {type: 'A'}; a?: number} { >assert(!doesValueAtDeepPathSatisfy(foo, ['value', 'type'], isB)) : void > : ^^^^ >assert : (condition: boolean) => asserts condition -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >!doesValueAtDeepPathSatisfy(foo, ['value', 'type'], isB) : boolean > : ^^^^^^^ >doesValueAtDeepPathSatisfy(foo, ['value', 'type'], isB) : boolean > : ^^^^^^^ ->doesValueAtDeepPathSatisfy : (obj: ObjT, deepPath: DeepPathT, predicate: (arg: unknown) => arg is ValueT) => obj is NarrowByDeepValue -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>doesValueAtDeepPathSatisfy : , ValueT>(obj: ObjT, deepPath: DeepPathT, predicate: (arg: unknown) => arg is ValueT) => obj is NarrowByDeepValue +> : ^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >foo : Foo > : ^^^ >['value', 'type'] : ["value", "type"] @@ -760,11 +760,11 @@ function test2(foo: Foo): {value: {type: 'A'}; a?: number} { >'type' : "type" > : ^^^^^^ >isB : (arg: unknown) => arg is "B" -> : ^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ return foo; ->foo : { value: { type: "A"; }; a?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { value: { type: "A"; }; a?: number; } +> : ^^^^^^^^^ ^^^^^^ ^^^ } // Repro from #53063 @@ -816,8 +816,8 @@ const f = (value: Union) => { > : ^^^^^^^ >checkIsPremium(value) : boolean > : ^^^^^^^ ->checkIsPremium : (a: Union) => a is { premium: true; } & Premium -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>checkIsPremium : (a: Union) => a is Union & Premium +> : ^ ^^ ^^^^^ >value : Union > : ^^^^^ @@ -825,7 +825,7 @@ const f = (value: Union) => { >value.premium : false > : ^^^^^ >value : { premium: false; } -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^ >premium : false > : ^^^^^ } diff --git a/tests/baselines/reference/strictTypeofUnionNarrowing.types b/tests/baselines/reference/strictTypeofUnionNarrowing.types index 99855894feb3f..cf3e155c899ea 100644 --- a/tests/baselines/reference/strictTypeofUnionNarrowing.types +++ b/tests/baselines/reference/strictTypeofUnionNarrowing.types @@ -17,17 +17,17 @@ function stringify1(anything: { toString(): string } | undefined): string { >typeof anything : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >anything : { toString(): string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >"string" : "string" > : ^^^^^^^^ >anything.toUpperCase() : string > : ^^^^^^ >anything.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >anything : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >"" : "" > : ^^ } @@ -52,11 +52,11 @@ function stringify2(anything: {} | undefined): string { >anything.toUpperCase() : string > : ^^^^^^ >anything.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >anything : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >"" : "" > : ^^ } @@ -81,11 +81,11 @@ function stringify3(anything: unknown | undefined): string { // should simplify >anything.toUpperCase() : string > : ^^^^^^ >anything.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >anything : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >"" : "" > : ^^ } @@ -106,17 +106,17 @@ function stringify4(anything: { toString?(): string } | undefined): string { >typeof anything : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >anything : { toString?(): string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >"string" : "string" > : ^^^^^^^^ >anything.toUpperCase() : string > : ^^^^^^ >anything.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >anything : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >"" : "" > : ^^ } diff --git a/tests/baselines/reference/stringEnumLiteralTypes1.types b/tests/baselines/reference/stringEnumLiteralTypes1.types index 20d556f1f90c0..740c8eed83b61 100644 --- a/tests/baselines/reference/stringEnumLiteralTypes1.types +++ b/tests/baselines/reference/stringEnumLiteralTypes1.types @@ -218,7 +218,7 @@ function f3(a: Choice.Yes, b: YesNo) { declare function g(x: Choice.Yes): string; >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : Choice.Yes > : ^^^^^^^^^^ >Choice : any @@ -226,7 +226,7 @@ declare function g(x: Choice.Yes): string; declare function g(x: Choice.No): boolean; >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : Choice.No > : ^^^^^^^^^ >Choice : any @@ -234,7 +234,7 @@ declare function g(x: Choice.No): boolean; declare function g(x: Choice): number; >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : Choice > : ^^^^^^ @@ -254,7 +254,7 @@ function f5(a: YesNo, b: UnknownYesNo, c: Choice) { >g(Choice.Yes) : string > : ^^^^^^ >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Choice.Yes : Choice.Yes > : ^^^^^^^^^^ >Choice : typeof Choice @@ -268,7 +268,7 @@ function f5(a: YesNo, b: UnknownYesNo, c: Choice) { >g(Choice.No) : boolean > : ^^^^^^^ >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Choice.No : Choice.No > : ^^^^^^^^^ >Choice : typeof Choice @@ -282,7 +282,7 @@ function f5(a: YesNo, b: UnknownYesNo, c: Choice) { >g(a) : number > : ^^^^^^ >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : YesNo > : ^^^^^ @@ -292,7 +292,7 @@ function f5(a: YesNo, b: UnknownYesNo, c: Choice) { >g(b) : number > : ^^^^^^ >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : UnknownYesNo > : ^^^^^^^^^^^^ @@ -302,7 +302,7 @@ function f5(a: YesNo, b: UnknownYesNo, c: Choice) { >g(c) : number > : ^^^^^^ >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c : Choice > : ^^^^^^ } @@ -388,7 +388,7 @@ function f11(x: YesNo) { >assertNever(x) : never > : ^^^^^ >assertNever : (x: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : never > : ^^^^^ } @@ -487,7 +487,7 @@ function f20(x: Item) { >x.a : string > : ^^^^^^ >x : { kind: Choice.Yes; a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >a : string > : ^^^^^^ @@ -501,7 +501,7 @@ function f20(x: Item) { >x.b : string > : ^^^^^^ >x : { kind: Choice.No; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >b : string > : ^^^^^^ } @@ -531,7 +531,7 @@ function f21(x: Item) { >x.a : string > : ^^^^^^ >x : { kind: Choice.Yes; a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >a : string > : ^^^^^^ @@ -545,7 +545,7 @@ function f21(x: Item) { >x.b : string > : ^^^^^^ >x : { kind: Choice.No; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >b : string > : ^^^^^^ } @@ -553,7 +553,7 @@ function f21(x: Item) { >assertNever(x) : never > : ^^^^^ >assertNever : (x: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : never > : ^^^^^ } diff --git a/tests/baselines/reference/stringEnumLiteralTypes2.types b/tests/baselines/reference/stringEnumLiteralTypes2.types index d3a790a349866..7ca1f635ada86 100644 --- a/tests/baselines/reference/stringEnumLiteralTypes2.types +++ b/tests/baselines/reference/stringEnumLiteralTypes2.types @@ -218,7 +218,7 @@ function f3(a: Choice.Yes, b: YesNo) { declare function g(x: Choice.Yes): string; >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : Choice.Yes > : ^^^^^^^^^^ >Choice : any @@ -226,7 +226,7 @@ declare function g(x: Choice.Yes): string; declare function g(x: Choice.No): boolean; >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : Choice.No > : ^^^^^^^^^ >Choice : any @@ -234,7 +234,7 @@ declare function g(x: Choice.No): boolean; declare function g(x: Choice): number; >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : Choice > : ^^^^^^ @@ -254,7 +254,7 @@ function f5(a: YesNo, b: UnknownYesNo, c: Choice) { >g(Choice.Yes) : string > : ^^^^^^ >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Choice.Yes : Choice.Yes > : ^^^^^^^^^^ >Choice : typeof Choice @@ -268,7 +268,7 @@ function f5(a: YesNo, b: UnknownYesNo, c: Choice) { >g(Choice.No) : boolean > : ^^^^^^^ >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Choice.No : Choice.No > : ^^^^^^^^^ >Choice : typeof Choice @@ -282,7 +282,7 @@ function f5(a: YesNo, b: UnknownYesNo, c: Choice) { >g(a) : number > : ^^^^^^ >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : YesNo > : ^^^^^ @@ -292,7 +292,7 @@ function f5(a: YesNo, b: UnknownYesNo, c: Choice) { >g(b) : number > : ^^^^^^ >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : UnknownYesNo > : ^^^^^^^^^^^^ @@ -302,7 +302,7 @@ function f5(a: YesNo, b: UnknownYesNo, c: Choice) { >g(c) : number > : ^^^^^^ >g : { (x: Choice.Yes): string; (x: Choice.No): boolean; (x: Choice): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c : Choice > : ^^^^^^ } @@ -388,7 +388,7 @@ function f11(x: YesNo) { >assertNever(x) : never > : ^^^^^ >assertNever : (x: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : never > : ^^^^^ } @@ -487,7 +487,7 @@ function f20(x: Item) { >x.a : string > : ^^^^^^ >x : { kind: Choice.Yes; a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >a : string > : ^^^^^^ @@ -501,7 +501,7 @@ function f20(x: Item) { >x.b : string > : ^^^^^^ >x : { kind: Choice.No; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >b : string > : ^^^^^^ } @@ -531,7 +531,7 @@ function f21(x: Item) { >x.a : string > : ^^^^^^ >x : { kind: Choice.Yes; a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >a : string > : ^^^^^^ @@ -545,7 +545,7 @@ function f21(x: Item) { >x.b : string > : ^^^^^^ >x : { kind: Choice.No; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^ ^^^ >b : string > : ^^^^^^ } @@ -553,7 +553,7 @@ function f21(x: Item) { >assertNever(x) : never > : ^^^^^ >assertNever : (x: never) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : never > : ^^^^^ } diff --git a/tests/baselines/reference/stringIncludes.types b/tests/baselines/reference/stringIncludes.types index 314ca62890e33..3e9ab6771c1e6 100644 --- a/tests/baselines/reference/stringIncludes.types +++ b/tests/baselines/reference/stringIncludes.types @@ -13,11 +13,11 @@ includes = "abcde".includes("cd"); >"abcde".includes("cd") : boolean > : ^^^^^^^ >"abcde".includes : (searchString: string, position?: number) => boolean -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >"abcde" : "abcde" > : ^^^^^^^ >includes : (searchString: string, position?: number) => boolean -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >"cd" : "cd" > : ^^^^ @@ -29,11 +29,11 @@ includes = "abcde".includes("cd", 2); >"abcde".includes("cd", 2) : boolean > : ^^^^^^^ >"abcde".includes : (searchString: string, position?: number) => boolean -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >"abcde" : "abcde" > : ^^^^^^^ >includes : (searchString: string, position?: number) => boolean -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >"cd" : "cd" > : ^^^^ >2 : 2 diff --git a/tests/baselines/reference/stringIndexerAssignments1.types b/tests/baselines/reference/stringIndexerAssignments1.types index be7a2fe8ff2d0..3493b46f237c3 100644 --- a/tests/baselines/reference/stringIndexerAssignments1.types +++ b/tests/baselines/reference/stringIndexerAssignments1.types @@ -25,17 +25,17 @@ var b: { one: number; two: string; }; x = a; >x = a : { one: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { [index: string]: string; one: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >a : { one: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ x = b; // error >x = b : { one: number; two: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >x : { [index: string]: string; one: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >b : { one: number; two: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ diff --git a/tests/baselines/reference/stringIndexingResults.types b/tests/baselines/reference/stringIndexingResults.types index 8224108f3ce2d..b9796b6959dbd 100644 --- a/tests/baselines/reference/stringIndexingResults.types +++ b/tests/baselines/reference/stringIndexingResults.types @@ -113,7 +113,7 @@ var r7 = a['y']; >a['y'] : string > : ^^^^^^ >a : { [x: string]: string; y: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >'y' : "y" > : ^^^ @@ -123,7 +123,7 @@ var r8 = a['a']; >a['a'] : string > : ^^^^^^ >a : { [x: string]: string; y: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >'a' : "a" > : ^^^ @@ -133,7 +133,7 @@ var r9 = a[1]; >a[1] : string > : ^^^^^^ >a : { [x: string]: string; y: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/stringLiteralCheckedInIf02.types b/tests/baselines/reference/stringLiteralCheckedInIf02.types index 9521ff6dc3d91..749d9155236b3 100644 --- a/tests/baselines/reference/stringLiteralCheckedInIf02.types +++ b/tests/baselines/reference/stringLiteralCheckedInIf02.types @@ -42,7 +42,7 @@ function f(foo: T) { >isS(foo) : boolean > : ^^^^^^^ >isS : (t: T) => t is S -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo : T > : ^ diff --git a/tests/baselines/reference/stringLiteralTypeIsSubtypeOfString.types b/tests/baselines/reference/stringLiteralTypeIsSubtypeOfString.types index 4b96d8c8f4658..7086965d547d8 100644 --- a/tests/baselines/reference/stringLiteralTypeIsSubtypeOfString.types +++ b/tests/baselines/reference/stringLiteralTypeIsSubtypeOfString.types @@ -342,25 +342,25 @@ function f12(x: T); > : ^ function f12(x: any) { } ->f12 : { (x: "a"): any; (x: T_2): any; } +>f12 : { (x: "a"): any; (x: T_1): any; } > : ^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : any function f13(x: 'a'); >f13 : { (x: "a"): any; (x: T_1): any; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : "a" > : ^^^ function f13(x: T); >f13 : { (x: "a"): any; (x: T): any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ function f13(x: any) { } ->f13 : { (x: "a"): any; (x: T_2): any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>f13 : { (x: "a"): any; (x: T_1): any; } +> : ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : any enum E { A } @@ -388,35 +388,35 @@ function f14(x: any) { } function f15(x: 'a'); >f15 : { (x: "a"): any; (x: U_1): any; } -> : ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : "a" > : ^^^ function f15(x: U); >f15 : { (x: "a"): any; (x: U): any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : U > : ^ function f15(x: any) { } ->f15 : { (x: "a"): any; (x: U_2): any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>f15 : { (x: "a"): any; (x: U_1): any; } +> : ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : any function f16(x: 'a'); >f16 : { (x: "a"): any; (x: U_1): any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : "a" > : ^^^ function f16(x: U); >f16 : { (x: "a"): any; (x: U): any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : U > : ^ function f16(x: any) { } ->f16 : { (x: "a"): any; (x: U_2): any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>f16 : { (x: "a"): any; (x: U_1): any; } +> : ^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : any diff --git a/tests/baselines/reference/stringLiteralTypesAndParenthesizedExpressions01.types b/tests/baselines/reference/stringLiteralTypesAndParenthesizedExpressions01.types index 3948dfccc1a0f..c382ffad2b467 100644 --- a/tests/baselines/reference/stringLiteralTypesAndParenthesizedExpressions01.types +++ b/tests/baselines/reference/stringLiteralTypesAndParenthesizedExpressions01.types @@ -29,7 +29,7 @@ let c: "foo" = (myRandBool ? "foo" : ("foo")); >myRandBool ? "foo" : ("foo") : "foo" > : ^^^^^ >myRandBool : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >"foo" : "foo" > : ^^^^^ >("foo") : "foo" @@ -45,7 +45,7 @@ let d: "foo" | "bar" = (myRandBool ? "foo" : ("bar")); >myRandBool ? "foo" : ("bar") : "foo" | "bar" > : ^^^^^^^^^^^^^ >myRandBool : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >"foo" : "foo" > : ^^^^^ >("bar") : "bar" diff --git a/tests/baselines/reference/stringLiteralTypesAsTags01.types b/tests/baselines/reference/stringLiteralTypesAsTags01.types index 0036ca729c42a..823444d6677a7 100644 --- a/tests/baselines/reference/stringLiteralTypesAsTags01.types +++ b/tests/baselines/reference/stringLiteralTypesAsTags01.types @@ -33,7 +33,7 @@ interface B extends Entity { function hasKind(entity: Entity, kind: "A"): entity is A; >hasKind : { (entity: Entity, kind: "A"): entity is A; (entity: Entity, kind: "B"): entity is B; (entity: Entity, kind: Kind): entity is Entity; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >entity : Entity > : ^^^^^^ >kind : "A" @@ -41,7 +41,7 @@ function hasKind(entity: Entity, kind: "A"): entity is A; function hasKind(entity: Entity, kind: "B"): entity is B; >hasKind : { (entity: Entity, kind: "A"): entity is A; (entity: Entity, kind: "B"): entity is B; (entity: Entity, kind: Kind): entity is Entity; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >entity : Entity > : ^^^^^^ >kind : "B" @@ -49,7 +49,7 @@ function hasKind(entity: Entity, kind: "B"): entity is B; function hasKind(entity: Entity, kind: Kind): entity is Entity; >hasKind : { (entity: Entity, kind: "A"): entity is A; (entity: Entity, kind: "B"): entity is B; (entity: Entity, kind: Kind): entity is Entity; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >entity : Entity > : ^^^^^^ >kind : Kind @@ -57,7 +57,7 @@ function hasKind(entity: Entity, kind: Kind): entity is Entity; function hasKind(entity: Entity, kind: Kind): boolean { >hasKind : { (entity: Entity, kind: "A"): entity is A; (entity: Entity, kind: "B"): entity is B; (entity: Entity, kind: Kind): entity is Entity; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >entity : Entity > : ^^^^^^ >kind : Kind @@ -99,7 +99,7 @@ if (hasKind(x, "A")) { >hasKind(x, "A") : boolean > : ^^^^^^^ >hasKind : { (entity: Entity, kind: "A"): entity is A; (entity: Entity, kind: "B"): entity is B; (entity: Entity, kind: Kind): entity is Entity; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >x : A > : ^ >"A" : "A" @@ -125,7 +125,7 @@ if (!hasKind(x, "B")) { >hasKind(x, "B") : boolean > : ^^^^^^^ >hasKind : { (entity: Entity, kind: "A"): entity is A; (entity: Entity, kind: "B"): entity is B; (entity: Entity, kind: Kind): entity is Entity; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >x : A > : ^ >"B" : "B" diff --git a/tests/baselines/reference/stringLiteralTypesAsTags02.types b/tests/baselines/reference/stringLiteralTypesAsTags02.types index 4035916884665..7be84adf903c9 100644 --- a/tests/baselines/reference/stringLiteralTypesAsTags02.types +++ b/tests/baselines/reference/stringLiteralTypesAsTags02.types @@ -33,7 +33,7 @@ interface B extends Entity { function hasKind(entity: Entity, kind: "A"): entity is A; >hasKind : { (entity: Entity, kind: "A"): entity is A; (entity: Entity, kind: "B"): entity is B; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >entity : Entity > : ^^^^^^ >kind : "A" @@ -41,7 +41,7 @@ function hasKind(entity: Entity, kind: "A"): entity is A; function hasKind(entity: Entity, kind: "B"): entity is B; >hasKind : { (entity: Entity, kind: "A"): entity is A; (entity: Entity, kind: "B"): entity is B; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >entity : Entity > : ^^^^^^ >kind : "B" @@ -49,7 +49,7 @@ function hasKind(entity: Entity, kind: "B"): entity is B; function hasKind(entity: Entity, kind: Kind): entity is (A | B) { >hasKind : { (entity: Entity, kind: "A"): entity is A; (entity: Entity, kind: "B"): entity is B; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >entity : Entity > : ^^^^^^ >kind : Kind @@ -91,7 +91,7 @@ if (hasKind(x, "A")) { >hasKind(x, "A") : boolean > : ^^^^^^^ >hasKind : { (entity: Entity, kind: "A"): entity is A; (entity: Entity, kind: "B"): entity is B; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >x : A > : ^ >"A" : "A" @@ -117,7 +117,7 @@ if (!hasKind(x, "B")) { >hasKind(x, "B") : boolean > : ^^^^^^^ >hasKind : { (entity: Entity, kind: "A"): entity is A; (entity: Entity, kind: "B"): entity is B; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >x : A > : ^ >"B" : "B" diff --git a/tests/baselines/reference/stringLiteralTypesAsTags03.types b/tests/baselines/reference/stringLiteralTypesAsTags03.types index 56676ba78ffdd..23f7ee69b068a 100644 --- a/tests/baselines/reference/stringLiteralTypesAsTags03.types +++ b/tests/baselines/reference/stringLiteralTypesAsTags03.types @@ -37,7 +37,7 @@ interface B extends Entity { // signature and simply check compatibility with the implementation. function hasKind(entity: Entity, kind: "A" | "A"): entity is A; >hasKind : { (entity: Entity, kind: "A" | "A"): entity is A; (entity: Entity, kind: "B" | "B"): entity is B; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >entity : Entity > : ^^^^^^ >kind : "A" @@ -45,7 +45,7 @@ function hasKind(entity: Entity, kind: "A" | "A"): entity is A; function hasKind(entity: Entity, kind: "B" | "B"): entity is B; >hasKind : { (entity: Entity, kind: "A" | "A"): entity is A; (entity: Entity, kind: "B" | "B"): entity is B; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >entity : Entity > : ^^^^^^ >kind : "B" @@ -53,7 +53,7 @@ function hasKind(entity: Entity, kind: "B" | "B"): entity is B; function hasKind(entity: Entity, kind: Kind): entity is Entity { >hasKind : { (entity: Entity, kind: "A" | "A"): entity is A; (entity: Entity, kind: "B" | "B"): entity is B; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >entity : Entity > : ^^^^^^ >kind : Kind @@ -95,7 +95,7 @@ if (hasKind(x, "A")) { >hasKind(x, "A") : boolean > : ^^^^^^^ >hasKind : { (entity: Entity, kind: "A" | "A"): entity is A; (entity: Entity, kind: "B" | "B"): entity is B; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >x : A > : ^ >"A" : "A" @@ -121,7 +121,7 @@ if (!hasKind(x, "B")) { >hasKind(x, "B") : boolean > : ^^^^^^^ >hasKind : { (entity: Entity, kind: "A" | "A"): entity is A; (entity: Entity, kind: "B" | "B"): entity is B; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >x : A > : ^ >"B" : "B" diff --git a/tests/baselines/reference/stringLiteralTypesAsTypeParameterConstraint01.types b/tests/baselines/reference/stringLiteralTypesAsTypeParameterConstraint01.types index fd4615c3c82be..de53d233e3b09 100644 --- a/tests/baselines/reference/stringLiteralTypesAsTypeParameterConstraint01.types +++ b/tests/baselines/reference/stringLiteralTypesAsTypeParameterConstraint01.types @@ -3,7 +3,7 @@ === stringLiteralTypesAsTypeParameterConstraint01.ts === function foo(f: (x: T) => T) { >foo : (f: (x: T) => T) => (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >f : (x: T) => T > : ^ ^^ ^^^^^ >x : T @@ -11,12 +11,12 @@ function foo(f: (x: T) => T) { return f; >f : (x: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ } function bar(f: (x: T) => T) { >bar : (f: (x: T) => T) => (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >f : (x: T) => T > : ^ ^^ ^^^^^ >x : T @@ -24,7 +24,7 @@ function bar(f: (x: T) => T) { return f; >f : (x: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ } let f = foo(x => x); @@ -33,7 +33,7 @@ let f = foo(x => x); >foo(x => x) : (x: "foo") => "foo" > : ^ ^^^^^^^^^^^^^^^^^ >foo : (f: (x: T) => T) => (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >x => x : (x: "foo") => "foo" > : ^ ^^^^^^^^^^^^^^^^^ >x : "foo" @@ -57,7 +57,7 @@ let g = foo((x => x)); >foo((x => x)) : (x: "foo") => "foo" > : ^ ^^^^^^^^^^^^^^^^^ >foo : (f: (x: T) => T) => (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(x => x) : (x: "foo") => "foo" > : ^ ^^^^^^^^^^^^^^^^^ >x => x : (x: "foo") => "foo" @@ -83,7 +83,7 @@ let h = bar(x => x); >bar(x => x) : (x: "foo" | "bar") => "foo" | "bar" > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >bar : (f: (x: T) => T) => (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >x => x : (x: "foo" | "bar") => "foo" | "bar" > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : "foo" | "bar" diff --git a/tests/baselines/reference/stringLiteralTypesAsTypeParameterConstraint02.types b/tests/baselines/reference/stringLiteralTypesAsTypeParameterConstraint02.types index 5ef47f2d80189..20fab6b311632 100644 --- a/tests/baselines/reference/stringLiteralTypesAsTypeParameterConstraint02.types +++ b/tests/baselines/reference/stringLiteralTypesAsTypeParameterConstraint02.types @@ -3,7 +3,7 @@ === stringLiteralTypesAsTypeParameterConstraint02.ts === function foo(f: (x: T) => T) { >foo : (f: (x: T) => T) => (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >f : (x: T) => T > : ^ ^^ ^^^^^ >x : T @@ -11,7 +11,7 @@ function foo(f: (x: T) => T) { return f; >f : (x: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ } let f = foo((y: "foo" | "bar") => y === "foo" ? y : "foo"); @@ -20,7 +20,7 @@ let f = foo((y: "foo" | "bar") => y === "foo" ? y : "foo"); >foo((y: "foo" | "bar") => y === "foo" ? y : "foo") : (x: "foo") => "foo" > : ^ ^^^^^^^^^^^^^^^^^ >foo : (f: (x: T) => T) => (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(y: "foo" | "bar") => y === "foo" ? y : "foo" : (y: "foo" | "bar") => "foo" > : ^ ^^ ^^^^^^^^^^ >y : "foo" | "bar" diff --git a/tests/baselines/reference/stringLiteralTypesOverloadAssignability01.types b/tests/baselines/reference/stringLiteralTypesOverloadAssignability01.types index c3d5945623c06..a78ede5477a63 100644 --- a/tests/baselines/reference/stringLiteralTypesOverloadAssignability01.types +++ b/tests/baselines/reference/stringLiteralTypesOverloadAssignability01.types @@ -9,7 +9,7 @@ function f(x: "foo"): number; function f(x: string): number { >f : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string > : ^^^^^^ @@ -26,7 +26,7 @@ function g(x: "bar"): number; function g(x: string): number { >g : (x: "bar") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string > : ^^^^^^ @@ -37,29 +37,29 @@ function g(x: string): number { let a = f; >a : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ let b = g; >b : (x: "bar") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >g : (x: "bar") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ a = b; >a = b : (x: "bar") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : (x: "bar") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ b = a; >b = a : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : (x: "bar") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ diff --git a/tests/baselines/reference/stringLiteralTypesOverloadAssignability02.types b/tests/baselines/reference/stringLiteralTypesOverloadAssignability02.types index fa17b7f7f56f6..f2f9f27f10b6d 100644 --- a/tests/baselines/reference/stringLiteralTypesOverloadAssignability02.types +++ b/tests/baselines/reference/stringLiteralTypesOverloadAssignability02.types @@ -9,7 +9,7 @@ function f(x: "foo"): number; function f(x: "foo"): number { >f : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : "foo" > : ^^^^^ @@ -26,7 +26,7 @@ function g(x: "bar"): number; function g(x: "bar"): number { >g : (x: "bar") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : "bar" > : ^^^^^ @@ -37,29 +37,29 @@ function g(x: "bar"): number { let a = f; >a : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ let b = g; >b : (x: "bar") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >g : (x: "bar") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ a = b; >a = b : (x: "bar") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : (x: "bar") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ b = a; >b = a : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : (x: "bar") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ diff --git a/tests/baselines/reference/stringLiteralTypesOverloadAssignability03.types b/tests/baselines/reference/stringLiteralTypesOverloadAssignability03.types index 04df4c77e1757..af6e09d3b5926 100644 --- a/tests/baselines/reference/stringLiteralTypesOverloadAssignability03.types +++ b/tests/baselines/reference/stringLiteralTypesOverloadAssignability03.types @@ -9,7 +9,7 @@ function f(x: "foo"): number; function f(x: string): number { >f : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string > : ^^^^^^ @@ -26,7 +26,7 @@ function g(x: "foo"): number; function g(x: string): number { >g : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string > : ^^^^^^ @@ -37,29 +37,29 @@ function g(x: string): number { let a = f; >a : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ let b = g; >b : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >g : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ a = b; >a = b : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ b = a; >b = a : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ diff --git a/tests/baselines/reference/stringLiteralTypesOverloadAssignability04.types b/tests/baselines/reference/stringLiteralTypesOverloadAssignability04.types index f0a8878924a6d..58b0a7133b8cc 100644 --- a/tests/baselines/reference/stringLiteralTypesOverloadAssignability04.types +++ b/tests/baselines/reference/stringLiteralTypesOverloadAssignability04.types @@ -9,7 +9,7 @@ function f(x: "foo"): number; function f(x: "foo"): number { >f : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : "foo" > : ^^^^^ @@ -26,7 +26,7 @@ function g(x: "foo"): number; function g(x: "foo"): number { >g : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : "foo" > : ^^^^^ @@ -37,29 +37,29 @@ function g(x: "foo"): number { let a = f; >a : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ let b = g; >b : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >g : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ a = b; >a = b : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ b = a; >b = a : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ diff --git a/tests/baselines/reference/stringLiteralTypesOverloadAssignability05.types b/tests/baselines/reference/stringLiteralTypesOverloadAssignability05.types index 553d616ad9cc9..589f600be162a 100644 --- a/tests/baselines/reference/stringLiteralTypesOverloadAssignability05.types +++ b/tests/baselines/reference/stringLiteralTypesOverloadAssignability05.types @@ -3,19 +3,19 @@ === stringLiteralTypesOverloadAssignability05.ts === function f(x: "foo"): number; >f : { (x: "foo"): number; (x: string): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "foo" > : ^^^^^ function f(x: string): number; >f : { (x: "foo"): number; (x: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ function f(x: string): number { >f : { (x: "foo"): number; (x: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ @@ -32,7 +32,7 @@ function g(x: "foo"): number; function g(x: string): number { >g : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string > : ^^^^^^ @@ -43,29 +43,29 @@ function g(x: string): number { let a = f; >a : { (x: "foo"): number; (x: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >f : { (x: "foo"): number; (x: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ let b = g; >b : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >g : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ a = b; >a = b : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : { (x: "foo"): number; (x: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ b = a; >b = a : { (x: "foo"): number; (x: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >b : (x: "foo") => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : { (x: "foo"): number; (x: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ diff --git a/tests/baselines/reference/stringLiteralTypesOverloads01.types b/tests/baselines/reference/stringLiteralTypesOverloads01.types index 160a1d96207db..5498e0da523e6 100644 --- a/tests/baselines/reference/stringLiteralTypesOverloads01.types +++ b/tests/baselines/reference/stringLiteralTypesOverloads01.types @@ -6,50 +6,50 @@ type PrimitiveName = 'string' | 'number' | 'boolean'; > : ^^^^^^^^^^^^^ function getFalsyPrimitive(x: "string"): string; ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "string" > : ^^^^^^^^ function getFalsyPrimitive(x: "number"): number; ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "number" > : ^^^^^^^^ function getFalsyPrimitive(x: "boolean"): boolean; ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "boolean" > : ^^^^^^^^^ function getFalsyPrimitive(x: "boolean" | "string"): boolean | string; ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "string" | "boolean" > : ^^^^^^^^^^^^^^^^^^^^ function getFalsyPrimitive(x: "boolean" | "number"): boolean | number; ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "number" | "boolean" > : ^^^^^^^^^^^^^^^^^^^^ function getFalsyPrimitive(x: "number" | "string"): number | string; ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "string" | "number" > : ^^^^^^^^^^^^^^^^^^^ function getFalsyPrimitive(x: "number" | "string" | "boolean"): number | string | boolean; ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): number | string | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "string" | "number" | "boolean" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function getFalsyPrimitive(x: PrimitiveName): number | string | boolean { ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : PrimitiveName > : ^^^^^^^^^^^^^ @@ -105,8 +105,8 @@ namespace Consts1 { > : ^^^^^^ >getFalsyPrimitive("string") : string > : ^^^^^^ ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >"string" : "string" > : ^^^^^^^^ @@ -115,8 +115,8 @@ namespace Consts1 { > : ^^^^^^ >getFalsyPrimitive('number') : number > : ^^^^^^ ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >'number' : "number" > : ^^^^^^^^ @@ -125,8 +125,8 @@ namespace Consts1 { > : ^^^^^^^ >getFalsyPrimitive("boolean") : boolean > : ^^^^^^^ ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >"boolean" : "boolean" > : ^^^^^^^^^ } @@ -198,8 +198,8 @@ namespace Consts2 { > : ^^^^^^ >getFalsyPrimitive(string) : string > : ^^^^^^ ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >string : "string" > : ^^^^^^^^ @@ -208,8 +208,8 @@ namespace Consts2 { > : ^^^^^^ >getFalsyPrimitive(number) : number > : ^^^^^^ ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >number : "number" > : ^^^^^^^^ @@ -218,8 +218,8 @@ namespace Consts2 { > : ^^^^^^^ >getFalsyPrimitive(boolean) : boolean > : ^^^^^^^ ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >boolean : "boolean" > : ^^^^^^^^^ @@ -228,8 +228,8 @@ namespace Consts2 { > : ^^^^^^^^^^^^^^^ >getFalsyPrimitive(stringOrNumber) : string | number > : ^^^^^^^^^^^^^^^ ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >stringOrNumber : "string" | "number" > : ^^^^^^^^^^^^^^^^^^^ @@ -238,8 +238,8 @@ namespace Consts2 { > : ^^^^^^^^^^^^^^^^ >getFalsyPrimitive(stringOrBoolean) : string | boolean > : ^^^^^^^^^^^^^^^^ ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >stringOrBoolean : "string" | "boolean" > : ^^^^^^^^^^^^^^^^^^^^ @@ -248,8 +248,8 @@ namespace Consts2 { > : ^^^^^^^^^^^^^^^^ >getFalsyPrimitive(booleanOrNumber) : number | boolean > : ^^^^^^^^^^^^^^^^ ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >booleanOrNumber : "number" | "boolean" > : ^^^^^^^^^^^^^^^^^^^^ @@ -258,8 +258,8 @@ namespace Consts2 { > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >getFalsyPrimitive(stringOrBooleanOrNumber) : string | number | boolean > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >stringOrBooleanOrNumber : "string" | "number" | "boolean" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/stringLiteralTypesOverloads02.types b/tests/baselines/reference/stringLiteralTypesOverloads02.types index 7ff5a15ac8bcd..5ea61d0eeaf9d 100644 --- a/tests/baselines/reference/stringLiteralTypesOverloads02.types +++ b/tests/baselines/reference/stringLiteralTypesOverloads02.types @@ -2,50 +2,50 @@ === stringLiteralTypesOverloads02.ts === function getFalsyPrimitive(x: "string"): string; ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "string" > : ^^^^^^^^ function getFalsyPrimitive(x: "number"): number; ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "number" > : ^^^^^^^^ function getFalsyPrimitive(x: "boolean"): boolean; ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "boolean" > : ^^^^^^^^^ function getFalsyPrimitive(x: "boolean" | "string"): boolean | string; ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "string" | "boolean" > : ^^^^^^^^^^^^^^^^^^^^ function getFalsyPrimitive(x: "boolean" | "number"): boolean | number; ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "number" | "boolean" > : ^^^^^^^^^^^^^^^^^^^^ function getFalsyPrimitive(x: "number" | "string"): number | string; ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "string" | "number" > : ^^^^^^^^^^^^^^^^^^^ function getFalsyPrimitive(x: "number" | "string" | "boolean"): number | string | boolean; ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): number | string | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "string" | "number" | "boolean" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function getFalsyPrimitive(x: string): string | number | boolean { ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ @@ -101,8 +101,8 @@ namespace Consts1 { > : ^^^^^^ >getFalsyPrimitive("string") : string > : ^^^^^^ ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >"string" : "string" > : ^^^^^^^^ @@ -111,8 +111,8 @@ namespace Consts1 { > : ^^^^^^ >getFalsyPrimitive('number') : number > : ^^^^^^ ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >'number' : "number" > : ^^^^^^^^ @@ -121,8 +121,8 @@ namespace Consts1 { > : ^^^^^^^ >getFalsyPrimitive("boolean") : boolean > : ^^^^^^^ ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >"boolean" : "boolean" > : ^^^^^^^^^ } @@ -194,8 +194,8 @@ namespace Consts2 { > : ^^^^^^ >getFalsyPrimitive(string) : string > : ^^^^^^ ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >string : "string" > : ^^^^^^^^ @@ -204,8 +204,8 @@ namespace Consts2 { > : ^^^^^^ >getFalsyPrimitive(number) : number > : ^^^^^^ ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >number : "number" > : ^^^^^^^^ @@ -214,8 +214,8 @@ namespace Consts2 { > : ^^^^^^^ >getFalsyPrimitive(boolean) : boolean > : ^^^^^^^ ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >boolean : "boolean" > : ^^^^^^^^^ @@ -224,8 +224,8 @@ namespace Consts2 { > : ^^^^^^^^^^^^^^^ >getFalsyPrimitive(stringOrNumber) : string | number > : ^^^^^^^^^^^^^^^ ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >stringOrNumber : "string" | "number" > : ^^^^^^^^^^^^^^^^^^^ @@ -234,8 +234,8 @@ namespace Consts2 { > : ^^^^^^^^^^^^^^^^ >getFalsyPrimitive(stringOrBoolean) : string | boolean > : ^^^^^^^^^^^^^^^^ ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >stringOrBoolean : "string" | "boolean" > : ^^^^^^^^^^^^^^^^^^^^ @@ -244,8 +244,8 @@ namespace Consts2 { > : ^^^^^^^^^^^^^^^^ >getFalsyPrimitive(booleanOrNumber) : number | boolean > : ^^^^^^^^^^^^^^^^ ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >booleanOrNumber : "number" | "boolean" > : ^^^^^^^^^^^^^^^^^^^^ @@ -254,8 +254,8 @@ namespace Consts2 { > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >getFalsyPrimitive(stringOrBooleanOrNumber) : string | number | boolean > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): string | boolean; (x: "boolean" | "number"): number | boolean; (x: "number" | "string"): string | number; (x: "number" | "string" | "boolean"): string | number | boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>getFalsyPrimitive : { (x: "string"): string; (x: "number"): number; (x: "boolean"): boolean; (x: "boolean" | "string"): boolean | string; (x: "boolean" | "number"): boolean | number; (x: "number" | "string"): number | string; (x: "number" | "string" | "boolean"): number | string | boolean; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >stringOrBooleanOrNumber : "string" | "number" | "boolean" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/stringLiteralTypesOverloads03.types b/tests/baselines/reference/stringLiteralTypesOverloads03.types index 62244e587ad6f..ae80018422d7f 100644 --- a/tests/baselines/reference/stringLiteralTypesOverloads03.types +++ b/tests/baselines/reference/stringLiteralTypesOverloads03.types @@ -43,31 +43,31 @@ let helloOrWorld: "hello" | "world"; function f(p: "hello"): JustHello; >f : { (p: "hello"): JustHello; (p: "hello" | "world"): HelloOrWorld; (p: "world"): JustWorld; (p: string): Base; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >p : "hello" > : ^^^^^^^ function f(p: "hello" | "world"): HelloOrWorld; >f : { (p: "hello"): JustHello; (p: "hello" | "world"): HelloOrWorld; (p: "world"): JustWorld; (p: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >p : "hello" | "world" > : ^^^^^^^^^^^^^^^^^ function f(p: "world"): JustWorld; >f : { (p: "hello"): JustHello; (p: "hello" | "world"): HelloOrWorld; (p: "world"): JustWorld; (p: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >p : "world" > : ^^^^^^^ function f(p: string): Base; >f : { (p: "hello"): JustHello; (p: "hello" | "world"): HelloOrWorld; (p: "world"): JustWorld; (p: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >p : string > : ^^^^^^ function f(...args: any[]): any { >f : { (p: "hello"): JustHello; (p: "hello" | "world"): HelloOrWorld; (p: "world"): JustWorld; (p: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >args : any[] > : ^^^^^ @@ -82,7 +82,7 @@ let fResult1 = f(hello); >f(hello) : JustHello > : ^^^^^^^^^ >f : { (p: "hello"): JustHello; (p: "hello" | "world"): HelloOrWorld; (p: "world"): JustWorld; (p: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >hello : "hello" > : ^^^^^^^ @@ -92,7 +92,7 @@ let fResult2 = f(world); >f(world) : JustWorld > : ^^^^^^^^^ >f : { (p: "hello"): JustHello; (p: "hello" | "world"): HelloOrWorld; (p: "world"): JustWorld; (p: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >world : "world" > : ^^^^^^^ @@ -102,37 +102,37 @@ let fResult3 = f(helloOrWorld); >f(helloOrWorld) : HelloOrWorld > : ^^^^^^^^^^^^ >f : { (p: "hello"): JustHello; (p: "hello" | "world"): HelloOrWorld; (p: "world"): JustWorld; (p: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >helloOrWorld : "hello" | "world" > : ^^^^^^^^^^^^^^^^^ function g(p: string): Base; >g : { (p: string): Base; (p: "hello"): JustHello; (p: "hello" | "world"): HelloOrWorld; (p: "world"): JustWorld; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >p : string > : ^^^^^^ function g(p: "hello"): JustHello; >g : { (p: string): Base; (p: "hello"): JustHello; (p: "hello" | "world"): HelloOrWorld; (p: "world"): JustWorld; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >p : "hello" > : ^^^^^^^ function g(p: "hello" | "world"): HelloOrWorld; >g : { (p: string): Base; (p: "hello"): JustHello; (p: "hello" | "world"): HelloOrWorld; (p: "world"): JustWorld; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >p : "hello" | "world" > : ^^^^^^^^^^^^^^^^^ function g(p: "world"): JustWorld; >g : { (p: string): Base; (p: "hello"): JustHello; (p: "hello" | "world"): HelloOrWorld; (p: "world"): JustWorld; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >p : "world" > : ^^^^^^^ function g(...args: any[]): any { >g : { (p: string): Base; (p: "hello"): JustHello; (p: "hello" | "world"): HelloOrWorld; (p: "world"): JustWorld; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >args : any[] > : ^^^^^ @@ -147,7 +147,7 @@ let gResult1 = g(hello); >g(hello) : JustHello > : ^^^^^^^^^ >g : { (p: string): Base; (p: "hello"): JustHello; (p: "hello" | "world"): HelloOrWorld; (p: "world"): JustWorld; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >hello : "hello" > : ^^^^^^^ @@ -157,7 +157,7 @@ let gResult2 = g(world); >g(world) : JustWorld > : ^^^^^^^^^ >g : { (p: string): Base; (p: "hello"): JustHello; (p: "hello" | "world"): HelloOrWorld; (p: "world"): JustWorld; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >world : "world" > : ^^^^^^^ @@ -167,7 +167,7 @@ let gResult3 = g(helloOrWorld); >g(helloOrWorld) : Base > : ^^^^ >g : { (p: string): Base; (p: "hello"): JustHello; (p: "hello" | "world"): HelloOrWorld; (p: "world"): JustWorld; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >helloOrWorld : "hello" | "world" > : ^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/stringLiteralTypesOverloads05.types b/tests/baselines/reference/stringLiteralTypesOverloads05.types index aa3f27b9f8f38..7853729ebd4f3 100644 --- a/tests/baselines/reference/stringLiteralTypesOverloads05.types +++ b/tests/baselines/reference/stringLiteralTypesOverloads05.types @@ -19,25 +19,25 @@ interface Moose extends Animal { moose: {} } function doThing(x: "dog"): Dog; >doThing : { (x: "dog"): Dog; (x: "cat"): Cat; (x: string): Animal; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "dog" > : ^^^^^ function doThing(x: "cat"): Cat; >doThing : { (x: "dog"): Dog; (x: "cat"): Cat; (x: string): Animal; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "cat" > : ^^^^^ function doThing(x: string): Animal; >doThing : { (x: "dog"): Dog; (x: "cat"): Cat; (x: string): Animal; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ function doThing(x: string, y?: string): Moose { >doThing : { (x: "dog"): Dog; (x: "cat"): Cat; (x: string): Animal; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ >y : string diff --git a/tests/baselines/reference/stringLiteralTypesTypePredicates01.types b/tests/baselines/reference/stringLiteralTypesTypePredicates01.types index a5b9587a3885b..3fb3ae688b2ad 100644 --- a/tests/baselines/reference/stringLiteralTypesTypePredicates01.types +++ b/tests/baselines/reference/stringLiteralTypesTypePredicates01.types @@ -7,7 +7,7 @@ type Kind = "A" | "B" function kindIs(kind: Kind, is: "A"): kind is "A"; >kindIs : { (kind: Kind, is: "A"): kind is "A"; (kind: Kind, is: "B"): kind is "B"; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >kind : Kind > : ^^^^ >is : "A" @@ -15,7 +15,7 @@ function kindIs(kind: Kind, is: "A"): kind is "A"; function kindIs(kind: Kind, is: "B"): kind is "B"; >kindIs : { (kind: Kind, is: "A"): kind is "A"; (kind: Kind, is: "B"): kind is "B"; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >kind : Kind > : ^^^^ >is : "B" @@ -23,7 +23,7 @@ function kindIs(kind: Kind, is: "B"): kind is "B"; function kindIs(kind: Kind, is: Kind): boolean { >kindIs : { (kind: Kind, is: "A"): kind is "A"; (kind: Kind, is: "B"): kind is "B"; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >kind : Kind > : ^^^^ >is : Kind @@ -48,7 +48,7 @@ if (kindIs(x, "A")) { >kindIs(x, "A") : boolean > : ^^^^^^^ >kindIs : { (kind: Kind, is: "A"): kind is "A"; (kind: Kind, is: "B"): kind is "B"; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >x : Kind > : ^^^^ >"A" : "A" @@ -74,7 +74,7 @@ if (!kindIs(x, "B")) { >kindIs(x, "B") : boolean > : ^^^^^^^ >kindIs : { (kind: Kind, is: "A"): kind is "A"; (kind: Kind, is: "B"): kind is "B"; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >x : Kind > : ^^^^ >"B" : "B" diff --git a/tests/baselines/reference/stringLiteralsWithSwitchStatements03.types b/tests/baselines/reference/stringLiteralsWithSwitchStatements03.types index bcd883a8b9e76..bbf7fa3584a83 100644 --- a/tests/baselines/reference/stringLiteralsWithSwitchStatements03.types +++ b/tests/baselines/reference/stringLiteralsWithSwitchStatements03.types @@ -27,7 +27,7 @@ switch (x) { >randBool() : boolean > : ^^^^^^^ >randBool : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >"foo" : "foo" > : ^^^^^ >"baz" : "baz" @@ -42,7 +42,7 @@ switch (x) { >randBool() : boolean > : ^^^^^^^ >randBool : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >("bar") : "bar" > : ^^^^^ >"bar" : "bar" diff --git a/tests/baselines/reference/stringMappingReduction.types b/tests/baselines/reference/stringMappingReduction.types index a48787e928e90..c49782219b5a8 100644 --- a/tests/baselines/reference/stringMappingReduction.types +++ b/tests/baselines/reference/stringMappingReduction.types @@ -77,23 +77,23 @@ declare const _virtualOn: (eventQrl: VirtualEvent) => void; >_virtualOn : (eventQrl: VirtualEvent) => void > : ^ ^^ ^^^^^ >eventQrl : (event: {}) => any -> : ^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ export const virtualOn = (eventQrl: VirtualEvent) => { >virtualOn : (eventQrl: VirtualEvent) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >(eventQrl: VirtualEvent) => { _virtualOn(eventQrl);} : (eventQrl: VirtualEvent) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >eventQrl : (event: EPlusFallback>) => any -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ _virtualOn(eventQrl); >_virtualOn(eventQrl) : void > : ^^^^ >_virtualOn : (eventQrl: VirtualEvent) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >eventQrl : (event: EPlusFallback>) => any -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ }; diff --git a/tests/baselines/reference/stringMatchAll.types b/tests/baselines/reference/stringMatchAll.types index 422c849e95422..a107b9eb3fd5b 100644 --- a/tests/baselines/reference/stringMatchAll.types +++ b/tests/baselines/reference/stringMatchAll.types @@ -7,11 +7,11 @@ const matches = "matchAll".matchAll(/\w/g); >"matchAll".matchAll(/\w/g) : IterableIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"matchAll".matchAll : (regexp: RegExp) => IterableIterator -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"matchAll" : "matchAll" > : ^^^^^^^^^^ >matchAll : (regexp: RegExp) => IterableIterator -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >/\w/g : RegExp > : ^^^^^^ diff --git a/tests/baselines/reference/stringNamedPropertyAccess.types b/tests/baselines/reference/stringNamedPropertyAccess.types index b82a993e79d2b..816693d871819 100644 --- a/tests/baselines/reference/stringNamedPropertyAccess.types +++ b/tests/baselines/reference/stringNamedPropertyAccess.types @@ -70,7 +70,7 @@ var r3 = a["a b"]; >a["a b"] : number > : ^^^^^^ >a : { "a b": number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >"a b" : "a b" > : ^^^^^ diff --git a/tests/baselines/reference/stringPropCodeGen.types b/tests/baselines/reference/stringPropCodeGen.types index 616b8e99d7d92..00b95fc24a184 100644 --- a/tests/baselines/reference/stringPropCodeGen.types +++ b/tests/baselines/reference/stringPropCodeGen.types @@ -37,7 +37,7 @@ a.bar.toString(); >a.bar.toString() : string > : ^^^^^^ >a.bar.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >a.bar : number > : ^^^^^^ >a : { foo: () => void; bar: number; } @@ -45,5 +45,5 @@ a.bar.toString(); >bar : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/stringPropertyAccess.types b/tests/baselines/reference/stringPropertyAccess.types index de4d2ffd6347f..ee950ddfbe7c7 100644 --- a/tests/baselines/reference/stringPropertyAccess.types +++ b/tests/baselines/reference/stringPropertyAccess.types @@ -13,11 +13,11 @@ var a = x.charAt(0); >x.charAt(0) : string > : ^^^^^^ >x.charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string > : ^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ @@ -27,11 +27,11 @@ var b = x.hasOwnProperty('charAt'); >x.hasOwnProperty('charAt') : boolean > : ^^^^^^^ >x.hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string > : ^^^^^^ >hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'charAt' : "charAt" > : ^^^^^^^^ @@ -41,7 +41,7 @@ var c = x['charAt'](0); >x['charAt'](0) : string > : ^^^^^^ >x['charAt'] : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string > : ^^^^^^ >'charAt' : "charAt" @@ -55,7 +55,7 @@ var e = x['hasOwnProperty']('toFixed'); >x['hasOwnProperty']('toFixed') : boolean > : ^^^^^^^ >x['hasOwnProperty'] : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string > : ^^^^^^ >'hasOwnProperty' : "hasOwnProperty" diff --git a/tests/baselines/reference/stringPropertyAccessWithError.types b/tests/baselines/reference/stringPropertyAccessWithError.types index ca35b37f976c0..25f517cb294b3 100644 --- a/tests/baselines/reference/stringPropertyAccessWithError.types +++ b/tests/baselines/reference/stringPropertyAccessWithError.types @@ -13,7 +13,7 @@ var d = x['charAt']('invalid'); // error >x['charAt']('invalid') : string > : ^^^^^^ >x['charAt'] : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : string > : ^^^^^^ >'charAt' : "charAt" diff --git a/tests/baselines/reference/stringRawType.types b/tests/baselines/reference/stringRawType.types index 44f37aa01a517..b29e37ccaa6e6 100644 --- a/tests/baselines/reference/stringRawType.types +++ b/tests/baselines/reference/stringRawType.types @@ -5,11 +5,11 @@ String.raw({ raw: ["foo", "bar", "baz"] }, 1, 2); >String.raw({ raw: ["foo", "bar", "baz"] }, 1, 2) : string > : ^^^^^^ >String.raw : (template: { raw: readonly string[] | ArrayLike; }, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >String : StringConstructor > : ^^^^^^^^^^^^^^^^^ >raw : (template: { raw: readonly string[] | ArrayLike; }, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >{ raw: ["foo", "bar", "baz"] } : { raw: string[]; } > : ^^^^^^^^^^^^^^^^^^ >raw : string[] diff --git a/tests/baselines/reference/stringTrim.types b/tests/baselines/reference/stringTrim.types index 90db86cc93106..7e3347395682d 100644 --- a/tests/baselines/reference/stringTrim.types +++ b/tests/baselines/reference/stringTrim.types @@ -13,11 +13,11 @@ trimmed = "abcde".trimEnd(); >"abcde".trimEnd() : string > : ^^^^^^ >"abcde".trimEnd : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >"abcde" : "abcde" > : ^^^^^^^ >trimEnd : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ trimmed = "abcde".trimStart(); >trimmed = "abcde".trimStart() : string @@ -27,11 +27,11 @@ trimmed = "abcde".trimStart(); >"abcde".trimStart() : string > : ^^^^^^ >"abcde".trimStart : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >"abcde" : "abcde" > : ^^^^^^^ >trimStart : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ trimmed = "abcde".trimLeft(); >trimmed = "abcde".trimLeft() : string @@ -41,11 +41,11 @@ trimmed = "abcde".trimLeft(); >"abcde".trimLeft() : string > : ^^^^^^ >"abcde".trimLeft : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >"abcde" : "abcde" > : ^^^^^^^ >trimLeft : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ trimmed = "abcde".trimRight(); >trimmed = "abcde".trimRight() : string @@ -55,9 +55,9 @@ trimmed = "abcde".trimRight(); >"abcde".trimRight() : string > : ^^^^^^ >"abcde".trimRight : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >"abcde" : "abcde" > : ^^^^^^^ >trimRight : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/stripMembersOptionality(exactoptionalpropertytypes=false).types b/tests/baselines/reference/stripMembersOptionality(exactoptionalpropertytypes=false).types index ca7b197145fdb..f9ec5d0a58c8c 100644 --- a/tests/baselines/reference/stripMembersOptionality(exactoptionalpropertytypes=false).types +++ b/tests/baselines/reference/stripMembersOptionality(exactoptionalpropertytypes=false).types @@ -18,11 +18,11 @@ someVal.fn(""); >someVal.fn("") : string | null > : ^^^^^^^^^^^^^ >someVal.fn : (key: string) => string | null -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >someVal : Required<{ fn?(key: string): string | null; }> -> : ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^ >fn : (key: string) => string | null -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"" : "" > : ^^ @@ -41,11 +41,11 @@ someVal2.fn(""); >someVal2.fn("") : string | null > : ^^^^^^^^^^^^^ >someVal2.fn : (key: string) => string | null -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ->someVal2 : Required<{ fn?: ((key: string) => string | null) | undefined; }> -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>someVal2 : Required<{ fn?: (key: string) => string | null; }> +> : ^^^^^^^^^^^^^^^^ ^^^^ >fn : (key: string) => string | null -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"" : "" > : ^^ diff --git a/tests/baselines/reference/stripMembersOptionality(exactoptionalpropertytypes=true).types b/tests/baselines/reference/stripMembersOptionality(exactoptionalpropertytypes=true).types index 743188dfa0ad6..f9ec5d0a58c8c 100644 --- a/tests/baselines/reference/stripMembersOptionality(exactoptionalpropertytypes=true).types +++ b/tests/baselines/reference/stripMembersOptionality(exactoptionalpropertytypes=true).types @@ -18,11 +18,11 @@ someVal.fn(""); >someVal.fn("") : string | null > : ^^^^^^^^^^^^^ >someVal.fn : (key: string) => string | null -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >someVal : Required<{ fn?(key: string): string | null; }> -> : ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^ >fn : (key: string) => string | null -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"" : "" > : ^^ @@ -41,11 +41,11 @@ someVal2.fn(""); >someVal2.fn("") : string | null > : ^^^^^^^^^^^^^ >someVal2.fn : (key: string) => string | null -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >someVal2 : Required<{ fn?: (key: string) => string | null; }> -> : ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^ >fn : (key: string) => string | null -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"" : "" > : ^^ diff --git a/tests/baselines/reference/styledComponentsInstantiaionLimitNotReached.types b/tests/baselines/reference/styledComponentsInstantiaionLimitNotReached.types index 6c2aa0453b6a4..0937cfbd298af 100644 --- a/tests/baselines/reference/styledComponentsInstantiaionLimitNotReached.types +++ b/tests/baselines/reference/styledComponentsInstantiaionLimitNotReached.types @@ -447,7 +447,7 @@ export interface StyledComponentBase< withComponent( >withComponent : { (component: WithC): StyledComponent, T, O & StyledComponentInnerOtherProps, A | StyledComponentInnerAttrs>; >(component: WithC_1): StyledComponent; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ component: WithC, >component : WithC @@ -461,7 +461,7 @@ export interface StyledComponentBase< >; withComponent>( >withComponent : { (component: WithC_1): StyledComponent, T, O & StyledComponentInnerOtherProps, A | StyledComponentInnerAttrs>; >(component: WithC): StyledComponent; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >JSX : any > : ^^^ >React : any diff --git a/tests/baselines/reference/subclassWithPolymorphicThisIsAssignable.types b/tests/baselines/reference/subclassWithPolymorphicThisIsAssignable.types index b4a5bbf5d4985..2db33d2a7e8b3 100644 --- a/tests/baselines/reference/subclassWithPolymorphicThisIsAssignable.types +++ b/tests/baselines/reference/subclassWithPolymorphicThisIsAssignable.types @@ -21,15 +21,15 @@ export class Example { >this.test() : void > : ^^^^ >this.test : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^^^^^^^ >this : this > : ^^^^ >test : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^^^^^^^ } public test() { } >test : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } diff --git a/tests/baselines/reference/substitutionTypeNoMergeOfAssignableType.types b/tests/baselines/reference/substitutionTypeNoMergeOfAssignableType.types index 50783dc6a2665..b3b94b53a8a4f 100644 --- a/tests/baselines/reference/substitutionTypeNoMergeOfAssignableType.types +++ b/tests/baselines/reference/substitutionTypeNoMergeOfAssignableType.types @@ -33,7 +33,7 @@ interface Entry { function makeEntityStore>(config: T): Nodes { >makeEntityStore : >(config: T) => Nodes -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >config : T > : ^ @@ -50,7 +50,7 @@ interface Entry { >makeEntityStore({ test: { fields: { id: {} } } }) : Nodes<{ test: { fields: { id: {}; }; }; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >makeEntityStore : >(config: T) => Nodes -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ test: { fields: { id: {} } } } : { test: { fields: { id: {}; }; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >test : { fields: { id: {}; }; } diff --git a/tests/baselines/reference/substitutionTypePassedToExtends.symbols b/tests/baselines/reference/substitutionTypePassedToExtends.symbols index 8d09a8e282f9c..74d2d650efcc4 100644 --- a/tests/baselines/reference/substitutionTypePassedToExtends.symbols +++ b/tests/baselines/reference/substitutionTypePassedToExtends.symbols @@ -19,16 +19,16 @@ type Bar1 = T type Foo2 = Set extends Set ? Bar2> : 'else' >Foo2 : Symbol(Foo2, Decl(substitutionTypePassedToExtends.ts, 1, 36)) >A : Symbol(A, Decl(substitutionTypePassedToExtends.ts, 3, 10)) ->Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.esnext.collection.d.ts, --, --)) >A : Symbol(A, Decl(substitutionTypePassedToExtends.ts, 3, 10)) ->Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.esnext.collection.d.ts, --, --)) >Bar2 : Symbol(Bar2, Decl(substitutionTypePassedToExtends.ts, 3, 68)) ->Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.esnext.collection.d.ts, --, --)) >A : Symbol(A, Decl(substitutionTypePassedToExtends.ts, 3, 10)) type Bar2> = T >Bar2 : Symbol(Bar2, Decl(substitutionTypePassedToExtends.ts, 3, 68)) >T : Symbol(T, Decl(substitutionTypePassedToExtends.ts, 4, 10)) ->Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.esnext.collection.d.ts, --, --)) >T : Symbol(T, Decl(substitutionTypePassedToExtends.ts, 4, 10)) diff --git a/tests/baselines/reference/substitutionTypesInIndexedAccessTypes.types b/tests/baselines/reference/substitutionTypesInIndexedAccessTypes.types index 5f9ddc84e3327..a770b92cdba2b 100644 --- a/tests/baselines/reference/substitutionTypesInIndexedAccessTypes.types +++ b/tests/baselines/reference/substitutionTypesInIndexedAccessTypes.types @@ -19,13 +19,13 @@ type Subset = { [key in keyof T]: key extends keyof U ? T[key] : never }; declare function withBoundary(args?: Subset): T; >withBoundary : (args?: Subset) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^ ^^^^^ >args : Subset | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ declare function withoutBoundary(args?: T): T; >withoutBoundary : (args?: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^ ^^^^^ >args : T | undefined > : ^^^^^^^^^^^^^ @@ -35,7 +35,7 @@ const boundaryResult = withBoundary({ >withBoundary({ select: true,}) : { select: true; } > : ^^^^^^^^^^^^^^^^^ >withBoundary : (args?: Subset) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^ ^^^^^ >{ select: true,} : { select: true; } > : ^^^^^^^^^^^^^^^^^ @@ -53,7 +53,7 @@ const withoutBoundaryResult = withoutBoundary({ >withoutBoundary({ select: true,}) : { select: true; } > : ^^^^^^^^^^^^^^^^^ >withoutBoundary : (args?: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^ ^^^^^ >{ select: true,} : { select: true; } > : ^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/subtypeReductionUnionConstraints.types b/tests/baselines/reference/subtypeReductionUnionConstraints.types index 3e92f1a113c48..6dc30ee98ece0 100644 --- a/tests/baselines/reference/subtypeReductionUnionConstraints.types +++ b/tests/baselines/reference/subtypeReductionUnionConstraints.types @@ -58,7 +58,7 @@ declare function isBar(node: Node): node is BarNode; export function visitNodes(node: Document | Node, predicate: (testNode: Node) => testNode is T): void { >visitNodes : (node: Document | Node, predicate: (testNode: Node) => testNode is T) => void -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >node : Node | Document > : ^^^^^^^^^^^^^^^ >predicate : (testNode: Node) => testNode is T @@ -72,13 +72,13 @@ export function visitNodes(node: Document | Node, predicate: (te >isNode(node) : boolean > : ^^^^^^^ >isNode : (node: unknown) => node is Node -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >node : Node | Document > : ^^^^^^^^^^^^^^^ >predicate(node) : boolean > : ^^^^^^^ >predicate : (testNode: Node) => testNode is T -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >node : Node > : ^^^^ @@ -90,7 +90,7 @@ export function visitNodes(node: Document | Node, predicate: (te >isNode(node) : boolean > : ^^^^^^^ >isNode : (node: unknown) => node is Node -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >node : Node | Document > : ^^^^^^^^^^^^^^^ >!isBar(node) : boolean @@ -98,7 +98,7 @@ export function visitNodes(node: Document | Node, predicate: (te >isBar(node) : boolean > : ^^^^^^^ >isBar : (node: Node) => node is BarNode -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >node : Node > : ^^^^ @@ -130,7 +130,7 @@ type B = { b: string }; function f1(t: T, x: A | B) { >f1 : (t: T, x: A | B) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >t : T > : ^ >x : A | B diff --git a/tests/baselines/reference/subtypeRelationForNever.types b/tests/baselines/reference/subtypeRelationForNever.types index 99f3fc81b1b65..8067b8d648714 100644 --- a/tests/baselines/reference/subtypeRelationForNever.types +++ b/tests/baselines/reference/subtypeRelationForNever.types @@ -43,13 +43,13 @@ function withFew(values: a[], haveFew: (values: a[]) => r, haveNone: (reas >haveFew(values) : r > : ^ >haveFew : (values: a[]) => r -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >values : a[] > : ^^^ >haveNone('No values.') : r > : ^ >haveNone : (reason: string) => r -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >'No values.' : "No values." > : ^^^^^^^^^^^^ } @@ -67,7 +67,7 @@ const result = withFew([1, 2, 3], id, fail); // expected result is number[] >withFew([1, 2, 3], id, fail) : number[] > : ^^^^^^^^ >withFew : (values: a[], haveFew: (values: a[]) => r, haveNone: (reason: string) => r) => r -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >[1, 2, 3] : number[] > : ^^^^^^^^ >1 : 1 @@ -77,7 +77,7 @@ const result = withFew([1, 2, 3], id, fail); // expected result is number[] >3 : 3 > : ^ >id : (value: a) => a -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >fail : (message: string) => never -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ diff --git a/tests/baselines/reference/subtypesOfTypeParameter.types b/tests/baselines/reference/subtypesOfTypeParameter.types index f0f1219d60cc6..3bdd0c04801bb 100644 --- a/tests/baselines/reference/subtypesOfTypeParameter.types +++ b/tests/baselines/reference/subtypesOfTypeParameter.types @@ -615,7 +615,7 @@ function f2(x: T, y: U) { function f18(a: U) { >f18 : (a: U) => void -> : ^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >a : U > : ^ diff --git a/tests/baselines/reference/subtypesOfTypeParameterWithConstraints2.types b/tests/baselines/reference/subtypesOfTypeParameterWithConstraints2.types index 66b7d40050d8a..c4e8e9a37a297 100644 --- a/tests/baselines/reference/subtypesOfTypeParameterWithConstraints2.types +++ b/tests/baselines/reference/subtypesOfTypeParameterWithConstraints2.types @@ -5,7 +5,7 @@ function f1(x: T, y: U) { >f1 : (x: T, y: U) => void -> : ^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ >y : U @@ -39,7 +39,7 @@ function f1(x: T, y: U) { // V > U > T function f2(x: T, y: U, z: V) { >f2 : (x: T, y: U, z: V) => void -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ >y : U @@ -125,7 +125,7 @@ function f2(x: T, y: U, z: V) { // Date > U > T function f3(x: T, y: U) { >f3 : (x: T, y: U) => void -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ >y : U @@ -270,7 +270,7 @@ module c { function f4(x: T) { >f4 : (x: T) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ @@ -320,7 +320,7 @@ function f4(x: T) { function f5(x: T) { >f5 : (x: T) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ @@ -351,7 +351,7 @@ function f5(x: T) { function f6(x: T) { >f6 : (x: T) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ @@ -382,7 +382,7 @@ function f6(x: T) { function f7(x: T) { >f7 : (x: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ @@ -413,7 +413,7 @@ function f7(x: T) { function f8(x: T) { >f8 : (x: T) => void -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ @@ -448,7 +448,7 @@ function f8(x: T) { function f9(x: T) { >f9 : (x: T) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ @@ -479,7 +479,7 @@ function f9(x: T) { function f10(x: T) { >f10 : (x: T) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >foo : number > : ^^^^^^ >x : T @@ -520,7 +520,7 @@ function f10(x: T) { function f11 void>(x: T) { >f11 : void>(x: T) => void -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ @@ -551,7 +551,7 @@ function f11 void>(x: T) { function f12(x: U) => U>(x: T) { >f12 : (x: U) => U>(x: T) => void -> : ^ ^^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : U > : ^ >x : T @@ -592,7 +592,7 @@ function f12(x: U) => U>(x: T) { function f13(x: T) { >f13 : (x: T) => void -> : ^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ @@ -627,7 +627,7 @@ function f13(x: T) { function f14(x: T) { >f14 : (x: T) => void -> : ^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ @@ -662,7 +662,7 @@ function f14(x: T) { function f15>(x: T) { >f15 : >(x: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ @@ -697,7 +697,7 @@ function f15>(x: T) { function f16(x: T) { >f16 : (x: T) => void -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ @@ -760,7 +760,7 @@ function f16(x: T) { function f17(x: T) { >f17 : (x: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >f : typeof f > : ^^^^^^^^ >x : T @@ -799,7 +799,7 @@ function f17(x: T) { function f18(x: T) { >f18 : (x: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >c : typeof c > : ^^^^^^^^ >x : T @@ -844,7 +844,7 @@ function f19(x: T) { function f17(a: U) { >f17 : (a: U) => void -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >a : U > : ^ @@ -875,7 +875,7 @@ function f19(x: T) { function f18(a: V) { >f18 : (a: V) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >a : V > : ^ @@ -907,7 +907,7 @@ function f19(x: T) { function f20(x: T) { >f20 : (x: T) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ @@ -942,7 +942,7 @@ function f20(x: T) { function f21(x: T) { >f21 : (x: T) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ diff --git a/tests/baselines/reference/subtypesOfTypeParameterWithConstraints3.types b/tests/baselines/reference/subtypesOfTypeParameterWithConstraints3.types index 861d06365c169..31b32f08af17d 100644 --- a/tests/baselines/reference/subtypesOfTypeParameterWithConstraints3.types +++ b/tests/baselines/reference/subtypesOfTypeParameterWithConstraints3.types @@ -5,7 +5,7 @@ function f(t: T, u: U, v: V) { >f : (t: T, u: U, v: V) => void -> : ^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >t : T > : ^ >u : U diff --git a/tests/baselines/reference/subtypesOfTypeParameterWithConstraints4.types b/tests/baselines/reference/subtypesOfTypeParameterWithConstraints4.types index 29b51c5a4c4a6..49b088e99e29c 100644 --- a/tests/baselines/reference/subtypesOfTypeParameterWithConstraints4.types +++ b/tests/baselines/reference/subtypesOfTypeParameterWithConstraints4.types @@ -11,7 +11,7 @@ class Foo { foo: number; } function f(t: T, u: U, v: V) { >f : (t: T, u: U, v: V) => void -> : ^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >t : T > : ^ >u : U diff --git a/tests/baselines/reference/subtypesOfTypeParameterWithRecursiveConstraints.types b/tests/baselines/reference/subtypesOfTypeParameterWithRecursiveConstraints.types index 980be4a9b906d..1539b4d2cd064 100644 --- a/tests/baselines/reference/subtypesOfTypeParameterWithRecursiveConstraints.types +++ b/tests/baselines/reference/subtypesOfTypeParameterWithRecursiveConstraints.types @@ -11,7 +11,7 @@ class Foo { foo: T; } function f, U extends Foo, V extends Foo>(t: T, u: U, v: V) { >f : , U extends Foo, V extends Foo>(t: T, u: U, v: V) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >t : T > : ^ >u : U diff --git a/tests/baselines/reference/subtypingWithCallSignatures.types b/tests/baselines/reference/subtypingWithCallSignatures.types index 7b15cd450ada8..938d1445c988b 100644 --- a/tests/baselines/reference/subtypingWithCallSignatures.types +++ b/tests/baselines/reference/subtypingWithCallSignatures.types @@ -7,26 +7,26 @@ module CallSignature { declare function foo1(cb: (x: number) => void): typeof cb; >foo1 : { (cb: (x: number) => void): typeof cb; (cb: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >cb : (x: number) => void > : ^ ^^ ^^^^^ >x : number > : ^^^^^^ >cb : (x: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ declare function foo1(cb: any): any; ->foo1 : { (cb: (x: number) => void): (x: number) => void; (cb: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo1 : { (cb: (x: number) => void): typeof cb; (cb: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >cb : any var r = foo1((x: number) => 1); // ok because base returns void >r : (x: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo1((x: number) => 1) : (x: number) => void -> : ^ ^^ ^^^^^^^^^ ->foo1 : { (cb: (x: number) => void): (x: number) => void; (cb: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ +>foo1 : { (cb: (x: number) => void): typeof cb; (cb: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >(x: number) => 1 : (x: number) => number > : ^ ^^ ^^^^^^^^^^^ >x : number @@ -36,11 +36,11 @@ module CallSignature { var r2 = foo1((x: T) => ''); // ok because base returns void >r2 : (x: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo1((x: T) => '') : (x: number) => void -> : ^ ^^ ^^^^^^^^^ ->foo1 : { (cb: (x: number) => void): (x: number) => void; (cb: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ +>foo1 : { (cb: (x: number) => void): typeof cb; (cb: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >(x: T) => '' : (x: T) => string > : ^ ^^ ^^ ^^^^^^^^^^^ >x : T @@ -50,7 +50,7 @@ module CallSignature { declare function foo2(cb: (x: number, y: number) => void): typeof cb; >foo2 : { (cb: (x: number, y: number) => void): typeof cb; (cb: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >cb : (x: number, y: number) => void > : ^ ^^ ^^ ^^ ^^^^^ >x : number @@ -58,20 +58,20 @@ module CallSignature { >y : number > : ^^^^^^ >cb : (x: number, y: number) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ declare function foo2(cb: any): any; ->foo2 : { (cb: (x: number, y: number) => void): (x: number, y: number) => void; (cb: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo2 : { (cb: (x: number, y: number) => void): typeof cb; (cb: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >cb : any var r3 = foo2((x: number, y: number) => 1); // ok because base returns void >r3 : (x: number, y: number) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >foo2((x: number, y: number) => 1) : (x: number, y: number) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ ->foo2 : { (cb: (x: number, y: number) => void): (x: number, y: number) => void; (cb: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ +>foo2 : { (cb: (x: number, y: number) => void): typeof cb; (cb: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >(x: number, y: number) => 1 : (x: number, y: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >x : number @@ -83,11 +83,11 @@ module CallSignature { var r4 = foo2((x: T) => ''); // ok because base returns void >r4 : (x: number, y: number) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >foo2((x: T) => '') : (x: number, y: number) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ ->foo2 : { (cb: (x: number, y: number) => void): (x: number, y: number) => void; (cb: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ +>foo2 : { (cb: (x: number, y: number) => void): typeof cb; (cb: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >(x: T) => '' : (x: T) => string > : ^ ^^ ^^ ^^^^^^^^^^^ >x : T diff --git a/tests/baselines/reference/subtypingWithCallSignatures2.types b/tests/baselines/reference/subtypingWithCallSignatures2.types index 7315697b45ee2..092c2c532d2e3 100644 --- a/tests/baselines/reference/subtypingWithCallSignatures2.types +++ b/tests/baselines/reference/subtypingWithCallSignatures2.types @@ -35,52 +35,52 @@ class OtherDerived extends Base { bing: string; } declare function foo1(a: (x: number) => number[]): typeof a; >foo1 : { (a: (x: number) => number[]): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : (x: number) => number[] > : ^ ^^ ^^^^^ >x : number > : ^^^^^^ >a : (x: number) => number[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ declare function foo1(a: any): any; ->foo1 : { (a: (x: number) => number[]): (x: number) => number[]; (a: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo1 : { (a: (x: number) => number[]): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo2(a: (x: number) => string[]): typeof a; >foo2 : { (a: (x: number) => string[]): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : (x: number) => string[] > : ^ ^^ ^^^^^ >x : number > : ^^^^^^ >a : (x: number) => string[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ declare function foo2(a: any): any; ->foo2 : { (a: (x: number) => string[]): (x: number) => string[]; (a: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo2 : { (a: (x: number) => string[]): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo3(a: (x: number) => void): typeof a; >foo3 : { (a: (x: number) => void): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : (x: number) => void > : ^ ^^ ^^^^^ >x : number > : ^^^^^^ >a : (x: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ declare function foo3(a: any): any; ->foo3 : { (a: (x: number) => void): (x: number) => void; (a: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo3 : { (a: (x: number) => void): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo4(a: (x: string, y: number) => string): typeof a; >foo4 : { (a: (x: string, y: number) => string): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : (x: string, y: number) => string > : ^ ^^ ^^ ^^ ^^^^^ >x : string @@ -88,16 +88,16 @@ declare function foo4(a: (x: string, y: number) => string): typeof a; >y : number > : ^^^^^^ >a : (x: string, y: number) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ declare function foo4(a: any): any; ->foo4 : { (a: (x: string, y: number) => string): (x: string, y: number) => string; (a: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo4 : { (a: (x: string, y: number) => string): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo5(a: (x: (arg: string) => number) => string): typeof a; >foo5 : { (a: (x: (arg: string) => number) => string): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : (x: (arg: string) => number) => string > : ^ ^^ ^^^^^ >x : (arg: string) => number @@ -105,16 +105,16 @@ declare function foo5(a: (x: (arg: string) => number) => string): typeof a; >arg : string > : ^^^^^^ >a : (x: (arg: string) => number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ declare function foo5(a: any): any; ->foo5 : { (a: (x: (arg: string) => number) => string): (x: (arg: string) => number) => string; (a: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo5 : { (a: (x: (arg: string) => number) => string): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo6(a: (x: (arg: Base) => Derived) => Base): typeof a; >foo6 : { (a: (x: (arg: Base) => Derived) => Base): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : (x: (arg: Base) => Derived) => Base > : ^ ^^ ^^^^^ >x : (arg: Base) => Derived @@ -122,16 +122,16 @@ declare function foo6(a: (x: (arg: Base) => Derived) => Base): typeof a; >arg : Base > : ^^^^ >a : (x: (arg: Base) => Derived) => Base -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ declare function foo6(a: any): any; ->foo6 : { (a: (x: (arg: Base) => Derived) => Base): (x: (arg: Base) => Derived) => Base; (a: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo6 : { (a: (x: (arg: Base) => Derived) => Base): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo7(a: (x: (arg: Base) => Derived) => (r: Base) => Derived): typeof a; >foo7 : { (a: (x: (arg: Base) => Derived) => (r: Base) => Derived): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : (x: (arg: Base) => Derived) => (r: Base) => Derived > : ^ ^^ ^^^^^ >x : (arg: Base) => Derived @@ -141,16 +141,16 @@ declare function foo7(a: (x: (arg: Base) => Derived) => (r: Base) => Derived): t >r : Base > : ^^^^ >a : (x: (arg: Base) => Derived) => (r: Base) => Derived -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ declare function foo7(a: any): any; ->foo7 : { (a: (x: (arg: Base) => Derived) => (r: Base) => Derived): (x: (arg: Base) => Derived) => (r: Base) => Derived; (a: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo7 : { (a: (x: (arg: Base) => Derived) => (r: Base) => Derived): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo8(a: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived): typeof a; >foo8 : { (a: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived > : ^ ^^ ^^ ^^ ^^^^^ >x : (arg: Base) => Derived @@ -164,16 +164,16 @@ declare function foo8(a: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) >r : Base > : ^^^^ >a : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ declare function foo8(a: any): any; ->foo8 : { (a: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived): (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; (a: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo8 : { (a: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo9(a: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived): typeof a; >foo9 : { (a: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived > : ^ ^^ ^^ ^^ ^^^^^ >x : (arg: Base) => Derived @@ -187,31 +187,31 @@ declare function foo9(a: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) >r : Base > : ^^^^ >a : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ declare function foo9(a: any): any; ->foo9 : { (a: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived): (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; (a: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo9 : { (a: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo10(a: (...x: Derived[]) => Derived): typeof a; >foo10 : { (a: (...x: Derived[]) => Derived): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : (...x: Derived[]) => Derived > : ^^^^ ^^ ^^^^^ >x : Derived[] > : ^^^^^^^^^ >a : (...x: Derived[]) => Derived -> : ^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ declare function foo10(a: any): any; ->foo10 : { (a: (...x: Derived[]) => Derived): (...x: Derived[]) => Derived; (a: any): any; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo10 : { (a: (...x: Derived[]) => Derived): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo11(a: (x: { foo: string }, y: { foo: string; bar: string }) => Base): typeof a; >foo11 : { (a: (x: { foo: string; }, y: { foo: string; bar: string; }) => Base): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base > : ^ ^^ ^^ ^^ ^^^^^ >x : { foo: string; } @@ -225,50 +225,50 @@ declare function foo11(a: (x: { foo: string }, y: { foo: string; bar: string }) >bar : string > : ^^^^^^ >a : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ declare function foo11(a: any): any; ->foo11 : { (a: (x: { foo: string; }, y: { foo: string; bar: string; }) => Base): (x: { foo: string; }, y: { foo: string; bar: string; }) => Base; (a: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo11 : { (a: (x: { foo: string; }, y: { foo: string; bar: string; }) => Base): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo12(a: (x: Array, y: Array) => Array): typeof a; >foo12 : { (a: (x: Array, y: Array) => Array): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : (x: Array, y: Array) => Array > : ^ ^^ ^^ ^^ ^^^^^ >x : Base[] > : ^^^^^^ >y : Derived2[] > : ^^^^^^^^^^ ->a : (x: Array, y: Array) => Derived[] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>a : (x: Array, y: Array) => Array +> : ^ ^^ ^^ ^^ ^^^^^ declare function foo12(a: any): any; ->foo12 : { (a: (x: Array, y: Array) => Array): (x: Array, y: Array) => Derived[]; (a: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo12 : { (a: (x: Array, y: Array) => Array): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo13(a: (x: Array, y: Array) => Array): typeof a; >foo13 : { (a: (x: Array, y: Array) => Array): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : (x: Array, y: Array) => Array > : ^ ^^ ^^ ^^ ^^^^^ >x : Base[] > : ^^^^^^ >y : Derived[] > : ^^^^^^^^^ ->a : (x: Array, y: Array) => Derived[] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>a : (x: Array, y: Array) => Array +> : ^ ^^ ^^ ^^ ^^^^^ declare function foo13(a: any): any; ->foo13 : { (a: (x: Array, y: Array) => Array): (x: Array, y: Array) => Derived[]; (a: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo13 : { (a: (x: Array, y: Array) => Array): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo14(a: (x: { a: string; b: number }) => Object): typeof a; >foo14 : { (a: (x: { a: string; b: number; }) => Object): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : (x: { a: string; b: number; }) => Object > : ^ ^^ ^^^^^ >x : { a: string; b: number; } @@ -278,16 +278,16 @@ declare function foo14(a: (x: { a: string; b: number }) => Object): typeof a; >b : number > : ^^^^^^ >a : (x: { a: string; b: number; }) => Object -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ declare function foo14(a: any): any; ->foo14 : { (a: (x: { a: string; b: number; }) => Object): (x: { a: string; b: number; }) => Object; (a: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo14 : { (a: (x: { a: string; b: number; }) => Object): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo15(a: { >foo15 : { (a: { (x: number): number[]; (x: string): string[]; }): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : { (x: number): number[]; (x: string): string[]; } > : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ @@ -301,18 +301,18 @@ declare function foo15(a: { }): typeof a; >a : { (x: number): number[]; (x: string): string[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ declare function foo15(a: any): any; ->foo15 : { (a: { (x: number): number[]; (x: string): string[]; }): { (x: number): number[]; (x: string): string[]; }; (a: any): any; } -> : ^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo15 : { (a: { (x: number): number[]; (x: string): string[]; }): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo16(a: { >foo16 : { (a: { (x: T): number[]; (x: U): number[]; }): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : { (x: T): number[]; (x: U): number[]; } -> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ (x: T): number[]; >x : T @@ -324,16 +324,16 @@ declare function foo16(a: { }): typeof a; >a : { (x: T): number[]; (x: U): number[]; } -> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ declare function foo16(a: any): any; ->foo16 : { (a: { (x: T): number[]; (x: U): number[]; }): { (x: T): number[]; (x: U): number[]; }; (a: any): any; } -> : ^^^ ^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo16 : { (a: { (x: T): number[]; (x: U): number[]; }): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo17(a: { >foo17 : { (a: { (x: (a: number) => number): number[]; (x: (a: string) => string): string[]; }): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : { (x: (a: number) => number): number[]; (x: (a: string) => string): string[]; } > : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ @@ -351,16 +351,16 @@ declare function foo17(a: { }): typeof a; >a : { (x: (a: number) => number): number[]; (x: (a: string) => string): string[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ declare function foo17(a: any): any; ->foo17 : { (a: { (x: (a: number) => number): number[]; (x: (a: string) => string): string[]; }): { (x: (a: number) => number): number[]; (x: (a: string) => string): string[]; }; (a: any): any; } -> : ^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo17 : { (a: { (x: (a: number) => number): number[]; (x: (a: string) => string): string[]; }): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo18(a: { >foo18 : { (a: { (x: { (a: number): number; (a: string): string; }): any[]; (x: { (a: boolean): boolean; (a: Date): Date; }): any[]; }): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : { (x: { (a: number): number; (a: string): string; }): any[]; (x: { (a: boolean): boolean; (a: Date): Date; }): any[]; } > : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ @@ -392,11 +392,11 @@ declare function foo18(a: { }): any[]; }): typeof a; >a : { (x: { (a: number): number; (a: string): string; }): any[]; (x: { (a: boolean): boolean; (a: Date): Date; }): any[]; } -> : ^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ declare function foo18(a: any): any; ->foo18 : { (a: { (x: { (a: number): number; (a: string): string; }): any[]; (x: { (a: boolean): boolean; (a: Date): Date; }): any[]; }): { (x: { (a: number): number; (a: string): string; }): any[]; (x: { (a: boolean): boolean; (a: Date): Date; }): any[]; }; (a: any): any; } -> : ^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo18 : { (a: { (x: { (a: number): number; (a: string): string; }): any[]; (x: { (a: boolean): boolean; (a: Date): Date; }): any[]; }): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any var r1arg1 = (x: T) => [x]; @@ -425,11 +425,11 @@ var r1arg2 = (x: number) => [1]; var r1 = foo1(r1arg1); // any, return types are not subtype of first overload >r1 : (x: number) => number[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo1(r1arg1) : (x: number) => number[] -> : ^ ^^ ^^^^^^^^^^^^^ ->foo1 : { (a: (x: number) => number[]): (x: number) => number[]; (a: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ +>foo1 : { (a: (x: number) => number[]): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r1arg1 : (x: T) => T[] > : ^ ^^ ^^ ^^^^^^^^ @@ -479,11 +479,11 @@ var r2arg2 = (x: number) => ['']; var r2 = foo2(r2arg1); >r2 : (x: number) => string[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo2(r2arg1) : (x: number) => string[] -> : ^ ^^ ^^^^^^^^^^^^^ ->foo2 : { (a: (x: number) => string[]): (x: number) => string[]; (a: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ +>foo2 : { (a: (x: number) => string[]): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r2arg1 : (x: T) => string[] > : ^ ^^ ^^ ^^^^^^^^^^^^^ @@ -527,11 +527,11 @@ var r3arg2 = (x: number) => { }; var r3 = foo3(r3arg1); >r3 : (x: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo3(r3arg1) : (x: number) => void -> : ^ ^^ ^^^^^^^^^ ->foo3 : { (a: (x: number) => void): (x: number) => void; (a: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ +>foo3 : { (a: (x: number) => void): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r3arg1 : (x: T) => T > : ^ ^^ ^^ ^^^^^^ @@ -581,11 +581,11 @@ var r4arg2 = (x: string, y: number) => ''; var r4 = foo4(r4arg1); // any >r4 : (x: string, y: number) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >foo4(r4arg1) : (x: string, y: number) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ ->foo4 : { (a: (x: string, y: number) => string): (x: string, y: number) => string; (a: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ +>foo4 : { (a: (x: string, y: number) => string): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r4arg1 : (x: T, y: U) => T > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ @@ -635,11 +635,11 @@ var r5arg2 = (x: (arg: string) => number) => ''; var r5 = foo5(r5arg1); // any >r5 : (x: (arg: string) => number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo5(r5arg1) : (x: (arg: string) => number) => string -> : ^ ^^ ^^^^^^^^^^^ ->foo5 : { (a: (x: (arg: string) => number) => string): (x: (arg: string) => number) => string; (a: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ +>foo5 : { (a: (x: (arg: string) => number) => string): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r5arg1 : (x: (arg: T) => U) => T > : ^ ^^ ^^ ^^ ^^^^^ @@ -665,9 +665,9 @@ var r5b = [r5arg2, r5arg1]; var r6arg1 = (x: (arg: T) => U) => null; >r6arg1 : (x: (arg: T) => U) => T -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(x: (arg: T) => U) => null : (x: (arg: T) => U) => T -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : (arg: T) => U > : ^ ^^ ^^^^^ >arg : T @@ -689,13 +689,13 @@ var r6arg2 = (x: (arg: Base) => Derived) => null; var r6 = foo6(r6arg1); // any >r6 : (x: (arg: Base) => Derived) => Base -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo6(r6arg1) : (x: (arg: Base) => Derived) => Base -> : ^ ^^ ^^^^^^^^^ ->foo6 : { (a: (x: (arg: Base) => Derived) => Base): (x: (arg: Base) => Derived) => Base; (a: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ +>foo6 : { (a: (x: (arg: Base) => Derived) => Base): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r6arg1 : (x: (arg: T) => U) => T -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ var r6a = [r6arg1, r6arg2]; >r6a : ((x: (arg: Base) => Derived) => Base)[] @@ -703,7 +703,7 @@ var r6a = [r6arg1, r6arg2]; >[r6arg1, r6arg2] : ((x: (arg: Base) => Derived) => Base)[] > : ^^ ^^ ^^^^^ ^^^ >r6arg1 : (x: (arg: T) => U) => T -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >r6arg2 : (x: (arg: Base) => Derived) => Base > : ^ ^^ ^^^^^ @@ -715,13 +715,13 @@ var r6b = [r6arg2, r6arg1]; >r6arg2 : (x: (arg: Base) => Derived) => Base > : ^ ^^ ^^^^^ >r6arg1 : (x: (arg: T) => U) => T -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ var r7arg1 = (x: (arg: T) => U) => (r: T) => null; >r7arg1 : (x: (arg: T) => U) => (r: T) => U -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(x: (arg: T) => U) => (r: T) => null : (x: (arg: T) => U) => (r: T) => U -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >x : (arg: T) => U > : ^ ^^ ^^^^^ >arg : T @@ -751,13 +751,13 @@ var r7arg2 = (x: (arg: Base) => Derived) => (r: Base) => null; var r7 = foo7(r7arg1); // any >r7 : (x: (arg: Base) => Derived) => (r: Base) => Derived -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo7(r7arg1) : (x: (arg: Base) => Derived) => (r: Base) => Derived -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ ->foo7 : { (a: (x: (arg: Base) => Derived) => (r: Base) => Derived): (x: (arg: Base) => Derived) => (r: Base) => Derived; (a: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ +>foo7 : { (a: (x: (arg: Base) => Derived) => (r: Base) => Derived): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r7arg1 : (x: (arg: T) => U) => (r: T) => U -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ var r7a = [r7arg1, r7arg2]; >r7a : ((x: (arg: Base) => Derived) => (r: Base) => Derived)[] @@ -765,7 +765,7 @@ var r7a = [r7arg1, r7arg2]; >[r7arg1, r7arg2] : ((x: (arg: Base) => Derived) => (r: Base) => Derived)[] > : ^^ ^^ ^^^^^^ ^^ ^^^^^ ^^^ >r7arg1 : (x: (arg: T) => U) => (r: T) => U -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >r7arg2 : (x: (arg: Base) => Derived) => (r: Base) => Derived > : ^ ^^ ^^^^^^ ^^ ^^^^^ @@ -777,13 +777,13 @@ var r7b = [r7arg2, r7arg1]; >r7arg2 : (x: (arg: Base) => Derived) => (r: Base) => Derived > : ^ ^^ ^^^^^^ ^^ ^^^^^ >r7arg1 : (x: (arg: T) => U) => (r: T) => U -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ var r8arg1 = (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => null; >r8arg1 : (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => null : (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >x : (arg: T) => U > : ^ ^^ ^^^^^ >arg : T @@ -821,13 +821,13 @@ var r8arg2 = (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base var r8 = foo8(r8arg1); // any >r8 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >foo8(r8arg1) : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ ->foo8 : { (a: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived): (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; (a: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ +>foo8 : { (a: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r8arg1 : (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ var r8a = [r8arg1, r8arg2]; >r8a : ((x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived)[] @@ -835,7 +835,7 @@ var r8a = [r8arg1, r8arg2]; >[r8arg1, r8arg2] : ((x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived)[] > : ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ ^^^ >r8arg1 : (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >r8arg2 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived > : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ @@ -847,13 +847,13 @@ var r8b = [r8arg2, r8arg1]; >r8arg2 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived > : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >r8arg1 : (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ var r9arg1 = (x: (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => (r: T) => null; >r9arg1 : (x: (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => (r: T) => U -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(x: (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => (r: T) => null : (x: (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => (r: T) => U -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >x : (arg: T) => U > : ^ ^^ ^^^^^ >arg : T @@ -895,13 +895,13 @@ var r9arg2 = (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base var r9 = foo9(r9arg1); // any >r9 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >foo9(r9arg1) : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ ->foo9 : { (a: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived): (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; (a: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ +>foo9 : { (a: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r9arg1 : (x: (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => (r: T) => U -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ var r9a = [r9arg1, r9arg2]; >r9a : ((x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived)[] @@ -909,7 +909,7 @@ var r9a = [r9arg1, r9arg2]; >[r9arg1, r9arg2] : ((x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived)[] > : ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ ^^^ >r9arg1 : (x: (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => (r: T) => U -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >r9arg2 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived > : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ @@ -921,13 +921,13 @@ var r9b = [r9arg2, r9arg1]; >r9arg2 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived > : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >r9arg1 : (x: (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => (r: T) => U -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ var r10arg1 = (...x: T[]) => x[0]; >r10arg1 : (...x: T[]) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ >(...x: T[]) => x[0] : (...x: T[]) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ >x : T[] > : ^^^ >x[0] : T @@ -949,13 +949,13 @@ var r10arg2 = (...x: Derived[]) => null; var r10 = foo10(r10arg1); // any >r10 : (...x: Derived[]) => Derived -> : ^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >foo10(r10arg1) : (...x: Derived[]) => Derived -> : ^^^^ ^^ ^^^^^^^^^^^^ ->foo10 : { (a: (...x: Derived[]) => Derived): (...x: Derived[]) => Derived; (a: any): any; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ +>foo10 : { (a: (...x: Derived[]) => Derived): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r10arg1 : (...x: T[]) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ var r10a = [r10arg1, r10arg2]; >r10a : ((...x: Derived[]) => Derived)[] @@ -963,7 +963,7 @@ var r10a = [r10arg1, r10arg2]; >[r10arg1, r10arg2] : ((...x: Derived[]) => Derived)[] > : ^^^^^ ^^ ^^^^^ ^^^ >r10arg1 : (...x: T[]) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ >r10arg2 : (...x: Derived[]) => Derived > : ^^^^ ^^ ^^^^^ @@ -975,13 +975,13 @@ var r10b = [r10arg2, r10arg1]; >r10arg2 : (...x: Derived[]) => Derived > : ^^^^ ^^ ^^^^^ >r10arg1 : (...x: T[]) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^ var r11arg1 = (x: T, y: T) => x; >r11arg1 : (x: T, y: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ >(x: T, y: T) => x : (x: T, y: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ >x : T > : ^ >y : T @@ -1009,13 +1009,13 @@ var r11arg2 = (x: { foo: string }, y: { foo: string; bar: string }) => nul var r11 = foo11(r11arg1); // any >r11 : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >foo11(r11arg1) : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^ ^^ ^^ ^^ ^^^^^^^^^ ->foo11 : { (a: (x: { foo: string; }, y: { foo: string; bar: string; }) => Base): (x: { foo: string; }, y: { foo: string; bar: string; }) => Base; (a: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ +>foo11 : { (a: (x: { foo: string; }, y: { foo: string; bar: string; }) => Base): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r11arg1 : (x: T, y: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ var r11a = [r11arg1, r11arg2]; >r11a : ((x: { foo: string; }, y: { foo: string; bar: string; }) => Base)[] @@ -1023,7 +1023,7 @@ var r11a = [r11arg1, r11arg2]; >[r11arg1, r11arg2] : ((x: { foo: string; }, y: { foo: string; bar: string; }) => Base)[] > : ^^ ^^ ^^ ^^ ^^^^^ ^^^ >r11arg1 : (x: T, y: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ >r11arg2 : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base > : ^ ^^ ^^ ^^ ^^^^^ @@ -1035,13 +1035,13 @@ var r11b = [r11arg2, r11arg1]; >r11arg2 : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base > : ^ ^^ ^^ ^^ ^^^^^ >r11arg1 : (x: T, y: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ var r12arg1 = >(x: Array, y: T) => >null; ->r12arg1 : (x: Array, y: T) => Array -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ->>(x: Array, y: T) => >null : (x: Array, y: T) => Array -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +>r12arg1 : >(x: Array, y: T) => Array +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +>>(x: Array, y: T) => >null : >(x: Array, y: T) => Array +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : Base[] > : ^^^^^^ >y : T @@ -1062,22 +1062,22 @@ var r12arg2 = (x: Array, y: Array) => >null; > : ^^^^^^^^^ var r12 = foo12(r12arg1); // any ->r12 : (x: Array, y: Array) => Derived[] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->foo12(r12arg1) : (x: Array, y: Array) => Derived[] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->foo12 : { (a: (x: Array, y: Array) => Array): (x: Array, y: Array) => Derived[]; (a: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ->r12arg1 : (x: Array, y: T) => Array -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +>r12 : (x: Array, y: Array) => Array +> : ^ ^^ ^^ ^^ ^^^^^ +>foo12(r12arg1) : (x: Array, y: Array) => Array +> : ^ ^^ ^^ ^^ ^^^^^ +>foo12 : { (a: (x: Array, y: Array) => Array): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ +>r12arg1 : >(x: Array, y: T) => Array +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var r12a = [r12arg1, r12arg2]; >r12a : ((x: Array, y: Array) => Array)[] > : ^^ ^^ ^^ ^^ ^^^^^ ^^^ >[r12arg1, r12arg2] : ((x: Array, y: Array) => Array)[] > : ^^ ^^ ^^ ^^ ^^^^^ ^^^ ->r12arg1 : (x: Array, y: T) => Array -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +>r12arg1 : >(x: Array, y: T) => Array +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >r12arg2 : (x: Array, y: Array) => Array > : ^ ^^ ^^ ^^ ^^^^^ @@ -1088,14 +1088,14 @@ var r12b = [r12arg2, r12arg1]; > : ^^ ^^ ^^ ^^ ^^^^^ ^^^ >r12arg2 : (x: Array, y: Array) => Array > : ^ ^^ ^^ ^^ ^^^^^ ->r12arg1 : (x: Array, y: T) => Array -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +>r12arg1 : >(x: Array, y: T) => Array +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var r13arg1 = >(x: Array, y: T) => y; ->r13arg1 : (x: Array, y: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ->>(x: Array, y: T) => y : (x: Array, y: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +>r13arg1 : >(x: Array, y: T) => T +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +>>(x: Array, y: T) => y : >(x: Array, y: T) => T +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ >x : Base[] > : ^^^^^^ >y : T @@ -1116,22 +1116,22 @@ var r13arg2 = (x: Array, y: Array) => >null; > : ^^^^^^^^^ var r13 = foo13(r13arg1); // any ->r13 : (x: Array, y: Array) => Derived[] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->foo13(r13arg1) : (x: Array, y: Array) => Derived[] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->foo13 : { (a: (x: Array, y: Array) => Array): (x: Array, y: Array) => Derived[]; (a: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ->r13arg1 : (x: Array, y: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +>r13 : (x: Array, y: Array) => Array +> : ^ ^^ ^^ ^^ ^^^^^ +>foo13(r13arg1) : (x: Array, y: Array) => Array +> : ^ ^^ ^^ ^^ ^^^^^ +>foo13 : { (a: (x: Array, y: Array) => Array): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ +>r13arg1 : >(x: Array, y: T) => T +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ var r13a = [r13arg1, r13arg2]; >r13a : ((x: Array, y: Array) => Array)[] > : ^^ ^^ ^^ ^^ ^^^^^ ^^^ >[r13arg1, r13arg2] : ((x: Array, y: Array) => Array)[] > : ^^ ^^ ^^ ^^ ^^^^^ ^^^ ->r13arg1 : (x: Array, y: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +>r13arg1 : >(x: Array, y: T) => T +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ >r13arg2 : (x: Array, y: Array) => Array > : ^ ^^ ^^ ^^ ^^^^^ @@ -1142,8 +1142,8 @@ var r13b = [r13arg2, r13arg1]; > : ^^ ^^ ^^ ^^ ^^^^^ ^^^ >r13arg2 : (x: Array, y: Array) => Array > : ^ ^^ ^^ ^^ ^^^^^ ->r13arg1 : (x: Array, y: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +>r13arg1 : >(x: Array, y: T) => T +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ var r14arg1 = (x: { a: T; b: T }) => x.a; >r14arg1 : (x: { a: T; b: T; }) => T @@ -1159,7 +1159,7 @@ var r14arg1 = (x: { a: T; b: T }) => x.a; >x.a : T > : ^ >x : { a: T; b: T; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >a : T > : ^ @@ -1180,8 +1180,8 @@ var r14arg2 = (x: { a: string; b: number }) => null; var r14 = foo14(r14arg1); // any >r14 : any >foo14(r14arg1) : any ->foo14 : { (a: (x: { a: string; b: number; }) => Object): (x: { a: string; b: number; }) => Object; (a: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>foo14 : { (a: (x: { a: string; b: number; }) => Object): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r14arg1 : (x: { a: T; b: T; }) => T > : ^ ^^ ^^ ^^^^^^ @@ -1218,16 +1218,16 @@ var r15arg1 = (x: T) => null var r15 = foo15(r15arg1); // any >r15 : any >foo15(r15arg1) : any ->foo15 : { (a: { (x: number): number[]; (x: string): string[]; }): { (x: number): number[]; (x: string): string[]; }; (a: any): any; } -> : ^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>foo15 : { (a: { (x: number): number[]; (x: string): string[]; }): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r15arg1 : (x: T) => T[] > : ^ ^^ ^^ ^^^^^ var r16arg1 = (x: T) => [1]; >r16arg1 : (x: T) => number[] -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ >(x: T) => [1] : (x: T) => number[] -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ >x : T > : ^ >[1] : number[] @@ -1237,13 +1237,13 @@ var r16arg1 = (x: T) => [1]; var r16 = foo16(r16arg1); >r16 : { (x: T): number[]; (x: U): number[]; } -> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >foo16(r16arg1) : { (x: T): number[]; (x: U): number[]; } -> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ->foo16 : { (a: { (x: T): number[]; (x: U): number[]; }): { (x: T): number[]; (x: U): number[]; }; (a: any): any; } -> : ^^^ ^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ +>foo16 : { (a: { (x: T): number[]; (x: U): number[]; }): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r16arg1 : (x: T) => number[] -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ var r17arg1 = (x: (a: T) => T) => null; >r17arg1 : (x: (a: T) => T) => T[] @@ -1260,8 +1260,8 @@ var r17arg1 = (x: (a: T) => T) => null; var r17 = foo17(r17arg1); // any >r17 : any >foo17(r17arg1) : any ->foo17 : { (a: { (x: (a: number) => number): number[]; (x: (a: string) => string): string[]; }): { (x: (a: number) => number): number[]; (x: (a: string) => string): string[]; }; (a: any): any; } -> : ^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>foo17 : { (a: { (x: (a: number) => number): number[]; (x: (a: string) => string): string[]; }): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r17arg1 : (x: (a: T) => T) => T[] > : ^ ^^ ^^ ^^^^^ @@ -1279,11 +1279,11 @@ var r18arg1 = (x: (a: T) => T) => null; var r18 = foo18(r18arg1); >r18 : { (x: { (a: number): number; (a: string): string; }): any[]; (x: { (a: boolean): boolean; (a: Date): Date; }): any[]; } -> : ^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >foo18(r18arg1) : { (x: { (a: number): number; (a: string): string; }): any[]; (x: { (a: boolean): boolean; (a: Date): Date; }): any[]; } -> : ^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^ ->foo18 : { (a: { (x: { (a: number): number; (a: string): string; }): any[]; (x: { (a: boolean): boolean; (a: Date): Date; }): any[]; }): { (x: { (a: number): number; (a: string): string; }): any[]; (x: { (a: boolean): boolean; (a: Date): Date; }): any[]; }; (a: any): any; } -> : ^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ +>foo18 : { (a: { (x: { (a: number): number; (a: string): string; }): any[]; (x: { (a: boolean): boolean; (a: Date): Date; }): any[]; }): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r18arg1 : (x: (a: T) => T) => T[] > : ^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/subtypingWithCallSignatures3.types b/tests/baselines/reference/subtypingWithCallSignatures3.types index ca9ea4167b6a4..8e5ad84640194 100644 --- a/tests/baselines/reference/subtypingWithCallSignatures3.types +++ b/tests/baselines/reference/subtypingWithCallSignatures3.types @@ -40,22 +40,22 @@ module Errors { declare function foo2(a2: (x: number) => string[]): typeof a2; >foo2 : { (a2: (x: number) => string[]): typeof a2; (a2: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : (x: number) => string[] > : ^ ^^ ^^^^^ >x : number > : ^^^^^^ >a2 : (x: number) => string[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ declare function foo2(a2: any): any; ->foo2 : { (a2: (x: number) => string[]): (x: number) => string[]; (a2: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo2 : { (a2: (x: number) => string[]): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : any declare function foo7(a2: (x: (arg: Base) => Derived) => (r: Base) => Derived2): typeof a2; >foo7 : { (a2: (x: (arg: Base) => Derived) => (r: Base) => Derived2): typeof a2; (a2: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : (x: (arg: Base) => Derived) => (r: Base) => Derived2 > : ^ ^^ ^^^^^ >x : (arg: Base) => Derived @@ -65,16 +65,16 @@ module Errors { >r : Base > : ^^^^ >a2 : (x: (arg: Base) => Derived) => (r: Base) => Derived2 -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ declare function foo7(a2: any): any; ->foo7 : { (a2: (x: (arg: Base) => Derived) => (r: Base) => Derived2): (x: (arg: Base) => Derived) => (r: Base) => Derived2; (a2: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo7 : { (a2: (x: (arg: Base) => Derived) => (r: Base) => Derived2): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : any declare function foo8(a2: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived): typeof a2; >foo8 : { (a2: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived): typeof a2; (a2: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived > : ^ ^^ ^^ ^^ ^^^^^ >x : (arg: Base) => Derived @@ -88,31 +88,31 @@ module Errors { >r : Base > : ^^^^ >a2 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ declare function foo8(a2: any): any; ->foo8 : { (a2: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived): (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; (a2: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo8 : { (a2: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : any declare function foo10(a2: (...x: Base[]) => Base): typeof a2; >foo10 : { (a2: (...x: Base[]) => Base): typeof a2; (a2: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : (...x: Base[]) => Base > : ^^^^ ^^ ^^^^^ >x : Base[] > : ^^^^^^ >a2 : (...x: Base[]) => Base -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ declare function foo10(a2: any): any; ->foo10 : { (a2: (...x: Base[]) => Base): (...x: Base[]) => Base; (a2: any): any; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo10 : { (a2: (...x: Base[]) => Base): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : any declare function foo11(a2: (x: { foo: string }, y: { foo: string; bar: string }) => Base): typeof a2; >foo11 : { (a2: (x: { foo: string; }, y: { foo: string; bar: string; }) => Base): typeof a2; (a2: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base > : ^ ^^ ^^ ^^ ^^^^^ >x : { foo: string; } @@ -126,33 +126,33 @@ module Errors { >bar : string > : ^^^^^^ >a2 : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ declare function foo11(a2: any): any; ->foo11 : { (a2: (x: { foo: string; }, y: { foo: string; bar: string; }) => Base): (x: { foo: string; }, y: { foo: string; bar: string; }) => Base; (a2: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo11 : { (a2: (x: { foo: string; }, y: { foo: string; bar: string; }) => Base): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : any declare function foo12(a2: (x: Array, y: Array) => Array): typeof a2; >foo12 : { (a2: (x: Array, y: Array) => Array): typeof a2; (a2: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : (x: Array, y: Array) => Array > : ^ ^^ ^^ ^^ ^^^^^ >x : Base[] > : ^^^^^^ >y : Derived2[] > : ^^^^^^^^^^ ->a2 : (x: Array, y: Array) => Derived[] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>a2 : (x: Array, y: Array) => Array +> : ^ ^^ ^^ ^^ ^^^^^ declare function foo12(a2: any): any; ->foo12 : { (a2: (x: Array, y: Array) => Array): (x: Array, y: Array) => Derived[]; (a2: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo12 : { (a2: (x: Array, y: Array) => Array): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : any declare function foo15(a2: (x: { a: string; b: number }) => number): typeof a2; >foo15 : { (a2: (x: { a: string; b: number; }) => number): typeof a2; (a2: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : (x: { a: string; b: number; }) => number > : ^ ^^ ^^^^^ >x : { a: string; b: number; } @@ -162,16 +162,16 @@ module Errors { >b : number > : ^^^^^^ >a2 : (x: { a: string; b: number; }) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ declare function foo15(a2: any): any; ->foo15 : { (a2: (x: { a: string; b: number; }) => number): (x: { a: string; b: number; }) => number; (a2: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo15 : { (a2: (x: { a: string; b: number; }) => number): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : any declare function foo16(a2: { >foo16 : { (a2: { (x: { (a: number): number; (a?: number): number; }): number[]; (x: { (a: boolean): boolean; (a?: boolean): boolean; }): boolean[]; }): typeof a2; (a2: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : { (x: { (a: number): number; (a?: number): number; }): number[]; (x: { (a: boolean): boolean; (a?: boolean): boolean; }): boolean[]; } > : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ @@ -204,22 +204,22 @@ module Errors { }): boolean[]; }): typeof a2; >a2 : { (x: { (a: number): number; (a?: number): number; }): number[]; (x: { (a: boolean): boolean; (a?: boolean): boolean; }): boolean[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ declare function foo16(a2: any): any; ->foo16 : { (a2: { (x: { (a: number): number; (a?: number): number; }): number[]; (x: { (a: boolean): boolean; (a?: boolean): boolean; }): boolean[]; }): { (x: { (a: number): number; (a?: number): number; }): number[]; (x: { (a: boolean): boolean; (a?: boolean): boolean; }): boolean[]; }; (a2: any): any; } -> : ^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo16 : { (a2: { (x: { (a: number): number; (a?: number): number; }): number[]; (x: { (a: boolean): boolean; (a?: boolean): boolean; }): boolean[]; }): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : any declare function foo17(a2: { >foo17 : { (a2: { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; }): typeof a2; (a2: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; } > : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ (x: { ->x : { (a: T): T; (a: T_1): T_1; } -> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>x : { (a: T): T; (a: T): T; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ (a: T): T; >a : T @@ -231,8 +231,8 @@ module Errors { }): any[]; (x: { ->x : { (a: T): T; (a: T_1): T_1; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>x : { (a: T): T; (a: T): T; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ (a: T): T; >a : T @@ -245,20 +245,20 @@ module Errors { }): any[]; }): typeof a2; >a2 : { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; } -> : ^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ declare function foo17(a2: any): any; ->foo17 : { (a2: { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; }): { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; }; (a2: any): any; } -> : ^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo17 : { (a2: { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; }): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : any var r1 = foo2((x: T) => null); // any >r1 : (x: number) => string[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo2((x: T) => null) : (x: number) => string[] -> : ^ ^^ ^^^^^^^^^^^^^ ->foo2 : { (a2: (x: number) => string[]): (x: number) => string[]; (a2: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ +>foo2 : { (a2: (x: number) => string[]): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >(x: T) => null : (x: T) => U[] > : ^ ^^ ^^ ^^ ^^^^^ >x : T @@ -308,9 +308,9 @@ module Errors { var r2arg = (x: (arg: T) => U) => (r: T) => null; >r2arg : (x: (arg: T) => U) => (r: T) => V -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(x: (arg: T) => U) => (r: T) => null : (x: (arg: T) => U) => (r: T) => V -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >x : (arg: T) => U > : ^ ^^ ^^^^^ >arg : T @@ -340,13 +340,13 @@ module Errors { var r2 = foo7(r2arg); // any >r2 : (x: (arg: Base) => Derived) => (r: Base) => Derived2 -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo7(r2arg) : (x: (arg: Base) => Derived) => (r: Base) => Derived2 -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ ->foo7 : { (a2: (x: (arg: Base) => Derived) => (r: Base) => Derived2): (x: (arg: Base) => Derived) => (r: Base) => Derived2; (a2: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ +>foo7 : { (a2: (x: (arg: Base) => Derived) => (r: Base) => Derived2): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r2arg : (x: (arg: T) => U) => (r: T) => V -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ var r2a = [r2arg2, r2arg]; >r2a : ((x: (arg: Base) => Derived) => (r: Base) => Derived2)[] @@ -356,7 +356,7 @@ module Errors { >r2arg2 : (x: (arg: Base) => Derived) => (r: Base) => Derived2 > : ^ ^^ ^^^^^^ ^^ ^^^^^ >r2arg : (x: (arg: T) => U) => (r: T) => V -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ var r2b = [r2arg, r2arg2]; >r2b : ((x: (arg: Base) => Derived) => (r: Base) => Derived2)[] @@ -364,15 +364,15 @@ module Errors { >[r2arg, r2arg2] : ((x: (arg: Base) => Derived) => (r: Base) => Derived2)[] > : ^^ ^^ ^^^^^^ ^^ ^^^^^ ^^^ >r2arg : (x: (arg: T) => U) => (r: T) => V -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >r2arg2 : (x: (arg: Base) => Derived) => (r: Base) => Derived2 > : ^ ^^ ^^^^^^ ^^ ^^^^^ var r3arg = (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => null; >r3arg : (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => null : (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >x : (arg: T) => U > : ^ ^^ ^^^^^ >arg : T @@ -413,36 +413,36 @@ module Errors { var r3 = foo8(r3arg); // any >r3 : any >foo8(r3arg) : any ->foo8 : { (a2: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived): (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived; (a2: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>foo8 : { (a2: (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r3arg : (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ var r3a = [r3arg2, r3arg]; >r3a : (((x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U) | ((x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived))[] -> : ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ ^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ ^^^^ >[r3arg2, r3arg] : (((x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U) | ((x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived))[] -> : ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ ^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ ^^^^ >r3arg2 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived > : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >r3arg : (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ var r3b = [r3arg, r3arg2]; >r3b : (((x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U) | ((x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived))[] -> : ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ ^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ ^^^^ >[r3arg, r3arg2] : (((x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U) | ((x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived))[] -> : ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ ^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ ^^^^ >r3arg : (x: (arg: T) => U, y: (arg2: { foo: number; }) => U) => (r: T) => U -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >r3arg2 : (x: (arg: Base) => Derived, y: (arg2: Base) => Derived) => (r: Base) => Derived > : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ var r4arg = (...x: T[]) => null; >r4arg : (...x: T[]) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >(...x: T[]) => null : (...x: T[]) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >x : T[] > : ^^^ >null : T @@ -460,13 +460,13 @@ module Errors { var r4 = foo10(r4arg); // any >r4 : (...x: Base[]) => Base -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >foo10(r4arg) : (...x: Base[]) => Base -> : ^^^^ ^^ ^^^^^^^^^ ->foo10 : { (a2: (...x: Base[]) => Base): (...x: Base[]) => Base; (a2: any): any; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ +>foo10 : { (a2: (...x: Base[]) => Base): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r4arg : (...x: T[]) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ var r4a = [r4arg2, r4arg]; >r4a : ((...x: Base[]) => Base)[] @@ -476,7 +476,7 @@ module Errors { >r4arg2 : (...x: Base[]) => Base > : ^^^^ ^^ ^^^^^ >r4arg : (...x: T[]) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ var r4b = [r4arg, r4arg2]; >r4b : ((...x: Base[]) => Base)[] @@ -484,15 +484,15 @@ module Errors { >[r4arg, r4arg2] : ((...x: Base[]) => Base)[] > : ^^^^^ ^^ ^^^^^ ^^^ >r4arg : (...x: T[]) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >r4arg2 : (...x: Base[]) => Base > : ^^^^ ^^ ^^^^^ var r5arg = (x: T, y: T) => null; >r5arg : (x: T, y: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >(x: T, y: T) => null : (x: T, y: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T > : ^ >y : T @@ -520,13 +520,13 @@ module Errors { var r5 = foo11(r5arg); // any >r5 : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >foo11(r5arg) : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^ ^^ ^^ ^^ ^^^^^^^^^ ->foo11 : { (a2: (x: { foo: string; }, y: { foo: string; bar: string; }) => Base): (x: { foo: string; }, y: { foo: string; bar: string; }) => Base; (a2: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ +>foo11 : { (a2: (x: { foo: string; }, y: { foo: string; bar: string; }) => Base): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r5arg : (x: T, y: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var r5a = [r5arg2, r5arg]; >r5a : ((x: { foo: string; }, y: { foo: string; bar: string; }) => Base)[] @@ -536,7 +536,7 @@ module Errors { >r5arg2 : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base > : ^ ^^ ^^ ^^ ^^^^^ >r5arg : (x: T, y: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var r5b = [r5arg, r5arg2]; >r5b : ((x: { foo: string; }, y: { foo: string; bar: string; }) => Base)[] @@ -544,7 +544,7 @@ module Errors { >[r5arg, r5arg2] : ((x: { foo: string; }, y: { foo: string; bar: string; }) => Base)[] > : ^^ ^^ ^^ ^^ ^^^^^ ^^^ >r5arg : (x: T, y: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >r5arg2 : (x: { foo: string; }, y: { foo: string; bar: string; }) => Base > : ^ ^^ ^^ ^^ ^^^^^ @@ -561,10 +561,10 @@ module Errors { > : ^^^^^^^^^ var r6arg2 = >(x: Array, y: Array) => null; ->r6arg2 : (x: Array, y: Array) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ->>(x: Array, y: Array) => null : (x: Array, y: Array) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +>r6arg2 : >(x: Array, y: Array) => T +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +>>(x: Array, y: Array) => null : >(x: Array, y: Array) => T +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : Base[] > : ^^^^^^ >y : Base[] @@ -573,12 +573,12 @@ module Errors { > : ^ var r6 = foo12(r6arg); // (x: Array, y: Array) => Array ->r6 : (x: Array, y: Array) => Derived[] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->foo12(r6arg) : (x: Array, y: Array) => Derived[] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->foo12 : { (a2: (x: Array, y: Array) => Array): (x: Array, y: Array) => Derived[]; (a2: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>r6 : (x: Array, y: Array) => Array +> : ^ ^^ ^^ ^^ ^^^^^ +>foo12(r6arg) : (x: Array, y: Array) => Array +> : ^ ^^ ^^ ^^ ^^^^^ +>foo12 : { (a2: (x: Array, y: Array) => Array): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r6arg : (x: Array, y: Array) => Array > : ^ ^^ ^^ ^^ ^^^^^ @@ -587,8 +587,8 @@ module Errors { > : ^^ ^^ ^^ ^^ ^^^^^ ^^^ >[r6arg2, r6arg] : ((x: Array, y: Array) => Array)[] > : ^^ ^^ ^^ ^^ ^^^^^ ^^^ ->r6arg2 : (x: Array, y: Array) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +>r6arg2 : >(x: Array, y: Array) => T +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >r6arg : (x: Array, y: Array) => Array > : ^ ^^ ^^ ^^ ^^^^^ @@ -599,8 +599,8 @@ module Errors { > : ^^ ^^ ^^ ^^ ^^^^^ ^^^ >r6arg : (x: Array, y: Array) => Array > : ^ ^^ ^^ ^^ ^^^^^ ->r6arg2 : (x: Array, y: Array) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +>r6arg2 : >(x: Array, y: Array) => T +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var r7arg = (x: { a: T; b: T }) => null; >r7arg : (x: { a: T; b: T; }) => T @@ -633,8 +633,8 @@ module Errors { var r7 = foo15(r7arg); // any >r7 : any >foo15(r7arg) : any ->foo15 : { (a2: (x: { a: string; b: number; }) => number): (x: { a: string; b: number; }) => number; (a2: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>foo15 : { (a2: (x: { a: string; b: number; }) => number): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r7arg : (x: { a: T; b: T; }) => T > : ^ ^^ ^^ ^^^^^ @@ -660,9 +660,9 @@ module Errors { var r7arg3 = (x: { a: T; b: T }) => 1; >r7arg3 : (x: { a: T; b: T; }) => number -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ >(x: { a: T; b: T }) => 1 : (x: { a: T; b: T; }) => number -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ >x : { a: T; b: T; } > : ^^^^^ ^^^^^ ^^^ >a : T @@ -675,28 +675,28 @@ module Errors { var r7c = foo15(r7arg3); // (x: { a: string; b: number }) => number): number; >r7c : any >foo15(r7arg3) : any ->foo15 : { (a2: (x: { a: string; b: number; }) => number): (x: { a: string; b: number; }) => number; (a2: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>foo15 : { (a2: (x: { a: string; b: number; }) => number): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r7arg3 : (x: { a: T; b: T; }) => number -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ var r7d = [r7arg2, r7arg3]; >r7d : (((x: { a: string; b: number; }) => number) | ((x: { a: T; b: T; }) => number))[] -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ >[r7arg2, r7arg3] : (((x: { a: string; b: number; }) => number) | ((x: { a: T; b: T; }) => number))[] -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ >r7arg2 : (x: { a: string; b: number; }) => number > : ^ ^^ ^^^^^^^^^^^ >r7arg3 : (x: { a: T; b: T; }) => number -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ var r7e = [r7arg3, r7arg2]; >r7e : (((x: { a: string; b: number; }) => number) | ((x: { a: T; b: T; }) => number))[] -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ >[r7arg3, r7arg2] : (((x: { a: string; b: number; }) => number) | ((x: { a: T; b: T; }) => number))[] -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ >r7arg3 : (x: { a: T; b: T; }) => number -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ >r7arg2 : (x: { a: string; b: number; }) => number > : ^ ^^ ^^^^^^^^^^^ @@ -715,8 +715,8 @@ module Errors { var r8 = foo16(r8arg); // any >r8 : any >foo16(r8arg) : any ->foo16 : { (a2: { (x: { (a: number): number; (a?: number): number; }): number[]; (x: { (a: boolean): boolean; (a?: boolean): boolean; }): boolean[]; }): { (x: { (a: number): number; (a?: number): number; }): number[]; (x: { (a: boolean): boolean; (a?: boolean): boolean; }): boolean[]; }; (a2: any): any; } -> : ^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>foo16 : { (a2: { (x: { (a: number): number; (a?: number): number; }): number[]; (x: { (a: boolean): boolean; (a?: boolean): boolean; }): boolean[]; }): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r8arg : (x: (a: T) => T) => T[] > : ^ ^^ ^^ ^^^^^ @@ -734,11 +734,11 @@ module Errors { var r9 = foo17(r9arg); // (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; >r9 : { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; } -> : ^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >foo17(r9arg) : { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; } -> : ^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^ ->foo17 : { (a2: { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; }): { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; }; (a2: any): any; } -> : ^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ +>foo17 : { (a2: { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; }): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r9arg : (x: (a: T) => T) => any[] > : ^ ^^ ^^ ^^^^^ } @@ -749,17 +749,17 @@ module WithGenericSignaturesInBaseType { declare function foo2(a2: (x: T) => T[]): typeof a2; >foo2 : { (a2: (x: T) => T[]): typeof a2; (a2: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : (x: T) => T[] > : ^ ^^ ^^ ^^^^^ >x : T > : ^ >a2 : (x: T) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ declare function foo2(a2: any): any; ->foo2 : { (a2: (x: T) => T[]): (x: T) => T[]; (a2: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo2 : { (a2: (x: T) => T[]): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : any var r2arg2 = (x: T) => ['']; @@ -777,24 +777,24 @@ module WithGenericSignaturesInBaseType { var r2 = foo2(r2arg2); // (x:T) => T[] since we can infer from generic signatures now >r2 : any >foo2(r2arg2) : any ->foo2 : { (a2: (x: T) => T[]): (x: T) => T[]; (a2: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +>foo2 : { (a2: (x: T) => T[]): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r2arg2 : (x: T) => string[] > : ^ ^^ ^^ ^^^^^^^^^^^^^ declare function foo3(a2: (x: T) => string[]): typeof a2; >foo3 : { (a2: (x: T) => string[]): typeof a2; (a2: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : (x: T) => string[] > : ^ ^^ ^^ ^^^^^ >x : T > : ^ >a2 : (x: T) => string[] -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ declare function foo3(a2: any): any; ->foo3 : { (a2: (x: T) => string[]): (x: T) => string[]; (a2: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo3 : { (a2: (x: T) => string[]): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : any var r3arg2 = (x: T) => null; @@ -810,8 +810,8 @@ module WithGenericSignaturesInBaseType { var r3 = foo3(r3arg2); // any >r3 : any >foo3(r3arg2) : any ->foo3 : { (a2: (x: T) => string[]): (x: T) => string[]; (a2: any): any; } -> : ^^^ ^^ ^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>foo3 : { (a2: (x: T) => string[]): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r3arg2 : (x: T) => T[] > : ^ ^^ ^^ ^^^^^ } diff --git a/tests/baselines/reference/subtypingWithCallSignatures4.types b/tests/baselines/reference/subtypingWithCallSignatures4.types index 05ce4b27c7355..78cf2e7e51526 100644 --- a/tests/baselines/reference/subtypingWithCallSignatures4.types +++ b/tests/baselines/reference/subtypingWithCallSignatures4.types @@ -35,7 +35,7 @@ class OtherDerived extends Base { bing: string; } declare function foo1(a: (x: T) => T[]); >foo1 : { (a: (x: T) => T[]): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >a : (x: T) => T[] > : ^ ^^ ^^ ^^^^^ >x : T @@ -48,7 +48,7 @@ declare function foo1(a: any): any; declare function foo2(a2: (x: T) => string[]); >foo2 : { (a2: (x: T) => string[]): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >a2 : (x: T) => string[] > : ^ ^^ ^^ ^^^^^ >x : T @@ -61,7 +61,7 @@ declare function foo2(a: any): any; declare function foo3(a3: (x: T) => void); >foo3 : { (a3: (x: T) => void): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >a3 : (x: T) => void > : ^ ^^ ^^ ^^^^^ >x : T @@ -74,7 +74,7 @@ declare function foo3(a: any): any; declare function foo4(a4: (x: T, y: U) => string); >foo4 : { (a4: (x: T, y: U) => string): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >a4 : (x: T, y: U) => string > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T @@ -89,7 +89,7 @@ declare function foo4(a: any): any; declare function foo5(a5: (x: (arg: T) => U) => T); >foo5 : { (a5: (x: (arg: T) => U) => T): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >a5 : (x: (arg: T) => U) => T > : ^ ^^ ^^ ^^ ^^^^^ >x : (arg: T) => U @@ -104,9 +104,9 @@ declare function foo5(a: any): any; declare function foo6(a6: (x: (arg: T) => Derived) => T); >foo6 : { (a6: (x: (arg: T) => Derived) => T): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >a6 : (x: (arg: T) => Derived) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : (arg: T) => Derived > : ^ ^^ ^^^^^ >arg : T @@ -119,7 +119,7 @@ declare function foo6(a: any): any; declare function foo11(a11: (x: { foo: T }, y: { foo: T; bar: T }) => Base); >foo11 : { (a11: (x: { foo: T; }, y: { foo: T; bar: T; }) => Base): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >a11 : (x: { foo: T; }, y: { foo: T; bar: T; }) => Base > : ^ ^^ ^^ ^^ ^^ ^^^^^ >x : { foo: T; } @@ -140,7 +140,7 @@ declare function foo11(a: any): any; declare function foo15(a15: (x: { a: T; b: T }) => T[]); >foo15 : { (a15: (x: { a: T; b: T; }) => T[]): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >a15 : (x: { a: T; b: T; }) => T[] > : ^ ^^ ^^ ^^^^^ >x : { a: T; b: T; } @@ -157,9 +157,9 @@ declare function foo15(a: any): any; declare function foo16(a16: (x: { a: T; b: T }) => T[]); >foo16 : { (a16: (x: { a: T; b: T; }) => T[]): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >a16 : (x: { a: T; b: T; }) => T[] -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : { a: T; b: T; } > : ^^^^^ ^^^^^ ^^^ >a : T @@ -174,9 +174,9 @@ declare function foo16(a: any): any; declare function foo17(a17: { >foo17 : { (a17: { (x: (a: T) => T): T[]; (x: (a: T) => T): T[]; }): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ->a17 : { (x: (a: T) => T): T[]; (x: (a: T_1) => T_1): T_1[]; } -> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ +>a17 : { (x: (a: T) => T): T[]; (x: (a: T) => T): T[]; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ (x: (a: T) => T): T[]; >x : (a: T) => T @@ -198,13 +198,13 @@ declare function foo17(a: any): any; declare function foo18(a18: { >foo18 : { (a18: { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; }): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >a18 : { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; } > : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ (x: { ->x : { (a: T): T; (a: T_1): T_1; } -> : ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>x : { (a: T): T; (a: T): T; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ (a: T): T; >a : T @@ -216,8 +216,8 @@ declare function foo18(a18: { }): any[]; (x: { ->x : { (a: T): T; (a: T_1): T_1; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>x : { (a: T): T; (a: T): T; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ (a: T): T; >a : T @@ -258,7 +258,7 @@ var r1 = foo1(r1arg); >r1 : any >foo1(r1arg) : any >foo1 : { (a: (x: T) => T[]): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >r1arg : (x: T) => T[] > : ^ ^^ ^^ ^^^^^ @@ -310,7 +310,7 @@ var r2 = foo2(r2arg); >r2 : any >foo2(r2arg) : any >foo2 : { (a2: (x: T) => string[]): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >r2arg : (x: T) => string[] > : ^ ^^ ^^ ^^^^^^^^^^^^^ @@ -356,7 +356,7 @@ var r3 = foo3(r3arg); >r3 : any >foo3(r3arg) : any >foo3 : { (a3: (x: T) => void): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >r3arg : (x: T) => T > : ^ ^^ ^^ ^^^^^ @@ -408,7 +408,7 @@ var r4 = foo4(r4arg); >r4 : any >foo4(r4arg) : any >foo4 : { (a4: (x: T, y: U) => string): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >r4arg : (x: T, y: U) => string > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ @@ -460,7 +460,7 @@ var r5 = foo5(r5arg); >r5 : any >foo5(r5arg) : any >foo5 : { (a5: (x: (arg: T) => U) => T): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >r5arg : (x: (arg: T) => U) => T > : ^ ^^ ^^ ^^ ^^^^^ @@ -486,9 +486,9 @@ var r5b = [r5arg2, r5arg]; var r6arg = (x: (arg: T) => U) => null; >r6arg : (x: (arg: T) => U) => T -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(x: (arg: T) => U) => null : (x: (arg: T) => U) => T -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : (arg: T) => U > : ^ ^^ ^^^^^ >arg : T @@ -498,9 +498,9 @@ var r6arg = (x: (arg: T) => U) => null; var r6arg2 = (x: (arg: T) => Derived) => null; >r6arg2 : (x: (arg: T) => Derived) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(x: (arg: T) => Derived) => null : (x: (arg: T) => Derived) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : (arg: T) => Derived > : ^ ^^ ^^^^^ >arg : T @@ -512,29 +512,29 @@ var r6 = foo6(r6arg); >r6 : any >foo6(r6arg) : any >foo6 : { (a6: (x: (arg: T) => Derived) => T): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >r6arg : (x: (arg: T) => U) => T -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ var r6a = [r6arg, r6arg2]; >r6a : ((x: (arg: T) => U) => T)[] -> : ^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ +> : ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^^ >[r6arg, r6arg2] : ((x: (arg: T) => U) => T)[] -> : ^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ +> : ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^^ >r6arg : (x: (arg: T) => U) => T -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >r6arg2 : (x: (arg: T) => Derived) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ var r6b = [r6arg2, r6arg]; >r6b : ((x: (arg: T) => U) => T)[] -> : ^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ +> : ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^^ >[r6arg2, r6arg] : ((x: (arg: T) => U) => T)[] -> : ^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ +> : ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^^ >r6arg2 : (x: (arg: T) => Derived) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >r6arg : (x: (arg: T) => U) => T -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ var r11arg = (x: { foo: T }, y: { foo: U; bar: U }) => null; >r11arg : (x: { foo: T; }, y: { foo: U; bar: U; }) => Base @@ -576,7 +576,7 @@ var r11 = foo11(r11arg); >r11 : any >foo11(r11arg) : any >foo11 : { (a11: (x: { foo: T; }, y: { foo: T; bar: T; }) => Base): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >r11arg : (x: { foo: T; }, y: { foo: U; bar: U; }) => Base > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ @@ -632,7 +632,7 @@ var r15 = foo15(r15arg); >r15 : any >foo15(r15arg) : any >foo15 : { (a15: (x: { a: T; b: T; }) => T[]): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >r15arg : (x: { a: U; b: V; }) => U[] > : ^ ^^ ^^ ^^ ^^^^^ @@ -658,9 +658,9 @@ var r15b = [r15arg2, r15arg]; var r16arg = (x: { a: T; b: T }) => null; >r16arg : (x: { a: T; b: T; }) => T[] -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(x: { a: T; b: T }) => null : (x: { a: T; b: T; }) => T[] -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : { a: T; b: T; } > : ^^^^^ ^^^^^ ^^^ >a : T @@ -672,9 +672,9 @@ var r16arg = (x: { a: T; b: T }) => null; var r16arg2 = (x: { a: T; b: T }) => null; >r16arg2 : (x: { a: T; b: T; }) => T[] -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(x: { a: T; b: T }) => null : (x: { a: T; b: T; }) => T[] -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : { a: T; b: T; } > : ^^^^^ ^^^^^ ^^^ >a : T @@ -688,29 +688,29 @@ var r16 = foo16(r16arg); >r16 : any >foo16(r16arg) : any >foo16 : { (a16: (x: { a: T; b: T; }) => T[]): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >r16arg : (x: { a: T; b: T; }) => T[] -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ var r16a = [r16arg, r16arg2]; >r16a : ((x: { a: T; b: T; }) => T[])[] -> : ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ +> : ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^^ >[r16arg, r16arg2] : ((x: { a: T; b: T; }) => T[])[] -> : ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ +> : ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^^ >r16arg : (x: { a: T; b: T; }) => T[] -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >r16arg2 : (x: { a: T; b: T; }) => T[] -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ var r16b = [r16arg2, r16arg]; >r16b : ((x: { a: T; b: T; }) => T[])[] -> : ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ +> : ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^^ >[r16arg2, r16arg] : ((x: { a: T; b: T; }) => T[])[] -> : ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ +> : ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^^ >r16arg2 : (x: { a: T; b: T; }) => T[] -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >r16arg : (x: { a: T; b: T; }) => T[] -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ var r17arg = (x: (a: T) => T) => null; >r17arg : (x: (a: T) => T) => T[] @@ -728,7 +728,7 @@ var r17 = foo17(r17arg); >r17 : any >foo17(r17arg) : any >foo17 : { (a17: { (x: (a: T) => T): T[]; (x: (a: T) => T): T[]; }): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >r17arg : (x: (a: T) => T) => T[] > : ^ ^^ ^^ ^^^^^ @@ -748,7 +748,7 @@ var r18 = foo18(r18arg); >r18 : any >foo18(r18arg) : any >foo18 : { (a18: { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; }): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >r18arg : (x: (a: T) => T) => any[] > : ^ ^^ ^^^^^ diff --git a/tests/baselines/reference/subtypingWithCallSignaturesA.types b/tests/baselines/reference/subtypingWithCallSignaturesA.types index 80caccda05250..53953823f422b 100644 --- a/tests/baselines/reference/subtypingWithCallSignaturesA.types +++ b/tests/baselines/reference/subtypingWithCallSignaturesA.types @@ -9,15 +9,15 @@ declare function foo3(cb: (x: number) => number): typeof cb; >x : number > : ^^^^^^ >cb : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var r5 = foo3((x: number) => ''); // error >r5 : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo3((x: number) => '') : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ ->foo3 : (cb: (x: number) => number) => (x: number) => number -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>foo3 : (cb: (x: number) => number) => typeof cb +> : ^ ^^ ^^^^^ >(x: number) => '' : (x: number) => string > : ^ ^^ ^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/subtypingWithConstructSignatures.types b/tests/baselines/reference/subtypingWithConstructSignatures.types index 8d352d1673e53..a73396e328bf2 100644 --- a/tests/baselines/reference/subtypingWithConstructSignatures.types +++ b/tests/baselines/reference/subtypingWithConstructSignatures.types @@ -7,17 +7,17 @@ module ConstructSignature { declare function foo1(cb: new (x: number) => void): typeof cb; >foo1 : { (cb: new (x: number) => void): typeof cb; (cb: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >cb : new (x: number) => void > : ^^^^^ ^^ ^^^^^ >x : number > : ^^^^^^ >cb : new (x: number) => void -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ declare function foo1(cb: any): any; ->foo1 : { (cb: new (x: number) => void): new (x: number) => void; (cb: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo1 : { (cb: new (x: number) => void): typeof cb; (cb: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >cb : any var rarg1: new (x: number) => number; @@ -28,13 +28,13 @@ module ConstructSignature { var r = foo1(rarg1); // ok because base returns void >r : new (x: number) => void -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >foo1(rarg1) : new (x: number) => void -> : ^^^^^ ^^ ^^^^^^^^^ ->foo1 : { (cb: new (x: number) => void): new (x: number) => void; (cb: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ +>foo1 : { (cb: new (x: number) => void): typeof cb; (cb: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >rarg1 : new (x: number) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var rarg2: new (x: T) => string; >rarg2 : new (x: T) => string @@ -44,17 +44,17 @@ module ConstructSignature { var r2 = foo1(rarg2); // ok because base returns void >r2 : new (x: number) => void -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >foo1(rarg2) : new (x: number) => void -> : ^^^^^ ^^ ^^^^^^^^^ ->foo1 : { (cb: new (x: number) => void): new (x: number) => void; (cb: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ +>foo1 : { (cb: new (x: number) => void): typeof cb; (cb: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >rarg2 : new (x: T) => string -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ declare function foo2(cb: new (x: number, y: number) => void): typeof cb; >foo2 : { (cb: new (x: number, y: number) => void): typeof cb; (cb: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >cb : new (x: number, y: number) => void > : ^^^^^ ^^ ^^ ^^ ^^^^^ >x : number @@ -62,11 +62,11 @@ module ConstructSignature { >y : number > : ^^^^^^ >cb : new (x: number, y: number) => void -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ declare function foo2(cb: any): any; ->foo2 : { (cb: new (x: number, y: number) => void): new (x: number, y: number) => void; (cb: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo2 : { (cb: new (x: number, y: number) => void): typeof cb; (cb: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >cb : any var r3arg1: new (x: number, y: number) => number; @@ -79,13 +79,13 @@ module ConstructSignature { var r3 = foo2(r3arg1); // ok because base returns void >r3 : new (x: number, y: number) => void -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >foo2(r3arg1) : new (x: number, y: number) => void -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ ->foo2 : { (cb: new (x: number, y: number) => void): new (x: number, y: number) => void; (cb: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ +>foo2 : { (cb: new (x: number, y: number) => void): typeof cb; (cb: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r3arg1 : new (x: number, y: number) => number -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r4arg1: new (x: T) => string; >r4arg1 : new (x: T) => string @@ -95,11 +95,11 @@ module ConstructSignature { var r4 = foo2(r4arg1); // ok because base returns void >r4 : new (x: number, y: number) => void -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >foo2(r4arg1) : new (x: number, y: number) => void -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ ->foo2 : { (cb: new (x: number, y: number) => void): new (x: number, y: number) => void; (cb: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ +>foo2 : { (cb: new (x: number, y: number) => void): typeof cb; (cb: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r4arg1 : new (x: T) => string -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ } diff --git a/tests/baselines/reference/subtypingWithConstructSignatures2.types b/tests/baselines/reference/subtypingWithConstructSignatures2.types index 7d2f0f659d747..eaec3c61c7ea2 100644 --- a/tests/baselines/reference/subtypingWithConstructSignatures2.types +++ b/tests/baselines/reference/subtypingWithConstructSignatures2.types @@ -35,52 +35,52 @@ class OtherDerived extends Base { bing: string; } declare function foo1(a: new (x: number) => number[]): typeof a; >foo1 : { (a: new (x: number) => number[]): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : new (x: number) => number[] > : ^^^^^ ^^ ^^^^^ >x : number > : ^^^^^^ >a : new (x: number) => number[] -> : ^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ declare function foo1(a: any): any; ->foo1 : { (a: new (x: number) => number[]): new (x: number) => number[]; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo1 : { (a: new (x: number) => number[]): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo2(a: new (x: number) => string[]): typeof a; >foo2 : { (a: new (x: number) => string[]): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : new (x: number) => string[] > : ^^^^^ ^^ ^^^^^ >x : number > : ^^^^^^ >a : new (x: number) => string[] -> : ^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ declare function foo2(a: any): any; ->foo2 : { (a: new (x: number) => string[]): new (x: number) => string[]; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo2 : { (a: new (x: number) => string[]): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo3(a: new (x: number) => void): typeof a; >foo3 : { (a: new (x: number) => void): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : new (x: number) => void > : ^^^^^ ^^ ^^^^^ >x : number > : ^^^^^^ >a : new (x: number) => void -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ declare function foo3(a: any): any; ->foo3 : { (a: new (x: number) => void): new (x: number) => void; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo3 : { (a: new (x: number) => void): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo4(a: new (x: string, y: number) => string): typeof a; >foo4 : { (a: new (x: string, y: number) => string): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : new (x: string, y: number) => string > : ^^^^^ ^^ ^^ ^^ ^^^^^ >x : string @@ -88,16 +88,16 @@ declare function foo4(a: new (x: string, y: number) => string): typeof a; >y : number > : ^^^^^^ >a : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ declare function foo4(a: any): any; ->foo4 : { (a: new (x: string, y: number) => string): new (x: string, y: number) => string; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo4 : { (a: new (x: string, y: number) => string): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo5(a: new (x: new (arg: string) => number) => string): typeof a; >foo5 : { (a: new (x: new (arg: string) => number) => string): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : new (x: new (arg: string) => number) => string > : ^^^^^ ^^ ^^^^^ >x : new (arg: string) => number @@ -105,16 +105,16 @@ declare function foo5(a: new (x: new (arg: string) => number) => string): typeof >arg : string > : ^^^^^^ >a : new (x: new (arg: string) => number) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ declare function foo5(a: any): any; ->foo5 : { (a: new (x: new (arg: string) => number) => string): new (x: new (arg: string) => number) => string; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo5 : { (a: new (x: new (arg: string) => number) => string): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo6(a: new (x: new (arg: Base) => Derived) => Base): typeof a; >foo6 : { (a: new (x: new (arg: Base) => Derived) => Base): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : new (x: new (arg: Base) => Derived) => Base > : ^^^^^ ^^ ^^^^^ >x : new (arg: Base) => Derived @@ -122,16 +122,16 @@ declare function foo6(a: new (x: new (arg: Base) => Derived) => Base): typeof a; >arg : Base > : ^^^^ >a : new (x: new (arg: Base) => Derived) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ declare function foo6(a: any): any; ->foo6 : { (a: new (x: new (arg: Base) => Derived) => Base): new (x: new (arg: Base) => Derived) => Base; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo6 : { (a: new (x: new (arg: Base) => Derived) => Base): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo7(a: new (x: new (arg: Base) => Derived) => new (r: Base) => Derived): typeof a; >foo7 : { (a: new (x: new (arg: Base) => Derived) => new (r: Base) => Derived): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : new (x: new (arg: Base) => Derived) => new (r: Base) => Derived > : ^^^^^ ^^ ^^^^^ >x : new (arg: Base) => Derived @@ -141,16 +141,16 @@ declare function foo7(a: new (x: new (arg: Base) => Derived) => new (r: Base) => >r : Base > : ^^^^ >a : new (x: new (arg: Base) => Derived) => new (r: Base) => Derived -> : ^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ declare function foo7(a: any): any; ->foo7 : { (a: new (x: new (arg: Base) => Derived) => new (r: Base) => Derived): new (x: new (arg: Base) => Derived) => new (r: Base) => Derived; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo7 : { (a: new (x: new (arg: Base) => Derived) => new (r: Base) => Derived): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo8(a: new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived): typeof a; >foo8 : { (a: new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived > : ^^^^^ ^^ ^^ ^^ ^^^^^ >x : new (arg: Base) => Derived @@ -164,16 +164,16 @@ declare function foo8(a: new (x: new (arg: Base) => Derived, y: new (arg2: Base) >r : Base > : ^^^^ >a : new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ declare function foo8(a: any): any; ->foo8 : { (a: new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived): new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo8 : { (a: new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo9(a: new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived): typeof a; >foo9 : { (a: new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived > : ^^^^^ ^^ ^^ ^^ ^^^^^ >x : new (arg: Base) => Derived @@ -187,31 +187,31 @@ declare function foo9(a: new (x: new (arg: Base) => Derived, y: new (arg2: Base) >r : Base > : ^^^^ >a : new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ declare function foo9(a: any): any; ->foo9 : { (a: new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived): new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo9 : { (a: new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo10(a: new (...x: Derived[]) => Derived): typeof a; >foo10 : { (a: new (...x: Derived[]) => Derived): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : new (...x: Derived[]) => Derived > : ^^^^^^^^ ^^ ^^^^^ >x : Derived[] > : ^^^^^^^^^ >a : new (...x: Derived[]) => Derived -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ declare function foo10(a: any): any; ->foo10 : { (a: new (...x: Derived[]) => Derived): new (...x: Derived[]) => Derived; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo10 : { (a: new (...x: Derived[]) => Derived): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo11(a: new (x: { foo: string }, y: { foo: string; bar: string }) => Base): typeof a; >foo11 : { (a: new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base > : ^^^^^ ^^ ^^ ^^ ^^^^^ >x : { foo: string; } @@ -225,50 +225,50 @@ declare function foo11(a: new (x: { foo: string }, y: { foo: string; bar: string >bar : string > : ^^^^^^ >a : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ declare function foo11(a: any): any; ->foo11 : { (a: new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base): new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo11 : { (a: new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo12(a: new (x: Array, y: Array) => Array): typeof a; >foo12 : { (a: new (x: Array, y: Array) => Array): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : new (x: Array, y: Array) => Array > : ^^^^^ ^^ ^^ ^^ ^^^^^ >x : Base[] > : ^^^^^^ >y : Derived2[] > : ^^^^^^^^^^ ->a : new (x: Array, y: Array) => Derived[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>a : new (x: Array, y: Array) => Array +> : ^^^^^ ^^ ^^ ^^ ^^^^^ declare function foo12(a: any): any; ->foo12 : { (a: new (x: Array, y: Array) => Array): new (x: Array, y: Array) => Derived[]; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo12 : { (a: new (x: Array, y: Array) => Array): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo13(a: new (x: Array, y: Array) => Array): typeof a; >foo13 : { (a: new (x: Array, y: Array) => Array): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : new (x: Array, y: Array) => Array > : ^^^^^ ^^ ^^ ^^ ^^^^^ >x : Base[] > : ^^^^^^ >y : Derived[] > : ^^^^^^^^^ ->a : new (x: Array, y: Array) => Derived[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>a : new (x: Array, y: Array) => Array +> : ^^^^^ ^^ ^^ ^^ ^^^^^ declare function foo13(a: any): any; ->foo13 : { (a: new (x: Array, y: Array) => Array): new (x: Array, y: Array) => Derived[]; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo13 : { (a: new (x: Array, y: Array) => Array): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo14(a: new (x: { a: string; b: number }) => Object): typeof a; >foo14 : { (a: new (x: { a: string; b: number; }) => Object): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : new (x: { a: string; b: number; }) => Object > : ^^^^^ ^^ ^^^^^ >x : { a: string; b: number; } @@ -278,16 +278,16 @@ declare function foo14(a: new (x: { a: string; b: number }) => Object): typeof a >b : number > : ^^^^^^ >a : new (x: { a: string; b: number; }) => Object -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ declare function foo14(a: any): any; ->foo14 : { (a: new (x: { a: string; b: number; }) => Object): new (x: { a: string; b: number; }) => Object; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo14 : { (a: new (x: { a: string; b: number; }) => Object): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo15(a: { >foo15 : { (a: { new (x: number): number[]; new (x: string): string[]; }): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : { new (x: number): number[]; new (x: string): string[]; } > : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ @@ -301,18 +301,18 @@ declare function foo15(a: { }): typeof a; >a : { new (x: number): number[]; new (x: string): string[]; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ declare function foo15(a: any): any; ->foo15 : { (a: { new (x: number): number[]; new (x: string): string[]; }): { new (x: number): number[]; new (x: string): string[]; }; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo15 : { (a: { new (x: number): number[]; new (x: string): string[]; }): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo16(a: { >foo16 : { (a: { new (x: T): number[]; new (x: U): number[]; }): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : { new (x: T): number[]; new (x: U): number[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ new (x: T): number[]; >x : T @@ -324,16 +324,16 @@ declare function foo16(a: { }): typeof a; >a : { new (x: T): number[]; new (x: U): number[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ declare function foo16(a: any): any; ->foo16 : { (a: { new (x: T): number[]; new (x: U): number[]; }): { new (x: T): number[]; new (x: U): number[]; }; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo16 : { (a: { new (x: T): number[]; new (x: U): number[]; }): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo17(a: { >foo17 : { (a: { new (x: (a: number) => number): number[]; new (x: (a: string) => string): string[]; }): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : { new (x: (a: number) => number): number[]; new (x: (a: string) => string): string[]; } > : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ @@ -351,16 +351,16 @@ declare function foo17(a: { }): typeof a; >a : { new (x: (a: number) => number): number[]; new (x: (a: string) => string): string[]; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ declare function foo17(a: any): any; ->foo17 : { (a: { new (x: (a: number) => number): number[]; new (x: (a: string) => string): string[]; }): { new (x: (a: number) => number): number[]; new (x: (a: string) => string): string[]; }; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo17 : { (a: { new (x: (a: number) => number): number[]; new (x: (a: string) => string): string[]; }): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function foo18(a: { >foo18 : { (a: { new (x: { new (a: number): number; new (a: string): string; }): any[]; new (x: { new (a: boolean): boolean; new (a: Date): Date; }): any[]; }): typeof a; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : { new (x: { new (a: number): number; new (a: string): string; }): any[]; new (x: { new (a: boolean): boolean; new (a: Date): Date; }): any[]; } > : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ @@ -392,11 +392,11 @@ declare function foo18(a: { }): any[]; }): typeof a; >a : { new (x: { new (a: number): number; new (a: string): string; }): any[]; new (x: { new (a: boolean): boolean; new (a: Date): Date; }): any[]; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ declare function foo18(a: any): any; ->foo18 : { (a: { new (x: { new (a: number): number; new (a: string): string; }): any[]; new (x: { new (a: boolean): boolean; new (a: Date): Date; }): any[]; }): { new (x: { new (a: number): number; new (a: string): string; }): any[]; new (x: { new (a: boolean): boolean; new (a: Date): Date; }): any[]; }; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo18 : { (a: { new (x: { new (a: number): number; new (a: string): string; }): any[]; new (x: { new (a: boolean): boolean; new (a: Date): Date; }): any[]; }): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any var r1arg1: new (x: T) => T[]; @@ -413,33 +413,33 @@ var r1arg2: new (x: number) => number[]; var r1 = foo1(r1arg1); // any, return types are not subtype of first overload >r1 : new (x: number) => number[] -> : ^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >foo1(r1arg1) : new (x: number) => number[] -> : ^^^^^ ^^ ^^^^^^^^^^^^^ ->foo1 : { (a: new (x: number) => number[]): new (x: number) => number[]; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ +>foo1 : { (a: new (x: number) => number[]): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r1arg1 : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r1a = [r1arg2, r1arg1]; // generic signature, subtype in both directions >r1a : (new (x: number) => number[])[] -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >[r1arg2, r1arg1] : (new (x: number) => number[])[] -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >r1arg2 : new (x: number) => number[] -> : ^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >r1arg1 : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r1b = [r1arg1, r1arg2]; // generic signature, subtype in both directions >r1b : (new (x: number) => number[])[] -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >[r1arg1, r1arg2] : (new (x: number) => number[])[] -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >r1arg1 : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >r1arg2 : new (x: number) => number[] -> : ^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r2arg1: new (x: T) => string[]; >r2arg1 : new (x: T) => string[] @@ -455,33 +455,33 @@ var r2arg2: new (x: number) => string[]; var r2 = foo2(r2arg1); >r2 : new (x: number) => string[] -> : ^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >foo2(r2arg1) : new (x: number) => string[] -> : ^^^^^ ^^ ^^^^^^^^^^^^^ ->foo2 : { (a: new (x: number) => string[]): new (x: number) => string[]; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ +>foo2 : { (a: new (x: number) => string[]): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r2arg1 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r2a = [r2arg1, r2arg2]; >r2a : (new (x: number) => string[])[] -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >[r2arg1, r2arg2] : (new (x: number) => string[])[] -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >r2arg1 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >r2arg2 : new (x: number) => string[] -> : ^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r2b = [r2arg2, r2arg1]; >r2b : (new (x: number) => string[])[] -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >[r2arg2, r2arg1] : (new (x: number) => string[])[] -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >r2arg2 : new (x: number) => string[] -> : ^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >r2arg1 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r3arg1: new (x: T) => T; >r3arg1 : new (x: T) => T @@ -497,33 +497,33 @@ var r3arg2: new (x: number) => void; var r3 = foo3(r3arg1); >r3 : new (x: number) => void -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >foo3(r3arg1) : new (x: number) => void -> : ^^^^^ ^^ ^^^^^^^^^ ->foo3 : { (a: new (x: number) => void): new (x: number) => void; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ +>foo3 : { (a: new (x: number) => void): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r3arg1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r3a = [r3arg1, r3arg2]; >r3a : (new (x: number) => void)[] -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >[r3arg1, r3arg2] : (new (x: number) => void)[] -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >r3arg1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >r3arg2 : new (x: number) => void -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r3b = [r3arg2, r3arg1]; >r3b : (new (x: number) => void)[] -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >[r3arg2, r3arg1] : (new (x: number) => void)[] -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >r3arg2 : new (x: number) => void -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >r3arg1 : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r4arg1: new (x: T, y: U) => T; >r4arg1 : new (x: T, y: U) => T @@ -543,33 +543,33 @@ var r4arg2: new (x: string, y: number) => string; var r4 = foo4(r4arg1); // any >r4 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >foo4(r4arg1) : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ ->foo4 : { (a: new (x: string, y: number) => string): new (x: string, y: number) => string; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ +>foo4 : { (a: new (x: string, y: number) => string): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r4arg1 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ var r4a = [r4arg1, r4arg2]; >r4a : (new (x: string, y: number) => string)[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ >[r4arg1, r4arg2] : (new (x: string, y: number) => string)[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ >r4arg1 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >r4arg2 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r4b = [r4arg2, r4arg1]; >r4b : (new (x: string, y: number) => string)[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ >[r4arg2, r4arg1] : (new (x: string, y: number) => string)[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ >r4arg2 : new (x: string, y: number) => string -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >r4arg1 : new (x: T, y: U) => T -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ var r5arg1: new (x: new (arg: T) => U) => T; >r5arg1 : new (x: new (arg: T) => U) => T @@ -589,37 +589,37 @@ var r5arg2: new (x: new (arg: string) => number) => string; var r5 = foo5(r5arg1); // any >r5 : new (x: new (arg: string) => number) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >foo5(r5arg1) : new (x: new (arg: string) => number) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ ->foo5 : { (a: new (x: new (arg: string) => number) => string): new (x: new (arg: string) => number) => string; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ +>foo5 : { (a: new (x: new (arg: string) => number) => string): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r5arg1 : new (x: new (arg: T) => U) => T -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r5a = [r5arg1, r5arg2]; >r5a : (new (x: new (arg: string) => number) => string)[] -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >[r5arg1, r5arg2] : (new (x: new (arg: string) => number) => string)[] -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >r5arg1 : new (x: new (arg: T) => U) => T -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >r5arg2 : new (x: new (arg: string) => number) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r5b = [r5arg2, r5arg1]; >r5b : (new (x: new (arg: string) => number) => string)[] -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >[r5arg2, r5arg1] : (new (x: new (arg: string) => number) => string)[] -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >r5arg2 : new (x: new (arg: string) => number) => string -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >r5arg1 : new (x: new (arg: T) => U) => T -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r6arg1: new (x: new (arg: T) => U) => T; >r6arg1 : new (x: new (arg: T) => U) => T -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : new (arg: T) => U > : ^^^^^ ^^ ^^^^^ >arg : T @@ -635,37 +635,37 @@ var r6arg2: new (x: new (arg: Base) => Derived) => Base; var r6 = foo6(r6arg1); // any >r6 : new (x: new (arg: Base) => Derived) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >foo6(r6arg1) : new (x: new (arg: Base) => Derived) => Base -> : ^^^^^ ^^ ^^^^^^^^^ ->foo6 : { (a: new (x: new (arg: Base) => Derived) => Base): new (x: new (arg: Base) => Derived) => Base; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ +>foo6 : { (a: new (x: new (arg: Base) => Derived) => Base): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r6arg1 : new (x: new (arg: T) => U) => T -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ var r6a = [r6arg1, r6arg2]; >r6a : (new (x: new (arg: Base) => Derived) => Base)[] -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >[r6arg1, r6arg2] : (new (x: new (arg: Base) => Derived) => Base)[] -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >r6arg1 : new (x: new (arg: T) => U) => T -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >r6arg2 : new (x: new (arg: Base) => Derived) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r6b = [r6arg2, r6arg1]; >r6b : (new (x: new (arg: Base) => Derived) => Base)[] -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >[r6arg2, r6arg1] : (new (x: new (arg: Base) => Derived) => Base)[] -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >r6arg2 : new (x: new (arg: Base) => Derived) => Base -> : ^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >r6arg1 : new (x: new (arg: T) => U) => T -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ var r7arg1: new (x: new (arg: T) => U) => new (r: T) => U; >r7arg1 : new (x: new (arg: T) => U) => new (r: T) => U -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : new (arg: T) => U > : ^^^^^ ^^ ^^^^^ >arg : T @@ -685,37 +685,37 @@ var r7arg2: new (x: new (arg: Base) => Derived) => new (r: Base) => Derived; var r7 = foo7(r7arg1); // any >r7 : new (x: new (arg: Base) => Derived) => new (r: Base) => Derived -> : ^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >foo7(r7arg1) : new (x: new (arg: Base) => Derived) => new (r: Base) => Derived -> : ^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ->foo7 : { (a: new (x: new (arg: Base) => Derived) => new (r: Base) => Derived): new (x: new (arg: Base) => Derived) => new (r: Base) => Derived; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ +>foo7 : { (a: new (x: new (arg: Base) => Derived) => new (r: Base) => Derived): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r7arg1 : new (x: new (arg: T) => U) => new (r: T) => U -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ var r7a = [r7arg1, r7arg2]; >r7a : (new (x: new (arg: Base) => Derived) => new (r: Base) => Derived)[] -> : ^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >[r7arg1, r7arg2] : (new (x: new (arg: Base) => Derived) => new (r: Base) => Derived)[] -> : ^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >r7arg1 : new (x: new (arg: T) => U) => new (r: T) => U -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >r7arg2 : new (x: new (arg: Base) => Derived) => new (r: Base) => Derived -> : ^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r7b = [r7arg2, r7arg1]; >r7b : (new (x: new (arg: Base) => Derived) => new (r: Base) => Derived)[] -> : ^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >[r7arg2, r7arg1] : (new (x: new (arg: Base) => Derived) => new (r: Base) => Derived)[] -> : ^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >r7arg2 : new (x: new (arg: Base) => Derived) => new (r: Base) => Derived -> : ^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >r7arg1 : new (x: new (arg: T) => U) => new (r: T) => U -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ var r8arg1: new (x: new (arg: T) => U, y: new (arg2: T) => U) => new (r: T) => U; >r8arg1 : new (x: new (arg: T) => U, y: new (arg2: T) => U) => new (r: T) => U -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : new (arg: T) => U > : ^^^^^ ^^ ^^^^^ >arg : T @@ -743,37 +743,37 @@ var r8arg2: new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) var r8 = foo8(r8arg1); // any >r8 : new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >foo8(r8arg1) : new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ->foo8 : { (a: new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived): new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ +>foo8 : { (a: new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r8arg1 : new (x: new (arg: T) => U, y: new (arg2: T) => U) => new (r: T) => U -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var r8a = [r8arg1, r8arg2]; >r8a : (new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived)[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ >[r8arg1, r8arg2] : (new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived)[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ >r8arg1 : new (x: new (arg: T) => U, y: new (arg2: T) => U) => new (r: T) => U -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >r8arg2 : new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r8b = [r8arg2, r8arg1]; >r8b : (new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived)[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ >[r8arg2, r8arg1] : (new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived)[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ >r8arg2 : new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >r8arg1 : new (x: new (arg: T) => U, y: new (arg2: T) => U) => new (r: T) => U -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var r9arg1: new (x: new (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => new (r: T) => U; >r9arg1 : new (x: new (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => new (r: T) => U -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : new (arg: T) => U > : ^^^^^ ^^ ^^^^^ >arg : T @@ -806,34 +806,34 @@ var r9arg2: new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) var r9 = foo9(r9arg1); // any >r9 : any >foo9(r9arg1) : any ->foo9 : { (a: new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived): new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>foo9 : { (a: new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r9arg1 : new (x: new (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => new (r: T) => U -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var r9a = [r9arg1, r9arg2]; >r9a : ((new (x: new (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => new (r: T) => U) | (new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived))[] -> : ^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^ >[r9arg1, r9arg2] : ((new (x: new (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => new (r: T) => U) | (new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived))[] -> : ^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^ >r9arg1 : new (x: new (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => new (r: T) => U -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >r9arg2 : new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r9b = [r9arg2, r9arg1]; >r9b : ((new (x: new (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => new (r: T) => U) | (new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived))[] -> : ^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^ >[r9arg2, r9arg1] : ((new (x: new (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => new (r: T) => U) | (new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived))[] -> : ^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^ >r9arg2 : new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >r9arg1 : new (x: new (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => new (r: T) => U -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var r10arg1: new (...x: T[]) => T; >r10arg1 : new (...x: T[]) => T -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >x : T[] > : ^^^ @@ -845,37 +845,37 @@ var r10arg2: new (...x: Derived[]) => Derived; var r10 = foo10(r10arg1); // any >r10 : new (...x: Derived[]) => Derived -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >foo10(r10arg1) : new (...x: Derived[]) => Derived -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ ->foo10 : { (a: new (...x: Derived[]) => Derived): new (...x: Derived[]) => Derived; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ +>foo10 : { (a: new (...x: Derived[]) => Derived): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r10arg1 : new (...x: T[]) => T -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ var r10a = [r10arg1, r10arg2]; >r10a : (new (...x: Derived[]) => Derived)[] -> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^^^^ ^^^ >[r10arg1, r10arg2] : (new (...x: Derived[]) => Derived)[] -> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^^^^ ^^^ >r10arg1 : new (...x: T[]) => T -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >r10arg2 : new (...x: Derived[]) => Derived -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r10b = [r10arg2, r10arg1]; >r10b : (new (...x: Derived[]) => Derived)[] -> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^^^^ ^^^ >[r10arg2, r10arg1] : (new (...x: Derived[]) => Derived)[] -> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^^^^ ^^^ >r10arg2 : new (...x: Derived[]) => Derived -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >r10arg1 : new (...x: T[]) => T -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ var r11arg1: new (x: T, y: T) => T; >r11arg1 : new (x: T, y: T) => T -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T > : ^ >y : T @@ -897,37 +897,37 @@ var r11arg2: new (x: { foo: string }, y: { foo: string; bar: string }) => Base; var r11 = foo11(r11arg1); // any >r11 : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >foo11(r11arg1) : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ ->foo11 : { (a: new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base): new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ +>foo11 : { (a: new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r11arg1 : new (x: T, y: T) => T -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var r11a = [r11arg1, r11arg2]; >r11a : (new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base)[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ >[r11arg1, r11arg2] : (new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base)[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ >r11arg1 : new (x: T, y: T) => T -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >r11arg2 : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r11b = [r11arg2, r11arg1]; >r11b : (new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base)[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ >[r11arg2, r11arg1] : (new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base)[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ >r11arg2 : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >r11arg1 : new (x: T, y: T) => T -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var r12arg1: new >(x: Array, y: T) => Array; ->r12arg1 : new (x: Array, y: T) => Array -> : ^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +>r12arg1 : new >(x: Array, y: T) => Array +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : Base[] > : ^^^^^^ >y : T @@ -942,38 +942,38 @@ var r12arg2: new (x: Array, y: Array) => Array; > : ^^^^^^^^^^ var r12 = foo12(r12arg1); // any ->r12 : new (x: Array, y: Array) => Derived[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->foo12(r12arg1) : new (x: Array, y: Array) => Derived[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->foo12 : { (a: new (x: Array, y: Array) => Array): new (x: Array, y: Array) => Derived[]; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ->r12arg1 : new (x: Array, y: T) => Derived[] -> : ^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>r12 : new (x: Array, y: Array) => Array +> : ^^^^^ ^^ ^^ ^^ ^^^^^ +>foo12(r12arg1) : new (x: Array, y: Array) => Array +> : ^^^^^ ^^ ^^ ^^ ^^^^^ +>foo12 : { (a: new (x: Array, y: Array) => Array): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ +>r12arg1 : new >(x: Array, y: T) => Array +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var r12a = [r12arg1, r12arg2]; ->r12a : (new (x: Array, y: Array) => Derived[])[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ->[r12arg1, r12arg2] : (new (x: Array, y: Array) => Derived[])[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ->r12arg1 : new (x: Array, y: T) => Derived[] -> : ^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->r12arg2 : new (x: Array, y: Array) => Derived[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>r12a : (new (x: Array, y: Array) => Array)[] +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ +>[r12arg1, r12arg2] : (new (x: Array, y: Array) => Array)[] +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ +>r12arg1 : new >(x: Array, y: T) => Array +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +>r12arg2 : new (x: Array, y: Array) => Array +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r12b = [r12arg2, r12arg1]; ->r12b : (new (x: Array, y: Array) => Derived[])[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ->[r12arg2, r12arg1] : (new (x: Array, y: Array) => Derived[])[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ->r12arg2 : new (x: Array, y: Array) => Derived[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->r12arg1 : new (x: Array, y: T) => Derived[] -> : ^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>r12b : (new (x: Array, y: Array) => Array)[] +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ +>[r12arg2, r12arg1] : (new (x: Array, y: Array) => Array)[] +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ +>r12arg2 : new (x: Array, y: Array) => Array +> : ^^^^^ ^^ ^^ ^^ ^^^^^ +>r12arg1 : new >(x: Array, y: T) => Array +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var r13arg1: new >(x: Array, y: T) => T; ->r13arg1 : new (x: Array, y: T) => T -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +>r13arg1 : new >(x: Array, y: T) => T +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : Base[] > : ^^^^^^ >y : T @@ -988,34 +988,34 @@ var r13arg2: new (x: Array, y: Array) => Array; > : ^^^^^^^^^ var r13 = foo13(r13arg1); // any ->r13 : new (x: Array, y: Array) => Derived[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->foo13(r13arg1) : new (x: Array, y: Array) => Derived[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->foo13 : { (a: new (x: Array, y: Array) => Array): new (x: Array, y: Array) => Derived[]; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ->r13arg1 : new (x: Array, y: T) => T -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +>r13 : new (x: Array, y: Array) => Array +> : ^^^^^ ^^ ^^ ^^ ^^^^^ +>foo13(r13arg1) : new (x: Array, y: Array) => Array +> : ^^^^^ ^^ ^^ ^^ ^^^^^ +>foo13 : { (a: new (x: Array, y: Array) => Array): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ +>r13arg1 : new >(x: Array, y: T) => T +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var r13a = [r13arg1, r13arg2]; ->r13a : (new (x: Array, y: Array) => Derived[])[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ->[r13arg1, r13arg2] : (new (x: Array, y: Array) => Derived[])[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ->r13arg1 : new (x: Array, y: T) => T -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ->r13arg2 : new (x: Array, y: Array) => Derived[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>r13a : (new (x: Array, y: Array) => Array)[] +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ +>[r13arg1, r13arg2] : (new (x: Array, y: Array) => Array)[] +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ +>r13arg1 : new >(x: Array, y: T) => T +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +>r13arg2 : new (x: Array, y: Array) => Array +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r13b = [r13arg2, r13arg1]; ->r13b : (new (x: Array, y: Array) => Derived[])[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ->[r13arg2, r13arg1] : (new (x: Array, y: Array) => Derived[])[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ->r13arg2 : new (x: Array, y: Array) => Derived[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->r13arg1 : new (x: Array, y: T) => T -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +>r13b : (new (x: Array, y: Array) => Array)[] +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ +>[r13arg2, r13arg1] : (new (x: Array, y: Array) => Array)[] +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ +>r13arg2 : new (x: Array, y: Array) => Array +> : ^^^^^ ^^ ^^ ^^ ^^^^^ +>r13arg1 : new >(x: Array, y: T) => T +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var r14arg1: new (x: { a: T; b: T }) => T; >r14arg1 : new (x: { a: T; b: T; }) => T @@ -1040,30 +1040,30 @@ var r14arg2: new (x: { a: string; b: number }) => Object; var r14 = foo14(r14arg1); // any >r14 : any >foo14(r14arg1) : any ->foo14 : { (a: new (x: { a: string; b: number; }) => Object): new (x: { a: string; b: number; }) => Object; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>foo14 : { (a: new (x: { a: string; b: number; }) => Object): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r14arg1 : new (x: { a: T; b: T; }) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r14a = [r14arg1, r14arg2]; >r14a : ((new (x: { a: T; b: T; }) => T) | (new (x: { a: string; b: number; }) => Object))[] -> : ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^^^^ ^^^^ >[r14arg1, r14arg2] : ((new (x: { a: T; b: T; }) => T) | (new (x: { a: string; b: number; }) => Object))[] -> : ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^^^^ ^^^^ >r14arg1 : new (x: { a: T; b: T; }) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >r14arg2 : new (x: { a: string; b: number; }) => Object -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r14b = [r14arg2, r14arg1]; >r14b : ((new (x: { a: T; b: T; }) => T) | (new (x: { a: string; b: number; }) => Object))[] -> : ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^^^^ ^^^^ >[r14arg2, r14arg1] : ((new (x: { a: T; b: T; }) => T) | (new (x: { a: string; b: number; }) => Object))[] -> : ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^^^^ ^^^^ >r14arg2 : new (x: { a: string; b: number; }) => Object -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >r14arg1 : new (x: { a: T; b: T; }) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r15arg1: new (x: T) => T[]; >r15arg1 : new (x: T) => T[] @@ -1074,26 +1074,26 @@ var r15arg1: new (x: T) => T[]; var r15 = foo15(r15arg1); // any >r15 : any >foo15(r15arg1) : any ->foo15 : { (a: { new (x: number): number[]; new (x: string): string[]; }): { new (x: number): number[]; new (x: string): string[]; }; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>foo15 : { (a: { new (x: number): number[]; new (x: string): string[]; }): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r15arg1 : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r16arg1: new (x: T) => number[]; >r16arg1 : new (x: T) => number[] -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : T > : ^ var r16 = foo16(r16arg1); >r16 : { new (x: T): number[]; new (x: U): number[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >foo16(r16arg1) : { new (x: T): number[]; new (x: U): number[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ->foo16 : { (a: { new (x: T): number[]; new (x: U): number[]; }): { new (x: T): number[]; new (x: U): number[]; }; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ +>foo16 : { (a: { new (x: T): number[]; new (x: U): number[]; }): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r16arg1 : new (x: T) => number[] -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ var r17arg1: new (x: (a: T) => T) => T[]; >r17arg1 : new (x: (a: T) => T) => T[] @@ -1106,10 +1106,10 @@ var r17arg1: new (x: (a: T) => T) => T[]; var r17 = foo17(r17arg1); // any >r17 : any >foo17(r17arg1) : any ->foo17 : { (a: { new (x: (a: number) => number): number[]; new (x: (a: string) => string): string[]; }): { new (x: (a: number) => number): number[]; new (x: (a: string) => string): string[]; }; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>foo17 : { (a: { new (x: (a: number) => number): number[]; new (x: (a: string) => string): string[]; }): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r17arg1 : new (x: (a: T) => T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r18arg1: new (x: (a: T) => T) => T[]; >r18arg1 : new (x: (a: T) => T) => T[] @@ -1122,8 +1122,8 @@ var r18arg1: new (x: (a: T) => T) => T[]; var r18 = foo18(r18arg1); >r18 : any >foo18(r18arg1) : any ->foo18 : { (a: { new (x: { new (a: number): number; new (a: string): string; }): any[]; new (x: { new (a: boolean): boolean; new (a: Date): Date; }): any[]; }): { new (x: { new (a: number): number; new (a: string): string; }): any[]; new (x: { new (a: boolean): boolean; new (a: Date): Date; }): any[]; }; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>foo18 : { (a: { new (x: { new (a: number): number; new (a: string): string; }): any[]; new (x: { new (a: boolean): boolean; new (a: Date): Date; }): any[]; }): typeof a; (a: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r18arg1 : new (x: (a: T) => T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/subtypingWithConstructSignatures3.types b/tests/baselines/reference/subtypingWithConstructSignatures3.types index f9697162d4bd8..d6cd126a6f618 100644 --- a/tests/baselines/reference/subtypingWithConstructSignatures3.types +++ b/tests/baselines/reference/subtypingWithConstructSignatures3.types @@ -40,22 +40,22 @@ module Errors { declare function foo2(a2: new (x: number) => string[]): typeof a2; >foo2 : { (a2: new (x: number) => string[]): typeof a2; (a2: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : new (x: number) => string[] > : ^^^^^ ^^ ^^^^^ >x : number > : ^^^^^^ >a2 : new (x: number) => string[] -> : ^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ declare function foo2(a2: any): any; ->foo2 : { (a2: new (x: number) => string[]): new (x: number) => string[]; (a2: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo2 : { (a2: new (x: number) => string[]): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : any declare function foo7(a2: new (x: new (arg: Base) => Derived) => new (r: Base) => Derived2): typeof a2; >foo7 : { (a2: new (x: new (arg: Base) => Derived) => new (r: Base) => Derived2): typeof a2; (a2: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : new (x: new (arg: Base) => Derived) => new (r: Base) => Derived2 > : ^^^^^ ^^ ^^^^^ >x : new (arg: Base) => Derived @@ -65,16 +65,16 @@ module Errors { >r : Base > : ^^^^ >a2 : new (x: new (arg: Base) => Derived) => new (r: Base) => Derived2 -> : ^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ declare function foo7(a2: any): any; ->foo7 : { (a2: new (x: new (arg: Base) => Derived) => new (r: Base) => Derived2): new (x: new (arg: Base) => Derived) => new (r: Base) => Derived2; (a2: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo7 : { (a2: new (x: new (arg: Base) => Derived) => new (r: Base) => Derived2): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : any declare function foo8(a2: new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived): typeof a2; >foo8 : { (a2: new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived): typeof a2; (a2: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived > : ^^^^^ ^^ ^^ ^^ ^^^^^ >x : new (arg: Base) => Derived @@ -88,31 +88,31 @@ module Errors { >r : Base > : ^^^^ >a2 : new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ declare function foo8(a2: any): any; ->foo8 : { (a2: new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived): new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived; (a2: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo8 : { (a2: new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : any declare function foo10(a2: new (...x: Base[]) => Base): typeof a2; >foo10 : { (a2: new (...x: Base[]) => Base): typeof a2; (a2: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : new (...x: Base[]) => Base > : ^^^^^^^^ ^^ ^^^^^ >x : Base[] > : ^^^^^^ >a2 : new (...x: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ declare function foo10(a2: any): any; ->foo10 : { (a2: new (...x: Base[]) => Base): new (...x: Base[]) => Base; (a2: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo10 : { (a2: new (...x: Base[]) => Base): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : any declare function foo11(a2: new (x: { foo: string }, y: { foo: string; bar: string }) => Base): typeof a2; >foo11 : { (a2: new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base): typeof a2; (a2: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base > : ^^^^^ ^^ ^^ ^^ ^^^^^ >x : { foo: string; } @@ -126,33 +126,33 @@ module Errors { >bar : string > : ^^^^^^ >a2 : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ declare function foo11(a2: any): any; ->foo11 : { (a2: new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base): new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base; (a2: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo11 : { (a2: new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : any declare function foo12(a2: new (x: Array, y: Array) => Array): typeof a2; >foo12 : { (a2: new (x: Array, y: Array) => Array): typeof a2; (a2: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : new (x: Array, y: Array) => Array > : ^^^^^ ^^ ^^ ^^ ^^^^^ >x : Base[] > : ^^^^^^ >y : Derived2[] > : ^^^^^^^^^^ ->a2 : new (x: Array, y: Array) => Derived[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>a2 : new (x: Array, y: Array) => Array +> : ^^^^^ ^^ ^^ ^^ ^^^^^ declare function foo12(a2: any): any; ->foo12 : { (a2: new (x: Array, y: Array) => Array): new (x: Array, y: Array) => Derived[]; (a2: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo12 : { (a2: new (x: Array, y: Array) => Array): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : any declare function foo15(a2: new (x: { a: string; b: number }) => number): typeof a2; >foo15 : { (a2: new (x: { a: string; b: number; }) => number): typeof a2; (a2: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : new (x: { a: string; b: number; }) => number > : ^^^^^ ^^ ^^^^^ >x : { a: string; b: number; } @@ -162,16 +162,16 @@ module Errors { >b : number > : ^^^^^^ >a2 : new (x: { a: string; b: number; }) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ declare function foo15(a2: any): any; ->foo15 : { (a2: new (x: { a: string; b: number; }) => number): new (x: { a: string; b: number; }) => number; (a2: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo15 : { (a2: new (x: { a: string; b: number; }) => number): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : any declare function foo16(a2: { >foo16 : { (a2: { new (x: { new (a: number): number; new (a?: number): number; }): number[]; new (x: { new (a: boolean): boolean; new (a?: boolean): boolean; }): boolean[]; }): typeof a2; (a2: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : { new (x: { new (a: number): number; new (a?: number): number; }): number[]; new (x: { new (a: boolean): boolean; new (a?: boolean): boolean; }): boolean[]; } > : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ @@ -204,22 +204,22 @@ module Errors { }): boolean[]; }): typeof a2; >a2 : { new (x: { new (a: number): number; new (a?: number): number; }): number[]; new (x: { new (a: boolean): boolean; new (a?: boolean): boolean; }): boolean[]; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ declare function foo16(a2: any): any; ->foo16 : { (a2: { new (x: { new (a: number): number; new (a?: number): number; }): number[]; new (x: { new (a: boolean): boolean; new (a?: boolean): boolean; }): boolean[]; }): { new (x: { new (a: number): number; new (a?: number): number; }): number[]; new (x: { new (a: boolean): boolean; new (a?: boolean): boolean; }): boolean[]; }; (a2: any): any; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo16 : { (a2: { new (x: { new (a: number): number; new (a?: number): number; }): number[]; new (x: { new (a: boolean): boolean; new (a?: boolean): boolean; }): boolean[]; }): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : any declare function foo17(a2: { >foo17 : { (a2: { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; }): typeof a2; (a2: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; } > : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ new (x: { ->x : { new (a: T): T; new (a: T_1): T_1; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>x : { new (a: T): T; new (a: T): T; } +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ new (a: T): T; >a : T @@ -231,8 +231,8 @@ module Errors { }): any[]; new (x: { ->x : { new (a: T): T; new (a: T_1): T_1; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>x : { new (a: T): T; new (a: T): T; } +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ new (a: T): T; >a : T @@ -245,11 +245,11 @@ module Errors { }): any[]; }): typeof a2; >a2 : { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ declare function foo17(a2: any): any; ->foo17 : { (a2: { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; }): { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; }; (a2: any): any; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo17 : { (a2: { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; }): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : any var r1arg1: new (x: T) => U[]; @@ -266,37 +266,37 @@ module Errors { var r1 = foo2(r1arg1); // any >r1 : new (x: number) => string[] -> : ^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >foo2(r1arg1) : new (x: number) => string[] -> : ^^^^^ ^^ ^^^^^^^^^^^^^ ->foo2 : { (a2: new (x: number) => string[]): new (x: number) => string[]; (a2: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ +>foo2 : { (a2: new (x: number) => string[]): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r1arg1 : new (x: T) => U[] -> : ^^^^^ ^^^^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r1a = [r1arg2, r1arg1]; >r1a : (new (x: number) => string[])[] -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >[r1arg2, r1arg1] : (new (x: number) => string[])[] -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >r1arg2 : new (x: number) => string[] -> : ^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >r1arg1 : new (x: T) => U[] -> : ^^^^^ ^^^^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r1b = [r1arg1, r1arg2]; >r1b : (new (x: number) => string[])[] -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >[r1arg1, r1arg2] : (new (x: number) => string[])[] -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >r1arg1 : new (x: T) => U[] -> : ^^^^^ ^^^^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >r1arg2 : new (x: number) => string[] -> : ^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r2arg1: new (x: new (arg: T) => U) => new (r: T) => V; >r2arg1 : new (x: new (arg: T) => U) => new (r: T) => V -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : new (arg: T) => U > : ^^^^^ ^^ ^^^^^ >arg : T @@ -316,37 +316,37 @@ module Errors { var r2 = foo7(r2arg1); // any >r2 : new (x: new (arg: Base) => Derived) => new (r: Base) => Derived2 -> : ^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >foo7(r2arg1) : new (x: new (arg: Base) => Derived) => new (r: Base) => Derived2 -> : ^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ->foo7 : { (a2: new (x: new (arg: Base) => Derived) => new (r: Base) => Derived2): new (x: new (arg: Base) => Derived) => new (r: Base) => Derived2; (a2: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ +>foo7 : { (a2: new (x: new (arg: Base) => Derived) => new (r: Base) => Derived2): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r2arg1 : new (x: new (arg: T) => U) => new (r: T) => V -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ var r2a = [r2arg2, r2arg1]; >r2a : (new (x: new (arg: Base) => Derived) => new (r: Base) => Derived2)[] -> : ^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >[r2arg2, r2arg1] : (new (x: new (arg: Base) => Derived) => new (r: Base) => Derived2)[] -> : ^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >r2arg2 : new (x: new (arg: Base) => Derived) => new (r: Base) => Derived2 -> : ^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >r2arg1 : new (x: new (arg: T) => U) => new (r: T) => V -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ var r2b = [r2arg1, r2arg2]; >r2b : (new (x: new (arg: Base) => Derived) => new (r: Base) => Derived2)[] -> : ^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >[r2arg1, r2arg2] : (new (x: new (arg: Base) => Derived) => new (r: Base) => Derived2)[] -> : ^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >r2arg1 : new (x: new (arg: T) => U) => new (r: T) => V -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >r2arg2 : new (x: new (arg: Base) => Derived) => new (r: Base) => Derived2 -> : ^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r3arg1: new (x: new (arg: T) => U, y: (arg2: { foo: number; }) => U) => new (r: T) => U; >r3arg1 : new (x: new (arg: T) => U, y: (arg2: { foo: number; }) => U) => new (r: T) => U -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : new (arg: T) => U > : ^^^^^ ^^ ^^^^^ >arg : T @@ -377,34 +377,34 @@ module Errors { var r3 = foo8(r3arg1); // any >r3 : any >foo8(r3arg1) : any ->foo8 : { (a2: new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived): new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived; (a2: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>foo8 : { (a2: new (x: new (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r3arg1 : new (x: new (arg: T) => U, y: (arg2: { foo: number; }) => U) => new (r: T) => U -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var r3a = [r3arg2, r3arg1]; >r3a : ((new (x: new (arg: T) => U, y: (arg2: { foo: number; }) => U) => new (r: T) => U) | (new (x: (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived))[] -> : ^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^ >[r3arg2, r3arg1] : ((new (x: new (arg: T) => U, y: (arg2: { foo: number; }) => U) => new (r: T) => U) | (new (x: (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived))[] -> : ^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^ >r3arg2 : new (x: (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >r3arg1 : new (x: new (arg: T) => U, y: (arg2: { foo: number; }) => U) => new (r: T) => U -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var r3b = [r3arg1, r3arg2]; >r3b : ((new (x: new (arg: T) => U, y: (arg2: { foo: number; }) => U) => new (r: T) => U) | (new (x: (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived))[] -> : ^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^ >[r3arg1, r3arg2] : ((new (x: new (arg: T) => U, y: (arg2: { foo: number; }) => U) => new (r: T) => U) | (new (x: (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived))[] -> : ^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^ >r3arg1 : new (x: new (arg: T) => U, y: (arg2: { foo: number; }) => U) => new (r: T) => U -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >r3arg2 : new (x: (arg: Base) => Derived, y: new (arg2: Base) => Derived) => new (r: Base) => Derived -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r4arg1: new (...x: T[]) => T; >r4arg1 : new (...x: T[]) => T -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >x : T[] > : ^^^ @@ -416,37 +416,37 @@ module Errors { var r4 = foo10(r4arg1); // any >r4 : new (...x: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >foo10(r4arg1) : new (...x: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ ->foo10 : { (a2: new (...x: Base[]) => Base): new (...x: Base[]) => Base; (a2: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ +>foo10 : { (a2: new (...x: Base[]) => Base): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r4arg1 : new (...x: T[]) => T -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ var r4a = [r4arg2, r4arg1]; >r4a : (new (...x: Base[]) => Base)[] -> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^^^^ ^^^ >[r4arg2, r4arg1] : (new (...x: Base[]) => Base)[] -> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^^^^ ^^^ >r4arg2 : new (...x: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ >r4arg1 : new (...x: T[]) => T -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ var r4b = [r4arg1, r4arg2]; >r4b : (new (...x: Base[]) => Base)[] -> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^^^^ ^^^ >[r4arg1, r4arg2] : (new (...x: Base[]) => Base)[] -> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^^^^ ^^^ >r4arg1 : new (...x: T[]) => T -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >r4arg2 : new (...x: Base[]) => Base -> : ^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ var r5arg1: new (x: T, y: T) => T; >r5arg1 : new (x: T, y: T) => T -> : ^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T > : ^ >y : T @@ -468,33 +468,33 @@ module Errors { var r5 = foo11(r5arg1); // any >r5 : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >foo11(r5arg1) : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ ->foo11 : { (a2: new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base): new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base; (a2: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ +>foo11 : { (a2: new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r5arg1 : new (x: T, y: T) => T -> : ^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var r5a = [r5arg2, r5arg1]; >r5a : (new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base)[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ >[r5arg2, r5arg1] : (new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base)[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ >r5arg2 : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >r5arg1 : new (x: T, y: T) => T -> : ^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var r5b = [r5arg1, r5arg2]; >r5b : (new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base)[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ >[r5arg1, r5arg2] : (new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base)[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ >r5arg1 : new (x: T, y: T) => T -> : ^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >r5arg2 : new (x: { foo: string; }, y: { foo: string; bar: string; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r6arg1: new (x: Array, y: Array) => Array; >r6arg1 : new (x: Array, y: Array) => Array @@ -505,42 +505,42 @@ module Errors { > : ^^^^^^^^^^ var r6arg2: new >(x: Array, y: Array) => T; ->r6arg2 : new (x: Array, y: Array) => T -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +>r6arg2 : new >(x: Array, y: Array) => T +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : Base[] > : ^^^^^^ >y : Base[] > : ^^^^^^ var r6 = foo12(r6arg1); // new (x: Array, y: Array) => Array ->r6 : new (x: Array, y: Array) => Derived[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->foo12(r6arg1) : new (x: Array, y: Array) => Derived[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->foo12 : { (a2: new (x: Array, y: Array) => Array): new (x: Array, y: Array) => Derived[]; (a2: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ->r6arg1 : new (x: Array, y: Array) => Derived[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>r6 : new (x: Array, y: Array) => Array +> : ^^^^^ ^^ ^^ ^^ ^^^^^ +>foo12(r6arg1) : new (x: Array, y: Array) => Array +> : ^^^^^ ^^ ^^ ^^ ^^^^^ +>foo12 : { (a2: new (x: Array, y: Array) => Array): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ +>r6arg1 : new (x: Array, y: Array) => Array +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r6a = [r6arg2, r6arg1]; ->r6a : (new (x: Array, y: Array) => Derived[])[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ->[r6arg2, r6arg1] : (new (x: Array, y: Array) => Derived[])[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ->r6arg2 : new (x: Array, y: Array) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ->r6arg1 : new (x: Array, y: Array) => Derived[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>r6a : (new (x: Array, y: Array) => Array)[] +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ +>[r6arg2, r6arg1] : (new (x: Array, y: Array) => Array)[] +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ +>r6arg2 : new >(x: Array, y: Array) => T +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +>r6arg1 : new (x: Array, y: Array) => Array +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r6b = [r6arg1, r6arg2]; ->r6b : (new (x: Array, y: Array) => Derived[])[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ->[r6arg1, r6arg2] : (new (x: Array, y: Array) => Derived[])[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ->r6arg1 : new (x: Array, y: Array) => Derived[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->r6arg2 : new (x: Array, y: Array) => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +>r6b : (new (x: Array, y: Array) => Array)[] +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ +>[r6arg1, r6arg2] : (new (x: Array, y: Array) => Array)[] +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ +>r6arg1 : new (x: Array, y: Array) => Array +> : ^^^^^ ^^ ^^ ^^ ^^^^^ +>r6arg2 : new >(x: Array, y: Array) => T +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var r7arg1: new (x: { a: T; b: T }) => T; >r7arg1 : new (x: { a: T; b: T; }) => T @@ -565,34 +565,34 @@ module Errors { var r7 = foo15(r7arg1); // (x: { a: string; b: number }) => number): number; >r7 : any >foo15(r7arg1) : any ->foo15 : { (a2: new (x: { a: string; b: number; }) => number): new (x: { a: string; b: number; }) => number; (a2: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>foo15 : { (a2: new (x: { a: string; b: number; }) => number): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r7arg1 : new (x: { a: T; b: T; }) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r7a = [r7arg2, r7arg1]; >r7a : ((new (x: { a: T; b: T; }) => T) | (new (x: { a: string; b: number; }) => number))[] -> : ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^^^^ ^^^^ >[r7arg2, r7arg1] : ((new (x: { a: T; b: T; }) => T) | (new (x: { a: string; b: number; }) => number))[] -> : ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^^^^ ^^^^ >r7arg2 : new (x: { a: string; b: number; }) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >r7arg1 : new (x: { a: T; b: T; }) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r7b = [r7arg1, r7arg2]; >r7b : ((new (x: { a: T; b: T; }) => T) | (new (x: { a: string; b: number; }) => number))[] -> : ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^^^^ ^^^^ >[r7arg1, r7arg2] : ((new (x: { a: T; b: T; }) => T) | (new (x: { a: string; b: number; }) => number))[] -> : ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^^^^ ^^^^ >r7arg1 : new (x: { a: T; b: T; }) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >r7arg2 : new (x: { a: string; b: number; }) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r7arg3: new (x: { a: T; b: T }) => number; >r7arg3 : new (x: { a: T; b: T; }) => number -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : { a: T; b: T; } > : ^^^^^ ^^^^^ ^^^ >a : T @@ -603,30 +603,30 @@ module Errors { var r7c = foo15(r7arg3); // any >r7c : any >foo15(r7arg3) : any ->foo15 : { (a2: new (x: { a: string; b: number; }) => number): new (x: { a: string; b: number; }) => number; (a2: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>foo15 : { (a2: new (x: { a: string; b: number; }) => number): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r7arg3 : new (x: { a: T; b: T; }) => number -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ var r7d = [r7arg2, r7arg3]; >r7d : ((new (x: { a: string; b: number; }) => number) | (new (x: { a: T; b: T; }) => number))[] -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^^^ >[r7arg2, r7arg3] : ((new (x: { a: string; b: number; }) => number) | (new (x: { a: T; b: T; }) => number))[] -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^^^ >r7arg2 : new (x: { a: string; b: number; }) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ >r7arg3 : new (x: { a: T; b: T; }) => number -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ var r7e = [r7arg3, r7arg2]; >r7e : ((new (x: { a: string; b: number; }) => number) | (new (x: { a: T; b: T; }) => number))[] -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^^^ >[r7arg3, r7arg2] : ((new (x: { a: string; b: number; }) => number) | (new (x: { a: T; b: T; }) => number))[] -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^^^ >r7arg3 : new (x: { a: T; b: T; }) => number -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >r7arg2 : new (x: { a: string; b: number; }) => number -> : ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ var r8arg: new (x: new (a: T) => T) => T[]; >r8arg : new (x: new (a: T) => T) => T[] @@ -639,10 +639,10 @@ module Errors { var r8 = foo16(r8arg); // any >r8 : any >foo16(r8arg) : any ->foo16 : { (a2: { new (x: { new (a: number): number; new (a?: number): number; }): number[]; new (x: { new (a: boolean): boolean; new (a?: boolean): boolean; }): boolean[]; }): { new (x: { new (a: number): number; new (a?: number): number; }): number[]; new (x: { new (a: boolean): boolean; new (a?: boolean): boolean; }): boolean[]; }; (a2: any): any; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>foo16 : { (a2: { new (x: { new (a: number): number; new (a?: number): number; }): number[]; new (x: { new (a: boolean): boolean; new (a?: boolean): boolean; }): boolean[]; }): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r8arg : new (x: new (a: T) => T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r9arg: new (x: new (a: T) => T) => any[]; >r9arg : new (x: new (a: T) => T) => any[] @@ -654,13 +654,13 @@ module Errors { var r9 = foo17(r9arg); // // (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; >r9 : { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ >foo17(r9arg) : { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ ->foo17 : { (a2: { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; }): { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; }; (a2: any): any; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ +>foo17 : { (a2: { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; }): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r9arg : new (x: new (a: T) => T) => any[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ } module WithGenericSignaturesInBaseType { @@ -669,17 +669,17 @@ module WithGenericSignaturesInBaseType { declare function foo2(a2: new (x: T) => T[]): typeof a2; >foo2 : { (a2: new (x: T) => T[]): typeof a2; (a2: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : new (x: T) => T[] > : ^^^^^ ^^ ^^ ^^^^^ >x : T > : ^ >a2 : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ declare function foo2(a2: any): any; ->foo2 : { (a2: new (x: T) => T[]): new (x: T) => T[]; (a2: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo2 : { (a2: new (x: T) => T[]): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : any var r2arg2: new (x: T) => string[]; @@ -691,24 +691,24 @@ module WithGenericSignaturesInBaseType { var r2 = foo2(r2arg2); // (x:T) => T[] since we can infer from generic signatures now >r2 : any >foo2(r2arg2) : any ->foo2 : { (a2: new (x: T) => T[]): new (x: T) => T[]; (a2: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^ +>foo2 : { (a2: new (x: T) => T[]): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r2arg2 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ declare function foo3(a2: new (x: T) => string[]): typeof a2; >foo3 : { (a2: new (x: T) => string[]): typeof a2; (a2: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : new (x: T) => string[] > : ^^^^^ ^^ ^^ ^^^^^ >x : T > : ^ >a2 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ declare function foo3(a2: any): any; ->foo3 : { (a2: new (x: T) => string[]): new (x: T) => string[]; (a2: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>foo3 : { (a2: new (x: T) => string[]): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a2 : any var r3arg2: new (x: T) => T[]; @@ -720,8 +720,8 @@ module WithGenericSignaturesInBaseType { var r3 = foo3(r3arg2); // any >r3 : any >foo3(r3arg2) : any ->foo3 : { (a2: new (x: T) => string[]): new (x: T) => string[]; (a2: any): any; } -> : ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>foo3 : { (a2: new (x: T) => string[]): typeof a2; (a2: any): any; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >r3arg2 : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ } diff --git a/tests/baselines/reference/subtypingWithConstructSignatures4.types b/tests/baselines/reference/subtypingWithConstructSignatures4.types index e702ef8667107..ddb86070c245b 100644 --- a/tests/baselines/reference/subtypingWithConstructSignatures4.types +++ b/tests/baselines/reference/subtypingWithConstructSignatures4.types @@ -35,7 +35,7 @@ class OtherDerived extends Base { bing: string; } declare function foo1(a: new (x: T) => T[]); >foo1 : { (a: new (x: T) => T[]): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >a : new (x: T) => T[] > : ^^^^^ ^^ ^^ ^^^^^ >x : T @@ -48,7 +48,7 @@ declare function foo1(a: any): any; declare function foo2(a2: new (x: T) => string[]); >foo2 : { (a2: new (x: T) => string[]): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >a2 : new (x: T) => string[] > : ^^^^^ ^^ ^^ ^^^^^ >x : T @@ -61,7 +61,7 @@ declare function foo2(a: any): any; declare function foo3(a3: new (x: T) => void); >foo3 : { (a3: new (x: T) => void): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >a3 : new (x: T) => void > : ^^^^^ ^^ ^^ ^^^^^ >x : T @@ -74,7 +74,7 @@ declare function foo3(a: any): any; declare function foo4(a4: new (x: T, y: U) => string); >foo4 : { (a4: new (x: T, y: U) => string): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >a4 : new (x: T, y: U) => string > : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T @@ -89,7 +89,7 @@ declare function foo4(a: any): any; declare function foo5(a5: new (x: new (arg: T) => U) => T); >foo5 : { (a5: new (x: new (arg: T) => U) => T): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >a5 : new (x: new (arg: T) => U) => T > : ^^^^^ ^^ ^^ ^^ ^^^^^ >x : new (arg: T) => U @@ -104,9 +104,9 @@ declare function foo5(a: any): any; declare function foo6(a6: new (x: new (arg: T) => Derived) => T); >foo6 : { (a6: new (x: new (arg: T) => Derived) => T): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >a6 : new (x: new (arg: T) => Derived) => T -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : new (arg: T) => Derived > : ^^^^^ ^^ ^^^^^ >arg : T @@ -119,7 +119,7 @@ declare function foo6(a: any): any; declare function foo11(a11: new (x: { foo: T }, y: { foo: T; bar: T }) => Base); >foo11 : { (a11: new (x: { foo: T; }, y: { foo: T; bar: T; }) => Base): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >a11 : new (x: { foo: T; }, y: { foo: T; bar: T; }) => Base > : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : { foo: T; } @@ -140,7 +140,7 @@ declare function foo11(a: any): any; declare function foo15(a15: new (x: { a: T; b: T }) => T[]); >foo15 : { (a15: new (x: { a: T; b: T; }) => T[]): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >a15 : new (x: { a: T; b: T; }) => T[] > : ^^^^^ ^^ ^^ ^^^^^ >x : { a: T; b: T; } @@ -157,9 +157,9 @@ declare function foo15(a: any): any; declare function foo16(a16: new (x: { a: T; b: T }) => T[]); >foo16 : { (a16: new (x: { a: T; b: T; }) => T[]): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >a16 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : { a: T; b: T; } > : ^^^^^ ^^^^^ ^^^ >a : T @@ -174,9 +174,9 @@ declare function foo16(a: any): any; declare function foo17(a17: { >foo17 : { (a17: { new (x: new (a: T) => T): T[]; new (x: new (a: T) => T): T[]; }): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ->a17 : { new (x: new (a: T) => T): T[]; new (x: new (a: T_1) => T_1): T_1[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ +>a17 : { new (x: new (a: T) => T): T[]; new (x: new (a: T) => T): T[]; } +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ new (x: new (a: T) => T): T[]; >x : new (a: T) => T @@ -198,13 +198,13 @@ declare function foo17(a: any): any; declare function foo18(a18: { >foo18 : { (a18: { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; }): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >a18 : { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; } > : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ new (x: { ->x : { new (a: T): T; new (a: T_1): T_1; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>x : { new (a: T): T; new (a: T): T; } +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ new (a: T): T; >a : T @@ -216,8 +216,8 @@ declare function foo18(a18: { }): any[]; new (x: { ->x : { new (a: T): T; new (a: T_1): T_1; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>x : { new (a: T): T; new (a: T): T; } +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ new (a: T): T; >a : T @@ -250,29 +250,29 @@ var r1 = foo1(r1arg); >r1 : any >foo1(r1arg) : any >foo1 : { (a: new (x: T) => T[]): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >r1arg : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r1a = [r1arg, r1arg2]; >r1a : (new (x: T) => T[])[] -> : ^^^^^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^ >[r1arg, r1arg2] : (new (x: T) => T[])[] -> : ^^^^^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^ >r1arg : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >r1arg2 : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r1b = [r1arg2, r1arg]; >r1b : (new (x: T) => T[])[] -> : ^^^^^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^ >[r1arg2, r1arg] : (new (x: T) => T[])[] -> : ^^^^^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^ >r1arg2 : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >r1arg : new (x: T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r2arg: new (x: T) => string[]; >r2arg : new (x: T) => string[] @@ -290,29 +290,29 @@ var r2 = foo2(r2arg); >r2 : any >foo2(r2arg) : any >foo2 : { (a2: new (x: T) => string[]): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >r2arg : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r2a = [r2arg, r2arg2]; >r2a : (new (x: T) => string[])[] -> : ^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^ >[r2arg, r2arg2] : (new (x: T) => string[])[] -> : ^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^ >r2arg : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >r2arg2 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r2b = [r2arg2, r2arg]; >r2b : (new (x: T) => string[])[] -> : ^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^ >[r2arg2, r2arg] : (new (x: T) => string[])[] -> : ^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^ >r2arg2 : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >r2arg : new (x: T) => string[] -> : ^^^^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r3arg: new (x: T) => T; >r3arg : new (x: T) => T @@ -330,29 +330,29 @@ var r3 = foo3(r3arg); >r3 : any >foo3(r3arg) : any >foo3 : { (a3: new (x: T) => void): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >r3arg : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r3a = [r3arg, r3arg2]; >r3a : (new (x: T) => void)[] -> : ^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^ >[r3arg, r3arg2] : (new (x: T) => void)[] -> : ^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^ >r3arg : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >r3arg2 : new (x: T) => void -> : ^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r3b = [r3arg2, r3arg]; >r3b : (new (x: T) => void)[] -> : ^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^ >[r3arg2, r3arg] : (new (x: T) => void)[] -> : ^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^ >r3arg2 : new (x: T) => void -> : ^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >r3arg : new (x: T) => T -> : ^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r4arg: new (x: T, y: U) => string; >r4arg : new (x: T, y: U) => string @@ -374,29 +374,29 @@ var r4 = foo4(r4arg); >r4 : any >foo4(r4arg) : any >foo4 : { (a4: new (x: T, y: U) => string): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >r4arg : new (x: T, y: U) => string -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ var r4a = [r4arg, r4arg2]; >r4a : (new (x: T, y: U) => string)[] -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^ >[r4arg, r4arg2] : (new (x: T, y: U) => string)[] -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^ >r4arg : new (x: T, y: U) => string -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >r4arg2 : new (x: T, y: U) => string -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ var r4b = [r4arg2, r4arg]; >r4b : (new (x: T, y: U) => string)[] -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^ >[r4arg2, r4arg] : (new (x: T, y: U) => string)[] -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^ >r4arg2 : new (x: T, y: U) => string -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >r4arg : new (x: T, y: U) => string -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ var r5arg: new (x: new (arg: T) => U) => T; >r5arg : new (x: new (arg: T) => U) => T @@ -418,33 +418,33 @@ var r5 = foo5(r5arg); >r5 : any >foo5(r5arg) : any >foo5 : { (a5: new (x: new (arg: T) => U) => T): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >r5arg : new (x: new (arg: T) => U) => T -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r5a = [r5arg, r5arg2]; >r5a : (new (x: new (arg: T) => U) => T)[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ >[r5arg, r5arg2] : (new (x: new (arg: T) => U) => T)[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ >r5arg : new (x: new (arg: T) => U) => T -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >r5arg2 : new (x: new (arg: T) => U) => T -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r5b = [r5arg2, r5arg]; >r5b : (new (x: new (arg: T) => U) => T)[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ >[r5arg2, r5arg] : (new (x: new (arg: T) => U) => T)[] -> : ^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ >r5arg2 : new (x: new (arg: T) => U) => T -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >r5arg : new (x: new (arg: T) => U) => T -> : ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r6arg: new (x: new (arg: T) => U) => T; >r6arg : new (x: new (arg: T) => U) => T -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : new (arg: T) => U > : ^^^^^ ^^ ^^^^^ >arg : T @@ -452,7 +452,7 @@ var r6arg: new (x: new (arg: T) => U) => T; var r6arg2: new (x: new (arg: T) => Derived) => T; >r6arg2 : new (x: new (arg: T) => Derived) => T -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : new (arg: T) => Derived > : ^^^^^ ^^ ^^^^^ >arg : T @@ -462,29 +462,29 @@ var r6 = foo6(r6arg); >r6 : any >foo6(r6arg) : any >foo6 : { (a6: new (x: new (arg: T) => Derived) => T): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >r6arg : new (x: new (arg: T) => U) => T -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ var r6a = [r6arg, r6arg2]; >r6a : (new (x: new (arg: T) => U) => T)[] -> : ^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^^ >[r6arg, r6arg2] : (new (x: new (arg: T) => U) => T)[] -> : ^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^^ >r6arg : new (x: new (arg: T) => U) => T -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >r6arg2 : new (x: new (arg: T) => Derived) => T -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ var r6b = [r6arg2, r6arg]; >r6b : (new (x: new (arg: T) => U) => T)[] -> : ^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^^ >[r6arg2, r6arg] : (new (x: new (arg: T) => U) => T)[] -> : ^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^^ >r6arg2 : new (x: new (arg: T) => Derived) => T -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >r6arg : new (x: new (arg: T) => U) => T -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ var r11arg: new (x: { foo: T }, y: { foo: U; bar: U }) => Base; >r11arg : new (x: { foo: T; }, y: { foo: U; bar: U; }) => Base @@ -518,29 +518,29 @@ var r11 = foo11(r11arg); >r11 : any >foo11(r11arg) : any >foo11 : { (a11: new (x: { foo: T; }, y: { foo: T; bar: T; }) => Base): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >r11arg : new (x: { foo: T; }, y: { foo: U; bar: U; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ var r11a = [r11arg, r11arg2]; >r11a : (new (x: { foo: T; }, y: { foo: T; bar: T; }) => Base)[] -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^ >[r11arg, r11arg2] : (new (x: { foo: T; }, y: { foo: T; bar: T; }) => Base)[] -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^ >r11arg : new (x: { foo: T; }, y: { foo: U; bar: U; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >r11arg2 : new (x: { foo: T; }, y: { foo: T; bar: T; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ var r11b = [r11arg2, r11arg]; >r11b : (new (x: { foo: T; }, y: { foo: T; bar: T; }) => Base)[] -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^ >[r11arg2, r11arg] : (new (x: { foo: T; }, y: { foo: T; bar: T; }) => Base)[] -> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^ >r11arg2 : new (x: { foo: T; }, y: { foo: T; bar: T; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >r11arg : new (x: { foo: T; }, y: { foo: U; bar: U; }) => Base -> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ var r15arg: new (x: { a: U; b: V; }) => U[]; >r15arg : new (x: { a: U; b: V; }) => U[] @@ -566,33 +566,33 @@ var r15 = foo15(r15arg); >r15 : any >foo15(r15arg) : any >foo15 : { (a15: new (x: { a: T; b: T; }) => T[]): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >r15arg : new (x: { a: U; b: V; }) => U[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r15a = [r15arg, r15arg2]; >r15a : (new (x: { a: T; b: T; }) => T[])[] -> : ^^^^^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^ >[r15arg, r15arg2] : (new (x: { a: T; b: T; }) => T[])[] -> : ^^^^^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^ >r15arg : new (x: { a: U; b: V; }) => U[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ >r15arg2 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r15b = [r15arg2, r15arg]; >r15b : (new (x: { a: T; b: T; }) => T[])[] -> : ^^^^^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^ >[r15arg2, r15arg] : (new (x: { a: T; b: T; }) => T[])[] -> : ^^^^^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^ >r15arg2 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ >r15arg : new (x: { a: U; b: V; }) => U[] -> : ^^^^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^^^^ var r16arg: new (x: { a: T; b: T }) => T[]; >r16arg : new (x: { a: T; b: T; }) => T[] -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : { a: T; b: T; } > : ^^^^^ ^^^^^ ^^^ >a : T @@ -602,7 +602,7 @@ var r16arg: new (x: { a: T; b: T }) => T[]; var r16arg2: new (x: { a: T; b: T }) => T[]; >r16arg2 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : { a: T; b: T; } > : ^^^^^ ^^^^^ ^^^ >a : T @@ -614,29 +614,29 @@ var r16 = foo16(r16arg); >r16 : any >foo16(r16arg) : any >foo16 : { (a16: new (x: { a: T; b: T; }) => T[]): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >r16arg : new (x: { a: T; b: T; }) => T[] -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ var r16a = [r16arg, r16arg2]; >r16a : (new (x: { a: T; b: T; }) => T[])[] -> : ^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^^ >[r16arg, r16arg2] : (new (x: { a: T; b: T; }) => T[])[] -> : ^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^^ >r16arg : new (x: { a: T; b: T; }) => T[] -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >r16arg2 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ var r16b = [r16arg2, r16arg]; >r16b : (new (x: { a: T; b: T; }) => T[])[] -> : ^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^^ >[r16arg2, r16arg] : (new (x: { a: T; b: T; }) => T[])[] -> : ^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^^ >r16arg2 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >r16arg : new (x: { a: T; b: T; }) => T[] -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ var r17arg: new (x: new (a: T) => T) => T[]; >r17arg : new (x: new (a: T) => T) => T[] @@ -650,9 +650,9 @@ var r17 = foo17(r17arg); >r17 : any >foo17(r17arg) : any >foo17 : { (a17: { new (x: new (a: T) => T): T[]; new (x: new (a: T) => T): T[]; }): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >r17arg : new (x: new (a: T) => T) => T[] -> : ^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^^^^ var r18arg: new (x: new (a: T) => T) => any[]; >r18arg : new (x: new (a: T) => T) => any[] @@ -666,7 +666,7 @@ var r18 = foo18(r18arg); >r18 : any >foo18(r18arg) : any >foo18 : { (a18: { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; }): any; (a: any): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^ ^^^ >r18arg : new (x: new (a: T) => T) => any[] -> : ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/subtypingWithConstructSignatures5.types b/tests/baselines/reference/subtypingWithConstructSignatures5.types index 3a871cf47868d..c358622008e63 100644 --- a/tests/baselines/reference/subtypingWithConstructSignatures5.types +++ b/tests/baselines/reference/subtypingWithConstructSignatures5.types @@ -210,7 +210,7 @@ interface I extends B { a6: new (x: (arg: T) => U) => T; // ok, same as a5 but with object type hierarchy >a6 : new (x: (arg: T) => U) => T -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : (arg: T) => U > : ^ ^^ ^^^^^ >arg : T @@ -218,7 +218,7 @@ interface I extends B { a7: new (x: (arg: T) => U) => (r: T) => U; // ok >a7 : new (x: (arg: T) => U) => (r: T) => U -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : (arg: T) => U > : ^ ^^ ^^^^^ >arg : T @@ -228,7 +228,7 @@ interface I extends B { a8: new (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U; // ok >a8 : new (x: (arg: T) => U, y: (arg2: T) => U) => (r: T) => U -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : (arg: T) => U > : ^ ^^ ^^^^^ >arg : T @@ -242,7 +242,7 @@ interface I extends B { a9: new (x: (arg: T) => U, y: (arg2: { foo: string; bing: number }) => U) => (r: T) => U; // ok, same as a8 with compatible object literal >a9 : new (x: (arg: T) => U, y: (arg2: { foo: string; bing: number; }) => U) => (r: T) => U -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : (arg: T) => U > : ^ ^^ ^^^^^ >arg : T @@ -260,29 +260,29 @@ interface I extends B { a10: new (...x: T[]) => T; // ok >a10 : new (...x: T[]) => T -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >x : T[] > : ^^^ a11: new (x: T, y: T) => T; // ok >a11 : new (x: T, y: T) => T -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T > : ^ >y : T > : ^ a12: new >(x: Array, y: T) => Array; // ok, less specific parameter type ->a12 : new (x: Array, y: T) => Array -> : ^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +>a12 : new >(x: Array, y: T) => Array +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : Base[] > : ^^^^^^ >y : T > : ^ a13: new >(x: Array, y: T) => T; // ok, T = Array, satisfies constraint, contextual signature instantiation succeeds ->a13 : new (x: Array, y: T) => T -> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +>a13 : new >(x: Array, y: T) => T +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : Base[] > : ^^^^^^ >y : T diff --git a/tests/baselines/reference/subtypingWithConstructSignatures6.types b/tests/baselines/reference/subtypingWithConstructSignatures6.types index 6f3c2bed2c658..4d1aea91bcf84 100644 --- a/tests/baselines/reference/subtypingWithConstructSignatures6.types +++ b/tests/baselines/reference/subtypingWithConstructSignatures6.types @@ -73,7 +73,7 @@ interface A { // T a6: new (x: (arg: T) => Derived) => T; >a6 : new (x: (arg: T) => Derived) => T -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : (arg: T) => Derived > : ^ ^^ ^^^^^ >arg : T @@ -105,7 +105,7 @@ interface A { // T a16: new (x: { a: T; b: T }) => T[]; >a16 : new (x: { a: T; b: T; }) => T[] -> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : { a: T; b: T; } > : ^^^^^ ^^^^^ ^^^ >a : T diff --git a/tests/baselines/reference/subtypingWithObjectMembersOptionality.types b/tests/baselines/reference/subtypingWithObjectMembersOptionality.types index f97706d59404c..fe1a49a8f69b0 100644 --- a/tests/baselines/reference/subtypingWithObjectMembersOptionality.types +++ b/tests/baselines/reference/subtypingWithObjectMembersOptionality.types @@ -78,13 +78,13 @@ var b = { Foo: null }; var r = true ? a : b; >r : { Foo?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >true ? a : b : { Foo?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >true : true > : ^^^^ >a : { Foo?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b : { Foo: Derived; } > : ^^^^^^^ ^^^ @@ -147,13 +147,13 @@ module TwoLevels { var r = true ? a : b; >r : { Foo?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >true ? a : b : { Foo?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >true : true > : ^^^^ >a : { Foo?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b : { Foo: Derived2; } > : ^^^^^^^ ^^^ } diff --git a/tests/baselines/reference/subtypingWithObjectMembersOptionality2.types b/tests/baselines/reference/subtypingWithObjectMembersOptionality2.types index ba44de41be63d..3d378d6eeb933 100644 --- a/tests/baselines/reference/subtypingWithObjectMembersOptionality2.types +++ b/tests/baselines/reference/subtypingWithObjectMembersOptionality2.types @@ -62,13 +62,13 @@ var b: { Foo?: Derived; } var r = true ? a : b; // ok >r : { Foo: Base; } | { Foo?: Derived; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^ ^^^ >true ? a : b : { Foo: Base; } | { Foo?: Derived; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^ ^^^ >true : true > : ^^^^ >a : { Foo: Base; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >b : { Foo?: Derived; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ diff --git a/tests/baselines/reference/subtypingWithObjectMembersOptionality3.types b/tests/baselines/reference/subtypingWithObjectMembersOptionality3.types index 9adf04f816183..2c130f4ed4d1d 100644 --- a/tests/baselines/reference/subtypingWithObjectMembersOptionality3.types +++ b/tests/baselines/reference/subtypingWithObjectMembersOptionality3.types @@ -62,13 +62,13 @@ var b: { Foo2: Derived; } var r = true ? a : b; // ok >r : { Foo?: Base; } | { Foo2: Derived; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ >true ? a : b : { Foo?: Base; } | { Foo2: Derived; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ >true : true > : ^^^^ >a : { Foo?: Base; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >b : { Foo2: Derived; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ diff --git a/tests/baselines/reference/subtypingWithObjectMembersOptionality4.types b/tests/baselines/reference/subtypingWithObjectMembersOptionality4.types index a32f74851f6cd..ae0d15c7bef44 100644 --- a/tests/baselines/reference/subtypingWithObjectMembersOptionality4.types +++ b/tests/baselines/reference/subtypingWithObjectMembersOptionality4.types @@ -62,13 +62,13 @@ var b: { Foo2?: Derived; } var r = true ? a : b; // ok >r : { Foo: Base; } | { Foo2?: Derived; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^ ^^^ >true ? a : b : { Foo: Base; } | { Foo2?: Derived; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^ ^^^ >true : true > : ^^^^ >a : { Foo: Base; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >b : { Foo2?: Derived; } -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ diff --git a/tests/baselines/reference/subtypingWithOptionalProperties.types b/tests/baselines/reference/subtypingWithOptionalProperties.types index 55fd5a633f1b6..4ae83a6d2ec3a 100644 --- a/tests/baselines/reference/subtypingWithOptionalProperties.types +++ b/tests/baselines/reference/subtypingWithOptionalProperties.types @@ -20,16 +20,16 @@ function f(a: T) { return b; >b : { s?: number; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ } var r = f({ s: new Object() }); // ok >r : { s?: number; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >f({ s: new Object() }) : { s?: number; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >f : (a: T) => { s?: number; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^ ^^^ >{ s: new Object() } : { s: Object; } > : ^^^^^^^^^^^^^^ >s : Object @@ -45,19 +45,19 @@ r.s && r.s.toFixed(); // would blow up at runtime >r.s : number > : ^^^^^^ >r : { s?: number; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >s : number > : ^^^^^^ >r.s.toFixed() : string > : ^^^^^^ >r.s.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >r.s : number > : ^^^^^^ >r : { s?: number; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >s : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/superAccessCastedCall.types b/tests/baselines/reference/superAccessCastedCall.types index bb5fd6ecefb85..cdb9372379642 100644 --- a/tests/baselines/reference/superAccessCastedCall.types +++ b/tests/baselines/reference/superAccessCastedCall.types @@ -48,22 +48,22 @@ class Bar extends Foo { >super.bar() : void > : ^^^^ >super.bar : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >super : Foo > : ^^^ >bar : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ (super.bar as any)(); >(super.bar as any)() : any >(super.bar as any) : any >super.bar as any : any >super.bar : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >super : Foo > : ^^^ >bar : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } } diff --git a/tests/baselines/reference/superCallParameterContextualTyping1.types b/tests/baselines/reference/superCallParameterContextualTyping1.types index 122b32826f1b2..cd82d3fdff992 100644 --- a/tests/baselines/reference/superCallParameterContextualTyping1.types +++ b/tests/baselines/reference/superCallParameterContextualTyping1.types @@ -37,10 +37,10 @@ class B extends A { >value.toExponential() : string > : ^^^^^^ >value.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >value : number > : ^^^^^^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } diff --git a/tests/baselines/reference/superCalls.types b/tests/baselines/reference/superCalls.types index c00ff7b88d8da..4d589be9c8ae8 100644 --- a/tests/baselines/reference/superCalls.types +++ b/tests/baselines/reference/superCalls.types @@ -58,7 +58,7 @@ class Derived extends Base { >v() : void > : ^^^^ >v : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } } diff --git a/tests/baselines/reference/superElementAccess.types b/tests/baselines/reference/superElementAccess.types index 37a972a7bdb7e..80aa6983493c2 100644 --- a/tests/baselines/reference/superElementAccess.types +++ b/tests/baselines/reference/superElementAccess.types @@ -75,7 +75,7 @@ class MyDerived extends MyBase { >l2 : any >super["m1"].bind(this) : any >super["m1"].bind : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >super["m1"] : (a: string) => string > : ^ ^^ ^^^^^^^^^^^ >super : MyBase @@ -83,7 +83,7 @@ class MyDerived extends MyBase { >"m1" : "m1" > : ^^^^ >bind : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >this : this > : ^^^^ @@ -102,15 +102,15 @@ class MyDerived extends MyBase { super["m2"].bind(this); // Should error, instance property, not a public instance member function >super["m2"].bind(this) : any >super["m2"].bind : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >super["m2"] : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >super : MyBase > : ^^^^^^ >"m2" : "m2" > : ^^^^ >bind : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >this : this > : ^^^^ diff --git a/tests/baselines/reference/superErrors.types b/tests/baselines/reference/superErrors.types index 4dca74f95e5fb..749d4be7827c5 100644 --- a/tests/baselines/reference/superErrors.types +++ b/tests/baselines/reference/superErrors.types @@ -144,11 +144,11 @@ class RegisteredUser extends User { >super.sayHello() : void > : ^^^^ >super.sayHello : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >super : User > : ^^^^ >sayHello : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ // super call in a lambda in an inner function in a method function inner() { diff --git a/tests/baselines/reference/superHasMethodsFromMergedInterface.types b/tests/baselines/reference/superHasMethodsFromMergedInterface.types index 650a159d0cdf3..44e99381f1880 100644 --- a/tests/baselines/reference/superHasMethodsFromMergedInterface.types +++ b/tests/baselines/reference/superHasMethodsFromMergedInterface.types @@ -25,11 +25,11 @@ class Sub extends C { >super.m2() : void > : ^^^^ >super.m2 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >super : C > : ^ >m2 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } } diff --git a/tests/baselines/reference/superInCatchBlock1.types b/tests/baselines/reference/superInCatchBlock1.types index 40685b5f3c2d3..3823cb1dd3e96 100644 --- a/tests/baselines/reference/superInCatchBlock1.types +++ b/tests/baselines/reference/superInCatchBlock1.types @@ -28,11 +28,11 @@ class B extends A { >super.m() : void > : ^^^^ >super.m : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >super : A > : ^ >m : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } } } diff --git a/tests/baselines/reference/superInLambdas.types b/tests/baselines/reference/superInLambdas.types index c1a1860e72c6d..dd99d71f2cbda 100644 --- a/tests/baselines/reference/superInLambdas.types +++ b/tests/baselines/reference/superInLambdas.types @@ -43,11 +43,11 @@ class RegisteredUser extends User { >super.sayHello() : void > : ^^^^ >super.sayHello : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >super : User > : ^^^^ >sayHello : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ // super call in a lambda in a constructor var x = () => super.sayHello(); @@ -58,11 +58,11 @@ class RegisteredUser extends User { >super.sayHello() : void > : ^^^^ >super.sayHello : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >super : User > : ^^^^ >sayHello : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } sayHello(): void { >sayHello : () => void @@ -73,11 +73,11 @@ class RegisteredUser extends User { >super.sayHello() : void > : ^^^^ >super.sayHello : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >super : User > : ^^^^ >sayHello : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ // super call in a lambda in a method var x = () => super.sayHello(); @@ -88,11 +88,11 @@ class RegisteredUser extends User { >super.sayHello() : void > : ^^^^ >super.sayHello : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >super : User > : ^^^^ >sayHello : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } } class RegisteredUser2 extends User { @@ -127,11 +127,11 @@ class RegisteredUser2 extends User { >super.sayHello() : void > : ^^^^ >super.sayHello : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >super : User > : ^^^^ >sayHello : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } sayHello(): void { >sayHello : () => void @@ -150,11 +150,11 @@ class RegisteredUser2 extends User { >super.sayHello() : void > : ^^^^ >super.sayHello : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >super : User > : ^^^^ >sayHello : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } } diff --git a/tests/baselines/reference/superPropertyAccess.types b/tests/baselines/reference/superPropertyAccess.types index 67307bded180e..3ce3267ade197 100644 --- a/tests/baselines/reference/superPropertyAccess.types +++ b/tests/baselines/reference/superPropertyAccess.types @@ -77,7 +77,7 @@ class MyDerived extends MyBase { >super.m1.bind(this) : any > : ^^^ >super.m1.bind : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >super.m1 : (a: string) => string > : ^ ^^ ^^^^^^^^^^^ >super : MyBase @@ -85,7 +85,7 @@ class MyDerived extends MyBase { >m1 : (a: string) => string > : ^ ^^ ^^^^^^^^^^^ >bind : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >this : this > : ^^^^ @@ -105,15 +105,15 @@ class MyDerived extends MyBase { >super.m2.bind(this) : any > : ^^^ >super.m2.bind : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >super.m2 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >super : MyBase > : ^^^^^^ >m2 : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >bind : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >this : this > : ^^^^ diff --git a/tests/baselines/reference/superPropertyAccessInSuperCall01.types b/tests/baselines/reference/superPropertyAccessInSuperCall01.types index 12bf1338cb174..9873094c38072 100644 --- a/tests/baselines/reference/superPropertyAccessInSuperCall01.types +++ b/tests/baselines/reference/superPropertyAccessInSuperCall01.types @@ -31,10 +31,10 @@ class B extends A { >super.blah() : string > : ^^^^^^ >super.blah : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >super : A > : ^ >blah : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } diff --git a/tests/baselines/reference/superPropertyAccess_ES5.types b/tests/baselines/reference/superPropertyAccess_ES5.types index 0dcb537470796..e18478006e2aa 100644 --- a/tests/baselines/reference/superPropertyAccess_ES5.types +++ b/tests/baselines/reference/superPropertyAccess_ES5.types @@ -37,11 +37,11 @@ class MyDerived extends MyBase { >super.getValue() : number > : ^^^^^^ >super.getValue : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >super : MyBase > : ^^^^^^ >getValue : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ const f2 = super.value; >f2 : number diff --git a/tests/baselines/reference/superPropertyAccess_ES6.types b/tests/baselines/reference/superPropertyAccess_ES6.types index 81b5b6bf0bfe8..4fa6d804dc43a 100644 --- a/tests/baselines/reference/superPropertyAccess_ES6.types +++ b/tests/baselines/reference/superPropertyAccess_ES6.types @@ -37,11 +37,11 @@ class MyDerived extends MyBase { >super.getValue() : number > : ^^^^^^ >super.getValue : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >super : MyBase > : ^^^^^^ >getValue : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ const f2 = super.value; >f2 : number diff --git a/tests/baselines/reference/superPropertyInConstructorBeforeSuperCall.types b/tests/baselines/reference/superPropertyInConstructorBeforeSuperCall.types index aac2b20b69bac..d7849841a7a0e 100644 --- a/tests/baselines/reference/superPropertyInConstructorBeforeSuperCall.types +++ b/tests/baselines/reference/superPropertyInConstructorBeforeSuperCall.types @@ -26,11 +26,11 @@ class C1 extends B { >super.x() : string > : ^^^^^^ >super.x : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >super : B > : ^ >x : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ super(); >super() : void @@ -54,10 +54,10 @@ class C2 extends B { >super.x() : string > : ^^^^^^ >super.x : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >super : B > : ^ >x : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } diff --git a/tests/baselines/reference/superSymbolIndexedAccess1.types b/tests/baselines/reference/superSymbolIndexedAccess1.types index a64f4a8778e9d..122a3be1e875c 100644 --- a/tests/baselines/reference/superSymbolIndexedAccess1.types +++ b/tests/baselines/reference/superSymbolIndexedAccess1.types @@ -7,11 +7,11 @@ var symbol = Symbol.for('myThing'); >Symbol.for('myThing') : symbol > : ^^^^^^ >Symbol.for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Symbol : SymbolConstructor > : ^^^^^^^^^^^^^^^^^ >for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'myThing' : "myThing" > : ^^^^^^^^^ diff --git a/tests/baselines/reference/superSymbolIndexedAccess3.types b/tests/baselines/reference/superSymbolIndexedAccess3.types index 14bdfadc07368..d730df2549406 100644 --- a/tests/baselines/reference/superSymbolIndexedAccess3.types +++ b/tests/baselines/reference/superSymbolIndexedAccess3.types @@ -7,11 +7,11 @@ var symbol = Symbol.for('myThing'); >Symbol.for('myThing') : symbol > : ^^^^^^ >Symbol.for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Symbol : SymbolConstructor > : ^^^^^^^^^^^^^^^^^ >for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'myThing' : "myThing" > : ^^^^^^^^^ diff --git a/tests/baselines/reference/superSymbolIndexedAccess4.types b/tests/baselines/reference/superSymbolIndexedAccess4.types index f3d7f7e5b48b3..9299444b543ae 100644 --- a/tests/baselines/reference/superSymbolIndexedAccess4.types +++ b/tests/baselines/reference/superSymbolIndexedAccess4.types @@ -7,11 +7,11 @@ var symbol = Symbol.for('myThing'); >Symbol.for('myThing') : symbol > : ^^^^^^ >Symbol.for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Symbol : SymbolConstructor > : ^^^^^^^^^^^^^^^^^ >for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'myThing' : "myThing" > : ^^^^^^^^^ diff --git a/tests/baselines/reference/switchCaseCircularRefeference.types b/tests/baselines/reference/switchCaseCircularRefeference.types index 3a730a2bf2a99..cf253d61727bf 100644 --- a/tests/baselines/reference/switchCaseCircularRefeference.types +++ b/tests/baselines/reference/switchCaseCircularRefeference.types @@ -21,13 +21,13 @@ function f(x: {a: "A", b} | {a: "C", e}) { >x.a : "A" | "C" > : ^^^^^^^^^ >x : { a: "A"; b: any; } | { a: "C"; e: any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ >a : "A" | "C" > : ^^^^^^^^^ case x: >x : { a: "A"; b: any; } | { a: "C"; e: any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ break; } diff --git a/tests/baselines/reference/switchWithConstrainedTypeVariable.types b/tests/baselines/reference/switchWithConstrainedTypeVariable.types index e6136c6932163..478e1899b3203 100644 --- a/tests/baselines/reference/switchWithConstrainedTypeVariable.types +++ b/tests/baselines/reference/switchWithConstrainedTypeVariable.types @@ -5,7 +5,7 @@ function function1(key: T) { >function1 : (key: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >key : T > : ^ @@ -21,11 +21,11 @@ function function1(key: T) { >key.toLowerCase() : string > : ^^^^^^ >key.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >key : "a" > : ^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ break; default: @@ -33,11 +33,11 @@ function function1(key: T) { >key.toLowerCase() : string > : ^^^^^^ >key.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >key : "b" > : ^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ break; } diff --git a/tests/baselines/reference/symbolLinkDeclarationEmitModuleNames.types b/tests/baselines/reference/symbolLinkDeclarationEmitModuleNames.types index 852d3758247f8..5e19bc3755743 100644 --- a/tests/baselines/reference/symbolLinkDeclarationEmitModuleNames.types +++ b/tests/baselines/reference/symbolLinkDeclarationEmitModuleNames.types @@ -24,11 +24,11 @@ export const CONTROLLER_CLASS = BindingKey.create(null as any); >BindingKey.create(null as any) : BindingKey > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >BindingKey.create : >(ctor: T) => BindingKey -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ >BindingKey : typeof BindingKey > : ^^^^^^^^^^^^^^^^^ >create : >(ctor: T) => BindingKey -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ >null as any : any === monorepo/context/src/value-promise.ts === @@ -53,7 +53,7 @@ export class BindingKey { static create>(ctor: T) { >create : >(ctor: T) => BindingKey -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ >ctor : T > : ^ diff --git a/tests/baselines/reference/symbolLinkDeclarationEmitModuleNamesRootDir.types b/tests/baselines/reference/symbolLinkDeclarationEmitModuleNamesRootDir.types index 4eb932788fa62..8b1ba367165b6 100644 --- a/tests/baselines/reference/symbolLinkDeclarationEmitModuleNamesRootDir.types +++ b/tests/baselines/reference/symbolLinkDeclarationEmitModuleNamesRootDir.types @@ -24,11 +24,11 @@ export const CONTROLLER_CLASS = BindingKey.create(null as any); >BindingKey.create(null as any) : BindingKey > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >BindingKey.create : >(ctor: T) => BindingKey -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^ >BindingKey : typeof BindingKey > : ^^^^^^^^^^^^^^^^^ >create : >(ctor: T) => BindingKey -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^ >null as any : any === /monorepo/context/src/value-promise.d.ts === @@ -53,7 +53,7 @@ export declare class BindingKey { static create>(ctor: T): BindingKey; >create : >(ctor: T) => BindingKey -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >ctor : T > : ^ } diff --git a/tests/baselines/reference/symbolMergeValueAndImportedType.types b/tests/baselines/reference/symbolMergeValueAndImportedType.types index 15bc0f89945ec..b3266e750ca62 100644 --- a/tests/baselines/reference/symbolMergeValueAndImportedType.types +++ b/tests/baselines/reference/symbolMergeValueAndImportedType.types @@ -15,11 +15,11 @@ console.log('X is ' + X); >console.log('X is ' + X) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'X is ' + X : string > : ^^^^^^ >'X is ' : "X is " diff --git a/tests/baselines/reference/symbolProperty13.types b/tests/baselines/reference/symbolProperty13.types index 3220c3b0a0828..03d2e46ca1a48 100644 --- a/tests/baselines/reference/symbolProperty13.types +++ b/tests/baselines/reference/symbolProperty13.types @@ -32,31 +32,31 @@ interface I { declare function foo(i: I): I; >foo : { (i: I): I; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >i : I > : ^ declare function foo(a: any): any; >foo : { (i: I): I; (a: any): any; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function bar(i: C): C; >bar : { (i: C): C; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >i : C > : ^ declare function bar(a: any): any; >bar : { (i: C): C; (a: any): any; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any foo(new C); >foo(new C) : I > : ^ >foo : { (i: I): I; (a: any): any; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >new C : C > : ^ >C : typeof C @@ -69,7 +69,7 @@ var i: I; bar(i); >bar(i) : any >bar : { (i: C): C; (a: any): any; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >i : I > : ^ diff --git a/tests/baselines/reference/symbolProperty14.types b/tests/baselines/reference/symbolProperty14.types index 0fd2bdd63aca8..6a85f174bc504 100644 --- a/tests/baselines/reference/symbolProperty14.types +++ b/tests/baselines/reference/symbolProperty14.types @@ -32,31 +32,31 @@ interface I { declare function foo(i: I): I; >foo : { (i: I): I; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >i : I > : ^ declare function foo(a: any): any; >foo : { (i: I): I; (a: any): any; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function bar(i: C): C; >bar : { (i: C): C; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >i : C > : ^ declare function bar(a: any): any; >bar : { (i: C): C; (a: any): any; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any foo(new C); >foo(new C) : I > : ^ >foo : { (i: I): I; (a: any): any; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >new C : C > : ^ >C : typeof C @@ -69,7 +69,7 @@ var i: I; bar(i); >bar(i) : any >bar : { (i: C): C; (a: any): any; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >i : I > : ^ diff --git a/tests/baselines/reference/symbolProperty15.types b/tests/baselines/reference/symbolProperty15.types index 724f1e6ec1188..ccb9db540cc99 100644 --- a/tests/baselines/reference/symbolProperty15.types +++ b/tests/baselines/reference/symbolProperty15.types @@ -20,30 +20,30 @@ interface I { declare function foo(i: I): I; >foo : { (i: I): I; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >i : I > : ^ declare function foo(a: any): any; >foo : { (i: I): I; (a: any): any; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function bar(i: C): C; >bar : { (i: C): C; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >i : C > : ^ declare function bar(a: any): any; >bar : { (i: C): C; (a: any): any; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any foo(new C); >foo(new C) : any >foo : { (i: I): I; (a: any): any; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >new C : C > : ^ >C : typeof C @@ -57,7 +57,7 @@ bar(i); >bar(i) : C > : ^ >bar : { (i: C): C; (a: any): any; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >i : I > : ^ diff --git a/tests/baselines/reference/symbolProperty16.types b/tests/baselines/reference/symbolProperty16.types index 0a58f4498342a..9a47056b7ebfb 100644 --- a/tests/baselines/reference/symbolProperty16.types +++ b/tests/baselines/reference/symbolProperty16.types @@ -31,30 +31,30 @@ interface I { declare function foo(i: I): I; >foo : { (i: I): I; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >i : I > : ^ declare function foo(a: any): any; >foo : { (i: I): I; (a: any): any; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any declare function bar(i: C): C; >bar : { (i: C): C; (a: any): any; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >i : C > : ^ declare function bar(a: any): any; >bar : { (i: C): C; (a: any): any; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any foo(new C); >foo(new C) : any >foo : { (i: I): I; (a: any): any; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >new C : C > : ^ >C : typeof C @@ -67,7 +67,7 @@ var i: I; bar(i); >bar(i) : any >bar : { (i: C): C; (a: any): any; } -> : ^^^ ^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >i : I > : ^ diff --git a/tests/baselines/reference/symbolProperty21.types b/tests/baselines/reference/symbolProperty21.types index 19792d05f3fda..12c806099fec0 100644 --- a/tests/baselines/reference/symbolProperty21.types +++ b/tests/baselines/reference/symbolProperty21.types @@ -37,7 +37,7 @@ foo({ >foo({ [Symbol.isConcatSpreadable]: "", [Symbol.toPrimitive]: 0, [Symbol.unscopables]: true}) : { t: boolean; u: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (p: I) => { t: T; u: U; } -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >{ [Symbol.isConcatSpreadable]: "", [Symbol.toPrimitive]: 0, [Symbol.unscopables]: true} : { [Symbol.isConcatSpreadable]: string; [Symbol.toPrimitive]: number; [Symbol.unscopables]: true; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/symbolProperty22.types b/tests/baselines/reference/symbolProperty22.types index cd0fbf012f1e8..6e95426ea4b53 100644 --- a/tests/baselines/reference/symbolProperty22.types +++ b/tests/baselines/reference/symbolProperty22.types @@ -27,7 +27,7 @@ foo("", { [Symbol.unscopables]: s => s.length }); >foo("", { [Symbol.unscopables]: s => s.length }) : number > : ^^^^^^ >foo : (p1: T, p2: I) => U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >"" : "" > : ^^ >{ [Symbol.unscopables]: s => s.length } : { [Symbol.unscopables]: (s: string) => number; } diff --git a/tests/baselines/reference/symbolProperty39.types b/tests/baselines/reference/symbolProperty39.types index e545fddc025de..b4344581df000 100644 --- a/tests/baselines/reference/symbolProperty39.types +++ b/tests/baselines/reference/symbolProperty39.types @@ -7,7 +7,7 @@ class C { [Symbol.iterator](x: string): string; >[Symbol.iterator] : { (x: string): string; (x: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Symbol.iterator : unique symbol > : ^^^^^^^^^^^^^ >Symbol : SymbolConstructor @@ -19,7 +19,7 @@ class C { [Symbol.iterator](x: number): number; >[Symbol.iterator] : { (x: string): string; (x: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Symbol.iterator : unique symbol > : ^^^^^^^^^^^^^ >Symbol : SymbolConstructor @@ -31,7 +31,7 @@ class C { [Symbol.iterator](x: any) { >[Symbol.iterator] : { (x: string): string; (x: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Symbol.iterator : unique symbol > : ^^^^^^^^^^^^^ >Symbol : SymbolConstructor @@ -47,7 +47,7 @@ class C { } [Symbol.iterator](x: any) { >[Symbol.iterator] : { (x: string): string; (x: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Symbol.iterator : unique symbol > : ^^^^^^^^^^^^^ >Symbol : SymbolConstructor diff --git a/tests/baselines/reference/symbolProperty40.types b/tests/baselines/reference/symbolProperty40.types index 49f286dd23e7f..e23f4b0a85a50 100644 --- a/tests/baselines/reference/symbolProperty40.types +++ b/tests/baselines/reference/symbolProperty40.types @@ -7,7 +7,7 @@ class C { [Symbol.iterator](x: string): string; >[Symbol.iterator] : { (x: string): string; (x: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Symbol.iterator : unique symbol > : ^^^^^^^^^^^^^ >Symbol : SymbolConstructor @@ -19,7 +19,7 @@ class C { [Symbol.iterator](x: number): number; >[Symbol.iterator] : { (x: string): string; (x: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Symbol.iterator : unique symbol > : ^^^^^^^^^^^^^ >Symbol : SymbolConstructor @@ -31,7 +31,7 @@ class C { [Symbol.iterator](x: any) { >[Symbol.iterator] : { (x: string): string; (x: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Symbol.iterator : unique symbol > : ^^^^^^^^^^^^^ >Symbol : SymbolConstructor @@ -58,7 +58,7 @@ c[Symbol.iterator](""); >c[Symbol.iterator]("") : string > : ^^^^^^ >c[Symbol.iterator] : { (x: string): string; (x: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c : C > : ^ >Symbol.iterator : unique symbol @@ -74,7 +74,7 @@ c[Symbol.iterator](0); >c[Symbol.iterator](0) : number > : ^^^^^^ >c[Symbol.iterator] : { (x: string): string; (x: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c : C > : ^ >Symbol.iterator : unique symbol diff --git a/tests/baselines/reference/symbolProperty41.types b/tests/baselines/reference/symbolProperty41.types index 8ccbd226ba847..2af10a276c17f 100644 --- a/tests/baselines/reference/symbolProperty41.types +++ b/tests/baselines/reference/symbolProperty41.types @@ -7,7 +7,7 @@ class C { [Symbol.iterator](x: string): { x: string }; >[Symbol.iterator] : { (x: string): { x: string; }; (x: "hello"): { x: string; hello: string; }; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Symbol.iterator : unique symbol > : ^^^^^^^^^^^^^ >Symbol : SymbolConstructor @@ -21,7 +21,7 @@ class C { [Symbol.iterator](x: "hello"): { x: string; hello: string }; >[Symbol.iterator] : { (x: string): { x: string; }; (x: "hello"): { x: string; hello: string; }; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Symbol.iterator : unique symbol > : ^^^^^^^^^^^^^ >Symbol : SymbolConstructor @@ -37,7 +37,7 @@ class C { [Symbol.iterator](x: any) { >[Symbol.iterator] : { (x: string): { x: string; }; (x: "hello"): { x: string; hello: string; }; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Symbol.iterator : unique symbol > : ^^^^^^^^^^^^^ >Symbol : SymbolConstructor @@ -62,9 +62,9 @@ var c = new C; c[Symbol.iterator](""); >c[Symbol.iterator]("") : { x: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >c[Symbol.iterator] : { (x: string): { x: string; }; (x: "hello"): { x: string; hello: string; }; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c : C > : ^ >Symbol.iterator : unique symbol @@ -78,9 +78,9 @@ c[Symbol.iterator](""); c[Symbol.iterator]("hello"); >c[Symbol.iterator]("hello") : { x: string; hello: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^^ >c[Symbol.iterator] : { (x: string): { x: string; }; (x: "hello"): { x: string; hello: string; }; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c : C > : ^ >Symbol.iterator : unique symbol diff --git a/tests/baselines/reference/symbolProperty42.types b/tests/baselines/reference/symbolProperty42.types index 049a355035923..9bdce0407e9e2 100644 --- a/tests/baselines/reference/symbolProperty42.types +++ b/tests/baselines/reference/symbolProperty42.types @@ -31,7 +31,7 @@ class C { [Symbol.iterator](x: any) { >[Symbol.iterator] : { (x: string): string; (x: any): any; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ >Symbol.iterator : unique symbol > : ^^^^^^^^^^^^^ >Symbol : SymbolConstructor diff --git a/tests/baselines/reference/symbolProperty43.types b/tests/baselines/reference/symbolProperty43.types index 71932711588c9..cc684158f8cfa 100644 --- a/tests/baselines/reference/symbolProperty43.types +++ b/tests/baselines/reference/symbolProperty43.types @@ -7,7 +7,7 @@ class C { [Symbol.iterator](x: string): string; >[Symbol.iterator] : { (x: string): string; (x: number): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Symbol.iterator : unique symbol > : ^^^^^^^^^^^^^ >Symbol : SymbolConstructor @@ -19,7 +19,7 @@ class C { [Symbol.iterator](x: number): number; >[Symbol.iterator] : { (x: string): string; (x: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Symbol.iterator : unique symbol > : ^^^^^^^^^^^^^ >Symbol : SymbolConstructor diff --git a/tests/baselines/reference/symbolProperty53.types b/tests/baselines/reference/symbolProperty53.types index 01d4b4733c2a6..c3d15cfd91c2d 100644 --- a/tests/baselines/reference/symbolProperty53.types +++ b/tests/baselines/reference/symbolProperty53.types @@ -11,11 +11,11 @@ var obj = { >[Symbol.for] : number > : ^^^^^^ >Symbol.for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Symbol : SymbolConstructor > : ^^^^^^^^^^^^^^^^^ >for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ @@ -27,9 +27,9 @@ obj[Symbol.for]; >obj : {} > : ^^ >Symbol.for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Symbol : SymbolConstructor > : ^^^^^^^^^^^^^^^^^ >for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ diff --git a/tests/baselines/reference/symbolProperty59.types b/tests/baselines/reference/symbolProperty59.types index e7bf21cae3c88..66df636fe1a17 100644 --- a/tests/baselines/reference/symbolProperty59.types +++ b/tests/baselines/reference/symbolProperty59.types @@ -5,10 +5,10 @@ interface I { [Symbol.keyFor]: string; >[Symbol.keyFor] : string > : ^^^^^^ ->Symbol.keyFor : (sym: symbol) => string -> : ^ ^^ ^^^^^^^^^^^ +>Symbol.keyFor : (sym: symbol) => string | undefined +> : ^ ^^ ^^^^^ >Symbol : SymbolConstructor > : ^^^^^^^^^^^^^^^^^ ->keyFor : (sym: symbol) => string -> : ^ ^^ ^^^^^^^^^^^ +>keyFor : (sym: symbol) => string | undefined +> : ^ ^^ ^^^^^ } diff --git a/tests/baselines/reference/symbolProperty61.types b/tests/baselines/reference/symbolProperty61.types index 9178278c85f0c..81c46783d7f98 100644 --- a/tests/baselines/reference/symbolProperty61.types +++ b/tests/baselines/reference/symbolProperty61.types @@ -48,7 +48,7 @@ export class MyObservable { >next(this._val) : void > : ^^^^ >next : (val: T) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >this._val : T > : ^ >this : this @@ -92,15 +92,15 @@ type InteropObservable = { function from(obs: InteropObservable) { >from : (obs: InteropObservable) => { subscribe(next: (val: T) => void): void; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^ ^^^ >obs : InteropObservable > : ^^^^^^^^^^^^^^^^^^^^ return obs[Symbol.obs]() >obs[Symbol.obs]() : { subscribe(next: (val: T) => void): void; } -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^ ^^^ >obs[Symbol.obs] : () => { subscribe(next: (val: T) => void): void; } -> : ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^ >obs : InteropObservable > : ^^^^^^^^^^^^^^^^^^^^ >Symbol.obs : unique symbol @@ -113,9 +113,9 @@ function from(obs: InteropObservable) { from(new MyObservable(42)) >from(new MyObservable(42)) : { subscribe(next: (val: number) => void): void; } -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ ^^^ ^^^ >from : (obs: InteropObservable) => { subscribe(next: (val: T) => void): void; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^ ^^^ >new MyObservable(42) : MyObservable > : ^^^^^^^^^^^^^^^^^^^^ >MyObservable : typeof MyObservable diff --git a/tests/baselines/reference/symbolType10.types b/tests/baselines/reference/symbolType10.types index e45e17df8cd2c..89fec70e62c04 100644 --- a/tests/baselines/reference/symbolType10.types +++ b/tests/baselines/reference/symbolType10.types @@ -7,11 +7,11 @@ var s = Symbol.for("bitwise"); >Symbol.for("bitwise") : symbol > : ^^^^^^ >Symbol.for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Symbol : SymbolConstructor > : ^^^^^^^^^^^^^^^^^ >for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"bitwise" : "bitwise" > : ^^^^^^^^^ diff --git a/tests/baselines/reference/symbolType11.types b/tests/baselines/reference/symbolType11.types index ebf5a70b621f6..3c61d14d9d1e5 100644 --- a/tests/baselines/reference/symbolType11.types +++ b/tests/baselines/reference/symbolType11.types @@ -7,11 +7,11 @@ var s = Symbol.for("logical"); >Symbol.for("logical") : symbol > : ^^^^^^ >Symbol.for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Symbol : SymbolConstructor > : ^^^^^^^^^^^^^^^^^ >for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"logical" : "logical" > : ^^^^^^^^^ diff --git a/tests/baselines/reference/symbolType12.types b/tests/baselines/reference/symbolType12.types index 962b80ad5e4a1..420a215e93da0 100644 --- a/tests/baselines/reference/symbolType12.types +++ b/tests/baselines/reference/symbolType12.types @@ -7,11 +7,11 @@ var s = Symbol.for("assign"); >Symbol.for("assign") : symbol > : ^^^^^^ >Symbol.for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Symbol : SymbolConstructor > : ^^^^^^^^^^^^^^^^^ >for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"assign" : "assign" > : ^^^^^^^^ diff --git a/tests/baselines/reference/symbolType4.types b/tests/baselines/reference/symbolType4.types index 1bbbb14e50d79..bffbe5061d4ab 100644 --- a/tests/baselines/reference/symbolType4.types +++ b/tests/baselines/reference/symbolType4.types @@ -7,11 +7,11 @@ var s = Symbol.for("postfix"); >Symbol.for("postfix") : symbol > : ^^^^^^ >Symbol.for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Symbol : SymbolConstructor > : ^^^^^^^^^^^^^^^^^ >for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"postfix" : "postfix" > : ^^^^^^^^^ diff --git a/tests/baselines/reference/symbolType5.types b/tests/baselines/reference/symbolType5.types index a618ad8aec5b6..2ffbe19c154cb 100644 --- a/tests/baselines/reference/symbolType5.types +++ b/tests/baselines/reference/symbolType5.types @@ -7,11 +7,11 @@ var s = Symbol.for("multiply"); >Symbol.for("multiply") : symbol > : ^^^^^^ >Symbol.for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Symbol : SymbolConstructor > : ^^^^^^^^^^^^^^^^^ >for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"multiply" : "multiply" > : ^^^^^^^^^^ diff --git a/tests/baselines/reference/symbolType6.types b/tests/baselines/reference/symbolType6.types index 801949f7fa159..0679be8e342b6 100644 --- a/tests/baselines/reference/symbolType6.types +++ b/tests/baselines/reference/symbolType6.types @@ -7,11 +7,11 @@ var s = Symbol.for("add"); >Symbol.for("add") : symbol > : ^^^^^^ >Symbol.for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Symbol : SymbolConstructor > : ^^^^^^^^^^^^^^^^^ >for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"add" : "add" > : ^^^^^ diff --git a/tests/baselines/reference/symbolType7.types b/tests/baselines/reference/symbolType7.types index 15e7b2991936c..5659e1fe786df 100644 --- a/tests/baselines/reference/symbolType7.types +++ b/tests/baselines/reference/symbolType7.types @@ -7,11 +7,11 @@ var s = Symbol.for("shift"); >Symbol.for("shift") : symbol > : ^^^^^^ >Symbol.for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Symbol : SymbolConstructor > : ^^^^^^^^^^^^^^^^^ >for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"shift" : "shift" > : ^^^^^^^ diff --git a/tests/baselines/reference/symbolType8.types b/tests/baselines/reference/symbolType8.types index 6232c7bf58323..e102fc5781a07 100644 --- a/tests/baselines/reference/symbolType8.types +++ b/tests/baselines/reference/symbolType8.types @@ -7,11 +7,11 @@ var s = Symbol.for("compare"); >Symbol.for("compare") : symbol > : ^^^^^^ >Symbol.for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Symbol : SymbolConstructor > : ^^^^^^^^^^^^^^^^^ >for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"compare" : "compare" > : ^^^^^^^^^ diff --git a/tests/baselines/reference/symbolType9.types b/tests/baselines/reference/symbolType9.types index 0743a6c98d45a..700f2d41d2833 100644 --- a/tests/baselines/reference/symbolType9.types +++ b/tests/baselines/reference/symbolType9.types @@ -7,11 +7,11 @@ var s = Symbol.for("equal"); >Symbol.for("equal") : symbol > : ^^^^^^ >Symbol.for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Symbol : SymbolConstructor > : ^^^^^^^^^^^^^^^^^ >for : (key: string) => symbol -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"equal" : "equal" > : ^^^^^^^ diff --git a/tests/baselines/reference/symlinkedWorkspaceDependenciesNoDirectLinkGeneratesDeepNonrelativeName.types b/tests/baselines/reference/symlinkedWorkspaceDependenciesNoDirectLinkGeneratesDeepNonrelativeName.types index 1bd751cb42549..3f6056331da57 100644 --- a/tests/baselines/reference/symlinkedWorkspaceDependenciesNoDirectLinkGeneratesDeepNonrelativeName.types +++ b/tests/baselines/reference/symlinkedWorkspaceDependenciesNoDirectLinkGeneratesDeepNonrelativeName.types @@ -20,13 +20,13 @@ export function create(): Foo; === workspace/packageB/index.d.ts === import { create } from "package-a"; >create : () => import("workspace/packageA/foo").Foo -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ export declare function invoke(): ReturnType; >invoke : () => ReturnType > : ^^^^^^ >create : () => import("workspace/packageA/foo").Foo -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ === workspace/packageC/index.ts === import * as pkg from "package-b"; @@ -38,10 +38,10 @@ export const a = pkg.invoke(); > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >pkg.invoke() : import("workspace/packageA/foo").Foo > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->pkg.invoke : () => import("workspace/packageA/foo").Foo -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>pkg.invoke : () => ReturnType +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >pkg : typeof pkg > : ^^^^^^^^^^ ->invoke : () => import("workspace/packageA/foo").Foo -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>invoke : () => ReturnType +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ diff --git a/tests/baselines/reference/symlinkedWorkspaceDependenciesNoDirectLinkGeneratesNonrelativeName.types b/tests/baselines/reference/symlinkedWorkspaceDependenciesNoDirectLinkGeneratesNonrelativeName.types index fe2c175a8f2db..2d08fc5f1769c 100644 --- a/tests/baselines/reference/symlinkedWorkspaceDependenciesNoDirectLinkGeneratesNonrelativeName.types +++ b/tests/baselines/reference/symlinkedWorkspaceDependenciesNoDirectLinkGeneratesNonrelativeName.types @@ -28,9 +28,9 @@ export const a = pkg.invoke(); >pkg.invoke() : import("workspace/packageA/index").Foo > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >pkg.invoke : () => import("workspace/packageA/index").Foo -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >pkg : typeof pkg > : ^^^^^^^^^^ >invoke : () => import("workspace/packageA/index").Foo -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ diff --git a/tests/baselines/reference/symlinkedWorkspaceDependenciesNoDirectLinkOptionalGeneratesNonrelativeName.types b/tests/baselines/reference/symlinkedWorkspaceDependenciesNoDirectLinkOptionalGeneratesNonrelativeName.types index 7482ca3c99bb6..1be227e968c6d 100644 --- a/tests/baselines/reference/symlinkedWorkspaceDependenciesNoDirectLinkOptionalGeneratesNonrelativeName.types +++ b/tests/baselines/reference/symlinkedWorkspaceDependenciesNoDirectLinkOptionalGeneratesNonrelativeName.types @@ -28,9 +28,9 @@ export const a = pkg.invoke(); >pkg.invoke() : import("workspace/packageA/index").Foo > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >pkg.invoke : () => import("workspace/packageA/index").Foo -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >pkg : typeof pkg > : ^^^^^^^^^^ >invoke : () => import("workspace/packageA/index").Foo -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ diff --git a/tests/baselines/reference/symlinkedWorkspaceDependenciesNoDirectLinkPeerGeneratesNonrelativeName.types b/tests/baselines/reference/symlinkedWorkspaceDependenciesNoDirectLinkPeerGeneratesNonrelativeName.types index b7ed0b56f06e1..d77f4b7e8f035 100644 --- a/tests/baselines/reference/symlinkedWorkspaceDependenciesNoDirectLinkPeerGeneratesNonrelativeName.types +++ b/tests/baselines/reference/symlinkedWorkspaceDependenciesNoDirectLinkPeerGeneratesNonrelativeName.types @@ -28,9 +28,9 @@ export const a = pkg.invoke(); >pkg.invoke() : import("workspace/packageA/index").Foo > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >pkg.invoke : () => import("workspace/packageA/index").Foo -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >pkg : typeof pkg > : ^^^^^^^^^^ >invoke : () => import("workspace/packageA/index").Foo -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ diff --git a/tests/baselines/reference/syntheticDefaultExportsWithDynamicImports.types b/tests/baselines/reference/syntheticDefaultExportsWithDynamicImports.types index f0a9586f50d13..4210b351073ce 100644 --- a/tests/baselines/reference/syntheticDefaultExportsWithDynamicImports.types +++ b/tests/baselines/reference/syntheticDefaultExportsWithDynamicImports.types @@ -9,30 +9,30 @@ declare function packageExport(x: number): string; export = packageExport; >packageExport : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ === index.ts === import("package").then(({default: foo}) => foo(42)); >import("package").then(({default: foo}) => foo(42)) : Promise > : ^^^^^^^^^^^^^^^ >import("package").then : string; }, TResult2 = never>(onfulfilled?: (value: { default: (x: number) => string; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >import("package") : Promise<{ default: (x: number) => string; }> -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^ >"package" : "package" > : ^^^^^^^^^ >then : string; }, TResult2 = never>(onfulfilled?: (value: { default: (x: number) => string; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >({default: foo}) => foo(42) : ({ default: foo }: { default: (x: number) => string; }) => string -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^ >default : any > : ^^^ >foo : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >foo(42) : string > : ^^^^^^ >foo : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >42 : 42 > : ^^ diff --git a/tests/baselines/reference/systemDefaultImportCallable.types b/tests/baselines/reference/systemDefaultImportCallable.types index 0613b3bd08a2b..6763081fed58c 100644 --- a/tests/baselines/reference/systemDefaultImportCallable.types +++ b/tests/baselines/reference/systemDefaultImportCallable.types @@ -25,26 +25,26 @@ declare module "core-js/fn/string/repeat" { var repeat: typeof core.String.repeat; >repeat : (text: string, count: number) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >core.String.repeat : (text: string, count: number) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >core.String : { repeat(text: string, count: number): string; } -> : ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ >core : typeof core > : ^^^^^^^^^^^ >String : { repeat(text: string, count: number): string; } -> : ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ >repeat : (text: string, count: number) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ export default repeat; >repeat : (text: string, count: number) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ } === greeter.ts === import repeat from "core-js/fn/string/repeat"; >repeat : (text: string, count: number) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ const _: string = repeat(new Date().toUTCString() + " ", 2); >_ : string @@ -52,19 +52,19 @@ const _: string = repeat(new Date().toUTCString() + " ", 2); >repeat(new Date().toUTCString() + " ", 2) : string > : ^^^^^^ >repeat : (text: string, count: number) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >new Date().toUTCString() + " " : string > : ^^^^^^ >new Date().toUTCString() : string > : ^^^^^^ >new Date().toUTCString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >new Date() : Date > : ^^^^ >Date : DateConstructor > : ^^^^^^^^^^^^^^^ >toUTCString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >" " : " " > : ^^^ >2 : 2 diff --git a/tests/baselines/reference/systemJsForInNoException.types b/tests/baselines/reference/systemJsForInNoException.types index 44015a4992b41..ad8e11ca9c644 100644 --- a/tests/baselines/reference/systemJsForInNoException.types +++ b/tests/baselines/reference/systemJsForInNoException.types @@ -21,11 +21,11 @@ for (var key in obj) >console.log(obj[key]) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >obj[key] : error >obj : { a: number; } > : ^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/systemModule15.types b/tests/baselines/reference/systemModule15.types index d8ee0b50cbf38..a648d1aacc58d 100644 --- a/tests/baselines/reference/systemModule15.types +++ b/tests/baselines/reference/systemModule15.types @@ -14,7 +14,7 @@ use(moduleB.value); >use(moduleB.value) : void > : ^^^^ >use : (v: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >moduleB.value : string > : ^^^^^^ >moduleB : typeof moduleB @@ -26,7 +26,7 @@ use(moduleB.moduleC); >use(moduleB.moduleC) : void > : ^^^^ >use : (v: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >moduleB.moduleC : string > : ^^^^^^ >moduleB : typeof moduleB @@ -38,7 +38,7 @@ use(moduleB.moduleCStar); >use(moduleB.moduleCStar) : void > : ^^^^ >use : (v: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >moduleB.moduleCStar : typeof moduleB.moduleCStar > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >moduleB : typeof moduleB diff --git a/tests/baselines/reference/systemModuleAmbientDeclarations.types b/tests/baselines/reference/systemModuleAmbientDeclarations.types index 63f3db7b99064..80b231422f69b 100644 --- a/tests/baselines/reference/systemModuleAmbientDeclarations.types +++ b/tests/baselines/reference/systemModuleAmbientDeclarations.types @@ -29,9 +29,9 @@ export var promise = Promise; export var foo = Foo; >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >Foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ export var c = C; >c : typeof C diff --git a/tests/baselines/reference/taggedPrimitiveNarrowing.types b/tests/baselines/reference/taggedPrimitiveNarrowing.types index 070c75baaa06a..e2fdf7a4288d9 100644 --- a/tests/baselines/reference/taggedPrimitiveNarrowing.types +++ b/tests/baselines/reference/taggedPrimitiveNarrowing.types @@ -44,7 +44,7 @@ function getHashLength(hash: Hash): number { function getHashLength2(hash: string & T): number { >getHashLength2 : (hash: string & T) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >__tag__ : unknown > : ^^^^^^^ >hash : string & T diff --git a/tests/baselines/reference/taggedTemplateContextualTyping1.types b/tests/baselines/reference/taggedTemplateContextualTyping1.types index 027fbec552666..fb0e8c4e3fa9b 100644 --- a/tests/baselines/reference/taggedTemplateContextualTyping1.types +++ b/tests/baselines/reference/taggedTemplateContextualTyping1.types @@ -9,11 +9,11 @@ type FuncType = (x: (p: T) => T) => typeof x; >p : T > : ^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ function tempTag1(templateStrs: TemplateStringsArray, f: FuncType, x: T): T; >tempTag1 : { (templateStrs: TemplateStringsArray, f: FuncType, x: T): T; (templateStrs: TemplateStringsArray, f: FuncType, h: FuncType, x: T_1): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >templateStrs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >f : FuncType @@ -23,7 +23,7 @@ function tempTag1(templateStrs: TemplateStringsArray, f: FuncType, x: T): T; function tempTag1(templateStrs: TemplateStringsArray, f: FuncType, h: FuncType, x: T): T; >tempTag1 : { (templateStrs: TemplateStringsArray, f: FuncType, x: T_1): T_1; (templateStrs: TemplateStringsArray, f: FuncType, h: FuncType, x: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >templateStrs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >f : FuncType @@ -34,8 +34,8 @@ function tempTag1(templateStrs: TemplateStringsArray, f: FuncType, h: FuncTyp > : ^ function tempTag1(...rest: any[]): T { ->tempTag1 : { (templateStrs: TemplateStringsArray, f: FuncType, x: T_1): T_1; (templateStrs: TemplateStringsArray, f: FuncType, h: FuncType, x: T_2): T_2; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>tempTag1 : { (templateStrs: TemplateStringsArray, f: FuncType, x: T_1): T_1; (templateStrs: TemplateStringsArray, f: FuncType, h: FuncType, x: T_1): T_1; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >rest : any[] > : ^^^^^ @@ -51,77 +51,77 @@ function tempTag1(...rest: any[]): T { tempTag1 `${ x => { x(undefined); return x; } }${ 10 }`; >tempTag1 `${ x => { x(undefined); return x; } }${ 10 }` : 10 > : ^^ ->tempTag1 : { (templateStrs: TemplateStringsArray, f: FuncType, x: T): T; (templateStrs: TemplateStringsArray, f: FuncType, h: FuncType, x: T_1): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>tempTag1 : { (templateStrs: TemplateStringsArray, f: FuncType, x: T): T; (templateStrs: TemplateStringsArray, f: FuncType, h: FuncType, x: T): T; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ x => { x(undefined); return x; } }${ 10 }` : string > : ^^^^^^ >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x(undefined) : number > : ^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >10 : 10 > : ^^ tempTag1 `${ x => { x(undefined); return x; } }${ y => { y(undefined); return y; } }${ 10 }`; >tempTag1 `${ x => { x(undefined); return x; } }${ y => { y(undefined); return y; } }${ 10 }` : 10 > : ^^ ->tempTag1 : { (templateStrs: TemplateStringsArray, f: FuncType, x: T): T; (templateStrs: TemplateStringsArray, f: FuncType, h: FuncType, x: T_1): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>tempTag1 : { (templateStrs: TemplateStringsArray, f: FuncType, x: T): T; (templateStrs: TemplateStringsArray, f: FuncType, h: FuncType, x: T): T; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ x => { x(undefined); return x; } }${ y => { y(undefined); return y; } }${ 10 }` : string > : ^^^^^^ >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x(undefined) : number > : ^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >y => { y(undefined); return y; } : (y: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >y : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >y(undefined) : number > : ^^^^^^ >y : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >y : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >10 : 10 > : ^^ tempTag1 `${ x => { x(undefined); return x; } }${ (y: (p: T) => T) => { y(undefined); return y } }${ undefined }`; >tempTag1 `${ x => { x(undefined); return x; } }${ (y: (p: T) => T) => { y(undefined); return y } }${ undefined }` : any ->tempTag1 : { (templateStrs: TemplateStringsArray, f: FuncType, x: T): T; (templateStrs: TemplateStringsArray, f: FuncType, h: FuncType, x: T_1): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>tempTag1 : { (templateStrs: TemplateStringsArray, f: FuncType, x: T): T; (templateStrs: TemplateStringsArray, f: FuncType, h: FuncType, x: T): T; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ x => { x(undefined); return x; } }${ (y: (p: T) => T) => { y(undefined); return y } }${ undefined }` : string > : ^^^^^^ >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x(undefined) : number > : ^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >(y: (p: T) => T) => { y(undefined); return y } : (y: (p: T) => T) => (p: T) => T > : ^ ^^ ^^^^^^ ^^ ^^ ^^^^^ >y : (p: T) => T @@ -131,18 +131,18 @@ tempTag1 `${ x => { x(undefined); return x; } }${ (y: >y(undefined) : number > : ^^^^^^ >y : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >y : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ tempTag1 `${ (x: (p: T) => T) => { x(undefined); return x; } }${ y => { y(undefined); return y; } }${ undefined }`; >tempTag1 `${ (x: (p: T) => T) => { x(undefined); return x; } }${ y => { y(undefined); return y; } }${ undefined }` : any ->tempTag1 : { (templateStrs: TemplateStringsArray, f: FuncType, x: T): T; (templateStrs: TemplateStringsArray, f: FuncType, h: FuncType, x: T_1): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>tempTag1 : { (templateStrs: TemplateStringsArray, f: FuncType, x: T): T; (templateStrs: TemplateStringsArray, f: FuncType, h: FuncType, x: T): T; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ (x: (p: T) => T) => { x(undefined); return x; } }${ y => { y(undefined); return y; } }${ undefined }` : string > : ^^^^^^ >(x: (p: T) => T) => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T @@ -154,23 +154,23 @@ tempTag1 `${ (x: (p: T) => T) => { x(undefined); return x; } }${ y => >x(undefined) : number > : ^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >y => { y(undefined); return y; } : (y: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >y : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >y(undefined) : number > : ^^^^^^ >y : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >y : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ diff --git a/tests/baselines/reference/taggedTemplateContextualTyping2.types b/tests/baselines/reference/taggedTemplateContextualTyping2.types index 233cb08e8338e..692472f3dbb62 100644 --- a/tests/baselines/reference/taggedTemplateContextualTyping2.types +++ b/tests/baselines/reference/taggedTemplateContextualTyping2.types @@ -9,7 +9,7 @@ type FuncType1 = (x: (p: T) => T) => typeof x; >p : T > : ^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ type FuncType2 = (x: (p: T) => T) => typeof x; >FuncType2 : FuncType2 @@ -19,11 +19,11 @@ type FuncType2 = (x: (p: T) => T) => typeof x; >p : T > : ^ >x : (p: T) => T -> : ^^^^ ^^ ^^ ^^^^^^ +> : ^^^^ ^^ ^^ ^^^^^ function tempTag2(templateStrs: TemplateStringsArray, f: FuncType1, x: number): number; >tempTag2 : { (templateStrs: TemplateStringsArray, f: FuncType1, x: number): number; (templateStrs: TemplateStringsArray, f: FuncType2, h: FuncType2, x: string): string; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >templateStrs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >f : FuncType1 @@ -33,7 +33,7 @@ function tempTag2(templateStrs: TemplateStringsArray, f: FuncType1, x: number): function tempTag2(templateStrs: TemplateStringsArray, f: FuncType2, h: FuncType2, x: string): string; >tempTag2 : { (templateStrs: TemplateStringsArray, f: FuncType1, x: number): number; (templateStrs: TemplateStringsArray, f: FuncType2, h: FuncType2, x: string): string; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >templateStrs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >f : FuncType2 @@ -45,7 +45,7 @@ function tempTag2(templateStrs: TemplateStringsArray, f: FuncType2, h: FuncType2 function tempTag2(...rest: any[]): any { >tempTag2 : { (templateStrs: TemplateStringsArray, f: FuncType1, x: number): number; (templateStrs: TemplateStringsArray, f: FuncType2, h: FuncType2, x: string): string; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >rest : any[] > : ^^^^^ @@ -62,21 +62,21 @@ tempTag2 `${ x => { x(undefined); return x; } }${ 0 }`; >tempTag2 `${ x => { x(undefined); return x; } }${ 0 }` : number > : ^^^^^^ >tempTag2 : { (templateStrs: TemplateStringsArray, f: FuncType1, x: number): number; (templateStrs: TemplateStringsArray, f: FuncType2, h: FuncType2, x: string): string; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ x => { x(undefined); return x; } }${ 0 }` : string > : ^^^^^^ >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x(undefined) : number > : ^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x : (p: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >0 : 0 > : ^ @@ -84,31 +84,31 @@ tempTag2 `${ x => { x(undefined); return x; } }${ y => { ytempTag2 `${ x => { x(undefined); return x; } }${ y => { y(null); return y; } }${ "hello" }` : string > : ^^^^^^ >tempTag2 : { (templateStrs: TemplateStringsArray, f: FuncType1, x: number): number; (templateStrs: TemplateStringsArray, f: FuncType2, h: FuncType2, x: string): string; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ x => { x(undefined); return x; } }${ y => { y(null); return y; } }${ "hello" }` : string > : ^^^^^^ >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : (p: T) => T -> : ^^^^ ^^ ^^ ^^^^^^ +> : ^^^^ ^^ ^^ ^^^^^ >x(undefined) : string > : ^^^^^^ >x : (p: T) => T -> : ^^^^ ^^ ^^ ^^^^^^ +> : ^^^^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x : (p: T) => T -> : ^^^^ ^^ ^^ ^^^^^^ +> : ^^^^ ^^ ^^ ^^^^^ >y => { y(null); return y; } : (y: (p: T) => T) => (p: T) => T -> : ^ ^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >y : (p: T) => T -> : ^^^^ ^^ ^^ ^^^^^^ +> : ^^^^ ^^ ^^ ^^^^^ >y(null) : number > : ^^^^^^ >y : (p: T) => T -> : ^^^^ ^^ ^^ ^^^^^^ +> : ^^^^ ^^ ^^ ^^^^^ >y : (p: T) => T -> : ^^^^ ^^ ^^ ^^^^^^ +> : ^^^^ ^^ ^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ @@ -116,21 +116,21 @@ tempTag2 `${ x => { x(undefined); return x; } }${ undefined }${ >tempTag2 `${ x => { x(undefined); return x; } }${ undefined }${ "hello" }` : string > : ^^^^^^ >tempTag2 : { (templateStrs: TemplateStringsArray, f: FuncType1, x: number): number; (templateStrs: TemplateStringsArray, f: FuncType2, h: FuncType2, x: string): string; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ x => { x(undefined); return x; } }${ undefined }${ "hello" }` : string > : ^^^^^^ >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T -> : ^ ^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : (p: T) => T -> : ^^^^ ^^ ^^ ^^^^^^ +> : ^^^^ ^^ ^^ ^^^^^ >x(undefined) : string > : ^^^^^^ >x : (p: T) => T -> : ^^^^ ^^ ^^ ^^^^^^ +> : ^^^^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >x : (p: T) => T -> : ^^^^ ^^ ^^ ^^^^^^ +> : ^^^^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >"hello" : "hello" diff --git a/tests/baselines/reference/taggedTemplateStringWithSymbolExpression01.types b/tests/baselines/reference/taggedTemplateStringWithSymbolExpression01.types index 15e5bebe5bdca..e1a68877eb321 100644 --- a/tests/baselines/reference/taggedTemplateStringWithSymbolExpression01.types +++ b/tests/baselines/reference/taggedTemplateStringWithSymbolExpression01.types @@ -20,7 +20,7 @@ let result: number = foo`${x}`; >foo`${x}` : number > : ^^^^^^ >foo : (template: any, val: symbol) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >`${x}` : string > : ^^^^^^ >x : symbol diff --git a/tests/baselines/reference/taggedTemplateStringsTypeArgumentInference.types b/tests/baselines/reference/taggedTemplateStringsTypeArgumentInference.types index f56d09dfd2952..afa9e6413589d 100644 --- a/tests/baselines/reference/taggedTemplateStringsTypeArgumentInference.types +++ b/tests/baselines/reference/taggedTemplateStringsTypeArgumentInference.types @@ -471,7 +471,7 @@ var x = someGenerics8 `${ someGenerics7 }`; >someGenerics8 `${ someGenerics7 }` : (strs: TemplateStringsArray, a: (a: A) => A, b: (b: B) => B, c: (c: C) => C) => void > : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >someGenerics8 : (strs: TemplateStringsArray, n: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >`${ someGenerics7 }` : string > : ^^^^^^ >someGenerics7 : (strs: TemplateStringsArray, a: (a: A) => A, b: (b: B) => B, c: (c: C) => C) => void @@ -506,7 +506,7 @@ var a9a = someGenerics9 `${ '' }${ 0 }${ [] }`; >someGenerics9 `${ '' }${ 0 }${ [] }` : "" > : ^^ >someGenerics9 : (strs: TemplateStringsArray, a: T, b: T, c: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >`${ '' }${ 0 }${ [] }` : string > : ^^^^^^ >'' : "" @@ -546,7 +546,7 @@ var a9e = someGenerics9 `${ undefined }${ { x: 6, z: new Date() } }${ { x: 6, y: >someGenerics9 `${ undefined }${ { x: 6, z: new Date() } }${ { x: 6, y: '' } }` : { x: number; z: Date; y?: undefined; } | { x: number; y: string; z?: undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >someGenerics9 : (strs: TemplateStringsArray, a: T, b: T, c: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >`${ undefined }${ { x: 6, z: new Date() } }${ { x: 6, y: '' } }` : string > : ^^^^^^ >undefined : undefined @@ -585,7 +585,7 @@ var a9d = someGenerics9 `${ { x: 3 }}${ { x: 6 }}${ { x: 6 } }`; >someGenerics9 `${ { x: 3 }}${ { x: 6 }}${ { x: 6 } }` : { x: number; } > : ^^^^^^^^^^^^^^ >someGenerics9 : (strs: TemplateStringsArray, a: T, b: T, c: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >`${ { x: 3 }}${ { x: 6 }}${ { x: 6 } }` : string > : ^^^^^^ >{ x: 3 } : { x: number; } @@ -624,7 +624,7 @@ var a = someGenerics9 `${ 7 }${ anyVar }${ 4 }`; >someGenerics9 `${ 7 }${ anyVar }${ 4 }` : any > : ^^^ >someGenerics9 : (strs: TemplateStringsArray, a: T, b: T, c: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >`${ 7 }${ anyVar }${ 4 }` : string > : ^^^^^^ >7 : 7 @@ -645,7 +645,7 @@ var arr = someGenerics9 `${ [] }${ null }${ undefined }`; >someGenerics9 `${ [] }${ null }${ undefined }` : any[] > : ^^^^^ >someGenerics9 : (strs: TemplateStringsArray, a: T, b: T, c: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >`${ [] }${ null }${ undefined }` : string > : ^^^^^^ >[] : undefined[] diff --git a/tests/baselines/reference/taggedTemplateStringsTypeArgumentInferenceES6.types b/tests/baselines/reference/taggedTemplateStringsTypeArgumentInferenceES6.types index 9a0073c26fcd0..47b2ba7eb753b 100644 --- a/tests/baselines/reference/taggedTemplateStringsTypeArgumentInferenceES6.types +++ b/tests/baselines/reference/taggedTemplateStringsTypeArgumentInferenceES6.types @@ -471,7 +471,7 @@ var x = someGenerics8 `${ someGenerics7 }`; >someGenerics8 `${ someGenerics7 }` : (strs: TemplateStringsArray, a: (a: A) => A, b: (b: B) => B, c: (c: C) => C) => void > : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >someGenerics8 : (strs: TemplateStringsArray, n: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >`${ someGenerics7 }` : string > : ^^^^^^ >someGenerics7 : (strs: TemplateStringsArray, a: (a: A) => A, b: (b: B) => B, c: (c: C) => C) => void @@ -506,7 +506,7 @@ var a9a = someGenerics9 `${ '' }${ 0 }${ [] }`; >someGenerics9 `${ '' }${ 0 }${ [] }` : "" > : ^^ >someGenerics9 : (strs: TemplateStringsArray, a: T, b: T, c: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >`${ '' }${ 0 }${ [] }` : string > : ^^^^^^ >'' : "" @@ -546,7 +546,7 @@ var a9e = someGenerics9 `${ undefined }${ { x: 6, z: new Date() } }${ { x: 6, y: >someGenerics9 `${ undefined }${ { x: 6, z: new Date() } }${ { x: 6, y: '' } }` : { x: number; z: Date; y?: undefined; } | { x: number; y: string; z?: undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >someGenerics9 : (strs: TemplateStringsArray, a: T, b: T, c: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >`${ undefined }${ { x: 6, z: new Date() } }${ { x: 6, y: '' } }` : string > : ^^^^^^ >undefined : undefined @@ -585,7 +585,7 @@ var a9d = someGenerics9 `${ { x: 3 }}${ { x: 6 }}${ { x: 6 } }`; >someGenerics9 `${ { x: 3 }}${ { x: 6 }}${ { x: 6 } }` : { x: number; } > : ^^^^^^^^^^^^^^ >someGenerics9 : (strs: TemplateStringsArray, a: T, b: T, c: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >`${ { x: 3 }}${ { x: 6 }}${ { x: 6 } }` : string > : ^^^^^^ >{ x: 3 } : { x: number; } @@ -624,7 +624,7 @@ var a = someGenerics9 `${ 7 }${ anyVar }${ 4 }`; >someGenerics9 `${ 7 }${ anyVar }${ 4 }` : any > : ^^^ >someGenerics9 : (strs: TemplateStringsArray, a: T, b: T, c: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >`${ 7 }${ anyVar }${ 4 }` : string > : ^^^^^^ >7 : 7 @@ -645,7 +645,7 @@ var arr = someGenerics9 `${ [] }${ null }${ undefined }`; >someGenerics9 `${ [] }${ null }${ undefined }` : any[] > : ^^^^^ >someGenerics9 : (strs: TemplateStringsArray, a: T, b: T, c: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >`${ [] }${ null }${ undefined }` : string > : ^^^^^^ >[] : undefined[] diff --git a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.types b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.types index ed0c767066fe9..9c9367a4c7a5d 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.types +++ b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.types @@ -195,11 +195,11 @@ f.thisIsNotATag(`abc`); >f.thisIsNotATag(`abc`) : void > : ^^^^ >f.thisIsNotATag : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : I > : ^ >thisIsNotATag : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >`abc` : "abc" > : ^^^^^ @@ -207,11 +207,11 @@ f.thisIsNotATag(`abc${1}def${2}ghi`); >f.thisIsNotATag(`abc${1}def${2}ghi`) : void > : ^^^^ >f.thisIsNotATag : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : I > : ^ >thisIsNotATag : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >`abc${1}def${2}ghi` : "abc1def2ghi" > : ^^^^^^^^^^^^^ >1 : 1 diff --git a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTagsES6.types b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTagsES6.types index 053ed9ae3d575..1a9e3c90a65e2 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTagsES6.types +++ b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTagsES6.types @@ -195,11 +195,11 @@ f.thisIsNotATag(`abc`); >f.thisIsNotATag(`abc`) : void > : ^^^^ >f.thisIsNotATag : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : I > : ^ >thisIsNotATag : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >`abc` : "abc" > : ^^^^^ @@ -207,11 +207,11 @@ f.thisIsNotATag(`abc${1}def${2}ghi`); >f.thisIsNotATag(`abc${1}def${2}ghi`) : void > : ^^^^ >f.thisIsNotATag : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : I > : ^ >thisIsNotATag : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >`abc${1}def${2}ghi` : "abc1def2ghi" > : ^^^^^^^^^^^^^ >1 : 1 diff --git a/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressions.types b/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressions.types index c5379ae24068c..44e9c01c8d086 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressions.types +++ b/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressions.types @@ -37,11 +37,11 @@ var x = new new new f `abc${ 0 }def`.member("hello")(42) === true; >new new new f `abc${ 0 }def`.member("hello")(42) : boolean > : ^^^^^^^ >new new f `abc${ 0 }def`.member("hello")(42) : new () => boolean -> : ^^^^^^^^^^^^^^^^^ ->new f `abc${ 0 }def`.member("hello") : new (n: number) => new () => boolean -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ->f `abc${ 0 }def`.member : new (s: string) => new (n: number) => new () => boolean -> : ^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ +>new f `abc${ 0 }def`.member("hello") : new (n: number) => { new (): boolean; } +> : ^^^^^ ^^ ^^^^^ +>f `abc${ 0 }def`.member : new (s: string) => { new (n: number): { new (): boolean; }; } +> : ^^^^^ ^^ ^^^^^ >f `abc${ 0 }def` : I > : ^ >f : I @@ -50,8 +50,8 @@ var x = new new new f `abc${ 0 }def`.member("hello")(42) === true; > : ^^^^^^ >0 : 0 > : ^ ->member : new (s: string) => new (n: number) => new () => boolean -> : ^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +>member : new (s: string) => { new (n: number): { new (): boolean; }; } +> : ^^^^^ ^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ >42 : 42 diff --git a/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressionsES6.types b/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressionsES6.types index a4fc4d5d9c83f..9f1272dd163df 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressionsES6.types +++ b/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressionsES6.types @@ -37,11 +37,11 @@ var x = new new new f `abc${ 0 }def`.member("hello")(42) === true; >new new new f `abc${ 0 }def`.member("hello")(42) : boolean > : ^^^^^^^ >new new f `abc${ 0 }def`.member("hello")(42) : new () => boolean -> : ^^^^^^^^^^^^^^^^^ ->new f `abc${ 0 }def`.member("hello") : new (n: number) => new () => boolean -> : ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ->f `abc${ 0 }def`.member : new (s: string) => new (n: number) => new () => boolean -> : ^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ +>new f `abc${ 0 }def`.member("hello") : new (n: number) => { new (): boolean; } +> : ^^^^^ ^^ ^^^^^ +>f `abc${ 0 }def`.member : new (s: string) => { new (n: number): { new (): boolean; }; } +> : ^^^^^ ^^ ^^^^^ >f `abc${ 0 }def` : I > : ^ >f : I @@ -50,8 +50,8 @@ var x = new new new f `abc${ 0 }def`.member("hello")(42) === true; > : ^^^^^^ >0 : 0 > : ^ ->member : new (s: string) => new (n: number) => new () => boolean -> : ^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +>member : new (s: string) => { new (n: number): { new (): boolean; }; } +> : ^^^^^ ^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ >42 : 42 diff --git a/tests/baselines/reference/taggedTemplateStringsWithMultilineTemplate.types b/tests/baselines/reference/taggedTemplateStringsWithMultilineTemplate.types index 3601eb732a45d..022d9534e8c9e 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithMultilineTemplate.types +++ b/tests/baselines/reference/taggedTemplateStringsWithMultilineTemplate.types @@ -12,7 +12,7 @@ f ` >f `\` : void > : ^^^^ >f : (...args: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >`\` : "\n\n" > : ^^^^^^ diff --git a/tests/baselines/reference/taggedTemplateStringsWithMultilineTemplateES6.types b/tests/baselines/reference/taggedTemplateStringsWithMultilineTemplateES6.types index 906342f95c86d..8b835fe93550b 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithMultilineTemplateES6.types +++ b/tests/baselines/reference/taggedTemplateStringsWithMultilineTemplateES6.types @@ -12,7 +12,7 @@ f ` >f `\` : void > : ^^^^ >f : (...args: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >`\` : "\n\n" > : ^^^^^^ diff --git a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1.types b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1.types index f6eb52270363f..90d36c4a8ddf3 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1.types +++ b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1.types @@ -3,13 +3,13 @@ === taggedTemplateStringsWithOverloadResolution1.ts === function foo(strs: TemplateStringsArray): number; >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ function foo(strs: TemplateStringsArray, x: number): string; >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >x : number @@ -17,7 +17,7 @@ function foo(strs: TemplateStringsArray, x: number): string; function foo(strs: TemplateStringsArray, x: number, y: number): boolean; >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >x : number @@ -27,7 +27,7 @@ function foo(strs: TemplateStringsArray, x: number, y: number): boolean; function foo(strs: TemplateStringsArray, x: number, y: string): {}; >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >x : number @@ -37,7 +37,7 @@ function foo(strs: TemplateStringsArray, x: number, y: string): {}; function foo(...stuff: any[]): any { >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >stuff : any[] > : ^^^^^ @@ -52,7 +52,7 @@ var a = foo([]); // number >foo([]) : never > : ^^^^^ >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >[] : undefined[] > : ^^^^^^^^^^^ @@ -62,7 +62,7 @@ var b = foo([], 1); // string >foo([], 1) : never > : ^^^^^ >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >[] : undefined[] > : ^^^^^^^^^^^ >1 : 1 @@ -74,7 +74,7 @@ var c = foo([], 1, 2); // boolean >foo([], 1, 2) : never > : ^^^^^ >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >[] : undefined[] > : ^^^^^^^^^^^ >1 : 1 @@ -88,7 +88,7 @@ var d = foo([], 1, true); // boolean (with error) >foo([], 1, true) : never > : ^^^^^ >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >[] : undefined[] > : ^^^^^^^^^^^ >1 : 1 @@ -102,7 +102,7 @@ var e = foo([], 1, "2"); // {} >foo([], 1, "2") : never > : ^^^^^ >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >[] : undefined[] > : ^^^^^^^^^^^ >1 : 1 @@ -116,7 +116,7 @@ var f = foo([], 1, 2, 3); // any (with error) >foo([], 1, 2, 3) : never > : ^^^^^ >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >[] : undefined[] > : ^^^^^^^^^^^ >1 : 1 @@ -132,7 +132,7 @@ var u = foo ``; // number >foo `` : number > : ^^^^^^ >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`` : "" > : ^^ @@ -142,7 +142,7 @@ var v = foo `${1}`; // string >foo `${1}` : string > : ^^^^^^ >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${1}` : string > : ^^^^^^ >1 : 1 @@ -154,7 +154,7 @@ var w = foo `${1}${2}`; // boolean >foo `${1}${2}` : boolean > : ^^^^^^^ >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${1}${2}` : string > : ^^^^^^ >1 : 1 @@ -168,7 +168,7 @@ var x = foo `${1}${true}`; // boolean (with error) >foo `${1}${true}` : never > : ^^^^^ >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${1}${true}` : string > : ^^^^^^ >1 : 1 @@ -182,7 +182,7 @@ var y = foo `${1}${"2"}`; // {} >foo `${1}${"2"}` : {} > : ^^ >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${1}${"2"}` : string > : ^^^^^^ >1 : 1 @@ -196,7 +196,7 @@ var z = foo `${1}${2}${3}`; // any (with error) >foo `${1}${2}${3}` : never > : ^^^^^ >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${1}${2}${3}` : string > : ^^^^^^ >1 : 1 diff --git a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1_ES6.types b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1_ES6.types index b31e93719de2b..393bdc10e5d41 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1_ES6.types +++ b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1_ES6.types @@ -3,13 +3,13 @@ === taggedTemplateStringsWithOverloadResolution1_ES6.ts === function foo(strs: TemplateStringsArray): number; >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ function foo(strs: TemplateStringsArray, x: number): string; >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >x : number @@ -17,7 +17,7 @@ function foo(strs: TemplateStringsArray, x: number): string; function foo(strs: TemplateStringsArray, x: number, y: number): boolean; >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >x : number @@ -27,7 +27,7 @@ function foo(strs: TemplateStringsArray, x: number, y: number): boolean; function foo(strs: TemplateStringsArray, x: number, y: string): {}; >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >x : number @@ -37,7 +37,7 @@ function foo(strs: TemplateStringsArray, x: number, y: string): {}; function foo(...stuff: any[]): any { >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >stuff : any[] > : ^^^^^ @@ -52,7 +52,7 @@ var a = foo([]); // number >foo([]) : never > : ^^^^^ >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >[] : undefined[] > : ^^^^^^^^^^^ @@ -62,7 +62,7 @@ var b = foo([], 1); // string >foo([], 1) : never > : ^^^^^ >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >[] : undefined[] > : ^^^^^^^^^^^ >1 : 1 @@ -74,7 +74,7 @@ var c = foo([], 1, 2); // boolean >foo([], 1, 2) : never > : ^^^^^ >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >[] : undefined[] > : ^^^^^^^^^^^ >1 : 1 @@ -88,7 +88,7 @@ var d = foo([], 1, true); // boolean (with error) >foo([], 1, true) : never > : ^^^^^ >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >[] : undefined[] > : ^^^^^^^^^^^ >1 : 1 @@ -102,7 +102,7 @@ var e = foo([], 1, "2"); // {} >foo([], 1, "2") : never > : ^^^^^ >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >[] : undefined[] > : ^^^^^^^^^^^ >1 : 1 @@ -116,7 +116,7 @@ var f = foo([], 1, 2, 3); // any (with error) >foo([], 1, 2, 3) : never > : ^^^^^ >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >[] : undefined[] > : ^^^^^^^^^^^ >1 : 1 @@ -132,7 +132,7 @@ var u = foo ``; // number >foo `` : number > : ^^^^^^ >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`` : "" > : ^^ @@ -142,7 +142,7 @@ var v = foo `${1}`; // string >foo `${1}` : string > : ^^^^^^ >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${1}` : string > : ^^^^^^ >1 : 1 @@ -154,7 +154,7 @@ var w = foo `${1}${2}`; // boolean >foo `${1}${2}` : boolean > : ^^^^^^^ >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${1}${2}` : string > : ^^^^^^ >1 : 1 @@ -168,7 +168,7 @@ var x = foo `${1}${true}`; // boolean (with error) >foo `${1}${true}` : never > : ^^^^^ >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${1}${true}` : string > : ^^^^^^ >1 : 1 @@ -182,7 +182,7 @@ var y = foo `${1}${"2"}`; // {} >foo `${1}${"2"}` : {} > : ^^ >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${1}${"2"}` : string > : ^^^^^^ >1 : 1 @@ -196,7 +196,7 @@ var z = foo `${1}${2}${3}`; // any (with error) >foo `${1}${2}${3}` : never > : ^^^^^ >foo : { (strs: TemplateStringsArray): number; (strs: TemplateStringsArray, x: number): string; (strs: TemplateStringsArray, x: number, y: number): boolean; (strs: TemplateStringsArray, x: number, y: string): {}; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${1}${2}${3}` : string > : ^^^^^^ >1 : 1 diff --git a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2.types b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2.types index f75aa76776b85..f9a0ff44f0843 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2.types +++ b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2.types @@ -3,7 +3,7 @@ === taggedTemplateStringsWithOverloadResolution2.ts === function foo1(strs: TemplateStringsArray, x: number): string; >foo1 : { (strs: TemplateStringsArray, x: number): string; (strs: string[], x: number): number; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >x : number @@ -11,7 +11,7 @@ function foo1(strs: TemplateStringsArray, x: number): string; function foo1(strs: string[], x: number): number; >foo1 : { (strs: TemplateStringsArray, x: number): string; (strs: string[], x: number): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >strs : string[] > : ^^^^^^^^ >x : number @@ -19,7 +19,7 @@ function foo1(strs: string[], x: number): number; function foo1(...stuff: any[]): any { >foo1 : { (strs: TemplateStringsArray, x: number): string; (strs: string[], x: number): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >stuff : any[] > : ^^^^^ @@ -34,7 +34,7 @@ var a = foo1 `${1}`; >foo1 `${1}` : string > : ^^^^^^ >foo1 : { (strs: TemplateStringsArray, x: number): string; (strs: string[], x: number): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >`${1}` : string > : ^^^^^^ >1 : 1 @@ -46,7 +46,7 @@ var b = foo1([], 1); >foo1([], 1) : number > : ^^^^^^ >foo1 : { (strs: TemplateStringsArray, x: number): string; (strs: string[], x: number): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >[] : undefined[] > : ^^^^^^^^^^^ >1 : 1 @@ -54,7 +54,7 @@ var b = foo1([], 1); function foo2(strs: string[], x: number): number; >foo2 : { (strs: string[], x: number): number; (strs: TemplateStringsArray, x: number): string; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >strs : string[] > : ^^^^^^^^ >x : number @@ -62,7 +62,7 @@ function foo2(strs: string[], x: number): number; function foo2(strs: TemplateStringsArray, x: number): string; >foo2 : { (strs: string[], x: number): number; (strs: TemplateStringsArray, x: number): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >x : number @@ -70,7 +70,7 @@ function foo2(strs: TemplateStringsArray, x: number): string; function foo2(...stuff: any[]): any { >foo2 : { (strs: string[], x: number): number; (strs: TemplateStringsArray, x: number): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >stuff : any[] > : ^^^^^ @@ -85,7 +85,7 @@ var c = foo2 `${1}`; >foo2 `${1}` : string > : ^^^^^^ >foo2 : { (strs: string[], x: number): number; (strs: TemplateStringsArray, x: number): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >`${1}` : string > : ^^^^^^ >1 : 1 @@ -97,7 +97,7 @@ var d = foo2([], 1); >foo2([], 1) : number > : ^^^^^^ >foo2 : { (strs: string[], x: number): number; (strs: TemplateStringsArray, x: number): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >[] : undefined[] > : ^^^^^^^^^^^ >1 : 1 diff --git a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2_ES6.types b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2_ES6.types index dda5bdccc7a22..60bfa97beba25 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2_ES6.types +++ b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2_ES6.types @@ -3,7 +3,7 @@ === taggedTemplateStringsWithOverloadResolution2_ES6.ts === function foo1(strs: TemplateStringsArray, x: number): string; >foo1 : { (strs: TemplateStringsArray, x: number): string; (strs: string[], x: number): number; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >x : number @@ -11,7 +11,7 @@ function foo1(strs: TemplateStringsArray, x: number): string; function foo1(strs: string[], x: number): number; >foo1 : { (strs: TemplateStringsArray, x: number): string; (strs: string[], x: number): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >strs : string[] > : ^^^^^^^^ >x : number @@ -19,7 +19,7 @@ function foo1(strs: string[], x: number): number; function foo1(...stuff: any[]): any { >foo1 : { (strs: TemplateStringsArray, x: number): string; (strs: string[], x: number): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >stuff : any[] > : ^^^^^ @@ -34,7 +34,7 @@ var a = foo1 `${1}`; >foo1 `${1}` : string > : ^^^^^^ >foo1 : { (strs: TemplateStringsArray, x: number): string; (strs: string[], x: number): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >`${1}` : string > : ^^^^^^ >1 : 1 @@ -46,7 +46,7 @@ var b = foo1([], 1); >foo1([], 1) : number > : ^^^^^^ >foo1 : { (strs: TemplateStringsArray, x: number): string; (strs: string[], x: number): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >[] : undefined[] > : ^^^^^^^^^^^ >1 : 1 @@ -54,7 +54,7 @@ var b = foo1([], 1); function foo2(strs: string[], x: number): number; >foo2 : { (strs: string[], x: number): number; (strs: TemplateStringsArray, x: number): string; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >strs : string[] > : ^^^^^^^^ >x : number @@ -62,7 +62,7 @@ function foo2(strs: string[], x: number): number; function foo2(strs: TemplateStringsArray, x: number): string; >foo2 : { (strs: string[], x: number): number; (strs: TemplateStringsArray, x: number): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >x : number @@ -70,7 +70,7 @@ function foo2(strs: TemplateStringsArray, x: number): string; function foo2(...stuff: any[]): any { >foo2 : { (strs: string[], x: number): number; (strs: TemplateStringsArray, x: number): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >stuff : any[] > : ^^^^^ @@ -85,7 +85,7 @@ var c = foo2 `${1}`; >foo2 `${1}` : string > : ^^^^^^ >foo2 : { (strs: string[], x: number): number; (strs: TemplateStringsArray, x: number): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >`${1}` : string > : ^^^^^^ >1 : 1 @@ -97,7 +97,7 @@ var d = foo2([], 1); >foo2([], 1) : number > : ^^^^^^ >foo2 : { (strs: string[], x: number): number; (strs: TemplateStringsArray, x: number): string; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >[] : undefined[] > : ^^^^^^^^^^^ >1 : 1 diff --git a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3.types b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3.types index 086e59b21c5dd..ee85e9070e043 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3.types +++ b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3.types @@ -4,7 +4,7 @@ // Ambiguous call picks the first overload in declaration order function fn1(strs: TemplateStringsArray, s: string): string; >fn1 : { (strs: TemplateStringsArray, s: string): string; (strs: TemplateStringsArray, n: number): number; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >s : string @@ -12,7 +12,7 @@ function fn1(strs: TemplateStringsArray, s: string): string; function fn1(strs: TemplateStringsArray, n: number): number; >fn1 : { (strs: TemplateStringsArray, s: string): string; (strs: TemplateStringsArray, n: number): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >n : number @@ -20,7 +20,7 @@ function fn1(strs: TemplateStringsArray, n: number): number; function fn1() { return null; } >fn1 : { (strs: TemplateStringsArray, s: string): string; (strs: TemplateStringsArray, n: number): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ var s: string = fn1 `${ undefined }`; >s : string @@ -28,7 +28,7 @@ var s: string = fn1 `${ undefined }`; >fn1 `${ undefined }` : string > : ^^^^^^ >fn1 : { (strs: TemplateStringsArray, s: string): string; (strs: TemplateStringsArray, n: number): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >`${ undefined }` : string > : ^^^^^^ >undefined : undefined @@ -39,7 +39,7 @@ fn1 `${ {} }`; // Error >fn1 `${ {} }` : never > : ^^^^^ >fn1 : { (strs: TemplateStringsArray, s: string): string; (strs: TemplateStringsArray, n: number): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >`${ {} }` : string > : ^^^^^^ >{} : {} @@ -47,7 +47,7 @@ fn1 `${ {} }`; // Error function fn2(strs: TemplateStringsArray, s: string, n: number): number; >fn2 : { (strs: TemplateStringsArray, s: string, n: number): number; (strs: TemplateStringsArray, n: number, t: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >s : string @@ -57,7 +57,7 @@ function fn2(strs: TemplateStringsArray, s: string, n: number): number; function fn2(strs: TemplateStringsArray, n: number, t: T): T; >fn2 : { (strs: TemplateStringsArray, s: string, n: number): number; (strs: TemplateStringsArray, n: number, t: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >n : number @@ -67,7 +67,7 @@ function fn2(strs: TemplateStringsArray, n: number, t: T): T; function fn2() { return undefined; } >fn2 : { (strs: TemplateStringsArray, s: string, n: number): number; (strs: TemplateStringsArray, n: number, t: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ @@ -77,7 +77,7 @@ var d1: Date = fn2 `${ 0 }${ undefined }`; // contextually typed >fn2 `${ 0 }${ undefined }` : any > : ^^^ >fn2 : { (strs: TemplateStringsArray, s: string, n: number): number; (strs: TemplateStringsArray, n: number, t: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ 0 }${ undefined }` : string > : ^^^^^^ >0 : 0 @@ -91,7 +91,7 @@ var d2 = fn2 `${ 0 }${ undefined }`; // any >fn2 `${ 0 }${ undefined }` : any > : ^^^ >fn2 : { (strs: TemplateStringsArray, s: string, n: number): number; (strs: TemplateStringsArray, n: number, t: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ 0 }${ undefined }` : string > : ^^^^^^ >0 : 0 @@ -120,7 +120,7 @@ fn2 `${ 0 }${ '' }`; // OK >fn2 `${ 0 }${ '' }` : "" > : ^^ >fn2 : { (strs: TemplateStringsArray, s: string, n: number): number; (strs: TemplateStringsArray, n: number, t: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ 0 }${ '' }` : string > : ^^^^^^ >0 : 0 @@ -133,7 +133,7 @@ fn2 `${ '' }${ 0 }`; // OK >fn2 `${ '' }${ 0 }` : number > : ^^^^^^ >fn2 : { (strs: TemplateStringsArray, s: string, n: number): number; (strs: TemplateStringsArray, n: number, t: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ '' }${ 0 }` : string > : ^^^^^^ >'' : "" @@ -143,16 +143,16 @@ fn2 `${ '' }${ 0 }`; // OK // Generic overloads with differing arity function fn3(strs: TemplateStringsArray, n: T): string; ->fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T_1, u: U): U; (strs: TemplateStringsArray, v: V, u: U_1, t: T_2): number; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +>fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T_1, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T_1): number; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >n : T > : ^ function fn3(strs: TemplateStringsArray, s: string, t: T, u: U): U; ->fn3 : { (strs: TemplateStringsArray, n: T_1): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U_1, t: T_2): number; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +>fn3 : { (strs: TemplateStringsArray, n: T_1): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U_1, t: T_1): number; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >s : string @@ -163,8 +163,8 @@ function fn3(strs: TemplateStringsArray, s: string, t: T, u: U): U; > : ^ function fn3(strs: TemplateStringsArray, v: V, u: U, t: T): number; ->fn3 : { (strs: TemplateStringsArray, n: T_1): string; (strs: TemplateStringsArray, s: string, t: T_2, u: U_1): U_1; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +>fn3 : { (strs: TemplateStringsArray, n: T_1): string; (strs: TemplateStringsArray, s: string, t: T_1, u: U_1): U_1; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >v : V @@ -175,16 +175,16 @@ function fn3(strs: TemplateStringsArray, v: V, u: U, t: T): number; > : ^ function fn3() { return null; } ->fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T_1, u: U): U; (strs: TemplateStringsArray, v: V, u: U_1, t: T_2): number; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +>fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var s = fn3 `${ 3 }`; >s : string > : ^^^^^^ >fn3 `${ 3 }` : string > : ^^^^^^ ->fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T_1, u: U): U; (strs: TemplateStringsArray, v: V, u: U_1, t: T_2): number; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +>fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ 3 }` : string > : ^^^^^^ >3 : 3 @@ -195,8 +195,8 @@ var s = fn3 `${'' }${ 3 }${ '' }`; > : ^^^^^^ >fn3 `${'' }${ 3 }${ '' }` : "" > : ^^ ->fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T_1, u: U): U; (strs: TemplateStringsArray, v: V, u: U_1, t: T_2): number; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +>fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${'' }${ 3 }${ '' }` : string > : ^^^^^^ >'' : "" @@ -211,8 +211,8 @@ var n = fn3 `${ 5 }${ 5 }${ 5 }`; > : ^^^^^^ >fn3 `${ 5 }${ 5 }${ 5 }` : number > : ^^^^^^ ->fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T_1, u: U): U; (strs: TemplateStringsArray, v: V, u: U_1, t: T_2): number; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +>fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ 5 }${ 5 }${ 5 }` : string > : ^^^^^^ >5 : 5 @@ -232,8 +232,8 @@ var s = fn3 `${ 4 }` > : ^^^^^^ >fn3 `${ 4 }` : string > : ^^^^^^ ->fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T_1, u: U): U; (strs: TemplateStringsArray, v: V, u: U_1, t: T_2): number; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +>fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ 4 }` : string > : ^^^^^^ >4 : 4 @@ -244,8 +244,8 @@ var s = fn3 `${ '' }${ '' }${ '' }`; > : ^^^^^^ >fn3 `${ '' }${ '' }${ '' }` : "" > : ^^ ->fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T_1, u: U): U; (strs: TemplateStringsArray, v: V, u: U_1, t: T_2): number; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +>fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ '' }${ '' }${ '' }` : string > : ^^^^^^ >'' : "" @@ -260,8 +260,8 @@ var n = fn3 `${ '' }${ '' }${ 3 }`; > : ^^^^^^ >fn3 `${ '' }${ '' }${ 3 }` : 3 > : ^ ->fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T_1, u: U): U; (strs: TemplateStringsArray, v: V, u: U_1, t: T_2): number; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +>fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ '' }${ '' }${ 3 }` : string > : ^^^^^^ >'' : "" @@ -275,15 +275,15 @@ var n = fn3 `${ '' }${ '' }${ 3 }`; fn3 ``; // Error >fn3 `` : string > : ^^^^^^ ->fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T_1, u: U): U; (strs: TemplateStringsArray, v: V, u: U_1, t: T_2): number; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +>fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`` : "" > : ^^ // Generic overloads with constraints function fn4(strs: TemplateStringsArray, n: T, m: U); >fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T_1, m: U_1): any; (strs: TemplateStringsArray): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >n : T @@ -293,7 +293,7 @@ function fn4(strs: TemplateStringsArray, n: function fn4(strs: TemplateStringsArray, n: T, m: U); >fn4 : { (strs: TemplateStringsArray, n: T_1, m: U_1): any; (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >n : T @@ -302,21 +302,21 @@ function fn4(strs: TemplateStringsArray, n: > : ^ function fn4(strs: TemplateStringsArray) ->fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T_1, m: U_1): any; (strs: TemplateStringsArray): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +>fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ function fn4() { } ->fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T_1, m: U_1): any; (strs: TemplateStringsArray): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +>fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ // Generic overloads with constraints tagged with types that satisfy the constraints fn4 `${ '' }${ 3 }`; >fn4 `${ '' }${ 3 }` : any > : ^^^ ->fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T_1, m: U_1): any; (strs: TemplateStringsArray): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +>fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >`${ '' }${ 3 }` : string > : ^^^^^^ >'' : "" @@ -327,8 +327,8 @@ fn4 `${ '' }${ 3 }`; fn4 `${ 3 }${ '' }`; >fn4 `${ 3 }${ '' }` : any > : ^^^ ->fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T_1, m: U_1): any; (strs: TemplateStringsArray): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +>fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >`${ 3 }${ '' }` : string > : ^^^^^^ >3 : 3 @@ -339,8 +339,8 @@ fn4 `${ 3 }${ '' }`; fn4 `${ 3 }${ undefined }`; >fn4 `${ 3 }${ undefined }` : any > : ^^^ ->fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T_1, m: U_1): any; (strs: TemplateStringsArray): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +>fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >`${ 3 }${ undefined }` : string > : ^^^^^^ >3 : 3 @@ -351,8 +351,8 @@ fn4 `${ 3 }${ undefined }`; fn4 `${ '' }${ null }`; >fn4 `${ '' }${ null }` : any > : ^^^ ->fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T_1, m: U_1): any; (strs: TemplateStringsArray): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +>fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >`${ '' }${ null }` : string > : ^^^^^^ >'' : "" @@ -362,8 +362,8 @@ fn4 `${ '' }${ null }`; fn4 `${ null }${ null }`; // Error >fn4 `${ null }${ null }` : any > : ^^^ ->fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T_1, m: U_1): any; (strs: TemplateStringsArray): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +>fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >`${ null }${ null }` : string > : ^^^^^^ @@ -371,8 +371,8 @@ fn4 `${ null }${ null }`; // Error fn4 `${ true }${ null }`; >fn4 `${ true }${ null }` : any > : ^^^ ->fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T_1, m: U_1): any; (strs: TemplateStringsArray): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +>fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >`${ true }${ null }` : string > : ^^^^^^ >true : true @@ -381,8 +381,8 @@ fn4 `${ true }${ null }`; fn4 `${ null }${ true }`; >fn4 `${ null }${ true }` : any > : ^^^ ->fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T_1, m: U_1): any; (strs: TemplateStringsArray): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +>fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >`${ null }${ true }` : string > : ^^^^^^ >true : true @@ -391,7 +391,7 @@ fn4 `${ null }${ true }`; // Non - generic overloads where contextual typing of function arguments has errors function fn5(strs: TemplateStringsArray, f: (n: string) => void): string; >fn5 : { (strs: TemplateStringsArray, f: (n: string) => void): string; (strs: TemplateStringsArray, f: (n: number) => void): number; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >f : (n: string) => void @@ -401,7 +401,7 @@ function fn5(strs: TemplateStringsArray, f: (n: string) => void): string; function fn5(strs: TemplateStringsArray, f: (n: number) => void): number; >fn5 : { (strs: TemplateStringsArray, f: (n: string) => void): string; (strs: TemplateStringsArray, f: (n: number) => void): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >f : (n: number) => void @@ -411,7 +411,7 @@ function fn5(strs: TemplateStringsArray, f: (n: number) => void): number; function fn5() { return undefined; } >fn5 : { (strs: TemplateStringsArray, f: (n: string) => void): string; (strs: TemplateStringsArray, f: (n: number) => void): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ @@ -419,7 +419,7 @@ fn5 `${ (n) => n.toFixed() }`; // will error; 'n' should have type 'string'. >fn5 `${ (n) => n.toFixed() }` : string > : ^^^^^^ >fn5 : { (strs: TemplateStringsArray, f: (n: string) => void): string; (strs: TemplateStringsArray, f: (n: number) => void): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >`${ (n) => n.toFixed() }` : string > : ^^^^^^ >(n) => n.toFixed() : (n: string) => any @@ -439,7 +439,7 @@ fn5 `${ (n) => n.substr(0) }`; >fn5 `${ (n) => n.substr(0) }` : string > : ^^^^^^ >fn5 : { (strs: TemplateStringsArray, f: (n: string) => void): string; (strs: TemplateStringsArray, f: (n: number) => void): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >`${ (n) => n.substr(0) }` : string > : ^^^^^^ >(n) => n.substr(0) : (n: string) => string @@ -449,11 +449,11 @@ fn5 `${ (n) => n.substr(0) }`; >n.substr(0) : string > : ^^^^^^ >n.substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >n : string > : ^^^^^^ >substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3_ES6.types b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3_ES6.types index c4aa603742fa9..9e1442ca52092 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3_ES6.types +++ b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3_ES6.types @@ -4,7 +4,7 @@ // Ambiguous call picks the first overload in declaration order function fn1(strs: TemplateStringsArray, s: string): string; >fn1 : { (strs: TemplateStringsArray, s: string): string; (strs: TemplateStringsArray, n: number): number; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >s : string @@ -12,7 +12,7 @@ function fn1(strs: TemplateStringsArray, s: string): string; function fn1(strs: TemplateStringsArray, n: number): number; >fn1 : { (strs: TemplateStringsArray, s: string): string; (strs: TemplateStringsArray, n: number): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >n : number @@ -20,7 +20,7 @@ function fn1(strs: TemplateStringsArray, n: number): number; function fn1() { return null; } >fn1 : { (strs: TemplateStringsArray, s: string): string; (strs: TemplateStringsArray, n: number): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ var s: string = fn1 `${ undefined }`; >s : string @@ -28,7 +28,7 @@ var s: string = fn1 `${ undefined }`; >fn1 `${ undefined }` : string > : ^^^^^^ >fn1 : { (strs: TemplateStringsArray, s: string): string; (strs: TemplateStringsArray, n: number): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >`${ undefined }` : string > : ^^^^^^ >undefined : undefined @@ -39,7 +39,7 @@ fn1 `${ {} }`; // Error >fn1 `${ {} }` : never > : ^^^^^ >fn1 : { (strs: TemplateStringsArray, s: string): string; (strs: TemplateStringsArray, n: number): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >`${ {} }` : string > : ^^^^^^ >{} : {} @@ -47,7 +47,7 @@ fn1 `${ {} }`; // Error function fn2(strs: TemplateStringsArray, s: string, n: number): number; >fn2 : { (strs: TemplateStringsArray, s: string, n: number): number; (strs: TemplateStringsArray, n: number, t: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >s : string @@ -57,7 +57,7 @@ function fn2(strs: TemplateStringsArray, s: string, n: number): number; function fn2(strs: TemplateStringsArray, n: number, t: T): T; >fn2 : { (strs: TemplateStringsArray, s: string, n: number): number; (strs: TemplateStringsArray, n: number, t: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >n : number @@ -67,7 +67,7 @@ function fn2(strs: TemplateStringsArray, n: number, t: T): T; function fn2() { return undefined; } >fn2 : { (strs: TemplateStringsArray, s: string, n: number): number; (strs: TemplateStringsArray, n: number, t: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ @@ -77,7 +77,7 @@ var d1: Date = fn2 `${ 0 }${ undefined }`; // contextually typed >fn2 `${ 0 }${ undefined }` : any > : ^^^ >fn2 : { (strs: TemplateStringsArray, s: string, n: number): number; (strs: TemplateStringsArray, n: number, t: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ 0 }${ undefined }` : string > : ^^^^^^ >0 : 0 @@ -91,7 +91,7 @@ var d2 = fn2 `${ 0 }${ undefined }`; // any >fn2 `${ 0 }${ undefined }` : any > : ^^^ >fn2 : { (strs: TemplateStringsArray, s: string, n: number): number; (strs: TemplateStringsArray, n: number, t: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ 0 }${ undefined }` : string > : ^^^^^^ >0 : 0 @@ -120,7 +120,7 @@ fn2 `${ 0 }${ '' }`; // OK >fn2 `${ 0 }${ '' }` : "" > : ^^ >fn2 : { (strs: TemplateStringsArray, s: string, n: number): number; (strs: TemplateStringsArray, n: number, t: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ 0 }${ '' }` : string > : ^^^^^^ >0 : 0 @@ -133,7 +133,7 @@ fn2 `${ '' }${ 0 }`; // OK >fn2 `${ '' }${ 0 }` : number > : ^^^^^^ >fn2 : { (strs: TemplateStringsArray, s: string, n: number): number; (strs: TemplateStringsArray, n: number, t: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ '' }${ 0 }` : string > : ^^^^^^ >'' : "" @@ -143,16 +143,16 @@ fn2 `${ '' }${ 0 }`; // OK // Generic overloads with differing arity function fn3(strs: TemplateStringsArray, n: T): string; ->fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T_1, u: U): U; (strs: TemplateStringsArray, v: V, u: U_1, t: T_2): number; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +>fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T_1, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T_1): number; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >n : T > : ^ function fn3(strs: TemplateStringsArray, s: string, t: T, u: U): U; ->fn3 : { (strs: TemplateStringsArray, n: T_1): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U_1, t: T_2): number; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +>fn3 : { (strs: TemplateStringsArray, n: T_1): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U_1, t: T_1): number; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >s : string @@ -163,8 +163,8 @@ function fn3(strs: TemplateStringsArray, s: string, t: T, u: U): U; > : ^ function fn3(strs: TemplateStringsArray, v: V, u: U, t: T): number; ->fn3 : { (strs: TemplateStringsArray, n: T_1): string; (strs: TemplateStringsArray, s: string, t: T_2, u: U_1): U_1; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +>fn3 : { (strs: TemplateStringsArray, n: T_1): string; (strs: TemplateStringsArray, s: string, t: T_1, u: U_1): U_1; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >v : V @@ -175,16 +175,16 @@ function fn3(strs: TemplateStringsArray, v: V, u: U, t: T): number; > : ^ function fn3() { return null; } ->fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T_1, u: U): U; (strs: TemplateStringsArray, v: V, u: U_1, t: T_2): number; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +>fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ var s = fn3 `${ 3 }`; >s : string > : ^^^^^^ >fn3 `${ 3 }` : string > : ^^^^^^ ->fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T_1, u: U): U; (strs: TemplateStringsArray, v: V, u: U_1, t: T_2): number; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +>fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ 3 }` : string > : ^^^^^^ >3 : 3 @@ -195,8 +195,8 @@ var s = fn3 `${'' }${ 3 }${ '' }`; > : ^^^^^^ >fn3 `${'' }${ 3 }${ '' }` : "" > : ^^ ->fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T_1, u: U): U; (strs: TemplateStringsArray, v: V, u: U_1, t: T_2): number; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +>fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${'' }${ 3 }${ '' }` : string > : ^^^^^^ >'' : "" @@ -211,8 +211,8 @@ var n = fn3 `${ 5 }${ 5 }${ 5 }`; > : ^^^^^^ >fn3 `${ 5 }${ 5 }${ 5 }` : number > : ^^^^^^ ->fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T_1, u: U): U; (strs: TemplateStringsArray, v: V, u: U_1, t: T_2): number; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +>fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ 5 }${ 5 }${ 5 }` : string > : ^^^^^^ >5 : 5 @@ -232,8 +232,8 @@ var s = fn3 `${ 4 }` > : ^^^^^^ >fn3 `${ 4 }` : string > : ^^^^^^ ->fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T_1, u: U): U; (strs: TemplateStringsArray, v: V, u: U_1, t: T_2): number; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +>fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ 4 }` : string > : ^^^^^^ >4 : 4 @@ -244,8 +244,8 @@ var s = fn3 `${ '' }${ '' }${ '' }`; > : ^^^^^^ >fn3 `${ '' }${ '' }${ '' }` : "" > : ^^ ->fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T_1, u: U): U; (strs: TemplateStringsArray, v: V, u: U_1, t: T_2): number; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +>fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ '' }${ '' }${ '' }` : string > : ^^^^^^ >'' : "" @@ -260,8 +260,8 @@ var n = fn3 `${ '' }${ '' }${ 3 }`; > : ^^^^^^ >fn3 `${ '' }${ '' }${ 3 }` : 3 > : ^ ->fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T_1, u: U): U; (strs: TemplateStringsArray, v: V, u: U_1, t: T_2): number; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +>fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`${ '' }${ '' }${ 3 }` : string > : ^^^^^^ >'' : "" @@ -275,15 +275,15 @@ var n = fn3 `${ '' }${ '' }${ 3 }`; fn3 ``; // Error >fn3 `` : string > : ^^^^^^ ->fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T_1, u: U): U; (strs: TemplateStringsArray, v: V, u: U_1, t: T_2): number; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +>fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >`` : "" > : ^^ // Generic overloads with constraints function fn4(strs: TemplateStringsArray, n: T, m: U); >fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T_1, m: U_1): any; (strs: TemplateStringsArray): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >n : T @@ -293,7 +293,7 @@ function fn4(strs: TemplateStringsArray, n: function fn4(strs: TemplateStringsArray, n: T, m: U); >fn4 : { (strs: TemplateStringsArray, n: T_1, m: U_1): any; (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >n : T @@ -302,21 +302,21 @@ function fn4(strs: TemplateStringsArray, n: > : ^ function fn4(strs: TemplateStringsArray) ->fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T_1, m: U_1): any; (strs: TemplateStringsArray): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +>fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ function fn4() { } ->fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T_1, m: U_1): any; (strs: TemplateStringsArray): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +>fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ // Generic overloads with constraints tagged with types that satisfy the constraints fn4 `${ '' }${ 3 }`; >fn4 `${ '' }${ 3 }` : any > : ^^^ ->fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T_1, m: U_1): any; (strs: TemplateStringsArray): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +>fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >`${ '' }${ 3 }` : string > : ^^^^^^ >'' : "" @@ -327,8 +327,8 @@ fn4 `${ '' }${ 3 }`; fn4 `${ 3 }${ '' }`; >fn4 `${ 3 }${ '' }` : any > : ^^^ ->fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T_1, m: U_1): any; (strs: TemplateStringsArray): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +>fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >`${ 3 }${ '' }` : string > : ^^^^^^ >3 : 3 @@ -339,8 +339,8 @@ fn4 `${ 3 }${ '' }`; fn4 `${ 3 }${ undefined }`; >fn4 `${ 3 }${ undefined }` : any > : ^^^ ->fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T_1, m: U_1): any; (strs: TemplateStringsArray): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +>fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >`${ 3 }${ undefined }` : string > : ^^^^^^ >3 : 3 @@ -351,8 +351,8 @@ fn4 `${ 3 }${ undefined }`; fn4 `${ '' }${ null }`; >fn4 `${ '' }${ null }` : any > : ^^^ ->fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T_1, m: U_1): any; (strs: TemplateStringsArray): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +>fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >`${ '' }${ null }` : string > : ^^^^^^ >'' : "" @@ -362,8 +362,8 @@ fn4 `${ '' }${ null }`; fn4 `${ null }${ null }`; // Error >fn4 `${ null }${ null }` : any > : ^^^ ->fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T_1, m: U_1): any; (strs: TemplateStringsArray): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +>fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >`${ null }${ null }` : string > : ^^^^^^ @@ -371,8 +371,8 @@ fn4 `${ null }${ null }`; // Error fn4 `${ true }${ null }`; >fn4 `${ true }${ null }` : any > : ^^^ ->fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T_1, m: U_1): any; (strs: TemplateStringsArray): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +>fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >`${ true }${ null }` : string > : ^^^^^^ >true : true @@ -381,8 +381,8 @@ fn4 `${ true }${ null }`; fn4 `${ null }${ true }`; >fn4 `${ null }${ true }` : any > : ^^^ ->fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T_1, m: U_1): any; (strs: TemplateStringsArray): any; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ +>fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ >`${ null }${ true }` : string > : ^^^^^^ >true : true @@ -391,7 +391,7 @@ fn4 `${ null }${ true }`; // Non - generic overloads where contextual typing of function arguments has errors function fn5(strs: TemplateStringsArray, f: (n: string) => void): string; >fn5 : { (strs: TemplateStringsArray, f: (n: string) => void): string; (strs: TemplateStringsArray, f: (n: number) => void): number; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >f : (n: string) => void @@ -401,7 +401,7 @@ function fn5(strs: TemplateStringsArray, f: (n: string) => void): string; function fn5(strs: TemplateStringsArray, f: (n: number) => void): number; >fn5 : { (strs: TemplateStringsArray, f: (n: string) => void): string; (strs: TemplateStringsArray, f: (n: number) => void): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >strs : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >f : (n: number) => void @@ -411,7 +411,7 @@ function fn5(strs: TemplateStringsArray, f: (n: number) => void): number; function fn5() { return undefined; } >fn5 : { (strs: TemplateStringsArray, f: (n: string) => void): string; (strs: TemplateStringsArray, f: (n: number) => void): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ @@ -419,7 +419,7 @@ fn5 `${ (n) => n.toFixed() }`; // will error; 'n' should have type 'string'. >fn5 `${ (n) => n.toFixed() }` : string > : ^^^^^^ >fn5 : { (strs: TemplateStringsArray, f: (n: string) => void): string; (strs: TemplateStringsArray, f: (n: number) => void): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >`${ (n) => n.toFixed() }` : string > : ^^^^^^ >(n) => n.toFixed() : (n: string) => any @@ -439,7 +439,7 @@ fn5 `${ (n) => n.substr(0) }`; >fn5 `${ (n) => n.substr(0) }` : string > : ^^^^^^ >fn5 : { (strs: TemplateStringsArray, f: (n: string) => void): string; (strs: TemplateStringsArray, f: (n: number) => void): number; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >`${ (n) => n.substr(0) }` : string > : ^^^^^^ >(n) => n.substr(0) : (n: string) => string @@ -449,11 +449,11 @@ fn5 `${ (n) => n.substr(0) }`; >n.substr(0) : string > : ^^^^^^ >n.substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >n : string > : ^^^^^^ >substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/taggedTemplateStringsWithTypedTags.types b/tests/baselines/reference/taggedTemplateStringsWithTypedTags.types index f3de1869b78cb..bc90d3b604ef1 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithTypedTags.types +++ b/tests/baselines/reference/taggedTemplateStringsWithTypedTags.types @@ -167,11 +167,11 @@ f.thisIsNotATag(`abc`); >f.thisIsNotATag(`abc`) : void > : ^^^^ >f.thisIsNotATag : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : I > : ^ >thisIsNotATag : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >`abc` : "abc" > : ^^^^^ @@ -179,11 +179,11 @@ f.thisIsNotATag(`abc${1}def${2}ghi`); >f.thisIsNotATag(`abc${1}def${2}ghi`) : void > : ^^^^ >f.thisIsNotATag : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : I > : ^ >thisIsNotATag : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >`abc${1}def${2}ghi` : "abc1def2ghi" > : ^^^^^^^^^^^^^ >1 : 1 diff --git a/tests/baselines/reference/taggedTemplateStringsWithTypedTagsES6.types b/tests/baselines/reference/taggedTemplateStringsWithTypedTagsES6.types index 54723d8d42717..cb2cebbfeffd5 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithTypedTagsES6.types +++ b/tests/baselines/reference/taggedTemplateStringsWithTypedTagsES6.types @@ -167,11 +167,11 @@ f.thisIsNotATag(`abc`); >f.thisIsNotATag(`abc`) : void > : ^^^^ >f.thisIsNotATag : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : I > : ^ >thisIsNotATag : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >`abc` : "abc" > : ^^^^^ @@ -179,11 +179,11 @@ f.thisIsNotATag(`abc${1}def${2}ghi`); >f.thisIsNotATag(`abc${1}def${2}ghi`) : void > : ^^^^ >f.thisIsNotATag : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : I > : ^ >thisIsNotATag : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >`abc${1}def${2}ghi` : "abc1def2ghi" > : ^^^^^^^^^^^^^ >1 : 1 diff --git a/tests/baselines/reference/taggedTemplatesInModuleAndGlobal.types b/tests/baselines/reference/taggedTemplatesInModuleAndGlobal.types index c93d22a7ecdfe..f1d4d66df6f9c 100644 --- a/tests/baselines/reference/taggedTemplatesInModuleAndGlobal.types +++ b/tests/baselines/reference/taggedTemplatesInModuleAndGlobal.types @@ -24,7 +24,7 @@ namespace n { >id`hello world` : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >id : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >`hello world` : "hello world" > : ^^^^^^^^^^^^^ } @@ -63,7 +63,7 @@ function templateObjectFactory() { >id`hello world` : TemplateStringsArray > : ^^^^^^^^^^^^^^^^^^^^ >id : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >`hello world` : "hello world" > : ^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/taggedTemplatesWithTypeArguments1.types b/tests/baselines/reference/taggedTemplatesWithTypeArguments1.types index 5db8cb14da667..b204d519ef059 100644 --- a/tests/baselines/reference/taggedTemplatesWithTypeArguments1.types +++ b/tests/baselines/reference/taggedTemplatesWithTypeArguments1.types @@ -31,7 +31,7 @@ export const a = f ` >f ` hello ${stuff => stuff.x} brave ${stuff => stuff.y} world ${stuff => stuff.z}` : void > : ^^^^ >f : (strs: TemplateStringsArray, ...callbacks: Array<(x: T) => any>) => void -> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^ >` hello ${stuff => stuff.x} brave ${stuff => stuff.y} world ${stuff => stuff.z}` : string > : ^^^^^^ @@ -104,7 +104,7 @@ export const b = g ` >g ` hello ${stuff => stuff.x} brave ${stuff => stuff.y} world ${stuff => stuff.z}` : string | number | boolean > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >g : (strs: TemplateStringsArray, t: (i: Input) => T, u: (i: Input) => U, v: (i: Input) => V) => T | U | V -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >` hello ${stuff => stuff.x} brave ${stuff => stuff.y} world ${stuff => stuff.z}` : string > : ^^^^^^ @@ -175,21 +175,21 @@ export let c = obj["prop"] `${(input) => ({ ...input })}` >obj["prop"] `${(input) => ({ ...input })}` : { returnedObjProp: Stuff; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >obj["prop"] : (strs: TemplateStringsArray, x: (input: T) => T) => { returnedObjProp: T; } -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >obj : { prop: (strs: TemplateStringsArray, x: (input: T) => T) => { returnedObjProp: T; }; } -> : ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >"prop" : "prop" > : ^^^^^^ >`${(input) => ({ ...input })}` : string > : ^^^^^^ >(input) => ({ ...input }) : (input: Stuff) => { x: number; y: string; z: boolean; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^ ^^^ >input : Stuff > : ^^^^^ >({ ...input }) : { x: number; y: string; z: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >{ ...input } : { x: number; y: string; z: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >input : Stuff > : ^^^^^ @@ -237,21 +237,21 @@ c = obj.prop `${(input) => ({ ...input })}` >obj.prop `${(input) => ({ ...input })}` : { returnedObjProp: Stuff; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >obj.prop : (strs: TemplateStringsArray, x: (input: T) => T) => { returnedObjProp: T; } -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >obj : { prop: (strs: TemplateStringsArray, x: (input: T) => T) => { returnedObjProp: T; }; } -> : ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >prop : (strs: TemplateStringsArray, x: (input: T) => T) => { returnedObjProp: T; } -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >`${(input) => ({ ...input })}` : string > : ^^^^^^ >(input) => ({ ...input }) : (input: Stuff) => { x: number; y: string; z: boolean; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^ ^^^ >input : Stuff > : ^^^^^ >({ ...input }) : { x: number; y: string; z: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >{ ...input } : { x: number; y: string; z: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^ ^^^ >input : Stuff > : ^^^^^ diff --git a/tests/baselines/reference/targetEs6DecoratorMetadataImportNotElided.types b/tests/baselines/reference/targetEs6DecoratorMetadataImportNotElided.types index 180ce2fc1da18..9b0a412a1b946 100644 --- a/tests/baselines/reference/targetEs6DecoratorMetadataImportNotElided.types +++ b/tests/baselines/reference/targetEs6DecoratorMetadataImportNotElided.types @@ -12,7 +12,7 @@ export class TemplateRef { } === index.ts === import { Input, TemplateRef } from './deps'; >Input : () => any -> : ^^^^^^^^^ +> : ^^^^^^ >TemplateRef : typeof TemplateRef > : ^^^^^^^^^^^^^^^^^^ @@ -27,7 +27,7 @@ export class MyComponent { @Input() >Input() : any >Input : () => any -> : ^^^^^^^^^ +> : ^^^^^^ get ref() { return this._ref; } >ref : TemplateRef diff --git a/tests/baselines/reference/targetTypeArgs.types b/tests/baselines/reference/targetTypeArgs.types index 4e5dc98fdc6fc..1db0c77435ef9 100644 --- a/tests/baselines/reference/targetTypeArgs.types +++ b/tests/baselines/reference/targetTypeArgs.types @@ -13,7 +13,7 @@ function foo(callback: (x: string) => void) { >callback("hello") : void > : ^^^^ >callback : (x: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ } @@ -34,13 +34,13 @@ foo(function(x) { x }); >[1].forEach(function(v,i,a) { v }) : void > : ^^^^ >[1].forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >[1] : number[] > : ^^^^^^^^ >1 : 1 > : ^ >forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >function(v,i,a) { v } : (v: number, i: number, a: number[]) => void > : ^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >v : number @@ -56,13 +56,13 @@ foo(function(x) { x }); >["hello"].every(function(v,i,a) {return true;}) : boolean > : ^^^^^^^ >["hello"].every : { (predicate: (value: string, index: number, array: string[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: string, index: number, array: string[]) => unknown, thisArg?: any): boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ >["hello"] : string[] > : ^^^^^^^^ >"hello" : "hello" > : ^^^^^^^ >every : { (predicate: (value: string, index: number, array: string[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: string, index: number, array: string[]) => unknown, thisArg?: any): boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ >function(v,i,a) {return true;} : (v: string, i: number, a: string[]) => true > : ^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >v : string @@ -78,13 +78,13 @@ foo(function(x) { x }); >[1].every(function(v,i,a) {return true;}) : boolean > : ^^^^^^^ >[1].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; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ >[1] : number[] > : ^^^^^^^^ >1 : 1 > : ^ >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; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ >function(v,i,a) {return true;} : (v: number, i: number, a: number[]) => true > : ^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >v : number @@ -100,13 +100,13 @@ foo(function(x) { x }); >[1].every(function(v,i,a) {return true;}) : boolean > : ^^^^^^^ >[1].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; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ >[1] : number[] > : ^^^^^^^^ >1 : 1 > : ^ >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; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ >function(v,i,a) {return true;} : (v: number, i: number, a: number[]) => true > : ^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >v : number @@ -122,13 +122,13 @@ foo(function(x) { x }); >["s"].every(function(v,i,a) {return true;}) : boolean > : ^^^^^^^ >["s"].every : { (predicate: (value: string, index: number, array: string[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: string, index: number, array: string[]) => unknown, thisArg?: any): boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ >["s"] : string[] > : ^^^^^^^^ >"s" : "s" > : ^^^ >every : { (predicate: (value: string, index: number, array: string[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: string, index: number, array: string[]) => unknown, thisArg?: any): boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^ >function(v,i,a) {return true;} : (v: string, i: number, a: string[]) => true > : ^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >v : string @@ -144,13 +144,13 @@ foo(function(x) { x }); >["s"].forEach(function(v,i,a) { v }) : void > : ^^^^ >["s"].forEach : (callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >["s"] : string[] > : ^^^^^^^^ >"s" : "s" > : ^^^ >forEach : (callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >function(v,i,a) { v } : (v: string, i: number, a: string[]) => void > : ^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >v : string diff --git a/tests/baselines/reference/targetTypeObjectLiteralToAny.types b/tests/baselines/reference/targetTypeObjectLiteralToAny.types index 0f76e3d8b9dd5..b7f46b8fa840c 100644 --- a/tests/baselines/reference/targetTypeObjectLiteralToAny.types +++ b/tests/baselines/reference/targetTypeObjectLiteralToAny.types @@ -16,11 +16,11 @@ function suggest(){ >TypeScriptKeywords.forEach(function(keyword) { result.push({text:keyword, type:"keyword"}); // this should not cause a crash - push should be typed to any }) : void > : ^^^^ >TypeScriptKeywords.forEach : (callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >TypeScriptKeywords : string[] > : ^^^^^^^^ >forEach : (callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >function(keyword) { result.push({text:keyword, type:"keyword"}); // this should not cause a crash - push should be typed to any } : (keyword: string) => void > : ^ ^^^^^^^^^^^^^^^^^ >keyword : string diff --git a/tests/baselines/reference/targetTypeTest1.types b/tests/baselines/reference/targetTypeTest1.types index 32d612355c8c4..53c1851361860 100644 --- a/tests/baselines/reference/targetTypeTest1.types +++ b/tests/baselines/reference/targetTypeTest1.types @@ -79,7 +79,7 @@ declare function EF1(a:number, b:number):number; function EF1(a,b) { return a+b; } >EF1 : (a: number, b: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a : any > : ^^^ >b : any @@ -97,7 +97,7 @@ var x = EF1(1,2); >EF1(1,2) : number > : ^^^^^^ >EF1 : (a: number, b: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -129,7 +129,7 @@ Point.prototype.add = function(dx, dy) { >Point.prototype.add = function(dx, dy) { return new Point(this.x + dx, this.y + dy);} : (dx: number, dy: number) => Point > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ >Point.prototype.add : (dx: number, dy: number) => Point -> : ^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >Point.prototype : Point > : ^^^^^ >Point : typeof Point @@ -137,7 +137,7 @@ Point.prototype.add = function(dx, dy) { >prototype : Point > : ^^^^^ >add : (dx: number, dy: number) => Point -> : ^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >function(dx, dy) { return new Point(this.x + dx, this.y + dy);} : (dx: number, dy: number) => Point > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ >dx : number diff --git a/tests/baselines/reference/targetTypeVoidFunc.types b/tests/baselines/reference/targetTypeVoidFunc.types index 3812aad252e14..9050fb61082fc 100644 --- a/tests/baselines/reference/targetTypeVoidFunc.types +++ b/tests/baselines/reference/targetTypeVoidFunc.types @@ -13,11 +13,11 @@ function f1(): { new (): number; } { var x = f1(); >x : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >f1() : new () => number -> : ^^^^^^^^^^^^^^^^ ->f1 : () => new () => number -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ +>f1 : () => { new (): number; } +> : ^^^^^^ var y = new x(); >y : number @@ -25,7 +25,7 @@ var y = new x(); >new x() : number > : ^^^^^^ >x : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ var z = new (f1())(); >z : number @@ -33,9 +33,9 @@ var z = new (f1())(); >new (f1())() : number > : ^^^^^^ >(f1()) : new () => number -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ >f1() : new () => number -> : ^^^^^^^^^^^^^^^^ ->f1 : () => new () => number -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ +>f1 : () => { new (): number; } +> : ^^^^^^ diff --git a/tests/baselines/reference/targetTypingOnFunctions.types b/tests/baselines/reference/targetTypingOnFunctions.types index 947e66153dacf..d72ea7e8977d5 100644 --- a/tests/baselines/reference/targetTypingOnFunctions.types +++ b/tests/baselines/reference/targetTypingOnFunctions.types @@ -13,11 +13,11 @@ var fu: (s: string) => string = function (s) { return s.toLowerCase() }; >s.toLowerCase() : string > : ^^^^^^ >s.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >s : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var zu = fu = function (s) { return s.toLowerCase() }; >zu : (s: string) => string @@ -25,7 +25,7 @@ var zu = fu = function (s) { return s.toLowerCase() }; >fu = function (s) { return s.toLowerCase() } : (s: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >fu : (s: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >function (s) { return s.toLowerCase() } : (s: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >s : string @@ -33,9 +33,9 @@ var zu = fu = function (s) { return s.toLowerCase() }; >s.toLowerCase() : string > : ^^^^^^ >s.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >s : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/templateExpressionAsPossiblyDiscriminantValue.types b/tests/baselines/reference/templateExpressionAsPossiblyDiscriminantValue.types index 88da52650ffac..6c844b0a8bfc0 100644 --- a/tests/baselines/reference/templateExpressionAsPossiblyDiscriminantValue.types +++ b/tests/baselines/reference/templateExpressionAsPossiblyDiscriminantValue.types @@ -64,11 +64,11 @@ const p3: ClickableDiscriminatedUnion = { >console.log('@@@@', ev) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'@@@@' : "@@@@" > : ^^^^^^ >ev : string diff --git a/tests/baselines/reference/templateInsideCallback.js b/tests/baselines/reference/templateInsideCallback.js index 21e5ecfdaab72..fff1d3a0d96e8 100644 --- a/tests/baselines/reference/templateInsideCallback.js +++ b/tests/baselines/reference/templateInsideCallback.js @@ -146,7 +146,7 @@ declare function flatMap(): any; * @template T * @type {Call} */ -declare const identity: any; +declare const identity: Call; type Nested = { oh: { no: number; diff --git a/tests/baselines/reference/templateInsideCallback.types b/tests/baselines/reference/templateInsideCallback.types index c5c6226caf3a8..783b03afea7b0 100644 --- a/tests/baselines/reference/templateInsideCallback.types +++ b/tests/baselines/reference/templateInsideCallback.types @@ -61,7 +61,7 @@ function flatMap(array, iterable = identity) { >array : unknown[] > : ^^^^^^^^^ >iterable : (x: unknown) => unknown -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >identity : any > : ^^^ @@ -98,11 +98,11 @@ function flatMap(array, iterable = identity) { >result.push(.../** @type {unknown[]} */(iterable(array[i]))) : number > : ^^^^^^ >result.push : (...items: unknown[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^ >result : unknown[] > : ^^^^^^^^^ >push : (...items: unknown[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^ >.../** @type {unknown[]} */(iterable(array[i])) : unknown > : ^^^^^^^ >(iterable(array[i])) : unknown[] @@ -110,7 +110,7 @@ function flatMap(array, iterable = identity) { >iterable(array[i]) : unknown > : ^^^^^^^ >iterable : (x: unknown) => unknown -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >array[i] : unknown > : ^^^^^^^ >array : unknown[] diff --git a/tests/baselines/reference/templateLiteralConstantEvaluation.symbols b/tests/baselines/reference/templateLiteralConstantEvaluation.symbols new file mode 100644 index 0000000000000..5a99b099db153 --- /dev/null +++ b/tests/baselines/reference/templateLiteralConstantEvaluation.symbols @@ -0,0 +1,36 @@ +//// [tests/cases/compiler/templateLiteralConstantEvaluation.ts] //// + +=== templateLiteralConstantEvaluation.ts === +// https://github.com/microsoft/TypeScript/issues/58494 + +function fn(arg: T): T { +>fn : Symbol(fn, Decl(templateLiteralConstantEvaluation.ts, 0, 0)) +>T : Symbol(T, Decl(templateLiteralConstantEvaluation.ts, 2, 12)) +>arg : Symbol(arg, Decl(templateLiteralConstantEvaluation.ts, 2, 15)) +>T : Symbol(T, Decl(templateLiteralConstantEvaluation.ts, 2, 12)) +>T : Symbol(T, Decl(templateLiteralConstantEvaluation.ts, 2, 12)) + + return arg; +>arg : Symbol(arg, Decl(templateLiteralConstantEvaluation.ts, 2, 15)) +} + +const a = '1'; +>a : Symbol(a, Decl(templateLiteralConstantEvaluation.ts, 6, 5)) + +const b = a + ' 2'; +>b : Symbol(b, Decl(templateLiteralConstantEvaluation.ts, 7, 5)) +>a : Symbol(a, Decl(templateLiteralConstantEvaluation.ts, 6, 5)) + +const c = `${b} 3`; +>c : Symbol(c, Decl(templateLiteralConstantEvaluation.ts, 8, 5)) +>b : Symbol(b, Decl(templateLiteralConstantEvaluation.ts, 7, 5)) + +const d = `${b} 3` as const; +>d : Symbol(d, Decl(templateLiteralConstantEvaluation.ts, 9, 5)) +>b : Symbol(b, Decl(templateLiteralConstantEvaluation.ts, 7, 5)) +>const : Symbol(const) + +fn(`${b} 3`); +>fn : Symbol(fn, Decl(templateLiteralConstantEvaluation.ts, 0, 0)) +>b : Symbol(b, Decl(templateLiteralConstantEvaluation.ts, 7, 5)) + diff --git a/tests/baselines/reference/templateLiteralConstantEvaluation.types b/tests/baselines/reference/templateLiteralConstantEvaluation.types new file mode 100644 index 0000000000000..fa84571697298 --- /dev/null +++ b/tests/baselines/reference/templateLiteralConstantEvaluation.types @@ -0,0 +1,60 @@ +//// [tests/cases/compiler/templateLiteralConstantEvaluation.ts] //// + +=== templateLiteralConstantEvaluation.ts === +// https://github.com/microsoft/TypeScript/issues/58494 + +function fn(arg: T): T { +>fn : (arg: T) => T +> : ^ ^^ ^^ ^^^^^ +>arg : T +> : ^ + + return arg; +>arg : T +> : ^ +} + +const a = '1'; +>a : "1" +> : ^^^ +>'1' : "1" +> : ^^^ + +const b = a + ' 2'; +>b : string +> : ^^^^^^ +>a + ' 2' : string +> : ^^^^^^ +>a : "1" +> : ^^^ +>' 2' : " 2" +> : ^^^^ + +const c = `${b} 3`; +>c : "1 2 3" +> : ^^^^^^^ +>`${b} 3` : "1 2 3" +> : ^^^^^^^ +>b : string +> : ^^^^^^ + +const d = `${b} 3` as const; +>d : "1 2 3" +> : ^^^^^^^ +>`${b} 3` as const : "1 2 3" +> : ^^^^^^^ +>`${b} 3` : "1 2 3" +> : ^^^^^^^ +>b : string +> : ^^^^^^ + +fn(`${b} 3`); +>fn(`${b} 3`) : "1 2 3" +> : ^^^^^^^ +>fn : (arg: T) => T +> : ^ ^^ ^^ ^^^^^ +>`${b} 3` : "1 2 3" +> : ^^^^^^^ +>b : string +> : ^^^^^^ + diff --git a/tests/baselines/reference/templateLiteralEscapeSequence.types b/tests/baselines/reference/templateLiteralEscapeSequence.types index 907597384de3c..6b7a045073d67 100644 --- a/tests/baselines/reference/templateLiteralEscapeSequence.types +++ b/tests/baselines/reference/templateLiteralEscapeSequence.types @@ -253,7 +253,7 @@ tag`\u`; >tag`\u` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\u` : "\\u" > : ^^^^^ @@ -261,7 +261,7 @@ tag`\u0`; >tag`\u0` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\u0` : "\\u0" > : ^^^^^^ @@ -269,7 +269,7 @@ tag`\u00`; >tag`\u00` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\u00` : "\\u00" > : ^^^^^^^ @@ -277,7 +277,7 @@ tag`\u000`; >tag`\u000` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\u000` : "\\u000" > : ^^^^^^^^ @@ -285,7 +285,7 @@ tag`\u0000`; >tag`\u0000` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\u0000` : "\0" > : ^^^^ @@ -293,7 +293,7 @@ tag`\u{}`; >tag`\u{}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\u{}` : "\\u{}" > : ^^^^^^^ @@ -301,7 +301,7 @@ tag`\u{ffffff}`; >tag`\u{ffffff}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\u{ffffff}` : "\\u{ffffff}" > : ^^^^^^^^^^^^^ @@ -309,7 +309,7 @@ tag`\x`; >tag`\x` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\x` : "\\x" > : ^^^^^ @@ -317,7 +317,7 @@ tag`\x0`; >tag`\x0` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\x0` : "\\x0" > : ^^^^^^ @@ -325,7 +325,7 @@ tag`\x00`; >tag`\x00` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\x00` : "\0" > : ^^^^ @@ -333,7 +333,7 @@ tag`${0}\u`; >tag`${0}\u` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\u` : string > : ^^^^^^ >0 : 0 @@ -343,7 +343,7 @@ tag`${0}\u0`; >tag`${0}\u0` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\u0` : string > : ^^^^^^ >0 : 0 @@ -353,7 +353,7 @@ tag`${0}\u00`; >tag`${0}\u00` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\u00` : string > : ^^^^^^ >0 : 0 @@ -363,7 +363,7 @@ tag`${0}\u000`; >tag`${0}\u000` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\u000` : string > : ^^^^^^ >0 : 0 @@ -373,7 +373,7 @@ tag`${0}\u0000`; >tag`${0}\u0000` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\u0000` : string > : ^^^^^^ >0 : 0 @@ -383,7 +383,7 @@ tag`${0}\u{}`; >tag`${0}\u{}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\u{}` : string > : ^^^^^^ >0 : 0 @@ -393,7 +393,7 @@ tag`${0}\u{ffffff}`; >tag`${0}\u{ffffff}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\u{ffffff}` : string > : ^^^^^^ >0 : 0 @@ -403,7 +403,7 @@ tag`${0}\x`; >tag`${0}\x` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\x` : string > : ^^^^^^ >0 : 0 @@ -413,7 +413,7 @@ tag`${0}\x0`; >tag`${0}\x0` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\x0` : string > : ^^^^^^ >0 : 0 @@ -423,7 +423,7 @@ tag`${0}\x00`; >tag`${0}\x00` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\x00` : string > : ^^^^^^ >0 : 0 @@ -433,7 +433,7 @@ tag`\u${0}`; >tag`\u${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\u${0}` : string > : ^^^^^^ >0 : 0 @@ -443,7 +443,7 @@ tag`\u0${0}`; >tag`\u0${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\u0${0}` : string > : ^^^^^^ >0 : 0 @@ -453,7 +453,7 @@ tag`\u00${0}`; >tag`\u00${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\u00${0}` : string > : ^^^^^^ >0 : 0 @@ -463,7 +463,7 @@ tag`\u000${0}`; >tag`\u000${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\u000${0}` : string > : ^^^^^^ >0 : 0 @@ -473,7 +473,7 @@ tag`\u0000${0}`; >tag`\u0000${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\u0000${0}` : string > : ^^^^^^ >0 : 0 @@ -483,7 +483,7 @@ tag`\u{}${0}`; >tag`\u{}${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\u{}${0}` : string > : ^^^^^^ >0 : 0 @@ -493,7 +493,7 @@ tag`\u{ffffff}${0}`; >tag`\u{ffffff}${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\u{ffffff}${0}` : string > : ^^^^^^ >0 : 0 @@ -503,7 +503,7 @@ tag`\x${0}`; >tag`\x${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\x${0}` : string > : ^^^^^^ >0 : 0 @@ -513,7 +513,7 @@ tag`\x0${0}`; >tag`\x0${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\x0${0}` : string > : ^^^^^^ >0 : 0 @@ -523,7 +523,7 @@ tag`\x00${0}`; >tag`\x00${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\x00${0}` : string > : ^^^^^^ >0 : 0 @@ -533,7 +533,7 @@ tag`${0}\u${0}`; >tag`${0}\u${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\u${0}` : string > : ^^^^^^ >0 : 0 @@ -545,7 +545,7 @@ tag`${0}\u0${0}`; >tag`${0}\u0${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\u0${0}` : string > : ^^^^^^ >0 : 0 @@ -557,7 +557,7 @@ tag`${0}\u00${0}`; >tag`${0}\u00${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\u00${0}` : string > : ^^^^^^ >0 : 0 @@ -569,7 +569,7 @@ tag`${0}\u000${0}`; >tag`${0}\u000${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\u000${0}` : string > : ^^^^^^ >0 : 0 @@ -581,7 +581,7 @@ tag`${0}\u0000${0}`; >tag`${0}\u0000${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\u0000${0}` : string > : ^^^^^^ >0 : 0 @@ -593,7 +593,7 @@ tag`${0}\u{}${0}`; >tag`${0}\u{}${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\u{}${0}` : string > : ^^^^^^ >0 : 0 @@ -605,7 +605,7 @@ tag`${0}\u{ffffff}${0}`; >tag`${0}\u{ffffff}${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\u{ffffff}${0}` : string > : ^^^^^^ >0 : 0 @@ -617,7 +617,7 @@ tag`${0}\x${0}`; >tag`${0}\x${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\x${0}` : string > : ^^^^^^ >0 : 0 @@ -629,7 +629,7 @@ tag`${0}\x0${0}`; >tag`${0}\x0${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\x0${0}` : string > : ^^^^^^ >0 : 0 @@ -641,7 +641,7 @@ tag`${0}\x00${0}`; >tag`${0}\x00${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\x00${0}` : string > : ^^^^^^ >0 : 0 @@ -653,7 +653,7 @@ tag`0${00}`; >tag`0${00}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`0${00}` : string > : ^^^^^^ >00 : 0 @@ -663,7 +663,7 @@ tag`0${05}`; >tag`0${05}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`0${05}` : string > : ^^^^^^ >05 : 5 @@ -673,7 +673,7 @@ tag`0${000}`; >tag`0${000}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`0${000}` : string > : ^^^^^^ >000 : 0 @@ -683,7 +683,7 @@ tag`0${005}`; >tag`0${005}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`0${005}` : string > : ^^^^^^ >005 : 5 @@ -693,7 +693,7 @@ tag`0${055}`; >tag`0${055}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`0${055}` : string > : ^^^^^^ >055 : 45 @@ -703,7 +703,7 @@ tag`${00}0`; >tag`${00}0` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${00}0` : string > : ^^^^^^ >00 : 0 @@ -713,7 +713,7 @@ tag`${05}0`; >tag`${05}0` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${05}0` : string > : ^^^^^^ >05 : 5 @@ -723,7 +723,7 @@ tag`${000}0`; >tag`${000}0` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${000}0` : string > : ^^^^^^ >000 : 0 @@ -733,7 +733,7 @@ tag`${005}0`; >tag`${005}0` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${005}0` : string > : ^^^^^^ >005 : 5 @@ -743,7 +743,7 @@ tag`${055}0`; >tag`${055}0` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${055}0` : string > : ^^^^^^ >055 : 45 @@ -753,7 +753,7 @@ tag`\0`; >tag`\0` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\0` : "\0" > : ^^^^ @@ -761,7 +761,7 @@ tag`\5`; >tag`\5` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\5` : "\\5" > : ^^^^^ @@ -769,7 +769,7 @@ tag`\00`; >tag`\00` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\00` : "\\00" > : ^^^^^^ @@ -777,7 +777,7 @@ tag`\05`; >tag`\05` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\05` : "\\05" > : ^^^^^^ @@ -785,7 +785,7 @@ tag`\55`; >tag`\55` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\55` : "\\55" > : ^^^^^^ @@ -793,7 +793,7 @@ tag`\000`; >tag`\000` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\000` : "\\000" > : ^^^^^^^ @@ -801,7 +801,7 @@ tag`\005`; >tag`\005` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\005` : "\\005" > : ^^^^^^^ @@ -809,7 +809,7 @@ tag`\055`; >tag`\055` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\055` : "\\055" > : ^^^^^^^ @@ -817,7 +817,7 @@ tag`${0}\0`; >tag`${0}\0` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\0` : string > : ^^^^^^ >0 : 0 @@ -827,7 +827,7 @@ tag`${0}\5`; >tag`${0}\5` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\5` : string > : ^^^^^^ >0 : 0 @@ -837,7 +837,7 @@ tag`${0}\00`; >tag`${0}\00` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\00` : string > : ^^^^^^ >0 : 0 @@ -847,7 +847,7 @@ tag`${0}\05`; >tag`${0}\05` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\05` : string > : ^^^^^^ >0 : 0 @@ -857,7 +857,7 @@ tag`${0}\55`; >tag`${0}\55` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\55` : string > : ^^^^^^ >0 : 0 @@ -867,7 +867,7 @@ tag`${0}\000`; >tag`${0}\000` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\000` : string > : ^^^^^^ >0 : 0 @@ -877,7 +877,7 @@ tag`${0}\005`; >tag`${0}\005` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\005` : string > : ^^^^^^ >0 : 0 @@ -887,7 +887,7 @@ tag`${0}\055`; >tag`${0}\055` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\055` : string > : ^^^^^^ >0 : 0 @@ -897,7 +897,7 @@ tag`\0${0}`; >tag`\0${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\0${0}` : string > : ^^^^^^ >0 : 0 @@ -907,7 +907,7 @@ tag`\5${0}`; >tag`\5${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\5${0}` : string > : ^^^^^^ >0 : 0 @@ -917,7 +917,7 @@ tag`\00${0}`; >tag`\00${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\00${0}` : string > : ^^^^^^ >0 : 0 @@ -927,7 +927,7 @@ tag`\05${0}`; >tag`\05${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\05${0}` : string > : ^^^^^^ >0 : 0 @@ -937,7 +937,7 @@ tag`\55${0}`; >tag`\55${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\55${0}` : string > : ^^^^^^ >0 : 0 @@ -947,7 +947,7 @@ tag`\000${0}`; >tag`\000${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\000${0}` : string > : ^^^^^^ >0 : 0 @@ -957,7 +957,7 @@ tag`\005${0}`; >tag`\005${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\005${0}` : string > : ^^^^^^ >0 : 0 @@ -967,7 +967,7 @@ tag`\055${0}`; >tag`\055${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\055${0}` : string > : ^^^^^^ >0 : 0 @@ -977,7 +977,7 @@ tag`${0}\0${0}`; >tag`${0}\0${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\0${0}` : string > : ^^^^^^ >0 : 0 @@ -989,7 +989,7 @@ tag`${0}\5${0}`; >tag`${0}\5${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\5${0}` : string > : ^^^^^^ >0 : 0 @@ -1001,7 +1001,7 @@ tag`${0}\00${0}`; >tag`${0}\00${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\00${0}` : string > : ^^^^^^ >0 : 0 @@ -1013,7 +1013,7 @@ tag`${0}\05${0}`; >tag`${0}\05${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\05${0}` : string > : ^^^^^^ >0 : 0 @@ -1025,7 +1025,7 @@ tag`${0}\55${0}`; >tag`${0}\55${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\55${0}` : string > : ^^^^^^ >0 : 0 @@ -1037,7 +1037,7 @@ tag`${0}\000${0}`; >tag`${0}\000${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\000${0}` : string > : ^^^^^^ >0 : 0 @@ -1049,7 +1049,7 @@ tag`${0}\005${0}`; >tag`${0}\005${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\005${0}` : string > : ^^^^^^ >0 : 0 @@ -1061,7 +1061,7 @@ tag`${0}\055${0}`; >tag`${0}\055${0}` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${0}\055${0}` : string > : ^^^^^^ >0 : 0 @@ -1073,7 +1073,7 @@ tag`\1`; >tag`\1` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\1` : "\\1" > : ^^^^^ @@ -1081,7 +1081,7 @@ tag`\01`; >tag`\01` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\01` : "\\01" > : ^^^^^^ @@ -1089,7 +1089,7 @@ tag`\001`; >tag`\001` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\001` : "\\001" > : ^^^^^^^ @@ -1097,7 +1097,7 @@ tag`\17`; >tag`\17` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\17` : "\\17" > : ^^^^^^ @@ -1105,7 +1105,7 @@ tag`\017`; >tag`\017` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\017` : "\\017" > : ^^^^^^^ @@ -1113,7 +1113,7 @@ tag`\0017`; >tag`\0017` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\0017` : "\\0017" > : ^^^^^^^^ @@ -1121,7 +1121,7 @@ tag`\177`; >tag`\177` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\177` : "\\177" > : ^^^^^^^ @@ -1129,7 +1129,7 @@ tag`\18`; >tag`\18` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\18` : "\\18" > : ^^^^^^ @@ -1137,7 +1137,7 @@ tag`\018`; >tag`\018` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\018` : "\\018" > : ^^^^^^^ @@ -1145,7 +1145,7 @@ tag`\0018`; >tag`\0018` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\0018` : "\\0018" > : ^^^^^^^^ @@ -1153,7 +1153,7 @@ tag`\4`; >tag`\4` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\4` : "\\4" > : ^^^^^ @@ -1161,7 +1161,7 @@ tag`\47`; >tag`\47` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\47` : "\\47" > : ^^^^^^ @@ -1169,7 +1169,7 @@ tag`\047`; >tag`\047` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\047` : "\\047" > : ^^^^^^^ @@ -1177,7 +1177,7 @@ tag`\0047`; >tag`\0047` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\0047` : "\\0047" > : ^^^^^^^^ @@ -1185,7 +1185,7 @@ tag`\477`; >tag`\477` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\477` : "\\477" > : ^^^^^^^ @@ -1193,7 +1193,7 @@ tag`\48`; >tag`\48` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\48` : "\\48" > : ^^^^^^ @@ -1201,7 +1201,7 @@ tag`\048`; >tag`\048` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\048` : "\\048" > : ^^^^^^^ @@ -1209,7 +1209,7 @@ tag`\0048`; >tag`\0048` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\0048` : "\\0048" > : ^^^^^^^^ @@ -1217,7 +1217,7 @@ tag`\8`; >tag`\8` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\8` : "\\8" > : ^^^^^ @@ -1225,7 +1225,7 @@ tag`\87`; >tag`\87` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\87` : "\\87" > : ^^^^^^ @@ -1233,7 +1233,7 @@ tag`\087`; >tag`\087` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\087` : "\\087" > : ^^^^^^^ @@ -1241,7 +1241,7 @@ tag`\0087`; >tag`\0087` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\0087` : "\\0087" > : ^^^^^^^^ @@ -1249,7 +1249,7 @@ tag`\877`; >tag`\877` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\877` : "\\877" > : ^^^^^^^ @@ -1257,7 +1257,7 @@ tag`\88`; >tag`\88` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\88` : "\\88" > : ^^^^^^ @@ -1265,7 +1265,7 @@ tag`\088`; >tag`\088` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\088` : "\\088" > : ^^^^^^^ @@ -1273,7 +1273,7 @@ tag`\0088`; >tag`\0088` : string > : ^^^^^^ >tag : (template: TemplateStringsArray, ...substitutions: any[]) => string -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\0088` : "\\0088" > : ^^^^^^^^ diff --git a/tests/baselines/reference/templateLiteralIntersection.types b/tests/baselines/reference/templateLiteralIntersection.types index 657f0342214a6..f2bb7b5546e50 100644 --- a/tests/baselines/reference/templateLiteralIntersection.types +++ b/tests/baselines/reference/templateLiteralIntersection.types @@ -25,8 +25,8 @@ type OriginA1 = `${A}` > : ^^^ type OriginA2 = `${MixA}` ->OriginA2 : MixA -> : ^^^^ +>OriginA2 : `${MixA}` +> : ^^^^^^^^^ type B = `${typeof a}` >B : "a" @@ -45,8 +45,8 @@ type OriginB1 = `${B}` > : ^^^ type OriginB2 = `${MixB}` ->OriginB2 : MixB -> : ^^^^ +>OriginB2 : `${MixB}` +> : ^^^^^^^^^ type MixC = { foo: string } & A >MixC : MixC @@ -55,20 +55,20 @@ type MixC = { foo: string } & A > : ^^^^^^ type OriginC = `${MixC}` ->OriginC : MixC -> : ^^^^ +>OriginC : `${MixC}` +> : ^^^^^^^^^ type MixD = ->MixD : T & { foo: string; } -> : ^^^^^^^^^^^ ^^^ +>MixD : `${T & { foo: string; }}` +> : ^^^^^^^^^^^^^^ ^^^^^ `${T & { foo: string }}` >foo : string > : ^^^^^^ type OriginD = `${MixD & { foo: string }}`; ->OriginD : "a" & { foo: string; } & { foo: string; } & { foo: string; } -> : ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +>OriginD : `${`${"a" & { foo: string; } & { foo: string; }}` & { foo: string; }}` +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^ >foo : string > : ^^^^^^ >foo : string diff --git a/tests/baselines/reference/templateLiteralIntersection2.types b/tests/baselines/reference/templateLiteralIntersection2.types index 6c64df7a6fd18..75af68967581e 100644 --- a/tests/baselines/reference/templateLiteralIntersection2.types +++ b/tests/baselines/reference/templateLiteralIntersection2.types @@ -21,7 +21,7 @@ joinedPath("foo/bar"); >joinedPath("foo/bar") : void > : ^^^^ >joinedPath : (p: JoinedPath) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"foo/bar" : "foo/bar" > : ^^^^^^^^^ @@ -33,7 +33,7 @@ joinedPath(`${somePath}/${somePath}`); >joinedPath(`${somePath}/${somePath}`) : void > : ^^^^ >joinedPath : (p: JoinedPath) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >`${somePath}/${somePath}` : `${Path}/${Path}` > : ^^^^^^^^^^^^^^^^^ >somePath : Path @@ -61,7 +61,7 @@ withinAs(""); >withinAs("") : void > : ^^^^ >withinAs : (p: StartsWithA & EndsWithA) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"" : "" > : ^^ @@ -69,7 +69,7 @@ withinAs("a"); >withinAs("a") : void > : ^^^^ >withinAs : (p: StartsWithA & EndsWithA) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"a" : "a" > : ^^^ @@ -77,7 +77,7 @@ withinAs("ab"); >withinAs("ab") : void > : ^^^^ >withinAs : (p: StartsWithA & EndsWithA) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"ab" : "ab" > : ^^^^ @@ -85,7 +85,7 @@ withinAs("aba"); >withinAs("aba") : void > : ^^^^ >withinAs : (p: StartsWithA & EndsWithA) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"aba" : "aba" > : ^^^^^ @@ -93,7 +93,7 @@ withinAs("abavvvva"); >withinAs("abavvvva") : void > : ^^^^ >withinAs : (p: StartsWithA & EndsWithA) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"abavvvva" : "abavvvva" > : ^^^^^^^^^^ diff --git a/tests/baselines/reference/templateLiteralIntersection3.types b/tests/baselines/reference/templateLiteralIntersection3.types index 0e918a359140b..362820795699c 100644 --- a/tests/baselines/reference/templateLiteralIntersection3.types +++ b/tests/baselines/reference/templateLiteralIntersection3.types @@ -24,7 +24,7 @@ options1[`foo`] = false; >options1[`foo`] : boolean > : ^^^^^^^ >options1 : { prop: number; } & { [k: string]: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >`foo` : "foo" > : ^^^^^ >false : false @@ -36,7 +36,7 @@ options1[`foo/${path}`] = false; >options1[`foo/${path}`] : boolean > : ^^^^^^^ >options1 : { prop: number; } & { [k: string]: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >`foo/${path}` : `foo/${Path}` > : ^^^^^^^^^^^^^ >path : Path @@ -47,8 +47,8 @@ options1[`foo/${path}`] = false; // Lowercase<`foo/${Path}`> => `foo/${Lowercase}` declare const lowercasePath: Lowercase<`foo/${Path}`>; ->lowercasePath : `foo/${Lowercase}` -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +>lowercasePath : `foo/${Lowercase<`${Path}`>}` +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ options1[lowercasePath] = false; >options1[lowercasePath] = false : false @@ -56,9 +56,9 @@ options1[lowercasePath] = false; >options1[lowercasePath] : boolean > : ^^^^^^^ >options1 : { prop: number; } & { [k: string]: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->lowercasePath : `foo/${Lowercase}` -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>lowercasePath : `foo/${Lowercase<`${Path}`>}` +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >false : false > : ^^^^^ diff --git a/tests/baselines/reference/templateLiteralIntersection4.types b/tests/baselines/reference/templateLiteralIntersection4.types index 944a7b2bb27bf..52c110bae8984 100644 --- a/tests/baselines/reference/templateLiteralIntersection4.types +++ b/tests/baselines/reference/templateLiteralIntersection4.types @@ -25,7 +25,7 @@ type StoreUtils = Omit<{ declare function createStore(store: Store): StoreUtils; >createStore : (store: Store) => StoreUtils -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >K : string > : ^^^^^^ >store : Store @@ -43,7 +43,7 @@ const { Provider, useUsername, useAge, useStore } = createStore({ >createStore({ username: "Aral", age: 31}) : StoreUtils<{ username: string; age: number; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >createStore : (store: Store) => StoreUtils -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ username: "Aral", age: 31} : { username: string; age: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/templateLiteralTypes1.types b/tests/baselines/reference/templateLiteralTypes1.types index a7c3fe5f3eafd..e4b0af8fc90d1 100644 --- a/tests/baselines/reference/templateLiteralTypes1.types +++ b/tests/baselines/reference/templateLiteralTypes1.types @@ -9,13 +9,13 @@ Instantiation count: 2,500 const createScopedActionType = (scope: S) => (type: T) => `${scope}/${type}` as `${S}/${T}`; >createScopedActionType : (scope: S) => (type: T) => `${S}/${T}` -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(scope: S) => (type: T) => `${scope}/${type}` as `${S}/${T}` : (scope: S) => (type: T) => `${S}/${T}` -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >scope : S > : ^ >(type: T) => `${scope}/${type}` as `${S}/${T}` : (type: T) => `${S}/${T}` -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >type : T > : ^ >`${scope}/${type}` as `${S}/${T}` : `${S}/${T}` @@ -29,11 +29,11 @@ const createScopedActionType = (scope: S) => (type: T) => `MyScope/${T}` >createActionInMyScope : (type: T) => `MyScope/${T}` -> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ >createScopedActionType("MyScope") : (type: T) => `MyScope/${T}` -> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ >createScopedActionType : (scope: S) => (type: T) => `${S}/${T}` -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >"MyScope" : "MyScope" > : ^^^^^^^^^ @@ -43,7 +43,7 @@ const MY_ACTION = createActionInMyScope("MY_ACTION"); // 'MyScope/MY_ACTION' >createActionInMyScope("MY_ACTION") : "MyScope/MY_ACTION" > : ^^^^^^^^^^^^^^^^^^^ >createActionInMyScope : (type: T) => `MyScope/${T}` -> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ >"MY_ACTION" : "MY_ACTION" > : ^^^^^^^^^^^ @@ -108,8 +108,8 @@ type TCA2 = Cases<'BAR'>; // 'BAR bar BAR bAR' // Assignability function test(name: `get${Capitalize}`) { ->test : (name: `get${Capitalize}`) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>test : (name: `get${Capitalize}`) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >name : `get${Capitalize}` > : ^^^^^^^^^^^^^^^^^^^^^ @@ -155,7 +155,7 @@ function fa1(x: T, y: { [P in keyof T]: T[P] }, z: { [P in keyof T & string a function fa2(x: { [P in B as `p_${P}`]: T }, y: { [Q in A as `p_${Q}`]: U }) { >fa2 : (x: { [P in B as `p_${P}`]: T; }, y: { [Q in A as `p_${Q}`]: U; }) => void -> : ^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : { [P in B as `p_${P}`]: T; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >y : { [Q in A as `p_${Q}`]: U; } @@ -358,32 +358,32 @@ type T43 = Split; // string[] // Inference and property name paths declare function getProp(obj: T, path: `${P0}.${P1}.${P2}`): T[P0][P1][P2]; ->getProp : { (obj: T, path: `${P0}.${P1}.${P2}`): T[P0][P1][P2]; (obj: T_1, path: `${P0_1}.${P1_1}`): T_1[P0_1][P1_1]; (obj: T_2, path: P0_2): T_2[P0_2]; (obj: object, path: string): unknown; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +>getProp : { (obj: T, path: `${P0}.${P1}.${P2}`): T[P0][P1][P2]; (obj: T_1, path: `${P0_1}.${P1_1}`): T_1[P0_1][P1_1]; (obj: T_1, path: P0_1): T_1[P0_1]; (obj: object, path: string): unknown; } +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >obj : T > : ^ >path : `${P0}.${P1}.${P2}` > : ^^^^^^^^^^^^^^^^^^^ declare function getProp(obj: T, path: `${P0}.${P1}`): T[P0][P1]; ->getProp : { (obj: T_1, path: `${P0_1}.${P1_1}.${P2}`): T_1[P0_1][P1_1][P2]; (obj: T, path: `${P0}.${P1}`): T[P0][P1]; (obj: T_2, path: P0_2): T_2[P0_2]; (obj: object, path: string): unknown; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +>getProp : { (obj: T_1, path: `${P0_1}.${P1_1}.${P2}`): T_1[P0_1][P1_1][P2]; (obj: T, path: `${P0}.${P1}`): T[P0][P1]; (obj: T_1, path: P0_1): T_1[P0_1]; (obj: object, path: string): unknown; } +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >obj : T > : ^ >path : `${P0}.${P1}` > : ^^^^^^^^^^^^^ declare function getProp(obj: T, path: P0): T[P0]; ->getProp : { (obj: T_1, path: `${P0_1}.${P1}.${P2}`): T_1[P0_1][P1][P2]; (obj: T_2, path: `${P0_2}.${P1_1}`): T_2[P0_2][P1_1]; (obj: T, path: P0): T[P0]; (obj: object, path: string): unknown; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +>getProp : { (obj: T_1, path: `${P0_1}.${P1}.${P2}`): T_1[P0_1][P1][P2]; (obj: T_1, path: `${P0_1}.${P1}`): T_1[P0_1][P1]; (obj: T, path: P0): T[P0]; (obj: object, path: string): unknown; } +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >obj : T > : ^ >path : P0 > : ^^ declare function getProp(obj: object, path: string): unknown; ->getProp : { (obj: T, path: `${P0}.${P1}.${P2}`): T[P0][P1][P2]; (obj: T_1, path: `${P0_1}.${P1_1}`): T_1[P0_1][P1_1]; (obj: T_2, path: P0_2): T_2[P0_2]; (obj: object, path: string): unknown; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +>getProp : { (obj: T, path: `${P0}.${P1}.${P2}`): T[P0][P1][P2]; (obj: T, path: `${P0}.${P1}`): T[P0][P1]; (obj: T, path: P0): T[P0]; (obj: object, path: string): unknown; } +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >obj : object > : ^^^^^^ >path : string @@ -394,8 +394,8 @@ let p1 = getProp({ a: { b: {c: 42, d: 'hello' }}} as const, 'a'); > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >getProp({ a: { b: {c: 42, d: 'hello' }}} as const, 'a') : { readonly b: { readonly c: 42; readonly d: "hello"; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->getProp : { (obj: T, path: `${P0}.${P1}.${P2}`): T[P0][P1][P2]; (obj: T_1, path: `${P0_1}.${P1_1}`): T_1[P0_1][P1_1]; (obj: T_2, path: P0_2): T_2[P0_2]; (obj: object, path: string): unknown; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +>getProp : { (obj: T, path: `${P0}.${P1}.${P2}`): T[P0][P1][P2]; (obj: T, path: `${P0}.${P1}`): T[P0][P1]; (obj: T, path: P0): T[P0]; (obj: object, path: string): unknown; } +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >{ a: { b: {c: 42, d: 'hello' }}} as const : { readonly a: { readonly b: { readonly c: 42; readonly d: "hello"; }; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ a: { b: {c: 42, d: 'hello' }}} : { readonly a: { readonly b: { readonly c: 42; readonly d: "hello"; }; }; } @@ -424,8 +424,8 @@ let p2 = getProp({ a: { b: {c: 42, d: 'hello' }}} as const, 'a.b'); > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >getProp({ a: { b: {c: 42, d: 'hello' }}} as const, 'a.b') : { readonly c: 42; readonly d: "hello"; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->getProp : { (obj: T, path: `${P0}.${P1}.${P2}`): T[P0][P1][P2]; (obj: T_1, path: `${P0_1}.${P1_1}`): T_1[P0_1][P1_1]; (obj: T_2, path: P0_2): T_2[P0_2]; (obj: object, path: string): unknown; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +>getProp : { (obj: T, path: `${P0}.${P1}.${P2}`): T[P0][P1][P2]; (obj: T, path: `${P0}.${P1}`): T[P0][P1]; (obj: T, path: P0): T[P0]; (obj: object, path: string): unknown; } +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >{ a: { b: {c: 42, d: 'hello' }}} as const : { readonly a: { readonly b: { readonly c: 42; readonly d: "hello"; }; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ a: { b: {c: 42, d: 'hello' }}} : { readonly a: { readonly b: { readonly c: 42; readonly d: "hello"; }; }; } @@ -454,8 +454,8 @@ let p3 = getProp({ a: { b: {c: 42, d: 'hello' }}} as const, 'a.b.d'); > : ^^^^^^^ >getProp({ a: { b: {c: 42, d: 'hello' }}} as const, 'a.b.d') : "hello" > : ^^^^^^^ ->getProp : { (obj: T, path: `${P0}.${P1}.${P2}`): T[P0][P1][P2]; (obj: T_1, path: `${P0_1}.${P1_1}`): T_1[P0_1][P1_1]; (obj: T_2, path: P0_2): T_2[P0_2]; (obj: object, path: string): unknown; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +>getProp : { (obj: T, path: `${P0}.${P1}.${P2}`): T[P0][P1][P2]; (obj: T, path: `${P0}.${P1}`): T[P0][P1]; (obj: T, path: P0): T[P0]; (obj: object, path: string): unknown; } +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >{ a: { b: {c: 42, d: 'hello' }}} as const : { readonly a: { readonly b: { readonly c: 42; readonly d: "hello"; }; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ a: { b: {c: 42, d: 'hello' }}} : { readonly a: { readonly b: { readonly c: 42; readonly d: "hello"; }; }; } @@ -490,7 +490,7 @@ type PropType = declare function getPropValue(obj: T, path: P): PropType; >getPropValue : (obj: T, path: P) => PropType -> : ^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >obj : T > : ^ >path : P @@ -526,7 +526,7 @@ getPropValue(obj, 'a'); // { b: {c: number, d: string } } >getPropValue(obj, 'a') : { b: { c: number; d: string; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >getPropValue : (obj: T, path: P) => PropType -> : ^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >obj : { a: { b: { c: number; d: string; }; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'a' : "a" @@ -536,7 +536,7 @@ getPropValue(obj, 'a.b'); // {c: number, d: string } >getPropValue(obj, 'a.b') : { c: number; d: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >getPropValue : (obj: T, path: P) => PropType -> : ^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >obj : { a: { b: { c: number; d: string; }; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'a.b' : "a.b" @@ -546,7 +546,7 @@ getPropValue(obj, 'a.b.d'); // string >getPropValue(obj, 'a.b.d') : string > : ^^^^^^ >getPropValue : (obj: T, path: P) => PropType -> : ^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >obj : { a: { b: { c: number; d: string; }; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'a.b.d' : "a.b.d" @@ -556,7 +556,7 @@ getPropValue(obj, 'a.b.x'); // unknown >getPropValue(obj, 'a.b.x') : unknown > : ^^^^^^^ >getPropValue : (obj: T, path: P) => PropType -> : ^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >obj : { a: { b: { c: number; d: string; }; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'a.b.x' : "a.b.x" @@ -566,7 +566,7 @@ getPropValue(obj, s); // unknown >getPropValue(obj, s) : unknown > : ^^^^^^^ >getPropValue : (obj: T, path: P) => PropType -> : ^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >obj : { a: { b: { c: number; d: string; }; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >s : string @@ -821,7 +821,7 @@ type SubKeys = K extends keyof T ? `${K}.${PathKeys}` declare function getProp2>(obj: T, path: P): PropType; >getProp2 : >(obj: T, path: P) => PropType -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >obj : T > : ^ >path : P @@ -886,7 +886,7 @@ let make = getProp2(obj2, 'cars.1.make'); // 'Trabant' >getProp2(obj2, 'cars.1.make') : "Trabant" > : ^^^^^^^^^ >getProp2 : >(obj: T, path: P) => PropType -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >obj2 : { readonly name: "John"; readonly age: 42; readonly cars: readonly [{ readonly make: "Ford"; readonly age: 10; }, { readonly make: "Trabant"; readonly age: 35; }]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'cars.1.make' : "cars.1.make" diff --git a/tests/baselines/reference/templateLiteralTypes2.types b/tests/baselines/reference/templateLiteralTypes2.types index 48851e24db427..aa664dda40406 100644 --- a/tests/baselines/reference/templateLiteralTypes2.types +++ b/tests/baselines/reference/templateLiteralTypes2.types @@ -3,7 +3,7 @@ === templateLiteralTypes2.ts === function ft1(s: string, n: number, u: 'foo' | 'bar' | 'baz', t: T) { >ft1 : (s: string, n: number, u: "foo" | "bar" | "baz", t: T) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >s : string > : ^^^^^^ >n : number @@ -334,7 +334,7 @@ declare function widening(x: T): T; declare function nonWidening(x: T): T; >nonWidening : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : T > : ^ @@ -352,7 +352,7 @@ function ft13(s: string, cond: boolean) { >widening(`foo${s}`) : string > : ^^^^^^ >widening : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >`foo${s}` : string > : ^^^^^^ >s : string @@ -364,7 +364,7 @@ function ft13(s: string, cond: boolean) { >widening(cond ? 'a' : `foo${s}`) : string > : ^^^^^^ >widening : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >cond ? 'a' : `foo${s}` : string > : ^^^^^^ >cond : boolean @@ -382,7 +382,7 @@ function ft13(s: string, cond: boolean) { >nonWidening(`foo${s}`) : `foo${string}` > : ^^^^^^^^^^^^^^ >nonWidening : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >`foo${s}` : `foo${string}` > : ^^^^^^^^^^^^^^ >s : string @@ -394,7 +394,7 @@ function ft13(s: string, cond: boolean) { >nonWidening(cond ? 'a' : `foo${s}`) : `foo${string}` | "a" > : ^^^^^^^^^^^^^^^^^^^^ >nonWidening : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >cond ? 'a' : `foo${s}` : `foo${string}` | "a" > : ^^^^^^^^^^^^^^^^^^^^ >cond : boolean @@ -458,7 +458,7 @@ declare function g1(x: T): T; declare function g2(x: T): T; >g2 : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : T > : ^ @@ -474,7 +474,7 @@ function ft20(s: string) { >g1(`xyz-${s}`) : string > : ^^^^^^ >g1 : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >`xyz-${s}` : string > : ^^^^^^ >s : string @@ -486,7 +486,7 @@ function ft20(s: string) { >g2(`xyz-${s}`) : `xyz-${string}` > : ^^^^^^^^^^^^^^^ >g2 : (x: T) => T -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >`xyz-${s}` : `xyz-${string}` > : ^^^^^^^^^^^^^^^ >s : string @@ -497,7 +497,7 @@ function ft20(s: string) { declare function takesLiteral(literal: T): T extends `foo.bar.${infer R}` ? R : unknown; >takesLiteral : (literal: T) => T extends `foo.bar.${infer R}` ? R : unknown -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >literal : T > : ^ @@ -507,7 +507,7 @@ const t1 = takesLiteral("foo.bar.baz"); // "baz" >takesLiteral("foo.bar.baz") : "baz" > : ^^^^^ >takesLiteral : (literal: T) => T extends `foo.bar.${infer R}` ? R : unknown -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >"foo.bar.baz" : "foo.bar.baz" > : ^^^^^^^^^^^^^ @@ -523,7 +523,7 @@ const t2 = takesLiteral(id2); // "baz" >takesLiteral(id2) : "baz" > : ^^^^^ >takesLiteral : (literal: T) => T extends `foo.bar.${infer R}` ? R : unknown -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >id2 : "foo.bar.baz" > : ^^^^^^^^^^^^^ @@ -537,7 +537,7 @@ const t3 = takesLiteral(`foo.bar.${someString}`); // string >takesLiteral(`foo.bar.${someString}`) : string > : ^^^^^^ >takesLiteral : (literal: T) => T extends `foo.bar.${infer R}` ? R : unknown -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >`foo.bar.${someString}` : `foo.bar.${string}` > : ^^^^^^^^^^^^^^^^^^^ >someString : string @@ -557,7 +557,7 @@ const t4 = takesLiteral(id4); // unknown >takesLiteral(id4) : unknown > : ^^^^^^^ >takesLiteral : (literal: T) => T extends `foo.bar.${infer R}` ? R : unknown -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >id4 : string > : ^^^^^^ @@ -571,7 +571,7 @@ const t5 = takesLiteral(`foo.bar.${someUnion}`); // "abc" | "def" | "ghi" >takesLiteral(`foo.bar.${someUnion}`) : "abc" | "def" | "ghi" > : ^^^^^^^^^^^^^^^^^^^^^ >takesLiteral : (literal: T) => T extends `foo.bar.${infer R}` ? R : unknown -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >`foo.bar.${someUnion}` : "foo.bar.abc" | "foo.bar.def" | "foo.bar.ghi" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >someUnion : "abc" | "def" | "ghi" diff --git a/tests/baselines/reference/templateLiteralTypes3.types b/tests/baselines/reference/templateLiteralTypes3.types index f6101b297b946..2f1532ca92237 100644 --- a/tests/baselines/reference/templateLiteralTypes3.types +++ b/tests/baselines/reference/templateLiteralTypes3.types @@ -53,13 +53,13 @@ type T11 = Foo1<`**${boolean}**${boolean}**`>; declare function foo1(arg: `*${V}*`): V; >foo1 : (arg: `*${V}*`) => V -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >arg : `*${V}*` > : ^^^^^^^^ function f1(s: string, n: number, b: boolean, t: T) { >f1 : (s: string, n: number, b: boolean, t: T) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >s : string > : ^^^^^^ >n : number @@ -75,7 +75,7 @@ function f1(s: string, n: number, b: boolean, t: T) { >foo1('hello') : string > : ^^^^^^ >foo1 : (arg: `*${V}*`) => V -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >'hello' : "hello" > : ^^^^^^^ @@ -85,7 +85,7 @@ function f1(s: string, n: number, b: boolean, t: T) { >foo1('*hello*') : "hello" > : ^^^^^^^ >foo1 : (arg: `*${V}*`) => V -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >'*hello*' : "*hello*" > : ^^^^^^^^^ @@ -95,7 +95,7 @@ function f1(s: string, n: number, b: boolean, t: T) { >foo1('**hello**') : "*hello*" > : ^^^^^^^^^ >foo1 : (arg: `*${V}*`) => V -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >'**hello**' : "**hello**" > : ^^^^^^^^^^^ @@ -105,7 +105,7 @@ function f1(s: string, n: number, b: boolean, t: T) { >foo1(`*${s}*` as const) : string > : ^^^^^^ >foo1 : (arg: `*${V}*`) => V -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >`*${s}*` as const : `*${string}*` > : ^^^^^^^^^^^^^ >`*${s}*` : `*${string}*` @@ -119,7 +119,7 @@ function f1(s: string, n: number, b: boolean, t: T) { >foo1(`*${n}*` as const) : `${number}` > : ^^^^^^^^^^^ >foo1 : (arg: `*${V}*`) => V -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >`*${n}*` as const : `*${number}*` > : ^^^^^^^^^^^^^ >`*${n}*` : `*${number}*` @@ -133,7 +133,7 @@ function f1(s: string, n: number, b: boolean, t: T) { >foo1(`*${b}*` as const) : "false" | "true" > : ^^^^^^^^^^^^^^^^ >foo1 : (arg: `*${V}*`) => V -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >`*${b}*` as const : "*false*" | "*true*" > : ^^^^^^^^^^^^^^^^^^^^ >`*${b}*` : "*false*" | "*true*" @@ -147,7 +147,7 @@ function f1(s: string, n: number, b: boolean, t: T) { >foo1(`*${t}*` as const) : T > : ^ >foo1 : (arg: `*${V}*`) => V -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >`*${t}*` as const : `*${T}*` > : ^^^^^^^^ >`*${t}*` : `*${T}*` @@ -161,7 +161,7 @@ function f1(s: string, n: number, b: boolean, t: T) { >foo1(`**${s}**` as const) : `*${string}*` > : ^^^^^^^^^^^^^ >foo1 : (arg: `*${V}*`) => V -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >`**${s}**` as const : `**${string}**` > : ^^^^^^^^^^^^^^^ >`**${s}**` : `**${string}**` @@ -286,7 +286,7 @@ function f2() { function f3(s: string, n: number, b: boolean, t: T) { >f3 : (s: string, n: number, b: boolean, t: T) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >s : string > : ^^^^^^ >n : number @@ -387,7 +387,7 @@ function f3(s: string, n: number, b: boolean, t: T) { function f4(s: string, n: number, b: boolean, t: T) { >f4 : (s: string, n: number, b: boolean, t: T) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >s : string > : ^^^^^^ >n : number @@ -597,16 +597,16 @@ type Schema = { a: { b: { c: number } } }; > : ^^^^^^ declare function chain(field: F | `${F}.${F}`): void; ->chain : (field: F | `${F}.${F}`) => void -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^ +>chain : (field: F | `${F}.${F}`) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >field : F | `${F}.${F}` > : ^^^^^^^^^^^^^^^ chain("a"); >chain("a") : void > : ^^^^ ->chain : (field: F | `${F}.${F}`) => void -> : ^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>chain : (field: F | `${F}.${F}`) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >"a" : "a" > : ^^^ @@ -646,7 +646,7 @@ function ff1(x: `foo-${string}`, y: `${string}-bar`, z: `baz-${string}`) { function ff2(x: `foo-${T}`, y: `${T}-bar`, z: `baz-${T}`) { >ff2 : (x: `foo-${T}`, y: `${T}-bar`, z: `baz-${T}`) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : `foo-${T}` > : ^^^^^^^^^^ >y : `${T}-bar` @@ -770,7 +770,7 @@ function reducer(action: Action) { >action.type : "FOO_SUCCESS" > : ^^^^^^^^^^^^^ >action : { type: `${string}_SUCCESS`; response: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^ ^^^ >type : "FOO_SUCCESS" > : ^^^^^^^^^^^^^ @@ -778,7 +778,7 @@ function reducer(action: Action) { >action.response : string > : ^^^^^^ >action : { type: `${string}_SUCCESS`; response: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^ ^^^ >response : string > : ^^^^^^ } @@ -791,22 +791,22 @@ type DotString = `${string}.${string}.${string}`; > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ declare function noSpread

    (args: P[]): P; ->noSpread :

    (args: P[]) => P -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +>noSpread :

    (args: P[]) => P +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >args : P[] > : ^^^ declare function spread

    (...args: P[]): P; ->spread :

    (...args: P[]) => P -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +>spread :

    (...args: P[]) => P +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >args : P[] > : ^^^ noSpread([`1.${'2'}.3`, `1.${'2'}.4`]); >noSpread([`1.${'2'}.3`, `1.${'2'}.4`]) : "1.2.3" | "1.2.4" > : ^^^^^^^^^^^^^^^^^ ->noSpread :

    (args: P[]) => P -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +>noSpread :

    (args: P[]) => P +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >[`1.${'2'}.3`, `1.${'2'}.4`] : ("1.2.3" | "1.2.4")[] > : ^^^^^^^^^^^^^^^^^^^^^ >`1.${'2'}.3` : "1.2.3" @@ -821,8 +821,8 @@ noSpread([`1.${'2'}.3`, `1.${'2'}.4`]); noSpread([`1.${'2' as string}.3`, `1.${'2' as string}.4`]); >noSpread([`1.${'2' as string}.3`, `1.${'2' as string}.4`]) : `1.${string}.3` | `1.${string}.4` > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->noSpread :

    (args: P[]) => P -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +>noSpread :

    (args: P[]) => P +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >[`1.${'2' as string}.3`, `1.${'2' as string}.4`] : (`1.${string}.3` | `1.${string}.4`)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >`1.${'2' as string}.3` : `1.${string}.3` @@ -841,8 +841,8 @@ noSpread([`1.${'2' as string}.3`, `1.${'2' as string}.4`]); spread(`1.${'2'}.3`, `1.${'2'}.4`); >spread(`1.${'2'}.3`, `1.${'2'}.4`) : "1.2.3" | "1.2.4" > : ^^^^^^^^^^^^^^^^^ ->spread :

    (...args: P[]) => P -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +>spread :

    (...args: P[]) => P +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >`1.${'2'}.3` : "1.2.3" > : ^^^^^^^ >'2' : "2" @@ -855,8 +855,8 @@ spread(`1.${'2'}.3`, `1.${'2'}.4`); spread(`1.${'2' as string}.3`, `1.${'2' as string}.4`); >spread(`1.${'2' as string}.3`, `1.${'2' as string}.4`) : `1.${string}.3` | `1.${string}.4` > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->spread :

    (...args: P[]) => P -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +>spread :

    (...args: P[]) => P +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >`1.${'2' as string}.3` : `1.${string}.3` > : ^^^^^^^^^^^^^^^ >'2' as string : string @@ -872,7 +872,7 @@ spread(`1.${'2' as string}.3`, `1.${'2' as string}.4`); function ft1(t: T, u: Uppercase, u1: Uppercase<`1.${T}.3`>, u2: Uppercase<`1.${T}.4`>) { >ft1 : (t: T, u: Uppercase, u1: Uppercase<`1.${T}.3`>, u2: Uppercase<`1.${T}.4`>) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >t : T > : ^ >u : Uppercase @@ -885,8 +885,8 @@ function ft1(t: T, u: Uppercase, u1: Uppercase<`1.${T}.3`>, spread(`1.${t}.3`, `1.${t}.4`); >spread(`1.${t}.3`, `1.${t}.4`) : `1.${T}.3` | `1.${T}.4` > : ^^^^^^^^^^^^^^^^^^^^^^^ ->spread :

    (...args: P[]) => P -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +>spread :

    (...args: P[]) => P +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >`1.${t}.3` : `1.${T}.3` > : ^^^^^^^^^^ >t : T @@ -899,8 +899,8 @@ function ft1(t: T, u: Uppercase, u1: Uppercase<`1.${T}.3`>, spread(`1.${u}.3`, `1.${u}.4`); >spread(`1.${u}.3`, `1.${u}.4`) : `1.${Uppercase}.3` | `1.${Uppercase}.4` > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->spread :

    (...args: P[]) => P -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +>spread :

    (...args: P[]) => P +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >`1.${u}.3` : `1.${Uppercase}.3` > : ^^^^^^^^^^^^^^^^^^^^^ >u : Uppercase @@ -913,8 +913,8 @@ function ft1(t: T, u: Uppercase, u1: Uppercase<`1.${T}.3`>, spread(u1, u2); >spread(u1, u2) : `1.${Uppercase}.3` | `1.${Uppercase}.4` > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->spread :

    (...args: P[]) => P -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +>spread :

    (...args: P[]) => P +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >u1 : `1.${Uppercase}.3` > : ^^^^^^^^^^^^^^^^^^^^^ >u2 : `1.${Uppercase}.4` @@ -931,7 +931,7 @@ type Boom = 'abc' | 'def' | `a${string}` | Lowercase; function a() { >a : () => void -> : ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ >id : string > : ^^^^^^ diff --git a/tests/baselines/reference/templateLiteralTypes4.types b/tests/baselines/reference/templateLiteralTypes4.types index c71aba1a0fb30..ce1fb6e30e827 100644 --- a/tests/baselines/reference/templateLiteralTypes4.types +++ b/tests/baselines/reference/templateLiteralTypes4.types @@ -612,7 +612,7 @@ interface TypedObjectMembers { // get/set a field by name get(key: K): FieldType["type"]>; >get : (key: K) => FieldType["type"]> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >key : K > : ^ >name : K @@ -620,7 +620,7 @@ interface TypedObjectMembers { set(key: K, value: FieldType["type"]>): void; >set : (key: K, value: FieldType["type"]>) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >key : K > : ^ >value : FieldType["type"]> @@ -630,14 +630,14 @@ interface TypedObjectMembers { // get/set a field by index getIndex>(index: I): FieldType["type"]>; ->getIndex : >>(index: I) => FieldType["type"]> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +>getIndex : >(index: I) => FieldType["type"]> +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >index : I > : ^ setIndex>(index: I, value: FieldType["type"]>): void; ->setIndex : >>(index: I, value: FieldType["type"]>) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +>setIndex : >(index: I, value: FieldType["type"]>) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >index : I > : ^ >value : FieldType["type"]> @@ -679,11 +679,11 @@ p.getIndex(0); // ok, 0 is a valid index >p.getIndex(0) : number > : ^^^^^^ >p.getIndex : (index: I) => FieldType["type"]> -> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^ ^ >p : Point > : ^^^^^ >getIndex : (index: I) => FieldType["type"]> -> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^ ^ >0 : 0 > : ^ @@ -691,11 +691,11 @@ p.getIndex(1); // ok, 1 is a valid index >p.getIndex(1) : number > : ^^^^^^ >p.getIndex : (index: I) => FieldType["type"]> -> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^ ^ >p : Point > : ^^^^^ >getIndex : (index: I) => FieldType["type"]> -> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^ ^ >1 : 1 > : ^ @@ -703,11 +703,11 @@ p.getIndex(2); // error, 2 is not a valid index >p.getIndex(2) : number > : ^^^^^^ >p.getIndex : (index: I) => FieldType["type"]> -> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^ ^ >p : Point > : ^^^^^ >getIndex : (index: I) => FieldType["type"]> -> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^ ^ >2 : 2 > : ^ @@ -715,11 +715,11 @@ p.setIndex(0, 0); // ok, 0 is a valid index >p.setIndex(0, 0) : void > : ^^^^ >p.setIndex : (index: I, value: FieldType["type"]>) => void -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >p : Point > : ^^^^^ >setIndex : (index: I, value: FieldType["type"]>) => void -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >0 : 0 > : ^ >0 : 0 @@ -729,11 +729,11 @@ p.setIndex(1, 0); // ok, 1 is a valid index >p.setIndex(1, 0) : void > : ^^^^ >p.setIndex : (index: I, value: FieldType["type"]>) => void -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >p : Point > : ^^^^^ >setIndex : (index: I, value: FieldType["type"]>) => void -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >1 : 1 > : ^ >0 : 0 @@ -743,11 +743,11 @@ p.setIndex(2, 3); // error, 2 is not a valid index >p.setIndex(2, 3) : void > : ^^^^ >p.setIndex : (index: I, value: FieldType["type"]>) => void -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >p : Point > : ^^^^^ >setIndex : (index: I, value: FieldType["type"]>) => void -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >2 : 2 > : ^ >3 : 3 @@ -756,7 +756,7 @@ p.setIndex(2, 3); // error, 2 is not a valid index // function inference declare function f1(s: `**${T}**`): T; >f1 : (s: `**${T}**`) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >s : `**${T}**` > : ^^^^^^^^^^ @@ -764,13 +764,13 @@ f1("**123**"); // "123" >f1("**123**") : "123" > : ^^^^^ >f1 : (s: `**${T}**`) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >"**123**" : "**123**" > : ^^^^^^^^^ declare function f2(s: `**${T}**`): T; >f2 : (s: `**${T}**`) => T -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >s : `**${T}**` > : ^^^^^^^^^^ @@ -778,13 +778,13 @@ f2("**123**"); // 123 >f2("**123**") : 123 > : ^^^ >f2 : (s: `**${T}**`) => T -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >"**123**" : "**123**" > : ^^^^^^^^^ declare function f3(s: `**${T}**`): T; >f3 : (s: `**${T}**`) => T -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >s : `**${T}**` > : ^^^^^^^^^^ @@ -792,13 +792,13 @@ f3("**123**"); // 123n >f3("**123**") : 123n > : ^^^^ >f3 : (s: `**${T}**`) => T -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >"**123**" : "**123**" > : ^^^^^^^^^ declare function f4(s: `**${T}**`): T; >f4 : (s: `**${T}**`) => T -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >s : `**${T}**` > : ^^^^^^^^^^ @@ -806,7 +806,7 @@ f4("**true**"); // true | "true" >f4("**true**") : true > : ^^^^ >f4 : (s: `**${T}**`) => T -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >"**true**" : "**true**" > : ^^^^^^^^^^ @@ -814,7 +814,7 @@ f4("**false**"); // false | "false" >f4("**false**") : false > : ^^^^^ >f4 : (s: `**${T}**`) => T -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >"**false**" : "**false**" > : ^^^^^^^^^^^ diff --git a/tests/baselines/reference/templateLiteralTypes5.errors.txt b/tests/baselines/reference/templateLiteralTypes5.errors.txt new file mode 100644 index 0000000000000..afb24520a3315 --- /dev/null +++ b/tests/baselines/reference/templateLiteralTypes5.errors.txt @@ -0,0 +1,50 @@ +templateLiteralTypes5.ts(10,7): error TS2322: Type '(x: `${T0}`) => TypeMap[T0]' is not assignable to type 'F2'. + Type 'TypeMap[T2]' is not assignable to type 'TypeMap[`${T2}`]'. + Type 'T2' is not assignable to type '`${T2}`'. + Type '"a" | "b"' is not assignable to type '`${T2}`'. + Type '"a"' is not assignable to type '`${T2}`'. +templateLiteralTypes5.ts(13,11): error TS2322: Type 'T3' is not assignable to type '`${T3}`'. + Type '"a" | "b"' is not assignable to type '`${T3}`'. + Type '"a"' is not assignable to type '`${T3}`'. +templateLiteralTypes5.ts(14,11): error TS2322: Type '`${T3}`' is not assignable to type 'T3'. + '`${T3}`' is assignable to the constraint of type 'T3', but 'T3' could be instantiated with a different subtype of constraint '"a" | "b"'. + Type '"a" | "b"' is not assignable to type 'T3'. + '"a" | "b"' is assignable to the constraint of type 'T3', but 'T3' could be instantiated with a different subtype of constraint '"a" | "b"'. + Type '"a"' is not assignable to type 'T3'. + '"a"' is assignable to the constraint of type 'T3', but 'T3' could be instantiated with a different subtype of constraint '"a" | "b"'. + + +==== templateLiteralTypes5.ts (3 errors) ==== + // https://github.com/microsoft/TypeScript/issues/55364 + interface TypeMap { + a: "A"; + b: "B"; + } + declare const f: (x: `${T0}`) => TypeMap[T0]; + type F1 = (x: `${T1}`) => TypeMap[T1]; + const f1: F1 = f; + type F2 = (x: `${T2}`) => TypeMap[`${T2}`] + const f2: F2 = f + ~~ +!!! error TS2322: Type '(x: `${T0}`) => TypeMap[T0]' is not assignable to type 'F2'. +!!! error TS2322: Type 'TypeMap[T2]' is not assignable to type 'TypeMap[`${T2}`]'. +!!! error TS2322: Type 'T2' is not assignable to type '`${T2}`'. +!!! error TS2322: Type '"a" | "b"' is not assignable to type '`${T2}`'. +!!! error TS2322: Type '"a"' is not assignable to type '`${T2}`'. + + function f3(x: T3) { + const test1: `${T3}` = x + ~~~~~ +!!! error TS2322: Type 'T3' is not assignable to type '`${T3}`'. +!!! error TS2322: Type '"a" | "b"' is not assignable to type '`${T3}`'. +!!! error TS2322: Type '"a"' is not assignable to type '`${T3}`'. + const test2: T3 = "" as `${T3}`; + ~~~~~ +!!! error TS2322: Type '`${T3}`' is not assignable to type 'T3'. +!!! error TS2322: '`${T3}`' is assignable to the constraint of type 'T3', but 'T3' could be instantiated with a different subtype of constraint '"a" | "b"'. +!!! error TS2322: Type '"a" | "b"' is not assignable to type 'T3'. +!!! error TS2322: '"a" | "b"' is assignable to the constraint of type 'T3', but 'T3' could be instantiated with a different subtype of constraint '"a" | "b"'. +!!! error TS2322: Type '"a"' is not assignable to type 'T3'. +!!! error TS2322: '"a"' is assignable to the constraint of type 'T3', but 'T3' could be instantiated with a different subtype of constraint '"a" | "b"'. + } + \ No newline at end of file diff --git a/tests/baselines/reference/templateLiteralTypes5.types b/tests/baselines/reference/templateLiteralTypes5.types index 27e09dfc9aead..0fa473a3f9c02 100644 --- a/tests/baselines/reference/templateLiteralTypes5.types +++ b/tests/baselines/reference/templateLiteralTypes5.types @@ -13,51 +13,51 @@ interface TypeMap { } declare const f: (x: `${T0}`) => TypeMap[T0]; >f : (x: `${T0}`) => TypeMap[T0] -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ->x : T0 -> : ^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ +>x : `${T0}` +> : ^^^^^^^ type F1 = (x: `${T1}`) => TypeMap[T1]; >F1 : F1 > : ^^ ->x : T1 -> : ^^ +>x : `${T1}` +> : ^^^^^^^ const f1: F1 = f; >f1 : F1 > : ^^ >f : (x: `${T0}`) => TypeMap[T0] -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ type F2 = (x: `${T2}`) => TypeMap[`${T2}`] >F2 : F2 > : ^^ ->x : T2 -> : ^^ +>x : `${T2}` +> : ^^^^^^^ const f2: F2 = f >f2 : F2 > : ^^ >f : (x: `${T0}`) => TypeMap[T0] -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ function f3(x: T3) { >f3 : (x: T3) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T3 > : ^^ const test1: `${T3}` = x ->test1 : T3 -> : ^^ +>test1 : `${T3}` +> : ^^^^^^^ >x : T3 > : ^^ const test2: T3 = "" as `${T3}`; >test2 : T3 > : ^^ ->"" as `${T3}` : T3 -> : ^^ +>"" as `${T3}` : `${T3}` +> : ^^^^^^^ >"" : "" > : ^^ } diff --git a/tests/baselines/reference/templateLiteralTypes6.types b/tests/baselines/reference/templateLiteralTypes6.types index 9b8ea3f0ae0c0..1260fe0c6669c 100644 --- a/tests/baselines/reference/templateLiteralTypes6.types +++ b/tests/baselines/reference/templateLiteralTypes6.types @@ -27,7 +27,7 @@ type Keyof = keyof T & string; declare function f1< >f1 : , Event extends Keyof>(eventPath: `${Scope}:${Event}`) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ Scope extends Keyof, Event extends Keyof, @@ -37,7 +37,7 @@ declare function f1< function f2< >f2 : , Event extends Keyof>(scope: Scope, event: Event) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ Scope extends Keyof, Event extends Keyof, @@ -51,7 +51,7 @@ function f2< >f1(`${scope}:${event}`) : void > : ^^^^ >f1 : , Event_1 extends Keyof>(eventPath: `${Scope_1}:${Event_1}`) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >`${scope}:${event}` : `${Scope}:${Event}` > : ^^^^^^^^^^^^^^^^^^^ >scope : Scope diff --git a/tests/baselines/reference/templateLiteralTypes7.types b/tests/baselines/reference/templateLiteralTypes7.types index 07e5795b9a6cb..866cc90791203 100644 --- a/tests/baselines/reference/templateLiteralTypes7.types +++ b/tests/baselines/reference/templateLiteralTypes7.types @@ -23,7 +23,7 @@ interface NMap { declare const g: (x: `${T}`) => NMap[T] >g : (x: `${T}`) => NMap[T] -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : `${T}` > : ^^^^^^ @@ -37,7 +37,7 @@ const g1: G1 = g; // ok >g1 : G1 > : ^^ >g : (x: `${T}`) => NMap[T] -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ type G2 = (x: `${T}`) => NMap[T] >G2 : G2 @@ -49,7 +49,7 @@ const g2: G2 = g; // error >g2 : G2 > : ^^ >g : (x: `${T}`) => NMap[T] -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ type G3 = (x: `${T}`) => NMap[T] >G3 : G3 @@ -61,5 +61,5 @@ const g3: G3 = g; // ok >g3 : G3 > : ^^ >g : (x: `${T}`) => NMap[T] -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/templateLiteralTypes8.symbols b/tests/baselines/reference/templateLiteralTypes8.symbols new file mode 100644 index 0000000000000..fc4f9ad834970 --- /dev/null +++ b/tests/baselines/reference/templateLiteralTypes8.symbols @@ -0,0 +1,27 @@ +//// [tests/cases/conformance/types/literal/templateLiteralTypes8.ts] //// + +=== templateLiteralTypes8.ts === +const enum E { +>E : Symbol(E, Decl(templateLiteralTypes8.ts, 0, 0)) + + a = "a", +>a : Symbol(E.a, Decl(templateLiteralTypes8.ts, 0, 14)) + + b = "b", +>b : Symbol(E.b, Decl(templateLiteralTypes8.ts, 1, 10)) +} + +type Stringify = `${T}`; +>Stringify : Symbol(Stringify, Decl(templateLiteralTypes8.ts, 3, 1)) +>T : Symbol(T, Decl(templateLiteralTypes8.ts, 5, 15)) +>T : Symbol(T, Decl(templateLiteralTypes8.ts, 5, 15)) + +let z1: `${E}` = "a"; +>z1 : Symbol(z1, Decl(templateLiteralTypes8.ts, 7, 3)) +>E : Symbol(E, Decl(templateLiteralTypes8.ts, 0, 0)) + +let z2: Stringify = "a"; +>z2 : Symbol(z2, Decl(templateLiteralTypes8.ts, 8, 3)) +>Stringify : Symbol(Stringify, Decl(templateLiteralTypes8.ts, 3, 1)) +>E : Symbol(E, Decl(templateLiteralTypes8.ts, 0, 0)) + diff --git a/tests/baselines/reference/templateLiteralTypes8.types b/tests/baselines/reference/templateLiteralTypes8.types new file mode 100644 index 0000000000000..755452309ad4e --- /dev/null +++ b/tests/baselines/reference/templateLiteralTypes8.types @@ -0,0 +1,36 @@ +//// [tests/cases/conformance/types/literal/templateLiteralTypes8.ts] //// + +=== templateLiteralTypes8.ts === +const enum E { +>E : E +> : ^ + + a = "a", +>a : E.a +> : ^^^ +>"a" : "a" +> : ^^^ + + b = "b", +>b : E.b +> : ^^^ +>"b" : "b" +> : ^^^ +} + +type Stringify = `${T}`; +>Stringify : `${T}` +> : ^^^^^^ + +let z1: `${E}` = "a"; +>z1 : "a" | "b" +> : ^^^^^^^^^ +>"a" : "a" +> : ^^^ + +let z2: Stringify = "a"; +>z2 : "a" | "b" +> : ^^^^^^^^^ +>"a" : "a" +> : ^^^ + diff --git a/tests/baselines/reference/templateLiteralTypesPatterns.types b/tests/baselines/reference/templateLiteralTypesPatterns.types index 7446abb1bc4cc..bc7161335d14a 100644 --- a/tests/baselines/reference/templateLiteralTypesPatterns.types +++ b/tests/baselines/reference/templateLiteralTypesPatterns.types @@ -77,7 +77,7 @@ bools("true"); >bools("true") : void > : ^^^^ >bools : (x: `${boolean}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"true" : "true" > : ^^^^^^ @@ -85,7 +85,7 @@ bools("false"); >bools("false") : void > : ^^^^ >bools : (x: `${boolean}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"false" : "false" > : ^^^^^^^ @@ -94,7 +94,7 @@ bools("other"); >bools("other") : void > : ^^^^ >bools : (x: `${boolean}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"other" : "other" > : ^^^^^^^ @@ -113,7 +113,7 @@ nullishes("null"); >nullishes("null") : void > : ^^^^ >nullishes : (x: Pat) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"null" : "null" > : ^^^^^^ @@ -121,7 +121,7 @@ nullishes("undefined"); >nullishes("undefined") : void > : ^^^^ >nullishes : (x: Pat) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"undefined" : "undefined" > : ^^^^^^^^^^^ @@ -130,7 +130,7 @@ nullishes("0"); >nullishes("0") : void > : ^^^^ >nullishes : (x: Pat) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"0" : "0" > : ^^^ @@ -138,7 +138,7 @@ nullishes("false"); >nullishes("false") : void > : ^^^^ >nullishes : (x: Pat) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"false" : "false" > : ^^^^^^^ @@ -146,7 +146,7 @@ nullishes("NaN"); >nullishes("NaN") : void > : ^^^^ >nullishes : (x: Pat) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"NaN" : "NaN" > : ^^^^^ @@ -154,7 +154,7 @@ nullishes(""); >nullishes("") : void > : ^^^^ >nullishes : (x: Pat) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"" : "" > : ^^ @@ -162,7 +162,7 @@ nullishes("other"); >nullishes("other") : void > : ^^^^ >nullishes : (x: Pat) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"other" : "other" > : ^^^^^^^ @@ -177,7 +177,7 @@ numbers("1"); >numbers("1") : void > : ^^^^ >numbers : (x: `${number}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"1" : "1" > : ^^^ @@ -185,7 +185,7 @@ numbers("-1"); >numbers("-1") : void > : ^^^^ >numbers : (x: `${number}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"-1" : "-1" > : ^^^^ @@ -193,7 +193,7 @@ numbers("0"); >numbers("0") : void > : ^^^^ >numbers : (x: `${number}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"0" : "0" > : ^^^ @@ -201,7 +201,7 @@ numbers("0b1"); >numbers("0b1") : void > : ^^^^ >numbers : (x: `${number}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"0b1" : "0b1" > : ^^^^^ @@ -209,7 +209,7 @@ numbers("0x1"); >numbers("0x1") : void > : ^^^^ >numbers : (x: `${number}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"0x1" : "0x1" > : ^^^^^ @@ -217,7 +217,7 @@ numbers("0o1"); >numbers("0o1") : void > : ^^^^ >numbers : (x: `${number}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"0o1" : "0o1" > : ^^^^^ @@ -225,7 +225,7 @@ numbers("1e21"); >numbers("1e21") : void > : ^^^^ >numbers : (x: `${number}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"1e21" : "1e21" > : ^^^^^^ @@ -233,7 +233,7 @@ numbers("1E21"); >numbers("1E21") : void > : ^^^^ >numbers : (x: `${number}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"1E21" : "1E21" > : ^^^^^^ @@ -241,7 +241,7 @@ numbers("1e-21"); >numbers("1e-21") : void > : ^^^^ >numbers : (x: `${number}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"1e-21" : "1e-21" > : ^^^^^^^ @@ -249,7 +249,7 @@ numbers("1E-21"); >numbers("1E-21") : void > : ^^^^ >numbers : (x: `${number}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"1E-21" : "1E-21" > : ^^^^^^^ @@ -257,7 +257,7 @@ numbers("1.1"); >numbers("1.1") : void > : ^^^^ >numbers : (x: `${number}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"1.1" : "1.1" > : ^^^^^ @@ -265,7 +265,7 @@ numbers("-1.1"); >numbers("-1.1") : void > : ^^^^ >numbers : (x: `${number}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"-1.1" : "-1.1" > : ^^^^^^ @@ -273,7 +273,7 @@ numbers("-1.1e-10"); >numbers("-1.1e-10") : void > : ^^^^ >numbers : (x: `${number}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"-1.1e-10" : "-1.1e-10" > : ^^^^^^^^^^ @@ -281,7 +281,7 @@ numbers("-1.1E-10"); >numbers("-1.1E-10") : void > : ^^^^ >numbers : (x: `${number}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"-1.1E-10" : "-1.1E-10" > : ^^^^^^^^^^ @@ -289,7 +289,7 @@ numbers("1.1e-10"); >numbers("1.1e-10") : void > : ^^^^ >numbers : (x: `${number}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"1.1e-10" : "1.1e-10" > : ^^^^^^^^^ @@ -298,7 +298,7 @@ numbers("?"); >numbers("?") : void > : ^^^^ >numbers : (x: `${number}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"?" : "?" > : ^^^ @@ -306,7 +306,7 @@ numbers("NaN"); >numbers("NaN") : void > : ^^^^ >numbers : (x: `${number}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"NaN" : "NaN" > : ^^^^^ @@ -314,7 +314,7 @@ numbers("Infinity"); >numbers("Infinity") : void > : ^^^^ >numbers : (x: `${number}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"Infinity" : "Infinity" > : ^^^^^^^^^^ @@ -322,7 +322,7 @@ numbers("+Infinity"); >numbers("+Infinity") : void > : ^^^^ >numbers : (x: `${number}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"+Infinity" : "+Infinity" > : ^^^^^^^^^^^ @@ -330,7 +330,7 @@ numbers("-Infinity"); >numbers("-Infinity") : void > : ^^^^ >numbers : (x: `${number}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"-Infinity" : "-Infinity" > : ^^^^^^^^^^^ @@ -338,7 +338,7 @@ numbers("1_000"); >numbers("1_000") : void > : ^^^^ >numbers : (x: `${number}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"1_000" : "1_000" > : ^^^^^^^ @@ -347,7 +347,7 @@ numbers("a10"); >numbers("a10") : void > : ^^^^ >numbers : (x: `${number}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"a10" : "a10" > : ^^^^^ @@ -355,7 +355,7 @@ numbers("10a"); >numbers("10a") : void > : ^^^^ >numbers : (x: `${number}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"10a" : "10a" > : ^^^^^ @@ -364,7 +364,7 @@ numbers("- 1"); >numbers("- 1") : void > : ^^^^ >numbers : (x: `${number}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"- 1" : "- 1" > : ^^^^^ @@ -372,7 +372,7 @@ numbers("-/**/1"); >numbers("-/**/1") : void > : ^^^^ >numbers : (x: `${number}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"-/**/1" : "-/**/1" > : ^^^^^^^^ @@ -387,7 +387,7 @@ bigints("1"); >bigints("1") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"1" : "1" > : ^^^ @@ -395,7 +395,7 @@ bigints("-1"); >bigints("-1") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"-1" : "-1" > : ^^^^ @@ -403,7 +403,7 @@ bigints("0"); >bigints("0") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"0" : "0" > : ^^^ @@ -411,7 +411,7 @@ bigints("0b1"); >bigints("0b1") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"0b1" : "0b1" > : ^^^^^ @@ -419,7 +419,7 @@ bigints("0x1"); >bigints("0x1") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"0x1" : "0x1" > : ^^^^^ @@ -427,7 +427,7 @@ bigints("0o1"); >bigints("0o1") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"0o1" : "0o1" > : ^^^^^ @@ -436,7 +436,7 @@ bigints("1e21"); >bigints("1e21") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"1e21" : "1e21" > : ^^^^^^ @@ -444,7 +444,7 @@ bigints("1E21"); >bigints("1E21") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"1E21" : "1E21" > : ^^^^^^ @@ -452,7 +452,7 @@ bigints("1e-21"); >bigints("1e-21") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"1e-21" : "1e-21" > : ^^^^^^^ @@ -460,7 +460,7 @@ bigints("1E-21"); >bigints("1E-21") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"1E-21" : "1E-21" > : ^^^^^^^ @@ -469,7 +469,7 @@ bigints("1.0"); >bigints("1.0") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"1.0" : "1.0" > : ^^^^^ @@ -477,7 +477,7 @@ bigints("1.1"); >bigints("1.1") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"1.1" : "1.1" > : ^^^^^ @@ -485,7 +485,7 @@ bigints("-1.1"); >bigints("-1.1") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"-1.1" : "-1.1" > : ^^^^^^ @@ -493,7 +493,7 @@ bigints("-1.1e-10"); >bigints("-1.1e-10") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"-1.1e-10" : "-1.1e-10" > : ^^^^^^^^^^ @@ -501,7 +501,7 @@ bigints("-1.1E-10"); >bigints("-1.1E-10") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"-1.1E-10" : "-1.1E-10" > : ^^^^^^^^^^ @@ -509,7 +509,7 @@ bigints("1.1e-10"); >bigints("1.1e-10") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"1.1e-10" : "1.1e-10" > : ^^^^^^^^^ @@ -518,7 +518,7 @@ bigints("?"); >bigints("?") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"?" : "?" > : ^^^ @@ -526,7 +526,7 @@ bigints("NaN"); >bigints("NaN") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"NaN" : "NaN" > : ^^^^^ @@ -534,7 +534,7 @@ bigints("Infinity"); >bigints("Infinity") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"Infinity" : "Infinity" > : ^^^^^^^^^^ @@ -542,7 +542,7 @@ bigints("+Infinity"); >bigints("+Infinity") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"+Infinity" : "+Infinity" > : ^^^^^^^^^^^ @@ -550,7 +550,7 @@ bigints("-Infinity"); >bigints("-Infinity") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"-Infinity" : "-Infinity" > : ^^^^^^^^^^^ @@ -558,7 +558,7 @@ bigints("1_000"); >bigints("1_000") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"1_000" : "1_000" > : ^^^^^^^ @@ -567,7 +567,7 @@ bigints("- 1"); >bigints("- 1") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"- 1" : "- 1" > : ^^^^^ @@ -575,7 +575,7 @@ bigints("-/**/1"); >bigints("-/**/1") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"-/**/1" : "-/**/1" > : ^^^^^^^^ @@ -584,7 +584,7 @@ bigints("a10n"); >bigints("a10n") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"a10n" : "a10n" > : ^^^^^^ @@ -592,7 +592,7 @@ bigints("10an"); >bigints("10an") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"10an" : "10an" > : ^^^^^^ @@ -601,7 +601,7 @@ bigints("1n"); >bigints("1n") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"1n" : "1n" > : ^^^^ @@ -609,7 +609,7 @@ bigints("-1n"); >bigints("-1n") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"-1n" : "-1n" > : ^^^^^ @@ -617,7 +617,7 @@ bigints("0n"); >bigints("0n") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"0n" : "0n" > : ^^^^ @@ -625,7 +625,7 @@ bigints("0b1n"); >bigints("0b1n") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"0b1n" : "0b1n" > : ^^^^^^ @@ -633,7 +633,7 @@ bigints("0x1n"); >bigints("0x1n") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"0x1n" : "0x1n" > : ^^^^^^ @@ -641,7 +641,7 @@ bigints("0o1n"); >bigints("0o1n") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"0o1n" : "0o1n" > : ^^^^^^ @@ -649,7 +649,7 @@ bigints("1e21n"); >bigints("1e21n") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"1e21n" : "1e21n" > : ^^^^^^^ @@ -657,7 +657,7 @@ bigints("1E21n"); >bigints("1E21n") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"1E21n" : "1E21n" > : ^^^^^^^ @@ -665,7 +665,7 @@ bigints("1e-21n"); >bigints("1e-21n") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"1e-21n" : "1e-21n" > : ^^^^^^^^ @@ -673,7 +673,7 @@ bigints("1E-21n"); >bigints("1E-21n") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"1E-21n" : "1E-21n" > : ^^^^^^^^ @@ -681,7 +681,7 @@ bigints("1.1n"); >bigints("1.1n") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"1.1n" : "1.1n" > : ^^^^^^ @@ -689,7 +689,7 @@ bigints("-1.1n"); >bigints("-1.1n") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"-1.1n" : "-1.1n" > : ^^^^^^^ @@ -697,7 +697,7 @@ bigints("-1.1e-10n"); >bigints("-1.1e-10n") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"-1.1e-10n" : "-1.1e-10n" > : ^^^^^^^^^^^ @@ -705,7 +705,7 @@ bigints("-1.1E-10n"); >bigints("-1.1E-10n") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"-1.1E-10n" : "-1.1E-10n" > : ^^^^^^^^^^^ @@ -713,7 +713,7 @@ bigints("1.1e-10n"); >bigints("1.1e-10n") : void > : ^^^^ >bigints : (x: `${bigint}`) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"1.1e-10n" : "1.1e-10n" > : ^^^^^^^^^^ @@ -959,11 +959,11 @@ export abstract class BB { >this.get(id!) : void > : ^^^^ >this.get : (id: Id) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >get : (id: Id) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >id! : `${string}-${string}` > : ^^^^^^^^^^^^^^^^^^^^^ >id : `${string}-${string}` diff --git a/tests/baselines/reference/templateStringWithPropertyAccess.types b/tests/baselines/reference/templateStringWithPropertyAccess.types index 1c5fc401cfee5..99ef2dd0704ab 100644 --- a/tests/baselines/reference/templateStringWithPropertyAccess.types +++ b/tests/baselines/reference/templateStringWithPropertyAccess.types @@ -5,13 +5,13 @@ >`abc${0}abc`.indexOf(`abc`) : number > : ^^^^^^ >`abc${0}abc`.indexOf : (searchString: string, position?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >`abc${0}abc` : "abc0abc" > : ^^^^^^^^^ >0 : 0 > : ^ >indexOf : (searchString: string, position?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >`abc` : "abc" > : ^^^^^ diff --git a/tests/baselines/reference/templateStringWithPropertyAccessES6.types b/tests/baselines/reference/templateStringWithPropertyAccessES6.types index 016e09e1e1873..97c8604da962c 100644 --- a/tests/baselines/reference/templateStringWithPropertyAccessES6.types +++ b/tests/baselines/reference/templateStringWithPropertyAccessES6.types @@ -5,13 +5,13 @@ >`abc${0}abc`.indexOf(`abc`) : number > : ^^^^^^ >`abc${0}abc`.indexOf : (searchString: string, position?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >`abc${0}abc` : "abc0abc" > : ^^^^^^^^^ >0 : 0 > : ^ >indexOf : (searchString: string, position?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >`abc` : "abc" > : ^^^^^ diff --git a/tests/baselines/reference/testTypings.types b/tests/baselines/reference/testTypings.types index bbac48984188e..259eee83adf56 100644 --- a/tests/baselines/reference/testTypings.types +++ b/tests/baselines/reference/testTypings.types @@ -11,7 +11,7 @@ interface IComparable { declare function sort>(items: U[]): U[]; >sort : >(items: U[]) => U[] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >items : U[] > : ^^^ diff --git a/tests/baselines/reference/thisBinding2.types b/tests/baselines/reference/thisBinding2.types index 1331666d24171..040dd5f9ce06f 100644 --- a/tests/baselines/reference/thisBinding2.types +++ b/tests/baselines/reference/thisBinding2.types @@ -74,7 +74,7 @@ class C { } declare function setTimeout(expression: any, msec?: number, language?: any): number; >setTimeout : { (handler: TimerHandler, timeout?: number, ...arguments: any[]): number; (expression: any, msec?: number, language?: any): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >expression : any > : ^^^ >msec : number @@ -104,7 +104,7 @@ var messenger = { >setTimeout(() => { var x = this.message; }, 3000) : number > : ^^^^^^ >setTimeout : { (handler: TimerHandler, timeout?: number, ...arguments: any[]): number; (expression: any, msec?: number, language?: any): number; } -> : ^^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >() => { var x = this.message; } : () => void > : ^^^^^^^^^^ >x : string diff --git a/tests/baselines/reference/thisConditionalOnMethodReturnOfGenericInstance.types b/tests/baselines/reference/thisConditionalOnMethodReturnOfGenericInstance.types index 629411cba7c4c..0a55f817012a4 100644 --- a/tests/baselines/reference/thisConditionalOnMethodReturnOfGenericInstance.types +++ b/tests/baselines/reference/thisConditionalOnMethodReturnOfGenericInstance.types @@ -50,10 +50,10 @@ const y = x.method(); // usage flags `method` in `B` as circular and marks `y` a > : ^^^^^^^^^^^^^^^^^^ >x.method() : string | undefined > : ^^^^^^^^^^^^^^^^^^ ->x.method : () => string | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +>x.method : () => string | (C<{}> extends C ? undefined : null) +> : ^^^^^^ ^^^^^ >x : C<{}> > : ^^^^^ ->method : () => string | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +>method : () => string | (C<{}> extends C ? undefined : null) +> : ^^^^^^ ^^^^^ diff --git a/tests/baselines/reference/thisExpressionInCallExpressionWithTypeArguments.types b/tests/baselines/reference/thisExpressionInCallExpressionWithTypeArguments.types index 3844bcc894d30..aeecfde852cf1 100644 --- a/tests/baselines/reference/thisExpressionInCallExpressionWithTypeArguments.types +++ b/tests/baselines/reference/thisExpressionInCallExpressionWithTypeArguments.types @@ -11,7 +11,7 @@ class C { >[1,2,3].map((x) => { return this; }) : any[] > : ^^^^^ >[1,2,3].map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >[1,2,3] : number[] > : ^^^^^^^^ >1 : 1 @@ -21,7 +21,7 @@ class C { >3 : 3 > : ^ >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >(x) => { return this; } : (x: number) => this > : ^ ^^^^^^^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/thisInFunctionCall.types b/tests/baselines/reference/thisInFunctionCall.types index 1b58bb26fc7e7..3330d49a20bf5 100644 --- a/tests/baselines/reference/thisInFunctionCall.types +++ b/tests/baselines/reference/thisInFunctionCall.types @@ -36,16 +36,16 @@ class Test { this.data.find(function (d) { >this.data.find(function (d) { return d === this.data.length }) : number > : ^^^^^^ ->this.data.find : { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>this.data.find : { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^ >this.data : number[] > : ^^^^^^^^ >this : this > : ^^^^ >data : number[] > : ^^^^^^^^ ->find : { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>find : { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^ >function (d) { return d === this.data.length } : (d: number) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^ >d : number @@ -78,7 +78,7 @@ class Test { >this.data.forEach(function (d) { console.log(d === this.data.length) }) : void > : ^^^^ >this.data.forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >this.data : number[] > : ^^^^^^^^ >this : this @@ -86,7 +86,7 @@ class Test { >data : number[] > : ^^^^^^^^ >forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >function (d) { console.log(d === this.data.length) } : (d: number) => void > : ^ ^^^^^^^^^^^^^^^^^ >d : number @@ -96,11 +96,11 @@ class Test { >console.log(d === this.data.length) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >d === this.data.length : boolean > : ^^^^^^^ >d : number @@ -127,7 +127,7 @@ class Test { >this.data.forEach( /** @this {Test} */ function (d) { console.log(d === this.data.length) }, this) : void > : ^^^^ >this.data.forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >this.data : number[] > : ^^^^^^^^ >this : this @@ -135,7 +135,7 @@ class Test { >data : number[] > : ^^^^^^^^ >forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ /** @this {Test} */ function (d) { @@ -148,11 +148,11 @@ class Test { >console.log(d === this.data.length) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >d === this.data.length : boolean > : ^^^^^^^ >d : number @@ -180,16 +180,16 @@ class Test { this.data.find( >this.data.find( /** @this {Test} */ function (d) { return d === this.data.length }, this) : number > : ^^^^^^ ->this.data.find : { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>this.data.find : { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^ >this.data : number[] > : ^^^^^^^^ >this : this > : ^^^^ >data : number[] > : ^^^^^^^^ ->find : { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>find : { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^ /** @this {Test} */ function (d) { diff --git a/tests/baselines/reference/thisInFunctionCallJs.types b/tests/baselines/reference/thisInFunctionCallJs.types index 5830305d3cc3e..66f131b5e4c7e 100644 --- a/tests/baselines/reference/thisInFunctionCallJs.types +++ b/tests/baselines/reference/thisInFunctionCallJs.types @@ -33,16 +33,16 @@ class Test { this.data.find(function (d) { >this.data.find(function (d) { return d === this.data.length }) : number > : ^^^^^^ ->this.data.find : { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>this.data.find : { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^ >this.data : number[] > : ^^^^^^^^ >this : this > : ^^^^ >data : number[] > : ^^^^^^^^ ->find : { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>find : { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^ >function (d) { return d === this.data.length } : (d: number) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^ >d : number @@ -75,7 +75,7 @@ class Test { >this.data.forEach(function (d) { console.log(d === this.data.length) }) : void > : ^^^^ >this.data.forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >this.data : number[] > : ^^^^^^^^ >this : this @@ -83,7 +83,7 @@ class Test { >data : number[] > : ^^^^^^^^ >forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >function (d) { console.log(d === this.data.length) } : (d: number) => void > : ^ ^^^^^^^^^^^^^^^^^ >d : number @@ -93,11 +93,11 @@ class Test { >console.log(d === this.data.length) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >d === this.data.length : boolean > : ^^^^^^^ >d : number @@ -124,7 +124,7 @@ class Test { >this.data.forEach( /** @this {Test} */ function (d) { console.log(d === this.data.length) }, this) : void > : ^^^^ >this.data.forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >this.data : number[] > : ^^^^^^^^ >this : this @@ -132,7 +132,7 @@ class Test { >data : number[] > : ^^^^^^^^ >forEach : (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ /** @this {Test} */ function (d) { @@ -145,11 +145,11 @@ class Test { >console.log(d === this.data.length) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >d === this.data.length : boolean > : ^^^^^^^ >d : number @@ -177,16 +177,16 @@ class Test { this.data.find( >this.data.find( /** @this {Test} */ function (d) { return d === this.data.length }, this) : number > : ^^^^^^ ->this.data.find : { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>this.data.find : { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^ >this.data : number[] > : ^^^^^^^^ >this : this > : ^^^^ >data : number[] > : ^^^^^^^^ ->find : { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>find : { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number | undefined; } +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^ ^^^ /** @this {Test} */ function (d) { diff --git a/tests/baselines/reference/thisInGenericStaticMembers.types b/tests/baselines/reference/thisInGenericStaticMembers.types index ca89964221e39..e0e86c998b66b 100644 --- a/tests/baselines/reference/thisInGenericStaticMembers.types +++ b/tests/baselines/reference/thisInGenericStaticMembers.types @@ -30,11 +30,11 @@ class A { >this.one(source, 42) : T > : ^ >this.one : (source: T_1, value: number) => T_1 -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >this : typeof A > : ^^^^^^^^ >one : (source: T_1, value: number) => T_1 -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >source : T > : ^ >42 : 42 @@ -69,11 +69,11 @@ class B { >this.one(source, 42) : B > : ^ >this.one : (source: B, value: number) => B -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >this : typeof B > : ^^^^^^^^ >one : (source: B, value: number) => B -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >source : B > : ^ >42 : 42 diff --git a/tests/baselines/reference/thisInTupleTypeParameterConstraints.types b/tests/baselines/reference/thisInTupleTypeParameterConstraints.types index 881a69711d1ec..cf366d02823a2 100644 --- a/tests/baselines/reference/thisInTupleTypeParameterConstraints.types +++ b/tests/baselines/reference/thisInTupleTypeParameterConstraints.types @@ -41,7 +41,7 @@ interface Array { declare function f number]>(a: T): void; >f : number]>(a: T) => void -> : ^ ^^^^^^^^^^^ ^^ ^^^^^ ^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : number > : ^^^^^^ >a : T @@ -57,7 +57,7 @@ f(x); >f(x) : void > : ^^^^ >f : number]>(a: T) => void -> : ^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : [(x: number) => number] -> : ^^ ^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^ diff --git a/tests/baselines/reference/thisInTypeQuery.types b/tests/baselines/reference/thisInTypeQuery.types index 682f0e0af642c..337a2e224f92a 100644 --- a/tests/baselines/reference/thisInTypeQuery.types +++ b/tests/baselines/reference/thisInTypeQuery.types @@ -60,9 +60,9 @@ class MyClass { >assert(params) : void > : ^^^^ >assert : (condition: unknown) => asserts condition -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >params : { a: { key: string; }; } | null -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^ type Key = keyof typeof this.map; >Key : "my_key" @@ -88,11 +88,11 @@ class MyClass { >params.a.key : string > : ^^^^^^ >params.a : { key: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >params : { a: { key: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : { key: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >key : string > : ^^^^^^ } diff --git a/tests/baselines/reference/thisIndexOnExistingReadonlyFieldIsNotNever.types b/tests/baselines/reference/thisIndexOnExistingReadonlyFieldIsNotNever.types index b48d9f6242124..8749b6aead8df 100644 --- a/tests/baselines/reference/thisIndexOnExistingReadonlyFieldIsNotNever.types +++ b/tests/baselines/reference/thisIndexOnExistingReadonlyFieldIsNotNever.types @@ -58,11 +58,11 @@ class CoachMarkAnchorDecorator { >this.props.anchorRef : (CoachMarkAnchorProps> & P)["anchorRef"] | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this.props : Readonly<{ children?: unknown; }> & Readonly> & P> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this : this > : ^^^^ >props : Readonly<{ children?: unknown; }> & Readonly> & P> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >anchorRef : (CoachMarkAnchorProps> & P)["anchorRef"] | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -74,7 +74,7 @@ class CoachMarkAnchorDecorator { >anchorRef(anchor) : void > : ^^^^ >anchorRef : (anchor: AnchorType

    ) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ >anchor : AnchorType

    > : ^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/thisPropertyAssignmentCircular.types b/tests/baselines/reference/thisPropertyAssignmentCircular.types index 2eee797b05d36..6c9ad20581079 100644 --- a/tests/baselines/reference/thisPropertyAssignmentCircular.types +++ b/tests/baselines/reference/thisPropertyAssignmentCircular.types @@ -33,7 +33,7 @@ export class Foo { >this.foo.slice() : string > : ^^^^^^ >this.foo.slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >this.foo : string > : ^^^^^^ >this : this @@ -41,7 +41,7 @@ export class Foo { >foo : string > : ^^^^^^ >slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ } m() { >m : () => void @@ -86,7 +86,7 @@ function C() { >this.x.toString() : string > : ^^^^^^ >this.x.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this.x : () => void > : ^^^^^^^^^^ >this : this @@ -94,6 +94,6 @@ function C() { >x : () => void > : ^^^^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/thisPrototypeMethodCompoundAssignment.types b/tests/baselines/reference/thisPrototypeMethodCompoundAssignment.types index 086ac464b72ef..cf43d8d1dd22e 100644 --- a/tests/baselines/reference/thisPrototypeMethodCompoundAssignment.types +++ b/tests/baselines/reference/thisPrototypeMethodCompoundAssignment.types @@ -3,17 +3,17 @@ === thisPrototypeMethodCompoundAssignment.ts === Element.prototype.remove ??= function () { >Element.prototype.remove ??= function () { this.parentNode?.removeChild(this);} : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >Element.prototype.remove : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >Element.prototype : Element > : ^^^^^^^ >Element : { new (): Element; prototype: Element; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >prototype : Element > : ^^^^^^^ >remove : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >function () { this.parentNode?.removeChild(this);} : () => void > : ^^^^^^^^^^ @@ -21,7 +21,7 @@ Element.prototype.remove ??= function () { >this.parentNode?.removeChild(this) : Element | undefined > : ^^^^^^^^^^^^^^^^^^^ >this.parentNode?.removeChild : ((child: T) => T) | undefined -> : ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >this.parentNode : ParentNode | null > : ^^^^^^^^^^^^^^^^^ >this : Element @@ -29,7 +29,7 @@ Element.prototype.remove ??= function () { >parentNode : ParentNode | null > : ^^^^^^^^^^^^^^^^^ >removeChild : ((child: T) => T) | undefined -> : ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >this : Element > : ^^^^^^^ diff --git a/tests/baselines/reference/thisPrototypeMethodCompoundAssignmentJs.types b/tests/baselines/reference/thisPrototypeMethodCompoundAssignmentJs.types index e69c7706b9ecc..bccc956b0f50f 100644 --- a/tests/baselines/reference/thisPrototypeMethodCompoundAssignmentJs.types +++ b/tests/baselines/reference/thisPrototypeMethodCompoundAssignmentJs.types @@ -3,17 +3,17 @@ === index.js === Element.prototype.remove ??= function () { >Element.prototype.remove ??= function () { this.parentNode?.removeChild(this);} : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >Element.prototype.remove : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >Element.prototype : Element > : ^^^^^^^ >Element : { new (): Element; prototype: Element; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >prototype : Element > : ^^^^^^^ >remove : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >function () { this.parentNode?.removeChild(this);} : () => void > : ^^^^^^^^^^ @@ -21,7 +21,7 @@ Element.prototype.remove ??= function () { >this.parentNode?.removeChild(this) : Element | undefined > : ^^^^^^^^^^^^^^^^^^^ >this.parentNode?.removeChild : ((child: T) => T) | undefined -> : ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >this.parentNode : ParentNode | null > : ^^^^^^^^^^^^^^^^^ >this : Element @@ -29,7 +29,7 @@ Element.prototype.remove ??= function () { >parentNode : ParentNode | null > : ^^^^^^^^^^^^^^^^^ >removeChild : ((child: T) => T) | undefined -> : ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >this : Element > : ^^^^^^^ @@ -40,17 +40,17 @@ Element.prototype.remove ??= function () { */ Element.prototype.remove ??= function () { >Element.prototype.remove ??= function () { this.parentNode?.removeChild(this);} : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >Element.prototype.remove : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >Element.prototype : Element > : ^^^^^^^ >Element : { new (): Element; prototype: Element; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >prototype : Element > : ^^^^^^^ >remove : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >function () { this.parentNode?.removeChild(this);} : (this: Node) => void > : ^^^^^^^^^^^^^^^^^^^^ @@ -58,7 +58,7 @@ Element.prototype.remove ??= function () { >this.parentNode?.removeChild(this) : Node | undefined > : ^^^^^^^^^^^^^^^^ >this.parentNode?.removeChild : ((child: T) => T) | undefined -> : ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >this.parentNode : ParentNode | null > : ^^^^^^^^^^^^^^^^^ >this : Node @@ -66,7 +66,7 @@ Element.prototype.remove ??= function () { >parentNode : ParentNode | null > : ^^^^^^^^^^^^^^^^^ >removeChild : ((child: T) => T) | undefined -> : ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >this : Node > : ^^^^ diff --git a/tests/baselines/reference/thisTag1.types b/tests/baselines/reference/thisTag1.types index 17d5c3e943fad..07db5c2119e93 100644 --- a/tests/baselines/reference/thisTag1.types +++ b/tests/baselines/reference/thisTag1.types @@ -17,7 +17,7 @@ function f(s) { >this.n : number > : ^^^^^^ >this : { n: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >n : number > : ^^^^^^ >s.length : number @@ -30,13 +30,13 @@ function f(s) { const o = { >o : { f: (this: { n: number; }, s: string) => number; n: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^ >{ f, n: 1} : { f: (this: { n: number; }, s: string) => number; n: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^ f, >f : (this: { n: number; }, s: string) => number -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^ n: 1 >n : number @@ -48,11 +48,11 @@ o.f('hi') >o.f('hi') : number > : ^^^^^^ >o.f : (this: { n: number; }, s: string) => number -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^ >o : { f: (this: { n: number; }, s: string) => number; n: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^ >f : (this: { n: number; }, s: string) => number -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^ >'hi' : "hi" > : ^^^^ diff --git a/tests/baselines/reference/thisTypeAccessibility.types b/tests/baselines/reference/thisTypeAccessibility.types index 07e5f305076bf..38e1aba759e5c 100644 --- a/tests/baselines/reference/thisTypeAccessibility.types +++ b/tests/baselines/reference/thisTypeAccessibility.types @@ -95,7 +95,7 @@ MyClass.prototype.extension1 = function (this: MyClass, p: number) { >MyClass.prototype.extension1 = function (this: MyClass, p: number) { this.p = p; this.pp = p; this.ppp = p; MyClass.sp = p; MyClass.spp = p; MyClass.sppp = p;} : (this: MyClass, p: number) => void > : ^ ^^ ^^ ^^ ^^^^^^^^^ >MyClass.prototype.extension1 : (p: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >MyClass.prototype : MyClass > : ^^^^^^^ >MyClass : typeof MyClass @@ -103,7 +103,7 @@ MyClass.prototype.extension1 = function (this: MyClass, p: number) { >prototype : MyClass > : ^^^^^^^ >extension1 : (p: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >function (this: MyClass, p: number) { this.p = p; this.pp = p; this.ppp = p; MyClass.sp = p; MyClass.spp = p; MyClass.sppp = p;} : (this: MyClass, p: number) => void > : ^ ^^ ^^ ^^ ^^^^^^^^^ >this : MyClass @@ -186,9 +186,9 @@ MyClass.prototype.extension1 = function (this: MyClass, p: number) { MyClass.prototype.extension2 = function (this: T, p: number) { >MyClass.prototype.extension2 = function (this: T, p: number) { this.p = p; this.pp = p; this.ppp = p; MyClass.sp = p; MyClass.spp = p; MyClass.sppp = p;} : (this: T, p: number) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >MyClass.prototype.extension2 : (p: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >MyClass.prototype : MyClass > : ^^^^^^^ >MyClass : typeof MyClass @@ -196,9 +196,9 @@ MyClass.prototype.extension2 = function (this: T, p: number) >prototype : MyClass > : ^^^^^^^ >extension2 : (p: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >function (this: T, p: number) { this.p = p; this.pp = p; this.ppp = p; MyClass.sp = p; MyClass.spp = p; MyClass.sppp = p;} : (this: T, p: number) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >this : T > : ^ >p : number @@ -279,7 +279,7 @@ MyClass.prototype.extension2 = function (this: T, p: number) function extension3 (this: T, p: number) { >extension3 : (this: T, p: number) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >this : T > : ^ >p : number @@ -360,9 +360,9 @@ function extension3 (this: T, p: number) { MyClass.prototype.extension3 = extension3; >MyClass.prototype.extension3 = extension3 : (this: T, p: number) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >MyClass.prototype.extension3 : (p: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >MyClass.prototype : MyClass > : ^^^^^^^ >MyClass : typeof MyClass @@ -370,13 +370,13 @@ MyClass.prototype.extension3 = extension3; >prototype : MyClass > : ^^^^^^^ >extension3 : (p: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >extension3 : (this: T, p: number) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ function extension4(this: MyGenericClass, p: T) { >extension4 : (this: MyGenericClass, p: T) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >this : MyGenericClass > : ^^^^^^^^^^^^^^^^^ >p : T diff --git a/tests/baselines/reference/thisTypeAndConstraints.types b/tests/baselines/reference/thisTypeAndConstraints.types index 9ca0586d22c2f..507820b75dd73 100644 --- a/tests/baselines/reference/thisTypeAndConstraints.types +++ b/tests/baselines/reference/thisTypeAndConstraints.types @@ -17,13 +17,13 @@ class A { function f(x: T) { >f : (x: T) => void -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ function g(x: U) { >g : (x: U) => void -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : U > : ^ @@ -82,7 +82,7 @@ class B { } bar(x: U) { >bar : (x: U) => void -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : U > : ^ diff --git a/tests/baselines/reference/thisTypeAsConstraint.types b/tests/baselines/reference/thisTypeAsConstraint.types index 82191a96bf3c7..901500ba600b5 100644 --- a/tests/baselines/reference/thisTypeAsConstraint.types +++ b/tests/baselines/reference/thisTypeAsConstraint.types @@ -7,6 +7,6 @@ class C { public m() { >m : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } } diff --git a/tests/baselines/reference/thisTypeErrors.types b/tests/baselines/reference/thisTypeErrors.types index a336a9aa6e191..47ecf4c09ddd2 100644 --- a/tests/baselines/reference/thisTypeErrors.types +++ b/tests/baselines/reference/thisTypeErrors.types @@ -6,8 +6,8 @@ var x1: this; > : ^^^ var x2: { a: this }; ->x2 : { a: any; } -> : ^^^^^^^^^^^ +>x2 : { a: this; } +> : ^^^^^ ^^^ >a : any > : ^^^ @@ -16,8 +16,8 @@ var x3: this[]; > : ^^^^^ function f1(x: this): this { ->f1 : (x: any) => any -> : ^ ^^^^^^^^^^^^^ +>f1 : (x: this) => this +> : ^ ^^ ^^^^^ >x : any > : ^^^ @@ -32,18 +32,18 @@ function f1(x: this): this { interface I1 { a: { x: this }; ->a : { x: any; } -> : ^^^^^^^^^^^ +>a : { x: this; } +> : ^^^^^ ^^^ >x : any > : ^^^ b: { (): this }; ->b : () => any -> : ^^^^^^^^^ +>b : () => this +> : ^^^^^^ c: { new (): this }; ->c : new () => any -> : ^^^^^^^^^^^^^ +>c : new () => this +> : ^^^^^^^^^^ d: { [x: string]: this }; >d : { [x: string]: any; } @@ -52,10 +52,10 @@ interface I1 { > : ^^^^^^ e: { f(x: this): this }; ->e : { f(x: any): any; } -> : ^^^^ ^^^^^^^^^^^^^^ ->f : (x: any) => any -> : ^ ^^^^^^^^^^^^^ +>e : { f(x: this): this; } +> : ^^^^ ^^ ^^^ ^^^ +>f : (x: this) => this +> : ^ ^^ ^^^^^ >x : any > : ^^^ } @@ -65,18 +65,18 @@ class C1 { > : ^^ a: { x: this }; ->a : { x: any; } -> : ^^^^^^^^^^^ +>a : { x: this; } +> : ^^^^^ ^^^ >x : any > : ^^^ b: { (): this }; ->b : () => any -> : ^^^^^^^^^ +>b : () => this +> : ^^^^^^ c: { new (): this }; ->c : new () => any -> : ^^^^^^^^^^^^^ +>c : new () => this +> : ^^^^^^^^^^ d: { [x: string]: this }; >d : { [x: string]: any; } @@ -85,10 +85,10 @@ class C1 { > : ^^^^^^ e: { f(x: this): this }; ->e : { f(x: any): any; } -> : ^^^^ ^^^^^^^^^^^^^^ ->f : (x: any) => any -> : ^ ^^^^^^^^^^^^^ +>e : { f(x: this): this; } +> : ^^^^ ^^ ^^^ ^^^ +>f : (x: this) => this +> : ^ ^^ ^^^^^ >x : any > : ^^^ } @@ -110,8 +110,8 @@ class C2 { > : ^^^^^^^^^ static foo(x: this): this { ->foo : (x: any) => any -> : ^ ^^^^^^^^^^^^^ +>foo : (x: this) => this +> : ^ ^^ ^^^^^ >x : any > : ^^^ @@ -141,14 +141,14 @@ class C3 { > : ^^ x1 = { ->x1 : { g(x: any): any; } -> : ^^^^ ^^^^^^^^^^^^^^ ->{ g(x: this): this { return undefined; } } : { g(x: any): any; } -> : ^^^^ ^^^^^^^^^^^^^^ +>x1 : { g(x: this): this; } +> : ^^^^ ^^ ^^^ ^^^ +>{ g(x: this): this { return undefined; } } : { g(x: this): this; } +> : ^^^^ ^^ ^^^ ^^^ g(x: this): this { ->g : (x: any) => any -> : ^ ^^^^^^^^^^^^^ +>g : (x: this) => this +> : ^ ^^ ^^^^^ >x : any > : ^^^ @@ -162,8 +162,8 @@ class C3 { > : ^^^^^^^^^^ function g(x: this): this { ->g : (x: any) => any -> : ^ ^^^^^^^^^^^^^ +>g : (x: this) => this +> : ^ ^^ ^^^^^ >x : any > : ^^^ @@ -172,14 +172,14 @@ class C3 { > : ^^^^^^^^^ } let x2 = { ->x2 : { h(x: any): any; } -> : ^^^^ ^^^^^^^^^^^^^^ ->{ h(x: this): this { return undefined; } } : { h(x: any): any; } -> : ^^^^ ^^^^^^^^^^^^^^ +>x2 : { h(x: this): this; } +> : ^^^^ ^^ ^^^ ^^^ +>{ h(x: this): this { return undefined; } } : { h(x: this): this; } +> : ^^^^ ^^ ^^^ ^^^ h(x: this): this { ->h : (x: any) => any -> : ^ ^^^^^^^^^^^^^ +>h : (x: this) => this +> : ^ ^^ ^^^^^ >x : any > : ^^^ diff --git a/tests/baselines/reference/thisTypeInFunctions.types b/tests/baselines/reference/thisTypeInFunctions.types index f5a1414fb1fe9..1f704de6562eb 100644 --- a/tests/baselines/reference/thisTypeInFunctions.types +++ b/tests/baselines/reference/thisTypeInFunctions.types @@ -74,7 +74,7 @@ class C { >this.n : number > : ^^^^^^ >this : { n: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >n : number > : ^^^^^^ >m : number @@ -158,7 +158,7 @@ function explicitStructural(this: { y: number }, x: number): number { >this.y : number > : ^^^^^^ >this : { y: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >y : number > : ^^^^^^ } @@ -174,7 +174,7 @@ function justThis(this: { y: number }): number { >this.y : number > : ^^^^^^ >this : { y: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >y : number > : ^^^^^^ } @@ -238,7 +238,7 @@ let impl: I = { >this.a : number > : ^^^^^^ >this : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : number > : ^^^^^^ @@ -274,11 +274,11 @@ impl.explicitVoid1 = function () { return 12; }; >impl.explicitVoid1 = function () { return 12; } : (this: void) => number > : ^ ^^ ^^^^^^^^^^^ >impl.explicitVoid1 : (this: void) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >impl : I > : ^ >explicitVoid1 : (this: void) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >function () { return 12; } : (this: void) => number > : ^ ^^ ^^^^^^^^^^^ >12 : 12 @@ -288,11 +288,11 @@ impl.explicitVoid2 = () => 12; >impl.explicitVoid2 = () => 12 : () => number > : ^^^^^^^^^^^^ >impl.explicitVoid2 : (this: void) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >impl : I > : ^ >explicitVoid2 : (this: void) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >() => 12 : () => number > : ^^^^^^^^^^^^ >12 : 12 @@ -302,17 +302,17 @@ impl.explicitStructural = function() { return this.a; }; >impl.explicitStructural = function() { return this.a; } : (this: { a: number; }) => number > : ^ ^^ ^^^^^^^^^^^ >impl.explicitStructural : (this: { a: number; }) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >impl : I > : ^ >explicitStructural : (this: { a: number; }) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >function() { return this.a; } : (this: { a: number; }) => number > : ^ ^^ ^^^^^^^^^^^ >this.a : number > : ^^^^^^ >this : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : number > : ^^^^^^ @@ -320,11 +320,11 @@ impl.explicitInterface = function() { return this.a; }; >impl.explicitInterface = function() { return this.a; } : (this: I) => number > : ^ ^^ ^^^^^^^^^^^ >impl.explicitInterface : (this: I) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >impl : I > : ^ >explicitInterface : (this: I) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >function() { return this.a; } : (this: I) => number > : ^ ^^ ^^^^^^^^^^^ >this.a : number @@ -338,11 +338,11 @@ impl.explicitStructural = () => 12; >impl.explicitStructural = () => 12 : () => number > : ^^^^^^^^^^^^ >impl.explicitStructural : (this: { a: number; }) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >impl : I > : ^ >explicitStructural : (this: { a: number; }) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >() => 12 : () => number > : ^^^^^^^^^^^^ >12 : 12 @@ -352,11 +352,11 @@ impl.explicitInterface = () => 12; >impl.explicitInterface = () => 12 : () => number > : ^^^^^^^^^^^^ >impl.explicitInterface : (this: I) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >impl : I > : ^ >explicitInterface : (this: I) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >() => 12 : () => number > : ^^^^^^^^^^^^ >12 : 12 @@ -366,11 +366,11 @@ impl.explicitThis = function () { return this.a; }; >impl.explicitThis = function () { return this.a; } : (this: I) => number > : ^ ^^^^^^^^^^^^^^ >impl.explicitThis : (this: I) => number -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^ >impl : I > : ^ >explicitThis : (this: I) => number -> : ^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^ >function () { return this.a; } : (this: I) => number > : ^ ^^^^^^^^^^^^^^ >this.a : number @@ -395,15 +395,15 @@ let ok: {y: number, f: (this: { y: number }, x: number) => number} = { y: 12, f: >x : number > : ^^^^^^ >{ y: 12, f: explicitStructural } : { y: number; f: (this: { y: number; }, x: number) => number; } -> : ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ >y : number > : ^^^^^^ >12 : 12 > : ^^ >f : (this: { y: number; }, x: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >explicitStructural : (this: { y: number; }, x: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ let implicitAnyOk: {notSpecified: number, f: (x: number) => number} = { notSpecified: 12, f: implicitThis }; >implicitAnyOk : { notSpecified: number; f: (x: number) => number; } @@ -415,25 +415,25 @@ let implicitAnyOk: {notSpecified: number, f: (x: number) => number} = { notSpeci >x : number > : ^^^^^^ >{ notSpecified: 12, f: implicitThis } : { notSpecified: number; f: (n: number) => number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ >notSpecified : number > : ^^^^^^ >12 : 12 > : ^^ >f : (n: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >implicitThis : (n: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ok.f(13); >ok.f(13) : number > : ^^^^^^ >ok.f : (this: { y: number; }, x: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >ok : { y: number; f: (this: { y: number; }, x: number) => number; } -> : ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >f : (this: { y: number; }, x: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >13 : 13 > : ^^ @@ -441,7 +441,7 @@ implicitThis(12); >implicitThis(12) : number > : ^^^^^^ >implicitThis : (n: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >12 : 12 > : ^^ @@ -449,11 +449,11 @@ implicitAnyOk.f(12); >implicitAnyOk.f(12) : number > : ^^^^^^ >implicitAnyOk.f : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >implicitAnyOk : { notSpecified: number; f: (x: number) => number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >12 : 12 > : ^^ @@ -475,23 +475,23 @@ let d = new D(); let ripped = c.explicitC; >ripped : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c.explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ c.explicitC(12); >c.explicitC(12) : number > : ^^^^^^ >c.explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >12 : 12 > : ^^ @@ -499,11 +499,11 @@ c.explicitProperty(12); >c.explicitProperty(12) : number > : ^^^^^^ >c.explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >12 : 12 > : ^^ @@ -511,11 +511,11 @@ c.explicitThis(12); >c.explicitThis(12) : number > : ^^^^^^ >c.explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >c : C > : ^ >explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >12 : 12 > : ^^ @@ -523,11 +523,11 @@ d.explicitC(12); >d.explicitC(12) : number > : ^^^^^^ >d.explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >d : D > : ^ >explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >12 : 12 > : ^^ @@ -535,11 +535,11 @@ d.explicitProperty(12); >d.explicitProperty(12) : number > : ^^^^^^ >d.explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >d : D > : ^ >explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >12 : 12 > : ^^ @@ -547,11 +547,11 @@ d.explicitThis(12); >d.explicitThis(12) : number > : ^^^^^^ >d.explicitThis : (this: D, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >d : D > : ^ >explicitThis : (this: D, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >12 : 12 > : ^^ @@ -599,7 +599,7 @@ let reconstructed: { } = { >{ n: 12, explicitThis: c.explicitThis, explicitC: c.explicitC, explicitProperty: c.explicitProperty, explicitVoid: c.explicitVoid} : { n: number; explicitThis: (this: C, m: number) => number; explicitC: (this: C, m: number) => number; explicitProperty: (this: { n: number; }, m: number) => number; explicitVoid: (this: void, m: number) => number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ n: 12, >n : number @@ -609,54 +609,54 @@ let reconstructed: { explicitThis: c.explicitThis, >explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >c.explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >c : C > : ^ >explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ explicitC: c.explicitC, >explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c.explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ explicitProperty: c.explicitProperty, >explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c.explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ explicitVoid: c.explicitVoid >explicitVoid : (this: void, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c.explicitVoid : (this: void, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitVoid : (this: void, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ }; reconstructed.explicitThis(10); >reconstructed.explicitThis(10) : number > : ^^^^^^ >reconstructed.explicitThis : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >reconstructed : { n: number; explicitThis(this: C, m: number): number; explicitC(this: C, m: number): number; explicitProperty: (this: { n: number; }, m: number) => number; explicitVoid(this: void, m: number): number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ >explicitThis : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >10 : 10 > : ^^ @@ -664,29 +664,29 @@ reconstructed.explicitProperty(11); >reconstructed.explicitProperty(11) : number > : ^^^^^^ >reconstructed.explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >reconstructed : { n: number; explicitThis(this: C, m: number): number; explicitC(this: C, m: number): number; explicitProperty: (this: { n: number; }, m: number) => number; explicitVoid(this: void, m: number): number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ >explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >11 : 11 > : ^^ let explicitVoid = reconstructed.explicitVoid; >explicitVoid : (this: void, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >reconstructed.explicitVoid : (this: void, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >reconstructed : { n: number; explicitThis(this: C, m: number): number; explicitC(this: C, m: number): number; explicitProperty: (this: { n: number; }, m: number) => number; explicitVoid(this: void, m: number): number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ >explicitVoid : (this: void, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ explicitVoid(12); >explicitVoid(12) : number > : ^^^^^^ >explicitVoid : (this: void, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >12 : 12 > : ^^ @@ -725,7 +725,7 @@ let specifiedToSpecified: (this: {y: number}, x: number) => number = explicitStr >x : number > : ^^^^^^ >explicitStructural : (this: { y: number; }, x: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ let anyToSpecified: (this: { y: number }, x: number) => number = function(x: number): number { return x + 12; }; >anyToSpecified : (this: { y: number; }, x: number) => number @@ -791,7 +791,7 @@ let unspecifiedLambdaToSpecified: (this: {y: number}, x: number) => number = uns >x : number > : ^^^^^^ >unspecifiedLambda : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ let specifiedLambdaToSpecified: (this: {y: number}, x: number) => number = specifiedLambda; >specifiedLambdaToSpecified : (this: { y: number; }, x: number) => number @@ -803,7 +803,7 @@ let specifiedLambdaToSpecified: (this: {y: number}, x: number) => number = speci >x : number > : ^^^^^^ >specifiedLambda : (this: void, x: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ let explicitCFunction: (this: C, m: number) => number; @@ -826,25 +826,25 @@ let explicitPropertyFunction: (this: {n: number}, m: number) => number; c.explicitC = explicitCFunction; >c.explicitC = explicitCFunction : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c.explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >explicitCFunction : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ c.explicitC = function(this: C, m: number) { return this.n + m }; >c.explicitC = function(this: C, m: number) { return this.n + m } : (this: C, m: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >c.explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >function(this: C, m: number) { return this.n + m } : (this: C, m: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >this : C @@ -864,25 +864,25 @@ c.explicitC = function(this: C, m: number) { return this.n + m }; c.explicitProperty = explicitPropertyFunction; >c.explicitProperty = explicitPropertyFunction : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c.explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >explicitPropertyFunction : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ c.explicitProperty = function(this: {n: number}, m: number) { return this.n + m }; >c.explicitProperty = function(this: {n: number}, m: number) { return this.n + m } : (this: { n: number; }, m: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >c.explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >function(this: {n: number}, m: number) { return this.n + m } : (this: { n: number; }, m: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >this : { n: number; } @@ -896,7 +896,7 @@ c.explicitProperty = function(this: {n: number}, m: number) { return this.n + m >this.n : number > : ^^^^^^ >this : { n: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >n : number > : ^^^^^^ >m : number @@ -904,30 +904,30 @@ c.explicitProperty = function(this: {n: number}, m: number) { return this.n + m c.explicitProperty = reconstructed.explicitProperty; >c.explicitProperty = reconstructed.explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c.explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >reconstructed.explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >reconstructed : { n: number; explicitThis(this: C, m: number): number; explicitC(this: C, m: number): number; explicitProperty: (this: { n: number; }, m: number) => number; explicitVoid(this: void, m: number): number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ >explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ // lambdas are assignable to anything c.explicitC = m => m; >c.explicitC = m => m : (this: C, m: number) => number > : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >c.explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >m => m : (this: C, m: number) => number > : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >m : number @@ -939,11 +939,11 @@ c.explicitThis = m => m; >c.explicitThis = m => m : (this: C, m: number) => number > : ^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ >c.explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >c : C > : ^ >explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >m => m : (this: C, m: number) => number > : ^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ >m : number @@ -955,11 +955,11 @@ c.explicitProperty = m => m; >c.explicitProperty = m => m : (this: { n: number; }, m: number) => number > : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >c.explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >m => m : (this: { n: number; }, m: number) => number > : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >m : number @@ -973,11 +973,11 @@ c.explicitC = m => m + this.n; >c.explicitC = m => m + this.n : (this: C, m: number) => any > : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ >c.explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >m => m + this.n : (this: C, m: number) => any > : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ >m : number @@ -997,11 +997,11 @@ c.explicitThis = m => m + this.n; >c.explicitThis = m => m + this.n : (this: C, m: number) => any > : ^ ^^^^^ ^^^^^^^^^^^^^^^^ >c.explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >c : C > : ^ >explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >m => m + this.n : (this: C, m: number) => any > : ^ ^^^^^ ^^^^^^^^^^^^^^^^ >m : number @@ -1021,11 +1021,11 @@ c.explicitProperty = m => m + this.n; >c.explicitProperty = m => m + this.n : (this: { n: number; }, m: number) => any > : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ >c.explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >m => m + this.n : (this: { n: number; }, m: number) => any > : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ >m : number @@ -1044,25 +1044,25 @@ c.explicitProperty = m => m + this.n; //NOTE: this=C here, I guess? c.explicitThis = explicitCFunction; >c.explicitThis = explicitCFunction : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c.explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >c : C > : ^ >explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >explicitCFunction : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ c.explicitThis = function(this: C, m: number) { return this.n + m }; >c.explicitThis = function(this: C, m: number) { return this.n + m } : (this: C, m: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >c.explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >c : C > : ^ >explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >function(this: C, m: number) { return this.n + m } : (this: C, m: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >this : C @@ -1085,11 +1085,11 @@ c.explicitC = function(m) { return this.n + m }; >c.explicitC = function(m) { return this.n + m } : (this: C, m: number) => number > : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >c.explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >function(m) { return this.n + m } : (this: C, m: number) => number > : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >m : number @@ -1109,11 +1109,11 @@ c.explicitProperty = function(m) { return this.n + m }; >c.explicitProperty = function(m) { return this.n + m } : (this: { n: number; }, m: number) => number > : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >c.explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >function(m) { return this.n + m } : (this: { n: number; }, m: number) => number > : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >m : number @@ -1123,7 +1123,7 @@ c.explicitProperty = function(m) { return this.n + m }; >this.n : number > : ^^^^^^ >this : { n: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >n : number > : ^^^^^^ >m : number @@ -1133,11 +1133,11 @@ c.explicitThis = function(m) { return this.n + m }; >c.explicitThis = function(m) { return this.n + m } : (this: C, m: number) => number > : ^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ >c.explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >c : C > : ^ >explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >function(m) { return this.n + m } : (this: C, m: number) => number > : ^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ >m : number @@ -1158,11 +1158,11 @@ c.explicitThis = function(this, m) { return this.n + m }; >c.explicitThis = function(this, m) { return this.n + m } : (this: C, m: number) => number > : ^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ >c.explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >c : C > : ^ >explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >function(this, m) { return this.n + m } : (this: C, m: number) => number > : ^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ >this : C @@ -1185,11 +1185,11 @@ c.explicitC = function(this: B, m: number) { return this.n + m }; >c.explicitC = function(this: B, m: number) { return this.n + m } : (this: B, m: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >c.explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >function(this: B, m: number) { return this.n + m } : (this: B, m: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >this : B @@ -1212,11 +1212,11 @@ c.explicitVoid = n => n; >c.explicitVoid = n => n : (this: void, n: number) => number > : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >c.explicitVoid : (this: void, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitVoid : (this: void, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >n => n : (this: void, n: number) => number > : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ >n : number @@ -1361,100 +1361,100 @@ let d2 = new Derived2(); d2.polymorphic = d1.polymorphic // ok, 'x' and 'y' in { x, y } >d2.polymorphic = d1.polymorphic : (this: Derived1) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ >d2.polymorphic : (this: Derived2) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ >d2 : Derived2 > : ^^^^^^^^ >polymorphic : (this: Derived2) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ >d1.polymorphic : (this: Derived1) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ >d1 : Derived1 > : ^^^^^^^^ >polymorphic : (this: Derived1) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ d1.polymorphic = d2.polymorphic // ok, 'x' and 'y' in { x, y } >d1.polymorphic = d2.polymorphic : (this: Derived2) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ >d1.polymorphic : (this: Derived1) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ >d1 : Derived1 > : ^^^^^^^^ >polymorphic : (this: Derived1) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ >d2.polymorphic : (this: Derived2) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ >d2 : Derived2 > : ^^^^^^^^ >polymorphic : (this: Derived2) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ // bivariance-allowed cases d1.polymorphic = b2.polymorphic // ok, 'y' in D: { x, y } >d1.polymorphic = b2.polymorphic : (this: Base2) => number -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ >d1.polymorphic : (this: Derived1) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ >d1 : Derived1 > : ^^^^^^^^ >polymorphic : (this: Derived1) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ >b2.polymorphic : (this: Base2) => number -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ >b2 : Base2 > : ^^^^^ >polymorphic : (this: Base2) => number -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ d2.polymorphic = d1.explicit // ok, 'y' in { x, y } >d2.polymorphic = d1.explicit : (this: Base1) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >d2.polymorphic : (this: Derived2) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ >d2 : Derived2 > : ^^^^^^^^ >polymorphic : (this: Derived2) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ >d1.explicit : (this: Base1) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >d1 : Derived1 > : ^^^^^^^^ >explicit : (this: Base1) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ b1.polymorphic = d2.polymorphic // ok, 'x' and 'y' not in Base1: { x } >b1.polymorphic = d2.polymorphic : (this: Derived2) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ >b1.polymorphic : (this: Base1) => number -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ >b1 : Base1 > : ^^^^^ >polymorphic : (this: Base1) => number -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ >d2.polymorphic : (this: Derived2) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ >d2 : Derived2 > : ^^^^^^^^ >polymorphic : (this: Derived2) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ b1.explicit = d2.polymorphic // ok, 'x' and 'y' not in Base1: { x } >b1.explicit = d2.polymorphic : (this: Derived2) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ >b1.explicit : (this: Base1) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b1 : Base1 > : ^^^^^ >explicit : (this: Base1) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >d2.polymorphic : (this: Derived2) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ >d2 : Derived2 > : ^^^^^^^^ >polymorphic : (this: Derived2) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^ ////// use this-type for construction with new //// function InterfaceThis(this: I) { @@ -1489,7 +1489,7 @@ function LiteralTypeThis(this: {x: string}) { >this.x : string > : ^^^^^^ >this : { x: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : string > : ^^^^^^ >"ok" : "ok" @@ -1565,11 +1565,11 @@ let n: number = f.call(12); >f.call(12) : number > : ^^^^^^ >f.call : (this: (...argArray: any[]) => U, ...argArray: any[]) => U -> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^ >f : { (this: void, x: number): number; call(this: (...argArray: any[]) => U, ...argArray: any[]): U; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >call : (this: (...argArray: any[]) => U, ...argArray: any[]) => U -> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^ >12 : 12 > : ^^ diff --git a/tests/baselines/reference/thisTypeInFunctions2.types b/tests/baselines/reference/thisTypeInFunctions2.types index 68acfbc9c4e53..d17fc5d7ad281 100644 --- a/tests/baselines/reference/thisTypeInFunctions2.types +++ b/tests/baselines/reference/thisTypeInFunctions2.types @@ -70,7 +70,7 @@ extend1({ >extend1({ init() { this // this: IndexedWithThis because of contextual typing. // this.mine this.willDestroy }, mine: 12, foo() { this.url; // this: any because 'foo' matches the string indexer this.willDestroy; }}) : void > : ^^^^ >extend1 : (args: IndexedWithThis) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ init() { this // this: IndexedWithThis because of contextual typing. // this.mine this.willDestroy }, mine: 12, foo() { this.url; // this: any because 'foo' matches the string indexer this.willDestroy; }} : { init(this: IndexedWithThis): void; mine: number; foo(this: any): void; } > : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ @@ -85,11 +85,11 @@ extend1({ // this.mine this.willDestroy >this.willDestroy : (this: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : IndexedWithThis > : ^^^^^^^^^^^^^^^ >willDestroy : (this: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ }, mine: 12, @@ -123,7 +123,7 @@ extend2({ >extend2({ init() { this // this: IndexedWithoutThis because of contextual typing this.mine }, mine: 13, foo() { this // this: IndexedWithoutThis because of contextual typing this.mine }}) : void > : ^^^^ >extend2 : (args: IndexedWithoutThis) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ init() { this // this: IndexedWithoutThis because of contextual typing this.mine }, mine: 13, foo() { this // this: IndexedWithoutThis because of contextual typing this.mine }} : { init(): void; mine: number; foo(): void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -172,7 +172,7 @@ simple({ >simple({ foo(n) { return n.length + this.bar(); }, bar() { return 14; }}) : void > : ^^^^ >simple : (arg: SimpleInterface) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ foo(n) { return n.length + this.bar(); }, bar() { return 14; }} : { foo(n: string): number; bar(): number; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -194,11 +194,11 @@ simple({ >this.bar() : number > : ^^^^^^ >this.bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this : SimpleInterface > : ^^^^^^^^^^^^^^^ >bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ }, bar() { diff --git a/tests/baselines/reference/thisTypeInFunctions3.types b/tests/baselines/reference/thisTypeInFunctions3.types index 7c00cbf154f38..a53d7fd30de05 100644 --- a/tests/baselines/reference/thisTypeInFunctions3.types +++ b/tests/baselines/reference/thisTypeInFunctions3.types @@ -7,7 +7,7 @@ declare class Base { check(prop: TProp): boolean; >check : (prop: TProp) => boolean -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >prop : TProp > : ^^^^^ } @@ -26,11 +26,11 @@ class Test extends Base { >this.check(this) : boolean > : ^^^^^^^ >this.check : (prop: TProp) => boolean -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ >this : this > : ^^^^ >check : (prop: TProp) => boolean -> : ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ >this : this > : ^^^^ } diff --git a/tests/baselines/reference/thisTypeInFunctions4.types b/tests/baselines/reference/thisTypeInFunctions4.types index 51ccdefa32440..6fc9cbb5956ec 100644 --- a/tests/baselines/reference/thisTypeInFunctions4.types +++ b/tests/baselines/reference/thisTypeInFunctions4.types @@ -39,7 +39,7 @@ function problemFunction(this: CorrectObject | WrongObject): void { >isCorrect(this) : boolean > : ^^^^^^^ >isCorrect : (obj: any) => obj is CorrectObject -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : WrongObject | CorrectObject > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/thisTypeInFunctionsNegative.types b/tests/baselines/reference/thisTypeInFunctionsNegative.types index 2a42ef5208a4c..55ba44711e8a4 100644 --- a/tests/baselines/reference/thisTypeInFunctionsNegative.types +++ b/tests/baselines/reference/thisTypeInFunctionsNegative.types @@ -83,7 +83,7 @@ class C { >this.n : number > : ^^^^^^ >this : { n: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >n : number > : ^^^^^^ >m : number @@ -265,35 +265,35 @@ let impl: I = { } let implExplicitStructural = impl.explicitStructural; >implExplicitStructural : (this: { a: number; }) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >impl.explicitStructural : (this: { a: number; }) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >impl : I > : ^ >explicitStructural : (this: { a: number; }) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ implExplicitStructural(); // error, no 'a' in 'void' >implExplicitStructural() : number > : ^^^^^^ >implExplicitStructural : (this: { a: number; }) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ let implExplicitInterface = impl.explicitInterface; >implExplicitInterface : (this: I) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >impl.explicitInterface : (this: I) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >impl : I > : ^ >explicitInterface : (this: I) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ implExplicitInterface(); // error, no 'a' in 'void' >implExplicitInterface() : number > : ^^^^^^ >implExplicitInterface : (this: I) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ function explicitStructural(this: { y: number }, x: number): number { >explicitStructural : (this: { y: number; }, x: number) => number @@ -313,7 +313,7 @@ function explicitStructural(this: { y: number }, x: number): number { >this.y : number > : ^^^^^^ >this : { y: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >y : number > : ^^^^^^ } @@ -335,7 +335,7 @@ function propertyName(this: { y: number }, x: number): number { >this.notFound : any > : ^^^ >this : { y: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >notFound : any > : ^^^ } @@ -373,13 +373,13 @@ let ok: {y: number, f: (this: { y: number }, x: number) => number} = { y: 12, ex >x : number > : ^^^^^^ >{ y: 12, explicitStructural } : { y: number; explicitStructural: (this: { y: number; }, x: number) => number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ >y : number > : ^^^^^^ >12 : 12 > : ^^ >explicitStructural : (this: { y: number; }, x: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ let wrongPropertyType: {y: string, f: (this: { y: number }, x: number) => number} = { y: 'foo', explicitStructural }; >wrongPropertyType : { y: string; f: (this: { y: number; }, x: number) => number; } @@ -395,13 +395,13 @@ let wrongPropertyType: {y: string, f: (this: { y: number }, x: number) => number >x : number > : ^^^^^^ >{ y: 'foo', explicitStructural } : { y: string; explicitStructural: (this: { y: number; }, x: number) => number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ >y : string > : ^^^^^^ >'foo' : "foo" > : ^^^^^ >explicitStructural : (this: { y: number; }, x: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ let wrongPropertyName: {wrongName: number, f: (this: { y: number }, x: number) => number} = { wrongName: 12, explicitStructural }; >wrongPropertyName : { wrongName: number; f: (this: { y: number; }, x: number) => number; } @@ -417,33 +417,33 @@ let wrongPropertyName: {wrongName: number, f: (this: { y: number }, x: number) = >x : number > : ^^^^^^ >{ wrongName: 12, explicitStructural } : { wrongName: number; explicitStructural: (this: { y: number; }, x: number) => number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ >wrongName : number > : ^^^^^^ >12 : 12 > : ^^ >explicitStructural : (this: { y: number; }, x: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ok.f(); // not enough arguments >ok.f() : number > : ^^^^^^ >ok.f : (this: { y: number; }, x: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >ok : { y: number; f: (this: { y: number; }, x: number) => number; } -> : ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >f : (this: { y: number; }, x: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ok.f('wrong type'); >ok.f('wrong type') : number > : ^^^^^^ >ok.f : (this: { y: number; }, x: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >ok : { y: number; f: (this: { y: number; }, x: number) => number; } -> : ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >f : (this: { y: number; }, x: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >'wrong type' : "wrong type" > : ^^^^^^^^^^^^ @@ -451,11 +451,11 @@ ok.f(13, 'too many arguments'); >ok.f(13, 'too many arguments') : number > : ^^^^^^ >ok.f : (this: { y: number; }, x: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >ok : { y: number; f: (this: { y: number; }, x: number) => number; } -> : ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >f : (this: { y: number; }, x: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >13 : 13 > : ^^ >'too many arguments' : "too many arguments" @@ -465,11 +465,11 @@ wrongPropertyType.f(13); >wrongPropertyType.f(13) : number > : ^^^^^^ >wrongPropertyType.f : (this: { y: number; }, x: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >wrongPropertyType : { y: string; f: (this: { y: number; }, x: number) => number; } -> : ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >f : (this: { y: number; }, x: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >13 : 13 > : ^^ @@ -477,11 +477,11 @@ wrongPropertyName.f(13); >wrongPropertyName.f(13) : number > : ^^^^^^ >wrongPropertyName.f : (this: { y: number; }, x: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >wrongPropertyName : { wrongName: number; f: (this: { y: number; }, x: number) => number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^ ^^^ >f : (this: { y: number; }, x: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >13 : 13 > : ^^ @@ -497,21 +497,21 @@ c.explicitC(); // not enough arguments >c.explicitC() : number > : ^^^^^^ >c.explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ c.explicitC('wrong type'); >c.explicitC('wrong type') : number > : ^^^^^^ >c.explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >'wrong type' : "wrong type" > : ^^^^^^^^^^^^ @@ -519,11 +519,11 @@ c.explicitC(13, 'too many arguments'); >c.explicitC(13, 'too many arguments') : number > : ^^^^^^ >c.explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >13 : 13 > : ^^ >'too many arguments' : "too many arguments" @@ -533,21 +533,21 @@ c.explicitThis(); // not enough arguments >c.explicitThis() : number > : ^^^^^^ >c.explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >c : C > : ^ >explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ c.explicitThis('wrong type 2'); >c.explicitThis('wrong type 2') : number > : ^^^^^^ >c.explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >c : C > : ^ >explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >'wrong type 2' : "wrong type 2" > : ^^^^^^^^^^^^^^ @@ -555,11 +555,11 @@ c.explicitThis(14, 'too many arguments 2'); >c.explicitThis(14, 'too many arguments 2') : number > : ^^^^^^ >c.explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >c : C > : ^ >explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >14 : 14 > : ^^ >'too many arguments 2' : "too many arguments 2" @@ -569,21 +569,21 @@ c.implicitThis(); // not enough arguments >c.implicitThis() : number > : ^^^^^^ >c.implicitThis : (m: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c : C > : ^ >implicitThis : (m: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ c.implicitThis('wrong type 2'); >c.implicitThis('wrong type 2') : number > : ^^^^^^ >c.implicitThis : (m: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c : C > : ^ >implicitThis : (m: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'wrong type 2' : "wrong type 2" > : ^^^^^^^^^^^^^^ @@ -591,11 +591,11 @@ c.implicitThis(14, 'too many arguments 2'); >c.implicitThis(14, 'too many arguments 2') : number > : ^^^^^^ >c.implicitThis : (m: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c : C > : ^ >implicitThis : (m: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >14 : 14 > : ^^ >'too many arguments 2' : "too many arguments 2" @@ -605,21 +605,21 @@ c.explicitProperty(); // not enough arguments >c.explicitProperty() : number > : ^^^^^^ >c.explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ c.explicitProperty('wrong type 3'); >c.explicitProperty('wrong type 3') : number > : ^^^^^^ >c.explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >'wrong type 3' : "wrong type 3" > : ^^^^^^^^^^^^^^ @@ -627,11 +627,11 @@ c.explicitProperty(15, 'too many arguments 3'); >c.explicitProperty(15, 'too many arguments 3') : number > : ^^^^^^ >c.explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >15 : 15 > : ^^ >'too many arguments 3' : "too many arguments 3" @@ -646,7 +646,7 @@ let specifiedToVoid: (this: void, x: number) => number = explicitStructural; >x : number > : ^^^^^^ >explicitStructural : (this: { y: number; }, x: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ let reconstructed: { >reconstructed : { n: number; explicitThis(this: C, m: number): number; explicitC(this: C, m: number): number; explicitProperty: (this: { n: number; }, m: number) => number; explicitVoid(this: void, m: number): number; } @@ -692,7 +692,7 @@ let reconstructed: { } = { >{ n: 12, explicitThis: c.explicitThis, explicitC: c.explicitC, explicitProperty: c.explicitProperty, explicitVoid: c.explicitVoid} : { n: number; explicitThis: (this: C, m: number) => number; explicitC: (this: C, m: number) => number; explicitProperty: (this: { n: number; }, m: number) => number; explicitVoid: (this: void, m: number) => number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ n: 12, >n : number @@ -702,43 +702,43 @@ let reconstructed: { explicitThis: c.explicitThis, >explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >c.explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >c : C > : ^ >explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ explicitC: c.explicitC, >explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c.explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ explicitProperty: c.explicitProperty, >explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c.explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ explicitVoid: c.explicitVoid >explicitVoid : (this: void, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c.explicitVoid : (this: void, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitVoid : (this: void, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ };; @@ -766,11 +766,11 @@ c.explicitC = function(this: D, m: number) { return this.x + m }; >c.explicitC = function(this: D, m: number) { return this.x + m } : (this: D, m: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >c.explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >function(this: D, m: number) { return this.x + m } : (this: D, m: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >this : D @@ -790,143 +790,143 @@ c.explicitC = function(this: D, m: number) { return this.x + m }; c.explicitProperty = explicitXProperty; >c.explicitProperty = explicitXProperty : (this: { x: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c.explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >explicitXProperty : (this: { x: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ c.explicitC = d.explicitD; >c.explicitC = d.explicitD : (this: D, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c.explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >d.explicitD : (this: D, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >d : D > : ^ >explicitD : (this: D, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ c.explicitC = d.explicitThis; >c.explicitC = d.explicitThis : (this: D, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >c.explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitC : (this: C, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >d.explicitThis : (this: D, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >d : D > : ^ >explicitThis : (this: D, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ c.explicitThis = d.explicitD; >c.explicitThis = d.explicitD : (this: D, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c.explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >c : C > : ^ >explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >d.explicitD : (this: D, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >d : D > : ^ >explicitD : (this: D, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ c.explicitThis = d.explicitThis; >c.explicitThis = d.explicitThis : (this: D, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >c.explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >c : C > : ^ >explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >d.explicitThis : (this: D, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >d : D > : ^ >explicitThis : (this: D, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ c.explicitProperty = d.explicitD; >c.explicitProperty = d.explicitD : (this: D, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c.explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >d.explicitD : (this: D, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >d : D > : ^ >explicitD : (this: D, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ c.explicitThis = d.explicitThis; >c.explicitThis = d.explicitThis : (this: D, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >c.explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >c : C > : ^ >explicitThis : (this: C, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >d.explicitThis : (this: D, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >d : D > : ^ >explicitThis : (this: D, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ c.explicitVoid = d.explicitD; >c.explicitVoid = d.explicitD : (this: D, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c.explicitVoid : (this: void, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitVoid : (this: void, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >d.explicitD : (this: D, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >d : D > : ^ >explicitD : (this: D, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ c.explicitVoid = d.explicitThis; >c.explicitVoid = d.explicitThis : (this: D, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >c.explicitVoid : (this: void, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitVoid : (this: void, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >d.explicitThis : (this: D, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >d : D > : ^ >explicitThis : (this: D, m: number) => number -> : ^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ /// class-based polymorphic assignability (with inheritance!) /// @@ -1064,51 +1064,51 @@ let d2 = new Derived2(); b1.polymorphic = b2.polymorphic // error, 'this.y' not in Base1: { x } >b1.polymorphic = b2.polymorphic : (this: Base2) => number -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ >b1.polymorphic : (this: Base1) => number -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ >b1 : Base1 > : ^^^^^ >polymorphic : (this: Base1) => number -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ >b2.polymorphic : (this: Base2) => number -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ >b2 : Base2 > : ^^^^^ >polymorphic : (this: Base2) => number -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ b1.explicit = b2.polymorphic // error, 'y' not in Base1: { x } >b1.explicit = b2.polymorphic : (this: Base2) => number -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ >b1.explicit : (this: Base1) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b1 : Base1 > : ^^^^^ >explicit : (this: Base1) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b2.polymorphic : (this: Base2) => number -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ >b2 : Base2 > : ^^^^^ >polymorphic : (this: Base2) => number -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ d1.explicit = b2.polymorphic // error, 'y' not in Base1: { x } >d1.explicit = b2.polymorphic : (this: Base2) => number -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ >d1.explicit : (this: Base1) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >d1 : Derived1 > : ^^^^^^^^ >explicit : (this: Base1) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b2.polymorphic : (this: Base2) => number -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ >b2 : Base2 > : ^^^^^ >polymorphic : (this: Base2) => number -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ////// use this-type for construction with new //// function VoidThis(this: void) { @@ -1247,17 +1247,17 @@ function initializer(this: C = new C()): number { return this.n; } // can't name parameters 'this' in a lambda. c.explicitProperty = (this, m) => m + this.n; >c.explicitProperty = (this, m) => m + this.n : (this: { n: number; }, m: number) => any -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^ >c.explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >explicitProperty : (this: { n: number; }, m: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >(this, m) => m + this.n : (this: { n: number; }, m: number) => any -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^ >this : { n: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >m : number > : ^^^^^^ >m + this.n : any @@ -1353,11 +1353,11 @@ class Derived3 extends Base2 { >super.polymorphic() : number > : ^^^^^^ >super.polymorphic : (this: this) => number -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ >super : Base2 > : ^^^^^ >polymorphic : (this: this) => number -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ } } diff --git a/tests/baselines/reference/thisTypeInObjectLiterals.types b/tests/baselines/reference/thisTypeInObjectLiterals.types index a4249e834616e..3360254d41d1a 100644 --- a/tests/baselines/reference/thisTypeInObjectLiterals.types +++ b/tests/baselines/reference/thisTypeInObjectLiterals.types @@ -72,13 +72,13 @@ let mutuallyRecursive = { >this.passthrough : (n: number) => number > : ^ ^^ ^^^^^^^^^^^ >this : { a: number; start(): number; passthrough(n: number): number; sub1(n: number): number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >passthrough : (n: number) => number > : ^ ^^ ^^^^^^^^^^^ >this.a : number > : ^^^^^^ >this : { a: number; start(): number; passthrough(n: number): number; sub1(n: number): number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ @@ -93,11 +93,11 @@ let mutuallyRecursive = { >this.sub1(n) : number > : ^^^^^^ >this.sub1 : (n: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : { a: number; start(): number; passthrough(n: number): number; sub1(n: number): number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >sub1 : (n: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >n : number > : ^^^^^^ @@ -122,7 +122,7 @@ let mutuallyRecursive = { >this.passthrough : (n: number) => number > : ^ ^^ ^^^^^^^^^^^ >this : { a: number; start(): number; passthrough(n: number): number; sub1(n: number): number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >passthrough : (n: number) => number > : ^ ^^ ^^^^^^^^^^^ >n - 1 : number @@ -145,7 +145,7 @@ var i: number = mutuallyRecursive.start(); >mutuallyRecursive.start : () => number > : ^^^^^^^^^^^^ >mutuallyRecursive : { a: number; start(): number; passthrough(n: number): number; sub1(n: number): number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >start : () => number > : ^^^^^^^^^^^^ @@ -174,5 +174,5 @@ var impl: I = mutuallyRecursive; >impl : I > : ^ >mutuallyRecursive : { a: number; start(): number; passthrough(n: number): number; sub1(n: number): number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ diff --git a/tests/baselines/reference/thisTypeInObjectLiterals2.types b/tests/baselines/reference/thisTypeInObjectLiterals2.types index 1e86013fce232..05cb646d4eea8 100644 --- a/tests/baselines/reference/thisTypeInObjectLiterals2.types +++ b/tests/baselines/reference/thisTypeInObjectLiterals2.types @@ -458,7 +458,7 @@ f1({ >f1({ x: 10, y: 20, moveBy(dx, dy, dz) { this.x += dx; this.y += dy; if (this.z && dz) { this.z += dz; } }}) : void > : ^^^^ >f1 : (p: Point) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ x: 10, y: 20, moveBy(dx, dy, dz) { this.x += dx; this.y += dy; if (this.z && dz) { this.z += dz; } }} : { x: number; y: number; moveBy(dx: number, dy: number, dz: number | undefined): void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -545,7 +545,7 @@ f2({ >f2({ x: 10, y: 20, moveBy(dx, dy, dz) { this.x += dx; this.y += dy; if (this.z && dz) { this.z += dz; } }}) : void > : ^^^^ >f2 : (p: Point | null | undefined) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ x: 10, y: 20, moveBy(dx, dy, dz) { this.x += dx; this.y += dy; if (this.z && dz) { this.z += dz; } }} : { x: number; y: number; moveBy(dx: number, dy: number, dz: number | undefined): void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -650,7 +650,7 @@ let x1 = makeObject({ >makeObject({ data: { x: 0, y: 0 }, methods: { moveBy(dx: number, dy: number) { this.x += dx; // Strongly typed this this.y += dy; // Strongly typed this } }}) : { x: number; y: number; } & { moveBy(dx: number, dy: number): void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ >makeObject : (desc: ObjectDescriptor) => D & M -> : ^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >{ data: { x: 0, y: 0 }, methods: { moveBy(dx: number, dy: number) { this.x += dx; // Strongly typed this this.y += dy; // Strongly typed this } }} : { data: { x: number; y: number; }; methods: { moveBy(dx: number, dy: number): void; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ @@ -737,7 +737,7 @@ let x2 = makeObject2({ >makeObject2({ data: { x: 0, y: 0 }, methods: { moveBy(dx: number, dy: number) { this.x += dx; // Strongly typed this this.y += dy; // Strongly typed this } }}) : { x: number; y: number; } & { moveBy(dx: number, dy: number): void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ >makeObject2 : (desc: ObjectDescriptor) => D & M -> : ^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >{ data: { x: 0, y: 0 }, methods: { moveBy(dx: number, dy: number) { this.x += dx; // Strongly typed this this.y += dy; // Strongly typed this } }} : { data: { x: number; y: number; }; methods: { moveBy(dx: number, dy: number): void; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ @@ -826,7 +826,7 @@ type PropDescMap = { declare function defineProp(obj: T, name: K, desc: PropDesc & ThisType): T & Record; >defineProp : (obj: T, name: K, desc: PropDesc & ThisType) => T & Record -> : ^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >obj : T > : ^ >name : K @@ -848,7 +848,7 @@ let p10 = defineProp(p1, "foo", { value: 42 }); >defineProp(p1, "foo", { value: 42 }) : Point & Record<"foo", number> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >defineProp : (obj: T, name: K, desc: PropDesc & ThisType) => T & Record -> : ^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >p1 : Point > : ^^^^^ >"foo" : "foo" @@ -886,7 +886,7 @@ let p11 = defineProp(p1, "bar", { >defineProp(p1, "bar", { get() { return this.x; }, set(value: number) { this.x = value; }}) : Point & Record<"bar", number> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >defineProp : (obj: T, name: K, desc: PropDesc & ThisType) => T & Record -> : ^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >p1 : Point > : ^^^^^ >"bar" : "bar" @@ -952,7 +952,7 @@ let p12 = defineProps(p1, { >defineProps(p1, { foo: { value: 42 }, bar: { get(): number { return this.x; }, set(value: number) { this.x = value; } }}) : Point & { foo: number; bar: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >defineProps : (obj: T, descs: PropDescMap & ThisType) => T & U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >p1 : Point > : ^^^^^ >{ foo: { value: 42 }, bar: { get(): number { return this.x; }, set(value: number) { this.x = value; } }} : { foo: { value: number; }; bar: { get(): number; set(value: number): void; }; } @@ -1106,7 +1106,7 @@ let vue = new Vue({ >new Vue({ data: () => ({ x: 1, y: 2 }), methods: { f(x: string) { return this.x; } }, computed: { test(): number { return this.x; }, hello: { get() { return "hi"; }, set(value: string) { } } }}) : { x: number; y: number; } & { f(x: string): number; } & { test: number; hello: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Vue : new (options: VueOptions) => D & M & P -> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >{ data: () => ({ x: 1, y: 2 }), methods: { f(x: string) { return this.x; } }, computed: { test(): number { return this.x; }, hello: { get() { return "hi"; }, set(value: string) { } } }} : { data: () => { x: number; y: number; }; methods: { f(x: string): number; }; computed: { test(): number; hello: { get(): string; set(value: string): void; }; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/thisTypeInTaggedTemplateCall.types b/tests/baselines/reference/thisTypeInTaggedTemplateCall.types index 9f87335a06c22..1cb88052001ba 100644 --- a/tests/baselines/reference/thisTypeInTaggedTemplateCall.types +++ b/tests/baselines/reference/thisTypeInTaggedTemplateCall.types @@ -17,7 +17,7 @@ class Foo { >new this() : T > : ^ >this : new () => T -> : ^^^^^^^^^^^ +> : ^^^^^^^^^^ } } diff --git a/tests/baselines/reference/thisTypeInTuples.types b/tests/baselines/reference/thisTypeInTuples.types index adbdc2ef9a87e..ea5de79797c63 100644 --- a/tests/baselines/reference/thisTypeInTuples.types +++ b/tests/baselines/reference/thisTypeInTuples.types @@ -4,7 +4,7 @@ interface Array { slice(): this; >slice : { (start?: number, end?: number): T[]; (): this; } -> : ^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^^ +> : ^^^ ^^^ ^^ ^^^ ^^^ ^^^^^^ ^^^ } let t: [number, string] = [42, "hello"]; @@ -23,11 +23,11 @@ let a = t.slice(); >t.slice() : [number, string] > : ^^^^^^^^^^^^^^^^ >t.slice : { (start?: number, end?: number): (string | number)[]; (): [number, string]; } -> : ^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ >t : [number, string] > : ^^^^^^^^^^^^^^^^ >slice : { (start?: number, end?: number): (string | number)[]; (): [number, string]; } -> : ^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ let b = t.slice(1); >b : (string | number)[] @@ -35,11 +35,11 @@ let b = t.slice(1); >t.slice(1) : (string | number)[] > : ^^^^^^^^^^^^^^^^^^^ >t.slice : { (start?: number, end?: number): (string | number)[]; (): [number, string]; } -> : ^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ >t : [number, string] > : ^^^^^^^^^^^^^^^^ >slice : { (start?: number, end?: number): (string | number)[]; (): [number, string]; } -> : ^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ >1 : 1 > : ^ @@ -49,11 +49,11 @@ let c = t.slice(0, 1); >t.slice(0, 1) : (string | number)[] > : ^^^^^^^^^^^^^^^^^^^ >t.slice : { (start?: number, end?: number): (string | number)[]; (): [number, string]; } -> : ^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ >t : [number, string] > : ^^^^^^^^^^^^^^^^ >slice : { (start?: number, end?: number): (string | number)[]; (): [number, string]; } -> : ^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ >0 : 0 > : ^ >1 : 1 diff --git a/tests/baselines/reference/thisTypeInTypePredicate.types b/tests/baselines/reference/thisTypeInTypePredicate.types index d3a69a2cbb70c..ebe530f9c1e7a 100644 --- a/tests/baselines/reference/thisTypeInTypePredicate.types +++ b/tests/baselines/reference/thisTypeInTypePredicate.types @@ -16,7 +16,7 @@ const numbers = filter((x): x is number => 'number' == typeof x) >filter((x): x is number => 'number' == typeof x) : number[] > : ^^^^^^^^ >filter : (f: (this: void, x: any) => x is S) => S[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >(x): x is number => 'number' == typeof x : (this: void, x: any) => x is number > : ^ ^^ ^^ ^^^^^^^^^^ >x : any diff --git a/tests/baselines/reference/thisTypeOfConstructorFunctions.types b/tests/baselines/reference/thisTypeOfConstructorFunctions.types index 5a8f426fb6fab..5023191f43f08 100644 --- a/tests/baselines/reference/thisTypeOfConstructorFunctions.types +++ b/tests/baselines/reference/thisTypeOfConstructorFunctions.types @@ -46,7 +46,7 @@ function Cp(t) { >m3 : any > : ^^^ >() => this : () => this -> : ^^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ } @@ -59,7 +59,7 @@ Cp.prototype = { >Cp : typeof Cp > : ^^^^^^^^^ >prototype : { m4(): this; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >{ /** @return {this} */ m4() { this.z = this.y; return this }} : { m4(): this; } > : ^^^^^^^^ ^^^ @@ -124,7 +124,7 @@ Cpp.prototype.m2 = function () { >m2 : any > : ^^^ >function () { this.z = this.y; return this} : () => this -> : ^^^^^^^^^^ +> : ^^^^^^ this.z = this.y; return this >this.z = this.y : T diff --git a/tests/baselines/reference/thisTypeOptionalCall.types b/tests/baselines/reference/thisTypeOptionalCall.types index 8f990d2a76fb2..3b188f12a14c2 100644 --- a/tests/baselines/reference/thisTypeOptionalCall.types +++ b/tests/baselines/reference/thisTypeOptionalCall.types @@ -3,7 +3,7 @@ === thisTypeOptionalCall.ts === function maybeBind(obj: T, fn: ((this: T, ...args: A) => R) | undefined): ((...args: A) => R) | undefined { >maybeBind : (obj: T, fn: ((this: T, ...args: A) => R) | undefined) => ((...args: A) => R) | undefined -> : ^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >obj : T > : ^ >fn : ((this: T, ...args: A) => R) | undefined @@ -18,11 +18,11 @@ function maybeBind(obj: T, fn: ((this: T, ...args: A) => return fn?.bind(obj); >fn?.bind(obj) : any >fn?.bind : ((this: Function, thisArg: any, ...argArray: any[]) => any) | undefined -> : ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >fn : ((this: T, ...args: A) => R) | undefined -> : ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >bind : ((this: Function, thisArg: any, ...argArray: any[]) => any) | undefined -> : ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >obj : T > : ^ } diff --git a/tests/baselines/reference/thisTypeSyntacticContext.types b/tests/baselines/reference/thisTypeSyntacticContext.types index 3c28e4e91d5fa..0d18cf2933e27 100644 --- a/tests/baselines/reference/thisTypeSyntacticContext.types +++ b/tests/baselines/reference/thisTypeSyntacticContext.types @@ -32,11 +32,11 @@ o.test = f >o.test = f : (this: { n: number; }) => void > : ^ ^^ ^^^^^^^^^ >o.test : (this: { n: number; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >o : { n: number; test?: (this: { n: number; }) => void; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^^ >test : (this: { n: number; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : (this: { n: number; }) => void > : ^ ^^ ^^^^^^^^^ @@ -44,76 +44,76 @@ o.test(); >o.test() : void > : ^^^^ >o.test : (this: { n: number; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >o : { n: number; test?: (this: { n: number; }) => void; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^^ >test : (this: { n: number; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ o!.test(); >o!.test() : void > : ^^^^ >o!.test : (this: { n: number; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >o! : { n: number; test?: (this: { n: number; }) => void; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^^ >o : { n: number; test?: (this: { n: number; }) => void; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^^ >test : (this: { n: number; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ o.test!(); >o.test!() : void > : ^^^^ >o.test! : (this: { n: number; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >o.test : (this: { n: number; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >o : { n: number; test?: (this: { n: number; }) => void; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^^ >test : (this: { n: number; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ o.test!!!(); >o.test!!!() : void > : ^^^^ >o.test!!! : (this: { n: number; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >o.test!! : (this: { n: number; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >o.test! : (this: { n: number; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >o.test : (this: { n: number; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >o : { n: number; test?: (this: { n: number; }) => void; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^^ >test : (this: { n: number; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ (o.test!)(); >(o.test!)() : void > : ^^^^ >(o.test!) : (this: { n: number; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >o.test! : (this: { n: number; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >o.test : (this: { n: number; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >o : { n: number; test?: (this: { n: number; }) => void; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^^ >test : (this: { n: number; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ (o.test)(); >(o.test)() : void > : ^^^^ >(o.test) : (this: { n: number; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >o.test : (this: { n: number; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >o : { n: number; test?: (this: { n: number; }) => void; } -> : ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^^ >test : (this: { n: number; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ diff --git a/tests/baselines/reference/throwStatements.types b/tests/baselines/reference/throwStatements.types index fdbd0f55d83e6..697b9d5d871ed 100644 --- a/tests/baselines/reference/throwStatements.types +++ b/tests/baselines/reference/throwStatements.types @@ -64,11 +64,11 @@ module M { >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } var aNumber = 9.9; @@ -182,19 +182,19 @@ throw anObjectLiteral; var aFunction = F; >aFunction : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >F : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ throw aFunction; >aFunction : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ throw aFunction(''); >aFunction('') : number > : ^^^^^^ >aFunction : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'' : "" > : ^^ @@ -253,17 +253,17 @@ throw aClassInModule; var aFunctionInModule = M.F2; >aFunctionInModule : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >M.F2 : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >M : typeof M > : ^^^^^^^^ >F2 : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ throw aFunctionInModule; >aFunctionInModule : (x: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ // no initializer or annotation, so this is an 'any' var x; diff --git a/tests/baselines/reference/toStringOnPrimitives.types b/tests/baselines/reference/toStringOnPrimitives.types index f0e3f5e100b77..926766cdee403 100644 --- a/tests/baselines/reference/toStringOnPrimitives.types +++ b/tests/baselines/reference/toStringOnPrimitives.types @@ -5,11 +5,11 @@ true.toString() >true.toString() : string > : ^^^^^^ >true.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >true : true > : ^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var aBool = false; >aBool : boolean @@ -21,19 +21,19 @@ aBool.toString(); >aBool.toString() : string > : ^^^^^^ >aBool.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >aBool : false > : ^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ 1..toString(); >1..toString() : string > : ^^^^^^ >1..toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >1. : 1 > : ^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/tooFewArgumentsInGenericFunctionTypedArgument.types b/tests/baselines/reference/tooFewArgumentsInGenericFunctionTypedArgument.types index a8927c73986da..2faa90803cf93 100644 --- a/tests/baselines/reference/tooFewArgumentsInGenericFunctionTypedArgument.types +++ b/tests/baselines/reference/tooFewArgumentsInGenericFunctionTypedArgument.types @@ -25,7 +25,7 @@ interface Collection { interface Combinators { map(c: Collection, f: (x: T, y: U) => V): Collection; >map : { (c: Collection, f: (x: T, y: U) => V): Collection; (c: Collection, f: (x: T_1, y: U_1) => any): Collection; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c : Collection > : ^^^^^^^^^^^^^^^^ >f : (x: T, y: U) => V @@ -37,7 +37,7 @@ interface Combinators { map(c: Collection, f: (x: T, y: U) => any): Collection; >map : { (c: Collection, f: (x: T_1, y: U_1) => V): Collection; (c: Collection, f: (x: T, y: U) => any): Collection; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c : Collection > : ^^^^^^^^^^^^^^^^ >f : (x: T, y: U) => any @@ -60,12 +60,12 @@ var r1a = _.map(c2, (x) => { return x.toFixed() }); > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >_.map(c2, (x) => { return x.toFixed() }) : Collection > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->_.map : { (c: Collection, f: (x: T, y: U) => V): Collection; (c: Collection, f: (x: T_1, y: U_1) => any): Collection; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +>_.map : { (c: Collection, f: (x: T, y: U) => V): Collection; (c: Collection, f: (x: T, y: U) => any): Collection; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >_ : Combinators > : ^^^^^^^^^^^ ->map : { (c: Collection, f: (x: T, y: U) => V): Collection; (c: Collection, f: (x: T_1, y: U_1) => any): Collection; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map : { (c: Collection, f: (x: T, y: U) => V): Collection; (c: Collection, f: (x: T, y: U) => any): Collection; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c2 : Collection > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >(x) => { return x.toFixed() } : (x: number) => string @@ -75,11 +75,11 @@ var r1a = _.map(c2, (x) => { return x.toFixed() }); >x.toFixed() : string > : ^^^^^^ >x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var rf1 = (x: number) => { return x.toFixed() }; >rf1 : (x: number) => string @@ -91,23 +91,23 @@ var rf1 = (x: number) => { return x.toFixed() }; >x.toFixed() : string > : ^^^^^^ >x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var r1b = _.map(c2, rf1); >r1b : Collection > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >_.map(c2, rf1) : Collection > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->_.map : { (c: Collection, f: (x: T, y: U) => V): Collection; (c: Collection, f: (x: T_1, y: U_1) => any): Collection; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +>_.map : { (c: Collection, f: (x: T, y: U) => V): Collection; (c: Collection, f: (x: T, y: U) => any): Collection; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >_ : Combinators > : ^^^^^^^^^^^ ->map : { (c: Collection, f: (x: T, y: U) => V): Collection; (c: Collection, f: (x: T_1, y: U_1) => any): Collection; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map : { (c: Collection, f: (x: T, y: U) => V): Collection; (c: Collection, f: (x: T, y: U) => any): Collection; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >c2 : Collection > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >rf1 : (x: number) => string diff --git a/tests/baselines/reference/topFunctionTypeNotCallable.types b/tests/baselines/reference/topFunctionTypeNotCallable.types index ecc84c9f00bae..ed57fafa752f6 100644 --- a/tests/baselines/reference/topFunctionTypeNotCallable.types +++ b/tests/baselines/reference/topFunctionTypeNotCallable.types @@ -13,5 +13,5 @@ foo(); // error >foo() : void > : ^^^^ >foo : (...args: never) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/topLevelAwait.1(module=es2022,target=es2015).types b/tests/baselines/reference/topLevelAwait.1(module=es2022,target=es2015).types index 3b89c79d91ca2..ac622b31610ca 100644 --- a/tests/baselines/reference/topLevelAwait.1(module=es2022,target=es2015).types +++ b/tests/baselines/reference/topLevelAwait.1(module=es2022,target=es2015).types @@ -55,7 +55,7 @@ await (f(), x); >f() : number > : ^^^^^^ >f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : 1 > : ^ @@ -81,7 +81,7 @@ await (f(), x); >f() : number > : ^^^^^^ >f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : 1 > : ^ @@ -269,12 +269,12 @@ const arr = [Promise.resolve()]; > : ^^^^^^^^^^^^^^^ >Promise.resolve() : Promise > : ^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ for await (const item of arr) { >item : void diff --git a/tests/baselines/reference/topLevelAwait.1(module=es2022,target=es2017).types b/tests/baselines/reference/topLevelAwait.1(module=es2022,target=es2017).types index 9aa7c9da4eadc..f2a9992f6d32d 100644 --- a/tests/baselines/reference/topLevelAwait.1(module=es2022,target=es2017).types +++ b/tests/baselines/reference/topLevelAwait.1(module=es2022,target=es2017).types @@ -55,7 +55,7 @@ await (f(), x); >f() : number > : ^^^^^^ >f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : 1 > : ^ @@ -81,7 +81,7 @@ await (f(), x); >f() : number > : ^^^^^^ >f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : 1 > : ^ @@ -265,12 +265,12 @@ const arr = [Promise.resolve()]; > : ^^^^^^^^^^^^^^^ >Promise.resolve() : Promise > : ^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ for await (const item of arr) { >item : void diff --git a/tests/baselines/reference/topLevelAwait.1(module=esnext,target=es2015).types b/tests/baselines/reference/topLevelAwait.1(module=esnext,target=es2015).types index 3b89c79d91ca2..ac622b31610ca 100644 --- a/tests/baselines/reference/topLevelAwait.1(module=esnext,target=es2015).types +++ b/tests/baselines/reference/topLevelAwait.1(module=esnext,target=es2015).types @@ -55,7 +55,7 @@ await (f(), x); >f() : number > : ^^^^^^ >f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : 1 > : ^ @@ -81,7 +81,7 @@ await (f(), x); >f() : number > : ^^^^^^ >f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : 1 > : ^ @@ -269,12 +269,12 @@ const arr = [Promise.resolve()]; > : ^^^^^^^^^^^^^^^ >Promise.resolve() : Promise > : ^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ for await (const item of arr) { >item : void diff --git a/tests/baselines/reference/topLevelAwait.1(module=esnext,target=es2017).types b/tests/baselines/reference/topLevelAwait.1(module=esnext,target=es2017).types index 9aa7c9da4eadc..f2a9992f6d32d 100644 --- a/tests/baselines/reference/topLevelAwait.1(module=esnext,target=es2017).types +++ b/tests/baselines/reference/topLevelAwait.1(module=esnext,target=es2017).types @@ -55,7 +55,7 @@ await (f(), x); >f() : number > : ^^^^^^ >f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : 1 > : ^ @@ -81,7 +81,7 @@ await (f(), x); >f() : number > : ^^^^^^ >f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : 1 > : ^ @@ -265,12 +265,12 @@ const arr = [Promise.resolve()]; > : ^^^^^^^^^^^^^^^ >Promise.resolve() : Promise > : ^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ for await (const item of arr) { >item : void diff --git a/tests/baselines/reference/topLevelAwait.1(module=system,target=es2015).types b/tests/baselines/reference/topLevelAwait.1(module=system,target=es2015).types index 3b89c79d91ca2..ac622b31610ca 100644 --- a/tests/baselines/reference/topLevelAwait.1(module=system,target=es2015).types +++ b/tests/baselines/reference/topLevelAwait.1(module=system,target=es2015).types @@ -55,7 +55,7 @@ await (f(), x); >f() : number > : ^^^^^^ >f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : 1 > : ^ @@ -81,7 +81,7 @@ await (f(), x); >f() : number > : ^^^^^^ >f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : 1 > : ^ @@ -269,12 +269,12 @@ const arr = [Promise.resolve()]; > : ^^^^^^^^^^^^^^^ >Promise.resolve() : Promise > : ^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ for await (const item of arr) { >item : void diff --git a/tests/baselines/reference/topLevelAwait.1(module=system,target=es2017).types b/tests/baselines/reference/topLevelAwait.1(module=system,target=es2017).types index 9aa7c9da4eadc..f2a9992f6d32d 100644 --- a/tests/baselines/reference/topLevelAwait.1(module=system,target=es2017).types +++ b/tests/baselines/reference/topLevelAwait.1(module=system,target=es2017).types @@ -55,7 +55,7 @@ await (f(), x); >f() : number > : ^^^^^^ >f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : 1 > : ^ @@ -81,7 +81,7 @@ await (f(), x); >f() : number > : ^^^^^^ >f : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : 1 > : ^ @@ -265,12 +265,12 @@ const arr = [Promise.resolve()]; > : ^^^^^^^^^^^^^^^ >Promise.resolve() : Promise > : ^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ for await (const item of arr) { >item : void diff --git a/tests/baselines/reference/topLevelAwaitNonModule(module=es2022).types b/tests/baselines/reference/topLevelAwaitNonModule(module=es2022).types index e47f8c44bcc52..77e3025ffa502 100644 --- a/tests/baselines/reference/topLevelAwaitNonModule(module=es2022).types +++ b/tests/baselines/reference/topLevelAwaitNonModule(module=es2022).types @@ -14,12 +14,12 @@ const arr = [Promise.resolve()]; > : ^^^^^^^^^^^^^^^ >Promise.resolve() : Promise > : ^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ for await (const item of arr) { >item : void diff --git a/tests/baselines/reference/topLevelAwaitNonModule(module=esnext).types b/tests/baselines/reference/topLevelAwaitNonModule(module=esnext).types index e47f8c44bcc52..77e3025ffa502 100644 --- a/tests/baselines/reference/topLevelAwaitNonModule(module=esnext).types +++ b/tests/baselines/reference/topLevelAwaitNonModule(module=esnext).types @@ -14,12 +14,12 @@ const arr = [Promise.resolve()]; > : ^^^^^^^^^^^^^^^ >Promise.resolve() : Promise > : ^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ for await (const item of arr) { >item : void diff --git a/tests/baselines/reference/topLevelBlockExpando.types b/tests/baselines/reference/topLevelBlockExpando.types index 527a79e0fa129..ce3b89ad79a89 100644 --- a/tests/baselines/reference/topLevelBlockExpando.types +++ b/tests/baselines/reference/topLevelBlockExpando.types @@ -21,21 +21,21 @@ interface Person { >Math.floor(Math.random() * 6) : number > : ^^^^^^ >Math.floor : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >floor : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math.random() * 6 : number > : ^^^^^^ >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >6 : 6 > : ^ @@ -95,21 +95,21 @@ const dice1 = () => Math.floor(Math.random() * 6); >Math.floor(Math.random() * 6) : number > : ^^^^^^ >Math.floor : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >floor : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math.random() * 6 : number > : ^^^^^^ >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >6 : 6 > : ^ @@ -138,21 +138,21 @@ dice1.last = 'Calrissian'; >Math.floor(Math.random() * 6) : number > : ^^^^^^ >Math.floor : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >floor : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math.random() * 6 : number > : ^^^^^^ >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >6 : 6 > : ^ diff --git a/tests/baselines/reference/topLevelExports.types b/tests/baselines/reference/topLevelExports.types index c9310933830b2..80c9c1d58a8bb 100644 --- a/tests/baselines/reference/topLevelExports.types +++ b/tests/baselines/reference/topLevelExports.types @@ -21,7 +21,7 @@ void log(foo).toString(); >log(foo).toString() : string > : ^^^^^^ >log(foo).toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >log(foo) : number > : ^^^^^^ >log : (n: number) => number @@ -29,5 +29,5 @@ void log(foo).toString(); >foo : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/topLevelModuleDeclarationAndFile.types b/tests/baselines/reference/topLevelModuleDeclarationAndFile.types index e78db1c09fa83..bd1a283efb2ac 100644 --- a/tests/baselines/reference/topLevelModuleDeclarationAndFile.types +++ b/tests/baselines/reference/topLevelModuleDeclarationAndFile.types @@ -28,11 +28,11 @@ var z2 = foo.y() + 10; // Should resolve >foo.y() : number > : ^^^^^^ >foo.y : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >foo : typeof foo > : ^^^^^^^^^^ >y : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >10 : 10 > : ^^ diff --git a/tests/baselines/reference/trackedSymbolsNoCrash.types b/tests/baselines/reference/trackedSymbolsNoCrash.types index 18640f29d412a..02ee07d283a42 100644 --- a/tests/baselines/reference/trackedSymbolsNoCrash.types +++ b/tests/baselines/reference/trackedSymbolsNoCrash.types @@ -1019,11 +1019,11 @@ import * as ast from "./ast"; export const isNodeOfType = >isNodeOfType : (nodeType: NodeType) => (node: ast.Node | null | undefined) => node is Extract -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ (nodeType: NodeType) => >(nodeType: NodeType) => ( node: ast.Node | null | undefined, ): node is Extract => node?.kind === nodeType : (nodeType: NodeType) => (node: ast.Node | null | undefined) => node is Extract -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >ast : any > : ^^^ >nodeType : NodeType diff --git a/tests/baselines/reference/trailingCommasInFunctionParametersAndArguments.types b/tests/baselines/reference/trailingCommasInFunctionParametersAndArguments.types index 3e758c1876f59..48452d9ddfc38 100644 --- a/tests/baselines/reference/trailingCommasInFunctionParametersAndArguments.types +++ b/tests/baselines/reference/trailingCommasInFunctionParametersAndArguments.types @@ -41,13 +41,13 @@ f2(...[],); // Not confused by overloads declare function f3(x, ): number; >f3 : { (x: any): number; (x: any, y: any): string; } -> : ^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >x : any > : ^^^ declare function f3(x, y,): string; >f3 : { (x: any): number; (x: any, y: any): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^ +> : ^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >x : any > : ^^^ >y : any @@ -59,7 +59,7 @@ declare function f3(x, y,): string; >f3(1,) : number > : ^^^^^^ >f3 : { (x: any): number; (x: any, y: any): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >1 : 1 > : ^ @@ -69,7 +69,7 @@ declare function f3(x, y,): string; >f3(1, 2,) : string > : ^^^^^^ >f3 : { (x: any): number; (x: any, y: any): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >1 : 1 > : ^ >2 : 2 diff --git a/tests/baselines/reference/transformNestedGeneratorsWithTry.types b/tests/baselines/reference/transformNestedGeneratorsWithTry.types index 249c7593fdd0b..893ebeb88355e 100644 --- a/tests/baselines/reference/transformNestedGeneratorsWithTry.types +++ b/tests/baselines/reference/transformNestedGeneratorsWithTry.types @@ -25,12 +25,12 @@ async function a(): Bluebird { > : ^^^^ >Bluebird.resolve() : Promise > : ^^^^^^^^^^^^^ ->Bluebird.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Bluebird.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Bluebird : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ } catch (error) { } >error : any @@ -43,7 +43,7 @@ async function a(): Bluebird { >b() : Bluebird > : ^^^^^^^^^^^^^^ >b : () => Bluebird -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ } catch (error) { } >error : any diff --git a/tests/baselines/reference/transpile/declarationAsyncAndGeneratorFunctions.d.ts b/tests/baselines/reference/transpile/declarationAsyncAndGeneratorFunctions.d.ts new file mode 100644 index 0000000000000..c7acdac65cc6f --- /dev/null +++ b/tests/baselines/reference/transpile/declarationAsyncAndGeneratorFunctions.d.ts @@ -0,0 +1,71 @@ +//// [declarationAsyncAndGeneratorFunctions.ts] //// +export async function asyncFn() { + return {} as Promise +} + +export async function asyncFn2() { + return {} as number +} + +export async function asyncFn3() { + return (await 42) as number; + } + +export function* generatorFn() { + return {} as number +} + +export async function* asyncGeneratorFn() { + return {} as number +} +//// [declarationAsyncAndGeneratorFunctions.d.ts] //// +export declare function asyncFn(): unknown; +export declare function asyncFn2(): unknown; +export declare function asyncFn3(): unknown; +export declare function generatorFn(): {}; +export declare function asyncGeneratorFn(): {}; + + +//// [Diagnostics reported] +declarationAsyncAndGeneratorFunctions.ts(1,23): error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +declarationAsyncAndGeneratorFunctions.ts(5,23): error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +declarationAsyncAndGeneratorFunctions.ts(9,23): error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +declarationAsyncAndGeneratorFunctions.ts(13,18): error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +declarationAsyncAndGeneratorFunctions.ts(17,24): error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. + + +==== declarationAsyncAndGeneratorFunctions.ts (5 errors) ==== + export async function asyncFn() { + ~~~~~~~ +!!! error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +!!! related TS9031 declarationAsyncAndGeneratorFunctions.ts:1:23: Add a return type to the function declaration. + return {} as Promise + } + + export async function asyncFn2() { + ~~~~~~~~ +!!! error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +!!! related TS9031 declarationAsyncAndGeneratorFunctions.ts:5:23: Add a return type to the function declaration. + return {} as number + } + + export async function asyncFn3() { + ~~~~~~~~ +!!! error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +!!! related TS9031 declarationAsyncAndGeneratorFunctions.ts:9:23: Add a return type to the function declaration. + return (await 42) as number; + } + + export function* generatorFn() { + ~~~~~~~~~~~ +!!! error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +!!! related TS9031 declarationAsyncAndGeneratorFunctions.ts:13:18: Add a return type to the function declaration. + return {} as number + } + + export async function* asyncGeneratorFn() { + ~~~~~~~~~~~~~~~~ +!!! error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. +!!! related TS9031 declarationAsyncAndGeneratorFunctions.ts:17:24: Add a return type to the function declaration. + return {} as number + } diff --git a/tests/baselines/reference/transpile/declarationAsyncAndGeneratorFunctions.js b/tests/baselines/reference/transpile/declarationAsyncAndGeneratorFunctions.js new file mode 100644 index 0000000000000..9f0704cfd8aa6 --- /dev/null +++ b/tests/baselines/reference/transpile/declarationAsyncAndGeneratorFunctions.js @@ -0,0 +1,36 @@ +//// [declarationAsyncAndGeneratorFunctions.ts] //// +export async function asyncFn() { + return {} as Promise +} + +export async function asyncFn2() { + return {} as number +} + +export async function asyncFn3() { + return (await 42) as number; + } + +export function* generatorFn() { + return {} as number +} + +export async function* asyncGeneratorFn() { + return {} as number +} +//// [declarationAsyncAndGeneratorFunctions.js] //// +export async function asyncFn() { + return {}; +} +export async function asyncFn2() { + return {}; +} +export async function asyncFn3() { + return (await 42); +} +export function* generatorFn() { + return {}; +} +export async function* asyncGeneratorFn() { + return {}; +} diff --git a/tests/baselines/reference/transpile/declarationBasicSyntax.d.ts b/tests/baselines/reference/transpile/declarationBasicSyntax.d.ts index 43e328bf1152c..d79e24d1d435c 100644 --- a/tests/baselines/reference/transpile/declarationBasicSyntax.d.ts +++ b/tests/baselines/reference/transpile/declarationBasicSyntax.d.ts @@ -56,7 +56,6 @@ export interface Foo { c?: string; } //// [class.d.ts] //// -declare const i: unique symbol; export declare class Bar { #private; a: string; @@ -66,24 +65,19 @@ export declare class Bar { protected f: string; private g; ["h"]: string; - [i]: string; } export declare abstract class Baz { abstract a: string; abstract method(): void; } -export {}; //// [Diagnostics reported] -class.ts(1,7): error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +class.ts(11,5): error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. ==== class.ts (1 errors) ==== const i = Symbol(); - ~ -!!! error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. -!!! related TS9027 class.ts:1:7: Add a type annotation to the variable i. export class Bar { a: string; b?: string; @@ -94,6 +88,8 @@ class.ts(1,7): error TS9010: Variable must have an explicit type annotation with private g: string; ["h"]: string; [i]: string; + ~~~ +!!! error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. } export abstract class Baz { diff --git a/tests/baselines/reference/transpile/declarationBasicSyntax.js b/tests/baselines/reference/transpile/declarationBasicSyntax.js index bc376250a19b0..4fe0087ee9c36 100644 --- a/tests/baselines/reference/transpile/declarationBasicSyntax.js +++ b/tests/baselines/reference/transpile/declarationBasicSyntax.js @@ -45,7 +45,7 @@ export type A = { x: T }; var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) { if (value !== null && value !== void 0) { if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected."); - var dispose; + var dispose, inner; if (async) { if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined."); dispose = value[Symbol.asyncDispose]; @@ -53,8 +53,10 @@ var __addDisposableResource = (this && this.__addDisposableResource) || function if (dispose === void 0) { if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined."); dispose = value[Symbol.dispose]; + if (async) inner = dispose; } if (typeof dispose !== "function") throw new TypeError("Object not disposable."); + if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } }; env.stack.push({ value: value, dispose: dispose, async: async }); } else if (async) { diff --git a/tests/baselines/reference/transpile/declarationComputedPropertyNames.d.ts b/tests/baselines/reference/transpile/declarationComputedPropertyNames.d.ts new file mode 100644 index 0000000000000..4ede31ab9e960 --- /dev/null +++ b/tests/baselines/reference/transpile/declarationComputedPropertyNames.d.ts @@ -0,0 +1,191 @@ +//// [declarationComputedPropertyNames.ts] //// +export namespace presentNs { + export const a = Symbol(); +} + +export type A = { + [missing]: number, + [ns.missing]: number, + [presentNs.a]: number, + [Symbol.iterator]: number, + [1]: number, + ["2"]: number, + [(missing2)]: number, + [Math.random() > 0.5 ? "f1" : "f2"]: number, +}; + +export interface B { + [missing]: number, + [ns.missing]: number, + [presentNs.a]: number, + [Symbol.iterator]: number, + [1]: number, + ["2"]: number, + [(missing2)]: number, + [Math.random() > 0.5 ? "f1" : "f2"]: number, +} + +export class C { + [missing]: number = 1; + [ns.missing]: number = 1; + [presentNs.a]: number = 1; + [Symbol.iterator]: number = 1; + [1]: number = 1; + ["2"]: number = 1; + [(missing2)]: number = 1; + [Math.random() > 0.5 ? "f1" : "f2"]: number = 1; +} + +export const D = { + [missing]: 1, + [ns.missing]: 1, + [presentNs.a]: 1, + [Symbol.iterator]: 1, + [1]: 1, + ["2"]: 1, + [(missing2)]: 1, + [Math.random() > 0.5 ? "f1" : "f2"]: 1, +}; +//// [declarationComputedPropertyNames.d.ts] //// +export declare namespace presentNs { + const a: unique symbol; +} +export type A = { + [missing]: number; + [ns.missing]: number; + [presentNs.a]: number; + [Symbol.iterator]: number; + [1]: number; + ["2"]: number; +}; +export interface B { + [missing]: number; + [ns.missing]: number; + [presentNs.a]: number; + [Symbol.iterator]: number; + [1]: number; + ["2"]: number; +} +export declare class C { + [1]: number; + ["2"]: number; +} +export declare const D: { + [x: string]: number; + [x: number]: number; + [presentNs.a]: number; + 1: number; + "2": number; +}; + + +//// [Diagnostics reported] +declarationComputedPropertyNames.ts(2,18): error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +declarationComputedPropertyNames.ts(12,5): error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. +declarationComputedPropertyNames.ts(13,5): error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. +declarationComputedPropertyNames.ts(23,5): error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. +declarationComputedPropertyNames.ts(24,5): error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. +declarationComputedPropertyNames.ts(28,5): error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. +declarationComputedPropertyNames.ts(29,5): error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. +declarationComputedPropertyNames.ts(30,5): error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. +declarationComputedPropertyNames.ts(31,5): error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. +declarationComputedPropertyNames.ts(34,5): error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. +declarationComputedPropertyNames.ts(35,5): error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. +declarationComputedPropertyNames.ts(39,5): error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. +declarationComputedPropertyNames.ts(40,5): error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. +declarationComputedPropertyNames.ts(41,5): error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. +declarationComputedPropertyNames.ts(42,5): error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. +declarationComputedPropertyNames.ts(45,5): error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. +declarationComputedPropertyNames.ts(46,5): error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. + + +==== declarationComputedPropertyNames.ts (17 errors) ==== + export namespace presentNs { + export const a = Symbol(); + ~ +!!! error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9027 declarationComputedPropertyNames.ts:2:18: Add a type annotation to the variable a. + } + + export type A = { + [missing]: number, + [ns.missing]: number, + [presentNs.a]: number, + [Symbol.iterator]: number, + [1]: number, + ["2"]: number, + [(missing2)]: number, + ~~~~~~~~~~~~ +!!! error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. + [Math.random() > 0.5 ? "f1" : "f2"]: number, + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. + }; + + export interface B { + [missing]: number, + [ns.missing]: number, + [presentNs.a]: number, + [Symbol.iterator]: number, + [1]: number, + ["2"]: number, + [(missing2)]: number, + ~~~~~~~~~~~~ +!!! error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. + [Math.random() > 0.5 ? "f1" : "f2"]: number, + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. + } + + export class C { + [missing]: number = 1; + ~~~~~~~~~ +!!! error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. + [ns.missing]: number = 1; + ~~~~~~~~~~~~ +!!! error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. + [presentNs.a]: number = 1; + ~~~~~~~~~~~~~ +!!! error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. + [Symbol.iterator]: number = 1; + ~~~~~~~~~~~~~~~~~ +!!! error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. + [1]: number = 1; + ["2"]: number = 1; + [(missing2)]: number = 1; + ~~~~~~~~~~~~ +!!! error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. + [Math.random() > 0.5 ? "f1" : "f2"]: number = 1; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. + } + + export const D = { + [missing]: 1, + ~~~~~~~~~ +!!! error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. +!!! related TS9027 declarationComputedPropertyNames.ts:38:14: Add a type annotation to the variable D. + [ns.missing]: 1, + ~~~~~~~~~~~~ +!!! error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. +!!! related TS9027 declarationComputedPropertyNames.ts:38:14: Add a type annotation to the variable D. + [presentNs.a]: 1, + ~~~~~~~~~~~~~ +!!! error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. +!!! related TS9027 declarationComputedPropertyNames.ts:38:14: Add a type annotation to the variable D. + [Symbol.iterator]: 1, + ~~~~~~~~~~~~~~~~~ +!!! error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. +!!! related TS9027 declarationComputedPropertyNames.ts:38:14: Add a type annotation to the variable D. + [1]: 1, + ["2"]: 1, + [(missing2)]: 1, + ~~~~~~~~~~~~ +!!! error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. +!!! related TS9027 declarationComputedPropertyNames.ts:38:14: Add a type annotation to the variable D. + [Math.random() > 0.5 ? "f1" : "f2"]: 1, + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. +!!! related TS9027 declarationComputedPropertyNames.ts:38:14: Add a type annotation to the variable D. + }; + diff --git a/tests/baselines/reference/transpile/declarationEmitPartialNodeReuse.d.ts b/tests/baselines/reference/transpile/declarationEmitPartialNodeReuse.d.ts new file mode 100644 index 0000000000000..178ad0da29da7 --- /dev/null +++ b/tests/baselines/reference/transpile/declarationEmitPartialNodeReuse.d.ts @@ -0,0 +1,55 @@ +//// [a.ts] //// +export type SpecialString = string; +type PrivateSpecialString = string; + +export namespace N { + export type SpecialString = string; +} +export const o = (p1: SpecialString, p2: PrivateSpecialString, p3: N.SpecialString) => null! as { foo: SpecialString, bar: PrivateSpecialString, baz: N.SpecialString }; +//// [b.ts] //// +import * as a from "./a"; +export const g = a.o +//// [c.ts] //// +import { o, SpecialString } from "./a"; +export const g = o +//// [a.d.ts] //// +export type SpecialString = string; +type PrivateSpecialString = string; +export declare namespace N { + type SpecialString = string; +} +export declare const o: (p1: SpecialString, p2: PrivateSpecialString, p3: N.SpecialString) => { + foo: SpecialString; + bar: PrivateSpecialString; + baz: N.SpecialString; +}; +export {}; +//// [b.d.ts] //// +export declare const g: any; + + +//// [Diagnostics reported] +b.ts(2,14): error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. + + +==== b.ts (1 errors) ==== + import * as a from "./a"; + export const g = a.o + ~ +!!! error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9027 b.ts:2:14: Add a type annotation to the variable g. + +//// [c.d.ts] //// +export declare const g: any; + + +//// [Diagnostics reported] +c.ts(2,14): error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. + + +==== c.ts (1 errors) ==== + import { o, SpecialString } from "./a"; + export const g = o + ~ +!!! error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9027 c.ts:2:14: Add a type annotation to the variable g. diff --git a/tests/baselines/reference/transpile/declarationFunctionDeclarations.d.ts b/tests/baselines/reference/transpile/declarationFunctionDeclarations.d.ts new file mode 100644 index 0000000000000..0b63bb9527eb0 --- /dev/null +++ b/tests/baselines/reference/transpile/declarationFunctionDeclarations.d.ts @@ -0,0 +1,213 @@ +//// [fnDecl.ts] //// +type T = number[] +export function fnDeclBasic1(p: number[] | string[] | [T] = [], rParam: string): void { }; +export function fnDeclBasic2(p: (n: T) => T = () => null!, rParam: string): void { }; +export function fnDeclBasic3(p: new () => any = class {}, rParam: string): void { }; +export function fnDeclBasic4(p: [T] = [[]], rParam: string): void { }; +export function fnDeclBasic5(p: { a: T } = { a: [] }, rParam: string): void { }; +export function fnDeclBasic6(p: `_${string}` = "_", rParam: string): void { }; +export function fnDeclBasic7(p: { a?: string } & number[] = [], rParam: string): void { }; +export function fnDeclBasic8(p: (number[] | string[]) | number = [], rParam: string): void { }; + +export function fnDeclHasUndefined(p: T | undefined = [], rParam: string): void { }; +export function fnDeclBad(p: T = [], rParam: string): void { }; + +export const fnExprOk1 = function (array: number[] = [], rParam: string): void { }; +export const fnExprOk2 = function (array: T | undefined = [], rParam: string): void { }; +export const fnExprBad = function (array: T = [], rParam: string): void { }; + +export const arrowOk1 = (array: number[] = [], rParam: string): void => { }; +export const arrowOk2 = (array: T | undefined = [], rParam: string): void => { }; +export const arrowBad = (array: T = [], rParam: string): void => { }; + +export const inObjectLiteralFnExprOk1 = { o: function (array: number[] = [], rParam: string): void { } }; +export const inObjectLiteralFnExprOk2 = { o: function (array: T | undefined = [], rParam: string): void { } }; +export const inObjectLiteralFnExprBad = { o: function (array: T = [], rParam: string): void { } }; + +export const inObjectLiteralArrowOk1 = { o: (array: number[] = [], rParam: string): void => { } }; +export const inObjectLiteralArrowOk2 = { o: (array: T | undefined = [], rParam: string): void => { } }; +export const inObjectLiteralArrowBad = { o: (array: T = [], rParam: string): void => { } }; + +export const inObjectLiteralMethodOk1 = { o(array: number[] = [], rParam: string): void { } }; +export const inObjectLiteralMethodOk2 = { o(array: T | undefined = [], rParam: string): void { } }; +export const inObjectLiteralMethodBad = { o(array: T = [], rParam: string): void { } }; + + +export class InClassFnExprOk1 { o = function (array: number[] = [], rParam: string): void { } }; +export class InClassFnExprOk2 { o = function (array: T | undefined = [], rParam: string): void { } }; +export class InClassFnExprBad { o = function (array: T = [], rParam: string): void { } }; + +export class InClassArrowOk1 { o = (array: number[] = [], rParam: string): void => { } }; +export class InClassArrowOk2 { o = (array: T | undefined = [], rParam: string): void => { } }; +export class InClassArrowBad { o = (array: T = [], rParam: string): void => { } }; + +export class InClassMethodOk1 { o(array: number[] = [], rParam: string): void { } }; +export class InClassMethodOk2 { o(array: T | undefined = [], rParam: string): void { } }; +export class InClassMethodBad { o(array: T = [], rParam: string): void { } }; + +//// [fnDecl.d.ts] //// +type T = number[]; +export declare function fnDeclBasic1(p: (number[] | string[] | [T]) | undefined, rParam: string): void; +export declare function fnDeclBasic2(p: ((n: T) => T) | undefined, rParam: string): void; +export declare function fnDeclBasic3(p: (new () => any) | undefined, rParam: string): void; +export declare function fnDeclBasic4(p: [T] | undefined, rParam: string): void; +export declare function fnDeclBasic5(p: { + a: T; +} | undefined, rParam: string): void; +export declare function fnDeclBasic6(p: `_${string}` | undefined, rParam: string): void; +export declare function fnDeclBasic7(p: ({ + a?: string; +} & number[]) | undefined, rParam: string): void; +export declare function fnDeclBasic8(p: ((number[] | string[]) | number) | undefined, rParam: string): void; +export declare function fnDeclHasUndefined(p: T | undefined, rParam: string): void; +export declare function fnDeclBad(p: T | undefined, rParam: string): void; +export declare const fnExprOk1: (array: number[] | undefined, rParam: string) => void; +export declare const fnExprOk2: (array: T | undefined, rParam: string) => void; +export declare const fnExprBad: (array: T | undefined, rParam: string) => void; +export declare const arrowOk1: (array: number[] | undefined, rParam: string) => void; +export declare const arrowOk2: (array: T | undefined, rParam: string) => void; +export declare const arrowBad: (array: T | undefined, rParam: string) => void; +export declare const inObjectLiteralFnExprOk1: { + o: (array: number[] | undefined, rParam: string) => void; +}; +export declare const inObjectLiteralFnExprOk2: { + o: (array: T | undefined, rParam: string) => void; +}; +export declare const inObjectLiteralFnExprBad: { + o: (array: T | undefined, rParam: string) => void; +}; +export declare const inObjectLiteralArrowOk1: { + o: (array: number[] | undefined, rParam: string) => void; +}; +export declare const inObjectLiteralArrowOk2: { + o: (array: T | undefined, rParam: string) => void; +}; +export declare const inObjectLiteralArrowBad: { + o: (array: T | undefined, rParam: string) => void; +}; +export declare const inObjectLiteralMethodOk1: { + o(array: number[] | undefined, rParam: string): void; +}; +export declare const inObjectLiteralMethodOk2: { + o(array: T | undefined, rParam: string): void; +}; +export declare const inObjectLiteralMethodBad: { + o(array: T | undefined, rParam: string): void; +}; +export declare class InClassFnExprOk1 { + o: (array: number[] | undefined, rParam: string) => void; +} +export declare class InClassFnExprOk2 { + o: (array: T | undefined, rParam: string) => void; +} +export declare class InClassFnExprBad { + o: (array: T | undefined, rParam: string) => void; +} +export declare class InClassArrowOk1 { + o: (array: number[] | undefined, rParam: string) => void; +} +export declare class InClassArrowOk2 { + o: (array: T | undefined, rParam: string) => void; +} +export declare class InClassArrowBad { + o: (array: T | undefined, rParam: string) => void; +} +export declare class InClassMethodOk1 { + o(array: number[] | undefined, rParam: string): void; +} +export declare class InClassMethodOk2 { + o(array: T | undefined, rParam: string): void; +} +export declare class InClassMethodBad { + o(array: T | undefined, rParam: string): void; +} +export {}; + + +//// [Diagnostics reported] +fnDecl.ts(12,27): error TS9025: Declaration emit for this parameter requires implicitly adding undefined to it's type. This is not supported with --isolatedDeclarations. +fnDecl.ts(16,36): error TS9025: Declaration emit for this parameter requires implicitly adding undefined to it's type. This is not supported with --isolatedDeclarations. +fnDecl.ts(20,26): error TS9025: Declaration emit for this parameter requires implicitly adding undefined to it's type. This is not supported with --isolatedDeclarations. +fnDecl.ts(24,56): error TS9025: Declaration emit for this parameter requires implicitly adding undefined to it's type. This is not supported with --isolatedDeclarations. +fnDecl.ts(28,46): error TS9025: Declaration emit for this parameter requires implicitly adding undefined to it's type. This is not supported with --isolatedDeclarations. +fnDecl.ts(32,45): error TS9025: Declaration emit for this parameter requires implicitly adding undefined to it's type. This is not supported with --isolatedDeclarations. +fnDecl.ts(37,47): error TS9025: Declaration emit for this parameter requires implicitly adding undefined to it's type. This is not supported with --isolatedDeclarations. +fnDecl.ts(41,37): error TS9025: Declaration emit for this parameter requires implicitly adding undefined to it's type. This is not supported with --isolatedDeclarations. +fnDecl.ts(45,35): error TS9025: Declaration emit for this parameter requires implicitly adding undefined to it's type. This is not supported with --isolatedDeclarations. + + +==== fnDecl.ts (9 errors) ==== + type T = number[] + export function fnDeclBasic1(p: number[] | string[] | [T] = [], rParam: string): void { }; + export function fnDeclBasic2(p: (n: T) => T = () => null!, rParam: string): void { }; + export function fnDeclBasic3(p: new () => any = class {}, rParam: string): void { }; + export function fnDeclBasic4(p: [T] = [[]], rParam: string): void { }; + export function fnDeclBasic5(p: { a: T } = { a: [] }, rParam: string): void { }; + export function fnDeclBasic6(p: `_${string}` = "_", rParam: string): void { }; + export function fnDeclBasic7(p: { a?: string } & number[] = [], rParam: string): void { }; + export function fnDeclBasic8(p: (number[] | string[]) | number = [], rParam: string): void { }; + + export function fnDeclHasUndefined(p: T | undefined = [], rParam: string): void { }; + export function fnDeclBad(p: T = [], rParam: string): void { }; + ~~~~~~~~~ +!!! error TS9025: Declaration emit for this parameter requires implicitly adding undefined to it's type. This is not supported with --isolatedDeclarations. +!!! related TS9028 fnDecl.ts:12:27: Add a type annotation to the parameter p. + + export const fnExprOk1 = function (array: number[] = [], rParam: string): void { }; + export const fnExprOk2 = function (array: T | undefined = [], rParam: string): void { }; + export const fnExprBad = function (array: T = [], rParam: string): void { }; + ~~~~~~~~~~~~~ +!!! error TS9025: Declaration emit for this parameter requires implicitly adding undefined to it's type. This is not supported with --isolatedDeclarations. +!!! related TS9028 fnDecl.ts:16:36: Add a type annotation to the parameter array. + + export const arrowOk1 = (array: number[] = [], rParam: string): void => { }; + export const arrowOk2 = (array: T | undefined = [], rParam: string): void => { }; + export const arrowBad = (array: T = [], rParam: string): void => { }; + ~~~~~~~~~~~~~ +!!! error TS9025: Declaration emit for this parameter requires implicitly adding undefined to it's type. This is not supported with --isolatedDeclarations. +!!! related TS9028 fnDecl.ts:20:26: Add a type annotation to the parameter array. + + export const inObjectLiteralFnExprOk1 = { o: function (array: number[] = [], rParam: string): void { } }; + export const inObjectLiteralFnExprOk2 = { o: function (array: T | undefined = [], rParam: string): void { } }; + export const inObjectLiteralFnExprBad = { o: function (array: T = [], rParam: string): void { } }; + ~~~~~~~~~~~~~ +!!! error TS9025: Declaration emit for this parameter requires implicitly adding undefined to it's type. This is not supported with --isolatedDeclarations. +!!! related TS9028 fnDecl.ts:24:56: Add a type annotation to the parameter array. + + export const inObjectLiteralArrowOk1 = { o: (array: number[] = [], rParam: string): void => { } }; + export const inObjectLiteralArrowOk2 = { o: (array: T | undefined = [], rParam: string): void => { } }; + export const inObjectLiteralArrowBad = { o: (array: T = [], rParam: string): void => { } }; + ~~~~~~~~~~~~~ +!!! error TS9025: Declaration emit for this parameter requires implicitly adding undefined to it's type. This is not supported with --isolatedDeclarations. +!!! related TS9028 fnDecl.ts:28:46: Add a type annotation to the parameter array. + + export const inObjectLiteralMethodOk1 = { o(array: number[] = [], rParam: string): void { } }; + export const inObjectLiteralMethodOk2 = { o(array: T | undefined = [], rParam: string): void { } }; + export const inObjectLiteralMethodBad = { o(array: T = [], rParam: string): void { } }; + ~~~~~~~~~~~~~ +!!! error TS9025: Declaration emit for this parameter requires implicitly adding undefined to it's type. This is not supported with --isolatedDeclarations. +!!! related TS9028 fnDecl.ts:32:45: Add a type annotation to the parameter array. + + + export class InClassFnExprOk1 { o = function (array: number[] = [], rParam: string): void { } }; + export class InClassFnExprOk2 { o = function (array: T | undefined = [], rParam: string): void { } }; + export class InClassFnExprBad { o = function (array: T = [], rParam: string): void { } }; + ~~~~~~~~~~~~~ +!!! error TS9025: Declaration emit for this parameter requires implicitly adding undefined to it's type. This is not supported with --isolatedDeclarations. +!!! related TS9028 fnDecl.ts:37:47: Add a type annotation to the parameter array. + + export class InClassArrowOk1 { o = (array: number[] = [], rParam: string): void => { } }; + export class InClassArrowOk2 { o = (array: T | undefined = [], rParam: string): void => { } }; + export class InClassArrowBad { o = (array: T = [], rParam: string): void => { } }; + ~~~~~~~~~~~~~ +!!! error TS9025: Declaration emit for this parameter requires implicitly adding undefined to it's type. This is not supported with --isolatedDeclarations. +!!! related TS9028 fnDecl.ts:41:37: Add a type annotation to the parameter array. + + export class InClassMethodOk1 { o(array: number[] = [], rParam: string): void { } }; + export class InClassMethodOk2 { o(array: T | undefined = [], rParam: string): void { } }; + export class InClassMethodBad { o(array: T = [], rParam: string): void { } }; + ~~~~~~~~~~~~~ +!!! error TS9025: Declaration emit for this parameter requires implicitly adding undefined to it's type. This is not supported with --isolatedDeclarations. +!!! related TS9028 fnDecl.ts:45:35: Add a type annotation to the parameter array. + + diff --git a/tests/baselines/reference/transpile/declarationFunctionDeclarations.js b/tests/baselines/reference/transpile/declarationFunctionDeclarations.js new file mode 100644 index 0000000000000..72ba57ff249ed --- /dev/null +++ b/tests/baselines/reference/transpile/declarationFunctionDeclarations.js @@ -0,0 +1,120 @@ +//// [fnDecl.ts] //// +type T = number[] +export function fnDeclBasic1(p: number[] | string[] | [T] = [], rParam: string): void { }; +export function fnDeclBasic2(p: (n: T) => T = () => null!, rParam: string): void { }; +export function fnDeclBasic3(p: new () => any = class {}, rParam: string): void { }; +export function fnDeclBasic4(p: [T] = [[]], rParam: string): void { }; +export function fnDeclBasic5(p: { a: T } = { a: [] }, rParam: string): void { }; +export function fnDeclBasic6(p: `_${string}` = "_", rParam: string): void { }; +export function fnDeclBasic7(p: { a?: string } & number[] = [], rParam: string): void { }; +export function fnDeclBasic8(p: (number[] | string[]) | number = [], rParam: string): void { }; + +export function fnDeclHasUndefined(p: T | undefined = [], rParam: string): void { }; +export function fnDeclBad(p: T = [], rParam: string): void { }; + +export const fnExprOk1 = function (array: number[] = [], rParam: string): void { }; +export const fnExprOk2 = function (array: T | undefined = [], rParam: string): void { }; +export const fnExprBad = function (array: T = [], rParam: string): void { }; + +export const arrowOk1 = (array: number[] = [], rParam: string): void => { }; +export const arrowOk2 = (array: T | undefined = [], rParam: string): void => { }; +export const arrowBad = (array: T = [], rParam: string): void => { }; + +export const inObjectLiteralFnExprOk1 = { o: function (array: number[] = [], rParam: string): void { } }; +export const inObjectLiteralFnExprOk2 = { o: function (array: T | undefined = [], rParam: string): void { } }; +export const inObjectLiteralFnExprBad = { o: function (array: T = [], rParam: string): void { } }; + +export const inObjectLiteralArrowOk1 = { o: (array: number[] = [], rParam: string): void => { } }; +export const inObjectLiteralArrowOk2 = { o: (array: T | undefined = [], rParam: string): void => { } }; +export const inObjectLiteralArrowBad = { o: (array: T = [], rParam: string): void => { } }; + +export const inObjectLiteralMethodOk1 = { o(array: number[] = [], rParam: string): void { } }; +export const inObjectLiteralMethodOk2 = { o(array: T | undefined = [], rParam: string): void { } }; +export const inObjectLiteralMethodBad = { o(array: T = [], rParam: string): void { } }; + + +export class InClassFnExprOk1 { o = function (array: number[] = [], rParam: string): void { } }; +export class InClassFnExprOk2 { o = function (array: T | undefined = [], rParam: string): void { } }; +export class InClassFnExprBad { o = function (array: T = [], rParam: string): void { } }; + +export class InClassArrowOk1 { o = (array: number[] = [], rParam: string): void => { } }; +export class InClassArrowOk2 { o = (array: T | undefined = [], rParam: string): void => { } }; +export class InClassArrowBad { o = (array: T = [], rParam: string): void => { } }; + +export class InClassMethodOk1 { o(array: number[] = [], rParam: string): void { } }; +export class InClassMethodOk2 { o(array: T | undefined = [], rParam: string): void { } }; +export class InClassMethodBad { o(array: T = [], rParam: string): void { } }; + +//// [fnDecl.js] //// +export function fnDeclBasic1(p = [], rParam) { } +; +export function fnDeclBasic2(p = () => null, rParam) { } +; +export function fnDeclBasic3(p = class { +}, rParam) { } +; +export function fnDeclBasic4(p = [[]], rParam) { } +; +export function fnDeclBasic5(p = { a: [] }, rParam) { } +; +export function fnDeclBasic6(p = "_", rParam) { } +; +export function fnDeclBasic7(p = [], rParam) { } +; +export function fnDeclBasic8(p = [], rParam) { } +; +export function fnDeclHasUndefined(p = [], rParam) { } +; +export function fnDeclBad(p = [], rParam) { } +; +export const fnExprOk1 = function (array = [], rParam) { }; +export const fnExprOk2 = function (array = [], rParam) { }; +export const fnExprBad = function (array = [], rParam) { }; +export const arrowOk1 = (array = [], rParam) => { }; +export const arrowOk2 = (array = [], rParam) => { }; +export const arrowBad = (array = [], rParam) => { }; +export const inObjectLiteralFnExprOk1 = { o: function (array = [], rParam) { } }; +export const inObjectLiteralFnExprOk2 = { o: function (array = [], rParam) { } }; +export const inObjectLiteralFnExprBad = { o: function (array = [], rParam) { } }; +export const inObjectLiteralArrowOk1 = { o: (array = [], rParam) => { } }; +export const inObjectLiteralArrowOk2 = { o: (array = [], rParam) => { } }; +export const inObjectLiteralArrowBad = { o: (array = [], rParam) => { } }; +export const inObjectLiteralMethodOk1 = { o(array = [], rParam) { } }; +export const inObjectLiteralMethodOk2 = { o(array = [], rParam) { } }; +export const inObjectLiteralMethodBad = { o(array = [], rParam) { } }; +export class InClassFnExprOk1 { + o = function (array = [], rParam) { }; +} +; +export class InClassFnExprOk2 { + o = function (array = [], rParam) { }; +} +; +export class InClassFnExprBad { + o = function (array = [], rParam) { }; +} +; +export class InClassArrowOk1 { + o = (array = [], rParam) => { }; +} +; +export class InClassArrowOk2 { + o = (array = [], rParam) => { }; +} +; +export class InClassArrowBad { + o = (array = [], rParam) => { }; +} +; +export class InClassMethodOk1 { + o(array = [], rParam) { } +} +; +export class InClassMethodOk2 { + o(array = [], rParam) { } +} +; +export class InClassMethodBad { + o(array = [], rParam) { } +} +; diff --git a/tests/baselines/reference/transpile/declarationLocalAliasOfImportAlias.d.ts b/tests/baselines/reference/transpile/declarationLocalAliasOfImportAlias.d.ts new file mode 100644 index 0000000000000..d7e1a23992d6c --- /dev/null +++ b/tests/baselines/reference/transpile/declarationLocalAliasOfImportAlias.d.ts @@ -0,0 +1,15 @@ +//// [declarationLocalAliasOfImportAlias.ts] //// +import { Record } from "./a"; +export type Foo = Record; + +export const obj = { + doThing(_k: K): Foo { + return {} as any; + }, +}; +//// [declarationLocalAliasOfImportAlias.d.ts] //// +import { Record } from "./a"; +export type Foo = Record; +export declare const obj: { + doThing(_k: K): Foo; +}; diff --git a/tests/baselines/reference/transpile/declarationLocalAliasOfImportAlias.js b/tests/baselines/reference/transpile/declarationLocalAliasOfImportAlias.js new file mode 100644 index 0000000000000..b5b8d1a8d536d --- /dev/null +++ b/tests/baselines/reference/transpile/declarationLocalAliasOfImportAlias.js @@ -0,0 +1,18 @@ +//// [declarationLocalAliasOfImportAlias.ts] //// +import { Record } from "./a"; +export type Foo = Record; + +export const obj = { + doThing(_k: K): Foo { + return {} as any; + }, +}; +//// [declarationLocalAliasOfImportAlias.js] //// +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.obj = void 0; +exports.obj = { + doThing: function (_k) { + return {}; + }, +}; diff --git a/tests/baselines/reference/transpile/declarationNotInScopeTypes.d.ts b/tests/baselines/reference/transpile/declarationNotInScopeTypes.d.ts new file mode 100644 index 0000000000000..99742621419ca --- /dev/null +++ b/tests/baselines/reference/transpile/declarationNotInScopeTypes.d.ts @@ -0,0 +1,49 @@ +//// [variables.ts] //// +const x = ""; +export function one() { + return {} as typeof x; +} + +export function two() { + const y = ""; + return {} as typeof y; +} + +export function three() { + type Z = string; + return {} as Z; +} +//// [variables.d.ts] //// +declare const x = ""; +export declare function one(): typeof x; +export declare function two(): ""; +export declare function three(): string; +export {}; + + +//// [Diagnostics reported] +variables.ts(8,25): error TS9039: Type containing private name 'y' can't be used with --isolatedDeclarations. +variables.ts(13,18): error TS9039: Type containing private name 'Z' can't be used with --isolatedDeclarations. + + +==== variables.ts (2 errors) ==== + const x = ""; + export function one() { + return {} as typeof x; + } + + export function two() { + const y = ""; + return {} as typeof y; + ~ +!!! error TS9039: Type containing private name 'y' can't be used with --isolatedDeclarations. +!!! related TS9031 variables.ts:6:17: Add a return type to the function declaration. + } + + export function three() { + type Z = string; + return {} as Z; + ~ +!!! error TS9039: Type containing private name 'Z' can't be used with --isolatedDeclarations. +!!! related TS9031 variables.ts:11:17: Add a return type to the function declaration. + } diff --git a/tests/baselines/reference/transpile/declarationNotInScopeTypes.js b/tests/baselines/reference/transpile/declarationNotInScopeTypes.js new file mode 100644 index 0000000000000..0cdd7d39fd145 --- /dev/null +++ b/tests/baselines/reference/transpile/declarationNotInScopeTypes.js @@ -0,0 +1,27 @@ +//// [variables.ts] //// +const x = ""; +export function one() { + return {} as typeof x; +} + +export function two() { + const y = ""; + return {} as typeof y; +} + +export function three() { + type Z = string; + return {} as Z; +} +//// [variables.js] //// +const x = ""; +export function one() { + return {}; +} +export function two() { + const y = ""; + return {}; +} +export function three() { + return {}; +} diff --git a/tests/baselines/reference/transpile/declarationPartialNodeReuseTypeOf.d.ts b/tests/baselines/reference/transpile/declarationPartialNodeReuseTypeOf.d.ts new file mode 100644 index 0000000000000..3a64b75b948b4 --- /dev/null +++ b/tests/baselines/reference/transpile/declarationPartialNodeReuseTypeOf.d.ts @@ -0,0 +1,53 @@ +//// [a.ts] //// +export const nImported = "nImported" +export const nNotImported = "nNotImported" +const nPrivate = "private" +export const o = (p1: typeof nImported, p2: typeof nNotImported, p3: typeof nPrivate) => null! as { foo: typeof nImported, bar: typeof nPrivate, baz: typeof nNotImported } +//// [b.ts] //// +import { o, nImported } from "./a"; +export const g = o +console.log(nImported); +//// [c.ts] //// +import * as a from "./a"; +export const g = a.o +//// [a.d.ts] //// +export declare const nImported = "nImported"; +export declare const nNotImported = "nNotImported"; +declare const nPrivate = "private"; +export declare const o: (p1: typeof nImported, p2: typeof nNotImported, p3: typeof nPrivate) => { + foo: typeof nImported; + bar: typeof nPrivate; + baz: typeof nNotImported; +}; +export {}; +//// [b.d.ts] //// +export declare const g: any; + + +//// [Diagnostics reported] +b.ts(2,14): error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. + + +==== b.ts (1 errors) ==== + import { o, nImported } from "./a"; + export const g = o + ~ +!!! error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9027 b.ts:2:14: Add a type annotation to the variable g. + console.log(nImported); + +//// [c.d.ts] //// +export declare const g: any; + + +//// [Diagnostics reported] +c.ts(2,14): error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. + + +==== c.ts (1 errors) ==== + import * as a from "./a"; + export const g = a.o + ~ +!!! error TS9010: Variable must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9027 c.ts:2:14: Add a type annotation to the variable g. + diff --git a/tests/baselines/reference/transpile/declarationRestParameters.d.ts b/tests/baselines/reference/transpile/declarationRestParameters.d.ts new file mode 100644 index 0000000000000..0078937ca1dac --- /dev/null +++ b/tests/baselines/reference/transpile/declarationRestParameters.d.ts @@ -0,0 +1,47 @@ +//// [v1.ts] //// +export const v1 = (...a: [n: "n", a: "a"]): { + /** r rest param */ + a: typeof a, +} => { + return null! +} +//// [v2.ts] //// +const n = Symbol(); +export const v2 = (...a: [n: "n", a: "a"]): { + /** r rest param */ + a: typeof a, + /** module var */ + n: typeof n, +} => { + return null! +} +//// [v1.d.ts] //// +export declare const v1: (n: "n", a: "a") => { + /** r rest param */ + a: [n: "n", a: "a"]; +}; +//// [v2.d.ts] //// +export declare const v2: (n: "n", a: "a") => { + /** r rest param */ + a: [n: "n", a: "a"]; + /** module var */ + n: unique symbol; +}; + + +//// [Diagnostics reported] +v2.ts(2,14): error TS2527: The inferred type of 'v2' references an inaccessible 'unique symbol' type. A type annotation is necessary. + + +==== v2.ts (1 errors) ==== + const n = Symbol(); + export const v2 = (...a: [n: "n", a: "a"]): { + ~~ +!!! error TS2527: The inferred type of 'v2' references an inaccessible 'unique symbol' type. A type annotation is necessary. + /** r rest param */ + a: typeof a, + /** module var */ + n: typeof n, + } => { + return null! + } diff --git a/tests/baselines/reference/transpile/declarationSelfReferentialConstraint.d.ts b/tests/baselines/reference/transpile/declarationSelfReferentialConstraint.d.ts new file mode 100644 index 0000000000000..7ac9bb45e671b --- /dev/null +++ b/tests/baselines/reference/transpile/declarationSelfReferentialConstraint.d.ts @@ -0,0 +1,8 @@ +//// [declarationSelfReferentialConstraint.ts] //// +export const object = { + foo: | []>(): void => { }, +}; +//// [declarationSelfReferentialConstraint.d.ts] //// +export declare const object: { + foo: | []>() => void; +}; diff --git a/tests/baselines/reference/transpile/declarationTypeParameterConstraint.d.ts b/tests/baselines/reference/transpile/declarationTypeParameterConstraint.d.ts new file mode 100644 index 0000000000000..b20c8b3da1665 --- /dev/null +++ b/tests/baselines/reference/transpile/declarationTypeParameterConstraint.d.ts @@ -0,0 +1,13 @@ +//// [declarationTypeParameterConstraint.ts] //// +import { type In, type Out, type Base } from "./a"; + +export const object = { + doThing(_t: T, _in: In[T]): Out[T] { + return; + }, +}; +//// [declarationTypeParameterConstraint.d.ts] //// +import { type In, type Out, type Base } from "./a"; +export declare const object: { + doThing(_t: T, _in: In[T]): Out[T]; +}; diff --git a/tests/baselines/reference/transpile/declarationTypeParameterConstraint.js b/tests/baselines/reference/transpile/declarationTypeParameterConstraint.js new file mode 100644 index 0000000000000..b989c1f45630a --- /dev/null +++ b/tests/baselines/reference/transpile/declarationTypeParameterConstraint.js @@ -0,0 +1,17 @@ +//// [declarationTypeParameterConstraint.ts] //// +import { type In, type Out, type Base } from "./a"; + +export const object = { + doThing(_t: T, _in: In[T]): Out[T] { + return; + }, +}; +//// [declarationTypeParameterConstraint.js] //// +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.object = void 0; +exports.object = { + doThing: function (_t, _in) { + return; + }, +}; diff --git a/tests/baselines/reference/transpile/declarationTypeWithComputedName.d.ts b/tests/baselines/reference/transpile/declarationTypeWithComputedName.d.ts new file mode 100644 index 0000000000000..b1cdfdf8b7b39 --- /dev/null +++ b/tests/baselines/reference/transpile/declarationTypeWithComputedName.d.ts @@ -0,0 +1,22 @@ +//// [declarationTypeWithComputedName.ts] //// +import {Foo} from './a'; + +export type Bar = { + [Foo.A]: 1; + [Foo.B]: 2; +} + +export const valBar = null as any as { + [Foo.A]: 1; + [Foo.B]: 2; +}; +//// [declarationTypeWithComputedName.d.ts] //// +import { Foo } from './a'; +export type Bar = { + [Foo.A]: 1; + [Foo.B]: 2; +}; +export declare const valBar: { + [Foo.A]: 1; + [Foo.B]: 2; +}; diff --git a/tests/baselines/reference/transpile/declarationUnresolvedGlobalReferencesNoErrors.d.ts b/tests/baselines/reference/transpile/declarationUnresolvedGlobalReferencesNoErrors.d.ts new file mode 100644 index 0000000000000..843cd829a9926 --- /dev/null +++ b/tests/baselines/reference/transpile/declarationUnresolvedGlobalReferencesNoErrors.d.ts @@ -0,0 +1,23 @@ +//// [declarationUnresolvedGlobalReferencesNoErrors.ts] //// +export const x: MissingGlobalType = null!; +export const fn = (a: MissingGlobalType): MissingGlobalType => null!; +export const fn2 = (a: MissingGlobalType) => null! as MissingGlobalType; + +export const x2: typeof missingGlobalValue = null!; +export const fn3 = (a: typeof missingGlobalValue): typeof missingGlobalValue => null!; +export const fn4 = (a: typeof missingGlobalValue) => null! as typeof missingGlobalValue; + + +export const o : { + [missingGlobalValue]: string +} = null!; +//// [declarationUnresolvedGlobalReferencesNoErrors.d.ts] //// +export declare const x: MissingGlobalType; +export declare const fn: (a: MissingGlobalType) => MissingGlobalType; +export declare const fn2: (a: MissingGlobalType) => MissingGlobalType; +export declare const x2: typeof missingGlobalValue; +export declare const fn3: (a: typeof missingGlobalValue) => typeof missingGlobalValue; +export declare const fn4: (a: typeof missingGlobalValue) => typeof missingGlobalValue; +export declare const o: { + [missingGlobalValue]: string; +}; diff --git a/tests/baselines/reference/transpile/declarationUnresolvedTypeReference.d.ts b/tests/baselines/reference/transpile/declarationUnresolvedTypeReference.d.ts new file mode 100644 index 0000000000000..93b978ccfef38 --- /dev/null +++ b/tests/baselines/reference/transpile/declarationUnresolvedTypeReference.d.ts @@ -0,0 +1,9 @@ +//// [declarationUnresolvedTypeReference.ts] //// +import { type Type } from "./a"; + +export const foo = (_: Type): void => {}; +export const bar = (_: import("./a").Type): void => {}; +//// [declarationUnresolvedTypeReference.d.ts] //// +import { type Type } from "./a"; +export declare const foo: (_: Type) => void; +export declare const bar: (_: import("./a").Type) => void; diff --git a/tests/baselines/reference/transpile/declarationUnresolvedTypeReference2.d.ts b/tests/baselines/reference/transpile/declarationUnresolvedTypeReference2.d.ts new file mode 100644 index 0000000000000..3b1b91ced834e --- /dev/null +++ b/tests/baselines/reference/transpile/declarationUnresolvedTypeReference2.d.ts @@ -0,0 +1,19 @@ +//// [globals.ts] //// +type MissingGlobalType = "global"; +declare const missingGlobalValue: "A"; +//// [index.ts] //// +// this test assumes there is some global definitions for MissingGlobalType and missingGlobalValue that are not available to transpileDeclaration +export const fn = (a: MissingGlobalType): MissingGlobalType => null!; +export const fn2 = (a: MissingGlobalType) => null! as MissingGlobalType; + +export const fn3 = (a: typeof missingGlobalValue): typeof missingGlobalValue => null!; +export const fn4 = (a: typeof missingGlobalValue) => null! as typeof missingGlobalValue; + +//// [globals.d.ts] //// +type MissingGlobalType = "global"; +declare const missingGlobalValue: "A"; +//// [index.d.ts] //// +export declare const fn: (a: MissingGlobalType) => MissingGlobalType; +export declare const fn2: (a: MissingGlobalType) => MissingGlobalType; +export declare const fn3: (a: typeof missingGlobalValue) => typeof missingGlobalValue; +export declare const fn4: (a: typeof missingGlobalValue) => typeof missingGlobalValue; diff --git a/tests/baselines/reference/trivialSubtypeReductionNoStructuralCheck.types b/tests/baselines/reference/trivialSubtypeReductionNoStructuralCheck.types index 4f405f09b3f12..ea7aa086e8cd9 100644 --- a/tests/baselines/reference/trivialSubtypeReductionNoStructuralCheck.types +++ b/tests/baselines/reference/trivialSubtypeReductionNoStructuralCheck.types @@ -17,7 +17,7 @@ export class Wizard { >{ wizard: this, ...props, } as WizardStepProps : WizardStepProps > : ^^^^^^^^^^^^^^^ >{ wizard: this, ...props, } : { wizard: Wizard; } -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^ wizard: this, >wizard : this diff --git a/tests/baselines/reference/truthinessCallExpressionCoercion.types b/tests/baselines/reference/truthinessCallExpressionCoercion.types index add104fc6b23d..cd7dd79c16d7a 100644 --- a/tests/baselines/reference/truthinessCallExpressionCoercion.types +++ b/tests/baselines/reference/truthinessCallExpressionCoercion.types @@ -11,12 +11,12 @@ function onlyErrorsWhenTestingNonNullableFunctionType(required: () => boolean, o if (required) { // error >required : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } if (optional) { // ok >optional : (() => boolean) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ } if (!!required) { // ok @@ -25,14 +25,14 @@ function onlyErrorsWhenTestingNonNullableFunctionType(required: () => boolean, o >!required : false > : ^^^^^ >required : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } if (required()) { // ok >required() : boolean > : ^^^^^^^ >required : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } } @@ -48,11 +48,11 @@ function onlyErrorsWhenUnusedInBody() { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ @@ -64,11 +64,11 @@ function onlyErrorsWhenUnusedInBody() { >console.log('test') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'test' : "test" > : ^^^^^^ } @@ -81,11 +81,11 @@ function onlyErrorsWhenUnusedInBody() { >console.log(test) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >test : () => boolean > : ^^^^^^^^^^^^^ } @@ -109,13 +109,13 @@ function onlyErrorsWhenUnusedInBody() { >[() => null].forEach(() => { test(); }) : void > : ^^^^ >[() => null].forEach : (callbackfn: (value: () => null, index: number, array: (() => null)[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >[() => null] : (() => null)[] > : ^^^^^^^^^^^^^^ >() => null : () => null > : ^^^^^^^^^^ >forEach : (callbackfn: (value: () => null, index: number, array: (() => null)[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >() => { test(); } : () => void > : ^^^^^^^^^^ @@ -136,13 +136,13 @@ function onlyErrorsWhenUnusedInBody() { >[() => null].forEach(test => { test(); }) : void > : ^^^^ >[() => null].forEach : (callbackfn: (value: () => null, index: number, array: (() => null)[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >[() => null] : (() => null)[] > : ^^^^^^^^^^^^^^ >() => null : () => null > : ^^^^^^^^^^ >forEach : (callbackfn: (value: () => null, index: number, array: (() => null)[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >test => { test(); } : (test: () => null) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^ >test : () => null @@ -253,11 +253,11 @@ class Foo { if (this.maybeIsUser) { // ok >this.maybeIsUser : (() => boolean) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >this : this > : ^^^^ >maybeIsUser : (() => boolean) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ } } } @@ -271,21 +271,21 @@ function A(stats: StatsBase) { if (stats.isDirectory) { // err >stats.isDirectory : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >stats : StatsBase > : ^^^^^^^^^^^^^^ >isDirectory : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ console.log(`[Directory] ${stats.ctime}`) >console.log(`[Directory] ${stats.ctime}`) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >`[Directory] ${stats.ctime}` : string > : ^^^^^^ >stats.ctime : number @@ -307,7 +307,7 @@ function B(a: Nested, b: Nested) { if (a.stats.isDirectory) { // err >a.stats.isDirectory : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >a.stats : StatsBase > : ^^^^^^^^^^^^^^ >a : Nested @@ -315,13 +315,13 @@ function B(a: Nested, b: Nested) { >stats : StatsBase > : ^^^^^^^^^^^^^^ >isDirectory : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ b.stats.isDirectory(); >b.stats.isDirectory() : boolean > : ^^^^^^^ >b.stats.isDirectory : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >b.stats : StatsBase > : ^^^^^^^^^^^^^^ >b : Nested @@ -329,11 +329,11 @@ function B(a: Nested, b: Nested) { >stats : StatsBase > : ^^^^^^^^^^^^^^ >isDirectory : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } if (a.stats.isDirectory) { // ok >a.stats.isDirectory : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >a.stats : StatsBase > : ^^^^^^^^^^^^^^ >a : Nested @@ -341,13 +341,13 @@ function B(a: Nested, b: Nested) { >stats : StatsBase > : ^^^^^^^^^^^^^^ >isDirectory : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ a.stats.isDirectory(); >a.stats.isDirectory() : boolean > : ^^^^^^^ >a.stats.isDirectory : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >a.stats : StatsBase > : ^^^^^^^^^^^^^^ >a : Nested @@ -355,7 +355,7 @@ function B(a: Nested, b: Nested) { >stats : StatsBase > : ^^^^^^^^^^^^^^ >isDirectory : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } } diff --git a/tests/baselines/reference/truthinessCallExpressionCoercion1.types b/tests/baselines/reference/truthinessCallExpressionCoercion1.types index f9b3979b78782..916f5ce426488 100644 --- a/tests/baselines/reference/truthinessCallExpressionCoercion1.types +++ b/tests/baselines/reference/truthinessCallExpressionCoercion1.types @@ -14,15 +14,15 @@ function onlyErrorsWhenTestingNonNullableFunctionType(required: () => boolean, o >required ? console.log('required') : undefined : void > : ^^^^ >required : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >console.log('required') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'required' : "required" > : ^^^^^^^^^^ >undefined : undefined @@ -33,15 +33,15 @@ function onlyErrorsWhenTestingNonNullableFunctionType(required: () => boolean, o >optional ? console.log('optional') : undefined : void > : ^^^^ >optional : (() => boolean) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >console.log('optional') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'optional' : "optional" > : ^^^^^^^^^^ >undefined : undefined @@ -56,15 +56,15 @@ function onlyErrorsWhenTestingNonNullableFunctionType(required: () => boolean, o >!required : false > : ^^^^^ >required : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >console.log('not required') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'not required' : "not required" > : ^^^^^^^^^^^^^^ >undefined : undefined @@ -77,15 +77,15 @@ function onlyErrorsWhenTestingNonNullableFunctionType(required: () => boolean, o >required() : boolean > : ^^^^^^^ >required : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >console.log('required call') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'required call' : "required call" > : ^^^^^^^^^^^^^^^ >undefined : undefined @@ -104,11 +104,11 @@ function onlyErrorsWhenUnusedInBody() { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ @@ -121,11 +121,11 @@ function onlyErrorsWhenUnusedInBody() { >console.log('test') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'test' : "test" > : ^^^^^^ >undefined : undefined @@ -140,11 +140,11 @@ function onlyErrorsWhenUnusedInBody() { >console.log(test) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >test : () => boolean > : ^^^^^^^^^^^^^ >undefined : undefined @@ -174,13 +174,13 @@ function onlyErrorsWhenUnusedInBody() { >[() => null].forEach(() => { test(); }) : void > : ^^^^ >[() => null].forEach : (callbackfn: (value: () => null, index: number, array: (() => null)[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >[() => null] : (() => null)[] > : ^^^^^^^^^^^^^^ >() => null : () => null > : ^^^^^^^^^^ >forEach : (callbackfn: (value: () => null, index: number, array: (() => null)[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >() => { test(); } : () => void > : ^^^^^^^^^^ >test() : boolean @@ -203,13 +203,13 @@ function onlyErrorsWhenUnusedInBody() { >[() => null].forEach(test => { test() }) : void > : ^^^^ >[() => null].forEach : (callbackfn: (value: () => null, index: number, array: (() => null)[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >[() => null] : (() => null)[] > : ^^^^^^^^^^^^^^ >() => null : () => null > : ^^^^^^^^^^ >forEach : (callbackfn: (value: () => null, index: number, array: (() => null)[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >test => { test() } : (test: () => null) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^ >test : () => null @@ -265,11 +265,11 @@ function checksPropertyAccess() { >console.log('x.foo.bar') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'x.foo.bar' : "x.foo.bar" > : ^^^^^^^^^^^ >undefined : undefined @@ -408,11 +408,11 @@ class Foo { >console.log('this.isUser') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'this.isUser' : "this.isUser" > : ^^^^^^^^^^^^^ >undefined : undefined @@ -423,19 +423,19 @@ class Foo { >this.maybeIsUser ? console.log('this.maybeIsUser') : undefined : void > : ^^^^ >this.maybeIsUser : (() => boolean) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >this : this > : ^^^^ >maybeIsUser : (() => boolean) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >console.log('this.maybeIsUser') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'this.maybeIsUser' : "this.maybeIsUser" > : ^^^^^^^^^^^^^^^^^^ >undefined : undefined diff --git a/tests/baselines/reference/truthinessCallExpressionCoercion2.types b/tests/baselines/reference/truthinessCallExpressionCoercion2.types index 63873000e11fb..b1b3f588f2eb3 100644 --- a/tests/baselines/reference/truthinessCallExpressionCoercion2.types +++ b/tests/baselines/reference/truthinessCallExpressionCoercion2.types @@ -39,15 +39,15 @@ function test(required1: () => boolean, required2: () => boolean, b: boolean, op >required1 && console.log('required') : void > : ^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >console.log('required') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'required' : "required" > : ^^^^^^^^^^ @@ -56,19 +56,19 @@ function test(required1: () => boolean, required2: () => boolean, b: boolean, op >1 && required1 && console.log('required') : void > : ^^^^ >1 && required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >1 : 1 > : ^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >console.log('required') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'required' : "required" > : ^^^^^^^^^^ @@ -77,11 +77,11 @@ function test(required1: () => boolean, required2: () => boolean, b: boolean, op >required1 && required1() : boolean > : ^^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required1() : boolean > : ^^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ // ok required1 && 1 && required1(); @@ -90,28 +90,28 @@ function test(required1: () => boolean, required2: () => boolean, b: boolean, op >required1 && 1 : 1 > : ^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >1 : 1 > : ^ >required1() : boolean > : ^^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ // ok optional && console.log('optional'); >optional && console.log('optional') : void | undefined > : ^^^^^^^^^^^^^^^^ >optional : (() => boolean) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >console.log('optional') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'optional' : "optional" > : ^^^^^^^^^^ @@ -120,19 +120,19 @@ function test(required1: () => boolean, required2: () => boolean, b: boolean, op >1 && optional && console.log('optional') : void | undefined > : ^^^^^^^^^^^^^^^^ >1 && optional : (() => boolean) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >1 : 1 > : ^ >optional : (() => boolean) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >console.log('optional') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'optional' : "optional" > : ^^^^^^^^^^ @@ -145,15 +145,15 @@ function test(required1: () => boolean, required2: () => boolean, b: boolean, op >!required1 : false > : ^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >console.log('not required') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'not required' : "not required" > : ^^^^^^^^^^^^^^ @@ -164,15 +164,15 @@ function test(required1: () => boolean, required2: () => boolean, b: boolean, op >required1() : boolean > : ^^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >console.log('required call') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'required call' : "required call" > : ^^^^^^^^^^^^^^^ @@ -183,30 +183,30 @@ function test(required1: () => boolean, required2: () => boolean, b: boolean, op >required1 && required2 && required1() : boolean > : ^^^^^^^ >required1 && required2 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required2 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required1() : boolean > : ^^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required2() : boolean > : ^^^^^^^ >required2 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ // ok [].forEach((f: () => void) => f && f.apply(parent, [])); >[].forEach((f: () => void) => f && f.apply(parent, [])) : void > : ^^^^ >[].forEach : (callbackfn: (value: never, index: number, array: never[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >[] : never[] > : ^^^^^^^ >forEach : (callbackfn: (value: never, index: number, array: never[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >(f: () => void) => f && f.apply(parent, []) : (f: () => void) => any > : ^ ^^ ^^^^^^^^ >f : () => void @@ -214,15 +214,15 @@ function test(required1: () => boolean, required2: () => boolean, b: boolean, op >f && f.apply(parent, []) : any > : ^^^ >f : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >f.apply(parent, []) : any > : ^^^ >f.apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >f : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >parent : Window > : ^^^^^^ >[] : never[] @@ -235,23 +235,23 @@ function test(required1: () => boolean, required2: () => boolean, b: boolean, op >required1 && required2 && required1() : boolean > : ^^^^^^^ >required1 && required2 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required2 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required1() : boolean > : ^^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >console.log('foo') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'foo' : "foo" > : ^^^^^ @@ -260,7 +260,7 @@ function test(required1: () => boolean, required2: () => boolean, b: boolean, op >required1 && b : boolean > : ^^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >b : boolean > : ^^^^^^^ } @@ -268,9 +268,9 @@ function test(required1: () => boolean, required2: () => boolean, b: boolean, op // error if (required1 || b) { >required1 || b : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >b : boolean > : ^^^^^^^ } @@ -278,19 +278,19 @@ function test(required1: () => boolean, required2: () => boolean, b: boolean, op // error if (required1 || required2) { >required1 || required2 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required2 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } // error if (required1 ?? b) { >required1 ?? b : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >b : boolean > : ^^^^^^^ } @@ -298,11 +298,11 @@ function test(required1: () => boolean, required2: () => boolean, b: boolean, op // error if (required1 ?? required2) { >required1 ?? required2 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required2 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } // error @@ -314,7 +314,7 @@ function test(required1: () => boolean, required2: () => boolean, b: boolean, op >required1 && b : boolean > : ^^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >b : boolean > : ^^^^^^^ } @@ -324,7 +324,7 @@ function test(required1: () => boolean, required2: () => boolean, b: boolean, op >required1 && b : boolean > : ^^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >b : boolean > : ^^^^^^^ @@ -332,15 +332,15 @@ function test(required1: () => boolean, required2: () => boolean, b: boolean, op >required1() : boolean > : ^^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } // ok if (required1 || b) { >required1 || b : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >b : boolean > : ^^^^^^^ @@ -348,15 +348,15 @@ function test(required1: () => boolean, required2: () => boolean, b: boolean, op >required1() : boolean > : ^^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } // ok if (required1 ?? b) { >required1 ?? b : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >b : boolean > : ^^^^^^^ @@ -364,7 +364,7 @@ function test(required1: () => boolean, required2: () => boolean, b: boolean, op >required1() : boolean > : ^^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } // ok @@ -374,13 +374,13 @@ function test(required1: () => boolean, required2: () => boolean, b: boolean, op >b : boolean > : ^^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ required1(); >required1() : boolean > : ^^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } // ok @@ -392,7 +392,7 @@ function test(required1: () => boolean, required2: () => boolean, b: boolean, op >required1 && b : boolean > : ^^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >b : boolean > : ^^^^^^^ @@ -400,31 +400,31 @@ function test(required1: () => boolean, required2: () => boolean, b: boolean, op >required1() : boolean > : ^^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } // error, extra parens are on purpose here if ((required1)) { >(required1) : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } // error if (b && (required1 || required2)) { >b && (required1 || required2) : false | (() => boolean) -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^ >b : boolean > : ^^^^^^^ >(required1 || required2) : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required1 || required2 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required2 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } // error @@ -432,13 +432,13 @@ function test(required1: () => boolean, required2: () => boolean, b: boolean, op >(required1 || required2) && b : boolean > : ^^^^^^^ >(required1 || required2) : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required1 || required2 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required2 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >b : boolean > : ^^^^^^^ } @@ -446,17 +446,17 @@ function test(required1: () => boolean, required2: () => boolean, b: boolean, op // error if (b && (required1 ?? required2)) { >b && (required1 ?? required2) : false | (() => boolean) -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^ >b : boolean > : ^^^^^^^ >(required1 ?? required2) : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required1 ?? required2 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required2 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } // error @@ -464,13 +464,13 @@ function test(required1: () => boolean, required2: () => boolean, b: boolean, op >(required1 ?? required2) && b : boolean > : ^^^^^^^ >(required1 ?? required2) : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required1 ?? required2 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required1 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >required2 : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >b : boolean > : ^^^^^^^ } @@ -521,11 +521,11 @@ function checksConsole() { >firebug : any > : ^^^ >(window.console.error && window.console.table) : (tabularData?: any, properties?: string[]) => void -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >window.console.error && window.console.table : (tabularData?: any, properties?: string[]) => void -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >window.console.error : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >window.console : Console > : ^^^^^^^ >window : Window & typeof globalThis @@ -533,9 +533,9 @@ function checksConsole() { >console : Console > : ^^^^^^^ >error : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >window.console.table : (tabularData?: any, properties?: string[]) => void -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >window.console : Console > : ^^^^^^^ >window : Window & typeof globalThis @@ -543,7 +543,7 @@ function checksConsole() { >console : Console > : ^^^^^^^ >table : (tabularData?: any, properties?: string[]) => void -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ } function checksPropertyAccess() { @@ -587,11 +587,11 @@ function checksPropertyAccess() { >console.log('x.foo.bar') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'x.foo.bar' : "x.foo.bar" > : ^^^^^^^^^^^ @@ -616,11 +616,11 @@ function checksPropertyAccess() { >console.log('x.foo.bar') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'x.foo.bar' : "x.foo.bar" > : ^^^^^^^^^^^ @@ -691,11 +691,11 @@ function checksPropertyAccess() { >A.from && (A.from as Function) !== B.from : boolean > : ^^^^^^^ >A.from : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >A : typeof A > : ^^^^^^^^ >from : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >(A.from as Function) !== B.from : boolean > : ^^^^^^^ >(A.from as Function) : Function @@ -703,17 +703,17 @@ function checksPropertyAccess() { >A.from as Function : Function > : ^^^^^^^^ >A.from : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >A : typeof A > : ^^^^^^^^ >from : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >B.from : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >B : typeof B > : ^^^^^^^^ >from : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >true : true > : ^^^^ >false : false @@ -1013,11 +1013,11 @@ class Foo { >console.log('required') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'required' : "required" > : ^^^^^^^^^^ @@ -1038,11 +1038,11 @@ class Foo { >console.log('required') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'required' : "required" > : ^^^^^^^^^^ @@ -1093,23 +1093,23 @@ class Foo { >1 && this.optional && console.log('optional') : void | undefined > : ^^^^^^^^^^^^^^^^ >1 && this.optional : (() => boolean) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >1 : 1 > : ^ >this.optional : (() => boolean) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >this : this > : ^^^^ >optional : (() => boolean) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >console.log('optional') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'optional' : "optional" > : ^^^^^^^^^^ } diff --git a/tests/baselines/reference/truthinessCallExpressionCoercion3.types b/tests/baselines/reference/truthinessCallExpressionCoercion3.types index 44f208fa9d29f..59c42cc5daa43 100644 --- a/tests/baselines/reference/truthinessCallExpressionCoercion3.types +++ b/tests/baselines/reference/truthinessCallExpressionCoercion3.types @@ -16,7 +16,7 @@ function f(result: unknown) { if ((result as I).always) { >(result as I).always : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >(result as I) : I > : ^ >result as I : I @@ -24,7 +24,7 @@ function f(result: unknown) { >result : unknown > : ^^^^^^^ >always : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ return result >result : unknown @@ -39,7 +39,7 @@ function g(result: unknown) { if (((result as I)).always) { >((result as I)).always : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >((result as I)) : I > : ^ >(result as I) : I @@ -49,7 +49,7 @@ function g(result: unknown) { >result : unknown > : ^^^^^^^ >always : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ return result >result : unknown diff --git a/tests/baselines/reference/truthinessPromiseCoercion.types b/tests/baselines/reference/truthinessPromiseCoercion.types index eb013862713b3..eecd340d61b70 100644 --- a/tests/baselines/reference/truthinessPromiseCoercion.types +++ b/tests/baselines/reference/truthinessPromiseCoercion.types @@ -119,11 +119,11 @@ async function g() { >p.then.length : number > : ^^^^^^ >p.then : (onfulfilled?: ((value: number) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >p : Promise > : ^^^^^^^^^^^^^^^ >then : (onfulfilled?: ((value: number) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >length : number > : ^^^^^^ @@ -175,7 +175,7 @@ async function h() { >obj.p : Promise > : ^^^^^^^^^^^^^^^^ >obj : { p: Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ @@ -183,7 +183,7 @@ async function h() { >obj.p : Promise > : ^^^^^^^^^^^^^^^^ >obj : { p: Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ @@ -193,7 +193,7 @@ async function h() { >obj.p : Promise > : ^^^^^^^^^^^^^^^^ >obj : { p: Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ } @@ -203,7 +203,7 @@ async function h() { >obj.p : Promise > : ^^^^^^^^^^^^^^^^ >obj : { p: Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ >await obj.p : unknown @@ -211,7 +211,7 @@ async function h() { >obj.p : Promise > : ^^^^^^^^^^^^^^^^ >obj : { p: Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >p : Promise > : ^^^^^^^^^^^^^^^^ } @@ -224,7 +224,7 @@ async function i(): Promise { >pf() : Promise > : ^^^^^^^^^^^^^^^^ >pf : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ return "true"; >"true" : "true" @@ -234,19 +234,19 @@ async function i(): Promise { >pf() : Promise > : ^^^^^^^^^^^^^^^^ >pf : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ pf().then(); >pf().then() : Promise > : ^^^^^^^^^^^^^^^^ >pf().then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >pf() : Promise > : ^^^^^^^^^^^^^^^^ >pf : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ } return "false"; >"false" : "false" diff --git a/tests/baselines/reference/tryCatchFinallyControlFlow.types b/tests/baselines/reference/tryCatchFinallyControlFlow.types index b9ef1af727e73..a6d1212418f1a 100644 --- a/tests/baselines/reference/tryCatchFinallyControlFlow.types +++ b/tests/baselines/reference/tryCatchFinallyControlFlow.types @@ -45,11 +45,11 @@ function f1() { >a.toFixed(0) : string > : ^^^^^^ >a.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >a : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >0 : 0 > : ^ >"123" : "123" @@ -915,7 +915,7 @@ function notallowed(arg: number) { >state.tag : "two" | "three" > : ^^^^^^^^^^^^^^^ >state : { tag: "two"; } | { tag: "three"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ ^^^ >tag : "two" | "three" > : ^^^^^^^^^^^^^^^ >"two" : "two" @@ -925,15 +925,15 @@ function notallowed(arg: number) { >console.log(state.tag) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >state.tag : "three" > : ^^^^^^^ >state : { tag: "three"; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >tag : "three" > : ^^^^^^^ } diff --git a/tests/baselines/reference/tsbuild/amdModulesWithOut/modules-and-globals-mixed-in-amd.js b/tests/baselines/reference/tsbuild/amdModulesWithOut/modules-and-globals-mixed-in-amd.js index 1ef75109fd008..7c5ec3d0e2f1a 100644 --- a/tests/baselines/reference/tsbuild/amdModulesWithOut/modules-and-globals-mixed-in-amd.js +++ b/tests/baselines/reference/tsbuild/amdModulesWithOut/modules-and-globals-mixed-in-amd.js @@ -76,17 +76,17 @@ const globalConst = 10; Output:: /lib/tsc --b /src/app --verbose -[12:00:16 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/lib/tsconfig.json * src/app/tsconfig.json -[12:00:17 AM] Project 'src/lib/tsconfig.json' is out of date because output file 'src/lib/module.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/lib/tsconfig.json' is out of date because output file 'src/lib/module.tsbuildinfo' does not exist -[12:00:18 AM] Building project '/src/lib/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/lib/tsconfig.json'... -[12:00:26 AM] Project 'src/app/tsconfig.json' is out of date because output file 'src/app/module.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/app/tsconfig.json' is out of date because output file 'src/app/module.tsbuildinfo' does not exist -[12:00:27 AM] Building project '/src/app/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/app/tsconfig.json'... exitCode:: ExitStatus.Success @@ -675,17 +675,17 @@ export const x = 10;console.log(x); Output:: /lib/tsc --b /src/app --verbose -[12:00:40 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/lib/tsconfig.json * src/app/tsconfig.json -[12:00:41 AM] Project 'src/lib/tsconfig.json' is out of date because output 'src/lib/module.tsbuildinfo' is older than input 'src/lib/file1.ts' +[HH:MM:SS AM] Project 'src/lib/tsconfig.json' is out of date because output 'src/lib/module.tsbuildinfo' is older than input 'src/lib/file1.ts' -[12:00:42 AM] Building project '/src/lib/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/lib/tsconfig.json'... -[12:00:49 AM] Project 'src/app/tsconfig.json' is up to date with .d.ts files from its dependencies +[HH:MM:SS AM] Project 'src/app/tsconfig.json' is up to date with .d.ts files from its dependencies -[12:00:50 AM] Updating output timestamps of project '/src/app/tsconfig.json'... +[HH:MM:SS AM] Updating output timestamps of project '/src/app/tsconfig.json'... exitCode:: ExitStatus.Success diff --git a/tests/baselines/reference/tsbuild/amdModulesWithOut/prepend-reports-deprecation-error.js b/tests/baselines/reference/tsbuild/amdModulesWithOut/prepend-reports-deprecation-error.js index 94de7260e19fd..bc3e90261e39d 100644 --- a/tests/baselines/reference/tsbuild/amdModulesWithOut/prepend-reports-deprecation-error.js +++ b/tests/baselines/reference/tsbuild/amdModulesWithOut/prepend-reports-deprecation-error.js @@ -77,17 +77,17 @@ const globalConst = 10; Output:: /lib/tsc --b /src/app --verbose -[12:00:16 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/lib/tsconfig.json * src/app/tsconfig.json -[12:00:17 AM] Project 'src/lib/tsconfig.json' is out of date because output file 'src/lib/module.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/lib/tsconfig.json' is out of date because output file 'src/lib/module.tsbuildinfo' does not exist -[12:00:18 AM] Building project '/src/lib/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/lib/tsconfig.json'... -[12:00:26 AM] Project 'src/app/tsconfig.json' is out of date because output file 'src/app/module.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/app/tsconfig.json' is out of date because output file 'src/app/module.tsbuildinfo' does not exist -[12:00:27 AM] Building project '/src/app/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/app/tsconfig.json'... src/app/tsconfig.json:15:5 - error TS5102: Option 'prepend' has been removed. Please remove it from your configuration. @@ -469,17 +469,17 @@ export const x = 10;console.log(x); Output:: /lib/tsc --b /src/app --verbose -[12:00:31 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/lib/tsconfig.json * src/app/tsconfig.json -[12:00:32 AM] Project 'src/lib/tsconfig.json' is out of date because output 'src/lib/module.tsbuildinfo' is older than input 'src/lib/file1.ts' +[HH:MM:SS AM] Project 'src/lib/tsconfig.json' is out of date because output 'src/lib/module.tsbuildinfo' is older than input 'src/lib/file1.ts' -[12:00:33 AM] Building project '/src/lib/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/lib/tsconfig.json'... -[12:00:40 AM] Project 'src/app/tsconfig.json' is out of date because output file 'src/app/module.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/app/tsconfig.json' is out of date because output file 'src/app/module.tsbuildinfo' does not exist -[12:00:41 AM] Building project '/src/app/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/app/tsconfig.json'... src/app/tsconfig.json:15:5 - error TS5102: Option 'prepend' has been removed. Please remove it from your configuration. diff --git a/tests/baselines/reference/tsbuild/amdModulesWithOut/when-the-module-resolution-finds-original-source-file.js b/tests/baselines/reference/tsbuild/amdModulesWithOut/when-the-module-resolution-finds-original-source-file.js index f122e59a4fedb..d448429255a34 100644 --- a/tests/baselines/reference/tsbuild/amdModulesWithOut/when-the-module-resolution-finds-original-source-file.js +++ b/tests/baselines/reference/tsbuild/amdModulesWithOut/when-the-module-resolution-finds-original-source-file.js @@ -76,17 +76,17 @@ const globalConst = 10; Output:: /lib/tsc -b /src/app --verbose -[12:00:18 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/lib/tsconfig.json * src/app/tsconfig.json -[12:00:19 AM] Project 'src/lib/tsconfig.json' is out of date because output file 'src/module.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/lib/tsconfig.json' is out of date because output file 'src/module.tsbuildinfo' does not exist -[12:00:20 AM] Building project '/src/lib/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/lib/tsconfig.json'... -[12:00:28 AM] Project 'src/app/tsconfig.json' is out of date because output file 'src/app/module.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/app/tsconfig.json' is out of date because output file 'src/app/module.tsbuildinfo' does not exist -[12:00:29 AM] Building project '/src/app/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/app/tsconfig.json'... exitCode:: ExitStatus.Success diff --git a/tests/baselines/reference/tsbuild/clean/tsx-with-dts-emit.js b/tests/baselines/reference/tsbuild/clean/tsx-with-dts-emit.js index 568457227a285..fd0462d5bcc29 100644 --- a/tests/baselines/reference/tsbuild/clean/tsx-with-dts-emit.js +++ b/tests/baselines/reference/tsbuild/clean/tsx-with-dts-emit.js @@ -33,12 +33,12 @@ export const x = 10; Output:: /lib/tsc --b src/project -v --explainFiles -[12:00:10 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:00:11 AM] Project 'src/project/tsconfig.json' is out of date because output file 'src/project/src/main.js' does not exist +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is out of date because output file 'src/project/src/main.js' does not exist -[12:00:12 AM] Building project '/src/project/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project/tsconfig.json'... lib/lib.d.ts Default library for target 'es5' @@ -66,10 +66,10 @@ Input:: Output:: /lib/tsc --b src/project -v --explainFiles -[12:00:15 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:00:16 AM] Project 'src/project/tsconfig.json' is up to date because newest input 'src/project/src/main.tsx' is older than output 'src/project/src/main.js' +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is up to date because newest input 'src/project/src/main.tsx' is older than output 'src/project/src/main.js' exitCode:: ExitStatus.Success diff --git a/tests/baselines/reference/tsbuild/commandLine/different-options-discrepancies.js b/tests/baselines/reference/tsbuild/commandLine/different-options-discrepancies.js index 0694699c274a3..17a95b82ac243 100644 --- a/tests/baselines/reference/tsbuild/commandLine/different-options-discrepancies.js +++ b/tests/baselines/reference/tsbuild/commandLine/different-options-discrepancies.js @@ -54,13 +54,6 @@ CleanBuild: "./b.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ], "latestChangedDtsFile": "FakeFileName" }, "version": "FakeTSVersion" @@ -116,13 +109,6 @@ IncrementalBuild: "./b.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ], "latestChangedDtsFile": "FakeFileName" }, "version": "FakeTSVersion" @@ -183,13 +169,6 @@ CleanBuild: "./b.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ], "latestChangedDtsFile": "FakeFileName" }, "version": "FakeTSVersion" @@ -245,13 +224,6 @@ IncrementalBuild: "./b.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ], "latestChangedDtsFile": "FakeFileName" }, "version": "FakeTSVersion" @@ -312,13 +284,6 @@ CleanBuild: "./b.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ], "latestChangedDtsFile": "FakeFileName" }, "version": "FakeTSVersion" @@ -374,13 +339,6 @@ IncrementalBuild: "./b.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ], "latestChangedDtsFile": "FakeFileName" }, "version": "FakeTSVersion" diff --git a/tests/baselines/reference/tsbuild/commandLine/different-options-with-incremental-discrepancies.js b/tests/baselines/reference/tsbuild/commandLine/different-options-with-incremental-discrepancies.js index 89fbd35d784e2..54113d75277c4 100644 --- a/tests/baselines/reference/tsbuild/commandLine/different-options-with-incremental-discrepancies.js +++ b/tests/baselines/reference/tsbuild/commandLine/different-options-with-incremental-discrepancies.js @@ -50,13 +50,6 @@ CleanBuild: "./b.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ], "options": {} }, "version": "FakeTSVersion" @@ -112,14 +105,7 @@ IncrementalBuild: "./d.ts": [ "./b.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ] + } }, "version": "FakeTSVersion" } @@ -175,13 +161,6 @@ CleanBuild: "./b.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ], "options": {} }, "version": "FakeTSVersion" @@ -237,14 +216,7 @@ IncrementalBuild: "./d.ts": [ "./b.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ] + } }, "version": "FakeTSVersion" } \ No newline at end of file diff --git a/tests/baselines/reference/tsbuild/commandLine/different-options-with-incremental-with-outFile.js b/tests/baselines/reference/tsbuild/commandLine/different-options-with-incremental-with-outFile.js index 21bbf055dbbc4..b55571cdeac49 100644 --- a/tests/baselines/reference/tsbuild/commandLine/different-options-with-incremental-with-outFile.js +++ b/tests/baselines/reference/tsbuild/commandLine/different-options-with-incremental-with-outFile.js @@ -40,12 +40,12 @@ import { b } from "./b";export const d = b; Output:: /lib/tsc --b /src/project --verbose -[12:00:12 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:00:13 AM] Project 'src/project/tsconfig.json' is out of date because output file 'src/outFile.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is out of date because output file 'src/outFile.tsbuildinfo' does not exist -[12:00:14 AM] Building project '/src/project/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -188,12 +188,12 @@ Input:: Output:: /lib/tsc --b /src/project --verbose --sourceMap -[12:00:19 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:00:20 AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/outFile.tsbuildinfo' indicates there is change in compilerOptions +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/outFile.tsbuildinfo' indicates there is change in compilerOptions -[12:00:21 AM] Building project '/src/project/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -341,12 +341,12 @@ Input:: Output:: /lib/tsc --b /src/project --verbose -[12:00:27 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:00:28 AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/outFile.tsbuildinfo' indicates there is change in compilerOptions +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/outFile.tsbuildinfo' indicates there is change in compilerOptions -[12:00:29 AM] Building project '/src/project/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -489,12 +489,12 @@ Input:: Output:: /lib/tsc --b /src/project --verbose --declaration -[12:00:34 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:00:35 AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/outFile.tsbuildinfo' indicates there is change in compilerOptions +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/outFile.tsbuildinfo' indicates there is change in compilerOptions -[12:00:36 AM] Building project '/src/project/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -625,12 +625,12 @@ Input:: Output:: /lib/tsc --b /src/project --verbose --declaration --declarationMap -[12:00:41 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:00:42 AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/outFile.tsbuildinfo' indicates there is change in compilerOptions +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/outFile.tsbuildinfo' indicates there is change in compilerOptions -[12:00:43 AM] Building project '/src/project/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -766,10 +766,10 @@ Input:: Output:: /lib/tsc --b /src/project --verbose -[12:00:49 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:00:50 AM] Project 'src/project/tsconfig.json' is up to date because newest input 'src/project/d.ts' is older than output 'src/outFile.tsbuildinfo' +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is up to date because newest input 'src/project/d.ts' is older than output 'src/outFile.tsbuildinfo' exitCode:: ExitStatus.Success @@ -785,12 +785,12 @@ export const a = 10;const aLocal = 100; Output:: /lib/tsc --b /src/project --verbose -[12:00:52 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:00:53 AM] Project 'src/project/tsconfig.json' is out of date because output 'src/outFile.tsbuildinfo' is older than input 'src/project/a.ts' +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is out of date because output 'src/outFile.tsbuildinfo' is older than input 'src/project/a.ts' -[12:00:54 AM] Building project '/src/project/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -933,12 +933,12 @@ Input:: Output:: /lib/tsc --b /src/project --verbose --declaration --declarationMap -[12:00:59 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:01:00 AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/outFile.tsbuildinfo' indicates there is change in compilerOptions +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/outFile.tsbuildinfo' indicates there is change in compilerOptions -[12:01:01 AM] Building project '/src/project/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -1058,10 +1058,10 @@ Input:: Output:: /lib/tsc --b /src/project --verbose -[12:01:07 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:01:08 AM] Project 'src/project/tsconfig.json' is up to date because newest input 'src/project/a.ts' is older than output 'src/outFile.tsbuildinfo' +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is up to date because newest input 'src/project/a.ts' is older than output 'src/outFile.tsbuildinfo' exitCode:: ExitStatus.Success @@ -1074,12 +1074,12 @@ Input:: Output:: /lib/tsc --b /src/project --verbose --inlineSourceMap -[12:01:09 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:01:10 AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/outFile.tsbuildinfo' indicates there is change in compilerOptions +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/outFile.tsbuildinfo' indicates there is change in compilerOptions -[12:01:11 AM] Building project '/src/project/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -1224,12 +1224,12 @@ Input:: Output:: /lib/tsc --b /src/project --verbose --sourceMap -[12:01:16 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:01:17 AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/outFile.tsbuildinfo' indicates there is change in compilerOptions +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/outFile.tsbuildinfo' indicates there is change in compilerOptions -[12:01:18 AM] Building project '/src/project/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -1377,12 +1377,12 @@ Input:: Output:: /lib/tsc --b /src/project --verbose -[12:01:24 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:01:25 AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/outFile.tsbuildinfo' indicates there is change in compilerOptions +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/outFile.tsbuildinfo' indicates there is change in compilerOptions -[12:01:26 AM] Building project '/src/project/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -1525,12 +1525,12 @@ Input:: Output:: /lib/tsc --b /src/project --verbose --declaration --declarationMap -[12:01:31 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:01:32 AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/outFile.tsbuildinfo' indicates there is change in compilerOptions +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/outFile.tsbuildinfo' indicates there is change in compilerOptions -[12:01:33 AM] Building project '/src/project/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -1650,10 +1650,10 @@ Input:: Output:: /lib/tsc --b /src/project --verbose --declaration --declarationMap -[12:01:39 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:01:40 AM] Project 'src/project/tsconfig.json' is up to date because newest input 'src/project/a.ts' is older than output 'src/outFile.tsbuildinfo' +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is up to date because newest input 'src/project/a.ts' is older than output 'src/outFile.tsbuildinfo' exitCode:: ExitStatus.Success diff --git a/tests/baselines/reference/tsbuild/commandLine/different-options-with-incremental.js b/tests/baselines/reference/tsbuild/commandLine/different-options-with-incremental.js index 4781287865bef..41637b9841e58 100644 --- a/tests/baselines/reference/tsbuild/commandLine/different-options-with-incremental.js +++ b/tests/baselines/reference/tsbuild/commandLine/different-options-with-incremental.js @@ -38,12 +38,12 @@ import { b } from "./b";export const d = b; Output:: /lib/tsc --b /src/project --verbose -[12:00:12 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:00:13 AM] Project 'src/project/tsconfig.json' is out of date because output file 'src/project/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is out of date because output file 'src/project/tsconfig.tsbuildinfo' does not exist -[12:00:14 AM] Building project '/src/project/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -112,7 +112,7 @@ exports.d = b_1.b; //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18487752940-export const a = 10;const aLocal = 10;","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","impliedFormat":1}],"root":[[2,5]],"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18487752940-export const a = 10;const aLocal = 10;","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","impliedFormat":1}],"root":[[2,5]],"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -202,17 +202,10 @@ exports.d = b_1.b; "./d.ts": [ "./b.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1078 + "size": 1037 } @@ -223,12 +216,12 @@ Input:: Output:: /lib/tsc --b /src/project --verbose --sourceMap -[12:00:22 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:00:23 AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/project/tsconfig.tsbuildinfo' indicates there is change in compilerOptions +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/project/tsconfig.tsbuildinfo' indicates there is change in compilerOptions -[12:00:24 AM] Building project '/src/project/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -300,7 +293,7 @@ exports.d = b_1.b; {"version":3,"file":"d.js","sourceRoot":"","sources":["d.ts"],"names":[],"mappings":";;;AAAA,yBAAwB;AAAa,QAAA,CAAC,GAAG,KAAC,CAAC"} //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18487752940-export const a = 10;const aLocal = 10;","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","impliedFormat":1}],"root":[[2,5]],"options":{"sourceMap":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18487752940-export const a = 10;const aLocal = 10;","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","impliedFormat":1}],"root":[[2,5]],"options":{"sourceMap":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -393,17 +386,10 @@ exports.d = b_1.b; "./d.ts": [ "./b.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1107 + "size": 1066 } @@ -414,12 +400,12 @@ Input:: Output:: /lib/tsc --b /src/project --verbose -[12:00:36 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:00:37 AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/project/tsconfig.tsbuildinfo' indicates there is change in compilerOptions +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/project/tsconfig.tsbuildinfo' indicates there is change in compilerOptions -[12:00:38 AM] Building project '/src/project/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -478,7 +464,7 @@ exports.d = b_1.b; //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18487752940-export const a = 10;const aLocal = 10;","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","impliedFormat":1}],"root":[[2,5]],"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18487752940-export const a = 10;const aLocal = 10;","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","impliedFormat":1}],"root":[[2,5]],"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -568,17 +554,10 @@ exports.d = b_1.b; "./d.ts": [ "./b.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1078 + "size": 1037 } @@ -589,12 +568,12 @@ Input:: Output:: /lib/tsc --b /src/project --verbose --declaration -[12:00:46 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:00:47 AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/project/tsconfig.tsbuildinfo' indicates there is change in compilerOptions +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/project/tsconfig.tsbuildinfo' indicates there is change in compilerOptions -[12:00:48 AM] Building project '/src/project/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -638,7 +617,7 @@ export declare const d = 10; //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18487752940-export const a = 10;const aLocal = 10;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18487752940-export const a = 10;const aLocal = 10;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -735,17 +714,10 @@ export declare const d = 10; "./d.ts": [ "./b.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1337 + "size": 1296 } @@ -756,12 +728,12 @@ Input:: Output:: /lib/tsc --b /src/project --verbose --declaration --declarationMap -[12:00:56 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:00:57 AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/project/tsconfig.tsbuildinfo' indicates there is change in compilerOptions +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/project/tsconfig.tsbuildinfo' indicates there is change in compilerOptions -[12:00:58 AM] Building project '/src/project/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -818,7 +790,7 @@ export declare const d = 10; {"version":3,"file":"d.d.ts","sourceRoot":"","sources":["d.ts"],"names":[],"mappings":"AAAwB,eAAO,MAAM,CAAC,KAAI,CAAC"} //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18487752940-export const a = 10;const aLocal = 10;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true,"declarationMap":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18487752940-export const a = 10;const aLocal = 10;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true,"declarationMap":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -916,17 +888,10 @@ export declare const d = 10; "./d.ts": [ "./b.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1359 + "size": 1318 } @@ -937,10 +902,10 @@ Input:: Output:: /lib/tsc --b /src/project --verbose -[12:01:10 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:01:11 AM] Project 'src/project/tsconfig.json' is up to date because newest input 'src/project/d.ts' is older than output 'src/project/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is up to date because newest input 'src/project/d.ts' is older than output 'src/project/tsconfig.tsbuildinfo' exitCode:: ExitStatus.Success @@ -956,12 +921,12 @@ export const a = 10;const aLocal = 100; Output:: /lib/tsc --b /src/project --verbose -[12:01:13 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:01:14 AM] Project 'src/project/tsconfig.json' is out of date because output 'src/project/tsconfig.tsbuildinfo' is older than input 'src/project/a.ts' +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is out of date because output 'src/project/tsconfig.tsbuildinfo' is older than input 'src/project/a.ts' -[12:01:15 AM] Building project '/src/project/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -998,7 +963,7 @@ var aLocal = 100; //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-17390360476-export const a = 10;const aLocal = 100;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-17390360476-export const a = 10;const aLocal = 100;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1092,17 +1057,10 @@ var aLocal = 100; "./d.ts": [ "./b.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1307 + "size": 1266 } @@ -1113,12 +1071,12 @@ Input:: Output:: /lib/tsc --b /src/project --verbose --declaration --declarationMap -[12:01:20 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:01:21 AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/project/tsconfig.tsbuildinfo' indicates there is change in compilerOptions +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/project/tsconfig.tsbuildinfo' indicates there is change in compilerOptions -[12:01:22 AM] Building project '/src/project/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -1155,7 +1113,7 @@ No shapes updated in the builder:: //// [/src/project/d.d.ts] file written with same contents //// [/src/project/d.d.ts.map] file written with same contents //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-17390360476-export const a = 10;const aLocal = 100;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true,"declarationMap":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-17390360476-export const a = 10;const aLocal = 100;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true,"declarationMap":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1253,17 +1211,10 @@ No shapes updated in the builder:: "./d.ts": [ "./b.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1360 + "size": 1319 } @@ -1274,10 +1225,10 @@ Input:: Output:: /lib/tsc --b /src/project --verbose -[12:01:34 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:01:35 AM] Project 'src/project/tsconfig.json' is up to date because newest input 'src/project/a.ts' is older than output 'src/project/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is up to date because newest input 'src/project/a.ts' is older than output 'src/project/tsconfig.tsbuildinfo' exitCode:: ExitStatus.Success @@ -1290,12 +1241,12 @@ Input:: Output:: /lib/tsc --b /src/project --verbose --inlineSourceMap -[12:01:36 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:01:37 AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/project/tsconfig.tsbuildinfo' indicates there is change in compilerOptions +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/project/tsconfig.tsbuildinfo' indicates there is change in compilerOptions -[12:01:38 AM] Building project '/src/project/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -1355,7 +1306,7 @@ exports.d = b_1.b; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUJBQXdCO0FBQWEsUUFBQSxDQUFDLEdBQUcsS0FBQyxDQUFDIn0= //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-17390360476-export const a = 10;const aLocal = 100;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"inlineSourceMap":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-17390360476-export const a = 10;const aLocal = 100;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"inlineSourceMap":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1452,17 +1403,10 @@ exports.d = b_1.b; "./d.ts": [ "./b.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1342 + "size": 1301 } @@ -1473,12 +1417,12 @@ Input:: Output:: /lib/tsc --b /src/project --verbose --sourceMap -[12:01:46 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:01:47 AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/project/tsconfig.tsbuildinfo' indicates there is change in compilerOptions +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/project/tsconfig.tsbuildinfo' indicates there is change in compilerOptions -[12:01:48 AM] Building project '/src/project/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -1544,7 +1488,7 @@ exports.d = b_1.b; //// [/src/project/d.js.map] file written with same contents //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-17390360476-export const a = 10;const aLocal = 100;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"sourceMap":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-17390360476-export const a = 10;const aLocal = 100;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"sourceMap":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1641,17 +1585,10 @@ exports.d = b_1.b; "./d.ts": [ "./b.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1336 + "size": 1295 } @@ -1662,12 +1599,12 @@ Input:: Output:: /lib/tsc --b /src/project --verbose -[12:02:00 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:02:01 AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/project/tsconfig.tsbuildinfo' indicates there is change in compilerOptions +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/project/tsconfig.tsbuildinfo' indicates there is change in compilerOptions -[12:02:02 AM] Building project '/src/project/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -1726,7 +1663,7 @@ exports.d = b_1.b; //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-17390360476-export const a = 10;const aLocal = 100;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-17390360476-export const a = 10;const aLocal = 100;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1820,17 +1757,10 @@ exports.d = b_1.b; "./d.ts": [ "./b.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1307 + "size": 1266 } @@ -1841,12 +1771,12 @@ Input:: Output:: /lib/tsc --b /src/project --verbose --declaration --declarationMap -[12:02:10 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:02:11 AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/project/tsconfig.tsbuildinfo' indicates there is change in compilerOptions +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/project/tsconfig.tsbuildinfo' indicates there is change in compilerOptions -[12:02:12 AM] Building project '/src/project/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -1883,7 +1813,7 @@ No shapes updated in the builder:: //// [/src/project/d.d.ts] file written with same contents //// [/src/project/d.d.ts.map] file written with same contents //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-17390360476-export const a = 10;const aLocal = 100;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true,"declarationMap":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-17390360476-export const a = 10;const aLocal = 100;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true,"declarationMap":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1981,17 +1911,10 @@ No shapes updated in the builder:: "./d.ts": [ "./b.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1360 + "size": 1319 } @@ -2002,10 +1925,10 @@ Input:: Output:: /lib/tsc --b /src/project --verbose --declaration --declarationMap -[12:02:24 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:02:25 AM] Project 'src/project/tsconfig.json' is up to date because newest input 'src/project/a.ts' is older than output 'src/project/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is up to date because newest input 'src/project/a.ts' is older than output 'src/project/tsconfig.tsbuildinfo' exitCode:: ExitStatus.Success diff --git a/tests/baselines/reference/tsbuild/commandLine/different-options-with-outFile.js b/tests/baselines/reference/tsbuild/commandLine/different-options-with-outFile.js index 09be888288310..8bb5a4e497042 100644 --- a/tests/baselines/reference/tsbuild/commandLine/different-options-with-outFile.js +++ b/tests/baselines/reference/tsbuild/commandLine/different-options-with-outFile.js @@ -40,12 +40,12 @@ import { b } from "./b";export const d = b; Output:: /lib/tsc --b /src/project --verbose -[12:00:12 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:00:13 AM] Project 'src/project/tsconfig.json' is out of date because output file 'src/outFile.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is out of date because output file 'src/outFile.tsbuildinfo' does not exist -[12:00:14 AM] Building project '/src/project/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -206,12 +206,12 @@ Input:: Output:: /lib/tsc --b /src/project --verbose --sourceMap -[12:00:20 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:00:21 AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/outFile.tsbuildinfo' indicates there is change in compilerOptions +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/outFile.tsbuildinfo' indicates there is change in compilerOptions -[12:00:22 AM] Building project '/src/project/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -362,12 +362,12 @@ Input:: Output:: /lib/tsc --b /src/project --verbose -[12:00:28 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:00:29 AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/outFile.tsbuildinfo' indicates there is change in compilerOptions +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/outFile.tsbuildinfo' indicates there is change in compilerOptions -[12:00:30 AM] Building project '/src/project/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -513,10 +513,10 @@ Input:: Output:: /lib/tsc --b /src/project --verbose --declaration -[12:00:35 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:00:36 AM] Project 'src/project/tsconfig.json' is up to date because newest input 'src/project/d.ts' is older than output 'src/outFile.tsbuildinfo' +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is up to date because newest input 'src/project/d.ts' is older than output 'src/outFile.tsbuildinfo' exitCode:: ExitStatus.Success @@ -529,10 +529,10 @@ Input:: Output:: /lib/tsc --b /src/project --verbose -[12:00:37 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:00:38 AM] Project 'src/project/tsconfig.json' is up to date because newest input 'src/project/d.ts' is older than output 'src/outFile.tsbuildinfo' +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is up to date because newest input 'src/project/d.ts' is older than output 'src/outFile.tsbuildinfo' exitCode:: ExitStatus.Success @@ -545,12 +545,12 @@ Input:: Output:: /lib/tsc --b /src/project --verbose --declaration --declarationMap -[12:00:39 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:00:40 AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/outFile.tsbuildinfo' indicates there is change in compilerOptions +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/outFile.tsbuildinfo' indicates there is change in compilerOptions -[12:00:41 AM] Building project '/src/project/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -689,12 +689,12 @@ Input:: Output:: /lib/tsc --b /src/project --verbose -[12:00:48 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:00:49 AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/outFile.tsbuildinfo' indicates there is change in compilerOptions +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/outFile.tsbuildinfo' indicates there is change in compilerOptions -[12:00:50 AM] Building project '/src/project/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -826,10 +826,10 @@ Input:: Output:: /lib/tsc --b /src/project --verbose --emitDeclarationOnly -[12:00:56 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:00:57 AM] Project 'src/project/tsconfig.json' is up to date because newest input 'src/project/d.ts' is older than output 'src/outFile.tsbuildinfo' +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is up to date because newest input 'src/project/d.ts' is older than output 'src/outFile.tsbuildinfo' exitCode:: ExitStatus.Success @@ -842,10 +842,10 @@ Input:: Output:: /lib/tsc --b /src/project --verbose -[12:00:58 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:00:59 AM] Project 'src/project/tsconfig.json' is up to date because newest input 'src/project/d.ts' is older than output 'src/outFile.tsbuildinfo' +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is up to date because newest input 'src/project/d.ts' is older than output 'src/outFile.tsbuildinfo' exitCode:: ExitStatus.Success @@ -861,12 +861,12 @@ export const a = 10;const aLocal = 100; Output:: /lib/tsc --b /src/project --verbose -[12:01:01 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:01:02 AM] Project 'src/project/tsconfig.json' is out of date because output 'src/outFile.tsbuildinfo' is older than input 'src/project/a.ts' +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is out of date because output 'src/outFile.tsbuildinfo' is older than input 'src/project/a.ts' -[12:01:03 AM] Building project '/src/project/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -1012,10 +1012,10 @@ Input:: Output:: /lib/tsc --b /src/project --verbose --declaration -[12:01:08 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:01:09 AM] Project 'src/project/tsconfig.json' is up to date because newest input 'src/project/a.ts' is older than output 'src/outFile.tsbuildinfo' +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is up to date because newest input 'src/project/a.ts' is older than output 'src/outFile.tsbuildinfo' exitCode:: ExitStatus.Success @@ -1028,12 +1028,12 @@ Input:: Output:: /lib/tsc --b /src/project --verbose --inlineSourceMap -[12:01:10 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:01:11 AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/outFile.tsbuildinfo' indicates there is change in compilerOptions +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/outFile.tsbuildinfo' indicates there is change in compilerOptions -[12:01:12 AM] Building project '/src/project/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -1181,12 +1181,12 @@ Input:: Output:: /lib/tsc --b /src/project --verbose --sourceMap -[12:01:17 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:01:18 AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/outFile.tsbuildinfo' indicates there is change in compilerOptions +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/outFile.tsbuildinfo' indicates there is change in compilerOptions -[12:01:19 AM] Building project '/src/project/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ diff --git a/tests/baselines/reference/tsbuild/commandLine/different-options.js b/tests/baselines/reference/tsbuild/commandLine/different-options.js index bba7809b66b9f..959c70a4753cb 100644 --- a/tests/baselines/reference/tsbuild/commandLine/different-options.js +++ b/tests/baselines/reference/tsbuild/commandLine/different-options.js @@ -38,12 +38,12 @@ import { b } from "./b";export const d = b; Output:: /lib/tsc --b /src/project --verbose -[12:00:12 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:00:13 AM] Project 'src/project/tsconfig.json' is out of date because output file 'src/project/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is out of date because output file 'src/project/tsconfig.tsbuildinfo' does not exist -[12:00:14 AM] Building project '/src/project/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -128,7 +128,7 @@ exports.d = b_1.b; //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18487752940-export const a = 10;const aLocal = 10;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5],"latestChangedDtsFile":"./d.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18487752940-export const a = 10;const aLocal = 10;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./d.d.ts"},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -226,17 +226,10 @@ exports.d = b_1.b; "./b.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ], "latestChangedDtsFile": "./d.d.ts" }, "version": "FakeTSVersion", - "size": 1369 + "size": 1328 } @@ -247,12 +240,12 @@ Input:: Output:: /lib/tsc --b /src/project --verbose --sourceMap -[12:00:26 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:00:27 AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/project/tsconfig.tsbuildinfo' indicates there is change in compilerOptions +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/project/tsconfig.tsbuildinfo' indicates there is change in compilerOptions -[12:00:28 AM] Building project '/src/project/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -324,7 +317,7 @@ exports.d = b_1.b; {"version":3,"file":"d.js","sourceRoot":"","sources":["d.ts"],"names":[],"mappings":";;;AAAA,yBAAwB;AAAa,QAAA,CAAC,GAAG,KAAC,CAAC"} //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18487752940-export const a = 10;const aLocal = 10;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true,"sourceMap":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5],"latestChangedDtsFile":"./d.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18487752940-export const a = 10;const aLocal = 10;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true,"sourceMap":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./d.d.ts"},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -423,17 +416,10 @@ exports.d = b_1.b; "./b.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ], "latestChangedDtsFile": "./d.d.ts" }, "version": "FakeTSVersion", - "size": 1386 + "size": 1345 } @@ -444,12 +430,12 @@ Input:: Output:: /lib/tsc --b /src/project --verbose -[12:00:40 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:00:41 AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/project/tsconfig.tsbuildinfo' indicates there is change in compilerOptions +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/project/tsconfig.tsbuildinfo' indicates there is change in compilerOptions -[12:00:42 AM] Building project '/src/project/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -508,7 +494,7 @@ exports.d = b_1.b; //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18487752940-export const a = 10;const aLocal = 10;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5],"latestChangedDtsFile":"./d.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18487752940-export const a = 10;const aLocal = 10;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./d.d.ts"},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -606,17 +592,10 @@ exports.d = b_1.b; "./b.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ], "latestChangedDtsFile": "./d.d.ts" }, "version": "FakeTSVersion", - "size": 1369 + "size": 1328 } @@ -627,10 +606,10 @@ Input:: Output:: /lib/tsc --b /src/project --verbose --declaration -[12:00:50 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:00:51 AM] Project 'src/project/tsconfig.json' is up to date because newest input 'src/project/d.ts' is older than output 'src/project/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is up to date because newest input 'src/project/d.ts' is older than output 'src/project/tsconfig.tsbuildinfo' exitCode:: ExitStatus.Success @@ -643,10 +622,10 @@ Input:: Output:: /lib/tsc --b /src/project --verbose -[12:00:52 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:00:53 AM] Project 'src/project/tsconfig.json' is up to date because newest input 'src/project/d.ts' is older than output 'src/project/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is up to date because newest input 'src/project/d.ts' is older than output 'src/project/tsconfig.tsbuildinfo' exitCode:: ExitStatus.Success @@ -659,12 +638,12 @@ Input:: Output:: /lib/tsc --b /src/project --verbose --declaration --declarationMap -[12:00:54 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:00:55 AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/project/tsconfig.tsbuildinfo' indicates there is change in compilerOptions +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/project/tsconfig.tsbuildinfo' indicates there is change in compilerOptions -[12:00:56 AM] Building project '/src/project/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -721,7 +700,7 @@ export declare const d = 10; {"version":3,"file":"d.d.ts","sourceRoot":"","sources":["d.ts"],"names":[],"mappings":"AAAwB,eAAO,MAAM,CAAC,KAAI,CAAC"} //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18487752940-export const a = 10;const aLocal = 10;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true,"declaration":true,"declarationMap":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5],"latestChangedDtsFile":"./d.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18487752940-export const a = 10;const aLocal = 10;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true,"declaration":true,"declarationMap":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./d.d.ts"},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -821,17 +800,10 @@ export declare const d = 10; "./b.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ], "latestChangedDtsFile": "./d.d.ts" }, "version": "FakeTSVersion", - "size": 1410 + "size": 1369 } @@ -842,12 +814,12 @@ Input:: Output:: /lib/tsc --b /src/project --verbose -[12:01:12 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:01:13 AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/project/tsconfig.tsbuildinfo' indicates there is change in compilerOptions +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/project/tsconfig.tsbuildinfo' indicates there is change in compilerOptions -[12:01:14 AM] Building project '/src/project/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -890,7 +862,7 @@ export declare const d = 10; //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18487752940-export const a = 10;const aLocal = 10;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5],"latestChangedDtsFile":"./d.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18487752940-export const a = 10;const aLocal = 10;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./d.d.ts"},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -988,17 +960,10 @@ export declare const d = 10; "./b.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ], "latestChangedDtsFile": "./d.d.ts" }, "version": "FakeTSVersion", - "size": 1369 + "size": 1328 } @@ -1009,10 +974,10 @@ Input:: Output:: /lib/tsc --b /src/project --verbose --emitDeclarationOnly -[12:01:26 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:01:27 AM] Project 'src/project/tsconfig.json' is up to date because newest input 'src/project/d.ts' is older than output 'src/project/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is up to date because newest input 'src/project/d.ts' is older than output 'src/project/tsconfig.tsbuildinfo' exitCode:: ExitStatus.Success @@ -1025,10 +990,10 @@ Input:: Output:: /lib/tsc --b /src/project --verbose -[12:01:28 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:01:29 AM] Project 'src/project/tsconfig.json' is up to date because newest input 'src/project/d.ts' is older than output 'src/project/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is up to date because newest input 'src/project/d.ts' is older than output 'src/project/tsconfig.tsbuildinfo' exitCode:: ExitStatus.Success @@ -1044,12 +1009,12 @@ export const a = 10;const aLocal = 100; Output:: /lib/tsc --b /src/project --verbose -[12:01:31 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:01:32 AM] Project 'src/project/tsconfig.json' is out of date because output 'src/project/tsconfig.tsbuildinfo' is older than input 'src/project/a.ts' +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is out of date because output 'src/project/tsconfig.tsbuildinfo' is older than input 'src/project/a.ts' -[12:01:33 AM] Building project '/src/project/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -1086,7 +1051,7 @@ var aLocal = 100; //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-17390360476-export const a = 10;const aLocal = 100;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5],"latestChangedDtsFile":"./d.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-17390360476-export const a = 10;const aLocal = 100;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./d.d.ts"},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1184,17 +1149,10 @@ var aLocal = 100; "./b.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ], "latestChangedDtsFile": "./d.d.ts" }, "version": "FakeTSVersion", - "size": 1370 + "size": 1329 } @@ -1205,10 +1163,10 @@ Input:: Output:: /lib/tsc --b /src/project --verbose --declaration -[12:01:38 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:01:39 AM] Project 'src/project/tsconfig.json' is up to date because newest input 'src/project/a.ts' is older than output 'src/project/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is up to date because newest input 'src/project/a.ts' is older than output 'src/project/tsconfig.tsbuildinfo' exitCode:: ExitStatus.Success @@ -1221,12 +1179,12 @@ Input:: Output:: /lib/tsc --b /src/project --verbose --inlineSourceMap -[12:01:40 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:01:41 AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/project/tsconfig.tsbuildinfo' indicates there is change in compilerOptions +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/project/tsconfig.tsbuildinfo' indicates there is change in compilerOptions -[12:01:42 AM] Building project '/src/project/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -1286,7 +1244,7 @@ exports.d = b_1.b; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUJBQXdCO0FBQWEsUUFBQSxDQUFDLEdBQUcsS0FBQyxDQUFDIn0= //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-17390360476-export const a = 10;const aLocal = 100;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true,"inlineSourceMap":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5],"latestChangedDtsFile":"./d.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-17390360476-export const a = 10;const aLocal = 100;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true,"inlineSourceMap":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./d.d.ts"},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1385,17 +1343,10 @@ exports.d = b_1.b; "./b.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ], "latestChangedDtsFile": "./d.d.ts" }, "version": "FakeTSVersion", - "size": 1393 + "size": 1352 } @@ -1406,12 +1357,12 @@ Input:: Output:: /lib/tsc --b /src/project --verbose --sourceMap -[12:01:50 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:01:51 AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/project/tsconfig.tsbuildinfo' indicates there is change in compilerOptions +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/project/tsconfig.tsbuildinfo' indicates there is change in compilerOptions -[12:01:52 AM] Building project '/src/project/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -1477,7 +1428,7 @@ exports.d = b_1.b; //// [/src/project/d.js.map] file written with same contents //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-17390360476-export const a = 10;const aLocal = 100;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true,"sourceMap":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5],"latestChangedDtsFile":"./d.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-17390360476-export const a = 10;const aLocal = 100;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true,"sourceMap":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./d.d.ts"},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1576,16 +1527,9 @@ exports.d = b_1.b; "./b.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ], "latestChangedDtsFile": "./d.d.ts" }, "version": "FakeTSVersion", - "size": 1387 + "size": 1346 } diff --git a/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-false-on-commandline-discrepancies.js b/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-false-on-commandline-discrepancies.js index 5d6d04b8f860e..89aaceda67742 100644 --- a/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-false-on-commandline-discrepancies.js +++ b/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-false-on-commandline-discrepancies.js @@ -54,13 +54,6 @@ CleanBuild: "./b.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ], "latestChangedDtsFile": "FakeFileName" }, "version": "FakeTSVersion" @@ -117,13 +110,6 @@ IncrementalBuild: "./b.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ], "latestChangedDtsFile": "FakeFileName" }, "version": "FakeTSVersion" @@ -185,14 +171,6 @@ CleanBuild: "../../project1/src/b.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "../../project1/src/a.d.ts", - "../../project1/src/b.d.ts", - "./e.ts", - "./f.ts", - "./g.ts" - ], "latestChangedDtsFile": "FakeFileName" }, "version": "FakeTSVersion" @@ -253,14 +231,6 @@ IncrementalBuild: "../../project1/src/b.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "../../project1/src/a.d.ts", - "../../project1/src/b.d.ts", - "./e.ts", - "./f.ts", - "./g.ts" - ], "latestChangedDtsFile": "FakeFileName" }, "version": "FakeTSVersion" diff --git a/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-false-on-commandline-with-declaration-and-incremental-discrepancies.js b/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-false-on-commandline-with-declaration-and-incremental-discrepancies.js index 080f3aab5f11a..d9397c8617edc 100644 --- a/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-false-on-commandline-with-declaration-and-incremental-discrepancies.js +++ b/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-false-on-commandline-with-declaration-and-incremental-discrepancies.js @@ -53,14 +53,7 @@ CleanBuild: "./d.ts": [ "./b.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ] + } }, "version": "FakeTSVersion" } @@ -115,14 +108,7 @@ IncrementalBuild: "./d.ts": [ "./b.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ] + } }, "version": "FakeTSVersion" } diff --git a/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-false-on-commandline-with-declaration-and-incremental-with-outFile.js b/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-false-on-commandline-with-declaration-and-incremental-with-outFile.js index 957c372f74ff9..d0ead60f1708f 100644 --- a/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-false-on-commandline-with-declaration-and-incremental-with-outFile.js +++ b/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-false-on-commandline-with-declaration-and-incremental-with-outFile.js @@ -67,17 +67,17 @@ import { b } from "b"; export const g = b; Output:: /lib/tsc --b /src/project2/src --verbose -[12:00:19 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:20 AM] Project 'src/project1/src/tsconfig.json' is out of date because output file 'src/project1/outFile.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output file 'src/project1/outFile.tsbuildinfo' does not exist -[12:00:21 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:00:26 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.tsbuildinfo' does not exist -[12:00:27 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:10:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -247,15 +247,15 @@ Input:: Output:: /lib/tsc --b /src/project2/src --verbose -[12:00:28 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:29 AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/d.ts' is older than output 'src/project1/outFile.tsbuildinfo' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/d.ts' is older than output 'src/project1/outFile.tsbuildinfo' -[12:00:30 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.tsbuildinfo' does not exist -[12:00:31 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:10:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -307,17 +307,17 @@ export const a = 10;const aLocal = 10;const aa = 10; Output:: /lib/tsc --b /src/project2/src --verbose -[12:00:33 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:34 AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/outFile.tsbuildinfo' is older than input 'src/project1/src/a.ts' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/outFile.tsbuildinfo' is older than input 'src/project1/src/a.ts' -[12:00:35 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:00:40 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.tsbuildinfo' does not exist -[12:00:41 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:10:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -473,17 +473,17 @@ Input:: Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly false -[12:00:42 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:43 AM] Project 'src/project1/src/tsconfig.json' is out of date because buildinfo file 'src/project1/outFile.tsbuildinfo' indicates there is change in compilerOptions +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because buildinfo file 'src/project1/outFile.tsbuildinfo' indicates there is change in compilerOptions -[12:00:44 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:00:49 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.tsbuildinfo' does not exist -[12:00:50 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:10:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -668,15 +668,15 @@ Input:: Output:: /lib/tsc --b /src/project2/src --verbose -[12:00:51 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:52 AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/a.ts' is older than output 'src/project1/outFile.tsbuildinfo' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/a.ts' is older than output 'src/project1/outFile.tsbuildinfo' -[12:00:53 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.tsbuildinfo' does not exist -[12:00:54 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:10:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -725,15 +725,15 @@ Input:: Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly false -[12:00:55 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:56 AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/a.ts' is older than output 'src/project1/outFile.tsbuildinfo' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/a.ts' is older than output 'src/project1/outFile.tsbuildinfo' -[12:00:57 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.tsbuildinfo' does not exist -[12:00:58 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:10:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -785,17 +785,17 @@ export const b = 10;const bLocal = 10;const blocal = 10; Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly false -[12:01:00 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:01:01 AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/outFile.tsbuildinfo' is older than input 'src/project1/src/b.ts' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/outFile.tsbuildinfo' is older than input 'src/project1/src/b.ts' -[12:01:02 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:01:08 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.tsbuildinfo' does not exist -[12:01:09 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:10:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. diff --git a/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-false-on-commandline-with-declaration-and-incremental.js b/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-false-on-commandline-with-declaration-and-incremental.js index 0cfdd001384d3..c23d7d7171f7f 100644 --- a/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-false-on-commandline-with-declaration-and-incremental.js +++ b/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-false-on-commandline-with-declaration-and-incremental.js @@ -63,17 +63,17 @@ import { b } from "../../project1/src/b"; export const g = b; Output:: /lib/tsc --b /src/project2/src --verbose -[12:00:19 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:20 AM] Project 'src/project1/src/tsconfig.json' is out of date because output file 'src/project1/src/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output file 'src/project1/src/tsconfig.tsbuildinfo' does not exist -[12:00:21 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:00:29 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/src/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/src/tsconfig.tsbuildinfo' does not exist -[12:00:30 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:8:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -164,7 +164,7 @@ export declare const d = 10; //// [/src/project1/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18487752940-export const a = 10;const aLocal = 10;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true,"emitDeclarationOnly":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18487752940-export const a = 10;const aLocal = 10;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true,"emitDeclarationOnly":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]]},"version":"FakeTSVersion"} //// [/src/project1/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -262,17 +262,10 @@ export declare const d = 10; "./d.ts": [ "./b.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1367 + "size": 1326 } //// [/src/project2/src/tsconfig.tsbuildinfo] @@ -402,15 +395,15 @@ Input:: Output:: /lib/tsc --b /src/project2/src --verbose -[12:00:34 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:35 AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/d.ts' is older than output 'src/project1/src/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/d.ts' is older than output 'src/project1/src/tsconfig.tsbuildinfo' -[12:00:36 AM] Project 'src/project2/src/tsconfig.json' is out of date because buildinfo file 'src/project2/src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because buildinfo file 'src/project2/src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted -[12:00:37 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:8:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -461,17 +454,17 @@ export const a = 10;const aLocal = 10;const aa = 10; Output:: /lib/tsc --b /src/project2/src --verbose -[12:00:39 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:40 AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/src/tsconfig.tsbuildinfo' is older than input 'src/project1/src/a.ts' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/src/tsconfig.tsbuildinfo' is older than input 'src/project1/src/a.ts' -[12:00:41 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:00:46 AM] Project 'src/project2/src/tsconfig.json' is out of date because buildinfo file 'src/project2/src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because buildinfo file 'src/project2/src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted -[12:00:47 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:8:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -539,7 +532,7 @@ No shapes updated in the builder:: //// [/src/project1/src/a.d.ts] file written with same contents //// [/src/project1/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-16597586570-export const a = 10;const aLocal = 10;const aa = 10;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true,"emitDeclarationOnly":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-16597586570-export const a = 10;const aLocal = 10;const aa = 10;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true,"emitDeclarationOnly":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]]},"version":"FakeTSVersion"} //// [/src/project1/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -637,17 +630,10 @@ No shapes updated in the builder:: "./d.ts": [ "./b.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1381 + "size": 1340 } @@ -658,17 +644,17 @@ Input:: Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly false -[12:00:48 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:49 AM] Project 'src/project1/src/tsconfig.json' is out of date because buildinfo file 'src/project1/src/tsconfig.tsbuildinfo' indicates there is change in compilerOptions +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because buildinfo file 'src/project1/src/tsconfig.tsbuildinfo' indicates there is change in compilerOptions -[12:00:50 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:00:58 AM] Project 'src/project2/src/tsconfig.json' is out of date because buildinfo file 'src/project2/src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because buildinfo file 'src/project2/src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted -[12:00:59 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:8:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -766,7 +752,7 @@ exports.d = b_1.b; //// [/src/project1/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-16597586570-export const a = 10;const aLocal = 10;const aa = 10;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true,"emitDeclarationOnly":false},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-16597586570-export const a = 10;const aLocal = 10;const aa = 10;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true,"emitDeclarationOnly":false},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]]},"version":"FakeTSVersion"} //// [/src/project1/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -864,17 +850,10 @@ exports.d = b_1.b; "./d.ts": [ "./b.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1382 + "size": 1341 } //// [/src/project2/src/tsconfig.tsbuildinfo] @@ -1004,15 +983,15 @@ Input:: Output:: /lib/tsc --b /src/project2/src --verbose -[12:01:03 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:01:04 AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/a.ts' is older than output 'src/project1/src/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/a.ts' is older than output 'src/project1/src/tsconfig.tsbuildinfo' -[12:01:05 AM] Project 'src/project2/src/tsconfig.json' is out of date because buildinfo file 'src/project2/src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because buildinfo file 'src/project2/src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted -[12:01:06 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:8:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -1060,15 +1039,15 @@ Input:: Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly false -[12:01:07 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:01:08 AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/a.ts' is older than output 'src/project1/src/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/a.ts' is older than output 'src/project1/src/tsconfig.tsbuildinfo' -[12:01:09 AM] Project 'src/project2/src/tsconfig.json' is out of date because buildinfo file 'src/project2/src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because buildinfo file 'src/project2/src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted -[12:01:10 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:8:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -1119,17 +1098,17 @@ export const b = 10;const bLocal = 10;const blocal = 10; Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly false -[12:01:12 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:01:13 AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/src/tsconfig.tsbuildinfo' is older than input 'src/project1/src/b.ts' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/src/tsconfig.tsbuildinfo' is older than input 'src/project1/src/b.ts' -[12:01:14 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:01:20 AM] Project 'src/project2/src/tsconfig.json' is out of date because buildinfo file 'src/project2/src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because buildinfo file 'src/project2/src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted -[12:01:21 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:8:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -1206,7 +1185,7 @@ var blocal = 10; //// [/src/project1/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-16597586570-export const a = 10;const aLocal = 10;const aa = 10;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"2355059555-export const b = 10;const bLocal = 10;const blocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true,"emitDeclarationOnly":false},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-16597586570-export const a = 10;const aLocal = 10;const aa = 10;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"2355059555-export const b = 10;const bLocal = 10;const blocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true,"emitDeclarationOnly":false},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]]},"version":"FakeTSVersion"} //// [/src/project1/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1304,16 +1283,9 @@ var blocal = 10; "./d.ts": [ "./b.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1399 + "size": 1358 } diff --git a/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-false-on-commandline-with-declaration-with-outFile.js b/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-false-on-commandline-with-declaration-with-outFile.js index adff441ad5f15..b323594036b96 100644 --- a/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-false-on-commandline-with-declaration-with-outFile.js +++ b/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-false-on-commandline-with-declaration-with-outFile.js @@ -65,17 +65,17 @@ import { b } from "b"; export const g = b; Output:: /lib/tsc --b /src/project2/src --verbose -[12:00:19 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:20 AM] Project 'src/project1/src/tsconfig.json' is out of date because output file 'src/project1/outFile.d.ts' does not exist +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output file 'src/project1/outFile.d.ts' does not exist -[12:00:21 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:00:23 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.d.ts' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.d.ts' does not exist -[12:00:24 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:9:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -163,15 +163,15 @@ Input:: Output:: /lib/tsc --b /src/project2/src --verbose -[12:00:25 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:26 AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/d.ts' is older than output 'src/project1/outFile.d.ts' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/d.ts' is older than output 'src/project1/outFile.d.ts' -[12:00:27 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.d.ts' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.d.ts' does not exist -[12:00:28 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:9:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -222,17 +222,17 @@ export const a = 10;const aLocal = 10;const aa = 10; Output:: /lib/tsc --b /src/project2/src --verbose -[12:00:30 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:31 AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/outFile.d.ts' is older than input 'src/project1/src/a.ts' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/outFile.d.ts' is older than input 'src/project1/src/a.ts' -[12:00:32 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:00:34 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.d.ts' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.d.ts' does not exist -[12:00:35 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:9:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -306,17 +306,17 @@ Input:: Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly false -[12:00:36 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:37 AM] Project 'src/project1/src/tsconfig.json' is out of date because output file 'src/project1/outFile.js' does not exist +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output file 'src/project1/outFile.js' does not exist -[12:00:38 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:00:41 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.js' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.js' does not exist -[12:00:42 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:9:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -420,15 +420,15 @@ Input:: Output:: /lib/tsc --b /src/project2/src --verbose -[12:00:43 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:44 AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/a.ts' is older than output 'src/project1/outFile.d.ts' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/a.ts' is older than output 'src/project1/outFile.d.ts' -[12:00:45 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.d.ts' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.d.ts' does not exist -[12:00:46 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:9:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -476,15 +476,15 @@ Input:: Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly false -[12:00:47 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:48 AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/a.ts' is older than output 'src/project1/outFile.js' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/a.ts' is older than output 'src/project1/outFile.js' -[12:00:49 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.js' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.js' does not exist -[12:00:50 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:9:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -535,17 +535,17 @@ export const b = 10;const bLocal = 10;const blocal = 10; Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly false -[12:00:52 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:53 AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/outFile.js' is older than input 'src/project1/src/b.ts' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/outFile.js' is older than input 'src/project1/src/b.ts' -[12:00:54 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:00:57 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.js' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.js' does not exist -[12:00:58 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:9:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. diff --git a/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-false-on-commandline-with-declaration.js b/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-false-on-commandline-with-declaration.js index 2772beda60393..d6d222378f3e3 100644 --- a/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-false-on-commandline-with-declaration.js +++ b/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-false-on-commandline-with-declaration.js @@ -61,17 +61,17 @@ import { b } from "../../project1/src/b"; export const g = b; Output:: /lib/tsc --b /src/project2/src --verbose -[12:00:19 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:20 AM] Project 'src/project1/src/tsconfig.json' is out of date because output file 'src/project1/src/a.d.ts' does not exist +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output file 'src/project1/src/a.d.ts' does not exist -[12:00:21 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:00:26 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/src/e.d.ts' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/src/e.d.ts' does not exist -[12:00:27 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:7:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -167,15 +167,15 @@ Input:: Output:: /lib/tsc --b /src/project2/src --verbose -[12:00:28 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:29 AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/d.ts' is older than output 'src/project1/src/a.d.ts' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/d.ts' is older than output 'src/project1/src/a.d.ts' -[12:00:30 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/src/e.d.ts' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/src/e.d.ts' does not exist -[12:00:31 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:7:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -225,17 +225,17 @@ export const a = 10;const aLocal = 10;const aa = 10; Output:: /lib/tsc --b /src/project2/src --verbose -[12:00:33 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:34 AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/src/a.d.ts' is older than input 'src/project1/src/a.ts' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/src/a.d.ts' is older than input 'src/project1/src/a.ts' -[12:00:35 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:00:40 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/src/e.d.ts' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/src/e.d.ts' does not exist -[12:00:41 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:7:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -319,17 +319,17 @@ Input:: Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly false -[12:00:42 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:43 AM] Project 'src/project1/src/tsconfig.json' is out of date because output file 'src/project1/src/a.js' does not exist +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output file 'src/project1/src/a.js' does not exist -[12:00:44 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:00:53 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/src/e.js' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/src/e.js' does not exist -[12:00:54 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:7:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -446,15 +446,15 @@ Input:: Output:: /lib/tsc --b /src/project2/src --verbose -[12:00:55 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:56 AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/a.ts' is older than output 'src/project1/src/a.d.ts' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/a.ts' is older than output 'src/project1/src/a.d.ts' -[12:00:57 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/src/e.d.ts' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/src/e.d.ts' does not exist -[12:00:58 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:7:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -501,15 +501,15 @@ Input:: Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly false -[12:00:59 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:01:00 AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/a.ts' is older than output 'src/project1/src/a.js' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/a.ts' is older than output 'src/project1/src/a.js' -[12:01:01 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/src/e.js' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/src/e.js' does not exist -[12:01:02 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:7:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -559,17 +559,17 @@ export const b = 10;const bLocal = 10;const blocal = 10; Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly false -[12:01:04 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:01:05 AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/src/a.js' is older than input 'src/project1/src/b.ts' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/src/a.js' is older than input 'src/project1/src/b.ts' -[12:01:06 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:01:15 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/src/e.js' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/src/e.js' does not exist -[12:01:16 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:7:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. diff --git a/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-false-on-commandline-with-outFile.js b/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-false-on-commandline-with-outFile.js index 71660c5b19958..5d3a82b3a537b 100644 --- a/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-false-on-commandline-with-outFile.js +++ b/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-false-on-commandline-with-outFile.js @@ -65,17 +65,17 @@ import { b } from "b"; export const g = b; Output:: /lib/tsc --b /src/project2/src --verbose -[12:00:19 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:20 AM] Project 'src/project1/src/tsconfig.json' is out of date because output file 'src/project1/outFile.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output file 'src/project1/outFile.tsbuildinfo' does not exist -[12:00:21 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:00:26 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.tsbuildinfo' does not exist -[12:00:27 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -326,13 +326,13 @@ Input:: Output:: /lib/tsc --b /src/project2/src --verbose -[12:00:32 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:33 AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/d.ts' is older than output 'src/project1/outFile.tsbuildinfo' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/d.ts' is older than output 'src/project1/outFile.tsbuildinfo' -[12:00:34 AM] Project 'src/project2/src/tsconfig.json' is up to date because newest input 'src/project2/src/g.ts' is older than output 'src/project2/outFile.tsbuildinfo' +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is up to date because newest input 'src/project2/src/g.ts' is older than output 'src/project2/outFile.tsbuildinfo' exitCode:: ExitStatus.Success @@ -348,17 +348,17 @@ export const a = 10;const aLocal = 10;const aa = 10; Output:: /lib/tsc --b /src/project2/src --verbose -[12:00:36 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:37 AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/outFile.tsbuildinfo' is older than input 'src/project1/src/a.ts' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/outFile.tsbuildinfo' is older than input 'src/project1/src/a.ts' -[12:00:38 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:00:42 AM] Project 'src/project2/src/tsconfig.json' is up to date with .d.ts files from its dependencies +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is up to date with .d.ts files from its dependencies -[12:00:43 AM] Updating output timestamps of project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Updating output timestamps of project '/src/project2/src/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -478,17 +478,17 @@ Input:: Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly false -[12:00:46 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:47 AM] Project 'src/project1/src/tsconfig.json' is out of date because buildinfo file 'src/project1/outFile.tsbuildinfo' indicates there is change in compilerOptions +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because buildinfo file 'src/project1/outFile.tsbuildinfo' indicates there is change in compilerOptions -[12:00:48 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:00:53 AM] Project 'src/project2/src/tsconfig.json' is out of date because buildinfo file 'src/project2/outFile.tsbuildinfo' indicates there is change in compilerOptions +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because buildinfo file 'src/project2/outFile.tsbuildinfo' indicates there is change in compilerOptions -[12:00:54 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -763,13 +763,13 @@ Input:: Output:: /lib/tsc --b /src/project2/src --verbose -[12:00:59 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:01:00 AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/a.ts' is older than output 'src/project1/outFile.tsbuildinfo' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/a.ts' is older than output 'src/project1/outFile.tsbuildinfo' -[12:01:01 AM] Project 'src/project2/src/tsconfig.json' is up to date because newest input 'src/project2/src/g.ts' is older than output 'src/project2/outFile.tsbuildinfo' +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is up to date because newest input 'src/project2/src/g.ts' is older than output 'src/project2/outFile.tsbuildinfo' exitCode:: ExitStatus.Success @@ -782,13 +782,13 @@ Input:: Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly false -[12:01:02 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:01:03 AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/a.ts' is older than output 'src/project1/outFile.tsbuildinfo' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/a.ts' is older than output 'src/project1/outFile.tsbuildinfo' -[12:01:04 AM] Project 'src/project2/src/tsconfig.json' is up to date because newest input 'src/project2/src/g.ts' is older than output 'src/project2/outFile.tsbuildinfo' +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is up to date because newest input 'src/project2/src/g.ts' is older than output 'src/project2/outFile.tsbuildinfo' exitCode:: ExitStatus.Success @@ -804,17 +804,17 @@ export const b = 10;const bLocal = 10;const blocal = 10; Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly false -[12:01:06 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:01:07 AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/outFile.tsbuildinfo' is older than input 'src/project1/src/b.ts' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/outFile.tsbuildinfo' is older than input 'src/project1/src/b.ts' -[12:01:08 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:01:13 AM] Project 'src/project2/src/tsconfig.json' is up to date with .d.ts files from its dependencies +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is up to date with .d.ts files from its dependencies -[12:01:14 AM] Updating output timestamps of project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Updating output timestamps of project '/src/project2/src/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ diff --git a/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-false-on-commandline.js b/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-false-on-commandline.js index 53b1249b5c53d..00914cd270e76 100644 --- a/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-false-on-commandline.js +++ b/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-false-on-commandline.js @@ -61,17 +61,17 @@ import { b } from "../../project1/src/b"; export const g = b; Output:: /lib/tsc --b /src/project2/src --verbose -[12:00:19 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:20 AM] Project 'src/project1/src/tsconfig.json' is out of date because output file 'src/project1/src/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output file 'src/project1/src/tsconfig.tsbuildinfo' does not exist -[12:00:21 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:00:29 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/src/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/src/tsconfig.tsbuildinfo' does not exist -[12:00:30 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -160,7 +160,7 @@ export declare const d = 10; //// [/src/project1/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18487752940-export const a = 10;const aLocal = 10;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true,"emitDeclarationOnly":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5],"latestChangedDtsFile":"./d.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18487752940-export const a = 10;const aLocal = 10;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true,"emitDeclarationOnly":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./d.d.ts"},"version":"FakeTSVersion"} //// [/src/project1/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -259,17 +259,10 @@ export declare const d = 10; "./b.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ], "latestChangedDtsFile": "./d.d.ts" }, "version": "FakeTSVersion", - "size": 1399 + "size": 1358 } //// [/src/project2/src/e.d.ts] @@ -285,7 +278,7 @@ export declare const g = 10; //// [/src/project2/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../lib/lib.d.ts","./e.ts","../../project1/src/a.d.ts","./f.ts","../../project1/src/b.d.ts","./g.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-13789510868-export const e = 10;","signature":"-4822840506-export declare const e = 10;\n","impliedFormat":1},{"version":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-2015135303-import { a } from \"../../project1/src/a\"; export const f = a;","signature":"-5154070489-export declare const f = 10;\n","impliedFormat":1},{"version":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"-2047954019-import { b } from \"../../project1/src/b\"; export const g = b;","signature":"-5485300472-export declare const g = 10;\n","impliedFormat":1}],"root":[2,4,6],"options":{"composite":true,"emitDeclarationOnly":true},"fileIdsList":[[3],[5]],"referencedMap":[[4,1],[6,2]],"semanticDiagnosticsPerFile":[1,3,5,2,4,6],"latestChangedDtsFile":"./g.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../lib/lib.d.ts","./e.ts","../../project1/src/a.d.ts","./f.ts","../../project1/src/b.d.ts","./g.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-13789510868-export const e = 10;","signature":"-4822840506-export declare const e = 10;\n","impliedFormat":1},{"version":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-2015135303-import { a } from \"../../project1/src/a\"; export const f = a;","signature":"-5154070489-export declare const f = 10;\n","impliedFormat":1},{"version":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"-2047954019-import { b } from \"../../project1/src/b\"; export const g = b;","signature":"-5485300472-export declare const g = 10;\n","impliedFormat":1}],"root":[2,4,6],"options":{"composite":true,"emitDeclarationOnly":true},"fileIdsList":[[3],[5]],"referencedMap":[[4,1],[6,2]],"latestChangedDtsFile":"./g.d.ts"},"version":"FakeTSVersion"} //// [/src/project2/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -393,18 +386,10 @@ export declare const g = 10; "../../project1/src/b.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "../../project1/src/a.d.ts", - "../../project1/src/b.d.ts", - "./e.ts", - "./f.ts", - "./g.ts" - ], "latestChangedDtsFile": "./g.d.ts" }, "version": "FakeTSVersion", - "size": 1476 + "size": 1433 } @@ -415,13 +400,13 @@ Input:: Output:: /lib/tsc --b /src/project2/src --verbose -[12:00:37 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:38 AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/d.ts' is older than output 'src/project1/src/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/d.ts' is older than output 'src/project1/src/tsconfig.tsbuildinfo' -[12:00:39 AM] Project 'src/project2/src/tsconfig.json' is up to date because newest input 'src/project2/src/g.ts' is older than output 'src/project2/src/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is up to date because newest input 'src/project2/src/g.ts' is older than output 'src/project2/src/tsconfig.tsbuildinfo' exitCode:: ExitStatus.Success @@ -437,17 +422,17 @@ export const a = 10;const aLocal = 10;const aa = 10; Output:: /lib/tsc --b /src/project2/src --verbose -[12:00:41 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:42 AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/src/tsconfig.tsbuildinfo' is older than input 'src/project1/src/a.ts' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/src/tsconfig.tsbuildinfo' is older than input 'src/project1/src/a.ts' -[12:00:43 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:00:47 AM] Project 'src/project2/src/tsconfig.json' is up to date with .d.ts files from its dependencies +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is up to date with .d.ts files from its dependencies -[12:00:48 AM] Updating output timestamps of project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Updating output timestamps of project '/src/project2/src/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -477,7 +462,7 @@ Shape signatures in builder refreshed for:: //// [/src/project1/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-16597586570-export const a = 10;const aLocal = 10;const aa = 10;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true,"emitDeclarationOnly":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5],"latestChangedDtsFile":"./d.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-16597586570-export const a = 10;const aLocal = 10;const aa = 10;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true,"emitDeclarationOnly":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./d.d.ts"},"version":"FakeTSVersion"} //// [/src/project1/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -576,17 +561,10 @@ Shape signatures in builder refreshed for:: "./b.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ], "latestChangedDtsFile": "./d.d.ts" }, "version": "FakeTSVersion", - "size": 1413 + "size": 1372 } //// [/src/project2/src/tsconfig.tsbuildinfo] file changed its modified time @@ -598,17 +576,17 @@ Input:: Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly false -[12:00:51 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:52 AM] Project 'src/project1/src/tsconfig.json' is out of date because buildinfo file 'src/project1/src/tsconfig.tsbuildinfo' indicates there is change in compilerOptions +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because buildinfo file 'src/project1/src/tsconfig.tsbuildinfo' indicates there is change in compilerOptions -[12:00:53 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:01:01 AM] Project 'src/project2/src/tsconfig.json' is out of date because buildinfo file 'src/project2/src/tsconfig.tsbuildinfo' indicates there is change in compilerOptions +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because buildinfo file 'src/project2/src/tsconfig.tsbuildinfo' indicates there is change in compilerOptions -[12:01:02 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -692,7 +670,7 @@ exports.d = b_1.b; //// [/src/project1/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-16597586570-export const a = 10;const aLocal = 10;const aa = 10;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true,"emitDeclarationOnly":false},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5],"latestChangedDtsFile":"./d.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-16597586570-export const a = 10;const aLocal = 10;const aa = 10;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true,"emitDeclarationOnly":false},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./d.d.ts"},"version":"FakeTSVersion"} //// [/src/project1/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -791,17 +769,10 @@ exports.d = b_1.b; "./b.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ], "latestChangedDtsFile": "./d.d.ts" }, "version": "FakeTSVersion", - "size": 1414 + "size": 1373 } //// [/src/project2/src/e.js] @@ -828,7 +799,7 @@ exports.g = b_1.b; //// [/src/project2/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../lib/lib.d.ts","./e.ts","../../project1/src/a.d.ts","./f.ts","../../project1/src/b.d.ts","./g.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-13789510868-export const e = 10;","signature":"-4822840506-export declare const e = 10;\n","impliedFormat":1},{"version":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-2015135303-import { a } from \"../../project1/src/a\"; export const f = a;","signature":"-5154070489-export declare const f = 10;\n","impliedFormat":1},{"version":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"-2047954019-import { b } from \"../../project1/src/b\"; export const g = b;","signature":"-5485300472-export declare const g = 10;\n","impliedFormat":1}],"root":[2,4,6],"options":{"composite":true,"emitDeclarationOnly":false},"fileIdsList":[[3],[5]],"referencedMap":[[4,1],[6,2]],"semanticDiagnosticsPerFile":[1,3,5,2,4,6],"latestChangedDtsFile":"./g.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../lib/lib.d.ts","./e.ts","../../project1/src/a.d.ts","./f.ts","../../project1/src/b.d.ts","./g.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-13789510868-export const e = 10;","signature":"-4822840506-export declare const e = 10;\n","impliedFormat":1},{"version":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-2015135303-import { a } from \"../../project1/src/a\"; export const f = a;","signature":"-5154070489-export declare const f = 10;\n","impliedFormat":1},{"version":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"-2047954019-import { b } from \"../../project1/src/b\"; export const g = b;","signature":"-5485300472-export declare const g = 10;\n","impliedFormat":1}],"root":[2,4,6],"options":{"composite":true,"emitDeclarationOnly":false},"fileIdsList":[[3],[5]],"referencedMap":[[4,1],[6,2]],"latestChangedDtsFile":"./g.d.ts"},"version":"FakeTSVersion"} //// [/src/project2/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -936,18 +907,10 @@ exports.g = b_1.b; "../../project1/src/b.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "../../project1/src/a.d.ts", - "../../project1/src/b.d.ts", - "./e.ts", - "./f.ts", - "./g.ts" - ], "latestChangedDtsFile": "./g.d.ts" }, "version": "FakeTSVersion", - "size": 1477 + "size": 1434 } @@ -958,13 +921,13 @@ Input:: Output:: /lib/tsc --b /src/project2/src --verbose -[12:01:09 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:01:10 AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/a.ts' is older than output 'src/project1/src/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/a.ts' is older than output 'src/project1/src/tsconfig.tsbuildinfo' -[12:01:11 AM] Project 'src/project2/src/tsconfig.json' is up to date because newest input 'src/project2/src/g.ts' is older than output 'src/project2/src/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is up to date because newest input 'src/project2/src/g.ts' is older than output 'src/project2/src/tsconfig.tsbuildinfo' exitCode:: ExitStatus.Success @@ -977,13 +940,13 @@ Input:: Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly false -[12:01:12 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:01:13 AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/a.ts' is older than output 'src/project1/src/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/a.ts' is older than output 'src/project1/src/tsconfig.tsbuildinfo' -[12:01:14 AM] Project 'src/project2/src/tsconfig.json' is up to date because newest input 'src/project2/src/g.ts' is older than output 'src/project2/src/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is up to date because newest input 'src/project2/src/g.ts' is older than output 'src/project2/src/tsconfig.tsbuildinfo' exitCode:: ExitStatus.Success @@ -999,17 +962,17 @@ export const b = 10;const bLocal = 10;const blocal = 10; Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly false -[12:01:16 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:01:17 AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/src/tsconfig.tsbuildinfo' is older than input 'src/project1/src/b.ts' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/src/tsconfig.tsbuildinfo' is older than input 'src/project1/src/b.ts' -[12:01:18 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:01:23 AM] Project 'src/project2/src/tsconfig.json' is up to date with .d.ts files from its dependencies +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is up to date with .d.ts files from its dependencies -[12:01:24 AM] Updating output timestamps of project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Updating output timestamps of project '/src/project2/src/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -1048,7 +1011,7 @@ var blocal = 10; //// [/src/project1/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-16597586570-export const a = 10;const aLocal = 10;const aa = 10;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"2355059555-export const b = 10;const bLocal = 10;const blocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true,"emitDeclarationOnly":false},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5],"latestChangedDtsFile":"./d.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-16597586570-export const a = 10;const aLocal = 10;const aa = 10;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"2355059555-export const b = 10;const bLocal = 10;const blocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true,"emitDeclarationOnly":false},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./d.d.ts"},"version":"FakeTSVersion"} //// [/src/project1/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1147,17 +1110,10 @@ var blocal = 10; "./b.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ], "latestChangedDtsFile": "./d.d.ts" }, "version": "FakeTSVersion", - "size": 1431 + "size": 1390 } //// [/src/project2/src/tsconfig.tsbuildinfo] file changed its modified time diff --git a/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-on-commandline-discrepancies.js b/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-on-commandline-discrepancies.js index 32b06b98df959..80ac0f549dd8c 100644 --- a/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-on-commandline-discrepancies.js +++ b/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-on-commandline-discrepancies.js @@ -54,13 +54,6 @@ CleanBuild: "./b.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ], "latestChangedDtsFile": "FakeFileName" }, "version": "FakeTSVersion" @@ -116,13 +109,6 @@ IncrementalBuild: "./b.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ], "latestChangedDtsFile": "FakeFileName" }, "version": "FakeTSVersion" @@ -184,14 +170,6 @@ CleanBuild: "../../project1/src/b.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "../../project1/src/a.d.ts", - "../../project1/src/b.d.ts", - "./e.ts", - "./f.ts", - "./g.ts" - ], "latestChangedDtsFile": "FakeFileName" }, "version": "FakeTSVersion" @@ -251,14 +229,6 @@ IncrementalBuild: "../../project1/src/b.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "../../project1/src/a.d.ts", - "../../project1/src/b.d.ts", - "./e.ts", - "./f.ts", - "./g.ts" - ], "latestChangedDtsFile": "FakeFileName" }, "version": "FakeTSVersion" @@ -323,14 +293,6 @@ CleanBuild: "../../project1/src/b.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "../../project1/src/a.d.ts", - "../../project1/src/b.d.ts", - "./e.ts", - "./f.ts", - "./g.ts" - ], "latestChangedDtsFile": "FakeFileName" }, "version": "FakeTSVersion" @@ -390,14 +352,6 @@ IncrementalBuild: "../../project1/src/b.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "../../project1/src/a.d.ts", - "../../project1/src/b.d.ts", - "./e.ts", - "./f.ts", - "./g.ts" - ], "latestChangedDtsFile": "FakeFileName" }, "version": "FakeTSVersion" diff --git a/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-on-commandline-with-declaration-and-incremental-discrepancies.js b/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-on-commandline-with-declaration-and-incremental-discrepancies.js index 84a50b0823c06..7647f2c5e41f5 100644 --- a/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-on-commandline-with-declaration-and-incremental-discrepancies.js +++ b/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-on-commandline-with-declaration-and-incremental-discrepancies.js @@ -53,14 +53,7 @@ CleanBuild: "./d.ts": [ "./b.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ] + } }, "version": "FakeTSVersion" } @@ -114,14 +107,7 @@ IncrementalBuild: "./d.ts": [ "./b.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ] + } }, "version": "FakeTSVersion" } diff --git a/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-on-commandline-with-declaration-and-incremental-with-outFile.js b/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-on-commandline-with-declaration-and-incremental-with-outFile.js index 0eeaa0f454b3b..6bb6c287b0d03 100644 --- a/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-on-commandline-with-declaration-and-incremental-with-outFile.js +++ b/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-on-commandline-with-declaration-and-incremental-with-outFile.js @@ -65,17 +65,17 @@ import { b } from "b"; export const g = b; Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly -[12:00:19 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:20 AM] Project 'src/project1/src/tsconfig.json' is out of date because output file 'src/project1/outFile.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output file 'src/project1/outFile.tsbuildinfo' does not exist -[12:00:21 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:00:26 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.tsbuildinfo' does not exist -[12:00:27 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:9:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -245,15 +245,15 @@ Input:: Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly -[12:00:28 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:29 AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/d.ts' is older than output 'src/project1/outFile.tsbuildinfo' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/d.ts' is older than output 'src/project1/outFile.tsbuildinfo' -[12:00:30 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.tsbuildinfo' does not exist -[12:00:31 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:9:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -305,17 +305,17 @@ export const a = 10;const aLocal = 10;const aa = 10; Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly -[12:00:33 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:34 AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/outFile.tsbuildinfo' is older than input 'src/project1/src/a.ts' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/outFile.tsbuildinfo' is older than input 'src/project1/src/a.ts' -[12:00:35 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:00:40 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.tsbuildinfo' does not exist -[12:00:41 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:9:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -474,17 +474,17 @@ export const a = 10;const aLocal = 10;const aa = 10;export const aaa = 10; Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly -[12:00:43 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:44 AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/outFile.tsbuildinfo' is older than input 'src/project1/src/a.ts' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/outFile.tsbuildinfo' is older than input 'src/project1/src/a.ts' -[12:00:45 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:00:50 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.tsbuildinfo' does not exist -[12:00:51 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:9:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -655,17 +655,17 @@ Input:: Output:: /lib/tsc --b /src/project2/src --verbose -[12:00:52 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:53 AM] Project 'src/project1/src/tsconfig.json' is out of date because buildinfo file 'src/project1/outFile.tsbuildinfo' indicates there is change in compilerOptions +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because buildinfo file 'src/project1/outFile.tsbuildinfo' indicates there is change in compilerOptions -[12:00:54 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:00:59 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.tsbuildinfo' does not exist -[12:01:00 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:9:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -848,15 +848,15 @@ Input:: Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly -[12:01:01 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:01:02 AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/a.ts' is older than output 'src/project1/outFile.tsbuildinfo' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/a.ts' is older than output 'src/project1/outFile.tsbuildinfo' -[12:01:03 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.tsbuildinfo' does not exist -[12:01:04 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:9:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -908,17 +908,17 @@ export const b = 10;const bLocal = 10;const alocal = 10; Output:: /lib/tsc --b /src/project2/src --verbose -[12:01:06 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:01:07 AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/outFile.tsbuildinfo' is older than input 'src/project1/src/b.ts' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/outFile.tsbuildinfo' is older than input 'src/project1/src/b.ts' -[12:01:08 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:01:14 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.tsbuildinfo' does not exist -[12:01:15 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:9:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -1106,17 +1106,17 @@ export const b = 10;const bLocal = 10;const alocal = 10;const aaaa = 10; Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly -[12:01:17 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:01:18 AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/outFile.tsbuildinfo' is older than input 'src/project1/src/b.ts' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/outFile.tsbuildinfo' is older than input 'src/project1/src/b.ts' -[12:01:19 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:01:24 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.tsbuildinfo' does not exist -[12:01:25 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:9:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -1275,17 +1275,17 @@ export const b = 10;const bLocal = 10;const alocal = 10;const aaaa = 10;export c Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly -[12:01:27 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:01:28 AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/outFile.tsbuildinfo' is older than input 'src/project1/src/b.ts' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/outFile.tsbuildinfo' is older than input 'src/project1/src/b.ts' -[12:01:29 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:01:34 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.tsbuildinfo' does not exist -[12:01:35 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:9:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -1460,17 +1460,17 @@ export const b = 10;const bLocal = 10;const alocal = 10;const aaaa = 10;export c Output:: /lib/tsc --b /src/project2/src --verbose -[12:01:37 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:01:38 AM] Project 'src/project1/src/tsconfig.json' is out of date because buildinfo file 'src/project1/outFile.tsbuildinfo' indicates there is change in compilerOptions +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because buildinfo file 'src/project1/outFile.tsbuildinfo' indicates there is change in compilerOptions -[12:01:39 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:01:45 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.tsbuildinfo' does not exist -[12:01:46 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:9:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. diff --git a/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-on-commandline-with-declaration-and-incremental.js b/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-on-commandline-with-declaration-and-incremental.js index 826fcd17624d3..42f18aa60d680 100644 --- a/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-on-commandline-with-declaration-and-incremental.js +++ b/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-on-commandline-with-declaration-and-incremental.js @@ -61,17 +61,17 @@ import { b } from "../../project1/src/b"; export const g = b; Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly -[12:00:19 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:20 AM] Project 'src/project1/src/tsconfig.json' is out of date because output file 'src/project1/src/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output file 'src/project1/src/tsconfig.tsbuildinfo' does not exist -[12:00:21 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:00:29 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/src/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/src/tsconfig.tsbuildinfo' does not exist -[12:00:30 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:7:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -162,7 +162,7 @@ export declare const d = 10; //// [/src/project1/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18487752940-export const a = 10;const aLocal = 10;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true,"emitDeclarationOnly":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18487752940-export const a = 10;const aLocal = 10;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true,"emitDeclarationOnly":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]]},"version":"FakeTSVersion"} //// [/src/project1/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -260,17 +260,10 @@ export declare const d = 10; "./d.ts": [ "./b.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1367 + "size": 1326 } //// [/src/project2/src/tsconfig.tsbuildinfo] @@ -400,15 +393,15 @@ Input:: Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly -[12:00:34 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:35 AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/d.ts' is older than output 'src/project1/src/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/d.ts' is older than output 'src/project1/src/tsconfig.tsbuildinfo' -[12:00:36 AM] Project 'src/project2/src/tsconfig.json' is out of date because buildinfo file 'src/project2/src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because buildinfo file 'src/project2/src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted -[12:00:37 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:7:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -459,17 +452,17 @@ export const a = 10;const aLocal = 10;const aa = 10; Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly -[12:00:39 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:40 AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/src/tsconfig.tsbuildinfo' is older than input 'src/project1/src/a.ts' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/src/tsconfig.tsbuildinfo' is older than input 'src/project1/src/a.ts' -[12:00:41 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:00:46 AM] Project 'src/project2/src/tsconfig.json' is out of date because buildinfo file 'src/project2/src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because buildinfo file 'src/project2/src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted -[12:00:47 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:7:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -537,7 +530,7 @@ No shapes updated in the builder:: //// [/src/project1/src/a.d.ts] file written with same contents //// [/src/project1/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-16597586570-export const a = 10;const aLocal = 10;const aa = 10;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true,"emitDeclarationOnly":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-16597586570-export const a = 10;const aLocal = 10;const aa = 10;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true,"emitDeclarationOnly":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]]},"version":"FakeTSVersion"} //// [/src/project1/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -635,17 +628,10 @@ No shapes updated in the builder:: "./d.ts": [ "./b.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1381 + "size": 1340 } @@ -659,17 +645,17 @@ export const a = 10;const aLocal = 10;const aa = 10;export const aaa = 10; Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly -[12:00:49 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:50 AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/src/tsconfig.tsbuildinfo' is older than input 'src/project1/src/a.ts' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/src/tsconfig.tsbuildinfo' is older than input 'src/project1/src/a.ts' -[12:00:51 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:00:57 AM] Project 'src/project2/src/tsconfig.json' is out of date because buildinfo file 'src/project2/src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because buildinfo file 'src/project2/src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted -[12:00:58 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:7:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -744,7 +730,7 @@ export declare const aaa = 10; //// [/src/project1/src/c.d.ts] file written with same contents //// [/src/project1/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-6435489413-export const a = 10;const aLocal = 10;const aa = 10;export const aaa = 10;","signature":"-1973399231-export declare const a = 10;\nexport declare const aaa = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true,"emitDeclarationOnly":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-6435489413-export const a = 10;const aLocal = 10;const aa = 10;export const aaa = 10;","signature":"-1973399231-export declare const a = 10;\nexport declare const aaa = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true,"emitDeclarationOnly":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]]},"version":"FakeTSVersion"} //// [/src/project1/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -842,17 +828,10 @@ export declare const aaa = 10; "./d.ts": [ "./b.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1434 + "size": 1393 } //// [/src/project2/src/tsconfig.tsbuildinfo] @@ -982,17 +961,17 @@ Input:: Output:: /lib/tsc --b /src/project2/src --verbose -[12:01:02 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:01:03 AM] Project 'src/project1/src/tsconfig.json' is out of date because buildinfo file 'src/project1/src/tsconfig.tsbuildinfo' indicates there is change in compilerOptions +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because buildinfo file 'src/project1/src/tsconfig.tsbuildinfo' indicates there is change in compilerOptions -[12:01:04 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:01:12 AM] Project 'src/project2/src/tsconfig.json' is out of date because buildinfo file 'src/project2/src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because buildinfo file 'src/project2/src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted -[12:01:13 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:7:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -1089,7 +1068,7 @@ exports.d = b_1.b; //// [/src/project1/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-6435489413-export const a = 10;const aLocal = 10;const aa = 10;export const aaa = 10;","signature":"-1973399231-export declare const a = 10;\nexport declare const aaa = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-6435489413-export const a = 10;const aLocal = 10;const aa = 10;export const aaa = 10;","signature":"-1973399231-export declare const a = 10;\nexport declare const aaa = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]]},"version":"FakeTSVersion"} //// [/src/project1/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1186,17 +1165,10 @@ exports.d = b_1.b; "./d.ts": [ "./b.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1407 + "size": 1366 } //// [/src/project2/src/tsconfig.tsbuildinfo] @@ -1325,15 +1297,15 @@ Input:: Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly -[12:01:17 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:01:18 AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/a.ts' is older than output 'src/project1/src/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/a.ts' is older than output 'src/project1/src/tsconfig.tsbuildinfo' -[12:01:19 AM] Project 'src/project2/src/tsconfig.json' is out of date because buildinfo file 'src/project2/src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because buildinfo file 'src/project2/src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted -[12:01:20 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:7:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -1384,17 +1356,17 @@ export const b = 10;const bLocal = 10;const alocal = 10; Output:: /lib/tsc --b /src/project2/src --verbose -[12:01:22 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:01:23 AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/src/tsconfig.tsbuildinfo' is older than input 'src/project1/src/b.ts' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/src/tsconfig.tsbuildinfo' is older than input 'src/project1/src/b.ts' -[12:01:24 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:01:30 AM] Project 'src/project2/src/tsconfig.json' is out of date because buildinfo file 'src/project2/src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because buildinfo file 'src/project2/src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted -[12:01:31 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:7:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -1469,7 +1441,7 @@ var alocal = 10; //// [/src/project1/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-6435489413-export const a = 10;const aLocal = 10;const aa = 10;export const aaa = 10;","signature":"-1973399231-export declare const a = 10;\nexport declare const aaa = 10;\n","impliedFormat":1},{"version":"-2761163262-export const b = 10;const bLocal = 10;const alocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-6435489413-export const a = 10;const aLocal = 10;const aa = 10;export const aaa = 10;","signature":"-1973399231-export declare const a = 10;\nexport declare const aaa = 10;\n","impliedFormat":1},{"version":"-2761163262-export const b = 10;const bLocal = 10;const alocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]]},"version":"FakeTSVersion"} //// [/src/project1/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1566,17 +1538,10 @@ var alocal = 10; "./d.ts": [ "./b.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1425 + "size": 1384 } @@ -1590,17 +1555,17 @@ export const b = 10;const bLocal = 10;const alocal = 10;const aaaa = 10; Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly -[12:01:33 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:01:34 AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/src/tsconfig.tsbuildinfo' is older than input 'src/project1/src/b.ts' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/src/tsconfig.tsbuildinfo' is older than input 'src/project1/src/b.ts' -[12:01:35 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:01:40 AM] Project 'src/project2/src/tsconfig.json' is out of date because buildinfo file 'src/project2/src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because buildinfo file 'src/project2/src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted -[12:01:41 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:7:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -1668,7 +1633,7 @@ No shapes updated in the builder:: //// [/src/project1/src/b.d.ts] file written with same contents //// [/src/project1/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-6435489413-export const a = 10;const aLocal = 10;const aa = 10;export const aaa = 10;","signature":"-1973399231-export declare const a = 10;\nexport declare const aaa = 10;\n","impliedFormat":1},{"version":"-3037017594-export const b = 10;const bLocal = 10;const alocal = 10;const aaaa = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true,"emitDeclarationOnly":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-6435489413-export const a = 10;const aLocal = 10;const aa = 10;export const aaa = 10;","signature":"-1973399231-export declare const a = 10;\nexport declare const aaa = 10;\n","impliedFormat":1},{"version":"-3037017594-export const b = 10;const bLocal = 10;const alocal = 10;const aaaa = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true,"emitDeclarationOnly":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]]},"version":"FakeTSVersion"} //// [/src/project1/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1766,17 +1731,10 @@ No shapes updated in the builder:: "./d.ts": [ "./b.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1468 + "size": 1427 } @@ -1790,17 +1748,17 @@ export const b = 10;const bLocal = 10;const alocal = 10;const aaaa = 10;export c Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly -[12:01:43 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:01:44 AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/src/tsconfig.tsbuildinfo' is older than input 'src/project1/src/b.ts' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/src/tsconfig.tsbuildinfo' is older than input 'src/project1/src/b.ts' -[12:01:45 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:01:51 AM] Project 'src/project2/src/tsconfig.json' is out of date because buildinfo file 'src/project2/src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because buildinfo file 'src/project2/src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted -[12:01:52 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:7:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -1875,7 +1833,7 @@ export declare const aaaaa = 10; //// [/src/project1/src/d.d.ts] file written with same contents //// [/src/project1/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-6435489413-export const a = 10;const aLocal = 10;const aa = 10;export const aaa = 10;","signature":"-1973399231-export declare const a = 10;\nexport declare const aaa = 10;\n","impliedFormat":1},{"version":"-7233149715-export const b = 10;const bLocal = 10;const alocal = 10;const aaaa = 10;export const aaaaa = 10;","signature":"2661550180-export declare const b = 10;\nexport declare const aaaaa = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true,"emitDeclarationOnly":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-6435489413-export const a = 10;const aLocal = 10;const aa = 10;export const aaa = 10;","signature":"-1973399231-export declare const a = 10;\nexport declare const aaa = 10;\n","impliedFormat":1},{"version":"-7233149715-export const b = 10;const bLocal = 10;const alocal = 10;const aaaa = 10;export const aaaaa = 10;","signature":"2661550180-export declare const b = 10;\nexport declare const aaaaa = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true,"emitDeclarationOnly":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]]},"version":"FakeTSVersion"} //// [/src/project1/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1973,17 +1931,10 @@ export declare const aaaaa = 10; "./d.ts": [ "./b.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1525 + "size": 1484 } //// [/src/project2/src/tsconfig.tsbuildinfo] @@ -2116,17 +2067,17 @@ export const b = 10;const bLocal = 10;const alocal = 10;const aaaa = 10;export c Output:: /lib/tsc --b /src/project2/src --verbose -[12:01:57 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:01:58 AM] Project 'src/project1/src/tsconfig.json' is out of date because buildinfo file 'src/project1/src/tsconfig.tsbuildinfo' indicates there is change in compilerOptions +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because buildinfo file 'src/project1/src/tsconfig.tsbuildinfo' indicates there is change in compilerOptions -[12:01:59 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:02:09 AM] Project 'src/project2/src/tsconfig.json' is out of date because buildinfo file 'src/project2/src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because buildinfo file 'src/project2/src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted -[12:02:10 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:7:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -2215,7 +2166,7 @@ exports.a2 = 10; //// [/src/project1/src/d.d.ts] file written with same contents //// [/src/project1/src/d.js] file written with same contents //// [/src/project1/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-6435489413-export const a = 10;const aLocal = 10;const aa = 10;export const aaa = 10;","signature":"-1973399231-export declare const a = 10;\nexport declare const aaa = 10;\n","impliedFormat":1},{"version":"-18124257118-export const b = 10;const bLocal = 10;const alocal = 10;const aaaa = 10;export const aaaaa = 10;export const a2 = 10;","signature":"-2237944013-export declare const b = 10;\nexport declare const aaaaa = 10;\nexport declare const a2 = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-6435489413-export const a = 10;const aLocal = 10;const aa = 10;export const aaa = 10;","signature":"-1973399231-export declare const a = 10;\nexport declare const aaa = 10;\n","impliedFormat":1},{"version":"-18124257118-export const b = 10;const bLocal = 10;const alocal = 10;const aaaa = 10;export const aaaaa = 10;export const a2 = 10;","signature":"-2237944013-export declare const b = 10;\nexport declare const aaaaa = 10;\nexport declare const a2 = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]]},"version":"FakeTSVersion"} //// [/src/project1/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -2312,17 +2263,10 @@ exports.a2 = 10; "./d.ts": [ "./b.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1552 + "size": 1511 } //// [/src/project2/src/tsconfig.tsbuildinfo] diff --git a/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-on-commandline-with-declaration-with-outFile.js b/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-on-commandline-with-declaration-with-outFile.js index 2515db0e31618..027c78cc65729 100644 --- a/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-on-commandline-with-declaration-with-outFile.js +++ b/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-on-commandline-with-declaration-with-outFile.js @@ -63,17 +63,17 @@ import { b } from "b"; export const g = b; Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly -[12:00:19 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:20 AM] Project 'src/project1/src/tsconfig.json' is out of date because output file 'src/project1/outFile.d.ts' does not exist +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output file 'src/project1/outFile.d.ts' does not exist -[12:00:21 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:00:23 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.d.ts' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.d.ts' does not exist -[12:00:24 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:8:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -161,15 +161,15 @@ Input:: Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly -[12:00:25 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:26 AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/d.ts' is older than output 'src/project1/outFile.d.ts' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/d.ts' is older than output 'src/project1/outFile.d.ts' -[12:00:27 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.d.ts' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.d.ts' does not exist -[12:00:28 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:8:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -220,17 +220,17 @@ export const a = 10;const aLocal = 10;const aa = 10; Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly -[12:00:30 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:31 AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/outFile.d.ts' is older than input 'src/project1/src/a.ts' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/outFile.d.ts' is older than input 'src/project1/src/a.ts' -[12:00:32 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:00:34 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.d.ts' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.d.ts' does not exist -[12:00:35 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:8:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -307,17 +307,17 @@ export const a = 10;const aLocal = 10;const aa = 10;export const aaa = 10; Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly -[12:00:37 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:38 AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/outFile.d.ts' is older than input 'src/project1/src/a.ts' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/outFile.d.ts' is older than input 'src/project1/src/a.ts' -[12:00:39 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:00:41 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.d.ts' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.d.ts' does not exist -[12:00:42 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:8:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -406,17 +406,17 @@ Input:: Output:: /lib/tsc --b /src/project2/src --verbose -[12:00:43 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:44 AM] Project 'src/project1/src/tsconfig.json' is out of date because output file 'src/project1/outFile.js' does not exist +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output file 'src/project1/outFile.js' does not exist -[12:00:45 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:00:48 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.js' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.js' does not exist -[12:00:49 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:8:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -519,15 +519,15 @@ Input:: Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly -[12:00:50 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:51 AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/a.ts' is older than output 'src/project1/outFile.d.ts' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/a.ts' is older than output 'src/project1/outFile.d.ts' -[12:00:52 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.d.ts' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.d.ts' does not exist -[12:00:53 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:8:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -578,17 +578,17 @@ export const b = 10;const bLocal = 10;const alocal = 10; Output:: /lib/tsc --b /src/project2/src --verbose -[12:00:55 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:56 AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/outFile.js' is older than input 'src/project1/src/b.ts' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/outFile.js' is older than input 'src/project1/src/b.ts' -[12:00:57 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:01:00 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.js' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.js' does not exist -[12:01:01 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:8:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -695,17 +695,17 @@ export const b = 10;const bLocal = 10;const alocal = 10;const aaaa = 10; Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly -[12:01:03 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:01:04 AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/outFile.d.ts' is older than input 'src/project1/src/b.ts' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/outFile.d.ts' is older than input 'src/project1/src/b.ts' -[12:01:05 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:01:07 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.d.ts' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.d.ts' does not exist -[12:01:08 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:8:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -782,17 +782,17 @@ export const b = 10;const bLocal = 10;const alocal = 10;const aaaa = 10;export c Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly -[12:01:10 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:01:11 AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/outFile.d.ts' is older than input 'src/project1/src/b.ts' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/outFile.d.ts' is older than input 'src/project1/src/b.ts' -[12:01:12 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:01:14 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.d.ts' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.d.ts' does not exist -[12:01:15 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:8:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -885,17 +885,17 @@ export const b = 10;const bLocal = 10;const alocal = 10;const aaaa = 10;export c Output:: /lib/tsc --b /src/project2/src --verbose -[12:01:17 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:01:18 AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/outFile.js' is older than input 'src/project1/src/b.ts' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/outFile.js' is older than input 'src/project1/src/b.ts' -[12:01:19 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:01:22 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.js' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.js' does not exist -[12:01:23 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:8:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. diff --git a/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-on-commandline-with-declaration.js b/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-on-commandline-with-declaration.js index 1cc2245f28736..063915c2626b4 100644 --- a/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-on-commandline-with-declaration.js +++ b/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-on-commandline-with-declaration.js @@ -59,17 +59,17 @@ import { b } from "../../project1/src/b"; export const g = b; Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly -[12:00:19 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:20 AM] Project 'src/project1/src/tsconfig.json' is out of date because output file 'src/project1/src/a.d.ts' does not exist +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output file 'src/project1/src/a.d.ts' does not exist -[12:00:21 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:00:26 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/src/e.d.ts' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/src/e.d.ts' does not exist -[12:00:27 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:6:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -165,15 +165,15 @@ Input:: Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly -[12:00:28 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:29 AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/d.ts' is older than output 'src/project1/src/a.d.ts' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/d.ts' is older than output 'src/project1/src/a.d.ts' -[12:00:30 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/src/e.d.ts' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/src/e.d.ts' does not exist -[12:00:31 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:6:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -223,17 +223,17 @@ export const a = 10;const aLocal = 10;const aa = 10; Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly -[12:00:33 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:34 AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/src/a.d.ts' is older than input 'src/project1/src/a.ts' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/src/a.d.ts' is older than input 'src/project1/src/a.ts' -[12:00:35 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:00:40 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/src/e.d.ts' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/src/e.d.ts' does not exist -[12:00:41 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:6:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -320,17 +320,17 @@ export const a = 10;const aLocal = 10;const aa = 10;export const aaa = 10; Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly -[12:00:43 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:44 AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/src/a.d.ts' is older than input 'src/project1/src/a.ts' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/src/a.d.ts' is older than input 'src/project1/src/a.ts' -[12:00:45 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:00:50 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/src/e.d.ts' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/src/e.d.ts' does not exist -[12:00:51 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:6:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -418,17 +418,17 @@ Input:: Output:: /lib/tsc --b /src/project2/src --verbose -[12:00:52 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:53 AM] Project 'src/project1/src/tsconfig.json' is out of date because output file 'src/project1/src/a.js' does not exist +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output file 'src/project1/src/a.js' does not exist -[12:00:54 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:01:03 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/src/e.js' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/src/e.js' does not exist -[12:01:04 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:6:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -544,15 +544,15 @@ Input:: Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly -[12:01:05 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:01:06 AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/a.ts' is older than output 'src/project1/src/a.d.ts' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/a.ts' is older than output 'src/project1/src/a.d.ts' -[12:01:07 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/src/e.d.ts' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/src/e.d.ts' does not exist -[12:01:08 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:6:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -602,17 +602,17 @@ export const b = 10;const bLocal = 10;const alocal = 10; Output:: /lib/tsc --b /src/project2/src --verbose -[12:01:10 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:01:11 AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/src/a.js' is older than input 'src/project1/src/b.ts' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/src/a.js' is older than input 'src/project1/src/b.ts' -[12:01:12 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:01:21 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/src/e.js' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/src/e.js' does not exist -[12:01:22 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:6:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -709,17 +709,17 @@ export const b = 10;const bLocal = 10;const alocal = 10;const aaaa = 10; Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly -[12:01:24 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:01:25 AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/src/a.d.ts' is older than input 'src/project1/src/b.ts' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/src/a.d.ts' is older than input 'src/project1/src/b.ts' -[12:01:26 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:01:31 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/src/e.d.ts' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/src/e.d.ts' does not exist -[12:01:32 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:6:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -806,17 +806,17 @@ export const b = 10;const bLocal = 10;const alocal = 10;const aaaa = 10;export c Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly -[12:01:34 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:01:35 AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/src/a.d.ts' is older than input 'src/project1/src/b.ts' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/src/a.d.ts' is older than input 'src/project1/src/b.ts' -[12:01:36 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:01:41 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/src/e.d.ts' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/src/e.d.ts' does not exist -[12:01:42 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:6:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. @@ -907,17 +907,17 @@ export const b = 10;const bLocal = 10;const alocal = 10;const aaaa = 10;export c Output:: /lib/tsc --b /src/project2/src --verbose -[12:01:44 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:01:45 AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/src/a.js' is older than input 'src/project1/src/b.ts' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/src/a.js' is older than input 'src/project1/src/b.ts' -[12:01:46 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:01:55 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/src/e.js' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/src/e.js' does not exist -[12:01:56 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... src/project2/src/tsconfig.json:6:5 - error TS6306: Referenced project '/src/project1/src' must have setting "composite": true. diff --git a/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-on-commandline-with-outFile.js b/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-on-commandline-with-outFile.js index dccca36821785..84f27dc5278a6 100644 --- a/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-on-commandline-with-outFile.js +++ b/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-on-commandline-with-outFile.js @@ -63,17 +63,17 @@ import { b } from "b"; export const g = b; Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly -[12:00:19 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:20 AM] Project 'src/project1/src/tsconfig.json' is out of date because output file 'src/project1/outFile.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output file 'src/project1/outFile.tsbuildinfo' does not exist -[12:00:21 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:00:26 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/outFile.tsbuildinfo' does not exist -[12:00:27 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -324,13 +324,13 @@ Input:: Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly -[12:00:32 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:33 AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/d.ts' is older than output 'src/project1/outFile.tsbuildinfo' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/d.ts' is older than output 'src/project1/outFile.tsbuildinfo' -[12:00:34 AM] Project 'src/project2/src/tsconfig.json' is up to date because newest input 'src/project2/src/g.ts' is older than output 'src/project2/outFile.tsbuildinfo' +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is up to date because newest input 'src/project2/src/g.ts' is older than output 'src/project2/outFile.tsbuildinfo' exitCode:: ExitStatus.Success @@ -346,17 +346,17 @@ export const a = 10;const aLocal = 10;const aa = 10; Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly -[12:00:36 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:37 AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/outFile.tsbuildinfo' is older than input 'src/project1/src/a.ts' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/outFile.tsbuildinfo' is older than input 'src/project1/src/a.ts' -[12:00:38 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:00:42 AM] Project 'src/project2/src/tsconfig.json' is up to date with .d.ts files from its dependencies +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is up to date with .d.ts files from its dependencies -[12:00:43 AM] Updating output timestamps of project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Updating output timestamps of project '/src/project2/src/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -479,17 +479,17 @@ export const a = 10;const aLocal = 10;const aa = 10;export const aaa = 10; Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly -[12:00:47 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:48 AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/outFile.tsbuildinfo' is older than input 'src/project1/src/a.ts' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/outFile.tsbuildinfo' is older than input 'src/project1/src/a.ts' -[12:00:49 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:00:54 AM] Project 'src/project2/src/tsconfig.json' is out of date because output 'src/project2/outFile.tsbuildinfo' is older than input 'src/project1/src' +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output 'src/project2/outFile.tsbuildinfo' is older than input 'src/project1/src' -[12:00:55 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -729,17 +729,17 @@ Input:: Output:: /lib/tsc --b /src/project2/src --verbose -[12:00:59 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:01:00 AM] Project 'src/project1/src/tsconfig.json' is out of date because buildinfo file 'src/project1/outFile.tsbuildinfo' indicates there is change in compilerOptions +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because buildinfo file 'src/project1/outFile.tsbuildinfo' indicates there is change in compilerOptions -[12:01:01 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:01:06 AM] Project 'src/project2/src/tsconfig.json' is out of date because buildinfo file 'src/project2/outFile.tsbuildinfo' indicates there is change in compilerOptions +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because buildinfo file 'src/project2/outFile.tsbuildinfo' indicates there is change in compilerOptions -[12:01:07 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -1011,13 +1011,13 @@ Input:: Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly -[12:01:12 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:01:13 AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/a.ts' is older than output 'src/project1/outFile.tsbuildinfo' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/a.ts' is older than output 'src/project1/outFile.tsbuildinfo' -[12:01:14 AM] Project 'src/project2/src/tsconfig.json' is up to date because newest input 'src/project2/src/g.ts' is older than output 'src/project2/outFile.tsbuildinfo' +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is up to date because newest input 'src/project2/src/g.ts' is older than output 'src/project2/outFile.tsbuildinfo' exitCode:: ExitStatus.Success @@ -1033,17 +1033,17 @@ export const b = 10;const bLocal = 10;const alocal = 10; Output:: /lib/tsc --b /src/project2/src --verbose -[12:01:16 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:01:17 AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/outFile.tsbuildinfo' is older than input 'src/project1/src/b.ts' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/outFile.tsbuildinfo' is older than input 'src/project1/src/b.ts' -[12:01:18 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:01:23 AM] Project 'src/project2/src/tsconfig.json' is up to date with .d.ts files from its dependencies +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is up to date with .d.ts files from its dependencies -[12:01:24 AM] Updating output timestamps of project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Updating output timestamps of project '/src/project2/src/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -1196,17 +1196,17 @@ export const b = 10;const bLocal = 10;const alocal = 10;const aaaa = 10; Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly -[12:01:28 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:01:29 AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/outFile.tsbuildinfo' is older than input 'src/project1/src/b.ts' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/outFile.tsbuildinfo' is older than input 'src/project1/src/b.ts' -[12:01:30 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:01:34 AM] Project 'src/project2/src/tsconfig.json' is up to date with .d.ts files from its dependencies +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is up to date with .d.ts files from its dependencies -[12:01:35 AM] Updating output timestamps of project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Updating output timestamps of project '/src/project2/src/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -1329,17 +1329,17 @@ export const b = 10;const bLocal = 10;const alocal = 10;const aaaa = 10;export c Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly -[12:01:39 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:01:40 AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/outFile.tsbuildinfo' is older than input 'src/project1/src/b.ts' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/outFile.tsbuildinfo' is older than input 'src/project1/src/b.ts' -[12:01:41 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:01:46 AM] Project 'src/project2/src/tsconfig.json' is out of date because output 'src/project2/outFile.tsbuildinfo' is older than input 'src/project1/src' +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output 'src/project2/outFile.tsbuildinfo' is older than input 'src/project1/src' -[12:01:47 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -1583,17 +1583,17 @@ export const b = 10;const bLocal = 10;const alocal = 10;const aaaa = 10;export c Output:: /lib/tsc --b /src/project2/src --verbose -[12:01:52 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:01:53 AM] Project 'src/project1/src/tsconfig.json' is out of date because buildinfo file 'src/project1/outFile.tsbuildinfo' indicates there is change in compilerOptions +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because buildinfo file 'src/project1/outFile.tsbuildinfo' indicates there is change in compilerOptions -[12:01:54 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:02:00 AM] Project 'src/project2/src/tsconfig.json' is out of date because buildinfo file 'src/project2/outFile.tsbuildinfo' indicates there is change in compilerOptions +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because buildinfo file 'src/project2/outFile.tsbuildinfo' indicates there is change in compilerOptions -[12:02:01 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ diff --git a/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-on-commandline.js b/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-on-commandline.js index 5951d004bd386..4b416a0a750ec 100644 --- a/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-on-commandline.js +++ b/tests/baselines/reference/tsbuild/commandLine/emitDeclarationOnly-on-commandline.js @@ -59,17 +59,17 @@ import { b } from "../../project1/src/b"; export const g = b; Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly -[12:00:19 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:20 AM] Project 'src/project1/src/tsconfig.json' is out of date because output file 'src/project1/src/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output file 'src/project1/src/tsconfig.tsbuildinfo' does not exist -[12:00:21 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:00:29 AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/src/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output file 'src/project2/src/tsconfig.tsbuildinfo' does not exist -[12:00:30 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -158,7 +158,7 @@ export declare const d = 10; //// [/src/project1/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18487752940-export const a = 10;const aLocal = 10;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true,"emitDeclarationOnly":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5],"latestChangedDtsFile":"./d.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18487752940-export const a = 10;const aLocal = 10;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true,"emitDeclarationOnly":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./d.d.ts"},"version":"FakeTSVersion"} //// [/src/project1/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -257,17 +257,10 @@ export declare const d = 10; "./b.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ], "latestChangedDtsFile": "./d.d.ts" }, "version": "FakeTSVersion", - "size": 1399 + "size": 1358 } //// [/src/project2/src/e.d.ts] @@ -283,7 +276,7 @@ export declare const g = 10; //// [/src/project2/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../lib/lib.d.ts","./e.ts","../../project1/src/a.d.ts","./f.ts","../../project1/src/b.d.ts","./g.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-13789510868-export const e = 10;","signature":"-4822840506-export declare const e = 10;\n","impliedFormat":1},{"version":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-2015135303-import { a } from \"../../project1/src/a\"; export const f = a;","signature":"-5154070489-export declare const f = 10;\n","impliedFormat":1},{"version":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"-2047954019-import { b } from \"../../project1/src/b\"; export const g = b;","signature":"-5485300472-export declare const g = 10;\n","impliedFormat":1}],"root":[2,4,6],"options":{"composite":true,"emitDeclarationOnly":true},"fileIdsList":[[3],[5]],"referencedMap":[[4,1],[6,2]],"semanticDiagnosticsPerFile":[1,3,5,2,4,6],"latestChangedDtsFile":"./g.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../lib/lib.d.ts","./e.ts","../../project1/src/a.d.ts","./f.ts","../../project1/src/b.d.ts","./g.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-13789510868-export const e = 10;","signature":"-4822840506-export declare const e = 10;\n","impliedFormat":1},{"version":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-2015135303-import { a } from \"../../project1/src/a\"; export const f = a;","signature":"-5154070489-export declare const f = 10;\n","impliedFormat":1},{"version":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"-2047954019-import { b } from \"../../project1/src/b\"; export const g = b;","signature":"-5485300472-export declare const g = 10;\n","impliedFormat":1}],"root":[2,4,6],"options":{"composite":true,"emitDeclarationOnly":true},"fileIdsList":[[3],[5]],"referencedMap":[[4,1],[6,2]],"latestChangedDtsFile":"./g.d.ts"},"version":"FakeTSVersion"} //// [/src/project2/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -391,18 +384,10 @@ export declare const g = 10; "../../project1/src/b.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "../../project1/src/a.d.ts", - "../../project1/src/b.d.ts", - "./e.ts", - "./f.ts", - "./g.ts" - ], "latestChangedDtsFile": "./g.d.ts" }, "version": "FakeTSVersion", - "size": 1476 + "size": 1433 } @@ -413,13 +398,13 @@ Input:: Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly -[12:00:37 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:38 AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/d.ts' is older than output 'src/project1/src/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/d.ts' is older than output 'src/project1/src/tsconfig.tsbuildinfo' -[12:00:39 AM] Project 'src/project2/src/tsconfig.json' is up to date because newest input 'src/project2/src/g.ts' is older than output 'src/project2/src/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is up to date because newest input 'src/project2/src/g.ts' is older than output 'src/project2/src/tsconfig.tsbuildinfo' exitCode:: ExitStatus.Success @@ -435,17 +420,17 @@ export const a = 10;const aLocal = 10;const aa = 10; Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly -[12:00:41 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:42 AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/src/tsconfig.tsbuildinfo' is older than input 'src/project1/src/a.ts' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/src/tsconfig.tsbuildinfo' is older than input 'src/project1/src/a.ts' -[12:00:43 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:00:47 AM] Project 'src/project2/src/tsconfig.json' is up to date with .d.ts files from its dependencies +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is up to date with .d.ts files from its dependencies -[12:00:48 AM] Updating output timestamps of project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Updating output timestamps of project '/src/project2/src/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -475,7 +460,7 @@ Shape signatures in builder refreshed for:: //// [/src/project1/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-16597586570-export const a = 10;const aLocal = 10;const aa = 10;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true,"emitDeclarationOnly":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5],"latestChangedDtsFile":"./d.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-16597586570-export const a = 10;const aLocal = 10;const aa = 10;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true,"emitDeclarationOnly":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./d.d.ts"},"version":"FakeTSVersion"} //// [/src/project1/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -574,17 +559,10 @@ Shape signatures in builder refreshed for:: "./b.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ], "latestChangedDtsFile": "./d.d.ts" }, "version": "FakeTSVersion", - "size": 1413 + "size": 1372 } //// [/src/project2/src/tsconfig.tsbuildinfo] file changed its modified time @@ -599,17 +577,17 @@ export const a = 10;const aLocal = 10;const aa = 10;export const aaa = 10; Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly -[12:00:52 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:00:53 AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/src/tsconfig.tsbuildinfo' is older than input 'src/project1/src/a.ts' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/src/tsconfig.tsbuildinfo' is older than input 'src/project1/src/a.ts' -[12:00:54 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:00:59 AM] Project 'src/project2/src/tsconfig.json' is out of date because output 'src/project2/src/tsconfig.tsbuildinfo' is older than input 'src/project1/src' +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output 'src/project2/src/tsconfig.tsbuildinfo' is older than input 'src/project1/src' -[12:01:00 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -673,7 +651,7 @@ export declare const aaa = 10; //// [/src/project1/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-6435489413-export const a = 10;const aLocal = 10;const aa = 10;export const aaa = 10;","signature":"-1973399231-export declare const a = 10;\nexport declare const aaa = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true,"emitDeclarationOnly":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5],"latestChangedDtsFile":"./a.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-6435489413-export const a = 10;const aLocal = 10;const aa = 10;export const aaa = 10;","signature":"-1973399231-export declare const a = 10;\nexport declare const aaa = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true,"emitDeclarationOnly":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./a.d.ts"},"version":"FakeTSVersion"} //// [/src/project1/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -772,21 +750,14 @@ export declare const aaa = 10; "./b.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ], "latestChangedDtsFile": "./a.d.ts" }, "version": "FakeTSVersion", - "size": 1466 + "size": 1425 } //// [/src/project2/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../lib/lib.d.ts","./e.ts","../../project1/src/a.d.ts","./f.ts","../../project1/src/b.d.ts","./g.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-13789510868-export const e = 10;","signature":"-4822840506-export declare const e = 10;\n","impliedFormat":1},{"version":"-1973399231-export declare const a = 10;\nexport declare const aaa = 10;\n","impliedFormat":1},{"version":"-2015135303-import { a } from \"../../project1/src/a\"; export const f = a;","signature":"-5154070489-export declare const f = 10;\n","impliedFormat":1},{"version":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"-2047954019-import { b } from \"../../project1/src/b\"; export const g = b;","signature":"-5485300472-export declare const g = 10;\n","impliedFormat":1}],"root":[2,4,6],"options":{"composite":true,"emitDeclarationOnly":true},"fileIdsList":[[3],[5]],"referencedMap":[[4,1],[6,2]],"semanticDiagnosticsPerFile":[1,3,5,2,4,6],"latestChangedDtsFile":"./g.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../lib/lib.d.ts","./e.ts","../../project1/src/a.d.ts","./f.ts","../../project1/src/b.d.ts","./g.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-13789510868-export const e = 10;","signature":"-4822840506-export declare const e = 10;\n","impliedFormat":1},{"version":"-1973399231-export declare const a = 10;\nexport declare const aaa = 10;\n","impliedFormat":1},{"version":"-2015135303-import { a } from \"../../project1/src/a\"; export const f = a;","signature":"-5154070489-export declare const f = 10;\n","impliedFormat":1},{"version":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"-2047954019-import { b } from \"../../project1/src/b\"; export const g = b;","signature":"-5485300472-export declare const g = 10;\n","impliedFormat":1}],"root":[2,4,6],"options":{"composite":true,"emitDeclarationOnly":true},"fileIdsList":[[3],[5]],"referencedMap":[[4,1],[6,2]],"latestChangedDtsFile":"./g.d.ts"},"version":"FakeTSVersion"} //// [/src/project2/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -894,18 +865,10 @@ export declare const aaa = 10; "../../project1/src/b.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "../../project1/src/a.d.ts", - "../../project1/src/b.d.ts", - "./e.ts", - "./f.ts", - "./g.ts" - ], "latestChangedDtsFile": "./g.d.ts" }, "version": "FakeTSVersion", - "size": 1508 + "size": 1465 } @@ -916,17 +879,17 @@ Input:: Output:: /lib/tsc --b /src/project2/src --verbose -[12:01:04 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:01:05 AM] Project 'src/project1/src/tsconfig.json' is out of date because buildinfo file 'src/project1/src/tsconfig.tsbuildinfo' indicates there is change in compilerOptions +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because buildinfo file 'src/project1/src/tsconfig.tsbuildinfo' indicates there is change in compilerOptions -[12:01:06 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:01:14 AM] Project 'src/project2/src/tsconfig.json' is out of date because buildinfo file 'src/project2/src/tsconfig.tsbuildinfo' indicates there is change in compilerOptions +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because buildinfo file 'src/project2/src/tsconfig.tsbuildinfo' indicates there is change in compilerOptions -[12:01:15 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -1009,7 +972,7 @@ exports.d = b_1.b; //// [/src/project1/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-6435489413-export const a = 10;const aLocal = 10;const aa = 10;export const aaa = 10;","signature":"-1973399231-export declare const a = 10;\nexport declare const aaa = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5],"latestChangedDtsFile":"./a.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-6435489413-export const a = 10;const aLocal = 10;const aa = 10;export const aaa = 10;","signature":"-1973399231-export declare const a = 10;\nexport declare const aaa = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./a.d.ts"},"version":"FakeTSVersion"} //// [/src/project1/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1107,17 +1070,10 @@ exports.d = b_1.b; "./b.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ], "latestChangedDtsFile": "./a.d.ts" }, "version": "FakeTSVersion", - "size": 1439 + "size": 1398 } //// [/src/project2/src/e.js] @@ -1144,7 +1100,7 @@ exports.g = b_1.b; //// [/src/project2/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../lib/lib.d.ts","./e.ts","../../project1/src/a.d.ts","./f.ts","../../project1/src/b.d.ts","./g.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-13789510868-export const e = 10;","signature":"-4822840506-export declare const e = 10;\n","impliedFormat":1},{"version":"-1973399231-export declare const a = 10;\nexport declare const aaa = 10;\n","impliedFormat":1},{"version":"-2015135303-import { a } from \"../../project1/src/a\"; export const f = a;","signature":"-5154070489-export declare const f = 10;\n","impliedFormat":1},{"version":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"-2047954019-import { b } from \"../../project1/src/b\"; export const g = b;","signature":"-5485300472-export declare const g = 10;\n","impliedFormat":1}],"root":[2,4,6],"options":{"composite":true},"fileIdsList":[[3],[5]],"referencedMap":[[4,1],[6,2]],"semanticDiagnosticsPerFile":[1,3,5,2,4,6],"latestChangedDtsFile":"./g.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../lib/lib.d.ts","./e.ts","../../project1/src/a.d.ts","./f.ts","../../project1/src/b.d.ts","./g.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-13789510868-export const e = 10;","signature":"-4822840506-export declare const e = 10;\n","impliedFormat":1},{"version":"-1973399231-export declare const a = 10;\nexport declare const aaa = 10;\n","impliedFormat":1},{"version":"-2015135303-import { a } from \"../../project1/src/a\"; export const f = a;","signature":"-5154070489-export declare const f = 10;\n","impliedFormat":1},{"version":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"-2047954019-import { b } from \"../../project1/src/b\"; export const g = b;","signature":"-5485300472-export declare const g = 10;\n","impliedFormat":1}],"root":[2,4,6],"options":{"composite":true},"fileIdsList":[[3],[5]],"referencedMap":[[4,1],[6,2]],"latestChangedDtsFile":"./g.d.ts"},"version":"FakeTSVersion"} //// [/src/project2/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1251,18 +1207,10 @@ exports.g = b_1.b; "../../project1/src/b.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "../../project1/src/a.d.ts", - "../../project1/src/b.d.ts", - "./e.ts", - "./f.ts", - "./g.ts" - ], "latestChangedDtsFile": "./g.d.ts" }, "version": "FakeTSVersion", - "size": 1481 + "size": 1438 } @@ -1273,13 +1221,13 @@ Input:: Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly -[12:01:22 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:01:23 AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/a.ts' is older than output 'src/project1/src/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is up to date because newest input 'src/project1/src/a.ts' is older than output 'src/project1/src/tsconfig.tsbuildinfo' -[12:01:24 AM] Project 'src/project2/src/tsconfig.json' is up to date because newest input 'src/project2/src/g.ts' is older than output 'src/project2/src/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is up to date because newest input 'src/project2/src/g.ts' is older than output 'src/project2/src/tsconfig.tsbuildinfo' exitCode:: ExitStatus.Success @@ -1295,17 +1243,17 @@ export const b = 10;const bLocal = 10;const alocal = 10; Output:: /lib/tsc --b /src/project2/src --verbose -[12:01:26 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:01:27 AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/src/tsconfig.tsbuildinfo' is older than input 'src/project1/src/b.ts' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/src/tsconfig.tsbuildinfo' is older than input 'src/project1/src/b.ts' -[12:01:28 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:01:33 AM] Project 'src/project2/src/tsconfig.json' is up to date with .d.ts files from its dependencies +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is up to date with .d.ts files from its dependencies -[12:01:34 AM] Updating output timestamps of project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Updating output timestamps of project '/src/project2/src/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -1343,7 +1291,7 @@ var alocal = 10; //// [/src/project1/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-6435489413-export const a = 10;const aLocal = 10;const aa = 10;export const aaa = 10;","signature":"-1973399231-export declare const a = 10;\nexport declare const aaa = 10;\n","impliedFormat":1},{"version":"-2761163262-export const b = 10;const bLocal = 10;const alocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5],"latestChangedDtsFile":"./a.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-6435489413-export const a = 10;const aLocal = 10;const aa = 10;export const aaa = 10;","signature":"-1973399231-export declare const a = 10;\nexport declare const aaa = 10;\n","impliedFormat":1},{"version":"-2761163262-export const b = 10;const bLocal = 10;const alocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./a.d.ts"},"version":"FakeTSVersion"} //// [/src/project1/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1441,17 +1389,10 @@ var alocal = 10; "./b.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ], "latestChangedDtsFile": "./a.d.ts" }, "version": "FakeTSVersion", - "size": 1457 + "size": 1416 } //// [/src/project2/src/tsconfig.tsbuildinfo] file changed its modified time @@ -1466,17 +1407,17 @@ export const b = 10;const bLocal = 10;const alocal = 10;const aaaa = 10; Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly -[12:01:38 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:01:39 AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/src/tsconfig.tsbuildinfo' is older than input 'src/project1/src/b.ts' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/src/tsconfig.tsbuildinfo' is older than input 'src/project1/src/b.ts' -[12:01:40 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:01:44 AM] Project 'src/project2/src/tsconfig.json' is up to date with .d.ts files from its dependencies +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is up to date with .d.ts files from its dependencies -[12:01:45 AM] Updating output timestamps of project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Updating output timestamps of project '/src/project2/src/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -1506,7 +1447,7 @@ Shape signatures in builder refreshed for:: //// [/src/project1/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-6435489413-export const a = 10;const aLocal = 10;const aa = 10;export const aaa = 10;","signature":"-1973399231-export declare const a = 10;\nexport declare const aaa = 10;\n","impliedFormat":1},{"version":"-3037017594-export const b = 10;const bLocal = 10;const alocal = 10;const aaaa = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true,"emitDeclarationOnly":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5],"latestChangedDtsFile":"./a.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-6435489413-export const a = 10;const aLocal = 10;const aa = 10;export const aaa = 10;","signature":"-1973399231-export declare const a = 10;\nexport declare const aaa = 10;\n","impliedFormat":1},{"version":"-3037017594-export const b = 10;const bLocal = 10;const alocal = 10;const aaaa = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true,"emitDeclarationOnly":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./a.d.ts"},"version":"FakeTSVersion"} //// [/src/project1/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1605,17 +1546,10 @@ Shape signatures in builder refreshed for:: "./b.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ], "latestChangedDtsFile": "./a.d.ts" }, "version": "FakeTSVersion", - "size": 1500 + "size": 1459 } //// [/src/project2/src/tsconfig.tsbuildinfo] file changed its modified time @@ -1630,17 +1564,17 @@ export const b = 10;const bLocal = 10;const alocal = 10;const aaaa = 10;export c Output:: /lib/tsc --b /src/project2/src --verbose --emitDeclarationOnly -[12:01:49 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:01:50 AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/src/tsconfig.tsbuildinfo' is older than input 'src/project1/src/b.ts' +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because output 'src/project1/src/tsconfig.tsbuildinfo' is older than input 'src/project1/src/b.ts' -[12:01:51 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:01:56 AM] Project 'src/project2/src/tsconfig.json' is out of date because output 'src/project2/src/tsconfig.tsbuildinfo' is older than input 'src/project1/src' +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because output 'src/project2/src/tsconfig.tsbuildinfo' is older than input 'src/project1/src' -[12:01:57 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -1704,7 +1638,7 @@ export declare const aaaaa = 10; //// [/src/project1/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-6435489413-export const a = 10;const aLocal = 10;const aa = 10;export const aaa = 10;","signature":"-1973399231-export declare const a = 10;\nexport declare const aaa = 10;\n","impliedFormat":1},{"version":"-7233149715-export const b = 10;const bLocal = 10;const alocal = 10;const aaaa = 10;export const aaaaa = 10;","signature":"2661550180-export declare const b = 10;\nexport declare const aaaaa = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true,"emitDeclarationOnly":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5],"latestChangedDtsFile":"./b.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-6435489413-export const a = 10;const aLocal = 10;const aa = 10;export const aaa = 10;","signature":"-1973399231-export declare const a = 10;\nexport declare const aaa = 10;\n","impliedFormat":1},{"version":"-7233149715-export const b = 10;const bLocal = 10;const alocal = 10;const aaaa = 10;export const aaaaa = 10;","signature":"2661550180-export declare const b = 10;\nexport declare const aaaaa = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true,"emitDeclarationOnly":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./b.d.ts"},"version":"FakeTSVersion"} //// [/src/project1/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1803,21 +1737,14 @@ export declare const aaaaa = 10; "./b.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ], "latestChangedDtsFile": "./b.d.ts" }, "version": "FakeTSVersion", - "size": 1557 + "size": 1516 } //// [/src/project2/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../lib/lib.d.ts","./e.ts","../../project1/src/a.d.ts","./f.ts","../../project1/src/b.d.ts","./g.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-13789510868-export const e = 10;","signature":"-4822840506-export declare const e = 10;\n","impliedFormat":1},{"version":"-1973399231-export declare const a = 10;\nexport declare const aaa = 10;\n","impliedFormat":1},{"version":"-2015135303-import { a } from \"../../project1/src/a\"; export const f = a;","signature":"-5154070489-export declare const f = 10;\n","impliedFormat":1},{"version":"2661550180-export declare const b = 10;\nexport declare const aaaaa = 10;\n","impliedFormat":1},{"version":"-2047954019-import { b } from \"../../project1/src/b\"; export const g = b;","signature":"-5485300472-export declare const g = 10;\n","impliedFormat":1}],"root":[2,4,6],"options":{"composite":true,"emitDeclarationOnly":true},"fileIdsList":[[3],[5]],"referencedMap":[[4,1],[6,2]],"semanticDiagnosticsPerFile":[1,3,5,2,4,6],"latestChangedDtsFile":"./g.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../lib/lib.d.ts","./e.ts","../../project1/src/a.d.ts","./f.ts","../../project1/src/b.d.ts","./g.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-13789510868-export const e = 10;","signature":"-4822840506-export declare const e = 10;\n","impliedFormat":1},{"version":"-1973399231-export declare const a = 10;\nexport declare const aaa = 10;\n","impliedFormat":1},{"version":"-2015135303-import { a } from \"../../project1/src/a\"; export const f = a;","signature":"-5154070489-export declare const f = 10;\n","impliedFormat":1},{"version":"2661550180-export declare const b = 10;\nexport declare const aaaaa = 10;\n","impliedFormat":1},{"version":"-2047954019-import { b } from \"../../project1/src/b\"; export const g = b;","signature":"-5485300472-export declare const g = 10;\n","impliedFormat":1}],"root":[2,4,6],"options":{"composite":true,"emitDeclarationOnly":true},"fileIdsList":[[3],[5]],"referencedMap":[[4,1],[6,2]],"latestChangedDtsFile":"./g.d.ts"},"version":"FakeTSVersion"} //// [/src/project2/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1925,18 +1852,10 @@ export declare const aaaaa = 10; "../../project1/src/b.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "../../project1/src/a.d.ts", - "../../project1/src/b.d.ts", - "./e.ts", - "./f.ts", - "./g.ts" - ], "latestChangedDtsFile": "./g.d.ts" }, "version": "FakeTSVersion", - "size": 1541 + "size": 1498 } @@ -1950,17 +1869,17 @@ export const b = 10;const bLocal = 10;const alocal = 10;const aaaa = 10;export c Output:: /lib/tsc --b /src/project2/src --verbose -[12:02:02 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/src/tsconfig.json * src/project2/src/tsconfig.json -[12:02:03 AM] Project 'src/project1/src/tsconfig.json' is out of date because buildinfo file 'src/project1/src/tsconfig.tsbuildinfo' indicates there is change in compilerOptions +[HH:MM:SS AM] Project 'src/project1/src/tsconfig.json' is out of date because buildinfo file 'src/project1/src/tsconfig.tsbuildinfo' indicates there is change in compilerOptions -[12:02:04 AM] Building project '/src/project1/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project1/src/tsconfig.json'... -[12:02:13 AM] Project 'src/project2/src/tsconfig.json' is out of date because buildinfo file 'src/project2/src/tsconfig.tsbuildinfo' indicates there is change in compilerOptions +[HH:MM:SS AM] Project 'src/project2/src/tsconfig.json' is out of date because buildinfo file 'src/project2/src/tsconfig.tsbuildinfo' indicates there is change in compilerOptions -[12:02:14 AM] Building project '/src/project2/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/src/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -2038,7 +1957,7 @@ exports.a2 = 10; //// [/src/project1/src/c.js] file written with same contents //// [/src/project1/src/d.js] file written with same contents //// [/src/project1/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-6435489413-export const a = 10;const aLocal = 10;const aa = 10;export const aaa = 10;","signature":"-1973399231-export declare const a = 10;\nexport declare const aaa = 10;\n","impliedFormat":1},{"version":"-18124257118-export const b = 10;const bLocal = 10;const alocal = 10;const aaaa = 10;export const aaaaa = 10;export const a2 = 10;","signature":"-2237944013-export declare const b = 10;\nexport declare const aaaaa = 10;\nexport declare const a2 = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5],"latestChangedDtsFile":"./b.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-6435489413-export const a = 10;const aLocal = 10;const aa = 10;export const aaa = 10;","signature":"-1973399231-export declare const a = 10;\nexport declare const aaa = 10;\n","impliedFormat":1},{"version":"-18124257118-export const b = 10;const bLocal = 10;const alocal = 10;const aaaa = 10;export const aaaaa = 10;export const a2 = 10;","signature":"-2237944013-export declare const b = 10;\nexport declare const aaaaa = 10;\nexport declare const a2 = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./b.d.ts"},"version":"FakeTSVersion"} //// [/src/project1/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -2136,24 +2055,17 @@ exports.a2 = 10; "./b.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ], "latestChangedDtsFile": "./b.d.ts" }, "version": "FakeTSVersion", - "size": 1584 + "size": 1543 } //// [/src/project2/src/e.js] file written with same contents //// [/src/project2/src/f.js] file written with same contents //// [/src/project2/src/g.js] file written with same contents //// [/src/project2/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../lib/lib.d.ts","./e.ts","../../project1/src/a.d.ts","./f.ts","../../project1/src/b.d.ts","./g.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-13789510868-export const e = 10;","signature":"-4822840506-export declare const e = 10;\n","impliedFormat":1},{"version":"-1973399231-export declare const a = 10;\nexport declare const aaa = 10;\n","impliedFormat":1},{"version":"-2015135303-import { a } from \"../../project1/src/a\"; export const f = a;","signature":"-5154070489-export declare const f = 10;\n","impliedFormat":1},{"version":"-2237944013-export declare const b = 10;\nexport declare const aaaaa = 10;\nexport declare const a2 = 10;\n","impliedFormat":1},{"version":"-2047954019-import { b } from \"../../project1/src/b\"; export const g = b;","signature":"-5485300472-export declare const g = 10;\n","impliedFormat":1}],"root":[2,4,6],"options":{"composite":true},"fileIdsList":[[3],[5]],"referencedMap":[[4,1],[6,2]],"semanticDiagnosticsPerFile":[1,3,5,2,4,6],"latestChangedDtsFile":"./g.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../lib/lib.d.ts","./e.ts","../../project1/src/a.d.ts","./f.ts","../../project1/src/b.d.ts","./g.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-13789510868-export const e = 10;","signature":"-4822840506-export declare const e = 10;\n","impliedFormat":1},{"version":"-1973399231-export declare const a = 10;\nexport declare const aaa = 10;\n","impliedFormat":1},{"version":"-2015135303-import { a } from \"../../project1/src/a\"; export const f = a;","signature":"-5154070489-export declare const f = 10;\n","impliedFormat":1},{"version":"-2237944013-export declare const b = 10;\nexport declare const aaaaa = 10;\nexport declare const a2 = 10;\n","impliedFormat":1},{"version":"-2047954019-import { b } from \"../../project1/src/b\"; export const g = b;","signature":"-5485300472-export declare const g = 10;\n","impliedFormat":1}],"root":[2,4,6],"options":{"composite":true},"fileIdsList":[[3],[5]],"referencedMap":[[4,1],[6,2]],"latestChangedDtsFile":"./g.d.ts"},"version":"FakeTSVersion"} //// [/src/project2/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -2260,17 +2172,9 @@ exports.a2 = 10; "../../project1/src/b.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "../../project1/src/a.d.ts", - "../../project1/src/b.d.ts", - "./e.ts", - "./f.ts", - "./g.ts" - ], "latestChangedDtsFile": "./g.d.ts" }, "version": "FakeTSVersion", - "size": 1546 + "size": 1503 } diff --git a/tests/baselines/reference/tsbuild/configFileErrors/reports-syntax-errors-in-config-file-discrepancies.js b/tests/baselines/reference/tsbuild/configFileErrors/reports-syntax-errors-in-config-file-discrepancies.js index cb241b5deea71..402f74402440a 100644 --- a/tests/baselines/reference/tsbuild/configFileErrors/reports-syntax-errors-in-config-file-discrepancies.js +++ b/tests/baselines/reference/tsbuild/configFileErrors/reports-syntax-errors-in-config-file-discrepancies.js @@ -34,7 +34,6 @@ CleanBuild: "composite": true, "declaration": true }, - "referencedMap": {}, "changeFileSet": [ "../lib/lib.d.ts", "./a.ts", @@ -74,7 +73,6 @@ IncrementalBuild: "options": { "composite": true }, - "referencedMap": {}, "changeFileSet": [ "../lib/lib.d.ts", "./a.ts", diff --git a/tests/baselines/reference/tsbuild/configFileErrors/reports-syntax-errors-in-config-file-with-outFile.js b/tests/baselines/reference/tsbuild/configFileErrors/reports-syntax-errors-in-config-file-with-outFile.js new file mode 100644 index 0000000000000..345cde23b371a --- /dev/null +++ b/tests/baselines/reference/tsbuild/configFileErrors/reports-syntax-errors-in-config-file-with-outFile.js @@ -0,0 +1,239 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Input:: +//// [/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/src/a.ts] +export function foo() { } + +//// [/src/b.ts] +export function bar() { } + +//// [/src/tsconfig.json] +{ + "compilerOptions": { + "composite": true, + "outFile": "../outFile.js", + "module": "amd" + + }, + "files": [ + "a.ts" + "b.ts" + ] +} + + + +Output:: +/lib/tsc --b /src/tsconfig.json +src/tsconfig.json:10:9 - error TS1005: ',' expected. + +10 "b.ts" +   ~~~~~~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + + + +Change:: reports syntax errors after change to config file +Input:: +//// [/src/tsconfig.json] +{ + "compilerOptions": { + "composite": true, + "declaration": true, + "outFile": "../outFile.js", + "module": "amd" + + }, + "files": [ + "a.ts" + "b.ts" + ] +} + + + +Output:: +/lib/tsc --b /src/tsconfig.json +src/tsconfig.json:11:9 - error TS1005: ',' expected. + +11 "b.ts" +   ~~~~~~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + + + +Change:: reports syntax errors after change to ts file +Input:: +//// [/src/a.ts] +export function foo() { }export function fooBar() { } + + + +Output:: +/lib/tsc --b /src/tsconfig.json +src/tsconfig.json:11:9 - error TS1005: ',' expected. + +11 "b.ts" +   ~~~~~~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + + + +Change:: no-change-run +Input:: + + +Output:: +/lib/tsc --b /src/tsconfig.json +src/tsconfig.json:11:9 - error TS1005: ',' expected. + +11 "b.ts" +   ~~~~~~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + + + +Change:: builds after fixing config file errors +Input:: +//// [/src/tsconfig.json] +{ + "compilerOptions": { + "composite": true, + "declaration": true, + "outFile": "../outFile.js", + "module": "amd" + }, + "files": [ + "a.ts", + "b.ts" + ] +} + + + +Output:: +/lib/tsc --b /src/tsconfig.json +exitCode:: ExitStatus.Success + + +//// [/outFile.d.ts] +declare module "a" { + export function foo(): void; + export function fooBar(): void; +} +declare module "b" { + export function bar(): void; +} + + +//// [/outFile.js] +define("a", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.foo = foo; + exports.fooBar = fooBar; + function foo() { } + function fooBar() { } +}); +define("b", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.bar = bar; + function bar() { } +}); + + +//// [/outFile.tsbuildinfo] +{"program":{"fileNames":["./lib/lib.d.ts","./src/a.ts","./src/b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","impliedFormat":1},{"version":"9819159940-export function foo() { }export function fooBar() { }","impliedFormat":1},{"version":"1045484683-export function bar() { }","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"declaration":true,"module":2,"outFile":"./outFile.js"},"outSignature":"-12543119676-declare module \"a\" {\n export function foo(): void;\n export function fooBar(): void;\n}\ndeclare module \"b\" {\n export function bar(): void;\n}\n","latestChangedDtsFile":"./outFile.d.ts"},"version":"FakeTSVersion"} + +//// [/outFile.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "./lib/lib.d.ts", + "./src/a.ts", + "./src/b.ts" + ], + "fileInfos": { + "./lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": "commonjs" + }, + "./src/a.ts": { + "original": { + "version": "9819159940-export function foo() { }export function fooBar() { }", + "impliedFormat": 1 + }, + "version": "9819159940-export function foo() { }export function fooBar() { }", + "impliedFormat": "commonjs" + }, + "./src/b.ts": { + "original": { + "version": "1045484683-export function bar() { }", + "impliedFormat": 1 + }, + "version": "1045484683-export function bar() { }", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + 2, + "./src/a.ts" + ], + [ + 3, + "./src/b.ts" + ] + ], + "options": { + "composite": true, + "declaration": true, + "module": 2, + "outFile": "./outFile.js" + }, + "outSignature": "-12543119676-declare module \"a\" {\n export function foo(): void;\n export function fooBar(): void;\n}\ndeclare module \"b\" {\n export function bar(): void;\n}\n", + "latestChangedDtsFile": "./outFile.d.ts" + }, + "version": "FakeTSVersion", + "size": 1074 +} + diff --git a/tests/baselines/reference/tsbuild/configFileErrors/reports-syntax-errors-in-config-file.js b/tests/baselines/reference/tsbuild/configFileErrors/reports-syntax-errors-in-config-file.js index f868766edc4d1..06f2225f7ddfb 100644 --- a/tests/baselines/reference/tsbuild/configFileErrors/reports-syntax-errors-in-config-file.js +++ b/tests/baselines/reference/tsbuild/configFileErrors/reports-syntax-errors-in-config-file.js @@ -48,7 +48,7 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped //// [/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"4646078106-export function foo() { }","signature":false,"impliedFormat":1},{"version":"1045484683-export function bar() { }","signature":false,"impliedFormat":1}],"root":[2,3],"options":{"composite":true},"referencedMap":[],"changeFileSet":[1,2,3]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"4646078106-export function foo() { }","signature":false,"impliedFormat":1},{"version":"1045484683-export function bar() { }","signature":false,"impliedFormat":1}],"root":[2,3],"options":{"composite":true},"changeFileSet":[1,2,3]},"version":"FakeTSVersion"} //// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -102,7 +102,6 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped "options": { "composite": true }, - "referencedMap": {}, "changeFileSet": [ "../lib/lib.d.ts", "./a.ts", @@ -110,7 +109,7 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped ] }, "version": "FakeTSVersion", - "size": 877 + "size": 858 } @@ -167,7 +166,7 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped //// [/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"9819159940-export function foo() { }export function fooBar() { }","signature":false,"impliedFormat":1},{"version":"1045484683-export function bar() { }","signature":false,"impliedFormat":1}],"root":[2,3],"options":{"composite":true,"declaration":true},"referencedMap":[],"changeFileSet":[1,2,3]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"9819159940-export function foo() { }export function fooBar() { }","signature":false,"impliedFormat":1},{"version":"1045484683-export function bar() { }","signature":false,"impliedFormat":1}],"root":[2,3],"options":{"composite":true,"declaration":true},"changeFileSet":[1,2,3]},"version":"FakeTSVersion"} //// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -222,7 +221,6 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped "composite": true, "declaration": true }, - "referencedMap": {}, "changeFileSet": [ "../lib/lib.d.ts", "./a.ts", @@ -230,7 +228,7 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped ] }, "version": "FakeTSVersion", - "size": 924 + "size": 905 } @@ -301,7 +299,7 @@ function bar() { } //// [/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"9819159940-export function foo() { }export function fooBar() { }","signature":"-9218003498-export declare function foo(): void;\nexport declare function fooBar(): void;\n","impliedFormat":1},{"version":"1045484683-export function bar() { }","signature":"-2904461644-export declare function bar(): void;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"declaration":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./b.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"9819159940-export function foo() { }export function fooBar() { }","signature":"-9218003498-export declare function foo(): void;\nexport declare function fooBar(): void;\n","impliedFormat":1},{"version":"1045484683-export function bar() { }","signature":"-2904461644-export declare function bar(): void;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"declaration":true},"latestChangedDtsFile":"./b.d.ts"},"version":"FakeTSVersion"} //// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -358,15 +356,9 @@ function bar() { } "composite": true, "declaration": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../lib/lib.d.ts", - "./a.ts", - "./b.ts" - ], "latestChangedDtsFile": "./b.d.ts" }, "version": "FakeTSVersion", - "size": 1088 + "size": 1032 } diff --git a/tests/baselines/reference/tsbuild/configFileExtends/when-building-project-uses-reference-and-both-extend-config-with-include.js b/tests/baselines/reference/tsbuild/configFileExtends/when-building-project-uses-reference-and-both-extend-config-with-include.js index e010b2a1ed581..61e901851356f 100644 --- a/tests/baselines/reference/tsbuild/configFileExtends/when-building-project-uses-reference-and-both-extend-config-with-include.js +++ b/tests/baselines/reference/tsbuild/configFileExtends/when-building-project-uses-reference-and-both-extend-config-with-include.js @@ -79,20 +79,20 @@ export const b: Unrestricted = 1; Output:: /lib/tsc --b /src/webpack/tsconfig.json --v --listFiles -[12:00:16 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/shared/tsconfig.json * src/webpack/tsconfig.json -[12:00:17 AM] Project 'src/shared/tsconfig.json' is out of date because output file 'src/target-tsc-build/shared/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/shared/tsconfig.json' is out of date because output file 'src/target-tsc-build/shared/tsconfig.tsbuildinfo' does not exist -[12:00:18 AM] Building project '/src/shared/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/shared/tsconfig.json'... /lib/lib.d.ts /src/shared/index.ts /src/shared/typings-base/globals.d.ts -[12:00:26 AM] Project 'src/webpack/tsconfig.json' is out of date because output file 'src/target-tsc-build/webpack/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/webpack/tsconfig.json' is out of date because output file 'src/target-tsc-build/webpack/tsconfig.tsbuildinfo' does not exist -[12:00:27 AM] Building project '/src/webpack/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/webpack/tsconfig.json'... /lib/lib.d.ts /src/webpack/index.ts @@ -112,7 +112,7 @@ exports.a = 1; //// [/src/target-tsc-build/shared/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../lib/lib.d.ts","../../shared/index.ts","../../shared/typings-base/globals.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-22125360210-export const a: Unrestricted = 1;","signature":"115643418-export declare const a: Unrestricted;\n","impliedFormat":1},{"version":"4725476611-type Unrestricted = any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"..","rootDir":"../.."},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../lib/lib.d.ts","../../shared/index.ts","../../shared/typings-base/globals.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-22125360210-export const a: Unrestricted = 1;","signature":"115643418-export declare const a: Unrestricted;\n","impliedFormat":1},{"version":"4725476611-type Unrestricted = any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"..","rootDir":"../.."},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/src/target-tsc-build/shared/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -171,16 +171,10 @@ exports.a = 1; "outDir": "..", "rootDir": "../.." }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "../../shared/index.ts", - "../../shared/typings-base/globals.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1058 + "size": 1002 } //// [/src/target-tsc-build/webpack/index.d.ts] @@ -195,7 +189,7 @@ exports.b = 1; //// [/src/target-tsc-build/webpack/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../lib/lib.d.ts","../../webpack/index.ts","../../shared/typings-base/globals.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14405273073-export const b: Unrestricted = 1;","signature":"-6010538469-export declare const b: Unrestricted;\n","impliedFormat":1},{"version":"4725476611-type Unrestricted = any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"..","rootDir":"../.."},"referencedMap":[],"semanticDiagnosticsPerFile":[1,3,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../lib/lib.d.ts","../../webpack/index.ts","../../shared/typings-base/globals.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14405273073-export const b: Unrestricted = 1;","signature":"-6010538469-export declare const b: Unrestricted;\n","impliedFormat":1},{"version":"4725476611-type Unrestricted = any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"..","rootDir":"../.."},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/src/target-tsc-build/webpack/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -254,15 +248,9 @@ exports.b = 1; "outDir": "..", "rootDir": "../.." }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "../../shared/typings-base/globals.d.ts", - "../../webpack/index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1061 + "size": 1005 } diff --git a/tests/baselines/reference/tsbuild/configFileExtends/when-building-solution-with-projects-extends-config-with-include.js b/tests/baselines/reference/tsbuild/configFileExtends/when-building-solution-with-projects-extends-config-with-include.js index 04f56e63b37bd..5396ec6485beb 100644 --- a/tests/baselines/reference/tsbuild/configFileExtends/when-building-solution-with-projects-extends-config-with-include.js +++ b/tests/baselines/reference/tsbuild/configFileExtends/when-building-solution-with-projects-extends-config-with-include.js @@ -79,21 +79,21 @@ export const b: Unrestricted = 1; Output:: /lib/tsc --b /src/tsconfig.json --v --listFiles -[12:00:16 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/shared/tsconfig.json * src/webpack/tsconfig.json * src/tsconfig.json -[12:00:17 AM] Project 'src/shared/tsconfig.json' is out of date because output file 'src/target-tsc-build/shared/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/shared/tsconfig.json' is out of date because output file 'src/target-tsc-build/shared/tsconfig.tsbuildinfo' does not exist -[12:00:18 AM] Building project '/src/shared/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/shared/tsconfig.json'... /lib/lib.d.ts /src/shared/index.ts /src/shared/typings-base/globals.d.ts -[12:00:26 AM] Project 'src/webpack/tsconfig.json' is out of date because output file 'src/target-tsc-build/webpack/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/webpack/tsconfig.json' is out of date because output file 'src/target-tsc-build/webpack/tsconfig.tsbuildinfo' does not exist -[12:00:27 AM] Building project '/src/webpack/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/webpack/tsconfig.json'... /lib/lib.d.ts /src/webpack/index.ts @@ -113,7 +113,7 @@ exports.a = 1; //// [/src/target-tsc-build/shared/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../lib/lib.d.ts","../../shared/index.ts","../../shared/typings-base/globals.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-22125360210-export const a: Unrestricted = 1;","signature":"115643418-export declare const a: Unrestricted;\n","impliedFormat":1},{"version":"4725476611-type Unrestricted = any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"..","rootDir":"../.."},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../lib/lib.d.ts","../../shared/index.ts","../../shared/typings-base/globals.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-22125360210-export const a: Unrestricted = 1;","signature":"115643418-export declare const a: Unrestricted;\n","impliedFormat":1},{"version":"4725476611-type Unrestricted = any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"..","rootDir":"../.."},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/src/target-tsc-build/shared/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -172,16 +172,10 @@ exports.a = 1; "outDir": "..", "rootDir": "../.." }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "../../shared/index.ts", - "../../shared/typings-base/globals.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1058 + "size": 1002 } //// [/src/target-tsc-build/webpack/index.d.ts] @@ -196,7 +190,7 @@ exports.b = 1; //// [/src/target-tsc-build/webpack/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../lib/lib.d.ts","../../webpack/index.ts","../../shared/typings-base/globals.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14405273073-export const b: Unrestricted = 1;","signature":"-6010538469-export declare const b: Unrestricted;\n","impliedFormat":1},{"version":"4725476611-type Unrestricted = any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"..","rootDir":"../.."},"referencedMap":[],"semanticDiagnosticsPerFile":[1,3,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../lib/lib.d.ts","../../webpack/index.ts","../../shared/typings-base/globals.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14405273073-export const b: Unrestricted = 1;","signature":"-6010538469-export declare const b: Unrestricted;\n","impliedFormat":1},{"version":"4725476611-type Unrestricted = any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"..","rootDir":"../.."},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/src/target-tsc-build/webpack/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -255,15 +249,9 @@ exports.b = 1; "outDir": "..", "rootDir": "../.." }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "../../shared/typings-base/globals.d.ts", - "../../webpack/index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1061 + "size": 1005 } diff --git a/tests/baselines/reference/tsbuild/containerOnlyReferenced/verify-that-subsequent-builds-after-initial-build-doesnt-build-anything.js b/tests/baselines/reference/tsbuild/containerOnlyReferenced/verify-that-subsequent-builds-after-initial-build-doesnt-build-anything.js index fe2943cc149f6..a86ff378fb5f0 100644 --- a/tests/baselines/reference/tsbuild/containerOnlyReferenced/verify-that-subsequent-builds-after-initial-build-doesnt-build-anything.js +++ b/tests/baselines/reference/tsbuild/containerOnlyReferenced/verify-that-subsequent-builds-after-initial-build-doesnt-build-anything.js @@ -95,24 +95,24 @@ export const x = 10; Output:: /lib/tsc --b /src --verbose -[12:00:18 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/src/folder/tsconfig.json * src/src/folder2/tsconfig.json * src/src/tsconfig.json * src/tests/tsconfig.json * src/tsconfig.json -[12:00:19 AM] Project 'src/src/folder/tsconfig.json' is out of date because output file 'src/src/folder/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/src/folder/tsconfig.json' is out of date because output file 'src/src/folder/tsconfig.tsbuildinfo' does not exist -[12:00:20 AM] Building project '/src/src/folder/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/src/folder/tsconfig.json'... -[12:00:26 AM] Project 'src/src/folder2/tsconfig.json' is out of date because output file 'src/src/folder2/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/src/folder2/tsconfig.json' is out of date because output file 'src/src/folder2/tsconfig.tsbuildinfo' does not exist -[12:00:27 AM] Building project '/src/src/folder2/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/src/folder2/tsconfig.json'... -[12:00:33 AM] Project 'src/tests/tsconfig.json' is out of date because output file 'src/tests/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/tests/tsconfig.json' is out of date because output file 'src/tests/tsconfig.tsbuildinfo' does not exist -[12:00:34 AM] Building project '/src/tests/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tests/tsconfig.json'... exitCode:: ExitStatus.Success @@ -129,7 +129,7 @@ exports.x = 10; //// [/src/src/folder/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","signature":"-6821242887-export declare const x = 10;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","signature":"-6821242887-export declare const x = 10;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/src/src/folder/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -170,15 +170,10 @@ exports.x = 10; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 856 + "size": 802 } //// [/src/src/folder2/index.d.ts] @@ -193,7 +188,7 @@ exports.x = 10; //// [/src/src/folder2/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","signature":"-6821242887-export declare const x = 10;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","signature":"-6821242887-export declare const x = 10;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/src/src/folder2/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -234,15 +229,10 @@ exports.x = 10; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 856 + "size": 802 } //// [/src/tests/index.d.ts] @@ -257,7 +247,7 @@ exports.x = 10; //// [/src/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","signature":"-6821242887-export declare const x = 10;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","signature":"-6821242887-export declare const x = 10;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/src/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -298,15 +288,10 @@ exports.x = 10; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 853 + "size": 799 } @@ -317,18 +302,18 @@ Input:: Output:: /lib/tsc --b /src --verbose -[12:00:40 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/src/folder/tsconfig.json * src/src/folder2/tsconfig.json * src/src/tsconfig.json * src/tests/tsconfig.json * src/tsconfig.json -[12:00:41 AM] Project 'src/src/folder/tsconfig.json' is up to date because newest input 'src/src/folder/index.ts' is older than output 'src/src/folder/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'src/src/folder/tsconfig.json' is up to date because newest input 'src/src/folder/index.ts' is older than output 'src/src/folder/tsconfig.tsbuildinfo' -[12:00:42 AM] Project 'src/src/folder2/tsconfig.json' is up to date because newest input 'src/src/folder2/index.ts' is older than output 'src/src/folder2/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'src/src/folder2/tsconfig.json' is up to date because newest input 'src/src/folder2/index.ts' is older than output 'src/src/folder2/tsconfig.tsbuildinfo' -[12:00:43 AM] Project 'src/tests/tsconfig.json' is up to date because newest input 'src/tests/index.ts' is older than output 'src/tests/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'src/tests/tsconfig.json' is up to date because newest input 'src/tests/index.ts' is older than output 'src/tests/tsconfig.tsbuildinfo' exitCode:: ExitStatus.Success diff --git a/tests/baselines/reference/tsbuild/containerOnlyReferenced/when-solution-is-referenced-indirectly.js b/tests/baselines/reference/tsbuild/containerOnlyReferenced/when-solution-is-referenced-indirectly.js index c9bd98ecd789b..60d69f7564282 100644 --- a/tests/baselines/reference/tsbuild/containerOnlyReferenced/when-solution-is-referenced-indirectly.js +++ b/tests/baselines/reference/tsbuild/containerOnlyReferenced/when-solution-is-referenced-indirectly.js @@ -71,31 +71,31 @@ export const d = 10; Output:: /lib/tsc --b /src/project4 --verbose --explainFiles -[12:00:20 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/tsconfig.json * src/project2/tsconfig.json * src/project3/tsconfig.json * src/project4/tsconfig.json -[12:00:21 AM] Project 'src/project2/tsconfig.json' is out of date because output file 'src/project2/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/project2/tsconfig.json' is out of date because output file 'src/project2/tsconfig.tsbuildinfo' does not exist -[12:00:22 AM] Building project '/src/project2/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project2/tsconfig.json'... lib/lib.d.ts Default library for target 'es5' src/project2/src/b.ts Matched by default include pattern '**/*' -[12:00:28 AM] Project 'src/project3/tsconfig.json' is out of date because output file 'src/project3/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/project3/tsconfig.json' is out of date because output file 'src/project3/tsconfig.tsbuildinfo' does not exist -[12:00:29 AM] Building project '/src/project3/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project3/tsconfig.json'... lib/lib.d.ts Default library for target 'es5' src/project3/src/c.ts Matched by default include pattern '**/*' -[12:00:35 AM] Project 'src/project4/tsconfig.json' is out of date because output file 'src/project4/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/project4/tsconfig.json' is out of date because output file 'src/project4/tsconfig.tsbuildinfo' does not exist -[12:00:36 AM] Building project '/src/project4/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project4/tsconfig.json'... lib/lib.d.ts Default library for target 'es5' @@ -116,7 +116,7 @@ exports.b = 10; //// [/src/project2/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./src/b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-13368947479-export const b = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./src/b.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./src/b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-13368947479-export const b = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./src/b.d.ts"},"version":"FakeTSVersion"} //// [/src/project2/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -157,15 +157,10 @@ exports.b = 10; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/b.ts" - ], "latestChangedDtsFile": "./src/b.d.ts" }, "version": "FakeTSVersion", - "size": 853 + "size": 799 } //// [/src/project3/src/c.d.ts] @@ -180,7 +175,7 @@ exports.c = 10; //// [/src/project3/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./src/c.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-12077479510-export const c = 10;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./src/c.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./src/c.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-12077479510-export const c = 10;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./src/c.d.ts"},"version":"FakeTSVersion"} //// [/src/project3/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -221,15 +216,10 @@ exports.c = 10; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/c.ts" - ], "latestChangedDtsFile": "./src/c.d.ts" }, "version": "FakeTSVersion", - "size": 853 + "size": 799 } //// [/src/project4/src/d.d.ts] @@ -244,7 +234,7 @@ exports.d = 10; //// [/src/project4/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./src/d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10786011541-export const d = 10;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./src/d.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./src/d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10786011541-export const d = 10;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./src/d.d.ts"},"version":"FakeTSVersion"} //// [/src/project4/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -285,15 +275,10 @@ exports.d = 10; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/d.ts" - ], "latestChangedDtsFile": "./src/d.d.ts" }, "version": "FakeTSVersion", - "size": 853 + "size": 799 } @@ -307,27 +292,27 @@ export const cc = 10; Output:: /lib/tsc --b /src/project4 --verbose --explainFiles -[12:00:43 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project1/tsconfig.json * src/project2/tsconfig.json * src/project3/tsconfig.json * src/project4/tsconfig.json -[12:00:44 AM] Project 'src/project2/tsconfig.json' is up to date because newest input 'src/project2/src/b.ts' is older than output 'src/project2/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'src/project2/tsconfig.json' is up to date because newest input 'src/project2/src/b.ts' is older than output 'src/project2/tsconfig.tsbuildinfo' -[12:00:45 AM] Project 'src/project3/tsconfig.json' is out of date because output 'src/project3/tsconfig.tsbuildinfo' is older than input 'src/project3/src/c.ts' +[HH:MM:SS AM] Project 'src/project3/tsconfig.json' is out of date because output 'src/project3/tsconfig.tsbuildinfo' is older than input 'src/project3/src/c.ts' -[12:00:46 AM] Building project '/src/project3/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project3/tsconfig.json'... lib/lib.d.ts Default library for target 'es5' src/project3/src/c.ts Matched by default include pattern '**/*' -[12:00:52 AM] Project 'src/project4/tsconfig.json' is out of date because output 'src/project4/tsconfig.tsbuildinfo' is older than input 'src/project3' +[HH:MM:SS AM] Project 'src/project4/tsconfig.json' is out of date because output 'src/project4/tsconfig.tsbuildinfo' is older than input 'src/project3' -[12:00:53 AM] Building project '/src/project4/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project4/tsconfig.json'... -[12:00:54 AM] Updating unchanged output timestamps of project '/src/project4/tsconfig.json'... +[HH:MM:SS AM] Updating unchanged output timestamps of project '/src/project4/tsconfig.json'... lib/lib.d.ts Default library for target 'es5' @@ -348,7 +333,7 @@ exports.cc = 10; //// [/src/project3/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./src/c.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-12481904019-export const cc = 10;","signature":"-2549218137-export declare const cc = 10;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./src/c.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./src/c.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-12481904019-export const cc = 10;","signature":"-2549218137-export declare const cc = 10;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./src/c.d.ts"},"version":"FakeTSVersion"} //// [/src/project3/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -389,15 +374,10 @@ exports.cc = 10; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/c.ts" - ], "latestChangedDtsFile": "./src/c.d.ts" }, "version": "FakeTSVersion", - "size": 855 + "size": 801 } //// [/src/project4/tsconfig.tsbuildinfo] file changed its modified time diff --git a/tests/baselines/reference/tsbuild/declarationEmit/reports-dts-generation-errors-outFile-with-incremental.js b/tests/baselines/reference/tsbuild/declarationEmit/reports-dts-generation-errors-outFile-with-incremental.js new file mode 100644 index 0000000000000..9e309c3d4e780 --- /dev/null +++ b/tests/baselines/reference/tsbuild/declarationEmit/reports-dts-generation-errors-outFile-with-incremental.js @@ -0,0 +1,120 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Input:: +//// [/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/lib/lib.esnext.full.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/src/project/ky.d.ts] +type KyInstance = { + extend(options: Record): KyInstance; +} +declare const ky: KyInstance; +export default ky; + + +//// [/src/project/src/index.ts] +import ky from 'ky'; +export const api = ky.extend({}); + + +//// [/src/project/tsconfig.json] +{ + "compilerOptions": { + "module": "amd", + "declaration": true, + "incremental": true, + "skipLibCheck": true, + "skipDefaultLibCheck": true, + "outFile": "./outFile.js" + }, + "include": [ + "src" + ] +} + + + +Output:: +/lib/tsc -b /src/project --explainFiles --listEmittedFiles --v +[HH:MM:SS AM] Projects in this build: + * src/project/tsconfig.json + +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is out of date because output file 'src/project/outFile.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/src/project/tsconfig.json'... + +src/project/src/index.ts:2:14 - error TS4023: Exported variable 'api' has or is using name 'KyInstance' from external module "/src/project/ky" but cannot be named. + +2 export const api = ky.extend({}); +   ~~~ + +lib/lib.d.ts + Default library for target 'es5' +src/project/ky.d.ts + Imported via 'ky' from file 'src/project/src/index.ts' +src/project/src/index.ts + Matched by include pattern 'src' in 'src/project/tsconfig.json' + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + + + +Change:: no-change-run +Input:: + + +Output:: +/lib/tsc -b /src/project --explainFiles --listEmittedFiles --v +[HH:MM:SS AM] Projects in this build: + * src/project/tsconfig.json + +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is out of date because output file 'src/project/outFile.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/src/project/tsconfig.json'... + +src/project/src/index.ts:2:14 - error TS4023: Exported variable 'api' has or is using name 'KyInstance' from external module "/src/project/ky" but cannot be named. + +2 export const api = ky.extend({}); +   ~~~ + +lib/lib.d.ts + Default library for target 'es5' +src/project/ky.d.ts + Imported via 'ky' from file 'src/project/src/index.ts' +src/project/src/index.ts + Matched by include pattern 'src' in 'src/project/tsconfig.json' + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + diff --git a/tests/baselines/reference/tsbuild/declarationEmit/reports-dts-generation-errors-outFile.js b/tests/baselines/reference/tsbuild/declarationEmit/reports-dts-generation-errors-outFile.js new file mode 100644 index 0000000000000..ffe595d098ec2 --- /dev/null +++ b/tests/baselines/reference/tsbuild/declarationEmit/reports-dts-generation-errors-outFile.js @@ -0,0 +1,119 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Input:: +//// [/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/lib/lib.esnext.full.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/src/project/ky.d.ts] +type KyInstance = { + extend(options: Record): KyInstance; +} +declare const ky: KyInstance; +export default ky; + + +//// [/src/project/src/index.ts] +import ky from 'ky'; +export const api = ky.extend({}); + + +//// [/src/project/tsconfig.json] +{ + "compilerOptions": { + "module": "amd", + "declaration": true, + "skipLibCheck": true, + "skipDefaultLibCheck": true, + "outFile": "./outFile.js" + }, + "include": [ + "src" + ] +} + + + +Output:: +/lib/tsc -b /src/project --explainFiles --listEmittedFiles --v +[HH:MM:SS AM] Projects in this build: + * src/project/tsconfig.json + +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is out of date because output file 'src/project/outFile.js' does not exist + +[HH:MM:SS AM] Building project '/src/project/tsconfig.json'... + +src/project/src/index.ts:2:14 - error TS4023: Exported variable 'api' has or is using name 'KyInstance' from external module "/src/project/ky" but cannot be named. + +2 export const api = ky.extend({}); +   ~~~ + +lib/lib.d.ts + Default library for target 'es5' +src/project/ky.d.ts + Imported via 'ky' from file 'src/project/src/index.ts' +src/project/src/index.ts + Matched by include pattern 'src' in 'src/project/tsconfig.json' + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + + + +Change:: no-change-run +Input:: + + +Output:: +/lib/tsc -b /src/project --explainFiles --listEmittedFiles --v +[HH:MM:SS AM] Projects in this build: + * src/project/tsconfig.json + +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is out of date because output file 'src/project/outFile.js' does not exist + +[HH:MM:SS AM] Building project '/src/project/tsconfig.json'... + +src/project/src/index.ts:2:14 - error TS4023: Exported variable 'api' has or is using name 'KyInstance' from external module "/src/project/ky" but cannot be named. + +2 export const api = ky.extend({}); +   ~~~ + +lib/lib.d.ts + Default library for target 'es5' +src/project/ky.d.ts + Imported via 'ky' from file 'src/project/src/index.ts' +src/project/src/index.ts + Matched by include pattern 'src' in 'src/project/tsconfig.json' + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + diff --git a/tests/baselines/reference/tsbuild/declarationEmit/reports-dts-generation-errors-with-incremental.js b/tests/baselines/reference/tsbuild/declarationEmit/reports-dts-generation-errors-with-incremental.js index 06de99b0153a2..d839876f10401 100644 --- a/tests/baselines/reference/tsbuild/declarationEmit/reports-dts-generation-errors-with-incremental.js +++ b/tests/baselines/reference/tsbuild/declarationEmit/reports-dts-generation-errors-with-incremental.js @@ -37,10 +37,10 @@ export const api = ky.extend({}); //// [/src/project/node_modules/ky/distribution/index.d.ts] type KyInstance = { - extend(options: Record): KyInstance; - } - declare const ky: KyInstance; - export default ky; + extend(options: Record): KyInstance; +} +declare const ky: KyInstance; +export default ky; //// [/src/project/node_modules/ky/package.json] @@ -60,8 +60,8 @@ type KyInstance = { "compilerOptions": { "module": "NodeNext", "moduleResolution": "NodeNext", - "incremental": true, "declaration": true, + "incremental": true, "skipLibCheck": true, "skipDefaultLibCheck": true } @@ -71,12 +71,12 @@ type KyInstance = { Output:: /lib/tsc -b /src/project --explainFiles --listEmittedFiles --v -[12:00:16 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:00:17 AM] Project 'src/project/tsconfig.json' is out of date because output file 'src/project/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is out of date because output file 'src/project/tsconfig.tsbuildinfo' does not exist -[12:00:18 AM] Building project '/src/project/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project/tsconfig.json'... src/project/index.ts:2:14 - error TS4023: Exported variable 'api' has or is using name 'KyInstance' from external module "/src/project/node_modules/ky/distribution/index" but cannot be named. @@ -99,7 +99,7 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.esnext.full.d.ts","./node_modules/ky/distribution/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"20726041391-type KyInstance = {\n extend(options: Record): KyInstance;\n }\n declare const ky: KyInstance;\n export default ky;\n","impliedFormat":99},{"version":"-383421929-import ky from 'ky';\nexport const api = ky.extend({});\n","impliedFormat":99}],"root":[3],"options":{"declaration":true,"module":199,"skipDefaultLibCheck":true,"skipLibCheck":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,3,2],"affectedFilesPendingEmit":[3]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.esnext.full.d.ts","./node_modules/ky/distribution/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"10101889135-type KyInstance = {\n extend(options: Record): KyInstance;\n}\ndeclare const ky: KyInstance;\nexport default ky;\n","impliedFormat":99},{"version":"-383421929-import ky from 'ky';\nexport const api = ky.extend({});\n","impliedFormat":99}],"root":[3],"options":{"declaration":true,"module":199,"skipDefaultLibCheck":true,"skipLibCheck":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"affectedFilesPendingEmit":[3]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -128,11 +128,11 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped }, "./node_modules/ky/distribution/index.d.ts": { "original": { - "version": "20726041391-type KyInstance = {\n extend(options: Record): KyInstance;\n }\n declare const ky: KyInstance;\n export default ky;\n", + "version": "10101889135-type KyInstance = {\n extend(options: Record): KyInstance;\n}\ndeclare const ky: KyInstance;\nexport default ky;\n", "impliedFormat": 99 }, - "version": "20726041391-type KyInstance = {\n extend(options: Record): KyInstance;\n }\n declare const ky: KyInstance;\n export default ky;\n", - "signature": "20726041391-type KyInstance = {\n extend(options: Record): KyInstance;\n }\n declare const ky: KyInstance;\n export default ky;\n", + "version": "10101889135-type KyInstance = {\n extend(options: Record): KyInstance;\n}\ndeclare const ky: KyInstance;\nexport default ky;\n", + "signature": "10101889135-type KyInstance = {\n extend(options: Record): KyInstance;\n}\ndeclare const ky: KyInstance;\nexport default ky;\n", "impliedFormat": "esnext" }, "./index.ts": { @@ -162,11 +162,6 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped "./node_modules/ky/distribution/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.esnext.full.d.ts", - "./index.ts", - "./node_modules/ky/distribution/index.d.ts" - ], "affectedFilesPendingEmit": [ [ "./index.ts", @@ -175,7 +170,7 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped ] }, "version": "FakeTSVersion", - "size": 1153 + "size": 1112 } @@ -186,12 +181,12 @@ Input:: Output:: /lib/tsc -b /src/project --explainFiles --listEmittedFiles --v -[12:00:22 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:00:23 AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/project/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/project/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted -[12:00:24 AM] Building project '/src/project/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project/tsconfig.json'... src/project/index.ts:2:14 - error TS4023: Exported variable 'api' has or is using name 'KyInstance' from external module "/src/project/node_modules/ky/distribution/index" but cannot be named. diff --git a/tests/baselines/reference/tsbuild/declarationEmit/reports-dts-generation-errors.js b/tests/baselines/reference/tsbuild/declarationEmit/reports-dts-generation-errors.js new file mode 100644 index 0000000000000..12acb1bdf6449 --- /dev/null +++ b/tests/baselines/reference/tsbuild/declarationEmit/reports-dts-generation-errors.js @@ -0,0 +1,132 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Input:: +//// [/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/lib/lib.esnext.full.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/src/project/index.ts] +import ky from 'ky'; +export const api = ky.extend({}); + + +//// [/src/project/node_modules/ky/distribution/index.d.ts] +type KyInstance = { + extend(options: Record): KyInstance; +} +declare const ky: KyInstance; +export default ky; + + +//// [/src/project/node_modules/ky/package.json] +{ + "name": "ky", + "type": "module", + "main": "./distribution/index.js" +} + +//// [/src/project/package.json] +{ + "type": "module" +} + +//// [/src/project/tsconfig.json] +{ + "compilerOptions": { + "module": "NodeNext", + "moduleResolution": "NodeNext", + "declaration": true, + "skipLibCheck": true, + "skipDefaultLibCheck": true + } +} + + + +Output:: +/lib/tsc -b /src/project --explainFiles --listEmittedFiles --v +[HH:MM:SS AM] Projects in this build: + * src/project/tsconfig.json + +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is out of date because output file 'src/project/index.js' does not exist + +[HH:MM:SS AM] Building project '/src/project/tsconfig.json'... + +src/project/index.ts:2:14 - error TS4023: Exported variable 'api' has or is using name 'KyInstance' from external module "/src/project/node_modules/ky/distribution/index" but cannot be named. + +2 export const api = ky.extend({}); +   ~~~ + +lib/lib.esnext.full.d.ts + Default library for target 'esnext' +src/project/node_modules/ky/distribution/index.d.ts + Imported via 'ky' from file 'src/project/index.ts' + File is ECMAScript module because 'src/project/node_modules/ky/package.json' has field "type" with value "module" +src/project/index.ts + Matched by default include pattern '**/*' + File is ECMAScript module because 'src/project/package.json' has field "type" with value "module" + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + + + +Change:: no-change-run +Input:: + + +Output:: +/lib/tsc -b /src/project --explainFiles --listEmittedFiles --v +[HH:MM:SS AM] Projects in this build: + * src/project/tsconfig.json + +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is out of date because output file 'src/project/index.js' does not exist + +[HH:MM:SS AM] Building project '/src/project/tsconfig.json'... + +src/project/index.ts:2:14 - error TS4023: Exported variable 'api' has or is using name 'KyInstance' from external module "/src/project/node_modules/ky/distribution/index" but cannot be named. + +2 export const api = ky.extend({}); +   ~~~ + +lib/lib.esnext.full.d.ts + Default library for target 'esnext' +src/project/node_modules/ky/distribution/index.d.ts + Imported via 'ky' from file 'src/project/index.ts' + File is ECMAScript module because 'src/project/node_modules/ky/package.json' has field "type" with value "module" +src/project/index.ts + Matched by default include pattern '**/*' + File is ECMAScript module because 'src/project/package.json' has field "type" with value "module" + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + diff --git a/tests/baselines/reference/tsbuild/declarationEmit/when-declaration-file-is-referenced-through-triple-slash-but-uses-no-references.js b/tests/baselines/reference/tsbuild/declarationEmit/when-declaration-file-is-referenced-through-triple-slash-but-uses-no-references.js index a13d91bea8107..93a71b9471da4 100644 --- a/tests/baselines/reference/tsbuild/declarationEmit/when-declaration-file-is-referenced-through-triple-slash-but-uses-no-references.js +++ b/tests/baselines/reference/tsbuild/declarationEmit/when-declaration-file-is-referenced-through-triple-slash-but-uses-no-references.js @@ -119,12 +119,12 @@ export function getVar(): keyof typeof variable { Output:: /lib/tsc --b /src/solution/tsconfig.json --verbose -[12:00:21 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/solution/tsconfig.json -[12:00:22 AM] Project 'src/solution/tsconfig.json' is out of date because output file 'src/solution/lib/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/solution/tsconfig.json' is out of date because output file 'src/solution/lib/tsconfig.tsbuildinfo' does not exist -[12:00:23 AM] Building project '/src/solution/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/solution/tsconfig.json'... exitCode:: ExitStatus.Success @@ -172,7 +172,7 @@ function getVar() { //// [/src/solution/lib/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../lib/lib.d.ts","../src/common/types.d.ts","../src/common/nominal.ts","../src/subproject/index.ts","../src/subproject2/index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"23815050294-declare type MyNominal = T & {\n specialKey: Name;\n};","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8103970050-/// \nexport declare type Nominal = MyNominal;","signature":"-29966695877-/// \nexport declare type Nominal = MyNominal;\n","impliedFormat":1},{"version":"-25117049605-import { Nominal } from '../common/nominal';\nexport type MyNominal = Nominal;","signature":"-25703752603-import { Nominal } from '../common/nominal';\nexport type MyNominal = Nominal;\n","impliedFormat":1},{"version":"2747033208-import { MyNominal } from '../subProject/index';\nconst variable = {\n key: 'value' as MyNominal,\n};\nexport function getVar(): keyof typeof variable {\n return 'key';\n}","signature":"-29417180885-import { MyNominal } from '../subProject/index';\ndeclare const variable: {\n key: MyNominal;\n};\nexport declare function getVar(): keyof typeof variable;\nexport {};\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true,"outDir":"./","rootDir":".."},"fileIdsList":[[2],[3],[4]],"referencedMap":[[3,1],[4,2],[5,3]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./src/subProject2/index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../lib/lib.d.ts","../src/common/types.d.ts","../src/common/nominal.ts","../src/subproject/index.ts","../src/subproject2/index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"23815050294-declare type MyNominal = T & {\n specialKey: Name;\n};","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8103970050-/// \nexport declare type Nominal = MyNominal;","signature":"-29966695877-/// \nexport declare type Nominal = MyNominal;\n","impliedFormat":1},{"version":"-25117049605-import { Nominal } from '../common/nominal';\nexport type MyNominal = Nominal;","signature":"-25703752603-import { Nominal } from '../common/nominal';\nexport type MyNominal = Nominal;\n","impliedFormat":1},{"version":"2747033208-import { MyNominal } from '../subProject/index';\nconst variable = {\n key: 'value' as MyNominal,\n};\nexport function getVar(): keyof typeof variable {\n return 'key';\n}","signature":"-29417180885-import { MyNominal } from '../subProject/index';\ndeclare const variable: {\n key: MyNominal;\n};\nexport declare function getVar(): keyof typeof variable;\nexport {};\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true,"outDir":"./","rootDir":".."},"fileIdsList":[[2],[3],[4]],"referencedMap":[[3,1],[4,2],[5,3]],"latestChangedDtsFile":"./src/subProject2/index.d.ts"},"version":"FakeTSVersion"} //// [/src/solution/lib/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -279,16 +279,9 @@ function getVar() { "../src/subproject/index.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "../src/common/nominal.ts", - "../src/common/types.d.ts", - "../src/subproject/index.ts", - "../src/subproject2/index.ts" - ], "latestChangedDtsFile": "./src/subProject2/index.d.ts" }, "version": "FakeTSVersion", - "size": 2137 + "size": 2096 } diff --git a/tests/baselines/reference/tsbuild/declarationEmit/when-declaration-file-is-referenced-through-triple-slash.js b/tests/baselines/reference/tsbuild/declarationEmit/when-declaration-file-is-referenced-through-triple-slash.js index af7fef9202e0a..01c952c39d373 100644 --- a/tests/baselines/reference/tsbuild/declarationEmit/when-declaration-file-is-referenced-through-triple-slash.js +++ b/tests/baselines/reference/tsbuild/declarationEmit/when-declaration-file-is-referenced-through-triple-slash.js @@ -121,24 +121,24 @@ export function getVar(): keyof typeof variable { Output:: /lib/tsc --b /src/solution/tsconfig.json --verbose -[12:00:21 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/solution/src/common/tsconfig.json * src/solution/src/subProject/tsconfig.json * src/solution/src/subProject2/tsconfig.json * src/solution/src/tsconfig.json * src/solution/tsconfig.json -[12:00:22 AM] Project 'src/solution/src/common/tsconfig.json' is out of date because output file 'src/solution/lib/src/common/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/solution/src/common/tsconfig.json' is out of date because output file 'src/solution/lib/src/common/tsconfig.tsbuildinfo' does not exist -[12:00:23 AM] Building project '/src/solution/src/common/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/solution/src/common/tsconfig.json'... -[12:00:32 AM] Project 'src/solution/src/subProject/tsconfig.json' is out of date because output file 'src/solution/lib/src/subProject/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/solution/src/subProject/tsconfig.json' is out of date because output file 'src/solution/lib/src/subProject/tsconfig.tsbuildinfo' does not exist -[12:00:33 AM] Building project '/src/solution/src/subProject/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/solution/src/subProject/tsconfig.json'... -[12:00:40 AM] Project 'src/solution/src/subProject2/tsconfig.json' is out of date because output file 'src/solution/lib/src/subProject2/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/solution/src/subProject2/tsconfig.json' is out of date because output file 'src/solution/lib/src/subProject2/tsconfig.tsbuildinfo' does not exist -[12:00:41 AM] Building project '/src/solution/src/subProject2/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/solution/src/subProject2/tsconfig.json'... exitCode:: ExitStatus.Success @@ -155,7 +155,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); //// [/src/solution/lib/src/common/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../lib/lib.d.ts","../../../src/common/types.d.ts","../../../src/common/nominal.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"23815050294-declare type MyNominal = T & {\n specialKey: Name;\n};","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8103970050-/// \nexport declare type Nominal = MyNominal;","signature":"-29966695877-/// \nexport declare type Nominal = MyNominal;\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"outDir":"../..","rootDir":"../../.."},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,3,2],"latestChangedDtsFile":"./nominal.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../lib/lib.d.ts","../../../src/common/types.d.ts","../../../src/common/nominal.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"23815050294-declare type MyNominal = T & {\n specialKey: Name;\n};","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8103970050-/// \nexport declare type Nominal = MyNominal;","signature":"-29966695877-/// \nexport declare type Nominal = MyNominal;\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"outDir":"../..","rootDir":"../../.."},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./nominal.d.ts"},"version":"FakeTSVersion"} //// [/src/solution/lib/src/common/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -220,15 +220,10 @@ Object.defineProperty(exports, "__esModule", { value: true }); "../../../src/common/types.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../lib/lib.d.ts", - "../../../src/common/nominal.ts", - "../../../src/common/types.d.ts" - ], "latestChangedDtsFile": "./nominal.d.ts" }, "version": "FakeTSVersion", - "size": 1368 + "size": 1331 } //// [/src/solution/lib/src/subProject/index.d.ts] @@ -242,7 +237,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); //// [/src/solution/lib/src/subProject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../lib/lib.d.ts","../../../src/common/types.d.ts","../common/nominal.d.ts","../../../src/subproject/index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"23815050294-declare type MyNominal = T & {\n specialKey: Name;\n};","affectsGlobalScope":true,"impliedFormat":1},{"version":"-29966695877-/// \nexport declare type Nominal = MyNominal;\n","impliedFormat":1},{"version":"-25117049605-import { Nominal } from '../common/nominal';\nexport type MyNominal = Nominal;","signature":"-25703752603-import { Nominal } from '../common/nominal';\nexport type MyNominal = Nominal;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"../..","rootDir":"../../.."},"fileIdsList":[[2],[3]],"referencedMap":[[3,1],[4,2]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../lib/lib.d.ts","../../../src/common/types.d.ts","../common/nominal.d.ts","../../../src/subproject/index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"23815050294-declare type MyNominal = T & {\n specialKey: Name;\n};","affectsGlobalScope":true,"impliedFormat":1},{"version":"-29966695877-/// \nexport declare type Nominal = MyNominal;\n","impliedFormat":1},{"version":"-25117049605-import { Nominal } from '../common/nominal';\nexport type MyNominal = Nominal;","signature":"-25703752603-import { Nominal } from '../common/nominal';\nexport type MyNominal = Nominal;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"../..","rootDir":"../../.."},"fileIdsList":[[2],[3]],"referencedMap":[[3,1],[4,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/src/solution/lib/src/subProject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -323,16 +318,10 @@ Object.defineProperty(exports, "__esModule", { value: true }); "../common/nominal.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../lib/lib.d.ts", - "../common/nominal.d.ts", - "../../../src/common/types.d.ts", - "../../../src/subproject/index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1520 + "size": 1481 } //// [/src/solution/lib/src/subProject2/index.d.ts] @@ -357,7 +346,7 @@ function getVar() { //// [/src/solution/lib/src/subProject2/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../lib/lib.d.ts","../../../src/common/types.d.ts","../common/nominal.d.ts","../subproject/index.d.ts","../../../src/subproject2/index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"23815050294-declare type MyNominal = T & {\n specialKey: Name;\n};","affectsGlobalScope":true,"impliedFormat":1},{"version":"-29966695877-/// \nexport declare type Nominal = MyNominal;\n","impliedFormat":1},{"version":"-25703752603-import { Nominal } from '../common/nominal';\nexport type MyNominal = Nominal;\n","impliedFormat":1},{"version":"2747033208-import { MyNominal } from '../subProject/index';\nconst variable = {\n key: 'value' as MyNominal,\n};\nexport function getVar(): keyof typeof variable {\n return 'key';\n}","signature":"-29417180885-import { MyNominal } from '../subProject/index';\ndeclare const variable: {\n key: MyNominal;\n};\nexport declare function getVar(): keyof typeof variable;\nexport {};\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"outDir":"../..","rootDir":"../../.."},"fileIdsList":[[2],[3],[4]],"referencedMap":[[3,1],[4,2],[5,3]],"semanticDiagnosticsPerFile":[1,3,4,2,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../lib/lib.d.ts","../../../src/common/types.d.ts","../common/nominal.d.ts","../subproject/index.d.ts","../../../src/subproject2/index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"23815050294-declare type MyNominal = T & {\n specialKey: Name;\n};","affectsGlobalScope":true,"impliedFormat":1},{"version":"-29966695877-/// \nexport declare type Nominal = MyNominal;\n","impliedFormat":1},{"version":"-25703752603-import { Nominal } from '../common/nominal';\nexport type MyNominal = Nominal;\n","impliedFormat":1},{"version":"2747033208-import { MyNominal } from '../subProject/index';\nconst variable = {\n key: 'value' as MyNominal,\n};\nexport function getVar(): keyof typeof variable {\n return 'key';\n}","signature":"-29417180885-import { MyNominal } from '../subProject/index';\ndeclare const variable: {\n key: MyNominal;\n};\nexport declare function getVar(): keyof typeof variable;\nexport {};\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"outDir":"../..","rootDir":"../../.."},"fileIdsList":[[2],[3],[4]],"referencedMap":[[3,1],[4,2],[5,3]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/src/solution/lib/src/subProject2/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -454,16 +443,9 @@ function getVar() { "../subproject/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../lib/lib.d.ts", - "../common/nominal.d.ts", - "../subproject/index.d.ts", - "../../../src/common/types.d.ts", - "../../../src/subproject2/index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1854 + "size": 1813 } diff --git a/tests/baselines/reference/tsbuild/declarationEmit/when-declaration-file-used-inferred-type-from-referenced-project.js b/tests/baselines/reference/tsbuild/declarationEmit/when-declaration-file-used-inferred-type-from-referenced-project.js index 5d9154ef86fb4..9563ddaae45c8 100644 --- a/tests/baselines/reference/tsbuild/declarationEmit/when-declaration-file-used-inferred-type-from-referenced-project.js +++ b/tests/baselines/reference/tsbuild/declarationEmit/when-declaration-file-used-inferred-type-from-referenced-project.js @@ -74,17 +74,17 @@ export function fn4() { Output:: /lib/tsc --b /src/packages/pkg2/tsconfig.json --verbose -[12:00:16 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/packages/pkg1/tsconfig.json * src/packages/pkg2/tsconfig.json -[12:00:17 AM] Project 'src/packages/pkg1/tsconfig.json' is out of date because output file 'src/packages/pkg1/lib/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/packages/pkg1/tsconfig.json' is out of date because output file 'src/packages/pkg1/lib/tsconfig.tsbuildinfo' does not exist -[12:00:18 AM] Building project '/src/packages/pkg1/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/packages/pkg1/tsconfig.json'... -[12:00:26 AM] Project 'src/packages/pkg2/tsconfig.json' is out of date because output file 'src/packages/pkg2/lib/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/packages/pkg2/tsconfig.json' is out of date because output file 'src/packages/pkg2/lib/tsconfig.tsbuildinfo' does not exist -[12:00:27 AM] Building project '/src/packages/pkg2/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/packages/pkg2/tsconfig.json'... exitCode:: ExitStatus.Success @@ -104,7 +104,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); //// [/src/packages/pkg1/lib/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../lib/lib.d.ts","../src/index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-2072077482-export interface IThing {\n a: string;\n}\nexport interface IThings {\n thing1: IThing;\n}","signature":"-6291959392-export interface IThing {\n a: string;\n}\nexport interface IThings {\n thing1: IThing;\n}\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"outDir":"./"},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./src/index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../lib/lib.d.ts","../src/index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-2072077482-export interface IThing {\n a: string;\n}\nexport interface IThings {\n thing1: IThing;\n}","signature":"-6291959392-export interface IThing {\n a: string;\n}\nexport interface IThings {\n thing1: IThing;\n}\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"outDir":"./"},"latestChangedDtsFile":"./src/index.d.ts"},"version":"FakeTSVersion"} //// [/src/packages/pkg1/lib/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -146,15 +146,10 @@ Object.defineProperty(exports, "__esModule", { value: true }); "composite": true, "outDir": "./" }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../lib/lib.d.ts", - "../src/index.ts" - ], "latestChangedDtsFile": "./src/index.d.ts" }, "version": "FakeTSVersion", - "size": 1021 + "size": 967 } //// [/src/packages/pkg2/lib/src/index.d.ts] @@ -172,7 +167,7 @@ function fn4() { //// [/src/packages/pkg2/lib/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../lib/lib.d.ts","../../pkg1/lib/src/index.d.ts","../src/index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-6291959392-export interface IThing {\n a: string;\n}\nexport interface IThings {\n thing1: IThing;\n}\n","impliedFormat":1},{"version":"8515046367-import { IThings } from '@fluentui/pkg1';\nexport function fn4() {\n const a: IThings = { thing1: { a: 'b' } };\n return a.thing1;\n}","signature":"-8485768540-export declare function fn4(): import(\"@fluentui/pkg1\").IThing;\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./src/index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../lib/lib.d.ts","../../pkg1/lib/src/index.d.ts","../src/index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-6291959392-export interface IThing {\n a: string;\n}\nexport interface IThings {\n thing1: IThing;\n}\n","impliedFormat":1},{"version":"8515046367-import { IThings } from '@fluentui/pkg1';\nexport function fn4() {\n const a: IThings = { thing1: { a: 'b' } };\n return a.thing1;\n}","signature":"-8485768540-export declare function fn4(): import(\"@fluentui/pkg1\").IThing;\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./src/index.d.ts"},"version":"FakeTSVersion"} //// [/src/packages/pkg2/lib/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -234,14 +229,9 @@ function fn4() { "../../pkg1/lib/src/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../lib/lib.d.ts", - "../../pkg1/lib/src/index.d.ts", - "../src/index.ts" - ], "latestChangedDtsFile": "./src/index.d.ts" }, "version": "FakeTSVersion", - "size": 1234 + "size": 1197 } diff --git a/tests/baselines/reference/tsbuild/demo/in-bad-ref-branch-reports-the-error-about-files-not-in-rootDir-at-the-import-location.js b/tests/baselines/reference/tsbuild/demo/in-bad-ref-branch-reports-the-error-about-files-not-in-rootDir-at-the-import-location.js index 87171c86b52d5..8183c79a1c587 100644 --- a/tests/baselines/reference/tsbuild/demo/in-bad-ref-branch-reports-the-error-about-files-not-in-rootDir-at-the-import-location.js +++ b/tests/baselines/reference/tsbuild/demo/in-bad-ref-branch-reports-the-error-about-files-not-in-rootDir-at-the-import-location.js @@ -144,15 +144,15 @@ export function createZoo(): Array { Output:: /a/lib/tsc --b --verbose -[12:00:25 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * core/tsconfig.json * animals/tsconfig.json * zoo/tsconfig.json * tsconfig.json -[12:00:26 AM] Project 'core/tsconfig.json' is out of date because output file 'lib/core/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'core/tsconfig.json' is out of date because output file 'lib/core/tsconfig.tsbuildinfo' does not exist -[12:00:27 AM] Building project '/user/username/projects/demo/core/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/demo/core/tsconfig.json'... animals/index.ts:1:20 - error TS6059: File '/user/username/projects/demo/animals/animal.ts' is not under 'rootDir' '/user/username/projects/demo/core'. 'rootDir' is expected to contain all source files. @@ -205,13 +205,13 @@ Output::    ~~~ File is included via import here. -[12:00:33 AM] Project 'animals/tsconfig.json' can't be built because its dependency 'core' has errors +[HH:MM:SS AM] Project 'animals/tsconfig.json' can't be built because its dependency 'core' has errors -[12:00:34 AM] Skipping build of project '/user/username/projects/demo/animals/tsconfig.json' because its dependency '/user/username/projects/demo/core' has errors +[HH:MM:SS AM] Skipping build of project '/user/username/projects/demo/animals/tsconfig.json' because its dependency '/user/username/projects/demo/core' has errors -[12:00:35 AM] Project 'zoo/tsconfig.json' can't be built because its dependency 'animals' was not built +[HH:MM:SS AM] Project 'zoo/tsconfig.json' can't be built because its dependency 'animals' was not built -[12:00:36 AM] Skipping build of project '/user/username/projects/demo/zoo/tsconfig.json' because its dependency '/user/username/projects/demo/animals' was not built +[HH:MM:SS AM] Skipping build of project '/user/username/projects/demo/zoo/tsconfig.json' because its dependency '/user/username/projects/demo/animals' was not built Found 7 errors. @@ -220,7 +220,7 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped //// [/user/username/projects/demo/lib/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../../animals/animal.ts","../../animals/dog.ts","../../animals/index.ts","../../core/utilities.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-9289341318-export type Size = \"small\" | \"medium\" | \"large\";\nexport default interface Animal {\n size: Size;\n}\n","impliedFormat":1},{"version":"-18870194049-import Animal from '.';\nimport { makeRandomName } from '../core/utilities';\n\nexport interface Dog extends Animal {\n woof(): void;\n name: string;\n}\n\nexport function createDog(): Dog {\n return ({\n size: \"medium\",\n woof: function(this: Dog) {\n console.log(`${ this.name } says \"Woof\"!`);\n },\n name: makeRandomName()\n });\n}\n","impliedFormat":1},{"version":"-7220553464-import Animal from './animal';\n\nexport default Animal;\nimport { createDog, Dog } from './dog';\nexport { createDog, Dog };\n","impliedFormat":1},{"version":"-22163106409-import * as A from '../animals';\nexport function makeRandomName() {\n return \"Bob!?! \";\n}\n\nexport function lastElementOf(arr: T[]): T | undefined {\n if (arr.length === 0) return undefined;\n return arr[arr.length - 1];\n}\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../../core","strict":true,"target":1},"fileIdsList":[[4,5],[2,3],[4]],"referencedMap":[[3,1],[4,2],[5,3]],"semanticDiagnosticsPerFile":[1,2,3,4,[5,[{"file":"../../core/utilities.ts","start":0,"length":32,"messageText":"'A' is declared but its value is never read.","category":1,"code":6133,"reportsUnnecessary":true}]]],"affectedFilesPendingEmit":[2,3,4,5],"emitSignatures":[2,3,4,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../../animals/animal.ts","../../animals/dog.ts","../../animals/index.ts","../../core/utilities.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-9289341318-export type Size = \"small\" | \"medium\" | \"large\";\nexport default interface Animal {\n size: Size;\n}\n","impliedFormat":1},{"version":"-18870194049-import Animal from '.';\nimport { makeRandomName } from '../core/utilities';\n\nexport interface Dog extends Animal {\n woof(): void;\n name: string;\n}\n\nexport function createDog(): Dog {\n return ({\n size: \"medium\",\n woof: function(this: Dog) {\n console.log(`${ this.name } says \"Woof\"!`);\n },\n name: makeRandomName()\n });\n}\n","impliedFormat":1},{"version":"-7220553464-import Animal from './animal';\n\nexport default Animal;\nimport { createDog, Dog } from './dog';\nexport { createDog, Dog };\n","impliedFormat":1},{"version":"-22163106409-import * as A from '../animals';\nexport function makeRandomName() {\n return \"Bob!?! \";\n}\n\nexport function lastElementOf(arr: T[]): T | undefined {\n if (arr.length === 0) return undefined;\n return arr[arr.length - 1];\n}\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../../core","strict":true,"target":1},"fileIdsList":[[4,5],[2,3],[4]],"referencedMap":[[3,1],[4,2],[5,3]],"semanticDiagnosticsPerFile":[[5,[{"start":0,"length":32,"messageText":"'A' is declared but its value is never read.","category":1,"code":6133,"reportsUnnecessary":true}]]],"affectedFilesPendingEmit":[2,3,4,5],"emitSignatures":[2,3,4,5]},"version":"FakeTSVersion"} //// [/user/username/projects/demo/lib/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -327,15 +327,10 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped ] }, "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "../../animals/animal.ts", - "../../animals/dog.ts", - "../../animals/index.ts", [ "../../core/utilities.ts", [ { - "file": "../../core/utilities.ts", "start": 0, "length": 32, "messageText": "'A' is declared but its value is never read.", @@ -372,6 +367,6 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped ] }, "version": "FakeTSVersion", - "size": 2338 + "size": 2297 } diff --git a/tests/baselines/reference/tsbuild/demo/in-circular-branch-reports-the-error-about-it-by-stopping-build.js b/tests/baselines/reference/tsbuild/demo/in-circular-branch-reports-the-error-about-it-by-stopping-build.js index 07dd78f905f4e..5624e8f361954 100644 --- a/tests/baselines/reference/tsbuild/demo/in-circular-branch-reports-the-error-about-it-by-stopping-build.js +++ b/tests/baselines/reference/tsbuild/demo/in-circular-branch-reports-the-error-about-it-by-stopping-build.js @@ -148,7 +148,7 @@ export function createZoo(): Array { Output:: /a/lib/tsc --b --verbose -[12:00:25 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * animals/tsconfig.json * zoo/tsconfig.json * core/tsconfig.json diff --git a/tests/baselines/reference/tsbuild/demo/in-master-branch-with-everything-setup-correctly-and-reports-no-error.js b/tests/baselines/reference/tsbuild/demo/in-master-branch-with-everything-setup-correctly-and-reports-no-error.js index 549eda6cd89de..b28f2d1e3ab22 100644 --- a/tests/baselines/reference/tsbuild/demo/in-master-branch-with-everything-setup-correctly-and-reports-no-error.js +++ b/tests/baselines/reference/tsbuild/demo/in-master-branch-with-everything-setup-correctly-and-reports-no-error.js @@ -143,23 +143,23 @@ export function createZoo(): Array { Output:: /a/lib/tsc --b --verbose -[12:00:24 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * core/tsconfig.json * animals/tsconfig.json * zoo/tsconfig.json * tsconfig.json -[12:00:25 AM] Project 'core/tsconfig.json' is out of date because output file 'lib/core/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'core/tsconfig.json' is out of date because output file 'lib/core/tsconfig.tsbuildinfo' does not exist -[12:00:26 AM] Building project '/user/username/projects/demo/core/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/demo/core/tsconfig.json'... -[12:00:34 AM] Project 'animals/tsconfig.json' is out of date because output file 'lib/animals/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'animals/tsconfig.json' is out of date because output file 'lib/animals/tsconfig.tsbuildinfo' does not exist -[12:00:35 AM] Building project '/user/username/projects/demo/animals/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/demo/animals/tsconfig.json'... -[12:00:46 AM] Project 'zoo/tsconfig.json' is out of date because output file 'lib/zoo/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'zoo/tsconfig.json' is out of date because output file 'lib/zoo/tsconfig.tsbuildinfo' does not exist -[12:00:47 AM] Building project '/user/username/projects/demo/zoo/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/demo/zoo/tsconfig.json'... exitCode:: ExitStatus.Success @@ -217,7 +217,7 @@ Object.defineProperty(exports, "createDog", { enumerable: true, get: function () //// [/user/username/projects/demo/lib/animals/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../../animals/animal.ts","../../animals/index.ts","../core/utilities.d.ts","../../animals/dog.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-9289341318-export type Size = \"small\" | \"medium\" | \"large\";\nexport default interface Animal {\n size: Size;\n}\n","impliedFormat":1},{"version":"-7220553464-import Animal from './animal';\n\nexport default Animal;\nimport { createDog, Dog } from './dog';\nexport { createDog, Dog };\n","signature":"1096904574-import Animal from './animal';\nexport default Animal;\nimport { createDog, Dog } from './dog';\nexport { createDog, Dog };\n","impliedFormat":1},{"version":"-11345568166-export declare function makeRandomName(): string;\nexport declare function lastElementOf(arr: T[]): T | undefined;\n","impliedFormat":1},{"version":"-18870194049-import Animal from '.';\nimport { makeRandomName } from '../core/utilities';\n\nexport interface Dog extends Animal {\n woof(): void;\n name: string;\n}\n\nexport function createDog(): Dog {\n return ({\n size: \"medium\",\n woof: function(this: Dog) {\n console.log(`${ this.name } says \"Woof\"!`);\n },\n name: makeRandomName()\n });\n}\n","signature":"6032048049-import Animal from '.';\nexport interface Dog extends Animal {\n woof(): void;\n name: string;\n}\nexport declare function createDog(): Dog;\n","impliedFormat":1}],"root":[2,3,5],"options":{"composite":true,"declaration":true,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../../animals","strict":true,"target":1},"fileIdsList":[[3,4],[2,5]],"referencedMap":[[5,1],[3,2]],"semanticDiagnosticsPerFile":[1,2,5,3,4],"latestChangedDtsFile":"./dog.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../../animals/animal.ts","../../animals/index.ts","../core/utilities.d.ts","../../animals/dog.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-9289341318-export type Size = \"small\" | \"medium\" | \"large\";\nexport default interface Animal {\n size: Size;\n}\n","impliedFormat":1},{"version":"-7220553464-import Animal from './animal';\n\nexport default Animal;\nimport { createDog, Dog } from './dog';\nexport { createDog, Dog };\n","signature":"1096904574-import Animal from './animal';\nexport default Animal;\nimport { createDog, Dog } from './dog';\nexport { createDog, Dog };\n","impliedFormat":1},{"version":"-11345568166-export declare function makeRandomName(): string;\nexport declare function lastElementOf(arr: T[]): T | undefined;\n","impliedFormat":1},{"version":"-18870194049-import Animal from '.';\nimport { makeRandomName } from '../core/utilities';\n\nexport interface Dog extends Animal {\n woof(): void;\n name: string;\n}\n\nexport function createDog(): Dog {\n return ({\n size: \"medium\",\n woof: function(this: Dog) {\n console.log(`${ this.name } says \"Woof\"!`);\n },\n name: makeRandomName()\n });\n}\n","signature":"6032048049-import Animal from '.';\nexport interface Dog extends Animal {\n woof(): void;\n name: string;\n}\nexport declare function createDog(): Dog;\n","impliedFormat":1}],"root":[2,3,5],"options":{"composite":true,"declaration":true,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../../animals","strict":true,"target":1},"fileIdsList":[[3,4],[2,5]],"referencedMap":[[5,1],[3,2]],"latestChangedDtsFile":"./dog.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/demo/lib/animals/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -327,21 +327,14 @@ Object.defineProperty(exports, "createDog", { enumerable: true, get: function () "../../animals/dog.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "../../animals/animal.ts", - "../../animals/dog.ts", - "../../animals/index.ts", - "../core/utilities.d.ts" - ], "latestChangedDtsFile": "./dog.d.ts" }, "version": "FakeTSVersion", - "size": 2335 + "size": 2294 } //// [/user/username/projects/demo/lib/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../../core/utilities.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-6723567162-export function makeRandomName() {\n return \"Bob!?! \";\n}\n\nexport function lastElementOf(arr: T[]): T | undefined {\n if (arr.length === 0) return undefined;\n return arr[arr.length - 1];\n}\n","signature":"-11345568166-export declare function makeRandomName(): string;\nexport declare function lastElementOf(arr: T[]): T | undefined;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declaration":true,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../../core","strict":true,"target":1},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./utilities.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../../core/utilities.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-6723567162-export function makeRandomName() {\n return \"Bob!?! \";\n}\n\nexport function lastElementOf(arr: T[]): T | undefined {\n if (arr.length === 0) return undefined;\n return arr[arr.length - 1];\n}\n","signature":"-11345568166-export declare function makeRandomName(): string;\nexport declare function lastElementOf(arr: T[]): T | undefined;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declaration":true,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../../core","strict":true,"target":1},"latestChangedDtsFile":"./utilities.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/demo/lib/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -392,15 +385,10 @@ Object.defineProperty(exports, "createDog", { enumerable: true, get: function () "strict": true, "target": 1 }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "../../core/utilities.ts" - ], "latestChangedDtsFile": "./utilities.d.ts" }, "version": "FakeTSVersion", - "size": 1360 + "size": 1306 } //// [/user/username/projects/demo/lib/core/utilities.d.ts] @@ -424,7 +412,7 @@ function lastElementOf(arr) { //// [/user/username/projects/demo/lib/zoo/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../animals/animal.d.ts","../animals/dog.d.ts","../animals/index.d.ts","../../zoo/zoo.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-9289341318-export type Size = \"small\" | \"medium\" | \"large\";\nexport default interface Animal {\n size: Size;\n}\n","impliedFormat":1},{"version":"6032048049-import Animal from '.';\nexport interface Dog extends Animal {\n woof(): void;\n name: string;\n}\nexport declare function createDog(): Dog;\n","impliedFormat":1},{"version":"1096904574-import Animal from './animal';\nexport default Animal;\nimport { createDog, Dog } from './dog';\nexport { createDog, Dog };\n","impliedFormat":1},{"version":"13034796418-import { Dog, createDog } from '../animals/index';\n\nexport function createZoo(): Array {\n return [\n createDog()\n ];\n}\n","signature":"10305066551-import { Dog } from '../animals/index';\nexport declare function createZoo(): Array;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../../zoo","strict":true,"target":1},"fileIdsList":[[4],[2,3]],"referencedMap":[[3,1],[4,2],[5,1]],"semanticDiagnosticsPerFile":[1,2,3,4,5],"latestChangedDtsFile":"./zoo.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../animals/animal.d.ts","../animals/dog.d.ts","../animals/index.d.ts","../../zoo/zoo.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-9289341318-export type Size = \"small\" | \"medium\" | \"large\";\nexport default interface Animal {\n size: Size;\n}\n","impliedFormat":1},{"version":"6032048049-import Animal from '.';\nexport interface Dog extends Animal {\n woof(): void;\n name: string;\n}\nexport declare function createDog(): Dog;\n","impliedFormat":1},{"version":"1096904574-import Animal from './animal';\nexport default Animal;\nimport { createDog, Dog } from './dog';\nexport { createDog, Dog };\n","impliedFormat":1},{"version":"13034796418-import { Dog, createDog } from '../animals/index';\n\nexport function createZoo(): Array {\n return [\n createDog()\n ];\n}\n","signature":"10305066551-import { Dog } from '../animals/index';\nexport declare function createZoo(): Array;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../../zoo","strict":true,"target":1},"fileIdsList":[[4],[2,3]],"referencedMap":[[3,1],[4,2],[5,1]],"latestChangedDtsFile":"./zoo.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/demo/lib/zoo/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -526,17 +514,10 @@ function lastElementOf(arr) { "../animals/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "../animals/animal.d.ts", - "../animals/dog.d.ts", - "../animals/index.d.ts", - "../../zoo/zoo.ts" - ], "latestChangedDtsFile": "./zoo.d.ts" }, "version": "FakeTSVersion", - "size": 1889 + "size": 1848 } //// [/user/username/projects/demo/lib/zoo/zoo.d.ts] diff --git a/tests/baselines/reference/tsbuild/emitDeclarationOnly/only-dts-output-in-circular-import-project-with-emitDeclarationOnly-and-declarationMap.js b/tests/baselines/reference/tsbuild/emitDeclarationOnly/only-dts-output-in-circular-import-project-with-emitDeclarationOnly-and-declarationMap.js index 321f4fddb998c..f251e62b80fc8 100644 --- a/tests/baselines/reference/tsbuild/emitDeclarationOnly/only-dts-output-in-circular-import-project-with-emitDeclarationOnly-and-declarationMap.js +++ b/tests/baselines/reference/tsbuild/emitDeclarationOnly/only-dts-output-in-circular-import-project-with-emitDeclarationOnly-and-declarationMap.js @@ -68,12 +68,12 @@ export { C } from "./c"; Output:: /lib/tsc --b /src --verbose -[12:00:12 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:13 AM] Project 'src/tsconfig.json' is out of date because output file 'src/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/tsconfig.tsbuildinfo' does not exist -[12:00:14 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... exitCode:: ExitStatus.Success @@ -118,7 +118,7 @@ export { C } from "./c"; {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC"} //// [/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../lib/lib.d.ts","./src/c.ts","./src/b.ts","./src/a.ts","./src/index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"3086446657-import { A } from \"./a\";\n\nexport interface C {\n a: A;\n}\n","signature":"-3358372745-import { A } from \"./a\";\nexport interface C {\n a: A;\n}\n","impliedFormat":1},{"version":"-5791025721-import { C } from \"./c\";\n\nexport interface B {\n b: C;\n}\n","signature":"2102342013-import { C } from \"./c\";\nexport interface B {\n b: C;\n}\n","impliedFormat":1},{"version":"-10415053661-import { B } from \"./b\";\n\nexport interface A {\n b: B;\n}\n","signature":"-9690779495-import { B } from \"./b\";\nexport interface A {\n b: B;\n}\n","impliedFormat":1},{"version":"1286756397-export { A } from \"./a\";\nexport { B } from \"./b\";\nexport { C } from \"./c\";\n","impliedFormat":1}],"root":[[2,5]],"options":{"alwaysStrict":true,"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":true,"module":1,"outDir":"./lib","rootDir":"./src","sourceMap":true,"strict":true,"target":1},"fileIdsList":[[3],[2],[4],[2,3,4]],"referencedMap":[[4,1],[3,2],[2,3],[5,4]],"semanticDiagnosticsPerFile":[1,4,3,2,5],"latestChangedDtsFile":"./lib/index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../lib/lib.d.ts","./src/c.ts","./src/b.ts","./src/a.ts","./src/index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"3086446657-import { A } from \"./a\";\n\nexport interface C {\n a: A;\n}\n","signature":"-3358372745-import { A } from \"./a\";\nexport interface C {\n a: A;\n}\n","impliedFormat":1},{"version":"-5791025721-import { C } from \"./c\";\n\nexport interface B {\n b: C;\n}\n","signature":"2102342013-import { C } from \"./c\";\nexport interface B {\n b: C;\n}\n","impliedFormat":1},{"version":"-10415053661-import { B } from \"./b\";\n\nexport interface A {\n b: B;\n}\n","signature":"-9690779495-import { B } from \"./b\";\nexport interface A {\n b: B;\n}\n","impliedFormat":1},{"version":"1286756397-export { A } from \"./a\";\nexport { B } from \"./b\";\nexport { C } from \"./c\";\n","impliedFormat":1}],"root":[[2,5]],"options":{"alwaysStrict":true,"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":true,"module":1,"outDir":"./lib","rootDir":"./src","sourceMap":true,"strict":true,"target":1},"fileIdsList":[[3],[2],[4],[2,3,4]],"referencedMap":[[4,1],[3,2],[2,3],[5,4]],"latestChangedDtsFile":"./lib/index.d.ts"},"version":"FakeTSVersion"} //// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -242,17 +242,10 @@ export { C } from "./c"; "./src/a.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../lib/lib.d.ts", - "./src/a.ts", - "./src/b.ts", - "./src/c.ts", - "./src/index.ts" - ], "latestChangedDtsFile": "./lib/index.d.ts" }, "version": "FakeTSVersion", - "size": 1775 + "size": 1734 } @@ -271,12 +264,12 @@ export interface A { Output:: /lib/tsc --b /src --verbose -[12:00:28 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:29 AM] Project 'src/tsconfig.json' is out of date because output 'src/tsconfig.tsbuildinfo' is older than input 'src/src/a.ts' +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output 'src/tsconfig.tsbuildinfo' is older than input 'src/src/a.ts' -[12:00:30 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... exitCode:: ExitStatus.Success @@ -296,7 +289,7 @@ export interface A { //// [/src/lib/c.d.ts.map] file written with same contents //// [/src/lib/index.d.ts.map] file written with same contents //// [/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../lib/lib.d.ts","./src/c.ts","./src/b.ts","./src/a.ts","./src/index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"3086446657-import { A } from \"./a\";\n\nexport interface C {\n a: A;\n}\n","signature":"-3358372745-import { A } from \"./a\";\nexport interface C {\n a: A;\n}\n","impliedFormat":1},{"version":"-5791025721-import { C } from \"./c\";\n\nexport interface B {\n b: C;\n}\n","signature":"2102342013-import { C } from \"./c\";\nexport interface B {\n b: C;\n}\n","impliedFormat":1},{"version":"-4477156252-import { B } from \"./b\";\n\nexport interface A {\n b: B; foo: any;\n}\n","signature":"-7623824316-import { B } from \"./b\";\nexport interface A {\n b: B;\n foo: any;\n}\n","impliedFormat":1},{"version":"1286756397-export { A } from \"./a\";\nexport { B } from \"./b\";\nexport { C } from \"./c\";\n","impliedFormat":1}],"root":[[2,5]],"options":{"alwaysStrict":true,"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":true,"module":1,"outDir":"./lib","rootDir":"./src","sourceMap":true,"strict":true,"target":1},"fileIdsList":[[3],[2],[4],[2,3,4]],"referencedMap":[[4,1],[3,2],[2,3],[5,4]],"semanticDiagnosticsPerFile":[1,4,3,2,5],"latestChangedDtsFile":"./lib/a.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../lib/lib.d.ts","./src/c.ts","./src/b.ts","./src/a.ts","./src/index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"3086446657-import { A } from \"./a\";\n\nexport interface C {\n a: A;\n}\n","signature":"-3358372745-import { A } from \"./a\";\nexport interface C {\n a: A;\n}\n","impliedFormat":1},{"version":"-5791025721-import { C } from \"./c\";\n\nexport interface B {\n b: C;\n}\n","signature":"2102342013-import { C } from \"./c\";\nexport interface B {\n b: C;\n}\n","impliedFormat":1},{"version":"-4477156252-import { B } from \"./b\";\n\nexport interface A {\n b: B; foo: any;\n}\n","signature":"-7623824316-import { B } from \"./b\";\nexport interface A {\n b: B;\n foo: any;\n}\n","impliedFormat":1},{"version":"1286756397-export { A } from \"./a\";\nexport { B } from \"./b\";\nexport { C } from \"./c\";\n","impliedFormat":1}],"root":[[2,5]],"options":{"alwaysStrict":true,"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":true,"module":1,"outDir":"./lib","rootDir":"./src","sourceMap":true,"strict":true,"target":1},"fileIdsList":[[3],[2],[4],[2,3,4]],"referencedMap":[[4,1],[3,2],[2,3],[5,4]],"latestChangedDtsFile":"./lib/a.d.ts"},"version":"FakeTSVersion"} //// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -420,16 +413,9 @@ export interface A { "./src/a.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../lib/lib.d.ts", - "./src/a.ts", - "./src/b.ts", - "./src/c.ts", - "./src/index.ts" - ], "latestChangedDtsFile": "./lib/a.d.ts" }, "version": "FakeTSVersion", - "size": 1795 + "size": 1754 } diff --git a/tests/baselines/reference/tsbuild/emitDeclarationOnly/only-dts-output-in-circular-import-project-with-emitDeclarationOnly.js b/tests/baselines/reference/tsbuild/emitDeclarationOnly/only-dts-output-in-circular-import-project-with-emitDeclarationOnly.js index 1e21ec66161af..75cf10bdf4c58 100644 --- a/tests/baselines/reference/tsbuild/emitDeclarationOnly/only-dts-output-in-circular-import-project-with-emitDeclarationOnly.js +++ b/tests/baselines/reference/tsbuild/emitDeclarationOnly/only-dts-output-in-circular-import-project-with-emitDeclarationOnly.js @@ -68,12 +68,12 @@ export { C } from "./c"; Output:: /lib/tsc --b /src --verbose -[12:00:13 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:14 AM] Project 'src/tsconfig.json' is out of date because output file 'src/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/tsconfig.tsbuildinfo' does not exist -[12:00:15 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... exitCode:: ExitStatus.Success @@ -106,7 +106,7 @@ export { C } from "./c"; //// [/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../lib/lib.d.ts","./src/c.ts","./src/b.ts","./src/a.ts","./src/index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"3086446657-import { A } from \"./a\";\n\nexport interface C {\n a: A;\n}\n","signature":"-3358372745-import { A } from \"./a\";\nexport interface C {\n a: A;\n}\n","impliedFormat":1},{"version":"-5791025721-import { C } from \"./c\";\n\nexport interface B {\n b: C;\n}\n","signature":"2102342013-import { C } from \"./c\";\nexport interface B {\n b: C;\n}\n","impliedFormat":1},{"version":"-10415053661-import { B } from \"./b\";\n\nexport interface A {\n b: B;\n}\n","signature":"-9690779495-import { B } from \"./b\";\nexport interface A {\n b: B;\n}\n","impliedFormat":1},{"version":"1286756397-export { A } from \"./a\";\nexport { B } from \"./b\";\nexport { C } from \"./c\";\n","impliedFormat":1}],"root":[[2,5]],"options":{"alwaysStrict":true,"composite":true,"declaration":true,"emitDeclarationOnly":true,"esModuleInterop":true,"module":1,"outDir":"./lib","rootDir":"./src","sourceMap":true,"strict":true,"target":1},"fileIdsList":[[3],[2],[4],[2,3,4]],"referencedMap":[[4,1],[3,2],[2,3],[5,4]],"semanticDiagnosticsPerFile":[1,4,3,2,5],"latestChangedDtsFile":"./lib/index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../lib/lib.d.ts","./src/c.ts","./src/b.ts","./src/a.ts","./src/index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"3086446657-import { A } from \"./a\";\n\nexport interface C {\n a: A;\n}\n","signature":"-3358372745-import { A } from \"./a\";\nexport interface C {\n a: A;\n}\n","impliedFormat":1},{"version":"-5791025721-import { C } from \"./c\";\n\nexport interface B {\n b: C;\n}\n","signature":"2102342013-import { C } from \"./c\";\nexport interface B {\n b: C;\n}\n","impliedFormat":1},{"version":"-10415053661-import { B } from \"./b\";\n\nexport interface A {\n b: B;\n}\n","signature":"-9690779495-import { B } from \"./b\";\nexport interface A {\n b: B;\n}\n","impliedFormat":1},{"version":"1286756397-export { A } from \"./a\";\nexport { B } from \"./b\";\nexport { C } from \"./c\";\n","impliedFormat":1}],"root":[[2,5]],"options":{"alwaysStrict":true,"composite":true,"declaration":true,"emitDeclarationOnly":true,"esModuleInterop":true,"module":1,"outDir":"./lib","rootDir":"./src","sourceMap":true,"strict":true,"target":1},"fileIdsList":[[3],[2],[4],[2,3,4]],"referencedMap":[[4,1],[3,2],[2,3],[5,4]],"latestChangedDtsFile":"./lib/index.d.ts"},"version":"FakeTSVersion"} //// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,17 +229,10 @@ export { C } from "./c"; "./src/a.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../lib/lib.d.ts", - "./src/a.ts", - "./src/b.ts", - "./src/c.ts", - "./src/index.ts" - ], "latestChangedDtsFile": "./lib/index.d.ts" }, "version": "FakeTSVersion", - "size": 1753 + "size": 1712 } @@ -258,12 +251,12 @@ export interface A { Output:: /lib/tsc --b /src --verbose -[12:00:25 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:26 AM] Project 'src/tsconfig.json' is out of date because output 'src/tsconfig.tsbuildinfo' is older than input 'src/src/a.ts' +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output 'src/tsconfig.tsbuildinfo' is older than input 'src/src/a.ts' -[12:00:27 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... exitCode:: ExitStatus.Success @@ -277,7 +270,7 @@ export interface A { //// [/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../lib/lib.d.ts","./src/c.ts","./src/b.ts","./src/a.ts","./src/index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"3086446657-import { A } from \"./a\";\n\nexport interface C {\n a: A;\n}\n","signature":"-3358372745-import { A } from \"./a\";\nexport interface C {\n a: A;\n}\n","impliedFormat":1},{"version":"-5791025721-import { C } from \"./c\";\n\nexport interface B {\n b: C;\n}\n","signature":"2102342013-import { C } from \"./c\";\nexport interface B {\n b: C;\n}\n","impliedFormat":1},{"version":"-4477156252-import { B } from \"./b\";\n\nexport interface A {\n b: B; foo: any;\n}\n","signature":"-7623824316-import { B } from \"./b\";\nexport interface A {\n b: B;\n foo: any;\n}\n","impliedFormat":1},{"version":"1286756397-export { A } from \"./a\";\nexport { B } from \"./b\";\nexport { C } from \"./c\";\n","impliedFormat":1}],"root":[[2,5]],"options":{"alwaysStrict":true,"composite":true,"declaration":true,"emitDeclarationOnly":true,"esModuleInterop":true,"module":1,"outDir":"./lib","rootDir":"./src","sourceMap":true,"strict":true,"target":1},"fileIdsList":[[3],[2],[4],[2,3,4]],"referencedMap":[[4,1],[3,2],[2,3],[5,4]],"semanticDiagnosticsPerFile":[1,4,3,2,5],"latestChangedDtsFile":"./lib/a.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../lib/lib.d.ts","./src/c.ts","./src/b.ts","./src/a.ts","./src/index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"3086446657-import { A } from \"./a\";\n\nexport interface C {\n a: A;\n}\n","signature":"-3358372745-import { A } from \"./a\";\nexport interface C {\n a: A;\n}\n","impliedFormat":1},{"version":"-5791025721-import { C } from \"./c\";\n\nexport interface B {\n b: C;\n}\n","signature":"2102342013-import { C } from \"./c\";\nexport interface B {\n b: C;\n}\n","impliedFormat":1},{"version":"-4477156252-import { B } from \"./b\";\n\nexport interface A {\n b: B; foo: any;\n}\n","signature":"-7623824316-import { B } from \"./b\";\nexport interface A {\n b: B;\n foo: any;\n}\n","impliedFormat":1},{"version":"1286756397-export { A } from \"./a\";\nexport { B } from \"./b\";\nexport { C } from \"./c\";\n","impliedFormat":1}],"root":[[2,5]],"options":{"alwaysStrict":true,"composite":true,"declaration":true,"emitDeclarationOnly":true,"esModuleInterop":true,"module":1,"outDir":"./lib","rootDir":"./src","sourceMap":true,"strict":true,"target":1},"fileIdsList":[[3],[2],[4],[2,3,4]],"referencedMap":[[4,1],[3,2],[2,3],[5,4]],"latestChangedDtsFile":"./lib/a.d.ts"},"version":"FakeTSVersion"} //// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -400,16 +393,9 @@ export interface A { "./src/a.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../lib/lib.d.ts", - "./src/a.ts", - "./src/b.ts", - "./src/c.ts", - "./src/index.ts" - ], "latestChangedDtsFile": "./lib/a.d.ts" }, "version": "FakeTSVersion", - "size": 1773 + "size": 1732 } diff --git a/tests/baselines/reference/tsbuild/emitDeclarationOnly/only-dts-output-in-non-circular-imports-project-with-emitDeclarationOnly.js b/tests/baselines/reference/tsbuild/emitDeclarationOnly/only-dts-output-in-non-circular-imports-project-with-emitDeclarationOnly.js index 06a05d1645b09..adfefc83708a5 100644 --- a/tests/baselines/reference/tsbuild/emitDeclarationOnly/only-dts-output-in-non-circular-imports-project-with-emitDeclarationOnly.js +++ b/tests/baselines/reference/tsbuild/emitDeclarationOnly/only-dts-output-in-non-circular-imports-project-with-emitDeclarationOnly.js @@ -62,12 +62,12 @@ export interface C { Output:: /lib/tsc --b /src --verbose -[12:00:14 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:15 AM] Project 'src/tsconfig.json' is out of date because output file 'src/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/tsconfig.tsbuildinfo' does not exist -[12:00:16 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... exitCode:: ExitStatus.Success @@ -105,7 +105,7 @@ export interface C { {"version":3,"file":"c.d.ts","sourceRoot":"","sources":["../src/c.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,WAAW,CAAC;IACd,CAAC,EAAE,CAAC,CAAC;CACR"} //// [/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../lib/lib.d.ts","./src/a.ts","./src/c.ts","./src/b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"12550013887-export class B { prop = \"hello\"; }\n\nexport interface A {\n b: B;\n}\n","signature":"-15427030283-export declare class B {\n prop: string;\n}\nexport interface A {\n b: B;\n}\n","impliedFormat":1},{"version":"3086446657-import { A } from \"./a\";\n\nexport interface C {\n a: A;\n}\n","signature":"-3358372745-import { A } from \"./a\";\nexport interface C {\n a: A;\n}\n","impliedFormat":1},{"version":"-5791025721-import { C } from \"./c\";\n\nexport interface B {\n b: C;\n}\n","signature":"2102342013-import { C } from \"./c\";\nexport interface B {\n b: C;\n}\n","impliedFormat":1}],"root":[[2,4]],"options":{"alwaysStrict":true,"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":true,"module":1,"outDir":"./lib","rootDir":"./src","sourceMap":true,"strict":true,"target":1},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,2,4,3],"latestChangedDtsFile":"./lib/b.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../lib/lib.d.ts","./src/a.ts","./src/c.ts","./src/b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"12550013887-export class B { prop = \"hello\"; }\n\nexport interface A {\n b: B;\n}\n","signature":"-15427030283-export declare class B {\n prop: string;\n}\nexport interface A {\n b: B;\n}\n","impliedFormat":1},{"version":"3086446657-import { A } from \"./a\";\n\nexport interface C {\n a: A;\n}\n","signature":"-3358372745-import { A } from \"./a\";\nexport interface C {\n a: A;\n}\n","impliedFormat":1},{"version":"-5791025721-import { C } from \"./c\";\n\nexport interface B {\n b: C;\n}\n","signature":"2102342013-import { C } from \"./c\";\nexport interface B {\n b: C;\n}\n","impliedFormat":1}],"root":[[2,4]],"options":{"alwaysStrict":true,"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":true,"module":1,"outDir":"./lib","rootDir":"./src","sourceMap":true,"strict":true,"target":1},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"latestChangedDtsFile":"./lib/b.d.ts"},"version":"FakeTSVersion"} //// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -202,16 +202,10 @@ export interface C { "./src/a.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../lib/lib.d.ts", - "./src/a.ts", - "./src/b.ts", - "./src/c.ts" - ], "latestChangedDtsFile": "./lib/b.d.ts" }, "version": "FakeTSVersion", - "size": 1630 + "size": 1591 } @@ -231,12 +225,12 @@ export interface A { Output:: /lib/tsc --b /src --verbose -[12:00:28 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:29 AM] Project 'src/tsconfig.json' is out of date because output 'src/tsconfig.tsbuildinfo' is older than input 'src/src/a.ts' +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output 'src/tsconfig.tsbuildinfo' is older than input 'src/src/a.ts' -[12:00:30 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... exitCode:: ExitStatus.Success @@ -245,7 +239,7 @@ exitCode:: ExitStatus.Success {"version":3,"file":"a.d.ts","sourceRoot":"","sources":["../src/a.ts"],"names":[],"mappings":"AAAA,qBAAa,CAAC;IAAG,IAAI,SAAW;CAAE;AAGlC,MAAM,WAAW,CAAC;IACd,CAAC,EAAE,CAAC,CAAC;CACR"} //// [/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../lib/lib.d.ts","./src/a.ts","./src/c.ts","./src/b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"12921437274-export class B { prop = \"hello\"; }\n\nclass C { }\nexport interface A {\n b: B;\n}\n","signature":"-15427030283-export declare class B {\n prop: string;\n}\nexport interface A {\n b: B;\n}\n","impliedFormat":1},{"version":"3086446657-import { A } from \"./a\";\n\nexport interface C {\n a: A;\n}\n","signature":"-3358372745-import { A } from \"./a\";\nexport interface C {\n a: A;\n}\n","impliedFormat":1},{"version":"-5791025721-import { C } from \"./c\";\n\nexport interface B {\n b: C;\n}\n","signature":"2102342013-import { C } from \"./c\";\nexport interface B {\n b: C;\n}\n","impliedFormat":1}],"root":[[2,4]],"options":{"alwaysStrict":true,"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":true,"module":1,"outDir":"./lib","rootDir":"./src","sourceMap":true,"strict":true,"target":1},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,2,4,3],"latestChangedDtsFile":"./lib/b.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../lib/lib.d.ts","./src/a.ts","./src/c.ts","./src/b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"12921437274-export class B { prop = \"hello\"; }\n\nclass C { }\nexport interface A {\n b: B;\n}\n","signature":"-15427030283-export declare class B {\n prop: string;\n}\nexport interface A {\n b: B;\n}\n","impliedFormat":1},{"version":"3086446657-import { A } from \"./a\";\n\nexport interface C {\n a: A;\n}\n","signature":"-3358372745-import { A } from \"./a\";\nexport interface C {\n a: A;\n}\n","impliedFormat":1},{"version":"-5791025721-import { C } from \"./c\";\n\nexport interface B {\n b: C;\n}\n","signature":"2102342013-import { C } from \"./c\";\nexport interface B {\n b: C;\n}\n","impliedFormat":1}],"root":[[2,4]],"options":{"alwaysStrict":true,"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":true,"module":1,"outDir":"./lib","rootDir":"./src","sourceMap":true,"strict":true,"target":1},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"latestChangedDtsFile":"./lib/b.d.ts"},"version":"FakeTSVersion"} //// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -342,16 +336,10 @@ exitCode:: ExitStatus.Success "./src/a.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../lib/lib.d.ts", - "./src/a.ts", - "./src/b.ts", - "./src/c.ts" - ], "latestChangedDtsFile": "./lib/b.d.ts" }, "version": "FakeTSVersion", - "size": 1643 + "size": 1604 } @@ -371,12 +359,12 @@ export interface A { Output:: /lib/tsc --b /src --verbose -[12:00:36 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:37 AM] Project 'src/tsconfig.json' is out of date because output 'src/tsconfig.tsbuildinfo' is older than input 'src/src/a.ts' +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output 'src/tsconfig.tsbuildinfo' is older than input 'src/src/a.ts' -[12:00:38 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... exitCode:: ExitStatus.Success @@ -397,7 +385,7 @@ export interface A { //// [/src/lib/b.d.ts.map] file written with same contents //// [/src/lib/c.d.ts.map] file written with same contents //// [/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../lib/lib.d.ts","./src/a.ts","./src/c.ts","./src/b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"17511804123-export class B { prop = \"hello\"; }\n\nclass C { }\nexport interface A {\n b: B; foo: any;\n}\n","signature":"-21227085920-export declare class B {\n prop: string;\n}\nexport interface A {\n b: B;\n foo: any;\n}\n","impliedFormat":1},{"version":"3086446657-import { A } from \"./a\";\n\nexport interface C {\n a: A;\n}\n","signature":"-3358372745-import { A } from \"./a\";\nexport interface C {\n a: A;\n}\n","impliedFormat":1},{"version":"-5791025721-import { C } from \"./c\";\n\nexport interface B {\n b: C;\n}\n","signature":"2102342013-import { C } from \"./c\";\nexport interface B {\n b: C;\n}\n","impliedFormat":1}],"root":[[2,4]],"options":{"alwaysStrict":true,"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":true,"module":1,"outDir":"./lib","rootDir":"./src","sourceMap":true,"strict":true,"target":1},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,2,4,3],"latestChangedDtsFile":"./lib/a.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../lib/lib.d.ts","./src/a.ts","./src/c.ts","./src/b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"17511804123-export class B { prop = \"hello\"; }\n\nclass C { }\nexport interface A {\n b: B; foo: any;\n}\n","signature":"-21227085920-export declare class B {\n prop: string;\n}\nexport interface A {\n b: B;\n foo: any;\n}\n","impliedFormat":1},{"version":"3086446657-import { A } from \"./a\";\n\nexport interface C {\n a: A;\n}\n","signature":"-3358372745-import { A } from \"./a\";\nexport interface C {\n a: A;\n}\n","impliedFormat":1},{"version":"-5791025721-import { C } from \"./c\";\n\nexport interface B {\n b: C;\n}\n","signature":"2102342013-import { C } from \"./c\";\nexport interface B {\n b: C;\n}\n","impliedFormat":1}],"root":[[2,4]],"options":{"alwaysStrict":true,"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":true,"module":1,"outDir":"./lib","rootDir":"./src","sourceMap":true,"strict":true,"target":1},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"latestChangedDtsFile":"./lib/a.d.ts"},"version":"FakeTSVersion"} //// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -494,15 +482,9 @@ export interface A { "./src/a.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../lib/lib.d.ts", - "./src/a.ts", - "./src/b.ts", - "./src/c.ts" - ], "latestChangedDtsFile": "./lib/a.d.ts" }, "version": "FakeTSVersion", - "size": 1668 + "size": 1629 } diff --git a/tests/baselines/reference/tsbuild/emptyFiles/does-not-have-empty-files-diagnostic-when-files-is-empty-and-references-are-provided.js b/tests/baselines/reference/tsbuild/emptyFiles/does-not-have-empty-files-diagnostic-when-files-is-empty-and-references-are-provided.js index a9132ee604bae..97d75493044e5 100644 --- a/tests/baselines/reference/tsbuild/emptyFiles/does-not-have-empty-files-diagnostic-when-files-is-empty-and-references-are-provided.js +++ b/tests/baselines/reference/tsbuild/emptyFiles/does-not-have-empty-files-diagnostic-when-files-is-empty-and-references-are-provided.js @@ -66,7 +66,7 @@ function multiply(a, b) { return a * b; } //// [/src/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"7987260467-export function multiply(a: number, b: number) { return a * b; }","signature":"-8675294677-export declare function multiply(a: number, b: number): number;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"7987260467-export function multiply(a: number, b: number) { return a * b; }","signature":"-8675294677-export declare function multiply(a: number, b: number): number;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/src/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -110,14 +110,9 @@ function multiply(a, b) { return a * b; } "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 998 + "size": 944 } diff --git a/tests/baselines/reference/tsbuild/extends/configDir-template.js b/tests/baselines/reference/tsbuild/extends/configDir-template.js index 45e4bb1d779a6..8c5ad3199241e 100644 --- a/tests/baselines/reference/tsbuild/extends/configDir-template.js +++ b/tests/baselines/reference/tsbuild/extends/configDir-template.js @@ -102,12 +102,12 @@ declare const console: { log(msg: any): void; }; Output:: /lib/tsc -b /home/src/projects/myproject --explainFiles --v -[12:00:27 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * tsconfig.json -[12:00:28 AM] Project 'tsconfig.json' is out of date because output file 'outDir/main.js' does not exist +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file 'outDir/main.js' does not exist -[12:00:29 AM] Building project '/home/src/projects/myproject/tsconfig.json'... +[HH:MM:SS AM] Building project '/home/src/projects/myproject/tsconfig.json'... File '/home/src/projects/myproject/package.json' does not exist. File '/home/src/projects/package.json' does not exist. diff --git a/tests/baselines/reference/tsbuild/extends/resolves-the-symlink-path.js b/tests/baselines/reference/tsbuild/extends/resolves-the-symlink-path.js index 95aaf3e0389fa..cdde064e63fab 100644 --- a/tests/baselines/reference/tsbuild/extends/resolves-the-symlink-path.js +++ b/tests/baselines/reference/tsbuild/extends/resolves-the-symlink-path.js @@ -56,7 +56,7 @@ export declare const x = 10; //// [/users/user/projects/myproject/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"6873164248-// some comment\nexport const x = 10;\n","signature":"-6821242887-export declare const x = 10;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"removeComments":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"6873164248-// some comment\nexport const x = 10;\n","signature":"-6821242887-export declare const x = 10;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"removeComments":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/users/user/projects/myproject/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -98,15 +98,10 @@ export declare const x = 10; "composite": true, "removeComments": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 823 + "size": 769 } diff --git a/tests/baselines/reference/tsbuild/fileDelete/deleted-file-with-outFile-without-composite.js b/tests/baselines/reference/tsbuild/fileDelete/deleted-file-with-outFile-without-composite.js index 5909a10591a5e..b95e7919ff348 100644 --- a/tests/baselines/reference/tsbuild/fileDelete/deleted-file-with-outFile-without-composite.js +++ b/tests/baselines/reference/tsbuild/fileDelete/deleted-file-with-outFile-without-composite.js @@ -39,12 +39,12 @@ export function child2() { Output:: /lib/tsc --b /src/child/tsconfig.json -v --traceResolution --explainFiles -[12:00:10 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/child/tsconfig.json -[12:00:11 AM] Project 'src/child/tsconfig.json' is out of date because output file 'src/childResult.js' does not exist +[HH:MM:SS AM] Project 'src/child/tsconfig.json' is out of date because output file 'src/childResult.js' does not exist -[12:00:12 AM] Building project '/src/child/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/child/tsconfig.json'... File '/src/child/package.json' does not exist. File '/src/package.json' does not exist. @@ -95,10 +95,10 @@ Input:: Output:: /lib/tsc --b /src/child/tsconfig.json -v --traceResolution --explainFiles -[12:00:15 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/child/tsconfig.json -[12:00:16 AM] Project 'src/child/tsconfig.json' is up to date because newest input 'src/child/child.ts' is older than output 'src/childResult.js' +[HH:MM:SS AM] Project 'src/child/tsconfig.json' is up to date because newest input 'src/child/child.ts' is older than output 'src/childResult.js' exitCode:: ExitStatus.Success diff --git a/tests/baselines/reference/tsbuild/fileDelete/deleted-file-without-composite.js b/tests/baselines/reference/tsbuild/fileDelete/deleted-file-without-composite.js index 6ec545528c142..c25672d5a4093 100644 --- a/tests/baselines/reference/tsbuild/fileDelete/deleted-file-without-composite.js +++ b/tests/baselines/reference/tsbuild/fileDelete/deleted-file-without-composite.js @@ -36,12 +36,12 @@ export function child2() { Output:: /lib/tsc --b /src/child/tsconfig.json -v --traceResolution --explainFiles -[12:00:10 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/child/tsconfig.json -[12:00:11 AM] Project 'src/child/tsconfig.json' is out of date because output file 'src/child/child.js' does not exist +[HH:MM:SS AM] Project 'src/child/tsconfig.json' is out of date because output file 'src/child/child.js' does not exist -[12:00:12 AM] Building project '/src/child/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/child/tsconfig.json'... File '/src/child/package.json' does not exist. File '/src/package.json' does not exist. @@ -94,10 +94,10 @@ Input:: Output:: /lib/tsc --b /src/child/tsconfig.json -v --traceResolution --explainFiles -[12:00:17 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/child/tsconfig.json -[12:00:18 AM] Project 'src/child/tsconfig.json' is up to date because newest input 'src/child/child.ts' is older than output 'src/child/child.js' +[HH:MM:SS AM] Project 'src/child/tsconfig.json' is up to date because newest input 'src/child/child.ts' is older than output 'src/child/child.js' exitCode:: ExitStatus.Success diff --git a/tests/baselines/reference/tsbuild/fileDelete/detects-deleted-file-discrepancies.js b/tests/baselines/reference/tsbuild/fileDelete/detects-deleted-file-discrepancies.js index 6c741a3e1f43b..c8f1a8d1e7c95 100644 --- a/tests/baselines/reference/tsbuild/fileDelete/detects-deleted-file-discrepancies.js +++ b/tests/baselines/reference/tsbuild/fileDelete/detects-deleted-file-discrepancies.js @@ -25,14 +25,11 @@ CleanBuild: "options": { "composite": true }, - "referencedMap": {}, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", [ "./child.ts", [ { - "file": "./child.ts", "start": 23, "length": 17, "messageText": "Cannot find module '../child/child2' or its corresponding type declarations.", @@ -71,14 +68,11 @@ IncrementalBuild: "options": { "composite": true }, - "referencedMap": {}, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", [ "./child.ts", [ { - "file": "./child.ts", "start": 23, "length": 17, "messageText": "Cannot find module '../child/child2' or its corresponding type declarations.", diff --git a/tests/baselines/reference/tsbuild/fileDelete/detects-deleted-file-with-outFile.js b/tests/baselines/reference/tsbuild/fileDelete/detects-deleted-file-with-outFile.js index 6e2b870be992f..b08c6b2bbe64b 100644 --- a/tests/baselines/reference/tsbuild/fileDelete/detects-deleted-file-with-outFile.js +++ b/tests/baselines/reference/tsbuild/fileDelete/detects-deleted-file-with-outFile.js @@ -61,13 +61,13 @@ export function main() { Output:: /lib/tsc --b /src/main/tsconfig.json -v --traceResolution --explainFiles -[12:00:13 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/child/tsconfig.json * src/main/tsconfig.json -[12:00:14 AM] Project 'src/child/tsconfig.json' is out of date because output file 'src/childResult.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/child/tsconfig.json' is out of date because output file 'src/childResult.tsbuildinfo' does not exist -[12:00:15 AM] Building project '/src/child/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/child/tsconfig.json'... File '/src/child/package.json' does not exist. File '/src/package.json' does not exist. @@ -88,9 +88,9 @@ src/child/child2.ts Matched by default include pattern '**/*' src/child/child.ts Matched by default include pattern '**/*' -[12:00:21 AM] Project 'src/main/tsconfig.json' is out of date because output file 'src/mainResult.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/main/tsconfig.json' is out of date because output file 'src/mainResult.tsbuildinfo' does not exist -[12:00:22 AM] Building project '/src/main/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/main/tsconfig.json'... File '/src/package.json' does not exist according to earlier cached lookups. File '/package.json' does not exist according to earlier cached lookups. @@ -297,13 +297,13 @@ Input:: Output:: /lib/tsc --b /src/main/tsconfig.json -v --traceResolution --explainFiles -[12:00:29 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/child/tsconfig.json * src/main/tsconfig.json -[12:00:30 AM] Project 'src/child/tsconfig.json' is out of date because buildinfo file 'src/childResult.tsbuildinfo' indicates that file 'src/child/child2.ts' was root file of compilation but not any more. +[HH:MM:SS AM] Project 'src/child/tsconfig.json' is out of date because buildinfo file 'src/childResult.tsbuildinfo' indicates that file 'src/child/child2.ts' was root file of compilation but not any more. -[12:00:31 AM] Building project '/src/child/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/child/tsconfig.json'... File '/src/child/package.json' does not exist. File '/src/package.json' does not exist. @@ -327,9 +327,9 @@ lib/lib.d.ts Default library for target 'es5' src/child/child.ts Matched by default include pattern '**/*' -[12:00:32 AM] Project 'src/main/tsconfig.json' can't be built because its dependency 'src/child' has errors +[HH:MM:SS AM] Project 'src/main/tsconfig.json' can't be built because its dependency 'src/child' has errors -[12:00:33 AM] Skipping build of project '/src/main/tsconfig.json' because its dependency '/src/child' has errors +[HH:MM:SS AM] Skipping build of project '/src/main/tsconfig.json' because its dependency '/src/child' has errors Found 1 error. diff --git a/tests/baselines/reference/tsbuild/fileDelete/detects-deleted-file.js b/tests/baselines/reference/tsbuild/fileDelete/detects-deleted-file.js index 040b7ca9fb265..c97a202dacaec 100644 --- a/tests/baselines/reference/tsbuild/fileDelete/detects-deleted-file.js +++ b/tests/baselines/reference/tsbuild/fileDelete/detects-deleted-file.js @@ -57,13 +57,13 @@ export function main() { Output:: /lib/tsc --b /src/main/tsconfig.json -v --traceResolution --explainFiles -[12:00:13 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/child/tsconfig.json * src/main/tsconfig.json -[12:00:14 AM] Project 'src/child/tsconfig.json' is out of date because output file 'src/child/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/child/tsconfig.json' is out of date because output file 'src/child/tsconfig.tsbuildinfo' does not exist -[12:00:15 AM] Building project '/src/child/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/child/tsconfig.json'... File '/src/child/package.json' does not exist. File '/src/package.json' does not exist. @@ -85,9 +85,9 @@ src/child/child2.ts Matched by default include pattern '**/*' src/child/child.ts Matched by default include pattern '**/*' -[12:00:23 AM] Project 'src/main/tsconfig.json' is out of date because output file 'src/main/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/main/tsconfig.json' is out of date because output file 'src/main/tsconfig.tsbuildinfo' does not exist -[12:00:24 AM] Building project '/src/main/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/main/tsconfig.json'... File '/src/main/package.json' does not exist. File '/src/package.json' does not exist according to earlier cached lookups. @@ -139,7 +139,7 @@ function child2() { //// [/src/child/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./child2.ts","./child.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"6507293504-export function child2() {\n}\n","signature":"-5501507595-export declare function child2(): void;\n","impliedFormat":1},{"version":"-11458139532-import { child2 } from \"../child/child2\";\nexport function child() {\n child2();\n}\n","signature":"-1814288093-export declare function child(): void;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,3,2],"latestChangedDtsFile":"./child.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./child2.ts","./child.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"6507293504-export function child2() {\n}\n","signature":"-5501507595-export declare function child2(): void;\n","impliedFormat":1},{"version":"-11458139532-import { child2 } from \"../child/child2\";\nexport function child() {\n child2();\n}\n","signature":"-1814288093-export declare function child(): void;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./child.d.ts"},"version":"FakeTSVersion"} //// [/src/child/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -205,15 +205,10 @@ function child2() { "./child2.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./child.ts", - "./child2.ts" - ], "latestChangedDtsFile": "./child.d.ts" }, "version": "FakeTSVersion", - "size": 1119 + "size": 1082 } //// [/src/main/main.d.ts] @@ -231,7 +226,7 @@ function main() { //// [/src/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","../child/child.d.ts","./main.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-1814288093-export declare function child(): void;\n","impliedFormat":1},{"version":"-8540107489-import { child } from \"../child/child\";\nexport function main() {\n child();\n}\n","signature":"-2471343004-export declare function main(): void;\n","impliedFormat":1}],"root":[3],"options":{"composite":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","../child/child.d.ts","./main.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-1814288093-export declare function child(): void;\n","impliedFormat":1},{"version":"-8540107489-import { child } from \"../child/child\";\nexport function main() {\n child();\n}\n","signature":"-2471343004-export declare function main(): void;\n","impliedFormat":1}],"root":[3],"options":{"composite":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/src/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -292,15 +287,10 @@ function main() { "../child/child.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "../child/child.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1059 + "size": 1022 } @@ -314,13 +304,13 @@ Input:: Output:: /lib/tsc --b /src/main/tsconfig.json -v --traceResolution --explainFiles -[12:00:33 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/child/tsconfig.json * src/main/tsconfig.json -[12:00:34 AM] Project 'src/child/tsconfig.json' is out of date because buildinfo file 'src/child/tsconfig.tsbuildinfo' indicates that file 'src/child/child2.ts' was root file of compilation but not any more. +[HH:MM:SS AM] Project 'src/child/tsconfig.json' is out of date because buildinfo file 'src/child/tsconfig.tsbuildinfo' indicates that file 'src/child/child2.ts' was root file of compilation but not any more. -[12:00:35 AM] Building project '/src/child/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/child/tsconfig.json'... File '/src/child/package.json' does not exist. File '/src/package.json' does not exist. @@ -348,9 +338,9 @@ lib/lib.d.ts Default library for target 'es5' src/child/child.ts Matched by default include pattern '**/*' -[12:00:39 AM] Project 'src/main/tsconfig.json' can't be built because its dependency 'src/child' has errors +[HH:MM:SS AM] Project 'src/main/tsconfig.json' can't be built because its dependency 'src/child' has errors -[12:00:40 AM] Skipping build of project '/src/main/tsconfig.json' because its dependency '/src/child' has errors +[HH:MM:SS AM] Skipping build of project '/src/main/tsconfig.json' because its dependency '/src/child' has errors Found 1 error. @@ -359,7 +349,7 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped //// [/src/child/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./child.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11458139532-import { child2 } from \"../child/child2\";\nexport function child() {\n child2();\n}\n","signature":"-1814288093-export declare function child(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,[2,[{"file":"./child.ts","start":23,"length":17,"messageText":"Cannot find module '../child/child2' or its corresponding type declarations.","category":1,"code":2307}]]],"affectedFilesPendingEmit":[2],"latestChangedDtsFile":"./child.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./child.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11458139532-import { child2 } from \"../child/child2\";\nexport function child() {\n child2();\n}\n","signature":"-1814288093-export declare function child(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"semanticDiagnosticsPerFile":[[2,[{"start":23,"length":17,"messageText":"Cannot find module '../child/child2' or its corresponding type declarations.","category":1,"code":2307}]]],"affectedFilesPendingEmit":[2],"latestChangedDtsFile":"./child.d.ts"},"version":"FakeTSVersion"} //// [/src/child/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -400,14 +390,11 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped "options": { "composite": true }, - "referencedMap": {}, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", [ "./child.ts", [ { - "file": "./child.ts", "start": 23, "length": 17, "messageText": "Cannot find module '../child/child2' or its corresponding type declarations.", @@ -426,6 +413,6 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped "latestChangedDtsFile": "./child.d.ts" }, "version": "FakeTSVersion", - "size": 1131 + "size": 1090 } diff --git a/tests/baselines/reference/tsbuild/inferredTypeFromTransitiveModule/inferred-type-from-transitive-module-with-isolatedModules.js b/tests/baselines/reference/tsbuild/inferredTypeFromTransitiveModule/inferred-type-from-transitive-module-with-isolatedModules.js index 1fe011eaa836a..72fc4b5821efc 100644 --- a/tests/baselines/reference/tsbuild/inferredTypeFromTransitiveModule/inferred-type-from-transitive-module-with-isolatedModules.js +++ b/tests/baselines/reference/tsbuild/inferredTypeFromTransitiveModule/inferred-type-from-transitive-module-with-isolatedModules.js @@ -76,12 +76,12 @@ export { default as bar } from './bar'; Output:: /lib/tsc --b /src --verbose -[12:00:13 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:14 AM] Project 'src/tsconfig.json' is out of date because output file 'src/obj/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/obj/tsconfig.tsbuildinfo' does not exist -[12:00:15 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... exitCode:: ExitStatus.Success @@ -156,7 +156,7 @@ Object.defineProperty(exports, "bar", { enumerable: true, get: function () { ret //// [/src/obj/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","../bar.ts","../bundling.ts","../global.d.ts","../lazyindex.ts","../index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"9420269200-interface RawAction {\n (...args: any[]): Promise | void;\n}\ninterface ActionFactory {\n (target: T): T;\n}\ndeclare function foo(): ActionFactory;\nexport default foo()(function foobar(param: string): void {\n});\n","signature":"1630430607-declare const _default: (param: string) => void;\nexport default _default;\n","impliedFormat":1},{"version":"-5105594088-export class LazyModule {\n constructor(private importCallback: () => Promise) {}\n}\n\nexport class LazyAction<\n TAction extends (...args: any[]) => any,\n TModule\n> {\n constructor(_lazyModule: LazyModule, _getter: (module: TModule) => TAction) {\n }\n}\n","signature":"-23343356903-export declare class LazyModule {\n private importCallback;\n constructor(importCallback: () => Promise);\n}\nexport declare class LazyAction any, TModule> {\n constructor(_lazyModule: LazyModule, _getter: (module: TModule) => TAction);\n}\n","impliedFormat":1},{"version":"-20910599262-interface PromiseConstructor {\n new (): Promise;\n}\ndeclare var Promise: PromiseConstructor;\ninterface Promise {\n}\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-6956449754-export { default as bar } from './bar';\n","impliedFormat":1},{"version":"6186344161-import { LazyAction, LazyModule } from './bundling';\nconst lazyModule = new LazyModule(() =>\n import('./lazyIndex')\n);\nexport const lazyBar = new LazyAction(lazyModule, m => m.bar);\n","signature":"-13696684486-import { LazyAction } from './bundling';\nexport declare const lazyBar: LazyAction<(param: string) => void, typeof import(\"./lazyIndex\")>;\n","impliedFormat":1}],"root":[[2,6]],"options":{"declaration":true,"outDir":"./","target":1},"fileIdsList":[[3,5],[2]],"referencedMap":[[6,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,6,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","../bar.ts","../bundling.ts","../global.d.ts","../lazyindex.ts","../index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"9420269200-interface RawAction {\n (...args: any[]): Promise | void;\n}\ninterface ActionFactory {\n (target: T): T;\n}\ndeclare function foo(): ActionFactory;\nexport default foo()(function foobar(param: string): void {\n});\n","signature":"1630430607-declare const _default: (param: string) => void;\nexport default _default;\n","impliedFormat":1},{"version":"-5105594088-export class LazyModule {\n constructor(private importCallback: () => Promise) {}\n}\n\nexport class LazyAction<\n TAction extends (...args: any[]) => any,\n TModule\n> {\n constructor(_lazyModule: LazyModule, _getter: (module: TModule) => TAction) {\n }\n}\n","signature":"-23343356903-export declare class LazyModule {\n private importCallback;\n constructor(importCallback: () => Promise);\n}\nexport declare class LazyAction any, TModule> {\n constructor(_lazyModule: LazyModule, _getter: (module: TModule) => TAction);\n}\n","impliedFormat":1},{"version":"-20910599262-interface PromiseConstructor {\n new (): Promise;\n}\ndeclare var Promise: PromiseConstructor;\ninterface Promise {\n}\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-6956449754-export { default as bar } from './bar';\n","impliedFormat":1},{"version":"6186344161-import { LazyAction, LazyModule } from './bundling';\nconst lazyModule = new LazyModule(() =>\n import('./lazyIndex')\n);\nexport const lazyBar = new LazyAction(lazyModule, m => m.bar);\n","signature":"-13696684486-import { LazyAction } from './bundling';\nexport declare const lazyBar: LazyAction<(param: string) => void, typeof import(\"./lazyIndex\")>;\n","impliedFormat":1}],"root":[[2,6]],"options":{"declaration":true,"outDir":"./","target":1},"fileIdsList":[[3,5],[2]],"referencedMap":[[6,1],[5,2]]},"version":"FakeTSVersion"} //// [/src/obj/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -269,18 +269,10 @@ Object.defineProperty(exports, "bar", { enumerable: true, get: function () { ret "../lazyindex.ts": [ "../bar.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "../bar.ts", - "../bundling.ts", - "../global.d.ts", - "../index.ts", - "../lazyindex.ts" - ] + } }, "version": "FakeTSVersion", - "size": 2634 + "size": 2591 } @@ -303,12 +295,12 @@ export default foo()(function foobar(): void { Output:: /lib/tsc --b /src --verbose -[12:00:29 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:30 AM] Project 'src/tsconfig.json' is out of date because output 'src/obj/tsconfig.tsbuildinfo' is older than input 'src/bar.ts' +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output 'src/obj/tsconfig.tsbuildinfo' is older than input 'src/bar.ts' -[12:00:31 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... exitCode:: ExitStatus.Success @@ -332,7 +324,7 @@ export declare const lazyBar: LazyAction<() => void, typeof import("./lazyIndex" //// [/src/obj/lazyIndex.d.ts] file written with same contents //// [/src/obj/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","../bar.ts","../bundling.ts","../global.d.ts","../lazyindex.ts","../index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"10075719182-interface RawAction {\n (...args: any[]): Promise | void;\n}\ninterface ActionFactory {\n (target: T): T;\n}\ndeclare function foo(): ActionFactory;\nexport default foo()(function foobar(): void {\n});\n","signature":"-1866892563-declare const _default: () => void;\nexport default _default;\n","impliedFormat":1},{"version":"-5105594088-export class LazyModule {\n constructor(private importCallback: () => Promise) {}\n}\n\nexport class LazyAction<\n TAction extends (...args: any[]) => any,\n TModule\n> {\n constructor(_lazyModule: LazyModule, _getter: (module: TModule) => TAction) {\n }\n}\n","signature":"-23343356903-export declare class LazyModule {\n private importCallback;\n constructor(importCallback: () => Promise);\n}\nexport declare class LazyAction any, TModule> {\n constructor(_lazyModule: LazyModule, _getter: (module: TModule) => TAction);\n}\n","impliedFormat":1},{"version":"-20910599262-interface PromiseConstructor {\n new (): Promise;\n}\ndeclare var Promise: PromiseConstructor;\ninterface Promise {\n}\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-6956449754-export { default as bar } from './bar';\n","impliedFormat":1},{"version":"6186344161-import { LazyAction, LazyModule } from './bundling';\nconst lazyModule = new LazyModule(() =>\n import('./lazyIndex')\n);\nexport const lazyBar = new LazyAction(lazyModule, m => m.bar);\n","signature":"-4053129224-import { LazyAction } from './bundling';\nexport declare const lazyBar: LazyAction<() => void, typeof import(\"./lazyIndex\")>;\n","impliedFormat":1}],"root":[[2,6]],"options":{"declaration":true,"outDir":"./","target":1},"fileIdsList":[[3,5],[2]],"referencedMap":[[6,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,6,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","../bar.ts","../bundling.ts","../global.d.ts","../lazyindex.ts","../index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"10075719182-interface RawAction {\n (...args: any[]): Promise | void;\n}\ninterface ActionFactory {\n (target: T): T;\n}\ndeclare function foo(): ActionFactory;\nexport default foo()(function foobar(): void {\n});\n","signature":"-1866892563-declare const _default: () => void;\nexport default _default;\n","impliedFormat":1},{"version":"-5105594088-export class LazyModule {\n constructor(private importCallback: () => Promise) {}\n}\n\nexport class LazyAction<\n TAction extends (...args: any[]) => any,\n TModule\n> {\n constructor(_lazyModule: LazyModule, _getter: (module: TModule) => TAction) {\n }\n}\n","signature":"-23343356903-export declare class LazyModule {\n private importCallback;\n constructor(importCallback: () => Promise);\n}\nexport declare class LazyAction any, TModule> {\n constructor(_lazyModule: LazyModule, _getter: (module: TModule) => TAction);\n}\n","impliedFormat":1},{"version":"-20910599262-interface PromiseConstructor {\n new (): Promise;\n}\ndeclare var Promise: PromiseConstructor;\ninterface Promise {\n}\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-6956449754-export { default as bar } from './bar';\n","impliedFormat":1},{"version":"6186344161-import { LazyAction, LazyModule } from './bundling';\nconst lazyModule = new LazyModule(() =>\n import('./lazyIndex')\n);\nexport const lazyBar = new LazyAction(lazyModule, m => m.bar);\n","signature":"-4053129224-import { LazyAction } from './bundling';\nexport declare const lazyBar: LazyAction<() => void, typeof import(\"./lazyIndex\")>;\n","impliedFormat":1}],"root":[[2,6]],"options":{"declaration":true,"outDir":"./","target":1},"fileIdsList":[[3,5],[2]],"referencedMap":[[6,1],[5,2]]},"version":"FakeTSVersion"} //// [/src/obj/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -445,18 +437,10 @@ export declare const lazyBar: LazyAction<() => void, typeof import("./lazyIndex" "../lazyindex.ts": [ "../bar.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "../bar.ts", - "../bundling.ts", - "../global.d.ts", - "../index.ts", - "../lazyindex.ts" - ] + } }, "version": "FakeTSVersion", - "size": 2596 + "size": 2553 } @@ -479,12 +463,12 @@ export default foo()(function foobar(param: string): void { Output:: /lib/tsc --b /src --verbose -[12:00:40 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:41 AM] Project 'src/tsconfig.json' is out of date because output 'src/obj/tsconfig.tsbuildinfo' is older than input 'src/bar.ts' +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output 'src/obj/tsconfig.tsbuildinfo' is older than input 'src/bar.ts' -[12:00:42 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... exitCode:: ExitStatus.Success @@ -508,7 +492,7 @@ export declare const lazyBar: LazyAction<(param: string) => void, typeof import( //// [/src/obj/lazyIndex.d.ts] file written with same contents //// [/src/obj/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","../bar.ts","../bundling.ts","../global.d.ts","../lazyindex.ts","../index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"9420269200-interface RawAction {\n (...args: any[]): Promise | void;\n}\ninterface ActionFactory {\n (target: T): T;\n}\ndeclare function foo(): ActionFactory;\nexport default foo()(function foobar(param: string): void {\n});\n","signature":"1630430607-declare const _default: (param: string) => void;\nexport default _default;\n","impliedFormat":1},{"version":"-5105594088-export class LazyModule {\n constructor(private importCallback: () => Promise) {}\n}\n\nexport class LazyAction<\n TAction extends (...args: any[]) => any,\n TModule\n> {\n constructor(_lazyModule: LazyModule, _getter: (module: TModule) => TAction) {\n }\n}\n","signature":"-23343356903-export declare class LazyModule {\n private importCallback;\n constructor(importCallback: () => Promise);\n}\nexport declare class LazyAction any, TModule> {\n constructor(_lazyModule: LazyModule, _getter: (module: TModule) => TAction);\n}\n","impliedFormat":1},{"version":"-20910599262-interface PromiseConstructor {\n new (): Promise;\n}\ndeclare var Promise: PromiseConstructor;\ninterface Promise {\n}\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-6956449754-export { default as bar } from './bar';\n","impliedFormat":1},{"version":"6186344161-import { LazyAction, LazyModule } from './bundling';\nconst lazyModule = new LazyModule(() =>\n import('./lazyIndex')\n);\nexport const lazyBar = new LazyAction(lazyModule, m => m.bar);\n","signature":"-13696684486-import { LazyAction } from './bundling';\nexport declare const lazyBar: LazyAction<(param: string) => void, typeof import(\"./lazyIndex\")>;\n","impliedFormat":1}],"root":[[2,6]],"options":{"declaration":true,"outDir":"./","target":1},"fileIdsList":[[3,5],[2]],"referencedMap":[[6,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,6,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","../bar.ts","../bundling.ts","../global.d.ts","../lazyindex.ts","../index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"9420269200-interface RawAction {\n (...args: any[]): Promise | void;\n}\ninterface ActionFactory {\n (target: T): T;\n}\ndeclare function foo(): ActionFactory;\nexport default foo()(function foobar(param: string): void {\n});\n","signature":"1630430607-declare const _default: (param: string) => void;\nexport default _default;\n","impliedFormat":1},{"version":"-5105594088-export class LazyModule {\n constructor(private importCallback: () => Promise) {}\n}\n\nexport class LazyAction<\n TAction extends (...args: any[]) => any,\n TModule\n> {\n constructor(_lazyModule: LazyModule, _getter: (module: TModule) => TAction) {\n }\n}\n","signature":"-23343356903-export declare class LazyModule {\n private importCallback;\n constructor(importCallback: () => Promise);\n}\nexport declare class LazyAction any, TModule> {\n constructor(_lazyModule: LazyModule, _getter: (module: TModule) => TAction);\n}\n","impliedFormat":1},{"version":"-20910599262-interface PromiseConstructor {\n new (): Promise;\n}\ndeclare var Promise: PromiseConstructor;\ninterface Promise {\n}\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-6956449754-export { default as bar } from './bar';\n","impliedFormat":1},{"version":"6186344161-import { LazyAction, LazyModule } from './bundling';\nconst lazyModule = new LazyModule(() =>\n import('./lazyIndex')\n);\nexport const lazyBar = new LazyAction(lazyModule, m => m.bar);\n","signature":"-13696684486-import { LazyAction } from './bundling';\nexport declare const lazyBar: LazyAction<(param: string) => void, typeof import(\"./lazyIndex\")>;\n","impliedFormat":1}],"root":[[2,6]],"options":{"declaration":true,"outDir":"./","target":1},"fileIdsList":[[3,5],[2]],"referencedMap":[[6,1],[5,2]]},"version":"FakeTSVersion"} //// [/src/obj/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -621,17 +605,9 @@ export declare const lazyBar: LazyAction<(param: string) => void, typeof import( "../lazyindex.ts": [ "../bar.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "../bar.ts", - "../bundling.ts", - "../global.d.ts", - "../index.ts", - "../lazyindex.ts" - ] + } }, "version": "FakeTSVersion", - "size": 2634 + "size": 2591 } diff --git a/tests/baselines/reference/tsbuild/inferredTypeFromTransitiveModule/inferred-type-from-transitive-module.js b/tests/baselines/reference/tsbuild/inferredTypeFromTransitiveModule/inferred-type-from-transitive-module.js index b9faed3b53f04..6ae4cccae9b6c 100644 --- a/tests/baselines/reference/tsbuild/inferredTypeFromTransitiveModule/inferred-type-from-transitive-module.js +++ b/tests/baselines/reference/tsbuild/inferredTypeFromTransitiveModule/inferred-type-from-transitive-module.js @@ -76,12 +76,12 @@ export { default as bar } from './bar'; Output:: /lib/tsc --b /src --verbose -[12:00:12 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:13 AM] Project 'src/tsconfig.json' is out of date because output file 'src/obj/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/obj/tsconfig.tsbuildinfo' does not exist -[12:00:14 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... exitCode:: ExitStatus.Success @@ -156,7 +156,7 @@ Object.defineProperty(exports, "bar", { enumerable: true, get: function () { ret //// [/src/obj/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","../bar.ts","../bundling.ts","../global.d.ts","../lazyindex.ts","../index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"9420269200-interface RawAction {\n (...args: any[]): Promise | void;\n}\ninterface ActionFactory {\n (target: T): T;\n}\ndeclare function foo(): ActionFactory;\nexport default foo()(function foobar(param: string): void {\n});\n","signature":"1630430607-declare const _default: (param: string) => void;\nexport default _default;\n","impliedFormat":1},{"version":"-5105594088-export class LazyModule {\n constructor(private importCallback: () => Promise) {}\n}\n\nexport class LazyAction<\n TAction extends (...args: any[]) => any,\n TModule\n> {\n constructor(_lazyModule: LazyModule, _getter: (module: TModule) => TAction) {\n }\n}\n","signature":"-23343356903-export declare class LazyModule {\n private importCallback;\n constructor(importCallback: () => Promise);\n}\nexport declare class LazyAction any, TModule> {\n constructor(_lazyModule: LazyModule, _getter: (module: TModule) => TAction);\n}\n","impliedFormat":1},{"version":"-20910599262-interface PromiseConstructor {\n new (): Promise;\n}\ndeclare var Promise: PromiseConstructor;\ninterface Promise {\n}\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-6956449754-export { default as bar } from './bar';\n","impliedFormat":1},{"version":"6186344161-import { LazyAction, LazyModule } from './bundling';\nconst lazyModule = new LazyModule(() =>\n import('./lazyIndex')\n);\nexport const lazyBar = new LazyAction(lazyModule, m => m.bar);\n","signature":"-13696684486-import { LazyAction } from './bundling';\nexport declare const lazyBar: LazyAction<(param: string) => void, typeof import(\"./lazyIndex\")>;\n","impliedFormat":1}],"root":[[2,6]],"options":{"declaration":true,"outDir":"./","target":1},"fileIdsList":[[3,5],[2]],"referencedMap":[[6,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,6,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","../bar.ts","../bundling.ts","../global.d.ts","../lazyindex.ts","../index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"9420269200-interface RawAction {\n (...args: any[]): Promise | void;\n}\ninterface ActionFactory {\n (target: T): T;\n}\ndeclare function foo(): ActionFactory;\nexport default foo()(function foobar(param: string): void {\n});\n","signature":"1630430607-declare const _default: (param: string) => void;\nexport default _default;\n","impliedFormat":1},{"version":"-5105594088-export class LazyModule {\n constructor(private importCallback: () => Promise) {}\n}\n\nexport class LazyAction<\n TAction extends (...args: any[]) => any,\n TModule\n> {\n constructor(_lazyModule: LazyModule, _getter: (module: TModule) => TAction) {\n }\n}\n","signature":"-23343356903-export declare class LazyModule {\n private importCallback;\n constructor(importCallback: () => Promise);\n}\nexport declare class LazyAction any, TModule> {\n constructor(_lazyModule: LazyModule, _getter: (module: TModule) => TAction);\n}\n","impliedFormat":1},{"version":"-20910599262-interface PromiseConstructor {\n new (): Promise;\n}\ndeclare var Promise: PromiseConstructor;\ninterface Promise {\n}\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-6956449754-export { default as bar } from './bar';\n","impliedFormat":1},{"version":"6186344161-import { LazyAction, LazyModule } from './bundling';\nconst lazyModule = new LazyModule(() =>\n import('./lazyIndex')\n);\nexport const lazyBar = new LazyAction(lazyModule, m => m.bar);\n","signature":"-13696684486-import { LazyAction } from './bundling';\nexport declare const lazyBar: LazyAction<(param: string) => void, typeof import(\"./lazyIndex\")>;\n","impliedFormat":1}],"root":[[2,6]],"options":{"declaration":true,"outDir":"./","target":1},"fileIdsList":[[3,5],[2]],"referencedMap":[[6,1],[5,2]]},"version":"FakeTSVersion"} //// [/src/obj/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -269,18 +269,10 @@ Object.defineProperty(exports, "bar", { enumerable: true, get: function () { ret "../lazyindex.ts": [ "../bar.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "../bar.ts", - "../bundling.ts", - "../global.d.ts", - "../index.ts", - "../lazyindex.ts" - ] + } }, "version": "FakeTSVersion", - "size": 2634 + "size": 2591 } @@ -303,12 +295,12 @@ export default foo()(function foobar(): void { Output:: /lib/tsc --b /src --verbose -[12:00:28 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:29 AM] Project 'src/tsconfig.json' is out of date because output 'src/obj/tsconfig.tsbuildinfo' is older than input 'src/bar.ts' +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output 'src/obj/tsconfig.tsbuildinfo' is older than input 'src/bar.ts' -[12:00:30 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... exitCode:: ExitStatus.Success @@ -333,7 +325,7 @@ export declare const lazyBar: LazyAction<() => void, typeof import("./lazyIndex" //// [/src/obj/lazyIndex.d.ts] file written with same contents //// [/src/obj/lazyIndex.js] file written with same contents //// [/src/obj/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","../bar.ts","../bundling.ts","../global.d.ts","../lazyindex.ts","../index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"10075719182-interface RawAction {\n (...args: any[]): Promise | void;\n}\ninterface ActionFactory {\n (target: T): T;\n}\ndeclare function foo(): ActionFactory;\nexport default foo()(function foobar(): void {\n});\n","signature":"-1866892563-declare const _default: () => void;\nexport default _default;\n","impliedFormat":1},{"version":"-5105594088-export class LazyModule {\n constructor(private importCallback: () => Promise) {}\n}\n\nexport class LazyAction<\n TAction extends (...args: any[]) => any,\n TModule\n> {\n constructor(_lazyModule: LazyModule, _getter: (module: TModule) => TAction) {\n }\n}\n","signature":"-23343356903-export declare class LazyModule {\n private importCallback;\n constructor(importCallback: () => Promise);\n}\nexport declare class LazyAction any, TModule> {\n constructor(_lazyModule: LazyModule, _getter: (module: TModule) => TAction);\n}\n","impliedFormat":1},{"version":"-20910599262-interface PromiseConstructor {\n new (): Promise;\n}\ndeclare var Promise: PromiseConstructor;\ninterface Promise {\n}\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-6956449754-export { default as bar } from './bar';\n","impliedFormat":1},{"version":"6186344161-import { LazyAction, LazyModule } from './bundling';\nconst lazyModule = new LazyModule(() =>\n import('./lazyIndex')\n);\nexport const lazyBar = new LazyAction(lazyModule, m => m.bar);\n","signature":"-4053129224-import { LazyAction } from './bundling';\nexport declare const lazyBar: LazyAction<() => void, typeof import(\"./lazyIndex\")>;\n","impliedFormat":1}],"root":[[2,6]],"options":{"declaration":true,"outDir":"./","target":1},"fileIdsList":[[3,5],[2]],"referencedMap":[[6,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,6,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","../bar.ts","../bundling.ts","../global.d.ts","../lazyindex.ts","../index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"10075719182-interface RawAction {\n (...args: any[]): Promise | void;\n}\ninterface ActionFactory {\n (target: T): T;\n}\ndeclare function foo(): ActionFactory;\nexport default foo()(function foobar(): void {\n});\n","signature":"-1866892563-declare const _default: () => void;\nexport default _default;\n","impliedFormat":1},{"version":"-5105594088-export class LazyModule {\n constructor(private importCallback: () => Promise) {}\n}\n\nexport class LazyAction<\n TAction extends (...args: any[]) => any,\n TModule\n> {\n constructor(_lazyModule: LazyModule, _getter: (module: TModule) => TAction) {\n }\n}\n","signature":"-23343356903-export declare class LazyModule {\n private importCallback;\n constructor(importCallback: () => Promise);\n}\nexport declare class LazyAction any, TModule> {\n constructor(_lazyModule: LazyModule, _getter: (module: TModule) => TAction);\n}\n","impliedFormat":1},{"version":"-20910599262-interface PromiseConstructor {\n new (): Promise;\n}\ndeclare var Promise: PromiseConstructor;\ninterface Promise {\n}\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-6956449754-export { default as bar } from './bar';\n","impliedFormat":1},{"version":"6186344161-import { LazyAction, LazyModule } from './bundling';\nconst lazyModule = new LazyModule(() =>\n import('./lazyIndex')\n);\nexport const lazyBar = new LazyAction(lazyModule, m => m.bar);\n","signature":"-4053129224-import { LazyAction } from './bundling';\nexport declare const lazyBar: LazyAction<() => void, typeof import(\"./lazyIndex\")>;\n","impliedFormat":1}],"root":[[2,6]],"options":{"declaration":true,"outDir":"./","target":1},"fileIdsList":[[3,5],[2]],"referencedMap":[[6,1],[5,2]]},"version":"FakeTSVersion"} //// [/src/obj/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -446,18 +438,10 @@ export declare const lazyBar: LazyAction<() => void, typeof import("./lazyIndex" "../lazyindex.ts": [ "../bar.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "../bar.ts", - "../bundling.ts", - "../global.d.ts", - "../index.ts", - "../lazyindex.ts" - ] + } }, "version": "FakeTSVersion", - "size": 2596 + "size": 2553 } @@ -480,12 +464,12 @@ export default foo()(function foobar(param: string): void { Output:: /lib/tsc --b /src --verbose -[12:00:40 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:41 AM] Project 'src/tsconfig.json' is out of date because output 'src/obj/tsconfig.tsbuildinfo' is older than input 'src/bar.ts' +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output 'src/obj/tsconfig.tsbuildinfo' is older than input 'src/bar.ts' -[12:00:42 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... exitCode:: ExitStatus.Success @@ -510,7 +494,7 @@ export declare const lazyBar: LazyAction<(param: string) => void, typeof import( //// [/src/obj/lazyIndex.d.ts] file written with same contents //// [/src/obj/lazyIndex.js] file written with same contents //// [/src/obj/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","../bar.ts","../bundling.ts","../global.d.ts","../lazyindex.ts","../index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"9420269200-interface RawAction {\n (...args: any[]): Promise | void;\n}\ninterface ActionFactory {\n (target: T): T;\n}\ndeclare function foo(): ActionFactory;\nexport default foo()(function foobar(param: string): void {\n});\n","signature":"1630430607-declare const _default: (param: string) => void;\nexport default _default;\n","impliedFormat":1},{"version":"-5105594088-export class LazyModule {\n constructor(private importCallback: () => Promise) {}\n}\n\nexport class LazyAction<\n TAction extends (...args: any[]) => any,\n TModule\n> {\n constructor(_lazyModule: LazyModule, _getter: (module: TModule) => TAction) {\n }\n}\n","signature":"-23343356903-export declare class LazyModule {\n private importCallback;\n constructor(importCallback: () => Promise);\n}\nexport declare class LazyAction any, TModule> {\n constructor(_lazyModule: LazyModule, _getter: (module: TModule) => TAction);\n}\n","impliedFormat":1},{"version":"-20910599262-interface PromiseConstructor {\n new (): Promise;\n}\ndeclare var Promise: PromiseConstructor;\ninterface Promise {\n}\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-6956449754-export { default as bar } from './bar';\n","impliedFormat":1},{"version":"6186344161-import { LazyAction, LazyModule } from './bundling';\nconst lazyModule = new LazyModule(() =>\n import('./lazyIndex')\n);\nexport const lazyBar = new LazyAction(lazyModule, m => m.bar);\n","signature":"-13696684486-import { LazyAction } from './bundling';\nexport declare const lazyBar: LazyAction<(param: string) => void, typeof import(\"./lazyIndex\")>;\n","impliedFormat":1}],"root":[[2,6]],"options":{"declaration":true,"outDir":"./","target":1},"fileIdsList":[[3,5],[2]],"referencedMap":[[6,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,6,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","../bar.ts","../bundling.ts","../global.d.ts","../lazyindex.ts","../index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"9420269200-interface RawAction {\n (...args: any[]): Promise | void;\n}\ninterface ActionFactory {\n (target: T): T;\n}\ndeclare function foo(): ActionFactory;\nexport default foo()(function foobar(param: string): void {\n});\n","signature":"1630430607-declare const _default: (param: string) => void;\nexport default _default;\n","impliedFormat":1},{"version":"-5105594088-export class LazyModule {\n constructor(private importCallback: () => Promise) {}\n}\n\nexport class LazyAction<\n TAction extends (...args: any[]) => any,\n TModule\n> {\n constructor(_lazyModule: LazyModule, _getter: (module: TModule) => TAction) {\n }\n}\n","signature":"-23343356903-export declare class LazyModule {\n private importCallback;\n constructor(importCallback: () => Promise);\n}\nexport declare class LazyAction any, TModule> {\n constructor(_lazyModule: LazyModule, _getter: (module: TModule) => TAction);\n}\n","impliedFormat":1},{"version":"-20910599262-interface PromiseConstructor {\n new (): Promise;\n}\ndeclare var Promise: PromiseConstructor;\ninterface Promise {\n}\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-6956449754-export { default as bar } from './bar';\n","impliedFormat":1},{"version":"6186344161-import { LazyAction, LazyModule } from './bundling';\nconst lazyModule = new LazyModule(() =>\n import('./lazyIndex')\n);\nexport const lazyBar = new LazyAction(lazyModule, m => m.bar);\n","signature":"-13696684486-import { LazyAction } from './bundling';\nexport declare const lazyBar: LazyAction<(param: string) => void, typeof import(\"./lazyIndex\")>;\n","impliedFormat":1}],"root":[[2,6]],"options":{"declaration":true,"outDir":"./","target":1},"fileIdsList":[[3,5],[2]],"referencedMap":[[6,1],[5,2]]},"version":"FakeTSVersion"} //// [/src/obj/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -623,17 +607,9 @@ export declare const lazyBar: LazyAction<(param: string) => void, typeof import( "../lazyindex.ts": [ "../bar.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "../bar.ts", - "../bundling.ts", - "../global.d.ts", - "../index.ts", - "../lazyindex.ts" - ] + } }, "version": "FakeTSVersion", - "size": 2634 + "size": 2591 } diff --git a/tests/baselines/reference/tsbuild/inferredTypeFromTransitiveModule/reports-errors-in-files-affected-by-change-in-signature-with-isolatedModules.js b/tests/baselines/reference/tsbuild/inferredTypeFromTransitiveModule/reports-errors-in-files-affected-by-change-in-signature-with-isolatedModules.js index 1cae761bec806..a8330133fce97 100644 --- a/tests/baselines/reference/tsbuild/inferredTypeFromTransitiveModule/reports-errors-in-files-affected-by-change-in-signature-with-isolatedModules.js +++ b/tests/baselines/reference/tsbuild/inferredTypeFromTransitiveModule/reports-errors-in-files-affected-by-change-in-signature-with-isolatedModules.js @@ -78,12 +78,12 @@ bar("hello"); Output:: /lib/tsc --b /src --verbose -[12:00:14 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:15 AM] Project 'src/tsconfig.json' is out of date because output file 'src/obj/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/obj/tsconfig.tsbuildinfo' does not exist -[12:00:16 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... exitCode:: ExitStatus.Success @@ -160,7 +160,7 @@ var bar_2 = require("./bar"); //// [/src/obj/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","../bar.ts","../bundling.ts","../global.d.ts","../lazyindex.ts","../index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"9420269200-interface RawAction {\n (...args: any[]): Promise | void;\n}\ninterface ActionFactory {\n (target: T): T;\n}\ndeclare function foo(): ActionFactory;\nexport default foo()(function foobar(param: string): void {\n});\n","signature":"1630430607-declare const _default: (param: string) => void;\nexport default _default;\n","impliedFormat":1},{"version":"-5105594088-export class LazyModule {\n constructor(private importCallback: () => Promise) {}\n}\n\nexport class LazyAction<\n TAction extends (...args: any[]) => any,\n TModule\n> {\n constructor(_lazyModule: LazyModule, _getter: (module: TModule) => TAction) {\n }\n}\n","signature":"-23343356903-export declare class LazyModule {\n private importCallback;\n constructor(importCallback: () => Promise);\n}\nexport declare class LazyAction any, TModule> {\n constructor(_lazyModule: LazyModule, _getter: (module: TModule) => TAction);\n}\n","impliedFormat":1},{"version":"-20910599262-interface PromiseConstructor {\n new (): Promise;\n}\ndeclare var Promise: PromiseConstructor;\ninterface Promise {\n}\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"3017320451-export { default as bar } from './bar';\n\nimport { default as bar } from './bar';\nbar(\"hello\");","signature":"-6956449754-export { default as bar } from './bar';\n","impliedFormat":1},{"version":"6186344161-import { LazyAction, LazyModule } from './bundling';\nconst lazyModule = new LazyModule(() =>\n import('./lazyIndex')\n);\nexport const lazyBar = new LazyAction(lazyModule, m => m.bar);\n","signature":"-13696684486-import { LazyAction } from './bundling';\nexport declare const lazyBar: LazyAction<(param: string) => void, typeof import(\"./lazyIndex\")>;\n","impliedFormat":1}],"root":[[2,6]],"options":{"declaration":true,"outDir":"./","target":1},"fileIdsList":[[3,5],[2]],"referencedMap":[[6,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,6,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","../bar.ts","../bundling.ts","../global.d.ts","../lazyindex.ts","../index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"9420269200-interface RawAction {\n (...args: any[]): Promise | void;\n}\ninterface ActionFactory {\n (target: T): T;\n}\ndeclare function foo(): ActionFactory;\nexport default foo()(function foobar(param: string): void {\n});\n","signature":"1630430607-declare const _default: (param: string) => void;\nexport default _default;\n","impliedFormat":1},{"version":"-5105594088-export class LazyModule {\n constructor(private importCallback: () => Promise) {}\n}\n\nexport class LazyAction<\n TAction extends (...args: any[]) => any,\n TModule\n> {\n constructor(_lazyModule: LazyModule, _getter: (module: TModule) => TAction) {\n }\n}\n","signature":"-23343356903-export declare class LazyModule {\n private importCallback;\n constructor(importCallback: () => Promise);\n}\nexport declare class LazyAction any, TModule> {\n constructor(_lazyModule: LazyModule, _getter: (module: TModule) => TAction);\n}\n","impliedFormat":1},{"version":"-20910599262-interface PromiseConstructor {\n new (): Promise;\n}\ndeclare var Promise: PromiseConstructor;\ninterface Promise {\n}\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"3017320451-export { default as bar } from './bar';\n\nimport { default as bar } from './bar';\nbar(\"hello\");","signature":"-6956449754-export { default as bar } from './bar';\n","impliedFormat":1},{"version":"6186344161-import { LazyAction, LazyModule } from './bundling';\nconst lazyModule = new LazyModule(() =>\n import('./lazyIndex')\n);\nexport const lazyBar = new LazyAction(lazyModule, m => m.bar);\n","signature":"-13696684486-import { LazyAction } from './bundling';\nexport declare const lazyBar: LazyAction<(param: string) => void, typeof import(\"./lazyIndex\")>;\n","impliedFormat":1}],"root":[[2,6]],"options":{"declaration":true,"outDir":"./","target":1},"fileIdsList":[[3,5],[2]],"referencedMap":[[6,1],[5,2]]},"version":"FakeTSVersion"} //// [/src/obj/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -274,18 +274,10 @@ var bar_2 = require("./bar"); "../lazyindex.ts": [ "../bar.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "../bar.ts", - "../bundling.ts", - "../global.d.ts", - "../index.ts", - "../lazyindex.ts" - ] + } }, "version": "FakeTSVersion", - "size": 2759 + "size": 2716 } @@ -308,12 +300,12 @@ export default foo()(function foobar(): void { Output:: /lib/tsc --b /src --verbose -[12:00:30 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:31 AM] Project 'src/tsconfig.json' is out of date because output 'src/obj/tsconfig.tsbuildinfo' is older than input 'src/bar.ts' +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output 'src/obj/tsconfig.tsbuildinfo' is older than input 'src/bar.ts' -[12:00:32 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... src/lazyIndex.ts:4:5 - error TS2554: Expected 0 arguments, but got 1. @@ -327,7 +319,7 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped //// [/src/obj/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","../bar.ts","../bundling.ts","../global.d.ts","../lazyindex.ts","../index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"10075719182-interface RawAction {\n (...args: any[]): Promise | void;\n}\ninterface ActionFactory {\n (target: T): T;\n}\ndeclare function foo(): ActionFactory;\nexport default foo()(function foobar(): void {\n});\n","signature":"-1866892563-declare const _default: () => void;\nexport default _default;\n","impliedFormat":1},{"version":"-5105594088-export class LazyModule {\n constructor(private importCallback: () => Promise) {}\n}\n\nexport class LazyAction<\n TAction extends (...args: any[]) => any,\n TModule\n> {\n constructor(_lazyModule: LazyModule, _getter: (module: TModule) => TAction) {\n }\n}\n","signature":"-23343356903-export declare class LazyModule {\n private importCallback;\n constructor(importCallback: () => Promise);\n}\nexport declare class LazyAction any, TModule> {\n constructor(_lazyModule: LazyModule, _getter: (module: TModule) => TAction);\n}\n","impliedFormat":1},{"version":"-20910599262-interface PromiseConstructor {\n new (): Promise;\n}\ndeclare var Promise: PromiseConstructor;\ninterface Promise {\n}\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"3017320451-export { default as bar } from './bar';\n\nimport { default as bar } from './bar';\nbar(\"hello\");","impliedFormat":1},{"version":"6186344161-import { LazyAction, LazyModule } from './bundling';\nconst lazyModule = new LazyModule(() =>\n import('./lazyIndex')\n);\nexport const lazyBar = new LazyAction(lazyModule, m => m.bar);\n","impliedFormat":1}],"root":[[2,6]],"options":{"declaration":true,"outDir":"./","target":1},"fileIdsList":[[3,5],[2]],"referencedMap":[[6,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,6,[5,[{"file":"../lazyindex.ts","start":85,"length":7,"messageText":"Expected 0 arguments, but got 1.","category":1,"code":2554}]]],"affectedFilesPendingEmit":[2,[6],[5]]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","../bar.ts","../bundling.ts","../global.d.ts","../lazyindex.ts","../index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"10075719182-interface RawAction {\n (...args: any[]): Promise | void;\n}\ninterface ActionFactory {\n (target: T): T;\n}\ndeclare function foo(): ActionFactory;\nexport default foo()(function foobar(): void {\n});\n","signature":"-1866892563-declare const _default: () => void;\nexport default _default;\n","impliedFormat":1},{"version":"-5105594088-export class LazyModule {\n constructor(private importCallback: () => Promise) {}\n}\n\nexport class LazyAction<\n TAction extends (...args: any[]) => any,\n TModule\n> {\n constructor(_lazyModule: LazyModule, _getter: (module: TModule) => TAction) {\n }\n}\n","signature":"-23343356903-export declare class LazyModule {\n private importCallback;\n constructor(importCallback: () => Promise);\n}\nexport declare class LazyAction any, TModule> {\n constructor(_lazyModule: LazyModule, _getter: (module: TModule) => TAction);\n}\n","impliedFormat":1},{"version":"-20910599262-interface PromiseConstructor {\n new (): Promise;\n}\ndeclare var Promise: PromiseConstructor;\ninterface Promise {\n}\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"3017320451-export { default as bar } from './bar';\n\nimport { default as bar } from './bar';\nbar(\"hello\");","impliedFormat":1},{"version":"6186344161-import { LazyAction, LazyModule } from './bundling';\nconst lazyModule = new LazyModule(() =>\n import('./lazyIndex')\n);\nexport const lazyBar = new LazyAction(lazyModule, m => m.bar);\n","impliedFormat":1}],"root":[[2,6]],"options":{"declaration":true,"outDir":"./","target":1},"fileIdsList":[[3,5],[2]],"referencedMap":[[6,1],[5,2]],"semanticDiagnosticsPerFile":[[5,[{"start":85,"length":7,"messageText":"Expected 0 arguments, but got 1.","category":1,"code":2554}]]],"affectedFilesPendingEmit":[2,[6],[5]]},"version":"FakeTSVersion"} //// [/src/obj/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -441,16 +433,10 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "../bar.ts", - "../bundling.ts", - "../global.d.ts", - "../index.ts", [ "../lazyindex.ts", [ { - "file": "../lazyindex.ts", "start": 85, "length": 7, "messageText": "Expected 0 arguments, but got 1.", @@ -480,7 +466,7 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped ] }, "version": "FakeTSVersion", - "size": 2663 + "size": 2628 } @@ -503,12 +489,12 @@ export default foo()(function foobar(param: string): void { Output:: /lib/tsc --b /src --verbose -[12:00:37 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:38 AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/obj/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/obj/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted -[12:00:39 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... exitCode:: ExitStatus.Success @@ -518,7 +504,7 @@ exitCode:: ExitStatus.Success //// [/src/obj/index.d.ts] file written with same contents //// [/src/obj/lazyIndex.d.ts] file written with same contents //// [/src/obj/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","../bar.ts","../bundling.ts","../global.d.ts","../lazyindex.ts","../index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"9420269200-interface RawAction {\n (...args: any[]): Promise | void;\n}\ninterface ActionFactory {\n (target: T): T;\n}\ndeclare function foo(): ActionFactory;\nexport default foo()(function foobar(param: string): void {\n});\n","signature":"1630430607-declare const _default: (param: string) => void;\nexport default _default;\n","impliedFormat":1},{"version":"-5105594088-export class LazyModule {\n constructor(private importCallback: () => Promise) {}\n}\n\nexport class LazyAction<\n TAction extends (...args: any[]) => any,\n TModule\n> {\n constructor(_lazyModule: LazyModule, _getter: (module: TModule) => TAction) {\n }\n}\n","signature":"-23343356903-export declare class LazyModule {\n private importCallback;\n constructor(importCallback: () => Promise);\n}\nexport declare class LazyAction any, TModule> {\n constructor(_lazyModule: LazyModule, _getter: (module: TModule) => TAction);\n}\n","impliedFormat":1},{"version":"-20910599262-interface PromiseConstructor {\n new (): Promise;\n}\ndeclare var Promise: PromiseConstructor;\ninterface Promise {\n}\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"3017320451-export { default as bar } from './bar';\n\nimport { default as bar } from './bar';\nbar(\"hello\");","signature":"-6956449754-export { default as bar } from './bar';\n","impliedFormat":1},{"version":"6186344161-import { LazyAction, LazyModule } from './bundling';\nconst lazyModule = new LazyModule(() =>\n import('./lazyIndex')\n);\nexport const lazyBar = new LazyAction(lazyModule, m => m.bar);\n","signature":"-13696684486-import { LazyAction } from './bundling';\nexport declare const lazyBar: LazyAction<(param: string) => void, typeof import(\"./lazyIndex\")>;\n","impliedFormat":1}],"root":[[2,6]],"options":{"declaration":true,"outDir":"./","target":1},"fileIdsList":[[3,5],[2]],"referencedMap":[[6,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,6,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","../bar.ts","../bundling.ts","../global.d.ts","../lazyindex.ts","../index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"9420269200-interface RawAction {\n (...args: any[]): Promise | void;\n}\ninterface ActionFactory {\n (target: T): T;\n}\ndeclare function foo(): ActionFactory;\nexport default foo()(function foobar(param: string): void {\n});\n","signature":"1630430607-declare const _default: (param: string) => void;\nexport default _default;\n","impliedFormat":1},{"version":"-5105594088-export class LazyModule {\n constructor(private importCallback: () => Promise) {}\n}\n\nexport class LazyAction<\n TAction extends (...args: any[]) => any,\n TModule\n> {\n constructor(_lazyModule: LazyModule, _getter: (module: TModule) => TAction) {\n }\n}\n","signature":"-23343356903-export declare class LazyModule {\n private importCallback;\n constructor(importCallback: () => Promise);\n}\nexport declare class LazyAction any, TModule> {\n constructor(_lazyModule: LazyModule, _getter: (module: TModule) => TAction);\n}\n","impliedFormat":1},{"version":"-20910599262-interface PromiseConstructor {\n new (): Promise;\n}\ndeclare var Promise: PromiseConstructor;\ninterface Promise {\n}\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"3017320451-export { default as bar } from './bar';\n\nimport { default as bar } from './bar';\nbar(\"hello\");","signature":"-6956449754-export { default as bar } from './bar';\n","impliedFormat":1},{"version":"6186344161-import { LazyAction, LazyModule } from './bundling';\nconst lazyModule = new LazyModule(() =>\n import('./lazyIndex')\n);\nexport const lazyBar = new LazyAction(lazyModule, m => m.bar);\n","signature":"-13696684486-import { LazyAction } from './bundling';\nexport declare const lazyBar: LazyAction<(param: string) => void, typeof import(\"./lazyIndex\")>;\n","impliedFormat":1}],"root":[[2,6]],"options":{"declaration":true,"outDir":"./","target":1},"fileIdsList":[[3,5],[2]],"referencedMap":[[6,1],[5,2]]},"version":"FakeTSVersion"} //// [/src/obj/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -632,18 +618,10 @@ exitCode:: ExitStatus.Success "../lazyindex.ts": [ "../bar.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "../bar.ts", - "../bundling.ts", - "../global.d.ts", - "../index.ts", - "../lazyindex.ts" - ] + } }, "version": "FakeTSVersion", - "size": 2759 + "size": 2716 } @@ -666,12 +644,12 @@ export default foo()(function foobar(): void { Output:: /lib/tsc --b /src --verbose -[12:00:48 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:49 AM] Project 'src/tsconfig.json' is out of date because output 'src/obj/tsconfig.tsbuildinfo' is older than input 'src/bar.ts' +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output 'src/obj/tsconfig.tsbuildinfo' is older than input 'src/bar.ts' -[12:00:50 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... src/lazyIndex.ts:4:5 - error TS2554: Expected 0 arguments, but got 1. @@ -685,7 +663,7 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped //// [/src/obj/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","../bar.ts","../bundling.ts","../global.d.ts","../lazyindex.ts","../index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"10075719182-interface RawAction {\n (...args: any[]): Promise | void;\n}\ninterface ActionFactory {\n (target: T): T;\n}\ndeclare function foo(): ActionFactory;\nexport default foo()(function foobar(): void {\n});\n","signature":"-1866892563-declare const _default: () => void;\nexport default _default;\n","impliedFormat":1},{"version":"-5105594088-export class LazyModule {\n constructor(private importCallback: () => Promise) {}\n}\n\nexport class LazyAction<\n TAction extends (...args: any[]) => any,\n TModule\n> {\n constructor(_lazyModule: LazyModule, _getter: (module: TModule) => TAction) {\n }\n}\n","signature":"-23343356903-export declare class LazyModule {\n private importCallback;\n constructor(importCallback: () => Promise);\n}\nexport declare class LazyAction any, TModule> {\n constructor(_lazyModule: LazyModule, _getter: (module: TModule) => TAction);\n}\n","impliedFormat":1},{"version":"-20910599262-interface PromiseConstructor {\n new (): Promise;\n}\ndeclare var Promise: PromiseConstructor;\ninterface Promise {\n}\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"3017320451-export { default as bar } from './bar';\n\nimport { default as bar } from './bar';\nbar(\"hello\");","impliedFormat":1},{"version":"6186344161-import { LazyAction, LazyModule } from './bundling';\nconst lazyModule = new LazyModule(() =>\n import('./lazyIndex')\n);\nexport const lazyBar = new LazyAction(lazyModule, m => m.bar);\n","impliedFormat":1}],"root":[[2,6]],"options":{"declaration":true,"outDir":"./","target":1},"fileIdsList":[[3,5],[2]],"referencedMap":[[6,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,6,[5,[{"file":"../lazyindex.ts","start":85,"length":7,"messageText":"Expected 0 arguments, but got 1.","category":1,"code":2554}]]],"affectedFilesPendingEmit":[2,[6],[5]]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","../bar.ts","../bundling.ts","../global.d.ts","../lazyindex.ts","../index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"10075719182-interface RawAction {\n (...args: any[]): Promise | void;\n}\ninterface ActionFactory {\n (target: T): T;\n}\ndeclare function foo(): ActionFactory;\nexport default foo()(function foobar(): void {\n});\n","signature":"-1866892563-declare const _default: () => void;\nexport default _default;\n","impliedFormat":1},{"version":"-5105594088-export class LazyModule {\n constructor(private importCallback: () => Promise) {}\n}\n\nexport class LazyAction<\n TAction extends (...args: any[]) => any,\n TModule\n> {\n constructor(_lazyModule: LazyModule, _getter: (module: TModule) => TAction) {\n }\n}\n","signature":"-23343356903-export declare class LazyModule {\n private importCallback;\n constructor(importCallback: () => Promise);\n}\nexport declare class LazyAction any, TModule> {\n constructor(_lazyModule: LazyModule, _getter: (module: TModule) => TAction);\n}\n","impliedFormat":1},{"version":"-20910599262-interface PromiseConstructor {\n new (): Promise;\n}\ndeclare var Promise: PromiseConstructor;\ninterface Promise {\n}\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"3017320451-export { default as bar } from './bar';\n\nimport { default as bar } from './bar';\nbar(\"hello\");","impliedFormat":1},{"version":"6186344161-import { LazyAction, LazyModule } from './bundling';\nconst lazyModule = new LazyModule(() =>\n import('./lazyIndex')\n);\nexport const lazyBar = new LazyAction(lazyModule, m => m.bar);\n","impliedFormat":1}],"root":[[2,6]],"options":{"declaration":true,"outDir":"./","target":1},"fileIdsList":[[3,5],[2]],"referencedMap":[[6,1],[5,2]],"semanticDiagnosticsPerFile":[[5,[{"start":85,"length":7,"messageText":"Expected 0 arguments, but got 1.","category":1,"code":2554}]]],"affectedFilesPendingEmit":[2,[6],[5]]},"version":"FakeTSVersion"} //// [/src/obj/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -799,16 +777,10 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "../bar.ts", - "../bundling.ts", - "../global.d.ts", - "../index.ts", [ "../lazyindex.ts", [ { - "file": "../lazyindex.ts", "start": 85, "length": 7, "messageText": "Expected 0 arguments, but got 1.", @@ -838,7 +810,7 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped ] }, "version": "FakeTSVersion", - "size": 2663 + "size": 2628 } @@ -855,12 +827,12 @@ bar(); Output:: /lib/tsc --b /src --verbose -[12:00:55 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:56 AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/obj/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/obj/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted -[12:00:57 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... exitCode:: ExitStatus.Success @@ -894,7 +866,7 @@ var bar_2 = require("./bar"); //// [/src/obj/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","../bar.ts","../bundling.ts","../global.d.ts","../lazyindex.ts","../index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"10075719182-interface RawAction {\n (...args: any[]): Promise | void;\n}\ninterface ActionFactory {\n (target: T): T;\n}\ndeclare function foo(): ActionFactory;\nexport default foo()(function foobar(): void {\n});\n","signature":"-1866892563-declare const _default: () => void;\nexport default _default;\n","impliedFormat":1},{"version":"-5105594088-export class LazyModule {\n constructor(private importCallback: () => Promise) {}\n}\n\nexport class LazyAction<\n TAction extends (...args: any[]) => any,\n TModule\n> {\n constructor(_lazyModule: LazyModule, _getter: (module: TModule) => TAction) {\n }\n}\n","signature":"-23343356903-export declare class LazyModule {\n private importCallback;\n constructor(importCallback: () => Promise);\n}\nexport declare class LazyAction any, TModule> {\n constructor(_lazyModule: LazyModule, _getter: (module: TModule) => TAction);\n}\n","impliedFormat":1},{"version":"-20910599262-interface PromiseConstructor {\n new (): Promise;\n}\ndeclare var Promise: PromiseConstructor;\ninterface Promise {\n}\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3721262293-export { default as bar } from './bar';\n\nimport { default as bar } from './bar';\nbar();","signature":"-6956449754-export { default as bar } from './bar';\n","impliedFormat":1},{"version":"6186344161-import { LazyAction, LazyModule } from './bundling';\nconst lazyModule = new LazyModule(() =>\n import('./lazyIndex')\n);\nexport const lazyBar = new LazyAction(lazyModule, m => m.bar);\n","signature":"-4053129224-import { LazyAction } from './bundling';\nexport declare const lazyBar: LazyAction<() => void, typeof import(\"./lazyIndex\")>;\n","impliedFormat":1}],"root":[[2,6]],"options":{"declaration":true,"outDir":"./","target":1},"fileIdsList":[[3,5],[2]],"referencedMap":[[6,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,6,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","../bar.ts","../bundling.ts","../global.d.ts","../lazyindex.ts","../index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"10075719182-interface RawAction {\n (...args: any[]): Promise | void;\n}\ninterface ActionFactory {\n (target: T): T;\n}\ndeclare function foo(): ActionFactory;\nexport default foo()(function foobar(): void {\n});\n","signature":"-1866892563-declare const _default: () => void;\nexport default _default;\n","impliedFormat":1},{"version":"-5105594088-export class LazyModule {\n constructor(private importCallback: () => Promise) {}\n}\n\nexport class LazyAction<\n TAction extends (...args: any[]) => any,\n TModule\n> {\n constructor(_lazyModule: LazyModule, _getter: (module: TModule) => TAction) {\n }\n}\n","signature":"-23343356903-export declare class LazyModule {\n private importCallback;\n constructor(importCallback: () => Promise);\n}\nexport declare class LazyAction any, TModule> {\n constructor(_lazyModule: LazyModule, _getter: (module: TModule) => TAction);\n}\n","impliedFormat":1},{"version":"-20910599262-interface PromiseConstructor {\n new (): Promise;\n}\ndeclare var Promise: PromiseConstructor;\ninterface Promise {\n}\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3721262293-export { default as bar } from './bar';\n\nimport { default as bar } from './bar';\nbar();","signature":"-6956449754-export { default as bar } from './bar';\n","impliedFormat":1},{"version":"6186344161-import { LazyAction, LazyModule } from './bundling';\nconst lazyModule = new LazyModule(() =>\n import('./lazyIndex')\n);\nexport const lazyBar = new LazyAction(lazyModule, m => m.bar);\n","signature":"-4053129224-import { LazyAction } from './bundling';\nexport declare const lazyBar: LazyAction<() => void, typeof import(\"./lazyIndex\")>;\n","impliedFormat":1}],"root":[[2,6]],"options":{"declaration":true,"outDir":"./","target":1},"fileIdsList":[[3,5],[2]],"referencedMap":[[6,1],[5,2]]},"version":"FakeTSVersion"} //// [/src/obj/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1008,17 +980,9 @@ var bar_2 = require("./bar"); "../lazyindex.ts": [ "../bar.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "../bar.ts", - "../bundling.ts", - "../global.d.ts", - "../index.ts", - "../lazyindex.ts" - ] + } }, "version": "FakeTSVersion", - "size": 2713 + "size": 2670 } diff --git a/tests/baselines/reference/tsbuild/javascriptProjectEmit/loads-js-based-projects-and-emits-them-correctly.js b/tests/baselines/reference/tsbuild/javascriptProjectEmit/loads-js-based-projects-and-emits-them-correctly.js index 7e6c616f2679f..a7a7bce30e479 100644 --- a/tests/baselines/reference/tsbuild/javascriptProjectEmit/loads-js-based-projects-and-emits-them-correctly.js +++ b/tests/baselines/reference/tsbuild/javascriptProjectEmit/loads-js-based-projects-and-emits-them-correctly.js @@ -142,7 +142,7 @@ module.exports = {}; //// [/lib/common/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../lib.d.ts","../../src/common/nominal.js"],"fileInfos":[{"version":"-32082413277-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };\ninterface SymbolConstructor {\n readonly species: symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-9003723607-/**\n * @template T, Name\n * @typedef {T & {[Symbol.species]: Name}} Nominal\n */\nmodule.exports = {};\n","signature":"-13020584488-export type Nominal = T & {\n [Symbol.species]: Name;\n};\n","impliedFormat":1}],"root":[2],"options":{"allowJs":true,"checkJs":true,"composite":true,"declaration":true,"outDir":"..","rootDir":"../../src","skipLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./nominal.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../lib.d.ts","../../src/common/nominal.js"],"fileInfos":[{"version":"-32082413277-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };\ninterface SymbolConstructor {\n readonly species: symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-9003723607-/**\n * @template T, Name\n * @typedef {T & {[Symbol.species]: Name}} Nominal\n */\nmodule.exports = {};\n","signature":"-13020584488-export type Nominal = T & {\n [Symbol.species]: Name;\n};\n","impliedFormat":1}],"root":[2],"options":{"allowJs":true,"checkJs":true,"composite":true,"declaration":true,"outDir":"..","rootDir":"../../src","skipLibCheck":true},"latestChangedDtsFile":"./nominal.d.ts"},"version":"FakeTSVersion"} //// [/lib/common/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -189,19 +189,14 @@ module.exports = {}; "rootDir": "../../src", "skipLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../lib.d.ts", - "../../src/common/nominal.js" - ], "latestChangedDtsFile": "./nominal.d.ts" }, "version": "FakeTSVersion", - "size": 1308 + "size": 1254 } //// [/lib/sub-project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../lib.d.ts","../common/nominal.d.ts","../../src/sub-project/index.js"],"fileInfos":[{"version":"-32082413277-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };\ninterface SymbolConstructor {\n readonly species: symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-13020584488-export type Nominal = T & {\n [Symbol.species]: Name;\n};\n","impliedFormat":1},{"version":"-23375763082-import { Nominal } from '../common/nominal';\n\n/**\n * @typedef {Nominal} MyNominal\n */\n","impliedFormat":1}],"root":[3],"options":{"allowJs":true,"checkJs":true,"composite":true,"declaration":true,"outDir":"..","rootDir":"../../src","skipLibCheck":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[2,1,[3,[{"file":"../../src/sub-project/index.js","start":9,"length":7,"messageText":"'Nominal' is a type and cannot be imported in JavaScript files. Use 'import(\"../common/nominal\").Nominal' in a JSDoc type annotation.","category":1,"code":18042}]]],"affectedFilesPendingEmit":[3],"emitSignatures":[3]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../lib.d.ts","../common/nominal.d.ts","../../src/sub-project/index.js"],"fileInfos":[{"version":"-32082413277-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };\ninterface SymbolConstructor {\n readonly species: symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-13020584488-export type Nominal = T & {\n [Symbol.species]: Name;\n};\n","impliedFormat":1},{"version":"-23375763082-import { Nominal } from '../common/nominal';\n\n/**\n * @typedef {Nominal} MyNominal\n */\n","impliedFormat":1}],"root":[3],"options":{"allowJs":true,"checkJs":true,"composite":true,"declaration":true,"outDir":"..","rootDir":"../../src","skipLibCheck":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[[3,[{"start":9,"length":7,"messageText":"'Nominal' is a type and cannot be imported in JavaScript files. Use 'import(\"../common/nominal\").Nominal' in a JSDoc type annotation.","category":1,"code":18042}]]],"affectedFilesPendingEmit":[3],"emitSignatures":[3]},"version":"FakeTSVersion"} //// [/lib/sub-project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -268,13 +263,10 @@ module.exports = {}; ] }, "semanticDiagnosticsPerFile": [ - "../common/nominal.d.ts", - "../lib.d.ts", [ "../../src/sub-project/index.js", [ { - "file": "../../src/sub-project/index.js", "start": 9, "length": 7, "messageText": "'Nominal' is a type and cannot be imported in JavaScript files. Use 'import(\"../common/nominal\").Nominal' in a JSDoc type annotation.", @@ -295,6 +287,6 @@ module.exports = {}; ] }, "version": "FakeTSVersion", - "size": 1645 + "size": 1601 } diff --git a/tests/baselines/reference/tsbuild/javascriptProjectEmit/loads-js-based-projects-with-non-moved-json-files-and-emits-them-correctly.js b/tests/baselines/reference/tsbuild/javascriptProjectEmit/loads-js-based-projects-with-non-moved-json-files-and-emits-them-correctly.js index 77f5e8caadec0..da7eb42369509 100644 --- a/tests/baselines/reference/tsbuild/javascriptProjectEmit/loads-js-based-projects-with-non-moved-json-files-and-emits-them-correctly.js +++ b/tests/baselines/reference/tsbuild/javascriptProjectEmit/loads-js-based-projects-with-non-moved-json-files-and-emits-them-correctly.js @@ -137,7 +137,7 @@ exports.m = common_1.default; //// [/out/sub-project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","../../src/common/obj.json","../../src/common/index.d.ts","../../src/sub-project/index.js"],"fileInfos":[{"version":"-32082413277-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };\ninterface SymbolConstructor {\n readonly species: symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\n","affectsGlobalScope":true,"impliedFormat":1},"2151907832-{\n \"val\": 42\n}",{"version":"-5032674136-import x = require(\"./obj.json\");\nexport = x;\n","impliedFormat":1},{"version":"-14684157955-import mod from '../common';\n\nexport const m = mod;\n","signature":"-12566182521-export const m: {\n val: number;\n};\n","impliedFormat":1}],"root":[4],"options":{"allowJs":true,"checkJs":true,"composite":true,"declaration":true,"esModuleInterop":true,"outDir":"..","rootDir":"../../src","skipLibCheck":true},"fileIdsList":[[2],[3]],"referencedMap":[[3,1],[4,2]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","../../src/common/obj.json","../../src/common/index.d.ts","../../src/sub-project/index.js"],"fileInfos":[{"version":"-32082413277-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };\ninterface SymbolConstructor {\n readonly species: symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\n","affectsGlobalScope":true,"impliedFormat":1},"2151907832-{\n \"val\": 42\n}",{"version":"-5032674136-import x = require(\"./obj.json\");\nexport = x;\n","impliedFormat":1},{"version":"-14684157955-import mod from '../common';\n\nexport const m = mod;\n","signature":"-12566182521-export const m: {\n val: number;\n};\n","impliedFormat":1}],"root":[4],"options":{"allowJs":true,"checkJs":true,"composite":true,"declaration":true,"esModuleInterop":true,"outDir":"..","rootDir":"../../src","skipLibCheck":true},"fileIdsList":[[2],[3]],"referencedMap":[[3,1],[4,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/out/sub-project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -216,16 +216,10 @@ exports.m = common_1.default; "../../src/common/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "../../src/common/index.d.ts", - "../../src/common/obj.json", - "../../src/sub-project/index.js" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1486 + "size": 1447 } //// [/out/sub-project-2/index.d.ts] @@ -250,7 +244,7 @@ function getVar() { //// [/out/sub-project-2/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","../sub-project/index.d.ts","../../src/sub-project-2/index.js"],"fileInfos":[{"version":"-32082413277-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };\ninterface SymbolConstructor {\n readonly species: symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-12566182521-export const m: {\n val: number;\n};\n","impliedFormat":1},{"version":"13545386800-import { m } from '../sub-project/index';\n\nconst variable = {\n key: m,\n};\n\nexport function getVar() {\n return variable;\n}\n","signature":"2403991005-export function getVar(): {\n key: {\n val: number;\n };\n};\n","impliedFormat":1}],"root":[3],"options":{"allowJs":true,"checkJs":true,"composite":true,"declaration":true,"esModuleInterop":true,"outDir":"..","rootDir":"../../src","skipLibCheck":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","../sub-project/index.d.ts","../../src/sub-project-2/index.js"],"fileInfos":[{"version":"-32082413277-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };\ninterface SymbolConstructor {\n readonly species: symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-12566182521-export const m: {\n val: number;\n};\n","impliedFormat":1},{"version":"13545386800-import { m } from '../sub-project/index';\n\nconst variable = {\n key: m,\n};\n\nexport function getVar() {\n return variable;\n}\n","signature":"2403991005-export function getVar(): {\n key: {\n val: number;\n };\n};\n","impliedFormat":1}],"root":[3],"options":{"allowJs":true,"checkJs":true,"composite":true,"declaration":true,"esModuleInterop":true,"outDir":"..","rootDir":"../../src","skipLibCheck":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/out/sub-project-2/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -318,15 +312,10 @@ function getVar() { "../sub-project/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "../sub-project/index.d.ts", - "../../src/sub-project-2/index.js" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1516 + "size": 1479 } //// [/src/common/index.d.ts] @@ -341,7 +330,7 @@ module.exports = x; //// [/src/common/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./obj.json","./index.ts"],"fileInfos":[{"version":"-32082413277-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };\ninterface SymbolConstructor {\n readonly species: symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\n","affectsGlobalScope":true,"impliedFormat":1},"2151907832-{\n \"val\": 42\n}",{"version":"-5032674136-import x = require(\"./obj.json\");\nexport = x;\n","impliedFormat":1}],"root":[2,3],"options":{"allowJs":true,"checkJs":true,"composite":true,"declaration":true,"esModuleInterop":true,"outDir":"../..","rootDir":"..","skipLibCheck":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,3,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./obj.json","./index.ts"],"fileInfos":[{"version":"-32082413277-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };\ninterface SymbolConstructor {\n readonly species: symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\n","affectsGlobalScope":true,"impliedFormat":1},"2151907832-{\n \"val\": 42\n}",{"version":"-5032674136-import x = require(\"./obj.json\");\nexport = x;\n","impliedFormat":1}],"root":[2,3],"options":{"allowJs":true,"checkJs":true,"composite":true,"declaration":true,"esModuleInterop":true,"outDir":"../..","rootDir":"..","skipLibCheck":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/src/common/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -407,14 +396,9 @@ module.exports = x; "./obj.json" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./index.ts", - "./obj.json" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1237 + "size": 1200 } diff --git a/tests/baselines/reference/tsbuild/lateBoundSymbol/interface-is-merged-and-contains-late-bound-member.js b/tests/baselines/reference/tsbuild/lateBoundSymbol/interface-is-merged-and-contains-late-bound-member.js index 187315d13c078..692ff2996f9c1 100644 --- a/tests/baselines/reference/tsbuild/lateBoundSymbol/interface-is-merged-and-contains-late-bound-member.js +++ b/tests/baselines/reference/tsbuild/lateBoundSymbol/interface-is-merged-and-contains-late-bound-member.js @@ -51,12 +51,12 @@ type A = HKT[typeof sym]; Output:: /lib/tsc --b /src/tsconfig.json --verbose -[12:00:11 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:12 AM] Project 'src/tsconfig.json' is out of date because output file 'src/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/tsconfig.tsbuildinfo' does not exist -[12:00:13 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... exitCode:: ExitStatus.Success @@ -74,7 +74,7 @@ var x = 10; //// [/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../lib/lib.d.ts","./src/globals.d.ts","./src/hkt.ts","./src/main.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-1383980825-interface SymbolConstructor {\n (description?: string | number): symbol;\n}\ndeclare var Symbol: SymbolConstructor;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"675797797-export interface HKT { }","impliedFormat":1},{"version":"-28636726258-import { HKT } from \"./hkt\";\n\nconst sym = Symbol();\n\ndeclare module \"./hkt\" {\n interface HKT {\n [sym]: { a: T }\n }\n}\nconst x = 10;\ntype A = HKT[typeof sym];\n","impliedFormat":1}],"root":[[2,4]],"options":{"rootDir":"./src"},"fileIdsList":[[3,4]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,2,3,4]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../lib/lib.d.ts","./src/globals.d.ts","./src/hkt.ts","./src/main.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-1383980825-interface SymbolConstructor {\n (description?: string | number): symbol;\n}\ndeclare var Symbol: SymbolConstructor;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"675797797-export interface HKT { }","impliedFormat":1},{"version":"-28636726258-import { HKT } from \"./hkt\";\n\nconst sym = Symbol();\n\ndeclare module \"./hkt\" {\n interface HKT {\n [sym]: { a: T }\n }\n}\nconst x = 10;\ntype A = HKT[typeof sym];\n","impliedFormat":1}],"root":[[2,4]],"options":{"rootDir":"./src"},"fileIdsList":[[3,4]],"referencedMap":[[4,1]]},"version":"FakeTSVersion"} //// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -154,16 +154,10 @@ var x = 10; "./src/hkt.ts", "./src/main.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../lib/lib.d.ts", - "./src/globals.d.ts", - "./src/hkt.ts", - "./src/main.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1267 + "size": 1228 } @@ -188,12 +182,12 @@ type A = HKT[typeof sym]; Output:: /lib/tsc --b /src/tsconfig.json --verbose -[12:00:20 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:21 AM] Project 'src/tsconfig.json' is out of date because output 'src/tsconfig.tsbuildinfo' is older than input 'src/src/main.ts' +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output 'src/tsconfig.tsbuildinfo' is older than input 'src/src/main.ts' -[12:00:22 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... exitCode:: ExitStatus.Success @@ -205,7 +199,7 @@ var sym = Symbol(); //// [/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../lib/lib.d.ts","./src/globals.d.ts","./src/hkt.ts","./src/main.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-1383980825-interface SymbolConstructor {\n (description?: string | number): symbol;\n}\ndeclare var Symbol: SymbolConstructor;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"675797797-export interface HKT { }","impliedFormat":1},{"version":"-13476768170-import { HKT } from \"./hkt\";\n\nconst sym = Symbol();\n\ndeclare module \"./hkt\" {\n interface HKT {\n [sym]: { a: T }\n }\n}\n\ntype A = HKT[typeof sym];\n","signature":"-13155653598-declare const sym: unique symbol;\ndeclare module \"./hkt\" {\n interface HKT {\n [sym]: {\n a: T;\n };\n }\n}\nexport {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"rootDir":"./src"},"fileIdsList":[[3,4]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,2,3,4]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../lib/lib.d.ts","./src/globals.d.ts","./src/hkt.ts","./src/main.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-1383980825-interface SymbolConstructor {\n (description?: string | number): symbol;\n}\ndeclare var Symbol: SymbolConstructor;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"675797797-export interface HKT { }","impliedFormat":1},{"version":"-13476768170-import { HKT } from \"./hkt\";\n\nconst sym = Symbol();\n\ndeclare module \"./hkt\" {\n interface HKT {\n [sym]: { a: T }\n }\n}\n\ntype A = HKT[typeof sym];\n","signature":"-13155653598-declare const sym: unique symbol;\ndeclare module \"./hkt\" {\n interface HKT {\n [sym]: {\n a: T;\n };\n }\n}\nexport {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"rootDir":"./src"},"fileIdsList":[[3,4]],"referencedMap":[[4,1]]},"version":"FakeTSVersion"} //// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -286,16 +280,10 @@ var sym = Symbol(); "./src/hkt.ts", "./src/main.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../lib/lib.d.ts", - "./src/globals.d.ts", - "./src/hkt.ts", - "./src/main.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1440 + "size": 1401 } @@ -320,12 +308,12 @@ const x = 10; Output:: /lib/tsc --b /src/tsconfig.json --verbose -[12:00:28 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:29 AM] Project 'src/tsconfig.json' is out of date because output 'src/tsconfig.tsbuildinfo' is older than input 'src/src/main.ts' +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output 'src/tsconfig.tsbuildinfo' is older than input 'src/src/main.ts' -[12:00:30 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... exitCode:: ExitStatus.Success @@ -338,7 +326,7 @@ var x = 10; //// [/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../lib/lib.d.ts","./src/globals.d.ts","./src/hkt.ts","./src/main.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-1383980825-interface SymbolConstructor {\n (description?: string | number): symbol;\n}\ndeclare var Symbol: SymbolConstructor;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"675797797-export interface HKT { }","impliedFormat":1},{"version":"-8082110290-import { HKT } from \"./hkt\";\n\nconst sym = Symbol();\n\ndeclare module \"./hkt\" {\n interface HKT {\n [sym]: { a: T }\n }\n}\n\ntype A = HKT[typeof sym];\nconst x = 10;","signature":"-13155653598-declare const sym: unique symbol;\ndeclare module \"./hkt\" {\n interface HKT {\n [sym]: {\n a: T;\n };\n }\n}\nexport {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"rootDir":"./src"},"fileIdsList":[[3,4]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,2,3,4]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../lib/lib.d.ts","./src/globals.d.ts","./src/hkt.ts","./src/main.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-1383980825-interface SymbolConstructor {\n (description?: string | number): symbol;\n}\ndeclare var Symbol: SymbolConstructor;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"675797797-export interface HKT { }","impliedFormat":1},{"version":"-8082110290-import { HKT } from \"./hkt\";\n\nconst sym = Symbol();\n\ndeclare module \"./hkt\" {\n interface HKT {\n [sym]: { a: T }\n }\n}\n\ntype A = HKT[typeof sym];\nconst x = 10;","signature":"-13155653598-declare const sym: unique symbol;\ndeclare module \"./hkt\" {\n interface HKT {\n [sym]: {\n a: T;\n };\n }\n}\nexport {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"rootDir":"./src"},"fileIdsList":[[3,4]],"referencedMap":[[4,1]]},"version":"FakeTSVersion"} //// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -419,15 +407,9 @@ var x = 10; "./src/hkt.ts", "./src/main.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../lib/lib.d.ts", - "./src/globals.d.ts", - "./src/hkt.ts", - "./src/main.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1452 + "size": 1413 } diff --git a/tests/baselines/reference/tsbuild/libraryResolution/with-config-with-redirection.js b/tests/baselines/reference/tsbuild/libraryResolution/with-config-with-redirection.js index a44b584429cd6..55bbed775b060 100644 --- a/tests/baselines/reference/tsbuild/libraryResolution/with-config-with-redirection.js +++ b/tests/baselines/reference/tsbuild/libraryResolution/with-config-with-redirection.js @@ -191,15 +191,15 @@ export const y = 10; Output:: /home/src/lib/tsc -b project1 project2 project3 project4 --verbose --explainFiles -[12:00:49 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * project1/tsconfig.json * project2/tsconfig.json * project3/tsconfig.json * project4/tsconfig.json -[12:00:50 AM] Project 'project1/tsconfig.json' is out of date because output file 'project1/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'project1/tsconfig.json' is out of date because output file 'project1/tsconfig.tsbuildinfo' does not exist -[12:00:51 AM] Building project '/home/src/projects/project1/tsconfig.json'... +[HH:MM:SS AM] Building project '/home/src/projects/project1/tsconfig.json'... File '/home/src/projects/project1/package.json' does not exist. File '/home/src/projects/package.json' does not exist. @@ -350,9 +350,9 @@ project1/utils.d.ts project1/typeroot1/sometype/index.d.ts Matched by default include pattern '**/*' Entry point for implicit type library 'sometype' -[12:01:01 AM] Project 'project2/tsconfig.json' is out of date because output file 'project2/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'project2/tsconfig.json' is out of date because output file 'project2/tsconfig.tsbuildinfo' does not exist -[12:01:02 AM] Building project '/home/src/projects/project2/tsconfig.json'... +[HH:MM:SS AM] Building project '/home/src/projects/project2/tsconfig.json'... File '/home/src/projects/project2/package.json' does not exist. File '/home/src/projects/package.json' does not exist according to earlier cached lookups. @@ -402,9 +402,9 @@ project2/index.ts Matched by default include pattern '**/*' project2/utils.d.ts Matched by default include pattern '**/*' -[12:01:08 AM] Project 'project3/tsconfig.json' is out of date because output file 'project3/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'project3/tsconfig.json' is out of date because output file 'project3/tsconfig.tsbuildinfo' does not exist -[12:01:09 AM] Building project '/home/src/projects/project3/tsconfig.json'... +[HH:MM:SS AM] Building project '/home/src/projects/project3/tsconfig.json'... File '/home/src/projects/project3/package.json' does not exist. File '/home/src/projects/package.json' does not exist according to earlier cached lookups. @@ -454,9 +454,9 @@ project3/index.ts Matched by default include pattern '**/*' project3/utils.d.ts Matched by default include pattern '**/*' -[12:01:15 AM] Project 'project4/tsconfig.json' is out of date because output file 'project4/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'project4/tsconfig.json' is out of date because output file 'project4/tsconfig.tsbuildinfo' does not exist -[12:01:16 AM] Building project '/home/src/projects/project4/tsconfig.json'... +[HH:MM:SS AM] Building project '/home/src/projects/project4/tsconfig.json'... File '/home/src/projects/project4/package.json' does not exist. File '/home/src/projects/package.json' does not exist according to earlier cached lookups. @@ -725,7 +725,7 @@ exports.x = "type1"; //// [/home/src/projects/project1/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../node_modules/@typescript/lib-webworker/index.d.ts","../node_modules/@typescript/lib-scripthost/index.d.ts","../node_modules/@typescript/lib-es5/index.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./core.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"-7827135529-interface WebworkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-15683237936-export const core = 10;","impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n","impliedFormat":1},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-","impliedFormat":1},{"version":"-11532698187-export const x = \"type1\";","signature":"-5899226897-export declare const x = \"type1\";\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1},{"version":"-12476477079-export type TheNum = \"type1\";","impliedFormat":1}],"root":[[5,10]],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[4,3,2,1,5,6,7,8,10,9],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../node_modules/@typescript/lib-webworker/index.d.ts","../node_modules/@typescript/lib-scripthost/index.d.ts","../node_modules/@typescript/lib-es5/index.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./core.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"-7827135529-interface WebworkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-15683237936-export const core = 10;","impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n","impliedFormat":1},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-","impliedFormat":1},{"version":"-11532698187-export const x = \"type1\";","signature":"-5899226897-export declare const x = \"type1\";\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1},{"version":"-12476477079-export type TheNum = \"type1\";","impliedFormat":1}],"root":[[5,10]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/home/src/projects/project1/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -864,23 +864,10 @@ exports.x = "type1"; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../node_modules/@typescript/lib-dom/index.d.ts", - "../node_modules/@typescript/lib-es5/index.d.ts", - "../node_modules/@typescript/lib-scripthost/index.d.ts", - "../node_modules/@typescript/lib-webworker/index.d.ts", - "./core.d.ts", - "./file.ts", - "./file2.ts", - "./index.ts", - "./typeroot1/sometype/index.d.ts", - "./utils.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1979 + "size": 1908 } //// [/home/src/projects/project2/index.d.ts] @@ -895,7 +882,7 @@ exports.y = 10; //// [/home/src/projects/project2/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../node_modules/@typescript/lib-es5/index.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./index.ts","./utils.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11999455899-export const y = 10","signature":"-7152472870-export declare const y = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1}],"root":[3,4],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[2,1,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../node_modules/@typescript/lib-es5/index.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./index.ts","./utils.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11999455899-export const y = 10","signature":"-7152472870-export declare const y = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1}],"root":[3,4],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/home/src/projects/project2/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -962,17 +949,10 @@ exports.y = 10; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../node_modules/@typescript/lib-dom/index.d.ts", - "../node_modules/@typescript/lib-es5/index.d.ts", - "./index.ts", - "./utils.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1055 } //// [/home/src/projects/project3/index.d.ts] @@ -987,7 +967,7 @@ exports.z = 10; //// [/home/src/projects/project3/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../node_modules/@typescript/lib-es5/index.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./index.ts","./utils.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11960320506-export const z = 10","signature":"-7483702853-export declare const z = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1}],"root":[3,4],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[2,1,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../node_modules/@typescript/lib-es5/index.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./index.ts","./utils.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11960320506-export const z = 10","signature":"-7483702853-export declare const z = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1}],"root":[3,4],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/home/src/projects/project3/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1054,17 +1034,10 @@ exports.z = 10; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../node_modules/@typescript/lib-dom/index.d.ts", - "../node_modules/@typescript/lib-es5/index.d.ts", - "./index.ts", - "./utils.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1055 } //// [/home/src/projects/project4/index.d.ts] @@ -1079,7 +1052,7 @@ exports.z = 10; //// [/home/src/projects/project4/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../node_modules/@typescript/lib-esnext/index.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","../node_modules/@typescript/lib-webworker/index.d.ts","./index.ts","./utils.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7827135529-interface WebworkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11960320506-export const z = 10","signature":"-7483702853-export declare const z = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1}],"root":[4,5],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[2,1,3,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../node_modules/@typescript/lib-esnext/index.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","../node_modules/@typescript/lib-webworker/index.d.ts","./index.ts","./utils.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7827135529-interface WebworkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11960320506-export const z = 10","signature":"-7483702853-export declare const z = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1}],"root":[4,5],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/home/src/projects/project4/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1158,17 +1131,9 @@ exports.z = 10; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../node_modules/@typescript/lib-dom/index.d.ts", - "../node_modules/@typescript/lib-esnext/index.d.ts", - "../node_modules/@typescript/lib-webworker/index.d.ts", - "./index.ts", - "./utils.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1276 + "size": 1216 } diff --git a/tests/baselines/reference/tsbuild/libraryResolution/with-config.js b/tests/baselines/reference/tsbuild/libraryResolution/with-config.js index 37f19ea03002b..20f718d276f35 100644 --- a/tests/baselines/reference/tsbuild/libraryResolution/with-config.js +++ b/tests/baselines/reference/tsbuild/libraryResolution/with-config.js @@ -152,15 +152,15 @@ export const y = 10; Output:: /home/src/lib/tsc -b project1 project2 project3 project4 --verbose --explainFiles -[12:00:39 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * project1/tsconfig.json * project2/tsconfig.json * project3/tsconfig.json * project4/tsconfig.json -[12:00:40 AM] Project 'project1/tsconfig.json' is out of date because output file 'project1/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'project1/tsconfig.json' is out of date because output file 'project1/tsconfig.tsbuildinfo' does not exist -[12:00:41 AM] Building project '/home/src/projects/project1/tsconfig.json'... +[HH:MM:SS AM] Building project '/home/src/projects/project1/tsconfig.json'... File '/home/src/projects/project1/package.json' does not exist. File '/home/src/projects/package.json' does not exist. @@ -343,9 +343,9 @@ project1/utils.d.ts project1/typeroot1/sometype/index.d.ts Matched by default include pattern '**/*' Entry point for implicit type library 'sometype' -[12:00:51 AM] Project 'project2/tsconfig.json' is out of date because output file 'project2/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'project2/tsconfig.json' is out of date because output file 'project2/tsconfig.tsbuildinfo' does not exist -[12:00:52 AM] Building project '/home/src/projects/project2/tsconfig.json'... +[HH:MM:SS AM] Building project '/home/src/projects/project2/tsconfig.json'... File '/home/src/projects/project2/package.json' does not exist. File '/home/src/projects/package.json' does not exist according to earlier cached lookups. @@ -389,9 +389,9 @@ project2/index.ts Matched by default include pattern '**/*' project2/utils.d.ts Matched by default include pattern '**/*' -[12:00:58 AM] Project 'project3/tsconfig.json' is out of date because output file 'project3/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'project3/tsconfig.json' is out of date because output file 'project3/tsconfig.tsbuildinfo' does not exist -[12:00:59 AM] Building project '/home/src/projects/project3/tsconfig.json'... +[HH:MM:SS AM] Building project '/home/src/projects/project3/tsconfig.json'... File '/home/src/projects/project3/package.json' does not exist. File '/home/src/projects/package.json' does not exist according to earlier cached lookups. @@ -435,9 +435,9 @@ project3/index.ts Matched by default include pattern '**/*' project3/utils.d.ts Matched by default include pattern '**/*' -[12:01:05 AM] Project 'project4/tsconfig.json' is out of date because output file 'project4/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'project4/tsconfig.json' is out of date because output file 'project4/tsconfig.tsbuildinfo' does not exist -[12:01:06 AM] Building project '/home/src/projects/project4/tsconfig.json'... +[HH:MM:SS AM] Building project '/home/src/projects/project4/tsconfig.json'... File '/home/src/projects/project4/package.json' does not exist. File '/home/src/projects/package.json' does not exist according to earlier cached lookups. @@ -708,7 +708,7 @@ exports.x = "type1"; //// [/home/src/projects/project1/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.es5.d.ts","../../lib/lib.dom.d.ts","../../lib/lib.webworker.d.ts","../../lib/lib.scripthost.d.ts","./core.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3990185033-interface WebWorkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-15683237936-export const core = 10;","impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n","impliedFormat":1},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-","impliedFormat":1},{"version":"-11532698187-export const x = \"type1\";","signature":"-5899226897-export declare const x = \"type1\";\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1},{"version":"-12476477079-export type TheNum = \"type1\";","impliedFormat":1}],"root":[[5,10]],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[2,1,4,3,5,6,7,8,10,9],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.es5.d.ts","../../lib/lib.dom.d.ts","../../lib/lib.webworker.d.ts","../../lib/lib.scripthost.d.ts","./core.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3990185033-interface WebWorkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-15683237936-export const core = 10;","impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n","impliedFormat":1},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-","impliedFormat":1},{"version":"-11532698187-export const x = \"type1\";","signature":"-5899226897-export declare const x = \"type1\";\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1},{"version":"-12476477079-export type TheNum = \"type1\";","impliedFormat":1}],"root":[[5,10]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/home/src/projects/project1/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -847,23 +847,10 @@ exports.x = "type1"; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.dom.d.ts", - "../../lib/lib.es5.d.ts", - "../../lib/lib.scripthost.d.ts", - "../../lib/lib.webworker.d.ts", - "./core.d.ts", - "./file.ts", - "./file2.ts", - "./index.ts", - "./typeroot1/sometype/index.d.ts", - "./utils.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1883 + "size": 1812 } //// [/home/src/projects/project2/index.d.ts] @@ -878,7 +865,7 @@ exports.y = 10; //// [/home/src/projects/project2/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.es5.d.ts","../../lib/lib.dom.d.ts","./index.ts","./utils.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11999455899-export const y = 10","signature":"-7152472870-export declare const y = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1}],"root":[3,4],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[2,1,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.es5.d.ts","../../lib/lib.dom.d.ts","./index.ts","./utils.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11999455899-export const y = 10","signature":"-7152472870-export declare const y = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1}],"root":[3,4],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/home/src/projects/project2/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -945,17 +932,10 @@ exports.y = 10; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.dom.d.ts", - "../../lib/lib.es5.d.ts", - "./index.ts", - "./utils.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1065 + "size": 1007 } //// [/home/src/projects/project3/index.d.ts] @@ -970,7 +950,7 @@ exports.z = 10; //// [/home/src/projects/project3/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.es5.d.ts","../../lib/lib.dom.d.ts","./index.ts","./utils.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11960320506-export const z = 10","signature":"-7483702853-export declare const z = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1}],"root":[3,4],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[2,1,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.es5.d.ts","../../lib/lib.dom.d.ts","./index.ts","./utils.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11960320506-export const z = 10","signature":"-7483702853-export declare const z = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1}],"root":[3,4],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/home/src/projects/project3/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1037,17 +1017,10 @@ exports.z = 10; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.dom.d.ts", - "../../lib/lib.es5.d.ts", - "./index.ts", - "./utils.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1065 + "size": 1007 } //// [/home/src/projects/project4/index.d.ts] @@ -1062,7 +1035,7 @@ exports.z = 10; //// [/home/src/projects/project4/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.esnext.d.ts","../../lib/lib.dom.d.ts","../../lib/lib.webworker.d.ts","./index.ts","./utils.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3990185033-interface WebWorkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11960320506-export const z = 10","signature":"-7483702853-export declare const z = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1}],"root":[4,5],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[2,1,3,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.esnext.d.ts","../../lib/lib.dom.d.ts","../../lib/lib.webworker.d.ts","./index.ts","./utils.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3990185033-interface WebWorkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11960320506-export const z = 10","signature":"-7483702853-export declare const z = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1}],"root":[4,5],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/home/src/projects/project4/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1141,17 +1114,9 @@ exports.z = 10; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.dom.d.ts", - "../../lib/lib.esnext.d.ts", - "../../lib/lib.webworker.d.ts", - "./index.ts", - "./utils.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1204 + "size": 1144 } diff --git a/tests/baselines/reference/tsbuild/moduleResolution/impliedNodeFormat-differs-between-projects-for-shared-file.js b/tests/baselines/reference/tsbuild/moduleResolution/impliedNodeFormat-differs-between-projects-for-shared-file.js index c8b66cdc3684e..16f08afa54b6e 100644 --- a/tests/baselines/reference/tsbuild/moduleResolution/impliedNodeFormat-differs-between-projects-for-shared-file.js +++ b/tests/baselines/reference/tsbuild/moduleResolution/impliedNodeFormat-differs-between-projects-for-shared-file.js @@ -70,13 +70,13 @@ export function foo(): void; Output:: /lib/tsc -b /src/projects/a /src/projects/b --verbose --traceResolution --explainFiles -[12:00:22 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/projects/a/tsconfig.json * src/projects/b/tsconfig.json -[12:00:23 AM] Project 'src/projects/a/tsconfig.json' is out of date because output file 'src/projects/a/src/index.js' does not exist +[HH:MM:SS AM] Project 'src/projects/a/tsconfig.json' is out of date because output file 'src/projects/a/src/index.js' does not exist -[12:00:24 AM] Building project '/src/projects/a/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/projects/a/tsconfig.json'... File '/src/projects/a/src/package.json' does not exist. File '/src/projects/a/package.json' does not exist. @@ -102,9 +102,9 @@ src/projects/a/src/index.ts Matched by default include pattern '**/*' src/projects/node_modules/@types/pg/index.d.ts Entry point for implicit type library 'pg' -[12:00:26 AM] Project 'src/projects/b/tsconfig.json' is out of date because output file 'src/projects/b/src/index.js' does not exist +[HH:MM:SS AM] Project 'src/projects/b/tsconfig.json' is out of date because output file 'src/projects/b/src/index.js' does not exist -[12:00:27 AM] Building project '/src/projects/b/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/projects/b/tsconfig.json'... File '/src/projects/b/src/package.json' does not exist. Found 'package.json' at '/src/projects/b/package.json'. @@ -164,13 +164,13 @@ Input:: Output:: /lib/tsc -b /src/projects/a /src/projects/b --verbose --traceResolution --explainFiles -[12:00:29 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/projects/a/tsconfig.json * src/projects/b/tsconfig.json -[12:00:30 AM] Project 'src/projects/a/tsconfig.json' is up to date because newest input 'src/projects/a/src/index.ts' is older than output 'src/projects/a/src/index.js' +[HH:MM:SS AM] Project 'src/projects/a/tsconfig.json' is up to date because newest input 'src/projects/a/src/index.ts' is older than output 'src/projects/a/src/index.js' -[12:00:31 AM] Project 'src/projects/b/tsconfig.json' is up to date because newest input 'src/projects/b/src/index.ts' is older than output 'src/projects/b/src/index.js' +[HH:MM:SS AM] Project 'src/projects/b/tsconfig.json' is up to date because newest input 'src/projects/b/src/index.ts' is older than output 'src/projects/b/src/index.js' exitCode:: ExitStatus.Success diff --git a/tests/baselines/reference/tsbuild/moduleResolution/resolves-specifier-in-output-declaration-file-from-referenced-project-correctly-with-preserveSymlinks.js b/tests/baselines/reference/tsbuild/moduleResolution/resolves-specifier-in-output-declaration-file-from-referenced-project-correctly-with-preserveSymlinks.js index a0962a1649b46..ef066a855356a 100644 --- a/tests/baselines/reference/tsbuild/moduleResolution/resolves-specifier-in-output-declaration-file-from-referenced-project-correctly-with-preserveSymlinks.js +++ b/tests/baselines/reference/tsbuild/moduleResolution/resolves-specifier-in-output-declaration-file-from-referenced-project-correctly-with-preserveSymlinks.js @@ -144,7 +144,7 @@ export type { TheNum } from 'const'; //// [/user/username/projects/myproject/packages/pkg2/build/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../../a/lib/lib.d.ts","../const.ts","../index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11202312776-export type TheNum = 42;","signature":"-13194036030-export type TheNum = 42;\n","impliedFormat":1},{"version":"-10837689162-export type { TheNum } from 'const';","signature":"-9751391360-export type { TheNum } from 'const';\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../../a/lib/lib.d.ts","../const.ts","../index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11202312776-export type TheNum = 42;","signature":"-13194036030-export type TheNum = 42;\n","impliedFormat":1},{"version":"-10837689162-export type { TheNum } from 'const';","signature":"-9751391360-export type { TheNum } from 'const';\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/pkg2/build/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -211,15 +211,10 @@ export type { TheNum } from 'const'; "../const.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../../../a/lib/lib.d.ts", - "../const.ts", - "../index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 996 + "size": 959 } //// [/user/username/projects/myproject/packages/pkg1/build/index.js] diff --git a/tests/baselines/reference/tsbuild/moduleResolution/resolves-specifier-in-output-declaration-file-from-referenced-project-correctly.js b/tests/baselines/reference/tsbuild/moduleResolution/resolves-specifier-in-output-declaration-file-from-referenced-project-correctly.js index 6981ab4247dcf..f58c4e5053051 100644 --- a/tests/baselines/reference/tsbuild/moduleResolution/resolves-specifier-in-output-declaration-file-from-referenced-project-correctly.js +++ b/tests/baselines/reference/tsbuild/moduleResolution/resolves-specifier-in-output-declaration-file-from-referenced-project-correctly.js @@ -143,7 +143,7 @@ export type { TheNum } from 'const'; //// [/user/username/projects/myproject/packages/pkg2/build/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../../a/lib/lib.d.ts","../const.ts","../index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11202312776-export type TheNum = 42;","signature":"-13194036030-export type TheNum = 42;\n","impliedFormat":1},{"version":"-10837689162-export type { TheNum } from 'const';","signature":"-9751391360-export type { TheNum } from 'const';\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../../a/lib/lib.d.ts","../const.ts","../index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11202312776-export type TheNum = 42;","signature":"-13194036030-export type TheNum = 42;\n","impliedFormat":1},{"version":"-10837689162-export type { TheNum } from 'const';","signature":"-9751391360-export type { TheNum } from 'const';\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/pkg2/build/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -210,15 +210,10 @@ export type { TheNum } from 'const'; "../const.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../../../a/lib/lib.d.ts", - "../const.ts", - "../index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 996 + "size": 959 } //// [/user/username/projects/myproject/packages/pkg1/build/index.js] diff --git a/tests/baselines/reference/tsbuild/moduleResolution/shared-resolution-should-not-report-error.js b/tests/baselines/reference/tsbuild/moduleResolution/shared-resolution-should-not-report-error.js index 280c907046f5b..84fc052193937 100644 --- a/tests/baselines/reference/tsbuild/moduleResolution/shared-resolution-should-not-report-error.js +++ b/tests/baselines/reference/tsbuild/moduleResolution/shared-resolution-should-not-report-error.js @@ -89,13 +89,13 @@ export { a } from 'a'; Output:: /lib/tsc -b packages/b --verbose --traceResolution --explainFiles -[12:00:22 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * packages/a/tsconfig.json * packages/b/tsconfig.json -[12:00:23 AM] Project 'packages/a/tsconfig.json' is out of date because output file 'packages/a/types/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'packages/a/tsconfig.json' is out of date because output file 'packages/a/types/tsconfig.tsbuildinfo' does not exist -[12:00:24 AM] Building project '/src/projects/project/packages/a/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/projects/project/packages/a/tsconfig.json'... Found 'package.json' at '/src/projects/project/packages/a/package.json'. File '/src/projects/project/packages/a/test/package.json' does not exist. @@ -128,9 +128,9 @@ packages/a/index.js packages/a/test/index.js Matched by default include pattern '**/*' File is ECMAScript module because 'packages/a/package.json' has field "type" with value "module" -[12:00:32 AM] Project 'packages/b/tsconfig.json' is out of date because output 'packages/b/index.js' is older than input 'packages/a' +[HH:MM:SS AM] Project 'packages/b/tsconfig.json' is out of date because output 'packages/b/index.js' is older than input 'packages/a' -[12:00:33 AM] Building project '/src/projects/project/packages/b/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/projects/project/packages/b/tsconfig.json'... Found 'package.json' at '/src/projects/project/packages/b/package.json'. ======== Resolving module 'a' from '/src/projects/project/packages/b/index.js'. ======== @@ -167,7 +167,7 @@ export {}; //// [/src/projects/project/packages/a/types/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../lib/lib.esnext.full.d.ts","../index.js","../test/index.js"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-15642581130-export const a = 'a';","signature":"-13259723213-export const a: \"a\";\n","impliedFormat":99},{"version":"-3920874422-import 'a';","signature":"-3531856636-export {};\n","impliedFormat":99}],"root":[2,3],"options":{"checkJs":true,"composite":true,"declaration":true,"emitDeclarationOnly":true,"module":199,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./test/index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../lib/lib.esnext.full.d.ts","../index.js","../test/index.js"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-15642581130-export const a = 'a';","signature":"-13259723213-export const a: \"a\";\n","impliedFormat":99},{"version":"-3920874422-import 'a';","signature":"-3531856636-export {};\n","impliedFormat":99}],"root":[2,3],"options":{"checkJs":true,"composite":true,"declaration":true,"emitDeclarationOnly":true,"module":199,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./test/index.d.ts"},"version":"FakeTSVersion"} //// [/src/projects/project/packages/a/types/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -238,14 +238,9 @@ export {}; "../index.js" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../../lib/lib.esnext.full.d.ts", - "../index.js", - "../test/index.js" - ], "latestChangedDtsFile": "./test/index.d.ts" }, "version": "FakeTSVersion", - "size": 1032 + "size": 995 } diff --git a/tests/baselines/reference/tsbuild/moduleResolution/type-reference-resolution-uses-correct-options-for-different-resolution-options-referenced-project.js b/tests/baselines/reference/tsbuild/moduleResolution/type-reference-resolution-uses-correct-options-for-different-resolution-options-referenced-project.js index 0f589c2192b1e..921c5659852eb 100644 --- a/tests/baselines/reference/tsbuild/moduleResolution/type-reference-resolution-uses-correct-options-for-different-resolution-options-referenced-project.js +++ b/tests/baselines/reference/tsbuild/moduleResolution/type-reference-resolution-uses-correct-options-for-different-resolution-options-referenced-project.js @@ -57,13 +57,13 @@ declare type TheNum2 = "type2"; Output:: /lib/tsc -b /src/packages/pkg1.tsconfig.json /src/packages/pkg2.tsconfig.json --verbose --traceResolution -[12:00:17 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/packages/pkg1.tsconfig.json * src/packages/pkg2.tsconfig.json -[12:00:18 AM] Project 'src/packages/pkg1.tsconfig.json' is out of date because output file 'src/packages/pkg1.tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/packages/pkg1.tsconfig.json' is out of date because output file 'src/packages/pkg1.tsconfig.tsbuildinfo' does not exist -[12:00:19 AM] Building project '/src/packages/pkg1.tsconfig.json'... +[HH:MM:SS AM] Building project '/src/packages/pkg1.tsconfig.json'... File '/src/packages/package.json' does not exist. File '/src/package.json' does not exist. @@ -82,9 +82,9 @@ File '/src/package.json' does not exist according to earlier cached lookups. File '/package.json' does not exist according to earlier cached lookups. File '/lib/package.json' does not exist. File '/package.json' does not exist according to earlier cached lookups. -[12:00:25 AM] Project 'src/packages/pkg2.tsconfig.json' is out of date because output file 'src/packages/pkg2.tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/packages/pkg2.tsconfig.json' is out of date because output file 'src/packages/pkg2.tsconfig.tsbuildinfo' does not exist -[12:00:26 AM] Building project '/src/packages/pkg2.tsconfig.json'... +[HH:MM:SS AM] Building project '/src/packages/pkg2.tsconfig.json'... File '/src/packages/package.json' does not exist according to earlier cached lookups. File '/src/package.json' does not exist according to earlier cached lookups. @@ -107,7 +107,7 @@ exitCode:: ExitStatus.Success //// [/src/packages/pkg1.tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./pkg1_index.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-9601687719-export const theNum: TheNum = \"type1\";","signature":"-11475605505-export declare const theNum: TheNum;\n","impliedFormat":1},{"version":"-4557394441-declare type TheNum = \"type1\";","affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./pkg1_index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./pkg1_index.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-9601687719-export const theNum: TheNum = \"type1\";","signature":"-11475605505-export declare const theNum: TheNum;\n","impliedFormat":1},{"version":"-4557394441-declare type TheNum = \"type1\";","affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./pkg1_index.d.ts"},"version":"FakeTSVersion"} //// [/src/packages/pkg1.tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -160,16 +160,10 @@ exitCode:: ExitStatus.Success "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./pkg1_index.ts", - "./typeroot1/sometype/index.d.ts" - ], "latestChangedDtsFile": "./pkg1_index.d.ts" }, "version": "FakeTSVersion", - "size": 1030 + "size": 974 } //// [/src/packages/pkg1_index.d.ts] @@ -184,7 +178,7 @@ exports.theNum = "type1"; //// [/src/packages/pkg2.tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./pkg2_index.ts","./typeroot2/sometype/index.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-12823281204-export const theNum: TheNum2 = \"type2\";","signature":"-13622769679-export declare const theNum: TheNum2;\n","impliedFormat":1},{"version":"-980425686-declare type TheNum2 = \"type2\";","affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./pkg2_index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./pkg2_index.ts","./typeroot2/sometype/index.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-12823281204-export const theNum: TheNum2 = \"type2\";","signature":"-13622769679-export declare const theNum: TheNum2;\n","impliedFormat":1},{"version":"-980425686-declare type TheNum2 = \"type2\";","affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./pkg2_index.d.ts"},"version":"FakeTSVersion"} //// [/src/packages/pkg2.tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -237,16 +231,10 @@ exports.theNum = "type1"; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./pkg2_index.ts", - "./typeroot2/sometype/index.d.ts" - ], "latestChangedDtsFile": "./pkg2_index.d.ts" }, "version": "FakeTSVersion", - "size": 1033 + "size": 977 } //// [/src/packages/pkg2_index.d.ts] diff --git a/tests/baselines/reference/tsbuild/moduleResolution/when-resolution-is-not-shared.js b/tests/baselines/reference/tsbuild/moduleResolution/when-resolution-is-not-shared.js index 064a64f5f3fb8..15873577c717a 100644 --- a/tests/baselines/reference/tsbuild/moduleResolution/when-resolution-is-not-shared.js +++ b/tests/baselines/reference/tsbuild/moduleResolution/when-resolution-is-not-shared.js @@ -89,12 +89,12 @@ export { a } from 'a'; Output:: /lib/tsc -b packages/a --verbose --traceResolution --explainFiles -[12:00:22 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * packages/a/tsconfig.json -[12:00:23 AM] Project 'packages/a/tsconfig.json' is out of date because output file 'packages/a/types/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'packages/a/tsconfig.json' is out of date because output file 'packages/a/types/tsconfig.tsbuildinfo' does not exist -[12:00:24 AM] Building project '/src/projects/project/packages/a/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/projects/project/packages/a/tsconfig.json'... Found 'package.json' at '/src/projects/project/packages/a/package.json'. File '/src/projects/project/packages/a/test/package.json' does not exist. @@ -139,7 +139,7 @@ export {}; //// [/src/projects/project/packages/a/types/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../lib/lib.esnext.full.d.ts","../index.js","../test/index.js"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-15642581130-export const a = 'a';","signature":"-13259723213-export const a: \"a\";\n","impliedFormat":99},{"version":"-3920874422-import 'a';","signature":"-3531856636-export {};\n","impliedFormat":99}],"root":[2,3],"options":{"checkJs":true,"composite":true,"declaration":true,"emitDeclarationOnly":true,"module":199,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./test/index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../lib/lib.esnext.full.d.ts","../index.js","../test/index.js"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-15642581130-export const a = 'a';","signature":"-13259723213-export const a: \"a\";\n","impliedFormat":99},{"version":"-3920874422-import 'a';","signature":"-3531856636-export {};\n","impliedFormat":99}],"root":[2,3],"options":{"checkJs":true,"composite":true,"declaration":true,"emitDeclarationOnly":true,"module":199,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./test/index.d.ts"},"version":"FakeTSVersion"} //// [/src/projects/project/packages/a/types/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -210,15 +210,10 @@ export {}; "../index.js" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../../lib/lib.esnext.full.d.ts", - "../index.js", - "../test/index.js" - ], "latestChangedDtsFile": "./test/index.d.ts" }, "version": "FakeTSVersion", - "size": 1032 + "size": 995 } @@ -229,15 +224,15 @@ Input:: Output:: /lib/tsc -b packages/b --verbose --traceResolution --explainFiles -[12:00:32 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * packages/a/tsconfig.json * packages/b/tsconfig.json -[12:00:33 AM] Project 'packages/a/tsconfig.json' is up to date because newest input 'packages/a/test/index.js' is older than output 'packages/a/types/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'packages/a/tsconfig.json' is up to date because newest input 'packages/a/test/index.js' is older than output 'packages/a/types/tsconfig.tsbuildinfo' -[12:00:34 AM] Project 'packages/b/tsconfig.json' is out of date because output 'packages/b/index.js' is older than input 'packages/b/tsconfig.json' +[HH:MM:SS AM] Project 'packages/b/tsconfig.json' is out of date because output 'packages/b/index.js' is older than input 'packages/b/tsconfig.json' -[12:00:35 AM] Building project '/src/projects/project/packages/b/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/projects/project/packages/b/tsconfig.json'... Found 'package.json' at '/src/projects/project/packages/b/package.json'. ======== Resolving module 'a' from '/src/projects/project/packages/b/index.js'. ======== diff --git a/tests/baselines/reference/tsbuild/moduleSpecifiers/synthesized-module-specifiers-across-projects-resolve-correctly.js b/tests/baselines/reference/tsbuild/moduleSpecifiers/synthesized-module-specifiers-across-projects-resolve-correctly.js index 64fdb591994f5..b895b0915ef28 100644 --- a/tests/baselines/reference/tsbuild/moduleSpecifiers/synthesized-module-specifiers-across-projects-resolve-correctly.js +++ b/tests/baselines/reference/tsbuild/moduleSpecifiers/synthesized-module-specifiers-across-projects-resolve-correctly.js @@ -127,17 +127,17 @@ export * from './dogconfig.js'; Output:: /lib/tsc -b src/src-types src/src-dogs --verbose -[12:00:24 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/src-types/tsconfig.json * src/src-dogs/tsconfig.json -[12:00:25 AM] Project 'src/src-types/tsconfig.json' is out of date because output file 'src/src-types/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/src-types/tsconfig.json' is out of date because output file 'src/src-types/tsconfig.tsbuildinfo' does not exist -[12:00:26 AM] Building project '/src/src-types/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/src-types/tsconfig.json'... -[12:00:34 AM] Project 'src/src-dogs/tsconfig.json' is out of date because output file 'src/src-dogs/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/src-dogs/tsconfig.json' is out of date because output file 'src/src-dogs/tsconfig.tsbuildinfo' does not exist -[12:00:35 AM] Building project '/src/src-dogs/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/src-dogs/tsconfig.json'... exitCode:: ExitStatus.Success @@ -204,7 +204,7 @@ export class LassieDog extends Dog { //// [/src/src-dogs/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.es2022.full.d.ts","../src-types/dogconfig.d.ts","../src-types/index.d.ts","./dogconfig.ts","./dog.ts","./lassie/lassieconfig.ts","./lassie/lassiedog.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3612551765-export interface DogConfig {\n name: string;\n}\n","impliedFormat":99},{"version":"-6677489680-export * from './dogconfig.js';\n","impliedFormat":99},{"version":"1966273863-import { DogConfig } from 'src-types';\n\nexport const DOG_CONFIG: DogConfig = {\n name: 'Default dog',\n};\n","signature":"15679103984-import { DogConfig } from 'src-types';\nexport declare const DOG_CONFIG: DogConfig;\n","impliedFormat":99},{"version":"6091345804-import { DogConfig } from 'src-types';\nimport { DOG_CONFIG } from './dogconfig.js';\n\nexport abstract class Dog {\n\n public static getCapabilities(): DogConfig {\n return DOG_CONFIG;\n }\n}\n","signature":"26984075437-import { DogConfig } from 'src-types';\nexport declare abstract class Dog {\n static getCapabilities(): DogConfig;\n}\n","impliedFormat":99},{"version":"4440579024-import { DogConfig } from 'src-types';\n\nexport const LASSIE_CONFIG: DogConfig = { name: 'Lassie' };\n","signature":"17379560247-import { DogConfig } from 'src-types';\nexport declare const LASSIE_CONFIG: DogConfig;\n","impliedFormat":99},{"version":"-32303727812-import { Dog } from '../dog.js';\nimport { LASSIE_CONFIG } from './lassieconfig.js';\n\nexport class LassieDog extends Dog {\n protected static getDogConfig = () => LASSIE_CONFIG;\n}\n","signature":"-10239718190-import { Dog } from '../dog.js';\nexport declare class LassieDog extends Dog {\n protected static getDogConfig: () => import(\"src-types\").DogConfig;\n}\n","impliedFormat":99},{"version":"-15974991320-export * from 'src-types';\nexport * from './lassie/lassiedog.js';\n","impliedFormat":99}],"root":[[4,8]],"options":{"composite":true,"declaration":true,"module":100},"fileIdsList":[[3,4],[3],[3,7],[5,6],[2]],"referencedMap":[[5,1],[4,2],[8,3],[6,2],[7,4],[3,5]],"semanticDiagnosticsPerFile":[1,5,4,8,6,7,2,3],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.es2022.full.d.ts","../src-types/dogconfig.d.ts","../src-types/index.d.ts","./dogconfig.ts","./dog.ts","./lassie/lassieconfig.ts","./lassie/lassiedog.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3612551765-export interface DogConfig {\n name: string;\n}\n","impliedFormat":99},{"version":"-6677489680-export * from './dogconfig.js';\n","impliedFormat":99},{"version":"1966273863-import { DogConfig } from 'src-types';\n\nexport const DOG_CONFIG: DogConfig = {\n name: 'Default dog',\n};\n","signature":"15679103984-import { DogConfig } from 'src-types';\nexport declare const DOG_CONFIG: DogConfig;\n","impliedFormat":99},{"version":"6091345804-import { DogConfig } from 'src-types';\nimport { DOG_CONFIG } from './dogconfig.js';\n\nexport abstract class Dog {\n\n public static getCapabilities(): DogConfig {\n return DOG_CONFIG;\n }\n}\n","signature":"26984075437-import { DogConfig } from 'src-types';\nexport declare abstract class Dog {\n static getCapabilities(): DogConfig;\n}\n","impliedFormat":99},{"version":"4440579024-import { DogConfig } from 'src-types';\n\nexport const LASSIE_CONFIG: DogConfig = { name: 'Lassie' };\n","signature":"17379560247-import { DogConfig } from 'src-types';\nexport declare const LASSIE_CONFIG: DogConfig;\n","impliedFormat":99},{"version":"-32303727812-import { Dog } from '../dog.js';\nimport { LASSIE_CONFIG } from './lassieconfig.js';\n\nexport class LassieDog extends Dog {\n protected static getDogConfig = () => LASSIE_CONFIG;\n}\n","signature":"-10239718190-import { Dog } from '../dog.js';\nexport declare class LassieDog extends Dog {\n protected static getDogConfig: () => import(\"src-types\").DogConfig;\n}\n","impliedFormat":99},{"version":"-15974991320-export * from 'src-types';\nexport * from './lassie/lassiedog.js';\n","impliedFormat":99}],"root":[[4,8]],"options":{"composite":true,"declaration":true,"module":100},"fileIdsList":[[3,4],[3],[3,7],[5,6],[2]],"referencedMap":[[5,1],[4,2],[8,3],[6,2],[7,4],[3,5]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/src/src-dogs/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -362,20 +362,10 @@ export class LassieDog extends Dog { "../src-types/dogconfig.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.es2022.full.d.ts", - "./dog.ts", - "./dogconfig.ts", - "./index.ts", - "./lassie/lassieconfig.ts", - "./lassie/lassiedog.ts", - "../src-types/dogconfig.d.ts", - "../src-types/index.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 2567 + "size": 2520 } //// [/src/src-types/dogconfig.d.ts] @@ -397,7 +387,7 @@ export * from './dogconfig.js'; //// [/src/src-types/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.es2022.full.d.ts","./dogconfig.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5575793279-export interface DogConfig {\n name: string;\n}","signature":"-3612551765-export interface DogConfig {\n name: string;\n}\n","impliedFormat":99},{"version":"-6189272282-export * from './dogconfig.js';","signature":"-6677489680-export * from './dogconfig.js';\n","impliedFormat":99}],"root":[2,3],"options":{"composite":true,"declaration":true,"module":100},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.es2022.full.d.ts","./dogconfig.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5575793279-export interface DogConfig {\n name: string;\n}","signature":"-3612551765-export interface DogConfig {\n name: string;\n}\n","impliedFormat":99},{"version":"-6189272282-export * from './dogconfig.js';","signature":"-6677489680-export * from './dogconfig.js';\n","impliedFormat":99}],"root":[2,3],"options":{"composite":true,"declaration":true,"module":100},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/src/src-types/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -465,14 +455,9 @@ export * from './dogconfig.js'; "./dogconfig.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.es2022.full.d.ts", - "./dogconfig.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1052 + "size": 1015 } diff --git a/tests/baselines/reference/tsbuild/moduleSpecifiers/synthesized-module-specifiers-resolve-correctly.js b/tests/baselines/reference/tsbuild/moduleSpecifiers/synthesized-module-specifiers-resolve-correctly.js index ed82fad16008a..f9f46662574ce 100644 --- a/tests/baselines/reference/tsbuild/moduleSpecifiers/synthesized-module-specifiers-resolve-correctly.js +++ b/tests/baselines/reference/tsbuild/moduleSpecifiers/synthesized-module-specifiers-resolve-correctly.js @@ -117,24 +117,24 @@ export function getVar(): keyof typeof variable { Output:: /lib/tsc -b /src --verbose -[12:00:19 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/solution/common/tsconfig.json * src/solution/sub-project/tsconfig.json * src/solution/sub-project-2/tsconfig.json * src/solution/tsconfig.json * src/tsconfig.json -[12:00:20 AM] Project 'src/solution/common/tsconfig.json' is out of date because output file 'src/lib/solution/common/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/solution/common/tsconfig.json' is out of date because output file 'src/lib/solution/common/tsconfig.tsbuildinfo' does not exist -[12:00:21 AM] Building project '/src/solution/common/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/solution/common/tsconfig.json'... -[12:00:30 AM] Project 'src/solution/sub-project/tsconfig.json' is out of date because output file 'src/lib/solution/sub-project/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/solution/sub-project/tsconfig.json' is out of date because output file 'src/lib/solution/sub-project/tsconfig.tsbuildinfo' does not exist -[12:00:31 AM] Building project '/src/solution/sub-project/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/solution/sub-project/tsconfig.json'... -[12:00:38 AM] Project 'src/solution/sub-project-2/tsconfig.json' is out of date because output file 'src/lib/solution/sub-project-2/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/solution/sub-project-2/tsconfig.json' is out of date because output file 'src/lib/solution/sub-project-2/tsconfig.tsbuildinfo' does not exist -[12:00:39 AM] Building project '/src/solution/sub-project-2/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/solution/sub-project-2/tsconfig.json'... exitCode:: ExitStatus.Success @@ -151,7 +151,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); //// [/src/lib/solution/common/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../lib/lib.d.ts","../../../solution/common/nominal.ts"],"fileInfos":[{"version":"-32082413277-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };\ninterface SymbolConstructor {\n readonly species: symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-24498031910-export declare type Nominal = T & {\n [Symbol.species]: Name;\n};\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"outDir":"../..","rootDir":"../../..","skipLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./nominal.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../lib/lib.d.ts","../../../solution/common/nominal.ts"],"fileInfos":[{"version":"-32082413277-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };\ninterface SymbolConstructor {\n readonly species: symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-24498031910-export declare type Nominal = T & {\n [Symbol.species]: Name;\n};\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"outDir":"../..","rootDir":"../../..","skipLibCheck":true},"latestChangedDtsFile":"./nominal.d.ts"},"version":"FakeTSVersion"} //// [/src/lib/solution/common/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -194,15 +194,10 @@ Object.defineProperty(exports, "__esModule", { value: true }); "rootDir": "../../..", "skipLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../lib/lib.d.ts", - "../../../solution/common/nominal.ts" - ], "latestChangedDtsFile": "./nominal.d.ts" }, "version": "FakeTSVersion", - "size": 1172 + "size": 1118 } //// [/src/lib/solution/sub-project/index.d.ts] @@ -216,7 +211,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); //// [/src/lib/solution/sub-project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../lib/lib.d.ts","../common/nominal.d.ts","../../../solution/sub-project/index.ts"],"fileInfos":[{"version":"-32082413277-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };\ninterface SymbolConstructor {\n readonly species: symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-24498031910-export declare type Nominal = T & {\n [Symbol.species]: Name;\n};\n","impliedFormat":1},{"version":"-22894055505-import { Nominal } from '../common/nominal';\n\nexport type MyNominal = Nominal;\n","signature":"-25703752603-import { Nominal } from '../common/nominal';\nexport type MyNominal = Nominal;\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"outDir":"../..","rootDir":"../../..","skipLibCheck":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../lib/lib.d.ts","../common/nominal.d.ts","../../../solution/sub-project/index.ts"],"fileInfos":[{"version":"-32082413277-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };\ninterface SymbolConstructor {\n readonly species: symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-24498031910-export declare type Nominal = T & {\n [Symbol.species]: Name;\n};\n","impliedFormat":1},{"version":"-22894055505-import { Nominal } from '../common/nominal';\n\nexport type MyNominal = Nominal;\n","signature":"-25703752603-import { Nominal } from '../common/nominal';\nexport type MyNominal = Nominal;\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"outDir":"../..","rootDir":"../../..","skipLibCheck":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/src/lib/solution/sub-project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -280,15 +275,10 @@ Object.defineProperty(exports, "__esModule", { value: true }); "../common/nominal.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../lib/lib.d.ts", - "../common/nominal.d.ts", - "../../../solution/sub-project/index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1503 + "size": 1466 } //// [/src/lib/solution/sub-project-2/index.d.ts] @@ -313,7 +303,7 @@ function getVar() { //// [/src/lib/solution/sub-project-2/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../lib/lib.d.ts","../common/nominal.d.ts","../sub-project/index.d.ts","../../../solution/sub-project-2/index.ts"],"fileInfos":[{"version":"-32082413277-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };\ninterface SymbolConstructor {\n readonly species: symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-24498031910-export declare type Nominal = T & {\n [Symbol.species]: Name;\n};\n","impliedFormat":1},{"version":"-25703752603-import { Nominal } from '../common/nominal';\nexport type MyNominal = Nominal;\n","impliedFormat":1},{"version":"-13939373533-import { MyNominal } from '../sub-project/index';\n\nconst variable = {\n key: 'value' as MyNominal,\n};\n\nexport function getVar(): keyof typeof variable {\n return 'key';\n}\n","signature":"-20490736360-import { MyNominal } from '../sub-project/index';\ndeclare const variable: {\n key: MyNominal;\n};\nexport declare function getVar(): keyof typeof variable;\nexport {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"../..","rootDir":"../../..","skipLibCheck":true},"fileIdsList":[[2],[3]],"referencedMap":[[3,1],[4,2]],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../lib/lib.d.ts","../common/nominal.d.ts","../sub-project/index.d.ts","../../../solution/sub-project-2/index.ts"],"fileInfos":[{"version":"-32082413277-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };\ninterface SymbolConstructor {\n readonly species: symbol;\n readonly toStringTag: symbol;\n}\ndeclare var Symbol: SymbolConstructor;\ninterface Symbol {\n readonly [Symbol.toStringTag]: string;\n}\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-24498031910-export declare type Nominal = T & {\n [Symbol.species]: Name;\n};\n","impliedFormat":1},{"version":"-25703752603-import { Nominal } from '../common/nominal';\nexport type MyNominal = Nominal;\n","impliedFormat":1},{"version":"-13939373533-import { MyNominal } from '../sub-project/index';\n\nconst variable = {\n key: 'value' as MyNominal,\n};\n\nexport function getVar(): keyof typeof variable {\n return 'key';\n}\n","signature":"-20490736360-import { MyNominal } from '../sub-project/index';\ndeclare const variable: {\n key: MyNominal;\n};\nexport declare function getVar(): keyof typeof variable;\nexport {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"../..","rootDir":"../../..","skipLibCheck":true},"fileIdsList":[[2],[3]],"referencedMap":[[3,1],[4,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/src/lib/solution/sub-project-2/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -393,15 +383,9 @@ function getVar() { "../sub-project/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../lib/lib.d.ts", - "../common/nominal.d.ts", - "../sub-project/index.d.ts", - "../../../solution/sub-project-2/index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1845 + "size": 1806 } diff --git a/tests/baselines/reference/tsbuild/noCheck-errors/semantic-errors-with-incremental.js b/tests/baselines/reference/tsbuild/noCheck-errors/semantic-errors-with-incremental.js index 6c04121b77f06..418366e76fb92 100644 --- a/tests/baselines/reference/tsbuild/noCheck-errors/semantic-errors-with-incremental.js +++ b/tests/baselines/reference/tsbuild/noCheck-errors/semantic-errors-with-incremental.js @@ -32,12 +32,12 @@ const a: number = "hello" Output:: /lib/tsc --b /src/tsconfig.json -v --incremental -[12:00:08 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:09 AM] Project 'src/tsconfig.json' is out of date because output file 'src/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/tsconfig.tsbuildinfo' does not exist -[12:00:10 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... src/tsconfig.json:3:16 - error TS5023: Unknown compiler option 'noCheck'. @@ -68,7 +68,7 @@ No shapes updated in the builder:: //// [/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"9312413704-const err: number = \"error\";\nconst a: number = \"hello\"","signature":false,"affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"options":{"declaration":true,"emitDeclarationOnly":true},"referencedMap":[],"changeFileSet":[1,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"9312413704-const err: number = \"error\";\nconst a: number = \"hello\"","signature":false,"affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"options":{"declaration":true,"emitDeclarationOnly":true},"changeFileSet":[1,2]},"version":"FakeTSVersion"} //// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -111,14 +111,13 @@ No shapes updated in the builder:: "declaration": true, "emitDeclarationOnly": true }, - "referencedMap": {}, "changeFileSet": [ "../lib/lib.d.ts", "./a.ts" ] }, "version": "FakeTSVersion", - "size": 866 + "size": 847 } @@ -129,12 +128,12 @@ Input:: Output:: /lib/tsc --b /src/tsconfig.json -v --incremental -[12:00:14 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:15 AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted -[12:00:16 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... src/tsconfig.json:3:16 - error TS5023: Unknown compiler option 'noCheck'. @@ -176,12 +175,12 @@ const a = "hello" Output:: /lib/tsc --b /src/tsconfig.json -v --incremental -[12:00:18 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:19 AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted -[12:00:20 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... src/tsconfig.json:3:16 - error TS5023: Unknown compiler option 'noCheck'. @@ -212,7 +211,7 @@ No shapes updated in the builder:: //// [/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"6909448549-const err: number = \"error\";\nconst a = \"hello\"","signature":false,"affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"options":{"declaration":true,"emitDeclarationOnly":true},"referencedMap":[],"changeFileSet":[1,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"6909448549-const err: number = \"error\";\nconst a = \"hello\"","signature":false,"affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"options":{"declaration":true,"emitDeclarationOnly":true},"changeFileSet":[1,2]},"version":"FakeTSVersion"} //// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -255,14 +254,13 @@ No shapes updated in the builder:: "declaration": true, "emitDeclarationOnly": true }, - "referencedMap": {}, "changeFileSet": [ "../lib/lib.d.ts", "./a.ts" ] }, "version": "FakeTSVersion", - "size": 858 + "size": 839 } @@ -273,12 +271,12 @@ Input:: Output:: /lib/tsc --b /src/tsconfig.json -v --incremental -[12:00:24 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:25 AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted -[12:00:26 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... src/tsconfig.json:3:16 - error TS5023: Unknown compiler option 'noCheck'. @@ -324,12 +322,12 @@ Input:: Output:: /lib/tsc --b /src/tsconfig.json -v --incremental -[12:00:28 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:29 AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted -[12:00:30 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... src/a.ts:1:7 - error TS2322: Type 'string' is not assignable to type 'number'. @@ -364,7 +362,7 @@ Shape signatures in builder refreshed for:: //// [/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"6909448549-const err: number = \"error\";\nconst a = \"hello\"","signature":"-22441876417-declare const err: number;\ndeclare const a = \"hello\";\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"options":{"declaration":true,"emitDeclarationOnly":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,[2,[{"file":"./a.ts","start":6,"length":3,"code":2322,"category":1,"messageText":"Type 'string' is not assignable to type 'number'."}]]],"affectedFilesPendingEmit":[2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"6909448549-const err: number = \"error\";\nconst a = \"hello\"","signature":"-22441876417-declare const err: number;\ndeclare const a = \"hello\";\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"options":{"declaration":true,"emitDeclarationOnly":true},"semanticDiagnosticsPerFile":[[2,[{"start":6,"length":3,"code":2322,"category":1,"messageText":"Type 'string' is not assignable to type 'number'."}]]],"affectedFilesPendingEmit":[2]},"version":"FakeTSVersion"} //// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -408,14 +406,11 @@ Shape signatures in builder refreshed for:: "declaration": true, "emitDeclarationOnly": true }, - "referencedMap": {}, "semanticDiagnosticsPerFile": [ - "../lib/lib.d.ts", [ "./a.ts", [ { - "file": "./a.ts", "start": 6, "length": 3, "code": 2322, @@ -433,7 +428,7 @@ Shape signatures in builder refreshed for:: ] }, "version": "FakeTSVersion", - "size": 1086 + "size": 1049 } @@ -444,12 +439,12 @@ Input:: Output:: /lib/tsc --b /src/tsconfig.json -v --incremental -[12:00:34 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:35 AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted -[12:00:36 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... src/a.ts:1:7 - error TS2322: Type 'string' is not assignable to type 'number'. diff --git a/tests/baselines/reference/tsbuild/noCheck-errors/semantic-errors.js b/tests/baselines/reference/tsbuild/noCheck-errors/semantic-errors.js index be37c71338c36..999aa80dcbbb6 100644 --- a/tests/baselines/reference/tsbuild/noCheck-errors/semantic-errors.js +++ b/tests/baselines/reference/tsbuild/noCheck-errors/semantic-errors.js @@ -32,12 +32,12 @@ const a: number = "hello" Output:: /lib/tsc --b /src/tsconfig.json -v -[12:00:08 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:09 AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.d.ts' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.d.ts' does not exist -[12:00:10 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... src/tsconfig.json:3:16 - error TS5023: Unknown compiler option 'noCheck'. @@ -74,12 +74,12 @@ Input:: Output:: /lib/tsc --b /src/tsconfig.json -v -[12:00:11 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:12 AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.d.ts' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.d.ts' does not exist -[12:00:13 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... src/tsconfig.json:3:16 - error TS5023: Unknown compiler option 'noCheck'. @@ -120,12 +120,12 @@ const a = "hello" Output:: /lib/tsc --b /src/tsconfig.json -v -[12:00:15 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:16 AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.d.ts' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.d.ts' does not exist -[12:00:17 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... src/tsconfig.json:3:16 - error TS5023: Unknown compiler option 'noCheck'. @@ -162,12 +162,12 @@ Input:: Output:: /lib/tsc --b /src/tsconfig.json -v -[12:00:18 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:19 AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.d.ts' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.d.ts' does not exist -[12:00:20 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... src/tsconfig.json:3:16 - error TS5023: Unknown compiler option 'noCheck'. @@ -212,12 +212,12 @@ Input:: Output:: /lib/tsc --b /src/tsconfig.json -v -[12:00:22 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:23 AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.d.ts' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.d.ts' does not exist -[12:00:24 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... src/a.ts:1:7 - error TS2322: Type 'string' is not assignable to type 'number'. @@ -258,12 +258,12 @@ Input:: Output:: /lib/tsc --b /src/tsconfig.json -v -[12:00:25 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:26 AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.d.ts' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.d.ts' does not exist -[12:00:27 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... src/a.ts:1:7 - error TS2322: Type 'string' is not assignable to type 'number'. diff --git a/tests/baselines/reference/tsbuild/noCheck-errors/syntax-errors-with-incremental.js b/tests/baselines/reference/tsbuild/noCheck-errors/syntax-errors-with-incremental.js index 3ac1727d00498..9dbf64ac4652d 100644 --- a/tests/baselines/reference/tsbuild/noCheck-errors/syntax-errors-with-incremental.js +++ b/tests/baselines/reference/tsbuild/noCheck-errors/syntax-errors-with-incremental.js @@ -32,12 +32,12 @@ const a = "hello Output:: /lib/tsc --b /src/tsconfig.json -v --incremental -[12:00:08 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:09 AM] Project 'src/tsconfig.json' is out of date because output file 'src/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/tsconfig.tsbuildinfo' does not exist -[12:00:10 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... src/tsconfig.json:3:16 - error TS5023: Unknown compiler option 'noCheck'. @@ -73,7 +73,7 @@ No shapes updated in the builder:: //// [/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"8018408675-const err: number = \"error\";\nconst a = \"hello","signature":false,"affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"options":{"declaration":true,"emitDeclarationOnly":true},"referencedMap":[],"changeFileSet":[1,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"8018408675-const err: number = \"error\";\nconst a = \"hello","signature":false,"affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"options":{"declaration":true,"emitDeclarationOnly":true},"changeFileSet":[1,2]},"version":"FakeTSVersion"} //// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -116,14 +116,13 @@ No shapes updated in the builder:: "declaration": true, "emitDeclarationOnly": true }, - "referencedMap": {}, "changeFileSet": [ "../lib/lib.d.ts", "./a.ts" ] }, "version": "FakeTSVersion", - "size": 856 + "size": 837 } @@ -134,12 +133,12 @@ Input:: Output:: /lib/tsc --b /src/tsconfig.json -v --incremental -[12:00:14 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:15 AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted -[12:00:16 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... src/tsconfig.json:3:16 - error TS5023: Unknown compiler option 'noCheck'. @@ -186,12 +185,12 @@ const a = "hello" Output:: /lib/tsc --b /src/tsconfig.json -v --incremental -[12:00:18 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:19 AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted -[12:00:20 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... src/tsconfig.json:3:16 - error TS5023: Unknown compiler option 'noCheck'. @@ -222,7 +221,7 @@ No shapes updated in the builder:: //// [/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"6909448549-const err: number = \"error\";\nconst a = \"hello\"","signature":false,"affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"options":{"declaration":true,"emitDeclarationOnly":true},"referencedMap":[],"changeFileSet":[1,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"6909448549-const err: number = \"error\";\nconst a = \"hello\"","signature":false,"affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"options":{"declaration":true,"emitDeclarationOnly":true},"changeFileSet":[1,2]},"version":"FakeTSVersion"} //// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -265,14 +264,13 @@ No shapes updated in the builder:: "declaration": true, "emitDeclarationOnly": true }, - "referencedMap": {}, "changeFileSet": [ "../lib/lib.d.ts", "./a.ts" ] }, "version": "FakeTSVersion", - "size": 858 + "size": 839 } @@ -283,12 +281,12 @@ Input:: Output:: /lib/tsc --b /src/tsconfig.json -v --incremental -[12:00:24 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:25 AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted -[12:00:26 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... src/tsconfig.json:3:16 - error TS5023: Unknown compiler option 'noCheck'. @@ -334,12 +332,12 @@ Input:: Output:: /lib/tsc --b /src/tsconfig.json -v --incremental -[12:00:28 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:29 AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted -[12:00:30 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... src/a.ts:1:7 - error TS2322: Type 'string' is not assignable to type 'number'. @@ -374,7 +372,7 @@ Shape signatures in builder refreshed for:: //// [/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"6909448549-const err: number = \"error\";\nconst a = \"hello\"","signature":"-22441876417-declare const err: number;\ndeclare const a = \"hello\";\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"options":{"declaration":true,"emitDeclarationOnly":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,[2,[{"file":"./a.ts","start":6,"length":3,"code":2322,"category":1,"messageText":"Type 'string' is not assignable to type 'number'."}]]],"affectedFilesPendingEmit":[2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"6909448549-const err: number = \"error\";\nconst a = \"hello\"","signature":"-22441876417-declare const err: number;\ndeclare const a = \"hello\";\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"options":{"declaration":true,"emitDeclarationOnly":true},"semanticDiagnosticsPerFile":[[2,[{"start":6,"length":3,"code":2322,"category":1,"messageText":"Type 'string' is not assignable to type 'number'."}]]],"affectedFilesPendingEmit":[2]},"version":"FakeTSVersion"} //// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -418,14 +416,11 @@ Shape signatures in builder refreshed for:: "declaration": true, "emitDeclarationOnly": true }, - "referencedMap": {}, "semanticDiagnosticsPerFile": [ - "../lib/lib.d.ts", [ "./a.ts", [ { - "file": "./a.ts", "start": 6, "length": 3, "code": 2322, @@ -443,7 +438,7 @@ Shape signatures in builder refreshed for:: ] }, "version": "FakeTSVersion", - "size": 1086 + "size": 1049 } @@ -454,12 +449,12 @@ Input:: Output:: /lib/tsc --b /src/tsconfig.json -v --incremental -[12:00:34 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:35 AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted -[12:00:36 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... src/a.ts:1:7 - error TS2322: Type 'string' is not assignable to type 'number'. diff --git a/tests/baselines/reference/tsbuild/noCheck-errors/syntax-errors.js b/tests/baselines/reference/tsbuild/noCheck-errors/syntax-errors.js index ea1eac55da315..3e5d028a46caf 100644 --- a/tests/baselines/reference/tsbuild/noCheck-errors/syntax-errors.js +++ b/tests/baselines/reference/tsbuild/noCheck-errors/syntax-errors.js @@ -32,12 +32,12 @@ const a = "hello Output:: /lib/tsc --b /src/tsconfig.json -v -[12:00:08 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:09 AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.d.ts' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.d.ts' does not exist -[12:00:10 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... src/tsconfig.json:3:16 - error TS5023: Unknown compiler option 'noCheck'. @@ -79,12 +79,12 @@ Input:: Output:: /lib/tsc --b /src/tsconfig.json -v -[12:00:11 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:12 AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.d.ts' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.d.ts' does not exist -[12:00:13 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... src/tsconfig.json:3:16 - error TS5023: Unknown compiler option 'noCheck'. @@ -130,12 +130,12 @@ const a = "hello" Output:: /lib/tsc --b /src/tsconfig.json -v -[12:00:15 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:16 AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.d.ts' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.d.ts' does not exist -[12:00:17 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... src/tsconfig.json:3:16 - error TS5023: Unknown compiler option 'noCheck'. @@ -172,12 +172,12 @@ Input:: Output:: /lib/tsc --b /src/tsconfig.json -v -[12:00:18 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:19 AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.d.ts' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.d.ts' does not exist -[12:00:20 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... src/tsconfig.json:3:16 - error TS5023: Unknown compiler option 'noCheck'. @@ -222,12 +222,12 @@ Input:: Output:: /lib/tsc --b /src/tsconfig.json -v -[12:00:22 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:23 AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.d.ts' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.d.ts' does not exist -[12:00:24 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... src/a.ts:1:7 - error TS2322: Type 'string' is not assignable to type 'number'. @@ -268,12 +268,12 @@ Input:: Output:: /lib/tsc --b /src/tsconfig.json -v -[12:00:25 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:26 AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.d.ts' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.d.ts' does not exist -[12:00:27 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... src/a.ts:1:7 - error TS2322: Type 'string' is not assignable to type 'number'. diff --git a/tests/baselines/reference/tsbuild/noCheck/semantic-errors-with-incremental-discrepancies.js b/tests/baselines/reference/tsbuild/noCheck/semantic-errors-with-incremental-discrepancies.js index 468987b4a1433..0d6fc4a41f105 100644 --- a/tests/baselines/reference/tsbuild/noCheck/semantic-errors-with-incremental-discrepancies.js +++ b/tests/baselines/reference/tsbuild/noCheck/semantic-errors-with-incremental-discrepancies.js @@ -26,14 +26,11 @@ CleanBuild: "declaration": true, "emitDeclarationOnly": true }, - "referencedMap": {}, "semanticDiagnosticsPerFile": [ - "../lib/lib.d.ts", [ "./a.ts", [ { - "file": "./a.ts", "start": 6, "length": 3, "code": 2322, @@ -71,12 +68,7 @@ IncrementalBuild: "declaration": true, "emitDeclarationOnly": true, "noCheck": true - }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../lib/lib.d.ts", - "./a.ts" - ] + } }, "version": "FakeTSVersion" } @@ -108,14 +100,11 @@ CleanBuild: "declaration": true, "emitDeclarationOnly": true }, - "referencedMap": {}, "semanticDiagnosticsPerFile": [ - "../lib/lib.d.ts", [ "./a.ts", [ { - "file": "./a.ts", "start": 6, "length": 3, "code": 2322, @@ -153,12 +142,7 @@ IncrementalBuild: "declaration": true, "emitDeclarationOnly": true, "noCheck": true - }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../lib/lib.d.ts", - "./a.ts" - ] + } }, "version": "FakeTSVersion" } \ No newline at end of file diff --git a/tests/baselines/reference/tsbuild/noCheck/semantic-errors-with-incremental.js b/tests/baselines/reference/tsbuild/noCheck/semantic-errors-with-incremental.js index ab5535f4933bc..01e9dd138939b 100644 --- a/tests/baselines/reference/tsbuild/noCheck/semantic-errors-with-incremental.js +++ b/tests/baselines/reference/tsbuild/noCheck/semantic-errors-with-incremental.js @@ -32,12 +32,12 @@ const a: number = "hello" Output:: /lib/tsc --b /src/tsconfig.json -v --incremental -[12:00:08 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:09 AM] Project 'src/tsconfig.json' is out of date because output file 'src/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/tsconfig.tsbuildinfo' does not exist -[12:00:10 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -70,7 +70,7 @@ declare const a: number; //// [/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"9312413704-const err: number = \"error\";\nconst a: number = \"hello\"","signature":"-22763377875-declare const err: number;\ndeclare const a: number;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"options":{"declaration":true,"emitDeclarationOnly":true,"noCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"9312413704-const err: number = \"error\";\nconst a: number = \"hello\"","signature":"-22763377875-declare const err: number;\ndeclare const a: number;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"options":{"declaration":true,"emitDeclarationOnly":true,"noCheck":true}},"version":"FakeTSVersion"} //// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -114,15 +114,10 @@ declare const a: number; "declaration": true, "emitDeclarationOnly": true, "noCheck": true - }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../lib/lib.d.ts", - "./a.ts" - ] + } }, "version": "FakeTSVersion", - "size": 940 + "size": 886 } @@ -133,10 +128,10 @@ Input:: Output:: /lib/tsc --b /src/tsconfig.json -v --incremental -[12:00:15 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:16 AM] Project 'src/tsconfig.json' is up to date because newest input 'src/a.ts' is older than output 'src/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'src/tsconfig.json' is up to date because newest input 'src/a.ts' is older than output 'src/tsconfig.tsbuildinfo' exitCode:: ExitStatus.Success @@ -153,12 +148,12 @@ const a = "hello" Output:: /lib/tsc --b /src/tsconfig.json -v --incremental -[12:00:18 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:19 AM] Project 'src/tsconfig.json' is out of date because output 'src/tsconfig.tsbuildinfo' is older than input 'src/a.ts' +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output 'src/tsconfig.tsbuildinfo' is older than input 'src/a.ts' -[12:00:20 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -189,7 +184,7 @@ declare const a = "hello"; //// [/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"6909448549-const err: number = \"error\";\nconst a = \"hello\"","signature":"-22441876417-declare const err: number;\ndeclare const a = \"hello\";\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"options":{"declaration":true,"emitDeclarationOnly":true,"noCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"6909448549-const err: number = \"error\";\nconst a = \"hello\"","signature":"-22441876417-declare const err: number;\ndeclare const a = \"hello\";\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"options":{"declaration":true,"emitDeclarationOnly":true,"noCheck":true}},"version":"FakeTSVersion"} //// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -233,15 +228,10 @@ declare const a = "hello"; "declaration": true, "emitDeclarationOnly": true, "noCheck": true - }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../lib/lib.d.ts", - "./a.ts" - ] + } }, "version": "FakeTSVersion", - "size": 936 + "size": 882 } @@ -252,10 +242,10 @@ Input:: Output:: /lib/tsc --b /src/tsconfig.json -v --incremental -[12:00:25 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:26 AM] Project 'src/tsconfig.json' is up to date because newest input 'src/a.ts' is older than output 'src/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'src/tsconfig.json' is up to date because newest input 'src/a.ts' is older than output 'src/tsconfig.tsbuildinfo' exitCode:: ExitStatus.Success @@ -276,12 +266,12 @@ Input:: Output:: /lib/tsc --b /src/tsconfig.json -v --incremental -[12:00:28 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:29 AM] Project 'src/tsconfig.json' is out of date because output 'src/tsconfig.tsbuildinfo' is older than input 'src/tsconfig.json' +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output 'src/tsconfig.tsbuildinfo' is older than input 'src/tsconfig.json' -[12:00:30 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... src/a.ts:1:7 - error TS2322: Type 'string' is not assignable to type 'number'. @@ -321,12 +311,12 @@ Input:: Output:: /lib/tsc --b /src/tsconfig.json -v --incremental -[12:00:31 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:32 AM] Project 'src/tsconfig.json' is out of date because output 'src/tsconfig.tsbuildinfo' is older than input 'src/tsconfig.json' +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output 'src/tsconfig.tsbuildinfo' is older than input 'src/tsconfig.json' -[12:00:33 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... src/a.ts:1:7 - error TS2322: Type 'string' is not assignable to type 'number'. diff --git a/tests/baselines/reference/tsbuild/noCheck/semantic-errors.js b/tests/baselines/reference/tsbuild/noCheck/semantic-errors.js index 5c10389bbb596..caa6ccb419647 100644 --- a/tests/baselines/reference/tsbuild/noCheck/semantic-errors.js +++ b/tests/baselines/reference/tsbuild/noCheck/semantic-errors.js @@ -32,12 +32,12 @@ const a: number = "hello" Output:: /lib/tsc --b /src/tsconfig.json -v -[12:00:08 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:09 AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.d.ts' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.d.ts' does not exist -[12:00:10 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -76,10 +76,10 @@ Input:: Output:: /lib/tsc --b /src/tsconfig.json -v -[12:00:12 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:13 AM] Project 'src/tsconfig.json' is up to date because newest input 'src/a.ts' is older than output 'src/a.d.ts' +[HH:MM:SS AM] Project 'src/tsconfig.json' is up to date because newest input 'src/a.ts' is older than output 'src/a.d.ts' exitCode:: ExitStatus.Success @@ -96,12 +96,12 @@ const a = "hello" Output:: /lib/tsc --b /src/tsconfig.json -v -[12:00:15 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:16 AM] Project 'src/tsconfig.json' is out of date because output 'src/a.d.ts' is older than input 'src/a.ts' +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output 'src/a.d.ts' is older than input 'src/a.ts' -[12:00:17 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -140,10 +140,10 @@ Input:: Output:: /lib/tsc --b /src/tsconfig.json -v -[12:00:19 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:20 AM] Project 'src/tsconfig.json' is up to date because newest input 'src/a.ts' is older than output 'src/a.d.ts' +[HH:MM:SS AM] Project 'src/tsconfig.json' is up to date because newest input 'src/a.ts' is older than output 'src/a.d.ts' exitCode:: ExitStatus.Success @@ -164,12 +164,12 @@ Input:: Output:: /lib/tsc --b /src/tsconfig.json -v -[12:00:22 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:23 AM] Project 'src/tsconfig.json' is out of date because output 'src/a.d.ts' is older than input 'src/tsconfig.json' +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output 'src/a.d.ts' is older than input 'src/tsconfig.json' -[12:00:24 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... src/a.ts:1:7 - error TS2322: Type 'string' is not assignable to type 'number'. @@ -210,12 +210,12 @@ Input:: Output:: /lib/tsc --b /src/tsconfig.json -v -[12:00:25 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:26 AM] Project 'src/tsconfig.json' is out of date because output 'src/a.d.ts' is older than input 'src/tsconfig.json' +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output 'src/a.d.ts' is older than input 'src/tsconfig.json' -[12:00:27 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... src/a.ts:1:7 - error TS2322: Type 'string' is not assignable to type 'number'. diff --git a/tests/baselines/reference/tsbuild/noCheck/syntax-errors-with-incremental-discrepancies.js b/tests/baselines/reference/tsbuild/noCheck/syntax-errors-with-incremental-discrepancies.js index 468987b4a1433..0d6fc4a41f105 100644 --- a/tests/baselines/reference/tsbuild/noCheck/syntax-errors-with-incremental-discrepancies.js +++ b/tests/baselines/reference/tsbuild/noCheck/syntax-errors-with-incremental-discrepancies.js @@ -26,14 +26,11 @@ CleanBuild: "declaration": true, "emitDeclarationOnly": true }, - "referencedMap": {}, "semanticDiagnosticsPerFile": [ - "../lib/lib.d.ts", [ "./a.ts", [ { - "file": "./a.ts", "start": 6, "length": 3, "code": 2322, @@ -71,12 +68,7 @@ IncrementalBuild: "declaration": true, "emitDeclarationOnly": true, "noCheck": true - }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../lib/lib.d.ts", - "./a.ts" - ] + } }, "version": "FakeTSVersion" } @@ -108,14 +100,11 @@ CleanBuild: "declaration": true, "emitDeclarationOnly": true }, - "referencedMap": {}, "semanticDiagnosticsPerFile": [ - "../lib/lib.d.ts", [ "./a.ts", [ { - "file": "./a.ts", "start": 6, "length": 3, "code": 2322, @@ -153,12 +142,7 @@ IncrementalBuild: "declaration": true, "emitDeclarationOnly": true, "noCheck": true - }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../lib/lib.d.ts", - "./a.ts" - ] + } }, "version": "FakeTSVersion" } \ No newline at end of file diff --git a/tests/baselines/reference/tsbuild/noCheck/syntax-errors-with-incremental.js b/tests/baselines/reference/tsbuild/noCheck/syntax-errors-with-incremental.js index 0a2583af8beec..40a8358b589e6 100644 --- a/tests/baselines/reference/tsbuild/noCheck/syntax-errors-with-incremental.js +++ b/tests/baselines/reference/tsbuild/noCheck/syntax-errors-with-incremental.js @@ -32,12 +32,12 @@ const a = "hello Output:: /lib/tsc --b /src/tsconfig.json -v --incremental -[12:00:08 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:09 AM] Project 'src/tsconfig.json' is out of date because output file 'src/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/tsconfig.tsbuildinfo' does not exist -[12:00:10 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... src/a.ts:2:17 - error TS1002: Unterminated string literal. @@ -69,7 +69,7 @@ No shapes updated in the builder:: //// [/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"8018408675-const err: number = \"error\";\nconst a = \"hello","signature":false,"affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"options":{"declaration":true,"emitDeclarationOnly":true,"noCheck":true},"referencedMap":[],"changeFileSet":[1,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"8018408675-const err: number = \"error\";\nconst a = \"hello","signature":false,"affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"options":{"declaration":true,"emitDeclarationOnly":true,"noCheck":true},"changeFileSet":[1,2]},"version":"FakeTSVersion"} //// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -113,14 +113,13 @@ No shapes updated in the builder:: "emitDeclarationOnly": true, "noCheck": true }, - "referencedMap": {}, "changeFileSet": [ "../lib/lib.d.ts", "./a.ts" ] }, "version": "FakeTSVersion", - "size": 871 + "size": 852 } @@ -131,12 +130,12 @@ Input:: Output:: /lib/tsc --b /src/tsconfig.json -v --incremental -[12:00:14 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:15 AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted -[12:00:16 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... src/a.ts:2:17 - error TS1002: Unterminated string literal. @@ -179,12 +178,12 @@ const a = "hello" Output:: /lib/tsc --b /src/tsconfig.json -v --incremental -[12:00:18 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:19 AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted -[12:00:20 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -217,7 +216,7 @@ declare const a = "hello"; //// [/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"6909448549-const err: number = \"error\";\nconst a = \"hello\"","signature":"-22441876417-declare const err: number;\ndeclare const a = \"hello\";\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"options":{"declaration":true,"emitDeclarationOnly":true,"noCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"6909448549-const err: number = \"error\";\nconst a = \"hello\"","signature":"-22441876417-declare const err: number;\ndeclare const a = \"hello\";\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"options":{"declaration":true,"emitDeclarationOnly":true,"noCheck":true}},"version":"FakeTSVersion"} //// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -261,15 +260,10 @@ declare const a = "hello"; "declaration": true, "emitDeclarationOnly": true, "noCheck": true - }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../lib/lib.d.ts", - "./a.ts" - ] + } }, "version": "FakeTSVersion", - "size": 936 + "size": 882 } @@ -280,10 +274,10 @@ Input:: Output:: /lib/tsc --b /src/tsconfig.json -v --incremental -[12:00:25 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:26 AM] Project 'src/tsconfig.json' is up to date because newest input 'src/a.ts' is older than output 'src/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'src/tsconfig.json' is up to date because newest input 'src/a.ts' is older than output 'src/tsconfig.tsbuildinfo' exitCode:: ExitStatus.Success @@ -304,12 +298,12 @@ Input:: Output:: /lib/tsc --b /src/tsconfig.json -v --incremental -[12:00:28 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:29 AM] Project 'src/tsconfig.json' is out of date because output 'src/tsconfig.tsbuildinfo' is older than input 'src/tsconfig.json' +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output 'src/tsconfig.tsbuildinfo' is older than input 'src/tsconfig.json' -[12:00:30 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... src/a.ts:1:7 - error TS2322: Type 'string' is not assignable to type 'number'. @@ -349,12 +343,12 @@ Input:: Output:: /lib/tsc --b /src/tsconfig.json -v --incremental -[12:00:31 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:32 AM] Project 'src/tsconfig.json' is out of date because output 'src/tsconfig.tsbuildinfo' is older than input 'src/tsconfig.json' +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output 'src/tsconfig.tsbuildinfo' is older than input 'src/tsconfig.json' -[12:00:33 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... src/a.ts:1:7 - error TS2322: Type 'string' is not assignable to type 'number'. diff --git a/tests/baselines/reference/tsbuild/noCheck/syntax-errors.js b/tests/baselines/reference/tsbuild/noCheck/syntax-errors.js index ea2b9242669bd..34cf37d7510d0 100644 --- a/tests/baselines/reference/tsbuild/noCheck/syntax-errors.js +++ b/tests/baselines/reference/tsbuild/noCheck/syntax-errors.js @@ -32,12 +32,12 @@ const a = "hello Output:: /lib/tsc --b /src/tsconfig.json -v -[12:00:08 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:09 AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.d.ts' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.d.ts' does not exist -[12:00:10 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... src/a.ts:2:17 - error TS1002: Unterminated string literal. @@ -75,12 +75,12 @@ Input:: Output:: /lib/tsc --b /src/tsconfig.json -v -[12:00:11 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:12 AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.d.ts' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.d.ts' does not exist -[12:00:13 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... src/a.ts:2:17 - error TS1002: Unterminated string literal. @@ -122,12 +122,12 @@ const a = "hello" Output:: /lib/tsc --b /src/tsconfig.json -v -[12:00:15 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:16 AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.d.ts' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.d.ts' does not exist -[12:00:17 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -166,10 +166,10 @@ Input:: Output:: /lib/tsc --b /src/tsconfig.json -v -[12:00:19 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:20 AM] Project 'src/tsconfig.json' is up to date because newest input 'src/a.ts' is older than output 'src/a.d.ts' +[HH:MM:SS AM] Project 'src/tsconfig.json' is up to date because newest input 'src/a.ts' is older than output 'src/a.d.ts' exitCode:: ExitStatus.Success @@ -190,12 +190,12 @@ Input:: Output:: /lib/tsc --b /src/tsconfig.json -v -[12:00:22 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:23 AM] Project 'src/tsconfig.json' is out of date because output 'src/a.d.ts' is older than input 'src/tsconfig.json' +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output 'src/a.d.ts' is older than input 'src/tsconfig.json' -[12:00:24 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... src/a.ts:1:7 - error TS2322: Type 'string' is not assignable to type 'number'. @@ -236,12 +236,12 @@ Input:: Output:: /lib/tsc --b /src/tsconfig.json -v -[12:00:25 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:26 AM] Project 'src/tsconfig.json' is out of date because output 'src/a.d.ts' is older than input 'src/tsconfig.json' +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output 'src/a.d.ts' is older than input 'src/tsconfig.json' -[12:00:27 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... src/a.ts:1:7 - error TS2322: Type 'string' is not assignable to type 'number'. diff --git a/tests/baselines/reference/tsbuild/noEmit/semantic-errors-with-incremental.js b/tests/baselines/reference/tsbuild/noEmit/semantic-errors-with-incremental.js index 42e34149d5157..cc403e3ef0632 100644 --- a/tests/baselines/reference/tsbuild/noEmit/semantic-errors-with-incremental.js +++ b/tests/baselines/reference/tsbuild/noEmit/semantic-errors-with-incremental.js @@ -29,12 +29,12 @@ const a: number = "hello" Output:: /lib/tsc --b /src/tsconfig.json -v --incremental -[12:00:08 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:09 AM] Project 'src/tsconfig.json' is out of date because output file 'src/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/tsconfig.tsbuildinfo' does not exist -[12:00:10 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... src/a.ts:1:7 - error TS2322: Type 'string' is not assignable to type 'number'. @@ -68,7 +68,7 @@ Shape signatures in builder refreshed for:: //// [/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"1311033573-const a: number = \"hello\"","affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"referencedMap":[],"semanticDiagnosticsPerFile":[1,[2,[{"file":"./a.ts","start":6,"length":1,"code":2322,"category":1,"messageText":"Type 'string' is not assignable to type 'number'."}]]],"affectedFilesPendingEmit":[2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"1311033573-const a: number = \"hello\"","affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"semanticDiagnosticsPerFile":[[2,[{"start":6,"length":1,"code":2322,"category":1,"messageText":"Type 'string' is not assignable to type 'number'."}]]],"affectedFilesPendingEmit":[2]},"version":"FakeTSVersion"} //// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -107,14 +107,11 @@ Shape signatures in builder refreshed for:: "./a.ts" ] ], - "referencedMap": {}, "semanticDiagnosticsPerFile": [ - "../lib/lib.d.ts", [ "./a.ts", [ { - "file": "./a.ts", "start": 6, "length": 1, "code": 2322, @@ -132,7 +129,7 @@ Shape signatures in builder refreshed for:: ] }, "version": "FakeTSVersion", - "size": 918 + "size": 881 } @@ -143,12 +140,12 @@ Input:: Output:: /lib/tsc --b /src/tsconfig.json -v --incremental -[12:00:14 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:15 AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted -[12:00:16 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... src/a.ts:1:7 - error TS2322: Type 'string' is not assignable to type 'number'. @@ -188,12 +185,12 @@ const a = "hello" Output:: /lib/tsc --b /src/tsconfig.json -v --incremental -[12:00:18 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:19 AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted -[12:00:20 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -218,7 +215,7 @@ Shape signatures in builder refreshed for:: //// [/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"4011451714-const a = \"hello\"","signature":"-5460434953-declare const a = \"hello\";\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"affectedFilesPendingEmit":[2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"4011451714-const a = \"hello\"","signature":"-5460434953-declare const a = \"hello\";\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"affectedFilesPendingEmit":[2]},"version":"FakeTSVersion"} //// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -258,11 +255,6 @@ Shape signatures in builder refreshed for:: "./a.ts" ] ], - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../lib/lib.d.ts", - "./a.ts" - ], "affectedFilesPendingEmit": [ [ "./a.ts", @@ -271,7 +263,7 @@ Shape signatures in builder refreshed for:: ] }, "version": "FakeTSVersion", - "size": 833 + "size": 779 } @@ -282,10 +274,10 @@ Input:: Output:: /lib/tsc --b /src/tsconfig.json -v --incremental -[12:00:24 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:25 AM] Project 'src/tsconfig.json' is up to date because newest input 'src/a.ts' is older than output 'src/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'src/tsconfig.json' is up to date because newest input 'src/a.ts' is older than output 'src/tsconfig.tsbuildinfo' exitCode:: ExitStatus.Success diff --git a/tests/baselines/reference/tsbuild/noEmit/semantic-errors-with-outFile-with-incremental.js b/tests/baselines/reference/tsbuild/noEmit/semantic-errors-with-outFile-with-incremental.js new file mode 100644 index 0000000000000..9cc83167d4ed5 --- /dev/null +++ b/tests/baselines/reference/tsbuild/noEmit/semantic-errors-with-outFile-with-incremental.js @@ -0,0 +1,183 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Input:: +//// [/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/src/a.ts] +const a: number = "hello" + +//// [/src/tsconfig.json] +{ + "compilerOptions": { + "outFile": "../outFile.js", + "noEmit": true + } +} + + + +Output:: +/lib/tsc --b /src/tsconfig.json -v --incremental +[HH:MM:SS AM] Projects in this build: + * src/tsconfig.json + +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'outFile.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/src/tsconfig.json'... + +src/a.ts:1:7 - error TS2322: Type 'string' is not assignable to type 'number'. + +1 const a: number = "hello" +   ~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/src/a.ts" +] +Program options: { + "outFile": "/outFile.js", + "noEmit": true, + "incremental": true, + "configFilePath": "/src/tsconfig.json" +} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: no-change-run +Input:: + + +Output:: +/lib/tsc --b /src/tsconfig.json -v --incremental +[HH:MM:SS AM] Projects in this build: + * src/tsconfig.json + +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'outFile.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/src/tsconfig.json'... + +src/a.ts:1:7 - error TS2322: Type 'string' is not assignable to type 'number'. + +1 const a: number = "hello" +   ~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/src/a.ts" +] +Program options: { + "outFile": "/outFile.js", + "noEmit": true, + "incremental": true, + "configFilePath": "/src/tsconfig.json" +} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: Fix error +Input:: +//// [/src/a.ts] +const a = "hello" + + + +Output:: +/lib/tsc --b /src/tsconfig.json -v --incremental +[HH:MM:SS AM] Projects in this build: + * src/tsconfig.json + +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'outFile.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/src/tsconfig.json'... + +exitCode:: ExitStatus.Success +Program root files: [ + "/src/a.ts" +] +Program options: { + "outFile": "/outFile.js", + "noEmit": true, + "incremental": true, + "configFilePath": "/src/tsconfig.json" +} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: no-change-run +Input:: + + +Output:: +/lib/tsc --b /src/tsconfig.json -v --incremental +[HH:MM:SS AM] Projects in this build: + * src/tsconfig.json + +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'outFile.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/src/tsconfig.json'... + +exitCode:: ExitStatus.Success +Program root files: [ + "/src/a.ts" +] +Program options: { + "outFile": "/outFile.js", + "noEmit": true, + "incremental": true, + "configFilePath": "/src/tsconfig.json" +} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + diff --git a/tests/baselines/reference/tsbuild/noEmit/semantic-errors-with-outFile.js b/tests/baselines/reference/tsbuild/noEmit/semantic-errors-with-outFile.js new file mode 100644 index 0000000000000..1ec6229f4f675 --- /dev/null +++ b/tests/baselines/reference/tsbuild/noEmit/semantic-errors-with-outFile.js @@ -0,0 +1,179 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Input:: +//// [/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/src/a.ts] +const a: number = "hello" + +//// [/src/tsconfig.json] +{ + "compilerOptions": { + "outFile": "../outFile.js", + "noEmit": true + } +} + + + +Output:: +/lib/tsc --b /src/tsconfig.json -v +[HH:MM:SS AM] Projects in this build: + * src/tsconfig.json + +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'outFile.js' does not exist + +[HH:MM:SS AM] Building project '/src/tsconfig.json'... + +src/a.ts:1:7 - error TS2322: Type 'string' is not assignable to type 'number'. + +1 const a: number = "hello" +   ~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/src/a.ts" +] +Program options: { + "outFile": "/outFile.js", + "noEmit": true, + "configFilePath": "/src/tsconfig.json" +} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: no-change-run +Input:: + + +Output:: +/lib/tsc --b /src/tsconfig.json -v +[HH:MM:SS AM] Projects in this build: + * src/tsconfig.json + +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'outFile.js' does not exist + +[HH:MM:SS AM] Building project '/src/tsconfig.json'... + +src/a.ts:1:7 - error TS2322: Type 'string' is not assignable to type 'number'. + +1 const a: number = "hello" +   ~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/src/a.ts" +] +Program options: { + "outFile": "/outFile.js", + "noEmit": true, + "configFilePath": "/src/tsconfig.json" +} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: Fix error +Input:: +//// [/src/a.ts] +const a = "hello" + + + +Output:: +/lib/tsc --b /src/tsconfig.json -v +[HH:MM:SS AM] Projects in this build: + * src/tsconfig.json + +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'outFile.js' does not exist + +[HH:MM:SS AM] Building project '/src/tsconfig.json'... + +exitCode:: ExitStatus.Success +Program root files: [ + "/src/a.ts" +] +Program options: { + "outFile": "/outFile.js", + "noEmit": true, + "configFilePath": "/src/tsconfig.json" +} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: no-change-run +Input:: + + +Output:: +/lib/tsc --b /src/tsconfig.json -v +[HH:MM:SS AM] Projects in this build: + * src/tsconfig.json + +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'outFile.js' does not exist + +[HH:MM:SS AM] Building project '/src/tsconfig.json'... + +exitCode:: ExitStatus.Success +Program root files: [ + "/src/a.ts" +] +Program options: { + "outFile": "/outFile.js", + "noEmit": true, + "configFilePath": "/src/tsconfig.json" +} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + diff --git a/tests/baselines/reference/tsbuild/noEmit/semantic-errors.js b/tests/baselines/reference/tsbuild/noEmit/semantic-errors.js index f95748d03d8ab..7a56a9fce0b99 100644 --- a/tests/baselines/reference/tsbuild/noEmit/semantic-errors.js +++ b/tests/baselines/reference/tsbuild/noEmit/semantic-errors.js @@ -29,12 +29,12 @@ const a: number = "hello" Output:: /lib/tsc --b /src/tsconfig.json -v -[12:00:08 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:09 AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.js' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.js' does not exist -[12:00:10 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... src/a.ts:1:7 - error TS2322: Type 'string' is not assignable to type 'number'. @@ -74,12 +74,12 @@ Input:: Output:: /lib/tsc --b /src/tsconfig.json -v -[12:00:11 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:12 AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.js' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.js' does not exist -[12:00:13 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... src/a.ts:1:7 - error TS2322: Type 'string' is not assignable to type 'number'. @@ -122,12 +122,12 @@ const a = "hello" Output:: /lib/tsc --b /src/tsconfig.json -v -[12:00:15 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:16 AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.js' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.js' does not exist -[12:00:17 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -159,12 +159,12 @@ Input:: Output:: /lib/tsc --b /src/tsconfig.json -v -[12:00:18 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:19 AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.js' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.js' does not exist -[12:00:20 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ diff --git a/tests/baselines/reference/tsbuild/noEmit/syntax-errors-with-incremental.js b/tests/baselines/reference/tsbuild/noEmit/syntax-errors-with-incremental.js index 41647268cfb01..bd52e5bef957c 100644 --- a/tests/baselines/reference/tsbuild/noEmit/syntax-errors-with-incremental.js +++ b/tests/baselines/reference/tsbuild/noEmit/syntax-errors-with-incremental.js @@ -29,12 +29,12 @@ const a = "hello Output:: /lib/tsc --b /src/tsconfig.json -v --incremental -[12:00:08 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:09 AM] Project 'src/tsconfig.json' is out of date because output file 'src/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/tsconfig.tsbuildinfo' does not exist -[12:00:10 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... src/a.ts:1:17 - error TS1002: Unterminated string literal. @@ -64,7 +64,7 @@ No shapes updated in the builder:: //// [/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"2464268576-const a = \"hello","signature":false,"affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"referencedMap":[],"changeFileSet":[1,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"2464268576-const a = \"hello","signature":false,"affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"changeFileSet":[1,2]},"version":"FakeTSVersion"} //// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -103,14 +103,13 @@ No shapes updated in the builder:: "./a.ts" ] ], - "referencedMap": {}, "changeFileSet": [ "../lib/lib.d.ts", "./a.ts" ] }, "version": "FakeTSVersion", - "size": 766 + "size": 747 } @@ -121,12 +120,12 @@ Input:: Output:: /lib/tsc --b /src/tsconfig.json -v --incremental -[12:00:14 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:15 AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted -[12:00:16 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... src/a.ts:1:17 - error TS1002: Unterminated string literal. @@ -166,12 +165,12 @@ const a = "hello" Output:: /lib/tsc --b /src/tsconfig.json -v --incremental -[12:00:18 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:19 AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted -[12:00:20 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -197,7 +196,7 @@ Shape signatures in builder refreshed for:: //// [/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"4011451714-const a = \"hello\"","signature":"-5460434953-declare const a = \"hello\";\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"affectedFilesPendingEmit":[2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"4011451714-const a = \"hello\"","signature":"-5460434953-declare const a = \"hello\";\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"affectedFilesPendingEmit":[2]},"version":"FakeTSVersion"} //// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -237,11 +236,6 @@ Shape signatures in builder refreshed for:: "./a.ts" ] ], - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../lib/lib.d.ts", - "./a.ts" - ], "affectedFilesPendingEmit": [ [ "./a.ts", @@ -250,7 +244,7 @@ Shape signatures in builder refreshed for:: ] }, "version": "FakeTSVersion", - "size": 833 + "size": 779 } @@ -261,10 +255,10 @@ Input:: Output:: /lib/tsc --b /src/tsconfig.json -v --incremental -[12:00:24 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:25 AM] Project 'src/tsconfig.json' is up to date because newest input 'src/a.ts' is older than output 'src/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'src/tsconfig.json' is up to date because newest input 'src/a.ts' is older than output 'src/tsconfig.tsbuildinfo' exitCode:: ExitStatus.Success diff --git a/tests/baselines/reference/tsbuild/noEmit/syntax-errors-with-outFile-with-incremental.js b/tests/baselines/reference/tsbuild/noEmit/syntax-errors-with-outFile-with-incremental.js new file mode 100644 index 0000000000000..8dabcbcfed5bc --- /dev/null +++ b/tests/baselines/reference/tsbuild/noEmit/syntax-errors-with-outFile-with-incremental.js @@ -0,0 +1,183 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Input:: +//// [/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/src/a.ts] +const a = "hello + +//// [/src/tsconfig.json] +{ + "compilerOptions": { + "outFile": "../outFile.js", + "noEmit": true + } +} + + + +Output:: +/lib/tsc --b /src/tsconfig.json -v --incremental +[HH:MM:SS AM] Projects in this build: + * src/tsconfig.json + +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'outFile.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/src/tsconfig.json'... + +src/a.ts:1:17 - error TS1002: Unterminated string literal. + +1 const a = "hello +    + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/src/a.ts" +] +Program options: { + "outFile": "/outFile.js", + "noEmit": true, + "incremental": true, + "configFilePath": "/src/tsconfig.json" +} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: no-change-run +Input:: + + +Output:: +/lib/tsc --b /src/tsconfig.json -v --incremental +[HH:MM:SS AM] Projects in this build: + * src/tsconfig.json + +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'outFile.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/src/tsconfig.json'... + +src/a.ts:1:17 - error TS1002: Unterminated string literal. + +1 const a = "hello +    + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/src/a.ts" +] +Program options: { + "outFile": "/outFile.js", + "noEmit": true, + "incremental": true, + "configFilePath": "/src/tsconfig.json" +} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: Fix error +Input:: +//// [/src/a.ts] +const a = "hello" + + + +Output:: +/lib/tsc --b /src/tsconfig.json -v --incremental +[HH:MM:SS AM] Projects in this build: + * src/tsconfig.json + +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'outFile.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/src/tsconfig.json'... + +exitCode:: ExitStatus.Success +Program root files: [ + "/src/a.ts" +] +Program options: { + "outFile": "/outFile.js", + "noEmit": true, + "incremental": true, + "configFilePath": "/src/tsconfig.json" +} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: no-change-run +Input:: + + +Output:: +/lib/tsc --b /src/tsconfig.json -v --incremental +[HH:MM:SS AM] Projects in this build: + * src/tsconfig.json + +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'outFile.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/src/tsconfig.json'... + +exitCode:: ExitStatus.Success +Program root files: [ + "/src/a.ts" +] +Program options: { + "outFile": "/outFile.js", + "noEmit": true, + "incremental": true, + "configFilePath": "/src/tsconfig.json" +} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + diff --git a/tests/baselines/reference/tsbuild/noEmit/syntax-errors-with-outFile.js b/tests/baselines/reference/tsbuild/noEmit/syntax-errors-with-outFile.js new file mode 100644 index 0000000000000..37052dcc81b3f --- /dev/null +++ b/tests/baselines/reference/tsbuild/noEmit/syntax-errors-with-outFile.js @@ -0,0 +1,179 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Input:: +//// [/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/src/a.ts] +const a = "hello + +//// [/src/tsconfig.json] +{ + "compilerOptions": { + "outFile": "../outFile.js", + "noEmit": true + } +} + + + +Output:: +/lib/tsc --b /src/tsconfig.json -v +[HH:MM:SS AM] Projects in this build: + * src/tsconfig.json + +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'outFile.js' does not exist + +[HH:MM:SS AM] Building project '/src/tsconfig.json'... + +src/a.ts:1:17 - error TS1002: Unterminated string literal. + +1 const a = "hello +    + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/src/a.ts" +] +Program options: { + "outFile": "/outFile.js", + "noEmit": true, + "configFilePath": "/src/tsconfig.json" +} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: no-change-run +Input:: + + +Output:: +/lib/tsc --b /src/tsconfig.json -v +[HH:MM:SS AM] Projects in this build: + * src/tsconfig.json + +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'outFile.js' does not exist + +[HH:MM:SS AM] Building project '/src/tsconfig.json'... + +src/a.ts:1:17 - error TS1002: Unterminated string literal. + +1 const a = "hello +    + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/src/a.ts" +] +Program options: { + "outFile": "/outFile.js", + "noEmit": true, + "configFilePath": "/src/tsconfig.json" +} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: Fix error +Input:: +//// [/src/a.ts] +const a = "hello" + + + +Output:: +/lib/tsc --b /src/tsconfig.json -v +[HH:MM:SS AM] Projects in this build: + * src/tsconfig.json + +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'outFile.js' does not exist + +[HH:MM:SS AM] Building project '/src/tsconfig.json'... + +exitCode:: ExitStatus.Success +Program root files: [ + "/src/a.ts" +] +Program options: { + "outFile": "/outFile.js", + "noEmit": true, + "configFilePath": "/src/tsconfig.json" +} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: no-change-run +Input:: + + +Output:: +/lib/tsc --b /src/tsconfig.json -v +[HH:MM:SS AM] Projects in this build: + * src/tsconfig.json + +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'outFile.js' does not exist + +[HH:MM:SS AM] Building project '/src/tsconfig.json'... + +exitCode:: ExitStatus.Success +Program root files: [ + "/src/a.ts" +] +Program options: { + "outFile": "/outFile.js", + "noEmit": true, + "configFilePath": "/src/tsconfig.json" +} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/a.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + diff --git a/tests/baselines/reference/tsbuild/noEmit/syntax-errors.js b/tests/baselines/reference/tsbuild/noEmit/syntax-errors.js index b062adf1c65dd..3d63f8dba07ed 100644 --- a/tests/baselines/reference/tsbuild/noEmit/syntax-errors.js +++ b/tests/baselines/reference/tsbuild/noEmit/syntax-errors.js @@ -29,12 +29,12 @@ const a = "hello Output:: /lib/tsc --b /src/tsconfig.json -v -[12:00:08 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:09 AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.js' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.js' does not exist -[12:00:10 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... src/a.ts:1:17 - error TS1002: Unterminated string literal. @@ -70,12 +70,12 @@ Input:: Output:: /lib/tsc --b /src/tsconfig.json -v -[12:00:11 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:12 AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.js' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.js' does not exist -[12:00:13 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... src/a.ts:1:17 - error TS1002: Unterminated string literal. @@ -114,12 +114,12 @@ const a = "hello" Output:: /lib/tsc --b /src/tsconfig.json -v -[12:00:15 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:16 AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.js' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.js' does not exist -[12:00:17 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ @@ -151,12 +151,12 @@ Input:: Output:: /lib/tsc --b /src/tsconfig.json -v -[12:00:18 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:19 AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.js' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/a.js' does not exist -[12:00:20 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... exitCode:: ExitStatus.Success Program root files: [ diff --git a/tests/baselines/reference/tsbuild/noEmitOnError/semantic-errors-outFile-with-declaration-with-incremental.js b/tests/baselines/reference/tsbuild/noEmitOnError/semantic-errors-outFile-with-declaration-with-incremental.js new file mode 100644 index 0000000000000..0eb3478d76987 --- /dev/null +++ b/tests/baselines/reference/tsbuild/noEmitOnError/semantic-errors-outFile-with-declaration-with-incremental.js @@ -0,0 +1,297 @@ +currentDirectory:: /user/username/projects/noEmitOnError useCaseSensitiveFileNames: false +Input:: +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/user/username/projects/noEmitOnError/shared/types/db.ts] +export interface A { + name: string; +} + + +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a: string = 10; + +//// [/user/username/projects/noEmitOnError/src/other.ts] +console.log("hi"); +export { } + + +//// [/user/username/projects/noEmitOnError/tsconfig.json] +{ + "compilerOptions": { + "outFile": "../dev-build.js", + "module": "amd", + "declaration": true, + "incremental": true, + "noEmitOnError": true + } +} + + + +Output:: +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file '../dev-build.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +src/main.ts:2:7 - error TS2322: Type 'number' is not assignable to type 'string'. + +2 const a: string = 10; +   ~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "declaration": true, + "incremental": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: no-change-run +Input:: + + +Output:: +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file '../dev-build.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +src/main.ts:2:7 - error TS2322: Type 'number' is not assignable to type 'string'. + +2 const a: string = 10; +   ~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "declaration": true, + "incremental": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: Fix error +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a: string = "hello"; + + + +Output:: +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file '../dev-build.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +exitCode:: ExitStatus.Success +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "declaration": true, + "incremental": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + +//// [/user/username/projects/dev-build.d.ts] +declare module "shared/types/db" { + export interface A { + name: string; + } +} +declare module "src/main" { } +declare module "src/other" { + export {}; +} + + +//// [/user/username/projects/dev-build.js] +define("shared/types/db", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +}); +define("src/main", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var a = "hello"; +}); +define("src/other", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + console.log("hi"); +}); + + +//// [/user/username/projects/dev-build.tsbuildinfo] +{"program":{"fileNames":["../../../a/lib/lib.d.ts","./noemitonerror/shared/types/db.ts","./noemitonerror/src/main.ts","./noemitonerror/src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-8373351622-import { A } from \"../shared/types/db\";\nconst a: string = \"hello\";","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true,"module":2,"noEmitOnError":true,"outFile":"./dev-build.js"}},"version":"FakeTSVersion"} + +//// [/user/username/projects/dev-build.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../a/lib/lib.d.ts", + "./noemitonerror/shared/types/db.ts", + "./noemitonerror/src/main.ts", + "./noemitonerror/src/other.ts" + ], + "fileInfos": { + "../../../a/lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": "commonjs" + }, + "./noemitonerror/shared/types/db.ts": { + "original": { + "version": "-5014788164-export interface A {\n name: string;\n}\n", + "impliedFormat": 1 + }, + "version": "-5014788164-export interface A {\n name: string;\n}\n", + "impliedFormat": "commonjs" + }, + "./noemitonerror/src/main.ts": { + "original": { + "version": "-8373351622-import { A } from \"../shared/types/db\";\nconst a: string = \"hello\";", + "impliedFormat": 1 + }, + "version": "-8373351622-import { A } from \"../shared/types/db\";\nconst a: string = \"hello\";", + "impliedFormat": "commonjs" + }, + "./noemitonerror/src/other.ts": { + "original": { + "version": "9084524823-console.log(\"hi\");\nexport { }\n", + "impliedFormat": 1 + }, + "version": "9084524823-console.log(\"hi\");\nexport { }\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 4 + ], + [ + "./noemitonerror/shared/types/db.ts", + "./noemitonerror/src/main.ts", + "./noemitonerror/src/other.ts" + ] + ] + ], + "options": { + "declaration": true, + "module": 2, + "noEmitOnError": true, + "outFile": "./dev-build.js" + } + }, + "version": "FakeTSVersion", + "size": 1050 +} + + + +Change:: no-change-run +Input:: + + +Output:: +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/main.ts' is older than output '../dev-build.tsbuildinfo' + +exitCode:: ExitStatus.Success + + diff --git a/tests/baselines/reference/tsbuild/noEmitOnError/semantic-errors-outFile-with-declaration.js b/tests/baselines/reference/tsbuild/noEmitOnError/semantic-errors-outFile-with-declaration.js new file mode 100644 index 0000000000000..b4a9db9677ff8 --- /dev/null +++ b/tests/baselines/reference/tsbuild/noEmitOnError/semantic-errors-outFile-with-declaration.js @@ -0,0 +1,223 @@ +currentDirectory:: /user/username/projects/noEmitOnError useCaseSensitiveFileNames: false +Input:: +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/user/username/projects/noEmitOnError/shared/types/db.ts] +export interface A { + name: string; +} + + +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a: string = 10; + +//// [/user/username/projects/noEmitOnError/src/other.ts] +console.log("hi"); +export { } + + +//// [/user/username/projects/noEmitOnError/tsconfig.json] +{ + "compilerOptions": { + "outFile": "../dev-build.js", + "module": "amd", + "declaration": true, + "noEmitOnError": true + } +} + + + +Output:: +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file '../dev-build.js' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +src/main.ts:2:7 - error TS2322: Type 'number' is not assignable to type 'string'. + +2 const a: string = 10; +   ~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "declaration": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: no-change-run +Input:: + + +Output:: +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file '../dev-build.js' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +src/main.ts:2:7 - error TS2322: Type 'number' is not assignable to type 'string'. + +2 const a: string = 10; +   ~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "declaration": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: Fix error +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a: string = "hello"; + + + +Output:: +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file '../dev-build.js' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +exitCode:: ExitStatus.Success +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "declaration": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + +//// [/user/username/projects/dev-build.d.ts] +declare module "shared/types/db" { + export interface A { + name: string; + } +} +declare module "src/main" { } +declare module "src/other" { + export {}; +} + + +//// [/user/username/projects/dev-build.js] +define("shared/types/db", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +}); +define("src/main", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var a = "hello"; +}); +define("src/other", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + console.log("hi"); +}); + + + + +Change:: no-change-run +Input:: + + +Output:: +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/main.ts' is older than output '../dev-build.js' + +exitCode:: ExitStatus.Success + + diff --git a/tests/baselines/reference/tsbuild/noEmitOnError/semantic-errors-outFile-with-incremental.js b/tests/baselines/reference/tsbuild/noEmitOnError/semantic-errors-outFile-with-incremental.js new file mode 100644 index 0000000000000..4d3ca740028bf --- /dev/null +++ b/tests/baselines/reference/tsbuild/noEmitOnError/semantic-errors-outFile-with-incremental.js @@ -0,0 +1,280 @@ +currentDirectory:: /user/username/projects/noEmitOnError useCaseSensitiveFileNames: false +Input:: +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/user/username/projects/noEmitOnError/shared/types/db.ts] +export interface A { + name: string; +} + + +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a: string = 10; + +//// [/user/username/projects/noEmitOnError/src/other.ts] +console.log("hi"); +export { } + + +//// [/user/username/projects/noEmitOnError/tsconfig.json] +{ + "compilerOptions": { + "outFile": "../dev-build.js", + "module": "amd", + "incremental": true, + "noEmitOnError": true + } +} + + + +Output:: +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file '../dev-build.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +src/main.ts:2:7 - error TS2322: Type 'number' is not assignable to type 'string'. + +2 const a: string = 10; +   ~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "incremental": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: no-change-run +Input:: + + +Output:: +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file '../dev-build.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +src/main.ts:2:7 - error TS2322: Type 'number' is not assignable to type 'string'. + +2 const a: string = 10; +   ~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "incremental": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: Fix error +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a: string = "hello"; + + + +Output:: +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file '../dev-build.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +exitCode:: ExitStatus.Success +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "incremental": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + +//// [/user/username/projects/dev-build.js] +define("shared/types/db", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +}); +define("src/main", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var a = "hello"; +}); +define("src/other", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + console.log("hi"); +}); + + +//// [/user/username/projects/dev-build.tsbuildinfo] +{"program":{"fileNames":["../../../a/lib/lib.d.ts","./noemitonerror/shared/types/db.ts","./noemitonerror/src/main.ts","./noemitonerror/src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-8373351622-import { A } from \"../shared/types/db\";\nconst a: string = \"hello\";","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","impliedFormat":1}],"root":[[2,4]],"options":{"module":2,"noEmitOnError":true,"outFile":"./dev-build.js"}},"version":"FakeTSVersion"} + +//// [/user/username/projects/dev-build.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../a/lib/lib.d.ts", + "./noemitonerror/shared/types/db.ts", + "./noemitonerror/src/main.ts", + "./noemitonerror/src/other.ts" + ], + "fileInfos": { + "../../../a/lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": "commonjs" + }, + "./noemitonerror/shared/types/db.ts": { + "original": { + "version": "-5014788164-export interface A {\n name: string;\n}\n", + "impliedFormat": 1 + }, + "version": "-5014788164-export interface A {\n name: string;\n}\n", + "impliedFormat": "commonjs" + }, + "./noemitonerror/src/main.ts": { + "original": { + "version": "-8373351622-import { A } from \"../shared/types/db\";\nconst a: string = \"hello\";", + "impliedFormat": 1 + }, + "version": "-8373351622-import { A } from \"../shared/types/db\";\nconst a: string = \"hello\";", + "impliedFormat": "commonjs" + }, + "./noemitonerror/src/other.ts": { + "original": { + "version": "9084524823-console.log(\"hi\");\nexport { }\n", + "impliedFormat": 1 + }, + "version": "9084524823-console.log(\"hi\");\nexport { }\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 4 + ], + [ + "./noemitonerror/shared/types/db.ts", + "./noemitonerror/src/main.ts", + "./noemitonerror/src/other.ts" + ] + ] + ], + "options": { + "module": 2, + "noEmitOnError": true, + "outFile": "./dev-build.js" + } + }, + "version": "FakeTSVersion", + "size": 1031 +} + + + +Change:: no-change-run +Input:: + + +Output:: +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/main.ts' is older than output '../dev-build.tsbuildinfo' + +exitCode:: ExitStatus.Success + + diff --git a/tests/baselines/reference/tsbuild/noEmitOnError/semantic-errors-outFile.js b/tests/baselines/reference/tsbuild/noEmitOnError/semantic-errors-outFile.js new file mode 100644 index 0000000000000..a05a7de99952f --- /dev/null +++ b/tests/baselines/reference/tsbuild/noEmitOnError/semantic-errors-outFile.js @@ -0,0 +1,207 @@ +currentDirectory:: /user/username/projects/noEmitOnError useCaseSensitiveFileNames: false +Input:: +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/user/username/projects/noEmitOnError/shared/types/db.ts] +export interface A { + name: string; +} + + +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a: string = 10; + +//// [/user/username/projects/noEmitOnError/src/other.ts] +console.log("hi"); +export { } + + +//// [/user/username/projects/noEmitOnError/tsconfig.json] +{ + "compilerOptions": { + "outFile": "../dev-build.js", + "module": "amd", + "noEmitOnError": true + } +} + + + +Output:: +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file '../dev-build.js' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +src/main.ts:2:7 - error TS2322: Type 'number' is not assignable to type 'string'. + +2 const a: string = 10; +   ~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: no-change-run +Input:: + + +Output:: +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file '../dev-build.js' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +src/main.ts:2:7 - error TS2322: Type 'number' is not assignable to type 'string'. + +2 const a: string = 10; +   ~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: Fix error +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a: string = "hello"; + + + +Output:: +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file '../dev-build.js' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +exitCode:: ExitStatus.Success +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + +//// [/user/username/projects/dev-build.js] +define("shared/types/db", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +}); +define("src/main", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var a = "hello"; +}); +define("src/other", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + console.log("hi"); +}); + + + + +Change:: no-change-run +Input:: + + +Output:: +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/main.ts' is older than output '../dev-build.js' + +exitCode:: ExitStatus.Success + + diff --git a/tests/baselines/reference/tsbuild/noEmitOnError/semantic-errors-with-declaration-with-incremental.js b/tests/baselines/reference/tsbuild/noEmitOnError/semantic-errors-with-declaration-with-incremental.js new file mode 100644 index 0000000000000..a9c31e02fa421 --- /dev/null +++ b/tests/baselines/reference/tsbuild/noEmitOnError/semantic-errors-with-declaration-with-incremental.js @@ -0,0 +1,435 @@ +currentDirectory:: /user/username/projects/noEmitOnError useCaseSensitiveFileNames: false +Input:: +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/user/username/projects/noEmitOnError/shared/types/db.ts] +export interface A { + name: string; +} + + +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a: string = 10; + +//// [/user/username/projects/noEmitOnError/src/other.ts] +console.log("hi"); +export { } + + +//// [/user/username/projects/noEmitOnError/tsconfig.json] +{ + "compilerOptions": { + "outDir": "./dev-build", + "declaration": true, + "incremental": true, + "noEmitOnError": true + } +} + + + +Output:: +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file 'dev-build/tsconfig.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +src/main.ts:2:7 - error TS2322: Type 'number' is not assignable to type 'string'. + +2 const a: string = 10; +   ~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outDir": "/user/username/projects/noEmitOnError/dev-build", + "declaration": true, + "incremental": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +Semantic diagnostics in builder refreshed for:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +Shape signatures in builder refreshed for:: +/a/lib/lib.d.ts (used version) +/user/username/projects/noemitonerror/shared/types/db.ts (used version) +/user/username/projects/noemitonerror/src/main.ts (used version) +/user/username/projects/noemitonerror/src/other.ts (used version) + + +//// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo] +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-11111345725-import { A } from \"../shared/types/db\";\nconst a: string = 10;","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true,"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[[3,[{"start":46,"length":1,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'string'."}]]],"affectedFilesPendingEmit":[2,3,4]},"version":"FakeTSVersion"} + +//// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../../../a/lib/lib.d.ts", + "../shared/types/db.ts", + "../src/main.ts", + "../src/other.ts" + ], + "fileNamesList": [ + [ + "../shared/types/db.ts" + ] + ], + "fileInfos": { + "../../../../../a/lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "../shared/types/db.ts": { + "original": { + "version": "-5014788164-export interface A {\n name: string;\n}\n", + "impliedFormat": 1 + }, + "version": "-5014788164-export interface A {\n name: string;\n}\n", + "signature": "-5014788164-export interface A {\n name: string;\n}\n", + "impliedFormat": "commonjs" + }, + "../src/main.ts": { + "original": { + "version": "-11111345725-import { A } from \"../shared/types/db\";\nconst a: string = 10;", + "impliedFormat": 1 + }, + "version": "-11111345725-import { A } from \"../shared/types/db\";\nconst a: string = 10;", + "signature": "-11111345725-import { A } from \"../shared/types/db\";\nconst a: string = 10;", + "impliedFormat": "commonjs" + }, + "../src/other.ts": { + "original": { + "version": "9084524823-console.log(\"hi\");\nexport { }\n", + "impliedFormat": 1 + }, + "version": "9084524823-console.log(\"hi\");\nexport { }\n", + "signature": "9084524823-console.log(\"hi\");\nexport { }\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 4 + ], + [ + "../shared/types/db.ts", + "../src/main.ts", + "../src/other.ts" + ] + ] + ], + "options": { + "declaration": true, + "noEmitOnError": true, + "outDir": "./" + }, + "referencedMap": { + "../src/main.ts": [ + "../shared/types/db.ts" + ] + }, + "semanticDiagnosticsPerFile": [ + [ + "../src/main.ts", + [ + { + "start": 46, + "length": 1, + "code": 2322, + "category": 1, + "messageText": "Type 'number' is not assignable to type 'string'." + } + ] + ] + ], + "affectedFilesPendingEmit": [ + [ + "../shared/types/db.ts", + "Js | Dts" + ], + [ + "../src/main.ts", + "Js | Dts" + ], + [ + "../src/other.ts", + "Js | Dts" + ] + ] + }, + "version": "FakeTSVersion", + "size": 1244 +} + + + +Change:: no-change-run +Input:: + + +Output:: +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'dev-build/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +src/main.ts:2:7 - error TS2322: Type 'number' is not assignable to type 'string'. + +2 const a: string = 10; +   ~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outDir": "/user/username/projects/noEmitOnError/dev-build", + "declaration": true, + "incremental": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +Semantic diagnostics in builder refreshed for:: + +No shapes updated in the builder:: + + + + +Change:: Fix error +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a: string = "hello"; + + + +Output:: +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'dev-build/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +exitCode:: ExitStatus.Success +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outDir": "/user/username/projects/noEmitOnError/dev-build", + "declaration": true, + "incremental": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +Semantic diagnostics in builder refreshed for:: +/user/username/projects/noEmitOnError/src/main.ts + +Shape signatures in builder refreshed for:: +/user/username/projects/noemitonerror/src/main.ts (computed .d.ts) + + +//// [/user/username/projects/noEmitOnError/dev-build/shared/types/db.d.ts] +export interface A { + name: string; +} + + +//// [/user/username/projects/noEmitOnError/dev-build/shared/types/db.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); + + +//// [/user/username/projects/noEmitOnError/dev-build/src/main.d.ts] +export {}; + + +//// [/user/username/projects/noEmitOnError/dev-build/src/main.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var a = "hello"; + + +//// [/user/username/projects/noEmitOnError/dev-build/src/other.d.ts] +export {}; + + +//// [/user/username/projects/noEmitOnError/dev-build/src/other.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +console.log("hi"); + + +//// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo] +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-8373351622-import { A } from \"../shared/types/db\";\nconst a: string = \"hello\";","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true,"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]]},"version":"FakeTSVersion"} + +//// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../../../a/lib/lib.d.ts", + "../shared/types/db.ts", + "../src/main.ts", + "../src/other.ts" + ], + "fileNamesList": [ + [ + "../shared/types/db.ts" + ] + ], + "fileInfos": { + "../../../../../a/lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "../shared/types/db.ts": { + "original": { + "version": "-5014788164-export interface A {\n name: string;\n}\n", + "impliedFormat": 1 + }, + "version": "-5014788164-export interface A {\n name: string;\n}\n", + "signature": "-5014788164-export interface A {\n name: string;\n}\n", + "impliedFormat": "commonjs" + }, + "../src/main.ts": { + "original": { + "version": "-8373351622-import { A } from \"../shared/types/db\";\nconst a: string = \"hello\";", + "signature": "-3531856636-export {};\n", + "impliedFormat": 1 + }, + "version": "-8373351622-import { A } from \"../shared/types/db\";\nconst a: string = \"hello\";", + "signature": "-3531856636-export {};\n", + "impliedFormat": "commonjs" + }, + "../src/other.ts": { + "original": { + "version": "9084524823-console.log(\"hi\");\nexport { }\n", + "signature": "-3531856636-export {};\n", + "impliedFormat": 1 + }, + "version": "9084524823-console.log(\"hi\");\nexport { }\n", + "signature": "-3531856636-export {};\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 4 + ], + [ + "../shared/types/db.ts", + "../src/main.ts", + "../src/other.ts" + ] + ] + ], + "options": { + "declaration": true, + "noEmitOnError": true, + "outDir": "./" + }, + "referencedMap": { + "../src/main.ts": [ + "../shared/types/db.ts" + ] + } + }, + "version": "FakeTSVersion", + "size": 1141 +} + + + +Change:: no-change-run +Input:: + + +Output:: +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/main.ts' is older than output 'dev-build/tsconfig.tsbuildinfo' + +exitCode:: ExitStatus.Success + + diff --git a/tests/baselines/reference/tsbuild/noEmitOnError/semantic-errors-with-declaration.js b/tests/baselines/reference/tsbuild/noEmitOnError/semantic-errors-with-declaration.js new file mode 100644 index 0000000000000..05e2466cf094c --- /dev/null +++ b/tests/baselines/reference/tsbuild/noEmitOnError/semantic-errors-with-declaration.js @@ -0,0 +1,245 @@ +currentDirectory:: /user/username/projects/noEmitOnError useCaseSensitiveFileNames: false +Input:: +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/user/username/projects/noEmitOnError/shared/types/db.ts] +export interface A { + name: string; +} + + +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a: string = 10; + +//// [/user/username/projects/noEmitOnError/src/other.ts] +console.log("hi"); +export { } + + +//// [/user/username/projects/noEmitOnError/tsconfig.json] +{ + "compilerOptions": { + "outDir": "./dev-build", + "declaration": true, + "noEmitOnError": true + } +} + + + +Output:: +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file 'dev-build/shared/types/db.js' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +src/main.ts:2:7 - error TS2322: Type 'number' is not assignable to type 'string'. + +2 const a: string = 10; +   ~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outDir": "/user/username/projects/noEmitOnError/dev-build", + "declaration": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +Semantic diagnostics in builder refreshed for:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +Shape signatures in builder refreshed for:: +/a/lib/lib.d.ts (used version) +/user/username/projects/noemitonerror/shared/types/db.ts (used version) +/user/username/projects/noemitonerror/src/main.ts (used version) +/user/username/projects/noemitonerror/src/other.ts (used version) + + + + +Change:: no-change-run +Input:: + + +Output:: +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file 'dev-build/shared/types/db.js' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +src/main.ts:2:7 - error TS2322: Type 'number' is not assignable to type 'string'. + +2 const a: string = 10; +   ~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outDir": "/user/username/projects/noEmitOnError/dev-build", + "declaration": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +Semantic diagnostics in builder refreshed for:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +Shape signatures in builder refreshed for:: +/a/lib/lib.d.ts (used version) +/user/username/projects/noemitonerror/shared/types/db.ts (used version) +/user/username/projects/noemitonerror/src/main.ts (used version) +/user/username/projects/noemitonerror/src/other.ts (used version) + + + + +Change:: Fix error +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a: string = "hello"; + + + +Output:: +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file 'dev-build/shared/types/db.js' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +exitCode:: ExitStatus.Success +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outDir": "/user/username/projects/noEmitOnError/dev-build", + "declaration": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +Semantic diagnostics in builder refreshed for:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +Shape signatures in builder refreshed for:: +/a/lib/lib.d.ts (used version) +/user/username/projects/noemitonerror/shared/types/db.ts (used version) +/user/username/projects/noemitonerror/src/main.ts (computed .d.ts during emit) +/user/username/projects/noemitonerror/src/other.ts (computed .d.ts during emit) + + +//// [/user/username/projects/noEmitOnError/dev-build/shared/types/db.d.ts] +export interface A { + name: string; +} + + +//// [/user/username/projects/noEmitOnError/dev-build/shared/types/db.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); + + +//// [/user/username/projects/noEmitOnError/dev-build/src/main.d.ts] +export {}; + + +//// [/user/username/projects/noEmitOnError/dev-build/src/main.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var a = "hello"; + + +//// [/user/username/projects/noEmitOnError/dev-build/src/other.d.ts] +export {}; + + +//// [/user/username/projects/noEmitOnError/dev-build/src/other.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +console.log("hi"); + + + + +Change:: no-change-run +Input:: + + +Output:: +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/main.ts' is older than output 'dev-build/shared/types/db.js' + +exitCode:: ExitStatus.Success + + diff --git a/tests/baselines/reference/tsbuild/noEmitOnError/semantic-errors-with-incremental.js b/tests/baselines/reference/tsbuild/noEmitOnError/semantic-errors-with-incremental.js index 8cee7c9901d21..890ffe49477e3 100644 --- a/tests/baselines/reference/tsbuild/noEmitOnError/semantic-errors-with-incremental.js +++ b/tests/baselines/reference/tsbuild/noEmitOnError/semantic-errors-with-incremental.js @@ -34,6 +34,7 @@ export { } { "compilerOptions": { "outDir": "./dev-build", + "incremental": true, "noEmitOnError": true } } @@ -41,7 +42,14 @@ export { } Output:: -/a/lib/tsc --b --incremental +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file 'dev-build/tsconfig.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + src/main.ts:2:7 - error TS2322: Type 'number' is not assignable to type 'string'. 2 const a: string = 10; @@ -58,8 +66,8 @@ Program root files: [ ] Program options: { "outDir": "/user/username/projects/noEmitOnError/dev-build", - "noEmitOnError": true, "incremental": true, + "noEmitOnError": true, "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" } Program structureReused: Not @@ -83,7 +91,7 @@ Shape signatures in builder refreshed for:: //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-11111345725-import { A } from \"../shared/types/db\";\nconst a: string = 10;","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","impliedFormat":1}],"root":[[2,4]],"options":{"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,[3,[{"file":"../src/main.ts","start":46,"length":1,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'string'."}]],4],"affectedFilesPendingEmit":[2,3,4]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-11111345725-import { A } from \"../shared/types/db\";\nconst a: string = 10;","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","impliedFormat":1}],"root":[[2,4]],"options":{"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[[3,[{"start":46,"length":1,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'string'."}]]],"affectedFilesPendingEmit":[2,3,4]},"version":"FakeTSVersion"} //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -162,13 +170,10 @@ Shape signatures in builder refreshed for:: ] }, "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../shared/types/db.ts", [ "../src/main.ts", [ { - "file": "../src/main.ts", "start": 46, "length": 1, "code": 2322, @@ -176,8 +181,7 @@ Shape signatures in builder refreshed for:: "messageText": "Type 'number' is not assignable to type 'string'." } ] - ], - "../src/other.ts" + ] ], "affectedFilesPendingEmit": [ [ @@ -195,7 +199,7 @@ Shape signatures in builder refreshed for:: ] }, "version": "FakeTSVersion", - "size": 1255 + "size": 1225 } @@ -205,7 +209,14 @@ Input:: Output:: -/a/lib/tsc --b --incremental +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'dev-build/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + src/main.ts:2:7 - error TS2322: Type 'number' is not assignable to type 'string'. 2 const a: string = 10; @@ -222,8 +233,8 @@ Program root files: [ ] Program options: { "outDir": "/user/username/projects/noEmitOnError/dev-build", - "noEmitOnError": true, "incremental": true, + "noEmitOnError": true, "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" } Program structureReused: Not @@ -249,7 +260,14 @@ const a: string = "hello"; Output:: -/a/lib/tsc --b --incremental +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'dev-build/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + exitCode:: ExitStatus.Success Program root files: [ "/user/username/projects/noEmitOnError/shared/types/db.ts", @@ -258,8 +276,8 @@ Program root files: [ ] Program options: { "outDir": "/user/username/projects/noEmitOnError/dev-build", - "noEmitOnError": true, "incremental": true, + "noEmitOnError": true, "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" } Program structureReused: Not @@ -294,7 +312,7 @@ console.log("hi"); //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-8373351622-import { A } from \"../shared/types/db\";\nconst a: string = \"hello\";","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","impliedFormat":1}],"root":[[2,4]],"options":{"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3,4]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-8373351622-import { A } from \"../shared/types/db\";\nconst a: string = \"hello\";","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","impliedFormat":1}],"root":[[2,4]],"options":{"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]]},"version":"FakeTSVersion"} //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -372,16 +390,10 @@ console.log("hi"); "../src/main.ts": [ "../shared/types/db.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../shared/types/db.ts", - "../src/main.ts", - "../src/other.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1122 + "size": 1083 } @@ -391,7 +403,12 @@ Input:: Output:: -/a/lib/tsc --b --incremental +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/main.ts' is older than output 'dev-build/tsconfig.tsbuildinfo' + exitCode:: ExitStatus.Success diff --git a/tests/baselines/reference/tsbuild/noEmitOnError/semantic-errors.js b/tests/baselines/reference/tsbuild/noEmitOnError/semantic-errors.js index 3ad99159bf65c..3ad27aca456e5 100644 --- a/tests/baselines/reference/tsbuild/noEmitOnError/semantic-errors.js +++ b/tests/baselines/reference/tsbuild/noEmitOnError/semantic-errors.js @@ -41,7 +41,14 @@ export { } Output:: -/a/lib/tsc --b +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file 'dev-build/shared/types/db.js' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + src/main.ts:2:7 - error TS2322: Type 'number' is not assignable to type 'string'. 2 const a: string = 10; @@ -88,7 +95,14 @@ Input:: Output:: -/a/lib/tsc --b +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file 'dev-build/shared/types/db.js' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + src/main.ts:2:7 - error TS2322: Type 'number' is not assignable to type 'string'. 2 const a: string = 10; @@ -139,7 +153,14 @@ const a: string = "hello"; Output:: -/a/lib/tsc --b +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file 'dev-build/shared/types/db.js' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + exitCode:: ExitStatus.Success Program root files: [ "/user/username/projects/noEmitOnError/shared/types/db.ts", @@ -195,7 +216,12 @@ Input:: Output:: -/a/lib/tsc --b +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/main.ts' is older than output 'dev-build/shared/types/db.js' + exitCode:: ExitStatus.Success diff --git a/tests/baselines/reference/tsbuild/noEmitOnError/syntax-errors-outFile-with-declaration-with-incremental.js b/tests/baselines/reference/tsbuild/noEmitOnError/syntax-errors-outFile-with-declaration-with-incremental.js new file mode 100644 index 0000000000000..636d73d659dfd --- /dev/null +++ b/tests/baselines/reference/tsbuild/noEmitOnError/syntax-errors-outFile-with-declaration-with-incremental.js @@ -0,0 +1,304 @@ +currentDirectory:: /user/username/projects/noEmitOnError useCaseSensitiveFileNames: false +Input:: +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/user/username/projects/noEmitOnError/shared/types/db.ts] +export interface A { + name: string; +} + + +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a = { + lastName: 'sdsd' +; + + +//// [/user/username/projects/noEmitOnError/src/other.ts] +console.log("hi"); +export { } + + +//// [/user/username/projects/noEmitOnError/tsconfig.json] +{ + "compilerOptions": { + "outFile": "../dev-build.js", + "module": "amd", + "declaration": true, + "incremental": true, + "noEmitOnError": true + } +} + + + +Output:: +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file '../dev-build.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +src/main.ts:4:1 - error TS1005: ',' expected. + +4 ; +  ~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "declaration": true, + "incremental": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: no-change-run +Input:: + + +Output:: +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file '../dev-build.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +src/main.ts:4:1 - error TS1005: ',' expected. + +4 ; +  ~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "declaration": true, + "incremental": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: Fix error +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a = { + lastName: 'sdsd' +}; + + + +Output:: +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file '../dev-build.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +exitCode:: ExitStatus.Success +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "declaration": true, + "incremental": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + +//// [/user/username/projects/dev-build.d.ts] +declare module "shared/types/db" { + export interface A { + name: string; + } +} +declare module "src/main" { } +declare module "src/other" { + export {}; +} + + +//// [/user/username/projects/dev-build.js] +define("shared/types/db", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +}); +define("src/main", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var a = { + lastName: 'sdsd' + }; +}); +define("src/other", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + console.log("hi"); +}); + + +//// [/user/username/projects/dev-build.tsbuildinfo] +{"program":{"fileNames":["../../../a/lib/lib.d.ts","./noemitonerror/shared/types/db.ts","./noemitonerror/src/main.ts","./noemitonerror/src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-2574605496-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n};","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true,"module":2,"noEmitOnError":true,"outFile":"./dev-build.js"}},"version":"FakeTSVersion"} + +//// [/user/username/projects/dev-build.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../a/lib/lib.d.ts", + "./noemitonerror/shared/types/db.ts", + "./noemitonerror/src/main.ts", + "./noemitonerror/src/other.ts" + ], + "fileInfos": { + "../../../a/lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": "commonjs" + }, + "./noemitonerror/shared/types/db.ts": { + "original": { + "version": "-5014788164-export interface A {\n name: string;\n}\n", + "impliedFormat": 1 + }, + "version": "-5014788164-export interface A {\n name: string;\n}\n", + "impliedFormat": "commonjs" + }, + "./noemitonerror/src/main.ts": { + "original": { + "version": "-2574605496-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n};", + "impliedFormat": 1 + }, + "version": "-2574605496-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n};", + "impliedFormat": "commonjs" + }, + "./noemitonerror/src/other.ts": { + "original": { + "version": "9084524823-console.log(\"hi\");\nexport { }\n", + "impliedFormat": 1 + }, + "version": "9084524823-console.log(\"hi\");\nexport { }\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 4 + ], + [ + "./noemitonerror/shared/types/db.ts", + "./noemitonerror/src/main.ts", + "./noemitonerror/src/other.ts" + ] + ] + ], + "options": { + "declaration": true, + "module": 2, + "noEmitOnError": true, + "outFile": "./dev-build.js" + } + }, + "version": "FakeTSVersion", + "size": 1059 +} + + + +Change:: no-change-run +Input:: + + +Output:: +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/main.ts' is older than output '../dev-build.tsbuildinfo' + +exitCode:: ExitStatus.Success + + diff --git a/tests/baselines/reference/tsbuild/noEmitOnError/syntax-errors-outFile-with-declaration.js b/tests/baselines/reference/tsbuild/noEmitOnError/syntax-errors-outFile-with-declaration.js new file mode 100644 index 0000000000000..bed147dcc8a6e --- /dev/null +++ b/tests/baselines/reference/tsbuild/noEmitOnError/syntax-errors-outFile-with-declaration.js @@ -0,0 +1,230 @@ +currentDirectory:: /user/username/projects/noEmitOnError useCaseSensitiveFileNames: false +Input:: +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/user/username/projects/noEmitOnError/shared/types/db.ts] +export interface A { + name: string; +} + + +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a = { + lastName: 'sdsd' +; + + +//// [/user/username/projects/noEmitOnError/src/other.ts] +console.log("hi"); +export { } + + +//// [/user/username/projects/noEmitOnError/tsconfig.json] +{ + "compilerOptions": { + "outFile": "../dev-build.js", + "module": "amd", + "declaration": true, + "noEmitOnError": true + } +} + + + +Output:: +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file '../dev-build.js' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +src/main.ts:4:1 - error TS1005: ',' expected. + +4 ; +  ~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "declaration": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: no-change-run +Input:: + + +Output:: +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file '../dev-build.js' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +src/main.ts:4:1 - error TS1005: ',' expected. + +4 ; +  ~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "declaration": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: Fix error +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a = { + lastName: 'sdsd' +}; + + + +Output:: +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file '../dev-build.js' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +exitCode:: ExitStatus.Success +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "declaration": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + +//// [/user/username/projects/dev-build.d.ts] +declare module "shared/types/db" { + export interface A { + name: string; + } +} +declare module "src/main" { } +declare module "src/other" { + export {}; +} + + +//// [/user/username/projects/dev-build.js] +define("shared/types/db", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +}); +define("src/main", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var a = { + lastName: 'sdsd' + }; +}); +define("src/other", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + console.log("hi"); +}); + + + + +Change:: no-change-run +Input:: + + +Output:: +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/main.ts' is older than output '../dev-build.js' + +exitCode:: ExitStatus.Success + + diff --git a/tests/baselines/reference/tsbuild/noEmitOnError/syntax-errors-outFile-with-incremental.js b/tests/baselines/reference/tsbuild/noEmitOnError/syntax-errors-outFile-with-incremental.js new file mode 100644 index 0000000000000..5063c94896556 --- /dev/null +++ b/tests/baselines/reference/tsbuild/noEmitOnError/syntax-errors-outFile-with-incremental.js @@ -0,0 +1,287 @@ +currentDirectory:: /user/username/projects/noEmitOnError useCaseSensitiveFileNames: false +Input:: +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/user/username/projects/noEmitOnError/shared/types/db.ts] +export interface A { + name: string; +} + + +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a = { + lastName: 'sdsd' +; + + +//// [/user/username/projects/noEmitOnError/src/other.ts] +console.log("hi"); +export { } + + +//// [/user/username/projects/noEmitOnError/tsconfig.json] +{ + "compilerOptions": { + "outFile": "../dev-build.js", + "module": "amd", + "incremental": true, + "noEmitOnError": true + } +} + + + +Output:: +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file '../dev-build.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +src/main.ts:4:1 - error TS1005: ',' expected. + +4 ; +  ~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "incremental": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: no-change-run +Input:: + + +Output:: +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file '../dev-build.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +src/main.ts:4:1 - error TS1005: ',' expected. + +4 ; +  ~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "incremental": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: Fix error +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a = { + lastName: 'sdsd' +}; + + + +Output:: +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file '../dev-build.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +exitCode:: ExitStatus.Success +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "incremental": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + +//// [/user/username/projects/dev-build.js] +define("shared/types/db", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +}); +define("src/main", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var a = { + lastName: 'sdsd' + }; +}); +define("src/other", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + console.log("hi"); +}); + + +//// [/user/username/projects/dev-build.tsbuildinfo] +{"program":{"fileNames":["../../../a/lib/lib.d.ts","./noemitonerror/shared/types/db.ts","./noemitonerror/src/main.ts","./noemitonerror/src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-2574605496-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n};","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","impliedFormat":1}],"root":[[2,4]],"options":{"module":2,"noEmitOnError":true,"outFile":"./dev-build.js"}},"version":"FakeTSVersion"} + +//// [/user/username/projects/dev-build.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../a/lib/lib.d.ts", + "./noemitonerror/shared/types/db.ts", + "./noemitonerror/src/main.ts", + "./noemitonerror/src/other.ts" + ], + "fileInfos": { + "../../../a/lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": "commonjs" + }, + "./noemitonerror/shared/types/db.ts": { + "original": { + "version": "-5014788164-export interface A {\n name: string;\n}\n", + "impliedFormat": 1 + }, + "version": "-5014788164-export interface A {\n name: string;\n}\n", + "impliedFormat": "commonjs" + }, + "./noemitonerror/src/main.ts": { + "original": { + "version": "-2574605496-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n};", + "impliedFormat": 1 + }, + "version": "-2574605496-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n};", + "impliedFormat": "commonjs" + }, + "./noemitonerror/src/other.ts": { + "original": { + "version": "9084524823-console.log(\"hi\");\nexport { }\n", + "impliedFormat": 1 + }, + "version": "9084524823-console.log(\"hi\");\nexport { }\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 4 + ], + [ + "./noemitonerror/shared/types/db.ts", + "./noemitonerror/src/main.ts", + "./noemitonerror/src/other.ts" + ] + ] + ], + "options": { + "module": 2, + "noEmitOnError": true, + "outFile": "./dev-build.js" + } + }, + "version": "FakeTSVersion", + "size": 1040 +} + + + +Change:: no-change-run +Input:: + + +Output:: +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/main.ts' is older than output '../dev-build.tsbuildinfo' + +exitCode:: ExitStatus.Success + + diff --git a/tests/baselines/reference/tsbuild/noEmitOnError/syntax-errors-outFile.js b/tests/baselines/reference/tsbuild/noEmitOnError/syntax-errors-outFile.js new file mode 100644 index 0000000000000..f67da21ec85fa --- /dev/null +++ b/tests/baselines/reference/tsbuild/noEmitOnError/syntax-errors-outFile.js @@ -0,0 +1,214 @@ +currentDirectory:: /user/username/projects/noEmitOnError useCaseSensitiveFileNames: false +Input:: +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/user/username/projects/noEmitOnError/shared/types/db.ts] +export interface A { + name: string; +} + + +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a = { + lastName: 'sdsd' +; + + +//// [/user/username/projects/noEmitOnError/src/other.ts] +console.log("hi"); +export { } + + +//// [/user/username/projects/noEmitOnError/tsconfig.json] +{ + "compilerOptions": { + "outFile": "../dev-build.js", + "module": "amd", + "noEmitOnError": true + } +} + + + +Output:: +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file '../dev-build.js' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +src/main.ts:4:1 - error TS1005: ',' expected. + +4 ; +  ~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: no-change-run +Input:: + + +Output:: +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file '../dev-build.js' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +src/main.ts:4:1 - error TS1005: ',' expected. + +4 ; +  ~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: Fix error +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a = { + lastName: 'sdsd' +}; + + + +Output:: +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file '../dev-build.js' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +exitCode:: ExitStatus.Success +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + +//// [/user/username/projects/dev-build.js] +define("shared/types/db", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +}); +define("src/main", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var a = { + lastName: 'sdsd' + }; +}); +define("src/other", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + console.log("hi"); +}); + + + + +Change:: no-change-run +Input:: + + +Output:: +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/main.ts' is older than output '../dev-build.js' + +exitCode:: ExitStatus.Success + + diff --git a/tests/baselines/reference/tsbuild/noEmitOnError/syntax-errors-with-declaration-with-incremental.js b/tests/baselines/reference/tsbuild/noEmitOnError/syntax-errors-with-declaration-with-incremental.js new file mode 100644 index 0000000000000..a2ede3fe79c9c --- /dev/null +++ b/tests/baselines/reference/tsbuild/noEmitOnError/syntax-errors-with-declaration-with-incremental.js @@ -0,0 +1,418 @@ +currentDirectory:: /user/username/projects/noEmitOnError useCaseSensitiveFileNames: false +Input:: +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/user/username/projects/noEmitOnError/shared/types/db.ts] +export interface A { + name: string; +} + + +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a = { + lastName: 'sdsd' +; + + +//// [/user/username/projects/noEmitOnError/src/other.ts] +console.log("hi"); +export { } + + +//// [/user/username/projects/noEmitOnError/tsconfig.json] +{ + "compilerOptions": { + "outDir": "./dev-build", + "declaration": true, + "incremental": true, + "noEmitOnError": true + } +} + + + +Output:: +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file 'dev-build/tsconfig.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +src/main.ts:4:1 - error TS1005: ',' expected. + +4 ; +  ~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outDir": "/user/username/projects/noEmitOnError/dev-build", + "declaration": true, + "incremental": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + +//// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo] +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","signature":false,"impliedFormat":1},{"version":"-2574607723-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n;\n","signature":false,"impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","signature":false,"impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true,"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"changeFileSet":[1,2,3,4]},"version":"FakeTSVersion"} + +//// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../../../a/lib/lib.d.ts", + "../shared/types/db.ts", + "../src/main.ts", + "../src/other.ts" + ], + "fileNamesList": [ + [ + "../shared/types/db.ts" + ] + ], + "fileInfos": { + "../../../../../a/lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": false, + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "../shared/types/db.ts": { + "original": { + "version": "-5014788164-export interface A {\n name: string;\n}\n", + "signature": false, + "impliedFormat": 1 + }, + "version": "-5014788164-export interface A {\n name: string;\n}\n", + "impliedFormat": "commonjs" + }, + "../src/main.ts": { + "original": { + "version": "-2574607723-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n;\n", + "signature": false, + "impliedFormat": 1 + }, + "version": "-2574607723-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n;\n", + "impliedFormat": "commonjs" + }, + "../src/other.ts": { + "original": { + "version": "9084524823-console.log(\"hi\");\nexport { }\n", + "signature": false, + "impliedFormat": 1 + }, + "version": "9084524823-console.log(\"hi\");\nexport { }\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 4 + ], + [ + "../shared/types/db.ts", + "../src/main.ts", + "../src/other.ts" + ] + ] + ], + "options": { + "declaration": true, + "noEmitOnError": true, + "outDir": "./" + }, + "referencedMap": { + "../src/main.ts": [ + "../shared/types/db.ts" + ] + }, + "changeFileSet": [ + "../../../../../a/lib/lib.d.ts", + "../shared/types/db.ts", + "../src/main.ts", + "../src/other.ts" + ] + }, + "version": "FakeTSVersion", + "size": 1171 +} + + + +Change:: no-change-run +Input:: + + +Output:: +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'dev-build/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +src/main.ts:4:1 - error TS1005: ',' expected. + +4 ; +  ~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outDir": "/user/username/projects/noEmitOnError/dev-build", + "declaration": true, + "incremental": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: Fix error +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a = { + lastName: 'sdsd' +}; + + + +Output:: +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'dev-build/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +exitCode:: ExitStatus.Success +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outDir": "/user/username/projects/noEmitOnError/dev-build", + "declaration": true, + "incremental": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +Semantic diagnostics in builder refreshed for:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +Shape signatures in builder refreshed for:: +/a/lib/lib.d.ts (used version) +/user/username/projects/noemitonerror/shared/types/db.ts (computed .d.ts) +/user/username/projects/noemitonerror/src/main.ts (computed .d.ts) +/user/username/projects/noemitonerror/src/other.ts (computed .d.ts) + + +//// [/user/username/projects/noEmitOnError/dev-build/shared/types/db.d.ts] +export interface A { + name: string; +} + + +//// [/user/username/projects/noEmitOnError/dev-build/shared/types/db.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); + + +//// [/user/username/projects/noEmitOnError/dev-build/src/main.d.ts] +export {}; + + +//// [/user/username/projects/noEmitOnError/dev-build/src/main.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var a = { + lastName: 'sdsd' +}; + + +//// [/user/username/projects/noEmitOnError/dev-build/src/other.d.ts] +export {}; + + +//// [/user/username/projects/noEmitOnError/dev-build/src/other.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +console.log("hi"); + + +//// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo] +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-2574605496-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n};","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true,"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]]},"version":"FakeTSVersion"} + +//// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../../../a/lib/lib.d.ts", + "../shared/types/db.ts", + "../src/main.ts", + "../src/other.ts" + ], + "fileNamesList": [ + [ + "../shared/types/db.ts" + ] + ], + "fileInfos": { + "../../../../../a/lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "../shared/types/db.ts": { + "original": { + "version": "-5014788164-export interface A {\n name: string;\n}\n", + "impliedFormat": 1 + }, + "version": "-5014788164-export interface A {\n name: string;\n}\n", + "signature": "-5014788164-export interface A {\n name: string;\n}\n", + "impliedFormat": "commonjs" + }, + "../src/main.ts": { + "original": { + "version": "-2574605496-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n};", + "signature": "-3531856636-export {};\n", + "impliedFormat": 1 + }, + "version": "-2574605496-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n};", + "signature": "-3531856636-export {};\n", + "impliedFormat": "commonjs" + }, + "../src/other.ts": { + "original": { + "version": "9084524823-console.log(\"hi\");\nexport { }\n", + "signature": "-3531856636-export {};\n", + "impliedFormat": 1 + }, + "version": "9084524823-console.log(\"hi\");\nexport { }\n", + "signature": "-3531856636-export {};\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 4 + ], + [ + "../shared/types/db.ts", + "../src/main.ts", + "../src/other.ts" + ] + ] + ], + "options": { + "declaration": true, + "noEmitOnError": true, + "outDir": "./" + }, + "referencedMap": { + "../src/main.ts": [ + "../shared/types/db.ts" + ] + } + }, + "version": "FakeTSVersion", + "size": 1150 +} + + + +Change:: no-change-run +Input:: + + +Output:: +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/main.ts' is older than output 'dev-build/tsconfig.tsbuildinfo' + +exitCode:: ExitStatus.Success + + diff --git a/tests/baselines/reference/tsbuild/noEmitOnError/syntax-errors-with-declaration.js b/tests/baselines/reference/tsbuild/noEmitOnError/syntax-errors-with-declaration.js new file mode 100644 index 0000000000000..25868cd49ee13 --- /dev/null +++ b/tests/baselines/reference/tsbuild/noEmitOnError/syntax-errors-with-declaration.js @@ -0,0 +1,236 @@ +currentDirectory:: /user/username/projects/noEmitOnError useCaseSensitiveFileNames: false +Input:: +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/user/username/projects/noEmitOnError/shared/types/db.ts] +export interface A { + name: string; +} + + +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a = { + lastName: 'sdsd' +; + + +//// [/user/username/projects/noEmitOnError/src/other.ts] +console.log("hi"); +export { } + + +//// [/user/username/projects/noEmitOnError/tsconfig.json] +{ + "compilerOptions": { + "outDir": "./dev-build", + "declaration": true, + "noEmitOnError": true + } +} + + + +Output:: +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file 'dev-build/shared/types/db.js' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +src/main.ts:4:1 - error TS1005: ',' expected. + +4 ; +  ~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outDir": "/user/username/projects/noEmitOnError/dev-build", + "declaration": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: no-change-run +Input:: + + +Output:: +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file 'dev-build/shared/types/db.js' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +src/main.ts:4:1 - error TS1005: ',' expected. + +4 ; +  ~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outDir": "/user/username/projects/noEmitOnError/dev-build", + "declaration": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: Fix error +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a = { + lastName: 'sdsd' +}; + + + +Output:: +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file 'dev-build/shared/types/db.js' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +exitCode:: ExitStatus.Success +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outDir": "/user/username/projects/noEmitOnError/dev-build", + "declaration": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +Semantic diagnostics in builder refreshed for:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +Shape signatures in builder refreshed for:: +/a/lib/lib.d.ts (used version) +/user/username/projects/noemitonerror/shared/types/db.ts (used version) +/user/username/projects/noemitonerror/src/main.ts (computed .d.ts during emit) +/user/username/projects/noemitonerror/src/other.ts (computed .d.ts during emit) + + +//// [/user/username/projects/noEmitOnError/dev-build/shared/types/db.d.ts] +export interface A { + name: string; +} + + +//// [/user/username/projects/noEmitOnError/dev-build/shared/types/db.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); + + +//// [/user/username/projects/noEmitOnError/dev-build/src/main.d.ts] +export {}; + + +//// [/user/username/projects/noEmitOnError/dev-build/src/main.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var a = { + lastName: 'sdsd' +}; + + +//// [/user/username/projects/noEmitOnError/dev-build/src/other.d.ts] +export {}; + + +//// [/user/username/projects/noEmitOnError/dev-build/src/other.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +console.log("hi"); + + + + +Change:: no-change-run +Input:: + + +Output:: +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/main.ts' is older than output 'dev-build/shared/types/db.js' + +exitCode:: ExitStatus.Success + + diff --git a/tests/baselines/reference/tsbuild/noEmitOnError/syntax-errors-with-incremental.js b/tests/baselines/reference/tsbuild/noEmitOnError/syntax-errors-with-incremental.js index 948263c96839c..a61a7faa7da46 100644 --- a/tests/baselines/reference/tsbuild/noEmitOnError/syntax-errors-with-incremental.js +++ b/tests/baselines/reference/tsbuild/noEmitOnError/syntax-errors-with-incremental.js @@ -37,6 +37,7 @@ export { } { "compilerOptions": { "outDir": "./dev-build", + "incremental": true, "noEmitOnError": true } } @@ -44,7 +45,14 @@ export { } Output:: -/a/lib/tsc --b --incremental +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file 'dev-build/tsconfig.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + src/main.ts:4:1 - error TS1005: ',' expected. 4 ; @@ -61,8 +69,8 @@ Program root files: [ ] Program options: { "outDir": "/user/username/projects/noEmitOnError/dev-build", - "noEmitOnError": true, "incremental": true, + "noEmitOnError": true, "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" } Program structureReused: Not @@ -174,7 +182,14 @@ Input:: Output:: -/a/lib/tsc --b --incremental +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'dev-build/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + src/main.ts:4:1 - error TS1005: ',' expected. 4 ; @@ -191,8 +206,8 @@ Program root files: [ ] Program options: { "outDir": "/user/username/projects/noEmitOnError/dev-build", - "noEmitOnError": true, "incremental": true, + "noEmitOnError": true, "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" } Program structureReused: Not @@ -220,7 +235,14 @@ const a = { Output:: -/a/lib/tsc --b --incremental +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'dev-build/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + exitCode:: ExitStatus.Success Program root files: [ "/user/username/projects/noEmitOnError/shared/types/db.ts", @@ -229,8 +251,8 @@ Program root files: [ ] Program options: { "outDir": "/user/username/projects/noEmitOnError/dev-build", - "noEmitOnError": true, "incremental": true, + "noEmitOnError": true, "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" } Program structureReused: Not @@ -273,7 +295,7 @@ console.log("hi"); //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-2574605496-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n};","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3,4]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-2574605496-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n};","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]]},"version":"FakeTSVersion"} //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -352,16 +374,10 @@ console.log("hi"); "../src/main.ts": [ "../shared/types/db.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../shared/types/db.ts", - "../src/main.ts", - "../src/other.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1170 + "size": 1131 } @@ -371,7 +387,12 @@ Input:: Output:: -/a/lib/tsc --b --incremental +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/main.ts' is older than output 'dev-build/tsconfig.tsbuildinfo' + exitCode:: ExitStatus.Success diff --git a/tests/baselines/reference/tsbuild/noEmitOnError/syntax-errors.js b/tests/baselines/reference/tsbuild/noEmitOnError/syntax-errors.js index fda81b339e6f6..c76b2c63a40e9 100644 --- a/tests/baselines/reference/tsbuild/noEmitOnError/syntax-errors.js +++ b/tests/baselines/reference/tsbuild/noEmitOnError/syntax-errors.js @@ -44,7 +44,14 @@ export { } Output:: -/a/lib/tsc --b +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file 'dev-build/shared/types/db.js' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + src/main.ts:4:1 - error TS1005: ',' expected. 4 ; @@ -83,7 +90,14 @@ Input:: Output:: -/a/lib/tsc --b +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file 'dev-build/shared/types/db.js' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + src/main.ts:4:1 - error TS1005: ',' expected. 4 ; @@ -128,7 +142,14 @@ const a = { Output:: -/a/lib/tsc --b +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file 'dev-build/shared/types/db.js' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + exitCode:: ExitStatus.Success Program root files: [ "/user/username/projects/noEmitOnError/shared/types/db.ts", @@ -186,7 +207,12 @@ Input:: Output:: -/a/lib/tsc --b +/a/lib/tsc --b --verbose +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is up to date because newest input 'src/main.ts' is older than output 'dev-build/shared/types/db.js' + exitCode:: ExitStatus.Success diff --git a/tests/baselines/reference/tsbuild/outFile/baseline-sectioned-sourcemaps.js b/tests/baselines/reference/tsbuild/outFile/baseline-sectioned-sourcemaps.js index 137e1a25afa71..4c5dcfd966209 100644 --- a/tests/baselines/reference/tsbuild/outFile/baseline-sectioned-sourcemaps.js +++ b/tests/baselines/reference/tsbuild/outFile/baseline-sectioned-sourcemaps.js @@ -132,14 +132,14 @@ c.doSomething(); Output:: /lib/tsc --b /src/third --verbose --explainFiles -[12:00:18 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/first/tsconfig.json * src/second/tsconfig.json * src/third/tsconfig.json -[12:00:19 AM] Project 'src/first/tsconfig.json' is out of date because output file 'src/first/bin/first-output.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/first/tsconfig.json' is out of date because output file 'src/first/bin/first-output.tsbuildinfo' does not exist -[12:00:20 AM] Building project '/src/first/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/first/tsconfig.json'... lib/lib.d.ts Default library for target 'es5' @@ -149,9 +149,9 @@ src/first/first_part2.ts Part of 'files' list in tsconfig.json src/first/first_part3.ts Part of 'files' list in tsconfig.json -[12:00:29 AM] Project 'src/second/tsconfig.json' is out of date because output file 'src/2/second-output.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/second/tsconfig.json' is out of date because output file 'src/2/second-output.tsbuildinfo' does not exist -[12:00:30 AM] Building project '/src/second/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/second/tsconfig.json'... lib/lib.d.ts Default library for target 'es5' @@ -159,9 +159,9 @@ src/second/second_part1.ts Matched by default include pattern '**/*' src/second/second_part2.ts Matched by default include pattern '**/*' -[12:00:39 AM] Project 'src/third/tsconfig.json' is out of date because output file 'src/third/thirdjs/output/third-output.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/third/tsconfig.json' is out of date because output file 'src/third/thirdjs/output/third-output.tsbuildinfo' does not exist -[12:00:40 AM] Building project '/src/third/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/third/tsconfig.json'... lib/lib.d.ts Default library for target 'es5' @@ -1214,14 +1214,14 @@ console.log(s); Output:: /lib/tsc --b /src/third --verbose --explainFiles -[12:00:57 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/first/tsconfig.json * src/second/tsconfig.json * src/third/tsconfig.json -[12:00:58 AM] Project 'src/first/tsconfig.json' is out of date because output 'src/first/bin/first-output.tsbuildinfo' is older than input 'src/first/first_PART1.ts' +[HH:MM:SS AM] Project 'src/first/tsconfig.json' is out of date because output 'src/first/bin/first-output.tsbuildinfo' is older than input 'src/first/first_PART1.ts' -[12:00:59 AM] Building project '/src/first/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/first/tsconfig.json'... lib/lib.d.ts Default library for target 'es5' @@ -1231,11 +1231,11 @@ src/first/first_part2.ts Part of 'files' list in tsconfig.json src/first/first_part3.ts Part of 'files' list in tsconfig.json -[12:01:07 AM] Project 'src/second/tsconfig.json' is up to date because newest input 'src/second/second_part2.ts' is older than output 'src/2/second-output.tsbuildinfo' +[HH:MM:SS AM] Project 'src/second/tsconfig.json' is up to date because newest input 'src/second/second_part2.ts' is older than output 'src/2/second-output.tsbuildinfo' -[12:01:08 AM] Project 'src/third/tsconfig.json' is out of date because output 'src/third/thirdjs/output/third-output.tsbuildinfo' is older than input 'src/first' +[HH:MM:SS AM] Project 'src/third/tsconfig.json' is out of date because output 'src/third/thirdjs/output/third-output.tsbuildinfo' is older than input 'src/first' -[12:01:09 AM] Building project '/src/third/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/third/tsconfig.json'... lib/lib.d.ts Default library for target 'es5' @@ -1734,14 +1734,14 @@ console.log(s); Output:: /lib/tsc --b /src/third --verbose --explainFiles -[12:01:21 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/first/tsconfig.json * src/second/tsconfig.json * src/third/tsconfig.json -[12:01:22 AM] Project 'src/first/tsconfig.json' is out of date because output 'src/first/bin/first-output.tsbuildinfo' is older than input 'src/first/first_PART1.ts' +[HH:MM:SS AM] Project 'src/first/tsconfig.json' is out of date because output 'src/first/bin/first-output.tsbuildinfo' is older than input 'src/first/first_PART1.ts' -[12:01:23 AM] Building project '/src/first/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/first/tsconfig.json'... lib/lib.d.ts Default library for target 'es5' @@ -1751,11 +1751,11 @@ src/first/first_part2.ts Part of 'files' list in tsconfig.json src/first/first_part3.ts Part of 'files' list in tsconfig.json -[12:01:30 AM] Project 'src/second/tsconfig.json' is up to date because newest input 'src/second/second_part2.ts' is older than output 'src/2/second-output.tsbuildinfo' +[HH:MM:SS AM] Project 'src/second/tsconfig.json' is up to date because newest input 'src/second/second_part2.ts' is older than output 'src/2/second-output.tsbuildinfo' -[12:01:31 AM] Project 'src/third/tsconfig.json' is up to date with .d.ts files from its dependencies +[HH:MM:SS AM] Project 'src/third/tsconfig.json' is up to date with .d.ts files from its dependencies -[12:01:32 AM] Updating output timestamps of project '/src/third/tsconfig.json'... +[HH:MM:SS AM] Updating output timestamps of project '/src/third/tsconfig.json'... exitCode:: ExitStatus.Success readFiles:: { diff --git a/tests/baselines/reference/tsbuild/outFile/non-module-projects-without-prepend.js b/tests/baselines/reference/tsbuild/outFile/non-module-projects-without-prepend.js index e2bcaffd9717b..1a5cd8e28418a 100644 --- a/tests/baselines/reference/tsbuild/outFile/non-module-projects-without-prepend.js +++ b/tests/baselines/reference/tsbuild/outFile/non-module-projects-without-prepend.js @@ -132,22 +132,22 @@ c.doSomething(); Output:: /lib/tsc --b /src/third --verbose -[12:00:24 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/first/tsconfig.json * src/second/tsconfig.json * src/third/tsconfig.json -[12:00:25 AM] Project 'src/first/tsconfig.json' is out of date because output file 'src/first/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/first/tsconfig.json' is out of date because output file 'src/first/tsconfig.tsbuildinfo' does not exist -[12:00:26 AM] Building project '/src/first/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/first/tsconfig.json'... -[12:00:42 AM] Project 'src/second/tsconfig.json' is out of date because output file 'src/second/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/second/tsconfig.json' is out of date because output file 'src/second/tsconfig.tsbuildinfo' does not exist -[12:00:43 AM] Building project '/src/second/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/second/tsconfig.json'... -[12:00:55 AM] Project 'src/third/tsconfig.json' is out of date because output file 'src/third/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/third/tsconfig.json' is out of date because output file 'src/third/tsconfig.tsbuildinfo' does not exist -[12:00:56 AM] Building project '/src/third/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/third/tsconfig.json'... exitCode:: ExitStatus.Success @@ -203,7 +203,7 @@ function f() { {"version":3,"file":"first_part3.js","sourceRoot":"","sources":["first_part3.ts"],"names":[],"mappings":"AAAA,SAAS,CAAC;IACN,OAAO,gBAAgB,CAAC;AAC5B,CAAC"} //// [/src/first/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./first_part1.ts","./first_part2.ts","./first_part3.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-22071182994-interface TheFirst {\n none: any;\n}\n\nconst s = \"Hello, world\";\n\ninterface NoJsForHereEither {\n none: any;\n}\n\nconsole.log(s);\n","signature":"-14851202444-interface TheFirst {\n none: any;\n}\ndeclare const s = \"Hello, world\";\ninterface NoJsForHereEither {\n none: any;\n}\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"6007494133-console.log(f());\n","signature":"5381-","affectsGlobalScope":true,"impliedFormat":1},{"version":"4357625305-function f() {\n return \"JS does hoists\";\n}\n","signature":"-6420944280-declare function f(): string;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declarationMap":true,"module":0,"removeComments":true,"skipDefaultLibCheck":true,"sourceMap":true,"strict":false,"target":1},"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./first_part3.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./first_part1.ts","./first_part2.ts","./first_part3.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-22071182994-interface TheFirst {\n none: any;\n}\n\nconst s = \"Hello, world\";\n\ninterface NoJsForHereEither {\n none: any;\n}\n\nconsole.log(s);\n","signature":"-14851202444-interface TheFirst {\n none: any;\n}\ndeclare const s = \"Hello, world\";\ninterface NoJsForHereEither {\n none: any;\n}\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"6007494133-console.log(f());\n","signature":"5381-","affectsGlobalScope":true,"impliedFormat":1},{"version":"4357625305-function f() {\n return \"JS does hoists\";\n}\n","signature":"-6420944280-declare function f(): string;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declarationMap":true,"module":0,"removeComments":true,"skipDefaultLibCheck":true,"sourceMap":true,"strict":false,"target":1},"latestChangedDtsFile":"./first_part3.d.ts"},"version":"FakeTSVersion"} //// [/src/first/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -286,16 +286,10 @@ function f() { "strict": false, "target": 1 }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./first_part1.ts", - "./first_part2.ts", - "./first_part3.ts" - ], "latestChangedDtsFile": "./first_part3.d.ts" }, "version": "FakeTSVersion", - "size": 1553 + "size": 1514 } //// [/src/second/second_part1.d.ts] @@ -345,7 +339,7 @@ var C = (function () { {"version":3,"file":"second_part2.js","sourceRoot":"","sources":["second_part2.ts"],"names":[],"mappings":"AAAA;IAAA;IAIA,CAAC;IAHG,uBAAW,GAAX;QACI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACtC,CAAC;IACL,QAAC;AAAD,CAAC,AAJD,IAIC"} //// [/src/second/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./second_part1.ts","./second_part2.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-12195290447-namespace N {\n // Comment text\n}\n\nnamespace N {\n function f() {\n console.log('testing');\n }\n\n f();\n}\n","signature":"-12385043917-declare namespace N {\n}\ndeclare namespace N {\n}\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"3642692259-class C {\n doSomething() {\n console.log(\"something got done\");\n }\n}\n","signature":"-4226833059-declare class C {\n doSomething(): void;\n}\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3],"options":{"composite":true,"declaration":true,"declarationMap":true,"module":0,"removeComments":true,"skipDefaultLibCheck":true,"sourceMap":true,"strict":false,"target":1},"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./second_part2.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./second_part1.ts","./second_part2.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-12195290447-namespace N {\n // Comment text\n}\n\nnamespace N {\n function f() {\n console.log('testing');\n }\n\n f();\n}\n","signature":"-12385043917-declare namespace N {\n}\ndeclare namespace N {\n}\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"3642692259-class C {\n doSomething() {\n console.log(\"something got done\");\n }\n}\n","signature":"-4226833059-declare class C {\n doSomething(): void;\n}\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3],"options":{"composite":true,"declaration":true,"declarationMap":true,"module":0,"removeComments":true,"skipDefaultLibCheck":true,"sourceMap":true,"strict":false,"target":1},"latestChangedDtsFile":"./second_part2.d.ts"},"version":"FakeTSVersion"} //// [/src/second/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -413,15 +407,10 @@ var C = (function () { "strict": false, "target": 1 }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./second_part1.ts", - "./second_part2.ts" - ], "latestChangedDtsFile": "./second_part2.d.ts" }, "version": "FakeTSVersion", - "size": 1409 + "size": 1372 } //// [/src/third/third_part1.d.ts] @@ -440,7 +429,7 @@ c.doSomething(); {"version":3,"file":"third_part1.js","sourceRoot":"","sources":["third_part1.ts"],"names":[],"mappings":"AAAA,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAChB,CAAC,CAAC,WAAW,EAAE,CAAC"} //// [/src/third/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","../first/first_part1.d.ts","../first/first_part2.d.ts","../first/first_part3.d.ts","../second/second_part1.d.ts","../second/second_part2.d.ts","./third_part1.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14851202444-interface TheFirst {\n none: any;\n}\ndeclare const s = \"Hello, world\";\ninterface NoJsForHereEither {\n none: any;\n}\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-2054710634-//# sourceMappingURL=first_part2.d.ts.map","impliedFormat":1},{"version":"-6420944280-declare function f(): string;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-12385043917-declare namespace N {\n}\ndeclare namespace N {\n}\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4226833059-declare class C {\n doSomething(): void;\n}\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"7305100057-var c = new C();\nc.doSomething();\n","signature":"1894672131-declare var c: C;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[7],"options":{"composite":true,"declaration":true,"declarationMap":true,"module":0,"removeComments":true,"skipDefaultLibCheck":true,"sourceMap":true,"strict":false,"target":1},"semanticDiagnosticsPerFile":[1,2,3,4,5,6,7],"latestChangedDtsFile":"./third_part1.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","../first/first_part1.d.ts","../first/first_part2.d.ts","../first/first_part3.d.ts","../second/second_part1.d.ts","../second/second_part2.d.ts","./third_part1.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14851202444-interface TheFirst {\n none: any;\n}\ndeclare const s = \"Hello, world\";\ninterface NoJsForHereEither {\n none: any;\n}\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-2054710634-//# sourceMappingURL=first_part2.d.ts.map","impliedFormat":1},{"version":"-6420944280-declare function f(): string;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-12385043917-declare namespace N {\n}\ndeclare namespace N {\n}\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4226833059-declare class C {\n doSomething(): void;\n}\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"7305100057-var c = new C();\nc.doSomething();\n","signature":"1894672131-declare var c: C;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[7],"options":{"composite":true,"declaration":true,"declarationMap":true,"module":0,"removeComments":true,"skipDefaultLibCheck":true,"sourceMap":true,"strict":false,"target":1},"latestChangedDtsFile":"./third_part1.d.ts"},"version":"FakeTSVersion"} //// [/src/third/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -549,18 +538,9 @@ c.doSomething(); "strict": false, "target": 1 }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "../first/first_part1.d.ts", - "../first/first_part2.d.ts", - "../first/first_part3.d.ts", - "../second/second_part1.d.ts", - "../second/second_part2.d.ts", - "./third_part1.ts" - ], "latestChangedDtsFile": "./third_part1.d.ts" }, "version": "FakeTSVersion", - "size": 1803 + "size": 1758 } diff --git a/tests/baselines/reference/tsbuild/outFile/rebuilds-completely-when-command-line-incremental-flag-changes-between-non-dts-changes.js b/tests/baselines/reference/tsbuild/outFile/rebuilds-completely-when-command-line-incremental-flag-changes-between-non-dts-changes.js index a2aec2714e27b..39303ef3fa773 100644 --- a/tests/baselines/reference/tsbuild/outFile/rebuilds-completely-when-command-line-incremental-flag-changes-between-non-dts-changes.js +++ b/tests/baselines/reference/tsbuild/outFile/rebuilds-completely-when-command-line-incremental-flag-changes-between-non-dts-changes.js @@ -132,22 +132,22 @@ c.doSomething(); Output:: /lib/tsc --b /src/third --i --verbose -[12:00:19 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/first/tsconfig.json * src/second/tsconfig.json * src/third/tsconfig.json -[12:00:20 AM] Project 'src/first/tsconfig.json' is out of date because output file 'src/first/bin/first-output.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/first/tsconfig.json' is out of date because output file 'src/first/bin/first-output.tsbuildinfo' does not exist -[12:00:21 AM] Building project '/src/first/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/first/tsconfig.json'... -[12:00:30 AM] Project 'src/second/tsconfig.json' is out of date because output file 'src/2/second-output.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/second/tsconfig.json' is out of date because output file 'src/2/second-output.tsbuildinfo' does not exist -[12:00:31 AM] Building project '/src/second/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/second/tsconfig.json'... -[12:00:40 AM] Project 'src/third/tsconfig.json' is out of date because output file 'src/third/thirdjs/output/third-output.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/third/tsconfig.json' is out of date because output file 'src/third/thirdjs/output/third-output.tsbuildinfo' does not exist -[12:00:41 AM] Building project '/src/third/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/third/tsconfig.json'... exitCode:: ExitStatus.Success @@ -457,20 +457,20 @@ console.log(s); Output:: /lib/tsc --b /src/third --verbose -[12:00:52 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/first/tsconfig.json * src/second/tsconfig.json * src/third/tsconfig.json -[12:00:53 AM] Project 'src/first/tsconfig.json' is out of date because output 'src/first/bin/first-output.tsbuildinfo' is older than input 'src/first/first_PART1.ts' +[HH:MM:SS AM] Project 'src/first/tsconfig.json' is out of date because output 'src/first/bin/first-output.tsbuildinfo' is older than input 'src/first/first_PART1.ts' -[12:00:54 AM] Building project '/src/first/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/first/tsconfig.json'... -[12:01:01 AM] Project 'src/second/tsconfig.json' is up to date because newest input 'src/second/second_part2.ts' is older than output 'src/2/second-output.tsbuildinfo' +[HH:MM:SS AM] Project 'src/second/tsconfig.json' is up to date because newest input 'src/second/second_part2.ts' is older than output 'src/2/second-output.tsbuildinfo' -[12:01:02 AM] Project 'src/third/tsconfig.json' is up to date with .d.ts files from its dependencies +[HH:MM:SS AM] Project 'src/third/tsconfig.json' is up to date with .d.ts files from its dependencies -[12:01:03 AM] Updating output timestamps of project '/src/third/tsconfig.json'... +[HH:MM:SS AM] Updating output timestamps of project '/src/third/tsconfig.json'... exitCode:: ExitStatus.Success @@ -565,6 +565,10 @@ function f() { "size": 1407 } +//// [/src/third/thirdjs/output/third-output.d.ts] file changed its modified time +//// [/src/third/thirdjs/output/third-output.d.ts.map] file changed its modified time +//// [/src/third/thirdjs/output/third-output.js] file changed its modified time +//// [/src/third/thirdjs/output/third-output.js.map] file changed its modified time Change:: Make incremental build with change in file that doesnt affect dts @@ -587,20 +591,20 @@ console.log(s);console.log(s); Output:: /lib/tsc --b /src/third --verbose --incremental -[12:01:10 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/first/tsconfig.json * src/second/tsconfig.json * src/third/tsconfig.json -[12:01:11 AM] Project 'src/first/tsconfig.json' is out of date because output 'src/first/bin/first-output.tsbuildinfo' is older than input 'src/first/first_PART1.ts' +[HH:MM:SS AM] Project 'src/first/tsconfig.json' is out of date because output 'src/first/bin/first-output.tsbuildinfo' is older than input 'src/first/first_PART1.ts' -[12:01:12 AM] Building project '/src/first/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/first/tsconfig.json'... -[12:01:19 AM] Project 'src/second/tsconfig.json' is up to date because newest input 'src/second/second_part2.ts' is older than output 'src/2/second-output.tsbuildinfo' +[HH:MM:SS AM] Project 'src/second/tsconfig.json' is up to date because newest input 'src/second/second_part2.ts' is older than output 'src/2/second-output.tsbuildinfo' -[12:01:20 AM] Project 'src/third/tsconfig.json' is up to date with .d.ts files from its dependencies +[HH:MM:SS AM] Project 'src/third/tsconfig.json' is up to date with .d.ts files from its dependencies -[12:01:21 AM] Updating output timestamps of project '/src/third/tsconfig.json'... +[HH:MM:SS AM] Updating output timestamps of project '/src/third/tsconfig.json'... exitCode:: ExitStatus.Success diff --git a/tests/baselines/reference/tsbuild/outFile/rebuilds-completely-when-version-in-tsbuildinfo-doesnt-match-ts-version.js b/tests/baselines/reference/tsbuild/outFile/rebuilds-completely-when-version-in-tsbuildinfo-doesnt-match-ts-version.js index d89d424f12347..116e74458daf4 100644 --- a/tests/baselines/reference/tsbuild/outFile/rebuilds-completely-when-version-in-tsbuildinfo-doesnt-match-ts-version.js +++ b/tests/baselines/reference/tsbuild/outFile/rebuilds-completely-when-version-in-tsbuildinfo-doesnt-match-ts-version.js @@ -417,22 +417,22 @@ c.doSomething(); Output:: /lib/tsc --b /src/third --verbose -[12:00:50 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/first/tsconfig.json * src/second/tsconfig.json * src/third/tsconfig.json -[12:00:51 AM] Project 'src/first/tsconfig.json' is out of date because output for it was generated with version 'FakeTSVersion' that differs with current version 'FakeTSCurrentVersion' +[HH:MM:SS AM] Project 'src/first/tsconfig.json' is out of date because output for it was generated with version 'FakeTSVersion' that differs with current version 'FakeTSCurrentVersion' -[12:00:52 AM] Building project '/src/first/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/first/tsconfig.json'... -[12:01:00 AM] Project 'src/second/tsconfig.json' is out of date because output for it was generated with version 'FakeTSVersion' that differs with current version 'FakeTSCurrentVersion' +[HH:MM:SS AM] Project 'src/second/tsconfig.json' is out of date because output for it was generated with version 'FakeTSVersion' that differs with current version 'FakeTSCurrentVersion' -[12:01:01 AM] Building project '/src/second/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/second/tsconfig.json'... -[12:01:09 AM] Project 'src/third/tsconfig.json' is out of date because output for it was generated with version 'FakeTSVersion' that differs with current version 'FakeTSCurrentVersion' +[HH:MM:SS AM] Project 'src/third/tsconfig.json' is out of date because output for it was generated with version 'FakeTSVersion' that differs with current version 'FakeTSCurrentVersion' -[12:01:10 AM] Building project '/src/third/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/third/tsconfig.json'... exitCode:: ExitStatus.Success diff --git a/tests/baselines/reference/tsbuild/outFile/tsbuildinfo-is-not-generated-when-incremental-is-set-to-false.js b/tests/baselines/reference/tsbuild/outFile/tsbuildinfo-is-not-generated-when-incremental-is-set-to-false.js index 1e6a71f9a3e18..0a2a6af07b7f1 100644 --- a/tests/baselines/reference/tsbuild/outFile/tsbuildinfo-is-not-generated-when-incremental-is-set-to-false.js +++ b/tests/baselines/reference/tsbuild/outFile/tsbuildinfo-is-not-generated-when-incremental-is-set-to-false.js @@ -132,22 +132,22 @@ c.doSomething(); Output:: /lib/tsc --b /src/third --verbose -[12:00:19 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/first/tsconfig.json * src/second/tsconfig.json * src/third/tsconfig.json -[12:00:20 AM] Project 'src/first/tsconfig.json' is out of date because output file 'src/first/bin/first-output.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/first/tsconfig.json' is out of date because output file 'src/first/bin/first-output.tsbuildinfo' does not exist -[12:00:21 AM] Building project '/src/first/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/first/tsconfig.json'... -[12:00:30 AM] Project 'src/second/tsconfig.json' is out of date because output file 'src/2/second-output.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/second/tsconfig.json' is out of date because output file 'src/2/second-output.tsbuildinfo' does not exist -[12:00:31 AM] Building project '/src/second/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/second/tsconfig.json'... -[12:00:40 AM] Project 'src/third/tsconfig.json' is out of date because output file 'src/third/thirdjs/output/third-output.js' does not exist +[HH:MM:SS AM] Project 'src/third/tsconfig.json' is out of date because output file 'src/third/thirdjs/output/third-output.js' does not exist -[12:00:41 AM] Building project '/src/third/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/third/tsconfig.json'... exitCode:: ExitStatus.Success diff --git a/tests/baselines/reference/tsbuild/outFile/verify-buildInfo-absence-results-in-new-build.js b/tests/baselines/reference/tsbuild/outFile/verify-buildInfo-absence-results-in-new-build.js index 1867427dddd1b..5fb7ce5b81abb 100644 --- a/tests/baselines/reference/tsbuild/outFile/verify-buildInfo-absence-results-in-new-build.js +++ b/tests/baselines/reference/tsbuild/outFile/verify-buildInfo-absence-results-in-new-build.js @@ -415,22 +415,22 @@ c.doSomething(); Output:: /lib/tsc --b /src/third --verbose -[12:00:51 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/first/tsconfig.json * src/second/tsconfig.json * src/third/tsconfig.json -[12:00:52 AM] Project 'src/first/tsconfig.json' is out of date because output file 'src/first/bin/first-output.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/first/tsconfig.json' is out of date because output file 'src/first/bin/first-output.tsbuildinfo' does not exist -[12:00:53 AM] Building project '/src/first/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/first/tsconfig.json'... -[12:01:01 AM] Project 'src/second/tsconfig.json' is up to date because newest input 'src/second/second_part2.ts' is older than output 'src/2/second-output.tsbuildinfo' +[HH:MM:SS AM] Project 'src/second/tsconfig.json' is up to date because newest input 'src/second/second_part2.ts' is older than output 'src/2/second-output.tsbuildinfo' -[12:01:02 AM] Project 'src/third/tsconfig.json' is out of date because output 'src/third/thirdjs/output/third-output.tsbuildinfo' is older than input 'src/first' +[HH:MM:SS AM] Project 'src/third/tsconfig.json' is out of date because output 'src/third/thirdjs/output/third-output.tsbuildinfo' is older than input 'src/first' -[12:01:03 AM] Building project '/src/third/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/third/tsconfig.json'... -[12:01:04 AM] Updating unchanged output timestamps of project '/src/third/tsconfig.json'... +[HH:MM:SS AM] Updating unchanged output timestamps of project '/src/third/tsconfig.json'... exitCode:: ExitStatus.Success diff --git a/tests/baselines/reference/tsbuild/outFile/when-final-project-is-not-composite-but-incremental.js b/tests/baselines/reference/tsbuild/outFile/when-final-project-is-not-composite-but-incremental.js index 53099bc8e868c..7ae1ed988c161 100644 --- a/tests/baselines/reference/tsbuild/outFile/when-final-project-is-not-composite-but-incremental.js +++ b/tests/baselines/reference/tsbuild/outFile/when-final-project-is-not-composite-but-incremental.js @@ -132,22 +132,22 @@ c.doSomething(); Output:: /lib/tsc --b /src/third --verbose -[12:00:19 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/first/tsconfig.json * src/second/tsconfig.json * src/third/tsconfig.json -[12:00:20 AM] Project 'src/first/tsconfig.json' is out of date because output file 'src/first/bin/first-output.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/first/tsconfig.json' is out of date because output file 'src/first/bin/first-output.tsbuildinfo' does not exist -[12:00:21 AM] Building project '/src/first/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/first/tsconfig.json'... -[12:00:30 AM] Project 'src/second/tsconfig.json' is out of date because output file 'src/2/second-output.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/second/tsconfig.json' is out of date because output file 'src/2/second-output.tsbuildinfo' does not exist -[12:00:31 AM] Building project '/src/second/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/second/tsconfig.json'... -[12:00:40 AM] Project 'src/third/tsconfig.json' is out of date because output file 'src/third/thirdjs/output/third-output.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/third/tsconfig.json' is out of date because output file 'src/third/thirdjs/output/third-output.tsbuildinfo' does not exist -[12:00:41 AM] Building project '/src/third/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/third/tsconfig.json'... exitCode:: ExitStatus.Success diff --git a/tests/baselines/reference/tsbuild/outFile/when-final-project-is-not-composite-but-uses-project-references.js b/tests/baselines/reference/tsbuild/outFile/when-final-project-is-not-composite-but-uses-project-references.js index 1e08b857be728..8631118aaf228 100644 --- a/tests/baselines/reference/tsbuild/outFile/when-final-project-is-not-composite-but-uses-project-references.js +++ b/tests/baselines/reference/tsbuild/outFile/when-final-project-is-not-composite-but-uses-project-references.js @@ -132,22 +132,22 @@ c.doSomething(); Output:: /lib/tsc --b /src/third --verbose -[12:00:19 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/first/tsconfig.json * src/second/tsconfig.json * src/third/tsconfig.json -[12:00:20 AM] Project 'src/first/tsconfig.json' is out of date because output file 'src/first/bin/first-output.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/first/tsconfig.json' is out of date because output file 'src/first/bin/first-output.tsbuildinfo' does not exist -[12:00:21 AM] Building project '/src/first/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/first/tsconfig.json'... -[12:00:30 AM] Project 'src/second/tsconfig.json' is out of date because output file 'src/2/second-output.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/second/tsconfig.json' is out of date because output file 'src/2/second-output.tsbuildinfo' does not exist -[12:00:31 AM] Building project '/src/second/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/second/tsconfig.json'... -[12:00:40 AM] Project 'src/third/tsconfig.json' is out of date because output file 'src/third/thirdjs/output/third-output.js' does not exist +[HH:MM:SS AM] Project 'src/third/tsconfig.json' is out of date because output file 'src/third/thirdjs/output/third-output.js' does not exist -[12:00:41 AM] Building project '/src/third/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/third/tsconfig.json'... exitCode:: ExitStatus.Success @@ -1110,20 +1110,20 @@ console.log(s); Output:: /lib/tsc --b /src/third --verbose -[12:00:55 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/first/tsconfig.json * src/second/tsconfig.json * src/third/tsconfig.json -[12:00:56 AM] Project 'src/first/tsconfig.json' is out of date because output 'src/first/bin/first-output.tsbuildinfo' is older than input 'src/first/first_PART1.ts' +[HH:MM:SS AM] Project 'src/first/tsconfig.json' is out of date because output 'src/first/bin/first-output.tsbuildinfo' is older than input 'src/first/first_PART1.ts' -[12:00:57 AM] Building project '/src/first/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/first/tsconfig.json'... -[12:01:04 AM] Project 'src/second/tsconfig.json' is up to date because newest input 'src/second/second_part2.ts' is older than output 'src/2/second-output.tsbuildinfo' +[HH:MM:SS AM] Project 'src/second/tsconfig.json' is up to date because newest input 'src/second/second_part2.ts' is older than output 'src/2/second-output.tsbuildinfo' -[12:01:05 AM] Project 'src/third/tsconfig.json' is up to date with .d.ts files from its dependencies +[HH:MM:SS AM] Project 'src/third/tsconfig.json' is up to date with .d.ts files from its dependencies -[12:01:06 AM] Updating output timestamps of project '/src/third/tsconfig.json'... +[HH:MM:SS AM] Updating output timestamps of project '/src/third/tsconfig.json'... exitCode:: ExitStatus.Success @@ -1390,3 +1390,7 @@ sourceFile:../first_part3.ts "size": 1407 } +//// [/src/third/thirdjs/output/third-output.d.ts] file changed its modified time +//// [/src/third/thirdjs/output/third-output.d.ts.map] file changed its modified time +//// [/src/third/thirdjs/output/third-output.js] file changed its modified time +//// [/src/third/thirdjs/output/third-output.js.map] file changed its modified time diff --git a/tests/baselines/reference/tsbuild/outFile/when-final-project-specifies-tsBuildInfoFile.js b/tests/baselines/reference/tsbuild/outFile/when-final-project-specifies-tsBuildInfoFile.js index 542b46776a47e..1ef3e0483eac9 100644 --- a/tests/baselines/reference/tsbuild/outFile/when-final-project-specifies-tsBuildInfoFile.js +++ b/tests/baselines/reference/tsbuild/outFile/when-final-project-specifies-tsBuildInfoFile.js @@ -133,22 +133,22 @@ c.doSomething(); Output:: /lib/tsc --b /src/third --verbose -[12:00:19 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/first/tsconfig.json * src/second/tsconfig.json * src/third/tsconfig.json -[12:00:20 AM] Project 'src/first/tsconfig.json' is out of date because output file 'src/first/bin/first-output.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/first/tsconfig.json' is out of date because output file 'src/first/bin/first-output.tsbuildinfo' does not exist -[12:00:21 AM] Building project '/src/first/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/first/tsconfig.json'... -[12:00:30 AM] Project 'src/second/tsconfig.json' is out of date because output file 'src/2/second-output.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/second/tsconfig.json' is out of date because output file 'src/2/second-output.tsbuildinfo' does not exist -[12:00:31 AM] Building project '/src/second/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/second/tsconfig.json'... -[12:00:40 AM] Project 'src/third/tsconfig.json' is out of date because output file 'src/third/thirdjs/output/third.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/third/tsconfig.json' is out of date because output file 'src/third/thirdjs/output/third.tsbuildinfo' does not exist -[12:00:41 AM] Building project '/src/third/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/third/tsconfig.json'... exitCode:: ExitStatus.Success diff --git a/tests/baselines/reference/tsbuild/outFile/when-input-file-text-does-not-change-but-its-modified-time-changes.js b/tests/baselines/reference/tsbuild/outFile/when-input-file-text-does-not-change-but-its-modified-time-changes.js index 638e6e03683b8..680265edc2153 100644 --- a/tests/baselines/reference/tsbuild/outFile/when-input-file-text-does-not-change-but-its-modified-time-changes.js +++ b/tests/baselines/reference/tsbuild/outFile/when-input-file-text-does-not-change-but-its-modified-time-changes.js @@ -132,22 +132,22 @@ c.doSomething(); Output:: /lib/tsc --b /src/third --verbose -[12:00:18 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/first/tsconfig.json * src/second/tsconfig.json * src/third/tsconfig.json -[12:00:19 AM] Project 'src/first/tsconfig.json' is out of date because output file 'src/first/bin/first-output.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/first/tsconfig.json' is out of date because output file 'src/first/bin/first-output.tsbuildinfo' does not exist -[12:00:20 AM] Building project '/src/first/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/first/tsconfig.json'... -[12:00:29 AM] Project 'src/second/tsconfig.json' is out of date because output file 'src/2/second-output.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/second/tsconfig.json' is out of date because output file 'src/2/second-output.tsbuildinfo' does not exist -[12:00:30 AM] Building project '/src/second/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/second/tsconfig.json'... -[12:00:39 AM] Project 'src/third/tsconfig.json' is out of date because output file 'src/third/thirdjs/output/third-output.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/third/tsconfig.json' is out of date because output file 'src/third/thirdjs/output/third-output.tsbuildinfo' does not exist -[12:00:40 AM] Building project '/src/third/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/third/tsconfig.json'... exitCode:: ExitStatus.Success @@ -447,20 +447,20 @@ Input:: Output:: /lib/tsc --b /src/third --verbose -[12:00:52 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/first/tsconfig.json * src/second/tsconfig.json * src/third/tsconfig.json -[12:00:53 AM] Project 'src/first/tsconfig.json' is up to date but needs to update timestamps of output files that are older than input files +[HH:MM:SS AM] Project 'src/first/tsconfig.json' is up to date but needs to update timestamps of output files that are older than input files -[12:00:54 AM] Updating output timestamps of project '/src/first/tsconfig.json'... +[HH:MM:SS AM] Updating output timestamps of project '/src/first/tsconfig.json'... -[12:00:57 AM] Project 'src/second/tsconfig.json' is up to date because newest input 'src/second/second_part2.ts' is older than output 'src/2/second-output.tsbuildinfo' +[HH:MM:SS AM] Project 'src/second/tsconfig.json' is up to date because newest input 'src/second/second_part2.ts' is older than output 'src/2/second-output.tsbuildinfo' -[12:00:58 AM] Project 'src/third/tsconfig.json' is up to date with .d.ts files from its dependencies +[HH:MM:SS AM] Project 'src/third/tsconfig.json' is up to date with .d.ts files from its dependencies -[12:00:59 AM] Updating output timestamps of project '/src/third/tsconfig.json'... +[HH:MM:SS AM] Updating output timestamps of project '/src/third/tsconfig.json'... exitCode:: ExitStatus.Success diff --git a/tests/baselines/reference/tsbuild/outputPaths/when-rootDir-is-not-specified-and-is-composite.js b/tests/baselines/reference/tsbuild/outputPaths/when-rootDir-is-not-specified-and-is-composite.js index 9fbc950430ed6..2de8bb7069cbd 100644 --- a/tests/baselines/reference/tsbuild/outputPaths/when-rootDir-is-not-specified-and-is-composite.js +++ b/tests/baselines/reference/tsbuild/outputPaths/when-rootDir-is-not-specified-and-is-composite.js @@ -30,12 +30,12 @@ export const x = 10; Output:: /lib/tsc --b /src/tsconfig.json -v -[12:00:09 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:10 AM] Project 'src/tsconfig.json' is out of date because output file 'src/dist/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/dist/tsconfig.tsbuildinfo' does not exist -[12:00:11 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... exitCode:: ExitStatus.Success @@ -52,7 +52,7 @@ exports.x = 10; //// [/src/dist/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","../src/index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","signature":"-6821242887-export declare const x = 10;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"outDir":"./"},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./src/index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","../src/index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","signature":"-6821242887-export declare const x = 10;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"outDir":"./"},"latestChangedDtsFile":"./src/index.d.ts"},"version":"FakeTSVersion"} //// [/src/dist/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -94,15 +94,10 @@ exports.x = 10; "composite": true, "outDir": "./" }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "../src/index.ts" - ], "latestChangedDtsFile": "./src/index.d.ts" }, "version": "FakeTSVersion", - "size": 876 + "size": 822 } @@ -113,10 +108,10 @@ Input:: Output:: /lib/tsc --b /src/tsconfig.json -v -[12:00:19 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:20 AM] Project 'src/tsconfig.json' is up to date because newest input 'src/src/index.ts' is older than output 'src/dist/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'src/tsconfig.json' is up to date because newest input 'src/src/index.ts' is older than output 'src/dist/tsconfig.tsbuildinfo' exitCode:: ExitStatus.Success diff --git a/tests/baselines/reference/tsbuild/outputPaths/when-rootDir-is-not-specified.js b/tests/baselines/reference/tsbuild/outputPaths/when-rootDir-is-not-specified.js index 35f5d206412d9..c6443a4950690 100644 --- a/tests/baselines/reference/tsbuild/outputPaths/when-rootDir-is-not-specified.js +++ b/tests/baselines/reference/tsbuild/outputPaths/when-rootDir-is-not-specified.js @@ -29,12 +29,12 @@ export const x = 10; Output:: /lib/tsc --b /src/tsconfig.json -v -[12:00:09 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:10 AM] Project 'src/tsconfig.json' is out of date because output file 'src/dist/index.js' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/dist/index.js' does not exist -[12:00:11 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... exitCode:: ExitStatus.Success @@ -54,10 +54,10 @@ Input:: Output:: /lib/tsc --b /src/tsconfig.json -v -[12:00:14 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:15 AM] Project 'src/tsconfig.json' is up to date because newest input 'src/src/index.ts' is older than output 'src/dist/index.js' +[HH:MM:SS AM] Project 'src/tsconfig.json' is up to date because newest input 'src/src/index.ts' is older than output 'src/dist/index.js' exitCode:: ExitStatus.Success diff --git a/tests/baselines/reference/tsbuild/outputPaths/when-rootDir-is-specified-but-not-all-files-belong-to-rootDir-and-is-composite.js b/tests/baselines/reference/tsbuild/outputPaths/when-rootDir-is-specified-but-not-all-files-belong-to-rootDir-and-is-composite.js index 5f3d305c97351..17453193f378c 100644 --- a/tests/baselines/reference/tsbuild/outputPaths/when-rootDir-is-specified-but-not-all-files-belong-to-rootDir-and-is-composite.js +++ b/tests/baselines/reference/tsbuild/outputPaths/when-rootDir-is-specified-but-not-all-files-belong-to-rootDir-and-is-composite.js @@ -34,12 +34,12 @@ export type t = string; Output:: /lib/tsc --b /src/tsconfig.json -v -[12:00:11 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:12 AM] Project 'src/tsconfig.json' is out of date because output file 'src/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/tsconfig.tsbuildinfo' does not exist -[12:00:13 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... error TS6059: File '/src/types/type.ts' is not under 'rootDir' '/src/src'. 'rootDir' is expected to contain all source files. The file is in the program because: @@ -52,7 +52,7 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped //// [/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../lib/lib.d.ts","./src/index.ts","./types/type.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","signature":false,"impliedFormat":1},{"version":"-4885977236-export type t = string;","signature":false,"impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"./dist","rootDir":"./src"},"referencedMap":[],"changeFileSet":[1,2,3]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../lib/lib.d.ts","./src/index.ts","./types/type.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","signature":false,"impliedFormat":1},{"version":"-4885977236-export type t = string;","signature":false,"impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"./dist","rootDir":"./src"},"changeFileSet":[1,2,3]},"version":"FakeTSVersion"} //// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -108,7 +108,6 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped "outDir": "./dist", "rootDir": "./src" }, - "referencedMap": {}, "changeFileSet": [ "../lib/lib.d.ts", "./src/index.ts", @@ -116,7 +115,7 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped ] }, "version": "FakeTSVersion", - "size": 926 + "size": 907 } @@ -127,12 +126,12 @@ Input:: Output:: /lib/tsc --b /src/tsconfig.json -v -[12:00:17 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:18 AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted -[12:00:19 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... error TS6059: File '/src/types/type.ts' is not under 'rootDir' '/src/src'. 'rootDir' is expected to contain all source files. The file is in the program because: @@ -174,7 +173,7 @@ exports.x = 10; //// [/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../lib/lib.d.ts","./src/index.ts","./types/type.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","signature":"-6821242887-export declare const x = 10;\n","impliedFormat":1},{"version":"-4885977236-export type t = string;","signature":"-6618426122-export type t = string;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"./dist","rootDir":"./src"},"referencedMap":[],"latestChangedDtsFile":"./types/type.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../lib/lib.d.ts","./src/index.ts","./types/type.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","signature":"-6821242887-export declare const x = 10;\n","impliedFormat":1},{"version":"-4885977236-export type t = string;","signature":"-6618426122-export type t = string;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"./dist","rootDir":"./src"},"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./types/type.d.ts"},"version":"FakeTSVersion"} //// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -232,11 +231,24 @@ exports.x = 10; "outDir": "./dist", "rootDir": "./src" }, - "referencedMap": {}, + "semanticDiagnosticsPerFile": [ + [ + "../lib/lib.d.ts", + "not cached or not changed" + ], + [ + "./src/index.ts", + "not cached or not changed" + ], + [ + "./types/type.ts", + "not cached or not changed" + ] + ], "latestChangedDtsFile": "./types/type.d.ts" }, "version": "FakeTSVersion", - "size": 1000 + "size": 1018 } //// [/src/types/type.d.ts] diff --git a/tests/baselines/reference/tsbuild/outputPaths/when-rootDir-is-specified-but-not-all-files-belong-to-rootDir.js b/tests/baselines/reference/tsbuild/outputPaths/when-rootDir-is-specified-but-not-all-files-belong-to-rootDir.js index d1f6f432d1e08..b4e255734eb4e 100644 --- a/tests/baselines/reference/tsbuild/outputPaths/when-rootDir-is-specified-but-not-all-files-belong-to-rootDir.js +++ b/tests/baselines/reference/tsbuild/outputPaths/when-rootDir-is-specified-but-not-all-files-belong-to-rootDir.js @@ -33,12 +33,12 @@ export type t = string; Output:: /lib/tsc --b /src/tsconfig.json -v -[12:00:11 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:12 AM] Project 'src/tsconfig.json' is out of date because output file 'src/dist/index.js' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/dist/index.js' does not exist -[12:00:13 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... error TS6059: File '/src/types/type.ts' is not under 'rootDir' '/src/src'. 'rootDir' is expected to contain all source files. The file is in the program because: @@ -58,12 +58,12 @@ Input:: Output:: /lib/tsc --b /src/tsconfig.json -v -[12:00:14 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:15 AM] Project 'src/tsconfig.json' is out of date because output file 'src/dist/index.js' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/dist/index.js' does not exist -[12:00:16 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... error TS6059: File '/src/types/type.ts' is not under 'rootDir' '/src/src'. 'rootDir' is expected to contain all source files. The file is in the program because: diff --git a/tests/baselines/reference/tsbuild/outputPaths/when-rootDir-is-specified.js b/tests/baselines/reference/tsbuild/outputPaths/when-rootDir-is-specified.js index 57f1dc17cf217..f122453530452 100644 --- a/tests/baselines/reference/tsbuild/outputPaths/when-rootDir-is-specified.js +++ b/tests/baselines/reference/tsbuild/outputPaths/when-rootDir-is-specified.js @@ -30,12 +30,12 @@ export const x = 10; Output:: /lib/tsc --b /src/tsconfig.json -v -[12:00:09 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:10 AM] Project 'src/tsconfig.json' is out of date because output file 'src/dist/index.js' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/dist/index.js' does not exist -[12:00:11 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... exitCode:: ExitStatus.Success @@ -55,10 +55,10 @@ Input:: Output:: /lib/tsc --b /src/tsconfig.json -v -[12:00:14 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:15 AM] Project 'src/tsconfig.json' is up to date because newest input 'src/src/index.ts' is older than output 'src/dist/index.js' +[HH:MM:SS AM] Project 'src/tsconfig.json' is up to date because newest input 'src/src/index.ts' is older than output 'src/dist/index.js' exitCode:: ExitStatus.Success diff --git a/tests/baselines/reference/tsbuild/projectReferenceWithRootDirInParent/builds-correctly.js b/tests/baselines/reference/tsbuild/projectReferenceWithRootDirInParent/builds-correctly.js index 5894c946478e9..1c77710f782b4 100644 --- a/tests/baselines/reference/tsbuild/projectReferenceWithRootDirInParent/builds-correctly.js +++ b/tests/baselines/reference/tsbuild/projectReferenceWithRootDirInParent/builds-correctly.js @@ -87,7 +87,7 @@ exports.b = 0; //// [/src/dist/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../lib/lib.d.ts","../../src/main/b.ts","../../src/main/a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-13368948254-export const b = 0;\n","signature":"-5842658702-export declare const b = 0;\n","impliedFormat":1},{"version":"-18592354388-import { b } from './b';\nconst a = b;\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"declaration":true,"outDir":"..","rootDir":"../../src","skipDefaultLibCheck":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,3,2],"latestChangedDtsFile":"./a.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../lib/lib.d.ts","../../src/main/b.ts","../../src/main/a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-13368948254-export const b = 0;\n","signature":"-5842658702-export declare const b = 0;\n","impliedFormat":1},{"version":"-18592354388-import { b } from './b';\nconst a = b;\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"declaration":true,"outDir":"..","rootDir":"../../src","skipDefaultLibCheck":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./a.d.ts"},"version":"FakeTSVersion"} //// [/src/dist/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -157,15 +157,10 @@ exports.b = 0; "../../src/main/b.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "../../src/main/a.ts", - "../../src/main/b.ts" - ], "latestChangedDtsFile": "./a.d.ts" }, "version": "FakeTSVersion", - "size": 1119 + "size": 1082 } //// [/src/dist/other/other.d.ts] @@ -180,7 +175,7 @@ exports.Other = 0; //// [/src/dist/other/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../lib/lib.d.ts","../../src/other/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4254247902-export const Other = 0;\n","signature":"-10003600206-export declare const Other = 0;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declaration":true,"outDir":"..","rootDir":"../../src","skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./other.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../lib/lib.d.ts","../../src/other/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4254247902-export const Other = 0;\n","signature":"-10003600206-export declare const Other = 0;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declaration":true,"outDir":"..","rootDir":"../../src","skipDefaultLibCheck":true},"latestChangedDtsFile":"./other.d.ts"},"version":"FakeTSVersion"} //// [/src/dist/other/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -225,14 +220,9 @@ exports.Other = 0; "rootDir": "../../src", "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "../../src/other/other.ts" - ], "latestChangedDtsFile": "./other.d.ts" }, "version": "FakeTSVersion", - "size": 960 + "size": 906 } diff --git a/tests/baselines/reference/tsbuild/projectReferenceWithRootDirInParent/reports-error-for-same-tsbuildinfo-file-because-no-rootDir-in-the-base.js b/tests/baselines/reference/tsbuild/projectReferenceWithRootDirInParent/reports-error-for-same-tsbuildinfo-file-because-no-rootDir-in-the-base.js index c54b697725cec..e36ad96bab3f3 100644 --- a/tests/baselines/reference/tsbuild/projectReferenceWithRootDirInParent/reports-error-for-same-tsbuildinfo-file-because-no-rootDir-in-the-base.js +++ b/tests/baselines/reference/tsbuild/projectReferenceWithRootDirInParent/reports-error-for-same-tsbuildinfo-file-because-no-rootDir-in-the-base.js @@ -61,17 +61,17 @@ export const Other = 0; Output:: /lib/tsc --b /src/src/main --verbose -[12:00:16 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/src/other/tsconfig.json * src/src/main/tsconfig.json -[12:00:17 AM] Project 'src/src/other/tsconfig.json' is out of date because output file 'src/dist/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/src/other/tsconfig.json' is out of date because output file 'src/dist/tsconfig.tsbuildinfo' does not exist -[12:00:18 AM] Building project '/src/src/other/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/src/other/tsconfig.json'... -[12:00:25 AM] Project 'src/src/main/tsconfig.json' is out of date because buildinfo file 'src/dist/tsconfig.tsbuildinfo' indicates that file 'src/src/other/other.ts' was root file of compilation but not any more. +[HH:MM:SS AM] Project 'src/src/main/tsconfig.json' is out of date because buildinfo file 'src/dist/tsconfig.tsbuildinfo' indicates that file 'src/src/other/other.ts' was root file of compilation but not any more. -[12:00:26 AM] Building project '/src/src/main/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/src/main/tsconfig.json'... src/src/main/tsconfig.json:4:5 - error TS6377: Cannot write file '/src/dist/tsconfig.tsbuildinfo' because it will overwrite '.tsbuildinfo' file generated by referenced project '/src/src/other' @@ -100,7 +100,7 @@ exports.Other = 0; //// [/src/dist/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","../src/other/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4254247902-export const Other = 0;\n","signature":"-10003600206-export declare const Other = 0;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declaration":true,"outDir":"./","skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./other.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","../src/other/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4254247902-export const Other = 0;\n","signature":"-10003600206-export declare const Other = 0;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declaration":true,"outDir":"./","skipDefaultLibCheck":true},"latestChangedDtsFile":"./other.d.ts"},"version":"FakeTSVersion"} //// [/src/dist/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -144,14 +144,9 @@ exports.Other = 0; "outDir": "./", "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "../src/other/other.ts" - ], "latestChangedDtsFile": "./other.d.ts" }, "version": "FakeTSVersion", - "size": 932 + "size": 878 } diff --git a/tests/baselines/reference/tsbuild/projectReferenceWithRootDirInParent/reports-error-for-same-tsbuildinfo-file.js b/tests/baselines/reference/tsbuild/projectReferenceWithRootDirInParent/reports-error-for-same-tsbuildinfo-file.js index 237677d7499a9..cde260e8aa7ce 100644 --- a/tests/baselines/reference/tsbuild/projectReferenceWithRootDirInParent/reports-error-for-same-tsbuildinfo-file.js +++ b/tests/baselines/reference/tsbuild/projectReferenceWithRootDirInParent/reports-error-for-same-tsbuildinfo-file.js @@ -67,17 +67,17 @@ export const Other = 0; Output:: /lib/tsc --b /src/src/main --verbose -[12:00:17 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/src/other/tsconfig.json * src/src/main/tsconfig.json -[12:00:18 AM] Project 'src/src/other/tsconfig.json' is out of date because output file 'src/dist/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/src/other/tsconfig.json' is out of date because output file 'src/dist/tsconfig.tsbuildinfo' does not exist -[12:00:19 AM] Building project '/src/src/other/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/src/other/tsconfig.json'... -[12:00:26 AM] Project 'src/src/main/tsconfig.json' is out of date because buildinfo file 'src/dist/tsconfig.tsbuildinfo' indicates that file 'src/src/other/other.ts' was root file of compilation but not any more. +[HH:MM:SS AM] Project 'src/src/main/tsconfig.json' is out of date because buildinfo file 'src/dist/tsconfig.tsbuildinfo' indicates that file 'src/src/other/other.ts' was root file of compilation but not any more. -[12:00:27 AM] Building project '/src/src/main/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/src/main/tsconfig.json'... src/src/main/tsconfig.json:7:5 - error TS6377: Cannot write file '/src/dist/tsconfig.tsbuildinfo' because it will overwrite '.tsbuildinfo' file generated by referenced project '/src/src/other' @@ -106,7 +106,7 @@ exports.Other = 0; //// [/src/dist/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","../src/other/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4254247902-export const Other = 0;\n","signature":"-10003600206-export declare const Other = 0;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"outDir":"./"},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./other.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","../src/other/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4254247902-export const Other = 0;\n","signature":"-10003600206-export declare const Other = 0;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"outDir":"./"},"latestChangedDtsFile":"./other.d.ts"},"version":"FakeTSVersion"} //// [/src/dist/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -148,14 +148,42 @@ exports.Other = 0; "composite": true, "outDir": "./" }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "../src/other/other.ts" - ], "latestChangedDtsFile": "./other.d.ts" }, "version": "FakeTSVersion", - "size": 886 + "size": 832 } + + +Change:: no-change-run +Input:: + + +Output:: +/lib/tsc --b /src/src/main --verbose +[HH:MM:SS AM] Projects in this build: + * src/src/other/tsconfig.json + * src/src/main/tsconfig.json + +[HH:MM:SS AM] Project 'src/src/other/tsconfig.json' is up to date because newest input 'src/src/other/other.ts' is older than output 'src/dist/tsconfig.tsbuildinfo' + +[HH:MM:SS AM] Project 'src/src/main/tsconfig.json' is out of date because buildinfo file 'src/dist/tsconfig.tsbuildinfo' indicates that file 'src/src/other/other.ts' was root file of compilation but not any more. + +[HH:MM:SS AM] Building project '/src/src/main/tsconfig.json'... + +src/src/main/tsconfig.json:7:5 - error TS6377: Cannot write file '/src/dist/tsconfig.tsbuildinfo' because it will overwrite '.tsbuildinfo' file generated by referenced project '/src/src/other' + +7 { +   ~ +8 "path": "../other" +  ~~~~~~~~~~~~~~~~~~~~~~~~ +9 } +  ~~~~~ + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + diff --git a/tests/baselines/reference/tsbuild/projectReferenceWithRootDirInParent/reports-no-error-when-tsbuildinfo-differ.js b/tests/baselines/reference/tsbuild/projectReferenceWithRootDirInParent/reports-no-error-when-tsbuildinfo-differ.js index abbcacc7733ae..8edc48f0ee6ac 100644 --- a/tests/baselines/reference/tsbuild/projectReferenceWithRootDirInParent/reports-no-error-when-tsbuildinfo-differ.js +++ b/tests/baselines/reference/tsbuild/projectReferenceWithRootDirInParent/reports-no-error-when-tsbuildinfo-differ.js @@ -67,17 +67,17 @@ export const Other = 0; Output:: /lib/tsc --b /src/src/main/tsconfig.main.json --verbose -[12:00:19 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/src/other/tsconfig.other.json * src/src/main/tsconfig.main.json -[12:00:20 AM] Project 'src/src/other/tsconfig.other.json' is out of date because output file 'src/dist/tsconfig.other.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/src/other/tsconfig.other.json' is out of date because output file 'src/dist/tsconfig.other.tsbuildinfo' does not exist -[12:00:21 AM] Building project '/src/src/other/tsconfig.other.json'... +[HH:MM:SS AM] Building project '/src/src/other/tsconfig.other.json'... -[12:00:28 AM] Project 'src/src/main/tsconfig.main.json' is out of date because output file 'src/dist/tsconfig.main.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/src/main/tsconfig.main.json' is out of date because output file 'src/dist/tsconfig.main.tsbuildinfo' does not exist -[12:00:29 AM] Building project '/src/src/main/tsconfig.main.json'... +[HH:MM:SS AM] Building project '/src/src/main/tsconfig.main.json'... exitCode:: ExitStatus.Success @@ -116,7 +116,7 @@ exports.Other = 0; //// [/src/dist/tsconfig.main.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","../src/main/b.ts","../src/main/a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-13368948254-export const b = 0;\n","signature":"-5842658702-export declare const b = 0;\n","impliedFormat":1},{"version":"-18592354388-import { b } from './b';\nconst a = b;\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,3,2],"latestChangedDtsFile":"./a.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","../src/main/b.ts","../src/main/a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-13368948254-export const b = 0;\n","signature":"-5842658702-export declare const b = 0;\n","impliedFormat":1},{"version":"-18592354388-import { b } from './b';\nconst a = b;\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./a.d.ts"},"version":"FakeTSVersion"} //// [/src/dist/tsconfig.main.tsbuildinfo.readable.baseline.txt] { @@ -183,19 +183,14 @@ exports.Other = 0; "../src/main/b.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "../src/main/a.ts", - "../src/main/b.ts" - ], "latestChangedDtsFile": "./a.d.ts" }, "version": "FakeTSVersion", - "size": 1042 + "size": 1005 } //// [/src/dist/tsconfig.other.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","../src/other/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4254247902-export const Other = 0;\n","signature":"-10003600206-export declare const Other = 0;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"outDir":"./"},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./other.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","../src/other/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4254247902-export const Other = 0;\n","signature":"-10003600206-export declare const Other = 0;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"outDir":"./"},"latestChangedDtsFile":"./other.d.ts"},"version":"FakeTSVersion"} //// [/src/dist/tsconfig.other.tsbuildinfo.readable.baseline.txt] { @@ -237,14 +232,28 @@ exports.Other = 0; "composite": true, "outDir": "./" }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "../src/other/other.ts" - ], "latestChangedDtsFile": "./other.d.ts" }, "version": "FakeTSVersion", - "size": 886 + "size": 832 } + + +Change:: no-change-run +Input:: + + +Output:: +/lib/tsc --b /src/src/main/tsconfig.main.json --verbose +[HH:MM:SS AM] Projects in this build: + * src/src/other/tsconfig.other.json + * src/src/main/tsconfig.main.json + +[HH:MM:SS AM] Project 'src/src/other/tsconfig.other.json' is up to date because newest input 'src/src/other/other.ts' is older than output 'src/dist/tsconfig.other.tsbuildinfo' + +[HH:MM:SS AM] Project 'src/src/main/tsconfig.main.json' is up to date because newest input 'src/src/main/b.ts' is older than output 'src/dist/tsconfig.main.tsbuildinfo' + +exitCode:: ExitStatus.Success + + diff --git a/tests/baselines/reference/tsbuild/publicAPI/build-with-custom-transformers.js b/tests/baselines/reference/tsbuild/publicAPI/build-with-custom-transformers.js index 131fd08e34009..49ed7f3a02eac 100644 --- a/tests/baselines/reference/tsbuild/publicAPI/build-with-custom-transformers.js +++ b/tests/baselines/reference/tsbuild/publicAPI/build-with-custom-transformers.js @@ -153,7 +153,7 @@ function f2() { } // trailing //// [/src/shared/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"8649344783-export function f1() { }\nexport class c { }\nexport enum e { }\n// leading\nexport function f2() { } // trailing","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"emitSignatures":[[2,"-9393727241-export declare function f1(): void;\nexport declare class c {\n}\nexport declare enum e {\n}\nexport declare function f2(): void;\n"]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"8649344783-export function f1() { }\nexport class c { }\nexport enum e { }\n// leading\nexport function f2() { } // trailing","impliedFormat":1}],"root":[2],"options":{"composite":true},"emitSignatures":[[2,"-9393727241-export declare function f1(): void;\nexport declare class c {\n}\nexport declare enum e {\n}\nexport declare function f2(): void;\n"]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/src/shared/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -193,11 +193,6 @@ function f2() { } // trailing "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./index.ts" - ], "emitSignatures": [ [ "./index.ts", @@ -207,7 +202,7 @@ function f2() { } // trailing "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1056 + "size": 1002 } //// [/src/webpack/index.d.ts] @@ -244,7 +239,7 @@ function f22() { } // trailing //// [/src/webpack/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"20140662566-export function f2() { }\nexport class c2 { }\nexport enum e2 { }\n// leading\nexport function f22() { } // trailing","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"emitSignatures":[[2,"-2037002130-export declare function f2(): void;\nexport declare class c2 {\n}\nexport declare enum e2 {\n}\nexport declare function f22(): void;\n"]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"20140662566-export function f2() { }\nexport class c2 { }\nexport enum e2 { }\n// leading\nexport function f22() { } // trailing","impliedFormat":1}],"root":[2],"options":{"composite":true},"emitSignatures":[[2,"-2037002130-export declare function f2(): void;\nexport declare class c2 {\n}\nexport declare enum e2 {\n}\nexport declare function f22(): void;\n"]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/src/webpack/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -284,11 +279,6 @@ function f22() { } // trailing "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./index.ts" - ], "emitSignatures": [ [ "./index.ts", @@ -298,6 +288,6 @@ function f22() { } // trailing "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1063 + "size": 1009 } diff --git a/tests/baselines/reference/tsbuild/resolveJsonModule/files-containing-json-file-non-composite.js b/tests/baselines/reference/tsbuild/resolveJsonModule/files-containing-json-file-non-composite.js index ebe6d8ab6a3ba..18893c220791f 100644 --- a/tests/baselines/reference/tsbuild/resolveJsonModule/files-containing-json-file-non-composite.js +++ b/tests/baselines/reference/tsbuild/resolveJsonModule/files-containing-json-file-non-composite.js @@ -46,12 +46,12 @@ export default hello.hello Output:: /lib/tsc --b /src/tsconfig.json --v --explainFiles --listEmittedFiles -[12:00:10 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:11 AM] Project 'src/tsconfig.json' is out of date because output file 'src/dist/index.js' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/dist/index.js' does not exist -[12:00:12 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... TSFILE: /src/dist/hello.json TSFILE: /src/dist/index.js diff --git a/tests/baselines/reference/tsbuild/resolveJsonModule/files-containing-json-file.js b/tests/baselines/reference/tsbuild/resolveJsonModule/files-containing-json-file.js index d6cbd1296ac72..c84d6812d9cdd 100644 --- a/tests/baselines/reference/tsbuild/resolveJsonModule/files-containing-json-file.js +++ b/tests/baselines/reference/tsbuild/resolveJsonModule/files-containing-json-file.js @@ -47,12 +47,12 @@ export default hello.hello Output:: /lib/tsc --b /src/tsconfig.json --v --explainFiles --listEmittedFiles -[12:00:10 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:11 AM] Project 'src/tsconfig.json' is out of date because output file 'src/dist/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/dist/tsconfig.tsbuildinfo' does not exist -[12:00:12 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... TSFILE: /src/dist/src/hello.json TSFILE: /src/dist/src/index.js @@ -90,7 +90,7 @@ exports.default = hello_json_1.default.hello; //// [/src/dist/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","../src/hello.json","../src/index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},"6651571919-{\n \"hello\": \"world\"\n}",{"version":"-6443385642-import hello from \"./hello.json\"\nexport default hello.hello\n","signature":"6785192742-declare const _default: string;\nexport default _default;\n","impliedFormat":1}],"root":[2,3],"options":{"allowSyntheticDefaultImports":true,"composite":true,"esModuleInterop":true,"module":1,"outDir":"./","skipDefaultLibCheck":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./src/index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","../src/hello.json","../src/index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},"6651571919-{\n \"hello\": \"world\"\n}",{"version":"-6443385642-import hello from \"./hello.json\"\nexport default hello.hello\n","signature":"6785192742-declare const _default: string;\nexport default _default;\n","impliedFormat":1}],"root":[2,3],"options":{"allowSyntheticDefaultImports":true,"composite":true,"esModuleInterop":true,"module":1,"outDir":"./","skipDefaultLibCheck":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./src/index.d.ts"},"version":"FakeTSVersion"} //// [/src/dist/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -155,14 +155,9 @@ exports.default = hello_json_1.default.hello; "../src/hello.json" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "../src/hello.json", - "../src/index.ts" - ], "latestChangedDtsFile": "./src/index.d.ts" }, "version": "FakeTSVersion", - "size": 1135 + "size": 1098 } diff --git a/tests/baselines/reference/tsbuild/resolveJsonModule/importing-json-module-from-project-reference.js b/tests/baselines/reference/tsbuild/resolveJsonModule/importing-json-module-from-project-reference.js index 1ee03b11fd1b3..7ea5769188c4f 100644 --- a/tests/baselines/reference/tsbuild/resolveJsonModule/importing-json-module-from-project-reference.js +++ b/tests/baselines/reference/tsbuild/resolveJsonModule/importing-json-module-from-project-reference.js @@ -73,22 +73,22 @@ console.log(foo); Output:: /lib/tsc --b src/tsconfig.json --verbose --explainFiles -[12:00:13 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/strings/tsconfig.json * src/main/tsconfig.json * src/tsconfig.json -[12:00:14 AM] Project 'src/strings/tsconfig.json' is out of date because output file 'src/strings/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/strings/tsconfig.json' is out of date because output file 'src/strings/tsconfig.tsbuildinfo' does not exist -[12:00:15 AM] Building project '/src/strings/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/strings/tsconfig.json'... lib/lib.d.ts Default library for target 'es5' src/strings/foo.json Matched by include pattern 'foo.json' in 'src/strings/tsconfig.json' -[12:00:19 AM] Project 'src/main/tsconfig.json' is out of date because output file 'src/main/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/main/tsconfig.json' is out of date because output file 'src/main/tsconfig.tsbuildinfo' does not exist -[12:00:20 AM] Building project '/src/main/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/main/tsconfig.json'... lib/lib.d.ts Default library for target 'es5' @@ -111,7 +111,7 @@ console.log(foo_json_1.foo); //// [/src/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","../strings/foo.json","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},"-6280880055-{\n \"foo\": \"bar baz\"\n}",{"version":"-6647471184-import { foo } from '../strings/foo.json';\nconsole.log(foo);\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"esModuleInterop":true,"module":1,"rootDir":"..","strict":true,"target":1},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,3,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","../strings/foo.json","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},"-6280880055-{\n \"foo\": \"bar baz\"\n}",{"version":"-6647471184-import { foo } from '../strings/foo.json';\nconsole.log(foo);\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"esModuleInterop":true,"module":1,"rootDir":"..","strict":true,"target":1},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/src/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -172,19 +172,14 @@ console.log(foo_json_1.foo); "../strings/foo.json" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./index.ts", - "../strings/foo.json" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1043 + "size": 1006 } //// [/src/strings/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./foo.json"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},"-6280880055-{\n \"foo\": \"bar baz\"\n}"],"root":[2],"options":{"composite":true,"esModuleInterop":true,"module":1,"rootDir":"..","strict":true,"target":1},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./foo.json"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},"-6280880055-{\n \"foo\": \"bar baz\"\n}"],"root":[2],"options":{"composite":true,"esModuleInterop":true,"module":1,"rootDir":"..","strict":true,"target":1}},"version":"FakeTSVersion"} //// [/src/strings/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ console.log(foo_json_1.foo); "rootDir": "..", "strict": true, "target": 1 - }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./foo.json" - ] + } }, "version": "FakeTSVersion", - "size": 809 + "size": 755 } @@ -242,14 +232,14 @@ Input:: Output:: /lib/tsc --b src/tsconfig.json --verbose --explainFiles -[12:00:26 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/strings/tsconfig.json * src/main/tsconfig.json * src/tsconfig.json -[12:00:27 AM] Project 'src/strings/tsconfig.json' is up to date because newest input 'src/strings/foo.json' is older than output 'src/strings/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'src/strings/tsconfig.json' is up to date because newest input 'src/strings/foo.json' is older than output 'src/strings/tsconfig.tsbuildinfo' -[12:00:28 AM] Project 'src/main/tsconfig.json' is up to date because newest input 'src/main/index.ts' is older than output 'src/main/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'src/main/tsconfig.json' is up to date because newest input 'src/main/index.ts' is older than output 'src/main/tsconfig.tsbuildinfo' exitCode:: ExitStatus.Success diff --git a/tests/baselines/reference/tsbuild/resolveJsonModule/include-and-files-non-composite.js b/tests/baselines/reference/tsbuild/resolveJsonModule/include-and-files-non-composite.js index f414117ac9f02..0115357f878b6 100644 --- a/tests/baselines/reference/tsbuild/resolveJsonModule/include-and-files-non-composite.js +++ b/tests/baselines/reference/tsbuild/resolveJsonModule/include-and-files-non-composite.js @@ -48,12 +48,12 @@ export default hello.hello Output:: /lib/tsc --b /src/tsconfig.json --v --explainFiles --listEmittedFiles -[12:00:10 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:11 AM] Project 'src/tsconfig.json' is out of date because output file 'src/dist/hello.json' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/dist/hello.json' does not exist -[12:00:12 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... TSFILE: /src/dist/hello.json TSFILE: /src/dist/index.js diff --git a/tests/baselines/reference/tsbuild/resolveJsonModule/include-and-files.js b/tests/baselines/reference/tsbuild/resolveJsonModule/include-and-files.js index db90ec2a7a5d0..f60736ef72757 100644 --- a/tests/baselines/reference/tsbuild/resolveJsonModule/include-and-files.js +++ b/tests/baselines/reference/tsbuild/resolveJsonModule/include-and-files.js @@ -49,12 +49,12 @@ export default hello.hello Output:: /lib/tsc --b /src/tsconfig.json --v --explainFiles --listEmittedFiles -[12:00:10 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:11 AM] Project 'src/tsconfig.json' is out of date because output file 'src/dist/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/dist/tsconfig.tsbuildinfo' does not exist -[12:00:12 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... TSFILE: /src/dist/src/hello.json TSFILE: /src/dist/src/index.js @@ -92,7 +92,7 @@ exports.default = hello_json_1.default.hello; //// [/src/dist/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","../src/hello.json","../src/index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},"6651571919-{\n \"hello\": \"world\"\n}",{"version":"-6443385642-import hello from \"./hello.json\"\nexport default hello.hello\n","signature":"6785192742-declare const _default: string;\nexport default _default;\n","impliedFormat":1}],"root":[2,3],"options":{"allowSyntheticDefaultImports":true,"composite":true,"esModuleInterop":true,"module":1,"outDir":"./","skipDefaultLibCheck":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./src/index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","../src/hello.json","../src/index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},"6651571919-{\n \"hello\": \"world\"\n}",{"version":"-6443385642-import hello from \"./hello.json\"\nexport default hello.hello\n","signature":"6785192742-declare const _default: string;\nexport default _default;\n","impliedFormat":1}],"root":[2,3],"options":{"allowSyntheticDefaultImports":true,"composite":true,"esModuleInterop":true,"module":1,"outDir":"./","skipDefaultLibCheck":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./src/index.d.ts"},"version":"FakeTSVersion"} //// [/src/dist/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -157,14 +157,9 @@ exports.default = hello_json_1.default.hello; "../src/hello.json" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "../src/hello.json", - "../src/index.ts" - ], "latestChangedDtsFile": "./src/index.d.ts" }, "version": "FakeTSVersion", - "size": 1135 + "size": 1098 } diff --git a/tests/baselines/reference/tsbuild/resolveJsonModule/include-of-json-along-with-other-include-and-file-name-matches-ts-file-non-composite.js b/tests/baselines/reference/tsbuild/resolveJsonModule/include-of-json-along-with-other-include-and-file-name-matches-ts-file-non-composite.js index 11024873616ce..18f9988383ba9 100644 --- a/tests/baselines/reference/tsbuild/resolveJsonModule/include-of-json-along-with-other-include-and-file-name-matches-ts-file-non-composite.js +++ b/tests/baselines/reference/tsbuild/resolveJsonModule/include-of-json-along-with-other-include-and-file-name-matches-ts-file-non-composite.js @@ -46,12 +46,12 @@ export default hello.hello Output:: /lib/tsc --b /src/tsconfig.json --v --explainFiles --listEmittedFiles -[12:00:12 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:13 AM] Project 'src/tsconfig.json' is out of date because output file 'src/dist/index.js' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/dist/index.js' does not exist -[12:00:14 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... TSFILE: /src/dist/index.json TSFILE: /src/dist/index.js diff --git a/tests/baselines/reference/tsbuild/resolveJsonModule/include-of-json-along-with-other-include-and-file-name-matches-ts-file.js b/tests/baselines/reference/tsbuild/resolveJsonModule/include-of-json-along-with-other-include-and-file-name-matches-ts-file.js index fe7bd81531129..7e36d85c2ff22 100644 --- a/tests/baselines/reference/tsbuild/resolveJsonModule/include-of-json-along-with-other-include-and-file-name-matches-ts-file.js +++ b/tests/baselines/reference/tsbuild/resolveJsonModule/include-of-json-along-with-other-include-and-file-name-matches-ts-file.js @@ -47,12 +47,12 @@ export default hello.hello Output:: /lib/tsc --b /src/tsconfig.json --v --explainFiles --listEmittedFiles -[12:00:12 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:13 AM] Project 'src/tsconfig.json' is out of date because output file 'src/dist/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/dist/tsconfig.tsbuildinfo' does not exist -[12:00:14 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... TSFILE: /src/dist/src/index.json TSFILE: /src/dist/src/index.js @@ -90,7 +90,7 @@ exports.default = index_json_1.default.hello; //// [/src/dist/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","../src/index.json","../src/index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},"6651571919-{\n \"hello\": \"world\"\n}",{"version":"-19435552038-import hello from \"./index.json\"\nexport default hello.hello\n","signature":"6785192742-declare const _default: string;\nexport default _default;\n","impliedFormat":1}],"root":[2,3],"options":{"allowSyntheticDefaultImports":true,"composite":true,"esModuleInterop":true,"module":1,"outDir":"./","skipDefaultLibCheck":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./src/index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","../src/index.json","../src/index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},"6651571919-{\n \"hello\": \"world\"\n}",{"version":"-19435552038-import hello from \"./index.json\"\nexport default hello.hello\n","signature":"6785192742-declare const _default: string;\nexport default _default;\n","impliedFormat":1}],"root":[2,3],"options":{"allowSyntheticDefaultImports":true,"composite":true,"esModuleInterop":true,"module":1,"outDir":"./","skipDefaultLibCheck":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./src/index.d.ts"},"version":"FakeTSVersion"} //// [/src/dist/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -155,14 +155,9 @@ exports.default = index_json_1.default.hello; "../src/index.json" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "../src/index.json", - "../src/index.ts" - ], "latestChangedDtsFile": "./src/index.d.ts" }, "version": "FakeTSVersion", - "size": 1136 + "size": 1099 } diff --git a/tests/baselines/reference/tsbuild/resolveJsonModule/include-of-json-along-with-other-include-non-composite.js b/tests/baselines/reference/tsbuild/resolveJsonModule/include-of-json-along-with-other-include-non-composite.js index 52bbbb9f24ea9..ee03700c0df02 100644 --- a/tests/baselines/reference/tsbuild/resolveJsonModule/include-of-json-along-with-other-include-non-composite.js +++ b/tests/baselines/reference/tsbuild/resolveJsonModule/include-of-json-along-with-other-include-non-composite.js @@ -46,12 +46,12 @@ export default hello.hello Output:: /lib/tsc --b /src/tsconfig.json --v --explainFiles --listEmittedFiles -[12:00:10 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:11 AM] Project 'src/tsconfig.json' is out of date because output file 'src/dist/index.js' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/dist/index.js' does not exist -[12:00:12 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... TSFILE: /src/dist/hello.json TSFILE: /src/dist/index.js diff --git a/tests/baselines/reference/tsbuild/resolveJsonModule/include-of-json-along-with-other-include.js b/tests/baselines/reference/tsbuild/resolveJsonModule/include-of-json-along-with-other-include.js index f226aa6096c48..7f9529af1f4cd 100644 --- a/tests/baselines/reference/tsbuild/resolveJsonModule/include-of-json-along-with-other-include.js +++ b/tests/baselines/reference/tsbuild/resolveJsonModule/include-of-json-along-with-other-include.js @@ -47,12 +47,12 @@ export default hello.hello Output:: /lib/tsc --b /src/tsconfig.json --v --explainFiles --listEmittedFiles -[12:00:10 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:11 AM] Project 'src/tsconfig.json' is out of date because output file 'src/dist/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/dist/tsconfig.tsbuildinfo' does not exist -[12:00:12 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... TSFILE: /src/dist/src/hello.json TSFILE: /src/dist/src/index.js @@ -90,7 +90,7 @@ exports.default = hello_json_1.default.hello; //// [/src/dist/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","../src/hello.json","../src/index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},"6651571919-{\n \"hello\": \"world\"\n}",{"version":"-6443385642-import hello from \"./hello.json\"\nexport default hello.hello\n","signature":"6785192742-declare const _default: string;\nexport default _default;\n","impliedFormat":1}],"root":[2,3],"options":{"allowSyntheticDefaultImports":true,"composite":true,"esModuleInterop":true,"module":1,"outDir":"./","skipDefaultLibCheck":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./src/index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","../src/hello.json","../src/index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},"6651571919-{\n \"hello\": \"world\"\n}",{"version":"-6443385642-import hello from \"./hello.json\"\nexport default hello.hello\n","signature":"6785192742-declare const _default: string;\nexport default _default;\n","impliedFormat":1}],"root":[2,3],"options":{"allowSyntheticDefaultImports":true,"composite":true,"esModuleInterop":true,"module":1,"outDir":"./","skipDefaultLibCheck":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./src/index.d.ts"},"version":"FakeTSVersion"} //// [/src/dist/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -155,14 +155,9 @@ exports.default = hello_json_1.default.hello; "../src/hello.json" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "../src/hello.json", - "../src/index.ts" - ], "latestChangedDtsFile": "./src/index.d.ts" }, "version": "FakeTSVersion", - "size": 1135 + "size": 1098 } diff --git a/tests/baselines/reference/tsbuild/resolveJsonModule/include-only-non-composite.js b/tests/baselines/reference/tsbuild/resolveJsonModule/include-only-non-composite.js index ec6f120870125..7441b4df52e2a 100644 --- a/tests/baselines/reference/tsbuild/resolveJsonModule/include-only-non-composite.js +++ b/tests/baselines/reference/tsbuild/resolveJsonModule/include-only-non-composite.js @@ -45,12 +45,12 @@ export default hello.hello Output:: /lib/tsc --b /src/tsconfig.json --v --explainFiles --listEmittedFiles -[12:00:10 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:11 AM] Project 'src/tsconfig.json' is out of date because output file 'src/dist/index.js' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/dist/index.js' does not exist -[12:00:12 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... TSFILE: /src/dist/hello.json TSFILE: /src/dist/index.js diff --git a/tests/baselines/reference/tsbuild/resolveJsonModule/include-only-with-json-not-in-rootDir-non-composite.js b/tests/baselines/reference/tsbuild/resolveJsonModule/include-only-with-json-not-in-rootDir-non-composite.js index 3a62386d72b66..d9e7de5fb5b8b 100644 --- a/tests/baselines/reference/tsbuild/resolveJsonModule/include-only-with-json-not-in-rootDir-non-composite.js +++ b/tests/baselines/reference/tsbuild/resolveJsonModule/include-only-with-json-not-in-rootDir-non-composite.js @@ -46,12 +46,12 @@ export default hello.hello Output:: /lib/tsc --b /src/tsconfig.json --v --explainFiles --listEmittedFiles -[12:00:12 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:13 AM] Project 'src/tsconfig.json' is out of date because output file 'src/dist/index.js' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/dist/index.js' does not exist -[12:00:14 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... TSFILE: /src/dist/index.js lib/lib.d.ts diff --git a/tests/baselines/reference/tsbuild/resolveJsonModule/include-only-with-json-not-in-rootDir.js b/tests/baselines/reference/tsbuild/resolveJsonModule/include-only-with-json-not-in-rootDir.js index 18b440eafe1a2..13abfae92f80e 100644 --- a/tests/baselines/reference/tsbuild/resolveJsonModule/include-only-with-json-not-in-rootDir.js +++ b/tests/baselines/reference/tsbuild/resolveJsonModule/include-only-with-json-not-in-rootDir.js @@ -47,12 +47,12 @@ export default hello.hello Output:: /lib/tsc --b /src/tsconfig.json --v --explainFiles --listEmittedFiles -[12:00:12 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:13 AM] Project 'src/tsconfig.json' is out of date because output file 'src/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/tsconfig.tsbuildinfo' does not exist -[12:00:14 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... TSFILE: /src/dist/index.js TSFILE: /src/dist/index.d.ts @@ -82,7 +82,7 @@ exports.default = hello_json_1.default.hello; //// [/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../lib/lib.d.ts","./hello.json","./src/index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},"6651571919-{\n \"hello\": \"world\"\n}",{"version":"-17927595516-import hello from \"../hello.json\"\nexport default hello.hello\n","signature":"6785192742-declare const _default: string;\nexport default _default;\n","impliedFormat":1}],"root":[3],"options":{"allowSyntheticDefaultImports":true,"composite":true,"esModuleInterop":true,"module":1,"outDir":"./dist","rootDir":"./src","skipDefaultLibCheck":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./dist/index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../lib/lib.d.ts","./hello.json","./src/index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},"6651571919-{\n \"hello\": \"world\"\n}",{"version":"-17927595516-import hello from \"../hello.json\"\nexport default hello.hello\n","signature":"6785192742-declare const _default: string;\nexport default _default;\n","impliedFormat":1}],"root":[3],"options":{"allowSyntheticDefaultImports":true,"composite":true,"esModuleInterop":true,"module":1,"outDir":"./dist","rootDir":"./src","skipDefaultLibCheck":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./dist/index.d.ts"},"version":"FakeTSVersion"} //// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -144,14 +144,9 @@ exports.default = hello_json_1.default.hello; "./hello.json" ] }, - "semanticDiagnosticsPerFile": [ - "../lib/lib.d.ts", - "./hello.json", - "./src/index.ts" - ], "latestChangedDtsFile": "./dist/index.d.ts" }, "version": "FakeTSVersion", - "size": 1149 + "size": 1112 } diff --git a/tests/baselines/reference/tsbuild/resolveJsonModule/include-only-with-json-without-rootDir-but-outside-configDirectory-non-composite.js b/tests/baselines/reference/tsbuild/resolveJsonModule/include-only-with-json-without-rootDir-but-outside-configDirectory-non-composite.js index 51e4c91fada2c..d6534d641f9b8 100644 --- a/tests/baselines/reference/tsbuild/resolveJsonModule/include-only-with-json-without-rootDir-but-outside-configDirectory-non-composite.js +++ b/tests/baselines/reference/tsbuild/resolveJsonModule/include-only-with-json-without-rootDir-but-outside-configDirectory-non-composite.js @@ -45,16 +45,16 @@ export default hello.hello Output:: /lib/tsc --b /src/tsconfig.json --v --explainFiles --listEmittedFiles -[12:00:12 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:13 AM] Project 'src/tsconfig.json' is out of date because output file 'src/dist/index.js' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/dist/index.js' does not exist -[12:00:14 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... TSFILE: /src/dist/hello.json TSFILE: /src/dist/src/src/index.js -[12:00:20 AM] Updating unchanged output timestamps of project '/src/tsconfig.json'... +[HH:MM:SS AM] Updating unchanged output timestamps of project '/src/tsconfig.json'... lib/lib.d.ts Default library for target 'es5' diff --git a/tests/baselines/reference/tsbuild/resolveJsonModule/include-only-with-json-without-rootDir-but-outside-configDirectory.js b/tests/baselines/reference/tsbuild/resolveJsonModule/include-only-with-json-without-rootDir-but-outside-configDirectory.js index 525e65c524148..d5aea511f8358 100644 --- a/tests/baselines/reference/tsbuild/resolveJsonModule/include-only-with-json-without-rootDir-but-outside-configDirectory.js +++ b/tests/baselines/reference/tsbuild/resolveJsonModule/include-only-with-json-without-rootDir-but-outside-configDirectory.js @@ -46,12 +46,12 @@ export default hello.hello Output:: /lib/tsc --b /src/tsconfig.json --v --explainFiles --listEmittedFiles -[12:00:12 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:13 AM] Project 'src/tsconfig.json' is out of date because output file 'src/dist/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/dist/tsconfig.tsbuildinfo' does not exist -[12:00:14 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... TSFILE: /src/dist/src/index.js TSFILE: /src/dist/src/index.d.ts @@ -81,7 +81,7 @@ exports.default = hello_json_1.default.hello; //// [/src/dist/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","../../hello.json","../src/index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},"6651571919-{\n \"hello\": \"world\"\n}",{"version":"-19695506097-import hello from \"../../hello.json\"\nexport default hello.hello\n","signature":"6785192742-declare const _default: string;\nexport default _default;\n","impliedFormat":1}],"root":[3],"options":{"allowSyntheticDefaultImports":true,"composite":true,"esModuleInterop":true,"module":1,"outDir":"./","skipDefaultLibCheck":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[2,1,3],"latestChangedDtsFile":"./src/index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","../../hello.json","../src/index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},"6651571919-{\n \"hello\": \"world\"\n}",{"version":"-19695506097-import hello from \"../../hello.json\"\nexport default hello.hello\n","signature":"6785192742-declare const _default: string;\nexport default _default;\n","impliedFormat":1}],"root":[3],"options":{"allowSyntheticDefaultImports":true,"composite":true,"esModuleInterop":true,"module":1,"outDir":"./","skipDefaultLibCheck":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./src/index.d.ts"},"version":"FakeTSVersion"} //// [/src/dist/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -142,14 +142,9 @@ exports.default = hello_json_1.default.hello; "../../hello.json" ] }, - "semanticDiagnosticsPerFile": [ - "../../hello.json", - "../../lib/lib.d.ts", - "../src/index.ts" - ], "latestChangedDtsFile": "./src/index.d.ts" }, "version": "FakeTSVersion", - "size": 1137 + "size": 1100 } diff --git a/tests/baselines/reference/tsbuild/resolveJsonModule/include-only-without-outDir-non-composite.js b/tests/baselines/reference/tsbuild/resolveJsonModule/include-only-without-outDir-non-composite.js index 1f06e58f574bc..a4e3b6dc26541 100644 --- a/tests/baselines/reference/tsbuild/resolveJsonModule/include-only-without-outDir-non-composite.js +++ b/tests/baselines/reference/tsbuild/resolveJsonModule/include-only-without-outDir-non-composite.js @@ -44,12 +44,12 @@ export default hello.hello Output:: /lib/tsc --b /src/tsconfig.json --v --explainFiles --listEmittedFiles -[12:00:10 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:11 AM] Project 'src/tsconfig.json' is out of date because output file 'src/src/index.js' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/src/index.js' does not exist -[12:00:12 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... TSFILE: /src/src/index.js lib/lib.d.ts diff --git a/tests/baselines/reference/tsbuild/resolveJsonModule/include-only-without-outDir.js b/tests/baselines/reference/tsbuild/resolveJsonModule/include-only-without-outDir.js index 0fdc8392a6ff1..6e1ba95345899 100644 --- a/tests/baselines/reference/tsbuild/resolveJsonModule/include-only-without-outDir.js +++ b/tests/baselines/reference/tsbuild/resolveJsonModule/include-only-without-outDir.js @@ -45,12 +45,12 @@ export default hello.hello Output:: /lib/tsc --b /src/tsconfig.json --v --explainFiles --listEmittedFiles -[12:00:10 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:11 AM] Project 'src/tsconfig.json' is out of date because output file 'src/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/tsconfig.tsbuildinfo' does not exist -[12:00:12 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... TSFILE: /src/src/index.js TSFILE: /src/src/index.d.ts @@ -80,7 +80,7 @@ exports.default = hello_json_1.default.hello; //// [/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../lib/lib.d.ts","./src/hello.json","./src/index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},"6651571919-{\n \"hello\": \"world\"\n}",{"version":"-6443385642-import hello from \"./hello.json\"\nexport default hello.hello\n","signature":"6785192742-declare const _default: string;\nexport default _default;\n","impliedFormat":1}],"root":[3],"options":{"allowSyntheticDefaultImports":true,"composite":true,"esModuleInterop":true,"module":1,"skipDefaultLibCheck":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./src/index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../lib/lib.d.ts","./src/hello.json","./src/index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},"6651571919-{\n \"hello\": \"world\"\n}",{"version":"-6443385642-import hello from \"./hello.json\"\nexport default hello.hello\n","signature":"6785192742-declare const _default: string;\nexport default _default;\n","impliedFormat":1}],"root":[3],"options":{"allowSyntheticDefaultImports":true,"composite":true,"esModuleInterop":true,"module":1,"skipDefaultLibCheck":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./src/index.d.ts"},"version":"FakeTSVersion"} //// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -140,14 +140,9 @@ exports.default = hello_json_1.default.hello; "./src/hello.json" ] }, - "semanticDiagnosticsPerFile": [ - "../lib/lib.d.ts", - "./src/hello.json", - "./src/index.ts" - ], "latestChangedDtsFile": "./src/index.d.ts" }, "version": "FakeTSVersion", - "size": 1114 + "size": 1077 } diff --git a/tests/baselines/reference/tsbuild/resolveJsonModule/include-only.js b/tests/baselines/reference/tsbuild/resolveJsonModule/include-only.js index 313cf20a625a5..b67b65b8a7664 100644 --- a/tests/baselines/reference/tsbuild/resolveJsonModule/include-only.js +++ b/tests/baselines/reference/tsbuild/resolveJsonModule/include-only.js @@ -46,12 +46,12 @@ export default hello.hello Output:: /lib/tsc --b /src/tsconfig.json --v --explainFiles --listEmittedFiles -[12:00:10 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:11 AM] Project 'src/tsconfig.json' is out of date because output file 'src/dist/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/dist/tsconfig.tsbuildinfo' does not exist -[12:00:12 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... src/src/index.ts:1:19 - error TS6307: File '/src/src/hello.json' is not listed within the file list of project '/src/tsconfig.json'. Projects must list all files or use an 'include' pattern. @@ -72,7 +72,7 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped //// [/src/dist/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","../src/hello.json","../src/index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},"6651571919-{\n \"hello\": \"world\"\n}",{"version":"-6443385642-import hello from \"./hello.json\"\nexport default hello.hello\n","impliedFormat":1}],"root":[3],"options":{"allowSyntheticDefaultImports":true,"composite":true,"esModuleInterop":true,"module":1,"outDir":"./","skipDefaultLibCheck":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"affectedFilesPendingEmit":[2,3],"emitSignatures":[3]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","../src/hello.json","../src/index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},"6651571919-{\n \"hello\": \"world\"\n}",{"version":"-6443385642-import hello from \"./hello.json\"\nexport default hello.hello\n","impliedFormat":1}],"root":[3],"options":{"allowSyntheticDefaultImports":true,"composite":true,"esModuleInterop":true,"module":1,"outDir":"./","skipDefaultLibCheck":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"affectedFilesPendingEmit":[2,3],"emitSignatures":[3]},"version":"FakeTSVersion"} //// [/src/dist/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -132,11 +132,6 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped "../src/hello.json" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "../src/hello.json", - "../src/index.ts" - ], "affectedFilesPendingEmit": [ [ "../src/hello.json", @@ -152,6 +147,6 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped ] }, "version": "FakeTSVersion", - "size": 1060 + "size": 1023 } diff --git a/tests/baselines/reference/tsbuild/resolveJsonModule/sourcemap-non-composite.js b/tests/baselines/reference/tsbuild/resolveJsonModule/sourcemap-non-composite.js index bcbf17acf2685..57efe6bcdf99d 100644 --- a/tests/baselines/reference/tsbuild/resolveJsonModule/sourcemap-non-composite.js +++ b/tests/baselines/reference/tsbuild/resolveJsonModule/sourcemap-non-composite.js @@ -47,12 +47,12 @@ export default hello.hello Output:: /lib/tsc --b /src/tsconfig.json --v --explainFiles --listEmittedFiles -[12:00:10 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:11 AM] Project 'src/tsconfig.json' is out of date because output file 'src/dist/index.js' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/dist/index.js' does not exist -[12:00:12 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... TSFILE: /src/dist/hello.json TSFILE: /src/dist/index.js.map @@ -94,10 +94,10 @@ Input:: Output:: /lib/tsc --b /src/tsconfig.json --v --explainFiles --listEmittedFiles -[12:00:17 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:18 AM] Project 'src/tsconfig.json' is up to date because newest input 'src/src/index.ts' is older than output 'src/dist/hello.json' +[HH:MM:SS AM] Project 'src/tsconfig.json' is up to date because newest input 'src/src/index.ts' is older than output 'src/dist/hello.json' exitCode:: ExitStatus.Success diff --git a/tests/baselines/reference/tsbuild/resolveJsonModule/sourcemap.js b/tests/baselines/reference/tsbuild/resolveJsonModule/sourcemap.js index 7e8b3ea402313..26620a5762bab 100644 --- a/tests/baselines/reference/tsbuild/resolveJsonModule/sourcemap.js +++ b/tests/baselines/reference/tsbuild/resolveJsonModule/sourcemap.js @@ -48,12 +48,12 @@ export default hello.hello Output:: /lib/tsc --b /src/tsconfig.json --v --explainFiles --listEmittedFiles -[12:00:10 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:11 AM] Project 'src/tsconfig.json' is out of date because output file 'src/dist/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/dist/tsconfig.tsbuildinfo' does not exist -[12:00:12 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... TSFILE: /src/dist/src/hello.json TSFILE: /src/dist/src/index.js.map @@ -95,7 +95,7 @@ exports.default = hello_json_1.default.hello; {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;AAAA,4DAAgC;AAChC,kBAAe,oBAAK,CAAC,KAAK,CAAA"} //// [/src/dist/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","../src/hello.json","../src/index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},"6651571919-{\n \"hello\": \"world\"\n}",{"version":"-6443385642-import hello from \"./hello.json\"\nexport default hello.hello\n","signature":"6785192742-declare const _default: string;\nexport default _default;\n","impliedFormat":1}],"root":[2,3],"options":{"allowSyntheticDefaultImports":true,"composite":true,"esModuleInterop":true,"module":1,"outDir":"./","skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./src/index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","../src/hello.json","../src/index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},"6651571919-{\n \"hello\": \"world\"\n}",{"version":"-6443385642-import hello from \"./hello.json\"\nexport default hello.hello\n","signature":"6785192742-declare const _default: string;\nexport default _default;\n","impliedFormat":1}],"root":[2,3],"options":{"allowSyntheticDefaultImports":true,"composite":true,"esModuleInterop":true,"module":1,"outDir":"./","skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./src/index.d.ts"},"version":"FakeTSVersion"} //// [/src/dist/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -161,15 +161,10 @@ exports.default = hello_json_1.default.hello; "../src/hello.json" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "../src/hello.json", - "../src/index.ts" - ], "latestChangedDtsFile": "./src/index.d.ts" }, "version": "FakeTSVersion", - "size": 1152 + "size": 1115 } @@ -180,10 +175,10 @@ Input:: Output:: /lib/tsc --b /src/tsconfig.json --v --explainFiles --listEmittedFiles -[12:00:22 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:23 AM] Project 'src/tsconfig.json' is up to date because newest input 'src/src/index.ts' is older than output 'src/dist/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'src/tsconfig.json' is up to date because newest input 'src/src/index.ts' is older than output 'src/dist/tsconfig.tsbuildinfo' exitCode:: ExitStatus.Success diff --git a/tests/baselines/reference/tsbuild/resolveJsonModule/without-outDir-non-composite.js b/tests/baselines/reference/tsbuild/resolveJsonModule/without-outDir-non-composite.js index 38be4f67bbcfc..87dd95c90ca6b 100644 --- a/tests/baselines/reference/tsbuild/resolveJsonModule/without-outDir-non-composite.js +++ b/tests/baselines/reference/tsbuild/resolveJsonModule/without-outDir-non-composite.js @@ -45,12 +45,12 @@ export default hello.hello Output:: /lib/tsc --b /src/tsconfig.json --v --explainFiles --listEmittedFiles -[12:00:10 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:11 AM] Project 'src/tsconfig.json' is out of date because output file 'src/src/index.js' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/src/index.js' does not exist -[12:00:12 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... TSFILE: /src/src/index.js lib/lib.d.ts @@ -81,10 +81,10 @@ Input:: Output:: /lib/tsc --b /src/tsconfig.json --v --explainFiles --listEmittedFiles -[12:00:14 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:15 AM] Project 'src/tsconfig.json' is up to date because newest input 'src/src/index.ts' is older than output 'src/src/index.js' +[HH:MM:SS AM] Project 'src/tsconfig.json' is up to date because newest input 'src/src/index.ts' is older than output 'src/src/index.js' exitCode:: ExitStatus.Success diff --git a/tests/baselines/reference/tsbuild/resolveJsonModule/without-outDir.js b/tests/baselines/reference/tsbuild/resolveJsonModule/without-outDir.js index de5c0ef0e4522..04a9d4f296a5d 100644 --- a/tests/baselines/reference/tsbuild/resolveJsonModule/without-outDir.js +++ b/tests/baselines/reference/tsbuild/resolveJsonModule/without-outDir.js @@ -46,12 +46,12 @@ export default hello.hello Output:: /lib/tsc --b /src/tsconfig.json --v --explainFiles --listEmittedFiles -[12:00:10 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:11 AM] Project 'src/tsconfig.json' is out of date because output file 'src/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/tsconfig.tsbuildinfo' does not exist -[12:00:12 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... TSFILE: /src/src/index.js TSFILE: /src/src/index.d.ts @@ -82,7 +82,7 @@ exports.default = hello_json_1.default.hello; //// [/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../lib/lib.d.ts","./src/hello.json","./src/index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},"6651571919-{\n \"hello\": \"world\"\n}",{"version":"-6443385642-import hello from \"./hello.json\"\nexport default hello.hello\n","signature":"6785192742-declare const _default: string;\nexport default _default;\n","impliedFormat":1}],"root":[2,3],"options":{"allowSyntheticDefaultImports":true,"composite":true,"esModuleInterop":true,"module":1,"skipDefaultLibCheck":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./src/index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../lib/lib.d.ts","./src/hello.json","./src/index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},"6651571919-{\n \"hello\": \"world\"\n}",{"version":"-6443385642-import hello from \"./hello.json\"\nexport default hello.hello\n","signature":"6785192742-declare const _default: string;\nexport default _default;\n","impliedFormat":1}],"root":[2,3],"options":{"allowSyntheticDefaultImports":true,"composite":true,"esModuleInterop":true,"module":1,"skipDefaultLibCheck":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./src/index.d.ts"},"version":"FakeTSVersion"} //// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -146,15 +146,10 @@ exports.default = hello_json_1.default.hello; "./src/hello.json" ] }, - "semanticDiagnosticsPerFile": [ - "../lib/lib.d.ts", - "./src/hello.json", - "./src/index.ts" - ], "latestChangedDtsFile": "./src/index.d.ts" }, "version": "FakeTSVersion", - "size": 1116 + "size": 1079 } @@ -165,10 +160,10 @@ Input:: Output:: /lib/tsc --b /src/tsconfig.json --v --explainFiles --listEmittedFiles -[12:00:18 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:19 AM] Project 'src/tsconfig.json' is up to date because newest input 'src/src/index.ts' is older than output 'src/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'src/tsconfig.json' is up to date because newest input 'src/src/index.ts' is older than output 'src/tsconfig.tsbuildinfo' exitCode:: ExitStatus.Success diff --git a/tests/baselines/reference/tsbuild/roots/when-consecutive-and-non-consecutive-are-mixed.js b/tests/baselines/reference/tsbuild/roots/when-consecutive-and-non-consecutive-are-mixed.js index 7dca98e099638..ffe0658d2cc55 100644 --- a/tests/baselines/reference/tsbuild/roots/when-consecutive-and-non-consecutive-are-mixed.js +++ b/tests/baselines/reference/tsbuild/roots/when-consecutive-and-non-consecutive-are-mixed.js @@ -68,12 +68,12 @@ export const random = "hello"; Output:: /lib/tsc --b /src/tsconfig.json -v -[12:00:17 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:18 AM] Project 'src/tsconfig.json' is out of date because output file 'src/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/tsconfig.tsbuildinfo' does not exist -[12:00:19 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... exitCode:: ExitStatus.Success @@ -156,7 +156,7 @@ exports.nonConsecutive = "hello"; //// [/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../lib/lib.d.ts","./file1.ts","./file2.ts","./random.d.ts","./nonconsecutive.ts","./random1.d.ts","./asarray1.ts","./asarray2.ts","./asarray3.ts","./random2.d.ts","./anothernonconsecutive.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10637577098-export const x = \"hello\";","signature":"-6425002032-export declare const x = \"hello\";\n","impliedFormat":1},{"version":"-11520681045-export const y = \"world\";","signature":"-5502661211-export declare const y = \"world\";\n","impliedFormat":1},{"version":"-10812219521-export const random = \"hello\";","impliedFormat":1},{"version":"-4807644630-import { random } from \"./random\";\nexport const nonConsecutive = \"hello\";\n","signature":"-7909998901-export declare const nonConsecutive = \"hello\";\n","impliedFormat":1},{"version":"-10812219521-export const random = \"hello\";","impliedFormat":1},{"version":"-21033449408-import { random } from \"./random1\";\nexport const x = \"hello\";\n","signature":"-6425002032-export declare const x = \"hello\";\n","impliedFormat":1},{"version":"-10637577098-export const x = \"hello\";","signature":"-6425002032-export declare const x = \"hello\";\n","impliedFormat":1},{"version":"-10637577098-export const x = \"hello\";","signature":"-6425002032-export declare const x = \"hello\";\n","impliedFormat":1},{"version":"-10812219521-export const random = \"hello\";","impliedFormat":1},{"version":"-23429155204-import { random } from \"./random2\";\nexport const nonConsecutive = \"hello\";\n","signature":"-7909998901-export declare const nonConsecutive = \"hello\";\n","impliedFormat":1}],"root":[2,3,5,[7,9],11],"options":{"composite":true},"fileIdsList":[[10],[6],[4]],"referencedMap":[[11,1],[7,2],[5,3]],"semanticDiagnosticsPerFile":[1,11,7,8,9,2,3,5,4,6,10],"latestChangedDtsFile":"./anotherNonConsecutive.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../lib/lib.d.ts","./file1.ts","./file2.ts","./random.d.ts","./nonconsecutive.ts","./random1.d.ts","./asarray1.ts","./asarray2.ts","./asarray3.ts","./random2.d.ts","./anothernonconsecutive.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10637577098-export const x = \"hello\";","signature":"-6425002032-export declare const x = \"hello\";\n","impliedFormat":1},{"version":"-11520681045-export const y = \"world\";","signature":"-5502661211-export declare const y = \"world\";\n","impliedFormat":1},{"version":"-10812219521-export const random = \"hello\";","impliedFormat":1},{"version":"-4807644630-import { random } from \"./random\";\nexport const nonConsecutive = \"hello\";\n","signature":"-7909998901-export declare const nonConsecutive = \"hello\";\n","impliedFormat":1},{"version":"-10812219521-export const random = \"hello\";","impliedFormat":1},{"version":"-21033449408-import { random } from \"./random1\";\nexport const x = \"hello\";\n","signature":"-6425002032-export declare const x = \"hello\";\n","impliedFormat":1},{"version":"-10637577098-export const x = \"hello\";","signature":"-6425002032-export declare const x = \"hello\";\n","impliedFormat":1},{"version":"-10637577098-export const x = \"hello\";","signature":"-6425002032-export declare const x = \"hello\";\n","impliedFormat":1},{"version":"-10812219521-export const random = \"hello\";","impliedFormat":1},{"version":"-23429155204-import { random } from \"./random2\";\nexport const nonConsecutive = \"hello\";\n","signature":"-7909998901-export declare const nonConsecutive = \"hello\";\n","impliedFormat":1}],"root":[2,3,5,[7,9],11],"options":{"composite":true},"fileIdsList":[[10],[6],[4]],"referencedMap":[[11,1],[7,2],[5,3]],"latestChangedDtsFile":"./anotherNonConsecutive.d.ts"},"version":"FakeTSVersion"} //// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -338,23 +338,10 @@ exports.nonConsecutive = "hello"; "./random.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../lib/lib.d.ts", - "./anothernonconsecutive.ts", - "./asarray1.ts", - "./asarray2.ts", - "./asarray3.ts", - "./file1.ts", - "./file2.ts", - "./nonconsecutive.ts", - "./random.d.ts", - "./random1.d.ts", - "./random2.d.ts" - ], "latestChangedDtsFile": "./anotherNonConsecutive.d.ts" }, "version": "FakeTSVersion", - "size": 2351 + "size": 2296 } @@ -368,18 +355,18 @@ Input:: Output:: /lib/tsc --b /src/tsconfig.json -v -[12:00:40 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:41 AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/tsconfig.tsbuildinfo' indicates that file 'src/file1.ts' was root file of compilation but not any more. +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/tsconfig.tsbuildinfo' indicates that file 'src/file1.ts' was root file of compilation but not any more. -[12:00:42 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... exitCode:: ExitStatus.Success //// [/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../lib/lib.d.ts","./file2.ts","./random.d.ts","./nonconsecutive.ts","./random1.d.ts","./asarray1.ts","./asarray2.ts","./asarray3.ts","./random2.d.ts","./anothernonconsecutive.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11520681045-export const y = \"world\";","signature":"-5502661211-export declare const y = \"world\";\n","impliedFormat":1},{"version":"-10812219521-export const random = \"hello\";","impliedFormat":1},{"version":"-4807644630-import { random } from \"./random\";\nexport const nonConsecutive = \"hello\";\n","signature":"-7909998901-export declare const nonConsecutive = \"hello\";\n","impliedFormat":1},{"version":"-10812219521-export const random = \"hello\";","impliedFormat":1},{"version":"-21033449408-import { random } from \"./random1\";\nexport const x = \"hello\";\n","signature":"-6425002032-export declare const x = \"hello\";\n","impliedFormat":1},{"version":"-10637577098-export const x = \"hello\";","signature":"-6425002032-export declare const x = \"hello\";\n","impliedFormat":1},{"version":"-10637577098-export const x = \"hello\";","signature":"-6425002032-export declare const x = \"hello\";\n","impliedFormat":1},{"version":"-10812219521-export const random = \"hello\";","impliedFormat":1},{"version":"-23429155204-import { random } from \"./random2\";\nexport const nonConsecutive = \"hello\";\n","signature":"-7909998901-export declare const nonConsecutive = \"hello\";\n","impliedFormat":1}],"root":[2,4,[6,8],10],"options":{"composite":true},"fileIdsList":[[9],[5],[3]],"referencedMap":[[10,1],[6,2],[4,3]],"semanticDiagnosticsPerFile":[1,10,6,7,8,2,4,3,5,9],"latestChangedDtsFile":"./anotherNonConsecutive.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../lib/lib.d.ts","./file2.ts","./random.d.ts","./nonconsecutive.ts","./random1.d.ts","./asarray1.ts","./asarray2.ts","./asarray3.ts","./random2.d.ts","./anothernonconsecutive.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11520681045-export const y = \"world\";","signature":"-5502661211-export declare const y = \"world\";\n","impliedFormat":1},{"version":"-10812219521-export const random = \"hello\";","impliedFormat":1},{"version":"-4807644630-import { random } from \"./random\";\nexport const nonConsecutive = \"hello\";\n","signature":"-7909998901-export declare const nonConsecutive = \"hello\";\n","impliedFormat":1},{"version":"-10812219521-export const random = \"hello\";","impliedFormat":1},{"version":"-21033449408-import { random } from \"./random1\";\nexport const x = \"hello\";\n","signature":"-6425002032-export declare const x = \"hello\";\n","impliedFormat":1},{"version":"-10637577098-export const x = \"hello\";","signature":"-6425002032-export declare const x = \"hello\";\n","impliedFormat":1},{"version":"-10637577098-export const x = \"hello\";","signature":"-6425002032-export declare const x = \"hello\";\n","impliedFormat":1},{"version":"-10812219521-export const random = \"hello\";","impliedFormat":1},{"version":"-23429155204-import { random } from \"./random2\";\nexport const nonConsecutive = \"hello\";\n","signature":"-7909998901-export declare const nonConsecutive = \"hello\";\n","impliedFormat":1}],"root":[2,4,[6,8],10],"options":{"composite":true},"fileIdsList":[[9],[5],[3]],"referencedMap":[[10,1],[6,2],[4,3]],"latestChangedDtsFile":"./anotherNonConsecutive.d.ts"},"version":"FakeTSVersion"} //// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -546,21 +533,9 @@ exitCode:: ExitStatus.Success "./random.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../lib/lib.d.ts", - "./anothernonconsecutive.ts", - "./asarray1.ts", - "./asarray2.ts", - "./asarray3.ts", - "./file2.ts", - "./nonconsecutive.ts", - "./random.d.ts", - "./random1.d.ts", - "./random2.d.ts" - ], "latestChangedDtsFile": "./anotherNonConsecutive.d.ts" }, "version": "FakeTSVersion", - "size": 2195 + "size": 2143 } diff --git a/tests/baselines/reference/tsbuild/roots/when-files-are-not-consecutive.js b/tests/baselines/reference/tsbuild/roots/when-files-are-not-consecutive.js index 0fdb0c84a01e8..176bf4091f8fe 100644 --- a/tests/baselines/reference/tsbuild/roots/when-files-are-not-consecutive.js +++ b/tests/baselines/reference/tsbuild/roots/when-files-are-not-consecutive.js @@ -40,12 +40,12 @@ export const random = "world"; Output:: /lib/tsc --b /src/tsconfig.json -v -[12:00:10 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:11 AM] Project 'src/tsconfig.json' is out of date because output file 'src/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/tsconfig.tsbuildinfo' does not exist -[12:00:12 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... exitCode:: ExitStatus.Success @@ -73,7 +73,7 @@ exports.y = "world"; //// [/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../lib/lib.d.ts","./file1.ts","./random.d.ts","./file2.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10637577098-export const x = \"hello\";","signature":"-6425002032-export declare const x = \"hello\";\n","impliedFormat":1},{"version":"-12516578989-export const random = \"world\";","impliedFormat":1},{"version":"-12123221340-import { random } from \"./random\";\nexport const y = \"world\";\n","signature":"-5502661211-export declare const y = \"world\";\n","impliedFormat":1}],"root":[2,4],"options":{"composite":true},"fileIdsList":[[3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,2,4,3],"latestChangedDtsFile":"./file2.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../lib/lib.d.ts","./file1.ts","./random.d.ts","./file2.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10637577098-export const x = \"hello\";","signature":"-6425002032-export declare const x = \"hello\";\n","impliedFormat":1},{"version":"-12516578989-export const random = \"world\";","impliedFormat":1},{"version":"-12123221340-import { random } from \"./random\";\nexport const y = \"world\";\n","signature":"-5502661211-export declare const y = \"world\";\n","impliedFormat":1}],"root":[2,4],"options":{"composite":true},"fileIdsList":[[3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./file2.d.ts"},"version":"FakeTSVersion"} //// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -149,16 +149,10 @@ exports.y = "world"; "./random.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../lib/lib.d.ts", - "./file1.ts", - "./file2.ts", - "./random.d.ts" - ], "latestChangedDtsFile": "./file2.d.ts" }, "version": "FakeTSVersion", - "size": 1179 + "size": 1140 } @@ -172,18 +166,18 @@ Input:: Output:: /lib/tsc --b /src/tsconfig.json -v -[12:00:23 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:24 AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/tsconfig.tsbuildinfo' indicates that file 'src/file1.ts' was root file of compilation but not any more. +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/tsconfig.tsbuildinfo' indicates that file 'src/file1.ts' was root file of compilation but not any more. -[12:00:25 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... exitCode:: ExitStatus.Success //// [/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../lib/lib.d.ts","./random.d.ts","./file2.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-12516578989-export const random = \"world\";","impliedFormat":1},{"version":"-12123221340-import { random } from \"./random\";\nexport const y = \"world\";\n","signature":"-5502661211-export declare const y = \"world\";\n","impliedFormat":1}],"root":[3],"options":{"composite":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,3,2],"latestChangedDtsFile":"./file2.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../lib/lib.d.ts","./random.d.ts","./file2.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-12516578989-export const random = \"world\";","impliedFormat":1},{"version":"-12123221340-import { random } from \"./random\";\nexport const y = \"world\";\n","signature":"-5502661211-export declare const y = \"world\";\n","impliedFormat":1}],"root":[3],"options":{"composite":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./file2.d.ts"},"version":"FakeTSVersion"} //// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -244,14 +238,9 @@ exitCode:: ExitStatus.Success "./random.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../lib/lib.d.ts", - "./file2.ts", - "./random.d.ts" - ], "latestChangedDtsFile": "./file2.d.ts" }, "version": "FakeTSVersion", - "size": 1025 + "size": 988 } diff --git a/tests/baselines/reference/tsbuild/roots/when-multiple-root-files-are-consecutive.js b/tests/baselines/reference/tsbuild/roots/when-multiple-root-files-are-consecutive.js index 5ea5372a44ac8..8ab91ae2513d0 100644 --- a/tests/baselines/reference/tsbuild/roots/when-multiple-root-files-are-consecutive.js +++ b/tests/baselines/reference/tsbuild/roots/when-multiple-root-files-are-consecutive.js @@ -41,12 +41,12 @@ export const y = "world"; Output:: /lib/tsc --b /src/tsconfig.json -v -[12:00:11 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:12 AM] Project 'src/tsconfig.json' is out of date because output file 'src/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/tsconfig.tsbuildinfo' does not exist -[12:00:13 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... exitCode:: ExitStatus.Success @@ -96,7 +96,7 @@ exports.y = "world"; //// [/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../lib/lib.d.ts","./file1.ts","./file2.ts","./file3.ts","./file4.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10637577098-export const x = \"hello\";","signature":"-6425002032-export declare const x = \"hello\";\n","impliedFormat":1},{"version":"-11520681045-export const y = \"world\";","signature":"-5502661211-export declare const y = \"world\";\n","impliedFormat":1},{"version":"-11520681045-export const y = \"world\";","signature":"-5502661211-export declare const y = \"world\";\n","impliedFormat":1},{"version":"-11520681045-export const y = \"world\";","signature":"-5502661211-export declare const y = \"world\";\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4,5],"latestChangedDtsFile":"./file4.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../lib/lib.d.ts","./file1.ts","./file2.ts","./file3.ts","./file4.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10637577098-export const x = \"hello\";","signature":"-6425002032-export declare const x = \"hello\";\n","impliedFormat":1},{"version":"-11520681045-export const y = \"world\";","signature":"-5502661211-export declare const y = \"world\";\n","impliedFormat":1},{"version":"-11520681045-export const y = \"world\";","signature":"-5502661211-export declare const y = \"world\";\n","impliedFormat":1},{"version":"-11520681045-export const y = \"world\";","signature":"-5502661211-export declare const y = \"world\";\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true},"latestChangedDtsFile":"./file4.d.ts"},"version":"FakeTSVersion"} //// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -178,18 +178,10 @@ exports.y = "world"; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../lib/lib.d.ts", - "./file1.ts", - "./file2.ts", - "./file3.ts", - "./file4.ts" - ], "latestChangedDtsFile": "./file4.d.ts" }, "version": "FakeTSVersion", - "size": 1324 + "size": 1264 } @@ -203,18 +195,18 @@ Input:: Output:: /lib/tsc --b /src/tsconfig.json -v -[12:00:28 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:29 AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/tsconfig.tsbuildinfo' indicates that file 'src/file1.ts' was root file of compilation but not any more. +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/tsconfig.tsbuildinfo' indicates that file 'src/file1.ts' was root file of compilation but not any more. -[12:00:30 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... exitCode:: ExitStatus.Success //// [/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../lib/lib.d.ts","./file2.ts","./file3.ts","./file4.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11520681045-export const y = \"world\";","signature":"-5502661211-export declare const y = \"world\";\n","impliedFormat":1},{"version":"-11520681045-export const y = \"world\";","signature":"-5502661211-export declare const y = \"world\";\n","impliedFormat":1},{"version":"-11520681045-export const y = \"world\";","signature":"-5502661211-export declare const y = \"world\";\n","impliedFormat":1}],"root":[[2,4]],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./file4.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../lib/lib.d.ts","./file2.ts","./file3.ts","./file4.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11520681045-export const y = \"world\";","signature":"-5502661211-export declare const y = \"world\";\n","impliedFormat":1},{"version":"-11520681045-export const y = \"world\";","signature":"-5502661211-export declare const y = \"world\";\n","impliedFormat":1},{"version":"-11520681045-export const y = \"world\";","signature":"-5502661211-export declare const y = \"world\";\n","impliedFormat":1}],"root":[[2,4]],"options":{"composite":true},"latestChangedDtsFile":"./file4.d.ts"},"version":"FakeTSVersion"} //// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -284,16 +276,9 @@ exitCode:: ExitStatus.Success "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../lib/lib.d.ts", - "./file2.ts", - "./file3.ts", - "./file4.ts" - ], "latestChangedDtsFile": "./file4.d.ts" }, "version": "FakeTSVersion", - "size": 1172 + "size": 1114 } diff --git a/tests/baselines/reference/tsbuild/roots/when-root-file-is-from-referenced-project-and-shared-is-first.js b/tests/baselines/reference/tsbuild/roots/when-root-file-is-from-referenced-project-and-shared-is-first.js new file mode 100644 index 0000000000000..5e48d47a21503 --- /dev/null +++ b/tests/baselines/reference/tsbuild/roots/when-root-file-is-from-referenced-project-and-shared-is-first.js @@ -0,0 +1,1141 @@ +currentDirectory:: /home/src/workspaces useCaseSensitiveFileNames: false +Input:: +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/home/src/workspaces/projects/server/src/server.ts] +import { MyClass } from ':shared/myClass.js'; +console.log('Hello, world!'); + + +//// [/home/src/workspaces/projects/server/tsconfig.json] +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "baseUrl": "./src", + "rootDir": "..", + "outDir": "./dist", + "paths": { + ":shared/*": [ + "../../shared/src/*" + ] + } + }, + "include": [ + "../shared/src/**/*.ts", + "src/**/*.ts" + ], + "references": [ + { + "path": "../shared" + } + ] +} + +//// [/home/src/workspaces/projects/shared/src/logging.ts] +export function log(str: string) { + console.log(str); +} + + +//// [/home/src/workspaces/projects/shared/src/myClass.ts] +export class MyClass { } + +//// [/home/src/workspaces/projects/shared/src/random.ts] +export function randomFn(str: string) { + console.log(str); +} + + +//// [/home/src/workspaces/projects/shared/tsconfig.json] +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "./dist" + }, + "include": [ + "src/**/*.ts" + ] +} + +//// [/home/src/workspaces/tsconfig.json] +{ + "compilerOptions": { + "composite": true + }, + "references": [ + { + "path": "projects/server" + }, + { + "path": "projects/shared" + } + ] +} + +//// [/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + + + +Output:: +/lib/tsc --b projects/server -v --traceResolution --explainFiles +[HH:MM:SS AM] Projects in this build: + * projects/shared/tsconfig.json + * projects/server/tsconfig.json + +[HH:MM:SS AM] Project 'projects/shared/tsconfig.json' is out of date because output file 'projects/shared/dist/tsconfig.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/home/src/workspaces/projects/shared/tsconfig.json'... + +File '/home/src/workspaces/projects/shared/src/package.json' does not exist. +File '/home/src/workspaces/projects/shared/package.json' does not exist. +File '/home/src/workspaces/projects/package.json' does not exist. +File '/home/src/workspaces/package.json' does not exist. +File '/home/src/package.json' does not exist. +File '/home/package.json' does not exist. +File '/package.json' does not exist. +File '/home/src/workspaces/projects/shared/src/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/src/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/lib/package.json' does not exist. +File '/package.json' does not exist according to earlier cached lookups. +../../../lib/lib.d.ts + Default library for target 'es5' +projects/shared/src/logging.ts + Matched by include pattern 'src/**/*.ts' in 'projects/shared/tsconfig.json' +projects/shared/src/myClass.ts + Matched by include pattern 'src/**/*.ts' in 'projects/shared/tsconfig.json' +projects/shared/src/random.ts + Matched by include pattern 'src/**/*.ts' in 'projects/shared/tsconfig.json' +[HH:MM:SS AM] Project 'projects/server/tsconfig.json' is out of date because output file 'projects/server/dist/server/tsconfig.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/home/src/workspaces/projects/server/tsconfig.json'... + +File '/home/src/workspaces/projects/shared/dist/src/package.json' does not exist. +File '/home/src/workspaces/projects/shared/dist/package.json' does not exist. +File '/home/src/workspaces/projects/shared/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/dist/src/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/dist/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/dist/src/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/dist/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/server/src/package.json' does not exist. +File '/home/src/workspaces/projects/server/package.json' does not exist. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +======== Resolving module ':shared/myClass.js' from '/home/src/workspaces/projects/server/src/server.ts'. ======== +Module resolution kind is not specified, using 'Node10'. +'baseUrl' option is set to '/home/src/workspaces/projects/server/src', using this value to resolve non-relative module name ':shared/myClass.js'. +'paths' option is specified, looking for a pattern to match module name ':shared/myClass.js'. +Module name ':shared/myClass.js', matched pattern ':shared/*'. +Trying substitution '../../shared/src/*', candidate module location: '../../shared/src/myClass.js'. +Loading module as file / folder, candidate module location '/home/src/workspaces/projects/shared/src/myClass.js', target file types: TypeScript, Declaration. +File name '/home/src/workspaces/projects/shared/src/myClass.js' has a '.js' extension - stripping it. +File '/home/src/workspaces/projects/shared/src/myClass.ts' exists - use it as a name resolution result. +======== Module name ':shared/myClass.js' was successfully resolved to '/home/src/workspaces/projects/shared/src/myClass.ts'. ======== +File '/lib/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +../../../lib/lib.d.ts + Default library for target 'es5' +projects/shared/dist/src/logging.d.ts + Matched by include pattern '../shared/src/**/*.ts' in 'projects/server/tsconfig.json' + File is output of project reference source 'projects/shared/src/logging.ts' +projects/shared/dist/src/myClass.d.ts + Matched by include pattern '../shared/src/**/*.ts' in 'projects/server/tsconfig.json' + Imported via ':shared/myClass.js' from file 'projects/server/src/server.ts' + File is output of project reference source 'projects/shared/src/myClass.ts' +projects/shared/dist/src/random.d.ts + Matched by include pattern '../shared/src/**/*.ts' in 'projects/server/tsconfig.json' + File is output of project reference source 'projects/shared/src/random.ts' +projects/server/src/server.ts + Matched by include pattern 'src/**/*.ts' in 'projects/server/tsconfig.json' +exitCode:: ExitStatus.Success + + +//// [/home/src/workspaces/projects/server/dist/server/src/server.d.ts] +export {}; + + +//// [/home/src/workspaces/projects/server/dist/server/src/server.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +console.log('Hello, world!'); + + +//// [/home/src/workspaces/projects/server/dist/server/tsconfig.tsbuildinfo] +{"program":{"fileNames":["../../../../../../../lib/lib.d.ts","../../../shared/dist/src/logging.d.ts","../../../shared/dist/src/myclass.d.ts","../../../shared/dist/src/random.d.ts","../../src/server.ts","../../../shared/src/logging.ts","../../../shared/src/myclass.ts","../../../shared/src/random.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"2292560907-export declare function log(str: string): void;\n","impliedFormat":1},{"version":"-7943199723-export declare class MyClass {\n}\n","impliedFormat":1},{"version":"-1751303682-export declare function randomFn(str: string): void;\n","impliedFormat":1},{"version":"-19159694382-import { MyClass } from ':shared/myClass.js';\nconsole.log('Hello, world!');\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,5]],"resolvedRoot":[[2,6],[3,7],[4,8]],"options":{"composite":true,"outDir":"..","rootDir":"../../.."},"fileIdsList":[[3]],"referencedMap":[[5,1]],"latestChangedDtsFile":"./src/server.d.ts"},"version":"FakeTSVersion"} + +//// [/home/src/workspaces/projects/server/dist/server/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../../../../../lib/lib.d.ts", + "../../../shared/dist/src/logging.d.ts", + "../../../shared/dist/src/myclass.d.ts", + "../../../shared/dist/src/random.d.ts", + "../../src/server.ts", + "../../../shared/src/logging.ts", + "../../../shared/src/myclass.ts", + "../../../shared/src/random.ts" + ], + "fileNamesList": [ + [ + "../../../shared/dist/src/myclass.d.ts" + ] + ], + "fileInfos": { + "../../../../../../../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "../../../shared/dist/src/logging.d.ts": { + "original": { + "version": "2292560907-export declare function log(str: string): void;\n", + "impliedFormat": 1 + }, + "version": "2292560907-export declare function log(str: string): void;\n", + "signature": "2292560907-export declare function log(str: string): void;\n", + "impliedFormat": "commonjs" + }, + "../../../shared/dist/src/myclass.d.ts": { + "original": { + "version": "-7943199723-export declare class MyClass {\n}\n", + "impliedFormat": 1 + }, + "version": "-7943199723-export declare class MyClass {\n}\n", + "signature": "-7943199723-export declare class MyClass {\n}\n", + "impliedFormat": "commonjs" + }, + "../../../shared/dist/src/random.d.ts": { + "original": { + "version": "-1751303682-export declare function randomFn(str: string): void;\n", + "impliedFormat": 1 + }, + "version": "-1751303682-export declare function randomFn(str: string): void;\n", + "signature": "-1751303682-export declare function randomFn(str: string): void;\n", + "impliedFormat": "commonjs" + }, + "../../src/server.ts": { + "original": { + "version": "-19159694382-import { MyClass } from ':shared/myClass.js';\nconsole.log('Hello, world!');\n", + "signature": "-3531856636-export {};\n", + "impliedFormat": 1 + }, + "version": "-19159694382-import { MyClass } from ':shared/myClass.js';\nconsole.log('Hello, world!');\n", + "signature": "-3531856636-export {};\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 5 + ], + [ + "../../../shared/dist/src/logging.d.ts", + "../../../shared/dist/src/myclass.d.ts", + "../../../shared/dist/src/random.d.ts", + "../../src/server.ts" + ] + ] + ], + "resolvedRoot": [ + [ + [ + 2, + 6 + ], + [ + "../../../shared/dist/src/logging.d.ts", + "../../../shared/src/logging.ts" + ] + ], + [ + [ + 3, + 7 + ], + [ + "../../../shared/dist/src/myclass.d.ts", + "../../../shared/src/myclass.ts" + ] + ], + [ + [ + 4, + 8 + ], + [ + "../../../shared/dist/src/random.d.ts", + "../../../shared/src/random.ts" + ] + ] + ], + "options": { + "composite": true, + "outDir": "..", + "rootDir": "../../.." + }, + "referencedMap": { + "../../src/server.ts": [ + "../../../shared/dist/src/myclass.d.ts" + ] + }, + "latestChangedDtsFile": "./src/server.d.ts" + }, + "version": "FakeTSVersion", + "size": 1475 +} + +//// [/home/src/workspaces/projects/shared/dist/src/logging.d.ts] +export declare function log(str: string): void; + + +//// [/home/src/workspaces/projects/shared/dist/src/logging.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.log = log; +function log(str) { + console.log(str); +} + + +//// [/home/src/workspaces/projects/shared/dist/src/myClass.d.ts] +export declare class MyClass { +} + + +//// [/home/src/workspaces/projects/shared/dist/src/myClass.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.MyClass = void 0; +var MyClass = /** @class */ (function () { + function MyClass() { + } + return MyClass; +}()); +exports.MyClass = MyClass; + + +//// [/home/src/workspaces/projects/shared/dist/src/random.d.ts] +export declare function randomFn(str: string): void; + + +//// [/home/src/workspaces/projects/shared/dist/src/random.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.randomFn = randomFn; +function randomFn(str) { + console.log(str); +} + + +//// [/home/src/workspaces/projects/shared/dist/tsconfig.tsbuildinfo] +{"program":{"fileNames":["../../../../../../lib/lib.d.ts","../src/logging.ts","../src/myclass.ts","../src/random.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-1222780632-export function log(str: string) {\n console.log(str);\n}\n","signature":"2292560907-export declare function log(str: string): void;\n","impliedFormat":1},{"version":"-10369713935-export class MyClass { }","signature":"-7943199723-export declare class MyClass {\n}\n","impliedFormat":1},{"version":"4380863035-export function randomFn(str: string) {\n console.log(str);\n}\n","signature":"-1751303682-export declare function randomFn(str: string): void;\n","impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"outDir":"./"},"latestChangedDtsFile":"./src/random.d.ts"},"version":"FakeTSVersion"} + +//// [/home/src/workspaces/projects/shared/dist/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../../../../lib/lib.d.ts", + "../src/logging.ts", + "../src/myclass.ts", + "../src/random.ts" + ], + "fileInfos": { + "../../../../../../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "../src/logging.ts": { + "original": { + "version": "-1222780632-export function log(str: string) {\n console.log(str);\n}\n", + "signature": "2292560907-export declare function log(str: string): void;\n", + "impliedFormat": 1 + }, + "version": "-1222780632-export function log(str: string) {\n console.log(str);\n}\n", + "signature": "2292560907-export declare function log(str: string): void;\n", + "impliedFormat": "commonjs" + }, + "../src/myclass.ts": { + "original": { + "version": "-10369713935-export class MyClass { }", + "signature": "-7943199723-export declare class MyClass {\n}\n", + "impliedFormat": 1 + }, + "version": "-10369713935-export class MyClass { }", + "signature": "-7943199723-export declare class MyClass {\n}\n", + "impliedFormat": "commonjs" + }, + "../src/random.ts": { + "original": { + "version": "4380863035-export function randomFn(str: string) {\n console.log(str);\n}\n", + "signature": "-1751303682-export declare function randomFn(str: string): void;\n", + "impliedFormat": 1 + }, + "version": "4380863035-export function randomFn(str: string) {\n console.log(str);\n}\n", + "signature": "-1751303682-export declare function randomFn(str: string): void;\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 4 + ], + [ + "../src/logging.ts", + "../src/myclass.ts", + "../src/random.ts" + ] + ] + ], + "options": { + "composite": true, + "outDir": "./" + }, + "latestChangedDtsFile": "./src/random.d.ts" + }, + "version": "FakeTSVersion", + "size": 1263 +} + + + +Change:: no-change-run +Input:: + + +Output:: +/lib/tsc --b projects/server -v --traceResolution --explainFiles +[HH:MM:SS AM] Projects in this build: + * projects/shared/tsconfig.json + * projects/server/tsconfig.json + +[HH:MM:SS AM] Project 'projects/shared/tsconfig.json' is up to date because newest input 'projects/shared/src/random.ts' is older than output 'projects/shared/dist/tsconfig.tsbuildinfo' + +[HH:MM:SS AM] Project 'projects/server/tsconfig.json' is up to date because newest input 'projects/server/src/server.ts' is older than output 'projects/server/dist/server/tsconfig.tsbuildinfo' + +exitCode:: ExitStatus.Success + + + + +Change:: edit logging file +Input:: +//// [/home/src/workspaces/projects/shared/src/logging.ts] +export function log(str: string) { + console.log(str); +} +export const x = 10; + + + +Output:: +/lib/tsc --b projects/server -v --traceResolution --explainFiles +[HH:MM:SS AM] Projects in this build: + * projects/shared/tsconfig.json + * projects/server/tsconfig.json + +[HH:MM:SS AM] Project 'projects/shared/tsconfig.json' is out of date because output 'projects/shared/dist/tsconfig.tsbuildinfo' is older than input 'projects/shared/src/logging.ts' + +[HH:MM:SS AM] Building project '/home/src/workspaces/projects/shared/tsconfig.json'... + +File '/home/src/workspaces/projects/shared/src/package.json' does not exist. +File '/home/src/workspaces/projects/shared/package.json' does not exist. +File '/home/src/workspaces/projects/package.json' does not exist. +File '/home/src/workspaces/package.json' does not exist. +File '/home/src/package.json' does not exist. +File '/home/package.json' does not exist. +File '/package.json' does not exist. +File '/home/src/workspaces/projects/shared/src/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/src/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/lib/package.json' does not exist. +File '/package.json' does not exist according to earlier cached lookups. +../../../lib/lib.d.ts + Default library for target 'es5' +projects/shared/src/logging.ts + Matched by include pattern 'src/**/*.ts' in 'projects/shared/tsconfig.json' +projects/shared/src/myClass.ts + Matched by include pattern 'src/**/*.ts' in 'projects/shared/tsconfig.json' +projects/shared/src/random.ts + Matched by include pattern 'src/**/*.ts' in 'projects/shared/tsconfig.json' +[HH:MM:SS AM] Project 'projects/server/tsconfig.json' is out of date because output 'projects/server/dist/server/tsconfig.tsbuildinfo' is older than input 'projects/shared/src/logging.ts' + +[HH:MM:SS AM] Building project '/home/src/workspaces/projects/server/tsconfig.json'... + +File '/home/src/workspaces/projects/shared/dist/src/package.json' does not exist. +File '/home/src/workspaces/projects/shared/dist/package.json' does not exist. +File '/home/src/workspaces/projects/shared/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/dist/src/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/dist/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/dist/src/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/dist/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/server/src/package.json' does not exist. +File '/home/src/workspaces/projects/server/package.json' does not exist. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +======== Resolving module ':shared/myClass.js' from '/home/src/workspaces/projects/server/src/server.ts'. ======== +Module resolution kind is not specified, using 'Node10'. +'baseUrl' option is set to '/home/src/workspaces/projects/server/src', using this value to resolve non-relative module name ':shared/myClass.js'. +'paths' option is specified, looking for a pattern to match module name ':shared/myClass.js'. +Module name ':shared/myClass.js', matched pattern ':shared/*'. +Trying substitution '../../shared/src/*', candidate module location: '../../shared/src/myClass.js'. +Loading module as file / folder, candidate module location '/home/src/workspaces/projects/shared/src/myClass.js', target file types: TypeScript, Declaration. +File name '/home/src/workspaces/projects/shared/src/myClass.js' has a '.js' extension - stripping it. +File '/home/src/workspaces/projects/shared/src/myClass.ts' exists - use it as a name resolution result. +======== Module name ':shared/myClass.js' was successfully resolved to '/home/src/workspaces/projects/shared/src/myClass.ts'. ======== +File '/lib/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +../../../lib/lib.d.ts + Default library for target 'es5' +projects/shared/dist/src/logging.d.ts + Matched by include pattern '../shared/src/**/*.ts' in 'projects/server/tsconfig.json' + File is output of project reference source 'projects/shared/src/logging.ts' +projects/shared/dist/src/myClass.d.ts + Matched by include pattern '../shared/src/**/*.ts' in 'projects/server/tsconfig.json' + Imported via ':shared/myClass.js' from file 'projects/server/src/server.ts' + File is output of project reference source 'projects/shared/src/myClass.ts' +projects/shared/dist/src/random.d.ts + Matched by include pattern '../shared/src/**/*.ts' in 'projects/server/tsconfig.json' + File is output of project reference source 'projects/shared/src/random.ts' +projects/server/src/server.ts + Matched by include pattern 'src/**/*.ts' in 'projects/server/tsconfig.json' +exitCode:: ExitStatus.Success + + +//// [/home/src/workspaces/projects/server/dist/server/tsconfig.tsbuildinfo] +{"program":{"fileNames":["../../../../../../../lib/lib.d.ts","../../../shared/dist/src/logging.d.ts","../../../shared/dist/src/myclass.d.ts","../../../shared/dist/src/random.d.ts","../../src/server.ts","../../../shared/src/logging.ts","../../../shared/src/myclass.ts","../../../shared/src/random.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n","impliedFormat":1},{"version":"-7943199723-export declare class MyClass {\n}\n","impliedFormat":1},{"version":"-1751303682-export declare function randomFn(str: string): void;\n","impliedFormat":1},{"version":"-19159694382-import { MyClass } from ':shared/myClass.js';\nconsole.log('Hello, world!');\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,5]],"resolvedRoot":[[2,6],[3,7],[4,8]],"options":{"composite":true,"outDir":"..","rootDir":"../../.."},"fileIdsList":[[3]],"referencedMap":[[5,1]],"latestChangedDtsFile":"./src/server.d.ts"},"version":"FakeTSVersion"} + +//// [/home/src/workspaces/projects/server/dist/server/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../../../../../lib/lib.d.ts", + "../../../shared/dist/src/logging.d.ts", + "../../../shared/dist/src/myclass.d.ts", + "../../../shared/dist/src/random.d.ts", + "../../src/server.ts", + "../../../shared/src/logging.ts", + "../../../shared/src/myclass.ts", + "../../../shared/src/random.ts" + ], + "fileNamesList": [ + [ + "../../../shared/dist/src/myclass.d.ts" + ] + ], + "fileInfos": { + "../../../../../../../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "../../../shared/dist/src/logging.d.ts": { + "original": { + "version": "-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n", + "impliedFormat": 1 + }, + "version": "-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n", + "signature": "-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n", + "impliedFormat": "commonjs" + }, + "../../../shared/dist/src/myclass.d.ts": { + "original": { + "version": "-7943199723-export declare class MyClass {\n}\n", + "impliedFormat": 1 + }, + "version": "-7943199723-export declare class MyClass {\n}\n", + "signature": "-7943199723-export declare class MyClass {\n}\n", + "impliedFormat": "commonjs" + }, + "../../../shared/dist/src/random.d.ts": { + "original": { + "version": "-1751303682-export declare function randomFn(str: string): void;\n", + "impliedFormat": 1 + }, + "version": "-1751303682-export declare function randomFn(str: string): void;\n", + "signature": "-1751303682-export declare function randomFn(str: string): void;\n", + "impliedFormat": "commonjs" + }, + "../../src/server.ts": { + "original": { + "version": "-19159694382-import { MyClass } from ':shared/myClass.js';\nconsole.log('Hello, world!');\n", + "signature": "-3531856636-export {};\n", + "impliedFormat": 1 + }, + "version": "-19159694382-import { MyClass } from ':shared/myClass.js';\nconsole.log('Hello, world!');\n", + "signature": "-3531856636-export {};\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 5 + ], + [ + "../../../shared/dist/src/logging.d.ts", + "../../../shared/dist/src/myclass.d.ts", + "../../../shared/dist/src/random.d.ts", + "../../src/server.ts" + ] + ] + ], + "resolvedRoot": [ + [ + [ + 2, + 6 + ], + [ + "../../../shared/dist/src/logging.d.ts", + "../../../shared/src/logging.ts" + ] + ], + [ + [ + 3, + 7 + ], + [ + "../../../shared/dist/src/myclass.d.ts", + "../../../shared/src/myclass.ts" + ] + ], + [ + [ + 4, + 8 + ], + [ + "../../../shared/dist/src/random.d.ts", + "../../../shared/src/random.ts" + ] + ] + ], + "options": { + "composite": true, + "outDir": "..", + "rootDir": "../../.." + }, + "referencedMap": { + "../../src/server.ts": [ + "../../../shared/dist/src/myclass.d.ts" + ] + }, + "latestChangedDtsFile": "./src/server.d.ts" + }, + "version": "FakeTSVersion", + "size": 1506 +} + +//// [/home/src/workspaces/projects/shared/dist/src/logging.d.ts] +export declare function log(str: string): void; +export declare const x = 10; + + +//// [/home/src/workspaces/projects/shared/dist/src/logging.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.x = void 0; +exports.log = log; +function log(str) { + console.log(str); +} +exports.x = 10; + + +//// [/home/src/workspaces/projects/shared/dist/tsconfig.tsbuildinfo] +{"program":{"fileNames":["../../../../../../lib/lib.d.ts","../src/logging.ts","../src/myclass.ts","../src/random.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"483739938-export function log(str: string) {\n console.log(str);\n}\nexport const x = 10;","signature":"-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n","impliedFormat":1},{"version":"-10369713935-export class MyClass { }","signature":"-7943199723-export declare class MyClass {\n}\n","impliedFormat":1},{"version":"4380863035-export function randomFn(str: string) {\n console.log(str);\n}\n","signature":"-1751303682-export declare function randomFn(str: string): void;\n","impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"outDir":"./"},"latestChangedDtsFile":"./src/logging.d.ts"},"version":"FakeTSVersion"} + +//// [/home/src/workspaces/projects/shared/dist/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../../../../lib/lib.d.ts", + "../src/logging.ts", + "../src/myclass.ts", + "../src/random.ts" + ], + "fileInfos": { + "../../../../../../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "../src/logging.ts": { + "original": { + "version": "483739938-export function log(str: string) {\n console.log(str);\n}\nexport const x = 10;", + "signature": "-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n", + "impliedFormat": 1 + }, + "version": "483739938-export function log(str: string) {\n console.log(str);\n}\nexport const x = 10;", + "signature": "-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n", + "impliedFormat": "commonjs" + }, + "../src/myclass.ts": { + "original": { + "version": "-10369713935-export class MyClass { }", + "signature": "-7943199723-export declare class MyClass {\n}\n", + "impliedFormat": 1 + }, + "version": "-10369713935-export class MyClass { }", + "signature": "-7943199723-export declare class MyClass {\n}\n", + "impliedFormat": "commonjs" + }, + "../src/random.ts": { + "original": { + "version": "4380863035-export function randomFn(str: string) {\n console.log(str);\n}\n", + "signature": "-1751303682-export declare function randomFn(str: string): void;\n", + "impliedFormat": 1 + }, + "version": "4380863035-export function randomFn(str: string) {\n console.log(str);\n}\n", + "signature": "-1751303682-export declare function randomFn(str: string): void;\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 4 + ], + [ + "../src/logging.ts", + "../src/myclass.ts", + "../src/random.ts" + ] + ] + ], + "options": { + "composite": true, + "outDir": "./" + }, + "latestChangedDtsFile": "./src/logging.d.ts" + }, + "version": "FakeTSVersion", + "size": 1313 +} + + + +Change:: no-change-run +Input:: + + +Output:: +/lib/tsc --b projects/server -v --traceResolution --explainFiles +[HH:MM:SS AM] Projects in this build: + * projects/shared/tsconfig.json + * projects/server/tsconfig.json + +[HH:MM:SS AM] Project 'projects/shared/tsconfig.json' is up to date because newest input 'projects/shared/src/logging.ts' is older than output 'projects/shared/dist/tsconfig.tsbuildinfo' + +[HH:MM:SS AM] Project 'projects/server/tsconfig.json' is up to date because newest input 'projects/shared/src/logging.ts' is older than output 'projects/server/dist/server/tsconfig.tsbuildinfo' + +exitCode:: ExitStatus.Success + + + + +Change:: delete random file +Input:: +//// [/home/src/workspaces/projects/shared/src/random.ts] unlink + + +Output:: +/lib/tsc --b projects/server -v --traceResolution --explainFiles +[HH:MM:SS AM] Projects in this build: + * projects/shared/tsconfig.json + * projects/server/tsconfig.json + +[HH:MM:SS AM] Project 'projects/shared/tsconfig.json' is out of date because buildinfo file 'projects/shared/dist/tsconfig.tsbuildinfo' indicates that file 'projects/shared/src/random.ts' was root file of compilation but not any more. + +[HH:MM:SS AM] Building project '/home/src/workspaces/projects/shared/tsconfig.json'... + +File '/home/src/workspaces/projects/shared/src/package.json' does not exist. +File '/home/src/workspaces/projects/shared/package.json' does not exist. +File '/home/src/workspaces/projects/package.json' does not exist. +File '/home/src/workspaces/package.json' does not exist. +File '/home/src/package.json' does not exist. +File '/home/package.json' does not exist. +File '/package.json' does not exist. +File '/home/src/workspaces/projects/shared/src/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/lib/package.json' does not exist. +File '/package.json' does not exist according to earlier cached lookups. +../../../lib/lib.d.ts + Default library for target 'es5' +projects/shared/src/logging.ts + Matched by include pattern 'src/**/*.ts' in 'projects/shared/tsconfig.json' +projects/shared/src/myClass.ts + Matched by include pattern 'src/**/*.ts' in 'projects/shared/tsconfig.json' +[HH:MM:SS AM] Project 'projects/server/tsconfig.json' is out of date because buildinfo file 'projects/server/dist/server/tsconfig.tsbuildinfo' indicates that file 'projects/shared/src/random.ts' was root file of compilation but not any more. + +[HH:MM:SS AM] Building project '/home/src/workspaces/projects/server/tsconfig.json'... + +File '/home/src/workspaces/projects/shared/dist/src/package.json' does not exist. +File '/home/src/workspaces/projects/shared/dist/package.json' does not exist. +File '/home/src/workspaces/projects/shared/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/dist/src/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/dist/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/server/src/package.json' does not exist. +File '/home/src/workspaces/projects/server/package.json' does not exist. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +======== Resolving module ':shared/myClass.js' from '/home/src/workspaces/projects/server/src/server.ts'. ======== +Module resolution kind is not specified, using 'Node10'. +'baseUrl' option is set to '/home/src/workspaces/projects/server/src', using this value to resolve non-relative module name ':shared/myClass.js'. +'paths' option is specified, looking for a pattern to match module name ':shared/myClass.js'. +Module name ':shared/myClass.js', matched pattern ':shared/*'. +Trying substitution '../../shared/src/*', candidate module location: '../../shared/src/myClass.js'. +Loading module as file / folder, candidate module location '/home/src/workspaces/projects/shared/src/myClass.js', target file types: TypeScript, Declaration. +File name '/home/src/workspaces/projects/shared/src/myClass.js' has a '.js' extension - stripping it. +File '/home/src/workspaces/projects/shared/src/myClass.ts' exists - use it as a name resolution result. +======== Module name ':shared/myClass.js' was successfully resolved to '/home/src/workspaces/projects/shared/src/myClass.ts'. ======== +File '/lib/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +../../../lib/lib.d.ts + Default library for target 'es5' +projects/shared/dist/src/logging.d.ts + Matched by include pattern '../shared/src/**/*.ts' in 'projects/server/tsconfig.json' + File is output of project reference source 'projects/shared/src/logging.ts' +projects/shared/dist/src/myClass.d.ts + Matched by include pattern '../shared/src/**/*.ts' in 'projects/server/tsconfig.json' + Imported via ':shared/myClass.js' from file 'projects/server/src/server.ts' + File is output of project reference source 'projects/shared/src/myClass.ts' +projects/server/src/server.ts + Matched by include pattern 'src/**/*.ts' in 'projects/server/tsconfig.json' +exitCode:: ExitStatus.Success + + +//// [/home/src/workspaces/projects/server/dist/server/tsconfig.tsbuildinfo] +{"program":{"fileNames":["../../../../../../../lib/lib.d.ts","../../../shared/dist/src/logging.d.ts","../../../shared/dist/src/myclass.d.ts","../../src/server.ts","../../../shared/src/logging.ts","../../../shared/src/myclass.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n","impliedFormat":1},{"version":"-7943199723-export declare class MyClass {\n}\n","impliedFormat":1},{"version":"-19159694382-import { MyClass } from ':shared/myClass.js';\nconsole.log('Hello, world!');\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"resolvedRoot":[[2,5],[3,6]],"options":{"composite":true,"outDir":"..","rootDir":"../../.."},"fileIdsList":[[3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./src/server.d.ts"},"version":"FakeTSVersion"} + +//// [/home/src/workspaces/projects/server/dist/server/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../../../../../lib/lib.d.ts", + "../../../shared/dist/src/logging.d.ts", + "../../../shared/dist/src/myclass.d.ts", + "../../src/server.ts", + "../../../shared/src/logging.ts", + "../../../shared/src/myclass.ts" + ], + "fileNamesList": [ + [ + "../../../shared/dist/src/myclass.d.ts" + ] + ], + "fileInfos": { + "../../../../../../../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "../../../shared/dist/src/logging.d.ts": { + "original": { + "version": "-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n", + "impliedFormat": 1 + }, + "version": "-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n", + "signature": "-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n", + "impliedFormat": "commonjs" + }, + "../../../shared/dist/src/myclass.d.ts": { + "original": { + "version": "-7943199723-export declare class MyClass {\n}\n", + "impliedFormat": 1 + }, + "version": "-7943199723-export declare class MyClass {\n}\n", + "signature": "-7943199723-export declare class MyClass {\n}\n", + "impliedFormat": "commonjs" + }, + "../../src/server.ts": { + "original": { + "version": "-19159694382-import { MyClass } from ':shared/myClass.js';\nconsole.log('Hello, world!');\n", + "signature": "-3531856636-export {};\n", + "impliedFormat": 1 + }, + "version": "-19159694382-import { MyClass } from ':shared/myClass.js';\nconsole.log('Hello, world!');\n", + "signature": "-3531856636-export {};\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 4 + ], + [ + "../../../shared/dist/src/logging.d.ts", + "../../../shared/dist/src/myclass.d.ts", + "../../src/server.ts" + ] + ] + ], + "resolvedRoot": [ + [ + [ + 2, + 5 + ], + [ + "../../../shared/dist/src/logging.d.ts", + "../../../shared/src/logging.ts" + ] + ], + [ + [ + 3, + 6 + ], + [ + "../../../shared/dist/src/myclass.d.ts", + "../../../shared/src/myclass.ts" + ] + ] + ], + "options": { + "composite": true, + "outDir": "..", + "rootDir": "../../.." + }, + "referencedMap": { + "../../src/server.ts": [ + "../../../shared/dist/src/myclass.d.ts" + ] + }, + "latestChangedDtsFile": "./src/server.d.ts" + }, + "version": "FakeTSVersion", + "size": 1330 +} + +//// [/home/src/workspaces/projects/shared/dist/tsconfig.tsbuildinfo] +{"program":{"fileNames":["../../../../../../lib/lib.d.ts","../src/logging.ts","../src/myclass.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"483739938-export function log(str: string) {\n console.log(str);\n}\nexport const x = 10;","signature":"-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n","impliedFormat":1},{"version":"-10369713935-export class MyClass { }","signature":"-7943199723-export declare class MyClass {\n}\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"./"},"latestChangedDtsFile":"./src/logging.d.ts"},"version":"FakeTSVersion"} + +//// [/home/src/workspaces/projects/shared/dist/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../../../../lib/lib.d.ts", + "../src/logging.ts", + "../src/myclass.ts" + ], + "fileInfos": { + "../../../../../../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "../src/logging.ts": { + "original": { + "version": "483739938-export function log(str: string) {\n console.log(str);\n}\nexport const x = 10;", + "signature": "-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n", + "impliedFormat": 1 + }, + "version": "483739938-export function log(str: string) {\n console.log(str);\n}\nexport const x = 10;", + "signature": "-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n", + "impliedFormat": "commonjs" + }, + "../src/myclass.ts": { + "original": { + "version": "-10369713935-export class MyClass { }", + "signature": "-7943199723-export declare class MyClass {\n}\n", + "impliedFormat": 1 + }, + "version": "-10369713935-export class MyClass { }", + "signature": "-7943199723-export declare class MyClass {\n}\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + 2, + "../src/logging.ts" + ], + [ + 3, + "../src/myclass.ts" + ] + ], + "options": { + "composite": true, + "outDir": "./" + }, + "latestChangedDtsFile": "./src/logging.d.ts" + }, + "version": "FakeTSVersion", + "size": 1100 +} + + + +Change:: no-change-run +Input:: + + +Output:: +/lib/tsc --b projects/server -v --traceResolution --explainFiles +[HH:MM:SS AM] Projects in this build: + * projects/shared/tsconfig.json + * projects/server/tsconfig.json + +[HH:MM:SS AM] Project 'projects/shared/tsconfig.json' is up to date because newest input 'projects/shared/src/logging.ts' is older than output 'projects/shared/dist/tsconfig.tsbuildinfo' + +[HH:MM:SS AM] Project 'projects/server/tsconfig.json' is up to date because newest input 'projects/shared/src/logging.ts' is older than output 'projects/server/dist/server/tsconfig.tsbuildinfo' + +exitCode:: ExitStatus.Success + + diff --git a/tests/baselines/reference/tsbuild/roots/when-root-file-is-from-referenced-project.js b/tests/baselines/reference/tsbuild/roots/when-root-file-is-from-referenced-project.js new file mode 100644 index 0000000000000..f6cb9c4ef6db5 --- /dev/null +++ b/tests/baselines/reference/tsbuild/roots/when-root-file-is-from-referenced-project.js @@ -0,0 +1,1141 @@ +currentDirectory:: /home/src/workspaces useCaseSensitiveFileNames: false +Input:: +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/home/src/workspaces/projects/server/src/server.ts] +import { MyClass } from ':shared/myClass.js'; +console.log('Hello, world!'); + + +//// [/home/src/workspaces/projects/server/tsconfig.json] +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "baseUrl": "./src", + "rootDir": "..", + "outDir": "./dist", + "paths": { + ":shared/*": [ + "../../shared/src/*" + ] + } + }, + "include": [ + "src/**/*.ts", + "../shared/src/**/*.ts" + ], + "references": [ + { + "path": "../shared" + } + ] +} + +//// [/home/src/workspaces/projects/shared/src/logging.ts] +export function log(str: string) { + console.log(str); +} + + +//// [/home/src/workspaces/projects/shared/src/myClass.ts] +export class MyClass { } + +//// [/home/src/workspaces/projects/shared/src/random.ts] +export function randomFn(str: string) { + console.log(str); +} + + +//// [/home/src/workspaces/projects/shared/tsconfig.json] +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "./dist" + }, + "include": [ + "src/**/*.ts" + ] +} + +//// [/home/src/workspaces/tsconfig.json] +{ + "compilerOptions": { + "composite": true + }, + "references": [ + { + "path": "projects/server" + }, + { + "path": "projects/shared" + } + ] +} + +//// [/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + + + +Output:: +/lib/tsc --b projects/server -v --traceResolution --explainFiles +[HH:MM:SS AM] Projects in this build: + * projects/shared/tsconfig.json + * projects/server/tsconfig.json + +[HH:MM:SS AM] Project 'projects/shared/tsconfig.json' is out of date because output file 'projects/shared/dist/tsconfig.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/home/src/workspaces/projects/shared/tsconfig.json'... + +File '/home/src/workspaces/projects/shared/src/package.json' does not exist. +File '/home/src/workspaces/projects/shared/package.json' does not exist. +File '/home/src/workspaces/projects/package.json' does not exist. +File '/home/src/workspaces/package.json' does not exist. +File '/home/src/package.json' does not exist. +File '/home/package.json' does not exist. +File '/package.json' does not exist. +File '/home/src/workspaces/projects/shared/src/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/src/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/lib/package.json' does not exist. +File '/package.json' does not exist according to earlier cached lookups. +../../../lib/lib.d.ts + Default library for target 'es5' +projects/shared/src/logging.ts + Matched by include pattern 'src/**/*.ts' in 'projects/shared/tsconfig.json' +projects/shared/src/myClass.ts + Matched by include pattern 'src/**/*.ts' in 'projects/shared/tsconfig.json' +projects/shared/src/random.ts + Matched by include pattern 'src/**/*.ts' in 'projects/shared/tsconfig.json' +[HH:MM:SS AM] Project 'projects/server/tsconfig.json' is out of date because output file 'projects/server/dist/server/tsconfig.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/home/src/workspaces/projects/server/tsconfig.json'... + +File '/home/src/workspaces/projects/server/src/package.json' does not exist. +File '/home/src/workspaces/projects/server/package.json' does not exist. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +======== Resolving module ':shared/myClass.js' from '/home/src/workspaces/projects/server/src/server.ts'. ======== +Module resolution kind is not specified, using 'Node10'. +'baseUrl' option is set to '/home/src/workspaces/projects/server/src', using this value to resolve non-relative module name ':shared/myClass.js'. +'paths' option is specified, looking for a pattern to match module name ':shared/myClass.js'. +Module name ':shared/myClass.js', matched pattern ':shared/*'. +Trying substitution '../../shared/src/*', candidate module location: '../../shared/src/myClass.js'. +Loading module as file / folder, candidate module location '/home/src/workspaces/projects/shared/src/myClass.js', target file types: TypeScript, Declaration. +File name '/home/src/workspaces/projects/shared/src/myClass.js' has a '.js' extension - stripping it. +File '/home/src/workspaces/projects/shared/src/myClass.ts' exists - use it as a name resolution result. +======== Module name ':shared/myClass.js' was successfully resolved to '/home/src/workspaces/projects/shared/src/myClass.ts'. ======== +File '/home/src/workspaces/projects/shared/dist/src/package.json' does not exist. +File '/home/src/workspaces/projects/shared/dist/package.json' does not exist. +File '/home/src/workspaces/projects/shared/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/dist/src/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/dist/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/dist/src/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/dist/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/lib/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +../../../lib/lib.d.ts + Default library for target 'es5' +projects/shared/dist/src/myClass.d.ts + Imported via ':shared/myClass.js' from file 'projects/server/src/server.ts' + Matched by include pattern '../shared/src/**/*.ts' in 'projects/server/tsconfig.json' + File is output of project reference source 'projects/shared/src/myClass.ts' +projects/server/src/server.ts + Matched by include pattern 'src/**/*.ts' in 'projects/server/tsconfig.json' +projects/shared/dist/src/logging.d.ts + Matched by include pattern '../shared/src/**/*.ts' in 'projects/server/tsconfig.json' + File is output of project reference source 'projects/shared/src/logging.ts' +projects/shared/dist/src/random.d.ts + Matched by include pattern '../shared/src/**/*.ts' in 'projects/server/tsconfig.json' + File is output of project reference source 'projects/shared/src/random.ts' +exitCode:: ExitStatus.Success + + +//// [/home/src/workspaces/projects/server/dist/server/src/server.d.ts] +export {}; + + +//// [/home/src/workspaces/projects/server/dist/server/src/server.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +console.log('Hello, world!'); + + +//// [/home/src/workspaces/projects/server/dist/server/tsconfig.tsbuildinfo] +{"program":{"fileNames":["../../../../../../../lib/lib.d.ts","../../../shared/dist/src/myclass.d.ts","../../src/server.ts","../../../shared/dist/src/logging.d.ts","../../../shared/dist/src/random.d.ts","../../../shared/src/logging.ts","../../../shared/src/myclass.ts","../../../shared/src/random.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7943199723-export declare class MyClass {\n}\n","impliedFormat":1},{"version":"-19159694382-import { MyClass } from ':shared/myClass.js';\nconsole.log('Hello, world!');\n","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"2292560907-export declare function log(str: string): void;\n","impliedFormat":1},{"version":"-1751303682-export declare function randomFn(str: string): void;\n","impliedFormat":1}],"root":[[2,5]],"resolvedRoot":[[4,6],[2,7],[5,8]],"options":{"composite":true,"outDir":"..","rootDir":"../../.."},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./src/server.d.ts"},"version":"FakeTSVersion"} + +//// [/home/src/workspaces/projects/server/dist/server/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../../../../../lib/lib.d.ts", + "../../../shared/dist/src/myclass.d.ts", + "../../src/server.ts", + "../../../shared/dist/src/logging.d.ts", + "../../../shared/dist/src/random.d.ts", + "../../../shared/src/logging.ts", + "../../../shared/src/myclass.ts", + "../../../shared/src/random.ts" + ], + "fileNamesList": [ + [ + "../../../shared/dist/src/myclass.d.ts" + ] + ], + "fileInfos": { + "../../../../../../../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "../../../shared/dist/src/myclass.d.ts": { + "original": { + "version": "-7943199723-export declare class MyClass {\n}\n", + "impliedFormat": 1 + }, + "version": "-7943199723-export declare class MyClass {\n}\n", + "signature": "-7943199723-export declare class MyClass {\n}\n", + "impliedFormat": "commonjs" + }, + "../../src/server.ts": { + "original": { + "version": "-19159694382-import { MyClass } from ':shared/myClass.js';\nconsole.log('Hello, world!');\n", + "signature": "-3531856636-export {};\n", + "impliedFormat": 1 + }, + "version": "-19159694382-import { MyClass } from ':shared/myClass.js';\nconsole.log('Hello, world!');\n", + "signature": "-3531856636-export {};\n", + "impliedFormat": "commonjs" + }, + "../../../shared/dist/src/logging.d.ts": { + "original": { + "version": "2292560907-export declare function log(str: string): void;\n", + "impliedFormat": 1 + }, + "version": "2292560907-export declare function log(str: string): void;\n", + "signature": "2292560907-export declare function log(str: string): void;\n", + "impliedFormat": "commonjs" + }, + "../../../shared/dist/src/random.d.ts": { + "original": { + "version": "-1751303682-export declare function randomFn(str: string): void;\n", + "impliedFormat": 1 + }, + "version": "-1751303682-export declare function randomFn(str: string): void;\n", + "signature": "-1751303682-export declare function randomFn(str: string): void;\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 5 + ], + [ + "../../../shared/dist/src/myclass.d.ts", + "../../src/server.ts", + "../../../shared/dist/src/logging.d.ts", + "../../../shared/dist/src/random.d.ts" + ] + ] + ], + "resolvedRoot": [ + [ + [ + 4, + 6 + ], + [ + "../../../shared/dist/src/logging.d.ts", + "../../../shared/src/logging.ts" + ] + ], + [ + [ + 2, + 7 + ], + [ + "../../../shared/dist/src/myclass.d.ts", + "../../../shared/src/myclass.ts" + ] + ], + [ + [ + 5, + 8 + ], + [ + "../../../shared/dist/src/random.d.ts", + "../../../shared/src/random.ts" + ] + ] + ], + "options": { + "composite": true, + "outDir": "..", + "rootDir": "../../.." + }, + "referencedMap": { + "../../src/server.ts": [ + "../../../shared/dist/src/myclass.d.ts" + ] + }, + "latestChangedDtsFile": "./src/server.d.ts" + }, + "version": "FakeTSVersion", + "size": 1475 +} + +//// [/home/src/workspaces/projects/shared/dist/src/logging.d.ts] +export declare function log(str: string): void; + + +//// [/home/src/workspaces/projects/shared/dist/src/logging.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.log = log; +function log(str) { + console.log(str); +} + + +//// [/home/src/workspaces/projects/shared/dist/src/myClass.d.ts] +export declare class MyClass { +} + + +//// [/home/src/workspaces/projects/shared/dist/src/myClass.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.MyClass = void 0; +var MyClass = /** @class */ (function () { + function MyClass() { + } + return MyClass; +}()); +exports.MyClass = MyClass; + + +//// [/home/src/workspaces/projects/shared/dist/src/random.d.ts] +export declare function randomFn(str: string): void; + + +//// [/home/src/workspaces/projects/shared/dist/src/random.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.randomFn = randomFn; +function randomFn(str) { + console.log(str); +} + + +//// [/home/src/workspaces/projects/shared/dist/tsconfig.tsbuildinfo] +{"program":{"fileNames":["../../../../../../lib/lib.d.ts","../src/logging.ts","../src/myclass.ts","../src/random.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-1222780632-export function log(str: string) {\n console.log(str);\n}\n","signature":"2292560907-export declare function log(str: string): void;\n","impliedFormat":1},{"version":"-10369713935-export class MyClass { }","signature":"-7943199723-export declare class MyClass {\n}\n","impliedFormat":1},{"version":"4380863035-export function randomFn(str: string) {\n console.log(str);\n}\n","signature":"-1751303682-export declare function randomFn(str: string): void;\n","impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"outDir":"./"},"latestChangedDtsFile":"./src/random.d.ts"},"version":"FakeTSVersion"} + +//// [/home/src/workspaces/projects/shared/dist/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../../../../lib/lib.d.ts", + "../src/logging.ts", + "../src/myclass.ts", + "../src/random.ts" + ], + "fileInfos": { + "../../../../../../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "../src/logging.ts": { + "original": { + "version": "-1222780632-export function log(str: string) {\n console.log(str);\n}\n", + "signature": "2292560907-export declare function log(str: string): void;\n", + "impliedFormat": 1 + }, + "version": "-1222780632-export function log(str: string) {\n console.log(str);\n}\n", + "signature": "2292560907-export declare function log(str: string): void;\n", + "impliedFormat": "commonjs" + }, + "../src/myclass.ts": { + "original": { + "version": "-10369713935-export class MyClass { }", + "signature": "-7943199723-export declare class MyClass {\n}\n", + "impliedFormat": 1 + }, + "version": "-10369713935-export class MyClass { }", + "signature": "-7943199723-export declare class MyClass {\n}\n", + "impliedFormat": "commonjs" + }, + "../src/random.ts": { + "original": { + "version": "4380863035-export function randomFn(str: string) {\n console.log(str);\n}\n", + "signature": "-1751303682-export declare function randomFn(str: string): void;\n", + "impliedFormat": 1 + }, + "version": "4380863035-export function randomFn(str: string) {\n console.log(str);\n}\n", + "signature": "-1751303682-export declare function randomFn(str: string): void;\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 4 + ], + [ + "../src/logging.ts", + "../src/myclass.ts", + "../src/random.ts" + ] + ] + ], + "options": { + "composite": true, + "outDir": "./" + }, + "latestChangedDtsFile": "./src/random.d.ts" + }, + "version": "FakeTSVersion", + "size": 1263 +} + + + +Change:: no-change-run +Input:: + + +Output:: +/lib/tsc --b projects/server -v --traceResolution --explainFiles +[HH:MM:SS AM] Projects in this build: + * projects/shared/tsconfig.json + * projects/server/tsconfig.json + +[HH:MM:SS AM] Project 'projects/shared/tsconfig.json' is up to date because newest input 'projects/shared/src/random.ts' is older than output 'projects/shared/dist/tsconfig.tsbuildinfo' + +[HH:MM:SS AM] Project 'projects/server/tsconfig.json' is up to date because newest input 'projects/server/src/server.ts' is older than output 'projects/server/dist/server/tsconfig.tsbuildinfo' + +exitCode:: ExitStatus.Success + + + + +Change:: edit logging file +Input:: +//// [/home/src/workspaces/projects/shared/src/logging.ts] +export function log(str: string) { + console.log(str); +} +export const x = 10; + + + +Output:: +/lib/tsc --b projects/server -v --traceResolution --explainFiles +[HH:MM:SS AM] Projects in this build: + * projects/shared/tsconfig.json + * projects/server/tsconfig.json + +[HH:MM:SS AM] Project 'projects/shared/tsconfig.json' is out of date because output 'projects/shared/dist/tsconfig.tsbuildinfo' is older than input 'projects/shared/src/logging.ts' + +[HH:MM:SS AM] Building project '/home/src/workspaces/projects/shared/tsconfig.json'... + +File '/home/src/workspaces/projects/shared/src/package.json' does not exist. +File '/home/src/workspaces/projects/shared/package.json' does not exist. +File '/home/src/workspaces/projects/package.json' does not exist. +File '/home/src/workspaces/package.json' does not exist. +File '/home/src/package.json' does not exist. +File '/home/package.json' does not exist. +File '/package.json' does not exist. +File '/home/src/workspaces/projects/shared/src/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/src/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/lib/package.json' does not exist. +File '/package.json' does not exist according to earlier cached lookups. +../../../lib/lib.d.ts + Default library for target 'es5' +projects/shared/src/logging.ts + Matched by include pattern 'src/**/*.ts' in 'projects/shared/tsconfig.json' +projects/shared/src/myClass.ts + Matched by include pattern 'src/**/*.ts' in 'projects/shared/tsconfig.json' +projects/shared/src/random.ts + Matched by include pattern 'src/**/*.ts' in 'projects/shared/tsconfig.json' +[HH:MM:SS AM] Project 'projects/server/tsconfig.json' is out of date because output 'projects/server/dist/server/tsconfig.tsbuildinfo' is older than input 'projects/shared/src/logging.ts' + +[HH:MM:SS AM] Building project '/home/src/workspaces/projects/server/tsconfig.json'... + +File '/home/src/workspaces/projects/server/src/package.json' does not exist. +File '/home/src/workspaces/projects/server/package.json' does not exist. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +======== Resolving module ':shared/myClass.js' from '/home/src/workspaces/projects/server/src/server.ts'. ======== +Module resolution kind is not specified, using 'Node10'. +'baseUrl' option is set to '/home/src/workspaces/projects/server/src', using this value to resolve non-relative module name ':shared/myClass.js'. +'paths' option is specified, looking for a pattern to match module name ':shared/myClass.js'. +Module name ':shared/myClass.js', matched pattern ':shared/*'. +Trying substitution '../../shared/src/*', candidate module location: '../../shared/src/myClass.js'. +Loading module as file / folder, candidate module location '/home/src/workspaces/projects/shared/src/myClass.js', target file types: TypeScript, Declaration. +File name '/home/src/workspaces/projects/shared/src/myClass.js' has a '.js' extension - stripping it. +File '/home/src/workspaces/projects/shared/src/myClass.ts' exists - use it as a name resolution result. +======== Module name ':shared/myClass.js' was successfully resolved to '/home/src/workspaces/projects/shared/src/myClass.ts'. ======== +File '/home/src/workspaces/projects/shared/dist/src/package.json' does not exist. +File '/home/src/workspaces/projects/shared/dist/package.json' does not exist. +File '/home/src/workspaces/projects/shared/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/dist/src/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/dist/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/dist/src/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/dist/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/lib/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +../../../lib/lib.d.ts + Default library for target 'es5' +projects/shared/dist/src/myClass.d.ts + Imported via ':shared/myClass.js' from file 'projects/server/src/server.ts' + Matched by include pattern '../shared/src/**/*.ts' in 'projects/server/tsconfig.json' + File is output of project reference source 'projects/shared/src/myClass.ts' +projects/server/src/server.ts + Matched by include pattern 'src/**/*.ts' in 'projects/server/tsconfig.json' +projects/shared/dist/src/logging.d.ts + Matched by include pattern '../shared/src/**/*.ts' in 'projects/server/tsconfig.json' + File is output of project reference source 'projects/shared/src/logging.ts' +projects/shared/dist/src/random.d.ts + Matched by include pattern '../shared/src/**/*.ts' in 'projects/server/tsconfig.json' + File is output of project reference source 'projects/shared/src/random.ts' +exitCode:: ExitStatus.Success + + +//// [/home/src/workspaces/projects/server/dist/server/tsconfig.tsbuildinfo] +{"program":{"fileNames":["../../../../../../../lib/lib.d.ts","../../../shared/dist/src/myclass.d.ts","../../src/server.ts","../../../shared/dist/src/logging.d.ts","../../../shared/dist/src/random.d.ts","../../../shared/src/logging.ts","../../../shared/src/myclass.ts","../../../shared/src/random.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7943199723-export declare class MyClass {\n}\n","impliedFormat":1},{"version":"-19159694382-import { MyClass } from ':shared/myClass.js';\nconsole.log('Hello, world!');\n","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n","impliedFormat":1},{"version":"-1751303682-export declare function randomFn(str: string): void;\n","impliedFormat":1}],"root":[[2,5]],"resolvedRoot":[[4,6],[2,7],[5,8]],"options":{"composite":true,"outDir":"..","rootDir":"../../.."},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./src/server.d.ts"},"version":"FakeTSVersion"} + +//// [/home/src/workspaces/projects/server/dist/server/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../../../../../lib/lib.d.ts", + "../../../shared/dist/src/myclass.d.ts", + "../../src/server.ts", + "../../../shared/dist/src/logging.d.ts", + "../../../shared/dist/src/random.d.ts", + "../../../shared/src/logging.ts", + "../../../shared/src/myclass.ts", + "../../../shared/src/random.ts" + ], + "fileNamesList": [ + [ + "../../../shared/dist/src/myclass.d.ts" + ] + ], + "fileInfos": { + "../../../../../../../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "../../../shared/dist/src/myclass.d.ts": { + "original": { + "version": "-7943199723-export declare class MyClass {\n}\n", + "impliedFormat": 1 + }, + "version": "-7943199723-export declare class MyClass {\n}\n", + "signature": "-7943199723-export declare class MyClass {\n}\n", + "impliedFormat": "commonjs" + }, + "../../src/server.ts": { + "original": { + "version": "-19159694382-import { MyClass } from ':shared/myClass.js';\nconsole.log('Hello, world!');\n", + "signature": "-3531856636-export {};\n", + "impliedFormat": 1 + }, + "version": "-19159694382-import { MyClass } from ':shared/myClass.js';\nconsole.log('Hello, world!');\n", + "signature": "-3531856636-export {};\n", + "impliedFormat": "commonjs" + }, + "../../../shared/dist/src/logging.d.ts": { + "original": { + "version": "-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n", + "impliedFormat": 1 + }, + "version": "-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n", + "signature": "-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n", + "impliedFormat": "commonjs" + }, + "../../../shared/dist/src/random.d.ts": { + "original": { + "version": "-1751303682-export declare function randomFn(str: string): void;\n", + "impliedFormat": 1 + }, + "version": "-1751303682-export declare function randomFn(str: string): void;\n", + "signature": "-1751303682-export declare function randomFn(str: string): void;\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 5 + ], + [ + "../../../shared/dist/src/myclass.d.ts", + "../../src/server.ts", + "../../../shared/dist/src/logging.d.ts", + "../../../shared/dist/src/random.d.ts" + ] + ] + ], + "resolvedRoot": [ + [ + [ + 4, + 6 + ], + [ + "../../../shared/dist/src/logging.d.ts", + "../../../shared/src/logging.ts" + ] + ], + [ + [ + 2, + 7 + ], + [ + "../../../shared/dist/src/myclass.d.ts", + "../../../shared/src/myclass.ts" + ] + ], + [ + [ + 5, + 8 + ], + [ + "../../../shared/dist/src/random.d.ts", + "../../../shared/src/random.ts" + ] + ] + ], + "options": { + "composite": true, + "outDir": "..", + "rootDir": "../../.." + }, + "referencedMap": { + "../../src/server.ts": [ + "../../../shared/dist/src/myclass.d.ts" + ] + }, + "latestChangedDtsFile": "./src/server.d.ts" + }, + "version": "FakeTSVersion", + "size": 1506 +} + +//// [/home/src/workspaces/projects/shared/dist/src/logging.d.ts] +export declare function log(str: string): void; +export declare const x = 10; + + +//// [/home/src/workspaces/projects/shared/dist/src/logging.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.x = void 0; +exports.log = log; +function log(str) { + console.log(str); +} +exports.x = 10; + + +//// [/home/src/workspaces/projects/shared/dist/tsconfig.tsbuildinfo] +{"program":{"fileNames":["../../../../../../lib/lib.d.ts","../src/logging.ts","../src/myclass.ts","../src/random.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"483739938-export function log(str: string) {\n console.log(str);\n}\nexport const x = 10;","signature":"-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n","impliedFormat":1},{"version":"-10369713935-export class MyClass { }","signature":"-7943199723-export declare class MyClass {\n}\n","impliedFormat":1},{"version":"4380863035-export function randomFn(str: string) {\n console.log(str);\n}\n","signature":"-1751303682-export declare function randomFn(str: string): void;\n","impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"outDir":"./"},"latestChangedDtsFile":"./src/logging.d.ts"},"version":"FakeTSVersion"} + +//// [/home/src/workspaces/projects/shared/dist/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../../../../lib/lib.d.ts", + "../src/logging.ts", + "../src/myclass.ts", + "../src/random.ts" + ], + "fileInfos": { + "../../../../../../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "../src/logging.ts": { + "original": { + "version": "483739938-export function log(str: string) {\n console.log(str);\n}\nexport const x = 10;", + "signature": "-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n", + "impliedFormat": 1 + }, + "version": "483739938-export function log(str: string) {\n console.log(str);\n}\nexport const x = 10;", + "signature": "-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n", + "impliedFormat": "commonjs" + }, + "../src/myclass.ts": { + "original": { + "version": "-10369713935-export class MyClass { }", + "signature": "-7943199723-export declare class MyClass {\n}\n", + "impliedFormat": 1 + }, + "version": "-10369713935-export class MyClass { }", + "signature": "-7943199723-export declare class MyClass {\n}\n", + "impliedFormat": "commonjs" + }, + "../src/random.ts": { + "original": { + "version": "4380863035-export function randomFn(str: string) {\n console.log(str);\n}\n", + "signature": "-1751303682-export declare function randomFn(str: string): void;\n", + "impliedFormat": 1 + }, + "version": "4380863035-export function randomFn(str: string) {\n console.log(str);\n}\n", + "signature": "-1751303682-export declare function randomFn(str: string): void;\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 4 + ], + [ + "../src/logging.ts", + "../src/myclass.ts", + "../src/random.ts" + ] + ] + ], + "options": { + "composite": true, + "outDir": "./" + }, + "latestChangedDtsFile": "./src/logging.d.ts" + }, + "version": "FakeTSVersion", + "size": 1313 +} + + + +Change:: no-change-run +Input:: + + +Output:: +/lib/tsc --b projects/server -v --traceResolution --explainFiles +[HH:MM:SS AM] Projects in this build: + * projects/shared/tsconfig.json + * projects/server/tsconfig.json + +[HH:MM:SS AM] Project 'projects/shared/tsconfig.json' is up to date because newest input 'projects/shared/src/logging.ts' is older than output 'projects/shared/dist/tsconfig.tsbuildinfo' + +[HH:MM:SS AM] Project 'projects/server/tsconfig.json' is up to date because newest input 'projects/shared/src/logging.ts' is older than output 'projects/server/dist/server/tsconfig.tsbuildinfo' + +exitCode:: ExitStatus.Success + + + + +Change:: delete random file +Input:: +//// [/home/src/workspaces/projects/shared/src/random.ts] unlink + + +Output:: +/lib/tsc --b projects/server -v --traceResolution --explainFiles +[HH:MM:SS AM] Projects in this build: + * projects/shared/tsconfig.json + * projects/server/tsconfig.json + +[HH:MM:SS AM] Project 'projects/shared/tsconfig.json' is out of date because buildinfo file 'projects/shared/dist/tsconfig.tsbuildinfo' indicates that file 'projects/shared/src/random.ts' was root file of compilation but not any more. + +[HH:MM:SS AM] Building project '/home/src/workspaces/projects/shared/tsconfig.json'... + +File '/home/src/workspaces/projects/shared/src/package.json' does not exist. +File '/home/src/workspaces/projects/shared/package.json' does not exist. +File '/home/src/workspaces/projects/package.json' does not exist. +File '/home/src/workspaces/package.json' does not exist. +File '/home/src/package.json' does not exist. +File '/home/package.json' does not exist. +File '/package.json' does not exist. +File '/home/src/workspaces/projects/shared/src/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/lib/package.json' does not exist. +File '/package.json' does not exist according to earlier cached lookups. +../../../lib/lib.d.ts + Default library for target 'es5' +projects/shared/src/logging.ts + Matched by include pattern 'src/**/*.ts' in 'projects/shared/tsconfig.json' +projects/shared/src/myClass.ts + Matched by include pattern 'src/**/*.ts' in 'projects/shared/tsconfig.json' +[HH:MM:SS AM] Project 'projects/server/tsconfig.json' is out of date because buildinfo file 'projects/server/dist/server/tsconfig.tsbuildinfo' indicates that file 'projects/shared/src/random.ts' was root file of compilation but not any more. + +[HH:MM:SS AM] Building project '/home/src/workspaces/projects/server/tsconfig.json'... + +File '/home/src/workspaces/projects/server/src/package.json' does not exist. +File '/home/src/workspaces/projects/server/package.json' does not exist. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +======== Resolving module ':shared/myClass.js' from '/home/src/workspaces/projects/server/src/server.ts'. ======== +Module resolution kind is not specified, using 'Node10'. +'baseUrl' option is set to '/home/src/workspaces/projects/server/src', using this value to resolve non-relative module name ':shared/myClass.js'. +'paths' option is specified, looking for a pattern to match module name ':shared/myClass.js'. +Module name ':shared/myClass.js', matched pattern ':shared/*'. +Trying substitution '../../shared/src/*', candidate module location: '../../shared/src/myClass.js'. +Loading module as file / folder, candidate module location '/home/src/workspaces/projects/shared/src/myClass.js', target file types: TypeScript, Declaration. +File name '/home/src/workspaces/projects/shared/src/myClass.js' has a '.js' extension - stripping it. +File '/home/src/workspaces/projects/shared/src/myClass.ts' exists - use it as a name resolution result. +======== Module name ':shared/myClass.js' was successfully resolved to '/home/src/workspaces/projects/shared/src/myClass.ts'. ======== +File '/home/src/workspaces/projects/shared/dist/src/package.json' does not exist. +File '/home/src/workspaces/projects/shared/dist/package.json' does not exist. +File '/home/src/workspaces/projects/shared/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/dist/src/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/dist/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/lib/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +../../../lib/lib.d.ts + Default library for target 'es5' +projects/shared/dist/src/myClass.d.ts + Imported via ':shared/myClass.js' from file 'projects/server/src/server.ts' + Matched by include pattern '../shared/src/**/*.ts' in 'projects/server/tsconfig.json' + File is output of project reference source 'projects/shared/src/myClass.ts' +projects/server/src/server.ts + Matched by include pattern 'src/**/*.ts' in 'projects/server/tsconfig.json' +projects/shared/dist/src/logging.d.ts + Matched by include pattern '../shared/src/**/*.ts' in 'projects/server/tsconfig.json' + File is output of project reference source 'projects/shared/src/logging.ts' +exitCode:: ExitStatus.Success + + +//// [/home/src/workspaces/projects/server/dist/server/tsconfig.tsbuildinfo] +{"program":{"fileNames":["../../../../../../../lib/lib.d.ts","../../../shared/dist/src/myclass.d.ts","../../src/server.ts","../../../shared/dist/src/logging.d.ts","../../../shared/src/logging.ts","../../../shared/src/myclass.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7943199723-export declare class MyClass {\n}\n","impliedFormat":1},{"version":"-19159694382-import { MyClass } from ':shared/myClass.js';\nconsole.log('Hello, world!');\n","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n","impliedFormat":1}],"root":[[2,4]],"resolvedRoot":[[4,5],[2,6]],"options":{"composite":true,"outDir":"..","rootDir":"../../.."},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./src/server.d.ts"},"version":"FakeTSVersion"} + +//// [/home/src/workspaces/projects/server/dist/server/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../../../../../lib/lib.d.ts", + "../../../shared/dist/src/myclass.d.ts", + "../../src/server.ts", + "../../../shared/dist/src/logging.d.ts", + "../../../shared/src/logging.ts", + "../../../shared/src/myclass.ts" + ], + "fileNamesList": [ + [ + "../../../shared/dist/src/myclass.d.ts" + ] + ], + "fileInfos": { + "../../../../../../../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "../../../shared/dist/src/myclass.d.ts": { + "original": { + "version": "-7943199723-export declare class MyClass {\n}\n", + "impliedFormat": 1 + }, + "version": "-7943199723-export declare class MyClass {\n}\n", + "signature": "-7943199723-export declare class MyClass {\n}\n", + "impliedFormat": "commonjs" + }, + "../../src/server.ts": { + "original": { + "version": "-19159694382-import { MyClass } from ':shared/myClass.js';\nconsole.log('Hello, world!');\n", + "signature": "-3531856636-export {};\n", + "impliedFormat": 1 + }, + "version": "-19159694382-import { MyClass } from ':shared/myClass.js';\nconsole.log('Hello, world!');\n", + "signature": "-3531856636-export {};\n", + "impliedFormat": "commonjs" + }, + "../../../shared/dist/src/logging.d.ts": { + "original": { + "version": "-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n", + "impliedFormat": 1 + }, + "version": "-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n", + "signature": "-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 4 + ], + [ + "../../../shared/dist/src/myclass.d.ts", + "../../src/server.ts", + "../../../shared/dist/src/logging.d.ts" + ] + ] + ], + "resolvedRoot": [ + [ + [ + 4, + 5 + ], + [ + "../../../shared/dist/src/logging.d.ts", + "../../../shared/src/logging.ts" + ] + ], + [ + [ + 2, + 6 + ], + [ + "../../../shared/dist/src/myclass.d.ts", + "../../../shared/src/myclass.ts" + ] + ] + ], + "options": { + "composite": true, + "outDir": "..", + "rootDir": "../../.." + }, + "referencedMap": { + "../../src/server.ts": [ + "../../../shared/dist/src/myclass.d.ts" + ] + }, + "latestChangedDtsFile": "./src/server.d.ts" + }, + "version": "FakeTSVersion", + "size": 1330 +} + +//// [/home/src/workspaces/projects/shared/dist/tsconfig.tsbuildinfo] +{"program":{"fileNames":["../../../../../../lib/lib.d.ts","../src/logging.ts","../src/myclass.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"483739938-export function log(str: string) {\n console.log(str);\n}\nexport const x = 10;","signature":"-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n","impliedFormat":1},{"version":"-10369713935-export class MyClass { }","signature":"-7943199723-export declare class MyClass {\n}\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"./"},"latestChangedDtsFile":"./src/logging.d.ts"},"version":"FakeTSVersion"} + +//// [/home/src/workspaces/projects/shared/dist/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../../../../lib/lib.d.ts", + "../src/logging.ts", + "../src/myclass.ts" + ], + "fileInfos": { + "../../../../../../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "../src/logging.ts": { + "original": { + "version": "483739938-export function log(str: string) {\n console.log(str);\n}\nexport const x = 10;", + "signature": "-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n", + "impliedFormat": 1 + }, + "version": "483739938-export function log(str: string) {\n console.log(str);\n}\nexport const x = 10;", + "signature": "-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n", + "impliedFormat": "commonjs" + }, + "../src/myclass.ts": { + "original": { + "version": "-10369713935-export class MyClass { }", + "signature": "-7943199723-export declare class MyClass {\n}\n", + "impliedFormat": 1 + }, + "version": "-10369713935-export class MyClass { }", + "signature": "-7943199723-export declare class MyClass {\n}\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + 2, + "../src/logging.ts" + ], + [ + 3, + "../src/myclass.ts" + ] + ], + "options": { + "composite": true, + "outDir": "./" + }, + "latestChangedDtsFile": "./src/logging.d.ts" + }, + "version": "FakeTSVersion", + "size": 1100 +} + + + +Change:: no-change-run +Input:: + + +Output:: +/lib/tsc --b projects/server -v --traceResolution --explainFiles +[HH:MM:SS AM] Projects in this build: + * projects/shared/tsconfig.json + * projects/server/tsconfig.json + +[HH:MM:SS AM] Project 'projects/shared/tsconfig.json' is up to date because newest input 'projects/shared/src/logging.ts' is older than output 'projects/shared/dist/tsconfig.tsbuildinfo' + +[HH:MM:SS AM] Project 'projects/server/tsconfig.json' is up to date because newest input 'projects/shared/src/logging.ts' is older than output 'projects/server/dist/server/tsconfig.tsbuildinfo' + +exitCode:: ExitStatus.Success + + diff --git a/tests/baselines/reference/tsbuild/roots/when-two-root-files-are-consecutive.js b/tests/baselines/reference/tsbuild/roots/when-two-root-files-are-consecutive.js index 6a005de25657a..b98bc4236d9d1 100644 --- a/tests/baselines/reference/tsbuild/roots/when-two-root-files-are-consecutive.js +++ b/tests/baselines/reference/tsbuild/roots/when-two-root-files-are-consecutive.js @@ -35,12 +35,12 @@ export const y = "world"; Output:: /lib/tsc --b /src/tsconfig.json -v -[12:00:09 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:10 AM] Project 'src/tsconfig.json' is out of date because output file 'src/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because output file 'src/tsconfig.tsbuildinfo' does not exist -[12:00:11 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... exitCode:: ExitStatus.Success @@ -68,7 +68,7 @@ exports.y = "world"; //// [/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../lib/lib.d.ts","./file1.ts","./file2.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10637577098-export const x = \"hello\";","signature":"-6425002032-export declare const x = \"hello\";\n","impliedFormat":1},{"version":"-11520681045-export const y = \"world\";","signature":"-5502661211-export declare const y = \"world\";\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./file2.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../lib/lib.d.ts","./file1.ts","./file2.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10637577098-export const x = \"hello\";","signature":"-6425002032-export declare const x = \"hello\";\n","impliedFormat":1},{"version":"-11520681045-export const y = \"world\";","signature":"-5502661211-export declare const y = \"world\";\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true},"latestChangedDtsFile":"./file2.d.ts"},"version":"FakeTSVersion"} //// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -124,16 +124,10 @@ exports.y = "world"; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../lib/lib.d.ts", - "./file1.ts", - "./file2.ts" - ], "latestChangedDtsFile": "./file2.d.ts" }, "version": "FakeTSVersion", - "size": 1018 + "size": 962 } @@ -147,18 +141,18 @@ Input:: Output:: /lib/tsc --b /src/tsconfig.json -v -[12:00:22 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/tsconfig.json -[12:00:23 AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/tsconfig.tsbuildinfo' indicates that file 'src/file1.ts' was root file of compilation but not any more. +[HH:MM:SS AM] Project 'src/tsconfig.json' is out of date because buildinfo file 'src/tsconfig.tsbuildinfo' indicates that file 'src/file1.ts' was root file of compilation but not any more. -[12:00:24 AM] Building project '/src/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/tsconfig.json'... exitCode:: ExitStatus.Success //// [/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../lib/lib.d.ts","./file2.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11520681045-export const y = \"world\";","signature":"-5502661211-export declare const y = \"world\";\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./file2.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../lib/lib.d.ts","./file2.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11520681045-export const y = \"world\";","signature":"-5502661211-export declare const y = \"world\";\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./file2.d.ts"},"version":"FakeTSVersion"} //// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -199,14 +193,9 @@ exitCode:: ExitStatus.Success "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../lib/lib.d.ts", - "./file2.ts" - ], "latestChangedDtsFile": "./file2.d.ts" }, "version": "FakeTSVersion", - "size": 864 + "size": 810 } diff --git a/tests/baselines/reference/tsbuild/sample1/always-builds-under-with-force-option.js b/tests/baselines/reference/tsbuild/sample1/always-builds-under-with-force-option.js index af0dde4c27fda..8450d188bcd37 100644 --- a/tests/baselines/reference/tsbuild/sample1/always-builds-under-with-force-option.js +++ b/tests/baselines/reference/tsbuild/sample1/always-builds-under-with-force-option.js @@ -136,7 +136,7 @@ function multiply(a, b) { return a * b; } //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -210,17 +210,10 @@ function multiply(a, b) { return a * b; } "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1522 + "size": 1464 } //// [/user/username/projects/sample1/logic/index.d.ts] @@ -246,7 +239,7 @@ exports.m = mod; {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AACA,0CAEC;AAHD,iCAAmC;AACnC,SAAgB,eAAe;IAC3B,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAC9B,CAAC;AACD,2CAA6C;AAChC,QAAA,CAAC,GAAG,GAAG,CAAC"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -322,16 +315,10 @@ exports.m = mod; "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1574 + "size": 1535 } //// [/user/username/projects/sample1/tests/index.d.ts] @@ -352,7 +339,7 @@ exports.m = mod; //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -445,17 +432,10 @@ exports.m = mod; "../logic/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "../logic/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1744 + "size": 1703 } diff --git a/tests/baselines/reference/tsbuild/sample1/building-using-buildReferencedProject.js b/tests/baselines/reference/tsbuild/sample1/building-using-buildReferencedProject.js index 597a08d20659a..d1d02f7cefb6b 100644 --- a/tests/baselines/reference/tsbuild/sample1/building-using-buildReferencedProject.js +++ b/tests/baselines/reference/tsbuild/sample1/building-using-buildReferencedProject.js @@ -97,17 +97,17 @@ export const m = mod; Output:: /a/lib/tsc --build logic2/tsconfig.json -[12:00:22 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * core/tsconfig.json * logic/tsconfig.json -[12:00:23 AM] Project 'core/tsconfig.json' is out of date because output file 'core/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'core/tsconfig.json' is out of date because output file 'core/tsconfig.tsbuildinfo' does not exist -[12:00:24 AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... -[12:00:34 AM] Project 'logic/tsconfig.json' is out of date because output file 'logic/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'logic/tsconfig.json' is out of date because output file 'logic/tsconfig.tsbuildinfo' does not exist -[12:00:35 AM] Building project '/user/username/projects/sample1/logic/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/logic/tsconfig.json'... exitCode:: ExitStatus.Success @@ -147,7 +147,7 @@ function multiply(a, b) { return a * b; } //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -221,17 +221,10 @@ function multiply(a, b) { return a * b; } "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1522 + "size": 1464 } //// [/user/username/projects/sample1/logic/index.d.ts] @@ -257,7 +250,7 @@ exports.m = mod; {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AACA,0CAEC;AAHD,iCAAmC;AACnC,SAAgB,eAAe;IAC3B,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAC9B,CAAC;AACD,2CAA6C;AAChC,QAAA,CAAC,GAAG,GAAG,CAAC"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -333,15 +326,9 @@ exports.m = mod; "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1574 + "size": 1535 } diff --git a/tests/baselines/reference/tsbuild/sample1/building-using-getNextInvalidatedProject.js b/tests/baselines/reference/tsbuild/sample1/building-using-getNextInvalidatedProject.js index a13b93431c7c7..b7dfb99fc099b 100644 --- a/tests/baselines/reference/tsbuild/sample1/building-using-getNextInvalidatedProject.js +++ b/tests/baselines/reference/tsbuild/sample1/building-using-getNextInvalidatedProject.js @@ -131,7 +131,7 @@ export declare function multiply(a: number, b: number): number; //# sourceMappingURL=index.d.ts.map //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -205,17 +205,10 @@ export declare function multiply(a: number, b: number): number; "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1442 + "size": 1384 } @@ -246,7 +239,7 @@ export declare const m: typeof mod; //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -322,16 +315,10 @@ export declare const m: typeof mod; "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1494 + "size": 1455 } @@ -357,7 +344,7 @@ export declare const m: typeof mod; //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -450,17 +437,10 @@ export declare const m: typeof mod; "../logic/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "../logic/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1664 + "size": 1623 } diff --git a/tests/baselines/reference/tsbuild/sample1/builds-correctly-when-declarationDir-is-specified.js b/tests/baselines/reference/tsbuild/sample1/builds-correctly-when-declarationDir-is-specified.js index 904045e53964c..17006c3daf635 100644 --- a/tests/baselines/reference/tsbuild/sample1/builds-correctly-when-declarationDir-is-specified.js +++ b/tests/baselines/reference/tsbuild/sample1/builds-correctly-when-declarationDir-is-specified.js @@ -135,7 +135,7 @@ function multiply(a, b) { return a * b; } //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -209,17 +209,10 @@ function multiply(a, b) { return a * b; } "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1522 + "size": 1464 } //// [/user/username/projects/sample1/logic/index.js] @@ -245,7 +238,7 @@ export declare const m: typeof mod; //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"declarationDir":"./out/decls","sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./out/decls/index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"declarationDir":"./out/decls","sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./out/decls/index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -321,16 +314,10 @@ export declare const m: typeof mod; "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./out/decls/index.d.ts" }, "version": "FakeTSVersion", - "size": 1588 + "size": 1549 } //// [/user/username/projects/sample1/tests/index.d.ts] @@ -351,7 +338,7 @@ exports.m = mod; //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/out/decls/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/out/decls/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -444,16 +431,9 @@ exports.m = mod; "../logic/out/decls/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "../logic/out/decls/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1754 + "size": 1713 } diff --git a/tests/baselines/reference/tsbuild/sample1/builds-correctly-when-outDir-is-specified.js b/tests/baselines/reference/tsbuild/sample1/builds-correctly-when-outDir-is-specified.js index ed5063e51d1f6..ed752ff05c3e8 100644 --- a/tests/baselines/reference/tsbuild/sample1/builds-correctly-when-outDir-is-specified.js +++ b/tests/baselines/reference/tsbuild/sample1/builds-correctly-when-outDir-is-specified.js @@ -135,7 +135,7 @@ function multiply(a, b) { return a * b; } //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -209,17 +209,10 @@ function multiply(a, b) { return a * b; } "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1522 + "size": 1464 } //// [/user/username/projects/sample1/logic/outDir/index.d.ts] @@ -245,7 +238,7 @@ exports.m = mod; {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;AACA,0CAEC;AAHD,iCAAmC;AACnC,SAAgB,eAAe;IAC3B,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAC9B,CAAC;AACD,2CAA6C;AAChC,QAAA,CAAC,GAAG,GAAG,CAAC"} //// [/user/username/projects/sample1/logic/outDir/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../../core/index.d.ts","../../core/anothermodule.d.ts","../index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"outDir":"./","sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../../core/index.d.ts","../../core/anothermodule.d.ts","../index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"outDir":"./","sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/outDir/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -321,16 +314,10 @@ exports.m = mod; "../../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "../../core/anothermodule.d.ts", - "../../core/index.d.ts", - "../index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1571 + "size": 1532 } //// [/user/username/projects/sample1/tests/index.d.ts] @@ -351,7 +338,7 @@ exports.m = mod; //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/outdir/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/outdir/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -444,16 +431,9 @@ exports.m = mod; "../logic/outdir/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "../logic/outdir/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1751 + "size": 1710 } diff --git a/tests/baselines/reference/tsbuild/sample1/builds-correctly-when-project-is-not-composite-or-doesnt-have-any-references.js b/tests/baselines/reference/tsbuild/sample1/builds-correctly-when-project-is-not-composite-or-doesnt-have-any-references.js index 43c207d11658e..1635331009cea 100644 --- a/tests/baselines/reference/tsbuild/sample1/builds-correctly-when-project-is-not-composite-or-doesnt-have-any-references.js +++ b/tests/baselines/reference/tsbuild/sample1/builds-correctly-when-project-is-not-composite-or-doesnt-have-any-references.js @@ -98,12 +98,12 @@ export const m = mod; Output:: /a/lib/tsc --b core --verbose -[12:00:23 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * core/tsconfig.json -[12:00:24 AM] Project 'core/tsconfig.json' is out of date because output file 'core/anotherModule.js' does not exist +[HH:MM:SS AM] Project 'core/tsconfig.json' is out of date because output file 'core/anotherModule.js' does not exist -[12:00:25 AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... exitCode:: ExitStatus.Success diff --git a/tests/baselines/reference/tsbuild/sample1/builds-till-project-specified.js b/tests/baselines/reference/tsbuild/sample1/builds-till-project-specified.js index 41c1001498c8a..dc1ed4372ce28 100644 --- a/tests/baselines/reference/tsbuild/sample1/builds-till-project-specified.js +++ b/tests/baselines/reference/tsbuild/sample1/builds-till-project-specified.js @@ -135,7 +135,7 @@ function multiply(a, b) { return a * b; } //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -209,17 +209,10 @@ function multiply(a, b) { return a * b; } "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1522 + "size": 1464 } //// [/user/username/projects/sample1/logic/index.d.ts] @@ -245,7 +238,7 @@ exports.m = mod; {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AACA,0CAEC;AAHD,iCAAmC;AACnC,SAAgB,eAAe;IAC3B,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAC9B,CAAC;AACD,2CAA6C;AAChC,QAAA,CAAC,GAAG,GAAG,CAAC"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -321,15 +314,9 @@ exports.m = mod; "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1574 + "size": 1535 } diff --git a/tests/baselines/reference/tsbuild/sample1/can-detect-when-and-what-to-rebuild.js b/tests/baselines/reference/tsbuild/sample1/can-detect-when-and-what-to-rebuild.js index 91e51567e2b2e..9bfdc4303d801 100644 --- a/tests/baselines/reference/tsbuild/sample1/can-detect-when-and-what-to-rebuild.js +++ b/tests/baselines/reference/tsbuild/sample1/can-detect-when-and-what-to-rebuild.js @@ -72,7 +72,7 @@ declare const dts: any; } //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -146,17 +146,10 @@ declare const dts: any; "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1522 + "size": 1464 } //// [/user/username/projects/sample1/logic/index.d.ts] @@ -207,7 +200,7 @@ export const m = mod; } //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -283,16 +276,10 @@ export const m = mod; "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1574 + "size": 1535 } //// [/user/username/projects/sample1/tests/index.d.ts] @@ -345,7 +332,7 @@ export const m = mod; } //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -438,33 +425,26 @@ export const m = mod; "../logic/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "../logic/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1744 + "size": 1703 } Output:: /a/lib/tsc --b tests --verbose -[12:00:42 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * core/tsconfig.json * logic/tsconfig.json * tests/tsconfig.json -[12:00:43 AM] Project 'core/tsconfig.json' is up to date because newest input 'core/anotherModule.ts' is older than output 'core/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'core/tsconfig.json' is up to date because newest input 'core/anotherModule.ts' is older than output 'core/tsconfig.tsbuildinfo' -[12:00:44 AM] Project 'logic/tsconfig.json' is up to date because newest input 'logic/index.ts' is older than output 'logic/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'logic/tsconfig.json' is up to date because newest input 'logic/index.ts' is older than output 'logic/tsconfig.tsbuildinfo' -[12:00:45 AM] Project 'tests/tsconfig.json' is up to date because newest input 'tests/index.ts' is older than output 'tests/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tests/tsconfig.json' is up to date because newest input 'tests/index.ts' is older than output 'tests/tsconfig.tsbuildinfo' exitCode:: ExitStatus.Success @@ -480,18 +460,18 @@ const m = 10; Output:: /a/lib/tsc --b tests --verbose -[12:00:47 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * core/tsconfig.json * logic/tsconfig.json * tests/tsconfig.json -[12:00:48 AM] Project 'core/tsconfig.json' is up to date because newest input 'core/anotherModule.ts' is older than output 'core/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'core/tsconfig.json' is up to date because newest input 'core/anotherModule.ts' is older than output 'core/tsconfig.tsbuildinfo' -[12:00:49 AM] Project 'logic/tsconfig.json' is up to date because newest input 'logic/index.ts' is older than output 'logic/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'logic/tsconfig.json' is up to date because newest input 'logic/index.ts' is older than output 'logic/tsconfig.tsbuildinfo' -[12:00:50 AM] Project 'tests/tsconfig.json' is out of date because output 'tests/tsconfig.tsbuildinfo' is older than input 'tests/index.ts' +[HH:MM:SS AM] Project 'tests/tsconfig.json' is out of date because output 'tests/tsconfig.tsbuildinfo' is older than input 'tests/index.ts' -[12:00:51 AM] Building project '/user/username/projects/sample1/tests/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/tests/tsconfig.json'... exitCode:: ExitStatus.Success @@ -505,7 +485,7 @@ var m = 10; //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"3708260210-const m = 10;","signature":"-357908916-declare const m = 10;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"3708260210-const m = 10;","signature":"-357908916-declare const m = 10;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -550,15 +530,10 @@ var m = 10; "declaration": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 919 + "size": 865 } @@ -575,22 +550,22 @@ export function multiply(a: number, b: number) { return a * b; } Output:: /a/lib/tsc --b tests --verbose -[12:00:58 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * core/tsconfig.json * logic/tsconfig.json * tests/tsconfig.json -[12:00:59 AM] Project 'core/tsconfig.json' is out of date because output 'core/tsconfig.tsbuildinfo' is older than input 'core/index.ts' +[HH:MM:SS AM] Project 'core/tsconfig.json' is out of date because output 'core/tsconfig.tsbuildinfo' is older than input 'core/index.ts' -[12:01:00 AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... -[12:01:06 AM] Project 'logic/tsconfig.json' is up to date with .d.ts files from its dependencies +[HH:MM:SS AM] Project 'logic/tsconfig.json' is up to date with .d.ts files from its dependencies -[12:01:07 AM] Updating output timestamps of project '/user/username/projects/sample1/logic/tsconfig.json'... +[HH:MM:SS AM] Updating output timestamps of project '/user/username/projects/sample1/logic/tsconfig.json'... -[12:01:10 AM] Project 'tests/tsconfig.json' is up to date with .d.ts files from its dependencies +[HH:MM:SS AM] Project 'tests/tsconfig.json' is up to date with .d.ts files from its dependencies -[12:01:11 AM] Updating output timestamps of project '/user/username/projects/sample1/tests/tsconfig.json'... +[HH:MM:SS AM] Updating output timestamps of project '/user/username/projects/sample1/tests/tsconfig.json'... exitCode:: ExitStatus.Success @@ -610,7 +585,7 @@ function multiply(a, b) { return a * b; } //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-17153345957-export const someString: string = \"WELCOME PLANET\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-17153345957-export const someString: string = \"WELCOME PLANET\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -684,17 +659,10 @@ function multiply(a, b) { return a * b; } "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1525 + "size": 1467 } //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] file changed its modified time @@ -743,18 +711,18 @@ declare const console: { log(msg: any): void; }; Output:: /a/lib/tsc --b tests --verbose -[12:01:16 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * core/tsconfig.json * logic/tsconfig.json * tests/tsconfig.json -[12:01:17 AM] Project 'core/tsconfig.json' is up to date because newest input 'core/index.ts' is older than output 'core/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'core/tsconfig.json' is up to date because newest input 'core/index.ts' is older than output 'core/tsconfig.tsbuildinfo' -[12:01:18 AM] Project 'logic/tsconfig.json' is up to date because newest input 'logic/index.ts' is older than output 'logic/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'logic/tsconfig.json' is up to date because newest input 'logic/index.ts' is older than output 'logic/tsconfig.tsbuildinfo' -[12:01:19 AM] Project 'tests/tsconfig.json' is out of date because output 'tests/tsconfig.tsbuildinfo' is older than input 'tests/tsconfig.json' +[HH:MM:SS AM] Project 'tests/tsconfig.json' is out of date because output 'tests/tsconfig.tsbuildinfo' is older than input 'tests/tsconfig.json' -[12:01:20 AM] Building project '/user/username/projects/sample1/tests/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/tests/tsconfig.json'... exitCode:: ExitStatus.Success @@ -764,7 +732,7 @@ const m = 10; //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.es2020.full.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"3708260210-const m = 10;","signature":"-357908916-declare const m = 10;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"target":7},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.es2020.full.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"3708260210-const m = 10;","signature":"-357908916-declare const m = 10;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"target":7},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -810,14 +778,9 @@ const m = 10; "skipDefaultLibCheck": true, "target": 7 }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.es2020.full.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 942 + "size": 888 } diff --git a/tests/baselines/reference/tsbuild/sample1/cleaning-project-in-not-build-order-doesnt-throw-error.js b/tests/baselines/reference/tsbuild/sample1/cleaning-project-in-not-build-order-doesnt-throw-error.js index e6e00f03eb83a..993367bda97b7 100644 --- a/tests/baselines/reference/tsbuild/sample1/cleaning-project-in-not-build-order-doesnt-throw-error.js +++ b/tests/baselines/reference/tsbuild/sample1/cleaning-project-in-not-build-order-doesnt-throw-error.js @@ -71,7 +71,7 @@ declare const dts: any; } //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -145,17 +145,10 @@ declare const dts: any; "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1522 + "size": 1464 } //// [/user/username/projects/sample1/logic/index.d.ts] @@ -206,7 +199,7 @@ export const m = mod; } //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -282,16 +275,10 @@ export const m = mod; "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1574 + "size": 1535 } //// [/user/username/projects/sample1/tests/index.d.ts] @@ -344,7 +331,7 @@ export const m = mod; } //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -437,17 +424,10 @@ export const m = mod; "../logic/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "../logic/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1744 + "size": 1703 } diff --git a/tests/baselines/reference/tsbuild/sample1/cleans-till-project-specified.js b/tests/baselines/reference/tsbuild/sample1/cleans-till-project-specified.js index a7c9bef568fb6..10143cfa6af8d 100644 --- a/tests/baselines/reference/tsbuild/sample1/cleans-till-project-specified.js +++ b/tests/baselines/reference/tsbuild/sample1/cleans-till-project-specified.js @@ -71,7 +71,7 @@ declare const dts: any; } //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -145,17 +145,10 @@ declare const dts: any; "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1522 + "size": 1464 } //// [/user/username/projects/sample1/logic/index.d.ts] @@ -206,7 +199,7 @@ export const m = mod; } //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -282,16 +275,10 @@ export const m = mod; "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1574 + "size": 1535 } //// [/user/username/projects/sample1/tests/index.d.ts] @@ -344,7 +331,7 @@ export const m = mod; } //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -437,17 +424,10 @@ export const m = mod; "../logic/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "../logic/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1744 + "size": 1703 } diff --git a/tests/baselines/reference/tsbuild/sample1/does-not-build-downstream-projects-if-upstream-projects-have-errors.js b/tests/baselines/reference/tsbuild/sample1/does-not-build-downstream-projects-if-upstream-projects-have-errors.js index 820b0c201d6d2..8b74f6fed7aef 100644 --- a/tests/baselines/reference/tsbuild/sample1/does-not-build-downstream-projects-if-upstream-projects-have-errors.js +++ b/tests/baselines/reference/tsbuild/sample1/does-not-build-downstream-projects-if-upstream-projects-have-errors.js @@ -98,27 +98,27 @@ export const m = mod; Output:: /a/lib/tsc --b tests --verbose -[12:00:23 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * core/tsconfig.json * logic/tsconfig.json * tests/tsconfig.json -[12:00:24 AM] Project 'core/tsconfig.json' is out of date because output file 'core/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'core/tsconfig.json' is out of date because output file 'core/tsconfig.tsbuildinfo' does not exist -[12:00:25 AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... -[12:00:35 AM] Project 'logic/tsconfig.json' is out of date because output file 'logic/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'logic/tsconfig.json' is out of date because output file 'logic/tsconfig.tsbuildinfo' does not exist -[12:00:36 AM] Building project '/user/username/projects/sample1/logic/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/logic/tsconfig.json'... logic/index.ts:3:14 - error TS2339: Property 'muitply' does not exist on type 'typeof import("/user/username/projects/sample1/core/index")'. 3 return c.muitply();    ~~~~~~~ -[12:00:40 AM] Project 'tests/tsconfig.json' can't be built because its dependency 'logic' has errors +[HH:MM:SS AM] Project 'tests/tsconfig.json' can't be built because its dependency 'logic' has errors -[12:00:41 AM] Skipping build of project '/user/username/projects/sample1/tests/tsconfig.json' because its dependency '/user/username/projects/sample1/logic' has errors +[HH:MM:SS AM] Skipping build of project '/user/username/projects/sample1/tests/tsconfig.json' because its dependency '/user/username/projects/sample1/logic' has errors Found 1 error. @@ -161,7 +161,7 @@ function multiply(a, b) { return a * b; } //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -235,21 +235,14 @@ function multiply(a, b) { return a * b; } "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1522 + "size": 1464 } //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-11192027815-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.muitply();\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,[4,[{"file":"./index.ts","start":85,"length":7,"code":2339,"category":1,"messageText":"Property 'muitply' does not exist on type 'typeof import(\"/user/username/projects/sample1/core/index\")'."}]]],"affectedFilesPendingEmit":[4],"emitSignatures":[4]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-11192027815-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.muitply();\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[[4,[{"start":85,"length":7,"code":2339,"category":1,"messageText":"Property 'muitply' does not exist on type 'typeof import(\"/user/username/projects/sample1/core/index\")'."}]]],"affectedFilesPendingEmit":[4],"emitSignatures":[4]},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -325,14 +318,10 @@ function multiply(a, b) { return a * b; } ] }, "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", [ "./index.ts", [ { - "file": "./index.ts", "start": 85, "length": 7, "code": 2339, @@ -353,7 +342,7 @@ function multiply(a, b) { return a * b; } ] }, "version": "FakeTSVersion", - "size": 1615 + "size": 1589 } @@ -364,25 +353,25 @@ Input:: Output:: /a/lib/tsc --b tests --verbose -[12:00:42 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * core/tsconfig.json * logic/tsconfig.json * tests/tsconfig.json -[12:00:43 AM] Project 'core/tsconfig.json' is up to date because newest input 'core/anotherModule.ts' is older than output 'core/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'core/tsconfig.json' is up to date because newest input 'core/anotherModule.ts' is older than output 'core/tsconfig.tsbuildinfo' -[12:00:44 AM] Project 'logic/tsconfig.json' is out of date because buildinfo file 'logic/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'logic/tsconfig.json' is out of date because buildinfo file 'logic/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted -[12:00:45 AM] Building project '/user/username/projects/sample1/logic/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/logic/tsconfig.json'... logic/index.ts:3:14 - error TS2339: Property 'muitply' does not exist on type 'typeof import("/user/username/projects/sample1/core/index")'. 3 return c.muitply();    ~~~~~~~ -[12:00:46 AM] Project 'tests/tsconfig.json' can't be built because its dependency 'logic' has errors +[HH:MM:SS AM] Project 'tests/tsconfig.json' can't be built because its dependency 'logic' has errors -[12:00:47 AM] Skipping build of project '/user/username/projects/sample1/tests/tsconfig.json' because its dependency '/user/username/projects/sample1/logic' has errors +[HH:MM:SS AM] Skipping build of project '/user/username/projects/sample1/tests/tsconfig.json' because its dependency '/user/username/projects/sample1/logic' has errors Found 1 error. diff --git a/tests/baselines/reference/tsbuild/sample1/does-not-rebuild-if-there-is-no-program-and-bundle-in-the-ts-build-info-event-if-version-doesnt-match-ts-version.js b/tests/baselines/reference/tsbuild/sample1/does-not-rebuild-if-there-is-no-program-and-bundle-in-the-ts-build-info-event-if-version-doesnt-match-ts-version.js index 7ed1c51874b43..217483f697972 100644 --- a/tests/baselines/reference/tsbuild/sample1/does-not-rebuild-if-there-is-no-program-and-bundle-in-the-ts-build-info-event-if-version-doesnt-match-ts-version.js +++ b/tests/baselines/reference/tsbuild/sample1/does-not-rebuild-if-there-is-no-program-and-bundle-in-the-ts-build-info-event-if-version-doesnt-match-ts-version.js @@ -179,16 +179,16 @@ export const m = mod; Output:: /a/lib/tsc --b tests --verbose -[12:00:39 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * core/tsconfig.json * logic/tsconfig.json * tests/tsconfig.json -[12:00:40 AM] Project 'core/tsconfig.json' is up to date because newest input 'core/anotherModule.ts' is older than output 'core/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'core/tsconfig.json' is up to date because newest input 'core/anotherModule.ts' is older than output 'core/tsconfig.tsbuildinfo' -[12:00:41 AM] Project 'logic/tsconfig.json' is up to date because newest input 'logic/index.ts' is older than output 'logic/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'logic/tsconfig.json' is up to date because newest input 'logic/index.ts' is older than output 'logic/tsconfig.tsbuildinfo' -[12:00:42 AM] Project 'tests/tsconfig.json' is up to date because newest input 'tests/index.ts' is older than output 'tests/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tests/tsconfig.json' is up to date because newest input 'tests/index.ts' is older than output 'tests/tsconfig.tsbuildinfo' exitCode:: ExitStatus.Success diff --git a/tests/baselines/reference/tsbuild/sample1/does-not-write-any-files-in-a-dry-build.js b/tests/baselines/reference/tsbuild/sample1/does-not-write-any-files-in-a-dry-build.js index c88ea5a2c25ac..76865bcbf013b 100644 --- a/tests/baselines/reference/tsbuild/sample1/does-not-write-any-files-in-a-dry-build.js +++ b/tests/baselines/reference/tsbuild/sample1/does-not-write-any-files-in-a-dry-build.js @@ -98,11 +98,11 @@ export const m = mod; Output:: /a/lib/tsc --b tests --dry -[12:00:22 AM] A non-dry build would build project '/user/username/projects/sample1/core/tsconfig.json' +[HH:MM:SS AM] A non-dry build would build project '/user/username/projects/sample1/core/tsconfig.json' -[12:00:23 AM] A non-dry build would build project '/user/username/projects/sample1/logic/tsconfig.json' +[HH:MM:SS AM] A non-dry build would build project '/user/username/projects/sample1/logic/tsconfig.json' -[12:00:24 AM] A non-dry build would build project '/user/username/projects/sample1/tests/tsconfig.json' +[HH:MM:SS AM] A non-dry build would build project '/user/username/projects/sample1/tests/tsconfig.json' exitCode:: ExitStatus.Success diff --git a/tests/baselines/reference/tsbuild/sample1/explainFiles.js b/tests/baselines/reference/tsbuild/sample1/explainFiles.js index 95082bbfa611d..d334176cff0bf 100644 --- a/tests/baselines/reference/tsbuild/sample1/explainFiles.js +++ b/tests/baselines/reference/tsbuild/sample1/explainFiles.js @@ -98,14 +98,14 @@ export const m = mod; Output:: /a/lib/tsc --b tests --explainFiles --v -[12:00:22 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * core/tsconfig.json * logic/tsconfig.json * tests/tsconfig.json -[12:00:23 AM] Project 'core/tsconfig.json' is out of date because output file 'core/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'core/tsconfig.json' is out of date because output file 'core/tsconfig.tsbuildinfo' does not exist -[12:00:24 AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... ../../../../a/lib/lib.d.ts Default library for target 'es5' @@ -115,9 +115,9 @@ core/index.ts Matched by default include pattern '**/*' core/some_decl.d.ts Matched by default include pattern '**/*' -[12:00:34 AM] Project 'logic/tsconfig.json' is out of date because output file 'logic/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'logic/tsconfig.json' is out of date because output file 'logic/tsconfig.tsbuildinfo' does not exist -[12:00:35 AM] Building project '/user/username/projects/sample1/logic/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/logic/tsconfig.json'... ../../../../a/lib/lib.d.ts Default library for target 'es5' @@ -129,9 +129,9 @@ core/anotherModule.d.ts File is output of project reference source 'core/anotherModule.ts' logic/index.ts Matched by default include pattern '**/*' -[12:00:42 AM] Project 'tests/tsconfig.json' is out of date because output file 'tests/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'tests/tsconfig.json' is out of date because output file 'tests/tsconfig.tsbuildinfo' does not exist -[12:00:43 AM] Building project '/user/username/projects/sample1/tests/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/tests/tsconfig.json'... ../../../../a/lib/lib.d.ts Default library for target 'es5' @@ -185,7 +185,7 @@ function multiply(a, b) { return a * b; } //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -259,17 +259,10 @@ function multiply(a, b) { return a * b; } "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1522 + "size": 1464 } //// [/user/username/projects/sample1/logic/index.d.ts] @@ -295,7 +288,7 @@ exports.m = mod; {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AACA,0CAEC;AAHD,iCAAmC;AACnC,SAAgB,eAAe;IAC3B,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAC9B,CAAC;AACD,2CAA6C;AAChC,QAAA,CAAC,GAAG,GAAG,CAAC"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -371,16 +364,10 @@ exports.m = mod; "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1574 + "size": 1535 } //// [/user/username/projects/sample1/tests/index.d.ts] @@ -401,7 +388,7 @@ exports.m = mod; //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -494,17 +481,10 @@ exports.m = mod; "../logic/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "../logic/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1744 + "size": 1703 } @@ -522,14 +502,14 @@ export class someClass { } Output:: /a/lib/tsc --b tests --explainFiles --v -[12:00:50 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * core/tsconfig.json * logic/tsconfig.json * tests/tsconfig.json -[12:00:51 AM] Project 'core/tsconfig.json' is out of date because output 'core/tsconfig.tsbuildinfo' is older than input 'core/index.ts' +[HH:MM:SS AM] Project 'core/tsconfig.json' is out of date because output 'core/tsconfig.tsbuildinfo' is older than input 'core/index.ts' -[12:00:52 AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... ../../../../a/lib/lib.d.ts Default library for target 'es5' @@ -539,9 +519,9 @@ core/index.ts Matched by default include pattern '**/*' core/some_decl.d.ts Matched by default include pattern '**/*' -[12:00:59 AM] Project 'logic/tsconfig.json' is out of date because output 'logic/tsconfig.tsbuildinfo' is older than input 'core' +[HH:MM:SS AM] Project 'logic/tsconfig.json' is out of date because output 'logic/tsconfig.tsbuildinfo' is older than input 'core' -[12:01:00 AM] Building project '/user/username/projects/sample1/logic/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/logic/tsconfig.json'... ../../../../a/lib/lib.d.ts Default library for target 'es5' @@ -553,9 +533,9 @@ core/anotherModule.d.ts File is output of project reference source 'core/anotherModule.ts' logic/index.ts Matched by default include pattern '**/*' -[12:01:06 AM] Project 'tests/tsconfig.json' is out of date because output 'tests/tsconfig.tsbuildinfo' is older than input 'core' +[HH:MM:SS AM] Project 'tests/tsconfig.json' is out of date because output 'tests/tsconfig.tsbuildinfo' is older than input 'core' -[12:01:07 AM] Building project '/user/username/projects/sample1/tests/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/tests/tsconfig.json'... ../../../../a/lib/lib.d.ts Default library for target 'es5' @@ -603,7 +583,7 @@ exports.someClass = someClass; //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-14927048853-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n\nexport class someClass { }","signature":"-2489663677-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-14927048853-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n\nexport class someClass { }","signature":"-2489663677-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -677,23 +657,16 @@ exports.someClass = someClass; "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1587 + "size": 1529 } //// [/user/username/projects/sample1/logic/index.js] file written with same contents //// [/user/username/projects/sample1/logic/index.js.map] file written with same contents //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-2489663677-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-2489663677-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -769,21 +742,15 @@ exports.someClass = someClass; "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1611 + "size": 1572 } //// [/user/username/projects/sample1/tests/index.js] file written with same contents //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-2489663677-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-2489663677-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -876,17 +843,10 @@ exports.someClass = someClass; "../logic/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "../logic/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1781 + "size": 1740 } @@ -905,14 +865,14 @@ class someClass2 { } Output:: /a/lib/tsc --b tests --explainFiles --v -[12:01:13 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * core/tsconfig.json * logic/tsconfig.json * tests/tsconfig.json -[12:01:14 AM] Project 'core/tsconfig.json' is out of date because output 'core/tsconfig.tsbuildinfo' is older than input 'core/index.ts' +[HH:MM:SS AM] Project 'core/tsconfig.json' is out of date because output 'core/tsconfig.tsbuildinfo' is older than input 'core/index.ts' -[12:01:15 AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... ../../../../a/lib/lib.d.ts Default library for target 'es5' @@ -922,13 +882,13 @@ core/index.ts Matched by default include pattern '**/*' core/some_decl.d.ts Matched by default include pattern '**/*' -[12:01:21 AM] Project 'logic/tsconfig.json' is up to date with .d.ts files from its dependencies +[HH:MM:SS AM] Project 'logic/tsconfig.json' is up to date with .d.ts files from its dependencies -[12:01:22 AM] Updating output timestamps of project '/user/username/projects/sample1/logic/tsconfig.json'... +[HH:MM:SS AM] Updating output timestamps of project '/user/username/projects/sample1/logic/tsconfig.json'... -[12:01:25 AM] Project 'tests/tsconfig.json' is up to date with .d.ts files from its dependencies +[HH:MM:SS AM] Project 'tests/tsconfig.json' is up to date with .d.ts files from its dependencies -[12:01:26 AM] Updating output timestamps of project '/user/username/projects/sample1/tests/tsconfig.json'... +[HH:MM:SS AM] Updating output timestamps of project '/user/username/projects/sample1/tests/tsconfig.json'... exitCode:: ExitStatus.Success @@ -957,7 +917,7 @@ var someClass2 = /** @class */ (function () { //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-18382817761-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n\nexport class someClass { }\nclass someClass2 { }","signature":"-2489663677-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-18382817761-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n\nexport class someClass { }\nclass someClass2 { }","signature":"-2489663677-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1031,17 +991,10 @@ var someClass2 = /** @class */ (function () { "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1609 + "size": 1551 } //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] file changed its modified time @@ -1054,16 +1007,16 @@ Input:: Output:: /a/lib/tsc --b tests --explainFiles --v -[12:01:29 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * core/tsconfig.json * logic/tsconfig.json * tests/tsconfig.json -[12:01:30 AM] Project 'core/tsconfig.json' is up to date because newest input 'core/index.ts' is older than output 'core/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'core/tsconfig.json' is up to date because newest input 'core/index.ts' is older than output 'core/tsconfig.tsbuildinfo' -[12:01:31 AM] Project 'logic/tsconfig.json' is up to date because newest input 'logic/index.ts' is older than output 'logic/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'logic/tsconfig.json' is up to date because newest input 'logic/index.ts' is older than output 'logic/tsconfig.tsbuildinfo' -[12:01:32 AM] Project 'tests/tsconfig.json' is up to date because newest input 'tests/index.ts' is older than output 'tests/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tests/tsconfig.json' is up to date because newest input 'tests/index.ts' is older than output 'tests/tsconfig.tsbuildinfo' exitCode:: ExitStatus.Success diff --git a/tests/baselines/reference/tsbuild/sample1/indicates-that-it-would-skip-builds-during-a-dry-build.js b/tests/baselines/reference/tsbuild/sample1/indicates-that-it-would-skip-builds-during-a-dry-build.js index d43bdb977ba3a..0547b46cf261c 100644 --- a/tests/baselines/reference/tsbuild/sample1/indicates-that-it-would-skip-builds-during-a-dry-build.js +++ b/tests/baselines/reference/tsbuild/sample1/indicates-that-it-would-skip-builds-during-a-dry-build.js @@ -72,7 +72,7 @@ declare const dts: any; } //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -146,17 +146,10 @@ declare const dts: any; "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1522 + "size": 1464 } //// [/user/username/projects/sample1/logic/index.d.ts] @@ -207,7 +200,7 @@ export const m = mod; } //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -283,16 +276,10 @@ export const m = mod; "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1574 + "size": 1535 } //// [/user/username/projects/sample1/tests/index.d.ts] @@ -345,7 +332,7 @@ export const m = mod; } //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -438,28 +425,21 @@ export const m = mod; "../logic/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "../logic/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1744 + "size": 1703 } Output:: /a/lib/tsc --b tests --dry -[12:00:42 AM] Project '/user/username/projects/sample1/core/tsconfig.json' is up to date +[HH:MM:SS AM] Project '/user/username/projects/sample1/core/tsconfig.json' is up to date -[12:00:43 AM] Project '/user/username/projects/sample1/logic/tsconfig.json' is up to date +[HH:MM:SS AM] Project '/user/username/projects/sample1/logic/tsconfig.json' is up to date -[12:00:44 AM] Project '/user/username/projects/sample1/tests/tsconfig.json' is up to date +[HH:MM:SS AM] Project '/user/username/projects/sample1/tests/tsconfig.json' is up to date exitCode:: ExitStatus.Success diff --git a/tests/baselines/reference/tsbuild/sample1/invalidates-projects-correctly.js b/tests/baselines/reference/tsbuild/sample1/invalidates-projects-correctly.js index 55660ff8472c0..c9ba1134bc518 100644 --- a/tests/baselines/reference/tsbuild/sample1/invalidates-projects-correctly.js +++ b/tests/baselines/reference/tsbuild/sample1/invalidates-projects-correctly.js @@ -126,7 +126,7 @@ export declare function multiply(a: number, b: number): number; //# sourceMappingURL=index.d.ts.map //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -200,17 +200,10 @@ export declare function multiply(a: number, b: number): number; "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1442 + "size": 1384 } //// [/user/username/projects/sample1/logic/index.js.map] @@ -236,7 +229,7 @@ export declare const m: typeof mod; //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -312,16 +305,10 @@ export declare const m: typeof mod; "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1494 + "size": 1455 } //// [/user/username/projects/sample1/tests/index.js] @@ -342,7 +329,7 @@ export declare const m: typeof mod; //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -435,17 +422,10 @@ export declare const m: typeof mod; "../logic/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "../logic/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1664 + "size": 1623 } @@ -478,7 +458,7 @@ function foo() { } //# sourceMappingURL=index.js.map //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-6834574773-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\nfunction foo() {}","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-6834574773-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\nfunction foo() {}","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -554,16 +534,10 @@ function foo() { } "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1511 + "size": 1472 } @@ -612,7 +586,7 @@ export declare class cNew { //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-6419466200-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\nfunction foo() {}export class cNew {}","signature":"-10890883855-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\nexport declare class cNew {\n}\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-6419466200-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\nfunction foo() {}export class cNew {}","signature":"-10890883855-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\nexport declare class cNew {\n}\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -688,23 +662,17 @@ export declare class cNew { "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1564 + "size": 1525 } Dts change to Logic:: After building next project //// [/user/username/projects/sample1/tests/index.js] file written with same contents //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-10890883855-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\nexport declare class cNew {\n}\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-10890883855-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\nexport declare class cNew {\n}\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -797,16 +765,9 @@ Dts change to Logic:: After building next project "../logic/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "../logic/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1697 + "size": 1656 } diff --git a/tests/baselines/reference/tsbuild/sample1/listEmittedFiles.js b/tests/baselines/reference/tsbuild/sample1/listEmittedFiles.js index f765f1750fed5..1279c3301ac0a 100644 --- a/tests/baselines/reference/tsbuild/sample1/listEmittedFiles.js +++ b/tests/baselines/reference/tsbuild/sample1/listEmittedFiles.js @@ -150,7 +150,7 @@ function multiply(a, b) { return a * b; } //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -224,17 +224,10 @@ function multiply(a, b) { return a * b; } "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1522 + "size": 1464 } //// [/user/username/projects/sample1/logic/index.d.ts] @@ -260,7 +253,7 @@ exports.m = mod; {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AACA,0CAEC;AAHD,iCAAmC;AACnC,SAAgB,eAAe;IAC3B,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAC9B,CAAC;AACD,2CAA6C;AAChC,QAAA,CAAC,GAAG,GAAG,CAAC"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -336,16 +329,10 @@ exports.m = mod; "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1574 + "size": 1535 } //// [/user/username/projects/sample1/tests/index.d.ts] @@ -366,7 +353,7 @@ exports.m = mod; //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -459,17 +446,10 @@ exports.m = mod; "../logic/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "../logic/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1744 + "size": 1703 } @@ -528,7 +508,7 @@ exports.someClass = someClass; //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-14927048853-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n\nexport class someClass { }","signature":"-2489663677-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-14927048853-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n\nexport class someClass { }","signature":"-2489663677-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -602,23 +582,16 @@ exports.someClass = someClass; "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1587 + "size": 1529 } //// [/user/username/projects/sample1/logic/index.js] file written with same contents //// [/user/username/projects/sample1/logic/index.js.map] file written with same contents //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-2489663677-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-2489663677-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -694,21 +667,15 @@ exports.someClass = someClass; "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1611 + "size": 1572 } //// [/user/username/projects/sample1/tests/index.js] file written with same contents //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-2489663677-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-2489663677-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -801,17 +768,10 @@ exports.someClass = someClass; "../logic/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "../logic/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1781 + "size": 1740 } @@ -860,7 +820,7 @@ var someClass2 = /** @class */ (function () { //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-18382817761-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n\nexport class someClass { }\nclass someClass2 { }","signature":"-2489663677-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-18382817761-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n\nexport class someClass { }\nclass someClass2 { }","signature":"-2489663677-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -934,17 +894,10 @@ var someClass2 = /** @class */ (function () { "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1609 + "size": 1551 } //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] file changed its modified time diff --git a/tests/baselines/reference/tsbuild/sample1/listFiles.js b/tests/baselines/reference/tsbuild/sample1/listFiles.js index 7fc0eb17c17be..6511b709b81e1 100644 --- a/tests/baselines/reference/tsbuild/sample1/listFiles.js +++ b/tests/baselines/reference/tsbuild/sample1/listFiles.js @@ -149,7 +149,7 @@ function multiply(a, b) { return a * b; } //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,17 +223,10 @@ function multiply(a, b) { return a * b; } "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1522 + "size": 1464 } //// [/user/username/projects/sample1/logic/index.d.ts] @@ -259,7 +252,7 @@ exports.m = mod; {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AACA,0CAEC;AAHD,iCAAmC;AACnC,SAAgB,eAAe;IAC3B,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAC9B,CAAC;AACD,2CAA6C;AAChC,QAAA,CAAC,GAAG,GAAG,CAAC"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -335,16 +328,10 @@ exports.m = mod; "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1574 + "size": 1535 } //// [/user/username/projects/sample1/tests/index.d.ts] @@ -365,7 +352,7 @@ exports.m = mod; //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -458,17 +445,10 @@ exports.m = mod; "../logic/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "../logic/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1744 + "size": 1703 } @@ -531,7 +511,7 @@ exports.someClass = someClass; //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-14927048853-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n\nexport class someClass { }","signature":"-2489663677-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-14927048853-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n\nexport class someClass { }","signature":"-2489663677-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -605,23 +585,16 @@ exports.someClass = someClass; "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1587 + "size": 1529 } //// [/user/username/projects/sample1/logic/index.js] file written with same contents //// [/user/username/projects/sample1/logic/index.js.map] file written with same contents //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-2489663677-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-2489663677-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -697,21 +670,15 @@ exports.someClass = someClass; "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1611 + "size": 1572 } //// [/user/username/projects/sample1/tests/index.js] file written with same contents //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-2489663677-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-2489663677-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -804,17 +771,10 @@ exports.someClass = someClass; "../logic/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "../logic/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1781 + "size": 1740 } @@ -864,7 +824,7 @@ var someClass2 = /** @class */ (function () { //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-18382817761-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n\nexport class someClass { }\nclass someClass2 { }","signature":"-2489663677-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-18382817761-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n\nexport class someClass { }\nclass someClass2 { }","signature":"-2489663677-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -938,17 +898,10 @@ var someClass2 = /** @class */ (function () { "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1609 + "size": 1551 } //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] file changed its modified time diff --git a/tests/baselines/reference/tsbuild/sample1/rebuilds-completely-when-version-in-tsbuildinfo-doesnt-match-ts-version.js b/tests/baselines/reference/tsbuild/sample1/rebuilds-completely-when-version-in-tsbuildinfo-doesnt-match-ts-version.js index bff9704cbe005..7e32385fb3e2b 100644 --- a/tests/baselines/reference/tsbuild/sample1/rebuilds-completely-when-version-in-tsbuildinfo-doesnt-match-ts-version.js +++ b/tests/baselines/reference/tsbuild/sample1/rebuilds-completely-when-version-in-tsbuildinfo-doesnt-match-ts-version.js @@ -71,7 +71,7 @@ declare const dts: any; } //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -145,17 +145,10 @@ declare const dts: any; "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1522 + "size": 1464 } //// [/user/username/projects/sample1/logic/index.d.ts] @@ -206,7 +199,7 @@ export const m = mod; } //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -282,16 +275,10 @@ export const m = mod; "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1574 + "size": 1535 } //// [/user/username/projects/sample1/tests/index.d.ts] @@ -344,7 +331,7 @@ export const m = mod; } //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -437,39 +424,32 @@ export const m = mod; "../logic/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "../logic/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1744 + "size": 1703 } Output:: /a/lib/tsc --b tests --verbose -[12:00:42 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * core/tsconfig.json * logic/tsconfig.json * tests/tsconfig.json -[12:00:43 AM] Project 'core/tsconfig.json' is out of date because output for it was generated with version 'FakeTSVersion' that differs with current version 'FakeTSCurrentVersion' +[HH:MM:SS AM] Project 'core/tsconfig.json' is out of date because output for it was generated with version 'FakeTSVersion' that differs with current version 'FakeTSCurrentVersion' -[12:00:44 AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... -[12:00:54 AM] Project 'logic/tsconfig.json' is out of date because output for it was generated with version 'FakeTSVersion' that differs with current version 'FakeTSCurrentVersion' +[HH:MM:SS AM] Project 'logic/tsconfig.json' is out of date because output for it was generated with version 'FakeTSVersion' that differs with current version 'FakeTSCurrentVersion' -[12:00:55 AM] Building project '/user/username/projects/sample1/logic/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/logic/tsconfig.json'... -[12:01:02 AM] Project 'tests/tsconfig.json' is out of date because output for it was generated with version 'FakeTSVersion' that differs with current version 'FakeTSCurrentVersion' +[HH:MM:SS AM] Project 'tests/tsconfig.json' is out of date because output for it was generated with version 'FakeTSVersion' that differs with current version 'FakeTSCurrentVersion' -[12:01:03 AM] Building project '/user/username/projects/sample1/tests/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/tests/tsconfig.json'... exitCode:: ExitStatus.Success @@ -481,7 +461,7 @@ exitCode:: ExitStatus.Success //// [/user/username/projects/sample1/core/index.d.ts.map] file written with same contents //// [/user/username/projects/sample1/core/index.js] file written with same contents //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSCurrentVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSCurrentVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -555,24 +535,17 @@ exitCode:: ExitStatus.Success "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSCurrentVersion", - "size": 1529 + "size": 1471 } //// [/user/username/projects/sample1/logic/index.d.ts] file written with same contents //// [/user/username/projects/sample1/logic/index.js] file written with same contents //// [/user/username/projects/sample1/logic/index.js.map] file written with same contents //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSCurrentVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSCurrentVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -648,22 +621,16 @@ exitCode:: ExitStatus.Success "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSCurrentVersion", - "size": 1581 + "size": 1542 } //// [/user/username/projects/sample1/tests/index.d.ts] file written with same contents //// [/user/username/projects/sample1/tests/index.js] file written with same contents //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSCurrentVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSCurrentVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -756,16 +723,9 @@ exitCode:: ExitStatus.Success "../logic/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "../logic/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSCurrentVersion", - "size": 1751 + "size": 1710 } diff --git a/tests/baselines/reference/tsbuild/sample1/rebuilds-from-start-if-force-option-is-set.js b/tests/baselines/reference/tsbuild/sample1/rebuilds-from-start-if-force-option-is-set.js index 88ec8676240b7..d1b84f1e59dec 100644 --- a/tests/baselines/reference/tsbuild/sample1/rebuilds-from-start-if-force-option-is-set.js +++ b/tests/baselines/reference/tsbuild/sample1/rebuilds-from-start-if-force-option-is-set.js @@ -72,7 +72,7 @@ declare const dts: any; } //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -146,17 +146,10 @@ declare const dts: any; "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1522 + "size": 1464 } //// [/user/username/projects/sample1/logic/index.d.ts] @@ -207,7 +200,7 @@ export const m = mod; } //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -283,16 +276,10 @@ export const m = mod; "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1574 + "size": 1535 } //// [/user/username/projects/sample1/tests/index.d.ts] @@ -345,7 +332,7 @@ export const m = mod; } //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -438,39 +425,32 @@ export const m = mod; "../logic/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "../logic/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1744 + "size": 1703 } Output:: /a/lib/tsc --b tests --verbose --force -[12:00:42 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * core/tsconfig.json * logic/tsconfig.json * tests/tsconfig.json -[12:00:43 AM] Project 'core/tsconfig.json' is being forcibly rebuilt +[HH:MM:SS AM] Project 'core/tsconfig.json' is being forcibly rebuilt -[12:00:44 AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... -[12:00:54 AM] Project 'logic/tsconfig.json' is being forcibly rebuilt +[HH:MM:SS AM] Project 'logic/tsconfig.json' is being forcibly rebuilt -[12:00:55 AM] Building project '/user/username/projects/sample1/logic/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/logic/tsconfig.json'... -[12:01:02 AM] Project 'tests/tsconfig.json' is being forcibly rebuilt +[HH:MM:SS AM] Project 'tests/tsconfig.json' is being forcibly rebuilt -[12:01:03 AM] Building project '/user/username/projects/sample1/tests/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/tests/tsconfig.json'... exitCode:: ExitStatus.Success diff --git a/tests/baselines/reference/tsbuild/sample1/rebuilds-when-extended-config-file-changes.js b/tests/baselines/reference/tsbuild/sample1/rebuilds-when-extended-config-file-changes.js index 914612670dea4..17001fcddcb4a 100644 --- a/tests/baselines/reference/tsbuild/sample1/rebuilds-when-extended-config-file-changes.js +++ b/tests/baselines/reference/tsbuild/sample1/rebuilds-when-extended-config-file-changes.js @@ -105,22 +105,22 @@ export const m = mod; Output:: /a/lib/tsc --b tests --verbose -[12:00:24 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * core/tsconfig.json * logic/tsconfig.json * tests/tsconfig.json -[12:00:25 AM] Project 'core/tsconfig.json' is out of date because output file 'core/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'core/tsconfig.json' is out of date because output file 'core/tsconfig.tsbuildinfo' does not exist -[12:00:26 AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... -[12:00:36 AM] Project 'logic/tsconfig.json' is out of date because output file 'logic/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'logic/tsconfig.json' is out of date because output file 'logic/tsconfig.tsbuildinfo' does not exist -[12:00:37 AM] Building project '/user/username/projects/sample1/logic/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/logic/tsconfig.json'... -[12:00:44 AM] Project 'tests/tsconfig.json' is out of date because output file 'tests/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'tests/tsconfig.json' is out of date because output file 'tests/tsconfig.tsbuildinfo' does not exist -[12:00:45 AM] Building project '/user/username/projects/sample1/tests/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/tests/tsconfig.json'... exitCode:: ExitStatus.Success @@ -160,7 +160,7 @@ function multiply(a, b) { return a * b; } //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -234,17 +234,10 @@ function multiply(a, b) { return a * b; } "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1522 + "size": 1464 } //// [/user/username/projects/sample1/logic/index.d.ts] @@ -270,7 +263,7 @@ exports.m = mod; {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AACA,0CAEC;AAHD,iCAAmC;AACnC,SAAgB,eAAe;IAC3B,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAC9B,CAAC;AACD,2CAA6C;AAChC,QAAA,CAAC,GAAG,GAAG,CAAC"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -346,16 +339,10 @@ exports.m = mod; "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1574 + "size": 1535 } //// [/user/username/projects/sample1/tests/index.d.ts] @@ -376,7 +363,7 @@ exports.m = mod; //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"target":1},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"target":1},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -470,17 +457,10 @@ exports.m = mod; "../logic/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "../logic/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1755 + "size": 1714 } @@ -496,25 +476,25 @@ Input:: Output:: /a/lib/tsc --b tests --verbose -[12:00:52 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * core/tsconfig.json * logic/tsconfig.json * tests/tsconfig.json -[12:00:53 AM] Project 'core/tsconfig.json' is up to date because newest input 'core/anotherModule.ts' is older than output 'core/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'core/tsconfig.json' is up to date because newest input 'core/anotherModule.ts' is older than output 'core/tsconfig.tsbuildinfo' -[12:00:54 AM] Project 'logic/tsconfig.json' is up to date because newest input 'logic/index.ts' is older than output 'logic/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'logic/tsconfig.json' is up to date because newest input 'logic/index.ts' is older than output 'logic/tsconfig.tsbuildinfo' -[12:00:55 AM] Project 'tests/tsconfig.json' is out of date because output 'tests/tsconfig.tsbuildinfo' is older than input 'tests/tsconfig.base.json' +[HH:MM:SS AM] Project 'tests/tsconfig.json' is out of date because output 'tests/tsconfig.tsbuildinfo' is older than input 'tests/tsconfig.base.json' -[12:00:56 AM] Building project '/user/username/projects/sample1/tests/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/tests/tsconfig.json'... exitCode:: ExitStatus.Success //// [/user/username/projects/sample1/tests/index.js] file written with same contents //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -607,16 +587,9 @@ exitCode:: ExitStatus.Success "../logic/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "../logic/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1744 + "size": 1703 } diff --git a/tests/baselines/reference/tsbuild/sample1/removes-all-files-it-built.js b/tests/baselines/reference/tsbuild/sample1/removes-all-files-it-built.js index d7c7282bcea17..218fea389dbb7 100644 --- a/tests/baselines/reference/tsbuild/sample1/removes-all-files-it-built.js +++ b/tests/baselines/reference/tsbuild/sample1/removes-all-files-it-built.js @@ -72,7 +72,7 @@ declare const dts: any; } //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -146,17 +146,10 @@ declare const dts: any; "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1522 + "size": 1464 } //// [/user/username/projects/sample1/logic/index.d.ts] @@ -207,7 +200,7 @@ export const m = mod; } //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -283,16 +276,10 @@ export const m = mod; "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1574 + "size": 1535 } //// [/user/username/projects/sample1/tests/index.d.ts] @@ -345,7 +332,7 @@ export const m = mod; } //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -438,17 +425,10 @@ export const m = mod; "../logic/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "../logic/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1744 + "size": 1703 } diff --git a/tests/baselines/reference/tsbuild/sample1/reports-error-if-input-file-is-missing-with-force.js b/tests/baselines/reference/tsbuild/sample1/reports-error-if-input-file-is-missing-with-force.js index 8c676a898e513..82e360544e129 100644 --- a/tests/baselines/reference/tsbuild/sample1/reports-error-if-input-file-is-missing-with-force.js +++ b/tests/baselines/reference/tsbuild/sample1/reports-error-if-input-file-is-missing-with-force.js @@ -97,14 +97,14 @@ export const m = mod; Output:: /a/lib/tsc --b tests --v --f -[12:00:24 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * core/tsconfig.json * logic/tsconfig.json * tests/tsconfig.json -[12:00:25 AM] Project 'core/tsconfig.json' is being forcibly rebuilt +[HH:MM:SS AM] Project 'core/tsconfig.json' is being forcibly rebuilt -[12:00:26 AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... error TS6053: File '/user/username/projects/sample1/core/anotherModule.ts' not found. The file is in the program because: @@ -115,13 +115,13 @@ Output::    ~~~~~~~~~~~~~~~~~~ File is matched by 'files' list specified here. -[12:00:30 AM] Project 'logic/tsconfig.json' can't be built because its dependency 'core' has errors +[HH:MM:SS AM] Project 'logic/tsconfig.json' can't be built because its dependency 'core' has errors -[12:00:31 AM] Skipping build of project '/user/username/projects/sample1/logic/tsconfig.json' because its dependency '/user/username/projects/sample1/core' has errors +[HH:MM:SS AM] Skipping build of project '/user/username/projects/sample1/logic/tsconfig.json' because its dependency '/user/username/projects/sample1/core' has errors -[12:00:32 AM] Project 'tests/tsconfig.json' can't be built because its dependency 'core' has errors +[HH:MM:SS AM] Project 'tests/tsconfig.json' can't be built because its dependency 'core' has errors -[12:00:33 AM] Skipping build of project '/user/username/projects/sample1/tests/tsconfig.json' because its dependency '/user/username/projects/sample1/core' has errors +[HH:MM:SS AM] Skipping build of project '/user/username/projects/sample1/tests/tsconfig.json' because its dependency '/user/username/projects/sample1/core' has errors Found 1 error. @@ -130,7 +130,7 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":false,"impliedFormat":1},{"version":"-7959511260-declare const dts: any;","signature":false,"affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3],"options":{"composite":true},"referencedMap":[],"changeFileSet":[1,2,3]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":false,"impliedFormat":1},{"version":"-7959511260-declare const dts: any;","signature":false,"affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3],"options":{"composite":true},"changeFileSet":[1,2,3]},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -186,7 +186,6 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped "options": { "composite": true }, - "referencedMap": {}, "changeFileSet": [ "../../../../../a/lib/lib.d.ts", "./index.ts", @@ -194,6 +193,6 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped ] }, "version": "FakeTSVersion", - "size": 1090 + "size": 1071 } diff --git a/tests/baselines/reference/tsbuild/sample1/reports-error-if-input-file-is-missing.js b/tests/baselines/reference/tsbuild/sample1/reports-error-if-input-file-is-missing.js index 6aa83ccccb175..b55355e4f43c0 100644 --- a/tests/baselines/reference/tsbuild/sample1/reports-error-if-input-file-is-missing.js +++ b/tests/baselines/reference/tsbuild/sample1/reports-error-if-input-file-is-missing.js @@ -97,14 +97,14 @@ export const m = mod; Output:: /a/lib/tsc --b tests --v -[12:00:24 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * core/tsconfig.json * logic/tsconfig.json * tests/tsconfig.json -[12:00:25 AM] Project 'core/tsconfig.json' is out of date because output file 'core/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'core/tsconfig.json' is out of date because output file 'core/tsconfig.tsbuildinfo' does not exist -[12:00:26 AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... error TS6053: File '/user/username/projects/sample1/core/anotherModule.ts' not found. The file is in the program because: @@ -115,13 +115,13 @@ Output::    ~~~~~~~~~~~~~~~~~~ File is matched by 'files' list specified here. -[12:00:30 AM] Project 'logic/tsconfig.json' can't be built because its dependency 'core' has errors +[HH:MM:SS AM] Project 'logic/tsconfig.json' can't be built because its dependency 'core' has errors -[12:00:31 AM] Skipping build of project '/user/username/projects/sample1/logic/tsconfig.json' because its dependency '/user/username/projects/sample1/core' has errors +[HH:MM:SS AM] Skipping build of project '/user/username/projects/sample1/logic/tsconfig.json' because its dependency '/user/username/projects/sample1/core' has errors -[12:00:32 AM] Project 'tests/tsconfig.json' can't be built because its dependency 'core' has errors +[HH:MM:SS AM] Project 'tests/tsconfig.json' can't be built because its dependency 'core' has errors -[12:00:33 AM] Skipping build of project '/user/username/projects/sample1/tests/tsconfig.json' because its dependency '/user/username/projects/sample1/core' has errors +[HH:MM:SS AM] Skipping build of project '/user/username/projects/sample1/tests/tsconfig.json' because its dependency '/user/username/projects/sample1/core' has errors Found 1 error. @@ -130,7 +130,7 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":false,"impliedFormat":1},{"version":"-7959511260-declare const dts: any;","signature":false,"affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3],"options":{"composite":true},"referencedMap":[],"changeFileSet":[1,2,3]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":false,"impliedFormat":1},{"version":"-7959511260-declare const dts: any;","signature":false,"affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3],"options":{"composite":true},"changeFileSet":[1,2,3]},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -186,7 +186,6 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped "options": { "composite": true }, - "referencedMap": {}, "changeFileSet": [ "../../../../../a/lib/lib.d.ts", "./index.ts", @@ -194,6 +193,6 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped ] }, "version": "FakeTSVersion", - "size": 1090 + "size": 1071 } diff --git a/tests/baselines/reference/tsbuild/sample1/sample.js b/tests/baselines/reference/tsbuild/sample1/sample.js index 20388d09675d5..13cb1fb6e4408 100644 --- a/tests/baselines/reference/tsbuild/sample1/sample.js +++ b/tests/baselines/reference/tsbuild/sample1/sample.js @@ -98,22 +98,22 @@ export const m = mod; Output:: /a/lib/tsc --b tests --verbose -[12:00:22 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * core/tsconfig.json * logic/tsconfig.json * tests/tsconfig.json -[12:00:23 AM] Project 'core/tsconfig.json' is out of date because output file 'core/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'core/tsconfig.json' is out of date because output file 'core/tsconfig.tsbuildinfo' does not exist -[12:00:24 AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... -[12:00:34 AM] Project 'logic/tsconfig.json' is out of date because output file 'logic/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'logic/tsconfig.json' is out of date because output file 'logic/tsconfig.tsbuildinfo' does not exist -[12:00:35 AM] Building project '/user/username/projects/sample1/logic/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/logic/tsconfig.json'... -[12:00:42 AM] Project 'tests/tsconfig.json' is out of date because output file 'tests/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'tests/tsconfig.json' is out of date because output file 'tests/tsconfig.tsbuildinfo' does not exist -[12:00:43 AM] Building project '/user/username/projects/sample1/tests/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/tests/tsconfig.json'... exitCode:: ExitStatus.Success readFiles:: { @@ -315,7 +315,7 @@ function multiply(a, b) { return a * b; } //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -389,17 +389,10 @@ function multiply(a, b) { return a * b; } "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1522 + "size": 1464 } //// [/user/username/projects/sample1/logic/index.d.ts] @@ -550,7 +543,7 @@ sourceFile:index.ts >>>//# sourceMappingURL=index.js.map //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -626,16 +619,10 @@ sourceFile:index.ts "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1574 + "size": 1535 } //// [/user/username/projects/sample1/tests/index.d.ts] @@ -656,7 +643,7 @@ exports.m = mod; //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -749,17 +736,10 @@ exports.m = mod; "../logic/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "../logic/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1744 + "size": 1703 } @@ -777,22 +757,22 @@ export class someClass { } Output:: /a/lib/tsc --b tests --verbose -[12:00:53 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * core/tsconfig.json * logic/tsconfig.json * tests/tsconfig.json -[12:00:54 AM] Project 'core/tsconfig.json' is out of date because output 'core/tsconfig.tsbuildinfo' is older than input 'core/index.ts' +[HH:MM:SS AM] Project 'core/tsconfig.json' is out of date because output 'core/tsconfig.tsbuildinfo' is older than input 'core/index.ts' -[12:00:55 AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... -[12:01:02 AM] Project 'logic/tsconfig.json' is out of date because output 'logic/tsconfig.tsbuildinfo' is older than input 'core' +[HH:MM:SS AM] Project 'logic/tsconfig.json' is out of date because output 'logic/tsconfig.tsbuildinfo' is older than input 'core' -[12:01:03 AM] Building project '/user/username/projects/sample1/logic/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/logic/tsconfig.json'... -[12:01:09 AM] Project 'tests/tsconfig.json' is out of date because output 'tests/tsconfig.tsbuildinfo' is older than input 'core' +[HH:MM:SS AM] Project 'tests/tsconfig.json' is out of date because output 'tests/tsconfig.tsbuildinfo' is older than input 'core' -[12:01:10 AM] Building project '/user/username/projects/sample1/tests/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/tests/tsconfig.json'... exitCode:: ExitStatus.Success readFiles:: { @@ -976,7 +956,7 @@ exports.someClass = someClass; //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-14927048853-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n\nexport class someClass { }","signature":"-2489663677-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-14927048853-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n\nexport class someClass { }","signature":"-2489663677-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1050,24 +1030,17 @@ exports.someClass = someClass; "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1587 + "size": 1529 } //// [/user/username/projects/sample1/logic/index.js] file written with same contents //// [/user/username/projects/sample1/logic/index.js.map] file written with same contents //// [/user/username/projects/sample1/logic/index.js.map.baseline.txt] file written with same contents //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-2489663677-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-2489663677-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1143,21 +1116,15 @@ exports.someClass = someClass; "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1611 + "size": 1572 } //// [/user/username/projects/sample1/tests/index.js] file written with same contents //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-2489663677-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-2489663677-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1250,17 +1217,10 @@ exports.someClass = someClass; "../logic/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "../logic/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1781 + "size": 1740 } @@ -1279,22 +1239,22 @@ class someClass2 { } Output:: /a/lib/tsc --b tests --verbose -[12:01:18 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * core/tsconfig.json * logic/tsconfig.json * tests/tsconfig.json -[12:01:19 AM] Project 'core/tsconfig.json' is out of date because output 'core/tsconfig.tsbuildinfo' is older than input 'core/index.ts' +[HH:MM:SS AM] Project 'core/tsconfig.json' is out of date because output 'core/tsconfig.tsbuildinfo' is older than input 'core/index.ts' -[12:01:20 AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... -[12:01:26 AM] Project 'logic/tsconfig.json' is up to date with .d.ts files from its dependencies +[HH:MM:SS AM] Project 'logic/tsconfig.json' is up to date with .d.ts files from its dependencies -[12:01:27 AM] Updating output timestamps of project '/user/username/projects/sample1/logic/tsconfig.json'... +[HH:MM:SS AM] Updating output timestamps of project '/user/username/projects/sample1/logic/tsconfig.json'... -[12:01:30 AM] Project 'tests/tsconfig.json' is up to date with .d.ts files from its dependencies +[HH:MM:SS AM] Project 'tests/tsconfig.json' is up to date with .d.ts files from its dependencies -[12:01:31 AM] Updating output timestamps of project '/user/username/projects/sample1/tests/tsconfig.json'... +[HH:MM:SS AM] Updating output timestamps of project '/user/username/projects/sample1/tests/tsconfig.json'... exitCode:: ExitStatus.Success readFiles:: { @@ -1334,7 +1294,7 @@ var someClass2 = /** @class */ (function () { //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-18382817761-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n\nexport class someClass { }\nclass someClass2 { }","signature":"-2489663677-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-18382817761-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n\nexport class someClass { }\nclass someClass2 { }","signature":"-2489663677-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1408,17 +1368,10 @@ var someClass2 = /** @class */ (function () { "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1609 + "size": 1551 } //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] file changed its modified time @@ -1431,16 +1384,16 @@ Input:: Output:: /a/lib/tsc --b tests --verbose -[12:01:35 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * core/tsconfig.json * logic/tsconfig.json * tests/tsconfig.json -[12:01:36 AM] Project 'core/tsconfig.json' is up to date because newest input 'core/index.ts' is older than output 'core/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'core/tsconfig.json' is up to date because newest input 'core/index.ts' is older than output 'core/tsconfig.tsbuildinfo' -[12:01:37 AM] Project 'logic/tsconfig.json' is up to date because newest input 'logic/index.ts' is older than output 'logic/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'logic/tsconfig.json' is up to date because newest input 'logic/index.ts' is older than output 'logic/tsconfig.tsbuildinfo' -[12:01:38 AM] Project 'tests/tsconfig.json' is up to date because newest input 'tests/index.ts' is older than output 'tests/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tests/tsconfig.json' is up to date because newest input 'tests/index.ts' is older than output 'tests/tsconfig.tsbuildinfo' exitCode:: ExitStatus.Success readFiles:: { @@ -1477,20 +1430,20 @@ Input:: Output:: /a/lib/tsc --b tests --verbose -[12:01:40 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * core/tsconfig.json * logic/tsconfig.json * tests/tsconfig.json -[12:01:41 AM] Project 'core/tsconfig.json' is up to date because newest input 'core/index.ts' is older than output 'core/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'core/tsconfig.json' is up to date because newest input 'core/index.ts' is older than output 'core/tsconfig.tsbuildinfo' -[12:01:42 AM] Project 'logic/tsconfig.json' is out of date because output 'logic/tsconfig.tsbuildinfo' is older than input 'logic/tsconfig.json' +[HH:MM:SS AM] Project 'logic/tsconfig.json' is out of date because output 'logic/tsconfig.tsbuildinfo' is older than input 'logic/tsconfig.json' -[12:01:43 AM] Building project '/user/username/projects/sample1/logic/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/logic/tsconfig.json'... -[12:01:51 AM] Project 'tests/tsconfig.json' is out of date because output 'tests/tsconfig.tsbuildinfo' is older than input 'logic' +[HH:MM:SS AM] Project 'tests/tsconfig.json' is out of date because output 'tests/tsconfig.tsbuildinfo' is older than input 'logic' -[12:01:52 AM] Building project '/user/username/projects/sample1/tests/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/tests/tsconfig.json'... exitCode:: ExitStatus.Success readFiles:: { @@ -1517,7 +1470,7 @@ export declare const m: typeof mod; //// [/user/username/projects/sample1/logic/index.js.map] file written with same contents //// [/user/username/projects/sample1/logic/index.js.map.baseline.txt] file written with same contents //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-2489663677-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"declarationDir":"./decls","skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./decls/index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-2489663677-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"declarationDir":"./decls","skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./decls/index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1594,21 +1547,15 @@ export declare const m: typeof mod; "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./decls/index.d.ts" }, "version": "FakeTSVersion", - "size": 1644 + "size": 1605 } //// [/user/username/projects/sample1/tests/index.js] file written with same contents //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/decls/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-2489663677-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/decls/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-2489663677-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1701,17 +1648,10 @@ export declare const m: typeof mod; "../logic/decls/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "../logic/decls/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1787 + "size": 1746 } @@ -1722,16 +1662,16 @@ Input:: Output:: /a/lib/tsc --b tests --verbose -[12:01:58 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * core/tsconfig.json * logic/tsconfig.json * tests/tsconfig.json -[12:01:59 AM] Project 'core/tsconfig.json' is up to date because newest input 'core/index.ts' is older than output 'core/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'core/tsconfig.json' is up to date because newest input 'core/index.ts' is older than output 'core/tsconfig.tsbuildinfo' -[12:02:00 AM] Project 'logic/tsconfig.json' is up to date because newest input 'logic/index.ts' is older than output 'logic/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'logic/tsconfig.json' is up to date because newest input 'logic/index.ts' is older than output 'logic/tsconfig.tsbuildinfo' -[12:02:01 AM] Project 'tests/tsconfig.json' is up to date because newest input 'tests/index.ts' is older than output 'tests/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'tests/tsconfig.json' is up to date because newest input 'tests/index.ts' is older than output 'tests/tsconfig.tsbuildinfo' exitCode:: ExitStatus.Success readFiles:: { diff --git a/tests/baselines/reference/tsbuild/sample1/tsbuildinfo-has-error.js b/tests/baselines/reference/tsbuild/sample1/tsbuildinfo-has-error.js index cdc70ceaaa906..85e537a24fabd 100644 --- a/tests/baselines/reference/tsbuild/sample1/tsbuildinfo-has-error.js +++ b/tests/baselines/reference/tsbuild/sample1/tsbuildinfo-has-error.js @@ -28,12 +28,12 @@ Some random string Output:: /lib/tsc --b src/project -i -v -[12:00:10 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:00:11 AM] Project 'src/project/tsconfig.json' is out of date because there was error reading file 'src/project/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is out of date because there was error reading file 'src/project/tsconfig.tsbuildinfo' -[12:00:12 AM] Building project '/src/project/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project/tsconfig.json'... exitCode:: ExitStatus.Success @@ -46,7 +46,7 @@ exports.x = 10; //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./main.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","impliedFormat":1}],"root":[2],"referencedMap":[],"semanticDiagnosticsPerFile":[1,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./main.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","impliedFormat":1}],"root":[2]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -82,15 +82,10 @@ exports.x = 10; 2, "./main.ts" ] - ], - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./main.ts" ] }, "version": "FakeTSVersion", - "size": 728 + "size": 674 } @@ -98,24 +93,24 @@ exports.x = 10; Change:: tsbuildinfo written has error Input:: //// [/src/project/tsconfig.tsbuildinfo] -Some random string{"program":{"fileNames":["../../lib/lib.d.ts","./main.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","impliedFormat":1}],"root":[2],"referencedMap":[],"semanticDiagnosticsPerFile":[1,2]},"version":"FakeTSVersion"} +Some random string{"program":{"fileNames":["../../lib/lib.d.ts","./main.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","impliedFormat":1}],"root":[2]},"version":"FakeTSVersion"} Output:: /lib/tsc --b src/project -i -v -[12:00:18 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:00:19 AM] Project 'src/project/tsconfig.json' is out of date because there was error reading file 'src/project/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is out of date because there was error reading file 'src/project/tsconfig.tsbuildinfo' -[12:00:20 AM] Building project '/src/project/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project/tsconfig.json'... exitCode:: ExitStatus.Success //// [/src/project/main.js] file written with same contents //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./main.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","impliedFormat":1}],"root":[2],"referencedMap":[],"semanticDiagnosticsPerFile":[1,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./main.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","impliedFormat":1}],"root":[2]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] file written with same contents diff --git a/tests/baselines/reference/tsbuild/sample1/when-declaration-option-changes.js b/tests/baselines/reference/tsbuild/sample1/when-declaration-option-changes.js index 58d29cf116fff..8d0a691d44e83 100644 --- a/tests/baselines/reference/tsbuild/sample1/when-declaration-option-changes.js +++ b/tests/baselines/reference/tsbuild/sample1/when-declaration-option-changes.js @@ -96,12 +96,12 @@ export const m = mod; Output:: /a/lib/tsc --b core --verbose -[12:00:23 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * core/tsconfig.json -[12:00:24 AM] Project 'core/tsconfig.json' is out of date because output file 'core/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'core/tsconfig.json' is out of date because output file 'core/tsconfig.tsbuildinfo' does not exist -[12:00:25 AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... exitCode:: ExitStatus.Success @@ -125,7 +125,7 @@ function multiply(a, b) { return a * b; } //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"skipDefaultLibCheck":true}},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -193,17 +193,10 @@ function multiply(a, b) { return a * b; } ], "options": { "skipDefaultLibCheck": true - }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1160 + "size": 1102 } @@ -222,12 +215,12 @@ Input:: Output:: /a/lib/tsc --b core --verbose -[12:00:32 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * core/tsconfig.json -[12:00:33 AM] Project 'core/tsconfig.json' is out of date because buildinfo file 'core/tsconfig.tsbuildinfo' indicates there is change in compilerOptions +[HH:MM:SS AM] Project 'core/tsconfig.json' is out of date because buildinfo file 'core/tsconfig.tsbuildinfo' indicates there is change in compilerOptions -[12:00:34 AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... exitCode:: ExitStatus.Success @@ -243,7 +236,7 @@ export declare function multiply(a: number, b: number): number; //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true,"skipDefaultLibCheck":true}},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -314,16 +307,9 @@ export declare function multiply(a: number, b: number): number; "options": { "declaration": true, "skipDefaultLibCheck": true - }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1445 + "size": 1387 } diff --git a/tests/baselines/reference/tsbuild/sample1/when-declarationMap-changes.js b/tests/baselines/reference/tsbuild/sample1/when-declarationMap-changes.js index 7fe8bee10f78e..1b4ed6ce885d4 100644 --- a/tests/baselines/reference/tsbuild/sample1/when-declarationMap-changes.js +++ b/tests/baselines/reference/tsbuild/sample1/when-declarationMap-changes.js @@ -98,22 +98,22 @@ export const m = mod; Output:: /a/lib/tsc --b tests --verbose -[12:00:22 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * core/tsconfig.json * logic/tsconfig.json * tests/tsconfig.json -[12:00:23 AM] Project 'core/tsconfig.json' is out of date because output file 'core/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'core/tsconfig.json' is out of date because output file 'core/tsconfig.tsbuildinfo' does not exist -[12:00:24 AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... -[12:00:34 AM] Project 'logic/tsconfig.json' is out of date because output file 'logic/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'logic/tsconfig.json' is out of date because output file 'logic/tsconfig.tsbuildinfo' does not exist -[12:00:35 AM] Building project '/user/username/projects/sample1/logic/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/logic/tsconfig.json'... -[12:00:42 AM] Project 'tests/tsconfig.json' is out of date because output file 'tests/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'tests/tsconfig.json' is out of date because output file 'tests/tsconfig.tsbuildinfo' does not exist -[12:00:43 AM] Building project '/user/username/projects/sample1/tests/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/tests/tsconfig.json'... exitCode:: ExitStatus.Success @@ -153,7 +153,7 @@ function multiply(a, b) { return a * b; } //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -227,17 +227,10 @@ function multiply(a, b) { return a * b; } "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1522 + "size": 1464 } //// [/user/username/projects/sample1/logic/index.d.ts] @@ -263,7 +256,7 @@ exports.m = mod; {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AACA,0CAEC;AAHD,iCAAmC;AACnC,SAAgB,eAAe;IAC3B,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAC9B,CAAC;AACD,2CAA6C;AAChC,QAAA,CAAC,GAAG,GAAG,CAAC"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -339,16 +332,10 @@ exports.m = mod; "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1574 + "size": 1535 } //// [/user/username/projects/sample1/tests/index.d.ts] @@ -369,7 +356,7 @@ exports.m = mod; //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -462,17 +449,10 @@ exports.m = mod; "../logic/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "../logic/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1744 + "size": 1703 } @@ -493,22 +473,22 @@ Input:: Output:: /a/lib/tsc --b tests --verbose -[12:00:50 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * core/tsconfig.json * logic/tsconfig.json * tests/tsconfig.json -[12:00:51 AM] Project 'core/tsconfig.json' is out of date because buildinfo file 'core/tsconfig.tsbuildinfo' indicates there is change in compilerOptions +[HH:MM:SS AM] Project 'core/tsconfig.json' is out of date because buildinfo file 'core/tsconfig.tsbuildinfo' indicates there is change in compilerOptions -[12:00:52 AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... -[12:01:00 AM] Project 'logic/tsconfig.json' is up to date with .d.ts files from its dependencies +[HH:MM:SS AM] Project 'logic/tsconfig.json' is up to date with .d.ts files from its dependencies -[12:01:01 AM] Updating output timestamps of project '/user/username/projects/sample1/logic/tsconfig.json'... +[HH:MM:SS AM] Updating output timestamps of project '/user/username/projects/sample1/logic/tsconfig.json'... -[12:01:04 AM] Project 'tests/tsconfig.json' is up to date with .d.ts files from its dependencies +[HH:MM:SS AM] Project 'tests/tsconfig.json' is up to date with .d.ts files from its dependencies -[12:01:05 AM] Updating output timestamps of project '/user/username/projects/sample1/tests/tsconfig.json'... +[HH:MM:SS AM] Updating output timestamps of project '/user/username/projects/sample1/tests/tsconfig.json'... exitCode:: ExitStatus.Success @@ -524,7 +504,7 @@ export declare function multiply(a: number, b: number): number; //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":false,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":false,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -598,17 +578,10 @@ export declare function multiply(a: number, b: number): number; "declarationMap": false, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1523 + "size": 1465 } //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] file changed its modified time @@ -631,22 +604,22 @@ Input:: Output:: /a/lib/tsc --b tests --verbose -[12:01:09 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * core/tsconfig.json * logic/tsconfig.json * tests/tsconfig.json -[12:01:10 AM] Project 'core/tsconfig.json' is out of date because buildinfo file 'core/tsconfig.tsbuildinfo' indicates there is change in compilerOptions +[HH:MM:SS AM] Project 'core/tsconfig.json' is out of date because buildinfo file 'core/tsconfig.tsbuildinfo' indicates there is change in compilerOptions -[12:01:11 AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... -[12:01:21 AM] Project 'logic/tsconfig.json' is up to date with .d.ts files from its dependencies +[HH:MM:SS AM] Project 'logic/tsconfig.json' is up to date with .d.ts files from its dependencies -[12:01:22 AM] Updating output timestamps of project '/user/username/projects/sample1/logic/tsconfig.json'... +[HH:MM:SS AM] Updating output timestamps of project '/user/username/projects/sample1/logic/tsconfig.json'... -[12:01:25 AM] Project 'tests/tsconfig.json' is up to date with .d.ts files from its dependencies +[HH:MM:SS AM] Project 'tests/tsconfig.json' is up to date with .d.ts files from its dependencies -[12:01:26 AM] Updating output timestamps of project '/user/username/projects/sample1/tests/tsconfig.json'... +[HH:MM:SS AM] Updating output timestamps of project '/user/username/projects/sample1/tests/tsconfig.json'... exitCode:: ExitStatus.Success @@ -664,7 +637,7 @@ export declare function multiply(a: number, b: number): number; //// [/user/username/projects/sample1/core/index.d.ts.map] file written with same contents //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -738,17 +711,10 @@ export declare function multiply(a: number, b: number): number; "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1522 + "size": 1464 } //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] file changed its modified time diff --git a/tests/baselines/reference/tsbuild/sample1/when-esModuleInterop-option-changes.js b/tests/baselines/reference/tsbuild/sample1/when-esModuleInterop-option-changes.js index 9a5563748111f..d709388b2735c 100644 --- a/tests/baselines/reference/tsbuild/sample1/when-esModuleInterop-option-changes.js +++ b/tests/baselines/reference/tsbuild/sample1/when-esModuleInterop-option-changes.js @@ -99,22 +99,22 @@ export const m = mod; Output:: /a/lib/tsc --b tests --verbose -[12:00:23 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * core/tsconfig.json * logic/tsconfig.json * tests/tsconfig.json -[12:00:24 AM] Project 'core/tsconfig.json' is out of date because output file 'core/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'core/tsconfig.json' is out of date because output file 'core/tsconfig.tsbuildinfo' does not exist -[12:00:25 AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... -[12:00:35 AM] Project 'logic/tsconfig.json' is out of date because output file 'logic/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'logic/tsconfig.json' is out of date because output file 'logic/tsconfig.tsbuildinfo' does not exist -[12:00:36 AM] Building project '/user/username/projects/sample1/logic/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/logic/tsconfig.json'... -[12:00:43 AM] Project 'tests/tsconfig.json' is out of date because output file 'tests/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'tests/tsconfig.json' is out of date because output file 'tests/tsconfig.tsbuildinfo' does not exist -[12:00:44 AM] Building project '/user/username/projects/sample1/tests/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/tests/tsconfig.json'... exitCode:: ExitStatus.Success @@ -154,7 +154,7 @@ function multiply(a, b) { return a * b; } //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,17 +228,10 @@ function multiply(a, b) { return a * b; } "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1522 + "size": 1464 } //// [/user/username/projects/sample1/logic/index.d.ts] @@ -264,7 +257,7 @@ exports.m = mod; {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AACA,0CAEC;AAHD,iCAAmC;AACnC,SAAgB,eAAe;IAC3B,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAC9B,CAAC;AACD,2CAA6C;AAChC,QAAA,CAAC,GAAG,GAAG,CAAC"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -340,16 +333,10 @@ exports.m = mod; "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1574 + "size": 1535 } //// [/user/username/projects/sample1/tests/index.d.ts] @@ -370,7 +357,7 @@ exports.m = mod; //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"esModuleInterop":false,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"esModuleInterop":false,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -464,17 +451,10 @@ exports.m = mod; "../logic/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "../logic/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1768 + "size": 1727 } @@ -507,18 +487,18 @@ Input:: Output:: /a/lib/tsc --b tests --verbose -[12:00:51 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * core/tsconfig.json * logic/tsconfig.json * tests/tsconfig.json -[12:00:52 AM] Project 'core/tsconfig.json' is up to date because newest input 'core/anotherModule.ts' is older than output 'core/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'core/tsconfig.json' is up to date because newest input 'core/anotherModule.ts' is older than output 'core/tsconfig.tsbuildinfo' -[12:00:53 AM] Project 'logic/tsconfig.json' is up to date because newest input 'logic/index.ts' is older than output 'logic/tsconfig.tsbuildinfo' +[HH:MM:SS AM] Project 'logic/tsconfig.json' is up to date because newest input 'logic/index.ts' is older than output 'logic/tsconfig.tsbuildinfo' -[12:00:54 AM] Project 'tests/tsconfig.json' is out of date because output 'tests/tsconfig.tsbuildinfo' is older than input 'tests/tsconfig.json' +[HH:MM:SS AM] Project 'tests/tsconfig.json' is out of date because output 'tests/tsconfig.tsbuildinfo' is older than input 'tests/tsconfig.json' -[12:00:55 AM] Building project '/user/username/projects/sample1/tests/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/tests/tsconfig.json'... exitCode:: ExitStatus.Success @@ -559,7 +539,7 @@ exports.m = mod; //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"esModuleInterop":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"esModuleInterop":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -653,16 +633,9 @@ exports.m = mod; "../logic/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "../logic/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1767 + "size": 1726 } diff --git a/tests/baselines/reference/tsbuild/sample1/when-input-file-text-does-not-change-but-its-modified-time-changes.js b/tests/baselines/reference/tsbuild/sample1/when-input-file-text-does-not-change-but-its-modified-time-changes.js index bba7c6f316b8e..b2d55682eb774 100644 --- a/tests/baselines/reference/tsbuild/sample1/when-input-file-text-does-not-change-but-its-modified-time-changes.js +++ b/tests/baselines/reference/tsbuild/sample1/when-input-file-text-does-not-change-but-its-modified-time-changes.js @@ -98,22 +98,22 @@ export const m = mod; Output:: /a/lib/tsc --b tests --verbose -[12:00:22 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * core/tsconfig.json * logic/tsconfig.json * tests/tsconfig.json -[12:00:23 AM] Project 'core/tsconfig.json' is out of date because output file 'core/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'core/tsconfig.json' is out of date because output file 'core/tsconfig.tsbuildinfo' does not exist -[12:00:24 AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... -[12:00:34 AM] Project 'logic/tsconfig.json' is out of date because output file 'logic/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'logic/tsconfig.json' is out of date because output file 'logic/tsconfig.tsbuildinfo' does not exist -[12:00:35 AM] Building project '/user/username/projects/sample1/logic/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/logic/tsconfig.json'... -[12:00:42 AM] Project 'tests/tsconfig.json' is out of date because output file 'tests/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'tests/tsconfig.json' is out of date because output file 'tests/tsconfig.tsbuildinfo' does not exist -[12:00:43 AM] Building project '/user/username/projects/sample1/tests/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/tests/tsconfig.json'... exitCode:: ExitStatus.Success @@ -153,7 +153,7 @@ function multiply(a, b) { return a * b; } //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -227,17 +227,10 @@ function multiply(a, b) { return a * b; } "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1522 + "size": 1464 } //// [/user/username/projects/sample1/logic/index.d.ts] @@ -263,7 +256,7 @@ exports.m = mod; {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AACA,0CAEC;AAHD,iCAAmC;AACnC,SAAgB,eAAe;IAC3B,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAC9B,CAAC;AACD,2CAA6C;AAChC,QAAA,CAAC,GAAG,GAAG,CAAC"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -339,16 +332,10 @@ exports.m = mod; "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1574 + "size": 1535 } //// [/user/username/projects/sample1/tests/index.d.ts] @@ -369,7 +356,7 @@ exports.m = mod; //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -462,17 +449,10 @@ exports.m = mod; "../logic/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "../logic/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1744 + "size": 1703 } @@ -484,22 +464,22 @@ Input:: Output:: /a/lib/tsc --b tests --verbose -[12:00:51 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * core/tsconfig.json * logic/tsconfig.json * tests/tsconfig.json -[12:00:52 AM] Project 'core/tsconfig.json' is up to date but needs to update timestamps of output files that are older than input files +[HH:MM:SS AM] Project 'core/tsconfig.json' is up to date but needs to update timestamps of output files that are older than input files -[12:00:53 AM] Updating output timestamps of project '/user/username/projects/sample1/core/tsconfig.json'... +[HH:MM:SS AM] Updating output timestamps of project '/user/username/projects/sample1/core/tsconfig.json'... -[12:00:56 AM] Project 'logic/tsconfig.json' is up to date with .d.ts files from its dependencies +[HH:MM:SS AM] Project 'logic/tsconfig.json' is up to date with .d.ts files from its dependencies -[12:00:57 AM] Updating output timestamps of project '/user/username/projects/sample1/logic/tsconfig.json'... +[HH:MM:SS AM] Updating output timestamps of project '/user/username/projects/sample1/logic/tsconfig.json'... -[12:01:00 AM] Project 'tests/tsconfig.json' is up to date with .d.ts files from its dependencies +[HH:MM:SS AM] Project 'tests/tsconfig.json' is up to date with .d.ts files from its dependencies -[12:01:01 AM] Updating output timestamps of project '/user/username/projects/sample1/tests/tsconfig.json'... +[HH:MM:SS AM] Updating output timestamps of project '/user/username/projects/sample1/tests/tsconfig.json'... exitCode:: ExitStatus.Success diff --git a/tests/baselines/reference/tsbuild/sample1/when-logic-specifies-tsBuildInfoFile.js b/tests/baselines/reference/tsbuild/sample1/when-logic-specifies-tsBuildInfoFile.js index 887c1ca10ed28..5156103385e16 100644 --- a/tests/baselines/reference/tsbuild/sample1/when-logic-specifies-tsBuildInfoFile.js +++ b/tests/baselines/reference/tsbuild/sample1/when-logic-specifies-tsBuildInfoFile.js @@ -99,22 +99,22 @@ export const m = mod; Output:: /a/lib/tsc --b tests --verbose -[12:00:23 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * core/tsconfig.json * logic/tsconfig.json * tests/tsconfig.json -[12:00:24 AM] Project 'core/tsconfig.json' is out of date because output file 'core/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'core/tsconfig.json' is out of date because output file 'core/tsconfig.tsbuildinfo' does not exist -[12:00:25 AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... -[12:00:35 AM] Project 'logic/tsconfig.json' is out of date because output file 'logic/ownFile.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'logic/tsconfig.json' is out of date because output file 'logic/ownFile.tsbuildinfo' does not exist -[12:00:36 AM] Building project '/user/username/projects/sample1/logic/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/logic/tsconfig.json'... -[12:00:43 AM] Project 'tests/tsconfig.json' is out of date because output file 'tests/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'tests/tsconfig.json' is out of date because output file 'tests/tsconfig.tsbuildinfo' does not exist -[12:00:44 AM] Building project '/user/username/projects/sample1/tests/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/tests/tsconfig.json'... exitCode:: ExitStatus.Success readFiles:: { @@ -316,7 +316,7 @@ function multiply(a, b) { return a * b; } //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -390,17 +390,10 @@ function multiply(a, b) { return a * b; } "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1522 + "size": 1464 } //// [/user/username/projects/sample1/logic/index.d.ts] @@ -551,7 +544,7 @@ sourceFile:index.ts >>>//# sourceMappingURL=index.js.map //// [/user/username/projects/sample1/logic/ownFile.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true,"tsBuildInfoFile":"./ownFile.tsbuildinfo"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true,"tsBuildInfoFile":"./ownFile.tsbuildinfo"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/ownFile.tsbuildinfo.readable.baseline.txt] { @@ -628,16 +621,10 @@ sourceFile:index.ts "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1616 + "size": 1577 } //// [/user/username/projects/sample1/tests/index.d.ts] @@ -658,7 +645,7 @@ exports.m = mod; //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -751,16 +738,9 @@ exports.m = mod; "../logic/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "../logic/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1744 + "size": 1703 } diff --git a/tests/baselines/reference/tsbuild/sample1/when-module-option-changes.js b/tests/baselines/reference/tsbuild/sample1/when-module-option-changes.js index 14af9405bf005..3097e3a471edb 100644 --- a/tests/baselines/reference/tsbuild/sample1/when-module-option-changes.js +++ b/tests/baselines/reference/tsbuild/sample1/when-module-option-changes.js @@ -96,12 +96,12 @@ export const m = mod; Output:: /a/lib/tsc --b core --verbose -[12:00:23 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * core/tsconfig.json -[12:00:24 AM] Project 'core/tsconfig.json' is out of date because output file 'core/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'core/tsconfig.json' is out of date because output file 'core/tsconfig.tsbuildinfo' does not exist -[12:00:25 AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... exitCode:: ExitStatus.Success @@ -125,7 +125,7 @@ function multiply(a, b) { return a * b; } //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"module":1},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"module":1}},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -193,17 +193,10 @@ function multiply(a, b) { return a * b; } ], "options": { "module": 1 - }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1144 + "size": 1086 } @@ -222,12 +215,12 @@ Input:: Output:: /a/lib/tsc --b core --verbose -[12:00:32 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * core/tsconfig.json -[12:00:33 AM] Project 'core/tsconfig.json' is out of date because output 'core/tsconfig.tsbuildinfo' is older than input 'core/tsconfig.json' +[HH:MM:SS AM] Project 'core/tsconfig.json' is out of date because output 'core/tsconfig.tsbuildinfo' is older than input 'core/tsconfig.json' -[12:00:34 AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... exitCode:: ExitStatus.Success @@ -255,7 +248,7 @@ define(["require", "exports"], function (require, exports) { //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"module":2},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"module":2}},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -323,16 +316,9 @@ define(["require", "exports"], function (require, exports) { ], "options": { "module": 2 - }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1144 + "size": 1086 } diff --git a/tests/baselines/reference/tsbuild/sample1/when-target-option-changes.js b/tests/baselines/reference/tsbuild/sample1/when-target-option-changes.js index faa0a3fe8a606..1707ad95a2939 100644 --- a/tests/baselines/reference/tsbuild/sample1/when-target-option-changes.js +++ b/tests/baselines/reference/tsbuild/sample1/when-target-option-changes.js @@ -106,12 +106,12 @@ export const m = mod; Output:: /a/lib/tsc --b core --verbose -[12:00:26 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * core/tsconfig.json -[12:00:27 AM] Project 'core/tsconfig.json' is out of date because output file 'core/tsconfig.tsbuildinfo' does not exist +[HH:MM:SS AM] Project 'core/tsconfig.json' is out of date because output file 'core/tsconfig.tsbuildinfo' does not exist -[12:00:28 AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... TSFILE: /user/username/projects/sample1/core/anotherModule.js TSFILE: /user/username/projects/sample1/core/index.js @@ -135,7 +135,7 @@ export function multiply(a, b) { return a * b; } //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.esnext.d.ts","../../../../../a/lib/lib.esnext.full.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"8926001564-/// \n/// ","impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[3,5]],"options":{"target":99},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.esnext.d.ts","../../../../../a/lib/lib.esnext.full.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"8926001564-/// \n/// ","impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[3,5]],"options":{"target":99}},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -213,18 +213,10 @@ export function multiply(a, b) { return a * b; } ], "options": { "target": 99 - }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.esnext.d.ts", - "../../../../../a/lib/lib.esnext.full.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1316 + "size": 1256 } @@ -245,12 +237,12 @@ Input:: Output:: /a/lib/tsc --b core --verbose -[12:00:35 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * core/tsconfig.json -[12:00:36 AM] Project 'core/tsconfig.json' is out of date because output 'core/tsconfig.tsbuildinfo' is older than input 'core/tsconfig.json' +[HH:MM:SS AM] Project 'core/tsconfig.json' is out of date because output 'core/tsconfig.tsbuildinfo' is older than input 'core/tsconfig.json' -[12:00:37 AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... +[HH:MM:SS AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... TSFILE: /user/username/projects/sample1/core/anotherModule.js TSFILE: /user/username/projects/sample1/core/index.js @@ -282,7 +274,7 @@ function multiply(a, b) { return a * b; } //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../../../../../a/lib/lib.esnext.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"8926001564-/// \n/// ","impliedFormat":1},{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[3,5]],"options":{"target":1},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../../../../../a/lib/lib.esnext.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"8926001564-/// \n/// ","impliedFormat":1},{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[3,5]],"options":{"target":1}},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -360,17 +352,9 @@ function multiply(a, b) { return a * b; } ], "options": { "target": 1 - }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../../../../../a/lib/lib.esnext.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1303 + "size": 1243 } diff --git a/tests/baselines/reference/tsbuild/transitiveReferences/builds-correctly-when-the-referenced-project-uses-different-module-resolution.js b/tests/baselines/reference/tsbuild/transitiveReferences/builds-correctly-when-the-referenced-project-uses-different-module-resolution.js index f60ca70705f57..22e3de23a82f7 100644 --- a/tests/baselines/reference/tsbuild/transitiveReferences/builds-correctly-when-the-referenced-project-uses-different-module-resolution.js +++ b/tests/baselines/reference/tsbuild/transitiveReferences/builds-correctly-when-the-referenced-project-uses-different-module-resolution.js @@ -138,7 +138,7 @@ a_1.X; //// [/user/username/projects/transitiveReferences/tsconfig.a.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7808316224-export class A {}\n","signature":"-8728835846-export declare class A {\n}\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./a.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7808316224-export class A {}\n","signature":"-8728835846-export declare class A {\n}\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./a.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/transitiveReferences/tsconfig.a.tsbuildinfo.readable.baseline.txt] { @@ -179,19 +179,14 @@ a_1.X; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts" - ], "latestChangedDtsFile": "./a.d.ts" }, "version": "FakeTSVersion", - "size": 850 + "size": 796 } //// [/user/username/projects/transitiveReferences/tsconfig.b.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.d.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8728835846-export declare class A {\n}\n","impliedFormat":1},{"version":"-17186364832-import {A} from 'a';\nexport const b = new A();","signature":"6078874460-import { A } from 'a';\nexport declare const b: A;\n","impliedFormat":1}],"root":[3],"options":{"composite":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./b.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.d.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8728835846-export declare class A {\n}\n","impliedFormat":1},{"version":"-17186364832-import {A} from 'a';\nexport const b = new A();","signature":"6078874460-import { A } from 'a';\nexport declare const b: A;\n","impliedFormat":1}],"root":[3],"options":{"composite":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./b.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/transitiveReferences/tsconfig.b.tsbuildinfo.readable.baseline.txt] { @@ -252,14 +247,9 @@ a_1.X; "./a.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.d.ts", - "./b.ts" - ], "latestChangedDtsFile": "./b.d.ts" }, "version": "FakeTSVersion", - "size": 1013 + "size": 976 } diff --git a/tests/baselines/reference/tsbuild/transitiveReferences/builds-correctly.js b/tests/baselines/reference/tsbuild/transitiveReferences/builds-correctly.js index 70c009ffacffe..101c8cc204027 100644 --- a/tests/baselines/reference/tsbuild/transitiveReferences/builds-correctly.js +++ b/tests/baselines/reference/tsbuild/transitiveReferences/builds-correctly.js @@ -144,7 +144,7 @@ a_1.X; //// [/user/username/projects/transitiveReferences/tsconfig.a.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7808316224-export class A {}\n","signature":"-8728835846-export declare class A {\n}\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./a.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7808316224-export class A {}\n","signature":"-8728835846-export declare class A {\n}\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./a.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/transitiveReferences/tsconfig.a.tsbuildinfo.readable.baseline.txt] { @@ -185,19 +185,14 @@ a_1.X; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts" - ], "latestChangedDtsFile": "./a.d.ts" }, "version": "FakeTSVersion", - "size": 850 + "size": 796 } //// [/user/username/projects/transitiveReferences/tsconfig.b.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.d.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8728835846-export declare class A {\n}\n","impliedFormat":1},{"version":"-3899816362-import {A} from '@ref/a';\nexport const b = new A();\n","signature":"-9732944696-import { A } from '@ref/a';\nexport declare const b: A;\n","impliedFormat":1}],"root":[3],"options":{"composite":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./b.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.d.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8728835846-export declare class A {\n}\n","impliedFormat":1},{"version":"-3899816362-import {A} from '@ref/a';\nexport const b = new A();\n","signature":"-9732944696-import { A } from '@ref/a';\nexport declare const b: A;\n","impliedFormat":1}],"root":[3],"options":{"composite":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./b.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/transitiveReferences/tsconfig.b.tsbuildinfo.readable.baseline.txt] { @@ -258,14 +253,9 @@ a_1.X; "./a.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.d.ts", - "./b.ts" - ], "latestChangedDtsFile": "./b.d.ts" }, "version": "FakeTSVersion", - "size": 1025 + "size": 988 } diff --git a/tests/baselines/reference/tsbuild/transitiveReferences/reports-error-about-module-not-found-with-node-resolution-with-external-module-name.js b/tests/baselines/reference/tsbuild/transitiveReferences/reports-error-about-module-not-found-with-node-resolution-with-external-module-name.js index abf3272062eb6..08dca3a4529cd 100644 --- a/tests/baselines/reference/tsbuild/transitiveReferences/reports-error-about-module-not-found-with-node-resolution-with-external-module-name.js +++ b/tests/baselines/reference/tsbuild/transitiveReferences/reports-error-about-module-not-found-with-node-resolution-with-external-module-name.js @@ -118,7 +118,7 @@ exports.A = A; //// [/user/username/projects/transitiveReferences/tsconfig.a.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7808316224-export class A {}\n","signature":"-8728835846-export declare class A {\n}\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./a.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7808316224-export class A {}\n","signature":"-8728835846-export declare class A {\n}\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./a.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/transitiveReferences/tsconfig.a.tsbuildinfo.readable.baseline.txt] { @@ -159,19 +159,14 @@ exports.A = A; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts" - ], "latestChangedDtsFile": "./a.d.ts" }, "version": "FakeTSVersion", - "size": 850 + "size": 796 } //// [/user/username/projects/transitiveReferences/tsconfig.b.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-17186364832-import {A} from 'a';\nexport const b = new A();","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,[2,[{"file":"./b.ts","start":16,"length":3,"messageText":"Cannot find module 'a' or its corresponding type declarations.","category":1,"code":2307}]]],"affectedFilesPendingEmit":[2],"emitSignatures":[2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-17186364832-import {A} from 'a';\nexport const b = new A();","impliedFormat":1}],"root":[2],"options":{"composite":true},"semanticDiagnosticsPerFile":[[2,[{"start":16,"length":3,"messageText":"Cannot find module 'a' or its corresponding type declarations.","category":1,"code":2307}]]],"affectedFilesPendingEmit":[2],"emitSignatures":[2]},"version":"FakeTSVersion"} //// [/user/username/projects/transitiveReferences/tsconfig.b.tsbuildinfo.readable.baseline.txt] { @@ -211,14 +206,11 @@ exports.A = A; "options": { "composite": true }, - "referencedMap": {}, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", [ "./b.ts", [ { - "file": "./b.ts", "start": 16, "length": 3, "messageText": "Cannot find module 'a' or its corresponding type declarations.", @@ -239,6 +231,6 @@ exports.A = A; ] }, "version": "FakeTSVersion", - "size": 989 + "size": 952 } diff --git a/tests/baselines/reference/tsbuildWatch/configFileErrors/reports-syntax-errors-in-config-file-with-outFile.js b/tests/baselines/reference/tsbuildWatch/configFileErrors/reports-syntax-errors-in-config-file-with-outFile.js new file mode 100644 index 0000000000000..c761cfb2d6f06 --- /dev/null +++ b/tests/baselines/reference/tsbuildWatch/configFileErrors/reports-syntax-errors-in-config-file-with-outFile.js @@ -0,0 +1,413 @@ +currentDirectory:: /user/username/projects/myproject useCaseSensitiveFileNames: false +Input:: +//// [/user/username/projects/myproject/a.ts] +export function foo() { } + +//// [/user/username/projects/myproject/b.ts] +export function bar() { } + +//// [/user/username/projects/myproject/tsconfig.json] +{ + "compilerOptions": { + "composite": true, + "outFile": "../outFile.js", + "module": "amd" + + }, + "files": [ + "a.ts" + "b.ts" + ] +} + +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } + + +/a/lib/tsc.js --b -w +Output:: +>> Screen clear +[HH:MM:SS AM] Starting compilation in watch mode... + +tsconfig.json:10:9 - error TS1005: ',' expected. + +10 "b.ts" +   ~~~~~~ + +[HH:MM:SS AM] Found 1 error. Watching for file changes. + + + + +PolledWatches:: +/a/lib/package.json: *new* + {"pollingInterval":2000} +/a/package.json: *new* + {"pollingInterval":2000} +/package.json: *new* + {"pollingInterval":2000} +/user/package.json: *new* + {"pollingInterval":2000} +/user/username/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/user/username/projects/myproject/a.ts: *new* + {} +/user/username/projects/myproject/b.ts: *new* + {} +/user/username/projects/myproject/tsconfig.json: *new* + {} + +Program root files: [ + "/user/username/projects/myproject/a.ts", + "/user/username/projects/myproject/b.ts" +] +Program options: { + "composite": true, + "outFile": "/user/username/projects/outFile.js", + "module": 2, + "watch": true, + "configFilePath": "/user/username/projects/myproject/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/myproject/a.ts +/user/username/projects/myproject/b.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Change:: reports syntax errors after change to config file + +Input:: +//// [/user/username/projects/myproject/tsconfig.json] +{ + "compilerOptions": { + "composite": true, + "declaration": true, + "outFile": "../outFile.js", + "module": "amd" + + }, + "files": [ + "a.ts" + "b.ts" + ] +} + + +Timeout callback:: count: 1 +1: timerToBuildInvalidatedProject *new* + +Before running Timeout callback:: count: 1 +1: timerToBuildInvalidatedProject + +Host is moving to new time +After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +tsconfig.json:11:9 - error TS1005: ',' expected. + +11 "b.ts" +   ~~~~~~ + +[HH:MM:SS AM] Found 1 error. Watching for file changes. + + + + + +Program root files: [ + "/user/username/projects/myproject/a.ts", + "/user/username/projects/myproject/b.ts" +] +Program options: { + "composite": true, + "declaration": true, + "outFile": "/user/username/projects/outFile.js", + "module": 2, + "watch": true, + "configFilePath": "/user/username/projects/myproject/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/myproject/a.ts +/user/username/projects/myproject/b.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Change:: reports syntax errors after change to ts file + +Input:: +//// [/user/username/projects/myproject/a.ts] +export function fooBar() { } + + +Timeout callback:: count: 1 +2: timerToBuildInvalidatedProject *new* + +Before running Timeout callback:: count: 1 +2: timerToBuildInvalidatedProject + +Host is moving to new time +After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +tsconfig.json:11:9 - error TS1005: ',' expected. + +11 "b.ts" +   ~~~~~~ + +[HH:MM:SS AM] Found 1 error. Watching for file changes. + + + + + +Program root files: [ + "/user/username/projects/myproject/a.ts", + "/user/username/projects/myproject/b.ts" +] +Program options: { + "composite": true, + "declaration": true, + "outFile": "/user/username/projects/outFile.js", + "module": 2, + "watch": true, + "configFilePath": "/user/username/projects/myproject/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/myproject/a.ts +/user/username/projects/myproject/b.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Change:: reports error when there is no change to tsconfig file + +Input:: +//// [/user/username/projects/myproject/tsconfig.json] file written with same contents + +Timeout callback:: count: 1 +3: timerToBuildInvalidatedProject *new* + +Before running Timeout callback:: count: 1 +3: timerToBuildInvalidatedProject + +Host is moving to new time +After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +tsconfig.json:11:9 - error TS1005: ',' expected. + +11 "b.ts" +   ~~~~~~ + +[HH:MM:SS AM] Found 1 error. Watching for file changes. + + + + + +Program root files: [ + "/user/username/projects/myproject/a.ts", + "/user/username/projects/myproject/b.ts" +] +Program options: { + "composite": true, + "declaration": true, + "outFile": "/user/username/projects/outFile.js", + "module": 2, + "watch": true, + "configFilePath": "/user/username/projects/myproject/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/myproject/a.ts +/user/username/projects/myproject/b.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Change:: builds after fixing config file errors + +Input:: +//// [/user/username/projects/myproject/tsconfig.json] +{ + "compilerOptions": { + "composite": true, + "declaration": true, + "outFile": "../outFile.js", + "module": "amd" + }, + "files": [ + "a.ts", + "b.ts" + ] +} + + +Timeout callback:: count: 1 +4: timerToBuildInvalidatedProject *new* + +Before running Timeout callback:: count: 1 +4: timerToBuildInvalidatedProject + +Host is moving to new time +After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + +//// [/user/username/projects/outFile.js] +define("a", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.fooBar = fooBar; + function fooBar() { } +}); +define("b", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.bar = bar; + function bar() { } +}); + + +//// [/user/username/projects/outFile.d.ts] +declare module "a" { + export function fooBar(): void; +} +declare module "b" { + export function bar(): void; +} + + +//// [/user/username/projects/outFile.tsbuildinfo] +{"program":{"fileNames":["../../../a/lib/lib.d.ts","./myproject/a.ts","./myproject/b.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","impliedFormat":1},{"version":"-3260843409-export function fooBar() { }","impliedFormat":1},{"version":"1045484683-export function bar() { }","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"declaration":true,"module":2,"outFile":"./outFile.js"},"outSignature":"771185302-declare module \"a\" {\n export function fooBar(): void;\n}\ndeclare module \"b\" {\n export function bar(): void;\n}\n","latestChangedDtsFile":"./outFile.d.ts"},"version":"FakeTSVersion"} + +//// [/user/username/projects/outFile.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../a/lib/lib.d.ts", + "./myproject/a.ts", + "./myproject/b.ts" + ], + "fileInfos": { + "../../../a/lib/lib.d.ts": { + "original": { + "version": "-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }", + "impliedFormat": 1 + }, + "version": "-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }", + "impliedFormat": "commonjs" + }, + "./myproject/a.ts": { + "original": { + "version": "-3260843409-export function fooBar() { }", + "impliedFormat": 1 + }, + "version": "-3260843409-export function fooBar() { }", + "impliedFormat": "commonjs" + }, + "./myproject/b.ts": { + "original": { + "version": "1045484683-export function bar() { }", + "impliedFormat": 1 + }, + "version": "1045484683-export function bar() { }", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + 2, + "./myproject/a.ts" + ], + [ + 3, + "./myproject/b.ts" + ] + ], + "options": { + "composite": true, + "declaration": true, + "module": 2, + "outFile": "./outFile.js" + }, + "outSignature": "771185302-declare module \"a\" {\n export function fooBar(): void;\n}\ndeclare module \"b\" {\n export function bar(): void;\n}\n", + "latestChangedDtsFile": "./outFile.d.ts" + }, + "version": "FakeTSVersion", + "size": 954 +} + + + +Program root files: [ + "/user/username/projects/myproject/a.ts", + "/user/username/projects/myproject/b.ts" +] +Program options: { + "composite": true, + "declaration": true, + "outFile": "/user/username/projects/outFile.js", + "module": 2, + "watch": true, + "configFilePath": "/user/username/projects/myproject/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/myproject/a.ts +/user/username/projects/myproject/b.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined diff --git a/tests/baselines/reference/tsbuildWatch/configFileErrors/reports-syntax-errors-in-config-file.js b/tests/baselines/reference/tsbuildWatch/configFileErrors/reports-syntax-errors-in-config-file.js index 47eab5e2a1130..893f63a81d648 100644 --- a/tests/baselines/reference/tsbuildWatch/configFileErrors/reports-syntax-errors-in-config-file.js +++ b/tests/baselines/reference/tsbuildWatch/configFileErrors/reports-syntax-errors-in-config-file.js @@ -46,7 +46,7 @@ Output:: //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"4646078106-export function foo() { }","signature":false,"impliedFormat":1},{"version":"1045484683-export function bar() { }","signature":false,"impliedFormat":1}],"root":[2,3],"options":{"composite":true},"referencedMap":[],"changeFileSet":[1,2,3]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"4646078106-export function foo() { }","signature":false,"impliedFormat":1},{"version":"1045484683-export function bar() { }","signature":false,"impliedFormat":1}],"root":[2,3],"options":{"composite":true},"changeFileSet":[1,2,3]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -100,7 +100,6 @@ Output:: "options": { "composite": true }, - "referencedMap": {}, "changeFileSet": [ "../../../../a/lib/lib.d.ts", "./a.ts", @@ -108,7 +107,7 @@ Output:: ] }, "version": "FakeTSVersion", - "size": 808 + "size": 789 } @@ -179,6 +178,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -230,6 +230,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -245,7 +246,7 @@ Output:: //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"-3260843409-export function fooBar() { }","signature":false,"impliedFormat":1},{"version":"1045484683-export function bar() { }","signature":false,"impliedFormat":1}],"root":[2,3],"options":{"composite":true,"declaration":true},"referencedMap":[],"changeFileSet":[1,2,3]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"-3260843409-export function fooBar() { }","signature":false,"impliedFormat":1},{"version":"1045484683-export function bar() { }","signature":false,"impliedFormat":1}],"root":[2,3],"options":{"composite":true,"declaration":true},"changeFileSet":[1,2,3]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -300,7 +301,6 @@ Output:: "composite": true, "declaration": true }, - "referencedMap": {}, "changeFileSet": [ "../../../../a/lib/lib.d.ts", "./a.ts", @@ -308,7 +308,7 @@ Output:: ] }, "version": "FakeTSVersion", - "size": 831 + "size": 812 } @@ -346,6 +346,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -406,6 +407,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 4: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -416,7 +418,7 @@ Output:: //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3260843409-export function fooBar() { }","signature":"-6611919720-export declare function fooBar(): void;\n","impliedFormat":1},{"version":"1045484683-export function bar() { }","signature":"-2904461644-export declare function bar(): void;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"declaration":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./b.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3260843409-export function fooBar() { }","signature":"-6611919720-export declare function fooBar(): void;\n","impliedFormat":1},{"version":"1045484683-export function bar() { }","signature":"-2904461644-export declare function bar(): void;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"declaration":true},"latestChangedDtsFile":"./b.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -473,16 +475,10 @@ Output:: "composite": true, "declaration": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.ts" - ], "latestChangedDtsFile": "./b.d.ts" }, "version": "FakeTSVersion", - "size": 957 + "size": 901 } //// [/user/username/projects/myproject/a.js] diff --git a/tests/baselines/reference/tsbuildWatch/demo/updates-with-bad-reference.js b/tests/baselines/reference/tsbuildWatch/demo/updates-with-bad-reference.js index 42f6c2e900831..c48da97479e87 100644 --- a/tests/baselines/reference/tsbuildWatch/demo/updates-with-bad-reference.js +++ b/tests/baselines/reference/tsbuildWatch/demo/updates-with-bad-reference.js @@ -220,7 +220,7 @@ Output:: //// [/user/username/projects/demo/lib/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../../animals/animal.ts","../../animals/dog.ts","../../animals/index.ts","../../core/utilities.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-9289341318-export type Size = \"small\" | \"medium\" | \"large\";\nexport default interface Animal {\n size: Size;\n}\n","impliedFormat":1},{"version":"-18870194049-import Animal from '.';\nimport { makeRandomName } from '../core/utilities';\n\nexport interface Dog extends Animal {\n woof(): void;\n name: string;\n}\n\nexport function createDog(): Dog {\n return ({\n size: \"medium\",\n woof: function(this: Dog) {\n console.log(`${ this.name } says \"Woof\"!`);\n },\n name: makeRandomName()\n });\n}\n","impliedFormat":1},{"version":"-7220553464-import Animal from './animal';\n\nexport default Animal;\nimport { createDog, Dog } from './dog';\nexport { createDog, Dog };\n","impliedFormat":1},{"version":"-22163106409-import * as A from '../animals';\nexport function makeRandomName() {\n return \"Bob!?! \";\n}\n\nexport function lastElementOf(arr: T[]): T | undefined {\n if (arr.length === 0) return undefined;\n return arr[arr.length - 1];\n}\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../../core","strict":true,"target":1},"fileIdsList":[[4,5],[2,3],[4]],"referencedMap":[[3,1],[4,2],[5,3]],"semanticDiagnosticsPerFile":[1,2,3,4,[5,[{"file":"../../core/utilities.ts","start":0,"length":32,"messageText":"'A' is declared but its value is never read.","category":1,"code":6133,"reportsUnnecessary":true}]]],"affectedFilesPendingEmit":[2,3,4,5],"emitSignatures":[2,3,4,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../../animals/animal.ts","../../animals/dog.ts","../../animals/index.ts","../../core/utilities.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-9289341318-export type Size = \"small\" | \"medium\" | \"large\";\nexport default interface Animal {\n size: Size;\n}\n","impliedFormat":1},{"version":"-18870194049-import Animal from '.';\nimport { makeRandomName } from '../core/utilities';\n\nexport interface Dog extends Animal {\n woof(): void;\n name: string;\n}\n\nexport function createDog(): Dog {\n return ({\n size: \"medium\",\n woof: function(this: Dog) {\n console.log(`${ this.name } says \"Woof\"!`);\n },\n name: makeRandomName()\n });\n}\n","impliedFormat":1},{"version":"-7220553464-import Animal from './animal';\n\nexport default Animal;\nimport { createDog, Dog } from './dog';\nexport { createDog, Dog };\n","impliedFormat":1},{"version":"-22163106409-import * as A from '../animals';\nexport function makeRandomName() {\n return \"Bob!?! \";\n}\n\nexport function lastElementOf(arr: T[]): T | undefined {\n if (arr.length === 0) return undefined;\n return arr[arr.length - 1];\n}\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../../core","strict":true,"target":1},"fileIdsList":[[4,5],[2,3],[4]],"referencedMap":[[3,1],[4,2],[5,3]],"semanticDiagnosticsPerFile":[[5,[{"start":0,"length":32,"messageText":"'A' is declared but its value is never read.","category":1,"code":6133,"reportsUnnecessary":true}]]],"affectedFilesPendingEmit":[2,3,4,5],"emitSignatures":[2,3,4,5]},"version":"FakeTSVersion"} //// [/user/username/projects/demo/lib/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -327,15 +327,10 @@ Output:: ] }, "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "../../animals/animal.ts", - "../../animals/dog.ts", - "../../animals/index.ts", [ "../../core/utilities.ts", [ { - "file": "../../core/utilities.ts", "start": 0, "length": 32, "messageText": "'A' is declared but its value is never read.", @@ -372,7 +367,7 @@ Output:: ] }, "version": "FakeTSVersion", - "size": 2338 + "size": 2297 } @@ -491,6 +486,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -556,7 +552,7 @@ Output:: //// [/user/username/projects/demo/lib/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../../animals/animal.ts","../../animals/dog.ts","../../animals/index.ts","../../core/utilities.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-9289341318-export type Size = \"small\" | \"medium\" | \"large\";\nexport default interface Animal {\n size: Size;\n}\n","impliedFormat":1},{"version":"-18870194049-import Animal from '.';\nimport { makeRandomName } from '../core/utilities';\n\nexport interface Dog extends Animal {\n woof(): void;\n name: string;\n}\n\nexport function createDog(): Dog {\n return ({\n size: \"medium\",\n woof: function(this: Dog) {\n console.log(`${ this.name } says \"Woof\"!`);\n },\n name: makeRandomName()\n });\n}\n","signature":"6032048049-import Animal from '.';\nexport interface Dog extends Animal {\n woof(): void;\n name: string;\n}\nexport declare function createDog(): Dog;\n","impliedFormat":1},{"version":"-7220553464-import Animal from './animal';\n\nexport default Animal;\nimport { createDog, Dog } from './dog';\nexport { createDog, Dog };\n","signature":"1096904574-import Animal from './animal';\nexport default Animal;\nimport { createDog, Dog } from './dog';\nexport { createDog, Dog };\n","impliedFormat":1},{"version":"-11321611519-\nimport * as A from '../animals';\nexport function makeRandomName() {\n return \"Bob!?! \";\n}\n\nexport function lastElementOf(arr: T[]): T | undefined {\n if (arr.length === 0) return undefined;\n return arr[arr.length - 1];\n}\n","signature":"-11345568166-export declare function makeRandomName(): string;\nexport declare function lastElementOf(arr: T[]): T | undefined;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../../core","strict":true,"target":1},"fileIdsList":[[4,5],[2,3],[4]],"referencedMap":[[3,1],[4,2],[5,3]],"semanticDiagnosticsPerFile":[1,2,3,4,[5,[{"file":"../../core/utilities.ts","start":1,"length":32,"messageText":"'A' is declared but its value is never read.","category":1,"code":6133,"reportsUnnecessary":true}]]],"affectedFilesPendingEmit":[2,3,4,5],"emitSignatures":[2,3,4,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../../animals/animal.ts","../../animals/dog.ts","../../animals/index.ts","../../core/utilities.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-9289341318-export type Size = \"small\" | \"medium\" | \"large\";\nexport default interface Animal {\n size: Size;\n}\n","impliedFormat":1},{"version":"-18870194049-import Animal from '.';\nimport { makeRandomName } from '../core/utilities';\n\nexport interface Dog extends Animal {\n woof(): void;\n name: string;\n}\n\nexport function createDog(): Dog {\n return ({\n size: \"medium\",\n woof: function(this: Dog) {\n console.log(`${ this.name } says \"Woof\"!`);\n },\n name: makeRandomName()\n });\n}\n","signature":"6032048049-import Animal from '.';\nexport interface Dog extends Animal {\n woof(): void;\n name: string;\n}\nexport declare function createDog(): Dog;\n","impliedFormat":1},{"version":"-7220553464-import Animal from './animal';\n\nexport default Animal;\nimport { createDog, Dog } from './dog';\nexport { createDog, Dog };\n","signature":"1096904574-import Animal from './animal';\nexport default Animal;\nimport { createDog, Dog } from './dog';\nexport { createDog, Dog };\n","impliedFormat":1},{"version":"-11321611519-\nimport * as A from '../animals';\nexport function makeRandomName() {\n return \"Bob!?! \";\n}\n\nexport function lastElementOf(arr: T[]): T | undefined {\n if (arr.length === 0) return undefined;\n return arr[arr.length - 1];\n}\n","signature":"-11345568166-export declare function makeRandomName(): string;\nexport declare function lastElementOf(arr: T[]): T | undefined;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../../core","strict":true,"target":1},"fileIdsList":[[4,5],[2,3],[4]],"referencedMap":[[3,1],[4,2],[5,3]],"semanticDiagnosticsPerFile":[[5,[{"start":1,"length":32,"messageText":"'A' is declared but its value is never read.","category":1,"code":6133,"reportsUnnecessary":true}]]],"affectedFilesPendingEmit":[2,3,4,5],"emitSignatures":[2,3,4,5]},"version":"FakeTSVersion"} //// [/user/username/projects/demo/lib/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -666,15 +662,10 @@ Output:: ] }, "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "../../animals/animal.ts", - "../../animals/dog.ts", - "../../animals/index.ts", [ "../../core/utilities.ts", [ { - "file": "../../core/utilities.ts", "start": 1, "length": 32, "messageText": "'A' is declared but its value is never read.", @@ -711,7 +702,7 @@ Output:: ] }, "version": "FakeTSVersion", - "size": 2812 + "size": 2771 } diff --git a/tests/baselines/reference/tsbuildWatch/demo/updates-with-circular-reference.js b/tests/baselines/reference/tsbuildWatch/demo/updates-with-circular-reference.js index cf3a942792691..6a76abde12540 100644 --- a/tests/baselines/reference/tsbuildWatch/demo/updates-with-circular-reference.js +++ b/tests/baselines/reference/tsbuildWatch/demo/updates-with-circular-reference.js @@ -217,6 +217,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 1 Output:: >> Screen clear @@ -249,7 +250,7 @@ export declare function lastElementOf(arr: T[]): T | undefined; //// [/user/username/projects/demo/lib/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../../core/utilities.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-6723567162-export function makeRandomName() {\n return \"Bob!?! \";\n}\n\nexport function lastElementOf(arr: T[]): T | undefined {\n if (arr.length === 0) return undefined;\n return arr[arr.length - 1];\n}\n","signature":"-11345568166-export declare function makeRandomName(): string;\nexport declare function lastElementOf(arr: T[]): T | undefined;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declaration":true,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../../core","strict":true,"target":1},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./utilities.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../../core/utilities.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-6723567162-export function makeRandomName() {\n return \"Bob!?! \";\n}\n\nexport function lastElementOf(arr: T[]): T | undefined {\n if (arr.length === 0) return undefined;\n return arr[arr.length - 1];\n}\n","signature":"-11345568166-export declare function makeRandomName(): string;\nexport declare function lastElementOf(arr: T[]): T | undefined;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declaration":true,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../../core","strict":true,"target":1},"latestChangedDtsFile":"./utilities.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/demo/lib/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -300,15 +301,10 @@ export declare function lastElementOf(arr: T[]): T | undefined; "strict": true, "target": 1 }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "../../core/utilities.ts" - ], "latestChangedDtsFile": "./utilities.d.ts" }, "version": "FakeTSVersion", - "size": 1360 + "size": 1306 } @@ -318,6 +314,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: [HH:MM:SS AM] Project 'animals/tsconfig.json' is out of date because output file 'lib/animals/tsconfig.tsbuildinfo' does not exist @@ -385,7 +382,7 @@ export declare function createDog(): Dog; //// [/user/username/projects/demo/lib/animals/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../../animals/animal.ts","../../animals/index.ts","../core/utilities.d.ts","../../animals/dog.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-9289341318-export type Size = \"small\" | \"medium\" | \"large\";\nexport default interface Animal {\n size: Size;\n}\n","impliedFormat":1},{"version":"-7220553464-import Animal from './animal';\n\nexport default Animal;\nimport { createDog, Dog } from './dog';\nexport { createDog, Dog };\n","signature":"1096904574-import Animal from './animal';\nexport default Animal;\nimport { createDog, Dog } from './dog';\nexport { createDog, Dog };\n","impliedFormat":1},{"version":"-11345568166-export declare function makeRandomName(): string;\nexport declare function lastElementOf(arr: T[]): T | undefined;\n","impliedFormat":1},{"version":"-18870194049-import Animal from '.';\nimport { makeRandomName } from '../core/utilities';\n\nexport interface Dog extends Animal {\n woof(): void;\n name: string;\n}\n\nexport function createDog(): Dog {\n return ({\n size: \"medium\",\n woof: function(this: Dog) {\n console.log(`${ this.name } says \"Woof\"!`);\n },\n name: makeRandomName()\n });\n}\n","signature":"6032048049-import Animal from '.';\nexport interface Dog extends Animal {\n woof(): void;\n name: string;\n}\nexport declare function createDog(): Dog;\n","impliedFormat":1}],"root":[2,3,5],"options":{"composite":true,"declaration":true,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../../animals","strict":true,"target":1},"fileIdsList":[[3,4],[2,5]],"referencedMap":[[5,1],[3,2]],"semanticDiagnosticsPerFile":[1,2,5,3,4],"latestChangedDtsFile":"./dog.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../../animals/animal.ts","../../animals/index.ts","../core/utilities.d.ts","../../animals/dog.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-9289341318-export type Size = \"small\" | \"medium\" | \"large\";\nexport default interface Animal {\n size: Size;\n}\n","impliedFormat":1},{"version":"-7220553464-import Animal from './animal';\n\nexport default Animal;\nimport { createDog, Dog } from './dog';\nexport { createDog, Dog };\n","signature":"1096904574-import Animal from './animal';\nexport default Animal;\nimport { createDog, Dog } from './dog';\nexport { createDog, Dog };\n","impliedFormat":1},{"version":"-11345568166-export declare function makeRandomName(): string;\nexport declare function lastElementOf(arr: T[]): T | undefined;\n","impliedFormat":1},{"version":"-18870194049-import Animal from '.';\nimport { makeRandomName } from '../core/utilities';\n\nexport interface Dog extends Animal {\n woof(): void;\n name: string;\n}\n\nexport function createDog(): Dog {\n return ({\n size: \"medium\",\n woof: function(this: Dog) {\n console.log(`${ this.name } says \"Woof\"!`);\n },\n name: makeRandomName()\n });\n}\n","signature":"6032048049-import Animal from '.';\nexport interface Dog extends Animal {\n woof(): void;\n name: string;\n}\nexport declare function createDog(): Dog;\n","impliedFormat":1}],"root":[2,3,5],"options":{"composite":true,"declaration":true,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../../animals","strict":true,"target":1},"fileIdsList":[[3,4],[2,5]],"referencedMap":[[5,1],[3,2]],"latestChangedDtsFile":"./dog.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/demo/lib/animals/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -495,17 +492,10 @@ export declare function createDog(): Dog; "../../animals/dog.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "../../animals/animal.ts", - "../../animals/dog.ts", - "../../animals/index.ts", - "../core/utilities.d.ts" - ], "latestChangedDtsFile": "./dog.d.ts" }, "version": "FakeTSVersion", - "size": 2335 + "size": 2294 } //// [/user/username/projects/demo/lib/zoo/zoo.js] @@ -526,7 +516,7 @@ export declare function createZoo(): Array; //// [/user/username/projects/demo/lib/zoo/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../animals/animal.d.ts","../animals/dog.d.ts","../animals/index.d.ts","../../zoo/zoo.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-9289341318-export type Size = \"small\" | \"medium\" | \"large\";\nexport default interface Animal {\n size: Size;\n}\n","impliedFormat":1},{"version":"6032048049-import Animal from '.';\nexport interface Dog extends Animal {\n woof(): void;\n name: string;\n}\nexport declare function createDog(): Dog;\n","impliedFormat":1},{"version":"1096904574-import Animal from './animal';\nexport default Animal;\nimport { createDog, Dog } from './dog';\nexport { createDog, Dog };\n","impliedFormat":1},{"version":"13034796418-import { Dog, createDog } from '../animals/index';\n\nexport function createZoo(): Array {\n return [\n createDog()\n ];\n}\n","signature":"10305066551-import { Dog } from '../animals/index';\nexport declare function createZoo(): Array;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../../zoo","strict":true,"target":1},"fileIdsList":[[4],[2,3]],"referencedMap":[[3,1],[4,2],[5,1]],"semanticDiagnosticsPerFile":[1,2,3,4,5],"latestChangedDtsFile":"./zoo.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../animals/animal.d.ts","../animals/dog.d.ts","../animals/index.d.ts","../../zoo/zoo.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-9289341318-export type Size = \"small\" | \"medium\" | \"large\";\nexport default interface Animal {\n size: Size;\n}\n","impliedFormat":1},{"version":"6032048049-import Animal from '.';\nexport interface Dog extends Animal {\n woof(): void;\n name: string;\n}\nexport declare function createDog(): Dog;\n","impliedFormat":1},{"version":"1096904574-import Animal from './animal';\nexport default Animal;\nimport { createDog, Dog } from './dog';\nexport { createDog, Dog };\n","impliedFormat":1},{"version":"13034796418-import { Dog, createDog } from '../animals/index';\n\nexport function createZoo(): Array {\n return [\n createDog()\n ];\n}\n","signature":"10305066551-import { Dog } from '../animals/index';\nexport declare function createZoo(): Array;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../../zoo","strict":true,"target":1},"fileIdsList":[[4],[2,3]],"referencedMap":[[3,1],[4,2],[5,1]],"latestChangedDtsFile":"./zoo.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/demo/lib/zoo/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -628,17 +618,10 @@ export declare function createZoo(): Array; "../animals/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "../animals/animal.d.ts", - "../animals/dog.d.ts", - "../animals/index.d.ts", - "../../zoo/zoo.ts" - ], "latestChangedDtsFile": "./zoo.d.ts" }, "version": "FakeTSVersion", - "size": 1889 + "size": 1848 } diff --git a/tests/baselines/reference/tsbuildWatch/extends/configDir-template.js b/tests/baselines/reference/tsbuildWatch/extends/configDir-template.js index 23e8dd76ad94a..025efd0a3faad 100644 --- a/tests/baselines/reference/tsbuildWatch/extends/configDir-template.js +++ b/tests/baselines/reference/tsbuildWatch/extends/configDir-template.js @@ -345,6 +345,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: [HH:MM:SS AM] File change detected. Starting incremental compilation... diff --git a/tests/baselines/reference/tsbuildWatch/libraryResolution/with-config-with-redirection.js b/tests/baselines/reference/tsbuildWatch/libraryResolution/with-config-with-redirection.js index 79ba8f93656cf..50d53e3670129 100644 --- a/tests/baselines/reference/tsbuildWatch/libraryResolution/with-config-with-redirection.js +++ b/tests/baselines/reference/tsbuildWatch/libraryResolution/with-config-with-redirection.js @@ -593,7 +593,7 @@ export declare const x = "type1"; //// [/home/src/projects/project1/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../node_modules/@typescript/lib-webworker/index.d.ts","../node_modules/@typescript/lib-scripthost/index.d.ts","../node_modules/@typescript/lib-es5/index.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./core.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"-7827135529-interface WebworkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-15683237936-export const core = 10;","impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n","impliedFormat":1},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-","impliedFormat":1},{"version":"-11532698187-export const x = \"type1\";","signature":"-5899226897-export declare const x = \"type1\";\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1},{"version":"-12476477079-export type TheNum = \"type1\";","impliedFormat":1}],"root":[[5,10]],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[4,3,2,1,5,6,7,8,10,9],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../node_modules/@typescript/lib-webworker/index.d.ts","../node_modules/@typescript/lib-scripthost/index.d.ts","../node_modules/@typescript/lib-es5/index.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./core.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"-7827135529-interface WebworkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-15683237936-export const core = 10;","impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n","impliedFormat":1},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-","impliedFormat":1},{"version":"-11532698187-export const x = \"type1\";","signature":"-5899226897-export declare const x = \"type1\";\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1},{"version":"-12476477079-export type TheNum = \"type1\";","impliedFormat":1}],"root":[[5,10]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/home/src/projects/project1/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -732,23 +732,10 @@ export declare const x = "type1"; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../node_modules/@typescript/lib-dom/index.d.ts", - "../node_modules/@typescript/lib-es5/index.d.ts", - "../node_modules/@typescript/lib-scripthost/index.d.ts", - "../node_modules/@typescript/lib-webworker/index.d.ts", - "./core.d.ts", - "./file.ts", - "./file2.ts", - "./index.ts", - "./typeroot1/sometype/index.d.ts", - "./utils.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1979 + "size": 1908 } //// [/home/src/projects/project2/index.js] @@ -763,7 +750,7 @@ export declare const y = 10; //// [/home/src/projects/project2/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../node_modules/@typescript/lib-es5/index.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./index.ts","./utils.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11999455899-export const y = 10","signature":"-7152472870-export declare const y = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1}],"root":[3,4],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[2,1,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../node_modules/@typescript/lib-es5/index.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./index.ts","./utils.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11999455899-export const y = 10","signature":"-7152472870-export declare const y = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1}],"root":[3,4],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/home/src/projects/project2/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -830,17 +817,10 @@ export declare const y = 10; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../node_modules/@typescript/lib-dom/index.d.ts", - "../node_modules/@typescript/lib-es5/index.d.ts", - "./index.ts", - "./utils.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1055 } //// [/home/src/projects/project3/index.js] @@ -855,7 +835,7 @@ export declare const z = 10; //// [/home/src/projects/project3/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../node_modules/@typescript/lib-es5/index.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./index.ts","./utils.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11960320506-export const z = 10","signature":"-7483702853-export declare const z = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1}],"root":[3,4],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[2,1,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../node_modules/@typescript/lib-es5/index.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./index.ts","./utils.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11960320506-export const z = 10","signature":"-7483702853-export declare const z = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1}],"root":[3,4],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/home/src/projects/project3/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -922,17 +902,10 @@ export declare const z = 10; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../node_modules/@typescript/lib-dom/index.d.ts", - "../node_modules/@typescript/lib-es5/index.d.ts", - "./index.ts", - "./utils.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1055 } //// [/home/src/projects/project4/index.js] @@ -947,7 +920,7 @@ export declare const z = 10; //// [/home/src/projects/project4/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../node_modules/@typescript/lib-esnext/index.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","../node_modules/@typescript/lib-webworker/index.d.ts","./index.ts","./utils.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7827135529-interface WebworkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11960320506-export const z = 10","signature":"-7483702853-export declare const z = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1}],"root":[4,5],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[2,1,3,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../node_modules/@typescript/lib-esnext/index.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","../node_modules/@typescript/lib-webworker/index.d.ts","./index.ts","./utils.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7827135529-interface WebworkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11960320506-export const z = 10","signature":"-7483702853-export declare const z = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1}],"root":[4,5],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/home/src/projects/project4/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1026,18 +999,10 @@ export declare const z = 10; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../node_modules/@typescript/lib-dom/index.d.ts", - "../node_modules/@typescript/lib-esnext/index.d.ts", - "../node_modules/@typescript/lib-webworker/index.d.ts", - "./index.ts", - "./utils.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1276 + "size": 1216 } diff --git a/tests/baselines/reference/tsbuildWatch/libraryResolution/with-config.js b/tests/baselines/reference/tsbuildWatch/libraryResolution/with-config.js index 62b70c54ccc74..2b259a97be2bb 100644 --- a/tests/baselines/reference/tsbuildWatch/libraryResolution/with-config.js +++ b/tests/baselines/reference/tsbuildWatch/libraryResolution/with-config.js @@ -575,7 +575,7 @@ export declare const x = "type1"; //// [/home/src/projects/project1/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.es5.d.ts","../../lib/lib.dom.d.ts","../../lib/lib.webworker.d.ts","../../lib/lib.scripthost.d.ts","./core.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3990185033-interface WebWorkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-15683237936-export const core = 10;","impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n","impliedFormat":1},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-","impliedFormat":1},{"version":"-11532698187-export const x = \"type1\";","signature":"-5899226897-export declare const x = \"type1\";\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1},{"version":"-12476477079-export type TheNum = \"type1\";","impliedFormat":1}],"root":[[5,10]],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[2,1,4,3,5,6,7,8,10,9],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.es5.d.ts","../../lib/lib.dom.d.ts","../../lib/lib.webworker.d.ts","../../lib/lib.scripthost.d.ts","./core.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3990185033-interface WebWorkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-15683237936-export const core = 10;","impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n","impliedFormat":1},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-","impliedFormat":1},{"version":"-11532698187-export const x = \"type1\";","signature":"-5899226897-export declare const x = \"type1\";\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1},{"version":"-12476477079-export type TheNum = \"type1\";","impliedFormat":1}],"root":[[5,10]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/home/src/projects/project1/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -714,23 +714,10 @@ export declare const x = "type1"; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.dom.d.ts", - "../../lib/lib.es5.d.ts", - "../../lib/lib.scripthost.d.ts", - "../../lib/lib.webworker.d.ts", - "./core.d.ts", - "./file.ts", - "./file2.ts", - "./index.ts", - "./typeroot1/sometype/index.d.ts", - "./utils.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1883 + "size": 1812 } //// [/home/src/projects/project2/index.js] @@ -745,7 +732,7 @@ export declare const y = 10; //// [/home/src/projects/project2/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.es5.d.ts","../../lib/lib.dom.d.ts","./index.ts","./utils.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11999455899-export const y = 10","signature":"-7152472870-export declare const y = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1}],"root":[3,4],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[2,1,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.es5.d.ts","../../lib/lib.dom.d.ts","./index.ts","./utils.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11999455899-export const y = 10","signature":"-7152472870-export declare const y = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1}],"root":[3,4],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/home/src/projects/project2/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -812,17 +799,10 @@ export declare const y = 10; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.dom.d.ts", - "../../lib/lib.es5.d.ts", - "./index.ts", - "./utils.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1065 + "size": 1007 } //// [/home/src/projects/project3/index.js] @@ -837,7 +817,7 @@ export declare const z = 10; //// [/home/src/projects/project3/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.es5.d.ts","../../lib/lib.dom.d.ts","./index.ts","./utils.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11960320506-export const z = 10","signature":"-7483702853-export declare const z = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1}],"root":[3,4],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[2,1,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.es5.d.ts","../../lib/lib.dom.d.ts","./index.ts","./utils.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11960320506-export const z = 10","signature":"-7483702853-export declare const z = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1}],"root":[3,4],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/home/src/projects/project3/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -904,17 +884,10 @@ export declare const z = 10; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.dom.d.ts", - "../../lib/lib.es5.d.ts", - "./index.ts", - "./utils.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1065 + "size": 1007 } //// [/home/src/projects/project4/index.js] @@ -929,7 +902,7 @@ export declare const z = 10; //// [/home/src/projects/project4/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.esnext.d.ts","../../lib/lib.dom.d.ts","../../lib/lib.webworker.d.ts","./index.ts","./utils.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3990185033-interface WebWorkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11960320506-export const z = 10","signature":"-7483702853-export declare const z = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1}],"root":[4,5],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[2,1,3,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.esnext.d.ts","../../lib/lib.dom.d.ts","../../lib/lib.webworker.d.ts","./index.ts","./utils.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3990185033-interface WebWorkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11960320506-export const z = 10","signature":"-7483702853-export declare const z = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1}],"root":[4,5],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/home/src/projects/project4/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1008,18 +981,10 @@ export declare const z = 10; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.dom.d.ts", - "../../lib/lib.esnext.d.ts", - "../../lib/lib.webworker.d.ts", - "./index.ts", - "./utils.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1204 + "size": 1144 } diff --git a/tests/baselines/reference/tsbuildWatch/moduleResolution/build-mode-watches-for-changes-to-package-json-main-fields.js b/tests/baselines/reference/tsbuildWatch/moduleResolution/build-mode-watches-for-changes-to-package-json-main-fields.js index de337b8e63eee..48f1cfa11bacc 100644 --- a/tests/baselines/reference/tsbuildWatch/moduleResolution/build-mode-watches-for-changes-to-package-json-main-fields.js +++ b/tests/baselines/reference/tsbuildWatch/moduleResolution/build-mode-watches-for-changes-to-package-json-main-fields.js @@ -162,7 +162,7 @@ export type TheStr = string; //// [/user/username/projects/myproject/packages/pkg2/build/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../../a/lib/lib.d.ts","../const.ts","../index.ts","../other.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11202312776-export type TheNum = 42;","signature":"-13194036030-export type TheNum = 42;\n","impliedFormat":1},{"version":"-11225381282-export type { TheNum } from './const.js';","signature":"-9660329432-export type { TheNum } from './const.js';\n","impliedFormat":1},{"version":"-4609154030-export type TheStr = string;","signature":"-6073194916-export type TheStr = string;\n","impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./other.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../../a/lib/lib.d.ts","../const.ts","../index.ts","../other.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11202312776-export type TheNum = 42;","signature":"-13194036030-export type TheNum = 42;\n","impliedFormat":1},{"version":"-11225381282-export type { TheNum } from './const.js';","signature":"-9660329432-export type { TheNum } from './const.js';\n","impliedFormat":1},{"version":"-4609154030-export type TheStr = string;","signature":"-6073194916-export type TheStr = string;\n","impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./other.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/pkg2/build/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -243,16 +243,10 @@ export type TheStr = string; "../const.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../../../a/lib/lib.d.ts", - "../const.ts", - "../index.ts", - "../other.ts" - ], "latestChangedDtsFile": "./other.d.ts" }, "version": "FakeTSVersion", - "size": 1154 + "size": 1115 } //// [/user/username/projects/myproject/packages/pkg1/build/index.js] @@ -376,6 +370,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 1 Output:: >> Screen clear @@ -451,6 +446,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 5: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 1 Output:: >> Screen clear diff --git a/tests/baselines/reference/tsbuildWatch/moduleResolution/resolves-specifier-in-output-declaration-file-from-referenced-project-correctly-with-cts-and-mts-extensions.js b/tests/baselines/reference/tsbuildWatch/moduleResolution/resolves-specifier-in-output-declaration-file-from-referenced-project-correctly-with-cts-and-mts-extensions.js index 03f926abaff58..3ab77986a2c8d 100644 --- a/tests/baselines/reference/tsbuildWatch/moduleResolution/resolves-specifier-in-output-declaration-file-from-referenced-project-correctly-with-cts-and-mts-extensions.js +++ b/tests/baselines/reference/tsbuildWatch/moduleResolution/resolves-specifier-in-output-declaration-file-from-referenced-project-correctly-with-cts-and-mts-extensions.js @@ -148,7 +148,7 @@ export type { TheNum } from './const.cjs'; //// [/user/username/projects/myproject/packages/pkg2/build/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../../a/lib/lib.es2022.full.d.ts","../const.cts","../index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11202312776-export type TheNum = 42;","signature":"-13194036030-export type TheNum = 42;\n","impliedFormat":1},{"version":"-9668872159-export type { TheNum } from './const.cjs';","signature":"-9835135925-export type { TheNum } from './const.cjs';\n","impliedFormat":99}],"root":[2,3],"options":{"composite":true,"module":100,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../../a/lib/lib.es2022.full.d.ts","../const.cts","../index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11202312776-export type TheNum = 42;","signature":"-13194036030-export type TheNum = 42;\n","impliedFormat":1},{"version":"-9668872159-export type { TheNum } from './const.cjs';","signature":"-9835135925-export type { TheNum } from './const.cjs';\n","impliedFormat":99}],"root":[2,3],"options":{"composite":true,"module":100,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/pkg2/build/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -216,15 +216,10 @@ export type { TheNum } from './const.cjs'; "../const.cts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../../../a/lib/lib.es2022.full.d.ts", - "../const.cts", - "../index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1034 + "size": 997 } //// [/user/username/projects/myproject/packages/pkg1/build/index.js] @@ -341,6 +336,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -443,6 +439,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -537,6 +534,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -643,6 +641,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 8: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 1 Output:: >> Screen clear @@ -665,7 +664,7 @@ File '/package.json' does not exist. //// [/user/username/projects/myproject/packages/pkg2/build/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../../a/lib/lib.es2022.full.d.ts","../const.cts","../index.cts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11202312776-export type TheNum = 42;","signature":"-13194036030-export type TheNum = 42;\n","impliedFormat":1},{"version":"-9668872159-export type { TheNum } from './const.cjs';","signature":"-9835135925-export type { TheNum } from './const.cjs';\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"module":100,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./index.d.cts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../../a/lib/lib.es2022.full.d.ts","../const.cts","../index.cts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11202312776-export type TheNum = 42;","signature":"-13194036030-export type TheNum = 42;\n","impliedFormat":1},{"version":"-9668872159-export type { TheNum } from './const.cjs';","signature":"-9835135925-export type { TheNum } from './const.cjs';\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"module":100,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./index.d.cts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/pkg2/build/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -733,15 +732,10 @@ File '/package.json' does not exist. "../const.cts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../../../a/lib/lib.es2022.full.d.ts", - "../const.cts", - "../index.cts" - ], "latestChangedDtsFile": "./index.d.cts" }, "version": "FakeTSVersion", - "size": 1035 + "size": 998 } //// [/user/username/projects/myproject/packages/pkg2/build/index.cjs] @@ -796,6 +790,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 9: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: [HH:MM:SS AM] Project 'packages/pkg1/tsconfig.json' is out of date because output 'packages/pkg1/build/index.js' is older than input 'packages/pkg2' diff --git a/tests/baselines/reference/tsbuildWatch/moduleResolutionCache/handles-the-cache-correctly-when-two-projects-use-different-module-resolution-settings.js b/tests/baselines/reference/tsbuildWatch/moduleResolutionCache/handles-the-cache-correctly-when-two-projects-use-different-module-resolution-settings.js index 56c113d274c88..8ee289dae9ded 100644 --- a/tests/baselines/reference/tsbuildWatch/moduleResolutionCache/handles-the-cache-correctly-when-two-projects-use-different-module-resolution-settings.js +++ b/tests/baselines/reference/tsbuildWatch/moduleResolutionCache/handles-the-cache-correctly-when-two-projects-use-different-module-resolution-settings.js @@ -105,7 +105,7 @@ export {}; //// [/user/username/projects/myproject/project1/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./node_modules/file/index.d.ts","./index.ts","../node_modules/@types/foo/index.d.ts","../node_modules/@types/bar/index.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-12737086933-export const foo = 10;","impliedFormat":1},{"version":"-4708082513-import { foo } from \"file\";","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-12737086933-export const foo = 10;","impliedFormat":1},{"version":"-12042713060-export const bar = 10;","impliedFormat":1}],"root":[3],"options":{"composite":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,5,4,3,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./node_modules/file/index.d.ts","./index.ts","../node_modules/@types/foo/index.d.ts","../node_modules/@types/bar/index.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-12737086933-export const foo = 10;","impliedFormat":1},{"version":"-4708082513-import { foo } from \"file\";","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-12737086933-export const foo = 10;","impliedFormat":1},{"version":"-12042713060-export const bar = 10;","impliedFormat":1}],"root":[3],"options":{"composite":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/project1/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -186,17 +186,10 @@ export {}; "./node_modules/file/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../node_modules/@types/bar/index.d.ts", - "../node_modules/@types/foo/index.d.ts", - "./index.ts", - "./node_modules/file/index.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1122 + "size": 1081 } //// [/user/username/projects/myproject/project2/index.js] @@ -209,7 +202,7 @@ export {}; //// [/user/username/projects/myproject/project2/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./file.d.ts","./index.ts","../node_modules/@types/foo/index.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-12737086933-export const foo = 10;","impliedFormat":1},{"version":"-4708082513-import { foo } from \"file\";","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-12737086933-export const foo = 10;","impliedFormat":1}],"root":[3],"options":{"composite":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,4,2,3],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./file.d.ts","./index.ts","../node_modules/@types/foo/index.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-12737086933-export const foo = 10;","impliedFormat":1},{"version":"-4708082513-import { foo } from \"file\";","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-12737086933-export const foo = 10;","impliedFormat":1}],"root":[3],"options":{"composite":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/project2/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -280,16 +273,10 @@ export {}; "./file.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../node_modules/@types/foo/index.d.ts", - "./file.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 993 + "size": 954 } @@ -417,6 +404,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -437,7 +425,7 @@ var bar = 10; //// [/user/username/projects/myproject/project1/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./node_modules/file/index.d.ts","./index.ts","../node_modules/@types/foo/index.d.ts","../node_modules/@types/bar/index.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-12737086933-export const foo = 10;","impliedFormat":1},{"version":"-7561100220-import { foo } from \"file\";const bar = 10;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-12737086933-export const foo = 10;","impliedFormat":1},{"version":"-12042713060-export const bar = 10;","impliedFormat":1}],"root":[3],"options":{"composite":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,5,4,3,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./node_modules/file/index.d.ts","./index.ts","../node_modules/@types/foo/index.d.ts","../node_modules/@types/bar/index.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-12737086933-export const foo = 10;","impliedFormat":1},{"version":"-7561100220-import { foo } from \"file\";const bar = 10;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-12737086933-export const foo = 10;","impliedFormat":1},{"version":"-12042713060-export const bar = 10;","impliedFormat":1}],"root":[3],"options":{"composite":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/project1/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -518,17 +506,10 @@ var bar = 10; "./node_modules/file/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../node_modules/@types/bar/index.d.ts", - "../node_modules/@types/foo/index.d.ts", - "./index.ts", - "./node_modules/file/index.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1137 + "size": 1096 } diff --git a/tests/baselines/reference/tsbuildWatch/noEmit/does-not-go-in-loop-when-watching-when-no-files-are-emitted-with-incremental.js b/tests/baselines/reference/tsbuildWatch/noEmit/does-not-go-in-loop-when-watching-when-no-files-are-emitted-with-incremental.js index 57b1fee34b6e7..4a7396149e27d 100644 --- a/tests/baselines/reference/tsbuildWatch/noEmit/does-not-go-in-loop-when-watching-when-no-files-are-emitted-with-incremental.js +++ b/tests/baselines/reference/tsbuildWatch/noEmit/does-not-go-in-loop-when-watching-when-no-files-are-emitted-with-incremental.js @@ -47,7 +47,7 @@ Output:: //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.js","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"5381-","impliedFormat":1},{"version":"5381-","impliedFormat":1}],"root":[2,3],"options":{"allowJs":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3],"affectedFilesPendingEmit":[2,3]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.js","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"5381-","impliedFormat":1},{"version":"5381-","impliedFormat":1}],"root":[2,3],"options":{"allowJs":true},"affectedFilesPendingEmit":[2,3]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -101,12 +101,6 @@ Output:: "options": { "allowJs": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.js", - "./b.ts" - ], "affectedFilesPendingEmit": [ [ "./a.js", @@ -119,7 +113,7 @@ Output:: ] }, "version": "FakeTSVersion", - "size": 816 + "size": 760 } @@ -191,6 +185,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -219,6 +214,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -233,7 +229,7 @@ Output:: //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.js","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"5029505981-const x = 10;","signature":"-3042032780-declare const x: 10;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"5381-","impliedFormat":1}],"root":[2,3],"options":{"allowJs":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3],"affectedFilesPendingEmit":[2,3]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.js","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"5029505981-const x = 10;","signature":"-3042032780-declare const x: 10;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"5381-","impliedFormat":1}],"root":[2,3],"options":{"allowJs":true},"affectedFilesPendingEmit":[2,3]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -290,12 +286,6 @@ Output:: "options": { "allowJs": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.js", - "./b.ts" - ], "affectedFilesPendingEmit": [ [ "./a.js", @@ -308,7 +298,7 @@ Output:: ] }, "version": "FakeTSVersion", - "size": 910 + "size": 854 } diff --git a/tests/baselines/reference/tsbuildWatch/noEmit/does-not-go-in-loop-when-watching-when-no-files-are-emitted-with-outFile-with-incremental.js b/tests/baselines/reference/tsbuildWatch/noEmit/does-not-go-in-loop-when-watching-when-no-files-are-emitted-with-outFile-with-incremental.js new file mode 100644 index 0000000000000..2148fb872126b --- /dev/null +++ b/tests/baselines/reference/tsbuildWatch/noEmit/does-not-go-in-loop-when-watching-when-no-files-are-emitted-with-outFile-with-incremental.js @@ -0,0 +1,205 @@ +currentDirectory:: /user/username/projects/myproject useCaseSensitiveFileNames: false +Input:: +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/user/username/projects/myproject/a.js] + + +//// [/user/username/projects/myproject/b.ts] + + +//// [/user/username/projects/myproject/tsconfig.json] +{ + "compilerOptions": { + "allowJs": true, + "noEmit": true, + "outFile": "../out.js" + } +} + + +/a/lib/tsc.js -b -w -verbose --incremental +Output:: +>> Screen clear +[HH:MM:SS AM] Starting compilation in watch mode... + +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file '../out.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/myproject/tsconfig.json'... + +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + + +PolledWatches:: +/a/lib/package.json: *new* + {"pollingInterval":2000} +/a/package.json: *new* + {"pollingInterval":2000} +/package.json: *new* + {"pollingInterval":2000} +/user/package.json: *new* + {"pollingInterval":2000} +/user/username/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/user/username/projects/myproject/a.js: *new* + {} +/user/username/projects/myproject/b.ts: *new* + {} +/user/username/projects/myproject/tsconfig.json: *new* + {} + +FsWatchesRecursive:: +/user/username/projects/myproject: *new* + {} + +Program root files: [ + "/user/username/projects/myproject/a.js", + "/user/username/projects/myproject/b.ts" +] +Program options: { + "allowJs": true, + "noEmit": true, + "outFile": "/user/username/projects/out.js", + "watch": true, + "incremental": true, + "configFilePath": "/user/username/projects/myproject/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/myproject/a.js +/user/username/projects/myproject/b.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Change:: No change + +Input:: +//// [/user/username/projects/myproject/a.js] file written with same contents + +Timeout callback:: count: 1 +1: timerToBuildInvalidatedProject *new* + +Before running Timeout callback:: count: 1 +1: timerToBuildInvalidatedProject + +Host is moving to new time +After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file '../out.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/myproject/tsconfig.json'... + +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + + + +Program root files: [ + "/user/username/projects/myproject/a.js", + "/user/username/projects/myproject/b.ts" +] +Program options: { + "allowJs": true, + "noEmit": true, + "outFile": "/user/username/projects/out.js", + "watch": true, + "incremental": true, + "configFilePath": "/user/username/projects/myproject/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/myproject/a.js +/user/username/projects/myproject/b.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Change:: change + +Input:: +//// [/user/username/projects/myproject/a.js] +const x = 10; + + +Timeout callback:: count: 1 +2: timerToBuildInvalidatedProject *new* + +Before running Timeout callback:: count: 1 +2: timerToBuildInvalidatedProject + +Host is moving to new time +After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file '../out.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/myproject/tsconfig.json'... + +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + + + +Program root files: [ + "/user/username/projects/myproject/a.js", + "/user/username/projects/myproject/b.ts" +] +Program options: { + "allowJs": true, + "noEmit": true, + "outFile": "/user/username/projects/out.js", + "watch": true, + "incremental": true, + "configFilePath": "/user/username/projects/myproject/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/myproject/a.js +/user/username/projects/myproject/b.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined diff --git a/tests/baselines/reference/tsbuildWatch/noEmit/does-not-go-in-loop-when-watching-when-no-files-are-emitted-with-outFile.js b/tests/baselines/reference/tsbuildWatch/noEmit/does-not-go-in-loop-when-watching-when-no-files-are-emitted-with-outFile.js new file mode 100644 index 0000000000000..7edbabe019e3f --- /dev/null +++ b/tests/baselines/reference/tsbuildWatch/noEmit/does-not-go-in-loop-when-watching-when-no-files-are-emitted-with-outFile.js @@ -0,0 +1,202 @@ +currentDirectory:: /user/username/projects/myproject useCaseSensitiveFileNames: false +Input:: +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/user/username/projects/myproject/a.js] + + +//// [/user/username/projects/myproject/b.ts] + + +//// [/user/username/projects/myproject/tsconfig.json] +{ + "compilerOptions": { + "allowJs": true, + "noEmit": true, + "outFile": "../out.js" + } +} + + +/a/lib/tsc.js -b -w -verbose +Output:: +>> Screen clear +[HH:MM:SS AM] Starting compilation in watch mode... + +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file '../out.js' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/myproject/tsconfig.json'... + +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + + +PolledWatches:: +/a/lib/package.json: *new* + {"pollingInterval":2000} +/a/package.json: *new* + {"pollingInterval":2000} +/package.json: *new* + {"pollingInterval":2000} +/user/package.json: *new* + {"pollingInterval":2000} +/user/username/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/user/username/projects/myproject/a.js: *new* + {} +/user/username/projects/myproject/b.ts: *new* + {} +/user/username/projects/myproject/tsconfig.json: *new* + {} + +FsWatchesRecursive:: +/user/username/projects/myproject: *new* + {} + +Program root files: [ + "/user/username/projects/myproject/a.js", + "/user/username/projects/myproject/b.ts" +] +Program options: { + "allowJs": true, + "noEmit": true, + "outFile": "/user/username/projects/out.js", + "watch": true, + "configFilePath": "/user/username/projects/myproject/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/myproject/a.js +/user/username/projects/myproject/b.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Change:: No change + +Input:: +//// [/user/username/projects/myproject/a.js] file written with same contents + +Timeout callback:: count: 1 +1: timerToBuildInvalidatedProject *new* + +Before running Timeout callback:: count: 1 +1: timerToBuildInvalidatedProject + +Host is moving to new time +After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file '../out.js' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/myproject/tsconfig.json'... + +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + + + +Program root files: [ + "/user/username/projects/myproject/a.js", + "/user/username/projects/myproject/b.ts" +] +Program options: { + "allowJs": true, + "noEmit": true, + "outFile": "/user/username/projects/out.js", + "watch": true, + "configFilePath": "/user/username/projects/myproject/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/myproject/a.js +/user/username/projects/myproject/b.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Change:: change + +Input:: +//// [/user/username/projects/myproject/a.js] +const x = 10; + + +Timeout callback:: count: 1 +2: timerToBuildInvalidatedProject *new* + +Before running Timeout callback:: count: 1 +2: timerToBuildInvalidatedProject + +Host is moving to new time +After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file '../out.js' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/myproject/tsconfig.json'... + +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + + + +Program root files: [ + "/user/username/projects/myproject/a.js", + "/user/username/projects/myproject/b.ts" +] +Program options: { + "allowJs": true, + "noEmit": true, + "outFile": "/user/username/projects/out.js", + "watch": true, + "configFilePath": "/user/username/projects/myproject/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/myproject/a.js +/user/username/projects/myproject/b.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined diff --git a/tests/baselines/reference/tsbuildWatch/noEmit/does-not-go-in-loop-when-watching-when-no-files-are-emitted.js b/tests/baselines/reference/tsbuildWatch/noEmit/does-not-go-in-loop-when-watching-when-no-files-are-emitted.js index 2c71e60666cf8..1b2089c33a075 100644 --- a/tests/baselines/reference/tsbuildWatch/noEmit/does-not-go-in-loop-when-watching-when-no-files-are-emitted.js +++ b/tests/baselines/reference/tsbuildWatch/noEmit/does-not-go-in-loop-when-watching-when-no-files-are-emitted.js @@ -114,6 +114,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -164,6 +165,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tsbuildWatch/noEmitOnError/does-not-emit-any-files-on-error-outFile-with-declaration-with-incremental.js b/tests/baselines/reference/tsbuildWatch/noEmitOnError/does-not-emit-any-files-on-error-outFile-with-declaration-with-incremental.js new file mode 100644 index 0000000000000..7d5df8d8fbb7c --- /dev/null +++ b/tests/baselines/reference/tsbuildWatch/noEmitOnError/does-not-emit-any-files-on-error-outFile-with-declaration-with-incremental.js @@ -0,0 +1,646 @@ +currentDirectory:: /user/username/projects/noEmitOnError useCaseSensitiveFileNames: false +Input:: +//// [/user/username/projects/noEmitOnError/tsconfig.json] +{ + "compilerOptions": { + "outFile": "../dev-build.js", + "module": "amd", + "declaration": true, + "incremental": true, + "noEmitOnError": true + } +} + +//// [/user/username/projects/noEmitOnError/shared/types/db.ts] +export interface A { + name: string; +} + + +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a = { + lastName: 'sdsd' +; + + +//// [/user/username/projects/noEmitOnError/src/other.ts] +console.log("hi"); +export { } + + +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + + +/a/lib/tsc.js -b -w -verbose +Output:: +>> Screen clear +[HH:MM:SS AM] Starting compilation in watch mode... + +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file '../dev-build.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +src/main.ts:4:1 - error TS1005: ',' expected. + +4 ; +  ~ + +[HH:MM:SS AM] Found 1 error. Watching for file changes. + + + + +PolledWatches:: +/a/lib/package.json: *new* + {"pollingInterval":2000} +/a/package.json: *new* + {"pollingInterval":2000} +/package.json: *new* + {"pollingInterval":2000} +/user/package.json: *new* + {"pollingInterval":2000} +/user/username/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/noEmitOnError/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/noEmitOnError/shared/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/noEmitOnError/shared/types/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/noEmitOnError/src/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/user/username/projects/noEmitOnError/shared/types/db.ts: *new* + {} +/user/username/projects/noEmitOnError/src/main.ts: *new* + {} +/user/username/projects/noEmitOnError/src/other.ts: *new* + {} +/user/username/projects/noEmitOnError/tsconfig.json: *new* + {} + +FsWatchesRecursive:: +/user/username/projects/noEmitOnError: *new* + {} + +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "declaration": true, + "incremental": true, + "noEmitOnError": true, + "watch": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Change:: No change + +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] file written with same contents + +Timeout callback:: count: 1 +1: timerToBuildInvalidatedProject *new* + +Before running Timeout callback:: count: 1 +1: timerToBuildInvalidatedProject + +Host is moving to new time +After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file '../dev-build.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +src/main.ts:4:1 - error TS1005: ',' expected. + +4 ; +  ~ + +[HH:MM:SS AM] Found 1 error. Watching for file changes. + + + + + +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "declaration": true, + "incremental": true, + "noEmitOnError": true, + "watch": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Change:: Fix Syntax error + +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a = { + lastName: 'sdsd' +}; + + +Timeout callback:: count: 1 +2: timerToBuildInvalidatedProject *new* + +Before running Timeout callback:: count: 1 +2: timerToBuildInvalidatedProject + +Host is moving to new time +After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file '../dev-build.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + +//// [/user/username/projects/dev-build.js] +define("shared/types/db", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +}); +define("src/main", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var a = { + lastName: 'sdsd' + }; +}); +define("src/other", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + console.log("hi"); +}); + + +//// [/user/username/projects/dev-build.d.ts] +declare module "shared/types/db" { + export interface A { + name: string; + } +} +declare module "src/main" { } +declare module "src/other" { + export {}; +} + + +//// [/user/username/projects/dev-build.tsbuildinfo] +{"program":{"fileNames":["../../../a/lib/lib.d.ts","./noemitonerror/shared/types/db.ts","./noemitonerror/src/main.ts","./noemitonerror/src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-2574605496-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n};","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true,"module":2,"noEmitOnError":true,"outFile":"./dev-build.js"}},"version":"FakeTSVersion"} + +//// [/user/username/projects/dev-build.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../a/lib/lib.d.ts", + "./noemitonerror/shared/types/db.ts", + "./noemitonerror/src/main.ts", + "./noemitonerror/src/other.ts" + ], + "fileInfos": { + "../../../a/lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": "commonjs" + }, + "./noemitonerror/shared/types/db.ts": { + "original": { + "version": "-5014788164-export interface A {\n name: string;\n}\n", + "impliedFormat": 1 + }, + "version": "-5014788164-export interface A {\n name: string;\n}\n", + "impliedFormat": "commonjs" + }, + "./noemitonerror/src/main.ts": { + "original": { + "version": "-2574605496-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n};", + "impliedFormat": 1 + }, + "version": "-2574605496-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n};", + "impliedFormat": "commonjs" + }, + "./noemitonerror/src/other.ts": { + "original": { + "version": "9084524823-console.log(\"hi\");\nexport { }\n", + "impliedFormat": 1 + }, + "version": "9084524823-console.log(\"hi\");\nexport { }\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 4 + ], + [ + "./noemitonerror/shared/types/db.ts", + "./noemitonerror/src/main.ts", + "./noemitonerror/src/other.ts" + ] + ] + ], + "options": { + "declaration": true, + "module": 2, + "noEmitOnError": true, + "outFile": "./dev-build.js" + } + }, + "version": "FakeTSVersion", + "size": 1059 +} + + + +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "declaration": true, + "incremental": true, + "noEmitOnError": true, + "watch": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Change:: Semantic Error + +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a: string = 10; + + +Timeout callback:: count: 1 +3: timerToBuildInvalidatedProject *new* + +Before running Timeout callback:: count: 1 +3: timerToBuildInvalidatedProject + +Host is moving to new time +After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output '../dev-build.tsbuildinfo' is older than input 'src/main.ts' + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +src/main.ts:2:7 - error TS2322: Type 'number' is not assignable to type 'string'. + +2 const a: string = 10; +   ~ + +[HH:MM:SS AM] Found 1 error. Watching for file changes. + + + + + +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "declaration": true, + "incremental": true, + "noEmitOnError": true, + "watch": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Change:: No change + +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] file written with same contents + +Timeout callback:: count: 1 +4: timerToBuildInvalidatedProject *new* + +Before running Timeout callback:: count: 1 +4: timerToBuildInvalidatedProject + +Host is moving to new time +After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output '../dev-build.tsbuildinfo' is older than input 'src/main.ts' + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +src/main.ts:2:7 - error TS2322: Type 'number' is not assignable to type 'string'. + +2 const a: string = 10; +   ~ + +[HH:MM:SS AM] Found 1 error. Watching for file changes. + + + + + +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "declaration": true, + "incremental": true, + "noEmitOnError": true, + "watch": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Change:: Fix Semantic Error + +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a: string = "hello"; + + +Timeout callback:: count: 1 +5: timerToBuildInvalidatedProject *new* + +Before running Timeout callback:: count: 1 +5: timerToBuildInvalidatedProject + +Host is moving to new time +After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output '../dev-build.tsbuildinfo' is older than input 'src/main.ts' + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + +//// [/user/username/projects/dev-build.js] +define("shared/types/db", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +}); +define("src/main", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var a = "hello"; +}); +define("src/other", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + console.log("hi"); +}); + + +//// [/user/username/projects/dev-build.d.ts] file written with same contents +//// [/user/username/projects/dev-build.tsbuildinfo] +{"program":{"fileNames":["../../../a/lib/lib.d.ts","./noemitonerror/shared/types/db.ts","./noemitonerror/src/main.ts","./noemitonerror/src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-8373351622-import { A } from \"../shared/types/db\";\nconst a: string = \"hello\";","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true,"module":2,"noEmitOnError":true,"outFile":"./dev-build.js"}},"version":"FakeTSVersion"} + +//// [/user/username/projects/dev-build.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../a/lib/lib.d.ts", + "./noemitonerror/shared/types/db.ts", + "./noemitonerror/src/main.ts", + "./noemitonerror/src/other.ts" + ], + "fileInfos": { + "../../../a/lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": "commonjs" + }, + "./noemitonerror/shared/types/db.ts": { + "original": { + "version": "-5014788164-export interface A {\n name: string;\n}\n", + "impliedFormat": 1 + }, + "version": "-5014788164-export interface A {\n name: string;\n}\n", + "impliedFormat": "commonjs" + }, + "./noemitonerror/src/main.ts": { + "original": { + "version": "-8373351622-import { A } from \"../shared/types/db\";\nconst a: string = \"hello\";", + "impliedFormat": 1 + }, + "version": "-8373351622-import { A } from \"../shared/types/db\";\nconst a: string = \"hello\";", + "impliedFormat": "commonjs" + }, + "./noemitonerror/src/other.ts": { + "original": { + "version": "9084524823-console.log(\"hi\");\nexport { }\n", + "impliedFormat": 1 + }, + "version": "9084524823-console.log(\"hi\");\nexport { }\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 4 + ], + [ + "./noemitonerror/shared/types/db.ts", + "./noemitonerror/src/main.ts", + "./noemitonerror/src/other.ts" + ] + ] + ], + "options": { + "declaration": true, + "module": 2, + "noEmitOnError": true, + "outFile": "./dev-build.js" + } + }, + "version": "FakeTSVersion", + "size": 1050 +} + + + +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "declaration": true, + "incremental": true, + "noEmitOnError": true, + "watch": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Change:: No change + +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] file written with same contents + +Timeout callback:: count: 1 +6: timerToBuildInvalidatedProject *new* + +Before running Timeout callback:: count: 1 +6: timerToBuildInvalidatedProject + +Host is moving to new time +After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +[HH:MM:SS AM] Project 'tsconfig.json' is up to date but needs to update timestamps of output files that are older than input files + +[HH:MM:SS AM] Updating output timestamps of project '/user/username/projects/noEmitOnError/tsconfig.json'... + +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + +//// [/user/username/projects/dev-build.tsbuildinfo] file changed its modified time + + +exitCode:: ExitStatus.undefined diff --git a/tests/baselines/reference/tsbuildWatch/noEmitOnError/does-not-emit-any-files-on-error-outFile-with-declaration.js b/tests/baselines/reference/tsbuildWatch/noEmitOnError/does-not-emit-any-files-on-error-outFile-with-declaration.js new file mode 100644 index 0000000000000..b6e7c28304e82 --- /dev/null +++ b/tests/baselines/reference/tsbuildWatch/noEmitOnError/does-not-emit-any-files-on-error-outFile-with-declaration.js @@ -0,0 +1,526 @@ +currentDirectory:: /user/username/projects/noEmitOnError useCaseSensitiveFileNames: false +Input:: +//// [/user/username/projects/noEmitOnError/tsconfig.json] +{ + "compilerOptions": { + "outFile": "../dev-build.js", + "module": "amd", + "declaration": true, + "noEmitOnError": true + } +} + +//// [/user/username/projects/noEmitOnError/shared/types/db.ts] +export interface A { + name: string; +} + + +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a = { + lastName: 'sdsd' +; + + +//// [/user/username/projects/noEmitOnError/src/other.ts] +console.log("hi"); +export { } + + +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + + +/a/lib/tsc.js -b -w -verbose +Output:: +>> Screen clear +[HH:MM:SS AM] Starting compilation in watch mode... + +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file '../dev-build.js' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +src/main.ts:4:1 - error TS1005: ',' expected. + +4 ; +  ~ + +[HH:MM:SS AM] Found 1 error. Watching for file changes. + + + + +PolledWatches:: +/a/lib/package.json: *new* + {"pollingInterval":2000} +/a/package.json: *new* + {"pollingInterval":2000} +/package.json: *new* + {"pollingInterval":2000} +/user/package.json: *new* + {"pollingInterval":2000} +/user/username/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/noEmitOnError/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/noEmitOnError/shared/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/noEmitOnError/shared/types/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/noEmitOnError/src/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/user/username/projects/noEmitOnError/shared/types/db.ts: *new* + {} +/user/username/projects/noEmitOnError/src/main.ts: *new* + {} +/user/username/projects/noEmitOnError/src/other.ts: *new* + {} +/user/username/projects/noEmitOnError/tsconfig.json: *new* + {} + +FsWatchesRecursive:: +/user/username/projects/noEmitOnError: *new* + {} + +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "declaration": true, + "noEmitOnError": true, + "watch": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Change:: No change + +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] file written with same contents + +Timeout callback:: count: 1 +1: timerToBuildInvalidatedProject *new* + +Before running Timeout callback:: count: 1 +1: timerToBuildInvalidatedProject + +Host is moving to new time +After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file '../dev-build.js' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +src/main.ts:4:1 - error TS1005: ',' expected. + +4 ; +  ~ + +[HH:MM:SS AM] Found 1 error. Watching for file changes. + + + + + +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "declaration": true, + "noEmitOnError": true, + "watch": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Change:: Fix Syntax error + +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a = { + lastName: 'sdsd' +}; + + +Timeout callback:: count: 1 +2: timerToBuildInvalidatedProject *new* + +Before running Timeout callback:: count: 1 +2: timerToBuildInvalidatedProject + +Host is moving to new time +After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file '../dev-build.js' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + +//// [/user/username/projects/dev-build.js] +define("shared/types/db", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +}); +define("src/main", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var a = { + lastName: 'sdsd' + }; +}); +define("src/other", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + console.log("hi"); +}); + + +//// [/user/username/projects/dev-build.d.ts] +declare module "shared/types/db" { + export interface A { + name: string; + } +} +declare module "src/main" { } +declare module "src/other" { + export {}; +} + + + + +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "declaration": true, + "noEmitOnError": true, + "watch": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Change:: Semantic Error + +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a: string = 10; + + +Timeout callback:: count: 1 +3: timerToBuildInvalidatedProject *new* + +Before running Timeout callback:: count: 1 +3: timerToBuildInvalidatedProject + +Host is moving to new time +After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output '../dev-build.js' is older than input 'src/main.ts' + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +src/main.ts:2:7 - error TS2322: Type 'number' is not assignable to type 'string'. + +2 const a: string = 10; +   ~ + +[HH:MM:SS AM] Found 1 error. Watching for file changes. + + + + + +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "declaration": true, + "noEmitOnError": true, + "watch": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Change:: No change + +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] file written with same contents + +Timeout callback:: count: 1 +4: timerToBuildInvalidatedProject *new* + +Before running Timeout callback:: count: 1 +4: timerToBuildInvalidatedProject + +Host is moving to new time +After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output '../dev-build.js' is older than input 'src/main.ts' + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +src/main.ts:2:7 - error TS2322: Type 'number' is not assignable to type 'string'. + +2 const a: string = 10; +   ~ + +[HH:MM:SS AM] Found 1 error. Watching for file changes. + + + + + +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "declaration": true, + "noEmitOnError": true, + "watch": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Change:: Fix Semantic Error + +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a: string = "hello"; + + +Timeout callback:: count: 1 +5: timerToBuildInvalidatedProject *new* + +Before running Timeout callback:: count: 1 +5: timerToBuildInvalidatedProject + +Host is moving to new time +After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output '../dev-build.js' is older than input 'src/main.ts' + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + +//// [/user/username/projects/dev-build.js] +define("shared/types/db", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +}); +define("src/main", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var a = "hello"; +}); +define("src/other", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + console.log("hi"); +}); + + +//// [/user/username/projects/dev-build.d.ts] file written with same contents + + +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "declaration": true, + "noEmitOnError": true, + "watch": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Change:: No change + +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] file written with same contents + +Timeout callback:: count: 1 +6: timerToBuildInvalidatedProject *new* + +Before running Timeout callback:: count: 1 +6: timerToBuildInvalidatedProject + +Host is moving to new time +After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output '../dev-build.js' is older than input 'src/main.ts' + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +[HH:MM:SS AM] Updating unchanged output timestamps of project '/user/username/projects/noEmitOnError/tsconfig.json'... + +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + +//// [/user/username/projects/dev-build.js] file changed its modified time +//// [/user/username/projects/dev-build.d.ts] file changed its modified time + + +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "declaration": true, + "noEmitOnError": true, + "watch": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined diff --git a/tests/baselines/reference/tsbuildWatch/noEmitOnError/does-not-emit-any-files-on-error-outFile-with-incremental.js b/tests/baselines/reference/tsbuildWatch/noEmitOnError/does-not-emit-any-files-on-error-outFile-with-incremental.js new file mode 100644 index 0000000000000..9144875945f7a --- /dev/null +++ b/tests/baselines/reference/tsbuildWatch/noEmitOnError/does-not-emit-any-files-on-error-outFile-with-incremental.js @@ -0,0 +1,624 @@ +currentDirectory:: /user/username/projects/noEmitOnError useCaseSensitiveFileNames: false +Input:: +//// [/user/username/projects/noEmitOnError/tsconfig.json] +{ + "compilerOptions": { + "outFile": "../dev-build.js", + "module": "amd", + "incremental": true, + "noEmitOnError": true + } +} + +//// [/user/username/projects/noEmitOnError/shared/types/db.ts] +export interface A { + name: string; +} + + +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a = { + lastName: 'sdsd' +; + + +//// [/user/username/projects/noEmitOnError/src/other.ts] +console.log("hi"); +export { } + + +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + + +/a/lib/tsc.js -b -w -verbose +Output:: +>> Screen clear +[HH:MM:SS AM] Starting compilation in watch mode... + +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file '../dev-build.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +src/main.ts:4:1 - error TS1005: ',' expected. + +4 ; +  ~ + +[HH:MM:SS AM] Found 1 error. Watching for file changes. + + + + +PolledWatches:: +/a/lib/package.json: *new* + {"pollingInterval":2000} +/a/package.json: *new* + {"pollingInterval":2000} +/package.json: *new* + {"pollingInterval":2000} +/user/package.json: *new* + {"pollingInterval":2000} +/user/username/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/noEmitOnError/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/noEmitOnError/shared/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/noEmitOnError/shared/types/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/noEmitOnError/src/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/user/username/projects/noEmitOnError/shared/types/db.ts: *new* + {} +/user/username/projects/noEmitOnError/src/main.ts: *new* + {} +/user/username/projects/noEmitOnError/src/other.ts: *new* + {} +/user/username/projects/noEmitOnError/tsconfig.json: *new* + {} + +FsWatchesRecursive:: +/user/username/projects/noEmitOnError: *new* + {} + +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "incremental": true, + "noEmitOnError": true, + "watch": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Change:: No change + +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] file written with same contents + +Timeout callback:: count: 1 +1: timerToBuildInvalidatedProject *new* + +Before running Timeout callback:: count: 1 +1: timerToBuildInvalidatedProject + +Host is moving to new time +After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file '../dev-build.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +src/main.ts:4:1 - error TS1005: ',' expected. + +4 ; +  ~ + +[HH:MM:SS AM] Found 1 error. Watching for file changes. + + + + + +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "incremental": true, + "noEmitOnError": true, + "watch": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Change:: Fix Syntax error + +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a = { + lastName: 'sdsd' +}; + + +Timeout callback:: count: 1 +2: timerToBuildInvalidatedProject *new* + +Before running Timeout callback:: count: 1 +2: timerToBuildInvalidatedProject + +Host is moving to new time +After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file '../dev-build.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + +//// [/user/username/projects/dev-build.js] +define("shared/types/db", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +}); +define("src/main", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var a = { + lastName: 'sdsd' + }; +}); +define("src/other", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + console.log("hi"); +}); + + +//// [/user/username/projects/dev-build.tsbuildinfo] +{"program":{"fileNames":["../../../a/lib/lib.d.ts","./noemitonerror/shared/types/db.ts","./noemitonerror/src/main.ts","./noemitonerror/src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-2574605496-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n};","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","impliedFormat":1}],"root":[[2,4]],"options":{"module":2,"noEmitOnError":true,"outFile":"./dev-build.js"}},"version":"FakeTSVersion"} + +//// [/user/username/projects/dev-build.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../a/lib/lib.d.ts", + "./noemitonerror/shared/types/db.ts", + "./noemitonerror/src/main.ts", + "./noemitonerror/src/other.ts" + ], + "fileInfos": { + "../../../a/lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": "commonjs" + }, + "./noemitonerror/shared/types/db.ts": { + "original": { + "version": "-5014788164-export interface A {\n name: string;\n}\n", + "impliedFormat": 1 + }, + "version": "-5014788164-export interface A {\n name: string;\n}\n", + "impliedFormat": "commonjs" + }, + "./noemitonerror/src/main.ts": { + "original": { + "version": "-2574605496-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n};", + "impliedFormat": 1 + }, + "version": "-2574605496-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n};", + "impliedFormat": "commonjs" + }, + "./noemitonerror/src/other.ts": { + "original": { + "version": "9084524823-console.log(\"hi\");\nexport { }\n", + "impliedFormat": 1 + }, + "version": "9084524823-console.log(\"hi\");\nexport { }\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 4 + ], + [ + "./noemitonerror/shared/types/db.ts", + "./noemitonerror/src/main.ts", + "./noemitonerror/src/other.ts" + ] + ] + ], + "options": { + "module": 2, + "noEmitOnError": true, + "outFile": "./dev-build.js" + } + }, + "version": "FakeTSVersion", + "size": 1040 +} + + + +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "incremental": true, + "noEmitOnError": true, + "watch": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Change:: Semantic Error + +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a: string = 10; + + +Timeout callback:: count: 1 +3: timerToBuildInvalidatedProject *new* + +Before running Timeout callback:: count: 1 +3: timerToBuildInvalidatedProject + +Host is moving to new time +After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output '../dev-build.tsbuildinfo' is older than input 'src/main.ts' + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +src/main.ts:2:7 - error TS2322: Type 'number' is not assignable to type 'string'. + +2 const a: string = 10; +   ~ + +[HH:MM:SS AM] Found 1 error. Watching for file changes. + + + + + +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "incremental": true, + "noEmitOnError": true, + "watch": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Change:: No change + +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] file written with same contents + +Timeout callback:: count: 1 +4: timerToBuildInvalidatedProject *new* + +Before running Timeout callback:: count: 1 +4: timerToBuildInvalidatedProject + +Host is moving to new time +After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output '../dev-build.tsbuildinfo' is older than input 'src/main.ts' + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +src/main.ts:2:7 - error TS2322: Type 'number' is not assignable to type 'string'. + +2 const a: string = 10; +   ~ + +[HH:MM:SS AM] Found 1 error. Watching for file changes. + + + + + +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "incremental": true, + "noEmitOnError": true, + "watch": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Change:: Fix Semantic Error + +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a: string = "hello"; + + +Timeout callback:: count: 1 +5: timerToBuildInvalidatedProject *new* + +Before running Timeout callback:: count: 1 +5: timerToBuildInvalidatedProject + +Host is moving to new time +After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output '../dev-build.tsbuildinfo' is older than input 'src/main.ts' + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + +//// [/user/username/projects/dev-build.js] +define("shared/types/db", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +}); +define("src/main", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var a = "hello"; +}); +define("src/other", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + console.log("hi"); +}); + + +//// [/user/username/projects/dev-build.tsbuildinfo] +{"program":{"fileNames":["../../../a/lib/lib.d.ts","./noemitonerror/shared/types/db.ts","./noemitonerror/src/main.ts","./noemitonerror/src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-8373351622-import { A } from \"../shared/types/db\";\nconst a: string = \"hello\";","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","impliedFormat":1}],"root":[[2,4]],"options":{"module":2,"noEmitOnError":true,"outFile":"./dev-build.js"}},"version":"FakeTSVersion"} + +//// [/user/username/projects/dev-build.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../a/lib/lib.d.ts", + "./noemitonerror/shared/types/db.ts", + "./noemitonerror/src/main.ts", + "./noemitonerror/src/other.ts" + ], + "fileInfos": { + "../../../a/lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": "commonjs" + }, + "./noemitonerror/shared/types/db.ts": { + "original": { + "version": "-5014788164-export interface A {\n name: string;\n}\n", + "impliedFormat": 1 + }, + "version": "-5014788164-export interface A {\n name: string;\n}\n", + "impliedFormat": "commonjs" + }, + "./noemitonerror/src/main.ts": { + "original": { + "version": "-8373351622-import { A } from \"../shared/types/db\";\nconst a: string = \"hello\";", + "impliedFormat": 1 + }, + "version": "-8373351622-import { A } from \"../shared/types/db\";\nconst a: string = \"hello\";", + "impliedFormat": "commonjs" + }, + "./noemitonerror/src/other.ts": { + "original": { + "version": "9084524823-console.log(\"hi\");\nexport { }\n", + "impliedFormat": 1 + }, + "version": "9084524823-console.log(\"hi\");\nexport { }\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 4 + ], + [ + "./noemitonerror/shared/types/db.ts", + "./noemitonerror/src/main.ts", + "./noemitonerror/src/other.ts" + ] + ] + ], + "options": { + "module": 2, + "noEmitOnError": true, + "outFile": "./dev-build.js" + } + }, + "version": "FakeTSVersion", + "size": 1031 +} + + + +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "incremental": true, + "noEmitOnError": true, + "watch": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Change:: No change + +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] file written with same contents + +Timeout callback:: count: 1 +6: timerToBuildInvalidatedProject *new* + +Before running Timeout callback:: count: 1 +6: timerToBuildInvalidatedProject + +Host is moving to new time +After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +[HH:MM:SS AM] Project 'tsconfig.json' is up to date but needs to update timestamps of output files that are older than input files + +[HH:MM:SS AM] Updating output timestamps of project '/user/username/projects/noEmitOnError/tsconfig.json'... + +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + +//// [/user/username/projects/dev-build.tsbuildinfo] file changed its modified time + + +exitCode:: ExitStatus.undefined diff --git a/tests/baselines/reference/tsbuildWatch/noEmitOnError/does-not-emit-any-files-on-error-outFile.js b/tests/baselines/reference/tsbuildWatch/noEmitOnError/does-not-emit-any-files-on-error-outFile.js new file mode 100644 index 0000000000000..e5eaa30c93261 --- /dev/null +++ b/tests/baselines/reference/tsbuildWatch/noEmitOnError/does-not-emit-any-files-on-error-outFile.js @@ -0,0 +1,504 @@ +currentDirectory:: /user/username/projects/noEmitOnError useCaseSensitiveFileNames: false +Input:: +//// [/user/username/projects/noEmitOnError/tsconfig.json] +{ + "compilerOptions": { + "outFile": "../dev-build.js", + "module": "amd", + "noEmitOnError": true + } +} + +//// [/user/username/projects/noEmitOnError/shared/types/db.ts] +export interface A { + name: string; +} + + +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a = { + lastName: 'sdsd' +; + + +//// [/user/username/projects/noEmitOnError/src/other.ts] +console.log("hi"); +export { } + + +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + + +/a/lib/tsc.js -b -w -verbose +Output:: +>> Screen clear +[HH:MM:SS AM] Starting compilation in watch mode... + +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file '../dev-build.js' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +src/main.ts:4:1 - error TS1005: ',' expected. + +4 ; +  ~ + +[HH:MM:SS AM] Found 1 error. Watching for file changes. + + + + +PolledWatches:: +/a/lib/package.json: *new* + {"pollingInterval":2000} +/a/package.json: *new* + {"pollingInterval":2000} +/package.json: *new* + {"pollingInterval":2000} +/user/package.json: *new* + {"pollingInterval":2000} +/user/username/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/noEmitOnError/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/noEmitOnError/shared/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/noEmitOnError/shared/types/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/noEmitOnError/src/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/user/username/projects/noEmitOnError/shared/types/db.ts: *new* + {} +/user/username/projects/noEmitOnError/src/main.ts: *new* + {} +/user/username/projects/noEmitOnError/src/other.ts: *new* + {} +/user/username/projects/noEmitOnError/tsconfig.json: *new* + {} + +FsWatchesRecursive:: +/user/username/projects/noEmitOnError: *new* + {} + +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "noEmitOnError": true, + "watch": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Change:: No change + +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] file written with same contents + +Timeout callback:: count: 1 +1: timerToBuildInvalidatedProject *new* + +Before running Timeout callback:: count: 1 +1: timerToBuildInvalidatedProject + +Host is moving to new time +After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file '../dev-build.js' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +src/main.ts:4:1 - error TS1005: ',' expected. + +4 ; +  ~ + +[HH:MM:SS AM] Found 1 error. Watching for file changes. + + + + + +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "noEmitOnError": true, + "watch": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Change:: Fix Syntax error + +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a = { + lastName: 'sdsd' +}; + + +Timeout callback:: count: 1 +2: timerToBuildInvalidatedProject *new* + +Before running Timeout callback:: count: 1 +2: timerToBuildInvalidatedProject + +Host is moving to new time +After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file '../dev-build.js' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + +//// [/user/username/projects/dev-build.js] +define("shared/types/db", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +}); +define("src/main", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var a = { + lastName: 'sdsd' + }; +}); +define("src/other", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + console.log("hi"); +}); + + + + +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "noEmitOnError": true, + "watch": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Change:: Semantic Error + +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a: string = 10; + + +Timeout callback:: count: 1 +3: timerToBuildInvalidatedProject *new* + +Before running Timeout callback:: count: 1 +3: timerToBuildInvalidatedProject + +Host is moving to new time +After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output '../dev-build.js' is older than input 'src/main.ts' + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +src/main.ts:2:7 - error TS2322: Type 'number' is not assignable to type 'string'. + +2 const a: string = 10; +   ~ + +[HH:MM:SS AM] Found 1 error. Watching for file changes. + + + + + +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "noEmitOnError": true, + "watch": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Change:: No change + +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] file written with same contents + +Timeout callback:: count: 1 +4: timerToBuildInvalidatedProject *new* + +Before running Timeout callback:: count: 1 +4: timerToBuildInvalidatedProject + +Host is moving to new time +After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output '../dev-build.js' is older than input 'src/main.ts' + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +src/main.ts:2:7 - error TS2322: Type 'number' is not assignable to type 'string'. + +2 const a: string = 10; +   ~ + +[HH:MM:SS AM] Found 1 error. Watching for file changes. + + + + + +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "noEmitOnError": true, + "watch": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Change:: Fix Semantic Error + +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a: string = "hello"; + + +Timeout callback:: count: 1 +5: timerToBuildInvalidatedProject *new* + +Before running Timeout callback:: count: 1 +5: timerToBuildInvalidatedProject + +Host is moving to new time +After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output '../dev-build.js' is older than input 'src/main.ts' + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + +//// [/user/username/projects/dev-build.js] +define("shared/types/db", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +}); +define("src/main", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var a = "hello"; +}); +define("src/other", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + console.log("hi"); +}); + + + + +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "noEmitOnError": true, + "watch": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Change:: No change + +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] file written with same contents + +Timeout callback:: count: 1 +6: timerToBuildInvalidatedProject *new* + +Before running Timeout callback:: count: 1 +6: timerToBuildInvalidatedProject + +Host is moving to new time +After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output '../dev-build.js' is older than input 'src/main.ts' + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +[HH:MM:SS AM] Updating unchanged output timestamps of project '/user/username/projects/noEmitOnError/tsconfig.json'... + +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + +//// [/user/username/projects/dev-build.js] file changed its modified time + + +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "noEmitOnError": true, + "watch": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModulesAndD/with-noEmitOnError-with-incremental.js b/tests/baselines/reference/tsbuildWatch/noEmitOnError/does-not-emit-any-files-on-error-with-declaration-with-incremental.js similarity index 79% rename from tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModulesAndD/with-noEmitOnError-with-incremental.js rename to tests/baselines/reference/tsbuildWatch/noEmitOnError/does-not-emit-any-files-on-error-with-declaration-with-incremental.js index 350c20960325e..2388b0939c527 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModulesAndD/with-noEmitOnError-with-incremental.js +++ b/tests/baselines/reference/tsbuildWatch/noEmitOnError/does-not-emit-any-files-on-error-with-declaration-with-incremental.js @@ -4,6 +4,8 @@ Input:: { "compilerOptions": { "outDir": "./dev-build", + "declaration": true, + "incremental": true, "noEmitOnError": true } } @@ -42,11 +44,18 @@ interface ReadonlyArray {} declare const console: { log(msg: any): void; }; -/a/lib/tsc.js --w --isolatedModules --d --incremental +/a/lib/tsc.js -b -w -verbose Output:: >> Screen clear [HH:MM:SS AM] Starting compilation in watch mode... +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file 'dev-build/tsconfig.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + src/main.ts:4:1 - error TS1005: ',' expected. 4 ; @@ -57,7 +66,7 @@ Output:: //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-2574607723-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n;\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true,"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3,4],"affectedFilesPendingEmit":[2,3,4]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","signature":false,"affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","signature":false,"impliedFormat":1},{"version":"-2574607723-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n;\n","signature":false,"impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","signature":false,"impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true,"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"changeFileSet":[1,2,3,4]},"version":"FakeTSVersion"} //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -77,39 +86,39 @@ Output:: "../../../../../a/lib/lib.d.ts": { "original": { "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": false, "affectsGlobalScope": true, "impliedFormat": 1 }, "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", "affectsGlobalScope": true, "impliedFormat": "commonjs" }, "../shared/types/db.ts": { "original": { "version": "-5014788164-export interface A {\n name: string;\n}\n", + "signature": false, "impliedFormat": 1 }, "version": "-5014788164-export interface A {\n name: string;\n}\n", - "signature": "-5014788164-export interface A {\n name: string;\n}\n", "impliedFormat": "commonjs" }, "../src/main.ts": { "original": { "version": "-2574607723-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n;\n", + "signature": false, "impliedFormat": 1 }, "version": "-2574607723-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n;\n", - "signature": "-2574607723-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n;\n", "impliedFormat": "commonjs" }, "../src/other.ts": { "original": { "version": "9084524823-console.log(\"hi\");\nexport { }\n", + "signature": false, "impliedFormat": 1 }, "version": "9084524823-console.log(\"hi\");\nexport { }\n", - "signature": "9084524823-console.log(\"hi\");\nexport { }\n", "impliedFormat": "commonjs" } }, @@ -136,35 +145,29 @@ Output:: "../shared/types/db.ts" ] }, - "semanticDiagnosticsPerFile": [ + "changeFileSet": [ "../../../../../a/lib/lib.d.ts", "../shared/types/db.ts", "../src/main.ts", "../src/other.ts" - ], - "affectedFilesPendingEmit": [ - [ - "../shared/types/db.ts", - "Js | Dts" - ], - [ - "../src/main.ts", - "Js | Dts" - ], - [ - "../src/other.ts", - "Js | Dts" - ] ] }, "version": "FakeTSVersion", - "size": 1147 + "size": 1171 } PolledWatches:: -/user/username/projects/noEmitOnError/node_modules/@types: *new* - {"pollingInterval":500} +/a/lib/package.json: *new* + {"pollingInterval":2000} +/a/package.json: *new* + {"pollingInterval":2000} +/package.json: *new* + {"pollingInterval":2000} +/user/package.json: *new* + {"pollingInterval":2000} +/user/username/package.json: *new* + {"pollingInterval":2000} /user/username/projects/noEmitOnError/package.json: *new* {"pollingInterval":2000} /user/username/projects/noEmitOnError/shared/package.json: *new* @@ -173,14 +176,10 @@ PolledWatches:: {"pollingInterval":2000} /user/username/projects/noEmitOnError/src/package.json: *new* {"pollingInterval":2000} -/user/username/projects/node_modules/@types: *new* - {"pollingInterval":500} /user/username/projects/package.json: *new* {"pollingInterval":2000} FsWatches:: -/a/lib/lib.d.ts: *new* - {} /user/username/projects/noEmitOnError/shared/types/db.ts: *new* {} /user/username/projects/noEmitOnError/src/main.ts: *new* @@ -201,11 +200,10 @@ Program root files: [ ] Program options: { "outDir": "/user/username/projects/noEmitOnError/dev-build", - "noEmitOnError": true, - "watch": true, - "isolatedModules": true, "declaration": true, "incremental": true, + "noEmitOnError": true, + "watch": true, "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" } Program structureReused: Not @@ -215,17 +213,9 @@ Program files:: /user/username/projects/noEmitOnError/src/main.ts /user/username/projects/noEmitOnError/src/other.ts -Semantic diagnostics in builder refreshed for:: -/a/lib/lib.d.ts -/user/username/projects/noEmitOnError/shared/types/db.ts -/user/username/projects/noEmitOnError/src/main.ts -/user/username/projects/noEmitOnError/src/other.ts +No cached semantic diagnostics in the builder:: -Shape signatures in builder refreshed for:: -/a/lib/lib.d.ts (used version) -/user/username/projects/noemitonerror/shared/types/db.ts (used version) -/user/username/projects/noemitonerror/src/main.ts (used version) -/user/username/projects/noemitonerror/src/other.ts (used version) +No shapes updated in the builder:: exitCode:: ExitStatus.undefined @@ -235,13 +225,55 @@ Input:: //// [/user/username/projects/noEmitOnError/src/main.ts] file written with same contents Timeout callback:: count: 1 -1: timerToUpdateProgram *new* +1: timerToBuildInvalidatedProject *new* Before running Timeout callback:: count: 1 -1: timerToUpdateProgram +1: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'dev-build/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +src/main.ts:4:1 - error TS1005: ',' expected. + +4 ; +  ~ + +[HH:MM:SS AM] Found 1 error. Watching for file changes. + + + + + +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outDir": "/user/username/projects/noEmitOnError/dev-build", + "declaration": true, + "incremental": true, + "noEmitOnError": true, + "watch": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: exitCode:: ExitStatus.undefined @@ -256,22 +288,27 @@ const a = { Timeout callback:: count: 1 -2: timerToUpdateProgram *new* +2: timerToBuildInvalidatedProject *new* Before running Timeout callback:: count: 1 -2: timerToUpdateProgram +2: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear [HH:MM:SS AM] File change detected. Starting incremental compilation... +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'dev-build/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + [HH:MM:SS AM] Found 0 errors. Watching for file changes. //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-2574605496-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n};","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true,"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3,4]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-2574605496-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n};","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true,"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]]},"version":"FakeTSVersion"} //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -351,16 +388,10 @@ Output:: "../src/main.ts": [ "../shared/types/db.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../shared/types/db.ts", - "../src/main.ts", - "../src/other.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1189 + "size": 1150 } //// [/user/username/projects/noEmitOnError/dev-build/shared/types/db.js] @@ -405,14 +436,13 @@ Program root files: [ ] Program options: { "outDir": "/user/username/projects/noEmitOnError/dev-build", - "noEmitOnError": true, - "watch": true, - "isolatedModules": true, "declaration": true, "incremental": true, + "noEmitOnError": true, + "watch": true, "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" } -Program structureReused: Completely +Program structureReused: Not Program files:: /a/lib/lib.d.ts /user/username/projects/noEmitOnError/shared/types/db.ts @@ -420,10 +450,16 @@ Program files:: /user/username/projects/noEmitOnError/src/other.ts Semantic diagnostics in builder refreshed for:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts /user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts Shape signatures in builder refreshed for:: +/a/lib/lib.d.ts (used version) +/user/username/projects/noemitonerror/shared/types/db.ts (computed .d.ts) /user/username/projects/noemitonerror/src/main.ts (computed .d.ts) +/user/username/projects/noemitonerror/src/other.ts (computed .d.ts) exitCode:: ExitStatus.undefined @@ -436,16 +472,21 @@ const a: string = 10; Timeout callback:: count: 1 -3: timerToUpdateProgram *new* +3: timerToBuildInvalidatedProject *new* Before running Timeout callback:: count: 1 -3: timerToUpdateProgram +3: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear [HH:MM:SS AM] File change detected. Starting incremental compilation... +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output 'dev-build/tsconfig.tsbuildinfo' is older than input 'src/main.ts' + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + src/main.ts:2:7 - error TS2322: Type 'number' is not assignable to type 'string'. 2 const a: string = 10; @@ -456,7 +497,7 @@ Output:: //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-11111345725-import { A } from \"../shared/types/db\";\nconst a: string = 10;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true,"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,[3,[{"file":"../src/main.ts","start":46,"length":1,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'string'."}]],4],"affectedFilesPendingEmit":[3]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-11111345725-import { A } from \"../shared/types/db\";\nconst a: string = 10;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true,"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[[3,[{"start":46,"length":1,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'string'."}]]],"affectedFilesPendingEmit":[3]},"version":"FakeTSVersion"} //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -538,13 +579,10 @@ Output:: ] }, "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../shared/types/db.ts", [ "../src/main.ts", [ { - "file": "../src/main.ts", "start": 46, "length": 1, "code": 2322, @@ -552,8 +590,7 @@ Output:: "messageText": "Type 'number' is not assignable to type 'string'." } ] - ], - "../src/other.ts" + ] ], "affectedFilesPendingEmit": [ [ @@ -563,7 +600,7 @@ Output:: ] }, "version": "FakeTSVersion", - "size": 1348 + "size": 1318 } @@ -575,14 +612,13 @@ Program root files: [ ] Program options: { "outDir": "/user/username/projects/noEmitOnError/dev-build", - "noEmitOnError": true, - "watch": true, - "isolatedModules": true, "declaration": true, "incremental": true, + "noEmitOnError": true, + "watch": true, "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" } -Program structureReused: Completely +Program structureReused: Not Program files:: /a/lib/lib.d.ts /user/username/projects/noEmitOnError/shared/types/db.ts @@ -603,13 +639,55 @@ Input:: //// [/user/username/projects/noEmitOnError/src/main.ts] file written with same contents Timeout callback:: count: 1 -4: timerToUpdateProgram *new* +4: timerToBuildInvalidatedProject *new* Before running Timeout callback:: count: 1 -4: timerToUpdateProgram +4: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'dev-build/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +src/main.ts:2:7 - error TS2322: Type 'number' is not assignable to type 'string'. + +2 const a: string = 10; +   ~ + +[HH:MM:SS AM] Found 1 error. Watching for file changes. + + + + + +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outDir": "/user/username/projects/noEmitOnError/dev-build", + "declaration": true, + "incremental": true, + "noEmitOnError": true, + "watch": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +Semantic diagnostics in builder refreshed for:: +No shapes updated in the builder:: exitCode:: ExitStatus.undefined @@ -622,22 +700,27 @@ const a: string = "hello"; Timeout callback:: count: 1 -5: timerToUpdateProgram *new* +5: timerToBuildInvalidatedProject *new* Before running Timeout callback:: count: 1 -5: timerToUpdateProgram +5: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear [HH:MM:SS AM] File change detected. Starting incremental compilation... +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because buildinfo file 'dev-build/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + [HH:MM:SS AM] Found 0 errors. Watching for file changes. //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-8373351622-import { A } from \"../shared/types/db\";\nconst a: string = \"hello\";","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true,"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3,4]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-8373351622-import { A } from \"../shared/types/db\";\nconst a: string = \"hello\";","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true,"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]]},"version":"FakeTSVersion"} //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -717,16 +800,10 @@ Output:: "../src/main.ts": [ "../shared/types/db.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../shared/types/db.ts", - "../src/main.ts", - "../src/other.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1180 + "size": 1141 } //// [/user/username/projects/noEmitOnError/dev-build/src/main.js] @@ -745,14 +822,13 @@ Program root files: [ ] Program options: { "outDir": "/user/username/projects/noEmitOnError/dev-build", - "noEmitOnError": true, - "watch": true, - "isolatedModules": true, "declaration": true, "incremental": true, + "noEmitOnError": true, + "watch": true, "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" } -Program structureReused: Completely +Program structureReused: Not Program files:: /a/lib/lib.d.ts /user/username/projects/noEmitOnError/shared/types/db.ts @@ -773,12 +849,26 @@ Input:: //// [/user/username/projects/noEmitOnError/src/main.ts] file written with same contents Timeout callback:: count: 1 -6: timerToUpdateProgram *new* +6: timerToBuildInvalidatedProject *new* Before running Timeout callback:: count: 1 -6: timerToUpdateProgram +6: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +[HH:MM:SS AM] Project 'tsconfig.json' is up to date but needs to update timestamps of output files that are older than input files + +[HH:MM:SS AM] Updating output timestamps of project '/user/username/projects/noEmitOnError/tsconfig.json'... + +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + +//// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo] file changed its modified time exitCode:: ExitStatus.undefined diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/defaultAndD/with-noEmitOnError.js b/tests/baselines/reference/tsbuildWatch/noEmitOnError/does-not-emit-any-files-on-error-with-declaration.js similarity index 54% rename from tests/baselines/reference/tscWatch/emitAndErrorUpdates/defaultAndD/with-noEmitOnError.js rename to tests/baselines/reference/tsbuildWatch/noEmitOnError/does-not-emit-any-files-on-error-with-declaration.js index 4249215fb7149..9e91e26486899 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/defaultAndD/with-noEmitOnError.js +++ b/tests/baselines/reference/tsbuildWatch/noEmitOnError/does-not-emit-any-files-on-error-with-declaration.js @@ -4,6 +4,7 @@ Input:: { "compilerOptions": { "outDir": "./dev-build", + "declaration": true, "noEmitOnError": true } } @@ -42,11 +43,18 @@ interface ReadonlyArray {} declare const console: { log(msg: any): void; }; -/a/lib/tsc.js --w --d +/a/lib/tsc.js -b -w -verbose Output:: >> Screen clear [HH:MM:SS AM] Starting compilation in watch mode... +[HH:MM:SS AM] Projects in this build: + * tsconfig.json + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file 'dev-build/shared/types/db.js' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + src/main.ts:4:1 - error TS1005: ',' expected. 4 ; @@ -58,8 +66,16 @@ Output:: PolledWatches:: -/user/username/projects/noEmitOnError/node_modules/@types: *new* - {"pollingInterval":500} +/a/lib/package.json: *new* + {"pollingInterval":2000} +/a/package.json: *new* + {"pollingInterval":2000} +/package.json: *new* + {"pollingInterval":2000} +/user/package.json: *new* + {"pollingInterval":2000} +/user/username/package.json: *new* + {"pollingInterval":2000} /user/username/projects/noEmitOnError/package.json: *new* {"pollingInterval":2000} /user/username/projects/noEmitOnError/shared/package.json: *new* @@ -68,14 +84,10 @@ PolledWatches:: {"pollingInterval":2000} /user/username/projects/noEmitOnError/src/package.json: *new* {"pollingInterval":2000} -/user/username/projects/node_modules/@types: *new* - {"pollingInterval":500} /user/username/projects/package.json: *new* {"pollingInterval":2000} FsWatches:: -/a/lib/lib.d.ts: *new* - {} /user/username/projects/noEmitOnError/shared/types/db.ts: *new* {} /user/username/projects/noEmitOnError/src/main.ts: *new* @@ -96,9 +108,9 @@ Program root files: [ ] Program options: { "outDir": "/user/username/projects/noEmitOnError/dev-build", + "declaration": true, "noEmitOnError": true, "watch": true, - "declaration": true, "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" } Program structureReused: Not @@ -108,17 +120,9 @@ Program files:: /user/username/projects/noEmitOnError/src/main.ts /user/username/projects/noEmitOnError/src/other.ts -Semantic diagnostics in builder refreshed for:: -/a/lib/lib.d.ts -/user/username/projects/noEmitOnError/shared/types/db.ts -/user/username/projects/noEmitOnError/src/main.ts -/user/username/projects/noEmitOnError/src/other.ts +No cached semantic diagnostics in the builder:: -Shape signatures in builder refreshed for:: -/a/lib/lib.d.ts (used version) -/user/username/projects/noemitonerror/shared/types/db.ts (used version) -/user/username/projects/noemitonerror/src/main.ts (used version) -/user/username/projects/noemitonerror/src/other.ts (used version) +No shapes updated in the builder:: exitCode:: ExitStatus.undefined @@ -128,13 +132,54 @@ Input:: //// [/user/username/projects/noEmitOnError/src/main.ts] file written with same contents Timeout callback:: count: 1 -1: timerToUpdateProgram *new* +1: timerToBuildInvalidatedProject *new* Before running Timeout callback:: count: 1 -1: timerToUpdateProgram +1: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file 'dev-build/shared/types/db.js' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +src/main.ts:4:1 - error TS1005: ',' expected. + +4 ; +  ~ + +[HH:MM:SS AM] Found 1 error. Watching for file changes. + + + + + +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outDir": "/user/username/projects/noEmitOnError/dev-build", + "declaration": true, + "noEmitOnError": true, + "watch": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: +No shapes updated in the builder:: exitCode:: ExitStatus.undefined @@ -149,16 +194,21 @@ const a = { Timeout callback:: count: 1 -2: timerToUpdateProgram *new* +2: timerToBuildInvalidatedProject *new* Before running Timeout callback:: count: 1 -2: timerToUpdateProgram +2: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear [HH:MM:SS AM] File change detected. Starting incremental compilation... +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output file 'dev-build/shared/types/db.js' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + [HH:MM:SS AM] Found 0 errors. Watching for file changes. @@ -205,12 +255,12 @@ Program root files: [ ] Program options: { "outDir": "/user/username/projects/noEmitOnError/dev-build", + "declaration": true, "noEmitOnError": true, "watch": true, - "declaration": true, "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" } -Program structureReused: Completely +Program structureReused: Not Program files:: /a/lib/lib.d.ts /user/username/projects/noEmitOnError/shared/types/db.ts @@ -218,10 +268,16 @@ Program files:: /user/username/projects/noEmitOnError/src/other.ts Semantic diagnostics in builder refreshed for:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts /user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts Shape signatures in builder refreshed for:: +/a/lib/lib.d.ts (used version) +/user/username/projects/noemitonerror/shared/types/db.ts (computed .d.ts) /user/username/projects/noemitonerror/src/main.ts (computed .d.ts) +/user/username/projects/noemitonerror/src/other.ts (computed .d.ts) exitCode:: ExitStatus.undefined @@ -234,16 +290,21 @@ const a: string = 10; Timeout callback:: count: 1 -3: timerToUpdateProgram *new* +3: timerToBuildInvalidatedProject *new* Before running Timeout callback:: count: 1 -3: timerToUpdateProgram +3: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear [HH:MM:SS AM] File change detected. Starting incremental compilation... +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output 'dev-build/shared/types/db.js' is older than input 'src/main.ts' + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + src/main.ts:2:7 - error TS2322: Type 'number' is not assignable to type 'string'. 2 const a: string = 10; @@ -262,12 +323,12 @@ Program root files: [ ] Program options: { "outDir": "/user/username/projects/noEmitOnError/dev-build", + "declaration": true, "noEmitOnError": true, "watch": true, - "declaration": true, "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" } -Program structureReused: Completely +Program structureReused: Not Program files:: /a/lib/lib.d.ts /user/username/projects/noEmitOnError/shared/types/db.ts @@ -288,13 +349,54 @@ Input:: //// [/user/username/projects/noEmitOnError/src/main.ts] file written with same contents Timeout callback:: count: 1 -4: timerToUpdateProgram *new* +4: timerToBuildInvalidatedProject *new* Before running Timeout callback:: count: 1 -4: timerToUpdateProgram +4: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output 'dev-build/shared/types/db.js' is older than input 'src/main.ts' + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +src/main.ts:2:7 - error TS2322: Type 'number' is not assignable to type 'string'. + +2 const a: string = 10; +   ~ + +[HH:MM:SS AM] Found 1 error. Watching for file changes. + + + + + +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outDir": "/user/username/projects/noEmitOnError/dev-build", + "declaration": true, + "noEmitOnError": true, + "watch": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts +Semantic diagnostics in builder refreshed for:: + +No shapes updated in the builder:: exitCode:: ExitStatus.undefined @@ -307,20 +409,29 @@ const a: string = "hello"; Timeout callback:: count: 1 -5: timerToUpdateProgram *new* +5: timerToBuildInvalidatedProject *new* Before running Timeout callback:: count: 1 -5: timerToUpdateProgram +5: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear [HH:MM:SS AM] File change detected. Starting incremental compilation... +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output 'dev-build/shared/types/db.js' is older than input 'src/main.ts' + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +[HH:MM:SS AM] Updating unchanged output timestamps of project '/user/username/projects/noEmitOnError/tsconfig.json'... + [HH:MM:SS AM] Found 0 errors. Watching for file changes. +//// [/user/username/projects/noEmitOnError/dev-build/shared/types/db.js] file changed its modified time +//// [/user/username/projects/noEmitOnError/dev-build/shared/types/db.d.ts] file changed its modified time //// [/user/username/projects/noEmitOnError/dev-build/src/main.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -328,6 +439,8 @@ var a = "hello"; //// [/user/username/projects/noEmitOnError/dev-build/src/main.d.ts] file written with same contents +//// [/user/username/projects/noEmitOnError/dev-build/src/other.js] file changed its modified time +//// [/user/username/projects/noEmitOnError/dev-build/src/other.d.ts] file changed its modified time Program root files: [ @@ -337,12 +450,12 @@ Program root files: [ ] Program options: { "outDir": "/user/username/projects/noEmitOnError/dev-build", + "declaration": true, "noEmitOnError": true, "watch": true, - "declaration": true, "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" } -Program structureReused: Completely +Program structureReused: Not Program files:: /a/lib/lib.d.ts /user/username/projects/noEmitOnError/shared/types/db.ts @@ -363,12 +476,56 @@ Input:: //// [/user/username/projects/noEmitOnError/src/main.ts] file written with same contents Timeout callback:: count: 1 -6: timerToUpdateProgram *new* +6: timerToBuildInvalidatedProject *new* Before running Timeout callback:: count: 1 -6: timerToUpdateProgram +6: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +[HH:MM:SS AM] Project 'tsconfig.json' is out of date because output 'dev-build/shared/types/db.js' is older than input 'src/main.ts' + +[HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... + +[HH:MM:SS AM] Updating unchanged output timestamps of project '/user/username/projects/noEmitOnError/tsconfig.json'... + +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + +//// [/user/username/projects/noEmitOnError/dev-build/shared/types/db.js] file changed its modified time +//// [/user/username/projects/noEmitOnError/dev-build/shared/types/db.d.ts] file changed its modified time +//// [/user/username/projects/noEmitOnError/dev-build/src/main.js] file changed its modified time +//// [/user/username/projects/noEmitOnError/dev-build/src/main.d.ts] file changed its modified time +//// [/user/username/projects/noEmitOnError/dev-build/src/other.js] file changed its modified time +//// [/user/username/projects/noEmitOnError/dev-build/src/other.d.ts] file changed its modified time + + +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outDir": "/user/username/projects/noEmitOnError/dev-build", + "declaration": true, + "noEmitOnError": true, + "watch": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +Semantic diagnostics in builder refreshed for:: +No shapes updated in the builder:: exitCode:: ExitStatus.undefined diff --git a/tests/baselines/reference/tsbuildWatch/noEmitOnError/does-not-emit-any-files-on-error-with-incremental.js b/tests/baselines/reference/tsbuildWatch/noEmitOnError/does-not-emit-any-files-on-error-with-incremental.js index 15ef43f85351a..605642a38d5c4 100644 --- a/tests/baselines/reference/tsbuildWatch/noEmitOnError/does-not-emit-any-files-on-error-with-incremental.js +++ b/tests/baselines/reference/tsbuildWatch/noEmitOnError/does-not-emit-any-files-on-error-with-incremental.js @@ -4,6 +4,7 @@ Input:: { "compilerOptions": { "outDir": "./dev-build", + "incremental": true, "noEmitOnError": true } } @@ -42,7 +43,7 @@ interface ReadonlyArray {} declare const console: { log(msg: any): void; }; -/a/lib/tsc.js -b -w -verbose --incremental +/a/lib/tsc.js -b -w -verbose Output:: >> Screen clear [HH:MM:SS AM] Starting compilation in watch mode... @@ -197,9 +198,9 @@ Program root files: [ ] Program options: { "outDir": "/user/username/projects/noEmitOnError/dev-build", + "incremental": true, "noEmitOnError": true, "watch": true, - "incremental": true, "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" } Program structureReused: Not @@ -226,6 +227,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -253,9 +255,9 @@ Program root files: [ ] Program options: { "outDir": "/user/username/projects/noEmitOnError/dev-build", + "incremental": true, "noEmitOnError": true, "watch": true, - "incremental": true, "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" } Program structureReused: Not @@ -287,6 +289,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -301,7 +304,7 @@ Output:: //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-2574605496-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n};","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3,4]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-2574605496-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n};","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]]},"version":"FakeTSVersion"} //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -380,16 +383,10 @@ Output:: "../src/main.ts": [ "../shared/types/db.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../shared/types/db.ts", - "../src/main.ts", - "../src/other.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1170 + "size": 1131 } //// [/user/username/projects/noEmitOnError/dev-build/shared/types/db.js] @@ -420,9 +417,9 @@ Program root files: [ ] Program options: { "outDir": "/user/username/projects/noEmitOnError/dev-build", + "incremental": true, "noEmitOnError": true, "watch": true, - "incremental": true, "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" } Program structureReused: Not @@ -460,6 +457,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -479,7 +477,7 @@ Output:: //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-11111345725-import { A } from \"../shared/types/db\";\nconst a: string = 10;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,[3,[{"file":"../src/main.ts","start":46,"length":1,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'string'."}]],4],"affectedFilesPendingEmit":[3]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-11111345725-import { A } from \"../shared/types/db\";\nconst a: string = 10;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[[3,[{"start":46,"length":1,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'string'."}]]],"affectedFilesPendingEmit":[3]},"version":"FakeTSVersion"} //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -560,13 +558,10 @@ Output:: ] }, "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../shared/types/db.ts", [ "../src/main.ts", [ { - "file": "../src/main.ts", "start": 46, "length": 1, "code": 2322, @@ -574,8 +569,7 @@ Output:: "messageText": "Type 'number' is not assignable to type 'string'." } ] - ], - "../src/other.ts" + ] ], "affectedFilesPendingEmit": [ [ @@ -585,7 +579,7 @@ Output:: ] }, "version": "FakeTSVersion", - "size": 1329 + "size": 1299 } @@ -597,9 +591,9 @@ Program root files: [ ] Program options: { "outDir": "/user/username/projects/noEmitOnError/dev-build", + "incremental": true, "noEmitOnError": true, "watch": true, - "incremental": true, "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" } Program structureReused: Not @@ -628,6 +622,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 4: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -655,9 +650,9 @@ Program root files: [ ] Program options: { "outDir": "/user/username/projects/noEmitOnError/dev-build", + "incremental": true, "noEmitOnError": true, "watch": true, - "incremental": true, "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" } Program structureReused: Not @@ -687,6 +682,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 5: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -701,7 +697,7 @@ Output:: //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-8373351622-import { A } from \"../shared/types/db\";\nconst a: string = \"hello\";","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3,4]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-8373351622-import { A } from \"../shared/types/db\";\nconst a: string = \"hello\";","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]]},"version":"FakeTSVersion"} //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -780,16 +776,10 @@ Output:: "../src/main.ts": [ "../shared/types/db.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../shared/types/db.ts", - "../src/main.ts", - "../src/other.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1161 + "size": 1122 } //// [/user/username/projects/noEmitOnError/dev-build/src/main.js] @@ -807,9 +797,9 @@ Program root files: [ ] Program options: { "outDir": "/user/username/projects/noEmitOnError/dev-build", + "incremental": true, "noEmitOnError": true, "watch": true, - "incremental": true, "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" } Program structureReused: Not @@ -838,6 +828,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 6: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tsbuildWatch/noEmitOnError/does-not-emit-any-files-on-error.js b/tests/baselines/reference/tsbuildWatch/noEmitOnError/does-not-emit-any-files-on-error.js index 9866d09e9331d..234f193f15a21 100644 --- a/tests/baselines/reference/tsbuildWatch/noEmitOnError/does-not-emit-any-files-on-error.js +++ b/tests/baselines/reference/tsbuildWatch/noEmitOnError/does-not-emit-any-files-on-error.js @@ -135,6 +135,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -195,6 +196,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -275,6 +277,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -332,6 +335,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 4: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -390,6 +394,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 5: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -452,6 +457,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 6: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tsbuildWatch/programUpdates/creates-solution-in-watch-mode.js b/tests/baselines/reference/tsbuildWatch/programUpdates/creates-solution-in-watch-mode.js index 6a7baa2ad17fa..10138e7d9ae37 100644 --- a/tests/baselines/reference/tsbuildWatch/programUpdates/creates-solution-in-watch-mode.js +++ b/tests/baselines/reference/tsbuildWatch/programUpdates/creates-solution-in-watch-mode.js @@ -137,7 +137,7 @@ export declare function multiply(a: number, b: number): number; //# sourceMappingURL=index.d.ts.map //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -211,17 +211,10 @@ export declare function multiply(a: number, b: number): number; "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1442 + "size": 1384 } //// [/user/username/projects/sample1/logic/index.js.map] @@ -247,7 +240,7 @@ export declare const m: typeof mod; //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -323,16 +316,10 @@ export declare const m: typeof mod; "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1494 + "size": 1455 } //// [/user/username/projects/sample1/tests/index.js] @@ -353,7 +340,7 @@ export declare const m: typeof mod; //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -446,17 +433,10 @@ export declare const m: typeof mod; "../logic/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "../logic/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1664 + "size": 1623 } diff --git a/tests/baselines/reference/tsbuildWatch/programUpdates/incremental-updates-in-verbose-mode.js b/tests/baselines/reference/tsbuildWatch/programUpdates/incremental-updates-in-verbose-mode.js index eb27b223790cc..0d2eea58e9b7e 100644 --- a/tests/baselines/reference/tsbuildWatch/programUpdates/incremental-updates-in-verbose-mode.js +++ b/tests/baselines/reference/tsbuildWatch/programUpdates/incremental-updates-in-verbose-mode.js @@ -154,7 +154,7 @@ export declare function multiply(a: number, b: number): number; //# sourceMappingURL=index.d.ts.map //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,17 +228,10 @@ export declare function multiply(a: number, b: number): number; "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1442 + "size": 1384 } //// [/user/username/projects/sample1/logic/index.js.map] @@ -264,7 +257,7 @@ export declare const m: typeof mod; //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -340,16 +333,10 @@ export declare const m: typeof mod; "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1494 + "size": 1455 } //// [/user/username/projects/sample1/tests/index.js] @@ -370,7 +357,7 @@ export declare const m: typeof mod; //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -463,17 +450,10 @@ export declare const m: typeof mod; "../logic/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "../logic/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1664 + "size": 1623 } @@ -641,6 +621,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -676,7 +657,7 @@ function someFn() { } //# sourceMappingURL=index.js.map //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-12844299335-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n\nfunction someFn() { }","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-12844299335-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n\nfunction someFn() { }","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -752,16 +733,10 @@ function someFn() { } "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1518 + "size": 1479 } //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] file changed its modified time @@ -814,6 +789,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 1 Output:: >> Screen clear @@ -851,7 +827,7 @@ export declare function someFn(): void; //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-5790226213-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n\nexport function someFn() { }","signature":"-8742548750-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\nexport declare function someFn(): void;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-5790226213-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n\nexport function someFn() { }","signature":"-8742548750-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\nexport declare function someFn(): void;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -927,16 +903,10 @@ export declare function someFn(): void; "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1565 + "size": 1526 } @@ -946,6 +916,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: [HH:MM:SS AM] Project 'tests/tsconfig.json' is out of date because output 'tests/index.js' is older than input 'logic/tsconfig.json' @@ -958,7 +929,7 @@ Output:: //// [/user/username/projects/sample1/tests/index.js] file written with same contents //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-8742548750-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\nexport declare function someFn(): void;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-8742548750-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\nexport declare function someFn(): void;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1051,17 +1022,10 @@ Output:: "../logic/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "../logic/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1705 + "size": 1664 } diff --git a/tests/baselines/reference/tsbuildWatch/programUpdates/reportErrors/declarationEmitErrors/introduceError/when-file-with-no-error-changes.js b/tests/baselines/reference/tsbuildWatch/programUpdates/reportErrors/declarationEmitErrors/introduceError/when-file-with-no-error-changes.js index c2c3e69b1f9fd..e75302218015c 100644 --- a/tests/baselines/reference/tsbuildWatch/programUpdates/reportErrors/declarationEmitErrors/introduceError/when-file-with-no-error-changes.js +++ b/tests/baselines/reference/tsbuildWatch/programUpdates/reportErrors/declarationEmitErrors/introduceError/when-file-with-no-error-changes.js @@ -77,7 +77,7 @@ export declare class myClass { //// [/user/username/projects/solution/app/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./filewitherror.ts","./filewithouterror.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8106435186-export var myClassWithError = class {\n tags() { }\n \n };","signature":"6892461904-export declare var myClassWithError: {\n new (): {\n tags(): void;\n };\n};\n","impliedFormat":1},{"version":"-11785903855-export class myClass { }","signature":"-7432826827-export declare class myClass {\n}\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./fileWithoutError.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./filewitherror.ts","./filewithouterror.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8106435186-export var myClassWithError = class {\n tags() { }\n \n };","signature":"6892461904-export declare var myClassWithError: {\n new (): {\n tags(): void;\n };\n};\n","impliedFormat":1},{"version":"-11785903855-export class myClass { }","signature":"-7432826827-export declare class myClass {\n}\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true},"latestChangedDtsFile":"./fileWithoutError.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/solution/app/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -133,16 +133,10 @@ export declare class myClass { "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./filewitherror.ts", - "./filewithouterror.ts" - ], "latestChangedDtsFile": "./fileWithoutError.d.ts" }, "version": "FakeTSVersion", - "size": 1076 + "size": 1020 } @@ -219,6 +213,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -234,7 +229,7 @@ Output:: //// [/user/username/projects/solution/app/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./filewitherror.ts","./filewithouterror.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8103865863-export var myClassWithError = class {\n tags() { }\n private p = 12\n };","signature":"7927555551-export declare var myClassWithError: {\n new (): {\n tags(): void;\n p: number;\n };\n};\n(11,16)Error4094: Property 'p' of exported class expression may not be private or protected.","impliedFormat":1},{"version":"-11785903855-export class myClass { }","signature":"-7432826827-export declare class myClass {\n}\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3],"affectedFilesPendingEmit":[2],"emitSignatures":[[2,"6892461904-export declare var myClassWithError: {\n new (): {\n tags(): void;\n };\n};\n"]],"latestChangedDtsFile":"./fileWithoutError.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./filewitherror.ts","./filewithouterror.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8103865863-export var myClassWithError = class {\n tags() { }\n private p = 12\n };","signature":"7927555551-export declare var myClassWithError: {\n new (): {\n tags(): void;\n p: number;\n };\n};\n(11,16)Error4094: Property 'p' of exported class expression may not be private or protected.","impliedFormat":1},{"version":"-11785903855-export class myClass { }","signature":"-7432826827-export declare class myClass {\n}\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true},"affectedFilesPendingEmit":[2],"emitSignatures":[[2,"6892461904-export declare var myClassWithError: {\n new (): {\n tags(): void;\n };\n};\n"]],"latestChangedDtsFile":"./fileWithoutError.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/solution/app/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -290,12 +285,6 @@ Output:: "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./filewitherror.ts", - "./filewithouterror.ts" - ], "affectedFilesPendingEmit": [ [ "./filewitherror.ts", @@ -311,7 +300,7 @@ Output:: "latestChangedDtsFile": "./fileWithoutError.d.ts" }, "version": "FakeTSVersion", - "size": 1360 + "size": 1304 } @@ -352,6 +341,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -367,7 +357,7 @@ Output:: //// [/user/username/projects/solution/app/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./filewitherror.ts","./filewithouterror.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8103865863-export var myClassWithError = class {\n tags() { }\n private p = 12\n };","signature":"7927555551-export declare var myClassWithError: {\n new (): {\n tags(): void;\n p: number;\n };\n};\n(11,16)Error4094: Property 'p' of exported class expression may not be private or protected.","impliedFormat":1},{"version":"-10959532701-export class myClass2 { }","signature":"-8459626297-export declare class myClass2 {\n}\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3],"affectedFilesPendingEmit":[2,3],"emitSignatures":[[2,"6892461904-export declare var myClassWithError: {\n new (): {\n tags(): void;\n };\n};\n"],[3,"-7432826827-export declare class myClass {\n}\n"]],"latestChangedDtsFile":"./fileWithoutError.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./filewitherror.ts","./filewithouterror.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8103865863-export var myClassWithError = class {\n tags() { }\n private p = 12\n };","signature":"7927555551-export declare var myClassWithError: {\n new (): {\n tags(): void;\n p: number;\n };\n};\n(11,16)Error4094: Property 'p' of exported class expression may not be private or protected.","impliedFormat":1},{"version":"-10959532701-export class myClass2 { }","signature":"-8459626297-export declare class myClass2 {\n}\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true},"affectedFilesPendingEmit":[2,3],"emitSignatures":[[2,"6892461904-export declare var myClassWithError: {\n new (): {\n tags(): void;\n };\n};\n"],[3,"-7432826827-export declare class myClass {\n}\n"]],"latestChangedDtsFile":"./fileWithoutError.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/solution/app/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -423,12 +413,6 @@ Output:: "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./filewitherror.ts", - "./filewithouterror.ts" - ], "affectedFilesPendingEmit": [ [ "./filewitherror.ts", @@ -452,7 +436,7 @@ Output:: "latestChangedDtsFile": "./fileWithoutError.d.ts" }, "version": "FakeTSVersion", - "size": 1418 + "size": 1362 } diff --git a/tests/baselines/reference/tsbuildWatch/programUpdates/reportErrors/declarationEmitErrors/introduceError/when-fixing-errors-only-changed-file-is-emitted.js b/tests/baselines/reference/tsbuildWatch/programUpdates/reportErrors/declarationEmitErrors/introduceError/when-fixing-errors-only-changed-file-is-emitted.js index 9b86f3d932b52..3b0d5b7ffa758 100644 --- a/tests/baselines/reference/tsbuildWatch/programUpdates/reportErrors/declarationEmitErrors/introduceError/when-fixing-errors-only-changed-file-is-emitted.js +++ b/tests/baselines/reference/tsbuildWatch/programUpdates/reportErrors/declarationEmitErrors/introduceError/when-fixing-errors-only-changed-file-is-emitted.js @@ -77,7 +77,7 @@ export declare class myClass { //// [/user/username/projects/solution/app/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./filewitherror.ts","./filewithouterror.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8106435186-export var myClassWithError = class {\n tags() { }\n \n };","signature":"6892461904-export declare var myClassWithError: {\n new (): {\n tags(): void;\n };\n};\n","impliedFormat":1},{"version":"-11785903855-export class myClass { }","signature":"-7432826827-export declare class myClass {\n}\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./fileWithoutError.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./filewitherror.ts","./filewithouterror.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8106435186-export var myClassWithError = class {\n tags() { }\n \n };","signature":"6892461904-export declare var myClassWithError: {\n new (): {\n tags(): void;\n };\n};\n","impliedFormat":1},{"version":"-11785903855-export class myClass { }","signature":"-7432826827-export declare class myClass {\n}\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true},"latestChangedDtsFile":"./fileWithoutError.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/solution/app/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -133,16 +133,10 @@ export declare class myClass { "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./filewitherror.ts", - "./filewithouterror.ts" - ], "latestChangedDtsFile": "./fileWithoutError.d.ts" }, "version": "FakeTSVersion", - "size": 1076 + "size": 1020 } @@ -219,6 +213,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -234,7 +229,7 @@ Output:: //// [/user/username/projects/solution/app/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./filewitherror.ts","./filewithouterror.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8103865863-export var myClassWithError = class {\n tags() { }\n private p = 12\n };","signature":"7927555551-export declare var myClassWithError: {\n new (): {\n tags(): void;\n p: number;\n };\n};\n(11,16)Error4094: Property 'p' of exported class expression may not be private or protected.","impliedFormat":1},{"version":"-11785903855-export class myClass { }","signature":"-7432826827-export declare class myClass {\n}\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3],"affectedFilesPendingEmit":[2],"emitSignatures":[[2,"6892461904-export declare var myClassWithError: {\n new (): {\n tags(): void;\n };\n};\n"]],"latestChangedDtsFile":"./fileWithoutError.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./filewitherror.ts","./filewithouterror.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8103865863-export var myClassWithError = class {\n tags() { }\n private p = 12\n };","signature":"7927555551-export declare var myClassWithError: {\n new (): {\n tags(): void;\n p: number;\n };\n};\n(11,16)Error4094: Property 'p' of exported class expression may not be private or protected.","impliedFormat":1},{"version":"-11785903855-export class myClass { }","signature":"-7432826827-export declare class myClass {\n}\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true},"affectedFilesPendingEmit":[2],"emitSignatures":[[2,"6892461904-export declare var myClassWithError: {\n new (): {\n tags(): void;\n };\n};\n"]],"latestChangedDtsFile":"./fileWithoutError.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/solution/app/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -290,12 +285,6 @@ Output:: "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./filewitherror.ts", - "./filewithouterror.ts" - ], "affectedFilesPendingEmit": [ [ "./filewitherror.ts", @@ -311,7 +300,7 @@ Output:: "latestChangedDtsFile": "./fileWithoutError.d.ts" }, "version": "FakeTSVersion", - "size": 1360 + "size": 1304 } @@ -355,6 +344,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -366,7 +356,7 @@ Output:: //// [/user/username/projects/solution/app/fileWithError.js] file written with same contents //// [/user/username/projects/solution/app/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./filewitherror.ts","./filewithouterror.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8106435186-export var myClassWithError = class {\n tags() { }\n \n };","signature":"6892461904-export declare var myClassWithError: {\n new (): {\n tags(): void;\n };\n};\n","impliedFormat":1},{"version":"-11785903855-export class myClass { }","signature":"-7432826827-export declare class myClass {\n}\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./fileWithoutError.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./filewitherror.ts","./filewithouterror.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8106435186-export var myClassWithError = class {\n tags() { }\n \n };","signature":"6892461904-export declare var myClassWithError: {\n new (): {\n tags(): void;\n };\n};\n","impliedFormat":1},{"version":"-11785903855-export class myClass { }","signature":"-7432826827-export declare class myClass {\n}\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true},"latestChangedDtsFile":"./fileWithoutError.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/solution/app/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -422,16 +412,10 @@ Output:: "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./filewitherror.ts", - "./filewithouterror.ts" - ], "latestChangedDtsFile": "./fileWithoutError.d.ts" }, "version": "FakeTSVersion", - "size": 1076 + "size": 1020 } diff --git a/tests/baselines/reference/tsbuildWatch/programUpdates/reportErrors/declarationEmitErrors/when-file-with-no-error-changes.js b/tests/baselines/reference/tsbuildWatch/programUpdates/reportErrors/declarationEmitErrors/when-file-with-no-error-changes.js index 62b97c9b87ca3..0ff91c44d73c9 100644 --- a/tests/baselines/reference/tsbuildWatch/programUpdates/reportErrors/declarationEmitErrors/when-file-with-no-error-changes.js +++ b/tests/baselines/reference/tsbuildWatch/programUpdates/reportErrors/declarationEmitErrors/when-file-with-no-error-changes.js @@ -45,7 +45,7 @@ Output:: //// [/user/username/projects/solution/app/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./filewitherror.ts","./filewithouterror.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8103865863-export var myClassWithError = class {\n tags() { }\n private p = 12\n };","impliedFormat":1},{"version":"-11785903855-export class myClass { }","signature":"-7432826827-export declare class myClass {\n}\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3],"affectedFilesPendingEmit":[2,3],"emitSignatures":[2,3]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./filewitherror.ts","./filewithouterror.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8103865863-export var myClassWithError = class {\n tags() { }\n private p = 12\n };","impliedFormat":1},{"version":"-11785903855-export class myClass { }","signature":"-7432826827-export declare class myClass {\n}\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true},"affectedFilesPendingEmit":[2,3],"emitSignatures":[2,3]},"version":"FakeTSVersion"} //// [/user/username/projects/solution/app/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -100,12 +100,6 @@ Output:: "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./filewitherror.ts", - "./filewithouterror.ts" - ], "affectedFilesPendingEmit": [ [ "./filewitherror.ts", @@ -122,7 +116,7 @@ Output:: ] }, "version": "FakeTSVersion", - "size": 981 + "size": 925 } @@ -196,6 +190,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -211,7 +206,7 @@ Output:: //// [/user/username/projects/solution/app/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./filewitherror.ts","./filewithouterror.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8103865863-export var myClassWithError = class {\n tags() { }\n private p = 12\n };","impliedFormat":1},{"version":"-10959532701-export class myClass2 { }","signature":"-8459626297-export declare class myClass2 {\n}\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3],"affectedFilesPendingEmit":[2,3],"emitSignatures":[2,3]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./filewitherror.ts","./filewithouterror.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8103865863-export var myClassWithError = class {\n tags() { }\n private p = 12\n };","impliedFormat":1},{"version":"-10959532701-export class myClass2 { }","signature":"-8459626297-export declare class myClass2 {\n}\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true},"affectedFilesPendingEmit":[2,3],"emitSignatures":[2,3]},"version":"FakeTSVersion"} //// [/user/username/projects/solution/app/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -266,12 +261,6 @@ Output:: "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./filewitherror.ts", - "./filewithouterror.ts" - ], "affectedFilesPendingEmit": [ [ "./filewitherror.ts", @@ -288,7 +277,7 @@ Output:: ] }, "version": "FakeTSVersion", - "size": 983 + "size": 927 } diff --git a/tests/baselines/reference/tsbuildWatch/programUpdates/reportErrors/declarationEmitErrors/when-fixing-error-files-all-files-are-emitted.js b/tests/baselines/reference/tsbuildWatch/programUpdates/reportErrors/declarationEmitErrors/when-fixing-error-files-all-files-are-emitted.js index a88334957ab31..f3e3313a11208 100644 --- a/tests/baselines/reference/tsbuildWatch/programUpdates/reportErrors/declarationEmitErrors/when-fixing-error-files-all-files-are-emitted.js +++ b/tests/baselines/reference/tsbuildWatch/programUpdates/reportErrors/declarationEmitErrors/when-fixing-error-files-all-files-are-emitted.js @@ -45,7 +45,7 @@ Output:: //// [/user/username/projects/solution/app/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./filewitherror.ts","./filewithouterror.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8103865863-export var myClassWithError = class {\n tags() { }\n private p = 12\n };","impliedFormat":1},{"version":"-11785903855-export class myClass { }","signature":"-7432826827-export declare class myClass {\n}\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3],"affectedFilesPendingEmit":[2,3],"emitSignatures":[2,3]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./filewitherror.ts","./filewithouterror.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8103865863-export var myClassWithError = class {\n tags() { }\n private p = 12\n };","impliedFormat":1},{"version":"-11785903855-export class myClass { }","signature":"-7432826827-export declare class myClass {\n}\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true},"affectedFilesPendingEmit":[2,3],"emitSignatures":[2,3]},"version":"FakeTSVersion"} //// [/user/username/projects/solution/app/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -100,12 +100,6 @@ Output:: "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./filewitherror.ts", - "./filewithouterror.ts" - ], "affectedFilesPendingEmit": [ [ "./filewitherror.ts", @@ -122,7 +116,7 @@ Output:: ] }, "version": "FakeTSVersion", - "size": 981 + "size": 925 } @@ -199,6 +193,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -209,7 +204,7 @@ Output:: //// [/user/username/projects/solution/app/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./filewitherror.ts","./filewithouterror.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8106435186-export var myClassWithError = class {\n tags() { }\n \n };","signature":"6892461904-export declare var myClassWithError: {\n new (): {\n tags(): void;\n };\n};\n","impliedFormat":1},{"version":"-11785903855-export class myClass { }","signature":"-7432826827-export declare class myClass {\n}\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./fileWithoutError.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./filewitherror.ts","./filewithouterror.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8106435186-export var myClassWithError = class {\n tags() { }\n \n };","signature":"6892461904-export declare var myClassWithError: {\n new (): {\n tags(): void;\n };\n};\n","impliedFormat":1},{"version":"-11785903855-export class myClass { }","signature":"-7432826827-export declare class myClass {\n}\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true},"latestChangedDtsFile":"./fileWithoutError.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/solution/app/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -265,16 +260,10 @@ Output:: "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./filewitherror.ts", - "./filewithouterror.ts" - ], "latestChangedDtsFile": "./fileWithoutError.d.ts" }, "version": "FakeTSVersion", - "size": 1076 + "size": 1020 } //// [/user/username/projects/solution/app/fileWithError.js] diff --git a/tests/baselines/reference/tsbuildWatch/programUpdates/reportErrors/when-preserveWatchOutput-is-not-used.js b/tests/baselines/reference/tsbuildWatch/programUpdates/reportErrors/when-preserveWatchOutput-is-not-used.js index b5a7ee179fdf9..81a0da2d77734 100644 --- a/tests/baselines/reference/tsbuildWatch/programUpdates/reportErrors/when-preserveWatchOutput-is-not-used.js +++ b/tests/baselines/reference/tsbuildWatch/programUpdates/reportErrors/when-preserveWatchOutput-is-not-used.js @@ -137,7 +137,7 @@ export declare function multiply(a: number, b: number): number; //# sourceMappingURL=index.d.ts.map //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -211,17 +211,10 @@ export declare function multiply(a: number, b: number): number; "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1442 + "size": 1384 } //// [/user/username/projects/sample1/logic/index.js.map] @@ -247,7 +240,7 @@ export declare const m: typeof mod; //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -323,16 +316,10 @@ export declare const m: typeof mod; "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1494 + "size": 1455 } //// [/user/username/projects/sample1/tests/index.js] @@ -353,7 +340,7 @@ export declare const m: typeof mod; //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -446,17 +433,10 @@ export declare const m: typeof mod; "../logic/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "../logic/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1664 + "size": 1623 } @@ -624,6 +604,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -639,7 +620,7 @@ Output:: //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-5319769398-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n\nlet y: string = 10;","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,[4,[{"file":"./index.ts","start":178,"length":1,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'string'."}]]],"affectedFilesPendingEmit":[4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-5319769398-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n\nlet y: string = 10;","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[[4,[{"start":178,"length":1,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'string'."}]]],"affectedFilesPendingEmit":[4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -716,14 +697,10 @@ Output:: ] }, "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", [ "./index.ts", [ { - "file": "./index.ts", "start": 178, "length": 1, "code": 2322, @@ -742,7 +719,7 @@ Output:: "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1686 + "size": 1660 } @@ -791,6 +768,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -811,7 +789,7 @@ Output:: //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15390729096-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n\nlet x: string = 10;","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,[3,[{"file":"./index.ts","start":183,"length":1,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'string'."}]],4],"affectedFilesPendingEmit":[3],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15390729096-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n\nlet x: string = 10;","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"semanticDiagnosticsPerFile":[[3,[{"start":183,"length":1,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'string'."}]]],"affectedFilesPendingEmit":[3],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -885,15 +863,11 @@ Output:: "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", [ "./index.ts", [ { - "file": "./index.ts", "start": 183, "length": 1, "code": 2322, @@ -901,8 +875,7 @@ Output:: "messageText": "Type 'number' is not assignable to type 'string'." } ] - ], - "./some_decl.d.ts" + ] ], "affectedFilesPendingEmit": [ [ @@ -913,7 +886,7 @@ Output:: "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1634 + "size": 1589 } diff --git a/tests/baselines/reference/tsbuildWatch/programUpdates/reportErrors/when-preserveWatchOutput-is-passed-on-command-line.js b/tests/baselines/reference/tsbuildWatch/programUpdates/reportErrors/when-preserveWatchOutput-is-passed-on-command-line.js index f7cc70d551070..06b4dbb2ca78e 100644 --- a/tests/baselines/reference/tsbuildWatch/programUpdates/reportErrors/when-preserveWatchOutput-is-passed-on-command-line.js +++ b/tests/baselines/reference/tsbuildWatch/programUpdates/reportErrors/when-preserveWatchOutput-is-passed-on-command-line.js @@ -136,7 +136,7 @@ export declare function multiply(a: number, b: number): number; //# sourceMappingURL=index.d.ts.map //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -210,17 +210,10 @@ export declare function multiply(a: number, b: number): number; "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1442 + "size": 1384 } //// [/user/username/projects/sample1/logic/index.js.map] @@ -246,7 +239,7 @@ export declare const m: typeof mod; //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -322,16 +315,10 @@ export declare const m: typeof mod; "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1494 + "size": 1455 } //// [/user/username/projects/sample1/tests/index.js] @@ -352,7 +339,7 @@ export declare const m: typeof mod; //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -445,17 +432,10 @@ export declare const m: typeof mod; "../logic/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "../logic/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1664 + "size": 1623 } @@ -626,6 +606,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: [HH:MM:SS AM] File change detected. Starting incremental compilation... @@ -640,7 +621,7 @@ Output:: //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-5319769398-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n\nlet y: string = 10;","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,[4,[{"file":"./index.ts","start":178,"length":1,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'string'."}]]],"affectedFilesPendingEmit":[4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-5319769398-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n\nlet y: string = 10;","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[[4,[{"start":178,"length":1,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'string'."}]]],"affectedFilesPendingEmit":[4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -717,14 +698,10 @@ Output:: ] }, "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", [ "./index.ts", [ { - "file": "./index.ts", "start": 178, "length": 1, "code": 2322, @@ -743,7 +720,7 @@ Output:: "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1686 + "size": 1660 } @@ -793,6 +770,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: [HH:MM:SS AM] File change detected. Starting incremental compilation... @@ -812,7 +790,7 @@ Output:: //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15390729096-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n\nlet x: string = 10;","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,[3,[{"file":"./index.ts","start":183,"length":1,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'string'."}]],4],"affectedFilesPendingEmit":[3],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15390729096-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n\nlet x: string = 10;","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"semanticDiagnosticsPerFile":[[3,[{"start":183,"length":1,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'string'."}]]],"affectedFilesPendingEmit":[3],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -886,15 +864,11 @@ Output:: "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", [ "./index.ts", [ { - "file": "./index.ts", "start": 183, "length": 1, "code": 2322, @@ -902,8 +876,7 @@ Output:: "messageText": "Type 'number' is not assignable to type 'string'." } ] - ], - "./some_decl.d.ts" + ] ], "affectedFilesPendingEmit": [ [ @@ -914,7 +887,7 @@ Output:: "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1634 + "size": 1589 } diff --git a/tests/baselines/reference/tsbuildWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit-with-outDir-specified.js b/tests/baselines/reference/tsbuildWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit-with-outDir-specified.js index 7436a9681aee0..79724e1d6e05f 100644 --- a/tests/baselines/reference/tsbuildWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit-with-outDir-specified.js +++ b/tests/baselines/reference/tsbuildWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit-with-outDir-specified.js @@ -136,7 +136,7 @@ export declare function multiply(a: number, b: number): number; //// [/user/username/projects/sample1/core/outDir/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../anothermodule.ts","../index.ts","../some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"outDir":"./"},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../anothermodule.ts","../index.ts","../some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"outDir":"./"},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/outDir/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -208,17 +208,10 @@ export declare function multiply(a: number, b: number): number; "composite": true, "outDir": "./" }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "../anothermodule.ts", - "../index.ts", - "../some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1394 + "size": 1336 } @@ -306,6 +299,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -320,7 +314,7 @@ Output:: //// [/user/username/projects/sample1/core/outDir/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../anothermodule.ts","../file3.ts","../index.ts","../some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","signature":"-7152472870-export declare const y = 10;\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,5]],"options":{"composite":true,"outDir":"./"},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4,5],"latestChangedDtsFile":"./file3.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../anothermodule.ts","../file3.ts","../index.ts","../some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","signature":"-7152472870-export declare const y = 10;\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,5]],"options":{"composite":true,"outDir":"./"},"latestChangedDtsFile":"./file3.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/outDir/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -404,18 +398,10 @@ Output:: "composite": true, "outDir": "./" }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "../anothermodule.ts", - "../file3.ts", - "../index.ts", - "../some_decl.d.ts" - ], "latestChangedDtsFile": "./file3.d.ts" }, "version": "FakeTSVersion", - "size": 1533 + "size": 1473 } //// [/user/username/projects/sample1/core/outDir/file3.js] diff --git a/tests/baselines/reference/tsbuildWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit.js b/tests/baselines/reference/tsbuildWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit.js index 1109980a2f202..964766191f926 100644 --- a/tests/baselines/reference/tsbuildWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit.js +++ b/tests/baselines/reference/tsbuildWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit.js @@ -144,7 +144,7 @@ export declare function multiply(a: number, b: number): number; //# sourceMappingURL=index.d.ts.map //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -218,17 +218,10 @@ export declare function multiply(a: number, b: number): number; "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1442 + "size": 1384 } @@ -318,6 +311,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -332,7 +326,7 @@ Output:: //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./file3.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","signature":"-7152472870-export declare const y = 10;\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,5]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4,5],"latestChangedDtsFile":"./file3.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./file3.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","signature":"-7152472870-export declare const y = 10;\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,5]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./file3.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -418,18 +412,10 @@ Output:: "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./file3.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./file3.d.ts" }, "version": "FakeTSVersion", - "size": 1580 + "size": 1520 } //// [/user/username/projects/sample1/core/file3.js] diff --git a/tests/baselines/reference/tsbuildWatch/programUpdates/tsbuildinfo-has-error.js b/tests/baselines/reference/tsbuildWatch/programUpdates/tsbuildinfo-has-error.js index 6850357961eda..f37f75cb235f1 100644 --- a/tests/baselines/reference/tsbuildWatch/programUpdates/tsbuildinfo-has-error.js +++ b/tests/baselines/reference/tsbuildWatch/programUpdates/tsbuildinfo-has-error.js @@ -33,7 +33,7 @@ Output:: //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../a/lib/lib.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","impliedFormat":1}],"root":[2],"referencedMap":[],"semanticDiagnosticsPerFile":[1,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../a/lib/lib.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","impliedFormat":1}],"root":[2]},"version":"FakeTSVersion"} //// [/src/project/main.js] "use strict"; @@ -76,15 +76,10 @@ exports.x = 10; 2, "./main.ts" ] - ], - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../a/lib/lib.d.ts", - "./main.ts" ] }, "version": "FakeTSVersion", - "size": 650 + "size": 596 } diff --git a/tests/baselines/reference/tsbuildWatch/programUpdates/verify-building-references-watches-only-those-projects.js b/tests/baselines/reference/tsbuildWatch/programUpdates/verify-building-references-watches-only-those-projects.js index 73cd08708aebe..6ef09fd0797c5 100644 --- a/tests/baselines/reference/tsbuildWatch/programUpdates/verify-building-references-watches-only-those-projects.js +++ b/tests/baselines/reference/tsbuildWatch/programUpdates/verify-building-references-watches-only-those-projects.js @@ -137,7 +137,7 @@ export declare function multiply(a: number, b: number): number; //# sourceMappingURL=index.d.ts.map //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -211,17 +211,10 @@ export declare function multiply(a: number, b: number): number; "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1442 + "size": 1384 } //// [/user/username/projects/sample1/logic/index.js.map] @@ -247,7 +240,7 @@ export declare const m: typeof mod; //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -323,16 +316,10 @@ export declare const m: typeof mod; "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1494 + "size": 1455 } diff --git a/tests/baselines/reference/tsbuildWatch/programUpdates/watches-config-files-that-are-not-present.js b/tests/baselines/reference/tsbuildWatch/programUpdates/watches-config-files-that-are-not-present.js index 08946c16b1308..12310a5f2c8df 100644 --- a/tests/baselines/reference/tsbuildWatch/programUpdates/watches-config-files-that-are-not-present.js +++ b/tests/baselines/reference/tsbuildWatch/programUpdates/watches-config-files-that-are-not-present.js @@ -123,7 +123,7 @@ export declare function multiply(a: number, b: number): number; //# sourceMappingURL=index.d.ts.map //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -197,17 +197,10 @@ export declare function multiply(a: number, b: number): number; "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1442 + "size": 1384 } @@ -355,6 +348,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 1 Output:: >> Screen clear @@ -385,7 +379,7 @@ export declare const m: typeof mod; //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -461,16 +455,10 @@ export declare const m: typeof mod; "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1494 + "size": 1455 } @@ -560,6 +548,7 @@ Input:: Before running Timeout callback:: count: 1 3: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: [HH:MM:SS AM] Found 0 errors. Watching for file changes. @@ -584,7 +573,7 @@ export declare const m: typeof mod; //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -677,17 +666,10 @@ export declare const m: typeof mod; "../logic/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "../logic/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1664 + "size": 1623 } diff --git a/tests/baselines/reference/tsbuildWatch/programUpdates/when-referenced-project-change-introduces-error-in-the-down-stream-project-and-then-fixes-it.js b/tests/baselines/reference/tsbuildWatch/programUpdates/when-referenced-project-change-introduces-error-in-the-down-stream-project-and-then-fixes-it.js index b350a56b81034..78a515e4fae0b 100644 --- a/tests/baselines/reference/tsbuildWatch/programUpdates/when-referenced-project-change-introduces-error-in-the-down-stream-project-and-then-fixes-it.js +++ b/tests/baselines/reference/tsbuildWatch/programUpdates/when-referenced-project-change-introduces-error-in-the-down-stream-project-and-then-fixes-it.js @@ -77,7 +77,7 @@ export {}; //// [/user/username/projects/sample1/Library/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./library.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"5256469508-\ninterface SomeObject\n{\n message: string;\n}\n\nexport function createSomeObject(): SomeObject\n{\n return {\n message: \"new Object\"\n };\n}","signature":"-18933614215-interface SomeObject {\n message: string;\n}\nexport declare function createSomeObject(): SomeObject;\nexport {};\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./library.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./library.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"5256469508-\ninterface SomeObject\n{\n message: string;\n}\n\nexport function createSomeObject(): SomeObject\n{\n return {\n message: \"new Object\"\n };\n}","signature":"-18933614215-interface SomeObject {\n message: string;\n}\nexport declare function createSomeObject(): SomeObject;\nexport {};\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./library.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/Library/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -118,15 +118,10 @@ export {}; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./library.ts" - ], "latestChangedDtsFile": "./library.d.ts" }, "version": "FakeTSVersion", - "size": 1016 + "size": 962 } //// [/user/username/projects/sample1/App/app.js] @@ -243,6 +238,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 1 Output:: >> Screen clear @@ -270,7 +266,7 @@ export {}; //// [/user/username/projects/sample1/Library/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./library.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-9741349880-\ninterface SomeObject\n{\n message2: string;\n}\n\nexport function createSomeObject(): SomeObject\n{\n return {\n message2: \"new Object\"\n };\n}","signature":"1956297931-interface SomeObject {\n message2: string;\n}\nexport declare function createSomeObject(): SomeObject;\nexport {};\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./library.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./library.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-9741349880-\ninterface SomeObject\n{\n message2: string;\n}\n\nexport function createSomeObject(): SomeObject\n{\n return {\n message2: \"new Object\"\n };\n}","signature":"1956297931-interface SomeObject {\n message2: string;\n}\nexport declare function createSomeObject(): SomeObject;\nexport {};\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./library.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/Library/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -311,15 +307,10 @@ export {}; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./library.ts" - ], "latestChangedDtsFile": "./library.d.ts" }, "version": "FakeTSVersion", - "size": 1018 + "size": 964 } @@ -329,6 +320,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: App/app.ts:2:20 - error TS2551: Property 'message' does not exist on type 'SomeObject'. Did you mean 'message2'? @@ -413,6 +405,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 1 Output:: >> Screen clear @@ -440,7 +433,7 @@ export {}; //// [/user/username/projects/sample1/Library/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./library.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"5256469508-\ninterface SomeObject\n{\n message: string;\n}\n\nexport function createSomeObject(): SomeObject\n{\n return {\n message: \"new Object\"\n };\n}","signature":"-18933614215-interface SomeObject {\n message: string;\n}\nexport declare function createSomeObject(): SomeObject;\nexport {};\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./library.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./library.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"5256469508-\ninterface SomeObject\n{\n message: string;\n}\n\nexport function createSomeObject(): SomeObject\n{\n return {\n message: \"new Object\"\n };\n}","signature":"-18933614215-interface SomeObject {\n message: string;\n}\nexport declare function createSomeObject(): SomeObject;\nexport {};\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./library.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/Library/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -481,15 +474,10 @@ export {}; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./library.ts" - ], "latestChangedDtsFile": "./library.d.ts" }, "version": "FakeTSVersion", - "size": 1016 + "size": 962 } @@ -499,6 +487,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 4: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: [HH:MM:SS AM] Found 0 errors. Watching for file changes. diff --git a/tests/baselines/reference/tsbuildWatch/programUpdates/with-circular-project-reference/builds-when-new-file-is-added,-and-its-subsequent-updates.js b/tests/baselines/reference/tsbuildWatch/programUpdates/with-circular-project-reference/builds-when-new-file-is-added,-and-its-subsequent-updates.js index fcd6fb6f8d94d..531e536a264f7 100644 --- a/tests/baselines/reference/tsbuildWatch/programUpdates/with-circular-project-reference/builds-when-new-file-is-added,-and-its-subsequent-updates.js +++ b/tests/baselines/reference/tsbuildWatch/programUpdates/with-circular-project-reference/builds-when-new-file-is-added,-and-its-subsequent-updates.js @@ -135,7 +135,7 @@ export declare function multiply(a: number, b: number): number; //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -207,17 +207,10 @@ export declare function multiply(a: number, b: number): number; "composite": true, "declaration": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1393 + "size": 1335 } //// [/user/username/projects/sample1/logic/index.js.map] @@ -243,7 +236,7 @@ export declare const m: typeof mod; //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -319,16 +312,10 @@ export declare const m: typeof mod; "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1494 + "size": 1455 } //// [/user/username/projects/sample1/tests/index.js] @@ -349,7 +336,7 @@ export declare const m: typeof mod; //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -442,17 +429,10 @@ export declare const m: typeof mod; "../logic/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "../logic/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1664 + "size": 1623 } @@ -611,6 +591,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 1 Output:: >> Screen clear @@ -619,7 +600,7 @@ Output:: //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./newfile.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-16320201030-export const newFileConst = 30;","signature":"-22941483372-export declare const newFileConst = 30;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,5]],"options":{"composite":true,"declaration":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4,5],"latestChangedDtsFile":"./newfile.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./newfile.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-16320201030-export const newFileConst = 30;","signature":"-22941483372-export declare const newFileConst = 30;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,5]],"options":{"composite":true,"declaration":true},"latestChangedDtsFile":"./newfile.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -703,18 +684,10 @@ Output:: "composite": true, "declaration": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./newfile.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./newfile.d.ts" }, "version": "FakeTSVersion", - "size": 1558 + "size": 1498 } //// [/user/username/projects/sample1/core/newfile.js] @@ -816,6 +789,7 @@ Input:: Before running Timeout callback:: count: 1 2: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: [HH:MM:SS AM] Found 0 errors. Watching for file changes. @@ -888,6 +862,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 1 Output:: >> Screen clear @@ -896,7 +871,7 @@ Output:: //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./newfile.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9703836816-export const newFileConst = 30;\nexport class someClass2 { }","signature":"-12384508924-export declare const newFileConst = 30;\nexport declare class someClass2 {\n}\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,5]],"options":{"composite":true,"declaration":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4,5],"latestChangedDtsFile":"./newfile.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./newfile.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9703836816-export const newFileConst = 30;\nexport class someClass2 { }","signature":"-12384508924-export declare const newFileConst = 30;\nexport declare class someClass2 {\n}\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,5]],"options":{"composite":true,"declaration":true},"latestChangedDtsFile":"./newfile.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -980,18 +955,10 @@ Output:: "composite": true, "declaration": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./newfile.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./newfile.d.ts" }, "version": "FakeTSVersion", - "size": 1624 + "size": 1564 } //// [/user/username/projects/sample1/core/newfile.js] @@ -1053,6 +1020,7 @@ Input:: Before running Timeout callback:: count: 1 4: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: [HH:MM:SS AM] Found 0 errors. Watching for file changes. diff --git a/tests/baselines/reference/tsbuildWatch/programUpdates/with-circular-project-reference/change-builds-changes-and-reports-found-errors-message.js b/tests/baselines/reference/tsbuildWatch/programUpdates/with-circular-project-reference/change-builds-changes-and-reports-found-errors-message.js index bfd8fb05dacfe..cb683743c4223 100644 --- a/tests/baselines/reference/tsbuildWatch/programUpdates/with-circular-project-reference/change-builds-changes-and-reports-found-errors-message.js +++ b/tests/baselines/reference/tsbuildWatch/programUpdates/with-circular-project-reference/change-builds-changes-and-reports-found-errors-message.js @@ -135,7 +135,7 @@ export declare function multiply(a: number, b: number): number; //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -207,17 +207,10 @@ export declare function multiply(a: number, b: number): number; "composite": true, "declaration": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1393 + "size": 1335 } //// [/user/username/projects/sample1/logic/index.js.map] @@ -243,7 +236,7 @@ export declare const m: typeof mod; //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -319,16 +312,10 @@ export declare const m: typeof mod; "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1494 + "size": 1455 } //// [/user/username/projects/sample1/tests/index.js] @@ -349,7 +336,7 @@ export declare const m: typeof mod; //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -442,17 +429,10 @@ export declare const m: typeof mod; "../logic/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "../logic/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1664 + "size": 1623 } @@ -615,6 +595,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 1 Output:: >> Screen clear @@ -648,7 +629,7 @@ export declare class someClass { //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-14927048853-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n\nexport class someClass { }","signature":"-2489663677-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-14927048853-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n\nexport class someClass { }","signature":"-2489663677-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -720,17 +701,10 @@ export declare class someClass { "composite": true, "declaration": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1458 + "size": 1400 } @@ -771,6 +745,7 @@ Input:: Before running Timeout callback:: count: 1 2: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: [HH:MM:SS AM] Found 0 errors. Watching for file changes. @@ -780,7 +755,7 @@ Output:: //// [/user/username/projects/sample1/logic/index.js.map] file written with same contents //// [/user/username/projects/sample1/logic/index.js] file written with same contents //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-2489663677-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-2489663677-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -856,21 +831,15 @@ Output:: "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1531 + "size": 1492 } //// [/user/username/projects/sample1/tests/index.js] file written with same contents //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-2489663677-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-2489663677-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -963,17 +932,10 @@ Output:: "../logic/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "../logic/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1701 + "size": 1660 } @@ -1050,6 +1012,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 1 Output:: >> Screen clear @@ -1075,7 +1038,7 @@ export declare function multiply(a: number, b: number): number; //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1147,17 +1110,10 @@ export declare function multiply(a: number, b: number): number; "composite": true, "declaration": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1393 + "size": 1335 } @@ -1198,6 +1154,7 @@ Input:: Before running Timeout callback:: count: 1 4: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: [HH:MM:SS AM] Found 0 errors. Watching for file changes. @@ -1207,7 +1164,7 @@ Output:: //// [/user/username/projects/sample1/logic/index.js.map] file written with same contents //// [/user/username/projects/sample1/logic/index.js] file written with same contents //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1283,21 +1240,15 @@ Output:: "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1494 + "size": 1455 } //// [/user/username/projects/sample1/tests/index.js] file written with same contents //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1390,17 +1341,10 @@ Output:: "../logic/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "../logic/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1664 + "size": 1623 } @@ -1479,6 +1423,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 6: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 1 Output:: >> Screen clear @@ -1520,7 +1465,7 @@ export declare class someClass2 { //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-10455689311-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n\nexport class someClass { }\nexport class someClass2 { }","signature":"-1938481101-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\nexport declare class someClass2 {\n}\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-10455689311-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n\nexport class someClass { }\nexport class someClass2 { }","signature":"-1938481101-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\nexport declare class someClass2 {\n}\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1592,17 +1537,10 @@ export declare class someClass2 { "composite": true, "declaration": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1525 + "size": 1467 } @@ -1643,6 +1581,7 @@ Input:: Before running Timeout callback:: count: 1 7: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: [HH:MM:SS AM] Found 0 errors. Watching for file changes. @@ -1652,7 +1591,7 @@ Output:: //// [/user/username/projects/sample1/logic/index.js.map] file written with same contents //// [/user/username/projects/sample1/logic/index.js] file written with same contents //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-1938481101-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\nexport declare class someClass2 {\n}\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-1938481101-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\nexport declare class someClass2 {\n}\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1728,21 +1667,15 @@ Output:: "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1569 + "size": 1530 } //// [/user/username/projects/sample1/tests/index.js] file written with same contents //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-1938481101-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\nexport declare class someClass2 {\n}\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-1938481101-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\nexport declare class someClass2 {\n}\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1835,17 +1768,10 @@ Output:: "../logic/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "../logic/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1739 + "size": 1698 } diff --git a/tests/baselines/reference/tsbuildWatch/programUpdates/with-circular-project-reference/non-local-change-does-not-start-build-of-referencing-projects.js b/tests/baselines/reference/tsbuildWatch/programUpdates/with-circular-project-reference/non-local-change-does-not-start-build-of-referencing-projects.js index 4ac84b88930c7..9e75d9f49e3fc 100644 --- a/tests/baselines/reference/tsbuildWatch/programUpdates/with-circular-project-reference/non-local-change-does-not-start-build-of-referencing-projects.js +++ b/tests/baselines/reference/tsbuildWatch/programUpdates/with-circular-project-reference/non-local-change-does-not-start-build-of-referencing-projects.js @@ -135,7 +135,7 @@ export declare function multiply(a: number, b: number): number; //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -207,17 +207,10 @@ export declare function multiply(a: number, b: number): number; "composite": true, "declaration": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1393 + "size": 1335 } //// [/user/username/projects/sample1/logic/index.js.map] @@ -243,7 +236,7 @@ export declare const m: typeof mod; //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -319,16 +312,10 @@ export declare const m: typeof mod; "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1494 + "size": 1455 } //// [/user/username/projects/sample1/tests/index.js] @@ -349,7 +336,7 @@ export declare const m: typeof mod; //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -442,17 +429,10 @@ export declare const m: typeof mod; "../logic/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "../logic/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1664 + "size": 1623 } @@ -615,6 +595,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -637,7 +618,7 @@ function foo() { } //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9422301372-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n\nfunction foo() { }","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9422301372-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n\nfunction foo() { }","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -709,17 +690,10 @@ function foo() { } "composite": true, "declaration": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1412 + "size": 1354 } //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] file changed its modified time diff --git a/tests/baselines/reference/tsbuildWatch/programUpdates/with-outFile-and-non-local-change.js b/tests/baselines/reference/tsbuildWatch/programUpdates/with-outFile-and-non-local-change.js index 21f26ce8f1f7e..f3acae27547bd 100644 --- a/tests/baselines/reference/tsbuildWatch/programUpdates/with-outFile-and-non-local-change.js +++ b/tests/baselines/reference/tsbuildWatch/programUpdates/with-outFile-and-non-local-change.js @@ -262,6 +262,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 1 Output:: >> Screen clear @@ -358,6 +359,7 @@ Input:: Before running Timeout callback:: count: 1 2: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: [HH:MM:SS AM] Found 0 errors. Watching for file changes. @@ -458,6 +460,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tsbuildWatch/programUpdates/with-simple-project-reference-graph/builds-when-new-file-is-added,-and-its-subsequent-updates.js b/tests/baselines/reference/tsbuildWatch/programUpdates/with-simple-project-reference-graph/builds-when-new-file-is-added,-and-its-subsequent-updates.js index 9abca4e60468b..13481c0e7d43d 100644 --- a/tests/baselines/reference/tsbuildWatch/programUpdates/with-simple-project-reference-graph/builds-when-new-file-is-added,-and-its-subsequent-updates.js +++ b/tests/baselines/reference/tsbuildWatch/programUpdates/with-simple-project-reference-graph/builds-when-new-file-is-added,-and-its-subsequent-updates.js @@ -137,7 +137,7 @@ export declare function multiply(a: number, b: number): number; //# sourceMappingURL=index.d.ts.map //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -211,17 +211,10 @@ export declare function multiply(a: number, b: number): number; "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1442 + "size": 1384 } //// [/user/username/projects/sample1/logic/index.js.map] @@ -247,7 +240,7 @@ export declare const m: typeof mod; //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -323,16 +316,10 @@ export declare const m: typeof mod; "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1494 + "size": 1455 } //// [/user/username/projects/sample1/tests/index.js] @@ -353,7 +340,7 @@ export declare const m: typeof mod; //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -446,17 +433,10 @@ export declare const m: typeof mod; "../logic/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "../logic/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1664 + "size": 1623 } @@ -617,6 +597,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 1 Output:: >> Screen clear @@ -625,7 +606,7 @@ Output:: //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./newfile.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-16320201030-export const newFileConst = 30;","signature":"-22941483372-export declare const newFileConst = 30;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,5]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4,5],"latestChangedDtsFile":"./newfile.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./newfile.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-16320201030-export const newFileConst = 30;","signature":"-22941483372-export declare const newFileConst = 30;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,5]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./newfile.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -711,18 +692,10 @@ Output:: "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./newfile.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./newfile.d.ts" }, "version": "FakeTSVersion", - "size": 1607 + "size": 1547 } //// [/user/username/projects/sample1/core/newfile.js] @@ -829,6 +802,7 @@ Input:: Before running Timeout callback:: count: 1 2: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: [HH:MM:SS AM] Found 0 errors. Watching for file changes. @@ -901,6 +875,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 1 Output:: >> Screen clear @@ -909,7 +884,7 @@ Output:: //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./newfile.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9703836816-export const newFileConst = 30;\nexport class someClass2 { }","signature":"-12384508924-export declare const newFileConst = 30;\nexport declare class someClass2 {\n}\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,5]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4,5],"latestChangedDtsFile":"./newfile.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./newfile.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9703836816-export const newFileConst = 30;\nexport class someClass2 { }","signature":"-12384508924-export declare const newFileConst = 30;\nexport declare class someClass2 {\n}\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,5]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./newfile.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -995,18 +970,10 @@ Output:: "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./newfile.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./newfile.d.ts" }, "version": "FakeTSVersion", - "size": 1673 + "size": 1613 } //// [/user/username/projects/sample1/core/newfile.js] @@ -1073,6 +1040,7 @@ Input:: Before running Timeout callback:: count: 1 4: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: [HH:MM:SS AM] Found 0 errors. Watching for file changes. diff --git a/tests/baselines/reference/tsbuildWatch/programUpdates/with-simple-project-reference-graph/change-builds-changes-and-reports-found-errors-message.js b/tests/baselines/reference/tsbuildWatch/programUpdates/with-simple-project-reference-graph/change-builds-changes-and-reports-found-errors-message.js index f3eb8a23fe9a0..d4bd6718690f1 100644 --- a/tests/baselines/reference/tsbuildWatch/programUpdates/with-simple-project-reference-graph/change-builds-changes-and-reports-found-errors-message.js +++ b/tests/baselines/reference/tsbuildWatch/programUpdates/with-simple-project-reference-graph/change-builds-changes-and-reports-found-errors-message.js @@ -137,7 +137,7 @@ export declare function multiply(a: number, b: number): number; //# sourceMappingURL=index.d.ts.map //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -211,17 +211,10 @@ export declare function multiply(a: number, b: number): number; "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1442 + "size": 1384 } //// [/user/username/projects/sample1/logic/index.js.map] @@ -247,7 +240,7 @@ export declare const m: typeof mod; //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -323,16 +316,10 @@ export declare const m: typeof mod; "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1494 + "size": 1455 } //// [/user/username/projects/sample1/tests/index.js] @@ -353,7 +340,7 @@ export declare const m: typeof mod; //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -446,17 +433,10 @@ export declare const m: typeof mod; "../logic/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "../logic/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1664 + "size": 1623 } @@ -621,6 +601,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 1 Output:: >> Screen clear @@ -657,7 +638,7 @@ export declare class someClass { //# sourceMappingURL=index.d.ts.map //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-14927048853-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n\nexport class someClass { }","signature":"-2489663677-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-14927048853-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n\nexport class someClass { }","signature":"-2489663677-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -731,17 +712,10 @@ export declare class someClass { "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1507 + "size": 1449 } @@ -784,6 +758,7 @@ Input:: Before running Timeout callback:: count: 1 2: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: [HH:MM:SS AM] Found 0 errors. Watching for file changes. @@ -793,7 +768,7 @@ Output:: //// [/user/username/projects/sample1/logic/index.js.map] file written with same contents //// [/user/username/projects/sample1/logic/index.js] file written with same contents //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-2489663677-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-2489663677-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -869,21 +844,15 @@ Output:: "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1531 + "size": 1492 } //// [/user/username/projects/sample1/tests/index.js] file written with same contents //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-2489663677-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-2489663677-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -976,17 +945,10 @@ Output:: "../logic/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "../logic/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1701 + "size": 1660 } @@ -1063,6 +1025,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 1 Output:: >> Screen clear @@ -1091,7 +1054,7 @@ export declare function multiply(a: number, b: number): number; //# sourceMappingURL=index.d.ts.map //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1165,17 +1128,10 @@ export declare function multiply(a: number, b: number): number; "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1442 + "size": 1384 } @@ -1218,6 +1174,7 @@ Input:: Before running Timeout callback:: count: 1 4: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: [HH:MM:SS AM] Found 0 errors. Watching for file changes. @@ -1227,7 +1184,7 @@ Output:: //// [/user/username/projects/sample1/logic/index.js.map] file written with same contents //// [/user/username/projects/sample1/logic/index.js] file written with same contents //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1303,21 +1260,15 @@ Output:: "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1494 + "size": 1455 } //// [/user/username/projects/sample1/tests/index.js] file written with same contents //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1410,17 +1361,10 @@ Output:: "../logic/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "../logic/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1664 + "size": 1623 } @@ -1499,6 +1443,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 6: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 1 Output:: >> Screen clear @@ -1543,7 +1488,7 @@ export declare class someClass2 { //# sourceMappingURL=index.d.ts.map //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-10455689311-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n\nexport class someClass { }\nexport class someClass2 { }","signature":"-1938481101-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\nexport declare class someClass2 {\n}\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-10455689311-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n\nexport class someClass { }\nexport class someClass2 { }","signature":"-1938481101-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\nexport declare class someClass2 {\n}\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1617,17 +1562,10 @@ export declare class someClass2 { "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1574 + "size": 1516 } @@ -1670,6 +1608,7 @@ Input:: Before running Timeout callback:: count: 1 7: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: [HH:MM:SS AM] Found 0 errors. Watching for file changes. @@ -1679,7 +1618,7 @@ Output:: //// [/user/username/projects/sample1/logic/index.js.map] file written with same contents //// [/user/username/projects/sample1/logic/index.js] file written with same contents //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-1938481101-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\nexport declare class someClass2 {\n}\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-1938481101-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\nexport declare class someClass2 {\n}\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1755,21 +1694,15 @@ Output:: "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1569 + "size": 1530 } //// [/user/username/projects/sample1/tests/index.js] file written with same contents //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-1938481101-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\nexport declare class someClass2 {\n}\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-1938481101-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\nexport declare class someClass {\n}\nexport declare class someClass2 {\n}\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1862,17 +1795,10 @@ Output:: "../logic/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "../logic/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1739 + "size": 1698 } diff --git a/tests/baselines/reference/tsbuildWatch/programUpdates/with-simple-project-reference-graph/non-local-change-does-not-start-build-of-referencing-projects.js b/tests/baselines/reference/tsbuildWatch/programUpdates/with-simple-project-reference-graph/non-local-change-does-not-start-build-of-referencing-projects.js index e591136e6db0c..a1af1b0d6e9b5 100644 --- a/tests/baselines/reference/tsbuildWatch/programUpdates/with-simple-project-reference-graph/non-local-change-does-not-start-build-of-referencing-projects.js +++ b/tests/baselines/reference/tsbuildWatch/programUpdates/with-simple-project-reference-graph/non-local-change-does-not-start-build-of-referencing-projects.js @@ -137,7 +137,7 @@ export declare function multiply(a: number, b: number): number; //# sourceMappingURL=index.d.ts.map //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -211,17 +211,10 @@ export declare function multiply(a: number, b: number): number; "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1442 + "size": 1384 } //// [/user/username/projects/sample1/logic/index.js.map] @@ -247,7 +240,7 @@ export declare const m: typeof mod; //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -323,16 +316,10 @@ export declare const m: typeof mod; "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1494 + "size": 1455 } //// [/user/username/projects/sample1/tests/index.js] @@ -353,7 +340,7 @@ export declare const m: typeof mod; //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -446,17 +433,10 @@ export declare const m: typeof mod; "../logic/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "../logic/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1664 + "size": 1623 } @@ -621,6 +601,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -644,7 +625,7 @@ function foo() { } //// [/user/username/projects/sample1/core/index.d.ts.map] file written with same contents //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9422301372-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n\nfunction foo() { }","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9422301372-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n\nfunction foo() { }","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -718,17 +699,10 @@ function foo() { } "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1461 + "size": 1403 } //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] file changed its modified time diff --git a/tests/baselines/reference/tsbuildWatch/programUpdates/works-correctly-when-project-with-extended-config-is-removed.js b/tests/baselines/reference/tsbuildWatch/programUpdates/works-correctly-when-project-with-extended-config-is-removed.js index ed0734daae4da..96b0b6ba76838 100644 --- a/tests/baselines/reference/tsbuildWatch/programUpdates/works-correctly-when-project-with-extended-config-is-removed.js +++ b/tests/baselines/reference/tsbuildWatch/programUpdates/works-correctly-when-project-with-extended-config-is-removed.js @@ -114,7 +114,7 @@ declare let y: number; //// [/a/b/project1.tsconfig.tsbuildinfo] -{"program":{"fileNames":["../lib/lib.d.ts","./commonfile1.ts","./commonfile2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"2167136208-let x = 1","signature":"2842409786-declare let x: number;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"2168322129-let y = 1","signature":"784887931-declare let y: number;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3],"options":{"composite":true,"strict":true},"referencedMap":[],"semanticDiagnosticsPerFile":[2,3,1],"latestChangedDtsFile":"./commonFile2.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../lib/lib.d.ts","./commonfile1.ts","./commonfile2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"2167136208-let x = 1","signature":"2842409786-declare let x: number;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"2168322129-let y = 1","signature":"784887931-declare let y: number;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3],"options":{"composite":true,"strict":true},"latestChangedDtsFile":"./commonFile2.d.ts"},"version":"FakeTSVersion"} //// [/a/b/project1.tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -175,16 +175,10 @@ declare let y: number; "composite": true, "strict": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "./commonfile1.ts", - "./commonfile2.ts", - "../lib/lib.d.ts" - ], "latestChangedDtsFile": "./commonFile2.d.ts" }, "version": "FakeTSVersion", - "size": 953 + "size": 897 } //// [/a/b/other.js] @@ -197,7 +191,7 @@ declare let z: number; //// [/a/b/project2.tsconfig.tsbuildinfo] -{"program":{"fileNames":["../lib/lib.d.ts","./other.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"2874288940-let z = 0;","signature":"-1272633924-declare let z: number;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"options":{"composite":true,"strict":true},"referencedMap":[],"semanticDiagnosticsPerFile":[2,1],"latestChangedDtsFile":"./other.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../lib/lib.d.ts","./other.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"2874288940-let z = 0;","signature":"-1272633924-declare let z: number;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"options":{"composite":true,"strict":true},"latestChangedDtsFile":"./other.d.ts"},"version":"FakeTSVersion"} //// [/a/b/project2.tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -241,15 +235,10 @@ declare let z: number; "composite": true, "strict": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "./other.ts", - "../lib/lib.d.ts" - ], "latestChangedDtsFile": "./other.d.ts" }, "version": "FakeTSVersion", - "size": 792 + "size": 738 } @@ -351,6 +340,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tsbuildWatch/programUpdates/works-when-noUnusedParameters-changes-to-false.js b/tests/baselines/reference/tsbuildWatch/programUpdates/works-when-noUnusedParameters-changes-to-false.js index 069b194e28f33..29ddcbdb8d273 100644 --- a/tests/baselines/reference/tsbuildWatch/programUpdates/works-when-noUnusedParameters-changes-to-false.js +++ b/tests/baselines/reference/tsbuildWatch/programUpdates/works-when-noUnusedParameters-changes-to-false.js @@ -105,6 +105,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tsbuildWatch/programUpdates/works-with-extended-source-files.js b/tests/baselines/reference/tsbuildWatch/programUpdates/works-with-extended-source-files.js index 3fbe56ab35b3d..9eeae022a2df3 100644 --- a/tests/baselines/reference/tsbuildWatch/programUpdates/works-with-extended-source-files.js +++ b/tests/baselines/reference/tsbuildWatch/programUpdates/works-with-extended-source-files.js @@ -136,7 +136,7 @@ declare let y: number; //// [/a/b/project1.tsconfig.tsbuildinfo] -{"program":{"fileNames":["../lib/lib.d.ts","./commonfile1.ts","./commonfile2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"2167136208-let x = 1","signature":"2842409786-declare let x: number;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"2168322129-let y = 1","signature":"784887931-declare let y: number;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[2,3,1],"latestChangedDtsFile":"./commonFile2.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../lib/lib.d.ts","./commonfile1.ts","./commonfile2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"2167136208-let x = 1","signature":"2842409786-declare let x: number;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"2168322129-let y = 1","signature":"784887931-declare let y: number;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3],"options":{"composite":true},"latestChangedDtsFile":"./commonFile2.d.ts"},"version":"FakeTSVersion"} //// [/a/b/project1.tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -196,16 +196,10 @@ declare let y: number; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "./commonfile1.ts", - "./commonfile2.ts", - "../lib/lib.d.ts" - ], "latestChangedDtsFile": "./commonFile2.d.ts" }, "version": "FakeTSVersion", - "size": 939 + "size": 883 } //// [/a/b/other.js] @@ -217,7 +211,7 @@ declare let z: number; //// [/a/b/project2.tsconfig.tsbuildinfo] -{"program":{"fileNames":["../lib/lib.d.ts","./other.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"2874288940-let z = 0;","signature":"-1272633924-declare let z: number;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[2,1],"latestChangedDtsFile":"./other.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../lib/lib.d.ts","./other.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"2874288940-let z = 0;","signature":"-1272633924-declare let z: number;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./other.d.ts"},"version":"FakeTSVersion"} //// [/a/b/project2.tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -260,15 +254,10 @@ declare let z: number; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "./other.ts", - "../lib/lib.d.ts" - ], "latestChangedDtsFile": "./other.d.ts" }, "version": "FakeTSVersion", - "size": 778 + "size": 724 } //// [/a/b/other2.js] @@ -400,6 +389,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 1 Output:: >> Screen clear @@ -422,7 +412,7 @@ var y = 1; //// [/a/b/project1.tsconfig.tsbuildinfo] -{"program":{"fileNames":["../lib/lib.d.ts","./commonfile1.ts","./commonfile2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"2167136208-let x = 1","signature":"2842409786-declare let x: number;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"2168322129-let y = 1","signature":"784887931-declare let y: number;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3],"options":{"composite":true,"strict":true},"referencedMap":[],"semanticDiagnosticsPerFile":[2,3,1],"latestChangedDtsFile":"./commonFile2.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../lib/lib.d.ts","./commonfile1.ts","./commonfile2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"2167136208-let x = 1","signature":"2842409786-declare let x: number;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"2168322129-let y = 1","signature":"784887931-declare let y: number;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3],"options":{"composite":true,"strict":true},"latestChangedDtsFile":"./commonFile2.d.ts"},"version":"FakeTSVersion"} //// [/a/b/project1.tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -483,16 +473,10 @@ var y = 1; "composite": true, "strict": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "./commonfile1.ts", - "./commonfile2.ts", - "../lib/lib.d.ts" - ], "latestChangedDtsFile": "./commonFile2.d.ts" }, "version": "FakeTSVersion", - "size": 953 + "size": 897 } @@ -532,6 +516,7 @@ Input:: Before running Timeout callback:: count: 1 3: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: [HH:MM:SS AM] Project 'project2.tsconfig.json' is out of date because output 'project2.tsconfig.tsbuildinfo' is older than input 'alpha.tsconfig.json' @@ -548,7 +533,7 @@ var z = 0; //// [/a/b/project2.tsconfig.tsbuildinfo] -{"program":{"fileNames":["../lib/lib.d.ts","./other.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"2874288940-let z = 0;","signature":"-1272633924-declare let z: number;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"options":{"composite":true,"strict":true},"referencedMap":[],"semanticDiagnosticsPerFile":[2,1],"latestChangedDtsFile":"./other.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../lib/lib.d.ts","./other.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"2874288940-let z = 0;","signature":"-1272633924-declare let z: number;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"options":{"composite":true,"strict":true},"latestChangedDtsFile":"./other.d.ts"},"version":"FakeTSVersion"} //// [/a/b/project2.tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -592,15 +577,10 @@ var z = 0; "composite": true, "strict": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "./other.ts", - "../lib/lib.d.ts" - ], "latestChangedDtsFile": "./other.d.ts" }, "version": "FakeTSVersion", - "size": 792 + "size": 738 } @@ -645,6 +625,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 4: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -663,7 +644,7 @@ var z = 0; //// [/a/b/project2.tsconfig.tsbuildinfo] -{"program":{"fileNames":["../lib/lib.d.ts","./other.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"2874288940-let z = 0;","signature":"-1272633924-declare let z: number;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"options":{"composite":true,"strict":false},"referencedMap":[],"semanticDiagnosticsPerFile":[2,1],"latestChangedDtsFile":"./other.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../lib/lib.d.ts","./other.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"2874288940-let z = 0;","signature":"-1272633924-declare let z: number;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"options":{"composite":true,"strict":false},"latestChangedDtsFile":"./other.d.ts"},"version":"FakeTSVersion"} //// [/a/b/project2.tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -707,15 +688,10 @@ var z = 0; "composite": true, "strict": false }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "./other.ts", - "../lib/lib.d.ts" - ], "latestChangedDtsFile": "./other.d.ts" }, "version": "FakeTSVersion", - "size": 793 + "size": 739 } @@ -757,6 +733,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 5: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -873,6 +850,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 7: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 1 Output:: >> Screen clear @@ -893,7 +871,7 @@ var y = 1; //// [/a/b/project1.tsconfig.tsbuildinfo] -{"program":{"fileNames":["../lib/lib.d.ts","./commonfile1.ts","./commonfile2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"2167136208-let x = 1","signature":"2842409786-declare let x: number;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"2168322129-let y = 1","signature":"784887931-declare let y: number;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[2,3,1],"latestChangedDtsFile":"./commonFile2.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../lib/lib.d.ts","./commonfile1.ts","./commonfile2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"2167136208-let x = 1","signature":"2842409786-declare let x: number;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"2168322129-let y = 1","signature":"784887931-declare let y: number;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3],"options":{"composite":true},"latestChangedDtsFile":"./commonFile2.d.ts"},"version":"FakeTSVersion"} //// [/a/b/project1.tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -953,16 +931,10 @@ var y = 1; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "./commonfile1.ts", - "./commonfile2.ts", - "../lib/lib.d.ts" - ], "latestChangedDtsFile": "./commonFile2.d.ts" }, "version": "FakeTSVersion", - "size": 939 + "size": 883 } @@ -1001,6 +973,7 @@ Input:: Before running Timeout callback:: count: 1 8: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: [HH:MM:SS AM] Project 'project2.tsconfig.json' is out of date because output 'commonFile1.js' is older than input 'alpha.tsconfig.json' @@ -1069,6 +1042,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 9: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -1134,6 +1108,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 10: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -1225,6 +1200,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 11: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tsbuildWatch/projectsBuilding/when-there-are-23-projects-in-a-solution.js b/tests/baselines/reference/tsbuildWatch/projectsBuilding/when-there-are-23-projects-in-a-solution.js index dbce9a742ad36..96eb06c229c41 100644 --- a/tests/baselines/reference/tsbuildWatch/projectsBuilding/when-there-are-23-projects-in-a-solution.js +++ b/tests/baselines/reference/tsbuildWatch/projectsBuilding/when-there-are-23-projects-in-a-solution.js @@ -569,7 +569,7 @@ export declare const pkg0 = 0; //// [/user/username/projects/myproject/pkg0/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10197922616-export const pkg0 = 0;","signature":"-4821832606-export declare const pkg0 = 0;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10197922616-export const pkg0 = 0;","signature":"-4821832606-export declare const pkg0 = 0;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/pkg0/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -610,15 +610,10 @@ export declare const pkg0 = 0; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 788 + "size": 734 } //// [/user/username/projects/myproject/pkg1/index.js] @@ -633,7 +628,7 @@ export declare const pkg1 = 1; //// [/user/username/projects/myproject/pkg1/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10158787190-export const pkg1 = 1;","signature":"-3530363548-export declare const pkg1 = 1;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10158787190-export const pkg1 = 1;","signature":"-3530363548-export declare const pkg1 = 1;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/pkg1/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -674,15 +669,10 @@ export declare const pkg1 = 1; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 788 + "size": 734 } //// [/user/username/projects/myproject/pkg2/index.js] @@ -697,7 +687,7 @@ export declare const pkg2 = 2; //// [/user/username/projects/myproject/pkg2/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14414619060-export const pkg2 = 2;","signature":"-6533861786-export declare const pkg2 = 2;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14414619060-export const pkg2 = 2;","signature":"-6533861786-export declare const pkg2 = 2;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/pkg2/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -738,15 +728,10 @@ export declare const pkg2 = 2; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 788 + "size": 734 } //// [/user/username/projects/myproject/pkg3/index.js] @@ -761,7 +746,7 @@ export declare const pkg3 = 3; //// [/user/username/projects/myproject/pkg3/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14375483634-export const pkg3 = 3;","signature":"-5242392728-export declare const pkg3 = 3;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14375483634-export const pkg3 = 3;","signature":"-5242392728-export declare const pkg3 = 3;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/pkg3/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -802,15 +787,10 @@ export declare const pkg3 = 3; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 788 + "size": 734 } //// [/user/username/projects/myproject/pkg4/index.js] @@ -825,7 +805,7 @@ export declare const pkg4 = 4; //// [/user/username/projects/myproject/pkg4/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14336348208-export const pkg4 = 4;","signature":"-3950923670-export declare const pkg4 = 4;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14336348208-export const pkg4 = 4;","signature":"-3950923670-export declare const pkg4 = 4;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/pkg4/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -866,15 +846,10 @@ export declare const pkg4 = 4; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 788 + "size": 734 } //// [/user/username/projects/myproject/pkg5/index.js] @@ -889,7 +864,7 @@ export declare const pkg5 = 5; //// [/user/username/projects/myproject/pkg5/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14297212782-export const pkg5 = 5;","signature":"-2659454612-export declare const pkg5 = 5;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14297212782-export const pkg5 = 5;","signature":"-2659454612-export declare const pkg5 = 5;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/pkg5/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -930,15 +905,10 @@ export declare const pkg5 = 5; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 788 + "size": 734 } //// [/user/username/projects/myproject/pkg6/index.js] @@ -953,7 +923,7 @@ export declare const pkg6 = 6; //// [/user/username/projects/myproject/pkg6/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14258077356-export const pkg6 = 6;","signature":"-5662952850-export declare const pkg6 = 6;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14258077356-export const pkg6 = 6;","signature":"-5662952850-export declare const pkg6 = 6;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/pkg6/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -994,15 +964,10 @@ export declare const pkg6 = 6; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 788 + "size": 734 } //// [/user/username/projects/myproject/pkg7/index.js] @@ -1017,7 +982,7 @@ export declare const pkg7 = 7; //// [/user/username/projects/myproject/pkg7/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14218941930-export const pkg7 = 7;","signature":"-4371483792-export declare const pkg7 = 7;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14218941930-export const pkg7 = 7;","signature":"-4371483792-export declare const pkg7 = 7;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/pkg7/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1058,15 +1023,10 @@ export declare const pkg7 = 7; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 788 + "size": 734 } //// [/user/username/projects/myproject/pkg8/index.js] @@ -1081,7 +1041,7 @@ export declare const pkg8 = 8; //// [/user/username/projects/myproject/pkg8/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14179806504-export const pkg8 = 8;","signature":"-3080014734-export declare const pkg8 = 8;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14179806504-export const pkg8 = 8;","signature":"-3080014734-export declare const pkg8 = 8;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/pkg8/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1122,15 +1082,10 @@ export declare const pkg8 = 8; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 788 + "size": 734 } //// [/user/username/projects/myproject/pkg9/index.js] @@ -1145,7 +1100,7 @@ export declare const pkg9 = 9; //// [/user/username/projects/myproject/pkg9/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14140671078-export const pkg9 = 9;","signature":"-6083512972-export declare const pkg9 = 9;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14140671078-export const pkg9 = 9;","signature":"-6083512972-export declare const pkg9 = 9;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/pkg9/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1186,15 +1141,10 @@ export declare const pkg9 = 9; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 788 + "size": 734 } //// [/user/username/projects/myproject/pkg10/index.js] @@ -1209,7 +1159,7 @@ export declare const pkg10 = 10; //// [/user/username/projects/myproject/pkg10/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-9585933846-export const pkg10 = 10;","signature":"-3553269308-export declare const pkg10 = 10;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-9585933846-export const pkg10 = 10;","signature":"-3553269308-export declare const pkg10 = 10;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/pkg10/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1250,15 +1200,10 @@ export declare const pkg10 = 10; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 791 + "size": 737 } //// [/user/username/projects/myproject/pkg11/index.js] @@ -1273,7 +1218,7 @@ export declare const pkg11 = 11; //// [/user/username/projects/myproject/pkg11/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8294465844-export const pkg11 = 11;","signature":"410469094-export declare const pkg11 = 11;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8294465844-export const pkg11 = 11;","signature":"410469094-export declare const pkg11 = 11;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/pkg11/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1314,15 +1259,10 @@ export declare const pkg11 = 11; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 789 + "size": 735 } //// [/user/username/projects/myproject/pkg12/index.js] @@ -1337,7 +1277,7 @@ export declare const pkg12 = 12; //// [/user/username/projects/myproject/pkg12/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7002997842-export const pkg12 = 12;","signature":"-4215727096-export declare const pkg12 = 12;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7002997842-export const pkg12 = 12;","signature":"-4215727096-export declare const pkg12 = 12;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/pkg12/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1378,15 +1318,10 @@ export declare const pkg12 = 12; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 791 + "size": 737 } //// [/user/username/projects/myproject/pkg13/index.js] @@ -1401,7 +1336,7 @@ export declare const pkg13 = 13; //// [/user/username/projects/myproject/pkg13/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10006497136-export const pkg13 = 13;","signature":"-4546955990-export declare const pkg13 = 13;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10006497136-export const pkg13 = 13;","signature":"-4546955990-export declare const pkg13 = 13;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/pkg13/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1442,15 +1377,10 @@ export declare const pkg13 = 13; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 792 + "size": 738 } //// [/user/username/projects/myproject/pkg14/index.js] @@ -1465,7 +1395,7 @@ export declare const pkg14 = 14; //// [/user/username/projects/myproject/pkg14/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8715029134-export const pkg14 = 14;","signature":"-583217588-export declare const pkg14 = 14;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8715029134-export const pkg14 = 14;","signature":"-583217588-export declare const pkg14 = 14;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/pkg14/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1506,15 +1436,10 @@ export declare const pkg14 = 14; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 790 + "size": 736 } //// [/user/username/projects/myproject/pkg15/index.js] @@ -1529,7 +1454,7 @@ export declare const pkg15 = 15; //// [/user/username/projects/myproject/pkg15/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7423561132-export const pkg15 = 15;","signature":"-5209413778-export declare const pkg15 = 15;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7423561132-export const pkg15 = 15;","signature":"-5209413778-export declare const pkg15 = 15;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/pkg15/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1570,15 +1495,10 @@ export declare const pkg15 = 15; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 791 + "size": 737 } //// [/user/username/projects/myproject/pkg16/index.js] @@ -1593,7 +1513,7 @@ export declare const pkg16 = 16; //// [/user/username/projects/myproject/pkg16/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-6132093130-export const pkg16 = 16;","signature":"-1245675376-export declare const pkg16 = 16;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-6132093130-export const pkg16 = 16;","signature":"-1245675376-export declare const pkg16 = 16;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/pkg16/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1634,15 +1554,10 @@ export declare const pkg16 = 16; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 791 + "size": 737 } //// [/user/username/projects/myproject/pkg17/index.js] @@ -1657,7 +1572,7 @@ export declare const pkg17 = 17; //// [/user/username/projects/myproject/pkg17/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-17725527016-export const pkg17 = 17;","signature":"-1576904270-export declare const pkg17 = 17;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-17725527016-export const pkg17 = 17;","signature":"-1576904270-export declare const pkg17 = 17;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/pkg17/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1698,15 +1613,10 @@ export declare const pkg17 = 17; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 792 + "size": 738 } //// [/user/username/projects/myproject/pkg18/index.js] @@ -1721,7 +1631,7 @@ export declare const pkg18 = 18; //// [/user/username/projects/myproject/pkg18/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-16434059014-export const pkg18 = 18;","signature":"-1908133164-export declare const pkg18 = 18;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-16434059014-export const pkg18 = 18;","signature":"-1908133164-export declare const pkg18 = 18;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/pkg18/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1762,15 +1672,10 @@ export declare const pkg18 = 18; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 792 + "size": 738 } //// [/user/username/projects/myproject/pkg19/index.js] @@ -1785,7 +1690,7 @@ export declare const pkg19 = 19; //// [/user/username/projects/myproject/pkg19/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-15142591012-export const pkg19 = 19;","signature":"-2239362058-export declare const pkg19 = 19;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-15142591012-export const pkg19 = 19;","signature":"-2239362058-export declare const pkg19 = 19;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/pkg19/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1826,15 +1731,10 @@ export declare const pkg19 = 19; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 792 + "size": 738 } //// [/user/username/projects/myproject/pkg20/index.js] @@ -1849,7 +1749,7 @@ export declare const pkg20 = 20; //// [/user/username/projects/myproject/pkg20/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14212130036-export const pkg20 = 20;","signature":"-5893888218-export declare const pkg20 = 20;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14212130036-export const pkg20 = 20;","signature":"-5893888218-export declare const pkg20 = 20;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/pkg20/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1890,15 +1790,10 @@ export declare const pkg20 = 20; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 792 + "size": 738 } //// [/user/username/projects/myproject/pkg21/index.js] @@ -1913,7 +1808,7 @@ export declare const pkg21 = 21; //// [/user/username/projects/myproject/pkg21/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-17215629330-export const pkg21 = 21;","signature":"-6225117112-export declare const pkg21 = 21;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-17215629330-export const pkg21 = 21;","signature":"-6225117112-export declare const pkg21 = 21;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/pkg21/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1954,15 +1849,10 @@ export declare const pkg21 = 21; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 792 + "size": 738 } //// [/user/username/projects/myproject/pkg22/index.js] @@ -1977,7 +1867,7 @@ export declare const pkg22 = 22; //// [/user/username/projects/myproject/pkg22/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-15924161328-export const pkg22 = 22;","signature":"-6556346006-export declare const pkg22 = 22;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-15924161328-export const pkg22 = 22;","signature":"-6556346006-export declare const pkg22 = 22;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/pkg22/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -2018,15 +1908,10 @@ export declare const pkg22 = 22; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 792 + "size": 738 } @@ -2734,6 +2619,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -2844,7 +2730,7 @@ var someConst2 = 10; //// [/user/username/projects/myproject/pkg0/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7839887915-export const pkg0 = 0;const someConst2 = 10;","signature":"-4821832606-export declare const pkg0 = 0;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7839887915-export const pkg0 = 0;const someConst2 = 10;","signature":"-4821832606-export declare const pkg0 = 0;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/pkg0/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -2885,15 +2771,10 @@ var someConst2 = 10; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 809 + "size": 755 } //// [/user/username/projects/myproject/pkg1/tsconfig.tsbuildinfo] file changed its modified time @@ -2961,6 +2842,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 1 Output:: >> Screen clear @@ -2987,7 +2869,7 @@ export declare const someConst = 10; //// [/user/username/projects/myproject/pkg0/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"1748855762-export const pkg0 = 0;const someConst2 = 10;export const someConst = 10;","signature":"-6216230055-export declare const pkg0 = 0;\nexport declare const someConst = 10;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"1748855762-export const pkg0 = 0;const someConst2 = 10;export const someConst = 10;","signature":"-6216230055-export declare const pkg0 = 0;\nexport declare const someConst = 10;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/pkg0/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -3028,15 +2910,10 @@ export declare const someConst = 10; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 874 + "size": 820 } @@ -3072,6 +2949,7 @@ Input:: Before running Timeout callback:: count: 1 3: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 1 Output:: [HH:MM:SS AM] Project 'pkg1/tsconfig.json' is out of date because output 'pkg1/index.js' is older than input 'pkg0/tsconfig.json' @@ -3210,6 +3088,7 @@ Input:: Before running Timeout callback:: count: 1 4: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 1 Output:: [HH:MM:SS AM] Project 'pkg6/tsconfig.json' is out of date because output 'pkg6/index.js' is older than input 'pkg0/tsconfig.json' @@ -3348,6 +3227,7 @@ Input:: Before running Timeout callback:: count: 1 5: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 1 Output:: [HH:MM:SS AM] Project 'pkg11/tsconfig.json' is out of date because output 'pkg11/index.js' is older than input 'pkg0/tsconfig.json' @@ -3486,6 +3366,7 @@ Input:: Before running Timeout callback:: count: 1 6: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 1 Output:: [HH:MM:SS AM] Project 'pkg16/tsconfig.json' is out of date because output 'pkg16/index.js' is older than input 'pkg0/tsconfig.json' @@ -3624,6 +3505,7 @@ Input:: Before running Timeout callback:: count: 1 7: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: [HH:MM:SS AM] Project 'pkg21/tsconfig.json' is out of date because output 'pkg21/index.js' is older than input 'pkg0/tsconfig.json' @@ -3702,6 +3584,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 8: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 1 Output:: >> Screen clear @@ -3730,7 +3613,7 @@ export declare const someConst3 = 10; //// [/user/username/projects/myproject/pkg0/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"10857255042-export const pkg0 = 0;const someConst2 = 10;export const someConst = 10;export const someConst3 = 10;","signature":"-13679921373-export declare const pkg0 = 0;\nexport declare const someConst = 10;\nexport declare const someConst3 = 10;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"10857255042-export const pkg0 = 0;const someConst2 = 10;export const someConst = 10;export const someConst3 = 10;","signature":"-13679921373-export declare const pkg0 = 0;\nexport declare const someConst = 10;\nexport declare const someConst3 = 10;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/pkg0/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -3771,15 +3654,10 @@ export declare const someConst3 = 10; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 944 + "size": 890 } @@ -3815,6 +3693,7 @@ Input:: Before running Timeout callback:: count: 1 9: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 1 Output:: [HH:MM:SS AM] Project 'pkg1/tsconfig.json' is out of date because output 'pkg1/index.js' is older than input 'pkg0/tsconfig.json' @@ -3953,6 +3832,7 @@ Input:: Before running Timeout callback:: count: 1 10: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 1 Output:: [HH:MM:SS AM] Project 'pkg6/tsconfig.json' is out of date because output 'pkg6/index.js' is older than input 'pkg0/tsconfig.json' @@ -4098,6 +3978,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 12: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 1 Output:: >> Screen clear @@ -4161,7 +4042,7 @@ var someConst4 = 10; //// [/user/username/projects/myproject/pkg0/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"27277091473-export const pkg0 = 0;const someConst2 = 10;export const someConst = 10;export const someConst3 = 10;const someConst4 = 10;","signature":"-13679921373-export declare const pkg0 = 0;\nexport declare const someConst = 10;\nexport declare const someConst3 = 10;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"27277091473-export const pkg0 = 0;const someConst2 = 10;export const someConst = 10;export const someConst3 = 10;const someConst4 = 10;","signature":"-13679921373-export declare const pkg0 = 0;\nexport declare const someConst = 10;\nexport declare const someConst3 = 10;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/pkg0/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -4202,15 +4083,10 @@ var someConst4 = 10; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 966 + "size": 912 } //// [/user/username/projects/myproject/pkg1/tsconfig.tsbuildinfo] file changed its modified time @@ -4256,6 +4132,7 @@ Input:: Before running Timeout callback:: count: 1 13: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 1 Output:: [HH:MM:SS AM] Project 'pkg11/tsconfig.json' is out of date because output 'pkg11/index.js' is older than input 'pkg0/tsconfig.json' @@ -4401,6 +4278,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 15: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 1 Output:: >> Screen clear @@ -4432,7 +4310,7 @@ export declare const someConst5 = 10; //// [/user/username/projects/myproject/pkg0/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"14710086947-export const pkg0 = 0;const someConst2 = 10;export const someConst = 10;export const someConst3 = 10;const someConst4 = 10;export const someConst5 = 10;","signature":"4956132399-export declare const pkg0 = 0;\nexport declare const someConst = 10;\nexport declare const someConst3 = 10;\nexport declare const someConst5 = 10;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"14710086947-export const pkg0 = 0;const someConst2 = 10;export const someConst = 10;export const someConst3 = 10;const someConst4 = 10;export const someConst5 = 10;","signature":"4956132399-export declare const pkg0 = 0;\nexport declare const someConst = 10;\nexport declare const someConst3 = 10;\nexport declare const someConst5 = 10;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/pkg0/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -4473,15 +4351,10 @@ export declare const someConst5 = 10; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1032 + "size": 978 } @@ -4517,6 +4390,7 @@ Input:: Before running Timeout callback:: count: 1 16: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 1 Output:: [HH:MM:SS AM] Project 'pkg1/tsconfig.json' is out of date because output 'pkg1/index.js' is older than input 'pkg0/tsconfig.json' @@ -4655,6 +4529,7 @@ Input:: Before running Timeout callback:: count: 1 17: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 1 Output:: [HH:MM:SS AM] Project 'pkg6/tsconfig.json' is out of date because output 'pkg6/index.js' is older than input 'pkg0/tsconfig.json' @@ -4793,6 +4668,7 @@ Input:: Before running Timeout callback:: count: 1 18: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 1 Output:: [HH:MM:SS AM] Project 'pkg11/tsconfig.json' is out of date because output 'pkg11/index.js' is older than input 'pkg0/tsconfig.json' @@ -4931,6 +4807,7 @@ Input:: Before running Timeout callback:: count: 1 19: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 1 Output:: [HH:MM:SS AM] Project 'pkg16/tsconfig.json' is out of date because output 'pkg16/index.js' is older than input 'pkg0/tsconfig.json' @@ -5069,6 +4946,7 @@ Input:: Before running Timeout callback:: count: 1 20: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: [HH:MM:SS AM] Project 'pkg21/tsconfig.json' is out of date because output 'pkg21/index.js' is older than input 'pkg0/tsconfig.json' diff --git a/tests/baselines/reference/tsbuildWatch/projectsBuilding/when-there-are-3-projects-in-a-solution.js b/tests/baselines/reference/tsbuildWatch/projectsBuilding/when-there-are-3-projects-in-a-solution.js index 36dd5d973de0d..8aa9ec488a996 100644 --- a/tests/baselines/reference/tsbuildWatch/projectsBuilding/when-there-are-3-projects-in-a-solution.js +++ b/tests/baselines/reference/tsbuildWatch/projectsBuilding/when-there-are-3-projects-in-a-solution.js @@ -109,7 +109,7 @@ export declare const pkg0 = 0; //// [/user/username/projects/myproject/pkg0/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10197922616-export const pkg0 = 0;","signature":"-4821832606-export declare const pkg0 = 0;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10197922616-export const pkg0 = 0;","signature":"-4821832606-export declare const pkg0 = 0;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/pkg0/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -150,15 +150,10 @@ export declare const pkg0 = 0; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 788 + "size": 734 } //// [/user/username/projects/myproject/pkg1/index.js] @@ -173,7 +168,7 @@ export declare const pkg1 = 1; //// [/user/username/projects/myproject/pkg1/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10158787190-export const pkg1 = 1;","signature":"-3530363548-export declare const pkg1 = 1;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10158787190-export const pkg1 = 1;","signature":"-3530363548-export declare const pkg1 = 1;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/pkg1/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -214,15 +209,10 @@ export declare const pkg1 = 1; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 788 + "size": 734 } //// [/user/username/projects/myproject/pkg2/index.js] @@ -237,7 +227,7 @@ export declare const pkg2 = 2; //// [/user/username/projects/myproject/pkg2/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14414619060-export const pkg2 = 2;","signature":"-6533861786-export declare const pkg2 = 2;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14414619060-export const pkg2 = 2;","signature":"-6533861786-export declare const pkg2 = 2;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/pkg2/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -278,15 +268,10 @@ export declare const pkg2 = 2; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 788 + "size": 734 } @@ -414,6 +399,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -444,7 +430,7 @@ var someConst2 = 10; //// [/user/username/projects/myproject/pkg0/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7839887915-export const pkg0 = 0;const someConst2 = 10;","signature":"-4821832606-export declare const pkg0 = 0;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7839887915-export const pkg0 = 0;const someConst2 = 10;","signature":"-4821832606-export declare const pkg0 = 0;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/pkg0/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -485,15 +471,10 @@ var someConst2 = 10; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 809 + "size": 755 } //// [/user/username/projects/myproject/pkg1/tsconfig.tsbuildinfo] file changed its modified time @@ -541,6 +522,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 1 Output:: >> Screen clear @@ -567,7 +549,7 @@ export declare const someConst = 10; //// [/user/username/projects/myproject/pkg0/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"1748855762-export const pkg0 = 0;const someConst2 = 10;export const someConst = 10;","signature":"-6216230055-export declare const pkg0 = 0;\nexport declare const someConst = 10;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"1748855762-export const pkg0 = 0;const someConst2 = 10;export const someConst = 10;","signature":"-6216230055-export declare const pkg0 = 0;\nexport declare const someConst = 10;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/pkg0/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -608,15 +590,10 @@ export declare const someConst = 10; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 874 + "size": 820 } @@ -652,6 +629,7 @@ Input:: Before running Timeout callback:: count: 1 3: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: [HH:MM:SS AM] Project 'pkg1/tsconfig.json' is out of date because output 'pkg1/index.js' is older than input 'pkg0/tsconfig.json' diff --git a/tests/baselines/reference/tsbuildWatch/projectsBuilding/when-there-are-5-projects-in-a-solution.js b/tests/baselines/reference/tsbuildWatch/projectsBuilding/when-there-are-5-projects-in-a-solution.js index 93e73b5a86907..990f85d68eebe 100644 --- a/tests/baselines/reference/tsbuildWatch/projectsBuilding/when-there-are-5-projects-in-a-solution.js +++ b/tests/baselines/reference/tsbuildWatch/projectsBuilding/when-there-are-5-projects-in-a-solution.js @@ -155,7 +155,7 @@ export declare const pkg0 = 0; //// [/user/username/projects/myproject/pkg0/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10197922616-export const pkg0 = 0;","signature":"-4821832606-export declare const pkg0 = 0;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10197922616-export const pkg0 = 0;","signature":"-4821832606-export declare const pkg0 = 0;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/pkg0/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -196,15 +196,10 @@ export declare const pkg0 = 0; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 788 + "size": 734 } //// [/user/username/projects/myproject/pkg1/index.js] @@ -219,7 +214,7 @@ export declare const pkg1 = 1; //// [/user/username/projects/myproject/pkg1/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10158787190-export const pkg1 = 1;","signature":"-3530363548-export declare const pkg1 = 1;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10158787190-export const pkg1 = 1;","signature":"-3530363548-export declare const pkg1 = 1;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/pkg1/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -260,15 +255,10 @@ export declare const pkg1 = 1; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 788 + "size": 734 } //// [/user/username/projects/myproject/pkg2/index.js] @@ -283,7 +273,7 @@ export declare const pkg2 = 2; //// [/user/username/projects/myproject/pkg2/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14414619060-export const pkg2 = 2;","signature":"-6533861786-export declare const pkg2 = 2;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14414619060-export const pkg2 = 2;","signature":"-6533861786-export declare const pkg2 = 2;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/pkg2/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -324,15 +314,10 @@ export declare const pkg2 = 2; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 788 + "size": 734 } //// [/user/username/projects/myproject/pkg3/index.js] @@ -347,7 +332,7 @@ export declare const pkg3 = 3; //// [/user/username/projects/myproject/pkg3/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14375483634-export const pkg3 = 3;","signature":"-5242392728-export declare const pkg3 = 3;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14375483634-export const pkg3 = 3;","signature":"-5242392728-export declare const pkg3 = 3;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/pkg3/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -388,15 +373,10 @@ export declare const pkg3 = 3; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 788 + "size": 734 } //// [/user/username/projects/myproject/pkg4/index.js] @@ -411,7 +391,7 @@ export declare const pkg4 = 4; //// [/user/username/projects/myproject/pkg4/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14336348208-export const pkg4 = 4;","signature":"-3950923670-export declare const pkg4 = 4;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14336348208-export const pkg4 = 4;","signature":"-3950923670-export declare const pkg4 = 4;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/pkg4/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -452,15 +432,10 @@ export declare const pkg4 = 4; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 788 + "size": 734 } @@ -646,6 +621,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -684,7 +660,7 @@ var someConst2 = 10; //// [/user/username/projects/myproject/pkg0/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7839887915-export const pkg0 = 0;const someConst2 = 10;","signature":"-4821832606-export declare const pkg0 = 0;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7839887915-export const pkg0 = 0;const someConst2 = 10;","signature":"-4821832606-export declare const pkg0 = 0;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/pkg0/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -725,15 +701,10 @@ var someConst2 = 10; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 809 + "size": 755 } //// [/user/username/projects/myproject/pkg1/tsconfig.tsbuildinfo] file changed its modified time @@ -783,6 +754,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 1 Output:: >> Screen clear @@ -809,7 +781,7 @@ export declare const someConst = 10; //// [/user/username/projects/myproject/pkg0/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"1748855762-export const pkg0 = 0;const someConst2 = 10;export const someConst = 10;","signature":"-6216230055-export declare const pkg0 = 0;\nexport declare const someConst = 10;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"1748855762-export const pkg0 = 0;const someConst2 = 10;export const someConst = 10;","signature":"-6216230055-export declare const pkg0 = 0;\nexport declare const someConst = 10;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/pkg0/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -850,15 +822,10 @@ export declare const someConst = 10; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 874 + "size": 820 } @@ -894,6 +861,7 @@ Input:: Before running Timeout callback:: count: 1 3: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: [HH:MM:SS AM] Project 'pkg1/tsconfig.json' is out of date because output 'pkg1/index.js' is older than input 'pkg0/tsconfig.json' diff --git a/tests/baselines/reference/tsbuildWatch/projectsBuilding/when-there-are-8-projects-in-a-solution.js b/tests/baselines/reference/tsbuildWatch/projectsBuilding/when-there-are-8-projects-in-a-solution.js index 3283c01fd0f65..057bf7940b9b4 100644 --- a/tests/baselines/reference/tsbuildWatch/projectsBuilding/when-there-are-8-projects-in-a-solution.js +++ b/tests/baselines/reference/tsbuildWatch/projectsBuilding/when-there-are-8-projects-in-a-solution.js @@ -224,7 +224,7 @@ export declare const pkg0 = 0; //// [/user/username/projects/myproject/pkg0/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10197922616-export const pkg0 = 0;","signature":"-4821832606-export declare const pkg0 = 0;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10197922616-export const pkg0 = 0;","signature":"-4821832606-export declare const pkg0 = 0;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/pkg0/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -265,15 +265,10 @@ export declare const pkg0 = 0; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 788 + "size": 734 } //// [/user/username/projects/myproject/pkg1/index.js] @@ -288,7 +283,7 @@ export declare const pkg1 = 1; //// [/user/username/projects/myproject/pkg1/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10158787190-export const pkg1 = 1;","signature":"-3530363548-export declare const pkg1 = 1;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10158787190-export const pkg1 = 1;","signature":"-3530363548-export declare const pkg1 = 1;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/pkg1/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -329,15 +324,10 @@ export declare const pkg1 = 1; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 788 + "size": 734 } //// [/user/username/projects/myproject/pkg2/index.js] @@ -352,7 +342,7 @@ export declare const pkg2 = 2; //// [/user/username/projects/myproject/pkg2/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14414619060-export const pkg2 = 2;","signature":"-6533861786-export declare const pkg2 = 2;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14414619060-export const pkg2 = 2;","signature":"-6533861786-export declare const pkg2 = 2;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/pkg2/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -393,15 +383,10 @@ export declare const pkg2 = 2; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 788 + "size": 734 } //// [/user/username/projects/myproject/pkg3/index.js] @@ -416,7 +401,7 @@ export declare const pkg3 = 3; //// [/user/username/projects/myproject/pkg3/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14375483634-export const pkg3 = 3;","signature":"-5242392728-export declare const pkg3 = 3;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14375483634-export const pkg3 = 3;","signature":"-5242392728-export declare const pkg3 = 3;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/pkg3/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -457,15 +442,10 @@ export declare const pkg3 = 3; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 788 + "size": 734 } //// [/user/username/projects/myproject/pkg4/index.js] @@ -480,7 +460,7 @@ export declare const pkg4 = 4; //// [/user/username/projects/myproject/pkg4/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14336348208-export const pkg4 = 4;","signature":"-3950923670-export declare const pkg4 = 4;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14336348208-export const pkg4 = 4;","signature":"-3950923670-export declare const pkg4 = 4;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/pkg4/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -521,15 +501,10 @@ export declare const pkg4 = 4; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 788 + "size": 734 } //// [/user/username/projects/myproject/pkg5/index.js] @@ -544,7 +519,7 @@ export declare const pkg5 = 5; //// [/user/username/projects/myproject/pkg5/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14297212782-export const pkg5 = 5;","signature":"-2659454612-export declare const pkg5 = 5;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14297212782-export const pkg5 = 5;","signature":"-2659454612-export declare const pkg5 = 5;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/pkg5/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -585,15 +560,10 @@ export declare const pkg5 = 5; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 788 + "size": 734 } //// [/user/username/projects/myproject/pkg6/index.js] @@ -608,7 +578,7 @@ export declare const pkg6 = 6; //// [/user/username/projects/myproject/pkg6/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14258077356-export const pkg6 = 6;","signature":"-5662952850-export declare const pkg6 = 6;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14258077356-export const pkg6 = 6;","signature":"-5662952850-export declare const pkg6 = 6;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/pkg6/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -649,15 +619,10 @@ export declare const pkg6 = 6; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 788 + "size": 734 } //// [/user/username/projects/myproject/pkg7/index.js] @@ -672,7 +637,7 @@ export declare const pkg7 = 7; //// [/user/username/projects/myproject/pkg7/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14218941930-export const pkg7 = 7;","signature":"-4371483792-export declare const pkg7 = 7;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14218941930-export const pkg7 = 7;","signature":"-4371483792-export declare const pkg7 = 7;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/pkg7/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -713,15 +678,10 @@ export declare const pkg7 = 7; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 788 + "size": 734 } @@ -994,6 +954,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -1044,7 +1005,7 @@ var someConst2 = 10; //// [/user/username/projects/myproject/pkg0/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7839887915-export const pkg0 = 0;const someConst2 = 10;","signature":"-4821832606-export declare const pkg0 = 0;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7839887915-export const pkg0 = 0;const someConst2 = 10;","signature":"-4821832606-export declare const pkg0 = 0;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/pkg0/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1085,15 +1046,10 @@ var someConst2 = 10; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 809 + "size": 755 } //// [/user/username/projects/myproject/pkg1/tsconfig.tsbuildinfo] file changed its modified time @@ -1146,6 +1102,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 1 Output:: >> Screen clear @@ -1172,7 +1129,7 @@ export declare const someConst = 10; //// [/user/username/projects/myproject/pkg0/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"1748855762-export const pkg0 = 0;const someConst2 = 10;export const someConst = 10;","signature":"-6216230055-export declare const pkg0 = 0;\nexport declare const someConst = 10;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"1748855762-export const pkg0 = 0;const someConst2 = 10;export const someConst = 10;","signature":"-6216230055-export declare const pkg0 = 0;\nexport declare const someConst = 10;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/pkg0/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1213,15 +1170,10 @@ export declare const someConst = 10; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 874 + "size": 820 } @@ -1257,6 +1209,7 @@ Input:: Before running Timeout callback:: count: 1 3: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 1 Output:: [HH:MM:SS AM] Project 'pkg1/tsconfig.json' is out of date because output 'pkg1/index.js' is older than input 'pkg0/tsconfig.json' @@ -1395,6 +1348,7 @@ Input:: Before running Timeout callback:: count: 1 4: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: [HH:MM:SS AM] Project 'pkg6/tsconfig.json' is out of date because output 'pkg6/index.js' is older than input 'pkg0/tsconfig.json' @@ -1473,6 +1427,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 5: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 1 Output:: >> Screen clear @@ -1501,7 +1456,7 @@ export declare const someConst3 = 10; //// [/user/username/projects/myproject/pkg0/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"10857255042-export const pkg0 = 0;const someConst2 = 10;export const someConst = 10;export const someConst3 = 10;","signature":"-13679921373-export declare const pkg0 = 0;\nexport declare const someConst = 10;\nexport declare const someConst3 = 10;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"10857255042-export const pkg0 = 0;const someConst2 = 10;export const someConst = 10;export const someConst3 = 10;","signature":"-13679921373-export declare const pkg0 = 0;\nexport declare const someConst = 10;\nexport declare const someConst3 = 10;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/pkg0/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1542,15 +1497,10 @@ export declare const someConst3 = 10; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 944 + "size": 890 } @@ -1586,6 +1536,7 @@ Input:: Before running Timeout callback:: count: 1 6: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 1 Output:: [HH:MM:SS AM] Project 'pkg1/tsconfig.json' is out of date because output 'pkg1/index.js' is older than input 'pkg0/tsconfig.json' @@ -1731,6 +1682,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 8: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 1 Output:: >> Screen clear @@ -1774,7 +1726,7 @@ var someConst4 = 10; //// [/user/username/projects/myproject/pkg0/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"27277091473-export const pkg0 = 0;const someConst2 = 10;export const someConst = 10;export const someConst3 = 10;const someConst4 = 10;","signature":"-13679921373-export declare const pkg0 = 0;\nexport declare const someConst = 10;\nexport declare const someConst3 = 10;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"27277091473-export const pkg0 = 0;const someConst2 = 10;export const someConst = 10;export const someConst3 = 10;const someConst4 = 10;","signature":"-13679921373-export declare const pkg0 = 0;\nexport declare const someConst = 10;\nexport declare const someConst3 = 10;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/pkg0/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1815,15 +1767,10 @@ var someConst4 = 10; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 966 + "size": 912 } //// [/user/username/projects/myproject/pkg1/tsconfig.tsbuildinfo] file changed its modified time @@ -1864,6 +1811,7 @@ Input:: Before running Timeout callback:: count: 1 9: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: [HH:MM:SS AM] Project 'pkg6/tsconfig.json' is out of date because output 'pkg6/index.js' is older than input 'pkg0/tsconfig.json' diff --git a/tests/baselines/reference/tsbuildWatch/publicApi/with-custom-transformers.js b/tests/baselines/reference/tsbuildWatch/publicApi/with-custom-transformers.js index 33f79912d25f5..f979fa27e5e21 100644 --- a/tests/baselines/reference/tsbuildWatch/publicApi/with-custom-transformers.js +++ b/tests/baselines/reference/tsbuildWatch/publicApi/with-custom-transformers.js @@ -113,7 +113,7 @@ export declare function f2(): void; //// [/user/username/projects/myproject/shared/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"8649344783-export function f1() { }\nexport class c { }\nexport enum e { }\n// leading\nexport function f2() { } // trailing","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"emitSignatures":[[2,"-9393727241-export declare function f1(): void;\nexport declare class c {\n}\nexport declare enum e {\n}\nexport declare function f2(): void;\n"]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"8649344783-export function f1() { }\nexport class c { }\nexport enum e { }\n// leading\nexport function f2() { } // trailing","impliedFormat":1}],"root":[2],"options":{"composite":true},"emitSignatures":[[2,"-9393727241-export declare function f1(): void;\nexport declare class c {\n}\nexport declare enum e {\n}\nexport declare function f2(): void;\n"]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/shared/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -153,11 +153,6 @@ export declare function f2(): void; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "emitSignatures": [ [ "./index.ts", @@ -167,7 +162,7 @@ export declare function f2(): void; "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 987 + "size": 933 } //// [/user/username/projects/myproject/webpack/index.js] @@ -204,7 +199,7 @@ export declare function f22(): void; //// [/user/username/projects/myproject/webpack/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"20140662566-export function f2() { }\nexport class c2 { }\nexport enum e2 { }\n// leading\nexport function f22() { } // trailing","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"emitSignatures":[[2,"-2037002130-export declare function f2(): void;\nexport declare class c2 {\n}\nexport declare enum e2 {\n}\nexport declare function f22(): void;\n"]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"20140662566-export function f2() { }\nexport class c2 { }\nexport enum e2 { }\n// leading\nexport function f22() { } // trailing","impliedFormat":1}],"root":[2],"options":{"composite":true},"emitSignatures":[[2,"-2037002130-export declare function f2(): void;\nexport declare class c2 {\n}\nexport declare enum e2 {\n}\nexport declare function f22(): void;\n"]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/webpack/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -244,11 +239,6 @@ export declare function f22(): void; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "emitSignatures": [ [ "./index.ts", @@ -258,7 +248,7 @@ export declare function f22(): void; "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 994 + "size": 940 } @@ -359,6 +349,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 1 Output:: >> Screen clear @@ -408,7 +399,7 @@ export declare function f2(): void; //// [/user/username/projects/myproject/shared/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"14127205977-export function fooBar() {}export function f1() { }\nexport class c { }\nexport enum e { }\n// leading\nexport function f2() { } // trailing","signature":"1966424426-export declare function fooBar(): void;\nexport declare function f1(): void;\nexport declare class c {\n}\nexport declare enum e {\n}\nexport declare function f2(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"14127205977-export function fooBar() {}export function f1() { }\nexport class c { }\nexport enum e { }\n// leading\nexport function f2() { } // trailing","signature":"1966424426-export declare function fooBar(): void;\nexport declare function f1(): void;\nexport declare class c {\n}\nexport declare enum e {\n}\nexport declare function f2(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/shared/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -449,15 +440,10 @@ export declare function f2(): void; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1044 + "size": 990 } @@ -467,6 +453,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: [HH:MM:SS AM] Project 'webpack/tsconfig.json' is out of date because output 'webpack/index.js' is older than input 'shared/tsconfig.json' diff --git a/tests/baselines/reference/tsbuildWatch/reexport/Reports-errors-correctly.js b/tests/baselines/reference/tsbuildWatch/reexport/Reports-errors-correctly.js index 8593078e4f1c4..2cec2538e14ef 100644 --- a/tests/baselines/reference/tsbuildWatch/reexport/Reports-errors-correctly.js +++ b/tests/baselines/reference/tsbuildWatch/reexport/Reports-errors-correctly.js @@ -135,7 +135,7 @@ export * from "./session"; //// [/user/username/projects/reexport/out/pure/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../../src/pure/session.ts","../../src/pure/index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"1782339311-export interface Session {\n foo: number;\n // bar: number;\n}\n","signature":"-1218067212-export interface Session {\n foo: number;\n}\n","impliedFormat":1},{"version":"-5356193041-export * from \"./session\";\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"..","rootDir":"../../src"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,3,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../../src/pure/session.ts","../../src/pure/index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"1782339311-export interface Session {\n foo: number;\n // bar: number;\n}\n","signature":"-1218067212-export interface Session {\n foo: number;\n}\n","impliedFormat":1},{"version":"-5356193041-export * from \"./session\";\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"..","rootDir":"../../src"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/reexport/out/pure/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -202,15 +202,10 @@ export * from "./session"; "../../src/pure/session.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "../../src/pure/index.ts", - "../../src/pure/session.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1115 + "size": 1078 } //// [/user/username/projects/reexport/out/main/index.js] @@ -343,6 +338,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 1 Output:: >> Screen clear @@ -364,7 +360,7 @@ export interface Session { //// [/user/username/projects/reexport/out/pure/index.js] file written with same contents //// [/user/username/projects/reexport/out/pure/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../../src/pure/session.ts","../../src/pure/index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"309257137-export interface Session {\n foo: number;\n bar: number;\n}\n","impliedFormat":1},{"version":"-5356193041-export * from \"./session\";\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"..","rootDir":"../../src"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,3,2],"latestChangedDtsFile":"./session.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../../src/pure/session.ts","../../src/pure/index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"309257137-export interface Session {\n foo: number;\n bar: number;\n}\n","impliedFormat":1},{"version":"-5356193041-export * from \"./session\";\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"..","rootDir":"../../src"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./session.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/reexport/out/pure/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -430,15 +426,10 @@ export interface Session { "../../src/pure/session.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "../../src/pure/index.ts", - "../../src/pure/session.ts" - ], "latestChangedDtsFile": "./session.d.ts" }, "version": "FakeTSVersion", - "size": 1037 + "size": 1000 } @@ -448,6 +439,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: [HH:MM:SS AM] Project 'src/main/tsconfig.json' is out of date because output 'out/main/index.js' is older than input 'src/pure/tsconfig.json' @@ -540,6 +532,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 1 Output:: >> Screen clear @@ -560,7 +553,7 @@ export interface Session { //// [/user/username/projects/reexport/out/pure/index.js] file written with same contents //// [/user/username/projects/reexport/out/pure/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../../src/pure/session.ts","../../src/pure/index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"1782339311-export interface Session {\n foo: number;\n // bar: number;\n}\n","signature":"-1218067212-export interface Session {\n foo: number;\n}\n","impliedFormat":1},{"version":"-5356193041-export * from \"./session\";\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"..","rootDir":"../../src"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,3,2],"latestChangedDtsFile":"./session.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../../src/pure/session.ts","../../src/pure/index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"1782339311-export interface Session {\n foo: number;\n // bar: number;\n}\n","signature":"-1218067212-export interface Session {\n foo: number;\n}\n","impliedFormat":1},{"version":"-5356193041-export * from \"./session\";\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"..","rootDir":"../../src"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./session.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/reexport/out/pure/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -627,15 +620,10 @@ export interface Session { "../../src/pure/session.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "../../src/pure/index.ts", - "../../src/pure/session.ts" - ], "latestChangedDtsFile": "./session.d.ts" }, "version": "FakeTSVersion", - "size": 1117 + "size": 1080 } @@ -645,6 +633,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 4: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: [HH:MM:SS AM] Failed to parse file 'src/main/tsconfig.json': Semantic errors. diff --git a/tests/baselines/reference/tsbuildWatch/roots/when-root-file-is-from-referenced-project-and-shared-is-first.js b/tests/baselines/reference/tsbuildWatch/roots/when-root-file-is-from-referenced-project-and-shared-is-first.js new file mode 100644 index 0000000000000..c33c596d92639 --- /dev/null +++ b/tests/baselines/reference/tsbuildWatch/roots/when-root-file-is-from-referenced-project-and-shared-is-first.js @@ -0,0 +1,1437 @@ +currentDirectory:: /home/src/workspaces useCaseSensitiveFileNames: false +Input:: +//// [/home/src/workspaces/tsconfig.json] +{ + "compilerOptions": { + "composite": true + }, + "references": [ + { + "path": "projects/server" + }, + { + "path": "projects/shared" + } + ] +} + +//// [/home/src/workspaces/projects/shared/src/myClass.ts] +export class MyClass { } + +//// [/home/src/workspaces/projects/shared/src/logging.ts] +export function log(str: string) { + console.log(str); +} + + +//// [/home/src/workspaces/projects/shared/src/random.ts] +export function randomFn(str: string) { + console.log(str); +} + + +//// [/home/src/workspaces/projects/shared/tsconfig.json] +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "./dist" + }, + "include": [ + "src/**/*.ts" + ] +} + +//// [/home/src/workspaces/projects/server/src/server.ts] +import { MyClass } from ':shared/myClass.js'; +console.log('Hello, world!'); + + +//// [/home/src/workspaces/projects/server/tsconfig.json] +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "baseUrl": "./src", + "rootDir": "..", + "outDir": "./dist", + "paths": { + ":shared/*": [ + "../../shared/src/*" + ] + } + }, + "include": [ + "../shared/src/**/*.ts", + "src/**/*.ts" + ], + "references": [ + { + "path": "../shared" + } + ] +} + +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + + +/a/lib/tsc.js --b projects/server -w -v --traceResolution --explainFiles +Output:: +>> Screen clear +[HH:MM:SS AM] Starting compilation in watch mode... + +[HH:MM:SS AM] Projects in this build: + * projects/shared/tsconfig.json + * projects/server/tsconfig.json + +[HH:MM:SS AM] Project 'projects/shared/tsconfig.json' is out of date because output file 'projects/shared/dist/tsconfig.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/home/src/workspaces/projects/shared/tsconfig.json'... + +File '/home/src/workspaces/projects/shared/src/package.json' does not exist. +File '/home/src/workspaces/projects/shared/package.json' does not exist. +File '/home/src/workspaces/projects/package.json' does not exist. +File '/home/src/workspaces/package.json' does not exist. +File '/home/src/package.json' does not exist. +File '/home/package.json' does not exist. +File '/package.json' does not exist. +File '/home/src/workspaces/projects/shared/src/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/src/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/a/lib/package.json' does not exist. +File '/a/package.json' does not exist. +File '/package.json' does not exist according to earlier cached lookups. +../../../a/lib/lib.d.ts + Default library for target 'es5' +projects/shared/src/logging.ts + Matched by include pattern 'src/**/*.ts' in 'projects/shared/tsconfig.json' +projects/shared/src/myClass.ts + Matched by include pattern 'src/**/*.ts' in 'projects/shared/tsconfig.json' +projects/shared/src/random.ts + Matched by include pattern 'src/**/*.ts' in 'projects/shared/tsconfig.json' +[HH:MM:SS AM] Project 'projects/server/tsconfig.json' is out of date because output file 'projects/server/dist/server/tsconfig.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/home/src/workspaces/projects/server/tsconfig.json'... + +File '/home/src/workspaces/projects/shared/dist/src/package.json' does not exist. +File '/home/src/workspaces/projects/shared/dist/package.json' does not exist. +File '/home/src/workspaces/projects/shared/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/dist/src/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/dist/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/dist/src/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/dist/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/server/src/package.json' does not exist. +File '/home/src/workspaces/projects/server/package.json' does not exist. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +======== Resolving module ':shared/myClass.js' from '/home/src/workspaces/projects/server/src/server.ts'. ======== +Module resolution kind is not specified, using 'Node10'. +'baseUrl' option is set to '/home/src/workspaces/projects/server/src', using this value to resolve non-relative module name ':shared/myClass.js'. +'paths' option is specified, looking for a pattern to match module name ':shared/myClass.js'. +Module name ':shared/myClass.js', matched pattern ':shared/*'. +Trying substitution '../../shared/src/*', candidate module location: '../../shared/src/myClass.js'. +Loading module as file / folder, candidate module location '/home/src/workspaces/projects/shared/src/myClass.js', target file types: TypeScript, Declaration. +File name '/home/src/workspaces/projects/shared/src/myClass.js' has a '.js' extension - stripping it. +File '/home/src/workspaces/projects/shared/src/myClass.ts' exists - use it as a name resolution result. +======== Module name ':shared/myClass.js' was successfully resolved to '/home/src/workspaces/projects/shared/src/myClass.ts'. ======== +File '/a/lib/package.json' does not exist according to earlier cached lookups. +File '/a/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +../../../a/lib/lib.d.ts + Default library for target 'es5' +projects/shared/dist/src/logging.d.ts + Matched by include pattern '../shared/src/**/*.ts' in 'projects/server/tsconfig.json' + File is output of project reference source 'projects/shared/src/logging.ts' +projects/shared/dist/src/myClass.d.ts + Matched by include pattern '../shared/src/**/*.ts' in 'projects/server/tsconfig.json' + Imported via ':shared/myClass.js' from file 'projects/server/src/server.ts' + File is output of project reference source 'projects/shared/src/myClass.ts' +projects/shared/dist/src/random.d.ts + Matched by include pattern '../shared/src/**/*.ts' in 'projects/server/tsconfig.json' + File is output of project reference source 'projects/shared/src/random.ts' +projects/server/src/server.ts + Matched by include pattern 'src/**/*.ts' in 'projects/server/tsconfig.json' +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + +//// [/home/src/workspaces/projects/shared/dist/src/logging.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.log = log; +function log(str) { + console.log(str); +} + + +//// [/home/src/workspaces/projects/shared/dist/src/logging.d.ts] +export declare function log(str: string): void; + + +//// [/home/src/workspaces/projects/shared/dist/src/myClass.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.MyClass = void 0; +var MyClass = /** @class */ (function () { + function MyClass() { + } + return MyClass; +}()); +exports.MyClass = MyClass; + + +//// [/home/src/workspaces/projects/shared/dist/src/myClass.d.ts] +export declare class MyClass { +} + + +//// [/home/src/workspaces/projects/shared/dist/src/random.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.randomFn = randomFn; +function randomFn(str) { + console.log(str); +} + + +//// [/home/src/workspaces/projects/shared/dist/src/random.d.ts] +export declare function randomFn(str: string): void; + + +//// [/home/src/workspaces/projects/shared/dist/tsconfig.tsbuildinfo] +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../src/logging.ts","../src/myclass.ts","../src/random.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-1222780632-export function log(str: string) {\n console.log(str);\n}\n","signature":"2292560907-export declare function log(str: string): void;\n","impliedFormat":1},{"version":"-10369713935-export class MyClass { }","signature":"-7943199723-export declare class MyClass {\n}\n","impliedFormat":1},{"version":"4380863035-export function randomFn(str: string) {\n console.log(str);\n}\n","signature":"-1751303682-export declare function randomFn(str: string): void;\n","impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"outDir":"./"},"latestChangedDtsFile":"./src/random.d.ts"},"version":"FakeTSVersion"} + +//// [/home/src/workspaces/projects/shared/dist/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../../../../a/lib/lib.d.ts", + "../src/logging.ts", + "../src/myclass.ts", + "../src/random.ts" + ], + "fileInfos": { + "../../../../../../a/lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "../src/logging.ts": { + "original": { + "version": "-1222780632-export function log(str: string) {\n console.log(str);\n}\n", + "signature": "2292560907-export declare function log(str: string): void;\n", + "impliedFormat": 1 + }, + "version": "-1222780632-export function log(str: string) {\n console.log(str);\n}\n", + "signature": "2292560907-export declare function log(str: string): void;\n", + "impliedFormat": "commonjs" + }, + "../src/myclass.ts": { + "original": { + "version": "-10369713935-export class MyClass { }", + "signature": "-7943199723-export declare class MyClass {\n}\n", + "impliedFormat": 1 + }, + "version": "-10369713935-export class MyClass { }", + "signature": "-7943199723-export declare class MyClass {\n}\n", + "impliedFormat": "commonjs" + }, + "../src/random.ts": { + "original": { + "version": "4380863035-export function randomFn(str: string) {\n console.log(str);\n}\n", + "signature": "-1751303682-export declare function randomFn(str: string): void;\n", + "impliedFormat": 1 + }, + "version": "4380863035-export function randomFn(str: string) {\n console.log(str);\n}\n", + "signature": "-1751303682-export declare function randomFn(str: string): void;\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 4 + ], + [ + "../src/logging.ts", + "../src/myclass.ts", + "../src/random.ts" + ] + ] + ], + "options": { + "composite": true, + "outDir": "./" + }, + "latestChangedDtsFile": "./src/random.d.ts" + }, + "version": "FakeTSVersion", + "size": 1265 +} + +//// [/home/src/workspaces/projects/server/dist/server/src/server.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +console.log('Hello, world!'); + + +//// [/home/src/workspaces/projects/server/dist/server/src/server.d.ts] +export {}; + + +//// [/home/src/workspaces/projects/server/dist/server/tsconfig.tsbuildinfo] +{"program":{"fileNames":["../../../../../../../a/lib/lib.d.ts","../../../shared/dist/src/logging.d.ts","../../../shared/dist/src/myclass.d.ts","../../../shared/dist/src/random.d.ts","../../src/server.ts","../../../shared/src/logging.ts","../../../shared/src/myclass.ts","../../../shared/src/random.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"2292560907-export declare function log(str: string): void;\n","impliedFormat":1},{"version":"-7943199723-export declare class MyClass {\n}\n","impliedFormat":1},{"version":"-1751303682-export declare function randomFn(str: string): void;\n","impliedFormat":1},{"version":"-19159694382-import { MyClass } from ':shared/myClass.js';\nconsole.log('Hello, world!');\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,5]],"resolvedRoot":[[2,6],[3,7],[4,8]],"options":{"composite":true,"outDir":"..","rootDir":"../../.."},"fileIdsList":[[3]],"referencedMap":[[5,1]],"latestChangedDtsFile":"./src/server.d.ts"},"version":"FakeTSVersion"} + +//// [/home/src/workspaces/projects/server/dist/server/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../../../../../a/lib/lib.d.ts", + "../../../shared/dist/src/logging.d.ts", + "../../../shared/dist/src/myclass.d.ts", + "../../../shared/dist/src/random.d.ts", + "../../src/server.ts", + "../../../shared/src/logging.ts", + "../../../shared/src/myclass.ts", + "../../../shared/src/random.ts" + ], + "fileNamesList": [ + [ + "../../../shared/dist/src/myclass.d.ts" + ] + ], + "fileInfos": { + "../../../../../../../a/lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "../../../shared/dist/src/logging.d.ts": { + "original": { + "version": "2292560907-export declare function log(str: string): void;\n", + "impliedFormat": 1 + }, + "version": "2292560907-export declare function log(str: string): void;\n", + "signature": "2292560907-export declare function log(str: string): void;\n", + "impliedFormat": "commonjs" + }, + "../../../shared/dist/src/myclass.d.ts": { + "original": { + "version": "-7943199723-export declare class MyClass {\n}\n", + "impliedFormat": 1 + }, + "version": "-7943199723-export declare class MyClass {\n}\n", + "signature": "-7943199723-export declare class MyClass {\n}\n", + "impliedFormat": "commonjs" + }, + "../../../shared/dist/src/random.d.ts": { + "original": { + "version": "-1751303682-export declare function randomFn(str: string): void;\n", + "impliedFormat": 1 + }, + "version": "-1751303682-export declare function randomFn(str: string): void;\n", + "signature": "-1751303682-export declare function randomFn(str: string): void;\n", + "impliedFormat": "commonjs" + }, + "../../src/server.ts": { + "original": { + "version": "-19159694382-import { MyClass } from ':shared/myClass.js';\nconsole.log('Hello, world!');\n", + "signature": "-3531856636-export {};\n", + "impliedFormat": 1 + }, + "version": "-19159694382-import { MyClass } from ':shared/myClass.js';\nconsole.log('Hello, world!');\n", + "signature": "-3531856636-export {};\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 5 + ], + [ + "../../../shared/dist/src/logging.d.ts", + "../../../shared/dist/src/myclass.d.ts", + "../../../shared/dist/src/random.d.ts", + "../../src/server.ts" + ] + ] + ], + "resolvedRoot": [ + [ + [ + 2, + 6 + ], + [ + "../../../shared/dist/src/logging.d.ts", + "../../../shared/src/logging.ts" + ] + ], + [ + [ + 3, + 7 + ], + [ + "../../../shared/dist/src/myclass.d.ts", + "../../../shared/src/myclass.ts" + ] + ], + [ + [ + 4, + 8 + ], + [ + "../../../shared/dist/src/random.d.ts", + "../../../shared/src/random.ts" + ] + ] + ], + "options": { + "composite": true, + "outDir": "..", + "rootDir": "../../.." + }, + "referencedMap": { + "../../src/server.ts": [ + "../../../shared/dist/src/myclass.d.ts" + ] + }, + "latestChangedDtsFile": "./src/server.d.ts" + }, + "version": "FakeTSVersion", + "size": 1477 +} + + +PolledWatches:: +/a/lib/package.json: *new* + {"pollingInterval":2000} +/a/package.json: *new* + {"pollingInterval":2000} +/home/package.json: *new* + {"pollingInterval":2000} +/home/src/package.json: *new* + {"pollingInterval":2000} +/home/src/workspaces/package.json: *new* + {"pollingInterval":2000} +/home/src/workspaces/projects/package.json: *new* + {"pollingInterval":2000} +/home/src/workspaces/projects/server/package.json: *new* + {"pollingInterval":2000} +/home/src/workspaces/projects/server/src/package.json: *new* + {"pollingInterval":2000} +/home/src/workspaces/projects/shared/dist/package.json: *new* + {"pollingInterval":2000} +/home/src/workspaces/projects/shared/dist/src/package.json: *new* + {"pollingInterval":2000} +/home/src/workspaces/projects/shared/package.json: *new* + {"pollingInterval":2000} +/home/src/workspaces/projects/shared/src/package.json: *new* + {"pollingInterval":2000} +/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/home/src/workspaces/projects/server/src/server.ts: *new* + {} +/home/src/workspaces/projects/server/tsconfig.json: *new* + {} +/home/src/workspaces/projects/shared/src/logging.ts: *new* + {} +/home/src/workspaces/projects/shared/src/myClass.ts: *new* + {} +/home/src/workspaces/projects/shared/src/random.ts: *new* + {} +/home/src/workspaces/projects/shared/tsconfig.json: *new* + {} +/home/src/workspaces/tsconfig.json: *new* + {} + +FsWatchesRecursive:: +/home/src/workspaces/projects/server/src: *new* + {} +/home/src/workspaces/projects/shared/src: *new* + {} + +Program root files: [ + "/home/src/workspaces/projects/shared/src/logging.ts", + "/home/src/workspaces/projects/shared/src/myClass.ts", + "/home/src/workspaces/projects/shared/src/random.ts" +] +Program options: { + "composite": true, + "outDir": "/home/src/workspaces/projects/shared/dist", + "watch": true, + "explainFiles": true, + "traceResolution": true, + "configFilePath": "/home/src/workspaces/projects/shared/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/home/src/workspaces/projects/shared/src/logging.ts +/home/src/workspaces/projects/shared/src/myClass.ts +/home/src/workspaces/projects/shared/src/random.ts + +Semantic diagnostics in builder refreshed for:: +/a/lib/lib.d.ts +/home/src/workspaces/projects/shared/src/logging.ts +/home/src/workspaces/projects/shared/src/myClass.ts +/home/src/workspaces/projects/shared/src/random.ts + +Shape signatures in builder refreshed for:: +/a/lib/lib.d.ts (used version) +/home/src/workspaces/projects/shared/src/logging.ts (computed .d.ts during emit) +/home/src/workspaces/projects/shared/src/myclass.ts (computed .d.ts during emit) +/home/src/workspaces/projects/shared/src/random.ts (computed .d.ts during emit) + +Program root files: [ + "/home/src/workspaces/projects/shared/src/logging.ts", + "/home/src/workspaces/projects/shared/src/myClass.ts", + "/home/src/workspaces/projects/shared/src/random.ts", + "/home/src/workspaces/projects/server/src/server.ts" +] +Program options: { + "composite": true, + "baseUrl": "/home/src/workspaces/projects/server/src", + "rootDir": "/home/src/workspaces/projects", + "outDir": "/home/src/workspaces/projects/server/dist", + "paths": { + ":shared/*": [ + "../../shared/src/*" + ] + }, + "pathsBasePath": "/home/src/workspaces/projects/server", + "watch": true, + "explainFiles": true, + "traceResolution": true, + "configFilePath": "/home/src/workspaces/projects/server/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/home/src/workspaces/projects/shared/dist/src/logging.d.ts +/home/src/workspaces/projects/shared/dist/src/myClass.d.ts +/home/src/workspaces/projects/shared/dist/src/random.d.ts +/home/src/workspaces/projects/server/src/server.ts + +Semantic diagnostics in builder refreshed for:: +/a/lib/lib.d.ts +/home/src/workspaces/projects/shared/dist/src/logging.d.ts +/home/src/workspaces/projects/shared/dist/src/myClass.d.ts +/home/src/workspaces/projects/shared/dist/src/random.d.ts +/home/src/workspaces/projects/server/src/server.ts + +Shape signatures in builder refreshed for:: +/a/lib/lib.d.ts (used version) +/home/src/workspaces/projects/shared/dist/src/logging.d.ts (used version) +/home/src/workspaces/projects/shared/dist/src/myclass.d.ts (used version) +/home/src/workspaces/projects/shared/dist/src/random.d.ts (used version) +/home/src/workspaces/projects/server/src/server.ts (computed .d.ts during emit) + +exitCode:: ExitStatus.undefined + +Change:: No change + +Input:: + + +exitCode:: ExitStatus.undefined + +Change:: edit logging file + +Input:: +//// [/home/src/workspaces/projects/shared/src/logging.ts] +export function log(str: string) { + console.log(str); +} +export const x = 10; + + +Timeout callback:: count: 1 +2: timerToBuildInvalidatedProject *new* + +Before running Timeout callback:: count: 1 +2: timerToBuildInvalidatedProject + +Host is moving to new time +After running Timeout callback:: count: 1 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +[HH:MM:SS AM] Project 'projects/shared/tsconfig.json' is out of date because output 'projects/shared/dist/tsconfig.tsbuildinfo' is older than input 'projects/shared/src/logging.ts' + +[HH:MM:SS AM] Building project '/home/src/workspaces/projects/shared/tsconfig.json'... + +File '/home/src/workspaces/projects/shared/src/package.json' does not exist. +File '/home/src/workspaces/projects/shared/package.json' does not exist. +File '/home/src/workspaces/projects/package.json' does not exist. +File '/home/src/workspaces/package.json' does not exist. +File '/home/src/package.json' does not exist. +File '/home/package.json' does not exist. +File '/package.json' does not exist. +File '/home/src/workspaces/projects/shared/src/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/src/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/a/lib/package.json' does not exist. +File '/a/package.json' does not exist. +File '/package.json' does not exist according to earlier cached lookups. +../../../a/lib/lib.d.ts + Default library for target 'es5' +projects/shared/src/logging.ts + Matched by include pattern 'src/**/*.ts' in 'projects/shared/tsconfig.json' +projects/shared/src/myClass.ts + Matched by include pattern 'src/**/*.ts' in 'projects/shared/tsconfig.json' +projects/shared/src/random.ts + Matched by include pattern 'src/**/*.ts' in 'projects/shared/tsconfig.json' + + +//// [/home/src/workspaces/projects/shared/dist/src/logging.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.x = void 0; +exports.log = log; +function log(str) { + console.log(str); +} +exports.x = 10; + + +//// [/home/src/workspaces/projects/shared/dist/src/logging.d.ts] +export declare function log(str: string): void; +export declare const x = 10; + + +//// [/home/src/workspaces/projects/shared/dist/tsconfig.tsbuildinfo] +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../src/logging.ts","../src/myclass.ts","../src/random.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"483739938-export function log(str: string) {\n console.log(str);\n}\nexport const x = 10;","signature":"-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n","impliedFormat":1},{"version":"-10369713935-export class MyClass { }","signature":"-7943199723-export declare class MyClass {\n}\n","impliedFormat":1},{"version":"4380863035-export function randomFn(str: string) {\n console.log(str);\n}\n","signature":"-1751303682-export declare function randomFn(str: string): void;\n","impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"outDir":"./"},"latestChangedDtsFile":"./src/logging.d.ts"},"version":"FakeTSVersion"} + +//// [/home/src/workspaces/projects/shared/dist/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../../../../a/lib/lib.d.ts", + "../src/logging.ts", + "../src/myclass.ts", + "../src/random.ts" + ], + "fileInfos": { + "../../../../../../a/lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "../src/logging.ts": { + "original": { + "version": "483739938-export function log(str: string) {\n console.log(str);\n}\nexport const x = 10;", + "signature": "-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n", + "impliedFormat": 1 + }, + "version": "483739938-export function log(str: string) {\n console.log(str);\n}\nexport const x = 10;", + "signature": "-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n", + "impliedFormat": "commonjs" + }, + "../src/myclass.ts": { + "original": { + "version": "-10369713935-export class MyClass { }", + "signature": "-7943199723-export declare class MyClass {\n}\n", + "impliedFormat": 1 + }, + "version": "-10369713935-export class MyClass { }", + "signature": "-7943199723-export declare class MyClass {\n}\n", + "impliedFormat": "commonjs" + }, + "../src/random.ts": { + "original": { + "version": "4380863035-export function randomFn(str: string) {\n console.log(str);\n}\n", + "signature": "-1751303682-export declare function randomFn(str: string): void;\n", + "impliedFormat": 1 + }, + "version": "4380863035-export function randomFn(str: string) {\n console.log(str);\n}\n", + "signature": "-1751303682-export declare function randomFn(str: string): void;\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 4 + ], + [ + "../src/logging.ts", + "../src/myclass.ts", + "../src/random.ts" + ] + ] + ], + "options": { + "composite": true, + "outDir": "./" + }, + "latestChangedDtsFile": "./src/logging.d.ts" + }, + "version": "FakeTSVersion", + "size": 1315 +} + + +Timeout callback:: count: 1 +3: timerToBuildInvalidatedProject *new* + +Before running Timeout callback:: count: 1 +3: timerToBuildInvalidatedProject + +Host is moving to new time +After running Timeout callback:: count: 0 +Output:: +[HH:MM:SS AM] Project 'projects/server/tsconfig.json' is out of date because output 'projects/server/dist/server/tsconfig.tsbuildinfo' is older than input 'projects/shared/src/logging.ts' + +[HH:MM:SS AM] Building project '/home/src/workspaces/projects/server/tsconfig.json'... + +File '/home/src/workspaces/projects/shared/dist/src/package.json' does not exist. +File '/home/src/workspaces/projects/shared/dist/package.json' does not exist. +File '/home/src/workspaces/projects/shared/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/dist/src/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/dist/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/dist/src/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/dist/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/server/src/package.json' does not exist. +File '/home/src/workspaces/projects/server/package.json' does not exist. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +======== Resolving module ':shared/myClass.js' from '/home/src/workspaces/projects/server/src/server.ts'. ======== +Module resolution kind is not specified, using 'Node10'. +'baseUrl' option is set to '/home/src/workspaces/projects/server/src', using this value to resolve non-relative module name ':shared/myClass.js'. +'paths' option is specified, looking for a pattern to match module name ':shared/myClass.js'. +Module name ':shared/myClass.js', matched pattern ':shared/*'. +Trying substitution '../../shared/src/*', candidate module location: '../../shared/src/myClass.js'. +Loading module as file / folder, candidate module location '/home/src/workspaces/projects/shared/src/myClass.js', target file types: TypeScript, Declaration. +File name '/home/src/workspaces/projects/shared/src/myClass.js' has a '.js' extension - stripping it. +File '/home/src/workspaces/projects/shared/src/myClass.ts' exists - use it as a name resolution result. +======== Module name ':shared/myClass.js' was successfully resolved to '/home/src/workspaces/projects/shared/src/myClass.ts'. ======== +File '/a/lib/package.json' does not exist according to earlier cached lookups. +File '/a/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +../../../a/lib/lib.d.ts + Default library for target 'es5' +projects/shared/dist/src/logging.d.ts + Matched by include pattern '../shared/src/**/*.ts' in 'projects/server/tsconfig.json' + File is output of project reference source 'projects/shared/src/logging.ts' +projects/shared/dist/src/myClass.d.ts + Matched by include pattern '../shared/src/**/*.ts' in 'projects/server/tsconfig.json' + Imported via ':shared/myClass.js' from file 'projects/server/src/server.ts' + File is output of project reference source 'projects/shared/src/myClass.ts' +projects/shared/dist/src/random.d.ts + Matched by include pattern '../shared/src/**/*.ts' in 'projects/server/tsconfig.json' + File is output of project reference source 'projects/shared/src/random.ts' +projects/server/src/server.ts + Matched by include pattern 'src/**/*.ts' in 'projects/server/tsconfig.json' +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + +//// [/home/src/workspaces/projects/server/dist/server/tsconfig.tsbuildinfo] +{"program":{"fileNames":["../../../../../../../a/lib/lib.d.ts","../../../shared/dist/src/logging.d.ts","../../../shared/dist/src/myclass.d.ts","../../../shared/dist/src/random.d.ts","../../src/server.ts","../../../shared/src/logging.ts","../../../shared/src/myclass.ts","../../../shared/src/random.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n","impliedFormat":1},{"version":"-7943199723-export declare class MyClass {\n}\n","impliedFormat":1},{"version":"-1751303682-export declare function randomFn(str: string): void;\n","impliedFormat":1},{"version":"-19159694382-import { MyClass } from ':shared/myClass.js';\nconsole.log('Hello, world!');\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,5]],"resolvedRoot":[[2,6],[3,7],[4,8]],"options":{"composite":true,"outDir":"..","rootDir":"../../.."},"fileIdsList":[[3]],"referencedMap":[[5,1]],"latestChangedDtsFile":"./src/server.d.ts"},"version":"FakeTSVersion"} + +//// [/home/src/workspaces/projects/server/dist/server/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../../../../../a/lib/lib.d.ts", + "../../../shared/dist/src/logging.d.ts", + "../../../shared/dist/src/myclass.d.ts", + "../../../shared/dist/src/random.d.ts", + "../../src/server.ts", + "../../../shared/src/logging.ts", + "../../../shared/src/myclass.ts", + "../../../shared/src/random.ts" + ], + "fileNamesList": [ + [ + "../../../shared/dist/src/myclass.d.ts" + ] + ], + "fileInfos": { + "../../../../../../../a/lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "../../../shared/dist/src/logging.d.ts": { + "original": { + "version": "-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n", + "impliedFormat": 1 + }, + "version": "-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n", + "signature": "-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n", + "impliedFormat": "commonjs" + }, + "../../../shared/dist/src/myclass.d.ts": { + "original": { + "version": "-7943199723-export declare class MyClass {\n}\n", + "impliedFormat": 1 + }, + "version": "-7943199723-export declare class MyClass {\n}\n", + "signature": "-7943199723-export declare class MyClass {\n}\n", + "impliedFormat": "commonjs" + }, + "../../../shared/dist/src/random.d.ts": { + "original": { + "version": "-1751303682-export declare function randomFn(str: string): void;\n", + "impliedFormat": 1 + }, + "version": "-1751303682-export declare function randomFn(str: string): void;\n", + "signature": "-1751303682-export declare function randomFn(str: string): void;\n", + "impliedFormat": "commonjs" + }, + "../../src/server.ts": { + "original": { + "version": "-19159694382-import { MyClass } from ':shared/myClass.js';\nconsole.log('Hello, world!');\n", + "signature": "-3531856636-export {};\n", + "impliedFormat": 1 + }, + "version": "-19159694382-import { MyClass } from ':shared/myClass.js';\nconsole.log('Hello, world!');\n", + "signature": "-3531856636-export {};\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 5 + ], + [ + "../../../shared/dist/src/logging.d.ts", + "../../../shared/dist/src/myclass.d.ts", + "../../../shared/dist/src/random.d.ts", + "../../src/server.ts" + ] + ] + ], + "resolvedRoot": [ + [ + [ + 2, + 6 + ], + [ + "../../../shared/dist/src/logging.d.ts", + "../../../shared/src/logging.ts" + ] + ], + [ + [ + 3, + 7 + ], + [ + "../../../shared/dist/src/myclass.d.ts", + "../../../shared/src/myclass.ts" + ] + ], + [ + [ + 4, + 8 + ], + [ + "../../../shared/dist/src/random.d.ts", + "../../../shared/src/random.ts" + ] + ] + ], + "options": { + "composite": true, + "outDir": "..", + "rootDir": "../../.." + }, + "referencedMap": { + "../../src/server.ts": [ + "../../../shared/dist/src/myclass.d.ts" + ] + }, + "latestChangedDtsFile": "./src/server.d.ts" + }, + "version": "FakeTSVersion", + "size": 1508 +} + + + +Program root files: [ + "/home/src/workspaces/projects/shared/src/logging.ts", + "/home/src/workspaces/projects/shared/src/myClass.ts", + "/home/src/workspaces/projects/shared/src/random.ts" +] +Program options: { + "composite": true, + "outDir": "/home/src/workspaces/projects/shared/dist", + "watch": true, + "explainFiles": true, + "traceResolution": true, + "configFilePath": "/home/src/workspaces/projects/shared/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/home/src/workspaces/projects/shared/src/logging.ts +/home/src/workspaces/projects/shared/src/myClass.ts +/home/src/workspaces/projects/shared/src/random.ts + +Semantic diagnostics in builder refreshed for:: +/home/src/workspaces/projects/shared/src/logging.ts + +Shape signatures in builder refreshed for:: +/home/src/workspaces/projects/shared/src/logging.ts (computed .d.ts) + +Program root files: [ + "/home/src/workspaces/projects/shared/src/logging.ts", + "/home/src/workspaces/projects/shared/src/myClass.ts", + "/home/src/workspaces/projects/shared/src/random.ts", + "/home/src/workspaces/projects/server/src/server.ts" +] +Program options: { + "composite": true, + "baseUrl": "/home/src/workspaces/projects/server/src", + "rootDir": "/home/src/workspaces/projects", + "outDir": "/home/src/workspaces/projects/server/dist", + "paths": { + ":shared/*": [ + "../../shared/src/*" + ] + }, + "pathsBasePath": "/home/src/workspaces/projects/server", + "watch": true, + "explainFiles": true, + "traceResolution": true, + "configFilePath": "/home/src/workspaces/projects/server/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/home/src/workspaces/projects/shared/dist/src/logging.d.ts +/home/src/workspaces/projects/shared/dist/src/myClass.d.ts +/home/src/workspaces/projects/shared/dist/src/random.d.ts +/home/src/workspaces/projects/server/src/server.ts + +Semantic diagnostics in builder refreshed for:: +/home/src/workspaces/projects/shared/dist/src/logging.d.ts + +Shape signatures in builder refreshed for:: +/home/src/workspaces/projects/shared/dist/src/logging.d.ts (used version) + +exitCode:: ExitStatus.undefined + +Change:: No change + +Input:: + + +exitCode:: ExitStatus.undefined + +Change:: delete random file + +Input:: +//// [/home/src/workspaces/projects/shared/src/random.ts] deleted + +Timeout callback:: count: 1 +7: timerToBuildInvalidatedProject *new* + +Before running Timeout callback:: count: 1 +7: timerToBuildInvalidatedProject + +Host is moving to new time +After running Timeout callback:: count: 1 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +[HH:MM:SS AM] Project 'projects/shared/tsconfig.json' is out of date because buildinfo file 'projects/shared/dist/tsconfig.tsbuildinfo' indicates that file 'projects/shared/src/random.ts' was root file of compilation but not any more. + +[HH:MM:SS AM] Building project '/home/src/workspaces/projects/shared/tsconfig.json'... + +File '/home/src/workspaces/projects/shared/src/package.json' does not exist. +File '/home/src/workspaces/projects/shared/package.json' does not exist. +File '/home/src/workspaces/projects/package.json' does not exist. +File '/home/src/workspaces/package.json' does not exist. +File '/home/src/package.json' does not exist. +File '/home/package.json' does not exist. +File '/package.json' does not exist. +File '/home/src/workspaces/projects/shared/src/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/a/lib/package.json' does not exist. +File '/a/package.json' does not exist. +File '/package.json' does not exist according to earlier cached lookups. +../../../a/lib/lib.d.ts + Default library for target 'es5' +projects/shared/src/logging.ts + Matched by include pattern 'src/**/*.ts' in 'projects/shared/tsconfig.json' +projects/shared/src/myClass.ts + Matched by include pattern 'src/**/*.ts' in 'projects/shared/tsconfig.json' + + +//// [/home/src/workspaces/projects/shared/dist/tsconfig.tsbuildinfo] +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../src/logging.ts","../src/myclass.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"483739938-export function log(str: string) {\n console.log(str);\n}\nexport const x = 10;","signature":"-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n","impliedFormat":1},{"version":"-10369713935-export class MyClass { }","signature":"-7943199723-export declare class MyClass {\n}\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"./"},"latestChangedDtsFile":"./src/logging.d.ts"},"version":"FakeTSVersion"} + +//// [/home/src/workspaces/projects/shared/dist/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../../../../a/lib/lib.d.ts", + "../src/logging.ts", + "../src/myclass.ts" + ], + "fileInfos": { + "../../../../../../a/lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "../src/logging.ts": { + "original": { + "version": "483739938-export function log(str: string) {\n console.log(str);\n}\nexport const x = 10;", + "signature": "-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n", + "impliedFormat": 1 + }, + "version": "483739938-export function log(str: string) {\n console.log(str);\n}\nexport const x = 10;", + "signature": "-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n", + "impliedFormat": "commonjs" + }, + "../src/myclass.ts": { + "original": { + "version": "-10369713935-export class MyClass { }", + "signature": "-7943199723-export declare class MyClass {\n}\n", + "impliedFormat": 1 + }, + "version": "-10369713935-export class MyClass { }", + "signature": "-7943199723-export declare class MyClass {\n}\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + 2, + "../src/logging.ts" + ], + [ + 3, + "../src/myclass.ts" + ] + ], + "options": { + "composite": true, + "outDir": "./" + }, + "latestChangedDtsFile": "./src/logging.d.ts" + }, + "version": "FakeTSVersion", + "size": 1102 +} + + +PolledWatches:: +/a/lib/package.json: + {"pollingInterval":2000} +/a/package.json: + {"pollingInterval":2000} +/home/package.json: + {"pollingInterval":2000} +/home/src/package.json: + {"pollingInterval":2000} +/home/src/workspaces/package.json: + {"pollingInterval":2000} +/home/src/workspaces/projects/package.json: + {"pollingInterval":2000} +/home/src/workspaces/projects/server/package.json: + {"pollingInterval":2000} +/home/src/workspaces/projects/server/src/package.json: + {"pollingInterval":2000} +/home/src/workspaces/projects/shared/dist/package.json: + {"pollingInterval":2000} +/home/src/workspaces/projects/shared/dist/src/package.json: + {"pollingInterval":2000} +/home/src/workspaces/projects/shared/package.json: + {"pollingInterval":2000} +/home/src/workspaces/projects/shared/src/package.json: + {"pollingInterval":2000} +/package.json: + {"pollingInterval":2000} + +FsWatches:: +/home/src/workspaces/projects/server/src/server.ts: + {} +/home/src/workspaces/projects/server/tsconfig.json: + {} +/home/src/workspaces/projects/shared/src/logging.ts: + {} +/home/src/workspaces/projects/shared/src/myClass.ts: + {} +/home/src/workspaces/projects/shared/tsconfig.json: + {} +/home/src/workspaces/tsconfig.json: + {} + +FsWatches *deleted*:: +/home/src/workspaces/projects/shared/src/random.ts: + {} + +FsWatchesRecursive:: +/home/src/workspaces/projects/server/src: + {} +/home/src/workspaces/projects/shared/src: + {} + +Timeout callback:: count: 1 +8: timerToBuildInvalidatedProject *new* + +Before running Timeout callback:: count: 1 +8: timerToBuildInvalidatedProject + +Host is moving to new time +After running Timeout callback:: count: 0 +Output:: +[HH:MM:SS AM] Project 'projects/server/tsconfig.json' is out of date because buildinfo file 'projects/server/dist/server/tsconfig.tsbuildinfo' indicates that file 'projects/shared/src/random.ts' was root file of compilation but not any more. + +[HH:MM:SS AM] Building project '/home/src/workspaces/projects/server/tsconfig.json'... + +File '/home/src/workspaces/projects/shared/dist/src/package.json' does not exist. +File '/home/src/workspaces/projects/shared/dist/package.json' does not exist. +File '/home/src/workspaces/projects/shared/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/dist/src/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/dist/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/server/src/package.json' does not exist. +File '/home/src/workspaces/projects/server/package.json' does not exist. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +======== Resolving module ':shared/myClass.js' from '/home/src/workspaces/projects/server/src/server.ts'. ======== +Module resolution kind is not specified, using 'Node10'. +'baseUrl' option is set to '/home/src/workspaces/projects/server/src', using this value to resolve non-relative module name ':shared/myClass.js'. +'paths' option is specified, looking for a pattern to match module name ':shared/myClass.js'. +Module name ':shared/myClass.js', matched pattern ':shared/*'. +Trying substitution '../../shared/src/*', candidate module location: '../../shared/src/myClass.js'. +Loading module as file / folder, candidate module location '/home/src/workspaces/projects/shared/src/myClass.js', target file types: TypeScript, Declaration. +File name '/home/src/workspaces/projects/shared/src/myClass.js' has a '.js' extension - stripping it. +File '/home/src/workspaces/projects/shared/src/myClass.ts' exists - use it as a name resolution result. +======== Module name ':shared/myClass.js' was successfully resolved to '/home/src/workspaces/projects/shared/src/myClass.ts'. ======== +File '/a/lib/package.json' does not exist according to earlier cached lookups. +File '/a/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +../../../a/lib/lib.d.ts + Default library for target 'es5' +projects/shared/dist/src/logging.d.ts + Matched by include pattern '../shared/src/**/*.ts' in 'projects/server/tsconfig.json' + File is output of project reference source 'projects/shared/src/logging.ts' +projects/shared/dist/src/myClass.d.ts + Matched by include pattern '../shared/src/**/*.ts' in 'projects/server/tsconfig.json' + Imported via ':shared/myClass.js' from file 'projects/server/src/server.ts' + File is output of project reference source 'projects/shared/src/myClass.ts' +projects/server/src/server.ts + Matched by include pattern 'src/**/*.ts' in 'projects/server/tsconfig.json' +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + +//// [/home/src/workspaces/projects/server/dist/server/tsconfig.tsbuildinfo] +{"program":{"fileNames":["../../../../../../../a/lib/lib.d.ts","../../../shared/dist/src/logging.d.ts","../../../shared/dist/src/myclass.d.ts","../../src/server.ts","../../../shared/src/logging.ts","../../../shared/src/myclass.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n","impliedFormat":1},{"version":"-7943199723-export declare class MyClass {\n}\n","impliedFormat":1},{"version":"-19159694382-import { MyClass } from ':shared/myClass.js';\nconsole.log('Hello, world!');\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"resolvedRoot":[[2,5],[3,6]],"options":{"composite":true,"outDir":"..","rootDir":"../../.."},"fileIdsList":[[3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./src/server.d.ts"},"version":"FakeTSVersion"} + +//// [/home/src/workspaces/projects/server/dist/server/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../../../../../a/lib/lib.d.ts", + "../../../shared/dist/src/logging.d.ts", + "../../../shared/dist/src/myclass.d.ts", + "../../src/server.ts", + "../../../shared/src/logging.ts", + "../../../shared/src/myclass.ts" + ], + "fileNamesList": [ + [ + "../../../shared/dist/src/myclass.d.ts" + ] + ], + "fileInfos": { + "../../../../../../../a/lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "../../../shared/dist/src/logging.d.ts": { + "original": { + "version": "-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n", + "impliedFormat": 1 + }, + "version": "-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n", + "signature": "-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n", + "impliedFormat": "commonjs" + }, + "../../../shared/dist/src/myclass.d.ts": { + "original": { + "version": "-7943199723-export declare class MyClass {\n}\n", + "impliedFormat": 1 + }, + "version": "-7943199723-export declare class MyClass {\n}\n", + "signature": "-7943199723-export declare class MyClass {\n}\n", + "impliedFormat": "commonjs" + }, + "../../src/server.ts": { + "original": { + "version": "-19159694382-import { MyClass } from ':shared/myClass.js';\nconsole.log('Hello, world!');\n", + "signature": "-3531856636-export {};\n", + "impliedFormat": 1 + }, + "version": "-19159694382-import { MyClass } from ':shared/myClass.js';\nconsole.log('Hello, world!');\n", + "signature": "-3531856636-export {};\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 4 + ], + [ + "../../../shared/dist/src/logging.d.ts", + "../../../shared/dist/src/myclass.d.ts", + "../../src/server.ts" + ] + ] + ], + "resolvedRoot": [ + [ + [ + 2, + 5 + ], + [ + "../../../shared/dist/src/logging.d.ts", + "../../../shared/src/logging.ts" + ] + ], + [ + [ + 3, + 6 + ], + [ + "../../../shared/dist/src/myclass.d.ts", + "../../../shared/src/myclass.ts" + ] + ] + ], + "options": { + "composite": true, + "outDir": "..", + "rootDir": "../../.." + }, + "referencedMap": { + "../../src/server.ts": [ + "../../../shared/dist/src/myclass.d.ts" + ] + }, + "latestChangedDtsFile": "./src/server.d.ts" + }, + "version": "FakeTSVersion", + "size": 1332 +} + + + +Program root files: [ + "/home/src/workspaces/projects/shared/src/logging.ts", + "/home/src/workspaces/projects/shared/src/myClass.ts" +] +Program options: { + "composite": true, + "outDir": "/home/src/workspaces/projects/shared/dist", + "watch": true, + "explainFiles": true, + "traceResolution": true, + "configFilePath": "/home/src/workspaces/projects/shared/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/home/src/workspaces/projects/shared/src/logging.ts +/home/src/workspaces/projects/shared/src/myClass.ts + +Semantic diagnostics in builder refreshed for:: + +No shapes updated in the builder:: + +Program root files: [ + "/home/src/workspaces/projects/shared/src/logging.ts", + "/home/src/workspaces/projects/shared/src/myClass.ts", + "/home/src/workspaces/projects/server/src/server.ts" +] +Program options: { + "composite": true, + "baseUrl": "/home/src/workspaces/projects/server/src", + "rootDir": "/home/src/workspaces/projects", + "outDir": "/home/src/workspaces/projects/server/dist", + "paths": { + ":shared/*": [ + "../../shared/src/*" + ] + }, + "pathsBasePath": "/home/src/workspaces/projects/server", + "watch": true, + "explainFiles": true, + "traceResolution": true, + "configFilePath": "/home/src/workspaces/projects/server/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/home/src/workspaces/projects/shared/dist/src/logging.d.ts +/home/src/workspaces/projects/shared/dist/src/myClass.d.ts +/home/src/workspaces/projects/server/src/server.ts + +Semantic diagnostics in builder refreshed for:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Change:: No change + +Input:: + + +exitCode:: ExitStatus.undefined diff --git a/tests/baselines/reference/tsbuildWatch/roots/when-root-file-is-from-referenced-project.js b/tests/baselines/reference/tsbuildWatch/roots/when-root-file-is-from-referenced-project.js new file mode 100644 index 0000000000000..2dfb3db5c3886 --- /dev/null +++ b/tests/baselines/reference/tsbuildWatch/roots/when-root-file-is-from-referenced-project.js @@ -0,0 +1,1437 @@ +currentDirectory:: /home/src/workspaces useCaseSensitiveFileNames: false +Input:: +//// [/home/src/workspaces/tsconfig.json] +{ + "compilerOptions": { + "composite": true + }, + "references": [ + { + "path": "projects/server" + }, + { + "path": "projects/shared" + } + ] +} + +//// [/home/src/workspaces/projects/shared/src/myClass.ts] +export class MyClass { } + +//// [/home/src/workspaces/projects/shared/src/logging.ts] +export function log(str: string) { + console.log(str); +} + + +//// [/home/src/workspaces/projects/shared/src/random.ts] +export function randomFn(str: string) { + console.log(str); +} + + +//// [/home/src/workspaces/projects/shared/tsconfig.json] +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "./dist" + }, + "include": [ + "src/**/*.ts" + ] +} + +//// [/home/src/workspaces/projects/server/src/server.ts] +import { MyClass } from ':shared/myClass.js'; +console.log('Hello, world!'); + + +//// [/home/src/workspaces/projects/server/tsconfig.json] +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "baseUrl": "./src", + "rootDir": "..", + "outDir": "./dist", + "paths": { + ":shared/*": [ + "../../shared/src/*" + ] + } + }, + "include": [ + "src/**/*.ts", + "../shared/src/**/*.ts" + ], + "references": [ + { + "path": "../shared" + } + ] +} + +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + + +/a/lib/tsc.js --b projects/server -w -v --traceResolution --explainFiles +Output:: +>> Screen clear +[HH:MM:SS AM] Starting compilation in watch mode... + +[HH:MM:SS AM] Projects in this build: + * projects/shared/tsconfig.json + * projects/server/tsconfig.json + +[HH:MM:SS AM] Project 'projects/shared/tsconfig.json' is out of date because output file 'projects/shared/dist/tsconfig.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/home/src/workspaces/projects/shared/tsconfig.json'... + +File '/home/src/workspaces/projects/shared/src/package.json' does not exist. +File '/home/src/workspaces/projects/shared/package.json' does not exist. +File '/home/src/workspaces/projects/package.json' does not exist. +File '/home/src/workspaces/package.json' does not exist. +File '/home/src/package.json' does not exist. +File '/home/package.json' does not exist. +File '/package.json' does not exist. +File '/home/src/workspaces/projects/shared/src/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/src/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/a/lib/package.json' does not exist. +File '/a/package.json' does not exist. +File '/package.json' does not exist according to earlier cached lookups. +../../../a/lib/lib.d.ts + Default library for target 'es5' +projects/shared/src/logging.ts + Matched by include pattern 'src/**/*.ts' in 'projects/shared/tsconfig.json' +projects/shared/src/myClass.ts + Matched by include pattern 'src/**/*.ts' in 'projects/shared/tsconfig.json' +projects/shared/src/random.ts + Matched by include pattern 'src/**/*.ts' in 'projects/shared/tsconfig.json' +[HH:MM:SS AM] Project 'projects/server/tsconfig.json' is out of date because output file 'projects/server/dist/server/tsconfig.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/home/src/workspaces/projects/server/tsconfig.json'... + +File '/home/src/workspaces/projects/server/src/package.json' does not exist. +File '/home/src/workspaces/projects/server/package.json' does not exist. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +======== Resolving module ':shared/myClass.js' from '/home/src/workspaces/projects/server/src/server.ts'. ======== +Module resolution kind is not specified, using 'Node10'. +'baseUrl' option is set to '/home/src/workspaces/projects/server/src', using this value to resolve non-relative module name ':shared/myClass.js'. +'paths' option is specified, looking for a pattern to match module name ':shared/myClass.js'. +Module name ':shared/myClass.js', matched pattern ':shared/*'. +Trying substitution '../../shared/src/*', candidate module location: '../../shared/src/myClass.js'. +Loading module as file / folder, candidate module location '/home/src/workspaces/projects/shared/src/myClass.js', target file types: TypeScript, Declaration. +File name '/home/src/workspaces/projects/shared/src/myClass.js' has a '.js' extension - stripping it. +File '/home/src/workspaces/projects/shared/src/myClass.ts' exists - use it as a name resolution result. +======== Module name ':shared/myClass.js' was successfully resolved to '/home/src/workspaces/projects/shared/src/myClass.ts'. ======== +File '/home/src/workspaces/projects/shared/dist/src/package.json' does not exist. +File '/home/src/workspaces/projects/shared/dist/package.json' does not exist. +File '/home/src/workspaces/projects/shared/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/dist/src/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/dist/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/dist/src/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/dist/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/a/lib/package.json' does not exist according to earlier cached lookups. +File '/a/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +../../../a/lib/lib.d.ts + Default library for target 'es5' +projects/shared/dist/src/myClass.d.ts + Imported via ':shared/myClass.js' from file 'projects/server/src/server.ts' + Matched by include pattern '../shared/src/**/*.ts' in 'projects/server/tsconfig.json' + File is output of project reference source 'projects/shared/src/myClass.ts' +projects/server/src/server.ts + Matched by include pattern 'src/**/*.ts' in 'projects/server/tsconfig.json' +projects/shared/dist/src/logging.d.ts + Matched by include pattern '../shared/src/**/*.ts' in 'projects/server/tsconfig.json' + File is output of project reference source 'projects/shared/src/logging.ts' +projects/shared/dist/src/random.d.ts + Matched by include pattern '../shared/src/**/*.ts' in 'projects/server/tsconfig.json' + File is output of project reference source 'projects/shared/src/random.ts' +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + +//// [/home/src/workspaces/projects/shared/dist/src/logging.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.log = log; +function log(str) { + console.log(str); +} + + +//// [/home/src/workspaces/projects/shared/dist/src/logging.d.ts] +export declare function log(str: string): void; + + +//// [/home/src/workspaces/projects/shared/dist/src/myClass.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.MyClass = void 0; +var MyClass = /** @class */ (function () { + function MyClass() { + } + return MyClass; +}()); +exports.MyClass = MyClass; + + +//// [/home/src/workspaces/projects/shared/dist/src/myClass.d.ts] +export declare class MyClass { +} + + +//// [/home/src/workspaces/projects/shared/dist/src/random.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.randomFn = randomFn; +function randomFn(str) { + console.log(str); +} + + +//// [/home/src/workspaces/projects/shared/dist/src/random.d.ts] +export declare function randomFn(str: string): void; + + +//// [/home/src/workspaces/projects/shared/dist/tsconfig.tsbuildinfo] +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../src/logging.ts","../src/myclass.ts","../src/random.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-1222780632-export function log(str: string) {\n console.log(str);\n}\n","signature":"2292560907-export declare function log(str: string): void;\n","impliedFormat":1},{"version":"-10369713935-export class MyClass { }","signature":"-7943199723-export declare class MyClass {\n}\n","impliedFormat":1},{"version":"4380863035-export function randomFn(str: string) {\n console.log(str);\n}\n","signature":"-1751303682-export declare function randomFn(str: string): void;\n","impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"outDir":"./"},"latestChangedDtsFile":"./src/random.d.ts"},"version":"FakeTSVersion"} + +//// [/home/src/workspaces/projects/shared/dist/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../../../../a/lib/lib.d.ts", + "../src/logging.ts", + "../src/myclass.ts", + "../src/random.ts" + ], + "fileInfos": { + "../../../../../../a/lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "../src/logging.ts": { + "original": { + "version": "-1222780632-export function log(str: string) {\n console.log(str);\n}\n", + "signature": "2292560907-export declare function log(str: string): void;\n", + "impliedFormat": 1 + }, + "version": "-1222780632-export function log(str: string) {\n console.log(str);\n}\n", + "signature": "2292560907-export declare function log(str: string): void;\n", + "impliedFormat": "commonjs" + }, + "../src/myclass.ts": { + "original": { + "version": "-10369713935-export class MyClass { }", + "signature": "-7943199723-export declare class MyClass {\n}\n", + "impliedFormat": 1 + }, + "version": "-10369713935-export class MyClass { }", + "signature": "-7943199723-export declare class MyClass {\n}\n", + "impliedFormat": "commonjs" + }, + "../src/random.ts": { + "original": { + "version": "4380863035-export function randomFn(str: string) {\n console.log(str);\n}\n", + "signature": "-1751303682-export declare function randomFn(str: string): void;\n", + "impliedFormat": 1 + }, + "version": "4380863035-export function randomFn(str: string) {\n console.log(str);\n}\n", + "signature": "-1751303682-export declare function randomFn(str: string): void;\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 4 + ], + [ + "../src/logging.ts", + "../src/myclass.ts", + "../src/random.ts" + ] + ] + ], + "options": { + "composite": true, + "outDir": "./" + }, + "latestChangedDtsFile": "./src/random.d.ts" + }, + "version": "FakeTSVersion", + "size": 1265 +} + +//// [/home/src/workspaces/projects/server/dist/server/src/server.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +console.log('Hello, world!'); + + +//// [/home/src/workspaces/projects/server/dist/server/src/server.d.ts] +export {}; + + +//// [/home/src/workspaces/projects/server/dist/server/tsconfig.tsbuildinfo] +{"program":{"fileNames":["../../../../../../../a/lib/lib.d.ts","../../../shared/dist/src/myclass.d.ts","../../src/server.ts","../../../shared/dist/src/logging.d.ts","../../../shared/dist/src/random.d.ts","../../../shared/src/logging.ts","../../../shared/src/myclass.ts","../../../shared/src/random.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7943199723-export declare class MyClass {\n}\n","impliedFormat":1},{"version":"-19159694382-import { MyClass } from ':shared/myClass.js';\nconsole.log('Hello, world!');\n","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"2292560907-export declare function log(str: string): void;\n","impliedFormat":1},{"version":"-1751303682-export declare function randomFn(str: string): void;\n","impliedFormat":1}],"root":[[2,5]],"resolvedRoot":[[4,6],[2,7],[5,8]],"options":{"composite":true,"outDir":"..","rootDir":"../../.."},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./src/server.d.ts"},"version":"FakeTSVersion"} + +//// [/home/src/workspaces/projects/server/dist/server/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../../../../../a/lib/lib.d.ts", + "../../../shared/dist/src/myclass.d.ts", + "../../src/server.ts", + "../../../shared/dist/src/logging.d.ts", + "../../../shared/dist/src/random.d.ts", + "../../../shared/src/logging.ts", + "../../../shared/src/myclass.ts", + "../../../shared/src/random.ts" + ], + "fileNamesList": [ + [ + "../../../shared/dist/src/myclass.d.ts" + ] + ], + "fileInfos": { + "../../../../../../../a/lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "../../../shared/dist/src/myclass.d.ts": { + "original": { + "version": "-7943199723-export declare class MyClass {\n}\n", + "impliedFormat": 1 + }, + "version": "-7943199723-export declare class MyClass {\n}\n", + "signature": "-7943199723-export declare class MyClass {\n}\n", + "impliedFormat": "commonjs" + }, + "../../src/server.ts": { + "original": { + "version": "-19159694382-import { MyClass } from ':shared/myClass.js';\nconsole.log('Hello, world!');\n", + "signature": "-3531856636-export {};\n", + "impliedFormat": 1 + }, + "version": "-19159694382-import { MyClass } from ':shared/myClass.js';\nconsole.log('Hello, world!');\n", + "signature": "-3531856636-export {};\n", + "impliedFormat": "commonjs" + }, + "../../../shared/dist/src/logging.d.ts": { + "original": { + "version": "2292560907-export declare function log(str: string): void;\n", + "impliedFormat": 1 + }, + "version": "2292560907-export declare function log(str: string): void;\n", + "signature": "2292560907-export declare function log(str: string): void;\n", + "impliedFormat": "commonjs" + }, + "../../../shared/dist/src/random.d.ts": { + "original": { + "version": "-1751303682-export declare function randomFn(str: string): void;\n", + "impliedFormat": 1 + }, + "version": "-1751303682-export declare function randomFn(str: string): void;\n", + "signature": "-1751303682-export declare function randomFn(str: string): void;\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 5 + ], + [ + "../../../shared/dist/src/myclass.d.ts", + "../../src/server.ts", + "../../../shared/dist/src/logging.d.ts", + "../../../shared/dist/src/random.d.ts" + ] + ] + ], + "resolvedRoot": [ + [ + [ + 4, + 6 + ], + [ + "../../../shared/dist/src/logging.d.ts", + "../../../shared/src/logging.ts" + ] + ], + [ + [ + 2, + 7 + ], + [ + "../../../shared/dist/src/myclass.d.ts", + "../../../shared/src/myclass.ts" + ] + ], + [ + [ + 5, + 8 + ], + [ + "../../../shared/dist/src/random.d.ts", + "../../../shared/src/random.ts" + ] + ] + ], + "options": { + "composite": true, + "outDir": "..", + "rootDir": "../../.." + }, + "referencedMap": { + "../../src/server.ts": [ + "../../../shared/dist/src/myclass.d.ts" + ] + }, + "latestChangedDtsFile": "./src/server.d.ts" + }, + "version": "FakeTSVersion", + "size": 1477 +} + + +PolledWatches:: +/a/lib/package.json: *new* + {"pollingInterval":2000} +/a/package.json: *new* + {"pollingInterval":2000} +/home/package.json: *new* + {"pollingInterval":2000} +/home/src/package.json: *new* + {"pollingInterval":2000} +/home/src/workspaces/package.json: *new* + {"pollingInterval":2000} +/home/src/workspaces/projects/package.json: *new* + {"pollingInterval":2000} +/home/src/workspaces/projects/server/package.json: *new* + {"pollingInterval":2000} +/home/src/workspaces/projects/server/src/package.json: *new* + {"pollingInterval":2000} +/home/src/workspaces/projects/shared/dist/package.json: *new* + {"pollingInterval":2000} +/home/src/workspaces/projects/shared/dist/src/package.json: *new* + {"pollingInterval":2000} +/home/src/workspaces/projects/shared/package.json: *new* + {"pollingInterval":2000} +/home/src/workspaces/projects/shared/src/package.json: *new* + {"pollingInterval":2000} +/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/home/src/workspaces/projects/server/src/server.ts: *new* + {} +/home/src/workspaces/projects/server/tsconfig.json: *new* + {} +/home/src/workspaces/projects/shared/src/logging.ts: *new* + {} +/home/src/workspaces/projects/shared/src/myClass.ts: *new* + {} +/home/src/workspaces/projects/shared/src/random.ts: *new* + {} +/home/src/workspaces/projects/shared/tsconfig.json: *new* + {} +/home/src/workspaces/tsconfig.json: *new* + {} + +FsWatchesRecursive:: +/home/src/workspaces/projects/server/src: *new* + {} +/home/src/workspaces/projects/shared/src: *new* + {} + +Program root files: [ + "/home/src/workspaces/projects/shared/src/logging.ts", + "/home/src/workspaces/projects/shared/src/myClass.ts", + "/home/src/workspaces/projects/shared/src/random.ts" +] +Program options: { + "composite": true, + "outDir": "/home/src/workspaces/projects/shared/dist", + "watch": true, + "explainFiles": true, + "traceResolution": true, + "configFilePath": "/home/src/workspaces/projects/shared/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/home/src/workspaces/projects/shared/src/logging.ts +/home/src/workspaces/projects/shared/src/myClass.ts +/home/src/workspaces/projects/shared/src/random.ts + +Semantic diagnostics in builder refreshed for:: +/a/lib/lib.d.ts +/home/src/workspaces/projects/shared/src/logging.ts +/home/src/workspaces/projects/shared/src/myClass.ts +/home/src/workspaces/projects/shared/src/random.ts + +Shape signatures in builder refreshed for:: +/a/lib/lib.d.ts (used version) +/home/src/workspaces/projects/shared/src/logging.ts (computed .d.ts during emit) +/home/src/workspaces/projects/shared/src/myclass.ts (computed .d.ts during emit) +/home/src/workspaces/projects/shared/src/random.ts (computed .d.ts during emit) + +Program root files: [ + "/home/src/workspaces/projects/server/src/server.ts", + "/home/src/workspaces/projects/shared/src/logging.ts", + "/home/src/workspaces/projects/shared/src/myClass.ts", + "/home/src/workspaces/projects/shared/src/random.ts" +] +Program options: { + "composite": true, + "baseUrl": "/home/src/workspaces/projects/server/src", + "rootDir": "/home/src/workspaces/projects", + "outDir": "/home/src/workspaces/projects/server/dist", + "paths": { + ":shared/*": [ + "../../shared/src/*" + ] + }, + "pathsBasePath": "/home/src/workspaces/projects/server", + "watch": true, + "explainFiles": true, + "traceResolution": true, + "configFilePath": "/home/src/workspaces/projects/server/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/home/src/workspaces/projects/shared/dist/src/myClass.d.ts +/home/src/workspaces/projects/server/src/server.ts +/home/src/workspaces/projects/shared/dist/src/logging.d.ts +/home/src/workspaces/projects/shared/dist/src/random.d.ts + +Semantic diagnostics in builder refreshed for:: +/a/lib/lib.d.ts +/home/src/workspaces/projects/shared/dist/src/myClass.d.ts +/home/src/workspaces/projects/server/src/server.ts +/home/src/workspaces/projects/shared/dist/src/logging.d.ts +/home/src/workspaces/projects/shared/dist/src/random.d.ts + +Shape signatures in builder refreshed for:: +/a/lib/lib.d.ts (used version) +/home/src/workspaces/projects/shared/dist/src/myclass.d.ts (used version) +/home/src/workspaces/projects/server/src/server.ts (computed .d.ts during emit) +/home/src/workspaces/projects/shared/dist/src/logging.d.ts (used version) +/home/src/workspaces/projects/shared/dist/src/random.d.ts (used version) + +exitCode:: ExitStatus.undefined + +Change:: No change + +Input:: + + +exitCode:: ExitStatus.undefined + +Change:: edit logging file + +Input:: +//// [/home/src/workspaces/projects/shared/src/logging.ts] +export function log(str: string) { + console.log(str); +} +export const x = 10; + + +Timeout callback:: count: 1 +2: timerToBuildInvalidatedProject *new* + +Before running Timeout callback:: count: 1 +2: timerToBuildInvalidatedProject + +Host is moving to new time +After running Timeout callback:: count: 1 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +[HH:MM:SS AM] Project 'projects/shared/tsconfig.json' is out of date because output 'projects/shared/dist/tsconfig.tsbuildinfo' is older than input 'projects/shared/src/logging.ts' + +[HH:MM:SS AM] Building project '/home/src/workspaces/projects/shared/tsconfig.json'... + +File '/home/src/workspaces/projects/shared/src/package.json' does not exist. +File '/home/src/workspaces/projects/shared/package.json' does not exist. +File '/home/src/workspaces/projects/package.json' does not exist. +File '/home/src/workspaces/package.json' does not exist. +File '/home/src/package.json' does not exist. +File '/home/package.json' does not exist. +File '/package.json' does not exist. +File '/home/src/workspaces/projects/shared/src/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/src/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/a/lib/package.json' does not exist. +File '/a/package.json' does not exist. +File '/package.json' does not exist according to earlier cached lookups. +../../../a/lib/lib.d.ts + Default library for target 'es5' +projects/shared/src/logging.ts + Matched by include pattern 'src/**/*.ts' in 'projects/shared/tsconfig.json' +projects/shared/src/myClass.ts + Matched by include pattern 'src/**/*.ts' in 'projects/shared/tsconfig.json' +projects/shared/src/random.ts + Matched by include pattern 'src/**/*.ts' in 'projects/shared/tsconfig.json' + + +//// [/home/src/workspaces/projects/shared/dist/src/logging.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.x = void 0; +exports.log = log; +function log(str) { + console.log(str); +} +exports.x = 10; + + +//// [/home/src/workspaces/projects/shared/dist/src/logging.d.ts] +export declare function log(str: string): void; +export declare const x = 10; + + +//// [/home/src/workspaces/projects/shared/dist/tsconfig.tsbuildinfo] +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../src/logging.ts","../src/myclass.ts","../src/random.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"483739938-export function log(str: string) {\n console.log(str);\n}\nexport const x = 10;","signature":"-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n","impliedFormat":1},{"version":"-10369713935-export class MyClass { }","signature":"-7943199723-export declare class MyClass {\n}\n","impliedFormat":1},{"version":"4380863035-export function randomFn(str: string) {\n console.log(str);\n}\n","signature":"-1751303682-export declare function randomFn(str: string): void;\n","impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"outDir":"./"},"latestChangedDtsFile":"./src/logging.d.ts"},"version":"FakeTSVersion"} + +//// [/home/src/workspaces/projects/shared/dist/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../../../../a/lib/lib.d.ts", + "../src/logging.ts", + "../src/myclass.ts", + "../src/random.ts" + ], + "fileInfos": { + "../../../../../../a/lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "../src/logging.ts": { + "original": { + "version": "483739938-export function log(str: string) {\n console.log(str);\n}\nexport const x = 10;", + "signature": "-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n", + "impliedFormat": 1 + }, + "version": "483739938-export function log(str: string) {\n console.log(str);\n}\nexport const x = 10;", + "signature": "-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n", + "impliedFormat": "commonjs" + }, + "../src/myclass.ts": { + "original": { + "version": "-10369713935-export class MyClass { }", + "signature": "-7943199723-export declare class MyClass {\n}\n", + "impliedFormat": 1 + }, + "version": "-10369713935-export class MyClass { }", + "signature": "-7943199723-export declare class MyClass {\n}\n", + "impliedFormat": "commonjs" + }, + "../src/random.ts": { + "original": { + "version": "4380863035-export function randomFn(str: string) {\n console.log(str);\n}\n", + "signature": "-1751303682-export declare function randomFn(str: string): void;\n", + "impliedFormat": 1 + }, + "version": "4380863035-export function randomFn(str: string) {\n console.log(str);\n}\n", + "signature": "-1751303682-export declare function randomFn(str: string): void;\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 4 + ], + [ + "../src/logging.ts", + "../src/myclass.ts", + "../src/random.ts" + ] + ] + ], + "options": { + "composite": true, + "outDir": "./" + }, + "latestChangedDtsFile": "./src/logging.d.ts" + }, + "version": "FakeTSVersion", + "size": 1315 +} + + +Timeout callback:: count: 1 +3: timerToBuildInvalidatedProject *new* + +Before running Timeout callback:: count: 1 +3: timerToBuildInvalidatedProject + +Host is moving to new time +After running Timeout callback:: count: 0 +Output:: +[HH:MM:SS AM] Project 'projects/server/tsconfig.json' is out of date because output 'projects/server/dist/server/tsconfig.tsbuildinfo' is older than input 'projects/shared/src/logging.ts' + +[HH:MM:SS AM] Building project '/home/src/workspaces/projects/server/tsconfig.json'... + +File '/home/src/workspaces/projects/server/src/package.json' does not exist. +File '/home/src/workspaces/projects/server/package.json' does not exist. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +======== Resolving module ':shared/myClass.js' from '/home/src/workspaces/projects/server/src/server.ts'. ======== +Module resolution kind is not specified, using 'Node10'. +'baseUrl' option is set to '/home/src/workspaces/projects/server/src', using this value to resolve non-relative module name ':shared/myClass.js'. +'paths' option is specified, looking for a pattern to match module name ':shared/myClass.js'. +Module name ':shared/myClass.js', matched pattern ':shared/*'. +Trying substitution '../../shared/src/*', candidate module location: '../../shared/src/myClass.js'. +Loading module as file / folder, candidate module location '/home/src/workspaces/projects/shared/src/myClass.js', target file types: TypeScript, Declaration. +File name '/home/src/workspaces/projects/shared/src/myClass.js' has a '.js' extension - stripping it. +File '/home/src/workspaces/projects/shared/src/myClass.ts' exists - use it as a name resolution result. +======== Module name ':shared/myClass.js' was successfully resolved to '/home/src/workspaces/projects/shared/src/myClass.ts'. ======== +File '/home/src/workspaces/projects/shared/dist/src/package.json' does not exist. +File '/home/src/workspaces/projects/shared/dist/package.json' does not exist. +File '/home/src/workspaces/projects/shared/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/dist/src/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/dist/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/dist/src/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/dist/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/a/lib/package.json' does not exist according to earlier cached lookups. +File '/a/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +../../../a/lib/lib.d.ts + Default library for target 'es5' +projects/shared/dist/src/myClass.d.ts + Imported via ':shared/myClass.js' from file 'projects/server/src/server.ts' + Matched by include pattern '../shared/src/**/*.ts' in 'projects/server/tsconfig.json' + File is output of project reference source 'projects/shared/src/myClass.ts' +projects/server/src/server.ts + Matched by include pattern 'src/**/*.ts' in 'projects/server/tsconfig.json' +projects/shared/dist/src/logging.d.ts + Matched by include pattern '../shared/src/**/*.ts' in 'projects/server/tsconfig.json' + File is output of project reference source 'projects/shared/src/logging.ts' +projects/shared/dist/src/random.d.ts + Matched by include pattern '../shared/src/**/*.ts' in 'projects/server/tsconfig.json' + File is output of project reference source 'projects/shared/src/random.ts' +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + +//// [/home/src/workspaces/projects/server/dist/server/tsconfig.tsbuildinfo] +{"program":{"fileNames":["../../../../../../../a/lib/lib.d.ts","../../../shared/dist/src/myclass.d.ts","../../src/server.ts","../../../shared/dist/src/logging.d.ts","../../../shared/dist/src/random.d.ts","../../../shared/src/logging.ts","../../../shared/src/myclass.ts","../../../shared/src/random.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7943199723-export declare class MyClass {\n}\n","impliedFormat":1},{"version":"-19159694382-import { MyClass } from ':shared/myClass.js';\nconsole.log('Hello, world!');\n","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n","impliedFormat":1},{"version":"-1751303682-export declare function randomFn(str: string): void;\n","impliedFormat":1}],"root":[[2,5]],"resolvedRoot":[[4,6],[2,7],[5,8]],"options":{"composite":true,"outDir":"..","rootDir":"../../.."},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./src/server.d.ts"},"version":"FakeTSVersion"} + +//// [/home/src/workspaces/projects/server/dist/server/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../../../../../a/lib/lib.d.ts", + "../../../shared/dist/src/myclass.d.ts", + "../../src/server.ts", + "../../../shared/dist/src/logging.d.ts", + "../../../shared/dist/src/random.d.ts", + "../../../shared/src/logging.ts", + "../../../shared/src/myclass.ts", + "../../../shared/src/random.ts" + ], + "fileNamesList": [ + [ + "../../../shared/dist/src/myclass.d.ts" + ] + ], + "fileInfos": { + "../../../../../../../a/lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "../../../shared/dist/src/myclass.d.ts": { + "original": { + "version": "-7943199723-export declare class MyClass {\n}\n", + "impliedFormat": 1 + }, + "version": "-7943199723-export declare class MyClass {\n}\n", + "signature": "-7943199723-export declare class MyClass {\n}\n", + "impliedFormat": "commonjs" + }, + "../../src/server.ts": { + "original": { + "version": "-19159694382-import { MyClass } from ':shared/myClass.js';\nconsole.log('Hello, world!');\n", + "signature": "-3531856636-export {};\n", + "impliedFormat": 1 + }, + "version": "-19159694382-import { MyClass } from ':shared/myClass.js';\nconsole.log('Hello, world!');\n", + "signature": "-3531856636-export {};\n", + "impliedFormat": "commonjs" + }, + "../../../shared/dist/src/logging.d.ts": { + "original": { + "version": "-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n", + "impliedFormat": 1 + }, + "version": "-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n", + "signature": "-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n", + "impliedFormat": "commonjs" + }, + "../../../shared/dist/src/random.d.ts": { + "original": { + "version": "-1751303682-export declare function randomFn(str: string): void;\n", + "impliedFormat": 1 + }, + "version": "-1751303682-export declare function randomFn(str: string): void;\n", + "signature": "-1751303682-export declare function randomFn(str: string): void;\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 5 + ], + [ + "../../../shared/dist/src/myclass.d.ts", + "../../src/server.ts", + "../../../shared/dist/src/logging.d.ts", + "../../../shared/dist/src/random.d.ts" + ] + ] + ], + "resolvedRoot": [ + [ + [ + 4, + 6 + ], + [ + "../../../shared/dist/src/logging.d.ts", + "../../../shared/src/logging.ts" + ] + ], + [ + [ + 2, + 7 + ], + [ + "../../../shared/dist/src/myclass.d.ts", + "../../../shared/src/myclass.ts" + ] + ], + [ + [ + 5, + 8 + ], + [ + "../../../shared/dist/src/random.d.ts", + "../../../shared/src/random.ts" + ] + ] + ], + "options": { + "composite": true, + "outDir": "..", + "rootDir": "../../.." + }, + "referencedMap": { + "../../src/server.ts": [ + "../../../shared/dist/src/myclass.d.ts" + ] + }, + "latestChangedDtsFile": "./src/server.d.ts" + }, + "version": "FakeTSVersion", + "size": 1508 +} + + + +Program root files: [ + "/home/src/workspaces/projects/shared/src/logging.ts", + "/home/src/workspaces/projects/shared/src/myClass.ts", + "/home/src/workspaces/projects/shared/src/random.ts" +] +Program options: { + "composite": true, + "outDir": "/home/src/workspaces/projects/shared/dist", + "watch": true, + "explainFiles": true, + "traceResolution": true, + "configFilePath": "/home/src/workspaces/projects/shared/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/home/src/workspaces/projects/shared/src/logging.ts +/home/src/workspaces/projects/shared/src/myClass.ts +/home/src/workspaces/projects/shared/src/random.ts + +Semantic diagnostics in builder refreshed for:: +/home/src/workspaces/projects/shared/src/logging.ts + +Shape signatures in builder refreshed for:: +/home/src/workspaces/projects/shared/src/logging.ts (computed .d.ts) + +Program root files: [ + "/home/src/workspaces/projects/server/src/server.ts", + "/home/src/workspaces/projects/shared/src/logging.ts", + "/home/src/workspaces/projects/shared/src/myClass.ts", + "/home/src/workspaces/projects/shared/src/random.ts" +] +Program options: { + "composite": true, + "baseUrl": "/home/src/workspaces/projects/server/src", + "rootDir": "/home/src/workspaces/projects", + "outDir": "/home/src/workspaces/projects/server/dist", + "paths": { + ":shared/*": [ + "../../shared/src/*" + ] + }, + "pathsBasePath": "/home/src/workspaces/projects/server", + "watch": true, + "explainFiles": true, + "traceResolution": true, + "configFilePath": "/home/src/workspaces/projects/server/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/home/src/workspaces/projects/shared/dist/src/myClass.d.ts +/home/src/workspaces/projects/server/src/server.ts +/home/src/workspaces/projects/shared/dist/src/logging.d.ts +/home/src/workspaces/projects/shared/dist/src/random.d.ts + +Semantic diagnostics in builder refreshed for:: +/home/src/workspaces/projects/shared/dist/src/logging.d.ts + +Shape signatures in builder refreshed for:: +/home/src/workspaces/projects/shared/dist/src/logging.d.ts (used version) + +exitCode:: ExitStatus.undefined + +Change:: No change + +Input:: + + +exitCode:: ExitStatus.undefined + +Change:: delete random file + +Input:: +//// [/home/src/workspaces/projects/shared/src/random.ts] deleted + +Timeout callback:: count: 1 +7: timerToBuildInvalidatedProject *new* + +Before running Timeout callback:: count: 1 +7: timerToBuildInvalidatedProject + +Host is moving to new time +After running Timeout callback:: count: 1 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +[HH:MM:SS AM] Project 'projects/shared/tsconfig.json' is out of date because buildinfo file 'projects/shared/dist/tsconfig.tsbuildinfo' indicates that file 'projects/shared/src/random.ts' was root file of compilation but not any more. + +[HH:MM:SS AM] Building project '/home/src/workspaces/projects/shared/tsconfig.json'... + +File '/home/src/workspaces/projects/shared/src/package.json' does not exist. +File '/home/src/workspaces/projects/shared/package.json' does not exist. +File '/home/src/workspaces/projects/package.json' does not exist. +File '/home/src/workspaces/package.json' does not exist. +File '/home/src/package.json' does not exist. +File '/home/package.json' does not exist. +File '/package.json' does not exist. +File '/home/src/workspaces/projects/shared/src/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/a/lib/package.json' does not exist. +File '/a/package.json' does not exist. +File '/package.json' does not exist according to earlier cached lookups. +../../../a/lib/lib.d.ts + Default library for target 'es5' +projects/shared/src/logging.ts + Matched by include pattern 'src/**/*.ts' in 'projects/shared/tsconfig.json' +projects/shared/src/myClass.ts + Matched by include pattern 'src/**/*.ts' in 'projects/shared/tsconfig.json' + + +//// [/home/src/workspaces/projects/shared/dist/tsconfig.tsbuildinfo] +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../src/logging.ts","../src/myclass.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"483739938-export function log(str: string) {\n console.log(str);\n}\nexport const x = 10;","signature":"-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n","impliedFormat":1},{"version":"-10369713935-export class MyClass { }","signature":"-7943199723-export declare class MyClass {\n}\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"./"},"latestChangedDtsFile":"./src/logging.d.ts"},"version":"FakeTSVersion"} + +//// [/home/src/workspaces/projects/shared/dist/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../../../../a/lib/lib.d.ts", + "../src/logging.ts", + "../src/myclass.ts" + ], + "fileInfos": { + "../../../../../../a/lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "../src/logging.ts": { + "original": { + "version": "483739938-export function log(str: string) {\n console.log(str);\n}\nexport const x = 10;", + "signature": "-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n", + "impliedFormat": 1 + }, + "version": "483739938-export function log(str: string) {\n console.log(str);\n}\nexport const x = 10;", + "signature": "-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n", + "impliedFormat": "commonjs" + }, + "../src/myclass.ts": { + "original": { + "version": "-10369713935-export class MyClass { }", + "signature": "-7943199723-export declare class MyClass {\n}\n", + "impliedFormat": 1 + }, + "version": "-10369713935-export class MyClass { }", + "signature": "-7943199723-export declare class MyClass {\n}\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + 2, + "../src/logging.ts" + ], + [ + 3, + "../src/myclass.ts" + ] + ], + "options": { + "composite": true, + "outDir": "./" + }, + "latestChangedDtsFile": "./src/logging.d.ts" + }, + "version": "FakeTSVersion", + "size": 1102 +} + + +PolledWatches:: +/a/lib/package.json: + {"pollingInterval":2000} +/a/package.json: + {"pollingInterval":2000} +/home/package.json: + {"pollingInterval":2000} +/home/src/package.json: + {"pollingInterval":2000} +/home/src/workspaces/package.json: + {"pollingInterval":2000} +/home/src/workspaces/projects/package.json: + {"pollingInterval":2000} +/home/src/workspaces/projects/server/package.json: + {"pollingInterval":2000} +/home/src/workspaces/projects/server/src/package.json: + {"pollingInterval":2000} +/home/src/workspaces/projects/shared/dist/package.json: + {"pollingInterval":2000} +/home/src/workspaces/projects/shared/dist/src/package.json: + {"pollingInterval":2000} +/home/src/workspaces/projects/shared/package.json: + {"pollingInterval":2000} +/home/src/workspaces/projects/shared/src/package.json: + {"pollingInterval":2000} +/package.json: + {"pollingInterval":2000} + +FsWatches:: +/home/src/workspaces/projects/server/src/server.ts: + {} +/home/src/workspaces/projects/server/tsconfig.json: + {} +/home/src/workspaces/projects/shared/src/logging.ts: + {} +/home/src/workspaces/projects/shared/src/myClass.ts: + {} +/home/src/workspaces/projects/shared/tsconfig.json: + {} +/home/src/workspaces/tsconfig.json: + {} + +FsWatches *deleted*:: +/home/src/workspaces/projects/shared/src/random.ts: + {} + +FsWatchesRecursive:: +/home/src/workspaces/projects/server/src: + {} +/home/src/workspaces/projects/shared/src: + {} + +Timeout callback:: count: 1 +8: timerToBuildInvalidatedProject *new* + +Before running Timeout callback:: count: 1 +8: timerToBuildInvalidatedProject + +Host is moving to new time +After running Timeout callback:: count: 0 +Output:: +[HH:MM:SS AM] Project 'projects/server/tsconfig.json' is out of date because buildinfo file 'projects/server/dist/server/tsconfig.tsbuildinfo' indicates that file 'projects/shared/src/random.ts' was root file of compilation but not any more. + +[HH:MM:SS AM] Building project '/home/src/workspaces/projects/server/tsconfig.json'... + +File '/home/src/workspaces/projects/server/src/package.json' does not exist. +File '/home/src/workspaces/projects/server/package.json' does not exist. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +======== Resolving module ':shared/myClass.js' from '/home/src/workspaces/projects/server/src/server.ts'. ======== +Module resolution kind is not specified, using 'Node10'. +'baseUrl' option is set to '/home/src/workspaces/projects/server/src', using this value to resolve non-relative module name ':shared/myClass.js'. +'paths' option is specified, looking for a pattern to match module name ':shared/myClass.js'. +Module name ':shared/myClass.js', matched pattern ':shared/*'. +Trying substitution '../../shared/src/*', candidate module location: '../../shared/src/myClass.js'. +Loading module as file / folder, candidate module location '/home/src/workspaces/projects/shared/src/myClass.js', target file types: TypeScript, Declaration. +File name '/home/src/workspaces/projects/shared/src/myClass.js' has a '.js' extension - stripping it. +File '/home/src/workspaces/projects/shared/src/myClass.ts' exists - use it as a name resolution result. +======== Module name ':shared/myClass.js' was successfully resolved to '/home/src/workspaces/projects/shared/src/myClass.ts'. ======== +File '/home/src/workspaces/projects/shared/dist/src/package.json' does not exist. +File '/home/src/workspaces/projects/shared/dist/package.json' does not exist. +File '/home/src/workspaces/projects/shared/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/dist/src/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/dist/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/shared/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/workspaces/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/a/lib/package.json' does not exist according to earlier cached lookups. +File '/a/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +../../../a/lib/lib.d.ts + Default library for target 'es5' +projects/shared/dist/src/myClass.d.ts + Imported via ':shared/myClass.js' from file 'projects/server/src/server.ts' + Matched by include pattern '../shared/src/**/*.ts' in 'projects/server/tsconfig.json' + File is output of project reference source 'projects/shared/src/myClass.ts' +projects/server/src/server.ts + Matched by include pattern 'src/**/*.ts' in 'projects/server/tsconfig.json' +projects/shared/dist/src/logging.d.ts + Matched by include pattern '../shared/src/**/*.ts' in 'projects/server/tsconfig.json' + File is output of project reference source 'projects/shared/src/logging.ts' +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + +//// [/home/src/workspaces/projects/server/dist/server/tsconfig.tsbuildinfo] +{"program":{"fileNames":["../../../../../../../a/lib/lib.d.ts","../../../shared/dist/src/myclass.d.ts","../../src/server.ts","../../../shared/dist/src/logging.d.ts","../../../shared/src/logging.ts","../../../shared/src/myclass.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7943199723-export declare class MyClass {\n}\n","impliedFormat":1},{"version":"-19159694382-import { MyClass } from ':shared/myClass.js';\nconsole.log('Hello, world!');\n","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n","impliedFormat":1}],"root":[[2,4]],"resolvedRoot":[[4,5],[2,6]],"options":{"composite":true,"outDir":"..","rootDir":"../../.."},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./src/server.d.ts"},"version":"FakeTSVersion"} + +//// [/home/src/workspaces/projects/server/dist/server/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../../../../../a/lib/lib.d.ts", + "../../../shared/dist/src/myclass.d.ts", + "../../src/server.ts", + "../../../shared/dist/src/logging.d.ts", + "../../../shared/src/logging.ts", + "../../../shared/src/myclass.ts" + ], + "fileNamesList": [ + [ + "../../../shared/dist/src/myclass.d.ts" + ] + ], + "fileInfos": { + "../../../../../../../a/lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "../../../shared/dist/src/myclass.d.ts": { + "original": { + "version": "-7943199723-export declare class MyClass {\n}\n", + "impliedFormat": 1 + }, + "version": "-7943199723-export declare class MyClass {\n}\n", + "signature": "-7943199723-export declare class MyClass {\n}\n", + "impliedFormat": "commonjs" + }, + "../../src/server.ts": { + "original": { + "version": "-19159694382-import { MyClass } from ':shared/myClass.js';\nconsole.log('Hello, world!');\n", + "signature": "-3531856636-export {};\n", + "impliedFormat": 1 + }, + "version": "-19159694382-import { MyClass } from ':shared/myClass.js';\nconsole.log('Hello, world!');\n", + "signature": "-3531856636-export {};\n", + "impliedFormat": "commonjs" + }, + "../../../shared/dist/src/logging.d.ts": { + "original": { + "version": "-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n", + "impliedFormat": 1 + }, + "version": "-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n", + "signature": "-4937597761-export declare function log(str: string): void;\nexport declare const x = 10;\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 4 + ], + [ + "../../../shared/dist/src/myclass.d.ts", + "../../src/server.ts", + "../../../shared/dist/src/logging.d.ts" + ] + ] + ], + "resolvedRoot": [ + [ + [ + 4, + 5 + ], + [ + "../../../shared/dist/src/logging.d.ts", + "../../../shared/src/logging.ts" + ] + ], + [ + [ + 2, + 6 + ], + [ + "../../../shared/dist/src/myclass.d.ts", + "../../../shared/src/myclass.ts" + ] + ] + ], + "options": { + "composite": true, + "outDir": "..", + "rootDir": "../../.." + }, + "referencedMap": { + "../../src/server.ts": [ + "../../../shared/dist/src/myclass.d.ts" + ] + }, + "latestChangedDtsFile": "./src/server.d.ts" + }, + "version": "FakeTSVersion", + "size": 1332 +} + + + +Program root files: [ + "/home/src/workspaces/projects/shared/src/logging.ts", + "/home/src/workspaces/projects/shared/src/myClass.ts" +] +Program options: { + "composite": true, + "outDir": "/home/src/workspaces/projects/shared/dist", + "watch": true, + "explainFiles": true, + "traceResolution": true, + "configFilePath": "/home/src/workspaces/projects/shared/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/home/src/workspaces/projects/shared/src/logging.ts +/home/src/workspaces/projects/shared/src/myClass.ts + +Semantic diagnostics in builder refreshed for:: + +No shapes updated in the builder:: + +Program root files: [ + "/home/src/workspaces/projects/server/src/server.ts", + "/home/src/workspaces/projects/shared/src/logging.ts", + "/home/src/workspaces/projects/shared/src/myClass.ts" +] +Program options: { + "composite": true, + "baseUrl": "/home/src/workspaces/projects/server/src", + "rootDir": "/home/src/workspaces/projects", + "outDir": "/home/src/workspaces/projects/server/dist", + "paths": { + ":shared/*": [ + "../../shared/src/*" + ] + }, + "pathsBasePath": "/home/src/workspaces/projects/server", + "watch": true, + "explainFiles": true, + "traceResolution": true, + "configFilePath": "/home/src/workspaces/projects/server/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/home/src/workspaces/projects/shared/dist/src/myClass.d.ts +/home/src/workspaces/projects/server/src/server.ts +/home/src/workspaces/projects/shared/dist/src/logging.d.ts + +Semantic diagnostics in builder refreshed for:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Change:: No change + +Input:: + + +exitCode:: ExitStatus.undefined diff --git a/tests/baselines/reference/tsbuildWatch/watchEnvironment/same-file-in-multiple-projects-with-single-watcher-per-file.js b/tests/baselines/reference/tsbuildWatch/watchEnvironment/same-file-in-multiple-projects-with-single-watcher-per-file.js index 85b38059b850f..fdc0e1c165ba3 100644 --- a/tests/baselines/reference/tsbuildWatch/watchEnvironment/same-file-in-multiple-projects-with-single-watcher-per-file.js +++ b/tests/baselines/reference/tsbuildWatch/watchEnvironment/same-file-in-multiple-projects-with-single-watcher-per-file.js @@ -323,6 +323,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 4: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 1 Output:: >> Screen clear @@ -344,6 +345,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 5: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: [HH:MM:SS AM] Project 'pkg1/tsconfig.json' is out of date because output 'pkg1/index.js' is older than input 'typings/xterm.d.ts' @@ -482,6 +484,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 6: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -572,6 +575,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 9: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 1 Output:: >> Screen clear @@ -593,6 +597,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 10: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: [HH:MM:SS AM] Project 'pkg1/tsconfig.json' is out of date because output 'pkg1/index.js' is older than input 'typings/xterm.d.ts' @@ -694,6 +699,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 11: timerToBuildInvalidatedProject +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tsc/cancellationToken/when-emitting-buildInfo.js b/tests/baselines/reference/tsc/cancellationToken/when-emitting-buildInfo.js index 5c9a2900a5b8f..12da95cf03a4a 100644 --- a/tests/baselines/reference/tsc/cancellationToken/when-emitting-buildInfo.js +++ b/tests/baselines/reference/tsc/cancellationToken/when-emitting-buildInfo.js @@ -13,9 +13,9 @@ export class B { } //// [/user/username/projects/myproject/c.ts] -export class C { +export var C = class CReal { d = 1; -} +}; //// [/user/username/projects/myproject/d.ts] export class D { } @@ -46,19 +46,20 @@ interface Array { length: number; [n: number]: T; } "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.C = void 0; -var C = /** @class */ (function () { - function C() { +exports.C = /** @class */ (function () { + function CReal() { this.d = 1; } - return C; + return CReal; }()); -exports.C = C; //// [/user/username/projects/myproject/c.d.ts] -export declare class C { - d: number; -} +export declare var C: { + new (): { + d: number; + }; +}; //// [/user/username/projects/myproject/b.js] @@ -76,9 +77,10 @@ exports.B = B; //// [/user/username/projects/myproject/b.d.ts] -import { C } from './c'; export declare class B { - c: C; + c: { + d: number; + }; } @@ -112,7 +114,7 @@ export declare class D { //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts","./d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5130721255-export class C {\n d = 1;\n}","signature":"-6977846840-export declare class C {\n d: number;\n}\n","impliedFormat":1},{"version":"-6441446591-import {C} from './c';\nexport class B {\n c = new C();\n}","signature":"-165097315-import { C } from './c';\nexport declare class B {\n c: C;\n}\n","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-7804761415-export class D { }","signature":"-8611429667-export declare class D {\n}\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,4,3,2,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts","./d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"6071811233-export var C = class CReal {\n d = 1;\n};","signature":"-2874569268-export declare var C: {\n new (): {\n d: number;\n };\n};\n","impliedFormat":1},{"version":"-6441446591-import {C} from './c';\nexport class B {\n c = new C();\n}","signature":"-12916012021-export declare class B {\n c: {\n d: number;\n };\n}\n","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-7804761415-export class D { }","signature":"-8611429667-export declare class D {\n}\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -146,22 +148,22 @@ export declare class D { }, "./c.ts": { "original": { - "version": "-5130721255-export class C {\n d = 1;\n}", - "signature": "-6977846840-export declare class C {\n d: number;\n}\n", + "version": "6071811233-export var C = class CReal {\n d = 1;\n};", + "signature": "-2874569268-export declare var C: {\n new (): {\n d: number;\n };\n};\n", "impliedFormat": 1 }, - "version": "-5130721255-export class C {\n d = 1;\n}", - "signature": "-6977846840-export declare class C {\n d: number;\n}\n", + "version": "6071811233-export var C = class CReal {\n d = 1;\n};", + "signature": "-2874569268-export declare var C: {\n new (): {\n d: number;\n };\n};\n", "impliedFormat": "commonjs" }, "./b.ts": { "original": { "version": "-6441446591-import {C} from './c';\nexport class B {\n c = new C();\n}", - "signature": "-165097315-import { C } from './c';\nexport declare class B {\n c: C;\n}\n", + "signature": "-12916012021-export declare class B {\n c: {\n d: number;\n };\n}\n", "impliedFormat": 1 }, "version": "-6441446591-import {C} from './c';\nexport class B {\n c = new C();\n}", - "signature": "-165097315-import { C } from './c';\nexport declare class B {\n c: C;\n}\n", + "signature": "-12916012021-export declare class B {\n c: {\n d: number;\n };\n}\n", "impliedFormat": "commonjs" }, "./a.ts": { @@ -209,17 +211,10 @@ export declare class D { "./b.ts": [ "./c.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1326 + "size": 1327 } @@ -262,9 +257,9 @@ Change:: Add change that affects d.ts Input:: //// [/user/username/projects/myproject/c.ts] -export class C { +export var C = class CReal { d = 1; -}export function foo() {} +};export function foo() {} Output:: @@ -273,7 +268,7 @@ Operation ws cancelled:: true //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts","./d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"840271342-export class C {\n d = 1;\n}export function foo() {}","signature":"-6977846840-export declare class C {\n d: number;\n}\n","impliedFormat":1},{"version":"-6441446591-import {C} from './c';\nexport class B {\n c = new C();\n}","signature":"-165097315-import { C } from './c';\nexport declare class B {\n c: C;\n}\n","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-7804761415-export class D { }","signature":"-8611429667-export declare class D {\n}\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,4,3,5],"changeFileSet":[2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts","./d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8116587914-export var C = class CReal {\n d = 1;\n};export function foo() {}","signature":"-2874569268-export declare var C: {\n new (): {\n d: number;\n };\n};\n","impliedFormat":1},{"version":"-6441446591-import {C} from './c';\nexport class B {\n c = new C();\n}","signature":"-12916012021-export declare class B {\n c: {\n d: number;\n };\n}\n","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-7804761415-export class D { }","signature":"-8611429667-export declare class D {\n}\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"changeFileSet":[2]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -307,22 +302,22 @@ Operation ws cancelled:: true }, "./c.ts": { "original": { - "version": "840271342-export class C {\n d = 1;\n}export function foo() {}", - "signature": "-6977846840-export declare class C {\n d: number;\n}\n", + "version": "-8116587914-export var C = class CReal {\n d = 1;\n};export function foo() {}", + "signature": "-2874569268-export declare var C: {\n new (): {\n d: number;\n };\n};\n", "impliedFormat": 1 }, - "version": "840271342-export class C {\n d = 1;\n}export function foo() {}", - "signature": "-6977846840-export declare class C {\n d: number;\n}\n", + "version": "-8116587914-export var C = class CReal {\n d = 1;\n};export function foo() {}", + "signature": "-2874569268-export declare var C: {\n new (): {\n d: number;\n };\n};\n", "impliedFormat": "commonjs" }, "./b.ts": { "original": { "version": "-6441446591-import {C} from './c';\nexport class B {\n c = new C();\n}", - "signature": "-165097315-import { C } from './c';\nexport declare class B {\n c: C;\n}\n", + "signature": "-12916012021-export declare class B {\n c: {\n d: number;\n };\n}\n", "impliedFormat": 1 }, "version": "-6441446591-import {C} from './c';\nexport class B {\n c = new C();\n}", - "signature": "-165097315-import { C } from './c';\nexport declare class B {\n c: C;\n}\n", + "signature": "-12916012021-export declare class B {\n c: {\n d: number;\n };\n}\n", "impliedFormat": "commonjs" }, "./a.ts": { @@ -371,18 +366,12 @@ Operation ws cancelled:: true "./c.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./d.ts" - ], "changeFileSet": [ "./c.ts" ] }, "version": "FakeTSVersion", - "size": 1366 + "size": 1372 } @@ -421,20 +410,21 @@ Input:: Object.defineProperty(exports, "__esModule", { value: true }); exports.C = void 0; exports.foo = foo; -var C = /** @class */ (function () { - function C() { +exports.C = /** @class */ (function () { + function CReal() { this.d = 1; } - return C; + return CReal; }()); -exports.C = C; function foo() { } //// [/user/username/projects/myproject/c.d.ts] -export declare class C { - d: number; -} +export declare var C: { + new (): { + d: number; + }; +}; export declare function foo(): void; @@ -442,7 +432,7 @@ export declare function foo(): void; //// [/user/username/projects/myproject/b.d.ts] file written with same contents //// [/user/username/projects/myproject/a.d.ts] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts","./d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"840271342-export class C {\n d = 1;\n}export function foo() {}","signature":"-7819740442-export declare class C {\n d: number;\n}\nexport declare function foo(): void;\n","impliedFormat":1},{"version":"-6441446591-import {C} from './c';\nexport class B {\n c = new C();\n}","signature":"-165097315-import { C } from './c';\nexport declare class B {\n c: C;\n}\n","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-7804761415-export class D { }","signature":"-8611429667-export declare class D {\n}\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,4,3,2,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts","./d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8116587914-export var C = class CReal {\n d = 1;\n};export function foo() {}","signature":"-544179862-export declare var C: {\n new (): {\n d: number;\n };\n};\nexport declare function foo(): void;\n","impliedFormat":1},{"version":"-6441446591-import {C} from './c';\nexport class B {\n c = new C();\n}","signature":"-12916012021-export declare class B {\n c: {\n d: number;\n };\n}\n","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-7804761415-export class D { }","signature":"-8611429667-export declare class D {\n}\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -476,22 +466,22 @@ export declare function foo(): void; }, "./c.ts": { "original": { - "version": "840271342-export class C {\n d = 1;\n}export function foo() {}", - "signature": "-7819740442-export declare class C {\n d: number;\n}\nexport declare function foo(): void;\n", + "version": "-8116587914-export var C = class CReal {\n d = 1;\n};export function foo() {}", + "signature": "-544179862-export declare var C: {\n new (): {\n d: number;\n };\n};\nexport declare function foo(): void;\n", "impliedFormat": 1 }, - "version": "840271342-export class C {\n d = 1;\n}export function foo() {}", - "signature": "-7819740442-export declare class C {\n d: number;\n}\nexport declare function foo(): void;\n", + "version": "-8116587914-export var C = class CReal {\n d = 1;\n};export function foo() {}", + "signature": "-544179862-export declare var C: {\n new (): {\n d: number;\n };\n};\nexport declare function foo(): void;\n", "impliedFormat": "commonjs" }, "./b.ts": { "original": { "version": "-6441446591-import {C} from './c';\nexport class B {\n c = new C();\n}", - "signature": "-165097315-import { C } from './c';\nexport declare class B {\n c: C;\n}\n", + "signature": "-12916012021-export declare class B {\n c: {\n d: number;\n };\n}\n", "impliedFormat": 1 }, "version": "-6441446591-import {C} from './c';\nexport class B {\n c = new C();\n}", - "signature": "-165097315-import { C } from './c';\nexport declare class B {\n c: C;\n}\n", + "signature": "-12916012021-export declare class B {\n c: {\n d: number;\n };\n}\n", "impliedFormat": "commonjs" }, "./a.ts": { @@ -539,17 +529,10 @@ export declare function foo(): void; "./b.ts": [ "./c.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1386 + "size": 1389 } diff --git a/tests/baselines/reference/tsc/cancellationToken/when-using-state.js b/tests/baselines/reference/tsc/cancellationToken/when-using-state.js index 8370dc648cff3..eb97047e20b34 100644 --- a/tests/baselines/reference/tsc/cancellationToken/when-using-state.js +++ b/tests/baselines/reference/tsc/cancellationToken/when-using-state.js @@ -13,9 +13,9 @@ export class B { } //// [/user/username/projects/myproject/c.ts] -export class C { +export var C = class CReal { d = 1; -} +}; //// [/user/username/projects/myproject/d.ts] export class D { } @@ -46,19 +46,20 @@ interface Array { length: number; [n: number]: T; } "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.C = void 0; -var C = /** @class */ (function () { - function C() { +exports.C = /** @class */ (function () { + function CReal() { this.d = 1; } - return C; + return CReal; }()); -exports.C = C; //// [/user/username/projects/myproject/c.d.ts] -export declare class C { - d: number; -} +export declare var C: { + new (): { + d: number; + }; +}; //// [/user/username/projects/myproject/b.js] @@ -76,9 +77,10 @@ exports.B = B; //// [/user/username/projects/myproject/b.d.ts] -import { C } from './c'; export declare class B { - c: C; + c: { + d: number; + }; } @@ -112,7 +114,7 @@ export declare class D { //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts","./d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5130721255-export class C {\n d = 1;\n}","signature":"-6977846840-export declare class C {\n d: number;\n}\n","impliedFormat":1},{"version":"-6441446591-import {C} from './c';\nexport class B {\n c = new C();\n}","signature":"-165097315-import { C } from './c';\nexport declare class B {\n c: C;\n}\n","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-7804761415-export class D { }","signature":"-8611429667-export declare class D {\n}\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,4,3,2,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts","./d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"6071811233-export var C = class CReal {\n d = 1;\n};","signature":"-2874569268-export declare var C: {\n new (): {\n d: number;\n };\n};\n","impliedFormat":1},{"version":"-6441446591-import {C} from './c';\nexport class B {\n c = new C();\n}","signature":"-12916012021-export declare class B {\n c: {\n d: number;\n };\n}\n","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-7804761415-export class D { }","signature":"-8611429667-export declare class D {\n}\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -146,22 +148,22 @@ export declare class D { }, "./c.ts": { "original": { - "version": "-5130721255-export class C {\n d = 1;\n}", - "signature": "-6977846840-export declare class C {\n d: number;\n}\n", + "version": "6071811233-export var C = class CReal {\n d = 1;\n};", + "signature": "-2874569268-export declare var C: {\n new (): {\n d: number;\n };\n};\n", "impliedFormat": 1 }, - "version": "-5130721255-export class C {\n d = 1;\n}", - "signature": "-6977846840-export declare class C {\n d: number;\n}\n", + "version": "6071811233-export var C = class CReal {\n d = 1;\n};", + "signature": "-2874569268-export declare var C: {\n new (): {\n d: number;\n };\n};\n", "impliedFormat": "commonjs" }, "./b.ts": { "original": { "version": "-6441446591-import {C} from './c';\nexport class B {\n c = new C();\n}", - "signature": "-165097315-import { C } from './c';\nexport declare class B {\n c: C;\n}\n", + "signature": "-12916012021-export declare class B {\n c: {\n d: number;\n };\n}\n", "impliedFormat": 1 }, "version": "-6441446591-import {C} from './c';\nexport class B {\n c = new C();\n}", - "signature": "-165097315-import { C } from './c';\nexport declare class B {\n c: C;\n}\n", + "signature": "-12916012021-export declare class B {\n c: {\n d: number;\n };\n}\n", "impliedFormat": "commonjs" }, "./a.ts": { @@ -209,17 +211,10 @@ export declare class D { "./b.ts": [ "./c.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1326 + "size": 1327 } @@ -262,9 +257,9 @@ Change:: Add change that affects d.ts Input:: //// [/user/username/projects/myproject/c.ts] -export class C { +export var C = class CReal { d = 1; -}export function foo() {} +};export function foo() {} Output:: @@ -273,7 +268,7 @@ Operation ws cancelled:: true //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts","./d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"840271342-export class C {\n d = 1;\n}export function foo() {}","signature":"-6977846840-export declare class C {\n d: number;\n}\n","impliedFormat":1},{"version":"-6441446591-import {C} from './c';\nexport class B {\n c = new C();\n}","signature":"-165097315-import { C } from './c';\nexport declare class B {\n c: C;\n}\n","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-7804761415-export class D { }","signature":"-8611429667-export declare class D {\n}\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,4,3,5],"changeFileSet":[2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts","./d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8116587914-export var C = class CReal {\n d = 1;\n};export function foo() {}","signature":"-2874569268-export declare var C: {\n new (): {\n d: number;\n };\n};\n","impliedFormat":1},{"version":"-6441446591-import {C} from './c';\nexport class B {\n c = new C();\n}","signature":"-12916012021-export declare class B {\n c: {\n d: number;\n };\n}\n","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-7804761415-export class D { }","signature":"-8611429667-export declare class D {\n}\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"changeFileSet":[2]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -307,22 +302,22 @@ Operation ws cancelled:: true }, "./c.ts": { "original": { - "version": "840271342-export class C {\n d = 1;\n}export function foo() {}", - "signature": "-6977846840-export declare class C {\n d: number;\n}\n", + "version": "-8116587914-export var C = class CReal {\n d = 1;\n};export function foo() {}", + "signature": "-2874569268-export declare var C: {\n new (): {\n d: number;\n };\n};\n", "impliedFormat": 1 }, - "version": "840271342-export class C {\n d = 1;\n}export function foo() {}", - "signature": "-6977846840-export declare class C {\n d: number;\n}\n", + "version": "-8116587914-export var C = class CReal {\n d = 1;\n};export function foo() {}", + "signature": "-2874569268-export declare var C: {\n new (): {\n d: number;\n };\n};\n", "impliedFormat": "commonjs" }, "./b.ts": { "original": { "version": "-6441446591-import {C} from './c';\nexport class B {\n c = new C();\n}", - "signature": "-165097315-import { C } from './c';\nexport declare class B {\n c: C;\n}\n", + "signature": "-12916012021-export declare class B {\n c: {\n d: number;\n };\n}\n", "impliedFormat": 1 }, "version": "-6441446591-import {C} from './c';\nexport class B {\n c = new C();\n}", - "signature": "-165097315-import { C } from './c';\nexport declare class B {\n c: C;\n}\n", + "signature": "-12916012021-export declare class B {\n c: {\n d: number;\n };\n}\n", "impliedFormat": "commonjs" }, "./a.ts": { @@ -371,18 +366,12 @@ Operation ws cancelled:: true "./c.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./d.ts" - ], "changeFileSet": [ "./c.ts" ] }, "version": "FakeTSVersion", - "size": 1366 + "size": 1372 } @@ -421,20 +410,21 @@ Input:: Object.defineProperty(exports, "__esModule", { value: true }); exports.C = void 0; exports.foo = foo; -var C = /** @class */ (function () { - function C() { +exports.C = /** @class */ (function () { + function CReal() { this.d = 1; } - return C; + return CReal; }()); -exports.C = C; function foo() { } //// [/user/username/projects/myproject/c.d.ts] -export declare class C { - d: number; -} +export declare var C: { + new (): { + d: number; + }; +}; export declare function foo(): void; @@ -442,7 +432,7 @@ export declare function foo(): void; //// [/user/username/projects/myproject/b.d.ts] file written with same contents //// [/user/username/projects/myproject/a.d.ts] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts","./d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"840271342-export class C {\n d = 1;\n}export function foo() {}","signature":"-7819740442-export declare class C {\n d: number;\n}\nexport declare function foo(): void;\n","impliedFormat":1},{"version":"-6441446591-import {C} from './c';\nexport class B {\n c = new C();\n}","signature":"-165097315-import { C } from './c';\nexport declare class B {\n c: C;\n}\n","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-7804761415-export class D { }","signature":"-8611429667-export declare class D {\n}\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,4,3,2,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts","./d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8116587914-export var C = class CReal {\n d = 1;\n};export function foo() {}","signature":"-544179862-export declare var C: {\n new (): {\n d: number;\n };\n};\nexport declare function foo(): void;\n","impliedFormat":1},{"version":"-6441446591-import {C} from './c';\nexport class B {\n c = new C();\n}","signature":"-12916012021-export declare class B {\n c: {\n d: number;\n };\n}\n","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-7804761415-export class D { }","signature":"-8611429667-export declare class D {\n}\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -476,22 +466,22 @@ export declare function foo(): void; }, "./c.ts": { "original": { - "version": "840271342-export class C {\n d = 1;\n}export function foo() {}", - "signature": "-7819740442-export declare class C {\n d: number;\n}\nexport declare function foo(): void;\n", + "version": "-8116587914-export var C = class CReal {\n d = 1;\n};export function foo() {}", + "signature": "-544179862-export declare var C: {\n new (): {\n d: number;\n };\n};\nexport declare function foo(): void;\n", "impliedFormat": 1 }, - "version": "840271342-export class C {\n d = 1;\n}export function foo() {}", - "signature": "-7819740442-export declare class C {\n d: number;\n}\nexport declare function foo(): void;\n", + "version": "-8116587914-export var C = class CReal {\n d = 1;\n};export function foo() {}", + "signature": "-544179862-export declare var C: {\n new (): {\n d: number;\n };\n};\nexport declare function foo(): void;\n", "impliedFormat": "commonjs" }, "./b.ts": { "original": { "version": "-6441446591-import {C} from './c';\nexport class B {\n c = new C();\n}", - "signature": "-165097315-import { C } from './c';\nexport declare class B {\n c: C;\n}\n", + "signature": "-12916012021-export declare class B {\n c: {\n d: number;\n };\n}\n", "impliedFormat": 1 }, "version": "-6441446591-import {C} from './c';\nexport class B {\n c = new C();\n}", - "signature": "-165097315-import { C } from './c';\nexport declare class B {\n c: C;\n}\n", + "signature": "-12916012021-export declare class B {\n c: {\n d: number;\n };\n}\n", "impliedFormat": "commonjs" }, "./a.ts": { @@ -539,17 +529,10 @@ export declare function foo(): void; "./b.ts": [ "./c.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1386 + "size": 1389 } diff --git a/tests/baselines/reference/tsc/composite/converting-to-modules.js b/tests/baselines/reference/tsc/composite/converting-to-modules.js index fc07c495c2a1b..0d35fc6eb1713 100644 --- a/tests/baselines/reference/tsc/composite/converting-to-modules.js +++ b/tests/baselines/reference/tsc/composite/converting-to-modules.js @@ -42,7 +42,7 @@ var x = 10; //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./src/main.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"5029505981-const x = 10;","signature":"-4001438729-declare const x = 10;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"options":{"composite":true,"module":0},"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./src/main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./src/main.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"5029505981-const x = 10;","signature":"-4001438729-declare const x = 10;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"options":{"composite":true,"module":0},"latestChangedDtsFile":"./src/main.d.ts"},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -86,14 +86,10 @@ var x = 10; "composite": true, "module": 0 }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/main.ts" - ], "latestChangedDtsFile": "./src/main.d.ts" }, "version": "FakeTSVersion", - "size": 861 + "size": 826 } @@ -117,7 +113,7 @@ exitCode:: ExitStatus.Success //// [/src/project/src/main.js] file written with same contents //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./src/main.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"5029505981-const x = 10;","signature":"-4001438729-declare const x = 10;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"options":{"composite":true,"module":5},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./src/main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./src/main.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"5029505981-const x = 10;","signature":"-4001438729-declare const x = 10;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"options":{"composite":true,"module":5},"latestChangedDtsFile":"./src/main.d.ts"},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -161,14 +157,9 @@ exitCode:: ExitStatus.Success "composite": true, "module": 5 }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/main.ts" - ], "latestChangedDtsFile": "./src/main.d.ts" }, "version": "FakeTSVersion", - "size": 880 + "size": 826 } diff --git a/tests/baselines/reference/tsc/declarationEmit/reports-dts-generation-errors-outFile-with-incremental.js b/tests/baselines/reference/tsc/declarationEmit/reports-dts-generation-errors-outFile-with-incremental.js new file mode 100644 index 0000000000000..6da0582c0ff94 --- /dev/null +++ b/tests/baselines/reference/tsc/declarationEmit/reports-dts-generation-errors-outFile-with-incremental.js @@ -0,0 +1,150 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Input:: +//// [/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/lib/lib.esnext.full.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/src/project/ky.d.ts] +type KyInstance = { + extend(options: Record): KyInstance; +} +declare const ky: KyInstance; +export default ky; + + +//// [/src/project/src/index.ts] +import ky from 'ky'; +export const api = ky.extend({}); + + +//// [/src/project/tsconfig.json] +{ + "compilerOptions": { + "module": "amd", + "composite": true, + "incremental": true, + "skipLibCheck": true, + "skipDefaultLibCheck": true, + "outFile": "./outFile.js" + }, + "include": [ + "src" + ] +} + + + +Output:: +/lib/tsc -p /src/project --explainFiles --listEmittedFiles +src/project/src/index.ts:2:14 - error TS4023: Exported variable 'api' has or is using name 'KyInstance' from external module "/src/project/ky" but cannot be named. + +2 export const api = ky.extend({}); +   ~~~ + +TSFILE: /src/project/outFile.js +lib/lib.d.ts + Default library for target 'es5' +src/project/ky.d.ts + Imported via 'ky' from file 'src/project/src/index.ts' +src/project/src/index.ts + Matched by include pattern 'src' in 'src/project/tsconfig.json' + +Found 1 error in src/project/src/index.ts:2 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + +//// [/src/project/outFile.js] +define("src/index", ["require", "exports", "ky"], function (require, exports, ky_1) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.api = void 0; + exports.api = ky_1.default.extend({}); +}); + + + + +Change:: no-change-run +Input:: + + +Output:: +/lib/tsc -p /src/project --explainFiles --listEmittedFiles +src/project/src/index.ts:2:14 - error TS4023: Exported variable 'api' has or is using name 'KyInstance' from external module "/src/project/ky" but cannot be named. + +2 export const api = ky.extend({}); +   ~~~ + +TSFILE: /src/project/outFile.js +lib/lib.d.ts + Default library for target 'es5' +src/project/ky.d.ts + Imported via 'ky' from file 'src/project/src/index.ts' +src/project/src/index.ts + Matched by include pattern 'src' in 'src/project/tsconfig.json' + +Found 1 error in src/project/src/index.ts:2 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + +//// [/src/project/outFile.js] file written with same contents + + +Change:: no-change-run +Input:: + + +Output:: +/lib/tsc -b /src/project --explainFiles --listEmittedFiles -v +[HH:MM:SS AM] Projects in this build: + * src/project/tsconfig.json + +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is out of date because output file 'src/project/outFile.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/src/project/tsconfig.json'... + +src/project/src/index.ts:2:14 - error TS4023: Exported variable 'api' has or is using name 'KyInstance' from external module "/src/project/ky" but cannot be named. + +2 export const api = ky.extend({}); +   ~~~ + +lib/lib.d.ts + Default library for target 'es5' +src/project/ky.d.ts + Imported via 'ky' from file 'src/project/src/index.ts' +src/project/src/index.ts + Matched by include pattern 'src' in 'src/project/tsconfig.json' + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + diff --git a/tests/baselines/reference/tsc/declarationEmit/reports-dts-generation-errors-outFile.js b/tests/baselines/reference/tsc/declarationEmit/reports-dts-generation-errors-outFile.js new file mode 100644 index 0000000000000..c8483c2739db5 --- /dev/null +++ b/tests/baselines/reference/tsc/declarationEmit/reports-dts-generation-errors-outFile.js @@ -0,0 +1,149 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Input:: +//// [/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/lib/lib.esnext.full.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/src/project/ky.d.ts] +type KyInstance = { + extend(options: Record): KyInstance; +} +declare const ky: KyInstance; +export default ky; + + +//// [/src/project/src/index.ts] +import ky from 'ky'; +export const api = ky.extend({}); + + +//// [/src/project/tsconfig.json] +{ + "compilerOptions": { + "module": "amd", + "declaration": true, + "skipLibCheck": true, + "skipDefaultLibCheck": true, + "outFile": "./outFile.js" + }, + "include": [ + "src" + ] +} + + + +Output:: +/lib/tsc -p /src/project --explainFiles --listEmittedFiles +src/project/src/index.ts:2:14 - error TS4023: Exported variable 'api' has or is using name 'KyInstance' from external module "/src/project/ky" but cannot be named. + +2 export const api = ky.extend({}); +   ~~~ + +TSFILE: /src/project/outFile.js +lib/lib.d.ts + Default library for target 'es5' +src/project/ky.d.ts + Imported via 'ky' from file 'src/project/src/index.ts' +src/project/src/index.ts + Matched by include pattern 'src' in 'src/project/tsconfig.json' + +Found 1 error in src/project/src/index.ts:2 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + +//// [/src/project/outFile.js] +define("index", ["require", "exports", "ky"], function (require, exports, ky_1) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.api = void 0; + exports.api = ky_1.default.extend({}); +}); + + + + +Change:: no-change-run +Input:: + + +Output:: +/lib/tsc -p /src/project --explainFiles --listEmittedFiles +src/project/src/index.ts:2:14 - error TS4023: Exported variable 'api' has or is using name 'KyInstance' from external module "/src/project/ky" but cannot be named. + +2 export const api = ky.extend({}); +   ~~~ + +TSFILE: /src/project/outFile.js +lib/lib.d.ts + Default library for target 'es5' +src/project/ky.d.ts + Imported via 'ky' from file 'src/project/src/index.ts' +src/project/src/index.ts + Matched by include pattern 'src' in 'src/project/tsconfig.json' + +Found 1 error in src/project/src/index.ts:2 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + +//// [/src/project/outFile.js] file written with same contents + + +Change:: no-change-run +Input:: + + +Output:: +/lib/tsc -b /src/project --explainFiles --listEmittedFiles -v +[HH:MM:SS AM] Projects in this build: + * src/project/tsconfig.json + +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is out of date because output file 'src/project/outFile.d.ts' does not exist + +[HH:MM:SS AM] Building project '/src/project/tsconfig.json'... + +src/project/src/index.ts:2:14 - error TS4023: Exported variable 'api' has or is using name 'KyInstance' from external module "/src/project/ky" but cannot be named. + +2 export const api = ky.extend({}); +   ~~~ + +lib/lib.d.ts + Default library for target 'es5' +src/project/ky.d.ts + Imported via 'ky' from file 'src/project/src/index.ts' +src/project/src/index.ts + Matched by include pattern 'src' in 'src/project/tsconfig.json' + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + diff --git a/tests/baselines/reference/tsc/incremental/reports-dts-generation-errors.js b/tests/baselines/reference/tsc/declarationEmit/reports-dts-generation-errors-with-incremental.js similarity index 81% rename from tests/baselines/reference/tsc/incremental/reports-dts-generation-errors.js rename to tests/baselines/reference/tsc/declarationEmit/reports-dts-generation-errors-with-incremental.js index 47643b4575f5b..2df4acad0625b 100644 --- a/tests/baselines/reference/tsc/incremental/reports-dts-generation-errors.js +++ b/tests/baselines/reference/tsc/declarationEmit/reports-dts-generation-errors-with-incremental.js @@ -37,10 +37,10 @@ export const api = ky.extend({}); //// [/src/project/node_modules/ky/distribution/index.d.ts] type KyInstance = { - extend(options: Record): KyInstance; - } - declare const ky: KyInstance; - export default ky; + extend(options: Record): KyInstance; +} +declare const ky: KyInstance; +export default ky; //// [/src/project/node_modules/ky/package.json] @@ -61,6 +61,7 @@ type KyInstance = { "module": "NodeNext", "moduleResolution": "NodeNext", "composite": true, + "incremental": true, "skipLibCheck": true, "skipDefaultLibCheck": true } @@ -97,7 +98,7 @@ export const api = ky.extend({}); //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.esnext.full.d.ts","./node_modules/ky/distribution/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"20726041391-type KyInstance = {\n extend(options: Record): KyInstance;\n }\n declare const ky: KyInstance;\n export default ky;\n","impliedFormat":99},{"version":"-383421929-import ky from 'ky';\nexport const api = ky.extend({});\n","impliedFormat":99}],"root":[3],"options":{"composite":true,"module":199,"skipDefaultLibCheck":true,"skipLibCheck":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,3,2],"emitDiagnosticsPerFile":[[3,[{"file":"./index.ts","start":34,"length":3,"messageText":"Exported variable 'api' has or is using name 'KyInstance' from external module \"/src/project/node_modules/ky/distribution/index\" but cannot be named.","category":1,"code":4023}]]],"emitSignatures":[3]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.esnext.full.d.ts","./node_modules/ky/distribution/index.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"10101889135-type KyInstance = {\n extend(options: Record): KyInstance;\n}\ndeclare const ky: KyInstance;\nexport default ky;\n","impliedFormat":99},{"version":"-383421929-import ky from 'ky';\nexport const api = ky.extend({});\n","impliedFormat":99}],"root":[3],"options":{"composite":true,"module":199,"skipDefaultLibCheck":true,"skipLibCheck":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"emitDiagnosticsPerFile":[[3,[{"start":34,"length":3,"messageText":"Exported variable 'api' has or is using name 'KyInstance' from external module \"/src/project/node_modules/ky/distribution/index\" but cannot be named.","category":1,"code":4023}]]],"emitSignatures":[3]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -126,11 +127,11 @@ export const api = ky.extend({}); }, "./node_modules/ky/distribution/index.d.ts": { "original": { - "version": "20726041391-type KyInstance = {\n extend(options: Record): KyInstance;\n }\n declare const ky: KyInstance;\n export default ky;\n", + "version": "10101889135-type KyInstance = {\n extend(options: Record): KyInstance;\n}\ndeclare const ky: KyInstance;\nexport default ky;\n", "impliedFormat": 99 }, - "version": "20726041391-type KyInstance = {\n extend(options: Record): KyInstance;\n }\n declare const ky: KyInstance;\n export default ky;\n", - "signature": "20726041391-type KyInstance = {\n extend(options: Record): KyInstance;\n }\n declare const ky: KyInstance;\n export default ky;\n", + "version": "10101889135-type KyInstance = {\n extend(options: Record): KyInstance;\n}\ndeclare const ky: KyInstance;\nexport default ky;\n", + "signature": "10101889135-type KyInstance = {\n extend(options: Record): KyInstance;\n}\ndeclare const ky: KyInstance;\nexport default ky;\n", "impliedFormat": "esnext" }, "./index.ts": { @@ -160,17 +161,11 @@ export const api = ky.extend({}); "./node_modules/ky/distribution/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.esnext.full.d.ts", - "./index.ts", - "./node_modules/ky/distribution/index.d.ts" - ], "emitDiagnosticsPerFile": [ [ "./index.ts", [ { - "file": "./index.ts", "start": 34, "length": 3, "messageText": "Exported variable 'api' has or is using name 'KyInstance' from external module \"/src/project/node_modules/ky/distribution/index\" but cannot be named.", @@ -185,7 +180,7 @@ export const api = ky.extend({}); ] }, "version": "FakeTSVersion", - "size": 1411 + "size": 1350 } @@ -223,12 +218,12 @@ Input:: Output:: /lib/tsc -b /src/project --explainFiles --listEmittedFiles -v -[12:00:19 AM] Projects in this build: +[HH:MM:SS AM] Projects in this build: * src/project/tsconfig.json -[12:00:20 AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/project/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is out of date because buildinfo file 'src/project/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted -[12:00:21 AM] Building project '/src/project/tsconfig.json'... +[HH:MM:SS AM] Building project '/src/project/tsconfig.json'... src/project/index.ts:2:14 - error TS4023: Exported variable 'api' has or is using name 'KyInstance' from external module "/src/project/node_modules/ky/distribution/index" but cannot be named. diff --git a/tests/baselines/reference/tsc/declarationEmit/reports-dts-generation-errors.js b/tests/baselines/reference/tsc/declarationEmit/reports-dts-generation-errors.js new file mode 100644 index 0000000000000..e41a24f674018 --- /dev/null +++ b/tests/baselines/reference/tsc/declarationEmit/reports-dts-generation-errors.js @@ -0,0 +1,160 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Input:: +//// [/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/lib/lib.esnext.full.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/src/project/index.ts] +import ky from 'ky'; +export const api = ky.extend({}); + + +//// [/src/project/node_modules/ky/distribution/index.d.ts] +type KyInstance = { + extend(options: Record): KyInstance; +} +declare const ky: KyInstance; +export default ky; + + +//// [/src/project/node_modules/ky/package.json] +{ + "name": "ky", + "type": "module", + "main": "./distribution/index.js" +} + +//// [/src/project/package.json] +{ + "type": "module" +} + +//// [/src/project/tsconfig.json] +{ + "compilerOptions": { + "module": "NodeNext", + "moduleResolution": "NodeNext", + "declaration": true, + "skipLibCheck": true, + "skipDefaultLibCheck": true + } +} + + + +Output:: +/lib/tsc -p /src/project --explainFiles --listEmittedFiles +src/project/index.ts:2:14 - error TS4023: Exported variable 'api' has or is using name 'KyInstance' from external module "/src/project/node_modules/ky/distribution/index" but cannot be named. + +2 export const api = ky.extend({}); +   ~~~ + +TSFILE: /src/project/index.js +lib/lib.esnext.full.d.ts + Default library for target 'esnext' +src/project/node_modules/ky/distribution/index.d.ts + Imported via 'ky' from file 'src/project/index.ts' + File is ECMAScript module because 'src/project/node_modules/ky/package.json' has field "type" with value "module" +src/project/index.ts + Matched by default include pattern '**/*' + File is ECMAScript module because 'src/project/package.json' has field "type" with value "module" + +Found 1 error in src/project/index.ts:2 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + +//// [/src/project/index.js] +import ky from 'ky'; +export const api = ky.extend({}); + + + + +Change:: no-change-run +Input:: + + +Output:: +/lib/tsc -p /src/project --explainFiles --listEmittedFiles +src/project/index.ts:2:14 - error TS4023: Exported variable 'api' has or is using name 'KyInstance' from external module "/src/project/node_modules/ky/distribution/index" but cannot be named. + +2 export const api = ky.extend({}); +   ~~~ + +TSFILE: /src/project/index.js +lib/lib.esnext.full.d.ts + Default library for target 'esnext' +src/project/node_modules/ky/distribution/index.d.ts + Imported via 'ky' from file 'src/project/index.ts' + File is ECMAScript module because 'src/project/node_modules/ky/package.json' has field "type" with value "module" +src/project/index.ts + Matched by default include pattern '**/*' + File is ECMAScript module because 'src/project/package.json' has field "type" with value "module" + +Found 1 error in src/project/index.ts:2 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + +//// [/src/project/index.js] file written with same contents + + +Change:: no-change-run +Input:: + + +Output:: +/lib/tsc -b /src/project --explainFiles --listEmittedFiles -v +[HH:MM:SS AM] Projects in this build: + * src/project/tsconfig.json + +[HH:MM:SS AM] Project 'src/project/tsconfig.json' is out of date because output file 'src/project/index.d.ts' does not exist + +[HH:MM:SS AM] Building project '/src/project/tsconfig.json'... + +src/project/index.ts:2:14 - error TS4023: Exported variable 'api' has or is using name 'KyInstance' from external module "/src/project/node_modules/ky/distribution/index" but cannot be named. + +2 export const api = ky.extend({}); +   ~~~ + +lib/lib.esnext.full.d.ts + Default library for target 'esnext' +src/project/node_modules/ky/distribution/index.d.ts + Imported via 'ky' from file 'src/project/index.ts' + File is ECMAScript module because 'src/project/node_modules/ky/package.json' has field "type" with value "module" +src/project/index.ts + Matched by default include pattern '**/*' + File is ECMAScript module because 'src/project/package.json' has field "type" with value "module" + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + diff --git a/tests/baselines/reference/tsc/declarationEmit/when-using-Windows-paths-and-uppercase-letters.js b/tests/baselines/reference/tsc/declarationEmit/when-using-Windows-paths-and-uppercase-letters.js index e47d9a99a4950..6206566ba4152 100644 --- a/tests/baselines/reference/tsc/declarationEmit/when-using-Windows-paths-and-uppercase-letters.js +++ b/tests/baselines/reference/tsc/declarationEmit/when-using-Windows-paths-and-uppercase-letters.js @@ -119,11 +119,6 @@ Output::    ~~~~~~~~ File is default library for target specified here. -src/utils/type-helpers.ts:5:42 - error TS4022: 'extends' clause of exported interface 'MyType' has or is using private name 'Function'. - -5 export interface MyType extends Function { -   ~~~~~~~~ - src/utils/type-helpers.ts Imported via './type-helpers' from file 'src/utils/index.ts' Matched by include pattern 'src' in 'tsconfig.json' @@ -133,7 +128,7 @@ src/utils/index.ts src/main.ts Matched by include pattern 'src' in 'tsconfig.json' -Found 10 errors in the same file, starting at: src/utils/type-helpers.ts:5 +Found 9 errors. @@ -145,6 +140,15 @@ Found 10 errors in the same file, starting at: src/utils/type-helpers.ts:5 Object.defineProperty(exports, "__esModule", { value: true }); //# sourceMappingURL=type-helpers.js.map +//// [D:/Work/pkg1/dist/utils/type-helpers.d.ts] +export type MyReturnType = { + new (...args: any[]): any; +}; +export interface MyType extends Function { + new (...args: any[]): T; +} + + //// [D:/Work/pkg1/dist/utils/index.js.map] {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;AAEA,kCAMC;AAND,SAAgB,WAAW,CAAI,QAAmB;IAC9C,MAAe,gBAAgB;QAC3B,gBAAe,CAAC;KACnB;IAED,OAAO,gBAAgC,CAAC;AAC5C,CAAC"} @@ -225,4 +229,4 @@ D:/Work/pkg1/src/utils/type-helpers.ts D:/Work/pkg1/src/utils/index.ts D:/Work/pkg1/src/main.ts -exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated diff --git a/tests/baselines/reference/tsc/extends/resolves-the-symlink-path.js b/tests/baselines/reference/tsc/extends/resolves-the-symlink-path.js index 4e707059e35d2..4fee3d4bc199b 100644 --- a/tests/baselines/reference/tsc/extends/resolves-the-symlink-path.js +++ b/tests/baselines/reference/tsc/extends/resolves-the-symlink-path.js @@ -56,7 +56,7 @@ export declare const x = 10; //// [/users/user/projects/myproject/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"6873164248-// some comment\nexport const x = 10;\n","signature":"-6821242887-export declare const x = 10;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"removeComments":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"6873164248-// some comment\nexport const x = 10;\n","signature":"-6821242887-export declare const x = 10;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"removeComments":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/users/user/projects/myproject/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -98,15 +98,10 @@ export declare const x = 10; "composite": true, "removeComments": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 823 + "size": 769 } diff --git a/tests/baselines/reference/tsc/forceConsistentCasingInFileNames/when-file-is-included-from-multiple-places-with-different-casing.js b/tests/baselines/reference/tsc/forceConsistentCasingInFileNames/when-file-is-included-from-multiple-places-with-different-casing.js new file mode 100644 index 0000000000000..350148fe398ea --- /dev/null +++ b/tests/baselines/reference/tsc/forceConsistentCasingInFileNames/when-file-is-included-from-multiple-places-with-different-casing.js @@ -0,0 +1,339 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Input:: +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/home/src/projects/project/node_modules/fp-ts/lib/struct.d.ts] +export function foo(): void + +//// [/home/src/projects/project/src/anotherFile.ts] +import * as xs1 from "fp-ts/lib/Struct"; +import * as xs2 from "fp-ts/lib/struct"; +import * as xs3 from "./Struct"; +import * as xs4 from "./struct"; + + +//// [/home/src/projects/project/src/oneMore.ts] +import * as xs1 from "fp-ts/lib/Struct"; +import * as xs2 from "fp-ts/lib/struct"; +import * as xs3 from "./Struct"; +import * as xs4 from "./struct"; + + +//// [/home/src/projects/project/src/struct.d.ts] +import * as xs1 from "fp-ts/lib/Struct"; +import * as xs2 from "fp-ts/lib/struct"; +import * as xs3 from "./Struct"; +import * as xs4 from "./struct"; + + +//// [/home/src/projects/project/tsconfig.json] +{} + +//// [/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + + + +Output:: +/lib/tsc -p /home/src/projects/project/tsconfig.json --explainFiles +home/src/projects/project/src/anotherFile.ts:2:22 - error TS1149: File name '/home/src/projects/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/home/src/projects/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. + The file is in the program because: + Imported via "fp-ts/lib/Struct" from file '/home/src/projects/project/src/anotherFile.ts' + Imported via "fp-ts/lib/struct" from file '/home/src/projects/project/src/anotherFile.ts' + Imported via "fp-ts/lib/Struct" from file '/home/src/projects/project/src/Struct.d.ts' + Imported via "fp-ts/lib/struct" from file '/home/src/projects/project/src/Struct.d.ts' + Imported via "fp-ts/lib/Struct" from file '/home/src/projects/project/src/oneMore.ts' + Imported via "fp-ts/lib/struct" from file '/home/src/projects/project/src/oneMore.ts' + +2 import * as xs2 from "fp-ts/lib/struct"; +   ~~~~~~~~~~~~~~~~~~ + + home/src/projects/project/src/anotherFile.ts:1:22 + 1 import * as xs1 from "fp-ts/lib/Struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + home/src/projects/project/src/Struct.d.ts:1:22 + 1 import * as xs1 from "fp-ts/lib/Struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + home/src/projects/project/src/Struct.d.ts:2:22 + 2 import * as xs2 from "fp-ts/lib/struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + home/src/projects/project/src/oneMore.ts:1:22 + 1 import * as xs1 from "fp-ts/lib/Struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + home/src/projects/project/src/oneMore.ts:2:22 + 2 import * as xs2 from "fp-ts/lib/struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + +home/src/projects/project/src/anotherFile.ts:3:22 - error TS1261: Already included file name '/home/src/projects/project/src/Struct.d.ts' differs from file name '/home/src/projects/project/src/struct.d.ts' only in casing. + The file is in the program because: + Imported via "./Struct" from file '/home/src/projects/project/src/anotherFile.ts' + Imported via "./Struct" from file '/home/src/projects/project/src/Struct.d.ts' + Imported via "./struct" from file '/home/src/projects/project/src/Struct.d.ts' + Imported via "./struct" from file '/home/src/projects/project/src/anotherFile.ts' + Imported via "./Struct" from file '/home/src/projects/project/src/oneMore.ts' + Imported via "./struct" from file '/home/src/projects/project/src/oneMore.ts' + Matched by default include pattern '**/*' + +3 import * as xs3 from "./Struct"; +   ~~~~~~~~~~ + + home/src/projects/project/src/Struct.d.ts:3:22 + 3 import * as xs3 from "./Struct"; +    ~~~~~~~~~~ + File is included via import here. + home/src/projects/project/src/Struct.d.ts:4:22 + 4 import * as xs4 from "./struct"; +    ~~~~~~~~~~ + File is included via import here. + home/src/projects/project/src/anotherFile.ts:4:22 + 4 import * as xs4 from "./struct"; +    ~~~~~~~~~~ + File is included via import here. + home/src/projects/project/src/oneMore.ts:3:22 + 3 import * as xs3 from "./Struct"; +    ~~~~~~~~~~ + File is included via import here. + home/src/projects/project/src/oneMore.ts:4:22 + 4 import * as xs4 from "./struct"; +    ~~~~~~~~~~ + File is included via import here. + +home/src/projects/project/src/anotherFile.ts:4:22 - error TS1149: File name '/home/src/projects/project/src/struct.d.ts' differs from already included file name '/home/src/projects/project/src/Struct.d.ts' only in casing. + The file is in the program because: + Imported via "./Struct" from file '/home/src/projects/project/src/anotherFile.ts' + Imported via "./Struct" from file '/home/src/projects/project/src/Struct.d.ts' + Imported via "./struct" from file '/home/src/projects/project/src/Struct.d.ts' + Imported via "./struct" from file '/home/src/projects/project/src/anotherFile.ts' + Imported via "./Struct" from file '/home/src/projects/project/src/oneMore.ts' + Imported via "./struct" from file '/home/src/projects/project/src/oneMore.ts' + Matched by default include pattern '**/*' + +4 import * as xs4 from "./struct"; +   ~~~~~~~~~~ + + home/src/projects/project/src/anotherFile.ts:3:22 + 3 import * as xs3 from "./Struct"; +    ~~~~~~~~~~ + File is included via import here. + home/src/projects/project/src/Struct.d.ts:3:22 + 3 import * as xs3 from "./Struct"; +    ~~~~~~~~~~ + File is included via import here. + home/src/projects/project/src/Struct.d.ts:4:22 + 4 import * as xs4 from "./struct"; +    ~~~~~~~~~~ + File is included via import here. + home/src/projects/project/src/oneMore.ts:3:22 + 3 import * as xs3 from "./Struct"; +    ~~~~~~~~~~ + File is included via import here. + home/src/projects/project/src/oneMore.ts:4:22 + 4 import * as xs4 from "./struct"; +    ~~~~~~~~~~ + File is included via import here. + +home/src/projects/project/src/oneMore.ts:2:22 - error TS1149: File name '/home/src/projects/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/home/src/projects/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. + The file is in the program because: + Imported via "fp-ts/lib/Struct" from file '/home/src/projects/project/src/anotherFile.ts' + Imported via "fp-ts/lib/struct" from file '/home/src/projects/project/src/anotherFile.ts' + Imported via "fp-ts/lib/Struct" from file '/home/src/projects/project/src/Struct.d.ts' + Imported via "fp-ts/lib/struct" from file '/home/src/projects/project/src/Struct.d.ts' + Imported via "fp-ts/lib/Struct" from file '/home/src/projects/project/src/oneMore.ts' + Imported via "fp-ts/lib/struct" from file '/home/src/projects/project/src/oneMore.ts' + +2 import * as xs2 from "fp-ts/lib/struct"; +   ~~~~~~~~~~~~~~~~~~ + + home/src/projects/project/src/anotherFile.ts:1:22 + 1 import * as xs1 from "fp-ts/lib/Struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + home/src/projects/project/src/anotherFile.ts:2:22 + 2 import * as xs2 from "fp-ts/lib/struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + home/src/projects/project/src/Struct.d.ts:1:22 + 1 import * as xs1 from "fp-ts/lib/Struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + home/src/projects/project/src/Struct.d.ts:2:22 + 2 import * as xs2 from "fp-ts/lib/struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + home/src/projects/project/src/oneMore.ts:1:22 + 1 import * as xs1 from "fp-ts/lib/Struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + +home/src/projects/project/src/oneMore.ts:4:22 - error TS1149: File name '/home/src/projects/project/src/struct.d.ts' differs from already included file name '/home/src/projects/project/src/Struct.d.ts' only in casing. + The file is in the program because: + Imported via "./Struct" from file '/home/src/projects/project/src/anotherFile.ts' + Imported via "./Struct" from file '/home/src/projects/project/src/Struct.d.ts' + Imported via "./struct" from file '/home/src/projects/project/src/Struct.d.ts' + Imported via "./struct" from file '/home/src/projects/project/src/anotherFile.ts' + Imported via "./Struct" from file '/home/src/projects/project/src/oneMore.ts' + Imported via "./struct" from file '/home/src/projects/project/src/oneMore.ts' + Matched by default include pattern '**/*' + +4 import * as xs4 from "./struct"; +   ~~~~~~~~~~ + + home/src/projects/project/src/anotherFile.ts:3:22 + 3 import * as xs3 from "./Struct"; +    ~~~~~~~~~~ + File is included via import here. + home/src/projects/project/src/Struct.d.ts:3:22 + 3 import * as xs3 from "./Struct"; +    ~~~~~~~~~~ + File is included via import here. + home/src/projects/project/src/Struct.d.ts:4:22 + 4 import * as xs4 from "./struct"; +    ~~~~~~~~~~ + File is included via import here. + home/src/projects/project/src/anotherFile.ts:4:22 + 4 import * as xs4 from "./struct"; +    ~~~~~~~~~~ + File is included via import here. + home/src/projects/project/src/oneMore.ts:3:22 + 3 import * as xs3 from "./Struct"; +    ~~~~~~~~~~ + File is included via import here. + +home/src/projects/project/src/Struct.d.ts:2:22 - error TS1149: File name '/home/src/projects/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/home/src/projects/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. + The file is in the program because: + Imported via "fp-ts/lib/Struct" from file '/home/src/projects/project/src/anotherFile.ts' + Imported via "fp-ts/lib/struct" from file '/home/src/projects/project/src/anotherFile.ts' + Imported via "fp-ts/lib/Struct" from file '/home/src/projects/project/src/Struct.d.ts' + Imported via "fp-ts/lib/struct" from file '/home/src/projects/project/src/Struct.d.ts' + Imported via "fp-ts/lib/Struct" from file '/home/src/projects/project/src/oneMore.ts' + Imported via "fp-ts/lib/struct" from file '/home/src/projects/project/src/oneMore.ts' + +2 import * as xs2 from "fp-ts/lib/struct"; +   ~~~~~~~~~~~~~~~~~~ + + home/src/projects/project/src/anotherFile.ts:1:22 + 1 import * as xs1 from "fp-ts/lib/Struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + home/src/projects/project/src/anotherFile.ts:2:22 + 2 import * as xs2 from "fp-ts/lib/struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + home/src/projects/project/src/Struct.d.ts:1:22 + 1 import * as xs1 from "fp-ts/lib/Struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + home/src/projects/project/src/oneMore.ts:1:22 + 1 import * as xs1 from "fp-ts/lib/Struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + home/src/projects/project/src/oneMore.ts:2:22 + 2 import * as xs2 from "fp-ts/lib/struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + +home/src/projects/project/src/Struct.d.ts:4:22 - error TS1149: File name '/home/src/projects/project/src/struct.d.ts' differs from already included file name '/home/src/projects/project/src/Struct.d.ts' only in casing. + The file is in the program because: + Imported via "./Struct" from file '/home/src/projects/project/src/anotherFile.ts' + Imported via "./Struct" from file '/home/src/projects/project/src/Struct.d.ts' + Imported via "./struct" from file '/home/src/projects/project/src/Struct.d.ts' + Imported via "./struct" from file '/home/src/projects/project/src/anotherFile.ts' + Imported via "./Struct" from file '/home/src/projects/project/src/oneMore.ts' + Imported via "./struct" from file '/home/src/projects/project/src/oneMore.ts' + Matched by default include pattern '**/*' + +4 import * as xs4 from "./struct"; +   ~~~~~~~~~~ + + home/src/projects/project/src/anotherFile.ts:3:22 + 3 import * as xs3 from "./Struct"; +    ~~~~~~~~~~ + File is included via import here. + home/src/projects/project/src/Struct.d.ts:3:22 + 3 import * as xs3 from "./Struct"; +    ~~~~~~~~~~ + File is included via import here. + home/src/projects/project/src/anotherFile.ts:4:22 + 4 import * as xs4 from "./struct"; +    ~~~~~~~~~~ + File is included via import here. + home/src/projects/project/src/oneMore.ts:3:22 + 3 import * as xs3 from "./Struct"; +    ~~~~~~~~~~ + File is included via import here. + home/src/projects/project/src/oneMore.ts:4:22 + 4 import * as xs4 from "./struct"; +    ~~~~~~~~~~ + File is included via import here. + +lib/lib.d.ts + Default library for target 'es5' +home/src/projects/project/node_modules/fp-ts/lib/Struct.d.ts + Imported via "fp-ts/lib/Struct" from file 'home/src/projects/project/src/anotherFile.ts' + Imported via "fp-ts/lib/struct" from file 'home/src/projects/project/src/anotherFile.ts' + Imported via "fp-ts/lib/Struct" from file 'home/src/projects/project/src/Struct.d.ts' + Imported via "fp-ts/lib/struct" from file 'home/src/projects/project/src/Struct.d.ts' + Imported via "fp-ts/lib/Struct" from file 'home/src/projects/project/src/oneMore.ts' + Imported via "fp-ts/lib/struct" from file 'home/src/projects/project/src/oneMore.ts' +home/src/projects/project/src/Struct.d.ts + Imported via "./Struct" from file 'home/src/projects/project/src/anotherFile.ts' + Imported via "./Struct" from file 'home/src/projects/project/src/Struct.d.ts' + Imported via "./struct" from file 'home/src/projects/project/src/Struct.d.ts' + Imported via "./struct" from file 'home/src/projects/project/src/anotherFile.ts' + Imported via "./Struct" from file 'home/src/projects/project/src/oneMore.ts' + Imported via "./struct" from file 'home/src/projects/project/src/oneMore.ts' + Matched by default include pattern '**/*' +home/src/projects/project/src/anotherFile.ts + Matched by default include pattern '**/*' +home/src/projects/project/src/oneMore.ts + Matched by default include pattern '**/*' + +Found 7 errors in 3 files. + +Errors Files + 3 home/src/projects/project/src/anotherFile.ts:2 + 2 home/src/projects/project/src/oneMore.ts:2 + 2 home/src/projects/project/src/Struct.d.ts:2 +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated + + +//// [/home/src/projects/project/src/anotherFile.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); + + +//// [/home/src/projects/project/src/oneMore.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); + + diff --git a/tests/baselines/reference/tsc/forceConsistentCasingInFileNames/with-type-ref-from-file.js b/tests/baselines/reference/tsc/forceConsistentCasingInFileNames/with-type-ref-from-file.js new file mode 100644 index 0000000000000..7ea061cd3d89b --- /dev/null +++ b/tests/baselines/reference/tsc/forceConsistentCasingInFileNames/with-type-ref-from-file.js @@ -0,0 +1,64 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Input:: +//// [/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/src/project/src/file2.d.ts] +/// +declare const y: c; + + +//// [/src/project/src/fileOne.d.ts] +declare class c { } + +//// [/src/project/src/tsconfig.json] +{ } + + + +Output:: +/lib/tsc -p /src/project/src --explainFiles --traceResolution +File '/src/project/src/package.json' does not exist. +File '/src/project/package.json' does not exist. +File '/src/package.json' does not exist. +File '/package.json' does not exist. +======== Resolving type reference directive './fileOne.d.ts', containing file '/src/project/src/file2.d.ts', root directory '/src/project/src/node_modules/@types,/src/project/node_modules/@types,/src/node_modules/@types,/node_modules/@types'. ======== +Resolving with primary search path '/src/project/src/node_modules/@types, /src/project/node_modules/@types, /src/node_modules/@types, /node_modules/@types'. +Directory '/src/project/src/node_modules/@types' does not exist, skipping all lookups in it. +Directory '/src/project/node_modules/@types' does not exist, skipping all lookups in it. +Directory '/src/node_modules/@types' does not exist, skipping all lookups in it. +Directory '/node_modules/@types' does not exist, skipping all lookups in it. +Looking up in 'node_modules' folder, initial location '/src/project/src'. +Loading module as file / folder, candidate module location '/src/project/src/fileOne.d.ts', target file types: Declaration. +File name '/src/project/src/fileOne.d.ts' has a '.d.ts' extension - stripping it. +File '/src/project/src/fileOne.d.ts' exists - use it as a name resolution result. +Resolving real path for '/src/project/src/fileOne.d.ts', result '/src/project/src/fileOne.d.ts'. +======== Type reference directive './fileOne.d.ts' was successfully resolved to '/src/project/src/fileOne.d.ts', primary: false. ======== +File '/src/project/src/package.json' does not exist according to earlier cached lookups. +File '/src/project/package.json' does not exist according to earlier cached lookups. +File '/src/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/lib/package.json' does not exist. +File '/package.json' does not exist according to earlier cached lookups. +lib/lib.d.ts + Default library for target 'es5' +src/project/src/fileOne.d.ts + Type library referenced via './fileOne.d.ts' from file 'src/project/src/file2.d.ts' + Matched by default include pattern '**/*' +src/project/src/file2.d.ts + Matched by default include pattern '**/*' +exitCode:: ExitStatus.Success + + diff --git a/tests/baselines/reference/tsc/incremental/change-to-modifier-of-class-expression-field-with-declaration-emit-enabled.js b/tests/baselines/reference/tsc/incremental/change-to-modifier-of-class-expression-field-with-declaration-emit-enabled.js index c1b0eea3b9eff..d94d64ed0059b 100644 --- a/tests/baselines/reference/tsc/incremental/change-to-modifier-of-class-expression-field-with-declaration-emit-enabled.js +++ b/tests/baselines/reference/tsc/incremental/change-to-modifier-of-class-expression-field-with-declaration-emit-enabled.js @@ -83,7 +83,7 @@ var wrapper = function () { return Messageable(); }; //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./messageableperson.ts","./main.ts"],"fileInfos":[{"version":"5700251342-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };type ReturnType any> = T extends (...args: any) => infer R ? R : any;\ntype InstanceType any> = T extends abstract new (...args: any) => infer R ? R : any;","affectsGlobalScope":true,"impliedFormat":1},{"version":"31173349369-const Messageable = () => {\n return class MessageableClass {\n public message = 'hello';\n }\n};\nconst wrapper = () => Messageable();\ntype MessageablePerson = InstanceType>;\nexport default MessageablePerson;","signature":"-21006966954-declare const wrapper: () => {\n new (): {\n message: string;\n };\n};\ntype MessageablePerson = InstanceType>;\nexport default MessageablePerson;\n","impliedFormat":1},{"version":"4191603667-import MessageablePerson from './MessageablePerson.js';\nfunction logMessage( person: MessageablePerson ) {\n console.log( person.message );\n}","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[2,3],"options":{"declaration":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./messageableperson.ts","./main.ts"],"fileInfos":[{"version":"5700251342-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };type ReturnType any> = T extends (...args: any) => infer R ? R : any;\ntype InstanceType any> = T extends abstract new (...args: any) => infer R ? R : any;","affectsGlobalScope":true,"impliedFormat":1},{"version":"31173349369-const Messageable = () => {\n return class MessageableClass {\n public message = 'hello';\n }\n};\nconst wrapper = () => Messageable();\ntype MessageablePerson = InstanceType>;\nexport default MessageablePerson;","signature":"-21006966954-declare const wrapper: () => {\n new (): {\n message: string;\n };\n};\ntype MessageablePerson = InstanceType>;\nexport default MessageablePerson;\n","impliedFormat":1},{"version":"4191603667-import MessageablePerson from './MessageablePerson.js';\nfunction logMessage( person: MessageablePerson ) {\n console.log( person.message );\n}","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[2,3],"options":{"declaration":true},"fileIdsList":[[2]],"referencedMap":[[3,1]]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -148,15 +148,10 @@ var wrapper = function () { return Messageable(); }; "./main.ts": [ "./messageableperson.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./main.ts", - "./messageableperson.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1712 + "size": 1675 } @@ -211,7 +206,7 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped //// [/src/project/main.js] file written with same contents //// [/src/project/MessageablePerson.js] file written with same contents //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./messageableperson.ts","./main.ts"],"fileInfos":[{"version":"5700251342-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };type ReturnType any> = T extends (...args: any) => infer R ? R : any;\ntype InstanceType any> = T extends abstract new (...args: any) => infer R ? R : any;","affectsGlobalScope":true,"impliedFormat":1},{"version":"3462418372-const Messageable = () => {\n return class MessageableClass {\n protected message = 'hello';\n }\n};\nconst wrapper = () => Messageable();\ntype MessageablePerson = InstanceType>;\nexport default MessageablePerson;","signature":"-21450256696-declare const wrapper: () => {\n new (): {\n message: string;\n };\n};\ntype MessageablePerson = InstanceType>;\nexport default MessageablePerson;\n(116,7)Error4094: Property 'message' of exported class expression may not be private or protected.","impliedFormat":1},{"version":"4191603667-import MessageablePerson from './MessageablePerson.js';\nfunction logMessage( person: MessageablePerson ) {\n console.log( person.message );\n}","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[2,3],"options":{"declaration":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,[3,[{"file":"./main.ts","start":131,"length":7,"messageText":"Property 'message' is protected and only accessible within class 'MessageableClass' and its subclasses.","category":1,"code":2445}]],2],"emitDiagnosticsPerFile":[[2,[{"file":"./messageableperson.ts","start":116,"length":7,"messageText":"Property 'message' of exported class expression may not be private or protected.","category":1,"code":4094}]]]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./messageableperson.ts","./main.ts"],"fileInfos":[{"version":"5700251342-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };type ReturnType any> = T extends (...args: any) => infer R ? R : any;\ntype InstanceType any> = T extends abstract new (...args: any) => infer R ? R : any;","affectsGlobalScope":true,"impliedFormat":1},{"version":"3462418372-const Messageable = () => {\n return class MessageableClass {\n protected message = 'hello';\n }\n};\nconst wrapper = () => Messageable();\ntype MessageablePerson = InstanceType>;\nexport default MessageablePerson;","signature":"-21450256696-declare const wrapper: () => {\n new (): {\n message: string;\n };\n};\ntype MessageablePerson = InstanceType>;\nexport default MessageablePerson;\n(116,7)Error4094: Property 'message' of exported class expression may not be private or protected.","impliedFormat":1},{"version":"4191603667-import MessageablePerson from './MessageablePerson.js';\nfunction logMessage( person: MessageablePerson ) {\n console.log( person.message );\n}","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[2,3],"options":{"declaration":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[[3,[{"start":131,"length":7,"messageText":"Property 'message' is protected and only accessible within class 'MessageableClass' and its subclasses.","category":1,"code":2445}]]],"emitDiagnosticsPerFile":[[2,[{"start":116,"length":7,"messageText":"Property 'message' of exported class expression may not be private or protected.","category":1,"code":4094}]]]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -278,12 +273,10 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", [ "./main.ts", [ { - "file": "./main.ts", "start": 131, "length": 7, "messageText": "Property 'message' is protected and only accessible within class 'MessageableClass' and its subclasses.", @@ -291,15 +284,13 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped "code": 2445 } ] - ], - "./messageableperson.ts" + ] ], "emitDiagnosticsPerFile": [ [ "./messageableperson.ts", [ { - "file": "./messageableperson.ts", "start": 116, "length": 7, "messageText": "Property 'message' of exported class expression may not be private or protected.", @@ -311,7 +302,7 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped ] }, "version": "FakeTSVersion", - "size": 2217 + "size": 2162 } @@ -367,7 +358,7 @@ exitCode:: ExitStatus.Success //// [/src/project/MessageablePerson.d.ts] file written with same contents //// [/src/project/MessageablePerson.js] file written with same contents //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./messageableperson.ts","./main.ts"],"fileInfos":[{"version":"5700251342-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };type ReturnType any> = T extends (...args: any) => infer R ? R : any;\ntype InstanceType any> = T extends abstract new (...args: any) => infer R ? R : any;","affectsGlobalScope":true,"impliedFormat":1},{"version":"31173349369-const Messageable = () => {\n return class MessageableClass {\n public message = 'hello';\n }\n};\nconst wrapper = () => Messageable();\ntype MessageablePerson = InstanceType>;\nexport default MessageablePerson;","signature":"-21006966954-declare const wrapper: () => {\n new (): {\n message: string;\n };\n};\ntype MessageablePerson = InstanceType>;\nexport default MessageablePerson;\n","impliedFormat":1},{"version":"4191603667-import MessageablePerson from './MessageablePerson.js';\nfunction logMessage( person: MessageablePerson ) {\n console.log( person.message );\n}","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[2,3],"options":{"declaration":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./messageableperson.ts","./main.ts"],"fileInfos":[{"version":"5700251342-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };type ReturnType any> = T extends (...args: any) => infer R ? R : any;\ntype InstanceType any> = T extends abstract new (...args: any) => infer R ? R : any;","affectsGlobalScope":true,"impliedFormat":1},{"version":"31173349369-const Messageable = () => {\n return class MessageableClass {\n public message = 'hello';\n }\n};\nconst wrapper = () => Messageable();\ntype MessageablePerson = InstanceType>;\nexport default MessageablePerson;","signature":"-21006966954-declare const wrapper: () => {\n new (): {\n message: string;\n };\n};\ntype MessageablePerson = InstanceType>;\nexport default MessageablePerson;\n","impliedFormat":1},{"version":"4191603667-import MessageablePerson from './MessageablePerson.js';\nfunction logMessage( person: MessageablePerson ) {\n console.log( person.message );\n}","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[2,3],"options":{"declaration":true},"fileIdsList":[[2]],"referencedMap":[[3,1]]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -432,15 +423,10 @@ exitCode:: ExitStatus.Success "./main.ts": [ "./messageableperson.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./main.ts", - "./messageableperson.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1712 + "size": 1675 } diff --git a/tests/baselines/reference/tsc/incremental/change-to-modifier-of-class-expression-field.js b/tests/baselines/reference/tsc/incremental/change-to-modifier-of-class-expression-field.js index 1b838b08ca048..d3d58a1e259f0 100644 --- a/tests/baselines/reference/tsc/incremental/change-to-modifier-of-class-expression-field.js +++ b/tests/baselines/reference/tsc/incremental/change-to-modifier-of-class-expression-field.js @@ -69,7 +69,7 @@ var wrapper = function () { return Messageable(); }; //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./messageableperson.ts","./main.ts"],"fileInfos":[{"version":"5700251342-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };type ReturnType any> = T extends (...args: any) => infer R ? R : any;\ntype InstanceType any> = T extends abstract new (...args: any) => infer R ? R : any;","affectsGlobalScope":true,"impliedFormat":1},{"version":"31173349369-const Messageable = () => {\n return class MessageableClass {\n public message = 'hello';\n }\n};\nconst wrapper = () => Messageable();\ntype MessageablePerson = InstanceType>;\nexport default MessageablePerson;","impliedFormat":1},{"version":"4191603667-import MessageablePerson from './MessageablePerson.js';\nfunction logMessage( person: MessageablePerson ) {\n console.log( person.message );\n}","impliedFormat":1}],"root":[2,3],"options":{"declaration":false},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./messageableperson.ts","./main.ts"],"fileInfos":[{"version":"5700251342-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };type ReturnType any> = T extends (...args: any) => infer R ? R : any;\ntype InstanceType any> = T extends abstract new (...args: any) => infer R ? R : any;","affectsGlobalScope":true,"impliedFormat":1},{"version":"31173349369-const Messageable = () => {\n return class MessageableClass {\n public message = 'hello';\n }\n};\nconst wrapper = () => Messageable();\ntype MessageablePerson = InstanceType>;\nexport default MessageablePerson;","impliedFormat":1},{"version":"4191603667-import MessageablePerson from './MessageablePerson.js';\nfunction logMessage( person: MessageablePerson ) {\n console.log( person.message );\n}","impliedFormat":1}],"root":[2,3],"options":{"declaration":false},"fileIdsList":[[2]],"referencedMap":[[3,1]]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -132,15 +132,10 @@ var wrapper = function () { return Messageable(); }; "./main.ts": [ "./messageableperson.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./main.ts", - "./messageableperson.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1458 + "size": 1421 } @@ -186,7 +181,7 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated //// [/src/project/main.js] file written with same contents //// [/src/project/MessageablePerson.js] file written with same contents //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./messageableperson.ts","./main.ts"],"fileInfos":[{"version":"5700251342-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };type ReturnType any> = T extends (...args: any) => infer R ? R : any;\ntype InstanceType any> = T extends abstract new (...args: any) => infer R ? R : any;","affectsGlobalScope":true,"impliedFormat":1},{"version":"3462418372-const Messageable = () => {\n return class MessageableClass {\n protected message = 'hello';\n }\n};\nconst wrapper = () => Messageable();\ntype MessageablePerson = InstanceType>;\nexport default MessageablePerson;","signature":"-21450256696-declare const wrapper: () => {\n new (): {\n message: string;\n };\n};\ntype MessageablePerson = InstanceType>;\nexport default MessageablePerson;\n(116,7)Error4094: Property 'message' of exported class expression may not be private or protected.","impliedFormat":1},{"version":"4191603667-import MessageablePerson from './MessageablePerson.js';\nfunction logMessage( person: MessageablePerson ) {\n console.log( person.message );\n}","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[2,3],"options":{"declaration":false},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,[3,[{"file":"./main.ts","start":131,"length":7,"messageText":"Property 'message' is protected and only accessible within class 'MessageableClass' and its subclasses.","category":1,"code":2445}]],2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./messageableperson.ts","./main.ts"],"fileInfos":[{"version":"5700251342-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };type ReturnType any> = T extends (...args: any) => infer R ? R : any;\ntype InstanceType any> = T extends abstract new (...args: any) => infer R ? R : any;","affectsGlobalScope":true,"impliedFormat":1},{"version":"3462418372-const Messageable = () => {\n return class MessageableClass {\n protected message = 'hello';\n }\n};\nconst wrapper = () => Messageable();\ntype MessageablePerson = InstanceType>;\nexport default MessageablePerson;","signature":"-21450256696-declare const wrapper: () => {\n new (): {\n message: string;\n };\n};\ntype MessageablePerson = InstanceType>;\nexport default MessageablePerson;\n(116,7)Error4094: Property 'message' of exported class expression may not be private or protected.","impliedFormat":1},{"version":"4191603667-import MessageablePerson from './MessageablePerson.js';\nfunction logMessage( person: MessageablePerson ) {\n console.log( person.message );\n}","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[2,3],"options":{"declaration":false},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[[3,[{"start":131,"length":7,"messageText":"Property 'message' is protected and only accessible within class 'MessageableClass' and its subclasses.","category":1,"code":2445}]]]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -253,12 +248,10 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", [ "./main.ts", [ { - "file": "./main.ts", "start": 131, "length": 7, "messageText": "Property 'message' is protected and only accessible within class 'MessageableClass' and its subclasses.", @@ -266,12 +259,11 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated "code": 2445 } ] - ], - "./messageableperson.ts" + ] ] }, "version": "FakeTSVersion", - "size": 2006 + "size": 1983 } @@ -317,7 +309,7 @@ exitCode:: ExitStatus.Success //// [/src/project/main.js] file written with same contents //// [/src/project/MessageablePerson.js] file written with same contents //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./messageableperson.ts","./main.ts"],"fileInfos":[{"version":"5700251342-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };type ReturnType any> = T extends (...args: any) => infer R ? R : any;\ntype InstanceType any> = T extends abstract new (...args: any) => infer R ? R : any;","affectsGlobalScope":true,"impliedFormat":1},{"version":"31173349369-const Messageable = () => {\n return class MessageableClass {\n public message = 'hello';\n }\n};\nconst wrapper = () => Messageable();\ntype MessageablePerson = InstanceType>;\nexport default MessageablePerson;","signature":"-21006966954-declare const wrapper: () => {\n new (): {\n message: string;\n };\n};\ntype MessageablePerson = InstanceType>;\nexport default MessageablePerson;\n","impliedFormat":1},{"version":"4191603667-import MessageablePerson from './MessageablePerson.js';\nfunction logMessage( person: MessageablePerson ) {\n console.log( person.message );\n}","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[2,3],"options":{"declaration":false},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./messageableperson.ts","./main.ts"],"fileInfos":[{"version":"5700251342-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };type ReturnType any> = T extends (...args: any) => infer R ? R : any;\ntype InstanceType any> = T extends abstract new (...args: any) => infer R ? R : any;","affectsGlobalScope":true,"impliedFormat":1},{"version":"31173349369-const Messageable = () => {\n return class MessageableClass {\n public message = 'hello';\n }\n};\nconst wrapper = () => Messageable();\ntype MessageablePerson = InstanceType>;\nexport default MessageablePerson;","signature":"-21006966954-declare const wrapper: () => {\n new (): {\n message: string;\n };\n};\ntype MessageablePerson = InstanceType>;\nexport default MessageablePerson;\n","impliedFormat":1},{"version":"4191603667-import MessageablePerson from './MessageablePerson.js';\nfunction logMessage( person: MessageablePerson ) {\n console.log( person.message );\n}","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[2,3],"options":{"declaration":false},"fileIdsList":[[2]],"referencedMap":[[3,1]]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -382,15 +374,10 @@ exitCode:: ExitStatus.Success "./main.ts": [ "./messageableperson.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./main.ts", - "./messageableperson.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1713 + "size": 1676 } diff --git a/tests/baselines/reference/tsc/incremental/change-to-type-that-gets-used-as-global-through-export-in-another-file-through-indirect-import.js b/tests/baselines/reference/tsc/incremental/change-to-type-that-gets-used-as-global-through-export-in-another-file-through-indirect-import.js index da1eea15878c4..9a6d62cbc9d2f 100644 --- a/tests/baselines/reference/tsc/incremental/change-to-type-that-gets-used-as-global-through-export-in-another-file-through-indirect-import.js +++ b/tests/baselines/reference/tsc/incremental/change-to-type-that-gets-used-as-global-through-export-in-another-file-through-indirect-import.js @@ -75,7 +75,7 @@ Object.defineProperty(exports, "ConstantNumber", { enumerable: true, get: functi //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./class1.ts","./constants.ts","./reexport.ts","./types.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"4085502068-const a: MagicNumber = 1;\nconsole.log(a);","signature":"-3664763344-declare const a = 1;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-2659799048-export default 1;","signature":"-183154784-declare const _default: 1;\nexport default _default;\n","impliedFormat":1},{"version":"-1476032387-export { default as ConstantNumber } from \"./constants\"","signature":"-1081498782-export { default as ConstantNumber } from \"./constants\";\n","impliedFormat":1},{"version":"2093085814-type MagicNumber = typeof import('./reexport').ConstantNumber","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,5]],"options":{"composite":true},"fileIdsList":[[3],[4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5],"latestChangedDtsFile":"./reexport.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./class1.ts","./constants.ts","./reexport.ts","./types.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"4085502068-const a: MagicNumber = 1;\nconsole.log(a);","signature":"-3664763344-declare const a = 1;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-2659799048-export default 1;","signature":"-183154784-declare const _default: 1;\nexport default _default;\n","impliedFormat":1},{"version":"-1476032387-export { default as ConstantNumber } from \"./constants\"","signature":"-1081498782-export { default as ConstantNumber } from \"./constants\";\n","impliedFormat":1},{"version":"2093085814-type MagicNumber = typeof import('./reexport').ConstantNumber","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,5]],"options":{"composite":true},"fileIdsList":[[3],[4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./reexport.d.ts"},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -176,17 +176,10 @@ Object.defineProperty(exports, "ConstantNumber", { enumerable: true, get: functi "./reexport.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./class1.ts", - "./constants.ts", - "./reexport.ts", - "./types.d.ts" - ], "latestChangedDtsFile": "./reexport.d.ts" }, "version": "FakeTSVersion", - "size": 1450 + "size": 1409 } @@ -228,7 +221,7 @@ exports.default = 2; //// [/src/project/reexport.js] file written with same contents //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./class1.ts","./constants.ts","./reexport.ts","./types.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"4085502068-const a: MagicNumber = 1;\nconsole.log(a);","signature":"-3664762255-declare const a = 2;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-2659799015-export default 2;","signature":"-10876795135-declare const _default: 2;\nexport default _default;\n","impliedFormat":1},{"version":"-1476032387-export { default as ConstantNumber } from \"./constants\"","signature":"-1081498782-export { default as ConstantNumber } from \"./constants\";\n","impliedFormat":1},{"version":"2093085814-type MagicNumber = typeof import('./reexport').ConstantNumber","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,5]],"options":{"composite":true},"fileIdsList":[[3],[4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,[2,[{"file":"./class1.ts","start":6,"length":1,"code":2322,"category":1,"messageText":"Type '1' is not assignable to type '2'."}]],3,4,5],"latestChangedDtsFile":"./class1.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./class1.ts","./constants.ts","./reexport.ts","./types.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"4085502068-const a: MagicNumber = 1;\nconsole.log(a);","signature":"-3664762255-declare const a = 2;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-2659799015-export default 2;","signature":"-10876795135-declare const _default: 2;\nexport default _default;\n","impliedFormat":1},{"version":"-1476032387-export { default as ConstantNumber } from \"./constants\"","signature":"-1081498782-export { default as ConstantNumber } from \"./constants\";\n","impliedFormat":1},{"version":"2093085814-type MagicNumber = typeof import('./reexport').ConstantNumber","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,5]],"options":{"composite":true},"fileIdsList":[[3],[4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[[2,[{"start":6,"length":1,"code":2322,"category":1,"messageText":"Type '1' is not assignable to type '2'."}]]],"latestChangedDtsFile":"./class1.d.ts"},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -330,12 +323,10 @@ exports.default = 2; ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", [ "./class1.ts", [ { - "file": "./class1.ts", "start": 6, "length": 1, "code": 2322, @@ -343,14 +334,11 @@ exports.default = 2; "messageText": "Type '1' is not assignable to type '2'." } ] - ], - "./constants.ts", - "./reexport.ts", - "./types.d.ts" + ] ], "latestChangedDtsFile": "./class1.d.ts" }, "version": "FakeTSVersion", - "size": 1579 + "size": 1550 } diff --git a/tests/baselines/reference/tsc/incremental/change-to-type-that-gets-used-as-global-through-export-in-another-file.js b/tests/baselines/reference/tsc/incremental/change-to-type-that-gets-used-as-global-through-export-in-another-file.js index 83f28886aafc1..c9c968255ac24 100644 --- a/tests/baselines/reference/tsc/incremental/change-to-type-that-gets-used-as-global-through-export-in-another-file.js +++ b/tests/baselines/reference/tsc/incremental/change-to-type-that-gets-used-as-global-through-export-in-another-file.js @@ -60,7 +60,7 @@ exports.default = 1; //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./class1.ts","./constants.ts","./types.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"4085502068-const a: MagicNumber = 1;\nconsole.log(a);","signature":"-3664763344-declare const a = 1;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-2659799048-export default 1;","signature":"-183154784-declare const _default: 1;\nexport default _default;\n","impliedFormat":1},{"version":"-2080821236-type MagicNumber = typeof import('./constants').default","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true},"fileIdsList":[[3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./constants.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./class1.ts","./constants.ts","./types.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"4085502068-const a: MagicNumber = 1;\nconsole.log(a);","signature":"-3664763344-declare const a = 1;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-2659799048-export default 1;","signature":"-183154784-declare const _default: 1;\nexport default _default;\n","impliedFormat":1},{"version":"-2080821236-type MagicNumber = typeof import('./constants').default","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true},"fileIdsList":[[3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./constants.d.ts"},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -143,16 +143,10 @@ exports.default = 1; "./constants.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./class1.ts", - "./constants.ts", - "./types.d.ts" - ], "latestChangedDtsFile": "./constants.d.ts" }, "version": "FakeTSVersion", - "size": 1229 + "size": 1190 } @@ -193,7 +187,7 @@ exports.default = 2; //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./class1.ts","./constants.ts","./types.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"4085502068-const a: MagicNumber = 1;\nconsole.log(a);","signature":"-3664762255-declare const a = 2;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-2659799015-export default 2;","signature":"-10876795135-declare const _default: 2;\nexport default _default;\n","impliedFormat":1},{"version":"-2080821236-type MagicNumber = typeof import('./constants').default","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true},"fileIdsList":[[3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,[2,[{"file":"./class1.ts","start":6,"length":1,"code":2322,"category":1,"messageText":"Type '1' is not assignable to type '2'."}]],3,4],"latestChangedDtsFile":"./class1.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./class1.ts","./constants.ts","./types.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"4085502068-const a: MagicNumber = 1;\nconsole.log(a);","signature":"-3664762255-declare const a = 2;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-2659799015-export default 2;","signature":"-10876795135-declare const _default: 2;\nexport default _default;\n","impliedFormat":1},{"version":"-2080821236-type MagicNumber = typeof import('./constants').default","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true},"fileIdsList":[[3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[[2,[{"start":6,"length":1,"code":2322,"category":1,"messageText":"Type '1' is not assignable to type '2'."}]]],"latestChangedDtsFile":"./class1.d.ts"},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -277,12 +271,10 @@ exports.default = 2; ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", [ "./class1.ts", [ { - "file": "./class1.ts", "start": 6, "length": 1, "code": 2322, @@ -290,13 +282,11 @@ exports.default = 2; "messageText": "Type '1' is not assignable to type '2'." } ] - ], - "./constants.ts", - "./types.d.ts" + ] ], "latestChangedDtsFile": "./class1.d.ts" }, "version": "FakeTSVersion", - "size": 1357 + "size": 1330 } diff --git a/tests/baselines/reference/tsc/incremental/different-options-discrepancies.js b/tests/baselines/reference/tsc/incremental/different-options-discrepancies.js index 0694699c274a3..17a95b82ac243 100644 --- a/tests/baselines/reference/tsc/incremental/different-options-discrepancies.js +++ b/tests/baselines/reference/tsc/incremental/different-options-discrepancies.js @@ -54,13 +54,6 @@ CleanBuild: "./b.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ], "latestChangedDtsFile": "FakeFileName" }, "version": "FakeTSVersion" @@ -116,13 +109,6 @@ IncrementalBuild: "./b.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ], "latestChangedDtsFile": "FakeFileName" }, "version": "FakeTSVersion" @@ -183,13 +169,6 @@ CleanBuild: "./b.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ], "latestChangedDtsFile": "FakeFileName" }, "version": "FakeTSVersion" @@ -245,13 +224,6 @@ IncrementalBuild: "./b.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ], "latestChangedDtsFile": "FakeFileName" }, "version": "FakeTSVersion" @@ -312,13 +284,6 @@ CleanBuild: "./b.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ], "latestChangedDtsFile": "FakeFileName" }, "version": "FakeTSVersion" @@ -374,13 +339,6 @@ IncrementalBuild: "./b.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ], "latestChangedDtsFile": "FakeFileName" }, "version": "FakeTSVersion" diff --git a/tests/baselines/reference/tsc/incremental/different-options-with-incremental-discrepancies.js b/tests/baselines/reference/tsc/incremental/different-options-with-incremental-discrepancies.js index 89fbd35d784e2..54113d75277c4 100644 --- a/tests/baselines/reference/tsc/incremental/different-options-with-incremental-discrepancies.js +++ b/tests/baselines/reference/tsc/incremental/different-options-with-incremental-discrepancies.js @@ -50,13 +50,6 @@ CleanBuild: "./b.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ], "options": {} }, "version": "FakeTSVersion" @@ -112,14 +105,7 @@ IncrementalBuild: "./d.ts": [ "./b.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ] + } }, "version": "FakeTSVersion" } @@ -175,13 +161,6 @@ CleanBuild: "./b.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ], "options": {} }, "version": "FakeTSVersion" @@ -237,14 +216,7 @@ IncrementalBuild: "./d.ts": [ "./b.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ] + } }, "version": "FakeTSVersion" } \ No newline at end of file diff --git a/tests/baselines/reference/tsc/incremental/different-options-with-incremental.js b/tests/baselines/reference/tsc/incremental/different-options-with-incremental.js index 112df79a805e5..7957a9843af04 100644 --- a/tests/baselines/reference/tsc/incremental/different-options-with-incremental.js +++ b/tests/baselines/reference/tsc/incremental/different-options-with-incremental.js @@ -106,7 +106,7 @@ exports.d = b_1.b; //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18487752940-export const a = 10;const aLocal = 10;","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","impliedFormat":1}],"root":[[2,5]],"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18487752940-export const a = 10;const aLocal = 10;","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","impliedFormat":1}],"root":[[2,5]],"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -196,17 +196,10 @@ exports.d = b_1.b; "./d.ts": [ "./b.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1078 + "size": 1037 } @@ -288,7 +281,7 @@ exports.d = b_1.b; {"version":3,"file":"d.js","sourceRoot":"","sources":["d.ts"],"names":[],"mappings":";;;AAAA,yBAAwB;AAAa,QAAA,CAAC,GAAG,KAAC,CAAC"} //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18487752940-export const a = 10;const aLocal = 10;","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","impliedFormat":1}],"root":[[2,5]],"options":{"sourceMap":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18487752940-export const a = 10;const aLocal = 10;","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","impliedFormat":1}],"root":[[2,5]],"options":{"sourceMap":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -381,17 +374,10 @@ exports.d = b_1.b; "./d.ts": [ "./b.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1107 + "size": 1066 } @@ -460,7 +446,7 @@ exports.d = b_1.b; //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18487752940-export const a = 10;const aLocal = 10;","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","impliedFormat":1}],"root":[[2,5]],"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18487752940-export const a = 10;const aLocal = 10;","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","impliedFormat":1}],"root":[[2,5]],"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -550,17 +536,10 @@ exports.d = b_1.b; "./d.ts": [ "./b.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1078 + "size": 1037 } @@ -614,7 +593,7 @@ export declare const d = 10; //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18487752940-export const a = 10;const aLocal = 10;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18487752940-export const a = 10;const aLocal = 10;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -711,17 +690,10 @@ export declare const d = 10; "./d.ts": [ "./b.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1337 + "size": 1296 } @@ -788,7 +760,7 @@ export declare const d = 10; {"version":3,"file":"d.d.ts","sourceRoot":"","sources":["d.ts"],"names":[],"mappings":"AAAwB,eAAO,MAAM,CAAC,KAAI,CAAC"} //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18487752940-export const a = 10;const aLocal = 10;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true,"declarationMap":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18487752940-export const a = 10;const aLocal = 10;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true,"declarationMap":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -886,17 +858,10 @@ export declare const d = 10; "./d.ts": [ "./b.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1359 + "size": 1318 } @@ -979,7 +944,7 @@ var aLocal = 100; //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-17390360476-export const a = 10;const aLocal = 100;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-17390360476-export const a = 10;const aLocal = 100;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1073,17 +1038,10 @@ var aLocal = 100; "./d.ts": [ "./b.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1307 + "size": 1266 } @@ -1130,7 +1088,7 @@ No shapes updated in the builder:: //// [/src/project/d.d.ts] file written with same contents //// [/src/project/d.d.ts.map] file written with same contents //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-17390360476-export const a = 10;const aLocal = 100;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true,"declarationMap":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-17390360476-export const a = 10;const aLocal = 100;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true,"declarationMap":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1228,17 +1186,10 @@ No shapes updated in the builder:: "./d.ts": [ "./b.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1360 + "size": 1319 } @@ -1341,7 +1292,7 @@ exports.d = b_1.b; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUJBQXdCO0FBQWEsUUFBQSxDQUFDLEdBQUcsS0FBQyxDQUFDIn0= //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-17390360476-export const a = 10;const aLocal = 100;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"inlineSourceMap":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-17390360476-export const a = 10;const aLocal = 100;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"inlineSourceMap":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1438,17 +1389,10 @@ exports.d = b_1.b; "./d.ts": [ "./b.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1342 + "size": 1301 } @@ -1524,7 +1468,7 @@ exports.d = b_1.b; //// [/src/project/d.js.map] file written with same contents //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-17390360476-export const a = 10;const aLocal = 100;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"sourceMap":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-17390360476-export const a = 10;const aLocal = 100;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"sourceMap":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1621,17 +1565,10 @@ exports.d = b_1.b; "./d.ts": [ "./b.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1336 + "size": 1295 } @@ -1700,7 +1637,7 @@ exports.d = b_1.b; //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-17390360476-export const a = 10;const aLocal = 100;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-17390360476-export const a = 10;const aLocal = 100;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1794,17 +1731,10 @@ exports.d = b_1.b; "./d.ts": [ "./b.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1307 + "size": 1266 } @@ -1851,7 +1781,7 @@ No shapes updated in the builder:: //// [/src/project/d.d.ts] file written with same contents //// [/src/project/d.d.ts.map] file written with same contents //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-17390360476-export const a = 10;const aLocal = 100;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true,"declarationMap":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-17390360476-export const a = 10;const aLocal = 100;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true,"declarationMap":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1949,17 +1879,10 @@ No shapes updated in the builder:: "./d.ts": [ "./b.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1360 + "size": 1319 } diff --git a/tests/baselines/reference/tsc/incremental/different-options.js b/tests/baselines/reference/tsc/incremental/different-options.js index e26b036f17cc2..dfbfcca7791e9 100644 --- a/tests/baselines/reference/tsc/incremental/different-options.js +++ b/tests/baselines/reference/tsc/incremental/different-options.js @@ -122,7 +122,7 @@ exports.d = b_1.b; //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18487752940-export const a = 10;const aLocal = 10;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5],"latestChangedDtsFile":"./d.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18487752940-export const a = 10;const aLocal = 10;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./d.d.ts"},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -220,17 +220,10 @@ exports.d = b_1.b; "./b.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ], "latestChangedDtsFile": "./d.d.ts" }, "version": "FakeTSVersion", - "size": 1369 + "size": 1328 } @@ -312,7 +305,7 @@ exports.d = b_1.b; {"version":3,"file":"d.js","sourceRoot":"","sources":["d.ts"],"names":[],"mappings":";;;AAAA,yBAAwB;AAAa,QAAA,CAAC,GAAG,KAAC,CAAC"} //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18487752940-export const a = 10;const aLocal = 10;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true,"sourceMap":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5],"latestChangedDtsFile":"./d.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18487752940-export const a = 10;const aLocal = 10;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true,"sourceMap":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./d.d.ts"},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -411,17 +404,10 @@ exports.d = b_1.b; "./b.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ], "latestChangedDtsFile": "./d.d.ts" }, "version": "FakeTSVersion", - "size": 1386 + "size": 1345 } @@ -490,7 +476,7 @@ exports.d = b_1.b; //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18487752940-export const a = 10;const aLocal = 10;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5],"latestChangedDtsFile":"./d.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18487752940-export const a = 10;const aLocal = 10;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./d.d.ts"},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -588,17 +574,10 @@ exports.d = b_1.b; "./b.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ], "latestChangedDtsFile": "./d.d.ts" }, "version": "FakeTSVersion", - "size": 1369 + "size": 1328 } @@ -732,7 +711,7 @@ export declare const d = 10; {"version":3,"file":"d.d.ts","sourceRoot":"","sources":["d.ts"],"names":[],"mappings":"AAAwB,eAAO,MAAM,CAAC,KAAI,CAAC"} //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18487752940-export const a = 10;const aLocal = 10;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true,"declaration":true,"declarationMap":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5],"latestChangedDtsFile":"./d.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18487752940-export const a = 10;const aLocal = 10;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true,"declaration":true,"declarationMap":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./d.d.ts"},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -832,17 +811,10 @@ export declare const d = 10; "./b.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ], "latestChangedDtsFile": "./d.d.ts" }, "version": "FakeTSVersion", - "size": 1410 + "size": 1369 } @@ -895,7 +867,7 @@ export declare const d = 10; //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18487752940-export const a = 10;const aLocal = 10;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5],"latestChangedDtsFile":"./d.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18487752940-export const a = 10;const aLocal = 10;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./d.d.ts"},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -993,17 +965,10 @@ export declare const d = 10; "./b.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ], "latestChangedDtsFile": "./d.d.ts" }, "version": "FakeTSVersion", - "size": 1369 + "size": 1328 } @@ -1120,7 +1085,7 @@ var aLocal = 100; //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-17390360476-export const a = 10;const aLocal = 100;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5],"latestChangedDtsFile":"./d.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-17390360476-export const a = 10;const aLocal = 100;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./d.d.ts"},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1218,17 +1183,10 @@ var aLocal = 100; "./b.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ], "latestChangedDtsFile": "./d.d.ts" }, "version": "FakeTSVersion", - "size": 1370 + "size": 1329 } @@ -1332,7 +1290,7 @@ exports.d = b_1.b; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUJBQXdCO0FBQWEsUUFBQSxDQUFDLEdBQUcsS0FBQyxDQUFDIn0= //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-17390360476-export const a = 10;const aLocal = 100;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true,"inlineSourceMap":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5],"latestChangedDtsFile":"./d.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-17390360476-export const a = 10;const aLocal = 100;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true,"inlineSourceMap":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./d.d.ts"},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1431,17 +1389,10 @@ exports.d = b_1.b; "./b.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ], "latestChangedDtsFile": "./d.d.ts" }, "version": "FakeTSVersion", - "size": 1393 + "size": 1352 } @@ -1517,7 +1468,7 @@ exports.d = b_1.b; //// [/src/project/d.js.map] file written with same contents //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-17390360476-export const a = 10;const aLocal = 100;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true,"sourceMap":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5],"latestChangedDtsFile":"./d.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-17390360476-export const a = 10;const aLocal = 100;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true,"sourceMap":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./d.d.ts"},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1616,17 +1567,10 @@ exports.d = b_1.b; "./b.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ], "latestChangedDtsFile": "./d.d.ts" }, "version": "FakeTSVersion", - "size": 1387 + "size": 1346 } @@ -1724,7 +1668,7 @@ exports.d = b_1.b; //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-17390360476-export const a = 10;const aLocal = 100;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5],"latestChangedDtsFile":"./d.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-17390360476-export const a = 10;const aLocal = 100;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./d.d.ts"},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1823,17 +1767,10 @@ exports.d = b_1.b; "./b.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ], "latestChangedDtsFile": "./d.d.ts" }, "version": "FakeTSVersion", - "size": 1392 + "size": 1351 } @@ -1908,7 +1845,7 @@ exports.d = b_1.b; //// [/src/project/d.js.map] file written with same contents //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-17390360476-export const a = 10;const aLocal = 100;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true,"declarationMap":true,"sourceMap":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,2,3,4,5],"latestChangedDtsFile":"./d.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-17390360476-export const a = 10;const aLocal = 100;","signature":"-3497920574-export declare const a = 10;\n","impliedFormat":1},{"version":"-6189287562-export const b = 10;const bLocal = 10;","signature":"-3829150557-export declare const b = 10;\n","impliedFormat":1},{"version":"3248317647-import { a } from \"./a\";export const c = a;","signature":"-4160380540-export declare const c = 10;\n","impliedFormat":1},{"version":"-19615769517-import { b } from \"./b\";export const d = b;","signature":"-4491610523-export declare const d = 10;\n","impliedFormat":1}],"root":[[2,5]],"options":{"composite":true,"declarationMap":true,"sourceMap":true},"fileIdsList":[[2],[3]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./d.d.ts"},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -2008,16 +1945,9 @@ exports.d = b_1.b; "./b.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts" - ], "latestChangedDtsFile": "./d.d.ts" }, "version": "FakeTSVersion", - "size": 1409 + "size": 1368 } diff --git a/tests/baselines/reference/tsc/incremental/generates-typerefs-correctly.js b/tests/baselines/reference/tsc/incremental/generates-typerefs-correctly.js index f8bc529b15c35..e1209332e5e8a 100644 --- a/tests/baselines/reference/tsc/incremental/generates-typerefs-correctly.js +++ b/tests/baselines/reference/tsc/incremental/generates-typerefs-correctly.js @@ -124,7 +124,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); //// [/src/project/outDir/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../lib/lib.d.ts","../src/box.ts","../src/wrap.ts","../src/bug.js"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14267342128-export interface Box {\n unbox(): T\n}\n","signature":"-15554117365-export interface Box {\n unbox(): T;\n}\n","impliedFormat":1},{"version":"-7208318765-export type Wrap = {\n [K in keyof C]: { wrapped: C[K] }\n}\n","signature":"-7604652776-export type Wrap = {\n [K in keyof C]: {\n wrapped: C[K];\n };\n};\n","impliedFormat":1},{"version":"-27771690375-import * as B from \"./box.js\"\nimport * as W from \"./wrap.js\"\n\n/**\n * @template {object} C\n * @param {C} source\n * @returns {W.Wrap}\n */\nconst wrap = source => {\nthrow source\n}\n\n/**\n * @returns {B.Box}\n */\nconst box = (n = 0) => ({ unbox: () => n })\n\nexport const bug = wrap({ n: box(1) });\n","signature":"-2569667161-export const bug: W.Wrap<{\n n: B.Box;\n}>;\nimport * as B from \"./box.js\";\nimport * as W from \"./wrap.js\";\n","impliedFormat":1}],"root":[[2,4]],"options":{"checkJs":true,"composite":true,"outDir":"./"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,2,4,3],"latestChangedDtsFile":"./src/bug.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../lib/lib.d.ts","../src/box.ts","../src/wrap.ts","../src/bug.js"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14267342128-export interface Box {\n unbox(): T\n}\n","signature":"-15554117365-export interface Box {\n unbox(): T;\n}\n","impliedFormat":1},{"version":"-7208318765-export type Wrap = {\n [K in keyof C]: { wrapped: C[K] }\n}\n","signature":"-7604652776-export type Wrap = {\n [K in keyof C]: {\n wrapped: C[K];\n };\n};\n","impliedFormat":1},{"version":"-27771690375-import * as B from \"./box.js\"\nimport * as W from \"./wrap.js\"\n\n/**\n * @template {object} C\n * @param {C} source\n * @returns {W.Wrap}\n */\nconst wrap = source => {\nthrow source\n}\n\n/**\n * @returns {B.Box}\n */\nconst box = (n = 0) => ({ unbox: () => n })\n\nexport const bug = wrap({ n: box(1) });\n","signature":"-2569667161-export const bug: W.Wrap<{\n n: B.Box;\n}>;\nimport * as B from \"./box.js\";\nimport * as W from \"./wrap.js\";\n","impliedFormat":1}],"root":[[2,4]],"options":{"checkJs":true,"composite":true,"outDir":"./"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./src/bug.d.ts"},"version":"FakeTSVersion"} //// [/src/project/outDir/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -208,16 +208,10 @@ Object.defineProperty(exports, "__esModule", { value: true }); "../src/wrap.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "../src/box.ts", - "../src/bug.js", - "../src/wrap.ts" - ], "latestChangedDtsFile": "./src/bug.d.ts" }, "version": "FakeTSVersion", - "size": 1746 + "size": 1707 } @@ -287,7 +281,7 @@ exports.something = 1; //// [/src/project/outDir/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../lib/lib.d.ts","../src/box.ts","../src/wrap.ts","../src/bug.js"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14267342128-export interface Box {\n unbox(): T\n}\n","signature":"-15554117365-export interface Box {\n unbox(): T;\n}\n","impliedFormat":1},{"version":"-7208318765-export type Wrap = {\n [K in keyof C]: { wrapped: C[K] }\n}\n","signature":"-7604652776-export type Wrap = {\n [K in keyof C]: {\n wrapped: C[K];\n };\n};\n","impliedFormat":1},{"version":"-25729561895-import * as B from \"./box.js\"\nimport * as W from \"./wrap.js\"\n\n/**\n * @template {object} C\n * @param {C} source\n * @returns {W.Wrap}\n */\nconst wrap = source => {\nthrow source\n}\n\n/**\n * @returns {B.Box}\n */\nconst box = (n = 0) => ({ unbox: () => n })\n\nexport const bug = wrap({ n: box(1) });\nexport const something = 1;","signature":"-7681488146-export const bug: W.Wrap<{\n n: B.Box;\n}>;\nexport const something: 1;\nimport * as B from \"./box.js\";\nimport * as W from \"./wrap.js\";\n","impliedFormat":1}],"root":[[2,4]],"options":{"checkJs":true,"composite":true,"outDir":"./"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,2,4,3],"latestChangedDtsFile":"./src/bug.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../lib/lib.d.ts","../src/box.ts","../src/wrap.ts","../src/bug.js"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14267342128-export interface Box {\n unbox(): T\n}\n","signature":"-15554117365-export interface Box {\n unbox(): T;\n}\n","impliedFormat":1},{"version":"-7208318765-export type Wrap = {\n [K in keyof C]: { wrapped: C[K] }\n}\n","signature":"-7604652776-export type Wrap = {\n [K in keyof C]: {\n wrapped: C[K];\n };\n};\n","impliedFormat":1},{"version":"-25729561895-import * as B from \"./box.js\"\nimport * as W from \"./wrap.js\"\n\n/**\n * @template {object} C\n * @param {C} source\n * @returns {W.Wrap}\n */\nconst wrap = source => {\nthrow source\n}\n\n/**\n * @returns {B.Box}\n */\nconst box = (n = 0) => ({ unbox: () => n })\n\nexport const bug = wrap({ n: box(1) });\nexport const something = 1;","signature":"-7681488146-export const bug: W.Wrap<{\n n: B.Box;\n}>;\nexport const something: 1;\nimport * as B from \"./box.js\";\nimport * as W from \"./wrap.js\";\n","impliedFormat":1}],"root":[[2,4]],"options":{"checkJs":true,"composite":true,"outDir":"./"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./src/bug.d.ts"},"version":"FakeTSVersion"} //// [/src/project/outDir/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -371,15 +365,9 @@ exports.something = 1; "../src/wrap.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "../src/box.ts", - "../src/bug.js", - "../src/wrap.ts" - ], "latestChangedDtsFile": "./src/bug.d.ts" }, "version": "FakeTSVersion", - "size": 1801 + "size": 1762 } diff --git a/tests/baselines/reference/tsc/incremental/serializing-error-chains.js b/tests/baselines/reference/tsc/incremental/serializing-error-chains.js index 2f6a0ce262fcf..9b766934157dc 100644 --- a/tests/baselines/reference/tsc/incremental/serializing-error-chains.js +++ b/tests/baselines/reference/tsc/incremental/serializing-error-chains.js @@ -77,7 +77,7 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./index.tsx"],"fileInfos":[{"version":"7198220534-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };\ninterface ReadonlyArray { readonly length: number }","affectsGlobalScope":true,"impliedFormat":1},{"version":"42569361247-declare namespace JSX {\n interface ElementChildrenAttribute { children: {}; }\n interface IntrinsicElements { div: {} }\n}\n\ndeclare var React: any;\n\ndeclare function Component(props: never): any;\ndeclare function Component(props: { children?: number }): any;\n(\n

    \n
    \n)","affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"options":{"jsx":2,"module":99,"strict":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,[2,[{"file":"./index.tsx","start":265,"length":9,"messageText":"This JSX tag's 'children' prop expects a single child of type 'never', but multiple children were provided.","category":1,"code":2746},{"file":"./index.tsx","start":265,"length":9,"messageText":"This JSX tag's 'children' prop expects a single child of type 'number | undefined', but multiple children were provided.","category":1,"code":2746},{"file":"./index.tsx","start":265,"length":9,"code":2769,"category":1,"messageText":{"messageText":"No overload matches this call.","category":1,"code":2769,"next":[{"code":2746,"category":1,"messageText":"This JSX tag's 'children' prop expects a single child of type 'never', but multiple children were provided."},{"code":2746,"category":1,"messageText":"This JSX tag's 'children' prop expects a single child of type 'number | undefined', but multiple children were provided."}]},"relatedInformation":[]}]]]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./index.tsx"],"fileInfos":[{"version":"7198220534-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };\ninterface ReadonlyArray { readonly length: number }","affectsGlobalScope":true,"impliedFormat":1},{"version":"42569361247-declare namespace JSX {\n interface ElementChildrenAttribute { children: {}; }\n interface IntrinsicElements { div: {} }\n}\n\ndeclare var React: any;\n\ndeclare function Component(props: never): any;\ndeclare function Component(props: { children?: number }): any;\n(\n
    \n
    \n)","affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"options":{"jsx":2,"module":99,"strict":true},"semanticDiagnosticsPerFile":[[2,[{"start":265,"length":9,"messageText":"This JSX tag's 'children' prop expects a single child of type 'never', but multiple children were provided.","category":1,"code":2746},{"start":265,"length":9,"messageText":"This JSX tag's 'children' prop expects a single child of type 'number | undefined', but multiple children were provided.","category":1,"code":2746},{"start":265,"length":9,"code":2769,"category":1,"messageText":{"messageText":"No overload matches this call.","category":1,"code":2769,"next":[{"code":2746,"category":1,"messageText":"This JSX tag's 'children' prop expects a single child of type 'never', but multiple children were provided."},{"code":2746,"category":1,"messageText":"This JSX tag's 'children' prop expects a single child of type 'number | undefined', but multiple children were provided."}]},"relatedInformation":[]}]]]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -121,14 +121,11 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated "module": 99, "strict": true }, - "referencedMap": {}, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", [ "./index.tsx", [ { - "file": "./index.tsx", "start": 265, "length": 9, "messageText": "This JSX tag's 'children' prop expects a single child of type 'never', but multiple children were provided.", @@ -136,7 +133,6 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated "code": 2746 }, { - "file": "./index.tsx", "start": 265, "length": 9, "messageText": "This JSX tag's 'children' prop expects a single child of type 'number | undefined', but multiple children were provided.", @@ -144,7 +140,6 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated "code": 2746 }, { - "file": "./index.tsx", "start": 265, "length": 9, "code": 2769, @@ -173,7 +168,7 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated ] }, "version": "FakeTSVersion", - "size": 2076 + "size": 1992 } diff --git a/tests/baselines/reference/tsc/incremental/ts-file-with-no-default-lib-that-augments-the-global-scope.js b/tests/baselines/reference/tsc/incremental/ts-file-with-no-default-lib-that-augments-the-global-scope.js index 5ecb8b27274bd..4f18466076799 100644 --- a/tests/baselines/reference/tsc/incremental/ts-file-with-no-default-lib-that-augments-the-global-scope.js +++ b/tests/baselines/reference/tsc/incremental/ts-file-with-no-default-lib-that-augments-the-global-scope.js @@ -66,7 +66,7 @@ export {}; //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.esnext.d.ts","./src/main.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-2443389309-/// \n/// \n\ndeclare global {\n interface Test {\n }\n}\n\nexport {};\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"options":{"module":99,"outDir":"./dist","rootDir":"./src","target":99},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.esnext.d.ts","./src/main.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-2443389309-/// \n/// \n\ndeclare global {\n interface Test {\n }\n}\n\nexport {};\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"options":{"module":99,"outDir":"./dist","rootDir":"./src","target":99}},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -110,14 +110,9 @@ export {}; "outDir": "./dist", "rootDir": "./src", "target": 99 - }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.esnext.d.ts", - "./src/main.ts" - ] + } }, "version": "FakeTSVersion", - "size": 958 + "size": 904 } diff --git a/tests/baselines/reference/tsc/incremental/tsbuildinfo-has-error.js b/tests/baselines/reference/tsc/incremental/tsbuildinfo-has-error.js index 6d4cdc05cc27b..112a3c5cac17e 100644 --- a/tests/baselines/reference/tsc/incremental/tsbuildinfo-has-error.js +++ b/tests/baselines/reference/tsc/incremental/tsbuildinfo-has-error.js @@ -39,7 +39,7 @@ exports.x = 10; //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./main.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","impliedFormat":1}],"root":[2],"referencedMap":[],"semanticDiagnosticsPerFile":[1,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./main.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","impliedFormat":1}],"root":[2]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -75,15 +75,10 @@ exports.x = 10; 2, "./main.ts" ] - ], - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./main.ts" ] }, "version": "FakeTSVersion", - "size": 728 + "size": 674 } @@ -91,7 +86,7 @@ exports.x = 10; Change:: tsbuildinfo written has error Input:: //// [/src/project/tsconfig.tsbuildinfo] -Some random string{"program":{"fileNames":["../../lib/lib.d.ts","./main.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","impliedFormat":1}],"root":[2],"referencedMap":[],"semanticDiagnosticsPerFile":[1,2]},"version":"FakeTSVersion"} +Some random string{"program":{"fileNames":["../../lib/lib.d.ts","./main.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","impliedFormat":1}],"root":[2]},"version":"FakeTSVersion"} @@ -102,6 +97,6 @@ exitCode:: ExitStatus.Success //// [/src/project/main.js] file written with same contents //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./main.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","impliedFormat":1}],"root":[2],"referencedMap":[],"semanticDiagnosticsPerFile":[1,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./main.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","impliedFormat":1}],"root":[2]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] file written with same contents diff --git a/tests/baselines/reference/tsc/incremental/when-file-is-deleted.js b/tests/baselines/reference/tsc/incremental/when-file-is-deleted.js index 00f406276cd9c..f230c57a6bef9 100644 --- a/tests/baselines/reference/tsc/incremental/when-file-is-deleted.js +++ b/tests/baselines/reference/tsc/incremental/when-file-is-deleted.js @@ -71,7 +71,7 @@ exports.D = D; //// [/src/project/outDir/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../lib/lib.d.ts","../file1.ts","../file2.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-9819564552-export class C { }","signature":"-8650565060-export declare class C {\n}\n","impliedFormat":1},{"version":"-7804761415-export class D { }","signature":"-8611429667-export declare class D {\n}\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"./"},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./file2.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../lib/lib.d.ts","../file1.ts","../file2.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-9819564552-export class C { }","signature":"-8650565060-export declare class C {\n}\n","impliedFormat":1},{"version":"-7804761415-export class D { }","signature":"-8611429667-export declare class D {\n}\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"./"},"latestChangedDtsFile":"./file2.d.ts"},"version":"FakeTSVersion"} //// [/src/project/outDir/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -128,16 +128,10 @@ exports.D = D; "composite": true, "outDir": "./" }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "../file1.ts", - "../file2.ts" - ], "latestChangedDtsFile": "./file2.d.ts" }, "version": "FakeTSVersion", - "size": 1005 + "size": 949 } @@ -153,7 +147,7 @@ exitCode:: ExitStatus.Success //// [/src/project/outDir/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../lib/lib.d.ts","../file1.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-9819564552-export class C { }","signature":"-8650565060-export declare class C {\n}\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"outDir":"./"},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./file2.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../lib/lib.d.ts","../file1.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-9819564552-export class C { }","signature":"-8650565060-export declare class C {\n}\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"outDir":"./"},"latestChangedDtsFile":"./file2.d.ts"},"version":"FakeTSVersion"} //// [/src/project/outDir/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -195,14 +189,9 @@ exitCode:: ExitStatus.Success "composite": true, "outDir": "./" }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "../file1.ts" - ], "latestChangedDtsFile": "./file2.d.ts" }, "version": "FakeTSVersion", - "size": 868 + "size": 814 } diff --git a/tests/baselines/reference/tsc/incremental/when-global-file-is-added,-the-signatures-are-updated.js b/tests/baselines/reference/tsc/incremental/when-global-file-is-added,-the-signatures-are-updated.js index da28260d5ec42..bdbe2494b3cae 100644 --- a/tests/baselines/reference/tsc/incremental/when-global-file-is-added,-the-signatures-are-updated.js +++ b/tests/baselines/reference/tsc/incremental/when-global-file-is-added,-the-signatures-are-updated.js @@ -120,7 +120,7 @@ function main() { } //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./src/filepresent.ts","./src/anotherfilewithsamereferenes.ts","./src/main.ts","./src/filenotfound.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-12346563362-function something() { return 10; }","signature":"-4903250974-declare function something(): number;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-28237004260-/// \n/// \nfunction anotherFileWithSameReferenes() { }\n","signature":"-11249446897-declare function anotherFileWithSameReferenes(): void;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-21256825585-/// \n/// \nfunction main() { }\n","signature":"-1399491038-declare function main(): void;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true},"fileIdsList":[[2,5]],"referencedMap":[[3,1],[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./src/main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./src/filepresent.ts","./src/anotherfilewithsamereferenes.ts","./src/main.ts","./src/filenotfound.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-12346563362-function something() { return 10; }","signature":"-4903250974-declare function something(): number;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-28237004260-/// \n/// \nfunction anotherFileWithSameReferenes() { }\n","signature":"-11249446897-declare function anotherFileWithSameReferenes(): void;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-21256825585-/// \n/// \nfunction main() { }\n","signature":"-1399491038-declare function main(): void;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true},"fileIdsList":[[2,5]],"referencedMap":[[3,1],[4,1]],"latestChangedDtsFile":"./src/main.d.ts"},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -213,16 +213,10 @@ function main() { } "./src/filenotfound.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/anotherfilewithsamereferenes.ts", - "./src/filepresent.ts", - "./src/main.ts" - ], "latestChangedDtsFile": "./src/main.d.ts" }, "version": "FakeTSVersion", - "size": 1568 + "size": 1529 } @@ -335,7 +329,7 @@ something(); //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./src/filepresent.ts","./src/anotherfilewithsamereferenes.ts","./src/main.ts","./src/filenotfound.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-12346563362-function something() { return 10; }","signature":"-4903250974-declare function something(): number;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-28237004260-/// \n/// \nfunction anotherFileWithSameReferenes() { }\n","signature":"-11249446897-declare function anotherFileWithSameReferenes(): void;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-24702349751-/// \n/// \nfunction main() { }\nsomething();","signature":"-1399491038-declare function main(): void;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true},"fileIdsList":[[2,5]],"referencedMap":[[3,1],[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./src/main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./src/filepresent.ts","./src/anotherfilewithsamereferenes.ts","./src/main.ts","./src/filenotfound.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-12346563362-function something() { return 10; }","signature":"-4903250974-declare function something(): number;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-28237004260-/// \n/// \nfunction anotherFileWithSameReferenes() { }\n","signature":"-11249446897-declare function anotherFileWithSameReferenes(): void;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-24702349751-/// \n/// \nfunction main() { }\nsomething();","signature":"-1399491038-declare function main(): void;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true},"fileIdsList":[[2,5]],"referencedMap":[[3,1],[4,1]],"latestChangedDtsFile":"./src/main.d.ts"},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -428,16 +422,10 @@ something(); "./src/filenotfound.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/anotherfilewithsamereferenes.ts", - "./src/filepresent.ts", - "./src/main.ts" - ], "latestChangedDtsFile": "./src/main.d.ts" }, "version": "FakeTSVersion", - "size": 1580 + "size": 1541 } @@ -504,7 +492,7 @@ something(); //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./src/filepresent.ts","./src/anotherfilewithsamereferenes.ts","./src/main.ts","./src/filenotfound.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-12346563362-function something() { return 10; }","signature":"-4903250974-declare function something(): number;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-28237004260-/// \n/// \nfunction anotherFileWithSameReferenes() { }\n","signature":"-11249446897-declare function anotherFileWithSameReferenes(): void;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-20086051197-/// \n/// \nfunction main() { }\nsomething();something();","signature":"-1399491038-declare function main(): void;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true},"fileIdsList":[[2,5]],"referencedMap":[[3,1],[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./src/main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./src/filepresent.ts","./src/anotherfilewithsamereferenes.ts","./src/main.ts","./src/filenotfound.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-12346563362-function something() { return 10; }","signature":"-4903250974-declare function something(): number;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-28237004260-/// \n/// \nfunction anotherFileWithSameReferenes() { }\n","signature":"-11249446897-declare function anotherFileWithSameReferenes(): void;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-20086051197-/// \n/// \nfunction main() { }\nsomething();something();","signature":"-1399491038-declare function main(): void;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true},"fileIdsList":[[2,5]],"referencedMap":[[3,1],[4,1]],"latestChangedDtsFile":"./src/main.d.ts"},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -597,16 +585,10 @@ something(); "./src/filenotfound.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/anotherfilewithsamereferenes.ts", - "./src/filepresent.ts", - "./src/main.ts" - ], "latestChangedDtsFile": "./src/main.d.ts" }, "version": "FakeTSVersion", - "size": 1592 + "size": 1553 } @@ -698,7 +680,7 @@ function foo() { return 20; } //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./src/filepresent.ts","./src/anotherfilewithsamereferenes.ts","./src/newfile.ts","./src/main.ts","./src/filenotfound.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-12346563362-function something() { return 10; }","signature":"-4903250974-declare function something(): number;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-28237004260-/// \n/// \nfunction anotherFileWithSameReferenes() { }\n","signature":"-11249446897-declare function anotherFileWithSameReferenes(): void;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"5451387573-function foo() { return 20; }","signature":"517738360-declare function foo(): number;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3581559188-/// \n/// \n/// \nfunction main() { }\nsomething();something();foo();","signature":"-1399491038-declare function main(): void;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,5]],"options":{"composite":true},"fileIdsList":[[2,6],[2,4,6]],"referencedMap":[[3,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,5,4],"latestChangedDtsFile":"./src/newFile.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./src/filepresent.ts","./src/anotherfilewithsamereferenes.ts","./src/newfile.ts","./src/main.ts","./src/filenotfound.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-12346563362-function something() { return 10; }","signature":"-4903250974-declare function something(): number;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-28237004260-/// \n/// \nfunction anotherFileWithSameReferenes() { }\n","signature":"-11249446897-declare function anotherFileWithSameReferenes(): void;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"5451387573-function foo() { return 20; }","signature":"517738360-declare function foo(): number;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3581559188-/// \n/// \n/// \nfunction main() { }\nsomething();something();foo();","signature":"-1399491038-declare function main(): void;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,5]],"options":{"composite":true},"fileIdsList":[[2,6],[2,4,6]],"referencedMap":[[3,1],[5,2]],"latestChangedDtsFile":"./src/newFile.d.ts"},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -811,17 +793,10 @@ function foo() { return 20; } "./src/filenotfound.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/anotherfilewithsamereferenes.ts", - "./src/filepresent.ts", - "./src/main.ts", - "./src/newfile.ts" - ], "latestChangedDtsFile": "./src/newFile.d.ts" }, "version": "FakeTSVersion", - "size": 1826 + "size": 1785 } @@ -886,7 +861,7 @@ function something2() { return 20; } //// [/src/project/src/main.js] file written with same contents //// [/src/project/src/newFile.js] file written with same contents //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./src/filepresent.ts","./src/filenotfound.ts","./src/anotherfilewithsamereferenes.ts","./src/newfile.ts","./src/main.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-12346563362-function something() { return 10; }","signature":"-4903250974-declare function something(): number;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-9011934479-function something2() { return 20; }","signature":"-11412869068-declare function something2(): number;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-28237004260-/// \n/// \nfunction anotherFileWithSameReferenes() { }\n","signature":"-11249446897-declare function anotherFileWithSameReferenes(): void;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"5451387573-function foo() { return 20; }","signature":"517738360-declare function foo(): number;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3581559188-/// \n/// \n/// \nfunction main() { }\nsomething();something();foo();","signature":"-1399491038-declare function main(): void;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,6]],"options":{"composite":true},"fileIdsList":[[2,3],[2,3,5]],"referencedMap":[[4,1],[6,2]],"semanticDiagnosticsPerFile":[1,4,3,2,6,5],"latestChangedDtsFile":"./src/fileNotFound.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./src/filepresent.ts","./src/filenotfound.ts","./src/anotherfilewithsamereferenes.ts","./src/newfile.ts","./src/main.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-12346563362-function something() { return 10; }","signature":"-4903250974-declare function something(): number;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-9011934479-function something2() { return 20; }","signature":"-11412869068-declare function something2(): number;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-28237004260-/// \n/// \nfunction anotherFileWithSameReferenes() { }\n","signature":"-11249446897-declare function anotherFileWithSameReferenes(): void;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"5451387573-function foo() { return 20; }","signature":"517738360-declare function foo(): number;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3581559188-/// \n/// \n/// \nfunction main() { }\nsomething();something();foo();","signature":"-1399491038-declare function main(): void;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,6]],"options":{"composite":true},"fileIdsList":[[2,3],[2,3,5]],"referencedMap":[[4,1],[6,2]],"latestChangedDtsFile":"./src/fileNotFound.d.ts"},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1012,18 +987,10 @@ function something2() { return 20; } "./src/newfile.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/anotherfilewithsamereferenes.ts", - "./src/filenotfound.ts", - "./src/filepresent.ts", - "./src/main.ts", - "./src/newfile.ts" - ], "latestChangedDtsFile": "./src/fileNotFound.d.ts" }, "version": "FakeTSVersion", - "size": 2008 + "size": 1965 } @@ -1082,7 +1049,7 @@ something(); //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./src/filepresent.ts","./src/filenotfound.ts","./src/anotherfilewithsamereferenes.ts","./src/newfile.ts","./src/main.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-12346563362-function something() { return 10; }","signature":"-4903250974-declare function something(): number;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-9011934479-function something2() { return 20; }","signature":"-11412869068-declare function something2(): number;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-28237004260-/// \n/// \nfunction anotherFileWithSameReferenes() { }\n","signature":"-11249446897-declare function anotherFileWithSameReferenes(): void;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"5451387573-function foo() { return 20; }","signature":"517738360-declare function foo(): number;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"3987942182-/// \n/// \n/// \nfunction main() { }\nsomething();something();foo();something();","signature":"-1399491038-declare function main(): void;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,6]],"options":{"composite":true},"fileIdsList":[[2,3],[2,3,5]],"referencedMap":[[4,1],[6,2]],"semanticDiagnosticsPerFile":[1,4,3,2,6,5],"latestChangedDtsFile":"./src/fileNotFound.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./src/filepresent.ts","./src/filenotfound.ts","./src/anotherfilewithsamereferenes.ts","./src/newfile.ts","./src/main.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-12346563362-function something() { return 10; }","signature":"-4903250974-declare function something(): number;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-9011934479-function something2() { return 20; }","signature":"-11412869068-declare function something2(): number;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"-28237004260-/// \n/// \nfunction anotherFileWithSameReferenes() { }\n","signature":"-11249446897-declare function anotherFileWithSameReferenes(): void;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"5451387573-function foo() { return 20; }","signature":"517738360-declare function foo(): number;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"3987942182-/// \n/// \n/// \nfunction main() { }\nsomething();something();foo();something();","signature":"-1399491038-declare function main(): void;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,6]],"options":{"composite":true},"fileIdsList":[[2,3],[2,3,5]],"referencedMap":[[4,1],[6,2]],"latestChangedDtsFile":"./src/fileNotFound.d.ts"},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1208,17 +1175,9 @@ something(); "./src/newfile.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/anotherfilewithsamereferenes.ts", - "./src/filenotfound.ts", - "./src/filepresent.ts", - "./src/main.ts", - "./src/newfile.ts" - ], "latestChangedDtsFile": "./src/fileNotFound.d.ts" }, "version": "FakeTSVersion", - "size": 2019 + "size": 1976 } diff --git a/tests/baselines/reference/tsc/incremental/when-new-file-is-added-to-the-referenced-project-discrepancies.js b/tests/baselines/reference/tsc/incremental/when-new-file-is-added-to-the-referenced-project-discrepancies.js index 2473886a85b18..9972addc78d8d 100644 --- a/tests/baselines/reference/tsc/incremental/when-new-file-is-added-to-the-referenced-project-discrepancies.js +++ b/tests/baselines/reference/tsc/incremental/when-new-file-is-added-to-the-referenced-project-discrepancies.js @@ -32,6 +32,20 @@ CleanBuild: "composite": true, "module": 0 }, + "semanticDiagnosticsPerFile": [ + [ + "../../../lib/lib.d.ts", + "not cached or not changed" + ], + [ + "../project1/class1.d.ts", + "not cached or not changed" + ], + [ + "./class2.ts", + "not cached or not changed" + ] + ], "latestChangedDtsFile": "FakeFileName" }, "version": "FakeTSVersion" @@ -66,11 +80,6 @@ IncrementalBuild: "composite": true, "module": 0 }, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "../project1/class1.d.ts", - "./class2.ts" - ], "latestChangedDtsFile": "FakeFileName" }, "version": "FakeTSVersion" @@ -109,6 +118,20 @@ CleanBuild: "composite": true, "module": 0 }, + "semanticDiagnosticsPerFile": [ + [ + "../../../lib/lib.d.ts", + "not cached or not changed" + ], + [ + "../project1/class1.d.ts", + "not cached or not changed" + ], + [ + "./class2.ts", + "not cached or not changed" + ] + ], "latestChangedDtsFile": "FakeFileName" }, "version": "FakeTSVersion" @@ -144,7 +167,14 @@ IncrementalBuild: "module": 0 }, "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts" + [ + "../project1/class1.d.ts", + "not cached or not changed" + ], + [ + "./class2.ts", + "not cached or not changed" + ] ], "latestChangedDtsFile": "FakeFileName" }, diff --git a/tests/baselines/reference/tsc/incremental/when-new-file-is-added-to-the-referenced-project.js b/tests/baselines/reference/tsc/incremental/when-new-file-is-added-to-the-referenced-project.js index 4a1d09f04de43..f3713d10a3061 100644 --- a/tests/baselines/reference/tsc/incremental/when-new-file-is-added-to-the-referenced-project.js +++ b/tests/baselines/reference/tsc/incremental/when-new-file-is-added-to-the-referenced-project.js @@ -69,7 +69,7 @@ var class2 = /** @class */ (function () { //// [/src/projects/project2/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../lib/lib.d.ts","../project1/class1.d.ts","./class2.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3469237238-declare class class1 {}","affectsGlobalScope":true,"impliedFormat":1},{"version":"777969115-class class2 {}","signature":"-2684084705-declare class class2 {\n}\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[3],"options":{"composite":true,"module":0},"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./class2.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../lib/lib.d.ts","../project1/class1.d.ts","./class2.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3469237238-declare class class1 {}","affectsGlobalScope":true,"impliedFormat":1},{"version":"777969115-class class2 {}","signature":"-2684084705-declare class class2 {\n}\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[3],"options":{"composite":true,"module":0},"latestChangedDtsFile":"./class2.d.ts"},"version":"FakeTSVersion"} //// [/src/projects/project2/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -125,15 +125,10 @@ var class2 = /** @class */ (function () { "composite": true, "module": 0 }, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "../project1/class1.d.ts", - "./class2.ts" - ], "latestChangedDtsFile": "./class2.d.ts" }, "version": "FakeTSVersion", - "size": 987 + "size": 950 } @@ -182,7 +177,7 @@ exitCode:: ExitStatus.Success //// [/src/projects/project2/class2.js] file written with same contents //// [/src/projects/project2/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../lib/lib.d.ts","../project1/class1.d.ts","../project1/class3.d.ts","./class2.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3469237238-declare class class1 {}","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3469165364-declare class class3 {}","affectsGlobalScope":true,"impliedFormat":1},{"version":"777969115-class class2 {}","signature":"-2684084705-declare class class2 {\n}\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[4],"options":{"composite":true,"module":0},"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./class2.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../lib/lib.d.ts","../project1/class1.d.ts","../project1/class3.d.ts","./class2.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3469237238-declare class class1 {}","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3469165364-declare class class3 {}","affectsGlobalScope":true,"impliedFormat":1},{"version":"777969115-class class2 {}","signature":"-2684084705-declare class class2 {\n}\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[4],"options":{"composite":true,"module":0},"latestChangedDtsFile":"./class2.d.ts"},"version":"FakeTSVersion"} //// [/src/projects/project2/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -250,16 +245,10 @@ exitCode:: ExitStatus.Success "composite": true, "module": 0 }, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "../project1/class1.d.ts", - "../project1/class3.d.ts", - "./class2.ts" - ], "latestChangedDtsFile": "./class2.d.ts" }, "version": "FakeTSVersion", - "size": 1109 + "size": 1070 } @@ -306,7 +295,7 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated //// [/src/projects/project2/class2.js] file written with same contents //// [/src/projects/project2/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../lib/lib.d.ts","../project1/class1.d.ts","./class2.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3469237238-declare class class1 {}","affectsGlobalScope":true,"impliedFormat":1},{"version":"777969115-class class2 {}","signature":"-2684084705-declare class class2 {\n}\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[3],"options":{"composite":true,"module":0},"semanticDiagnosticsPerFile":[1],"latestChangedDtsFile":"./class2.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../lib/lib.d.ts","../project1/class1.d.ts","./class2.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3469237238-declare class class1 {}","affectsGlobalScope":true,"impliedFormat":1},{"version":"777969115-class class2 {}","signature":"-2684084705-declare class class2 {\n}\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[3],"options":{"composite":true,"module":0},"semanticDiagnosticsPerFile":[2,3],"latestChangedDtsFile":"./class2.d.ts"},"version":"FakeTSVersion"} //// [/src/projects/project2/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -363,12 +352,19 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated "module": 0 }, "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts" + [ + "../project1/class1.d.ts", + "not cached or not changed" + ], + [ + "./class2.ts", + "not cached or not changed" + ] ], "latestChangedDtsFile": "./class2.d.ts" }, "version": "FakeTSVersion", - "size": 983 + "size": 985 } @@ -387,7 +383,7 @@ exitCode:: ExitStatus.Success //// [/src/projects/project2/class2.js] file written with same contents //// [/src/projects/project2/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../lib/lib.d.ts","../project1/class1.d.ts","../project1/class3.d.ts","./class2.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3469237238-declare class class1 {}","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3469165364-declare class class3 {}","affectsGlobalScope":true,"impliedFormat":1},{"version":"777969115-class class2 {}","signature":"-2684084705-declare class class2 {\n}\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[4],"options":{"composite":true,"module":0},"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./class2.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../lib/lib.d.ts","../project1/class1.d.ts","../project1/class3.d.ts","./class2.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3469237238-declare class class1 {}","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3469165364-declare class class3 {}","affectsGlobalScope":true,"impliedFormat":1},{"version":"777969115-class class2 {}","signature":"-2684084705-declare class class2 {\n}\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[4],"options":{"composite":true,"module":0},"latestChangedDtsFile":"./class2.d.ts"},"version":"FakeTSVersion"} //// [/src/projects/project2/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -455,15 +451,9 @@ exitCode:: ExitStatus.Success "composite": true, "module": 0 }, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "../project1/class1.d.ts", - "../project1/class3.d.ts", - "./class2.ts" - ], "latestChangedDtsFile": "./class2.d.ts" }, "version": "FakeTSVersion", - "size": 1109 + "size": 1070 } diff --git a/tests/baselines/reference/tsc/incremental/when-passing-filename-for-buildinfo-on-commandline.js b/tests/baselines/reference/tsc/incremental/when-passing-filename-for-buildinfo-on-commandline.js index 15c6e17079b8e..6213eee28b446 100644 --- a/tests/baselines/reference/tsc/incremental/when-passing-filename-for-buildinfo-on-commandline.js +++ b/tests/baselines/reference/tsc/incremental/when-passing-filename-for-buildinfo-on-commandline.js @@ -41,7 +41,7 @@ exitCode:: ExitStatus.Success //// [/src/project/.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./src/main.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","impliedFormat":1}],"root":[2],"options":{"module":1,"target":1,"tsBuildInfoFile":"./.tsbuildinfo"},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./src/main.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","impliedFormat":1}],"root":[2],"options":{"module":1,"target":1,"tsBuildInfoFile":"./.tsbuildinfo"}},"version":"FakeTSVersion"} //// [/src/project/.tsbuildinfo.readable.baseline.txt] { @@ -82,15 +82,10 @@ exitCode:: ExitStatus.Success "module": 1, "target": 1, "tsBuildInfoFile": "./.tsbuildinfo" - }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/main.ts" - ] + } }, "version": "FakeTSVersion", - "size": 801 + "size": 747 } //// [/src/project/src/main.js] diff --git a/tests/baselines/reference/tsc/incremental/when-passing-rootDir-from-commandline.js b/tests/baselines/reference/tsc/incremental/when-passing-rootDir-from-commandline.js index aea016f4f1522..6dbb83bd8a37c 100644 --- a/tests/baselines/reference/tsc/incremental/when-passing-rootDir-from-commandline.js +++ b/tests/baselines/reference/tsc/incremental/when-passing-rootDir-from-commandline.js @@ -41,7 +41,7 @@ exports.x = 10; //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./src/main.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","impliedFormat":1}],"root":[2],"options":{"outDir":"./dist","rootDir":"./src"},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./src/main.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","impliedFormat":1}],"root":[2],"options":{"outDir":"./dist","rootDir":"./src"}},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -81,15 +81,10 @@ exports.x = 10; "options": { "outDir": "./dist", "rootDir": "./src" - }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/main.ts" - ] + } }, "version": "FakeTSVersion", - "size": 780 + "size": 726 } diff --git a/tests/baselines/reference/tsc/incremental/when-passing-rootDir-is-in-the-tsconfig.js b/tests/baselines/reference/tsc/incremental/when-passing-rootDir-is-in-the-tsconfig.js index 5753832901ece..e29552a529bd9 100644 --- a/tests/baselines/reference/tsc/incremental/when-passing-rootDir-is-in-the-tsconfig.js +++ b/tests/baselines/reference/tsc/incremental/when-passing-rootDir-is-in-the-tsconfig.js @@ -42,7 +42,7 @@ exports.x = 10; //// [/src/project/built/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../lib/lib.d.ts","../src/main.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","impliedFormat":1}],"root":[2],"options":{"outDir":"./","rootDir":".."},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../lib/lib.d.ts","../src/main.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","impliedFormat":1}],"root":[2],"options":{"outDir":"./","rootDir":".."}},"version":"FakeTSVersion"} //// [/src/project/built/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -82,15 +82,10 @@ exports.x = 10; "options": { "outDir": "./", "rootDir": ".." - }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", - "../src/main.ts" - ] + } }, "version": "FakeTSVersion", - "size": 777 + "size": 723 } diff --git a/tests/baselines/reference/tsc/incremental/with-aliased-const-enums-with-preserveConstEnums.js b/tests/baselines/reference/tsc/incremental/with-aliased-const-enums-with-preserveConstEnums.js new file mode 100644 index 0000000000000..9356c08f49a9a --- /dev/null +++ b/tests/baselines/reference/tsc/incremental/with-aliased-const-enums-with-preserveConstEnums.js @@ -0,0 +1,589 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Input:: +//// [/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/src/project/a.ts] +import {A} from "./c" +let a = A.ONE + + +//// [/src/project/b.d.ts] +declare const enum AWorker { + ONE = 1 +} +export { AWorker as A }; + + +//// [/src/project/c.ts] +import {A} from "./b" +let b = A.ONE +export {A} + + +//// [/src/project/worker.d.ts] +export const enum AWorker { + ONE = 1 +} + + + + +Output:: +/lib/tsc -i /src/project/a.ts --tsbuildinfofile /src/project/a.tsbuildinfo --preserveConstEnums +exitCode:: ExitStatus.Success + + +//// [/src/project/a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var a = 1 /* A.ONE */; + + +//// [/src/project/a.tsbuildinfo] +{"program":{"fileNames":["../../lib/lib.d.ts","./b.d.ts","./c.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8804827199-declare const enum AWorker {\n ONE = 1\n}\nexport { AWorker as A };\n","impliedFormat":1},{"version":"-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n","impliedFormat":1},{"version":"-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n","impliedFormat":1}],"root":[4],"options":{"preserveConstEnums":true,"tsBuildInfoFile":"./a.tsbuildinfo"},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]]},"version":"FakeTSVersion"} + +//// [/src/project/a.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../lib/lib.d.ts", + "./b.d.ts", + "./c.ts", + "./a.ts" + ], + "fileNamesList": [ + [ + "./c.ts" + ], + [ + "./b.d.ts" + ] + ], + "fileInfos": { + "../../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "./b.d.ts": { + "original": { + "version": "-8804827199-declare const enum AWorker {\n ONE = 1\n}\nexport { AWorker as A };\n", + "impliedFormat": 1 + }, + "version": "-8804827199-declare const enum AWorker {\n ONE = 1\n}\nexport { AWorker as A };\n", + "signature": "-8804827199-declare const enum AWorker {\n ONE = 1\n}\nexport { AWorker as A };\n", + "impliedFormat": "commonjs" + }, + "./c.ts": { + "original": { + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "impliedFormat": 1 + }, + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "signature": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "impliedFormat": "commonjs" + }, + "./a.ts": { + "original": { + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "impliedFormat": 1 + }, + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "signature": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + 4, + "./a.ts" + ] + ], + "options": { + "preserveConstEnums": true, + "tsBuildInfoFile": "./a.tsbuildinfo" + }, + "referencedMap": { + "./a.ts": [ + "./c.ts" + ], + "./c.ts": [ + "./b.d.ts" + ] + } + }, + "version": "FakeTSVersion", + "size": 1052 +} + +//// [/src/project/c.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.A = void 0; +var b_1 = require("./b"); +Object.defineProperty(exports, "A", { enumerable: true, get: function () { return b_1.A; } }); +var b = 1 /* A.ONE */; + + + + +Change:: change enum value +Input:: +//// [/src/project/b.d.ts] +declare const enum AWorker { + ONE = 2 +} +export { AWorker as A }; + + + + +Output:: +/lib/tsc -i /src/project/a.ts --tsbuildinfofile /src/project/a.tsbuildinfo --preserveConstEnums +exitCode:: ExitStatus.Success + + +//// [/src/project/a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var a = 2 /* A.ONE */; + + +//// [/src/project/a.tsbuildinfo] +{"program":{"fileNames":["../../lib/lib.d.ts","./b.d.ts","./c.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-13802607806-declare const enum AWorker {\n ONE = 2\n}\nexport { AWorker as A };\n","impliedFormat":1},{"version":"-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n","signature":"3259150197-import { A } from \"./b\";\nexport { A };\n","impliedFormat":1},{"version":"-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"preserveConstEnums":true,"tsBuildInfoFile":"./a.tsbuildinfo"},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]]},"version":"FakeTSVersion"} + +//// [/src/project/a.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../lib/lib.d.ts", + "./b.d.ts", + "./c.ts", + "./a.ts" + ], + "fileNamesList": [ + [ + "./c.ts" + ], + [ + "./b.d.ts" + ] + ], + "fileInfos": { + "../../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "./b.d.ts": { + "original": { + "version": "-13802607806-declare const enum AWorker {\n ONE = 2\n}\nexport { AWorker as A };\n", + "impliedFormat": 1 + }, + "version": "-13802607806-declare const enum AWorker {\n ONE = 2\n}\nexport { AWorker as A };\n", + "signature": "-13802607806-declare const enum AWorker {\n ONE = 2\n}\nexport { AWorker as A };\n", + "impliedFormat": "commonjs" + }, + "./c.ts": { + "original": { + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "signature": "3259150197-import { A } from \"./b\";\nexport { A };\n", + "impliedFormat": 1 + }, + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "signature": "3259150197-import { A } from \"./b\";\nexport { A };\n", + "impliedFormat": "commonjs" + }, + "./a.ts": { + "original": { + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "signature": "-3531856636-export {};\n", + "impliedFormat": 1 + }, + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "signature": "-3531856636-export {};\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + 4, + "./a.ts" + ] + ], + "options": { + "preserveConstEnums": true, + "tsBuildInfoFile": "./a.tsbuildinfo" + }, + "referencedMap": { + "./a.ts": [ + "./c.ts" + ], + "./c.ts": [ + "./b.d.ts" + ] + } + }, + "version": "FakeTSVersion", + "size": 1161 +} + +//// [/src/project/c.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.A = void 0; +var b_1 = require("./b"); +Object.defineProperty(exports, "A", { enumerable: true, get: function () { return b_1.A; } }); +var b = 2 /* A.ONE */; + + + + +Change:: change enum value again +Input:: +//// [/src/project/b.d.ts] +declare const enum AWorker { + ONE = 3 +} +export { AWorker as A }; + + + + +Output:: +/lib/tsc -i /src/project/a.ts --tsbuildinfofile /src/project/a.tsbuildinfo --preserveConstEnums +exitCode:: ExitStatus.Success + + +//// [/src/project/a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var a = 3 /* A.ONE */; + + +//// [/src/project/a.tsbuildinfo] +{"program":{"fileNames":["../../lib/lib.d.ts","./b.d.ts","./c.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10210453821-declare const enum AWorker {\n ONE = 3\n}\nexport { AWorker as A };\n","impliedFormat":1},{"version":"-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n","signature":"3259150197-import { A } from \"./b\";\nexport { A };\n","impliedFormat":1},{"version":"-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n","impliedFormat":1}],"root":[4],"options":{"preserveConstEnums":true,"tsBuildInfoFile":"./a.tsbuildinfo"},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]]},"version":"FakeTSVersion"} + +//// [/src/project/a.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../lib/lib.d.ts", + "./b.d.ts", + "./c.ts", + "./a.ts" + ], + "fileNamesList": [ + [ + "./c.ts" + ], + [ + "./b.d.ts" + ] + ], + "fileInfos": { + "../../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "./b.d.ts": { + "original": { + "version": "-10210453821-declare const enum AWorker {\n ONE = 3\n}\nexport { AWorker as A };\n", + "impliedFormat": 1 + }, + "version": "-10210453821-declare const enum AWorker {\n ONE = 3\n}\nexport { AWorker as A };\n", + "signature": "-10210453821-declare const enum AWorker {\n ONE = 3\n}\nexport { AWorker as A };\n", + "impliedFormat": "commonjs" + }, + "./c.ts": { + "original": { + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "signature": "3259150197-import { A } from \"./b\";\nexport { A };\n", + "impliedFormat": 1 + }, + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "signature": "3259150197-import { A } from \"./b\";\nexport { A };\n", + "impliedFormat": "commonjs" + }, + "./a.ts": { + "original": { + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "impliedFormat": 1 + }, + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "signature": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + 4, + "./a.ts" + ] + ], + "options": { + "preserveConstEnums": true, + "tsBuildInfoFile": "./a.tsbuildinfo" + }, + "referencedMap": { + "./a.ts": [ + "./c.ts" + ], + "./c.ts": [ + "./b.d.ts" + ] + } + }, + "version": "FakeTSVersion", + "size": 1122 +} + +//// [/src/project/c.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.A = void 0; +var b_1 = require("./b"); +Object.defineProperty(exports, "A", { enumerable: true, get: function () { return b_1.A; } }); +var b = 3 /* A.ONE */; + + + + +Change:: something else changes in b.d.ts +Input:: +//// [/src/project/b.d.ts] +declare const enum AWorker { + ONE = 3 +} +export { AWorker as A }; +export const randomThing = 10; + + + +Output:: +/lib/tsc -i /src/project/a.ts --tsbuildinfofile /src/project/a.tsbuildinfo --preserveConstEnums +exitCode:: ExitStatus.Success + + +//// [/src/project/a.js] file written with same contents +//// [/src/project/a.tsbuildinfo] +{"program":{"fileNames":["../../lib/lib.d.ts","./b.d.ts","./c.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11645711104-declare const enum AWorker {\n ONE = 3\n}\nexport { AWorker as A };\nexport const randomThing = 10;","impliedFormat":1},{"version":"-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n","signature":"3259150197-import { A } from \"./b\";\nexport { A };\n","impliedFormat":1},{"version":"-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n","impliedFormat":1}],"root":[4],"options":{"preserveConstEnums":true,"tsBuildInfoFile":"./a.tsbuildinfo"},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]]},"version":"FakeTSVersion"} + +//// [/src/project/a.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../lib/lib.d.ts", + "./b.d.ts", + "./c.ts", + "./a.ts" + ], + "fileNamesList": [ + [ + "./c.ts" + ], + [ + "./b.d.ts" + ] + ], + "fileInfos": { + "../../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "./b.d.ts": { + "original": { + "version": "-11645711104-declare const enum AWorker {\n ONE = 3\n}\nexport { AWorker as A };\nexport const randomThing = 10;", + "impliedFormat": 1 + }, + "version": "-11645711104-declare const enum AWorker {\n ONE = 3\n}\nexport { AWorker as A };\nexport const randomThing = 10;", + "signature": "-11645711104-declare const enum AWorker {\n ONE = 3\n}\nexport { AWorker as A };\nexport const randomThing = 10;", + "impliedFormat": "commonjs" + }, + "./c.ts": { + "original": { + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "signature": "3259150197-import { A } from \"./b\";\nexport { A };\n", + "impliedFormat": 1 + }, + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "signature": "3259150197-import { A } from \"./b\";\nexport { A };\n", + "impliedFormat": "commonjs" + }, + "./a.ts": { + "original": { + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "impliedFormat": 1 + }, + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "signature": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + 4, + "./a.ts" + ] + ], + "options": { + "preserveConstEnums": true, + "tsBuildInfoFile": "./a.tsbuildinfo" + }, + "referencedMap": { + "./a.ts": [ + "./c.ts" + ], + "./c.ts": [ + "./b.d.ts" + ] + } + }, + "version": "FakeTSVersion", + "size": 1152 +} + +//// [/src/project/c.js] file written with same contents + + +Change:: something else changes in b.d.ts again +Input:: +//// [/src/project/b.d.ts] +declare const enum AWorker { + ONE = 3 +} +export { AWorker as A }; +export const randomThing = 10;export const randomThing2 = 10; + + + +Output:: +/lib/tsc -i /src/project/a.ts --tsbuildinfofile /src/project/a.tsbuildinfo --preserveConstEnums +exitCode:: ExitStatus.Success + + +//// [/src/project/a.js] file written with same contents +//// [/src/project/a.tsbuildinfo] +{"program":{"fileNames":["../../lib/lib.d.ts","./b.d.ts","./c.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-19677125073-declare const enum AWorker {\n ONE = 3\n}\nexport { AWorker as A };\nexport const randomThing = 10;export const randomThing2 = 10;","impliedFormat":1},{"version":"-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n","signature":"3259150197-import { A } from \"./b\";\nexport { A };\n","impliedFormat":1},{"version":"-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n","impliedFormat":1}],"root":[4],"options":{"preserveConstEnums":true,"tsBuildInfoFile":"./a.tsbuildinfo"},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]]},"version":"FakeTSVersion"} + +//// [/src/project/a.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../lib/lib.d.ts", + "./b.d.ts", + "./c.ts", + "./a.ts" + ], + "fileNamesList": [ + [ + "./c.ts" + ], + [ + "./b.d.ts" + ] + ], + "fileInfos": { + "../../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "./b.d.ts": { + "original": { + "version": "-19677125073-declare const enum AWorker {\n ONE = 3\n}\nexport { AWorker as A };\nexport const randomThing = 10;export const randomThing2 = 10;", + "impliedFormat": 1 + }, + "version": "-19677125073-declare const enum AWorker {\n ONE = 3\n}\nexport { AWorker as A };\nexport const randomThing = 10;export const randomThing2 = 10;", + "signature": "-19677125073-declare const enum AWorker {\n ONE = 3\n}\nexport { AWorker as A };\nexport const randomThing = 10;export const randomThing2 = 10;", + "impliedFormat": "commonjs" + }, + "./c.ts": { + "original": { + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "signature": "3259150197-import { A } from \"./b\";\nexport { A };\n", + "impliedFormat": 1 + }, + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "signature": "3259150197-import { A } from \"./b\";\nexport { A };\n", + "impliedFormat": "commonjs" + }, + "./a.ts": { + "original": { + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "impliedFormat": 1 + }, + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "signature": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + 4, + "./a.ts" + ] + ], + "options": { + "preserveConstEnums": true, + "tsBuildInfoFile": "./a.tsbuildinfo" + }, + "referencedMap": { + "./a.ts": [ + "./c.ts" + ], + "./c.ts": [ + "./b.d.ts" + ] + } + }, + "version": "FakeTSVersion", + "size": 1183 +} + +//// [/src/project/c.js] file written with same contents diff --git a/tests/baselines/reference/tsc/incremental/with-aliased-const-enums.js b/tests/baselines/reference/tsc/incremental/with-aliased-const-enums.js new file mode 100644 index 0000000000000..0f9cb1d519e7c --- /dev/null +++ b/tests/baselines/reference/tsc/incremental/with-aliased-const-enums.js @@ -0,0 +1,575 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Input:: +//// [/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/src/project/a.ts] +import {A} from "./c" +let a = A.ONE + + +//// [/src/project/b.d.ts] +declare const enum AWorker { + ONE = 1 +} +export { AWorker as A }; + + +//// [/src/project/c.ts] +import {A} from "./b" +let b = A.ONE +export {A} + + +//// [/src/project/worker.d.ts] +export const enum AWorker { + ONE = 1 +} + + + + +Output:: +/lib/tsc -i /src/project/a.ts --tsbuildinfofile /src/project/a.tsbuildinfo +exitCode:: ExitStatus.Success + + +//// [/src/project/a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var a = 1 /* A.ONE */; + + +//// [/src/project/a.tsbuildinfo] +{"program":{"fileNames":["../../lib/lib.d.ts","./b.d.ts","./c.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8804827199-declare const enum AWorker {\n ONE = 1\n}\nexport { AWorker as A };\n","impliedFormat":1},{"version":"-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n","impliedFormat":1},{"version":"-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n","impliedFormat":1}],"root":[4],"options":{"tsBuildInfoFile":"./a.tsbuildinfo"},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]]},"version":"FakeTSVersion"} + +//// [/src/project/a.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../lib/lib.d.ts", + "./b.d.ts", + "./c.ts", + "./a.ts" + ], + "fileNamesList": [ + [ + "./c.ts" + ], + [ + "./b.d.ts" + ] + ], + "fileInfos": { + "../../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "./b.d.ts": { + "original": { + "version": "-8804827199-declare const enum AWorker {\n ONE = 1\n}\nexport { AWorker as A };\n", + "impliedFormat": 1 + }, + "version": "-8804827199-declare const enum AWorker {\n ONE = 1\n}\nexport { AWorker as A };\n", + "signature": "-8804827199-declare const enum AWorker {\n ONE = 1\n}\nexport { AWorker as A };\n", + "impliedFormat": "commonjs" + }, + "./c.ts": { + "original": { + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "impliedFormat": 1 + }, + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "signature": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "impliedFormat": "commonjs" + }, + "./a.ts": { + "original": { + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "impliedFormat": 1 + }, + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "signature": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + 4, + "./a.ts" + ] + ], + "options": { + "tsBuildInfoFile": "./a.tsbuildinfo" + }, + "referencedMap": { + "./a.ts": [ + "./c.ts" + ], + "./c.ts": [ + "./b.d.ts" + ] + } + }, + "version": "FakeTSVersion", + "size": 1026 +} + +//// [/src/project/c.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var b = 1 /* A.ONE */; + + + + +Change:: change enum value +Input:: +//// [/src/project/b.d.ts] +declare const enum AWorker { + ONE = 2 +} +export { AWorker as A }; + + + + +Output:: +/lib/tsc -i /src/project/a.ts --tsbuildinfofile /src/project/a.tsbuildinfo +exitCode:: ExitStatus.Success + + +//// [/src/project/a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var a = 2 /* A.ONE */; + + +//// [/src/project/a.tsbuildinfo] +{"program":{"fileNames":["../../lib/lib.d.ts","./b.d.ts","./c.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-13802607806-declare const enum AWorker {\n ONE = 2\n}\nexport { AWorker as A };\n","impliedFormat":1},{"version":"-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n","signature":"3259150197-import { A } from \"./b\";\nexport { A };\n","impliedFormat":1},{"version":"-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"tsBuildInfoFile":"./a.tsbuildinfo"},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]]},"version":"FakeTSVersion"} + +//// [/src/project/a.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../lib/lib.d.ts", + "./b.d.ts", + "./c.ts", + "./a.ts" + ], + "fileNamesList": [ + [ + "./c.ts" + ], + [ + "./b.d.ts" + ] + ], + "fileInfos": { + "../../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "./b.d.ts": { + "original": { + "version": "-13802607806-declare const enum AWorker {\n ONE = 2\n}\nexport { AWorker as A };\n", + "impliedFormat": 1 + }, + "version": "-13802607806-declare const enum AWorker {\n ONE = 2\n}\nexport { AWorker as A };\n", + "signature": "-13802607806-declare const enum AWorker {\n ONE = 2\n}\nexport { AWorker as A };\n", + "impliedFormat": "commonjs" + }, + "./c.ts": { + "original": { + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "signature": "3259150197-import { A } from \"./b\";\nexport { A };\n", + "impliedFormat": 1 + }, + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "signature": "3259150197-import { A } from \"./b\";\nexport { A };\n", + "impliedFormat": "commonjs" + }, + "./a.ts": { + "original": { + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "signature": "-3531856636-export {};\n", + "impliedFormat": 1 + }, + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "signature": "-3531856636-export {};\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + 4, + "./a.ts" + ] + ], + "options": { + "tsBuildInfoFile": "./a.tsbuildinfo" + }, + "referencedMap": { + "./a.ts": [ + "./c.ts" + ], + "./c.ts": [ + "./b.d.ts" + ] + } + }, + "version": "FakeTSVersion", + "size": 1135 +} + +//// [/src/project/c.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var b = 2 /* A.ONE */; + + + + +Change:: change enum value again +Input:: +//// [/src/project/b.d.ts] +declare const enum AWorker { + ONE = 3 +} +export { AWorker as A }; + + + + +Output:: +/lib/tsc -i /src/project/a.ts --tsbuildinfofile /src/project/a.tsbuildinfo +exitCode:: ExitStatus.Success + + +//// [/src/project/a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var a = 3 /* A.ONE */; + + +//// [/src/project/a.tsbuildinfo] +{"program":{"fileNames":["../../lib/lib.d.ts","./b.d.ts","./c.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10210453821-declare const enum AWorker {\n ONE = 3\n}\nexport { AWorker as A };\n","impliedFormat":1},{"version":"-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n","signature":"3259150197-import { A } from \"./b\";\nexport { A };\n","impliedFormat":1},{"version":"-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n","impliedFormat":1}],"root":[4],"options":{"tsBuildInfoFile":"./a.tsbuildinfo"},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]]},"version":"FakeTSVersion"} + +//// [/src/project/a.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../lib/lib.d.ts", + "./b.d.ts", + "./c.ts", + "./a.ts" + ], + "fileNamesList": [ + [ + "./c.ts" + ], + [ + "./b.d.ts" + ] + ], + "fileInfos": { + "../../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "./b.d.ts": { + "original": { + "version": "-10210453821-declare const enum AWorker {\n ONE = 3\n}\nexport { AWorker as A };\n", + "impliedFormat": 1 + }, + "version": "-10210453821-declare const enum AWorker {\n ONE = 3\n}\nexport { AWorker as A };\n", + "signature": "-10210453821-declare const enum AWorker {\n ONE = 3\n}\nexport { AWorker as A };\n", + "impliedFormat": "commonjs" + }, + "./c.ts": { + "original": { + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "signature": "3259150197-import { A } from \"./b\";\nexport { A };\n", + "impliedFormat": 1 + }, + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "signature": "3259150197-import { A } from \"./b\";\nexport { A };\n", + "impliedFormat": "commonjs" + }, + "./a.ts": { + "original": { + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "impliedFormat": 1 + }, + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "signature": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + 4, + "./a.ts" + ] + ], + "options": { + "tsBuildInfoFile": "./a.tsbuildinfo" + }, + "referencedMap": { + "./a.ts": [ + "./c.ts" + ], + "./c.ts": [ + "./b.d.ts" + ] + } + }, + "version": "FakeTSVersion", + "size": 1096 +} + +//// [/src/project/c.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var b = 3 /* A.ONE */; + + + + +Change:: something else changes in b.d.ts +Input:: +//// [/src/project/b.d.ts] +declare const enum AWorker { + ONE = 3 +} +export { AWorker as A }; +export const randomThing = 10; + + + +Output:: +/lib/tsc -i /src/project/a.ts --tsbuildinfofile /src/project/a.tsbuildinfo +exitCode:: ExitStatus.Success + + +//// [/src/project/a.js] file written with same contents +//// [/src/project/a.tsbuildinfo] +{"program":{"fileNames":["../../lib/lib.d.ts","./b.d.ts","./c.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11645711104-declare const enum AWorker {\n ONE = 3\n}\nexport { AWorker as A };\nexport const randomThing = 10;","impliedFormat":1},{"version":"-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n","signature":"3259150197-import { A } from \"./b\";\nexport { A };\n","impliedFormat":1},{"version":"-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n","impliedFormat":1}],"root":[4],"options":{"tsBuildInfoFile":"./a.tsbuildinfo"},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]]},"version":"FakeTSVersion"} + +//// [/src/project/a.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../lib/lib.d.ts", + "./b.d.ts", + "./c.ts", + "./a.ts" + ], + "fileNamesList": [ + [ + "./c.ts" + ], + [ + "./b.d.ts" + ] + ], + "fileInfos": { + "../../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "./b.d.ts": { + "original": { + "version": "-11645711104-declare const enum AWorker {\n ONE = 3\n}\nexport { AWorker as A };\nexport const randomThing = 10;", + "impliedFormat": 1 + }, + "version": "-11645711104-declare const enum AWorker {\n ONE = 3\n}\nexport { AWorker as A };\nexport const randomThing = 10;", + "signature": "-11645711104-declare const enum AWorker {\n ONE = 3\n}\nexport { AWorker as A };\nexport const randomThing = 10;", + "impliedFormat": "commonjs" + }, + "./c.ts": { + "original": { + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "signature": "3259150197-import { A } from \"./b\";\nexport { A };\n", + "impliedFormat": 1 + }, + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "signature": "3259150197-import { A } from \"./b\";\nexport { A };\n", + "impliedFormat": "commonjs" + }, + "./a.ts": { + "original": { + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "impliedFormat": 1 + }, + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "signature": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + 4, + "./a.ts" + ] + ], + "options": { + "tsBuildInfoFile": "./a.tsbuildinfo" + }, + "referencedMap": { + "./a.ts": [ + "./c.ts" + ], + "./c.ts": [ + "./b.d.ts" + ] + } + }, + "version": "FakeTSVersion", + "size": 1126 +} + +//// [/src/project/c.js] file written with same contents + + +Change:: something else changes in b.d.ts again +Input:: +//// [/src/project/b.d.ts] +declare const enum AWorker { + ONE = 3 +} +export { AWorker as A }; +export const randomThing = 10;export const randomThing2 = 10; + + + +Output:: +/lib/tsc -i /src/project/a.ts --tsbuildinfofile /src/project/a.tsbuildinfo +exitCode:: ExitStatus.Success + + +//// [/src/project/a.js] file written with same contents +//// [/src/project/a.tsbuildinfo] +{"program":{"fileNames":["../../lib/lib.d.ts","./b.d.ts","./c.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-19677125073-declare const enum AWorker {\n ONE = 3\n}\nexport { AWorker as A };\nexport const randomThing = 10;export const randomThing2 = 10;","impliedFormat":1},{"version":"-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n","signature":"3259150197-import { A } from \"./b\";\nexport { A };\n","impliedFormat":1},{"version":"-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n","impliedFormat":1}],"root":[4],"options":{"tsBuildInfoFile":"./a.tsbuildinfo"},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]]},"version":"FakeTSVersion"} + +//// [/src/project/a.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../lib/lib.d.ts", + "./b.d.ts", + "./c.ts", + "./a.ts" + ], + "fileNamesList": [ + [ + "./c.ts" + ], + [ + "./b.d.ts" + ] + ], + "fileInfos": { + "../../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "./b.d.ts": { + "original": { + "version": "-19677125073-declare const enum AWorker {\n ONE = 3\n}\nexport { AWorker as A };\nexport const randomThing = 10;export const randomThing2 = 10;", + "impliedFormat": 1 + }, + "version": "-19677125073-declare const enum AWorker {\n ONE = 3\n}\nexport { AWorker as A };\nexport const randomThing = 10;export const randomThing2 = 10;", + "signature": "-19677125073-declare const enum AWorker {\n ONE = 3\n}\nexport { AWorker as A };\nexport const randomThing = 10;export const randomThing2 = 10;", + "impliedFormat": "commonjs" + }, + "./c.ts": { + "original": { + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "signature": "3259150197-import { A } from \"./b\";\nexport { A };\n", + "impliedFormat": 1 + }, + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "signature": "3259150197-import { A } from \"./b\";\nexport { A };\n", + "impliedFormat": "commonjs" + }, + "./a.ts": { + "original": { + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "impliedFormat": 1 + }, + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "signature": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + 4, + "./a.ts" + ] + ], + "options": { + "tsBuildInfoFile": "./a.tsbuildinfo" + }, + "referencedMap": { + "./a.ts": [ + "./c.ts" + ], + "./c.ts": [ + "./b.d.ts" + ] + } + }, + "version": "FakeTSVersion", + "size": 1157 +} + +//// [/src/project/c.js] file written with same contents diff --git a/tests/baselines/reference/tsc/incremental/with-aliased-in-different-file-const-enums-with-preserveConstEnums.js b/tests/baselines/reference/tsc/incremental/with-aliased-in-different-file-const-enums-with-preserveConstEnums.js new file mode 100644 index 0000000000000..ba86fab5b7f46 --- /dev/null +++ b/tests/baselines/reference/tsc/incremental/with-aliased-in-different-file-const-enums-with-preserveConstEnums.js @@ -0,0 +1,655 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Input:: +//// [/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/src/project/a.ts] +import {A} from "./c" +let a = A.ONE + + +//// [/src/project/b.d.ts] +export { AWorker as A } from "./worker"; + + +//// [/src/project/c.ts] +import {A} from "./b" +let b = A.ONE +export {A} + + +//// [/src/project/worker.d.ts] +export const enum AWorker { + ONE = 1 +} + + + + +Output:: +/lib/tsc -i /src/project/a.ts --tsbuildinfofile /src/project/a.tsbuildinfo --preserveConstEnums +exitCode:: ExitStatus.Success + + +//// [/src/project/a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var a = 1 /* A.ONE */; + + +//// [/src/project/a.tsbuildinfo] +{"program":{"fileNames":["../../lib/lib.d.ts","./worker.d.ts","./b.d.ts","./c.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10088995516-export const enum AWorker {\n ONE = 1\n}\n","impliedFormat":1},{"version":"-6488945853-export { AWorker as A } from \"./worker\";\n","impliedFormat":1},{"version":"-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n","impliedFormat":1},{"version":"-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n","impliedFormat":1}],"root":[5],"options":{"preserveConstEnums":true,"tsBuildInfoFile":"./a.tsbuildinfo"},"fileIdsList":[[4],[2],[3]],"referencedMap":[[5,1],[3,2],[4,3]]},"version":"FakeTSVersion"} + +//// [/src/project/a.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../lib/lib.d.ts", + "./worker.d.ts", + "./b.d.ts", + "./c.ts", + "./a.ts" + ], + "fileNamesList": [ + [ + "./c.ts" + ], + [ + "./worker.d.ts" + ], + [ + "./b.d.ts" + ] + ], + "fileInfos": { + "../../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "./worker.d.ts": { + "original": { + "version": "-10088995516-export const enum AWorker {\n ONE = 1\n}\n", + "impliedFormat": 1 + }, + "version": "-10088995516-export const enum AWorker {\n ONE = 1\n}\n", + "signature": "-10088995516-export const enum AWorker {\n ONE = 1\n}\n", + "impliedFormat": "commonjs" + }, + "./b.d.ts": { + "original": { + "version": "-6488945853-export { AWorker as A } from \"./worker\";\n", + "impliedFormat": 1 + }, + "version": "-6488945853-export { AWorker as A } from \"./worker\";\n", + "signature": "-6488945853-export { AWorker as A } from \"./worker\";\n", + "impliedFormat": "commonjs" + }, + "./c.ts": { + "original": { + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "impliedFormat": 1 + }, + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "signature": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "impliedFormat": "commonjs" + }, + "./a.ts": { + "original": { + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "impliedFormat": 1 + }, + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "signature": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + 5, + "./a.ts" + ] + ], + "options": { + "preserveConstEnums": true, + "tsBuildInfoFile": "./a.tsbuildinfo" + }, + "referencedMap": { + "./a.ts": [ + "./c.ts" + ], + "./b.d.ts": [ + "./worker.d.ts" + ], + "./c.ts": [ + "./b.d.ts" + ] + } + }, + "version": "FakeTSVersion", + "size": 1141 +} + +//// [/src/project/c.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.A = void 0; +var b_1 = require("./b"); +Object.defineProperty(exports, "A", { enumerable: true, get: function () { return b_1.A; } }); +var b = 1 /* A.ONE */; + + + + +Change:: change enum value +Input:: +//// [/src/project/worker.d.ts] +export const enum AWorker { + ONE = 2 +} + + + + +Output:: +/lib/tsc -i /src/project/a.ts --tsbuildinfofile /src/project/a.tsbuildinfo --preserveConstEnums +exitCode:: ExitStatus.Success + + +//// [/src/project/a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var a = 2 /* A.ONE */; + + +//// [/src/project/a.tsbuildinfo] +{"program":{"fileNames":["../../lib/lib.d.ts","./worker.d.ts","./b.d.ts","./c.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10088959579-export const enum AWorker {\n ONE = 2\n}\n","impliedFormat":1},{"version":"-6488945853-export { AWorker as A } from \"./worker\";\n","impliedFormat":1},{"version":"-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n","impliedFormat":1},{"version":"-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n","impliedFormat":1}],"root":[5],"options":{"preserveConstEnums":true,"tsBuildInfoFile":"./a.tsbuildinfo"},"fileIdsList":[[4],[2],[3]],"referencedMap":[[5,1],[3,2],[4,3]]},"version":"FakeTSVersion"} + +//// [/src/project/a.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../lib/lib.d.ts", + "./worker.d.ts", + "./b.d.ts", + "./c.ts", + "./a.ts" + ], + "fileNamesList": [ + [ + "./c.ts" + ], + [ + "./worker.d.ts" + ], + [ + "./b.d.ts" + ] + ], + "fileInfos": { + "../../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "./worker.d.ts": { + "original": { + "version": "-10088959579-export const enum AWorker {\n ONE = 2\n}\n", + "impliedFormat": 1 + }, + "version": "-10088959579-export const enum AWorker {\n ONE = 2\n}\n", + "signature": "-10088959579-export const enum AWorker {\n ONE = 2\n}\n", + "impliedFormat": "commonjs" + }, + "./b.d.ts": { + "original": { + "version": "-6488945853-export { AWorker as A } from \"./worker\";\n", + "impliedFormat": 1 + }, + "version": "-6488945853-export { AWorker as A } from \"./worker\";\n", + "signature": "-6488945853-export { AWorker as A } from \"./worker\";\n", + "impliedFormat": "commonjs" + }, + "./c.ts": { + "original": { + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "impliedFormat": 1 + }, + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "signature": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "impliedFormat": "commonjs" + }, + "./a.ts": { + "original": { + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "impliedFormat": 1 + }, + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "signature": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + 5, + "./a.ts" + ] + ], + "options": { + "preserveConstEnums": true, + "tsBuildInfoFile": "./a.tsbuildinfo" + }, + "referencedMap": { + "./a.ts": [ + "./c.ts" + ], + "./b.d.ts": [ + "./worker.d.ts" + ], + "./c.ts": [ + "./b.d.ts" + ] + } + }, + "version": "FakeTSVersion", + "size": 1141 +} + +//// [/src/project/c.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.A = void 0; +var b_1 = require("./b"); +Object.defineProperty(exports, "A", { enumerable: true, get: function () { return b_1.A; } }); +var b = 2 /* A.ONE */; + + + + +Change:: change enum value again +Input:: +//// [/src/project/worker.d.ts] +export const enum AWorker { + ONE = 3 +} + + + + +Output:: +/lib/tsc -i /src/project/a.ts --tsbuildinfofile /src/project/a.tsbuildinfo --preserveConstEnums +exitCode:: ExitStatus.Success + + +//// [/src/project/a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var a = 3 /* A.ONE */; + + +//// [/src/project/a.tsbuildinfo] +{"program":{"fileNames":["../../lib/lib.d.ts","./worker.d.ts","./b.d.ts","./c.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10088923642-export const enum AWorker {\n ONE = 3\n}\n","impliedFormat":1},{"version":"-6488945853-export { AWorker as A } from \"./worker\";\n","impliedFormat":1},{"version":"-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n","impliedFormat":1},{"version":"-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n","impliedFormat":1}],"root":[5],"options":{"preserveConstEnums":true,"tsBuildInfoFile":"./a.tsbuildinfo"},"fileIdsList":[[4],[2],[3]],"referencedMap":[[5,1],[3,2],[4,3]]},"version":"FakeTSVersion"} + +//// [/src/project/a.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../lib/lib.d.ts", + "./worker.d.ts", + "./b.d.ts", + "./c.ts", + "./a.ts" + ], + "fileNamesList": [ + [ + "./c.ts" + ], + [ + "./worker.d.ts" + ], + [ + "./b.d.ts" + ] + ], + "fileInfos": { + "../../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "./worker.d.ts": { + "original": { + "version": "-10088923642-export const enum AWorker {\n ONE = 3\n}\n", + "impliedFormat": 1 + }, + "version": "-10088923642-export const enum AWorker {\n ONE = 3\n}\n", + "signature": "-10088923642-export const enum AWorker {\n ONE = 3\n}\n", + "impliedFormat": "commonjs" + }, + "./b.d.ts": { + "original": { + "version": "-6488945853-export { AWorker as A } from \"./worker\";\n", + "impliedFormat": 1 + }, + "version": "-6488945853-export { AWorker as A } from \"./worker\";\n", + "signature": "-6488945853-export { AWorker as A } from \"./worker\";\n", + "impliedFormat": "commonjs" + }, + "./c.ts": { + "original": { + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "impliedFormat": 1 + }, + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "signature": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "impliedFormat": "commonjs" + }, + "./a.ts": { + "original": { + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "impliedFormat": 1 + }, + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "signature": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + 5, + "./a.ts" + ] + ], + "options": { + "preserveConstEnums": true, + "tsBuildInfoFile": "./a.tsbuildinfo" + }, + "referencedMap": { + "./a.ts": [ + "./c.ts" + ], + "./b.d.ts": [ + "./worker.d.ts" + ], + "./c.ts": [ + "./b.d.ts" + ] + } + }, + "version": "FakeTSVersion", + "size": 1141 +} + +//// [/src/project/c.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.A = void 0; +var b_1 = require("./b"); +Object.defineProperty(exports, "A", { enumerable: true, get: function () { return b_1.A; } }); +var b = 3 /* A.ONE */; + + + + +Change:: something else changes in b.d.ts +Input:: +//// [/src/project/b.d.ts] +export { AWorker as A } from "./worker"; +export const randomThing = 10; + + + +Output:: +/lib/tsc -i /src/project/a.ts --tsbuildinfofile /src/project/a.tsbuildinfo --preserveConstEnums +exitCode:: ExitStatus.Success + + +//// [/src/project/a.js] file written with same contents +//// [/src/project/a.tsbuildinfo] +{"program":{"fileNames":["../../lib/lib.d.ts","./worker.d.ts","./b.d.ts","./c.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10088923642-export const enum AWorker {\n ONE = 3\n}\n","impliedFormat":1},{"version":"-7383473792-export { AWorker as A } from \"./worker\";\nexport const randomThing = 10;","impliedFormat":1},{"version":"-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n","signature":"3259150197-import { A } from \"./b\";\nexport { A };\n","impliedFormat":1},{"version":"-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[5],"options":{"preserveConstEnums":true,"tsBuildInfoFile":"./a.tsbuildinfo"},"fileIdsList":[[4],[2],[3]],"referencedMap":[[5,1],[3,2],[4,3]]},"version":"FakeTSVersion"} + +//// [/src/project/a.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../lib/lib.d.ts", + "./worker.d.ts", + "./b.d.ts", + "./c.ts", + "./a.ts" + ], + "fileNamesList": [ + [ + "./c.ts" + ], + [ + "./worker.d.ts" + ], + [ + "./b.d.ts" + ] + ], + "fileInfos": { + "../../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "./worker.d.ts": { + "original": { + "version": "-10088923642-export const enum AWorker {\n ONE = 3\n}\n", + "impliedFormat": 1 + }, + "version": "-10088923642-export const enum AWorker {\n ONE = 3\n}\n", + "signature": "-10088923642-export const enum AWorker {\n ONE = 3\n}\n", + "impliedFormat": "commonjs" + }, + "./b.d.ts": { + "original": { + "version": "-7383473792-export { AWorker as A } from \"./worker\";\nexport const randomThing = 10;", + "impliedFormat": 1 + }, + "version": "-7383473792-export { AWorker as A } from \"./worker\";\nexport const randomThing = 10;", + "signature": "-7383473792-export { AWorker as A } from \"./worker\";\nexport const randomThing = 10;", + "impliedFormat": "commonjs" + }, + "./c.ts": { + "original": { + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "signature": "3259150197-import { A } from \"./b\";\nexport { A };\n", + "impliedFormat": 1 + }, + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "signature": "3259150197-import { A } from \"./b\";\nexport { A };\n", + "impliedFormat": "commonjs" + }, + "./a.ts": { + "original": { + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "signature": "-3531856636-export {};\n", + "impliedFormat": 1 + }, + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "signature": "-3531856636-export {};\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + 5, + "./a.ts" + ] + ], + "options": { + "preserveConstEnums": true, + "tsBuildInfoFile": "./a.tsbuildinfo" + }, + "referencedMap": { + "./a.ts": [ + "./c.ts" + ], + "./b.d.ts": [ + "./worker.d.ts" + ], + "./c.ts": [ + "./b.d.ts" + ] + } + }, + "version": "FakeTSVersion", + "size": 1279 +} + +//// [/src/project/c.js] file written with same contents + + +Change:: something else changes in b.d.ts again +Input:: +//// [/src/project/b.d.ts] +export { AWorker as A } from "./worker"; +export const randomThing = 10;export const randomThing2 = 10; + + + +Output:: +/lib/tsc -i /src/project/a.ts --tsbuildinfofile /src/project/a.tsbuildinfo --preserveConstEnums +exitCode:: ExitStatus.Success + + +//// [/src/project/a.tsbuildinfo] +{"program":{"fileNames":["../../lib/lib.d.ts","./worker.d.ts","./b.d.ts","./c.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10088923642-export const enum AWorker {\n ONE = 3\n}\n","impliedFormat":1},{"version":"2191846063-export { AWorker as A } from \"./worker\";\nexport const randomThing = 10;export const randomThing2 = 10;","impliedFormat":1},{"version":"-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n","signature":"3259150197-import { A } from \"./b\";\nexport { A };\n","impliedFormat":1},{"version":"-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n","impliedFormat":1}],"root":[5],"options":{"preserveConstEnums":true,"tsBuildInfoFile":"./a.tsbuildinfo"},"fileIdsList":[[4],[2],[3]],"referencedMap":[[5,1],[3,2],[4,3]]},"version":"FakeTSVersion"} + +//// [/src/project/a.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../lib/lib.d.ts", + "./worker.d.ts", + "./b.d.ts", + "./c.ts", + "./a.ts" + ], + "fileNamesList": [ + [ + "./c.ts" + ], + [ + "./worker.d.ts" + ], + [ + "./b.d.ts" + ] + ], + "fileInfos": { + "../../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "./worker.d.ts": { + "original": { + "version": "-10088923642-export const enum AWorker {\n ONE = 3\n}\n", + "impliedFormat": 1 + }, + "version": "-10088923642-export const enum AWorker {\n ONE = 3\n}\n", + "signature": "-10088923642-export const enum AWorker {\n ONE = 3\n}\n", + "impliedFormat": "commonjs" + }, + "./b.d.ts": { + "original": { + "version": "2191846063-export { AWorker as A } from \"./worker\";\nexport const randomThing = 10;export const randomThing2 = 10;", + "impliedFormat": 1 + }, + "version": "2191846063-export { AWorker as A } from \"./worker\";\nexport const randomThing = 10;export const randomThing2 = 10;", + "signature": "2191846063-export { AWorker as A } from \"./worker\";\nexport const randomThing = 10;export const randomThing2 = 10;", + "impliedFormat": "commonjs" + }, + "./c.ts": { + "original": { + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "signature": "3259150197-import { A } from \"./b\";\nexport { A };\n", + "impliedFormat": 1 + }, + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "signature": "3259150197-import { A } from \"./b\";\nexport { A };\n", + "impliedFormat": "commonjs" + }, + "./a.ts": { + "original": { + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "impliedFormat": 1 + }, + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "signature": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + 5, + "./a.ts" + ] + ], + "options": { + "preserveConstEnums": true, + "tsBuildInfoFile": "./a.tsbuildinfo" + }, + "referencedMap": { + "./a.ts": [ + "./c.ts" + ], + "./b.d.ts": [ + "./worker.d.ts" + ], + "./c.ts": [ + "./b.d.ts" + ] + } + }, + "version": "FakeTSVersion", + "size": 1270 +} + +//// [/src/project/c.js] file written with same contents diff --git a/tests/baselines/reference/tsc/incremental/with-aliased-in-different-file-const-enums.js b/tests/baselines/reference/tsc/incremental/with-aliased-in-different-file-const-enums.js new file mode 100644 index 0000000000000..07420718f000a --- /dev/null +++ b/tests/baselines/reference/tsc/incremental/with-aliased-in-different-file-const-enums.js @@ -0,0 +1,641 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Input:: +//// [/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/src/project/a.ts] +import {A} from "./c" +let a = A.ONE + + +//// [/src/project/b.d.ts] +export { AWorker as A } from "./worker"; + + +//// [/src/project/c.ts] +import {A} from "./b" +let b = A.ONE +export {A} + + +//// [/src/project/worker.d.ts] +export const enum AWorker { + ONE = 1 +} + + + + +Output:: +/lib/tsc -i /src/project/a.ts --tsbuildinfofile /src/project/a.tsbuildinfo +exitCode:: ExitStatus.Success + + +//// [/src/project/a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var a = 1 /* A.ONE */; + + +//// [/src/project/a.tsbuildinfo] +{"program":{"fileNames":["../../lib/lib.d.ts","./worker.d.ts","./b.d.ts","./c.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10088995516-export const enum AWorker {\n ONE = 1\n}\n","impliedFormat":1},{"version":"-6488945853-export { AWorker as A } from \"./worker\";\n","impliedFormat":1},{"version":"-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n","impliedFormat":1},{"version":"-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n","impliedFormat":1}],"root":[5],"options":{"tsBuildInfoFile":"./a.tsbuildinfo"},"fileIdsList":[[4],[2],[3]],"referencedMap":[[5,1],[3,2],[4,3]]},"version":"FakeTSVersion"} + +//// [/src/project/a.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../lib/lib.d.ts", + "./worker.d.ts", + "./b.d.ts", + "./c.ts", + "./a.ts" + ], + "fileNamesList": [ + [ + "./c.ts" + ], + [ + "./worker.d.ts" + ], + [ + "./b.d.ts" + ] + ], + "fileInfos": { + "../../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "./worker.d.ts": { + "original": { + "version": "-10088995516-export const enum AWorker {\n ONE = 1\n}\n", + "impliedFormat": 1 + }, + "version": "-10088995516-export const enum AWorker {\n ONE = 1\n}\n", + "signature": "-10088995516-export const enum AWorker {\n ONE = 1\n}\n", + "impliedFormat": "commonjs" + }, + "./b.d.ts": { + "original": { + "version": "-6488945853-export { AWorker as A } from \"./worker\";\n", + "impliedFormat": 1 + }, + "version": "-6488945853-export { AWorker as A } from \"./worker\";\n", + "signature": "-6488945853-export { AWorker as A } from \"./worker\";\n", + "impliedFormat": "commonjs" + }, + "./c.ts": { + "original": { + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "impliedFormat": 1 + }, + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "signature": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "impliedFormat": "commonjs" + }, + "./a.ts": { + "original": { + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "impliedFormat": 1 + }, + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "signature": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + 5, + "./a.ts" + ] + ], + "options": { + "tsBuildInfoFile": "./a.tsbuildinfo" + }, + "referencedMap": { + "./a.ts": [ + "./c.ts" + ], + "./b.d.ts": [ + "./worker.d.ts" + ], + "./c.ts": [ + "./b.d.ts" + ] + } + }, + "version": "FakeTSVersion", + "size": 1115 +} + +//// [/src/project/c.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var b = 1 /* A.ONE */; + + + + +Change:: change enum value +Input:: +//// [/src/project/worker.d.ts] +export const enum AWorker { + ONE = 2 +} + + + + +Output:: +/lib/tsc -i /src/project/a.ts --tsbuildinfofile /src/project/a.tsbuildinfo +exitCode:: ExitStatus.Success + + +//// [/src/project/a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var a = 2 /* A.ONE */; + + +//// [/src/project/a.tsbuildinfo] +{"program":{"fileNames":["../../lib/lib.d.ts","./worker.d.ts","./b.d.ts","./c.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10088959579-export const enum AWorker {\n ONE = 2\n}\n","impliedFormat":1},{"version":"-6488945853-export { AWorker as A } from \"./worker\";\n","impliedFormat":1},{"version":"-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n","impliedFormat":1},{"version":"-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n","impliedFormat":1}],"root":[5],"options":{"tsBuildInfoFile":"./a.tsbuildinfo"},"fileIdsList":[[4],[2],[3]],"referencedMap":[[5,1],[3,2],[4,3]]},"version":"FakeTSVersion"} + +//// [/src/project/a.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../lib/lib.d.ts", + "./worker.d.ts", + "./b.d.ts", + "./c.ts", + "./a.ts" + ], + "fileNamesList": [ + [ + "./c.ts" + ], + [ + "./worker.d.ts" + ], + [ + "./b.d.ts" + ] + ], + "fileInfos": { + "../../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "./worker.d.ts": { + "original": { + "version": "-10088959579-export const enum AWorker {\n ONE = 2\n}\n", + "impliedFormat": 1 + }, + "version": "-10088959579-export const enum AWorker {\n ONE = 2\n}\n", + "signature": "-10088959579-export const enum AWorker {\n ONE = 2\n}\n", + "impliedFormat": "commonjs" + }, + "./b.d.ts": { + "original": { + "version": "-6488945853-export { AWorker as A } from \"./worker\";\n", + "impliedFormat": 1 + }, + "version": "-6488945853-export { AWorker as A } from \"./worker\";\n", + "signature": "-6488945853-export { AWorker as A } from \"./worker\";\n", + "impliedFormat": "commonjs" + }, + "./c.ts": { + "original": { + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "impliedFormat": 1 + }, + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "signature": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "impliedFormat": "commonjs" + }, + "./a.ts": { + "original": { + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "impliedFormat": 1 + }, + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "signature": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + 5, + "./a.ts" + ] + ], + "options": { + "tsBuildInfoFile": "./a.tsbuildinfo" + }, + "referencedMap": { + "./a.ts": [ + "./c.ts" + ], + "./b.d.ts": [ + "./worker.d.ts" + ], + "./c.ts": [ + "./b.d.ts" + ] + } + }, + "version": "FakeTSVersion", + "size": 1115 +} + +//// [/src/project/c.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var b = 2 /* A.ONE */; + + + + +Change:: change enum value again +Input:: +//// [/src/project/worker.d.ts] +export const enum AWorker { + ONE = 3 +} + + + + +Output:: +/lib/tsc -i /src/project/a.ts --tsbuildinfofile /src/project/a.tsbuildinfo +exitCode:: ExitStatus.Success + + +//// [/src/project/a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var a = 3 /* A.ONE */; + + +//// [/src/project/a.tsbuildinfo] +{"program":{"fileNames":["../../lib/lib.d.ts","./worker.d.ts","./b.d.ts","./c.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10088923642-export const enum AWorker {\n ONE = 3\n}\n","impliedFormat":1},{"version":"-6488945853-export { AWorker as A } from \"./worker\";\n","impliedFormat":1},{"version":"-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n","impliedFormat":1},{"version":"-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n","impliedFormat":1}],"root":[5],"options":{"tsBuildInfoFile":"./a.tsbuildinfo"},"fileIdsList":[[4],[2],[3]],"referencedMap":[[5,1],[3,2],[4,3]]},"version":"FakeTSVersion"} + +//// [/src/project/a.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../lib/lib.d.ts", + "./worker.d.ts", + "./b.d.ts", + "./c.ts", + "./a.ts" + ], + "fileNamesList": [ + [ + "./c.ts" + ], + [ + "./worker.d.ts" + ], + [ + "./b.d.ts" + ] + ], + "fileInfos": { + "../../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "./worker.d.ts": { + "original": { + "version": "-10088923642-export const enum AWorker {\n ONE = 3\n}\n", + "impliedFormat": 1 + }, + "version": "-10088923642-export const enum AWorker {\n ONE = 3\n}\n", + "signature": "-10088923642-export const enum AWorker {\n ONE = 3\n}\n", + "impliedFormat": "commonjs" + }, + "./b.d.ts": { + "original": { + "version": "-6488945853-export { AWorker as A } from \"./worker\";\n", + "impliedFormat": 1 + }, + "version": "-6488945853-export { AWorker as A } from \"./worker\";\n", + "signature": "-6488945853-export { AWorker as A } from \"./worker\";\n", + "impliedFormat": "commonjs" + }, + "./c.ts": { + "original": { + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "impliedFormat": 1 + }, + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "signature": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "impliedFormat": "commonjs" + }, + "./a.ts": { + "original": { + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "impliedFormat": 1 + }, + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "signature": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + 5, + "./a.ts" + ] + ], + "options": { + "tsBuildInfoFile": "./a.tsbuildinfo" + }, + "referencedMap": { + "./a.ts": [ + "./c.ts" + ], + "./b.d.ts": [ + "./worker.d.ts" + ], + "./c.ts": [ + "./b.d.ts" + ] + } + }, + "version": "FakeTSVersion", + "size": 1115 +} + +//// [/src/project/c.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var b = 3 /* A.ONE */; + + + + +Change:: something else changes in b.d.ts +Input:: +//// [/src/project/b.d.ts] +export { AWorker as A } from "./worker"; +export const randomThing = 10; + + + +Output:: +/lib/tsc -i /src/project/a.ts --tsbuildinfofile /src/project/a.tsbuildinfo +exitCode:: ExitStatus.Success + + +//// [/src/project/a.js] file written with same contents +//// [/src/project/a.tsbuildinfo] +{"program":{"fileNames":["../../lib/lib.d.ts","./worker.d.ts","./b.d.ts","./c.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10088923642-export const enum AWorker {\n ONE = 3\n}\n","impliedFormat":1},{"version":"-7383473792-export { AWorker as A } from \"./worker\";\nexport const randomThing = 10;","impliedFormat":1},{"version":"-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n","signature":"3259150197-import { A } from \"./b\";\nexport { A };\n","impliedFormat":1},{"version":"-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[5],"options":{"tsBuildInfoFile":"./a.tsbuildinfo"},"fileIdsList":[[4],[2],[3]],"referencedMap":[[5,1],[3,2],[4,3]]},"version":"FakeTSVersion"} + +//// [/src/project/a.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../lib/lib.d.ts", + "./worker.d.ts", + "./b.d.ts", + "./c.ts", + "./a.ts" + ], + "fileNamesList": [ + [ + "./c.ts" + ], + [ + "./worker.d.ts" + ], + [ + "./b.d.ts" + ] + ], + "fileInfos": { + "../../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "./worker.d.ts": { + "original": { + "version": "-10088923642-export const enum AWorker {\n ONE = 3\n}\n", + "impliedFormat": 1 + }, + "version": "-10088923642-export const enum AWorker {\n ONE = 3\n}\n", + "signature": "-10088923642-export const enum AWorker {\n ONE = 3\n}\n", + "impliedFormat": "commonjs" + }, + "./b.d.ts": { + "original": { + "version": "-7383473792-export { AWorker as A } from \"./worker\";\nexport const randomThing = 10;", + "impliedFormat": 1 + }, + "version": "-7383473792-export { AWorker as A } from \"./worker\";\nexport const randomThing = 10;", + "signature": "-7383473792-export { AWorker as A } from \"./worker\";\nexport const randomThing = 10;", + "impliedFormat": "commonjs" + }, + "./c.ts": { + "original": { + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "signature": "3259150197-import { A } from \"./b\";\nexport { A };\n", + "impliedFormat": 1 + }, + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "signature": "3259150197-import { A } from \"./b\";\nexport { A };\n", + "impliedFormat": "commonjs" + }, + "./a.ts": { + "original": { + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "signature": "-3531856636-export {};\n", + "impliedFormat": 1 + }, + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "signature": "-3531856636-export {};\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + 5, + "./a.ts" + ] + ], + "options": { + "tsBuildInfoFile": "./a.tsbuildinfo" + }, + "referencedMap": { + "./a.ts": [ + "./c.ts" + ], + "./b.d.ts": [ + "./worker.d.ts" + ], + "./c.ts": [ + "./b.d.ts" + ] + } + }, + "version": "FakeTSVersion", + "size": 1253 +} + +//// [/src/project/c.js] file written with same contents + + +Change:: something else changes in b.d.ts again +Input:: +//// [/src/project/b.d.ts] +export { AWorker as A } from "./worker"; +export const randomThing = 10;export const randomThing2 = 10; + + + +Output:: +/lib/tsc -i /src/project/a.ts --tsbuildinfofile /src/project/a.tsbuildinfo +exitCode:: ExitStatus.Success + + +//// [/src/project/a.tsbuildinfo] +{"program":{"fileNames":["../../lib/lib.d.ts","./worker.d.ts","./b.d.ts","./c.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10088923642-export const enum AWorker {\n ONE = 3\n}\n","impliedFormat":1},{"version":"2191846063-export { AWorker as A } from \"./worker\";\nexport const randomThing = 10;export const randomThing2 = 10;","impliedFormat":1},{"version":"-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n","signature":"3259150197-import { A } from \"./b\";\nexport { A };\n","impliedFormat":1},{"version":"-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n","impliedFormat":1}],"root":[5],"options":{"tsBuildInfoFile":"./a.tsbuildinfo"},"fileIdsList":[[4],[2],[3]],"referencedMap":[[5,1],[3,2],[4,3]]},"version":"FakeTSVersion"} + +//// [/src/project/a.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../lib/lib.d.ts", + "./worker.d.ts", + "./b.d.ts", + "./c.ts", + "./a.ts" + ], + "fileNamesList": [ + [ + "./c.ts" + ], + [ + "./worker.d.ts" + ], + [ + "./b.d.ts" + ] + ], + "fileInfos": { + "../../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "./worker.d.ts": { + "original": { + "version": "-10088923642-export const enum AWorker {\n ONE = 3\n}\n", + "impliedFormat": 1 + }, + "version": "-10088923642-export const enum AWorker {\n ONE = 3\n}\n", + "signature": "-10088923642-export const enum AWorker {\n ONE = 3\n}\n", + "impliedFormat": "commonjs" + }, + "./b.d.ts": { + "original": { + "version": "2191846063-export { AWorker as A } from \"./worker\";\nexport const randomThing = 10;export const randomThing2 = 10;", + "impliedFormat": 1 + }, + "version": "2191846063-export { AWorker as A } from \"./worker\";\nexport const randomThing = 10;export const randomThing2 = 10;", + "signature": "2191846063-export { AWorker as A } from \"./worker\";\nexport const randomThing = 10;export const randomThing2 = 10;", + "impliedFormat": "commonjs" + }, + "./c.ts": { + "original": { + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "signature": "3259150197-import { A } from \"./b\";\nexport { A };\n", + "impliedFormat": 1 + }, + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "signature": "3259150197-import { A } from \"./b\";\nexport { A };\n", + "impliedFormat": "commonjs" + }, + "./a.ts": { + "original": { + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "impliedFormat": 1 + }, + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "signature": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + 5, + "./a.ts" + ] + ], + "options": { + "tsBuildInfoFile": "./a.tsbuildinfo" + }, + "referencedMap": { + "./a.ts": [ + "./c.ts" + ], + "./b.d.ts": [ + "./worker.d.ts" + ], + "./c.ts": [ + "./b.d.ts" + ] + } + }, + "version": "FakeTSVersion", + "size": 1244 +} + +//// [/src/project/c.js] file written with same contents diff --git a/tests/baselines/reference/tsc/incremental/with-const-enums-with-preserveConstEnums.js b/tests/baselines/reference/tsc/incremental/with-const-enums-with-preserveConstEnums.js new file mode 100644 index 0000000000000..28c7a281efa87 --- /dev/null +++ b/tests/baselines/reference/tsc/incremental/with-const-enums-with-preserveConstEnums.js @@ -0,0 +1,584 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Input:: +//// [/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/src/project/a.ts] +import {A} from "./c" +let a = A.ONE + + +//// [/src/project/b.d.ts] +export const enum A { + ONE = 1 +} + + +//// [/src/project/c.ts] +import {A} from "./b" +let b = A.ONE +export {A} + + +//// [/src/project/worker.d.ts] +export const enum AWorker { + ONE = 1 +} + + + + +Output:: +/lib/tsc -i /src/project/a.ts --tsbuildinfofile /src/project/a.tsbuildinfo --preserveConstEnums +exitCode:: ExitStatus.Success + + +//// [/src/project/a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var a = 1 /* A.ONE */; + + +//// [/src/project/a.tsbuildinfo] +{"program":{"fileNames":["../../lib/lib.d.ts","./b.d.ts","./c.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7434209142-export const enum A {\n ONE = 1\n}\n","impliedFormat":1},{"version":"-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n","impliedFormat":1},{"version":"-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n","impliedFormat":1}],"root":[4],"options":{"preserveConstEnums":true,"tsBuildInfoFile":"./a.tsbuildinfo"},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]]},"version":"FakeTSVersion"} + +//// [/src/project/a.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../lib/lib.d.ts", + "./b.d.ts", + "./c.ts", + "./a.ts" + ], + "fileNamesList": [ + [ + "./c.ts" + ], + [ + "./b.d.ts" + ] + ], + "fileInfos": { + "../../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "./b.d.ts": { + "original": { + "version": "-7434209142-export const enum A {\n ONE = 1\n}\n", + "impliedFormat": 1 + }, + "version": "-7434209142-export const enum A {\n ONE = 1\n}\n", + "signature": "-7434209142-export const enum A {\n ONE = 1\n}\n", + "impliedFormat": "commonjs" + }, + "./c.ts": { + "original": { + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "impliedFormat": 1 + }, + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "signature": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "impliedFormat": "commonjs" + }, + "./a.ts": { + "original": { + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "impliedFormat": 1 + }, + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "signature": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + 4, + "./a.ts" + ] + ], + "options": { + "preserveConstEnums": true, + "tsBuildInfoFile": "./a.tsbuildinfo" + }, + "referencedMap": { + "./a.ts": [ + "./c.ts" + ], + "./c.ts": [ + "./b.d.ts" + ] + } + }, + "version": "FakeTSVersion", + "size": 1019 +} + +//// [/src/project/c.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.A = void 0; +var b_1 = require("./b"); +Object.defineProperty(exports, "A", { enumerable: true, get: function () { return b_1.A; } }); +var b = 1 /* A.ONE */; + + + + +Change:: change enum value +Input:: +//// [/src/project/b.d.ts] +export const enum A { + ONE = 2 +} + + + + +Output:: +/lib/tsc -i /src/project/a.ts --tsbuildinfofile /src/project/a.tsbuildinfo --preserveConstEnums +exitCode:: ExitStatus.Success + + +//// [/src/project/a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var a = 2 /* A.ONE */; + + +//// [/src/project/a.tsbuildinfo] +{"program":{"fileNames":["../../lib/lib.d.ts","./b.d.ts","./c.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7434173205-export const enum A {\n ONE = 2\n}\n","impliedFormat":1},{"version":"-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n","signature":"3259150197-import { A } from \"./b\";\nexport { A };\n","impliedFormat":1},{"version":"-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"preserveConstEnums":true,"tsBuildInfoFile":"./a.tsbuildinfo"},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]]},"version":"FakeTSVersion"} + +//// [/src/project/a.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../lib/lib.d.ts", + "./b.d.ts", + "./c.ts", + "./a.ts" + ], + "fileNamesList": [ + [ + "./c.ts" + ], + [ + "./b.d.ts" + ] + ], + "fileInfos": { + "../../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "./b.d.ts": { + "original": { + "version": "-7434173205-export const enum A {\n ONE = 2\n}\n", + "impliedFormat": 1 + }, + "version": "-7434173205-export const enum A {\n ONE = 2\n}\n", + "signature": "-7434173205-export const enum A {\n ONE = 2\n}\n", + "impliedFormat": "commonjs" + }, + "./c.ts": { + "original": { + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "signature": "3259150197-import { A } from \"./b\";\nexport { A };\n", + "impliedFormat": 1 + }, + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "signature": "3259150197-import { A } from \"./b\";\nexport { A };\n", + "impliedFormat": "commonjs" + }, + "./a.ts": { + "original": { + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "signature": "-3531856636-export {};\n", + "impliedFormat": 1 + }, + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "signature": "-3531856636-export {};\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + 4, + "./a.ts" + ] + ], + "options": { + "preserveConstEnums": true, + "tsBuildInfoFile": "./a.tsbuildinfo" + }, + "referencedMap": { + "./a.ts": [ + "./c.ts" + ], + "./c.ts": [ + "./b.d.ts" + ] + } + }, + "version": "FakeTSVersion", + "size": 1127 +} + +//// [/src/project/c.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.A = void 0; +var b_1 = require("./b"); +Object.defineProperty(exports, "A", { enumerable: true, get: function () { return b_1.A; } }); +var b = 2 /* A.ONE */; + + + + +Change:: change enum value again +Input:: +//// [/src/project/b.d.ts] +export const enum A { + ONE = 3 +} + + + + +Output:: +/lib/tsc -i /src/project/a.ts --tsbuildinfofile /src/project/a.tsbuildinfo --preserveConstEnums +exitCode:: ExitStatus.Success + + +//// [/src/project/a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var a = 3 /* A.ONE */; + + +//// [/src/project/a.tsbuildinfo] +{"program":{"fileNames":["../../lib/lib.d.ts","./b.d.ts","./c.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7434137268-export const enum A {\n ONE = 3\n}\n","impliedFormat":1},{"version":"-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n","signature":"3259150197-import { A } from \"./b\";\nexport { A };\n","impliedFormat":1},{"version":"-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n","impliedFormat":1}],"root":[4],"options":{"preserveConstEnums":true,"tsBuildInfoFile":"./a.tsbuildinfo"},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]]},"version":"FakeTSVersion"} + +//// [/src/project/a.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../lib/lib.d.ts", + "./b.d.ts", + "./c.ts", + "./a.ts" + ], + "fileNamesList": [ + [ + "./c.ts" + ], + [ + "./b.d.ts" + ] + ], + "fileInfos": { + "../../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "./b.d.ts": { + "original": { + "version": "-7434137268-export const enum A {\n ONE = 3\n}\n", + "impliedFormat": 1 + }, + "version": "-7434137268-export const enum A {\n ONE = 3\n}\n", + "signature": "-7434137268-export const enum A {\n ONE = 3\n}\n", + "impliedFormat": "commonjs" + }, + "./c.ts": { + "original": { + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "signature": "3259150197-import { A } from \"./b\";\nexport { A };\n", + "impliedFormat": 1 + }, + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "signature": "3259150197-import { A } from \"./b\";\nexport { A };\n", + "impliedFormat": "commonjs" + }, + "./a.ts": { + "original": { + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "impliedFormat": 1 + }, + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "signature": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + 4, + "./a.ts" + ] + ], + "options": { + "preserveConstEnums": true, + "tsBuildInfoFile": "./a.tsbuildinfo" + }, + "referencedMap": { + "./a.ts": [ + "./c.ts" + ], + "./c.ts": [ + "./b.d.ts" + ] + } + }, + "version": "FakeTSVersion", + "size": 1088 +} + +//// [/src/project/c.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.A = void 0; +var b_1 = require("./b"); +Object.defineProperty(exports, "A", { enumerable: true, get: function () { return b_1.A; } }); +var b = 3 /* A.ONE */; + + + + +Change:: something else changes in b.d.ts +Input:: +//// [/src/project/b.d.ts] +export const enum A { + ONE = 3 +} +export const randomThing = 10; + + + +Output:: +/lib/tsc -i /src/project/a.ts --tsbuildinfofile /src/project/a.tsbuildinfo --preserveConstEnums +exitCode:: ExitStatus.Success + + +//// [/src/project/a.js] file written with same contents +//// [/src/project/a.tsbuildinfo] +{"program":{"fileNames":["../../lib/lib.d.ts","./b.d.ts","./c.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-1392741047-export const enum A {\n ONE = 3\n}\nexport const randomThing = 10;","impliedFormat":1},{"version":"-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n","signature":"3259150197-import { A } from \"./b\";\nexport { A };\n","impliedFormat":1},{"version":"-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n","impliedFormat":1}],"root":[4],"options":{"preserveConstEnums":true,"tsBuildInfoFile":"./a.tsbuildinfo"},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]]},"version":"FakeTSVersion"} + +//// [/src/project/a.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../lib/lib.d.ts", + "./b.d.ts", + "./c.ts", + "./a.ts" + ], + "fileNamesList": [ + [ + "./c.ts" + ], + [ + "./b.d.ts" + ] + ], + "fileInfos": { + "../../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "./b.d.ts": { + "original": { + "version": "-1392741047-export const enum A {\n ONE = 3\n}\nexport const randomThing = 10;", + "impliedFormat": 1 + }, + "version": "-1392741047-export const enum A {\n ONE = 3\n}\nexport const randomThing = 10;", + "signature": "-1392741047-export const enum A {\n ONE = 3\n}\nexport const randomThing = 10;", + "impliedFormat": "commonjs" + }, + "./c.ts": { + "original": { + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "signature": "3259150197-import { A } from \"./b\";\nexport { A };\n", + "impliedFormat": 1 + }, + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "signature": "3259150197-import { A } from \"./b\";\nexport { A };\n", + "impliedFormat": "commonjs" + }, + "./a.ts": { + "original": { + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "impliedFormat": 1 + }, + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "signature": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + 4, + "./a.ts" + ] + ], + "options": { + "preserveConstEnums": true, + "tsBuildInfoFile": "./a.tsbuildinfo" + }, + "referencedMap": { + "./a.ts": [ + "./c.ts" + ], + "./c.ts": [ + "./b.d.ts" + ] + } + }, + "version": "FakeTSVersion", + "size": 1118 +} + +//// [/src/project/c.js] file written with same contents + + +Change:: something else changes in b.d.ts again +Input:: +//// [/src/project/b.d.ts] +export const enum A { + ONE = 3 +} +export const randomThing = 10;export const randomThing2 = 10; + + + +Output:: +/lib/tsc -i /src/project/a.ts --tsbuildinfofile /src/project/a.tsbuildinfo --preserveConstEnums +exitCode:: ExitStatus.Success + + +//// [/src/project/a.js] file written with same contents +//// [/src/project/a.tsbuildinfo] +{"program":{"fileNames":["../../lib/lib.d.ts","./b.d.ts","./c.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11013141160-export const enum A {\n ONE = 3\n}\nexport const randomThing = 10;export const randomThing2 = 10;","impliedFormat":1},{"version":"-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n","signature":"3259150197-import { A } from \"./b\";\nexport { A };\n","impliedFormat":1},{"version":"-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n","impliedFormat":1}],"root":[4],"options":{"preserveConstEnums":true,"tsBuildInfoFile":"./a.tsbuildinfo"},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]]},"version":"FakeTSVersion"} + +//// [/src/project/a.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../lib/lib.d.ts", + "./b.d.ts", + "./c.ts", + "./a.ts" + ], + "fileNamesList": [ + [ + "./c.ts" + ], + [ + "./b.d.ts" + ] + ], + "fileInfos": { + "../../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "./b.d.ts": { + "original": { + "version": "-11013141160-export const enum A {\n ONE = 3\n}\nexport const randomThing = 10;export const randomThing2 = 10;", + "impliedFormat": 1 + }, + "version": "-11013141160-export const enum A {\n ONE = 3\n}\nexport const randomThing = 10;export const randomThing2 = 10;", + "signature": "-11013141160-export const enum A {\n ONE = 3\n}\nexport const randomThing = 10;export const randomThing2 = 10;", + "impliedFormat": "commonjs" + }, + "./c.ts": { + "original": { + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "signature": "3259150197-import { A } from \"./b\";\nexport { A };\n", + "impliedFormat": 1 + }, + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "signature": "3259150197-import { A } from \"./b\";\nexport { A };\n", + "impliedFormat": "commonjs" + }, + "./a.ts": { + "original": { + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "impliedFormat": 1 + }, + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "signature": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + 4, + "./a.ts" + ] + ], + "options": { + "preserveConstEnums": true, + "tsBuildInfoFile": "./a.tsbuildinfo" + }, + "referencedMap": { + "./a.ts": [ + "./c.ts" + ], + "./c.ts": [ + "./b.d.ts" + ] + } + }, + "version": "FakeTSVersion", + "size": 1150 +} + +//// [/src/project/c.js] file written with same contents diff --git a/tests/baselines/reference/tsc/incremental/with-const-enums.js b/tests/baselines/reference/tsc/incremental/with-const-enums.js new file mode 100644 index 0000000000000..7a1a9c4bb428f --- /dev/null +++ b/tests/baselines/reference/tsc/incremental/with-const-enums.js @@ -0,0 +1,570 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Input:: +//// [/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/src/project/a.ts] +import {A} from "./c" +let a = A.ONE + + +//// [/src/project/b.d.ts] +export const enum A { + ONE = 1 +} + + +//// [/src/project/c.ts] +import {A} from "./b" +let b = A.ONE +export {A} + + +//// [/src/project/worker.d.ts] +export const enum AWorker { + ONE = 1 +} + + + + +Output:: +/lib/tsc -i /src/project/a.ts --tsbuildinfofile /src/project/a.tsbuildinfo +exitCode:: ExitStatus.Success + + +//// [/src/project/a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var a = 1 /* A.ONE */; + + +//// [/src/project/a.tsbuildinfo] +{"program":{"fileNames":["../../lib/lib.d.ts","./b.d.ts","./c.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7434209142-export const enum A {\n ONE = 1\n}\n","impliedFormat":1},{"version":"-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n","impliedFormat":1},{"version":"-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n","impliedFormat":1}],"root":[4],"options":{"tsBuildInfoFile":"./a.tsbuildinfo"},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]]},"version":"FakeTSVersion"} + +//// [/src/project/a.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../lib/lib.d.ts", + "./b.d.ts", + "./c.ts", + "./a.ts" + ], + "fileNamesList": [ + [ + "./c.ts" + ], + [ + "./b.d.ts" + ] + ], + "fileInfos": { + "../../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "./b.d.ts": { + "original": { + "version": "-7434209142-export const enum A {\n ONE = 1\n}\n", + "impliedFormat": 1 + }, + "version": "-7434209142-export const enum A {\n ONE = 1\n}\n", + "signature": "-7434209142-export const enum A {\n ONE = 1\n}\n", + "impliedFormat": "commonjs" + }, + "./c.ts": { + "original": { + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "impliedFormat": 1 + }, + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "signature": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "impliedFormat": "commonjs" + }, + "./a.ts": { + "original": { + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "impliedFormat": 1 + }, + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "signature": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + 4, + "./a.ts" + ] + ], + "options": { + "tsBuildInfoFile": "./a.tsbuildinfo" + }, + "referencedMap": { + "./a.ts": [ + "./c.ts" + ], + "./c.ts": [ + "./b.d.ts" + ] + } + }, + "version": "FakeTSVersion", + "size": 993 +} + +//// [/src/project/c.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var b = 1 /* A.ONE */; + + + + +Change:: change enum value +Input:: +//// [/src/project/b.d.ts] +export const enum A { + ONE = 2 +} + + + + +Output:: +/lib/tsc -i /src/project/a.ts --tsbuildinfofile /src/project/a.tsbuildinfo +exitCode:: ExitStatus.Success + + +//// [/src/project/a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var a = 2 /* A.ONE */; + + +//// [/src/project/a.tsbuildinfo] +{"program":{"fileNames":["../../lib/lib.d.ts","./b.d.ts","./c.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7434173205-export const enum A {\n ONE = 2\n}\n","impliedFormat":1},{"version":"-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n","signature":"3259150197-import { A } from \"./b\";\nexport { A };\n","impliedFormat":1},{"version":"-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"tsBuildInfoFile":"./a.tsbuildinfo"},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]]},"version":"FakeTSVersion"} + +//// [/src/project/a.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../lib/lib.d.ts", + "./b.d.ts", + "./c.ts", + "./a.ts" + ], + "fileNamesList": [ + [ + "./c.ts" + ], + [ + "./b.d.ts" + ] + ], + "fileInfos": { + "../../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "./b.d.ts": { + "original": { + "version": "-7434173205-export const enum A {\n ONE = 2\n}\n", + "impliedFormat": 1 + }, + "version": "-7434173205-export const enum A {\n ONE = 2\n}\n", + "signature": "-7434173205-export const enum A {\n ONE = 2\n}\n", + "impliedFormat": "commonjs" + }, + "./c.ts": { + "original": { + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "signature": "3259150197-import { A } from \"./b\";\nexport { A };\n", + "impliedFormat": 1 + }, + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "signature": "3259150197-import { A } from \"./b\";\nexport { A };\n", + "impliedFormat": "commonjs" + }, + "./a.ts": { + "original": { + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "signature": "-3531856636-export {};\n", + "impliedFormat": 1 + }, + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "signature": "-3531856636-export {};\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + 4, + "./a.ts" + ] + ], + "options": { + "tsBuildInfoFile": "./a.tsbuildinfo" + }, + "referencedMap": { + "./a.ts": [ + "./c.ts" + ], + "./c.ts": [ + "./b.d.ts" + ] + } + }, + "version": "FakeTSVersion", + "size": 1101 +} + +//// [/src/project/c.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var b = 2 /* A.ONE */; + + + + +Change:: change enum value again +Input:: +//// [/src/project/b.d.ts] +export const enum A { + ONE = 3 +} + + + + +Output:: +/lib/tsc -i /src/project/a.ts --tsbuildinfofile /src/project/a.tsbuildinfo +exitCode:: ExitStatus.Success + + +//// [/src/project/a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var a = 3 /* A.ONE */; + + +//// [/src/project/a.tsbuildinfo] +{"program":{"fileNames":["../../lib/lib.d.ts","./b.d.ts","./c.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7434137268-export const enum A {\n ONE = 3\n}\n","impliedFormat":1},{"version":"-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n","signature":"3259150197-import { A } from \"./b\";\nexport { A };\n","impliedFormat":1},{"version":"-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n","impliedFormat":1}],"root":[4],"options":{"tsBuildInfoFile":"./a.tsbuildinfo"},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]]},"version":"FakeTSVersion"} + +//// [/src/project/a.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../lib/lib.d.ts", + "./b.d.ts", + "./c.ts", + "./a.ts" + ], + "fileNamesList": [ + [ + "./c.ts" + ], + [ + "./b.d.ts" + ] + ], + "fileInfos": { + "../../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "./b.d.ts": { + "original": { + "version": "-7434137268-export const enum A {\n ONE = 3\n}\n", + "impliedFormat": 1 + }, + "version": "-7434137268-export const enum A {\n ONE = 3\n}\n", + "signature": "-7434137268-export const enum A {\n ONE = 3\n}\n", + "impliedFormat": "commonjs" + }, + "./c.ts": { + "original": { + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "signature": "3259150197-import { A } from \"./b\";\nexport { A };\n", + "impliedFormat": 1 + }, + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "signature": "3259150197-import { A } from \"./b\";\nexport { A };\n", + "impliedFormat": "commonjs" + }, + "./a.ts": { + "original": { + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "impliedFormat": 1 + }, + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "signature": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + 4, + "./a.ts" + ] + ], + "options": { + "tsBuildInfoFile": "./a.tsbuildinfo" + }, + "referencedMap": { + "./a.ts": [ + "./c.ts" + ], + "./c.ts": [ + "./b.d.ts" + ] + } + }, + "version": "FakeTSVersion", + "size": 1062 +} + +//// [/src/project/c.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var b = 3 /* A.ONE */; + + + + +Change:: something else changes in b.d.ts +Input:: +//// [/src/project/b.d.ts] +export const enum A { + ONE = 3 +} +export const randomThing = 10; + + + +Output:: +/lib/tsc -i /src/project/a.ts --tsbuildinfofile /src/project/a.tsbuildinfo +exitCode:: ExitStatus.Success + + +//// [/src/project/a.js] file written with same contents +//// [/src/project/a.tsbuildinfo] +{"program":{"fileNames":["../../lib/lib.d.ts","./b.d.ts","./c.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-1392741047-export const enum A {\n ONE = 3\n}\nexport const randomThing = 10;","impliedFormat":1},{"version":"-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n","signature":"3259150197-import { A } from \"./b\";\nexport { A };\n","impliedFormat":1},{"version":"-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n","impliedFormat":1}],"root":[4],"options":{"tsBuildInfoFile":"./a.tsbuildinfo"},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]]},"version":"FakeTSVersion"} + +//// [/src/project/a.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../lib/lib.d.ts", + "./b.d.ts", + "./c.ts", + "./a.ts" + ], + "fileNamesList": [ + [ + "./c.ts" + ], + [ + "./b.d.ts" + ] + ], + "fileInfos": { + "../../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "./b.d.ts": { + "original": { + "version": "-1392741047-export const enum A {\n ONE = 3\n}\nexport const randomThing = 10;", + "impliedFormat": 1 + }, + "version": "-1392741047-export const enum A {\n ONE = 3\n}\nexport const randomThing = 10;", + "signature": "-1392741047-export const enum A {\n ONE = 3\n}\nexport const randomThing = 10;", + "impliedFormat": "commonjs" + }, + "./c.ts": { + "original": { + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "signature": "3259150197-import { A } from \"./b\";\nexport { A };\n", + "impliedFormat": 1 + }, + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "signature": "3259150197-import { A } from \"./b\";\nexport { A };\n", + "impliedFormat": "commonjs" + }, + "./a.ts": { + "original": { + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "impliedFormat": 1 + }, + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "signature": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + 4, + "./a.ts" + ] + ], + "options": { + "tsBuildInfoFile": "./a.tsbuildinfo" + }, + "referencedMap": { + "./a.ts": [ + "./c.ts" + ], + "./c.ts": [ + "./b.d.ts" + ] + } + }, + "version": "FakeTSVersion", + "size": 1092 +} + +//// [/src/project/c.js] file written with same contents + + +Change:: something else changes in b.d.ts again +Input:: +//// [/src/project/b.d.ts] +export const enum A { + ONE = 3 +} +export const randomThing = 10;export const randomThing2 = 10; + + + +Output:: +/lib/tsc -i /src/project/a.ts --tsbuildinfofile /src/project/a.tsbuildinfo +exitCode:: ExitStatus.Success + + +//// [/src/project/a.js] file written with same contents +//// [/src/project/a.tsbuildinfo] +{"program":{"fileNames":["../../lib/lib.d.ts","./b.d.ts","./c.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11013141160-export const enum A {\n ONE = 3\n}\nexport const randomThing = 10;export const randomThing2 = 10;","impliedFormat":1},{"version":"-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n","signature":"3259150197-import { A } from \"./b\";\nexport { A };\n","impliedFormat":1},{"version":"-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n","impliedFormat":1}],"root":[4],"options":{"tsBuildInfoFile":"./a.tsbuildinfo"},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]]},"version":"FakeTSVersion"} + +//// [/src/project/a.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../lib/lib.d.ts", + "./b.d.ts", + "./c.ts", + "./a.ts" + ], + "fileNamesList": [ + [ + "./c.ts" + ], + [ + "./b.d.ts" + ] + ], + "fileInfos": { + "../../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "./b.d.ts": { + "original": { + "version": "-11013141160-export const enum A {\n ONE = 3\n}\nexport const randomThing = 10;export const randomThing2 = 10;", + "impliedFormat": 1 + }, + "version": "-11013141160-export const enum A {\n ONE = 3\n}\nexport const randomThing = 10;export const randomThing2 = 10;", + "signature": "-11013141160-export const enum A {\n ONE = 3\n}\nexport const randomThing = 10;export const randomThing2 = 10;", + "impliedFormat": "commonjs" + }, + "./c.ts": { + "original": { + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "signature": "3259150197-import { A } from \"./b\";\nexport { A };\n", + "impliedFormat": 1 + }, + "version": "-3548623266-import {A} from \"./b\"\nlet b = A.ONE\nexport {A}\n", + "signature": "3259150197-import { A } from \"./b\";\nexport { A };\n", + "impliedFormat": "commonjs" + }, + "./a.ts": { + "original": { + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "impliedFormat": 1 + }, + "version": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "signature": "-5009241479-import {A} from \"./c\"\nlet a = A.ONE\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + 4, + "./a.ts" + ] + ], + "options": { + "tsBuildInfoFile": "./a.tsbuildinfo" + }, + "referencedMap": { + "./a.ts": [ + "./c.ts" + ], + "./c.ts": [ + "./b.d.ts" + ] + } + }, + "version": "FakeTSVersion", + "size": 1124 +} + +//// [/src/project/c.js] file written with same contents diff --git a/tests/baselines/reference/tsc/incremental/with-only-dts-files.js b/tests/baselines/reference/tsc/incremental/with-only-dts-files.js index 56a135d14b6bb..c3b47c6296fb9 100644 --- a/tests/baselines/reference/tsc/incremental/with-only-dts-files.js +++ b/tests/baselines/reference/tsc/incremental/with-only-dts-files.js @@ -32,7 +32,7 @@ exitCode:: ExitStatus.Success //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./src/another.d.ts","./src/main.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1},{"version":"-10726455937-export const x = 10;","impliedFormat":1}],"root":[2,3],"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./src/another.d.ts","./src/main.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1},{"version":"-10726455937-export const x = 10;","impliedFormat":1}],"root":[2,3]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -82,16 +82,10 @@ exitCode:: ExitStatus.Success 3, "./src/main.d.ts" ] - ], - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/another.d.ts", - "./src/main.d.ts" ] }, "version": "FakeTSVersion", - "size": 825 + "size": 769 } @@ -120,7 +114,7 @@ exitCode:: ExitStatus.Success //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./src/another.d.ts","./src/main.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1},{"version":"-10808461502-export const x = 10;export const xy = 100;","impliedFormat":1}],"root":[2,3],"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./src/another.d.ts","./src/main.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1},{"version":"-10808461502-export const x = 10;export const xy = 100;","impliedFormat":1}],"root":[2,3]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -170,15 +164,9 @@ exitCode:: ExitStatus.Success 3, "./src/main.d.ts" ] - ], - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/another.d.ts", - "./src/main.d.ts" ] }, "version": "FakeTSVersion", - "size": 847 + "size": 791 } diff --git a/tests/baselines/reference/tsc/libraryResolution/unknown-lib.js b/tests/baselines/reference/tsc/libraryResolution/unknown-lib.js new file mode 100644 index 0000000000000..f08490476b94a --- /dev/null +++ b/tests/baselines/reference/tsc/libraryResolution/unknown-lib.js @@ -0,0 +1,321 @@ +currentDirectory:: /home/src/projects useCaseSensitiveFileNames: false +Input:: +//// [/home/src/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/home/src/lib/lib.scripthost.d.ts] +interface ScriptHostInterface { } + +//// [/home/src/lib/lib.webworker.d.ts] +interface WebWorkerInterface { } + +//// [/home/src/projects/project1/core.d.ts] +export const core = 10; + +//// [/home/src/projects/project1/file.ts] +export const file = 10; + +//// [/home/src/projects/project1/file2.ts] +/// +/// +/// + + +//// [/home/src/projects/project1/index.ts] +export const x = "type1"; + +//// [/home/src/projects/project1/tsconfig.json] +{ + "compilerOptions": { + "composite": true, + "traceResolution": true + } +} + +//// [/home/src/projects/project1/utils.d.ts] +export const y = 10; + + + +Output:: +/home/src/lib/tsc -p project1 --explainFiles +File '/home/src/projects/project1/package.json' does not exist. +File '/home/src/projects/package.json' does not exist. +File '/home/src/package.json' does not exist. +File '/home/package.json' does not exist. +File '/package.json' does not exist. +File '/home/src/projects/project1/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/project1/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +======== Resolving module '@typescript/lib-scripthost' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.scripthost.d.ts__.ts'. ======== +Explicitly specified module resolution kind: 'Node10'. +Loading module '@typescript/lib-scripthost' from 'node_modules' folder, target file types: TypeScript, Declaration. +Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration. +Directory '/home/src/projects/project1/node_modules' does not exist, skipping all lookups in it. +Scoped package detected, looking in 'typescript__lib-scripthost' +Directory '/home/src/projects/node_modules' does not exist, skipping all lookups in it. +Scoped package detected, looking in 'typescript__lib-scripthost' +Directory '/home/src/node_modules' does not exist, skipping all lookups in it. +Scoped package detected, looking in 'typescript__lib-scripthost' +Directory '/home/node_modules' does not exist, skipping all lookups in it. +Scoped package detected, looking in 'typescript__lib-scripthost' +Directory '/node_modules' does not exist, skipping all lookups in it. +Scoped package detected, looking in 'typescript__lib-scripthost' +Loading module '@typescript/lib-scripthost' from 'node_modules' folder, target file types: JavaScript. +Searching all ancestor node_modules directories for fallback extensions: JavaScript. +Directory '/home/src/projects/project1/node_modules' does not exist, skipping all lookups in it. +Directory '/home/src/projects/node_modules' does not exist, skipping all lookups in it. +Directory '/home/src/node_modules' does not exist, skipping all lookups in it. +Directory '/home/node_modules' does not exist, skipping all lookups in it. +Directory '/node_modules' does not exist, skipping all lookups in it. +======== Module name '@typescript/lib-scripthost' was not resolved. ======== +File '/home/src/lib/package.json' does not exist. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/project1/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/project1/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/lib/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +project1/file2.ts:1:21 - error TS2727: Cannot find lib definition for 'webworker2'. Did you mean 'webworker'? + +1 /// +   ~~~~~~~~~~ + +project1/file2.ts:2:21 - error TS2726: Cannot find lib definition for 'unknownlib'. + +2 /// +   ~~~~~~~~~~ + +../lib/lib.d.ts + Default library for target 'es5' +../lib/lib.scripthost.d.ts + Library referenced via 'scripthost' from file 'project1/file2.ts' +project1/core.d.ts + Matched by default include pattern '**/*' +project1/file.ts + Matched by default include pattern '**/*' +project1/file2.ts + Matched by default include pattern '**/*' +project1/index.ts + Matched by default include pattern '**/*' +project1/utils.d.ts + Matched by default include pattern '**/*' + +Found 2 errors in the same file, starting at: project1/file2.ts:1 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated +Program root files: [ + "/home/src/projects/project1/core.d.ts", + "/home/src/projects/project1/file.ts", + "/home/src/projects/project1/file2.ts", + "/home/src/projects/project1/index.ts", + "/home/src/projects/project1/utils.d.ts" +] +Program options: { + "composite": true, + "traceResolution": true, + "project": "/home/src/projects/project1", + "explainFiles": true, + "configFilePath": "/home/src/projects/project1/tsconfig.json" +} +Program structureReused: Not +Program files:: +/home/src/lib/lib.d.ts +/home/src/lib/lib.scripthost.d.ts +/home/src/projects/project1/core.d.ts +/home/src/projects/project1/file.ts +/home/src/projects/project1/file2.ts +/home/src/projects/project1/index.ts +/home/src/projects/project1/utils.d.ts + +Semantic diagnostics in builder refreshed for:: +/home/src/lib/lib.d.ts +/home/src/lib/lib.scripthost.d.ts +/home/src/projects/project1/core.d.ts +/home/src/projects/project1/file.ts +/home/src/projects/project1/file2.ts +/home/src/projects/project1/index.ts +/home/src/projects/project1/utils.d.ts + +Shape signatures in builder refreshed for:: +/home/src/lib/lib.d.ts (used version) +/home/src/lib/lib.scripthost.d.ts (used version) +/home/src/projects/project1/core.d.ts (used version) +/home/src/projects/project1/file.ts (computed .d.ts during emit) +/home/src/projects/project1/file2.ts (computed .d.ts during emit) +/home/src/projects/project1/index.ts (computed .d.ts during emit) +/home/src/projects/project1/utils.d.ts (used version) + + +//// [/home/src/projects/project1/file.d.ts] +export declare const file = 10; + + +//// [/home/src/projects/project1/file.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.file = void 0; +exports.file = 10; + + +//// [/home/src/projects/project1/file2.d.ts] + + +//// [/home/src/projects/project1/file2.js] +/// +/// +/// + + +//// [/home/src/projects/project1/index.d.ts] +export declare const x = "type1"; + + +//// [/home/src/projects/project1/index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.x = void 0; +exports.x = "type1"; + + +//// [/home/src/projects/project1/tsconfig.tsbuildinfo] +{"program":{"fileNames":["../../lib/lib.d.ts","../../lib/lib.scripthost.d.ts","./core.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-15683237936-export const core = 10;","impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n","impliedFormat":1},{"version":"-15920922626-/// \n/// \n/// \n","signature":"5381-","impliedFormat":1},{"version":"-11532698187-export const x = \"type1\";","signature":"-5899226897-export declare const x = \"type1\";\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1}],"root":[[3,7]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} + +//// [/home/src/projects/project1/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../lib/lib.d.ts", + "../../lib/lib.scripthost.d.ts", + "./core.d.ts", + "./file.ts", + "./file2.ts", + "./index.ts", + "./utils.d.ts" + ], + "fileInfos": { + "../../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "../../lib/lib.scripthost.d.ts": { + "original": { + "version": "-5403980302-interface ScriptHostInterface { }", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "-5403980302-interface ScriptHostInterface { }", + "signature": "-5403980302-interface ScriptHostInterface { }", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "./core.d.ts": { + "original": { + "version": "-15683237936-export const core = 10;", + "impliedFormat": 1 + }, + "version": "-15683237936-export const core = 10;", + "signature": "-15683237936-export const core = 10;", + "impliedFormat": "commonjs" + }, + "./file.ts": { + "original": { + "version": "-16628394009-export const file = 10;", + "signature": "-9025507999-export declare const file = 10;\n", + "impliedFormat": 1 + }, + "version": "-16628394009-export const file = 10;", + "signature": "-9025507999-export declare const file = 10;\n", + "impliedFormat": "commonjs" + }, + "./file2.ts": { + "original": { + "version": "-15920922626-/// \n/// \n/// \n", + "signature": "5381-", + "impliedFormat": 1 + }, + "version": "-15920922626-/// \n/// \n/// \n", + "signature": "5381-", + "impliedFormat": "commonjs" + }, + "./index.ts": { + "original": { + "version": "-11532698187-export const x = \"type1\";", + "signature": "-5899226897-export declare const x = \"type1\";\n", + "impliedFormat": 1 + }, + "version": "-11532698187-export const x = \"type1\";", + "signature": "-5899226897-export declare const x = \"type1\";\n", + "impliedFormat": "commonjs" + }, + "./utils.d.ts": { + "original": { + "version": "-13729955264-export const y = 10;", + "impliedFormat": 1 + }, + "version": "-13729955264-export const y = 10;", + "signature": "-13729955264-export const y = 10;", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 3, + 7 + ], + [ + "./core.d.ts", + "./file.ts", + "./file2.ts", + "./index.ts", + "./utils.d.ts" + ] + ] + ], + "options": { + "composite": true + }, + "latestChangedDtsFile": "./index.d.ts" + }, + "version": "FakeTSVersion", + "size": 1448 +} + diff --git a/tests/baselines/reference/tsc/libraryResolution/with-config-with-redirection.js b/tests/baselines/reference/tsc/libraryResolution/with-config-with-redirection.js index d944b0a8c19e4..a74517a2a415a 100644 --- a/tests/baselines/reference/tsc/libraryResolution/with-config-with-redirection.js +++ b/tests/baselines/reference/tsc/libraryResolution/with-config-with-redirection.js @@ -433,7 +433,7 @@ exports.x = "type1"; //// [/home/src/projects/project1/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../node_modules/@typescript/lib-webworker/index.d.ts","../node_modules/@typescript/lib-scripthost/index.d.ts","../node_modules/@typescript/lib-es5/index.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./core.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"-7827135529-interface WebworkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-15683237936-export const core = 10;","impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n","impliedFormat":1},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-","impliedFormat":1},{"version":"-11532698187-export const x = \"type1\";","signature":"-5899226897-export declare const x = \"type1\";\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1},{"version":"-12476477079-export type TheNum = \"type1\";","impliedFormat":1}],"root":[[5,10]],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[4,3,2,1,5,6,7,8,10,9],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../node_modules/@typescript/lib-webworker/index.d.ts","../node_modules/@typescript/lib-scripthost/index.d.ts","../node_modules/@typescript/lib-es5/index.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./core.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"-7827135529-interface WebworkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-15683237936-export const core = 10;","impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n","impliedFormat":1},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-","impliedFormat":1},{"version":"-11532698187-export const x = \"type1\";","signature":"-5899226897-export declare const x = \"type1\";\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1},{"version":"-12476477079-export type TheNum = \"type1\";","impliedFormat":1}],"root":[[5,10]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/home/src/projects/project1/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -572,22 +572,9 @@ exports.x = "type1"; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../node_modules/@typescript/lib-dom/index.d.ts", - "../node_modules/@typescript/lib-es5/index.d.ts", - "../node_modules/@typescript/lib-scripthost/index.d.ts", - "../node_modules/@typescript/lib-webworker/index.d.ts", - "./core.d.ts", - "./file.ts", - "./file2.ts", - "./index.ts", - "./typeroot1/sometype/index.d.ts", - "./utils.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1979 + "size": 1908 } diff --git a/tests/baselines/reference/tsc/libraryResolution/with-config.js b/tests/baselines/reference/tsc/libraryResolution/with-config.js index abfa58e8fb57a..e19ccc12d1f7b 100644 --- a/tests/baselines/reference/tsc/libraryResolution/with-config.js +++ b/tests/baselines/reference/tsc/libraryResolution/with-config.js @@ -426,7 +426,7 @@ exports.x = "type1"; //// [/home/src/projects/project1/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.es5.d.ts","../../lib/lib.dom.d.ts","../../lib/lib.webworker.d.ts","../../lib/lib.scripthost.d.ts","./core.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3990185033-interface WebWorkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-15683237936-export const core = 10;","impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n","impliedFormat":1},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-","impliedFormat":1},{"version":"-11532698187-export const x = \"type1\";","signature":"-5899226897-export declare const x = \"type1\";\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1},{"version":"-12476477079-export type TheNum = \"type1\";","impliedFormat":1}],"root":[[5,10]],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[2,1,4,3,5,6,7,8,10,9],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.es5.d.ts","../../lib/lib.dom.d.ts","../../lib/lib.webworker.d.ts","../../lib/lib.scripthost.d.ts","./core.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3990185033-interface WebWorkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-15683237936-export const core = 10;","impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n","impliedFormat":1},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-","impliedFormat":1},{"version":"-11532698187-export const x = \"type1\";","signature":"-5899226897-export declare const x = \"type1\";\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1},{"version":"-12476477079-export type TheNum = \"type1\";","impliedFormat":1}],"root":[[5,10]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/home/src/projects/project1/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -565,22 +565,9 @@ exports.x = "type1"; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.dom.d.ts", - "../../lib/lib.es5.d.ts", - "../../lib/lib.scripthost.d.ts", - "../../lib/lib.webworker.d.ts", - "./core.d.ts", - "./file.ts", - "./file2.ts", - "./index.ts", - "./typeroot1/sometype/index.d.ts", - "./utils.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1883 + "size": 1812 } diff --git a/tests/baselines/reference/tsc/listFilesOnly/combined-with-incremental.js b/tests/baselines/reference/tsc/listFilesOnly/combined-with-incremental.js index 3676ba45ae471..42030df877b6a 100644 --- a/tests/baselines/reference/tsc/listFilesOnly/combined-with-incremental.js +++ b/tests/baselines/reference/tsc/listFilesOnly/combined-with-incremental.js @@ -49,7 +49,7 @@ exports.x = 1; //// [/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../lib/lib.d.ts","./test.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-12038591281-export const x = 1;","impliedFormat":1}],"root":[2],"referencedMap":[],"semanticDiagnosticsPerFile":[1,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../lib/lib.d.ts","./test.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-12038591281-export const x = 1;","impliedFormat":1}],"root":[2]},"version":"FakeTSVersion"} //// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -85,15 +85,10 @@ exports.x = 1; 2, "./test.ts" ] - ], - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../lib/lib.d.ts", - "./test.ts" ] }, "version": "FakeTSVersion", - "size": 724 + "size": 670 } diff --git a/tests/baselines/reference/tsc/moduleResolution/alternateResult.js b/tests/baselines/reference/tsc/moduleResolution/alternateResult.js index a395679675802..cf59c13a6f2a9 100644 --- a/tests/baselines/reference/tsc/moduleResolution/alternateResult.js +++ b/tests/baselines/reference/tsc/moduleResolution/alternateResult.js @@ -387,7 +387,7 @@ export {}; //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../lib/lib.d.ts","./node_modules/foo2/index.d.ts","./node_modules/@types/bar2/index.d.ts","./index.mts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-1622383150-export declare const foo2: number;","impliedFormat":1},{"version":"-7439170493-export declare const bar2: number;","impliedFormat":1},{"version":"-4806968175-import { foo } from \"foo\";\nimport { bar } from \"bar\";\nimport { foo2 } from \"foo2\";\nimport { bar2 } from \"bar2\";\n","impliedFormat":99}],"root":[4],"options":{"strict":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../lib/lib.d.ts","./node_modules/foo2/index.d.ts","./node_modules/@types/bar2/index.d.ts","./index.mts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-1622383150-export declare const foo2: number;","impliedFormat":1},{"version":"-7439170493-export declare const bar2: number;","impliedFormat":1},{"version":"-4806968175-import { foo } from \"foo\";\nimport { bar } from \"bar\";\nimport { foo2 } from \"foo2\";\nimport { bar2 } from \"bar2\";\n","impliedFormat":99}],"root":[4],"options":{"strict":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,2,3,4]},"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -458,10 +458,28 @@ export {}; "./node_modules/foo2/index.d.ts", "./node_modules/@types/bar2/index.d.ts" ] - } + }, + "semanticDiagnosticsPerFile": [ + [ + "../../../../lib/lib.d.ts", + "not cached or not changed" + ], + [ + "./node_modules/foo2/index.d.ts", + "not cached or not changed" + ], + [ + "./node_modules/@types/bar2/index.d.ts", + "not cached or not changed" + ], + [ + "./index.mts", + "not cached or not changed" + ] + ] }, "version": "FakeTSVersion", - "size": 1089 + "size": 1128 } @@ -1579,7 +1597,7 @@ Shape signatures in builder refreshed for:: //// [/home/src/projects/project/index.mjs] file written with same contents //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../lib/lib.d.ts","./node_modules/@types/bar/index.d.ts","./node_modules/foo2/index.d.ts","./node_modules/@types/bar2/index.d.ts","./index.mts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-9556021903-export declare const bar: number;","impliedFormat":1},{"version":"-1622383150-export declare const foo2: number;","impliedFormat":1},{"version":"-7439170493-export declare const bar2: number;","impliedFormat":1},{"version":"-4806968175-import { foo } from \"foo\";\nimport { bar } from \"bar\";\nimport { foo2 } from \"foo2\";\nimport { bar2 } from \"bar2\";\n","signature":"-3531856636-export {};\n","impliedFormat":99}],"root":[5],"options":{"strict":true},"fileIdsList":[[2,3,4]],"referencedMap":[[5,1]]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../lib/lib.d.ts","./node_modules/@types/bar/index.d.ts","./node_modules/foo2/index.d.ts","./node_modules/@types/bar2/index.d.ts","./index.mts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-9556021903-export declare const bar: number;","impliedFormat":1},{"version":"-1622383150-export declare const foo2: number;","impliedFormat":1},{"version":"-7439170493-export declare const bar2: number;","impliedFormat":1},{"version":"-4806968175-import { foo } from \"foo\";\nimport { bar } from \"bar\";\nimport { foo2 } from \"foo2\";\nimport { bar2 } from \"bar2\";\n","signature":"-3531856636-export {};\n","impliedFormat":99}],"root":[5],"options":{"strict":true},"fileIdsList":[[2,3,4]],"referencedMap":[[5,1]],"semanticDiagnosticsPerFile":[1,2,3,4,5]},"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1663,10 +1681,32 @@ Shape signatures in builder refreshed for:: "./node_modules/foo2/index.d.ts", "./node_modules/@types/bar2/index.d.ts" ] - } + }, + "semanticDiagnosticsPerFile": [ + [ + "../../../../lib/lib.d.ts", + "not cached or not changed" + ], + [ + "./node_modules/@types/bar/index.d.ts", + "not cached or not changed" + ], + [ + "./node_modules/foo2/index.d.ts", + "not cached or not changed" + ], + [ + "./node_modules/@types/bar2/index.d.ts", + "not cached or not changed" + ], + [ + "./index.mts", + "not cached or not changed" + ] + ] }, "version": "FakeTSVersion", - "size": 1247 + "size": 1288 } @@ -1837,7 +1877,7 @@ Shape signatures in builder refreshed for:: //// [/home/src/projects/project/index.mjs] file written with same contents //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../lib/lib.d.ts","./node_modules/foo/index.d.ts","./node_modules/@types/bar/index.d.ts","./node_modules/foo2/index.d.ts","./node_modules/@types/bar2/index.d.ts","./index.mts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5214938848-export declare const foo: number;","impliedFormat":1},{"version":"-9556021903-export declare const bar: number;","impliedFormat":1},{"version":"-1622383150-export declare const foo2: number;","impliedFormat":1},{"version":"-7439170493-export declare const bar2: number;","impliedFormat":1},{"version":"-4806968175-import { foo } from \"foo\";\nimport { bar } from \"bar\";\nimport { foo2 } from \"foo2\";\nimport { bar2 } from \"bar2\";\n","signature":"-3531856636-export {};\n","impliedFormat":99}],"root":[6],"options":{"strict":true},"fileIdsList":[[2,3,4,5]],"referencedMap":[[6,1]]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../lib/lib.d.ts","./node_modules/foo/index.d.ts","./node_modules/@types/bar/index.d.ts","./node_modules/foo2/index.d.ts","./node_modules/@types/bar2/index.d.ts","./index.mts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5214938848-export declare const foo: number;","impliedFormat":1},{"version":"-9556021903-export declare const bar: number;","impliedFormat":1},{"version":"-1622383150-export declare const foo2: number;","impliedFormat":1},{"version":"-7439170493-export declare const bar2: number;","impliedFormat":1},{"version":"-4806968175-import { foo } from \"foo\";\nimport { bar } from \"bar\";\nimport { foo2 } from \"foo2\";\nimport { bar2 } from \"bar2\";\n","signature":"-3531856636-export {};\n","impliedFormat":99}],"root":[6],"options":{"strict":true},"fileIdsList":[[2,3,4,5]],"referencedMap":[[6,1]],"semanticDiagnosticsPerFile":[1,2,3,4,5,6]},"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1933,10 +1973,36 @@ Shape signatures in builder refreshed for:: "./node_modules/foo2/index.d.ts", "./node_modules/@types/bar2/index.d.ts" ] - } + }, + "semanticDiagnosticsPerFile": [ + [ + "../../../../lib/lib.d.ts", + "not cached or not changed" + ], + [ + "./node_modules/foo/index.d.ts", + "not cached or not changed" + ], + [ + "./node_modules/@types/bar/index.d.ts", + "not cached or not changed" + ], + [ + "./node_modules/foo2/index.d.ts", + "not cached or not changed" + ], + [ + "./node_modules/@types/bar2/index.d.ts", + "not cached or not changed" + ], + [ + "./index.mts", + "not cached or not changed" + ] + ] }, "version": "FakeTSVersion", - "size": 1359 + "size": 1402 } @@ -2143,7 +2209,7 @@ Shape signatures in builder refreshed for:: //// [/home/src/projects/project/index.mjs] file written with same contents //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../lib/lib.d.ts","./node_modules/foo/index.d.ts","./node_modules/@types/bar/index.d.ts","./node_modules/foo2/index.d.ts","./index.mts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5214938848-export declare const foo: number;","impliedFormat":1},{"version":"-9556021903-export declare const bar: number;","impliedFormat":1},{"version":"-1622383150-export declare const foo2: number;","impliedFormat":1},{"version":"-4806968175-import { foo } from \"foo\";\nimport { bar } from \"bar\";\nimport { foo2 } from \"foo2\";\nimport { bar2 } from \"bar2\";\n","signature":"-3531856636-export {};\n","impliedFormat":99}],"root":[5],"options":{"strict":true},"fileIdsList":[[2,3,4]],"referencedMap":[[5,1]]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../lib/lib.d.ts","./node_modules/foo/index.d.ts","./node_modules/@types/bar/index.d.ts","./node_modules/foo2/index.d.ts","./index.mts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5214938848-export declare const foo: number;","impliedFormat":1},{"version":"-9556021903-export declare const bar: number;","impliedFormat":1},{"version":"-1622383150-export declare const foo2: number;","impliedFormat":1},{"version":"-4806968175-import { foo } from \"foo\";\nimport { bar } from \"bar\";\nimport { foo2 } from \"foo2\";\nimport { bar2 } from \"bar2\";\n","signature":"-3531856636-export {};\n","impliedFormat":99}],"root":[5],"options":{"strict":true},"fileIdsList":[[2,3,4]],"referencedMap":[[5,1]],"semanticDiagnosticsPerFile":[1,2,3,4,5]},"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -2227,10 +2293,32 @@ Shape signatures in builder refreshed for:: "./node_modules/@types/bar/index.d.ts", "./node_modules/foo2/index.d.ts" ] - } + }, + "semanticDiagnosticsPerFile": [ + [ + "../../../../lib/lib.d.ts", + "not cached or not changed" + ], + [ + "./node_modules/foo/index.d.ts", + "not cached or not changed" + ], + [ + "./node_modules/@types/bar/index.d.ts", + "not cached or not changed" + ], + [ + "./node_modules/foo2/index.d.ts", + "not cached or not changed" + ], + [ + "./index.mts", + "not cached or not changed" + ] + ] }, "version": "FakeTSVersion", - "size": 1238 + "size": 1279 } @@ -2466,7 +2554,7 @@ Shape signatures in builder refreshed for:: //// [/home/src/projects/project/index.mjs] file written with same contents //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../lib/lib.d.ts","./node_modules/foo/index.d.ts","./node_modules/@types/bar/index.d.ts","./index.mts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5214938848-export declare const foo: number;","impliedFormat":1},{"version":"-9556021903-export declare const bar: number;","impliedFormat":1},{"version":"-4806968175-import { foo } from \"foo\";\nimport { bar } from \"bar\";\nimport { foo2 } from \"foo2\";\nimport { bar2 } from \"bar2\";\n","signature":"-3531856636-export {};\n","impliedFormat":99}],"root":[4],"options":{"strict":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../lib/lib.d.ts","./node_modules/foo/index.d.ts","./node_modules/@types/bar/index.d.ts","./index.mts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5214938848-export declare const foo: number;","impliedFormat":1},{"version":"-9556021903-export declare const bar: number;","impliedFormat":1},{"version":"-4806968175-import { foo } from \"foo\";\nimport { bar } from \"bar\";\nimport { foo2 } from \"foo2\";\nimport { bar2 } from \"bar2\";\n","signature":"-3531856636-export {};\n","impliedFormat":99}],"root":[4],"options":{"strict":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,2,3,4]},"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -2538,10 +2626,28 @@ Shape signatures in builder refreshed for:: "./node_modules/foo/index.d.ts", "./node_modules/@types/bar/index.d.ts" ] - } + }, + "semanticDiagnosticsPerFile": [ + [ + "../../../../lib/lib.d.ts", + "not cached or not changed" + ], + [ + "./node_modules/foo/index.d.ts", + "not cached or not changed" + ], + [ + "./node_modules/@types/bar/index.d.ts", + "not cached or not changed" + ], + [ + "./index.mts", + "not cached or not changed" + ] + ] }, "version": "FakeTSVersion", - "size": 1124 + "size": 1163 } diff --git a/tests/baselines/reference/tsc/incremental/noEmit-changes-composite-discrepancies.js b/tests/baselines/reference/tsc/noEmit/changes-composite-discrepancies.js similarity index 93% rename from tests/baselines/reference/tsc/incremental/noEmit-changes-composite-discrepancies.js rename to tests/baselines/reference/tsc/noEmit/changes-composite-discrepancies.js index 24acc4dea90a1..e6f69bbaa5375 100644 --- a/tests/baselines/reference/tsc/incremental/noEmit-changes-composite-discrepancies.js +++ b/tests/baselines/reference/tsc/noEmit/changes-composite-discrepancies.js @@ -68,17 +68,10 @@ CleanBuild: ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", - "./src/directuse.ts", - "./src/indirectclass.ts", - "./src/indirectuse.ts", - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", @@ -166,17 +159,10 @@ IncrementalBuild: ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", - "./src/directuse.ts", - "./src/indirectclass.ts", - "./src/indirectuse.ts", - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", @@ -261,17 +247,10 @@ CleanBuild: ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", - "./src/directuse.ts", - "./src/indirectclass.ts", - "./src/indirectuse.ts", - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", @@ -359,17 +338,10 @@ IncrementalBuild: ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", - "./src/directuse.ts", - "./src/indirectclass.ts", - "./src/indirectuse.ts", - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", @@ -454,13 +426,10 @@ CleanBuild: ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", [ "./src/directuse.ts", [ { - "file": "./src/directuse.ts", "start": 76, "length": 4, "code": 2551, @@ -479,12 +448,10 @@ CleanBuild: } ] ], - "./src/indirectclass.ts", [ "./src/indirectuse.ts", [ { - "file": "./src/indirectuse.ts", "start": 76, "length": 4, "code": 2551, @@ -503,12 +470,10 @@ CleanBuild: } ] ], - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", @@ -596,13 +561,10 @@ IncrementalBuild: ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", [ "./src/directuse.ts", [ { - "file": "./src/directuse.ts", "start": 76, "length": 4, "code": 2551, @@ -621,12 +583,10 @@ IncrementalBuild: } ] ], - "./src/indirectclass.ts", [ "./src/indirectuse.ts", [ { - "file": "./src/indirectuse.ts", "start": 76, "length": 4, "code": 2551, @@ -645,12 +605,10 @@ IncrementalBuild: } ] ], - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", @@ -749,17 +707,10 @@ CleanBuild: ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", - "./src/directuse.ts", - "./src/indirectclass.ts", - "./src/indirectuse.ts", - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", @@ -847,17 +798,10 @@ IncrementalBuild: ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", - "./src/directuse.ts", - "./src/indirectclass.ts", - "./src/indirectuse.ts", - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", @@ -942,17 +886,10 @@ CleanBuild: ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", - "./src/directuse.ts", - "./src/indirectclass.ts", - "./src/indirectuse.ts", - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", @@ -1040,17 +977,10 @@ IncrementalBuild: ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", - "./src/directuse.ts", - "./src/indirectclass.ts", - "./src/indirectuse.ts", - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", @@ -1135,13 +1065,10 @@ CleanBuild: ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", [ "./src/directuse.ts", [ { - "file": "./src/directuse.ts", "start": 76, "length": 4, "code": 2551, @@ -1160,12 +1087,10 @@ CleanBuild: } ] ], - "./src/indirectclass.ts", [ "./src/indirectuse.ts", [ { - "file": "./src/indirectuse.ts", "start": 76, "length": 4, "code": 2551, @@ -1184,12 +1109,10 @@ CleanBuild: } ] ], - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", @@ -1277,13 +1200,10 @@ IncrementalBuild: ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", [ "./src/directuse.ts", [ { - "file": "./src/directuse.ts", "start": 76, "length": 4, "code": 2551, @@ -1302,12 +1222,10 @@ IncrementalBuild: } ] ], - "./src/indirectclass.ts", [ "./src/indirectuse.ts", [ { - "file": "./src/indirectuse.ts", "start": 76, "length": 4, "code": 2551, @@ -1326,12 +1244,10 @@ IncrementalBuild: } ] ], - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", @@ -1416,13 +1332,10 @@ CleanBuild: ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", [ "./src/directuse.ts", [ { - "file": "./src/directuse.ts", "start": 76, "length": 4, "code": 2551, @@ -1441,12 +1354,10 @@ CleanBuild: } ] ], - "./src/indirectclass.ts", [ "./src/indirectuse.ts", [ { - "file": "./src/indirectuse.ts", "start": 76, "length": 4, "code": 2551, @@ -1465,12 +1376,10 @@ CleanBuild: } ] ], - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", @@ -1558,13 +1467,10 @@ IncrementalBuild: ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", [ "./src/directuse.ts", [ { - "file": "./src/directuse.ts", "start": 76, "length": 4, "code": 2551, @@ -1583,12 +1489,10 @@ IncrementalBuild: } ] ], - "./src/indirectclass.ts", [ "./src/indirectuse.ts", [ { - "file": "./src/indirectuse.ts", "start": 76, "length": 4, "code": 2551, @@ -1607,12 +1511,10 @@ IncrementalBuild: } ] ], - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", @@ -1697,17 +1599,10 @@ CleanBuild: ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", - "./src/directuse.ts", - "./src/indirectclass.ts", - "./src/indirectuse.ts", - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", @@ -1795,17 +1690,10 @@ IncrementalBuild: ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", - "./src/directuse.ts", - "./src/indirectclass.ts", - "./src/indirectuse.ts", - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", @@ -1904,17 +1792,10 @@ CleanBuild: ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", - "./src/directuse.ts", - "./src/indirectclass.ts", - "./src/indirectuse.ts", - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", @@ -2002,17 +1883,10 @@ IncrementalBuild: ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", - "./src/directuse.ts", - "./src/indirectclass.ts", - "./src/indirectuse.ts", - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", @@ -2097,17 +1971,10 @@ CleanBuild: ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", - "./src/directuse.ts", - "./src/indirectclass.ts", - "./src/indirectuse.ts", - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", @@ -2195,17 +2062,10 @@ IncrementalBuild: ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", - "./src/directuse.ts", - "./src/indirectclass.ts", - "./src/indirectuse.ts", - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", diff --git a/tests/baselines/reference/tsc/noEmit/changes-composite-outFile.js b/tests/baselines/reference/tsc/noEmit/changes-composite-outFile.js new file mode 100644 index 0000000000000..fbc5e7da510ea --- /dev/null +++ b/tests/baselines/reference/tsc/noEmit/changes-composite-outFile.js @@ -0,0 +1,954 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Input:: +//// [/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/src/project/src/class.ts] +export class classC { + prop = 1; +} + +//// [/src/project/src/directUse.ts] +import { indirectClass } from './indirectClass'; +new indirectClass().classC.prop; + +//// [/src/project/src/indirectClass.ts] +import { classC } from './class'; +export class indirectClass { + classC = new classC(); +} + +//// [/src/project/src/indirectUse.ts] +import { indirectClass } from './indirectClass'; +new indirectClass().classC.prop; + +//// [/src/project/src/noChangeFile.ts] +export function writeLog(s: string) { +} + +//// [/src/project/src/noChangeFileWithEmitSpecificError.ts] +function someFunc(arguments: boolean, ...rest: any[]) { +} + +//// [/src/project/tsconfig.json] +{ + "compilerOptions": { + "composite": true, + "outFile": "../outFile.js" + } +} + + + +Output:: +/lib/tsc --p src/project +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + +src/project/src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~~~~~~~~~~ + + +Found 2 errors in 2 files. + +Errors Files + 1 src/project/src/class.ts:1 + 1 src/project/src/noChangeFileWithEmitSpecificError.ts:1 +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated + + +//// [/src/outFile.d.ts] +declare function someFunc(arguments: boolean, ...rest: any[]): void; + + +//// [/src/outFile.js] +function someFunc(arguments) { + var rest = []; + for (var _i = 1; _i < arguments.length; _i++) { + rest[_i - 1] = arguments[_i]; + } +} + + +//// [/src/outFile.tsbuildinfo] +{"program":{"fileNames":["../lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","impliedFormat":1}],"root":[[2,7]],"options":{"composite":true,"outFile":"./outFile.js"},"outSignature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","latestChangedDtsFile":"./outFile.d.ts"},"version":"FakeTSVersion"} + +//// [/src/outFile.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../lib/lib.d.ts", + "./project/src/class.ts", + "./project/src/indirectclass.ts", + "./project/src/directuse.ts", + "./project/src/indirectuse.ts", + "./project/src/nochangefile.ts", + "./project/src/nochangefilewithemitspecificerror.ts" + ], + "fileInfos": { + "../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": "commonjs" + }, + "./project/src/class.ts": { + "original": { + "version": "545032748-export class classC {\n prop = 1;\n}", + "impliedFormat": 1 + }, + "version": "545032748-export class classC {\n prop = 1;\n}", + "impliedFormat": "commonjs" + }, + "./project/src/indirectclass.ts": { + "original": { + "version": "6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}", + "impliedFormat": 1 + }, + "version": "6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}", + "impliedFormat": "commonjs" + }, + "./project/src/directuse.ts": { + "original": { + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": 1 + }, + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": "commonjs" + }, + "./project/src/indirectuse.ts": { + "original": { + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": 1 + }, + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": "commonjs" + }, + "./project/src/nochangefile.ts": { + "original": { + "version": "6714567633-export function writeLog(s: string) {\n}", + "impliedFormat": 1 + }, + "version": "6714567633-export function writeLog(s: string) {\n}", + "impliedFormat": "commonjs" + }, + "./project/src/nochangefilewithemitspecificerror.ts": { + "original": { + "version": "-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}", + "impliedFormat": 1 + }, + "version": "-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 7 + ], + [ + "./project/src/class.ts", + "./project/src/indirectclass.ts", + "./project/src/directuse.ts", + "./project/src/indirectuse.ts", + "./project/src/nochangefile.ts", + "./project/src/nochangefilewithemitspecificerror.ts" + ] + ] + ], + "options": { + "composite": true, + "outFile": "./outFile.js" + }, + "outSignature": "-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n", + "latestChangedDtsFile": "./outFile.d.ts" + }, + "version": "FakeTSVersion", + "size": 1630 +} + + + +Change:: No Change run with noEmit +Input:: + + +Output:: +/lib/tsc --p src/project --noEmit +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + + +Found 1 error in src/project/src/class.ts:1 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + + + +Change:: No Change run with noEmit +Input:: + + +Output:: +/lib/tsc --p src/project --noEmit +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + + +Found 1 error in src/project/src/class.ts:1 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + + + +Change:: Introduce error but still noEmit +Input:: +//// [/src/project/src/class.ts] +export class classC { + prop1 = 1; +} + + + +Output:: +/lib/tsc --p src/project --noEmit +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + +src/project/src/directUse.ts:2:28 - error TS2551: Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'? + +2 new indirectClass().classC.prop; +   ~~~~ + + src/project/src/class.ts:2:5 + 2 prop1 = 1; +    ~~~~~ + 'prop1' is declared here. + +src/project/src/indirectUse.ts:2:28 - error TS2551: Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'? + +2 new indirectClass().classC.prop; +   ~~~~ + + src/project/src/class.ts:2:5 + 2 prop1 = 1; +    ~~~~~ + 'prop1' is declared here. + + +Found 3 errors in 3 files. + +Errors Files + 1 src/project/src/class.ts:1 + 1 src/project/src/directUse.ts:2 + 1 src/project/src/indirectUse.ts:2 +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + + + +Change:: Fix error and emit +Input:: +//// [/src/project/src/class.ts] +export class classC { + prop = 1; +} + + + +Output:: +/lib/tsc --p src/project +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + +src/project/src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~~~~~~~~~~ + + +Found 2 errors in 2 files. + +Errors Files + 1 src/project/src/class.ts:1 + 1 src/project/src/noChangeFileWithEmitSpecificError.ts:1 +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated + + + + +Change:: No Change run with emit +Input:: + + +Output:: +/lib/tsc --p src/project +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + +src/project/src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~~~~~~~~~~ + + +Found 2 errors in 2 files. + +Errors Files + 1 src/project/src/class.ts:1 + 1 src/project/src/noChangeFileWithEmitSpecificError.ts:1 +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated + + + + +Change:: No Change run with noEmit +Input:: + + +Output:: +/lib/tsc --p src/project --noEmit +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + + +Found 1 error in src/project/src/class.ts:1 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + + + +Change:: No Change run with noEmit +Input:: + + +Output:: +/lib/tsc --p src/project --noEmit +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + + +Found 1 error in src/project/src/class.ts:1 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + + + +Change:: No Change run with emit +Input:: + + +Output:: +/lib/tsc --p src/project +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + +src/project/src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~~~~~~~~~~ + + +Found 2 errors in 2 files. + +Errors Files + 1 src/project/src/class.ts:1 + 1 src/project/src/noChangeFileWithEmitSpecificError.ts:1 +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated + + + + +Change:: Introduce error and emit +Input:: +//// [/src/project/src/class.ts] +export class classC { + prop1 = 1; +} + + + +Output:: +/lib/tsc --p src/project +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + +src/project/src/directUse.ts:2:28 - error TS2551: Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'? + +2 new indirectClass().classC.prop; +   ~~~~ + + src/project/src/class.ts:2:5 + 2 prop1 = 1; +    ~~~~~ + 'prop1' is declared here. + +src/project/src/indirectUse.ts:2:28 - error TS2551: Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'? + +2 new indirectClass().classC.prop; +   ~~~~ + + src/project/src/class.ts:2:5 + 2 prop1 = 1; +    ~~~~~ + 'prop1' is declared here. + +src/project/src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~~~~~~~~~~ + + +Found 4 errors in 4 files. + +Errors Files + 1 src/project/src/class.ts:1 + 1 src/project/src/directUse.ts:2 + 1 src/project/src/indirectUse.ts:2 + 1 src/project/src/noChangeFileWithEmitSpecificError.ts:1 +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated + + +//// [/src/outFile.js] file written with same contents +//// [/src/outFile.tsbuildinfo] +{"program":{"fileNames":["../lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","impliedFormat":1},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","impliedFormat":1}],"root":[[2,7]],"options":{"composite":true,"outFile":"./outFile.js"},"outSignature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","latestChangedDtsFile":"./outFile.d.ts"},"version":"FakeTSVersion"} + +//// [/src/outFile.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../lib/lib.d.ts", + "./project/src/class.ts", + "./project/src/indirectclass.ts", + "./project/src/directuse.ts", + "./project/src/indirectuse.ts", + "./project/src/nochangefile.ts", + "./project/src/nochangefilewithemitspecificerror.ts" + ], + "fileInfos": { + "../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": "commonjs" + }, + "./project/src/class.ts": { + "original": { + "version": "1786859709-export class classC {\n prop1 = 1;\n}", + "impliedFormat": 1 + }, + "version": "1786859709-export class classC {\n prop1 = 1;\n}", + "impliedFormat": "commonjs" + }, + "./project/src/indirectclass.ts": { + "original": { + "version": "6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}", + "impliedFormat": 1 + }, + "version": "6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}", + "impliedFormat": "commonjs" + }, + "./project/src/directuse.ts": { + "original": { + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": 1 + }, + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": "commonjs" + }, + "./project/src/indirectuse.ts": { + "original": { + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": 1 + }, + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": "commonjs" + }, + "./project/src/nochangefile.ts": { + "original": { + "version": "6714567633-export function writeLog(s: string) {\n}", + "impliedFormat": 1 + }, + "version": "6714567633-export function writeLog(s: string) {\n}", + "impliedFormat": "commonjs" + }, + "./project/src/nochangefilewithemitspecificerror.ts": { + "original": { + "version": "-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}", + "impliedFormat": 1 + }, + "version": "-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 7 + ], + [ + "./project/src/class.ts", + "./project/src/indirectclass.ts", + "./project/src/directuse.ts", + "./project/src/indirectuse.ts", + "./project/src/nochangefile.ts", + "./project/src/nochangefilewithemitspecificerror.ts" + ] + ] + ], + "options": { + "composite": true, + "outFile": "./outFile.js" + }, + "outSignature": "-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n", + "latestChangedDtsFile": "./outFile.d.ts" + }, + "version": "FakeTSVersion", + "size": 1632 +} + + + +Change:: No Change run with emit +Input:: + + +Output:: +/lib/tsc --p src/project +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + +src/project/src/directUse.ts:2:28 - error TS2551: Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'? + +2 new indirectClass().classC.prop; +   ~~~~ + + src/project/src/class.ts:2:5 + 2 prop1 = 1; +    ~~~~~ + 'prop1' is declared here. + +src/project/src/indirectUse.ts:2:28 - error TS2551: Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'? + +2 new indirectClass().classC.prop; +   ~~~~ + + src/project/src/class.ts:2:5 + 2 prop1 = 1; +    ~~~~~ + 'prop1' is declared here. + +src/project/src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~~~~~~~~~~ + + +Found 4 errors in 4 files. + +Errors Files + 1 src/project/src/class.ts:1 + 1 src/project/src/directUse.ts:2 + 1 src/project/src/indirectUse.ts:2 + 1 src/project/src/noChangeFileWithEmitSpecificError.ts:1 +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated + + + + +Change:: No Change run with noEmit +Input:: + + +Output:: +/lib/tsc --p src/project --noEmit +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + +src/project/src/directUse.ts:2:28 - error TS2551: Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'? + +2 new indirectClass().classC.prop; +   ~~~~ + + src/project/src/class.ts:2:5 + 2 prop1 = 1; +    ~~~~~ + 'prop1' is declared here. + +src/project/src/indirectUse.ts:2:28 - error TS2551: Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'? + +2 new indirectClass().classC.prop; +   ~~~~ + + src/project/src/class.ts:2:5 + 2 prop1 = 1; +    ~~~~~ + 'prop1' is declared here. + + +Found 3 errors in 3 files. + +Errors Files + 1 src/project/src/class.ts:1 + 1 src/project/src/directUse.ts:2 + 1 src/project/src/indirectUse.ts:2 +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + + + +Change:: No Change run with noEmit +Input:: + + +Output:: +/lib/tsc --p src/project --noEmit +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + +src/project/src/directUse.ts:2:28 - error TS2551: Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'? + +2 new indirectClass().classC.prop; +   ~~~~ + + src/project/src/class.ts:2:5 + 2 prop1 = 1; +    ~~~~~ + 'prop1' is declared here. + +src/project/src/indirectUse.ts:2:28 - error TS2551: Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'? + +2 new indirectClass().classC.prop; +   ~~~~ + + src/project/src/class.ts:2:5 + 2 prop1 = 1; +    ~~~~~ + 'prop1' is declared here. + + +Found 3 errors in 3 files. + +Errors Files + 1 src/project/src/class.ts:1 + 1 src/project/src/directUse.ts:2 + 1 src/project/src/indirectUse.ts:2 +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + + + +Change:: No Change run with emit +Input:: + + +Output:: +/lib/tsc --p src/project +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + +src/project/src/directUse.ts:2:28 - error TS2551: Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'? + +2 new indirectClass().classC.prop; +   ~~~~ + + src/project/src/class.ts:2:5 + 2 prop1 = 1; +    ~~~~~ + 'prop1' is declared here. + +src/project/src/indirectUse.ts:2:28 - error TS2551: Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'? + +2 new indirectClass().classC.prop; +   ~~~~ + + src/project/src/class.ts:2:5 + 2 prop1 = 1; +    ~~~~~ + 'prop1' is declared here. + +src/project/src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~~~~~~~~~~ + + +Found 4 errors in 4 files. + +Errors Files + 1 src/project/src/class.ts:1 + 1 src/project/src/directUse.ts:2 + 1 src/project/src/indirectUse.ts:2 + 1 src/project/src/noChangeFileWithEmitSpecificError.ts:1 +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated + + + + +Change:: Fix error and no emit +Input:: +//// [/src/project/src/class.ts] +export class classC { + prop = 1; +} + + + +Output:: +/lib/tsc --p src/project --noEmit +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + + +Found 1 error in src/project/src/class.ts:1 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + + + +Change:: No Change run with emit +Input:: + + +Output:: +/lib/tsc --p src/project +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + +src/project/src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~~~~~~~~~~ + + +Found 2 errors in 2 files. + +Errors Files + 1 src/project/src/class.ts:1 + 1 src/project/src/noChangeFileWithEmitSpecificError.ts:1 +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated + + +//// [/src/outFile.js] file written with same contents +//// [/src/outFile.tsbuildinfo] +{"program":{"fileNames":["../lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","impliedFormat":1}],"root":[[2,7]],"options":{"composite":true,"outFile":"./outFile.js"},"outSignature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","latestChangedDtsFile":"./outFile.d.ts"},"version":"FakeTSVersion"} + +//// [/src/outFile.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../lib/lib.d.ts", + "./project/src/class.ts", + "./project/src/indirectclass.ts", + "./project/src/directuse.ts", + "./project/src/indirectuse.ts", + "./project/src/nochangefile.ts", + "./project/src/nochangefilewithemitspecificerror.ts" + ], + "fileInfos": { + "../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": "commonjs" + }, + "./project/src/class.ts": { + "original": { + "version": "545032748-export class classC {\n prop = 1;\n}", + "impliedFormat": 1 + }, + "version": "545032748-export class classC {\n prop = 1;\n}", + "impliedFormat": "commonjs" + }, + "./project/src/indirectclass.ts": { + "original": { + "version": "6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}", + "impliedFormat": 1 + }, + "version": "6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}", + "impliedFormat": "commonjs" + }, + "./project/src/directuse.ts": { + "original": { + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": 1 + }, + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": "commonjs" + }, + "./project/src/indirectuse.ts": { + "original": { + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": 1 + }, + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": "commonjs" + }, + "./project/src/nochangefile.ts": { + "original": { + "version": "6714567633-export function writeLog(s: string) {\n}", + "impliedFormat": 1 + }, + "version": "6714567633-export function writeLog(s: string) {\n}", + "impliedFormat": "commonjs" + }, + "./project/src/nochangefilewithemitspecificerror.ts": { + "original": { + "version": "-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}", + "impliedFormat": 1 + }, + "version": "-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 7 + ], + [ + "./project/src/class.ts", + "./project/src/indirectclass.ts", + "./project/src/directuse.ts", + "./project/src/indirectuse.ts", + "./project/src/nochangefile.ts", + "./project/src/nochangefilewithemitspecificerror.ts" + ] + ] + ], + "options": { + "composite": true, + "outFile": "./outFile.js" + }, + "outSignature": "-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n", + "latestChangedDtsFile": "./outFile.d.ts" + }, + "version": "FakeTSVersion", + "size": 1630 +} + + + +Change:: No Change run with noEmit +Input:: + + +Output:: +/lib/tsc --p src/project --noEmit +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + + +Found 1 error in src/project/src/class.ts:1 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + + + +Change:: No Change run with noEmit +Input:: + + +Output:: +/lib/tsc --p src/project --noEmit +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + + +Found 1 error in src/project/src/class.ts:1 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + + + +Change:: No Change run with emit +Input:: + + +Output:: +/lib/tsc --p src/project +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + +src/project/src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~~~~~~~~~~ + + +Found 2 errors in 2 files. + +Errors Files + 1 src/project/src/class.ts:1 + 1 src/project/src/noChangeFileWithEmitSpecificError.ts:1 +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated + + diff --git a/tests/baselines/reference/tsc/incremental/noEmit-changes-composite.js b/tests/baselines/reference/tsc/noEmit/changes-composite.js similarity index 94% rename from tests/baselines/reference/tsc/incremental/noEmit-changes-composite.js rename to tests/baselines/reference/tsc/noEmit/changes-composite.js index 81b115d7fbb2c..a667d9acd0e57 100644 --- a/tests/baselines/reference/tsc/incremental/noEmit-changes-composite.js +++ b/tests/baselines/reference/tsc/noEmit/changes-composite.js @@ -152,7 +152,7 @@ function someFunc(arguments) { //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"options":{"composite":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[1,2,4,3,5,6,[7,[{"file":"./src/nochangefilewithemitspecificerror.ts","start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"options":{"composite":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts"},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -280,17 +280,10 @@ function someFunc(arguments) { ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", - "./src/directuse.ts", - "./src/indirectclass.ts", - "./src/indirectuse.ts", - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", @@ -304,7 +297,7 @@ function someFunc(arguments) { "latestChangedDtsFile": "./src/noChangeFileWithEmitSpecificError.d.ts" }, "version": "FakeTSVersion", - "size": 2337 + "size": 2273 } @@ -372,7 +365,7 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","signature":"-12157283604-export declare class classC {\n prop1: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"options":{"composite":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[1,2,[4,[{"file":"./src/directuse.ts","start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],3,[5,[{"file":"./src/indirectuse.ts","start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],6,[7,[{"file":"./src/nochangefilewithemitspecificerror.ts","start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,[4],3,[5]],"emitSignatures":[[2,"-9508063301-export declare class classC {\n prop: number;\n}\n"],[4,"-3531856636-export {};\n"],[5,"-3531856636-export {};\n"]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","signature":"-12157283604-export declare class classC {\n prop1: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"options":{"composite":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,[4],3,[5]],"emitSignatures":[[2,"-9508063301-export declare class classC {\n prop: number;\n}\n"],[4,"-3531856636-export {};\n"],[5,"-3531856636-export {};\n"]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts"},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -498,13 +491,10 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", [ "./src/directuse.ts", [ { - "file": "./src/directuse.ts", "start": 76, "length": 4, "code": 2551, @@ -523,12 +513,10 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated } ] ], - "./src/indirectclass.ts", [ "./src/indirectuse.ts", [ { - "file": "./src/indirectuse.ts", "start": 76, "length": 4, "code": 2551, @@ -547,12 +535,10 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated } ] ], - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", @@ -602,7 +588,7 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated "latestChangedDtsFile": "./src/noChangeFileWithEmitSpecificError.d.ts" }, "version": "FakeTSVersion", - "size": 3071 + "size": 2953 } @@ -632,7 +618,7 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated //// [/src/project/src/class.js] file written with same contents //// [/src/project/src/indirectClass.js] file written with same contents //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"options":{"composite":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[1,2,4,3,5,6,[7,[{"file":"./src/nochangefilewithemitspecificerror.ts","start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"options":{"composite":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts"},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -760,17 +746,10 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", - "./src/directuse.ts", - "./src/indirectclass.ts", - "./src/indirectuse.ts", - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", @@ -784,7 +763,7 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated "latestChangedDtsFile": "./src/noChangeFileWithEmitSpecificError.d.ts" }, "version": "FakeTSVersion", - "size": 2337 + "size": 2273 } @@ -916,7 +895,7 @@ exports.classC = classC; //// [/src/project/src/indirectClass.js] file written with same contents //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","signature":"-12157283604-export declare class classC {\n prop1: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"options":{"composite":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[1,2,[4,[{"file":"./src/directuse.ts","start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],3,[5,[{"file":"./src/indirectuse.ts","start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],6,[7,[{"file":"./src/nochangefilewithemitspecificerror.ts","start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"latestChangedDtsFile":"./src/class.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","signature":"-12157283604-export declare class classC {\n prop1: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"options":{"composite":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"latestChangedDtsFile":"./src/class.d.ts"},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1044,13 +1023,10 @@ exports.classC = classC; ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", [ "./src/directuse.ts", [ { - "file": "./src/directuse.ts", "start": 76, "length": 4, "code": 2551, @@ -1069,12 +1045,10 @@ exports.classC = classC; } ] ], - "./src/indirectclass.ts", [ "./src/indirectuse.ts", [ { - "file": "./src/indirectuse.ts", "start": 76, "length": 4, "code": 2551, @@ -1093,12 +1067,10 @@ exports.classC = classC; } ] ], - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", @@ -1112,7 +1084,7 @@ exports.classC = classC; "latestChangedDtsFile": "./src/class.d.ts" }, "version": "FakeTSVersion", - "size": 2927 + "size": 2809 } @@ -1292,7 +1264,7 @@ exitCode:: ExitStatus.Success //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"options":{"composite":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[1,2,4,3,5,6,[7,[{"file":"./src/nochangefilewithemitspecificerror.ts","start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,[4],3,[5]],"emitSignatures":[[2,"-12157283604-export declare class classC {\n prop1: number;\n}\n"],[4,"-3531856636-export {};\n"],[5,"-3531856636-export {};\n"]],"latestChangedDtsFile":"./src/class.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"options":{"composite":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,[4],3,[5]],"emitSignatures":[[2,"-12157283604-export declare class classC {\n prop1: number;\n}\n"],[4,"-3531856636-export {};\n"],[5,"-3531856636-export {};\n"]],"latestChangedDtsFile":"./src/class.d.ts"},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1418,17 +1390,10 @@ exitCode:: ExitStatus.Success ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", - "./src/directuse.ts", - "./src/indirectclass.ts", - "./src/indirectuse.ts", - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", @@ -1478,7 +1443,7 @@ exitCode:: ExitStatus.Success "latestChangedDtsFile": "./src/class.d.ts" }, "version": "FakeTSVersion", - "size": 2427 + "size": 2363 } @@ -1521,7 +1486,7 @@ exports.classC = classC; //// [/src/project/src/indirectClass.js] file written with same contents //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"options":{"composite":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[1,2,4,3,5,6,[7,[{"file":"./src/nochangefilewithemitspecificerror.ts","start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"latestChangedDtsFile":"./src/class.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"options":{"composite":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"latestChangedDtsFile":"./src/class.d.ts"},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1649,17 +1614,10 @@ exports.classC = classC; ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", - "./src/directuse.ts", - "./src/indirectclass.ts", - "./src/indirectuse.ts", - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", @@ -1673,7 +1631,7 @@ exports.classC = classC; "latestChangedDtsFile": "./src/class.d.ts" }, "version": "FakeTSVersion", - "size": 2309 + "size": 2245 } diff --git a/tests/baselines/reference/tsc/noEmit/changes-incremental-declaration-outFile.js b/tests/baselines/reference/tsc/noEmit/changes-incremental-declaration-outFile.js new file mode 100644 index 0000000000000..2562d5e8b72a8 --- /dev/null +++ b/tests/baselines/reference/tsc/noEmit/changes-incremental-declaration-outFile.js @@ -0,0 +1,951 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Input:: +//// [/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/src/project/src/class.ts] +export class classC { + prop = 1; +} + +//// [/src/project/src/directUse.ts] +import { indirectClass } from './indirectClass'; +new indirectClass().classC.prop; + +//// [/src/project/src/indirectClass.ts] +import { classC } from './class'; +export class indirectClass { + classC = new classC(); +} + +//// [/src/project/src/indirectUse.ts] +import { indirectClass } from './indirectClass'; +new indirectClass().classC.prop; + +//// [/src/project/src/noChangeFile.ts] +export function writeLog(s: string) { +} + +//// [/src/project/src/noChangeFileWithEmitSpecificError.ts] +function someFunc(arguments: boolean, ...rest: any[]) { +} + +//// [/src/project/tsconfig.json] +{ + "compilerOptions": { + "incremental": true, + "declaration": true, + "outFile": "../outFile.js" + } +} + + + +Output:: +/lib/tsc --p src/project +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + +src/project/src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~~~~~~~~~~ + + +Found 2 errors in 2 files. + +Errors Files + 1 src/project/src/class.ts:1 + 1 src/project/src/noChangeFileWithEmitSpecificError.ts:1 +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated + + +//// [/src/outFile.d.ts] +declare function someFunc(arguments: boolean, ...rest: any[]): void; + + +//// [/src/outFile.js] +function someFunc(arguments) { + var rest = []; + for (var _i = 1; _i < arguments.length; _i++) { + rest[_i - 1] = arguments[_i]; + } +} + + +//// [/src/outFile.tsbuildinfo] +{"program":{"fileNames":["../lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","impliedFormat":1}],"root":[[2,7]],"options":{"declaration":true,"outFile":"./outFile.js"}},"version":"FakeTSVersion"} + +//// [/src/outFile.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../lib/lib.d.ts", + "./project/src/class.ts", + "./project/src/indirectclass.ts", + "./project/src/directuse.ts", + "./project/src/indirectuse.ts", + "./project/src/nochangefile.ts", + "./project/src/nochangefilewithemitspecificerror.ts" + ], + "fileInfos": { + "../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": "commonjs" + }, + "./project/src/class.ts": { + "original": { + "version": "545032748-export class classC {\n prop = 1;\n}", + "impliedFormat": 1 + }, + "version": "545032748-export class classC {\n prop = 1;\n}", + "impliedFormat": "commonjs" + }, + "./project/src/indirectclass.ts": { + "original": { + "version": "6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}", + "impliedFormat": 1 + }, + "version": "6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}", + "impliedFormat": "commonjs" + }, + "./project/src/directuse.ts": { + "original": { + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": 1 + }, + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": "commonjs" + }, + "./project/src/indirectuse.ts": { + "original": { + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": 1 + }, + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": "commonjs" + }, + "./project/src/nochangefile.ts": { + "original": { + "version": "6714567633-export function writeLog(s: string) {\n}", + "impliedFormat": 1 + }, + "version": "6714567633-export function writeLog(s: string) {\n}", + "impliedFormat": "commonjs" + }, + "./project/src/nochangefilewithemitspecificerror.ts": { + "original": { + "version": "-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}", + "impliedFormat": 1 + }, + "version": "-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 7 + ], + [ + "./project/src/class.ts", + "./project/src/indirectclass.ts", + "./project/src/directuse.ts", + "./project/src/indirectuse.ts", + "./project/src/nochangefile.ts", + "./project/src/nochangefilewithemitspecificerror.ts" + ] + ] + ], + "options": { + "declaration": true, + "outFile": "./outFile.js" + } + }, + "version": "FakeTSVersion", + "size": 1492 +} + + + +Change:: No Change run with noEmit +Input:: + + +Output:: +/lib/tsc --p src/project --noEmit +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + + +Found 1 error in src/project/src/class.ts:1 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + + + +Change:: No Change run with noEmit +Input:: + + +Output:: +/lib/tsc --p src/project --noEmit +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + + +Found 1 error in src/project/src/class.ts:1 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + + + +Change:: Introduce error but still noEmit +Input:: +//// [/src/project/src/class.ts] +export class classC { + prop1 = 1; +} + + + +Output:: +/lib/tsc --p src/project --noEmit +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + +src/project/src/directUse.ts:2:28 - error TS2551: Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'? + +2 new indirectClass().classC.prop; +   ~~~~ + + src/project/src/class.ts:2:5 + 2 prop1 = 1; +    ~~~~~ + 'prop1' is declared here. + +src/project/src/indirectUse.ts:2:28 - error TS2551: Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'? + +2 new indirectClass().classC.prop; +   ~~~~ + + src/project/src/class.ts:2:5 + 2 prop1 = 1; +    ~~~~~ + 'prop1' is declared here. + + +Found 3 errors in 3 files. + +Errors Files + 1 src/project/src/class.ts:1 + 1 src/project/src/directUse.ts:2 + 1 src/project/src/indirectUse.ts:2 +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + + + +Change:: Fix error and emit +Input:: +//// [/src/project/src/class.ts] +export class classC { + prop = 1; +} + + + +Output:: +/lib/tsc --p src/project +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + +src/project/src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~~~~~~~~~~ + + +Found 2 errors in 2 files. + +Errors Files + 1 src/project/src/class.ts:1 + 1 src/project/src/noChangeFileWithEmitSpecificError.ts:1 +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated + + + + +Change:: No Change run with emit +Input:: + + +Output:: +/lib/tsc --p src/project +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + +src/project/src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~~~~~~~~~~ + + +Found 2 errors in 2 files. + +Errors Files + 1 src/project/src/class.ts:1 + 1 src/project/src/noChangeFileWithEmitSpecificError.ts:1 +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated + + + + +Change:: No Change run with noEmit +Input:: + + +Output:: +/lib/tsc --p src/project --noEmit +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + + +Found 1 error in src/project/src/class.ts:1 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + + + +Change:: No Change run with noEmit +Input:: + + +Output:: +/lib/tsc --p src/project --noEmit +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + + +Found 1 error in src/project/src/class.ts:1 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + + + +Change:: No Change run with emit +Input:: + + +Output:: +/lib/tsc --p src/project +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + +src/project/src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~~~~~~~~~~ + + +Found 2 errors in 2 files. + +Errors Files + 1 src/project/src/class.ts:1 + 1 src/project/src/noChangeFileWithEmitSpecificError.ts:1 +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated + + + + +Change:: Introduce error and emit +Input:: +//// [/src/project/src/class.ts] +export class classC { + prop1 = 1; +} + + + +Output:: +/lib/tsc --p src/project +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + +src/project/src/directUse.ts:2:28 - error TS2551: Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'? + +2 new indirectClass().classC.prop; +   ~~~~ + + src/project/src/class.ts:2:5 + 2 prop1 = 1; +    ~~~~~ + 'prop1' is declared here. + +src/project/src/indirectUse.ts:2:28 - error TS2551: Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'? + +2 new indirectClass().classC.prop; +   ~~~~ + + src/project/src/class.ts:2:5 + 2 prop1 = 1; +    ~~~~~ + 'prop1' is declared here. + +src/project/src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~~~~~~~~~~ + + +Found 4 errors in 4 files. + +Errors Files + 1 src/project/src/class.ts:1 + 1 src/project/src/directUse.ts:2 + 1 src/project/src/indirectUse.ts:2 + 1 src/project/src/noChangeFileWithEmitSpecificError.ts:1 +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated + + +//// [/src/outFile.d.ts] file written with same contents +//// [/src/outFile.js] file written with same contents +//// [/src/outFile.tsbuildinfo] +{"program":{"fileNames":["../lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","impliedFormat":1},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","impliedFormat":1}],"root":[[2,7]],"options":{"declaration":true,"outFile":"./outFile.js"}},"version":"FakeTSVersion"} + +//// [/src/outFile.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../lib/lib.d.ts", + "./project/src/class.ts", + "./project/src/indirectclass.ts", + "./project/src/directuse.ts", + "./project/src/indirectuse.ts", + "./project/src/nochangefile.ts", + "./project/src/nochangefilewithemitspecificerror.ts" + ], + "fileInfos": { + "../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": "commonjs" + }, + "./project/src/class.ts": { + "original": { + "version": "1786859709-export class classC {\n prop1 = 1;\n}", + "impliedFormat": 1 + }, + "version": "1786859709-export class classC {\n prop1 = 1;\n}", + "impliedFormat": "commonjs" + }, + "./project/src/indirectclass.ts": { + "original": { + "version": "6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}", + "impliedFormat": 1 + }, + "version": "6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}", + "impliedFormat": "commonjs" + }, + "./project/src/directuse.ts": { + "original": { + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": 1 + }, + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": "commonjs" + }, + "./project/src/indirectuse.ts": { + "original": { + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": 1 + }, + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": "commonjs" + }, + "./project/src/nochangefile.ts": { + "original": { + "version": "6714567633-export function writeLog(s: string) {\n}", + "impliedFormat": 1 + }, + "version": "6714567633-export function writeLog(s: string) {\n}", + "impliedFormat": "commonjs" + }, + "./project/src/nochangefilewithemitspecificerror.ts": { + "original": { + "version": "-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}", + "impliedFormat": 1 + }, + "version": "-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 7 + ], + [ + "./project/src/class.ts", + "./project/src/indirectclass.ts", + "./project/src/directuse.ts", + "./project/src/indirectuse.ts", + "./project/src/nochangefile.ts", + "./project/src/nochangefilewithemitspecificerror.ts" + ] + ] + ], + "options": { + "declaration": true, + "outFile": "./outFile.js" + } + }, + "version": "FakeTSVersion", + "size": 1494 +} + + + +Change:: No Change run with emit +Input:: + + +Output:: +/lib/tsc --p src/project +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + +src/project/src/directUse.ts:2:28 - error TS2551: Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'? + +2 new indirectClass().classC.prop; +   ~~~~ + + src/project/src/class.ts:2:5 + 2 prop1 = 1; +    ~~~~~ + 'prop1' is declared here. + +src/project/src/indirectUse.ts:2:28 - error TS2551: Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'? + +2 new indirectClass().classC.prop; +   ~~~~ + + src/project/src/class.ts:2:5 + 2 prop1 = 1; +    ~~~~~ + 'prop1' is declared here. + +src/project/src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~~~~~~~~~~ + + +Found 4 errors in 4 files. + +Errors Files + 1 src/project/src/class.ts:1 + 1 src/project/src/directUse.ts:2 + 1 src/project/src/indirectUse.ts:2 + 1 src/project/src/noChangeFileWithEmitSpecificError.ts:1 +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated + + + + +Change:: No Change run with noEmit +Input:: + + +Output:: +/lib/tsc --p src/project --noEmit +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + +src/project/src/directUse.ts:2:28 - error TS2551: Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'? + +2 new indirectClass().classC.prop; +   ~~~~ + + src/project/src/class.ts:2:5 + 2 prop1 = 1; +    ~~~~~ + 'prop1' is declared here. + +src/project/src/indirectUse.ts:2:28 - error TS2551: Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'? + +2 new indirectClass().classC.prop; +   ~~~~ + + src/project/src/class.ts:2:5 + 2 prop1 = 1; +    ~~~~~ + 'prop1' is declared here. + + +Found 3 errors in 3 files. + +Errors Files + 1 src/project/src/class.ts:1 + 1 src/project/src/directUse.ts:2 + 1 src/project/src/indirectUse.ts:2 +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + + + +Change:: No Change run with noEmit +Input:: + + +Output:: +/lib/tsc --p src/project --noEmit +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + +src/project/src/directUse.ts:2:28 - error TS2551: Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'? + +2 new indirectClass().classC.prop; +   ~~~~ + + src/project/src/class.ts:2:5 + 2 prop1 = 1; +    ~~~~~ + 'prop1' is declared here. + +src/project/src/indirectUse.ts:2:28 - error TS2551: Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'? + +2 new indirectClass().classC.prop; +   ~~~~ + + src/project/src/class.ts:2:5 + 2 prop1 = 1; +    ~~~~~ + 'prop1' is declared here. + + +Found 3 errors in 3 files. + +Errors Files + 1 src/project/src/class.ts:1 + 1 src/project/src/directUse.ts:2 + 1 src/project/src/indirectUse.ts:2 +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + + + +Change:: No Change run with emit +Input:: + + +Output:: +/lib/tsc --p src/project +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + +src/project/src/directUse.ts:2:28 - error TS2551: Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'? + +2 new indirectClass().classC.prop; +   ~~~~ + + src/project/src/class.ts:2:5 + 2 prop1 = 1; +    ~~~~~ + 'prop1' is declared here. + +src/project/src/indirectUse.ts:2:28 - error TS2551: Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'? + +2 new indirectClass().classC.prop; +   ~~~~ + + src/project/src/class.ts:2:5 + 2 prop1 = 1; +    ~~~~~ + 'prop1' is declared here. + +src/project/src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~~~~~~~~~~ + + +Found 4 errors in 4 files. + +Errors Files + 1 src/project/src/class.ts:1 + 1 src/project/src/directUse.ts:2 + 1 src/project/src/indirectUse.ts:2 + 1 src/project/src/noChangeFileWithEmitSpecificError.ts:1 +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated + + + + +Change:: Fix error and no emit +Input:: +//// [/src/project/src/class.ts] +export class classC { + prop = 1; +} + + + +Output:: +/lib/tsc --p src/project --noEmit +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + + +Found 1 error in src/project/src/class.ts:1 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + + + +Change:: No Change run with emit +Input:: + + +Output:: +/lib/tsc --p src/project +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + +src/project/src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~~~~~~~~~~ + + +Found 2 errors in 2 files. + +Errors Files + 1 src/project/src/class.ts:1 + 1 src/project/src/noChangeFileWithEmitSpecificError.ts:1 +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated + + +//// [/src/outFile.d.ts] file written with same contents +//// [/src/outFile.js] file written with same contents +//// [/src/outFile.tsbuildinfo] +{"program":{"fileNames":["../lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","impliedFormat":1}],"root":[[2,7]],"options":{"declaration":true,"outFile":"./outFile.js"}},"version":"FakeTSVersion"} + +//// [/src/outFile.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../lib/lib.d.ts", + "./project/src/class.ts", + "./project/src/indirectclass.ts", + "./project/src/directuse.ts", + "./project/src/indirectuse.ts", + "./project/src/nochangefile.ts", + "./project/src/nochangefilewithemitspecificerror.ts" + ], + "fileInfos": { + "../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": "commonjs" + }, + "./project/src/class.ts": { + "original": { + "version": "545032748-export class classC {\n prop = 1;\n}", + "impliedFormat": 1 + }, + "version": "545032748-export class classC {\n prop = 1;\n}", + "impliedFormat": "commonjs" + }, + "./project/src/indirectclass.ts": { + "original": { + "version": "6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}", + "impliedFormat": 1 + }, + "version": "6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}", + "impliedFormat": "commonjs" + }, + "./project/src/directuse.ts": { + "original": { + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": 1 + }, + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": "commonjs" + }, + "./project/src/indirectuse.ts": { + "original": { + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": 1 + }, + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": "commonjs" + }, + "./project/src/nochangefile.ts": { + "original": { + "version": "6714567633-export function writeLog(s: string) {\n}", + "impliedFormat": 1 + }, + "version": "6714567633-export function writeLog(s: string) {\n}", + "impliedFormat": "commonjs" + }, + "./project/src/nochangefilewithemitspecificerror.ts": { + "original": { + "version": "-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}", + "impliedFormat": 1 + }, + "version": "-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 7 + ], + [ + "./project/src/class.ts", + "./project/src/indirectclass.ts", + "./project/src/directuse.ts", + "./project/src/indirectuse.ts", + "./project/src/nochangefile.ts", + "./project/src/nochangefilewithemitspecificerror.ts" + ] + ] + ], + "options": { + "declaration": true, + "outFile": "./outFile.js" + } + }, + "version": "FakeTSVersion", + "size": 1492 +} + + + +Change:: No Change run with noEmit +Input:: + + +Output:: +/lib/tsc --p src/project --noEmit +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + + +Found 1 error in src/project/src/class.ts:1 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + + + +Change:: No Change run with noEmit +Input:: + + +Output:: +/lib/tsc --p src/project --noEmit +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + + +Found 1 error in src/project/src/class.ts:1 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + + + +Change:: No Change run with emit +Input:: + + +Output:: +/lib/tsc --p src/project +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + +src/project/src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~~~~~~~~~~ + + +Found 2 errors in 2 files. + +Errors Files + 1 src/project/src/class.ts:1 + 1 src/project/src/noChangeFileWithEmitSpecificError.ts:1 +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated + + diff --git a/tests/baselines/reference/tsc/incremental/noEmit-changes-incremental-declaration.js b/tests/baselines/reference/tsc/noEmit/changes-incremental-declaration.js similarity index 94% rename from tests/baselines/reference/tsc/incremental/noEmit-changes-incremental-declaration.js rename to tests/baselines/reference/tsc/noEmit/changes-incremental-declaration.js index 924642b415625..04c953e0b31d3 100644 --- a/tests/baselines/reference/tsc/incremental/noEmit-changes-incremental-declaration.js +++ b/tests/baselines/reference/tsc/noEmit/changes-incremental-declaration.js @@ -153,7 +153,7 @@ function someFunc(arguments) { //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[1,2,4,3,5,6,[7,[{"file":"./src/nochangefilewithemitspecificerror.ts","start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -281,17 +281,10 @@ function someFunc(arguments) { ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", - "./src/directuse.ts", - "./src/indirectclass.ts", - "./src/indirectuse.ts", - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", @@ -304,7 +297,7 @@ function someFunc(arguments) { ] }, "version": "FakeTSVersion", - "size": 2269 + "size": 2205 } @@ -372,7 +365,7 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","signature":"-12157283604-export declare class classC {\n prop1: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[1,2,[4,[{"file":"./src/directuse.ts","start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],3,[5,[{"file":"./src/indirectuse.ts","start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],6,[7,[{"file":"./src/nochangefilewithemitspecificerror.ts","start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,[4],3,[5]]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","signature":"-12157283604-export declare class classC {\n prop1: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,[4],3,[5]]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -498,13 +491,10 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", [ "./src/directuse.ts", [ { - "file": "./src/directuse.ts", "start": 76, "length": 4, "code": 2551, @@ -523,12 +513,10 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated } ] ], - "./src/indirectclass.ts", [ "./src/indirectuse.ts", [ { - "file": "./src/indirectuse.ts", "start": 76, "length": 4, "code": 2551, @@ -547,12 +535,10 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated } ] ], - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", @@ -587,7 +573,7 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated ] }, "version": "FakeTSVersion", - "size": 2850 + "size": 2732 } @@ -621,7 +607,7 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated //// [/src/project/src/indirectClass.js] file written with same contents //// [/src/project/src/indirectUse.d.ts] file written with same contents //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[1,2,4,3,5,6,[7,[{"file":"./src/nochangefilewithemitspecificerror.ts","start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -749,17 +735,10 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", - "./src/directuse.ts", - "./src/indirectclass.ts", - "./src/indirectuse.ts", - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", @@ -772,7 +751,7 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated ] }, "version": "FakeTSVersion", - "size": 2269 + "size": 2205 } @@ -907,7 +886,7 @@ exports.classC = classC; //// [/src/project/src/indirectClass.js] file written with same contents //// [/src/project/src/indirectUse.d.ts] file written with same contents //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","signature":"-12157283604-export declare class classC {\n prop1: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[1,2,[4,[{"file":"./src/directuse.ts","start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],3,[5,[{"file":"./src/indirectuse.ts","start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],6,[7,[{"file":"./src/nochangefilewithemitspecificerror.ts","start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","signature":"-12157283604-export declare class classC {\n prop1: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1035,13 +1014,10 @@ exports.classC = classC; ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", [ "./src/directuse.ts", [ { - "file": "./src/directuse.ts", "start": 76, "length": 4, "code": 2551, @@ -1060,12 +1036,10 @@ exports.classC = classC; } ] ], - "./src/indirectclass.ts", [ "./src/indirectuse.ts", [ { - "file": "./src/indirectuse.ts", "start": 76, "length": 4, "code": 2551, @@ -1084,12 +1058,10 @@ exports.classC = classC; } ] ], - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", @@ -1102,7 +1074,7 @@ exports.classC = classC; ] }, "version": "FakeTSVersion", - "size": 2887 + "size": 2769 } @@ -1282,7 +1254,7 @@ exitCode:: ExitStatus.Success //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[1,2,4,3,5,6,[7,[{"file":"./src/nochangefilewithemitspecificerror.ts","start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,[4],3,[5]]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,[4],3,[5]]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1408,17 +1380,10 @@ exitCode:: ExitStatus.Success ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", - "./src/directuse.ts", - "./src/indirectclass.ts", - "./src/indirectuse.ts", - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", @@ -1453,7 +1418,7 @@ exitCode:: ExitStatus.Success ] }, "version": "FakeTSVersion", - "size": 2232 + "size": 2168 } @@ -1499,7 +1464,7 @@ exports.classC = classC; //// [/src/project/src/indirectClass.js] file written with same contents //// [/src/project/src/indirectUse.d.ts] file written with same contents //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[1,2,4,3,5,6,[7,[{"file":"./src/nochangefilewithemitspecificerror.ts","start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1627,17 +1592,10 @@ exports.classC = classC; ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", - "./src/directuse.ts", - "./src/indirectclass.ts", - "./src/indirectuse.ts", - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", @@ -1650,7 +1608,7 @@ exports.classC = classC; ] }, "version": "FakeTSVersion", - "size": 2269 + "size": 2205 } diff --git a/tests/baselines/reference/tsc/noEmit/changes-incremental-outFile.js b/tests/baselines/reference/tsc/noEmit/changes-incremental-outFile.js new file mode 100644 index 0000000000000..f26a4a36075f4 --- /dev/null +++ b/tests/baselines/reference/tsc/noEmit/changes-incremental-outFile.js @@ -0,0 +1,941 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Input:: +//// [/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/src/project/src/class.ts] +export class classC { + prop = 1; +} + +//// [/src/project/src/directUse.ts] +import { indirectClass } from './indirectClass'; +new indirectClass().classC.prop; + +//// [/src/project/src/indirectClass.ts] +import { classC } from './class'; +export class indirectClass { + classC = new classC(); +} + +//// [/src/project/src/indirectUse.ts] +import { indirectClass } from './indirectClass'; +new indirectClass().classC.prop; + +//// [/src/project/src/noChangeFile.ts] +export function writeLog(s: string) { +} + +//// [/src/project/src/noChangeFileWithEmitSpecificError.ts] +function someFunc(arguments: boolean, ...rest: any[]) { +} + +//// [/src/project/tsconfig.json] +{ + "compilerOptions": { + "incremental": true, + "outFile": "../outFile.js" + } +} + + + +Output:: +/lib/tsc --p src/project +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + +src/project/src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~~~~~~~~~~ + + +Found 2 errors in 2 files. + +Errors Files + 1 src/project/src/class.ts:1 + 1 src/project/src/noChangeFileWithEmitSpecificError.ts:1 +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated + + +//// [/src/outFile.js] +function someFunc(arguments) { + var rest = []; + for (var _i = 1; _i < arguments.length; _i++) { + rest[_i - 1] = arguments[_i]; + } +} + + +//// [/src/outFile.tsbuildinfo] +{"program":{"fileNames":["../lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","impliedFormat":1}],"root":[[2,7]],"options":{"outFile":"./outFile.js"}},"version":"FakeTSVersion"} + +//// [/src/outFile.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../lib/lib.d.ts", + "./project/src/class.ts", + "./project/src/indirectclass.ts", + "./project/src/directuse.ts", + "./project/src/indirectuse.ts", + "./project/src/nochangefile.ts", + "./project/src/nochangefilewithemitspecificerror.ts" + ], + "fileInfos": { + "../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": "commonjs" + }, + "./project/src/class.ts": { + "original": { + "version": "545032748-export class classC {\n prop = 1;\n}", + "impliedFormat": 1 + }, + "version": "545032748-export class classC {\n prop = 1;\n}", + "impliedFormat": "commonjs" + }, + "./project/src/indirectclass.ts": { + "original": { + "version": "6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}", + "impliedFormat": 1 + }, + "version": "6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}", + "impliedFormat": "commonjs" + }, + "./project/src/directuse.ts": { + "original": { + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": 1 + }, + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": "commonjs" + }, + "./project/src/indirectuse.ts": { + "original": { + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": 1 + }, + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": "commonjs" + }, + "./project/src/nochangefile.ts": { + "original": { + "version": "6714567633-export function writeLog(s: string) {\n}", + "impliedFormat": 1 + }, + "version": "6714567633-export function writeLog(s: string) {\n}", + "impliedFormat": "commonjs" + }, + "./project/src/nochangefilewithemitspecificerror.ts": { + "original": { + "version": "-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}", + "impliedFormat": 1 + }, + "version": "-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 7 + ], + [ + "./project/src/class.ts", + "./project/src/indirectclass.ts", + "./project/src/directuse.ts", + "./project/src/indirectuse.ts", + "./project/src/nochangefile.ts", + "./project/src/nochangefilewithemitspecificerror.ts" + ] + ] + ], + "options": { + "outFile": "./outFile.js" + } + }, + "version": "FakeTSVersion", + "size": 1473 +} + + + +Change:: No Change run with noEmit +Input:: + + +Output:: +/lib/tsc --p src/project --noEmit +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + + +Found 1 error in src/project/src/class.ts:1 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + + + +Change:: No Change run with noEmit +Input:: + + +Output:: +/lib/tsc --p src/project --noEmit +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + + +Found 1 error in src/project/src/class.ts:1 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + + + +Change:: Introduce error but still noEmit +Input:: +//// [/src/project/src/class.ts] +export class classC { + prop1 = 1; +} + + + +Output:: +/lib/tsc --p src/project --noEmit +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + +src/project/src/directUse.ts:2:28 - error TS2551: Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'? + +2 new indirectClass().classC.prop; +   ~~~~ + + src/project/src/class.ts:2:5 + 2 prop1 = 1; +    ~~~~~ + 'prop1' is declared here. + +src/project/src/indirectUse.ts:2:28 - error TS2551: Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'? + +2 new indirectClass().classC.prop; +   ~~~~ + + src/project/src/class.ts:2:5 + 2 prop1 = 1; +    ~~~~~ + 'prop1' is declared here. + + +Found 3 errors in 3 files. + +Errors Files + 1 src/project/src/class.ts:1 + 1 src/project/src/directUse.ts:2 + 1 src/project/src/indirectUse.ts:2 +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + + + +Change:: Fix error and emit +Input:: +//// [/src/project/src/class.ts] +export class classC { + prop = 1; +} + + + +Output:: +/lib/tsc --p src/project +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + +src/project/src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~~~~~~~~~~ + + +Found 2 errors in 2 files. + +Errors Files + 1 src/project/src/class.ts:1 + 1 src/project/src/noChangeFileWithEmitSpecificError.ts:1 +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated + + + + +Change:: No Change run with emit +Input:: + + +Output:: +/lib/tsc --p src/project +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + +src/project/src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~~~~~~~~~~ + + +Found 2 errors in 2 files. + +Errors Files + 1 src/project/src/class.ts:1 + 1 src/project/src/noChangeFileWithEmitSpecificError.ts:1 +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated + + + + +Change:: No Change run with noEmit +Input:: + + +Output:: +/lib/tsc --p src/project --noEmit +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + + +Found 1 error in src/project/src/class.ts:1 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + + + +Change:: No Change run with noEmit +Input:: + + +Output:: +/lib/tsc --p src/project --noEmit +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + + +Found 1 error in src/project/src/class.ts:1 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + + + +Change:: No Change run with emit +Input:: + + +Output:: +/lib/tsc --p src/project +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + +src/project/src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~~~~~~~~~~ + + +Found 2 errors in 2 files. + +Errors Files + 1 src/project/src/class.ts:1 + 1 src/project/src/noChangeFileWithEmitSpecificError.ts:1 +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated + + + + +Change:: Introduce error and emit +Input:: +//// [/src/project/src/class.ts] +export class classC { + prop1 = 1; +} + + + +Output:: +/lib/tsc --p src/project +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + +src/project/src/directUse.ts:2:28 - error TS2551: Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'? + +2 new indirectClass().classC.prop; +   ~~~~ + + src/project/src/class.ts:2:5 + 2 prop1 = 1; +    ~~~~~ + 'prop1' is declared here. + +src/project/src/indirectUse.ts:2:28 - error TS2551: Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'? + +2 new indirectClass().classC.prop; +   ~~~~ + + src/project/src/class.ts:2:5 + 2 prop1 = 1; +    ~~~~~ + 'prop1' is declared here. + +src/project/src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~~~~~~~~~~ + + +Found 4 errors in 4 files. + +Errors Files + 1 src/project/src/class.ts:1 + 1 src/project/src/directUse.ts:2 + 1 src/project/src/indirectUse.ts:2 + 1 src/project/src/noChangeFileWithEmitSpecificError.ts:1 +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated + + +//// [/src/outFile.js] file written with same contents +//// [/src/outFile.tsbuildinfo] +{"program":{"fileNames":["../lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","impliedFormat":1},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","impliedFormat":1}],"root":[[2,7]],"options":{"outFile":"./outFile.js"}},"version":"FakeTSVersion"} + +//// [/src/outFile.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../lib/lib.d.ts", + "./project/src/class.ts", + "./project/src/indirectclass.ts", + "./project/src/directuse.ts", + "./project/src/indirectuse.ts", + "./project/src/nochangefile.ts", + "./project/src/nochangefilewithemitspecificerror.ts" + ], + "fileInfos": { + "../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": "commonjs" + }, + "./project/src/class.ts": { + "original": { + "version": "1786859709-export class classC {\n prop1 = 1;\n}", + "impliedFormat": 1 + }, + "version": "1786859709-export class classC {\n prop1 = 1;\n}", + "impliedFormat": "commonjs" + }, + "./project/src/indirectclass.ts": { + "original": { + "version": "6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}", + "impliedFormat": 1 + }, + "version": "6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}", + "impliedFormat": "commonjs" + }, + "./project/src/directuse.ts": { + "original": { + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": 1 + }, + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": "commonjs" + }, + "./project/src/indirectuse.ts": { + "original": { + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": 1 + }, + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": "commonjs" + }, + "./project/src/nochangefile.ts": { + "original": { + "version": "6714567633-export function writeLog(s: string) {\n}", + "impliedFormat": 1 + }, + "version": "6714567633-export function writeLog(s: string) {\n}", + "impliedFormat": "commonjs" + }, + "./project/src/nochangefilewithemitspecificerror.ts": { + "original": { + "version": "-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}", + "impliedFormat": 1 + }, + "version": "-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 7 + ], + [ + "./project/src/class.ts", + "./project/src/indirectclass.ts", + "./project/src/directuse.ts", + "./project/src/indirectuse.ts", + "./project/src/nochangefile.ts", + "./project/src/nochangefilewithemitspecificerror.ts" + ] + ] + ], + "options": { + "outFile": "./outFile.js" + } + }, + "version": "FakeTSVersion", + "size": 1475 +} + + + +Change:: No Change run with emit +Input:: + + +Output:: +/lib/tsc --p src/project +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + +src/project/src/directUse.ts:2:28 - error TS2551: Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'? + +2 new indirectClass().classC.prop; +   ~~~~ + + src/project/src/class.ts:2:5 + 2 prop1 = 1; +    ~~~~~ + 'prop1' is declared here. + +src/project/src/indirectUse.ts:2:28 - error TS2551: Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'? + +2 new indirectClass().classC.prop; +   ~~~~ + + src/project/src/class.ts:2:5 + 2 prop1 = 1; +    ~~~~~ + 'prop1' is declared here. + +src/project/src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~~~~~~~~~~ + + +Found 4 errors in 4 files. + +Errors Files + 1 src/project/src/class.ts:1 + 1 src/project/src/directUse.ts:2 + 1 src/project/src/indirectUse.ts:2 + 1 src/project/src/noChangeFileWithEmitSpecificError.ts:1 +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated + + + + +Change:: No Change run with noEmit +Input:: + + +Output:: +/lib/tsc --p src/project --noEmit +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + +src/project/src/directUse.ts:2:28 - error TS2551: Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'? + +2 new indirectClass().classC.prop; +   ~~~~ + + src/project/src/class.ts:2:5 + 2 prop1 = 1; +    ~~~~~ + 'prop1' is declared here. + +src/project/src/indirectUse.ts:2:28 - error TS2551: Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'? + +2 new indirectClass().classC.prop; +   ~~~~ + + src/project/src/class.ts:2:5 + 2 prop1 = 1; +    ~~~~~ + 'prop1' is declared here. + + +Found 3 errors in 3 files. + +Errors Files + 1 src/project/src/class.ts:1 + 1 src/project/src/directUse.ts:2 + 1 src/project/src/indirectUse.ts:2 +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + + + +Change:: No Change run with noEmit +Input:: + + +Output:: +/lib/tsc --p src/project --noEmit +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + +src/project/src/directUse.ts:2:28 - error TS2551: Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'? + +2 new indirectClass().classC.prop; +   ~~~~ + + src/project/src/class.ts:2:5 + 2 prop1 = 1; +    ~~~~~ + 'prop1' is declared here. + +src/project/src/indirectUse.ts:2:28 - error TS2551: Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'? + +2 new indirectClass().classC.prop; +   ~~~~ + + src/project/src/class.ts:2:5 + 2 prop1 = 1; +    ~~~~~ + 'prop1' is declared here. + + +Found 3 errors in 3 files. + +Errors Files + 1 src/project/src/class.ts:1 + 1 src/project/src/directUse.ts:2 + 1 src/project/src/indirectUse.ts:2 +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + + + +Change:: No Change run with emit +Input:: + + +Output:: +/lib/tsc --p src/project +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + +src/project/src/directUse.ts:2:28 - error TS2551: Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'? + +2 new indirectClass().classC.prop; +   ~~~~ + + src/project/src/class.ts:2:5 + 2 prop1 = 1; +    ~~~~~ + 'prop1' is declared here. + +src/project/src/indirectUse.ts:2:28 - error TS2551: Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'? + +2 new indirectClass().classC.prop; +   ~~~~ + + src/project/src/class.ts:2:5 + 2 prop1 = 1; +    ~~~~~ + 'prop1' is declared here. + +src/project/src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~~~~~~~~~~ + + +Found 4 errors in 4 files. + +Errors Files + 1 src/project/src/class.ts:1 + 1 src/project/src/directUse.ts:2 + 1 src/project/src/indirectUse.ts:2 + 1 src/project/src/noChangeFileWithEmitSpecificError.ts:1 +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated + + + + +Change:: Fix error and no emit +Input:: +//// [/src/project/src/class.ts] +export class classC { + prop = 1; +} + + + +Output:: +/lib/tsc --p src/project --noEmit +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + + +Found 1 error in src/project/src/class.ts:1 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + + + +Change:: No Change run with emit +Input:: + + +Output:: +/lib/tsc --p src/project +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + +src/project/src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~~~~~~~~~~ + + +Found 2 errors in 2 files. + +Errors Files + 1 src/project/src/class.ts:1 + 1 src/project/src/noChangeFileWithEmitSpecificError.ts:1 +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated + + +//// [/src/outFile.js] file written with same contents +//// [/src/outFile.tsbuildinfo] +{"program":{"fileNames":["../lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","impliedFormat":1}],"root":[[2,7]],"options":{"outFile":"./outFile.js"}},"version":"FakeTSVersion"} + +//// [/src/outFile.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../lib/lib.d.ts", + "./project/src/class.ts", + "./project/src/indirectclass.ts", + "./project/src/directuse.ts", + "./project/src/indirectuse.ts", + "./project/src/nochangefile.ts", + "./project/src/nochangefilewithemitspecificerror.ts" + ], + "fileInfos": { + "../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": "commonjs" + }, + "./project/src/class.ts": { + "original": { + "version": "545032748-export class classC {\n prop = 1;\n}", + "impliedFormat": 1 + }, + "version": "545032748-export class classC {\n prop = 1;\n}", + "impliedFormat": "commonjs" + }, + "./project/src/indirectclass.ts": { + "original": { + "version": "6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}", + "impliedFormat": 1 + }, + "version": "6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}", + "impliedFormat": "commonjs" + }, + "./project/src/directuse.ts": { + "original": { + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": 1 + }, + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": "commonjs" + }, + "./project/src/indirectuse.ts": { + "original": { + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": 1 + }, + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": "commonjs" + }, + "./project/src/nochangefile.ts": { + "original": { + "version": "6714567633-export function writeLog(s: string) {\n}", + "impliedFormat": 1 + }, + "version": "6714567633-export function writeLog(s: string) {\n}", + "impliedFormat": "commonjs" + }, + "./project/src/nochangefilewithemitspecificerror.ts": { + "original": { + "version": "-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}", + "impliedFormat": 1 + }, + "version": "-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 7 + ], + [ + "./project/src/class.ts", + "./project/src/indirectclass.ts", + "./project/src/directuse.ts", + "./project/src/indirectuse.ts", + "./project/src/nochangefile.ts", + "./project/src/nochangefilewithemitspecificerror.ts" + ] + ] + ], + "options": { + "outFile": "./outFile.js" + } + }, + "version": "FakeTSVersion", + "size": 1473 +} + + + +Change:: No Change run with noEmit +Input:: + + +Output:: +/lib/tsc --p src/project --noEmit +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + + +Found 1 error in src/project/src/class.ts:1 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + + + +Change:: No Change run with noEmit +Input:: + + +Output:: +/lib/tsc --p src/project --noEmit +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + + +Found 1 error in src/project/src/class.ts:1 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + + + +Change:: No Change run with emit +Input:: + + +Output:: +/lib/tsc --p src/project +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + +src/project/src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~~~~~~~~~~ + + +Found 2 errors in 2 files. + +Errors Files + 1 src/project/src/class.ts:1 + 1 src/project/src/noChangeFileWithEmitSpecificError.ts:1 +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated + + diff --git a/tests/baselines/reference/tsc/incremental/noEmit-changes-incremental.js b/tests/baselines/reference/tsc/noEmit/changes-incremental.js similarity index 94% rename from tests/baselines/reference/tsc/incremental/noEmit-changes-incremental.js rename to tests/baselines/reference/tsc/noEmit/changes-incremental.js index 6b73002c9300e..b17051e991a8a 100644 --- a/tests/baselines/reference/tsc/incremental/noEmit-changes-incremental.js +++ b/tests/baselines/reference/tsc/noEmit/changes-incremental.js @@ -123,7 +123,7 @@ function someFunc(arguments) { //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[1,2,4,3,5,6,[7,[{"file":"./src/nochangefilewithemitspecificerror.ts","start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -242,17 +242,10 @@ function someFunc(arguments) { ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", - "./src/directuse.ts", - "./src/indirectclass.ts", - "./src/indirectuse.ts", - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", @@ -265,7 +258,7 @@ function someFunc(arguments) { ] }, "version": "FakeTSVersion", - "size": 1782 + "size": 1718 } @@ -333,7 +326,7 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","signature":"-12157283604-export declare class classC {\n prop1: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[1,2,[4,[{"file":"./src/directuse.ts","start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],3,[5,[{"file":"./src/indirectuse.ts","start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],6,[7,[{"file":"./src/nochangefilewithemitspecificerror.ts","start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,4,3,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","signature":"-12157283604-export declare class classC {\n prop1: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,4,3,5]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -456,13 +449,10 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", [ "./src/directuse.ts", [ { - "file": "./src/directuse.ts", "start": 76, "length": 4, "code": 2551, @@ -481,12 +471,10 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated } ] ], - "./src/indirectclass.ts", [ "./src/indirectuse.ts", [ { - "file": "./src/indirectuse.ts", "start": 76, "length": 4, "code": 2551, @@ -505,12 +493,10 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated } ] ], - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", @@ -541,7 +527,7 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated ] }, "version": "FakeTSVersion", - "size": 2718 + "size": 2600 } @@ -573,7 +559,7 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated //// [/src/project/src/indirectClass.js] file written with same contents //// [/src/project/src/indirectUse.js] file written with same contents //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[1,2,4,3,5,6,[7,[{"file":"./src/nochangefilewithemitspecificerror.ts","start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -694,17 +680,10 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", - "./src/directuse.ts", - "./src/indirectclass.ts", - "./src/indirectuse.ts", - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", @@ -717,7 +696,7 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated ] }, "version": "FakeTSVersion", - "size": 1985 + "size": 1921 } @@ -843,7 +822,7 @@ exports.classC = classC; //// [/src/project/src/indirectClass.js] file written with same contents //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","signature":"-12157283604-export declare class classC {\n prop1: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[1,2,[4,[{"file":"./src/directuse.ts","start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],3,[5,[{"file":"./src/indirectuse.ts","start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],6,[7,[{"file":"./src/nochangefilewithemitspecificerror.ts","start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","signature":"-12157283604-export declare class classC {\n prop1: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -964,13 +943,10 @@ exports.classC = classC; ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", [ "./src/directuse.ts", [ { - "file": "./src/directuse.ts", "start": 76, "length": 4, "code": 2551, @@ -989,12 +965,10 @@ exports.classC = classC; } ] ], - "./src/indirectclass.ts", [ "./src/indirectuse.ts", [ { - "file": "./src/indirectuse.ts", "start": 76, "length": 4, "code": 2551, @@ -1013,12 +987,10 @@ exports.classC = classC; } ] ], - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", @@ -1031,7 +1003,7 @@ exports.classC = classC; ] }, "version": "FakeTSVersion", - "size": 2603 + "size": 2485 } @@ -1211,7 +1183,7 @@ exitCode:: ExitStatus.Success //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[1,2,4,3,5,6,[7,[{"file":"./src/nochangefilewithemitspecificerror.ts","start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,3]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,3]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1332,17 +1304,10 @@ exitCode:: ExitStatus.Success ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", - "./src/directuse.ts", - "./src/indirectclass.ts", - "./src/indirectuse.ts", - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", @@ -1365,7 +1330,7 @@ exitCode:: ExitStatus.Success ] }, "version": "FakeTSVersion", - "size": 2018 + "size": 1954 } @@ -1402,7 +1367,7 @@ exports.classC = classC; //// [/src/project/src/indirectClass.js] file written with same contents //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[1,2,4,3,5,6,[7,[{"file":"./src/nochangefilewithemitspecificerror.ts","start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1523,17 +1488,10 @@ exports.classC = classC; ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", - "./src/directuse.ts", - "./src/indirectclass.ts", - "./src/indirectuse.ts", - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", @@ -1546,7 +1504,7 @@ exports.classC = classC; ] }, "version": "FakeTSVersion", - "size": 1985 + "size": 1921 } diff --git a/tests/baselines/reference/tsc/incremental/noEmit-changes-with-initial-noEmit-composite-discrepancies.js b/tests/baselines/reference/tsc/noEmit/changes-with-initial-noEmit-composite-discrepancies.js similarity index 93% rename from tests/baselines/reference/tsc/incremental/noEmit-changes-with-initial-noEmit-composite-discrepancies.js rename to tests/baselines/reference/tsc/noEmit/changes-with-initial-noEmit-composite-discrepancies.js index f3534dbb06870..15992ef47b088 100644 --- a/tests/baselines/reference/tsc/incremental/noEmit-changes-with-initial-noEmit-composite-discrepancies.js +++ b/tests/baselines/reference/tsc/noEmit/changes-with-initial-noEmit-composite-discrepancies.js @@ -68,17 +68,10 @@ CleanBuild: ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", - "./src/directuse.ts", - "./src/indirectclass.ts", - "./src/indirectuse.ts", - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", @@ -166,17 +159,10 @@ IncrementalBuild: ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", - "./src/directuse.ts", - "./src/indirectclass.ts", - "./src/indirectuse.ts", - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", diff --git a/tests/baselines/reference/tsc/noEmit/changes-with-initial-noEmit-composite-outFile.js b/tests/baselines/reference/tsc/noEmit/changes-with-initial-noEmit-composite-outFile.js new file mode 100644 index 0000000000000..66433fc32268c --- /dev/null +++ b/tests/baselines/reference/tsc/noEmit/changes-with-initial-noEmit-composite-outFile.js @@ -0,0 +1,514 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Input:: +//// [/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/src/project/src/class.ts] +export class classC { + prop = 1; +} + +//// [/src/project/src/directUse.ts] +import { indirectClass } from './indirectClass'; +new indirectClass().classC.prop; + +//// [/src/project/src/indirectClass.ts] +import { classC } from './class'; +export class indirectClass { + classC = new classC(); +} + +//// [/src/project/src/indirectUse.ts] +import { indirectClass } from './indirectClass'; +new indirectClass().classC.prop; + +//// [/src/project/src/noChangeFile.ts] +export function writeLog(s: string) { +} + +//// [/src/project/src/noChangeFileWithEmitSpecificError.ts] +function someFunc(arguments: boolean, ...rest: any[]) { +} + +//// [/src/project/tsconfig.json] +{ + "compilerOptions": { + "composite": true, + "outFile": "../outFile.js" + } +} + + + +Output:: +/lib/tsc --p src/project --noEmit +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + + +Found 1 error in src/project/src/class.ts:1 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + + + +Change:: No Change run with emit +Input:: + + +Output:: +/lib/tsc --p src/project +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + +src/project/src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~~~~~~~~~~ + + +Found 2 errors in 2 files. + +Errors Files + 1 src/project/src/class.ts:1 + 1 src/project/src/noChangeFileWithEmitSpecificError.ts:1 +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated + + +//// [/src/outFile.d.ts] +declare function someFunc(arguments: boolean, ...rest: any[]): void; + + +//// [/src/outFile.js] +function someFunc(arguments) { + var rest = []; + for (var _i = 1; _i < arguments.length; _i++) { + rest[_i - 1] = arguments[_i]; + } +} + + +//// [/src/outFile.tsbuildinfo] +{"program":{"fileNames":["../lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","impliedFormat":1}],"root":[[2,7]],"options":{"composite":true,"outFile":"./outFile.js"},"outSignature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","latestChangedDtsFile":"./outFile.d.ts"},"version":"FakeTSVersion"} + +//// [/src/outFile.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../lib/lib.d.ts", + "./project/src/class.ts", + "./project/src/indirectclass.ts", + "./project/src/directuse.ts", + "./project/src/indirectuse.ts", + "./project/src/nochangefile.ts", + "./project/src/nochangefilewithemitspecificerror.ts" + ], + "fileInfos": { + "../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": "commonjs" + }, + "./project/src/class.ts": { + "original": { + "version": "545032748-export class classC {\n prop = 1;\n}", + "impliedFormat": 1 + }, + "version": "545032748-export class classC {\n prop = 1;\n}", + "impliedFormat": "commonjs" + }, + "./project/src/indirectclass.ts": { + "original": { + "version": "6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}", + "impliedFormat": 1 + }, + "version": "6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}", + "impliedFormat": "commonjs" + }, + "./project/src/directuse.ts": { + "original": { + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": 1 + }, + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": "commonjs" + }, + "./project/src/indirectuse.ts": { + "original": { + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": 1 + }, + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": "commonjs" + }, + "./project/src/nochangefile.ts": { + "original": { + "version": "6714567633-export function writeLog(s: string) {\n}", + "impliedFormat": 1 + }, + "version": "6714567633-export function writeLog(s: string) {\n}", + "impliedFormat": "commonjs" + }, + "./project/src/nochangefilewithemitspecificerror.ts": { + "original": { + "version": "-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}", + "impliedFormat": 1 + }, + "version": "-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 7 + ], + [ + "./project/src/class.ts", + "./project/src/indirectclass.ts", + "./project/src/directuse.ts", + "./project/src/indirectuse.ts", + "./project/src/nochangefile.ts", + "./project/src/nochangefilewithemitspecificerror.ts" + ] + ] + ], + "options": { + "composite": true, + "outFile": "./outFile.js" + }, + "outSignature": "-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n", + "latestChangedDtsFile": "./outFile.d.ts" + }, + "version": "FakeTSVersion", + "size": 1630 +} + + + +Change:: Introduce error with emit +Input:: +//// [/src/project/src/class.ts] +export class classC { + prop1 = 1; +} + + + +Output:: +/lib/tsc --p src/project +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + +src/project/src/directUse.ts:2:28 - error TS2551: Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'? + +2 new indirectClass().classC.prop; +   ~~~~ + + src/project/src/class.ts:2:5 + 2 prop1 = 1; +    ~~~~~ + 'prop1' is declared here. + +src/project/src/indirectUse.ts:2:28 - error TS2551: Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'? + +2 new indirectClass().classC.prop; +   ~~~~ + + src/project/src/class.ts:2:5 + 2 prop1 = 1; +    ~~~~~ + 'prop1' is declared here. + +src/project/src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~~~~~~~~~~ + + +Found 4 errors in 4 files. + +Errors Files + 1 src/project/src/class.ts:1 + 1 src/project/src/directUse.ts:2 + 1 src/project/src/indirectUse.ts:2 + 1 src/project/src/noChangeFileWithEmitSpecificError.ts:1 +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated + + +//// [/src/outFile.js] file written with same contents +//// [/src/outFile.tsbuildinfo] +{"program":{"fileNames":["../lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","impliedFormat":1},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","impliedFormat":1}],"root":[[2,7]],"options":{"composite":true,"outFile":"./outFile.js"},"outSignature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","latestChangedDtsFile":"./outFile.d.ts"},"version":"FakeTSVersion"} + +//// [/src/outFile.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../lib/lib.d.ts", + "./project/src/class.ts", + "./project/src/indirectclass.ts", + "./project/src/directuse.ts", + "./project/src/indirectuse.ts", + "./project/src/nochangefile.ts", + "./project/src/nochangefilewithemitspecificerror.ts" + ], + "fileInfos": { + "../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": "commonjs" + }, + "./project/src/class.ts": { + "original": { + "version": "1786859709-export class classC {\n prop1 = 1;\n}", + "impliedFormat": 1 + }, + "version": "1786859709-export class classC {\n prop1 = 1;\n}", + "impliedFormat": "commonjs" + }, + "./project/src/indirectclass.ts": { + "original": { + "version": "6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}", + "impliedFormat": 1 + }, + "version": "6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}", + "impliedFormat": "commonjs" + }, + "./project/src/directuse.ts": { + "original": { + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": 1 + }, + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": "commonjs" + }, + "./project/src/indirectuse.ts": { + "original": { + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": 1 + }, + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": "commonjs" + }, + "./project/src/nochangefile.ts": { + "original": { + "version": "6714567633-export function writeLog(s: string) {\n}", + "impliedFormat": 1 + }, + "version": "6714567633-export function writeLog(s: string) {\n}", + "impliedFormat": "commonjs" + }, + "./project/src/nochangefilewithemitspecificerror.ts": { + "original": { + "version": "-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}", + "impliedFormat": 1 + }, + "version": "-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 7 + ], + [ + "./project/src/class.ts", + "./project/src/indirectclass.ts", + "./project/src/directuse.ts", + "./project/src/indirectuse.ts", + "./project/src/nochangefile.ts", + "./project/src/nochangefilewithemitspecificerror.ts" + ] + ] + ], + "options": { + "composite": true, + "outFile": "./outFile.js" + }, + "outSignature": "-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n", + "latestChangedDtsFile": "./outFile.d.ts" + }, + "version": "FakeTSVersion", + "size": 1632 +} + + + +Change:: Fix error and no emit +Input:: +//// [/src/project/src/class.ts] +export class classC { + prop = 1; +} + + + +Output:: +/lib/tsc --p src/project --noEmit +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + + +Found 1 error in src/project/src/class.ts:1 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + + + +Change:: No Change run with emit +Input:: + + +Output:: +/lib/tsc --p src/project +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + +src/project/src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~~~~~~~~~~ + + +Found 2 errors in 2 files. + +Errors Files + 1 src/project/src/class.ts:1 + 1 src/project/src/noChangeFileWithEmitSpecificError.ts:1 +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated + + +//// [/src/outFile.js] file written with same contents +//// [/src/outFile.tsbuildinfo] +{"program":{"fileNames":["../lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","impliedFormat":1}],"root":[[2,7]],"options":{"composite":true,"outFile":"./outFile.js"},"outSignature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","latestChangedDtsFile":"./outFile.d.ts"},"version":"FakeTSVersion"} + +//// [/src/outFile.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../lib/lib.d.ts", + "./project/src/class.ts", + "./project/src/indirectclass.ts", + "./project/src/directuse.ts", + "./project/src/indirectuse.ts", + "./project/src/nochangefile.ts", + "./project/src/nochangefilewithemitspecificerror.ts" + ], + "fileInfos": { + "../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": "commonjs" + }, + "./project/src/class.ts": { + "original": { + "version": "545032748-export class classC {\n prop = 1;\n}", + "impliedFormat": 1 + }, + "version": "545032748-export class classC {\n prop = 1;\n}", + "impliedFormat": "commonjs" + }, + "./project/src/indirectclass.ts": { + "original": { + "version": "6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}", + "impliedFormat": 1 + }, + "version": "6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}", + "impliedFormat": "commonjs" + }, + "./project/src/directuse.ts": { + "original": { + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": 1 + }, + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": "commonjs" + }, + "./project/src/indirectuse.ts": { + "original": { + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": 1 + }, + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": "commonjs" + }, + "./project/src/nochangefile.ts": { + "original": { + "version": "6714567633-export function writeLog(s: string) {\n}", + "impliedFormat": 1 + }, + "version": "6714567633-export function writeLog(s: string) {\n}", + "impliedFormat": "commonjs" + }, + "./project/src/nochangefilewithemitspecificerror.ts": { + "original": { + "version": "-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}", + "impliedFormat": 1 + }, + "version": "-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 7 + ], + [ + "./project/src/class.ts", + "./project/src/indirectclass.ts", + "./project/src/directuse.ts", + "./project/src/indirectuse.ts", + "./project/src/nochangefile.ts", + "./project/src/nochangefilewithemitspecificerror.ts" + ] + ] + ], + "options": { + "composite": true, + "outFile": "./outFile.js" + }, + "outSignature": "-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n", + "latestChangedDtsFile": "./outFile.d.ts" + }, + "version": "FakeTSVersion", + "size": 1630 +} + diff --git a/tests/baselines/reference/tsc/incremental/noEmit-changes-with-initial-noEmit-composite.js b/tests/baselines/reference/tsc/noEmit/changes-with-initial-noEmit-composite.js similarity index 94% rename from tests/baselines/reference/tsc/incremental/noEmit-changes-with-initial-noEmit-composite.js rename to tests/baselines/reference/tsc/noEmit/changes-with-initial-noEmit-composite.js index e1ca6f6e2dace..e96a7bbe099ec 100644 --- a/tests/baselines/reference/tsc/incremental/noEmit-changes-with-initial-noEmit-composite.js +++ b/tests/baselines/reference/tsc/noEmit/changes-with-initial-noEmit-composite.js @@ -57,7 +57,7 @@ exitCode:: ExitStatus.Success //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"options":{"composite":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[1,2,4,3,5,6,[7,[{"file":"./src/nochangefilewithemitspecificerror.ts","start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,4,3,5,6,7],"emitSignatures":[2,3,4,5,6,7]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"options":{"composite":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,4,3,5,6,7],"emitSignatures":[2,3,4,5,6,7]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -179,17 +179,10 @@ exitCode:: ExitStatus.Success ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", - "./src/directuse.ts", - "./src/indirectclass.ts", - "./src/indirectuse.ts", - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", @@ -236,7 +229,7 @@ exitCode:: ExitStatus.Success ] }, "version": "FakeTSVersion", - "size": 1883 + "size": 1819 } @@ -346,7 +339,7 @@ function someFunc(arguments) { //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"options":{"composite":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[1,2,4,3,5,6,[7,[{"file":"./src/nochangefilewithemitspecificerror.ts","start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"options":{"composite":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts"},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -474,17 +467,10 @@ function someFunc(arguments) { ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", - "./src/directuse.ts", - "./src/indirectclass.ts", - "./src/indirectuse.ts", - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", @@ -498,7 +484,7 @@ function someFunc(arguments) { "latestChangedDtsFile": "./src/noChangeFileWithEmitSpecificError.d.ts" }, "version": "FakeTSVersion", - "size": 2337 + "size": 2273 } @@ -570,7 +556,7 @@ exports.classC = classC; //// [/src/project/src/indirectClass.js] file written with same contents //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","signature":"-12157283604-export declare class classC {\n prop1: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"options":{"composite":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[1,2,[4,[{"file":"./src/directuse.ts","start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],3,[5,[{"file":"./src/indirectuse.ts","start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],6,[7,[{"file":"./src/nochangefilewithemitspecificerror.ts","start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"latestChangedDtsFile":"./src/class.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","signature":"-12157283604-export declare class classC {\n prop1: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"options":{"composite":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"latestChangedDtsFile":"./src/class.d.ts"},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -698,13 +684,10 @@ exports.classC = classC; ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", [ "./src/directuse.ts", [ { - "file": "./src/directuse.ts", "start": 76, "length": 4, "code": 2551, @@ -723,12 +706,10 @@ exports.classC = classC; } ] ], - "./src/indirectclass.ts", [ "./src/indirectuse.ts", [ { - "file": "./src/indirectuse.ts", "start": 76, "length": 4, "code": 2551, @@ -747,12 +728,10 @@ exports.classC = classC; } ] ], - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", @@ -766,7 +745,7 @@ exports.classC = classC; "latestChangedDtsFile": "./src/class.d.ts" }, "version": "FakeTSVersion", - "size": 2927 + "size": 2809 } @@ -786,7 +765,7 @@ exitCode:: ExitStatus.Success //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"options":{"composite":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[1,2,4,3,5,6,[7,[{"file":"./src/nochangefilewithemitspecificerror.ts","start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,[4],3,[5]],"emitSignatures":[[2,"-12157283604-export declare class classC {\n prop1: number;\n}\n"],[4,"-3531856636-export {};\n"],[5,"-3531856636-export {};\n"]],"latestChangedDtsFile":"./src/class.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"options":{"composite":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,[4],3,[5]],"emitSignatures":[[2,"-12157283604-export declare class classC {\n prop1: number;\n}\n"],[4,"-3531856636-export {};\n"],[5,"-3531856636-export {};\n"]],"latestChangedDtsFile":"./src/class.d.ts"},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -912,17 +891,10 @@ exitCode:: ExitStatus.Success ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", - "./src/directuse.ts", - "./src/indirectclass.ts", - "./src/indirectuse.ts", - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", @@ -972,7 +944,7 @@ exitCode:: ExitStatus.Success "latestChangedDtsFile": "./src/class.d.ts" }, "version": "FakeTSVersion", - "size": 2427 + "size": 2363 } @@ -1015,7 +987,7 @@ exports.classC = classC; //// [/src/project/src/indirectClass.js] file written with same contents //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"options":{"composite":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[1,2,4,3,5,6,[7,[{"file":"./src/nochangefilewithemitspecificerror.ts","start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"latestChangedDtsFile":"./src/class.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"options":{"composite":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"latestChangedDtsFile":"./src/class.d.ts"},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1143,17 +1115,10 @@ exports.classC = classC; ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", - "./src/directuse.ts", - "./src/indirectclass.ts", - "./src/indirectuse.ts", - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", @@ -1167,6 +1132,6 @@ exports.classC = classC; "latestChangedDtsFile": "./src/class.d.ts" }, "version": "FakeTSVersion", - "size": 2309 + "size": 2245 } diff --git a/tests/baselines/reference/tsc/noEmit/changes-with-initial-noEmit-incremental-declaration-outFile.js b/tests/baselines/reference/tsc/noEmit/changes-with-initial-noEmit-incremental-declaration-outFile.js new file mode 100644 index 0000000000000..9fa1a3d6a520a --- /dev/null +++ b/tests/baselines/reference/tsc/noEmit/changes-with-initial-noEmit-incremental-declaration-outFile.js @@ -0,0 +1,511 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Input:: +//// [/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/src/project/src/class.ts] +export class classC { + prop = 1; +} + +//// [/src/project/src/directUse.ts] +import { indirectClass } from './indirectClass'; +new indirectClass().classC.prop; + +//// [/src/project/src/indirectClass.ts] +import { classC } from './class'; +export class indirectClass { + classC = new classC(); +} + +//// [/src/project/src/indirectUse.ts] +import { indirectClass } from './indirectClass'; +new indirectClass().classC.prop; + +//// [/src/project/src/noChangeFile.ts] +export function writeLog(s: string) { +} + +//// [/src/project/src/noChangeFileWithEmitSpecificError.ts] +function someFunc(arguments: boolean, ...rest: any[]) { +} + +//// [/src/project/tsconfig.json] +{ + "compilerOptions": { + "incremental": true, + "declaration": true, + "outFile": "../outFile.js" + } +} + + + +Output:: +/lib/tsc --p src/project --noEmit +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + + +Found 1 error in src/project/src/class.ts:1 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + + + +Change:: No Change run with emit +Input:: + + +Output:: +/lib/tsc --p src/project +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + +src/project/src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~~~~~~~~~~ + + +Found 2 errors in 2 files. + +Errors Files + 1 src/project/src/class.ts:1 + 1 src/project/src/noChangeFileWithEmitSpecificError.ts:1 +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated + + +//// [/src/outFile.d.ts] +declare function someFunc(arguments: boolean, ...rest: any[]): void; + + +//// [/src/outFile.js] +function someFunc(arguments) { + var rest = []; + for (var _i = 1; _i < arguments.length; _i++) { + rest[_i - 1] = arguments[_i]; + } +} + + +//// [/src/outFile.tsbuildinfo] +{"program":{"fileNames":["../lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","impliedFormat":1}],"root":[[2,7]],"options":{"declaration":true,"outFile":"./outFile.js"}},"version":"FakeTSVersion"} + +//// [/src/outFile.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../lib/lib.d.ts", + "./project/src/class.ts", + "./project/src/indirectclass.ts", + "./project/src/directuse.ts", + "./project/src/indirectuse.ts", + "./project/src/nochangefile.ts", + "./project/src/nochangefilewithemitspecificerror.ts" + ], + "fileInfos": { + "../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": "commonjs" + }, + "./project/src/class.ts": { + "original": { + "version": "545032748-export class classC {\n prop = 1;\n}", + "impliedFormat": 1 + }, + "version": "545032748-export class classC {\n prop = 1;\n}", + "impliedFormat": "commonjs" + }, + "./project/src/indirectclass.ts": { + "original": { + "version": "6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}", + "impliedFormat": 1 + }, + "version": "6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}", + "impliedFormat": "commonjs" + }, + "./project/src/directuse.ts": { + "original": { + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": 1 + }, + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": "commonjs" + }, + "./project/src/indirectuse.ts": { + "original": { + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": 1 + }, + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": "commonjs" + }, + "./project/src/nochangefile.ts": { + "original": { + "version": "6714567633-export function writeLog(s: string) {\n}", + "impliedFormat": 1 + }, + "version": "6714567633-export function writeLog(s: string) {\n}", + "impliedFormat": "commonjs" + }, + "./project/src/nochangefilewithemitspecificerror.ts": { + "original": { + "version": "-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}", + "impliedFormat": 1 + }, + "version": "-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 7 + ], + [ + "./project/src/class.ts", + "./project/src/indirectclass.ts", + "./project/src/directuse.ts", + "./project/src/indirectuse.ts", + "./project/src/nochangefile.ts", + "./project/src/nochangefilewithemitspecificerror.ts" + ] + ] + ], + "options": { + "declaration": true, + "outFile": "./outFile.js" + } + }, + "version": "FakeTSVersion", + "size": 1492 +} + + + +Change:: Introduce error with emit +Input:: +//// [/src/project/src/class.ts] +export class classC { + prop1 = 1; +} + + + +Output:: +/lib/tsc --p src/project +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + +src/project/src/directUse.ts:2:28 - error TS2551: Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'? + +2 new indirectClass().classC.prop; +   ~~~~ + + src/project/src/class.ts:2:5 + 2 prop1 = 1; +    ~~~~~ + 'prop1' is declared here. + +src/project/src/indirectUse.ts:2:28 - error TS2551: Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'? + +2 new indirectClass().classC.prop; +   ~~~~ + + src/project/src/class.ts:2:5 + 2 prop1 = 1; +    ~~~~~ + 'prop1' is declared here. + +src/project/src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~~~~~~~~~~ + + +Found 4 errors in 4 files. + +Errors Files + 1 src/project/src/class.ts:1 + 1 src/project/src/directUse.ts:2 + 1 src/project/src/indirectUse.ts:2 + 1 src/project/src/noChangeFileWithEmitSpecificError.ts:1 +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated + + +//// [/src/outFile.d.ts] file written with same contents +//// [/src/outFile.js] file written with same contents +//// [/src/outFile.tsbuildinfo] +{"program":{"fileNames":["../lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","impliedFormat":1},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","impliedFormat":1}],"root":[[2,7]],"options":{"declaration":true,"outFile":"./outFile.js"}},"version":"FakeTSVersion"} + +//// [/src/outFile.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../lib/lib.d.ts", + "./project/src/class.ts", + "./project/src/indirectclass.ts", + "./project/src/directuse.ts", + "./project/src/indirectuse.ts", + "./project/src/nochangefile.ts", + "./project/src/nochangefilewithemitspecificerror.ts" + ], + "fileInfos": { + "../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": "commonjs" + }, + "./project/src/class.ts": { + "original": { + "version": "1786859709-export class classC {\n prop1 = 1;\n}", + "impliedFormat": 1 + }, + "version": "1786859709-export class classC {\n prop1 = 1;\n}", + "impliedFormat": "commonjs" + }, + "./project/src/indirectclass.ts": { + "original": { + "version": "6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}", + "impliedFormat": 1 + }, + "version": "6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}", + "impliedFormat": "commonjs" + }, + "./project/src/directuse.ts": { + "original": { + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": 1 + }, + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": "commonjs" + }, + "./project/src/indirectuse.ts": { + "original": { + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": 1 + }, + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": "commonjs" + }, + "./project/src/nochangefile.ts": { + "original": { + "version": "6714567633-export function writeLog(s: string) {\n}", + "impliedFormat": 1 + }, + "version": "6714567633-export function writeLog(s: string) {\n}", + "impliedFormat": "commonjs" + }, + "./project/src/nochangefilewithemitspecificerror.ts": { + "original": { + "version": "-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}", + "impliedFormat": 1 + }, + "version": "-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 7 + ], + [ + "./project/src/class.ts", + "./project/src/indirectclass.ts", + "./project/src/directuse.ts", + "./project/src/indirectuse.ts", + "./project/src/nochangefile.ts", + "./project/src/nochangefilewithemitspecificerror.ts" + ] + ] + ], + "options": { + "declaration": true, + "outFile": "./outFile.js" + } + }, + "version": "FakeTSVersion", + "size": 1494 +} + + + +Change:: Fix error and no emit +Input:: +//// [/src/project/src/class.ts] +export class classC { + prop = 1; +} + + + +Output:: +/lib/tsc --p src/project --noEmit +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + + +Found 1 error in src/project/src/class.ts:1 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + + + +Change:: No Change run with emit +Input:: + + +Output:: +/lib/tsc --p src/project +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + +src/project/src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~~~~~~~~~~ + + +Found 2 errors in 2 files. + +Errors Files + 1 src/project/src/class.ts:1 + 1 src/project/src/noChangeFileWithEmitSpecificError.ts:1 +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated + + +//// [/src/outFile.d.ts] file written with same contents +//// [/src/outFile.js] file written with same contents +//// [/src/outFile.tsbuildinfo] +{"program":{"fileNames":["../lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","impliedFormat":1}],"root":[[2,7]],"options":{"declaration":true,"outFile":"./outFile.js"}},"version":"FakeTSVersion"} + +//// [/src/outFile.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../lib/lib.d.ts", + "./project/src/class.ts", + "./project/src/indirectclass.ts", + "./project/src/directuse.ts", + "./project/src/indirectuse.ts", + "./project/src/nochangefile.ts", + "./project/src/nochangefilewithemitspecificerror.ts" + ], + "fileInfos": { + "../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": "commonjs" + }, + "./project/src/class.ts": { + "original": { + "version": "545032748-export class classC {\n prop = 1;\n}", + "impliedFormat": 1 + }, + "version": "545032748-export class classC {\n prop = 1;\n}", + "impliedFormat": "commonjs" + }, + "./project/src/indirectclass.ts": { + "original": { + "version": "6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}", + "impliedFormat": 1 + }, + "version": "6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}", + "impliedFormat": "commonjs" + }, + "./project/src/directuse.ts": { + "original": { + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": 1 + }, + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": "commonjs" + }, + "./project/src/indirectuse.ts": { + "original": { + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": 1 + }, + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": "commonjs" + }, + "./project/src/nochangefile.ts": { + "original": { + "version": "6714567633-export function writeLog(s: string) {\n}", + "impliedFormat": 1 + }, + "version": "6714567633-export function writeLog(s: string) {\n}", + "impliedFormat": "commonjs" + }, + "./project/src/nochangefilewithemitspecificerror.ts": { + "original": { + "version": "-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}", + "impliedFormat": 1 + }, + "version": "-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 7 + ], + [ + "./project/src/class.ts", + "./project/src/indirectclass.ts", + "./project/src/directuse.ts", + "./project/src/indirectuse.ts", + "./project/src/nochangefile.ts", + "./project/src/nochangefilewithemitspecificerror.ts" + ] + ] + ], + "options": { + "declaration": true, + "outFile": "./outFile.js" + } + }, + "version": "FakeTSVersion", + "size": 1492 +} + diff --git a/tests/baselines/reference/tsc/incremental/noEmit-changes-with-initial-noEmit-incremental-declaration.js b/tests/baselines/reference/tsc/noEmit/changes-with-initial-noEmit-incremental-declaration.js similarity index 95% rename from tests/baselines/reference/tsc/incremental/noEmit-changes-with-initial-noEmit-incremental-declaration.js rename to tests/baselines/reference/tsc/noEmit/changes-with-initial-noEmit-incremental-declaration.js index 5cd5e6d0a3955..b1224b22b4acb 100644 --- a/tests/baselines/reference/tsc/incremental/noEmit-changes-with-initial-noEmit-incremental-declaration.js +++ b/tests/baselines/reference/tsc/noEmit/changes-with-initial-noEmit-incremental-declaration.js @@ -58,7 +58,7 @@ exitCode:: ExitStatus.Success //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[1,2,4,3,5,6,[7,[{"file":"./src/nochangefilewithemitspecificerror.ts","start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,4,3,5,6,7]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,4,3,5,6,7]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -180,17 +180,10 @@ exitCode:: ExitStatus.Success ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", - "./src/directuse.ts", - "./src/indirectclass.ts", - "./src/indirectuse.ts", - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", @@ -229,7 +222,7 @@ exitCode:: ExitStatus.Success ] }, "version": "FakeTSVersion", - "size": 1854 + "size": 1790 } @@ -339,7 +332,7 @@ function someFunc(arguments) { //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[1,2,4,3,5,6,[7,[{"file":"./src/nochangefilewithemitspecificerror.ts","start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -467,17 +460,10 @@ function someFunc(arguments) { ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", - "./src/directuse.ts", - "./src/indirectclass.ts", - "./src/indirectuse.ts", - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", @@ -490,7 +476,7 @@ function someFunc(arguments) { ] }, "version": "FakeTSVersion", - "size": 2269 + "size": 2205 } @@ -565,7 +551,7 @@ exports.classC = classC; //// [/src/project/src/indirectClass.js] file written with same contents //// [/src/project/src/indirectUse.d.ts] file written with same contents //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","signature":"-12157283604-export declare class classC {\n prop1: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[1,2,[4,[{"file":"./src/directuse.ts","start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],3,[5,[{"file":"./src/indirectuse.ts","start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],6,[7,[{"file":"./src/nochangefilewithemitspecificerror.ts","start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","signature":"-12157283604-export declare class classC {\n prop1: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -693,13 +679,10 @@ exports.classC = classC; ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", [ "./src/directuse.ts", [ { - "file": "./src/directuse.ts", "start": 76, "length": 4, "code": 2551, @@ -718,12 +701,10 @@ exports.classC = classC; } ] ], - "./src/indirectclass.ts", [ "./src/indirectuse.ts", [ { - "file": "./src/indirectuse.ts", "start": 76, "length": 4, "code": 2551, @@ -742,12 +723,10 @@ exports.classC = classC; } ] ], - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", @@ -760,7 +739,7 @@ exports.classC = classC; ] }, "version": "FakeTSVersion", - "size": 2887 + "size": 2769 } @@ -780,7 +759,7 @@ exitCode:: ExitStatus.Success //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[1,2,4,3,5,6,[7,[{"file":"./src/nochangefilewithemitspecificerror.ts","start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,[4],3,[5]]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,[4],3,[5]]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -906,17 +885,10 @@ exitCode:: ExitStatus.Success ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", - "./src/directuse.ts", - "./src/indirectclass.ts", - "./src/indirectuse.ts", - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", @@ -951,7 +923,7 @@ exitCode:: ExitStatus.Success ] }, "version": "FakeTSVersion", - "size": 2232 + "size": 2168 } @@ -997,7 +969,7 @@ exports.classC = classC; //// [/src/project/src/indirectClass.js] file written with same contents //// [/src/project/src/indirectUse.d.ts] file written with same contents //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[1,2,4,3,5,6,[7,[{"file":"./src/nochangefilewithemitspecificerror.ts","start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1125,17 +1097,10 @@ exports.classC = classC; ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", - "./src/directuse.ts", - "./src/indirectclass.ts", - "./src/indirectuse.ts", - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", @@ -1148,6 +1113,6 @@ exports.classC = classC; ] }, "version": "FakeTSVersion", - "size": 2269 + "size": 2205 } diff --git a/tests/baselines/reference/tsc/noEmit/changes-with-initial-noEmit-incremental-outFile.js b/tests/baselines/reference/tsc/noEmit/changes-with-initial-noEmit-incremental-outFile.js new file mode 100644 index 0000000000000..66f876841fbee --- /dev/null +++ b/tests/baselines/reference/tsc/noEmit/changes-with-initial-noEmit-incremental-outFile.js @@ -0,0 +1,501 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Input:: +//// [/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/src/project/src/class.ts] +export class classC { + prop = 1; +} + +//// [/src/project/src/directUse.ts] +import { indirectClass } from './indirectClass'; +new indirectClass().classC.prop; + +//// [/src/project/src/indirectClass.ts] +import { classC } from './class'; +export class indirectClass { + classC = new classC(); +} + +//// [/src/project/src/indirectUse.ts] +import { indirectClass } from './indirectClass'; +new indirectClass().classC.prop; + +//// [/src/project/src/noChangeFile.ts] +export function writeLog(s: string) { +} + +//// [/src/project/src/noChangeFileWithEmitSpecificError.ts] +function someFunc(arguments: boolean, ...rest: any[]) { +} + +//// [/src/project/tsconfig.json] +{ + "compilerOptions": { + "incremental": true, + "outFile": "../outFile.js" + } +} + + + +Output:: +/lib/tsc --p src/project --noEmit +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + + +Found 1 error in src/project/src/class.ts:1 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + + + +Change:: No Change run with emit +Input:: + + +Output:: +/lib/tsc --p src/project +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + +src/project/src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~~~~~~~~~~ + + +Found 2 errors in 2 files. + +Errors Files + 1 src/project/src/class.ts:1 + 1 src/project/src/noChangeFileWithEmitSpecificError.ts:1 +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated + + +//// [/src/outFile.js] +function someFunc(arguments) { + var rest = []; + for (var _i = 1; _i < arguments.length; _i++) { + rest[_i - 1] = arguments[_i]; + } +} + + +//// [/src/outFile.tsbuildinfo] +{"program":{"fileNames":["../lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","impliedFormat":1}],"root":[[2,7]],"options":{"outFile":"./outFile.js"}},"version":"FakeTSVersion"} + +//// [/src/outFile.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../lib/lib.d.ts", + "./project/src/class.ts", + "./project/src/indirectclass.ts", + "./project/src/directuse.ts", + "./project/src/indirectuse.ts", + "./project/src/nochangefile.ts", + "./project/src/nochangefilewithemitspecificerror.ts" + ], + "fileInfos": { + "../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": "commonjs" + }, + "./project/src/class.ts": { + "original": { + "version": "545032748-export class classC {\n prop = 1;\n}", + "impliedFormat": 1 + }, + "version": "545032748-export class classC {\n prop = 1;\n}", + "impliedFormat": "commonjs" + }, + "./project/src/indirectclass.ts": { + "original": { + "version": "6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}", + "impliedFormat": 1 + }, + "version": "6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}", + "impliedFormat": "commonjs" + }, + "./project/src/directuse.ts": { + "original": { + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": 1 + }, + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": "commonjs" + }, + "./project/src/indirectuse.ts": { + "original": { + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": 1 + }, + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": "commonjs" + }, + "./project/src/nochangefile.ts": { + "original": { + "version": "6714567633-export function writeLog(s: string) {\n}", + "impliedFormat": 1 + }, + "version": "6714567633-export function writeLog(s: string) {\n}", + "impliedFormat": "commonjs" + }, + "./project/src/nochangefilewithemitspecificerror.ts": { + "original": { + "version": "-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}", + "impliedFormat": 1 + }, + "version": "-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 7 + ], + [ + "./project/src/class.ts", + "./project/src/indirectclass.ts", + "./project/src/directuse.ts", + "./project/src/indirectuse.ts", + "./project/src/nochangefile.ts", + "./project/src/nochangefilewithemitspecificerror.ts" + ] + ] + ], + "options": { + "outFile": "./outFile.js" + } + }, + "version": "FakeTSVersion", + "size": 1473 +} + + + +Change:: Introduce error with emit +Input:: +//// [/src/project/src/class.ts] +export class classC { + prop1 = 1; +} + + + +Output:: +/lib/tsc --p src/project +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + +src/project/src/directUse.ts:2:28 - error TS2551: Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'? + +2 new indirectClass().classC.prop; +   ~~~~ + + src/project/src/class.ts:2:5 + 2 prop1 = 1; +    ~~~~~ + 'prop1' is declared here. + +src/project/src/indirectUse.ts:2:28 - error TS2551: Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'? + +2 new indirectClass().classC.prop; +   ~~~~ + + src/project/src/class.ts:2:5 + 2 prop1 = 1; +    ~~~~~ + 'prop1' is declared here. + +src/project/src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~~~~~~~~~~ + + +Found 4 errors in 4 files. + +Errors Files + 1 src/project/src/class.ts:1 + 1 src/project/src/directUse.ts:2 + 1 src/project/src/indirectUse.ts:2 + 1 src/project/src/noChangeFileWithEmitSpecificError.ts:1 +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated + + +//// [/src/outFile.js] file written with same contents +//// [/src/outFile.tsbuildinfo] +{"program":{"fileNames":["../lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","impliedFormat":1},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","impliedFormat":1}],"root":[[2,7]],"options":{"outFile":"./outFile.js"}},"version":"FakeTSVersion"} + +//// [/src/outFile.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../lib/lib.d.ts", + "./project/src/class.ts", + "./project/src/indirectclass.ts", + "./project/src/directuse.ts", + "./project/src/indirectuse.ts", + "./project/src/nochangefile.ts", + "./project/src/nochangefilewithemitspecificerror.ts" + ], + "fileInfos": { + "../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": "commonjs" + }, + "./project/src/class.ts": { + "original": { + "version": "1786859709-export class classC {\n prop1 = 1;\n}", + "impliedFormat": 1 + }, + "version": "1786859709-export class classC {\n prop1 = 1;\n}", + "impliedFormat": "commonjs" + }, + "./project/src/indirectclass.ts": { + "original": { + "version": "6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}", + "impliedFormat": 1 + }, + "version": "6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}", + "impliedFormat": "commonjs" + }, + "./project/src/directuse.ts": { + "original": { + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": 1 + }, + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": "commonjs" + }, + "./project/src/indirectuse.ts": { + "original": { + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": 1 + }, + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": "commonjs" + }, + "./project/src/nochangefile.ts": { + "original": { + "version": "6714567633-export function writeLog(s: string) {\n}", + "impliedFormat": 1 + }, + "version": "6714567633-export function writeLog(s: string) {\n}", + "impliedFormat": "commonjs" + }, + "./project/src/nochangefilewithemitspecificerror.ts": { + "original": { + "version": "-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}", + "impliedFormat": 1 + }, + "version": "-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 7 + ], + [ + "./project/src/class.ts", + "./project/src/indirectclass.ts", + "./project/src/directuse.ts", + "./project/src/indirectuse.ts", + "./project/src/nochangefile.ts", + "./project/src/nochangefilewithemitspecificerror.ts" + ] + ] + ], + "options": { + "outFile": "./outFile.js" + } + }, + "version": "FakeTSVersion", + "size": 1475 +} + + + +Change:: Fix error and no emit +Input:: +//// [/src/project/src/class.ts] +export class classC { + prop = 1; +} + + + +Output:: +/lib/tsc --p src/project --noEmit +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + + +Found 1 error in src/project/src/class.ts:1 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + + + +Change:: No Change run with emit +Input:: + + +Output:: +/lib/tsc --p src/project +src/project/src/class.ts:1:14 - error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. + +1 export class classC { +   ~~~~~~ + +src/project/src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~~~~~~~~~~ + + +Found 2 errors in 2 files. + +Errors Files + 1 src/project/src/class.ts:1 + 1 src/project/src/noChangeFileWithEmitSpecificError.ts:1 +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated + + +//// [/src/outFile.js] file written with same contents +//// [/src/outFile.tsbuildinfo] +{"program":{"fileNames":["../lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","impliedFormat":1}],"root":[[2,7]],"options":{"outFile":"./outFile.js"}},"version":"FakeTSVersion"} + +//// [/src/outFile.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../lib/lib.d.ts", + "./project/src/class.ts", + "./project/src/indirectclass.ts", + "./project/src/directuse.ts", + "./project/src/indirectuse.ts", + "./project/src/nochangefile.ts", + "./project/src/nochangefilewithemitspecificerror.ts" + ], + "fileInfos": { + "../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": "commonjs" + }, + "./project/src/class.ts": { + "original": { + "version": "545032748-export class classC {\n prop = 1;\n}", + "impliedFormat": 1 + }, + "version": "545032748-export class classC {\n prop = 1;\n}", + "impliedFormat": "commonjs" + }, + "./project/src/indirectclass.ts": { + "original": { + "version": "6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}", + "impliedFormat": 1 + }, + "version": "6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}", + "impliedFormat": "commonjs" + }, + "./project/src/directuse.ts": { + "original": { + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": 1 + }, + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": "commonjs" + }, + "./project/src/indirectuse.ts": { + "original": { + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": 1 + }, + "version": "-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;", + "impliedFormat": "commonjs" + }, + "./project/src/nochangefile.ts": { + "original": { + "version": "6714567633-export function writeLog(s: string) {\n}", + "impliedFormat": 1 + }, + "version": "6714567633-export function writeLog(s: string) {\n}", + "impliedFormat": "commonjs" + }, + "./project/src/nochangefilewithemitspecificerror.ts": { + "original": { + "version": "-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}", + "impliedFormat": 1 + }, + "version": "-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 7 + ], + [ + "./project/src/class.ts", + "./project/src/indirectclass.ts", + "./project/src/directuse.ts", + "./project/src/indirectuse.ts", + "./project/src/nochangefile.ts", + "./project/src/nochangefilewithemitspecificerror.ts" + ] + ] + ], + "options": { + "outFile": "./outFile.js" + } + }, + "version": "FakeTSVersion", + "size": 1473 +} + diff --git a/tests/baselines/reference/tsc/incremental/noEmit-changes-with-initial-noEmit-incremental.js b/tests/baselines/reference/tsc/noEmit/changes-with-initial-noEmit-incremental.js similarity index 94% rename from tests/baselines/reference/tsc/incremental/noEmit-changes-with-initial-noEmit-incremental.js rename to tests/baselines/reference/tsc/noEmit/changes-with-initial-noEmit-incremental.js index aad0f454e1848..0737ac54f12f2 100644 --- a/tests/baselines/reference/tsc/incremental/noEmit-changes-with-initial-noEmit-incremental.js +++ b/tests/baselines/reference/tsc/noEmit/changes-with-initial-noEmit-incremental.js @@ -57,7 +57,7 @@ exitCode:: ExitStatus.Success //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[1,2,4,3,5,6,[7,[{"file":"./src/nochangefilewithemitspecificerror.ts","start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,4,3,5,6,7]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,4,3,5,6,7]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -176,17 +176,10 @@ exitCode:: ExitStatus.Success ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", - "./src/directuse.ts", - "./src/indirectclass.ts", - "./src/indirectuse.ts", - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", @@ -225,7 +218,7 @@ exitCode:: ExitStatus.Success ] }, "version": "FakeTSVersion", - "size": 1823 + "size": 1759 } @@ -306,7 +299,7 @@ function someFunc(arguments) { //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[1,2,4,3,5,6,[7,[{"file":"./src/nochangefilewithemitspecificerror.ts","start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -425,17 +418,10 @@ function someFunc(arguments) { ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", - "./src/directuse.ts", - "./src/indirectclass.ts", - "./src/indirectuse.ts", - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", @@ -448,7 +434,7 @@ function someFunc(arguments) { ] }, "version": "FakeTSVersion", - "size": 1782 + "size": 1718 } @@ -516,7 +502,7 @@ exports.classC = classC; //// [/src/project/src/indirectClass.js] file written with same contents //// [/src/project/src/indirectUse.js] file written with same contents //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","signature":"-12157283604-export declare class classC {\n prop1: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[1,2,[4,[{"file":"./src/directuse.ts","start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],3,[5,[{"file":"./src/indirectuse.ts","start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],6,[7,[{"file":"./src/nochangefilewithemitspecificerror.ts","start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","signature":"-12157283604-export declare class classC {\n prop1: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -639,13 +625,10 @@ exports.classC = classC; ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", [ "./src/directuse.ts", [ { - "file": "./src/directuse.ts", "start": 76, "length": 4, "code": 2551, @@ -664,12 +647,10 @@ exports.classC = classC; } ] ], - "./src/indirectclass.ts", [ "./src/indirectuse.ts", [ { - "file": "./src/indirectuse.ts", "start": 76, "length": 4, "code": 2551, @@ -688,12 +669,10 @@ exports.classC = classC; } ] ], - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", @@ -706,7 +685,7 @@ exports.classC = classC; ] }, "version": "FakeTSVersion", - "size": 2681 + "size": 2563 } @@ -726,7 +705,7 @@ exitCode:: ExitStatus.Success //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[1,2,4,3,5,6,[7,[{"file":"./src/nochangefilewithemitspecificerror.ts","start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,3]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,3]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -847,17 +826,10 @@ exitCode:: ExitStatus.Success ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", - "./src/directuse.ts", - "./src/indirectclass.ts", - "./src/indirectuse.ts", - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", @@ -880,7 +852,7 @@ exitCode:: ExitStatus.Success ] }, "version": "FakeTSVersion", - "size": 2018 + "size": 1954 } @@ -917,7 +889,7 @@ exports.classC = classC; //// [/src/project/src/indirectClass.js] file written with same contents //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[1,2,4,3,5,6,[7,[{"file":"./src/nochangefilewithemitspecificerror.ts","start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n","impliedFormat":1},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","impliedFormat":1},{"version":"6714567633-export function writeLog(s: string) {\n}","impliedFormat":1},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,7]],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1038,17 +1010,10 @@ exports.classC = classC; ] }, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./src/class.ts", - "./src/directuse.ts", - "./src/indirectclass.ts", - "./src/indirectuse.ts", - "./src/nochangefile.ts", [ "./src/nochangefilewithemitspecificerror.ts", [ { - "file": "./src/nochangefilewithemitspecificerror.ts", "start": 18, "length": 18, "messageText": "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.", @@ -1061,6 +1026,6 @@ exports.classC = classC; ] }, "version": "FakeTSVersion", - "size": 1985 + "size": 1921 } diff --git a/tests/baselines/reference/tsc/incremental/when-project-has-strict-true.js b/tests/baselines/reference/tsc/noEmit/when-project-has-strict-true.js similarity index 94% rename from tests/baselines/reference/tsc/incremental/when-project-has-strict-true.js rename to tests/baselines/reference/tsc/noEmit/when-project-has-strict-true.js index 6c368bc3f8f41..4caf393808ccd 100644 --- a/tests/baselines/reference/tsc/incremental/when-project-has-strict-true.js +++ b/tests/baselines/reference/tsc/noEmit/when-project-has-strict-true.js @@ -56,7 +56,7 @@ Shape signatures in builder refreshed for:: //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./class1.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7660182596-export class class1 {}","impliedFormat":1}],"root":[2],"options":{"strict":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"affectedFilesPendingEmit":[2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./class1.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7660182596-export class class1 {}","impliedFormat":1}],"root":[2],"options":{"strict":true},"affectedFilesPendingEmit":[2]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -96,11 +96,6 @@ Shape signatures in builder refreshed for:: "options": { "strict": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./class1.ts" - ], "affectedFilesPendingEmit": [ [ "./class1.ts", @@ -109,7 +104,7 @@ Shape signatures in builder refreshed for:: ] }, "version": "FakeTSVersion", - "size": 788 + "size": 734 } diff --git a/tests/baselines/reference/tsc/noEmitOnError/file-deleted-before-fixing-error-with-noEmitOnError-with-outFile.js b/tests/baselines/reference/tsc/noEmitOnError/file-deleted-before-fixing-error-with-noEmitOnError-with-outFile.js new file mode 100644 index 0000000000000..f65fb54632975 --- /dev/null +++ b/tests/baselines/reference/tsc/noEmitOnError/file-deleted-before-fixing-error-with-noEmitOnError-with-outFile.js @@ -0,0 +1,107 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Input:: +//// [/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/src/project/file1.ts] +export const x: 30 = "hello"; + +//// [/src/project/file2.ts] +export class D { } + +//// [/src/project/tsconfig.json] +{ + "compilerOptions": { + "outFile": "../outFile.js", + "module": "amd", + "noEmitOnError": true + } +} + + + +Output:: +/lib/tsc --p /src/project -i +src/project/file1.ts:1:14 - error TS2322: Type '"hello"' is not assignable to type '30'. + +1 export const x: 30 = "hello"; +   ~ + + +Found 1 error in src/project/file1.ts:1 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/src/project/file1.ts", + "/src/project/file2.ts" +] +Program options: { + "outFile": "/src/outFile.js", + "module": 2, + "noEmitOnError": true, + "project": "/src/project", + "incremental": true, + "configFilePath": "/src/project/tsconfig.json" +} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/project/file1.ts +/src/project/file2.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: delete file without error +Input:: +//// [/src/project/file2.ts] unlink + + +Output:: +/lib/tsc --p /src/project -i +src/project/file1.ts:1:14 - error TS2322: Type '"hello"' is not assignable to type '30'. + +1 export const x: 30 = "hello"; +   ~ + + +Found 1 error in src/project/file1.ts:1 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/src/project/file1.ts" +] +Program options: { + "outFile": "/src/outFile.js", + "module": 2, + "noEmitOnError": true, + "project": "/src/project", + "incremental": true, + "configFilePath": "/src/project/tsconfig.json" +} +Program structureReused: Not +Program files:: +/lib/lib.d.ts +/src/project/file1.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + diff --git a/tests/baselines/reference/tsc/incremental/file-deleted-before-fixing-error-with-noEmitOnError.js b/tests/baselines/reference/tsc/noEmitOnError/file-deleted-before-fixing-error-with-noEmitOnError.js similarity index 92% rename from tests/baselines/reference/tsc/incremental/file-deleted-before-fixing-error-with-noEmitOnError.js rename to tests/baselines/reference/tsc/noEmitOnError/file-deleted-before-fixing-error-with-noEmitOnError.js index 3b6867d92b4c8..adc2b3b951914 100644 --- a/tests/baselines/reference/tsc/incremental/file-deleted-before-fixing-error-with-noEmitOnError.js +++ b/tests/baselines/reference/tsc/noEmitOnError/file-deleted-before-fixing-error-with-noEmitOnError.js @@ -71,7 +71,7 @@ Shape signatures in builder refreshed for:: //// [/src/project/outDir/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../lib/lib.d.ts","../file1.ts","../file2.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10927263693-export const x: 30 = \"hello\";","impliedFormat":1},{"version":"-7804761415-export class D { }","impliedFormat":1}],"root":[2,3],"options":{"noEmitOnError":true,"outDir":"./"},"referencedMap":[],"semanticDiagnosticsPerFile":[1,[2,[{"file":"../file1.ts","start":13,"length":1,"code":2322,"category":1,"messageText":"Type '\"hello\"' is not assignable to type '30'."}]],3],"affectedFilesPendingEmit":[2,3]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../lib/lib.d.ts","../file1.ts","../file2.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10927263693-export const x: 30 = \"hello\";","impliedFormat":1},{"version":"-7804761415-export class D { }","impliedFormat":1}],"root":[2,3],"options":{"noEmitOnError":true,"outDir":"./"},"semanticDiagnosticsPerFile":[[2,[{"start":13,"length":1,"code":2322,"category":1,"messageText":"Type '\"hello\"' is not assignable to type '30'."}]]],"affectedFilesPendingEmit":[2,3]},"version":"FakeTSVersion"} //// [/src/project/outDir/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -126,14 +126,11 @@ Shape signatures in builder refreshed for:: "noEmitOnError": true, "outDir": "./" }, - "referencedMap": {}, "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", [ "../file1.ts", [ { - "file": "../file1.ts", "start": 13, "length": 1, "code": 2322, @@ -141,8 +138,7 @@ Shape signatures in builder refreshed for:: "messageText": "Type '\"hello\"' is not assignable to type '30'." } ] - ], - "../file2.ts" + ] ], "affectedFilesPendingEmit": [ [ @@ -156,7 +152,7 @@ Shape signatures in builder refreshed for:: ] }, "version": "FakeTSVersion", - "size": 1044 + "size": 1000 } @@ -198,7 +194,7 @@ No shapes updated in the builder:: //// [/src/project/outDir/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../lib/lib.d.ts","../file1.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10927263693-export const x: 30 = \"hello\";","impliedFormat":1}],"root":[2],"options":{"noEmitOnError":true,"outDir":"./"},"referencedMap":[],"semanticDiagnosticsPerFile":[1,[2,[{"file":"../file1.ts","start":13,"length":1,"code":2322,"category":1,"messageText":"Type '\"hello\"' is not assignable to type '30'."}]]],"affectedFilesPendingEmit":[2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../lib/lib.d.ts","../file1.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10927263693-export const x: 30 = \"hello\";","impliedFormat":1}],"root":[2],"options":{"noEmitOnError":true,"outDir":"./"},"semanticDiagnosticsPerFile":[[2,[{"start":13,"length":1,"code":2322,"category":1,"messageText":"Type '\"hello\"' is not assignable to type '30'."}]]],"affectedFilesPendingEmit":[2]},"version":"FakeTSVersion"} //// [/src/project/outDir/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -239,14 +235,11 @@ No shapes updated in the builder:: "noEmitOnError": true, "outDir": "./" }, - "referencedMap": {}, "semanticDiagnosticsPerFile": [ - "../../../lib/lib.d.ts", [ "../file1.ts", [ { - "file": "../file1.ts", "start": 13, "length": 1, "code": 2322, @@ -264,6 +257,6 @@ No shapes updated in the builder:: ] }, "version": "FakeTSVersion", - "size": 961 + "size": 919 } diff --git a/tests/baselines/reference/tsc/noEmitOnError/semantic-errors-outFile-with-declaration-with-incremental.js b/tests/baselines/reference/tsc/noEmitOnError/semantic-errors-outFile-with-declaration-with-incremental.js new file mode 100644 index 0000000000000..fdc4e3278824e --- /dev/null +++ b/tests/baselines/reference/tsc/noEmitOnError/semantic-errors-outFile-with-declaration-with-incremental.js @@ -0,0 +1,294 @@ +currentDirectory:: /user/username/projects/noEmitOnError useCaseSensitiveFileNames: false +Input:: +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/user/username/projects/noEmitOnError/shared/types/db.ts] +export interface A { + name: string; +} + + +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a: string = 10; + +//// [/user/username/projects/noEmitOnError/src/other.ts] +console.log("hi"); +export { } + + +//// [/user/username/projects/noEmitOnError/tsconfig.json] +{ + "compilerOptions": { + "outFile": "../dev-build.js", + "module": "amd", + "declaration": true, + "incremental": true, + "noEmitOnError": true + } +} + + + +Output:: +/a/lib/tsc +src/main.ts:2:7 - error TS2322: Type 'number' is not assignable to type 'string'. + +2 const a: string = 10; +   ~ + + +Found 1 error in src/main.ts:2 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "declaration": true, + "incremental": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: no-change-run +Input:: + + +Output:: +/a/lib/tsc +src/main.ts:2:7 - error TS2322: Type 'number' is not assignable to type 'string'. + +2 const a: string = 10; +   ~ + + +Found 1 error in src/main.ts:2 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "declaration": true, + "incremental": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: incremental-declaration-doesnt-change +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a: string = "hello"; + + + +Output:: +/a/lib/tsc +exitCode:: ExitStatus.Success +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "declaration": true, + "incremental": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + +//// [/user/username/projects/dev-build.d.ts] +declare module "shared/types/db" { + export interface A { + name: string; + } +} +declare module "src/main" { } +declare module "src/other" { + export {}; +} + + +//// [/user/username/projects/dev-build.js] +define("shared/types/db", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +}); +define("src/main", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var a = "hello"; +}); +define("src/other", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + console.log("hi"); +}); + + +//// [/user/username/projects/dev-build.tsbuildinfo] +{"program":{"fileNames":["../../../a/lib/lib.d.ts","./noemitonerror/shared/types/db.ts","./noemitonerror/src/main.ts","./noemitonerror/src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-8373351622-import { A } from \"../shared/types/db\";\nconst a: string = \"hello\";","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true,"module":2,"noEmitOnError":true,"outFile":"./dev-build.js"}},"version":"FakeTSVersion"} + +//// [/user/username/projects/dev-build.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../a/lib/lib.d.ts", + "./noemitonerror/shared/types/db.ts", + "./noemitonerror/src/main.ts", + "./noemitonerror/src/other.ts" + ], + "fileInfos": { + "../../../a/lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": "commonjs" + }, + "./noemitonerror/shared/types/db.ts": { + "original": { + "version": "-5014788164-export interface A {\n name: string;\n}\n", + "impliedFormat": 1 + }, + "version": "-5014788164-export interface A {\n name: string;\n}\n", + "impliedFormat": "commonjs" + }, + "./noemitonerror/src/main.ts": { + "original": { + "version": "-8373351622-import { A } from \"../shared/types/db\";\nconst a: string = \"hello\";", + "impliedFormat": 1 + }, + "version": "-8373351622-import { A } from \"../shared/types/db\";\nconst a: string = \"hello\";", + "impliedFormat": "commonjs" + }, + "./noemitonerror/src/other.ts": { + "original": { + "version": "9084524823-console.log(\"hi\");\nexport { }\n", + "impliedFormat": 1 + }, + "version": "9084524823-console.log(\"hi\");\nexport { }\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 4 + ], + [ + "./noemitonerror/shared/types/db.ts", + "./noemitonerror/src/main.ts", + "./noemitonerror/src/other.ts" + ] + ] + ], + "options": { + "declaration": true, + "module": 2, + "noEmitOnError": true, + "outFile": "./dev-build.js" + } + }, + "version": "FakeTSVersion", + "size": 1050 +} + + + +Change:: no-change-run +Input:: + + +Output:: +/a/lib/tsc +exitCode:: ExitStatus.Success +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "declaration": true, + "incremental": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + diff --git a/tests/baselines/reference/tsc/noEmitOnError/semantic-errors-outFile-with-declaration.js b/tests/baselines/reference/tsc/noEmitOnError/semantic-errors-outFile-with-declaration.js new file mode 100644 index 0000000000000..66c311cfecd4c --- /dev/null +++ b/tests/baselines/reference/tsc/noEmitOnError/semantic-errors-outFile-with-declaration.js @@ -0,0 +1,205 @@ +currentDirectory:: /user/username/projects/noEmitOnError useCaseSensitiveFileNames: false +Input:: +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/user/username/projects/noEmitOnError/shared/types/db.ts] +export interface A { + name: string; +} + + +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a: string = 10; + +//// [/user/username/projects/noEmitOnError/src/other.ts] +console.log("hi"); +export { } + + +//// [/user/username/projects/noEmitOnError/tsconfig.json] +{ + "compilerOptions": { + "outFile": "../dev-build.js", + "module": "amd", + "declaration": true, + "noEmitOnError": true + } +} + + + +Output:: +/a/lib/tsc +src/main.ts:2:7 - error TS2322: Type 'number' is not assignable to type 'string'. + +2 const a: string = 10; +   ~ + + +Found 1 error in src/main.ts:2 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "declaration": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + + + + +Change:: no-change-run +Input:: + + +Output:: +/a/lib/tsc +src/main.ts:2:7 - error TS2322: Type 'number' is not assignable to type 'string'. + +2 const a: string = 10; +   ~ + + +Found 1 error in src/main.ts:2 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "declaration": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + + + + +Change:: incremental-declaration-doesnt-change +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a: string = "hello"; + + + +Output:: +/a/lib/tsc +exitCode:: ExitStatus.Success +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "declaration": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + + +//// [/user/username/projects/dev-build.d.ts] +declare module "shared/types/db" { + export interface A { + name: string; + } +} +declare module "src/main" { } +declare module "src/other" { + export {}; +} + + +//// [/user/username/projects/dev-build.js] +define("shared/types/db", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +}); +define("src/main", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var a = "hello"; +}); +define("src/other", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + console.log("hi"); +}); + + + + +Change:: no-change-run +Input:: + + +Output:: +/a/lib/tsc +exitCode:: ExitStatus.Success +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "declaration": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + + +//// [/user/username/projects/dev-build.d.ts] file written with same contents +//// [/user/username/projects/dev-build.js] file written with same contents diff --git a/tests/baselines/reference/tsc/noEmitOnError/semantic-errors-outFile-with-incremental.js b/tests/baselines/reference/tsc/noEmitOnError/semantic-errors-outFile-with-incremental.js new file mode 100644 index 0000000000000..3d43d6f78553b --- /dev/null +++ b/tests/baselines/reference/tsc/noEmitOnError/semantic-errors-outFile-with-incremental.js @@ -0,0 +1,276 @@ +currentDirectory:: /user/username/projects/noEmitOnError useCaseSensitiveFileNames: false +Input:: +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/user/username/projects/noEmitOnError/shared/types/db.ts] +export interface A { + name: string; +} + + +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a: string = 10; + +//// [/user/username/projects/noEmitOnError/src/other.ts] +console.log("hi"); +export { } + + +//// [/user/username/projects/noEmitOnError/tsconfig.json] +{ + "compilerOptions": { + "outFile": "../dev-build.js", + "module": "amd", + "incremental": true, + "noEmitOnError": true + } +} + + + +Output:: +/a/lib/tsc +src/main.ts:2:7 - error TS2322: Type 'number' is not assignable to type 'string'. + +2 const a: string = 10; +   ~ + + +Found 1 error in src/main.ts:2 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "incremental": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: no-change-run +Input:: + + +Output:: +/a/lib/tsc +src/main.ts:2:7 - error TS2322: Type 'number' is not assignable to type 'string'. + +2 const a: string = 10; +   ~ + + +Found 1 error in src/main.ts:2 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "incremental": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: incremental-declaration-doesnt-change +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a: string = "hello"; + + + +Output:: +/a/lib/tsc +exitCode:: ExitStatus.Success +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "incremental": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + +//// [/user/username/projects/dev-build.js] +define("shared/types/db", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +}); +define("src/main", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var a = "hello"; +}); +define("src/other", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + console.log("hi"); +}); + + +//// [/user/username/projects/dev-build.tsbuildinfo] +{"program":{"fileNames":["../../../a/lib/lib.d.ts","./noemitonerror/shared/types/db.ts","./noemitonerror/src/main.ts","./noemitonerror/src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-8373351622-import { A } from \"../shared/types/db\";\nconst a: string = \"hello\";","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","impliedFormat":1}],"root":[[2,4]],"options":{"module":2,"noEmitOnError":true,"outFile":"./dev-build.js"}},"version":"FakeTSVersion"} + +//// [/user/username/projects/dev-build.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../a/lib/lib.d.ts", + "./noemitonerror/shared/types/db.ts", + "./noemitonerror/src/main.ts", + "./noemitonerror/src/other.ts" + ], + "fileInfos": { + "../../../a/lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": "commonjs" + }, + "./noemitonerror/shared/types/db.ts": { + "original": { + "version": "-5014788164-export interface A {\n name: string;\n}\n", + "impliedFormat": 1 + }, + "version": "-5014788164-export interface A {\n name: string;\n}\n", + "impliedFormat": "commonjs" + }, + "./noemitonerror/src/main.ts": { + "original": { + "version": "-8373351622-import { A } from \"../shared/types/db\";\nconst a: string = \"hello\";", + "impliedFormat": 1 + }, + "version": "-8373351622-import { A } from \"../shared/types/db\";\nconst a: string = \"hello\";", + "impliedFormat": "commonjs" + }, + "./noemitonerror/src/other.ts": { + "original": { + "version": "9084524823-console.log(\"hi\");\nexport { }\n", + "impliedFormat": 1 + }, + "version": "9084524823-console.log(\"hi\");\nexport { }\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 4 + ], + [ + "./noemitonerror/shared/types/db.ts", + "./noemitonerror/src/main.ts", + "./noemitonerror/src/other.ts" + ] + ] + ], + "options": { + "module": 2, + "noEmitOnError": true, + "outFile": "./dev-build.js" + } + }, + "version": "FakeTSVersion", + "size": 1031 +} + + + +Change:: no-change-run +Input:: + + +Output:: +/a/lib/tsc +exitCode:: ExitStatus.Success +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "incremental": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + diff --git a/tests/baselines/reference/tsc/noEmitOnError/semantic-errors-outFile.js b/tests/baselines/reference/tsc/noEmitOnError/semantic-errors-outFile.js new file mode 100644 index 0000000000000..489e348d0140d --- /dev/null +++ b/tests/baselines/reference/tsc/noEmitOnError/semantic-errors-outFile.js @@ -0,0 +1,187 @@ +currentDirectory:: /user/username/projects/noEmitOnError useCaseSensitiveFileNames: false +Input:: +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/user/username/projects/noEmitOnError/shared/types/db.ts] +export interface A { + name: string; +} + + +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a: string = 10; + +//// [/user/username/projects/noEmitOnError/src/other.ts] +console.log("hi"); +export { } + + +//// [/user/username/projects/noEmitOnError/tsconfig.json] +{ + "compilerOptions": { + "outFile": "../dev-build.js", + "module": "amd", + "noEmitOnError": true + } +} + + + +Output:: +/a/lib/tsc +src/main.ts:2:7 - error TS2322: Type 'number' is not assignable to type 'string'. + +2 const a: string = 10; +   ~ + + +Found 1 error in src/main.ts:2 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + + + + +Change:: no-change-run +Input:: + + +Output:: +/a/lib/tsc +src/main.ts:2:7 - error TS2322: Type 'number' is not assignable to type 'string'. + +2 const a: string = 10; +   ~ + + +Found 1 error in src/main.ts:2 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + + + + +Change:: incremental-declaration-doesnt-change +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a: string = "hello"; + + + +Output:: +/a/lib/tsc +exitCode:: ExitStatus.Success +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + + +//// [/user/username/projects/dev-build.js] +define("shared/types/db", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +}); +define("src/main", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var a = "hello"; +}); +define("src/other", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + console.log("hi"); +}); + + + + +Change:: no-change-run +Input:: + + +Output:: +/a/lib/tsc +exitCode:: ExitStatus.Success +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + + +//// [/user/username/projects/dev-build.js] file written with same contents diff --git a/tests/baselines/reference/tsc/noEmitOnError/semantic-errors-with-declaration-with-incremental.js b/tests/baselines/reference/tsc/noEmitOnError/semantic-errors-with-declaration-with-incremental.js new file mode 100644 index 0000000000000..f1990a03618c8 --- /dev/null +++ b/tests/baselines/reference/tsc/noEmitOnError/semantic-errors-with-declaration-with-incremental.js @@ -0,0 +1,431 @@ +currentDirectory:: /user/username/projects/noEmitOnError useCaseSensitiveFileNames: false +Input:: +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/user/username/projects/noEmitOnError/shared/types/db.ts] +export interface A { + name: string; +} + + +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a: string = 10; + +//// [/user/username/projects/noEmitOnError/src/other.ts] +console.log("hi"); +export { } + + +//// [/user/username/projects/noEmitOnError/tsconfig.json] +{ + "compilerOptions": { + "outDir": "./dev-build", + "declaration": true, + "incremental": true, + "noEmitOnError": true + } +} + + + +Output:: +/a/lib/tsc +src/main.ts:2:7 - error TS2322: Type 'number' is not assignable to type 'string'. + +2 const a: string = 10; +   ~ + + +Found 1 error in src/main.ts:2 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outDir": "/user/username/projects/noEmitOnError/dev-build", + "declaration": true, + "incremental": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +Semantic diagnostics in builder refreshed for:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +Shape signatures in builder refreshed for:: +/a/lib/lib.d.ts (used version) +/user/username/projects/noemitonerror/shared/types/db.ts (used version) +/user/username/projects/noemitonerror/src/main.ts (used version) +/user/username/projects/noemitonerror/src/other.ts (used version) + + +//// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo] +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-11111345725-import { A } from \"../shared/types/db\";\nconst a: string = 10;","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true,"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[[3,[{"start":46,"length":1,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'string'."}]]],"affectedFilesPendingEmit":[2,3,4]},"version":"FakeTSVersion"} + +//// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../../../a/lib/lib.d.ts", + "../shared/types/db.ts", + "../src/main.ts", + "../src/other.ts" + ], + "fileNamesList": [ + [ + "../shared/types/db.ts" + ] + ], + "fileInfos": { + "../../../../../a/lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "../shared/types/db.ts": { + "original": { + "version": "-5014788164-export interface A {\n name: string;\n}\n", + "impliedFormat": 1 + }, + "version": "-5014788164-export interface A {\n name: string;\n}\n", + "signature": "-5014788164-export interface A {\n name: string;\n}\n", + "impliedFormat": "commonjs" + }, + "../src/main.ts": { + "original": { + "version": "-11111345725-import { A } from \"../shared/types/db\";\nconst a: string = 10;", + "impliedFormat": 1 + }, + "version": "-11111345725-import { A } from \"../shared/types/db\";\nconst a: string = 10;", + "signature": "-11111345725-import { A } from \"../shared/types/db\";\nconst a: string = 10;", + "impliedFormat": "commonjs" + }, + "../src/other.ts": { + "original": { + "version": "9084524823-console.log(\"hi\");\nexport { }\n", + "impliedFormat": 1 + }, + "version": "9084524823-console.log(\"hi\");\nexport { }\n", + "signature": "9084524823-console.log(\"hi\");\nexport { }\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 4 + ], + [ + "../shared/types/db.ts", + "../src/main.ts", + "../src/other.ts" + ] + ] + ], + "options": { + "declaration": true, + "noEmitOnError": true, + "outDir": "./" + }, + "referencedMap": { + "../src/main.ts": [ + "../shared/types/db.ts" + ] + }, + "semanticDiagnosticsPerFile": [ + [ + "../src/main.ts", + [ + { + "start": 46, + "length": 1, + "code": 2322, + "category": 1, + "messageText": "Type 'number' is not assignable to type 'string'." + } + ] + ] + ], + "affectedFilesPendingEmit": [ + [ + "../shared/types/db.ts", + "Js | Dts" + ], + [ + "../src/main.ts", + "Js | Dts" + ], + [ + "../src/other.ts", + "Js | Dts" + ] + ] + }, + "version": "FakeTSVersion", + "size": 1244 +} + + + +Change:: no-change-run +Input:: + + +Output:: +/a/lib/tsc +src/main.ts:2:7 - error TS2322: Type 'number' is not assignable to type 'string'. + +2 const a: string = 10; +   ~ + + +Found 1 error in src/main.ts:2 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outDir": "/user/username/projects/noEmitOnError/dev-build", + "declaration": true, + "incremental": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +Semantic diagnostics in builder refreshed for:: + +No shapes updated in the builder:: + + + + +Change:: incremental-declaration-doesnt-change +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a: string = "hello"; + + + +Output:: +/a/lib/tsc +exitCode:: ExitStatus.Success +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outDir": "/user/username/projects/noEmitOnError/dev-build", + "declaration": true, + "incremental": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +Semantic diagnostics in builder refreshed for:: +/user/username/projects/noEmitOnError/src/main.ts + +Shape signatures in builder refreshed for:: +/user/username/projects/noemitonerror/src/main.ts (computed .d.ts) + + +//// [/user/username/projects/noEmitOnError/dev-build/shared/types/db.d.ts] +export interface A { + name: string; +} + + +//// [/user/username/projects/noEmitOnError/dev-build/shared/types/db.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); + + +//// [/user/username/projects/noEmitOnError/dev-build/src/main.d.ts] +export {}; + + +//// [/user/username/projects/noEmitOnError/dev-build/src/main.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var a = "hello"; + + +//// [/user/username/projects/noEmitOnError/dev-build/src/other.d.ts] +export {}; + + +//// [/user/username/projects/noEmitOnError/dev-build/src/other.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +console.log("hi"); + + +//// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo] +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-8373351622-import { A } from \"../shared/types/db\";\nconst a: string = \"hello\";","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true,"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]]},"version":"FakeTSVersion"} + +//// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../../../a/lib/lib.d.ts", + "../shared/types/db.ts", + "../src/main.ts", + "../src/other.ts" + ], + "fileNamesList": [ + [ + "../shared/types/db.ts" + ] + ], + "fileInfos": { + "../../../../../a/lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "../shared/types/db.ts": { + "original": { + "version": "-5014788164-export interface A {\n name: string;\n}\n", + "impliedFormat": 1 + }, + "version": "-5014788164-export interface A {\n name: string;\n}\n", + "signature": "-5014788164-export interface A {\n name: string;\n}\n", + "impliedFormat": "commonjs" + }, + "../src/main.ts": { + "original": { + "version": "-8373351622-import { A } from \"../shared/types/db\";\nconst a: string = \"hello\";", + "signature": "-3531856636-export {};\n", + "impliedFormat": 1 + }, + "version": "-8373351622-import { A } from \"../shared/types/db\";\nconst a: string = \"hello\";", + "signature": "-3531856636-export {};\n", + "impliedFormat": "commonjs" + }, + "../src/other.ts": { + "original": { + "version": "9084524823-console.log(\"hi\");\nexport { }\n", + "signature": "-3531856636-export {};\n", + "impliedFormat": 1 + }, + "version": "9084524823-console.log(\"hi\");\nexport { }\n", + "signature": "-3531856636-export {};\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 4 + ], + [ + "../shared/types/db.ts", + "../src/main.ts", + "../src/other.ts" + ] + ] + ], + "options": { + "declaration": true, + "noEmitOnError": true, + "outDir": "./" + }, + "referencedMap": { + "../src/main.ts": [ + "../shared/types/db.ts" + ] + } + }, + "version": "FakeTSVersion", + "size": 1141 +} + + + +Change:: no-change-run +Input:: + + +Output:: +/a/lib/tsc +exitCode:: ExitStatus.Success +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outDir": "/user/username/projects/noEmitOnError/dev-build", + "declaration": true, + "incremental": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +Semantic diagnostics in builder refreshed for:: + +No shapes updated in the builder:: + + diff --git a/tests/baselines/reference/tsc/noEmitOnError/semantic-errors-with-declaration.js b/tests/baselines/reference/tsc/noEmitOnError/semantic-errors-with-declaration.js new file mode 100644 index 0000000000000..671b31139b20e --- /dev/null +++ b/tests/baselines/reference/tsc/noEmitOnError/semantic-errors-with-declaration.js @@ -0,0 +1,206 @@ +currentDirectory:: /user/username/projects/noEmitOnError useCaseSensitiveFileNames: false +Input:: +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/user/username/projects/noEmitOnError/shared/types/db.ts] +export interface A { + name: string; +} + + +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a: string = 10; + +//// [/user/username/projects/noEmitOnError/src/other.ts] +console.log("hi"); +export { } + + +//// [/user/username/projects/noEmitOnError/tsconfig.json] +{ + "compilerOptions": { + "outDir": "./dev-build", + "declaration": true, + "noEmitOnError": true + } +} + + + +Output:: +/a/lib/tsc +src/main.ts:2:7 - error TS2322: Type 'number' is not assignable to type 'string'. + +2 const a: string = 10; +   ~ + + +Found 1 error in src/main.ts:2 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outDir": "/user/username/projects/noEmitOnError/dev-build", + "declaration": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + + + + +Change:: no-change-run +Input:: + + +Output:: +/a/lib/tsc +src/main.ts:2:7 - error TS2322: Type 'number' is not assignable to type 'string'. + +2 const a: string = 10; +   ~ + + +Found 1 error in src/main.ts:2 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outDir": "/user/username/projects/noEmitOnError/dev-build", + "declaration": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + + + + +Change:: incremental-declaration-doesnt-change +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a: string = "hello"; + + + +Output:: +/a/lib/tsc +exitCode:: ExitStatus.Success +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outDir": "/user/username/projects/noEmitOnError/dev-build", + "declaration": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + + +//// [/user/username/projects/noEmitOnError/dev-build/shared/types/db.d.ts] +export interface A { + name: string; +} + + +//// [/user/username/projects/noEmitOnError/dev-build/shared/types/db.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); + + +//// [/user/username/projects/noEmitOnError/dev-build/src/main.d.ts] +export {}; + + +//// [/user/username/projects/noEmitOnError/dev-build/src/main.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var a = "hello"; + + +//// [/user/username/projects/noEmitOnError/dev-build/src/other.d.ts] +export {}; + + +//// [/user/username/projects/noEmitOnError/dev-build/src/other.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +console.log("hi"); + + + + +Change:: no-change-run +Input:: + + +Output:: +/a/lib/tsc +exitCode:: ExitStatus.Success +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outDir": "/user/username/projects/noEmitOnError/dev-build", + "declaration": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + + +//// [/user/username/projects/noEmitOnError/dev-build/shared/types/db.d.ts] file written with same contents +//// [/user/username/projects/noEmitOnError/dev-build/shared/types/db.js] file written with same contents +//// [/user/username/projects/noEmitOnError/dev-build/src/main.d.ts] file written with same contents +//// [/user/username/projects/noEmitOnError/dev-build/src/main.js] file written with same contents +//// [/user/username/projects/noEmitOnError/dev-build/src/other.d.ts] file written with same contents +//// [/user/username/projects/noEmitOnError/dev-build/src/other.js] file written with same contents diff --git a/tests/baselines/reference/tsc/incremental/with-noEmitOnError-semantic-errors.js b/tests/baselines/reference/tsc/noEmitOnError/semantic-errors-with-incremental.js similarity index 94% rename from tests/baselines/reference/tsc/incremental/with-noEmitOnError-semantic-errors.js rename to tests/baselines/reference/tsc/noEmitOnError/semantic-errors-with-incremental.js index f79c9e65be3de..95aa6d3894360 100644 --- a/tests/baselines/reference/tsc/incremental/with-noEmitOnError-semantic-errors.js +++ b/tests/baselines/reference/tsc/noEmitOnError/semantic-errors-with-incremental.js @@ -34,6 +34,7 @@ export { } { "compilerOptions": { "outDir": "./dev-build", + "incremental": true, "noEmitOnError": true } } @@ -41,7 +42,7 @@ export { } Output:: -/a/lib/tsc --incremental +/a/lib/tsc src/main.ts:2:7 - error TS2322: Type 'number' is not assignable to type 'string'. 2 const a: string = 10; @@ -58,8 +59,8 @@ Program root files: [ ] Program options: { "outDir": "/user/username/projects/noEmitOnError/dev-build", - "noEmitOnError": true, "incremental": true, + "noEmitOnError": true, "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" } Program structureReused: Not @@ -83,7 +84,7 @@ Shape signatures in builder refreshed for:: //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-11111345725-import { A } from \"../shared/types/db\";\nconst a: string = 10;","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","impliedFormat":1}],"root":[[2,4]],"options":{"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,[3,[{"file":"../src/main.ts","start":46,"length":1,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'string'."}]],4],"affectedFilesPendingEmit":[2,3,4]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-11111345725-import { A } from \"../shared/types/db\";\nconst a: string = 10;","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","impliedFormat":1}],"root":[[2,4]],"options":{"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[[3,[{"start":46,"length":1,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'string'."}]]],"affectedFilesPendingEmit":[2,3,4]},"version":"FakeTSVersion"} //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -162,13 +163,10 @@ Shape signatures in builder refreshed for:: ] }, "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../shared/types/db.ts", [ "../src/main.ts", [ { - "file": "../src/main.ts", "start": 46, "length": 1, "code": 2322, @@ -176,8 +174,7 @@ Shape signatures in builder refreshed for:: "messageText": "Type 'number' is not assignable to type 'string'." } ] - ], - "../src/other.ts" + ] ], "affectedFilesPendingEmit": [ [ @@ -195,7 +192,7 @@ Shape signatures in builder refreshed for:: ] }, "version": "FakeTSVersion", - "size": 1255 + "size": 1225 } @@ -205,7 +202,7 @@ Input:: Output:: -/a/lib/tsc --incremental +/a/lib/tsc src/main.ts:2:7 - error TS2322: Type 'number' is not assignable to type 'string'. 2 const a: string = 10; @@ -222,8 +219,8 @@ Program root files: [ ] Program options: { "outDir": "/user/username/projects/noEmitOnError/dev-build", - "noEmitOnError": true, "incremental": true, + "noEmitOnError": true, "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" } Program structureReused: Not @@ -249,7 +246,7 @@ const a: string = "hello"; Output:: -/a/lib/tsc --incremental +/a/lib/tsc exitCode:: ExitStatus.Success Program root files: [ "/user/username/projects/noEmitOnError/shared/types/db.ts", @@ -258,8 +255,8 @@ Program root files: [ ] Program options: { "outDir": "/user/username/projects/noEmitOnError/dev-build", - "noEmitOnError": true, "incremental": true, + "noEmitOnError": true, "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" } Program structureReused: Not @@ -294,7 +291,7 @@ console.log("hi"); //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-8373351622-import { A } from \"../shared/types/db\";\nconst a: string = \"hello\";","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","impliedFormat":1}],"root":[[2,4]],"options":{"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3,4]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-8373351622-import { A } from \"../shared/types/db\";\nconst a: string = \"hello\";","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","impliedFormat":1}],"root":[[2,4]],"options":{"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]]},"version":"FakeTSVersion"} //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -372,16 +369,10 @@ console.log("hi"); "../src/main.ts": [ "../shared/types/db.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../shared/types/db.ts", - "../src/main.ts", - "../src/other.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1122 + "size": 1083 } @@ -391,7 +382,7 @@ Input:: Output:: -/a/lib/tsc --incremental +/a/lib/tsc exitCode:: ExitStatus.Success Program root files: [ "/user/username/projects/noEmitOnError/shared/types/db.ts", @@ -400,8 +391,8 @@ Program root files: [ ] Program options: { "outDir": "/user/username/projects/noEmitOnError/dev-build", - "noEmitOnError": true, "incremental": true, + "noEmitOnError": true, "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" } Program structureReused: Not diff --git a/tests/baselines/reference/tsc/noEmitOnError/semantic-errors.js b/tests/baselines/reference/tsc/noEmitOnError/semantic-errors.js new file mode 100644 index 0000000000000..6c4bfefe3fcaa --- /dev/null +++ b/tests/baselines/reference/tsc/noEmitOnError/semantic-errors.js @@ -0,0 +1,184 @@ +currentDirectory:: /user/username/projects/noEmitOnError useCaseSensitiveFileNames: false +Input:: +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/user/username/projects/noEmitOnError/shared/types/db.ts] +export interface A { + name: string; +} + + +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a: string = 10; + +//// [/user/username/projects/noEmitOnError/src/other.ts] +console.log("hi"); +export { } + + +//// [/user/username/projects/noEmitOnError/tsconfig.json] +{ + "compilerOptions": { + "outDir": "./dev-build", + "noEmitOnError": true + } +} + + + +Output:: +/a/lib/tsc +src/main.ts:2:7 - error TS2322: Type 'number' is not assignable to type 'string'. + +2 const a: string = 10; +   ~ + + +Found 1 error in src/main.ts:2 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outDir": "/user/username/projects/noEmitOnError/dev-build", + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + + + + +Change:: no-change-run +Input:: + + +Output:: +/a/lib/tsc +src/main.ts:2:7 - error TS2322: Type 'number' is not assignable to type 'string'. + +2 const a: string = 10; +   ~ + + +Found 1 error in src/main.ts:2 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outDir": "/user/username/projects/noEmitOnError/dev-build", + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + + + + +Change:: incremental-declaration-doesnt-change +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a: string = "hello"; + + + +Output:: +/a/lib/tsc +exitCode:: ExitStatus.Success +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outDir": "/user/username/projects/noEmitOnError/dev-build", + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + + +//// [/user/username/projects/noEmitOnError/dev-build/shared/types/db.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); + + +//// [/user/username/projects/noEmitOnError/dev-build/src/main.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var a = "hello"; + + +//// [/user/username/projects/noEmitOnError/dev-build/src/other.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +console.log("hi"); + + + + +Change:: no-change-run +Input:: + + +Output:: +/a/lib/tsc +exitCode:: ExitStatus.Success +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outDir": "/user/username/projects/noEmitOnError/dev-build", + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + + +//// [/user/username/projects/noEmitOnError/dev-build/shared/types/db.js] file written with same contents +//// [/user/username/projects/noEmitOnError/dev-build/src/main.js] file written with same contents +//// [/user/username/projects/noEmitOnError/dev-build/src/other.js] file written with same contents diff --git a/tests/baselines/reference/tsc/noEmitOnError/syntax-errors-outFile-with-declaration-with-incremental.js b/tests/baselines/reference/tsc/noEmitOnError/syntax-errors-outFile-with-declaration-with-incremental.js new file mode 100644 index 0000000000000..19e1ee15e0d46 --- /dev/null +++ b/tests/baselines/reference/tsc/noEmitOnError/syntax-errors-outFile-with-declaration-with-incremental.js @@ -0,0 +1,301 @@ +currentDirectory:: /user/username/projects/noEmitOnError useCaseSensitiveFileNames: false +Input:: +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/user/username/projects/noEmitOnError/shared/types/db.ts] +export interface A { + name: string; +} + + +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a = { + lastName: 'sdsd' +; + + +//// [/user/username/projects/noEmitOnError/src/other.ts] +console.log("hi"); +export { } + + +//// [/user/username/projects/noEmitOnError/tsconfig.json] +{ + "compilerOptions": { + "outFile": "../dev-build.js", + "module": "amd", + "declaration": true, + "incremental": true, + "noEmitOnError": true + } +} + + + +Output:: +/a/lib/tsc +src/main.ts:4:1 - error TS1005: ',' expected. + +4 ; +  ~ + + +Found 1 error in src/main.ts:4 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "declaration": true, + "incremental": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: no-change-run +Input:: + + +Output:: +/a/lib/tsc +src/main.ts:4:1 - error TS1005: ',' expected. + +4 ; +  ~ + + +Found 1 error in src/main.ts:4 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "declaration": true, + "incremental": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: incremental-declaration-doesnt-change +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a = { + lastName: 'sdsd' +}; + + + +Output:: +/a/lib/tsc +exitCode:: ExitStatus.Success +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "declaration": true, + "incremental": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + +//// [/user/username/projects/dev-build.d.ts] +declare module "shared/types/db" { + export interface A { + name: string; + } +} +declare module "src/main" { } +declare module "src/other" { + export {}; +} + + +//// [/user/username/projects/dev-build.js] +define("shared/types/db", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +}); +define("src/main", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var a = { + lastName: 'sdsd' + }; +}); +define("src/other", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + console.log("hi"); +}); + + +//// [/user/username/projects/dev-build.tsbuildinfo] +{"program":{"fileNames":["../../../a/lib/lib.d.ts","./noemitonerror/shared/types/db.ts","./noemitonerror/src/main.ts","./noemitonerror/src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-2574605496-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n};","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true,"module":2,"noEmitOnError":true,"outFile":"./dev-build.js"}},"version":"FakeTSVersion"} + +//// [/user/username/projects/dev-build.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../a/lib/lib.d.ts", + "./noemitonerror/shared/types/db.ts", + "./noemitonerror/src/main.ts", + "./noemitonerror/src/other.ts" + ], + "fileInfos": { + "../../../a/lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": "commonjs" + }, + "./noemitonerror/shared/types/db.ts": { + "original": { + "version": "-5014788164-export interface A {\n name: string;\n}\n", + "impliedFormat": 1 + }, + "version": "-5014788164-export interface A {\n name: string;\n}\n", + "impliedFormat": "commonjs" + }, + "./noemitonerror/src/main.ts": { + "original": { + "version": "-2574605496-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n};", + "impliedFormat": 1 + }, + "version": "-2574605496-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n};", + "impliedFormat": "commonjs" + }, + "./noemitonerror/src/other.ts": { + "original": { + "version": "9084524823-console.log(\"hi\");\nexport { }\n", + "impliedFormat": 1 + }, + "version": "9084524823-console.log(\"hi\");\nexport { }\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 4 + ], + [ + "./noemitonerror/shared/types/db.ts", + "./noemitonerror/src/main.ts", + "./noemitonerror/src/other.ts" + ] + ] + ], + "options": { + "declaration": true, + "module": 2, + "noEmitOnError": true, + "outFile": "./dev-build.js" + } + }, + "version": "FakeTSVersion", + "size": 1059 +} + + + +Change:: no-change-run +Input:: + + +Output:: +/a/lib/tsc +exitCode:: ExitStatus.Success +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "declaration": true, + "incremental": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + diff --git a/tests/baselines/reference/tsc/noEmitOnError/syntax-errors-outFile-with-declaration.js b/tests/baselines/reference/tsc/noEmitOnError/syntax-errors-outFile-with-declaration.js new file mode 100644 index 0000000000000..02556588614fd --- /dev/null +++ b/tests/baselines/reference/tsc/noEmitOnError/syntax-errors-outFile-with-declaration.js @@ -0,0 +1,212 @@ +currentDirectory:: /user/username/projects/noEmitOnError useCaseSensitiveFileNames: false +Input:: +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/user/username/projects/noEmitOnError/shared/types/db.ts] +export interface A { + name: string; +} + + +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a = { + lastName: 'sdsd' +; + + +//// [/user/username/projects/noEmitOnError/src/other.ts] +console.log("hi"); +export { } + + +//// [/user/username/projects/noEmitOnError/tsconfig.json] +{ + "compilerOptions": { + "outFile": "../dev-build.js", + "module": "amd", + "declaration": true, + "noEmitOnError": true + } +} + + + +Output:: +/a/lib/tsc +src/main.ts:4:1 - error TS1005: ',' expected. + +4 ; +  ~ + + +Found 1 error in src/main.ts:4 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "declaration": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + + + + +Change:: no-change-run +Input:: + + +Output:: +/a/lib/tsc +src/main.ts:4:1 - error TS1005: ',' expected. + +4 ; +  ~ + + +Found 1 error in src/main.ts:4 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "declaration": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + + + + +Change:: incremental-declaration-doesnt-change +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a = { + lastName: 'sdsd' +}; + + + +Output:: +/a/lib/tsc +exitCode:: ExitStatus.Success +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "declaration": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + + +//// [/user/username/projects/dev-build.d.ts] +declare module "shared/types/db" { + export interface A { + name: string; + } +} +declare module "src/main" { } +declare module "src/other" { + export {}; +} + + +//// [/user/username/projects/dev-build.js] +define("shared/types/db", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +}); +define("src/main", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var a = { + lastName: 'sdsd' + }; +}); +define("src/other", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + console.log("hi"); +}); + + + + +Change:: no-change-run +Input:: + + +Output:: +/a/lib/tsc +exitCode:: ExitStatus.Success +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "declaration": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + + +//// [/user/username/projects/dev-build.d.ts] file written with same contents +//// [/user/username/projects/dev-build.js] file written with same contents diff --git a/tests/baselines/reference/tsc/noEmitOnError/syntax-errors-outFile-with-incremental.js b/tests/baselines/reference/tsc/noEmitOnError/syntax-errors-outFile-with-incremental.js new file mode 100644 index 0000000000000..3f7cf478fb299 --- /dev/null +++ b/tests/baselines/reference/tsc/noEmitOnError/syntax-errors-outFile-with-incremental.js @@ -0,0 +1,283 @@ +currentDirectory:: /user/username/projects/noEmitOnError useCaseSensitiveFileNames: false +Input:: +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/user/username/projects/noEmitOnError/shared/types/db.ts] +export interface A { + name: string; +} + + +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a = { + lastName: 'sdsd' +; + + +//// [/user/username/projects/noEmitOnError/src/other.ts] +console.log("hi"); +export { } + + +//// [/user/username/projects/noEmitOnError/tsconfig.json] +{ + "compilerOptions": { + "outFile": "../dev-build.js", + "module": "amd", + "incremental": true, + "noEmitOnError": true + } +} + + + +Output:: +/a/lib/tsc +src/main.ts:4:1 - error TS1005: ',' expected. + +4 ; +  ~ + + +Found 1 error in src/main.ts:4 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "incremental": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: no-change-run +Input:: + + +Output:: +/a/lib/tsc +src/main.ts:4:1 - error TS1005: ',' expected. + +4 ; +  ~ + + +Found 1 error in src/main.ts:4 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "incremental": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + + + +Change:: incremental-declaration-doesnt-change +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a = { + lastName: 'sdsd' +}; + + + +Output:: +/a/lib/tsc +exitCode:: ExitStatus.Success +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "incremental": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + +//// [/user/username/projects/dev-build.js] +define("shared/types/db", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +}); +define("src/main", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var a = { + lastName: 'sdsd' + }; +}); +define("src/other", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + console.log("hi"); +}); + + +//// [/user/username/projects/dev-build.tsbuildinfo] +{"program":{"fileNames":["../../../a/lib/lib.d.ts","./noemitonerror/shared/types/db.ts","./noemitonerror/src/main.ts","./noemitonerror/src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-2574605496-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n};","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","impliedFormat":1}],"root":[[2,4]],"options":{"module":2,"noEmitOnError":true,"outFile":"./dev-build.js"}},"version":"FakeTSVersion"} + +//// [/user/username/projects/dev-build.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../a/lib/lib.d.ts", + "./noemitonerror/shared/types/db.ts", + "./noemitonerror/src/main.ts", + "./noemitonerror/src/other.ts" + ], + "fileInfos": { + "../../../a/lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": "commonjs" + }, + "./noemitonerror/shared/types/db.ts": { + "original": { + "version": "-5014788164-export interface A {\n name: string;\n}\n", + "impliedFormat": 1 + }, + "version": "-5014788164-export interface A {\n name: string;\n}\n", + "impliedFormat": "commonjs" + }, + "./noemitonerror/src/main.ts": { + "original": { + "version": "-2574605496-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n};", + "impliedFormat": 1 + }, + "version": "-2574605496-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n};", + "impliedFormat": "commonjs" + }, + "./noemitonerror/src/other.ts": { + "original": { + "version": "9084524823-console.log(\"hi\");\nexport { }\n", + "impliedFormat": 1 + }, + "version": "9084524823-console.log(\"hi\");\nexport { }\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 4 + ], + [ + "./noemitonerror/shared/types/db.ts", + "./noemitonerror/src/main.ts", + "./noemitonerror/src/other.ts" + ] + ] + ], + "options": { + "module": 2, + "noEmitOnError": true, + "outFile": "./dev-build.js" + } + }, + "version": "FakeTSVersion", + "size": 1040 +} + + + +Change:: no-change-run +Input:: + + +Output:: +/a/lib/tsc +exitCode:: ExitStatus.Success +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "incremental": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + + diff --git a/tests/baselines/reference/tsc/noEmitOnError/syntax-errors-outFile.js b/tests/baselines/reference/tsc/noEmitOnError/syntax-errors-outFile.js new file mode 100644 index 0000000000000..601e358318374 --- /dev/null +++ b/tests/baselines/reference/tsc/noEmitOnError/syntax-errors-outFile.js @@ -0,0 +1,194 @@ +currentDirectory:: /user/username/projects/noEmitOnError useCaseSensitiveFileNames: false +Input:: +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/user/username/projects/noEmitOnError/shared/types/db.ts] +export interface A { + name: string; +} + + +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a = { + lastName: 'sdsd' +; + + +//// [/user/username/projects/noEmitOnError/src/other.ts] +console.log("hi"); +export { } + + +//// [/user/username/projects/noEmitOnError/tsconfig.json] +{ + "compilerOptions": { + "outFile": "../dev-build.js", + "module": "amd", + "noEmitOnError": true + } +} + + + +Output:: +/a/lib/tsc +src/main.ts:4:1 - error TS1005: ',' expected. + +4 ; +  ~ + + +Found 1 error in src/main.ts:4 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + + + + +Change:: no-change-run +Input:: + + +Output:: +/a/lib/tsc +src/main.ts:4:1 - error TS1005: ',' expected. + +4 ; +  ~ + + +Found 1 error in src/main.ts:4 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + + + + +Change:: incremental-declaration-doesnt-change +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a = { + lastName: 'sdsd' +}; + + + +Output:: +/a/lib/tsc +exitCode:: ExitStatus.Success +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + + +//// [/user/username/projects/dev-build.js] +define("shared/types/db", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +}); +define("src/main", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var a = { + lastName: 'sdsd' + }; +}); +define("src/other", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + console.log("hi"); +}); + + + + +Change:: no-change-run +Input:: + + +Output:: +/a/lib/tsc +exitCode:: ExitStatus.Success +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + + +//// [/user/username/projects/dev-build.js] file written with same contents diff --git a/tests/baselines/reference/tsc/noEmitOnError/syntax-errors-with-declaration-with-incremental.js b/tests/baselines/reference/tsc/noEmitOnError/syntax-errors-with-declaration-with-incremental.js new file mode 100644 index 0000000000000..b1a0dd97c8506 --- /dev/null +++ b/tests/baselines/reference/tsc/noEmitOnError/syntax-errors-with-declaration-with-incremental.js @@ -0,0 +1,424 @@ +currentDirectory:: /user/username/projects/noEmitOnError useCaseSensitiveFileNames: false +Input:: +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/user/username/projects/noEmitOnError/shared/types/db.ts] +export interface A { + name: string; +} + + +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a = { + lastName: 'sdsd' +; + + +//// [/user/username/projects/noEmitOnError/src/other.ts] +console.log("hi"); +export { } + + +//// [/user/username/projects/noEmitOnError/tsconfig.json] +{ + "compilerOptions": { + "outDir": "./dev-build", + "declaration": true, + "incremental": true, + "noEmitOnError": true + } +} + + + +Output:: +/a/lib/tsc +src/main.ts:4:1 - error TS1005: ',' expected. + +4 ; +  ~ + + +Found 1 error in src/main.ts:4 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outDir": "/user/username/projects/noEmitOnError/dev-build", + "declaration": true, + "incremental": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +Semantic diagnostics in builder refreshed for:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +Shape signatures in builder refreshed for:: +/a/lib/lib.d.ts (used version) +/user/username/projects/noemitonerror/shared/types/db.ts (used version) +/user/username/projects/noemitonerror/src/main.ts (used version) +/user/username/projects/noemitonerror/src/other.ts (used version) + + +//// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo] +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-2574607723-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n;\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true,"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"affectedFilesPendingEmit":[2,3,4]},"version":"FakeTSVersion"} + +//// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../../../a/lib/lib.d.ts", + "../shared/types/db.ts", + "../src/main.ts", + "../src/other.ts" + ], + "fileNamesList": [ + [ + "../shared/types/db.ts" + ] + ], + "fileInfos": { + "../../../../../a/lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "../shared/types/db.ts": { + "original": { + "version": "-5014788164-export interface A {\n name: string;\n}\n", + "impliedFormat": 1 + }, + "version": "-5014788164-export interface A {\n name: string;\n}\n", + "signature": "-5014788164-export interface A {\n name: string;\n}\n", + "impliedFormat": "commonjs" + }, + "../src/main.ts": { + "original": { + "version": "-2574607723-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n;\n", + "impliedFormat": 1 + }, + "version": "-2574607723-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n;\n", + "signature": "-2574607723-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n;\n", + "impliedFormat": "commonjs" + }, + "../src/other.ts": { + "original": { + "version": "9084524823-console.log(\"hi\");\nexport { }\n", + "impliedFormat": 1 + }, + "version": "9084524823-console.log(\"hi\");\nexport { }\n", + "signature": "9084524823-console.log(\"hi\");\nexport { }\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 4 + ], + [ + "../shared/types/db.ts", + "../src/main.ts", + "../src/other.ts" + ] + ] + ], + "options": { + "declaration": true, + "noEmitOnError": true, + "outDir": "./" + }, + "referencedMap": { + "../src/main.ts": [ + "../shared/types/db.ts" + ] + }, + "affectedFilesPendingEmit": [ + [ + "../shared/types/db.ts", + "Js | Dts" + ], + [ + "../src/main.ts", + "Js | Dts" + ], + [ + "../src/other.ts", + "Js | Dts" + ] + ] + }, + "version": "FakeTSVersion", + "size": 1108 +} + + + +Change:: no-change-run +Input:: + + +Output:: +/a/lib/tsc +src/main.ts:4:1 - error TS1005: ',' expected. + +4 ; +  ~ + + +Found 1 error in src/main.ts:4 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outDir": "/user/username/projects/noEmitOnError/dev-build", + "declaration": true, + "incremental": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +Semantic diagnostics in builder refreshed for:: + +No shapes updated in the builder:: + + + + +Change:: incremental-declaration-doesnt-change +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a = { + lastName: 'sdsd' +}; + + + +Output:: +/a/lib/tsc +exitCode:: ExitStatus.Success +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outDir": "/user/username/projects/noEmitOnError/dev-build", + "declaration": true, + "incremental": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +Semantic diagnostics in builder refreshed for:: +/user/username/projects/noEmitOnError/src/main.ts + +Shape signatures in builder refreshed for:: +/user/username/projects/noemitonerror/src/main.ts (computed .d.ts) + + +//// [/user/username/projects/noEmitOnError/dev-build/shared/types/db.d.ts] +export interface A { + name: string; +} + + +//// [/user/username/projects/noEmitOnError/dev-build/shared/types/db.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); + + +//// [/user/username/projects/noEmitOnError/dev-build/src/main.d.ts] +export {}; + + +//// [/user/username/projects/noEmitOnError/dev-build/src/main.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var a = { + lastName: 'sdsd' +}; + + +//// [/user/username/projects/noEmitOnError/dev-build/src/other.d.ts] +export {}; + + +//// [/user/username/projects/noEmitOnError/dev-build/src/other.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +console.log("hi"); + + +//// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo] +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-2574605496-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n};","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true,"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]]},"version":"FakeTSVersion"} + +//// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../../../a/lib/lib.d.ts", + "../shared/types/db.ts", + "../src/main.ts", + "../src/other.ts" + ], + "fileNamesList": [ + [ + "../shared/types/db.ts" + ] + ], + "fileInfos": { + "../../../../../a/lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "../shared/types/db.ts": { + "original": { + "version": "-5014788164-export interface A {\n name: string;\n}\n", + "impliedFormat": 1 + }, + "version": "-5014788164-export interface A {\n name: string;\n}\n", + "signature": "-5014788164-export interface A {\n name: string;\n}\n", + "impliedFormat": "commonjs" + }, + "../src/main.ts": { + "original": { + "version": "-2574605496-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n};", + "signature": "-3531856636-export {};\n", + "impliedFormat": 1 + }, + "version": "-2574605496-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n};", + "signature": "-3531856636-export {};\n", + "impliedFormat": "commonjs" + }, + "../src/other.ts": { + "original": { + "version": "9084524823-console.log(\"hi\");\nexport { }\n", + "signature": "-3531856636-export {};\n", + "impliedFormat": 1 + }, + "version": "9084524823-console.log(\"hi\");\nexport { }\n", + "signature": "-3531856636-export {};\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 4 + ], + [ + "../shared/types/db.ts", + "../src/main.ts", + "../src/other.ts" + ] + ] + ], + "options": { + "declaration": true, + "noEmitOnError": true, + "outDir": "./" + }, + "referencedMap": { + "../src/main.ts": [ + "../shared/types/db.ts" + ] + } + }, + "version": "FakeTSVersion", + "size": 1150 +} + + + +Change:: no-change-run +Input:: + + +Output:: +/a/lib/tsc +exitCode:: ExitStatus.Success +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outDir": "/user/username/projects/noEmitOnError/dev-build", + "declaration": true, + "incremental": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +Semantic diagnostics in builder refreshed for:: + +No shapes updated in the builder:: + + diff --git a/tests/baselines/reference/tsc/noEmitOnError/syntax-errors-with-declaration.js b/tests/baselines/reference/tsc/noEmitOnError/syntax-errors-with-declaration.js new file mode 100644 index 0000000000000..ca9035bd7d2a1 --- /dev/null +++ b/tests/baselines/reference/tsc/noEmitOnError/syntax-errors-with-declaration.js @@ -0,0 +1,213 @@ +currentDirectory:: /user/username/projects/noEmitOnError useCaseSensitiveFileNames: false +Input:: +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/user/username/projects/noEmitOnError/shared/types/db.ts] +export interface A { + name: string; +} + + +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a = { + lastName: 'sdsd' +; + + +//// [/user/username/projects/noEmitOnError/src/other.ts] +console.log("hi"); +export { } + + +//// [/user/username/projects/noEmitOnError/tsconfig.json] +{ + "compilerOptions": { + "outDir": "./dev-build", + "declaration": true, + "noEmitOnError": true + } +} + + + +Output:: +/a/lib/tsc +src/main.ts:4:1 - error TS1005: ',' expected. + +4 ; +  ~ + + +Found 1 error in src/main.ts:4 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outDir": "/user/username/projects/noEmitOnError/dev-build", + "declaration": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + + + + +Change:: no-change-run +Input:: + + +Output:: +/a/lib/tsc +src/main.ts:4:1 - error TS1005: ',' expected. + +4 ; +  ~ + + +Found 1 error in src/main.ts:4 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outDir": "/user/username/projects/noEmitOnError/dev-build", + "declaration": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + + + + +Change:: incremental-declaration-doesnt-change +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a = { + lastName: 'sdsd' +}; + + + +Output:: +/a/lib/tsc +exitCode:: ExitStatus.Success +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outDir": "/user/username/projects/noEmitOnError/dev-build", + "declaration": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + + +//// [/user/username/projects/noEmitOnError/dev-build/shared/types/db.d.ts] +export interface A { + name: string; +} + + +//// [/user/username/projects/noEmitOnError/dev-build/shared/types/db.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); + + +//// [/user/username/projects/noEmitOnError/dev-build/src/main.d.ts] +export {}; + + +//// [/user/username/projects/noEmitOnError/dev-build/src/main.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var a = { + lastName: 'sdsd' +}; + + +//// [/user/username/projects/noEmitOnError/dev-build/src/other.d.ts] +export {}; + + +//// [/user/username/projects/noEmitOnError/dev-build/src/other.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +console.log("hi"); + + + + +Change:: no-change-run +Input:: + + +Output:: +/a/lib/tsc +exitCode:: ExitStatus.Success +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outDir": "/user/username/projects/noEmitOnError/dev-build", + "declaration": true, + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + + +//// [/user/username/projects/noEmitOnError/dev-build/shared/types/db.d.ts] file written with same contents +//// [/user/username/projects/noEmitOnError/dev-build/shared/types/db.js] file written with same contents +//// [/user/username/projects/noEmitOnError/dev-build/src/main.d.ts] file written with same contents +//// [/user/username/projects/noEmitOnError/dev-build/src/main.js] file written with same contents +//// [/user/username/projects/noEmitOnError/dev-build/src/other.d.ts] file written with same contents +//// [/user/username/projects/noEmitOnError/dev-build/src/other.js] file written with same contents diff --git a/tests/baselines/reference/tsc/incremental/with-noEmitOnError-syntax-errors.js b/tests/baselines/reference/tsc/noEmitOnError/syntax-errors-with-incremental.js similarity index 95% rename from tests/baselines/reference/tsc/incremental/with-noEmitOnError-syntax-errors.js rename to tests/baselines/reference/tsc/noEmitOnError/syntax-errors-with-incremental.js index 46158052c072a..8c80979bf2a12 100644 --- a/tests/baselines/reference/tsc/incremental/with-noEmitOnError-syntax-errors.js +++ b/tests/baselines/reference/tsc/noEmitOnError/syntax-errors-with-incremental.js @@ -37,6 +37,7 @@ export { } { "compilerOptions": { "outDir": "./dev-build", + "incremental": true, "noEmitOnError": true } } @@ -44,7 +45,7 @@ export { } Output:: -/a/lib/tsc --incremental +/a/lib/tsc src/main.ts:4:1 - error TS1005: ',' expected. 4 ; @@ -61,8 +62,8 @@ Program root files: [ ] Program options: { "outDir": "/user/username/projects/noEmitOnError/dev-build", - "noEmitOnError": true, "incremental": true, + "noEmitOnError": true, "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" } Program structureReused: Not @@ -86,7 +87,7 @@ Shape signatures in builder refreshed for:: //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-2574607723-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n;\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","impliedFormat":1}],"root":[[2,4]],"options":{"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3,4],"affectedFilesPendingEmit":[2,3,4]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-2574607723-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n;\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","impliedFormat":1}],"root":[[2,4]],"options":{"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"affectedFilesPendingEmit":[2,3,4]},"version":"FakeTSVersion"} //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -164,12 +165,6 @@ Shape signatures in builder refreshed for:: "../shared/types/db.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../shared/types/db.ts", - "../src/main.ts", - "../src/other.ts" - ], "affectedFilesPendingEmit": [ [ "../shared/types/db.ts", @@ -186,7 +181,7 @@ Shape signatures in builder refreshed for:: ] }, "version": "FakeTSVersion", - "size": 1128 + "size": 1089 } @@ -196,7 +191,7 @@ Input:: Output:: -/a/lib/tsc --incremental +/a/lib/tsc src/main.ts:4:1 - error TS1005: ',' expected. 4 ; @@ -213,8 +208,8 @@ Program root files: [ ] Program options: { "outDir": "/user/username/projects/noEmitOnError/dev-build", - "noEmitOnError": true, "incremental": true, + "noEmitOnError": true, "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" } Program structureReused: Not @@ -242,7 +237,7 @@ const a = { Output:: -/a/lib/tsc --incremental +/a/lib/tsc exitCode:: ExitStatus.Success Program root files: [ "/user/username/projects/noEmitOnError/shared/types/db.ts", @@ -251,8 +246,8 @@ Program root files: [ ] Program options: { "outDir": "/user/username/projects/noEmitOnError/dev-build", - "noEmitOnError": true, "incremental": true, + "noEmitOnError": true, "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" } Program structureReused: Not @@ -289,7 +284,7 @@ console.log("hi"); //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-2574605496-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n};","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","impliedFormat":1}],"root":[[2,4]],"options":{"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3,4]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-2574605496-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n};","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","impliedFormat":1}],"root":[[2,4]],"options":{"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]]},"version":"FakeTSVersion"} //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -367,16 +362,10 @@ console.log("hi"); "../src/main.ts": [ "../shared/types/db.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../shared/types/db.ts", - "../src/main.ts", - "../src/other.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1131 + "size": 1092 } @@ -386,7 +375,7 @@ Input:: Output:: -/a/lib/tsc --incremental +/a/lib/tsc exitCode:: ExitStatus.Success Program root files: [ "/user/username/projects/noEmitOnError/shared/types/db.ts", @@ -395,8 +384,8 @@ Program root files: [ ] Program options: { "outDir": "/user/username/projects/noEmitOnError/dev-build", - "noEmitOnError": true, "incremental": true, + "noEmitOnError": true, "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" } Program structureReused: Not diff --git a/tests/baselines/reference/tsc/noEmitOnError/syntax-errors.js b/tests/baselines/reference/tsc/noEmitOnError/syntax-errors.js new file mode 100644 index 0000000000000..2e3dafb7b21ea --- /dev/null +++ b/tests/baselines/reference/tsc/noEmitOnError/syntax-errors.js @@ -0,0 +1,191 @@ +currentDirectory:: /user/username/projects/noEmitOnError useCaseSensitiveFileNames: false +Input:: +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/user/username/projects/noEmitOnError/shared/types/db.ts] +export interface A { + name: string; +} + + +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a = { + lastName: 'sdsd' +; + + +//// [/user/username/projects/noEmitOnError/src/other.ts] +console.log("hi"); +export { } + + +//// [/user/username/projects/noEmitOnError/tsconfig.json] +{ + "compilerOptions": { + "outDir": "./dev-build", + "noEmitOnError": true + } +} + + + +Output:: +/a/lib/tsc +src/main.ts:4:1 - error TS1005: ',' expected. + +4 ; +  ~ + + +Found 1 error in src/main.ts:4 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outDir": "/user/username/projects/noEmitOnError/dev-build", + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + + + + +Change:: no-change-run +Input:: + + +Output:: +/a/lib/tsc +src/main.ts:4:1 - error TS1005: ',' expected. + +4 ; +  ~ + + +Found 1 error in src/main.ts:4 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outDir": "/user/username/projects/noEmitOnError/dev-build", + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + + + + +Change:: incremental-declaration-doesnt-change +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a = { + lastName: 'sdsd' +}; + + + +Output:: +/a/lib/tsc +exitCode:: ExitStatus.Success +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outDir": "/user/username/projects/noEmitOnError/dev-build", + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + + +//// [/user/username/projects/noEmitOnError/dev-build/shared/types/db.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); + + +//// [/user/username/projects/noEmitOnError/dev-build/src/main.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var a = { + lastName: 'sdsd' +}; + + +//// [/user/username/projects/noEmitOnError/dev-build/src/other.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +console.log("hi"); + + + + +Change:: no-change-run +Input:: + + +Output:: +/a/lib/tsc +exitCode:: ExitStatus.Success +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outDir": "/user/username/projects/noEmitOnError/dev-build", + "noEmitOnError": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + + +//// [/user/username/projects/noEmitOnError/dev-build/shared/types/db.js] file written with same contents +//// [/user/username/projects/noEmitOnError/dev-build/src/main.js] file written with same contents +//// [/user/username/projects/noEmitOnError/dev-build/src/other.js] file written with same contents diff --git a/tests/baselines/reference/tsc/incremental/when-declarationMap-changes-discrepancies.js b/tests/baselines/reference/tsc/noEmitOnError/when-declarationMap-changes-discrepancies.js similarity index 94% rename from tests/baselines/reference/tsc/incremental/when-declarationMap-changes-discrepancies.js rename to tests/baselines/reference/tsc/noEmitOnError/when-declarationMap-changes-discrepancies.js index b973a15704506..c75c11c626749 100644 --- a/tests/baselines/reference/tsc/incremental/when-declarationMap-changes-discrepancies.js +++ b/tests/baselines/reference/tsc/noEmitOnError/when-declarationMap-changes-discrepancies.js @@ -39,14 +39,11 @@ CleanBuild: "declarationMap": true, "noEmitOnError": true }, - "referencedMap": {}, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", [ "./a.ts", [ { - "file": "./a.ts", "start": 6, "length": 1, "code": 2322, @@ -54,8 +51,7 @@ CleanBuild: "messageText": "Type '10' is not assignable to type '20'." } ] - ], - "./b.ts" + ] ], "emitSignatures": [ "./a.ts", @@ -100,14 +96,11 @@ IncrementalBuild: "declarationMap": true, "noEmitOnError": true }, - "referencedMap": {}, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", [ "./a.ts", [ { - "file": "./a.ts", "start": 6, "length": 1, "code": 2322, @@ -115,8 +108,7 @@ IncrementalBuild: "messageText": "Type '10' is not assignable to type '20'." } ] - ], - "./b.ts" + ] ], "emitSignatures": [ [ diff --git a/tests/baselines/reference/tsc/incremental/when-declarationMap-changes-with-outFile.js b/tests/baselines/reference/tsc/noEmitOnError/when-declarationMap-changes-with-outFile.js similarity index 100% rename from tests/baselines/reference/tsc/incremental/when-declarationMap-changes-with-outFile.js rename to tests/baselines/reference/tsc/noEmitOnError/when-declarationMap-changes-with-outFile.js diff --git a/tests/baselines/reference/tsc/incremental/when-declarationMap-changes.js b/tests/baselines/reference/tsc/noEmitOnError/when-declarationMap-changes.js similarity index 92% rename from tests/baselines/reference/tsc/incremental/when-declarationMap-changes.js rename to tests/baselines/reference/tsc/noEmitOnError/when-declarationMap-changes.js index 5507a49f106ba..c5f02158819b0 100644 --- a/tests/baselines/reference/tsc/incremental/when-declarationMap-changes.js +++ b/tests/baselines/reference/tsc/noEmitOnError/when-declarationMap-changes.js @@ -54,7 +54,7 @@ var y = 10; //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"5029505981-const x = 10;","signature":"-4001438729-declare const x = 10;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"2026006654-const y = 10;","signature":"-4332668712-declare const y = 10;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3],"options":{"composite":true,"declaration":true,"noEmitOnError":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./b.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"5029505981-const x = 10;","signature":"-4001438729-declare const x = 10;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"2026006654-const y = 10;","signature":"-4332668712-declare const y = 10;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3],"options":{"composite":true,"declaration":true,"noEmitOnError":true},"latestChangedDtsFile":"./b.d.ts"},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -116,16 +116,10 @@ var y = 10; "declaration": true, "noEmitOnError": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts" - ], "latestChangedDtsFile": "./b.d.ts" }, "version": "FakeTSVersion", - "size": 1041 + "size": 985 } @@ -151,7 +145,7 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"5515933561-const x: 20 = 10;","signature":"-3041996843-declare const x: 20;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"2026006654-const y = 10;","signature":"-4332668712-declare const y = 10;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3],"options":{"composite":true,"declaration":true,"declarationMap":true,"noEmitOnError":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,[2,[{"file":"./a.ts","start":6,"length":1,"code":2322,"category":1,"messageText":"Type '10' is not assignable to type '20'."}]],3],"affectedFilesPendingEmit":[2,3],"emitSignatures":[[2,["-4001438729-declare const x = 10;\n"]],[3,[]]],"latestChangedDtsFile":"./b.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"5515933561-const x: 20 = 10;","signature":"-3041996843-declare const x: 20;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"2026006654-const y = 10;","signature":"-4332668712-declare const y = 10;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3],"options":{"composite":true,"declaration":true,"declarationMap":true,"noEmitOnError":true},"semanticDiagnosticsPerFile":[[2,[{"start":6,"length":1,"code":2322,"category":1,"messageText":"Type '10' is not assignable to type '20'."}]]],"affectedFilesPendingEmit":[2,3],"emitSignatures":[[2,["-4001438729-declare const x = 10;\n"]],[3,[]]],"latestChangedDtsFile":"./b.d.ts"},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -214,14 +208,11 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped "declarationMap": true, "noEmitOnError": true }, - "referencedMap": {}, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", [ "./a.ts", [ { - "file": "./a.ts", "start": 6, "length": 1, "code": 2322, @@ -229,8 +220,7 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped "messageText": "Type '10' is not assignable to type '20'." } ] - ], - "./b.ts" + ] ], "affectedFilesPendingEmit": [ [ @@ -257,7 +247,7 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped "latestChangedDtsFile": "./b.d.ts" }, "version": "FakeTSVersion", - "size": 1295 + "size": 1256 } @@ -291,7 +281,7 @@ declare const y = 10; //// [/src/project/b.js] file written with same contents //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"5029505981-const x = 10;","signature":"-4001438729-declare const x = 10;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"2026006654-const y = 10;","signature":"-4332668712-declare const y = 10;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3],"options":{"composite":true,"declaration":true,"declarationMap":true,"noEmitOnError":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./b.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"5029505981-const x = 10;","signature":"-4001438729-declare const x = 10;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"2026006654-const y = 10;","signature":"-4332668712-declare const y = 10;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3],"options":{"composite":true,"declaration":true,"declarationMap":true,"noEmitOnError":true},"latestChangedDtsFile":"./b.d.ts"},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -354,15 +344,9 @@ declare const y = 10; "declarationMap": true, "noEmitOnError": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./a.ts", - "./b.ts" - ], "latestChangedDtsFile": "./b.d.ts" }, "version": "FakeTSVersion", - "size": 1063 + "size": 1007 } diff --git a/tests/baselines/reference/tsc/projectReferencesConfig/default-setup-was-created-correctly.js b/tests/baselines/reference/tsc/projectReferencesConfig/default-setup-was-created-correctly.js index 722deb743b815..ddd8595aa8621 100644 --- a/tests/baselines/reference/tsc/projectReferencesConfig/default-setup-was-created-correctly.js +++ b/tests/baselines/reference/tsc/projectReferencesConfig/default-setup-was-created-correctly.js @@ -60,7 +60,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); //// [/primary/bin/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","../a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3531955686-export { };","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"outDir":"./"},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./a.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","../a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3531955686-export { };","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"outDir":"./"},"latestChangedDtsFile":"./a.d.ts"},"version":"FakeTSVersion"} //// [/primary/bin/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -102,14 +102,9 @@ Object.defineProperty(exports, "__esModule", { value: true }); "composite": true, "outDir": "./" }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "../a.ts" - ], "latestChangedDtsFile": "./a.d.ts" }, "version": "FakeTSVersion", - "size": 832 + "size": 778 } diff --git a/tests/baselines/reference/tsc/projectReferencesConfig/does-not-error-when-the-referenced-project-doesnt-have-composite-if-its-a-container-project.js b/tests/baselines/reference/tsc/projectReferencesConfig/does-not-error-when-the-referenced-project-doesnt-have-composite-if-its-a-container-project.js index 977f74cbb7366..7ba884524850c 100644 --- a/tests/baselines/reference/tsc/projectReferencesConfig/does-not-error-when-the-referenced-project-doesnt-have-composite-if-its-a-container-project.js +++ b/tests/baselines/reference/tsc/projectReferencesConfig/does-not-error-when-the-referenced-project-doesnt-have-composite-if-its-a-container-project.js @@ -52,7 +52,7 @@ exitCode:: ExitStatus.Success //// [/reference/bin/tsconfig.tsbuildinfo] -{"program":{"fileNames":[],"fileInfos":[],"root":[],"options":{"composite":true,"outDir":"./"},"referencedMap":[]},"version":"FakeTSVersion"} +{"program":{"fileNames":[],"fileInfos":[],"root":[],"options":{"composite":true,"outDir":"./"}},"version":"FakeTSVersion"} //// [/reference/bin/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -63,10 +63,9 @@ exitCode:: ExitStatus.Success "options": { "composite": true, "outDir": "./" - }, - "referencedMap": {} + } }, "version": "FakeTSVersion", - "size": 141 + "size": 122 } diff --git a/tests/baselines/reference/tsc/projectReferencesConfig/doesnt-infer-the-rootDir-from-source-paths.js b/tests/baselines/reference/tsc/projectReferencesConfig/doesnt-infer-the-rootDir-from-source-paths.js index 3cb0dd753d265..d50fb7c85918f 100644 --- a/tests/baselines/reference/tsc/projectReferencesConfig/doesnt-infer-the-rootDir-from-source-paths.js +++ b/tests/baselines/reference/tsc/projectReferencesConfig/doesnt-infer-the-rootDir-from-source-paths.js @@ -46,7 +46,7 @@ exports.m = 3; //// [/alpha/bin/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","../src/a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-12181672471-export const m: number = 3;","signature":"-6260611917-export declare const m: number;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"outDir":"./"},"referencedMap":[],"semanticDiagnosticsPerFile":[2,1],"latestChangedDtsFile":"./src/a.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","../src/a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-12181672471-export const m: number = 3;","signature":"-6260611917-export declare const m: number;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"outDir":"./"},"latestChangedDtsFile":"./src/a.d.ts"},"version":"FakeTSVersion"} //// [/alpha/bin/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -88,14 +88,9 @@ exports.m = 3; "composite": true, "outDir": "./" }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../src/a.ts", - "../../lib/lib.d.ts" - ], "latestChangedDtsFile": "./src/a.d.ts" }, "version": "FakeTSVersion", - "size": 878 + "size": 824 } diff --git a/tests/baselines/reference/tsc/projectReferencesConfig/errors-when-a-file-is-outside-the-rootdir.js b/tests/baselines/reference/tsc/projectReferencesConfig/errors-when-a-file-is-outside-the-rootdir.js index b756fb2454e93..8a90086df18ee 100644 --- a/tests/baselines/reference/tsc/projectReferencesConfig/errors-when-a-file-is-outside-the-rootdir.js +++ b/tests/baselines/reference/tsc/projectReferencesConfig/errors-when-a-file-is-outside-the-rootdir.js @@ -60,7 +60,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); //// [/alpha/bin/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","../../beta/b.ts","../src/a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3360792065-export { }","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-5654511483-import * as b from '../../beta/b'","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[3,2,1],"latestChangedDtsFile":"./src/a.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","../../beta/b.ts","../src/a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3360792065-export { }","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-5654511483-import * as b from '../../beta/b'","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./src/a.d.ts"},"version":"FakeTSVersion"} //// [/alpha/bin/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -123,15 +123,10 @@ Object.defineProperty(exports, "__esModule", { value: true }); "../../beta/b.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../src/a.ts", - "../../beta/b.ts", - "../../lib/lib.d.ts" - ], "latestChangedDtsFile": "./src/a.d.ts" }, "version": "FakeTSVersion", - "size": 1001 + "size": 964 } //// [/beta/b.d.ts] diff --git a/tests/baselines/reference/tsc/projectReferencesConfig/errors-when-declaration-=-false.js b/tests/baselines/reference/tsc/projectReferencesConfig/errors-when-declaration-=-false.js index b13013c79d561..e5195f8fd979c 100644 --- a/tests/baselines/reference/tsc/projectReferencesConfig/errors-when-declaration-=-false.js +++ b/tests/baselines/reference/tsc/projectReferencesConfig/errors-when-declaration-=-false.js @@ -53,7 +53,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); //// [/primary/bin/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","../a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3531955686-export { };","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declaration":false,"outDir":"./"},"referencedMap":[],"latestChangedDtsFile":"./a.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","../a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3531955686-export { };","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declaration":false,"outDir":"./"},"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./a.d.ts"},"version":"FakeTSVersion"} //// [/primary/bin/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -96,10 +96,19 @@ Object.defineProperty(exports, "__esModule", { value: true }); "declaration": false, "outDir": "./" }, - "referencedMap": {}, + "semanticDiagnosticsPerFile": [ + [ + "../../lib/lib.d.ts", + "not cached or not changed" + ], + [ + "../a.ts", + "not cached or not changed" + ] + ], "latestChangedDtsFile": "./a.d.ts" }, "version": "FakeTSVersion", - "size": 817 + "size": 833 } diff --git a/tests/baselines/reference/tsc/projectReferencesConfig/errors-when-the-file-list-is-not-exhaustive.js b/tests/baselines/reference/tsc/projectReferencesConfig/errors-when-the-file-list-is-not-exhaustive.js index 7577968408c28..8bbe0fb24b3c7 100644 --- a/tests/baselines/reference/tsc/projectReferencesConfig/errors-when-the-file-list-is-not-exhaustive.js +++ b/tests/baselines/reference/tsc/projectReferencesConfig/errors-when-the-file-list-is-not-exhaustive.js @@ -67,7 +67,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); //// [/primary/bin/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","../b.ts","../a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-2704852577-export {}","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-4190788607-import * as b from './b'","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,3,2],"latestChangedDtsFile":"./a.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","../b.ts","../a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-2704852577-export {}","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-4190788607-import * as b from './b'","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./a.d.ts"},"version":"FakeTSVersion"} //// [/primary/bin/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -130,14 +130,9 @@ Object.defineProperty(exports, "__esModule", { value: true }); "../b.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "../a.ts", - "../b.ts" - ], "latestChangedDtsFile": "./a.d.ts" }, "version": "FakeTSVersion", - "size": 975 + "size": 938 } diff --git a/tests/baselines/reference/tsc/projectReferencesConfig/errors-when-the-referenced-project-doesnt-exist.js b/tests/baselines/reference/tsc/projectReferencesConfig/errors-when-the-referenced-project-doesnt-exist.js index 7da00e30a73a5..2a4986e945da9 100644 --- a/tests/baselines/reference/tsc/projectReferencesConfig/errors-when-the-referenced-project-doesnt-exist.js +++ b/tests/baselines/reference/tsc/projectReferencesConfig/errors-when-the-referenced-project-doesnt-exist.js @@ -60,7 +60,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); //// [/primary/bin/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","../a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3531955686-export { };","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"outDir":"./"},"referencedMap":[],"latestChangedDtsFile":"./a.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","../a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3531955686-export { };","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"outDir":"./"},"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./a.d.ts"},"version":"FakeTSVersion"} //// [/primary/bin/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -102,10 +102,19 @@ Object.defineProperty(exports, "__esModule", { value: true }); "composite": true, "outDir": "./" }, - "referencedMap": {}, + "semanticDiagnosticsPerFile": [ + [ + "../../lib/lib.d.ts", + "not cached or not changed" + ], + [ + "../a.ts", + "not cached or not changed" + ] + ], "latestChangedDtsFile": "./a.d.ts" }, "version": "FakeTSVersion", - "size": 797 + "size": 813 } diff --git a/tests/baselines/reference/tsc/projectReferencesConfig/errors-when-the-referenced-project-doesnt-have-composite.js b/tests/baselines/reference/tsc/projectReferencesConfig/errors-when-the-referenced-project-doesnt-have-composite.js index 096a13edb1f85..e264c40bc95cd 100644 --- a/tests/baselines/reference/tsc/projectReferencesConfig/errors-when-the-referenced-project-doesnt-have-composite.js +++ b/tests/baselines/reference/tsc/projectReferencesConfig/errors-when-the-referenced-project-doesnt-have-composite.js @@ -75,7 +75,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); //// [/reference/bin/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","../b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-9543969340-import * as mod_0 from \"../primary/a\"","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"outDir":"./"},"referencedMap":[],"latestChangedDtsFile":"./b.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","../b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-9543969340-import * as mod_0 from \"../primary/a\"","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"outDir":"./"},"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./b.d.ts"},"version":"FakeTSVersion"} //// [/reference/bin/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -117,10 +117,19 @@ Object.defineProperty(exports, "__esModule", { value: true }); "composite": true, "outDir": "./" }, - "referencedMap": {}, + "semanticDiagnosticsPerFile": [ + [ + "../../lib/lib.d.ts", + "not cached or not changed" + ], + [ + "../b.ts", + "not cached or not changed" + ] + ], "latestChangedDtsFile": "./b.d.ts" }, "version": "FakeTSVersion", - "size": 825 + "size": 841 } diff --git a/tests/baselines/reference/tsc/projectReferencesConfig/issues-a-nice-error-when-the-input-file-is-missing-when-module-reference-is-not-relative.js b/tests/baselines/reference/tsc/projectReferencesConfig/issues-a-nice-error-when-the-input-file-is-missing-when-module-reference-is-not-relative.js index 42f742b31c12b..e7f853026d0a2 100644 --- a/tests/baselines/reference/tsc/projectReferencesConfig/issues-a-nice-error-when-the-input-file-is-missing-when-module-reference-is-not-relative.js +++ b/tests/baselines/reference/tsc/projectReferencesConfig/issues-a-nice-error-when-the-input-file-is-missing-when-module-reference-is-not-relative.js @@ -74,7 +74,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); //// [/beta/bin/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","../b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"2892088637-import { m } from '@alpha/a'","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"outDir":"./"},"referencedMap":[],"semanticDiagnosticsPerFile":[[2,[{"file":"../b.ts","start":18,"length":10,"messageText":"Output file '/alpha/bin/a.d.ts' has not been built from source file '/alpha/a.ts'.","category":1,"code":6305}]],1],"latestChangedDtsFile":"./b.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","../b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"2892088637-import { m } from '@alpha/a'","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"outDir":"./"},"semanticDiagnosticsPerFile":[[2,[{"start":18,"length":10,"messageText":"Output file '/alpha/bin/a.d.ts' has not been built from source file '/alpha/a.ts'.","category":1,"code":6305}]]],"latestChangedDtsFile":"./b.d.ts"},"version":"FakeTSVersion"} //// [/beta/bin/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -116,13 +116,11 @@ Object.defineProperty(exports, "__esModule", { value: true }); "composite": true, "outDir": "./" }, - "referencedMap": {}, "semanticDiagnosticsPerFile": [ [ "../b.ts", [ { - "file": "../b.ts", "start": 18, "length": 10, "messageText": "Output file '/alpha/bin/a.d.ts' has not been built from source file '/alpha/a.ts'.", @@ -130,12 +128,11 @@ Object.defineProperty(exports, "__esModule", { value: true }); "code": 6305 } ] - ], - "../../lib/lib.d.ts" + ] ], "latestChangedDtsFile": "./b.d.ts" }, "version": "FakeTSVersion", - "size": 1018 + "size": 980 } diff --git a/tests/baselines/reference/tsc/projectReferencesConfig/issues-a-nice-error-when-the-input-file-is-missing.js b/tests/baselines/reference/tsc/projectReferencesConfig/issues-a-nice-error-when-the-input-file-is-missing.js index 38290d5def018..191341ec0d2f4 100644 --- a/tests/baselines/reference/tsc/projectReferencesConfig/issues-a-nice-error-when-the-input-file-is-missing.js +++ b/tests/baselines/reference/tsc/projectReferencesConfig/issues-a-nice-error-when-the-input-file-is-missing.js @@ -68,7 +68,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); //// [/beta/bin/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","../b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4853599800-import { m } from '../alpha/a'","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"outDir":"./"},"referencedMap":[],"semanticDiagnosticsPerFile":[[2,[{"file":"../b.ts","start":18,"length":12,"messageText":"Output file '/alpha/bin/a.d.ts' has not been built from source file '/alpha/a.ts'.","category":1,"code":6305}]],1],"latestChangedDtsFile":"./b.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","../b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4853599800-import { m } from '../alpha/a'","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"outDir":"./"},"semanticDiagnosticsPerFile":[[2,[{"start":18,"length":12,"messageText":"Output file '/alpha/bin/a.d.ts' has not been built from source file '/alpha/a.ts'.","category":1,"code":6305}]]],"latestChangedDtsFile":"./b.d.ts"},"version":"FakeTSVersion"} //// [/beta/bin/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -110,13 +110,11 @@ Object.defineProperty(exports, "__esModule", { value: true }); "composite": true, "outDir": "./" }, - "referencedMap": {}, "semanticDiagnosticsPerFile": [ [ "../b.ts", [ { - "file": "../b.ts", "start": 18, "length": 12, "messageText": "Output file '/alpha/bin/a.d.ts' has not been built from source file '/alpha/a.ts'.", @@ -124,12 +122,11 @@ Object.defineProperty(exports, "__esModule", { value: true }); "code": 6305 } ] - ], - "../../lib/lib.d.ts" + ] ], "latestChangedDtsFile": "./b.d.ts" }, "version": "FakeTSVersion", - "size": 1021 + "size": 983 } diff --git a/tests/baselines/reference/tsc/projectReferencesConfig/redirects-to-the-output-dts-file.js b/tests/baselines/reference/tsc/projectReferencesConfig/redirects-to-the-output-dts-file.js index b8b58913bf390..acfdabafa9a7c 100644 --- a/tests/baselines/reference/tsc/projectReferencesConfig/redirects-to-the-output-dts-file.js +++ b/tests/baselines/reference/tsc/projectReferencesConfig/redirects-to-the-output-dts-file.js @@ -78,7 +78,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); //// [/beta/bin/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","../../alpha/bin/a.d.ts","../b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3531955686-export { };","impliedFormat":1},{"version":"-4853599800-import { m } from '../alpha/a'","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[2,[3,[{"file":"../b.ts","start":9,"length":1,"messageText":"Module '\"../alpha/a\"' has no exported member 'm'.","category":1,"code":2305}]],1],"latestChangedDtsFile":"./b.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","../../alpha/bin/a.d.ts","../b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3531955686-export { };","impliedFormat":1},{"version":"-4853599800-import { m } from '../alpha/a'","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[[3,[{"start":9,"length":1,"messageText":"Module '\"../alpha/a\"' has no exported member 'm'.","category":1,"code":2305}]]],"latestChangedDtsFile":"./b.d.ts"},"version":"FakeTSVersion"} //// [/beta/bin/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -141,12 +141,10 @@ Object.defineProperty(exports, "__esModule", { value: true }); ] }, "semanticDiagnosticsPerFile": [ - "../../alpha/bin/a.d.ts", [ "../b.ts", [ { - "file": "../b.ts", "start": 9, "length": 1, "messageText": "Module '\"../alpha/a\"' has no exported member 'm'.", @@ -154,12 +152,11 @@ Object.defineProperty(exports, "__esModule", { value: true }); "code": 2305 } ] - ], - "../../lib/lib.d.ts" + ] ], "latestChangedDtsFile": "./b.d.ts" }, "version": "FakeTSVersion", - "size": 1096 + "size": 1075 } diff --git a/tests/baselines/reference/tsc/react-jsx-emit-mode/with-no-backing-types-found-doesn't-crash-under---strict.js b/tests/baselines/reference/tsc/react-jsx-emit-mode/with-no-backing-types-found-doesn't-crash-under---strict.js index 6350e86fe6c8f..53b7fac589998 100644 --- a/tests/baselines/reference/tsc/react-jsx-emit-mode/with-no-backing-types-found-doesn't-crash-under---strict.js +++ b/tests/baselines/reference/tsc/react-jsx-emit-mode/with-no-backing-types-found-doesn't-crash-under---strict.js @@ -70,7 +70,7 @@ exports.App = App; //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./src/index.tsx","./node_modules/@types/react/index.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14760199789-export const App = () =>
    ;","impliedFormat":1},{"version":"-16587767667-\nexport {};\ndeclare global {\n namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n }\n}","affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"options":{"jsx":4,"jsxImportSource":"react","module":1,"strict":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,3,[2,[{"file":"./src/index.tsx","start":25,"length":24,"code":7016,"category":1,"messageText":"Could not find a declaration file for module 'react/jsx-runtime'. '/src/project/node_modules/react/jsx-runtime.js' implicitly has an 'any' type."}]]]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./src/index.tsx","./node_modules/@types/react/index.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14760199789-export const App = () =>
    ;","impliedFormat":1},{"version":"-16587767667-\nexport {};\ndeclare global {\n namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n }\n}","affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"options":{"jsx":4,"jsxImportSource":"react","module":1,"strict":true},"semanticDiagnosticsPerFile":[[2,[{"start":25,"length":24,"code":7016,"category":1,"messageText":"Could not find a declaration file for module 'react/jsx-runtime'. '/src/project/node_modules/react/jsx-runtime.js' implicitly has an 'any' type."}]]]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -125,15 +125,11 @@ exports.App = App; "module": 1, "strict": true }, - "referencedMap": {}, "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./node_modules/@types/react/index.d.ts", [ "./src/index.tsx", [ { - "file": "./src/index.tsx", "start": 25, "length": 24, "code": 7016, @@ -145,6 +141,6 @@ exports.App = App; ] }, "version": "FakeTSVersion", - "size": 1401 + "size": 1353 } diff --git a/tests/baselines/reference/tsc/react-jsx-emit-mode/with-no-backing-types-found-doesn't-crash.js b/tests/baselines/reference/tsc/react-jsx-emit-mode/with-no-backing-types-found-doesn't-crash.js index 2e58fed80ab55..8f02111ec5881 100644 --- a/tests/baselines/reference/tsc/react-jsx-emit-mode/with-no-backing-types-found-doesn't-crash.js +++ b/tests/baselines/reference/tsc/react-jsx-emit-mode/with-no-backing-types-found-doesn't-crash.js @@ -62,7 +62,7 @@ exports.App = App; //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.d.ts","./src/index.tsx","./node_modules/@types/react/index.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14760199789-export const App = () =>
    ;","impliedFormat":1},{"version":"-16587767667-\nexport {};\ndeclare global {\n namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n }\n}","affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"options":{"jsx":4,"jsxImportSource":"react","module":1},"referencedMap":[],"semanticDiagnosticsPerFile":[1,3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.d.ts","./src/index.tsx","./node_modules/@types/react/index.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14760199789-export const App = () =>
    ;","impliedFormat":1},{"version":"-16587767667-\nexport {};\ndeclare global {\n namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n }\n}","affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"options":{"jsx":4,"jsxImportSource":"react","module":1}},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -115,15 +115,9 @@ exports.App = App; "jsx": 4, "jsxImportSource": "react", "module": 1 - }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.d.ts", - "./node_modules/@types/react/index.d.ts", - "./src/index.tsx" - ] + } }, "version": "FakeTSVersion", - "size": 1147 + "size": 1091 } diff --git a/tests/baselines/reference/tscWatch/consoleClearing/when-preserveWatchOutput-is-true-in-config-file/createWatchOfConfigFile.js b/tests/baselines/reference/tscWatch/consoleClearing/when-preserveWatchOutput-is-true-in-config-file/createWatchOfConfigFile.js index abc9c708b818d..378e0e725cb90 100644 --- a/tests/baselines/reference/tscWatch/consoleClearing/when-preserveWatchOutput-is-true-in-config-file/createWatchOfConfigFile.js +++ b/tests/baselines/reference/tscWatch/consoleClearing/when-preserveWatchOutput-is-true-in-config-file/createWatchOfConfigFile.js @@ -85,6 +85,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: [HH:MM:SS AM] File change detected. Starting incremental compilation... diff --git a/tests/baselines/reference/tscWatch/consoleClearing/when-preserveWatchOutput-is-true-in-config-file/when-createWatchProgram-is-invoked-with-configFileParseResult-on-WatchCompilerHostOfConfigFile.js b/tests/baselines/reference/tscWatch/consoleClearing/when-preserveWatchOutput-is-true-in-config-file/when-createWatchProgram-is-invoked-with-configFileParseResult-on-WatchCompilerHostOfConfigFile.js index b0f128ad40244..20979c279b5af 100644 --- a/tests/baselines/reference/tscWatch/consoleClearing/when-preserveWatchOutput-is-true-in-config-file/when-createWatchProgram-is-invoked-with-configFileParseResult-on-WatchCompilerHostOfConfigFile.js +++ b/tests/baselines/reference/tscWatch/consoleClearing/when-preserveWatchOutput-is-true-in-config-file/when-createWatchProgram-is-invoked-with-configFileParseResult-on-WatchCompilerHostOfConfigFile.js @@ -86,6 +86,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: [HH:MM:SS AM] File change detected. Starting incremental compilation... diff --git a/tests/baselines/reference/tscWatch/consoleClearing/with---diagnostics.js b/tests/baselines/reference/tscWatch/consoleClearing/with---diagnostics.js index cc5ba69cb1010..f14e6e827c3ce 100644 --- a/tests/baselines/reference/tscWatch/consoleClearing/with---diagnostics.js +++ b/tests/baselines/reference/tscWatch/consoleClearing/with---diagnostics.js @@ -81,6 +81,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program diff --git a/tests/baselines/reference/tscWatch/consoleClearing/with---extendedDiagnostics.js b/tests/baselines/reference/tscWatch/consoleClearing/with---extendedDiagnostics.js index 09001fa505273..31e419e39b213 100644 --- a/tests/baselines/reference/tscWatch/consoleClearing/with---extendedDiagnostics.js +++ b/tests/baselines/reference/tscWatch/consoleClearing/with---extendedDiagnostics.js @@ -83,6 +83,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program diff --git a/tests/baselines/reference/tscWatch/consoleClearing/with---preserveWatchOutput.js b/tests/baselines/reference/tscWatch/consoleClearing/with---preserveWatchOutput.js index ea5c2123f0811..a828cce76d9f8 100644 --- a/tests/baselines/reference/tscWatch/consoleClearing/with---preserveWatchOutput.js +++ b/tests/baselines/reference/tscWatch/consoleClearing/with---preserveWatchOutput.js @@ -70,6 +70,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: [HH:MM:SS AM] File change detected. Starting incremental compilation... diff --git a/tests/baselines/reference/tscWatch/consoleClearing/without---diagnostics-or---extendedDiagnostics.js b/tests/baselines/reference/tscWatch/consoleClearing/without---diagnostics-or---extendedDiagnostics.js index 5bb50bd212311..6e0ee4823da60 100644 --- a/tests/baselines/reference/tscWatch/consoleClearing/without---diagnostics-or---extendedDiagnostics.js +++ b/tests/baselines/reference/tscWatch/consoleClearing/without---diagnostics-or---extendedDiagnostics.js @@ -70,6 +70,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/emit/emit-file-content/elides-const-enums-correctly-in-incremental-compilation.js b/tests/baselines/reference/tscWatch/emit/emit-file-content/elides-const-enums-correctly-in-incremental-compilation.js index c8ec2a09ee369..34db5e5684227 100644 --- a/tests/baselines/reference/tscWatch/emit/emit-file-content/elides-const-enums-correctly-in-incremental-compilation.js +++ b/tests/baselines/reference/tscWatch/emit/emit-file-content/elides-const-enums-correctly-in-incremental-compilation.js @@ -105,6 +105,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/emit/emit-file-content/file-is-deleted-and-created-as-part-of-change.js b/tests/baselines/reference/tscWatch/emit/emit-file-content/file-is-deleted-and-created-as-part-of-change.js index 6dead42cc1ef1..971038d32ae18 100644 --- a/tests/baselines/reference/tscWatch/emit/emit-file-content/file-is-deleted-and-created-as-part-of-change.js +++ b/tests/baselines/reference/tscWatch/emit/emit-file-content/file-is-deleted-and-created-as-part-of-change.js @@ -90,6 +90,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 4: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/emit/emit-file-content/handles-new-lines-carriageReturn-lineFeed.js b/tests/baselines/reference/tscWatch/emit/emit-file-content/handles-new-lines-carriageReturn-lineFeed.js index 42fe70a7f517d..84aa41b531a7a 100644 --- a/tests/baselines/reference/tscWatch/emit/emit-file-content/handles-new-lines-carriageReturn-lineFeed.js +++ b/tests/baselines/reference/tscWatch/emit/emit-file-content/handles-new-lines-carriageReturn-lineFeed.js @@ -75,6 +75,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/emit/emit-file-content/handles-new-lines-lineFeed.js b/tests/baselines/reference/tscWatch/emit/emit-file-content/handles-new-lines-lineFeed.js index ebc191ee476fe..ada114f8cd389 100644 --- a/tests/baselines/reference/tscWatch/emit/emit-file-content/handles-new-lines-lineFeed.js +++ b/tests/baselines/reference/tscWatch/emit/emit-file-content/handles-new-lines-lineFeed.js @@ -75,6 +75,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/emit/emit-file-content/should-emit-specified-file.js b/tests/baselines/reference/tscWatch/emit/emit-file-content/should-emit-specified-file.js index 135b1ceec8eaa..0c31bed4deb91 100644 --- a/tests/baselines/reference/tscWatch/emit/emit-file-content/should-emit-specified-file.js +++ b/tests/baselines/reference/tscWatch/emit/emit-file-content/should-emit-specified-file.js @@ -118,6 +118,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -182,6 +183,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/emit/emit-for-configured-projects/should-always-return-the-file-itself-if-'--isolatedModules'-is-specified.js b/tests/baselines/reference/tscWatch/emit/emit-for-configured-projects/should-always-return-the-file-itself-if-'--isolatedModules'-is-specified.js index 7f69d3b19b37d..e76468336a4ab 100644 --- a/tests/baselines/reference/tscWatch/emit/emit-for-configured-projects/should-always-return-the-file-itself-if-'--isolatedModules'-is-specified.js +++ b/tests/baselines/reference/tscWatch/emit/emit-for-configured-projects/should-always-return-the-file-itself-if-'--isolatedModules'-is-specified.js @@ -150,6 +150,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/emit/emit-for-configured-projects/should-always-return-the-file-itself-if-'--out'-or-'--outFile'-is-specified.js b/tests/baselines/reference/tscWatch/emit/emit-for-configured-projects/should-always-return-the-file-itself-if-'--out'-or-'--outFile'-is-specified.js index 4a5fb728f100c..1d4b91b9cf2a5 100644 --- a/tests/baselines/reference/tscWatch/emit/emit-for-configured-projects/should-always-return-the-file-itself-if-'--out'-or-'--outFile'-is-specified.js +++ b/tests/baselines/reference/tscWatch/emit/emit-for-configured-projects/should-always-return-the-file-itself-if-'--out'-or-'--outFile'-is-specified.js @@ -157,6 +157,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/emit/emit-for-configured-projects/should-be-up-to-date-with-deleted-files.js b/tests/baselines/reference/tscWatch/emit/emit-for-configured-projects/should-be-up-to-date-with-deleted-files.js index 70ece9843f7e9..c91957eef8654 100644 --- a/tests/baselines/reference/tscWatch/emit/emit-for-configured-projects/should-be-up-to-date-with-deleted-files.js +++ b/tests/baselines/reference/tscWatch/emit/emit-for-configured-projects/should-be-up-to-date-with-deleted-files.js @@ -146,6 +146,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/emit/emit-for-configured-projects/should-be-up-to-date-with-newly-created-files.js b/tests/baselines/reference/tscWatch/emit/emit-for-configured-projects/should-be-up-to-date-with-newly-created-files.js index b58eab57119e7..098cb0258d35d 100644 --- a/tests/baselines/reference/tscWatch/emit/emit-for-configured-projects/should-be-up-to-date-with-newly-created-files.js +++ b/tests/baselines/reference/tscWatch/emit/emit-for-configured-projects/should-be-up-to-date-with-newly-created-files.js @@ -148,6 +148,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/emit/emit-for-configured-projects/should-be-up-to-date-with-the-reference-map-changes.js b/tests/baselines/reference/tscWatch/emit/emit-for-configured-projects/should-be-up-to-date-with-the-reference-map-changes.js index 175153d87ca61..2a07624307725 100644 --- a/tests/baselines/reference/tscWatch/emit/emit-for-configured-projects/should-be-up-to-date-with-the-reference-map-changes.js +++ b/tests/baselines/reference/tscWatch/emit/emit-for-configured-projects/should-be-up-to-date-with-the-reference-map-changes.js @@ -145,6 +145,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -210,6 +211,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -280,6 +282,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -340,6 +343,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 4: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -422,6 +426,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 6: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/emit/emit-for-configured-projects/should-contains-only-itself-if-a-module-file's-shape-didn't-change,-and-all-files-referencing-it-if-its-shape-changed.js b/tests/baselines/reference/tscWatch/emit/emit-for-configured-projects/should-contains-only-itself-if-a-module-file's-shape-didn't-change,-and-all-files-referencing-it-if-its-shape-changed.js index 00f8f0b4e3b29..fb9f3dc24dc6a 100644 --- a/tests/baselines/reference/tscWatch/emit/emit-for-configured-projects/should-contains-only-itself-if-a-module-file's-shape-didn't-change,-and-all-files-referencing-it-if-its-shape-changed.js +++ b/tests/baselines/reference/tscWatch/emit/emit-for-configured-projects/should-contains-only-itself-if-a-module-file's-shape-didn't-change,-and-all-files-referencing-it-if-its-shape-changed.js @@ -145,6 +145,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -213,6 +214,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/emit/emit-for-configured-projects/should-detect-changes-in-non-root-files.js b/tests/baselines/reference/tscWatch/emit/emit-for-configured-projects/should-detect-changes-in-non-root-files.js index 3638d3289b154..3f5bedd360a5c 100644 --- a/tests/baselines/reference/tscWatch/emit/emit-for-configured-projects/should-detect-changes-in-non-root-files.js +++ b/tests/baselines/reference/tscWatch/emit/emit-for-configured-projects/should-detect-changes-in-non-root-files.js @@ -110,6 +110,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -168,6 +169,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/emit/emit-for-configured-projects/should-detect-non-existing-code-file.js b/tests/baselines/reference/tscWatch/emit/emit-for-configured-projects/should-detect-non-existing-code-file.js index 15f9ad4d41e9b..f98f617b8653b 100644 --- a/tests/baselines/reference/tscWatch/emit/emit-for-configured-projects/should-detect-non-existing-code-file.js +++ b/tests/baselines/reference/tscWatch/emit/emit-for-configured-projects/should-detect-non-existing-code-file.js @@ -102,6 +102,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -187,6 +188,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/emit/emit-for-configured-projects/should-detect-removed-code-file.js b/tests/baselines/reference/tscWatch/emit/emit-for-configured-projects/should-detect-removed-code-file.js index 99633d9f036ed..d8d48f5ea5827 100644 --- a/tests/baselines/reference/tscWatch/emit/emit-for-configured-projects/should-detect-removed-code-file.js +++ b/tests/baselines/reference/tscWatch/emit/emit-for-configured-projects/should-detect-removed-code-file.js @@ -107,6 +107,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/emit/emit-for-configured-projects/should-return-all-files-if-a-global-file-changed-shape.js b/tests/baselines/reference/tscWatch/emit/emit-for-configured-projects/should-return-all-files-if-a-global-file-changed-shape.js index 369fbd7b9f16c..0d97bcfba8bc5 100644 --- a/tests/baselines/reference/tscWatch/emit/emit-for-configured-projects/should-return-all-files-if-a-global-file-changed-shape.js +++ b/tests/baselines/reference/tscWatch/emit/emit-for-configured-projects/should-return-all-files-if-a-global-file-changed-shape.js @@ -145,6 +145,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/emit/emit-for-configured-projects/should-return-cascaded-affected-file-list.js b/tests/baselines/reference/tscWatch/emit/emit-for-configured-projects/should-return-cascaded-affected-file-list.js index b465adc6b54c3..c5b63e579bd3b 100644 --- a/tests/baselines/reference/tscWatch/emit/emit-for-configured-projects/should-return-cascaded-affected-file-list.js +++ b/tests/baselines/reference/tscWatch/emit/emit-for-configured-projects/should-return-cascaded-affected-file-list.js @@ -159,6 +159,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -224,6 +225,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -299,6 +301,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 4: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/emit/emit-for-configured-projects/should-work-fine-for-files-with-circular-references.js b/tests/baselines/reference/tscWatch/emit/emit-for-configured-projects/should-work-fine-for-files-with-circular-references.js index 3ab5cab0a84d8..dfbfc2fe709d6 100644 --- a/tests/baselines/reference/tscWatch/emit/emit-for-configured-projects/should-work-fine-for-files-with-circular-references.js +++ b/tests/baselines/reference/tscWatch/emit/emit-for-configured-projects/should-work-fine-for-files-with-circular-references.js @@ -106,6 +106,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/emit/emit-with-outFile-or-out-setting/config-does-not-have-out-or-outFile.js b/tests/baselines/reference/tscWatch/emit/emit-with-outFile-or-out-setting/config-does-not-have-out-or-outFile.js index bc33a3a796306..f7c597dedaee6 100644 --- a/tests/baselines/reference/tscWatch/emit/emit-with-outFile-or-out-setting/config-does-not-have-out-or-outFile.js +++ b/tests/baselines/reference/tscWatch/emit/emit-with-outFile-or-out-setting/config-does-not-have-out-or-outFile.js @@ -98,6 +98,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -154,6 +155,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/emit/emit-with-outFile-or-out-setting/config-has-out.js b/tests/baselines/reference/tscWatch/emit/emit-with-outFile-or-out-setting/config-has-out.js index 1824ca7d6a713..f5cf14a8e9990 100644 --- a/tests/baselines/reference/tscWatch/emit/emit-with-outFile-or-out-setting/config-has-out.js +++ b/tests/baselines/reference/tscWatch/emit/emit-with-outFile-or-out-setting/config-has-out.js @@ -104,6 +104,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -164,6 +165,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/emit/emit-with-outFile-or-out-setting/config-has-outFile.js b/tests/baselines/reference/tscWatch/emit/emit-with-outFile-or-out-setting/config-has-outFile.js index 9b26de2a23ce6..e2c411f479c72 100644 --- a/tests/baselines/reference/tscWatch/emit/emit-with-outFile-or-out-setting/config-has-outFile.js +++ b/tests/baselines/reference/tscWatch/emit/emit-with-outFile-or-out-setting/config-has-outFile.js @@ -92,6 +92,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -144,6 +145,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/emit/when-module-emit-is-specified-as-node/when-instead-of-filechanged-recursive-directory-watcher-is-invoked.js b/tests/baselines/reference/tscWatch/emit/when-module-emit-is-specified-as-node/when-instead-of-filechanged-recursive-directory-watcher-is-invoked.js index c415bc3d9bc93..b82fc5b7031e0 100644 --- a/tests/baselines/reference/tscWatch/emit/when-module-emit-is-specified-as-node/when-instead-of-filechanged-recursive-directory-watcher-is-invoked.js +++ b/tests/baselines/reference/tscWatch/emit/when-module-emit-is-specified-as-node/when-instead-of-filechanged-recursive-directory-watcher-is-invoked.js @@ -111,6 +111,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependencies/deepImportChanges/errors-for-.d.ts-change-with-incremental.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependencies/deepImportChanges/errors-for-.d.ts-change-with-incremental.js index bc1561cec4fb7..9009c274867f3 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependencies/deepImportChanges/errors-for-.d.ts-change-with-incremental.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependencies/deepImportChanges/errors-for-.d.ts-change-with-incremental.js @@ -54,7 +54,7 @@ console.log(b.c.d); //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.d.ts","./b.d.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18774426152-export class C\n{\n d: number;\n}","impliedFormat":1},{"version":"-1688906387-import {C} from './c';\nexport class B\n{\n c: C;\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","impliedFormat":1}],"root":[[2,4]],"options":{"assumeChangesOnlyAffectDirectDependencies":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,4,3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.d.ts","./b.d.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18774426152-export class C\n{\n d: number;\n}","impliedFormat":1},{"version":"-1688906387-import {C} from './c';\nexport class B\n{\n c: C;\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","impliedFormat":1}],"root":[[2,4]],"options":{"assumeChangesOnlyAffectDirectDependencies":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,16 +136,10 @@ console.log(b.c.d); "./b.d.ts": [ "./c.d.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.d.ts", - "./c.d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1027 + "size": 988 } @@ -230,6 +224,7 @@ Before running Timeout callback:: count: 2 2: timerToInvalidateFailedLookupResolutions 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -240,7 +235,7 @@ Output:: //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.d.ts","./b.d.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-21444928214-export class C\n{\n d2: number;\n}","impliedFormat":1},{"version":"-1688906387-import {C} from './c';\nexport class B\n{\n c: C;\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","impliedFormat":1}],"root":[[2,4]],"options":{"assumeChangesOnlyAffectDirectDependencies":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,4,3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.d.ts","./b.d.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-21444928214-export class C\n{\n d2: number;\n}","impliedFormat":1},{"version":"-1688906387-import {C} from './c';\nexport class B\n{\n c: C;\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","impliedFormat":1}],"root":[[2,4]],"options":{"assumeChangesOnlyAffectDirectDependencies":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -322,16 +317,10 @@ Output:: "./b.d.ts": [ "./c.d.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.d.ts", - "./c.d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1028 + "size": 989 } @@ -380,6 +369,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 4: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -390,7 +380,7 @@ Output:: //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.d.ts","./b.d.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18774426152-export class C\n{\n d: number;\n}","impliedFormat":1},{"version":"-1688906387-import {C} from './c';\nexport class B\n{\n c: C;\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","impliedFormat":1}],"root":[[2,4]],"options":{"assumeChangesOnlyAffectDirectDependencies":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,4,3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.d.ts","./b.d.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18774426152-export class C\n{\n d: number;\n}","impliedFormat":1},{"version":"-1688906387-import {C} from './c';\nexport class B\n{\n c: C;\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","impliedFormat":1}],"root":[[2,4]],"options":{"assumeChangesOnlyAffectDirectDependencies":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -472,16 +462,10 @@ Output:: "./b.d.ts": [ "./c.d.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.d.ts", - "./c.d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1027 + "size": 988 } @@ -530,6 +514,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 5: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -540,7 +525,7 @@ Output:: //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.d.ts","./b.d.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-21444928214-export class C\n{\n d2: number;\n}","impliedFormat":1},{"version":"-1688906387-import {C} from './c';\nexport class B\n{\n c: C;\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","impliedFormat":1}],"root":[[2,4]],"options":{"assumeChangesOnlyAffectDirectDependencies":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,4,3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.d.ts","./b.d.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-21444928214-export class C\n{\n d2: number;\n}","impliedFormat":1},{"version":"-1688906387-import {C} from './c';\nexport class B\n{\n c: C;\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","impliedFormat":1}],"root":[[2,4]],"options":{"assumeChangesOnlyAffectDirectDependencies":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -622,16 +607,10 @@ Output:: "./b.d.ts": [ "./c.d.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.d.ts", - "./c.d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1028 + "size": 989 } diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependencies/deepImportChanges/errors-for-.d.ts-change.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependencies/deepImportChanges/errors-for-.d.ts-change.js index 88790c8c01fd7..dbb0ea009ca5f 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependencies/deepImportChanges/errors-for-.d.ts-change.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependencies/deepImportChanges/errors-for-.d.ts-change.js @@ -129,6 +129,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -183,6 +184,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -237,6 +239,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependencies/deepImportChanges/errors-for-.ts-change-with-incremental.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependencies/deepImportChanges/errors-for-.ts-change-with-incremental.js index 7270e071ae324..313aaae353cf7 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependencies/deepImportChanges/errors-for-.ts-change-with-incremental.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependencies/deepImportChanges/errors-for-.ts-change-with-incremental.js @@ -81,7 +81,7 @@ console.log(b.c.d); //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-22447130237-export class C\n{\n d = 1;\n}","impliedFormat":1},{"version":"-6292386773-import {C} from './c';\nexport class B\n{\n c = new C();\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","impliedFormat":1}],"root":[[2,4]],"options":{"assumeChangesOnlyAffectDirectDependencies":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,4,3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-22447130237-export class C\n{\n d = 1;\n}","impliedFormat":1},{"version":"-6292386773-import {C} from './c';\nexport class B\n{\n c = new C();\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","impliedFormat":1}],"root":[[2,4]],"options":{"assumeChangesOnlyAffectDirectDependencies":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -163,16 +163,10 @@ console.log(b.c.d); "./b.ts": [ "./c.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1026 + "size": 987 } @@ -250,6 +244,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -280,7 +275,7 @@ exports.C = C; //// [/user/username/projects/myproject/b.js] file written with same contents //// [/user/username/projects/myproject/a.js] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-22846341163-export class C\n{\n d2 = 1;\n}","signature":"-4637923302-export declare class C {\n d2: number;\n}\n","impliedFormat":1},{"version":"-6292386773-import {C} from './c';\nexport class B\n{\n c = new C();\n}","signature":"-165097315-import { C } from './c';\nexport declare class B {\n c: C;\n}\n","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"assumeChangesOnlyAffectDirectDependencies":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,[4,[{"file":"./a.ts","start":82,"length":1,"code":2339,"category":1,"messageText":"Property 'd' does not exist on type 'C'."}]],3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-22846341163-export class C\n{\n d2 = 1;\n}","signature":"-4637923302-export declare class C {\n d2: number;\n}\n","impliedFormat":1},{"version":"-6292386773-import {C} from './c';\nexport class B\n{\n c = new C();\n}","signature":"-165097315-import { C } from './c';\nexport declare class B {\n c: C;\n}\n","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"assumeChangesOnlyAffectDirectDependencies":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[[4,[{"start":82,"length":1,"code":2339,"category":1,"messageText":"Property 'd' does not exist on type 'C'."}]]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -367,12 +362,10 @@ exports.C = C; ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", [ "./a.ts", [ { - "file": "./a.ts", "start": 82, "length": 1, "code": 2339, @@ -380,13 +373,11 @@ exports.C = C; "messageText": "Property 'd' does not exist on type 'C'." } ] - ], - "./b.ts", - "./c.ts" + ] ] }, "version": "FakeTSVersion", - "size": 1357 + "size": 1335 } @@ -437,6 +428,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -466,7 +458,7 @@ exports.C = C; //// [/user/username/projects/myproject/b.js] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-22447130237-export class C\n{\n d = 1;\n}","signature":"-6977846840-export declare class C {\n d: number;\n}\n","impliedFormat":1},{"version":"-6292386773-import {C} from './c';\nexport class B\n{\n c = new C();\n}","signature":"-165097315-import { C } from './c';\nexport declare class B {\n c: C;\n}\n","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"assumeChangesOnlyAffectDirectDependencies":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,[4,[{"file":"./a.ts","start":82,"length":1,"code":2339,"category":1,"messageText":"Property 'd' does not exist on type 'C'."}]],3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-22447130237-export class C\n{\n d = 1;\n}","signature":"-6977846840-export declare class C {\n d: number;\n}\n","impliedFormat":1},{"version":"-6292386773-import {C} from './c';\nexport class B\n{\n c = new C();\n}","signature":"-165097315-import { C } from './c';\nexport declare class B {\n c: C;\n}\n","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"assumeChangesOnlyAffectDirectDependencies":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[[4,[{"start":82,"length":1,"code":2339,"category":1,"messageText":"Property 'd' does not exist on type 'C'."}]]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -553,12 +545,10 @@ exports.C = C; ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", [ "./a.ts", [ { - "file": "./a.ts", "start": 82, "length": 1, "code": 2339, @@ -566,13 +556,11 @@ exports.C = C; "messageText": "Property 'd' does not exist on type 'C'." } ] - ], - "./b.ts", - "./c.ts" + ] ] }, "version": "FakeTSVersion", - "size": 1355 + "size": 1333 } @@ -621,6 +609,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -650,7 +639,7 @@ exports.C = C; //// [/user/username/projects/myproject/b.js] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-22846341163-export class C\n{\n d2 = 1;\n}","signature":"-4637923302-export declare class C {\n d2: number;\n}\n","impliedFormat":1},{"version":"-6292386773-import {C} from './c';\nexport class B\n{\n c = new C();\n}","signature":"-165097315-import { C } from './c';\nexport declare class B {\n c: C;\n}\n","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"assumeChangesOnlyAffectDirectDependencies":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,[4,[{"file":"./a.ts","start":82,"length":1,"code":2339,"category":1,"messageText":"Property 'd' does not exist on type 'C'."}]],3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-22846341163-export class C\n{\n d2 = 1;\n}","signature":"-4637923302-export declare class C {\n d2: number;\n}\n","impliedFormat":1},{"version":"-6292386773-import {C} from './c';\nexport class B\n{\n c = new C();\n}","signature":"-165097315-import { C } from './c';\nexport declare class B {\n c: C;\n}\n","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"assumeChangesOnlyAffectDirectDependencies":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[[4,[{"start":82,"length":1,"code":2339,"category":1,"messageText":"Property 'd' does not exist on type 'C'."}]]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -737,12 +726,10 @@ exports.C = C; ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", [ "./a.ts", [ { - "file": "./a.ts", "start": 82, "length": 1, "code": 2339, @@ -750,13 +737,11 @@ exports.C = C; "messageText": "Property 'd' does not exist on type 'C'." } ] - ], - "./b.ts", - "./c.ts" + ] ] }, "version": "FakeTSVersion", - "size": 1357 + "size": 1335 } diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependencies/deepImportChanges/errors-for-.ts-change.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependencies/deepImportChanges/errors-for-.ts-change.js index ad957561c57db..ade51cdc29fed 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependencies/deepImportChanges/errors-for-.ts-change.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependencies/deepImportChanges/errors-for-.ts-change.js @@ -154,6 +154,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -230,6 +231,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -303,6 +305,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependencies/file-not-exporting-a-deep-multilevel-import-that-changes-with-incremental.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependencies/file-not-exporting-a-deep-multilevel-import-that-changes-with-incremental.js index 89b38102ae199..1570328b2fcbd 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependencies/file-not-exporting-a-deep-multilevel-import-that-changes-with-incremental.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependencies/file-not-exporting-a-deep-multilevel-import-that-changes-with-incremental.js @@ -115,7 +115,7 @@ require("./d"); //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts","./e.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"9889814467-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x2: number;\n y: number;\n}","impliedFormat":1},{"version":"-8029610078-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}","impliedFormat":1},{"version":"-37232372138-import { PointWrapper } from \"./b\";\nexport function getPoint(): PointWrapper {\n return {\n name: \"test\",\n c: {\n x: 1,\n y: 2\n }\n }\n};","impliedFormat":1},{"version":"-17875457076-import { getPoint } from \"./c\";\ngetPoint().c.x;","impliedFormat":1},{"version":"-5185546240-import \"./d\";","impliedFormat":1}],"root":[[2,6]],"options":{"assumeChangesOnlyAffectDirectDependencies":true},"fileIdsList":[[2],[3],[4],[5]],"referencedMap":[[3,1],[4,2],[5,3],[6,4]],"semanticDiagnosticsPerFile":[1,2,3,[4,[{"file":"./c.ts","start":139,"length":1,"code":2353,"category":1,"messageText":"Object literal may only specify known properties, and 'x' does not exist in type 'Coords'.","relatedInformation":[{"file":"./a.ts","start":47,"length":1,"messageText":"The expected type comes from property 'c' which is declared here on type 'PointWrapper'","category":3,"code":6500}]}]],[5,[{"file":"./d.ts","start":45,"length":1,"code":2339,"category":1,"messageText":"Property 'x' does not exist on type 'Coords'."}]],6]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts","./e.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"9889814467-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x2: number;\n y: number;\n}","impliedFormat":1},{"version":"-8029610078-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}","impliedFormat":1},{"version":"-37232372138-import { PointWrapper } from \"./b\";\nexport function getPoint(): PointWrapper {\n return {\n name: \"test\",\n c: {\n x: 1,\n y: 2\n }\n }\n};","impliedFormat":1},{"version":"-17875457076-import { getPoint } from \"./c\";\ngetPoint().c.x;","impliedFormat":1},{"version":"-5185546240-import \"./d\";","impliedFormat":1}],"root":[[2,6]],"options":{"assumeChangesOnlyAffectDirectDependencies":true},"fileIdsList":[[2],[3],[4],[5]],"referencedMap":[[3,1],[4,2],[5,3],[6,4]],"semanticDiagnosticsPerFile":[[4,[{"start":139,"length":1,"code":2353,"category":1,"messageText":"Object literal may only specify known properties, and 'x' does not exist in type 'Coords'.","relatedInformation":[{"file":"./a.ts","start":47,"length":1,"messageText":"The expected type comes from property 'c' which is declared here on type 'PointWrapper'","category":3,"code":6500}]}]],[5,[{"start":45,"length":1,"code":2339,"category":1,"messageText":"Property 'x' does not exist on type 'Coords'."}]]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -233,14 +233,10 @@ require("./d"); ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.ts", [ "./c.ts", [ { - "file": "./c.ts", "start": 139, "length": 1, "code": 2353, @@ -263,7 +259,6 @@ require("./d"); "./d.ts", [ { - "file": "./d.ts", "start": 45, "length": 1, "code": 2339, @@ -271,12 +266,11 @@ require("./d"); "messageText": "Property 'x' does not exist on type 'Coords'." } ] - ], - "./e.ts" + ] ] }, "version": "FakeTSVersion", - "size": 1940 + "size": 1900 } @@ -370,6 +364,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -385,7 +380,7 @@ Output:: //// [/user/username/projects/myproject/d.js] file written with same contents //// [/user/username/projects/myproject/e.js] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts","./e.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"2103509937-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x: number;\n y: number;\n}","signature":"696351195-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x: number;\n y: number;\n}\n","impliedFormat":1},{"version":"-8029610078-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}","signature":"-7279094804-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}\n","impliedFormat":1},{"version":"-37232372138-import { PointWrapper } from \"./b\";\nexport function getPoint(): PointWrapper {\n return {\n name: \"test\",\n c: {\n x: 1,\n y: 2\n }\n }\n};","signature":"-3387333988-import { PointWrapper } from \"./b\";\nexport declare function getPoint(): PointWrapper;\n","impliedFormat":1},{"version":"-17875457076-import { getPoint } from \"./c\";\ngetPoint().c.x;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-5185546240-import \"./d\";","signature":"-3619301366-import \"./d\";\n","impliedFormat":1}],"root":[[2,6]],"options":{"assumeChangesOnlyAffectDirectDependencies":true},"fileIdsList":[[2],[3],[4],[5]],"referencedMap":[[3,1],[4,2],[5,3],[6,4]],"semanticDiagnosticsPerFile":[1,2,3,4,5,6]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts","./e.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"2103509937-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x: number;\n y: number;\n}","signature":"696351195-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x: number;\n y: number;\n}\n","impliedFormat":1},{"version":"-8029610078-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}","signature":"-7279094804-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}\n","impliedFormat":1},{"version":"-37232372138-import { PointWrapper } from \"./b\";\nexport function getPoint(): PointWrapper {\n return {\n name: \"test\",\n c: {\n x: 1,\n y: 2\n }\n }\n};","signature":"-3387333988-import { PointWrapper } from \"./b\";\nexport declare function getPoint(): PointWrapper;\n","impliedFormat":1},{"version":"-17875457076-import { getPoint } from \"./c\";\ngetPoint().c.x;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-5185546240-import \"./d\";","signature":"-3619301366-import \"./d\";\n","impliedFormat":1}],"root":[[2,6]],"options":{"assumeChangesOnlyAffectDirectDependencies":true},"fileIdsList":[[2],[3],[4],[5]],"referencedMap":[[3,1],[4,2],[5,3],[6,4]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -506,18 +501,10 @@ Output:: "./e.ts": [ "./d.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts", - "./e.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1899 + "size": 1856 } @@ -580,6 +567,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -592,7 +580,7 @@ Output:: //// [/user/username/projects/myproject/a.js] file written with same contents //// [/user/username/projects/myproject/b.js] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts","./e.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"9889814467-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x2: number;\n y: number;\n}","signature":"8536297517-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x2: number;\n y: number;\n}\n","impliedFormat":1},{"version":"-8029610078-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}","signature":"-7279094804-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}\n","impliedFormat":1},{"version":"-37232372138-import { PointWrapper } from \"./b\";\nexport function getPoint(): PointWrapper {\n return {\n name: \"test\",\n c: {\n x: 1,\n y: 2\n }\n }\n};","signature":"-3387333988-import { PointWrapper } from \"./b\";\nexport declare function getPoint(): PointWrapper;\n","impliedFormat":1},{"version":"-17875457076-import { getPoint } from \"./c\";\ngetPoint().c.x;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-5185546240-import \"./d\";","signature":"-3619301366-import \"./d\";\n","impliedFormat":1}],"root":[[2,6]],"options":{"assumeChangesOnlyAffectDirectDependencies":true},"fileIdsList":[[2],[3],[4],[5]],"referencedMap":[[3,1],[4,2],[5,3],[6,4]],"semanticDiagnosticsPerFile":[1,2,3,4,5,6]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts","./e.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"9889814467-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x2: number;\n y: number;\n}","signature":"8536297517-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x2: number;\n y: number;\n}\n","impliedFormat":1},{"version":"-8029610078-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}","signature":"-7279094804-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}\n","impliedFormat":1},{"version":"-37232372138-import { PointWrapper } from \"./b\";\nexport function getPoint(): PointWrapper {\n return {\n name: \"test\",\n c: {\n x: 1,\n y: 2\n }\n }\n};","signature":"-3387333988-import { PointWrapper } from \"./b\";\nexport declare function getPoint(): PointWrapper;\n","impliedFormat":1},{"version":"-17875457076-import { getPoint } from \"./c\";\ngetPoint().c.x;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-5185546240-import \"./d\";","signature":"-3619301366-import \"./d\";\n","impliedFormat":1}],"root":[[2,6]],"options":{"assumeChangesOnlyAffectDirectDependencies":true},"fileIdsList":[[2],[3],[4],[5]],"referencedMap":[[3,1],[4,2],[5,3],[6,4]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -713,18 +701,10 @@ Output:: "./e.ts": [ "./d.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts", - "./e.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1902 + "size": 1859 } @@ -781,6 +761,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -793,7 +774,7 @@ Output:: //// [/user/username/projects/myproject/a.js] file written with same contents //// [/user/username/projects/myproject/b.js] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts","./e.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"2103509937-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x: number;\n y: number;\n}","signature":"696351195-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x: number;\n y: number;\n}\n","impliedFormat":1},{"version":"-8029610078-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}","signature":"-7279094804-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}\n","impliedFormat":1},{"version":"-37232372138-import { PointWrapper } from \"./b\";\nexport function getPoint(): PointWrapper {\n return {\n name: \"test\",\n c: {\n x: 1,\n y: 2\n }\n }\n};","signature":"-3387333988-import { PointWrapper } from \"./b\";\nexport declare function getPoint(): PointWrapper;\n","impliedFormat":1},{"version":"-17875457076-import { getPoint } from \"./c\";\ngetPoint().c.x;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-5185546240-import \"./d\";","signature":"-3619301366-import \"./d\";\n","impliedFormat":1}],"root":[[2,6]],"options":{"assumeChangesOnlyAffectDirectDependencies":true},"fileIdsList":[[2],[3],[4],[5]],"referencedMap":[[3,1],[4,2],[5,3],[6,4]],"semanticDiagnosticsPerFile":[1,2,3,4,5,6]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts","./e.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"2103509937-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x: number;\n y: number;\n}","signature":"696351195-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x: number;\n y: number;\n}\n","impliedFormat":1},{"version":"-8029610078-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}","signature":"-7279094804-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}\n","impliedFormat":1},{"version":"-37232372138-import { PointWrapper } from \"./b\";\nexport function getPoint(): PointWrapper {\n return {\n name: \"test\",\n c: {\n x: 1,\n y: 2\n }\n }\n};","signature":"-3387333988-import { PointWrapper } from \"./b\";\nexport declare function getPoint(): PointWrapper;\n","impliedFormat":1},{"version":"-17875457076-import { getPoint } from \"./c\";\ngetPoint().c.x;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-5185546240-import \"./d\";","signature":"-3619301366-import \"./d\";\n","impliedFormat":1}],"root":[[2,6]],"options":{"assumeChangesOnlyAffectDirectDependencies":true},"fileIdsList":[[2],[3],[4],[5]],"referencedMap":[[3,1],[4,2],[5,3],[6,4]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -914,18 +895,10 @@ Output:: "./e.ts": [ "./d.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts", - "./e.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1899 + "size": 1856 } diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependencies/file-not-exporting-a-deep-multilevel-import-that-changes.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependencies/file-not-exporting-a-deep-multilevel-import-that-changes.js index 9ad78d66e7034..c8742f7651a3c 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependencies/file-not-exporting-a-deep-multilevel-import-that-changes.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependencies/file-not-exporting-a-deep-multilevel-import-that-changes.js @@ -204,6 +204,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -277,6 +278,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -341,6 +343,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependencies/transitive-exports/no-circular-import/export-with-incremental.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependencies/transitive-exports/no-circular-import/export-with-incremental.js index b46c48d909f71..17e29c3f4183a 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependencies/transitive-exports/no-circular-import/export-with-incremental.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependencies/transitive-exports/no-circular-import/export-with-incremental.js @@ -164,7 +164,7 @@ exports.App = App; //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4369626085-export interface ITest {\n title: string;\n}","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","impliedFormat":1},{"version":"-30573389178-import { ITest } from \"lib1/public\";\nexport class Data {\n public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","impliedFormat":1}],"root":[7],"options":{"assumeChangesOnlyAffectDirectDependencies":true},"fileIdsList":[[6],[3],[2],[4],[5]],"referencedMap":[[7,1],[4,2],[3,3],[5,4],[6,5]],"semanticDiagnosticsPerFile":[1,7,4,3,2,5,6]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4369626085-export interface ITest {\n title: string;\n}","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","impliedFormat":1},{"version":"-30573389178-import { ITest } from \"lib1/public\";\nexport class Data {\n public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","impliedFormat":1}],"root":[7],"options":{"assumeChangesOnlyAffectDirectDependencies":true},"fileIdsList":[[6],[3],[2],[4],[5]],"referencedMap":[[7,1],[4,2],[3,3],[5,4],[6,5]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -287,19 +287,10 @@ exports.App = App; "./lib2/public.ts": [ "./lib2/data.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./app.ts", - "./lib1/public.ts", - "./lib1/tools/public.ts", - "./lib1/tools/toolsinterface.ts", - "./lib2/data.ts", - "./lib2/public.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1562 + "size": 1517 } @@ -392,6 +383,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -413,7 +405,7 @@ Output:: //// [/user/username/projects/myproject/lib2/public.js] file written with same contents //// [/user/username/projects/myproject/app.js] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3501597171-export interface ITest {\n title2: string;\n}","signature":"-3883556937-export interface ITest {\n title2: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-30573389178-import { ITest } from \"lib1/public\";\nexport class Data {\n public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-15758516261-import { ITest } from \"lib1/public\";\nexport declare class Data {\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[7],"options":{"assumeChangesOnlyAffectDirectDependencies":true},"fileIdsList":[[6],[3],[2],[4],[5]],"referencedMap":[[7,1],[4,2],[3,3],[5,4],[6,5]],"semanticDiagnosticsPerFile":[1,7,4,3,2,[5,[{"file":"./lib2/data.ts","start":121,"length":5,"code":2561,"category":1,"messageText":"Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?"}]],6]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3501597171-export interface ITest {\n title2: string;\n}","signature":"-3883556937-export interface ITest {\n title2: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-30573389178-import { ITest } from \"lib1/public\";\nexport class Data {\n public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-15758516261-import { ITest } from \"lib1/public\";\nexport declare class Data {\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[7],"options":{"assumeChangesOnlyAffectDirectDependencies":true},"fileIdsList":[[6],[3],[2],[4],[5]],"referencedMap":[[7,1],[4,2],[3,3],[5,4],[6,5]],"semanticDiagnosticsPerFile":[[5,[{"start":121,"length":5,"code":2561,"category":1,"messageText":"Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?"}]]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -544,16 +536,10 @@ Output:: ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./app.ts", - "./lib1/public.ts", - "./lib1/tools/public.ts", - "./lib1/tools/toolsinterface.ts", [ "./lib2/data.ts", [ { - "file": "./lib2/data.ts", "start": 121, "length": 5, "code": 2561, @@ -561,12 +547,11 @@ Output:: "messageText": "Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?" } ] - ], - "./lib2/public.ts" + ] ] }, "version": "FakeTSVersion", - "size": 2240 + "size": 2204 } @@ -624,6 +609,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -641,7 +627,7 @@ Output:: //// [/user/username/projects/myproject/lib1/tools/toolsinterface.js] file written with same contents //// [/user/username/projects/myproject/lib1/tools/public.js] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4369626085-export interface ITest {\n title: string;\n}","signature":"-2463740027-export interface ITest {\n title: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-30573389178-import { ITest } from \"lib1/public\";\nexport class Data {\n public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-15758516261-import { ITest } from \"lib1/public\";\nexport declare class Data {\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[7],"options":{"assumeChangesOnlyAffectDirectDependencies":true},"fileIdsList":[[6],[3],[2],[4],[5]],"referencedMap":[[7,1],[4,2],[3,3],[5,4],[6,5]],"semanticDiagnosticsPerFile":[1,7,4,3,2,[5,[{"file":"./lib2/data.ts","start":121,"length":5,"code":2561,"category":1,"messageText":"Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?"}]],6]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4369626085-export interface ITest {\n title: string;\n}","signature":"-2463740027-export interface ITest {\n title: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-30573389178-import { ITest } from \"lib1/public\";\nexport class Data {\n public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-15758516261-import { ITest } from \"lib1/public\";\nexport declare class Data {\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[7],"options":{"assumeChangesOnlyAffectDirectDependencies":true},"fileIdsList":[[6],[3],[2],[4],[5]],"referencedMap":[[7,1],[4,2],[3,3],[5,4],[6,5]],"semanticDiagnosticsPerFile":[[5,[{"start":121,"length":5,"code":2561,"category":1,"messageText":"Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?"}]]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -772,16 +758,10 @@ Output:: ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./app.ts", - "./lib1/public.ts", - "./lib1/tools/public.ts", - "./lib1/tools/toolsinterface.ts", [ "./lib2/data.ts", [ { - "file": "./lib2/data.ts", "start": 121, "length": 5, "code": 2561, @@ -789,12 +769,11 @@ Output:: "messageText": "Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?" } ] - ], - "./lib2/public.ts" + ] ] }, "version": "FakeTSVersion", - "size": 2238 + "size": 2202 } @@ -844,6 +823,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -861,7 +841,7 @@ Output:: //// [/user/username/projects/myproject/lib1/tools/toolsinterface.js] file written with same contents //// [/user/username/projects/myproject/lib1/tools/public.js] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3501597171-export interface ITest {\n title2: string;\n}","signature":"-3883556937-export interface ITest {\n title2: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-30573389178-import { ITest } from \"lib1/public\";\nexport class Data {\n public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-15758516261-import { ITest } from \"lib1/public\";\nexport declare class Data {\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[7],"options":{"assumeChangesOnlyAffectDirectDependencies":true},"fileIdsList":[[6],[3],[2],[4],[5]],"referencedMap":[[7,1],[4,2],[3,3],[5,4],[6,5]],"semanticDiagnosticsPerFile":[1,7,4,3,2,[5,[{"file":"./lib2/data.ts","start":121,"length":5,"code":2561,"category":1,"messageText":"Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?"}]],6]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3501597171-export interface ITest {\n title2: string;\n}","signature":"-3883556937-export interface ITest {\n title2: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-30573389178-import { ITest } from \"lib1/public\";\nexport class Data {\n public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-15758516261-import { ITest } from \"lib1/public\";\nexport declare class Data {\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[7],"options":{"assumeChangesOnlyAffectDirectDependencies":true},"fileIdsList":[[6],[3],[2],[4],[5]],"referencedMap":[[7,1],[4,2],[3,3],[5,4],[6,5]],"semanticDiagnosticsPerFile":[[5,[{"start":121,"length":5,"code":2561,"category":1,"messageText":"Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?"}]]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -992,16 +972,10 @@ Output:: ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./app.ts", - "./lib1/public.ts", - "./lib1/tools/public.ts", - "./lib1/tools/toolsinterface.ts", [ "./lib2/data.ts", [ { - "file": "./lib2/data.ts", "start": 121, "length": 5, "code": 2561, @@ -1009,12 +983,11 @@ Output:: "messageText": "Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?" } ] - ], - "./lib2/public.ts" + ] ] }, "version": "FakeTSVersion", - "size": 2240 + "size": 2204 } diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependencies/transitive-exports/no-circular-import/export.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependencies/transitive-exports/no-circular-import/export.js index 2dfab87e2d107..3212950c9eaa3 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependencies/transitive-exports/no-circular-import/export.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependencies/transitive-exports/no-circular-import/export.js @@ -252,6 +252,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -326,6 +327,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -388,6 +390,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependencies/transitive-exports/yes-circular-import/exports-with-incremental.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependencies/transitive-exports/yes-circular-import/exports-with-incremental.js index e90b95724bf85..9489a2cca2fa0 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependencies/transitive-exports/yes-circular-import/exports-with-incremental.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependencies/transitive-exports/yes-circular-import/exports-with-incremental.js @@ -182,7 +182,7 @@ exports.App = App; //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data2.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4369626085-export interface ITest {\n title: string;\n}","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","impliedFormat":1},{"version":"-11055285700-import { Data } from \"./data\";\nexport class Data2 {\n public dat?: Data;\n}","impliedFormat":1},{"version":"-2056074887-import { ITest } from \"lib1/public\"; import { Data2 } from \"./data2\";\nexport class Data {\n public dat?: Data2; public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","impliedFormat":1}],"root":[8],"options":{"assumeChangesOnlyAffectDirectDependencies":true},"fileIdsList":[[7],[3],[2],[4,5],[6]],"referencedMap":[[8,1],[4,2],[3,3],[6,4],[5,5],[7,5]],"semanticDiagnosticsPerFile":[1,8,4,3,2,6,5,7]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data2.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4369626085-export interface ITest {\n title: string;\n}","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","impliedFormat":1},{"version":"-11055285700-import { Data } from \"./data\";\nexport class Data2 {\n public dat?: Data;\n}","impliedFormat":1},{"version":"-2056074887-import { ITest } from \"lib1/public\"; import { Data2 } from \"./data2\";\nexport class Data {\n public dat?: Data2; public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","impliedFormat":1}],"root":[8],"options":{"assumeChangesOnlyAffectDirectDependencies":true},"fileIdsList":[[7],[3],[2],[4,5],[6]],"referencedMap":[[8,1],[4,2],[3,3],[6,4],[5,5],[7,5]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -320,20 +320,10 @@ exports.App = App; "./lib2/public.ts": [ "./lib2/data.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./app.ts", - "./lib1/public.ts", - "./lib1/tools/public.ts", - "./lib1/tools/toolsinterface.ts", - "./lib2/data.ts", - "./lib2/data2.ts", - "./lib2/public.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1771 + "size": 1724 } @@ -431,6 +421,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -453,7 +444,7 @@ Output:: //// [/user/username/projects/myproject/lib2/public.js] file written with same contents //// [/user/username/projects/myproject/app.js] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data2.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3501597171-export interface ITest {\n title2: string;\n}","signature":"-3883556937-export interface ITest {\n title2: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-11055285700-import { Data } from \"./data\";\nexport class Data2 {\n public dat?: Data;\n}","signature":"-17387821545-import { Data } from \"./data\";\nexport declare class Data2 {\n dat?: Data;\n}\n","impliedFormat":1},{"version":"-2056074887-import { ITest } from \"lib1/public\"; import { Data2 } from \"./data2\";\nexport class Data {\n public dat?: Data2; public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-14170088573-import { ITest } from \"lib1/public\";\nimport { Data2 } from \"./data2\";\nexport declare class Data {\n dat?: Data2;\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[8],"options":{"assumeChangesOnlyAffectDirectDependencies":true},"fileIdsList":[[7],[3],[2],[4,5],[6]],"referencedMap":[[8,1],[4,2],[3,3],[6,4],[5,5],[7,5]],"semanticDiagnosticsPerFile":[1,8,4,3,2,[6,[{"file":"./lib2/data.ts","start":174,"length":5,"code":2561,"category":1,"messageText":"Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?"}]],5,7]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data2.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3501597171-export interface ITest {\n title2: string;\n}","signature":"-3883556937-export interface ITest {\n title2: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-11055285700-import { Data } from \"./data\";\nexport class Data2 {\n public dat?: Data;\n}","signature":"-17387821545-import { Data } from \"./data\";\nexport declare class Data2 {\n dat?: Data;\n}\n","impliedFormat":1},{"version":"-2056074887-import { ITest } from \"lib1/public\"; import { Data2 } from \"./data2\";\nexport class Data {\n public dat?: Data2; public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-14170088573-import { ITest } from \"lib1/public\";\nimport { Data2 } from \"./data2\";\nexport declare class Data {\n dat?: Data2;\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[8],"options":{"assumeChangesOnlyAffectDirectDependencies":true},"fileIdsList":[[7],[3],[2],[4,5],[6]],"referencedMap":[[8,1],[4,2],[3,3],[6,4],[5,5],[7,5]],"semanticDiagnosticsPerFile":[[6,[{"start":174,"length":5,"code":2561,"category":1,"messageText":"Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?"}]]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -600,16 +591,10 @@ Output:: ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./app.ts", - "./lib1/public.ts", - "./lib1/tools/public.ts", - "./lib1/tools/toolsinterface.ts", [ "./lib2/data.ts", [ { - "file": "./lib2/data.ts", "start": 174, "length": 5, "code": 2561, @@ -617,13 +602,11 @@ Output:: "messageText": "Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?" } ] - ], - "./lib2/data2.ts", - "./lib2/public.ts" + ] ] }, "version": "FakeTSVersion", - "size": 2615 + "size": 2577 } @@ -684,6 +667,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -701,7 +685,7 @@ Output:: //// [/user/username/projects/myproject/lib1/tools/toolsinterface.js] file written with same contents //// [/user/username/projects/myproject/lib1/tools/public.js] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data2.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4369626085-export interface ITest {\n title: string;\n}","signature":"-2463740027-export interface ITest {\n title: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-11055285700-import { Data } from \"./data\";\nexport class Data2 {\n public dat?: Data;\n}","signature":"-17387821545-import { Data } from \"./data\";\nexport declare class Data2 {\n dat?: Data;\n}\n","impliedFormat":1},{"version":"-2056074887-import { ITest } from \"lib1/public\"; import { Data2 } from \"./data2\";\nexport class Data {\n public dat?: Data2; public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-14170088573-import { ITest } from \"lib1/public\";\nimport { Data2 } from \"./data2\";\nexport declare class Data {\n dat?: Data2;\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[8],"options":{"assumeChangesOnlyAffectDirectDependencies":true},"fileIdsList":[[7],[3],[2],[4,5],[6]],"referencedMap":[[8,1],[4,2],[3,3],[6,4],[5,5],[7,5]],"semanticDiagnosticsPerFile":[1,8,4,3,2,[6,[{"file":"./lib2/data.ts","start":174,"length":5,"code":2561,"category":1,"messageText":"Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?"}]],5,7]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data2.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4369626085-export interface ITest {\n title: string;\n}","signature":"-2463740027-export interface ITest {\n title: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-11055285700-import { Data } from \"./data\";\nexport class Data2 {\n public dat?: Data;\n}","signature":"-17387821545-import { Data } from \"./data\";\nexport declare class Data2 {\n dat?: Data;\n}\n","impliedFormat":1},{"version":"-2056074887-import { ITest } from \"lib1/public\"; import { Data2 } from \"./data2\";\nexport class Data {\n public dat?: Data2; public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-14170088573-import { ITest } from \"lib1/public\";\nimport { Data2 } from \"./data2\";\nexport declare class Data {\n dat?: Data2;\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[8],"options":{"assumeChangesOnlyAffectDirectDependencies":true},"fileIdsList":[[7],[3],[2],[4,5],[6]],"referencedMap":[[8,1],[4,2],[3,3],[6,4],[5,5],[7,5]],"semanticDiagnosticsPerFile":[[6,[{"start":174,"length":5,"code":2561,"category":1,"messageText":"Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?"}]]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -848,16 +832,10 @@ Output:: ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./app.ts", - "./lib1/public.ts", - "./lib1/tools/public.ts", - "./lib1/tools/toolsinterface.ts", [ "./lib2/data.ts", [ { - "file": "./lib2/data.ts", "start": 174, "length": 5, "code": 2561, @@ -865,13 +843,11 @@ Output:: "messageText": "Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?" } ] - ], - "./lib2/data2.ts", - "./lib2/public.ts" + ] ] }, "version": "FakeTSVersion", - "size": 2613 + "size": 2575 } @@ -922,6 +898,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -939,7 +916,7 @@ Output:: //// [/user/username/projects/myproject/lib1/tools/toolsinterface.js] file written with same contents //// [/user/username/projects/myproject/lib1/tools/public.js] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data2.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3501597171-export interface ITest {\n title2: string;\n}","signature":"-3883556937-export interface ITest {\n title2: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-11055285700-import { Data } from \"./data\";\nexport class Data2 {\n public dat?: Data;\n}","signature":"-17387821545-import { Data } from \"./data\";\nexport declare class Data2 {\n dat?: Data;\n}\n","impliedFormat":1},{"version":"-2056074887-import { ITest } from \"lib1/public\"; import { Data2 } from \"./data2\";\nexport class Data {\n public dat?: Data2; public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-14170088573-import { ITest } from \"lib1/public\";\nimport { Data2 } from \"./data2\";\nexport declare class Data {\n dat?: Data2;\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[8],"options":{"assumeChangesOnlyAffectDirectDependencies":true},"fileIdsList":[[7],[3],[2],[4,5],[6]],"referencedMap":[[8,1],[4,2],[3,3],[6,4],[5,5],[7,5]],"semanticDiagnosticsPerFile":[1,8,4,3,2,[6,[{"file":"./lib2/data.ts","start":174,"length":5,"code":2561,"category":1,"messageText":"Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?"}]],5,7]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data2.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3501597171-export interface ITest {\n title2: string;\n}","signature":"-3883556937-export interface ITest {\n title2: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-11055285700-import { Data } from \"./data\";\nexport class Data2 {\n public dat?: Data;\n}","signature":"-17387821545-import { Data } from \"./data\";\nexport declare class Data2 {\n dat?: Data;\n}\n","impliedFormat":1},{"version":"-2056074887-import { ITest } from \"lib1/public\"; import { Data2 } from \"./data2\";\nexport class Data {\n public dat?: Data2; public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-14170088573-import { ITest } from \"lib1/public\";\nimport { Data2 } from \"./data2\";\nexport declare class Data {\n dat?: Data2;\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[8],"options":{"assumeChangesOnlyAffectDirectDependencies":true},"fileIdsList":[[7],[3],[2],[4,5],[6]],"referencedMap":[[8,1],[4,2],[3,3],[6,4],[5,5],[7,5]],"semanticDiagnosticsPerFile":[[6,[{"start":174,"length":5,"code":2561,"category":1,"messageText":"Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?"}]]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1086,16 +1063,10 @@ Output:: ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./app.ts", - "./lib1/public.ts", - "./lib1/tools/public.ts", - "./lib1/tools/toolsinterface.ts", [ "./lib2/data.ts", [ { - "file": "./lib2/data.ts", "start": 174, "length": 5, "code": 2561, @@ -1103,13 +1074,11 @@ Output:: "messageText": "Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?" } ] - ], - "./lib2/data2.ts", - "./lib2/public.ts" + ] ] }, "version": "FakeTSVersion", - "size": 2615 + "size": 2577 } diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependencies/transitive-exports/yes-circular-import/exports.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependencies/transitive-exports/yes-circular-import/exports.js index 537cb7e78e848..b4835800c7341 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependencies/transitive-exports/yes-circular-import/exports.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependencies/transitive-exports/yes-circular-import/exports.js @@ -275,6 +275,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -353,6 +354,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -416,6 +418,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependencies/with-noEmitOnError-with-incremental.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependencies/with-noEmitOnError-with-incremental.js deleted file mode 100644 index 1290ded5a106e..0000000000000 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependencies/with-noEmitOnError-with-incremental.js +++ /dev/null @@ -1,762 +0,0 @@ -currentDirectory:: /user/username/projects/noEmitOnError useCaseSensitiveFileNames: false -Input:: -//// [/user/username/projects/noEmitOnError/tsconfig.json] -{ - "compilerOptions": { - "outDir": "./dev-build", - "noEmitOnError": true - } -} - -//// [/user/username/projects/noEmitOnError/shared/types/db.ts] -export interface A { - name: string; -} - - -//// [/user/username/projects/noEmitOnError/src/main.ts] -import { A } from "../shared/types/db"; -const a = { - lastName: 'sdsd' -; - - -//// [/user/username/projects/noEmitOnError/src/other.ts] -console.log("hi"); -export { } - - -//// [/a/lib/lib.d.ts] -/// -interface Boolean {} -interface Function {} -interface CallableFunction {} -interface NewableFunction {} -interface IArguments {} -interface Number { toExponential: any; } -interface Object {} -interface RegExp {} -interface String { charAt: any; } -interface Array { length: number; [n: number]: T; } -interface ReadonlyArray {} -declare const console: { log(msg: any): void; }; - - -/a/lib/tsc.js --w --assumeChangesOnlyAffectDirectDependencies --incremental -Output:: ->> Screen clear -[HH:MM:SS AM] Starting compilation in watch mode... - -src/main.ts:4:1 - error TS1005: ',' expected. - -4 ; -  ~ - -[HH:MM:SS AM] Found 1 error. Watching for file changes. - - - -//// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-2574607723-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n;\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","impliedFormat":1}],"root":[[2,4]],"options":{"assumeChangesOnlyAffectDirectDependencies":true,"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3,4],"affectedFilesPendingEmit":[2,3,4]},"version":"FakeTSVersion"} - -//// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo.readable.baseline.txt] -{ - "program": { - "fileNames": [ - "../../../../../a/lib/lib.d.ts", - "../shared/types/db.ts", - "../src/main.ts", - "../src/other.ts" - ], - "fileNamesList": [ - [ - "../shared/types/db.ts" - ] - ], - "fileInfos": { - "../../../../../a/lib/lib.d.ts": { - "original": { - "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true, - "impliedFormat": 1 - }, - "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true, - "impliedFormat": "commonjs" - }, - "../shared/types/db.ts": { - "original": { - "version": "-5014788164-export interface A {\n name: string;\n}\n", - "impliedFormat": 1 - }, - "version": "-5014788164-export interface A {\n name: string;\n}\n", - "signature": "-5014788164-export interface A {\n name: string;\n}\n", - "impliedFormat": "commonjs" - }, - "../src/main.ts": { - "original": { - "version": "-2574607723-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n;\n", - "impliedFormat": 1 - }, - "version": "-2574607723-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n;\n", - "signature": "-2574607723-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n;\n", - "impliedFormat": "commonjs" - }, - "../src/other.ts": { - "original": { - "version": "9084524823-console.log(\"hi\");\nexport { }\n", - "impliedFormat": 1 - }, - "version": "9084524823-console.log(\"hi\");\nexport { }\n", - "signature": "9084524823-console.log(\"hi\");\nexport { }\n", - "impliedFormat": "commonjs" - } - }, - "root": [ - [ - [ - 2, - 4 - ], - [ - "../shared/types/db.ts", - "../src/main.ts", - "../src/other.ts" - ] - ] - ], - "options": { - "assumeChangesOnlyAffectDirectDependencies": true, - "noEmitOnError": true, - "outDir": "./" - }, - "referencedMap": { - "../src/main.ts": [ - "../shared/types/db.ts" - ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../shared/types/db.ts", - "../src/main.ts", - "../src/other.ts" - ], - "affectedFilesPendingEmit": [ - [ - "../shared/types/db.ts", - "Js" - ], - [ - "../src/main.ts", - "Js" - ], - [ - "../src/other.ts", - "Js" - ] - ] - }, - "version": "FakeTSVersion", - "size": 1177 -} - - -PolledWatches:: -/user/username/projects/noEmitOnError/node_modules/@types: *new* - {"pollingInterval":500} -/user/username/projects/noEmitOnError/package.json: *new* - {"pollingInterval":2000} -/user/username/projects/noEmitOnError/shared/package.json: *new* - {"pollingInterval":2000} -/user/username/projects/noEmitOnError/shared/types/package.json: *new* - {"pollingInterval":2000} -/user/username/projects/noEmitOnError/src/package.json: *new* - {"pollingInterval":2000} -/user/username/projects/node_modules/@types: *new* - {"pollingInterval":500} -/user/username/projects/package.json: *new* - {"pollingInterval":2000} - -FsWatches:: -/a/lib/lib.d.ts: *new* - {} -/user/username/projects/noEmitOnError/shared/types/db.ts: *new* - {} -/user/username/projects/noEmitOnError/src/main.ts: *new* - {} -/user/username/projects/noEmitOnError/src/other.ts: *new* - {} -/user/username/projects/noEmitOnError/tsconfig.json: *new* - {} - -FsWatchesRecursive:: -/user/username/projects/noEmitOnError: *new* - {} - -Program root files: [ - "/user/username/projects/noEmitOnError/shared/types/db.ts", - "/user/username/projects/noEmitOnError/src/main.ts", - "/user/username/projects/noEmitOnError/src/other.ts" -] -Program options: { - "outDir": "/user/username/projects/noEmitOnError/dev-build", - "noEmitOnError": true, - "watch": true, - "assumeChangesOnlyAffectDirectDependencies": true, - "incremental": true, - "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" -} -Program structureReused: Not -Program files:: -/a/lib/lib.d.ts -/user/username/projects/noEmitOnError/shared/types/db.ts -/user/username/projects/noEmitOnError/src/main.ts -/user/username/projects/noEmitOnError/src/other.ts - -Semantic diagnostics in builder refreshed for:: -/a/lib/lib.d.ts -/user/username/projects/noEmitOnError/shared/types/db.ts -/user/username/projects/noEmitOnError/src/main.ts -/user/username/projects/noEmitOnError/src/other.ts - -Shape signatures in builder refreshed for:: -/a/lib/lib.d.ts (used version) -/user/username/projects/noemitonerror/shared/types/db.ts (used version) -/user/username/projects/noemitonerror/src/main.ts (used version) -/user/username/projects/noemitonerror/src/other.ts (used version) - -exitCode:: ExitStatus.undefined - -Change:: No change - -Input:: -//// [/user/username/projects/noEmitOnError/src/main.ts] file written with same contents - -Timeout callback:: count: 1 -1: timerToUpdateProgram *new* - -Before running Timeout callback:: count: 1 -1: timerToUpdateProgram - -After running Timeout callback:: count: 0 - - -exitCode:: ExitStatus.undefined - -Change:: Fix Syntax error - -Input:: -//// [/user/username/projects/noEmitOnError/src/main.ts] -import { A } from "../shared/types/db"; -const a = { - lastName: 'sdsd' -}; - - -Timeout callback:: count: 1 -2: timerToUpdateProgram *new* - -Before running Timeout callback:: count: 1 -2: timerToUpdateProgram - -After running Timeout callback:: count: 0 -Output:: ->> Screen clear -[HH:MM:SS AM] File change detected. Starting incremental compilation... - -[HH:MM:SS AM] Found 0 errors. Watching for file changes. - - - -//// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-2574605496-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n};","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","impliedFormat":1}],"root":[[2,4]],"options":{"assumeChangesOnlyAffectDirectDependencies":true,"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3,4]},"version":"FakeTSVersion"} - -//// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo.readable.baseline.txt] -{ - "program": { - "fileNames": [ - "../../../../../a/lib/lib.d.ts", - "../shared/types/db.ts", - "../src/main.ts", - "../src/other.ts" - ], - "fileNamesList": [ - [ - "../shared/types/db.ts" - ] - ], - "fileInfos": { - "../../../../../a/lib/lib.d.ts": { - "original": { - "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true, - "impliedFormat": 1 - }, - "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true, - "impliedFormat": "commonjs" - }, - "../shared/types/db.ts": { - "original": { - "version": "-5014788164-export interface A {\n name: string;\n}\n", - "impliedFormat": 1 - }, - "version": "-5014788164-export interface A {\n name: string;\n}\n", - "signature": "-5014788164-export interface A {\n name: string;\n}\n", - "impliedFormat": "commonjs" - }, - "../src/main.ts": { - "original": { - "version": "-2574605496-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n};", - "signature": "-3531856636-export {};\n", - "impliedFormat": 1 - }, - "version": "-2574605496-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n};", - "signature": "-3531856636-export {};\n", - "impliedFormat": "commonjs" - }, - "../src/other.ts": { - "original": { - "version": "9084524823-console.log(\"hi\");\nexport { }\n", - "impliedFormat": 1 - }, - "version": "9084524823-console.log(\"hi\");\nexport { }\n", - "signature": "9084524823-console.log(\"hi\");\nexport { }\n", - "impliedFormat": "commonjs" - } - }, - "root": [ - [ - [ - 2, - 4 - ], - [ - "../shared/types/db.ts", - "../src/main.ts", - "../src/other.ts" - ] - ] - ], - "options": { - "assumeChangesOnlyAffectDirectDependencies": true, - "noEmitOnError": true, - "outDir": "./" - }, - "referencedMap": { - "../src/main.ts": [ - "../shared/types/db.ts" - ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../shared/types/db.ts", - "../src/main.ts", - "../src/other.ts" - ] - }, - "version": "FakeTSVersion", - "size": 1180 -} - -//// [/user/username/projects/noEmitOnError/dev-build/shared/types/db.js] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); - - -//// [/user/username/projects/noEmitOnError/dev-build/src/main.js] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var a = { - lastName: 'sdsd' -}; - - -//// [/user/username/projects/noEmitOnError/dev-build/src/other.js] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -console.log("hi"); - - - - -Program root files: [ - "/user/username/projects/noEmitOnError/shared/types/db.ts", - "/user/username/projects/noEmitOnError/src/main.ts", - "/user/username/projects/noEmitOnError/src/other.ts" -] -Program options: { - "outDir": "/user/username/projects/noEmitOnError/dev-build", - "noEmitOnError": true, - "watch": true, - "assumeChangesOnlyAffectDirectDependencies": true, - "incremental": true, - "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" -} -Program structureReused: Completely -Program files:: -/a/lib/lib.d.ts -/user/username/projects/noEmitOnError/shared/types/db.ts -/user/username/projects/noEmitOnError/src/main.ts -/user/username/projects/noEmitOnError/src/other.ts - -Semantic diagnostics in builder refreshed for:: -/user/username/projects/noEmitOnError/src/main.ts - -Shape signatures in builder refreshed for:: -/user/username/projects/noemitonerror/src/main.ts (computed .d.ts) - -exitCode:: ExitStatus.undefined - -Change:: Semantic Error - -Input:: -//// [/user/username/projects/noEmitOnError/src/main.ts] -import { A } from "../shared/types/db"; -const a: string = 10; - - -Timeout callback:: count: 1 -3: timerToUpdateProgram *new* - -Before running Timeout callback:: count: 1 -3: timerToUpdateProgram - -After running Timeout callback:: count: 0 -Output:: ->> Screen clear -[HH:MM:SS AM] File change detected. Starting incremental compilation... - -src/main.ts:2:7 - error TS2322: Type 'number' is not assignable to type 'string'. - -2 const a: string = 10; -   ~ - -[HH:MM:SS AM] Found 1 error. Watching for file changes. - - - -//// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-11111345725-import { A } from \"../shared/types/db\";\nconst a: string = 10;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","impliedFormat":1}],"root":[[2,4]],"options":{"assumeChangesOnlyAffectDirectDependencies":true,"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,[3,[{"file":"../src/main.ts","start":46,"length":1,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'string'."}]],4],"affectedFilesPendingEmit":[3]},"version":"FakeTSVersion"} - -//// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo.readable.baseline.txt] -{ - "program": { - "fileNames": [ - "../../../../../a/lib/lib.d.ts", - "../shared/types/db.ts", - "../src/main.ts", - "../src/other.ts" - ], - "fileNamesList": [ - [ - "../shared/types/db.ts" - ] - ], - "fileInfos": { - "../../../../../a/lib/lib.d.ts": { - "original": { - "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true, - "impliedFormat": 1 - }, - "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true, - "impliedFormat": "commonjs" - }, - "../shared/types/db.ts": { - "original": { - "version": "-5014788164-export interface A {\n name: string;\n}\n", - "impliedFormat": 1 - }, - "version": "-5014788164-export interface A {\n name: string;\n}\n", - "signature": "-5014788164-export interface A {\n name: string;\n}\n", - "impliedFormat": "commonjs" - }, - "../src/main.ts": { - "original": { - "version": "-11111345725-import { A } from \"../shared/types/db\";\nconst a: string = 10;", - "signature": "-3531856636-export {};\n", - "impliedFormat": 1 - }, - "version": "-11111345725-import { A } from \"../shared/types/db\";\nconst a: string = 10;", - "signature": "-3531856636-export {};\n", - "impliedFormat": "commonjs" - }, - "../src/other.ts": { - "original": { - "version": "9084524823-console.log(\"hi\");\nexport { }\n", - "impliedFormat": 1 - }, - "version": "9084524823-console.log(\"hi\");\nexport { }\n", - "signature": "9084524823-console.log(\"hi\");\nexport { }\n", - "impliedFormat": "commonjs" - } - }, - "root": [ - [ - [ - 2, - 4 - ], - [ - "../shared/types/db.ts", - "../src/main.ts", - "../src/other.ts" - ] - ] - ], - "options": { - "assumeChangesOnlyAffectDirectDependencies": true, - "noEmitOnError": true, - "outDir": "./" - }, - "referencedMap": { - "../src/main.ts": [ - "../shared/types/db.ts" - ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../shared/types/db.ts", - [ - "../src/main.ts", - [ - { - "file": "../src/main.ts", - "start": 46, - "length": 1, - "code": 2322, - "category": 1, - "messageText": "Type 'number' is not assignable to type 'string'." - } - ] - ], - "../src/other.ts" - ], - "affectedFilesPendingEmit": [ - [ - "../src/main.ts", - "Js" - ] - ] - }, - "version": "FakeTSVersion", - "size": 1339 -} - - - -Program root files: [ - "/user/username/projects/noEmitOnError/shared/types/db.ts", - "/user/username/projects/noEmitOnError/src/main.ts", - "/user/username/projects/noEmitOnError/src/other.ts" -] -Program options: { - "outDir": "/user/username/projects/noEmitOnError/dev-build", - "noEmitOnError": true, - "watch": true, - "assumeChangesOnlyAffectDirectDependencies": true, - "incremental": true, - "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" -} -Program structureReused: Completely -Program files:: -/a/lib/lib.d.ts -/user/username/projects/noEmitOnError/shared/types/db.ts -/user/username/projects/noEmitOnError/src/main.ts -/user/username/projects/noEmitOnError/src/other.ts - -Semantic diagnostics in builder refreshed for:: -/user/username/projects/noEmitOnError/src/main.ts - -Shape signatures in builder refreshed for:: -/user/username/projects/noemitonerror/src/main.ts (computed .d.ts) - -exitCode:: ExitStatus.undefined - -Change:: No change - -Input:: -//// [/user/username/projects/noEmitOnError/src/main.ts] file written with same contents - -Timeout callback:: count: 1 -4: timerToUpdateProgram *new* - -Before running Timeout callback:: count: 1 -4: timerToUpdateProgram - -After running Timeout callback:: count: 0 - - -exitCode:: ExitStatus.undefined - -Change:: Fix Semantic Error - -Input:: -//// [/user/username/projects/noEmitOnError/src/main.ts] -import { A } from "../shared/types/db"; -const a: string = "hello"; - - -Timeout callback:: count: 1 -5: timerToUpdateProgram *new* - -Before running Timeout callback:: count: 1 -5: timerToUpdateProgram - -After running Timeout callback:: count: 0 -Output:: ->> Screen clear -[HH:MM:SS AM] File change detected. Starting incremental compilation... - -[HH:MM:SS AM] Found 0 errors. Watching for file changes. - - - -//// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-8373351622-import { A } from \"../shared/types/db\";\nconst a: string = \"hello\";","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","impliedFormat":1}],"root":[[2,4]],"options":{"assumeChangesOnlyAffectDirectDependencies":true,"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3,4]},"version":"FakeTSVersion"} - -//// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo.readable.baseline.txt] -{ - "program": { - "fileNames": [ - "../../../../../a/lib/lib.d.ts", - "../shared/types/db.ts", - "../src/main.ts", - "../src/other.ts" - ], - "fileNamesList": [ - [ - "../shared/types/db.ts" - ] - ], - "fileInfos": { - "../../../../../a/lib/lib.d.ts": { - "original": { - "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true, - "impliedFormat": 1 - }, - "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true, - "impliedFormat": "commonjs" - }, - "../shared/types/db.ts": { - "original": { - "version": "-5014788164-export interface A {\n name: string;\n}\n", - "impliedFormat": 1 - }, - "version": "-5014788164-export interface A {\n name: string;\n}\n", - "signature": "-5014788164-export interface A {\n name: string;\n}\n", - "impliedFormat": "commonjs" - }, - "../src/main.ts": { - "original": { - "version": "-8373351622-import { A } from \"../shared/types/db\";\nconst a: string = \"hello\";", - "signature": "-3531856636-export {};\n", - "impliedFormat": 1 - }, - "version": "-8373351622-import { A } from \"../shared/types/db\";\nconst a: string = \"hello\";", - "signature": "-3531856636-export {};\n", - "impliedFormat": "commonjs" - }, - "../src/other.ts": { - "original": { - "version": "9084524823-console.log(\"hi\");\nexport { }\n", - "impliedFormat": 1 - }, - "version": "9084524823-console.log(\"hi\");\nexport { }\n", - "signature": "9084524823-console.log(\"hi\");\nexport { }\n", - "impliedFormat": "commonjs" - } - }, - "root": [ - [ - [ - 2, - 4 - ], - [ - "../shared/types/db.ts", - "../src/main.ts", - "../src/other.ts" - ] - ] - ], - "options": { - "assumeChangesOnlyAffectDirectDependencies": true, - "noEmitOnError": true, - "outDir": "./" - }, - "referencedMap": { - "../src/main.ts": [ - "../shared/types/db.ts" - ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../shared/types/db.ts", - "../src/main.ts", - "../src/other.ts" - ] - }, - "version": "FakeTSVersion", - "size": 1171 -} - -//// [/user/username/projects/noEmitOnError/dev-build/src/main.js] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var a = "hello"; - - - - -Program root files: [ - "/user/username/projects/noEmitOnError/shared/types/db.ts", - "/user/username/projects/noEmitOnError/src/main.ts", - "/user/username/projects/noEmitOnError/src/other.ts" -] -Program options: { - "outDir": "/user/username/projects/noEmitOnError/dev-build", - "noEmitOnError": true, - "watch": true, - "assumeChangesOnlyAffectDirectDependencies": true, - "incremental": true, - "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" -} -Program structureReused: Completely -Program files:: -/a/lib/lib.d.ts -/user/username/projects/noEmitOnError/shared/types/db.ts -/user/username/projects/noEmitOnError/src/main.ts -/user/username/projects/noEmitOnError/src/other.ts - -Semantic diagnostics in builder refreshed for:: -/user/username/projects/noEmitOnError/src/main.ts - -Shape signatures in builder refreshed for:: -/user/username/projects/noemitonerror/src/main.ts (computed .d.ts) - -exitCode:: ExitStatus.undefined - -Change:: No change - -Input:: -//// [/user/username/projects/noEmitOnError/src/main.ts] file written with same contents - -Timeout callback:: count: 1 -6: timerToUpdateProgram *new* - -Before running Timeout callback:: count: 1 -6: timerToUpdateProgram - -After running Timeout callback:: count: 0 - - -exitCode:: ExitStatus.undefined diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependenciesAndD/deepImportChanges/errors-for-.d.ts-change-with-incremental.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependenciesAndD/deepImportChanges/errors-for-.d.ts-change-with-incremental.js index 13e5ce3d122c3..5ff2bbd3d6032 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependenciesAndD/deepImportChanges/errors-for-.d.ts-change-with-incremental.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependenciesAndD/deepImportChanges/errors-for-.d.ts-change-with-incremental.js @@ -58,7 +58,7 @@ export {}; //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.d.ts","./b.d.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18774426152-export class C\n{\n d: number;\n}","impliedFormat":1},{"version":"-1688906387-import {C} from './c';\nexport class B\n{\n c: C;\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"assumeChangesOnlyAffectDirectDependencies":true,"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,4,3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.d.ts","./b.d.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18774426152-export class C\n{\n d: number;\n}","impliedFormat":1},{"version":"-1688906387-import {C} from './c';\nexport class B\n{\n c: C;\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"assumeChangesOnlyAffectDirectDependencies":true,"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -142,16 +142,10 @@ export {}; "./b.d.ts": [ "./c.d.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.d.ts", - "./c.d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1085 + "size": 1046 } @@ -237,6 +231,7 @@ Before running Timeout callback:: count: 2 2: timerToInvalidateFailedLookupResolutions 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -247,7 +242,7 @@ Output:: //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.d.ts","./b.d.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-21444928214-export class C\n{\n d2: number;\n}","impliedFormat":1},{"version":"-1688906387-import {C} from './c';\nexport class B\n{\n c: C;\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"assumeChangesOnlyAffectDirectDependencies":true,"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,4,3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.d.ts","./b.d.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-21444928214-export class C\n{\n d2: number;\n}","impliedFormat":1},{"version":"-1688906387-import {C} from './c';\nexport class B\n{\n c: C;\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"assumeChangesOnlyAffectDirectDependencies":true,"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -331,16 +326,10 @@ Output:: "./b.d.ts": [ "./c.d.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.d.ts", - "./c.d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1086 + "size": 1047 } @@ -390,6 +379,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 4: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -400,7 +390,7 @@ Output:: //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.d.ts","./b.d.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18774426152-export class C\n{\n d: number;\n}","impliedFormat":1},{"version":"-1688906387-import {C} from './c';\nexport class B\n{\n c: C;\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"assumeChangesOnlyAffectDirectDependencies":true,"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,4,3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.d.ts","./b.d.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18774426152-export class C\n{\n d: number;\n}","impliedFormat":1},{"version":"-1688906387-import {C} from './c';\nexport class B\n{\n c: C;\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"assumeChangesOnlyAffectDirectDependencies":true,"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -484,16 +474,10 @@ Output:: "./b.d.ts": [ "./c.d.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.d.ts", - "./c.d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1085 + "size": 1046 } @@ -543,6 +527,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 5: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -553,7 +538,7 @@ Output:: //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.d.ts","./b.d.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-21444928214-export class C\n{\n d2: number;\n}","impliedFormat":1},{"version":"-1688906387-import {C} from './c';\nexport class B\n{\n c: C;\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"assumeChangesOnlyAffectDirectDependencies":true,"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,4,3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.d.ts","./b.d.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-21444928214-export class C\n{\n d2: number;\n}","impliedFormat":1},{"version":"-1688906387-import {C} from './c';\nexport class B\n{\n c: C;\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"assumeChangesOnlyAffectDirectDependencies":true,"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -637,16 +622,10 @@ Output:: "./b.d.ts": [ "./c.d.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.d.ts", - "./c.d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1086 + "size": 1047 } diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependenciesAndD/deepImportChanges/errors-for-.d.ts-change.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependenciesAndD/deepImportChanges/errors-for-.d.ts-change.js index e9e8b90272818..7441643f5c051 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependenciesAndD/deepImportChanges/errors-for-.d.ts-change.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependenciesAndD/deepImportChanges/errors-for-.d.ts-change.js @@ -134,6 +134,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -189,6 +190,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -244,6 +246,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependenciesAndD/deepImportChanges/errors-for-.ts-change-with-incremental.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependenciesAndD/deepImportChanges/errors-for-.ts-change-with-incremental.js index c2f83e9e81966..ffa5b4bd019cd 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependenciesAndD/deepImportChanges/errors-for-.ts-change-with-incremental.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependenciesAndD/deepImportChanges/errors-for-.ts-change-with-incremental.js @@ -98,7 +98,7 @@ export {}; //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-22447130237-export class C\n{\n d = 1;\n}","signature":"-6977846840-export declare class C {\n d: number;\n}\n","impliedFormat":1},{"version":"-6292386773-import {C} from './c';\nexport class B\n{\n c = new C();\n}","signature":"-165097315-import { C } from './c';\nexport declare class B {\n c: C;\n}\n","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"assumeChangesOnlyAffectDirectDependencies":true,"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,4,3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-22447130237-export class C\n{\n d = 1;\n}","signature":"-6977846840-export declare class C {\n d: number;\n}\n","impliedFormat":1},{"version":"-6292386773-import {C} from './c';\nexport class B\n{\n c = new C();\n}","signature":"-165097315-import { C } from './c';\nexport declare class B {\n c: C;\n}\n","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"assumeChangesOnlyAffectDirectDependencies":true,"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -184,16 +184,10 @@ export {}; "./b.ts": [ "./c.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1248 + "size": 1209 } @@ -272,6 +266,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -303,7 +298,7 @@ export declare class C { //// [/user/username/projects/myproject/b.js] file written with same contents //// [/user/username/projects/myproject/b.d.ts] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-22846341163-export class C\n{\n d2 = 1;\n}","signature":"-4637923302-export declare class C {\n d2: number;\n}\n","impliedFormat":1},{"version":"-6292386773-import {C} from './c';\nexport class B\n{\n c = new C();\n}","signature":"-165097315-import { C } from './c';\nexport declare class B {\n c: C;\n}\n","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"assumeChangesOnlyAffectDirectDependencies":true,"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,4,3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-22846341163-export class C\n{\n d2 = 1;\n}","signature":"-4637923302-export declare class C {\n d2: number;\n}\n","impliedFormat":1},{"version":"-6292386773-import {C} from './c';\nexport class B\n{\n c = new C();\n}","signature":"-165097315-import { C } from './c';\nexport declare class B {\n c: C;\n}\n","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"assumeChangesOnlyAffectDirectDependencies":true,"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -389,16 +384,10 @@ export declare class C { "./b.ts": [ "./c.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1250 + "size": 1211 } @@ -448,6 +437,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -479,7 +469,7 @@ export declare class C { //// [/user/username/projects/myproject/b.js] file written with same contents //// [/user/username/projects/myproject/b.d.ts] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-22447130237-export class C\n{\n d = 1;\n}","signature":"-6977846840-export declare class C {\n d: number;\n}\n","impliedFormat":1},{"version":"-6292386773-import {C} from './c';\nexport class B\n{\n c = new C();\n}","signature":"-165097315-import { C } from './c';\nexport declare class B {\n c: C;\n}\n","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"assumeChangesOnlyAffectDirectDependencies":true,"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,4,3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-22447130237-export class C\n{\n d = 1;\n}","signature":"-6977846840-export declare class C {\n d: number;\n}\n","impliedFormat":1},{"version":"-6292386773-import {C} from './c';\nexport class B\n{\n c = new C();\n}","signature":"-165097315-import { C } from './c';\nexport declare class B {\n c: C;\n}\n","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"assumeChangesOnlyAffectDirectDependencies":true,"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -565,16 +555,10 @@ export declare class C { "./b.ts": [ "./c.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1248 + "size": 1209 } @@ -624,6 +608,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -655,7 +640,7 @@ export declare class C { //// [/user/username/projects/myproject/b.js] file written with same contents //// [/user/username/projects/myproject/b.d.ts] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-22846341163-export class C\n{\n d2 = 1;\n}","signature":"-4637923302-export declare class C {\n d2: number;\n}\n","impliedFormat":1},{"version":"-6292386773-import {C} from './c';\nexport class B\n{\n c = new C();\n}","signature":"-165097315-import { C } from './c';\nexport declare class B {\n c: C;\n}\n","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"assumeChangesOnlyAffectDirectDependencies":true,"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,4,3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-22846341163-export class C\n{\n d2 = 1;\n}","signature":"-4637923302-export declare class C {\n d2: number;\n}\n","impliedFormat":1},{"version":"-6292386773-import {C} from './c';\nexport class B\n{\n c = new C();\n}","signature":"-165097315-import { C } from './c';\nexport declare class B {\n c: C;\n}\n","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"assumeChangesOnlyAffectDirectDependencies":true,"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -741,16 +726,10 @@ export declare class C { "./b.ts": [ "./c.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1250 + "size": 1211 } diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependenciesAndD/deepImportChanges/errors-for-.ts-change.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependenciesAndD/deepImportChanges/errors-for-.ts-change.js index c13e777c6db9c..916ee3408e0cc 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependenciesAndD/deepImportChanges/errors-for-.ts-change.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependenciesAndD/deepImportChanges/errors-for-.ts-change.js @@ -172,6 +172,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -248,6 +249,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -324,6 +326,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependenciesAndD/file-not-exporting-a-deep-multilevel-import-that-changes-with-incremental.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependenciesAndD/file-not-exporting-a-deep-multilevel-import-that-changes-with-incremental.js index 0d76305bfc127..22ccd5d123af2 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependenciesAndD/file-not-exporting-a-deep-multilevel-import-that-changes-with-incremental.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependenciesAndD/file-not-exporting-a-deep-multilevel-import-that-changes-with-incremental.js @@ -145,7 +145,7 @@ import "./d"; //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts","./e.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"9889814467-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x2: number;\n y: number;\n}","signature":"8536297517-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x2: number;\n y: number;\n}\n","impliedFormat":1},{"version":"-8029610078-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}","signature":"-7279094804-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}\n","impliedFormat":1},{"version":"-37232372138-import { PointWrapper } from \"./b\";\nexport function getPoint(): PointWrapper {\n return {\n name: \"test\",\n c: {\n x: 1,\n y: 2\n }\n }\n};","signature":"-3387333988-import { PointWrapper } from \"./b\";\nexport declare function getPoint(): PointWrapper;\n","impliedFormat":1},{"version":"-17875457076-import { getPoint } from \"./c\";\ngetPoint().c.x;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-5185546240-import \"./d\";","signature":"-3619301366-import \"./d\";\n","impliedFormat":1}],"root":[[2,6]],"options":{"assumeChangesOnlyAffectDirectDependencies":true,"declaration":true},"fileIdsList":[[2],[3],[4],[5]],"referencedMap":[[3,1],[4,2],[5,3],[6,4]],"semanticDiagnosticsPerFile":[1,2,3,[4,[{"file":"./c.ts","start":139,"length":1,"code":2353,"category":1,"messageText":"Object literal may only specify known properties, and 'x' does not exist in type 'Coords'.","relatedInformation":[{"file":"./a.ts","start":47,"length":1,"messageText":"The expected type comes from property 'c' which is declared here on type 'PointWrapper'","category":3,"code":6500}]}]],[5,[{"file":"./d.ts","start":45,"length":1,"code":2339,"category":1,"messageText":"Property 'x' does not exist on type 'Coords'."}]],6]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts","./e.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"9889814467-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x2: number;\n y: number;\n}","signature":"8536297517-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x2: number;\n y: number;\n}\n","impliedFormat":1},{"version":"-8029610078-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}","signature":"-7279094804-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}\n","impliedFormat":1},{"version":"-37232372138-import { PointWrapper } from \"./b\";\nexport function getPoint(): PointWrapper {\n return {\n name: \"test\",\n c: {\n x: 1,\n y: 2\n }\n }\n};","signature":"-3387333988-import { PointWrapper } from \"./b\";\nexport declare function getPoint(): PointWrapper;\n","impliedFormat":1},{"version":"-17875457076-import { getPoint } from \"./c\";\ngetPoint().c.x;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-5185546240-import \"./d\";","signature":"-3619301366-import \"./d\";\n","impliedFormat":1}],"root":[[2,6]],"options":{"assumeChangesOnlyAffectDirectDependencies":true,"declaration":true},"fileIdsList":[[2],[3],[4],[5]],"referencedMap":[[3,1],[4,2],[5,3],[6,4]],"semanticDiagnosticsPerFile":[[4,[{"start":139,"length":1,"code":2353,"category":1,"messageText":"Object literal may only specify known properties, and 'x' does not exist in type 'Coords'.","relatedInformation":[{"file":"./a.ts","start":47,"length":1,"messageText":"The expected type comes from property 'c' which is declared here on type 'PointWrapper'","category":3,"code":6500}]}]],[5,[{"start":45,"length":1,"code":2339,"category":1,"messageText":"Property 'x' does not exist on type 'Coords'."}]]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -269,14 +269,10 @@ import "./d"; ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.ts", [ "./c.ts", [ { - "file": "./c.ts", "start": 139, "length": 1, "code": 2353, @@ -299,7 +295,6 @@ import "./d"; "./d.ts", [ { - "file": "./d.ts", "start": 45, "length": 1, "code": 2339, @@ -307,12 +302,11 @@ import "./d"; "messageText": "Property 'x' does not exist on type 'Coords'." } ] - ], - "./e.ts" + ] ] }, "version": "FakeTSVersion", - "size": 2421 + "size": 2381 } @@ -407,6 +401,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -446,7 +441,7 @@ export interface Coords { //// [/user/username/projects/myproject/b.js] file written with same contents //// [/user/username/projects/myproject/b.d.ts] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts","./e.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"2103509937-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x: number;\n y: number;\n}","signature":"696351195-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x: number;\n y: number;\n}\n","impliedFormat":1},{"version":"-8029610078-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}","signature":"-7279094804-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}\n","impliedFormat":1},{"version":"-37232372138-import { PointWrapper } from \"./b\";\nexport function getPoint(): PointWrapper {\n return {\n name: \"test\",\n c: {\n x: 1,\n y: 2\n }\n }\n};","signature":"-3387333988-import { PointWrapper } from \"./b\";\nexport declare function getPoint(): PointWrapper;\n","impliedFormat":1},{"version":"-17875457076-import { getPoint } from \"./c\";\ngetPoint().c.x;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-5185546240-import \"./d\";","signature":"-3619301366-import \"./d\";\n","impliedFormat":1}],"root":[[2,6]],"options":{"assumeChangesOnlyAffectDirectDependencies":true,"declaration":true},"fileIdsList":[[2],[3],[4],[5]],"referencedMap":[[3,1],[4,2],[5,3],[6,4]],"semanticDiagnosticsPerFile":[1,2,3,[4,[{"file":"./c.ts","start":139,"length":1,"code":2353,"category":1,"messageText":"Object literal may only specify known properties, and 'x' does not exist in type 'Coords'.","relatedInformation":[{"file":"./a.ts","start":47,"length":1,"messageText":"The expected type comes from property 'c' which is declared here on type 'PointWrapper'","category":3,"code":6500}]}]],[5,[{"file":"./d.ts","start":45,"length":1,"code":2339,"category":1,"messageText":"Property 'x' does not exist on type 'Coords'."}]],6]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts","./e.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"2103509937-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x: number;\n y: number;\n}","signature":"696351195-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x: number;\n y: number;\n}\n","impliedFormat":1},{"version":"-8029610078-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}","signature":"-7279094804-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}\n","impliedFormat":1},{"version":"-37232372138-import { PointWrapper } from \"./b\";\nexport function getPoint(): PointWrapper {\n return {\n name: \"test\",\n c: {\n x: 1,\n y: 2\n }\n }\n};","signature":"-3387333988-import { PointWrapper } from \"./b\";\nexport declare function getPoint(): PointWrapper;\n","impliedFormat":1},{"version":"-17875457076-import { getPoint } from \"./c\";\ngetPoint().c.x;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-5185546240-import \"./d\";","signature":"-3619301366-import \"./d\";\n","impliedFormat":1}],"root":[[2,6]],"options":{"assumeChangesOnlyAffectDirectDependencies":true,"declaration":true},"fileIdsList":[[2],[3],[4],[5]],"referencedMap":[[3,1],[4,2],[5,3],[6,4]],"semanticDiagnosticsPerFile":[[4,[{"start":139,"length":1,"code":2353,"category":1,"messageText":"Object literal may only specify known properties, and 'x' does not exist in type 'Coords'.","relatedInformation":[{"file":"./a.ts","start":47,"length":1,"messageText":"The expected type comes from property 'c' which is declared here on type 'PointWrapper'","category":3,"code":6500}]}]],[5,[{"start":45,"length":1,"code":2339,"category":1,"messageText":"Property 'x' does not exist on type 'Coords'."}]]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -570,14 +565,10 @@ export interface Coords { ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.ts", [ "./c.ts", [ { - "file": "./c.ts", "start": 139, "length": 1, "code": 2353, @@ -600,7 +591,6 @@ export interface Coords { "./d.ts", [ { - "file": "./d.ts", "start": 45, "length": 1, "code": 2339, @@ -608,12 +598,11 @@ export interface Coords { "messageText": "Property 'x' does not exist on type 'Coords'." } ] - ], - "./e.ts" + ] ] }, "version": "FakeTSVersion", - "size": 2418 + "size": 2378 } @@ -671,6 +660,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -710,7 +700,7 @@ export interface Coords { //// [/user/username/projects/myproject/b.js] file written with same contents //// [/user/username/projects/myproject/b.d.ts] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts","./e.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"9889814467-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x2: number;\n y: number;\n}","signature":"8536297517-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x2: number;\n y: number;\n}\n","impliedFormat":1},{"version":"-8029610078-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}","signature":"-7279094804-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}\n","impliedFormat":1},{"version":"-37232372138-import { PointWrapper } from \"./b\";\nexport function getPoint(): PointWrapper {\n return {\n name: \"test\",\n c: {\n x: 1,\n y: 2\n }\n }\n};","signature":"-3387333988-import { PointWrapper } from \"./b\";\nexport declare function getPoint(): PointWrapper;\n","impliedFormat":1},{"version":"-17875457076-import { getPoint } from \"./c\";\ngetPoint().c.x;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-5185546240-import \"./d\";","signature":"-3619301366-import \"./d\";\n","impliedFormat":1}],"root":[[2,6]],"options":{"assumeChangesOnlyAffectDirectDependencies":true,"declaration":true},"fileIdsList":[[2],[3],[4],[5]],"referencedMap":[[3,1],[4,2],[5,3],[6,4]],"semanticDiagnosticsPerFile":[1,2,3,[4,[{"file":"./c.ts","start":139,"length":1,"code":2353,"category":1,"messageText":"Object literal may only specify known properties, and 'x' does not exist in type 'Coords'.","relatedInformation":[{"file":"./a.ts","start":47,"length":1,"messageText":"The expected type comes from property 'c' which is declared here on type 'PointWrapper'","category":3,"code":6500}]}]],[5,[{"file":"./d.ts","start":45,"length":1,"code":2339,"category":1,"messageText":"Property 'x' does not exist on type 'Coords'."}]],6]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts","./e.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"9889814467-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x2: number;\n y: number;\n}","signature":"8536297517-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x2: number;\n y: number;\n}\n","impliedFormat":1},{"version":"-8029610078-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}","signature":"-7279094804-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}\n","impliedFormat":1},{"version":"-37232372138-import { PointWrapper } from \"./b\";\nexport function getPoint(): PointWrapper {\n return {\n name: \"test\",\n c: {\n x: 1,\n y: 2\n }\n }\n};","signature":"-3387333988-import { PointWrapper } from \"./b\";\nexport declare function getPoint(): PointWrapper;\n","impliedFormat":1},{"version":"-17875457076-import { getPoint } from \"./c\";\ngetPoint().c.x;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-5185546240-import \"./d\";","signature":"-3619301366-import \"./d\";\n","impliedFormat":1}],"root":[[2,6]],"options":{"assumeChangesOnlyAffectDirectDependencies":true,"declaration":true},"fileIdsList":[[2],[3],[4],[5]],"referencedMap":[[3,1],[4,2],[5,3],[6,4]],"semanticDiagnosticsPerFile":[[4,[{"start":139,"length":1,"code":2353,"category":1,"messageText":"Object literal may only specify known properties, and 'x' does not exist in type 'Coords'.","relatedInformation":[{"file":"./a.ts","start":47,"length":1,"messageText":"The expected type comes from property 'c' which is declared here on type 'PointWrapper'","category":3,"code":6500}]}]],[5,[{"start":45,"length":1,"code":2339,"category":1,"messageText":"Property 'x' does not exist on type 'Coords'."}]]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -834,14 +824,10 @@ export interface Coords { ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.ts", [ "./c.ts", [ { - "file": "./c.ts", "start": 139, "length": 1, "code": 2353, @@ -864,7 +850,6 @@ export interface Coords { "./d.ts", [ { - "file": "./d.ts", "start": 45, "length": 1, "code": 2339, @@ -872,12 +857,11 @@ export interface Coords { "messageText": "Property 'x' does not exist on type 'Coords'." } ] - ], - "./e.ts" + ] ] }, "version": "FakeTSVersion", - "size": 2421 + "size": 2381 } @@ -935,6 +919,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -974,7 +959,7 @@ export interface Coords { //// [/user/username/projects/myproject/b.js] file written with same contents //// [/user/username/projects/myproject/b.d.ts] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts","./e.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"2103509937-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x: number;\n y: number;\n}","signature":"696351195-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x: number;\n y: number;\n}\n","impliedFormat":1},{"version":"-8029610078-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}","signature":"-7279094804-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}\n","impliedFormat":1},{"version":"-37232372138-import { PointWrapper } from \"./b\";\nexport function getPoint(): PointWrapper {\n return {\n name: \"test\",\n c: {\n x: 1,\n y: 2\n }\n }\n};","signature":"-3387333988-import { PointWrapper } from \"./b\";\nexport declare function getPoint(): PointWrapper;\n","impliedFormat":1},{"version":"-17875457076-import { getPoint } from \"./c\";\ngetPoint().c.x;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-5185546240-import \"./d\";","signature":"-3619301366-import \"./d\";\n","impliedFormat":1}],"root":[[2,6]],"options":{"assumeChangesOnlyAffectDirectDependencies":true,"declaration":true},"fileIdsList":[[2],[3],[4],[5]],"referencedMap":[[3,1],[4,2],[5,3],[6,4]],"semanticDiagnosticsPerFile":[1,2,3,[4,[{"file":"./c.ts","start":139,"length":1,"code":2353,"category":1,"messageText":"Object literal may only specify known properties, and 'x' does not exist in type 'Coords'.","relatedInformation":[{"file":"./a.ts","start":47,"length":1,"messageText":"The expected type comes from property 'c' which is declared here on type 'PointWrapper'","category":3,"code":6500}]}]],[5,[{"file":"./d.ts","start":45,"length":1,"code":2339,"category":1,"messageText":"Property 'x' does not exist on type 'Coords'."}]],6]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts","./e.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"2103509937-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x: number;\n y: number;\n}","signature":"696351195-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x: number;\n y: number;\n}\n","impliedFormat":1},{"version":"-8029610078-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}","signature":"-7279094804-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}\n","impliedFormat":1},{"version":"-37232372138-import { PointWrapper } from \"./b\";\nexport function getPoint(): PointWrapper {\n return {\n name: \"test\",\n c: {\n x: 1,\n y: 2\n }\n }\n};","signature":"-3387333988-import { PointWrapper } from \"./b\";\nexport declare function getPoint(): PointWrapper;\n","impliedFormat":1},{"version":"-17875457076-import { getPoint } from \"./c\";\ngetPoint().c.x;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-5185546240-import \"./d\";","signature":"-3619301366-import \"./d\";\n","impliedFormat":1}],"root":[[2,6]],"options":{"assumeChangesOnlyAffectDirectDependencies":true,"declaration":true},"fileIdsList":[[2],[3],[4],[5]],"referencedMap":[[3,1],[4,2],[5,3],[6,4]],"semanticDiagnosticsPerFile":[[4,[{"start":139,"length":1,"code":2353,"category":1,"messageText":"Object literal may only specify known properties, and 'x' does not exist in type 'Coords'.","relatedInformation":[{"file":"./a.ts","start":47,"length":1,"messageText":"The expected type comes from property 'c' which is declared here on type 'PointWrapper'","category":3,"code":6500}]}]],[5,[{"start":45,"length":1,"code":2339,"category":1,"messageText":"Property 'x' does not exist on type 'Coords'."}]]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1098,14 +1083,10 @@ export interface Coords { ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.ts", [ "./c.ts", [ { - "file": "./c.ts", "start": 139, "length": 1, "code": 2353, @@ -1128,7 +1109,6 @@ export interface Coords { "./d.ts", [ { - "file": "./d.ts", "start": 45, "length": 1, "code": 2339, @@ -1136,12 +1116,11 @@ export interface Coords { "messageText": "Property 'x' does not exist on type 'Coords'." } ] - ], - "./e.ts" + ] ] }, "version": "FakeTSVersion", - "size": 2418 + "size": 2378 } diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependenciesAndD/file-not-exporting-a-deep-multilevel-import-that-changes.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependenciesAndD/file-not-exporting-a-deep-multilevel-import-that-changes.js index 88ce950143473..05f1bb5c3775f 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependenciesAndD/file-not-exporting-a-deep-multilevel-import-that-changes.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependenciesAndD/file-not-exporting-a-deep-multilevel-import-that-changes.js @@ -235,6 +235,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -327,6 +328,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -419,6 +421,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependenciesAndD/transitive-exports/no-circular-import/export-with-incremental.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependenciesAndD/transitive-exports/no-circular-import/export-with-incremental.js index 9826d7ff60cab..b39f22e8789f0 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependenciesAndD/transitive-exports/no-circular-import/export-with-incremental.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependenciesAndD/transitive-exports/no-circular-import/export-with-incremental.js @@ -195,7 +195,7 @@ export declare class App { //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4369626085-export interface ITest {\n title: string;\n}","signature":"-2463740027-export interface ITest {\n title: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-30573389178-import { ITest } from \"lib1/public\";\nexport class Data {\n public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-15758516261-import { ITest } from \"lib1/public\";\nexport declare class Data {\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[7],"options":{"assumeChangesOnlyAffectDirectDependencies":true,"declaration":true},"fileIdsList":[[6],[3],[2],[4],[5]],"referencedMap":[[7,1],[4,2],[3,3],[5,4],[6,5]],"semanticDiagnosticsPerFile":[1,7,4,3,2,5,6]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4369626085-export interface ITest {\n title: string;\n}","signature":"-2463740027-export interface ITest {\n title: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-30573389178-import { ITest } from \"lib1/public\";\nexport class Data {\n public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-15758516261-import { ITest } from \"lib1/public\";\nexport declare class Data {\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[7],"options":{"assumeChangesOnlyAffectDirectDependencies":true,"declaration":true},"fileIdsList":[[6],[3],[2],[4],[5]],"referencedMap":[[7,1],[4,2],[3,3],[5,4],[6,5]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -325,19 +325,10 @@ export declare class App { "./lib2/public.ts": [ "./lib2/data.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./app.ts", - "./lib1/public.ts", - "./lib1/tools/public.ts", - "./lib1/tools/toolsinterface.ts", - "./lib2/data.ts", - "./lib2/public.ts" - ] + } }, "version": "FakeTSVersion", - "size": 2037 + "size": 1992 } @@ -431,6 +422,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -450,7 +442,7 @@ export interface ITest { //// [/user/username/projects/myproject/lib1/tools/public.js] file written with same contents //// [/user/username/projects/myproject/lib1/tools/public.d.ts] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3501597171-export interface ITest {\n title2: string;\n}","signature":"-3883556937-export interface ITest {\n title2: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-30573389178-import { ITest } from \"lib1/public\";\nexport class Data {\n public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-15758516261-import { ITest } from \"lib1/public\";\nexport declare class Data {\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[7],"options":{"assumeChangesOnlyAffectDirectDependencies":true,"declaration":true},"fileIdsList":[[6],[3],[2],[4],[5]],"referencedMap":[[7,1],[4,2],[3,3],[5,4],[6,5]],"semanticDiagnosticsPerFile":[1,7,4,3,2,5,6]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3501597171-export interface ITest {\n title2: string;\n}","signature":"-3883556937-export interface ITest {\n title2: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-30573389178-import { ITest } from \"lib1/public\";\nexport class Data {\n public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-15758516261-import { ITest } from \"lib1/public\";\nexport declare class Data {\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[7],"options":{"assumeChangesOnlyAffectDirectDependencies":true,"declaration":true},"fileIdsList":[[6],[3],[2],[4],[5]],"referencedMap":[[7,1],[4,2],[3,3],[5,4],[6,5]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -580,19 +572,10 @@ export interface ITest { "./lib2/public.ts": [ "./lib2/data.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./app.ts", - "./lib1/public.ts", - "./lib1/tools/public.ts", - "./lib1/tools/toolsinterface.ts", - "./lib2/data.ts", - "./lib2/public.ts" - ] + } }, "version": "FakeTSVersion", - "size": 2039 + "size": 1994 } @@ -643,6 +626,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -662,7 +646,7 @@ export interface ITest { //// [/user/username/projects/myproject/lib1/tools/public.js] file written with same contents //// [/user/username/projects/myproject/lib1/tools/public.d.ts] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4369626085-export interface ITest {\n title: string;\n}","signature":"-2463740027-export interface ITest {\n title: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-30573389178-import { ITest } from \"lib1/public\";\nexport class Data {\n public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-15758516261-import { ITest } from \"lib1/public\";\nexport declare class Data {\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[7],"options":{"assumeChangesOnlyAffectDirectDependencies":true,"declaration":true},"fileIdsList":[[6],[3],[2],[4],[5]],"referencedMap":[[7,1],[4,2],[3,3],[5,4],[6,5]],"semanticDiagnosticsPerFile":[1,7,4,3,2,5,6]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4369626085-export interface ITest {\n title: string;\n}","signature":"-2463740027-export interface ITest {\n title: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-30573389178-import { ITest } from \"lib1/public\";\nexport class Data {\n public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-15758516261-import { ITest } from \"lib1/public\";\nexport declare class Data {\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[7],"options":{"assumeChangesOnlyAffectDirectDependencies":true,"declaration":true},"fileIdsList":[[6],[3],[2],[4],[5]],"referencedMap":[[7,1],[4,2],[3,3],[5,4],[6,5]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -792,19 +776,10 @@ export interface ITest { "./lib2/public.ts": [ "./lib2/data.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./app.ts", - "./lib1/public.ts", - "./lib1/tools/public.ts", - "./lib1/tools/toolsinterface.ts", - "./lib2/data.ts", - "./lib2/public.ts" - ] + } }, "version": "FakeTSVersion", - "size": 2037 + "size": 1992 } @@ -855,6 +830,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -874,7 +850,7 @@ export interface ITest { //// [/user/username/projects/myproject/lib1/tools/public.js] file written with same contents //// [/user/username/projects/myproject/lib1/tools/public.d.ts] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3501597171-export interface ITest {\n title2: string;\n}","signature":"-3883556937-export interface ITest {\n title2: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-30573389178-import { ITest } from \"lib1/public\";\nexport class Data {\n public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-15758516261-import { ITest } from \"lib1/public\";\nexport declare class Data {\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[7],"options":{"assumeChangesOnlyAffectDirectDependencies":true,"declaration":true},"fileIdsList":[[6],[3],[2],[4],[5]],"referencedMap":[[7,1],[4,2],[3,3],[5,4],[6,5]],"semanticDiagnosticsPerFile":[1,7,4,3,2,5,6]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3501597171-export interface ITest {\n title2: string;\n}","signature":"-3883556937-export interface ITest {\n title2: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-30573389178-import { ITest } from \"lib1/public\";\nexport class Data {\n public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-15758516261-import { ITest } from \"lib1/public\";\nexport declare class Data {\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[7],"options":{"assumeChangesOnlyAffectDirectDependencies":true,"declaration":true},"fileIdsList":[[6],[3],[2],[4],[5]],"referencedMap":[[7,1],[4,2],[3,3],[5,4],[6,5]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1004,19 +980,10 @@ export interface ITest { "./lib2/public.ts": [ "./lib2/data.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./app.ts", - "./lib1/public.ts", - "./lib1/tools/public.ts", - "./lib1/tools/toolsinterface.ts", - "./lib2/data.ts", - "./lib2/public.ts" - ] + } }, "version": "FakeTSVersion", - "size": 2039 + "size": 1994 } diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependenciesAndD/transitive-exports/no-circular-import/export.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependenciesAndD/transitive-exports/no-circular-import/export.js index 440a2c8f1df48..432a5f5b12fce 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependenciesAndD/transitive-exports/no-circular-import/export.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependenciesAndD/transitive-exports/no-circular-import/export.js @@ -284,6 +284,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -349,6 +350,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -414,6 +416,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependenciesAndD/transitive-exports/yes-circular-import/exports-with-incremental.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependenciesAndD/transitive-exports/yes-circular-import/exports-with-incremental.js index 879996d6a0446..32dcce68fd38c 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependenciesAndD/transitive-exports/yes-circular-import/exports-with-incremental.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependenciesAndD/transitive-exports/yes-circular-import/exports-with-incremental.js @@ -222,7 +222,7 @@ export declare class App { //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data2.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4369626085-export interface ITest {\n title: string;\n}","signature":"-2463740027-export interface ITest {\n title: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-11055285700-import { Data } from \"./data\";\nexport class Data2 {\n public dat?: Data;\n}","signature":"-17387821545-import { Data } from \"./data\";\nexport declare class Data2 {\n dat?: Data;\n}\n","impliedFormat":1},{"version":"-2056074887-import { ITest } from \"lib1/public\"; import { Data2 } from \"./data2\";\nexport class Data {\n public dat?: Data2; public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-14170088573-import { ITest } from \"lib1/public\";\nimport { Data2 } from \"./data2\";\nexport declare class Data {\n dat?: Data2;\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[8],"options":{"assumeChangesOnlyAffectDirectDependencies":true,"declaration":true},"fileIdsList":[[7],[3],[2],[4,5],[6]],"referencedMap":[[8,1],[4,2],[3,3],[6,4],[5,5],[7,5]],"semanticDiagnosticsPerFile":[1,8,4,3,2,6,5,7]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data2.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4369626085-export interface ITest {\n title: string;\n}","signature":"-2463740027-export interface ITest {\n title: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-11055285700-import { Data } from \"./data\";\nexport class Data2 {\n public dat?: Data;\n}","signature":"-17387821545-import { Data } from \"./data\";\nexport declare class Data2 {\n dat?: Data;\n}\n","impliedFormat":1},{"version":"-2056074887-import { ITest } from \"lib1/public\"; import { Data2 } from \"./data2\";\nexport class Data {\n public dat?: Data2; public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-14170088573-import { ITest } from \"lib1/public\";\nimport { Data2 } from \"./data2\";\nexport declare class Data {\n dat?: Data2;\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[8],"options":{"assumeChangesOnlyAffectDirectDependencies":true,"declaration":true},"fileIdsList":[[7],[3],[2],[4,5],[6]],"referencedMap":[[8,1],[4,2],[3,3],[6,4],[5,5],[7,5]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -368,20 +368,10 @@ export declare class App { "./lib2/public.ts": [ "./lib2/data.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./app.ts", - "./lib1/public.ts", - "./lib1/tools/public.ts", - "./lib1/tools/toolsinterface.ts", - "./lib2/data.ts", - "./lib2/data2.ts", - "./lib2/public.ts" - ] + } }, "version": "FakeTSVersion", - "size": 2412 + "size": 2365 } @@ -480,6 +470,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -499,7 +490,7 @@ export interface ITest { //// [/user/username/projects/myproject/lib1/tools/public.js] file written with same contents //// [/user/username/projects/myproject/lib1/tools/public.d.ts] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data2.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3501597171-export interface ITest {\n title2: string;\n}","signature":"-3883556937-export interface ITest {\n title2: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-11055285700-import { Data } from \"./data\";\nexport class Data2 {\n public dat?: Data;\n}","signature":"-17387821545-import { Data } from \"./data\";\nexport declare class Data2 {\n dat?: Data;\n}\n","impliedFormat":1},{"version":"-2056074887-import { ITest } from \"lib1/public\"; import { Data2 } from \"./data2\";\nexport class Data {\n public dat?: Data2; public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-14170088573-import { ITest } from \"lib1/public\";\nimport { Data2 } from \"./data2\";\nexport declare class Data {\n dat?: Data2;\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[8],"options":{"assumeChangesOnlyAffectDirectDependencies":true,"declaration":true},"fileIdsList":[[7],[3],[2],[4,5],[6]],"referencedMap":[[8,1],[4,2],[3,3],[6,4],[5,5],[7,5]],"semanticDiagnosticsPerFile":[1,8,4,3,2,6,5,7]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data2.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3501597171-export interface ITest {\n title2: string;\n}","signature":"-3883556937-export interface ITest {\n title2: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-11055285700-import { Data } from \"./data\";\nexport class Data2 {\n public dat?: Data;\n}","signature":"-17387821545-import { Data } from \"./data\";\nexport declare class Data2 {\n dat?: Data;\n}\n","impliedFormat":1},{"version":"-2056074887-import { ITest } from \"lib1/public\"; import { Data2 } from \"./data2\";\nexport class Data {\n public dat?: Data2; public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-14170088573-import { ITest } from \"lib1/public\";\nimport { Data2 } from \"./data2\";\nexport declare class Data {\n dat?: Data2;\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[8],"options":{"assumeChangesOnlyAffectDirectDependencies":true,"declaration":true},"fileIdsList":[[7],[3],[2],[4,5],[6]],"referencedMap":[[8,1],[4,2],[3,3],[6,4],[5,5],[7,5]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -645,20 +636,10 @@ export interface ITest { "./lib2/public.ts": [ "./lib2/data.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./app.ts", - "./lib1/public.ts", - "./lib1/tools/public.ts", - "./lib1/tools/toolsinterface.ts", - "./lib2/data.ts", - "./lib2/data2.ts", - "./lib2/public.ts" - ] + } }, "version": "FakeTSVersion", - "size": 2414 + "size": 2367 } @@ -710,6 +691,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -729,7 +711,7 @@ export interface ITest { //// [/user/username/projects/myproject/lib1/tools/public.js] file written with same contents //// [/user/username/projects/myproject/lib1/tools/public.d.ts] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data2.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4369626085-export interface ITest {\n title: string;\n}","signature":"-2463740027-export interface ITest {\n title: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-11055285700-import { Data } from \"./data\";\nexport class Data2 {\n public dat?: Data;\n}","signature":"-17387821545-import { Data } from \"./data\";\nexport declare class Data2 {\n dat?: Data;\n}\n","impliedFormat":1},{"version":"-2056074887-import { ITest } from \"lib1/public\"; import { Data2 } from \"./data2\";\nexport class Data {\n public dat?: Data2; public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-14170088573-import { ITest } from \"lib1/public\";\nimport { Data2 } from \"./data2\";\nexport declare class Data {\n dat?: Data2;\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[8],"options":{"assumeChangesOnlyAffectDirectDependencies":true,"declaration":true},"fileIdsList":[[7],[3],[2],[4,5],[6]],"referencedMap":[[8,1],[4,2],[3,3],[6,4],[5,5],[7,5]],"semanticDiagnosticsPerFile":[1,8,4,3,2,6,5,7]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data2.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4369626085-export interface ITest {\n title: string;\n}","signature":"-2463740027-export interface ITest {\n title: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-11055285700-import { Data } from \"./data\";\nexport class Data2 {\n public dat?: Data;\n}","signature":"-17387821545-import { Data } from \"./data\";\nexport declare class Data2 {\n dat?: Data;\n}\n","impliedFormat":1},{"version":"-2056074887-import { ITest } from \"lib1/public\"; import { Data2 } from \"./data2\";\nexport class Data {\n public dat?: Data2; public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-14170088573-import { ITest } from \"lib1/public\";\nimport { Data2 } from \"./data2\";\nexport declare class Data {\n dat?: Data2;\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[8],"options":{"assumeChangesOnlyAffectDirectDependencies":true,"declaration":true},"fileIdsList":[[7],[3],[2],[4,5],[6]],"referencedMap":[[8,1],[4,2],[3,3],[6,4],[5,5],[7,5]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -875,20 +857,10 @@ export interface ITest { "./lib2/public.ts": [ "./lib2/data.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./app.ts", - "./lib1/public.ts", - "./lib1/tools/public.ts", - "./lib1/tools/toolsinterface.ts", - "./lib2/data.ts", - "./lib2/data2.ts", - "./lib2/public.ts" - ] + } }, "version": "FakeTSVersion", - "size": 2412 + "size": 2365 } @@ -940,6 +912,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -959,7 +932,7 @@ export interface ITest { //// [/user/username/projects/myproject/lib1/tools/public.js] file written with same contents //// [/user/username/projects/myproject/lib1/tools/public.d.ts] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data2.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3501597171-export interface ITest {\n title2: string;\n}","signature":"-3883556937-export interface ITest {\n title2: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-11055285700-import { Data } from \"./data\";\nexport class Data2 {\n public dat?: Data;\n}","signature":"-17387821545-import { Data } from \"./data\";\nexport declare class Data2 {\n dat?: Data;\n}\n","impliedFormat":1},{"version":"-2056074887-import { ITest } from \"lib1/public\"; import { Data2 } from \"./data2\";\nexport class Data {\n public dat?: Data2; public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-14170088573-import { ITest } from \"lib1/public\";\nimport { Data2 } from \"./data2\";\nexport declare class Data {\n dat?: Data2;\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[8],"options":{"assumeChangesOnlyAffectDirectDependencies":true,"declaration":true},"fileIdsList":[[7],[3],[2],[4,5],[6]],"referencedMap":[[8,1],[4,2],[3,3],[6,4],[5,5],[7,5]],"semanticDiagnosticsPerFile":[1,8,4,3,2,6,5,7]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data2.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3501597171-export interface ITest {\n title2: string;\n}","signature":"-3883556937-export interface ITest {\n title2: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-11055285700-import { Data } from \"./data\";\nexport class Data2 {\n public dat?: Data;\n}","signature":"-17387821545-import { Data } from \"./data\";\nexport declare class Data2 {\n dat?: Data;\n}\n","impliedFormat":1},{"version":"-2056074887-import { ITest } from \"lib1/public\"; import { Data2 } from \"./data2\";\nexport class Data {\n public dat?: Data2; public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-14170088573-import { ITest } from \"lib1/public\";\nimport { Data2 } from \"./data2\";\nexport declare class Data {\n dat?: Data2;\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[8],"options":{"assumeChangesOnlyAffectDirectDependencies":true,"declaration":true},"fileIdsList":[[7],[3],[2],[4,5],[6]],"referencedMap":[[8,1],[4,2],[3,3],[6,4],[5,5],[7,5]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1105,20 +1078,10 @@ export interface ITest { "./lib2/public.ts": [ "./lib2/data.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./app.ts", - "./lib1/public.ts", - "./lib1/tools/public.ts", - "./lib1/tools/toolsinterface.ts", - "./lib2/data.ts", - "./lib2/data2.ts", - "./lib2/public.ts" - ] + } }, "version": "FakeTSVersion", - "size": 2414 + "size": 2367 } diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependenciesAndD/transitive-exports/yes-circular-import/exports.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependenciesAndD/transitive-exports/yes-circular-import/exports.js index e6c0e67e2f5f5..bb3637662fc15 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependenciesAndD/transitive-exports/yes-circular-import/exports.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependenciesAndD/transitive-exports/yes-circular-import/exports.js @@ -316,6 +316,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -382,6 +383,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -448,6 +450,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependenciesAndD/with-noEmitOnError-with-incremental.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependenciesAndD/with-noEmitOnError-with-incremental.js deleted file mode 100644 index 1d3e567ff8fdc..0000000000000 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependenciesAndD/with-noEmitOnError-with-incremental.js +++ /dev/null @@ -1,788 +0,0 @@ -currentDirectory:: /user/username/projects/noEmitOnError useCaseSensitiveFileNames: false -Input:: -//// [/user/username/projects/noEmitOnError/tsconfig.json] -{ - "compilerOptions": { - "outDir": "./dev-build", - "noEmitOnError": true - } -} - -//// [/user/username/projects/noEmitOnError/shared/types/db.ts] -export interface A { - name: string; -} - - -//// [/user/username/projects/noEmitOnError/src/main.ts] -import { A } from "../shared/types/db"; -const a = { - lastName: 'sdsd' -; - - -//// [/user/username/projects/noEmitOnError/src/other.ts] -console.log("hi"); -export { } - - -//// [/a/lib/lib.d.ts] -/// -interface Boolean {} -interface Function {} -interface CallableFunction {} -interface NewableFunction {} -interface IArguments {} -interface Number { toExponential: any; } -interface Object {} -interface RegExp {} -interface String { charAt: any; } -interface Array { length: number; [n: number]: T; } -interface ReadonlyArray {} -declare const console: { log(msg: any): void; }; - - -/a/lib/tsc.js --w --assumeChangesOnlyAffectDirectDependencies --d --incremental -Output:: ->> Screen clear -[HH:MM:SS AM] Starting compilation in watch mode... - -src/main.ts:4:1 - error TS1005: ',' expected. - -4 ; -  ~ - -[HH:MM:SS AM] Found 1 error. Watching for file changes. - - - -//// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-2574607723-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n;\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","impliedFormat":1}],"root":[[2,4]],"options":{"assumeChangesOnlyAffectDirectDependencies":true,"declaration":true,"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3,4],"affectedFilesPendingEmit":[2,3,4]},"version":"FakeTSVersion"} - -//// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo.readable.baseline.txt] -{ - "program": { - "fileNames": [ - "../../../../../a/lib/lib.d.ts", - "../shared/types/db.ts", - "../src/main.ts", - "../src/other.ts" - ], - "fileNamesList": [ - [ - "../shared/types/db.ts" - ] - ], - "fileInfos": { - "../../../../../a/lib/lib.d.ts": { - "original": { - "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true, - "impliedFormat": 1 - }, - "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true, - "impliedFormat": "commonjs" - }, - "../shared/types/db.ts": { - "original": { - "version": "-5014788164-export interface A {\n name: string;\n}\n", - "impliedFormat": 1 - }, - "version": "-5014788164-export interface A {\n name: string;\n}\n", - "signature": "-5014788164-export interface A {\n name: string;\n}\n", - "impliedFormat": "commonjs" - }, - "../src/main.ts": { - "original": { - "version": "-2574607723-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n;\n", - "impliedFormat": 1 - }, - "version": "-2574607723-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n;\n", - "signature": "-2574607723-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n;\n", - "impliedFormat": "commonjs" - }, - "../src/other.ts": { - "original": { - "version": "9084524823-console.log(\"hi\");\nexport { }\n", - "impliedFormat": 1 - }, - "version": "9084524823-console.log(\"hi\");\nexport { }\n", - "signature": "9084524823-console.log(\"hi\");\nexport { }\n", - "impliedFormat": "commonjs" - } - }, - "root": [ - [ - [ - 2, - 4 - ], - [ - "../shared/types/db.ts", - "../src/main.ts", - "../src/other.ts" - ] - ] - ], - "options": { - "assumeChangesOnlyAffectDirectDependencies": true, - "declaration": true, - "noEmitOnError": true, - "outDir": "./" - }, - "referencedMap": { - "../src/main.ts": [ - "../shared/types/db.ts" - ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../shared/types/db.ts", - "../src/main.ts", - "../src/other.ts" - ], - "affectedFilesPendingEmit": [ - [ - "../shared/types/db.ts", - "Js | Dts" - ], - [ - "../src/main.ts", - "Js | Dts" - ], - [ - "../src/other.ts", - "Js | Dts" - ] - ] - }, - "version": "FakeTSVersion", - "size": 1196 -} - - -PolledWatches:: -/user/username/projects/noEmitOnError/node_modules/@types: *new* - {"pollingInterval":500} -/user/username/projects/noEmitOnError/package.json: *new* - {"pollingInterval":2000} -/user/username/projects/noEmitOnError/shared/package.json: *new* - {"pollingInterval":2000} -/user/username/projects/noEmitOnError/shared/types/package.json: *new* - {"pollingInterval":2000} -/user/username/projects/noEmitOnError/src/package.json: *new* - {"pollingInterval":2000} -/user/username/projects/node_modules/@types: *new* - {"pollingInterval":500} -/user/username/projects/package.json: *new* - {"pollingInterval":2000} - -FsWatches:: -/a/lib/lib.d.ts: *new* - {} -/user/username/projects/noEmitOnError/shared/types/db.ts: *new* - {} -/user/username/projects/noEmitOnError/src/main.ts: *new* - {} -/user/username/projects/noEmitOnError/src/other.ts: *new* - {} -/user/username/projects/noEmitOnError/tsconfig.json: *new* - {} - -FsWatchesRecursive:: -/user/username/projects/noEmitOnError: *new* - {} - -Program root files: [ - "/user/username/projects/noEmitOnError/shared/types/db.ts", - "/user/username/projects/noEmitOnError/src/main.ts", - "/user/username/projects/noEmitOnError/src/other.ts" -] -Program options: { - "outDir": "/user/username/projects/noEmitOnError/dev-build", - "noEmitOnError": true, - "watch": true, - "assumeChangesOnlyAffectDirectDependencies": true, - "declaration": true, - "incremental": true, - "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" -} -Program structureReused: Not -Program files:: -/a/lib/lib.d.ts -/user/username/projects/noEmitOnError/shared/types/db.ts -/user/username/projects/noEmitOnError/src/main.ts -/user/username/projects/noEmitOnError/src/other.ts - -Semantic diagnostics in builder refreshed for:: -/a/lib/lib.d.ts -/user/username/projects/noEmitOnError/shared/types/db.ts -/user/username/projects/noEmitOnError/src/main.ts -/user/username/projects/noEmitOnError/src/other.ts - -Shape signatures in builder refreshed for:: -/a/lib/lib.d.ts (used version) -/user/username/projects/noemitonerror/shared/types/db.ts (used version) -/user/username/projects/noemitonerror/src/main.ts (used version) -/user/username/projects/noemitonerror/src/other.ts (used version) - -exitCode:: ExitStatus.undefined - -Change:: No change - -Input:: -//// [/user/username/projects/noEmitOnError/src/main.ts] file written with same contents - -Timeout callback:: count: 1 -1: timerToUpdateProgram *new* - -Before running Timeout callback:: count: 1 -1: timerToUpdateProgram - -After running Timeout callback:: count: 0 - - -exitCode:: ExitStatus.undefined - -Change:: Fix Syntax error - -Input:: -//// [/user/username/projects/noEmitOnError/src/main.ts] -import { A } from "../shared/types/db"; -const a = { - lastName: 'sdsd' -}; - - -Timeout callback:: count: 1 -2: timerToUpdateProgram *new* - -Before running Timeout callback:: count: 1 -2: timerToUpdateProgram - -After running Timeout callback:: count: 0 -Output:: ->> Screen clear -[HH:MM:SS AM] File change detected. Starting incremental compilation... - -[HH:MM:SS AM] Found 0 errors. Watching for file changes. - - - -//// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-2574605496-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n};","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"assumeChangesOnlyAffectDirectDependencies":true,"declaration":true,"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3,4]},"version":"FakeTSVersion"} - -//// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo.readable.baseline.txt] -{ - "program": { - "fileNames": [ - "../../../../../a/lib/lib.d.ts", - "../shared/types/db.ts", - "../src/main.ts", - "../src/other.ts" - ], - "fileNamesList": [ - [ - "../shared/types/db.ts" - ] - ], - "fileInfos": { - "../../../../../a/lib/lib.d.ts": { - "original": { - "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true, - "impliedFormat": 1 - }, - "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true, - "impliedFormat": "commonjs" - }, - "../shared/types/db.ts": { - "original": { - "version": "-5014788164-export interface A {\n name: string;\n}\n", - "impliedFormat": 1 - }, - "version": "-5014788164-export interface A {\n name: string;\n}\n", - "signature": "-5014788164-export interface A {\n name: string;\n}\n", - "impliedFormat": "commonjs" - }, - "../src/main.ts": { - "original": { - "version": "-2574605496-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n};", - "signature": "-3531856636-export {};\n", - "impliedFormat": 1 - }, - "version": "-2574605496-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n};", - "signature": "-3531856636-export {};\n", - "impliedFormat": "commonjs" - }, - "../src/other.ts": { - "original": { - "version": "9084524823-console.log(\"hi\");\nexport { }\n", - "signature": "-3531856636-export {};\n", - "impliedFormat": 1 - }, - "version": "9084524823-console.log(\"hi\");\nexport { }\n", - "signature": "-3531856636-export {};\n", - "impliedFormat": "commonjs" - } - }, - "root": [ - [ - [ - 2, - 4 - ], - [ - "../shared/types/db.ts", - "../src/main.ts", - "../src/other.ts" - ] - ] - ], - "options": { - "assumeChangesOnlyAffectDirectDependencies": true, - "declaration": true, - "noEmitOnError": true, - "outDir": "./" - }, - "referencedMap": { - "../src/main.ts": [ - "../shared/types/db.ts" - ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../shared/types/db.ts", - "../src/main.ts", - "../src/other.ts" - ] - }, - "version": "FakeTSVersion", - "size": 1238 -} - -//// [/user/username/projects/noEmitOnError/dev-build/shared/types/db.js] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); - - -//// [/user/username/projects/noEmitOnError/dev-build/shared/types/db.d.ts] -export interface A { - name: string; -} - - -//// [/user/username/projects/noEmitOnError/dev-build/src/main.js] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var a = { - lastName: 'sdsd' -}; - - -//// [/user/username/projects/noEmitOnError/dev-build/src/main.d.ts] -export {}; - - -//// [/user/username/projects/noEmitOnError/dev-build/src/other.js] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -console.log("hi"); - - -//// [/user/username/projects/noEmitOnError/dev-build/src/other.d.ts] -export {}; - - - - -Program root files: [ - "/user/username/projects/noEmitOnError/shared/types/db.ts", - "/user/username/projects/noEmitOnError/src/main.ts", - "/user/username/projects/noEmitOnError/src/other.ts" -] -Program options: { - "outDir": "/user/username/projects/noEmitOnError/dev-build", - "noEmitOnError": true, - "watch": true, - "assumeChangesOnlyAffectDirectDependencies": true, - "declaration": true, - "incremental": true, - "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" -} -Program structureReused: Completely -Program files:: -/a/lib/lib.d.ts -/user/username/projects/noEmitOnError/shared/types/db.ts -/user/username/projects/noEmitOnError/src/main.ts -/user/username/projects/noEmitOnError/src/other.ts - -Semantic diagnostics in builder refreshed for:: -/user/username/projects/noEmitOnError/src/main.ts - -Shape signatures in builder refreshed for:: -/user/username/projects/noemitonerror/src/main.ts (computed .d.ts) - -exitCode:: ExitStatus.undefined - -Change:: Semantic Error - -Input:: -//// [/user/username/projects/noEmitOnError/src/main.ts] -import { A } from "../shared/types/db"; -const a: string = 10; - - -Timeout callback:: count: 1 -3: timerToUpdateProgram *new* - -Before running Timeout callback:: count: 1 -3: timerToUpdateProgram - -After running Timeout callback:: count: 0 -Output:: ->> Screen clear -[HH:MM:SS AM] File change detected. Starting incremental compilation... - -src/main.ts:2:7 - error TS2322: Type 'number' is not assignable to type 'string'. - -2 const a: string = 10; -   ~ - -[HH:MM:SS AM] Found 1 error. Watching for file changes. - - - -//// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-11111345725-import { A } from \"../shared/types/db\";\nconst a: string = 10;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"assumeChangesOnlyAffectDirectDependencies":true,"declaration":true,"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,[3,[{"file":"../src/main.ts","start":46,"length":1,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'string'."}]],4],"affectedFilesPendingEmit":[3]},"version":"FakeTSVersion"} - -//// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo.readable.baseline.txt] -{ - "program": { - "fileNames": [ - "../../../../../a/lib/lib.d.ts", - "../shared/types/db.ts", - "../src/main.ts", - "../src/other.ts" - ], - "fileNamesList": [ - [ - "../shared/types/db.ts" - ] - ], - "fileInfos": { - "../../../../../a/lib/lib.d.ts": { - "original": { - "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true, - "impliedFormat": 1 - }, - "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true, - "impliedFormat": "commonjs" - }, - "../shared/types/db.ts": { - "original": { - "version": "-5014788164-export interface A {\n name: string;\n}\n", - "impliedFormat": 1 - }, - "version": "-5014788164-export interface A {\n name: string;\n}\n", - "signature": "-5014788164-export interface A {\n name: string;\n}\n", - "impliedFormat": "commonjs" - }, - "../src/main.ts": { - "original": { - "version": "-11111345725-import { A } from \"../shared/types/db\";\nconst a: string = 10;", - "signature": "-3531856636-export {};\n", - "impliedFormat": 1 - }, - "version": "-11111345725-import { A } from \"../shared/types/db\";\nconst a: string = 10;", - "signature": "-3531856636-export {};\n", - "impliedFormat": "commonjs" - }, - "../src/other.ts": { - "original": { - "version": "9084524823-console.log(\"hi\");\nexport { }\n", - "signature": "-3531856636-export {};\n", - "impliedFormat": 1 - }, - "version": "9084524823-console.log(\"hi\");\nexport { }\n", - "signature": "-3531856636-export {};\n", - "impliedFormat": "commonjs" - } - }, - "root": [ - [ - [ - 2, - 4 - ], - [ - "../shared/types/db.ts", - "../src/main.ts", - "../src/other.ts" - ] - ] - ], - "options": { - "assumeChangesOnlyAffectDirectDependencies": true, - "declaration": true, - "noEmitOnError": true, - "outDir": "./" - }, - "referencedMap": { - "../src/main.ts": [ - "../shared/types/db.ts" - ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../shared/types/db.ts", - [ - "../src/main.ts", - [ - { - "file": "../src/main.ts", - "start": 46, - "length": 1, - "code": 2322, - "category": 1, - "messageText": "Type 'number' is not assignable to type 'string'." - } - ] - ], - "../src/other.ts" - ], - "affectedFilesPendingEmit": [ - [ - "../src/main.ts", - "Js | Dts" - ] - ] - }, - "version": "FakeTSVersion", - "size": 1397 -} - - - -Program root files: [ - "/user/username/projects/noEmitOnError/shared/types/db.ts", - "/user/username/projects/noEmitOnError/src/main.ts", - "/user/username/projects/noEmitOnError/src/other.ts" -] -Program options: { - "outDir": "/user/username/projects/noEmitOnError/dev-build", - "noEmitOnError": true, - "watch": true, - "assumeChangesOnlyAffectDirectDependencies": true, - "declaration": true, - "incremental": true, - "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" -} -Program structureReused: Completely -Program files:: -/a/lib/lib.d.ts -/user/username/projects/noEmitOnError/shared/types/db.ts -/user/username/projects/noEmitOnError/src/main.ts -/user/username/projects/noEmitOnError/src/other.ts - -Semantic diagnostics in builder refreshed for:: -/user/username/projects/noEmitOnError/src/main.ts - -Shape signatures in builder refreshed for:: -/user/username/projects/noemitonerror/src/main.ts (computed .d.ts) - -exitCode:: ExitStatus.undefined - -Change:: No change - -Input:: -//// [/user/username/projects/noEmitOnError/src/main.ts] file written with same contents - -Timeout callback:: count: 1 -4: timerToUpdateProgram *new* - -Before running Timeout callback:: count: 1 -4: timerToUpdateProgram - -After running Timeout callback:: count: 0 - - -exitCode:: ExitStatus.undefined - -Change:: Fix Semantic Error - -Input:: -//// [/user/username/projects/noEmitOnError/src/main.ts] -import { A } from "../shared/types/db"; -const a: string = "hello"; - - -Timeout callback:: count: 1 -5: timerToUpdateProgram *new* - -Before running Timeout callback:: count: 1 -5: timerToUpdateProgram - -After running Timeout callback:: count: 0 -Output:: ->> Screen clear -[HH:MM:SS AM] File change detected. Starting incremental compilation... - -[HH:MM:SS AM] Found 0 errors. Watching for file changes. - - - -//// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-8373351622-import { A } from \"../shared/types/db\";\nconst a: string = \"hello\";","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"assumeChangesOnlyAffectDirectDependencies":true,"declaration":true,"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3,4]},"version":"FakeTSVersion"} - -//// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo.readable.baseline.txt] -{ - "program": { - "fileNames": [ - "../../../../../a/lib/lib.d.ts", - "../shared/types/db.ts", - "../src/main.ts", - "../src/other.ts" - ], - "fileNamesList": [ - [ - "../shared/types/db.ts" - ] - ], - "fileInfos": { - "../../../../../a/lib/lib.d.ts": { - "original": { - "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true, - "impliedFormat": 1 - }, - "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true, - "impliedFormat": "commonjs" - }, - "../shared/types/db.ts": { - "original": { - "version": "-5014788164-export interface A {\n name: string;\n}\n", - "impliedFormat": 1 - }, - "version": "-5014788164-export interface A {\n name: string;\n}\n", - "signature": "-5014788164-export interface A {\n name: string;\n}\n", - "impliedFormat": "commonjs" - }, - "../src/main.ts": { - "original": { - "version": "-8373351622-import { A } from \"../shared/types/db\";\nconst a: string = \"hello\";", - "signature": "-3531856636-export {};\n", - "impliedFormat": 1 - }, - "version": "-8373351622-import { A } from \"../shared/types/db\";\nconst a: string = \"hello\";", - "signature": "-3531856636-export {};\n", - "impliedFormat": "commonjs" - }, - "../src/other.ts": { - "original": { - "version": "9084524823-console.log(\"hi\");\nexport { }\n", - "signature": "-3531856636-export {};\n", - "impliedFormat": 1 - }, - "version": "9084524823-console.log(\"hi\");\nexport { }\n", - "signature": "-3531856636-export {};\n", - "impliedFormat": "commonjs" - } - }, - "root": [ - [ - [ - 2, - 4 - ], - [ - "../shared/types/db.ts", - "../src/main.ts", - "../src/other.ts" - ] - ] - ], - "options": { - "assumeChangesOnlyAffectDirectDependencies": true, - "declaration": true, - "noEmitOnError": true, - "outDir": "./" - }, - "referencedMap": { - "../src/main.ts": [ - "../shared/types/db.ts" - ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../shared/types/db.ts", - "../src/main.ts", - "../src/other.ts" - ] - }, - "version": "FakeTSVersion", - "size": 1229 -} - -//// [/user/username/projects/noEmitOnError/dev-build/src/main.js] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var a = "hello"; - - -//// [/user/username/projects/noEmitOnError/dev-build/src/main.d.ts] file written with same contents - - -Program root files: [ - "/user/username/projects/noEmitOnError/shared/types/db.ts", - "/user/username/projects/noEmitOnError/src/main.ts", - "/user/username/projects/noEmitOnError/src/other.ts" -] -Program options: { - "outDir": "/user/username/projects/noEmitOnError/dev-build", - "noEmitOnError": true, - "watch": true, - "assumeChangesOnlyAffectDirectDependencies": true, - "declaration": true, - "incremental": true, - "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" -} -Program structureReused: Completely -Program files:: -/a/lib/lib.d.ts -/user/username/projects/noEmitOnError/shared/types/db.ts -/user/username/projects/noEmitOnError/src/main.ts -/user/username/projects/noEmitOnError/src/other.ts - -Semantic diagnostics in builder refreshed for:: -/user/username/projects/noEmitOnError/src/main.ts - -Shape signatures in builder refreshed for:: -/user/username/projects/noemitonerror/src/main.ts (computed .d.ts) - -exitCode:: ExitStatus.undefined - -Change:: No change - -Input:: -//// [/user/username/projects/noEmitOnError/src/main.ts] file written with same contents - -Timeout callback:: count: 1 -6: timerToUpdateProgram *new* - -Before running Timeout callback:: count: 1 -6: timerToUpdateProgram - -After running Timeout callback:: count: 0 - - -exitCode:: ExitStatus.undefined diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependenciesAndD/with-noEmitOnError.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependenciesAndD/with-noEmitOnError.js deleted file mode 100644 index 9e6754cbb3fec..0000000000000 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependenciesAndD/with-noEmitOnError.js +++ /dev/null @@ -1,378 +0,0 @@ -currentDirectory:: /user/username/projects/noEmitOnError useCaseSensitiveFileNames: false -Input:: -//// [/user/username/projects/noEmitOnError/tsconfig.json] -{ - "compilerOptions": { - "outDir": "./dev-build", - "noEmitOnError": true - } -} - -//// [/user/username/projects/noEmitOnError/shared/types/db.ts] -export interface A { - name: string; -} - - -//// [/user/username/projects/noEmitOnError/src/main.ts] -import { A } from "../shared/types/db"; -const a = { - lastName: 'sdsd' -; - - -//// [/user/username/projects/noEmitOnError/src/other.ts] -console.log("hi"); -export { } - - -//// [/a/lib/lib.d.ts] -/// -interface Boolean {} -interface Function {} -interface CallableFunction {} -interface NewableFunction {} -interface IArguments {} -interface Number { toExponential: any; } -interface Object {} -interface RegExp {} -interface String { charAt: any; } -interface Array { length: number; [n: number]: T; } -interface ReadonlyArray {} -declare const console: { log(msg: any): void; }; - - -/a/lib/tsc.js --w --assumeChangesOnlyAffectDirectDependencies --d -Output:: ->> Screen clear -[HH:MM:SS AM] Starting compilation in watch mode... - -src/main.ts:4:1 - error TS1005: ',' expected. - -4 ; -  ~ - -[HH:MM:SS AM] Found 1 error. Watching for file changes. - - - - -PolledWatches:: -/user/username/projects/noEmitOnError/node_modules/@types: *new* - {"pollingInterval":500} -/user/username/projects/noEmitOnError/package.json: *new* - {"pollingInterval":2000} -/user/username/projects/noEmitOnError/shared/package.json: *new* - {"pollingInterval":2000} -/user/username/projects/noEmitOnError/shared/types/package.json: *new* - {"pollingInterval":2000} -/user/username/projects/noEmitOnError/src/package.json: *new* - {"pollingInterval":2000} -/user/username/projects/node_modules/@types: *new* - {"pollingInterval":500} -/user/username/projects/package.json: *new* - {"pollingInterval":2000} - -FsWatches:: -/a/lib/lib.d.ts: *new* - {} -/user/username/projects/noEmitOnError/shared/types/db.ts: *new* - {} -/user/username/projects/noEmitOnError/src/main.ts: *new* - {} -/user/username/projects/noEmitOnError/src/other.ts: *new* - {} -/user/username/projects/noEmitOnError/tsconfig.json: *new* - {} - -FsWatchesRecursive:: -/user/username/projects/noEmitOnError: *new* - {} - -Program root files: [ - "/user/username/projects/noEmitOnError/shared/types/db.ts", - "/user/username/projects/noEmitOnError/src/main.ts", - "/user/username/projects/noEmitOnError/src/other.ts" -] -Program options: { - "outDir": "/user/username/projects/noEmitOnError/dev-build", - "noEmitOnError": true, - "watch": true, - "assumeChangesOnlyAffectDirectDependencies": true, - "declaration": true, - "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" -} -Program structureReused: Not -Program files:: -/a/lib/lib.d.ts -/user/username/projects/noEmitOnError/shared/types/db.ts -/user/username/projects/noEmitOnError/src/main.ts -/user/username/projects/noEmitOnError/src/other.ts - -Semantic diagnostics in builder refreshed for:: -/a/lib/lib.d.ts -/user/username/projects/noEmitOnError/shared/types/db.ts -/user/username/projects/noEmitOnError/src/main.ts -/user/username/projects/noEmitOnError/src/other.ts - -Shape signatures in builder refreshed for:: -/a/lib/lib.d.ts (used version) -/user/username/projects/noemitonerror/shared/types/db.ts (used version) -/user/username/projects/noemitonerror/src/main.ts (used version) -/user/username/projects/noemitonerror/src/other.ts (used version) - -exitCode:: ExitStatus.undefined - -Change:: No change - -Input:: -//// [/user/username/projects/noEmitOnError/src/main.ts] file written with same contents - -Timeout callback:: count: 1 -1: timerToUpdateProgram *new* - -Before running Timeout callback:: count: 1 -1: timerToUpdateProgram - -After running Timeout callback:: count: 0 - - -exitCode:: ExitStatus.undefined - -Change:: Fix Syntax error - -Input:: -//// [/user/username/projects/noEmitOnError/src/main.ts] -import { A } from "../shared/types/db"; -const a = { - lastName: 'sdsd' -}; - - -Timeout callback:: count: 1 -2: timerToUpdateProgram *new* - -Before running Timeout callback:: count: 1 -2: timerToUpdateProgram - -After running Timeout callback:: count: 0 -Output:: ->> Screen clear -[HH:MM:SS AM] File change detected. Starting incremental compilation... - -[HH:MM:SS AM] Found 0 errors. Watching for file changes. - - - -//// [/user/username/projects/noEmitOnError/dev-build/shared/types/db.js] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); - - -//// [/user/username/projects/noEmitOnError/dev-build/shared/types/db.d.ts] -export interface A { - name: string; -} - - -//// [/user/username/projects/noEmitOnError/dev-build/src/main.js] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var a = { - lastName: 'sdsd' -}; - - -//// [/user/username/projects/noEmitOnError/dev-build/src/main.d.ts] -export {}; - - -//// [/user/username/projects/noEmitOnError/dev-build/src/other.js] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -console.log("hi"); - - -//// [/user/username/projects/noEmitOnError/dev-build/src/other.d.ts] -export {}; - - - - -Program root files: [ - "/user/username/projects/noEmitOnError/shared/types/db.ts", - "/user/username/projects/noEmitOnError/src/main.ts", - "/user/username/projects/noEmitOnError/src/other.ts" -] -Program options: { - "outDir": "/user/username/projects/noEmitOnError/dev-build", - "noEmitOnError": true, - "watch": true, - "assumeChangesOnlyAffectDirectDependencies": true, - "declaration": true, - "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" -} -Program structureReused: Completely -Program files:: -/a/lib/lib.d.ts -/user/username/projects/noEmitOnError/shared/types/db.ts -/user/username/projects/noEmitOnError/src/main.ts -/user/username/projects/noEmitOnError/src/other.ts - -Semantic diagnostics in builder refreshed for:: -/user/username/projects/noEmitOnError/src/main.ts - -Shape signatures in builder refreshed for:: -/user/username/projects/noemitonerror/src/main.ts (computed .d.ts) - -exitCode:: ExitStatus.undefined - -Change:: Semantic Error - -Input:: -//// [/user/username/projects/noEmitOnError/src/main.ts] -import { A } from "../shared/types/db"; -const a: string = 10; - - -Timeout callback:: count: 1 -3: timerToUpdateProgram *new* - -Before running Timeout callback:: count: 1 -3: timerToUpdateProgram - -After running Timeout callback:: count: 0 -Output:: ->> Screen clear -[HH:MM:SS AM] File change detected. Starting incremental compilation... - -src/main.ts:2:7 - error TS2322: Type 'number' is not assignable to type 'string'. - -2 const a: string = 10; -   ~ - -[HH:MM:SS AM] Found 1 error. Watching for file changes. - - - - - -Program root files: [ - "/user/username/projects/noEmitOnError/shared/types/db.ts", - "/user/username/projects/noEmitOnError/src/main.ts", - "/user/username/projects/noEmitOnError/src/other.ts" -] -Program options: { - "outDir": "/user/username/projects/noEmitOnError/dev-build", - "noEmitOnError": true, - "watch": true, - "assumeChangesOnlyAffectDirectDependencies": true, - "declaration": true, - "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" -} -Program structureReused: Completely -Program files:: -/a/lib/lib.d.ts -/user/username/projects/noEmitOnError/shared/types/db.ts -/user/username/projects/noEmitOnError/src/main.ts -/user/username/projects/noEmitOnError/src/other.ts - -Semantic diagnostics in builder refreshed for:: -/user/username/projects/noEmitOnError/src/main.ts - -Shape signatures in builder refreshed for:: -/user/username/projects/noemitonerror/src/main.ts (computed .d.ts) - -exitCode:: ExitStatus.undefined - -Change:: No change - -Input:: -//// [/user/username/projects/noEmitOnError/src/main.ts] file written with same contents - -Timeout callback:: count: 1 -4: timerToUpdateProgram *new* - -Before running Timeout callback:: count: 1 -4: timerToUpdateProgram - -After running Timeout callback:: count: 0 - - -exitCode:: ExitStatus.undefined - -Change:: Fix Semantic Error - -Input:: -//// [/user/username/projects/noEmitOnError/src/main.ts] -import { A } from "../shared/types/db"; -const a: string = "hello"; - - -Timeout callback:: count: 1 -5: timerToUpdateProgram *new* - -Before running Timeout callback:: count: 1 -5: timerToUpdateProgram - -After running Timeout callback:: count: 0 -Output:: ->> Screen clear -[HH:MM:SS AM] File change detected. Starting incremental compilation... - -[HH:MM:SS AM] Found 0 errors. Watching for file changes. - - - -//// [/user/username/projects/noEmitOnError/dev-build/src/main.js] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var a = "hello"; - - -//// [/user/username/projects/noEmitOnError/dev-build/src/main.d.ts] file written with same contents - - -Program root files: [ - "/user/username/projects/noEmitOnError/shared/types/db.ts", - "/user/username/projects/noEmitOnError/src/main.ts", - "/user/username/projects/noEmitOnError/src/other.ts" -] -Program options: { - "outDir": "/user/username/projects/noEmitOnError/dev-build", - "noEmitOnError": true, - "watch": true, - "assumeChangesOnlyAffectDirectDependencies": true, - "declaration": true, - "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" -} -Program structureReused: Completely -Program files:: -/a/lib/lib.d.ts -/user/username/projects/noEmitOnError/shared/types/db.ts -/user/username/projects/noEmitOnError/src/main.ts -/user/username/projects/noEmitOnError/src/other.ts - -Semantic diagnostics in builder refreshed for:: -/user/username/projects/noEmitOnError/src/main.ts - -Shape signatures in builder refreshed for:: -/user/username/projects/noemitonerror/src/main.ts (computed .d.ts) - -exitCode:: ExitStatus.undefined - -Change:: No change - -Input:: -//// [/user/username/projects/noEmitOnError/src/main.ts] file written with same contents - -Timeout callback:: count: 1 -6: timerToUpdateProgram *new* - -Before running Timeout callback:: count: 1 -6: timerToUpdateProgram - -After running Timeout callback:: count: 0 - - -exitCode:: ExitStatus.undefined diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/default/deepImportChanges/errors-for-.d.ts-change-with-incremental.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/default/deepImportChanges/errors-for-.d.ts-change-with-incremental.js index 0c21536eae495..930d29d00cd52 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/default/deepImportChanges/errors-for-.d.ts-change-with-incremental.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/default/deepImportChanges/errors-for-.d.ts-change-with-incremental.js @@ -54,7 +54,7 @@ console.log(b.c.d); //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.d.ts","./b.d.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18774426152-export class C\n{\n d: number;\n}","impliedFormat":1},{"version":"-1688906387-import {C} from './c';\nexport class B\n{\n c: C;\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","impliedFormat":1}],"root":[[2,4]],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,4,3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.d.ts","./b.d.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18774426152-export class C\n{\n d: number;\n}","impliedFormat":1},{"version":"-1688906387-import {C} from './c';\nexport class B\n{\n c: C;\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","impliedFormat":1}],"root":[[2,4]],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -133,16 +133,10 @@ console.log(b.c.d); "./b.d.ts": [ "./c.d.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.d.ts", - "./c.d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 966 + "size": 927 } @@ -226,6 +220,7 @@ Before running Timeout callback:: count: 2 2: timerToInvalidateFailedLookupResolutions 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -241,7 +236,7 @@ Output:: //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.d.ts","./b.d.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-21444928214-export class C\n{\n d2: number;\n}","impliedFormat":1},{"version":"-1688906387-import {C} from './c';\nexport class B\n{\n c: C;\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","impliedFormat":1}],"root":[[2,4]],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,[4,[{"file":"./a.ts","start":82,"length":1,"code":2339,"category":1,"messageText":"Property 'd' does not exist on type 'C'."}]],3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.d.ts","./b.d.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-21444928214-export class C\n{\n d2: number;\n}","impliedFormat":1},{"version":"-1688906387-import {C} from './c';\nexport class B\n{\n c: C;\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","impliedFormat":1}],"root":[[2,4]],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[[4,[{"start":82,"length":1,"code":2339,"category":1,"messageText":"Property 'd' does not exist on type 'C'."}]]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -322,12 +317,10 @@ Output:: ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", [ "./a.ts", [ { - "file": "./a.ts", "start": 82, "length": 1, "code": 2339, @@ -335,13 +328,11 @@ Output:: "messageText": "Property 'd' does not exist on type 'C'." } ] - ], - "./b.d.ts", - "./c.d.ts" + ] ] }, "version": "FakeTSVersion", - "size": 1093 + "size": 1071 } @@ -391,6 +382,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 4: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -401,7 +393,7 @@ Output:: //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.d.ts","./b.d.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18774426152-export class C\n{\n d: number;\n}","impliedFormat":1},{"version":"-1688906387-import {C} from './c';\nexport class B\n{\n c: C;\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","impliedFormat":1}],"root":[[2,4]],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,4,3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.d.ts","./b.d.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18774426152-export class C\n{\n d: number;\n}","impliedFormat":1},{"version":"-1688906387-import {C} from './c';\nexport class B\n{\n c: C;\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","impliedFormat":1}],"root":[[2,4]],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -480,16 +472,10 @@ Output:: "./b.d.ts": [ "./c.d.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.d.ts", - "./c.d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 966 + "size": 927 } @@ -539,6 +525,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 5: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -554,7 +541,7 @@ Output:: //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.d.ts","./b.d.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-21444928214-export class C\n{\n d2: number;\n}","impliedFormat":1},{"version":"-1688906387-import {C} from './c';\nexport class B\n{\n c: C;\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","impliedFormat":1}],"root":[[2,4]],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,[4,[{"file":"./a.ts","start":82,"length":1,"code":2339,"category":1,"messageText":"Property 'd' does not exist on type 'C'."}]],3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.d.ts","./b.d.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-21444928214-export class C\n{\n d2: number;\n}","impliedFormat":1},{"version":"-1688906387-import {C} from './c';\nexport class B\n{\n c: C;\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","impliedFormat":1}],"root":[[2,4]],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[[4,[{"start":82,"length":1,"code":2339,"category":1,"messageText":"Property 'd' does not exist on type 'C'."}]]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -635,12 +622,10 @@ Output:: ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", [ "./a.ts", [ { - "file": "./a.ts", "start": 82, "length": 1, "code": 2339, @@ -648,13 +633,11 @@ Output:: "messageText": "Property 'd' does not exist on type 'C'." } ] - ], - "./b.d.ts", - "./c.d.ts" + ] ] }, "version": "FakeTSVersion", - "size": 1093 + "size": 1071 } diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/default/deepImportChanges/errors-for-.d.ts-change.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/default/deepImportChanges/errors-for-.d.ts-change.js index 67d1e28eba60b..8797cacbcb024 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/default/deepImportChanges/errors-for-.d.ts-change.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/default/deepImportChanges/errors-for-.d.ts-change.js @@ -128,6 +128,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -188,6 +189,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -243,6 +245,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/default/deepImportChanges/errors-for-.ts-change-with-incremental.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/default/deepImportChanges/errors-for-.ts-change-with-incremental.js index e4101819fa1c8..27c37b48a07eb 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/default/deepImportChanges/errors-for-.ts-change-with-incremental.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/default/deepImportChanges/errors-for-.ts-change-with-incremental.js @@ -81,7 +81,7 @@ console.log(b.c.d); //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-22447130237-export class C\n{\n d = 1;\n}","impliedFormat":1},{"version":"-6292386773-import {C} from './c';\nexport class B\n{\n c = new C();\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","impliedFormat":1}],"root":[[2,4]],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,4,3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-22447130237-export class C\n{\n d = 1;\n}","impliedFormat":1},{"version":"-6292386773-import {C} from './c';\nexport class B\n{\n c = new C();\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","impliedFormat":1}],"root":[[2,4]],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -160,16 +160,10 @@ console.log(b.c.d); "./b.ts": [ "./c.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts" - ] + } }, "version": "FakeTSVersion", - "size": 965 + "size": 926 } @@ -246,6 +240,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -276,7 +271,7 @@ exports.C = C; //// [/user/username/projects/myproject/b.js] file written with same contents //// [/user/username/projects/myproject/a.js] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-22846341163-export class C\n{\n d2 = 1;\n}","signature":"-4637923302-export declare class C {\n d2: number;\n}\n","impliedFormat":1},{"version":"-6292386773-import {C} from './c';\nexport class B\n{\n c = new C();\n}","signature":"-165097315-import { C } from './c';\nexport declare class B {\n c: C;\n}\n","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,[4,[{"file":"./a.ts","start":82,"length":1,"code":2339,"category":1,"messageText":"Property 'd' does not exist on type 'C'."}]],3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-22846341163-export class C\n{\n d2 = 1;\n}","signature":"-4637923302-export declare class C {\n d2: number;\n}\n","impliedFormat":1},{"version":"-6292386773-import {C} from './c';\nexport class B\n{\n c = new C();\n}","signature":"-165097315-import { C } from './c';\nexport declare class B {\n c: C;\n}\n","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[[4,[{"start":82,"length":1,"code":2339,"category":1,"messageText":"Property 'd' does not exist on type 'C'."}]]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -360,12 +355,10 @@ exports.C = C; ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", [ "./a.ts", [ { - "file": "./a.ts", "start": 82, "length": 1, "code": 2339, @@ -373,13 +366,11 @@ exports.C = C; "messageText": "Property 'd' does not exist on type 'C'." } ] - ], - "./b.ts", - "./c.ts" + ] ] }, "version": "FakeTSVersion", - "size": 1296 + "size": 1274 } @@ -429,6 +420,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -453,7 +445,7 @@ exports.C = C; //// [/user/username/projects/myproject/b.js] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-22447130237-export class C\n{\n d = 1;\n}","signature":"-6977846840-export declare class C {\n d: number;\n}\n","impliedFormat":1},{"version":"-6292386773-import {C} from './c';\nexport class B\n{\n c = new C();\n}","signature":"-165097315-import { C } from './c';\nexport declare class B {\n c: C;\n}\n","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","impliedFormat":1}],"root":[[2,4]],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,4,3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-22447130237-export class C\n{\n d = 1;\n}","signature":"-6977846840-export declare class C {\n d: number;\n}\n","impliedFormat":1},{"version":"-6292386773-import {C} from './c';\nexport class B\n{\n c = new C();\n}","signature":"-165097315-import { C } from './c';\nexport declare class B {\n c: C;\n}\n","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","impliedFormat":1}],"root":[[2,4]],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -534,16 +526,10 @@ exports.C = C; "./b.ts": [ "./c.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1129 + "size": 1090 } @@ -593,6 +579,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -622,7 +609,7 @@ exports.C = C; //// [/user/username/projects/myproject/b.js] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-22846341163-export class C\n{\n d2 = 1;\n}","signature":"-4637923302-export declare class C {\n d2: number;\n}\n","impliedFormat":1},{"version":"-6292386773-import {C} from './c';\nexport class B\n{\n c = new C();\n}","signature":"-165097315-import { C } from './c';\nexport declare class B {\n c: C;\n}\n","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","impliedFormat":1}],"root":[[2,4]],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,[4,[{"file":"./a.ts","start":82,"length":1,"code":2339,"category":1,"messageText":"Property 'd' does not exist on type 'C'."}]],3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-22846341163-export class C\n{\n d2 = 1;\n}","signature":"-4637923302-export declare class C {\n d2: number;\n}\n","impliedFormat":1},{"version":"-6292386773-import {C} from './c';\nexport class B\n{\n c = new C();\n}","signature":"-165097315-import { C } from './c';\nexport declare class B {\n c: C;\n}\n","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","impliedFormat":1}],"root":[[2,4]],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[[4,[{"start":82,"length":1,"code":2339,"category":1,"messageText":"Property 'd' does not exist on type 'C'."}]]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -705,12 +692,10 @@ exports.C = C; ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", [ "./a.ts", [ { - "file": "./a.ts", "start": 82, "length": 1, "code": 2339, @@ -718,13 +703,11 @@ exports.C = C; "messageText": "Property 'd' does not exist on type 'C'." } ] - ], - "./b.ts", - "./c.ts" + ] ] }, "version": "FakeTSVersion", - "size": 1257 + "size": 1235 } diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/default/deepImportChanges/errors-for-.ts-change.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/default/deepImportChanges/errors-for-.ts-change.js index 921a9fd268fd8..ad360f5d63cd7 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/default/deepImportChanges/errors-for-.ts-change.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/default/deepImportChanges/errors-for-.ts-change.js @@ -153,6 +153,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -228,6 +229,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -297,6 +299,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/default/file-not-exporting-a-deep-multilevel-import-that-changes-with-incremental.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/default/file-not-exporting-a-deep-multilevel-import-that-changes-with-incremental.js index a84f0e5661cf5..ead938d7f72d7 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/default/file-not-exporting-a-deep-multilevel-import-that-changes-with-incremental.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/default/file-not-exporting-a-deep-multilevel-import-that-changes-with-incremental.js @@ -115,7 +115,7 @@ require("./d"); //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts","./e.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"9889814467-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x2: number;\n y: number;\n}","impliedFormat":1},{"version":"-8029610078-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}","impliedFormat":1},{"version":"-37232372138-import { PointWrapper } from \"./b\";\nexport function getPoint(): PointWrapper {\n return {\n name: \"test\",\n c: {\n x: 1,\n y: 2\n }\n }\n};","impliedFormat":1},{"version":"-17875457076-import { getPoint } from \"./c\";\ngetPoint().c.x;","impliedFormat":1},{"version":"-5185546240-import \"./d\";","impliedFormat":1}],"root":[[2,6]],"fileIdsList":[[2],[3],[4],[5]],"referencedMap":[[3,1],[4,2],[5,3],[6,4]],"semanticDiagnosticsPerFile":[1,2,3,[4,[{"file":"./c.ts","start":139,"length":1,"code":2353,"category":1,"messageText":"Object literal may only specify known properties, and 'x' does not exist in type 'Coords'.","relatedInformation":[{"file":"./a.ts","start":47,"length":1,"messageText":"The expected type comes from property 'c' which is declared here on type 'PointWrapper'","category":3,"code":6500}]}]],[5,[{"file":"./d.ts","start":45,"length":1,"code":2339,"category":1,"messageText":"Property 'x' does not exist on type 'Coords'."}]],6]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts","./e.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"9889814467-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x2: number;\n y: number;\n}","impliedFormat":1},{"version":"-8029610078-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}","impliedFormat":1},{"version":"-37232372138-import { PointWrapper } from \"./b\";\nexport function getPoint(): PointWrapper {\n return {\n name: \"test\",\n c: {\n x: 1,\n y: 2\n }\n }\n};","impliedFormat":1},{"version":"-17875457076-import { getPoint } from \"./c\";\ngetPoint().c.x;","impliedFormat":1},{"version":"-5185546240-import \"./d\";","impliedFormat":1}],"root":[[2,6]],"fileIdsList":[[2],[3],[4],[5]],"referencedMap":[[3,1],[4,2],[5,3],[6,4]],"semanticDiagnosticsPerFile":[[4,[{"start":139,"length":1,"code":2353,"category":1,"messageText":"Object literal may only specify known properties, and 'x' does not exist in type 'Coords'.","relatedInformation":[{"file":"./a.ts","start":47,"length":1,"messageText":"The expected type comes from property 'c' which is declared here on type 'PointWrapper'","category":3,"code":6500}]}]],[5,[{"start":45,"length":1,"code":2339,"category":1,"messageText":"Property 'x' does not exist on type 'Coords'."}]]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -230,14 +230,10 @@ require("./d"); ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.ts", [ "./c.ts", [ { - "file": "./c.ts", "start": 139, "length": 1, "code": 2353, @@ -260,7 +256,6 @@ require("./d"); "./d.ts", [ { - "file": "./d.ts", "start": 45, "length": 1, "code": 2339, @@ -268,12 +263,11 @@ require("./d"); "messageText": "Property 'x' does not exist on type 'Coords'." } ] - ], - "./e.ts" + ] ] }, "version": "FakeTSVersion", - "size": 1879 + "size": 1839 } @@ -366,6 +360,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -381,7 +376,7 @@ Output:: //// [/user/username/projects/myproject/d.js] file written with same contents //// [/user/username/projects/myproject/e.js] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts","./e.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"2103509937-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x: number;\n y: number;\n}","signature":"696351195-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x: number;\n y: number;\n}\n","impliedFormat":1},{"version":"-8029610078-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}","signature":"-7279094804-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}\n","impliedFormat":1},{"version":"-37232372138-import { PointWrapper } from \"./b\";\nexport function getPoint(): PointWrapper {\n return {\n name: \"test\",\n c: {\n x: 1,\n y: 2\n }\n }\n};","signature":"-3387333988-import { PointWrapper } from \"./b\";\nexport declare function getPoint(): PointWrapper;\n","impliedFormat":1},{"version":"-17875457076-import { getPoint } from \"./c\";\ngetPoint().c.x;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-5185546240-import \"./d\";","signature":"-3619301366-import \"./d\";\n","impliedFormat":1}],"root":[[2,6]],"fileIdsList":[[2],[3],[4],[5]],"referencedMap":[[3,1],[4,2],[5,3],[6,4]],"semanticDiagnosticsPerFile":[1,2,3,4,5,6]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts","./e.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"2103509937-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x: number;\n y: number;\n}","signature":"696351195-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x: number;\n y: number;\n}\n","impliedFormat":1},{"version":"-8029610078-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}","signature":"-7279094804-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}\n","impliedFormat":1},{"version":"-37232372138-import { PointWrapper } from \"./b\";\nexport function getPoint(): PointWrapper {\n return {\n name: \"test\",\n c: {\n x: 1,\n y: 2\n }\n }\n};","signature":"-3387333988-import { PointWrapper } from \"./b\";\nexport declare function getPoint(): PointWrapper;\n","impliedFormat":1},{"version":"-17875457076-import { getPoint } from \"./c\";\ngetPoint().c.x;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-5185546240-import \"./d\";","signature":"-3619301366-import \"./d\";\n","impliedFormat":1}],"root":[[2,6]],"fileIdsList":[[2],[3],[4],[5]],"referencedMap":[[3,1],[4,2],[5,3],[6,4]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -499,18 +494,10 @@ Output:: "./e.ts": [ "./d.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts", - "./e.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1838 + "size": 1795 } @@ -572,6 +559,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -599,7 +587,7 @@ Output:: //// [/user/username/projects/myproject/a.js] file written with same contents //// [/user/username/projects/myproject/b.js] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts","./e.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"9889814467-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x2: number;\n y: number;\n}","signature":"8536297517-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x2: number;\n y: number;\n}\n","impliedFormat":1},{"version":"-8029610078-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}","signature":"-7279094804-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}\n","impliedFormat":1},{"version":"-37232372138-import { PointWrapper } from \"./b\";\nexport function getPoint(): PointWrapper {\n return {\n name: \"test\",\n c: {\n x: 1,\n y: 2\n }\n }\n};","impliedFormat":1},{"version":"-17875457076-import { getPoint } from \"./c\";\ngetPoint().c.x;","impliedFormat":1},{"version":"-5185546240-import \"./d\";","impliedFormat":1}],"root":[[2,6]],"fileIdsList":[[2],[3],[4],[5]],"referencedMap":[[3,1],[4,2],[5,3],[6,4]],"semanticDiagnosticsPerFile":[1,2,3,[4,[{"file":"./c.ts","start":139,"length":1,"code":2353,"category":1,"messageText":"Object literal may only specify known properties, and 'x' does not exist in type 'Coords'.","relatedInformation":[{"file":"./a.ts","start":47,"length":1,"messageText":"The expected type comes from property 'c' which is declared here on type 'PointWrapper'","category":3,"code":6500}]}]],[5,[{"file":"./d.ts","start":45,"length":1,"code":2339,"category":1,"messageText":"Property 'x' does not exist on type 'Coords'."}]],6]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts","./e.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"9889814467-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x2: number;\n y: number;\n}","signature":"8536297517-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x2: number;\n y: number;\n}\n","impliedFormat":1},{"version":"-8029610078-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}","signature":"-7279094804-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}\n","impliedFormat":1},{"version":"-37232372138-import { PointWrapper } from \"./b\";\nexport function getPoint(): PointWrapper {\n return {\n name: \"test\",\n c: {\n x: 1,\n y: 2\n }\n }\n};","impliedFormat":1},{"version":"-17875457076-import { getPoint } from \"./c\";\ngetPoint().c.x;","impliedFormat":1},{"version":"-5185546240-import \"./d\";","impliedFormat":1}],"root":[[2,6]],"fileIdsList":[[2],[3],[4],[5]],"referencedMap":[[3,1],[4,2],[5,3],[6,4]],"semanticDiagnosticsPerFile":[[4,[{"start":139,"length":1,"code":2353,"category":1,"messageText":"Object literal may only specify known properties, and 'x' does not exist in type 'Coords'.","relatedInformation":[{"file":"./a.ts","start":47,"length":1,"messageText":"The expected type comes from property 'c' which is declared here on type 'PointWrapper'","category":3,"code":6500}]}]],[5,[{"start":45,"length":1,"code":2339,"category":1,"messageText":"Property 'x' does not exist on type 'Coords'."}]]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -716,14 +704,10 @@ Output:: ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.ts", [ "./c.ts", [ { - "file": "./c.ts", "start": 139, "length": 1, "code": 2353, @@ -746,7 +730,6 @@ Output:: "./d.ts", [ { - "file": "./d.ts", "start": 45, "length": 1, "code": 2339, @@ -754,12 +737,11 @@ Output:: "messageText": "Property 'x' does not exist on type 'Coords'." } ] - ], - "./e.ts" + ] ] }, "version": "FakeTSVersion", - "size": 2141 + "size": 2101 } @@ -821,6 +803,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -833,7 +816,7 @@ Output:: //// [/user/username/projects/myproject/a.js] file written with same contents //// [/user/username/projects/myproject/b.js] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts","./e.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"2103509937-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x: number;\n y: number;\n}","signature":"696351195-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x: number;\n y: number;\n}\n","impliedFormat":1},{"version":"-8029610078-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}","signature":"-7279094804-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}\n","impliedFormat":1},{"version":"-37232372138-import { PointWrapper } from \"./b\";\nexport function getPoint(): PointWrapper {\n return {\n name: \"test\",\n c: {\n x: 1,\n y: 2\n }\n }\n};","impliedFormat":1},{"version":"-17875457076-import { getPoint } from \"./c\";\ngetPoint().c.x;","impliedFormat":1},{"version":"-5185546240-import \"./d\";","impliedFormat":1}],"root":[[2,6]],"fileIdsList":[[2],[3],[4],[5]],"referencedMap":[[3,1],[4,2],[5,3],[6,4]],"semanticDiagnosticsPerFile":[1,2,3,4,5,6]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts","./e.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"2103509937-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x: number;\n y: number;\n}","signature":"696351195-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x: number;\n y: number;\n}\n","impliedFormat":1},{"version":"-8029610078-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}","signature":"-7279094804-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}\n","impliedFormat":1},{"version":"-37232372138-import { PointWrapper } from \"./b\";\nexport function getPoint(): PointWrapper {\n return {\n name: \"test\",\n c: {\n x: 1,\n y: 2\n }\n }\n};","impliedFormat":1},{"version":"-17875457076-import { getPoint } from \"./c\";\ngetPoint().c.x;","impliedFormat":1},{"version":"-5185546240-import \"./d\";","impliedFormat":1}],"root":[[2,6]],"fileIdsList":[[2],[3],[4],[5]],"referencedMap":[[3,1],[4,2],[5,3],[6,4]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -948,18 +931,10 @@ Output:: "./e.ts": [ "./d.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts", - "./e.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1638 + "size": 1595 } diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/default/file-not-exporting-a-deep-multilevel-import-that-changes.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/default/file-not-exporting-a-deep-multilevel-import-that-changes.js index e99cb963e1a2e..7a1f195c0cdf8 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/default/file-not-exporting-a-deep-multilevel-import-that-changes.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/default/file-not-exporting-a-deep-multilevel-import-that-changes.js @@ -203,6 +203,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -275,6 +276,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -359,6 +361,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/default/transitive-exports/no-circular-import/export-with-incremental.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/default/transitive-exports/no-circular-import/export-with-incremental.js index 2d3c97283ab90..af1280df642cd 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/default/transitive-exports/no-circular-import/export-with-incremental.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/default/transitive-exports/no-circular-import/export-with-incremental.js @@ -164,7 +164,7 @@ exports.App = App; //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4369626085-export interface ITest {\n title: string;\n}","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","impliedFormat":1},{"version":"-30573389178-import { ITest } from \"lib1/public\";\nexport class Data {\n public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","impliedFormat":1}],"root":[7],"fileIdsList":[[6],[3],[2],[4],[5]],"referencedMap":[[7,1],[4,2],[3,3],[5,4],[6,5]],"semanticDiagnosticsPerFile":[1,7,4,3,2,5,6]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4369626085-export interface ITest {\n title: string;\n}","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","impliedFormat":1},{"version":"-30573389178-import { ITest } from \"lib1/public\";\nexport class Data {\n public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","impliedFormat":1}],"root":[7],"fileIdsList":[[6],[3],[2],[4],[5]],"referencedMap":[[7,1],[4,2],[3,3],[5,4],[6,5]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -284,19 +284,10 @@ exports.App = App; "./lib2/public.ts": [ "./lib2/data.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./app.ts", - "./lib1/public.ts", - "./lib1/tools/public.ts", - "./lib1/tools/toolsinterface.ts", - "./lib2/data.ts", - "./lib2/public.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1501 + "size": 1456 } @@ -388,6 +379,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -409,7 +401,7 @@ Output:: //// [/user/username/projects/myproject/lib2/public.js] file written with same contents //// [/user/username/projects/myproject/app.js] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3501597171-export interface ITest {\n title2: string;\n}","signature":"-3883556937-export interface ITest {\n title2: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-30573389178-import { ITest } from \"lib1/public\";\nexport class Data {\n public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-15758516261-import { ITest } from \"lib1/public\";\nexport declare class Data {\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[7],"fileIdsList":[[6],[3],[2],[4],[5]],"referencedMap":[[7,1],[4,2],[3,3],[5,4],[6,5]],"semanticDiagnosticsPerFile":[1,7,4,3,2,[5,[{"file":"./lib2/data.ts","start":121,"length":5,"code":2561,"category":1,"messageText":"Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?"}]],6]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3501597171-export interface ITest {\n title2: string;\n}","signature":"-3883556937-export interface ITest {\n title2: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-30573389178-import { ITest } from \"lib1/public\";\nexport class Data {\n public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-15758516261-import { ITest } from \"lib1/public\";\nexport declare class Data {\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[7],"fileIdsList":[[6],[3],[2],[4],[5]],"referencedMap":[[7,1],[4,2],[3,3],[5,4],[6,5]],"semanticDiagnosticsPerFile":[[5,[{"start":121,"length":5,"code":2561,"category":1,"messageText":"Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?"}]]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -537,16 +529,10 @@ Output:: ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./app.ts", - "./lib1/public.ts", - "./lib1/tools/public.ts", - "./lib1/tools/toolsinterface.ts", [ "./lib2/data.ts", [ { - "file": "./lib2/data.ts", "start": 121, "length": 5, "code": 2561, @@ -554,12 +540,11 @@ Output:: "messageText": "Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?" } ] - ], - "./lib2/public.ts" + ] ] }, "version": "FakeTSVersion", - "size": 2179 + "size": 2143 } @@ -616,6 +601,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -628,7 +614,7 @@ Output:: //// [/user/username/projects/myproject/lib1/tools/toolsinterface.js] file written with same contents //// [/user/username/projects/myproject/lib1/tools/public.js] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4369626085-export interface ITest {\n title: string;\n}","signature":"-2463740027-export interface ITest {\n title: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","impliedFormat":1},{"version":"-30573389178-import { ITest } from \"lib1/public\";\nexport class Data {\n public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","impliedFormat":1}],"root":[7],"fileIdsList":[[6],[3],[2],[4],[5]],"referencedMap":[[7,1],[4,2],[3,3],[5,4],[6,5]],"semanticDiagnosticsPerFile":[1,7,4,3,2,5,6]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4369626085-export interface ITest {\n title: string;\n}","signature":"-2463740027-export interface ITest {\n title: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","impliedFormat":1},{"version":"-30573389178-import { ITest } from \"lib1/public\";\nexport class Data {\n public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","impliedFormat":1}],"root":[7],"fileIdsList":[[6],[3],[2],[4],[5]],"referencedMap":[[7,1],[4,2],[3,3],[5,4],[6,5]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -750,19 +736,10 @@ Output:: "./lib2/public.ts": [ "./lib2/data.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./app.ts", - "./lib1/public.ts", - "./lib1/tools/public.ts", - "./lib1/tools/toolsinterface.ts", - "./lib2/data.ts", - "./lib2/public.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1642 + "size": 1597 } @@ -819,6 +796,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -836,7 +814,7 @@ Output:: //// [/user/username/projects/myproject/lib1/tools/toolsinterface.js] file written with same contents //// [/user/username/projects/myproject/lib1/tools/public.js] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3501597171-export interface ITest {\n title2: string;\n}","signature":"-3883556937-export interface ITest {\n title2: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","impliedFormat":1},{"version":"-30573389178-import { ITest } from \"lib1/public\";\nexport class Data {\n public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","impliedFormat":1}],"root":[7],"fileIdsList":[[6],[3],[2],[4],[5]],"referencedMap":[[7,1],[4,2],[3,3],[5,4],[6,5]],"semanticDiagnosticsPerFile":[1,7,4,3,2,[5,[{"file":"./lib2/data.ts","start":121,"length":5,"code":2561,"category":1,"messageText":"Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?"}]],6]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3501597171-export interface ITest {\n title2: string;\n}","signature":"-3883556937-export interface ITest {\n title2: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","impliedFormat":1},{"version":"-30573389178-import { ITest } from \"lib1/public\";\nexport class Data {\n public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","impliedFormat":1}],"root":[7],"fileIdsList":[[6],[3],[2],[4],[5]],"referencedMap":[[7,1],[4,2],[3,3],[5,4],[6,5]],"semanticDiagnosticsPerFile":[[5,[{"start":121,"length":5,"code":2561,"category":1,"messageText":"Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?"}]]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -960,16 +938,10 @@ Output:: ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./app.ts", - "./lib1/public.ts", - "./lib1/tools/public.ts", - "./lib1/tools/toolsinterface.ts", [ "./lib2/data.ts", [ { - "file": "./lib2/data.ts", "start": 121, "length": 5, "code": 2561, @@ -977,12 +949,11 @@ Output:: "messageText": "Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?" } ] - ], - "./lib2/public.ts" + ] ] }, "version": "FakeTSVersion", - "size": 1864 + "size": 1828 } diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/default/transitive-exports/no-circular-import/export.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/default/transitive-exports/no-circular-import/export.js index e571521fcae42..00031d4754946 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/default/transitive-exports/no-circular-import/export.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/default/transitive-exports/no-circular-import/export.js @@ -251,6 +251,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -324,6 +325,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -388,6 +390,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/default/transitive-exports/yes-circular-import/exports-with-incremental.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/default/transitive-exports/yes-circular-import/exports-with-incremental.js index ecdde8ea5b6fa..fcaa3721e466b 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/default/transitive-exports/yes-circular-import/exports-with-incremental.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/default/transitive-exports/yes-circular-import/exports-with-incremental.js @@ -182,7 +182,7 @@ exports.App = App; //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data2.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4369626085-export interface ITest {\n title: string;\n}","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","impliedFormat":1},{"version":"-11055285700-import { Data } from \"./data\";\nexport class Data2 {\n public dat?: Data;\n}","impliedFormat":1},{"version":"-2056074887-import { ITest } from \"lib1/public\"; import { Data2 } from \"./data2\";\nexport class Data {\n public dat?: Data2; public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","impliedFormat":1}],"root":[8],"fileIdsList":[[7],[3],[2],[4,5],[6]],"referencedMap":[[8,1],[4,2],[3,3],[6,4],[5,5],[7,5]],"semanticDiagnosticsPerFile":[1,8,4,3,2,6,5,7]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data2.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4369626085-export interface ITest {\n title: string;\n}","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","impliedFormat":1},{"version":"-11055285700-import { Data } from \"./data\";\nexport class Data2 {\n public dat?: Data;\n}","impliedFormat":1},{"version":"-2056074887-import { ITest } from \"lib1/public\"; import { Data2 } from \"./data2\";\nexport class Data {\n public dat?: Data2; public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","impliedFormat":1}],"root":[8],"fileIdsList":[[7],[3],[2],[4,5],[6]],"referencedMap":[[8,1],[4,2],[3,3],[6,4],[5,5],[7,5]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -317,20 +317,10 @@ exports.App = App; "./lib2/public.ts": [ "./lib2/data.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./app.ts", - "./lib1/public.ts", - "./lib1/tools/public.ts", - "./lib1/tools/toolsinterface.ts", - "./lib2/data.ts", - "./lib2/data2.ts", - "./lib2/public.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1710 + "size": 1663 } @@ -427,6 +417,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -449,7 +440,7 @@ Output:: //// [/user/username/projects/myproject/lib2/public.js] file written with same contents //// [/user/username/projects/myproject/app.js] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data2.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3501597171-export interface ITest {\n title2: string;\n}","signature":"-3883556937-export interface ITest {\n title2: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-11055285700-import { Data } from \"./data\";\nexport class Data2 {\n public dat?: Data;\n}","signature":"-17387821545-import { Data } from \"./data\";\nexport declare class Data2 {\n dat?: Data;\n}\n","impliedFormat":1},{"version":"-2056074887-import { ITest } from \"lib1/public\"; import { Data2 } from \"./data2\";\nexport class Data {\n public dat?: Data2; public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-14170088573-import { ITest } from \"lib1/public\";\nimport { Data2 } from \"./data2\";\nexport declare class Data {\n dat?: Data2;\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[8],"fileIdsList":[[7],[3],[2],[4,5],[6]],"referencedMap":[[8,1],[4,2],[3,3],[6,4],[5,5],[7,5]],"semanticDiagnosticsPerFile":[1,8,4,3,2,[6,[{"file":"./lib2/data.ts","start":174,"length":5,"code":2561,"category":1,"messageText":"Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?"}]],5,7]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data2.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3501597171-export interface ITest {\n title2: string;\n}","signature":"-3883556937-export interface ITest {\n title2: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-11055285700-import { Data } from \"./data\";\nexport class Data2 {\n public dat?: Data;\n}","signature":"-17387821545-import { Data } from \"./data\";\nexport declare class Data2 {\n dat?: Data;\n}\n","impliedFormat":1},{"version":"-2056074887-import { ITest } from \"lib1/public\"; import { Data2 } from \"./data2\";\nexport class Data {\n public dat?: Data2; public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-14170088573-import { ITest } from \"lib1/public\";\nimport { Data2 } from \"./data2\";\nexport declare class Data {\n dat?: Data2;\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[8],"fileIdsList":[[7],[3],[2],[4,5],[6]],"referencedMap":[[8,1],[4,2],[3,3],[6,4],[5,5],[7,5]],"semanticDiagnosticsPerFile":[[6,[{"start":174,"length":5,"code":2561,"category":1,"messageText":"Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?"}]]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -593,16 +584,10 @@ Output:: ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./app.ts", - "./lib1/public.ts", - "./lib1/tools/public.ts", - "./lib1/tools/toolsinterface.ts", [ "./lib2/data.ts", [ { - "file": "./lib2/data.ts", "start": 174, "length": 5, "code": 2561, @@ -610,13 +595,11 @@ Output:: "messageText": "Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?" } ] - ], - "./lib2/data2.ts", - "./lib2/public.ts" + ] ] }, "version": "FakeTSVersion", - "size": 2554 + "size": 2516 } @@ -676,6 +659,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -688,7 +672,7 @@ Output:: //// [/user/username/projects/myproject/lib1/tools/toolsinterface.js] file written with same contents //// [/user/username/projects/myproject/lib1/tools/public.js] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data2.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4369626085-export interface ITest {\n title: string;\n}","signature":"-2463740027-export interface ITest {\n title: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","impliedFormat":1},{"version":"-11055285700-import { Data } from \"./data\";\nexport class Data2 {\n public dat?: Data;\n}","impliedFormat":1},{"version":"-2056074887-import { ITest } from \"lib1/public\"; import { Data2 } from \"./data2\";\nexport class Data {\n public dat?: Data2; public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","impliedFormat":1}],"root":[8],"fileIdsList":[[7],[3],[2],[4,5],[6]],"referencedMap":[[8,1],[4,2],[3,3],[6,4],[5,5],[7,5]],"semanticDiagnosticsPerFile":[1,8,4,3,2,6,5,7]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data2.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4369626085-export interface ITest {\n title: string;\n}","signature":"-2463740027-export interface ITest {\n title: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","impliedFormat":1},{"version":"-11055285700-import { Data } from \"./data\";\nexport class Data2 {\n public dat?: Data;\n}","impliedFormat":1},{"version":"-2056074887-import { ITest } from \"lib1/public\"; import { Data2 } from \"./data2\";\nexport class Data {\n public dat?: Data2; public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","impliedFormat":1}],"root":[8],"fileIdsList":[[7],[3],[2],[4,5],[6]],"referencedMap":[[8,1],[4,2],[3,3],[6,4],[5,5],[7,5]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -825,20 +809,10 @@ Output:: "./lib2/public.ts": [ "./lib2/data.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./app.ts", - "./lib1/public.ts", - "./lib1/tools/public.ts", - "./lib1/tools/toolsinterface.ts", - "./lib2/data.ts", - "./lib2/data2.ts", - "./lib2/public.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1851 + "size": 1804 } @@ -898,6 +872,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -915,7 +890,7 @@ Output:: //// [/user/username/projects/myproject/lib1/tools/toolsinterface.js] file written with same contents //// [/user/username/projects/myproject/lib1/tools/public.js] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data2.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3501597171-export interface ITest {\n title2: string;\n}","signature":"-3883556937-export interface ITest {\n title2: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","impliedFormat":1},{"version":"-11055285700-import { Data } from \"./data\";\nexport class Data2 {\n public dat?: Data;\n}","impliedFormat":1},{"version":"-2056074887-import { ITest } from \"lib1/public\"; import { Data2 } from \"./data2\";\nexport class Data {\n public dat?: Data2; public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","impliedFormat":1}],"root":[8],"fileIdsList":[[7],[3],[2],[4,5],[6]],"referencedMap":[[8,1],[4,2],[3,3],[6,4],[5,5],[7,5]],"semanticDiagnosticsPerFile":[1,8,4,3,2,[6,[{"file":"./lib2/data.ts","start":174,"length":5,"code":2561,"category":1,"messageText":"Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?"}]],5,7]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data2.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3501597171-export interface ITest {\n title2: string;\n}","signature":"-3883556937-export interface ITest {\n title2: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","impliedFormat":1},{"version":"-11055285700-import { Data } from \"./data\";\nexport class Data2 {\n public dat?: Data;\n}","impliedFormat":1},{"version":"-2056074887-import { ITest } from \"lib1/public\"; import { Data2 } from \"./data2\";\nexport class Data {\n public dat?: Data2; public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","impliedFormat":1}],"root":[8],"fileIdsList":[[7],[3],[2],[4,5],[6]],"referencedMap":[[8,1],[4,2],[3,3],[6,4],[5,5],[7,5]],"semanticDiagnosticsPerFile":[[6,[{"start":174,"length":5,"code":2561,"category":1,"messageText":"Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?"}]]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1054,16 +1029,10 @@ Output:: ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./app.ts", - "./lib1/public.ts", - "./lib1/tools/public.ts", - "./lib1/tools/toolsinterface.ts", [ "./lib2/data.ts", [ { - "file": "./lib2/data.ts", "start": 174, "length": 5, "code": 2561, @@ -1071,13 +1040,11 @@ Output:: "messageText": "Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?" } ] - ], - "./lib2/data2.ts", - "./lib2/public.ts" + ] ] }, "version": "FakeTSVersion", - "size": 2073 + "size": 2035 } diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/default/transitive-exports/yes-circular-import/exports.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/default/transitive-exports/yes-circular-import/exports.js index 4e877e72deb91..01705ae90e394 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/default/transitive-exports/yes-circular-import/exports.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/default/transitive-exports/yes-circular-import/exports.js @@ -274,6 +274,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -351,6 +352,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -418,6 +420,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/defaultAndD/deepImportChanges/errors-for-.d.ts-change-with-incremental.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/defaultAndD/deepImportChanges/errors-for-.d.ts-change-with-incremental.js index 73b21a1e9d721..0fc045fa22dc1 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/defaultAndD/deepImportChanges/errors-for-.d.ts-change-with-incremental.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/defaultAndD/deepImportChanges/errors-for-.d.ts-change-with-incremental.js @@ -58,7 +58,7 @@ export {}; //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.d.ts","./b.d.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18774426152-export class C\n{\n d: number;\n}","impliedFormat":1},{"version":"-1688906387-import {C} from './c';\nexport class B\n{\n c: C;\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,4,3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.d.ts","./b.d.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18774426152-export class C\n{\n d: number;\n}","impliedFormat":1},{"version":"-1688906387-import {C} from './c';\nexport class B\n{\n c: C;\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -141,16 +141,10 @@ export {}; "./b.d.ts": [ "./c.d.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.d.ts", - "./c.d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1036 + "size": 997 } @@ -235,6 +229,7 @@ Before running Timeout callback:: count: 2 2: timerToInvalidateFailedLookupResolutions 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -251,7 +246,7 @@ Output:: //// [/user/username/projects/myproject/a.d.ts] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.d.ts","./b.d.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-21444928214-export class C\n{\n d2: number;\n}","impliedFormat":1},{"version":"-1688906387-import {C} from './c';\nexport class B\n{\n c: C;\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,[4,[{"file":"./a.ts","start":82,"length":1,"code":2339,"category":1,"messageText":"Property 'd' does not exist on type 'C'."}]],3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.d.ts","./b.d.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-21444928214-export class C\n{\n d2: number;\n}","impliedFormat":1},{"version":"-1688906387-import {C} from './c';\nexport class B\n{\n c: C;\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[[4,[{"start":82,"length":1,"code":2339,"category":1,"messageText":"Property 'd' does not exist on type 'C'."}]]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -336,12 +331,10 @@ Output:: ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", [ "./a.ts", [ { - "file": "./a.ts", "start": 82, "length": 1, "code": 2339, @@ -349,13 +342,11 @@ Output:: "messageText": "Property 'd' does not exist on type 'C'." } ] - ], - "./b.d.ts", - "./c.d.ts" + ] ] }, "version": "FakeTSVersion", - "size": 1163 + "size": 1141 } @@ -406,6 +397,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 4: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -417,7 +409,7 @@ Output:: //// [/user/username/projects/myproject/a.d.ts] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.d.ts","./b.d.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18774426152-export class C\n{\n d: number;\n}","impliedFormat":1},{"version":"-1688906387-import {C} from './c';\nexport class B\n{\n c: C;\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,4,3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.d.ts","./b.d.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18774426152-export class C\n{\n d: number;\n}","impliedFormat":1},{"version":"-1688906387-import {C} from './c';\nexport class B\n{\n c: C;\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -500,16 +492,10 @@ Output:: "./b.d.ts": [ "./c.d.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.d.ts", - "./c.d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1036 + "size": 997 } @@ -560,6 +546,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 5: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -576,7 +563,7 @@ Output:: //// [/user/username/projects/myproject/a.d.ts] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.d.ts","./b.d.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-21444928214-export class C\n{\n d2: number;\n}","impliedFormat":1},{"version":"-1688906387-import {C} from './c';\nexport class B\n{\n c: C;\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,[4,[{"file":"./a.ts","start":82,"length":1,"code":2339,"category":1,"messageText":"Property 'd' does not exist on type 'C'."}]],3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.d.ts","./b.d.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-21444928214-export class C\n{\n d2: number;\n}","impliedFormat":1},{"version":"-1688906387-import {C} from './c';\nexport class B\n{\n c: C;\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[[4,[{"start":82,"length":1,"code":2339,"category":1,"messageText":"Property 'd' does not exist on type 'C'."}]]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -661,12 +648,10 @@ Output:: ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", [ "./a.ts", [ { - "file": "./a.ts", "start": 82, "length": 1, "code": 2339, @@ -674,13 +659,11 @@ Output:: "messageText": "Property 'd' does not exist on type 'C'." } ] - ], - "./b.d.ts", - "./c.d.ts" + ] ] }, "version": "FakeTSVersion", - "size": 1163 + "size": 1141 } diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/defaultAndD/deepImportChanges/errors-for-.d.ts-change.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/defaultAndD/deepImportChanges/errors-for-.d.ts-change.js index a98cd9d582306..92de82d17c5c3 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/defaultAndD/deepImportChanges/errors-for-.d.ts-change.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/defaultAndD/deepImportChanges/errors-for-.d.ts-change.js @@ -133,6 +133,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -195,6 +196,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -252,6 +254,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/defaultAndD/deepImportChanges/errors-for-.ts-change-with-incremental.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/defaultAndD/deepImportChanges/errors-for-.ts-change-with-incremental.js index 40842cba8a80f..2192a54990c73 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/defaultAndD/deepImportChanges/errors-for-.ts-change-with-incremental.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/defaultAndD/deepImportChanges/errors-for-.ts-change-with-incremental.js @@ -98,7 +98,7 @@ export {}; //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-22447130237-export class C\n{\n d = 1;\n}","signature":"-6977846840-export declare class C {\n d: number;\n}\n","impliedFormat":1},{"version":"-6292386773-import {C} from './c';\nexport class B\n{\n c = new C();\n}","signature":"-165097315-import { C } from './c';\nexport declare class B {\n c: C;\n}\n","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,4,3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-22447130237-export class C\n{\n d = 1;\n}","signature":"-6977846840-export declare class C {\n d: number;\n}\n","impliedFormat":1},{"version":"-6292386773-import {C} from './c';\nexport class B\n{\n c = new C();\n}","signature":"-165097315-import { C } from './c';\nexport declare class B {\n c: C;\n}\n","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -183,16 +183,10 @@ export {}; "./b.ts": [ "./c.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1199 + "size": 1160 } @@ -270,6 +264,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -307,7 +302,7 @@ export declare class C { //// [/user/username/projects/myproject/b.d.ts] file written with same contents //// [/user/username/projects/myproject/a.d.ts] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-22846341163-export class C\n{\n d2 = 1;\n}","signature":"-4637923302-export declare class C {\n d2: number;\n}\n","impliedFormat":1},{"version":"-6292386773-import {C} from './c';\nexport class B\n{\n c = new C();\n}","signature":"-165097315-import { C } from './c';\nexport declare class B {\n c: C;\n}\n","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,[4,[{"file":"./a.ts","start":82,"length":1,"code":2339,"category":1,"messageText":"Property 'd' does not exist on type 'C'."}]],3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-22846341163-export class C\n{\n d2 = 1;\n}","signature":"-4637923302-export declare class C {\n d2: number;\n}\n","impliedFormat":1},{"version":"-6292386773-import {C} from './c';\nexport class B\n{\n c = new C();\n}","signature":"-165097315-import { C } from './c';\nexport declare class B {\n c: C;\n}\n","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[[4,[{"start":82,"length":1,"code":2339,"category":1,"messageText":"Property 'd' does not exist on type 'C'."}]]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -394,12 +389,10 @@ export declare class C { ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", [ "./a.ts", [ { - "file": "./a.ts", "start": 82, "length": 1, "code": 2339, @@ -407,13 +400,11 @@ export declare class C { "messageText": "Property 'd' does not exist on type 'C'." } ] - ], - "./b.ts", - "./c.ts" + ] ] }, "version": "FakeTSVersion", - "size": 1327 + "size": 1305 } @@ -464,6 +455,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -496,7 +488,7 @@ export declare class C { //// [/user/username/projects/myproject/b.d.ts] file written with same contents //// [/user/username/projects/myproject/a.d.ts] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-22447130237-export class C\n{\n d = 1;\n}","signature":"-6977846840-export declare class C {\n d: number;\n}\n","impliedFormat":1},{"version":"-6292386773-import {C} from './c';\nexport class B\n{\n c = new C();\n}","signature":"-165097315-import { C } from './c';\nexport declare class B {\n c: C;\n}\n","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,4,3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-22447130237-export class C\n{\n d = 1;\n}","signature":"-6977846840-export declare class C {\n d: number;\n}\n","impliedFormat":1},{"version":"-6292386773-import {C} from './c';\nexport class B\n{\n c = new C();\n}","signature":"-165097315-import { C } from './c';\nexport declare class B {\n c: C;\n}\n","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -581,16 +573,10 @@ export declare class C { "./b.ts": [ "./c.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1199 + "size": 1160 } @@ -641,6 +627,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -678,7 +665,7 @@ export declare class C { //// [/user/username/projects/myproject/b.d.ts] file written with same contents //// [/user/username/projects/myproject/a.d.ts] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-22846341163-export class C\n{\n d2 = 1;\n}","signature":"-4637923302-export declare class C {\n d2: number;\n}\n","impliedFormat":1},{"version":"-6292386773-import {C} from './c';\nexport class B\n{\n c = new C();\n}","signature":"-165097315-import { C } from './c';\nexport declare class B {\n c: C;\n}\n","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,[4,[{"file":"./a.ts","start":82,"length":1,"code":2339,"category":1,"messageText":"Property 'd' does not exist on type 'C'."}]],3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-22846341163-export class C\n{\n d2 = 1;\n}","signature":"-4637923302-export declare class C {\n d2: number;\n}\n","impliedFormat":1},{"version":"-6292386773-import {C} from './c';\nexport class B\n{\n c = new C();\n}","signature":"-165097315-import { C } from './c';\nexport declare class B {\n c: C;\n}\n","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[[4,[{"start":82,"length":1,"code":2339,"category":1,"messageText":"Property 'd' does not exist on type 'C'."}]]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -765,12 +752,10 @@ export declare class C { ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", [ "./a.ts", [ { - "file": "./a.ts", "start": 82, "length": 1, "code": 2339, @@ -778,13 +763,11 @@ export declare class C { "messageText": "Property 'd' does not exist on type 'C'." } ] - ], - "./b.ts", - "./c.ts" + ] ] }, "version": "FakeTSVersion", - "size": 1327 + "size": 1305 } diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/defaultAndD/deepImportChanges/errors-for-.ts-change.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/defaultAndD/deepImportChanges/errors-for-.ts-change.js index 7243432fac0ea..8a1c2b58bd163 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/defaultAndD/deepImportChanges/errors-for-.ts-change.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/defaultAndD/deepImportChanges/errors-for-.ts-change.js @@ -171,6 +171,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -254,6 +255,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -332,6 +334,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/defaultAndD/file-not-exporting-a-deep-multilevel-import-that-changes-with-incremental.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/defaultAndD/file-not-exporting-a-deep-multilevel-import-that-changes-with-incremental.js index 108a9846b01ef..5abbb52b7b0e7 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/defaultAndD/file-not-exporting-a-deep-multilevel-import-that-changes-with-incremental.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/defaultAndD/file-not-exporting-a-deep-multilevel-import-that-changes-with-incremental.js @@ -145,7 +145,7 @@ import "./d"; //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts","./e.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"9889814467-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x2: number;\n y: number;\n}","signature":"8536297517-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x2: number;\n y: number;\n}\n","impliedFormat":1},{"version":"-8029610078-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}","signature":"-7279094804-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}\n","impliedFormat":1},{"version":"-37232372138-import { PointWrapper } from \"./b\";\nexport function getPoint(): PointWrapper {\n return {\n name: \"test\",\n c: {\n x: 1,\n y: 2\n }\n }\n};","signature":"-3387333988-import { PointWrapper } from \"./b\";\nexport declare function getPoint(): PointWrapper;\n","impliedFormat":1},{"version":"-17875457076-import { getPoint } from \"./c\";\ngetPoint().c.x;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-5185546240-import \"./d\";","signature":"-3619301366-import \"./d\";\n","impliedFormat":1}],"root":[[2,6]],"options":{"declaration":true},"fileIdsList":[[2],[3],[4],[5]],"referencedMap":[[3,1],[4,2],[5,3],[6,4]],"semanticDiagnosticsPerFile":[1,2,3,[4,[{"file":"./c.ts","start":139,"length":1,"code":2353,"category":1,"messageText":"Object literal may only specify known properties, and 'x' does not exist in type 'Coords'.","relatedInformation":[{"file":"./a.ts","start":47,"length":1,"messageText":"The expected type comes from property 'c' which is declared here on type 'PointWrapper'","category":3,"code":6500}]}]],[5,[{"file":"./d.ts","start":45,"length":1,"code":2339,"category":1,"messageText":"Property 'x' does not exist on type 'Coords'."}]],6]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts","./e.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"9889814467-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x2: number;\n y: number;\n}","signature":"8536297517-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x2: number;\n y: number;\n}\n","impliedFormat":1},{"version":"-8029610078-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}","signature":"-7279094804-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}\n","impliedFormat":1},{"version":"-37232372138-import { PointWrapper } from \"./b\";\nexport function getPoint(): PointWrapper {\n return {\n name: \"test\",\n c: {\n x: 1,\n y: 2\n }\n }\n};","signature":"-3387333988-import { PointWrapper } from \"./b\";\nexport declare function getPoint(): PointWrapper;\n","impliedFormat":1},{"version":"-17875457076-import { getPoint } from \"./c\";\ngetPoint().c.x;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-5185546240-import \"./d\";","signature":"-3619301366-import \"./d\";\n","impliedFormat":1}],"root":[[2,6]],"options":{"declaration":true},"fileIdsList":[[2],[3],[4],[5]],"referencedMap":[[3,1],[4,2],[5,3],[6,4]],"semanticDiagnosticsPerFile":[[4,[{"start":139,"length":1,"code":2353,"category":1,"messageText":"Object literal may only specify known properties, and 'x' does not exist in type 'Coords'.","relatedInformation":[{"file":"./a.ts","start":47,"length":1,"messageText":"The expected type comes from property 'c' which is declared here on type 'PointWrapper'","category":3,"code":6500}]}]],[5,[{"start":45,"length":1,"code":2339,"category":1,"messageText":"Property 'x' does not exist on type 'Coords'."}]]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -268,14 +268,10 @@ import "./d"; ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.ts", [ "./c.ts", [ { - "file": "./c.ts", "start": 139, "length": 1, "code": 2353, @@ -298,7 +294,6 @@ import "./d"; "./d.ts", [ { - "file": "./d.ts", "start": 45, "length": 1, "code": 2339, @@ -306,12 +301,11 @@ import "./d"; "messageText": "Property 'x' does not exist on type 'Coords'." } ] - ], - "./e.ts" + ] ] }, "version": "FakeTSVersion", - "size": 2372 + "size": 2332 } @@ -405,6 +399,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -432,7 +427,7 @@ export interface Coords { //// [/user/username/projects/myproject/d.d.ts] file written with same contents //// [/user/username/projects/myproject/e.d.ts] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts","./e.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"2103509937-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x: number;\n y: number;\n}","signature":"696351195-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x: number;\n y: number;\n}\n","impliedFormat":1},{"version":"-8029610078-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}","signature":"-7279094804-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}\n","impliedFormat":1},{"version":"-37232372138-import { PointWrapper } from \"./b\";\nexport function getPoint(): PointWrapper {\n return {\n name: \"test\",\n c: {\n x: 1,\n y: 2\n }\n }\n};","signature":"-3387333988-import { PointWrapper } from \"./b\";\nexport declare function getPoint(): PointWrapper;\n","impliedFormat":1},{"version":"-17875457076-import { getPoint } from \"./c\";\ngetPoint().c.x;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-5185546240-import \"./d\";","signature":"-3619301366-import \"./d\";\n","impliedFormat":1}],"root":[[2,6]],"options":{"declaration":true},"fileIdsList":[[2],[3],[4],[5]],"referencedMap":[[3,1],[4,2],[5,3],[6,4]],"semanticDiagnosticsPerFile":[1,2,3,4,5,6]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts","./e.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"2103509937-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x: number;\n y: number;\n}","signature":"696351195-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x: number;\n y: number;\n}\n","impliedFormat":1},{"version":"-8029610078-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}","signature":"-7279094804-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}\n","impliedFormat":1},{"version":"-37232372138-import { PointWrapper } from \"./b\";\nexport function getPoint(): PointWrapper {\n return {\n name: \"test\",\n c: {\n x: 1,\n y: 2\n }\n }\n};","signature":"-3387333988-import { PointWrapper } from \"./b\";\nexport declare function getPoint(): PointWrapper;\n","impliedFormat":1},{"version":"-17875457076-import { getPoint } from \"./c\";\ngetPoint().c.x;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-5185546240-import \"./d\";","signature":"-3619301366-import \"./d\";\n","impliedFormat":1}],"root":[[2,6]],"options":{"declaration":true},"fileIdsList":[[2],[3],[4],[5]],"referencedMap":[[3,1],[4,2],[5,3],[6,4]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -553,18 +548,10 @@ export interface Coords { "./e.ts": [ "./d.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts", - "./e.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1869 + "size": 1826 } @@ -627,6 +614,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -669,7 +657,7 @@ export interface Coords { //// [/user/username/projects/myproject/d.d.ts] file written with same contents //// [/user/username/projects/myproject/e.d.ts] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts","./e.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"9889814467-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x2: number;\n y: number;\n}","signature":"8536297517-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x2: number;\n y: number;\n}\n","impliedFormat":1},{"version":"-8029610078-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}","signature":"-7279094804-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}\n","impliedFormat":1},{"version":"-37232372138-import { PointWrapper } from \"./b\";\nexport function getPoint(): PointWrapper {\n return {\n name: \"test\",\n c: {\n x: 1,\n y: 2\n }\n }\n};","signature":"-3387333988-import { PointWrapper } from \"./b\";\nexport declare function getPoint(): PointWrapper;\n","impliedFormat":1},{"version":"-17875457076-import { getPoint } from \"./c\";\ngetPoint().c.x;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-5185546240-import \"./d\";","signature":"-3619301366-import \"./d\";\n","impliedFormat":1}],"root":[[2,6]],"options":{"declaration":true},"fileIdsList":[[2],[3],[4],[5]],"referencedMap":[[3,1],[4,2],[5,3],[6,4]],"semanticDiagnosticsPerFile":[1,2,3,[4,[{"file":"./c.ts","start":139,"length":1,"code":2353,"category":1,"messageText":"Object literal may only specify known properties, and 'x' does not exist in type 'Coords'.","relatedInformation":[{"file":"./a.ts","start":47,"length":1,"messageText":"The expected type comes from property 'c' which is declared here on type 'PointWrapper'","category":3,"code":6500}]}]],[5,[{"file":"./d.ts","start":45,"length":1,"code":2339,"category":1,"messageText":"Property 'x' does not exist on type 'Coords'."}]],6]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts","./e.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"9889814467-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x2: number;\n y: number;\n}","signature":"8536297517-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x2: number;\n y: number;\n}\n","impliedFormat":1},{"version":"-8029610078-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}","signature":"-7279094804-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}\n","impliedFormat":1},{"version":"-37232372138-import { PointWrapper } from \"./b\";\nexport function getPoint(): PointWrapper {\n return {\n name: \"test\",\n c: {\n x: 1,\n y: 2\n }\n }\n};","signature":"-3387333988-import { PointWrapper } from \"./b\";\nexport declare function getPoint(): PointWrapper;\n","impliedFormat":1},{"version":"-17875457076-import { getPoint } from \"./c\";\ngetPoint().c.x;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-5185546240-import \"./d\";","signature":"-3619301366-import \"./d\";\n","impliedFormat":1}],"root":[[2,6]],"options":{"declaration":true},"fileIdsList":[[2],[3],[4],[5]],"referencedMap":[[3,1],[4,2],[5,3],[6,4]],"semanticDiagnosticsPerFile":[[4,[{"start":139,"length":1,"code":2353,"category":1,"messageText":"Object literal may only specify known properties, and 'x' does not exist in type 'Coords'.","relatedInformation":[{"file":"./a.ts","start":47,"length":1,"messageText":"The expected type comes from property 'c' which is declared here on type 'PointWrapper'","category":3,"code":6500}]}]],[5,[{"start":45,"length":1,"code":2339,"category":1,"messageText":"Property 'x' does not exist on type 'Coords'."}]]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -792,14 +780,10 @@ export interface Coords { ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.ts", [ "./c.ts", [ { - "file": "./c.ts", "start": 139, "length": 1, "code": 2353, @@ -822,7 +806,6 @@ export interface Coords { "./d.ts", [ { - "file": "./d.ts", "start": 45, "length": 1, "code": 2339, @@ -830,12 +813,11 @@ export interface Coords { "messageText": "Property 'x' does not exist on type 'Coords'." } ] - ], - "./e.ts" + ] ] }, "version": "FakeTSVersion", - "size": 2372 + "size": 2332 } @@ -898,6 +880,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -925,7 +908,7 @@ export interface Coords { //// [/user/username/projects/myproject/d.d.ts] file written with same contents //// [/user/username/projects/myproject/e.d.ts] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts","./e.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"2103509937-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x: number;\n y: number;\n}","signature":"696351195-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x: number;\n y: number;\n}\n","impliedFormat":1},{"version":"-8029610078-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}","signature":"-7279094804-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}\n","impliedFormat":1},{"version":"-37232372138-import { PointWrapper } from \"./b\";\nexport function getPoint(): PointWrapper {\n return {\n name: \"test\",\n c: {\n x: 1,\n y: 2\n }\n }\n};","signature":"-3387333988-import { PointWrapper } from \"./b\";\nexport declare function getPoint(): PointWrapper;\n","impliedFormat":1},{"version":"-17875457076-import { getPoint } from \"./c\";\ngetPoint().c.x;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-5185546240-import \"./d\";","signature":"-3619301366-import \"./d\";\n","impliedFormat":1}],"root":[[2,6]],"options":{"declaration":true},"fileIdsList":[[2],[3],[4],[5]],"referencedMap":[[3,1],[4,2],[5,3],[6,4]],"semanticDiagnosticsPerFile":[1,2,3,4,5,6]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts","./e.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"2103509937-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x: number;\n y: number;\n}","signature":"696351195-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x: number;\n y: number;\n}\n","impliedFormat":1},{"version":"-8029610078-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}","signature":"-7279094804-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}\n","impliedFormat":1},{"version":"-37232372138-import { PointWrapper } from \"./b\";\nexport function getPoint(): PointWrapper {\n return {\n name: \"test\",\n c: {\n x: 1,\n y: 2\n }\n }\n};","signature":"-3387333988-import { PointWrapper } from \"./b\";\nexport declare function getPoint(): PointWrapper;\n","impliedFormat":1},{"version":"-17875457076-import { getPoint } from \"./c\";\ngetPoint().c.x;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-5185546240-import \"./d\";","signature":"-3619301366-import \"./d\";\n","impliedFormat":1}],"root":[[2,6]],"options":{"declaration":true},"fileIdsList":[[2],[3],[4],[5]],"referencedMap":[[3,1],[4,2],[5,3],[6,4]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1046,18 +1029,10 @@ export interface Coords { "./e.ts": [ "./d.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts", - "./e.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1869 + "size": 1826 } diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/defaultAndD/file-not-exporting-a-deep-multilevel-import-that-changes.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/defaultAndD/file-not-exporting-a-deep-multilevel-import-that-changes.js index 8aea00f1ee33f..dc3c597fd88ba 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/defaultAndD/file-not-exporting-a-deep-multilevel-import-that-changes.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/defaultAndD/file-not-exporting-a-deep-multilevel-import-that-changes.js @@ -234,6 +234,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -319,6 +320,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -419,6 +421,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/defaultAndD/transitive-exports/no-circular-import/export-with-incremental.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/defaultAndD/transitive-exports/no-circular-import/export-with-incremental.js index e3a83308f9ff2..713c41ef12470 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/defaultAndD/transitive-exports/no-circular-import/export-with-incremental.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/defaultAndD/transitive-exports/no-circular-import/export-with-incremental.js @@ -195,7 +195,7 @@ export declare class App { //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4369626085-export interface ITest {\n title: string;\n}","signature":"-2463740027-export interface ITest {\n title: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-30573389178-import { ITest } from \"lib1/public\";\nexport class Data {\n public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-15758516261-import { ITest } from \"lib1/public\";\nexport declare class Data {\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[7],"options":{"declaration":true},"fileIdsList":[[6],[3],[2],[4],[5]],"referencedMap":[[7,1],[4,2],[3,3],[5,4],[6,5]],"semanticDiagnosticsPerFile":[1,7,4,3,2,5,6]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4369626085-export interface ITest {\n title: string;\n}","signature":"-2463740027-export interface ITest {\n title: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-30573389178-import { ITest } from \"lib1/public\";\nexport class Data {\n public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-15758516261-import { ITest } from \"lib1/public\";\nexport declare class Data {\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[7],"options":{"declaration":true},"fileIdsList":[[6],[3],[2],[4],[5]],"referencedMap":[[7,1],[4,2],[3,3],[5,4],[6,5]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -324,19 +324,10 @@ export declare class App { "./lib2/public.ts": [ "./lib2/data.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./app.ts", - "./lib1/public.ts", - "./lib1/tools/public.ts", - "./lib1/tools/toolsinterface.ts", - "./lib2/data.ts", - "./lib2/public.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1988 + "size": 1943 } @@ -429,6 +420,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -457,7 +449,7 @@ export interface ITest { //// [/user/username/projects/myproject/lib2/public.d.ts] file written with same contents //// [/user/username/projects/myproject/app.d.ts] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3501597171-export interface ITest {\n title2: string;\n}","signature":"-3883556937-export interface ITest {\n title2: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-30573389178-import { ITest } from \"lib1/public\";\nexport class Data {\n public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-15758516261-import { ITest } from \"lib1/public\";\nexport declare class Data {\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[7],"options":{"declaration":true},"fileIdsList":[[6],[3],[2],[4],[5]],"referencedMap":[[7,1],[4,2],[3,3],[5,4],[6,5]],"semanticDiagnosticsPerFile":[1,7,4,3,2,[5,[{"file":"./lib2/data.ts","start":121,"length":5,"code":2561,"category":1,"messageText":"Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?"}]],6]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3501597171-export interface ITest {\n title2: string;\n}","signature":"-3883556937-export interface ITest {\n title2: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-30573389178-import { ITest } from \"lib1/public\";\nexport class Data {\n public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-15758516261-import { ITest } from \"lib1/public\";\nexport declare class Data {\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[7],"options":{"declaration":true},"fileIdsList":[[6],[3],[2],[4],[5]],"referencedMap":[[7,1],[4,2],[3,3],[5,4],[6,5]],"semanticDiagnosticsPerFile":[[5,[{"start":121,"length":5,"code":2561,"category":1,"messageText":"Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?"}]]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -588,16 +580,10 @@ export interface ITest { ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./app.ts", - "./lib1/public.ts", - "./lib1/tools/public.ts", - "./lib1/tools/toolsinterface.ts", [ "./lib2/data.ts", [ { - "file": "./lib2/data.ts", "start": 121, "length": 5, "code": 2561, @@ -605,12 +591,11 @@ export interface ITest { "messageText": "Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?" } ] - ], - "./lib2/public.ts" + ] ] }, "version": "FakeTSVersion", - "size": 2210 + "size": 2174 } @@ -668,6 +653,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -691,7 +677,7 @@ export interface ITest { //// [/user/username/projects/myproject/lib2/public.d.ts] file written with same contents //// [/user/username/projects/myproject/app.d.ts] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4369626085-export interface ITest {\n title: string;\n}","signature":"-2463740027-export interface ITest {\n title: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-30573389178-import { ITest } from \"lib1/public\";\nexport class Data {\n public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-15758516261-import { ITest } from \"lib1/public\";\nexport declare class Data {\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[7],"options":{"declaration":true},"fileIdsList":[[6],[3],[2],[4],[5]],"referencedMap":[[7,1],[4,2],[3,3],[5,4],[6,5]],"semanticDiagnosticsPerFile":[1,7,4,3,2,5,6]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4369626085-export interface ITest {\n title: string;\n}","signature":"-2463740027-export interface ITest {\n title: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-30573389178-import { ITest } from \"lib1/public\";\nexport class Data {\n public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-15758516261-import { ITest } from \"lib1/public\";\nexport declare class Data {\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[7],"options":{"declaration":true},"fileIdsList":[[6],[3],[2],[4],[5]],"referencedMap":[[7,1],[4,2],[3,3],[5,4],[6,5]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -820,19 +806,10 @@ export interface ITest { "./lib2/public.ts": [ "./lib2/data.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./app.ts", - "./lib1/public.ts", - "./lib1/tools/public.ts", - "./lib1/tools/toolsinterface.ts", - "./lib2/data.ts", - "./lib2/public.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1988 + "size": 1943 } @@ -890,6 +867,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -918,7 +896,7 @@ export interface ITest { //// [/user/username/projects/myproject/lib2/public.d.ts] file written with same contents //// [/user/username/projects/myproject/app.d.ts] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3501597171-export interface ITest {\n title2: string;\n}","signature":"-3883556937-export interface ITest {\n title2: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-30573389178-import { ITest } from \"lib1/public\";\nexport class Data {\n public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-15758516261-import { ITest } from \"lib1/public\";\nexport declare class Data {\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[7],"options":{"declaration":true},"fileIdsList":[[6],[3],[2],[4],[5]],"referencedMap":[[7,1],[4,2],[3,3],[5,4],[6,5]],"semanticDiagnosticsPerFile":[1,7,4,3,2,[5,[{"file":"./lib2/data.ts","start":121,"length":5,"code":2561,"category":1,"messageText":"Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?"}]],6]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3501597171-export interface ITest {\n title2: string;\n}","signature":"-3883556937-export interface ITest {\n title2: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-30573389178-import { ITest } from \"lib1/public\";\nexport class Data {\n public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-15758516261-import { ITest } from \"lib1/public\";\nexport declare class Data {\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[7],"options":{"declaration":true},"fileIdsList":[[6],[3],[2],[4],[5]],"referencedMap":[[7,1],[4,2],[3,3],[5,4],[6,5]],"semanticDiagnosticsPerFile":[[5,[{"start":121,"length":5,"code":2561,"category":1,"messageText":"Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?"}]]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1049,16 +1027,10 @@ export interface ITest { ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./app.ts", - "./lib1/public.ts", - "./lib1/tools/public.ts", - "./lib1/tools/toolsinterface.ts", [ "./lib2/data.ts", [ { - "file": "./lib2/data.ts", "start": 121, "length": 5, "code": 2561, @@ -1066,12 +1038,11 @@ export interface ITest { "messageText": "Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?" } ] - ], - "./lib2/public.ts" + ] ] }, "version": "FakeTSVersion", - "size": 2210 + "size": 2174 } diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/defaultAndD/transitive-exports/no-circular-import/export.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/defaultAndD/transitive-exports/no-circular-import/export.js index e50771f2ed79e..9e749be5767c7 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/defaultAndD/transitive-exports/no-circular-import/export.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/defaultAndD/transitive-exports/no-circular-import/export.js @@ -283,6 +283,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -364,6 +365,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -440,6 +442,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/defaultAndD/transitive-exports/yes-circular-import/exports-with-incremental.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/defaultAndD/transitive-exports/yes-circular-import/exports-with-incremental.js index 5db73db2a5063..6e2153801fdf0 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/defaultAndD/transitive-exports/yes-circular-import/exports-with-incremental.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/defaultAndD/transitive-exports/yes-circular-import/exports-with-incremental.js @@ -222,7 +222,7 @@ export declare class App { //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data2.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4369626085-export interface ITest {\n title: string;\n}","signature":"-2463740027-export interface ITest {\n title: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-11055285700-import { Data } from \"./data\";\nexport class Data2 {\n public dat?: Data;\n}","signature":"-17387821545-import { Data } from \"./data\";\nexport declare class Data2 {\n dat?: Data;\n}\n","impliedFormat":1},{"version":"-2056074887-import { ITest } from \"lib1/public\"; import { Data2 } from \"./data2\";\nexport class Data {\n public dat?: Data2; public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-14170088573-import { ITest } from \"lib1/public\";\nimport { Data2 } from \"./data2\";\nexport declare class Data {\n dat?: Data2;\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[8],"options":{"declaration":true},"fileIdsList":[[7],[3],[2],[4,5],[6]],"referencedMap":[[8,1],[4,2],[3,3],[6,4],[5,5],[7,5]],"semanticDiagnosticsPerFile":[1,8,4,3,2,6,5,7]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data2.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4369626085-export interface ITest {\n title: string;\n}","signature":"-2463740027-export interface ITest {\n title: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-11055285700-import { Data } from \"./data\";\nexport class Data2 {\n public dat?: Data;\n}","signature":"-17387821545-import { Data } from \"./data\";\nexport declare class Data2 {\n dat?: Data;\n}\n","impliedFormat":1},{"version":"-2056074887-import { ITest } from \"lib1/public\"; import { Data2 } from \"./data2\";\nexport class Data {\n public dat?: Data2; public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-14170088573-import { ITest } from \"lib1/public\";\nimport { Data2 } from \"./data2\";\nexport declare class Data {\n dat?: Data2;\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[8],"options":{"declaration":true},"fileIdsList":[[7],[3],[2],[4,5],[6]],"referencedMap":[[8,1],[4,2],[3,3],[6,4],[5,5],[7,5]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -367,20 +367,10 @@ export declare class App { "./lib2/public.ts": [ "./lib2/data.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./app.ts", - "./lib1/public.ts", - "./lib1/tools/public.ts", - "./lib1/tools/toolsinterface.ts", - "./lib2/data.ts", - "./lib2/data2.ts", - "./lib2/public.ts" - ] + } }, "version": "FakeTSVersion", - "size": 2363 + "size": 2316 } @@ -478,6 +468,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -507,7 +498,7 @@ export interface ITest { //// [/user/username/projects/myproject/lib2/public.d.ts] file written with same contents //// [/user/username/projects/myproject/app.d.ts] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data2.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3501597171-export interface ITest {\n title2: string;\n}","signature":"-3883556937-export interface ITest {\n title2: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-11055285700-import { Data } from \"./data\";\nexport class Data2 {\n public dat?: Data;\n}","signature":"-17387821545-import { Data } from \"./data\";\nexport declare class Data2 {\n dat?: Data;\n}\n","impliedFormat":1},{"version":"-2056074887-import { ITest } from \"lib1/public\"; import { Data2 } from \"./data2\";\nexport class Data {\n public dat?: Data2; public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-14170088573-import { ITest } from \"lib1/public\";\nimport { Data2 } from \"./data2\";\nexport declare class Data {\n dat?: Data2;\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[8],"options":{"declaration":true},"fileIdsList":[[7],[3],[2],[4,5],[6]],"referencedMap":[[8,1],[4,2],[3,3],[6,4],[5,5],[7,5]],"semanticDiagnosticsPerFile":[1,8,4,3,2,[6,[{"file":"./lib2/data.ts","start":174,"length":5,"code":2561,"category":1,"messageText":"Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?"}]],5,7]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data2.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3501597171-export interface ITest {\n title2: string;\n}","signature":"-3883556937-export interface ITest {\n title2: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-11055285700-import { Data } from \"./data\";\nexport class Data2 {\n public dat?: Data;\n}","signature":"-17387821545-import { Data } from \"./data\";\nexport declare class Data2 {\n dat?: Data;\n}\n","impliedFormat":1},{"version":"-2056074887-import { ITest } from \"lib1/public\"; import { Data2 } from \"./data2\";\nexport class Data {\n public dat?: Data2; public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-14170088573-import { ITest } from \"lib1/public\";\nimport { Data2 } from \"./data2\";\nexport declare class Data {\n dat?: Data2;\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[8],"options":{"declaration":true},"fileIdsList":[[7],[3],[2],[4,5],[6]],"referencedMap":[[8,1],[4,2],[3,3],[6,4],[5,5],[7,5]],"semanticDiagnosticsPerFile":[[6,[{"start":174,"length":5,"code":2561,"category":1,"messageText":"Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?"}]]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -654,16 +645,10 @@ export interface ITest { ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./app.ts", - "./lib1/public.ts", - "./lib1/tools/public.ts", - "./lib1/tools/toolsinterface.ts", [ "./lib2/data.ts", [ { - "file": "./lib2/data.ts", "start": 174, "length": 5, "code": 2561, @@ -671,13 +656,11 @@ export interface ITest { "messageText": "Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?" } ] - ], - "./lib2/data2.ts", - "./lib2/public.ts" + ] ] }, "version": "FakeTSVersion", - "size": 2585 + "size": 2547 } @@ -738,6 +721,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -762,7 +746,7 @@ export interface ITest { //// [/user/username/projects/myproject/lib2/public.d.ts] file written with same contents //// [/user/username/projects/myproject/app.d.ts] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data2.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4369626085-export interface ITest {\n title: string;\n}","signature":"-2463740027-export interface ITest {\n title: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-11055285700-import { Data } from \"./data\";\nexport class Data2 {\n public dat?: Data;\n}","signature":"-17387821545-import { Data } from \"./data\";\nexport declare class Data2 {\n dat?: Data;\n}\n","impliedFormat":1},{"version":"-2056074887-import { ITest } from \"lib1/public\"; import { Data2 } from \"./data2\";\nexport class Data {\n public dat?: Data2; public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-14170088573-import { ITest } from \"lib1/public\";\nimport { Data2 } from \"./data2\";\nexport declare class Data {\n dat?: Data2;\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[8],"options":{"declaration":true},"fileIdsList":[[7],[3],[2],[4,5],[6]],"referencedMap":[[8,1],[4,2],[3,3],[6,4],[5,5],[7,5]],"semanticDiagnosticsPerFile":[1,8,4,3,2,6,5,7]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data2.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4369626085-export interface ITest {\n title: string;\n}","signature":"-2463740027-export interface ITest {\n title: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-11055285700-import { Data } from \"./data\";\nexport class Data2 {\n public dat?: Data;\n}","signature":"-17387821545-import { Data } from \"./data\";\nexport declare class Data2 {\n dat?: Data;\n}\n","impliedFormat":1},{"version":"-2056074887-import { ITest } from \"lib1/public\"; import { Data2 } from \"./data2\";\nexport class Data {\n public dat?: Data2; public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-14170088573-import { ITest } from \"lib1/public\";\nimport { Data2 } from \"./data2\";\nexport declare class Data {\n dat?: Data2;\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[8],"options":{"declaration":true},"fileIdsList":[[7],[3],[2],[4,5],[6]],"referencedMap":[[8,1],[4,2],[3,3],[6,4],[5,5],[7,5]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -907,20 +891,10 @@ export interface ITest { "./lib2/public.ts": [ "./lib2/data.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./app.ts", - "./lib1/public.ts", - "./lib1/tools/public.ts", - "./lib1/tools/toolsinterface.ts", - "./lib2/data.ts", - "./lib2/data2.ts", - "./lib2/public.ts" - ] + } }, "version": "FakeTSVersion", - "size": 2363 + "size": 2316 } @@ -981,6 +955,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -1010,7 +985,7 @@ export interface ITest { //// [/user/username/projects/myproject/lib2/public.d.ts] file written with same contents //// [/user/username/projects/myproject/app.d.ts] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data2.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3501597171-export interface ITest {\n title2: string;\n}","signature":"-3883556937-export interface ITest {\n title2: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-11055285700-import { Data } from \"./data\";\nexport class Data2 {\n public dat?: Data;\n}","signature":"-17387821545-import { Data } from \"./data\";\nexport declare class Data2 {\n dat?: Data;\n}\n","impliedFormat":1},{"version":"-2056074887-import { ITest } from \"lib1/public\"; import { Data2 } from \"./data2\";\nexport class Data {\n public dat?: Data2; public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-14170088573-import { ITest } from \"lib1/public\";\nimport { Data2 } from \"./data2\";\nexport declare class Data {\n dat?: Data2;\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[8],"options":{"declaration":true},"fileIdsList":[[7],[3],[2],[4,5],[6]],"referencedMap":[[8,1],[4,2],[3,3],[6,4],[5,5],[7,5]],"semanticDiagnosticsPerFile":[1,8,4,3,2,[6,[{"file":"./lib2/data.ts","start":174,"length":5,"code":2561,"category":1,"messageText":"Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?"}]],5,7]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data2.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3501597171-export interface ITest {\n title2: string;\n}","signature":"-3883556937-export interface ITest {\n title2: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-11055285700-import { Data } from \"./data\";\nexport class Data2 {\n public dat?: Data;\n}","signature":"-17387821545-import { Data } from \"./data\";\nexport declare class Data2 {\n dat?: Data;\n}\n","impliedFormat":1},{"version":"-2056074887-import { ITest } from \"lib1/public\"; import { Data2 } from \"./data2\";\nexport class Data {\n public dat?: Data2; public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-14170088573-import { ITest } from \"lib1/public\";\nimport { Data2 } from \"./data2\";\nexport declare class Data {\n dat?: Data2;\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[8],"options":{"declaration":true},"fileIdsList":[[7],[3],[2],[4,5],[6]],"referencedMap":[[8,1],[4,2],[3,3],[6,4],[5,5],[7,5]],"semanticDiagnosticsPerFile":[[6,[{"start":174,"length":5,"code":2561,"category":1,"messageText":"Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?"}]]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1157,16 +1132,10 @@ export interface ITest { ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./app.ts", - "./lib1/public.ts", - "./lib1/tools/public.ts", - "./lib1/tools/toolsinterface.ts", [ "./lib2/data.ts", [ { - "file": "./lib2/data.ts", "start": 174, "length": 5, "code": 2561, @@ -1174,13 +1143,11 @@ export interface ITest { "messageText": "Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?" } ] - ], - "./lib2/data2.ts", - "./lib2/public.ts" + ] ] }, "version": "FakeTSVersion", - "size": 2585 + "size": 2547 } diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/defaultAndD/transitive-exports/yes-circular-import/exports.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/defaultAndD/transitive-exports/yes-circular-import/exports.js index 0c85833c2f406..2bd76f45094f3 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/defaultAndD/transitive-exports/yes-circular-import/exports.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/defaultAndD/transitive-exports/yes-circular-import/exports.js @@ -315,6 +315,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -400,6 +401,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -480,6 +482,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModules/deepImportChanges/errors-for-.d.ts-change-with-incremental.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModules/deepImportChanges/errors-for-.d.ts-change-with-incremental.js index 3b9f267be7d38..f24acef6b663e 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModules/deepImportChanges/errors-for-.d.ts-change-with-incremental.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModules/deepImportChanges/errors-for-.d.ts-change-with-incremental.js @@ -54,7 +54,7 @@ console.log(b.c.d); //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.d.ts","./b.d.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18774426152-export class C\n{\n d: number;\n}","impliedFormat":1},{"version":"-1688906387-import {C} from './c';\nexport class B\n{\n c: C;\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","impliedFormat":1}],"root":[[2,4]],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,4,3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.d.ts","./b.d.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18774426152-export class C\n{\n d: number;\n}","impliedFormat":1},{"version":"-1688906387-import {C} from './c';\nexport class B\n{\n c: C;\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","impliedFormat":1}],"root":[[2,4]],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -133,16 +133,10 @@ console.log(b.c.d); "./b.d.ts": [ "./c.d.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.d.ts", - "./c.d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 966 + "size": 927 } @@ -227,6 +221,7 @@ Before running Timeout callback:: count: 2 2: timerToInvalidateFailedLookupResolutions 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -242,7 +237,7 @@ Output:: //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.d.ts","./b.d.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-21444928214-export class C\n{\n d2: number;\n}","impliedFormat":1},{"version":"-1688906387-import {C} from './c';\nexport class B\n{\n c: C;\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","impliedFormat":1}],"root":[[2,4]],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,[4,[{"file":"./a.ts","start":82,"length":1,"code":2339,"category":1,"messageText":"Property 'd' does not exist on type 'C'."}]],3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.d.ts","./b.d.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-21444928214-export class C\n{\n d2: number;\n}","impliedFormat":1},{"version":"-1688906387-import {C} from './c';\nexport class B\n{\n c: C;\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","impliedFormat":1}],"root":[[2,4]],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[[4,[{"start":82,"length":1,"code":2339,"category":1,"messageText":"Property 'd' does not exist on type 'C'."}]]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -323,12 +318,10 @@ Output:: ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", [ "./a.ts", [ { - "file": "./a.ts", "start": 82, "length": 1, "code": 2339, @@ -336,13 +329,11 @@ Output:: "messageText": "Property 'd' does not exist on type 'C'." } ] - ], - "./b.d.ts", - "./c.d.ts" + ] ] }, "version": "FakeTSVersion", - "size": 1093 + "size": 1071 } @@ -393,6 +384,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 4: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -403,7 +395,7 @@ Output:: //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.d.ts","./b.d.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18774426152-export class C\n{\n d: number;\n}","impliedFormat":1},{"version":"-1688906387-import {C} from './c';\nexport class B\n{\n c: C;\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","impliedFormat":1}],"root":[[2,4]],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,4,3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.d.ts","./b.d.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18774426152-export class C\n{\n d: number;\n}","impliedFormat":1},{"version":"-1688906387-import {C} from './c';\nexport class B\n{\n c: C;\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","impliedFormat":1}],"root":[[2,4]],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -482,16 +474,10 @@ Output:: "./b.d.ts": [ "./c.d.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.d.ts", - "./c.d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 966 + "size": 927 } @@ -542,6 +528,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 5: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -557,7 +544,7 @@ Output:: //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.d.ts","./b.d.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-21444928214-export class C\n{\n d2: number;\n}","impliedFormat":1},{"version":"-1688906387-import {C} from './c';\nexport class B\n{\n c: C;\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","impliedFormat":1}],"root":[[2,4]],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,[4,[{"file":"./a.ts","start":82,"length":1,"code":2339,"category":1,"messageText":"Property 'd' does not exist on type 'C'."}]],3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.d.ts","./b.d.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-21444928214-export class C\n{\n d2: number;\n}","impliedFormat":1},{"version":"-1688906387-import {C} from './c';\nexport class B\n{\n c: C;\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","impliedFormat":1}],"root":[[2,4]],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[[4,[{"start":82,"length":1,"code":2339,"category":1,"messageText":"Property 'd' does not exist on type 'C'."}]]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -638,12 +625,10 @@ Output:: ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", [ "./a.ts", [ { - "file": "./a.ts", "start": 82, "length": 1, "code": 2339, @@ -651,13 +636,11 @@ Output:: "messageText": "Property 'd' does not exist on type 'C'." } ] - ], - "./b.d.ts", - "./c.d.ts" + ] ] }, "version": "FakeTSVersion", - "size": 1093 + "size": 1071 } diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModules/deepImportChanges/errors-for-.d.ts-change.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModules/deepImportChanges/errors-for-.d.ts-change.js index 5c7b52beba7b2..cc33eee0c22d3 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModules/deepImportChanges/errors-for-.d.ts-change.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModules/deepImportChanges/errors-for-.d.ts-change.js @@ -129,6 +129,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -190,6 +191,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -246,6 +248,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModules/deepImportChanges/errors-for-.ts-change-with-incremental.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModules/deepImportChanges/errors-for-.ts-change-with-incremental.js index 1ce170a7e120e..d5fc0854afdf5 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModules/deepImportChanges/errors-for-.ts-change-with-incremental.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModules/deepImportChanges/errors-for-.ts-change-with-incremental.js @@ -81,7 +81,7 @@ console.log(b.c.d); //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-22447130237-export class C\n{\n d = 1;\n}","impliedFormat":1},{"version":"-6292386773-import {C} from './c';\nexport class B\n{\n c = new C();\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","impliedFormat":1}],"root":[[2,4]],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,4,3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-22447130237-export class C\n{\n d = 1;\n}","impliedFormat":1},{"version":"-6292386773-import {C} from './c';\nexport class B\n{\n c = new C();\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","impliedFormat":1}],"root":[[2,4]],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -160,16 +160,10 @@ console.log(b.c.d); "./b.ts": [ "./c.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts" - ] + } }, "version": "FakeTSVersion", - "size": 965 + "size": 926 } @@ -247,6 +241,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -275,7 +270,7 @@ exports.C = C; //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-22846341163-export class C\n{\n d2 = 1;\n}","signature":"-4637923302-export declare class C {\n d2: number;\n}\n","impliedFormat":1},{"version":"-6292386773-import {C} from './c';\nexport class B\n{\n c = new C();\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","impliedFormat":1}],"root":[[2,4]],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,[4,[{"file":"./a.ts","start":82,"length":1,"code":2339,"category":1,"messageText":"Property 'd' does not exist on type 'C'."}]],3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-22846341163-export class C\n{\n d2 = 1;\n}","signature":"-4637923302-export declare class C {\n d2: number;\n}\n","impliedFormat":1},{"version":"-6292386773-import {C} from './c';\nexport class B\n{\n c = new C();\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","impliedFormat":1}],"root":[[2,4]],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[[4,[{"start":82,"length":1,"code":2339,"category":1,"messageText":"Property 'd' does not exist on type 'C'."}]]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -357,12 +352,10 @@ exports.C = C; ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", [ "./a.ts", [ { - "file": "./a.ts", "start": 82, "length": 1, "code": 2339, @@ -370,13 +363,11 @@ exports.C = C; "messageText": "Property 'd' does not exist on type 'C'." } ] - ], - "./b.ts", - "./c.ts" + ] ] }, "version": "FakeTSVersion", - "size": 1165 + "size": 1143 } @@ -427,6 +418,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -450,7 +442,7 @@ exports.C = C; //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-22447130237-export class C\n{\n d = 1;\n}","signature":"-6977846840-export declare class C {\n d: number;\n}\n","impliedFormat":1},{"version":"-6292386773-import {C} from './c';\nexport class B\n{\n c = new C();\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","impliedFormat":1}],"root":[[2,4]],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,4,3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-22447130237-export class C\n{\n d = 1;\n}","signature":"-6977846840-export declare class C {\n d: number;\n}\n","impliedFormat":1},{"version":"-6292386773-import {C} from './c';\nexport class B\n{\n c = new C();\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","impliedFormat":1}],"root":[[2,4]],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -530,16 +522,10 @@ exports.C = C; "./b.ts": [ "./c.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1037 + "size": 998 } @@ -590,6 +576,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -618,7 +605,7 @@ exports.C = C; //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-22846341163-export class C\n{\n d2 = 1;\n}","signature":"-4637923302-export declare class C {\n d2: number;\n}\n","impliedFormat":1},{"version":"-6292386773-import {C} from './c';\nexport class B\n{\n c = new C();\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","impliedFormat":1}],"root":[[2,4]],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,[4,[{"file":"./a.ts","start":82,"length":1,"code":2339,"category":1,"messageText":"Property 'd' does not exist on type 'C'."}]],3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-22846341163-export class C\n{\n d2 = 1;\n}","signature":"-4637923302-export declare class C {\n d2: number;\n}\n","impliedFormat":1},{"version":"-6292386773-import {C} from './c';\nexport class B\n{\n c = new C();\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","impliedFormat":1}],"root":[[2,4]],"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[[4,[{"start":82,"length":1,"code":2339,"category":1,"messageText":"Property 'd' does not exist on type 'C'."}]]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -700,12 +687,10 @@ exports.C = C; ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", [ "./a.ts", [ { - "file": "./a.ts", "start": 82, "length": 1, "code": 2339, @@ -713,13 +698,11 @@ exports.C = C; "messageText": "Property 'd' does not exist on type 'C'." } ] - ], - "./b.ts", - "./c.ts" + ] ] }, "version": "FakeTSVersion", - "size": 1165 + "size": 1143 } diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModules/deepImportChanges/errors-for-.ts-change.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModules/deepImportChanges/errors-for-.ts-change.js index 6a482997e6aeb..74965e4a1accb 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModules/deepImportChanges/errors-for-.ts-change.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModules/deepImportChanges/errors-for-.ts-change.js @@ -154,6 +154,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -228,6 +229,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -297,6 +299,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModules/file-not-exporting-a-deep-multilevel-import-that-changes-with-incremental.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModules/file-not-exporting-a-deep-multilevel-import-that-changes-with-incremental.js index 3d53264ad80b6..81e6ef0d3373b 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModules/file-not-exporting-a-deep-multilevel-import-that-changes-with-incremental.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModules/file-not-exporting-a-deep-multilevel-import-that-changes-with-incremental.js @@ -115,7 +115,7 @@ require("./d"); //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts","./e.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"9889814467-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x2: number;\n y: number;\n}","impliedFormat":1},{"version":"-8029610078-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}","impliedFormat":1},{"version":"-37232372138-import { PointWrapper } from \"./b\";\nexport function getPoint(): PointWrapper {\n return {\n name: \"test\",\n c: {\n x: 1,\n y: 2\n }\n }\n};","impliedFormat":1},{"version":"-17875457076-import { getPoint } from \"./c\";\ngetPoint().c.x;","impliedFormat":1},{"version":"-5185546240-import \"./d\";","impliedFormat":1}],"root":[[2,6]],"fileIdsList":[[2],[3],[4],[5]],"referencedMap":[[3,1],[4,2],[5,3],[6,4]],"semanticDiagnosticsPerFile":[1,2,3,[4,[{"file":"./c.ts","start":139,"length":1,"code":2353,"category":1,"messageText":"Object literal may only specify known properties, and 'x' does not exist in type 'Coords'.","relatedInformation":[{"file":"./a.ts","start":47,"length":1,"messageText":"The expected type comes from property 'c' which is declared here on type 'PointWrapper'","category":3,"code":6500}]}]],[5,[{"file":"./d.ts","start":45,"length":1,"code":2339,"category":1,"messageText":"Property 'x' does not exist on type 'Coords'."}]],6]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts","./e.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"9889814467-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x2: number;\n y: number;\n}","impliedFormat":1},{"version":"-8029610078-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}","impliedFormat":1},{"version":"-37232372138-import { PointWrapper } from \"./b\";\nexport function getPoint(): PointWrapper {\n return {\n name: \"test\",\n c: {\n x: 1,\n y: 2\n }\n }\n};","impliedFormat":1},{"version":"-17875457076-import { getPoint } from \"./c\";\ngetPoint().c.x;","impliedFormat":1},{"version":"-5185546240-import \"./d\";","impliedFormat":1}],"root":[[2,6]],"fileIdsList":[[2],[3],[4],[5]],"referencedMap":[[3,1],[4,2],[5,3],[6,4]],"semanticDiagnosticsPerFile":[[4,[{"start":139,"length":1,"code":2353,"category":1,"messageText":"Object literal may only specify known properties, and 'x' does not exist in type 'Coords'.","relatedInformation":[{"file":"./a.ts","start":47,"length":1,"messageText":"The expected type comes from property 'c' which is declared here on type 'PointWrapper'","category":3,"code":6500}]}]],[5,[{"start":45,"length":1,"code":2339,"category":1,"messageText":"Property 'x' does not exist on type 'Coords'."}]]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -230,14 +230,10 @@ require("./d"); ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.ts", [ "./c.ts", [ { - "file": "./c.ts", "start": 139, "length": 1, "code": 2353, @@ -260,7 +256,6 @@ require("./d"); "./d.ts", [ { - "file": "./d.ts", "start": 45, "length": 1, "code": 2339, @@ -268,12 +263,11 @@ require("./d"); "messageText": "Property 'x' does not exist on type 'Coords'." } ] - ], - "./e.ts" + ] ] }, "version": "FakeTSVersion", - "size": 1879 + "size": 1839 } @@ -367,6 +361,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -378,7 +373,7 @@ Output:: //// [/user/username/projects/myproject/a.js] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts","./e.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"2103509937-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x: number;\n y: number;\n}","signature":"696351195-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x: number;\n y: number;\n}\n","impliedFormat":1},{"version":"-8029610078-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}","impliedFormat":1},{"version":"-37232372138-import { PointWrapper } from \"./b\";\nexport function getPoint(): PointWrapper {\n return {\n name: \"test\",\n c: {\n x: 1,\n y: 2\n }\n }\n};","impliedFormat":1},{"version":"-17875457076-import { getPoint } from \"./c\";\ngetPoint().c.x;","impliedFormat":1},{"version":"-5185546240-import \"./d\";","impliedFormat":1}],"root":[[2,6]],"fileIdsList":[[2],[3],[4],[5]],"referencedMap":[[3,1],[4,2],[5,3],[6,4]],"semanticDiagnosticsPerFile":[1,2,3,4,5,6]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts","./e.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"2103509937-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x: number;\n y: number;\n}","signature":"696351195-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x: number;\n y: number;\n}\n","impliedFormat":1},{"version":"-8029610078-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}","impliedFormat":1},{"version":"-37232372138-import { PointWrapper } from \"./b\";\nexport function getPoint(): PointWrapper {\n return {\n name: \"test\",\n c: {\n x: 1,\n y: 2\n }\n }\n};","impliedFormat":1},{"version":"-17875457076-import { getPoint } from \"./c\";\ngetPoint().c.x;","impliedFormat":1},{"version":"-5185546240-import \"./d\";","impliedFormat":1}],"root":[[2,6]],"fileIdsList":[[2],[3],[4],[5]],"referencedMap":[[3,1],[4,2],[5,3],[6,4]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -492,18 +487,10 @@ Output:: "./e.ts": [ "./d.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts", - "./e.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1529 + "size": 1486 } @@ -566,6 +553,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -592,7 +580,7 @@ Output:: //// [/user/username/projects/myproject/a.js] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts","./e.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"9889814467-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x2: number;\n y: number;\n}","signature":"8536297517-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x2: number;\n y: number;\n}\n","impliedFormat":1},{"version":"-8029610078-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}","impliedFormat":1},{"version":"-37232372138-import { PointWrapper } from \"./b\";\nexport function getPoint(): PointWrapper {\n return {\n name: \"test\",\n c: {\n x: 1,\n y: 2\n }\n }\n};","impliedFormat":1},{"version":"-17875457076-import { getPoint } from \"./c\";\ngetPoint().c.x;","impliedFormat":1},{"version":"-5185546240-import \"./d\";","impliedFormat":1}],"root":[[2,6]],"fileIdsList":[[2],[3],[4],[5]],"referencedMap":[[3,1],[4,2],[5,3],[6,4]],"semanticDiagnosticsPerFile":[1,2,3,[4,[{"file":"./c.ts","start":139,"length":1,"code":2353,"category":1,"messageText":"Object literal may only specify known properties, and 'x' does not exist in type 'Coords'.","relatedInformation":[{"file":"./a.ts","start":47,"length":1,"messageText":"The expected type comes from property 'c' which is declared here on type 'PointWrapper'","category":3,"code":6500}]}]],[5,[{"file":"./d.ts","start":45,"length":1,"code":2339,"category":1,"messageText":"Property 'x' does not exist on type 'Coords'."}]],6]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts","./e.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"9889814467-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x2: number;\n y: number;\n}","signature":"8536297517-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x2: number;\n y: number;\n}\n","impliedFormat":1},{"version":"-8029610078-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}","impliedFormat":1},{"version":"-37232372138-import { PointWrapper } from \"./b\";\nexport function getPoint(): PointWrapper {\n return {\n name: \"test\",\n c: {\n x: 1,\n y: 2\n }\n }\n};","impliedFormat":1},{"version":"-17875457076-import { getPoint } from \"./c\";\ngetPoint().c.x;","impliedFormat":1},{"version":"-5185546240-import \"./d\";","impliedFormat":1}],"root":[[2,6]],"fileIdsList":[[2],[3],[4],[5]],"referencedMap":[[3,1],[4,2],[5,3],[6,4]],"semanticDiagnosticsPerFile":[[4,[{"start":139,"length":1,"code":2353,"category":1,"messageText":"Object literal may only specify known properties, and 'x' does not exist in type 'Coords'.","relatedInformation":[{"file":"./a.ts","start":47,"length":1,"messageText":"The expected type comes from property 'c' which is declared here on type 'PointWrapper'","category":3,"code":6500}]}]],[5,[{"start":45,"length":1,"code":2339,"category":1,"messageText":"Property 'x' does not exist on type 'Coords'."}]]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -708,14 +696,10 @@ Output:: ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.ts", [ "./c.ts", [ { - "file": "./c.ts", "start": 139, "length": 1, "code": 2353, @@ -738,7 +722,6 @@ Output:: "./d.ts", [ { - "file": "./d.ts", "start": 45, "length": 1, "code": 2339, @@ -746,12 +729,11 @@ Output:: "messageText": "Property 'x' does not exist on type 'Coords'." } ] - ], - "./e.ts" + ] ] }, "version": "FakeTSVersion", - "size": 2032 + "size": 1992 } @@ -814,6 +796,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -825,7 +808,7 @@ Output:: //// [/user/username/projects/myproject/a.js] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts","./e.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"2103509937-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x: number;\n y: number;\n}","signature":"696351195-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x: number;\n y: number;\n}\n","impliedFormat":1},{"version":"-8029610078-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}","impliedFormat":1},{"version":"-37232372138-import { PointWrapper } from \"./b\";\nexport function getPoint(): PointWrapper {\n return {\n name: \"test\",\n c: {\n x: 1,\n y: 2\n }\n }\n};","impliedFormat":1},{"version":"-17875457076-import { getPoint } from \"./c\";\ngetPoint().c.x;","impliedFormat":1},{"version":"-5185546240-import \"./d\";","impliedFormat":1}],"root":[[2,6]],"fileIdsList":[[2],[3],[4],[5]],"referencedMap":[[3,1],[4,2],[5,3],[6,4]],"semanticDiagnosticsPerFile":[1,2,3,4,5,6]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts","./e.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"2103509937-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x: number;\n y: number;\n}","signature":"696351195-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x: number;\n y: number;\n}\n","impliedFormat":1},{"version":"-8029610078-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}","impliedFormat":1},{"version":"-37232372138-import { PointWrapper } from \"./b\";\nexport function getPoint(): PointWrapper {\n return {\n name: \"test\",\n c: {\n x: 1,\n y: 2\n }\n }\n};","impliedFormat":1},{"version":"-17875457076-import { getPoint } from \"./c\";\ngetPoint().c.x;","impliedFormat":1},{"version":"-5185546240-import \"./d\";","impliedFormat":1}],"root":[[2,6]],"fileIdsList":[[2],[3],[4],[5]],"referencedMap":[[3,1],[4,2],[5,3],[6,4]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -939,18 +922,10 @@ Output:: "./e.ts": [ "./d.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts", - "./e.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1529 + "size": 1486 } diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModules/file-not-exporting-a-deep-multilevel-import-that-changes.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModules/file-not-exporting-a-deep-multilevel-import-that-changes.js index f39fe8fdddcc1..d632029478a08 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModules/file-not-exporting-a-deep-multilevel-import-that-changes.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModules/file-not-exporting-a-deep-multilevel-import-that-changes.js @@ -204,6 +204,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -273,6 +274,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -357,6 +359,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModules/transitive-exports/no-circular-import/export-with-incremental.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModules/transitive-exports/no-circular-import/export-with-incremental.js index b6791f92ab535..fdaf5d1aff7ae 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModules/transitive-exports/no-circular-import/export-with-incremental.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModules/transitive-exports/no-circular-import/export-with-incremental.js @@ -164,7 +164,7 @@ exports.App = App; //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4369626085-export interface ITest {\n title: string;\n}","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","impliedFormat":1},{"version":"-30573389178-import { ITest } from \"lib1/public\";\nexport class Data {\n public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","impliedFormat":1}],"root":[7],"fileIdsList":[[6],[3],[2],[4],[5]],"referencedMap":[[7,1],[4,2],[3,3],[5,4],[6,5]],"semanticDiagnosticsPerFile":[1,7,4,3,2,5,6]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4369626085-export interface ITest {\n title: string;\n}","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","impliedFormat":1},{"version":"-30573389178-import { ITest } from \"lib1/public\";\nexport class Data {\n public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","impliedFormat":1}],"root":[7],"fileIdsList":[[6],[3],[2],[4],[5]],"referencedMap":[[7,1],[4,2],[3,3],[5,4],[6,5]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -284,19 +284,10 @@ exports.App = App; "./lib2/public.ts": [ "./lib2/data.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./app.ts", - "./lib1/public.ts", - "./lib1/tools/public.ts", - "./lib1/tools/toolsinterface.ts", - "./lib2/data.ts", - "./lib2/public.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1501 + "size": 1456 } @@ -389,6 +380,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -405,7 +397,7 @@ Output:: //// [/user/username/projects/myproject/lib1/tools/toolsinterface.js] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3501597171-export interface ITest {\n title2: string;\n}","signature":"-3883556937-export interface ITest {\n title2: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","impliedFormat":1},{"version":"-30573389178-import { ITest } from \"lib1/public\";\nexport class Data {\n public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","impliedFormat":1}],"root":[7],"fileIdsList":[[6],[3],[2],[4],[5]],"referencedMap":[[7,1],[4,2],[3,3],[5,4],[6,5]],"semanticDiagnosticsPerFile":[1,7,4,3,2,[5,[{"file":"./lib2/data.ts","start":121,"length":5,"code":2561,"category":1,"messageText":"Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?"}]],6]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3501597171-export interface ITest {\n title2: string;\n}","signature":"-3883556937-export interface ITest {\n title2: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","impliedFormat":1},{"version":"-30573389178-import { ITest } from \"lib1/public\";\nexport class Data {\n public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","impliedFormat":1}],"root":[7],"fileIdsList":[[6],[3],[2],[4],[5]],"referencedMap":[[7,1],[4,2],[3,3],[5,4],[6,5]],"semanticDiagnosticsPerFile":[[5,[{"start":121,"length":5,"code":2561,"category":1,"messageText":"Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?"}]]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -528,16 +520,10 @@ Output:: ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./app.ts", - "./lib1/public.ts", - "./lib1/tools/public.ts", - "./lib1/tools/toolsinterface.ts", [ "./lib2/data.ts", [ { - "file": "./lib2/data.ts", "start": 121, "length": 5, "code": 2561, @@ -545,12 +531,11 @@ Output:: "messageText": "Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?" } ] - ], - "./lib2/public.ts" + ] ] }, "version": "FakeTSVersion", - "size": 1799 + "size": 1763 } @@ -608,6 +593,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -619,7 +605,7 @@ Output:: //// [/user/username/projects/myproject/lib1/tools/toolsinterface.js] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4369626085-export interface ITest {\n title: string;\n}","signature":"-2463740027-export interface ITest {\n title: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","impliedFormat":1},{"version":"-30573389178-import { ITest } from \"lib1/public\";\nexport class Data {\n public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","impliedFormat":1}],"root":[7],"fileIdsList":[[6],[3],[2],[4],[5]],"referencedMap":[[7,1],[4,2],[3,3],[5,4],[6,5]],"semanticDiagnosticsPerFile":[1,7,4,3,2,5,6]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4369626085-export interface ITest {\n title: string;\n}","signature":"-2463740027-export interface ITest {\n title: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","impliedFormat":1},{"version":"-30573389178-import { ITest } from \"lib1/public\";\nexport class Data {\n public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","impliedFormat":1}],"root":[7],"fileIdsList":[[6],[3],[2],[4],[5]],"referencedMap":[[7,1],[4,2],[3,3],[5,4],[6,5]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -740,19 +726,10 @@ Output:: "./lib2/public.ts": [ "./lib2/data.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./app.ts", - "./lib1/public.ts", - "./lib1/tools/public.ts", - "./lib1/tools/toolsinterface.ts", - "./lib2/data.ts", - "./lib2/public.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1577 + "size": 1532 } @@ -810,6 +787,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -826,7 +804,7 @@ Output:: //// [/user/username/projects/myproject/lib1/tools/toolsinterface.js] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3501597171-export interface ITest {\n title2: string;\n}","signature":"-3883556937-export interface ITest {\n title2: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","impliedFormat":1},{"version":"-30573389178-import { ITest } from \"lib1/public\";\nexport class Data {\n public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","impliedFormat":1}],"root":[7],"fileIdsList":[[6],[3],[2],[4],[5]],"referencedMap":[[7,1],[4,2],[3,3],[5,4],[6,5]],"semanticDiagnosticsPerFile":[1,7,4,3,2,[5,[{"file":"./lib2/data.ts","start":121,"length":5,"code":2561,"category":1,"messageText":"Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?"}]],6]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3501597171-export interface ITest {\n title2: string;\n}","signature":"-3883556937-export interface ITest {\n title2: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","impliedFormat":1},{"version":"-30573389178-import { ITest } from \"lib1/public\";\nexport class Data {\n public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","impliedFormat":1}],"root":[7],"fileIdsList":[[6],[3],[2],[4],[5]],"referencedMap":[[7,1],[4,2],[3,3],[5,4],[6,5]],"semanticDiagnosticsPerFile":[[5,[{"start":121,"length":5,"code":2561,"category":1,"messageText":"Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?"}]]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -949,16 +927,10 @@ Output:: ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./app.ts", - "./lib1/public.ts", - "./lib1/tools/public.ts", - "./lib1/tools/toolsinterface.ts", [ "./lib2/data.ts", [ { - "file": "./lib2/data.ts", "start": 121, "length": 5, "code": 2561, @@ -966,12 +938,11 @@ Output:: "messageText": "Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?" } ] - ], - "./lib2/public.ts" + ] ] }, "version": "FakeTSVersion", - "size": 1799 + "size": 1763 } diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModules/transitive-exports/no-circular-import/export.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModules/transitive-exports/no-circular-import/export.js index 036c53ecb0e1f..96f85ee4d0088 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModules/transitive-exports/no-circular-import/export.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModules/transitive-exports/no-circular-import/export.js @@ -252,6 +252,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -321,6 +322,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -385,6 +387,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModules/transitive-exports/yes-circular-import/exports-with-incremental.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModules/transitive-exports/yes-circular-import/exports-with-incremental.js index fc05e779cd5ff..e59798981480e 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModules/transitive-exports/yes-circular-import/exports-with-incremental.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModules/transitive-exports/yes-circular-import/exports-with-incremental.js @@ -182,7 +182,7 @@ exports.App = App; //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data2.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4369626085-export interface ITest {\n title: string;\n}","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","impliedFormat":1},{"version":"-11055285700-import { Data } from \"./data\";\nexport class Data2 {\n public dat?: Data;\n}","impliedFormat":1},{"version":"-2056074887-import { ITest } from \"lib1/public\"; import { Data2 } from \"./data2\";\nexport class Data {\n public dat?: Data2; public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","impliedFormat":1}],"root":[8],"fileIdsList":[[7],[3],[2],[4,5],[6]],"referencedMap":[[8,1],[4,2],[3,3],[6,4],[5,5],[7,5]],"semanticDiagnosticsPerFile":[1,8,4,3,2,6,5,7]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data2.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4369626085-export interface ITest {\n title: string;\n}","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","impliedFormat":1},{"version":"-11055285700-import { Data } from \"./data\";\nexport class Data2 {\n public dat?: Data;\n}","impliedFormat":1},{"version":"-2056074887-import { ITest } from \"lib1/public\"; import { Data2 } from \"./data2\";\nexport class Data {\n public dat?: Data2; public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","impliedFormat":1}],"root":[8],"fileIdsList":[[7],[3],[2],[4,5],[6]],"referencedMap":[[8,1],[4,2],[3,3],[6,4],[5,5],[7,5]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -317,20 +317,10 @@ exports.App = App; "./lib2/public.ts": [ "./lib2/data.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./app.ts", - "./lib1/public.ts", - "./lib1/tools/public.ts", - "./lib1/tools/toolsinterface.ts", - "./lib2/data.ts", - "./lib2/data2.ts", - "./lib2/public.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1710 + "size": 1663 } @@ -428,6 +418,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -444,7 +435,7 @@ Output:: //// [/user/username/projects/myproject/lib1/tools/toolsinterface.js] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data2.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3501597171-export interface ITest {\n title2: string;\n}","signature":"-3883556937-export interface ITest {\n title2: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","impliedFormat":1},{"version":"-11055285700-import { Data } from \"./data\";\nexport class Data2 {\n public dat?: Data;\n}","impliedFormat":1},{"version":"-2056074887-import { ITest } from \"lib1/public\"; import { Data2 } from \"./data2\";\nexport class Data {\n public dat?: Data2; public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","impliedFormat":1}],"root":[8],"fileIdsList":[[7],[3],[2],[4,5],[6]],"referencedMap":[[8,1],[4,2],[3,3],[6,4],[5,5],[7,5]],"semanticDiagnosticsPerFile":[1,8,4,3,2,[6,[{"file":"./lib2/data.ts","start":174,"length":5,"code":2561,"category":1,"messageText":"Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?"}]],5,7]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data2.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3501597171-export interface ITest {\n title2: string;\n}","signature":"-3883556937-export interface ITest {\n title2: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","impliedFormat":1},{"version":"-11055285700-import { Data } from \"./data\";\nexport class Data2 {\n public dat?: Data;\n}","impliedFormat":1},{"version":"-2056074887-import { ITest } from \"lib1/public\"; import { Data2 } from \"./data2\";\nexport class Data {\n public dat?: Data2; public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","impliedFormat":1}],"root":[8],"fileIdsList":[[7],[3],[2],[4,5],[6]],"referencedMap":[[8,1],[4,2],[3,3],[6,4],[5,5],[7,5]],"semanticDiagnosticsPerFile":[[6,[{"start":174,"length":5,"code":2561,"category":1,"messageText":"Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?"}]]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -582,16 +573,10 @@ Output:: ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./app.ts", - "./lib1/public.ts", - "./lib1/tools/public.ts", - "./lib1/tools/toolsinterface.ts", [ "./lib2/data.ts", [ { - "file": "./lib2/data.ts", "start": 174, "length": 5, "code": 2561, @@ -599,13 +584,11 @@ Output:: "messageText": "Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?" } ] - ], - "./lib2/data2.ts", - "./lib2/public.ts" + ] ] }, "version": "FakeTSVersion", - "size": 2008 + "size": 1970 } @@ -666,6 +649,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -677,7 +661,7 @@ Output:: //// [/user/username/projects/myproject/lib1/tools/toolsinterface.js] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data2.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4369626085-export interface ITest {\n title: string;\n}","signature":"-2463740027-export interface ITest {\n title: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","impliedFormat":1},{"version":"-11055285700-import { Data } from \"./data\";\nexport class Data2 {\n public dat?: Data;\n}","impliedFormat":1},{"version":"-2056074887-import { ITest } from \"lib1/public\"; import { Data2 } from \"./data2\";\nexport class Data {\n public dat?: Data2; public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","impliedFormat":1}],"root":[8],"fileIdsList":[[7],[3],[2],[4,5],[6]],"referencedMap":[[8,1],[4,2],[3,3],[6,4],[5,5],[7,5]],"semanticDiagnosticsPerFile":[1,8,4,3,2,6,5,7]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data2.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4369626085-export interface ITest {\n title: string;\n}","signature":"-2463740027-export interface ITest {\n title: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","impliedFormat":1},{"version":"-11055285700-import { Data } from \"./data\";\nexport class Data2 {\n public dat?: Data;\n}","impliedFormat":1},{"version":"-2056074887-import { ITest } from \"lib1/public\"; import { Data2 } from \"./data2\";\nexport class Data {\n public dat?: Data2; public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","impliedFormat":1}],"root":[8],"fileIdsList":[[7],[3],[2],[4,5],[6]],"referencedMap":[[8,1],[4,2],[3,3],[6,4],[5,5],[7,5]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -813,20 +797,10 @@ Output:: "./lib2/public.ts": [ "./lib2/data.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./app.ts", - "./lib1/public.ts", - "./lib1/tools/public.ts", - "./lib1/tools/toolsinterface.ts", - "./lib2/data.ts", - "./lib2/data2.ts", - "./lib2/public.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1786 + "size": 1739 } @@ -887,6 +861,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -903,7 +878,7 @@ Output:: //// [/user/username/projects/myproject/lib1/tools/toolsinterface.js] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data2.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3501597171-export interface ITest {\n title2: string;\n}","signature":"-3883556937-export interface ITest {\n title2: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","impliedFormat":1},{"version":"-11055285700-import { Data } from \"./data\";\nexport class Data2 {\n public dat?: Data;\n}","impliedFormat":1},{"version":"-2056074887-import { ITest } from \"lib1/public\"; import { Data2 } from \"./data2\";\nexport class Data {\n public dat?: Data2; public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","impliedFormat":1}],"root":[8],"fileIdsList":[[7],[3],[2],[4,5],[6]],"referencedMap":[[8,1],[4,2],[3,3],[6,4],[5,5],[7,5]],"semanticDiagnosticsPerFile":[1,8,4,3,2,[6,[{"file":"./lib2/data.ts","start":174,"length":5,"code":2561,"category":1,"messageText":"Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?"}]],5,7]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data2.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3501597171-export interface ITest {\n title2: string;\n}","signature":"-3883556937-export interface ITest {\n title2: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","impliedFormat":1},{"version":"-11055285700-import { Data } from \"./data\";\nexport class Data2 {\n public dat?: Data;\n}","impliedFormat":1},{"version":"-2056074887-import { ITest } from \"lib1/public\"; import { Data2 } from \"./data2\";\nexport class Data {\n public dat?: Data2; public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","impliedFormat":1}],"root":[8],"fileIdsList":[[7],[3],[2],[4,5],[6]],"referencedMap":[[8,1],[4,2],[3,3],[6,4],[5,5],[7,5]],"semanticDiagnosticsPerFile":[[6,[{"start":174,"length":5,"code":2561,"category":1,"messageText":"Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?"}]]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1041,16 +1016,10 @@ Output:: ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./app.ts", - "./lib1/public.ts", - "./lib1/tools/public.ts", - "./lib1/tools/toolsinterface.ts", [ "./lib2/data.ts", [ { - "file": "./lib2/data.ts", "start": 174, "length": 5, "code": 2561, @@ -1058,13 +1027,11 @@ Output:: "messageText": "Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?" } ] - ], - "./lib2/data2.ts", - "./lib2/public.ts" + ] ] }, "version": "FakeTSVersion", - "size": 2008 + "size": 1970 } diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModules/transitive-exports/yes-circular-import/exports.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModules/transitive-exports/yes-circular-import/exports.js index 1f2aec2622d86..ed7900d174c94 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModules/transitive-exports/yes-circular-import/exports.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModules/transitive-exports/yes-circular-import/exports.js @@ -275,6 +275,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -347,6 +348,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -414,6 +416,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModules/with-noEmitOnError-with-incremental.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModules/with-noEmitOnError-with-incremental.js deleted file mode 100644 index 6ca2dadbac5af..0000000000000 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModules/with-noEmitOnError-with-incremental.js +++ /dev/null @@ -1,758 +0,0 @@ -currentDirectory:: /user/username/projects/noEmitOnError useCaseSensitiveFileNames: false -Input:: -//// [/user/username/projects/noEmitOnError/tsconfig.json] -{ - "compilerOptions": { - "outDir": "./dev-build", - "noEmitOnError": true - } -} - -//// [/user/username/projects/noEmitOnError/shared/types/db.ts] -export interface A { - name: string; -} - - -//// [/user/username/projects/noEmitOnError/src/main.ts] -import { A } from "../shared/types/db"; -const a = { - lastName: 'sdsd' -; - - -//// [/user/username/projects/noEmitOnError/src/other.ts] -console.log("hi"); -export { } - - -//// [/a/lib/lib.d.ts] -/// -interface Boolean {} -interface Function {} -interface CallableFunction {} -interface NewableFunction {} -interface IArguments {} -interface Number { toExponential: any; } -interface Object {} -interface RegExp {} -interface String { charAt: any; } -interface Array { length: number; [n: number]: T; } -interface ReadonlyArray {} -declare const console: { log(msg: any): void; }; - - -/a/lib/tsc.js --w --isolatedModules --incremental -Output:: ->> Screen clear -[HH:MM:SS AM] Starting compilation in watch mode... - -src/main.ts:4:1 - error TS1005: ',' expected. - -4 ; -  ~ - -[HH:MM:SS AM] Found 1 error. Watching for file changes. - - - -//// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-2574607723-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n;\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","impliedFormat":1}],"root":[[2,4]],"options":{"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3,4],"affectedFilesPendingEmit":[2,3,4]},"version":"FakeTSVersion"} - -//// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo.readable.baseline.txt] -{ - "program": { - "fileNames": [ - "../../../../../a/lib/lib.d.ts", - "../shared/types/db.ts", - "../src/main.ts", - "../src/other.ts" - ], - "fileNamesList": [ - [ - "../shared/types/db.ts" - ] - ], - "fileInfos": { - "../../../../../a/lib/lib.d.ts": { - "original": { - "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true, - "impliedFormat": 1 - }, - "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true, - "impliedFormat": "commonjs" - }, - "../shared/types/db.ts": { - "original": { - "version": "-5014788164-export interface A {\n name: string;\n}\n", - "impliedFormat": 1 - }, - "version": "-5014788164-export interface A {\n name: string;\n}\n", - "signature": "-5014788164-export interface A {\n name: string;\n}\n", - "impliedFormat": "commonjs" - }, - "../src/main.ts": { - "original": { - "version": "-2574607723-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n;\n", - "impliedFormat": 1 - }, - "version": "-2574607723-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n;\n", - "signature": "-2574607723-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n;\n", - "impliedFormat": "commonjs" - }, - "../src/other.ts": { - "original": { - "version": "9084524823-console.log(\"hi\");\nexport { }\n", - "impliedFormat": 1 - }, - "version": "9084524823-console.log(\"hi\");\nexport { }\n", - "signature": "9084524823-console.log(\"hi\");\nexport { }\n", - "impliedFormat": "commonjs" - } - }, - "root": [ - [ - [ - 2, - 4 - ], - [ - "../shared/types/db.ts", - "../src/main.ts", - "../src/other.ts" - ] - ] - ], - "options": { - "noEmitOnError": true, - "outDir": "./" - }, - "referencedMap": { - "../src/main.ts": [ - "../shared/types/db.ts" - ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../shared/types/db.ts", - "../src/main.ts", - "../src/other.ts" - ], - "affectedFilesPendingEmit": [ - [ - "../shared/types/db.ts", - "Js" - ], - [ - "../src/main.ts", - "Js" - ], - [ - "../src/other.ts", - "Js" - ] - ] - }, - "version": "FakeTSVersion", - "size": 1128 -} - - -PolledWatches:: -/user/username/projects/noEmitOnError/node_modules/@types: *new* - {"pollingInterval":500} -/user/username/projects/noEmitOnError/package.json: *new* - {"pollingInterval":2000} -/user/username/projects/noEmitOnError/shared/package.json: *new* - {"pollingInterval":2000} -/user/username/projects/noEmitOnError/shared/types/package.json: *new* - {"pollingInterval":2000} -/user/username/projects/noEmitOnError/src/package.json: *new* - {"pollingInterval":2000} -/user/username/projects/node_modules/@types: *new* - {"pollingInterval":500} -/user/username/projects/package.json: *new* - {"pollingInterval":2000} - -FsWatches:: -/a/lib/lib.d.ts: *new* - {} -/user/username/projects/noEmitOnError/shared/types/db.ts: *new* - {} -/user/username/projects/noEmitOnError/src/main.ts: *new* - {} -/user/username/projects/noEmitOnError/src/other.ts: *new* - {} -/user/username/projects/noEmitOnError/tsconfig.json: *new* - {} - -FsWatchesRecursive:: -/user/username/projects/noEmitOnError: *new* - {} - -Program root files: [ - "/user/username/projects/noEmitOnError/shared/types/db.ts", - "/user/username/projects/noEmitOnError/src/main.ts", - "/user/username/projects/noEmitOnError/src/other.ts" -] -Program options: { - "outDir": "/user/username/projects/noEmitOnError/dev-build", - "noEmitOnError": true, - "watch": true, - "isolatedModules": true, - "incremental": true, - "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" -} -Program structureReused: Not -Program files:: -/a/lib/lib.d.ts -/user/username/projects/noEmitOnError/shared/types/db.ts -/user/username/projects/noEmitOnError/src/main.ts -/user/username/projects/noEmitOnError/src/other.ts - -Semantic diagnostics in builder refreshed for:: -/a/lib/lib.d.ts -/user/username/projects/noEmitOnError/shared/types/db.ts -/user/username/projects/noEmitOnError/src/main.ts -/user/username/projects/noEmitOnError/src/other.ts - -Shape signatures in builder refreshed for:: -/a/lib/lib.d.ts (used version) -/user/username/projects/noemitonerror/shared/types/db.ts (used version) -/user/username/projects/noemitonerror/src/main.ts (used version) -/user/username/projects/noemitonerror/src/other.ts (used version) - -exitCode:: ExitStatus.undefined - -Change:: No change - -Input:: -//// [/user/username/projects/noEmitOnError/src/main.ts] file written with same contents - -Timeout callback:: count: 1 -1: timerToUpdateProgram *new* - -Before running Timeout callback:: count: 1 -1: timerToUpdateProgram - -After running Timeout callback:: count: 0 - - -exitCode:: ExitStatus.undefined - -Change:: Fix Syntax error - -Input:: -//// [/user/username/projects/noEmitOnError/src/main.ts] -import { A } from "../shared/types/db"; -const a = { - lastName: 'sdsd' -}; - - -Timeout callback:: count: 1 -2: timerToUpdateProgram *new* - -Before running Timeout callback:: count: 1 -2: timerToUpdateProgram - -After running Timeout callback:: count: 0 -Output:: ->> Screen clear -[HH:MM:SS AM] File change detected. Starting incremental compilation... - -[HH:MM:SS AM] Found 0 errors. Watching for file changes. - - - -//// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-2574605496-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n};","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","impliedFormat":1}],"root":[[2,4]],"options":{"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3,4]},"version":"FakeTSVersion"} - -//// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo.readable.baseline.txt] -{ - "program": { - "fileNames": [ - "../../../../../a/lib/lib.d.ts", - "../shared/types/db.ts", - "../src/main.ts", - "../src/other.ts" - ], - "fileNamesList": [ - [ - "../shared/types/db.ts" - ] - ], - "fileInfos": { - "../../../../../a/lib/lib.d.ts": { - "original": { - "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true, - "impliedFormat": 1 - }, - "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true, - "impliedFormat": "commonjs" - }, - "../shared/types/db.ts": { - "original": { - "version": "-5014788164-export interface A {\n name: string;\n}\n", - "impliedFormat": 1 - }, - "version": "-5014788164-export interface A {\n name: string;\n}\n", - "signature": "-5014788164-export interface A {\n name: string;\n}\n", - "impliedFormat": "commonjs" - }, - "../src/main.ts": { - "original": { - "version": "-2574605496-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n};", - "signature": "-3531856636-export {};\n", - "impliedFormat": 1 - }, - "version": "-2574605496-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n};", - "signature": "-3531856636-export {};\n", - "impliedFormat": "commonjs" - }, - "../src/other.ts": { - "original": { - "version": "9084524823-console.log(\"hi\");\nexport { }\n", - "impliedFormat": 1 - }, - "version": "9084524823-console.log(\"hi\");\nexport { }\n", - "signature": "9084524823-console.log(\"hi\");\nexport { }\n", - "impliedFormat": "commonjs" - } - }, - "root": [ - [ - [ - 2, - 4 - ], - [ - "../shared/types/db.ts", - "../src/main.ts", - "../src/other.ts" - ] - ] - ], - "options": { - "noEmitOnError": true, - "outDir": "./" - }, - "referencedMap": { - "../src/main.ts": [ - "../shared/types/db.ts" - ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../shared/types/db.ts", - "../src/main.ts", - "../src/other.ts" - ] - }, - "version": "FakeTSVersion", - "size": 1131 -} - -//// [/user/username/projects/noEmitOnError/dev-build/shared/types/db.js] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); - - -//// [/user/username/projects/noEmitOnError/dev-build/src/main.js] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var a = { - lastName: 'sdsd' -}; - - -//// [/user/username/projects/noEmitOnError/dev-build/src/other.js] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -console.log("hi"); - - - - -Program root files: [ - "/user/username/projects/noEmitOnError/shared/types/db.ts", - "/user/username/projects/noEmitOnError/src/main.ts", - "/user/username/projects/noEmitOnError/src/other.ts" -] -Program options: { - "outDir": "/user/username/projects/noEmitOnError/dev-build", - "noEmitOnError": true, - "watch": true, - "isolatedModules": true, - "incremental": true, - "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" -} -Program structureReused: Completely -Program files:: -/a/lib/lib.d.ts -/user/username/projects/noEmitOnError/shared/types/db.ts -/user/username/projects/noEmitOnError/src/main.ts -/user/username/projects/noEmitOnError/src/other.ts - -Semantic diagnostics in builder refreshed for:: -/user/username/projects/noEmitOnError/src/main.ts - -Shape signatures in builder refreshed for:: -/user/username/projects/noemitonerror/src/main.ts (computed .d.ts) - -exitCode:: ExitStatus.undefined - -Change:: Semantic Error - -Input:: -//// [/user/username/projects/noEmitOnError/src/main.ts] -import { A } from "../shared/types/db"; -const a: string = 10; - - -Timeout callback:: count: 1 -3: timerToUpdateProgram *new* - -Before running Timeout callback:: count: 1 -3: timerToUpdateProgram - -After running Timeout callback:: count: 0 -Output:: ->> Screen clear -[HH:MM:SS AM] File change detected. Starting incremental compilation... - -src/main.ts:2:7 - error TS2322: Type 'number' is not assignable to type 'string'. - -2 const a: string = 10; -   ~ - -[HH:MM:SS AM] Found 1 error. Watching for file changes. - - - -//// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-11111345725-import { A } from \"../shared/types/db\";\nconst a: string = 10;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","impliedFormat":1}],"root":[[2,4]],"options":{"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,[3,[{"file":"../src/main.ts","start":46,"length":1,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'string'."}]],4],"affectedFilesPendingEmit":[3]},"version":"FakeTSVersion"} - -//// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo.readable.baseline.txt] -{ - "program": { - "fileNames": [ - "../../../../../a/lib/lib.d.ts", - "../shared/types/db.ts", - "../src/main.ts", - "../src/other.ts" - ], - "fileNamesList": [ - [ - "../shared/types/db.ts" - ] - ], - "fileInfos": { - "../../../../../a/lib/lib.d.ts": { - "original": { - "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true, - "impliedFormat": 1 - }, - "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true, - "impliedFormat": "commonjs" - }, - "../shared/types/db.ts": { - "original": { - "version": "-5014788164-export interface A {\n name: string;\n}\n", - "impliedFormat": 1 - }, - "version": "-5014788164-export interface A {\n name: string;\n}\n", - "signature": "-5014788164-export interface A {\n name: string;\n}\n", - "impliedFormat": "commonjs" - }, - "../src/main.ts": { - "original": { - "version": "-11111345725-import { A } from \"../shared/types/db\";\nconst a: string = 10;", - "signature": "-3531856636-export {};\n", - "impliedFormat": 1 - }, - "version": "-11111345725-import { A } from \"../shared/types/db\";\nconst a: string = 10;", - "signature": "-3531856636-export {};\n", - "impliedFormat": "commonjs" - }, - "../src/other.ts": { - "original": { - "version": "9084524823-console.log(\"hi\");\nexport { }\n", - "impliedFormat": 1 - }, - "version": "9084524823-console.log(\"hi\");\nexport { }\n", - "signature": "9084524823-console.log(\"hi\");\nexport { }\n", - "impliedFormat": "commonjs" - } - }, - "root": [ - [ - [ - 2, - 4 - ], - [ - "../shared/types/db.ts", - "../src/main.ts", - "../src/other.ts" - ] - ] - ], - "options": { - "noEmitOnError": true, - "outDir": "./" - }, - "referencedMap": { - "../src/main.ts": [ - "../shared/types/db.ts" - ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../shared/types/db.ts", - [ - "../src/main.ts", - [ - { - "file": "../src/main.ts", - "start": 46, - "length": 1, - "code": 2322, - "category": 1, - "messageText": "Type 'number' is not assignable to type 'string'." - } - ] - ], - "../src/other.ts" - ], - "affectedFilesPendingEmit": [ - [ - "../src/main.ts", - "Js" - ] - ] - }, - "version": "FakeTSVersion", - "size": 1290 -} - - - -Program root files: [ - "/user/username/projects/noEmitOnError/shared/types/db.ts", - "/user/username/projects/noEmitOnError/src/main.ts", - "/user/username/projects/noEmitOnError/src/other.ts" -] -Program options: { - "outDir": "/user/username/projects/noEmitOnError/dev-build", - "noEmitOnError": true, - "watch": true, - "isolatedModules": true, - "incremental": true, - "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" -} -Program structureReused: Completely -Program files:: -/a/lib/lib.d.ts -/user/username/projects/noEmitOnError/shared/types/db.ts -/user/username/projects/noEmitOnError/src/main.ts -/user/username/projects/noEmitOnError/src/other.ts - -Semantic diagnostics in builder refreshed for:: -/user/username/projects/noEmitOnError/src/main.ts - -Shape signatures in builder refreshed for:: -/user/username/projects/noemitonerror/src/main.ts (computed .d.ts) - -exitCode:: ExitStatus.undefined - -Change:: No change - -Input:: -//// [/user/username/projects/noEmitOnError/src/main.ts] file written with same contents - -Timeout callback:: count: 1 -4: timerToUpdateProgram *new* - -Before running Timeout callback:: count: 1 -4: timerToUpdateProgram - -After running Timeout callback:: count: 0 - - -exitCode:: ExitStatus.undefined - -Change:: Fix Semantic Error - -Input:: -//// [/user/username/projects/noEmitOnError/src/main.ts] -import { A } from "../shared/types/db"; -const a: string = "hello"; - - -Timeout callback:: count: 1 -5: timerToUpdateProgram *new* - -Before running Timeout callback:: count: 1 -5: timerToUpdateProgram - -After running Timeout callback:: count: 0 -Output:: ->> Screen clear -[HH:MM:SS AM] File change detected. Starting incremental compilation... - -[HH:MM:SS AM] Found 0 errors. Watching for file changes. - - - -//// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-8373351622-import { A } from \"../shared/types/db\";\nconst a: string = \"hello\";","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","impliedFormat":1}],"root":[[2,4]],"options":{"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3,4]},"version":"FakeTSVersion"} - -//// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo.readable.baseline.txt] -{ - "program": { - "fileNames": [ - "../../../../../a/lib/lib.d.ts", - "../shared/types/db.ts", - "../src/main.ts", - "../src/other.ts" - ], - "fileNamesList": [ - [ - "../shared/types/db.ts" - ] - ], - "fileInfos": { - "../../../../../a/lib/lib.d.ts": { - "original": { - "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true, - "impliedFormat": 1 - }, - "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true, - "impliedFormat": "commonjs" - }, - "../shared/types/db.ts": { - "original": { - "version": "-5014788164-export interface A {\n name: string;\n}\n", - "impliedFormat": 1 - }, - "version": "-5014788164-export interface A {\n name: string;\n}\n", - "signature": "-5014788164-export interface A {\n name: string;\n}\n", - "impliedFormat": "commonjs" - }, - "../src/main.ts": { - "original": { - "version": "-8373351622-import { A } from \"../shared/types/db\";\nconst a: string = \"hello\";", - "signature": "-3531856636-export {};\n", - "impliedFormat": 1 - }, - "version": "-8373351622-import { A } from \"../shared/types/db\";\nconst a: string = \"hello\";", - "signature": "-3531856636-export {};\n", - "impliedFormat": "commonjs" - }, - "../src/other.ts": { - "original": { - "version": "9084524823-console.log(\"hi\");\nexport { }\n", - "impliedFormat": 1 - }, - "version": "9084524823-console.log(\"hi\");\nexport { }\n", - "signature": "9084524823-console.log(\"hi\");\nexport { }\n", - "impliedFormat": "commonjs" - } - }, - "root": [ - [ - [ - 2, - 4 - ], - [ - "../shared/types/db.ts", - "../src/main.ts", - "../src/other.ts" - ] - ] - ], - "options": { - "noEmitOnError": true, - "outDir": "./" - }, - "referencedMap": { - "../src/main.ts": [ - "../shared/types/db.ts" - ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../shared/types/db.ts", - "../src/main.ts", - "../src/other.ts" - ] - }, - "version": "FakeTSVersion", - "size": 1122 -} - -//// [/user/username/projects/noEmitOnError/dev-build/src/main.js] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var a = "hello"; - - - - -Program root files: [ - "/user/username/projects/noEmitOnError/shared/types/db.ts", - "/user/username/projects/noEmitOnError/src/main.ts", - "/user/username/projects/noEmitOnError/src/other.ts" -] -Program options: { - "outDir": "/user/username/projects/noEmitOnError/dev-build", - "noEmitOnError": true, - "watch": true, - "isolatedModules": true, - "incremental": true, - "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" -} -Program structureReused: Completely -Program files:: -/a/lib/lib.d.ts -/user/username/projects/noEmitOnError/shared/types/db.ts -/user/username/projects/noEmitOnError/src/main.ts -/user/username/projects/noEmitOnError/src/other.ts - -Semantic diagnostics in builder refreshed for:: -/user/username/projects/noEmitOnError/src/main.ts - -Shape signatures in builder refreshed for:: -/user/username/projects/noemitonerror/src/main.ts (computed .d.ts) - -exitCode:: ExitStatus.undefined - -Change:: No change - -Input:: -//// [/user/username/projects/noEmitOnError/src/main.ts] file written with same contents - -Timeout callback:: count: 1 -6: timerToUpdateProgram *new* - -Before running Timeout callback:: count: 1 -6: timerToUpdateProgram - -After running Timeout callback:: count: 0 - - -exitCode:: ExitStatus.undefined diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModulesAndD/deepImportChanges/errors-for-.d.ts-change-with-incremental.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModulesAndD/deepImportChanges/errors-for-.d.ts-change-with-incremental.js index e89addc13bbdb..18ed173c9efa2 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModulesAndD/deepImportChanges/errors-for-.d.ts-change-with-incremental.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModulesAndD/deepImportChanges/errors-for-.d.ts-change-with-incremental.js @@ -58,7 +58,7 @@ export {}; //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.d.ts","./b.d.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18774426152-export class C\n{\n d: number;\n}","impliedFormat":1},{"version":"-1688906387-import {C} from './c';\nexport class B\n{\n c: C;\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,4,3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.d.ts","./b.d.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18774426152-export class C\n{\n d: number;\n}","impliedFormat":1},{"version":"-1688906387-import {C} from './c';\nexport class B\n{\n c: C;\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -141,16 +141,10 @@ export {}; "./b.d.ts": [ "./c.d.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.d.ts", - "./c.d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1036 + "size": 997 } @@ -236,6 +230,7 @@ Before running Timeout callback:: count: 2 2: timerToInvalidateFailedLookupResolutions 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -252,7 +247,7 @@ Output:: //// [/user/username/projects/myproject/a.d.ts] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.d.ts","./b.d.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-21444928214-export class C\n{\n d2: number;\n}","impliedFormat":1},{"version":"-1688906387-import {C} from './c';\nexport class B\n{\n c: C;\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,[4,[{"file":"./a.ts","start":82,"length":1,"code":2339,"category":1,"messageText":"Property 'd' does not exist on type 'C'."}]],3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.d.ts","./b.d.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-21444928214-export class C\n{\n d2: number;\n}","impliedFormat":1},{"version":"-1688906387-import {C} from './c';\nexport class B\n{\n c: C;\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[[4,[{"start":82,"length":1,"code":2339,"category":1,"messageText":"Property 'd' does not exist on type 'C'."}]]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -337,12 +332,10 @@ Output:: ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", [ "./a.ts", [ { - "file": "./a.ts", "start": 82, "length": 1, "code": 2339, @@ -350,13 +343,11 @@ Output:: "messageText": "Property 'd' does not exist on type 'C'." } ] - ], - "./b.d.ts", - "./c.d.ts" + ] ] }, "version": "FakeTSVersion", - "size": 1163 + "size": 1141 } @@ -408,6 +399,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 4: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -419,7 +411,7 @@ Output:: //// [/user/username/projects/myproject/a.d.ts] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.d.ts","./b.d.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18774426152-export class C\n{\n d: number;\n}","impliedFormat":1},{"version":"-1688906387-import {C} from './c';\nexport class B\n{\n c: C;\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,4,3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.d.ts","./b.d.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18774426152-export class C\n{\n d: number;\n}","impliedFormat":1},{"version":"-1688906387-import {C} from './c';\nexport class B\n{\n c: C;\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -502,16 +494,10 @@ Output:: "./b.d.ts": [ "./c.d.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.d.ts", - "./c.d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1036 + "size": 997 } @@ -563,6 +549,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 5: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -579,7 +566,7 @@ Output:: //// [/user/username/projects/myproject/a.d.ts] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.d.ts","./b.d.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-21444928214-export class C\n{\n d2: number;\n}","impliedFormat":1},{"version":"-1688906387-import {C} from './c';\nexport class B\n{\n c: C;\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,[4,[{"file":"./a.ts","start":82,"length":1,"code":2339,"category":1,"messageText":"Property 'd' does not exist on type 'C'."}]],3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.d.ts","./b.d.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-21444928214-export class C\n{\n d2: number;\n}","impliedFormat":1},{"version":"-1688906387-import {C} from './c';\nexport class B\n{\n c: C;\n}","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[[4,[{"start":82,"length":1,"code":2339,"category":1,"messageText":"Property 'd' does not exist on type 'C'."}]]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -664,12 +651,10 @@ Output:: ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", [ "./a.ts", [ { - "file": "./a.ts", "start": 82, "length": 1, "code": 2339, @@ -677,13 +662,11 @@ Output:: "messageText": "Property 'd' does not exist on type 'C'." } ] - ], - "./b.d.ts", - "./c.d.ts" + ] ] }, "version": "FakeTSVersion", - "size": 1163 + "size": 1141 } diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModulesAndD/deepImportChanges/errors-for-.d.ts-change.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModulesAndD/deepImportChanges/errors-for-.d.ts-change.js index 30548ab63c76e..38b2b59785682 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModulesAndD/deepImportChanges/errors-for-.d.ts-change.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModulesAndD/deepImportChanges/errors-for-.d.ts-change.js @@ -134,6 +134,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -197,6 +198,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -255,6 +257,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModulesAndD/deepImportChanges/errors-for-.ts-change-with-incremental.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModulesAndD/deepImportChanges/errors-for-.ts-change-with-incremental.js index edc4c8e226f2e..d2b957d1eb80a 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModulesAndD/deepImportChanges/errors-for-.ts-change-with-incremental.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModulesAndD/deepImportChanges/errors-for-.ts-change-with-incremental.js @@ -98,7 +98,7 @@ export {}; //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-22447130237-export class C\n{\n d = 1;\n}","signature":"-6977846840-export declare class C {\n d: number;\n}\n","impliedFormat":1},{"version":"-6292386773-import {C} from './c';\nexport class B\n{\n c = new C();\n}","signature":"-165097315-import { C } from './c';\nexport declare class B {\n c: C;\n}\n","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,4,3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-22447130237-export class C\n{\n d = 1;\n}","signature":"-6977846840-export declare class C {\n d: number;\n}\n","impliedFormat":1},{"version":"-6292386773-import {C} from './c';\nexport class B\n{\n c = new C();\n}","signature":"-165097315-import { C } from './c';\nexport declare class B {\n c: C;\n}\n","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -183,16 +183,10 @@ export {}; "./b.ts": [ "./c.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1199 + "size": 1160 } @@ -271,6 +265,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -307,7 +302,7 @@ export declare class C { //// [/user/username/projects/myproject/b.d.ts] file written with same contents //// [/user/username/projects/myproject/a.d.ts] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-22846341163-export class C\n{\n d2 = 1;\n}","signature":"-4637923302-export declare class C {\n d2: number;\n}\n","impliedFormat":1},{"version":"-6292386773-import {C} from './c';\nexport class B\n{\n c = new C();\n}","signature":"-165097315-import { C } from './c';\nexport declare class B {\n c: C;\n}\n","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,[4,[{"file":"./a.ts","start":82,"length":1,"code":2339,"category":1,"messageText":"Property 'd' does not exist on type 'C'."}]],3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-22846341163-export class C\n{\n d2 = 1;\n}","signature":"-4637923302-export declare class C {\n d2: number;\n}\n","impliedFormat":1},{"version":"-6292386773-import {C} from './c';\nexport class B\n{\n c = new C();\n}","signature":"-165097315-import { C } from './c';\nexport declare class B {\n c: C;\n}\n","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[[4,[{"start":82,"length":1,"code":2339,"category":1,"messageText":"Property 'd' does not exist on type 'C'."}]]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -394,12 +389,10 @@ export declare class C { ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", [ "./a.ts", [ { - "file": "./a.ts", "start": 82, "length": 1, "code": 2339, @@ -407,13 +400,11 @@ export declare class C { "messageText": "Property 'd' does not exist on type 'C'." } ] - ], - "./b.ts", - "./c.ts" + ] ] }, "version": "FakeTSVersion", - "size": 1327 + "size": 1305 } @@ -465,6 +456,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -496,7 +488,7 @@ export declare class C { //// [/user/username/projects/myproject/b.d.ts] file written with same contents //// [/user/username/projects/myproject/a.d.ts] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-22447130237-export class C\n{\n d = 1;\n}","signature":"-6977846840-export declare class C {\n d: number;\n}\n","impliedFormat":1},{"version":"-6292386773-import {C} from './c';\nexport class B\n{\n c = new C();\n}","signature":"-165097315-import { C } from './c';\nexport declare class B {\n c: C;\n}\n","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,4,3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-22447130237-export class C\n{\n d = 1;\n}","signature":"-6977846840-export declare class C {\n d: number;\n}\n","impliedFormat":1},{"version":"-6292386773-import {C} from './c';\nexport class B\n{\n c = new C();\n}","signature":"-165097315-import { C } from './c';\nexport declare class B {\n c: C;\n}\n","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -581,16 +573,10 @@ export declare class C { "./b.ts": [ "./c.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1199 + "size": 1160 } @@ -642,6 +628,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -678,7 +665,7 @@ export declare class C { //// [/user/username/projects/myproject/b.d.ts] file written with same contents //// [/user/username/projects/myproject/a.d.ts] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-22846341163-export class C\n{\n d2 = 1;\n}","signature":"-4637923302-export declare class C {\n d2: number;\n}\n","impliedFormat":1},{"version":"-6292386773-import {C} from './c';\nexport class B\n{\n c = new C();\n}","signature":"-165097315-import { C } from './c';\nexport declare class B {\n c: C;\n}\n","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[1,[4,[{"file":"./a.ts","start":82,"length":1,"code":2339,"category":1,"messageText":"Property 'd' does not exist on type 'C'."}]],3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-22846341163-export class C\n{\n d2 = 1;\n}","signature":"-4637923302-export declare class C {\n d2: number;\n}\n","impliedFormat":1},{"version":"-6292386773-import {C} from './c';\nexport class B\n{\n c = new C();\n}","signature":"-165097315-import { C } from './c';\nexport declare class B {\n c: C;\n}\n","impliedFormat":1},{"version":"4878398349-import {B} from './b';\ndeclare var console: any;\nlet b = new B();\nconsole.log(b.c.d);","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true},"fileIdsList":[[3],[2]],"referencedMap":[[4,1],[3,2]],"semanticDiagnosticsPerFile":[[4,[{"start":82,"length":1,"code":2339,"category":1,"messageText":"Property 'd' does not exist on type 'C'."}]]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -765,12 +752,10 @@ export declare class C { ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", [ "./a.ts", [ { - "file": "./a.ts", "start": 82, "length": 1, "code": 2339, @@ -778,13 +763,11 @@ export declare class C { "messageText": "Property 'd' does not exist on type 'C'." } ] - ], - "./b.ts", - "./c.ts" + ] ] }, "version": "FakeTSVersion", - "size": 1327 + "size": 1305 } diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModulesAndD/deepImportChanges/errors-for-.ts-change.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModulesAndD/deepImportChanges/errors-for-.ts-change.js index ca593ba4a3cc9..c8c00e5b458a9 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModulesAndD/deepImportChanges/errors-for-.ts-change.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModulesAndD/deepImportChanges/errors-for-.ts-change.js @@ -172,6 +172,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -255,6 +256,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -333,6 +335,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModulesAndD/file-not-exporting-a-deep-multilevel-import-that-changes-with-incremental.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModulesAndD/file-not-exporting-a-deep-multilevel-import-that-changes-with-incremental.js index 00bf500f55bcc..2b0683981c8eb 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModulesAndD/file-not-exporting-a-deep-multilevel-import-that-changes-with-incremental.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModulesAndD/file-not-exporting-a-deep-multilevel-import-that-changes-with-incremental.js @@ -145,7 +145,7 @@ import "./d"; //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts","./e.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"9889814467-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x2: number;\n y: number;\n}","signature":"8536297517-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x2: number;\n y: number;\n}\n","impliedFormat":1},{"version":"-8029610078-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}","signature":"-7279094804-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}\n","impliedFormat":1},{"version":"-37232372138-import { PointWrapper } from \"./b\";\nexport function getPoint(): PointWrapper {\n return {\n name: \"test\",\n c: {\n x: 1,\n y: 2\n }\n }\n};","signature":"-3387333988-import { PointWrapper } from \"./b\";\nexport declare function getPoint(): PointWrapper;\n","impliedFormat":1},{"version":"-17875457076-import { getPoint } from \"./c\";\ngetPoint().c.x;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-5185546240-import \"./d\";","signature":"-3619301366-import \"./d\";\n","impliedFormat":1}],"root":[[2,6]],"options":{"declaration":true},"fileIdsList":[[2],[3],[4],[5]],"referencedMap":[[3,1],[4,2],[5,3],[6,4]],"semanticDiagnosticsPerFile":[1,2,3,[4,[{"file":"./c.ts","start":139,"length":1,"code":2353,"category":1,"messageText":"Object literal may only specify known properties, and 'x' does not exist in type 'Coords'.","relatedInformation":[{"file":"./a.ts","start":47,"length":1,"messageText":"The expected type comes from property 'c' which is declared here on type 'PointWrapper'","category":3,"code":6500}]}]],[5,[{"file":"./d.ts","start":45,"length":1,"code":2339,"category":1,"messageText":"Property 'x' does not exist on type 'Coords'."}]],6]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts","./e.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"9889814467-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x2: number;\n y: number;\n}","signature":"8536297517-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x2: number;\n y: number;\n}\n","impliedFormat":1},{"version":"-8029610078-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}","signature":"-7279094804-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}\n","impliedFormat":1},{"version":"-37232372138-import { PointWrapper } from \"./b\";\nexport function getPoint(): PointWrapper {\n return {\n name: \"test\",\n c: {\n x: 1,\n y: 2\n }\n }\n};","signature":"-3387333988-import { PointWrapper } from \"./b\";\nexport declare function getPoint(): PointWrapper;\n","impliedFormat":1},{"version":"-17875457076-import { getPoint } from \"./c\";\ngetPoint().c.x;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-5185546240-import \"./d\";","signature":"-3619301366-import \"./d\";\n","impliedFormat":1}],"root":[[2,6]],"options":{"declaration":true},"fileIdsList":[[2],[3],[4],[5]],"referencedMap":[[3,1],[4,2],[5,3],[6,4]],"semanticDiagnosticsPerFile":[[4,[{"start":139,"length":1,"code":2353,"category":1,"messageText":"Object literal may only specify known properties, and 'x' does not exist in type 'Coords'.","relatedInformation":[{"file":"./a.ts","start":47,"length":1,"messageText":"The expected type comes from property 'c' which is declared here on type 'PointWrapper'","category":3,"code":6500}]}]],[5,[{"start":45,"length":1,"code":2339,"category":1,"messageText":"Property 'x' does not exist on type 'Coords'."}]]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -268,14 +268,10 @@ import "./d"; ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.ts", [ "./c.ts", [ { - "file": "./c.ts", "start": 139, "length": 1, "code": 2353, @@ -298,7 +294,6 @@ import "./d"; "./d.ts", [ { - "file": "./d.ts", "start": 45, "length": 1, "code": 2339, @@ -306,12 +301,11 @@ import "./d"; "messageText": "Property 'x' does not exist on type 'Coords'." } ] - ], - "./e.ts" + ] ] }, "version": "FakeTSVersion", - "size": 2372 + "size": 2332 } @@ -406,6 +400,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -432,7 +427,7 @@ export interface Coords { //// [/user/username/projects/myproject/d.d.ts] file written with same contents //// [/user/username/projects/myproject/e.d.ts] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts","./e.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"2103509937-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x: number;\n y: number;\n}","signature":"696351195-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x: number;\n y: number;\n}\n","impliedFormat":1},{"version":"-8029610078-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}","signature":"-7279094804-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}\n","impliedFormat":1},{"version":"-37232372138-import { PointWrapper } from \"./b\";\nexport function getPoint(): PointWrapper {\n return {\n name: \"test\",\n c: {\n x: 1,\n y: 2\n }\n }\n};","signature":"-3387333988-import { PointWrapper } from \"./b\";\nexport declare function getPoint(): PointWrapper;\n","impliedFormat":1},{"version":"-17875457076-import { getPoint } from \"./c\";\ngetPoint().c.x;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-5185546240-import \"./d\";","signature":"-3619301366-import \"./d\";\n","impliedFormat":1}],"root":[[2,6]],"options":{"declaration":true},"fileIdsList":[[2],[3],[4],[5]],"referencedMap":[[3,1],[4,2],[5,3],[6,4]],"semanticDiagnosticsPerFile":[1,2,3,4,5,6]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts","./e.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"2103509937-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x: number;\n y: number;\n}","signature":"696351195-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x: number;\n y: number;\n}\n","impliedFormat":1},{"version":"-8029610078-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}","signature":"-7279094804-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}\n","impliedFormat":1},{"version":"-37232372138-import { PointWrapper } from \"./b\";\nexport function getPoint(): PointWrapper {\n return {\n name: \"test\",\n c: {\n x: 1,\n y: 2\n }\n }\n};","signature":"-3387333988-import { PointWrapper } from \"./b\";\nexport declare function getPoint(): PointWrapper;\n","impliedFormat":1},{"version":"-17875457076-import { getPoint } from \"./c\";\ngetPoint().c.x;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-5185546240-import \"./d\";","signature":"-3619301366-import \"./d\";\n","impliedFormat":1}],"root":[[2,6]],"options":{"declaration":true},"fileIdsList":[[2],[3],[4],[5]],"referencedMap":[[3,1],[4,2],[5,3],[6,4]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -553,18 +548,10 @@ export interface Coords { "./e.ts": [ "./d.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts", - "./e.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1869 + "size": 1826 } @@ -628,6 +615,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -669,7 +657,7 @@ export interface Coords { //// [/user/username/projects/myproject/d.d.ts] file written with same contents //// [/user/username/projects/myproject/e.d.ts] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts","./e.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"9889814467-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x2: number;\n y: number;\n}","signature":"8536297517-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x2: number;\n y: number;\n}\n","impliedFormat":1},{"version":"-8029610078-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}","signature":"-7279094804-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}\n","impliedFormat":1},{"version":"-37232372138-import { PointWrapper } from \"./b\";\nexport function getPoint(): PointWrapper {\n return {\n name: \"test\",\n c: {\n x: 1,\n y: 2\n }\n }\n};","signature":"-3387333988-import { PointWrapper } from \"./b\";\nexport declare function getPoint(): PointWrapper;\n","impliedFormat":1},{"version":"-17875457076-import { getPoint } from \"./c\";\ngetPoint().c.x;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-5185546240-import \"./d\";","signature":"-3619301366-import \"./d\";\n","impliedFormat":1}],"root":[[2,6]],"options":{"declaration":true},"fileIdsList":[[2],[3],[4],[5]],"referencedMap":[[3,1],[4,2],[5,3],[6,4]],"semanticDiagnosticsPerFile":[1,2,3,[4,[{"file":"./c.ts","start":139,"length":1,"code":2353,"category":1,"messageText":"Object literal may only specify known properties, and 'x' does not exist in type 'Coords'.","relatedInformation":[{"file":"./a.ts","start":47,"length":1,"messageText":"The expected type comes from property 'c' which is declared here on type 'PointWrapper'","category":3,"code":6500}]}]],[5,[{"file":"./d.ts","start":45,"length":1,"code":2339,"category":1,"messageText":"Property 'x' does not exist on type 'Coords'."}]],6]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts","./e.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"9889814467-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x2: number;\n y: number;\n}","signature":"8536297517-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x2: number;\n y: number;\n}\n","impliedFormat":1},{"version":"-8029610078-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}","signature":"-7279094804-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}\n","impliedFormat":1},{"version":"-37232372138-import { PointWrapper } from \"./b\";\nexport function getPoint(): PointWrapper {\n return {\n name: \"test\",\n c: {\n x: 1,\n y: 2\n }\n }\n};","signature":"-3387333988-import { PointWrapper } from \"./b\";\nexport declare function getPoint(): PointWrapper;\n","impliedFormat":1},{"version":"-17875457076-import { getPoint } from \"./c\";\ngetPoint().c.x;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-5185546240-import \"./d\";","signature":"-3619301366-import \"./d\";\n","impliedFormat":1}],"root":[[2,6]],"options":{"declaration":true},"fileIdsList":[[2],[3],[4],[5]],"referencedMap":[[3,1],[4,2],[5,3],[6,4]],"semanticDiagnosticsPerFile":[[4,[{"start":139,"length":1,"code":2353,"category":1,"messageText":"Object literal may only specify known properties, and 'x' does not exist in type 'Coords'.","relatedInformation":[{"file":"./a.ts","start":47,"length":1,"messageText":"The expected type comes from property 'c' which is declared here on type 'PointWrapper'","category":3,"code":6500}]}]],[5,[{"start":45,"length":1,"code":2339,"category":1,"messageText":"Property 'x' does not exist on type 'Coords'."}]]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -792,14 +780,10 @@ export interface Coords { ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.ts", [ "./c.ts", [ { - "file": "./c.ts", "start": 139, "length": 1, "code": 2353, @@ -822,7 +806,6 @@ export interface Coords { "./d.ts", [ { - "file": "./d.ts", "start": 45, "length": 1, "code": 2339, @@ -830,12 +813,11 @@ export interface Coords { "messageText": "Property 'x' does not exist on type 'Coords'." } ] - ], - "./e.ts" + ] ] }, "version": "FakeTSVersion", - "size": 2372 + "size": 2332 } @@ -899,6 +881,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -925,7 +908,7 @@ export interface Coords { //// [/user/username/projects/myproject/d.d.ts] file written with same contents //// [/user/username/projects/myproject/e.d.ts] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts","./e.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"2103509937-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x: number;\n y: number;\n}","signature":"696351195-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x: number;\n y: number;\n}\n","impliedFormat":1},{"version":"-8029610078-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}","signature":"-7279094804-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}\n","impliedFormat":1},{"version":"-37232372138-import { PointWrapper } from \"./b\";\nexport function getPoint(): PointWrapper {\n return {\n name: \"test\",\n c: {\n x: 1,\n y: 2\n }\n }\n};","signature":"-3387333988-import { PointWrapper } from \"./b\";\nexport declare function getPoint(): PointWrapper;\n","impliedFormat":1},{"version":"-17875457076-import { getPoint } from \"./c\";\ngetPoint().c.x;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-5185546240-import \"./d\";","signature":"-3619301366-import \"./d\";\n","impliedFormat":1}],"root":[[2,6]],"options":{"declaration":true},"fileIdsList":[[2],[3],[4],[5]],"referencedMap":[[3,1],[4,2],[5,3],[6,4]],"semanticDiagnosticsPerFile":[1,2,3,4,5,6]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts","./e.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"2103509937-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x: number;\n y: number;\n}","signature":"696351195-export interface Point {\n name: string;\n c: Coords;\n}\nexport interface Coords {\n x: number;\n y: number;\n}\n","impliedFormat":1},{"version":"-8029610078-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}","signature":"-7279094804-import { Point } from \"./a\";\nexport interface PointWrapper extends Point {\n}\n","impliedFormat":1},{"version":"-37232372138-import { PointWrapper } from \"./b\";\nexport function getPoint(): PointWrapper {\n return {\n name: \"test\",\n c: {\n x: 1,\n y: 2\n }\n }\n};","signature":"-3387333988-import { PointWrapper } from \"./b\";\nexport declare function getPoint(): PointWrapper;\n","impliedFormat":1},{"version":"-17875457076-import { getPoint } from \"./c\";\ngetPoint().c.x;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-5185546240-import \"./d\";","signature":"-3619301366-import \"./d\";\n","impliedFormat":1}],"root":[[2,6]],"options":{"declaration":true},"fileIdsList":[[2],[3],[4],[5]],"referencedMap":[[3,1],[4,2],[5,3],[6,4]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1046,18 +1029,10 @@ export interface Coords { "./e.ts": [ "./d.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./d.ts", - "./e.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1869 + "size": 1826 } diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModulesAndD/file-not-exporting-a-deep-multilevel-import-that-changes.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModulesAndD/file-not-exporting-a-deep-multilevel-import-that-changes.js index 39a7032317346..e68f719a432b7 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModulesAndD/file-not-exporting-a-deep-multilevel-import-that-changes.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModulesAndD/file-not-exporting-a-deep-multilevel-import-that-changes.js @@ -235,6 +235,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -320,6 +321,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -420,6 +422,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModulesAndD/transitive-exports/no-circular-import/export-with-incremental.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModulesAndD/transitive-exports/no-circular-import/export-with-incremental.js index 31d0385cee4fc..98b64c3cc2d94 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModulesAndD/transitive-exports/no-circular-import/export-with-incremental.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModulesAndD/transitive-exports/no-circular-import/export-with-incremental.js @@ -195,7 +195,7 @@ export declare class App { //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4369626085-export interface ITest {\n title: string;\n}","signature":"-2463740027-export interface ITest {\n title: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-30573389178-import { ITest } from \"lib1/public\";\nexport class Data {\n public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-15758516261-import { ITest } from \"lib1/public\";\nexport declare class Data {\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[7],"options":{"declaration":true},"fileIdsList":[[6],[3],[2],[4],[5]],"referencedMap":[[7,1],[4,2],[3,3],[5,4],[6,5]],"semanticDiagnosticsPerFile":[1,7,4,3,2,5,6]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4369626085-export interface ITest {\n title: string;\n}","signature":"-2463740027-export interface ITest {\n title: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-30573389178-import { ITest } from \"lib1/public\";\nexport class Data {\n public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-15758516261-import { ITest } from \"lib1/public\";\nexport declare class Data {\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[7],"options":{"declaration":true},"fileIdsList":[[6],[3],[2],[4],[5]],"referencedMap":[[7,1],[4,2],[3,3],[5,4],[6,5]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -324,19 +324,10 @@ export declare class App { "./lib2/public.ts": [ "./lib2/data.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./app.ts", - "./lib1/public.ts", - "./lib1/tools/public.ts", - "./lib1/tools/toolsinterface.ts", - "./lib2/data.ts", - "./lib2/public.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1988 + "size": 1943 } @@ -430,6 +421,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -457,7 +449,7 @@ export interface ITest { //// [/user/username/projects/myproject/lib2/public.d.ts] file written with same contents //// [/user/username/projects/myproject/app.d.ts] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3501597171-export interface ITest {\n title2: string;\n}","signature":"-3883556937-export interface ITest {\n title2: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-30573389178-import { ITest } from \"lib1/public\";\nexport class Data {\n public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-15758516261-import { ITest } from \"lib1/public\";\nexport declare class Data {\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[7],"options":{"declaration":true},"fileIdsList":[[6],[3],[2],[4],[5]],"referencedMap":[[7,1],[4,2],[3,3],[5,4],[6,5]],"semanticDiagnosticsPerFile":[1,7,4,3,2,[5,[{"file":"./lib2/data.ts","start":121,"length":5,"code":2561,"category":1,"messageText":"Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?"}]],6]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3501597171-export interface ITest {\n title2: string;\n}","signature":"-3883556937-export interface ITest {\n title2: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-30573389178-import { ITest } from \"lib1/public\";\nexport class Data {\n public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-15758516261-import { ITest } from \"lib1/public\";\nexport declare class Data {\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[7],"options":{"declaration":true},"fileIdsList":[[6],[3],[2],[4],[5]],"referencedMap":[[7,1],[4,2],[3,3],[5,4],[6,5]],"semanticDiagnosticsPerFile":[[5,[{"start":121,"length":5,"code":2561,"category":1,"messageText":"Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?"}]]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -588,16 +580,10 @@ export interface ITest { ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./app.ts", - "./lib1/public.ts", - "./lib1/tools/public.ts", - "./lib1/tools/toolsinterface.ts", [ "./lib2/data.ts", [ { - "file": "./lib2/data.ts", "start": 121, "length": 5, "code": 2561, @@ -605,12 +591,11 @@ export interface ITest { "messageText": "Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?" } ] - ], - "./lib2/public.ts" + ] ] }, "version": "FakeTSVersion", - "size": 2210 + "size": 2174 } @@ -669,6 +654,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -691,7 +677,7 @@ export interface ITest { //// [/user/username/projects/myproject/lib2/public.d.ts] file written with same contents //// [/user/username/projects/myproject/app.d.ts] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4369626085-export interface ITest {\n title: string;\n}","signature":"-2463740027-export interface ITest {\n title: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-30573389178-import { ITest } from \"lib1/public\";\nexport class Data {\n public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-15758516261-import { ITest } from \"lib1/public\";\nexport declare class Data {\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[7],"options":{"declaration":true},"fileIdsList":[[6],[3],[2],[4],[5]],"referencedMap":[[7,1],[4,2],[3,3],[5,4],[6,5]],"semanticDiagnosticsPerFile":[1,7,4,3,2,5,6]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4369626085-export interface ITest {\n title: string;\n}","signature":"-2463740027-export interface ITest {\n title: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-30573389178-import { ITest } from \"lib1/public\";\nexport class Data {\n public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-15758516261-import { ITest } from \"lib1/public\";\nexport declare class Data {\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[7],"options":{"declaration":true},"fileIdsList":[[6],[3],[2],[4],[5]],"referencedMap":[[7,1],[4,2],[3,3],[5,4],[6,5]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -820,19 +806,10 @@ export interface ITest { "./lib2/public.ts": [ "./lib2/data.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./app.ts", - "./lib1/public.ts", - "./lib1/tools/public.ts", - "./lib1/tools/toolsinterface.ts", - "./lib2/data.ts", - "./lib2/public.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1988 + "size": 1943 } @@ -891,6 +868,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -918,7 +896,7 @@ export interface ITest { //// [/user/username/projects/myproject/lib2/public.d.ts] file written with same contents //// [/user/username/projects/myproject/app.d.ts] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3501597171-export interface ITest {\n title2: string;\n}","signature":"-3883556937-export interface ITest {\n title2: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-30573389178-import { ITest } from \"lib1/public\";\nexport class Data {\n public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-15758516261-import { ITest } from \"lib1/public\";\nexport declare class Data {\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[7],"options":{"declaration":true},"fileIdsList":[[6],[3],[2],[4],[5]],"referencedMap":[[7,1],[4,2],[3,3],[5,4],[6,5]],"semanticDiagnosticsPerFile":[1,7,4,3,2,[5,[{"file":"./lib2/data.ts","start":121,"length":5,"code":2561,"category":1,"messageText":"Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?"}]],6]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3501597171-export interface ITest {\n title2: string;\n}","signature":"-3883556937-export interface ITest {\n title2: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-30573389178-import { ITest } from \"lib1/public\";\nexport class Data {\n public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-15758516261-import { ITest } from \"lib1/public\";\nexport declare class Data {\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[7],"options":{"declaration":true},"fileIdsList":[[6],[3],[2],[4],[5]],"referencedMap":[[7,1],[4,2],[3,3],[5,4],[6,5]],"semanticDiagnosticsPerFile":[[5,[{"start":121,"length":5,"code":2561,"category":1,"messageText":"Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?"}]]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1049,16 +1027,10 @@ export interface ITest { ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./app.ts", - "./lib1/public.ts", - "./lib1/tools/public.ts", - "./lib1/tools/toolsinterface.ts", [ "./lib2/data.ts", [ { - "file": "./lib2/data.ts", "start": 121, "length": 5, "code": 2561, @@ -1066,12 +1038,11 @@ export interface ITest { "messageText": "Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?" } ] - ], - "./lib2/public.ts" + ] ] }, "version": "FakeTSVersion", - "size": 2210 + "size": 2174 } diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModulesAndD/transitive-exports/no-circular-import/export.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModulesAndD/transitive-exports/no-circular-import/export.js index 57e8ca5797626..10ea230624ddb 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModulesAndD/transitive-exports/no-circular-import/export.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModulesAndD/transitive-exports/no-circular-import/export.js @@ -284,6 +284,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -365,6 +366,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -441,6 +443,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModulesAndD/transitive-exports/yes-circular-import/exports-with-incremental.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModulesAndD/transitive-exports/yes-circular-import/exports-with-incremental.js index 8233023fccb74..d813296a63ecb 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModulesAndD/transitive-exports/yes-circular-import/exports-with-incremental.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModulesAndD/transitive-exports/yes-circular-import/exports-with-incremental.js @@ -222,7 +222,7 @@ export declare class App { //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data2.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4369626085-export interface ITest {\n title: string;\n}","signature":"-2463740027-export interface ITest {\n title: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-11055285700-import { Data } from \"./data\";\nexport class Data2 {\n public dat?: Data;\n}","signature":"-17387821545-import { Data } from \"./data\";\nexport declare class Data2 {\n dat?: Data;\n}\n","impliedFormat":1},{"version":"-2056074887-import { ITest } from \"lib1/public\"; import { Data2 } from \"./data2\";\nexport class Data {\n public dat?: Data2; public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-14170088573-import { ITest } from \"lib1/public\";\nimport { Data2 } from \"./data2\";\nexport declare class Data {\n dat?: Data2;\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[8],"options":{"declaration":true},"fileIdsList":[[7],[3],[2],[4,5],[6]],"referencedMap":[[8,1],[4,2],[3,3],[6,4],[5,5],[7,5]],"semanticDiagnosticsPerFile":[1,8,4,3,2,6,5,7]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data2.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4369626085-export interface ITest {\n title: string;\n}","signature":"-2463740027-export interface ITest {\n title: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-11055285700-import { Data } from \"./data\";\nexport class Data2 {\n public dat?: Data;\n}","signature":"-17387821545-import { Data } from \"./data\";\nexport declare class Data2 {\n dat?: Data;\n}\n","impliedFormat":1},{"version":"-2056074887-import { ITest } from \"lib1/public\"; import { Data2 } from \"./data2\";\nexport class Data {\n public dat?: Data2; public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-14170088573-import { ITest } from \"lib1/public\";\nimport { Data2 } from \"./data2\";\nexport declare class Data {\n dat?: Data2;\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[8],"options":{"declaration":true},"fileIdsList":[[7],[3],[2],[4,5],[6]],"referencedMap":[[8,1],[4,2],[3,3],[6,4],[5,5],[7,5]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -367,20 +367,10 @@ export declare class App { "./lib2/public.ts": [ "./lib2/data.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./app.ts", - "./lib1/public.ts", - "./lib1/tools/public.ts", - "./lib1/tools/toolsinterface.ts", - "./lib2/data.ts", - "./lib2/data2.ts", - "./lib2/public.ts" - ] + } }, "version": "FakeTSVersion", - "size": 2363 + "size": 2316 } @@ -479,6 +469,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -507,7 +498,7 @@ export interface ITest { //// [/user/username/projects/myproject/lib2/public.d.ts] file written with same contents //// [/user/username/projects/myproject/app.d.ts] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data2.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3501597171-export interface ITest {\n title2: string;\n}","signature":"-3883556937-export interface ITest {\n title2: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-11055285700-import { Data } from \"./data\";\nexport class Data2 {\n public dat?: Data;\n}","signature":"-17387821545-import { Data } from \"./data\";\nexport declare class Data2 {\n dat?: Data;\n}\n","impliedFormat":1},{"version":"-2056074887-import { ITest } from \"lib1/public\"; import { Data2 } from \"./data2\";\nexport class Data {\n public dat?: Data2; public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-14170088573-import { ITest } from \"lib1/public\";\nimport { Data2 } from \"./data2\";\nexport declare class Data {\n dat?: Data2;\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[8],"options":{"declaration":true},"fileIdsList":[[7],[3],[2],[4,5],[6]],"referencedMap":[[8,1],[4,2],[3,3],[6,4],[5,5],[7,5]],"semanticDiagnosticsPerFile":[1,8,4,3,2,[6,[{"file":"./lib2/data.ts","start":174,"length":5,"code":2561,"category":1,"messageText":"Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?"}]],5,7]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data2.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3501597171-export interface ITest {\n title2: string;\n}","signature":"-3883556937-export interface ITest {\n title2: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-11055285700-import { Data } from \"./data\";\nexport class Data2 {\n public dat?: Data;\n}","signature":"-17387821545-import { Data } from \"./data\";\nexport declare class Data2 {\n dat?: Data;\n}\n","impliedFormat":1},{"version":"-2056074887-import { ITest } from \"lib1/public\"; import { Data2 } from \"./data2\";\nexport class Data {\n public dat?: Data2; public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-14170088573-import { ITest } from \"lib1/public\";\nimport { Data2 } from \"./data2\";\nexport declare class Data {\n dat?: Data2;\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[8],"options":{"declaration":true},"fileIdsList":[[7],[3],[2],[4,5],[6]],"referencedMap":[[8,1],[4,2],[3,3],[6,4],[5,5],[7,5]],"semanticDiagnosticsPerFile":[[6,[{"start":174,"length":5,"code":2561,"category":1,"messageText":"Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?"}]]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -654,16 +645,10 @@ export interface ITest { ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./app.ts", - "./lib1/public.ts", - "./lib1/tools/public.ts", - "./lib1/tools/toolsinterface.ts", [ "./lib2/data.ts", [ { - "file": "./lib2/data.ts", "start": 174, "length": 5, "code": 2561, @@ -671,13 +656,11 @@ export interface ITest { "messageText": "Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?" } ] - ], - "./lib2/data2.ts", - "./lib2/public.ts" + ] ] }, "version": "FakeTSVersion", - "size": 2585 + "size": 2547 } @@ -739,6 +722,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -762,7 +746,7 @@ export interface ITest { //// [/user/username/projects/myproject/lib2/public.d.ts] file written with same contents //// [/user/username/projects/myproject/app.d.ts] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data2.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4369626085-export interface ITest {\n title: string;\n}","signature":"-2463740027-export interface ITest {\n title: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-11055285700-import { Data } from \"./data\";\nexport class Data2 {\n public dat?: Data;\n}","signature":"-17387821545-import { Data } from \"./data\";\nexport declare class Data2 {\n dat?: Data;\n}\n","impliedFormat":1},{"version":"-2056074887-import { ITest } from \"lib1/public\"; import { Data2 } from \"./data2\";\nexport class Data {\n public dat?: Data2; public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-14170088573-import { ITest } from \"lib1/public\";\nimport { Data2 } from \"./data2\";\nexport declare class Data {\n dat?: Data2;\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[8],"options":{"declaration":true},"fileIdsList":[[7],[3],[2],[4,5],[6]],"referencedMap":[[8,1],[4,2],[3,3],[6,4],[5,5],[7,5]],"semanticDiagnosticsPerFile":[1,8,4,3,2,6,5,7]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data2.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-4369626085-export interface ITest {\n title: string;\n}","signature":"-2463740027-export interface ITest {\n title: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-11055285700-import { Data } from \"./data\";\nexport class Data2 {\n public dat?: Data;\n}","signature":"-17387821545-import { Data } from \"./data\";\nexport declare class Data2 {\n dat?: Data;\n}\n","impliedFormat":1},{"version":"-2056074887-import { ITest } from \"lib1/public\"; import { Data2 } from \"./data2\";\nexport class Data {\n public dat?: Data2; public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-14170088573-import { ITest } from \"lib1/public\";\nimport { Data2 } from \"./data2\";\nexport declare class Data {\n dat?: Data2;\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[8],"options":{"declaration":true},"fileIdsList":[[7],[3],[2],[4,5],[6]],"referencedMap":[[8,1],[4,2],[3,3],[6,4],[5,5],[7,5]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -907,20 +891,10 @@ export interface ITest { "./lib2/public.ts": [ "./lib2/data.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./app.ts", - "./lib1/public.ts", - "./lib1/tools/public.ts", - "./lib1/tools/toolsinterface.ts", - "./lib2/data.ts", - "./lib2/data2.ts", - "./lib2/public.ts" - ] + } }, "version": "FakeTSVersion", - "size": 2363 + "size": 2316 } @@ -982,6 +956,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -1010,7 +985,7 @@ export interface ITest { //// [/user/username/projects/myproject/lib2/public.d.ts] file written with same contents //// [/user/username/projects/myproject/app.d.ts] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data2.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3501597171-export interface ITest {\n title2: string;\n}","signature":"-3883556937-export interface ITest {\n title2: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-11055285700-import { Data } from \"./data\";\nexport class Data2 {\n public dat?: Data;\n}","signature":"-17387821545-import { Data } from \"./data\";\nexport declare class Data2 {\n dat?: Data;\n}\n","impliedFormat":1},{"version":"-2056074887-import { ITest } from \"lib1/public\"; import { Data2 } from \"./data2\";\nexport class Data {\n public dat?: Data2; public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-14170088573-import { ITest } from \"lib1/public\";\nimport { Data2 } from \"./data2\";\nexport declare class Data {\n dat?: Data2;\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[8],"options":{"declaration":true},"fileIdsList":[[7],[3],[2],[4,5],[6]],"referencedMap":[[8,1],[4,2],[3,3],[6,4],[5,5],[7,5]],"semanticDiagnosticsPerFile":[1,8,4,3,2,[6,[{"file":"./lib2/data.ts","start":174,"length":5,"code":2561,"category":1,"messageText":"Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?"}]],5,7]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./lib1/tools/toolsinterface.ts","./lib1/tools/public.ts","./lib1/public.ts","./lib2/data2.ts","./lib2/data.ts","./lib2/public.ts","./app.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3501597171-export interface ITest {\n title2: string;\n}","signature":"-3883556937-export interface ITest {\n title2: string;\n}\n","impliedFormat":1},{"version":"-10750058173-export * from \"./toolsinterface\";","signature":"-11154536019-export * from \"./toolsinterface\";\n","impliedFormat":1},{"version":"-5078933600-export * from \"./tools/public\";","signature":"-4396051542-export * from \"./tools/public\";\n","impliedFormat":1},{"version":"-11055285700-import { Data } from \"./data\";\nexport class Data2 {\n public dat?: Data;\n}","signature":"-17387821545-import { Data } from \"./data\";\nexport declare class Data2 {\n dat?: Data;\n}\n","impliedFormat":1},{"version":"-2056074887-import { ITest } from \"lib1/public\"; import { Data2 } from \"./data2\";\nexport class Data {\n public dat?: Data2; public test() {\n const result: ITest = {\n title: \"title\"\n }\n return result;\n }\n}","signature":"-14170088573-import { ITest } from \"lib1/public\";\nimport { Data2 } from \"./data2\";\nexport declare class Data {\n dat?: Data2;\n test(): ITest;\n}\n","impliedFormat":1},{"version":"-9530042629-export * from \"./data\";","signature":"-9548728731-export * from \"./data\";\n","impliedFormat":1},{"version":"-14937286564-import { Data } from \"lib2/public\";\nexport class App {\n public constructor() {\n new Data().test();\n }\n}","signature":"-18990360330-export declare class App {\n constructor();\n}\n","impliedFormat":1}],"root":[8],"options":{"declaration":true},"fileIdsList":[[7],[3],[2],[4,5],[6]],"referencedMap":[[8,1],[4,2],[3,3],[6,4],[5,5],[7,5]],"semanticDiagnosticsPerFile":[[6,[{"start":174,"length":5,"code":2561,"category":1,"messageText":"Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?"}]]]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1157,16 +1132,10 @@ export interface ITest { ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./app.ts", - "./lib1/public.ts", - "./lib1/tools/public.ts", - "./lib1/tools/toolsinterface.ts", [ "./lib2/data.ts", [ { - "file": "./lib2/data.ts", "start": 174, "length": 5, "code": 2561, @@ -1174,13 +1143,11 @@ export interface ITest { "messageText": "Object literal may only specify known properties, but 'title' does not exist in type 'ITest'. Did you mean to write 'title2'?" } ] - ], - "./lib2/data2.ts", - "./lib2/public.ts" + ] ] }, "version": "FakeTSVersion", - "size": 2585 + "size": 2547 } diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModulesAndD/transitive-exports/yes-circular-import/exports.js b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModulesAndD/transitive-exports/yes-circular-import/exports.js index 6678568694d86..aaf2b891b637a 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModulesAndD/transitive-exports/yes-circular-import/exports.js +++ b/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModulesAndD/transitive-exports/yes-circular-import/exports.js @@ -316,6 +316,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -401,6 +402,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -481,6 +483,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/extends/configDir-template.js b/tests/baselines/reference/tscWatch/extends/configDir-template.js index 3184ebe8750e3..9f52dc3e5f12c 100644 --- a/tests/baselines/reference/tscWatch/extends/configDir-template.js +++ b/tests/baselines/reference/tscWatch/extends/configDir-template.js @@ -360,6 +360,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Reloading config file: /home/src/projects/myproject/tsconfig.json diff --git a/tests/baselines/reference/tscWatch/extends/resolves-the-symlink-path.js b/tests/baselines/reference/tscWatch/extends/resolves-the-symlink-path.js index 656522a210db8..6256657658c41 100644 --- a/tests/baselines/reference/tscWatch/extends/resolves-the-symlink-path.js +++ b/tests/baselines/reference/tscWatch/extends/resolves-the-symlink-path.js @@ -81,7 +81,7 @@ export declare const x = 10; //// [/users/user/projects/myproject/src/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"6873164248-// some comment\nexport const x = 10;\n","signature":"-6821242887-export declare const x = 10;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"removeComments":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"6873164248-// some comment\nexport const x = 10;\n","signature":"-6821242887-export declare const x = 10;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"removeComments":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/users/user/projects/myproject/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -123,15 +123,10 @@ export declare const x = 10; "composite": true, "removeComments": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 823 + "size": 769 } diff --git a/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/self-name-package-reference.js b/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/self-name-package-reference.js index 5976009370d86..0bbff3b3dc888 100644 --- a/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/self-name-package-reference.js +++ b/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/self-name-package-reference.js @@ -79,7 +79,7 @@ export declare function thing(): void; //// [/Users/name/projects/web/dist/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.esnext.full.d.ts","../index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"14361483761-import * as me from \"@this/package\";\nme.thing();\nexport function thing(): void {}\n","signature":"-2724770439-export declare function thing(): void;\n","impliedFormat":99}],"root":[2],"options":{"composite":true,"declarationDir":"../types","module":199,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[2,1]],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../types/index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.esnext.full.d.ts","../index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"14361483761-import * as me from \"@this/package\";\nme.thing();\nexport function thing(): void {}\n","signature":"-2724770439-export declare function thing(): void;\n","impliedFormat":99}],"root":[2],"options":{"composite":true,"declarationDir":"../types","module":199,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[2,1]],"latestChangedDtsFile":"../types/index.d.ts"},"version":"FakeTSVersion"} //// [/Users/name/projects/web/dist/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -133,14 +133,10 @@ export declare function thing(): void; "../index.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.esnext.full.d.ts", - "../index.ts" - ], "latestChangedDtsFile": "../types/index.d.ts" }, "version": "FakeTSVersion", - "size": 961 + "size": 926 } diff --git a/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-Windows-style-drive-root-is-lowercase.js b/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-Windows-style-drive-root-is-lowercase.js index 3fa2df3844fc7..5c4a1b745e69b 100644 --- a/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-Windows-style-drive-root-is-lowercase.js +++ b/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-Windows-style-drive-root-is-lowercase.js @@ -136,6 +136,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-Windows-style-drive-root-is-uppercase.js b/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-Windows-style-drive-root-is-uppercase.js index 683163e062f49..1bbcf7aaf84a0 100644 --- a/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-Windows-style-drive-root-is-uppercase.js +++ b/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-Windows-style-drive-root-is-uppercase.js @@ -136,6 +136,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-both-directory-symlink-target-and-import-match-disk.js b/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-both-directory-symlink-target-and-import-match-disk.js index 47121f3fc5462..b448847a55fda 100644 --- a/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-both-directory-symlink-target-and-import-match-disk.js +++ b/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-both-directory-symlink-target-and-import-match-disk.js @@ -202,6 +202,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program diff --git a/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-both-file-symlink-target-and-import-match-disk.js b/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-both-file-symlink-target-and-import-match-disk.js index c1697dff5d363..f020c9635e300 100644 --- a/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-both-file-symlink-target-and-import-match-disk.js +++ b/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-both-file-symlink-target-and-import-match-disk.js @@ -184,6 +184,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program diff --git a/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-changing-module-name-with-different-casing.js b/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-changing-module-name-with-different-casing.js index 7e3beb775127c..9eb0075fe131a 100644 --- a/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-changing-module-name-with-different-casing.js +++ b/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-changing-module-name-with-different-casing.js @@ -121,6 +121,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-directory-symlink-target-matches-disk-but-import-does-not.js b/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-directory-symlink-target-matches-disk-but-import-does-not.js index 34d29803273d1..e9f6bdcfd9053 100644 --- a/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-directory-symlink-target-matches-disk-but-import-does-not.js +++ b/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-directory-symlink-target-matches-disk-but-import-does-not.js @@ -202,6 +202,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program diff --git a/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-file-is-included-from-multiple-places-with-different-casing.js b/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-file-is-included-from-multiple-places-with-different-casing.js new file mode 100644 index 0000000000000..8eece77e854b0 --- /dev/null +++ b/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-file-is-included-from-multiple-places-with-different-casing.js @@ -0,0 +1,977 @@ +currentDirectory:: /home/src/projects/project useCaseSensitiveFileNames: false +Input:: +//// [/home/src/projects/project/src/struct.d.ts] +import * as xs1 from "fp-ts/lib/Struct"; +import * as xs2 from "fp-ts/lib/struct"; +import * as xs3 from "./Struct"; +import * as xs4 from "./struct"; + + +//// [/home/src/projects/project/src/anotherFile.ts] +import * as xs1 from "fp-ts/lib/Struct"; +import * as xs2 from "fp-ts/lib/struct"; +import * as xs3 from "./Struct"; +import * as xs4 from "./struct"; + + +//// [/home/src/projects/project/src/oneMore.ts] +import * as xs1 from "fp-ts/lib/Struct"; +import * as xs2 from "fp-ts/lib/struct"; +import * as xs3 from "./Struct"; +import * as xs4 from "./struct"; + + +//// [/home/src/projects/project/tsconfig.json] +{} + +//// [/home/src/projects/project/node_modules/fp-ts/lib/struct.d.ts] +export function foo(): void + +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + + +/a/lib/tsc.js -w --explainFiles +Output:: +>> Screen clear +[HH:MM:SS AM] Starting compilation in watch mode... + +src/anotherFile.ts:2:22 - error TS1149: File name '/home/src/projects/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/home/src/projects/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. + The file is in the program because: + Imported via "fp-ts/lib/Struct" from file '/home/src/projects/project/src/anotherFile.ts' + Imported via "fp-ts/lib/struct" from file '/home/src/projects/project/src/anotherFile.ts' + Imported via "fp-ts/lib/Struct" from file '/home/src/projects/project/src/Struct.d.ts' + Imported via "fp-ts/lib/struct" from file '/home/src/projects/project/src/Struct.d.ts' + Imported via "fp-ts/lib/Struct" from file '/home/src/projects/project/src/oneMore.ts' + Imported via "fp-ts/lib/struct" from file '/home/src/projects/project/src/oneMore.ts' + +2 import * as xs2 from "fp-ts/lib/struct"; +   ~~~~~~~~~~~~~~~~~~ + + src/anotherFile.ts:1:22 + 1 import * as xs1 from "fp-ts/lib/Struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + src/Struct.d.ts:1:22 + 1 import * as xs1 from "fp-ts/lib/Struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + src/Struct.d.ts:2:22 + 2 import * as xs2 from "fp-ts/lib/struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + src/oneMore.ts:1:22 + 1 import * as xs1 from "fp-ts/lib/Struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + src/oneMore.ts:2:22 + 2 import * as xs2 from "fp-ts/lib/struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + +src/anotherFile.ts:3:22 - error TS1261: Already included file name '/home/src/projects/project/src/Struct.d.ts' differs from file name '/home/src/projects/project/src/struct.d.ts' only in casing. + The file is in the program because: + Imported via "./Struct" from file '/home/src/projects/project/src/anotherFile.ts' + Imported via "./Struct" from file '/home/src/projects/project/src/Struct.d.ts' + Imported via "./struct" from file '/home/src/projects/project/src/Struct.d.ts' + Imported via "./struct" from file '/home/src/projects/project/src/anotherFile.ts' + Imported via "./Struct" from file '/home/src/projects/project/src/oneMore.ts' + Imported via "./struct" from file '/home/src/projects/project/src/oneMore.ts' + Matched by default include pattern '**/*' + +3 import * as xs3 from "./Struct"; +   ~~~~~~~~~~ + + src/Struct.d.ts:3:22 + 3 import * as xs3 from "./Struct"; +    ~~~~~~~~~~ + File is included via import here. + src/Struct.d.ts:4:22 + 4 import * as xs4 from "./struct"; +    ~~~~~~~~~~ + File is included via import here. + src/anotherFile.ts:4:22 + 4 import * as xs4 from "./struct"; +    ~~~~~~~~~~ + File is included via import here. + src/oneMore.ts:3:22 + 3 import * as xs3 from "./Struct"; +    ~~~~~~~~~~ + File is included via import here. + src/oneMore.ts:4:22 + 4 import * as xs4 from "./struct"; +    ~~~~~~~~~~ + File is included via import here. + +src/anotherFile.ts:4:22 - error TS1149: File name '/home/src/projects/project/src/struct.d.ts' differs from already included file name '/home/src/projects/project/src/Struct.d.ts' only in casing. + The file is in the program because: + Imported via "./Struct" from file '/home/src/projects/project/src/anotherFile.ts' + Imported via "./Struct" from file '/home/src/projects/project/src/Struct.d.ts' + Imported via "./struct" from file '/home/src/projects/project/src/Struct.d.ts' + Imported via "./struct" from file '/home/src/projects/project/src/anotherFile.ts' + Imported via "./Struct" from file '/home/src/projects/project/src/oneMore.ts' + Imported via "./struct" from file '/home/src/projects/project/src/oneMore.ts' + Matched by default include pattern '**/*' + +4 import * as xs4 from "./struct"; +   ~~~~~~~~~~ + + src/anotherFile.ts:3:22 + 3 import * as xs3 from "./Struct"; +    ~~~~~~~~~~ + File is included via import here. + src/Struct.d.ts:3:22 + 3 import * as xs3 from "./Struct"; +    ~~~~~~~~~~ + File is included via import here. + src/Struct.d.ts:4:22 + 4 import * as xs4 from "./struct"; +    ~~~~~~~~~~ + File is included via import here. + src/oneMore.ts:3:22 + 3 import * as xs3 from "./Struct"; +    ~~~~~~~~~~ + File is included via import here. + src/oneMore.ts:4:22 + 4 import * as xs4 from "./struct"; +    ~~~~~~~~~~ + File is included via import here. + +src/oneMore.ts:2:22 - error TS1149: File name '/home/src/projects/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/home/src/projects/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. + The file is in the program because: + Imported via "fp-ts/lib/Struct" from file '/home/src/projects/project/src/anotherFile.ts' + Imported via "fp-ts/lib/struct" from file '/home/src/projects/project/src/anotherFile.ts' + Imported via "fp-ts/lib/Struct" from file '/home/src/projects/project/src/Struct.d.ts' + Imported via "fp-ts/lib/struct" from file '/home/src/projects/project/src/Struct.d.ts' + Imported via "fp-ts/lib/Struct" from file '/home/src/projects/project/src/oneMore.ts' + Imported via "fp-ts/lib/struct" from file '/home/src/projects/project/src/oneMore.ts' + +2 import * as xs2 from "fp-ts/lib/struct"; +   ~~~~~~~~~~~~~~~~~~ + + src/anotherFile.ts:1:22 + 1 import * as xs1 from "fp-ts/lib/Struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + src/anotherFile.ts:2:22 + 2 import * as xs2 from "fp-ts/lib/struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + src/Struct.d.ts:1:22 + 1 import * as xs1 from "fp-ts/lib/Struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + src/Struct.d.ts:2:22 + 2 import * as xs2 from "fp-ts/lib/struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + src/oneMore.ts:1:22 + 1 import * as xs1 from "fp-ts/lib/Struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + +src/oneMore.ts:4:22 - error TS1149: File name '/home/src/projects/project/src/struct.d.ts' differs from already included file name '/home/src/projects/project/src/Struct.d.ts' only in casing. + The file is in the program because: + Imported via "./Struct" from file '/home/src/projects/project/src/anotherFile.ts' + Imported via "./Struct" from file '/home/src/projects/project/src/Struct.d.ts' + Imported via "./struct" from file '/home/src/projects/project/src/Struct.d.ts' + Imported via "./struct" from file '/home/src/projects/project/src/anotherFile.ts' + Imported via "./Struct" from file '/home/src/projects/project/src/oneMore.ts' + Imported via "./struct" from file '/home/src/projects/project/src/oneMore.ts' + Matched by default include pattern '**/*' + +4 import * as xs4 from "./struct"; +   ~~~~~~~~~~ + + src/anotherFile.ts:3:22 + 3 import * as xs3 from "./Struct"; +    ~~~~~~~~~~ + File is included via import here. + src/Struct.d.ts:3:22 + 3 import * as xs3 from "./Struct"; +    ~~~~~~~~~~ + File is included via import here. + src/Struct.d.ts:4:22 + 4 import * as xs4 from "./struct"; +    ~~~~~~~~~~ + File is included via import here. + src/anotherFile.ts:4:22 + 4 import * as xs4 from "./struct"; +    ~~~~~~~~~~ + File is included via import here. + src/oneMore.ts:3:22 + 3 import * as xs3 from "./Struct"; +    ~~~~~~~~~~ + File is included via import here. + +src/Struct.d.ts:2:22 - error TS1149: File name '/home/src/projects/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/home/src/projects/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. + The file is in the program because: + Imported via "fp-ts/lib/Struct" from file '/home/src/projects/project/src/anotherFile.ts' + Imported via "fp-ts/lib/struct" from file '/home/src/projects/project/src/anotherFile.ts' + Imported via "fp-ts/lib/Struct" from file '/home/src/projects/project/src/Struct.d.ts' + Imported via "fp-ts/lib/struct" from file '/home/src/projects/project/src/Struct.d.ts' + Imported via "fp-ts/lib/Struct" from file '/home/src/projects/project/src/oneMore.ts' + Imported via "fp-ts/lib/struct" from file '/home/src/projects/project/src/oneMore.ts' + +2 import * as xs2 from "fp-ts/lib/struct"; +   ~~~~~~~~~~~~~~~~~~ + + src/anotherFile.ts:1:22 + 1 import * as xs1 from "fp-ts/lib/Struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + src/anotherFile.ts:2:22 + 2 import * as xs2 from "fp-ts/lib/struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + src/Struct.d.ts:1:22 + 1 import * as xs1 from "fp-ts/lib/Struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + src/oneMore.ts:1:22 + 1 import * as xs1 from "fp-ts/lib/Struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + src/oneMore.ts:2:22 + 2 import * as xs2 from "fp-ts/lib/struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + +src/Struct.d.ts:4:22 - error TS1149: File name '/home/src/projects/project/src/struct.d.ts' differs from already included file name '/home/src/projects/project/src/Struct.d.ts' only in casing. + The file is in the program because: + Imported via "./Struct" from file '/home/src/projects/project/src/anotherFile.ts' + Imported via "./Struct" from file '/home/src/projects/project/src/Struct.d.ts' + Imported via "./struct" from file '/home/src/projects/project/src/Struct.d.ts' + Imported via "./struct" from file '/home/src/projects/project/src/anotherFile.ts' + Imported via "./Struct" from file '/home/src/projects/project/src/oneMore.ts' + Imported via "./struct" from file '/home/src/projects/project/src/oneMore.ts' + Matched by default include pattern '**/*' + +4 import * as xs4 from "./struct"; +   ~~~~~~~~~~ + + src/anotherFile.ts:3:22 + 3 import * as xs3 from "./Struct"; +    ~~~~~~~~~~ + File is included via import here. + src/Struct.d.ts:3:22 + 3 import * as xs3 from "./Struct"; +    ~~~~~~~~~~ + File is included via import here. + src/anotherFile.ts:4:22 + 4 import * as xs4 from "./struct"; +    ~~~~~~~~~~ + File is included via import here. + src/oneMore.ts:3:22 + 3 import * as xs3 from "./Struct"; +    ~~~~~~~~~~ + File is included via import here. + src/oneMore.ts:4:22 + 4 import * as xs4 from "./struct"; +    ~~~~~~~~~~ + File is included via import here. + +../../../../a/lib/lib.d.ts + Default library for target 'es5' +node_modules/fp-ts/lib/Struct.d.ts + Imported via "fp-ts/lib/Struct" from file 'src/anotherFile.ts' + Imported via "fp-ts/lib/struct" from file 'src/anotherFile.ts' + Imported via "fp-ts/lib/Struct" from file 'src/Struct.d.ts' + Imported via "fp-ts/lib/struct" from file 'src/Struct.d.ts' + Imported via "fp-ts/lib/Struct" from file 'src/oneMore.ts' + Imported via "fp-ts/lib/struct" from file 'src/oneMore.ts' +src/Struct.d.ts + Imported via "./Struct" from file 'src/anotherFile.ts' + Imported via "./Struct" from file 'src/Struct.d.ts' + Imported via "./struct" from file 'src/Struct.d.ts' + Imported via "./struct" from file 'src/anotherFile.ts' + Imported via "./Struct" from file 'src/oneMore.ts' + Imported via "./struct" from file 'src/oneMore.ts' + Matched by default include pattern '**/*' +src/anotherFile.ts + Matched by default include pattern '**/*' +src/oneMore.ts + Matched by default include pattern '**/*' +[HH:MM:SS AM] Found 7 errors. Watching for file changes. + + + +//// [/home/src/projects/project/src/anotherFile.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); + + +//// [/home/src/projects/project/src/oneMore.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); + + + +PolledWatches:: +/home/src/projects/node_modules/@types: *new* + {"pollingInterval":500} +/home/src/projects/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/node_modules/@types: *new* + {"pollingInterval":500} +/home/src/projects/project/node_modules/fp-ts/lib/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/node_modules/fp-ts/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/node_modules/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/src/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: *new* + {} +/home/src/projects/project/node_modules/fp-ts/lib/Struct.d.ts: *new* + {} +/home/src/projects/project/src/Struct.d.ts: *new* + {} +/home/src/projects/project/src/anotherFile.ts: *new* + {} +/home/src/projects/project/src/oneMore.ts: *new* + {} +/home/src/projects/project/tsconfig.json: *new* + {} + +FsWatchesRecursive:: +/home/src/projects/project: *new* + {} +/home/src/projects/project/node_modules: *new* + {} +/home/src/projects/project/src: *new* + {} + +Program root files: [ + "/home/src/projects/project/src/anotherFile.ts", + "/home/src/projects/project/src/oneMore.ts", + "/home/src/projects/project/src/struct.d.ts" +] +Program options: { + "watch": true, + "explainFiles": true, + "configFilePath": "/home/src/projects/project/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/home/src/projects/project/node_modules/fp-ts/lib/Struct.d.ts +/home/src/projects/project/src/Struct.d.ts +/home/src/projects/project/src/anotherFile.ts +/home/src/projects/project/src/oneMore.ts + +Semantic diagnostics in builder refreshed for:: +/a/lib/lib.d.ts +/home/src/projects/project/node_modules/fp-ts/lib/Struct.d.ts +/home/src/projects/project/src/Struct.d.ts +/home/src/projects/project/src/anotherFile.ts +/home/src/projects/project/src/oneMore.ts + +Shape signatures in builder refreshed for:: +/a/lib/lib.d.ts (used version) +/home/src/projects/project/node_modules/fp-ts/lib/struct.d.ts (used version) +/home/src/projects/project/src/struct.d.ts (used version) +/home/src/projects/project/src/anotherfile.ts (used version) +/home/src/projects/project/src/onemore.ts (used version) + +exitCode:: ExitStatus.undefined + +Change:: change to reuse imports + +Input:: +//// [/home/src/projects/project/src/struct.d.ts] +import * as xs1 from "fp-ts/lib/Struct"; +import * as xs2 from "fp-ts/lib/struct"; +import * as xs3 from "./Struct"; +import * as xs4 from "./struct"; +export const y = 10; + + +Timeout callback:: count: 1 +1: timerToUpdateProgram *new* + +Before running Timeout callback:: count: 1 +1: timerToUpdateProgram + +Host is moving to new time +After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +src/anotherFile.ts:2:22 - error TS1149: File name '/home/src/projects/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/home/src/projects/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. + The file is in the program because: + Imported via "fp-ts/lib/Struct" from file '/home/src/projects/project/src/anotherFile.ts' + Imported via "fp-ts/lib/struct" from file '/home/src/projects/project/src/anotherFile.ts' + Imported via "fp-ts/lib/Struct" from file '/home/src/projects/project/src/Struct.d.ts' + Imported via "fp-ts/lib/struct" from file '/home/src/projects/project/src/Struct.d.ts' + Imported via "fp-ts/lib/Struct" from file '/home/src/projects/project/src/oneMore.ts' + Imported via "fp-ts/lib/struct" from file '/home/src/projects/project/src/oneMore.ts' + +2 import * as xs2 from "fp-ts/lib/struct"; +   ~~~~~~~~~~~~~~~~~~ + + src/anotherFile.ts:1:22 + 1 import * as xs1 from "fp-ts/lib/Struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + src/Struct.d.ts:1:22 + 1 import * as xs1 from "fp-ts/lib/Struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + src/Struct.d.ts:2:22 + 2 import * as xs2 from "fp-ts/lib/struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + src/oneMore.ts:1:22 + 1 import * as xs1 from "fp-ts/lib/Struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + src/oneMore.ts:2:22 + 2 import * as xs2 from "fp-ts/lib/struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + +src/anotherFile.ts:3:22 - error TS1261: Already included file name '/home/src/projects/project/src/Struct.d.ts' differs from file name '/home/src/projects/project/src/struct.d.ts' only in casing. + The file is in the program because: + Imported via "./Struct" from file '/home/src/projects/project/src/anotherFile.ts' + Imported via "./Struct" from file '/home/src/projects/project/src/Struct.d.ts' + Imported via "./struct" from file '/home/src/projects/project/src/Struct.d.ts' + Imported via "./struct" from file '/home/src/projects/project/src/anotherFile.ts' + Imported via "./Struct" from file '/home/src/projects/project/src/oneMore.ts' + Imported via "./struct" from file '/home/src/projects/project/src/oneMore.ts' + Matched by default include pattern '**/*' + +3 import * as xs3 from "./Struct"; +   ~~~~~~~~~~ + + src/Struct.d.ts:3:22 + 3 import * as xs3 from "./Struct"; +    ~~~~~~~~~~ + File is included via import here. + src/Struct.d.ts:4:22 + 4 import * as xs4 from "./struct"; +    ~~~~~~~~~~ + File is included via import here. + src/anotherFile.ts:4:22 + 4 import * as xs4 from "./struct"; +    ~~~~~~~~~~ + File is included via import here. + src/oneMore.ts:3:22 + 3 import * as xs3 from "./Struct"; +    ~~~~~~~~~~ + File is included via import here. + src/oneMore.ts:4:22 + 4 import * as xs4 from "./struct"; +    ~~~~~~~~~~ + File is included via import here. + +src/anotherFile.ts:4:22 - error TS1149: File name '/home/src/projects/project/src/struct.d.ts' differs from already included file name '/home/src/projects/project/src/Struct.d.ts' only in casing. + The file is in the program because: + Imported via "./Struct" from file '/home/src/projects/project/src/anotherFile.ts' + Imported via "./Struct" from file '/home/src/projects/project/src/Struct.d.ts' + Imported via "./struct" from file '/home/src/projects/project/src/Struct.d.ts' + Imported via "./struct" from file '/home/src/projects/project/src/anotherFile.ts' + Imported via "./Struct" from file '/home/src/projects/project/src/oneMore.ts' + Imported via "./struct" from file '/home/src/projects/project/src/oneMore.ts' + Matched by default include pattern '**/*' + +4 import * as xs4 from "./struct"; +   ~~~~~~~~~~ + + src/anotherFile.ts:3:22 + 3 import * as xs3 from "./Struct"; +    ~~~~~~~~~~ + File is included via import here. + src/Struct.d.ts:3:22 + 3 import * as xs3 from "./Struct"; +    ~~~~~~~~~~ + File is included via import here. + src/Struct.d.ts:4:22 + 4 import * as xs4 from "./struct"; +    ~~~~~~~~~~ + File is included via import here. + src/oneMore.ts:3:22 + 3 import * as xs3 from "./Struct"; +    ~~~~~~~~~~ + File is included via import here. + src/oneMore.ts:4:22 + 4 import * as xs4 from "./struct"; +    ~~~~~~~~~~ + File is included via import here. + +src/oneMore.ts:2:22 - error TS1149: File name '/home/src/projects/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/home/src/projects/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. + The file is in the program because: + Imported via "fp-ts/lib/Struct" from file '/home/src/projects/project/src/anotherFile.ts' + Imported via "fp-ts/lib/struct" from file '/home/src/projects/project/src/anotherFile.ts' + Imported via "fp-ts/lib/Struct" from file '/home/src/projects/project/src/Struct.d.ts' + Imported via "fp-ts/lib/struct" from file '/home/src/projects/project/src/Struct.d.ts' + Imported via "fp-ts/lib/Struct" from file '/home/src/projects/project/src/oneMore.ts' + Imported via "fp-ts/lib/struct" from file '/home/src/projects/project/src/oneMore.ts' + +2 import * as xs2 from "fp-ts/lib/struct"; +   ~~~~~~~~~~~~~~~~~~ + + src/anotherFile.ts:1:22 + 1 import * as xs1 from "fp-ts/lib/Struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + src/anotherFile.ts:2:22 + 2 import * as xs2 from "fp-ts/lib/struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + src/Struct.d.ts:1:22 + 1 import * as xs1 from "fp-ts/lib/Struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + src/Struct.d.ts:2:22 + 2 import * as xs2 from "fp-ts/lib/struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + src/oneMore.ts:1:22 + 1 import * as xs1 from "fp-ts/lib/Struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + +src/oneMore.ts:4:22 - error TS1149: File name '/home/src/projects/project/src/struct.d.ts' differs from already included file name '/home/src/projects/project/src/Struct.d.ts' only in casing. + The file is in the program because: + Imported via "./Struct" from file '/home/src/projects/project/src/anotherFile.ts' + Imported via "./Struct" from file '/home/src/projects/project/src/Struct.d.ts' + Imported via "./struct" from file '/home/src/projects/project/src/Struct.d.ts' + Imported via "./struct" from file '/home/src/projects/project/src/anotherFile.ts' + Imported via "./Struct" from file '/home/src/projects/project/src/oneMore.ts' + Imported via "./struct" from file '/home/src/projects/project/src/oneMore.ts' + Matched by default include pattern '**/*' + +4 import * as xs4 from "./struct"; +   ~~~~~~~~~~ + + src/anotherFile.ts:3:22 + 3 import * as xs3 from "./Struct"; +    ~~~~~~~~~~ + File is included via import here. + src/Struct.d.ts:3:22 + 3 import * as xs3 from "./Struct"; +    ~~~~~~~~~~ + File is included via import here. + src/Struct.d.ts:4:22 + 4 import * as xs4 from "./struct"; +    ~~~~~~~~~~ + File is included via import here. + src/anotherFile.ts:4:22 + 4 import * as xs4 from "./struct"; +    ~~~~~~~~~~ + File is included via import here. + src/oneMore.ts:3:22 + 3 import * as xs3 from "./Struct"; +    ~~~~~~~~~~ + File is included via import here. + +src/Struct.d.ts:2:22 - error TS1149: File name '/home/src/projects/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/home/src/projects/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. + The file is in the program because: + Imported via "fp-ts/lib/Struct" from file '/home/src/projects/project/src/anotherFile.ts' + Imported via "fp-ts/lib/struct" from file '/home/src/projects/project/src/anotherFile.ts' + Imported via "fp-ts/lib/Struct" from file '/home/src/projects/project/src/Struct.d.ts' + Imported via "fp-ts/lib/struct" from file '/home/src/projects/project/src/Struct.d.ts' + Imported via "fp-ts/lib/Struct" from file '/home/src/projects/project/src/oneMore.ts' + Imported via "fp-ts/lib/struct" from file '/home/src/projects/project/src/oneMore.ts' + +2 import * as xs2 from "fp-ts/lib/struct"; +   ~~~~~~~~~~~~~~~~~~ + + src/anotherFile.ts:1:22 + 1 import * as xs1 from "fp-ts/lib/Struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + src/anotherFile.ts:2:22 + 2 import * as xs2 from "fp-ts/lib/struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + src/Struct.d.ts:1:22 + 1 import * as xs1 from "fp-ts/lib/Struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + src/oneMore.ts:1:22 + 1 import * as xs1 from "fp-ts/lib/Struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + src/oneMore.ts:2:22 + 2 import * as xs2 from "fp-ts/lib/struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + +src/Struct.d.ts:4:22 - error TS1149: File name '/home/src/projects/project/src/struct.d.ts' differs from already included file name '/home/src/projects/project/src/Struct.d.ts' only in casing. + The file is in the program because: + Imported via "./Struct" from file '/home/src/projects/project/src/anotherFile.ts' + Imported via "./Struct" from file '/home/src/projects/project/src/Struct.d.ts' + Imported via "./struct" from file '/home/src/projects/project/src/Struct.d.ts' + Imported via "./struct" from file '/home/src/projects/project/src/anotherFile.ts' + Imported via "./Struct" from file '/home/src/projects/project/src/oneMore.ts' + Imported via "./struct" from file '/home/src/projects/project/src/oneMore.ts' + Matched by default include pattern '**/*' + +4 import * as xs4 from "./struct"; +   ~~~~~~~~~~ + + src/anotherFile.ts:3:22 + 3 import * as xs3 from "./Struct"; +    ~~~~~~~~~~ + File is included via import here. + src/Struct.d.ts:3:22 + 3 import * as xs3 from "./Struct"; +    ~~~~~~~~~~ + File is included via import here. + src/anotherFile.ts:4:22 + 4 import * as xs4 from "./struct"; +    ~~~~~~~~~~ + File is included via import here. + src/oneMore.ts:3:22 + 3 import * as xs3 from "./Struct"; +    ~~~~~~~~~~ + File is included via import here. + src/oneMore.ts:4:22 + 4 import * as xs4 from "./struct"; +    ~~~~~~~~~~ + File is included via import here. + +../../../../a/lib/lib.d.ts + Default library for target 'es5' +node_modules/fp-ts/lib/Struct.d.ts + Imported via "fp-ts/lib/Struct" from file 'src/anotherFile.ts' + Imported via "fp-ts/lib/struct" from file 'src/anotherFile.ts' + Imported via "fp-ts/lib/Struct" from file 'src/Struct.d.ts' + Imported via "fp-ts/lib/struct" from file 'src/Struct.d.ts' + Imported via "fp-ts/lib/Struct" from file 'src/oneMore.ts' + Imported via "fp-ts/lib/struct" from file 'src/oneMore.ts' +src/Struct.d.ts + Imported via "./Struct" from file 'src/anotherFile.ts' + Imported via "./Struct" from file 'src/Struct.d.ts' + Imported via "./struct" from file 'src/Struct.d.ts' + Imported via "./struct" from file 'src/anotherFile.ts' + Imported via "./Struct" from file 'src/oneMore.ts' + Imported via "./struct" from file 'src/oneMore.ts' + Matched by default include pattern '**/*' +src/anotherFile.ts + Matched by default include pattern '**/*' +src/oneMore.ts + Matched by default include pattern '**/*' +[HH:MM:SS AM] Found 7 errors. Watching for file changes. + + + +//// [/home/src/projects/project/src/anotherFile.js] file written with same contents +//// [/home/src/projects/project/src/oneMore.js] file written with same contents + + +Program root files: [ + "/home/src/projects/project/src/anotherFile.ts", + "/home/src/projects/project/src/oneMore.ts", + "/home/src/projects/project/src/struct.d.ts" +] +Program options: { + "watch": true, + "explainFiles": true, + "configFilePath": "/home/src/projects/project/tsconfig.json" +} +Program structureReused: Completely +Program files:: +/a/lib/lib.d.ts +/home/src/projects/project/node_modules/fp-ts/lib/Struct.d.ts +/home/src/projects/project/src/Struct.d.ts +/home/src/projects/project/src/anotherFile.ts +/home/src/projects/project/src/oneMore.ts + +Semantic diagnostics in builder refreshed for:: +/home/src/projects/project/src/Struct.d.ts +/home/src/projects/project/src/anotherFile.ts +/home/src/projects/project/src/oneMore.ts + +Shape signatures in builder refreshed for:: +/home/src/projects/project/src/struct.d.ts (used version) +/home/src/projects/project/src/onemore.ts (computed .d.ts) +/home/src/projects/project/src/anotherfile.ts (computed .d.ts) + +exitCode:: ExitStatus.undefined + +Change:: change to update imports + +Input:: +//// [/home/src/projects/project/src/struct.d.ts] +import * as xs1 from "fp-ts/lib/Struct"; +import * as xs2 from "fp-ts/lib/struct"; +import * as xs3 from "./Struct"; + + + +Timeout callback:: count: 1 +2: timerToUpdateProgram *new* + +Before running Timeout callback:: count: 1 +2: timerToUpdateProgram + +Host is moving to new time +After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +src/anotherFile.ts:2:22 - error TS1149: File name '/home/src/projects/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/home/src/projects/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. + The file is in the program because: + Imported via "fp-ts/lib/Struct" from file '/home/src/projects/project/src/anotherFile.ts' + Imported via "fp-ts/lib/struct" from file '/home/src/projects/project/src/anotherFile.ts' + Imported via "fp-ts/lib/Struct" from file '/home/src/projects/project/src/Struct.d.ts' + Imported via "fp-ts/lib/struct" from file '/home/src/projects/project/src/Struct.d.ts' + Imported via "fp-ts/lib/Struct" from file '/home/src/projects/project/src/oneMore.ts' + Imported via "fp-ts/lib/struct" from file '/home/src/projects/project/src/oneMore.ts' + +2 import * as xs2 from "fp-ts/lib/struct"; +   ~~~~~~~~~~~~~~~~~~ + + src/anotherFile.ts:1:22 + 1 import * as xs1 from "fp-ts/lib/Struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + src/Struct.d.ts:1:22 + 1 import * as xs1 from "fp-ts/lib/Struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + src/Struct.d.ts:2:22 + 2 import * as xs2 from "fp-ts/lib/struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + src/oneMore.ts:1:22 + 1 import * as xs1 from "fp-ts/lib/Struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + src/oneMore.ts:2:22 + 2 import * as xs2 from "fp-ts/lib/struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + +src/anotherFile.ts:3:22 - error TS1261: Already included file name '/home/src/projects/project/src/Struct.d.ts' differs from file name '/home/src/projects/project/src/struct.d.ts' only in casing. + The file is in the program because: + Imported via "./Struct" from file '/home/src/projects/project/src/anotherFile.ts' + Imported via "./Struct" from file '/home/src/projects/project/src/Struct.d.ts' + Imported via "./struct" from file '/home/src/projects/project/src/anotherFile.ts' + Imported via "./Struct" from file '/home/src/projects/project/src/oneMore.ts' + Imported via "./struct" from file '/home/src/projects/project/src/oneMore.ts' + Matched by default include pattern '**/*' + +3 import * as xs3 from "./Struct"; +   ~~~~~~~~~~ + + src/Struct.d.ts:3:22 + 3 import * as xs3 from "./Struct"; +    ~~~~~~~~~~ + File is included via import here. + src/anotherFile.ts:4:22 + 4 import * as xs4 from "./struct"; +    ~~~~~~~~~~ + File is included via import here. + src/oneMore.ts:3:22 + 3 import * as xs3 from "./Struct"; +    ~~~~~~~~~~ + File is included via import here. + src/oneMore.ts:4:22 + 4 import * as xs4 from "./struct"; +    ~~~~~~~~~~ + File is included via import here. + +src/anotherFile.ts:4:22 - error TS1149: File name '/home/src/projects/project/src/struct.d.ts' differs from already included file name '/home/src/projects/project/src/Struct.d.ts' only in casing. + The file is in the program because: + Imported via "./Struct" from file '/home/src/projects/project/src/anotherFile.ts' + Imported via "./Struct" from file '/home/src/projects/project/src/Struct.d.ts' + Imported via "./struct" from file '/home/src/projects/project/src/anotherFile.ts' + Imported via "./Struct" from file '/home/src/projects/project/src/oneMore.ts' + Imported via "./struct" from file '/home/src/projects/project/src/oneMore.ts' + Matched by default include pattern '**/*' + +4 import * as xs4 from "./struct"; +   ~~~~~~~~~~ + + src/anotherFile.ts:3:22 + 3 import * as xs3 from "./Struct"; +    ~~~~~~~~~~ + File is included via import here. + src/Struct.d.ts:3:22 + 3 import * as xs3 from "./Struct"; +    ~~~~~~~~~~ + File is included via import here. + src/oneMore.ts:3:22 + 3 import * as xs3 from "./Struct"; +    ~~~~~~~~~~ + File is included via import here. + src/oneMore.ts:4:22 + 4 import * as xs4 from "./struct"; +    ~~~~~~~~~~ + File is included via import here. + +src/oneMore.ts:2:22 - error TS1149: File name '/home/src/projects/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/home/src/projects/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. + The file is in the program because: + Imported via "fp-ts/lib/Struct" from file '/home/src/projects/project/src/anotherFile.ts' + Imported via "fp-ts/lib/struct" from file '/home/src/projects/project/src/anotherFile.ts' + Imported via "fp-ts/lib/Struct" from file '/home/src/projects/project/src/Struct.d.ts' + Imported via "fp-ts/lib/struct" from file '/home/src/projects/project/src/Struct.d.ts' + Imported via "fp-ts/lib/Struct" from file '/home/src/projects/project/src/oneMore.ts' + Imported via "fp-ts/lib/struct" from file '/home/src/projects/project/src/oneMore.ts' + +2 import * as xs2 from "fp-ts/lib/struct"; +   ~~~~~~~~~~~~~~~~~~ + + src/anotherFile.ts:1:22 + 1 import * as xs1 from "fp-ts/lib/Struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + src/anotherFile.ts:2:22 + 2 import * as xs2 from "fp-ts/lib/struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + src/Struct.d.ts:1:22 + 1 import * as xs1 from "fp-ts/lib/Struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + src/Struct.d.ts:2:22 + 2 import * as xs2 from "fp-ts/lib/struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + src/oneMore.ts:1:22 + 1 import * as xs1 from "fp-ts/lib/Struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + +src/oneMore.ts:4:22 - error TS1149: File name '/home/src/projects/project/src/struct.d.ts' differs from already included file name '/home/src/projects/project/src/Struct.d.ts' only in casing. + The file is in the program because: + Imported via "./Struct" from file '/home/src/projects/project/src/anotherFile.ts' + Imported via "./Struct" from file '/home/src/projects/project/src/Struct.d.ts' + Imported via "./struct" from file '/home/src/projects/project/src/anotherFile.ts' + Imported via "./Struct" from file '/home/src/projects/project/src/oneMore.ts' + Imported via "./struct" from file '/home/src/projects/project/src/oneMore.ts' + Matched by default include pattern '**/*' + +4 import * as xs4 from "./struct"; +   ~~~~~~~~~~ + + src/anotherFile.ts:3:22 + 3 import * as xs3 from "./Struct"; +    ~~~~~~~~~~ + File is included via import here. + src/Struct.d.ts:3:22 + 3 import * as xs3 from "./Struct"; +    ~~~~~~~~~~ + File is included via import here. + src/anotherFile.ts:4:22 + 4 import * as xs4 from "./struct"; +    ~~~~~~~~~~ + File is included via import here. + src/oneMore.ts:3:22 + 3 import * as xs3 from "./Struct"; +    ~~~~~~~~~~ + File is included via import here. + +src/Struct.d.ts:2:22 - error TS1149: File name '/home/src/projects/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/home/src/projects/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. + The file is in the program because: + Imported via "fp-ts/lib/Struct" from file '/home/src/projects/project/src/anotherFile.ts' + Imported via "fp-ts/lib/struct" from file '/home/src/projects/project/src/anotherFile.ts' + Imported via "fp-ts/lib/Struct" from file '/home/src/projects/project/src/Struct.d.ts' + Imported via "fp-ts/lib/struct" from file '/home/src/projects/project/src/Struct.d.ts' + Imported via "fp-ts/lib/Struct" from file '/home/src/projects/project/src/oneMore.ts' + Imported via "fp-ts/lib/struct" from file '/home/src/projects/project/src/oneMore.ts' + +2 import * as xs2 from "fp-ts/lib/struct"; +   ~~~~~~~~~~~~~~~~~~ + + src/anotherFile.ts:1:22 + 1 import * as xs1 from "fp-ts/lib/Struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + src/anotherFile.ts:2:22 + 2 import * as xs2 from "fp-ts/lib/struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + src/Struct.d.ts:1:22 + 1 import * as xs1 from "fp-ts/lib/Struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + src/oneMore.ts:1:22 + 1 import * as xs1 from "fp-ts/lib/Struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + src/oneMore.ts:2:22 + 2 import * as xs2 from "fp-ts/lib/struct"; +    ~~~~~~~~~~~~~~~~~~ + File is included via import here. + +../../../../a/lib/lib.d.ts + Default library for target 'es5' +node_modules/fp-ts/lib/Struct.d.ts + Imported via "fp-ts/lib/Struct" from file 'src/anotherFile.ts' + Imported via "fp-ts/lib/struct" from file 'src/anotherFile.ts' + Imported via "fp-ts/lib/Struct" from file 'src/Struct.d.ts' + Imported via "fp-ts/lib/struct" from file 'src/Struct.d.ts' + Imported via "fp-ts/lib/Struct" from file 'src/oneMore.ts' + Imported via "fp-ts/lib/struct" from file 'src/oneMore.ts' +src/Struct.d.ts + Imported via "./Struct" from file 'src/anotherFile.ts' + Imported via "./Struct" from file 'src/Struct.d.ts' + Imported via "./struct" from file 'src/anotherFile.ts' + Imported via "./Struct" from file 'src/oneMore.ts' + Imported via "./struct" from file 'src/oneMore.ts' + Matched by default include pattern '**/*' +src/anotherFile.ts + Matched by default include pattern '**/*' +src/oneMore.ts + Matched by default include pattern '**/*' +[HH:MM:SS AM] Found 6 errors. Watching for file changes. + + + +//// [/home/src/projects/project/src/anotherFile.js] file written with same contents +//// [/home/src/projects/project/src/oneMore.js] file written with same contents + + +Program root files: [ + "/home/src/projects/project/src/anotherFile.ts", + "/home/src/projects/project/src/oneMore.ts", + "/home/src/projects/project/src/struct.d.ts" +] +Program options: { + "watch": true, + "explainFiles": true, + "configFilePath": "/home/src/projects/project/tsconfig.json" +} +Program structureReused: SafeModules +Program files:: +/a/lib/lib.d.ts +/home/src/projects/project/node_modules/fp-ts/lib/Struct.d.ts +/home/src/projects/project/src/Struct.d.ts +/home/src/projects/project/src/anotherFile.ts +/home/src/projects/project/src/oneMore.ts + +Semantic diagnostics in builder refreshed for:: +/home/src/projects/project/src/Struct.d.ts +/home/src/projects/project/src/anotherFile.ts +/home/src/projects/project/src/oneMore.ts + +Shape signatures in builder refreshed for:: +/home/src/projects/project/src/struct.d.ts (used version) +/home/src/projects/project/src/onemore.ts (computed .d.ts) +/home/src/projects/project/src/anotherfile.ts (computed .d.ts) + +exitCode:: ExitStatus.undefined diff --git a/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-file-symlink-target-matches-disk-but-import-does-not.js b/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-file-symlink-target-matches-disk-but-import-does-not.js index 6863e5649ad1d..a31c2bb8428ab 100644 --- a/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-file-symlink-target-matches-disk-but-import-does-not.js +++ b/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-file-symlink-target-matches-disk-but-import-does-not.js @@ -184,6 +184,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program diff --git a/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-import,-directory-symlink-target,-and-disk-are-all-different.js b/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-import,-directory-symlink-target,-and-disk-are-all-different.js index a6beae34acb31..1967751b08978 100644 --- a/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-import,-directory-symlink-target,-and-disk-are-all-different.js +++ b/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-import,-directory-symlink-target,-and-disk-are-all-different.js @@ -210,6 +210,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program diff --git a/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-import,-file-symlink-target,-and-disk-are-all-different.js b/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-import,-file-symlink-target,-and-disk-are-all-different.js index 4e255b115461a..9ac8c453c537a 100644 --- a/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-import,-file-symlink-target,-and-disk-are-all-different.js +++ b/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-import,-file-symlink-target,-and-disk-are-all-different.js @@ -192,6 +192,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program diff --git a/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-import-and-directory-symlink-target-agree-but-do-not-match-disk.js b/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-import-and-directory-symlink-target-agree-but-do-not-match-disk.js index 09120556a4699..67120ce615462 100644 --- a/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-import-and-directory-symlink-target-agree-but-do-not-match-disk.js +++ b/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-import-and-directory-symlink-target-agree-but-do-not-match-disk.js @@ -210,6 +210,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program diff --git a/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-import-and-file-symlink-target-agree-but-do-not-match-disk.js b/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-import-and-file-symlink-target-agree-but-do-not-match-disk.js index f339d5f69c6c9..8fe8de8212216 100644 --- a/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-import-and-file-symlink-target-agree-but-do-not-match-disk.js +++ b/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-import-and-file-symlink-target-agree-but-do-not-match-disk.js @@ -192,6 +192,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program diff --git a/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-import-matches-disk-but-directory-symlink-target-does-not.js b/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-import-matches-disk-but-directory-symlink-target-does-not.js index 90a56675eed71..cf00eed683969 100644 --- a/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-import-matches-disk-but-directory-symlink-target-does-not.js +++ b/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-import-matches-disk-but-directory-symlink-target-does-not.js @@ -210,6 +210,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program diff --git a/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-import-matches-disk-but-file-symlink-target-does-not.js b/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-import-matches-disk-but-file-symlink-target-does-not.js index d5f4e1e7da5b3..5da4bc1a8c8e6 100644 --- a/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-import-matches-disk-but-file-symlink-target-does-not.js +++ b/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-import-matches-disk-but-file-symlink-target-does-not.js @@ -192,6 +192,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program diff --git a/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-relative-information-file-location-changes.js b/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-relative-information-file-location-changes.js index 7209696045e58..c756b7240ef79 100644 --- a/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-relative-information-file-location-changes.js +++ b/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-relative-information-file-location-changes.js @@ -168,6 +168,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-renaming-file-with-different-casing.js b/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-renaming-file-with-different-casing.js index 3a62247d6909b..f56e80195b854 100644 --- a/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-renaming-file-with-different-casing.js +++ b/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-renaming-file-with-different-casing.js @@ -119,6 +119,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 4: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/incremental/editing-module-augmentation-incremental.js b/tests/baselines/reference/tscWatch/incremental/editing-module-augmentation-incremental.js index ddba3c5632b7d..1bd1347948fec 100644 --- a/tests/baselines/reference/tscWatch/incremental/editing-module-augmentation-incremental.js +++ b/tests/baselines/reference/tscWatch/incremental/editing-module-augmentation-incremental.js @@ -45,7 +45,7 @@ var classnames_1 = require("classnames"); //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/classnames/index.d.ts","./src/index.ts","./src/types/classnames.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"1239706283-export interface Result {} export default function classNames(): Result;","impliedFormat":1},{"version":"-5756287633-import classNames from \"classnames\"; classNames().foo;","impliedFormat":1},{"version":"-16510108606-export {}; declare module \"classnames\" { interface Result { foo } }","impliedFormat":1}],"root":[3,4],"options":{"module":1},"fileIdsList":[[2,4],[2]],"referencedMap":[[3,1],[4,2]],"semanticDiagnosticsPerFile":[1,2,3,4]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/classnames/index.d.ts","./src/index.ts","./src/types/classnames.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"1239706283-export interface Result {} export default function classNames(): Result;","impliedFormat":1},{"version":"-5756287633-import classNames from \"classnames\"; classNames().foo;","impliedFormat":1},{"version":"-16510108606-export {}; declare module \"classnames\" { interface Result { foo } }","impliedFormat":1}],"root":[3,4],"options":{"module":1},"fileIdsList":[[2,4],[2]],"referencedMap":[[3,1],[4,2]]},"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -126,16 +126,10 @@ var classnames_1 = require("classnames"); "./src/types/classnames.d.ts": [ "./node_modules/classnames/index.d.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./node_modules/classnames/index.d.ts", - "./src/index.ts", - "./src/types/classnames.d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1142 + "size": 1103 } @@ -189,7 +183,7 @@ Found 1 error in src/index.ts:1 //// [/users/username/projects/project/src/index.js] file written with same contents //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/classnames/index.d.ts","./src/index.ts","./src/types/classnames.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"1239706283-export interface Result {} export default function classNames(): Result;","impliedFormat":1},{"version":"-5756287633-import classNames from \"classnames\"; classNames().foo;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-14890340642-export {}; declare module \"classnames\" { interface Result {} }","impliedFormat":1}],"root":[3,4],"options":{"module":1},"fileIdsList":[[2,4],[2]],"referencedMap":[[3,1],[4,2]],"semanticDiagnosticsPerFile":[1,2,[3,[{"file":"./src/index.ts","start":50,"length":3,"code":2339,"category":1,"messageText":"Property 'foo' does not exist on type 'Result'."}]],4]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/classnames/index.d.ts","./src/index.ts","./src/types/classnames.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"1239706283-export interface Result {} export default function classNames(): Result;","impliedFormat":1},{"version":"-5756287633-import classNames from \"classnames\"; classNames().foo;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-14890340642-export {}; declare module \"classnames\" { interface Result {} }","impliedFormat":1}],"root":[3,4],"options":{"module":1},"fileIdsList":[[2,4],[2]],"referencedMap":[[3,1],[4,2]],"semanticDiagnosticsPerFile":[[3,[{"start":50,"length":3,"code":2339,"category":1,"messageText":"Property 'foo' does not exist on type 'Result'."}]]]},"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -273,13 +267,10 @@ Found 1 error in src/index.ts:1 ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./node_modules/classnames/index.d.ts", [ "./src/index.ts", [ { - "file": "./src/index.ts", "start": 50, "length": 3, "code": 2339, @@ -287,12 +278,11 @@ Found 1 error in src/index.ts:1 "messageText": "Property 'foo' does not exist on type 'Result'." } ] - ], - "./src/types/classnames.d.ts" + ] ] }, "version": "FakeTSVersion", - "size": 1317 + "size": 1287 } diff --git a/tests/baselines/reference/tscWatch/incremental/editing-module-augmentation-watch.js b/tests/baselines/reference/tscWatch/incremental/editing-module-augmentation-watch.js index 7dfd0f64a36d6..e06c33dc45e72 100644 --- a/tests/baselines/reference/tscWatch/incremental/editing-module-augmentation-watch.js +++ b/tests/baselines/reference/tscWatch/incremental/editing-module-augmentation-watch.js @@ -50,7 +50,7 @@ var classnames_1 = require("classnames"); //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/classnames/index.d.ts","./src/index.ts","./src/types/classnames.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"1239706283-export interface Result {} export default function classNames(): Result;","impliedFormat":1},{"version":"-5756287633-import classNames from \"classnames\"; classNames().foo;","impliedFormat":1},{"version":"-16510108606-export {}; declare module \"classnames\" { interface Result { foo } }","impliedFormat":1}],"root":[3,4],"options":{"module":1},"fileIdsList":[[2,4],[2]],"referencedMap":[[3,1],[4,2]],"semanticDiagnosticsPerFile":[1,2,3,4]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/classnames/index.d.ts","./src/index.ts","./src/types/classnames.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"1239706283-export interface Result {} export default function classNames(): Result;","impliedFormat":1},{"version":"-5756287633-import classNames from \"classnames\"; classNames().foo;","impliedFormat":1},{"version":"-16510108606-export {}; declare module \"classnames\" { interface Result { foo } }","impliedFormat":1}],"root":[3,4],"options":{"module":1},"fileIdsList":[[2,4],[2]],"referencedMap":[[3,1],[4,2]]},"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,16 +131,10 @@ var classnames_1 = require("classnames"); "./src/types/classnames.d.ts": [ "./node_modules/classnames/index.d.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./node_modules/classnames/index.d.ts", - "./src/index.ts", - "./src/types/classnames.d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1142 + "size": 1103 } @@ -273,7 +267,7 @@ Output:: //// [/users/username/projects/project/src/index.js] file written with same contents //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/classnames/index.d.ts","./src/index.ts","./src/types/classnames.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"1239706283-export interface Result {} export default function classNames(): Result;","impliedFormat":1},{"version":"-5756287633-import classNames from \"classnames\"; classNames().foo;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-14890340642-export {}; declare module \"classnames\" { interface Result {} }","impliedFormat":1}],"root":[3,4],"options":{"module":1},"fileIdsList":[[2,4],[2]],"referencedMap":[[3,1],[4,2]],"semanticDiagnosticsPerFile":[1,2,[3,[{"file":"./src/index.ts","start":50,"length":3,"code":2339,"category":1,"messageText":"Property 'foo' does not exist on type 'Result'."}]],4]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/classnames/index.d.ts","./src/index.ts","./src/types/classnames.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"1239706283-export interface Result {} export default function classNames(): Result;","impliedFormat":1},{"version":"-5756287633-import classNames from \"classnames\"; classNames().foo;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-14890340642-export {}; declare module \"classnames\" { interface Result {} }","impliedFormat":1}],"root":[3,4],"options":{"module":1},"fileIdsList":[[2,4],[2]],"referencedMap":[[3,1],[4,2]],"semanticDiagnosticsPerFile":[[3,[{"start":50,"length":3,"code":2339,"category":1,"messageText":"Property 'foo' does not exist on type 'Result'."}]]]},"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -357,13 +351,10 @@ Output:: ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./node_modules/classnames/index.d.ts", [ "./src/index.ts", [ { - "file": "./src/index.ts", "start": 50, "length": 3, "code": 2339, @@ -371,12 +362,11 @@ Output:: "messageText": "Property 'foo' does not exist on type 'Result'." } ] - ], - "./src/types/classnames.d.ts" + ] ] }, "version": "FakeTSVersion", - "size": 1317 + "size": 1287 } diff --git a/tests/baselines/reference/tscWatch/incremental/importHelpers-backing-types-removed-incremental.js b/tests/baselines/reference/tscWatch/incremental/importHelpers-backing-types-removed-incremental.js index 0a0ad27326380..ebd760b295432 100644 --- a/tests/baselines/reference/tscWatch/incremental/importHelpers-backing-types-removed-incremental.js +++ b/tests/baselines/reference/tscWatch/incremental/importHelpers-backing-types-removed-incremental.js @@ -48,7 +48,7 @@ exports.x = tslib_1.__assign({}); //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/tslib/index.d.ts","./index.tsx"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"1620578607-export function __assign(...args: any[]): any;","impliedFormat":1},{"version":"-14168389096-export const x = {...{}};","impliedFormat":1}],"root":[3],"options":{"importHelpers":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/tslib/index.d.ts","./index.tsx"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"1620578607-export function __assign(...args: any[]): any;","impliedFormat":1},{"version":"-14168389096-export const x = {...{}};","impliedFormat":1}],"root":[3],"options":{"importHelpers":true},"fileIdsList":[[2]],"referencedMap":[[3,1]]},"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -107,15 +107,10 @@ exports.x = tslib_1.__assign({}); "./index.tsx": [ "./node_modules/tslib/index.d.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./index.tsx", - "./node_modules/tslib/index.d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 927 + "size": 890 } @@ -164,7 +159,7 @@ Found 1 error in index.tsx:1 //// [/users/username/projects/project/index.js] file written with same contents //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./index.tsx"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14168389096-export const x = {...{}};","signature":"-6508651827-export declare const x: {};\n","impliedFormat":1}],"root":[2],"options":{"importHelpers":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,[2,[{"file":"./index.tsx","start":18,"length":5,"messageText":"This syntax requires an imported helper but module 'tslib' cannot be found.","category":1,"code":2354}]]]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./index.tsx"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14168389096-export const x = {...{}};","signature":"-6508651827-export declare const x: {};\n","impliedFormat":1}],"root":[2],"options":{"importHelpers":true},"semanticDiagnosticsPerFile":[[2,[{"start":18,"length":5,"messageText":"This syntax requires an imported helper but module 'tslib' cannot be found.","category":1,"code":2354}]]]},"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -205,14 +200,11 @@ Found 1 error in index.tsx:1 "options": { "importHelpers": true }, - "referencedMap": {}, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", [ "./index.tsx", [ { - "file": "./index.tsx", "start": 18, "length": 5, "messageText": "This syntax requires an imported helper but module 'tslib' cannot be found.", @@ -224,7 +216,7 @@ Found 1 error in index.tsx:1 ] }, "version": "FakeTSVersion", - "size": 998 + "size": 956 } diff --git a/tests/baselines/reference/tscWatch/incremental/incremental-with-circular-references-incremental.js b/tests/baselines/reference/tscWatch/incremental/incremental-with-circular-references-incremental.js index b9b6c2b4dad29..b036897956ab6 100644 --- a/tests/baselines/reference/tscWatch/incremental/incremental-with-circular-references-incremental.js +++ b/tests/baselines/reference/tscWatch/incremental/incremental-with-circular-references-incremental.js @@ -84,7 +84,7 @@ export { C } from "./c"; //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3358372745-import { A } from \"./a\";\nexport interface C {\n a: A;\n}\n","impliedFormat":1},{"version":"2102342013-import { C } from \"./c\";\nexport interface B {\n b: C;\n}\n","impliedFormat":1},{"version":"-9690779495-import { B } from \"./b\";\nexport interface A {\n b: B;\n}\n","impliedFormat":1},{"version":"1286756397-export { A } from \"./a\";\nexport { B } from \"./b\";\nexport { C } from \"./c\";\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true,"emitDeclarationOnly":true,"module":1,"target":1},"fileIdsList":[[3],[2],[4],[2,3,4]],"referencedMap":[[4,1],[3,2],[2,3],[5,4]],"semanticDiagnosticsPerFile":[1,4,3,2,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3358372745-import { A } from \"./a\";\nexport interface C {\n a: A;\n}\n","impliedFormat":1},{"version":"2102342013-import { C } from \"./c\";\nexport interface B {\n b: C;\n}\n","impliedFormat":1},{"version":"-9690779495-import { B } from \"./b\";\nexport interface A {\n b: B;\n}\n","impliedFormat":1},{"version":"1286756397-export { A } from \"./a\";\nexport { B } from \"./b\";\nexport { C } from \"./c\";\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true,"emitDeclarationOnly":true,"module":1,"target":1},"fileIdsList":[[3],[2],[4],[2,3,4]],"referencedMap":[[4,1],[3,2],[2,3],[5,4]]},"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -196,17 +196,10 @@ export { C } from "./c"; "./b.ts", "./a.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./index.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1221 + "size": 1180 } @@ -275,7 +268,7 @@ export interface A { //// [/users/username/projects/project/index.d.ts] file written with same contents //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3358372745-import { A } from \"./a\";\nexport interface C {\n a: A;\n}\n","impliedFormat":1},{"version":"2102342013-import { C } from \"./c\";\nexport interface B {\n b: C;\n}\n","impliedFormat":1},{"version":"-7623824316-import { B } from \"./b\";\nexport interface A {\n b: B;\n foo: any;\n}\n","impliedFormat":1},{"version":"1286756397-export { A } from \"./a\";\nexport { B } from \"./b\";\nexport { C } from \"./c\";\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true,"emitDeclarationOnly":true,"module":1,"target":1},"fileIdsList":[[3],[2],[4],[2,3,4]],"referencedMap":[[4,1],[3,2],[2,3],[5,4]],"semanticDiagnosticsPerFile":[1,4,3,2,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3358372745-import { A } from \"./a\";\nexport interface C {\n a: A;\n}\n","impliedFormat":1},{"version":"2102342013-import { C } from \"./c\";\nexport interface B {\n b: C;\n}\n","impliedFormat":1},{"version":"-7623824316-import { B } from \"./b\";\nexport interface A {\n b: B;\n foo: any;\n}\n","impliedFormat":1},{"version":"1286756397-export { A } from \"./a\";\nexport { B } from \"./b\";\nexport { C } from \"./c\";\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true,"emitDeclarationOnly":true,"module":1,"target":1},"fileIdsList":[[3],[2],[4],[2,3,4]],"referencedMap":[[4,1],[3,2],[2,3],[5,4]]},"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -387,17 +380,10 @@ export interface A { "./b.ts", "./a.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./index.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1236 + "size": 1195 } diff --git a/tests/baselines/reference/tscWatch/incremental/incremental-with-circular-references-watch.js b/tests/baselines/reference/tscWatch/incremental/incremental-with-circular-references-watch.js index c35260e4cc022..ba7b5069e11af 100644 --- a/tests/baselines/reference/tscWatch/incremental/incremental-with-circular-references-watch.js +++ b/tests/baselines/reference/tscWatch/incremental/incremental-with-circular-references-watch.js @@ -89,7 +89,7 @@ export { C } from "./c"; //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3358372745-import { A } from \"./a\";\nexport interface C {\n a: A;\n}\n","impliedFormat":1},{"version":"2102342013-import { C } from \"./c\";\nexport interface B {\n b: C;\n}\n","impliedFormat":1},{"version":"-9690779495-import { B } from \"./b\";\nexport interface A {\n b: B;\n}\n","impliedFormat":1},{"version":"1286756397-export { A } from \"./a\";\nexport { B } from \"./b\";\nexport { C } from \"./c\";\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true,"emitDeclarationOnly":true,"module":1,"target":1},"fileIdsList":[[3],[2],[4],[2,3,4]],"referencedMap":[[4,1],[3,2],[2,3],[5,4]],"semanticDiagnosticsPerFile":[1,4,3,2,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3358372745-import { A } from \"./a\";\nexport interface C {\n a: A;\n}\n","impliedFormat":1},{"version":"2102342013-import { C } from \"./c\";\nexport interface B {\n b: C;\n}\n","impliedFormat":1},{"version":"-9690779495-import { B } from \"./b\";\nexport interface A {\n b: B;\n}\n","impliedFormat":1},{"version":"1286756397-export { A } from \"./a\";\nexport { B } from \"./b\";\nexport { C } from \"./c\";\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true,"emitDeclarationOnly":true,"module":1,"target":1},"fileIdsList":[[3],[2],[4],[2,3,4]],"referencedMap":[[4,1],[3,2],[2,3],[5,4]]},"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -201,17 +201,10 @@ export { C } from "./c"; "./b.ts", "./a.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./index.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1221 + "size": 1180 } @@ -342,7 +335,7 @@ export interface A { //// [/users/username/projects/project/index.d.ts] file written with same contents //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3358372745-import { A } from \"./a\";\nexport interface C {\n a: A;\n}\n","impliedFormat":1},{"version":"2102342013-import { C } from \"./c\";\nexport interface B {\n b: C;\n}\n","impliedFormat":1},{"version":"-7623824316-import { B } from \"./b\";\nexport interface A {\n b: B;\n foo: any;\n}\n","impliedFormat":1},{"version":"1286756397-export { A } from \"./a\";\nexport { B } from \"./b\";\nexport { C } from \"./c\";\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true,"emitDeclarationOnly":true,"module":1,"target":1},"fileIdsList":[[3],[2],[4],[2,3,4]],"referencedMap":[[4,1],[3,2],[2,3],[5,4]],"semanticDiagnosticsPerFile":[1,4,3,2,5]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./c.ts","./b.ts","./a.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3358372745-import { A } from \"./a\";\nexport interface C {\n a: A;\n}\n","impliedFormat":1},{"version":"2102342013-import { C } from \"./c\";\nexport interface B {\n b: C;\n}\n","impliedFormat":1},{"version":"-7623824316-import { B } from \"./b\";\nexport interface A {\n b: B;\n foo: any;\n}\n","impliedFormat":1},{"version":"1286756397-export { A } from \"./a\";\nexport { B } from \"./b\";\nexport { C } from \"./c\";\n","impliedFormat":1}],"root":[[2,5]],"options":{"declaration":true,"emitDeclarationOnly":true,"module":1,"target":1},"fileIdsList":[[3],[2],[4],[2,3,4]],"referencedMap":[[4,1],[3,2],[2,3],[5,4]]},"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -454,17 +447,10 @@ export interface A { "./b.ts", "./a.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.ts", - "./c.ts", - "./index.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1236 + "size": 1195 } diff --git a/tests/baselines/reference/tscWatch/incremental/jsxImportSource-backing-types-added-incremental.js b/tests/baselines/reference/tscWatch/incremental/jsxImportSource-backing-types-added-incremental.js index ee164a18a309a..408c4dbf80433 100644 --- a/tests/baselines/reference/tscWatch/incremental/jsxImportSource-backing-types-added-incremental.js +++ b/tests/baselines/reference/tscWatch/incremental/jsxImportSource-backing-types-added-incremental.js @@ -51,7 +51,7 @@ exports.App = App; //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./index.tsx"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14760199789-export const App = () =>
    ;","impliedFormat":1}],"root":[2],"options":{"jsx":4,"jsxImportSource":"react","module":1},"referencedMap":[],"semanticDiagnosticsPerFile":[1,[2,[{"file":"./index.tsx","start":25,"length":24,"messageText":"Cannot find module 'react/jsx-runtime' or its corresponding type declarations.","category":1,"code":2307}]]]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./index.tsx"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14760199789-export const App = () =>
    ;","impliedFormat":1}],"root":[2],"options":{"jsx":4,"jsxImportSource":"react","module":1},"semanticDiagnosticsPerFile":[[2,[{"start":25,"length":24,"messageText":"Cannot find module 'react/jsx-runtime' or its corresponding type declarations.","category":1,"code":2307}]]]},"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -93,14 +93,11 @@ exports.App = App; "jsxImportSource": "react", "module": 1 }, - "referencedMap": {}, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", [ "./index.tsx", [ { - "file": "./index.tsx", "start": 25, "length": 24, "messageText": "Cannot find module 'react/jsx-runtime' or its corresponding type declarations.", @@ -112,7 +109,7 @@ exports.App = App; ] }, "version": "FakeTSVersion", - "size": 995 + "size": 953 } @@ -170,7 +167,7 @@ Output:: //// [/users/username/projects/project/index.js] file written with same contents //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/react/jsx-runtime/index.d.ts","./index.tsx"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n","impliedFormat":1},{"version":"-14760199789-export const App = () =>
    ;","signature":"-17269688391-export declare const App: () => import(\"react/jsx-runtime\").JSX.Element;\n","impliedFormat":1}],"root":[3],"options":{"jsx":4,"jsxImportSource":"react","module":1},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/react/jsx-runtime/index.d.ts","./index.tsx"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n","impliedFormat":1},{"version":"-14760199789-export const App = () =>
    ;","signature":"-17269688391-export declare const App: () => import(\"react/jsx-runtime\").JSX.Element;\n","impliedFormat":1}],"root":[3],"options":{"jsx":4,"jsxImportSource":"react","module":1},"fileIdsList":[[2]],"referencedMap":[[3,1]]},"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -232,15 +229,10 @@ Output:: "./index.tsx": [ "./node_modules/react/jsx-runtime/index.d.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./index.tsx", - "./node_modules/react/jsx-runtime/index.d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1329 + "size": 1292 } diff --git a/tests/baselines/reference/tscWatch/incremental/jsxImportSource-backing-types-added-watch.js b/tests/baselines/reference/tscWatch/incremental/jsxImportSource-backing-types-added-watch.js index 3dc373b754d22..df06e45964c68 100644 --- a/tests/baselines/reference/tscWatch/incremental/jsxImportSource-backing-types-added-watch.js +++ b/tests/baselines/reference/tscWatch/incremental/jsxImportSource-backing-types-added-watch.js @@ -53,7 +53,7 @@ exports.App = App; //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./index.tsx"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14760199789-export const App = () =>
    ;","impliedFormat":1}],"root":[2],"options":{"jsx":4,"jsxImportSource":"react","module":1},"referencedMap":[],"semanticDiagnosticsPerFile":[1,[2,[{"file":"./index.tsx","start":25,"length":24,"messageText":"Cannot find module 'react/jsx-runtime' or its corresponding type declarations.","category":1,"code":2307}]]]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./index.tsx"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14760199789-export const App = () =>
    ;","impliedFormat":1}],"root":[2],"options":{"jsx":4,"jsxImportSource":"react","module":1},"semanticDiagnosticsPerFile":[[2,[{"start":25,"length":24,"messageText":"Cannot find module 'react/jsx-runtime' or its corresponding type declarations.","category":1,"code":2307}]]]},"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -95,14 +95,11 @@ exports.App = App; "jsxImportSource": "react", "module": 1 }, - "referencedMap": {}, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", [ "./index.tsx", [ { - "file": "./index.tsx", "start": 25, "length": 24, "messageText": "Cannot find module 'react/jsx-runtime' or its corresponding type declarations.", @@ -114,7 +111,7 @@ exports.App = App; ] }, "version": "FakeTSVersion", - "size": 995 + "size": 953 } @@ -230,7 +227,7 @@ Output:: //// [/users/username/projects/project/index.js] file written with same contents //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/react/jsx-runtime/index.d.ts","./index.tsx"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n","impliedFormat":1},{"version":"-14760199789-export const App = () =>
    ;","signature":"-17269688391-export declare const App: () => import(\"react/jsx-runtime\").JSX.Element;\n","impliedFormat":1}],"root":[3],"options":{"jsx":4,"jsxImportSource":"react","module":1},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/react/jsx-runtime/index.d.ts","./index.tsx"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n","impliedFormat":1},{"version":"-14760199789-export const App = () =>
    ;","signature":"-17269688391-export declare const App: () => import(\"react/jsx-runtime\").JSX.Element;\n","impliedFormat":1}],"root":[3],"options":{"jsx":4,"jsxImportSource":"react","module":1},"fileIdsList":[[2]],"referencedMap":[[3,1]]},"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -292,15 +289,10 @@ Output:: "./index.tsx": [ "./node_modules/react/jsx-runtime/index.d.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./index.tsx", - "./node_modules/react/jsx-runtime/index.d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1329 + "size": 1292 } diff --git a/tests/baselines/reference/tscWatch/incremental/jsxImportSource-backing-types-removed-incremental.js b/tests/baselines/reference/tscWatch/incremental/jsxImportSource-backing-types-removed-incremental.js index fed4cefc4de62..eedbf5d96ce0a 100644 --- a/tests/baselines/reference/tscWatch/incremental/jsxImportSource-backing-types-removed-incremental.js +++ b/tests/baselines/reference/tscWatch/incremental/jsxImportSource-backing-types-removed-incremental.js @@ -63,7 +63,7 @@ exports.App = App; //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/react/jsx-runtime/index.d.ts","./index.tsx"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n","impliedFormat":1},{"version":"-14760199789-export const App = () =>
    ;","impliedFormat":1}],"root":[3],"options":{"jsx":4,"jsxImportSource":"react","module":1},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/react/jsx-runtime/index.d.ts","./index.tsx"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n","impliedFormat":1},{"version":"-14760199789-export const App = () =>
    ;","impliedFormat":1}],"root":[3],"options":{"jsx":4,"jsxImportSource":"react","module":1},"fileIdsList":[[2]],"referencedMap":[[3,1]]},"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -124,15 +124,10 @@ exports.App = App; "./index.tsx": [ "./node_modules/react/jsx-runtime/index.d.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./index.tsx", - "./node_modules/react/jsx-runtime/index.d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1225 + "size": 1188 } @@ -183,7 +178,7 @@ Found 1 error in index.tsx:1 //// [/users/username/projects/project/index.js] file written with same contents //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./index.tsx"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14760199789-export const App = () =>
    ;","signature":"-11175433774-export declare const App: () => any;\n","impliedFormat":1}],"root":[2],"options":{"jsx":4,"jsxImportSource":"react","module":1},"referencedMap":[],"semanticDiagnosticsPerFile":[1,[2,[{"file":"./index.tsx","start":25,"length":24,"messageText":"Cannot find module 'react/jsx-runtime' or its corresponding type declarations.","category":1,"code":2307}]]]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./index.tsx"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14760199789-export const App = () =>
    ;","signature":"-11175433774-export declare const App: () => any;\n","impliedFormat":1}],"root":[2],"options":{"jsx":4,"jsxImportSource":"react","module":1},"semanticDiagnosticsPerFile":[[2,[{"start":25,"length":24,"messageText":"Cannot find module 'react/jsx-runtime' or its corresponding type declarations.","category":1,"code":2307}]]]},"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -226,14 +221,11 @@ Found 1 error in index.tsx:1 "jsxImportSource": "react", "module": 1 }, - "referencedMap": {}, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", [ "./index.tsx", [ { - "file": "./index.tsx", "start": 25, "length": 24, "messageText": "Cannot find module 'react/jsx-runtime' or its corresponding type declarations.", @@ -245,7 +237,7 @@ Found 1 error in index.tsx:1 ] }, "version": "FakeTSVersion", - "size": 1061 + "size": 1019 } diff --git a/tests/baselines/reference/tscWatch/incremental/jsxImportSource-backing-types-removed-watch.js b/tests/baselines/reference/tscWatch/incremental/jsxImportSource-backing-types-removed-watch.js index d847fffd0ae94..3ddb6c06206a7 100644 --- a/tests/baselines/reference/tscWatch/incremental/jsxImportSource-backing-types-removed-watch.js +++ b/tests/baselines/reference/tscWatch/incremental/jsxImportSource-backing-types-removed-watch.js @@ -68,7 +68,7 @@ exports.App = App; //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/react/jsx-runtime/index.d.ts","./index.tsx"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n","impliedFormat":1},{"version":"-14760199789-export const App = () =>
    ;","impliedFormat":1}],"root":[3],"options":{"jsx":4,"jsxImportSource":"react","module":1},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/react/jsx-runtime/index.d.ts","./index.tsx"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n","impliedFormat":1},{"version":"-14760199789-export const App = () =>
    ;","impliedFormat":1}],"root":[3],"options":{"jsx":4,"jsxImportSource":"react","module":1},"fileIdsList":[[2]],"referencedMap":[[3,1]]},"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -129,15 +129,10 @@ exports.App = App; "./index.tsx": [ "./node_modules/react/jsx-runtime/index.d.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./index.tsx", - "./node_modules/react/jsx-runtime/index.d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1225 + "size": 1188 } @@ -251,7 +246,7 @@ Output:: //// [/users/username/projects/project/index.js] file written with same contents //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./index.tsx"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14760199789-export const App = () =>
    ;","signature":"-11175433774-export declare const App: () => any;\n","impliedFormat":1}],"root":[2],"options":{"jsx":4,"jsxImportSource":"react","module":1},"referencedMap":[],"semanticDiagnosticsPerFile":[1,[2,[{"file":"./index.tsx","start":25,"length":24,"messageText":"Cannot find module 'react/jsx-runtime' or its corresponding type declarations.","category":1,"code":2307}]]]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./index.tsx"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14760199789-export const App = () =>
    ;","signature":"-11175433774-export declare const App: () => any;\n","impliedFormat":1}],"root":[2],"options":{"jsx":4,"jsxImportSource":"react","module":1},"semanticDiagnosticsPerFile":[[2,[{"start":25,"length":24,"messageText":"Cannot find module 'react/jsx-runtime' or its corresponding type declarations.","category":1,"code":2307}]]]},"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -294,14 +289,11 @@ Output:: "jsxImportSource": "react", "module": 1 }, - "referencedMap": {}, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", [ "./index.tsx", [ { - "file": "./index.tsx", "start": 25, "length": 24, "messageText": "Cannot find module 'react/jsx-runtime' or its corresponding type declarations.", @@ -313,7 +305,7 @@ Output:: ] }, "version": "FakeTSVersion", - "size": 1061 + "size": 1019 } diff --git a/tests/baselines/reference/tscWatch/incremental/jsxImportSource-option-changed-incremental.js b/tests/baselines/reference/tscWatch/incremental/jsxImportSource-option-changed-incremental.js index 5252fec742e1f..68d120a559ce2 100644 --- a/tests/baselines/reference/tscWatch/incremental/jsxImportSource-option-changed-incremental.js +++ b/tests/baselines/reference/tscWatch/incremental/jsxImportSource-option-changed-incremental.js @@ -89,7 +89,7 @@ exports.App = App; //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/react/jsx-runtime/index.d.ts","./index.tsx"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n","impliedFormat":1},{"version":"-14760199789-export const App = () =>
    ;","impliedFormat":1}],"root":[3],"options":{"jsx":4,"jsxImportSource":"react","module":1},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/react/jsx-runtime/index.d.ts","./index.tsx"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n","impliedFormat":1},{"version":"-14760199789-export const App = () =>
    ;","impliedFormat":1}],"root":[3],"options":{"jsx":4,"jsxImportSource":"react","module":1},"fileIdsList":[[2]],"referencedMap":[[3,1]]},"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -150,15 +150,10 @@ exports.App = App; "./index.tsx": [ "./node_modules/react/jsx-runtime/index.d.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./index.tsx", - "./node_modules/react/jsx-runtime/index.d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1225 + "size": 1188 } @@ -233,7 +228,7 @@ exports.App = App; //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/preact/jsx-runtime/index.d.ts","./index.tsx"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-17896129664-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propB?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n","impliedFormat":1},{"version":"-14760199789-export const App = () =>
    ;","signature":"-8162467991-export declare const App: () => import(\"preact/jsx-runtime\").JSX.Element;\n","impliedFormat":1}],"root":[3],"options":{"jsx":4,"jsxImportSource":"preact","module":1},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,[3,[{"file":"./index.tsx","start":30,"length":5,"code":2322,"category":1,"messageText":{"messageText":"Type '{ propA: boolean; }' is not assignable to type '{ propB?: boolean; }'.","category":1,"code":2322,"next":[{"messageText":"Property 'propA' does not exist on type '{ propB?: boolean; }'. Did you mean 'propB'?","category":1,"code":2551}]}}]],2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/preact/jsx-runtime/index.d.ts","./index.tsx"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-17896129664-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propB?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n","impliedFormat":1},{"version":"-14760199789-export const App = () =>
    ;","signature":"-8162467991-export declare const App: () => import(\"preact/jsx-runtime\").JSX.Element;\n","impliedFormat":1}],"root":[3],"options":{"jsx":4,"jsxImportSource":"preact","module":1},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[[3,[{"start":30,"length":5,"code":2322,"category":1,"messageText":{"messageText":"Type '{ propA: boolean; }' is not assignable to type '{ propB?: boolean; }'.","category":1,"code":2322,"next":[{"messageText":"Property 'propA' does not exist on type '{ propB?: boolean; }'. Did you mean 'propB'?","category":1,"code":2551}]}}]]]},"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -297,12 +292,10 @@ exports.App = App; ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", [ "./index.tsx", [ { - "file": "./index.tsx", "start": 30, "length": 5, "code": 2322, @@ -321,12 +314,11 @@ exports.App = App; } } ] - ], - "./node_modules/preact/jsx-runtime/index.d.ts" + ] ] }, "version": "FakeTSVersion", - "size": 1677 + "size": 1652 } diff --git a/tests/baselines/reference/tscWatch/incremental/jsxImportSource-option-changed-watch.js b/tests/baselines/reference/tscWatch/incremental/jsxImportSource-option-changed-watch.js index 70a39f7a766ed..ca07a34e488d8 100644 --- a/tests/baselines/reference/tscWatch/incremental/jsxImportSource-option-changed-watch.js +++ b/tests/baselines/reference/tscWatch/incremental/jsxImportSource-option-changed-watch.js @@ -94,7 +94,7 @@ exports.App = App; //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/react/jsx-runtime/index.d.ts","./index.tsx"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n","impliedFormat":1},{"version":"-14760199789-export const App = () =>
    ;","impliedFormat":1}],"root":[3],"options":{"jsx":4,"jsxImportSource":"react","module":1},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,3,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/react/jsx-runtime/index.d.ts","./index.tsx"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n","impliedFormat":1},{"version":"-14760199789-export const App = () =>
    ;","impliedFormat":1}],"root":[3],"options":{"jsx":4,"jsxImportSource":"react","module":1},"fileIdsList":[[2]],"referencedMap":[[3,1]]},"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -155,15 +155,10 @@ exports.App = App; "./index.tsx": [ "./node_modules/react/jsx-runtime/index.d.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./index.tsx", - "./node_modules/react/jsx-runtime/index.d.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1225 + "size": 1188 } @@ -301,7 +296,7 @@ exports.App = App; //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/preact/jsx-runtime/index.d.ts","./index.tsx"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-17896129664-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propB?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n","impliedFormat":1},{"version":"-14760199789-export const App = () =>
    ;","signature":"-8162467991-export declare const App: () => import(\"preact/jsx-runtime\").JSX.Element;\n","impliedFormat":1}],"root":[3],"options":{"jsx":4,"jsxImportSource":"preact","module":1},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,[3,[{"file":"./index.tsx","start":30,"length":5,"code":2322,"category":1,"messageText":{"messageText":"Type '{ propA: boolean; }' is not assignable to type '{ propB?: boolean; }'.","category":1,"code":2322,"next":[{"messageText":"Property 'propA' does not exist on type '{ propB?: boolean; }'. Did you mean 'propB'?","category":1,"code":2551}]}}]],2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/preact/jsx-runtime/index.d.ts","./index.tsx"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-17896129664-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propB?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n","impliedFormat":1},{"version":"-14760199789-export const App = () =>
    ;","signature":"-8162467991-export declare const App: () => import(\"preact/jsx-runtime\").JSX.Element;\n","impliedFormat":1}],"root":[3],"options":{"jsx":4,"jsxImportSource":"preact","module":1},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[[3,[{"start":30,"length":5,"code":2322,"category":1,"messageText":{"messageText":"Type '{ propA: boolean; }' is not assignable to type '{ propB?: boolean; }'.","category":1,"code":2322,"next":[{"messageText":"Property 'propA' does not exist on type '{ propB?: boolean; }'. Did you mean 'propB'?","category":1,"code":2551}]}}]]]},"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -365,12 +360,10 @@ exports.App = App; ] }, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", [ "./index.tsx", [ { - "file": "./index.tsx", "start": 30, "length": 5, "code": 2322, @@ -389,12 +382,11 @@ exports.App = App; } } ] - ], - "./node_modules/preact/jsx-runtime/index.d.ts" + ] ] }, "version": "FakeTSVersion", - "size": 1677 + "size": 1652 } diff --git a/tests/baselines/reference/tscWatch/incremental/module-compilation/own-file-emit-with-errors-incremental.js b/tests/baselines/reference/tscWatch/incremental/module-compilation/own-file-emit-with-errors-incremental.js index fd633be453839..731a6291aadfb 100644 --- a/tests/baselines/reference/tscWatch/incremental/module-compilation/own-file-emit-with-errors-incremental.js +++ b/tests/baselines/reference/tscWatch/incremental/module-compilation/own-file-emit-with-errors-incremental.js @@ -59,7 +59,7 @@ define(["require", "exports"], function (require, exports) { //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./file1.ts","./file2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","impliedFormat":1},{"version":"-13939690350-export const y: string = 20;","impliedFormat":1}],"root":[2,3],"options":{"module":2},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,[3,[{"file":"./file2.ts","start":13,"length":1,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'string'."}]]]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./file1.ts","./file2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","impliedFormat":1},{"version":"-13939690350-export const y: string = 20;","impliedFormat":1}],"root":[2,3],"options":{"module":2},"semanticDiagnosticsPerFile":[[3,[{"start":13,"length":1,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'string'."}]]]},"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -113,15 +113,11 @@ define(["require", "exports"], function (require, exports) { "options": { "module": 2 }, - "referencedMap": {}, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./file1.ts", [ "./file2.ts", [ { - "file": "./file2.ts", "start": 13, "length": 1, "code": 2322, @@ -133,7 +129,7 @@ define(["require", "exports"], function (require, exports) { ] }, "version": "FakeTSVersion", - "size": 910 + "size": 867 } @@ -192,7 +188,7 @@ define(["require", "exports"], function (require, exports) { //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./file1.ts","./file2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-12438487295-export const z = 10;","signature":"-7483702853-export declare const z = 10;\n","impliedFormat":1},{"version":"-13939690350-export const y: string = 20;","impliedFormat":1}],"root":[2,3],"options":{"module":2},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,[3,[{"file":"./file2.ts","start":13,"length":1,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'string'."}]]]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./file1.ts","./file2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-12438487295-export const z = 10;","signature":"-7483702853-export declare const z = 10;\n","impliedFormat":1},{"version":"-13939690350-export const y: string = 20;","impliedFormat":1}],"root":[2,3],"options":{"module":2},"semanticDiagnosticsPerFile":[[3,[{"start":13,"length":1,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'string'."}]]]},"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -247,15 +243,11 @@ define(["require", "exports"], function (require, exports) { "options": { "module": 2 }, - "referencedMap": {}, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./file1.ts", [ "./file2.ts", [ { - "file": "./file2.ts", "start": 13, "length": 1, "code": 2322, @@ -267,7 +259,7 @@ define(["require", "exports"], function (require, exports) { ] }, "version": "FakeTSVersion", - "size": 967 + "size": 924 } diff --git a/tests/baselines/reference/tscWatch/incremental/module-compilation/own-file-emit-with-errors-watch.js b/tests/baselines/reference/tscWatch/incremental/module-compilation/own-file-emit-with-errors-watch.js index 6f37da862a9e1..7f8eceb5fa95f 100644 --- a/tests/baselines/reference/tscWatch/incremental/module-compilation/own-file-emit-with-errors-watch.js +++ b/tests/baselines/reference/tscWatch/incremental/module-compilation/own-file-emit-with-errors-watch.js @@ -61,7 +61,7 @@ define(["require", "exports"], function (require, exports) { //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./file1.ts","./file2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","impliedFormat":1},{"version":"-13939690350-export const y: string = 20;","impliedFormat":1}],"root":[2,3],"options":{"module":2},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,[3,[{"file":"./file2.ts","start":13,"length":1,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'string'."}]]]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./file1.ts","./file2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","impliedFormat":1},{"version":"-13939690350-export const y: string = 20;","impliedFormat":1}],"root":[2,3],"options":{"module":2},"semanticDiagnosticsPerFile":[[3,[{"start":13,"length":1,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'string'."}]]]},"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -115,15 +115,11 @@ define(["require", "exports"], function (require, exports) { "options": { "module": 2 }, - "referencedMap": {}, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./file1.ts", [ "./file2.ts", [ { - "file": "./file2.ts", "start": 13, "length": 1, "code": 2322, @@ -135,7 +131,7 @@ define(["require", "exports"], function (require, exports) { ] }, "version": "FakeTSVersion", - "size": 910 + "size": 867 } @@ -245,7 +241,7 @@ define(["require", "exports"], function (require, exports) { //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./file1.ts","./file2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-12438487295-export const z = 10;","signature":"-7483702853-export declare const z = 10;\n","impliedFormat":1},{"version":"-13939690350-export const y: string = 20;","impliedFormat":1}],"root":[2,3],"options":{"module":2},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,[3,[{"file":"./file2.ts","start":13,"length":1,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'string'."}]]]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./file1.ts","./file2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-12438487295-export const z = 10;","signature":"-7483702853-export declare const z = 10;\n","impliedFormat":1},{"version":"-13939690350-export const y: string = 20;","impliedFormat":1}],"root":[2,3],"options":{"module":2},"semanticDiagnosticsPerFile":[[3,[{"start":13,"length":1,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'string'."}]]]},"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -300,15 +296,11 @@ define(["require", "exports"], function (require, exports) { "options": { "module": 2 }, - "referencedMap": {}, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./file1.ts", [ "./file2.ts", [ { - "file": "./file2.ts", "start": 13, "length": 1, "code": 2322, @@ -320,7 +312,7 @@ define(["require", "exports"], function (require, exports) { ] }, "version": "FakeTSVersion", - "size": 967 + "size": 924 } diff --git a/tests/baselines/reference/tscWatch/incremental/module-compilation/own-file-emit-without-errors-incremental.js b/tests/baselines/reference/tscWatch/incremental/module-compilation/own-file-emit-without-errors-incremental.js index 9c1dfba9b87ef..187571993cd3e 100644 --- a/tests/baselines/reference/tscWatch/incremental/module-compilation/own-file-emit-without-errors-incremental.js +++ b/tests/baselines/reference/tscWatch/incremental/module-compilation/own-file-emit-without-errors-incremental.js @@ -51,7 +51,7 @@ define(["require", "exports"], function (require, exports) { //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./file1.ts","./file2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","impliedFormat":1},{"version":"-13729954175-export const y = 20;","impliedFormat":1}],"root":[2,3],"options":{"module":2},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./file1.ts","./file2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","impliedFormat":1},{"version":"-13729954175-export const y = 20;","impliedFormat":1}],"root":[2,3],"options":{"module":2}},"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -104,16 +104,10 @@ define(["require", "exports"], function (require, exports) { ], "options": { "module": 2 - }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./file1.ts", - "./file2.ts" - ] + } }, "version": "FakeTSVersion", - "size": 763 + "size": 707 } @@ -164,7 +158,7 @@ define(["require", "exports"], function (require, exports) { //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./file1.ts","./file2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","impliedFormat":1},{"version":"-12438487295-export const z = 10;","signature":"-7483702853-export declare const z = 10;\n","impliedFormat":1}],"root":[2,3],"options":{"module":2},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./file1.ts","./file2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","impliedFormat":1},{"version":"-12438487295-export const z = 10;","signature":"-7483702853-export declare const z = 10;\n","impliedFormat":1}],"root":[2,3],"options":{"module":2}},"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -218,16 +212,10 @@ define(["require", "exports"], function (require, exports) { ], "options": { "module": 2 - }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./file1.ts", - "./file2.ts" - ] + } }, "version": "FakeTSVersion", - "size": 820 + "size": 764 } diff --git a/tests/baselines/reference/tscWatch/incremental/module-compilation/own-file-emit-without-errors-watch.js b/tests/baselines/reference/tscWatch/incremental/module-compilation/own-file-emit-without-errors-watch.js index 32af4008a1c72..700fca7ab0ddd 100644 --- a/tests/baselines/reference/tscWatch/incremental/module-compilation/own-file-emit-without-errors-watch.js +++ b/tests/baselines/reference/tscWatch/incremental/module-compilation/own-file-emit-without-errors-watch.js @@ -56,7 +56,7 @@ define(["require", "exports"], function (require, exports) { //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./file1.ts","./file2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","impliedFormat":1},{"version":"-13729954175-export const y = 20;","impliedFormat":1}],"root":[2,3],"options":{"module":2},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./file1.ts","./file2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","impliedFormat":1},{"version":"-13729954175-export const y = 20;","impliedFormat":1}],"root":[2,3],"options":{"module":2}},"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -109,16 +109,10 @@ define(["require", "exports"], function (require, exports) { ], "options": { "module": 2 - }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./file1.ts", - "./file2.ts" - ] + } }, "version": "FakeTSVersion", - "size": 763 + "size": 707 } @@ -223,7 +217,7 @@ define(["require", "exports"], function (require, exports) { //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./file1.ts","./file2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","impliedFormat":1},{"version":"-12438487295-export const z = 10;","signature":"-7483702853-export declare const z = 10;\n","impliedFormat":1}],"root":[2,3],"options":{"module":2},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./file1.ts","./file2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","impliedFormat":1},{"version":"-12438487295-export const z = 10;","signature":"-7483702853-export declare const z = 10;\n","impliedFormat":1}],"root":[2,3],"options":{"module":2}},"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -277,16 +271,10 @@ define(["require", "exports"], function (require, exports) { ], "options": { "module": 2 - }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./file1.ts", - "./file2.ts" - ] + } }, "version": "FakeTSVersion", - "size": 820 + "size": 764 } diff --git a/tests/baselines/reference/tscWatch/incremental/own-file-emit-with-errors-incremental.js b/tests/baselines/reference/tscWatch/incremental/own-file-emit-with-errors-incremental.js index 110577aede7b2..6d1af9f9c64ea 100644 --- a/tests/baselines/reference/tscWatch/incremental/own-file-emit-with-errors-incremental.js +++ b/tests/baselines/reference/tscWatch/incremental/own-file-emit-with-errors-incremental.js @@ -48,7 +48,7 @@ var y = 20; //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./file1.ts","./file2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"5029505981-const x = 10;","affectsGlobalScope":true,"impliedFormat":1},{"version":"2414573776-const y: string = 20;","affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3],"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,[3,[{"file":"./file2.ts","start":6,"length":1,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'string'."}]]]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./file1.ts","./file2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"5029505981-const x = 10;","affectsGlobalScope":true,"impliedFormat":1},{"version":"2414573776-const y: string = 20;","affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3],"semanticDiagnosticsPerFile":[[3,[{"start":6,"length":1,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'string'."}]]]},"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -103,15 +103,11 @@ var y = 20; "./file2.ts" ] ], - "referencedMap": {}, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./file1.ts", [ "./file2.ts", [ { - "file": "./file2.ts", "start": 6, "length": 1, "code": 2322, @@ -123,7 +119,7 @@ var y = 20; ] }, "version": "FakeTSVersion", - "size": 920 + "size": 877 } @@ -177,7 +173,7 @@ var z = 10; //// [/users/username/projects/project/file2.js] file written with same contents //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./file1.ts","./file2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"3317474623-const z = 10;","signature":"-368931399-declare const z = 10;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"2414573776-const y: string = 20;","signature":"509180395-declare const y: string;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3],"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,[3,[{"file":"./file2.ts","start":6,"length":1,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'string'."}]]]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./file1.ts","./file2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"3317474623-const z = 10;","signature":"-368931399-declare const z = 10;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"2414573776-const y: string = 20;","signature":"509180395-declare const y: string;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3],"semanticDiagnosticsPerFile":[[3,[{"start":6,"length":1,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'string'."}]]]},"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -234,15 +230,11 @@ var z = 10; "./file2.ts" ] ], - "referencedMap": {}, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./file1.ts", [ "./file2.ts", [ { - "file": "./file2.ts", "start": 6, "length": 1, "code": 2322, @@ -254,7 +246,7 @@ var z = 10; ] }, "version": "FakeTSVersion", - "size": 1020 + "size": 977 } diff --git a/tests/baselines/reference/tscWatch/incremental/own-file-emit-with-errors-watch.js b/tests/baselines/reference/tscWatch/incremental/own-file-emit-with-errors-watch.js index f5ebc714e417a..6e26653146e8b 100644 --- a/tests/baselines/reference/tscWatch/incremental/own-file-emit-with-errors-watch.js +++ b/tests/baselines/reference/tscWatch/incremental/own-file-emit-with-errors-watch.js @@ -50,7 +50,7 @@ var y = 20; //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./file1.ts","./file2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"5029505981-const x = 10;","affectsGlobalScope":true,"impliedFormat":1},{"version":"2414573776-const y: string = 20;","affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3],"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,[3,[{"file":"./file2.ts","start":6,"length":1,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'string'."}]]]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./file1.ts","./file2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"5029505981-const x = 10;","affectsGlobalScope":true,"impliedFormat":1},{"version":"2414573776-const y: string = 20;","affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3],"semanticDiagnosticsPerFile":[[3,[{"start":6,"length":1,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'string'."}]]]},"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -105,15 +105,11 @@ var y = 20; "./file2.ts" ] ], - "referencedMap": {}, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./file1.ts", [ "./file2.ts", [ { - "file": "./file2.ts", "start": 6, "length": 1, "code": 2322, @@ -125,7 +121,7 @@ var y = 20; ] }, "version": "FakeTSVersion", - "size": 920 + "size": 877 } @@ -222,7 +218,7 @@ var z = 10; //// [/users/username/projects/project/file2.js] file written with same contents //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./file1.ts","./file2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"3317474623-const z = 10;","signature":"-368931399-declare const z = 10;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"2414573776-const y: string = 20;","signature":"509180395-declare const y: string;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3],"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,[3,[{"file":"./file2.ts","start":6,"length":1,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'string'."}]]]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./file1.ts","./file2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"3317474623-const z = 10;","signature":"-368931399-declare const z = 10;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"2414573776-const y: string = 20;","signature":"509180395-declare const y: string;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3],"semanticDiagnosticsPerFile":[[3,[{"start":6,"length":1,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'string'."}]]]},"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -279,15 +275,11 @@ var z = 10; "./file2.ts" ] ], - "referencedMap": {}, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./file1.ts", [ "./file2.ts", [ { - "file": "./file2.ts", "start": 6, "length": 1, "code": 2322, @@ -299,7 +291,7 @@ var z = 10; ] }, "version": "FakeTSVersion", - "size": 1020 + "size": 977 } diff --git a/tests/baselines/reference/tscWatch/incremental/own-file-emit-without-errors/with-commandline-parameters-that-are-not-relative-incremental.js b/tests/baselines/reference/tscWatch/incremental/own-file-emit-without-errors/with-commandline-parameters-that-are-not-relative-incremental.js index ca79957a2629b..1e6fd0dea6a0d 100644 --- a/tests/baselines/reference/tscWatch/incremental/own-file-emit-without-errors/with-commandline-parameters-that-are-not-relative-incremental.js +++ b/tests/baselines/reference/tscWatch/incremental/own-file-emit-without-errors/with-commandline-parameters-that-are-not-relative-incremental.js @@ -40,7 +40,7 @@ var y = 20; //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./file1.ts","./file2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"5029505981-const x = 10;","affectsGlobalScope":true,"impliedFormat":1},{"version":"2026007743-const y = 20;","affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3],"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./file1.ts","./file2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"5029505981-const x = 10;","affectsGlobalScope":true,"impliedFormat":1},{"version":"2026007743-const y = 20;","affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3]},"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -94,16 +94,10 @@ var y = 20; 3, "./file2.ts" ] - ], - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./file1.ts", - "./file2.ts" ] }, "version": "FakeTSVersion", - "size": 774 + "size": 718 } @@ -150,7 +144,7 @@ var z = 10; //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./file1.ts","./file2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"5029505981-const x = 10;","signature":"-4001438729-declare const x = 10;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"3317474623-const z = 10;","signature":"-368931399-declare const z = 10;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3],"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./file1.ts","./file2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"5029505981-const x = 10;","signature":"-4001438729-declare const x = 10;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"3317474623-const z = 10;","signature":"-368931399-declare const z = 10;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3]},"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -206,16 +200,10 @@ var z = 10; 3, "./file2.ts" ] - ], - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./file1.ts", - "./file2.ts" ] }, "version": "FakeTSVersion", - "size": 873 + "size": 817 } diff --git a/tests/baselines/reference/tscWatch/incremental/own-file-emit-without-errors/with-commandline-parameters-that-are-not-relative-watch.js b/tests/baselines/reference/tscWatch/incremental/own-file-emit-without-errors/with-commandline-parameters-that-are-not-relative-watch.js index c5fc9511829aa..fed72e35ff11c 100644 --- a/tests/baselines/reference/tscWatch/incremental/own-file-emit-without-errors/with-commandline-parameters-that-are-not-relative-watch.js +++ b/tests/baselines/reference/tscWatch/incremental/own-file-emit-without-errors/with-commandline-parameters-that-are-not-relative-watch.js @@ -45,7 +45,7 @@ var y = 20; //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./file1.ts","./file2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"5029505981-const x = 10;","affectsGlobalScope":true,"impliedFormat":1},{"version":"2026007743-const y = 20;","affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3],"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./file1.ts","./file2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"5029505981-const x = 10;","affectsGlobalScope":true,"impliedFormat":1},{"version":"2026007743-const y = 20;","affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3]},"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -99,16 +99,10 @@ var y = 20; 3, "./file2.ts" ] - ], - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./file1.ts", - "./file2.ts" ] }, "version": "FakeTSVersion", - "size": 774 + "size": 718 } @@ -201,7 +195,7 @@ var z = 10; //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./file1.ts","./file2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"5029505981-const x = 10;","signature":"-4001438729-declare const x = 10;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"3317474623-const z = 10;","signature":"-368931399-declare const z = 10;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3],"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./file1.ts","./file2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"5029505981-const x = 10;","signature":"-4001438729-declare const x = 10;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"3317474623-const z = 10;","signature":"-368931399-declare const z = 10;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3]},"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -257,16 +251,10 @@ var z = 10; 3, "./file2.ts" ] - ], - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./file1.ts", - "./file2.ts" ] }, "version": "FakeTSVersion", - "size": 873 + "size": 817 } diff --git a/tests/baselines/reference/tscWatch/incremental/own-file-emit-without-errors/without-commandline-options-incremental.js b/tests/baselines/reference/tscWatch/incremental/own-file-emit-without-errors/without-commandline-options-incremental.js index 58e79b0faefe0..ec7346bb2ac6d 100644 --- a/tests/baselines/reference/tscWatch/incremental/own-file-emit-without-errors/without-commandline-options-incremental.js +++ b/tests/baselines/reference/tscWatch/incremental/own-file-emit-without-errors/without-commandline-options-incremental.js @@ -40,7 +40,7 @@ var y = 20; //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./file1.ts","./file2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"5029505981-const x = 10;","affectsGlobalScope":true,"impliedFormat":1},{"version":"2026007743-const y = 20;","affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3],"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./file1.ts","./file2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"5029505981-const x = 10;","affectsGlobalScope":true,"impliedFormat":1},{"version":"2026007743-const y = 20;","affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3]},"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -94,16 +94,10 @@ var y = 20; 3, "./file2.ts" ] - ], - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./file1.ts", - "./file2.ts" ] }, "version": "FakeTSVersion", - "size": 774 + "size": 718 } @@ -149,7 +143,7 @@ var z = 10; //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./file1.ts","./file2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"5029505981-const x = 10;","signature":"-4001438729-declare const x = 10;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"3317474623-const z = 10;","signature":"-368931399-declare const z = 10;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3],"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./file1.ts","./file2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"5029505981-const x = 10;","signature":"-4001438729-declare const x = 10;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"3317474623-const z = 10;","signature":"-368931399-declare const z = 10;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3]},"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -205,16 +199,10 @@ var z = 10; 3, "./file2.ts" ] - ], - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./file1.ts", - "./file2.ts" ] }, "version": "FakeTSVersion", - "size": 873 + "size": 817 } diff --git a/tests/baselines/reference/tscWatch/incremental/own-file-emit-without-errors/without-commandline-options-watch.js b/tests/baselines/reference/tscWatch/incremental/own-file-emit-without-errors/without-commandline-options-watch.js index fc2a2a8af37d4..a134505234c02 100644 --- a/tests/baselines/reference/tscWatch/incremental/own-file-emit-without-errors/without-commandline-options-watch.js +++ b/tests/baselines/reference/tscWatch/incremental/own-file-emit-without-errors/without-commandline-options-watch.js @@ -45,7 +45,7 @@ var y = 20; //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./file1.ts","./file2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"5029505981-const x = 10;","affectsGlobalScope":true,"impliedFormat":1},{"version":"2026007743-const y = 20;","affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3],"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./file1.ts","./file2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"5029505981-const x = 10;","affectsGlobalScope":true,"impliedFormat":1},{"version":"2026007743-const y = 20;","affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3]},"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -99,16 +99,10 @@ var y = 20; 3, "./file2.ts" ] - ], - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./file1.ts", - "./file2.ts" ] }, "version": "FakeTSVersion", - "size": 774 + "size": 718 } @@ -200,7 +194,7 @@ var z = 10; //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./file1.ts","./file2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"5029505981-const x = 10;","signature":"-4001438729-declare const x = 10;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"3317474623-const z = 10;","signature":"-368931399-declare const z = 10;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3],"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./file1.ts","./file2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"5029505981-const x = 10;","signature":"-4001438729-declare const x = 10;\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"3317474623-const z = 10;","signature":"-368931399-declare const z = 10;\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3]},"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -256,16 +250,10 @@ var z = 10; 3, "./file2.ts" ] - ], - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./file1.ts", - "./file2.ts" ] }, "version": "FakeTSVersion", - "size": 873 + "size": 817 } diff --git a/tests/baselines/reference/tscWatch/incremental/tsbuildinfo-has-error.js b/tests/baselines/reference/tscWatch/incremental/tsbuildinfo-has-error.js index f2d566fbab457..06e16a8d2b1ba 100644 --- a/tests/baselines/reference/tscWatch/incremental/tsbuildinfo-has-error.js +++ b/tests/baselines/reference/tscWatch/incremental/tsbuildinfo-has-error.js @@ -33,7 +33,7 @@ Output:: //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../a/lib/lib.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","impliedFormat":1}],"root":[2],"referencedMap":[],"semanticDiagnosticsPerFile":[1,2]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../a/lib/lib.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","impliedFormat":1}],"root":[2]},"version":"FakeTSVersion"} //// [/src/project/main.js] "use strict"; @@ -76,15 +76,10 @@ exports.x = 10; 2, "./main.ts" ] - ], - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../a/lib/lib.d.ts", - "./main.ts" ] }, "version": "FakeTSVersion", - "size": 650 + "size": 596 } diff --git a/tests/baselines/reference/tscWatch/incremental/when-file-with-ambient-global-declaration-file-is-deleted-incremental.js b/tests/baselines/reference/tscWatch/incremental/when-file-with-ambient-global-declaration-file-is-deleted-incremental.js index d8595701f1c19..1b3fe10d304fb 100644 --- a/tests/baselines/reference/tscWatch/incremental/when-file-with-ambient-global-declaration-file-is-deleted-incremental.js +++ b/tests/baselines/reference/tscWatch/incremental/when-file-with-ambient-global-declaration-file-is-deleted-incremental.js @@ -38,7 +38,7 @@ console.log(Config.value); //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./globals.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-6314871648-declare namespace Config { const value: string;} ","affectsGlobalScope":true,"impliedFormat":1},{"version":"5371023861-console.log(Config.value);","affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3],"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./globals.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-6314871648-declare namespace Config { const value: string;} ","affectsGlobalScope":true,"impliedFormat":1},{"version":"5371023861-console.log(Config.value);","affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3]},"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -92,16 +92,10 @@ console.log(Config.value); 3, "./index.ts" ] - ], - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./globals.d.ts", - "./index.ts" ] }, "version": "FakeTSVersion", - "size": 908 + "size": 852 } @@ -149,7 +143,7 @@ Found 1 error in index.ts:1 //// [/users/username/projects/project/index.js] file written with same contents //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"5371023861-console.log(Config.value);","signature":"5381-","affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"referencedMap":[],"semanticDiagnosticsPerFile":[1,[2,[{"file":"./index.ts","start":12,"length":6,"messageText":"Cannot find name 'Config'.","category":1,"code":2304}]]]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"5371023861-console.log(Config.value);","signature":"5381-","affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"semanticDiagnosticsPerFile":[[2,[{"start":12,"length":6,"messageText":"Cannot find name 'Config'.","category":1,"code":2304}]]]},"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -189,14 +183,11 @@ Found 1 error in index.ts:1 "./index.ts" ] ], - "referencedMap": {}, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", [ "./index.ts", [ { - "file": "./index.ts", "start": 12, "length": 6, "messageText": "Cannot find name 'Config'.", @@ -208,7 +199,7 @@ Found 1 error in index.ts:1 ] }, "version": "FakeTSVersion", - "size": 903 + "size": 862 } diff --git a/tests/baselines/reference/tscWatch/incremental/when-file-with-ambient-global-declaration-file-is-deleted-watch.js b/tests/baselines/reference/tscWatch/incremental/when-file-with-ambient-global-declaration-file-is-deleted-watch.js index 5c72e433a7a1c..f7d63e59601c0 100644 --- a/tests/baselines/reference/tscWatch/incremental/when-file-with-ambient-global-declaration-file-is-deleted-watch.js +++ b/tests/baselines/reference/tscWatch/incremental/when-file-with-ambient-global-declaration-file-is-deleted-watch.js @@ -43,7 +43,7 @@ console.log(Config.value); //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./globals.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-6314871648-declare namespace Config { const value: string;} ","affectsGlobalScope":true,"impliedFormat":1},{"version":"5371023861-console.log(Config.value);","affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3],"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./globals.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-6314871648-declare namespace Config { const value: string;} ","affectsGlobalScope":true,"impliedFormat":1},{"version":"5371023861-console.log(Config.value);","affectsGlobalScope":true,"impliedFormat":1}],"root":[2,3]},"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -97,16 +97,10 @@ console.log(Config.value); 3, "./index.ts" ] - ], - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./globals.d.ts", - "./index.ts" ] }, "version": "FakeTSVersion", - "size": 908 + "size": 852 } @@ -197,7 +191,7 @@ Output:: //// [/users/username/projects/project/index.js] file written with same contents //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"5371023861-console.log(Config.value);","signature":"5381-","affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"referencedMap":[],"semanticDiagnosticsPerFile":[1,[2,[{"file":"./index.ts","start":12,"length":6,"messageText":"Cannot find name 'Config'.","category":1,"code":2304}]]]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"5371023861-console.log(Config.value);","signature":"5381-","affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"semanticDiagnosticsPerFile":[[2,[{"start":12,"length":6,"messageText":"Cannot find name 'Config'.","category":1,"code":2304}]]]},"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -237,14 +231,11 @@ Output:: "./index.ts" ] ], - "referencedMap": {}, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", [ "./index.ts", [ { - "file": "./index.ts", "start": 12, "length": 6, "messageText": "Cannot find name 'Config'.", @@ -256,7 +247,7 @@ Output:: ] }, "version": "FakeTSVersion", - "size": 903 + "size": 862 } diff --git a/tests/baselines/reference/tscWatch/libraryResolution/unknwon-lib.js b/tests/baselines/reference/tscWatch/libraryResolution/unknwon-lib.js new file mode 100644 index 0000000000000..e274053a357ca --- /dev/null +++ b/tests/baselines/reference/tscWatch/libraryResolution/unknwon-lib.js @@ -0,0 +1,1472 @@ +currentDirectory:: /home/src/projects useCaseSensitiveFileNames: false +Input:: +//// [/home/src/projects/project1/utils.d.ts] +export const y = 10; + +//// [/home/src/projects/project1/file.ts] +export const file = 10; + +//// [/home/src/projects/project1/core.d.ts] +export const core = 10; + +//// [/home/src/projects/project1/index.ts] +export const x = "type1"; + +//// [/home/src/projects/project1/file2.ts] +/// +/// +/// + + +//// [/home/src/projects/project1/tsconfig.json] +{ + "compilerOptions": { + "composite": true, + "traceResolution": true + } +} + +//// [/home/src/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/home/src/lib/lib.webworker.d.ts] +interface WebWorkerInterface { } + +//// [/home/src/lib/lib.scripthost.d.ts] +interface ScriptHostInterface { } + + +/home/src/lib/tsc.js -w -p project1 --explainFiles --extendedDiagnostics +Output:: +[HH:MM:SS AM] Starting compilation in watch mode... + +Current directory: /home/src/projects CaseSensitiveFileNames: false +FileWatcher:: Added:: WatchInfo: /home/src/projects/project1/tsconfig.json 2000 undefined Config file +Synchronizing program +CreatingProgramWith:: + roots: ["/home/src/projects/project1/core.d.ts","/home/src/projects/project1/file.ts","/home/src/projects/project1/file2.ts","/home/src/projects/project1/index.ts","/home/src/projects/project1/utils.d.ts"] + options: {"composite":true,"traceResolution":true,"watch":true,"project":"/home/src/projects/project1","explainFiles":true,"extendedDiagnostics":true,"configFilePath":"/home/src/projects/project1/tsconfig.json"} +File '/home/src/projects/project1/package.json' does not exist. +File '/home/src/projects/package.json' does not exist. +File '/home/src/package.json' does not exist. +File '/home/package.json' does not exist. +File '/package.json' does not exist. +FileWatcher:: Added:: WatchInfo: /home/src/projects/project1/core.d.ts 250 undefined Source file +File '/home/src/projects/project1/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +FileWatcher:: Added:: WatchInfo: /home/src/projects/project1/file.ts 250 undefined Source file +File '/home/src/projects/project1/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +FileWatcher:: Added:: WatchInfo: /home/src/projects/project1/file2.ts 250 undefined Source file +======== Resolving module '@typescript/lib-scripthost' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.scripthost.d.ts__.ts'. ======== +Explicitly specified module resolution kind: 'Node10'. +Loading module '@typescript/lib-scripthost' from 'node_modules' folder, target file types: TypeScript, Declaration. +Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration. +Directory '/home/src/projects/project1/node_modules' does not exist, skipping all lookups in it. +Scoped package detected, looking in 'typescript__lib-scripthost' +Directory '/home/src/projects/node_modules' does not exist, skipping all lookups in it. +Scoped package detected, looking in 'typescript__lib-scripthost' +Directory '/home/src/node_modules' does not exist, skipping all lookups in it. +Scoped package detected, looking in 'typescript__lib-scripthost' +Directory '/home/node_modules' does not exist, skipping all lookups in it. +Scoped package detected, looking in 'typescript__lib-scripthost' +Directory '/node_modules' does not exist, skipping all lookups in it. +Scoped package detected, looking in 'typescript__lib-scripthost' +Loading module '@typescript/lib-scripthost' from 'node_modules' folder, target file types: JavaScript. +Searching all ancestor node_modules directories for fallback extensions: JavaScript. +Directory '/home/src/projects/project1/node_modules' does not exist, skipping all lookups in it. +Directory '/home/src/projects/node_modules' does not exist, skipping all lookups in it. +Directory '/home/src/node_modules' does not exist, skipping all lookups in it. +Directory '/home/node_modules' does not exist, skipping all lookups in it. +Directory '/node_modules' does not exist, skipping all lookups in it. +======== Module name '@typescript/lib-scripthost' was not resolved. ======== +DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project1/node_modules 1 undefined Failed Lookup Locations +Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project1/node_modules 1 undefined Failed Lookup Locations +DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules 1 undefined Failed Lookup Locations +Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules 1 undefined Failed Lookup Locations +File '/home/src/lib/package.json' does not exist. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +FileWatcher:: Added:: WatchInfo: /home/src/lib/lib.scripthost.d.ts 250 undefined Source file +File '/home/src/projects/project1/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +FileWatcher:: Added:: WatchInfo: /home/src/projects/project1/index.ts 250 undefined Source file +File '/home/src/projects/project1/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +FileWatcher:: Added:: WatchInfo: /home/src/projects/project1/utils.d.ts 250 undefined Source file +File '/home/src/lib/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +FileWatcher:: Added:: WatchInfo: /home/src/lib/lib.d.ts 250 undefined Source file +FileWatcher:: Added:: WatchInfo: /home/src/projects/project1/package.json 2000 undefined File location affecting resolution +FileWatcher:: Added:: WatchInfo: /home/src/projects/package.json 2000 undefined File location affecting resolution +DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project1/node_modules/@types 1 undefined Type roots +Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project1/node_modules/@types 1 undefined Type roots +DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Type roots +Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Type roots +project1/file2.ts:1:21 - error TS2727: Cannot find lib definition for 'webworker2'. Did you mean 'webworker'? + +1 /// +   ~~~~~~~~~~ + +project1/file2.ts:2:21 - error TS2726: Cannot find lib definition for 'unknownlib'. + +2 /// +   ~~~~~~~~~~ + +../lib/lib.d.ts + Default library for target 'es5' +../lib/lib.scripthost.d.ts + Library referenced via 'scripthost' from file 'project1/file2.ts' +project1/core.d.ts + Matched by default include pattern '**/*' +project1/file.ts + Matched by default include pattern '**/*' +project1/file2.ts + Matched by default include pattern '**/*' +project1/index.ts + Matched by default include pattern '**/*' +project1/utils.d.ts + Matched by default include pattern '**/*' +[HH:MM:SS AM] Found 2 errors. Watching for file changes. + +DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project1 1 undefined Wild card directory +Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project1 1 undefined Wild card directory + + +//// [/home/src/projects/project1/file.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.file = void 0; +exports.file = 10; + + +//// [/home/src/projects/project1/file.d.ts] +export declare const file = 10; + + +//// [/home/src/projects/project1/file2.js] +/// +/// +/// + + +//// [/home/src/projects/project1/file2.d.ts] + + +//// [/home/src/projects/project1/index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.x = void 0; +exports.x = "type1"; + + +//// [/home/src/projects/project1/index.d.ts] +export declare const x = "type1"; + + +//// [/home/src/projects/project1/tsconfig.tsbuildinfo] +{"program":{"fileNames":["../../lib/lib.d.ts","../../lib/lib.scripthost.d.ts","./core.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-15683237936-export const core = 10;","impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n","impliedFormat":1},{"version":"-15920922626-/// \n/// \n/// \n","signature":"5381-","impliedFormat":1},{"version":"-11532698187-export const x = \"type1\";","signature":"-5899226897-export declare const x = \"type1\";\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1}],"root":[[3,7]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} + +//// [/home/src/projects/project1/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../lib/lib.d.ts", + "../../lib/lib.scripthost.d.ts", + "./core.d.ts", + "./file.ts", + "./file2.ts", + "./index.ts", + "./utils.d.ts" + ], + "fileInfos": { + "../../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "../../lib/lib.scripthost.d.ts": { + "original": { + "version": "-5403980302-interface ScriptHostInterface { }", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "-5403980302-interface ScriptHostInterface { }", + "signature": "-5403980302-interface ScriptHostInterface { }", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "./core.d.ts": { + "original": { + "version": "-15683237936-export const core = 10;", + "impliedFormat": 1 + }, + "version": "-15683237936-export const core = 10;", + "signature": "-15683237936-export const core = 10;", + "impliedFormat": "commonjs" + }, + "./file.ts": { + "original": { + "version": "-16628394009-export const file = 10;", + "signature": "-9025507999-export declare const file = 10;\n", + "impliedFormat": 1 + }, + "version": "-16628394009-export const file = 10;", + "signature": "-9025507999-export declare const file = 10;\n", + "impliedFormat": "commonjs" + }, + "./file2.ts": { + "original": { + "version": "-15920922626-/// \n/// \n/// \n", + "signature": "5381-", + "impliedFormat": 1 + }, + "version": "-15920922626-/// \n/// \n/// \n", + "signature": "5381-", + "impliedFormat": "commonjs" + }, + "./index.ts": { + "original": { + "version": "-11532698187-export const x = \"type1\";", + "signature": "-5899226897-export declare const x = \"type1\";\n", + "impliedFormat": 1 + }, + "version": "-11532698187-export const x = \"type1\";", + "signature": "-5899226897-export declare const x = \"type1\";\n", + "impliedFormat": "commonjs" + }, + "./utils.d.ts": { + "original": { + "version": "-13729955264-export const y = 10;", + "impliedFormat": 1 + }, + "version": "-13729955264-export const y = 10;", + "signature": "-13729955264-export const y = 10;", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 3, + 7 + ], + [ + "./core.d.ts", + "./file.ts", + "./file2.ts", + "./index.ts", + "./utils.d.ts" + ] + ] + ], + "options": { + "composite": true + }, + "latestChangedDtsFile": "./index.d.ts" + }, + "version": "FakeTSVersion", + "size": 1448 +} + + +PolledWatches:: +/home/src/projects/node_modules: *new* + {"pollingInterval":500} +/home/src/projects/node_modules/@types: *new* + {"pollingInterval":500} +/home/src/projects/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/project1/node_modules: *new* + {"pollingInterval":500} +/home/src/projects/project1/node_modules/@types: *new* + {"pollingInterval":500} +/home/src/projects/project1/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/home/src/lib/lib.d.ts: *new* + {} +/home/src/lib/lib.scripthost.d.ts: *new* + {} +/home/src/projects/project1/core.d.ts: *new* + {} +/home/src/projects/project1/file.ts: *new* + {} +/home/src/projects/project1/file2.ts: *new* + {} +/home/src/projects/project1/index.ts: *new* + {} +/home/src/projects/project1/tsconfig.json: *new* + {} +/home/src/projects/project1/utils.d.ts: *new* + {} + +FsWatchesRecursive:: +/home/src/projects/project1: *new* + {} + +Program root files: [ + "/home/src/projects/project1/core.d.ts", + "/home/src/projects/project1/file.ts", + "/home/src/projects/project1/file2.ts", + "/home/src/projects/project1/index.ts", + "/home/src/projects/project1/utils.d.ts" +] +Program options: { + "composite": true, + "traceResolution": true, + "watch": true, + "project": "/home/src/projects/project1", + "explainFiles": true, + "extendedDiagnostics": true, + "configFilePath": "/home/src/projects/project1/tsconfig.json" +} +Program structureReused: Not +Program files:: +/home/src/lib/lib.d.ts +/home/src/lib/lib.scripthost.d.ts +/home/src/projects/project1/core.d.ts +/home/src/projects/project1/file.ts +/home/src/projects/project1/file2.ts +/home/src/projects/project1/index.ts +/home/src/projects/project1/utils.d.ts + +Semantic diagnostics in builder refreshed for:: +/home/src/lib/lib.d.ts +/home/src/lib/lib.scripthost.d.ts +/home/src/projects/project1/core.d.ts +/home/src/projects/project1/file.ts +/home/src/projects/project1/file2.ts +/home/src/projects/project1/index.ts +/home/src/projects/project1/utils.d.ts + +Shape signatures in builder refreshed for:: +/home/src/lib/lib.d.ts (used version) +/home/src/lib/lib.scripthost.d.ts (used version) +/home/src/projects/project1/core.d.ts (used version) +/home/src/projects/project1/file.ts (computed .d.ts during emit) +/home/src/projects/project1/file2.ts (computed .d.ts during emit) +/home/src/projects/project1/index.ts (computed .d.ts during emit) +/home/src/projects/project1/utils.d.ts (used version) + +exitCode:: ExitStatus.undefined + +Change:: edit index + +Input:: +//// [/home/src/projects/project1/index.ts] +export const x = "type1";export const xyz = 10; + + +Output:: +FileWatcher:: Triggered with /home/src/projects/project1/index.ts 1:: WatchInfo: /home/src/projects/project1/index.ts 250 undefined Source file +Scheduling update +Elapsed:: *ms FileWatcher:: Triggered with /home/src/projects/project1/index.ts 1:: WatchInfo: /home/src/projects/project1/index.ts 250 undefined Source file + + +Timeout callback:: count: 1 +1: timerToUpdateProgram *new* + +Before running Timeout callback:: count: 1 +1: timerToUpdateProgram + +Host is moving to new time +After running Timeout callback:: count: 0 +Output:: +Synchronizing program +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +CreatingProgramWith:: + roots: ["/home/src/projects/project1/core.d.ts","/home/src/projects/project1/file.ts","/home/src/projects/project1/file2.ts","/home/src/projects/project1/index.ts","/home/src/projects/project1/utils.d.ts"] + options: {"composite":true,"traceResolution":true,"watch":true,"project":"/home/src/projects/project1","explainFiles":true,"extendedDiagnostics":true,"configFilePath":"/home/src/projects/project1/tsconfig.json"} +File '/home/src/lib/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/lib/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/project1/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/project1/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/project1/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/project1/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/project1/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +Reusing resolution of module '@typescript/lib-scripthost' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.scripthost.d.ts__.ts' of old program, it was not resolved. +project1/file2.ts:1:21 - error TS2727: Cannot find lib definition for 'webworker2'. Did you mean 'webworker'? + +1 /// +   ~~~~~~~~~~ + +project1/file2.ts:2:21 - error TS2726: Cannot find lib definition for 'unknownlib'. + +2 /// +   ~~~~~~~~~~ + +../lib/lib.d.ts + Default library for target 'es5' +../lib/lib.scripthost.d.ts + Library referenced via 'scripthost' from file 'project1/file2.ts' +project1/core.d.ts + Matched by default include pattern '**/*' +project1/file.ts + Matched by default include pattern '**/*' +project1/file2.ts + Matched by default include pattern '**/*' +project1/index.ts + Matched by default include pattern '**/*' +project1/utils.d.ts + Matched by default include pattern '**/*' +[HH:MM:SS AM] Found 2 errors. Watching for file changes. + + + +//// [/home/src/projects/project1/index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.xyz = exports.x = void 0; +exports.x = "type1"; +exports.xyz = 10; + + +//// [/home/src/projects/project1/index.d.ts] +export declare const x = "type1"; +export declare const xyz = 10; + + +//// [/home/src/projects/project1/tsconfig.tsbuildinfo] +{"program":{"fileNames":["../../lib/lib.d.ts","../../lib/lib.scripthost.d.ts","./core.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-15683237936-export const core = 10;","impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n","impliedFormat":1},{"version":"-15920922626-/// \n/// \n/// \n","signature":"5381-","impliedFormat":1},{"version":"-6136895998-export const x = \"type1\";export const xyz = 10;","signature":"-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1}],"root":[[3,7]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} + +//// [/home/src/projects/project1/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../lib/lib.d.ts", + "../../lib/lib.scripthost.d.ts", + "./core.d.ts", + "./file.ts", + "./file2.ts", + "./index.ts", + "./utils.d.ts" + ], + "fileInfos": { + "../../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "../../lib/lib.scripthost.d.ts": { + "original": { + "version": "-5403980302-interface ScriptHostInterface { }", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "-5403980302-interface ScriptHostInterface { }", + "signature": "-5403980302-interface ScriptHostInterface { }", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "./core.d.ts": { + "original": { + "version": "-15683237936-export const core = 10;", + "impliedFormat": 1 + }, + "version": "-15683237936-export const core = 10;", + "signature": "-15683237936-export const core = 10;", + "impliedFormat": "commonjs" + }, + "./file.ts": { + "original": { + "version": "-16628394009-export const file = 10;", + "signature": "-9025507999-export declare const file = 10;\n", + "impliedFormat": 1 + }, + "version": "-16628394009-export const file = 10;", + "signature": "-9025507999-export declare const file = 10;\n", + "impliedFormat": "commonjs" + }, + "./file2.ts": { + "original": { + "version": "-15920922626-/// \n/// \n/// \n", + "signature": "5381-", + "impliedFormat": 1 + }, + "version": "-15920922626-/// \n/// \n/// \n", + "signature": "5381-", + "impliedFormat": "commonjs" + }, + "./index.ts": { + "original": { + "version": "-6136895998-export const x = \"type1\";export const xyz = 10;", + "signature": "-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n", + "impliedFormat": 1 + }, + "version": "-6136895998-export const x = \"type1\";export const xyz = 10;", + "signature": "-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n", + "impliedFormat": "commonjs" + }, + "./utils.d.ts": { + "original": { + "version": "-13729955264-export const y = 10;", + "impliedFormat": 1 + }, + "version": "-13729955264-export const y = 10;", + "signature": "-13729955264-export const y = 10;", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 3, + 7 + ], + [ + "./core.d.ts", + "./file.ts", + "./file2.ts", + "./index.ts", + "./utils.d.ts" + ] + ] + ], + "options": { + "composite": true + }, + "latestChangedDtsFile": "./index.d.ts" + }, + "version": "FakeTSVersion", + "size": 1501 +} + + + +Program root files: [ + "/home/src/projects/project1/core.d.ts", + "/home/src/projects/project1/file.ts", + "/home/src/projects/project1/file2.ts", + "/home/src/projects/project1/index.ts", + "/home/src/projects/project1/utils.d.ts" +] +Program options: { + "composite": true, + "traceResolution": true, + "watch": true, + "project": "/home/src/projects/project1", + "explainFiles": true, + "extendedDiagnostics": true, + "configFilePath": "/home/src/projects/project1/tsconfig.json" +} +Program structureReused: Completely +Program files:: +/home/src/lib/lib.d.ts +/home/src/lib/lib.scripthost.d.ts +/home/src/projects/project1/core.d.ts +/home/src/projects/project1/file.ts +/home/src/projects/project1/file2.ts +/home/src/projects/project1/index.ts +/home/src/projects/project1/utils.d.ts + +Semantic diagnostics in builder refreshed for:: +/home/src/projects/project1/index.ts + +Shape signatures in builder refreshed for:: +/home/src/projects/project1/index.ts (computed .d.ts) + +exitCode:: ExitStatus.undefined + +Change:: delete core + +Input:: +//// [/home/src/projects/project1/core.d.ts] deleted + +Output:: +FileWatcher:: Triggered with /home/src/projects/project1/core.d.ts 2:: WatchInfo: /home/src/projects/project1/core.d.ts 250 undefined Source file +Scheduling update +Elapsed:: *ms FileWatcher:: Triggered with /home/src/projects/project1/core.d.ts 2:: WatchInfo: /home/src/projects/project1/core.d.ts 250 undefined Source file +DirectoryWatcher:: Triggered with /home/src/projects/project1/core.d.ts :: WatchInfo: /home/src/projects/project1 1 undefined Wild card directory +Scheduling update +Elapsed:: *ms DirectoryWatcher:: Triggered with /home/src/projects/project1/core.d.ts :: WatchInfo: /home/src/projects/project1 1 undefined Wild card directory + + +Timeout callback:: count: 1 +3: timerToUpdateProgram *new* + +Before running Timeout callback:: count: 1 +3: timerToUpdateProgram + +Host is moving to new time +After running Timeout callback:: count: 0 +Output:: +Reloading new file names and options +Synchronizing program +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +CreatingProgramWith:: + roots: ["/home/src/projects/project1/file.ts","/home/src/projects/project1/file2.ts","/home/src/projects/project1/index.ts","/home/src/projects/project1/utils.d.ts"] + options: {"composite":true,"traceResolution":true,"watch":true,"project":"/home/src/projects/project1","explainFiles":true,"extendedDiagnostics":true,"configFilePath":"/home/src/projects/project1/tsconfig.json"} +File '/home/src/projects/project1/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/project1/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +Reusing resolution of module '@typescript/lib-scripthost' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.scripthost.d.ts__.ts' of old program, it was not resolved. +File '/home/src/lib/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/project1/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/project1/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/lib/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +FileWatcher:: Close:: WatchInfo: /home/src/projects/project1/core.d.ts 250 undefined Source file +project1/file2.ts:1:21 - error TS2727: Cannot find lib definition for 'webworker2'. Did you mean 'webworker'? + +1 /// +   ~~~~~~~~~~ + +project1/file2.ts:2:21 - error TS2726: Cannot find lib definition for 'unknownlib'. + +2 /// +   ~~~~~~~~~~ + +../lib/lib.d.ts + Default library for target 'es5' +../lib/lib.scripthost.d.ts + Library referenced via 'scripthost' from file 'project1/file2.ts' +project1/file.ts + Matched by default include pattern '**/*' +project1/file2.ts + Matched by default include pattern '**/*' +project1/index.ts + Matched by default include pattern '**/*' +project1/utils.d.ts + Matched by default include pattern '**/*' +[HH:MM:SS AM] Found 2 errors. Watching for file changes. + + + +//// [/home/src/projects/project1/tsconfig.tsbuildinfo] +{"program":{"fileNames":["../../lib/lib.d.ts","../../lib/lib.scripthost.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n","impliedFormat":1},{"version":"-15920922626-/// \n/// \n/// \n","signature":"5381-","impliedFormat":1},{"version":"-6136895998-export const x = \"type1\";export const xyz = 10;","signature":"-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1}],"root":[[3,6]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} + +//// [/home/src/projects/project1/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../lib/lib.d.ts", + "../../lib/lib.scripthost.d.ts", + "./file.ts", + "./file2.ts", + "./index.ts", + "./utils.d.ts" + ], + "fileInfos": { + "../../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "../../lib/lib.scripthost.d.ts": { + "original": { + "version": "-5403980302-interface ScriptHostInterface { }", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "-5403980302-interface ScriptHostInterface { }", + "signature": "-5403980302-interface ScriptHostInterface { }", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "./file.ts": { + "original": { + "version": "-16628394009-export const file = 10;", + "signature": "-9025507999-export declare const file = 10;\n", + "impliedFormat": 1 + }, + "version": "-16628394009-export const file = 10;", + "signature": "-9025507999-export declare const file = 10;\n", + "impliedFormat": "commonjs" + }, + "./file2.ts": { + "original": { + "version": "-15920922626-/// \n/// \n/// \n", + "signature": "5381-", + "impliedFormat": 1 + }, + "version": "-15920922626-/// \n/// \n/// \n", + "signature": "5381-", + "impliedFormat": "commonjs" + }, + "./index.ts": { + "original": { + "version": "-6136895998-export const x = \"type1\";export const xyz = 10;", + "signature": "-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n", + "impliedFormat": 1 + }, + "version": "-6136895998-export const x = \"type1\";export const xyz = 10;", + "signature": "-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n", + "impliedFormat": "commonjs" + }, + "./utils.d.ts": { + "original": { + "version": "-13729955264-export const y = 10;", + "impliedFormat": 1 + }, + "version": "-13729955264-export const y = 10;", + "signature": "-13729955264-export const y = 10;", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 3, + 6 + ], + [ + "./file.ts", + "./file2.ts", + "./index.ts", + "./utils.d.ts" + ] + ] + ], + "options": { + "composite": true + }, + "latestChangedDtsFile": "./index.d.ts" + }, + "version": "FakeTSVersion", + "size": 1418 +} + + +PolledWatches:: +/home/src/projects/node_modules: + {"pollingInterval":500} +/home/src/projects/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/package.json: + {"pollingInterval":2000} +/home/src/projects/project1/node_modules: + {"pollingInterval":500} +/home/src/projects/project1/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/project1/package.json: + {"pollingInterval":2000} + +FsWatches:: +/home/src/lib/lib.d.ts: + {} +/home/src/lib/lib.scripthost.d.ts: + {} +/home/src/projects/project1/file.ts: + {} +/home/src/projects/project1/file2.ts: + {} +/home/src/projects/project1/index.ts: + {} +/home/src/projects/project1/tsconfig.json: + {} +/home/src/projects/project1/utils.d.ts: + {} + +FsWatches *deleted*:: +/home/src/projects/project1/core.d.ts: + {} + +FsWatchesRecursive:: +/home/src/projects/project1: + {} + + +Program root files: [ + "/home/src/projects/project1/file.ts", + "/home/src/projects/project1/file2.ts", + "/home/src/projects/project1/index.ts", + "/home/src/projects/project1/utils.d.ts" +] +Program options: { + "composite": true, + "traceResolution": true, + "watch": true, + "project": "/home/src/projects/project1", + "explainFiles": true, + "extendedDiagnostics": true, + "configFilePath": "/home/src/projects/project1/tsconfig.json" +} +Program structureReused: Not +Program files:: +/home/src/lib/lib.d.ts +/home/src/lib/lib.scripthost.d.ts +/home/src/projects/project1/file.ts +/home/src/projects/project1/file2.ts +/home/src/projects/project1/index.ts +/home/src/projects/project1/utils.d.ts + +Semantic diagnostics in builder refreshed for:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Change:: remove unknown lib + +Input:: +//// [/home/src/projects/project1/file2.ts] +/// +/// + + + +Output:: +FileWatcher:: Triggered with /home/src/projects/project1/file2.ts 1:: WatchInfo: /home/src/projects/project1/file2.ts 250 undefined Source file +Scheduling update +Elapsed:: *ms FileWatcher:: Triggered with /home/src/projects/project1/file2.ts 1:: WatchInfo: /home/src/projects/project1/file2.ts 250 undefined Source file + + +Timeout callback:: count: 1 +4: timerToUpdateProgram *new* + +Before running Timeout callback:: count: 1 +4: timerToUpdateProgram + +Host is moving to new time +After running Timeout callback:: count: 0 +Output:: +Synchronizing program +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +CreatingProgramWith:: + roots: ["/home/src/projects/project1/file.ts","/home/src/projects/project1/file2.ts","/home/src/projects/project1/index.ts","/home/src/projects/project1/utils.d.ts"] + options: {"composite":true,"traceResolution":true,"watch":true,"project":"/home/src/projects/project1","explainFiles":true,"extendedDiagnostics":true,"configFilePath":"/home/src/projects/project1/tsconfig.json"} +File '/home/src/lib/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/lib/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/project1/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/project1/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/project1/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/project1/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/project1/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/project1/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +Reusing resolution of module '@typescript/lib-scripthost' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.scripthost.d.ts__.ts' of old program, it was not resolved. +File '/home/src/lib/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/project1/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/project1/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/lib/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +project1/file2.ts:1:21 - error TS2727: Cannot find lib definition for 'webworker2'. Did you mean 'webworker'? + +1 /// +   ~~~~~~~~~~ + +../lib/lib.d.ts + Default library for target 'es5' +../lib/lib.scripthost.d.ts + Library referenced via 'scripthost' from file 'project1/file2.ts' +project1/file.ts + Matched by default include pattern '**/*' +project1/file2.ts + Matched by default include pattern '**/*' +project1/index.ts + Matched by default include pattern '**/*' +project1/utils.d.ts + Matched by default include pattern '**/*' +[HH:MM:SS AM] Found 1 error. Watching for file changes. + + + +//// [/home/src/projects/project1/file2.js] +/// +/// + + +//// [/home/src/projects/project1/tsconfig.tsbuildinfo] +{"program":{"fileNames":["../../lib/lib.d.ts","../../lib/lib.scripthost.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n","impliedFormat":1},{"version":"-13885971376-/// \n/// \n","signature":"5381-","impliedFormat":1},{"version":"-6136895998-export const x = \"type1\";export const xyz = 10;","signature":"-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1}],"root":[[3,6]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} + +//// [/home/src/projects/project1/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../lib/lib.d.ts", + "../../lib/lib.scripthost.d.ts", + "./file.ts", + "./file2.ts", + "./index.ts", + "./utils.d.ts" + ], + "fileInfos": { + "../../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "../../lib/lib.scripthost.d.ts": { + "original": { + "version": "-5403980302-interface ScriptHostInterface { }", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "-5403980302-interface ScriptHostInterface { }", + "signature": "-5403980302-interface ScriptHostInterface { }", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "./file.ts": { + "original": { + "version": "-16628394009-export const file = 10;", + "signature": "-9025507999-export declare const file = 10;\n", + "impliedFormat": 1 + }, + "version": "-16628394009-export const file = 10;", + "signature": "-9025507999-export declare const file = 10;\n", + "impliedFormat": "commonjs" + }, + "./file2.ts": { + "original": { + "version": "-13885971376-/// \n/// \n", + "signature": "5381-", + "impliedFormat": 1 + }, + "version": "-13885971376-/// \n/// \n", + "signature": "5381-", + "impliedFormat": "commonjs" + }, + "./index.ts": { + "original": { + "version": "-6136895998-export const x = \"type1\";export const xyz = 10;", + "signature": "-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n", + "impliedFormat": 1 + }, + "version": "-6136895998-export const x = \"type1\";export const xyz = 10;", + "signature": "-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n", + "impliedFormat": "commonjs" + }, + "./utils.d.ts": { + "original": { + "version": "-13729955264-export const y = 10;", + "impliedFormat": 1 + }, + "version": "-13729955264-export const y = 10;", + "signature": "-13729955264-export const y = 10;", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 3, + 6 + ], + [ + "./file.ts", + "./file2.ts", + "./index.ts", + "./utils.d.ts" + ] + ] + ], + "options": { + "composite": true + }, + "latestChangedDtsFile": "./index.d.ts" + }, + "version": "FakeTSVersion", + "size": 1381 +} + + + +Program root files: [ + "/home/src/projects/project1/file.ts", + "/home/src/projects/project1/file2.ts", + "/home/src/projects/project1/index.ts", + "/home/src/projects/project1/utils.d.ts" +] +Program options: { + "composite": true, + "traceResolution": true, + "watch": true, + "project": "/home/src/projects/project1", + "explainFiles": true, + "extendedDiagnostics": true, + "configFilePath": "/home/src/projects/project1/tsconfig.json" +} +Program structureReused: SafeModules +Program files:: +/home/src/lib/lib.d.ts +/home/src/lib/lib.scripthost.d.ts +/home/src/projects/project1/file.ts +/home/src/projects/project1/file2.ts +/home/src/projects/project1/index.ts +/home/src/projects/project1/utils.d.ts + +Semantic diagnostics in builder refreshed for:: +/home/src/projects/project1/file2.ts + +Shape signatures in builder refreshed for:: +/home/src/projects/project1/file2.ts (computed .d.ts) + +exitCode:: ExitStatus.undefined + +Change:: correct webworker lib + +Input:: +//// [/home/src/projects/project1/file2.ts] +/// +/// + + + +Output:: +FileWatcher:: Triggered with /home/src/projects/project1/file2.ts 1:: WatchInfo: /home/src/projects/project1/file2.ts 250 undefined Source file +Scheduling update +Elapsed:: *ms FileWatcher:: Triggered with /home/src/projects/project1/file2.ts 1:: WatchInfo: /home/src/projects/project1/file2.ts 250 undefined Source file + + +Timeout callback:: count: 1 +5: timerToUpdateProgram *new* + +Before running Timeout callback:: count: 1 +5: timerToUpdateProgram + +Host is moving to new time +After running Timeout callback:: count: 0 +Output:: +Synchronizing program +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +CreatingProgramWith:: + roots: ["/home/src/projects/project1/file.ts","/home/src/projects/project1/file2.ts","/home/src/projects/project1/index.ts","/home/src/projects/project1/utils.d.ts"] + options: {"composite":true,"traceResolution":true,"watch":true,"project":"/home/src/projects/project1","explainFiles":true,"extendedDiagnostics":true,"configFilePath":"/home/src/projects/project1/tsconfig.json"} +File '/home/src/lib/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/lib/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/project1/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/project1/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/project1/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/project1/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/project1/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/project1/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +======== Resolving module '@typescript/lib-webworker' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.webworker.d.ts__.ts'. ======== +Explicitly specified module resolution kind: 'Node10'. +Loading module '@typescript/lib-webworker' from 'node_modules' folder, target file types: TypeScript, Declaration. +Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration. +Directory '/home/src/projects/project1/node_modules' does not exist, skipping all lookups in it. +Scoped package detected, looking in 'typescript__lib-webworker' +Directory '/home/src/projects/node_modules' does not exist, skipping all lookups in it. +Scoped package detected, looking in 'typescript__lib-webworker' +Directory '/home/src/node_modules' does not exist, skipping all lookups in it. +Scoped package detected, looking in 'typescript__lib-webworker' +Directory '/home/node_modules' does not exist, skipping all lookups in it. +Scoped package detected, looking in 'typescript__lib-webworker' +Directory '/node_modules' does not exist, skipping all lookups in it. +Scoped package detected, looking in 'typescript__lib-webworker' +Loading module '@typescript/lib-webworker' from 'node_modules' folder, target file types: JavaScript. +Searching all ancestor node_modules directories for fallback extensions: JavaScript. +Directory '/home/src/projects/project1/node_modules' does not exist, skipping all lookups in it. +Directory '/home/src/projects/node_modules' does not exist, skipping all lookups in it. +Directory '/home/src/node_modules' does not exist, skipping all lookups in it. +Directory '/home/node_modules' does not exist, skipping all lookups in it. +Directory '/node_modules' does not exist, skipping all lookups in it. +======== Module name '@typescript/lib-webworker' was not resolved. ======== +File '/home/src/lib/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +FileWatcher:: Added:: WatchInfo: /home/src/lib/lib.webworker.d.ts 250 undefined Source file +Reusing resolution of module '@typescript/lib-scripthost' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.scripthost.d.ts__.ts' of old program, it was not resolved. +File '/home/src/lib/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/project1/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/project1/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/lib/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +../lib/lib.d.ts + Default library for target 'es5' +../lib/lib.webworker.d.ts + Library referenced via 'webworker' from file 'project1/file2.ts' +../lib/lib.scripthost.d.ts + Library referenced via 'scripthost' from file 'project1/file2.ts' +project1/file.ts + Matched by default include pattern '**/*' +project1/file2.ts + Matched by default include pattern '**/*' +project1/index.ts + Matched by default include pattern '**/*' +project1/utils.d.ts + Matched by default include pattern '**/*' +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + +//// [/home/src/projects/project1/file.js] file written with same contents +//// [/home/src/projects/project1/file2.js] +/// +/// + + +//// [/home/src/projects/project1/index.js] file written with same contents +//// [/home/src/projects/project1/tsconfig.tsbuildinfo] +{"program":{"fileNames":["../../lib/lib.d.ts","../../lib/lib.webworker.d.ts","../../lib/lib.scripthost.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3990185033-interface WebWorkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n","impliedFormat":1},{"version":"-17945718466-/// \n/// \n","signature":"5381-","impliedFormat":1},{"version":"-6136895998-export const x = \"type1\";export const xyz = 10;","signature":"-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1}],"root":[[4,7]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} + +//// [/home/src/projects/project1/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../lib/lib.d.ts", + "../../lib/lib.webworker.d.ts", + "../../lib/lib.scripthost.d.ts", + "./file.ts", + "./file2.ts", + "./index.ts", + "./utils.d.ts" + ], + "fileInfos": { + "../../lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "../../lib/lib.webworker.d.ts": { + "original": { + "version": "-3990185033-interface WebWorkerInterface { }", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "-3990185033-interface WebWorkerInterface { }", + "signature": "-3990185033-interface WebWorkerInterface { }", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "../../lib/lib.scripthost.d.ts": { + "original": { + "version": "-5403980302-interface ScriptHostInterface { }", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "-5403980302-interface ScriptHostInterface { }", + "signature": "-5403980302-interface ScriptHostInterface { }", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "./file.ts": { + "original": { + "version": "-16628394009-export const file = 10;", + "signature": "-9025507999-export declare const file = 10;\n", + "impliedFormat": 1 + }, + "version": "-16628394009-export const file = 10;", + "signature": "-9025507999-export declare const file = 10;\n", + "impliedFormat": "commonjs" + }, + "./file2.ts": { + "original": { + "version": "-17945718466-/// \n/// \n", + "signature": "5381-", + "impliedFormat": 1 + }, + "version": "-17945718466-/// \n/// \n", + "signature": "5381-", + "impliedFormat": "commonjs" + }, + "./index.ts": { + "original": { + "version": "-6136895998-export const x = \"type1\";export const xyz = 10;", + "signature": "-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n", + "impliedFormat": 1 + }, + "version": "-6136895998-export const x = \"type1\";export const xyz = 10;", + "signature": "-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n", + "impliedFormat": "commonjs" + }, + "./utils.d.ts": { + "original": { + "version": "-13729955264-export const y = 10;", + "impliedFormat": 1 + }, + "version": "-13729955264-export const y = 10;", + "signature": "-13729955264-export const y = 10;", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 4, + 7 + ], + [ + "./file.ts", + "./file2.ts", + "./index.ts", + "./utils.d.ts" + ] + ] + ], + "options": { + "composite": true + }, + "latestChangedDtsFile": "./index.d.ts" + }, + "version": "FakeTSVersion", + "size": 1514 +} + + +PolledWatches:: +/home/src/projects/node_modules: + {"pollingInterval":500} +/home/src/projects/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/package.json: + {"pollingInterval":2000} +/home/src/projects/project1/node_modules: + {"pollingInterval":500} +/home/src/projects/project1/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/project1/package.json: + {"pollingInterval":2000} + +FsWatches:: +/home/src/lib/lib.d.ts: + {} +/home/src/lib/lib.scripthost.d.ts: + {} +/home/src/lib/lib.webworker.d.ts: *new* + {} +/home/src/projects/project1/file.ts: + {} +/home/src/projects/project1/file2.ts: + {} +/home/src/projects/project1/index.ts: + {} +/home/src/projects/project1/tsconfig.json: + {} +/home/src/projects/project1/utils.d.ts: + {} + +FsWatchesRecursive:: +/home/src/projects/project1: + {} + + +Program root files: [ + "/home/src/projects/project1/file.ts", + "/home/src/projects/project1/file2.ts", + "/home/src/projects/project1/index.ts", + "/home/src/projects/project1/utils.d.ts" +] +Program options: { + "composite": true, + "traceResolution": true, + "watch": true, + "project": "/home/src/projects/project1", + "explainFiles": true, + "extendedDiagnostics": true, + "configFilePath": "/home/src/projects/project1/tsconfig.json" +} +Program structureReused: SafeModules +Program files:: +/home/src/lib/lib.d.ts +/home/src/lib/lib.webworker.d.ts +/home/src/lib/lib.scripthost.d.ts +/home/src/projects/project1/file.ts +/home/src/projects/project1/file2.ts +/home/src/projects/project1/index.ts +/home/src/projects/project1/utils.d.ts + +Semantic diagnostics in builder refreshed for:: +/home/src/lib/lib.d.ts +/home/src/lib/lib.webworker.d.ts +/home/src/lib/lib.scripthost.d.ts +/home/src/projects/project1/file.ts +/home/src/projects/project1/file2.ts +/home/src/projects/project1/index.ts +/home/src/projects/project1/utils.d.ts + +Shape signatures in builder refreshed for:: +/home/src/lib/lib.webworker.d.ts (used version) +/home/src/lib/lib.scripthost.d.ts (used version) +/home/src/projects/project1/file.ts (computed .d.ts) +/home/src/projects/project1/file2.ts (computed .d.ts) +/home/src/projects/project1/index.ts (computed .d.ts) +/home/src/projects/project1/utils.d.ts (used version) + +exitCode:: ExitStatus.undefined diff --git a/tests/baselines/reference/tscWatch/libraryResolution/with-config-with-redirection.js b/tests/baselines/reference/tscWatch/libraryResolution/with-config-with-redirection.js index d0e3b677caef3..941927a970169 100644 --- a/tests/baselines/reference/tscWatch/libraryResolution/with-config-with-redirection.js +++ b/tests/baselines/reference/tscWatch/libraryResolution/with-config-with-redirection.js @@ -392,7 +392,7 @@ export declare const x = "type1"; //// [/home/src/projects/project1/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../node_modules/@typescript/lib-webworker/index.d.ts","../node_modules/@typescript/lib-scripthost/index.d.ts","../node_modules/@typescript/lib-es5/index.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./core.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"-7827135529-interface WebworkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-15683237936-export const core = 10;","impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n","impliedFormat":1},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-","impliedFormat":1},{"version":"-11532698187-export const x = \"type1\";","signature":"-5899226897-export declare const x = \"type1\";\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1},{"version":"-12476477079-export type TheNum = \"type1\";","impliedFormat":1}],"root":[[5,10]],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[4,3,2,1,5,6,7,8,10,9],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../node_modules/@typescript/lib-webworker/index.d.ts","../node_modules/@typescript/lib-scripthost/index.d.ts","../node_modules/@typescript/lib-es5/index.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./core.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"-7827135529-interface WebworkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-15683237936-export const core = 10;","impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n","impliedFormat":1},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-","impliedFormat":1},{"version":"-11532698187-export const x = \"type1\";","signature":"-5899226897-export declare const x = \"type1\";\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1},{"version":"-12476477079-export type TheNum = \"type1\";","impliedFormat":1}],"root":[[5,10]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/home/src/projects/project1/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -531,23 +531,10 @@ export declare const x = "type1"; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../node_modules/@typescript/lib-dom/index.d.ts", - "../node_modules/@typescript/lib-es5/index.d.ts", - "../node_modules/@typescript/lib-scripthost/index.d.ts", - "../node_modules/@typescript/lib-webworker/index.d.ts", - "./core.d.ts", - "./file.ts", - "./file2.ts", - "./index.ts", - "./typeroot1/sometype/index.d.ts", - "./utils.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1979 + "size": 1908 } @@ -680,6 +667,7 @@ Before running Timeout callback:: count: 2 1: timerToUpdateProgram 2: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -842,7 +830,7 @@ project1/typeroot1/sometype/index.d.ts //// [/home/src/projects/project1/file2.js] file written with same contents //// [/home/src/projects/project1/index.js] file written with same contents //// [/home/src/projects/project1/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.dom.d.ts","../node_modules/@typescript/lib-webworker/index.d.ts","../node_modules/@typescript/lib-scripthost/index.d.ts","../node_modules/@typescript/lib-es5/index.d.ts","./core.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7827135529-interface WebworkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-15683237936-export const core = 10;","impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n","impliedFormat":1},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-","impliedFormat":1},{"version":"-11532698187-export const x = \"type1\";","signature":"-5899226897-export declare const x = \"type1\";\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1},{"version":"-12476477079-export type TheNum = \"type1\";","impliedFormat":1}],"root":[[5,10]],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,4,3,2,5,6,7,8,10,9],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.dom.d.ts","../node_modules/@typescript/lib-webworker/index.d.ts","../node_modules/@typescript/lib-scripthost/index.d.ts","../node_modules/@typescript/lib-es5/index.d.ts","./core.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7827135529-interface WebworkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-15683237936-export const core = 10;","impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n","impliedFormat":1},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-","impliedFormat":1},{"version":"-11532698187-export const x = \"type1\";","signature":"-5899226897-export declare const x = \"type1\";\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1},{"version":"-12476477079-export type TheNum = \"type1\";","impliedFormat":1}],"root":[[5,10]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/home/src/projects/project1/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -981,23 +969,10 @@ project1/typeroot1/sometype/index.d.ts "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.dom.d.ts", - "../node_modules/@typescript/lib-es5/index.d.ts", - "../node_modules/@typescript/lib-scripthost/index.d.ts", - "../node_modules/@typescript/lib-webworker/index.d.ts", - "./core.d.ts", - "./file.ts", - "./file2.ts", - "./index.ts", - "./typeroot1/sometype/index.d.ts", - "./utils.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1955 + "size": 1884 } @@ -1134,6 +1109,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -1243,7 +1219,7 @@ export declare const xyz = 10; //// [/home/src/projects/project1/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.dom.d.ts","../node_modules/@typescript/lib-webworker/index.d.ts","../node_modules/@typescript/lib-scripthost/index.d.ts","../node_modules/@typescript/lib-es5/index.d.ts","./core.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7827135529-interface WebworkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-15683237936-export const core = 10;","impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n","impliedFormat":1},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-","impliedFormat":1},{"version":"-6136895998-export const x = \"type1\";export const xyz = 10;","signature":"-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1},{"version":"-12476477079-export type TheNum = \"type1\";","impliedFormat":1}],"root":[[5,10]],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,4,3,2,5,6,7,8,10,9],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.dom.d.ts","../node_modules/@typescript/lib-webworker/index.d.ts","../node_modules/@typescript/lib-scripthost/index.d.ts","../node_modules/@typescript/lib-es5/index.d.ts","./core.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7827135529-interface WebworkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-15683237936-export const core = 10;","impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n","impliedFormat":1},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-","impliedFormat":1},{"version":"-6136895998-export const x = \"type1\";export const xyz = 10;","signature":"-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1},{"version":"-12476477079-export type TheNum = \"type1\";","impliedFormat":1}],"root":[[5,10]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/home/src/projects/project1/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1382,23 +1358,10 @@ export declare const xyz = 10; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.dom.d.ts", - "../node_modules/@typescript/lib-es5/index.d.ts", - "../node_modules/@typescript/lib-scripthost/index.d.ts", - "../node_modules/@typescript/lib-webworker/index.d.ts", - "./core.d.ts", - "./file.ts", - "./file2.ts", - "./index.ts", - "./typeroot1/sometype/index.d.ts", - "./utils.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 2008 + "size": 1937 } @@ -1468,6 +1431,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 5: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Reloading new file names and options @@ -1560,7 +1524,7 @@ project1/typeroot1/sometype/index.d.ts //// [/home/src/projects/project1/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.dom.d.ts","../node_modules/@typescript/lib-webworker/index.d.ts","../node_modules/@typescript/lib-scripthost/index.d.ts","../node_modules/@typescript/lib-es5/index.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7827135529-interface WebworkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n","impliedFormat":1},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-","impliedFormat":1},{"version":"-6136895998-export const x = \"type1\";export const xyz = 10;","signature":"-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1},{"version":"-12476477079-export type TheNum = \"type1\";","impliedFormat":1}],"root":[[5,9]],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,4,3,2,5,6,7,9,8],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.dom.d.ts","../node_modules/@typescript/lib-webworker/index.d.ts","../node_modules/@typescript/lib-scripthost/index.d.ts","../node_modules/@typescript/lib-es5/index.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7827135529-interface WebworkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n","impliedFormat":1},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-","impliedFormat":1},{"version":"-6136895998-export const x = \"type1\";export const xyz = 10;","signature":"-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1},{"version":"-12476477079-export type TheNum = \"type1\";","impliedFormat":1}],"root":[[5,9]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/home/src/projects/project1/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1688,22 +1652,10 @@ project1/typeroot1/sometype/index.d.ts "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.dom.d.ts", - "../node_modules/@typescript/lib-es5/index.d.ts", - "../node_modules/@typescript/lib-scripthost/index.d.ts", - "../node_modules/@typescript/lib-webworker/index.d.ts", - "./file.ts", - "./file2.ts", - "./index.ts", - "./typeroot1/sometype/index.d.ts", - "./utils.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1921 + "size": 1853 } @@ -1814,6 +1766,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 6: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 1 Output:: Scheduling update @@ -1826,6 +1779,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 7: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -1990,7 +1944,7 @@ project1/typeroot1/sometype/index.d.ts //// [/home/src/projects/project1/file2.js] file written with same contents //// [/home/src/projects/project1/index.js] file written with same contents //// [/home/src/projects/project1/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../node_modules/@typescript/lib-webworker/index.d.ts","../node_modules/@typescript/lib-scripthost/index.d.ts","../node_modules/@typescript/lib-es5/index.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"-7827135529-interface WebworkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n","impliedFormat":1},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-","impliedFormat":1},{"version":"-6136895998-export const x = \"type1\";export const xyz = 10;","signature":"-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1},{"version":"-12476477079-export type TheNum = \"type1\";","impliedFormat":1}],"root":[[5,9]],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[4,3,2,1,5,6,7,9,8],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../node_modules/@typescript/lib-webworker/index.d.ts","../node_modules/@typescript/lib-scripthost/index.d.ts","../node_modules/@typescript/lib-es5/index.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"-7827135529-interface WebworkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n","impliedFormat":1},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-","impliedFormat":1},{"version":"-6136895998-export const x = \"type1\";export const xyz = 10;","signature":"-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1},{"version":"-12476477079-export type TheNum = \"type1\";","impliedFormat":1}],"root":[[5,9]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/home/src/projects/project1/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -2118,22 +2072,10 @@ project1/typeroot1/sometype/index.d.ts "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../node_modules/@typescript/lib-dom/index.d.ts", - "../node_modules/@typescript/lib-es5/index.d.ts", - "../node_modules/@typescript/lib-scripthost/index.d.ts", - "../node_modules/@typescript/lib-webworker/index.d.ts", - "./file.ts", - "./file2.ts", - "./index.ts", - "./typeroot1/sometype/index.d.ts", - "./utils.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1945 + "size": 1877 } @@ -2274,6 +2216,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 8: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Reloading config file: /home/src/projects/project1/tsconfig.json @@ -2503,6 +2446,7 @@ Before running Timeout callback:: count: 2 10: timerToUpdateProgram 11: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 0 Output:: Reloading config file: /home/src/projects/project1/tsconfig.json @@ -2639,7 +2583,7 @@ project1/typeroot1/sometype/index.d.ts //// [/home/src/projects/project1/file2.js] file written with same contents //// [/home/src/projects/project1/index.js] file written with same contents //// [/home/src/projects/project1/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.dom.d.ts","../node_modules/@typescript/lib-webworker/index.d.ts","../node_modules/@typescript/lib-scripthost/index.d.ts","../node_modules/@typescript/lib-es5/index.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7827135529-interface WebworkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n","impliedFormat":1},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-","impliedFormat":1},{"version":"-6136895998-export const x = \"type1\";export const xyz = 10;","signature":"-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1},{"version":"-12476477079-export type TheNum = \"type1\";","impliedFormat":1}],"root":[[5,9]],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,4,3,2,5,6,7,9,8],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.dom.d.ts","../node_modules/@typescript/lib-webworker/index.d.ts","../node_modules/@typescript/lib-scripthost/index.d.ts","../node_modules/@typescript/lib-es5/index.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7827135529-interface WebworkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n","impliedFormat":1},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-","impliedFormat":1},{"version":"-6136895998-export const x = \"type1\";export const xyz = 10;","signature":"-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1},{"version":"-12476477079-export type TheNum = \"type1\";","impliedFormat":1}],"root":[[5,9]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/home/src/projects/project1/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -2767,22 +2711,10 @@ project1/typeroot1/sometype/index.d.ts "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.dom.d.ts", - "../node_modules/@typescript/lib-es5/index.d.ts", - "../node_modules/@typescript/lib-scripthost/index.d.ts", - "../node_modules/@typescript/lib-webworker/index.d.ts", - "./file.ts", - "./file2.ts", - "./index.ts", - "./typeroot1/sometype/index.d.ts", - "./utils.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1921 + "size": 1853 } @@ -2920,6 +2852,7 @@ Before running Timeout callback:: count: 2 12: timerToUpdateProgram 13: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -3055,7 +2988,7 @@ project1/typeroot1/sometype/index.d.ts //// [/home/src/projects/project1/file2.js] file written with same contents //// [/home/src/projects/project1/index.js] file written with same contents //// [/home/src/projects/project1/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.dom.d.ts","../../lib/lib.webworker.d.ts","../node_modules/@typescript/lib-scripthost/index.d.ts","../node_modules/@typescript/lib-es5/index.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3990185033-interface WebWorkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n","impliedFormat":1},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-","impliedFormat":1},{"version":"-6136895998-export const x = \"type1\";export const xyz = 10;","signature":"-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1},{"version":"-12476477079-export type TheNum = \"type1\";","impliedFormat":1}],"root":[[5,9]],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,4,3,5,6,7,9,8],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.dom.d.ts","../../lib/lib.webworker.d.ts","../node_modules/@typescript/lib-scripthost/index.d.ts","../node_modules/@typescript/lib-es5/index.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3990185033-interface WebWorkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n","impliedFormat":1},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-","impliedFormat":1},{"version":"-6136895998-export const x = \"type1\";export const xyz = 10;","signature":"-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1},{"version":"-12476477079-export type TheNum = \"type1\";","impliedFormat":1}],"root":[[5,9]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/home/src/projects/project1/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -3183,22 +3116,10 @@ project1/typeroot1/sometype/index.d.ts "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.dom.d.ts", - "../../lib/lib.webworker.d.ts", - "../node_modules/@typescript/lib-es5/index.d.ts", - "../node_modules/@typescript/lib-scripthost/index.d.ts", - "./file.ts", - "./file2.ts", - "./index.ts", - "./typeroot1/sometype/index.d.ts", - "./utils.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1897 + "size": 1829 } @@ -3329,6 +3250,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 14: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 1 Output:: Scheduling update @@ -3341,6 +3263,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 15: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -3499,7 +3422,7 @@ project1/typeroot1/sometype/index.d.ts //// [/home/src/projects/project1/file2.js] file written with same contents //// [/home/src/projects/project1/index.js] file written with same contents //// [/home/src/projects/project1/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.dom.d.ts","../node_modules/@typescript/lib-webworker/index.d.ts","../node_modules/@typescript/lib-scripthost/index.d.ts","../node_modules/@typescript/lib-es5/index.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7827135529-interface WebworkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n","impliedFormat":1},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-","impliedFormat":1},{"version":"-6136895998-export const x = \"type1\";export const xyz = 10;","signature":"-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1},{"version":"-12476477079-export type TheNum = \"type1\";","impliedFormat":1}],"root":[[5,9]],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,4,3,2,5,6,7,9,8],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.dom.d.ts","../node_modules/@typescript/lib-webworker/index.d.ts","../node_modules/@typescript/lib-scripthost/index.d.ts","../node_modules/@typescript/lib-es5/index.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7827135529-interface WebworkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n","impliedFormat":1},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-","impliedFormat":1},{"version":"-6136895998-export const x = \"type1\";export const xyz = 10;","signature":"-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1},{"version":"-12476477079-export type TheNum = \"type1\";","impliedFormat":1}],"root":[[5,9]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/home/src/projects/project1/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -3627,22 +3550,10 @@ project1/typeroot1/sometype/index.d.ts "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.dom.d.ts", - "../node_modules/@typescript/lib-es5/index.d.ts", - "../node_modules/@typescript/lib-scripthost/index.d.ts", - "../node_modules/@typescript/lib-webworker/index.d.ts", - "./file.ts", - "./file2.ts", - "./index.ts", - "./typeroot1/sometype/index.d.ts", - "./utils.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1921 + "size": 1853 } diff --git a/tests/baselines/reference/tscWatch/libraryResolution/with-config.js b/tests/baselines/reference/tscWatch/libraryResolution/with-config.js index f9b5920547d99..fdaf64491238c 100644 --- a/tests/baselines/reference/tscWatch/libraryResolution/with-config.js +++ b/tests/baselines/reference/tscWatch/libraryResolution/with-config.js @@ -385,7 +385,7 @@ export declare const x = "type1"; //// [/home/src/projects/project1/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.es5.d.ts","../../lib/lib.dom.d.ts","../../lib/lib.webworker.d.ts","../../lib/lib.scripthost.d.ts","./core.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3990185033-interface WebWorkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-15683237936-export const core = 10;","impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n","impliedFormat":1},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-","impliedFormat":1},{"version":"-11532698187-export const x = \"type1\";","signature":"-5899226897-export declare const x = \"type1\";\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1},{"version":"-12476477079-export type TheNum = \"type1\";","impliedFormat":1}],"root":[[5,10]],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[2,1,4,3,5,6,7,8,10,9],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.es5.d.ts","../../lib/lib.dom.d.ts","../../lib/lib.webworker.d.ts","../../lib/lib.scripthost.d.ts","./core.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3990185033-interface WebWorkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-15683237936-export const core = 10;","impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n","impliedFormat":1},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-","impliedFormat":1},{"version":"-11532698187-export const x = \"type1\";","signature":"-5899226897-export declare const x = \"type1\";\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1},{"version":"-12476477079-export type TheNum = \"type1\";","impliedFormat":1}],"root":[[5,10]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/home/src/projects/project1/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -524,23 +524,10 @@ export declare const x = "type1"; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.dom.d.ts", - "../../lib/lib.es5.d.ts", - "../../lib/lib.scripthost.d.ts", - "../../lib/lib.webworker.d.ts", - "./core.d.ts", - "./file.ts", - "./file2.ts", - "./index.ts", - "./typeroot1/sometype/index.d.ts", - "./utils.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1883 + "size": 1812 } @@ -673,6 +660,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 1 Output:: Scheduling update @@ -685,6 +673,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -843,7 +832,7 @@ project1/typeroot1/sometype/index.d.ts //// [/home/src/projects/project1/file2.js] file written with same contents //// [/home/src/projects/project1/index.js] file written with same contents //// [/home/src/projects/project1/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.es5.d.ts","../../lib/lib.webworker.d.ts","../../lib/lib.scripthost.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./core.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3990185033-interface WebWorkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-15683237936-export const core = 10;","impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n","impliedFormat":1},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-","impliedFormat":1},{"version":"-11532698187-export const x = \"type1\";","signature":"-5899226897-export declare const x = \"type1\";\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1},{"version":"-12476477079-export type TheNum = \"type1\";","impliedFormat":1}],"root":[[5,10]],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,3,2,4,5,6,7,8,10,9],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.es5.d.ts","../../lib/lib.webworker.d.ts","../../lib/lib.scripthost.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./core.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3990185033-interface WebWorkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-15683237936-export const core = 10;","impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n","impliedFormat":1},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-","impliedFormat":1},{"version":"-11532698187-export const x = \"type1\";","signature":"-5899226897-export declare const x = \"type1\";\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1},{"version":"-12476477079-export type TheNum = \"type1\";","impliedFormat":1}],"root":[[5,10]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/home/src/projects/project1/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -982,23 +971,10 @@ project1/typeroot1/sometype/index.d.ts "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.es5.d.ts", - "../../lib/lib.scripthost.d.ts", - "../../lib/lib.webworker.d.ts", - "../node_modules/@typescript/lib-dom/index.d.ts", - "./core.d.ts", - "./file.ts", - "./file2.ts", - "./index.ts", - "./typeroot1/sometype/index.d.ts", - "./utils.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1907 + "size": 1836 } @@ -1132,6 +1108,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 4: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -1235,7 +1212,7 @@ export declare const xyz = 10; //// [/home/src/projects/project1/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.es5.d.ts","../../lib/lib.webworker.d.ts","../../lib/lib.scripthost.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./core.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3990185033-interface WebWorkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-15683237936-export const core = 10;","impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n","impliedFormat":1},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-","impliedFormat":1},{"version":"-6136895998-export const x = \"type1\";export const xyz = 10;","signature":"-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1},{"version":"-12476477079-export type TheNum = \"type1\";","impliedFormat":1}],"root":[[5,10]],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,3,2,4,5,6,7,8,10,9],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.es5.d.ts","../../lib/lib.webworker.d.ts","../../lib/lib.scripthost.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./core.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3990185033-interface WebWorkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-15683237936-export const core = 10;","impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n","impliedFormat":1},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-","impliedFormat":1},{"version":"-6136895998-export const x = \"type1\";export const xyz = 10;","signature":"-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1},{"version":"-12476477079-export type TheNum = \"type1\";","impliedFormat":1}],"root":[[5,10]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/home/src/projects/project1/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1374,23 +1351,10 @@ export declare const xyz = 10; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.es5.d.ts", - "../../lib/lib.scripthost.d.ts", - "../../lib/lib.webworker.d.ts", - "../node_modules/@typescript/lib-dom/index.d.ts", - "./core.d.ts", - "./file.ts", - "./file2.ts", - "./index.ts", - "./typeroot1/sometype/index.d.ts", - "./utils.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1960 + "size": 1889 } @@ -1460,6 +1424,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 6: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Reloading new file names and options @@ -1546,7 +1511,7 @@ project1/typeroot1/sometype/index.d.ts //// [/home/src/projects/project1/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.es5.d.ts","../../lib/lib.webworker.d.ts","../../lib/lib.scripthost.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3990185033-interface WebWorkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n","impliedFormat":1},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-","impliedFormat":1},{"version":"-6136895998-export const x = \"type1\";export const xyz = 10;","signature":"-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1},{"version":"-12476477079-export type TheNum = \"type1\";","impliedFormat":1}],"root":[[5,9]],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,3,2,4,5,6,7,9,8],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.es5.d.ts","../../lib/lib.webworker.d.ts","../../lib/lib.scripthost.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3990185033-interface WebWorkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n","impliedFormat":1},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-","impliedFormat":1},{"version":"-6136895998-export const x = \"type1\";export const xyz = 10;","signature":"-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1},{"version":"-12476477079-export type TheNum = \"type1\";","impliedFormat":1}],"root":[[5,9]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/home/src/projects/project1/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1674,22 +1639,10 @@ project1/typeroot1/sometype/index.d.ts "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.es5.d.ts", - "../../lib/lib.scripthost.d.ts", - "../../lib/lib.webworker.d.ts", - "../node_modules/@typescript/lib-dom/index.d.ts", - "./file.ts", - "./file2.ts", - "./index.ts", - "./typeroot1/sometype/index.d.ts", - "./utils.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1873 + "size": 1805 } @@ -1803,6 +1756,7 @@ Before running Timeout callback:: count: 2 7: timerToUpdateProgram 8: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -1940,7 +1894,7 @@ project1/typeroot1/sometype/index.d.ts //// [/home/src/projects/project1/file2.js] file written with same contents //// [/home/src/projects/project1/index.js] file written with same contents //// [/home/src/projects/project1/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.es5.d.ts","../../lib/lib.dom.d.ts","../../lib/lib.webworker.d.ts","../../lib/lib.scripthost.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3990185033-interface WebWorkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n","impliedFormat":1},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-","impliedFormat":1},{"version":"-6136895998-export const x = \"type1\";export const xyz = 10;","signature":"-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1},{"version":"-12476477079-export type TheNum = \"type1\";","impliedFormat":1}],"root":[[5,9]],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[2,1,4,3,5,6,7,9,8],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.es5.d.ts","../../lib/lib.dom.d.ts","../../lib/lib.webworker.d.ts","../../lib/lib.scripthost.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3990185033-interface WebWorkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n","impliedFormat":1},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-","impliedFormat":1},{"version":"-6136895998-export const x = \"type1\";export const xyz = 10;","signature":"-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1},{"version":"-12476477079-export type TheNum = \"type1\";","impliedFormat":1}],"root":[[5,9]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/home/src/projects/project1/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -2068,22 +2022,10 @@ project1/typeroot1/sometype/index.d.ts "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.dom.d.ts", - "../../lib/lib.es5.d.ts", - "../../lib/lib.scripthost.d.ts", - "../../lib/lib.webworker.d.ts", - "./file.ts", - "./file2.ts", - "./index.ts", - "./typeroot1/sometype/index.d.ts", - "./utils.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1849 + "size": 1781 } @@ -2227,6 +2169,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 9: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Reloading config file: /home/src/projects/project1/tsconfig.json @@ -2555,7 +2498,7 @@ project1/typeroot1/sometype/index.d.ts //// [/home/src/projects/project1/file2.js] file written with same contents //// [/home/src/projects/project1/index.js] file written with same contents //// [/home/src/projects/project1/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.es5.d.ts","../../lib/lib.webworker.d.ts","../../lib/lib.scripthost.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3990185033-interface WebWorkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n","impliedFormat":1},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-","impliedFormat":1},{"version":"-6136895998-export const x = \"type1\";export const xyz = 10;","signature":"-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1},{"version":"-12476477079-export type TheNum = \"type1\";","impliedFormat":1}],"root":[[5,9]],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,3,2,4,5,6,7,9,8],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.es5.d.ts","../../lib/lib.webworker.d.ts","../../lib/lib.scripthost.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3990185033-interface WebWorkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n","impliedFormat":1},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-","impliedFormat":1},{"version":"-6136895998-export const x = \"type1\";export const xyz = 10;","signature":"-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1},{"version":"-12476477079-export type TheNum = \"type1\";","impliedFormat":1}],"root":[[5,9]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/home/src/projects/project1/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -2683,22 +2626,10 @@ project1/typeroot1/sometype/index.d.ts "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.es5.d.ts", - "../../lib/lib.scripthost.d.ts", - "../../lib/lib.webworker.d.ts", - "../node_modules/@typescript/lib-dom/index.d.ts", - "./file.ts", - "./file2.ts", - "./index.ts", - "./typeroot1/sometype/index.d.ts", - "./utils.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1873 + "size": 1805 } @@ -2836,6 +2767,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 13: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 1 Output:: Scheduling update @@ -2848,6 +2780,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 14: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -3000,7 +2933,7 @@ project1/typeroot1/sometype/index.d.ts //// [/home/src/projects/project1/file2.js] file written with same contents //// [/home/src/projects/project1/index.js] file written with same contents //// [/home/src/projects/project1/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.es5.d.ts","../../lib/lib.scripthost.d.ts","../node_modules/@typescript/lib-webworker/index.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7827135529-interface WebworkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n","impliedFormat":1},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-","impliedFormat":1},{"version":"-6136895998-export const x = \"type1\";export const xyz = 10;","signature":"-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1},{"version":"-12476477079-export type TheNum = \"type1\";","impliedFormat":1}],"root":[[5,9]],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,4,3,5,6,7,9,8],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.es5.d.ts","../../lib/lib.scripthost.d.ts","../node_modules/@typescript/lib-webworker/index.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7827135529-interface WebworkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n","impliedFormat":1},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-","impliedFormat":1},{"version":"-6136895998-export const x = \"type1\";export const xyz = 10;","signature":"-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1},{"version":"-12476477079-export type TheNum = \"type1\";","impliedFormat":1}],"root":[[5,9]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/home/src/projects/project1/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -3128,22 +3061,10 @@ project1/typeroot1/sometype/index.d.ts "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.es5.d.ts", - "../../lib/lib.scripthost.d.ts", - "../node_modules/@typescript/lib-dom/index.d.ts", - "../node_modules/@typescript/lib-webworker/index.d.ts", - "./file.ts", - "./file2.ts", - "./index.ts", - "./typeroot1/sometype/index.d.ts", - "./utils.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1897 + "size": 1829 } @@ -3274,6 +3195,7 @@ Before running Timeout callback:: count: 2 15: timerToUpdateProgram 16: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -3410,7 +3332,7 @@ project1/typeroot1/sometype/index.d.ts //// [/home/src/projects/project1/file2.js] file written with same contents //// [/home/src/projects/project1/index.js] file written with same contents //// [/home/src/projects/project1/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../lib/lib.es5.d.ts","../../lib/lib.webworker.d.ts","../../lib/lib.scripthost.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3990185033-interface WebWorkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n","impliedFormat":1},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-","impliedFormat":1},{"version":"-6136895998-export const x = \"type1\";export const xyz = 10;","signature":"-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1},{"version":"-12476477079-export type TheNum = \"type1\";","impliedFormat":1}],"root":[[5,9]],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,3,2,4,5,6,7,9,8],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../lib/lib.es5.d.ts","../../lib/lib.webworker.d.ts","../../lib/lib.scripthost.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3990185033-interface WebWorkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n","impliedFormat":1},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-","impliedFormat":1},{"version":"-6136895998-export const x = \"type1\";export const xyz = 10;","signature":"-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1},{"version":"-12476477079-export type TheNum = \"type1\";","impliedFormat":1}],"root":[[5,9]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/home/src/projects/project1/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -3538,22 +3460,10 @@ project1/typeroot1/sometype/index.d.ts "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../lib/lib.es5.d.ts", - "../../lib/lib.scripthost.d.ts", - "../../lib/lib.webworker.d.ts", - "../node_modules/@typescript/lib-dom/index.d.ts", - "./file.ts", - "./file2.ts", - "./index.ts", - "./typeroot1/sometype/index.d.ts", - "./utils.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1873 + "size": 1805 } diff --git a/tests/baselines/reference/tscWatch/libraryResolution/without-config-with-redirection.js b/tests/baselines/reference/tscWatch/libraryResolution/without-config-with-redirection.js index 439c484068800..17cb61da6ed61 100644 --- a/tests/baselines/reference/tscWatch/libraryResolution/without-config-with-redirection.js +++ b/tests/baselines/reference/tscWatch/libraryResolution/without-config-with-redirection.js @@ -453,6 +453,7 @@ Before running Timeout callback:: count: 2 1: timerToUpdateProgram 2: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -712,6 +713,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -861,6 +863,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 4: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -1071,6 +1074,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 5: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 1 Output:: Scheduling update @@ -1083,6 +1087,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 6: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -1336,6 +1341,7 @@ Before running Timeout callback:: count: 2 7: timerToUpdateProgram 8: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -1565,6 +1571,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 9: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 1 Output:: Scheduling update @@ -1577,6 +1584,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 10: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program diff --git a/tests/baselines/reference/tscWatch/libraryResolution/without-config.js b/tests/baselines/reference/tscWatch/libraryResolution/without-config.js index c99d9f3af3cfb..d989a64734dbf 100644 --- a/tests/baselines/reference/tscWatch/libraryResolution/without-config.js +++ b/tests/baselines/reference/tscWatch/libraryResolution/without-config.js @@ -442,6 +442,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 1 Output:: Scheduling update @@ -454,6 +455,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -700,6 +702,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 4: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -843,6 +846,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 5: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -1044,6 +1048,7 @@ Before running Timeout callback:: count: 2 6: timerToUpdateProgram 7: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -1279,6 +1284,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 9: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 1 Output:: Scheduling update @@ -1291,6 +1297,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 10: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -1526,6 +1533,7 @@ Before running Timeout callback:: count: 2 11: timerToUpdateProgram 12: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program diff --git a/tests/baselines/reference/tscWatch/moduleResolution/alternateResult.js b/tests/baselines/reference/tscWatch/moduleResolution/alternateResult.js index bc15ee8d8d4a4..8313aafe76682 100644 --- a/tests/baselines/reference/tscWatch/moduleResolution/alternateResult.js +++ b/tests/baselines/reference/tscWatch/moduleResolution/alternateResult.js @@ -379,7 +379,7 @@ export {}; //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/foo2/index.d.ts","./node_modules/@types/bar2/index.d.ts","./index.mts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-1622383150-export declare const foo2: number;","impliedFormat":1},{"version":"-7439170493-export declare const bar2: number;","impliedFormat":1},{"version":"-4806968175-import { foo } from \"foo\";\nimport { bar } from \"bar\";\nimport { foo2 } from \"foo2\";\nimport { bar2 } from \"bar2\";\n","impliedFormat":99}],"root":[4],"options":{"strict":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/foo2/index.d.ts","./node_modules/@types/bar2/index.d.ts","./index.mts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-1622383150-export declare const foo2: number;","impliedFormat":1},{"version":"-7439170493-export declare const bar2: number;","impliedFormat":1},{"version":"-4806968175-import { foo } from \"foo\";\nimport { bar } from \"bar\";\nimport { foo2 } from \"foo2\";\nimport { bar2 } from \"bar2\";\n","impliedFormat":99}],"root":[4],"options":{"strict":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,2,3,4]},"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -450,10 +450,28 @@ export {}; "./node_modules/foo2/index.d.ts", "./node_modules/@types/bar2/index.d.ts" ] - } + }, + "semanticDiagnosticsPerFile": [ + [ + "../../../../a/lib/lib.d.ts", + "not cached or not changed" + ], + [ + "./node_modules/foo2/index.d.ts", + "not cached or not changed" + ], + [ + "./node_modules/@types/bar2/index.d.ts", + "not cached or not changed" + ], + [ + "./index.mts", + "not cached or not changed" + ] + ] }, "version": "FakeTSVersion", - "size": 1011 + "size": 1050 } @@ -544,6 +562,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 4: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 1 Output:: Scheduling update @@ -556,6 +575,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 5: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -713,6 +733,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 6: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 1 Output:: Scheduling update @@ -725,6 +746,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 7: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -864,6 +886,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 8: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 1 Output:: Scheduling update @@ -876,6 +899,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 9: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -1023,6 +1047,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 10: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 1 Output:: Scheduling update @@ -1035,6 +1060,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 11: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -1171,6 +1197,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 12: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 1 Output:: Scheduling update @@ -1183,6 +1210,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 13: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -1247,7 +1275,7 @@ File '/package.json' does not exist according to earlier cached lookups. //// [/home/src/projects/project/index.mjs] file written with same contents //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/@types/bar/index.d.ts","./node_modules/foo2/index.d.ts","./node_modules/@types/bar2/index.d.ts","./index.mts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-9556021903-export declare const bar: number;","impliedFormat":1},{"version":"-1622383150-export declare const foo2: number;","impliedFormat":1},{"version":"-7439170493-export declare const bar2: number;","impliedFormat":1},{"version":"-4806968175-import { foo } from \"foo\";\nimport { bar } from \"bar\";\nimport { foo2 } from \"foo2\";\nimport { bar2 } from \"bar2\";\n","signature":"-3531856636-export {};\n","impliedFormat":99}],"root":[5],"options":{"strict":true},"fileIdsList":[[2,3,4]],"referencedMap":[[5,1]]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/@types/bar/index.d.ts","./node_modules/foo2/index.d.ts","./node_modules/@types/bar2/index.d.ts","./index.mts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-9556021903-export declare const bar: number;","impliedFormat":1},{"version":"-1622383150-export declare const foo2: number;","impliedFormat":1},{"version":"-7439170493-export declare const bar2: number;","impliedFormat":1},{"version":"-4806968175-import { foo } from \"foo\";\nimport { bar } from \"bar\";\nimport { foo2 } from \"foo2\";\nimport { bar2 } from \"bar2\";\n","signature":"-3531856636-export {};\n","impliedFormat":99}],"root":[5],"options":{"strict":true},"fileIdsList":[[2,3,4]],"referencedMap":[[5,1]],"semanticDiagnosticsPerFile":[1,2,3,4,5]},"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1331,10 +1359,32 @@ File '/package.json' does not exist according to earlier cached lookups. "./node_modules/foo2/index.d.ts", "./node_modules/@types/bar2/index.d.ts" ] - } + }, + "semanticDiagnosticsPerFile": [ + [ + "../../../../a/lib/lib.d.ts", + "not cached or not changed" + ], + [ + "./node_modules/@types/bar/index.d.ts", + "not cached or not changed" + ], + [ + "./node_modules/foo2/index.d.ts", + "not cached or not changed" + ], + [ + "./node_modules/@types/bar2/index.d.ts", + "not cached or not changed" + ], + [ + "./index.mts", + "not cached or not changed" + ] + ] }, "version": "FakeTSVersion", - "size": 1169 + "size": 1210 } @@ -1437,6 +1487,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 14: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 1 Output:: Scheduling update @@ -1449,6 +1500,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 15: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -1507,7 +1559,7 @@ Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/node_modu //// [/home/src/projects/project/index.mjs] file written with same contents //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/foo/index.d.ts","./node_modules/@types/bar/index.d.ts","./node_modules/foo2/index.d.ts","./node_modules/@types/bar2/index.d.ts","./index.mts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5214938848-export declare const foo: number;","impliedFormat":1},{"version":"-9556021903-export declare const bar: number;","impliedFormat":1},{"version":"-1622383150-export declare const foo2: number;","impliedFormat":1},{"version":"-7439170493-export declare const bar2: number;","impliedFormat":1},{"version":"-4806968175-import { foo } from \"foo\";\nimport { bar } from \"bar\";\nimport { foo2 } from \"foo2\";\nimport { bar2 } from \"bar2\";\n","signature":"-3531856636-export {};\n","impliedFormat":99}],"root":[6],"options":{"strict":true},"fileIdsList":[[2,3,4,5]],"referencedMap":[[6,1]]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/foo/index.d.ts","./node_modules/@types/bar/index.d.ts","./node_modules/foo2/index.d.ts","./node_modules/@types/bar2/index.d.ts","./index.mts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5214938848-export declare const foo: number;","impliedFormat":1},{"version":"-9556021903-export declare const bar: number;","impliedFormat":1},{"version":"-1622383150-export declare const foo2: number;","impliedFormat":1},{"version":"-7439170493-export declare const bar2: number;","impliedFormat":1},{"version":"-4806968175-import { foo } from \"foo\";\nimport { bar } from \"bar\";\nimport { foo2 } from \"foo2\";\nimport { bar2 } from \"bar2\";\n","signature":"-3531856636-export {};\n","impliedFormat":99}],"root":[6],"options":{"strict":true},"fileIdsList":[[2,3,4,5]],"referencedMap":[[6,1]],"semanticDiagnosticsPerFile":[1,2,3,4,5,6]},"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1603,10 +1655,36 @@ Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/node_modu "./node_modules/foo2/index.d.ts", "./node_modules/@types/bar2/index.d.ts" ] - } + }, + "semanticDiagnosticsPerFile": [ + [ + "../../../../a/lib/lib.d.ts", + "not cached or not changed" + ], + [ + "./node_modules/foo/index.d.ts", + "not cached or not changed" + ], + [ + "./node_modules/@types/bar/index.d.ts", + "not cached or not changed" + ], + [ + "./node_modules/foo2/index.d.ts", + "not cached or not changed" + ], + [ + "./node_modules/@types/bar2/index.d.ts", + "not cached or not changed" + ], + [ + "./index.mts", + "not cached or not changed" + ] + ] }, "version": "FakeTSVersion", - "size": 1281 + "size": 1324 } @@ -1709,6 +1787,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 16: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 1 Output:: Scheduling update @@ -1721,6 +1800,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 17: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -1831,7 +1911,7 @@ Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modu //// [/home/src/projects/project/index.mjs] file written with same contents //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/foo/index.d.ts","./node_modules/@types/bar/index.d.ts","./node_modules/foo2/index.d.ts","./index.mts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5214938848-export declare const foo: number;","impliedFormat":1},{"version":"-9556021903-export declare const bar: number;","impliedFormat":1},{"version":"-1622383150-export declare const foo2: number;","impliedFormat":1},{"version":"-4806968175-import { foo } from \"foo\";\nimport { bar } from \"bar\";\nimport { foo2 } from \"foo2\";\nimport { bar2 } from \"bar2\";\n","signature":"-3531856636-export {};\n","impliedFormat":99}],"root":[5],"options":{"strict":true},"fileIdsList":[[2,3,4]],"referencedMap":[[5,1]]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/foo/index.d.ts","./node_modules/@types/bar/index.d.ts","./node_modules/foo2/index.d.ts","./index.mts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5214938848-export declare const foo: number;","impliedFormat":1},{"version":"-9556021903-export declare const bar: number;","impliedFormat":1},{"version":"-1622383150-export declare const foo2: number;","impliedFormat":1},{"version":"-4806968175-import { foo } from \"foo\";\nimport { bar } from \"bar\";\nimport { foo2 } from \"foo2\";\nimport { bar2 } from \"bar2\";\n","signature":"-3531856636-export {};\n","impliedFormat":99}],"root":[5],"options":{"strict":true},"fileIdsList":[[2,3,4]],"referencedMap":[[5,1]],"semanticDiagnosticsPerFile":[1,2,3,4,5]},"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1915,10 +1995,32 @@ Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modu "./node_modules/@types/bar/index.d.ts", "./node_modules/foo2/index.d.ts" ] - } + }, + "semanticDiagnosticsPerFile": [ + [ + "../../../../a/lib/lib.d.ts", + "not cached or not changed" + ], + [ + "./node_modules/foo/index.d.ts", + "not cached or not changed" + ], + [ + "./node_modules/@types/bar/index.d.ts", + "not cached or not changed" + ], + [ + "./node_modules/foo2/index.d.ts", + "not cached or not changed" + ], + [ + "./index.mts", + "not cached or not changed" + ] + ] }, "version": "FakeTSVersion", - "size": 1160 + "size": 1201 } @@ -2023,6 +2125,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 18: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 1 Output:: Scheduling update @@ -2035,6 +2138,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 19: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -2118,7 +2222,7 @@ FileWatcher:: Close:: WatchInfo: /home/src/projects/project/node_modules/foo2/in //// [/home/src/projects/project/index.mjs] file written with same contents //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/foo/index.d.ts","./node_modules/@types/bar/index.d.ts","./index.mts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5214938848-export declare const foo: number;","impliedFormat":1},{"version":"-9556021903-export declare const bar: number;","impliedFormat":1},{"version":"-4806968175-import { foo } from \"foo\";\nimport { bar } from \"bar\";\nimport { foo2 } from \"foo2\";\nimport { bar2 } from \"bar2\";\n","signature":"-3531856636-export {};\n","impliedFormat":99}],"root":[4],"options":{"strict":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/foo/index.d.ts","./node_modules/@types/bar/index.d.ts","./index.mts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5214938848-export declare const foo: number;","impliedFormat":1},{"version":"-9556021903-export declare const bar: number;","impliedFormat":1},{"version":"-4806968175-import { foo } from \"foo\";\nimport { bar } from \"bar\";\nimport { foo2 } from \"foo2\";\nimport { bar2 } from \"bar2\";\n","signature":"-3531856636-export {};\n","impliedFormat":99}],"root":[4],"options":{"strict":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,2,3,4]},"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -2190,10 +2294,28 @@ FileWatcher:: Close:: WatchInfo: /home/src/projects/project/node_modules/foo2/in "./node_modules/foo/index.d.ts", "./node_modules/@types/bar/index.d.ts" ] - } + }, + "semanticDiagnosticsPerFile": [ + [ + "../../../../a/lib/lib.d.ts", + "not cached or not changed" + ], + [ + "./node_modules/foo/index.d.ts", + "not cached or not changed" + ], + [ + "./node_modules/@types/bar/index.d.ts", + "not cached or not changed" + ], + [ + "./index.mts", + "not cached or not changed" + ] + ] }, "version": "FakeTSVersion", - "size": 1046 + "size": 1085 } @@ -2282,6 +2404,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 20: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 1 Output:: Scheduling update @@ -2294,6 +2417,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 21: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -2451,6 +2575,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 22: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 1 Output:: Scheduling update @@ -2463,6 +2588,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 23: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -2602,6 +2728,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 24: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 1 Output:: Scheduling update @@ -2614,6 +2741,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 25: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -2761,6 +2889,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 26: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 1 Output:: Scheduling update @@ -2773,6 +2902,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 27: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program diff --git a/tests/baselines/reference/tscWatch/moduleResolution/diagnostics-from-cache.js b/tests/baselines/reference/tscWatch/moduleResolution/diagnostics-from-cache.js index 1f46995e2e9b2..de2f785e9c58a 100644 --- a/tests/baselines/reference/tscWatch/moduleResolution/diagnostics-from-cache.js +++ b/tests/baselines/reference/tscWatch/moduleResolution/diagnostics-from-cache.js @@ -162,6 +162,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/moduleResolution/late-discovered-dependency-symlink.js b/tests/baselines/reference/tscWatch/moduleResolution/late-discovered-dependency-symlink.js index 9e3b48e86622f..41d935f00d2b7 100644 --- a/tests/baselines/reference/tscWatch/moduleResolution/late-discovered-dependency-symlink.js +++ b/tests/baselines/reference/tscWatch/moduleResolution/late-discovered-dependency-symlink.js @@ -203,6 +203,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/moduleResolution/module-resolutions-from-file-are-partially-used.js b/tests/baselines/reference/tscWatch/moduleResolution/module-resolutions-from-file-are-partially-used.js index 60dc7b726f851..2def243df2a06 100644 --- a/tests/baselines/reference/tscWatch/moduleResolution/module-resolutions-from-file-are-partially-used.js +++ b/tests/baselines/reference/tscWatch/moduleResolution/module-resolutions-from-file-are-partially-used.js @@ -251,6 +251,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/moduleResolution/module-resolutions-from-files-with-partially-used-import-attributes.js b/tests/baselines/reference/tscWatch/moduleResolution/module-resolutions-from-files-with-partially-used-import-attributes.js index 3bf5e03b78492..fd1cf6e5e43a2 100644 --- a/tests/baselines/reference/tscWatch/moduleResolution/module-resolutions-from-files-with-partially-used-import-attributes.js +++ b/tests/baselines/reference/tscWatch/moduleResolution/module-resolutions-from-files-with-partially-used-import-attributes.js @@ -251,6 +251,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/moduleResolution/package-json-file-is-edited-when-package-json-with-type-module-exists.js b/tests/baselines/reference/tscWatch/moduleResolution/package-json-file-is-edited-when-package-json-with-type-module-exists.js index 6940689eb5c96..fc3fc754c835f 100644 --- a/tests/baselines/reference/tscWatch/moduleResolution/package-json-file-is-edited-when-package-json-with-type-module-exists.js +++ b/tests/baselines/reference/tscWatch/moduleResolution/package-json-file-is-edited-when-package-json-with-type-module-exists.js @@ -176,6 +176,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 1 Output:: Scheduling update @@ -188,6 +189,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -324,6 +326,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 1 Output:: Scheduling update @@ -336,6 +339,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 4: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -461,6 +465,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 5: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 1 Output:: Scheduling update @@ -473,6 +478,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 6: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -619,6 +625,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 7: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 1 Output:: Scheduling update @@ -631,6 +638,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 8: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -741,6 +749,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 9: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 1 Output:: Scheduling update @@ -753,6 +762,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 10: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program diff --git a/tests/baselines/reference/tscWatch/moduleResolution/package-json-file-is-edited.js b/tests/baselines/reference/tscWatch/moduleResolution/package-json-file-is-edited.js index 2160ef0502d0a..32ad7e78d9a5e 100644 --- a/tests/baselines/reference/tscWatch/moduleResolution/package-json-file-is-edited.js +++ b/tests/baselines/reference/tscWatch/moduleResolution/package-json-file-is-edited.js @@ -187,6 +187,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 1 Output:: Scheduling update @@ -199,6 +200,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -329,6 +331,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 1 Output:: Scheduling update @@ -341,6 +344,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 4: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -471,6 +475,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 5: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 1 Output:: Scheduling update @@ -483,6 +488,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 6: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -605,6 +611,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 7: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 1 Output:: Scheduling update @@ -617,6 +624,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 8: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -745,6 +753,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 9: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 1 Output:: Scheduling update @@ -757,6 +766,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 10: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program diff --git a/tests/baselines/reference/tscWatch/moduleResolution/type-reference-resolutions-reuse.js b/tests/baselines/reference/tscWatch/moduleResolution/type-reference-resolutions-reuse.js index 8486e21b7207c..90cfb9b71ef4c 100644 --- a/tests/baselines/reference/tscWatch/moduleResolution/type-reference-resolutions-reuse.js +++ b/tests/baselines/reference/tscWatch/moduleResolution/type-reference-resolutions-reuse.js @@ -260,6 +260,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/moduleResolution/watches-for-changes-to-package-json-main-fields.js b/tests/baselines/reference/tscWatch/moduleResolution/watches-for-changes-to-package-json-main-fields.js index f87ccfb805123..10a3baf80cfa1 100644 --- a/tests/baselines/reference/tscWatch/moduleResolution/watches-for-changes-to-package-json-main-fields.js +++ b/tests/baselines/reference/tscWatch/moduleResolution/watches-for-changes-to-package-json-main-fields.js @@ -193,6 +193,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -201,6 +202,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -344,6 +346,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -352,6 +355,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 4: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/noEmitOnError/noEmitOnError-outFile-with-declaration-with-incremental.js b/tests/baselines/reference/tscWatch/noEmitOnError/noEmitOnError-outFile-with-declaration-with-incremental.js new file mode 100644 index 0000000000000..8e8efdd68bff2 --- /dev/null +++ b/tests/baselines/reference/tscWatch/noEmitOnError/noEmitOnError-outFile-with-declaration-with-incremental.js @@ -0,0 +1,526 @@ +currentDirectory:: /user/username/projects/noEmitOnError useCaseSensitiveFileNames: false +Input:: +//// [/user/username/projects/noEmitOnError/tsconfig.json] +{ + "compilerOptions": { + "outFile": "../dev-build.js", + "module": "amd", + "declaration": true, + "incremental": true, + "noEmitOnError": true + } +} + +//// [/user/username/projects/noEmitOnError/shared/types/db.ts] +export interface A { + name: string; +} + + +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a = { + lastName: 'sdsd' +; + + +//// [/user/username/projects/noEmitOnError/src/other.ts] +console.log("hi"); +export { } + + +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + + +/a/lib/tsc.js --w +Output:: +>> Screen clear +[HH:MM:SS AM] Starting compilation in watch mode... + +src/main.ts:4:1 - error TS1005: ',' expected. + +4 ; +  ~ + +[HH:MM:SS AM] Found 1 error. Watching for file changes. + + + + +PolledWatches:: +/user/username/projects/noEmitOnError/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/noEmitOnError/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/noEmitOnError/shared/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/noEmitOnError/shared/types/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/noEmitOnError/src/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: *new* + {} +/user/username/projects/noEmitOnError/shared/types/db.ts: *new* + {} +/user/username/projects/noEmitOnError/src/main.ts: *new* + {} +/user/username/projects/noEmitOnError/src/other.ts: *new* + {} +/user/username/projects/noEmitOnError/tsconfig.json: *new* + {} + +FsWatchesRecursive:: +/user/username/projects/noEmitOnError: *new* + {} + +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "declaration": true, + "incremental": true, + "noEmitOnError": true, + "watch": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Change:: No change + +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] file written with same contents + +Timeout callback:: count: 1 +1: timerToUpdateProgram *new* + +Before running Timeout callback:: count: 1 +1: timerToUpdateProgram + +Host is moving to new time +After running Timeout callback:: count: 0 + + +exitCode:: ExitStatus.undefined + +Change:: Fix Syntax error + +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a = { + lastName: 'sdsd' +}; + + +Timeout callback:: count: 1 +2: timerToUpdateProgram *new* + +Before running Timeout callback:: count: 1 +2: timerToUpdateProgram + +Host is moving to new time +After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + +//// [/user/username/projects/dev-build.js] +define("shared/types/db", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +}); +define("src/main", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var a = { + lastName: 'sdsd' + }; +}); +define("src/other", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + console.log("hi"); +}); + + +//// [/user/username/projects/dev-build.d.ts] +declare module "shared/types/db" { + export interface A { + name: string; + } +} +declare module "src/main" { } +declare module "src/other" { + export {}; +} + + +//// [/user/username/projects/dev-build.tsbuildinfo] +{"program":{"fileNames":["../../../a/lib/lib.d.ts","./noemitonerror/shared/types/db.ts","./noemitonerror/src/main.ts","./noemitonerror/src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-2574605496-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n};","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true,"module":2,"noEmitOnError":true,"outFile":"./dev-build.js"}},"version":"FakeTSVersion"} + +//// [/user/username/projects/dev-build.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../a/lib/lib.d.ts", + "./noemitonerror/shared/types/db.ts", + "./noemitonerror/src/main.ts", + "./noemitonerror/src/other.ts" + ], + "fileInfos": { + "../../../a/lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": "commonjs" + }, + "./noemitonerror/shared/types/db.ts": { + "original": { + "version": "-5014788164-export interface A {\n name: string;\n}\n", + "impliedFormat": 1 + }, + "version": "-5014788164-export interface A {\n name: string;\n}\n", + "impliedFormat": "commonjs" + }, + "./noemitonerror/src/main.ts": { + "original": { + "version": "-2574605496-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n};", + "impliedFormat": 1 + }, + "version": "-2574605496-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n};", + "impliedFormat": "commonjs" + }, + "./noemitonerror/src/other.ts": { + "original": { + "version": "9084524823-console.log(\"hi\");\nexport { }\n", + "impliedFormat": 1 + }, + "version": "9084524823-console.log(\"hi\");\nexport { }\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 4 + ], + [ + "./noemitonerror/shared/types/db.ts", + "./noemitonerror/src/main.ts", + "./noemitonerror/src/other.ts" + ] + ] + ], + "options": { + "declaration": true, + "module": 2, + "noEmitOnError": true, + "outFile": "./dev-build.js" + } + }, + "version": "FakeTSVersion", + "size": 1059 +} + + + +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "declaration": true, + "incremental": true, + "noEmitOnError": true, + "watch": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Completely +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Change:: Semantic Error + +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a: string = 10; + + +Timeout callback:: count: 1 +3: timerToUpdateProgram *new* + +Before running Timeout callback:: count: 1 +3: timerToUpdateProgram + +Host is moving to new time +After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +src/main.ts:2:7 - error TS2322: Type 'number' is not assignable to type 'string'. + +2 const a: string = 10; +   ~ + +[HH:MM:SS AM] Found 1 error. Watching for file changes. + + + + + +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "declaration": true, + "incremental": true, + "noEmitOnError": true, + "watch": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Completely +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Change:: No change + +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] file written with same contents + +Timeout callback:: count: 1 +4: timerToUpdateProgram *new* + +Before running Timeout callback:: count: 1 +4: timerToUpdateProgram + +Host is moving to new time +After running Timeout callback:: count: 0 + + +exitCode:: ExitStatus.undefined + +Change:: Fix Semantic Error + +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a: string = "hello"; + + +Timeout callback:: count: 1 +5: timerToUpdateProgram *new* + +Before running Timeout callback:: count: 1 +5: timerToUpdateProgram + +Host is moving to new time +After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + +//// [/user/username/projects/dev-build.js] +define("shared/types/db", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +}); +define("src/main", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var a = "hello"; +}); +define("src/other", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + console.log("hi"); +}); + + +//// [/user/username/projects/dev-build.d.ts] file written with same contents +//// [/user/username/projects/dev-build.tsbuildinfo] +{"program":{"fileNames":["../../../a/lib/lib.d.ts","./noemitonerror/shared/types/db.ts","./noemitonerror/src/main.ts","./noemitonerror/src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-8373351622-import { A } from \"../shared/types/db\";\nconst a: string = \"hello\";","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true,"module":2,"noEmitOnError":true,"outFile":"./dev-build.js"}},"version":"FakeTSVersion"} + +//// [/user/username/projects/dev-build.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../a/lib/lib.d.ts", + "./noemitonerror/shared/types/db.ts", + "./noemitonerror/src/main.ts", + "./noemitonerror/src/other.ts" + ], + "fileInfos": { + "../../../a/lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": "commonjs" + }, + "./noemitonerror/shared/types/db.ts": { + "original": { + "version": "-5014788164-export interface A {\n name: string;\n}\n", + "impliedFormat": 1 + }, + "version": "-5014788164-export interface A {\n name: string;\n}\n", + "impliedFormat": "commonjs" + }, + "./noemitonerror/src/main.ts": { + "original": { + "version": "-8373351622-import { A } from \"../shared/types/db\";\nconst a: string = \"hello\";", + "impliedFormat": 1 + }, + "version": "-8373351622-import { A } from \"../shared/types/db\";\nconst a: string = \"hello\";", + "impliedFormat": "commonjs" + }, + "./noemitonerror/src/other.ts": { + "original": { + "version": "9084524823-console.log(\"hi\");\nexport { }\n", + "impliedFormat": 1 + }, + "version": "9084524823-console.log(\"hi\");\nexport { }\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 4 + ], + [ + "./noemitonerror/shared/types/db.ts", + "./noemitonerror/src/main.ts", + "./noemitonerror/src/other.ts" + ] + ] + ], + "options": { + "declaration": true, + "module": 2, + "noEmitOnError": true, + "outFile": "./dev-build.js" + } + }, + "version": "FakeTSVersion", + "size": 1050 +} + + + +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "declaration": true, + "incremental": true, + "noEmitOnError": true, + "watch": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Completely +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Change:: No change + +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] file written with same contents + +Timeout callback:: count: 1 +6: timerToUpdateProgram *new* + +Before running Timeout callback:: count: 1 +6: timerToUpdateProgram + +Host is moving to new time +After running Timeout callback:: count: 0 + + +exitCode:: ExitStatus.undefined diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependencies/with-noEmitOnError.js b/tests/baselines/reference/tscWatch/noEmitOnError/noEmitOnError-outFile-with-declaration.js similarity index 73% rename from tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependencies/with-noEmitOnError.js rename to tests/baselines/reference/tscWatch/noEmitOnError/noEmitOnError-outFile-with-declaration.js index 0dcafca02ca24..05e1522a00a60 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/assumeChangesOnlyAffectDirectDependencies/with-noEmitOnError.js +++ b/tests/baselines/reference/tscWatch/noEmitOnError/noEmitOnError-outFile-with-declaration.js @@ -3,7 +3,9 @@ Input:: //// [/user/username/projects/noEmitOnError/tsconfig.json] { "compilerOptions": { - "outDir": "./dev-build", + "outFile": "../dev-build.js", + "module": "amd", + "declaration": true, "noEmitOnError": true } } @@ -42,7 +44,7 @@ interface ReadonlyArray {} declare const console: { log(msg: any): void; }; -/a/lib/tsc.js --w --assumeChangesOnlyAffectDirectDependencies +/a/lib/tsc.js --w Output:: >> Screen clear [HH:MM:SS AM] Starting compilation in watch mode... @@ -95,10 +97,11 @@ Program root files: [ "/user/username/projects/noEmitOnError/src/other.ts" ] Program options: { - "outDir": "/user/username/projects/noEmitOnError/dev-build", + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "declaration": true, "noEmitOnError": true, "watch": true, - "assumeChangesOnlyAffectDirectDependencies": true, "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" } Program structureReused: Not @@ -108,17 +111,9 @@ Program files:: /user/username/projects/noEmitOnError/src/main.ts /user/username/projects/noEmitOnError/src/other.ts -Semantic diagnostics in builder refreshed for:: -/a/lib/lib.d.ts -/user/username/projects/noEmitOnError/shared/types/db.ts -/user/username/projects/noEmitOnError/src/main.ts -/user/username/projects/noEmitOnError/src/other.ts +No cached semantic diagnostics in the builder:: -Shape signatures in builder refreshed for:: -/a/lib/lib.d.ts (used version) -/user/username/projects/noemitonerror/shared/types/db.ts (used version) -/user/username/projects/noemitonerror/src/main.ts (used version) -/user/username/projects/noemitonerror/src/other.ts (used version) +No shapes updated in the builder:: exitCode:: ExitStatus.undefined @@ -133,6 +128,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 @@ -154,6 +150,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -163,23 +160,35 @@ Output:: -//// [/user/username/projects/noEmitOnError/dev-build/shared/types/db.js] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); - - -//// [/user/username/projects/noEmitOnError/dev-build/src/main.js] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var a = { - lastName: 'sdsd' -}; - - -//// [/user/username/projects/noEmitOnError/dev-build/src/other.js] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -console.log("hi"); +//// [/user/username/projects/dev-build.js] +define("shared/types/db", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +}); +define("src/main", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var a = { + lastName: 'sdsd' + }; +}); +define("src/other", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + console.log("hi"); +}); + + +//// [/user/username/projects/dev-build.d.ts] +declare module "shared/types/db" { + export interface A { + name: string; + } +} +declare module "src/main" { } +declare module "src/other" { + export {}; +} @@ -190,10 +199,11 @@ Program root files: [ "/user/username/projects/noEmitOnError/src/other.ts" ] Program options: { - "outDir": "/user/username/projects/noEmitOnError/dev-build", + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "declaration": true, "noEmitOnError": true, "watch": true, - "assumeChangesOnlyAffectDirectDependencies": true, "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" } Program structureReused: Completely @@ -203,11 +213,9 @@ Program files:: /user/username/projects/noEmitOnError/src/main.ts /user/username/projects/noEmitOnError/src/other.ts -Semantic diagnostics in builder refreshed for:: -/user/username/projects/noEmitOnError/src/main.ts +No cached semantic diagnostics in the builder:: -Shape signatures in builder refreshed for:: -/user/username/projects/noemitonerror/src/main.ts (computed .d.ts) +No shapes updated in the builder:: exitCode:: ExitStatus.undefined @@ -225,6 +233,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -247,10 +256,11 @@ Program root files: [ "/user/username/projects/noEmitOnError/src/other.ts" ] Program options: { - "outDir": "/user/username/projects/noEmitOnError/dev-build", + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "declaration": true, "noEmitOnError": true, "watch": true, - "assumeChangesOnlyAffectDirectDependencies": true, "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" } Program structureReused: Completely @@ -260,11 +270,9 @@ Program files:: /user/username/projects/noEmitOnError/src/main.ts /user/username/projects/noEmitOnError/src/other.ts -Semantic diagnostics in builder refreshed for:: -/user/username/projects/noEmitOnError/src/main.ts +No cached semantic diagnostics in the builder:: -Shape signatures in builder refreshed for:: -/user/username/projects/noemitonerror/src/main.ts (computed .d.ts) +No shapes updated in the builder:: exitCode:: ExitStatus.undefined @@ -279,6 +287,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 4: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 @@ -298,6 +307,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 5: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -307,12 +317,24 @@ Output:: -//// [/user/username/projects/noEmitOnError/dev-build/src/main.js] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var a = "hello"; +//// [/user/username/projects/dev-build.js] +define("shared/types/db", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +}); +define("src/main", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var a = "hello"; +}); +define("src/other", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + console.log("hi"); +}); +//// [/user/username/projects/dev-build.d.ts] file written with same contents Program root files: [ @@ -321,10 +343,11 @@ Program root files: [ "/user/username/projects/noEmitOnError/src/other.ts" ] Program options: { - "outDir": "/user/username/projects/noEmitOnError/dev-build", + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "declaration": true, "noEmitOnError": true, "watch": true, - "assumeChangesOnlyAffectDirectDependencies": true, "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" } Program structureReused: Completely @@ -334,11 +357,9 @@ Program files:: /user/username/projects/noEmitOnError/src/main.ts /user/username/projects/noEmitOnError/src/other.ts -Semantic diagnostics in builder refreshed for:: -/user/username/projects/noEmitOnError/src/main.ts +No cached semantic diagnostics in the builder:: -Shape signatures in builder refreshed for:: -/user/username/projects/noemitonerror/src/main.ts (computed .d.ts) +No shapes updated in the builder:: exitCode:: ExitStatus.undefined @@ -353,6 +374,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 6: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 diff --git a/tests/baselines/reference/tscWatch/noEmitOnError/noEmitOnError-outFile-with-incremental.js b/tests/baselines/reference/tscWatch/noEmitOnError/noEmitOnError-outFile-with-incremental.js new file mode 100644 index 0000000000000..7a3a3c35e07a0 --- /dev/null +++ b/tests/baselines/reference/tscWatch/noEmitOnError/noEmitOnError-outFile-with-incremental.js @@ -0,0 +1,506 @@ +currentDirectory:: /user/username/projects/noEmitOnError useCaseSensitiveFileNames: false +Input:: +//// [/user/username/projects/noEmitOnError/tsconfig.json] +{ + "compilerOptions": { + "outFile": "../dev-build.js", + "module": "amd", + "incremental": true, + "noEmitOnError": true + } +} + +//// [/user/username/projects/noEmitOnError/shared/types/db.ts] +export interface A { + name: string; +} + + +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a = { + lastName: 'sdsd' +; + + +//// [/user/username/projects/noEmitOnError/src/other.ts] +console.log("hi"); +export { } + + +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + + +/a/lib/tsc.js --w +Output:: +>> Screen clear +[HH:MM:SS AM] Starting compilation in watch mode... + +src/main.ts:4:1 - error TS1005: ',' expected. + +4 ; +  ~ + +[HH:MM:SS AM] Found 1 error. Watching for file changes. + + + + +PolledWatches:: +/user/username/projects/noEmitOnError/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/noEmitOnError/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/noEmitOnError/shared/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/noEmitOnError/shared/types/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/noEmitOnError/src/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: *new* + {} +/user/username/projects/noEmitOnError/shared/types/db.ts: *new* + {} +/user/username/projects/noEmitOnError/src/main.ts: *new* + {} +/user/username/projects/noEmitOnError/src/other.ts: *new* + {} +/user/username/projects/noEmitOnError/tsconfig.json: *new* + {} + +FsWatchesRecursive:: +/user/username/projects/noEmitOnError: *new* + {} + +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "incremental": true, + "noEmitOnError": true, + "watch": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Change:: No change + +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] file written with same contents + +Timeout callback:: count: 1 +1: timerToUpdateProgram *new* + +Before running Timeout callback:: count: 1 +1: timerToUpdateProgram + +Host is moving to new time +After running Timeout callback:: count: 0 + + +exitCode:: ExitStatus.undefined + +Change:: Fix Syntax error + +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a = { + lastName: 'sdsd' +}; + + +Timeout callback:: count: 1 +2: timerToUpdateProgram *new* + +Before running Timeout callback:: count: 1 +2: timerToUpdateProgram + +Host is moving to new time +After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + +//// [/user/username/projects/dev-build.js] +define("shared/types/db", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +}); +define("src/main", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var a = { + lastName: 'sdsd' + }; +}); +define("src/other", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + console.log("hi"); +}); + + +//// [/user/username/projects/dev-build.tsbuildinfo] +{"program":{"fileNames":["../../../a/lib/lib.d.ts","./noemitonerror/shared/types/db.ts","./noemitonerror/src/main.ts","./noemitonerror/src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-2574605496-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n};","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","impliedFormat":1}],"root":[[2,4]],"options":{"module":2,"noEmitOnError":true,"outFile":"./dev-build.js"}},"version":"FakeTSVersion"} + +//// [/user/username/projects/dev-build.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../a/lib/lib.d.ts", + "./noemitonerror/shared/types/db.ts", + "./noemitonerror/src/main.ts", + "./noemitonerror/src/other.ts" + ], + "fileInfos": { + "../../../a/lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": "commonjs" + }, + "./noemitonerror/shared/types/db.ts": { + "original": { + "version": "-5014788164-export interface A {\n name: string;\n}\n", + "impliedFormat": 1 + }, + "version": "-5014788164-export interface A {\n name: string;\n}\n", + "impliedFormat": "commonjs" + }, + "./noemitonerror/src/main.ts": { + "original": { + "version": "-2574605496-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n};", + "impliedFormat": 1 + }, + "version": "-2574605496-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n};", + "impliedFormat": "commonjs" + }, + "./noemitonerror/src/other.ts": { + "original": { + "version": "9084524823-console.log(\"hi\");\nexport { }\n", + "impliedFormat": 1 + }, + "version": "9084524823-console.log(\"hi\");\nexport { }\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 4 + ], + [ + "./noemitonerror/shared/types/db.ts", + "./noemitonerror/src/main.ts", + "./noemitonerror/src/other.ts" + ] + ] + ], + "options": { + "module": 2, + "noEmitOnError": true, + "outFile": "./dev-build.js" + } + }, + "version": "FakeTSVersion", + "size": 1040 +} + + + +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "incremental": true, + "noEmitOnError": true, + "watch": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Completely +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Change:: Semantic Error + +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a: string = 10; + + +Timeout callback:: count: 1 +3: timerToUpdateProgram *new* + +Before running Timeout callback:: count: 1 +3: timerToUpdateProgram + +Host is moving to new time +After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +src/main.ts:2:7 - error TS2322: Type 'number' is not assignable to type 'string'. + +2 const a: string = 10; +   ~ + +[HH:MM:SS AM] Found 1 error. Watching for file changes. + + + + + +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "incremental": true, + "noEmitOnError": true, + "watch": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Completely +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Change:: No change + +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] file written with same contents + +Timeout callback:: count: 1 +4: timerToUpdateProgram *new* + +Before running Timeout callback:: count: 1 +4: timerToUpdateProgram + +Host is moving to new time +After running Timeout callback:: count: 0 + + +exitCode:: ExitStatus.undefined + +Change:: Fix Semantic Error + +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] +import { A } from "../shared/types/db"; +const a: string = "hello"; + + +Timeout callback:: count: 1 +5: timerToUpdateProgram *new* + +Before running Timeout callback:: count: 1 +5: timerToUpdateProgram + +Host is moving to new time +After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + +//// [/user/username/projects/dev-build.js] +define("shared/types/db", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +}); +define("src/main", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var a = "hello"; +}); +define("src/other", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + console.log("hi"); +}); + + +//// [/user/username/projects/dev-build.tsbuildinfo] +{"program":{"fileNames":["../../../a/lib/lib.d.ts","./noemitonerror/shared/types/db.ts","./noemitonerror/src/main.ts","./noemitonerror/src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-8373351622-import { A } from \"../shared/types/db\";\nconst a: string = \"hello\";","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","impliedFormat":1}],"root":[[2,4]],"options":{"module":2,"noEmitOnError":true,"outFile":"./dev-build.js"}},"version":"FakeTSVersion"} + +//// [/user/username/projects/dev-build.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../a/lib/lib.d.ts", + "./noemitonerror/shared/types/db.ts", + "./noemitonerror/src/main.ts", + "./noemitonerror/src/other.ts" + ], + "fileInfos": { + "../../../a/lib/lib.d.ts": { + "original": { + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": 1 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", + "impliedFormat": "commonjs" + }, + "./noemitonerror/shared/types/db.ts": { + "original": { + "version": "-5014788164-export interface A {\n name: string;\n}\n", + "impliedFormat": 1 + }, + "version": "-5014788164-export interface A {\n name: string;\n}\n", + "impliedFormat": "commonjs" + }, + "./noemitonerror/src/main.ts": { + "original": { + "version": "-8373351622-import { A } from \"../shared/types/db\";\nconst a: string = \"hello\";", + "impliedFormat": 1 + }, + "version": "-8373351622-import { A } from \"../shared/types/db\";\nconst a: string = \"hello\";", + "impliedFormat": "commonjs" + }, + "./noemitonerror/src/other.ts": { + "original": { + "version": "9084524823-console.log(\"hi\");\nexport { }\n", + "impliedFormat": 1 + }, + "version": "9084524823-console.log(\"hi\");\nexport { }\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 4 + ], + [ + "./noemitonerror/shared/types/db.ts", + "./noemitonerror/src/main.ts", + "./noemitonerror/src/other.ts" + ] + ] + ], + "options": { + "module": 2, + "noEmitOnError": true, + "outFile": "./dev-build.js" + } + }, + "version": "FakeTSVersion", + "size": 1031 +} + + + +Program root files: [ + "/user/username/projects/noEmitOnError/shared/types/db.ts", + "/user/username/projects/noEmitOnError/src/main.ts", + "/user/username/projects/noEmitOnError/src/other.ts" +] +Program options: { + "outFile": "/user/username/projects/dev-build.js", + "module": 2, + "incremental": true, + "noEmitOnError": true, + "watch": true, + "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" +} +Program structureReused: Completely +Program files:: +/a/lib/lib.d.ts +/user/username/projects/noEmitOnError/shared/types/db.ts +/user/username/projects/noEmitOnError/src/main.ts +/user/username/projects/noEmitOnError/src/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Change:: No change + +Input:: +//// [/user/username/projects/noEmitOnError/src/main.ts] file written with same contents + +Timeout callback:: count: 1 +6: timerToUpdateProgram *new* + +Before running Timeout callback:: count: 1 +6: timerToUpdateProgram + +Host is moving to new time +After running Timeout callback:: count: 0 + + +exitCode:: ExitStatus.undefined diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModules/with-noEmitOnError.js b/tests/baselines/reference/tscWatch/noEmitOnError/noEmitOnError-outFile.js similarity index 74% rename from tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModules/with-noEmitOnError.js rename to tests/baselines/reference/tscWatch/noEmitOnError/noEmitOnError-outFile.js index c43c10d965cb2..b97e86b360a4d 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModules/with-noEmitOnError.js +++ b/tests/baselines/reference/tscWatch/noEmitOnError/noEmitOnError-outFile.js @@ -3,7 +3,8 @@ Input:: //// [/user/username/projects/noEmitOnError/tsconfig.json] { "compilerOptions": { - "outDir": "./dev-build", + "outFile": "../dev-build.js", + "module": "amd", "noEmitOnError": true } } @@ -42,7 +43,7 @@ interface ReadonlyArray {} declare const console: { log(msg: any): void; }; -/a/lib/tsc.js --w --isolatedModules +/a/lib/tsc.js --w Output:: >> Screen clear [HH:MM:SS AM] Starting compilation in watch mode... @@ -95,10 +96,10 @@ Program root files: [ "/user/username/projects/noEmitOnError/src/other.ts" ] Program options: { - "outDir": "/user/username/projects/noEmitOnError/dev-build", + "outFile": "/user/username/projects/dev-build.js", + "module": 2, "noEmitOnError": true, "watch": true, - "isolatedModules": true, "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" } Program structureReused: Not @@ -108,17 +109,9 @@ Program files:: /user/username/projects/noEmitOnError/src/main.ts /user/username/projects/noEmitOnError/src/other.ts -Semantic diagnostics in builder refreshed for:: -/a/lib/lib.d.ts -/user/username/projects/noEmitOnError/shared/types/db.ts -/user/username/projects/noEmitOnError/src/main.ts -/user/username/projects/noEmitOnError/src/other.ts +No cached semantic diagnostics in the builder:: -Shape signatures in builder refreshed for:: -/a/lib/lib.d.ts (used version) -/user/username/projects/noemitonerror/shared/types/db.ts (used version) -/user/username/projects/noemitonerror/src/main.ts (used version) -/user/username/projects/noemitonerror/src/other.ts (used version) +No shapes updated in the builder:: exitCode:: ExitStatus.undefined @@ -133,6 +126,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 @@ -154,6 +148,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -163,23 +158,23 @@ Output:: -//// [/user/username/projects/noEmitOnError/dev-build/shared/types/db.js] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); - - -//// [/user/username/projects/noEmitOnError/dev-build/src/main.js] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var a = { - lastName: 'sdsd' -}; - - -//// [/user/username/projects/noEmitOnError/dev-build/src/other.js] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -console.log("hi"); +//// [/user/username/projects/dev-build.js] +define("shared/types/db", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +}); +define("src/main", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var a = { + lastName: 'sdsd' + }; +}); +define("src/other", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + console.log("hi"); +}); @@ -190,10 +185,10 @@ Program root files: [ "/user/username/projects/noEmitOnError/src/other.ts" ] Program options: { - "outDir": "/user/username/projects/noEmitOnError/dev-build", + "outFile": "/user/username/projects/dev-build.js", + "module": 2, "noEmitOnError": true, "watch": true, - "isolatedModules": true, "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" } Program structureReused: Completely @@ -203,11 +198,9 @@ Program files:: /user/username/projects/noEmitOnError/src/main.ts /user/username/projects/noEmitOnError/src/other.ts -Semantic diagnostics in builder refreshed for:: -/user/username/projects/noEmitOnError/src/main.ts +No cached semantic diagnostics in the builder:: -Shape signatures in builder refreshed for:: -/user/username/projects/noemitonerror/src/main.ts (computed .d.ts) +No shapes updated in the builder:: exitCode:: ExitStatus.undefined @@ -225,6 +218,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -247,10 +241,10 @@ Program root files: [ "/user/username/projects/noEmitOnError/src/other.ts" ] Program options: { - "outDir": "/user/username/projects/noEmitOnError/dev-build", + "outFile": "/user/username/projects/dev-build.js", + "module": 2, "noEmitOnError": true, "watch": true, - "isolatedModules": true, "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" } Program structureReused: Completely @@ -260,11 +254,9 @@ Program files:: /user/username/projects/noEmitOnError/src/main.ts /user/username/projects/noEmitOnError/src/other.ts -Semantic diagnostics in builder refreshed for:: -/user/username/projects/noEmitOnError/src/main.ts +No cached semantic diagnostics in the builder:: -Shape signatures in builder refreshed for:: -/user/username/projects/noemitonerror/src/main.ts (computed .d.ts) +No shapes updated in the builder:: exitCode:: ExitStatus.undefined @@ -279,6 +271,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 4: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 @@ -298,6 +291,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 5: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -307,10 +301,21 @@ Output:: -//// [/user/username/projects/noEmitOnError/dev-build/src/main.js] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var a = "hello"; +//// [/user/username/projects/dev-build.js] +define("shared/types/db", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +}); +define("src/main", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var a = "hello"; +}); +define("src/other", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + console.log("hi"); +}); @@ -321,10 +326,10 @@ Program root files: [ "/user/username/projects/noEmitOnError/src/other.ts" ] Program options: { - "outDir": "/user/username/projects/noEmitOnError/dev-build", + "outFile": "/user/username/projects/dev-build.js", + "module": 2, "noEmitOnError": true, "watch": true, - "isolatedModules": true, "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" } Program structureReused: Completely @@ -334,11 +339,9 @@ Program files:: /user/username/projects/noEmitOnError/src/main.ts /user/username/projects/noEmitOnError/src/other.ts -Semantic diagnostics in builder refreshed for:: -/user/username/projects/noEmitOnError/src/main.ts +No cached semantic diagnostics in the builder:: -Shape signatures in builder refreshed for:: -/user/username/projects/noemitonerror/src/main.ts (computed .d.ts) +No shapes updated in the builder:: exitCode:: ExitStatus.undefined @@ -353,6 +356,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 6: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/defaultAndD/with-noEmitOnError-with-incremental.js b/tests/baselines/reference/tscWatch/noEmitOnError/noEmitOnError-with-declaration-with-incremental.js similarity index 94% rename from tests/baselines/reference/tscWatch/emitAndErrorUpdates/defaultAndD/with-noEmitOnError-with-incremental.js rename to tests/baselines/reference/tscWatch/noEmitOnError/noEmitOnError-with-declaration-with-incremental.js index 2528e19a14816..0d551bef2e464 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/defaultAndD/with-noEmitOnError-with-incremental.js +++ b/tests/baselines/reference/tscWatch/noEmitOnError/noEmitOnError-with-declaration-with-incremental.js @@ -4,6 +4,8 @@ Input:: { "compilerOptions": { "outDir": "./dev-build", + "declaration": true, + "incremental": true, "noEmitOnError": true } } @@ -42,7 +44,7 @@ interface ReadonlyArray {} declare const console: { log(msg: any): void; }; -/a/lib/tsc.js --w --d --incremental +/a/lib/tsc.js --w Output:: >> Screen clear [HH:MM:SS AM] Starting compilation in watch mode... @@ -57,7 +59,7 @@ Output:: //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-2574607723-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n;\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true,"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3,4],"affectedFilesPendingEmit":[2,3,4]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-2574607723-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n;\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true,"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"affectedFilesPendingEmit":[2,3,4]},"version":"FakeTSVersion"} //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,12 +138,6 @@ Output:: "../shared/types/db.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../shared/types/db.ts", - "../src/main.ts", - "../src/other.ts" - ], "affectedFilesPendingEmit": [ [ "../shared/types/db.ts", @@ -158,7 +154,7 @@ Output:: ] }, "version": "FakeTSVersion", - "size": 1147 + "size": 1108 } @@ -201,10 +197,10 @@ Program root files: [ ] Program options: { "outDir": "/user/username/projects/noEmitOnError/dev-build", - "noEmitOnError": true, - "watch": true, "declaration": true, "incremental": true, + "noEmitOnError": true, + "watch": true, "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" } Program structureReused: Not @@ -239,6 +235,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 @@ -260,6 +257,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -270,7 +268,7 @@ Output:: //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-2574605496-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n};","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true,"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3,4]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-2574605496-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n};","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true,"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]]},"version":"FakeTSVersion"} //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -350,16 +348,10 @@ Output:: "../src/main.ts": [ "../shared/types/db.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../shared/types/db.ts", - "../src/main.ts", - "../src/other.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1189 + "size": 1150 } //// [/user/username/projects/noEmitOnError/dev-build/shared/types/db.js] @@ -404,10 +396,10 @@ Program root files: [ ] Program options: { "outDir": "/user/username/projects/noEmitOnError/dev-build", - "noEmitOnError": true, - "watch": true, "declaration": true, "incremental": true, + "noEmitOnError": true, + "watch": true, "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" } Program structureReused: Completely @@ -439,6 +431,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -454,7 +447,7 @@ Output:: //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-11111345725-import { A } from \"../shared/types/db\";\nconst a: string = 10;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true,"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,[3,[{"file":"../src/main.ts","start":46,"length":1,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'string'."}]],4],"affectedFilesPendingEmit":[3]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-11111345725-import { A } from \"../shared/types/db\";\nconst a: string = 10;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true,"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[[3,[{"start":46,"length":1,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'string'."}]]],"affectedFilesPendingEmit":[3]},"version":"FakeTSVersion"} //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -536,13 +529,10 @@ Output:: ] }, "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../shared/types/db.ts", [ "../src/main.ts", [ { - "file": "../src/main.ts", "start": 46, "length": 1, "code": 2322, @@ -550,8 +540,7 @@ Output:: "messageText": "Type 'number' is not assignable to type 'string'." } ] - ], - "../src/other.ts" + ] ], "affectedFilesPendingEmit": [ [ @@ -561,7 +550,7 @@ Output:: ] }, "version": "FakeTSVersion", - "size": 1348 + "size": 1318 } @@ -573,10 +562,10 @@ Program root files: [ ] Program options: { "outDir": "/user/username/projects/noEmitOnError/dev-build", - "noEmitOnError": true, - "watch": true, "declaration": true, "incremental": true, + "noEmitOnError": true, + "watch": true, "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" } Program structureReused: Completely @@ -605,6 +594,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 4: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 @@ -624,6 +614,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 5: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -634,7 +625,7 @@ Output:: //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-8373351622-import { A } from \"../shared/types/db\";\nconst a: string = \"hello\";","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true,"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3,4]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-8373351622-import { A } from \"../shared/types/db\";\nconst a: string = \"hello\";","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"declaration":true,"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]]},"version":"FakeTSVersion"} //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -714,16 +705,10 @@ Output:: "../src/main.ts": [ "../shared/types/db.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../shared/types/db.ts", - "../src/main.ts", - "../src/other.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1180 + "size": 1141 } //// [/user/username/projects/noEmitOnError/dev-build/src/main.js] @@ -742,10 +727,10 @@ Program root files: [ ] Program options: { "outDir": "/user/username/projects/noEmitOnError/dev-build", - "noEmitOnError": true, - "watch": true, "declaration": true, "incremental": true, + "noEmitOnError": true, + "watch": true, "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" } Program structureReused: Completely @@ -774,6 +759,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 6: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModulesAndD/with-noEmitOnError.js b/tests/baselines/reference/tscWatch/noEmitOnError/noEmitOnError-with-declaration.js similarity index 95% rename from tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModulesAndD/with-noEmitOnError.js rename to tests/baselines/reference/tscWatch/noEmitOnError/noEmitOnError-with-declaration.js index ad9be5efa5923..f23761396274f 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/isolatedModulesAndD/with-noEmitOnError.js +++ b/tests/baselines/reference/tscWatch/noEmitOnError/noEmitOnError-with-declaration.js @@ -4,6 +4,7 @@ Input:: { "compilerOptions": { "outDir": "./dev-build", + "declaration": true, "noEmitOnError": true } } @@ -42,7 +43,7 @@ interface ReadonlyArray {} declare const console: { log(msg: any): void; }; -/a/lib/tsc.js --w --isolatedModules --d +/a/lib/tsc.js --w Output:: >> Screen clear [HH:MM:SS AM] Starting compilation in watch mode... @@ -96,10 +97,9 @@ Program root files: [ ] Program options: { "outDir": "/user/username/projects/noEmitOnError/dev-build", + "declaration": true, "noEmitOnError": true, "watch": true, - "isolatedModules": true, - "declaration": true, "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" } Program structureReused: Not @@ -134,6 +134,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 @@ -155,6 +156,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -206,10 +208,9 @@ Program root files: [ ] Program options: { "outDir": "/user/username/projects/noEmitOnError/dev-build", + "declaration": true, "noEmitOnError": true, "watch": true, - "isolatedModules": true, - "declaration": true, "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" } Program structureReused: Completely @@ -241,6 +242,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -264,10 +266,9 @@ Program root files: [ ] Program options: { "outDir": "/user/username/projects/noEmitOnError/dev-build", + "declaration": true, "noEmitOnError": true, "watch": true, - "isolatedModules": true, - "declaration": true, "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" } Program structureReused: Completely @@ -296,6 +297,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 4: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 @@ -315,6 +317,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 5: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -340,10 +343,9 @@ Program root files: [ ] Program options: { "outDir": "/user/username/projects/noEmitOnError/dev-build", + "declaration": true, "noEmitOnError": true, "watch": true, - "isolatedModules": true, - "declaration": true, "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" } Program structureReused: Completely @@ -372,6 +374,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 6: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/default/with-noEmitOnError-with-incremental.js b/tests/baselines/reference/tscWatch/noEmitOnError/noEmitOnError-with-incremental.js similarity index 94% rename from tests/baselines/reference/tscWatch/emitAndErrorUpdates/default/with-noEmitOnError-with-incremental.js rename to tests/baselines/reference/tscWatch/noEmitOnError/noEmitOnError-with-incremental.js index 385487fa817d3..2484f14225a3c 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/default/with-noEmitOnError-with-incremental.js +++ b/tests/baselines/reference/tscWatch/noEmitOnError/noEmitOnError-with-incremental.js @@ -4,6 +4,7 @@ Input:: { "compilerOptions": { "outDir": "./dev-build", + "incremental": true, "noEmitOnError": true } } @@ -42,7 +43,7 @@ interface ReadonlyArray {} declare const console: { log(msg: any): void; }; -/a/lib/tsc.js --w --incremental +/a/lib/tsc.js --w Output:: >> Screen clear [HH:MM:SS AM] Starting compilation in watch mode... @@ -57,7 +58,7 @@ Output:: //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-2574607723-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n;\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","impliedFormat":1}],"root":[[2,4]],"options":{"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3,4],"affectedFilesPendingEmit":[2,3,4]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-2574607723-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n;\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","impliedFormat":1}],"root":[[2,4]],"options":{"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"affectedFilesPendingEmit":[2,3,4]},"version":"FakeTSVersion"} //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -135,12 +136,6 @@ Output:: "../shared/types/db.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../shared/types/db.ts", - "../src/main.ts", - "../src/other.ts" - ], "affectedFilesPendingEmit": [ [ "../shared/types/db.ts", @@ -157,7 +152,7 @@ Output:: ] }, "version": "FakeTSVersion", - "size": 1128 + "size": 1089 } @@ -200,9 +195,9 @@ Program root files: [ ] Program options: { "outDir": "/user/username/projects/noEmitOnError/dev-build", + "incremental": true, "noEmitOnError": true, "watch": true, - "incremental": true, "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" } Program structureReused: Not @@ -237,6 +232,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 @@ -258,6 +254,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -268,7 +265,7 @@ Output:: //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-2574605496-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n};","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","impliedFormat":1}],"root":[[2,4]],"options":{"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3,4]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-2574605496-import { A } from \"../shared/types/db\";\nconst a = {\n lastName: 'sdsd'\n};","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","impliedFormat":1}],"root":[[2,4]],"options":{"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]]},"version":"FakeTSVersion"} //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -346,16 +343,10 @@ Output:: "../src/main.ts": [ "../shared/types/db.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../shared/types/db.ts", - "../src/main.ts", - "../src/other.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1131 + "size": 1092 } //// [/user/username/projects/noEmitOnError/dev-build/shared/types/db.js] @@ -386,9 +377,9 @@ Program root files: [ ] Program options: { "outDir": "/user/username/projects/noEmitOnError/dev-build", + "incremental": true, "noEmitOnError": true, "watch": true, - "incremental": true, "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" } Program structureReused: Completely @@ -420,6 +411,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -435,7 +427,7 @@ Output:: //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-11111345725-import { A } from \"../shared/types/db\";\nconst a: string = 10;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","impliedFormat":1}],"root":[[2,4]],"options":{"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,[3,[{"file":"../src/main.ts","start":46,"length":1,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'string'."}]],4],"affectedFilesPendingEmit":[3]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-11111345725-import { A } from \"../shared/types/db\";\nconst a: string = 10;","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","impliedFormat":1}],"root":[[2,4]],"options":{"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[[3,[{"start":46,"length":1,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'string'."}]]],"affectedFilesPendingEmit":[3]},"version":"FakeTSVersion"} //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -515,13 +507,10 @@ Output:: ] }, "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../shared/types/db.ts", [ "../src/main.ts", [ { - "file": "../src/main.ts", "start": 46, "length": 1, "code": 2322, @@ -529,8 +518,7 @@ Output:: "messageText": "Type 'number' is not assignable to type 'string'." } ] - ], - "../src/other.ts" + ] ], "affectedFilesPendingEmit": [ [ @@ -540,7 +528,7 @@ Output:: ] }, "version": "FakeTSVersion", - "size": 1290 + "size": 1260 } @@ -552,9 +540,9 @@ Program root files: [ ] Program options: { "outDir": "/user/username/projects/noEmitOnError/dev-build", + "incremental": true, "noEmitOnError": true, "watch": true, - "incremental": true, "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" } Program structureReused: Completely @@ -583,6 +571,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 4: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 @@ -602,6 +591,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 5: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -612,7 +602,7 @@ Output:: //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-8373351622-import { A } from \"../shared/types/db\";\nconst a: string = \"hello\";","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","impliedFormat":1}],"root":[[2,4]],"options":{"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3,4]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5014788164-export interface A {\n name: string;\n}\n","impliedFormat":1},{"version":"-8373351622-import { A } from \"../shared/types/db\";\nconst a: string = \"hello\";","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","impliedFormat":1}],"root":[[2,4]],"options":{"noEmitOnError":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]]},"version":"FakeTSVersion"} //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -690,16 +680,10 @@ Output:: "../src/main.ts": [ "../shared/types/db.ts" ] - }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../shared/types/db.ts", - "../src/main.ts", - "../src/other.ts" - ] + } }, "version": "FakeTSVersion", - "size": 1122 + "size": 1083 } //// [/user/username/projects/noEmitOnError/dev-build/src/main.js] @@ -717,9 +701,9 @@ Program root files: [ ] Program options: { "outDir": "/user/username/projects/noEmitOnError/dev-build", + "incremental": true, "noEmitOnError": true, "watch": true, - "incremental": true, "configFilePath": "/user/username/projects/noEmitOnError/tsconfig.json" } Program structureReused: Completely @@ -748,6 +732,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 6: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 diff --git a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/default/with-noEmitOnError.js b/tests/baselines/reference/tscWatch/noEmitOnError/noEmitOnError.js similarity index 95% rename from tests/baselines/reference/tscWatch/emitAndErrorUpdates/default/with-noEmitOnError.js rename to tests/baselines/reference/tscWatch/noEmitOnError/noEmitOnError.js index 21db97d9fcb08..5b5c161b01df1 100644 --- a/tests/baselines/reference/tscWatch/emitAndErrorUpdates/default/with-noEmitOnError.js +++ b/tests/baselines/reference/tscWatch/noEmitOnError/noEmitOnError.js @@ -132,6 +132,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 @@ -153,6 +154,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -223,6 +225,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -276,6 +279,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 4: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 @@ -295,6 +299,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 5: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -349,6 +354,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 6: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 diff --git a/tests/baselines/reference/tscWatch/nodenext watch emit/esm-mode-file-is-edited.js b/tests/baselines/reference/tscWatch/nodenext watch emit/esm-mode-file-is-edited.js index 983239483de7e..6cd7682aa441f 100644 --- a/tests/baselines/reference/tscWatch/nodenext watch emit/esm-mode-file-is-edited.js +++ b/tests/baselines/reference/tscWatch/nodenext watch emit/esm-mode-file-is-edited.js @@ -117,6 +117,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/programUpdates/Options-Diagnostic-locations-reported-correctly-with-changes-in-configFile-contents-when-options-change.js b/tests/baselines/reference/tscWatch/programUpdates/Options-Diagnostic-locations-reported-correctly-with-changes-in-configFile-contents-when-options-change.js index 80a116f35398e..8461c3efdd932 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/Options-Diagnostic-locations-reported-correctly-with-changes-in-configFile-contents-when-options-change.js +++ b/tests/baselines/reference/tscWatch/programUpdates/Options-Diagnostic-locations-reported-correctly-with-changes-in-configFile-contents-when-options-change.js @@ -111,6 +111,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/programUpdates/Reports-errors-when-the-config-file-changes.js b/tests/baselines/reference/tscWatch/programUpdates/Reports-errors-when-the-config-file-changes.js index df602a79e9a7a..aab5c1ea30f63 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/Reports-errors-when-the-config-file-changes.js +++ b/tests/baselines/reference/tscWatch/programUpdates/Reports-errors-when-the-config-file-changes.js @@ -86,6 +86,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -137,6 +138,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/programUpdates/Updates-diagnostics-when-'--allowArbitraryExtensions'-changes.js b/tests/baselines/reference/tscWatch/programUpdates/Updates-diagnostics-when-'--allowArbitraryExtensions'-changes.js index 4bee3d34d484a..eec2091053f19 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/Updates-diagnostics-when-'--allowArbitraryExtensions'-changes.js +++ b/tests/baselines/reference/tscWatch/programUpdates/Updates-diagnostics-when-'--allowArbitraryExtensions'-changes.js @@ -107,6 +107,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -178,6 +179,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/programUpdates/Updates-diagnostics-when-'--noUnusedLabels'-changes.js b/tests/baselines/reference/tscWatch/programUpdates/Updates-diagnostics-when-'--noUnusedLabels'-changes.js index d471721918fa7..5f2f56510d621 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/Updates-diagnostics-when-'--noUnusedLabels'-changes.js +++ b/tests/baselines/reference/tscWatch/programUpdates/Updates-diagnostics-when-'--noUnusedLabels'-changes.js @@ -92,6 +92,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -148,6 +149,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/programUpdates/add-new-files-to-a-configured-program-without-file-list.js b/tests/baselines/reference/tscWatch/programUpdates/add-new-files-to-a-configured-program-without-file-list.js index 0889719a627c5..09473db40bb06 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/add-new-files-to-a-configured-program-without-file-list.js +++ b/tests/baselines/reference/tscWatch/programUpdates/add-new-files-to-a-configured-program-without-file-list.js @@ -82,6 +82,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/programUpdates/add-the-missing-module-file-for-inferred-project-should-remove-the-module-not-found-error.js b/tests/baselines/reference/tscWatch/programUpdates/add-the-missing-module-file-for-inferred-project-should-remove-the-module-not-found-error.js index 51230a2a41e72..ff3ecc44f929f 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/add-the-missing-module-file-for-inferred-project-should-remove-the-module-not-found-error.js +++ b/tests/baselines/reference/tscWatch/programUpdates/add-the-missing-module-file-for-inferred-project-should-remove-the-module-not-found-error.js @@ -89,6 +89,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -97,6 +98,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/programUpdates/can-correctly-update-configured-project-when-set-of-root-files-has-changed-(new-file-in-list-of-files).js b/tests/baselines/reference/tscWatch/programUpdates/can-correctly-update-configured-project-when-set-of-root-files-has-changed-(new-file-in-list-of-files).js index 98f15b152c06a..0c88d9cf434fa 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/can-correctly-update-configured-project-when-set-of-root-files-has-changed-(new-file-in-list-of-files).js +++ b/tests/baselines/reference/tscWatch/programUpdates/can-correctly-update-configured-project-when-set-of-root-files-has-changed-(new-file-in-list-of-files).js @@ -92,6 +92,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/programUpdates/can-correctly-update-configured-project-when-set-of-root-files-has-changed-(new-file-on-disk).js b/tests/baselines/reference/tscWatch/programUpdates/can-correctly-update-configured-project-when-set-of-root-files-has-changed-(new-file-on-disk).js index eaefcbaffd0a1..d6205d49d207d 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/can-correctly-update-configured-project-when-set-of-root-files-has-changed-(new-file-on-disk).js +++ b/tests/baselines/reference/tscWatch/programUpdates/can-correctly-update-configured-project-when-set-of-root-files-has-changed-(new-file-on-disk).js @@ -82,6 +82,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/programUpdates/can-correctly-update-configured-project-when-set-of-root-files-has-changed-through-include.js b/tests/baselines/reference/tscWatch/programUpdates/can-correctly-update-configured-project-when-set-of-root-files-has-changed-through-include.js index 95a42a4b06f83..96a9192a1f4b6 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/can-correctly-update-configured-project-when-set-of-root-files-has-changed-through-include.js +++ b/tests/baselines/reference/tscWatch/programUpdates/can-correctly-update-configured-project-when-set-of-root-files-has-changed-through-include.js @@ -104,6 +104,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/programUpdates/can-update-configured-project-when-set-of-root-files-was-not-changed.js b/tests/baselines/reference/tscWatch/programUpdates/can-update-configured-project-when-set-of-root-files-was-not-changed.js index c9740ad4acd64..fef0beeccff5a 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/can-update-configured-project-when-set-of-root-files-was-not-changed.js +++ b/tests/baselines/reference/tscWatch/programUpdates/can-update-configured-project-when-set-of-root-files-was-not-changed.js @@ -105,6 +105,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/programUpdates/change-module-to-none.js b/tests/baselines/reference/tscWatch/programUpdates/change-module-to-none.js index bb810ad781b6f..fecbb6ce615a3 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/change-module-to-none.js +++ b/tests/baselines/reference/tscWatch/programUpdates/change-module-to-none.js @@ -88,6 +88,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/programUpdates/changes-in-files-are-reflected-in-project-structure.js b/tests/baselines/reference/tscWatch/programUpdates/changes-in-files-are-reflected-in-project-structure.js index 8ffd40730757b..838823c1e8677 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/changes-in-files-are-reflected-in-project-structure.js +++ b/tests/baselines/reference/tscWatch/programUpdates/changes-in-files-are-reflected-in-project-structure.js @@ -112,6 +112,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/programUpdates/config-file-is-deleted.js b/tests/baselines/reference/tscWatch/programUpdates/config-file-is-deleted.js index af0072e961e55..f85f668b1d5d4 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/config-file-is-deleted.js +++ b/tests/baselines/reference/tscWatch/programUpdates/config-file-is-deleted.js @@ -93,6 +93,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: error TS5083: Cannot read file '/a/b/tsconfig.json'. diff --git a/tests/baselines/reference/tscWatch/programUpdates/correctly-handles-changes-in-lib-section-of-config-file.js b/tests/baselines/reference/tscWatch/programUpdates/correctly-handles-changes-in-lib-section-of-config-file.js index b4575c12db0d1..43a2d9a865dc5 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/correctly-handles-changes-in-lib-section-of-config-file.js +++ b/tests/baselines/reference/tscWatch/programUpdates/correctly-handles-changes-in-lib-section-of-config-file.js @@ -119,6 +119,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/programUpdates/correctly-parses-wild-card-directories-from-implicit-glob-when-two-keys-differ-only-in-directory-seperator.js b/tests/baselines/reference/tscWatch/programUpdates/correctly-parses-wild-card-directories-from-implicit-glob-when-two-keys-differ-only-in-directory-seperator.js index 7dc1460256208..00736c34d38e3 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/correctly-parses-wild-card-directories-from-implicit-glob-when-two-keys-differ-only-in-directory-seperator.js +++ b/tests/baselines/reference/tscWatch/programUpdates/correctly-parses-wild-card-directories-from-implicit-glob-when-two-keys-differ-only-in-directory-seperator.js @@ -79,7 +79,7 @@ export declare const y = 1; //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./f1.ts","./f2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10906998252-export const x = 1","signature":"-7495133367-export declare const x = 1;\n","impliedFormat":1},{"version":"-10905812331-export const y = 1","signature":"-6203665398-export declare const y = 1;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./f2.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./f1.ts","./f2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10906998252-export const x = 1","signature":"-7495133367-export declare const x = 1;\n","impliedFormat":1},{"version":"-10905812331-export const y = 1","signature":"-6203665398-export declare const y = 1;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true},"latestChangedDtsFile":"./f2.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -135,16 +135,10 @@ export declare const y = 1; "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./f1.ts", - "./f2.ts" - ], "latestChangedDtsFile": "./f2.d.ts" }, "version": "FakeTSVersion", - "size": 906 + "size": 850 } @@ -219,6 +213,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Reloading new file names and options @@ -240,7 +235,7 @@ Elapsed:: *ms DirectoryWatcher:: Triggered with /user/username/projects/myprojec //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./f1.ts","./f2.ts","./new-file.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10906998252-export const x = 1","signature":"-7495133367-export declare const x = 1;\n","impliedFormat":1},{"version":"-10905812331-export const y = 1","signature":"-6203665398-export declare const y = 1;\n","impliedFormat":1},{"version":"-11960320495-export const z = 1;","signature":"-9207164725-export declare const z = 1;\n","impliedFormat":1}],"root":[[2,4]],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./new-file.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./f1.ts","./f2.ts","./new-file.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10906998252-export const x = 1","signature":"-7495133367-export declare const x = 1;\n","impliedFormat":1},{"version":"-10905812331-export const y = 1","signature":"-6203665398-export declare const y = 1;\n","impliedFormat":1},{"version":"-11960320495-export const z = 1;","signature":"-9207164725-export declare const z = 1;\n","impliedFormat":1}],"root":[[2,4]],"options":{"composite":true},"latestChangedDtsFile":"./new-file.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -310,17 +305,10 @@ Elapsed:: *ms DirectoryWatcher:: Triggered with /user/username/projects/myprojec "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./f1.ts", - "./f2.ts", - "./new-file.ts" - ], "latestChangedDtsFile": "./new-file.d.ts" }, "version": "FakeTSVersion", - "size": 1053 + "size": 995 } //// [/user/username/projects/myproject/new-file.js] @@ -407,6 +395,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -421,7 +410,7 @@ CreatingProgramWith:: //// [/user/username/projects/myproject/f1.js] file written with same contents //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./new-file.ts","./f1.ts","./f2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11960320495-export const z = 1;","signature":"-9207164725-export declare const z = 1;\n","impliedFormat":1},{"version":"1363236232-import { z } from \"./new-file\";export const x = 1","signature":"-7495133367-export declare const x = 1;\n","impliedFormat":1},{"version":"-10905812331-export const y = 1","signature":"-6203665398-export declare const y = 1;\n","impliedFormat":1}],"root":[[2,4]],"options":{"composite":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,3,4,2],"latestChangedDtsFile":"./new-file.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./new-file.ts","./f1.ts","./f2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11960320495-export const z = 1;","signature":"-9207164725-export declare const z = 1;\n","impliedFormat":1},{"version":"1363236232-import { z } from \"./new-file\";export const x = 1","signature":"-7495133367-export declare const x = 1;\n","impliedFormat":1},{"version":"-10905812331-export const y = 1","signature":"-6203665398-export declare const y = 1;\n","impliedFormat":1}],"root":[[2,4]],"options":{"composite":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./new-file.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -501,16 +490,10 @@ CreatingProgramWith:: "./new-file.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./f1.ts", - "./f2.ts", - "./new-file.ts" - ], "latestChangedDtsFile": "./new-file.d.ts" }, "version": "FakeTSVersion", - "size": 1109 + "size": 1070 } diff --git a/tests/baselines/reference/tscWatch/programUpdates/deleted-files-affect-project-structure-2.js b/tests/baselines/reference/tscWatch/programUpdates/deleted-files-affect-project-structure-2.js index 67bb31f77b553..3a30c89333e62 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/deleted-files-affect-project-structure-2.js +++ b/tests/baselines/reference/tscWatch/programUpdates/deleted-files-affect-project-structure-2.js @@ -130,6 +130,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/programUpdates/deleted-files-affect-project-structure.js b/tests/baselines/reference/tscWatch/programUpdates/deleted-files-affect-project-structure.js index 2722b79079f05..ced09a0fa4f39 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/deleted-files-affect-project-structure.js +++ b/tests/baselines/reference/tscWatch/programUpdates/deleted-files-affect-project-structure.js @@ -129,6 +129,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/programUpdates/extended-source-files-are-watched.js b/tests/baselines/reference/tscWatch/programUpdates/extended-source-files-are-watched.js index a6f16d16b3685..18ffdd42a450f 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/extended-source-files-are-watched.js +++ b/tests/baselines/reference/tscWatch/programUpdates/extended-source-files-are-watched.js @@ -116,6 +116,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -193,6 +194,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -255,6 +257,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -311,6 +314,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 4: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/programUpdates/file-in-files-is-deleted.js b/tests/baselines/reference/tscWatch/programUpdates/file-in-files-is-deleted.js index a011e4643bae5..b4cdcf64f39f8 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/file-in-files-is-deleted.js +++ b/tests/baselines/reference/tscWatch/programUpdates/file-in-files-is-deleted.js @@ -95,6 +95,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/programUpdates/handle-recreated-files-correctly.js b/tests/baselines/reference/tscWatch/programUpdates/handle-recreated-files-correctly.js index 6dd750eacf57b..c5e6606c8a1d4 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/handle-recreated-files-correctly.js +++ b/tests/baselines/reference/tscWatch/programUpdates/handle-recreated-files-correctly.js @@ -102,6 +102,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -163,6 +164,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -230,6 +232,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 4: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/programUpdates/handles-the-missing-files---that-were-added-to-program-because-they-were-added-with-tripleSlashRefs.js b/tests/baselines/reference/tscWatch/programUpdates/handles-the-missing-files---that-were-added-to-program-because-they-were-added-with-tripleSlashRefs.js index 40c95bc004237..eff93d51b7290 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/handles-the-missing-files---that-were-added-to-program-because-they-were-added-with-tripleSlashRefs.js +++ b/tests/baselines/reference/tscWatch/programUpdates/handles-the-missing-files---that-were-added-to-program-because-they-were-added-with-tripleSlashRefs.js @@ -97,6 +97,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/programUpdates/rename-a-module-file-and-rename-back-should-restore-the-states-for-configured-projects.js b/tests/baselines/reference/tscWatch/programUpdates/rename-a-module-file-and-rename-back-should-restore-the-states-for-configured-projects.js index 83ca8a5f15b3e..1b7cc0e0d476b 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/rename-a-module-file-and-rename-back-should-restore-the-states-for-configured-projects.js +++ b/tests/baselines/reference/tscWatch/programUpdates/rename-a-module-file-and-rename-back-should-restore-the-states-for-configured-projects.js @@ -216,6 +216,7 @@ Before running Timeout callback:: count: 2 7: timerToInvalidateFailedLookupResolutions 8: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -225,6 +226,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 9: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/programUpdates/rename-a-module-file-and-rename-back-should-restore-the-states-for-inferred-projects.js b/tests/baselines/reference/tscWatch/programUpdates/rename-a-module-file-and-rename-back-should-restore-the-states-for-inferred-projects.js index e5d9c3750dbfa..01d31abe1331a 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/rename-a-module-file-and-rename-back-should-restore-the-states-for-inferred-projects.js +++ b/tests/baselines/reference/tscWatch/programUpdates/rename-a-module-file-and-rename-back-should-restore-the-states-for-inferred-projects.js @@ -172,6 +172,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -180,6 +181,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 4: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/programUpdates/reports-errors-correctly-with-file-not-in-rootDir.js b/tests/baselines/reference/tscWatch/programUpdates/reports-errors-correctly-with-file-not-in-rootDir.js index 8173d9b2e56c4..20e72b92c40bd 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/reports-errors-correctly-with-file-not-in-rootDir.js +++ b/tests/baselines/reference/tscWatch/programUpdates/reports-errors-correctly-with-file-not-in-rootDir.js @@ -121,6 +121,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/programUpdates/reports-errors-correctly-with-isolatedModules.js b/tests/baselines/reference/tscWatch/programUpdates/reports-errors-correctly-with-isolatedModules.js index 0fc6a349cade7..71c58478d2981 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/reports-errors-correctly-with-isolatedModules.js +++ b/tests/baselines/reference/tscWatch/programUpdates/reports-errors-correctly-with-isolatedModules.js @@ -116,6 +116,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit/declarationDir-is-specified.js b/tests/baselines/reference/tscWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit/declarationDir-is-specified.js index 200d9f9d68a44..8f624d61f0e60 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit/declarationDir-is-specified.js +++ b/tests/baselines/reference/tscWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit/declarationDir-is-specified.js @@ -145,6 +145,7 @@ Before running Timeout callback:: count: 2 1: timerToInvalidateFailedLookupResolutions 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit/when-outDir-and-declarationDir-is-specified.js b/tests/baselines/reference/tscWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit/when-outDir-and-declarationDir-is-specified.js index 4cc3ae080a9e1..fb77d9e6f1da4 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit/when-outDir-and-declarationDir-is-specified.js +++ b/tests/baselines/reference/tscWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit/when-outDir-and-declarationDir-is-specified.js @@ -147,6 +147,7 @@ Before running Timeout callback:: count: 2 1: timerToInvalidateFailedLookupResolutions 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit/when-outDir-is-specified.js b/tests/baselines/reference/tscWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit/when-outDir-is-specified.js index e4684888eadc6..66fa3f8f2700d 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit/when-outDir-is-specified.js +++ b/tests/baselines/reference/tscWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit/when-outDir-is-specified.js @@ -135,6 +135,7 @@ Before running Timeout callback:: count: 2 1: timerToInvalidateFailedLookupResolutions 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit/with-outFile.js b/tests/baselines/reference/tscWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit/with-outFile.js index 36e21b56f9d86..53a171222e210 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit/with-outFile.js +++ b/tests/baselines/reference/tscWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit/with-outFile.js @@ -126,6 +126,7 @@ Before running Timeout callback:: count: 2 1: timerToInvalidateFailedLookupResolutions 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit/without-outDir-or-outFile-is-specified-with-declaration-enabled.js b/tests/baselines/reference/tscWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit/without-outDir-or-outFile-is-specified-with-declaration-enabled.js index bf2636b8cc496..783b54f07476c 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit/without-outDir-or-outFile-is-specified-with-declaration-enabled.js +++ b/tests/baselines/reference/tscWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit/without-outDir-or-outFile-is-specified-with-declaration-enabled.js @@ -143,6 +143,7 @@ Before running Timeout callback:: count: 2 1: timerToInvalidateFailedLookupResolutions 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit/without-outDir-or-outFile-is-specified.js b/tests/baselines/reference/tscWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit/without-outDir-or-outFile-is-specified.js index 6f3aeaed6e2c3..88b13f4ca03a6 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit/without-outDir-or-outFile-is-specified.js +++ b/tests/baselines/reference/tscWatch/programUpdates/should-not-trigger-recompilation-because-of-program-emit/without-outDir-or-outFile-is-specified.js @@ -133,6 +133,7 @@ Before running Timeout callback:: count: 2 1: timerToInvalidateFailedLookupResolutions 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/programUpdates/should-properly-handle-module-resolution-changes-in-config-file.js b/tests/baselines/reference/tscWatch/programUpdates/should-properly-handle-module-resolution-changes-in-config-file.js index 70afb190bb79e..356bce1af4071 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/should-properly-handle-module-resolution-changes-in-config-file.js +++ b/tests/baselines/reference/tscWatch/programUpdates/should-properly-handle-module-resolution-changes-in-config-file.js @@ -105,6 +105,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/programUpdates/should-reflect-change-in-config-file.js b/tests/baselines/reference/tscWatch/programUpdates/should-reflect-change-in-config-file.js index d6e2b734a6035..d9259f3a57f47 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/should-reflect-change-in-config-file.js +++ b/tests/baselines/reference/tscWatch/programUpdates/should-reflect-change-in-config-file.js @@ -101,6 +101,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -167,6 +168,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/programUpdates/shouldnt-report-error-about-unused-function-incorrectly-when-file-changes-from-global-to-module.js b/tests/baselines/reference/tscWatch/programUpdates/shouldnt-report-error-about-unused-function-incorrectly-when-file-changes-from-global-to-module.js index e2dd3da41ff9a..633a75d7735cf 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/shouldnt-report-error-about-unused-function-incorrectly-when-file-changes-from-global-to-module.js +++ b/tests/baselines/reference/tscWatch/programUpdates/shouldnt-report-error-about-unused-function-incorrectly-when-file-changes-from-global-to-module.js @@ -87,6 +87,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/programUpdates/updates-diagnostics-and-emit-for-decorators.js b/tests/baselines/reference/tscWatch/programUpdates/updates-diagnostics-and-emit-for-decorators.js index 8d272c4ad956b..c3c7d95bb6cba 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/updates-diagnostics-and-emit-for-decorators.js +++ b/tests/baselines/reference/tscWatch/programUpdates/updates-diagnostics-and-emit-for-decorators.js @@ -172,6 +172,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -248,6 +249,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/programUpdates/updates-diagnostics-and-emit-when-useDefineForClassFields-changes.js b/tests/baselines/reference/tscWatch/programUpdates/updates-diagnostics-and-emit-when-useDefineForClassFields-changes.js index ddc81c5f049b9..5a7145956c072 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/updates-diagnostics-and-emit-when-useDefineForClassFields-changes.js +++ b/tests/baselines/reference/tscWatch/programUpdates/updates-diagnostics-and-emit-when-useDefineForClassFields-changes.js @@ -106,6 +106,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/programUpdates/updates-emit-on-jsx-option-add.js b/tests/baselines/reference/tscWatch/programUpdates/updates-emit-on-jsx-option-add.js index 28b1287025d9c..9ea54445b15c4 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/updates-emit-on-jsx-option-add.js +++ b/tests/baselines/reference/tscWatch/programUpdates/updates-emit-on-jsx-option-add.js @@ -95,6 +95,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/programUpdates/updates-emit-on-jsx-option-change.js b/tests/baselines/reference/tscWatch/programUpdates/updates-emit-on-jsx-option-change.js index 4cfaae3e4c2f1..c2590ae7bfc93 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/updates-emit-on-jsx-option-change.js +++ b/tests/baselines/reference/tscWatch/programUpdates/updates-emit-on-jsx-option-change.js @@ -93,6 +93,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/programUpdates/updates-errors-and-emit-when-verbatimModuleSyntax-changes.js b/tests/baselines/reference/tscWatch/programUpdates/updates-errors-and-emit-when-verbatimModuleSyntax-changes.js index 06448bd384839..defeafd32da17 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/updates-errors-and-emit-when-verbatimModuleSyntax-changes.js +++ b/tests/baselines/reference/tscWatch/programUpdates/updates-errors-and-emit-when-verbatimModuleSyntax-changes.js @@ -122,6 +122,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -198,6 +199,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/programUpdates/updates-errors-correctly-when-declaration-emit-is-disabled-in-compiler-options.js b/tests/baselines/reference/tscWatch/programUpdates/updates-errors-correctly-when-declaration-emit-is-disabled-in-compiler-options.js index 6624c5d66b40b..985942dfc189b 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/updates-errors-correctly-when-declaration-emit-is-disabled-in-compiler-options.js +++ b/tests/baselines/reference/tscWatch/programUpdates/updates-errors-correctly-when-declaration-emit-is-disabled-in-compiler-options.js @@ -112,6 +112,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -171,6 +172,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -225,6 +227,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -289,6 +292,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 4: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/programUpdates/updates-errors-in-lib-file/when-module-file-with-global-definitions-changes/with-default-options.js b/tests/baselines/reference/tscWatch/programUpdates/updates-errors-in-lib-file/when-module-file-with-global-definitions-changes/with-default-options.js index 189018fa1cc18..c1d052d42d5de 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/updates-errors-in-lib-file/when-module-file-with-global-definitions-changes/with-default-options.js +++ b/tests/baselines/reference/tscWatch/programUpdates/updates-errors-in-lib-file/when-module-file-with-global-definitions-changes/with-default-options.js @@ -105,6 +105,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -156,6 +157,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/programUpdates/updates-errors-in-lib-file/when-module-file-with-global-definitions-changes/with-skipDefaultLibCheck.js b/tests/baselines/reference/tscWatch/programUpdates/updates-errors-in-lib-file/when-module-file-with-global-definitions-changes/with-skipDefaultLibCheck.js index abb8692652ca6..15213781cefa8 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/updates-errors-in-lib-file/when-module-file-with-global-definitions-changes/with-skipDefaultLibCheck.js +++ b/tests/baselines/reference/tscWatch/programUpdates/updates-errors-in-lib-file/when-module-file-with-global-definitions-changes/with-skipDefaultLibCheck.js @@ -101,6 +101,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -152,6 +153,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/programUpdates/updates-errors-in-lib-file/when-module-file-with-global-definitions-changes/with-skipLibCheck.js b/tests/baselines/reference/tscWatch/programUpdates/updates-errors-in-lib-file/when-module-file-with-global-definitions-changes/with-skipLibCheck.js index 857d414c45ed1..c258d4061b10c 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/updates-errors-in-lib-file/when-module-file-with-global-definitions-changes/with-skipLibCheck.js +++ b/tests/baselines/reference/tscWatch/programUpdates/updates-errors-in-lib-file/when-module-file-with-global-definitions-changes/with-skipLibCheck.js @@ -101,6 +101,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -152,6 +153,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/programUpdates/updates-errors-in-lib-file/when-non-module-file-changes/with-default-options.js b/tests/baselines/reference/tscWatch/programUpdates/updates-errors-in-lib-file/when-non-module-file-changes/with-default-options.js index 02cb6c9725939..c72fc98112096 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/updates-errors-in-lib-file/when-non-module-file-changes/with-default-options.js +++ b/tests/baselines/reference/tscWatch/programUpdates/updates-errors-in-lib-file/when-non-module-file-changes/with-default-options.js @@ -94,6 +94,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -146,6 +147,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/programUpdates/updates-errors-in-lib-file/when-non-module-file-changes/with-skipDefaultLibCheck.js b/tests/baselines/reference/tscWatch/programUpdates/updates-errors-in-lib-file/when-non-module-file-changes/with-skipDefaultLibCheck.js index df4164496ce20..71e35c42406c6 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/updates-errors-in-lib-file/when-non-module-file-changes/with-skipDefaultLibCheck.js +++ b/tests/baselines/reference/tscWatch/programUpdates/updates-errors-in-lib-file/when-non-module-file-changes/with-skipDefaultLibCheck.js @@ -90,6 +90,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -142,6 +143,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/programUpdates/updates-errors-in-lib-file/when-non-module-file-changes/with-skipLibCheck.js b/tests/baselines/reference/tscWatch/programUpdates/updates-errors-in-lib-file/when-non-module-file-changes/with-skipLibCheck.js index d42cac1d6f11d..cafd11ae798a5 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/updates-errors-in-lib-file/when-non-module-file-changes/with-skipLibCheck.js +++ b/tests/baselines/reference/tscWatch/programUpdates/updates-errors-in-lib-file/when-non-module-file-changes/with-skipLibCheck.js @@ -90,6 +90,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -142,6 +143,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/programUpdates/updates-errors-when-ambient-modules-of-program-changes.js b/tests/baselines/reference/tscWatch/programUpdates/updates-errors-when-ambient-modules-of-program-changes.js index 03446dd0ba33d..c10dc8e17ffb4 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/updates-errors-when-ambient-modules-of-program-changes.js +++ b/tests/baselines/reference/tscWatch/programUpdates/updates-errors-when-ambient-modules-of-program-changes.js @@ -90,6 +90,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -182,6 +183,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/programUpdates/updates-errors-when-forceConsistentCasingInFileNames-changes.js b/tests/baselines/reference/tscWatch/programUpdates/updates-errors-when-forceConsistentCasingInFileNames-changes.js index 568351e919cac..5390ea862feab 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/updates-errors-when-forceConsistentCasingInFileNames-changes.js +++ b/tests/baselines/reference/tscWatch/programUpdates/updates-errors-when-forceConsistentCasingInFileNames-changes.js @@ -113,6 +113,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/programUpdates/updates-errors-when-noErrorTruncation-changes.js b/tests/baselines/reference/tscWatch/programUpdates/updates-errors-when-noErrorTruncation-changes.js index 090c7e8a6d2cd..fd18963d6ddba 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/updates-errors-when-noErrorTruncation-changes.js +++ b/tests/baselines/reference/tscWatch/programUpdates/updates-errors-when-noErrorTruncation-changes.js @@ -107,6 +107,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/programUpdates/updates-errors-when-strictNullChecks-changes.js b/tests/baselines/reference/tscWatch/programUpdates/updates-errors-when-strictNullChecks-changes.js index 0c54f6bb9eea8..6b548959e0433 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/updates-errors-when-strictNullChecks-changes.js +++ b/tests/baselines/reference/tscWatch/programUpdates/updates-errors-when-strictNullChecks-changes.js @@ -94,6 +94,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -149,6 +150,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -202,6 +204,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/programUpdates/updates-moduleResolution-when-resolveJsonModule-changes.js b/tests/baselines/reference/tscWatch/programUpdates/updates-moduleResolution-when-resolveJsonModule-changes.js index c965f0919e81d..1a7b2723d960a 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/updates-moduleResolution-when-resolveJsonModule-changes.js +++ b/tests/baselines/reference/tscWatch/programUpdates/updates-moduleResolution-when-resolveJsonModule-changes.js @@ -114,6 +114,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/programUpdates/watched-files-when-file-is-deleted-and-new-file-is-added-as-part-of-change.js b/tests/baselines/reference/tscWatch/programUpdates/watched-files-when-file-is-deleted-and-new-file-is-added-as-part-of-change.js index 67a57c320dcdd..3c6d12d44c262 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/watched-files-when-file-is-deleted-and-new-file-is-added-as-part-of-change.js +++ b/tests/baselines/reference/tscWatch/programUpdates/watched-files-when-file-is-deleted-and-new-file-is-added-as-part-of-change.js @@ -87,6 +87,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/programUpdates/when-changing-`allowImportingTsExtensions`-of-config-file.js b/tests/baselines/reference/tscWatch/programUpdates/when-changing-`allowImportingTsExtensions`-of-config-file.js index 8a6c2f519447a..cb72c9580b96d 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/when-changing-`allowImportingTsExtensions`-of-config-file.js +++ b/tests/baselines/reference/tscWatch/programUpdates/when-changing-`allowImportingTsExtensions`-of-config-file.js @@ -137,6 +137,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Reloading config file: /user/username/projects/myproject/tsconfig.json diff --git a/tests/baselines/reference/tscWatch/programUpdates/when-changing-checkJs-of-config-file.js b/tests/baselines/reference/tscWatch/programUpdates/when-changing-checkJs-of-config-file.js index 7e5908acf6a76..85790cbdcfdce 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/when-changing-checkJs-of-config-file.js +++ b/tests/baselines/reference/tscWatch/programUpdates/when-changing-checkJs-of-config-file.js @@ -137,6 +137,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Reloading config file: /user/username/projects/myproject/tsconfig.json diff --git a/tests/baselines/reference/tscWatch/programUpdates/when-creating-extensionless-file.js b/tests/baselines/reference/tscWatch/programUpdates/when-creating-extensionless-file.js index 74dd04237be9b..63363434fa722 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/when-creating-extensionless-file.js +++ b/tests/baselines/reference/tscWatch/programUpdates/when-creating-extensionless-file.js @@ -107,6 +107,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Reloading new file names and options diff --git a/tests/baselines/reference/tscWatch/programUpdates/when-creating-new-file-in-symlinked-folder.js b/tests/baselines/reference/tscWatch/programUpdates/when-creating-new-file-in-symlinked-folder.js index 101ea25f21e81..f2bbb1a9f8cf4 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/when-creating-new-file-in-symlinked-folder.js +++ b/tests/baselines/reference/tscWatch/programUpdates/when-creating-new-file-in-symlinked-folder.js @@ -171,6 +171,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Reloading new file names and options diff --git a/tests/baselines/reference/tscWatch/programUpdates/when-new-file-is-added-to-the-referenced-project.js b/tests/baselines/reference/tscWatch/programUpdates/when-new-file-is-added-to-the-referenced-project.js index 421cc7d543ad5..9dcb12b52fad8 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/when-new-file-is-added-to-the-referenced-project.js +++ b/tests/baselines/reference/tscWatch/programUpdates/when-new-file-is-added-to-the-referenced-project.js @@ -93,7 +93,7 @@ declare class class2 { //// [/user/username/projects/myproject/projects/project2/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../project1/class1.d.ts","./class2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3469237238-declare class class1 {}","affectsGlobalScope":true,"impliedFormat":1},{"version":"777969115-class class2 {}","signature":"-2684084705-declare class class2 {\n}\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[3],"options":{"composite":true,"module":0},"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./class2.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../project1/class1.d.ts","./class2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3469237238-declare class class1 {}","affectsGlobalScope":true,"impliedFormat":1},{"version":"777969115-class class2 {}","signature":"-2684084705-declare class class2 {\n}\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[3],"options":{"composite":true,"module":0},"latestChangedDtsFile":"./class2.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/projects/project2/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -149,15 +149,10 @@ declare class class2 { "composite": true, "module": 0 }, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "../project1/class1.d.ts", - "./class2.ts" - ], "latestChangedDtsFile": "./class2.d.ts" }, "version": "FakeTSVersion", - "size": 918 + "size": 881 } @@ -237,6 +232,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -375,6 +371,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -391,7 +388,7 @@ FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/projects/proj //// [/user/username/projects/myproject/projects/project2/class2.js] file written with same contents //// [/user/username/projects/myproject/projects/project2/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../project1/class1.d.ts","../project1/class3.d.ts","./class2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3469237238-declare class class1 {}","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3469165364-declare class class3 {}","affectsGlobalScope":true,"impliedFormat":1},{"version":"777969115-class class2 {}","signature":"-2684084705-declare class class2 {\n}\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[4],"options":{"composite":true,"module":0},"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./class2.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../project1/class1.d.ts","../project1/class3.d.ts","./class2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3469237238-declare class class1 {}","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3469165364-declare class class3 {}","affectsGlobalScope":true,"impliedFormat":1},{"version":"777969115-class class2 {}","signature":"-2684084705-declare class class2 {\n}\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[4],"options":{"composite":true,"module":0},"latestChangedDtsFile":"./class2.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/projects/project2/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -459,16 +456,10 @@ FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/projects/proj "composite": true, "module": 0 }, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "../project1/class1.d.ts", - "../project1/class3.d.ts", - "./class2.ts" - ], "latestChangedDtsFile": "./class2.d.ts" }, "version": "FakeTSVersion", - "size": 1040 + "size": 1001 } @@ -573,6 +564,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -603,7 +595,7 @@ FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/projects/proj //// [/user/username/projects/myproject/projects/project2/class2.js] file written with same contents //// [/user/username/projects/myproject/projects/project2/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../project1/class1.d.ts","./class2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3469237238-declare class class1 {}","affectsGlobalScope":true,"impliedFormat":1},{"version":"777969115-class class2 {}","signature":"-2684084705-declare class class2 {\n}\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[3],"options":{"composite":true,"module":0},"semanticDiagnosticsPerFile":[1],"latestChangedDtsFile":"./class2.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../project1/class1.d.ts","./class2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3469237238-declare class class1 {}","affectsGlobalScope":true,"impliedFormat":1},{"version":"777969115-class class2 {}","signature":"-2684084705-declare class class2 {\n}\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[3],"options":{"composite":true,"module":0},"semanticDiagnosticsPerFile":[2,3],"latestChangedDtsFile":"./class2.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/projects/project2/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -660,12 +652,19 @@ FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/projects/proj "module": 0 }, "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts" + [ + "../project1/class1.d.ts", + "not cached or not changed" + ], + [ + "./class2.ts", + "not cached or not changed" + ] ], "latestChangedDtsFile": "./class2.d.ts" }, "version": "FakeTSVersion", - "size": 914 + "size": 916 } @@ -786,6 +785,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 4: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -802,7 +802,7 @@ FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/projects/proj //// [/user/username/projects/myproject/projects/project2/class2.js] file written with same contents //// [/user/username/projects/myproject/projects/project2/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../project1/class1.d.ts","../project1/class3.d.ts","./class2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3469237238-declare class class1 {}","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3469165364-declare class class3 {}","affectsGlobalScope":true,"impliedFormat":1},{"version":"777969115-class class2 {}","signature":"-2684084705-declare class class2 {\n}\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[4],"options":{"composite":true,"module":0},"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./class2.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../project1/class1.d.ts","../project1/class3.d.ts","./class2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3469237238-declare class class1 {}","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3469165364-declare class class3 {}","affectsGlobalScope":true,"impliedFormat":1},{"version":"777969115-class class2 {}","signature":"-2684084705-declare class class2 {\n}\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[4],"options":{"composite":true,"module":0},"latestChangedDtsFile":"./class2.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/projects/project2/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -870,16 +870,10 @@ FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/projects/proj "composite": true, "module": 0 }, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "../project1/class1.d.ts", - "../project1/class3.d.ts", - "./class2.ts" - ], "latestChangedDtsFile": "./class2.d.ts" }, "version": "FakeTSVersion", - "size": 1040 + "size": 1001 } diff --git a/tests/baselines/reference/tscWatch/programUpdates/when-skipLibCheck-and-skipDefaultLibCheck-changes.js b/tests/baselines/reference/tscWatch/programUpdates/when-skipLibCheck-and-skipDefaultLibCheck-changes.js index cf23c90189f4e..b14e3e726237a 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/when-skipLibCheck-and-skipDefaultLibCheck-changes.js +++ b/tests/baselines/reference/tscWatch/programUpdates/when-skipLibCheck-and-skipDefaultLibCheck-changes.js @@ -125,6 +125,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -185,6 +186,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -246,6 +248,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -314,6 +317,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 4: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -378,6 +382,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 5: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -434,6 +439,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 6: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/programUpdates/works-correctly-when-config-file-is-changed-but-its-content-havent.js b/tests/baselines/reference/tscWatch/programUpdates/works-correctly-when-config-file-is-changed-but-its-content-havent.js index e9c93b84b1da7..5558ee6ecf7cd 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/works-correctly-when-config-file-is-changed-but-its-content-havent.js +++ b/tests/baselines/reference/tscWatch/programUpdates/works-correctly-when-config-file-is-changed-but-its-content-havent.js @@ -92,6 +92,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/projectsWithReferences/on-sample-project-with-nodenext.js b/tests/baselines/reference/tscWatch/projectsWithReferences/on-sample-project-with-nodenext.js index aa8b7014ef8df..11e2eccf34283 100644 --- a/tests/baselines/reference/tscWatch/projectsWithReferences/on-sample-project-with-nodenext.js +++ b/tests/baselines/reference/tscWatch/projectsWithReferences/on-sample-project-with-nodenext.js @@ -133,7 +133,7 @@ export declare function multiply(a: number, b: number): number; //# sourceMappingURL=index.d.ts.map //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"module":199,"skipDefaultLibCheck":true,"target":1},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"module":199,"skipDefaultLibCheck":true,"target":1},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -209,17 +209,10 @@ export declare function multiply(a: number, b: number): number; "skipDefaultLibCheck": true, "target": 1 }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1466 + "size": 1408 } //// [/user/username/projects/sample1/logic/index.js.map] @@ -268,7 +261,7 @@ export declare const m: typeof mod; //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"module":199,"skipDefaultLibCheck":true,"sourceMap":true,"target":1},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"module":199,"skipDefaultLibCheck":true,"sourceMap":true,"target":1},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -346,16 +339,10 @@ export declare const m: typeof mod; "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1518 + "size": 1479 } //// [/user/username/projects/sample1/tests/index.js] @@ -399,7 +386,7 @@ export declare const m: typeof mod; //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"module":199,"skipDefaultLibCheck":true,"target":1},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"module":199,"skipDefaultLibCheck":true,"target":1},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -494,17 +481,10 @@ export declare const m: typeof mod; "../logic/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "../logic/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1688 + "size": 1647 } @@ -730,7 +710,7 @@ function foo() { } //# sourceMappingURL=index.js.map //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-6497638357-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\nfunction foo() { }","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"module":199,"skipDefaultLibCheck":true,"sourceMap":true,"target":1},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-6497638357-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\nfunction foo() { }","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"module":199,"skipDefaultLibCheck":true,"sourceMap":true,"target":1},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -808,16 +788,10 @@ function foo() { } "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1536 + "size": 1497 } @@ -886,7 +860,7 @@ export declare function gfoo(): void; //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-1796860121-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\nfunction foo() { }export function gfoo() { }","signature":"-11367551051-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\nexport declare function gfoo(): void;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"module":199,"skipDefaultLibCheck":true,"sourceMap":true,"target":1},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-1796860121-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\nfunction foo() { }export function gfoo() { }","signature":"-11367551051-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\nexport declare function gfoo(): void;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"module":199,"skipDefaultLibCheck":true,"sourceMap":true,"target":1},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -964,16 +938,10 @@ export declare function gfoo(): void; "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1602 + "size": 1563 } @@ -1040,7 +1008,7 @@ tests/index.ts //// [/user/username/projects/sample1/tests/index.js] file written with same contents //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-11367551051-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\nexport declare function gfoo(): void;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"module":199,"skipDefaultLibCheck":true,"target":1},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-11367551051-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\nexport declare function gfoo(): void;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"module":199,"skipDefaultLibCheck":true,"target":1},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1135,17 +1103,10 @@ tests/index.ts "../logic/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "../logic/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1728 + "size": 1687 } @@ -1263,7 +1224,7 @@ function gfoo() { } //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-1796860121-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\nfunction foo() { }export function gfoo() { }","signature":"-11367551051-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\nexport declare function gfoo(): void;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"declarationDir":"./decls","module":199,"target":1},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./decls/index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-1796860121-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\nfunction foo() { }export function gfoo() { }","signature":"-11367551051-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\nexport declare function gfoo(): void;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"declarationDir":"./decls","module":199,"target":1},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./decls/index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1340,16 +1301,10 @@ function gfoo() { } "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./decls/index.d.ts" }, "version": "FakeTSVersion", - "size": 1591 + "size": 1552 } //// [/user/username/projects/sample1/logic/decls/index.d.ts] @@ -1430,7 +1385,7 @@ tests/index.ts //// [/user/username/projects/sample1/tests/index.js] file written with same contents //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/decls/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-11367551051-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\nexport declare function gfoo(): void;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"module":199,"skipDefaultLibCheck":true,"target":1},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/decls/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-11367551051-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\nexport declare function gfoo(): void;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"module":199,"skipDefaultLibCheck":true,"target":1},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1525,17 +1480,10 @@ tests/index.ts "../logic/decls/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "../logic/decls/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1734 + "size": 1693 } diff --git a/tests/baselines/reference/tscWatch/projectsWithReferences/on-sample-project.js b/tests/baselines/reference/tscWatch/projectsWithReferences/on-sample-project.js index cd4a6ae852825..ba469a56c52af 100644 --- a/tests/baselines/reference/tscWatch/projectsWithReferences/on-sample-project.js +++ b/tests/baselines/reference/tscWatch/projectsWithReferences/on-sample-project.js @@ -127,7 +127,7 @@ export declare function multiply(a: number, b: number): number; //# sourceMappingURL=index.d.ts.map //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -201,17 +201,10 @@ export declare function multiply(a: number, b: number): number; "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1442 + "size": 1384 } //// [/user/username/projects/sample1/logic/index.js.map] @@ -237,7 +230,7 @@ export declare const m: typeof mod; //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -313,16 +306,10 @@ export declare const m: typeof mod; "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1494 + "size": 1455 } //// [/user/username/projects/sample1/tests/index.js] @@ -343,7 +330,7 @@ export declare const m: typeof mod; //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -436,17 +423,10 @@ export declare const m: typeof mod; "../logic/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "../logic/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1664 + "size": 1623 } @@ -640,7 +620,7 @@ function foo() { } //# sourceMappingURL=index.js.map //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-6497638357-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\nfunction foo() { }","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-6497638357-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\nfunction foo() { }","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -716,16 +696,10 @@ function foo() { } "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1512 + "size": 1473 } @@ -771,7 +745,7 @@ export declare function gfoo(): void; //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-1796860121-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\nfunction foo() { }export function gfoo() { }","signature":"-11367551051-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\nexport declare function gfoo(): void;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-1796860121-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\nfunction foo() { }export function gfoo() { }","signature":"-11367551051-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\nexport declare function gfoo(): void;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -847,16 +821,10 @@ export declare function gfoo(): void; "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1578 + "size": 1539 } @@ -919,7 +887,7 @@ tests/index.ts //// [/user/username/projects/sample1/tests/index.js] file written with same contents //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-11367551051-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\nexport declare function gfoo(): void;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-11367551051-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\nexport declare function gfoo(): void;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1012,17 +980,10 @@ tests/index.ts "../logic/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "../logic/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1704 + "size": 1663 } @@ -1113,7 +1074,7 @@ function gfoo() { } //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-1796860121-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\nfunction foo() { }export function gfoo() { }","signature":"-11367551051-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\nexport declare function gfoo(): void;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"declarationDir":"./decls"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./decls/index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-1796860121-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\nfunction foo() { }export function gfoo() { }","signature":"-11367551051-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\nexport declare function gfoo(): void;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"declarationDir":"./decls"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./decls/index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1188,16 +1149,10 @@ function gfoo() { } "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./decls/index.d.ts" }, "version": "FakeTSVersion", - "size": 1567 + "size": 1528 } //// [/user/username/projects/sample1/logic/decls/index.d.ts] @@ -1274,7 +1229,7 @@ tests/index.ts //// [/user/username/projects/sample1/tests/index.js] file written with same contents //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/decls/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-11367551051-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\nexport declare function gfoo(): void;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"semanticDiagnosticsPerFile":[1,3,2,4,5],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/decls/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-11367551051-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\nexport declare function gfoo(): void;\n","impliedFormat":1},{"version":"-11950676699-import * as c from '../core/index';\nimport * as logic from '../logic/index';\n\nc.leftPad(\"\", 10);\nlogic.getSecondsInDay();\n\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"2702201019-import * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"fileIdsList":[[3],[2,3,4]],"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1367,17 +1322,10 @@ tests/index.ts "../logic/decls/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "../logic/decls/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1710 + "size": 1669 } diff --git a/tests/baselines/reference/tscWatch/projectsWithReferences/on-transitive-references-in-different-folders-with-no-files-clause.js b/tests/baselines/reference/tscWatch/projectsWithReferences/on-transitive-references-in-different-folders-with-no-files-clause.js index f6e03ade8ccbd..8423bf18dcbd9 100644 --- a/tests/baselines/reference/tscWatch/projectsWithReferences/on-transitive-references-in-different-folders-with-no-files-clause.js +++ b/tests/baselines/reference/tscWatch/projectsWithReferences/on-transitive-references-in-different-folders-with-no-files-clause.js @@ -91,7 +91,7 @@ export declare class A { //// [/user/username/projects/transitiveReferences/a/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7264743946-export class A {}","signature":"-8728835846-export declare class A {\n}\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7264743946-export class A {}","signature":"-8728835846-export declare class A {\n}\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/transitiveReferences/a/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -132,15 +132,10 @@ export declare class A { "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 779 + "size": 725 } //// [/user/username/projects/transitiveReferences/b/index.js] @@ -157,7 +152,7 @@ export declare const b: A; //// [/user/username/projects/transitiveReferences/b/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../a/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8728835846-export declare class A {\n}\n","impliedFormat":1},{"version":"-2591036212-import {A} from '@ref/a';\nexport const b = new A();","signature":"-9732944696-import { A } from '@ref/a';\nexport declare const b: A;\n","impliedFormat":1}],"root":[3],"options":{"composite":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../a/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8728835846-export declare class A {\n}\n","impliedFormat":1},{"version":"-2591036212-import {A} from '@ref/a';\nexport const b = new A();","signature":"-9732944696-import { A } from '@ref/a';\nexport declare const b: A;\n","impliedFormat":1}],"root":[3],"options":{"composite":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/transitiveReferences/b/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -218,15 +213,10 @@ export declare const b: A; "../a/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../a/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 961 + "size": 924 } //// [/user/username/projects/transitiveReferences/c/index.js] @@ -448,7 +438,7 @@ export declare function gfoo(): void; //// [/user/username/projects/transitiveReferences/b/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../a/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8728835846-export declare class A {\n}\n","impliedFormat":1},{"version":"1841609480-import {A} from '@ref/a';\nexport const b = new A();export function gfoo() { }","signature":"4376023469-import { A } from '@ref/a';\nexport declare const b: A;\nexport declare function gfoo(): void;\n","impliedFormat":1}],"root":[3],"options":{"composite":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../a/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8728835846-export declare class A {\n}\n","impliedFormat":1},{"version":"1841609480-import {A} from '@ref/a';\nexport const b = new A();export function gfoo() { }","signature":"4376023469-import { A } from '@ref/a';\nexport declare const b: A;\nexport declare function gfoo(): void;\n","impliedFormat":1}],"root":[3],"options":{"composite":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/transitiveReferences/b/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -509,15 +499,10 @@ export declare function gfoo(): void; "../a/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../a/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1024 + "size": 987 } @@ -668,6 +653,7 @@ Before running Timeout callback:: count: 2 2: timerToInvalidateFailedLookupResolutions 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -887,6 +873,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 4: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -1107,6 +1094,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 5: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -1307,6 +1295,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 6: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -1474,6 +1463,7 @@ Before running Timeout callback:: count: 2 7: timerToUpdateProgram 8: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -1674,6 +1664,7 @@ Before running Timeout callback:: count: 2 9: timerToUpdateProgram 10: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -1858,6 +1849,7 @@ Before running Timeout callback:: count: 2 11: timerToUpdateProgram 12: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -2053,6 +2045,7 @@ Before running Timeout callback:: count: 2 13: timerToUpdateProgram 14: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/projectsWithReferences/on-transitive-references-in-different-folders.js b/tests/baselines/reference/tscWatch/projectsWithReferences/on-transitive-references-in-different-folders.js index b20b817c774bd..5196a0571d2f8 100644 --- a/tests/baselines/reference/tscWatch/projectsWithReferences/on-transitive-references-in-different-folders.js +++ b/tests/baselines/reference/tscWatch/projectsWithReferences/on-transitive-references-in-different-folders.js @@ -100,7 +100,7 @@ export declare class A { //// [/user/username/projects/transitiveReferences/a/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7264743946-export class A {}","signature":"-8728835846-export declare class A {\n}\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7264743946-export class A {}","signature":"-8728835846-export declare class A {\n}\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/transitiveReferences/a/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -141,15 +141,10 @@ export declare class A { "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 779 + "size": 725 } //// [/user/username/projects/transitiveReferences/b/index.js] @@ -166,7 +161,7 @@ export declare const b: A; //// [/user/username/projects/transitiveReferences/b/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../a/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8728835846-export declare class A {\n}\n","impliedFormat":1},{"version":"-2591036212-import {A} from '@ref/a';\nexport const b = new A();","signature":"-9732944696-import { A } from '@ref/a';\nexport declare const b: A;\n","impliedFormat":1}],"root":[3],"options":{"composite":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../a/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8728835846-export declare class A {\n}\n","impliedFormat":1},{"version":"-2591036212-import {A} from '@ref/a';\nexport const b = new A();","signature":"-9732944696-import { A } from '@ref/a';\nexport declare const b: A;\n","impliedFormat":1}],"root":[3],"options":{"composite":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/transitiveReferences/b/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -227,15 +222,10 @@ export declare const b: A; "../a/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../a/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 961 + "size": 924 } //// [/user/username/projects/transitiveReferences/c/index.js] @@ -455,7 +445,7 @@ export declare function gfoo(): void; //// [/user/username/projects/transitiveReferences/b/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../a/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8728835846-export declare class A {\n}\n","impliedFormat":1},{"version":"1841609480-import {A} from '@ref/a';\nexport const b = new A();export function gfoo() { }","signature":"4376023469-import { A } from '@ref/a';\nexport declare const b: A;\nexport declare function gfoo(): void;\n","impliedFormat":1}],"root":[3],"options":{"composite":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../a/index.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8728835846-export declare class A {\n}\n","impliedFormat":1},{"version":"1841609480-import {A} from '@ref/a';\nexport const b = new A();export function gfoo() { }","signature":"4376023469-import { A } from '@ref/a';\nexport declare const b: A;\nexport declare function gfoo(): void;\n","impliedFormat":1}],"root":[3],"options":{"composite":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/transitiveReferences/b/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -516,15 +506,10 @@ export declare function gfoo(): void; "../a/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../a/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1024 + "size": 987 } @@ -678,6 +663,7 @@ Before running Timeout callback:: count: 2 2: timerToInvalidateFailedLookupResolutions 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -898,6 +884,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 4: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -1119,6 +1106,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 5: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -1322,6 +1310,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 6: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -1485,6 +1474,7 @@ Before running Timeout callback:: count: 2 7: timerToUpdateProgram 8: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -1682,6 +1672,7 @@ Before running Timeout callback:: count: 2 9: timerToUpdateProgram 10: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -1864,6 +1855,7 @@ Before running Timeout callback:: count: 2 11: timerToUpdateProgram 12: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -2060,6 +2052,7 @@ Before running Timeout callback:: count: 2 13: timerToUpdateProgram 14: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/projectsWithReferences/on-transitive-references-with-nodenext.js b/tests/baselines/reference/tscWatch/projectsWithReferences/on-transitive-references-with-nodenext.js index 05928b3cb5461..389a71eaa89d1 100644 --- a/tests/baselines/reference/tscWatch/projectsWithReferences/on-transitive-references-with-nodenext.js +++ b/tests/baselines/reference/tscWatch/projectsWithReferences/on-transitive-references-with-nodenext.js @@ -111,7 +111,7 @@ export declare class A { //// [/user/username/projects/transitiveReferences/tsconfig.a.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7808316224-export class A {}\n","signature":"-8728835846-export declare class A {\n}\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"module":199,"target":1},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./a.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7808316224-export class A {}\n","signature":"-8728835846-export declare class A {\n}\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"module":199,"target":1},"latestChangedDtsFile":"./a.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/transitiveReferences/tsconfig.a.tsbuildinfo.readable.baseline.txt] { @@ -154,15 +154,10 @@ export declare class A { "module": 199, "target": 1 }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts" - ], "latestChangedDtsFile": "./a.d.ts" }, "version": "FakeTSVersion", - "size": 874 + "size": 820 } //// [/user/username/projects/transitiveReferences/b.js] @@ -179,7 +174,7 @@ export declare const b: A; //// [/user/username/projects/transitiveReferences/tsconfig.b.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.d.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8728835846-export declare class A {\n}\n","impliedFormat":1},{"version":"-3899816362-import {A} from '@ref/a';\nexport const b = new A();\n","signature":"-9732944696-import { A } from '@ref/a';\nexport declare const b: A;\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"module":199,"target":1},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./b.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.d.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8728835846-export declare class A {\n}\n","impliedFormat":1},{"version":"-3899816362-import {A} from '@ref/a';\nexport const b = new A();\n","signature":"-9732944696-import { A } from '@ref/a';\nexport declare const b: A;\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"module":199,"target":1},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./b.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/transitiveReferences/tsconfig.b.tsbuildinfo.readable.baseline.txt] { @@ -242,15 +237,10 @@ export declare const b: A; "./a.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.d.ts", - "./b.ts" - ], "latestChangedDtsFile": "./b.d.ts" }, "version": "FakeTSVersion", - "size": 1049 + "size": 1012 } //// [/user/username/projects/transitiveReferences/c.js] @@ -458,7 +448,7 @@ export declare function gfoo(): void; //// [/user/username/projects/transitiveReferences/tsconfig.b.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.d.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8728835846-export declare class A {\n}\n","impliedFormat":1},{"version":"-3352421102-import {A} from '@ref/a';\nexport const b = new A();\nexport function gfoo() { }","signature":"4376023469-import { A } from '@ref/a';\nexport declare const b: A;\nexport declare function gfoo(): void;\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"module":199,"target":1},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./b.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.d.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8728835846-export declare class A {\n}\n","impliedFormat":1},{"version":"-3352421102-import {A} from '@ref/a';\nexport const b = new A();\nexport function gfoo() { }","signature":"4376023469-import { A } from '@ref/a';\nexport declare const b: A;\nexport declare function gfoo(): void;\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"module":199,"target":1},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./b.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/transitiveReferences/tsconfig.b.tsbuildinfo.readable.baseline.txt] { @@ -521,15 +511,10 @@ export declare function gfoo(): void; "./a.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.d.ts", - "./b.ts" - ], "latestChangedDtsFile": "./b.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1076 } @@ -686,6 +671,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -895,6 +881,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -1105,6 +1092,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 4: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -1296,6 +1284,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 5: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -1450,6 +1439,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 6: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -1638,6 +1628,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 7: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -1804,6 +1795,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 8: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -1986,6 +1978,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 9: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/projectsWithReferences/on-transitive-references.js b/tests/baselines/reference/tscWatch/projectsWithReferences/on-transitive-references.js index a6aa7b2365445..d0fd3f18b29e3 100644 --- a/tests/baselines/reference/tscWatch/projectsWithReferences/on-transitive-references.js +++ b/tests/baselines/reference/tscWatch/projectsWithReferences/on-transitive-references.js @@ -105,7 +105,7 @@ export declare class A { //// [/user/username/projects/transitiveReferences/tsconfig.a.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7808316224-export class A {}\n","signature":"-8728835846-export declare class A {\n}\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./a.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7808316224-export class A {}\n","signature":"-8728835846-export declare class A {\n}\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./a.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/transitiveReferences/tsconfig.a.tsbuildinfo.readable.baseline.txt] { @@ -146,15 +146,10 @@ export declare class A { "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts" - ], "latestChangedDtsFile": "./a.d.ts" }, "version": "FakeTSVersion", - "size": 850 + "size": 796 } //// [/user/username/projects/transitiveReferences/b.js] @@ -171,7 +166,7 @@ export declare const b: A; //// [/user/username/projects/transitiveReferences/tsconfig.b.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.d.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8728835846-export declare class A {\n}\n","impliedFormat":1},{"version":"-3899816362-import {A} from '@ref/a';\nexport const b = new A();\n","signature":"-9732944696-import { A } from '@ref/a';\nexport declare const b: A;\n","impliedFormat":1}],"root":[3],"options":{"composite":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./b.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.d.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8728835846-export declare class A {\n}\n","impliedFormat":1},{"version":"-3899816362-import {A} from '@ref/a';\nexport const b = new A();\n","signature":"-9732944696-import { A } from '@ref/a';\nexport declare const b: A;\n","impliedFormat":1}],"root":[3],"options":{"composite":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./b.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/transitiveReferences/tsconfig.b.tsbuildinfo.readable.baseline.txt] { @@ -232,15 +227,10 @@ export declare const b: A; "./a.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.d.ts", - "./b.ts" - ], "latestChangedDtsFile": "./b.d.ts" }, "version": "FakeTSVersion", - "size": 1025 + "size": 988 } //// [/user/username/projects/transitiveReferences/c.js] @@ -440,7 +430,7 @@ export declare function gfoo(): void; //// [/user/username/projects/transitiveReferences/tsconfig.b.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.d.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8728835846-export declare class A {\n}\n","impliedFormat":1},{"version":"-3352421102-import {A} from '@ref/a';\nexport const b = new A();\nexport function gfoo() { }","signature":"4376023469-import { A } from '@ref/a';\nexport declare const b: A;\nexport declare function gfoo(): void;\n","impliedFormat":1}],"root":[3],"options":{"composite":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./b.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.d.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8728835846-export declare class A {\n}\n","impliedFormat":1},{"version":"-3352421102-import {A} from '@ref/a';\nexport const b = new A();\nexport function gfoo() { }","signature":"4376023469-import { A } from '@ref/a';\nexport declare const b: A;\nexport declare function gfoo(): void;\n","impliedFormat":1}],"root":[3],"options":{"composite":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./b.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/transitiveReferences/tsconfig.b.tsbuildinfo.readable.baseline.txt] { @@ -501,15 +491,10 @@ export declare function gfoo(): void; "./a.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.d.ts", - "./b.ts" - ], "latestChangedDtsFile": "./b.d.ts" }, "version": "FakeTSVersion", - "size": 1089 + "size": 1052 } @@ -658,6 +643,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -857,6 +843,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -1057,6 +1044,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 4: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -1240,6 +1228,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 5: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -1389,6 +1378,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 6: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -1569,6 +1559,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 7: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -1729,6 +1720,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 8: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -1903,6 +1895,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 9: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/projectsWithReferences/when-declarationMap-changes-for-dependency.js b/tests/baselines/reference/tscWatch/projectsWithReferences/when-declarationMap-changes-for-dependency.js index 9f47cf9ab295a..8d005f6f80ad5 100644 --- a/tests/baselines/reference/tscWatch/projectsWithReferences/when-declarationMap-changes-for-dependency.js +++ b/tests/baselines/reference/tscWatch/projectsWithReferences/when-declarationMap-changes-for-dependency.js @@ -127,7 +127,7 @@ export declare function multiply(a: number, b: number): number; //# sourceMappingURL=index.d.ts.map //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -201,17 +201,10 @@ export declare function multiply(a: number, b: number): number; "declarationMap": true, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1442 + "size": 1384 } @@ -288,7 +281,7 @@ export declare const m: typeof mod; //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-9623801128-import * as c from '../core/index';\nexport function getSecondsInDay() {\n return c.multiply(10, 15);\n}\nimport * as mod from '../core/anotherModule';\nexport const m = mod;\n","signature":"-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -364,16 +357,10 @@ export declare const m: typeof mod; "../core/anothermodule.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../core/anothermodule.d.ts", - "../core/index.d.ts", - "./index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1494 + "size": 1455 } @@ -488,7 +475,7 @@ export declare function multiply(a: number, b: number): number; //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":false,"skipDefaultLibCheck":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./anothermodule.ts","./index.ts","./some_decl.d.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n","impliedFormat":1},{"version":"-15745098553-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\n","signature":"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","impliedFormat":1},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true,"impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":false,"skipDefaultLibCheck":true},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -562,17 +549,10 @@ export declare function multiply(a: number, b: number): number; "declarationMap": false, "skipDefaultLibCheck": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./anothermodule.ts", - "./index.ts", - "./some_decl.d.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1443 + "size": 1385 } diff --git a/tests/baselines/reference/tscWatch/projectsWithReferences/when-referenced-project-uses-different-module-resolution.js b/tests/baselines/reference/tscWatch/projectsWithReferences/when-referenced-project-uses-different-module-resolution.js index ece0559dab4b6..4b4eeefa2e073 100644 --- a/tests/baselines/reference/tscWatch/projectsWithReferences/when-referenced-project-uses-different-module-resolution.js +++ b/tests/baselines/reference/tscWatch/projectsWithReferences/when-referenced-project-uses-different-module-resolution.js @@ -98,7 +98,7 @@ export declare class A { //// [/user/username/projects/transitiveReferences/tsconfig.a.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7808316224-export class A {}\n","signature":"-8728835846-export declare class A {\n}\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./a.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7808316224-export class A {}\n","signature":"-8728835846-export declare class A {\n}\n","impliedFormat":1}],"root":[2],"options":{"composite":true},"latestChangedDtsFile":"./a.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/transitiveReferences/tsconfig.a.tsbuildinfo.readable.baseline.txt] { @@ -139,15 +139,10 @@ export declare class A { "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts" - ], "latestChangedDtsFile": "./a.d.ts" }, "version": "FakeTSVersion", - "size": 850 + "size": 796 } //// [/user/username/projects/transitiveReferences/b.js] @@ -164,7 +159,7 @@ export declare const b: A; //// [/user/username/projects/transitiveReferences/tsconfig.b.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.d.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8728835846-export declare class A {\n}\n","impliedFormat":1},{"version":"-19869990292-import {A} from \"a\";export const b = new A();","signature":"1870369234-import { A } from \"a\";\nexport declare const b: A;\n","impliedFormat":1}],"root":[3],"options":{"composite":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./b.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.d.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8728835846-export declare class A {\n}\n","impliedFormat":1},{"version":"-19869990292-import {A} from \"a\";export const b = new A();","signature":"1870369234-import { A } from \"a\";\nexport declare const b: A;\n","impliedFormat":1}],"root":[3],"options":{"composite":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./b.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/transitiveReferences/tsconfig.b.tsbuildinfo.readable.baseline.txt] { @@ -225,15 +220,10 @@ export declare const b: A; "./a.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.d.ts", - "./b.ts" - ], "latestChangedDtsFile": "./b.d.ts" }, "version": "FakeTSVersion", - "size": 1015 + "size": 978 } //// [/user/username/projects/transitiveReferences/c.js] diff --git a/tests/baselines/reference/tscWatch/resolutionCache/caching-works.js b/tests/baselines/reference/tscWatch/resolutionCache/caching-works.js index beb7e9c1ab8ae..08f1807128f13 100644 --- a/tests/baselines/reference/tscWatch/resolutionCache/caching-works.js +++ b/tests/baselines/reference/tscWatch/resolutionCache/caching-works.js @@ -109,6 +109,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -176,6 +177,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -253,6 +255,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/resolutionCache/reusing-type-ref-resolution.js b/tests/baselines/reference/tscWatch/resolutionCache/reusing-type-ref-resolution.js index 6ff0ba14b1f4c..3bdd36095a819 100644 --- a/tests/baselines/reference/tscWatch/resolutionCache/reusing-type-ref-resolution.js +++ b/tests/baselines/reference/tscWatch/resolutionCache/reusing-type-ref-resolution.js @@ -211,7 +211,7 @@ export {}; //// [/users/username/projects/project/outDir/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../node_modules/pkg0/index.d.ts","../filewithimports.ts","../node_modules/pkg2/index.d.ts","../filewithtyperefs.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8124756421-export interface Import0 {}","impliedFormat":1},{"version":"-14287751515-import type { Import0 } from \"pkg0\";\nimport type { Import1 } from \"pkg1\";\n","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-11273315461-interface Import2 {}","affectsGlobalScope":true,"impliedFormat":1},{"version":"-12735305811-/// \n/// \ninterface LocalInterface extends Import2, Import3 {}\nexport {}\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3,5],"options":{"composite":true,"outDir":"./"},"fileIdsList":[[2],[4]],"referencedMap":[[3,1],[5,2]],"semanticDiagnosticsPerFile":[1,[3,[{"file":"../filewithimports.ts","start":66,"length":6,"messageText":"Cannot find module 'pkg1' or its corresponding type declarations.","category":1,"code":2307}]],[5,[{"file":"../filewithtyperefs.ts","start":102,"length":7,"messageText":"Cannot find name 'Import3'. Did you mean 'Import2'?","category":1,"code":2552,"canonicalHead":{"code":2304,"messageText":"Cannot find name 'Import3'."}}]],2,4],"latestChangedDtsFile":"./fileWithTypeRefs.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../node_modules/pkg0/index.d.ts","../filewithimports.ts","../node_modules/pkg2/index.d.ts","../filewithtyperefs.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8124756421-export interface Import0 {}","impliedFormat":1},{"version":"-14287751515-import type { Import0 } from \"pkg0\";\nimport type { Import1 } from \"pkg1\";\n","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-11273315461-interface Import2 {}","affectsGlobalScope":true,"impliedFormat":1},{"version":"-12735305811-/// \n/// \ninterface LocalInterface extends Import2, Import3 {}\nexport {}\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3,5],"options":{"composite":true,"outDir":"./"},"fileIdsList":[[2],[4]],"referencedMap":[[3,1],[5,2]],"semanticDiagnosticsPerFile":[[3,[{"start":66,"length":6,"messageText":"Cannot find module 'pkg1' or its corresponding type declarations.","category":1,"code":2307}]],[5,[{"start":102,"length":7,"messageText":"Cannot find name 'Import3'. Did you mean 'Import2'?","category":1,"code":2552,"canonicalHead":{"code":2304,"messageText":"Cannot find name 'Import3'."}}]]],"latestChangedDtsFile":"./fileWithTypeRefs.d.ts"},"version":"FakeTSVersion"} //// [/users/username/projects/project/outDir/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -307,12 +307,10 @@ export {}; ] }, "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", [ "../filewithimports.ts", [ { - "file": "../filewithimports.ts", "start": 66, "length": 6, "messageText": "Cannot find module 'pkg1' or its corresponding type declarations.", @@ -325,7 +323,6 @@ export {}; "../filewithtyperefs.ts", [ { - "file": "../filewithtyperefs.ts", "start": 102, "length": 7, "messageText": "Cannot find name 'Import3'. Did you mean 'Import2'?", @@ -337,14 +334,12 @@ export {}; } } ] - ], - "../node_modules/pkg0/index.d.ts", - "../node_modules/pkg2/index.d.ts" + ] ], "latestChangedDtsFile": "./fileWithTypeRefs.d.ts" }, "version": "FakeTSVersion", - "size": 1772 + "size": 1703 } @@ -451,6 +446,7 @@ Before running Timeout callback:: count: 2 3: timerToInvalidateFailedLookupResolutions 4: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 1 Output:: Scheduling update @@ -464,6 +460,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 5: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Reloading new file names and options @@ -580,7 +577,7 @@ fileWithTypeRefs.ts //// [/users/username/projects/project/outDir/fileWithImports.js] file written with same contents //// [/users/username/projects/project/outDir/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../node_modules/pkg0/index.d.ts","../node_modules/pkg1/index.d.ts","../filewithimports.ts","../node_modules/pkg2/index.d.ts","../filewithtyperefs.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8124756421-export interface Import0 {}","impliedFormat":1},{"version":"-8124720484-export interface Import1 {}","impliedFormat":1},{"version":"-14287751515-import type { Import0 } from \"pkg0\";\nimport type { Import1 } from \"pkg1\";\n","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-11273315461-interface Import2 {}","affectsGlobalScope":true,"impliedFormat":1},{"version":"-12735305811-/// \n/// \ninterface LocalInterface extends Import2, Import3 {}\nexport {}\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4,6],"options":{"composite":true,"outDir":"./"},"fileIdsList":[[2,3],[5]],"referencedMap":[[4,1],[6,2]],"semanticDiagnosticsPerFile":[1,4,[6,[{"file":"../filewithtyperefs.ts","start":102,"length":7,"messageText":"Cannot find name 'Import3'. Did you mean 'Import2'?","category":1,"code":2552,"canonicalHead":{"code":2304,"messageText":"Cannot find name 'Import3'."}}]],2,3,5],"latestChangedDtsFile":"./fileWithTypeRefs.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../node_modules/pkg0/index.d.ts","../node_modules/pkg1/index.d.ts","../filewithimports.ts","../node_modules/pkg2/index.d.ts","../filewithtyperefs.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8124756421-export interface Import0 {}","impliedFormat":1},{"version":"-8124720484-export interface Import1 {}","impliedFormat":1},{"version":"-14287751515-import type { Import0 } from \"pkg0\";\nimport type { Import1 } from \"pkg1\";\n","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-11273315461-interface Import2 {}","affectsGlobalScope":true,"impliedFormat":1},{"version":"-12735305811-/// \n/// \ninterface LocalInterface extends Import2, Import3 {}\nexport {}\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4,6],"options":{"composite":true,"outDir":"./"},"fileIdsList":[[2,3],[5]],"referencedMap":[[4,1],[6,2]],"semanticDiagnosticsPerFile":[[6,[{"start":102,"length":7,"messageText":"Cannot find name 'Import3'. Did you mean 'Import2'?","category":1,"code":2552,"canonicalHead":{"code":2304,"messageText":"Cannot find name 'Import3'."}}]]],"latestChangedDtsFile":"./fileWithTypeRefs.d.ts"},"version":"FakeTSVersion"} //// [/users/username/projects/project/outDir/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -688,13 +685,10 @@ fileWithTypeRefs.ts ] }, "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../filewithimports.ts", [ "../filewithtyperefs.ts", [ { - "file": "../filewithtyperefs.ts", "start": 102, "length": 7, "messageText": "Cannot find name 'Import3'. Did you mean 'Import2'?", @@ -706,15 +700,12 @@ fileWithTypeRefs.ts } } ] - ], - "../node_modules/pkg0/index.d.ts", - "../node_modules/pkg1/index.d.ts", - "../node_modules/pkg2/index.d.ts" + ] ], "latestChangedDtsFile": "./fileWithTypeRefs.d.ts" }, "version": "FakeTSVersion", - "size": 1716 + "size": 1674 } @@ -821,6 +812,7 @@ Before running Timeout callback:: count: 2 8: timerToInvalidateFailedLookupResolutions 9: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 1 Output:: Scheduling update @@ -834,6 +826,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 10: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Reloading new file names and options @@ -962,7 +955,7 @@ fileWithTypeRefs.ts //// [/users/username/projects/project/outDir/fileWithTypeRefs.js] file written with same contents //// [/users/username/projects/project/outDir/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../node_modules/pkg0/index.d.ts","../node_modules/pkg1/index.d.ts","../filewithimports.ts","../node_modules/pkg2/index.d.ts","../node_modules/pkg3/index.d.ts","../filewithtyperefs.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8124756421-export interface Import0 {}","impliedFormat":1},{"version":"-8124720484-export interface Import1 {}","impliedFormat":1},{"version":"-14287751515-import type { Import0 } from \"pkg0\";\nimport type { Import1 } from \"pkg1\";\n","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-11273315461-interface Import2 {}","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8124648610-export interface Import3 {}","impliedFormat":1},{"version":"-12735305811-/// \n/// \ninterface LocalInterface extends Import2, Import3 {}\nexport {}\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4,7],"options":{"composite":true,"outDir":"./"},"fileIdsList":[[2,3],[5,6]],"referencedMap":[[4,1],[7,2]],"semanticDiagnosticsPerFile":[1,4,[7,[{"file":"../filewithtyperefs.ts","start":102,"length":7,"messageText":"Cannot find name 'Import3'. Did you mean 'Import2'?","category":1,"code":2552,"canonicalHead":{"code":2304,"messageText":"Cannot find name 'Import3'."}}]],2,3,5,6],"latestChangedDtsFile":"./fileWithTypeRefs.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../node_modules/pkg0/index.d.ts","../node_modules/pkg1/index.d.ts","../filewithimports.ts","../node_modules/pkg2/index.d.ts","../node_modules/pkg3/index.d.ts","../filewithtyperefs.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8124756421-export interface Import0 {}","impliedFormat":1},{"version":"-8124720484-export interface Import1 {}","impliedFormat":1},{"version":"-14287751515-import type { Import0 } from \"pkg0\";\nimport type { Import1 } from \"pkg1\";\n","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-11273315461-interface Import2 {}","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8124648610-export interface Import3 {}","impliedFormat":1},{"version":"-12735305811-/// \n/// \ninterface LocalInterface extends Import2, Import3 {}\nexport {}\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4,7],"options":{"composite":true,"outDir":"./"},"fileIdsList":[[2,3],[5,6]],"referencedMap":[[4,1],[7,2]],"semanticDiagnosticsPerFile":[[7,[{"start":102,"length":7,"messageText":"Cannot find name 'Import3'. Did you mean 'Import2'?","category":1,"code":2552,"canonicalHead":{"code":2304,"messageText":"Cannot find name 'Import3'."}}]]],"latestChangedDtsFile":"./fileWithTypeRefs.d.ts"},"version":"FakeTSVersion"} //// [/users/username/projects/project/outDir/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1082,13 +1075,10 @@ fileWithTypeRefs.ts ] }, "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../filewithimports.ts", [ "../filewithtyperefs.ts", [ { - "file": "../filewithtyperefs.ts", "start": 102, "length": 7, "messageText": "Cannot find name 'Import3'. Did you mean 'Import2'?", @@ -1100,16 +1090,12 @@ fileWithTypeRefs.ts } } ] - ], - "../node_modules/pkg0/index.d.ts", - "../node_modules/pkg1/index.d.ts", - "../node_modules/pkg2/index.d.ts", - "../node_modules/pkg3/index.d.ts" + ] ], "latestChangedDtsFile": "./fileWithTypeRefs.d.ts" }, "version": "FakeTSVersion", - "size": 1826 + "size": 1782 } diff --git a/tests/baselines/reference/tscWatch/resolutionCache/scoped-package-installation.js b/tests/baselines/reference/tscWatch/resolutionCache/scoped-package-installation.js index 29f9872bbb4d6..938b7035af08b 100644 --- a/tests/baselines/reference/tscWatch/resolutionCache/scoped-package-installation.js +++ b/tests/baselines/reference/tscWatch/resolutionCache/scoped-package-installation.js @@ -233,6 +233,7 @@ Before running Timeout callback:: count: 2 6: timerToInvalidateFailedLookupResolutions 7: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 1 Output:: Scheduling update @@ -246,6 +247,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 8: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Reloading new file names and options @@ -365,6 +367,7 @@ Before running Timeout callback:: count: 2 13: timerToInvalidateFailedLookupResolutions 14: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 1 Output:: Scheduling update @@ -378,6 +381,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 15: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Reloading new file names and options @@ -496,6 +500,7 @@ Before running Timeout callback:: count: 2 18: timerToInvalidateFailedLookupResolutions 19: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Reloading new file names and options @@ -540,6 +545,7 @@ Before running Timeout callback:: count: 2 22: timerToInvalidateFailedLookupResolutions 23: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 1 Output:: Scheduling update @@ -553,6 +559,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 24: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Reloading new file names and options diff --git a/tests/baselines/reference/tscWatch/resolutionCache/should-compile-correctly-when-resolved-module-goes-missing-and-then-comes-back.js b/tests/baselines/reference/tscWatch/resolutionCache/should-compile-correctly-when-resolved-module-goes-missing-and-then-comes-back.js index 55e73b04f82f2..a8287b061028a 100644 --- a/tests/baselines/reference/tscWatch/resolutionCache/should-compile-correctly-when-resolved-module-goes-missing-and-then-comes-back.js +++ b/tests/baselines/reference/tscWatch/resolutionCache/should-compile-correctly-when-resolved-module-goes-missing-and-then-comes-back.js @@ -92,6 +92,7 @@ Before running Timeout callback:: count: 2 1: timerToUpdateProgram 2: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -164,6 +165,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -172,6 +174,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 4: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/resolutionCache/when-types-in-compiler-option-are-global-and-installed-at-later-point.js b/tests/baselines/reference/tscWatch/resolutionCache/when-types-in-compiler-option-are-global-and-installed-at-later-point.js index 052cd43f3cc09..41603b7a6b739 100644 --- a/tests/baselines/reference/tscWatch/resolutionCache/when-types-in-compiler-option-are-global-and-installed-at-later-point.js +++ b/tests/baselines/reference/tscWatch/resolutionCache/when-types-in-compiler-option-are-global-and-installed-at-later-point.js @@ -143,6 +143,7 @@ Before running Timeout callback:: count: 2 11: timerToInvalidateFailedLookupResolutions 12: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -152,6 +153,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 13: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/resolutionCache/works-when-included-file-with-ambient-module-changes.js b/tests/baselines/reference/tscWatch/resolutionCache/works-when-included-file-with-ambient-module-changes.js index 3f41f567fcf22..b8f17ca463bf0 100644 --- a/tests/baselines/reference/tscWatch/resolutionCache/works-when-included-file-with-ambient-module-changes.js +++ b/tests/baselines/reference/tscWatch/resolutionCache/works-when-included-file-with-ambient-module-changes.js @@ -121,6 +121,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/resolutionCache/works-when-installing-something-in-node_modules-or-@types-when-there-is-no-notification-from-fs-for-index-file.js b/tests/baselines/reference/tscWatch/resolutionCache/works-when-installing-something-in-node_modules-or-@types-when-there-is-no-notification-from-fs-for-index-file.js index 1d0002e077cff..af63aa1040373 100644 --- a/tests/baselines/reference/tscWatch/resolutionCache/works-when-installing-something-in-node_modules-or-@types-when-there-is-no-notification-from-fs-for-index-file.js +++ b/tests/baselines/reference/tscWatch/resolutionCache/works-when-installing-something-in-node_modules-or-@types-when-there-is-no-notification-from-fs-for-index-file.js @@ -235,6 +235,7 @@ Before running Timeout callback:: count: 2 30: timerToInvalidateFailedLookupResolutions 31: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Reloading new file names and options @@ -360,6 +361,7 @@ Before running Timeout callback:: count: 2 42: timerToInvalidateFailedLookupResolutions 43: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Reloading new file names and options @@ -465,6 +467,7 @@ Before running Timeout callback:: count: 2 46: timerToInvalidateFailedLookupResolutions 47: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Reloading new file names and options diff --git a/tests/baselines/reference/tscWatch/resolutionCache/works-when-module-resolution-changes-to-ambient-module.js b/tests/baselines/reference/tscWatch/resolutionCache/works-when-module-resolution-changes-to-ambient-module.js index acda248f6e064..bfa4371d9470d 100644 --- a/tests/baselines/reference/tscWatch/resolutionCache/works-when-module-resolution-changes-to-ambient-module.js +++ b/tests/baselines/reference/tscWatch/resolutionCache/works-when-module-resolution-changes-to-ambient-module.js @@ -138,6 +138,7 @@ Before running Timeout callback:: count: 2 14: timerToUpdateProgram 16: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/resolutionCache/works-when-renaming-node_modules-folder-that-already-contains-@types-folder.js b/tests/baselines/reference/tscWatch/resolutionCache/works-when-renaming-node_modules-folder-that-already-contains-@types-folder.js index 8a97ae61d97a9..fce5812b89b59 100644 --- a/tests/baselines/reference/tscWatch/resolutionCache/works-when-renaming-node_modules-folder-that-already-contains-@types-folder.js +++ b/tests/baselines/reference/tscWatch/resolutionCache/works-when-renaming-node_modules-folder-that-already-contains-@types-folder.js @@ -130,6 +130,7 @@ Before running Timeout callback:: count: 2 11: timerToUpdateProgram 13: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/resolutionCache/works-when-reusing-program-with-files-from-external-library.js b/tests/baselines/reference/tscWatch/resolutionCache/works-when-reusing-program-with-files-from-external-library.js index 174c8614216b8..09ae055c859e0 100644 --- a/tests/baselines/reference/tscWatch/resolutionCache/works-when-reusing-program-with-files-from-external-library.js +++ b/tests/baselines/reference/tscWatch/resolutionCache/works-when-reusing-program-with-files-from-external-library.js @@ -150,6 +150,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/resolveJsonModule/incremental-always-prefers-declaration-file-over-document.js b/tests/baselines/reference/tscWatch/resolveJsonModule/incremental-always-prefers-declaration-file-over-document.js index 5663d093cb1fb..09431de6cdf3d 100644 --- a/tests/baselines/reference/tscWatch/resolveJsonModule/incremental-always-prefers-declaration-file-over-document.js +++ b/tests/baselines/reference/tscWatch/resolveJsonModule/incremental-always-prefers-declaration-file-over-document.js @@ -52,7 +52,7 @@ var x = data_json_1.default; //// [/src/project/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../a/lib/lib.d.ts","./data.d.json.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"2718060498-declare var val: string; export default val;","impliedFormat":1},{"version":"6961905452-import data from \"./data.json\"; let x: string = data;","impliedFormat":1}],"root":[2,3],"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,[3,[{"file":"./main.ts","start":17,"length":13,"messageText":"Module './data.json' was resolved to '/src/project/data.d.json.ts', but '--allowArbitraryExtensions' is not set.","category":1,"code":6263}]]]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../a/lib/lib.d.ts","./data.d.json.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"2718060498-declare var val: string; export default val;","impliedFormat":1},{"version":"6961905452-import data from \"./data.json\"; let x: string = data;","impliedFormat":1}],"root":[2,3],"semanticDiagnosticsPerFile":[[3,[{"start":17,"length":13,"messageText":"Module './data.json' was resolved to '/src/project/data.d.json.ts', but '--allowArbitraryExtensions' is not set.","category":1,"code":6263}]]]},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -103,15 +103,11 @@ var x = data_json_1.default; "./main.ts" ] ], - "referencedMap": {}, "semanticDiagnosticsPerFile": [ - "../../a/lib/lib.d.ts", - "./data.d.json.ts", [ "./main.ts", [ { - "file": "./main.ts", "start": 17, "length": 13, "messageText": "Module './data.json' was resolved to '/src/project/data.d.json.ts', but '--allowArbitraryExtensions' is not set.", @@ -123,7 +119,7 @@ var x = data_json_1.default; ] }, "version": "FakeTSVersion", - "size": 996 + "size": 954 } @@ -187,6 +183,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-packageJson-has-types-field-when-solution-is-already-built.js b/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-packageJson-has-types-field-when-solution-is-already-built.js index 30c78e05f3e79..815b9acd28b4e 100644 --- a/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-packageJson-has-types-field-when-solution-is-already-built.js +++ b/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-packageJson-has-types-field-when-solution-is-already-built.js @@ -85,7 +85,7 @@ export declare function foo(): void; //// [/user/username/projects/myproject/packages/B/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","./src/bar.ts","./src/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"1045484683-export function bar() { }","signature":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"4646078106-export function foo() { }","signature":"-5677608893-export declare function foo(): void;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./lib/index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","./src/bar.ts","./src/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"1045484683-export function bar() { }","signature":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"4646078106-export function foo() { }","signature":"-5677608893-export declare function foo(): void;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"latestChangedDtsFile":"./lib/index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/B/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -143,16 +143,10 @@ export declare function foo(): void; "outDir": "./lib", "rootDir": "./src" }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "./src/bar.ts", - "./src/index.ts" - ], "latestChangedDtsFile": "./lib/index.d.ts" }, "version": "FakeTSVersion", - "size": 994 + "size": 938 } //// [/user/username/projects/myproject/packages/A/lib/index.js] @@ -169,7 +163,7 @@ export {}; //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../b/lib/index.d.ts","../b/lib/bar.d.ts","./src/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"3563314629-import { foo } from 'b';\nimport { bar } from 'b/lib/bar';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,4,3,2],"latestChangedDtsFile":"./lib/index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../b/lib/index.d.ts","../b/lib/bar.d.ts","./src/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"3563314629-import { foo } from 'b';\nimport { bar } from 'b/lib/bar';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./lib/index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -244,16 +238,10 @@ export {}; "../b/lib/bar.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "./src/index.ts", - "../b/lib/bar.d.ts", - "../b/lib/index.d.ts" - ], "latestChangedDtsFile": "./lib/index.d.ts" }, "version": "FakeTSVersion", - "size": 1105 + "size": 1066 } @@ -268,7 +256,7 @@ Output:: //// [/user/username/projects/myproject/packages/A/lib/index.js] file written with same contents //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../b/src/index.ts","../b/src/bar.ts","./src/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"4646078106-export function foo() { }","impliedFormat":1},{"version":"1045484683-export function bar() { }","impliedFormat":1},{"version":"3563314629-import { foo } from 'b';\nimport { bar } from 'b/lib/bar';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,4,3,2],"latestChangedDtsFile":"./lib/index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../b/src/index.ts","../b/src/bar.ts","./src/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"4646078106-export function foo() { }","impliedFormat":1},{"version":"1045484683-export function bar() { }","impliedFormat":1},{"version":"3563314629-import { foo } from 'b';\nimport { bar } from 'b/lib/bar';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./lib/index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -343,16 +331,10 @@ Output:: "../b/src/bar.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "./src/index.ts", - "../b/src/bar.ts", - "../b/src/index.ts" - ], "latestChangedDtsFile": "./lib/index.d.ts" }, "version": "FakeTSVersion", - "size": 1073 + "size": 1034 } diff --git a/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-packageJson-has-types-field-with-preserveSymlinks-when-solution-is-already-built.js b/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-packageJson-has-types-field-with-preserveSymlinks-when-solution-is-already-built.js index 1fba8514e86c9..b6b547e7f61b6 100644 --- a/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-packageJson-has-types-field-with-preserveSymlinks-when-solution-is-already-built.js +++ b/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-packageJson-has-types-field-with-preserveSymlinks-when-solution-is-already-built.js @@ -87,7 +87,7 @@ export declare function foo(): void; //// [/user/username/projects/myproject/packages/B/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","./src/bar.ts","./src/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"1045484683-export function bar() { }","signature":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"4646078106-export function foo() { }","signature":"-5677608893-export declare function foo(): void;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./lib/index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","./src/bar.ts","./src/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"1045484683-export function bar() { }","signature":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"4646078106-export function foo() { }","signature":"-5677608893-export declare function foo(): void;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"latestChangedDtsFile":"./lib/index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/B/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -145,16 +145,10 @@ export declare function foo(): void; "outDir": "./lib", "rootDir": "./src" }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "./src/bar.ts", - "./src/index.ts" - ], "latestChangedDtsFile": "./lib/index.d.ts" }, "version": "FakeTSVersion", - "size": 994 + "size": 938 } //// [/user/username/projects/myproject/packages/A/lib/index.js] @@ -171,7 +165,7 @@ export {}; //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../../node_modules/b/lib/index.d.ts","../../node_modules/b/lib/bar.d.ts","./src/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"3563314629-import { foo } from 'b';\nimport { bar } from 'b/lib/bar';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./lib/index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../../node_modules/b/lib/index.d.ts","../../node_modules/b/lib/bar.d.ts","./src/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"3563314629-import { foo } from 'b';\nimport { bar } from 'b/lib/bar';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./lib/index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -246,16 +240,10 @@ export {}; "../../node_modules/b/lib/bar.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "../../node_modules/b/lib/bar.d.ts", - "../../node_modules/b/lib/index.d.ts", - "./src/index.ts" - ], "latestChangedDtsFile": "./lib/index.d.ts" }, "version": "FakeTSVersion", - "size": 1137 + "size": 1098 } @@ -270,7 +258,7 @@ Output:: //// [/user/username/projects/myproject/packages/A/lib/index.js] file written with same contents //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../b/src/index.ts","../b/src/bar.ts","./src/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"4646078106-export function foo() { }","impliedFormat":1},{"version":"1045484683-export function bar() { }","impliedFormat":1},{"version":"3563314629-import { foo } from 'b';\nimport { bar } from 'b/lib/bar';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,4,3,2],"latestChangedDtsFile":"./lib/index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../b/src/index.ts","../b/src/bar.ts","./src/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"4646078106-export function foo() { }","impliedFormat":1},{"version":"1045484683-export function bar() { }","impliedFormat":1},{"version":"3563314629-import { foo } from 'b';\nimport { bar } from 'b/lib/bar';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./lib/index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -345,16 +333,10 @@ Output:: "../b/src/bar.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "./src/index.ts", - "../b/src/bar.ts", - "../b/src/index.ts" - ], "latestChangedDtsFile": "./lib/index.d.ts" }, "version": "FakeTSVersion", - "size": 1073 + "size": 1034 } diff --git a/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-packageJson-has-types-field-with-preserveSymlinks.js b/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-packageJson-has-types-field-with-preserveSymlinks.js index 649c4ec5a5341..d526c684084a2 100644 --- a/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-packageJson-has-types-field-with-preserveSymlinks.js +++ b/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-packageJson-has-types-field-with-preserveSymlinks.js @@ -88,7 +88,7 @@ export {}; //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../b/src/index.ts","../b/src/bar.ts","./src/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"4646078106-export function foo() { }","impliedFormat":1},{"version":"1045484683-export function bar() { }","impliedFormat":1},{"version":"3563314629-import { foo } from 'b';\nimport { bar } from 'b/lib/bar';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,4,3,2],"latestChangedDtsFile":"./lib/index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../b/src/index.ts","../b/src/bar.ts","./src/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"4646078106-export function foo() { }","impliedFormat":1},{"version":"1045484683-export function bar() { }","impliedFormat":1},{"version":"3563314629-import { foo } from 'b';\nimport { bar } from 'b/lib/bar';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./lib/index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -163,16 +163,10 @@ export {}; "../b/src/bar.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "./src/index.ts", - "../b/src/bar.ts", - "../b/src/index.ts" - ], "latestChangedDtsFile": "./lib/index.d.ts" }, "version": "FakeTSVersion", - "size": 1073 + "size": 1034 } diff --git a/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-packageJson-has-types-field-with-scoped-package-when-solution-is-already-built.js b/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-packageJson-has-types-field-with-scoped-package-when-solution-is-already-built.js index c814a525337ad..64a7b94ca3b93 100644 --- a/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-packageJson-has-types-field-with-scoped-package-when-solution-is-already-built.js +++ b/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-packageJson-has-types-field-with-scoped-package-when-solution-is-already-built.js @@ -85,7 +85,7 @@ export declare function foo(): void; //// [/user/username/projects/myproject/packages/B/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","./src/bar.ts","./src/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"1045484683-export function bar() { }","signature":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"4646078106-export function foo() { }","signature":"-5677608893-export declare function foo(): void;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./lib/index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","./src/bar.ts","./src/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"1045484683-export function bar() { }","signature":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"4646078106-export function foo() { }","signature":"-5677608893-export declare function foo(): void;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"latestChangedDtsFile":"./lib/index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/B/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -143,16 +143,10 @@ export declare function foo(): void; "outDir": "./lib", "rootDir": "./src" }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "./src/bar.ts", - "./src/index.ts" - ], "latestChangedDtsFile": "./lib/index.d.ts" }, "version": "FakeTSVersion", - "size": 994 + "size": 938 } //// [/user/username/projects/myproject/packages/A/lib/index.js] @@ -169,7 +163,7 @@ export {}; //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../b/lib/index.d.ts","../b/lib/bar.d.ts","./src/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"8545527381-import { foo } from '@issue/b';\nimport { bar } from '@issue/b/lib/bar';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,4,3,2],"latestChangedDtsFile":"./lib/index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../b/lib/index.d.ts","../b/lib/bar.d.ts","./src/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"8545527381-import { foo } from '@issue/b';\nimport { bar } from '@issue/b/lib/bar';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./lib/index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -244,16 +238,10 @@ export {}; "../b/lib/bar.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "./src/index.ts", - "../b/lib/bar.d.ts", - "../b/lib/index.d.ts" - ], "latestChangedDtsFile": "./lib/index.d.ts" }, "version": "FakeTSVersion", - "size": 1119 + "size": 1080 } @@ -268,7 +256,7 @@ Output:: //// [/user/username/projects/myproject/packages/A/lib/index.js] file written with same contents //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../b/src/index.ts","../b/src/bar.ts","./src/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"4646078106-export function foo() { }","impliedFormat":1},{"version":"1045484683-export function bar() { }","impliedFormat":1},{"version":"8545527381-import { foo } from '@issue/b';\nimport { bar } from '@issue/b/lib/bar';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,4,3,2],"latestChangedDtsFile":"./lib/index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../b/src/index.ts","../b/src/bar.ts","./src/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"4646078106-export function foo() { }","impliedFormat":1},{"version":"1045484683-export function bar() { }","impliedFormat":1},{"version":"8545527381-import { foo } from '@issue/b';\nimport { bar } from '@issue/b/lib/bar';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./lib/index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -343,16 +331,10 @@ Output:: "../b/src/bar.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "./src/index.ts", - "../b/src/bar.ts", - "../b/src/index.ts" - ], "latestChangedDtsFile": "./lib/index.d.ts" }, "version": "FakeTSVersion", - "size": 1087 + "size": 1048 } diff --git a/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-packageJson-has-types-field-with-scoped-package-with-preserveSymlinks-when-solution-is-already-built.js b/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-packageJson-has-types-field-with-scoped-package-with-preserveSymlinks-when-solution-is-already-built.js index 1a27e8f7a5c41..83fe5a9b7ac18 100644 --- a/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-packageJson-has-types-field-with-scoped-package-with-preserveSymlinks-when-solution-is-already-built.js +++ b/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-packageJson-has-types-field-with-scoped-package-with-preserveSymlinks-when-solution-is-already-built.js @@ -87,7 +87,7 @@ export declare function foo(): void; //// [/user/username/projects/myproject/packages/B/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","./src/bar.ts","./src/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"1045484683-export function bar() { }","signature":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"4646078106-export function foo() { }","signature":"-5677608893-export declare function foo(): void;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./lib/index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","./src/bar.ts","./src/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"1045484683-export function bar() { }","signature":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"4646078106-export function foo() { }","signature":"-5677608893-export declare function foo(): void;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"latestChangedDtsFile":"./lib/index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/B/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -145,16 +145,10 @@ export declare function foo(): void; "outDir": "./lib", "rootDir": "./src" }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "./src/bar.ts", - "./src/index.ts" - ], "latestChangedDtsFile": "./lib/index.d.ts" }, "version": "FakeTSVersion", - "size": 994 + "size": 938 } //// [/user/username/projects/myproject/packages/A/lib/index.js] @@ -171,7 +165,7 @@ export {}; //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../../node_modules/@issue/b/lib/index.d.ts","../../node_modules/@issue/b/lib/bar.d.ts","./src/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"8545527381-import { foo } from '@issue/b';\nimport { bar } from '@issue/b/lib/bar';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./lib/index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../../node_modules/@issue/b/lib/index.d.ts","../../node_modules/@issue/b/lib/bar.d.ts","./src/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"8545527381-import { foo } from '@issue/b';\nimport { bar } from '@issue/b/lib/bar';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./lib/index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -246,16 +240,10 @@ export {}; "../../node_modules/@issue/b/lib/bar.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "../../node_modules/@issue/b/lib/bar.d.ts", - "../../node_modules/@issue/b/lib/index.d.ts", - "./src/index.ts" - ], "latestChangedDtsFile": "./lib/index.d.ts" }, "version": "FakeTSVersion", - "size": 1165 + "size": 1126 } @@ -270,7 +258,7 @@ Output:: //// [/user/username/projects/myproject/packages/A/lib/index.js] file written with same contents //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../b/src/index.ts","../b/src/bar.ts","./src/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"4646078106-export function foo() { }","impliedFormat":1},{"version":"1045484683-export function bar() { }","impliedFormat":1},{"version":"8545527381-import { foo } from '@issue/b';\nimport { bar } from '@issue/b/lib/bar';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,4,3,2],"latestChangedDtsFile":"./lib/index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../b/src/index.ts","../b/src/bar.ts","./src/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"4646078106-export function foo() { }","impliedFormat":1},{"version":"1045484683-export function bar() { }","impliedFormat":1},{"version":"8545527381-import { foo } from '@issue/b';\nimport { bar } from '@issue/b/lib/bar';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./lib/index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -345,16 +333,10 @@ Output:: "../b/src/bar.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "./src/index.ts", - "../b/src/bar.ts", - "../b/src/index.ts" - ], "latestChangedDtsFile": "./lib/index.d.ts" }, "version": "FakeTSVersion", - "size": 1087 + "size": 1048 } diff --git a/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-packageJson-has-types-field-with-scoped-package-with-preserveSymlinks.js b/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-packageJson-has-types-field-with-scoped-package-with-preserveSymlinks.js index d2f34307f51c4..9cd45a7f5da04 100644 --- a/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-packageJson-has-types-field-with-scoped-package-with-preserveSymlinks.js +++ b/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-packageJson-has-types-field-with-scoped-package-with-preserveSymlinks.js @@ -88,7 +88,7 @@ export {}; //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../b/src/index.ts","../b/src/bar.ts","./src/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"4646078106-export function foo() { }","impliedFormat":1},{"version":"1045484683-export function bar() { }","impliedFormat":1},{"version":"8545527381-import { foo } from '@issue/b';\nimport { bar } from '@issue/b/lib/bar';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,4,3,2],"latestChangedDtsFile":"./lib/index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../b/src/index.ts","../b/src/bar.ts","./src/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"4646078106-export function foo() { }","impliedFormat":1},{"version":"1045484683-export function bar() { }","impliedFormat":1},{"version":"8545527381-import { foo } from '@issue/b';\nimport { bar } from '@issue/b/lib/bar';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./lib/index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -163,16 +163,10 @@ export {}; "../b/src/bar.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "./src/index.ts", - "../b/src/bar.ts", - "../b/src/index.ts" - ], "latestChangedDtsFile": "./lib/index.d.ts" }, "version": "FakeTSVersion", - "size": 1087 + "size": 1048 } diff --git a/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-packageJson-has-types-field-with-scoped-package.js b/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-packageJson-has-types-field-with-scoped-package.js index bc3af8ec3ab82..ba12383344521 100644 --- a/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-packageJson-has-types-field-with-scoped-package.js +++ b/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-packageJson-has-types-field-with-scoped-package.js @@ -86,7 +86,7 @@ export {}; //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../b/src/index.ts","../b/src/bar.ts","./src/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"4646078106-export function foo() { }","impliedFormat":1},{"version":"1045484683-export function bar() { }","impliedFormat":1},{"version":"8545527381-import { foo } from '@issue/b';\nimport { bar } from '@issue/b/lib/bar';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,4,3,2],"latestChangedDtsFile":"./lib/index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../b/src/index.ts","../b/src/bar.ts","./src/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"4646078106-export function foo() { }","impliedFormat":1},{"version":"1045484683-export function bar() { }","impliedFormat":1},{"version":"8545527381-import { foo } from '@issue/b';\nimport { bar } from '@issue/b/lib/bar';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./lib/index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -161,16 +161,10 @@ export {}; "../b/src/bar.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "./src/index.ts", - "../b/src/bar.ts", - "../b/src/index.ts" - ], "latestChangedDtsFile": "./lib/index.d.ts" }, "version": "FakeTSVersion", - "size": 1087 + "size": 1048 } diff --git a/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-packageJson-has-types-field.js b/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-packageJson-has-types-field.js index ac07723fd8f85..19e3c7b11f927 100644 --- a/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-packageJson-has-types-field.js +++ b/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-packageJson-has-types-field.js @@ -86,7 +86,7 @@ export {}; //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../b/src/index.ts","../b/src/bar.ts","./src/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"4646078106-export function foo() { }","impliedFormat":1},{"version":"1045484683-export function bar() { }","impliedFormat":1},{"version":"3563314629-import { foo } from 'b';\nimport { bar } from 'b/lib/bar';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,4,3,2],"latestChangedDtsFile":"./lib/index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../b/src/index.ts","../b/src/bar.ts","./src/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"4646078106-export function foo() { }","impliedFormat":1},{"version":"1045484683-export function bar() { }","impliedFormat":1},{"version":"3563314629-import { foo } from 'b';\nimport { bar } from 'b/lib/bar';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./lib/index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -161,16 +161,10 @@ export {}; "../b/src/bar.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "./src/index.ts", - "../b/src/bar.ts", - "../b/src/index.ts" - ], "latestChangedDtsFile": "./lib/index.d.ts" }, "version": "FakeTSVersion", - "size": 1073 + "size": 1034 } diff --git a/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-referencing-file-from-subFolder-when-solution-is-already-built.js b/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-referencing-file-from-subFolder-when-solution-is-already-built.js index e6bc7448e2560..8c904fe8b744e 100644 --- a/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-referencing-file-from-subFolder-when-solution-is-already-built.js +++ b/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-referencing-file-from-subFolder-when-solution-is-already-built.js @@ -82,7 +82,7 @@ export declare function bar(): void; //// [/user/username/projects/myproject/packages/B/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","./src/foo.ts","./src/bar/foo.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"4646078106-export function foo() { }","signature":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"1045484683-export function bar() { }","signature":"-2904461644-export declare function bar(): void;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"referencedMap":[],"semanticDiagnosticsPerFile":[1,3,2],"latestChangedDtsFile":"./lib/bar/foo.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","./src/foo.ts","./src/bar/foo.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"4646078106-export function foo() { }","signature":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"1045484683-export function bar() { }","signature":"-2904461644-export declare function bar(): void;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"latestChangedDtsFile":"./lib/bar/foo.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/B/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -140,16 +140,10 @@ export declare function bar(): void; "outDir": "./lib", "rootDir": "./src" }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "./src/bar/foo.ts", - "./src/foo.ts" - ], "latestChangedDtsFile": "./lib/bar/foo.d.ts" }, "version": "FakeTSVersion", - "size": 998 + "size": 942 } //// [/user/username/projects/myproject/packages/A/lib/test.js] @@ -166,7 +160,7 @@ export {}; //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../b/lib/foo.d.ts","../b/lib/bar/foo.d.ts","./src/test.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"14700910833-import { foo } from 'b/lib/foo';\nimport { bar } from 'b/lib/bar/foo';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,4,3,2],"latestChangedDtsFile":"./lib/test.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../b/lib/foo.d.ts","../b/lib/bar/foo.d.ts","./src/test.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"14700910833-import { foo } from 'b/lib/foo';\nimport { bar } from 'b/lib/bar/foo';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./lib/test.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -241,16 +235,10 @@ export {}; "../b/lib/bar/foo.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "./src/test.ts", - "../b/lib/bar/foo.d.ts", - "../b/lib/foo.d.ts" - ], "latestChangedDtsFile": "./lib/test.d.ts" }, "version": "FakeTSVersion", - "size": 1118 + "size": 1079 } @@ -265,7 +253,7 @@ Output:: //// [/user/username/projects/myproject/packages/A/lib/test.js] file written with same contents //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../b/src/foo.ts","../b/src/bar/foo.ts","./src/test.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"4646078106-export function foo() { }","impliedFormat":1},{"version":"1045484683-export function bar() { }","impliedFormat":1},{"version":"14700910833-import { foo } from 'b/lib/foo';\nimport { bar } from 'b/lib/bar/foo';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,4,3,2],"latestChangedDtsFile":"./lib/test.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../b/src/foo.ts","../b/src/bar/foo.ts","./src/test.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"4646078106-export function foo() { }","impliedFormat":1},{"version":"1045484683-export function bar() { }","impliedFormat":1},{"version":"14700910833-import { foo } from 'b/lib/foo';\nimport { bar } from 'b/lib/bar/foo';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./lib/test.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -340,16 +328,10 @@ Output:: "../b/src/bar/foo.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "./src/test.ts", - "../b/src/bar/foo.ts", - "../b/src/foo.ts" - ], "latestChangedDtsFile": "./lib/test.d.ts" }, "version": "FakeTSVersion", - "size": 1086 + "size": 1047 } diff --git a/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-referencing-file-from-subFolder-with-preserveSymlinks-when-solution-is-already-built.js b/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-referencing-file-from-subFolder-with-preserveSymlinks-when-solution-is-already-built.js index a9dbd88b2009a..d12f6ec2d6a04 100644 --- a/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-referencing-file-from-subFolder-with-preserveSymlinks-when-solution-is-already-built.js +++ b/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-referencing-file-from-subFolder-with-preserveSymlinks-when-solution-is-already-built.js @@ -84,7 +84,7 @@ export declare function bar(): void; //// [/user/username/projects/myproject/packages/B/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","./src/foo.ts","./src/bar/foo.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"4646078106-export function foo() { }","signature":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"1045484683-export function bar() { }","signature":"-2904461644-export declare function bar(): void;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"referencedMap":[],"semanticDiagnosticsPerFile":[1,3,2],"latestChangedDtsFile":"./lib/bar/foo.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","./src/foo.ts","./src/bar/foo.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"4646078106-export function foo() { }","signature":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"1045484683-export function bar() { }","signature":"-2904461644-export declare function bar(): void;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"latestChangedDtsFile":"./lib/bar/foo.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/B/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -142,16 +142,10 @@ export declare function bar(): void; "outDir": "./lib", "rootDir": "./src" }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "./src/bar/foo.ts", - "./src/foo.ts" - ], "latestChangedDtsFile": "./lib/bar/foo.d.ts" }, "version": "FakeTSVersion", - "size": 998 + "size": 942 } //// [/user/username/projects/myproject/packages/A/lib/test.js] @@ -168,7 +162,7 @@ export {}; //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../../node_modules/b/lib/foo.d.ts","../../node_modules/b/lib/bar/foo.d.ts","./src/test.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"14700910833-import { foo } from 'b/lib/foo';\nimport { bar } from 'b/lib/bar/foo';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./lib/test.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../../node_modules/b/lib/foo.d.ts","../../node_modules/b/lib/bar/foo.d.ts","./src/test.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"14700910833-import { foo } from 'b/lib/foo';\nimport { bar } from 'b/lib/bar/foo';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./lib/test.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -243,16 +237,10 @@ export {}; "../../node_modules/b/lib/bar/foo.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "../../node_modules/b/lib/bar/foo.d.ts", - "../../node_modules/b/lib/foo.d.ts", - "./src/test.ts" - ], "latestChangedDtsFile": "./lib/test.d.ts" }, "version": "FakeTSVersion", - "size": 1150 + "size": 1111 } @@ -267,7 +255,7 @@ Output:: //// [/user/username/projects/myproject/packages/A/lib/test.js] file written with same contents //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../b/src/foo.ts","../b/src/bar/foo.ts","./src/test.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"4646078106-export function foo() { }","impliedFormat":1},{"version":"1045484683-export function bar() { }","impliedFormat":1},{"version":"14700910833-import { foo } from 'b/lib/foo';\nimport { bar } from 'b/lib/bar/foo';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,4,3,2],"latestChangedDtsFile":"./lib/test.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../b/src/foo.ts","../b/src/bar/foo.ts","./src/test.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"4646078106-export function foo() { }","impliedFormat":1},{"version":"1045484683-export function bar() { }","impliedFormat":1},{"version":"14700910833-import { foo } from 'b/lib/foo';\nimport { bar } from 'b/lib/bar/foo';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./lib/test.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -342,16 +330,10 @@ Output:: "../b/src/bar/foo.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "./src/test.ts", - "../b/src/bar/foo.ts", - "../b/src/foo.ts" - ], "latestChangedDtsFile": "./lib/test.d.ts" }, "version": "FakeTSVersion", - "size": 1086 + "size": 1047 } diff --git a/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-referencing-file-from-subFolder-with-preserveSymlinks.js b/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-referencing-file-from-subFolder-with-preserveSymlinks.js index 4624095f55300..b1e06d90bfb2f 100644 --- a/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-referencing-file-from-subFolder-with-preserveSymlinks.js +++ b/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-referencing-file-from-subFolder-with-preserveSymlinks.js @@ -85,7 +85,7 @@ export {}; //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../b/src/foo.ts","../b/src/bar/foo.ts","./src/test.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"4646078106-export function foo() { }","impliedFormat":1},{"version":"1045484683-export function bar() { }","impliedFormat":1},{"version":"14700910833-import { foo } from 'b/lib/foo';\nimport { bar } from 'b/lib/bar/foo';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,4,3,2],"latestChangedDtsFile":"./lib/test.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../b/src/foo.ts","../b/src/bar/foo.ts","./src/test.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"4646078106-export function foo() { }","impliedFormat":1},{"version":"1045484683-export function bar() { }","impliedFormat":1},{"version":"14700910833-import { foo } from 'b/lib/foo';\nimport { bar } from 'b/lib/bar/foo';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./lib/test.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -160,16 +160,10 @@ export {}; "../b/src/bar/foo.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "./src/test.ts", - "../b/src/bar/foo.ts", - "../b/src/foo.ts" - ], "latestChangedDtsFile": "./lib/test.d.ts" }, "version": "FakeTSVersion", - "size": 1086 + "size": 1047 } diff --git a/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-referencing-file-from-subFolder-with-scoped-package-when-solution-is-already-built.js b/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-referencing-file-from-subFolder-with-scoped-package-when-solution-is-already-built.js index 4ec4643a49eef..cfb2e055b4b5d 100644 --- a/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-referencing-file-from-subFolder-with-scoped-package-when-solution-is-already-built.js +++ b/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-referencing-file-from-subFolder-with-scoped-package-when-solution-is-already-built.js @@ -82,7 +82,7 @@ export declare function bar(): void; //// [/user/username/projects/myproject/packages/B/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","./src/foo.ts","./src/bar/foo.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"4646078106-export function foo() { }","signature":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"1045484683-export function bar() { }","signature":"-2904461644-export declare function bar(): void;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"referencedMap":[],"semanticDiagnosticsPerFile":[1,3,2],"latestChangedDtsFile":"./lib/bar/foo.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","./src/foo.ts","./src/bar/foo.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"4646078106-export function foo() { }","signature":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"1045484683-export function bar() { }","signature":"-2904461644-export declare function bar(): void;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"latestChangedDtsFile":"./lib/bar/foo.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/B/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -140,16 +140,10 @@ export declare function bar(): void; "outDir": "./lib", "rootDir": "./src" }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "./src/bar/foo.ts", - "./src/foo.ts" - ], "latestChangedDtsFile": "./lib/bar/foo.d.ts" }, "version": "FakeTSVersion", - "size": 998 + "size": 942 } //// [/user/username/projects/myproject/packages/A/lib/test.js] @@ -166,7 +160,7 @@ export {}; //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../b/lib/foo.d.ts","../b/lib/bar/foo.d.ts","./src/test.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"-20350237855-import { foo } from '@issue/b/lib/foo';\nimport { bar } from '@issue/b/lib/bar/foo';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,4,3,2],"latestChangedDtsFile":"./lib/test.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../b/lib/foo.d.ts","../b/lib/bar/foo.d.ts","./src/test.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"-20350237855-import { foo } from '@issue/b/lib/foo';\nimport { bar } from '@issue/b/lib/bar/foo';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./lib/test.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -241,16 +235,10 @@ export {}; "../b/lib/bar/foo.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "./src/test.ts", - "../b/lib/bar/foo.d.ts", - "../b/lib/foo.d.ts" - ], "latestChangedDtsFile": "./lib/test.d.ts" }, "version": "FakeTSVersion", - "size": 1133 + "size": 1094 } @@ -265,7 +253,7 @@ Output:: //// [/user/username/projects/myproject/packages/A/lib/test.js] file written with same contents //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../b/src/foo.ts","../b/src/bar/foo.ts","./src/test.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"4646078106-export function foo() { }","impliedFormat":1},{"version":"1045484683-export function bar() { }","impliedFormat":1},{"version":"-20350237855-import { foo } from '@issue/b/lib/foo';\nimport { bar } from '@issue/b/lib/bar/foo';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,4,3,2],"latestChangedDtsFile":"./lib/test.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../b/src/foo.ts","../b/src/bar/foo.ts","./src/test.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"4646078106-export function foo() { }","impliedFormat":1},{"version":"1045484683-export function bar() { }","impliedFormat":1},{"version":"-20350237855-import { foo } from '@issue/b/lib/foo';\nimport { bar } from '@issue/b/lib/bar/foo';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./lib/test.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -340,16 +328,10 @@ Output:: "../b/src/bar/foo.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "./src/test.ts", - "../b/src/bar/foo.ts", - "../b/src/foo.ts" - ], "latestChangedDtsFile": "./lib/test.d.ts" }, "version": "FakeTSVersion", - "size": 1101 + "size": 1062 } diff --git a/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-referencing-file-from-subFolder-with-scoped-package-with-preserveSymlinks-when-solution-is-already-built.js b/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-referencing-file-from-subFolder-with-scoped-package-with-preserveSymlinks-when-solution-is-already-built.js index b8a078f363022..f5d442e11861c 100644 --- a/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-referencing-file-from-subFolder-with-scoped-package-with-preserveSymlinks-when-solution-is-already-built.js +++ b/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-referencing-file-from-subFolder-with-scoped-package-with-preserveSymlinks-when-solution-is-already-built.js @@ -84,7 +84,7 @@ export declare function bar(): void; //// [/user/username/projects/myproject/packages/B/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","./src/foo.ts","./src/bar/foo.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"4646078106-export function foo() { }","signature":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"1045484683-export function bar() { }","signature":"-2904461644-export declare function bar(): void;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"referencedMap":[],"semanticDiagnosticsPerFile":[1,3,2],"latestChangedDtsFile":"./lib/bar/foo.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","./src/foo.ts","./src/bar/foo.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"4646078106-export function foo() { }","signature":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"1045484683-export function bar() { }","signature":"-2904461644-export declare function bar(): void;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"latestChangedDtsFile":"./lib/bar/foo.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/B/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -142,16 +142,10 @@ export declare function bar(): void; "outDir": "./lib", "rootDir": "./src" }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "./src/bar/foo.ts", - "./src/foo.ts" - ], "latestChangedDtsFile": "./lib/bar/foo.d.ts" }, "version": "FakeTSVersion", - "size": 998 + "size": 942 } //// [/user/username/projects/myproject/packages/A/lib/test.js] @@ -168,7 +162,7 @@ export {}; //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../../node_modules/@issue/b/lib/foo.d.ts","../../node_modules/@issue/b/lib/bar/foo.d.ts","./src/test.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"-20350237855-import { foo } from '@issue/b/lib/foo';\nimport { bar } from '@issue/b/lib/bar/foo';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./lib/test.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../../node_modules/@issue/b/lib/foo.d.ts","../../node_modules/@issue/b/lib/bar/foo.d.ts","./src/test.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"-20350237855-import { foo } from '@issue/b/lib/foo';\nimport { bar } from '@issue/b/lib/bar/foo';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./lib/test.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -243,16 +237,10 @@ export {}; "../../node_modules/@issue/b/lib/bar/foo.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "../../node_modules/@issue/b/lib/bar/foo.d.ts", - "../../node_modules/@issue/b/lib/foo.d.ts", - "./src/test.ts" - ], "latestChangedDtsFile": "./lib/test.d.ts" }, "version": "FakeTSVersion", - "size": 1179 + "size": 1140 } @@ -267,7 +255,7 @@ Output:: //// [/user/username/projects/myproject/packages/A/lib/test.js] file written with same contents //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../b/src/foo.ts","../b/src/bar/foo.ts","./src/test.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"4646078106-export function foo() { }","impliedFormat":1},{"version":"1045484683-export function bar() { }","impliedFormat":1},{"version":"-20350237855-import { foo } from '@issue/b/lib/foo';\nimport { bar } from '@issue/b/lib/bar/foo';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,4,3,2],"latestChangedDtsFile":"./lib/test.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../b/src/foo.ts","../b/src/bar/foo.ts","./src/test.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"4646078106-export function foo() { }","impliedFormat":1},{"version":"1045484683-export function bar() { }","impliedFormat":1},{"version":"-20350237855-import { foo } from '@issue/b/lib/foo';\nimport { bar } from '@issue/b/lib/bar/foo';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./lib/test.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -342,16 +330,10 @@ Output:: "../b/src/bar/foo.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "./src/test.ts", - "../b/src/bar/foo.ts", - "../b/src/foo.ts" - ], "latestChangedDtsFile": "./lib/test.d.ts" }, "version": "FakeTSVersion", - "size": 1101 + "size": 1062 } diff --git a/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-referencing-file-from-subFolder-with-scoped-package-with-preserveSymlinks.js b/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-referencing-file-from-subFolder-with-scoped-package-with-preserveSymlinks.js index fc8b35de86c98..0e027eeaaa40f 100644 --- a/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-referencing-file-from-subFolder-with-scoped-package-with-preserveSymlinks.js +++ b/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-referencing-file-from-subFolder-with-scoped-package-with-preserveSymlinks.js @@ -85,7 +85,7 @@ export {}; //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../b/src/foo.ts","../b/src/bar/foo.ts","./src/test.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"4646078106-export function foo() { }","impliedFormat":1},{"version":"1045484683-export function bar() { }","impliedFormat":1},{"version":"-20350237855-import { foo } from '@issue/b/lib/foo';\nimport { bar } from '@issue/b/lib/bar/foo';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,4,3,2],"latestChangedDtsFile":"./lib/test.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../b/src/foo.ts","../b/src/bar/foo.ts","./src/test.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"4646078106-export function foo() { }","impliedFormat":1},{"version":"1045484683-export function bar() { }","impliedFormat":1},{"version":"-20350237855-import { foo } from '@issue/b/lib/foo';\nimport { bar } from '@issue/b/lib/bar/foo';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./lib/test.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -160,16 +160,10 @@ export {}; "../b/src/bar/foo.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "./src/test.ts", - "../b/src/bar/foo.ts", - "../b/src/foo.ts" - ], "latestChangedDtsFile": "./lib/test.d.ts" }, "version": "FakeTSVersion", - "size": 1101 + "size": 1062 } diff --git a/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-referencing-file-from-subFolder-with-scoped-package.js b/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-referencing-file-from-subFolder-with-scoped-package.js index 77f21c9288b21..c6ab0b3d9c199 100644 --- a/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-referencing-file-from-subFolder-with-scoped-package.js +++ b/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-referencing-file-from-subFolder-with-scoped-package.js @@ -83,7 +83,7 @@ export {}; //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../b/src/foo.ts","../b/src/bar/foo.ts","./src/test.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"4646078106-export function foo() { }","impliedFormat":1},{"version":"1045484683-export function bar() { }","impliedFormat":1},{"version":"-20350237855-import { foo } from '@issue/b/lib/foo';\nimport { bar } from '@issue/b/lib/bar/foo';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,4,3,2],"latestChangedDtsFile":"./lib/test.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../b/src/foo.ts","../b/src/bar/foo.ts","./src/test.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"4646078106-export function foo() { }","impliedFormat":1},{"version":"1045484683-export function bar() { }","impliedFormat":1},{"version":"-20350237855-import { foo } from '@issue/b/lib/foo';\nimport { bar } from '@issue/b/lib/bar/foo';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./lib/test.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -158,16 +158,10 @@ export {}; "../b/src/bar/foo.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "./src/test.ts", - "../b/src/bar/foo.ts", - "../b/src/foo.ts" - ], "latestChangedDtsFile": "./lib/test.d.ts" }, "version": "FakeTSVersion", - "size": 1101 + "size": 1062 } diff --git a/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-referencing-file-from-subFolder.js b/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-referencing-file-from-subFolder.js index b325689a4350b..bc17a0ff05b52 100644 --- a/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-referencing-file-from-subFolder.js +++ b/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-referencing-file-from-subFolder.js @@ -83,7 +83,7 @@ export {}; //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../b/src/foo.ts","../b/src/bar/foo.ts","./src/test.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"4646078106-export function foo() { }","impliedFormat":1},{"version":"1045484683-export function bar() { }","impliedFormat":1},{"version":"14700910833-import { foo } from 'b/lib/foo';\nimport { bar } from 'b/lib/bar/foo';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,4,3,2],"latestChangedDtsFile":"./lib/test.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../b/src/foo.ts","../b/src/bar/foo.ts","./src/test.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"4646078106-export function foo() { }","impliedFormat":1},{"version":"1045484683-export function bar() { }","impliedFormat":1},{"version":"14700910833-import { foo } from 'b/lib/foo';\nimport { bar } from 'b/lib/bar/foo';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./lib/test.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -158,16 +158,10 @@ export {}; "../b/src/bar/foo.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "./src/test.ts", - "../b/src/bar/foo.ts", - "../b/src/foo.ts" - ], "latestChangedDtsFile": "./lib/test.d.ts" }, "version": "FakeTSVersion", - "size": 1086 + "size": 1047 } diff --git a/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/with-simple-project-when-solution-is-already-built.js b/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/with-simple-project-when-solution-is-already-built.js index f163771b4602a..0ec9a4b891ace 100644 --- a/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/with-simple-project-when-solution-is-already-built.js +++ b/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/with-simple-project-when-solution-is-already-built.js @@ -160,7 +160,7 @@ export declare function lastElementOf(arr: T[]): T | undefined; //// [/user/username/projects/demo/lib/core/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../../core/utilities.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-6723567162-export function makeRandomName() {\n return \"Bob!?! \";\n}\n\nexport function lastElementOf(arr: T[]): T | undefined {\n if (arr.length === 0) return undefined;\n return arr[arr.length - 1];\n}\n","signature":"-11345568166-export declare function makeRandomName(): string;\nexport declare function lastElementOf(arr: T[]): T | undefined;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declaration":true,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../../core","strict":true,"target":1},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./utilities.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../../core/utilities.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-6723567162-export function makeRandomName() {\n return \"Bob!?! \";\n}\n\nexport function lastElementOf(arr: T[]): T | undefined {\n if (arr.length === 0) return undefined;\n return arr[arr.length - 1];\n}\n","signature":"-11345568166-export declare function makeRandomName(): string;\nexport declare function lastElementOf(arr: T[]): T | undefined;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declaration":true,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../../core","strict":true,"target":1},"latestChangedDtsFile":"./utilities.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/demo/lib/core/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -211,15 +211,10 @@ export declare function lastElementOf(arr: T[]): T | undefined; "strict": true, "target": 1 }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "../../core/utilities.ts" - ], "latestChangedDtsFile": "./utilities.d.ts" }, "version": "FakeTSVersion", - "size": 1360 + "size": 1306 } //// [/user/username/projects/demo/lib/animals/animal.js] @@ -275,7 +270,7 @@ export declare function createDog(): Dog; //// [/user/username/projects/demo/lib/animals/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../../animals/animal.ts","../../animals/index.ts","../core/utilities.d.ts","../../animals/dog.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-9289341318-export type Size = \"small\" | \"medium\" | \"large\";\nexport default interface Animal {\n size: Size;\n}\n","impliedFormat":1},{"version":"-7220553464-import Animal from './animal';\n\nexport default Animal;\nimport { createDog, Dog } from './dog';\nexport { createDog, Dog };\n","signature":"1096904574-import Animal from './animal';\nexport default Animal;\nimport { createDog, Dog } from './dog';\nexport { createDog, Dog };\n","impliedFormat":1},{"version":"-11345568166-export declare function makeRandomName(): string;\nexport declare function lastElementOf(arr: T[]): T | undefined;\n","impliedFormat":1},{"version":"-18870194049-import Animal from '.';\nimport { makeRandomName } from '../core/utilities';\n\nexport interface Dog extends Animal {\n woof(): void;\n name: string;\n}\n\nexport function createDog(): Dog {\n return ({\n size: \"medium\",\n woof: function(this: Dog) {\n console.log(`${ this.name } says \"Woof\"!`);\n },\n name: makeRandomName()\n });\n}\n","signature":"6032048049-import Animal from '.';\nexport interface Dog extends Animal {\n woof(): void;\n name: string;\n}\nexport declare function createDog(): Dog;\n","impliedFormat":1}],"root":[2,3,5],"options":{"composite":true,"declaration":true,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../../animals","strict":true,"target":1},"fileIdsList":[[3,4],[2,5]],"referencedMap":[[5,1],[3,2]],"semanticDiagnosticsPerFile":[1,2,5,3,4],"latestChangedDtsFile":"./dog.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../../animals/animal.ts","../../animals/index.ts","../core/utilities.d.ts","../../animals/dog.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-9289341318-export type Size = \"small\" | \"medium\" | \"large\";\nexport default interface Animal {\n size: Size;\n}\n","impliedFormat":1},{"version":"-7220553464-import Animal from './animal';\n\nexport default Animal;\nimport { createDog, Dog } from './dog';\nexport { createDog, Dog };\n","signature":"1096904574-import Animal from './animal';\nexport default Animal;\nimport { createDog, Dog } from './dog';\nexport { createDog, Dog };\n","impliedFormat":1},{"version":"-11345568166-export declare function makeRandomName(): string;\nexport declare function lastElementOf(arr: T[]): T | undefined;\n","impliedFormat":1},{"version":"-18870194049-import Animal from '.';\nimport { makeRandomName } from '../core/utilities';\n\nexport interface Dog extends Animal {\n woof(): void;\n name: string;\n}\n\nexport function createDog(): Dog {\n return ({\n size: \"medium\",\n woof: function(this: Dog) {\n console.log(`${ this.name } says \"Woof\"!`);\n },\n name: makeRandomName()\n });\n}\n","signature":"6032048049-import Animal from '.';\nexport interface Dog extends Animal {\n woof(): void;\n name: string;\n}\nexport declare function createDog(): Dog;\n","impliedFormat":1}],"root":[2,3,5],"options":{"composite":true,"declaration":true,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../../animals","strict":true,"target":1},"fileIdsList":[[3,4],[2,5]],"referencedMap":[[5,1],[3,2]],"latestChangedDtsFile":"./dog.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/demo/lib/animals/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -385,17 +380,10 @@ export declare function createDog(): Dog; "../../animals/dog.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "../../animals/animal.ts", - "../../animals/dog.ts", - "../../animals/index.ts", - "../core/utilities.d.ts" - ], "latestChangedDtsFile": "./dog.d.ts" }, "version": "FakeTSVersion", - "size": 2335 + "size": 2294 } @@ -410,7 +398,7 @@ Output:: //// [/user/username/projects/demo/lib/animals/dog.js] file written with same contents //// [/user/username/projects/demo/lib/animals/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../../animals/animal.ts","../../animals/index.ts","../../core/utilities.ts","../../animals/dog.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-9289341318-export type Size = \"small\" | \"medium\" | \"large\";\nexport default interface Animal {\n size: Size;\n}\n","impliedFormat":1},{"version":"-7220553464-import Animal from './animal';\n\nexport default Animal;\nimport { createDog, Dog } from './dog';\nexport { createDog, Dog };\n","signature":"1096904574-import Animal from './animal';\nexport default Animal;\nimport { createDog, Dog } from './dog';\nexport { createDog, Dog };\n","impliedFormat":1},{"version":"-6723567162-export function makeRandomName() {\n return \"Bob!?! \";\n}\n\nexport function lastElementOf(arr: T[]): T | undefined {\n if (arr.length === 0) return undefined;\n return arr[arr.length - 1];\n}\n","signature":"-11345568166-export declare function makeRandomName(): string;\nexport declare function lastElementOf(arr: T[]): T | undefined;\n","impliedFormat":1},{"version":"-18870194049-import Animal from '.';\nimport { makeRandomName } from '../core/utilities';\n\nexport interface Dog extends Animal {\n woof(): void;\n name: string;\n}\n\nexport function createDog(): Dog {\n return ({\n size: \"medium\",\n woof: function(this: Dog) {\n console.log(`${ this.name } says \"Woof\"!`);\n },\n name: makeRandomName()\n });\n}\n","signature":"6032048049-import Animal from '.';\nexport interface Dog extends Animal {\n woof(): void;\n name: string;\n}\nexport declare function createDog(): Dog;\n","impliedFormat":1}],"root":[2,3,5],"options":{"composite":true,"declaration":true,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../../animals","strict":true,"target":1},"fileIdsList":[[3,4],[2,5]],"referencedMap":[[5,1],[3,2]],"semanticDiagnosticsPerFile":[1,2,5,3,4],"latestChangedDtsFile":"./dog.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../../animals/animal.ts","../../animals/index.ts","../../core/utilities.ts","../../animals/dog.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-9289341318-export type Size = \"small\" | \"medium\" | \"large\";\nexport default interface Animal {\n size: Size;\n}\n","impliedFormat":1},{"version":"-7220553464-import Animal from './animal';\n\nexport default Animal;\nimport { createDog, Dog } from './dog';\nexport { createDog, Dog };\n","signature":"1096904574-import Animal from './animal';\nexport default Animal;\nimport { createDog, Dog } from './dog';\nexport { createDog, Dog };\n","impliedFormat":1},{"version":"-6723567162-export function makeRandomName() {\n return \"Bob!?! \";\n}\n\nexport function lastElementOf(arr: T[]): T | undefined {\n if (arr.length === 0) return undefined;\n return arr[arr.length - 1];\n}\n","signature":"-11345568166-export declare function makeRandomName(): string;\nexport declare function lastElementOf(arr: T[]): T | undefined;\n","impliedFormat":1},{"version":"-18870194049-import Animal from '.';\nimport { makeRandomName } from '../core/utilities';\n\nexport interface Dog extends Animal {\n woof(): void;\n name: string;\n}\n\nexport function createDog(): Dog {\n return ({\n size: \"medium\",\n woof: function(this: Dog) {\n console.log(`${ this.name } says \"Woof\"!`);\n },\n name: makeRandomName()\n });\n}\n","signature":"6032048049-import Animal from '.';\nexport interface Dog extends Animal {\n woof(): void;\n name: string;\n}\nexport declare function createDog(): Dog;\n","impliedFormat":1}],"root":[2,3,5],"options":{"composite":true,"declaration":true,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../../animals","strict":true,"target":1},"fileIdsList":[[3,4],[2,5]],"referencedMap":[[5,1],[3,2]],"latestChangedDtsFile":"./dog.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/demo/lib/animals/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -521,17 +509,10 @@ Output:: "../../animals/dog.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "../../animals/animal.ts", - "../../animals/dog.ts", - "../../animals/index.ts", - "../../core/utilities.ts" - ], "latestChangedDtsFile": "./dog.d.ts" }, "version": "FakeTSVersion", - "size": 2571 + "size": 2530 } diff --git a/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/with-simple-project.js b/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/with-simple-project.js index d71fdfd46a7b0..9e280198c6182 100644 --- a/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/with-simple-project.js +++ b/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/with-simple-project.js @@ -202,7 +202,7 @@ export declare function createDog(): Dog; //// [/user/username/projects/demo/lib/animals/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../../animals/animal.ts","../../animals/index.ts","../../core/utilities.ts","../../animals/dog.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-9289341318-export type Size = \"small\" | \"medium\" | \"large\";\nexport default interface Animal {\n size: Size;\n}\n","impliedFormat":1},{"version":"-7220553464-import Animal from './animal';\n\nexport default Animal;\nimport { createDog, Dog } from './dog';\nexport { createDog, Dog };\n","signature":"1096904574-import Animal from './animal';\nexport default Animal;\nimport { createDog, Dog } from './dog';\nexport { createDog, Dog };\n","impliedFormat":1},{"version":"-6723567162-export function makeRandomName() {\n return \"Bob!?! \";\n}\n\nexport function lastElementOf(arr: T[]): T | undefined {\n if (arr.length === 0) return undefined;\n return arr[arr.length - 1];\n}\n","impliedFormat":1},{"version":"-18870194049-import Animal from '.';\nimport { makeRandomName } from '../core/utilities';\n\nexport interface Dog extends Animal {\n woof(): void;\n name: string;\n}\n\nexport function createDog(): Dog {\n return ({\n size: \"medium\",\n woof: function(this: Dog) {\n console.log(`${ this.name } says \"Woof\"!`);\n },\n name: makeRandomName()\n });\n}\n","signature":"6032048049-import Animal from '.';\nexport interface Dog extends Animal {\n woof(): void;\n name: string;\n}\nexport declare function createDog(): Dog;\n","impliedFormat":1}],"root":[2,3,5],"options":{"composite":true,"declaration":true,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../../animals","strict":true,"target":1},"fileIdsList":[[3,4],[2,5]],"referencedMap":[[5,1],[3,2]],"semanticDiagnosticsPerFile":[1,2,5,3,4],"latestChangedDtsFile":"./dog.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../../animals/animal.ts","../../animals/index.ts","../../core/utilities.ts","../../animals/dog.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-9289341318-export type Size = \"small\" | \"medium\" | \"large\";\nexport default interface Animal {\n size: Size;\n}\n","impliedFormat":1},{"version":"-7220553464-import Animal from './animal';\n\nexport default Animal;\nimport { createDog, Dog } from './dog';\nexport { createDog, Dog };\n","signature":"1096904574-import Animal from './animal';\nexport default Animal;\nimport { createDog, Dog } from './dog';\nexport { createDog, Dog };\n","impliedFormat":1},{"version":"-6723567162-export function makeRandomName() {\n return \"Bob!?! \";\n}\n\nexport function lastElementOf(arr: T[]): T | undefined {\n if (arr.length === 0) return undefined;\n return arr[arr.length - 1];\n}\n","impliedFormat":1},{"version":"-18870194049-import Animal from '.';\nimport { makeRandomName } from '../core/utilities';\n\nexport interface Dog extends Animal {\n woof(): void;\n name: string;\n}\n\nexport function createDog(): Dog {\n return ({\n size: \"medium\",\n woof: function(this: Dog) {\n console.log(`${ this.name } says \"Woof\"!`);\n },\n name: makeRandomName()\n });\n}\n","signature":"6032048049-import Animal from '.';\nexport interface Dog extends Animal {\n woof(): void;\n name: string;\n}\nexport declare function createDog(): Dog;\n","impliedFormat":1}],"root":[2,3,5],"options":{"composite":true,"declaration":true,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../../animals","strict":true,"target":1},"fileIdsList":[[3,4],[2,5]],"referencedMap":[[5,1],[3,2]],"latestChangedDtsFile":"./dog.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/demo/lib/animals/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -312,17 +312,10 @@ export declare function createDog(): Dog; "../../animals/dog.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "../../animals/animal.ts", - "../../animals/dog.ts", - "../../animals/index.ts", - "../../core/utilities.ts" - ], "latestChangedDtsFile": "./dog.d.ts" }, "version": "FakeTSVersion", - "size": 2424 + "size": 2383 } diff --git a/tests/baselines/reference/tscWatch/symlinks/monorepo-style-sibling-packages-symlinked-Linux.js b/tests/baselines/reference/tscWatch/symlinks/monorepo-style-sibling-packages-symlinked-Linux.js index d73f89465bdc0..0e38bb1ce13f1 100644 --- a/tests/baselines/reference/tscWatch/symlinks/monorepo-style-sibling-packages-symlinked-Linux.js +++ b/tests/baselines/reference/tscWatch/symlinks/monorepo-style-sibling-packages-symlinked-Linux.js @@ -381,6 +381,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 4: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 1 Output:: Scheduling update @@ -393,6 +394,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 5: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -813,6 +815,7 @@ Input:: Before running Timeout callback:: count: 1 12: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 1 Output:: Scheduling update @@ -825,6 +828,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 13: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -1044,6 +1048,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 17: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 1 Output:: Scheduling update @@ -1056,6 +1061,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 18: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program diff --git a/tests/baselines/reference/tscWatch/symlinks/monorepo-style-sibling-packages-symlinked-package1-built-Linux.js b/tests/baselines/reference/tscWatch/symlinks/monorepo-style-sibling-packages-symlinked-package1-built-Linux.js index ac9a56779bfa8..b773fa064b6ae 100644 --- a/tests/baselines/reference/tscWatch/symlinks/monorepo-style-sibling-packages-symlinked-package1-built-Linux.js +++ b/tests/baselines/reference/tscWatch/symlinks/monorepo-style-sibling-packages-symlinked-package1-built-Linux.js @@ -551,6 +551,7 @@ Input:: Before running Timeout callback:: count: 1 7: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 1 Output:: Scheduling update @@ -563,6 +564,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 8: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -782,6 +784,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 12: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 1 Output:: Scheduling update @@ -794,6 +797,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 13: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program diff --git a/tests/baselines/reference/tscWatch/symlinks/monorepo-style-sibling-packages-symlinked-package1-built.js b/tests/baselines/reference/tscWatch/symlinks/monorepo-style-sibling-packages-symlinked-package1-built.js index 27ae0d28ac440..31d9205a3ccab 100644 --- a/tests/baselines/reference/tscWatch/symlinks/monorepo-style-sibling-packages-symlinked-package1-built.js +++ b/tests/baselines/reference/tscWatch/symlinks/monorepo-style-sibling-packages-symlinked-package1-built.js @@ -523,6 +523,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 7: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 1 Output:: Scheduling update @@ -535,6 +536,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 8: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program diff --git a/tests/baselines/reference/tscWatch/symlinks/monorepo-style-sibling-packages-symlinked.js b/tests/baselines/reference/tscWatch/symlinks/monorepo-style-sibling-packages-symlinked.js index e729d6fa74470..b7f1f962d3361 100644 --- a/tests/baselines/reference/tscWatch/symlinks/monorepo-style-sibling-packages-symlinked.js +++ b/tests/baselines/reference/tscWatch/symlinks/monorepo-style-sibling-packages-symlinked.js @@ -323,6 +323,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 1 Output:: Scheduling update @@ -335,6 +336,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 4: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -734,6 +736,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 11: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 1 Output:: Scheduling update @@ -746,6 +749,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 12: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program diff --git a/tests/baselines/reference/tscWatch/watchApi/extraFileExtensions-are-supported.js b/tests/baselines/reference/tscWatch/watchApi/extraFileExtensions-are-supported.js index 36f64b88621c7..6fb491ae13e7d 100644 --- a/tests/baselines/reference/tscWatch/watchApi/extraFileExtensions-are-supported.js +++ b/tests/baselines/reference/tscWatch/watchApi/extraFileExtensions-are-supported.js @@ -99,6 +99,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/watchApi/host-implements-does-not-implement-hasInvalidatedResolutions.js b/tests/baselines/reference/tscWatch/watchApi/host-implements-does-not-implement-hasInvalidatedResolutions.js index 2d72d1cbbbf4a..dddb9ec761d3e 100644 --- a/tests/baselines/reference/tscWatch/watchApi/host-implements-does-not-implement-hasInvalidatedResolutions.js +++ b/tests/baselines/reference/tscWatch/watchApi/host-implements-does-not-implement-hasInvalidatedResolutions.js @@ -144,6 +144,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -230,6 +231,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program diff --git a/tests/baselines/reference/tscWatch/watchApi/host-implements-hasInvalidatedResolutions.js b/tests/baselines/reference/tscWatch/watchApi/host-implements-hasInvalidatedResolutions.js index 0ea024177a894..abfe3206c4322 100644 --- a/tests/baselines/reference/tscWatch/watchApi/host-implements-hasInvalidatedResolutions.js +++ b/tests/baselines/reference/tscWatch/watchApi/host-implements-hasInvalidatedResolutions.js @@ -144,6 +144,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -172,6 +173,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program diff --git a/tests/baselines/reference/tscWatch/watchApi/noEmit-with-composite-with-emit-builder-outFile.js b/tests/baselines/reference/tscWatch/watchApi/noEmit-with-composite-with-emit-builder-outFile.js new file mode 100644 index 0000000000000..f0e08d83022b3 --- /dev/null +++ b/tests/baselines/reference/tscWatch/watchApi/noEmit-with-composite-with-emit-builder-outFile.js @@ -0,0 +1,659 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Input:: +//// [/user/username/projects/myproject/tsconfig.json] +{ + "compilerOptions": { + "composite": true, + "outFile": "../outFile.js", + "module": "amd" + } +} + +//// [/user/username/projects/myproject/main.ts] +export const x = 10; + +//// [/user/username/projects/myproject/other.ts] +export const y = 10; + +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } + + +tsc --w --noEmit +Output:: +>> Screen clear +[HH:MM:SS AM] Starting compilation in watch mode... + +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + + +PolledWatches:: +/user/username/projects/myproject/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/myproject/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: *new* + {} +/user/username/projects/myproject/main.ts: *new* + {} +/user/username/projects/myproject/other.ts: *new* + {} +/user/username/projects/myproject/tsconfig.json: *new* + {} + +FsWatchesRecursive:: +/user/username/projects/myproject: *new* + {} + +Program root files: [ + "/user/username/projects/myproject/main.ts", + "/user/username/projects/myproject/other.ts" +] +Program options: { + "composite": true, + "outFile": "/user/username/projects/outFile.js", + "module": 2, + "noEmit": true, + "configFilePath": "/user/username/projects/myproject/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/myproject/main.ts +/user/username/projects/myproject/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +tsc --w +Output:: +>> Screen clear +[HH:MM:SS AM] Starting compilation in watch mode... + +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + +//// [/user/username/projects/outFile.js] +define("main", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.x = void 0; + exports.x = 10; +}); +define("other", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.y = void 0; + exports.y = 10; +}); + + +//// [/user/username/projects/outFile.d.ts] +declare module "main" { + export const x = 10; +} +declare module "other" { + export const y = 10; +} + + +//// [/user/username/projects/outFile.tsbuildinfo] +{"program":{"fileNames":["../../../a/lib/lib.d.ts","./myproject/main.ts","./myproject/other.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","impliedFormat":1},{"version":"-10726455937-export const x = 10;","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"module":2,"outFile":"./outFile.js"},"outSignature":"3483479585-declare module \"main\" {\n export const x = 10;\n}\ndeclare module \"other\" {\n export const y = 10;\n}\n","latestChangedDtsFile":"./outFile.d.ts"},"version":"FakeTSVersion"} + +//// [/user/username/projects/outFile.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../a/lib/lib.d.ts", + "./myproject/main.ts", + "./myproject/other.ts" + ], + "fileInfos": { + "../../../a/lib/lib.d.ts": { + "original": { + "version": "-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }", + "impliedFormat": 1 + }, + "version": "-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }", + "impliedFormat": "commonjs" + }, + "./myproject/main.ts": { + "original": { + "version": "-10726455937-export const x = 10;", + "impliedFormat": 1 + }, + "version": "-10726455937-export const x = 10;", + "impliedFormat": "commonjs" + }, + "./myproject/other.ts": { + "original": { + "version": "-13729955264-export const y = 10;", + "impliedFormat": 1 + }, + "version": "-13729955264-export const y = 10;", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + 2, + "./myproject/main.ts" + ], + [ + 3, + "./myproject/other.ts" + ] + ], + "options": { + "composite": true, + "module": 2, + "outFile": "./outFile.js" + }, + "outSignature": "3483479585-declare module \"main\" {\n export const x = 10;\n}\ndeclare module \"other\" {\n export const y = 10;\n}\n", + "latestChangedDtsFile": "./outFile.d.ts" + }, + "version": "FakeTSVersion", + "size": 921 +} + + +PolledWatches:: +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} *new* +/user/username/projects/myproject/package.json: + {"pollingInterval":2000} *new* +/user/username/projects/node_modules/@types: + {"pollingInterval":500} *new* +/user/username/projects/package.json: + {"pollingInterval":2000} *new* + +PolledWatches *deleted*:: +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/package.json: + {"pollingInterval":2000} +/user/username/projects/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/package.json: + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: + {} *new* +/user/username/projects/myproject/main.ts: + {} *new* +/user/username/projects/myproject/other.ts: + {} *new* +/user/username/projects/myproject/tsconfig.json: + {} *new* + +FsWatches *deleted*:: +/a/lib/lib.d.ts: + {} +/user/username/projects/myproject/main.ts: + {} +/user/username/projects/myproject/other.ts: + {} +/user/username/projects/myproject/tsconfig.json: + {} + +FsWatchesRecursive:: +/user/username/projects/myproject: + {} *new* + +FsWatchesRecursive *deleted*:: +/user/username/projects/myproject: + {} + +Program root files: [ + "/user/username/projects/myproject/main.ts", + "/user/username/projects/myproject/other.ts" +] +Program options: { + "composite": true, + "outFile": "/user/username/projects/outFile.js", + "module": 2, + "configFilePath": "/user/username/projects/myproject/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/myproject/main.ts +/user/username/projects/myproject/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Change:: Add comment + +Input:: +//// [/user/username/projects/myproject/main.ts] +export const x = 10; +// SomeComment + + +PolledWatches *deleted*:: +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/package.json: + {"pollingInterval":2000} +/user/username/projects/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/package.json: + {"pollingInterval":2000} + +FsWatches *deleted*:: +/a/lib/lib.d.ts: + {} +/user/username/projects/myproject/main.ts: + {} +/user/username/projects/myproject/other.ts: + {} +/user/username/projects/myproject/tsconfig.json: + {} + +FsWatchesRecursive *deleted*:: +/user/username/projects/myproject: + {} + +tsc --w --noEmit +Output:: +>> Screen clear +[HH:MM:SS AM] Starting compilation in watch mode... + +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + + +PolledWatches:: +/user/username/projects/myproject/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/myproject/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: *new* + {} +/user/username/projects/myproject/main.ts: *new* + {} +/user/username/projects/myproject/other.ts: *new* + {} +/user/username/projects/myproject/tsconfig.json: *new* + {} + +FsWatchesRecursive:: +/user/username/projects/myproject: *new* + {} + +Program root files: [ + "/user/username/projects/myproject/main.ts", + "/user/username/projects/myproject/other.ts" +] +Program options: { + "composite": true, + "outFile": "/user/username/projects/outFile.js", + "module": 2, + "noEmit": true, + "configFilePath": "/user/username/projects/myproject/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/myproject/main.ts +/user/username/projects/myproject/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +tsc --w +Output:: +>> Screen clear +[HH:MM:SS AM] Starting compilation in watch mode... + +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + +//// [/user/username/projects/outFile.js] +define("main", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.x = void 0; + exports.x = 10; +}); +// SomeComment +define("other", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.y = void 0; + exports.y = 10; +}); + + +//// [/user/username/projects/outFile.tsbuildinfo] +{"program":{"fileNames":["../../../a/lib/lib.d.ts","./myproject/main.ts","./myproject/other.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","impliedFormat":1},{"version":"-14918944530-export const x = 10;\n// SomeComment","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"module":2,"outFile":"./outFile.js"},"outSignature":"3483479585-declare module \"main\" {\n export const x = 10;\n}\ndeclare module \"other\" {\n export const y = 10;\n}\n","latestChangedDtsFile":"./outFile.d.ts"},"version":"FakeTSVersion"} + +//// [/user/username/projects/outFile.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../a/lib/lib.d.ts", + "./myproject/main.ts", + "./myproject/other.ts" + ], + "fileInfos": { + "../../../a/lib/lib.d.ts": { + "original": { + "version": "-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }", + "impliedFormat": 1 + }, + "version": "-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }", + "impliedFormat": "commonjs" + }, + "./myproject/main.ts": { + "original": { + "version": "-14918944530-export const x = 10;\n// SomeComment", + "impliedFormat": 1 + }, + "version": "-14918944530-export const x = 10;\n// SomeComment", + "impliedFormat": "commonjs" + }, + "./myproject/other.ts": { + "original": { + "version": "-13729955264-export const y = 10;", + "impliedFormat": 1 + }, + "version": "-13729955264-export const y = 10;", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + 2, + "./myproject/main.ts" + ], + [ + 3, + "./myproject/other.ts" + ] + ], + "options": { + "composite": true, + "module": 2, + "outFile": "./outFile.js" + }, + "outSignature": "3483479585-declare module \"main\" {\n export const x = 10;\n}\ndeclare module \"other\" {\n export const y = 10;\n}\n", + "latestChangedDtsFile": "./outFile.d.ts" + }, + "version": "FakeTSVersion", + "size": 937 +} + + +PolledWatches:: +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} *new* +/user/username/projects/myproject/package.json: + {"pollingInterval":2000} *new* +/user/username/projects/node_modules/@types: + {"pollingInterval":500} *new* +/user/username/projects/package.json: + {"pollingInterval":2000} *new* + +PolledWatches *deleted*:: +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/package.json: + {"pollingInterval":2000} +/user/username/projects/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/package.json: + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: + {} *new* +/user/username/projects/myproject/main.ts: + {} *new* +/user/username/projects/myproject/other.ts: + {} *new* +/user/username/projects/myproject/tsconfig.json: + {} *new* + +FsWatches *deleted*:: +/a/lib/lib.d.ts: + {} +/user/username/projects/myproject/main.ts: + {} +/user/username/projects/myproject/other.ts: + {} +/user/username/projects/myproject/tsconfig.json: + {} + +FsWatchesRecursive:: +/user/username/projects/myproject: + {} *new* + +FsWatchesRecursive *deleted*:: +/user/username/projects/myproject: + {} + +Program root files: [ + "/user/username/projects/myproject/main.ts", + "/user/username/projects/myproject/other.ts" +] +Program options: { + "composite": true, + "outFile": "/user/username/projects/outFile.js", + "module": 2, + "configFilePath": "/user/username/projects/myproject/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/myproject/main.ts +/user/username/projects/myproject/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Change:: Add comment + +Input:: +//// [/user/username/projects/myproject/main.ts] +export const x = 10; +// SomeComment +// SomeComment + + +PolledWatches *deleted*:: +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/package.json: + {"pollingInterval":2000} +/user/username/projects/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/package.json: + {"pollingInterval":2000} + +FsWatches *deleted*:: +/a/lib/lib.d.ts: + {} +/user/username/projects/myproject/main.ts: + {} +/user/username/projects/myproject/other.ts: + {} +/user/username/projects/myproject/tsconfig.json: + {} + +FsWatchesRecursive *deleted*:: +/user/username/projects/myproject: + {} + +tsc --w +Output:: +>> Screen clear +[HH:MM:SS AM] Starting compilation in watch mode... + +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + +//// [/user/username/projects/outFile.js] +define("main", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.x = void 0; + exports.x = 10; +}); +// SomeComment +// SomeComment +define("other", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.y = void 0; + exports.y = 10; +}); + + +//// [/user/username/projects/outFile.tsbuildinfo] +{"program":{"fileNames":["../../../a/lib/lib.d.ts","./myproject/main.ts","./myproject/other.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","impliedFormat":1},{"version":"-16105752451-export const x = 10;\n// SomeComment\n// SomeComment","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"module":2,"outFile":"./outFile.js"},"outSignature":"3483479585-declare module \"main\" {\n export const x = 10;\n}\ndeclare module \"other\" {\n export const y = 10;\n}\n","latestChangedDtsFile":"./outFile.d.ts"},"version":"FakeTSVersion"} + +//// [/user/username/projects/outFile.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../a/lib/lib.d.ts", + "./myproject/main.ts", + "./myproject/other.ts" + ], + "fileInfos": { + "../../../a/lib/lib.d.ts": { + "original": { + "version": "-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }", + "impliedFormat": 1 + }, + "version": "-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }", + "impliedFormat": "commonjs" + }, + "./myproject/main.ts": { + "original": { + "version": "-16105752451-export const x = 10;\n// SomeComment\n// SomeComment", + "impliedFormat": 1 + }, + "version": "-16105752451-export const x = 10;\n// SomeComment\n// SomeComment", + "impliedFormat": "commonjs" + }, + "./myproject/other.ts": { + "original": { + "version": "-13729955264-export const y = 10;", + "impliedFormat": 1 + }, + "version": "-13729955264-export const y = 10;", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + 2, + "./myproject/main.ts" + ], + [ + 3, + "./myproject/other.ts" + ] + ], + "options": { + "composite": true, + "module": 2, + "outFile": "./outFile.js" + }, + "outSignature": "3483479585-declare module \"main\" {\n export const x = 10;\n}\ndeclare module \"other\" {\n export const y = 10;\n}\n", + "latestChangedDtsFile": "./outFile.d.ts" + }, + "version": "FakeTSVersion", + "size": 953 +} + + +PolledWatches:: +/user/username/projects/myproject/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/myproject/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: *new* + {} +/user/username/projects/myproject/main.ts: *new* + {} +/user/username/projects/myproject/other.ts: *new* + {} +/user/username/projects/myproject/tsconfig.json: *new* + {} + +FsWatchesRecursive:: +/user/username/projects/myproject: *new* + {} + +Program root files: [ + "/user/username/projects/myproject/main.ts", + "/user/username/projects/myproject/other.ts" +] +Program options: { + "composite": true, + "outFile": "/user/username/projects/outFile.js", + "module": 2, + "configFilePath": "/user/username/projects/myproject/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/myproject/main.ts +/user/username/projects/myproject/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined diff --git a/tests/baselines/reference/tscWatch/watchApi/noEmit-with-composite-with-emit-builder.js b/tests/baselines/reference/tscWatch/watchApi/noEmit-with-composite-with-emit-builder.js index b90329a522a14..d7ffaf162ee5c 100644 --- a/tests/baselines/reference/tscWatch/watchApi/noEmit-with-composite-with-emit-builder.js +++ b/tests/baselines/reference/tscWatch/watchApi/noEmit-with-composite-with-emit-builder.js @@ -37,7 +37,7 @@ Output:: //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./main.ts","./other.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1}],"root":[2,3],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3],"affectedFilesPendingEmit":[2,3],"emitSignatures":[2,3]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./main.ts","./other.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1}],"root":[2,3],"options":{"composite":true},"affectedFilesPendingEmit":[2,3],"emitSignatures":[2,3]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -91,12 +91,6 @@ Output:: "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./main.ts", - "./other.ts" - ], "affectedFilesPendingEmit": [ [ "./main.ts", @@ -113,7 +107,7 @@ Output:: ] }, "version": "FakeTSVersion", - "size": 824 + "size": 768 } @@ -178,7 +172,7 @@ Output:: //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./main.ts","./other.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","signature":"-6821242887-export declare const x = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","signature":"-7152472870-export declare const y = 10;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./other.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./main.ts","./other.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","signature":"-6821242887-export declare const x = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","signature":"-7152472870-export declare const y = 10;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true},"latestChangedDtsFile":"./other.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -234,16 +228,10 @@ Output:: "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./main.ts", - "./other.ts" - ], "latestChangedDtsFile": "./other.d.ts" }, "version": "FakeTSVersion", - "size": 920 + "size": 864 } //// [/user/username/projects/myproject/main.js] @@ -379,7 +367,7 @@ Output:: //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./main.ts","./other.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14918944530-export const x = 10;\n// SomeComment","signature":"-6821242887-export declare const x = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","signature":"-7152472870-export declare const y = 10;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3],"affectedFilesPendingEmit":[2],"latestChangedDtsFile":"./other.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./main.ts","./other.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14918944530-export const x = 10;\n// SomeComment","signature":"-6821242887-export declare const x = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","signature":"-7152472870-export declare const y = 10;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true},"affectedFilesPendingEmit":[2],"latestChangedDtsFile":"./other.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -435,12 +423,6 @@ Output:: "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./main.ts", - "./other.ts" - ], "affectedFilesPendingEmit": [ [ "./main.ts", @@ -450,7 +432,7 @@ Output:: "latestChangedDtsFile": "./other.d.ts" }, "version": "FakeTSVersion", - "size": 967 + "size": 911 } @@ -511,7 +493,7 @@ Output:: //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./main.ts","./other.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14918944530-export const x = 10;\n// SomeComment","signature":"-6821242887-export declare const x = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","signature":"-7152472870-export declare const y = 10;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./other.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./main.ts","./other.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14918944530-export const x = 10;\n// SomeComment","signature":"-6821242887-export declare const x = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","signature":"-7152472870-export declare const y = 10;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true},"latestChangedDtsFile":"./other.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -567,16 +549,10 @@ Output:: "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./main.ts", - "./other.ts" - ], "latestChangedDtsFile": "./other.d.ts" }, "version": "FakeTSVersion", - "size": 936 + "size": 880 } //// [/user/username/projects/myproject/main.js] @@ -699,7 +675,7 @@ Output:: //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./main.ts","./other.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-16105752451-export const x = 10;\n// SomeComment\n// SomeComment","signature":"-6821242887-export declare const x = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","signature":"-7152472870-export declare const y = 10;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./other.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./main.ts","./other.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-16105752451-export const x = 10;\n// SomeComment\n// SomeComment","signature":"-6821242887-export declare const x = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","signature":"-7152472870-export declare const y = 10;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true},"latestChangedDtsFile":"./other.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -755,16 +731,10 @@ Output:: "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./main.ts", - "./other.ts" - ], "latestChangedDtsFile": "./other.d.ts" }, "version": "FakeTSVersion", - "size": 952 + "size": 896 } //// [/user/username/projects/myproject/main.js] diff --git a/tests/baselines/reference/tscWatch/watchApi/noEmit-with-composite-with-semantic-builder-outFile.js b/tests/baselines/reference/tscWatch/watchApi/noEmit-with-composite-with-semantic-builder-outFile.js new file mode 100644 index 0000000000000..c61c70fc54aae --- /dev/null +++ b/tests/baselines/reference/tscWatch/watchApi/noEmit-with-composite-with-semantic-builder-outFile.js @@ -0,0 +1,694 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Input:: +//// [/user/username/projects/myproject/tsconfig.json] +{ + "compilerOptions": { + "composite": true, + "outFile": "../outFile.js", + "module": "amd" + } +} + +//// [/user/username/projects/myproject/main.ts] +export const x = 10; + +//// [/user/username/projects/myproject/other.ts] +export const y = 10; + +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } + + +tsc --w --noEmit +Output:: +>> Screen clear +[HH:MM:SS AM] Starting compilation in watch mode... + +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + + +PolledWatches:: +/user/username/projects/myproject/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/myproject/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: *new* + {} +/user/username/projects/myproject/main.ts: *new* + {} +/user/username/projects/myproject/other.ts: *new* + {} +/user/username/projects/myproject/tsconfig.json: *new* + {} + +FsWatchesRecursive:: +/user/username/projects/myproject: *new* + {} + +Program root files: [ + "/user/username/projects/myproject/main.ts", + "/user/username/projects/myproject/other.ts" +] +Program options: { + "composite": true, + "outFile": "/user/username/projects/outFile.js", + "module": 2, + "noEmit": true, + "configFilePath": "/user/username/projects/myproject/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/myproject/main.ts +/user/username/projects/myproject/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Checking if output is same as EmitAndSemanticDiagnosticsBuilderProgram:: +Output file text for /user/username/projects/myproject/main.js is same:: true +Output file text for /user/username/projects/myproject/main.d.ts is same:: true +Output file text for /user/username/projects/myproject/other.js is same:: true +Output file text for /user/username/projects/myproject/other.d.ts is same:: true +Output file text for /user/username/projects/myproject/tsconfig.tsbuildinfo is same:: true + +tsc --w +Output:: +>> Screen clear +[HH:MM:SS AM] Starting compilation in watch mode... + +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + +//// [/user/username/projects/outFile.js] +define("main", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.x = void 0; + exports.x = 10; +}); +define("other", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.y = void 0; + exports.y = 10; +}); + + +//// [/user/username/projects/outFile.d.ts] +declare module "main" { + export const x = 10; +} +declare module "other" { + export const y = 10; +} + + +//// [/user/username/projects/outFile.tsbuildinfo] +{"program":{"fileNames":["../../../a/lib/lib.d.ts","./myproject/main.ts","./myproject/other.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","impliedFormat":1},{"version":"-10726455937-export const x = 10;","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"module":2,"outFile":"./outFile.js"},"outSignature":"3483479585-declare module \"main\" {\n export const x = 10;\n}\ndeclare module \"other\" {\n export const y = 10;\n}\n","latestChangedDtsFile":"./outFile.d.ts"},"version":"FakeTSVersion"} + +//// [/user/username/projects/outFile.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../a/lib/lib.d.ts", + "./myproject/main.ts", + "./myproject/other.ts" + ], + "fileInfos": { + "../../../a/lib/lib.d.ts": { + "original": { + "version": "-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }", + "impliedFormat": 1 + }, + "version": "-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }", + "impliedFormat": "commonjs" + }, + "./myproject/main.ts": { + "original": { + "version": "-10726455937-export const x = 10;", + "impliedFormat": 1 + }, + "version": "-10726455937-export const x = 10;", + "impliedFormat": "commonjs" + }, + "./myproject/other.ts": { + "original": { + "version": "-13729955264-export const y = 10;", + "impliedFormat": 1 + }, + "version": "-13729955264-export const y = 10;", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + 2, + "./myproject/main.ts" + ], + [ + 3, + "./myproject/other.ts" + ] + ], + "options": { + "composite": true, + "module": 2, + "outFile": "./outFile.js" + }, + "outSignature": "3483479585-declare module \"main\" {\n export const x = 10;\n}\ndeclare module \"other\" {\n export const y = 10;\n}\n", + "latestChangedDtsFile": "./outFile.d.ts" + }, + "version": "FakeTSVersion", + "size": 921 +} + + +PolledWatches:: +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} *new* +/user/username/projects/myproject/package.json: + {"pollingInterval":2000} *new* +/user/username/projects/node_modules/@types: + {"pollingInterval":500} *new* +/user/username/projects/package.json: + {"pollingInterval":2000} *new* + +PolledWatches *deleted*:: +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/package.json: + {"pollingInterval":2000} +/user/username/projects/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/package.json: + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: + {} *new* +/user/username/projects/myproject/main.ts: + {} *new* +/user/username/projects/myproject/other.ts: + {} *new* +/user/username/projects/myproject/tsconfig.json: + {} *new* + +FsWatches *deleted*:: +/a/lib/lib.d.ts: + {} +/user/username/projects/myproject/main.ts: + {} +/user/username/projects/myproject/other.ts: + {} +/user/username/projects/myproject/tsconfig.json: + {} + +FsWatchesRecursive:: +/user/username/projects/myproject: + {} *new* + +FsWatchesRecursive *deleted*:: +/user/username/projects/myproject: + {} + +Program root files: [ + "/user/username/projects/myproject/main.ts", + "/user/username/projects/myproject/other.ts" +] +Program options: { + "composite": true, + "outFile": "/user/username/projects/outFile.js", + "module": 2, + "configFilePath": "/user/username/projects/myproject/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/myproject/main.ts +/user/username/projects/myproject/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Checking if output is same as EmitAndSemanticDiagnosticsBuilderProgram:: +Output file text for /user/username/projects/myproject/main.js is same:: true +Output file text for /user/username/projects/myproject/main.d.ts is same:: true +Output file text for /user/username/projects/myproject/other.js is same:: true +Output file text for /user/username/projects/myproject/other.d.ts is same:: true +Output file text for /user/username/projects/myproject/tsconfig.tsbuildinfo is same:: true + +Change:: Add comment + +Input:: +//// [/user/username/projects/myproject/main.ts] +export const x = 10; +// SomeComment + + +PolledWatches *deleted*:: +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/package.json: + {"pollingInterval":2000} +/user/username/projects/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/package.json: + {"pollingInterval":2000} + +FsWatches *deleted*:: +/a/lib/lib.d.ts: + {} +/user/username/projects/myproject/main.ts: + {} +/user/username/projects/myproject/other.ts: + {} +/user/username/projects/myproject/tsconfig.json: + {} + +FsWatchesRecursive *deleted*:: +/user/username/projects/myproject: + {} + +tsc --w --noEmit +Output:: +>> Screen clear +[HH:MM:SS AM] Starting compilation in watch mode... + +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + + +PolledWatches:: +/user/username/projects/myproject/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/myproject/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: *new* + {} +/user/username/projects/myproject/main.ts: *new* + {} +/user/username/projects/myproject/other.ts: *new* + {} +/user/username/projects/myproject/tsconfig.json: *new* + {} + +FsWatchesRecursive:: +/user/username/projects/myproject: *new* + {} + +Program root files: [ + "/user/username/projects/myproject/main.ts", + "/user/username/projects/myproject/other.ts" +] +Program options: { + "composite": true, + "outFile": "/user/username/projects/outFile.js", + "module": 2, + "noEmit": true, + "configFilePath": "/user/username/projects/myproject/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/myproject/main.ts +/user/username/projects/myproject/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Checking if output is same as EmitAndSemanticDiagnosticsBuilderProgram:: +Output file text for /user/username/projects/myproject/main.js is same:: true +Output file text for /user/username/projects/myproject/main.d.ts is same:: true +Output file text for /user/username/projects/myproject/other.js is same:: true +Output file text for /user/username/projects/myproject/other.d.ts is same:: true +Output file text for /user/username/projects/myproject/tsconfig.tsbuildinfo is same:: true + +tsc --w +Output:: +>> Screen clear +[HH:MM:SS AM] Starting compilation in watch mode... + +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + +//// [/user/username/projects/outFile.js] +define("main", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.x = void 0; + exports.x = 10; +}); +// SomeComment +define("other", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.y = void 0; + exports.y = 10; +}); + + +//// [/user/username/projects/outFile.tsbuildinfo] +{"program":{"fileNames":["../../../a/lib/lib.d.ts","./myproject/main.ts","./myproject/other.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","impliedFormat":1},{"version":"-14918944530-export const x = 10;\n// SomeComment","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"module":2,"outFile":"./outFile.js"},"outSignature":"3483479585-declare module \"main\" {\n export const x = 10;\n}\ndeclare module \"other\" {\n export const y = 10;\n}\n","latestChangedDtsFile":"./outFile.d.ts"},"version":"FakeTSVersion"} + +//// [/user/username/projects/outFile.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../a/lib/lib.d.ts", + "./myproject/main.ts", + "./myproject/other.ts" + ], + "fileInfos": { + "../../../a/lib/lib.d.ts": { + "original": { + "version": "-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }", + "impliedFormat": 1 + }, + "version": "-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }", + "impliedFormat": "commonjs" + }, + "./myproject/main.ts": { + "original": { + "version": "-14918944530-export const x = 10;\n// SomeComment", + "impliedFormat": 1 + }, + "version": "-14918944530-export const x = 10;\n// SomeComment", + "impliedFormat": "commonjs" + }, + "./myproject/other.ts": { + "original": { + "version": "-13729955264-export const y = 10;", + "impliedFormat": 1 + }, + "version": "-13729955264-export const y = 10;", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + 2, + "./myproject/main.ts" + ], + [ + 3, + "./myproject/other.ts" + ] + ], + "options": { + "composite": true, + "module": 2, + "outFile": "./outFile.js" + }, + "outSignature": "3483479585-declare module \"main\" {\n export const x = 10;\n}\ndeclare module \"other\" {\n export const y = 10;\n}\n", + "latestChangedDtsFile": "./outFile.d.ts" + }, + "version": "FakeTSVersion", + "size": 937 +} + + +PolledWatches:: +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} *new* +/user/username/projects/myproject/package.json: + {"pollingInterval":2000} *new* +/user/username/projects/node_modules/@types: + {"pollingInterval":500} *new* +/user/username/projects/package.json: + {"pollingInterval":2000} *new* + +PolledWatches *deleted*:: +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/package.json: + {"pollingInterval":2000} +/user/username/projects/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/package.json: + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: + {} *new* +/user/username/projects/myproject/main.ts: + {} *new* +/user/username/projects/myproject/other.ts: + {} *new* +/user/username/projects/myproject/tsconfig.json: + {} *new* + +FsWatches *deleted*:: +/a/lib/lib.d.ts: + {} +/user/username/projects/myproject/main.ts: + {} +/user/username/projects/myproject/other.ts: + {} +/user/username/projects/myproject/tsconfig.json: + {} + +FsWatchesRecursive:: +/user/username/projects/myproject: + {} *new* + +FsWatchesRecursive *deleted*:: +/user/username/projects/myproject: + {} + +Program root files: [ + "/user/username/projects/myproject/main.ts", + "/user/username/projects/myproject/other.ts" +] +Program options: { + "composite": true, + "outFile": "/user/username/projects/outFile.js", + "module": 2, + "configFilePath": "/user/username/projects/myproject/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/myproject/main.ts +/user/username/projects/myproject/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Checking if output is same as EmitAndSemanticDiagnosticsBuilderProgram:: +Output file text for /user/username/projects/myproject/main.js is same:: true +Output file text for /user/username/projects/myproject/main.d.ts is same:: true +Output file text for /user/username/projects/myproject/other.js is same:: true +Output file text for /user/username/projects/myproject/other.d.ts is same:: true +Output file text for /user/username/projects/myproject/tsconfig.tsbuildinfo is same:: true + +Change:: Add comment + +Input:: +//// [/user/username/projects/myproject/main.ts] +export const x = 10; +// SomeComment +// SomeComment + + +PolledWatches *deleted*:: +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/package.json: + {"pollingInterval":2000} +/user/username/projects/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/package.json: + {"pollingInterval":2000} + +FsWatches *deleted*:: +/a/lib/lib.d.ts: + {} +/user/username/projects/myproject/main.ts: + {} +/user/username/projects/myproject/other.ts: + {} +/user/username/projects/myproject/tsconfig.json: + {} + +FsWatchesRecursive *deleted*:: +/user/username/projects/myproject: + {} + +tsc --w +Output:: +>> Screen clear +[HH:MM:SS AM] Starting compilation in watch mode... + +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + +//// [/user/username/projects/outFile.js] +define("main", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.x = void 0; + exports.x = 10; +}); +// SomeComment +// SomeComment +define("other", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.y = void 0; + exports.y = 10; +}); + + +//// [/user/username/projects/outFile.tsbuildinfo] +{"program":{"fileNames":["../../../a/lib/lib.d.ts","./myproject/main.ts","./myproject/other.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","impliedFormat":1},{"version":"-16105752451-export const x = 10;\n// SomeComment\n// SomeComment","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"module":2,"outFile":"./outFile.js"},"outSignature":"3483479585-declare module \"main\" {\n export const x = 10;\n}\ndeclare module \"other\" {\n export const y = 10;\n}\n","latestChangedDtsFile":"./outFile.d.ts"},"version":"FakeTSVersion"} + +//// [/user/username/projects/outFile.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../a/lib/lib.d.ts", + "./myproject/main.ts", + "./myproject/other.ts" + ], + "fileInfos": { + "../../../a/lib/lib.d.ts": { + "original": { + "version": "-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }", + "impliedFormat": 1 + }, + "version": "-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }", + "impliedFormat": "commonjs" + }, + "./myproject/main.ts": { + "original": { + "version": "-16105752451-export const x = 10;\n// SomeComment\n// SomeComment", + "impliedFormat": 1 + }, + "version": "-16105752451-export const x = 10;\n// SomeComment\n// SomeComment", + "impliedFormat": "commonjs" + }, + "./myproject/other.ts": { + "original": { + "version": "-13729955264-export const y = 10;", + "impliedFormat": 1 + }, + "version": "-13729955264-export const y = 10;", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + 2, + "./myproject/main.ts" + ], + [ + 3, + "./myproject/other.ts" + ] + ], + "options": { + "composite": true, + "module": 2, + "outFile": "./outFile.js" + }, + "outSignature": "3483479585-declare module \"main\" {\n export const x = 10;\n}\ndeclare module \"other\" {\n export const y = 10;\n}\n", + "latestChangedDtsFile": "./outFile.d.ts" + }, + "version": "FakeTSVersion", + "size": 953 +} + + +PolledWatches:: +/user/username/projects/myproject/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/myproject/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: *new* + {} +/user/username/projects/myproject/main.ts: *new* + {} +/user/username/projects/myproject/other.ts: *new* + {} +/user/username/projects/myproject/tsconfig.json: *new* + {} + +FsWatchesRecursive:: +/user/username/projects/myproject: *new* + {} + +Program root files: [ + "/user/username/projects/myproject/main.ts", + "/user/username/projects/myproject/other.ts" +] +Program options: { + "composite": true, + "outFile": "/user/username/projects/outFile.js", + "module": 2, + "configFilePath": "/user/username/projects/myproject/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/myproject/main.ts +/user/username/projects/myproject/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Checking if output is same as EmitAndSemanticDiagnosticsBuilderProgram:: +Output file text for /user/username/projects/myproject/main.js is same:: true +Output file text for /user/username/projects/myproject/main.d.ts is same:: true +Output file text for /user/username/projects/myproject/other.js is same:: true +Output file text for /user/username/projects/myproject/other.d.ts is same:: true +Output file text for /user/username/projects/myproject/tsconfig.tsbuildinfo is same:: true diff --git a/tests/baselines/reference/tscWatch/watchApi/noEmit-with-composite-with-semantic-builder.js b/tests/baselines/reference/tscWatch/watchApi/noEmit-with-composite-with-semantic-builder.js index 4eddc428936ef..cdfcc4979482d 100644 --- a/tests/baselines/reference/tscWatch/watchApi/noEmit-with-composite-with-semantic-builder.js +++ b/tests/baselines/reference/tscWatch/watchApi/noEmit-with-composite-with-semantic-builder.js @@ -37,7 +37,7 @@ Output:: //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./main.ts","./other.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1}],"root":[2,3],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3],"affectedFilesPendingEmit":[2,3],"emitSignatures":[2,3]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./main.ts","./other.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1}],"root":[2,3],"options":{"composite":true},"affectedFilesPendingEmit":[2,3],"emitSignatures":[2,3]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -91,12 +91,6 @@ Output:: "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./main.ts", - "./other.ts" - ], "affectedFilesPendingEmit": [ [ "./main.ts", @@ -113,7 +107,7 @@ Output:: ] }, "version": "FakeTSVersion", - "size": 824 + "size": 768 } @@ -185,7 +179,7 @@ Output:: //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./main.ts","./other.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","signature":"-6821242887-export declare const x = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","signature":"-7152472870-export declare const y = 10;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./other.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./main.ts","./other.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","signature":"-6821242887-export declare const x = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","signature":"-7152472870-export declare const y = 10;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true},"latestChangedDtsFile":"./other.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -241,16 +235,10 @@ Output:: "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./main.ts", - "./other.ts" - ], "latestChangedDtsFile": "./other.d.ts" }, "version": "FakeTSVersion", - "size": 920 + "size": 864 } //// [/user/username/projects/myproject/main.js] @@ -393,7 +381,7 @@ Output:: //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./main.ts","./other.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14918944530-export const x = 10;\n// SomeComment","signature":"-6821242887-export declare const x = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","signature":"-7152472870-export declare const y = 10;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3],"affectedFilesPendingEmit":[2],"latestChangedDtsFile":"./other.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./main.ts","./other.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14918944530-export const x = 10;\n// SomeComment","signature":"-6821242887-export declare const x = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","signature":"-7152472870-export declare const y = 10;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true},"affectedFilesPendingEmit":[2],"latestChangedDtsFile":"./other.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -449,12 +437,6 @@ Output:: "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./main.ts", - "./other.ts" - ], "affectedFilesPendingEmit": [ [ "./main.ts", @@ -464,7 +446,7 @@ Output:: "latestChangedDtsFile": "./other.d.ts" }, "version": "FakeTSVersion", - "size": 967 + "size": 911 } @@ -532,7 +514,7 @@ Output:: //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./main.ts","./other.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14918944530-export const x = 10;\n// SomeComment","signature":"-6821242887-export declare const x = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","signature":"-7152472870-export declare const y = 10;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./other.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./main.ts","./other.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14918944530-export const x = 10;\n// SomeComment","signature":"-6821242887-export declare const x = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","signature":"-7152472870-export declare const y = 10;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true},"latestChangedDtsFile":"./other.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -588,16 +570,10 @@ Output:: "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./main.ts", - "./other.ts" - ], "latestChangedDtsFile": "./other.d.ts" }, "version": "FakeTSVersion", - "size": 936 + "size": 880 } //// [/user/username/projects/myproject/main.js] @@ -727,7 +703,7 @@ Output:: //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./main.ts","./other.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-16105752451-export const x = 10;\n// SomeComment\n// SomeComment","signature":"-6821242887-export declare const x = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","signature":"-7152472870-export declare const y = 10;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./other.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./main.ts","./other.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-16105752451-export const x = 10;\n// SomeComment\n// SomeComment","signature":"-6821242887-export declare const x = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","signature":"-7152472870-export declare const y = 10;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true},"latestChangedDtsFile":"./other.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -783,16 +759,10 @@ Output:: "options": { "composite": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./main.ts", - "./other.ts" - ], "latestChangedDtsFile": "./other.d.ts" }, "version": "FakeTSVersion", - "size": 952 + "size": 896 } //// [/user/username/projects/myproject/main.js] diff --git a/tests/baselines/reference/tscWatch/watchApi/noEmitOnError-with-composite-with-emit-builder-outFile.js b/tests/baselines/reference/tscWatch/watchApi/noEmitOnError-with-composite-with-emit-builder-outFile.js new file mode 100644 index 0000000000000..ef55f2f72bc9b --- /dev/null +++ b/tests/baselines/reference/tscWatch/watchApi/noEmitOnError-with-composite-with-emit-builder-outFile.js @@ -0,0 +1,359 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Input:: +//// [/user/username/projects/myproject/tsconfig.json] +{ + "compilerOptions": { + "composite": true, + "noEmitOnError": true, + "outFile": "../outFile.js", + "module": "amd" + } +} + +//// [/user/username/projects/myproject/main.ts] +export const x: string = 10; + +//// [/user/username/projects/myproject/other.ts] +export const y = 10; + +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } + + +tsc --w +Output:: +>> Screen clear +[HH:MM:SS AM] Starting compilation in watch mode... + +user/username/projects/myproject/main.ts:1:14 - error TS2322: Type 'number' is not assignable to type 'string'. + +1 export const x: string = 10; +   ~ + +[HH:MM:SS AM] Found 1 error. Watching for file changes. + + + + +PolledWatches:: +/user/username/projects/myproject/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/myproject/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: *new* + {} +/user/username/projects/myproject/main.ts: *new* + {} +/user/username/projects/myproject/other.ts: *new* + {} +/user/username/projects/myproject/tsconfig.json: *new* + {} + +FsWatchesRecursive:: +/user/username/projects/myproject: *new* + {} + +Program root files: [ + "/user/username/projects/myproject/main.ts", + "/user/username/projects/myproject/other.ts" +] +Program options: { + "composite": true, + "noEmitOnError": true, + "outFile": "/user/username/projects/outFile.js", + "module": 2, + "configFilePath": "/user/username/projects/myproject/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/myproject/main.ts +/user/username/projects/myproject/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Change:: Add comment + +Input:: +//// [/user/username/projects/myproject/main.ts] +export const x: string = 10; +// SomeComment + + +PolledWatches *deleted*:: +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/package.json: + {"pollingInterval":2000} +/user/username/projects/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/package.json: + {"pollingInterval":2000} + +FsWatches *deleted*:: +/a/lib/lib.d.ts: + {} +/user/username/projects/myproject/main.ts: + {} +/user/username/projects/myproject/other.ts: + {} +/user/username/projects/myproject/tsconfig.json: + {} + +FsWatchesRecursive *deleted*:: +/user/username/projects/myproject: + {} + +tsc --w +Output:: +>> Screen clear +[HH:MM:SS AM] Starting compilation in watch mode... + +user/username/projects/myproject/main.ts:1:14 - error TS2322: Type 'number' is not assignable to type 'string'. + +1 export const x: string = 10; +   ~ + +[HH:MM:SS AM] Found 1 error. Watching for file changes. + + + + +PolledWatches:: +/user/username/projects/myproject/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/myproject/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: *new* + {} +/user/username/projects/myproject/main.ts: *new* + {} +/user/username/projects/myproject/other.ts: *new* + {} +/user/username/projects/myproject/tsconfig.json: *new* + {} + +FsWatchesRecursive:: +/user/username/projects/myproject: *new* + {} + +Program root files: [ + "/user/username/projects/myproject/main.ts", + "/user/username/projects/myproject/other.ts" +] +Program options: { + "composite": true, + "noEmitOnError": true, + "outFile": "/user/username/projects/outFile.js", + "module": 2, + "configFilePath": "/user/username/projects/myproject/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/myproject/main.ts +/user/username/projects/myproject/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Change:: Fix error + +Input:: +//// [/user/username/projects/myproject/main.ts] +export const x = 10; + + +PolledWatches *deleted*:: +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/package.json: + {"pollingInterval":2000} +/user/username/projects/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/package.json: + {"pollingInterval":2000} + +FsWatches *deleted*:: +/a/lib/lib.d.ts: + {} +/user/username/projects/myproject/main.ts: + {} +/user/username/projects/myproject/other.ts: + {} +/user/username/projects/myproject/tsconfig.json: + {} + +FsWatchesRecursive *deleted*:: +/user/username/projects/myproject: + {} + +tsc --w +Output:: +>> Screen clear +[HH:MM:SS AM] Starting compilation in watch mode... + +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + +//// [/user/username/projects/outFile.js] +define("main", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.x = void 0; + exports.x = 10; +}); +define("other", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.y = void 0; + exports.y = 10; +}); + + +//// [/user/username/projects/outFile.d.ts] +declare module "main" { + export const x = 10; +} +declare module "other" { + export const y = 10; +} + + +//// [/user/username/projects/outFile.tsbuildinfo] +{"program":{"fileNames":["../../../a/lib/lib.d.ts","./myproject/main.ts","./myproject/other.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","impliedFormat":1},{"version":"-10726455937-export const x = 10;","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"module":2,"noEmitOnError":true,"outFile":"./outFile.js"},"outSignature":"3483479585-declare module \"main\" {\n export const x = 10;\n}\ndeclare module \"other\" {\n export const y = 10;\n}\n","latestChangedDtsFile":"./outFile.d.ts"},"version":"FakeTSVersion"} + +//// [/user/username/projects/outFile.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../a/lib/lib.d.ts", + "./myproject/main.ts", + "./myproject/other.ts" + ], + "fileInfos": { + "../../../a/lib/lib.d.ts": { + "original": { + "version": "-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }", + "impliedFormat": 1 + }, + "version": "-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }", + "impliedFormat": "commonjs" + }, + "./myproject/main.ts": { + "original": { + "version": "-10726455937-export const x = 10;", + "impliedFormat": 1 + }, + "version": "-10726455937-export const x = 10;", + "impliedFormat": "commonjs" + }, + "./myproject/other.ts": { + "original": { + "version": "-13729955264-export const y = 10;", + "impliedFormat": 1 + }, + "version": "-13729955264-export const y = 10;", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + 2, + "./myproject/main.ts" + ], + [ + 3, + "./myproject/other.ts" + ] + ], + "options": { + "composite": true, + "module": 2, + "noEmitOnError": true, + "outFile": "./outFile.js" + }, + "outSignature": "3483479585-declare module \"main\" {\n export const x = 10;\n}\ndeclare module \"other\" {\n export const y = 10;\n}\n", + "latestChangedDtsFile": "./outFile.d.ts" + }, + "version": "FakeTSVersion", + "size": 942 +} + + +PolledWatches:: +/user/username/projects/myproject/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/myproject/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: *new* + {} +/user/username/projects/myproject/main.ts: *new* + {} +/user/username/projects/myproject/other.ts: *new* + {} +/user/username/projects/myproject/tsconfig.json: *new* + {} + +FsWatchesRecursive:: +/user/username/projects/myproject: *new* + {} + +Program root files: [ + "/user/username/projects/myproject/main.ts", + "/user/username/projects/myproject/other.ts" +] +Program options: { + "composite": true, + "noEmitOnError": true, + "outFile": "/user/username/projects/outFile.js", + "module": 2, + "configFilePath": "/user/username/projects/myproject/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/myproject/main.ts +/user/username/projects/myproject/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined diff --git a/tests/baselines/reference/tscWatch/watchApi/noEmitOnError-with-composite-with-emit-builder.js b/tests/baselines/reference/tscWatch/watchApi/noEmitOnError-with-composite-with-emit-builder.js index f271088735cc2..f9f9d088f3b3a 100644 --- a/tests/baselines/reference/tscWatch/watchApi/noEmitOnError-with-composite-with-emit-builder.js +++ b/tests/baselines/reference/tscWatch/watchApi/noEmitOnError-with-composite-with-emit-builder.js @@ -43,7 +43,7 @@ Output:: //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./main.ts","./other.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8089124208-export const x: string = 10;","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"noEmitOnError":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,[2,[{"file":"./main.ts","start":13,"length":1,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'string'."}]],3],"affectedFilesPendingEmit":[2,3],"emitSignatures":[2,3]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./main.ts","./other.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8089124208-export const x: string = 10;","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"noEmitOnError":true},"semanticDiagnosticsPerFile":[[2,[{"start":13,"length":1,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'string'."}]]],"affectedFilesPendingEmit":[2,3],"emitSignatures":[2,3]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -98,14 +98,11 @@ Output:: "composite": true, "noEmitOnError": true }, - "referencedMap": {}, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", [ "./main.ts", [ { - "file": "./main.ts", "start": 13, "length": 1, "code": 2322, @@ -113,8 +110,7 @@ Output:: "messageText": "Type 'number' is not assignable to type 'string'." } ] - ], - "./other.ts" + ] ], "affectedFilesPendingEmit": [ [ @@ -132,7 +128,7 @@ Output:: ] }, "version": "FakeTSVersion", - "size": 990 + "size": 948 } @@ -234,7 +230,7 @@ Output:: //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./main.ts","./other.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5691975201-export const x: string = 10;\n// SomeComment","signature":"-10161843860-export declare const x: string;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"noEmitOnError":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,[2,[{"file":"./main.ts","start":13,"length":1,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'string'."}]],3],"affectedFilesPendingEmit":[2,3],"emitSignatures":[2,3]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./main.ts","./other.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5691975201-export const x: string = 10;\n// SomeComment","signature":"-10161843860-export declare const x: string;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"noEmitOnError":true},"semanticDiagnosticsPerFile":[[2,[{"start":13,"length":1,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'string'."}]]],"affectedFilesPendingEmit":[2,3],"emitSignatures":[2,3]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -290,14 +286,11 @@ Output:: "composite": true, "noEmitOnError": true }, - "referencedMap": {}, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", [ "./main.ts", [ { - "file": "./main.ts", "start": 13, "length": 1, "code": 2322, @@ -305,8 +298,7 @@ Output:: "messageText": "Type 'number' is not assignable to type 'string'." } ] - ], - "./other.ts" + ] ], "affectedFilesPendingEmit": [ [ @@ -324,7 +316,7 @@ Output:: ] }, "version": "FakeTSVersion", - "size": 1067 + "size": 1025 } @@ -416,7 +408,7 @@ Output:: //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./main.ts","./other.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","signature":"-6821242887-export declare const x = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","signature":"-7152472870-export declare const y = 10;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"noEmitOnError":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./other.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./main.ts","./other.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","signature":"-6821242887-export declare const x = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","signature":"-7152472870-export declare const y = 10;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"noEmitOnError":true},"latestChangedDtsFile":"./other.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -473,16 +465,10 @@ Output:: "composite": true, "noEmitOnError": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./main.ts", - "./other.ts" - ], "latestChangedDtsFile": "./other.d.ts" }, "version": "FakeTSVersion", - "size": 941 + "size": 885 } //// [/user/username/projects/myproject/main.js] diff --git a/tests/baselines/reference/tscWatch/watchApi/noEmitOnError-with-composite-with-semantic-builder-outFile.js b/tests/baselines/reference/tscWatch/watchApi/noEmitOnError-with-composite-with-semantic-builder-outFile.js new file mode 100644 index 0000000000000..d2b2688750e48 --- /dev/null +++ b/tests/baselines/reference/tscWatch/watchApi/noEmitOnError-with-composite-with-semantic-builder-outFile.js @@ -0,0 +1,380 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Input:: +//// [/user/username/projects/myproject/tsconfig.json] +{ + "compilerOptions": { + "composite": true, + "noEmitOnError": true, + "outFile": "../outFile.js", + "module": "amd" + } +} + +//// [/user/username/projects/myproject/main.ts] +export const x: string = 10; + +//// [/user/username/projects/myproject/other.ts] +export const y = 10; + +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } + + +tsc --w +Output:: +>> Screen clear +[HH:MM:SS AM] Starting compilation in watch mode... + +user/username/projects/myproject/main.ts:1:14 - error TS2322: Type 'number' is not assignable to type 'string'. + +1 export const x: string = 10; +   ~ + +[HH:MM:SS AM] Found 1 error. Watching for file changes. + + + + +PolledWatches:: +/user/username/projects/myproject/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/myproject/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: *new* + {} +/user/username/projects/myproject/main.ts: *new* + {} +/user/username/projects/myproject/other.ts: *new* + {} +/user/username/projects/myproject/tsconfig.json: *new* + {} + +FsWatchesRecursive:: +/user/username/projects/myproject: *new* + {} + +Program root files: [ + "/user/username/projects/myproject/main.ts", + "/user/username/projects/myproject/other.ts" +] +Program options: { + "composite": true, + "noEmitOnError": true, + "outFile": "/user/username/projects/outFile.js", + "module": 2, + "configFilePath": "/user/username/projects/myproject/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/myproject/main.ts +/user/username/projects/myproject/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Checking if output is same as EmitAndSemanticDiagnosticsBuilderProgram:: +Output file text for /user/username/projects/myproject/main.js is same:: true +Output file text for /user/username/projects/myproject/main.d.ts is same:: true +Output file text for /user/username/projects/myproject/other.js is same:: true +Output file text for /user/username/projects/myproject/other.d.ts is same:: true +Output file text for /user/username/projects/myproject/tsconfig.tsbuildinfo is same:: true + +Change:: Add comment + +Input:: +//// [/user/username/projects/myproject/main.ts] +export const x: string = 10; +// SomeComment + + +PolledWatches *deleted*:: +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/package.json: + {"pollingInterval":2000} +/user/username/projects/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/package.json: + {"pollingInterval":2000} + +FsWatches *deleted*:: +/a/lib/lib.d.ts: + {} +/user/username/projects/myproject/main.ts: + {} +/user/username/projects/myproject/other.ts: + {} +/user/username/projects/myproject/tsconfig.json: + {} + +FsWatchesRecursive *deleted*:: +/user/username/projects/myproject: + {} + +tsc --w +Output:: +>> Screen clear +[HH:MM:SS AM] Starting compilation in watch mode... + +user/username/projects/myproject/main.ts:1:14 - error TS2322: Type 'number' is not assignable to type 'string'. + +1 export const x: string = 10; +   ~ + +[HH:MM:SS AM] Found 1 error. Watching for file changes. + + + + +PolledWatches:: +/user/username/projects/myproject/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/myproject/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: *new* + {} +/user/username/projects/myproject/main.ts: *new* + {} +/user/username/projects/myproject/other.ts: *new* + {} +/user/username/projects/myproject/tsconfig.json: *new* + {} + +FsWatchesRecursive:: +/user/username/projects/myproject: *new* + {} + +Program root files: [ + "/user/username/projects/myproject/main.ts", + "/user/username/projects/myproject/other.ts" +] +Program options: { + "composite": true, + "noEmitOnError": true, + "outFile": "/user/username/projects/outFile.js", + "module": 2, + "configFilePath": "/user/username/projects/myproject/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/myproject/main.ts +/user/username/projects/myproject/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Checking if output is same as EmitAndSemanticDiagnosticsBuilderProgram:: +Output file text for /user/username/projects/myproject/main.js is same:: true +Output file text for /user/username/projects/myproject/main.d.ts is same:: true +Output file text for /user/username/projects/myproject/other.js is same:: true +Output file text for /user/username/projects/myproject/other.d.ts is same:: true +Output file text for /user/username/projects/myproject/tsconfig.tsbuildinfo is same:: true + +Change:: Fix error + +Input:: +//// [/user/username/projects/myproject/main.ts] +export const x = 10; + + +PolledWatches *deleted*:: +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/package.json: + {"pollingInterval":2000} +/user/username/projects/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/package.json: + {"pollingInterval":2000} + +FsWatches *deleted*:: +/a/lib/lib.d.ts: + {} +/user/username/projects/myproject/main.ts: + {} +/user/username/projects/myproject/other.ts: + {} +/user/username/projects/myproject/tsconfig.json: + {} + +FsWatchesRecursive *deleted*:: +/user/username/projects/myproject: + {} + +tsc --w +Output:: +>> Screen clear +[HH:MM:SS AM] Starting compilation in watch mode... + +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + +//// [/user/username/projects/outFile.js] +define("main", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.x = void 0; + exports.x = 10; +}); +define("other", ["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.y = void 0; + exports.y = 10; +}); + + +//// [/user/username/projects/outFile.d.ts] +declare module "main" { + export const x = 10; +} +declare module "other" { + export const y = 10; +} + + +//// [/user/username/projects/outFile.tsbuildinfo] +{"program":{"fileNames":["../../../a/lib/lib.d.ts","./myproject/main.ts","./myproject/other.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","impliedFormat":1},{"version":"-10726455937-export const x = 10;","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"module":2,"noEmitOnError":true,"outFile":"./outFile.js"},"outSignature":"3483479585-declare module \"main\" {\n export const x = 10;\n}\ndeclare module \"other\" {\n export const y = 10;\n}\n","latestChangedDtsFile":"./outFile.d.ts"},"version":"FakeTSVersion"} + +//// [/user/username/projects/outFile.tsbuildinfo.readable.baseline.txt] +{ + "program": { + "fileNames": [ + "../../../a/lib/lib.d.ts", + "./myproject/main.ts", + "./myproject/other.ts" + ], + "fileInfos": { + "../../../a/lib/lib.d.ts": { + "original": { + "version": "-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }", + "impliedFormat": 1 + }, + "version": "-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }", + "impliedFormat": "commonjs" + }, + "./myproject/main.ts": { + "original": { + "version": "-10726455937-export const x = 10;", + "impliedFormat": 1 + }, + "version": "-10726455937-export const x = 10;", + "impliedFormat": "commonjs" + }, + "./myproject/other.ts": { + "original": { + "version": "-13729955264-export const y = 10;", + "impliedFormat": 1 + }, + "version": "-13729955264-export const y = 10;", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + 2, + "./myproject/main.ts" + ], + [ + 3, + "./myproject/other.ts" + ] + ], + "options": { + "composite": true, + "module": 2, + "noEmitOnError": true, + "outFile": "./outFile.js" + }, + "outSignature": "3483479585-declare module \"main\" {\n export const x = 10;\n}\ndeclare module \"other\" {\n export const y = 10;\n}\n", + "latestChangedDtsFile": "./outFile.d.ts" + }, + "version": "FakeTSVersion", + "size": 942 +} + + +PolledWatches:: +/user/username/projects/myproject/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/myproject/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: *new* + {} +/user/username/projects/myproject/main.ts: *new* + {} +/user/username/projects/myproject/other.ts: *new* + {} +/user/username/projects/myproject/tsconfig.json: *new* + {} + +FsWatchesRecursive:: +/user/username/projects/myproject: *new* + {} + +Program root files: [ + "/user/username/projects/myproject/main.ts", + "/user/username/projects/myproject/other.ts" +] +Program options: { + "composite": true, + "noEmitOnError": true, + "outFile": "/user/username/projects/outFile.js", + "module": 2, + "configFilePath": "/user/username/projects/myproject/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/myproject/main.ts +/user/username/projects/myproject/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Checking if output is same as EmitAndSemanticDiagnosticsBuilderProgram:: +Output file text for /user/username/projects/myproject/main.js is same:: true +Output file text for /user/username/projects/myproject/main.d.ts is same:: true +Output file text for /user/username/projects/myproject/other.js is same:: true +Output file text for /user/username/projects/myproject/other.d.ts is same:: true +Output file text for /user/username/projects/myproject/tsconfig.tsbuildinfo is same:: true diff --git a/tests/baselines/reference/tscWatch/watchApi/noEmitOnError-with-composite-with-semantic-builder.js b/tests/baselines/reference/tscWatch/watchApi/noEmitOnError-with-composite-with-semantic-builder.js index 8d132b3f85a55..a452ad2dbb5bf 100644 --- a/tests/baselines/reference/tscWatch/watchApi/noEmitOnError-with-composite-with-semantic-builder.js +++ b/tests/baselines/reference/tscWatch/watchApi/noEmitOnError-with-composite-with-semantic-builder.js @@ -43,7 +43,7 @@ Output:: //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./main.ts","./other.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8089124208-export const x: string = 10;","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"noEmitOnError":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,[2,[{"file":"./main.ts","start":13,"length":1,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'string'."}]],3],"affectedFilesPendingEmit":[2,3],"emitSignatures":[2,3]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./main.ts","./other.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8089124208-export const x: string = 10;","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"noEmitOnError":true},"semanticDiagnosticsPerFile":[[2,[{"start":13,"length":1,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'string'."}]]],"affectedFilesPendingEmit":[2,3],"emitSignatures":[2,3]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -98,14 +98,11 @@ Output:: "composite": true, "noEmitOnError": true }, - "referencedMap": {}, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", [ "./main.ts", [ { - "file": "./main.ts", "start": 13, "length": 1, "code": 2322, @@ -113,8 +110,7 @@ Output:: "messageText": "Type 'number' is not assignable to type 'string'." } ] - ], - "./other.ts" + ] ], "affectedFilesPendingEmit": [ [ @@ -132,7 +128,7 @@ Output:: ] }, "version": "FakeTSVersion", - "size": 990 + "size": 948 } @@ -241,7 +237,7 @@ Output:: //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./main.ts","./other.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5691975201-export const x: string = 10;\n// SomeComment","signature":"-10161843860-export declare const x: string;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"noEmitOnError":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,[2,[{"file":"./main.ts","start":13,"length":1,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'string'."}]],3],"affectedFilesPendingEmit":[2,3],"emitSignatures":[2,3]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./main.ts","./other.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5691975201-export const x: string = 10;\n// SomeComment","signature":"-10161843860-export declare const x: string;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"noEmitOnError":true},"semanticDiagnosticsPerFile":[[2,[{"start":13,"length":1,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'string'."}]]],"affectedFilesPendingEmit":[2,3],"emitSignatures":[2,3]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -297,14 +293,11 @@ Output:: "composite": true, "noEmitOnError": true }, - "referencedMap": {}, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", [ "./main.ts", [ { - "file": "./main.ts", "start": 13, "length": 1, "code": 2322, @@ -312,8 +305,7 @@ Output:: "messageText": "Type 'number' is not assignable to type 'string'." } ] - ], - "./other.ts" + ] ], "affectedFilesPendingEmit": [ [ @@ -331,7 +323,7 @@ Output:: ] }, "version": "FakeTSVersion", - "size": 1067 + "size": 1025 } @@ -430,7 +422,7 @@ Output:: //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./main.ts","./other.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","signature":"-6821242887-export declare const x = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","signature":"-7152472870-export declare const y = 10;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"noEmitOnError":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./other.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./main.ts","./other.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","signature":"-6821242887-export declare const x = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","signature":"-7152472870-export declare const y = 10;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"noEmitOnError":true},"latestChangedDtsFile":"./other.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -487,16 +479,10 @@ Output:: "composite": true, "noEmitOnError": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./main.ts", - "./other.ts" - ], "latestChangedDtsFile": "./other.d.ts" }, "version": "FakeTSVersion", - "size": 941 + "size": 885 } //// [/user/username/projects/myproject/main.js] diff --git a/tests/baselines/reference/tscWatch/watchApi/semantic-builder-emitOnlyDts.js b/tests/baselines/reference/tscWatch/watchApi/semantic-builder-emitOnlyDts.js index a76716b953272..ed1d233212e8d 100644 --- a/tests/baselines/reference/tscWatch/watchApi/semantic-builder-emitOnlyDts.js +++ b/tests/baselines/reference/tscWatch/watchApi/semantic-builder-emitOnlyDts.js @@ -43,7 +43,7 @@ Output:: //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./main.ts","./other.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8089124208-export const x: string = 10;","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"noEmitOnError":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,[2,[{"file":"./main.ts","start":13,"length":1,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'string'."}]],3],"affectedFilesPendingEmit":[2,3],"emitSignatures":[2,3]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./main.ts","./other.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8089124208-export const x: string = 10;","impliedFormat":1},{"version":"-13729955264-export const y = 10;","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"noEmitOnError":true},"semanticDiagnosticsPerFile":[[2,[{"start":13,"length":1,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'string'."}]]],"affectedFilesPendingEmit":[2,3],"emitSignatures":[2,3]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -98,14 +98,11 @@ Output:: "composite": true, "noEmitOnError": true }, - "referencedMap": {}, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", [ "./main.ts", [ { - "file": "./main.ts", "start": 13, "length": 1, "code": 2322, @@ -113,8 +110,7 @@ Output:: "messageText": "Type 'number' is not assignable to type 'string'." } ] - ], - "./other.ts" + ] ], "affectedFilesPendingEmit": [ [ @@ -132,7 +128,7 @@ Output:: ] }, "version": "FakeTSVersion", - "size": 990 + "size": 948 } @@ -227,7 +223,7 @@ Output:: //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./main.ts","./other.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","signature":"-6821242887-export declare const x = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","signature":"-7152472870-export declare const y = 10;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"noEmitOnError":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3],"affectedFilesPendingEmit":[[2,1],[3,1]],"latestChangedDtsFile":"./other.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./main.ts","./other.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","signature":"-6821242887-export declare const x = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","signature":"-7152472870-export declare const y = 10;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"noEmitOnError":true},"affectedFilesPendingEmit":[[2,1],[3,1]],"latestChangedDtsFile":"./other.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -284,12 +280,6 @@ Output:: "composite": true, "noEmitOnError": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./main.ts", - "./other.ts" - ], "affectedFilesPendingEmit": [ [ [ @@ -307,7 +297,7 @@ Output:: "latestChangedDtsFile": "./other.d.ts" }, "version": "FakeTSVersion", - "size": 982 + "size": 926 } //// [/user/username/projects/myproject/main.d.ts] diff --git a/tests/baselines/reference/tscWatch/watchApi/verifies-that-noEmit-is-handled-on-createSemanticDiagnosticsBuilderProgram.js b/tests/baselines/reference/tscWatch/watchApi/verifies-that-noEmit-is-handled-on-createSemanticDiagnosticsBuilderProgram.js index 46ca0a85d6e96..08a5177e97598 100644 --- a/tests/baselines/reference/tscWatch/watchApi/verifies-that-noEmit-is-handled-on-createSemanticDiagnosticsBuilderProgram.js +++ b/tests/baselines/reference/tscWatch/watchApi/verifies-that-noEmit-is-handled-on-createSemanticDiagnosticsBuilderProgram.js @@ -97,6 +97,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/watchApi/verifies-that-noEmit-is-handled-on-createSemanticDiagnosticsBuilderProgramwith-outFile.js b/tests/baselines/reference/tscWatch/watchApi/verifies-that-noEmit-is-handled-on-createSemanticDiagnosticsBuilderProgramwith-outFile.js new file mode 100644 index 0000000000000..e77ecb6236f2e --- /dev/null +++ b/tests/baselines/reference/tscWatch/watchApi/verifies-that-noEmit-is-handled-on-createSemanticDiagnosticsBuilderProgramwith-outFile.js @@ -0,0 +1,128 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Input:: +//// [/user/username/projects/myproject/tsconfig.json] +{} + +//// [/user/username/projects/myproject/main.ts] +export const x = 10; + +//// [/user/username/projects/myproject/other.ts] +export const y = 10; + +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } + + +/a/lib/tsc.js --w --p /user/username/projects/myproject/tsconfig.json +Output:: +>> Screen clear +[HH:MM:SS AM] Starting compilation in watch mode... + +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + + +PolledWatches:: +/user/username/projects/myproject/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/myproject/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: *new* + {} +/user/username/projects/myproject/main.ts: *new* + {} +/user/username/projects/myproject/other.ts: *new* + {} +/user/username/projects/myproject/tsconfig.json: *new* + {} + +FsWatchesRecursive:: +/user/username/projects/myproject: *new* + {} + +Program root files: [ + "/user/username/projects/myproject/main.ts", + "/user/username/projects/myproject/other.ts" +] +Program options: { + "noEmit": true, + "outFile": "../outFile.js", + "module": 2, + "configFilePath": "/user/username/projects/myproject/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/myproject/main.ts +/user/username/projects/myproject/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined + +Change:: Modify a file + +Input:: +//// [/user/username/projects/myproject/main.ts] +export const x = 10; +// SomeComment + + +Timeout callback:: count: 1 +1: timerToUpdateProgram *new* + +Before running Timeout callback:: count: 1 +1: timerToUpdateProgram + +Host is moving to new time +After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + + + +Program root files: [ + "/user/username/projects/myproject/main.ts", + "/user/username/projects/myproject/other.ts" +] +Program options: { + "noEmit": true, + "outFile": "../outFile.js", + "module": 2, + "configFilePath": "/user/username/projects/myproject/tsconfig.json" +} +Program structureReused: Completely +Program files:: +/a/lib/lib.d.ts +/user/username/projects/myproject/main.ts +/user/username/projects/myproject/other.ts + +No cached semantic diagnostics in the builder:: + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined diff --git a/tests/baselines/reference/tscWatch/watchApi/when-emitting-with-emitOnlyDtsFiles-with-outFile.js b/tests/baselines/reference/tscWatch/watchApi/when-emitting-with-emitOnlyDtsFiles-with-outFile.js index a22599265310c..aea7090229f64 100644 --- a/tests/baselines/reference/tscWatch/watchApi/when-emitting-with-emitOnlyDtsFiles-with-outFile.js +++ b/tests/baselines/reference/tscWatch/watchApi/when-emitting-with-emitOnlyDtsFiles-with-outFile.js @@ -126,6 +126,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program diff --git a/tests/baselines/reference/tscWatch/watchApi/when-emitting-with-emitOnlyDtsFiles.js b/tests/baselines/reference/tscWatch/watchApi/when-emitting-with-emitOnlyDtsFiles.js index 14e34a4cf3d8c..5cfaefde03cf5 100644 --- a/tests/baselines/reference/tscWatch/watchApi/when-emitting-with-emitOnlyDtsFiles.js +++ b/tests/baselines/reference/tscWatch/watchApi/when-emitting-with-emitOnlyDtsFiles.js @@ -62,7 +62,7 @@ Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","impliedFormat":1},{"version":"-11268290852-export const y: 10 = 20;","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"module":2,"noEmitOnError":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,[3,[{"file":"./b.ts","start":13,"length":1,"code":2322,"category":1,"messageText":"Type '20' is not assignable to type '10'."}]]],"affectedFilesPendingEmit":[2,3],"emitSignatures":[2,3]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","impliedFormat":1},{"version":"-11268290852-export const y: 10 = 20;","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"module":2,"noEmitOnError":true},"semanticDiagnosticsPerFile":[[3,[{"start":13,"length":1,"code":2322,"category":1,"messageText":"Type '20' is not assignable to type '10'."}]]],"affectedFilesPendingEmit":[2,3],"emitSignatures":[2,3]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -118,15 +118,11 @@ Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node "module": 2, "noEmitOnError": true }, - "referencedMap": {}, "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", [ "./b.ts", [ { - "file": "./b.ts", "start": 13, "length": 1, "code": 2322, @@ -152,7 +148,7 @@ Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node ] }, "version": "FakeTSVersion", - "size": 980 + "size": 941 } @@ -224,6 +220,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -235,7 +232,7 @@ CreatingProgramWith:: //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","signature":"-6821242887-export declare const x = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","signature":"-7152472870-export declare const y = 10;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"module":2,"noEmitOnError":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3],"affectedFilesPendingEmit":[[2,1],[3,1]],"latestChangedDtsFile":"./b.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","signature":"-6821242887-export declare const x = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","signature":"-7152472870-export declare const y = 10;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"module":2,"noEmitOnError":true},"affectedFilesPendingEmit":[[2,1],[3,1]],"latestChangedDtsFile":"./b.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -293,12 +290,6 @@ CreatingProgramWith:: "module": 2, "noEmitOnError": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.ts" - ], "affectedFilesPendingEmit": [ [ [ @@ -316,7 +307,7 @@ CreatingProgramWith:: "latestChangedDtsFile": "./b.d.ts" }, "version": "FakeTSVersion", - "size": 982 + "size": 926 } //// [/user/username/projects/myproject/a.d.ts] @@ -369,7 +360,7 @@ Change:: Emit all files Input:: //// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","signature":"-6821242887-export declare const x = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","signature":"-7152472870-export declare const y = 10;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"module":2,"noEmitOnError":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./b.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","signature":"-6821242887-export declare const x = 10;\n","impliedFormat":1},{"version":"-13729955264-export const y = 10;","signature":"-7152472870-export declare const y = 10;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"module":2,"noEmitOnError":true},"latestChangedDtsFile":"./b.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -427,16 +418,10 @@ Input:: "module": 2, "noEmitOnError": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../a/lib/lib.d.ts", - "./a.ts", - "./b.ts" - ], "latestChangedDtsFile": "./b.d.ts" }, "version": "FakeTSVersion", - "size": 941 + "size": 885 } //// [/user/username/projects/myproject/a.js] diff --git a/tests/baselines/reference/tscWatch/watchApi/when-new-file-is-added-to-the-referenced-project-with-host-implementing-getParsedCommandLine-without-implementing-useSourceOfProjectReferenceRedirect.js b/tests/baselines/reference/tscWatch/watchApi/when-new-file-is-added-to-the-referenced-project-with-host-implementing-getParsedCommandLine-without-implementing-useSourceOfProjectReferenceRedirect.js index 55722f2832093..c79276bb5e974 100644 --- a/tests/baselines/reference/tscWatch/watchApi/when-new-file-is-added-to-the-referenced-project-with-host-implementing-getParsedCommandLine-without-implementing-useSourceOfProjectReferenceRedirect.js +++ b/tests/baselines/reference/tscWatch/watchApi/when-new-file-is-added-to-the-referenced-project-with-host-implementing-getParsedCommandLine-without-implementing-useSourceOfProjectReferenceRedirect.js @@ -93,7 +93,7 @@ declare class class2 { //// [/user/username/projects/myproject/projects/project2/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../project1/class1.d.ts","./class2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3469237238-declare class class1 {}","affectsGlobalScope":true,"impliedFormat":1},{"version":"777969115-class class2 {}","signature":"-2684084705-declare class class2 {\n}\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[3],"options":{"composite":true,"module":0},"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./class2.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../project1/class1.d.ts","./class2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3469237238-declare class class1 {}","affectsGlobalScope":true,"impliedFormat":1},{"version":"777969115-class class2 {}","signature":"-2684084705-declare class class2 {\n}\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[3],"options":{"composite":true,"module":0},"latestChangedDtsFile":"./class2.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/projects/project2/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -149,15 +149,10 @@ declare class class2 { "composite": true, "module": 0 }, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "../project1/class1.d.ts", - "./class2.ts" - ], "latestChangedDtsFile": "./class2.d.ts" }, "version": "FakeTSVersion", - "size": 918 + "size": 881 } @@ -235,6 +230,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -371,6 +367,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -387,7 +384,7 @@ FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/projects/proj //// [/user/username/projects/myproject/projects/project2/class2.js] file written with same contents //// [/user/username/projects/myproject/projects/project2/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../project1/class1.d.ts","../project1/class3.d.ts","./class2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3469237238-declare class class1 {}","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3469165364-declare class class3 {}","affectsGlobalScope":true,"impliedFormat":1},{"version":"777969115-class class2 {}","signature":"-2684084705-declare class class2 {\n}\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[4],"options":{"composite":true,"module":0},"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./class2.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../project1/class1.d.ts","../project1/class3.d.ts","./class2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3469237238-declare class class1 {}","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3469165364-declare class class3 {}","affectsGlobalScope":true,"impliedFormat":1},{"version":"777969115-class class2 {}","signature":"-2684084705-declare class class2 {\n}\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[4],"options":{"composite":true,"module":0},"latestChangedDtsFile":"./class2.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/projects/project2/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -455,16 +452,10 @@ FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/projects/proj "composite": true, "module": 0 }, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "../project1/class1.d.ts", - "../project1/class3.d.ts", - "./class2.ts" - ], "latestChangedDtsFile": "./class2.d.ts" }, "version": "FakeTSVersion", - "size": 1040 + "size": 1001 } @@ -567,6 +558,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -597,7 +589,7 @@ FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/projects/proj //// [/user/username/projects/myproject/projects/project2/class2.js] file written with same contents //// [/user/username/projects/myproject/projects/project2/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../project1/class1.d.ts","./class2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3469237238-declare class class1 {}","affectsGlobalScope":true,"impliedFormat":1},{"version":"777969115-class class2 {}","signature":"-2684084705-declare class class2 {\n}\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[3],"options":{"composite":true,"module":0},"semanticDiagnosticsPerFile":[1],"latestChangedDtsFile":"./class2.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../project1/class1.d.ts","./class2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3469237238-declare class class1 {}","affectsGlobalScope":true,"impliedFormat":1},{"version":"777969115-class class2 {}","signature":"-2684084705-declare class class2 {\n}\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[3],"options":{"composite":true,"module":0},"semanticDiagnosticsPerFile":[2,3],"latestChangedDtsFile":"./class2.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/projects/project2/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -654,12 +646,19 @@ FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/projects/proj "module": 0 }, "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts" + [ + "../project1/class1.d.ts", + "not cached or not changed" + ], + [ + "./class2.ts", + "not cached or not changed" + ] ], "latestChangedDtsFile": "./class2.d.ts" }, "version": "FakeTSVersion", - "size": 914 + "size": 916 } @@ -778,6 +777,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 4: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -794,7 +794,7 @@ FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/projects/proj //// [/user/username/projects/myproject/projects/project2/class2.js] file written with same contents //// [/user/username/projects/myproject/projects/project2/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../project1/class1.d.ts","../project1/class3.d.ts","./class2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3469237238-declare class class1 {}","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3469165364-declare class class3 {}","affectsGlobalScope":true,"impliedFormat":1},{"version":"777969115-class class2 {}","signature":"-2684084705-declare class class2 {\n}\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[4],"options":{"composite":true,"module":0},"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./class2.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../project1/class1.d.ts","../project1/class3.d.ts","./class2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3469237238-declare class class1 {}","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3469165364-declare class class3 {}","affectsGlobalScope":true,"impliedFormat":1},{"version":"777969115-class class2 {}","signature":"-2684084705-declare class class2 {\n}\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[4],"options":{"composite":true,"module":0},"latestChangedDtsFile":"./class2.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/projects/project2/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -862,16 +862,10 @@ FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/projects/proj "composite": true, "module": 0 }, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "../project1/class1.d.ts", - "../project1/class3.d.ts", - "./class2.ts" - ], "latestChangedDtsFile": "./class2.d.ts" }, "version": "FakeTSVersion", - "size": 1040 + "size": 1001 } diff --git a/tests/baselines/reference/tscWatch/watchApi/when-new-file-is-added-to-the-referenced-project-with-host-implementing-getParsedCommandLine.js b/tests/baselines/reference/tscWatch/watchApi/when-new-file-is-added-to-the-referenced-project-with-host-implementing-getParsedCommandLine.js index 07188b8d65f4e..3ae23e9064c56 100644 --- a/tests/baselines/reference/tscWatch/watchApi/when-new-file-is-added-to-the-referenced-project-with-host-implementing-getParsedCommandLine.js +++ b/tests/baselines/reference/tscWatch/watchApi/when-new-file-is-added-to-the-referenced-project-with-host-implementing-getParsedCommandLine.js @@ -93,7 +93,7 @@ declare class class2 { //// [/user/username/projects/myproject/projects/project2/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../project1/class1.ts","./class2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"777933178-class class1 {}","affectsGlobalScope":true,"impliedFormat":1},{"version":"777969115-class class2 {}","signature":"-2684084705-declare class class2 {\n}\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[3],"options":{"composite":true,"module":0},"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./class2.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../project1/class1.ts","./class2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"777933178-class class1 {}","affectsGlobalScope":true,"impliedFormat":1},{"version":"777969115-class class2 {}","signature":"-2684084705-declare class class2 {\n}\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[3],"options":{"composite":true,"module":0},"latestChangedDtsFile":"./class2.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/projects/project2/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -149,15 +149,10 @@ declare class class2 { "composite": true, "module": 0 }, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "../project1/class1.ts", - "./class2.ts" - ], "latestChangedDtsFile": "./class2.d.ts" }, "version": "FakeTSVersion", - "size": 906 + "size": 869 } @@ -235,6 +230,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -252,7 +248,7 @@ FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/projects/proj //// [/user/username/projects/myproject/projects/project2/class2.js] file written with same contents //// [/user/username/projects/myproject/projects/project2/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../project1/class1.ts","../project1/class3.ts","./class2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"777933178-class class1 {}","signature":"-2723220098-declare class class1 {\n}\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"778005052-class class3 {}","signature":"-2644949312-declare class class3 {\n}\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"777969115-class class2 {}","signature":"-2684084705-declare class class2 {\n}\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[4],"options":{"composite":true,"module":0},"semanticDiagnosticsPerFile":[1,2,3,4],"latestChangedDtsFile":"./class2.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../project1/class1.ts","../project1/class3.ts","./class2.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"777933178-class class1 {}","signature":"-2723220098-declare class class1 {\n}\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"778005052-class class3 {}","signature":"-2644949312-declare class class3 {\n}\n","affectsGlobalScope":true,"impliedFormat":1},{"version":"777969115-class class2 {}","signature":"-2684084705-declare class class2 {\n}\n","affectsGlobalScope":true,"impliedFormat":1}],"root":[4],"options":{"composite":true,"module":0},"latestChangedDtsFile":"./class2.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/projects/project2/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -322,16 +318,10 @@ FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/projects/proj "composite": true, "module": 0 }, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "../project1/class1.ts", - "../project1/class3.ts", - "./class2.ts" - ], "latestChangedDtsFile": "./class2.d.ts" }, "version": "FakeTSVersion", - "size": 1124 + "size": 1085 } diff --git a/tests/baselines/reference/tscWatch/watchApi/when-watching-referenced-project-when-there-is-no-config-file-name.js b/tests/baselines/reference/tscWatch/watchApi/when-watching-referenced-project-when-there-is-no-config-file-name.js index 61d398866bfb0..90b27c61dc2e2 100644 --- a/tests/baselines/reference/tscWatch/watchApi/when-watching-referenced-project-when-there-is-no-config-file-name.js +++ b/tests/baselines/reference/tscWatch/watchApi/when-watching-referenced-project-when-there-is-no-config-file-name.js @@ -169,6 +169,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program diff --git a/tests/baselines/reference/tscWatch/watchApi/when-watching-referenced-project-with-extends-when-there-is-no-config-file-name.js b/tests/baselines/reference/tscWatch/watchApi/when-watching-referenced-project-with-extends-when-there-is-no-config-file-name.js index 94be84123d12a..0d79d32fa397a 100644 --- a/tests/baselines/reference/tscWatch/watchApi/when-watching-referenced-project-with-extends-when-there-is-no-config-file-name.js +++ b/tests/baselines/reference/tscWatch/watchApi/when-watching-referenced-project-with-extends-when-there-is-no-config-file-name.js @@ -170,6 +170,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -229,6 +230,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program diff --git a/tests/baselines/reference/tscWatch/watchEnvironment/fsEvent-for-change-is-repeated.js b/tests/baselines/reference/tscWatch/watchEnvironment/fsEvent-for-change-is-repeated.js index 0a26a6f557b8b..1c7e620def773 100644 --- a/tests/baselines/reference/tscWatch/watchEnvironment/fsEvent-for-change-is-repeated.js +++ b/tests/baselines/reference/tscWatch/watchEnvironment/fsEvent-for-change-is-repeated.js @@ -94,6 +94,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -149,6 +150,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -177,6 +179,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -230,6 +233,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 4: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program diff --git a/tests/baselines/reference/tscWatch/watchEnvironment/fsWatch/fsWatchWithTimestamp-false-useFsEventsOnParentDirectory.js b/tests/baselines/reference/tscWatch/watchEnvironment/fsWatch/fsWatchWithTimestamp-false-useFsEventsOnParentDirectory.js index 8b45debc8c8c4..ae9ea513c1cf6 100644 --- a/tests/baselines/reference/tscWatch/watchEnvironment/fsWatch/fsWatchWithTimestamp-false-useFsEventsOnParentDirectory.js +++ b/tests/baselines/reference/tscWatch/watchEnvironment/fsWatch/fsWatchWithTimestamp-false-useFsEventsOnParentDirectory.js @@ -107,6 +107,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -135,6 +136,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program diff --git a/tests/baselines/reference/tscWatch/watchEnvironment/fsWatch/fsWatchWithTimestamp-false.js b/tests/baselines/reference/tscWatch/watchEnvironment/fsWatch/fsWatchWithTimestamp-false.js index cc418e1d9a177..db85665f51d4e 100644 --- a/tests/baselines/reference/tscWatch/watchEnvironment/fsWatch/fsWatchWithTimestamp-false.js +++ b/tests/baselines/reference/tscWatch/watchEnvironment/fsWatch/fsWatchWithTimestamp-false.js @@ -111,6 +111,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -139,6 +140,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program diff --git a/tests/baselines/reference/tscWatch/watchEnvironment/fsWatch/fsWatchWithTimestamp-true-useFsEventsOnParentDirectory.js b/tests/baselines/reference/tscWatch/watchEnvironment/fsWatch/fsWatchWithTimestamp-true-useFsEventsOnParentDirectory.js index a22c4e370ec0c..2d653dc81efda 100644 --- a/tests/baselines/reference/tscWatch/watchEnvironment/fsWatch/fsWatchWithTimestamp-true-useFsEventsOnParentDirectory.js +++ b/tests/baselines/reference/tscWatch/watchEnvironment/fsWatch/fsWatchWithTimestamp-true-useFsEventsOnParentDirectory.js @@ -121,6 +121,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program diff --git a/tests/baselines/reference/tscWatch/watchEnvironment/fsWatch/fsWatchWithTimestamp-true.js b/tests/baselines/reference/tscWatch/watchEnvironment/fsWatch/fsWatchWithTimestamp-true.js index bd3252a8f11d0..d72e50127f98b 100644 --- a/tests/baselines/reference/tscWatch/watchEnvironment/fsWatch/fsWatchWithTimestamp-true.js +++ b/tests/baselines/reference/tscWatch/watchEnvironment/fsWatch/fsWatchWithTimestamp-true.js @@ -125,6 +125,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program diff --git a/tests/baselines/reference/tscWatch/watchEnvironment/fsWatch/when-using-file-watching-thats-on-inode-when-rename-event-ends-with-tilde.js b/tests/baselines/reference/tscWatch/watchEnvironment/fsWatch/when-using-file-watching-thats-on-inode-when-rename-event-ends-with-tilde.js index 9f1f4c66f9f69..33a7d7eeff2b9 100644 --- a/tests/baselines/reference/tscWatch/watchEnvironment/fsWatch/when-using-file-watching-thats-on-inode-when-rename-event-ends-with-tilde.js +++ b/tests/baselines/reference/tscWatch/watchEnvironment/fsWatch/when-using-file-watching-thats-on-inode-when-rename-event-ends-with-tilde.js @@ -189,6 +189,7 @@ Before running Timeout callback:: count: 2 7: timerToUpdateProgram 9: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -316,6 +317,7 @@ Before running Timeout callback:: count: 2 16: timerToUpdateProgram 18: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program diff --git a/tests/baselines/reference/tscWatch/watchEnvironment/fsWatch/when-using-file-watching-thats-on-inode-when-rename-occurs-when-file-is-still-on-the-disk.js b/tests/baselines/reference/tscWatch/watchEnvironment/fsWatch/when-using-file-watching-thats-on-inode-when-rename-occurs-when-file-is-still-on-the-disk.js index 285ebc3c77463..4d1c5617a9cff 100644 --- a/tests/baselines/reference/tscWatch/watchEnvironment/fsWatch/when-using-file-watching-thats-on-inode-when-rename-occurs-when-file-is-still-on-the-disk.js +++ b/tests/baselines/reference/tscWatch/watchEnvironment/fsWatch/when-using-file-watching-thats-on-inode-when-rename-occurs-when-file-is-still-on-the-disk.js @@ -158,6 +158,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -261,6 +262,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 4: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program diff --git a/tests/baselines/reference/tscWatch/watchEnvironment/fsWatch/when-using-file-watching-thats-on-inode.js b/tests/baselines/reference/tscWatch/watchEnvironment/fsWatch/when-using-file-watching-thats-on-inode.js index d5869f18b0fd9..6d2b3d432c225 100644 --- a/tests/baselines/reference/tscWatch/watchEnvironment/fsWatch/when-using-file-watching-thats-on-inode.js +++ b/tests/baselines/reference/tscWatch/watchEnvironment/fsWatch/when-using-file-watching-thats-on-inode.js @@ -177,6 +177,7 @@ Before running Timeout callback:: count: 2 4: timerToUpdateProgram 5: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -292,6 +293,7 @@ Before running Timeout callback:: count: 2 9: timerToUpdateProgram 10: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program diff --git a/tests/baselines/reference/tscWatch/watchEnvironment/fsWatch/when-using-file-watching-thats-when-rename-occurs-when-file-is-still-on-the-disk.js b/tests/baselines/reference/tscWatch/watchEnvironment/fsWatch/when-using-file-watching-thats-when-rename-occurs-when-file-is-still-on-the-disk.js index 6936caa08e4da..a9249fc442b0d 100644 --- a/tests/baselines/reference/tscWatch/watchEnvironment/fsWatch/when-using-file-watching-thats-when-rename-occurs-when-file-is-still-on-the-disk.js +++ b/tests/baselines/reference/tscWatch/watchEnvironment/fsWatch/when-using-file-watching-thats-when-rename-occurs-when-file-is-still-on-the-disk.js @@ -133,6 +133,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program @@ -206,6 +207,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Synchronizing program diff --git a/tests/baselines/reference/tscWatch/watchEnvironment/watchDirectories/uses-non-recursive-dynamic-polling-when-renaming-file-in-subfolder.js b/tests/baselines/reference/tscWatch/watchEnvironment/watchDirectories/uses-non-recursive-dynamic-polling-when-renaming-file-in-subfolder.js index 0115577c172d0..b7a2a3e4ea436 100644 --- a/tests/baselines/reference/tscWatch/watchEnvironment/watchDirectories/uses-non-recursive-dynamic-polling-when-renaming-file-in-subfolder.js +++ b/tests/baselines/reference/tscWatch/watchEnvironment/watchDirectories/uses-non-recursive-dynamic-polling-when-renaming-file-in-subfolder.js @@ -118,6 +118,7 @@ Before running Timeout callback:: count: 3 4: pollLowPollingIntervalQueue 5: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 3 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/watchEnvironment/watchDirectories/uses-non-recursive-watchDirectory-when-renaming-file-in-subfolder.js b/tests/baselines/reference/tscWatch/watchEnvironment/watchDirectories/uses-non-recursive-watchDirectory-when-renaming-file-in-subfolder.js index 838d80a9d89ee..2e020e226664e 100644 --- a/tests/baselines/reference/tscWatch/watchEnvironment/watchDirectories/uses-non-recursive-watchDirectory-when-renaming-file-in-subfolder.js +++ b/tests/baselines/reference/tscWatch/watchEnvironment/watchDirectories/uses-non-recursive-watchDirectory-when-renaming-file-in-subfolder.js @@ -114,6 +114,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/watchEnvironment/watchDirectories/uses-watchFile-when-renaming-file-in-subfolder.js b/tests/baselines/reference/tscWatch/watchEnvironment/watchDirectories/uses-watchFile-when-renaming-file-in-subfolder.js index 3a4bc98d81478..48e62b898285b 100644 --- a/tests/baselines/reference/tscWatch/watchEnvironment/watchDirectories/uses-watchFile-when-renaming-file-in-subfolder.js +++ b/tests/baselines/reference/tscWatch/watchEnvironment/watchDirectories/uses-watchFile-when-renaming-file-in-subfolder.js @@ -114,6 +114,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 1 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/watchEnvironment/watchDirectories/when-there-are-symlinks-to-folders-in-recursive-folders-with-synchronousWatchDirectory.js b/tests/baselines/reference/tscWatch/watchEnvironment/watchDirectories/when-there-are-symlinks-to-folders-in-recursive-folders-with-synchronousWatchDirectory.js index 7fc9dd9894540..1ecf9d7590b84 100644 --- a/tests/baselines/reference/tscWatch/watchEnvironment/watchDirectories/when-there-are-symlinks-to-folders-in-recursive-folders-with-synchronousWatchDirectory.js +++ b/tests/baselines/reference/tscWatch/watchEnvironment/watchDirectories/when-there-are-symlinks-to-folders-in-recursive-folders-with-synchronousWatchDirectory.js @@ -260,6 +260,7 @@ Before running Timeout callback:: count: 2 5: timerToInvalidateFailedLookupResolutions 6: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Reloading new file names and options diff --git a/tests/baselines/reference/tscWatch/watchEnvironment/watchDirectories/when-there-are-symlinks-to-folders-in-recursive-folders.js b/tests/baselines/reference/tscWatch/watchEnvironment/watchDirectories/when-there-are-symlinks-to-folders-in-recursive-folders.js index 1e7b235330019..9e4b1966fcebf 100644 --- a/tests/baselines/reference/tscWatch/watchEnvironment/watchDirectories/when-there-are-symlinks-to-folders-in-recursive-folders.js +++ b/tests/baselines/reference/tscWatch/watchEnvironment/watchDirectories/when-there-are-symlinks-to-folders-in-recursive-folders.js @@ -244,6 +244,7 @@ Before running Timeout callback:: count: 2 2: timerToUpdateProgram 4: timerToUpdateChildWatches +Host is moving to new time After running Timeout callback:: count: 2 Output:: Synchronizing program @@ -421,6 +422,7 @@ Before running Timeout callback:: count: 2 7: timerToInvalidateFailedLookupResolutions 9: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 1 Output:: Scheduling update @@ -441,6 +443,7 @@ Input:: Before running Timeout callback:: count: 1 10: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: Reloading new file names and options diff --git a/tests/baselines/reference/tscWatch/watchEnvironment/watchDirectories/with-non-synchronous-watch-directory-renaming-a-file.js b/tests/baselines/reference/tscWatch/watchEnvironment/watchDirectories/with-non-synchronous-watch-directory-renaming-a-file.js index ae2bb8b20725f..4c6fa60c0f04d 100644 --- a/tests/baselines/reference/tscWatch/watchEnvironment/watchDirectories/with-non-synchronous-watch-directory-renaming-a-file.js +++ b/tests/baselines/reference/tscWatch/watchEnvironment/watchDirectories/with-non-synchronous-watch-directory-renaming-a-file.js @@ -253,6 +253,7 @@ Before running Timeout callback:: count: 2 5: timerToUpdateProgram 7: timerToInvalidateFailedLookupResolutions +Host is moving to new time After running Timeout callback:: count: 1 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/watchEnvironment/watchDirectories/with-non-synchronous-watch-directory-with-outDir-and-declaration-enabled.js b/tests/baselines/reference/tscWatch/watchEnvironment/watchDirectories/with-non-synchronous-watch-directory-with-outDir-and-declaration-enabled.js index 4b5d37234520d..1966c5b20c3a6 100644 --- a/tests/baselines/reference/tscWatch/watchEnvironment/watchDirectories/with-non-synchronous-watch-directory-with-outDir-and-declaration-enabled.js +++ b/tests/baselines/reference/tscWatch/watchEnvironment/watchDirectories/with-non-synchronous-watch-directory-with-outDir-and-declaration-enabled.js @@ -131,6 +131,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 1: timerToUpdateChildWatches +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -148,6 +149,7 @@ Before running Timeout callback:: count: 2 2: timerToInvalidateFailedLookupResolutions 3: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 1 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/watchEnvironment/watchDirectories/with-non-synchronous-watch-directory.js b/tests/baselines/reference/tscWatch/watchEnvironment/watchDirectories/with-non-synchronous-watch-directory.js index 5fbca4e8619af..dde3f5d9d41e5 100644 --- a/tests/baselines/reference/tscWatch/watchEnvironment/watchDirectories/with-non-synchronous-watch-directory.js +++ b/tests/baselines/reference/tscWatch/watchEnvironment/watchDirectories/with-non-synchronous-watch-directory.js @@ -175,6 +175,7 @@ Before running Timeout callback:: count: 3 9: timerToUpdateChildWatches Invoking Timeout callback:: timeoutId:: 8:: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 1 Output:: >> Screen clear @@ -270,6 +271,7 @@ Before running Timeout callback:: count: 2 11: timerToInvalidateFailedLookupResolutions 12: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -279,6 +281,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 13: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear @@ -436,6 +439,7 @@ Before running Timeout callback:: count: 2 18: timerToInvalidateFailedLookupResolutions 19: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -452,6 +456,7 @@ Input:: Before running Timeout callback:: count: 1 20: timerToUpdateProgram +Host is moving to new time After running Timeout callback:: count: 0 Output:: >> Screen clear diff --git a/tests/baselines/reference/tscWatch/watchEnvironment/watchFile/using-dynamic-priority-polling.js b/tests/baselines/reference/tscWatch/watchEnvironment/watchFile/using-dynamic-priority-polling.js index 11dda622e8cfe..01990cd2db99f 100644 --- a/tests/baselines/reference/tscWatch/watchEnvironment/watchFile/using-dynamic-priority-polling.js +++ b/tests/baselines/reference/tscWatch/watchEnvironment/watchFile/using-dynamic-priority-polling.js @@ -70,6 +70,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: pollLowPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -78,6 +79,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: pollLowPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -86,6 +88,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 4: pollLowPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -94,6 +97,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 5: pollLowPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -102,6 +106,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 6: pollLowPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -110,6 +115,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 7: pollLowPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -118,6 +124,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 8: pollLowPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -126,6 +133,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 9: pollLowPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -134,6 +142,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 10: pollLowPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -142,6 +151,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 11: pollLowPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -150,6 +160,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 12: pollLowPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -158,6 +169,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 13: pollLowPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -166,6 +178,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 14: pollLowPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -174,6 +187,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 15: pollLowPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -182,6 +196,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 16: pollLowPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -190,6 +205,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 17: pollLowPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -198,6 +214,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 18: pollLowPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -206,6 +223,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 19: pollLowPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -214,6 +232,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 20: pollLowPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -222,6 +241,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 21: pollLowPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -230,6 +250,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 22: pollLowPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -238,6 +259,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 23: pollLowPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -246,6 +268,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 24: pollLowPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -254,6 +277,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 25: pollLowPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -262,6 +286,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 26: pollLowPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -270,6 +295,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 27: pollLowPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -278,6 +304,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 28: pollLowPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -286,6 +313,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 29: pollLowPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -294,6 +322,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 30: pollLowPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -302,6 +331,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 31: pollLowPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -310,6 +340,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 32: pollLowPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -318,6 +349,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 33: pollLowPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -326,6 +358,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 34: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -334,6 +367,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 35: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -342,6 +376,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 36: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -350,6 +385,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 37: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -358,6 +394,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 38: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -366,6 +403,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 39: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -374,6 +412,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 40: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -382,6 +421,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 41: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -390,6 +430,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 42: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -398,6 +439,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 43: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -406,6 +448,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 44: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -414,6 +457,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 45: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -422,6 +466,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 46: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -430,6 +475,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 47: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -438,6 +484,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 48: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -446,6 +493,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 49: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -454,6 +502,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 50: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -462,6 +511,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 51: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -470,6 +520,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 52: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -478,6 +529,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 53: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -486,6 +538,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 54: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -494,6 +547,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 55: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -502,6 +556,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 56: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -510,6 +565,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 57: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -518,6 +574,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 58: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -526,6 +583,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 59: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -534,6 +592,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 60: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -542,6 +601,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 61: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -550,6 +610,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 62: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -558,6 +619,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 63: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -566,6 +628,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 64: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -603,6 +666,7 @@ Before running Timeout callback:: count: 3 67: pollLowPollingIntervalQueue 68: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Output:: >> Screen clear @@ -650,6 +714,8 @@ Before running Timeout callback:: count: 2 69: pollLowPollingIntervalQueue 70: pollPollingIntervalQueue +Host is moving to new time +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -660,6 +726,7 @@ Before running Timeout callback:: count: 2 71: pollLowPollingIntervalQueue 72: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -670,6 +737,7 @@ Before running Timeout callback:: count: 2 73: pollLowPollingIntervalQueue 74: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -680,6 +748,7 @@ Before running Timeout callback:: count: 2 75: pollLowPollingIntervalQueue 76: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -690,6 +759,7 @@ Before running Timeout callback:: count: 2 77: pollLowPollingIntervalQueue 78: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -700,6 +770,7 @@ Before running Timeout callback:: count: 2 79: pollLowPollingIntervalQueue 80: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -710,6 +781,7 @@ Before running Timeout callback:: count: 2 81: pollLowPollingIntervalQueue 82: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -720,6 +792,7 @@ Before running Timeout callback:: count: 2 83: pollLowPollingIntervalQueue 84: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -730,6 +803,7 @@ Before running Timeout callback:: count: 2 85: pollLowPollingIntervalQueue 86: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -740,6 +814,7 @@ Before running Timeout callback:: count: 2 87: pollLowPollingIntervalQueue 88: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -750,6 +825,7 @@ Before running Timeout callback:: count: 2 89: pollLowPollingIntervalQueue 90: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -760,6 +836,7 @@ Before running Timeout callback:: count: 2 91: pollLowPollingIntervalQueue 92: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -770,6 +847,7 @@ Before running Timeout callback:: count: 2 93: pollLowPollingIntervalQueue 94: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -780,6 +858,7 @@ Before running Timeout callback:: count: 2 95: pollLowPollingIntervalQueue 96: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -790,6 +869,7 @@ Before running Timeout callback:: count: 2 97: pollLowPollingIntervalQueue 98: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -800,6 +880,7 @@ Before running Timeout callback:: count: 2 99: pollLowPollingIntervalQueue 100: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -810,6 +891,7 @@ Before running Timeout callback:: count: 2 101: pollLowPollingIntervalQueue 102: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -820,6 +902,7 @@ Before running Timeout callback:: count: 2 103: pollLowPollingIntervalQueue 104: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -830,6 +913,7 @@ Before running Timeout callback:: count: 2 105: pollLowPollingIntervalQueue 106: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -840,6 +924,7 @@ Before running Timeout callback:: count: 2 107: pollLowPollingIntervalQueue 108: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -850,6 +935,7 @@ Before running Timeout callback:: count: 2 109: pollLowPollingIntervalQueue 110: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -860,6 +946,7 @@ Before running Timeout callback:: count: 2 111: pollLowPollingIntervalQueue 112: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -870,6 +957,7 @@ Before running Timeout callback:: count: 2 113: pollLowPollingIntervalQueue 114: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -880,6 +968,7 @@ Before running Timeout callback:: count: 2 115: pollLowPollingIntervalQueue 116: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -890,6 +979,7 @@ Before running Timeout callback:: count: 2 117: pollLowPollingIntervalQueue 118: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -900,6 +990,7 @@ Before running Timeout callback:: count: 2 119: pollLowPollingIntervalQueue 120: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -910,6 +1001,7 @@ Before running Timeout callback:: count: 2 121: pollLowPollingIntervalQueue 122: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -920,6 +1012,7 @@ Before running Timeout callback:: count: 2 123: pollLowPollingIntervalQueue 124: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -930,6 +1023,7 @@ Before running Timeout callback:: count: 2 125: pollLowPollingIntervalQueue 126: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -940,6 +1034,7 @@ Before running Timeout callback:: count: 2 127: pollLowPollingIntervalQueue 128: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -950,6 +1045,7 @@ Before running Timeout callback:: count: 2 129: pollLowPollingIntervalQueue 130: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -960,6 +1056,7 @@ Before running Timeout callback:: count: 2 131: pollLowPollingIntervalQueue 132: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -970,6 +1067,7 @@ Before running Timeout callback:: count: 2 133: pollLowPollingIntervalQueue 134: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -980,6 +1078,7 @@ Before running Timeout callback:: count: 2 135: pollLowPollingIntervalQueue 136: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -990,6 +1089,7 @@ Before running Timeout callback:: count: 2 137: pollLowPollingIntervalQueue 138: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1000,6 +1100,7 @@ Before running Timeout callback:: count: 2 139: pollLowPollingIntervalQueue 140: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1010,6 +1111,7 @@ Before running Timeout callback:: count: 2 141: pollLowPollingIntervalQueue 142: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1020,6 +1122,7 @@ Before running Timeout callback:: count: 2 143: pollLowPollingIntervalQueue 144: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1030,6 +1133,7 @@ Before running Timeout callback:: count: 2 145: pollLowPollingIntervalQueue 146: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1040,6 +1144,7 @@ Before running Timeout callback:: count: 2 147: pollLowPollingIntervalQueue 148: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1050,6 +1155,7 @@ Before running Timeout callback:: count: 2 149: pollLowPollingIntervalQueue 150: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1060,6 +1166,7 @@ Before running Timeout callback:: count: 2 151: pollLowPollingIntervalQueue 152: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1070,6 +1177,7 @@ Before running Timeout callback:: count: 2 153: pollLowPollingIntervalQueue 154: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1080,6 +1188,7 @@ Before running Timeout callback:: count: 2 155: pollLowPollingIntervalQueue 156: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1090,6 +1199,7 @@ Before running Timeout callback:: count: 2 157: pollLowPollingIntervalQueue 158: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1100,6 +1210,7 @@ Before running Timeout callback:: count: 2 159: pollLowPollingIntervalQueue 160: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1110,6 +1221,7 @@ Before running Timeout callback:: count: 2 161: pollLowPollingIntervalQueue 162: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1120,6 +1232,7 @@ Before running Timeout callback:: count: 2 163: pollLowPollingIntervalQueue 164: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1130,6 +1243,7 @@ Before running Timeout callback:: count: 2 165: pollLowPollingIntervalQueue 166: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1140,6 +1254,7 @@ Before running Timeout callback:: count: 2 167: pollLowPollingIntervalQueue 168: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1150,6 +1265,7 @@ Before running Timeout callback:: count: 2 169: pollLowPollingIntervalQueue 170: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1160,6 +1276,7 @@ Before running Timeout callback:: count: 2 171: pollLowPollingIntervalQueue 172: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1170,6 +1287,7 @@ Before running Timeout callback:: count: 2 173: pollLowPollingIntervalQueue 174: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1180,6 +1298,7 @@ Before running Timeout callback:: count: 2 175: pollLowPollingIntervalQueue 176: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1190,6 +1309,7 @@ Before running Timeout callback:: count: 2 177: pollLowPollingIntervalQueue 178: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1200,6 +1320,7 @@ Before running Timeout callback:: count: 2 179: pollLowPollingIntervalQueue 180: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1210,6 +1331,7 @@ Before running Timeout callback:: count: 2 181: pollLowPollingIntervalQueue 182: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1220,6 +1342,7 @@ Before running Timeout callback:: count: 2 183: pollLowPollingIntervalQueue 184: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1230,6 +1353,7 @@ Before running Timeout callback:: count: 2 185: pollLowPollingIntervalQueue 186: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1240,6 +1364,7 @@ Before running Timeout callback:: count: 2 187: pollLowPollingIntervalQueue 188: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1250,6 +1375,7 @@ Before running Timeout callback:: count: 2 189: pollLowPollingIntervalQueue 190: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1260,6 +1386,7 @@ Before running Timeout callback:: count: 2 191: pollLowPollingIntervalQueue 192: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1270,6 +1397,7 @@ Before running Timeout callback:: count: 2 193: pollLowPollingIntervalQueue 194: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1280,6 +1408,7 @@ Before running Timeout callback:: count: 2 195: pollPollingIntervalQueue 196: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1290,6 +1419,7 @@ Before running Timeout callback:: count: 2 197: pollPollingIntervalQueue 198: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1300,6 +1430,7 @@ Before running Timeout callback:: count: 2 199: pollPollingIntervalQueue 200: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1310,6 +1441,7 @@ Before running Timeout callback:: count: 2 201: pollPollingIntervalQueue 202: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1320,6 +1452,7 @@ Before running Timeout callback:: count: 2 203: pollPollingIntervalQueue 204: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1330,6 +1463,7 @@ Before running Timeout callback:: count: 2 205: pollPollingIntervalQueue 206: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1340,6 +1474,7 @@ Before running Timeout callback:: count: 2 207: pollPollingIntervalQueue 208: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1350,6 +1485,7 @@ Before running Timeout callback:: count: 2 209: pollPollingIntervalQueue 210: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1360,6 +1496,7 @@ Before running Timeout callback:: count: 2 211: pollPollingIntervalQueue 212: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1370,6 +1507,7 @@ Before running Timeout callback:: count: 2 213: pollPollingIntervalQueue 214: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1380,6 +1518,7 @@ Before running Timeout callback:: count: 2 215: pollPollingIntervalQueue 216: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1390,6 +1529,7 @@ Before running Timeout callback:: count: 2 217: pollPollingIntervalQueue 218: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1400,6 +1540,7 @@ Before running Timeout callback:: count: 2 219: pollPollingIntervalQueue 220: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1410,6 +1551,7 @@ Before running Timeout callback:: count: 2 221: pollPollingIntervalQueue 222: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1420,6 +1562,7 @@ Before running Timeout callback:: count: 2 223: pollPollingIntervalQueue 224: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1430,6 +1573,7 @@ Before running Timeout callback:: count: 2 225: pollPollingIntervalQueue 226: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1440,6 +1584,7 @@ Before running Timeout callback:: count: 2 227: pollPollingIntervalQueue 228: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1450,6 +1595,7 @@ Before running Timeout callback:: count: 2 229: pollPollingIntervalQueue 230: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1460,6 +1606,7 @@ Before running Timeout callback:: count: 2 231: pollPollingIntervalQueue 232: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1470,6 +1617,7 @@ Before running Timeout callback:: count: 2 233: pollPollingIntervalQueue 234: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1480,6 +1628,7 @@ Before running Timeout callback:: count: 2 235: pollPollingIntervalQueue 236: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1490,6 +1639,7 @@ Before running Timeout callback:: count: 2 237: pollPollingIntervalQueue 238: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1500,6 +1650,7 @@ Before running Timeout callback:: count: 2 239: pollPollingIntervalQueue 240: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1510,6 +1661,7 @@ Before running Timeout callback:: count: 2 241: pollPollingIntervalQueue 242: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1520,6 +1672,7 @@ Before running Timeout callback:: count: 2 243: pollPollingIntervalQueue 244: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1530,6 +1683,7 @@ Before running Timeout callback:: count: 2 245: pollPollingIntervalQueue 246: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1540,6 +1694,7 @@ Before running Timeout callback:: count: 2 247: pollPollingIntervalQueue 248: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1550,6 +1705,7 @@ Before running Timeout callback:: count: 2 249: pollPollingIntervalQueue 250: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1560,6 +1716,7 @@ Before running Timeout callback:: count: 2 251: pollPollingIntervalQueue 252: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1570,6 +1727,7 @@ Before running Timeout callback:: count: 2 253: pollPollingIntervalQueue 254: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1580,6 +1738,7 @@ Before running Timeout callback:: count: 2 255: pollPollingIntervalQueue 256: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -1590,6 +1749,7 @@ Before running Timeout callback:: count: 2 257: pollPollingIntervalQueue 258: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -1598,6 +1758,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 259: pollPollingIntervalQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 diff --git a/tests/baselines/reference/tscWatch/watchEnvironment/watchFile/using-fixed-chunk-size-polling.js b/tests/baselines/reference/tscWatch/watchEnvironment/watchFile/using-fixed-chunk-size-polling.js index a2b1f2358c468..03f79f3cd7cc5 100644 --- a/tests/baselines/reference/tscWatch/watchEnvironment/watchFile/using-fixed-chunk-size-polling.js +++ b/tests/baselines/reference/tscWatch/watchEnvironment/watchFile/using-fixed-chunk-size-polling.js @@ -94,6 +94,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 2: pollQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -102,6 +103,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 3: pollQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -110,6 +112,7 @@ Timeout callback:: count: 1 Before running Timeout callback:: count: 1 4: pollQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 @@ -145,6 +148,7 @@ Before running Timeout callback:: count: 2 6: timerToUpdateProgram 7: pollQueue +Host is moving to new time After running Timeout callback:: count: 1 Output:: >> Screen clear @@ -197,6 +201,7 @@ Input:: Before running Timeout callback:: count: 1 8: pollQueue +Host is moving to new time After running Timeout callback:: count: 1 Timeout callback:: count: 1 diff --git a/tests/baselines/reference/tslibMissingHelper.errors.txt b/tests/baselines/reference/tslibMissingHelper.errors.txt new file mode 100644 index 0000000000000..114311a80fa7f --- /dev/null +++ b/tests/baselines/reference/tslibMissingHelper.errors.txt @@ -0,0 +1,36 @@ +/package1/index.ts(2,16): error TS2343: This syntax requires an imported helper named '__awaiter' which does not exist in 'tslib'. Consider upgrading your version of 'tslib'. + + +==== /tsconfig.json (0 errors) ==== + { + "compilerOptions": { + "strict": true, + "target": "ES2016", + "importHelpers": true, + "module": "commonjs", + } + } + +==== /package1/index.ts (1 errors) ==== + export {}; + async function foo(): Promise {} + ~~~ +!!! error TS2343: This syntax requires an imported helper named '__awaiter' which does not exist in 'tslib'. Consider upgrading your version of 'tslib'. + async function bar(): Promise {} + +==== /package2/index.ts (0 errors) ==== + export {}; + async function foo(): Promise {} + +==== /node_modules/tslib/package.json (0 errors) ==== + { + "name": "tslib", + "main": "tslib.js", + "typings": "tslib.d.ts" + } + +==== /node_modules/tslib/tslib.d.ts (0 errors) ==== + export const notAHelper: any; + +==== /node_modules/tslib/tslib.js (0 errors) ==== + module.exports.notAHelper = 3; \ No newline at end of file diff --git a/tests/baselines/reference/tslibMissingHelper.js b/tests/baselines/reference/tslibMissingHelper.js new file mode 100644 index 0000000000000..d75b73508b398 --- /dev/null +++ b/tests/baselines/reference/tslibMissingHelper.js @@ -0,0 +1,41 @@ +//// [tests/cases/compiler/tslibMissingHelper.ts] //// + +//// [package.json] +{ + "name": "tslib", + "main": "tslib.js", + "typings": "tslib.d.ts" +} + +//// [tslib.d.ts] +export const notAHelper: any; + +//// [tslib.js] +module.exports.notAHelper = 3; +//// [index.ts] +export {}; +async function foo(): Promise {} +async function bar(): Promise {} + +//// [index.ts] +export {}; +async function foo(): Promise {} + + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const tslib_1 = require("tslib"); +function foo() { + return tslib_1.__awaiter(this, void 0, void 0, function* () { }); +} +function bar() { + return tslib_1.__awaiter(this, void 0, void 0, function* () { }); +} +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const tslib_1 = require("tslib"); +function foo() { + return tslib_1.__awaiter(this, void 0, void 0, function* () { }); +} diff --git a/tests/baselines/reference/tslibMissingHelper.symbols b/tests/baselines/reference/tslibMissingHelper.symbols new file mode 100644 index 0000000000000..032ff48ad61e3 --- /dev/null +++ b/tests/baselines/reference/tslibMissingHelper.symbols @@ -0,0 +1,22 @@ +//// [tests/cases/compiler/tslibMissingHelper.ts] //// + +=== /package1/index.ts === +export {}; +async function foo(): Promise {} +>foo : Symbol(foo, Decl(index.ts, 0, 10)) +>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, --, --)) + +async function bar(): Promise {} +>bar : Symbol(bar, Decl(index.ts, 1, 38)) +>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, --, --)) + +=== /package2/index.ts === +export {}; +async function foo(): Promise {} +>foo : Symbol(foo, Decl(index.ts, 0, 10)) +>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, --, --)) + +=== /node_modules/tslib/tslib.d.ts === +export const notAHelper: any; +>notAHelper : Symbol(notAHelper, Decl(tslib.d.ts, --, --)) + diff --git a/tests/baselines/reference/tslibMissingHelper.types b/tests/baselines/reference/tslibMissingHelper.types new file mode 100644 index 0000000000000..ddd96fe0bbfcb --- /dev/null +++ b/tests/baselines/reference/tslibMissingHelper.types @@ -0,0 +1,23 @@ +//// [tests/cases/compiler/tslibMissingHelper.ts] //// + +=== /package1/index.ts === +export {}; +async function foo(): Promise {} +>foo : () => Promise +> : ^^^^^^ + +async function bar(): Promise {} +>bar : () => Promise +> : ^^^^^^ + +=== /package2/index.ts === +export {}; +async function foo(): Promise {} +>foo : () => Promise +> : ^^^^^^ + +=== /node_modules/tslib/tslib.d.ts === +export const notAHelper: any; +>notAHelper : any +> : ^^^ + diff --git a/tests/baselines/reference/tslibMultipleMissingHelper.errors.txt b/tests/baselines/reference/tslibMultipleMissingHelper.errors.txt new file mode 100644 index 0000000000000..c3c969e5188ff --- /dev/null +++ b/tests/baselines/reference/tslibMultipleMissingHelper.errors.txt @@ -0,0 +1,62 @@ +/package1/index.ts(2,16): error TS2343: This syntax requires an imported helper named '__awaiter' which does not exist in 'tslib'. Consider upgrading your version of 'tslib'. +/package1/other.ts(3,32): error TS2343: This syntax requires an imported helper named '__rest' which does not exist in 'tslib'. Consider upgrading your version of 'tslib'. +/package2/index.ts(2,16): error TS2343: This syntax requires an imported helper named '__awaiter' which does not exist in 'tslib'. Consider upgrading your version of 'tslib'. + + +==== /tsconfig.json (0 errors) ==== + { + "compilerOptions": { + "strict": true, + "target": "ES2016", + "importHelpers": true, + "module": "commonjs", + } + } + +==== /package1/index.ts (1 errors) ==== + export {}; + async function foo(): Promise {} + ~~~ +!!! error TS2343: This syntax requires an imported helper named '__awaiter' which does not exist in 'tslib'. Consider upgrading your version of 'tslib'. + async function bar(): Promise {} + +==== /package1/other.ts (1 errors) ==== + export {}; + export async function noop(): Promise {} + export function spread({ a, ...rest }: { a: number, b: number}) { + ~~~~ +!!! error TS2343: This syntax requires an imported helper named '__rest' which does not exist in 'tslib'. Consider upgrading your version of 'tslib'. + return { c: "c", ...rest }; + } + +==== /package2/index.ts (1 errors) ==== + export {}; + async function foo(): Promise {} + ~~~ +!!! error TS2343: This syntax requires an imported helper named '__awaiter' which does not exist in 'tslib'. Consider upgrading your version of 'tslib'. + +==== /package1/node_modules/tslib/package.json (0 errors) ==== + { + "name": "tslib", + "main": "tslib.js", + "typings": "tslib.d.ts" + } + +==== /package1/node_modules/tslib/tslib.d.ts (0 errors) ==== + export const notAHelper: any; + +==== /package1/node_modules/tslib/tslib.js (0 errors) ==== + module.exports.notAHelper = 3; + +==== /package2/node_modules/tslib/package.json (0 errors) ==== + { + "name": "tslib", + "main": "tslib.js", + "typings": "tslib.d.ts" + } + +==== /package2/node_modules/tslib/tslib.d.ts (0 errors) ==== + export const notAHelper: any; + +==== /package2/node_modules/tslib/tslib.js (0 errors) ==== + module.exports.notAHelper = 3; \ No newline at end of file diff --git a/tests/baselines/reference/tslibMultipleMissingHelper.js b/tests/baselines/reference/tslibMultipleMissingHelper.js new file mode 100644 index 0000000000000..ab72a88548539 --- /dev/null +++ b/tests/baselines/reference/tslibMultipleMissingHelper.js @@ -0,0 +1,74 @@ +//// [tests/cases/compiler/tslibMultipleMissingHelper.ts] //// + +//// [package.json] +{ + "name": "tslib", + "main": "tslib.js", + "typings": "tslib.d.ts" +} + +//// [tslib.d.ts] +export const notAHelper: any; + +//// [tslib.js] +module.exports.notAHelper = 3; + +//// [package.json] +{ + "name": "tslib", + "main": "tslib.js", + "typings": "tslib.d.ts" +} + +//// [tslib.d.ts] +export const notAHelper: any; + +//// [tslib.js] +module.exports.notAHelper = 3; +//// [index.ts] +export {}; +async function foo(): Promise {} +async function bar(): Promise {} + +//// [other.ts] +export {}; +export async function noop(): Promise {} +export function spread({ a, ...rest }: { a: number, b: number}) { + return { c: "c", ...rest }; +} + +//// [index.ts] +export {}; +async function foo(): Promise {} + + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const tslib_1 = require("tslib"); +function foo() { + return tslib_1.__awaiter(this, void 0, void 0, function* () { }); +} +function bar() { + return tslib_1.__awaiter(this, void 0, void 0, function* () { }); +} +//// [other.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.noop = noop; +exports.spread = spread; +const tslib_1 = require("tslib"); +function noop() { + return tslib_1.__awaiter(this, void 0, void 0, function* () { }); +} +function spread(_a) { + var { a } = _a, rest = tslib_1.__rest(_a, ["a"]); + return Object.assign({ c: "c" }, rest); +} +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const tslib_1 = require("tslib"); +function foo() { + return tslib_1.__awaiter(this, void 0, void 0, function* () { }); +} diff --git a/tests/baselines/reference/tslibMultipleMissingHelper.symbols b/tests/baselines/reference/tslibMultipleMissingHelper.symbols new file mode 100644 index 0000000000000..d7bc24ba130cd --- /dev/null +++ b/tests/baselines/reference/tslibMultipleMissingHelper.symbols @@ -0,0 +1,44 @@ +//// [tests/cases/compiler/tslibMultipleMissingHelper.ts] //// + +=== /package1/index.ts === +export {}; +async function foo(): Promise {} +>foo : Symbol(foo, Decl(index.ts, 0, 10)) +>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, --, --)) + +async function bar(): Promise {} +>bar : Symbol(bar, Decl(index.ts, 1, 38)) +>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, --, --)) + +=== /package1/other.ts === +export {}; +export async function noop(): Promise {} +>noop : Symbol(noop, Decl(other.ts, 0, 10)) +>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, --, --)) + +export function spread({ a, ...rest }: { a: number, b: number}) { +>spread : Symbol(spread, Decl(other.ts, 1, 46)) +>a : Symbol(a, Decl(other.ts, 2, 24)) +>rest : Symbol(rest, Decl(other.ts, 2, 27)) +>a : Symbol(a, Decl(other.ts, 2, 40)) +>b : Symbol(b, Decl(other.ts, 2, 51)) + + return { c: "c", ...rest }; +>c : Symbol(c, Decl(other.ts, 3, 12)) +>rest : Symbol(rest, Decl(other.ts, 2, 27)) +} + +=== /package2/index.ts === +export {}; +async function foo(): Promise {} +>foo : Symbol(foo, Decl(index.ts, 0, 10)) +>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, --, --)) + +=== /package1/node_modules/tslib/tslib.d.ts === +export const notAHelper: any; +>notAHelper : Symbol(notAHelper, Decl(tslib.d.ts, --, --)) + +=== /package2/node_modules/tslib/tslib.d.ts === +export const notAHelper: any; +>notAHelper : Symbol(notAHelper, Decl(tslib.d.ts, --, --)) + diff --git a/tests/baselines/reference/tslibMultipleMissingHelper.types b/tests/baselines/reference/tslibMultipleMissingHelper.types new file mode 100644 index 0000000000000..2146d4ada811f --- /dev/null +++ b/tests/baselines/reference/tslibMultipleMissingHelper.types @@ -0,0 +1,57 @@ +//// [tests/cases/compiler/tslibMultipleMissingHelper.ts] //// + +=== /package1/index.ts === +export {}; +async function foo(): Promise {} +>foo : () => Promise +> : ^^^^^^ + +async function bar(): Promise {} +>bar : () => Promise +> : ^^^^^^ + +=== /package1/other.ts === +export {}; +export async function noop(): Promise {} +>noop : () => Promise +> : ^^^^^^ + +export function spread({ a, ...rest }: { a: number, b: number}) { +>spread : ({ a, ...rest }: { a: number; b: number; }) => { b: number; c: string; } +> : ^ ^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^ +>a : number +> : ^^^^^^ +>rest : { b: number; } +> : ^^^^^ ^^^ +>a : number +> : ^^^^^^ +>b : number +> : ^^^^^^ + + return { c: "c", ...rest }; +>{ c: "c", ...rest } : { b: number; c: string; } +> : ^^^^^ ^^^^^^^^^^^^^^ +>c : string +> : ^^^^^^ +>"c" : "c" +> : ^^^ +>rest : { b: number; } +> : ^^^^^ ^^^ +} + +=== /package2/index.ts === +export {}; +async function foo(): Promise {} +>foo : () => Promise +> : ^^^^^^ + +=== /package1/node_modules/tslib/tslib.d.ts === +export const notAHelper: any; +>notAHelper : any +> : ^^^ + +=== /package2/node_modules/tslib/tslib.d.ts === +export const notAHelper: any; +>notAHelper : any +> : ^^^ + diff --git a/tests/baselines/reference/tslibNotFoundDifferentModules.errors.txt b/tests/baselines/reference/tslibNotFoundDifferentModules.errors.txt new file mode 100644 index 0000000000000..d940afde05f81 --- /dev/null +++ b/tests/baselines/reference/tslibNotFoundDifferentModules.errors.txt @@ -0,0 +1,52 @@ +/package2/index.ts(2,16): error TS2354: This syntax requires an imported helper but module 'tslib' cannot be found. + + +==== /tsconfig.json (0 errors) ==== + { + "compilerOptions": { + "strict": true, + "target": "ES2016", + "importHelpers": true, + "module": "commonjs", + } + } + +==== /package1/index.ts (0 errors) ==== + export {}; + async function foo(): Promise {} + async function bar(): Promise {} + +==== /package2/index.ts (1 errors) ==== + export {}; + async function foo(): Promise {} + ~~~ +!!! error TS2354: This syntax requires an imported helper but module 'tslib' cannot be found. +==== /package1/node_modules/tslib/package.json (0 errors) ==== + { + "name": "tslib", + "main": "tslib.js", + "typings": "tslib.d.ts" + } + +==== /package1/node_modules/tslib/tslib.d.ts (0 errors) ==== + /** + * Converts a generator function into a pseudo-async function, by treating each `yield` as an `await`. + * + * @param thisArg The reference to use as the `this` value in the generator function + * @param _arguments The optional arguments array + * @param P The optional promise constructor argument, defaults to the `Promise` property of the global object. + * @param generator The generator function + */ + export declare function __awaiter(thisArg: any, _arguments: any, P: Function, generator: Function): any; + +==== /package1/node_modules/tslib/tslib.js (0 errors) ==== + module.exports.__awaiter = function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; + \ No newline at end of file diff --git a/tests/baselines/reference/tslibNotFoundDifferentModules.js b/tests/baselines/reference/tslibNotFoundDifferentModules.js new file mode 100644 index 0000000000000..653b6029e906b --- /dev/null +++ b/tests/baselines/reference/tslibNotFoundDifferentModules.js @@ -0,0 +1,57 @@ +//// [tests/cases/compiler/tslibNotFoundDifferentModules.ts] //// + +//// [package.json] +{ + "name": "tslib", + "main": "tslib.js", + "typings": "tslib.d.ts" +} + +//// [tslib.d.ts] +/** + * Converts a generator function into a pseudo-async function, by treating each `yield` as an `await`. + * + * @param thisArg The reference to use as the `this` value in the generator function + * @param _arguments The optional arguments array + * @param P The optional promise constructor argument, defaults to the `Promise` property of the global object. + * @param generator The generator function + */ +export declare function __awaiter(thisArg: any, _arguments: any, P: Function, generator: Function): any; + +//// [tslib.js] +module.exports.__awaiter = function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; + +//// [index.ts] +export {}; +async function foo(): Promise {} +async function bar(): Promise {} + +//// [index.ts] +export {}; +async function foo(): Promise {} + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const tslib_1 = require("tslib"); +function foo() { + return tslib_1.__awaiter(this, void 0, void 0, function* () { }); +} +function bar() { + return tslib_1.__awaiter(this, void 0, void 0, function* () { }); +} +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const tslib_1 = require("tslib"); +function foo() { + return tslib_1.__awaiter(this, void 0, void 0, function* () { }); +} diff --git a/tests/baselines/reference/tslibNotFoundDifferentModules.symbols b/tests/baselines/reference/tslibNotFoundDifferentModules.symbols new file mode 100644 index 0000000000000..dcfba98e59314 --- /dev/null +++ b/tests/baselines/reference/tslibNotFoundDifferentModules.symbols @@ -0,0 +1,36 @@ +//// [tests/cases/compiler/tslibNotFoundDifferentModules.ts] //// + +=== /package1/index.ts === +export {}; +async function foo(): Promise {} +>foo : Symbol(foo, Decl(index.ts, 0, 10)) +>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, --, --)) + +async function bar(): Promise {} +>bar : Symbol(bar, Decl(index.ts, 1, 38)) +>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, --, --)) + +=== /package2/index.ts === +export {}; +async function foo(): Promise {} +>foo : Symbol(foo, Decl(index.ts, 0, 10)) +>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, --, --)) + +=== /package1/node_modules/tslib/tslib.d.ts === +/** + * Converts a generator function into a pseudo-async function, by treating each `yield` as an `await`. + * + * @param thisArg The reference to use as the `this` value in the generator function + * @param _arguments The optional arguments array + * @param P The optional promise constructor argument, defaults to the `Promise` property of the global object. + * @param generator The generator function + */ +export declare function __awaiter(thisArg: any, _arguments: any, P: Function, generator: Function): any; +>__awaiter : Symbol(__awaiter, Decl(tslib.d.ts, --, --)) +>thisArg : Symbol(thisArg, Decl(tslib.d.ts, --, --)) +>_arguments : Symbol(_arguments, Decl(tslib.d.ts, --, --)) +>P : Symbol(P, Decl(tslib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>generator : Symbol(generator, Decl(tslib.d.ts, --, --)) +>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) + diff --git a/tests/baselines/reference/tslibNotFoundDifferentModules.types b/tests/baselines/reference/tslibNotFoundDifferentModules.types new file mode 100644 index 0000000000000..aff45f53881d1 --- /dev/null +++ b/tests/baselines/reference/tslibNotFoundDifferentModules.types @@ -0,0 +1,39 @@ +//// [tests/cases/compiler/tslibNotFoundDifferentModules.ts] //// + +=== /package1/index.ts === +export {}; +async function foo(): Promise {} +>foo : () => Promise +> : ^^^^^^ + +async function bar(): Promise {} +>bar : () => Promise +> : ^^^^^^ + +=== /package2/index.ts === +export {}; +async function foo(): Promise {} +>foo : () => Promise +> : ^^^^^^ + +=== /package1/node_modules/tslib/tslib.d.ts === +/** + * Converts a generator function into a pseudo-async function, by treating each `yield` as an `await`. + * + * @param thisArg The reference to use as the `this` value in the generator function + * @param _arguments The optional arguments array + * @param P The optional promise constructor argument, defaults to the `Promise` property of the global object. + * @param generator The generator function + */ +export declare function __awaiter(thisArg: any, _arguments: any, P: Function, generator: Function): any; +>__awaiter : (thisArg: any, _arguments: any, P: Function, generator: Function) => any +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ +>thisArg : any +> : ^^^ +>_arguments : any +> : ^^^ +>P : Function +> : ^^^^^^^^ +>generator : Function +> : ^^^^^^^^ + diff --git a/tests/baselines/reference/tslibReExportHelpers2.types b/tests/baselines/reference/tslibReExportHelpers2.types index 35f3f36e3a5ee..f7b19714efbc3 100644 --- a/tests/baselines/reference/tslibReExportHelpers2.types +++ b/tests/baselines/reference/tslibReExportHelpers2.types @@ -3,7 +3,7 @@ === /node_modules/tslib/index.d.ts === export declare function __classPrivateFieldGet( >__classPrivateFieldGet : { (receiver: T, state: { has(o: T): boolean; get(o: T): V | undefined; }, kind?: "f"): V; unknown, V_1>(receiver: T_1, state: T_1, kind: "f", f: { value: V_1; }): V_1; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ receiver: T, >receiver : T @@ -28,7 +28,7 @@ export declare function __classPrivateFieldGet( ): V; export declare function __classPrivateFieldGet unknown, V>( >__classPrivateFieldGet : { (receiver: T_1, state: { has(o: T_1): boolean; get(o: T_1): V_1 | undefined; }, kind?: "f"): V_1; unknown, V>(receiver: T, state: T, kind: "f", f: { value: V; }): V; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >args : any[] > : ^^^^^ @@ -54,8 +54,8 @@ export declare function __classPrivateFieldGet === /node_modules/tslib/index.d.mts === export { __classPrivateFieldGet } from "./index.js"; ->__classPrivateFieldGet : { (receiver: T, state: { has(o: T): boolean; get(o: T): V | undefined; }, kind?: "f"): V; unknown, V_1>(receiver: T_1, state: T_1, kind: "f", f: { value: V_1; }): V_1; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>__classPrivateFieldGet : { (receiver: T, state: { has(o: T): boolean; get(o: T): V | undefined; }, kind?: "f"): V; unknown, V>(receiver: T, state: T, kind: "f", f: { value: V; }): V; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ === /index.mts === export class Foo { @@ -67,11 +67,11 @@ export class Foo { >console.log(Foo.#test()) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Foo.#test() : string > : ^^^^^^ >Foo.#test : () => string diff --git a/tests/baselines/reference/tsserver/autoImportProvider/Does-not-create-auto-import-providers-upon-opening-projects-for-find-all-references.js b/tests/baselines/reference/tsserver/autoImportProvider/Does-not-create-auto-import-providers-upon-opening-projects-for-find-all-references.js index 0f5c7dc28b842..dcda5b2dbb5b9 100644 --- a/tests/baselines/reference/tsserver/autoImportProvider/Does-not-create-auto-import-providers-upon-opening-projects-for-find-all-references.js +++ b/tests/baselines/reference/tsserver/autoImportProvider/Does-not-create-auto-import-providers-upon-opening-projects-for-find-all-references.js @@ -315,7 +315,6 @@ Info seq [hh:mm:ss:mss] request: "type": "request" } Info seq [hh:mm:ss:mss] Finding references to /packages/b/index.ts position 12 in project /packages/b/tsconfig.json -Info seq [hh:mm:ss:mss] Loading configured project /tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/cachingFileSystemInformation/npm-install-works-when-timeout-occurs-inbetween-installation.js b/tests/baselines/reference/tsserver/cachingFileSystemInformation/npm-install-works-when-timeout-occurs-inbetween-installation.js index 64a99940eb892..c1a6b6afc0648 100644 --- a/tests/baselines/reference/tsserver/cachingFileSystemInformation/npm-install-works-when-timeout-occurs-inbetween-installation.js +++ b/tests/baselines/reference/tsserver/cachingFileSystemInformation/npm-install-works-when-timeout-occurs-inbetween-installation.js @@ -1364,6 +1364,23 @@ Info seq [hh:mm:ss:mss] Files (2) /user/username/rootfolder/otherfolder/a/b/app.ts SVC-1-0 "import _ from 'lodash';" Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/rootfolder/otherfolder/a/b/tsconfig.json", + "configFile": "/user/username/rootfolder/otherfolder/a/b/tsconfig.json", + "diagnostics": [ + { + "text": "Cannot find type definition file for 'lodash'.\n The file is in the program because:\n Entry point for implicit type library 'lodash'", + "code": 2688, + "category": "error" + } + ] + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/user/username/rootfolder/otherfolder/a/b/tsconfig.json' (Configured) @@ -2212,6 +2229,17 @@ Info seq [hh:mm:ss:mss] Files (3) Matched by default include pattern '**/*' Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/rootfolder/otherfolder/a/b/tsconfig.json", + "configFile": "/user/username/rootfolder/otherfolder/a/b/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/user/username/rootfolder/otherfolder/a/b/tsconfig.json' (Configured) diff --git a/tests/baselines/reference/tsserver/compileOnSave/emit-with-richRepsonse-as-false.js b/tests/baselines/reference/tsserver/compileOnSave/emit-with-richRepsonse-as-false.js index 0add51e8ba23d..80e32454fed59 100644 --- a/tests/baselines/reference/tsserver/compileOnSave/emit-with-richRepsonse-as-false.js +++ b/tests/baselines/reference/tsserver/compileOnSave/emit-with-richRepsonse-as-false.js @@ -332,6 +332,23 @@ Info seq [hh:mm:ss:mss] Files (4) Matched by default include pattern '**/*' Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/tsconfig.json", + "configFile": "/user/username/projects/myproject/tsconfig.json", + "diagnostics": [ + { + "text": "Cannot write file '/user/username/projects/myproject/test/file1.d.ts' because it would overwrite input file.", + "code": 5055, + "category": "error" + } + ] + } + } Info seq [hh:mm:ss:mss] response: { "response": false, diff --git a/tests/baselines/reference/tsserver/compileOnSave/emit-with-richRepsonse-as-true.js b/tests/baselines/reference/tsserver/compileOnSave/emit-with-richRepsonse-as-true.js index e23012da5bd6b..207c083328a79 100644 --- a/tests/baselines/reference/tsserver/compileOnSave/emit-with-richRepsonse-as-true.js +++ b/tests/baselines/reference/tsserver/compileOnSave/emit-with-richRepsonse-as-true.js @@ -335,6 +335,23 @@ Info seq [hh:mm:ss:mss] Files (4) Matched by default include pattern '**/*' Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/tsconfig.json", + "configFile": "/user/username/projects/myproject/tsconfig.json", + "diagnostics": [ + { + "text": "Cannot write file '/user/username/projects/myproject/test/file1.d.ts' because it would overwrite input file.", + "code": 5055, + "category": "error" + } + ] + } + } Info seq [hh:mm:ss:mss] response: { "response": { diff --git a/tests/baselines/reference/tsserver/compileOnSave/emit-with-richRepsonse-as-undefined.js b/tests/baselines/reference/tsserver/compileOnSave/emit-with-richRepsonse-as-undefined.js index e4460f72e0781..70509f1f2d196 100644 --- a/tests/baselines/reference/tsserver/compileOnSave/emit-with-richRepsonse-as-undefined.js +++ b/tests/baselines/reference/tsserver/compileOnSave/emit-with-richRepsonse-as-undefined.js @@ -330,6 +330,23 @@ Info seq [hh:mm:ss:mss] Files (4) Matched by default include pattern '**/*' Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/tsconfig.json", + "configFile": "/user/username/projects/myproject/tsconfig.json", + "diagnostics": [ + { + "text": "Cannot write file '/user/username/projects/myproject/test/file1.d.ts' because it would overwrite input file.", + "code": 5055, + "category": "error" + } + ] + } + } Info seq [hh:mm:ss:mss] response: { "response": false, diff --git a/tests/baselines/reference/tsserver/configFileSearch/tsconfig-for-the-file-does-not-exist.js b/tests/baselines/reference/tsserver/configFileSearch/tsconfig-for-the-file-does-not-exist.js index 347234099fb7d..a778dcdd0fc48 100644 --- a/tests/baselines/reference/tsserver/configFileSearch/tsconfig-for-the-file-does-not-exist.js +++ b/tests/baselines/reference/tsserver/configFileSearch/tsconfig-for-the-file-does-not-exist.js @@ -110,12 +110,11 @@ Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /a/b/projects/project/tsconfig.json 0:: WatchInfo: /a/b/projects/project/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /a/b/projects/project/tsconfig.json 0:: WatchInfo: /a/b/projects/project/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a/b/projects/project/src/index.ts ProjectRootPath: /a/b/projects/proj:: Result: /a/b/projects/project/tsconfig.json -Info seq [hh:mm:ss:mss] Scheduled: /a/b/projects/project/tsconfig.json, Cancelled earlier one Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /a/b/projects/project/tsconfig.json 0:: WatchInfo: /a/b/projects/project/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root Before running Timeout callback:: count: 2 -3: /a/b/projects/project/tsconfig.json -4: *ensureProjectForOpenFiles* +1: /a/b/projects/project/tsconfig.json +3: *ensureProjectForOpenFiles* //// [/a/b/projects/project/tsconfig.json] {} @@ -145,8 +144,8 @@ FsWatches:: {} Timeout callback:: count: 2 -3: /a/b/projects/project/tsconfig.json *new* -4: *ensureProjectForOpenFiles* *new* +1: /a/b/projects/project/tsconfig.json *new* +3: *ensureProjectForOpenFiles* *new* Projects:: /a/b/projects/project/tsconfig.json (Configured) *new* @@ -158,7 +157,6 @@ Projects:: projectProgramVersion: 1 Info seq [hh:mm:ss:mss] Running: /a/b/projects/project/tsconfig.json -Info seq [hh:mm:ss:mss] Loading configured project /a/b/projects/project/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -166,7 +164,7 @@ Info seq [hh:mm:ss:mss] event: "event": "projectLoadingStart", "body": { "projectName": "/a/b/projects/project/tsconfig.json", - "reason": "Change in config file detected" + "reason": "Change in config file /a/b/projects/project/tsconfig.json detected, Creating possible configured project for /a/b/projects/project/src/index.ts to open" } } Info seq [hh:mm:ss:mss] Config: /a/b/projects/project/tsconfig.json : { @@ -364,11 +362,11 @@ Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /a/b/projects/project Info seq [hh:mm:ss:mss] Project: /a/b/projects/project/tsconfig.json Detected file add/remove of non supported extension: /a/b/projects/project/tsconfig.json Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /a/b/projects/project/tsconfig.json :: WatchInfo: /a/b/projects/project 1 undefined Config: /a/b/projects/project/tsconfig.json WatchType: Wild card directory Before running Timeout callback:: count: 1 -5: *ensureProjectForOpenFiles* +4: *ensureProjectForOpenFiles* //// [/a/b/projects/project/tsconfig.json] deleted Timeout callback:: count: 1 -5: *ensureProjectForOpenFiles* *new* +4: *ensureProjectForOpenFiles* *new* Projects:: /a/b/projects/project/tsconfig.json (Configured) *changed* diff --git a/tests/baselines/reference/tsserver/configFileSearch/tsconfig-for-the-file-exists.js b/tests/baselines/reference/tsserver/configFileSearch/tsconfig-for-the-file-exists.js index 2d234e6c417f9..07a7ecab1bd7e 100644 --- a/tests/baselines/reference/tsserver/configFileSearch/tsconfig-for-the-file-exists.js +++ b/tests/baselines/reference/tsserver/configFileSearch/tsconfig-for-the-file-exists.js @@ -306,22 +306,21 @@ ScriptInfos:: Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /a/b/projects/project/tsconfig.json 0:: WatchInfo: /a/b/projects/project/tsconfig.json 2000 undefined Project: /a/b/projects/project/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] Scheduled: /a/b/projects/project/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a/b/projects/project/src/index.ts ProjectRootPath: /a/b/projects/proj:: Result: /a/b/projects/project/tsconfig.json -Info seq [hh:mm:ss:mss] Scheduled: /a/b/projects/project/tsconfig.json, Cancelled earlier one Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /a/b/projects/project/tsconfig.json 0:: WatchInfo: /a/b/projects/project/tsconfig.json 2000 undefined Project: /a/b/projects/project/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /a/b/projects/project/tsconfig.json :: WatchInfo: /a/b/projects/project 1 undefined Config: /a/b/projects/project/tsconfig.json WatchType: Wild card directory Info seq [hh:mm:ss:mss] Project: /a/b/projects/project/tsconfig.json Detected file add/remove of non supported extension: /a/b/projects/project/tsconfig.json Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /a/b/projects/project/tsconfig.json :: WatchInfo: /a/b/projects/project 1 undefined Config: /a/b/projects/project/tsconfig.json WatchType: Wild card directory Before running Timeout callback:: count: 2 -3: /a/b/projects/project/tsconfig.json -4: *ensureProjectForOpenFiles* +2: /a/b/projects/project/tsconfig.json +3: *ensureProjectForOpenFiles* //// [/a/b/projects/project/tsconfig.json] {} Timeout callback:: count: 2 -3: /a/b/projects/project/tsconfig.json *new* -4: *ensureProjectForOpenFiles* *new* +2: /a/b/projects/project/tsconfig.json *new* +3: *ensureProjectForOpenFiles* *new* Projects:: /a/b/projects/project/tsconfig.json (Configured) *changed* @@ -335,7 +334,6 @@ Projects:: projectProgramVersion: 1 Info seq [hh:mm:ss:mss] Running: /a/b/projects/project/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /a/b/projects/project/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/configuredProjects/Open-ref-of-configured-project-when-open-file-gets-added-to-the-project-as-part-of-configured-file-update-buts-its-open-file-references-are-all-closed-when-the-update-happens.js b/tests/baselines/reference/tsserver/configuredProjects/Open-ref-of-configured-project-when-open-file-gets-added-to-the-project-as-part-of-configured-file-update-buts-its-open-file-references-are-all-closed-when-the-update-happens.js index 8ab282141892e..c4665c7f37f15 100644 --- a/tests/baselines/reference/tsserver/configuredProjects/Open-ref-of-configured-project-when-open-file-gets-added-to-the-project-as-part-of-configured-file-update-buts-its-open-file-references-are-all-closed-when-the-update-happens.js +++ b/tests/baselines/reference/tsserver/configuredProjects/Open-ref-of-configured-project-when-open-file-gets-added-to-the-project-as-part-of-configured-file-update-buts-its-open-file-references-are-all-closed-when-the-update-happens.js @@ -541,7 +541,6 @@ ScriptInfos:: Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /a/b/tsconfig.json 1:: WatchInfo: /a/b/tsconfig.json 2000 undefined Project: /a/b/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] Scheduled: /a/b/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a/b/src/file2.ts ProjectRootPath: undefined:: Result: /a/b/tsconfig.json -Info seq [hh:mm:ss:mss] Scheduled: /a/b/tsconfig.json, Cancelled earlier one Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /a/b/tsconfig.json 1:: WatchInfo: /a/b/tsconfig.json 2000 undefined Project: /a/b/tsconfig.json WatchType: Config file configFile updated @@ -550,8 +549,8 @@ configFile updated Timeout callback:: count: 2 -2: /a/b/tsconfig.json *new* -3: *ensureProjectForOpenFiles* *new* +1: /a/b/tsconfig.json *new* +2: *ensureProjectForOpenFiles* *new* Projects:: /a/b/tsconfig.json (Configured) *changed* @@ -641,11 +640,10 @@ ScriptInfos:: /dev/null/inferredProject2* *default* Before running Timeout callback:: count: 2 -2: /a/b/tsconfig.json -3: *ensureProjectForOpenFiles* +1: /a/b/tsconfig.json +2: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Running: /a/b/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /a/b/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/configuredProjects/Open-ref-of-configured-project-when-open-file-gets-added-to-the-project-as-part-of-configured-file-update.js b/tests/baselines/reference/tsserver/configuredProjects/Open-ref-of-configured-project-when-open-file-gets-added-to-the-project-as-part-of-configured-file-update.js index 75c6756ff996c..08101c1fa5f31 100644 --- a/tests/baselines/reference/tsserver/configuredProjects/Open-ref-of-configured-project-when-open-file-gets-added-to-the-project-as-part-of-configured-file-update.js +++ b/tests/baselines/reference/tsserver/configuredProjects/Open-ref-of-configured-project-when-open-file-gets-added-to-the-project-as-part-of-configured-file-update.js @@ -495,20 +495,21 @@ ScriptInfos:: Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /a/b/tsconfig.json 1:: WatchInfo: /a/b/tsconfig.json 2000 undefined Project: /a/b/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] Scheduled: /a/b/tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a/b/src/file1.ts ProjectRootPath: undefined:: Result: /a/b/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a/b/src/file2.ts ProjectRootPath: undefined:: Result: /a/b/tsconfig.json -Info seq [hh:mm:ss:mss] Scheduled: /a/b/tsconfig.json, Cancelled earlier one +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a/b/file3.ts ProjectRootPath: undefined:: Result: /a/b/tsconfig.json Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /a/b/tsconfig.json 1:: WatchInfo: /a/b/tsconfig.json 2000 undefined Project: /a/b/tsconfig.json WatchType: Config file Before running Timeout callback:: count: 2 -2: /a/b/tsconfig.json -3: *ensureProjectForOpenFiles* +1: /a/b/tsconfig.json +2: *ensureProjectForOpenFiles* //// [/a/b/tsconfig.json] {} Timeout callback:: count: 2 -2: /a/b/tsconfig.json *new* -3: *ensureProjectForOpenFiles* *new* +1: /a/b/tsconfig.json *new* +2: *ensureProjectForOpenFiles* *new* Projects:: /a/b/tsconfig.json (Configured) *changed* @@ -523,7 +524,6 @@ Projects:: projectProgramVersion: 1 Info seq [hh:mm:ss:mss] Running: /a/b/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /a/b/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/configuredProjects/add-and-then-remove-a-config-file-in-a-folder-with-loose-files.js b/tests/baselines/reference/tsserver/configuredProjects/add-and-then-remove-a-config-file-in-a-folder-with-loose-files.js index db37e8163e61d..6392dd8a20bb6 100644 --- a/tests/baselines/reference/tsserver/configuredProjects/add-and-then-remove-a-config-file-in-a-folder-with-loose-files.js +++ b/tests/baselines/reference/tsserver/configuredProjects/add-and-then-remove-a-config-file-in-a-folder-with-loose-files.js @@ -175,13 +175,12 @@ Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/myproject/tsconfig.json 0:: WatchInfo: /user/username/projects/myproject/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /user/username/projects/myproject/tsconfig.json 0:: WatchInfo: /user/username/projects/myproject/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/commonFile1.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json -Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/tsconfig.json, Cancelled earlier one Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/commonFile2.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/myproject/tsconfig.json 0:: WatchInfo: /user/username/projects/myproject/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root Before running Timeout callback:: count: 2 -3: /user/username/projects/myproject/tsconfig.json -4: *ensureProjectForOpenFiles* +1: /user/username/projects/myproject/tsconfig.json +3: *ensureProjectForOpenFiles* //// [/user/username/projects/myproject/tsconfig.json] { "files": [ @@ -209,8 +208,8 @@ FsWatches:: {} Timeout callback:: count: 2 -3: /user/username/projects/myproject/tsconfig.json *new* -4: *ensureProjectForOpenFiles* *new* +1: /user/username/projects/myproject/tsconfig.json *new* +3: *ensureProjectForOpenFiles* *new* Projects:: /dev/null/inferredProject1* (Inferred) @@ -225,7 +224,6 @@ Projects:: dirty: true Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/tsconfig.json -Info seq [hh:mm:ss:mss] Loading configured project /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -233,7 +231,7 @@ Info seq [hh:mm:ss:mss] event: "event": "projectLoadingStart", "body": { "projectName": "/user/username/projects/myproject/tsconfig.json", - "reason": "Change in config file detected" + "reason": "Change in config file /user/username/projects/myproject/tsconfig.json detected, Creating possible configured project for /user/username/projects/myproject/commonFile1.ts to open" } } Info seq [hh:mm:ss:mss] Config: /user/username/projects/myproject/tsconfig.json : { @@ -419,11 +417,11 @@ Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/project Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/myproject/tsconfig.json 2:: WatchInfo: /user/username/projects/myproject/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root Before running Timeout callback:: count: 1 -5: *ensureProjectForOpenFiles* +4: *ensureProjectForOpenFiles* //// [/user/username/projects/myproject/tsconfig.json] deleted Timeout callback:: count: 1 -5: *ensureProjectForOpenFiles* *new* +4: *ensureProjectForOpenFiles* *new* Projects:: /dev/null/inferredProject1* (Inferred) @@ -540,13 +538,12 @@ ScriptInfos:: Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /user/username/projects/myproject/tsconfig.json 0:: WatchInfo: /user/username/projects/myproject/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/commonFile1.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json -Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/tsconfig.json, Cancelled earlier one Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/commonFile2.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/myproject/tsconfig.json 0:: WatchInfo: /user/username/projects/myproject/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root Before running Timeout callback:: count: 2 -7: /user/username/projects/myproject/tsconfig.json -8: *ensureProjectForOpenFiles* +5: /user/username/projects/myproject/tsconfig.json +6: *ensureProjectForOpenFiles* //// [/user/username/projects/myproject/tsconfig.json] { "files": [ @@ -556,8 +553,8 @@ Before running Timeout callback:: count: 2 Timeout callback:: count: 2 -7: /user/username/projects/myproject/tsconfig.json *new* -8: *ensureProjectForOpenFiles* *new* +5: /user/username/projects/myproject/tsconfig.json *new* +6: *ensureProjectForOpenFiles* *new* Projects:: /dev/null/inferredProject1* (Inferred) @@ -574,7 +571,6 @@ Projects:: deferredClose: undefined *changed* Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -1354,7 +1350,7 @@ Before request //// [/user/username/projects/myproject/tsconfig.json] deleted Timeout callback:: count: 1 -9: *ensureProjectForOpenFiles* *new* +7: *ensureProjectForOpenFiles* *new* Projects:: /user/username/projects/myproject/tsconfig.json (Configured) *changed* @@ -1453,13 +1449,12 @@ ScriptInfos:: Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /user/username/projects/myproject/tsconfig.json 0:: WatchInfo: /user/username/projects/myproject/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/commonFile1.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json -Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/tsconfig.json, Cancelled earlier one Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/commonFile2.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/myproject/tsconfig.json 0:: WatchInfo: /user/username/projects/myproject/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Config file Before running Timeout callback:: count: 2 -11: /user/username/projects/myproject/tsconfig.json -12: *ensureProjectForOpenFiles* +8: /user/username/projects/myproject/tsconfig.json +9: *ensureProjectForOpenFiles* //// [/user/username/projects/myproject/tsconfig.json] { "files": [ @@ -1469,9 +1464,9 @@ Before running Timeout callback:: count: 2 Timeout callback:: count: 2 -9: *ensureProjectForOpenFiles* *deleted* -11: /user/username/projects/myproject/tsconfig.json *new* -12: *ensureProjectForOpenFiles* *new* +7: *ensureProjectForOpenFiles* *deleted* +8: /user/username/projects/myproject/tsconfig.json *new* +9: *ensureProjectForOpenFiles* *new* Projects:: /dev/null/inferredProject4* (Inferred) @@ -1485,7 +1480,6 @@ Projects:: deferredClose: undefined *changed* Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/configuredProjects/add-and-then-remove-a-config-file-when-parent-folder-has-config-file-and-file-from-first-config-is-not-open.js b/tests/baselines/reference/tsserver/configuredProjects/add-and-then-remove-a-config-file-when-parent-folder-has-config-file-and-file-from-first-config-is-not-open.js new file mode 100644 index 0000000000000..9d3cfcc3c417a --- /dev/null +++ b/tests/baselines/reference/tsserver/configuredProjects/add-and-then-remove-a-config-file-when-parent-folder-has-config-file-and-file-from-first-config-is-not-open.js @@ -0,0 +1,1418 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +Before request +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } + +//// [/user/username/projects/myproject/folder/commonFile1.ts] +let x = 1 + +//// [/user/username/projects/myproject/folder/commonFile2.ts] +let y = 1 + +//// [/user/username/projects/myproject/folder/tsconfig.json] +{ + "files": [ + "commonFile1.ts" + ] +} + +//// [/user/username/projects/myproject/tsconfig.json] +{ + "files": [ + "folder/commonFile2.ts" + ] +} + + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/user/username/projects/myproject/folder/commonFile2.ts" + }, + "seq": 1, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/user/username/projects/myproject/folder/tsconfig.json", + "reason": "Creating possible configured project for /user/username/projects/myproject/folder/commonFile2.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /user/username/projects/myproject/folder/tsconfig.json : { + "rootNames": [ + "/user/username/projects/myproject/folder/commonFile1.ts" + ], + "options": { + "configFilePath": "/user/username/projects/myproject/folder/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/commonFile1.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /user/username/projects/myproject/folder/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /user/username/projects/myproject/folder/commonFile1.ts Text-1 "let x = 1" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + commonFile1.ts + Part of 'files' list in tsconfig.json + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/user/username/projects/myproject/folder/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "telemetry", + "body": { + "telemetryEventName": "projectInfo", + "payload": { + "projectId": "d66ffa710f0cbc2142bfc53fcc2dacdbf63298100e7d9745f4adb9d8bbbc4673", + "fileStats": { + "js": 0, + "jsSize": 0, + "jsx": 0, + "jsxSize": 0, + "ts": 1, + "tsSize": 9, + "tsx": 0, + "tsxSize": 0, + "dts": 1, + "dtsSize": 334, + "deferred": 0, + "deferredSize": 0 + }, + "compilerOptions": {}, + "typeAcquisition": { + "enable": false, + "include": false, + "exclude": false + }, + "extends": false, + "files": true, + "include": false, + "exclude": false, + "compileOnSave": false, + "configFileName": "tsconfig.json", + "projectType": "configured", + "languageServiceEnabled": true, + "version": "FakeVersion" + } + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/folder/commonFile2.ts", + "configFile": "/user/username/projects/myproject/folder/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /user/username/projects/myproject/folder/commonFile2.ts SVC-1-0 "let y = 1" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + commonFile2.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/user/username/projects/myproject/folder/jsconfig.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/folder/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/myproject/jsconfig.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/node_modules/@types: *new* + {"pollingInterval":500} + +FsWatches:: +/a/lib/lib.d.ts: *new* + {} +/user/username/projects/myproject/folder/commonFile1.ts: *new* + {} +/user/username/projects/myproject/folder/tsconfig.json: *new* + {} +/user/username/projects/myproject/tsconfig.json: *new* + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) *new* + projectStateVersion: 1 + projectProgramVersion: 1 +/user/username/projects/myproject/folder/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + noOpenRef: true + +ScriptInfos:: +/a/lib/lib.d.ts *new* + version: Text-1 + containingProjects: 2 + /user/username/projects/myproject/folder/tsconfig.json + /dev/null/inferredProject1* +/user/username/projects/myproject/folder/commonFile1.ts *new* + version: Text-1 + containingProjects: 1 + /user/username/projects/myproject/folder/tsconfig.json +/user/username/projects/myproject/folder/commonFile2.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject1* *default* + +1: When config file is deleted +Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /user/username/projects/myproject/folder/tsconfig.json 2:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/myproject/folder/tsconfig.json 2:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file +Before running Timeout callback:: count: 2 +1: /user/username/projects/myproject/tsconfig.json +2: *ensureProjectForOpenFiles* +//// [/user/username/projects/myproject/folder/tsconfig.json] deleted + +Timeout callback:: count: 2 +1: /user/username/projects/myproject/tsconfig.json *new* +2: *ensureProjectForOpenFiles* *new* + +Projects:: +/dev/null/inferredProject1* (Inferred) + projectStateVersion: 1 + projectProgramVersion: 1 +/user/username/projects/myproject/folder/tsconfig.json (Configured) *changed* + projectStateVersion: 1 + projectProgramVersion: 1 + isOrphan: true *changed* + noOpenRef: false *changed* + deferredClose: true *changed* +/user/username/projects/myproject/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 0 + dirty: true + +Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/user/username/projects/myproject/tsconfig.json", + "reason": "Change in config file /user/username/projects/myproject/folder/tsconfig.json detected, Creating possible configured project for /user/username/projects/myproject/folder/commonFile2.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /user/username/projects/myproject/tsconfig.json : { + "rootNames": [ + "/user/username/projects/myproject/folder/commonFile2.ts" + ], + "options": { + "configFilePath": "/user/username/projects/myproject/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/projects/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /user/username/projects/myproject/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /user/username/projects/myproject/folder/commonFile2.ts SVC-1-0 "let y = 1" + + + ../../../../a/lib/lib.d.ts + Default library for target 'es5' + folder/commonFile2.ts + Part of 'files' list in tsconfig.json + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/user/username/projects/myproject/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "telemetry", + "body": { + "telemetryEventName": "projectInfo", + "payload": { + "projectId": "4a33d78ee40d836c4f4e64c59aed976628aea0013be9585c5ff171dfc41baf98", + "fileStats": { + "js": 0, + "jsSize": 0, + "jsx": 0, + "jsxSize": 0, + "ts": 1, + "tsSize": 9, + "tsx": 0, + "tsxSize": 0, + "dts": 1, + "dtsSize": 334, + "deferred": 0, + "deferredSize": 0 + }, + "compilerOptions": {}, + "typeAcquisition": { + "enable": false, + "include": false, + "exclude": false + }, + "extends": false, + "files": true, + "include": false, + "exclude": false, + "compileOnSave": false, + "configFileName": "tsconfig.json", + "projectType": "configured", + "languageServiceEnabled": true, + "version": "FakeVersion" + } + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/tsconfig.json", + "configFile": "/user/username/projects/myproject/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 2 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (0) + + + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] After ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (0) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] got projects updated in background /user/username/projects/myproject/folder/commonFile2.ts +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectsUpdatedInBackground", + "body": { + "openFiles": [ + "/user/username/projects/myproject/folder/commonFile2.ts" + ] + } + } +After running Timeout callback:: count: 0 + +PolledWatches:: +/user/username/projects/myproject/folder/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/node_modules/@types: + {"pollingInterval":500} + +PolledWatches *deleted*:: +/user/username/projects/myproject/folder/jsconfig.json: + {"pollingInterval":2000} +/user/username/projects/myproject/jsconfig.json: + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/user/username/projects/myproject/folder/commonFile1.ts: + {} +/user/username/projects/myproject/folder/tsconfig.json: + {} +/user/username/projects/myproject/tsconfig.json: + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) *changed* + projectStateVersion: 2 *changed* + projectProgramVersion: 2 *changed* + isOrphan: true *changed* +/user/username/projects/myproject/folder/tsconfig.json (Configured) + projectStateVersion: 1 + projectProgramVersion: 1 + isOrphan: true + deferredClose: true +/user/username/projects/myproject/tsconfig.json (Configured) *changed* + projectStateVersion: 1 + projectProgramVersion: 1 *changed* + dirty: false *changed* + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + containingProjects: 2 *changed* + /user/username/projects/myproject/folder/tsconfig.json + /user/username/projects/myproject/tsconfig.json *new* + /dev/null/inferredProject1* *deleted* +/user/username/projects/myproject/folder/commonFile1.ts + version: Text-1 + containingProjects: 1 + /user/username/projects/myproject/folder/tsconfig.json +/user/username/projects/myproject/folder/commonFile2.ts (Open) *changed* + version: SVC-1-0 + containingProjects: 1 *changed* + /user/username/projects/myproject/tsconfig.json *default* *new* + /dev/null/inferredProject1* *deleted* + +Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /user/username/projects/myproject/folder/tsconfig.json 0:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/myproject/folder/tsconfig.json 0:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file +Before running Timeout callback:: count: 2 +3: /user/username/projects/myproject/folder/tsconfig.json +4: *ensureProjectForOpenFiles* +//// [/user/username/projects/myproject/folder/tsconfig.json] +{ + "files": [ + "commonFile1.ts" + ] +} + + +Timeout callback:: count: 2 +3: /user/username/projects/myproject/folder/tsconfig.json *new* +4: *ensureProjectForOpenFiles* *new* + +Projects:: +/dev/null/inferredProject1* (Inferred) + projectStateVersion: 2 + projectProgramVersion: 2 + isOrphan: true +/user/username/projects/myproject/folder/tsconfig.json (Configured) *changed* + projectStateVersion: 2 *changed* + projectProgramVersion: 1 + dirty: true *changed* + isOrphan: false *changed* + deferredClose: undefined *changed* +/user/username/projects/myproject/tsconfig.json (Configured) + projectStateVersion: 1 + projectProgramVersion: 1 + +Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/user/username/projects/myproject/folder/tsconfig.json", + "reason": "Change in config file detected" + } + } +Info seq [hh:mm:ss:mss] Config: /user/username/projects/myproject/folder/tsconfig.json : { + "rootNames": [ + "/user/username/projects/myproject/folder/commonFile1.ts" + ], + "options": { + "configFilePath": "/user/username/projects/myproject/folder/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /user/username/projects/myproject/folder/tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: false structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Same program as before +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/user/username/projects/myproject/folder/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/folder/tsconfig.json", + "configFile": "/user/username/projects/myproject/folder/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (0) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] After ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (0) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] got projects updated in background /user/username/projects/myproject/folder/commonFile2.ts +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectsUpdatedInBackground", + "body": { + "openFiles": [ + "/user/username/projects/myproject/folder/commonFile2.ts" + ] + } + } +After running Timeout callback:: count: 0 + +Projects:: +/dev/null/inferredProject1* (Inferred) + projectStateVersion: 2 + projectProgramVersion: 2 + isOrphan: true +/user/username/projects/myproject/folder/tsconfig.json (Configured) *changed* + projectStateVersion: 2 + projectProgramVersion: 1 + dirty: false *changed* + noOpenRef: true *changed* +/user/username/projects/myproject/tsconfig.json (Configured) *changed* + projectStateVersion: 1 + projectProgramVersion: 1 + noOpenRef: true *changed* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/random/random.ts", + "fileContent": "export const y = 10;" + }, + "seq": 2, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /random/random.ts ProjectRootPath: undefined:: Result: undefined +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject2* +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject2* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject2*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /random/random.ts SVC-1-0 "export const y = 10;" + + + ../a/lib/lib.d.ts + Default library for target 'es5' + random.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] `remove Project:: +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts + /user/username/projects/myproject/folder/commonFile1.ts + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + commonFile1.ts + Part of 'files' list in tsconfig.json + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] `remove Project:: +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts + /user/username/projects/myproject/folder/commonFile2.ts + + + ../../../../a/lib/lib.d.ts + Default library for target 'es5' + folder/commonFile2.ts + Part of 'files' list in tsconfig.json + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] `remove Project:: +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (0) + + + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/commonFile1.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject2*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: +Info seq [hh:mm:ss:mss] FileName: /random/random.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject2* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches *deleted*:: +/user/username/projects/myproject/folder/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/node_modules/@types: + {"pollingInterval":500} + +FsWatches:: +/a/lib/lib.d.ts: + {} + +FsWatches *deleted*:: +/user/username/projects/myproject/folder/commonFile1.ts: + {} +/user/username/projects/myproject/folder/tsconfig.json: + {} +/user/username/projects/myproject/tsconfig.json: + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) *deleted* + projectStateVersion: 2 + projectProgramVersion: 2 + isClosed: true *changed* + isOrphan: true +/dev/null/inferredProject2* (Inferred) *new* + projectStateVersion: 1 + projectProgramVersion: 1 +/user/username/projects/myproject/folder/tsconfig.json (Configured) *deleted* + projectStateVersion: 2 + projectProgramVersion: 1 + isClosed: true *changed* + noOpenRef: true +/user/username/projects/myproject/tsconfig.json (Configured) *deleted* + projectStateVersion: 1 + projectProgramVersion: 1 + isClosed: true *changed* + noOpenRef: true + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + containingProjects: 1 *changed* + /dev/null/inferredProject2* *new* + /user/username/projects/myproject/folder/tsconfig.json *deleted* + /user/username/projects/myproject/tsconfig.json *deleted* +/random/random.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* +/user/username/projects/myproject/folder/commonFile1.ts *deleted* + version: Text-1 + containingProjects: 0 *changed* + /user/username/projects/myproject/folder/tsconfig.json *deleted* +/user/username/projects/myproject/folder/commonFile2.ts (Open) *changed* + version: SVC-1-0 + containingProjects: 0 *changed* + /user/username/projects/myproject/tsconfig.json *deleted* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "close", + "arguments": { + "file": "/user/username/projects/myproject/folder/commonFile2.ts" + }, + "seq": 3, + "type": "request" + } +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/commonFile2.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject2*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /random/random.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject2* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +FsWatches:: +/a/lib/lib.d.ts: + {} +/user/username/projects/myproject/folder/commonFile2.ts: *new* + {} + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/random/random.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* +/user/username/projects/myproject/folder/commonFile2.ts *changed* + open: false *changed* + version: SVC-1-0 + containingProjects: 0 + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "close", + "arguments": { + "file": "/random/random.ts" + }, + "seq": 4, + "type": "request" + } +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject2*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +Projects:: +/dev/null/inferredProject2* (Inferred) *changed* + projectStateVersion: 2 *changed* + projectProgramVersion: 1 + dirty: true *changed* + isOrphan: true *changed* + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/random/random.ts *deleted* + open: false *changed* + version: SVC-1-0 + containingProjects: 0 *changed* + /dev/null/inferredProject2* *deleted* +/user/username/projects/myproject/folder/commonFile2.ts + version: SVC-1-0 + containingProjects: 0 + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/random/random.ts", + "fileContent": "export const y = 10;" + }, + "seq": 5, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /random/random.ts ProjectRootPath: undefined:: Result: undefined +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject2* +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject2* projectStateVersion: 2 projectProgramVersion: 1 structureChanged: false structureIsReused:: Completely Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject2*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /random/random.ts SVC-2-0 "export const y = 10;" + + + ../a/lib/lib.d.ts + Default library for target 'es5' + random.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/commonFile2.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject2*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /random/random.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject2* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +FsWatches:: +/a/lib/lib.d.ts: + {} + +FsWatches *deleted*:: +/user/username/projects/myproject/folder/commonFile2.ts: + {} + +Projects:: +/dev/null/inferredProject2* (Inferred) *changed* + projectStateVersion: 2 + projectProgramVersion: 1 + dirty: false *changed* + isOrphan: false *changed* + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/random/random.ts (Open) *new* + version: SVC-2-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* +/user/username/projects/myproject/folder/commonFile2.ts *deleted* + version: SVC-1-0 + containingProjects: 0 + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "close", + "arguments": { + "file": "/random/random.ts" + }, + "seq": 6, + "type": "request" + } +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject2*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +Projects:: +/dev/null/inferredProject2* (Inferred) *changed* + projectStateVersion: 3 *changed* + projectProgramVersion: 1 + dirty: true *changed* + isOrphan: true *changed* + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/random/random.ts *deleted* + open: false *changed* + version: SVC-2-0 + containingProjects: 0 *changed* + /dev/null/inferredProject2* *deleted* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/user/username/projects/myproject/folder/commonFile2.ts" + }, + "seq": 7, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/user/username/projects/myproject/folder/tsconfig.json", + "reason": "Creating possible configured project for /user/username/projects/myproject/folder/commonFile2.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /user/username/projects/myproject/folder/tsconfig.json : { + "rootNames": [ + "/user/username/projects/myproject/folder/commonFile1.ts" + ], + "options": { + "configFilePath": "/user/username/projects/myproject/folder/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/commonFile1.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /user/username/projects/myproject/folder/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /user/username/projects/myproject/folder/commonFile1.ts Text-2 "let x = 1" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + commonFile1.ts + Part of 'files' list in tsconfig.json + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/user/username/projects/myproject/folder/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/folder/commonFile2.ts", + "configFile": "/user/username/projects/myproject/folder/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject3* +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /dev/null/inferredProject3* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /dev/null/inferredProject3* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /dev/null/inferredProject3* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /dev/null/inferredProject3* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject3* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject3* WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject3* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject3*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /user/username/projects/myproject/folder/commonFile2.ts SVC-2-0 "let y = 1" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + commonFile2.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] `remove Project:: +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject2*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts + /random/random.ts + + + ../a/lib/lib.d.ts + Default library for target 'es5' + random.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject3*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject3* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/user/username/projects/myproject/folder/jsconfig.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/folder/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/myproject/jsconfig.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/node_modules/@types: *new* + {"pollingInterval":500} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/user/username/projects/myproject/folder/commonFile1.ts: *new* + {} +/user/username/projects/myproject/folder/tsconfig.json: *new* + {} +/user/username/projects/myproject/tsconfig.json: *new* + {} + +Projects:: +/dev/null/inferredProject2* (Inferred) *deleted* + projectStateVersion: 3 + projectProgramVersion: 1 + dirty: true + isClosed: true *changed* + isOrphan: true +/dev/null/inferredProject3* (Inferred) *new* + projectStateVersion: 1 + projectProgramVersion: 1 +/user/username/projects/myproject/folder/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + noOpenRef: true + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + containingProjects: 2 *changed* + /user/username/projects/myproject/folder/tsconfig.json *new* + /dev/null/inferredProject3* *new* + /dev/null/inferredProject2* *deleted* +/user/username/projects/myproject/folder/commonFile1.ts *new* + version: Text-2 + containingProjects: 1 + /user/username/projects/myproject/folder/tsconfig.json +/user/username/projects/myproject/folder/commonFile2.ts (Open) *new* + version: SVC-2-0 + containingProjects: 1 + /dev/null/inferredProject3* *default* + +2: Check when file is closed when config file is deleted +Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /user/username/projects/myproject/folder/tsconfig.json 2:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/myproject/folder/tsconfig.json 2:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file +Before request +//// [/user/username/projects/myproject/folder/tsconfig.json] deleted + +Timeout callback:: count: 2 +5: /user/username/projects/myproject/tsconfig.json *new* +6: *ensureProjectForOpenFiles* *new* + +Projects:: +/dev/null/inferredProject3* (Inferred) + projectStateVersion: 1 + projectProgramVersion: 1 +/user/username/projects/myproject/folder/tsconfig.json (Configured) *changed* + projectStateVersion: 1 + projectProgramVersion: 1 + isOrphan: true *changed* + noOpenRef: false *changed* + deferredClose: true *changed* +/user/username/projects/myproject/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 0 + dirty: true + +Info seq [hh:mm:ss:mss] request: + { + "command": "close", + "arguments": { + "file": "/user/username/projects/myproject/folder/commonFile2.ts" + }, + "seq": 8, + "type": "request" + } +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/commonFile2.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (0) InitialLoadPending + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject3*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/user/username/projects/myproject/folder/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/node_modules/@types: + {"pollingInterval":500} + +PolledWatches *deleted*:: +/user/username/projects/myproject/folder/jsconfig.json: + {"pollingInterval":2000} +/user/username/projects/myproject/jsconfig.json: + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/user/username/projects/myproject/folder/commonFile1.ts: + {} +/user/username/projects/myproject/folder/commonFile2.ts: *new* + {} +/user/username/projects/myproject/folder/tsconfig.json: + {} +/user/username/projects/myproject/tsconfig.json: + {} + +Projects:: +/dev/null/inferredProject3* (Inferred) *changed* + projectStateVersion: 2 *changed* + projectProgramVersion: 1 + dirty: true *changed* + isOrphan: true *changed* +/user/username/projects/myproject/folder/tsconfig.json (Configured) *changed* + projectStateVersion: 1 + projectProgramVersion: 1 + isOrphan: true + noOpenRef: true *changed* + deferredClose: true +/user/username/projects/myproject/tsconfig.json (Configured) *changed* + projectStateVersion: 1 + projectProgramVersion: 0 + dirty: true + noOpenRef: true *changed* + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 2 + /user/username/projects/myproject/folder/tsconfig.json + /dev/null/inferredProject3* +/user/username/projects/myproject/folder/commonFile1.ts + version: Text-2 + containingProjects: 1 + /user/username/projects/myproject/folder/tsconfig.json +/user/username/projects/myproject/folder/commonFile2.ts *changed* + open: false *changed* + version: SVC-2-0 + containingProjects: 0 *changed* + /dev/null/inferredProject3* *deleted* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/random/random.ts", + "fileContent": "export const y = 10;" + }, + "seq": 9, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /random/random.ts ProjectRootPath: undefined:: Result: undefined +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject4* +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject4* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject4*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /random/random.ts SVC-3-0 "export const y = 10;" + + + ../a/lib/lib.d.ts + Default library for target 'es5' + random.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] `remove Project:: +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts + /user/username/projects/myproject/folder/commonFile1.ts + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + commonFile1.ts + Part of 'files' list in tsconfig.json + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] `remove Project:: +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (0) InitialLoadPending + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] `remove Project:: +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject3*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts + /user/username/projects/myproject/folder/commonFile2.ts + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + commonFile2.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /dev/null/inferredProject3* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /dev/null/inferredProject3* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /dev/null/inferredProject3* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /dev/null/inferredProject3* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject3* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject3* WatchType: Type roots +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/commonFile2.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/commonFile1.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject4*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /random/random.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject4* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches *deleted*:: +/user/username/projects/myproject/folder/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/node_modules/@types: + {"pollingInterval":500} + +FsWatches:: +/a/lib/lib.d.ts: + {} + +FsWatches *deleted*:: +/user/username/projects/myproject/folder/commonFile1.ts: + {} +/user/username/projects/myproject/folder/commonFile2.ts: + {} +/user/username/projects/myproject/folder/tsconfig.json: + {} +/user/username/projects/myproject/tsconfig.json: + {} + +Projects:: +/dev/null/inferredProject3* (Inferred) *deleted* + projectStateVersion: 2 + projectProgramVersion: 1 + dirty: true + isClosed: true *changed* + isOrphan: true +/dev/null/inferredProject4* (Inferred) *new* + projectStateVersion: 1 + projectProgramVersion: 1 +/user/username/projects/myproject/folder/tsconfig.json (Configured) *deleted* + projectStateVersion: 1 + projectProgramVersion: 1 + isClosed: true *changed* + isOrphan: true + noOpenRef: true + deferredClose: true +/user/username/projects/myproject/tsconfig.json (Configured) *deleted* + projectStateVersion: 1 + projectProgramVersion: 0 + dirty: true + isClosed: true *changed* + noOpenRef: true + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + containingProjects: 1 *changed* + /dev/null/inferredProject4* *new* + /user/username/projects/myproject/folder/tsconfig.json *deleted* + /dev/null/inferredProject3* *deleted* +/random/random.ts (Open) *new* + version: SVC-3-0 + containingProjects: 1 + /dev/null/inferredProject4* *default* +/user/username/projects/myproject/folder/commonFile1.ts *deleted* + version: Text-2 + containingProjects: 0 *changed* + /user/username/projects/myproject/folder/tsconfig.json *deleted* +/user/username/projects/myproject/folder/commonFile2.ts *deleted* + version: SVC-2-0 + containingProjects: 0 diff --git a/tests/baselines/reference/tsserver/configuredProjects/add-and-then-remove-a-config-file-when-parent-folder-has-config-file.js b/tests/baselines/reference/tsserver/configuredProjects/add-and-then-remove-a-config-file-when-parent-folder-has-config-file.js index 1f594fdf226cc..e413205abe27f 100644 --- a/tests/baselines/reference/tsserver/configuredProjects/add-and-then-remove-a-config-file-when-parent-folder-has-config-file.js +++ b/tests/baselines/reference/tsserver/configuredProjects/add-and-then-remove-a-config-file-when-parent-folder-has-config-file.js @@ -189,6 +189,7 @@ ScriptInfos:: containingProjects: 1 /user/username/projects/myproject/folder/tsconfig.json *default* +1: When config file is deleted and then another file is opened Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /user/username/projects/myproject/folder/tsconfig.json 2:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/commonFile1.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/myproject/tsconfig.json @@ -240,7 +241,6 @@ Info seq [hh:mm:ss:mss] request: "type": "request" } Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json -Info seq [hh:mm:ss:mss] Loading configured project /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -248,7 +248,7 @@ Info seq [hh:mm:ss:mss] event: "event": "projectLoadingStart", "body": { "projectName": "/user/username/projects/myproject/tsconfig.json", - "reason": "Change in config file detected" + "reason": "Change in config file /user/username/projects/myproject/folder/tsconfig.json detected, Creating possible configured project for /user/username/projects/myproject/folder/commonFile1.ts to open" } } Info seq [hh:mm:ss:mss] Config: /user/username/projects/myproject/tsconfig.json : { @@ -333,7 +333,7 @@ Info seq [hh:mm:ss:mss] event: "type": "event", "event": "configFileDiag", "body": { - "triggerFile": "/user/username/projects/myproject/tsconfig.json", + "triggerFile": "/user/username/projects/myproject/folder/commonFile2.ts", "configFile": "/user/username/projects/myproject/tsconfig.json", "diagnostics": [] } @@ -386,14 +386,13 @@ ScriptInfos:: Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /user/username/projects/myproject/folder/tsconfig.json 0:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/folder/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/commonFile1.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/folder/tsconfig.json -Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/folder/tsconfig.json, Cancelled earlier one Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/folder/tsconfig.json Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/myproject/folder/tsconfig.json 0:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file Before running Timeout callback:: count: 3 1: /user/username/projects/myproject/tsconfig.json -4: /user/username/projects/myproject/folder/tsconfig.json -5: *ensureProjectForOpenFiles* +3: /user/username/projects/myproject/folder/tsconfig.json +4: *ensureProjectForOpenFiles* //// [/user/username/projects/myproject/folder/tsconfig.json] { "files": [ @@ -405,8 +404,8 @@ Before running Timeout callback:: count: 3 Timeout callback:: count: 3 2: *ensureProjectForOpenFiles* *deleted* 1: /user/username/projects/myproject/tsconfig.json -4: /user/username/projects/myproject/folder/tsconfig.json *new* -5: *ensureProjectForOpenFiles* *new* +3: /user/username/projects/myproject/folder/tsconfig.json *new* +4: *ensureProjectForOpenFiles* *new* Projects:: /user/username/projects/myproject/folder/tsconfig.json (Configured) *changed* @@ -421,7 +420,6 @@ Projects:: Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/folder/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/folder/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -512,9 +510,10 @@ Projects:: projectStateVersion: 2 projectProgramVersion: 1 dirty: false *changed* -/user/username/projects/myproject/tsconfig.json (Configured) +/user/username/projects/myproject/tsconfig.json (Configured) *changed* projectStateVersion: 1 projectProgramVersion: 1 + noOpenRef: true *changed* Before request @@ -543,11 +542,25 @@ Info seq [hh:mm:ss:mss] Files (2) Root file specified for compilation Info seq [hh:mm:ss:mss] ----------------------------------------------- -Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] `remove Project:: +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts + /user/username/projects/myproject/folder/commonFile2.ts + + + ../../../../a/lib/lib.d.ts + Default library for target 'es5' + folder/commonFile2.ts + Part of 'files' list in tsconfig.json Info seq [hh:mm:ss:mss] ----------------------------------------------- -Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (2) Info seq [hh:mm:ss:mss] ----------------------------------------------- @@ -559,7 +572,7 @@ Info seq [hh:mm:ss:mss] Open files: Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile1.ts ProjectRootPath: undefined Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/folder/tsconfig.json Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined -Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] Projects: Info seq [hh:mm:ss:mss] FileName: /random/random.ts ProjectRootPath: undefined Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] response: @@ -568,6 +581,24 @@ Info seq [hh:mm:ss:mss] response: } After request +PolledWatches:: +/user/username/projects/myproject/folder/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/node_modules/@types: + {"pollingInterval":500} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/user/username/projects/myproject/folder/tsconfig.json: + {} + +FsWatches *deleted*:: +/user/username/projects/myproject/tsconfig.json: + {} + Projects:: /dev/null/inferredProject1* (Inferred) *new* projectStateVersion: 1 @@ -575,17 +606,19 @@ Projects:: /user/username/projects/myproject/folder/tsconfig.json (Configured) projectStateVersion: 2 projectProgramVersion: 1 -/user/username/projects/myproject/tsconfig.json (Configured) +/user/username/projects/myproject/tsconfig.json (Configured) *deleted* projectStateVersion: 1 projectProgramVersion: 1 + isClosed: true *changed* + noOpenRef: true ScriptInfos:: /a/lib/lib.d.ts *changed* version: Text-1 - containingProjects: 3 *changed* + containingProjects: 2 *changed* /user/username/projects/myproject/folder/tsconfig.json - /user/username/projects/myproject/tsconfig.json /dev/null/inferredProject1* *new* + /user/username/projects/myproject/tsconfig.json *deleted* /random/random.ts (Open) *new* version: SVC-1-0 containingProjects: 1 @@ -594,10 +627,10 @@ ScriptInfos:: version: SVC-1-0 containingProjects: 1 /user/username/projects/myproject/folder/tsconfig.json *default* -/user/username/projects/myproject/folder/commonFile2.ts (Open) +/user/username/projects/myproject/folder/commonFile2.ts (Open) *changed* version: SVC-1-0 - containingProjects: 1 - /user/username/projects/myproject/tsconfig.json *default* + containingProjects: 0 *changed* + /user/username/projects/myproject/tsconfig.json *deleted* Before request @@ -614,10 +647,6 @@ Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/project Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (2) -Info seq [hh:mm:ss:mss] ----------------------------------------------- -Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (2) - Info seq [hh:mm:ss:mss] ----------------------------------------------- Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) Info seq [hh:mm:ss:mss] Files (2) @@ -625,7 +654,7 @@ Info seq [hh:mm:ss:mss] Files (2) Info seq [hh:mm:ss:mss] ----------------------------------------------- Info seq [hh:mm:ss:mss] Open files: Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined -Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] Projects: Info seq [hh:mm:ss:mss] FileName: /random/random.ts ProjectRootPath: undefined Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] response: @@ -649,8 +678,6 @@ FsWatches:: {} /user/username/projects/myproject/folder/tsconfig.json: {} -/user/username/projects/myproject/tsconfig.json: - {} Projects:: /dev/null/inferredProject1* (Inferred) @@ -660,16 +687,12 @@ Projects:: projectStateVersion: 2 projectProgramVersion: 1 noOpenRef: true *changed* -/user/username/projects/myproject/tsconfig.json (Configured) - projectStateVersion: 1 - projectProgramVersion: 1 ScriptInfos:: /a/lib/lib.d.ts version: Text-1 - containingProjects: 3 + containingProjects: 2 /user/username/projects/myproject/folder/tsconfig.json - /user/username/projects/myproject/tsconfig.json /dev/null/inferredProject1* /random/random.ts (Open) version: SVC-1-0 @@ -682,8 +705,7 @@ ScriptInfos:: /user/username/projects/myproject/folder/tsconfig.json /user/username/projects/myproject/folder/commonFile2.ts (Open) version: SVC-1-0 - containingProjects: 1 - /user/username/projects/myproject/tsconfig.json *default* + containingProjects: 0 Before request @@ -700,10 +722,6 @@ Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/project Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (2) -Info seq [hh:mm:ss:mss] ----------------------------------------------- -Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (2) - Info seq [hh:mm:ss:mss] ----------------------------------------------- Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) Info seq [hh:mm:ss:mss] Files (2) @@ -735,28 +753,12 @@ FsWatches:: {} /user/username/projects/myproject/folder/tsconfig.json: {} -/user/username/projects/myproject/tsconfig.json: - {} - -Projects:: -/dev/null/inferredProject1* (Inferred) - projectStateVersion: 1 - projectProgramVersion: 1 -/user/username/projects/myproject/folder/tsconfig.json (Configured) - projectStateVersion: 2 - projectProgramVersion: 1 - noOpenRef: true -/user/username/projects/myproject/tsconfig.json (Configured) *changed* - projectStateVersion: 1 - projectProgramVersion: 1 - noOpenRef: true *changed* ScriptInfos:: /a/lib/lib.d.ts version: Text-1 - containingProjects: 3 + containingProjects: 2 /user/username/projects/myproject/folder/tsconfig.json - /user/username/projects/myproject/tsconfig.json /dev/null/inferredProject1* /random/random.ts (Open) version: SVC-1-0 @@ -769,8 +771,7 @@ ScriptInfos:: /user/username/projects/myproject/folder/commonFile2.ts *changed* open: false *changed* version: SVC-1-0 - containingProjects: 1 - /user/username/projects/myproject/tsconfig.json + containingProjects: 0 Before request @@ -786,10 +787,6 @@ Info seq [hh:mm:ss:mss] request: Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (2) -Info seq [hh:mm:ss:mss] ----------------------------------------------- -Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (2) - Info seq [hh:mm:ss:mss] ----------------------------------------------- Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) Info seq [hh:mm:ss:mss] Files (2) @@ -812,17 +809,12 @@ Projects:: projectStateVersion: 2 projectProgramVersion: 1 noOpenRef: true -/user/username/projects/myproject/tsconfig.json (Configured) - projectStateVersion: 1 - projectProgramVersion: 1 - noOpenRef: true ScriptInfos:: /a/lib/lib.d.ts version: Text-1 - containingProjects: 3 + containingProjects: 2 /user/username/projects/myproject/folder/tsconfig.json - /user/username/projects/myproject/tsconfig.json /dev/null/inferredProject1* /random/random.ts *deleted* open: false *changed* @@ -835,8 +827,7 @@ ScriptInfos:: /user/username/projects/myproject/folder/tsconfig.json /user/username/projects/myproject/folder/commonFile2.ts version: SVC-1-0 - containingProjects: 1 - /user/username/projects/myproject/tsconfig.json + containingProjects: 0 Before request @@ -885,24 +876,6 @@ Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/pr Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots -Info seq [hh:mm:ss:mss] `remove Project:: -Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (2) - /a/lib/lib.d.ts - /user/username/projects/myproject/folder/commonFile2.ts - - - ../../../../a/lib/lib.d.ts - Default library for target 'es5' - folder/commonFile2.ts - Part of 'files' list in tsconfig.json - -Info seq [hh:mm:ss:mss] ----------------------------------------------- -Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Config file -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/commonFile1.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/commonFile2.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) @@ -937,8 +910,6 @@ FsWatches *deleted*:: {} /user/username/projects/myproject/folder/tsconfig.json: {} -/user/username/projects/myproject/tsconfig.json: - {} Projects:: /dev/null/inferredProject1* (Inferred) *changed* @@ -951,11 +922,6 @@ Projects:: projectProgramVersion: 1 isClosed: true *changed* noOpenRef: true -/user/username/projects/myproject/tsconfig.json (Configured) *deleted* - projectStateVersion: 1 - projectProgramVersion: 1 - isClosed: true *changed* - noOpenRef: true ScriptInfos:: /a/lib/lib.d.ts *changed* @@ -963,7 +929,6 @@ ScriptInfos:: containingProjects: 1 *changed* /dev/null/inferredProject1* /user/username/projects/myproject/folder/tsconfig.json *deleted* - /user/username/projects/myproject/tsconfig.json *deleted* /random/random.ts (Open) *new* version: SVC-2-0 containingProjects: 1 @@ -974,8 +939,7 @@ ScriptInfos:: /user/username/projects/myproject/folder/tsconfig.json *deleted* /user/username/projects/myproject/folder/commonFile2.ts *deleted* version: SVC-1-0 - containingProjects: 0 *changed* - /user/username/projects/myproject/tsconfig.json *deleted* + containingProjects: 0 Before request @@ -1259,6 +1223,7 @@ ScriptInfos:: containingProjects: 1 /dev/null/inferredProject2* *default* +2: When both files are open and config file is deleted Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /user/username/projects/myproject/folder/tsconfig.json 2:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/commonFile1.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/myproject/tsconfig.json @@ -1267,13 +1232,13 @@ Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/project Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/myproject/folder/tsconfig.json 2:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file Before running Timeout callback:: count: 2 -6: /user/username/projects/myproject/tsconfig.json -7: *ensureProjectForOpenFiles* +5: /user/username/projects/myproject/tsconfig.json +6: *ensureProjectForOpenFiles* //// [/user/username/projects/myproject/folder/tsconfig.json] deleted Timeout callback:: count: 2 -6: /user/username/projects/myproject/tsconfig.json *new* -7: *ensureProjectForOpenFiles* *new* +5: /user/username/projects/myproject/tsconfig.json *new* +6: *ensureProjectForOpenFiles* *new* Projects:: /dev/null/inferredProject2* (Inferred) @@ -1290,7 +1255,6 @@ Projects:: dirty: true Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/tsconfig.json -Info seq [hh:mm:ss:mss] Loading configured project /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -1298,7 +1262,7 @@ Info seq [hh:mm:ss:mss] event: "event": "projectLoadingStart", "body": { "projectName": "/user/username/projects/myproject/tsconfig.json", - "reason": "Change in config file detected" + "reason": "Change in config file /user/username/projects/myproject/folder/tsconfig.json detected, Creating possible configured project for /user/username/projects/myproject/folder/commonFile1.ts to open" } } Info seq [hh:mm:ss:mss] Config: /user/username/projects/myproject/tsconfig.json : { @@ -1478,13 +1442,12 @@ ScriptInfos:: Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /user/username/projects/myproject/folder/tsconfig.json 0:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/folder/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/commonFile1.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/folder/tsconfig.json -Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/folder/tsconfig.json, Cancelled earlier one Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/folder/tsconfig.json Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/myproject/folder/tsconfig.json 0:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file Before running Timeout callback:: count: 2 -9: /user/username/projects/myproject/folder/tsconfig.json -10: *ensureProjectForOpenFiles* +7: /user/username/projects/myproject/folder/tsconfig.json +8: *ensureProjectForOpenFiles* //// [/user/username/projects/myproject/folder/tsconfig.json] { "files": [ @@ -1494,8 +1457,8 @@ Before running Timeout callback:: count: 2 Timeout callback:: count: 2 -9: /user/username/projects/myproject/folder/tsconfig.json *new* -10: *ensureProjectForOpenFiles* *new* +7: /user/username/projects/myproject/folder/tsconfig.json *new* +8: *ensureProjectForOpenFiles* *new* Projects:: /dev/null/inferredProject2* (Inferred) @@ -1512,7 +1475,6 @@ Projects:: projectProgramVersion: 1 Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/folder/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/folder/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -1647,9 +1609,10 @@ Projects:: projectStateVersion: 2 projectProgramVersion: 1 dirty: false *changed* -/user/username/projects/myproject/tsconfig.json (Configured) +/user/username/projects/myproject/tsconfig.json (Configured) *changed* projectStateVersion: 1 projectProgramVersion: 1 + noOpenRef: true *changed* ScriptInfos:: /a/lib/lib.d.ts *changed* @@ -1696,6 +1659,24 @@ Info seq [hh:mm:ss:mss] Files (2) Info seq [hh:mm:ss:mss] ----------------------------------------------- Info seq [hh:mm:ss:mss] `remove Project:: +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts + /user/username/projects/myproject/folder/commonFile2.ts + + + ../../../../a/lib/lib.d.ts + Default library for target 'es5' + folder/commonFile2.ts + Part of 'files' list in tsconfig.json + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] `remove Project:: Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject2*' (Inferred) Info seq [hh:mm:ss:mss] Files (0) @@ -1711,10 +1692,6 @@ Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /us Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (2) -Info seq [hh:mm:ss:mss] ----------------------------------------------- -Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (2) - Info seq [hh:mm:ss:mss] ----------------------------------------------- Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject3*' (Inferred) Info seq [hh:mm:ss:mss] Files (2) @@ -1724,7 +1701,7 @@ Info seq [hh:mm:ss:mss] Open files: Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile1.ts ProjectRootPath: undefined Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/folder/tsconfig.json Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined -Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] Projects: Info seq [hh:mm:ss:mss] FileName: /random/random.ts ProjectRootPath: undefined Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject3* Info seq [hh:mm:ss:mss] response: @@ -1733,6 +1710,24 @@ Info seq [hh:mm:ss:mss] response: } After request +PolledWatches:: +/user/username/projects/myproject/folder/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/node_modules/@types: + {"pollingInterval":500} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/user/username/projects/myproject/folder/tsconfig.json: + {} + +FsWatches *deleted*:: +/user/username/projects/myproject/tsconfig.json: + {} + Projects:: /dev/null/inferredProject2* (Inferred) *deleted* projectStateVersion: 3 @@ -1745,17 +1740,19 @@ Projects:: /user/username/projects/myproject/folder/tsconfig.json (Configured) projectStateVersion: 2 projectProgramVersion: 1 -/user/username/projects/myproject/tsconfig.json (Configured) +/user/username/projects/myproject/tsconfig.json (Configured) *deleted* projectStateVersion: 1 projectProgramVersion: 1 + isClosed: true *changed* + noOpenRef: true ScriptInfos:: /a/lib/lib.d.ts *changed* version: Text-1 - containingProjects: 3 *changed* + containingProjects: 2 *changed* /user/username/projects/myproject/folder/tsconfig.json - /user/username/projects/myproject/tsconfig.json /dev/null/inferredProject3* *new* + /user/username/projects/myproject/tsconfig.json *deleted* /random/random.ts (Open) *new* version: SVC-3-0 containingProjects: 1 @@ -1764,10 +1761,10 @@ ScriptInfos:: version: SVC-2-0 containingProjects: 1 /user/username/projects/myproject/folder/tsconfig.json *default* -/user/username/projects/myproject/folder/commonFile2.ts (Open) +/user/username/projects/myproject/folder/commonFile2.ts (Open) *changed* version: SVC-2-0 - containingProjects: 1 - /user/username/projects/myproject/tsconfig.json *default* + containingProjects: 0 *changed* + /user/username/projects/myproject/tsconfig.json *deleted* Before request @@ -1784,10 +1781,6 @@ Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/project Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (2) -Info seq [hh:mm:ss:mss] ----------------------------------------------- -Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (2) - Info seq [hh:mm:ss:mss] ----------------------------------------------- Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject3*' (Inferred) Info seq [hh:mm:ss:mss] Files (2) @@ -1795,7 +1788,7 @@ Info seq [hh:mm:ss:mss] Files (2) Info seq [hh:mm:ss:mss] ----------------------------------------------- Info seq [hh:mm:ss:mss] Open files: Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined -Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] Projects: Info seq [hh:mm:ss:mss] FileName: /random/random.ts ProjectRootPath: undefined Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject3* Info seq [hh:mm:ss:mss] response: @@ -1819,8 +1812,6 @@ FsWatches:: {} /user/username/projects/myproject/folder/tsconfig.json: {} -/user/username/projects/myproject/tsconfig.json: - {} Projects:: /dev/null/inferredProject3* (Inferred) @@ -1830,16 +1821,12 @@ Projects:: projectStateVersion: 2 projectProgramVersion: 1 noOpenRef: true *changed* -/user/username/projects/myproject/tsconfig.json (Configured) - projectStateVersion: 1 - projectProgramVersion: 1 ScriptInfos:: /a/lib/lib.d.ts version: Text-1 - containingProjects: 3 + containingProjects: 2 /user/username/projects/myproject/folder/tsconfig.json - /user/username/projects/myproject/tsconfig.json /dev/null/inferredProject3* /random/random.ts (Open) version: SVC-3-0 @@ -1852,8 +1839,7 @@ ScriptInfos:: /user/username/projects/myproject/folder/tsconfig.json /user/username/projects/myproject/folder/commonFile2.ts (Open) version: SVC-2-0 - containingProjects: 1 - /user/username/projects/myproject/tsconfig.json *default* + containingProjects: 0 Before request @@ -1870,10 +1856,6 @@ Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/project Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (2) -Info seq [hh:mm:ss:mss] ----------------------------------------------- -Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (2) - Info seq [hh:mm:ss:mss] ----------------------------------------------- Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject3*' (Inferred) Info seq [hh:mm:ss:mss] Files (2) @@ -1905,28 +1887,12 @@ FsWatches:: {} /user/username/projects/myproject/folder/tsconfig.json: {} -/user/username/projects/myproject/tsconfig.json: - {} - -Projects:: -/dev/null/inferredProject3* (Inferred) - projectStateVersion: 1 - projectProgramVersion: 1 -/user/username/projects/myproject/folder/tsconfig.json (Configured) - projectStateVersion: 2 - projectProgramVersion: 1 - noOpenRef: true -/user/username/projects/myproject/tsconfig.json (Configured) *changed* - projectStateVersion: 1 - projectProgramVersion: 1 - noOpenRef: true *changed* ScriptInfos:: /a/lib/lib.d.ts version: Text-1 - containingProjects: 3 + containingProjects: 2 /user/username/projects/myproject/folder/tsconfig.json - /user/username/projects/myproject/tsconfig.json /dev/null/inferredProject3* /random/random.ts (Open) version: SVC-3-0 @@ -1939,8 +1905,7 @@ ScriptInfos:: /user/username/projects/myproject/folder/commonFile2.ts *changed* open: false *changed* version: SVC-2-0 - containingProjects: 1 - /user/username/projects/myproject/tsconfig.json + containingProjects: 0 Before request @@ -1956,10 +1921,6 @@ Info seq [hh:mm:ss:mss] request: Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (2) -Info seq [hh:mm:ss:mss] ----------------------------------------------- -Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (2) - Info seq [hh:mm:ss:mss] ----------------------------------------------- Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject3*' (Inferred) Info seq [hh:mm:ss:mss] Files (2) @@ -1982,17 +1943,12 @@ Projects:: projectStateVersion: 2 projectProgramVersion: 1 noOpenRef: true -/user/username/projects/myproject/tsconfig.json (Configured) - projectStateVersion: 1 - projectProgramVersion: 1 - noOpenRef: true ScriptInfos:: /a/lib/lib.d.ts version: Text-1 - containingProjects: 3 + containingProjects: 2 /user/username/projects/myproject/folder/tsconfig.json - /user/username/projects/myproject/tsconfig.json /dev/null/inferredProject3* /random/random.ts *deleted* open: false *changed* @@ -2005,8 +1961,7 @@ ScriptInfos:: /user/username/projects/myproject/folder/tsconfig.json /user/username/projects/myproject/folder/commonFile2.ts version: SVC-2-0 - containingProjects: 1 - /user/username/projects/myproject/tsconfig.json + containingProjects: 0 Before request @@ -2055,27 +2010,9 @@ Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/pr Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots -Info seq [hh:mm:ss:mss] `remove Project:: -Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (2) - /a/lib/lib.d.ts - /user/username/projects/myproject/folder/commonFile2.ts - - - ../../../../a/lib/lib.d.ts - Default library for target 'es5' - folder/commonFile2.ts - Part of 'files' list in tsconfig.json - -Info seq [hh:mm:ss:mss] ----------------------------------------------- -Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots -Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/commonFile1.ts 500 undefined WatchType: Closed Script info -Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/commonFile2.ts 500 undefined WatchType: Closed Script info -Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject3*' (Inferred) +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/commonFile1.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/commonFile2.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject3*' (Inferred) Info seq [hh:mm:ss:mss] Files (2) Info seq [hh:mm:ss:mss] ----------------------------------------------- @@ -2107,8 +2044,6 @@ FsWatches *deleted*:: {} /user/username/projects/myproject/folder/tsconfig.json: {} -/user/username/projects/myproject/tsconfig.json: - {} Projects:: /dev/null/inferredProject3* (Inferred) *changed* @@ -2121,11 +2056,6 @@ Projects:: projectProgramVersion: 1 isClosed: true *changed* noOpenRef: true -/user/username/projects/myproject/tsconfig.json (Configured) *deleted* - projectStateVersion: 1 - projectProgramVersion: 1 - isClosed: true *changed* - noOpenRef: true ScriptInfos:: /a/lib/lib.d.ts *changed* @@ -2133,7 +2063,6 @@ ScriptInfos:: containingProjects: 1 *changed* /dev/null/inferredProject3* /user/username/projects/myproject/folder/tsconfig.json *deleted* - /user/username/projects/myproject/tsconfig.json *deleted* /random/random.ts (Open) *new* version: SVC-4-0 containingProjects: 1 @@ -2144,8 +2073,7 @@ ScriptInfos:: /user/username/projects/myproject/folder/tsconfig.json *deleted* /user/username/projects/myproject/folder/commonFile2.ts *deleted* version: SVC-2-0 - containingProjects: 0 *changed* - /user/username/projects/myproject/tsconfig.json *deleted* + containingProjects: 0 Before request @@ -2321,6 +2249,7 @@ ScriptInfos:: containingProjects: 1 /user/username/projects/myproject/folder/tsconfig.json *default* +3: Check when both files are closed when config file is deleted Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /user/username/projects/myproject/folder/tsconfig.json 2:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/commonFile1.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/myproject/tsconfig.json @@ -2348,8 +2277,8 @@ FsWatches:: {} Timeout callback:: count: 2 -11: /user/username/projects/myproject/tsconfig.json *new* -12: *ensureProjectForOpenFiles* *new* +9: /user/username/projects/myproject/tsconfig.json *new* +10: *ensureProjectForOpenFiles* *new* Projects:: /user/username/projects/myproject/folder/tsconfig.json (Configured) *changed* @@ -2372,7 +2301,6 @@ Info seq [hh:mm:ss:mss] request: "type": "request" } Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json -Info seq [hh:mm:ss:mss] Loading configured project /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -2380,7 +2308,7 @@ Info seq [hh:mm:ss:mss] event: "event": "projectLoadingStart", "body": { "projectName": "/user/username/projects/myproject/tsconfig.json", - "reason": "Change in config file detected" + "reason": "Change in config file /user/username/projects/myproject/folder/tsconfig.json detected, Creating possible configured project for /user/username/projects/myproject/folder/commonFile1.ts to open" } } Info seq [hh:mm:ss:mss] Config: /user/username/projects/myproject/tsconfig.json : { @@ -2424,7 +2352,7 @@ Info seq [hh:mm:ss:mss] event: "type": "event", "event": "configFileDiag", "body": { - "triggerFile": "/user/username/projects/myproject/tsconfig.json", + "triggerFile": "/user/username/projects/myproject/folder/commonFile2.ts", "configFile": "/user/username/projects/myproject/tsconfig.json", "diagnostics": [] } @@ -2932,6 +2860,7 @@ ScriptInfos:: containingProjects: 1 /user/username/projects/myproject/folder/tsconfig.json *default* +4: Check when both files are closed one by one when file is deleted Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /user/username/projects/myproject/folder/tsconfig.json 2:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/commonFile1.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/myproject/tsconfig.json @@ -2959,10 +2888,10 @@ FsWatches:: {} Timeout callback:: count: 2 -11: /user/username/projects/myproject/tsconfig.json *deleted* -12: *ensureProjectForOpenFiles* *deleted* -13: /user/username/projects/myproject/tsconfig.json *new* -14: *ensureProjectForOpenFiles* *new* +9: /user/username/projects/myproject/tsconfig.json *deleted* +10: *ensureProjectForOpenFiles* *deleted* +11: /user/username/projects/myproject/tsconfig.json *new* +12: *ensureProjectForOpenFiles* *new* Projects:: /user/username/projects/myproject/folder/tsconfig.json (Configured) *changed* @@ -2985,7 +2914,6 @@ Info seq [hh:mm:ss:mss] request: "type": "request" } Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json -Info seq [hh:mm:ss:mss] Loading configured project /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -2993,7 +2921,7 @@ Info seq [hh:mm:ss:mss] event: "event": "projectLoadingStart", "body": { "projectName": "/user/username/projects/myproject/tsconfig.json", - "reason": "Change in config file detected" + "reason": "Change in config file /user/username/projects/myproject/folder/tsconfig.json detected, Creating possible configured project for /user/username/projects/myproject/folder/commonFile1.ts to open" } } Info seq [hh:mm:ss:mss] Config: /user/username/projects/myproject/tsconfig.json : { @@ -3037,7 +2965,7 @@ Info seq [hh:mm:ss:mss] event: "type": "event", "event": "configFileDiag", "body": { - "triggerFile": "/user/username/projects/myproject/tsconfig.json", + "triggerFile": "/user/username/projects/myproject/folder/commonFile2.ts", "configFile": "/user/username/projects/myproject/tsconfig.json", "diagnostics": [] } @@ -3716,6 +3644,7 @@ ScriptInfos:: containingProjects: 1 /user/username/projects/myproject/folder/tsconfig.json *default* +5: Check when both files are closed one by one when file is deleted order changed Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /user/username/projects/myproject/folder/tsconfig.json 2:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/commonFile1.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/myproject/tsconfig.json @@ -3743,10 +3672,10 @@ FsWatches:: {} Timeout callback:: count: 2 -13: /user/username/projects/myproject/tsconfig.json *deleted* -14: *ensureProjectForOpenFiles* *deleted* -15: /user/username/projects/myproject/tsconfig.json *new* -16: *ensureProjectForOpenFiles* *new* +11: /user/username/projects/myproject/tsconfig.json *deleted* +12: *ensureProjectForOpenFiles* *deleted* +13: /user/username/projects/myproject/tsconfig.json *new* +14: *ensureProjectForOpenFiles* *new* Projects:: /user/username/projects/myproject/folder/tsconfig.json (Configured) *changed* @@ -3769,7 +3698,6 @@ Info seq [hh:mm:ss:mss] request: "type": "request" } Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json -Info seq [hh:mm:ss:mss] Loading configured project /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -3777,7 +3705,7 @@ Info seq [hh:mm:ss:mss] event: "event": "projectLoadingStart", "body": { "projectName": "/user/username/projects/myproject/tsconfig.json", - "reason": "Change in config file detected" + "reason": "Change in config file /user/username/projects/myproject/folder/tsconfig.json detected, Creating possible configured project for /user/username/projects/myproject/folder/commonFile1.ts to open" } } Info seq [hh:mm:ss:mss] Config: /user/username/projects/myproject/tsconfig.json : { @@ -3821,7 +3749,7 @@ Info seq [hh:mm:ss:mss] event: "type": "event", "event": "configFileDiag", "body": { - "triggerFile": "/user/username/projects/myproject/tsconfig.json", + "triggerFile": "/user/username/projects/myproject/folder/commonFile2.ts", "configFile": "/user/username/projects/myproject/tsconfig.json", "diagnostics": [] } @@ -4314,3 +4242,494 @@ ScriptInfos:: version: SVC-5-0 containingProjects: 0 *changed* /user/username/projects/myproject/tsconfig.json *deleted* + +6. Check closing commonFile2 first +Before request +//// [/user/username/projects/myproject/folder/tsconfig.json] +{ + "files": [ + "commonFile1.ts" + ] +} + + +Info seq [hh:mm:ss:mss] request: + { + "command": "close", + "arguments": { + "file": "/random/random.ts" + }, + "seq": 38, + "type": "request" + } +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject6*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +Projects:: +/dev/null/inferredProject6* (Inferred) *changed* + projectStateVersion: 3 *changed* + projectProgramVersion: 1 + dirty: true *changed* + isOrphan: true *changed* + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject6* +/random/random.ts *deleted* + open: false *changed* + version: SVC-9-0 + containingProjects: 0 *changed* + /dev/null/inferredProject6* *deleted* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/user/username/projects/myproject/folder/commonFile1.ts" + }, + "seq": 39, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/commonFile1.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/user/username/projects/myproject/folder/tsconfig.json", + "reason": "Creating possible configured project for /user/username/projects/myproject/folder/commonFile1.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /user/username/projects/myproject/folder/tsconfig.json : { + "rootNames": [ + "/user/username/projects/myproject/folder/commonFile1.ts" + ], + "options": { + "configFilePath": "/user/username/projects/myproject/folder/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /user/username/projects/myproject/folder/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /user/username/projects/myproject/folder/commonFile1.ts SVC-6-0 "let x = 1" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + commonFile1.ts + Part of 'files' list in tsconfig.json + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/user/username/projects/myproject/folder/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/folder/commonFile1.ts", + "configFile": "/user/username/projects/myproject/folder/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] `remove Project:: +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject6*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts + /random/random.ts + + + ../a/lib/lib.d.ts + Default library for target 'es5' + random.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile1.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/user/username/projects/myproject/folder/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/myproject/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/node_modules/@types: *new* + {"pollingInterval":500} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/user/username/projects/myproject/folder/tsconfig.json: *new* + {} + +Projects:: +/dev/null/inferredProject6* (Inferred) *deleted* + projectStateVersion: 3 + projectProgramVersion: 1 + dirty: true + isClosed: true *changed* + isOrphan: true +/user/username/projects/myproject/folder/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + containingProjects: 1 *changed* + /user/username/projects/myproject/folder/tsconfig.json *new* + /dev/null/inferredProject6* *deleted* +/user/username/projects/myproject/folder/commonFile1.ts (Open) *new* + version: SVC-6-0 + containingProjects: 1 + /user/username/projects/myproject/folder/tsconfig.json *default* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/user/username/projects/myproject/folder/commonFile2.ts" + }, + "seq": 40, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/folder/commonFile2.ts", + "configFile": "/user/username/projects/myproject/folder/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject7* +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /dev/null/inferredProject7* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /dev/null/inferredProject7* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /dev/null/inferredProject7* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /dev/null/inferredProject7* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject7* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject7* WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject7* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject7*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /user/username/projects/myproject/folder/commonFile2.ts SVC-6-0 "let y = 1" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + commonFile2.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject7*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile1.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject7* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/user/username/projects/myproject/folder/jsconfig.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/folder/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/jsconfig.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/node_modules/@types: + {"pollingInterval":500} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/user/username/projects/myproject/folder/tsconfig.json: + {} +/user/username/projects/myproject/tsconfig.json: *new* + {} + +Projects:: +/dev/null/inferredProject7* (Inferred) *new* + projectStateVersion: 1 + projectProgramVersion: 1 +/user/username/projects/myproject/folder/tsconfig.json (Configured) + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + containingProjects: 2 *changed* + /user/username/projects/myproject/folder/tsconfig.json + /dev/null/inferredProject7* *new* +/user/username/projects/myproject/folder/commonFile1.ts (Open) + version: SVC-6-0 + containingProjects: 1 + /user/username/projects/myproject/folder/tsconfig.json *default* +/user/username/projects/myproject/folder/commonFile2.ts (Open) *new* + version: SVC-6-0 + containingProjects: 1 + /dev/null/inferredProject7* *default* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "close", + "arguments": { + "file": "/user/username/projects/myproject/folder/commonFile2.ts" + }, + "seq": 41, + "type": "request" + } +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/commonFile2.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject7*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile1.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/user/username/projects/myproject/folder/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/node_modules/@types: + {"pollingInterval":500} + +PolledWatches *deleted*:: +/user/username/projects/myproject/folder/jsconfig.json: + {"pollingInterval":2000} +/user/username/projects/myproject/jsconfig.json: + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/user/username/projects/myproject/folder/commonFile2.ts: *new* + {} +/user/username/projects/myproject/folder/tsconfig.json: + {} + +FsWatches *deleted*:: +/user/username/projects/myproject/tsconfig.json: + {} + +Projects:: +/dev/null/inferredProject7* (Inferred) *changed* + projectStateVersion: 2 *changed* + projectProgramVersion: 1 + dirty: true *changed* + isOrphan: true *changed* +/user/username/projects/myproject/folder/tsconfig.json (Configured) + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 2 + /user/username/projects/myproject/folder/tsconfig.json + /dev/null/inferredProject7* +/user/username/projects/myproject/folder/commonFile1.ts (Open) + version: SVC-6-0 + containingProjects: 1 + /user/username/projects/myproject/folder/tsconfig.json *default* +/user/username/projects/myproject/folder/commonFile2.ts *changed* + open: false *changed* + version: SVC-6-0 + containingProjects: 0 *changed* + /dev/null/inferredProject7* *deleted* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/random/random.ts", + "fileContent": "export const y = 10;" + }, + "seq": 42, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /random/random.ts ProjectRootPath: undefined:: Result: undefined +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject8* +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject8* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject8*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /random/random.ts SVC-10-0 "export const y = 10;" + + + ../a/lib/lib.d.ts + Default library for target 'es5' + random.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] `remove Project:: +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject7*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts + /user/username/projects/myproject/folder/commonFile2.ts + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + commonFile2.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /dev/null/inferredProject7* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /dev/null/inferredProject7* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /dev/null/inferredProject7* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /dev/null/inferredProject7* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject7* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject7* WatchType: Type roots +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/commonFile2.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject8*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile1.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] FileName: /random/random.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject8* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/user/username/projects/myproject/folder/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/node_modules/@types: + {"pollingInterval":500} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/user/username/projects/myproject/folder/tsconfig.json: + {} + +FsWatches *deleted*:: +/user/username/projects/myproject/folder/commonFile2.ts: + {} + +Projects:: +/dev/null/inferredProject7* (Inferred) *deleted* + projectStateVersion: 2 + projectProgramVersion: 1 + dirty: true + isClosed: true *changed* + isOrphan: true +/dev/null/inferredProject8* (Inferred) *new* + projectStateVersion: 1 + projectProgramVersion: 1 +/user/username/projects/myproject/folder/tsconfig.json (Configured) + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + containingProjects: 2 *changed* + /user/username/projects/myproject/folder/tsconfig.json + /dev/null/inferredProject8* *new* + /dev/null/inferredProject7* *deleted* +/random/random.ts (Open) *new* + version: SVC-10-0 + containingProjects: 1 + /dev/null/inferredProject8* *default* +/user/username/projects/myproject/folder/commonFile1.ts (Open) + version: SVC-6-0 + containingProjects: 1 + /user/username/projects/myproject/folder/tsconfig.json *default* +/user/username/projects/myproject/folder/commonFile2.ts *deleted* + version: SVC-6-0 + containingProjects: 0 diff --git a/tests/baselines/reference/tsserver/configuredProjects/add-and-then-remove-a-config-file-with-sibling-jsconfig-file-and-file-from-first-config-is-not-open.js b/tests/baselines/reference/tsserver/configuredProjects/add-and-then-remove-a-config-file-with-sibling-jsconfig-file-and-file-from-first-config-is-not-open.js new file mode 100644 index 0000000000000..f056c6073695b --- /dev/null +++ b/tests/baselines/reference/tsserver/configuredProjects/add-and-then-remove-a-config-file-with-sibling-jsconfig-file-and-file-from-first-config-is-not-open.js @@ -0,0 +1,1436 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +Before request +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } + +//// [/user/username/projects/myproject/folder/commonFile1.ts] +let x = 1 + +//// [/user/username/projects/myproject/folder/commonFile2.ts] +let y = 1 + +//// [/user/username/projects/myproject/folder/tsconfig.json] +{ + "files": [ + "commonFile1.ts" + ] +} + +//// [/user/username/projects/myproject/folder/jsconfig.json] +{ + "files": [ + "commonFile2.ts" + ], + "typeAcquisition": { + "enable": false + } +} + + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/user/username/projects/myproject/folder/commonFile2.ts" + }, + "seq": 1, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/user/username/projects/myproject/folder/tsconfig.json", + "reason": "Creating possible configured project for /user/username/projects/myproject/folder/commonFile2.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /user/username/projects/myproject/folder/tsconfig.json : { + "rootNames": [ + "/user/username/projects/myproject/folder/commonFile1.ts" + ], + "options": { + "configFilePath": "/user/username/projects/myproject/folder/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/commonFile1.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /user/username/projects/myproject/folder/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /user/username/projects/myproject/folder/commonFile1.ts Text-1 "let x = 1" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + commonFile1.ts + Part of 'files' list in tsconfig.json + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/user/username/projects/myproject/folder/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "telemetry", + "body": { + "telemetryEventName": "projectInfo", + "payload": { + "projectId": "d66ffa710f0cbc2142bfc53fcc2dacdbf63298100e7d9745f4adb9d8bbbc4673", + "fileStats": { + "js": 0, + "jsSize": 0, + "jsx": 0, + "jsxSize": 0, + "ts": 1, + "tsSize": 9, + "tsx": 0, + "tsxSize": 0, + "dts": 1, + "dtsSize": 334, + "deferred": 0, + "deferredSize": 0 + }, + "compilerOptions": {}, + "typeAcquisition": { + "enable": false, + "include": false, + "exclude": false + }, + "extends": false, + "files": true, + "include": false, + "exclude": false, + "compileOnSave": false, + "configFileName": "tsconfig.json", + "projectType": "configured", + "languageServiceEnabled": true, + "version": "FakeVersion" + } + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/folder/commonFile2.ts", + "configFile": "/user/username/projects/myproject/folder/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /user/username/projects/myproject/folder/commonFile2.ts SVC-1-0 "let y = 1" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + commonFile2.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/user/username/projects/myproject/folder/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/myproject/jsconfig.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/myproject/tsconfig.json: *new* + {"pollingInterval":2000} +/user/username/projects/node_modules/@types: *new* + {"pollingInterval":500} + +FsWatches:: +/a/lib/lib.d.ts: *new* + {} +/user/username/projects/myproject/folder/commonFile1.ts: *new* + {} +/user/username/projects/myproject/folder/jsconfig.json: *new* + {} +/user/username/projects/myproject/folder/tsconfig.json: *new* + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) *new* + projectStateVersion: 1 + projectProgramVersion: 1 +/user/username/projects/myproject/folder/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + noOpenRef: true + +ScriptInfos:: +/a/lib/lib.d.ts *new* + version: Text-1 + containingProjects: 2 + /user/username/projects/myproject/folder/tsconfig.json + /dev/null/inferredProject1* +/user/username/projects/myproject/folder/commonFile1.ts *new* + version: Text-1 + containingProjects: 1 + /user/username/projects/myproject/folder/tsconfig.json +/user/username/projects/myproject/folder/commonFile2.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject1* *default* + +1: When config file is deleted +Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /user/username/projects/myproject/folder/tsconfig.json 2:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/folder/jsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/myproject/folder/jsconfig.json +Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/folder/jsconfig.json +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/myproject/folder/tsconfig.json 2:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file +Before running Timeout callback:: count: 2 +1: /user/username/projects/myproject/folder/jsconfig.json +2: *ensureProjectForOpenFiles* +//// [/user/username/projects/myproject/folder/tsconfig.json] deleted + +Timeout callback:: count: 2 +1: /user/username/projects/myproject/folder/jsconfig.json *new* +2: *ensureProjectForOpenFiles* *new* + +Projects:: +/dev/null/inferredProject1* (Inferred) + projectStateVersion: 1 + projectProgramVersion: 1 +/user/username/projects/myproject/folder/jsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 0 + dirty: true +/user/username/projects/myproject/folder/tsconfig.json (Configured) *changed* + projectStateVersion: 1 + projectProgramVersion: 1 + isOrphan: true *changed* + noOpenRef: false *changed* + deferredClose: true *changed* + +Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/folder/jsconfig.json +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/user/username/projects/myproject/folder/jsconfig.json", + "reason": "Change in config file /user/username/projects/myproject/folder/tsconfig.json detected, Creating possible configured project for /user/username/projects/myproject/folder/commonFile2.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /user/username/projects/myproject/folder/jsconfig.json : { + "rootNames": [ + "/user/username/projects/myproject/folder/commonFile2.ts" + ], + "options": { + "allowJs": true, + "maxNodeModuleJsDepth": 2, + "allowSyntheticDefaultImports": true, + "skipLibCheck": true, + "noEmit": true, + "configFilePath": "/user/username/projects/myproject/folder/jsconfig.json" + } +} +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/projects/myproject/folder/jsconfig.json +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /user/username/projects/myproject/folder/jsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/jsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /user/username/projects/myproject/folder/commonFile2.ts SVC-1-0 "let y = 1" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + commonFile2.ts + Part of 'files' list in tsconfig.json + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/user/username/projects/myproject/folder/jsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "telemetry", + "body": { + "telemetryEventName": "projectInfo", + "payload": { + "projectId": "7ce160eaeae23338c6f2e8e00f062abd150d682460be0ae4ab944f404d879ea8", + "fileStats": { + "js": 0, + "jsSize": 0, + "jsx": 0, + "jsxSize": 0, + "ts": 1, + "tsSize": 9, + "tsx": 0, + "tsxSize": 0, + "dts": 1, + "dtsSize": 334, + "deferred": 0, + "deferredSize": 0 + }, + "compilerOptions": { + "allowJs": true, + "maxNodeModuleJsDepth": 2, + "allowSyntheticDefaultImports": true, + "skipLibCheck": true, + "noEmit": true + }, + "typeAcquisition": { + "enable": false, + "include": false, + "exclude": false + }, + "extends": false, + "files": true, + "include": false, + "exclude": false, + "compileOnSave": false, + "configFileName": "jsconfig.json", + "projectType": "configured", + "languageServiceEnabled": true, + "version": "FakeVersion" + } + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/folder/jsconfig.json", + "configFile": "/user/username/projects/myproject/folder/jsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/jsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/folder/jsconfig.json +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 2 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (0) + + + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] After ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/jsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (0) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/folder/jsconfig.json +Info seq [hh:mm:ss:mss] got projects updated in background /user/username/projects/myproject/folder/commonFile2.ts +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectsUpdatedInBackground", + "body": { + "openFiles": [ + "/user/username/projects/myproject/folder/commonFile2.ts" + ] + } + } +After running Timeout callback:: count: 0 + +PolledWatches:: +/user/username/projects/myproject/folder/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/node_modules/@types: + {"pollingInterval":500} + +PolledWatches *deleted*:: +/user/username/projects/myproject/jsconfig.json: + {"pollingInterval":2000} +/user/username/projects/myproject/tsconfig.json: + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/user/username/projects/myproject/folder/commonFile1.ts: + {} +/user/username/projects/myproject/folder/jsconfig.json: + {} +/user/username/projects/myproject/folder/tsconfig.json: + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) *changed* + projectStateVersion: 2 *changed* + projectProgramVersion: 2 *changed* + isOrphan: true *changed* +/user/username/projects/myproject/folder/jsconfig.json (Configured) *changed* + projectStateVersion: 1 + projectProgramVersion: 1 *changed* + dirty: false *changed* +/user/username/projects/myproject/folder/tsconfig.json (Configured) + projectStateVersion: 1 + projectProgramVersion: 1 + isOrphan: true + deferredClose: true + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + containingProjects: 2 *changed* + /user/username/projects/myproject/folder/tsconfig.json + /user/username/projects/myproject/folder/jsconfig.json *new* + /dev/null/inferredProject1* *deleted* +/user/username/projects/myproject/folder/commonFile1.ts + version: Text-1 + containingProjects: 1 + /user/username/projects/myproject/folder/tsconfig.json +/user/username/projects/myproject/folder/commonFile2.ts (Open) *changed* + version: SVC-1-0 + containingProjects: 1 *changed* + /user/username/projects/myproject/folder/jsconfig.json *default* *new* + /dev/null/inferredProject1* *deleted* + +Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /user/username/projects/myproject/folder/tsconfig.json 0:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/myproject/folder/tsconfig.json 0:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file +Before running Timeout callback:: count: 2 +3: /user/username/projects/myproject/folder/tsconfig.json +4: *ensureProjectForOpenFiles* +//// [/user/username/projects/myproject/folder/tsconfig.json] +{ + "files": [ + "commonFile1.ts" + ] +} + + +Timeout callback:: count: 2 +3: /user/username/projects/myproject/folder/tsconfig.json *new* +4: *ensureProjectForOpenFiles* *new* + +Projects:: +/dev/null/inferredProject1* (Inferred) + projectStateVersion: 2 + projectProgramVersion: 2 + isOrphan: true +/user/username/projects/myproject/folder/jsconfig.json (Configured) + projectStateVersion: 1 + projectProgramVersion: 1 +/user/username/projects/myproject/folder/tsconfig.json (Configured) *changed* + projectStateVersion: 2 *changed* + projectProgramVersion: 1 + dirty: true *changed* + isOrphan: false *changed* + deferredClose: undefined *changed* + +Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/user/username/projects/myproject/folder/tsconfig.json", + "reason": "Change in config file detected" + } + } +Info seq [hh:mm:ss:mss] Config: /user/username/projects/myproject/folder/tsconfig.json : { + "rootNames": [ + "/user/username/projects/myproject/folder/commonFile1.ts" + ], + "options": { + "configFilePath": "/user/username/projects/myproject/folder/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /user/username/projects/myproject/folder/tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: false structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Same program as before +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/user/username/projects/myproject/folder/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/folder/tsconfig.json", + "configFile": "/user/username/projects/myproject/folder/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/jsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (0) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/folder/jsconfig.json +Info seq [hh:mm:ss:mss] After ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/jsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (0) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/folder/jsconfig.json +Info seq [hh:mm:ss:mss] got projects updated in background /user/username/projects/myproject/folder/commonFile2.ts +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectsUpdatedInBackground", + "body": { + "openFiles": [ + "/user/username/projects/myproject/folder/commonFile2.ts" + ] + } + } +After running Timeout callback:: count: 0 + +Projects:: +/dev/null/inferredProject1* (Inferred) + projectStateVersion: 2 + projectProgramVersion: 2 + isOrphan: true +/user/username/projects/myproject/folder/jsconfig.json (Configured) *changed* + projectStateVersion: 1 + projectProgramVersion: 1 + noOpenRef: true *changed* +/user/username/projects/myproject/folder/tsconfig.json (Configured) *changed* + projectStateVersion: 2 + projectProgramVersion: 1 + dirty: false *changed* + noOpenRef: true *changed* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/random/random.ts", + "fileContent": "export const y = 10;" + }, + "seq": 2, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /random/random.ts ProjectRootPath: undefined:: Result: undefined +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject2* +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject2* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject2*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /random/random.ts SVC-1-0 "export const y = 10;" + + + ../a/lib/lib.d.ts + Default library for target 'es5' + random.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] `remove Project:: +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts + /user/username/projects/myproject/folder/commonFile1.ts + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + commonFile1.ts + Part of 'files' list in tsconfig.json + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] `remove Project:: +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/jsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts + /user/username/projects/myproject/folder/commonFile2.ts + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + commonFile2.ts + Part of 'files' list in tsconfig.json + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] `remove Project:: +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (0) + + + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/commonFile1.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject2*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: +Info seq [hh:mm:ss:mss] FileName: /random/random.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject2* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches *deleted*:: +/user/username/projects/myproject/folder/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/node_modules/@types: + {"pollingInterval":500} + +FsWatches:: +/a/lib/lib.d.ts: + {} + +FsWatches *deleted*:: +/user/username/projects/myproject/folder/commonFile1.ts: + {} +/user/username/projects/myproject/folder/jsconfig.json: + {} +/user/username/projects/myproject/folder/tsconfig.json: + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) *deleted* + projectStateVersion: 2 + projectProgramVersion: 2 + isClosed: true *changed* + isOrphan: true +/dev/null/inferredProject2* (Inferred) *new* + projectStateVersion: 1 + projectProgramVersion: 1 +/user/username/projects/myproject/folder/jsconfig.json (Configured) *deleted* + projectStateVersion: 1 + projectProgramVersion: 1 + isClosed: true *changed* + noOpenRef: true +/user/username/projects/myproject/folder/tsconfig.json (Configured) *deleted* + projectStateVersion: 2 + projectProgramVersion: 1 + isClosed: true *changed* + noOpenRef: true + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + containingProjects: 1 *changed* + /dev/null/inferredProject2* *new* + /user/username/projects/myproject/folder/tsconfig.json *deleted* + /user/username/projects/myproject/folder/jsconfig.json *deleted* +/random/random.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* +/user/username/projects/myproject/folder/commonFile1.ts *deleted* + version: Text-1 + containingProjects: 0 *changed* + /user/username/projects/myproject/folder/tsconfig.json *deleted* +/user/username/projects/myproject/folder/commonFile2.ts (Open) *changed* + version: SVC-1-0 + containingProjects: 0 *changed* + /user/username/projects/myproject/folder/jsconfig.json *deleted* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "close", + "arguments": { + "file": "/user/username/projects/myproject/folder/commonFile2.ts" + }, + "seq": 3, + "type": "request" + } +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/commonFile2.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject2*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /random/random.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject2* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +FsWatches:: +/a/lib/lib.d.ts: + {} +/user/username/projects/myproject/folder/commonFile2.ts: *new* + {} + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/random/random.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* +/user/username/projects/myproject/folder/commonFile2.ts *changed* + open: false *changed* + version: SVC-1-0 + containingProjects: 0 + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "close", + "arguments": { + "file": "/random/random.ts" + }, + "seq": 4, + "type": "request" + } +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject2*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +Projects:: +/dev/null/inferredProject2* (Inferred) *changed* + projectStateVersion: 2 *changed* + projectProgramVersion: 1 + dirty: true *changed* + isOrphan: true *changed* + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/random/random.ts *deleted* + open: false *changed* + version: SVC-1-0 + containingProjects: 0 *changed* + /dev/null/inferredProject2* *deleted* +/user/username/projects/myproject/folder/commonFile2.ts + version: SVC-1-0 + containingProjects: 0 + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/random/random.ts", + "fileContent": "export const y = 10;" + }, + "seq": 5, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /random/random.ts ProjectRootPath: undefined:: Result: undefined +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject2* +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject2* projectStateVersion: 2 projectProgramVersion: 1 structureChanged: false structureIsReused:: Completely Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject2*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /random/random.ts SVC-2-0 "export const y = 10;" + + + ../a/lib/lib.d.ts + Default library for target 'es5' + random.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/commonFile2.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject2*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /random/random.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject2* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +FsWatches:: +/a/lib/lib.d.ts: + {} + +FsWatches *deleted*:: +/user/username/projects/myproject/folder/commonFile2.ts: + {} + +Projects:: +/dev/null/inferredProject2* (Inferred) *changed* + projectStateVersion: 2 + projectProgramVersion: 1 + dirty: false *changed* + isOrphan: false *changed* + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/random/random.ts (Open) *new* + version: SVC-2-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* +/user/username/projects/myproject/folder/commonFile2.ts *deleted* + version: SVC-1-0 + containingProjects: 0 + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "close", + "arguments": { + "file": "/random/random.ts" + }, + "seq": 6, + "type": "request" + } +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject2*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +Projects:: +/dev/null/inferredProject2* (Inferred) *changed* + projectStateVersion: 3 *changed* + projectProgramVersion: 1 + dirty: true *changed* + isOrphan: true *changed* + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/random/random.ts *deleted* + open: false *changed* + version: SVC-2-0 + containingProjects: 0 *changed* + /dev/null/inferredProject2* *deleted* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/user/username/projects/myproject/folder/commonFile2.ts" + }, + "seq": 7, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/user/username/projects/myproject/folder/tsconfig.json", + "reason": "Creating possible configured project for /user/username/projects/myproject/folder/commonFile2.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /user/username/projects/myproject/folder/tsconfig.json : { + "rootNames": [ + "/user/username/projects/myproject/folder/commonFile1.ts" + ], + "options": { + "configFilePath": "/user/username/projects/myproject/folder/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/commonFile1.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /user/username/projects/myproject/folder/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /user/username/projects/myproject/folder/commonFile1.ts Text-2 "let x = 1" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + commonFile1.ts + Part of 'files' list in tsconfig.json + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/user/username/projects/myproject/folder/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/folder/commonFile2.ts", + "configFile": "/user/username/projects/myproject/folder/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject3* +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /dev/null/inferredProject3* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /dev/null/inferredProject3* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /dev/null/inferredProject3* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /dev/null/inferredProject3* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject3* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject3* WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject3* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject3*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /user/username/projects/myproject/folder/commonFile2.ts SVC-2-0 "let y = 1" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + commonFile2.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] `remove Project:: +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject2*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts + /random/random.ts + + + ../a/lib/lib.d.ts + Default library for target 'es5' + random.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject3*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject3* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/user/username/projects/myproject/folder/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/myproject/jsconfig.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/myproject/tsconfig.json: *new* + {"pollingInterval":2000} +/user/username/projects/node_modules/@types: *new* + {"pollingInterval":500} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/user/username/projects/myproject/folder/commonFile1.ts: *new* + {} +/user/username/projects/myproject/folder/jsconfig.json: *new* + {} +/user/username/projects/myproject/folder/tsconfig.json: *new* + {} + +Projects:: +/dev/null/inferredProject2* (Inferred) *deleted* + projectStateVersion: 3 + projectProgramVersion: 1 + dirty: true + isClosed: true *changed* + isOrphan: true +/dev/null/inferredProject3* (Inferred) *new* + projectStateVersion: 1 + projectProgramVersion: 1 +/user/username/projects/myproject/folder/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + noOpenRef: true + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + containingProjects: 2 *changed* + /user/username/projects/myproject/folder/tsconfig.json *new* + /dev/null/inferredProject3* *new* + /dev/null/inferredProject2* *deleted* +/user/username/projects/myproject/folder/commonFile1.ts *new* + version: Text-2 + containingProjects: 1 + /user/username/projects/myproject/folder/tsconfig.json +/user/username/projects/myproject/folder/commonFile2.ts (Open) *new* + version: SVC-2-0 + containingProjects: 1 + /dev/null/inferredProject3* *default* + +2: Check when file is closed when config file is deleted +Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /user/username/projects/myproject/folder/tsconfig.json 2:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/folder/jsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/myproject/folder/jsconfig.json +Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/folder/jsconfig.json +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/myproject/folder/tsconfig.json 2:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file +Before request +//// [/user/username/projects/myproject/folder/tsconfig.json] deleted + +Timeout callback:: count: 2 +5: /user/username/projects/myproject/folder/jsconfig.json *new* +6: *ensureProjectForOpenFiles* *new* + +Projects:: +/dev/null/inferredProject3* (Inferred) + projectStateVersion: 1 + projectProgramVersion: 1 +/user/username/projects/myproject/folder/jsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 0 + dirty: true +/user/username/projects/myproject/folder/tsconfig.json (Configured) *changed* + projectStateVersion: 1 + projectProgramVersion: 1 + isOrphan: true *changed* + noOpenRef: false *changed* + deferredClose: true *changed* + +Info seq [hh:mm:ss:mss] request: + { + "command": "close", + "arguments": { + "file": "/user/username/projects/myproject/folder/commonFile2.ts" + }, + "seq": 8, + "type": "request" + } +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/commonFile2.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/jsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (0) InitialLoadPending + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject3*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/user/username/projects/myproject/folder/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/node_modules/@types: + {"pollingInterval":500} + +PolledWatches *deleted*:: +/user/username/projects/myproject/jsconfig.json: + {"pollingInterval":2000} +/user/username/projects/myproject/tsconfig.json: + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/user/username/projects/myproject/folder/commonFile1.ts: + {} +/user/username/projects/myproject/folder/commonFile2.ts: *new* + {} +/user/username/projects/myproject/folder/jsconfig.json: + {} +/user/username/projects/myproject/folder/tsconfig.json: + {} + +Projects:: +/dev/null/inferredProject3* (Inferred) *changed* + projectStateVersion: 2 *changed* + projectProgramVersion: 1 + dirty: true *changed* + isOrphan: true *changed* +/user/username/projects/myproject/folder/jsconfig.json (Configured) *changed* + projectStateVersion: 1 + projectProgramVersion: 0 + dirty: true + noOpenRef: true *changed* +/user/username/projects/myproject/folder/tsconfig.json (Configured) *changed* + projectStateVersion: 1 + projectProgramVersion: 1 + isOrphan: true + noOpenRef: true *changed* + deferredClose: true + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 2 + /user/username/projects/myproject/folder/tsconfig.json + /dev/null/inferredProject3* +/user/username/projects/myproject/folder/commonFile1.ts + version: Text-2 + containingProjects: 1 + /user/username/projects/myproject/folder/tsconfig.json +/user/username/projects/myproject/folder/commonFile2.ts *changed* + open: false *changed* + version: SVC-2-0 + containingProjects: 0 *changed* + /dev/null/inferredProject3* *deleted* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/random/random.ts", + "fileContent": "export const y = 10;" + }, + "seq": 9, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /random/random.ts ProjectRootPath: undefined:: Result: undefined +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject4* +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject4* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject4*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /random/random.ts SVC-3-0 "export const y = 10;" + + + ../a/lib/lib.d.ts + Default library for target 'es5' + random.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] `remove Project:: +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts + /user/username/projects/myproject/folder/commonFile1.ts + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + commonFile1.ts + Part of 'files' list in tsconfig.json + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] `remove Project:: +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/jsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (0) InitialLoadPending + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] `remove Project:: +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject3*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts + /user/username/projects/myproject/folder/commonFile2.ts + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + commonFile2.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /dev/null/inferredProject3* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /dev/null/inferredProject3* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /dev/null/inferredProject3* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /dev/null/inferredProject3* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject3* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject3* WatchType: Type roots +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/commonFile2.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/commonFile1.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject4*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /random/random.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject4* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches *deleted*:: +/user/username/projects/myproject/folder/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/node_modules/@types: + {"pollingInterval":500} + +FsWatches:: +/a/lib/lib.d.ts: + {} + +FsWatches *deleted*:: +/user/username/projects/myproject/folder/commonFile1.ts: + {} +/user/username/projects/myproject/folder/commonFile2.ts: + {} +/user/username/projects/myproject/folder/jsconfig.json: + {} +/user/username/projects/myproject/folder/tsconfig.json: + {} + +Projects:: +/dev/null/inferredProject3* (Inferred) *deleted* + projectStateVersion: 2 + projectProgramVersion: 1 + dirty: true + isClosed: true *changed* + isOrphan: true +/dev/null/inferredProject4* (Inferred) *new* + projectStateVersion: 1 + projectProgramVersion: 1 +/user/username/projects/myproject/folder/jsconfig.json (Configured) *deleted* + projectStateVersion: 1 + projectProgramVersion: 0 + dirty: true + isClosed: true *changed* + noOpenRef: true +/user/username/projects/myproject/folder/tsconfig.json (Configured) *deleted* + projectStateVersion: 1 + projectProgramVersion: 1 + isClosed: true *changed* + isOrphan: true + noOpenRef: true + deferredClose: true + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + containingProjects: 1 *changed* + /dev/null/inferredProject4* *new* + /user/username/projects/myproject/folder/tsconfig.json *deleted* + /dev/null/inferredProject3* *deleted* +/random/random.ts (Open) *new* + version: SVC-3-0 + containingProjects: 1 + /dev/null/inferredProject4* *default* +/user/username/projects/myproject/folder/commonFile1.ts *deleted* + version: Text-2 + containingProjects: 0 *changed* + /user/username/projects/myproject/folder/tsconfig.json *deleted* +/user/username/projects/myproject/folder/commonFile2.ts *deleted* + version: SVC-2-0 + containingProjects: 0 diff --git a/tests/baselines/reference/tsserver/configuredProjects/add-and-then-remove-a-config-file-with-sibling-jsconfig-file.js b/tests/baselines/reference/tsserver/configuredProjects/add-and-then-remove-a-config-file-with-sibling-jsconfig-file.js new file mode 100644 index 0000000000000..5fdc42359660a --- /dev/null +++ b/tests/baselines/reference/tsserver/configuredProjects/add-and-then-remove-a-config-file-with-sibling-jsconfig-file.js @@ -0,0 +1,4789 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +Before request +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } + +//// [/user/username/projects/myproject/folder/commonFile1.ts] +let x = 1 + +//// [/user/username/projects/myproject/folder/commonFile2.ts] +let y = 1 + +//// [/user/username/projects/myproject/folder/tsconfig.json] +{ + "files": [ + "commonFile1.ts" + ] +} + +//// [/user/username/projects/myproject/folder/jsconfig.json] +{ + "files": [ + "commonFile2.ts" + ], + "typeAcquisition": { + "enable": false + } +} + + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/user/username/projects/myproject/folder/commonFile1.ts" + }, + "seq": 1, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/commonFile1.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/user/username/projects/myproject/folder/tsconfig.json", + "reason": "Creating possible configured project for /user/username/projects/myproject/folder/commonFile1.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /user/username/projects/myproject/folder/tsconfig.json : { + "rootNames": [ + "/user/username/projects/myproject/folder/commonFile1.ts" + ], + "options": { + "configFilePath": "/user/username/projects/myproject/folder/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /user/username/projects/myproject/folder/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /user/username/projects/myproject/folder/commonFile1.ts SVC-1-0 "let x = 1" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + commonFile1.ts + Part of 'files' list in tsconfig.json + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/user/username/projects/myproject/folder/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "telemetry", + "body": { + "telemetryEventName": "projectInfo", + "payload": { + "projectId": "d66ffa710f0cbc2142bfc53fcc2dacdbf63298100e7d9745f4adb9d8bbbc4673", + "fileStats": { + "js": 0, + "jsSize": 0, + "jsx": 0, + "jsxSize": 0, + "ts": 1, + "tsSize": 9, + "tsx": 0, + "tsxSize": 0, + "dts": 1, + "dtsSize": 334, + "deferred": 0, + "deferredSize": 0 + }, + "compilerOptions": {}, + "typeAcquisition": { + "enable": false, + "include": false, + "exclude": false + }, + "extends": false, + "files": true, + "include": false, + "exclude": false, + "compileOnSave": false, + "configFileName": "tsconfig.json", + "projectType": "configured", + "languageServiceEnabled": true, + "version": "FakeVersion" + } + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/folder/commonFile1.ts", + "configFile": "/user/username/projects/myproject/folder/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile1.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/user/username/projects/myproject/folder/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/myproject/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/node_modules/@types: *new* + {"pollingInterval":500} + +FsWatches:: +/a/lib/lib.d.ts: *new* + {} +/user/username/projects/myproject/folder/tsconfig.json: *new* + {} + +Projects:: +/user/username/projects/myproject/folder/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/a/lib/lib.d.ts *new* + version: Text-1 + containingProjects: 1 + /user/username/projects/myproject/folder/tsconfig.json +/user/username/projects/myproject/folder/commonFile1.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /user/username/projects/myproject/folder/tsconfig.json *default* + +1: When config file is deleted and then another file is opened +Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /user/username/projects/myproject/folder/tsconfig.json 2:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/commonFile1.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/folder/jsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/myproject/folder/jsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/jsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/folder/jsconfig.json +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/myproject/folder/tsconfig.json 2:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file +Before request +//// [/user/username/projects/myproject/folder/tsconfig.json] deleted + +PolledWatches:: +/user/username/projects/myproject/folder/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/node_modules/@types: + {"pollingInterval":500} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/user/username/projects/myproject/folder/jsconfig.json: *new* + {} +/user/username/projects/myproject/folder/tsconfig.json: + {} + +Timeout callback:: count: 2 +1: /user/username/projects/myproject/folder/jsconfig.json *new* +2: *ensureProjectForOpenFiles* *new* + +Projects:: +/user/username/projects/myproject/folder/jsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 0 + dirty: true +/user/username/projects/myproject/folder/tsconfig.json (Configured) *changed* + projectStateVersion: 1 + projectProgramVersion: 1 + isOrphan: true *changed* + deferredClose: true *changed* + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/user/username/projects/myproject/folder/commonFile2.ts" + }, + "seq": 2, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/folder/jsconfig.json +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/user/username/projects/myproject/folder/jsconfig.json", + "reason": "Change in config file /user/username/projects/myproject/folder/tsconfig.json detected, Creating possible configured project for /user/username/projects/myproject/folder/commonFile1.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /user/username/projects/myproject/folder/jsconfig.json : { + "rootNames": [ + "/user/username/projects/myproject/folder/commonFile2.ts" + ], + "options": { + "allowJs": true, + "maxNodeModuleJsDepth": 2, + "allowSyntheticDefaultImports": true, + "skipLibCheck": true, + "noEmit": true, + "configFilePath": "/user/username/projects/myproject/folder/jsconfig.json" + } +} +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/projects/myproject/folder/jsconfig.json +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /user/username/projects/myproject/folder/jsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/jsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /user/username/projects/myproject/folder/commonFile2.ts SVC-1-0 "let y = 1" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + commonFile2.ts + Part of 'files' list in tsconfig.json + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/user/username/projects/myproject/folder/jsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "telemetry", + "body": { + "telemetryEventName": "projectInfo", + "payload": { + "projectId": "7ce160eaeae23338c6f2e8e00f062abd150d682460be0ae4ab944f404d879ea8", + "fileStats": { + "js": 0, + "jsSize": 0, + "jsx": 0, + "jsxSize": 0, + "ts": 1, + "tsSize": 9, + "tsx": 0, + "tsxSize": 0, + "dts": 1, + "dtsSize": 334, + "deferred": 0, + "deferredSize": 0 + }, + "compilerOptions": { + "allowJs": true, + "maxNodeModuleJsDepth": 2, + "allowSyntheticDefaultImports": true, + "skipLibCheck": true, + "noEmit": true + }, + "typeAcquisition": { + "enable": false, + "include": false, + "exclude": false + }, + "extends": false, + "files": true, + "include": false, + "exclude": false, + "compileOnSave": false, + "configFileName": "jsconfig.json", + "projectType": "configured", + "languageServiceEnabled": true, + "version": "FakeVersion" + } + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/folder/commonFile2.ts", + "configFile": "/user/username/projects/myproject/folder/jsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/jsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile1.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/folder/jsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +Projects:: +/user/username/projects/myproject/folder/jsconfig.json (Configured) *changed* + projectStateVersion: 1 + projectProgramVersion: 1 *changed* + dirty: false *changed* +/user/username/projects/myproject/folder/tsconfig.json (Configured) + projectStateVersion: 1 + projectProgramVersion: 1 + isOrphan: true + deferredClose: true + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + containingProjects: 2 *changed* + /user/username/projects/myproject/folder/tsconfig.json + /user/username/projects/myproject/folder/jsconfig.json *new* +/user/username/projects/myproject/folder/commonFile1.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /user/username/projects/myproject/folder/tsconfig.json +/user/username/projects/myproject/folder/commonFile2.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /user/username/projects/myproject/folder/jsconfig.json *default* + +Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /user/username/projects/myproject/folder/tsconfig.json 0:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/commonFile1.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one +Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/myproject/folder/tsconfig.json 0:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file +Before running Timeout callback:: count: 3 +1: /user/username/projects/myproject/folder/jsconfig.json +3: /user/username/projects/myproject/folder/tsconfig.json +4: *ensureProjectForOpenFiles* +//// [/user/username/projects/myproject/folder/tsconfig.json] +{ + "files": [ + "commonFile1.ts" + ] +} + + +Timeout callback:: count: 3 +2: *ensureProjectForOpenFiles* *deleted* +1: /user/username/projects/myproject/folder/jsconfig.json +3: /user/username/projects/myproject/folder/tsconfig.json *new* +4: *ensureProjectForOpenFiles* *new* + +Projects:: +/user/username/projects/myproject/folder/jsconfig.json (Configured) + projectStateVersion: 1 + projectProgramVersion: 1 +/user/username/projects/myproject/folder/tsconfig.json (Configured) *changed* + projectStateVersion: 2 *changed* + projectProgramVersion: 1 + dirty: true *changed* + isOrphan: false *changed* + deferredClose: undefined *changed* + +Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/folder/jsconfig.json +Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/user/username/projects/myproject/folder/tsconfig.json", + "reason": "Change in config file detected" + } + } +Info seq [hh:mm:ss:mss] Config: /user/username/projects/myproject/folder/tsconfig.json : { + "rootNames": [ + "/user/username/projects/myproject/folder/commonFile1.ts" + ], + "options": { + "configFilePath": "/user/username/projects/myproject/folder/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /user/username/projects/myproject/folder/tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: false structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Same program as before +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/user/username/projects/myproject/folder/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/folder/tsconfig.json", + "configFile": "/user/username/projects/myproject/folder/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/jsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile1.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/folder/jsconfig.json +Info seq [hh:mm:ss:mss] After ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/jsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile1.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/folder/jsconfig.json +Info seq [hh:mm:ss:mss] got projects updated in background /user/username/projects/myproject/folder/commonFile1.ts,/user/username/projects/myproject/folder/commonFile2.ts +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectsUpdatedInBackground", + "body": { + "openFiles": [ + "/user/username/projects/myproject/folder/commonFile1.ts", + "/user/username/projects/myproject/folder/commonFile2.ts" + ] + } + } +After running Timeout callback:: count: 0 + +Projects:: +/user/username/projects/myproject/folder/jsconfig.json (Configured) *changed* + projectStateVersion: 1 + projectProgramVersion: 1 + noOpenRef: true *changed* +/user/username/projects/myproject/folder/tsconfig.json (Configured) *changed* + projectStateVersion: 2 + projectProgramVersion: 1 + dirty: false *changed* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/random/random.ts", + "fileContent": "export const y = 10;" + }, + "seq": 3, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /random/random.ts ProjectRootPath: undefined:: Result: undefined +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /random/random.ts SVC-1-0 "export const y = 10;" + + + ../a/lib/lib.d.ts + Default library for target 'es5' + random.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] `remove Project:: +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/jsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts + /user/username/projects/myproject/folder/commonFile2.ts + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + commonFile2.ts + Part of 'files' list in tsconfig.json + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/jsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile1.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: +Info seq [hh:mm:ss:mss] FileName: /random/random.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/user/username/projects/myproject/folder/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/node_modules/@types: + {"pollingInterval":500} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/user/username/projects/myproject/folder/tsconfig.json: + {} + +FsWatches *deleted*:: +/user/username/projects/myproject/folder/jsconfig.json: + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) *new* + projectStateVersion: 1 + projectProgramVersion: 1 +/user/username/projects/myproject/folder/jsconfig.json (Configured) *deleted* + projectStateVersion: 1 + projectProgramVersion: 1 + isClosed: true *changed* + noOpenRef: true +/user/username/projects/myproject/folder/tsconfig.json (Configured) + projectStateVersion: 2 + projectProgramVersion: 1 + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + containingProjects: 2 *changed* + /user/username/projects/myproject/folder/tsconfig.json + /dev/null/inferredProject1* *new* + /user/username/projects/myproject/folder/jsconfig.json *deleted* +/random/random.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject1* *default* +/user/username/projects/myproject/folder/commonFile1.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /user/username/projects/myproject/folder/tsconfig.json *default* +/user/username/projects/myproject/folder/commonFile2.ts (Open) *changed* + version: SVC-1-0 + containingProjects: 0 *changed* + /user/username/projects/myproject/folder/jsconfig.json *deleted* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "close", + "arguments": { + "file": "/user/username/projects/myproject/folder/commonFile1.ts" + }, + "seq": 4, + "type": "request" + } +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/commonFile1.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: +Info seq [hh:mm:ss:mss] FileName: /random/random.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/user/username/projects/myproject/folder/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/node_modules/@types: + {"pollingInterval":500} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/user/username/projects/myproject/folder/commonFile1.ts: *new* + {} +/user/username/projects/myproject/folder/tsconfig.json: + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) + projectStateVersion: 1 + projectProgramVersion: 1 +/user/username/projects/myproject/folder/tsconfig.json (Configured) *changed* + projectStateVersion: 2 + projectProgramVersion: 1 + noOpenRef: true *changed* + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 2 + /user/username/projects/myproject/folder/tsconfig.json + /dev/null/inferredProject1* +/random/random.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject1* *default* +/user/username/projects/myproject/folder/commonFile1.ts *changed* + open: false *changed* + version: SVC-1-0 + containingProjects: 1 + /user/username/projects/myproject/folder/tsconfig.json +/user/username/projects/myproject/folder/commonFile2.ts (Open) + version: SVC-1-0 + containingProjects: 0 + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "close", + "arguments": { + "file": "/user/username/projects/myproject/folder/commonFile2.ts" + }, + "seq": 5, + "type": "request" + } +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/commonFile2.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /random/random.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/user/username/projects/myproject/folder/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/node_modules/@types: + {"pollingInterval":500} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/user/username/projects/myproject/folder/commonFile1.ts: + {} +/user/username/projects/myproject/folder/commonFile2.ts: *new* + {} +/user/username/projects/myproject/folder/tsconfig.json: + {} + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 2 + /user/username/projects/myproject/folder/tsconfig.json + /dev/null/inferredProject1* +/random/random.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject1* *default* +/user/username/projects/myproject/folder/commonFile1.ts + version: SVC-1-0 + containingProjects: 1 + /user/username/projects/myproject/folder/tsconfig.json +/user/username/projects/myproject/folder/commonFile2.ts *changed* + open: false *changed* + version: SVC-1-0 + containingProjects: 0 + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "close", + "arguments": { + "file": "/random/random.ts" + }, + "seq": 6, + "type": "request" + } +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +Projects:: +/dev/null/inferredProject1* (Inferred) *changed* + projectStateVersion: 2 *changed* + projectProgramVersion: 1 + dirty: true *changed* + isOrphan: true *changed* +/user/username/projects/myproject/folder/tsconfig.json (Configured) + projectStateVersion: 2 + projectProgramVersion: 1 + noOpenRef: true + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 2 + /user/username/projects/myproject/folder/tsconfig.json + /dev/null/inferredProject1* +/random/random.ts *deleted* + open: false *changed* + version: SVC-1-0 + containingProjects: 0 *changed* + /dev/null/inferredProject1* *deleted* +/user/username/projects/myproject/folder/commonFile1.ts + version: SVC-1-0 + containingProjects: 1 + /user/username/projects/myproject/folder/tsconfig.json +/user/username/projects/myproject/folder/commonFile2.ts + version: SVC-1-0 + containingProjects: 0 + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/random/random.ts", + "fileContent": "export const y = 10;" + }, + "seq": 7, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /random/random.ts ProjectRootPath: undefined:: Result: undefined +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 2 projectProgramVersion: 1 structureChanged: false structureIsReused:: Completely Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /random/random.ts SVC-2-0 "export const y = 10;" + + + ../a/lib/lib.d.ts + Default library for target 'es5' + random.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] `remove Project:: +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts + /user/username/projects/myproject/folder/commonFile1.ts + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + commonFile1.ts + Part of 'files' list in tsconfig.json + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/commonFile1.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/commonFile2.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /random/random.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches *deleted*:: +/user/username/projects/myproject/folder/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/node_modules/@types: + {"pollingInterval":500} + +FsWatches:: +/a/lib/lib.d.ts: + {} + +FsWatches *deleted*:: +/user/username/projects/myproject/folder/commonFile1.ts: + {} +/user/username/projects/myproject/folder/commonFile2.ts: + {} +/user/username/projects/myproject/folder/tsconfig.json: + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) *changed* + projectStateVersion: 2 + projectProgramVersion: 1 + dirty: false *changed* + isOrphan: false *changed* +/user/username/projects/myproject/folder/tsconfig.json (Configured) *deleted* + projectStateVersion: 2 + projectProgramVersion: 1 + isClosed: true *changed* + noOpenRef: true + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + containingProjects: 1 *changed* + /dev/null/inferredProject1* + /user/username/projects/myproject/folder/tsconfig.json *deleted* +/random/random.ts (Open) *new* + version: SVC-2-0 + containingProjects: 1 + /dev/null/inferredProject1* *default* +/user/username/projects/myproject/folder/commonFile1.ts *deleted* + version: SVC-1-0 + containingProjects: 0 *changed* + /user/username/projects/myproject/folder/tsconfig.json *deleted* +/user/username/projects/myproject/folder/commonFile2.ts *deleted* + version: SVC-1-0 + containingProjects: 0 + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "close", + "arguments": { + "file": "/random/random.ts" + }, + "seq": 8, + "type": "request" + } +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +Projects:: +/dev/null/inferredProject1* (Inferred) *changed* + projectStateVersion: 3 *changed* + projectProgramVersion: 1 + dirty: true *changed* + isOrphan: true *changed* + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject1* +/random/random.ts *deleted* + open: false *changed* + version: SVC-2-0 + containingProjects: 0 *changed* + /dev/null/inferredProject1* *deleted* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/user/username/projects/myproject/folder/commonFile1.ts" + }, + "seq": 9, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/commonFile1.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/user/username/projects/myproject/folder/tsconfig.json", + "reason": "Creating possible configured project for /user/username/projects/myproject/folder/commonFile1.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /user/username/projects/myproject/folder/tsconfig.json : { + "rootNames": [ + "/user/username/projects/myproject/folder/commonFile1.ts" + ], + "options": { + "configFilePath": "/user/username/projects/myproject/folder/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /user/username/projects/myproject/folder/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /user/username/projects/myproject/folder/commonFile1.ts SVC-2-0 "let x = 1" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + commonFile1.ts + Part of 'files' list in tsconfig.json + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/user/username/projects/myproject/folder/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/folder/commonFile1.ts", + "configFile": "/user/username/projects/myproject/folder/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] `remove Project:: +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts + /random/random.ts + + + ../a/lib/lib.d.ts + Default library for target 'es5' + random.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile1.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/user/username/projects/myproject/folder/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/myproject/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/node_modules/@types: *new* + {"pollingInterval":500} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/user/username/projects/myproject/folder/tsconfig.json: *new* + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) *deleted* + projectStateVersion: 3 + projectProgramVersion: 1 + dirty: true + isClosed: true *changed* + isOrphan: true +/user/username/projects/myproject/folder/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + containingProjects: 1 *changed* + /user/username/projects/myproject/folder/tsconfig.json *new* + /dev/null/inferredProject1* *deleted* +/user/username/projects/myproject/folder/commonFile1.ts (Open) *new* + version: SVC-2-0 + containingProjects: 1 + /user/username/projects/myproject/folder/tsconfig.json *default* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/user/username/projects/myproject/folder/commonFile2.ts" + }, + "seq": 10, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/folder/commonFile2.ts", + "configFile": "/user/username/projects/myproject/folder/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject2* +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /dev/null/inferredProject2* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /dev/null/inferredProject2* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /dev/null/inferredProject2* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /dev/null/inferredProject2* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject2* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject2* WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject2* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject2*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /user/username/projects/myproject/folder/commonFile2.ts SVC-2-0 "let y = 1" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + commonFile2.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject2*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile1.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject2* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/user/username/projects/myproject/folder/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/jsconfig.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/tsconfig.json: *new* + {"pollingInterval":2000} +/user/username/projects/node_modules/@types: + {"pollingInterval":500} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/user/username/projects/myproject/folder/jsconfig.json: *new* + {} +/user/username/projects/myproject/folder/tsconfig.json: + {} + +Projects:: +/dev/null/inferredProject2* (Inferred) *new* + projectStateVersion: 1 + projectProgramVersion: 1 +/user/username/projects/myproject/folder/tsconfig.json (Configured) + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + containingProjects: 2 *changed* + /user/username/projects/myproject/folder/tsconfig.json + /dev/null/inferredProject2* *new* +/user/username/projects/myproject/folder/commonFile1.ts (Open) + version: SVC-2-0 + containingProjects: 1 + /user/username/projects/myproject/folder/tsconfig.json *default* +/user/username/projects/myproject/folder/commonFile2.ts (Open) *new* + version: SVC-2-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +2: When both files are open and config file is deleted +Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /user/username/projects/myproject/folder/tsconfig.json 2:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/commonFile1.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/folder/jsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/myproject/folder/jsconfig.json +Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/folder/jsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/folder/jsconfig.json +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/myproject/folder/tsconfig.json 2:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file +Before running Timeout callback:: count: 2 +5: /user/username/projects/myproject/folder/jsconfig.json +6: *ensureProjectForOpenFiles* +//// [/user/username/projects/myproject/folder/tsconfig.json] deleted + +Timeout callback:: count: 2 +5: /user/username/projects/myproject/folder/jsconfig.json *new* +6: *ensureProjectForOpenFiles* *new* + +Projects:: +/dev/null/inferredProject2* (Inferred) + projectStateVersion: 1 + projectProgramVersion: 1 +/user/username/projects/myproject/folder/jsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 0 + dirty: true +/user/username/projects/myproject/folder/tsconfig.json (Configured) *changed* + projectStateVersion: 1 + projectProgramVersion: 1 + isOrphan: true *changed* + deferredClose: true *changed* + +Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/folder/jsconfig.json +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/user/username/projects/myproject/folder/jsconfig.json", + "reason": "Change in config file /user/username/projects/myproject/folder/tsconfig.json detected, Creating possible configured project for /user/username/projects/myproject/folder/commonFile1.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /user/username/projects/myproject/folder/jsconfig.json : { + "rootNames": [ + "/user/username/projects/myproject/folder/commonFile2.ts" + ], + "options": { + "allowJs": true, + "maxNodeModuleJsDepth": 2, + "allowSyntheticDefaultImports": true, + "skipLibCheck": true, + "noEmit": true, + "configFilePath": "/user/username/projects/myproject/folder/jsconfig.json" + } +} +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/projects/myproject/folder/jsconfig.json +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /user/username/projects/myproject/folder/jsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/jsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /user/username/projects/myproject/folder/commonFile2.ts SVC-2-0 "let y = 1" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + commonFile2.ts + Part of 'files' list in tsconfig.json + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/user/username/projects/myproject/folder/jsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/folder/jsconfig.json", + "configFile": "/user/username/projects/myproject/folder/jsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/jsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject2*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile1.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/folder/jsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject2* +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject2* projectStateVersion: 2 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject2*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /user/username/projects/myproject/folder/commonFile1.ts SVC-2-0 "let x = 1" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + commonFile1.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] After ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/jsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject2*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile1.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject2*,/user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/folder/jsconfig.json +Info seq [hh:mm:ss:mss] got projects updated in background /user/username/projects/myproject/folder/commonFile1.ts,/user/username/projects/myproject/folder/commonFile2.ts +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectsUpdatedInBackground", + "body": { + "openFiles": [ + "/user/username/projects/myproject/folder/commonFile1.ts", + "/user/username/projects/myproject/folder/commonFile2.ts" + ] + } + } +After running Timeout callback:: count: 0 + +PolledWatches:: +/user/username/projects/myproject/folder/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/jsconfig.json: + {"pollingInterval":2000} *new* +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/tsconfig.json: + {"pollingInterval":2000} *new* +/user/username/projects/node_modules/@types: + {"pollingInterval":500} + +PolledWatches *deleted*:: +/user/username/projects/myproject/jsconfig.json: + {"pollingInterval":2000} +/user/username/projects/myproject/tsconfig.json: + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/user/username/projects/myproject/folder/jsconfig.json: + {} +/user/username/projects/myproject/folder/tsconfig.json: + {} + +Projects:: +/dev/null/inferredProject2* (Inferred) *changed* + projectStateVersion: 2 *changed* + projectProgramVersion: 2 *changed* +/user/username/projects/myproject/folder/jsconfig.json (Configured) *changed* + projectStateVersion: 1 + projectProgramVersion: 1 *changed* + dirty: false *changed* +/user/username/projects/myproject/folder/tsconfig.json (Configured) + projectStateVersion: 1 + projectProgramVersion: 1 + isOrphan: true + deferredClose: true + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + containingProjects: 3 *changed* + /user/username/projects/myproject/folder/tsconfig.json + /dev/null/inferredProject2* + /user/username/projects/myproject/folder/jsconfig.json *new* +/user/username/projects/myproject/folder/commonFile1.ts (Open) *changed* + version: SVC-2-0 + containingProjects: 2 *changed* + /dev/null/inferredProject2* *default* *new* + /user/username/projects/myproject/folder/tsconfig.json +/user/username/projects/myproject/folder/commonFile2.ts (Open) *changed* + version: SVC-2-0 + containingProjects: 1 *changed* + /user/username/projects/myproject/folder/jsconfig.json *default* *new* + /dev/null/inferredProject2* *deleted* + +Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /user/username/projects/myproject/folder/tsconfig.json 0:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/commonFile1.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/myproject/folder/tsconfig.json 0:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file +Before running Timeout callback:: count: 2 +7: /user/username/projects/myproject/folder/tsconfig.json +8: *ensureProjectForOpenFiles* +//// [/user/username/projects/myproject/folder/tsconfig.json] +{ + "files": [ + "commonFile1.ts" + ] +} + + +Timeout callback:: count: 2 +7: /user/username/projects/myproject/folder/tsconfig.json *new* +8: *ensureProjectForOpenFiles* *new* + +Projects:: +/dev/null/inferredProject2* (Inferred) + projectStateVersion: 2 + projectProgramVersion: 2 +/user/username/projects/myproject/folder/jsconfig.json (Configured) + projectStateVersion: 1 + projectProgramVersion: 1 +/user/username/projects/myproject/folder/tsconfig.json (Configured) *changed* + projectStateVersion: 2 *changed* + projectProgramVersion: 1 + dirty: true *changed* + isOrphan: false *changed* + deferredClose: undefined *changed* + +Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/user/username/projects/myproject/folder/tsconfig.json", + "reason": "Change in config file detected" + } + } +Info seq [hh:mm:ss:mss] Config: /user/username/projects/myproject/folder/tsconfig.json : { + "rootNames": [ + "/user/username/projects/myproject/folder/commonFile1.ts" + ], + "options": { + "configFilePath": "/user/username/projects/myproject/folder/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /user/username/projects/myproject/folder/tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: false structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Same program as before +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/user/username/projects/myproject/folder/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/folder/tsconfig.json", + "configFile": "/user/username/projects/myproject/folder/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/jsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject2*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile1.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject2*,/user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/folder/jsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject2* +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject2* projectStateVersion: 3 projectProgramVersion: 2 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject2*' (Inferred) +Info seq [hh:mm:ss:mss] Files (0) + + + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] After ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/jsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject2*' (Inferred) +Info seq [hh:mm:ss:mss] Files (0) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile1.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/folder/jsconfig.json +Info seq [hh:mm:ss:mss] got projects updated in background /user/username/projects/myproject/folder/commonFile1.ts,/user/username/projects/myproject/folder/commonFile2.ts +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectsUpdatedInBackground", + "body": { + "openFiles": [ + "/user/username/projects/myproject/folder/commonFile1.ts", + "/user/username/projects/myproject/folder/commonFile2.ts" + ] + } + } +After running Timeout callback:: count: 0 + +PolledWatches:: +/user/username/projects/myproject/folder/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/node_modules/@types: + {"pollingInterval":500} + +PolledWatches *deleted*:: +/user/username/projects/myproject/jsconfig.json: + {"pollingInterval":2000} +/user/username/projects/myproject/tsconfig.json: + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/user/username/projects/myproject/folder/jsconfig.json: + {} +/user/username/projects/myproject/folder/tsconfig.json: + {} + +Projects:: +/dev/null/inferredProject2* (Inferred) *changed* + projectStateVersion: 3 *changed* + projectProgramVersion: 3 *changed* + isOrphan: true *changed* +/user/username/projects/myproject/folder/jsconfig.json (Configured) *changed* + projectStateVersion: 1 + projectProgramVersion: 1 + noOpenRef: true *changed* +/user/username/projects/myproject/folder/tsconfig.json (Configured) *changed* + projectStateVersion: 2 + projectProgramVersion: 1 + dirty: false *changed* + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + containingProjects: 2 *changed* + /user/username/projects/myproject/folder/tsconfig.json + /user/username/projects/myproject/folder/jsconfig.json + /dev/null/inferredProject2* *deleted* +/user/username/projects/myproject/folder/commonFile1.ts (Open) *changed* + version: SVC-2-0 + containingProjects: 1 *changed* + /user/username/projects/myproject/folder/tsconfig.json *default* + /dev/null/inferredProject2* *deleted* +/user/username/projects/myproject/folder/commonFile2.ts (Open) + version: SVC-2-0 + containingProjects: 1 + /user/username/projects/myproject/folder/jsconfig.json *default* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/random/random.ts", + "fileContent": "export const y = 10;" + }, + "seq": 11, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /random/random.ts ProjectRootPath: undefined:: Result: undefined +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject3* +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject3* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject3*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /random/random.ts SVC-3-0 "export const y = 10;" + + + ../a/lib/lib.d.ts + Default library for target 'es5' + random.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] `remove Project:: +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/jsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts + /user/username/projects/myproject/folder/commonFile2.ts + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + commonFile2.ts + Part of 'files' list in tsconfig.json + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] `remove Project:: +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject2*' (Inferred) +Info seq [hh:mm:ss:mss] Files (0) + + + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /dev/null/inferredProject2* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /dev/null/inferredProject2* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /dev/null/inferredProject2* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /dev/null/inferredProject2* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject2* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject2* WatchType: Type roots +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject3*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile1.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: +Info seq [hh:mm:ss:mss] FileName: /random/random.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject3* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/user/username/projects/myproject/folder/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/node_modules/@types: + {"pollingInterval":500} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/user/username/projects/myproject/folder/tsconfig.json: + {} + +FsWatches *deleted*:: +/user/username/projects/myproject/folder/jsconfig.json: + {} + +Projects:: +/dev/null/inferredProject2* (Inferred) *deleted* + projectStateVersion: 3 + projectProgramVersion: 3 + isClosed: true *changed* + isOrphan: true +/dev/null/inferredProject3* (Inferred) *new* + projectStateVersion: 1 + projectProgramVersion: 1 +/user/username/projects/myproject/folder/jsconfig.json (Configured) *deleted* + projectStateVersion: 1 + projectProgramVersion: 1 + isClosed: true *changed* + noOpenRef: true +/user/username/projects/myproject/folder/tsconfig.json (Configured) + projectStateVersion: 2 + projectProgramVersion: 1 + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + containingProjects: 2 *changed* + /user/username/projects/myproject/folder/tsconfig.json + /dev/null/inferredProject3* *new* + /user/username/projects/myproject/folder/jsconfig.json *deleted* +/random/random.ts (Open) *new* + version: SVC-3-0 + containingProjects: 1 + /dev/null/inferredProject3* *default* +/user/username/projects/myproject/folder/commonFile1.ts (Open) + version: SVC-2-0 + containingProjects: 1 + /user/username/projects/myproject/folder/tsconfig.json *default* +/user/username/projects/myproject/folder/commonFile2.ts (Open) *changed* + version: SVC-2-0 + containingProjects: 0 *changed* + /user/username/projects/myproject/folder/jsconfig.json *deleted* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "close", + "arguments": { + "file": "/user/username/projects/myproject/folder/commonFile1.ts" + }, + "seq": 12, + "type": "request" + } +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/commonFile1.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject3*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: +Info seq [hh:mm:ss:mss] FileName: /random/random.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject3* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/user/username/projects/myproject/folder/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/node_modules/@types: + {"pollingInterval":500} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/user/username/projects/myproject/folder/commonFile1.ts: *new* + {} +/user/username/projects/myproject/folder/tsconfig.json: + {} + +Projects:: +/dev/null/inferredProject3* (Inferred) + projectStateVersion: 1 + projectProgramVersion: 1 +/user/username/projects/myproject/folder/tsconfig.json (Configured) *changed* + projectStateVersion: 2 + projectProgramVersion: 1 + noOpenRef: true *changed* + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 2 + /user/username/projects/myproject/folder/tsconfig.json + /dev/null/inferredProject3* +/random/random.ts (Open) + version: SVC-3-0 + containingProjects: 1 + /dev/null/inferredProject3* *default* +/user/username/projects/myproject/folder/commonFile1.ts *changed* + open: false *changed* + version: SVC-2-0 + containingProjects: 1 + /user/username/projects/myproject/folder/tsconfig.json +/user/username/projects/myproject/folder/commonFile2.ts (Open) + version: SVC-2-0 + containingProjects: 0 + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "close", + "arguments": { + "file": "/user/username/projects/myproject/folder/commonFile2.ts" + }, + "seq": 13, + "type": "request" + } +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/commonFile2.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject3*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /random/random.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject3* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/user/username/projects/myproject/folder/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/node_modules/@types: + {"pollingInterval":500} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/user/username/projects/myproject/folder/commonFile1.ts: + {} +/user/username/projects/myproject/folder/commonFile2.ts: *new* + {} +/user/username/projects/myproject/folder/tsconfig.json: + {} + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 2 + /user/username/projects/myproject/folder/tsconfig.json + /dev/null/inferredProject3* +/random/random.ts (Open) + version: SVC-3-0 + containingProjects: 1 + /dev/null/inferredProject3* *default* +/user/username/projects/myproject/folder/commonFile1.ts + version: SVC-2-0 + containingProjects: 1 + /user/username/projects/myproject/folder/tsconfig.json +/user/username/projects/myproject/folder/commonFile2.ts *changed* + open: false *changed* + version: SVC-2-0 + containingProjects: 0 + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "close", + "arguments": { + "file": "/random/random.ts" + }, + "seq": 14, + "type": "request" + } +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject3*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +Projects:: +/dev/null/inferredProject3* (Inferred) *changed* + projectStateVersion: 2 *changed* + projectProgramVersion: 1 + dirty: true *changed* + isOrphan: true *changed* +/user/username/projects/myproject/folder/tsconfig.json (Configured) + projectStateVersion: 2 + projectProgramVersion: 1 + noOpenRef: true + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 2 + /user/username/projects/myproject/folder/tsconfig.json + /dev/null/inferredProject3* +/random/random.ts *deleted* + open: false *changed* + version: SVC-3-0 + containingProjects: 0 *changed* + /dev/null/inferredProject3* *deleted* +/user/username/projects/myproject/folder/commonFile1.ts + version: SVC-2-0 + containingProjects: 1 + /user/username/projects/myproject/folder/tsconfig.json +/user/username/projects/myproject/folder/commonFile2.ts + version: SVC-2-0 + containingProjects: 0 + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/random/random.ts", + "fileContent": "export const y = 10;" + }, + "seq": 15, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /random/random.ts ProjectRootPath: undefined:: Result: undefined +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject3* +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject3* projectStateVersion: 2 projectProgramVersion: 1 structureChanged: false structureIsReused:: Completely Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject3*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /random/random.ts SVC-4-0 "export const y = 10;" + + + ../a/lib/lib.d.ts + Default library for target 'es5' + random.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] `remove Project:: +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts + /user/username/projects/myproject/folder/commonFile1.ts + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + commonFile1.ts + Part of 'files' list in tsconfig.json + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/commonFile1.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/commonFile2.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject3*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /random/random.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject3* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches *deleted*:: +/user/username/projects/myproject/folder/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/node_modules/@types: + {"pollingInterval":500} + +FsWatches:: +/a/lib/lib.d.ts: + {} + +FsWatches *deleted*:: +/user/username/projects/myproject/folder/commonFile1.ts: + {} +/user/username/projects/myproject/folder/commonFile2.ts: + {} +/user/username/projects/myproject/folder/tsconfig.json: + {} + +Projects:: +/dev/null/inferredProject3* (Inferred) *changed* + projectStateVersion: 2 + projectProgramVersion: 1 + dirty: false *changed* + isOrphan: false *changed* +/user/username/projects/myproject/folder/tsconfig.json (Configured) *deleted* + projectStateVersion: 2 + projectProgramVersion: 1 + isClosed: true *changed* + noOpenRef: true + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + containingProjects: 1 *changed* + /dev/null/inferredProject3* + /user/username/projects/myproject/folder/tsconfig.json *deleted* +/random/random.ts (Open) *new* + version: SVC-4-0 + containingProjects: 1 + /dev/null/inferredProject3* *default* +/user/username/projects/myproject/folder/commonFile1.ts *deleted* + version: SVC-2-0 + containingProjects: 0 *changed* + /user/username/projects/myproject/folder/tsconfig.json *deleted* +/user/username/projects/myproject/folder/commonFile2.ts *deleted* + version: SVC-2-0 + containingProjects: 0 + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "close", + "arguments": { + "file": "/random/random.ts" + }, + "seq": 16, + "type": "request" + } +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject3*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +Projects:: +/dev/null/inferredProject3* (Inferred) *changed* + projectStateVersion: 3 *changed* + projectProgramVersion: 1 + dirty: true *changed* + isOrphan: true *changed* + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject3* +/random/random.ts *deleted* + open: false *changed* + version: SVC-4-0 + containingProjects: 0 *changed* + /dev/null/inferredProject3* *deleted* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/user/username/projects/myproject/folder/commonFile1.ts" + }, + "seq": 17, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/commonFile1.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/user/username/projects/myproject/folder/tsconfig.json", + "reason": "Creating possible configured project for /user/username/projects/myproject/folder/commonFile1.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /user/username/projects/myproject/folder/tsconfig.json : { + "rootNames": [ + "/user/username/projects/myproject/folder/commonFile1.ts" + ], + "options": { + "configFilePath": "/user/username/projects/myproject/folder/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /user/username/projects/myproject/folder/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /user/username/projects/myproject/folder/commonFile1.ts SVC-3-0 "let x = 1" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + commonFile1.ts + Part of 'files' list in tsconfig.json + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/user/username/projects/myproject/folder/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/folder/commonFile1.ts", + "configFile": "/user/username/projects/myproject/folder/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] `remove Project:: +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject3*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts + /random/random.ts + + + ../a/lib/lib.d.ts + Default library for target 'es5' + random.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile1.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/user/username/projects/myproject/folder/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/myproject/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/node_modules/@types: *new* + {"pollingInterval":500} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/user/username/projects/myproject/folder/tsconfig.json: *new* + {} + +Projects:: +/dev/null/inferredProject3* (Inferred) *deleted* + projectStateVersion: 3 + projectProgramVersion: 1 + dirty: true + isClosed: true *changed* + isOrphan: true +/user/username/projects/myproject/folder/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + containingProjects: 1 *changed* + /user/username/projects/myproject/folder/tsconfig.json *new* + /dev/null/inferredProject3* *deleted* +/user/username/projects/myproject/folder/commonFile1.ts (Open) *new* + version: SVC-3-0 + containingProjects: 1 + /user/username/projects/myproject/folder/tsconfig.json *default* + +3: Check when both files are closed when config file is deleted +Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /user/username/projects/myproject/folder/tsconfig.json 2:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/commonFile1.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/folder/jsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/myproject/folder/jsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/jsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/folder/jsconfig.json +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/myproject/folder/tsconfig.json 2:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file +Before request +//// [/user/username/projects/myproject/folder/tsconfig.json] deleted + +PolledWatches:: +/user/username/projects/myproject/folder/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/node_modules/@types: + {"pollingInterval":500} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/user/username/projects/myproject/folder/jsconfig.json: *new* + {} +/user/username/projects/myproject/folder/tsconfig.json: + {} + +Timeout callback:: count: 2 +9: /user/username/projects/myproject/folder/jsconfig.json *new* +10: *ensureProjectForOpenFiles* *new* + +Projects:: +/user/username/projects/myproject/folder/jsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 0 + dirty: true +/user/username/projects/myproject/folder/tsconfig.json (Configured) *changed* + projectStateVersion: 1 + projectProgramVersion: 1 + isOrphan: true *changed* + deferredClose: true *changed* + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/user/username/projects/myproject/folder/commonFile2.ts" + }, + "seq": 18, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/folder/jsconfig.json +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/user/username/projects/myproject/folder/jsconfig.json", + "reason": "Change in config file /user/username/projects/myproject/folder/tsconfig.json detected, Creating possible configured project for /user/username/projects/myproject/folder/commonFile1.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /user/username/projects/myproject/folder/jsconfig.json : { + "rootNames": [ + "/user/username/projects/myproject/folder/commonFile2.ts" + ], + "options": { + "allowJs": true, + "maxNodeModuleJsDepth": 2, + "allowSyntheticDefaultImports": true, + "skipLibCheck": true, + "noEmit": true, + "configFilePath": "/user/username/projects/myproject/folder/jsconfig.json" + } +} +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/projects/myproject/folder/jsconfig.json +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /user/username/projects/myproject/folder/jsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/jsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /user/username/projects/myproject/folder/commonFile2.ts SVC-3-0 "let y = 1" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + commonFile2.ts + Part of 'files' list in tsconfig.json + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/user/username/projects/myproject/folder/jsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/folder/commonFile2.ts", + "configFile": "/user/username/projects/myproject/folder/jsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/jsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile1.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/folder/jsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +Projects:: +/user/username/projects/myproject/folder/jsconfig.json (Configured) *changed* + projectStateVersion: 1 + projectProgramVersion: 1 *changed* + dirty: false *changed* +/user/username/projects/myproject/folder/tsconfig.json (Configured) + projectStateVersion: 1 + projectProgramVersion: 1 + isOrphan: true + deferredClose: true + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + containingProjects: 2 *changed* + /user/username/projects/myproject/folder/tsconfig.json + /user/username/projects/myproject/folder/jsconfig.json *new* +/user/username/projects/myproject/folder/commonFile1.ts (Open) + version: SVC-3-0 + containingProjects: 1 + /user/username/projects/myproject/folder/tsconfig.json +/user/username/projects/myproject/folder/commonFile2.ts (Open) *new* + version: SVC-3-0 + containingProjects: 1 + /user/username/projects/myproject/folder/jsconfig.json *default* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "close", + "arguments": { + "file": "/user/username/projects/myproject/folder/commonFile1.ts" + }, + "seq": 19, + "type": "request" + } +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/commonFile1.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/jsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/folder/jsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/user/username/projects/myproject/folder/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/node_modules/@types: + {"pollingInterval":500} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/user/username/projects/myproject/folder/commonFile1.ts: *new* + {} +/user/username/projects/myproject/folder/jsconfig.json: + {} +/user/username/projects/myproject/folder/tsconfig.json: + {} + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 2 + /user/username/projects/myproject/folder/tsconfig.json + /user/username/projects/myproject/folder/jsconfig.json +/user/username/projects/myproject/folder/commonFile1.ts *changed* + open: false *changed* + version: SVC-3-0 + containingProjects: 1 + /user/username/projects/myproject/folder/tsconfig.json +/user/username/projects/myproject/folder/commonFile2.ts (Open) + version: SVC-3-0 + containingProjects: 1 + /user/username/projects/myproject/folder/jsconfig.json *default* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "close", + "arguments": { + "file": "/user/username/projects/myproject/folder/commonFile2.ts" + }, + "seq": 20, + "type": "request" + } +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/commonFile2.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/jsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/user/username/projects/myproject/folder/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/node_modules/@types: + {"pollingInterval":500} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/user/username/projects/myproject/folder/commonFile1.ts: + {} +/user/username/projects/myproject/folder/commonFile2.ts: *new* + {} +/user/username/projects/myproject/folder/jsconfig.json: + {} +/user/username/projects/myproject/folder/tsconfig.json: + {} + +Projects:: +/user/username/projects/myproject/folder/jsconfig.json (Configured) *changed* + projectStateVersion: 1 + projectProgramVersion: 1 + noOpenRef: true *changed* +/user/username/projects/myproject/folder/tsconfig.json (Configured) *changed* + projectStateVersion: 1 + projectProgramVersion: 1 + isOrphan: true + noOpenRef: true *changed* + deferredClose: true + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 2 + /user/username/projects/myproject/folder/tsconfig.json + /user/username/projects/myproject/folder/jsconfig.json +/user/username/projects/myproject/folder/commonFile1.ts + version: SVC-3-0 + containingProjects: 1 + /user/username/projects/myproject/folder/tsconfig.json +/user/username/projects/myproject/folder/commonFile2.ts *changed* + open: false *changed* + version: SVC-3-0 + containingProjects: 1 + /user/username/projects/myproject/folder/jsconfig.json + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/random/random.ts", + "fileContent": "export const y = 10;" + }, + "seq": 21, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /random/random.ts ProjectRootPath: undefined:: Result: undefined +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject4* +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject4* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject4*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /random/random.ts SVC-5-0 "export const y = 10;" + + + ../a/lib/lib.d.ts + Default library for target 'es5' + random.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] `remove Project:: +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts + /user/username/projects/myproject/folder/commonFile1.ts + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + commonFile1.ts + Part of 'files' list in tsconfig.json + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] `remove Project:: +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/jsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts + /user/username/projects/myproject/folder/commonFile2.ts + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + commonFile2.ts + Part of 'files' list in tsconfig.json + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/jsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/commonFile1.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/commonFile2.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject4*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /random/random.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject4* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches *deleted*:: +/user/username/projects/myproject/folder/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/node_modules/@types: + {"pollingInterval":500} + +FsWatches:: +/a/lib/lib.d.ts: + {} + +FsWatches *deleted*:: +/user/username/projects/myproject/folder/commonFile1.ts: + {} +/user/username/projects/myproject/folder/commonFile2.ts: + {} +/user/username/projects/myproject/folder/jsconfig.json: + {} +/user/username/projects/myproject/folder/tsconfig.json: + {} + +Projects:: +/dev/null/inferredProject4* (Inferred) *new* + projectStateVersion: 1 + projectProgramVersion: 1 +/user/username/projects/myproject/folder/jsconfig.json (Configured) *deleted* + projectStateVersion: 1 + projectProgramVersion: 1 + isClosed: true *changed* + noOpenRef: true +/user/username/projects/myproject/folder/tsconfig.json (Configured) *deleted* + projectStateVersion: 1 + projectProgramVersion: 1 + isClosed: true *changed* + isOrphan: true + noOpenRef: true + deferredClose: true + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + containingProjects: 1 *changed* + /dev/null/inferredProject4* *new* + /user/username/projects/myproject/folder/tsconfig.json *deleted* + /user/username/projects/myproject/folder/jsconfig.json *deleted* +/random/random.ts (Open) *new* + version: SVC-5-0 + containingProjects: 1 + /dev/null/inferredProject4* *default* +/user/username/projects/myproject/folder/commonFile1.ts *deleted* + version: SVC-3-0 + containingProjects: 0 *changed* + /user/username/projects/myproject/folder/tsconfig.json *deleted* +/user/username/projects/myproject/folder/commonFile2.ts *deleted* + version: SVC-3-0 + containingProjects: 0 *changed* + /user/username/projects/myproject/folder/jsconfig.json *deleted* + +Before request +//// [/user/username/projects/myproject/folder/tsconfig.json] +{ + "files": [ + "commonFile1.ts" + ] +} + + +Info seq [hh:mm:ss:mss] request: + { + "command": "close", + "arguments": { + "file": "/random/random.ts" + }, + "seq": 22, + "type": "request" + } +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject4*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +Projects:: +/dev/null/inferredProject4* (Inferred) *changed* + projectStateVersion: 2 *changed* + projectProgramVersion: 1 + dirty: true *changed* + isOrphan: true *changed* + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject4* +/random/random.ts *deleted* + open: false *changed* + version: SVC-5-0 + containingProjects: 0 *changed* + /dev/null/inferredProject4* *deleted* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/user/username/projects/myproject/folder/commonFile1.ts" + }, + "seq": 23, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/commonFile1.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/user/username/projects/myproject/folder/tsconfig.json", + "reason": "Creating possible configured project for /user/username/projects/myproject/folder/commonFile1.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /user/username/projects/myproject/folder/tsconfig.json : { + "rootNames": [ + "/user/username/projects/myproject/folder/commonFile1.ts" + ], + "options": { + "configFilePath": "/user/username/projects/myproject/folder/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /user/username/projects/myproject/folder/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /user/username/projects/myproject/folder/commonFile1.ts SVC-4-0 "let x = 1" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + commonFile1.ts + Part of 'files' list in tsconfig.json + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/user/username/projects/myproject/folder/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/folder/commonFile1.ts", + "configFile": "/user/username/projects/myproject/folder/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] `remove Project:: +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject4*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts + /random/random.ts + + + ../a/lib/lib.d.ts + Default library for target 'es5' + random.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile1.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/user/username/projects/myproject/folder/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/myproject/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/node_modules/@types: *new* + {"pollingInterval":500} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/user/username/projects/myproject/folder/tsconfig.json: *new* + {} + +Projects:: +/dev/null/inferredProject4* (Inferred) *deleted* + projectStateVersion: 2 + projectProgramVersion: 1 + dirty: true + isClosed: true *changed* + isOrphan: true +/user/username/projects/myproject/folder/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + containingProjects: 1 *changed* + /user/username/projects/myproject/folder/tsconfig.json *new* + /dev/null/inferredProject4* *deleted* +/user/username/projects/myproject/folder/commonFile1.ts (Open) *new* + version: SVC-4-0 + containingProjects: 1 + /user/username/projects/myproject/folder/tsconfig.json *default* + +4: Check when both files are closed one by one when file is deleted +Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /user/username/projects/myproject/folder/tsconfig.json 2:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/commonFile1.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/folder/jsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/myproject/folder/jsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/jsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/folder/jsconfig.json, Cancelled earlier one +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one +Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/myproject/folder/tsconfig.json 2:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file +Before request +//// [/user/username/projects/myproject/folder/tsconfig.json] deleted + +PolledWatches:: +/user/username/projects/myproject/folder/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/node_modules/@types: + {"pollingInterval":500} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/user/username/projects/myproject/folder/jsconfig.json: *new* + {} +/user/username/projects/myproject/folder/tsconfig.json: + {} + +Timeout callback:: count: 2 +9: /user/username/projects/myproject/folder/jsconfig.json *deleted* +10: *ensureProjectForOpenFiles* *deleted* +11: /user/username/projects/myproject/folder/jsconfig.json *new* +12: *ensureProjectForOpenFiles* *new* + +Projects:: +/user/username/projects/myproject/folder/jsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 0 + dirty: true +/user/username/projects/myproject/folder/tsconfig.json (Configured) *changed* + projectStateVersion: 1 + projectProgramVersion: 1 + isOrphan: true *changed* + deferredClose: true *changed* + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/user/username/projects/myproject/folder/commonFile2.ts" + }, + "seq": 24, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/folder/jsconfig.json +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/user/username/projects/myproject/folder/jsconfig.json", + "reason": "Change in config file /user/username/projects/myproject/folder/tsconfig.json detected, Creating possible configured project for /user/username/projects/myproject/folder/commonFile1.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /user/username/projects/myproject/folder/jsconfig.json : { + "rootNames": [ + "/user/username/projects/myproject/folder/commonFile2.ts" + ], + "options": { + "allowJs": true, + "maxNodeModuleJsDepth": 2, + "allowSyntheticDefaultImports": true, + "skipLibCheck": true, + "noEmit": true, + "configFilePath": "/user/username/projects/myproject/folder/jsconfig.json" + } +} +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/projects/myproject/folder/jsconfig.json +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /user/username/projects/myproject/folder/jsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/jsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /user/username/projects/myproject/folder/commonFile2.ts SVC-4-0 "let y = 1" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + commonFile2.ts + Part of 'files' list in tsconfig.json + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/user/username/projects/myproject/folder/jsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/folder/commonFile2.ts", + "configFile": "/user/username/projects/myproject/folder/jsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/jsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile1.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/folder/jsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +Projects:: +/user/username/projects/myproject/folder/jsconfig.json (Configured) *changed* + projectStateVersion: 1 + projectProgramVersion: 1 *changed* + dirty: false *changed* +/user/username/projects/myproject/folder/tsconfig.json (Configured) + projectStateVersion: 1 + projectProgramVersion: 1 + isOrphan: true + deferredClose: true + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + containingProjects: 2 *changed* + /user/username/projects/myproject/folder/tsconfig.json + /user/username/projects/myproject/folder/jsconfig.json *new* +/user/username/projects/myproject/folder/commonFile1.ts (Open) + version: SVC-4-0 + containingProjects: 1 + /user/username/projects/myproject/folder/tsconfig.json +/user/username/projects/myproject/folder/commonFile2.ts (Open) *new* + version: SVC-4-0 + containingProjects: 1 + /user/username/projects/myproject/folder/jsconfig.json *default* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "close", + "arguments": { + "file": "/user/username/projects/myproject/folder/commonFile1.ts" + }, + "seq": 25, + "type": "request" + } +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/commonFile1.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/jsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/folder/jsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/user/username/projects/myproject/folder/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/node_modules/@types: + {"pollingInterval":500} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/user/username/projects/myproject/folder/commonFile1.ts: *new* + {} +/user/username/projects/myproject/folder/jsconfig.json: + {} +/user/username/projects/myproject/folder/tsconfig.json: + {} + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 2 + /user/username/projects/myproject/folder/tsconfig.json + /user/username/projects/myproject/folder/jsconfig.json +/user/username/projects/myproject/folder/commonFile1.ts *changed* + open: false *changed* + version: SVC-4-0 + containingProjects: 1 + /user/username/projects/myproject/folder/tsconfig.json +/user/username/projects/myproject/folder/commonFile2.ts (Open) + version: SVC-4-0 + containingProjects: 1 + /user/username/projects/myproject/folder/jsconfig.json *default* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/random/random.ts", + "fileContent": "export const y = 10;" + }, + "seq": 26, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /random/random.ts ProjectRootPath: undefined:: Result: undefined +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject5* +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject5* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject5*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /random/random.ts SVC-6-0 "export const y = 10;" + + + ../a/lib/lib.d.ts + Default library for target 'es5' + random.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/commonFile1.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/jsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject5*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/folder/jsconfig.json +Info seq [hh:mm:ss:mss] FileName: /random/random.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject5* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/user/username/projects/myproject/folder/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/node_modules/@types: + {"pollingInterval":500} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/user/username/projects/myproject/folder/jsconfig.json: + {} +/user/username/projects/myproject/folder/tsconfig.json: + {} + +FsWatches *deleted*:: +/user/username/projects/myproject/folder/commonFile1.ts: + {} + +Projects:: +/dev/null/inferredProject5* (Inferred) *new* + projectStateVersion: 1 + projectProgramVersion: 1 +/user/username/projects/myproject/folder/jsconfig.json (Configured) + projectStateVersion: 1 + projectProgramVersion: 1 +/user/username/projects/myproject/folder/tsconfig.json (Configured) + projectStateVersion: 1 + projectProgramVersion: 1 + isOrphan: true + deferredClose: true + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + containingProjects: 3 *changed* + /user/username/projects/myproject/folder/tsconfig.json + /user/username/projects/myproject/folder/jsconfig.json + /dev/null/inferredProject5* *new* +/random/random.ts (Open) *new* + version: SVC-6-0 + containingProjects: 1 + /dev/null/inferredProject5* *default* +/user/username/projects/myproject/folder/commonFile1.ts *deleted* + version: SVC-4-0 + containingProjects: 1 + /user/username/projects/myproject/folder/tsconfig.json +/user/username/projects/myproject/folder/commonFile2.ts (Open) + version: SVC-4-0 + containingProjects: 1 + /user/username/projects/myproject/folder/jsconfig.json *default* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "close", + "arguments": { + "file": "/user/username/projects/myproject/folder/commonFile2.ts" + }, + "seq": 27, + "type": "request" + } +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/commonFile2.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/jsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject5*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /random/random.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject5* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/user/username/projects/myproject/folder/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/node_modules/@types: + {"pollingInterval":500} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/user/username/projects/myproject/folder/commonFile2.ts: *new* + {} +/user/username/projects/myproject/folder/jsconfig.json: + {} +/user/username/projects/myproject/folder/tsconfig.json: + {} + +Projects:: +/dev/null/inferredProject5* (Inferred) + projectStateVersion: 1 + projectProgramVersion: 1 +/user/username/projects/myproject/folder/jsconfig.json (Configured) *changed* + projectStateVersion: 1 + projectProgramVersion: 1 + noOpenRef: true *changed* +/user/username/projects/myproject/folder/tsconfig.json (Configured) *changed* + projectStateVersion: 1 + projectProgramVersion: 1 + isOrphan: true + noOpenRef: true *changed* + deferredClose: true + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 3 + /user/username/projects/myproject/folder/tsconfig.json + /user/username/projects/myproject/folder/jsconfig.json + /dev/null/inferredProject5* +/random/random.ts (Open) + version: SVC-6-0 + containingProjects: 1 + /dev/null/inferredProject5* *default* +/user/username/projects/myproject/folder/commonFile2.ts *changed* + open: false *changed* + version: SVC-4-0 + containingProjects: 1 + /user/username/projects/myproject/folder/jsconfig.json + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "close", + "arguments": { + "file": "random/random.ts" + }, + "seq": 28, + "type": "request" + } +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/jsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject5*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +Projects:: +/dev/null/inferredProject5* (Inferred) *changed* + projectStateVersion: 2 *changed* + projectProgramVersion: 1 + dirty: true *changed* + isOrphan: true *changed* +/user/username/projects/myproject/folder/jsconfig.json (Configured) + projectStateVersion: 1 + projectProgramVersion: 1 + noOpenRef: true +/user/username/projects/myproject/folder/tsconfig.json (Configured) + projectStateVersion: 1 + projectProgramVersion: 1 + isOrphan: true + noOpenRef: true + deferredClose: true + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 3 + /user/username/projects/myproject/folder/tsconfig.json + /user/username/projects/myproject/folder/jsconfig.json + /dev/null/inferredProject5* +/random/random.ts *deleted* + open: false *changed* + version: SVC-6-0 + containingProjects: 0 *changed* + /dev/null/inferredProject5* *deleted* +/user/username/projects/myproject/folder/commonFile2.ts + version: SVC-4-0 + containingProjects: 1 + /user/username/projects/myproject/folder/jsconfig.json + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/random/random.ts", + "fileContent": "export const y = 10;" + }, + "seq": 29, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /random/random.ts ProjectRootPath: undefined:: Result: undefined +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject5* +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject5* projectStateVersion: 2 projectProgramVersion: 1 structureChanged: false structureIsReused:: Completely Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject5*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /random/random.ts SVC-7-0 "export const y = 10;" + + + ../a/lib/lib.d.ts + Default library for target 'es5' + random.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] `remove Project:: +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts + /user/username/projects/myproject/folder/commonFile1.ts + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + commonFile1.ts + Part of 'files' list in tsconfig.json + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] `remove Project:: +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/jsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts + /user/username/projects/myproject/folder/commonFile2.ts + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + commonFile2.ts + Part of 'files' list in tsconfig.json + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/jsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/commonFile2.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject5*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /random/random.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject5* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches *deleted*:: +/user/username/projects/myproject/folder/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/node_modules/@types: + {"pollingInterval":500} + +FsWatches:: +/a/lib/lib.d.ts: + {} + +FsWatches *deleted*:: +/user/username/projects/myproject/folder/commonFile2.ts: + {} +/user/username/projects/myproject/folder/jsconfig.json: + {} +/user/username/projects/myproject/folder/tsconfig.json: + {} + +Projects:: +/dev/null/inferredProject5* (Inferred) *changed* + projectStateVersion: 2 + projectProgramVersion: 1 + dirty: false *changed* + isOrphan: false *changed* +/user/username/projects/myproject/folder/jsconfig.json (Configured) *deleted* + projectStateVersion: 1 + projectProgramVersion: 1 + isClosed: true *changed* + noOpenRef: true +/user/username/projects/myproject/folder/tsconfig.json (Configured) *deleted* + projectStateVersion: 1 + projectProgramVersion: 1 + isClosed: true *changed* + isOrphan: true + noOpenRef: true + deferredClose: true + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + containingProjects: 1 *changed* + /dev/null/inferredProject5* + /user/username/projects/myproject/folder/tsconfig.json *deleted* + /user/username/projects/myproject/folder/jsconfig.json *deleted* +/random/random.ts (Open) *new* + version: SVC-7-0 + containingProjects: 1 + /dev/null/inferredProject5* *default* +/user/username/projects/myproject/folder/commonFile2.ts *deleted* + version: SVC-4-0 + containingProjects: 0 *changed* + /user/username/projects/myproject/folder/jsconfig.json *deleted* + +Before request +//// [/user/username/projects/myproject/folder/tsconfig.json] +{ + "files": [ + "commonFile1.ts" + ] +} + + +Info seq [hh:mm:ss:mss] request: + { + "command": "close", + "arguments": { + "file": "/random/random.ts" + }, + "seq": 30, + "type": "request" + } +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject5*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +Projects:: +/dev/null/inferredProject5* (Inferred) *changed* + projectStateVersion: 3 *changed* + projectProgramVersion: 1 + dirty: true *changed* + isOrphan: true *changed* + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject5* +/random/random.ts *deleted* + open: false *changed* + version: SVC-7-0 + containingProjects: 0 *changed* + /dev/null/inferredProject5* *deleted* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/user/username/projects/myproject/folder/commonFile1.ts" + }, + "seq": 31, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/commonFile1.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/user/username/projects/myproject/folder/tsconfig.json", + "reason": "Creating possible configured project for /user/username/projects/myproject/folder/commonFile1.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /user/username/projects/myproject/folder/tsconfig.json : { + "rootNames": [ + "/user/username/projects/myproject/folder/commonFile1.ts" + ], + "options": { + "configFilePath": "/user/username/projects/myproject/folder/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /user/username/projects/myproject/folder/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /user/username/projects/myproject/folder/commonFile1.ts SVC-5-0 "let x = 1" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + commonFile1.ts + Part of 'files' list in tsconfig.json + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/user/username/projects/myproject/folder/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/folder/commonFile1.ts", + "configFile": "/user/username/projects/myproject/folder/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] `remove Project:: +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject5*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts + /random/random.ts + + + ../a/lib/lib.d.ts + Default library for target 'es5' + random.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile1.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/user/username/projects/myproject/folder/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/myproject/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/node_modules/@types: *new* + {"pollingInterval":500} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/user/username/projects/myproject/folder/tsconfig.json: *new* + {} + +Projects:: +/dev/null/inferredProject5* (Inferred) *deleted* + projectStateVersion: 3 + projectProgramVersion: 1 + dirty: true + isClosed: true *changed* + isOrphan: true +/user/username/projects/myproject/folder/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + containingProjects: 1 *changed* + /user/username/projects/myproject/folder/tsconfig.json *new* + /dev/null/inferredProject5* *deleted* +/user/username/projects/myproject/folder/commonFile1.ts (Open) *new* + version: SVC-5-0 + containingProjects: 1 + /user/username/projects/myproject/folder/tsconfig.json *default* + +5: Check when both files are closed one by one when file is deleted order changed +Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /user/username/projects/myproject/folder/tsconfig.json 2:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/commonFile1.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/folder/jsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/myproject/folder/jsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/jsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/folder/jsconfig.json, Cancelled earlier one +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one +Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/myproject/folder/tsconfig.json 2:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file +Before request +//// [/user/username/projects/myproject/folder/tsconfig.json] deleted + +PolledWatches:: +/user/username/projects/myproject/folder/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/node_modules/@types: + {"pollingInterval":500} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/user/username/projects/myproject/folder/jsconfig.json: *new* + {} +/user/username/projects/myproject/folder/tsconfig.json: + {} + +Timeout callback:: count: 2 +11: /user/username/projects/myproject/folder/jsconfig.json *deleted* +12: *ensureProjectForOpenFiles* *deleted* +13: /user/username/projects/myproject/folder/jsconfig.json *new* +14: *ensureProjectForOpenFiles* *new* + +Projects:: +/user/username/projects/myproject/folder/jsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 0 + dirty: true +/user/username/projects/myproject/folder/tsconfig.json (Configured) *changed* + projectStateVersion: 1 + projectProgramVersion: 1 + isOrphan: true *changed* + deferredClose: true *changed* + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/user/username/projects/myproject/folder/commonFile2.ts" + }, + "seq": 32, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/folder/jsconfig.json +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/user/username/projects/myproject/folder/jsconfig.json", + "reason": "Change in config file /user/username/projects/myproject/folder/tsconfig.json detected, Creating possible configured project for /user/username/projects/myproject/folder/commonFile1.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /user/username/projects/myproject/folder/jsconfig.json : { + "rootNames": [ + "/user/username/projects/myproject/folder/commonFile2.ts" + ], + "options": { + "allowJs": true, + "maxNodeModuleJsDepth": 2, + "allowSyntheticDefaultImports": true, + "skipLibCheck": true, + "noEmit": true, + "configFilePath": "/user/username/projects/myproject/folder/jsconfig.json" + } +} +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/projects/myproject/folder/jsconfig.json +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /user/username/projects/myproject/folder/jsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/jsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /user/username/projects/myproject/folder/commonFile2.ts SVC-5-0 "let y = 1" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + commonFile2.ts + Part of 'files' list in tsconfig.json + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/user/username/projects/myproject/folder/jsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/folder/commonFile2.ts", + "configFile": "/user/username/projects/myproject/folder/jsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/jsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile1.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/folder/jsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +Projects:: +/user/username/projects/myproject/folder/jsconfig.json (Configured) *changed* + projectStateVersion: 1 + projectProgramVersion: 1 *changed* + dirty: false *changed* +/user/username/projects/myproject/folder/tsconfig.json (Configured) + projectStateVersion: 1 + projectProgramVersion: 1 + isOrphan: true + deferredClose: true + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + containingProjects: 2 *changed* + /user/username/projects/myproject/folder/tsconfig.json + /user/username/projects/myproject/folder/jsconfig.json *new* +/user/username/projects/myproject/folder/commonFile1.ts (Open) + version: SVC-5-0 + containingProjects: 1 + /user/username/projects/myproject/folder/tsconfig.json +/user/username/projects/myproject/folder/commonFile2.ts (Open) *new* + version: SVC-5-0 + containingProjects: 1 + /user/username/projects/myproject/folder/jsconfig.json *default* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "close", + "arguments": { + "file": "/user/username/projects/myproject/folder/commonFile2.ts" + }, + "seq": 33, + "type": "request" + } +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/commonFile2.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/jsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile1.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/user/username/projects/myproject/folder/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/node_modules/@types: + {"pollingInterval":500} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/user/username/projects/myproject/folder/commonFile2.ts: *new* + {} +/user/username/projects/myproject/folder/jsconfig.json: + {} +/user/username/projects/myproject/folder/tsconfig.json: + {} + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 2 + /user/username/projects/myproject/folder/tsconfig.json + /user/username/projects/myproject/folder/jsconfig.json +/user/username/projects/myproject/folder/commonFile1.ts (Open) + version: SVC-5-0 + containingProjects: 1 + /user/username/projects/myproject/folder/tsconfig.json +/user/username/projects/myproject/folder/commonFile2.ts *changed* + open: false *changed* + version: SVC-5-0 + containingProjects: 1 + /user/username/projects/myproject/folder/jsconfig.json + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/random/random.ts", + "fileContent": "export const y = 10;" + }, + "seq": 34, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /random/random.ts ProjectRootPath: undefined:: Result: undefined +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject6* +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject6* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject6*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /random/random.ts SVC-8-0 "export const y = 10;" + + + ../a/lib/lib.d.ts + Default library for target 'es5' + random.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/jsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject6*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile1.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] FileName: /random/random.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject6* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +Projects:: +/dev/null/inferredProject6* (Inferred) *new* + projectStateVersion: 1 + projectProgramVersion: 1 +/user/username/projects/myproject/folder/jsconfig.json (Configured) + projectStateVersion: 1 + projectProgramVersion: 1 +/user/username/projects/myproject/folder/tsconfig.json (Configured) + projectStateVersion: 1 + projectProgramVersion: 1 + isOrphan: true + deferredClose: true + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + containingProjects: 3 *changed* + /user/username/projects/myproject/folder/tsconfig.json + /user/username/projects/myproject/folder/jsconfig.json + /dev/null/inferredProject6* *new* +/random/random.ts (Open) *new* + version: SVC-8-0 + containingProjects: 1 + /dev/null/inferredProject6* *default* +/user/username/projects/myproject/folder/commonFile1.ts (Open) + version: SVC-5-0 + containingProjects: 1 + /user/username/projects/myproject/folder/tsconfig.json +/user/username/projects/myproject/folder/commonFile2.ts + version: SVC-5-0 + containingProjects: 1 + /user/username/projects/myproject/folder/jsconfig.json + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "close", + "arguments": { + "file": "/user/username/projects/myproject/folder/commonFile1.ts" + }, + "seq": 35, + "type": "request" + } +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/commonFile1.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/jsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject6*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /random/random.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject6* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/user/username/projects/myproject/folder/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/node_modules/@types: + {"pollingInterval":500} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/user/username/projects/myproject/folder/commonFile1.ts: *new* + {} +/user/username/projects/myproject/folder/commonFile2.ts: + {} +/user/username/projects/myproject/folder/jsconfig.json: + {} +/user/username/projects/myproject/folder/tsconfig.json: + {} + +Projects:: +/dev/null/inferredProject6* (Inferred) + projectStateVersion: 1 + projectProgramVersion: 1 +/user/username/projects/myproject/folder/jsconfig.json (Configured) *changed* + projectStateVersion: 1 + projectProgramVersion: 1 + noOpenRef: true *changed* +/user/username/projects/myproject/folder/tsconfig.json (Configured) *changed* + projectStateVersion: 1 + projectProgramVersion: 1 + isOrphan: true + noOpenRef: true *changed* + deferredClose: true + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 3 + /user/username/projects/myproject/folder/tsconfig.json + /user/username/projects/myproject/folder/jsconfig.json + /dev/null/inferredProject6* +/random/random.ts (Open) + version: SVC-8-0 + containingProjects: 1 + /dev/null/inferredProject6* *default* +/user/username/projects/myproject/folder/commonFile1.ts *changed* + open: false *changed* + version: SVC-5-0 + containingProjects: 1 + /user/username/projects/myproject/folder/tsconfig.json +/user/username/projects/myproject/folder/commonFile2.ts + version: SVC-5-0 + containingProjects: 1 + /user/username/projects/myproject/folder/jsconfig.json + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "close", + "arguments": { + "file": "random/random.ts" + }, + "seq": 36, + "type": "request" + } +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/jsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject6*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +Projects:: +/dev/null/inferredProject6* (Inferred) *changed* + projectStateVersion: 2 *changed* + projectProgramVersion: 1 + dirty: true *changed* + isOrphan: true *changed* +/user/username/projects/myproject/folder/jsconfig.json (Configured) + projectStateVersion: 1 + projectProgramVersion: 1 + noOpenRef: true +/user/username/projects/myproject/folder/tsconfig.json (Configured) + projectStateVersion: 1 + projectProgramVersion: 1 + isOrphan: true + noOpenRef: true + deferredClose: true + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 3 + /user/username/projects/myproject/folder/tsconfig.json + /user/username/projects/myproject/folder/jsconfig.json + /dev/null/inferredProject6* +/random/random.ts *deleted* + open: false *changed* + version: SVC-8-0 + containingProjects: 0 *changed* + /dev/null/inferredProject6* *deleted* +/user/username/projects/myproject/folder/commonFile1.ts + version: SVC-5-0 + containingProjects: 1 + /user/username/projects/myproject/folder/tsconfig.json +/user/username/projects/myproject/folder/commonFile2.ts + version: SVC-5-0 + containingProjects: 1 + /user/username/projects/myproject/folder/jsconfig.json + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/random/random.ts", + "fileContent": "export const y = 10;" + }, + "seq": 37, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /random/random.ts ProjectRootPath: undefined:: Result: undefined +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject6* +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject6* projectStateVersion: 2 projectProgramVersion: 1 structureChanged: false structureIsReused:: Completely Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject6*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /random/random.ts SVC-9-0 "export const y = 10;" + + + ../a/lib/lib.d.ts + Default library for target 'es5' + random.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] `remove Project:: +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts + /user/username/projects/myproject/folder/commonFile1.ts + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + commonFile1.ts + Part of 'files' list in tsconfig.json + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] `remove Project:: +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/jsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts + /user/username/projects/myproject/folder/commonFile2.ts + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + commonFile2.ts + Part of 'files' list in tsconfig.json + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/jsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/jsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/commonFile1.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/commonFile2.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject6*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /random/random.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject6* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches *deleted*:: +/user/username/projects/myproject/folder/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/node_modules/@types: + {"pollingInterval":500} + +FsWatches:: +/a/lib/lib.d.ts: + {} + +FsWatches *deleted*:: +/user/username/projects/myproject/folder/commonFile1.ts: + {} +/user/username/projects/myproject/folder/commonFile2.ts: + {} +/user/username/projects/myproject/folder/jsconfig.json: + {} +/user/username/projects/myproject/folder/tsconfig.json: + {} + +Projects:: +/dev/null/inferredProject6* (Inferred) *changed* + projectStateVersion: 2 + projectProgramVersion: 1 + dirty: false *changed* + isOrphan: false *changed* +/user/username/projects/myproject/folder/jsconfig.json (Configured) *deleted* + projectStateVersion: 1 + projectProgramVersion: 1 + isClosed: true *changed* + noOpenRef: true +/user/username/projects/myproject/folder/tsconfig.json (Configured) *deleted* + projectStateVersion: 1 + projectProgramVersion: 1 + isClosed: true *changed* + isOrphan: true + noOpenRef: true + deferredClose: true + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + containingProjects: 1 *changed* + /dev/null/inferredProject6* + /user/username/projects/myproject/folder/tsconfig.json *deleted* + /user/username/projects/myproject/folder/jsconfig.json *deleted* +/random/random.ts (Open) *new* + version: SVC-9-0 + containingProjects: 1 + /dev/null/inferredProject6* *default* +/user/username/projects/myproject/folder/commonFile1.ts *deleted* + version: SVC-5-0 + containingProjects: 0 *changed* + /user/username/projects/myproject/folder/tsconfig.json *deleted* +/user/username/projects/myproject/folder/commonFile2.ts *deleted* + version: SVC-5-0 + containingProjects: 0 *changed* + /user/username/projects/myproject/folder/jsconfig.json *deleted* + +6. Check closing commonFile2 first +Before request +//// [/user/username/projects/myproject/folder/tsconfig.json] +{ + "files": [ + "commonFile1.ts" + ] +} + + +Info seq [hh:mm:ss:mss] request: + { + "command": "close", + "arguments": { + "file": "/random/random.ts" + }, + "seq": 38, + "type": "request" + } +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject6*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +Projects:: +/dev/null/inferredProject6* (Inferred) *changed* + projectStateVersion: 3 *changed* + projectProgramVersion: 1 + dirty: true *changed* + isOrphan: true *changed* + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject6* +/random/random.ts *deleted* + open: false *changed* + version: SVC-9-0 + containingProjects: 0 *changed* + /dev/null/inferredProject6* *deleted* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/user/username/projects/myproject/folder/commonFile1.ts" + }, + "seq": 39, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/commonFile1.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/user/username/projects/myproject/folder/tsconfig.json", + "reason": "Creating possible configured project for /user/username/projects/myproject/folder/commonFile1.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /user/username/projects/myproject/folder/tsconfig.json : { + "rootNames": [ + "/user/username/projects/myproject/folder/commonFile1.ts" + ], + "options": { + "configFilePath": "/user/username/projects/myproject/folder/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/folder/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /user/username/projects/myproject/folder/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /user/username/projects/myproject/folder/commonFile1.ts SVC-6-0 "let x = 1" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + commonFile1.ts + Part of 'files' list in tsconfig.json + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/user/username/projects/myproject/folder/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/folder/commonFile1.ts", + "configFile": "/user/username/projects/myproject/folder/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] `remove Project:: +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject6*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts + /random/random.ts + + + ../a/lib/lib.d.ts + Default library for target 'es5' + random.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile1.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/user/username/projects/myproject/folder/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/myproject/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/node_modules/@types: *new* + {"pollingInterval":500} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/user/username/projects/myproject/folder/tsconfig.json: *new* + {} + +Projects:: +/dev/null/inferredProject6* (Inferred) *deleted* + projectStateVersion: 3 + projectProgramVersion: 1 + dirty: true + isClosed: true *changed* + isOrphan: true +/user/username/projects/myproject/folder/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + containingProjects: 1 *changed* + /user/username/projects/myproject/folder/tsconfig.json *new* + /dev/null/inferredProject6* *deleted* +/user/username/projects/myproject/folder/commonFile1.ts (Open) *new* + version: SVC-6-0 + containingProjects: 1 + /user/username/projects/myproject/folder/tsconfig.json *default* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/user/username/projects/myproject/folder/commonFile2.ts" + }, + "seq": 40, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/folder/commonFile2.ts", + "configFile": "/user/username/projects/myproject/folder/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject7* +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /dev/null/inferredProject7* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /dev/null/inferredProject7* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /dev/null/inferredProject7* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /dev/null/inferredProject7* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject7* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject7* WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject7* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject7*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /user/username/projects/myproject/folder/commonFile2.ts SVC-6-0 "let y = 1" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + commonFile2.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject7*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile1.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile2.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject7* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/user/username/projects/myproject/folder/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/jsconfig.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/tsconfig.json: *new* + {"pollingInterval":2000} +/user/username/projects/node_modules/@types: + {"pollingInterval":500} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/user/username/projects/myproject/folder/jsconfig.json: *new* + {} +/user/username/projects/myproject/folder/tsconfig.json: + {} + +Projects:: +/dev/null/inferredProject7* (Inferred) *new* + projectStateVersion: 1 + projectProgramVersion: 1 +/user/username/projects/myproject/folder/tsconfig.json (Configured) + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + containingProjects: 2 *changed* + /user/username/projects/myproject/folder/tsconfig.json + /dev/null/inferredProject7* *new* +/user/username/projects/myproject/folder/commonFile1.ts (Open) + version: SVC-6-0 + containingProjects: 1 + /user/username/projects/myproject/folder/tsconfig.json *default* +/user/username/projects/myproject/folder/commonFile2.ts (Open) *new* + version: SVC-6-0 + containingProjects: 1 + /dev/null/inferredProject7* *default* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "close", + "arguments": { + "file": "/user/username/projects/myproject/folder/commonFile2.ts" + }, + "seq": 41, + "type": "request" + } +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/folder/commonFile2.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject7*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile1.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/user/username/projects/myproject/folder/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/node_modules/@types: + {"pollingInterval":500} + +PolledWatches *deleted*:: +/user/username/projects/myproject/jsconfig.json: + {"pollingInterval":2000} +/user/username/projects/myproject/tsconfig.json: + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/user/username/projects/myproject/folder/commonFile2.ts: *new* + {} +/user/username/projects/myproject/folder/tsconfig.json: + {} + +FsWatches *deleted*:: +/user/username/projects/myproject/folder/jsconfig.json: + {} + +Projects:: +/dev/null/inferredProject7* (Inferred) *changed* + projectStateVersion: 2 *changed* + projectProgramVersion: 1 + dirty: true *changed* + isOrphan: true *changed* +/user/username/projects/myproject/folder/tsconfig.json (Configured) + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 2 + /user/username/projects/myproject/folder/tsconfig.json + /dev/null/inferredProject7* +/user/username/projects/myproject/folder/commonFile1.ts (Open) + version: SVC-6-0 + containingProjects: 1 + /user/username/projects/myproject/folder/tsconfig.json *default* +/user/username/projects/myproject/folder/commonFile2.ts *changed* + open: false *changed* + version: SVC-6-0 + containingProjects: 0 *changed* + /dev/null/inferredProject7* *deleted* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/random/random.ts", + "fileContent": "export const y = 10;" + }, + "seq": 42, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /random/random.ts ProjectRootPath: undefined:: Result: undefined +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject8* +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject8* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject8*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /random/random.ts SVC-10-0 "export const y = 10;" + + + ../a/lib/lib.d.ts + Default library for target 'es5' + random.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] `remove Project:: +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject7*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts + /user/username/projects/myproject/folder/commonFile2.ts + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + commonFile2.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /dev/null/inferredProject7* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/node_modules/@types 1 undefined Project: /dev/null/inferredProject7* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /dev/null/inferredProject7* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /dev/null/inferredProject7* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject7* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject7* WatchType: Type roots +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/folder/commonFile2.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject8*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/commonFile1.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/folder/tsconfig.json +Info seq [hh:mm:ss:mss] FileName: /random/random.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject8* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/user/username/projects/myproject/folder/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/node_modules/@types: + {"pollingInterval":500} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/user/username/projects/myproject/folder/tsconfig.json: + {} + +FsWatches *deleted*:: +/user/username/projects/myproject/folder/commonFile2.ts: + {} + +Projects:: +/dev/null/inferredProject7* (Inferred) *deleted* + projectStateVersion: 2 + projectProgramVersion: 1 + dirty: true + isClosed: true *changed* + isOrphan: true +/dev/null/inferredProject8* (Inferred) *new* + projectStateVersion: 1 + projectProgramVersion: 1 +/user/username/projects/myproject/folder/tsconfig.json (Configured) + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + containingProjects: 2 *changed* + /user/username/projects/myproject/folder/tsconfig.json + /dev/null/inferredProject8* *new* + /dev/null/inferredProject7* *deleted* +/random/random.ts (Open) *new* + version: SVC-10-0 + containingProjects: 1 + /dev/null/inferredProject8* *default* +/user/username/projects/myproject/folder/commonFile1.ts (Open) + version: SVC-6-0 + containingProjects: 1 + /user/username/projects/myproject/folder/tsconfig.json *default* +/user/username/projects/myproject/folder/commonFile2.ts *deleted* + version: SVC-6-0 + containingProjects: 0 diff --git a/tests/baselines/reference/tsserver/configuredProjects/can-correctly-update-configured-project-when-set-of-root-files-has-changed-(new-file-in-list-of-files).js b/tests/baselines/reference/tsserver/configuredProjects/can-correctly-update-configured-project-when-set-of-root-files-has-changed-(new-file-in-list-of-files).js index fb36fd7559e13..3702faf3bd603 100644 --- a/tests/baselines/reference/tsserver/configuredProjects/can-correctly-update-configured-project-when-set-of-root-files-has-changed-(new-file-in-list-of-files).js +++ b/tests/baselines/reference/tsserver/configuredProjects/can-correctly-update-configured-project-when-set-of-root-files-has-changed-(new-file-in-list-of-files).js @@ -199,6 +199,7 @@ ScriptInfos:: Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /a/b/tsconfig.json 1:: WatchInfo: /a/b/tsconfig.json 2000 undefined Project: /a/b/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] Scheduled: /a/b/tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a/b/f1.ts ProjectRootPath: undefined:: Result: /a/b/tsconfig.json Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /a/b/tsconfig.json 1:: WatchInfo: /a/b/tsconfig.json 2000 undefined Project: /a/b/tsconfig.json WatchType: Config file Before running Timeout callback:: count: 2 @@ -225,7 +226,6 @@ Projects:: dirty: true *changed* Info seq [hh:mm:ss:mss] Running: /a/b/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /a/b/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/configuredProjects/can-update-configured-project-when-set-of-root-files-was-not-changed.js b/tests/baselines/reference/tsserver/configuredProjects/can-update-configured-project-when-set-of-root-files-was-not-changed.js index 3be90e5204607..ca9d61b1d3d14 100644 --- a/tests/baselines/reference/tsserver/configuredProjects/can-update-configured-project-when-set-of-root-files-was-not-changed.js +++ b/tests/baselines/reference/tsserver/configuredProjects/can-update-configured-project-when-set-of-root-files-was-not-changed.js @@ -211,6 +211,7 @@ ScriptInfos:: Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /a/b/tsconfig.json 1:: WatchInfo: /a/b/tsconfig.json 2000 undefined Project: /a/b/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] Scheduled: /a/b/tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a/b/f1.ts ProjectRootPath: undefined:: Result: /a/b/tsconfig.json Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /a/b/tsconfig.json 1:: WatchInfo: /a/b/tsconfig.json 2000 undefined Project: /a/b/tsconfig.json WatchType: Config file Before running Timeout callback:: count: 2 @@ -239,7 +240,6 @@ Projects:: dirty: true *changed* Info seq [hh:mm:ss:mss] Running: /a/b/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /a/b/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/configuredProjects/open-file-become-a-part-of-configured-project-if-it-is-referenced-from-root-file.js b/tests/baselines/reference/tsserver/configuredProjects/open-file-become-a-part-of-configured-project-if-it-is-referenced-from-root-file.js index 4c7a1542c4947..f9f87c185dd9b 100644 --- a/tests/baselines/reference/tsserver/configuredProjects/open-file-become-a-part-of-configured-project-if-it-is-referenced-from-root-file.js +++ b/tests/baselines/reference/tsserver/configuredProjects/open-file-become-a-part-of-configured-project-if-it-is-referenced-from-root-file.js @@ -230,12 +230,11 @@ Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/myproject/a/c/tsconfig.json 0:: WatchInfo: /user/username/projects/myproject/a/c/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /user/username/projects/myproject/a/c/tsconfig.json 0:: WatchInfo: /user/username/projects/myproject/a/c/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/a/c/f3.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/a/c/tsconfig.json -Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/a/c/tsconfig.json, Cancelled earlier one Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/myproject/a/c/tsconfig.json 0:: WatchInfo: /user/username/projects/myproject/a/c/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root Before running Timeout callback:: count: 2 -3: /user/username/projects/myproject/a/c/tsconfig.json -4: *ensureProjectForOpenFiles* +1: /user/username/projects/myproject/a/c/tsconfig.json +3: *ensureProjectForOpenFiles* //// [/user/username/projects/myproject/a/c/tsconfig.json] { "compilerOptions": {}, @@ -293,8 +292,8 @@ FsWatches:: {} Timeout callback:: count: 2 -3: /user/username/projects/myproject/a/c/tsconfig.json *new* -4: *ensureProjectForOpenFiles* *new* +1: /user/username/projects/myproject/a/c/tsconfig.json *new* +3: *ensureProjectForOpenFiles* *new* Projects:: /dev/null/inferredProject1* (Inferred) @@ -309,7 +308,6 @@ Projects:: dirty: true Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/a/c/tsconfig.json -Info seq [hh:mm:ss:mss] Loading configured project /user/username/projects/myproject/a/c/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -317,7 +315,7 @@ Info seq [hh:mm:ss:mss] event: "event": "projectLoadingStart", "body": { "projectName": "/user/username/projects/myproject/a/c/tsconfig.json", - "reason": "Change in config file detected" + "reason": "Change in config file /user/username/projects/myproject/a/c/tsconfig.json detected, Creating possible configured project for /user/username/projects/myproject/a/c/f3.ts to open" } } Info seq [hh:mm:ss:mss] Config: /user/username/projects/myproject/a/c/tsconfig.json : { diff --git a/tests/baselines/reference/tsserver/configuredProjects/should-properly-handle-module-resolution-changes-in-config-file.js b/tests/baselines/reference/tsserver/configuredProjects/should-properly-handle-module-resolution-changes-in-config-file.js index 537d91081508b..3c16291c93b77 100644 --- a/tests/baselines/reference/tsserver/configuredProjects/should-properly-handle-module-resolution-changes-in-config-file.js +++ b/tests/baselines/reference/tsserver/configuredProjects/should-properly-handle-module-resolution-changes-in-config-file.js @@ -347,6 +347,7 @@ ScriptInfos:: Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /a/b/tsconfig.json 1:: WatchInfo: /a/b/tsconfig.json 2000 undefined Project: /a/b/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] Scheduled: /a/b/tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a/b/file1.ts ProjectRootPath: undefined:: Result: /a/b/tsconfig.json Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /a/b/tsconfig.json 1:: WatchInfo: /a/b/tsconfig.json 2000 undefined Project: /a/b/tsconfig.json WatchType: Config file Before running Timeout callback:: count: 2 @@ -377,7 +378,6 @@ Projects:: projectProgramVersion: 1 Info seq [hh:mm:ss:mss] Running: /a/b/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /a/b/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/configuredProjects/should-watch-the-extended-configs-of-multiple-projects.js b/tests/baselines/reference/tsserver/configuredProjects/should-watch-the-extended-configs-of-multiple-projects.js index 56b889ec773f2..5766c0610fad1 100644 --- a/tests/baselines/reference/tsserver/configuredProjects/should-watch-the-extended-configs-of-multiple-projects.js +++ b/tests/baselines/reference/tsserver/configuredProjects/should-watch-the-extended-configs-of-multiple-projects.js @@ -478,7 +478,6 @@ Projects:: dirty: true *changed* Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/a/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/a/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -582,7 +581,6 @@ Info seq [hh:mm:ss:mss] event: } } Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/b/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/b/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -769,7 +767,6 @@ Projects:: dirty: true *changed* Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/b/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/b/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -917,6 +914,7 @@ Projects:: Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /user/username/projects/myproject/b/tsconfig.json 1:: WatchInfo: /user/username/projects/myproject/b/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/b/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/b/tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/b/b.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/b/tsconfig.json Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/myproject/b/tsconfig.json 1:: WatchInfo: /user/username/projects/myproject/b/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/b/tsconfig.json WatchType: Config file Before running Timeout callback:: count: 2 @@ -942,7 +940,6 @@ Projects:: dirty: true *changed* Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/b/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/b/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -1158,7 +1155,6 @@ Projects:: dirty: true *changed* Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/a/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/a/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -1251,7 +1247,6 @@ Info seq [hh:mm:ss:mss] event: } } Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/b/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/b/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/dynamicFiles/dynamic-file-with-projectRootPath-fails-when-useInferredProjectPerProjectRoot-is-false.js b/tests/baselines/reference/tsserver/dynamicFiles/dynamic-file-with-projectRootPath-fails-when-useInferredProjectPerProjectRoot-is-false.js index d3bac01b383ac..4b9e4a3236df5 100644 --- a/tests/baselines/reference/tsserver/dynamicFiles/dynamic-file-with-projectRootPath-fails-when-useInferredProjectPerProjectRoot-is-false.js +++ b/tests/baselines/reference/tsserver/dynamicFiles/dynamic-file-with-projectRootPath-fails-when-useInferredProjectPerProjectRoot-is-false.js @@ -32,6 +32,9 @@ Info seq [hh:mm:ss:mss] request: "seq": 1, "type": "request" } +Info seq [hh:mm:ss:mss] Debug Failure. False expression. +Verbose Debug Information: {"fileName":"^walkThroughSnippet:/Users/UserName/projects/someProject/out/someFile#1.js","currentDirectory":"/user/username/projects/myproject","hostCurrentDirectory":"/","openKeys":[]} +Dynamic files must always be opened with service's current directory or service should support inferred project per projectRootPath. Before request Info seq [hh:mm:ss:mss] request: diff --git a/tests/baselines/reference/tsserver/events/projectLanguageServiceState/language-service-disabled-events-are-triggered.js b/tests/baselines/reference/tsserver/events/projectLanguageServiceState/language-service-disabled-events-are-triggered.js index 0a80b4d64148b..cdc2ca9549551 100644 --- a/tests/baselines/reference/tsserver/events/projectLanguageServiceState/language-service-disabled-events-are-triggered.js +++ b/tests/baselines/reference/tsserver/events/projectLanguageServiceState/language-service-disabled-events-are-triggered.js @@ -237,6 +237,7 @@ ScriptInfos:: Language service enabled: false Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /a/jsconfig.json 1:: WatchInfo: /a/jsconfig.json 2000 undefined Project: /a/jsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] Scheduled: /a/jsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a/app.js ProjectRootPath: undefined:: Result: /a/jsconfig.json Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /a/jsconfig.json 1:: WatchInfo: /a/jsconfig.json 2000 undefined Project: /a/jsconfig.json WatchType: Config file Before running Timeout callback:: count: 2 @@ -261,7 +262,6 @@ Projects:: dirty: true *changed* Info seq [hh:mm:ss:mss] Running: /a/jsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /a/jsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/events/projectLoading/change-is-detected-in-an-extended-config-file-when-using-default-event-handler.js b/tests/baselines/reference/tsserver/events/projectLoading/change-is-detected-in-an-extended-config-file-when-using-default-event-handler.js index 618886704d5a5..9390709efb564 100644 --- a/tests/baselines/reference/tsserver/events/projectLoading/change-is-detected-in-an-extended-config-file-when-using-default-event-handler.js +++ b/tests/baselines/reference/tsserver/events/projectLoading/change-is-detected-in-an-extended-config-file-when-using-default-event-handler.js @@ -214,7 +214,6 @@ Projects:: dirty: true *changed* Info seq [hh:mm:ss:mss] Running: /user/username/projects/b/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/b/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/events/projectLoading/change-is-detected-in-an-extended-config-file-when-using-event-handler.js b/tests/baselines/reference/tsserver/events/projectLoading/change-is-detected-in-an-extended-config-file-when-using-event-handler.js index 8cb0473be34ed..36d38ba9e89a0 100644 --- a/tests/baselines/reference/tsserver/events/projectLoading/change-is-detected-in-an-extended-config-file-when-using-event-handler.js +++ b/tests/baselines/reference/tsserver/events/projectLoading/change-is-detected-in-an-extended-config-file-when-using-event-handler.js @@ -211,7 +211,6 @@ Projects:: dirty: true *changed* Info seq [hh:mm:ss:mss] Running: /user/username/projects/b/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/b/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/events/projectLoading/change-is-detected-in-the-config-file-when-using-default-event-handler.js b/tests/baselines/reference/tsserver/events/projectLoading/change-is-detected-in-the-config-file-when-using-default-event-handler.js index dfd94d05aae50..8ff655772123f 100644 --- a/tests/baselines/reference/tsserver/events/projectLoading/change-is-detected-in-the-config-file-when-using-default-event-handler.js +++ b/tests/baselines/reference/tsserver/events/projectLoading/change-is-detected-in-the-config-file-when-using-default-event-handler.js @@ -185,6 +185,7 @@ ScriptInfos:: Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /user/username/projects/a/tsconfig.json 1:: WatchInfo: /user/username/projects/a/tsconfig.json 2000 undefined Project: /user/username/projects/a/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/a/tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/a/a.ts ProjectRootPath: undefined:: Result: /user/username/projects/a/tsconfig.json Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/a/tsconfig.json 1:: WatchInfo: /user/username/projects/a/tsconfig.json 2000 undefined Project: /user/username/projects/a/tsconfig.json WatchType: Config file Before running Timeout callback:: count: 2 @@ -203,7 +204,6 @@ Projects:: dirty: true *changed* Info seq [hh:mm:ss:mss] Running: /user/username/projects/a/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/a/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/events/projectLoading/change-is-detected-in-the-config-file-when-using-event-handler.js b/tests/baselines/reference/tsserver/events/projectLoading/change-is-detected-in-the-config-file-when-using-event-handler.js index 05a8092caca5e..1f3e65a5f5019 100644 --- a/tests/baselines/reference/tsserver/events/projectLoading/change-is-detected-in-the-config-file-when-using-event-handler.js +++ b/tests/baselines/reference/tsserver/events/projectLoading/change-is-detected-in-the-config-file-when-using-event-handler.js @@ -182,6 +182,7 @@ ScriptInfos:: Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /user/username/projects/a/tsconfig.json 1:: WatchInfo: /user/username/projects/a/tsconfig.json 2000 undefined Project: /user/username/projects/a/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/a/tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/a/a.ts ProjectRootPath: undefined:: Result: /user/username/projects/a/tsconfig.json Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/a/tsconfig.json 1:: WatchInfo: /user/username/projects/a/tsconfig.json 2000 undefined Project: /user/username/projects/a/tsconfig.json WatchType: Config file Before running Timeout callback:: count: 2 @@ -200,7 +201,6 @@ Projects:: dirty: true *changed* Info seq [hh:mm:ss:mss] Running: /user/username/projects/a/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/a/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/events/projectLoading/lazyConfiguredProjectsFromExternalProject-is-disabled-when-using-default-event-handler.js b/tests/baselines/reference/tsserver/events/projectLoading/lazyConfiguredProjectsFromExternalProject-is-disabled-when-using-default-event-handler.js index 36ac6d64a6957..346a1aed1e6b7 100644 --- a/tests/baselines/reference/tsserver/events/projectLoading/lazyConfiguredProjectsFromExternalProject-is-disabled-when-using-default-event-handler.js +++ b/tests/baselines/reference/tsserver/events/projectLoading/lazyConfiguredProjectsFromExternalProject-is-disabled-when-using-default-event-handler.js @@ -103,7 +103,6 @@ Info seq [hh:mm:ss:mss] request: "seq": 3, "type": "request" } -Info seq [hh:mm:ss:mss] Loading configured project /user/username/projects/a/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/events/projectLoading/lazyConfiguredProjectsFromExternalProject-is-disabled-when-using-event-handler.js b/tests/baselines/reference/tsserver/events/projectLoading/lazyConfiguredProjectsFromExternalProject-is-disabled-when-using-event-handler.js index 1b750a649fa81..0a874e860dd1a 100644 --- a/tests/baselines/reference/tsserver/events/projectLoading/lazyConfiguredProjectsFromExternalProject-is-disabled-when-using-event-handler.js +++ b/tests/baselines/reference/tsserver/events/projectLoading/lazyConfiguredProjectsFromExternalProject-is-disabled-when-using-event-handler.js @@ -103,7 +103,6 @@ Info seq [hh:mm:ss:mss] request: "seq": 3, "type": "request" } -Info seq [hh:mm:ss:mss] Loading configured project /user/username/projects/a/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/events/projectLoading/lazyConfiguredProjectsFromExternalProject-is-false-when-using-default-event-handler.js b/tests/baselines/reference/tsserver/events/projectLoading/lazyConfiguredProjectsFromExternalProject-is-false-when-using-default-event-handler.js index 24b490eba9617..955ceddd2b50c 100644 --- a/tests/baselines/reference/tsserver/events/projectLoading/lazyConfiguredProjectsFromExternalProject-is-false-when-using-default-event-handler.js +++ b/tests/baselines/reference/tsserver/events/projectLoading/lazyConfiguredProjectsFromExternalProject-is-false-when-using-default-event-handler.js @@ -160,6 +160,17 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/a/tsconfig.json", + "configFile": "/user/username/projects/a/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Project '/user/username/projects/a/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (2) diff --git a/tests/baselines/reference/tsserver/events/projectLoading/lazyConfiguredProjectsFromExternalProject-is-false-when-using-event-handler.js b/tests/baselines/reference/tsserver/events/projectLoading/lazyConfiguredProjectsFromExternalProject-is-false-when-using-event-handler.js index 5240416e86adb..69a7f5292fa58 100644 --- a/tests/baselines/reference/tsserver/events/projectLoading/lazyConfiguredProjectsFromExternalProject-is-false-when-using-event-handler.js +++ b/tests/baselines/reference/tsserver/events/projectLoading/lazyConfiguredProjectsFromExternalProject-is-false-when-using-event-handler.js @@ -157,6 +157,17 @@ Info seq [hh:mm:ss:mss] event: "version": "FakeVersion" } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "CustomHandler::configFileDiag", + "body": { + "configFileName": "/user/username/projects/a/tsconfig.json", + "diagnostics": [], + "triggerFile": "/user/username/projects/a/tsconfig.json" + } + } Info seq [hh:mm:ss:mss] Project '/user/username/projects/a/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (2) diff --git a/tests/baselines/reference/tsserver/events/projectLoading/lazyConfiguredProjectsFromExternalProject-is-true-and-file-is-opened-when-using-default-event-handler.js b/tests/baselines/reference/tsserver/events/projectLoading/lazyConfiguredProjectsFromExternalProject-is-true-and-file-is-opened-when-using-default-event-handler.js index 46e2689959928..c957f44213f22 100644 --- a/tests/baselines/reference/tsserver/events/projectLoading/lazyConfiguredProjectsFromExternalProject-is-true-and-file-is-opened-when-using-default-event-handler.js +++ b/tests/baselines/reference/tsserver/events/projectLoading/lazyConfiguredProjectsFromExternalProject-is-true-and-file-is-opened-when-using-default-event-handler.js @@ -102,7 +102,6 @@ Info seq [hh:mm:ss:mss] request: "type": "request" } Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/a/a.ts ProjectRootPath: undefined:: Result: /user/username/projects/a/tsconfig.json -Info seq [hh:mm:ss:mss] Loading configured project /user/username/projects/a/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -200,7 +199,7 @@ Info seq [hh:mm:ss:mss] event: "type": "event", "event": "configFileDiag", "body": { - "triggerFile": "/user/username/projects/a/tsconfig.json", + "triggerFile": "/user/username/projects/a/a.ts", "configFile": "/user/username/projects/a/tsconfig.json", "diagnostics": [] } diff --git a/tests/baselines/reference/tsserver/events/projectLoading/lazyConfiguredProjectsFromExternalProject-is-true-and-file-is-opened-when-using-event-handler.js b/tests/baselines/reference/tsserver/events/projectLoading/lazyConfiguredProjectsFromExternalProject-is-true-and-file-is-opened-when-using-event-handler.js index 86b81a4e52100..094b5c2ab9926 100644 --- a/tests/baselines/reference/tsserver/events/projectLoading/lazyConfiguredProjectsFromExternalProject-is-true-and-file-is-opened-when-using-event-handler.js +++ b/tests/baselines/reference/tsserver/events/projectLoading/lazyConfiguredProjectsFromExternalProject-is-true-and-file-is-opened-when-using-event-handler.js @@ -102,7 +102,6 @@ Info seq [hh:mm:ss:mss] request: "type": "request" } Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/a/a.ts ProjectRootPath: undefined:: Result: /user/username/projects/a/tsconfig.json -Info seq [hh:mm:ss:mss] Loading configured project /user/username/projects/a/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -199,7 +198,7 @@ Info seq [hh:mm:ss:mss] event: "body": { "configFileName": "/user/username/projects/a/tsconfig.json", "diagnostics": [], - "triggerFile": "/user/username/projects/a/tsconfig.json" + "triggerFile": "/user/username/projects/a/a.ts" } } Info seq [hh:mm:ss:mss] Project '/user/username/projects/a/tsconfig.json' (Configured) diff --git a/tests/baselines/reference/tsserver/events/projectLoading/opening-original-location-project-disableSourceOfProjectReferenceRedirect-when-using-default-event-handler.js b/tests/baselines/reference/tsserver/events/projectLoading/opening-original-location-project-disableSourceOfProjectReferenceRedirect-when-using-default-event-handler.js index 82bbba3cb979a..eab49d4e47a53 100644 --- a/tests/baselines/reference/tsserver/events/projectLoading/opening-original-location-project-disableSourceOfProjectReferenceRedirect-when-using-default-event-handler.js +++ b/tests/baselines/reference/tsserver/events/projectLoading/opening-original-location-project-disableSourceOfProjectReferenceRedirect-when-using-default-event-handler.js @@ -367,6 +367,17 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/a/tsconfig.json", + "configFile": "/user/username/projects/a/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/a/a.ts ProjectRootPath: undefined:: Result: /user/username/projects/a/tsconfig.json Info seq [hh:mm:ss:mss] Finding references to /user/username/projects/a/a.ts position 13 in project /user/username/projects/a/tsconfig.json Info seq [hh:mm:ss:mss] response: diff --git a/tests/baselines/reference/tsserver/events/projectLoading/opening-original-location-project-disableSourceOfProjectReferenceRedirect-when-using-event-handler.js b/tests/baselines/reference/tsserver/events/projectLoading/opening-original-location-project-disableSourceOfProjectReferenceRedirect-when-using-event-handler.js index e14706d18a27a..616d861b38aa2 100644 --- a/tests/baselines/reference/tsserver/events/projectLoading/opening-original-location-project-disableSourceOfProjectReferenceRedirect-when-using-event-handler.js +++ b/tests/baselines/reference/tsserver/events/projectLoading/opening-original-location-project-disableSourceOfProjectReferenceRedirect-when-using-event-handler.js @@ -361,6 +361,17 @@ Info seq [hh:mm:ss:mss] event: "version": "FakeVersion" } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "CustomHandler::configFileDiag", + "body": { + "configFileName": "/user/username/projects/a/tsconfig.json", + "diagnostics": [], + "triggerFile": "/user/username/projects/a/tsconfig.json" + } + } Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/a/a.ts ProjectRootPath: undefined:: Result: /user/username/projects/a/tsconfig.json Info seq [hh:mm:ss:mss] Finding references to /user/username/projects/a/a.ts position 13 in project /user/username/projects/a/tsconfig.json Info seq [hh:mm:ss:mss] response: diff --git a/tests/baselines/reference/tsserver/events/projectLoading/opening-original-location-project-when-using-default-event-handler.js b/tests/baselines/reference/tsserver/events/projectLoading/opening-original-location-project-when-using-default-event-handler.js index e9d33a88c5d45..bf75c900f2495 100644 --- a/tests/baselines/reference/tsserver/events/projectLoading/opening-original-location-project-when-using-default-event-handler.js +++ b/tests/baselines/reference/tsserver/events/projectLoading/opening-original-location-project-when-using-default-event-handler.js @@ -358,6 +358,17 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/a/tsconfig.json", + "configFile": "/user/username/projects/a/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/a/a.ts ProjectRootPath: undefined:: Result: /user/username/projects/a/tsconfig.json Info seq [hh:mm:ss:mss] Finding references to /user/username/projects/a/a.ts position 13 in project /user/username/projects/a/tsconfig.json Info seq [hh:mm:ss:mss] response: diff --git a/tests/baselines/reference/tsserver/events/projectLoading/opening-original-location-project-when-using-event-handler.js b/tests/baselines/reference/tsserver/events/projectLoading/opening-original-location-project-when-using-event-handler.js index 901c863abb2a8..1f6f016b47cc9 100644 --- a/tests/baselines/reference/tsserver/events/projectLoading/opening-original-location-project-when-using-event-handler.js +++ b/tests/baselines/reference/tsserver/events/projectLoading/opening-original-location-project-when-using-event-handler.js @@ -352,6 +352,17 @@ Info seq [hh:mm:ss:mss] event: "version": "FakeVersion" } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "CustomHandler::configFileDiag", + "body": { + "configFileName": "/user/username/projects/a/tsconfig.json", + "diagnostics": [], + "triggerFile": "/user/username/projects/a/tsconfig.json" + } + } Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/a/a.ts ProjectRootPath: undefined:: Result: /user/username/projects/a/tsconfig.json Info seq [hh:mm:ss:mss] Finding references to /user/username/projects/a/a.ts position 13 in project /user/username/projects/a/tsconfig.json Info seq [hh:mm:ss:mss] response: diff --git a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/when-event-handler-is-set-in-the-session-and-should-always-return-the-file-itself-if---isolatedModules-is-specified.js b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/when-event-handler-is-set-in-the-session-and-should-always-return-the-file-itself-if---isolatedModules-is-specified.js index 8297cbf8e0d83..efa1f39d35b0d 100644 --- a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/when-event-handler-is-set-in-the-session-and-should-always-return-the-file-itself-if---isolatedModules-is-specified.js +++ b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/when-event-handler-is-set-in-the-session-and-should-always-return-the-file-itself-if---isolatedModules-is-specified.js @@ -377,6 +377,17 @@ Info seq [hh:mm:ss:mss] Files (6) Matched by default include pattern '**/*' Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "CustomHandler::configFileDiag", + "body": { + "configFileName": "/users/username/projects/project/tsconfig.json", + "diagnostics": [], + "triggerFile": "/users/username/projects/project/tsconfig.json" + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/users/username/projects/project/tsconfig.json' (Configured) diff --git a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/when-event-handler-is-set-in-the-session-and-should-always-return-the-file-itself-if---out-or---outFile-is-specified.js b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/when-event-handler-is-set-in-the-session-and-should-always-return-the-file-itself-if---out-or---outFile-is-specified.js index 13c0f78751086..d473c6ab43513 100644 --- a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/when-event-handler-is-set-in-the-session-and-should-always-return-the-file-itself-if---out-or---outFile-is-specified.js +++ b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/when-event-handler-is-set-in-the-session-and-should-always-return-the-file-itself-if---out-or---outFile-is-specified.js @@ -372,6 +372,17 @@ Info seq [hh:mm:ss:mss] Files (6) Matched by default include pattern '**/*' Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "CustomHandler::configFileDiag", + "body": { + "configFileName": "/users/username/projects/project/tsconfig.json", + "diagnostics": [], + "triggerFile": "/users/username/projects/project/tsconfig.json" + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/users/username/projects/project/tsconfig.json' (Configured) diff --git a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/when-event-handler-is-set-in-the-session-and-should-be-up-to-date-with-deleted-files.js b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/when-event-handler-is-set-in-the-session-and-should-be-up-to-date-with-deleted-files.js index 82157f3d309c7..8f5a83a4bb34a 100644 --- a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/when-event-handler-is-set-in-the-session-and-should-be-up-to-date-with-deleted-files.js +++ b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/when-event-handler-is-set-in-the-session-and-should-be-up-to-date-with-deleted-files.js @@ -382,6 +382,17 @@ Info seq [hh:mm:ss:mss] Files (5) Matched by default include pattern '**/*' Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "CustomHandler::configFileDiag", + "body": { + "configFileName": "/users/username/projects/project/tsconfig.json", + "diagnostics": [], + "triggerFile": "/users/username/projects/project/tsconfig.json" + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/users/username/projects/project/tsconfig.json' (Configured) diff --git a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/when-event-handler-is-set-in-the-session-and-should-be-up-to-date-with-newly-created-files.js b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/when-event-handler-is-set-in-the-session-and-should-be-up-to-date-with-newly-created-files.js index d365b6a513ed3..69cb7b6c966f7 100644 --- a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/when-event-handler-is-set-in-the-session-and-should-be-up-to-date-with-newly-created-files.js +++ b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/when-event-handler-is-set-in-the-session-and-should-be-up-to-date-with-newly-created-files.js @@ -394,6 +394,17 @@ Info seq [hh:mm:ss:mss] Files (7) Matched by default include pattern '**/*' Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "CustomHandler::configFileDiag", + "body": { + "configFileName": "/users/username/projects/project/tsconfig.json", + "diagnostics": [], + "triggerFile": "/users/username/projects/project/tsconfig.json" + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/users/username/projects/project/tsconfig.json' (Configured) diff --git a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/when-event-handler-is-set-in-the-session-and-should-be-up-to-date-with-the-reference-map-changes.js b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/when-event-handler-is-set-in-the-session-and-should-be-up-to-date-with-the-reference-map-changes.js index 51ac410917a60..779481d763881 100644 --- a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/when-event-handler-is-set-in-the-session-and-should-be-up-to-date-with-the-reference-map-changes.js +++ b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/when-event-handler-is-set-in-the-session-and-should-be-up-to-date-with-the-reference-map-changes.js @@ -390,6 +390,17 @@ Info seq [hh:mm:ss:mss] Files (6) Matched by default include pattern '**/*' Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "CustomHandler::configFileDiag", + "body": { + "configFileName": "/users/username/projects/project/tsconfig.json", + "diagnostics": [], + "triggerFile": "/users/username/projects/project/tsconfig.json" + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/users/username/projects/project/tsconfig.json' (Configured) diff --git a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/when-event-handler-is-set-in-the-session-and-should-contains-only-itself.js b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/when-event-handler-is-set-in-the-session-and-should-contains-only-itself.js index ca115f0d24165..4bdfda00ddc81 100644 --- a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/when-event-handler-is-set-in-the-session-and-should-contains-only-itself.js +++ b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/when-event-handler-is-set-in-the-session-and-should-contains-only-itself.js @@ -370,6 +370,17 @@ Info seq [hh:mm:ss:mss] Files (6) Matched by default include pattern '**/*' Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "CustomHandler::configFileDiag", + "body": { + "configFileName": "/users/username/projects/project/tsconfig.json", + "diagnostics": [], + "triggerFile": "/users/username/projects/project/tsconfig.json" + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/users/username/projects/project/tsconfig.json' (Configured) diff --git a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/when-event-handler-is-set-in-the-session-and-should-detect-changes-in-non-root-files.js b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/when-event-handler-is-set-in-the-session-and-should-detect-changes-in-non-root-files.js index c4d4fb7b3f74d..7c438e41dae85 100644 --- a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/when-event-handler-is-set-in-the-session-and-should-detect-changes-in-non-root-files.js +++ b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/when-event-handler-is-set-in-the-session-and-should-detect-changes-in-non-root-files.js @@ -334,6 +334,17 @@ Info seq [hh:mm:ss:mss] Files (3) Part of 'files' list in tsconfig.json Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "CustomHandler::configFileDiag", + "body": { + "configFileName": "/users/username/projects/project/tsconfig.json", + "diagnostics": [], + "triggerFile": "/users/username/projects/project/tsconfig.json" + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/users/username/projects/project/tsconfig.json' (Configured) diff --git a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/when-event-handler-is-set-in-the-session-and-should-detect-non-existing-code-file.js b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/when-event-handler-is-set-in-the-session-and-should-detect-non-existing-code-file.js index 9d86bb2757a33..1c75ddd1d4b4a 100644 --- a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/when-event-handler-is-set-in-the-session-and-should-detect-non-existing-code-file.js +++ b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/when-event-handler-is-set-in-the-session-and-should-detect-non-existing-code-file.js @@ -311,6 +311,17 @@ Info seq [hh:mm:ss:mss] Files (2) Matched by default include pattern '**/*' Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "CustomHandler::configFileDiag", + "body": { + "configFileName": "/users/username/projects/project/tsconfig.json", + "diagnostics": [], + "triggerFile": "/users/username/projects/project/tsconfig.json" + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/users/username/projects/project/tsconfig.json' (Configured) diff --git a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/when-event-handler-is-set-in-the-session-and-should-detect-removed-code-file.js b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/when-event-handler-is-set-in-the-session-and-should-detect-removed-code-file.js index 02bb94c9984c0..11de426f64382 100644 --- a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/when-event-handler-is-set-in-the-session-and-should-detect-removed-code-file.js +++ b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/when-event-handler-is-set-in-the-session-and-should-detect-removed-code-file.js @@ -297,6 +297,17 @@ Info seq [hh:mm:ss:mss] Files (2) Matched by default include pattern '**/*' Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "CustomHandler::configFileDiag", + "body": { + "configFileName": "/users/username/projects/project/tsconfig.json", + "diagnostics": [], + "triggerFile": "/users/username/projects/project/tsconfig.json" + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/users/username/projects/project/tsconfig.json' (Configured) diff --git a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/when-event-handler-is-set-in-the-session-and-should-return-all-files-if-a-global-file-changed-shape.js b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/when-event-handler-is-set-in-the-session-and-should-return-all-files-if-a-global-file-changed-shape.js index e1ff898bd07db..83a470ebb9fd1 100644 --- a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/when-event-handler-is-set-in-the-session-and-should-return-all-files-if-a-global-file-changed-shape.js +++ b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/when-event-handler-is-set-in-the-session-and-should-return-all-files-if-a-global-file-changed-shape.js @@ -370,6 +370,17 @@ Info seq [hh:mm:ss:mss] Files (6) Matched by default include pattern '**/*' Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "CustomHandler::configFileDiag", + "body": { + "configFileName": "/users/username/projects/project/tsconfig.json", + "diagnostics": [], + "triggerFile": "/users/username/projects/project/tsconfig.json" + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/users/username/projects/project/tsconfig.json' (Configured) diff --git a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/when-event-handler-is-set-in-the-session-and-should-return-cascaded-affected-file-list.js b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/when-event-handler-is-set-in-the-session-and-should-return-cascaded-affected-file-list.js index fa0a6409ff7e2..d4b6be81bdc1b 100644 --- a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/when-event-handler-is-set-in-the-session-and-should-return-cascaded-affected-file-list.js +++ b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/when-event-handler-is-set-in-the-session-and-should-return-cascaded-affected-file-list.js @@ -410,6 +410,17 @@ Info seq [hh:mm:ss:mss] Files (7) Matched by default include pattern '**/*' Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "CustomHandler::configFileDiag", + "body": { + "configFileName": "/users/username/projects/project/tsconfig.json", + "diagnostics": [], + "triggerFile": "/users/username/projects/project/tsconfig.json" + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/users/username/projects/project/tsconfig.json' (Configured) diff --git a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/when-event-handler-is-set-in-the-session-and-should-work-fine-for-files-with-circular-references.js b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/when-event-handler-is-set-in-the-session-and-should-work-fine-for-files-with-circular-references.js index 082231770bd70..f7e1156a19c6a 100644 --- a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/when-event-handler-is-set-in-the-session-and-should-work-fine-for-files-with-circular-references.js +++ b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/when-event-handler-is-set-in-the-session-and-should-work-fine-for-files-with-circular-references.js @@ -303,6 +303,17 @@ Info seq [hh:mm:ss:mss] Files (3) Referenced via './file1.ts' from file 'file2.ts' Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "CustomHandler::configFileDiag", + "body": { + "configFileName": "/users/username/projects/project/tsconfig.json", + "diagnostics": [], + "triggerFile": "/users/username/projects/project/tsconfig.json" + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/users/username/projects/project/tsconfig.json' (Configured) diff --git a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/with-noGetErrOnBackgroundUpdate-and-should-always-return-the-file-itself-if---isolatedModules-is-specified.js b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/with-noGetErrOnBackgroundUpdate-and-should-always-return-the-file-itself-if---isolatedModules-is-specified.js index ebb946f7c347f..c57f46656ab12 100644 --- a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/with-noGetErrOnBackgroundUpdate-and-should-always-return-the-file-itself-if---isolatedModules-is-specified.js +++ b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/with-noGetErrOnBackgroundUpdate-and-should-always-return-the-file-itself-if---isolatedModules-is-specified.js @@ -380,6 +380,17 @@ Info seq [hh:mm:ss:mss] Files (6) Matched by default include pattern '**/*' Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/users/username/projects/project/tsconfig.json", + "configFile": "/users/username/projects/project/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/users/username/projects/project/tsconfig.json' (Configured) diff --git a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/with-noGetErrOnBackgroundUpdate-and-should-always-return-the-file-itself-if---out-or---outFile-is-specified.js b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/with-noGetErrOnBackgroundUpdate-and-should-always-return-the-file-itself-if---out-or---outFile-is-specified.js index 89199fbc5922f..e4d6e420bb1a1 100644 --- a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/with-noGetErrOnBackgroundUpdate-and-should-always-return-the-file-itself-if---out-or---outFile-is-specified.js +++ b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/with-noGetErrOnBackgroundUpdate-and-should-always-return-the-file-itself-if---out-or---outFile-is-specified.js @@ -375,6 +375,17 @@ Info seq [hh:mm:ss:mss] Files (6) Matched by default include pattern '**/*' Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/users/username/projects/project/tsconfig.json", + "configFile": "/users/username/projects/project/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/users/username/projects/project/tsconfig.json' (Configured) diff --git a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/with-noGetErrOnBackgroundUpdate-and-should-be-up-to-date-with-deleted-files.js b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/with-noGetErrOnBackgroundUpdate-and-should-be-up-to-date-with-deleted-files.js index 315292ad161de..6d0671b56f5fb 100644 --- a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/with-noGetErrOnBackgroundUpdate-and-should-be-up-to-date-with-deleted-files.js +++ b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/with-noGetErrOnBackgroundUpdate-and-should-be-up-to-date-with-deleted-files.js @@ -385,6 +385,17 @@ Info seq [hh:mm:ss:mss] Files (5) Matched by default include pattern '**/*' Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/users/username/projects/project/tsconfig.json", + "configFile": "/users/username/projects/project/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/users/username/projects/project/tsconfig.json' (Configured) diff --git a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/with-noGetErrOnBackgroundUpdate-and-should-be-up-to-date-with-newly-created-files.js b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/with-noGetErrOnBackgroundUpdate-and-should-be-up-to-date-with-newly-created-files.js index dbe03de8bdb2a..5fb1389febdb0 100644 --- a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/with-noGetErrOnBackgroundUpdate-and-should-be-up-to-date-with-newly-created-files.js +++ b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/with-noGetErrOnBackgroundUpdate-and-should-be-up-to-date-with-newly-created-files.js @@ -397,6 +397,17 @@ Info seq [hh:mm:ss:mss] Files (7) Matched by default include pattern '**/*' Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/users/username/projects/project/tsconfig.json", + "configFile": "/users/username/projects/project/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/users/username/projects/project/tsconfig.json' (Configured) diff --git a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/with-noGetErrOnBackgroundUpdate-and-should-be-up-to-date-with-the-reference-map-changes.js b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/with-noGetErrOnBackgroundUpdate-and-should-be-up-to-date-with-the-reference-map-changes.js index f19d1ba0a95bf..0e464de0c8ebd 100644 --- a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/with-noGetErrOnBackgroundUpdate-and-should-be-up-to-date-with-the-reference-map-changes.js +++ b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/with-noGetErrOnBackgroundUpdate-and-should-be-up-to-date-with-the-reference-map-changes.js @@ -393,6 +393,17 @@ Info seq [hh:mm:ss:mss] Files (6) Matched by default include pattern '**/*' Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/users/username/projects/project/tsconfig.json", + "configFile": "/users/username/projects/project/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/users/username/projects/project/tsconfig.json' (Configured) diff --git a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/with-noGetErrOnBackgroundUpdate-and-should-contains-only-itself.js b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/with-noGetErrOnBackgroundUpdate-and-should-contains-only-itself.js index bbbc38b8bd870..da893f5a824d3 100644 --- a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/with-noGetErrOnBackgroundUpdate-and-should-contains-only-itself.js +++ b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/with-noGetErrOnBackgroundUpdate-and-should-contains-only-itself.js @@ -373,6 +373,17 @@ Info seq [hh:mm:ss:mss] Files (6) Matched by default include pattern '**/*' Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/users/username/projects/project/tsconfig.json", + "configFile": "/users/username/projects/project/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/users/username/projects/project/tsconfig.json' (Configured) diff --git a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/with-noGetErrOnBackgroundUpdate-and-should-detect-changes-in-non-root-files.js b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/with-noGetErrOnBackgroundUpdate-and-should-detect-changes-in-non-root-files.js index ad4442cc75e98..c9cb6bea6571d 100644 --- a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/with-noGetErrOnBackgroundUpdate-and-should-detect-changes-in-non-root-files.js +++ b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/with-noGetErrOnBackgroundUpdate-and-should-detect-changes-in-non-root-files.js @@ -337,6 +337,17 @@ Info seq [hh:mm:ss:mss] Files (3) Part of 'files' list in tsconfig.json Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/users/username/projects/project/tsconfig.json", + "configFile": "/users/username/projects/project/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/users/username/projects/project/tsconfig.json' (Configured) diff --git a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/with-noGetErrOnBackgroundUpdate-and-should-detect-non-existing-code-file.js b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/with-noGetErrOnBackgroundUpdate-and-should-detect-non-existing-code-file.js index 58483a94fcea6..1015dc08db44a 100644 --- a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/with-noGetErrOnBackgroundUpdate-and-should-detect-non-existing-code-file.js +++ b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/with-noGetErrOnBackgroundUpdate-and-should-detect-non-existing-code-file.js @@ -314,6 +314,17 @@ Info seq [hh:mm:ss:mss] Files (2) Matched by default include pattern '**/*' Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/users/username/projects/project/tsconfig.json", + "configFile": "/users/username/projects/project/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/users/username/projects/project/tsconfig.json' (Configured) diff --git a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/with-noGetErrOnBackgroundUpdate-and-should-detect-removed-code-file.js b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/with-noGetErrOnBackgroundUpdate-and-should-detect-removed-code-file.js index 7e3b4b4ed1ec5..fa6da7206d065 100644 --- a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/with-noGetErrOnBackgroundUpdate-and-should-detect-removed-code-file.js +++ b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/with-noGetErrOnBackgroundUpdate-and-should-detect-removed-code-file.js @@ -300,6 +300,17 @@ Info seq [hh:mm:ss:mss] Files (2) Matched by default include pattern '**/*' Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/users/username/projects/project/tsconfig.json", + "configFile": "/users/username/projects/project/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/users/username/projects/project/tsconfig.json' (Configured) diff --git a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/with-noGetErrOnBackgroundUpdate-and-should-return-all-files-if-a-global-file-changed-shape.js b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/with-noGetErrOnBackgroundUpdate-and-should-return-all-files-if-a-global-file-changed-shape.js index c7c7aa380c348..0f669de0dd9bc 100644 --- a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/with-noGetErrOnBackgroundUpdate-and-should-return-all-files-if-a-global-file-changed-shape.js +++ b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/with-noGetErrOnBackgroundUpdate-and-should-return-all-files-if-a-global-file-changed-shape.js @@ -373,6 +373,17 @@ Info seq [hh:mm:ss:mss] Files (6) Matched by default include pattern '**/*' Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/users/username/projects/project/tsconfig.json", + "configFile": "/users/username/projects/project/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/users/username/projects/project/tsconfig.json' (Configured) diff --git a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/with-noGetErrOnBackgroundUpdate-and-should-return-cascaded-affected-file-list.js b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/with-noGetErrOnBackgroundUpdate-and-should-return-cascaded-affected-file-list.js index 170c2bded3c03..f2cf0716195fb 100644 --- a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/with-noGetErrOnBackgroundUpdate-and-should-return-cascaded-affected-file-list.js +++ b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/with-noGetErrOnBackgroundUpdate-and-should-return-cascaded-affected-file-list.js @@ -413,6 +413,17 @@ Info seq [hh:mm:ss:mss] Files (7) Matched by default include pattern '**/*' Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/users/username/projects/project/tsconfig.json", + "configFile": "/users/username/projects/project/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/users/username/projects/project/tsconfig.json' (Configured) diff --git a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/with-noGetErrOnBackgroundUpdate-and-should-work-fine-for-files-with-circular-references.js b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/with-noGetErrOnBackgroundUpdate-and-should-work-fine-for-files-with-circular-references.js index f49bd919213a0..5529f8033737b 100644 --- a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/with-noGetErrOnBackgroundUpdate-and-should-work-fine-for-files-with-circular-references.js +++ b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/with-noGetErrOnBackgroundUpdate-and-should-work-fine-for-files-with-circular-references.js @@ -306,6 +306,17 @@ Info seq [hh:mm:ss:mss] Files (3) Referenced via './file1.ts' from file 'file2.ts' Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/users/username/projects/project/tsconfig.json", + "configFile": "/users/username/projects/project/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/users/username/projects/project/tsconfig.json' (Configured) diff --git a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-always-return-the-file-itself-if---isolatedModules-is-specified.js b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-always-return-the-file-itself-if---isolatedModules-is-specified.js index 1031f51ba508e..ca7c530108685 100644 --- a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-always-return-the-file-itself-if---isolatedModules-is-specified.js +++ b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-always-return-the-file-itself-if---isolatedModules-is-specified.js @@ -380,6 +380,17 @@ Info seq [hh:mm:ss:mss] Files (6) Matched by default include pattern '**/*' Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/users/username/projects/project/tsconfig.json", + "configFile": "/users/username/projects/project/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/users/username/projects/project/tsconfig.json' (Configured) diff --git a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-always-return-the-file-itself-if---out-or---outFile-is-specified.js b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-always-return-the-file-itself-if---out-or---outFile-is-specified.js index caaa31e3dbaf9..cff251a253c5e 100644 --- a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-always-return-the-file-itself-if---out-or---outFile-is-specified.js +++ b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-always-return-the-file-itself-if---out-or---outFile-is-specified.js @@ -375,6 +375,17 @@ Info seq [hh:mm:ss:mss] Files (6) Matched by default include pattern '**/*' Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/users/username/projects/project/tsconfig.json", + "configFile": "/users/username/projects/project/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/users/username/projects/project/tsconfig.json' (Configured) diff --git a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-be-up-to-date-with-deleted-files.js b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-be-up-to-date-with-deleted-files.js index 65f934ad19aa0..cb7fe9e2eaaa5 100644 --- a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-be-up-to-date-with-deleted-files.js +++ b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-be-up-to-date-with-deleted-files.js @@ -385,6 +385,17 @@ Info seq [hh:mm:ss:mss] Files (5) Matched by default include pattern '**/*' Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/users/username/projects/project/tsconfig.json", + "configFile": "/users/username/projects/project/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/users/username/projects/project/tsconfig.json' (Configured) diff --git a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-be-up-to-date-with-newly-created-files.js b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-be-up-to-date-with-newly-created-files.js index 715981a813bc3..a60670c0102d5 100644 --- a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-be-up-to-date-with-newly-created-files.js +++ b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-be-up-to-date-with-newly-created-files.js @@ -397,6 +397,17 @@ Info seq [hh:mm:ss:mss] Files (7) Matched by default include pattern '**/*' Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/users/username/projects/project/tsconfig.json", + "configFile": "/users/username/projects/project/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/users/username/projects/project/tsconfig.json' (Configured) diff --git a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-be-up-to-date-with-the-reference-map-changes.js b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-be-up-to-date-with-the-reference-map-changes.js index b49242dc91ecb..54385ec711b13 100644 --- a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-be-up-to-date-with-the-reference-map-changes.js +++ b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-be-up-to-date-with-the-reference-map-changes.js @@ -393,6 +393,17 @@ Info seq [hh:mm:ss:mss] Files (6) Matched by default include pattern '**/*' Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/users/username/projects/project/tsconfig.json", + "configFile": "/users/username/projects/project/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/users/username/projects/project/tsconfig.json' (Configured) diff --git a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-contains-only-itself.js b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-contains-only-itself.js index a520a78763043..cd1f5074695da 100644 --- a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-contains-only-itself.js +++ b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-contains-only-itself.js @@ -373,6 +373,17 @@ Info seq [hh:mm:ss:mss] Files (6) Matched by default include pattern '**/*' Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/users/username/projects/project/tsconfig.json", + "configFile": "/users/username/projects/project/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/users/username/projects/project/tsconfig.json' (Configured) diff --git a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-detect-changes-in-non-root-files.js b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-detect-changes-in-non-root-files.js index 2c0ea4367a67c..1864cba4e130f 100644 --- a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-detect-changes-in-non-root-files.js +++ b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-detect-changes-in-non-root-files.js @@ -337,6 +337,17 @@ Info seq [hh:mm:ss:mss] Files (3) Part of 'files' list in tsconfig.json Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/users/username/projects/project/tsconfig.json", + "configFile": "/users/username/projects/project/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/users/username/projects/project/tsconfig.json' (Configured) diff --git a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-detect-non-existing-code-file.js b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-detect-non-existing-code-file.js index 40ee429064830..aab330cbd3153 100644 --- a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-detect-non-existing-code-file.js +++ b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-detect-non-existing-code-file.js @@ -314,6 +314,17 @@ Info seq [hh:mm:ss:mss] Files (2) Matched by default include pattern '**/*' Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/users/username/projects/project/tsconfig.json", + "configFile": "/users/username/projects/project/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/users/username/projects/project/tsconfig.json' (Configured) diff --git a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-detect-removed-code-file.js b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-detect-removed-code-file.js index 1060e34660ef9..417801317ac4d 100644 --- a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-detect-removed-code-file.js +++ b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-detect-removed-code-file.js @@ -300,6 +300,17 @@ Info seq [hh:mm:ss:mss] Files (2) Matched by default include pattern '**/*' Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/users/username/projects/project/tsconfig.json", + "configFile": "/users/username/projects/project/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/users/username/projects/project/tsconfig.json' (Configured) diff --git a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-return-all-files-if-a-global-file-changed-shape.js b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-return-all-files-if-a-global-file-changed-shape.js index a41025e98a1f5..64c0e36017067 100644 --- a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-return-all-files-if-a-global-file-changed-shape.js +++ b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-return-all-files-if-a-global-file-changed-shape.js @@ -373,6 +373,17 @@ Info seq [hh:mm:ss:mss] Files (6) Matched by default include pattern '**/*' Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/users/username/projects/project/tsconfig.json", + "configFile": "/users/username/projects/project/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/users/username/projects/project/tsconfig.json' (Configured) diff --git a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-return-cascaded-affected-file-list.js b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-return-cascaded-affected-file-list.js index bd954003e2a97..ab52808266377 100644 --- a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-return-cascaded-affected-file-list.js +++ b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-return-cascaded-affected-file-list.js @@ -413,6 +413,17 @@ Info seq [hh:mm:ss:mss] Files (7) Matched by default include pattern '**/*' Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/users/username/projects/project/tsconfig.json", + "configFile": "/users/username/projects/project/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/users/username/projects/project/tsconfig.json' (Configured) diff --git a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-work-fine-for-files-with-circular-references.js b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-work-fine-for-files-with-circular-references.js index 541e10f553eb7..80321ad4ca9e9 100644 --- a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-work-fine-for-files-with-circular-references.js +++ b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-should-work-fine-for-files-with-circular-references.js @@ -306,6 +306,17 @@ Info seq [hh:mm:ss:mss] Files (3) Referenced via './file1.ts' from file 'file2.ts' Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/users/username/projects/project/tsconfig.json", + "configFile": "/users/username/projects/project/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/users/username/projects/project/tsconfig.json' (Configured) diff --git a/tests/baselines/reference/tsserver/externalProjects/can-handle-tsconfig-file-name-with-difference-casing-with-lazyConfiguredProjectsFromExternalProject.js b/tests/baselines/reference/tsserver/externalProjects/can-handle-tsconfig-file-name-with-difference-casing-with-lazyConfiguredProjectsFromExternalProject.js index 99abce76c8550..a0ecd4aa530be 100644 --- a/tests/baselines/reference/tsserver/externalProjects/can-handle-tsconfig-file-name-with-difference-casing-with-lazyConfiguredProjectsFromExternalProject.js +++ b/tests/baselines/reference/tsserver/externalProjects/can-handle-tsconfig-file-name-with-difference-casing-with-lazyConfiguredProjectsFromExternalProject.js @@ -91,7 +91,6 @@ Info seq [hh:mm:ss:mss] request: "type": "request" } Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a/b/app.ts ProjectRootPath: undefined:: Result: /a/b/tsconfig.json -Info seq [hh:mm:ss:mss] Loading configured project /A/B/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -164,23 +163,6 @@ Info seq [hh:mm:ss:mss] event: } } } -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "configFileDiag", - "body": { - "triggerFile": "/A/B/tsconfig.json", - "configFile": "/A/B/tsconfig.json", - "diagnostics": [ - { - "text": "No inputs were found in config file '/A/B/tsconfig.json'. Specified 'include' paths were '[]' and 'exclude' paths were '[]'.", - "code": 18003, - "category": "error" - } - ] - } - } Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/externalProjects/can-handle-tsconfig-file-name-with-difference-casing.js b/tests/baselines/reference/tsserver/externalProjects/can-handle-tsconfig-file-name-with-difference-casing.js index 1a0039242fd79..74c5563f8cb83 100644 --- a/tests/baselines/reference/tsserver/externalProjects/can-handle-tsconfig-file-name-with-difference-casing.js +++ b/tests/baselines/reference/tsserver/externalProjects/can-handle-tsconfig-file-name-with-difference-casing.js @@ -129,6 +129,23 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/A/B/tsconfig.json", + "configFile": "/A/B/tsconfig.json", + "diagnostics": [ + { + "text": "No inputs were found in config file '/A/B/tsconfig.json'. Specified 'include' paths were '[]' and 'exclude' paths were '[]'.", + "code": 18003, + "category": "error" + } + ] + } + } Info seq [hh:mm:ss:mss] Project '/A/B/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (0) diff --git a/tests/baselines/reference/tsserver/externalProjects/correctly-handles-changes-in-lib-section-of-config-file.js b/tests/baselines/reference/tsserver/externalProjects/correctly-handles-changes-in-lib-section-of-config-file.js index b3f70c0e695c6..70eb58dd5831f 100644 --- a/tests/baselines/reference/tsserver/externalProjects/correctly-handles-changes-in-lib-section-of-config-file.js +++ b/tests/baselines/reference/tsserver/externalProjects/correctly-handles-changes-in-lib-section-of-config-file.js @@ -228,6 +228,7 @@ ScriptInfos:: Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /src/tsconfig.json 1:: WatchInfo: /src/tsconfig.json 2000 undefined Project: /src/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] Scheduled: /src/tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /src/app.ts ProjectRootPath: undefined:: Result: /src/tsconfig.json Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /src/tsconfig.json 1:: WatchInfo: /src/tsconfig.json 2000 undefined Project: /src/tsconfig.json WatchType: Config file Before running Timeout callback:: count: 2 @@ -259,7 +260,6 @@ Projects:: dirty: true *changed* Info seq [hh:mm:ss:mss] Running: /src/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /src/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/externalProjects/correctly-handling-add-or-remove-tsconfig---1-with-lazyConfiguredProjectsFromExternalProject.js b/tests/baselines/reference/tsserver/externalProjects/correctly-handling-add-or-remove-tsconfig---1-with-lazyConfiguredProjectsFromExternalProject.js index 8db7683b24001..535149784f5df 100644 --- a/tests/baselines/reference/tsserver/externalProjects/correctly-handling-add-or-remove-tsconfig---1-with-lazyConfiguredProjectsFromExternalProject.js +++ b/tests/baselines/reference/tsserver/externalProjects/correctly-handling-add-or-remove-tsconfig---1-with-lazyConfiguredProjectsFromExternalProject.js @@ -304,7 +304,6 @@ ScriptInfos:: deferredDelete: true containingProjects: 0 -Info seq [hh:mm:ss:mss] Loading configured project /a/b/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/externalProjects/correctly-handling-add-or-remove-tsconfig---1.js b/tests/baselines/reference/tsserver/externalProjects/correctly-handling-add-or-remove-tsconfig---1.js index d96a98e5be59d..bcbcffad4dee3 100644 --- a/tests/baselines/reference/tsserver/externalProjects/correctly-handling-add-or-remove-tsconfig---1.js +++ b/tests/baselines/reference/tsserver/externalProjects/correctly-handling-add-or-remove-tsconfig---1.js @@ -326,6 +326,63 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/a/b/tsconfig.json", + "configFile": "/a/b/tsconfig.json", + "diagnostics": [ + { + "text": "File '/a/lib/lib.d.ts' not found.\n The file is in the program because:\n Default library for target 'es5'", + "code": 6053, + "category": "error" + }, + { + "text": "Cannot find global type 'Array'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'Boolean'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'Function'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'IArguments'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'Number'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'Object'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'RegExp'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'String'.", + "code": 2318, + "category": "error" + } + ] + } + } Info seq [hh:mm:ss:mss] `remove Project:: Info seq [hh:mm:ss:mss] Project '/a/b/proj1' (External) Info seq [hh:mm:ss:mss] Files (2) diff --git a/tests/baselines/reference/tsserver/externalProjects/correctly-handling-add-or-remove-tsconfig---2-with-lazyConfiguredProjectsFromExternalProject.js b/tests/baselines/reference/tsserver/externalProjects/correctly-handling-add-or-remove-tsconfig---2-with-lazyConfiguredProjectsFromExternalProject.js index 93ca1cd164cd5..82f5e7ab926a8 100644 --- a/tests/baselines/reference/tsserver/externalProjects/correctly-handling-add-or-remove-tsconfig---2-with-lazyConfiguredProjectsFromExternalProject.js +++ b/tests/baselines/reference/tsserver/externalProjects/correctly-handling-add-or-remove-tsconfig---2-with-lazyConfiguredProjectsFromExternalProject.js @@ -226,7 +226,6 @@ ScriptInfos:: containingProjects: 0 *changed* /a/b/proj1 *deleted* -Info seq [hh:mm:ss:mss] Loading configured project /a/b/c/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -369,7 +368,6 @@ Info seq [hh:mm:ss:mss] event: ] } } -Info seq [hh:mm:ss:mss] Loading configured project /a/b/d/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -884,7 +882,6 @@ ScriptInfos:: version: Text-1 containingProjects: 0 -Info seq [hh:mm:ss:mss] Loading configured project /a/b/c/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -985,7 +982,6 @@ Info seq [hh:mm:ss:mss] event: ] } } -Info seq [hh:mm:ss:mss] Loading configured project /a/b/d/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/externalProjects/correctly-handling-add-or-remove-tsconfig---2.js b/tests/baselines/reference/tsserver/externalProjects/correctly-handling-add-or-remove-tsconfig---2.js index ca62ff7839e77..09aae8125fdfc 100644 --- a/tests/baselines/reference/tsserver/externalProjects/correctly-handling-add-or-remove-tsconfig---2.js +++ b/tests/baselines/reference/tsserver/externalProjects/correctly-handling-add-or-remove-tsconfig---2.js @@ -250,6 +250,63 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/a/b/c/tsconfig.json", + "configFile": "/a/b/c/tsconfig.json", + "diagnostics": [ + { + "text": "File '/a/lib/lib.d.ts' not found.\n The file is in the program because:\n Default library for target 'es5'", + "code": 6053, + "category": "error" + }, + { + "text": "Cannot find global type 'Array'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'Boolean'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'Function'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'IArguments'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'Number'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'Object'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'RegExp'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'String'.", + "code": 2318, + "category": "error" + } + ] + } + } Info seq [hh:mm:ss:mss] Creating configuration project /a/b/d/tsconfig.json Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/b/d/tsconfig.json 2000 undefined Project: /a/b/d/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] event: @@ -337,6 +394,63 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/a/b/d/tsconfig.json", + "configFile": "/a/b/d/tsconfig.json", + "diagnostics": [ + { + "text": "File '/a/lib/lib.d.ts' not found.\n The file is in the program because:\n Default library for target 'es5'", + "code": 6053, + "category": "error" + }, + { + "text": "Cannot find global type 'Array'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'Boolean'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'Function'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'IArguments'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'Number'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'Object'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'RegExp'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'String'.", + "code": 2318, + "category": "error" + } + ] + } + } Info seq [hh:mm:ss:mss] `remove Project:: Info seq [hh:mm:ss:mss] Project '/a/b/proj1' (External) Info seq [hh:mm:ss:mss] Files (1) @@ -691,6 +805,63 @@ Info seq [hh:mm:ss:mss] event: "projectName": "/a/b/c/tsconfig.json" } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/a/b/c/tsconfig.json", + "configFile": "/a/b/c/tsconfig.json", + "diagnostics": [ + { + "text": "File '/a/lib/lib.d.ts' not found.\n The file is in the program because:\n Default library for target 'es5'", + "code": 6053, + "category": "error" + }, + { + "text": "Cannot find global type 'Array'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'Boolean'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'Function'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'IArguments'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'Number'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'Object'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'RegExp'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'String'.", + "code": 2318, + "category": "error" + } + ] + } + } Info seq [hh:mm:ss:mss] Creating configuration project /a/b/d/tsconfig.json Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/b/d/tsconfig.json 2000 undefined Project: /a/b/d/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] event: @@ -736,6 +907,63 @@ Info seq [hh:mm:ss:mss] event: "projectName": "/a/b/d/tsconfig.json" } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/a/b/d/tsconfig.json", + "configFile": "/a/b/d/tsconfig.json", + "diagnostics": [ + { + "text": "File '/a/lib/lib.d.ts' not found.\n The file is in the program because:\n Default library for target 'es5'", + "code": 6053, + "category": "error" + }, + { + "text": "Cannot find global type 'Array'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'Boolean'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'Function'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'IArguments'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'Number'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'Object'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'RegExp'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'String'.", + "code": 2318, + "category": "error" + } + ] + } + } Info seq [hh:mm:ss:mss] `remove Project:: Info seq [hh:mm:ss:mss] Project '/a/b/proj1' (External) Info seq [hh:mm:ss:mss] Files (1) diff --git a/tests/baselines/reference/tsserver/externalProjects/deleting-config-file-opened-from-the-external-project-works-with-lazyConfiguredProjectsFromExternalProject.js b/tests/baselines/reference/tsserver/externalProjects/deleting-config-file-opened-from-the-external-project-works-with-lazyConfiguredProjectsFromExternalProject.js index 0c04a25bfd7d6..e418370d4a0b6 100644 --- a/tests/baselines/reference/tsserver/externalProjects/deleting-config-file-opened-from-the-external-project-works-with-lazyConfiguredProjectsFromExternalProject.js +++ b/tests/baselines/reference/tsserver/externalProjects/deleting-config-file-opened-from-the-external-project-works-with-lazyConfiguredProjectsFromExternalProject.js @@ -228,11 +228,12 @@ Projects:: /user/someuser/project/WebApplication6.csproj (External) *new* projectStateVersion: 1 projectProgramVersion: 0 -/user/someuser/project/tsconfig.json (Configured) +/user/someuser/project/tsconfig.json (Configured) *changed* projectStateVersion: 1 projectProgramVersion: 0 dirty: true isOrphan: true + noOpenRef: true *changed* deferredClose: true ScriptInfos:: @@ -445,5 +446,5 @@ Projects:: dirty: true isClosed: true *changed* isOrphan: true - noOpenRef: true *changed* + noOpenRef: true deferredClose: true diff --git a/tests/baselines/reference/tsserver/externalProjects/deleting-config-file-opened-from-the-external-project-works.js b/tests/baselines/reference/tsserver/externalProjects/deleting-config-file-opened-from-the-external-project-works.js index b825bd6c8ec0b..b05f5de7f1c4f 100644 --- a/tests/baselines/reference/tsserver/externalProjects/deleting-config-file-opened-from-the-external-project-works.js +++ b/tests/baselines/reference/tsserver/externalProjects/deleting-config-file-opened-from-the-external-project-works.js @@ -153,6 +153,23 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/someuser/project/tsconfig.json", + "configFile": "/user/someuser/project/tsconfig.json", + "diagnostics": [ + { + "text": "No inputs were found in config file '/user/someuser/project/tsconfig.json'. Specified 'include' paths were '[\"**/*\"]' and 'exclude' paths were '[]'.", + "code": 18003, + "category": "error" + } + ] + } + } Info seq [hh:mm:ss:mss] Project '/user/someuser/project/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (0) @@ -331,10 +348,11 @@ Projects:: /user/someuser/project/WebApplication6.csproj (External) *new* projectStateVersion: 1 projectProgramVersion: 0 -/user/someuser/project/tsconfig.json (Configured) +/user/someuser/project/tsconfig.json (Configured) *changed* projectStateVersion: 1 projectProgramVersion: 1 isOrphan: true + noOpenRef: true *changed* deferredClose: true ScriptInfos:: @@ -556,5 +574,5 @@ Projects:: projectProgramVersion: 1 isClosed: true *changed* isOrphan: true - noOpenRef: true *changed* + noOpenRef: true deferredClose: true diff --git a/tests/baselines/reference/tsserver/externalProjects/external-project-that-included-config-files.js b/tests/baselines/reference/tsserver/externalProjects/external-project-that-included-config-files.js index 456d3522bbc41..7e3639e4b5e9c 100644 --- a/tests/baselines/reference/tsserver/externalProjects/external-project-that-included-config-files.js +++ b/tests/baselines/reference/tsserver/externalProjects/external-project-that-included-config-files.js @@ -131,6 +131,63 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/a/b/tsconfig.json", + "configFile": "/a/b/tsconfig.json", + "diagnostics": [ + { + "text": "File '/a/lib/lib.d.ts' not found.\n The file is in the program because:\n Default library for target 'es5'", + "code": 6053, + "category": "error" + }, + { + "text": "Cannot find global type 'Array'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'Boolean'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'Function'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'IArguments'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'Number'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'Object'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'RegExp'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'String'.", + "code": 2318, + "category": "error" + } + ] + } + } Info seq [hh:mm:ss:mss] Creating configuration project /a/c/tsconfig.json Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/c/tsconfig.json 2000 undefined Project: /a/c/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] event: @@ -214,6 +271,63 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/a/c/tsconfig.json", + "configFile": "/a/c/tsconfig.json", + "diagnostics": [ + { + "text": "File '/a/lib/lib.d.ts' not found.\n The file is in the program because:\n Default library for target 'es5'", + "code": 6053, + "category": "error" + }, + { + "text": "Cannot find global type 'Array'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'Boolean'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'Function'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'IArguments'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'Number'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'Object'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'RegExp'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'String'.", + "code": 2318, + "category": "error" + } + ] + } + } Info seq [hh:mm:ss:mss] Project '/a/b/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (1) diff --git a/tests/baselines/reference/tsserver/externalProjects/handles-creation-of-external-project-with-jsconfig-before-jsconfig-creation-watcher-is-invoked.js b/tests/baselines/reference/tsserver/externalProjects/handles-creation-of-external-project-with-jsconfig-before-jsconfig-creation-watcher-is-invoked.js index dbd7bf4dbc5d4..ce0167b63d8fa 100644 --- a/tests/baselines/reference/tsserver/externalProjects/handles-creation-of-external-project-with-jsconfig-before-jsconfig-creation-watcher-is-invoked.js +++ b/tests/baselines/reference/tsserver/externalProjects/handles-creation-of-external-project-with-jsconfig-before-jsconfig-creation-watcher-is-invoked.js @@ -119,6 +119,23 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/tsconfig.json", + "configFile": "/user/username/projects/myproject/tsconfig.json", + "diagnostics": [ + { + "text": "No inputs were found in config file '/user/username/projects/myproject/tsconfig.json'. Specified 'include' paths were '[\"**/*\"]' and 'exclude' paths were '[]'.", + "code": 18003, + "category": "error" + } + ] + } + } Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (0) @@ -678,6 +695,17 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/jsconfig.json", + "configFile": "/user/username/projects/myproject/jsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (0) diff --git a/tests/baselines/reference/tsserver/externalProjects/handles-loads-existing-configured-projects-of-external-projects-when-lazyConfiguredProjectsFromExternalProject-is-disabled.js b/tests/baselines/reference/tsserver/externalProjects/handles-loads-existing-configured-projects-of-external-projects-when-lazyConfiguredProjectsFromExternalProject-is-disabled.js index 094be1db6c243..3671c90559044 100644 --- a/tests/baselines/reference/tsserver/externalProjects/handles-loads-existing-configured-projects-of-external-projects-when-lazyConfiguredProjectsFromExternalProject-is-disabled.js +++ b/tests/baselines/reference/tsserver/externalProjects/handles-loads-existing-configured-projects-of-external-projects-when-lazyConfiguredProjectsFromExternalProject-is-disabled.js @@ -90,7 +90,6 @@ Info seq [hh:mm:ss:mss] request: "seq": 3, "type": "request" } -Info seq [hh:mm:ss:mss] Loading configured project /a/b/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -399,6 +398,63 @@ Info seq [hh:mm:ss:mss] event: "projectName": "/a/b/tsconfig.json" } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/a/b/tsconfig.json", + "configFile": "/a/b/tsconfig.json", + "diagnostics": [ + { + "text": "File '/a/lib/lib.d.ts' not found.\n The file is in the program because:\n Default library for target 'es5'", + "code": 6053, + "category": "error" + }, + { + "text": "Cannot find global type 'Array'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'Boolean'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'Function'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'IArguments'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'Number'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'Object'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'RegExp'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'String'.", + "code": 2318, + "category": "error" + } + ] + } + } Info seq [hh:mm:ss:mss] Project '/a/b/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (1) diff --git a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-file-is-included-from-multiple-places-with-different-casing.js b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-file-is-included-from-multiple-places-with-different-casing.js new file mode 100644 index 0000000000000..3d07c2303ec9c --- /dev/null +++ b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-file-is-included-from-multiple-places-with-different-casing.js @@ -0,0 +1,1542 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +Before request +//// [/home/src/projects/project/src/struct.d.ts] +import * as xs1 from "fp-ts/lib/Struct"; +import * as xs2 from "fp-ts/lib/struct"; +import * as xs3 from "./Struct"; +import * as xs4 from "./struct"; + + +//// [/home/src/projects/project/src/anotherFile.ts] +import * as xs1 from "fp-ts/lib/Struct"; +import * as xs2 from "fp-ts/lib/struct"; +import * as xs3 from "./Struct"; +import * as xs4 from "./struct"; + + +//// [/home/src/projects/project/src/oneMore.ts] +import * as xs1 from "fp-ts/lib/Struct"; +import * as xs2 from "fp-ts/lib/struct"; +import * as xs3 from "./Struct"; +import * as xs4 from "./struct"; + + +//// [/home/src/projects/project/tsconfig.json] +{} + +//// [/home/src/projects/project/node_modules/fp-ts/lib/struct.d.ts] +export function foo(): void + +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/home/src/projects/project/src/struct.d.ts", + "projectRootPath": "/home/src/projects/project" + }, + "seq": 1, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/src/struct.d.ts ProjectRootPath: /home/src/projects/project:: Result: /home/src/projects/project/tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /home/src/projects/project/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/tsconfig.json 2000 undefined Project: /home/src/projects/project/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/home/src/projects/project/tsconfig.json", + "reason": "Creating possible configured project for /home/src/projects/project/src/struct.d.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /home/src/projects/project/tsconfig.json : { + "rootNames": [ + "/home/src/projects/project/src/anotherFile.ts", + "/home/src/projects/project/src/oneMore.ts", + "/home/src/projects/project/src/struct.d.ts" + ], + "options": { + "configFilePath": "/home/src/projects/project/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project 1 undefined Config: /home/src/projects/project/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project 1 undefined Config: /home/src/projects/project/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/src/anotherFile.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/src/oneMore.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/project/tsconfig.json +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/src 1 undefined Project: /home/src/projects/project/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/src 1 undefined Project: /home/src/projects/project/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules 1 undefined Project: /home/src/projects/project/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules 1 undefined Project: /home/src/projects/project/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/fp-ts/lib/package.json 2000 undefined Project: /home/src/projects/project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/fp-ts/package.json 2000 undefined Project: /home/src/projects/project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/package.json 2000 undefined Project: /home/src/projects/project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/package.json 2000 undefined Project: /home/src/projects/project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/package.json 2000 undefined Project: /home/src/projects/project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/src/package.json 2000 undefined Project: /home/src/projects/project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (5) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };" + /home/src/projects/project/node_modules/fp-ts/lib/Struct.d.ts Text-1 "export function foo(): void" + /home/src/projects/project/src/Struct.d.ts SVC-1-0 "import * as xs1 from \"fp-ts/lib/Struct\";\nimport * as xs2 from \"fp-ts/lib/struct\";\nimport * as xs3 from \"./Struct\";\nimport * as xs4 from \"./struct\";\n" + /home/src/projects/project/src/anotherFile.ts Text-1 "import * as xs1 from \"fp-ts/lib/Struct\";\nimport * as xs2 from \"fp-ts/lib/struct\";\nimport * as xs3 from \"./Struct\";\nimport * as xs4 from \"./struct\";\n" + /home/src/projects/project/src/oneMore.ts Text-1 "import * as xs1 from \"fp-ts/lib/Struct\";\nimport * as xs2 from \"fp-ts/lib/struct\";\nimport * as xs3 from \"./Struct\";\nimport * as xs4 from \"./struct\";\n" + + + ../../../../a/lib/lib.d.ts + Default library for target 'es5' + node_modules/fp-ts/lib/Struct.d.ts + Imported via "fp-ts/lib/Struct" from file 'src/anotherFile.ts' + Imported via "fp-ts/lib/struct" from file 'src/anotherFile.ts' + Imported via "fp-ts/lib/Struct" from file 'src/Struct.d.ts' + Imported via "fp-ts/lib/struct" from file 'src/Struct.d.ts' + Imported via "fp-ts/lib/Struct" from file 'src/oneMore.ts' + Imported via "fp-ts/lib/struct" from file 'src/oneMore.ts' + src/Struct.d.ts + Imported via "./Struct" from file 'src/anotherFile.ts' + Imported via "./Struct" from file 'src/Struct.d.ts' + Imported via "./struct" from file 'src/Struct.d.ts' + Imported via "./struct" from file 'src/anotherFile.ts' + Imported via "./Struct" from file 'src/oneMore.ts' + Imported via "./struct" from file 'src/oneMore.ts' + Matched by default include pattern '**/*' + src/anotherFile.ts + Matched by default include pattern '**/*' + src/oneMore.ts + Matched by default include pattern '**/*' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/home/src/projects/project/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "telemetry", + "body": { + "telemetryEventName": "projectInfo", + "payload": { + "projectId": "1097a5f82e8323ba7aba7567ec06402f7ad4ea74abce44ec5efd223ac77ff169", + "fileStats": { + "js": 0, + "jsSize": 0, + "jsx": 0, + "jsxSize": 0, + "ts": 2, + "tsSize": 296, + "tsx": 0, + "tsxSize": 0, + "dts": 3, + "dtsSize": 588, + "deferred": 0, + "deferredSize": 0 + }, + "compilerOptions": {}, + "typeAcquisition": { + "enable": false, + "include": false, + "exclude": false + }, + "extends": false, + "files": false, + "include": false, + "exclude": false, + "compileOnSave": false, + "configFileName": "tsconfig.json", + "projectType": "configured", + "languageServiceEnabled": true, + "version": "FakeVersion" + } + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/home/src/projects/project/src/struct.d.ts", + "configFile": "/home/src/projects/project/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (5) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/src/struct.d.ts ProjectRootPath: /home/src/projects/project +Info seq [hh:mm:ss:mss] Projects: /home/src/projects/project/tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/home/src/projects/node_modules/@types: *new* + {"pollingInterval":500} +/home/src/projects/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/node_modules/@types: *new* + {"pollingInterval":500} +/home/src/projects/project/node_modules/fp-ts/lib/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/node_modules/fp-ts/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/node_modules/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/src/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: *new* + {} +/home/src/projects/project/src/anotherFile.ts: *new* + {} +/home/src/projects/project/src/oneMore.ts: *new* + {} +/home/src/projects/project/tsconfig.json: *new* + {} + +FsWatchesRecursive:: +/home/src/projects/project: *new* + {} +/home/src/projects/project/node_modules: *new* + {} +/home/src/projects/project/src: *new* + {} + +Projects:: +/home/src/projects/project/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/a/lib/lib.d.ts *new* + version: Text-1 + containingProjects: 1 + /home/src/projects/project/tsconfig.json +/home/src/projects/project/node_modules/fp-ts/lib/Struct.d.ts *new* + version: Text-1 + containingProjects: 1 + /home/src/projects/project/tsconfig.json +/home/src/projects/project/src/anotherFile.ts *new* + version: Text-1 + containingProjects: 1 + /home/src/projects/project/tsconfig.json +/home/src/projects/project/src/oneMore.ts *new* + version: Text-1 + containingProjects: 1 + /home/src/projects/project/tsconfig.json +/home/src/projects/project/src/struct.d.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /home/src/projects/project/tsconfig.json *default* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "geterr", + "arguments": { + "delay": 0, + "files": [ + "/home/src/projects/project/src/struct.d.ts" + ] + }, + "seq": 2, + "type": "request" + } +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +Timeout callback:: count: 1 +1: checkOne *new* + +Before running Timeout callback:: count: 1 +1: checkOne + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "syntaxDiag", + "body": { + "file": "/home/src/projects/project/src/struct.d.ts", + "diagnostics": [] + } + } +After running Timeout callback:: count: 0 + +Immedidate callback:: count: 1 +1: semanticCheck *new* + +Before running Immedidate callback:: count: 1 +1: semanticCheck + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "semanticDiag", + "body": { + "file": "/home/src/projects/project/src/struct.d.ts", + "diagnostics": [ + { + "start": { + "line": 2, + "offset": 22 + }, + "end": { + "line": 2, + "offset": 40 + }, + "text": "File name '/home/src/projects/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/home/src/projects/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing.\n The file is in the program because:\n Imported via \"fp-ts/lib/Struct\" from file '/home/src/projects/project/src/anotherFile.ts'\n Imported via \"fp-ts/lib/struct\" from file '/home/src/projects/project/src/anotherFile.ts'\n Imported via \"fp-ts/lib/Struct\" from file '/home/src/projects/project/src/Struct.d.ts'\n Imported via \"fp-ts/lib/struct\" from file '/home/src/projects/project/src/Struct.d.ts'\n Imported via \"fp-ts/lib/Struct\" from file '/home/src/projects/project/src/oneMore.ts'\n Imported via \"fp-ts/lib/struct\" from file '/home/src/projects/project/src/oneMore.ts'", + "code": 1149, + "category": "error", + "relatedInformation": [ + { + "span": { + "start": { + "line": 1, + "offset": 22 + }, + "end": { + "line": 1, + "offset": 40 + }, + "file": "/home/src/projects/project/src/anotherFile.ts" + }, + "message": "File is included via import here.", + "category": "message", + "code": 1399 + }, + { + "span": { + "start": { + "line": 2, + "offset": 22 + }, + "end": { + "line": 2, + "offset": 40 + }, + "file": "/home/src/projects/project/src/anotherFile.ts" + }, + "message": "File is included via import here.", + "category": "message", + "code": 1399 + }, + { + "span": { + "start": { + "line": 1, + "offset": 22 + }, + "end": { + "line": 1, + "offset": 40 + }, + "file": "/home/src/projects/project/src/Struct.d.ts" + }, + "message": "File is included via import here.", + "category": "message", + "code": 1399 + }, + { + "span": { + "start": { + "line": 1, + "offset": 22 + }, + "end": { + "line": 1, + "offset": 40 + }, + "file": "/home/src/projects/project/src/oneMore.ts" + }, + "message": "File is included via import here.", + "category": "message", + "code": 1399 + }, + { + "span": { + "start": { + "line": 2, + "offset": 22 + }, + "end": { + "line": 2, + "offset": 40 + }, + "file": "/home/src/projects/project/src/oneMore.ts" + }, + "message": "File is included via import here.", + "category": "message", + "code": 1399 + } + ] + }, + { + "start": { + "line": 4, + "offset": 22 + }, + "end": { + "line": 4, + "offset": 32 + }, + "text": "File name '/home/src/projects/project/src/struct.d.ts' differs from already included file name '/home/src/projects/project/src/Struct.d.ts' only in casing.\n The file is in the program because:\n Imported via \"./Struct\" from file '/home/src/projects/project/src/anotherFile.ts'\n Imported via \"./Struct\" from file '/home/src/projects/project/src/Struct.d.ts'\n Imported via \"./struct\" from file '/home/src/projects/project/src/Struct.d.ts'\n Imported via \"./struct\" from file '/home/src/projects/project/src/anotherFile.ts'\n Imported via \"./Struct\" from file '/home/src/projects/project/src/oneMore.ts'\n Imported via \"./struct\" from file '/home/src/projects/project/src/oneMore.ts'\n Matched by default include pattern '**/*'", + "code": 1149, + "category": "error", + "relatedInformation": [ + { + "span": { + "start": { + "line": 3, + "offset": 22 + }, + "end": { + "line": 3, + "offset": 32 + }, + "file": "/home/src/projects/project/src/anotherFile.ts" + }, + "message": "File is included via import here.", + "category": "message", + "code": 1399 + }, + { + "span": { + "start": { + "line": 3, + "offset": 22 + }, + "end": { + "line": 3, + "offset": 32 + }, + "file": "/home/src/projects/project/src/Struct.d.ts" + }, + "message": "File is included via import here.", + "category": "message", + "code": 1399 + }, + { + "span": { + "start": { + "line": 4, + "offset": 22 + }, + "end": { + "line": 4, + "offset": 32 + }, + "file": "/home/src/projects/project/src/anotherFile.ts" + }, + "message": "File is included via import here.", + "category": "message", + "code": 1399 + }, + { + "span": { + "start": { + "line": 3, + "offset": 22 + }, + "end": { + "line": 3, + "offset": 32 + }, + "file": "/home/src/projects/project/src/oneMore.ts" + }, + "message": "File is included via import here.", + "category": "message", + "code": 1399 + }, + { + "span": { + "start": { + "line": 4, + "offset": 22 + }, + "end": { + "line": 4, + "offset": 32 + }, + "file": "/home/src/projects/project/src/oneMore.ts" + }, + "message": "File is included via import here.", + "category": "message", + "code": 1399 + } + ] + } + ] + } + } +After running Immedidate callback:: count: 1 + +Immedidate callback:: count: 1 +2: suggestionCheck *new* + +Before running Immedidate callback:: count: 1 +2: suggestionCheck + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "suggestionDiag", + "body": { + "file": "/home/src/projects/project/src/struct.d.ts", + "diagnostics": [ + { + "start": { + "line": 1, + "offset": 1 + }, + "end": { + "line": 1, + "offset": 41 + }, + "text": "'xs1' is declared but its value is never read.", + "code": 6133, + "category": "suggestion", + "reportsUnnecessary": true + }, + { + "start": { + "line": 2, + "offset": 1 + }, + "end": { + "line": 2, + "offset": 41 + }, + "text": "'xs2' is declared but its value is never read.", + "code": 6133, + "category": "suggestion", + "reportsUnnecessary": true + }, + { + "start": { + "line": 3, + "offset": 1 + }, + "end": { + "line": 3, + "offset": 33 + }, + "text": "'xs3' is declared but its value is never read.", + "code": 6133, + "category": "suggestion", + "reportsUnnecessary": true + }, + { + "start": { + "line": 4, + "offset": 1 + }, + "end": { + "line": 4, + "offset": 33 + }, + "text": "'xs4' is declared but its value is never read.", + "code": 6133, + "category": "suggestion", + "reportsUnnecessary": true + } + ] + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "requestCompleted", + "body": { + "request_seq": 2 + } + } +After running Immedidate callback:: count: 0 + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "updateOpen", + "arguments": { + "changedFiles": [ + { + "fileName": "/home/src/projects/project/src/struct.d.ts", + "textChanges": [ + { + "newText": "import * as xs1 from \"fp-ts/lib/Struct\";\nimport * as xs2 from \"fp-ts/lib/struct\";\nimport * as xs3 from \"./Struct\";\nimport * as xs4 from \"./struct\";\n\nexport const y = 10;", + "start": { + "line": 1, + "offset": 1 + }, + "end": { + "line": 5, + "offset": 1 + } + } + ] + } + ] + }, + "seq": 3, + "type": "request" + } +Info seq [hh:mm:ss:mss] response: + { + "response": true, + "responseRequired": true + } +After request + +Projects:: +/home/src/projects/project/tsconfig.json (Configured) *changed* + projectStateVersion: 2 *changed* + projectProgramVersion: 1 + dirty: true *changed* + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 1 + /home/src/projects/project/tsconfig.json +/home/src/projects/project/node_modules/fp-ts/lib/Struct.d.ts + version: Text-1 + containingProjects: 1 + /home/src/projects/project/tsconfig.json +/home/src/projects/project/src/anotherFile.ts + version: Text-1 + containingProjects: 1 + /home/src/projects/project/tsconfig.json +/home/src/projects/project/src/oneMore.ts + version: Text-1 + containingProjects: 1 + /home/src/projects/project/tsconfig.json +/home/src/projects/project/src/struct.d.ts (Open) *changed* + version: SVC-1-1 *changed* + containingProjects: 1 + /home/src/projects/project/tsconfig.json *default* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "definition", + "arguments": { + "file": "/home/src/projects/project/src/struct.d.ts", + "line": 1, + "offset": 22 + }, + "seq": 4, + "type": "request" + } +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/project/tsconfig.json +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project/tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: false structureIsReused:: Completely Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (5) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };" + /home/src/projects/project/node_modules/fp-ts/lib/Struct.d.ts Text-1 "export function foo(): void" + /home/src/projects/project/src/Struct.d.ts SVC-1-1 "import * as xs1 from \"fp-ts/lib/Struct\";\nimport * as xs2 from \"fp-ts/lib/struct\";\nimport * as xs3 from \"./Struct\";\nimport * as xs4 from \"./struct\";\n\nexport const y = 10;" + /home/src/projects/project/src/anotherFile.ts Text-1 "import * as xs1 from \"fp-ts/lib/Struct\";\nimport * as xs2 from \"fp-ts/lib/struct\";\nimport * as xs3 from \"./Struct\";\nimport * as xs4 from \"./struct\";\n" + /home/src/projects/project/src/oneMore.ts Text-1 "import * as xs1 from \"fp-ts/lib/Struct\";\nimport * as xs2 from \"fp-ts/lib/struct\";\nimport * as xs3 from \"./Struct\";\nimport * as xs4 from \"./struct\";\n" + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] response: + { + "response": [ + { + "file": "/home/src/projects/project/node_modules/fp-ts/lib/Struct.d.ts", + "start": { + "line": 1, + "offset": 1 + }, + "end": { + "line": 1, + "offset": 28 + } + } + ], + "responseRequired": true + } +After request + +Projects:: +/home/src/projects/project/tsconfig.json (Configured) *changed* + projectStateVersion: 2 + projectProgramVersion: 1 + dirty: false *changed* + documentPositionMappers: 1 *changed* + /home/src/projects/project/node_modules/fp-ts/lib/struct.d.ts: identitySourceMapConsumer *new* + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 1 + /home/src/projects/project/tsconfig.json +/home/src/projects/project/node_modules/fp-ts/lib/Struct.d.ts *changed* + version: Text-1 + sourceMapFilePath: false *changed* + containingProjects: 1 + /home/src/projects/project/tsconfig.json +/home/src/projects/project/src/anotherFile.ts + version: Text-1 + containingProjects: 1 + /home/src/projects/project/tsconfig.json +/home/src/projects/project/src/oneMore.ts + version: Text-1 + containingProjects: 1 + /home/src/projects/project/tsconfig.json +/home/src/projects/project/src/struct.d.ts (Open) + version: SVC-1-1 + containingProjects: 1 + /home/src/projects/project/tsconfig.json *default* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "updateOpen", + "arguments": { + "changedFiles": [ + { + "fileName": "/home/src/projects/project/src/struct.d.ts", + "textChanges": [ + { + "newText": "import * as xs1 from \"fp-ts/lib/Struct\";\nimport * as xs2 from \"fp-ts/lib/struct\";\nimport * as xs3 from \"./Struct\";\nimport * as xs4 from \"./struct\";\n\nexport const y = 10;\nexport const yy = 10;", + "start": { + "line": 1, + "offset": 1 + }, + "end": { + "line": 6, + "offset": 21 + } + } + ] + } + ] + }, + "seq": 5, + "type": "request" + } +Info seq [hh:mm:ss:mss] response: + { + "response": true, + "responseRequired": true + } +After request + +Projects:: +/home/src/projects/project/tsconfig.json (Configured) *changed* + projectStateVersion: 3 *changed* + projectProgramVersion: 1 + dirty: true *changed* + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 1 + /home/src/projects/project/tsconfig.json +/home/src/projects/project/node_modules/fp-ts/lib/Struct.d.ts + version: Text-1 + sourceMapFilePath: false + containingProjects: 1 + /home/src/projects/project/tsconfig.json +/home/src/projects/project/src/anotherFile.ts + version: Text-1 + containingProjects: 1 + /home/src/projects/project/tsconfig.json +/home/src/projects/project/src/oneMore.ts + version: Text-1 + containingProjects: 1 + /home/src/projects/project/tsconfig.json +/home/src/projects/project/src/struct.d.ts (Open) *changed* + version: SVC-1-2 *changed* + containingProjects: 1 + /home/src/projects/project/tsconfig.json *default* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "geterr", + "arguments": { + "delay": 0, + "files": [ + "/home/src/projects/project/src/struct.d.ts" + ] + }, + "seq": 6, + "type": "request" + } +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +Timeout callback:: count: 1 +2: checkOne *new* + +Before running Timeout callback:: count: 1 +2: checkOne + +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/project/tsconfig.json +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project/tsconfig.json projectStateVersion: 3 projectProgramVersion: 1 structureChanged: false structureIsReused:: Completely Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (5) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };" + /home/src/projects/project/node_modules/fp-ts/lib/Struct.d.ts Text-1 "export function foo(): void" + /home/src/projects/project/src/Struct.d.ts SVC-1-2 "import * as xs1 from \"fp-ts/lib/Struct\";\nimport * as xs2 from \"fp-ts/lib/struct\";\nimport * as xs3 from \"./Struct\";\nimport * as xs4 from \"./struct\";\n\nexport const y = 10;\nexport const yy = 10;" + /home/src/projects/project/src/anotherFile.ts Text-1 "import * as xs1 from \"fp-ts/lib/Struct\";\nimport * as xs2 from \"fp-ts/lib/struct\";\nimport * as xs3 from \"./Struct\";\nimport * as xs4 from \"./struct\";\n" + /home/src/projects/project/src/oneMore.ts Text-1 "import * as xs1 from \"fp-ts/lib/Struct\";\nimport * as xs2 from \"fp-ts/lib/struct\";\nimport * as xs3 from \"./Struct\";\nimport * as xs4 from \"./struct\";\n" + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "syntaxDiag", + "body": { + "file": "/home/src/projects/project/src/struct.d.ts", + "diagnostics": [] + } + } +After running Timeout callback:: count: 0 + +Immedidate callback:: count: 1 +3: semanticCheck *new* + +Projects:: +/home/src/projects/project/tsconfig.json (Configured) *changed* + projectStateVersion: 3 + projectProgramVersion: 1 + dirty: false *changed* + documentPositionMappers: 0 *changed* + /home/src/projects/project/node_modules/fp-ts/lib/struct.d.ts: identitySourceMapConsumer *deleted* + +Before running Immedidate callback:: count: 1 +3: semanticCheck + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "semanticDiag", + "body": { + "file": "/home/src/projects/project/src/struct.d.ts", + "diagnostics": [ + { + "start": { + "line": 2, + "offset": 22 + }, + "end": { + "line": 2, + "offset": 40 + }, + "text": "File name '/home/src/projects/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/home/src/projects/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing.\n The file is in the program because:\n Imported via \"fp-ts/lib/Struct\" from file '/home/src/projects/project/src/anotherFile.ts'\n Imported via \"fp-ts/lib/struct\" from file '/home/src/projects/project/src/anotherFile.ts'\n Imported via \"fp-ts/lib/Struct\" from file '/home/src/projects/project/src/Struct.d.ts'\n Imported via \"fp-ts/lib/struct\" from file '/home/src/projects/project/src/Struct.d.ts'\n Imported via \"fp-ts/lib/Struct\" from file '/home/src/projects/project/src/oneMore.ts'\n Imported via \"fp-ts/lib/struct\" from file '/home/src/projects/project/src/oneMore.ts'", + "code": 1149, + "category": "error", + "relatedInformation": [ + { + "span": { + "start": { + "line": 1, + "offset": 22 + }, + "end": { + "line": 1, + "offset": 40 + }, + "file": "/home/src/projects/project/src/anotherFile.ts" + }, + "message": "File is included via import here.", + "category": "message", + "code": 1399 + }, + { + "span": { + "start": { + "line": 2, + "offset": 22 + }, + "end": { + "line": 2, + "offset": 40 + }, + "file": "/home/src/projects/project/src/anotherFile.ts" + }, + "message": "File is included via import here.", + "category": "message", + "code": 1399 + }, + { + "span": { + "start": { + "line": 1, + "offset": 22 + }, + "end": { + "line": 1, + "offset": 40 + }, + "file": "/home/src/projects/project/src/Struct.d.ts" + }, + "message": "File is included via import here.", + "category": "message", + "code": 1399 + }, + { + "span": { + "start": { + "line": 1, + "offset": 22 + }, + "end": { + "line": 1, + "offset": 40 + }, + "file": "/home/src/projects/project/src/oneMore.ts" + }, + "message": "File is included via import here.", + "category": "message", + "code": 1399 + }, + { + "span": { + "start": { + "line": 2, + "offset": 22 + }, + "end": { + "line": 2, + "offset": 40 + }, + "file": "/home/src/projects/project/src/oneMore.ts" + }, + "message": "File is included via import here.", + "category": "message", + "code": 1399 + } + ] + }, + { + "start": { + "line": 4, + "offset": 22 + }, + "end": { + "line": 4, + "offset": 32 + }, + "text": "File name '/home/src/projects/project/src/struct.d.ts' differs from already included file name '/home/src/projects/project/src/Struct.d.ts' only in casing.\n The file is in the program because:\n Imported via \"./Struct\" from file '/home/src/projects/project/src/anotherFile.ts'\n Imported via \"./Struct\" from file '/home/src/projects/project/src/Struct.d.ts'\n Imported via \"./struct\" from file '/home/src/projects/project/src/Struct.d.ts'\n Imported via \"./struct\" from file '/home/src/projects/project/src/anotherFile.ts'\n Imported via \"./Struct\" from file '/home/src/projects/project/src/oneMore.ts'\n Imported via \"./struct\" from file '/home/src/projects/project/src/oneMore.ts'\n Matched by default include pattern '**/*'", + "code": 1149, + "category": "error", + "relatedInformation": [ + { + "span": { + "start": { + "line": 3, + "offset": 22 + }, + "end": { + "line": 3, + "offset": 32 + }, + "file": "/home/src/projects/project/src/anotherFile.ts" + }, + "message": "File is included via import here.", + "category": "message", + "code": 1399 + }, + { + "span": { + "start": { + "line": 3, + "offset": 22 + }, + "end": { + "line": 3, + "offset": 32 + }, + "file": "/home/src/projects/project/src/Struct.d.ts" + }, + "message": "File is included via import here.", + "category": "message", + "code": 1399 + }, + { + "span": { + "start": { + "line": 4, + "offset": 22 + }, + "end": { + "line": 4, + "offset": 32 + }, + "file": "/home/src/projects/project/src/anotherFile.ts" + }, + "message": "File is included via import here.", + "category": "message", + "code": 1399 + }, + { + "span": { + "start": { + "line": 3, + "offset": 22 + }, + "end": { + "line": 3, + "offset": 32 + }, + "file": "/home/src/projects/project/src/oneMore.ts" + }, + "message": "File is included via import here.", + "category": "message", + "code": 1399 + }, + { + "span": { + "start": { + "line": 4, + "offset": 22 + }, + "end": { + "line": 4, + "offset": 32 + }, + "file": "/home/src/projects/project/src/oneMore.ts" + }, + "message": "File is included via import here.", + "category": "message", + "code": 1399 + } + ] + } + ] + } + } +After running Immedidate callback:: count: 1 + +Immedidate callback:: count: 1 +4: suggestionCheck *new* + +Before running Immedidate callback:: count: 1 +4: suggestionCheck + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "suggestionDiag", + "body": { + "file": "/home/src/projects/project/src/struct.d.ts", + "diagnostics": [ + { + "start": { + "line": 1, + "offset": 1 + }, + "end": { + "line": 1, + "offset": 41 + }, + "text": "'xs1' is declared but its value is never read.", + "code": 6133, + "category": "suggestion", + "reportsUnnecessary": true + }, + { + "start": { + "line": 2, + "offset": 1 + }, + "end": { + "line": 2, + "offset": 41 + }, + "text": "'xs2' is declared but its value is never read.", + "code": 6133, + "category": "suggestion", + "reportsUnnecessary": true + }, + { + "start": { + "line": 3, + "offset": 1 + }, + "end": { + "line": 3, + "offset": 33 + }, + "text": "'xs3' is declared but its value is never read.", + "code": 6133, + "category": "suggestion", + "reportsUnnecessary": true + }, + { + "start": { + "line": 4, + "offset": 1 + }, + "end": { + "line": 4, + "offset": 33 + }, + "text": "'xs4' is declared but its value is never read.", + "code": 6133, + "category": "suggestion", + "reportsUnnecessary": true + } + ] + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "requestCompleted", + "body": { + "request_seq": 6 + } + } +After running Immedidate callback:: count: 0 + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "updateOpen", + "arguments": { + "changedFiles": [ + { + "fileName": "/home/src/projects/project/src/struct.d.ts", + "textChanges": [ + { + "newText": "import * as xs1 from \"fp-ts/lib/Struct\";\nimport * as xs2 from \"fp-ts/lib/struct\";\nimport * as xs3 from \"./Struct\";\n", + "start": { + "line": 1, + "offset": 1 + }, + "end": { + "line": 7, + "offset": 22 + } + } + ] + } + ] + }, + "seq": 7, + "type": "request" + } +Info seq [hh:mm:ss:mss] response: + { + "response": true, + "responseRequired": true + } +After request + +Projects:: +/home/src/projects/project/tsconfig.json (Configured) *changed* + projectStateVersion: 4 *changed* + projectProgramVersion: 1 + dirty: true *changed* + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 1 + /home/src/projects/project/tsconfig.json +/home/src/projects/project/node_modules/fp-ts/lib/Struct.d.ts + version: Text-1 + sourceMapFilePath: false + containingProjects: 1 + /home/src/projects/project/tsconfig.json +/home/src/projects/project/src/anotherFile.ts + version: Text-1 + containingProjects: 1 + /home/src/projects/project/tsconfig.json +/home/src/projects/project/src/oneMore.ts + version: Text-1 + containingProjects: 1 + /home/src/projects/project/tsconfig.json +/home/src/projects/project/src/struct.d.ts (Open) *changed* + version: SVC-1-3 *changed* + containingProjects: 1 + /home/src/projects/project/tsconfig.json *default* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "definition", + "arguments": { + "file": "/home/src/projects/project/src/struct.d.ts", + "line": 1, + "offset": 22 + }, + "seq": 8, + "type": "request" + } +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/project/tsconfig.json +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project/tsconfig.json projectStateVersion: 4 projectProgramVersion: 1 structureChanged: true structureIsReused:: SafeModules Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (5) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };" + /home/src/projects/project/node_modules/fp-ts/lib/Struct.d.ts Text-1 "export function foo(): void" + /home/src/projects/project/src/Struct.d.ts SVC-1-3 "import * as xs1 from \"fp-ts/lib/Struct\";\nimport * as xs2 from \"fp-ts/lib/struct\";\nimport * as xs3 from \"./Struct\";\n" + /home/src/projects/project/src/anotherFile.ts Text-1 "import * as xs1 from \"fp-ts/lib/Struct\";\nimport * as xs2 from \"fp-ts/lib/struct\";\nimport * as xs3 from \"./Struct\";\nimport * as xs4 from \"./struct\";\n" + /home/src/projects/project/src/oneMore.ts Text-1 "import * as xs1 from \"fp-ts/lib/Struct\";\nimport * as xs2 from \"fp-ts/lib/struct\";\nimport * as xs3 from \"./Struct\";\nimport * as xs4 from \"./struct\";\n" + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] response: + { + "response": [ + { + "file": "/home/src/projects/project/node_modules/fp-ts/lib/Struct.d.ts", + "start": { + "line": 1, + "offset": 1 + }, + "end": { + "line": 1, + "offset": 28 + } + } + ], + "responseRequired": true + } +After request + +Projects:: +/home/src/projects/project/tsconfig.json (Configured) *changed* + projectStateVersion: 4 + projectProgramVersion: 2 *changed* + dirty: false *changed* + documentPositionMappers: 1 *changed* + /home/src/projects/project/node_modules/fp-ts/lib/struct.d.ts: identitySourceMapConsumer *new* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "updateOpen", + "arguments": { + "changedFiles": [ + { + "fileName": "/home/src/projects/project/src/struct.d.ts", + "textChanges": [ + { + "newText": "import * as xs1 from \"fp-ts/lib/Struct\";\nimport * as xs3 from \"./struct\";\n", + "start": { + "line": 1, + "offset": 1 + }, + "end": { + "line": 4, + "offset": 1 + } + } + ] + } + ] + }, + "seq": 9, + "type": "request" + } +Info seq [hh:mm:ss:mss] response: + { + "response": true, + "responseRequired": true + } +After request + +Projects:: +/home/src/projects/project/tsconfig.json (Configured) *changed* + projectStateVersion: 5 *changed* + projectProgramVersion: 2 + dirty: true *changed* + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 1 + /home/src/projects/project/tsconfig.json +/home/src/projects/project/node_modules/fp-ts/lib/Struct.d.ts + version: Text-1 + sourceMapFilePath: false + containingProjects: 1 + /home/src/projects/project/tsconfig.json +/home/src/projects/project/src/anotherFile.ts + version: Text-1 + containingProjects: 1 + /home/src/projects/project/tsconfig.json +/home/src/projects/project/src/oneMore.ts + version: Text-1 + containingProjects: 1 + /home/src/projects/project/tsconfig.json +/home/src/projects/project/src/struct.d.ts (Open) *changed* + version: SVC-1-4 *changed* + containingProjects: 1 + /home/src/projects/project/tsconfig.json *default* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "geterr", + "arguments": { + "delay": 0, + "files": [ + "/home/src/projects/project/src/struct.d.ts" + ] + }, + "seq": 10, + "type": "request" + } +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +Timeout callback:: count: 1 +3: checkOne *new* + +Before running Timeout callback:: count: 1 +3: checkOne + +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/project/tsconfig.json +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project/tsconfig.json projectStateVersion: 5 projectProgramVersion: 2 structureChanged: true structureIsReused:: SafeModules Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (5) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };" + /home/src/projects/project/node_modules/fp-ts/lib/Struct.d.ts Text-1 "export function foo(): void" + /home/src/projects/project/src/Struct.d.ts SVC-1-4 "import * as xs1 from \"fp-ts/lib/Struct\";\nimport * as xs3 from \"./struct\";\n" + /home/src/projects/project/src/anotherFile.ts Text-1 "import * as xs1 from \"fp-ts/lib/Struct\";\nimport * as xs2 from \"fp-ts/lib/struct\";\nimport * as xs3 from \"./Struct\";\nimport * as xs4 from \"./struct\";\n" + /home/src/projects/project/src/oneMore.ts Text-1 "import * as xs1 from \"fp-ts/lib/Struct\";\nimport * as xs2 from \"fp-ts/lib/struct\";\nimport * as xs3 from \"./Struct\";\nimport * as xs4 from \"./struct\";\n" + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "syntaxDiag", + "body": { + "file": "/home/src/projects/project/src/struct.d.ts", + "diagnostics": [] + } + } +After running Timeout callback:: count: 0 + +Immedidate callback:: count: 1 +5: semanticCheck *new* + +Projects:: +/home/src/projects/project/tsconfig.json (Configured) *changed* + projectStateVersion: 5 + projectProgramVersion: 3 *changed* + dirty: false *changed* + documentPositionMappers: 0 *changed* + /home/src/projects/project/node_modules/fp-ts/lib/struct.d.ts: identitySourceMapConsumer *deleted* + +Before running Immedidate callback:: count: 1 +5: semanticCheck + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "semanticDiag", + "body": { + "file": "/home/src/projects/project/src/struct.d.ts", + "diagnostics": [ + { + "start": { + "line": 2, + "offset": 22 + }, + "end": { + "line": 2, + "offset": 32 + }, + "text": "File name '/home/src/projects/project/src/struct.d.ts' differs from already included file name '/home/src/projects/project/src/Struct.d.ts' only in casing.\n The file is in the program because:\n Imported via \"./Struct\" from file '/home/src/projects/project/src/anotherFile.ts'\n Imported via \"./struct\" from file '/home/src/projects/project/src/Struct.d.ts'\n Imported via \"./struct\" from file '/home/src/projects/project/src/anotherFile.ts'\n Imported via \"./Struct\" from file '/home/src/projects/project/src/oneMore.ts'\n Imported via \"./struct\" from file '/home/src/projects/project/src/oneMore.ts'\n Matched by default include pattern '**/*'", + "code": 1149, + "category": "error", + "relatedInformation": [ + { + "span": { + "start": { + "line": 3, + "offset": 22 + }, + "end": { + "line": 3, + "offset": 32 + }, + "file": "/home/src/projects/project/src/anotherFile.ts" + }, + "message": "File is included via import here.", + "category": "message", + "code": 1399 + }, + { + "span": { + "start": { + "line": 4, + "offset": 22 + }, + "end": { + "line": 4, + "offset": 32 + }, + "file": "/home/src/projects/project/src/anotherFile.ts" + }, + "message": "File is included via import here.", + "category": "message", + "code": 1399 + }, + { + "span": { + "start": { + "line": 3, + "offset": 22 + }, + "end": { + "line": 3, + "offset": 32 + }, + "file": "/home/src/projects/project/src/oneMore.ts" + }, + "message": "File is included via import here.", + "category": "message", + "code": 1399 + }, + { + "span": { + "start": { + "line": 4, + "offset": 22 + }, + "end": { + "line": 4, + "offset": 32 + }, + "file": "/home/src/projects/project/src/oneMore.ts" + }, + "message": "File is included via import here.", + "category": "message", + "code": 1399 + } + ] + } + ] + } + } +After running Immedidate callback:: count: 1 + +Immedidate callback:: count: 1 +6: suggestionCheck *new* + +Before running Immedidate callback:: count: 1 +6: suggestionCheck + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "suggestionDiag", + "body": { + "file": "/home/src/projects/project/src/struct.d.ts", + "diagnostics": [ + { + "start": { + "line": 1, + "offset": 1 + }, + "end": { + "line": 1, + "offset": 41 + }, + "text": "'xs1' is declared but its value is never read.", + "code": 6133, + "category": "suggestion", + "reportsUnnecessary": true + }, + { + "start": { + "line": 2, + "offset": 1 + }, + "end": { + "line": 2, + "offset": 33 + }, + "text": "'xs3' is declared but its value is never read.", + "code": 6133, + "category": "suggestion", + "reportsUnnecessary": true + } + ] + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "requestCompleted", + "body": { + "request_seq": 10 + } + } +After running Immedidate callback:: count: 0 diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_paths_stripSrc.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_paths_stripSrc.js index 1455dc326e5f1..38a9161e2372a 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_paths_stripSrc.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_paths_stripSrc.js @@ -175,6 +175,46 @@ Info seq [hh:mm:ss:mss] event: "projectName": "/packages/app/tsconfig.json" } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/packages/app/package.json", + "configFile": "/packages/app/tsconfig.json", + "diagnostics": [ + { + "start": { + "line": 12, + "offset": 18 + }, + "end": { + "line": 12, + "offset": 38 + }, + "text": "Referenced project '/packages/dep' must have setting \"composite\": true.", + "code": 6306, + "category": "error", + "fileName": "/packages/app/tsconfig.json" + }, + { + "start": { + "line": 12, + "offset": 3 + }, + "end": { + "line": 12, + "offset": 15 + }, + "text": "',' expected.", + "code": 1005, + "category": "error", + "fileName": "/packages/app/tsconfig.json" + } + ] + } + } Info seq [hh:mm:ss:mss] Creating configuration project /packages/dep/tsconfig.json Info seq [hh:mm:ss:mss] event: { @@ -224,46 +264,6 @@ Info seq [hh:mm:ss:mss] event: "projectName": "/packages/dep/tsconfig.json" } } -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "configFileDiag", - "body": { - "triggerFile": "/packages/app/package.json", - "configFile": "/packages/app/tsconfig.json", - "diagnostics": [ - { - "start": { - "line": 12, - "offset": 18 - }, - "end": { - "line": 12, - "offset": 38 - }, - "text": "Referenced project '/packages/dep' must have setting \"composite\": true.", - "code": 6306, - "category": "error", - "fileName": "/packages/app/tsconfig.json" - }, - { - "start": { - "line": 12, - "offset": 3 - }, - "end": { - "line": 12, - "offset": 15 - }, - "text": "',' expected.", - "code": 1005, - "category": "error", - "fileName": "/packages/app/tsconfig.json" - } - ] - } - } Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_paths_toDist.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_paths_toDist.js index 9df4fdd6e7764..511e3a68bdd63 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_paths_toDist.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_paths_toDist.js @@ -175,6 +175,46 @@ Info seq [hh:mm:ss:mss] event: "projectName": "/packages/app/tsconfig.json" } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/packages/app/package.json", + "configFile": "/packages/app/tsconfig.json", + "diagnostics": [ + { + "start": { + "line": 12, + "offset": 18 + }, + "end": { + "line": 12, + "offset": 38 + }, + "text": "Referenced project '/packages/dep' must have setting \"composite\": true.", + "code": 6306, + "category": "error", + "fileName": "/packages/app/tsconfig.json" + }, + { + "start": { + "line": 12, + "offset": 3 + }, + "end": { + "line": 12, + "offset": 15 + }, + "text": "',' expected.", + "code": 1005, + "category": "error", + "fileName": "/packages/app/tsconfig.json" + } + ] + } + } Info seq [hh:mm:ss:mss] Creating configuration project /packages/dep/tsconfig.json Info seq [hh:mm:ss:mss] event: { @@ -224,46 +264,6 @@ Info seq [hh:mm:ss:mss] event: "projectName": "/packages/dep/tsconfig.json" } } -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "configFileDiag", - "body": { - "triggerFile": "/packages/app/package.json", - "configFile": "/packages/app/tsconfig.json", - "diagnostics": [ - { - "start": { - "line": 12, - "offset": 18 - }, - "end": { - "line": 12, - "offset": 38 - }, - "text": "Referenced project '/packages/dep' must have setting \"composite\": true.", - "code": 6306, - "category": "error", - "fileName": "/packages/app/tsconfig.json" - }, - { - "start": { - "line": 12, - "offset": 3 - }, - "end": { - "line": 12, - "offset": 15 - }, - "text": "',' expected.", - "code": 1005, - "category": "error", - "fileName": "/packages/app/tsconfig.json" - } - ] - } - } Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_paths_toSrc.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_paths_toSrc.js index be5dfa519b518..1ff20572701cf 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_paths_toSrc.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_paths_toSrc.js @@ -175,6 +175,46 @@ Info seq [hh:mm:ss:mss] event: "projectName": "/packages/app/tsconfig.json" } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/packages/app/package.json", + "configFile": "/packages/app/tsconfig.json", + "diagnostics": [ + { + "start": { + "line": 12, + "offset": 18 + }, + "end": { + "line": 12, + "offset": 38 + }, + "text": "Referenced project '/packages/dep' must have setting \"composite\": true.", + "code": 6306, + "category": "error", + "fileName": "/packages/app/tsconfig.json" + }, + { + "start": { + "line": 12, + "offset": 3 + }, + "end": { + "line": 12, + "offset": 15 + }, + "text": "',' expected.", + "code": 1005, + "category": "error", + "fileName": "/packages/app/tsconfig.json" + } + ] + } + } Info seq [hh:mm:ss:mss] Creating configuration project /packages/dep/tsconfig.json Info seq [hh:mm:ss:mss] event: { @@ -224,46 +264,6 @@ Info seq [hh:mm:ss:mss] event: "projectName": "/packages/dep/tsconfig.json" } } -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "configFileDiag", - "body": { - "triggerFile": "/packages/app/package.json", - "configFile": "/packages/app/tsconfig.json", - "diagnostics": [ - { - "start": { - "line": 12, - "offset": 18 - }, - "end": { - "line": 12, - "offset": 38 - }, - "text": "Referenced project '/packages/dep' must have setting \"composite\": true.", - "code": 6306, - "category": "error", - "fileName": "/packages/app/tsconfig.json" - }, - { - "start": { - "line": 12, - "offset": 3 - }, - "end": { - "line": 12, - "offset": 15 - }, - "text": "',' expected.", - "code": 1005, - "category": "error", - "fileName": "/packages/app/tsconfig.json" - } - ] - } - } Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_symlinks_stripSrc.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_symlinks_stripSrc.js index 903c423243540..d4ce9888ed416 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_symlinks_stripSrc.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_symlinks_stripSrc.js @@ -141,6 +141,46 @@ Info seq [hh:mm:ss:mss] event: "projectName": "/packages/app/tsconfig.json" } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/packages/app/package.json", + "configFile": "/packages/app/tsconfig.json", + "diagnostics": [ + { + "start": { + "line": 11, + "offset": 18 + }, + "end": { + "line": 11, + "offset": 38 + }, + "text": "Referenced project '/packages/dep' must have setting \"composite\": true.", + "code": 6306, + "category": "error", + "fileName": "/packages/app/tsconfig.json" + }, + { + "start": { + "line": 11, + "offset": 3 + }, + "end": { + "line": 11, + "offset": 15 + }, + "text": "',' expected.", + "code": 1005, + "category": "error", + "fileName": "/packages/app/tsconfig.json" + } + ] + } + } Info seq [hh:mm:ss:mss] Creating configuration project /packages/dep/tsconfig.json Info seq [hh:mm:ss:mss] event: { @@ -192,46 +232,6 @@ Info seq [hh:mm:ss:mss] event: "projectName": "/packages/dep/tsconfig.json" } } -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "configFileDiag", - "body": { - "triggerFile": "/packages/app/package.json", - "configFile": "/packages/app/tsconfig.json", - "diagnostics": [ - { - "start": { - "line": 11, - "offset": 18 - }, - "end": { - "line": 11, - "offset": 38 - }, - "text": "Referenced project '/packages/dep' must have setting \"composite\": true.", - "code": 6306, - "category": "error", - "fileName": "/packages/app/tsconfig.json" - }, - { - "start": { - "line": 11, - "offset": 3 - }, - "end": { - "line": 11, - "offset": 15 - }, - "text": "',' expected.", - "code": 1005, - "category": "error", - "fileName": "/packages/app/tsconfig.json" - } - ] - } - } Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_symlinks_toDist.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_symlinks_toDist.js index ab4c190d667f6..a3d5e4938b291 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_symlinks_toDist.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_symlinks_toDist.js @@ -141,6 +141,46 @@ Info seq [hh:mm:ss:mss] event: "projectName": "/packages/app/tsconfig.json" } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/packages/app/package.json", + "configFile": "/packages/app/tsconfig.json", + "diagnostics": [ + { + "start": { + "line": 11, + "offset": 18 + }, + "end": { + "line": 11, + "offset": 38 + }, + "text": "Referenced project '/packages/dep' must have setting \"composite\": true.", + "code": 6306, + "category": "error", + "fileName": "/packages/app/tsconfig.json" + }, + { + "start": { + "line": 11, + "offset": 3 + }, + "end": { + "line": 11, + "offset": 15 + }, + "text": "',' expected.", + "code": 1005, + "category": "error", + "fileName": "/packages/app/tsconfig.json" + } + ] + } + } Info seq [hh:mm:ss:mss] Creating configuration project /packages/dep/tsconfig.json Info seq [hh:mm:ss:mss] event: { @@ -192,46 +232,6 @@ Info seq [hh:mm:ss:mss] event: "projectName": "/packages/dep/tsconfig.json" } } -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "configFileDiag", - "body": { - "triggerFile": "/packages/app/package.json", - "configFile": "/packages/app/tsconfig.json", - "diagnostics": [ - { - "start": { - "line": 11, - "offset": 18 - }, - "end": { - "line": 11, - "offset": 38 - }, - "text": "Referenced project '/packages/dep' must have setting \"composite\": true.", - "code": 6306, - "category": "error", - "fileName": "/packages/app/tsconfig.json" - }, - { - "start": { - "line": 11, - "offset": 3 - }, - "end": { - "line": 11, - "offset": 15 - }, - "text": "',' expected.", - "code": 1005, - "category": "error", - "fileName": "/packages/app/tsconfig.json" - } - ] - } - } Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_symlinks_toSrc.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_symlinks_toSrc.js index 772c7a4fe4b18..c61a4b0d322e3 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_symlinks_toSrc.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_symlinks_toSrc.js @@ -132,6 +132,46 @@ Info seq [hh:mm:ss:mss] event: "projectName": "/packages/app/tsconfig.json" } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/packages/app/package.json", + "configFile": "/packages/app/tsconfig.json", + "diagnostics": [ + { + "start": { + "line": 8, + "offset": 18 + }, + "end": { + "line": 8, + "offset": 38 + }, + "text": "Referenced project '/packages/dep' must have setting \"composite\": true.", + "code": 6306, + "category": "error", + "fileName": "/packages/app/tsconfig.json" + }, + { + "start": { + "line": 8, + "offset": 3 + }, + "end": { + "line": 8, + "offset": 15 + }, + "text": "',' expected.", + "code": 1005, + "category": "error", + "fileName": "/packages/app/tsconfig.json" + } + ] + } + } Info seq [hh:mm:ss:mss] Creating configuration project /packages/dep/tsconfig.json Info seq [hh:mm:ss:mss] event: { @@ -183,46 +223,6 @@ Info seq [hh:mm:ss:mss] event: "projectName": "/packages/dep/tsconfig.json" } } -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "configFileDiag", - "body": { - "triggerFile": "/packages/app/package.json", - "configFile": "/packages/app/tsconfig.json", - "diagnostics": [ - { - "start": { - "line": 8, - "offset": 18 - }, - "end": { - "line": 8, - "offset": 38 - }, - "text": "Referenced project '/packages/dep' must have setting \"composite\": true.", - "code": 6306, - "category": "error", - "fileName": "/packages/app/tsconfig.json" - }, - { - "start": { - "line": 8, - "offset": 3 - }, - "end": { - "line": 8, - "offset": 15 - }, - "text": "',' expected.", - "code": 1005, - "category": "error", - "fileName": "/packages/app/tsconfig.json" - } - ] - } - } Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider4.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider4.js index 841bc7cb32cca..7421905952528 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider4.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider4.js @@ -104,50 +104,6 @@ Info seq [hh:mm:ss:mss] event: "projectName": "/a/tsconfig.json" } } -Info seq [hh:mm:ss:mss] Creating configuration project /b/tsconfig.json -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "projectLoadingStart", - "body": { - "projectName": "/b/tsconfig.json", - "reason": "Creating project referenced in solution /a/tsconfig.json to find possible configured project for /a/package.json to open" - } - } -Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /b/index.ts 500 undefined WatchType: Closed Script info -Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /b/tsconfig.json -Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.d.ts 500 undefined WatchType: Closed Script info -Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.decorators.d.ts 500 undefined WatchType: Closed Script info -Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.decorators.legacy.d.ts 500 undefined WatchType: Closed Script info -Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /b/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms -Info seq [hh:mm:ss:mss] Project '/b/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (4) - /lib.d.ts Text-1 lib.d.ts-Text - /lib.decorators.d.ts Text-1 lib.decorators.d.ts-Text - /lib.decorators.legacy.d.ts Text-1 lib.decorators.legacy.d.ts-Text - /b/index.ts Text-1 "export class Shape {}" - - - ../lib.d.ts - Default library for target 'es5' - ../lib.decorators.d.ts - Library referenced via 'decorators' from file '../lib.d.ts' - ../lib.decorators.legacy.d.ts - Library referenced via 'decorators.legacy' from file '../lib.d.ts' - index.ts - Matched by default include pattern '**/*' - -Info seq [hh:mm:ss:mss] ----------------------------------------------- -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "projectLoadingFinish", - "body": { - "projectName": "/b/tsconfig.json" - } - } Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -223,6 +179,50 @@ Info seq [hh:mm:ss:mss] event: ] } } +Info seq [hh:mm:ss:mss] Creating configuration project /b/tsconfig.json +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/b/tsconfig.json", + "reason": "Creating project referenced in solution /a/tsconfig.json to find possible configured project for /a/package.json to open" + } + } +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /b/index.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /b/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.decorators.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.decorators.legacy.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /b/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/b/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (4) + /lib.d.ts Text-1 lib.d.ts-Text + /lib.decorators.d.ts Text-1 lib.decorators.d.ts-Text + /lib.decorators.legacy.d.ts Text-1 lib.decorators.legacy.d.ts-Text + /b/index.ts Text-1 "export class Shape {}" + + + ../lib.d.ts + Default library for target 'es5' + ../lib.decorators.d.ts + Library referenced via 'decorators' from file '../lib.d.ts' + ../lib.decorators.legacy.d.ts + Library referenced via 'decorators.legacy' from file '../lib.d.ts' + index.ts + Matched by default include pattern '**/*' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/b/tsconfig.json" + } + } Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_importsMap1.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_importsMap1.js index 9ecb48c25507f..866447912e070 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_importsMap1.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_importsMap1.js @@ -352,7 +352,7 @@ Info seq [hh:mm:ss:mss] response: "body": [ { "fixName": "import", - "description": "Add import from \"./env/browser.js\"", + "description": "Add import from \"#is-browser\"", "changes": [ { "fileName": "/src/a.ts", @@ -366,7 +366,7 @@ Info seq [hh:mm:ss:mss] response: "line": 1, "offset": 1 }, - "newText": "import { isBrowser } from \"./env/browser.js\";\r\n\r\n" + "newText": "import { isBrowser } from \"#is-browser\";\r\n\r\n" } ] } @@ -374,7 +374,7 @@ Info seq [hh:mm:ss:mss] response: }, { "fixName": "import", - "description": "Add import from \"#is-browser\"", + "description": "Add import from \"./env/browser.js\"", "changes": [ { "fileName": "/src/a.ts", @@ -388,7 +388,7 @@ Info seq [hh:mm:ss:mss] response: "line": 1, "offset": 1 }, - "newText": "import { isBrowser } from \"#is-browser\";\r\n\r\n" + "newText": "import { isBrowser } from \"./env/browser.js\";\r\n\r\n" } ] } diff --git a/tests/baselines/reference/tsserver/fourslashServer/getFileReferences_deduplicate.js b/tests/baselines/reference/tsserver/fourslashServer/getFileReferences_deduplicate.js index dcc1f402243d6..523d7a2e8b82c 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/getFileReferences_deduplicate.js +++ b/tests/baselines/reference/tsserver/fourslashServer/getFileReferences_deduplicate.js @@ -106,6 +106,17 @@ Info seq [hh:mm:ss:mss] event: "projectName": "/tsconfig.json" } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/tsconfig.json", + "configFile": "/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Creating configuration project /tsconfig.build.json Info seq [hh:mm:ss:mss] event: { @@ -154,6 +165,41 @@ Info seq [hh:mm:ss:mss] event: "projectName": "/tsconfig.build.json" } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/tsconfig.json", + "configFile": "/tsconfig.build.json", + "diagnostics": [ + { + "text": "File '/index.ts' is not under 'rootDir' '/src'. 'rootDir' is expected to contain all source files.\n The file is in the program because:\n Part of 'files' list in tsconfig.json", + "code": 6059, + "category": "error", + "relatedInformation": [ + { + "span": { + "start": { + "line": 1, + "offset": 97 + }, + "end": { + "line": 1, + "offset": 107 + }, + "file": "/tsconfig.build.json" + }, + "message": "File is matched by 'files' list specified here.", + "category": "message", + "code": 1410 + } + ] + } + ] + } + } Info seq [hh:mm:ss:mss] Creating configuration project /tsconfig.test.json Info seq [hh:mm:ss:mss] event: { @@ -202,52 +248,6 @@ Info seq [hh:mm:ss:mss] event: "projectName": "/tsconfig.test.json" } } -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "configFileDiag", - "body": { - "triggerFile": "/tsconfig.json", - "configFile": "/tsconfig.json", - "diagnostics": [] - } - } -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "configFileDiag", - "body": { - "triggerFile": "/tsconfig.json", - "configFile": "/tsconfig.build.json", - "diagnostics": [ - { - "text": "File '/index.ts' is not under 'rootDir' '/src'. 'rootDir' is expected to contain all source files.\n The file is in the program because:\n Part of 'files' list in tsconfig.json", - "code": 6059, - "category": "error", - "relatedInformation": [ - { - "span": { - "start": { - "line": 1, - "offset": 97 - }, - "end": { - "line": 1, - "offset": 107 - }, - "file": "/tsconfig.build.json" - }, - "message": "File is matched by 'files' list specified here.", - "category": "message", - "code": 1410 - } - ] - } - ] - } - } Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/fourslashServer/getFileReferences_server2.js b/tests/baselines/reference/tsserver/fourslashServer/getFileReferences_server2.js index e940d86298fb3..1d59491b29d4e 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/getFileReferences_server2.js +++ b/tests/baselines/reference/tsserver/fourslashServer/getFileReferences_server2.js @@ -143,6 +143,17 @@ Info seq [hh:mm:ss:mss] event: "projectName": "/tsconfig.json" } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/tsconfig.json", + "configFile": "/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Creating configuration project /packages/server/tsconfig.json Info seq [hh:mm:ss:mss] event: { @@ -199,6 +210,28 @@ Info seq [hh:mm:ss:mss] event: "projectName": "/packages/server/tsconfig.json" } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/tsconfig.json", + "configFile": "/packages/server/tsconfig.json", + "diagnostics": [ + { + "text": "Cannot write file '/packages/server/index.js' because it would overwrite input file.", + "code": 5055, + "category": "error" + }, + { + "text": "Cannot write file '/packages/server/router.js' because it would overwrite input file.", + "code": 5055, + "category": "error" + } + ] + } + } Info seq [hh:mm:ss:mss] Creating configuration project /packages/shared/tsconfig.json Info seq [hh:mm:ss:mss] event: { @@ -240,6 +273,17 @@ Info seq [hh:mm:ss:mss] event: "projectName": "/packages/shared/tsconfig.json" } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/tsconfig.json", + "configFile": "/packages/shared/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Creating configuration project /packages/client/tsconfig.json Info seq [hh:mm:ss:mss] event: { @@ -285,50 +329,6 @@ Info seq [hh:mm:ss:mss] event: "projectName": "/packages/client/tsconfig.json" } } -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "configFileDiag", - "body": { - "triggerFile": "/tsconfig.json", - "configFile": "/tsconfig.json", - "diagnostics": [] - } - } -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "configFileDiag", - "body": { - "triggerFile": "/tsconfig.json", - "configFile": "/packages/server/tsconfig.json", - "diagnostics": [ - { - "text": "Cannot write file '/packages/server/index.js' because it would overwrite input file.", - "code": 5055, - "category": "error" - }, - { - "text": "Cannot write file '/packages/server/router.js' because it would overwrite input file.", - "code": 5055, - "category": "error" - } - ] - } - } -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "configFileDiag", - "body": { - "triggerFile": "/tsconfig.json", - "configFile": "/packages/shared/tsconfig.json", - "diagnostics": [] - } - } Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/fourslashServer/isDefinitionAcrossGlobalProjects.js b/tests/baselines/reference/tsserver/fourslashServer/isDefinitionAcrossGlobalProjects.js index f514f287898c0..6750a9dab68be 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/isDefinitionAcrossGlobalProjects.js +++ b/tests/baselines/reference/tsserver/fourslashServer/isDefinitionAcrossGlobalProjects.js @@ -309,7 +309,6 @@ Info seq [hh:mm:ss:mss] request: "command": "references-full" } Info seq [hh:mm:ss:mss] Finding references to /a/index.ts position 35 in project /a/tsconfig.json -Info seq [hh:mm:ss:mss] Loading configured project /tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -536,6 +535,17 @@ Info seq [hh:mm:ss:mss] event: "projectName": "/b/tsconfig.json" } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/b/tsconfig.json", + "configFile": "/b/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /b/index.ts ProjectRootPath: undefined:: Result: /b/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /b/index.ts ProjectRootPath: undefined:: Result: /b/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /c/index.ts ProjectRootPath: undefined:: Result: /c/tsconfig.json @@ -579,6 +589,17 @@ Info seq [hh:mm:ss:mss] event: "projectName": "/c/tsconfig.json" } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/c/tsconfig.json", + "configFile": "/c/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /c/index.ts ProjectRootPath: undefined:: Result: /c/tsconfig.json Info seq [hh:mm:ss:mss] Finding references to /b/index.ts position 56 in project /b/tsconfig.json Info seq [hh:mm:ss:mss] Finding references to /c/index.ts position 56 in project /c/tsconfig.json diff --git a/tests/baselines/reference/tsserver/fourslashServer/isDefinitionAcrossModuleProjects.js b/tests/baselines/reference/tsserver/fourslashServer/isDefinitionAcrossModuleProjects.js index 07806daf1208f..c7409fdf53072 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/isDefinitionAcrossModuleProjects.js +++ b/tests/baselines/reference/tsserver/fourslashServer/isDefinitionAcrossModuleProjects.js @@ -352,7 +352,6 @@ Info seq [hh:mm:ss:mss] request: "command": "references-full" } Info seq [hh:mm:ss:mss] Finding references to /a/index.ts position 128 in project /a/tsconfig.json -Info seq [hh:mm:ss:mss] Loading configured project /tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -618,6 +617,17 @@ Info seq [hh:mm:ss:mss] event: "projectName": "/c/tsconfig.json" } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/c/tsconfig.json", + "configFile": "/c/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /c/index.ts ProjectRootPath: undefined:: Result: /c/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /c/index.ts ProjectRootPath: undefined:: Result: /c/tsconfig.json Info seq [hh:mm:ss:mss] Finding references to /c/index.ts position 70 in project /c/tsconfig.json @@ -668,6 +678,17 @@ Info seq [hh:mm:ss:mss] event: "projectName": "/a2/tsconfig.json" } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/a2/tsconfig.json", + "configFile": "/a2/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Finding references to /c/index.ts position 70 in project /a2/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /c/index.ts ProjectRootPath: undefined:: Result: /c/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /c/index.ts ProjectRootPath: undefined:: Result: /c/tsconfig.json diff --git a/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_blankTargetFile.js b/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_blankTargetFile.js new file mode 100644 index 0000000000000..1fb90bbc74897 --- /dev/null +++ b/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_blankTargetFile.js @@ -0,0 +1,335 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +//// [/a.ts] +export const abc = 10; + +//// [/b.ts] +import { abc } from "./a"; + +console.log(abc); + + +console.log("abc"); + +//// [/c.ts] + + +//// [/lib.d.ts] +lib.d.ts-Text + +//// [/lib.decorators.d.ts] +lib.decorators.d.ts-Text + +//// [/lib.decorators.legacy.d.ts] +lib.decorators.legacy.d.ts-Text + +//// [/tsconfig.json] +{ "files": ["c.ts", "a.ts", "b.ts"] } + + +Info seq [hh:mm:ss:mss] request: + { + "seq": 0, + "type": "request", + "arguments": { + "file": "/c.ts" + }, + "command": "open" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /c.ts ProjectRootPath: undefined:: Result: /tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /tsconfig.json 2000 undefined Project: /tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/tsconfig.json", + "reason": "Creating possible configured project for /c.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /tsconfig.json : { + "rootNames": [ + "/c.ts", + "/a.ts", + "/b.ts" + ], + "options": { + "configFilePath": "/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /b.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.decorators.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.decorators.legacy.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (6) + /lib.d.ts Text-1 lib.d.ts-Text + /lib.decorators.d.ts Text-1 lib.decorators.d.ts-Text + /lib.decorators.legacy.d.ts Text-1 lib.decorators.legacy.d.ts-Text + /c.ts SVC-1-0 "" + /a.ts Text-1 "export const abc = 10;" + /b.ts Text-1 "import { abc } from \"./a\";\n\nconsole.log(abc);\n\n\nconsole.log(\"abc\");" + + + lib.d.ts + Default library for target 'es5' + lib.decorators.d.ts + Library referenced via 'decorators' from file 'lib.d.ts' + lib.decorators.legacy.d.ts + Library referenced via 'decorators.legacy' from file 'lib.d.ts' + c.ts + Part of 'files' list in tsconfig.json + a.ts + Part of 'files' list in tsconfig.json + Imported via "./a" from file 'b.ts' + b.ts + Part of 'files' list in tsconfig.json + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/c.ts", + "configFile": "/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (6) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /c.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /tsconfig.json +After Request +watchedFiles:: +/a.ts: *new* + {"pollingInterval":500} +/b.ts: *new* + {"pollingInterval":500} +/lib.d.ts: *new* + {"pollingInterval":500} +/lib.decorators.d.ts: *new* + {"pollingInterval":500} +/lib.decorators.legacy.d.ts: *new* + {"pollingInterval":500} +/tsconfig.json: *new* + {"pollingInterval":2000} + +Projects:: +/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/a.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/b.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/c.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /tsconfig.json *default* +/lib.d.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.decorators.d.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.decorators.legacy.d.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json + +Info seq [hh:mm:ss:mss] request: + { + "seq": 1, + "type": "request", + "arguments": { + "formatOptions": { + "indentSize": 4, + "tabSize": 4, + "newLineCharacter": "\n", + "convertTabsToSpaces": true, + "indentStyle": 2, + "insertSpaceAfterConstructor": false, + "insertSpaceAfterCommaDelimiter": true, + "insertSpaceAfterSemicolonInForStatements": true, + "insertSpaceBeforeAndAfterBinaryOperators": true, + "insertSpaceAfterKeywordsInControlFlowStatements": true, + "insertSpaceAfterFunctionKeywordForAnonymousFunctions": false, + "insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": false, + "insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": false, + "insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": true, + "insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": false, + "insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": false, + "insertSpaceBeforeFunctionParenthesis": false, + "placeOpenBraceOnNewLineForFunctions": false, + "placeOpenBraceOnNewLineForControlBlocks": false, + "semicolons": "ignore", + "trimTrailingWhitespace": true, + "indentSwitchCase": true + } + }, + "command": "configure" + } +Info seq [hh:mm:ss:mss] Format host information updated +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "configure", + "request_seq": 1, + "success": true + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 2, + "type": "request", + "arguments": { + "file": "/c.ts", + "pastedText": [ + "console.log(abc);" + ], + "pasteLocations": [ + { + "start": { + "line": 1, + "offset": 1 + }, + "end": { + "line": 1, + "offset": 1 + } + } + ], + "copiedFrom": { + "file": "b.ts", + "spans": [ + { + "start": { + "line": 3, + "offset": 1 + }, + "end": { + "line": 5, + "offset": 1 + } + } + ] + } + }, + "command": "getPasteEdits" + } +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /tsconfig.json +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: false structureIsReused:: Completely Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (6) + /lib.d.ts Text-1 lib.d.ts-Text + /lib.decorators.d.ts Text-1 lib.decorators.d.ts-Text + /lib.decorators.legacy.d.ts Text-1 lib.decorators.legacy.d.ts-Text + /c.ts SVC-1-1 "console.log(abc);" + /a.ts Text-1 "export const abc = 10;" + /b.ts Text-1 "import { abc } from \"./a\";\n\nconsole.log(abc);\n\n\nconsole.log(\"abc\");" + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] getExportInfoMap: cache miss or empty; calculating new results +Info seq [hh:mm:ss:mss] getExportInfoMap: done in * ms +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "getPasteEdits", + "request_seq": 2, + "success": true, + "performanceData": { + "updateGraphDurationMs": * + }, + "body": { + "edits": [ + { + "fileName": "/c.ts", + "textChanges": [ + { + "start": { + "line": 1, + "offset": 1 + }, + "end": { + "line": 1, + "offset": 1 + }, + "newText": "import { abc } from \"./a\";\n\n" + }, + { + "start": { + "line": 1, + "offset": 1 + }, + "end": { + "line": 1, + "offset": 1 + }, + "newText": "console.log(abc);" + } + ] + } + ], + "fixId": "providePostPasteEdits" + } + } +After Request +Projects:: +/tsconfig.json (Configured) *changed* + projectStateVersion: 3 *changed* + projectProgramVersion: 1 + dirty: true *changed* + +ScriptInfos:: +/a.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/b.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/c.ts (Open) *changed* + version: SVC-1-2 *changed* + containingProjects: 1 + /tsconfig.json *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json diff --git a/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_existingImports1.js b/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_existingImports1.js new file mode 100644 index 0000000000000..bef391dfab032 --- /dev/null +++ b/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_existingImports1.js @@ -0,0 +1,337 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +//// [/lib.d.ts] +lib.d.ts-Text + +//// [/lib.decorators.d.ts] +lib.decorators.d.ts-Text + +//// [/lib.decorators.legacy.d.ts] +lib.decorators.legacy.d.ts-Text + +//// [/other.ts] +export const t = 1; + +//// [/other2.ts] +export const t2 = 1; + +//// [/other3.ts] +export const t3 = 1; + +//// [/target.ts] +import { t } from "./other"; +import { t3 } from "./other3"; +const a = t + 1; +const b = 10; +const c = 10; + +//// [/tsconfig.json] +{ "files": ["target.ts", "other.ts", "other2.ts", "other3.ts"] } + + +Info seq [hh:mm:ss:mss] request: + { + "seq": 0, + "type": "request", + "arguments": { + "file": "/target.ts" + }, + "command": "open" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /target.ts ProjectRootPath: undefined:: Result: /tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /tsconfig.json 2000 undefined Project: /tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/tsconfig.json", + "reason": "Creating possible configured project for /target.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /tsconfig.json : { + "rootNames": [ + "/target.ts", + "/other.ts", + "/other2.ts", + "/other3.ts" + ], + "options": { + "configFilePath": "/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /other.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /other2.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /other3.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.decorators.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.decorators.legacy.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (7) + /lib.d.ts Text-1 lib.d.ts-Text + /lib.decorators.d.ts Text-1 lib.decorators.d.ts-Text + /lib.decorators.legacy.d.ts Text-1 lib.decorators.legacy.d.ts-Text + /other.ts Text-1 "export const t = 1;" + /other3.ts Text-1 "export const t3 = 1;" + /target.ts SVC-1-0 "import { t } from \"./other\";\nimport { t3 } from \"./other3\";\nconst a = t + 1;\nconst b = 10;\nconst c = 10;" + /other2.ts Text-1 "export const t2 = 1;" + + + lib.d.ts + Default library for target 'es5' + lib.decorators.d.ts + Library referenced via 'decorators' from file 'lib.d.ts' + lib.decorators.legacy.d.ts + Library referenced via 'decorators.legacy' from file 'lib.d.ts' + other.ts + Imported via "./other" from file 'target.ts' + Part of 'files' list in tsconfig.json + other3.ts + Imported via "./other3" from file 'target.ts' + Part of 'files' list in tsconfig.json + target.ts + Part of 'files' list in tsconfig.json + other2.ts + Part of 'files' list in tsconfig.json + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/target.ts", + "configFile": "/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (7) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /target.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /tsconfig.json +After Request +watchedFiles:: +/lib.d.ts: *new* + {"pollingInterval":500} +/lib.decorators.d.ts: *new* + {"pollingInterval":500} +/lib.decorators.legacy.d.ts: *new* + {"pollingInterval":500} +/other.ts: *new* + {"pollingInterval":500} +/other2.ts: *new* + {"pollingInterval":500} +/other3.ts: *new* + {"pollingInterval":500} +/tsconfig.json: *new* + {"pollingInterval":2000} + +Projects:: +/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/lib.d.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.decorators.d.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.decorators.legacy.d.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/other.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/other2.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/other3.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/target.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /tsconfig.json *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 1, + "type": "request", + "arguments": { + "formatOptions": { + "indentSize": 4, + "tabSize": 4, + "newLineCharacter": "\n", + "convertTabsToSpaces": true, + "indentStyle": 2, + "insertSpaceAfterConstructor": false, + "insertSpaceAfterCommaDelimiter": true, + "insertSpaceAfterSemicolonInForStatements": true, + "insertSpaceBeforeAndAfterBinaryOperators": true, + "insertSpaceAfterKeywordsInControlFlowStatements": true, + "insertSpaceAfterFunctionKeywordForAnonymousFunctions": false, + "insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": false, + "insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": false, + "insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": true, + "insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": false, + "insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": false, + "insertSpaceBeforeFunctionParenthesis": false, + "placeOpenBraceOnNewLineForFunctions": false, + "placeOpenBraceOnNewLineForControlBlocks": false, + "semicolons": "ignore", + "trimTrailingWhitespace": true, + "indentSwitchCase": true + } + }, + "command": "configure" + } +Info seq [hh:mm:ss:mss] Format host information updated +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "configure", + "request_seq": 1, + "success": true + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 2, + "type": "request", + "arguments": { + "file": "/target.ts", + "pastedText": [ + "const m = t3 + t2 + 1;" + ], + "pasteLocations": [ + { + "start": { + "line": 4, + "offset": 1 + }, + "end": { + "line": 4, + "offset": 14 + } + } + ] + }, + "command": "getPasteEdits" + } +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /tsconfig.json +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: false structureIsReused:: Completely Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (7) + /lib.d.ts Text-1 lib.d.ts-Text + /lib.decorators.d.ts Text-1 lib.decorators.d.ts-Text + /lib.decorators.legacy.d.ts Text-1 lib.decorators.legacy.d.ts-Text + /other.ts Text-1 "export const t = 1;" + /other3.ts Text-1 "export const t3 = 1;" + /target.ts SVC-1-1 "import { t } from \"./other\";\nimport { t3 } from \"./other3\";\nconst a = t + 1;\nconst m = t3 + t2 + 1;\nconst c = 10;" + /other2.ts Text-1 "export const t2 = 1;" + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "getPasteEdits", + "request_seq": 2, + "success": true, + "performanceData": { + "updateGraphDurationMs": * + }, + "body": { + "edits": [ + { + "fileName": "/target.ts", + "textChanges": [ + { + "start": { + "line": 2, + "offset": 1 + }, + "end": { + "line": 2, + "offset": 1 + }, + "newText": "import { t2 } from \"./other2\";\n" + }, + { + "start": { + "line": 4, + "offset": 1 + }, + "end": { + "line": 4, + "offset": 14 + }, + "newText": "const m = t3 + t2 + 1;" + } + ] + } + ], + "fixId": "providePostPasteEdits" + } + } +After Request +Projects:: +/tsconfig.json (Configured) *changed* + projectStateVersion: 3 *changed* + projectProgramVersion: 1 + dirty: true *changed* + +ScriptInfos:: +/lib.d.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/other.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/other2.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/other3.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/target.ts (Open) *changed* + version: SVC-1-2 *changed* + containingProjects: 1 + /tsconfig.json *default* diff --git a/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_existingImports2.js b/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_existingImports2.js new file mode 100644 index 0000000000000..7c84068e8d401 --- /dev/null +++ b/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_existingImports2.js @@ -0,0 +1,389 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +//// [/lib.d.ts] +lib.d.ts-Text + +//// [/lib.decorators.d.ts] +lib.decorators.d.ts-Text + +//// [/lib.decorators.legacy.d.ts] +lib.decorators.legacy.d.ts-Text + +//// [/originalFile.ts] +import { t2 } from "./other2"; +import { t3 } from "./other3"; +export const n = 10; +export const m = t3 + t2 + n; + +//// [/other.ts] +export const t = 1; + +//// [/other2.ts] +export const t2 = 1; + +//// [/other3.ts] +export const t3 = 1; + +//// [/target.ts] +import { t } from "./other"; +import { t3 } from "./other3"; +const a = t + 1; +const b = 10; +const c = 10; + +//// [/tsconfig.json] +{ "files": ["target.ts", "originalFile.ts", "other.ts", "other2.ts", "other3.ts"] } + + +Info seq [hh:mm:ss:mss] request: + { + "seq": 0, + "type": "request", + "arguments": { + "file": "/target.ts" + }, + "command": "open" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /target.ts ProjectRootPath: undefined:: Result: /tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /tsconfig.json 2000 undefined Project: /tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/tsconfig.json", + "reason": "Creating possible configured project for /target.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /tsconfig.json : { + "rootNames": [ + "/target.ts", + "/originalFile.ts", + "/other.ts", + "/other2.ts", + "/other3.ts" + ], + "options": { + "configFilePath": "/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /originalFile.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /other.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /other2.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /other3.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.decorators.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.decorators.legacy.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (8) + /lib.d.ts Text-1 lib.d.ts-Text + /lib.decorators.d.ts Text-1 lib.decorators.d.ts-Text + /lib.decorators.legacy.d.ts Text-1 lib.decorators.legacy.d.ts-Text + /other.ts Text-1 "export const t = 1;" + /other3.ts Text-1 "export const t3 = 1;" + /target.ts SVC-1-0 "import { t } from \"./other\";\nimport { t3 } from \"./other3\";\nconst a = t + 1;\nconst b = 10;\nconst c = 10;" + /other2.ts Text-1 "export const t2 = 1;" + /originalFile.ts Text-1 "import { t2 } from \"./other2\";\nimport { t3 } from \"./other3\";\nexport const n = 10;\nexport const m = t3 + t2 + n;" + + + lib.d.ts + Default library for target 'es5' + lib.decorators.d.ts + Library referenced via 'decorators' from file 'lib.d.ts' + lib.decorators.legacy.d.ts + Library referenced via 'decorators.legacy' from file 'lib.d.ts' + other.ts + Imported via "./other" from file 'target.ts' + Part of 'files' list in tsconfig.json + other3.ts + Imported via "./other3" from file 'target.ts' + Imported via "./other3" from file 'originalFile.ts' + Part of 'files' list in tsconfig.json + target.ts + Part of 'files' list in tsconfig.json + other2.ts + Imported via "./other2" from file 'originalFile.ts' + Part of 'files' list in tsconfig.json + originalFile.ts + Part of 'files' list in tsconfig.json + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/target.ts", + "configFile": "/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (8) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /target.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /tsconfig.json +After Request +watchedFiles:: +/lib.d.ts: *new* + {"pollingInterval":500} +/lib.decorators.d.ts: *new* + {"pollingInterval":500} +/lib.decorators.legacy.d.ts: *new* + {"pollingInterval":500} +/originalFile.ts: *new* + {"pollingInterval":500} +/other.ts: *new* + {"pollingInterval":500} +/other2.ts: *new* + {"pollingInterval":500} +/other3.ts: *new* + {"pollingInterval":500} +/tsconfig.json: *new* + {"pollingInterval":2000} + +Projects:: +/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/lib.d.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.decorators.d.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.decorators.legacy.d.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/originalFile.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/other.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/other2.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/other3.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/target.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /tsconfig.json *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 1, + "type": "request", + "arguments": { + "formatOptions": { + "indentSize": 4, + "tabSize": 4, + "newLineCharacter": "\n", + "convertTabsToSpaces": true, + "indentStyle": 2, + "insertSpaceAfterConstructor": false, + "insertSpaceAfterCommaDelimiter": true, + "insertSpaceAfterSemicolonInForStatements": true, + "insertSpaceBeforeAndAfterBinaryOperators": true, + "insertSpaceAfterKeywordsInControlFlowStatements": true, + "insertSpaceAfterFunctionKeywordForAnonymousFunctions": false, + "insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": false, + "insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": false, + "insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": true, + "insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": false, + "insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": false, + "insertSpaceBeforeFunctionParenthesis": false, + "placeOpenBraceOnNewLineForFunctions": false, + "placeOpenBraceOnNewLineForControlBlocks": false, + "semicolons": "ignore", + "trimTrailingWhitespace": true, + "indentSwitchCase": true + } + }, + "command": "configure" + } +Info seq [hh:mm:ss:mss] Format host information updated +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "configure", + "request_seq": 1, + "success": true + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 2, + "type": "request", + "arguments": { + "file": "/target.ts", + "pastedText": [ + "const m = t3 + t2 + n;" + ], + "pasteLocations": [ + { + "start": { + "line": 4, + "offset": 1 + }, + "end": { + "line": 4, + "offset": 14 + } + } + ], + "copiedFrom": { + "file": "originalFile.ts", + "spans": [ + { + "start": { + "line": 4, + "offset": 1 + }, + "end": { + "line": 4, + "offset": 30 + } + } + ] + } + }, + "command": "getPasteEdits" + } +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /tsconfig.json +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: false structureIsReused:: Completely Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (8) + /lib.d.ts Text-1 lib.d.ts-Text + /lib.decorators.d.ts Text-1 lib.decorators.d.ts-Text + /lib.decorators.legacy.d.ts Text-1 lib.decorators.legacy.d.ts-Text + /other.ts Text-1 "export const t = 1;" + /other3.ts Text-1 "export const t3 = 1;" + /target.ts SVC-1-1 "import { t } from \"./other\";\nimport { t3 } from \"./other3\";\nconst a = t + 1;\nconst m = t3 + t2 + n;\nconst c = 10;" + /other2.ts Text-1 "export const t2 = 1;" + /originalFile.ts Text-1 "import { t2 } from \"./other2\";\nimport { t3 } from \"./other3\";\nexport const n = 10;\nexport const m = t3 + t2 + n;" + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] getExportInfoMap: cache miss or empty; calculating new results +Info seq [hh:mm:ss:mss] getExportInfoMap: done in * ms +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "getPasteEdits", + "request_seq": 2, + "success": true, + "performanceData": { + "updateGraphDurationMs": * + }, + "body": { + "edits": [ + { + "fileName": "/target.ts", + "textChanges": [ + { + "start": { + "line": 1, + "offset": 1 + }, + "end": { + "line": 1, + "offset": 1 + }, + "newText": "import { n } from \"./originalFile\";\n" + }, + { + "start": { + "line": 2, + "offset": 1 + }, + "end": { + "line": 2, + "offset": 1 + }, + "newText": "import { t2 } from \"./other2\";\n" + }, + { + "start": { + "line": 4, + "offset": 1 + }, + "end": { + "line": 4, + "offset": 14 + }, + "newText": "const m = t3 + t2 + n;" + } + ] + } + ], + "fixId": "providePostPasteEdits" + } + } +After Request +Projects:: +/tsconfig.json (Configured) *changed* + projectStateVersion: 3 *changed* + projectProgramVersion: 1 + dirty: true *changed* + +ScriptInfos:: +/lib.d.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/originalFile.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/other.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/other2.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/other3.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/target.ts (Open) *changed* + version: SVC-1-2 *changed* + containingProjects: 1 + /tsconfig.json *default* diff --git a/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_knownSourceFile.js b/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_knownSourceFile.js new file mode 100644 index 0000000000000..50791a30d155f --- /dev/null +++ b/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_knownSourceFile.js @@ -0,0 +1,351 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +//// [/file1.ts] +export const b = 2; + +//// [/file2.ts] +import { b } from './file1'; +const a = 1; +const c = a + b; +const t = 9; + +//// [/lib.d.ts] +lib.d.ts-Text + +//// [/lib.decorators.d.ts] +lib.decorators.d.ts-Text + +//// [/lib.decorators.legacy.d.ts] +lib.decorators.legacy.d.ts-Text + +//// [/target.ts] +export const tt = 2; +function f(); +const p = 1; + +//// [/tsconfig.json] +{ "files": ["file1.ts", "file2.ts", "target.ts"] } + + +Info seq [hh:mm:ss:mss] request: + { + "seq": 0, + "type": "request", + "arguments": { + "file": "/target.ts" + }, + "command": "open" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /target.ts ProjectRootPath: undefined:: Result: /tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /tsconfig.json 2000 undefined Project: /tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/tsconfig.json", + "reason": "Creating possible configured project for /target.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /tsconfig.json : { + "rootNames": [ + "/file1.ts", + "/file2.ts", + "/target.ts" + ], + "options": { + "configFilePath": "/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /file1.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /file2.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.decorators.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.decorators.legacy.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (6) + /lib.d.ts Text-1 lib.d.ts-Text + /lib.decorators.d.ts Text-1 lib.decorators.d.ts-Text + /lib.decorators.legacy.d.ts Text-1 lib.decorators.legacy.d.ts-Text + /file1.ts Text-1 "export const b = 2;" + /file2.ts Text-1 "import { b } from './file1';\nconst a = 1;\nconst c = a + b;\nconst t = 9;" + /target.ts SVC-1-0 "export const tt = 2;\nfunction f();\nconst p = 1;" + + + lib.d.ts + Default library for target 'es5' + lib.decorators.d.ts + Library referenced via 'decorators' from file 'lib.d.ts' + lib.decorators.legacy.d.ts + Library referenced via 'decorators.legacy' from file 'lib.d.ts' + file1.ts + Part of 'files' list in tsconfig.json + Imported via './file1' from file 'file2.ts' + file2.ts + Part of 'files' list in tsconfig.json + target.ts + Part of 'files' list in tsconfig.json + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/target.ts", + "configFile": "/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (6) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /target.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /tsconfig.json +After Request +watchedFiles:: +/file1.ts: *new* + {"pollingInterval":500} +/file2.ts: *new* + {"pollingInterval":500} +/lib.d.ts: *new* + {"pollingInterval":500} +/lib.decorators.d.ts: *new* + {"pollingInterval":500} +/lib.decorators.legacy.d.ts: *new* + {"pollingInterval":500} +/tsconfig.json: *new* + {"pollingInterval":2000} + +Projects:: +/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/file1.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/file2.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.d.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.decorators.d.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.decorators.legacy.d.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/target.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /tsconfig.json *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 1, + "type": "request", + "arguments": { + "formatOptions": { + "indentSize": 4, + "tabSize": 4, + "newLineCharacter": "\n", + "convertTabsToSpaces": true, + "indentStyle": 2, + "insertSpaceAfterConstructor": false, + "insertSpaceAfterCommaDelimiter": true, + "insertSpaceAfterSemicolonInForStatements": true, + "insertSpaceBeforeAndAfterBinaryOperators": true, + "insertSpaceAfterKeywordsInControlFlowStatements": true, + "insertSpaceAfterFunctionKeywordForAnonymousFunctions": false, + "insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": false, + "insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": false, + "insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": true, + "insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": false, + "insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": false, + "insertSpaceBeforeFunctionParenthesis": false, + "placeOpenBraceOnNewLineForFunctions": false, + "placeOpenBraceOnNewLineForControlBlocks": false, + "semicolons": "ignore", + "trimTrailingWhitespace": true, + "indentSwitchCase": true + } + }, + "command": "configure" + } +Info seq [hh:mm:ss:mss] Format host information updated +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "configure", + "request_seq": 1, + "success": true + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 2, + "type": "request", + "arguments": { + "file": "/target.ts", + "pastedText": [ + "const c = a + b;\nconst t = 9;" + ], + "pasteLocations": [ + { + "start": { + "line": 2, + "offset": 1 + }, + "end": { + "line": 2, + "offset": 14 + } + } + ], + "copiedFrom": { + "file": "file2.ts", + "spans": [ + { + "start": { + "line": 3, + "offset": 1 + }, + "end": { + "line": 4, + "offset": 13 + } + } + ] + } + }, + "command": "getPasteEdits" + } +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /tsconfig.json +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: false structureIsReused:: Completely Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (6) + /lib.d.ts Text-1 lib.d.ts-Text + /lib.decorators.d.ts Text-1 lib.decorators.d.ts-Text + /lib.decorators.legacy.d.ts Text-1 lib.decorators.legacy.d.ts-Text + /file1.ts Text-1 "export const b = 2;" + /file2.ts Text-1 "import { b } from './file1';\nconst a = 1;\nconst c = a + b;\nconst t = 9;" + /target.ts SVC-1-1 "export const tt = 2;\nconst c = a + b;\nconst t = 9;\nconst p = 1;" + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] getExportInfoMap: cache miss or empty; calculating new results +Info seq [hh:mm:ss:mss] getExportInfoMap: done in * ms +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "getPasteEdits", + "request_seq": 2, + "success": true, + "performanceData": { + "updateGraphDurationMs": * + }, + "body": { + "edits": [ + { + "fileName": "/file2.ts", + "textChanges": [ + { + "start": { + "line": 2, + "offset": 1 + }, + "end": { + "line": 2, + "offset": 1 + }, + "newText": "export " + } + ] + }, + { + "fileName": "/target.ts", + "textChanges": [ + { + "start": { + "line": 1, + "offset": 1 + }, + "end": { + "line": 1, + "offset": 1 + }, + "newText": "import { b } from './file1';\nimport { a } from './file2';\n\n" + }, + { + "start": { + "line": 2, + "offset": 1 + }, + "end": { + "line": 2, + "offset": 14 + }, + "newText": "const c = a + b;\nconst t = 9;" + } + ] + } + ], + "fixId": "providePostPasteEdits" + } + } +After Request +Projects:: +/tsconfig.json (Configured) *changed* + projectStateVersion: 3 *changed* + projectProgramVersion: 1 + dirty: true *changed* + +ScriptInfos:: +/file1.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/file2.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.d.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/target.ts (Open) *changed* + version: SVC-1-2 *changed* + containingProjects: 1 + /tsconfig.json *default* diff --git a/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_multiplePastes1.js b/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_multiplePastes1.js new file mode 100644 index 0000000000000..c5dfc949fa58c --- /dev/null +++ b/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_multiplePastes1.js @@ -0,0 +1,340 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +//// [/file1.ts] +export const p = 10; +export const q = 12; + +//// [/file3.ts] +export const r = 10; +export const s = 12; + +//// [/lib.d.ts] +lib.d.ts-Text + +//// [/lib.decorators.d.ts] +lib.decorators.d.ts-Text + +//// [/lib.decorators.legacy.d.ts] +lib.decorators.legacy.d.ts-Text + +//// [/target.ts] +const a = 1; + +const b = 2; +const c = 3; + +const d = 4; + +//// [/tsconfig.json] +{ "files": ["file1.ts", "target.ts", "file3.ts"] } + + +Info seq [hh:mm:ss:mss] request: + { + "seq": 0, + "type": "request", + "arguments": { + "file": "/target.ts" + }, + "command": "open" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /target.ts ProjectRootPath: undefined:: Result: /tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /tsconfig.json 2000 undefined Project: /tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/tsconfig.json", + "reason": "Creating possible configured project for /target.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /tsconfig.json : { + "rootNames": [ + "/file1.ts", + "/target.ts", + "/file3.ts" + ], + "options": { + "configFilePath": "/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /file1.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /file3.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.decorators.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.decorators.legacy.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (6) + /lib.d.ts Text-1 lib.d.ts-Text + /lib.decorators.d.ts Text-1 lib.decorators.d.ts-Text + /lib.decorators.legacy.d.ts Text-1 lib.decorators.legacy.d.ts-Text + /file1.ts Text-1 "export const p = 10;\nexport const q = 12;" + /target.ts SVC-1-0 "const a = 1;\n\nconst b = 2;\nconst c = 3;\n\nconst d = 4;" + /file3.ts Text-1 "export const r = 10;\nexport const s = 12;" + + + lib.d.ts + Default library for target 'es5' + lib.decorators.d.ts + Library referenced via 'decorators' from file 'lib.d.ts' + lib.decorators.legacy.d.ts + Library referenced via 'decorators.legacy' from file 'lib.d.ts' + file1.ts + Part of 'files' list in tsconfig.json + target.ts + Part of 'files' list in tsconfig.json + file3.ts + Part of 'files' list in tsconfig.json + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/target.ts", + "configFile": "/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (6) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /target.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /tsconfig.json +After Request +watchedFiles:: +/file1.ts: *new* + {"pollingInterval":500} +/file3.ts: *new* + {"pollingInterval":500} +/lib.d.ts: *new* + {"pollingInterval":500} +/lib.decorators.d.ts: *new* + {"pollingInterval":500} +/lib.decorators.legacy.d.ts: *new* + {"pollingInterval":500} +/tsconfig.json: *new* + {"pollingInterval":2000} + +Projects:: +/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/file1.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/file3.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.d.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.decorators.d.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.decorators.legacy.d.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/target.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /tsconfig.json *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 1, + "type": "request", + "arguments": { + "formatOptions": { + "indentSize": 4, + "tabSize": 4, + "newLineCharacter": "\n", + "convertTabsToSpaces": true, + "indentStyle": 2, + "insertSpaceAfterConstructor": false, + "insertSpaceAfterCommaDelimiter": true, + "insertSpaceAfterSemicolonInForStatements": true, + "insertSpaceBeforeAndAfterBinaryOperators": true, + "insertSpaceAfterKeywordsInControlFlowStatements": true, + "insertSpaceAfterFunctionKeywordForAnonymousFunctions": false, + "insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": false, + "insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": false, + "insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": true, + "insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": false, + "insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": false, + "insertSpaceBeforeFunctionParenthesis": false, + "placeOpenBraceOnNewLineForFunctions": false, + "placeOpenBraceOnNewLineForControlBlocks": false, + "semicolons": "ignore", + "trimTrailingWhitespace": true, + "indentSwitchCase": true + } + }, + "command": "configure" + } +Info seq [hh:mm:ss:mss] Format host information updated +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "configure", + "request_seq": 1, + "success": true + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 2, + "type": "request", + "arguments": { + "file": "/target.ts", + "pastedText": [ + "const g = p + q;\nfunction e();\nconst f = r + s;" + ], + "pasteLocations": [ + { + "start": { + "line": 2, + "offset": 1 + }, + "end": { + "line": 2, + "offset": 1 + } + }, + { + "start": { + "line": 5, + "offset": 1 + }, + "end": { + "line": 5, + "offset": 1 + } + } + ] + }, + "command": "getPasteEdits" + } +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /tsconfig.json +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: false structureIsReused:: Completely Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (6) + /lib.d.ts Text-1 lib.d.ts-Text + /lib.decorators.d.ts Text-1 lib.decorators.d.ts-Text + /lib.decorators.legacy.d.ts Text-1 lib.decorators.legacy.d.ts-Text + /file1.ts Text-1 "export const p = 10;\nexport const q = 12;" + /target.ts SVC-1-1 "const a = 1;\nconst g = p + q;\nfunction e();\nconst f = r + s;\nconst b = 2;\nconst c = 3;\nconst g = p + q;\nfunction e();\nconst f = r + s;\nconst d = 4;" + /file3.ts Text-1 "export const r = 10;\nexport const s = 12;" + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "getPasteEdits", + "request_seq": 2, + "success": true, + "performanceData": { + "updateGraphDurationMs": * + }, + "body": { + "edits": [ + { + "fileName": "/target.ts", + "textChanges": [ + { + "start": { + "line": 1, + "offset": 1 + }, + "end": { + "line": 1, + "offset": 1 + }, + "newText": "import { p, q } from \"./file1\";\nimport { r, s } from \"./file3\";\n\n" + }, + { + "start": { + "line": 2, + "offset": 1 + }, + "end": { + "line": 2, + "offset": 1 + }, + "newText": "const g = p + q;\nfunction e();\nconst f = r + s;" + }, + { + "start": { + "line": 5, + "offset": 1 + }, + "end": { + "line": 5, + "offset": 1 + }, + "newText": "const g = p + q;\nfunction e();\nconst f = r + s;" + } + ] + } + ], + "fixId": "providePostPasteEdits" + } + } +After Request +Projects:: +/tsconfig.json (Configured) *changed* + projectStateVersion: 3 *changed* + projectProgramVersion: 1 + dirty: true *changed* + +ScriptInfos:: +/file1.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/file3.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.d.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/target.ts (Open) *changed* + version: SVC-1-2 *changed* + containingProjects: 1 + /tsconfig.json *default* diff --git a/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_multiplePastes2.js b/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_multiplePastes2.js new file mode 100644 index 0000000000000..4220fcf05728e --- /dev/null +++ b/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_multiplePastes2.js @@ -0,0 +1,361 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +//// [/file1.ts] +import { aa, bb } from "./other"; +export const r = 10; +export const s = 12; +export const t = aa + bb + r + s; +const u = 1; + +//// [/lib.d.ts] +lib.d.ts-Text + +//// [/lib.decorators.d.ts] +lib.decorators.d.ts-Text + +//// [/lib.decorators.legacy.d.ts] +lib.decorators.legacy.d.ts-Text + +//// [/other.ts] +export const aa = 1; +export const bb = 2; + +//// [/target.ts] +const a = 1; +const b = 2; +const c = 3; + +const d = 4; + +//// [/tsconfig.json] +{ "files": ["file1.ts", "target.ts", "other.ts"] } + + +Info seq [hh:mm:ss:mss] request: + { + "seq": 0, + "type": "request", + "arguments": { + "file": "/target.ts" + }, + "command": "open" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /target.ts ProjectRootPath: undefined:: Result: /tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /tsconfig.json 2000 undefined Project: /tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/tsconfig.json", + "reason": "Creating possible configured project for /target.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /tsconfig.json : { + "rootNames": [ + "/file1.ts", + "/target.ts", + "/other.ts" + ], + "options": { + "configFilePath": "/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /file1.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /other.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.decorators.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.decorators.legacy.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (6) + /lib.d.ts Text-1 lib.d.ts-Text + /lib.decorators.d.ts Text-1 lib.decorators.d.ts-Text + /lib.decorators.legacy.d.ts Text-1 lib.decorators.legacy.d.ts-Text + /other.ts Text-1 "export const aa = 1;\nexport const bb = 2;" + /file1.ts Text-1 "import { aa, bb } from \"./other\";\nexport const r = 10;\nexport const s = 12;\nexport const t = aa + bb + r + s;\nconst u = 1;" + /target.ts SVC-1-0 "const a = 1;\nconst b = 2;\nconst c = 3;\n\nconst d = 4;" + + + lib.d.ts + Default library for target 'es5' + lib.decorators.d.ts + Library referenced via 'decorators' from file 'lib.d.ts' + lib.decorators.legacy.d.ts + Library referenced via 'decorators.legacy' from file 'lib.d.ts' + other.ts + Imported via "./other" from file 'file1.ts' + Part of 'files' list in tsconfig.json + file1.ts + Part of 'files' list in tsconfig.json + target.ts + Part of 'files' list in tsconfig.json + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/target.ts", + "configFile": "/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (6) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /target.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /tsconfig.json +After Request +watchedFiles:: +/file1.ts: *new* + {"pollingInterval":500} +/lib.d.ts: *new* + {"pollingInterval":500} +/lib.decorators.d.ts: *new* + {"pollingInterval":500} +/lib.decorators.legacy.d.ts: *new* + {"pollingInterval":500} +/other.ts: *new* + {"pollingInterval":500} +/tsconfig.json: *new* + {"pollingInterval":2000} + +Projects:: +/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/file1.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.d.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.decorators.d.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.decorators.legacy.d.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/other.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/target.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /tsconfig.json *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 1, + "type": "request", + "arguments": { + "formatOptions": { + "indentSize": 4, + "tabSize": 4, + "newLineCharacter": "\n", + "convertTabsToSpaces": true, + "indentStyle": 2, + "insertSpaceAfterConstructor": false, + "insertSpaceAfterCommaDelimiter": true, + "insertSpaceAfterSemicolonInForStatements": true, + "insertSpaceBeforeAndAfterBinaryOperators": true, + "insertSpaceAfterKeywordsInControlFlowStatements": true, + "insertSpaceAfterFunctionKeywordForAnonymousFunctions": false, + "insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": false, + "insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": false, + "insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": true, + "insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": false, + "insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": false, + "insertSpaceBeforeFunctionParenthesis": false, + "placeOpenBraceOnNewLineForFunctions": false, + "placeOpenBraceOnNewLineForControlBlocks": false, + "semicolons": "ignore", + "trimTrailingWhitespace": true, + "indentSwitchCase": true + } + }, + "command": "configure" + } +Info seq [hh:mm:ss:mss] Format host information updated +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "configure", + "request_seq": 1, + "success": true + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 2, + "type": "request", + "arguments": { + "file": "/target.ts", + "pastedText": [ + "export const t = aa + bb + r + s;\nconst u = 1;" + ], + "pasteLocations": [ + { + "start": { + "line": 2, + "offset": 1 + }, + "end": { + "line": 2, + "offset": 13 + } + }, + { + "start": { + "line": 4, + "offset": 1 + }, + "end": { + "line": 4, + "offset": 1 + } + } + ], + "copiedFrom": { + "file": "file1.ts", + "spans": [ + { + "start": { + "line": 4, + "offset": 1 + }, + "end": { + "line": 5, + "offset": 13 + } + } + ] + } + }, + "command": "getPasteEdits" + } +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /tsconfig.json +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: false structureIsReused:: Completely Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (6) + /lib.d.ts Text-1 lib.d.ts-Text + /lib.decorators.d.ts Text-1 lib.decorators.d.ts-Text + /lib.decorators.legacy.d.ts Text-1 lib.decorators.legacy.d.ts-Text + /other.ts Text-1 "export const aa = 1;\nexport const bb = 2;" + /file1.ts Text-1 "import { aa, bb } from \"./other\";\nexport const r = 10;\nexport const s = 12;\nexport const t = aa + bb + r + s;\nconst u = 1;" + /target.ts SVC-1-1 "const a = 1;\nexport const t = aa + bb + r + s;\nconst u = 1;\nconst c = 3;\nexport const t = aa + bb + r + s;\nconst u = 1;\nconst d = 4;" + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] getExportInfoMap: cache miss or empty; calculating new results +Info seq [hh:mm:ss:mss] getExportInfoMap: done in * ms +Info seq [hh:mm:ss:mss] getExportInfoMap: cache hit +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "getPasteEdits", + "request_seq": 2, + "success": true, + "performanceData": { + "updateGraphDurationMs": * + }, + "body": { + "edits": [ + { + "fileName": "/target.ts", + "textChanges": [ + { + "start": { + "line": 1, + "offset": 1 + }, + "end": { + "line": 1, + "offset": 1 + }, + "newText": "import { r, s } from \"./file1\";\nimport { aa, bb } from \"./other\";\n\n" + }, + { + "start": { + "line": 2, + "offset": 1 + }, + "end": { + "line": 2, + "offset": 13 + }, + "newText": "export const t = aa + bb + r + s;\nconst u = 1;" + }, + { + "start": { + "line": 4, + "offset": 1 + }, + "end": { + "line": 4, + "offset": 1 + }, + "newText": "export const t = aa + bb + r + s;\nconst u = 1;" + } + ] + } + ], + "fixId": "providePostPasteEdits" + } + } +After Request +Projects:: +/tsconfig.json (Configured) *changed* + projectStateVersion: 3 *changed* + projectProgramVersion: 1 + dirty: true *changed* + +ScriptInfos:: +/file1.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.d.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/other.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/target.ts (Open) *changed* + version: SVC-1-2 *changed* + containingProjects: 1 + /tsconfig.json *default* diff --git a/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_multiplePastes3.js b/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_multiplePastes3.js new file mode 100644 index 0000000000000..dba4c86e74436 --- /dev/null +++ b/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_multiplePastes3.js @@ -0,0 +1,414 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +//// [/file1.ts] +import { aa, bb } from "./other"; +export const r = 10; +const s = 12; +export const m = 10; +export const t = aa + bb + r + s; +const u = 1; +export const k = r + m; + +//// [/lib.d.ts] +lib.d.ts-Text + +//// [/lib.decorators.d.ts] +lib.decorators.d.ts-Text + +//// [/lib.decorators.legacy.d.ts] +lib.decorators.legacy.d.ts-Text + +//// [/other.ts] +export const aa = 1; +export const bb = 2; + +//// [/target.ts] +import { r } from "./file1"; +const a = r; +const b = 2; +const c = 3; + +const d = 4; + +//// [/tsconfig.json] +{ "files": ["file1.ts", "target.ts", "other.ts"] } + + +Info seq [hh:mm:ss:mss] request: + { + "seq": 0, + "type": "request", + "arguments": { + "file": "/target.ts" + }, + "command": "open" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /target.ts ProjectRootPath: undefined:: Result: /tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /tsconfig.json 2000 undefined Project: /tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/tsconfig.json", + "reason": "Creating possible configured project for /target.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /tsconfig.json : { + "rootNames": [ + "/file1.ts", + "/target.ts", + "/other.ts" + ], + "options": { + "configFilePath": "/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /file1.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /other.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.decorators.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.decorators.legacy.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (6) + /lib.d.ts Text-1 lib.d.ts-Text + /lib.decorators.d.ts Text-1 lib.decorators.d.ts-Text + /lib.decorators.legacy.d.ts Text-1 lib.decorators.legacy.d.ts-Text + /other.ts Text-1 "export const aa = 1;\nexport const bb = 2;" + /file1.ts Text-1 "import { aa, bb } from \"./other\";\nexport const r = 10;\nconst s = 12;\nexport const m = 10;\nexport const t = aa + bb + r + s;\nconst u = 1;\nexport const k = r + m;" + /target.ts SVC-1-0 "import { r } from \"./file1\";\nconst a = r;\nconst b = 2;\nconst c = 3;\n\nconst d = 4;" + + + lib.d.ts + Default library for target 'es5' + lib.decorators.d.ts + Library referenced via 'decorators' from file 'lib.d.ts' + lib.decorators.legacy.d.ts + Library referenced via 'decorators.legacy' from file 'lib.d.ts' + other.ts + Imported via "./other" from file 'file1.ts' + Part of 'files' list in tsconfig.json + file1.ts + Part of 'files' list in tsconfig.json + Imported via "./file1" from file 'target.ts' + target.ts + Part of 'files' list in tsconfig.json + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/target.ts", + "configFile": "/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (6) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /target.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /tsconfig.json +After Request +watchedFiles:: +/file1.ts: *new* + {"pollingInterval":500} +/lib.d.ts: *new* + {"pollingInterval":500} +/lib.decorators.d.ts: *new* + {"pollingInterval":500} +/lib.decorators.legacy.d.ts: *new* + {"pollingInterval":500} +/other.ts: *new* + {"pollingInterval":500} +/tsconfig.json: *new* + {"pollingInterval":2000} + +Projects:: +/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/file1.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.d.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.decorators.d.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.decorators.legacy.d.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/other.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/target.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /tsconfig.json *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 1, + "type": "request", + "arguments": { + "formatOptions": { + "indentSize": 4, + "tabSize": 4, + "newLineCharacter": "\n", + "convertTabsToSpaces": true, + "indentStyle": 2, + "insertSpaceAfterConstructor": false, + "insertSpaceAfterCommaDelimiter": true, + "insertSpaceAfterSemicolonInForStatements": true, + "insertSpaceBeforeAndAfterBinaryOperators": true, + "insertSpaceAfterKeywordsInControlFlowStatements": true, + "insertSpaceAfterFunctionKeywordForAnonymousFunctions": false, + "insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": false, + "insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": false, + "insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": true, + "insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": false, + "insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": false, + "insertSpaceBeforeFunctionParenthesis": false, + "placeOpenBraceOnNewLineForFunctions": false, + "placeOpenBraceOnNewLineForControlBlocks": false, + "semicolons": "ignore", + "trimTrailingWhitespace": true, + "indentSwitchCase": true + } + }, + "command": "configure" + } +Info seq [hh:mm:ss:mss] Format host information updated +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "configure", + "request_seq": 1, + "success": true + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 2, + "type": "request", + "arguments": { + "file": "/target.ts", + "pastedText": [ + "export const t = aa + bb + r + s;\nconst u = 1;", + "export const k = r + m;" + ], + "pasteLocations": [ + { + "start": { + "line": 3, + "offset": 1 + }, + "end": { + "line": 3, + "offset": 13 + } + }, + { + "start": { + "line": 5, + "offset": 1 + }, + "end": { + "line": 5, + "offset": 1 + } + } + ], + "copiedFrom": { + "file": "file1.ts", + "spans": [ + { + "start": { + "line": 5, + "offset": 1 + }, + "end": { + "line": 6, + "offset": 13 + } + }, + { + "start": { + "line": 7, + "offset": 1 + }, + "end": { + "line": 7, + "offset": 24 + } + } + ] + } + }, + "command": "getPasteEdits" + } +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /tsconfig.json +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: false structureIsReused:: Completely Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (6) + /lib.d.ts Text-1 lib.d.ts-Text + /lib.decorators.d.ts Text-1 lib.decorators.d.ts-Text + /lib.decorators.legacy.d.ts Text-1 lib.decorators.legacy.d.ts-Text + /other.ts Text-1 "export const aa = 1;\nexport const bb = 2;" + /file1.ts Text-1 "import { aa, bb } from \"./other\";\nexport const r = 10;\nconst s = 12;\nexport const m = 10;\nexport const t = aa + bb + r + s;\nconst u = 1;\nexport const k = r + m;" + /target.ts SVC-1-1 "import { r } from \"./file1\";\nconst a = r;\nexport const t = aa + bb + r + s;\nconst u = 1;\nconst c = 3;\nexport const k = r + m;\nconst d = 4;" + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] getExportInfoMap: cache miss or empty; calculating new results +Info seq [hh:mm:ss:mss] getExportInfoMap: done in * ms +Info seq [hh:mm:ss:mss] getExportInfoMap: cache hit +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "getPasteEdits", + "request_seq": 2, + "success": true, + "performanceData": { + "updateGraphDurationMs": * + }, + "body": { + "edits": [ + { + "fileName": "/file1.ts", + "textChanges": [ + { + "start": { + "line": 3, + "offset": 1 + }, + "end": { + "line": 3, + "offset": 1 + }, + "newText": "export " + } + ] + }, + { + "fileName": "/target.ts", + "textChanges": [ + { + "start": { + "line": 1, + "offset": 10 + }, + "end": { + "line": 1, + "offset": 10 + }, + "newText": "m, " + }, + { + "start": { + "line": 1, + "offset": 11 + }, + "end": { + "line": 1, + "offset": 11 + }, + "newText": ", s" + }, + { + "start": { + "line": 2, + "offset": 1 + }, + "end": { + "line": 2, + "offset": 1 + }, + "newText": "import { aa, bb } from \"./other\";\n" + }, + { + "start": { + "line": 3, + "offset": 1 + }, + "end": { + "line": 3, + "offset": 13 + }, + "newText": "export const t = aa + bb + r + s;\nconst u = 1;" + }, + { + "start": { + "line": 5, + "offset": 1 + }, + "end": { + "line": 5, + "offset": 1 + }, + "newText": "export const k = r + m;" + } + ] + } + ], + "fixId": "providePostPasteEdits" + } + } +After Request +Projects:: +/tsconfig.json (Configured) *changed* + projectStateVersion: 3 *changed* + projectProgramVersion: 1 + dirty: true *changed* + +ScriptInfos:: +/file1.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.d.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/other.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/target.ts (Open) *changed* + version: SVC-1-2 *changed* + containingProjects: 1 + /tsconfig.json *default* diff --git a/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_multiplePastes4.js b/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_multiplePastes4.js new file mode 100644 index 0000000000000..8f4c307eb1372 --- /dev/null +++ b/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_multiplePastes4.js @@ -0,0 +1,362 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +//// [/file1.ts] +export const p = 10; +export const q = 12; + +//// [/file3.ts] +export const r = 10; +export const s = 12; + +//// [/lib.d.ts] +lib.d.ts-Text + +//// [/lib.decorators.d.ts] +lib.decorators.d.ts-Text + +//// [/lib.decorators.legacy.d.ts] +lib.decorators.legacy.d.ts-Text + +//// [/target.ts] +const a = 1; + +const b = 2; +const c = 3; + +const d = 4; + +//// [/tsconfig.json] +{ "files": ["file1.ts", "target.ts", "file3.ts"] } + + +Info seq [hh:mm:ss:mss] request: + { + "seq": 0, + "type": "request", + "arguments": { + "file": "/target.ts" + }, + "command": "open" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /target.ts ProjectRootPath: undefined:: Result: /tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /tsconfig.json 2000 undefined Project: /tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/tsconfig.json", + "reason": "Creating possible configured project for /target.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /tsconfig.json : { + "rootNames": [ + "/file1.ts", + "/target.ts", + "/file3.ts" + ], + "options": { + "configFilePath": "/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /file1.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /file3.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.decorators.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.decorators.legacy.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (6) + /lib.d.ts Text-1 lib.d.ts-Text + /lib.decorators.d.ts Text-1 lib.decorators.d.ts-Text + /lib.decorators.legacy.d.ts Text-1 lib.decorators.legacy.d.ts-Text + /file1.ts Text-1 "export const p = 10;\nexport const q = 12;" + /target.ts SVC-1-0 "const a = 1;\n\nconst b = 2;\nconst c = 3;\n\nconst d = 4;" + /file3.ts Text-1 "export const r = 10;\nexport const s = 12;" + + + lib.d.ts + Default library for target 'es5' + lib.decorators.d.ts + Library referenced via 'decorators' from file 'lib.d.ts' + lib.decorators.legacy.d.ts + Library referenced via 'decorators.legacy' from file 'lib.d.ts' + file1.ts + Part of 'files' list in tsconfig.json + target.ts + Part of 'files' list in tsconfig.json + file3.ts + Part of 'files' list in tsconfig.json + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/target.ts", + "configFile": "/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (6) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /target.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /tsconfig.json +After Request +watchedFiles:: +/file1.ts: *new* + {"pollingInterval":500} +/file3.ts: *new* + {"pollingInterval":500} +/lib.d.ts: *new* + {"pollingInterval":500} +/lib.decorators.d.ts: *new* + {"pollingInterval":500} +/lib.decorators.legacy.d.ts: *new* + {"pollingInterval":500} +/tsconfig.json: *new* + {"pollingInterval":2000} + +Projects:: +/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/file1.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/file3.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.d.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.decorators.d.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.decorators.legacy.d.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/target.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /tsconfig.json *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 1, + "type": "request", + "arguments": { + "formatOptions": { + "indentSize": 4, + "tabSize": 4, + "newLineCharacter": "\n", + "convertTabsToSpaces": true, + "indentStyle": 2, + "insertSpaceAfterConstructor": false, + "insertSpaceAfterCommaDelimiter": true, + "insertSpaceAfterSemicolonInForStatements": true, + "insertSpaceBeforeAndAfterBinaryOperators": true, + "insertSpaceAfterKeywordsInControlFlowStatements": true, + "insertSpaceAfterFunctionKeywordForAnonymousFunctions": false, + "insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": false, + "insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": false, + "insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": true, + "insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": false, + "insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": false, + "insertSpaceBeforeFunctionParenthesis": false, + "placeOpenBraceOnNewLineForFunctions": false, + "placeOpenBraceOnNewLineForControlBlocks": false, + "semicolons": "ignore", + "trimTrailingWhitespace": true, + "indentSwitchCase": true + } + }, + "command": "configure" + } +Info seq [hh:mm:ss:mss] Format host information updated +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "configure", + "request_seq": 1, + "success": true + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 2, + "type": "request", + "arguments": { + "file": "/target.ts", + "pastedText": [ + "const g = p + q;", + "const f = r + s;" + ], + "pasteLocations": [ + { + "start": { + "line": 2, + "offset": 1 + }, + "end": { + "line": 2, + "offset": 1 + } + }, + { + "start": { + "line": 3, + "offset": 1 + }, + "end": { + "line": 3, + "offset": 13 + } + }, + { + "start": { + "line": 5, + "offset": 1 + }, + "end": { + "line": 5, + "offset": 1 + } + } + ] + }, + "command": "getPasteEdits" + } +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /tsconfig.json +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: false structureIsReused:: Completely Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (6) + /lib.d.ts Text-1 lib.d.ts-Text + /lib.decorators.d.ts Text-1 lib.decorators.d.ts-Text + /lib.decorators.legacy.d.ts Text-1 lib.decorators.legacy.d.ts-Text + /file1.ts Text-1 "export const p = 10;\nexport const q = 12;" + /target.ts SVC-1-1 "const a = 1;\nconst g = p + q;\nconst f = r + s;\nconst g = p + q;\nconst f = r + s;\nconst c = 3;\nconst g = p + q;\nconst f = r + s;\nconst d = 4;" + /file3.ts Text-1 "export const r = 10;\nexport const s = 12;" + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "getPasteEdits", + "request_seq": 2, + "success": true, + "performanceData": { + "updateGraphDurationMs": * + }, + "body": { + "edits": [ + { + "fileName": "/target.ts", + "textChanges": [ + { + "start": { + "line": 1, + "offset": 1 + }, + "end": { + "line": 1, + "offset": 1 + }, + "newText": "import { p, q } from \"./file1\";\nimport { r, s } from \"./file3\";\n\n" + }, + { + "start": { + "line": 2, + "offset": 1 + }, + "end": { + "line": 2, + "offset": 1 + }, + "newText": "const g = p + q;\nconst f = r + s;" + }, + { + "start": { + "line": 3, + "offset": 1 + }, + "end": { + "line": 3, + "offset": 13 + }, + "newText": "const g = p + q;\nconst f = r + s;" + }, + { + "start": { + "line": 5, + "offset": 1 + }, + "end": { + "line": 5, + "offset": 1 + }, + "newText": "const g = p + q;\nconst f = r + s;" + } + ] + } + ], + "fixId": "providePostPasteEdits" + } + } +After Request +Projects:: +/tsconfig.json (Configured) *changed* + projectStateVersion: 3 *changed* + projectProgramVersion: 1 + dirty: true *changed* + +ScriptInfos:: +/file1.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/file3.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.d.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/target.ts (Open) *changed* + version: SVC-1-2 *changed* + containingProjects: 1 + /tsconfig.json *default* diff --git a/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_pasteComments.js b/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_pasteComments.js new file mode 100644 index 0000000000000..e26bb6787148f --- /dev/null +++ b/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_pasteComments.js @@ -0,0 +1,265 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +//// [/lib.d.ts] +lib.d.ts-Text + +//// [/lib.decorators.d.ts] +lib.decorators.d.ts-Text + +//// [/lib.decorators.legacy.d.ts] +lib.decorators.legacy.d.ts-Text + +//// [/target.ts] +const a = 10; +const b = 10; +const c = 10; + +//// [/tsconfig.json] +{ "files": ["target.ts"] } + + +Info seq [hh:mm:ss:mss] request: + { + "seq": 0, + "type": "request", + "arguments": { + "file": "/target.ts" + }, + "command": "open" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /target.ts ProjectRootPath: undefined:: Result: /tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /tsconfig.json 2000 undefined Project: /tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/tsconfig.json", + "reason": "Creating possible configured project for /target.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /tsconfig.json : { + "rootNames": [ + "/target.ts" + ], + "options": { + "configFilePath": "/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.decorators.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.decorators.legacy.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (4) + /lib.d.ts Text-1 lib.d.ts-Text + /lib.decorators.d.ts Text-1 lib.decorators.d.ts-Text + /lib.decorators.legacy.d.ts Text-1 lib.decorators.legacy.d.ts-Text + /target.ts SVC-1-0 "const a = 10;\nconst b = 10;\nconst c = 10;" + + + lib.d.ts + Default library for target 'es5' + lib.decorators.d.ts + Library referenced via 'decorators' from file 'lib.d.ts' + lib.decorators.legacy.d.ts + Library referenced via 'decorators.legacy' from file 'lib.d.ts' + target.ts + Part of 'files' list in tsconfig.json + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/target.ts", + "configFile": "/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (4) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /target.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /tsconfig.json +After Request +watchedFiles:: +/lib.d.ts: *new* + {"pollingInterval":500} +/lib.decorators.d.ts: *new* + {"pollingInterval":500} +/lib.decorators.legacy.d.ts: *new* + {"pollingInterval":500} +/tsconfig.json: *new* + {"pollingInterval":2000} + +Projects:: +/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/lib.d.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.decorators.d.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.decorators.legacy.d.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/target.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /tsconfig.json *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 1, + "type": "request", + "arguments": { + "formatOptions": { + "indentSize": 4, + "tabSize": 4, + "newLineCharacter": "\n", + "convertTabsToSpaces": true, + "indentStyle": 2, + "insertSpaceAfterConstructor": false, + "insertSpaceAfterCommaDelimiter": true, + "insertSpaceAfterSemicolonInForStatements": true, + "insertSpaceBeforeAndAfterBinaryOperators": true, + "insertSpaceAfterKeywordsInControlFlowStatements": true, + "insertSpaceAfterFunctionKeywordForAnonymousFunctions": false, + "insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": false, + "insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": false, + "insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": true, + "insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": false, + "insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": false, + "insertSpaceBeforeFunctionParenthesis": false, + "placeOpenBraceOnNewLineForFunctions": false, + "placeOpenBraceOnNewLineForControlBlocks": false, + "semicolons": "ignore", + "trimTrailingWhitespace": true, + "indentSwitchCase": true + } + }, + "command": "configure" + } +Info seq [hh:mm:ss:mss] Format host information updated +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "configure", + "request_seq": 1, + "success": true + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 2, + "type": "request", + "arguments": { + "file": "/target.ts", + "pastedText": [ + "/**\n* Testing comment line 1\n* line 2\n* line 3\n* line 4\n*/" + ], + "pasteLocations": [ + { + "start": { + "line": 2, + "offset": 14 + }, + "end": { + "line": 2, + "offset": 14 + } + } + ] + }, + "command": "getPasteEdits" + } +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /tsconfig.json +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: false structureIsReused:: Completely Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (4) + /lib.d.ts Text-1 lib.d.ts-Text + /lib.decorators.d.ts Text-1 lib.decorators.d.ts-Text + /lib.decorators.legacy.d.ts Text-1 lib.decorators.legacy.d.ts-Text + /target.ts SVC-1-1 "const a = 10;\nconst b = 10;/**\n* Testing comment line 1\n* line 2\n* line 3\n* line 4\n*/\nconst c = 10;" + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "getPasteEdits", + "request_seq": 2, + "success": true, + "performanceData": { + "updateGraphDurationMs": * + }, + "body": { + "edits": [ + { + "fileName": "/target.ts", + "textChanges": [ + { + "start": { + "line": 2, + "offset": 14 + }, + "end": { + "line": 2, + "offset": 14 + }, + "newText": "/**\n* Testing comment line 1\n* line 2\n* line 3\n* line 4\n*/" + } + ] + } + ], + "fixId": "providePostPasteEdits" + } + } +After Request +Projects:: +/tsconfig.json (Configured) *changed* + projectStateVersion: 3 *changed* + projectProgramVersion: 1 + dirty: true *changed* + +ScriptInfos:: +/lib.d.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/target.ts (Open) *changed* + version: SVC-1-2 *changed* + containingProjects: 1 + /tsconfig.json *default* diff --git a/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_pasteIntoSameFile.js b/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_pasteIntoSameFile.js new file mode 100644 index 0000000000000..0c71ccbe495c4 --- /dev/null +++ b/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_pasteIntoSameFile.js @@ -0,0 +1,282 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +//// [/lib.d.ts] +lib.d.ts-Text + +//// [/lib.decorators.d.ts] +lib.decorators.d.ts-Text + +//// [/lib.decorators.legacy.d.ts] +lib.decorators.legacy.d.ts-Text + +//// [/target.ts] +const k = 1; +console.log(k); + + +console.log("test"); + +//// [/tsconfig.json] +{ "files": ["target.ts"] } + + +Info seq [hh:mm:ss:mss] request: + { + "seq": 0, + "type": "request", + "arguments": { + "file": "/target.ts" + }, + "command": "open" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /target.ts ProjectRootPath: undefined:: Result: /tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /tsconfig.json 2000 undefined Project: /tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/tsconfig.json", + "reason": "Creating possible configured project for /target.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /tsconfig.json : { + "rootNames": [ + "/target.ts" + ], + "options": { + "configFilePath": "/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.decorators.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.decorators.legacy.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (4) + /lib.d.ts Text-1 lib.d.ts-Text + /lib.decorators.d.ts Text-1 lib.decorators.d.ts-Text + /lib.decorators.legacy.d.ts Text-1 lib.decorators.legacy.d.ts-Text + /target.ts SVC-1-0 "const k = 1;\nconsole.log(k);\n\n\nconsole.log(\"test\");" + + + lib.d.ts + Default library for target 'es5' + lib.decorators.d.ts + Library referenced via 'decorators' from file 'lib.d.ts' + lib.decorators.legacy.d.ts + Library referenced via 'decorators.legacy' from file 'lib.d.ts' + target.ts + Part of 'files' list in tsconfig.json + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/target.ts", + "configFile": "/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (4) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /target.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /tsconfig.json +After Request +watchedFiles:: +/lib.d.ts: *new* + {"pollingInterval":500} +/lib.decorators.d.ts: *new* + {"pollingInterval":500} +/lib.decorators.legacy.d.ts: *new* + {"pollingInterval":500} +/tsconfig.json: *new* + {"pollingInterval":2000} + +Projects:: +/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/lib.d.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.decorators.d.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.decorators.legacy.d.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/target.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /tsconfig.json *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 1, + "type": "request", + "arguments": { + "formatOptions": { + "indentSize": 4, + "tabSize": 4, + "newLineCharacter": "\n", + "convertTabsToSpaces": true, + "indentStyle": 2, + "insertSpaceAfterConstructor": false, + "insertSpaceAfterCommaDelimiter": true, + "insertSpaceAfterSemicolonInForStatements": true, + "insertSpaceBeforeAndAfterBinaryOperators": true, + "insertSpaceAfterKeywordsInControlFlowStatements": true, + "insertSpaceAfterFunctionKeywordForAnonymousFunctions": false, + "insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": false, + "insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": false, + "insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": true, + "insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": false, + "insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": false, + "insertSpaceBeforeFunctionParenthesis": false, + "placeOpenBraceOnNewLineForFunctions": false, + "placeOpenBraceOnNewLineForControlBlocks": false, + "semicolons": "ignore", + "trimTrailingWhitespace": true, + "indentSwitchCase": true + } + }, + "command": "configure" + } +Info seq [hh:mm:ss:mss] Format host information updated +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "configure", + "request_seq": 1, + "success": true + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 2, + "type": "request", + "arguments": { + "file": "/target.ts", + "pastedText": [ + "console.log(k);" + ], + "pasteLocations": [ + { + "start": { + "line": 4, + "offset": 1 + }, + "end": { + "line": 4, + "offset": 1 + } + } + ], + "copiedFrom": { + "file": "target.ts", + "spans": [ + { + "start": { + "line": 2, + "offset": 1 + }, + "end": { + "line": 2, + "offset": 16 + } + } + ] + } + }, + "command": "getPasteEdits" + } +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /tsconfig.json +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: false structureIsReused:: Completely Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (4) + /lib.d.ts Text-1 lib.d.ts-Text + /lib.decorators.d.ts Text-1 lib.decorators.d.ts-Text + /lib.decorators.legacy.d.ts Text-1 lib.decorators.legacy.d.ts-Text + /target.ts SVC-1-1 "const k = 1;\nconsole.log(k);\n\nconsole.log(k);\nconsole.log(\"test\");" + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "getPasteEdits", + "request_seq": 2, + "success": true, + "performanceData": { + "updateGraphDurationMs": * + }, + "body": { + "edits": [ + { + "fileName": "/target.ts", + "textChanges": [ + { + "start": { + "line": 4, + "offset": 1 + }, + "end": { + "line": 4, + "offset": 1 + }, + "newText": "console.log(k);" + } + ] + } + ], + "fixId": "providePostPasteEdits" + } + } +After Request +Projects:: +/tsconfig.json (Configured) *changed* + projectStateVersion: 3 *changed* + projectProgramVersion: 1 + dirty: true *changed* + +ScriptInfos:: +/lib.d.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/target.ts (Open) *changed* + version: SVC-1-2 *changed* + containingProjects: 1 + /tsconfig.json *default* diff --git a/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_revertUpdatedFile.js b/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_revertUpdatedFile.js new file mode 100644 index 0000000000000..3386cebb96943 --- /dev/null +++ b/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_revertUpdatedFile.js @@ -0,0 +1,1242 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +//// [/lib.d.ts] +lib.d.ts-Text + +//// [/lib.decorators.d.ts] +lib.decorators.d.ts-Text + +//// [/lib.decorators.legacy.d.ts] +lib.decorators.legacy.d.ts-Text + +//// [/other.ts] +export const t = 1; + +//// [/other2.ts] +export const t2 = 1; + +//// [/target.ts] +import { t } from "./other"; +const a = t + 1; +const b = 10; +type T = number; +var x; +var y = x as + +//// [/tsconfig.json] +{ "files": ["target.ts", "other.ts", "other2.ts"] } + + +Info seq [hh:mm:ss:mss] request: + { + "seq": 0, + "type": "request", + "arguments": { + "file": "/target.ts" + }, + "command": "open" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /target.ts ProjectRootPath: undefined:: Result: /tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /tsconfig.json 2000 undefined Project: /tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/tsconfig.json", + "reason": "Creating possible configured project for /target.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /tsconfig.json : { + "rootNames": [ + "/target.ts", + "/other.ts", + "/other2.ts" + ], + "options": { + "configFilePath": "/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /other.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /other2.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.decorators.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.decorators.legacy.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (6) + /lib.d.ts Text-1 lib.d.ts-Text + /lib.decorators.d.ts Text-1 lib.decorators.d.ts-Text + /lib.decorators.legacy.d.ts Text-1 lib.decorators.legacy.d.ts-Text + /other.ts Text-1 "export const t = 1;" + /target.ts SVC-1-0 "import { t } from \"./other\";\nconst a = t + 1;\nconst b = 10;\ntype T = number;\nvar x;\nvar y = x as " + /other2.ts Text-1 "export const t2 = 1;" + + + lib.d.ts + Default library for target 'es5' + lib.decorators.d.ts + Library referenced via 'decorators' from file 'lib.d.ts' + lib.decorators.legacy.d.ts + Library referenced via 'decorators.legacy' from file 'lib.d.ts' + other.ts + Imported via "./other" from file 'target.ts' + Part of 'files' list in tsconfig.json + target.ts + Part of 'files' list in tsconfig.json + other2.ts + Part of 'files' list in tsconfig.json + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/target.ts", + "configFile": "/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (6) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /target.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /tsconfig.json +After Request +watchedFiles:: +/lib.d.ts: *new* + {"pollingInterval":500} +/lib.decorators.d.ts: *new* + {"pollingInterval":500} +/lib.decorators.legacy.d.ts: *new* + {"pollingInterval":500} +/other.ts: *new* + {"pollingInterval":500} +/other2.ts: *new* + {"pollingInterval":500} +/tsconfig.json: *new* + {"pollingInterval":2000} + +Projects:: +/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/lib.d.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.decorators.d.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.decorators.legacy.d.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/other.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/other2.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/target.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /tsconfig.json *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 1, + "type": "request", + "arguments": { + "formatOptions": { + "indentSize": 4, + "tabSize": 4, + "newLineCharacter": "\n", + "convertTabsToSpaces": true, + "indentStyle": 2, + "insertSpaceAfterConstructor": false, + "insertSpaceAfterCommaDelimiter": true, + "insertSpaceAfterSemicolonInForStatements": true, + "insertSpaceBeforeAndAfterBinaryOperators": true, + "insertSpaceAfterKeywordsInControlFlowStatements": true, + "insertSpaceAfterFunctionKeywordForAnonymousFunctions": false, + "insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": false, + "insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": false, + "insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": true, + "insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": false, + "insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": false, + "insertSpaceBeforeFunctionParenthesis": false, + "placeOpenBraceOnNewLineForFunctions": false, + "placeOpenBraceOnNewLineForControlBlocks": false, + "semicolons": "ignore", + "trimTrailingWhitespace": true, + "indentSwitchCase": true + } + }, + "command": "configure" + } +Info seq [hh:mm:ss:mss] Format host information updated +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "configure", + "request_seq": 1, + "success": true + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 2, + "type": "request", + "arguments": { + "file": "/target.ts", + "pastedText": [ + "const m = t2 + 1;" + ], + "pasteLocations": [ + { + "start": { + "line": 3, + "offset": 1 + }, + "end": { + "line": 3, + "offset": 14 + } + } + ] + }, + "command": "getPasteEdits" + } +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /tsconfig.json +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: false structureIsReused:: Completely Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (6) + /lib.d.ts Text-1 lib.d.ts-Text + /lib.decorators.d.ts Text-1 lib.decorators.d.ts-Text + /lib.decorators.legacy.d.ts Text-1 lib.decorators.legacy.d.ts-Text + /other.ts Text-1 "export const t = 1;" + /target.ts SVC-1-1 "import { t } from \"./other\";\nconst a = t + 1;\nconst m = t2 + 1;\ntype T = number;\nvar x;\nvar y = x as " + /other2.ts Text-1 "export const t2 = 1;" + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "getPasteEdits", + "request_seq": 2, + "success": true, + "performanceData": { + "updateGraphDurationMs": * + }, + "body": { + "edits": [ + { + "fileName": "/target.ts", + "textChanges": [ + { + "start": { + "line": 2, + "offset": 1 + }, + "end": { + "line": 2, + "offset": 1 + }, + "newText": "import { t2 } from \"./other2\";\n" + }, + { + "start": { + "line": 3, + "offset": 1 + }, + "end": { + "line": 3, + "offset": 14 + }, + "newText": "const m = t2 + 1;" + } + ] + } + ], + "fixId": "providePostPasteEdits" + } + } +After Request +Projects:: +/tsconfig.json (Configured) *changed* + projectStateVersion: 3 *changed* + projectProgramVersion: 1 + dirty: true *changed* + +ScriptInfos:: +/lib.d.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/other.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/other2.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/target.ts (Open) *changed* + version: SVC-1-2 *changed* + containingProjects: 1 + /tsconfig.json *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 3, + "type": "request", + "arguments": { + "preferences": {} + }, + "command": "configure" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "configure", + "request_seq": 3, + "success": true + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 4, + "type": "request", + "arguments": { + "file": "/target.ts", + "line": 6, + "offset": 14 + }, + "command": "completionInfo" + } +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /tsconfig.json +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /tsconfig.json projectStateVersion: 3 projectProgramVersion: 1 structureChanged: false structureIsReused:: Completely Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (6) + /lib.d.ts Text-1 lib.d.ts-Text + /lib.decorators.d.ts Text-1 lib.decorators.d.ts-Text + /lib.decorators.legacy.d.ts Text-1 lib.decorators.legacy.d.ts-Text + /other.ts Text-1 "export const t = 1;" + /target.ts SVC-1-2 "import { t } from \"./other\";\nconst a = t + 1;\nconst b = 10;\ntype T = number;\nvar x;\nvar y = x as " + /other2.ts Text-1 "export const t2 = 1;" + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] getCompletionData: Get current token: * +Info seq [hh:mm:ss:mss] getCompletionData: Is inside comment: * +Info seq [hh:mm:ss:mss] getCompletionData: Get previous token: * +Info seq [hh:mm:ss:mss] getCompletionsAtPosition: isCompletionListBlocker: * +Info seq [hh:mm:ss:mss] getCompletionData: Semantic work: * +Info seq [hh:mm:ss:mss] getCompletionsAtPosition: getCompletionEntriesFromSymbols: * +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "completionInfo", + "request_seq": 4, + "success": true, + "performanceData": { + "updateGraphDurationMs": * + }, + "body": { + "flags": 0, + "isGlobalCompletion": true, + "isMemberCompletion": false, + "isNewIdentifierLocation": false, + "entries": [ + { + "name": "T", + "kind": "type", + "kindModifiers": "", + "sortText": "11" + }, + { + "name": "any", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15" + }, + { + "name": "Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "ArrayBuffer", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "ArrayBufferConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "ArrayBufferLike", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "ArrayBufferTypes", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "ArrayBufferView", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "ArrayConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "ArrayLike", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "asserts", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15" + }, + { + "name": "Awaited", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "bigint", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15" + }, + { + "name": "boolean", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15" + }, + { + "name": "Boolean", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "BooleanConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "CallableFunction", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "Capitalize", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "ClassAccessorDecoratorContext", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "ClassAccessorDecoratorResult", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "ClassAccessorDecoratorTarget", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "ClassDecorator", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "ClassDecoratorContext", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "ClassFieldDecoratorContext", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "ClassGetterDecoratorContext", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "ClassMemberDecoratorContext", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "ClassMethodDecoratorContext", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "ClassSetterDecoratorContext", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "ConcatArray", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "const", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15" + }, + { + "name": "ConstructorParameters", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "DataView", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "DataViewConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "Date", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "DateConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "DecoratorContext", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "DecoratorMetadata", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "DecoratorMetadataObject", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "Error", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "ErrorConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "EvalError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "EvalErrorConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "Exclude", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "Extract", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "false", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15" + }, + { + "name": "Float32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "Float32ArrayConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "Float64Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "Float64ArrayConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "Function", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "FunctionConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "globalThis", + "kind": "module", + "kindModifiers": "", + "sortText": "15" + }, + { + "name": "IArguments", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "ImportAttributes", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "ImportCallOptions", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "ImportMeta", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "infer", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15" + }, + { + "name": "InstanceType", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "Int8Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "Int8ArrayConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "Int16Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "Int16ArrayConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "Int32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "Int32ArrayConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "Intl", + "kind": "module", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "JSON", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "keyof", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15" + }, + { + "name": "Lowercase", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "Math", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "MethodDecorator", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "never", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15" + }, + { + "name": "NewableFunction", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "NoInfer", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "NonNullable", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "null", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15" + }, + { + "name": "number", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15" + }, + { + "name": "Number", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "NumberConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "object", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15" + }, + { + "name": "Object", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "ObjectConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "Omit", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "OmitThisParameter", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "ParameterDecorator", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "Parameters", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "Partial", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "Pick", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "Promise", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "PromiseConstructorLike", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "PromiseLike", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "PropertyDecorator", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "PropertyDescriptor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "PropertyDescriptorMap", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "PropertyKey", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "RangeError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "RangeErrorConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "readonly", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15" + }, + { + "name": "Readonly", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "ReadonlyArray", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "Record", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "ReferenceError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "ReferenceErrorConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "RegExp", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "RegExpConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "RegExpExecArray", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "RegExpMatchArray", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "Required", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "ReturnType", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "string", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15" + }, + { + "name": "String", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "StringConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "symbol", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15" + }, + { + "name": "Symbol", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "SyntaxError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "SyntaxErrorConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "TemplateStringsArray", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "ThisParameterType", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "ThisType", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "true", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15" + }, + { + "name": "TypedPropertyDescriptor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "TypeError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "TypeErrorConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "typeof", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15" + }, + { + "name": "Uint8Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "Uint8ArrayConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "Uint8ClampedArray", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "Uint8ClampedArrayConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "Uint16Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "Uint16ArrayConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "Uint32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "Uint32ArrayConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "Uncapitalize", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "undefined", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15" + }, + { + "name": "unique", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15" + }, + { + "name": "unknown", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15" + }, + { + "name": "Uppercase", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "URIError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "URIErrorConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "void", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15" + }, + { + "name": "WeakKey", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "WeakKeyTypes", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15" + }, + { + "name": "ImportAssertions", + "kind": "interface", + "kindModifiers": "deprecated,declare", + "sortText": "z15" + } + ] + } + } +After Request +Projects:: +/tsconfig.json (Configured) *changed* + projectStateVersion: 3 + projectProgramVersion: 1 + dirty: false *changed* diff --git a/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_unknownSourceFile.js b/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_unknownSourceFile.js new file mode 100644 index 0000000000000..05a2c3289ac56 --- /dev/null +++ b/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_unknownSourceFile.js @@ -0,0 +1,298 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +//// [/file1.ts] +export interface Test1 {} +export interface Test2 {} +export interface Test3 {} +export interface Test4 {} + +//// [/file2.ts] +const a = 10; +const b = 10; +const c = 10; + +//// [/lib.d.ts] +lib.d.ts-Text + +//// [/lib.decorators.d.ts] +lib.decorators.d.ts-Text + +//// [/lib.decorators.legacy.d.ts] +lib.decorators.legacy.d.ts-Text + +//// [/tsconfig.json] +{ "files": ["file1.ts", "file2.ts"] } + + +Info seq [hh:mm:ss:mss] request: + { + "seq": 0, + "type": "request", + "arguments": { + "file": "/file2.ts" + }, + "command": "open" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /file2.ts ProjectRootPath: undefined:: Result: /tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /tsconfig.json 2000 undefined Project: /tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/tsconfig.json", + "reason": "Creating possible configured project for /file2.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /tsconfig.json : { + "rootNames": [ + "/file1.ts", + "/file2.ts" + ], + "options": { + "configFilePath": "/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /file1.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.decorators.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.decorators.legacy.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (5) + /lib.d.ts Text-1 lib.d.ts-Text + /lib.decorators.d.ts Text-1 lib.decorators.d.ts-Text + /lib.decorators.legacy.d.ts Text-1 lib.decorators.legacy.d.ts-Text + /file1.ts Text-1 "export interface Test1 {}\nexport interface Test2 {}\nexport interface Test3 {}\nexport interface Test4 {}" + /file2.ts SVC-1-0 "const a = 10;\nconst b = 10;\nconst c = 10;" + + + lib.d.ts + Default library for target 'es5' + lib.decorators.d.ts + Library referenced via 'decorators' from file 'lib.d.ts' + lib.decorators.legacy.d.ts + Library referenced via 'decorators.legacy' from file 'lib.d.ts' + file1.ts + Part of 'files' list in tsconfig.json + file2.ts + Part of 'files' list in tsconfig.json + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/file2.ts", + "configFile": "/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (5) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /file2.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /tsconfig.json +After Request +watchedFiles:: +/file1.ts: *new* + {"pollingInterval":500} +/lib.d.ts: *new* + {"pollingInterval":500} +/lib.decorators.d.ts: *new* + {"pollingInterval":500} +/lib.decorators.legacy.d.ts: *new* + {"pollingInterval":500} +/tsconfig.json: *new* + {"pollingInterval":2000} + +Projects:: +/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/file1.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/file2.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /tsconfig.json *default* +/lib.d.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.decorators.d.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.decorators.legacy.d.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json + +Info seq [hh:mm:ss:mss] request: + { + "seq": 1, + "type": "request", + "arguments": { + "formatOptions": { + "indentSize": 4, + "tabSize": 4, + "newLineCharacter": "\n", + "convertTabsToSpaces": true, + "indentStyle": 2, + "insertSpaceAfterConstructor": false, + "insertSpaceAfterCommaDelimiter": true, + "insertSpaceAfterSemicolonInForStatements": true, + "insertSpaceBeforeAndAfterBinaryOperators": true, + "insertSpaceAfterKeywordsInControlFlowStatements": true, + "insertSpaceAfterFunctionKeywordForAnonymousFunctions": false, + "insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": false, + "insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": false, + "insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": true, + "insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": false, + "insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": false, + "insertSpaceBeforeFunctionParenthesis": false, + "placeOpenBraceOnNewLineForFunctions": false, + "placeOpenBraceOnNewLineForControlBlocks": false, + "semicolons": "ignore", + "trimTrailingWhitespace": true, + "indentSwitchCase": true + } + }, + "command": "configure" + } +Info seq [hh:mm:ss:mss] Format host information updated +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "configure", + "request_seq": 1, + "success": true + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 2, + "type": "request", + "arguments": { + "file": "/file2.ts", + "pastedText": [ + "interface Testing {\n test1: Test1;\n test2: Test2;\n test3: Test3;\n test4: Test4;\n }" + ], + "pasteLocations": [ + { + "start": { + "line": 3, + "offset": 1 + }, + "end": { + "line": 3, + "offset": 1 + } + } + ] + }, + "command": "getPasteEdits" + } +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /tsconfig.json +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: false structureIsReused:: Completely Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (5) + /lib.d.ts Text-1 lib.d.ts-Text + /lib.decorators.d.ts Text-1 lib.decorators.d.ts-Text + /lib.decorators.legacy.d.ts Text-1 lib.decorators.legacy.d.ts-Text + /file1.ts Text-1 "export interface Test1 {}\nexport interface Test2 {}\nexport interface Test3 {}\nexport interface Test4 {}" + /file2.ts SVC-1-1 "const a = 10;\nconst b = 10;\ninterface Testing {\n test1: Test1;\n test2: Test2;\n test3: Test3;\n test4: Test4;\n }const c = 10;" + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "getPasteEdits", + "request_seq": 2, + "success": true, + "performanceData": { + "updateGraphDurationMs": * + }, + "body": { + "edits": [ + { + "fileName": "/file2.ts", + "textChanges": [ + { + "start": { + "line": 1, + "offset": 1 + }, + "end": { + "line": 1, + "offset": 1 + }, + "newText": "import { Test1, Test2, Test3, Test4 } from \"./file1\";\n\n" + }, + { + "start": { + "line": 3, + "offset": 1 + }, + "end": { + "line": 3, + "offset": 1 + }, + "newText": "interface Testing {\n test1: Test1;\n test2: Test2;\n test3: Test3;\n test4: Test4;\n }" + } + ] + } + ], + "fixId": "providePostPasteEdits" + } + } +After Request +Projects:: +/tsconfig.json (Configured) *changed* + projectStateVersion: 3 *changed* + projectProgramVersion: 1 + dirty: true *changed* + +ScriptInfos:: +/file1.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/file2.ts (Open) *changed* + version: SVC-1-2 *changed* + containingProjects: 1 + /tsconfig.json *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json diff --git a/tests/baselines/reference/tsserver/inferredProjects/should-use-only-one-inferred-project-if-useOneInferredProject-is-set.js b/tests/baselines/reference/tsserver/inferredProjects/should-use-only-one-inferred-project-if-useOneInferredProject-is-set.js index 981c6f4a90cc1..353b6aafba233 100644 --- a/tests/baselines/reference/tsserver/inferredProjects/should-use-only-one-inferred-project-if-useOneInferredProject-is-set.js +++ b/tests/baselines/reference/tsserver/inferredProjects/should-use-only-one-inferred-project-if-useOneInferredProject-is-set.js @@ -296,12 +296,11 @@ Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/myproject/a/b/tsconfig.json 0:: WatchInfo: /user/username/projects/myproject/a/b/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /user/username/projects/myproject/a/b/tsconfig.json 0:: WatchInfo: /user/username/projects/myproject/a/b/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/a/b/main.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/a/b/tsconfig.json -Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/a/b/tsconfig.json, Cancelled earlier one Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/myproject/a/b/tsconfig.json 0:: WatchInfo: /user/username/projects/myproject/a/b/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root Before running Timeout callback:: count: 2 -3: /user/username/projects/myproject/a/b/tsconfig.json -4: *ensureProjectForOpenFiles* +1: /user/username/projects/myproject/a/b/tsconfig.json +3: *ensureProjectForOpenFiles* //// [/user/username/projects/myproject/a/b/tsconfig.json] { "compilerOptions": { @@ -342,8 +341,8 @@ FsWatches:: {} Timeout callback:: count: 2 -3: /user/username/projects/myproject/a/b/tsconfig.json *new* -4: *ensureProjectForOpenFiles* *new* +1: /user/username/projects/myproject/a/b/tsconfig.json *new* +3: *ensureProjectForOpenFiles* *new* Projects:: /dev/null/inferredProject1* (Inferred) @@ -355,7 +354,6 @@ Projects:: dirty: true Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/a/b/tsconfig.json -Info seq [hh:mm:ss:mss] Loading configured project /user/username/projects/myproject/a/b/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -363,7 +361,7 @@ Info seq [hh:mm:ss:mss] event: "event": "projectLoadingStart", "body": { "projectName": "/user/username/projects/myproject/a/b/tsconfig.json", - "reason": "Change in config file detected" + "reason": "Change in config file /user/username/projects/myproject/a/b/tsconfig.json detected, Creating possible configured project for /user/username/projects/myproject/a/b/main.ts to open" } } Info seq [hh:mm:ss:mss] Config: /user/username/projects/myproject/a/b/tsconfig.json : { diff --git a/tests/baselines/reference/tsserver/libraryResolution/with-config-with-redirection.js b/tests/baselines/reference/tsserver/libraryResolution/with-config-with-redirection.js index 4d0aefbf93af1..07d13dee96823 100644 --- a/tests/baselines/reference/tsserver/libraryResolution/with-config-with-redirection.js +++ b/tests/baselines/reference/tsserver/libraryResolution/with-config-with-redirection.js @@ -1693,6 +1693,7 @@ ScriptInfos:: Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /home/src/projects/project1/tsconfig.json 1:: WatchInfo: /home/src/projects/project1/tsconfig.json 2000 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] Scheduled: /home/src/projects/project1/tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project1/index.ts ProjectRootPath: undefined:: Result: /home/src/projects/project1/tsconfig.json Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /home/src/projects/project1/tsconfig.json 1:: WatchInfo: /home/src/projects/project1/tsconfig.json 2000 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: Config file Before running Timeout callback:: count: 2 @@ -1726,7 +1727,6 @@ Projects:: dirty: true *changed* Info seq [hh:mm:ss:mss] Running: /home/src/projects/project1/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /home/src/projects/project1/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -1871,6 +1871,7 @@ Info seq [hh:mm:ss:mss] ----------------------------------------------- Info seq [hh:mm:ss:mss] Open files: Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project1/index.ts ProjectRootPath: undefined Info seq [hh:mm:ss:mss] Projects: /home/src/projects/project1/tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project1/tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] After ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/home/src/projects/project1/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (9) @@ -1939,6 +1940,7 @@ Projects:: Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /home/src/projects/project1/tsconfig.json 1:: WatchInfo: /home/src/projects/project1/tsconfig.json 2000 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] Scheduled: /home/src/projects/project1/tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project1/index.ts ProjectRootPath: undefined:: Result: /home/src/projects/project1/tsconfig.json Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /home/src/projects/project1/tsconfig.json 1:: WatchInfo: /home/src/projects/project1/tsconfig.json 2000 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /home/src/projects/node_modules/@typescript/lib-dom/index.d.ts :: WatchInfo: /home/src/projects/node_modules 1 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: Failed Lookup Locations @@ -2030,7 +2032,6 @@ ScriptInfos:: Info seq [hh:mm:ss:mss] Running: /home/src/projects/project1/tsconfig.jsonFailedLookupInvalidation Info seq [hh:mm:ss:mss] Running: /home/src/projects/project1/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /home/src/projects/project1/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -2225,6 +2226,7 @@ Info seq [hh:mm:ss:mss] ----------------------------------------------- Info seq [hh:mm:ss:mss] Open files: Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project1/index.ts ProjectRootPath: undefined Info seq [hh:mm:ss:mss] Projects: /home/src/projects/project1/tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project1/tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] After ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/home/src/projects/project1/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (9) diff --git a/tests/baselines/reference/tsserver/libraryResolution/with-config.js b/tests/baselines/reference/tsserver/libraryResolution/with-config.js index a5c241d11dab6..cabdcdf6abf74 100644 --- a/tests/baselines/reference/tsserver/libraryResolution/with-config.js +++ b/tests/baselines/reference/tsserver/libraryResolution/with-config.js @@ -1568,6 +1568,7 @@ ScriptInfos:: Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /home/src/projects/project1/tsconfig.json 1:: WatchInfo: /home/src/projects/project1/tsconfig.json 2000 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] Scheduled: /home/src/projects/project1/tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project1/index.ts ProjectRootPath: undefined:: Result: /home/src/projects/project1/tsconfig.json Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /home/src/projects/project1/tsconfig.json 1:: WatchInfo: /home/src/projects/project1/tsconfig.json 2000 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: Config file Before running Timeout callback:: count: 2 @@ -1601,7 +1602,6 @@ Projects:: dirty: true *changed* Info seq [hh:mm:ss:mss] Running: /home/src/projects/project1/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /home/src/projects/project1/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -1734,6 +1734,7 @@ Info seq [hh:mm:ss:mss] ----------------------------------------------- Info seq [hh:mm:ss:mss] Open files: Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project1/index.ts ProjectRootPath: undefined Info seq [hh:mm:ss:mss] Projects: /home/src/projects/project1/tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project1/tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] After ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/home/src/projects/project1/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (9) @@ -1808,6 +1809,7 @@ Projects:: Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /home/src/projects/project1/tsconfig.json 1:: WatchInfo: /home/src/projects/project1/tsconfig.json 2000 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] Scheduled: /home/src/projects/project1/tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project1/index.ts ProjectRootPath: undefined:: Result: /home/src/projects/project1/tsconfig.json Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /home/src/projects/project1/tsconfig.json 1:: WatchInfo: /home/src/projects/project1/tsconfig.json 2000 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /home/src/projects/node_modules/@typescript/lib-dom/index.d.ts :: WatchInfo: /home/src/projects/node_modules 1 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: Failed Lookup Locations @@ -1899,7 +1901,6 @@ ScriptInfos:: Info seq [hh:mm:ss:mss] Running: /home/src/projects/project1/tsconfig.json Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one -Info seq [hh:mm:ss:mss] Reloading configured project /home/src/projects/project1/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -2168,26 +2169,8 @@ ScriptInfos:: containingProjects: 1 /home/src/projects/project1/tsconfig.json -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /home/src/projects/node_modules/@typescript/lib-webworker :: WatchInfo: /home/src/projects/node_modules 1 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: Failed Lookup Locations -Info seq [hh:mm:ss:mss] Scheduled: /home/src/projects/project1/tsconfig.jsonFailedLookupInvalidation -Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /home/src/projects/node_modules/@typescript/lib-webworker :: WatchInfo: /home/src/projects/node_modules 1 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: Failed Lookup Locations -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /home/src/projects/node_modules/@typescript/lib-webworker :: WatchInfo: /home/src/projects/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache -Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /home/src/projects/node_modules/@typescript/lib-webworker :: WatchInfo: /home/src/projects/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts :: WatchInfo: /home/src/projects/node_modules 1 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: Failed Lookup Locations -Info seq [hh:mm:ss:mss] Scheduled: /home/src/projects/project1/tsconfig.jsonFailedLookupInvalidation, Cancelled earlier one -Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts :: WatchInfo: /home/src/projects/node_modules 1 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: Failed Lookup Locations -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts :: WatchInfo: /home/src/projects/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache -Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts :: WatchInfo: /home/src/projects/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache -Before running Timeout callback:: count: 2 -19: *ensureProjectForOpenFiles* -21: /home/src/projects/project1/tsconfig.jsonFailedLookupInvalidation -//// [/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts] -interface WebWorkerInterface { } - - -Timeout callback:: count: 2 +Before running Timeout callback:: count: 1 19: *ensureProjectForOpenFiles* -21: /home/src/projects/project1/tsconfig.jsonFailedLookupInvalidation *new* Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: @@ -2198,6 +2181,7 @@ Info seq [hh:mm:ss:mss] ----------------------------------------------- Info seq [hh:mm:ss:mss] Open files: Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project1/index.ts ProjectRootPath: undefined Info seq [hh:mm:ss:mss] Projects: /home/src/projects/project1/tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project1/tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] After ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/home/src/projects/project1/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (9) @@ -2218,6 +2202,27 @@ Info seq [hh:mm:ss:mss] event: ] } } +After running Timeout callback:: count: 0 + +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /home/src/projects/node_modules/@typescript/lib-webworker :: WatchInfo: /home/src/projects/node_modules 1 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Scheduled: /home/src/projects/project1/tsconfig.jsonFailedLookupInvalidation +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /home/src/projects/node_modules/@typescript/lib-webworker :: WatchInfo: /home/src/projects/node_modules 1 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /home/src/projects/node_modules/@typescript/lib-webworker :: WatchInfo: /home/src/projects/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /home/src/projects/node_modules/@typescript/lib-webworker :: WatchInfo: /home/src/projects/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts :: WatchInfo: /home/src/projects/node_modules 1 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Scheduled: /home/src/projects/project1/tsconfig.jsonFailedLookupInvalidation, Cancelled earlier one +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts :: WatchInfo: /home/src/projects/node_modules 1 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts :: WatchInfo: /home/src/projects/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts :: WatchInfo: /home/src/projects/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache +Before running Timeout callback:: count: 1 +21: /home/src/projects/project1/tsconfig.jsonFailedLookupInvalidation +//// [/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts] +interface WebWorkerInterface { } + + +Timeout callback:: count: 1 +21: /home/src/projects/project1/tsconfig.jsonFailedLookupInvalidation *new* + Info seq [hh:mm:ss:mss] Running: /home/src/projects/project1/tsconfig.jsonFailedLookupInvalidation Info seq [hh:mm:ss:mss] Scheduled: /home/src/projects/project1/tsconfig.json Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* diff --git a/tests/baselines/reference/tsserver/moduleResolution/using-referenced-project-built.js b/tests/baselines/reference/tsserver/moduleResolution/using-referenced-project-built.js index bcc33a8b5f859..571cd73700431 100644 --- a/tests/baselines/reference/tsserver/moduleResolution/using-referenced-project-built.js +++ b/tests/baselines/reference/tsserver/moduleResolution/using-referenced-project-built.js @@ -137,7 +137,7 @@ export * from "./subfolder"; //# sourceMappingURL=index.d.ts.map //// [/home/src/projects/project/packages/package-a/build/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../../a/lib/lib.es2021.d.ts","../src/subfolder/index.ts","../src/index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11228512861-export const FOO = \"bar\";","signature":"-8746013027-export declare const FOO = \"bar\";\n","impliedFormat":99},{"version":"-16576232793-export * from \"./subfolder\";","signature":"-14439737455-export * from \"./subfolder\";\n","impliedFormat":99}],"root":[2,3],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declarationMap":true,"esModuleInterop":true,"module":99,"outDir":"./","rootDir":"../src","target":8,"tsBuildInfoFile":"./tsconfig.tsbuildinfo"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,3,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../../a/lib/lib.es2021.d.ts","../src/subfolder/index.ts","../src/index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11228512861-export const FOO = \"bar\";","signature":"-8746013027-export declare const FOO = \"bar\";\n","impliedFormat":99},{"version":"-16576232793-export * from \"./subfolder\";","signature":"-14439737455-export * from \"./subfolder\";\n","impliedFormat":99}],"root":[2,3],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declarationMap":true,"esModuleInterop":true,"module":99,"outDir":"./","rootDir":"../src","target":8,"tsBuildInfoFile":"./tsconfig.tsbuildinfo"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/home/src/projects/project/packages/package-a/build/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -211,15 +211,10 @@ export * from "./subfolder"; "../src/subfolder/index.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../../../a/lib/lib.es2021.d.ts", - "../src/index.ts", - "../src/subfolder/index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1271 + "size": 1234 } //// [/home/src/projects/project/packages/package-b/build/index.js] @@ -235,7 +230,7 @@ export {}; //# sourceMappingURL=index.d.ts.map //// [/home/src/projects/project/packages/package-b/build/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../../a/lib/lib.es2021.d.ts","../../package-a/build/subfolder/index.d.ts","../../package-a/build/index.d.ts","../src/index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8746013027-export declare const FOO = \"bar\";\n","impliedFormat":99},{"version":"-14439737455-export * from \"./subfolder\";\n","impliedFormat":99},{"version":"-5331409584-import { FOO } from \"package-a\";\nconsole.log(FOO);\n","signature":"-3531856636-export {};\n","impliedFormat":99}],"root":[4],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declarationMap":true,"esModuleInterop":true,"module":99,"outDir":"./","rootDir":"../src","target":8,"tsBuildInfoFile":"./tsconfig.tsbuildinfo"},"fileIdsList":[[2],[3]],"referencedMap":[[3,1],[4,2]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../../a/lib/lib.es2021.d.ts","../../package-a/build/subfolder/index.d.ts","../../package-a/build/index.d.ts","../src/index.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8746013027-export declare const FOO = \"bar\";\n","impliedFormat":99},{"version":"-14439737455-export * from \"./subfolder\";\n","impliedFormat":99},{"version":"-5331409584-import { FOO } from \"package-a\";\nconsole.log(FOO);\n","signature":"-3531856636-export {};\n","impliedFormat":99}],"root":[4],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declarationMap":true,"esModuleInterop":true,"module":99,"outDir":"./","rootDir":"../src","target":8,"tsBuildInfoFile":"./tsconfig.tsbuildinfo"},"fileIdsList":[[2],[3]],"referencedMap":[[3,1],[4,2]],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/home/src/projects/project/packages/package-b/build/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -320,16 +315,10 @@ export {}; "../../package-a/build/index.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../../../a/lib/lib.es2021.d.ts", - "../../package-a/build/index.d.ts", - "../../package-a/build/subfolder/index.d.ts", - "../src/index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 1360 + "size": 1321 } diff --git a/tests/baselines/reference/tsserver/moduleSpecifierCache/caches-module-specifiers-within-a-file.js b/tests/baselines/reference/tsserver/moduleSpecifierCache/caches-module-specifiers-within-a-file.js index 25e23cd20eea7..8f5275900c7bd 100644 --- a/tests/baselines/reference/tsserver/moduleSpecifierCache/caches-module-specifiers-within-a-file.js +++ b/tests/baselines/reference/tsserver/moduleSpecifierCache/caches-module-specifiers-within-a-file.js @@ -1094,6 +1094,7 @@ Info seq [hh:mm:ss:mss] response: After request Info seq [hh:mm:ss:mss] mobxCache: { + "kind": "node_modules", "modulePaths": [ { "path": "/node_modules/mobx/index.d.ts", diff --git a/tests/baselines/reference/tsserver/moduleSpecifierCache/invalidates-the-cache-when-module-resolution-settings-change.js b/tests/baselines/reference/tsserver/moduleSpecifierCache/invalidates-the-cache-when-module-resolution-settings-change.js index ff4561ce49d05..d779b8e0d733d 100644 --- a/tests/baselines/reference/tsserver/moduleSpecifierCache/invalidates-the-cache-when-module-resolution-settings-change.js +++ b/tests/baselines/reference/tsserver/moduleSpecifierCache/invalidates-the-cache-when-module-resolution-settings-change.js @@ -985,6 +985,9 @@ Projects:: Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /tsconfig.json 1:: WatchInfo: /tsconfig.json 2000 undefined Project: /tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] Scheduled: /tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /src/a.ts ProjectRootPath: undefined:: Result: /tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /src/b.ts ProjectRootPath: undefined:: Result: /tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /src/c.ts ProjectRootPath: undefined:: Result: /tsconfig.json Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /tsconfig.json 1:: WatchInfo: /tsconfig.json 2000 undefined Project: /tsconfig.json WatchType: Config file Before running Timeout callback:: count: 2 @@ -1010,7 +1013,6 @@ Projects:: autoImportProviderHost: /dev/null/autoImportProviderProject1* Info seq [hh:mm:ss:mss] Running: /tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/navTo/should-de-duplicate-symbols-when-searching-all-projects.js b/tests/baselines/reference/tsserver/navTo/should-de-duplicate-symbols-when-searching-all-projects.js index fa7c84036b22b..2c3cd063224d8 100644 --- a/tests/baselines/reference/tsserver/navTo/should-de-duplicate-symbols-when-searching-all-projects.js +++ b/tests/baselines/reference/tsserver/navTo/should-de-duplicate-symbols-when-searching-all-projects.js @@ -254,7 +254,6 @@ Info seq [hh:mm:ss:mss] request: "seq": 2, "type": "request" } -Info seq [hh:mm:ss:mss] Loading configured project /tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/pasteEdits/adds-paste-edits.js b/tests/baselines/reference/tsserver/pasteEdits/adds-paste-edits.js new file mode 100644 index 0000000000000..5f0a2b2a5a1be --- /dev/null +++ b/tests/baselines/reference/tsserver/pasteEdits/adds-paste-edits.js @@ -0,0 +1,344 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +Before request +//// [/project/a/target.ts] +const a = 1; +const b = 2; +const c = 3; + +//// [/project/tsconfig.json] +{} + +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } + + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/project/a/target.ts" + }, + "seq": 1, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /project/a/target.ts ProjectRootPath: undefined:: Result: /project/tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /project/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/tsconfig.json 2000 undefined Project: /project/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/project/tsconfig.json", + "reason": "Creating possible configured project for /project/a/target.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /project/tsconfig.json : { + "rootNames": [ + "/project/a/target.ts" + ], + "options": { + "configFilePath": "/project/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /project 1 undefined Config: /project/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /project 1 undefined Config: /project/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /project/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /project/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/project/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /project/a/target.ts SVC-1-0 "const a = 1;\nconst b = 2;\nconst c = 3;" + + + ../a/lib/lib.d.ts + Default library for target 'es5' + a/target.ts + Matched by default include pattern '**/*' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/project/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "telemetry", + "body": { + "telemetryEventName": "projectInfo", + "payload": { + "projectId": "4877b582a3e7d5836ee46b4a0db488dc715db827bacc8ef1fbcd0dbb78ae23d1", + "fileStats": { + "js": 0, + "jsSize": 0, + "jsx": 0, + "jsxSize": 0, + "ts": 1, + "tsSize": 38, + "tsx": 0, + "tsxSize": 0, + "dts": 1, + "dtsSize": 334, + "deferred": 0, + "deferredSize": 0 + }, + "compilerOptions": {}, + "typeAcquisition": { + "enable": false, + "include": false, + "exclude": false + }, + "extends": false, + "files": false, + "include": false, + "exclude": false, + "compileOnSave": false, + "configFileName": "tsconfig.json", + "projectType": "configured", + "languageServiceEnabled": true, + "version": "FakeVersion" + } + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/project/a/target.ts", + "configFile": "/project/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] Project '/project/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /project/a/target.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /project/tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +FsWatches:: +/a/lib/lib.d.ts: *new* + {} +/project/tsconfig.json: *new* + {} + +FsWatchesRecursive:: +/project: *new* + {} + +Projects:: +/project/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/a/lib/lib.d.ts *new* + version: Text-1 + containingProjects: 1 + /project/tsconfig.json +/project/a/target.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /project/tsconfig.json *default* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "getPasteEdits", + "arguments": { + "file": "/project/a/target.ts", + "pastedText": [ + "const q = 1;\nfunction e();\nconst f = r + s;" + ], + "pasteLocations": [ + { + "start": { + "line": 2, + "offset": 0 + }, + "end": { + "line": 2, + "offset": 0 + } + } + ] + }, + "seq": 2, + "type": "request" + } +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /project/tsconfig.json +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /project/tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: false structureIsReused:: Completely Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/project/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /project/a/target.ts SVC-1-1 "const a = 1;const q = 1;\nfunction e();\nconst f = r + s;\nconst b = 2;\nconst c = 3;" + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] response: + { + "response": { + "edits": [ + { + "fileName": "/project/a/target.ts", + "textChanges": [ + { + "start": { + "line": 1, + "offset": 13 + }, + "end": { + "line": 1, + "offset": 13 + }, + "newText": "const q = 1;\nfunction e();\nconst f = r + s;" + } + ] + } + ], + "fixId": "providePostPasteEdits" + }, + "responseRequired": true + } +After request + +Projects:: +/project/tsconfig.json (Configured) *changed* + projectStateVersion: 3 *changed* + projectProgramVersion: 1 + dirty: true *changed* + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 1 + /project/tsconfig.json +/project/a/target.ts (Open) *changed* + version: SVC-1-2 *changed* + containingProjects: 1 + /project/tsconfig.json *default* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "geterr", + "arguments": { + "delay": 0, + "files": [ + "/project/a/target.ts" + ] + }, + "seq": 3, + "type": "request" + } +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +Timeout callback:: count: 1 +1: checkOne *new* + +Before running Timeout callback:: count: 1 +1: checkOne + +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /project/tsconfig.json +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /project/tsconfig.json projectStateVersion: 3 projectProgramVersion: 1 structureChanged: false structureIsReused:: Completely Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/project/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /project/a/target.ts SVC-1-2 "const a = 1;\nconst b = 2;\nconst c = 3;" + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "syntaxDiag", + "body": { + "file": "/project/a/target.ts", + "diagnostics": [] + } + } +After running Timeout callback:: count: 0 + +Immedidate callback:: count: 1 +1: semanticCheck *new* + +Projects:: +/project/tsconfig.json (Configured) *changed* + projectStateVersion: 3 + projectProgramVersion: 1 + dirty: false *changed* + +Before running Immedidate callback:: count: 1 +1: semanticCheck + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "semanticDiag", + "body": { + "file": "/project/a/target.ts", + "diagnostics": [] + } + } +After running Immedidate callback:: count: 1 + +Immedidate callback:: count: 1 +2: suggestionCheck *new* + +Before running Immedidate callback:: count: 1 +2: suggestionCheck + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "suggestionDiag", + "body": { + "file": "/project/a/target.ts", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "requestCompleted", + "body": { + "request_seq": 3 + } + } +After running Immedidate callback:: count: 0 diff --git a/tests/baselines/reference/tsserver/plugins/gets-external-files-with-config-file-reload.js b/tests/baselines/reference/tsserver/plugins/gets-external-files-with-config-file-reload.js index aa8fcdc404750..10687f14d8f2a 100644 --- a/tests/baselines/reference/tsserver/plugins/gets-external-files-with-config-file-reload.js +++ b/tests/baselines/reference/tsserver/plugins/gets-external-files-with-config-file-reload.js @@ -219,6 +219,7 @@ ExternalFiles:: [ ] Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /user/username/projects/myproject/tsconfig.json 1:: WatchInfo: /user/username/projects/myproject/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/a.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/myproject/tsconfig.json 1:: WatchInfo: /user/username/projects/myproject/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Config file Before running Timeout callback:: count: 2 @@ -247,7 +248,6 @@ Projects:: dirty: true *changed* Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/pluginsAsync/project-is-deferred-closed-before-plugins-are-loaded.js b/tests/baselines/reference/tsserver/pluginsAsync/project-is-deferred-closed-before-plugins-are-loaded.js index 46ca6ef6ab2c8..52c9a2bae5920 100644 --- a/tests/baselines/reference/tsserver/pluginsAsync/project-is-deferred-closed-before-plugins-are-loaded.js +++ b/tests/baselines/reference/tsserver/pluginsAsync/project-is-deferred-closed-before-plugins-are-loaded.js @@ -219,23 +219,22 @@ after waitForPendingPlugins Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /home/src/projects/project/tsconfig.json 0:: WatchInfo: /home/src/projects/project/tsconfig.json 2000 undefined Project: /home/src/projects/project/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] Scheduled: /home/src/projects/project/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/a.ts ProjectRootPath: undefined:: Result: /home/src/projects/project/tsconfig.json -Info seq [hh:mm:ss:mss] Scheduled: /home/src/projects/project/tsconfig.json, Cancelled earlier one Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /home/src/projects/project/tsconfig.json 0:: WatchInfo: /home/src/projects/project/tsconfig.json 2000 undefined Project: /home/src/projects/project/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /home/src/projects/project/tsconfig.json :: WatchInfo: /home/src/projects/project 1 undefined Config: /home/src/projects/project/tsconfig.json WatchType: Wild card directory Info seq [hh:mm:ss:mss] Project: /home/src/projects/project/tsconfig.json Detected file add/remove of non supported extension: /home/src/projects/project/tsconfig.json Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /home/src/projects/project/tsconfig.json :: WatchInfo: /home/src/projects/project 1 undefined Config: /home/src/projects/project/tsconfig.json WatchType: Wild card directory Before running Timeout callback:: count: 2 -3: /home/src/projects/project/tsconfig.json -4: *ensureProjectForOpenFiles* +2: /home/src/projects/project/tsconfig.json +3: *ensureProjectForOpenFiles* //// [/home/src/projects/project/tsconfig.json] {} Timeout callback:: count: 2 1: *ensureProjectForOpenFiles* *deleted* -3: /home/src/projects/project/tsconfig.json *new* -4: *ensureProjectForOpenFiles* *new* +2: /home/src/projects/project/tsconfig.json *new* +3: *ensureProjectForOpenFiles* *new* Projects:: /home/src/projects/project/tsconfig.json (Configured) *changed* @@ -246,7 +245,6 @@ Projects:: deferredClose: undefined *changed* Info seq [hh:mm:ss:mss] Running: /home/src/projects/project/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /home/src/projects/project/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -351,7 +349,7 @@ Info seq [hh:mm:ss:mss] event: after waitForPendingPlugins Timeout callback:: count: 1 -5: /home/src/projects/project/tsconfig.json *new* +4: /home/src/projects/project/tsconfig.json *new* Projects:: /home/src/projects/project/tsconfig.json (Configured) *changed* diff --git a/tests/baselines/reference/tsserver/projectErrors/configFileDiagnostic-events-are-generated-when-the-config-file-changes.js b/tests/baselines/reference/tsserver/projectErrors/configFileDiagnostic-events-are-generated-when-the-config-file-changes.js index 243060905b683..0512ec59dda63 100644 --- a/tests/baselines/reference/tsserver/projectErrors/configFileDiagnostic-events-are-generated-when-the-config-file-changes.js +++ b/tests/baselines/reference/tsserver/projectErrors/configFileDiagnostic-events-are-generated-when-the-config-file-changes.js @@ -171,6 +171,7 @@ ScriptInfos:: Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /a/b/tsconfig.json 1:: WatchInfo: /a/b/tsconfig.json 2000 undefined Project: /a/b/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] Scheduled: /a/b/tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a/b/app.ts ProjectRootPath: undefined:: Result: /a/b/tsconfig.json Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /a/b/tsconfig.json 1:: WatchInfo: /a/b/tsconfig.json 2000 undefined Project: /a/b/tsconfig.json WatchType: Config file Before running Timeout callback:: count: 2 @@ -195,7 +196,6 @@ Projects:: dirty: true *changed* Info seq [hh:mm:ss:mss] Running: /a/b/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /a/b/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -296,6 +296,7 @@ Projects:: Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /a/b/tsconfig.json 1:: WatchInfo: /a/b/tsconfig.json 2000 undefined Project: /a/b/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] Scheduled: /a/b/tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a/b/app.ts ProjectRootPath: undefined:: Result: /a/b/tsconfig.json Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /a/b/tsconfig.json 1:: WatchInfo: /a/b/tsconfig.json 2000 undefined Project: /a/b/tsconfig.json WatchType: Config file Before running Timeout callback:: count: 2 @@ -318,7 +319,6 @@ Projects:: dirty: true *changed* Info seq [hh:mm:ss:mss] Running: /a/b/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /a/b/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/projectErrors/configured-projects---diagnostics-for-corrupted-config-1.js b/tests/baselines/reference/tsserver/projectErrors/configured-projects---diagnostics-for-corrupted-config-1.js index 05c1f32dc1a8b..dae00919e5ea9 100644 --- a/tests/baselines/reference/tsserver/projectErrors/configured-projects---diagnostics-for-corrupted-config-1.js +++ b/tests/baselines/reference/tsserver/projectErrors/configured-projects---diagnostics-for-corrupted-config-1.js @@ -294,6 +294,7 @@ After request Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /a/b/tsconfig.json 1:: WatchInfo: /a/b/tsconfig.json 2000 undefined Project: /a/b/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] Scheduled: /a/b/tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a/b/app.ts ProjectRootPath: undefined:: Result: /a/b/tsconfig.json Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /a/b/tsconfig.json 1:: WatchInfo: /a/b/tsconfig.json 2000 undefined Project: /a/b/tsconfig.json WatchType: Config file Before request @@ -325,7 +326,6 @@ Info seq [hh:mm:ss:mss] request: "seq": 4, "type": "request" } -Info seq [hh:mm:ss:mss] Reloading configured project /a/b/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/projectErrors/configured-projects---diagnostics-for-corrupted-config-2.js b/tests/baselines/reference/tsserver/projectErrors/configured-projects---diagnostics-for-corrupted-config-2.js index bbec550c5c1c5..7692d6e6bad05 100644 --- a/tests/baselines/reference/tsserver/projectErrors/configured-projects---diagnostics-for-corrupted-config-2.js +++ b/tests/baselines/reference/tsserver/projectErrors/configured-projects---diagnostics-for-corrupted-config-2.js @@ -266,6 +266,7 @@ After request Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /a/b/tsconfig.json 1:: WatchInfo: /a/b/tsconfig.json 2000 undefined Project: /a/b/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] Scheduled: /a/b/tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a/b/app.ts ProjectRootPath: undefined:: Result: /a/b/tsconfig.json Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /a/b/tsconfig.json 1:: WatchInfo: /a/b/tsconfig.json 2000 undefined Project: /a/b/tsconfig.json WatchType: Config file Before request @@ -297,7 +298,6 @@ Info seq [hh:mm:ss:mss] request: "seq": 4, "type": "request" } -Info seq [hh:mm:ss:mss] Reloading configured project /a/b/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/projectErrors/configured-projects---diagnostics-for-missing-files.js b/tests/baselines/reference/tsserver/projectErrors/configured-projects---diagnostics-for-missing-files.js index f9056ba2880a9..f0798d319cab8 100644 --- a/tests/baselines/reference/tsserver/projectErrors/configured-projects---diagnostics-for-missing-files.js +++ b/tests/baselines/reference/tsserver/projectErrors/configured-projects---diagnostics-for-missing-files.js @@ -295,6 +295,17 @@ Info seq [hh:mm:ss:mss] Files (3) Part of 'files' list in tsconfig.json Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/a/b/tsconfig.json", + "configFile": "/a/b/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] response: { "response": [], diff --git a/tests/baselines/reference/tsserver/projectErrors/diagnostics-after-noUnusedLabels-changes.js b/tests/baselines/reference/tsserver/projectErrors/diagnostics-after-noUnusedLabels-changes.js index 50f82bbbe68de..60716d87dc896 100644 --- a/tests/baselines/reference/tsserver/projectErrors/diagnostics-after-noUnusedLabels-changes.js +++ b/tests/baselines/reference/tsserver/projectErrors/diagnostics-after-noUnusedLabels-changes.js @@ -200,6 +200,7 @@ ScriptInfos:: Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /tsconfig.json 1:: WatchInfo: /tsconfig.json 2000 undefined Project: /tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] Scheduled: /tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a.ts ProjectRootPath: undefined:: Result: /tsconfig.json Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /tsconfig.json 1:: WatchInfo: /tsconfig.json 2000 undefined Project: /tsconfig.json WatchType: Config file Before running Timeout callback:: count: 2 @@ -220,7 +221,6 @@ Projects:: dirty: true *changed* Info seq [hh:mm:ss:mss] Running: /tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/projectErrors/when-options-change.js b/tests/baselines/reference/tsserver/projectErrors/when-options-change.js index da134da65c5b7..27f751c140ed6 100644 --- a/tests/baselines/reference/tsserver/projectErrors/when-options-change.js +++ b/tests/baselines/reference/tsserver/projectErrors/when-options-change.js @@ -289,6 +289,7 @@ After request Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /a/b/tsconfig.json 1:: WatchInfo: /a/b/tsconfig.json 2000 undefined Project: /a/b/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] Scheduled: /a/b/tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a/b/app.ts ProjectRootPath: undefined:: Result: /a/b/tsconfig.json Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /a/b/tsconfig.json 1:: WatchInfo: /a/b/tsconfig.json 2000 undefined Project: /a/b/tsconfig.json WatchType: Config file Before request @@ -322,7 +323,6 @@ Info seq [hh:mm:ss:mss] request: "seq": 3, "type": "request" } -Info seq [hh:mm:ss:mss] Reloading configured project /a/b/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/projectReferences/ancestor-and-project-ref-management.js b/tests/baselines/reference/tsserver/projectReferences/ancestor-and-project-ref-management.js index 71a6cb433f028..643160e9b5a17 100644 --- a/tests/baselines/reference/tsserver/projectReferences/ancestor-and-project-ref-management.js +++ b/tests/baselines/reference/tsserver/projectReferences/ancestor-and-project-ref-management.js @@ -661,7 +661,17 @@ Info seq [hh:mm:ss:mss] event: } } } -Info seq [hh:mm:ss:mss] Loading configured project /user/username/projects/container/tsconfig.json +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/container/lib/tsconfig.json", + "configFile": "/user/username/projects/container/lib/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -862,6 +872,17 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/container/exec/tsconfig.json", + "configFile": "/user/username/projects/container/exec/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/container/lib/index.ts ProjectRootPath: undefined:: Result: /user/username/projects/container/lib/tsconfig.json Info seq [hh:mm:ss:mss] response: { diff --git a/tests/baselines/reference/tsserver/projectReferences/auto-import-with-referenced-project-when-built-with-disableSourceOfProjectReferenceRedirect.js b/tests/baselines/reference/tsserver/projectReferences/auto-import-with-referenced-project-when-built-with-disableSourceOfProjectReferenceRedirect.js index 7bab019b682ef..30a72a13eabda 100644 --- a/tests/baselines/reference/tsserver/projectReferences/auto-import-with-referenced-project-when-built-with-disableSourceOfProjectReferenceRedirect.js +++ b/tests/baselines/reference/tsserver/projectReferences/auto-import-with-referenced-project-when-built-with-disableSourceOfProjectReferenceRedirect.js @@ -79,7 +79,7 @@ export declare function foo(): void; //// [/user/username/projects/myproject/shared/bld/library/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../../a/lib/lib.d.ts","../../src/library/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"3524703962-export function foo() {}","signature":"-5677608893-export declare function foo(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"outDir":"./"},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../../a/lib/lib.d.ts","../../src/library/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"3524703962-export function foo() {}","signature":"-5677608893-export declare function foo(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"outDir":"./"},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/shared/bld/library/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -121,19 +121,14 @@ export declare function foo(): void; "composite": true, "outDir": "./" }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../../../a/lib/lib.d.ts", - "../../src/library/index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 830 + "size": 776 } //// [/user/username/projects/myproject/app/bld/program/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../../a/lib/lib.d.ts","../../../shared/bld/library/index.d.ts","../../src/program/bar.ts","../../src/program/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"-9677035610-import {foo} from \"shared\";","impliedFormat":1},{"version":"193491849-foo","affectsGlobalScope":true,"impliedFormat":1}],"root":[3,4],"options":{"composite":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,3,[4,[{"file":"../../src/program/index.ts","start":0,"length":3,"messageText":"Cannot find name 'foo'.","category":1,"code":2304}]],2],"affectedFilesPendingEmit":[3,4],"emitSignatures":[3,4]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../../a/lib/lib.d.ts","../../../shared/bld/library/index.d.ts","../../src/program/bar.ts","../../src/program/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"-9677035610-import {foo} from \"shared\";","impliedFormat":1},{"version":"193491849-foo","affectsGlobalScope":true,"impliedFormat":1}],"root":[3,4],"options":{"composite":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[[4,[{"start":0,"length":3,"messageText":"Cannot find name 'foo'.","category":1,"code":2304}]]],"affectedFilesPendingEmit":[3,4],"emitSignatures":[3,4]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/app/bld/program/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -211,13 +206,10 @@ export declare function foo(): void; ] }, "semanticDiagnosticsPerFile": [ - "../../../../../../../a/lib/lib.d.ts", - "../../src/program/bar.ts", [ "../../src/program/index.ts", [ { - "file": "../../src/program/index.ts", "start": 0, "length": 3, "messageText": "Cannot find name 'foo'.", @@ -225,8 +217,7 @@ export declare function foo(): void; "code": 2304 } ] - ], - "../../../shared/bld/library/index.d.ts" + ] ], "affectedFilesPendingEmit": [ [ @@ -244,7 +235,7 @@ export declare function foo(): void; ] }, "version": "FakeTSVersion", - "size": 1171 + "size": 1129 } diff --git a/tests/baselines/reference/tsserver/projectReferences/auto-import-with-referenced-project-when-built.js b/tests/baselines/reference/tsserver/projectReferences/auto-import-with-referenced-project-when-built.js index 073f1bfdafa42..0be7decd55c35 100644 --- a/tests/baselines/reference/tsserver/projectReferences/auto-import-with-referenced-project-when-built.js +++ b/tests/baselines/reference/tsserver/projectReferences/auto-import-with-referenced-project-when-built.js @@ -78,7 +78,7 @@ export declare function foo(): void; //// [/user/username/projects/myproject/shared/bld/library/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../../a/lib/lib.d.ts","../../src/library/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"3524703962-export function foo() {}","signature":"-5677608893-export declare function foo(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"outDir":"./"},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../../a/lib/lib.d.ts","../../src/library/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"3524703962-export function foo() {}","signature":"-5677608893-export declare function foo(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"outDir":"./"},"latestChangedDtsFile":"./index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/shared/bld/library/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -120,19 +120,14 @@ export declare function foo(): void; "composite": true, "outDir": "./" }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../../../a/lib/lib.d.ts", - "../../src/library/index.ts" - ], "latestChangedDtsFile": "./index.d.ts" }, "version": "FakeTSVersion", - "size": 830 + "size": 776 } //// [/user/username/projects/myproject/app/bld/program/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../../a/lib/lib.d.ts","../../../shared/bld/library/index.d.ts","../../src/program/bar.ts","../../src/program/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"-9677035610-import {foo} from \"shared\";","impliedFormat":1},{"version":"193491849-foo","affectsGlobalScope":true,"impliedFormat":1}],"root":[3,4],"options":{"composite":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,3,[4,[{"file":"../../src/program/index.ts","start":0,"length":3,"messageText":"Cannot find name 'foo'.","category":1,"code":2304}]],2],"affectedFilesPendingEmit":[3,4],"emitSignatures":[3,4]},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../../a/lib/lib.d.ts","../../../shared/bld/library/index.d.ts","../../src/program/bar.ts","../../src/program/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"-9677035610-import {foo} from \"shared\";","impliedFormat":1},{"version":"193491849-foo","affectsGlobalScope":true,"impliedFormat":1}],"root":[3,4],"options":{"composite":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[[4,[{"start":0,"length":3,"messageText":"Cannot find name 'foo'.","category":1,"code":2304}]]],"affectedFilesPendingEmit":[3,4],"emitSignatures":[3,4]},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/app/bld/program/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -210,13 +205,10 @@ export declare function foo(): void; ] }, "semanticDiagnosticsPerFile": [ - "../../../../../../../a/lib/lib.d.ts", - "../../src/program/bar.ts", [ "../../src/program/index.ts", [ { - "file": "../../src/program/index.ts", "start": 0, "length": 3, "messageText": "Cannot find name 'foo'.", @@ -224,8 +216,7 @@ export declare function foo(): void; "code": 2304 } ] - ], - "../../../shared/bld/library/index.d.ts" + ] ], "affectedFilesPendingEmit": [ [ @@ -243,7 +234,7 @@ export declare function foo(): void; ] }, "version": "FakeTSVersion", - "size": 1171 + "size": 1129 } diff --git a/tests/baselines/reference/tsserver/projectReferences/can-successfully-find-references-with-out-option.js b/tests/baselines/reference/tsserver/projectReferences/can-successfully-find-references-with-out-option.js index fd2b0e30b62d9..e35eca7601810 100644 --- a/tests/baselines/reference/tsserver/projectReferences/can-successfully-find-references-with-out-option.js +++ b/tests/baselines/reference/tsserver/projectReferences/can-successfully-find-references-with-out-option.js @@ -546,7 +546,17 @@ Info seq [hh:mm:ss:mss] event: } } } -Info seq [hh:mm:ss:mss] Loading configured project /user/username/projects/container/tsconfig.json +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/container/lib/tsconfig.json", + "configFile": "/user/username/projects/container/lib/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -747,6 +757,17 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/container/exec/tsconfig.json", + "configFile": "/user/username/projects/container/exec/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/container/lib/index.ts ProjectRootPath: undefined:: Result: /user/username/projects/container/lib/tsconfig.json Info seq [hh:mm:ss:mss] response: { diff --git a/tests/baselines/reference/tsserver/projectReferences/disables-looking-into-the-child-project-if-disableReferencedProjectLoad-is-set-in-first-indirect-project-but-not-in-another-one.js b/tests/baselines/reference/tsserver/projectReferences/disables-looking-into-the-child-project-if-disableReferencedProjectLoad-is-set-in-first-indirect-project-but-not-in-another-one.js index 6381cb594fe2c..97b7b09278a08 100644 --- a/tests/baselines/reference/tsserver/projectReferences/disables-looking-into-the-child-project-if-disableReferencedProjectLoad-is-set-in-first-indirect-project-but-not-in-another-one.js +++ b/tests/baselines/reference/tsserver/projectReferences/disables-looking-into-the-child-project-if-disableReferencedProjectLoad-is-set-in-first-indirect-project-but-not-in-another-one.js @@ -290,6 +290,17 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/src/main.ts", + "configFile": "/user/username/projects/myproject/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/myproject/tsconfig-src.json Info seq [hh:mm:ss:mss] event: { @@ -394,6 +405,7 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig-src.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (0) @@ -465,8 +477,11 @@ ScriptInfos:: containingProjects: 1 /user/username/projects/myproject/tsconfig-src.json *default* -Info seq [hh:mm:ss:mss] getDefaultProject for /user/username/projects/myproject/src/main.ts: /user/username/projects/myproject/tsconfig-src.json -Info seq [hh:mm:ss:mss] findDefaultConfiguredProject for /user/username/projects/myproject/src/main.ts: /user/username/projects/myproject/tsconfig-src.json +Info seq [hh:mm:ss:mss] File: /user/username/projects/myproject/src/main.ts: + getDefaultProjectForFile: + /user/username/projects/myproject/tsconfig-src.json + findDefaultConfiguredProject: + /user/username/projects/myproject/tsconfig-src.json Before request Info seq [hh:mm:ss:mss] request: @@ -1007,6 +1022,17 @@ Info seq [hh:mm:ss:mss] event: "projectName": "/user/username/projects/myproject/tsconfig.json" } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/src/main.ts", + "configFile": "/user/username/projects/myproject/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/myproject/tsconfig-src.json Info seq [hh:mm:ss:mss] event: { @@ -1065,6 +1091,7 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig-src.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (0) @@ -1170,7 +1197,6 @@ Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/pr Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -1178,7 +1204,7 @@ Info seq [hh:mm:ss:mss] event: "event": "projectLoadingStart", "body": { "projectName": "/user/username/projects/myproject/tsconfig.json", - "reason": "User requested reload projects" + "reason": "User requested reload projects: Creating possible configured project for /user/username/projects/myproject/src/main.ts to open" } } Info seq [hh:mm:ss:mss] Config: /user/username/projects/myproject/tsconfig.json : { @@ -1282,7 +1308,6 @@ Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/pr Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig-src.json WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig-src.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig-src.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/tsconfig-src.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -1290,7 +1315,7 @@ Info seq [hh:mm:ss:mss] event: "event": "projectLoadingStart", "body": { "projectName": "/user/username/projects/myproject/tsconfig-src.json", - "reason": "User requested reload projects" + "reason": "User requested reload projects: Creating project referenced in solution /user/username/projects/myproject/tsconfig.json to find possible configured project for /user/username/projects/myproject/src/main.ts to open" } } Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/projects/myproject/tsconfig-src.json @@ -1339,6 +1364,7 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig-src.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (0) diff --git a/tests/baselines/reference/tsserver/projectReferences/disables-looking-into-the-child-project-if-disableReferencedProjectLoad-is-set-in-indirect-project.js b/tests/baselines/reference/tsserver/projectReferences/disables-looking-into-the-child-project-if-disableReferencedProjectLoad-is-set-in-indirect-project.js index 010b5592b0b45..0a2c232d1b556 100644 --- a/tests/baselines/reference/tsserver/projectReferences/disables-looking-into-the-child-project-if-disableReferencedProjectLoad-is-set-in-indirect-project.js +++ b/tests/baselines/reference/tsserver/projectReferences/disables-looking-into-the-child-project-if-disableReferencedProjectLoad-is-set-in-indirect-project.js @@ -243,6 +243,17 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/src/main.ts", + "configFile": "/user/username/projects/myproject/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/myproject/tsconfig-indirect1.json Info seq [hh:mm:ss:mss] event: { @@ -352,6 +363,7 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig-indirect1.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (0) @@ -429,8 +441,11 @@ ScriptInfos:: containingProjects: 1 /user/username/projects/myproject/tsconfig-indirect1.json *default* -Info seq [hh:mm:ss:mss] getDefaultProject for /user/username/projects/myproject/src/main.ts: /user/username/projects/myproject/tsconfig-indirect1.json -Info seq [hh:mm:ss:mss] findDefaultConfiguredProject for /user/username/projects/myproject/src/main.ts: undefined +Info seq [hh:mm:ss:mss] File: /user/username/projects/myproject/src/main.ts: + getDefaultProjectForFile: + /user/username/projects/myproject/tsconfig-indirect1.json + findDefaultConfiguredProject: + /user/username/projects/myproject/tsconfig-indirect1.json Before request Info seq [hh:mm:ss:mss] request: @@ -974,6 +989,17 @@ Info seq [hh:mm:ss:mss] event: "projectName": "/user/username/projects/myproject/tsconfig.json" } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/src/main.ts", + "configFile": "/user/username/projects/myproject/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/myproject/tsconfig-indirect1.json Info seq [hh:mm:ss:mss] event: { @@ -1036,6 +1062,7 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig-indirect1.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (0) @@ -1149,7 +1176,6 @@ Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/pr Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -1157,7 +1183,7 @@ Info seq [hh:mm:ss:mss] event: "event": "projectLoadingStart", "body": { "projectName": "/user/username/projects/myproject/tsconfig.json", - "reason": "User requested reload projects" + "reason": "User requested reload projects: Creating possible configured project for /user/username/projects/myproject/src/main.ts to open" } } Info seq [hh:mm:ss:mss] Config: /user/username/projects/myproject/tsconfig.json : { @@ -1241,7 +1267,6 @@ Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/pr Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig-indirect1.json WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig-indirect1.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig-indirect1.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/tsconfig-indirect1.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -1249,7 +1274,7 @@ Info seq [hh:mm:ss:mss] event: "event": "projectLoadingStart", "body": { "projectName": "/user/username/projects/myproject/tsconfig-indirect1.json", - "reason": "User requested reload projects" + "reason": "User requested reload projects: Creating project referenced in solution /user/username/projects/myproject/tsconfig.json to find possible configured project for /user/username/projects/myproject/src/main.ts to open" } } Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/projects/myproject/tsconfig-indirect1.json @@ -1301,6 +1326,7 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig-indirect1.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (0) diff --git a/tests/baselines/reference/tsserver/projectReferences/disables-looking-into-the-child-project-if-disableReferencedProjectLoad-is-set.js b/tests/baselines/reference/tsserver/projectReferences/disables-looking-into-the-child-project-if-disableReferencedProjectLoad-is-set.js index 272c6ffa0e22c..2aefdeae19e26 100644 --- a/tests/baselines/reference/tsserver/projectReferences/disables-looking-into-the-child-project-if-disableReferencedProjectLoad-is-set.js +++ b/tests/baselines/reference/tsserver/projectReferences/disables-looking-into-the-child-project-if-disableReferencedProjectLoad-is-set.js @@ -325,8 +325,11 @@ ScriptInfos:: containingProjects: 1 /dev/null/inferredProject1* *default* -Info seq [hh:mm:ss:mss] getDefaultProject for /user/username/projects/myproject/src/main.ts: /dev/null/inferredProject1* -Info seq [hh:mm:ss:mss] findDefaultConfiguredProject for /user/username/projects/myproject/src/main.ts: undefined +Info seq [hh:mm:ss:mss] File: /user/username/projects/myproject/src/main.ts: + getDefaultProjectForFile: + /dev/null/inferredProject1* + findDefaultConfiguredProject: + undefined Before request Info seq [hh:mm:ss:mss] request: @@ -969,7 +972,6 @@ Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/pr Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -977,7 +979,7 @@ Info seq [hh:mm:ss:mss] event: "event": "projectLoadingStart", "body": { "projectName": "/user/username/projects/myproject/tsconfig.json", - "reason": "User requested reload projects" + "reason": "User requested reload projects: Creating possible configured project for /user/username/projects/myproject/src/main.ts to open" } } Info seq [hh:mm:ss:mss] Config: /user/username/projects/myproject/tsconfig.json : { diff --git a/tests/baselines/reference/tsserver/projectReferences/does-not-error-on-container-only-project.js b/tests/baselines/reference/tsserver/projectReferences/does-not-error-on-container-only-project.js index bb437b40791af..d7bf25412e5fe 100644 --- a/tests/baselines/reference/tsserver/projectReferences/does-not-error-on-container-only-project.js +++ b/tests/baselines/reference/tsserver/projectReferences/does-not-error-on-container-only-project.js @@ -381,6 +381,17 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/container/lib/tsconfig.json", + "configFile": "/user/username/projects/container/lib/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/container/exec/tsconfig.json Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/container/exec/tsconfig.json 2000 undefined Project: /user/username/projects/container/exec/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] event: @@ -484,6 +495,17 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/container/exec/tsconfig.json", + "configFile": "/user/username/projects/container/exec/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/container/compositeExec/tsconfig.json Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/container/compositeExec/tsconfig.json 2000 undefined Project: /user/username/projects/container/compositeExec/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] event: @@ -591,6 +613,17 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/container/compositeExec/tsconfig.json", + "configFile": "/user/username/projects/container/compositeExec/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/container/tsconfig.json Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/container/tsconfig.json 2000 undefined Project: /user/username/projects/container/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] event: @@ -679,6 +712,17 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/container/tsconfig.json", + "configFile": "/user/username/projects/container/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Project '/user/username/projects/container/lib/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (2) diff --git a/tests/baselines/reference/tsserver/projectReferences/finding-local-reference-doesnt-load-ancestor/sibling-projects.js b/tests/baselines/reference/tsserver/projectReferences/finding-local-reference-doesnt-load-ancestor/sibling-projects.js index cfcdfba2aefa1..fe43c88aa3f59 100644 --- a/tests/baselines/reference/tsserver/projectReferences/finding-local-reference-doesnt-load-ancestor/sibling-projects.js +++ b/tests/baselines/reference/tsserver/projectReferences/finding-local-reference-doesnt-load-ancestor/sibling-projects.js @@ -338,7 +338,6 @@ Info seq [hh:mm:ss:mss] request: "type": "request" } Info seq [hh:mm:ss:mss] Finding references to /user/username/projects/solution/compiler/program.ts position 110 in project /user/username/projects/solution/compiler/tsconfig.json -Info seq [hh:mm:ss:mss] Loading configured project /user/username/projects/solution/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -542,6 +541,17 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/solution/services/tsconfig.json", + "configFile": "/user/username/projects/solution/services/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/solution/compiler/types.d.ts 2000 undefined Project: /user/username/projects/solution/compiler/tsconfig.json WatchType: Missing generated file Info seq [hh:mm:ss:mss] Finding references to /user/username/projects/solution/compiler/types.ts position 103 in project /user/username/projects/solution/services/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/solution/compiler/types.ts ProjectRootPath: undefined:: Result: /user/username/projects/solution/compiler/tsconfig.json diff --git a/tests/baselines/reference/tsserver/projectReferences/finding-references-in-overlapping-projects.js b/tests/baselines/reference/tsserver/projectReferences/finding-references-in-overlapping-projects.js index 339302ea1a8c2..9861c3a02f896 100644 --- a/tests/baselines/reference/tsserver/projectReferences/finding-references-in-overlapping-projects.js +++ b/tests/baselines/reference/tsserver/projectReferences/finding-references-in-overlapping-projects.js @@ -446,9 +446,19 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/solution/a/tsconfig.json", + "configFile": "/user/username/projects/solution/a/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/solution/a/index.ts ProjectRootPath: undefined:: Result: /user/username/projects/solution/a/tsconfig.json Info seq [hh:mm:ss:mss] Finding references to /user/username/projects/solution/a/index.ts position 34 in project /user/username/projects/solution/a/tsconfig.json -Info seq [hh:mm:ss:mss] Loading configured project /user/username/projects/solution/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -688,6 +698,17 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/solution/c/tsconfig.json", + "configFile": "/user/username/projects/solution/c/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/solution/d/tsconfig.json Info seq [hh:mm:ss:mss] event: { @@ -797,6 +818,17 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/solution/d/tsconfig.json", + "configFile": "/user/username/projects/solution/d/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Finding references to /user/username/projects/solution/a/index.ts position 34 in project /user/username/projects/solution/c/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/solution/a/index.ts ProjectRootPath: undefined:: Result: /user/username/projects/solution/a/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/solution/a/index.ts ProjectRootPath: undefined:: Result: /user/username/projects/solution/a/tsconfig.json diff --git a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-and-solution-is-built-with-preserveSymlinks.js b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-and-solution-is-built-with-preserveSymlinks.js index 679215a2a35b9..a51c683a5c1f9 100644 --- a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-and-solution-is-built-with-preserveSymlinks.js +++ b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-and-solution-is-built-with-preserveSymlinks.js @@ -88,7 +88,7 @@ export declare function foo(): void; //// [/user/username/projects/myproject/packages/B/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","./src/bar.ts","./src/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"1045484683-export function bar() { }","signature":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"4646078106-export function foo() { }","signature":"-5677608893-export declare function foo(): void;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./lib/index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","./src/bar.ts","./src/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"1045484683-export function bar() { }","signature":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"4646078106-export function foo() { }","signature":"-5677608893-export declare function foo(): void;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"latestChangedDtsFile":"./lib/index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/B/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -146,16 +146,10 @@ export declare function foo(): void; "outDir": "./lib", "rootDir": "./src" }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "./src/bar.ts", - "./src/index.ts" - ], "latestChangedDtsFile": "./lib/index.d.ts" }, "version": "FakeTSVersion", - "size": 994 + "size": 938 } //// [/user/username/projects/myproject/packages/A/lib/index.js] @@ -172,7 +166,7 @@ export {}; //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../../node_modules/b/lib/index.d.ts","../../node_modules/b/lib/bar.d.ts","./src/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"3563314629-import { foo } from 'b';\nimport { bar } from 'b/lib/bar';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./lib/index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../../node_modules/b/lib/index.d.ts","../../node_modules/b/lib/bar.d.ts","./src/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"3563314629-import { foo } from 'b';\nimport { bar } from 'b/lib/bar';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./lib/index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -247,16 +241,10 @@ export {}; "../../node_modules/b/lib/bar.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "../../node_modules/b/lib/bar.d.ts", - "../../node_modules/b/lib/index.d.ts", - "./src/index.ts" - ], "latestChangedDtsFile": "./lib/index.d.ts" }, "version": "FakeTSVersion", - "size": 1137 + "size": 1098 } diff --git a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-and-solution-is-built.js b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-and-solution-is-built.js index 03f0624ad8eb2..9652c1720c238 100644 --- a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-and-solution-is-built.js +++ b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-and-solution-is-built.js @@ -86,7 +86,7 @@ export declare function foo(): void; //// [/user/username/projects/myproject/packages/B/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","./src/bar.ts","./src/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"1045484683-export function bar() { }","signature":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"4646078106-export function foo() { }","signature":"-5677608893-export declare function foo(): void;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./lib/index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","./src/bar.ts","./src/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"1045484683-export function bar() { }","signature":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"4646078106-export function foo() { }","signature":"-5677608893-export declare function foo(): void;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"latestChangedDtsFile":"./lib/index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/B/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -144,16 +144,10 @@ export declare function foo(): void; "outDir": "./lib", "rootDir": "./src" }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "./src/bar.ts", - "./src/index.ts" - ], "latestChangedDtsFile": "./lib/index.d.ts" }, "version": "FakeTSVersion", - "size": 994 + "size": 938 } //// [/user/username/projects/myproject/packages/A/lib/index.js] @@ -170,7 +164,7 @@ export {}; //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../b/lib/index.d.ts","../b/lib/bar.d.ts","./src/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"3563314629-import { foo } from 'b';\nimport { bar } from 'b/lib/bar';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,4,3,2],"latestChangedDtsFile":"./lib/index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../b/lib/index.d.ts","../b/lib/bar.d.ts","./src/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"3563314629-import { foo } from 'b';\nimport { bar } from 'b/lib/bar';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./lib/index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -245,16 +239,10 @@ export {}; "../b/lib/bar.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "./src/index.ts", - "../b/lib/bar.d.ts", - "../b/lib/index.d.ts" - ], "latestChangedDtsFile": "./lib/index.d.ts" }, "version": "FakeTSVersion", - "size": 1105 + "size": 1066 } diff --git a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-with-scoped-package-and-solution-is-built-with-preserveSymlinks.js b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-with-scoped-package-and-solution-is-built-with-preserveSymlinks.js index 9641cc9135256..76c4e843ea61d 100644 --- a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-with-scoped-package-and-solution-is-built-with-preserveSymlinks.js +++ b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-with-scoped-package-and-solution-is-built-with-preserveSymlinks.js @@ -88,7 +88,7 @@ export declare function foo(): void; //// [/user/username/projects/myproject/packages/B/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","./src/bar.ts","./src/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"1045484683-export function bar() { }","signature":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"4646078106-export function foo() { }","signature":"-5677608893-export declare function foo(): void;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./lib/index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","./src/bar.ts","./src/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"1045484683-export function bar() { }","signature":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"4646078106-export function foo() { }","signature":"-5677608893-export declare function foo(): void;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"latestChangedDtsFile":"./lib/index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/B/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -146,16 +146,10 @@ export declare function foo(): void; "outDir": "./lib", "rootDir": "./src" }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "./src/bar.ts", - "./src/index.ts" - ], "latestChangedDtsFile": "./lib/index.d.ts" }, "version": "FakeTSVersion", - "size": 994 + "size": 938 } //// [/user/username/projects/myproject/packages/A/lib/index.js] @@ -172,7 +166,7 @@ export {}; //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../../node_modules/@issue/b/lib/index.d.ts","../../node_modules/@issue/b/lib/bar.d.ts","./src/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"8545527381-import { foo } from '@issue/b';\nimport { bar } from '@issue/b/lib/bar';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./lib/index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../../node_modules/@issue/b/lib/index.d.ts","../../node_modules/@issue/b/lib/bar.d.ts","./src/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"8545527381-import { foo } from '@issue/b';\nimport { bar } from '@issue/b/lib/bar';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./lib/index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -247,16 +241,10 @@ export {}; "../../node_modules/@issue/b/lib/bar.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "../../node_modules/@issue/b/lib/bar.d.ts", - "../../node_modules/@issue/b/lib/index.d.ts", - "./src/index.ts" - ], "latestChangedDtsFile": "./lib/index.d.ts" }, "version": "FakeTSVersion", - "size": 1165 + "size": 1126 } diff --git a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-with-scoped-package-and-solution-is-built.js b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-with-scoped-package-and-solution-is-built.js index ae640951057af..0a6bb8a9e7a03 100644 --- a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-with-scoped-package-and-solution-is-built.js +++ b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-with-scoped-package-and-solution-is-built.js @@ -86,7 +86,7 @@ export declare function foo(): void; //// [/user/username/projects/myproject/packages/B/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","./src/bar.ts","./src/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"1045484683-export function bar() { }","signature":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"4646078106-export function foo() { }","signature":"-5677608893-export declare function foo(): void;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./lib/index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","./src/bar.ts","./src/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"1045484683-export function bar() { }","signature":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"4646078106-export function foo() { }","signature":"-5677608893-export declare function foo(): void;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"latestChangedDtsFile":"./lib/index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/B/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -144,16 +144,10 @@ export declare function foo(): void; "outDir": "./lib", "rootDir": "./src" }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "./src/bar.ts", - "./src/index.ts" - ], "latestChangedDtsFile": "./lib/index.d.ts" }, "version": "FakeTSVersion", - "size": 994 + "size": 938 } //// [/user/username/projects/myproject/packages/A/lib/index.js] @@ -170,7 +164,7 @@ export {}; //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../b/lib/index.d.ts","../b/lib/bar.d.ts","./src/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"8545527381-import { foo } from '@issue/b';\nimport { bar } from '@issue/b/lib/bar';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,4,3,2],"latestChangedDtsFile":"./lib/index.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../b/lib/index.d.ts","../b/lib/bar.d.ts","./src/index.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"8545527381-import { foo } from '@issue/b';\nimport { bar } from '@issue/b/lib/bar';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./lib/index.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -245,16 +239,10 @@ export {}; "../b/lib/bar.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "./src/index.ts", - "../b/lib/bar.d.ts", - "../b/lib/index.d.ts" - ], "latestChangedDtsFile": "./lib/index.d.ts" }, "version": "FakeTSVersion", - "size": 1119 + "size": 1080 } diff --git a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-and-solution-is-built-with-preserveSymlinks.js b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-and-solution-is-built-with-preserveSymlinks.js index b3c959342ff56..a7095f188229f 100644 --- a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-and-solution-is-built-with-preserveSymlinks.js +++ b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-and-solution-is-built-with-preserveSymlinks.js @@ -85,7 +85,7 @@ export declare function bar(): void; //// [/user/username/projects/myproject/packages/B/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","./src/foo.ts","./src/bar/foo.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"4646078106-export function foo() { }","signature":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"1045484683-export function bar() { }","signature":"-2904461644-export declare function bar(): void;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"referencedMap":[],"semanticDiagnosticsPerFile":[1,3,2],"latestChangedDtsFile":"./lib/bar/foo.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","./src/foo.ts","./src/bar/foo.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"4646078106-export function foo() { }","signature":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"1045484683-export function bar() { }","signature":"-2904461644-export declare function bar(): void;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"latestChangedDtsFile":"./lib/bar/foo.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/B/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -143,16 +143,10 @@ export declare function bar(): void; "outDir": "./lib", "rootDir": "./src" }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "./src/bar/foo.ts", - "./src/foo.ts" - ], "latestChangedDtsFile": "./lib/bar/foo.d.ts" }, "version": "FakeTSVersion", - "size": 998 + "size": 942 } //// [/user/username/projects/myproject/packages/A/lib/test.js] @@ -169,7 +163,7 @@ export {}; //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../../node_modules/b/lib/foo.d.ts","../../node_modules/b/lib/bar/foo.d.ts","./src/test.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"14700910833-import { foo } from 'b/lib/foo';\nimport { bar } from 'b/lib/bar/foo';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./lib/test.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../../node_modules/b/lib/foo.d.ts","../../node_modules/b/lib/bar/foo.d.ts","./src/test.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"14700910833-import { foo } from 'b/lib/foo';\nimport { bar } from 'b/lib/bar/foo';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./lib/test.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -244,16 +238,10 @@ export {}; "../../node_modules/b/lib/bar/foo.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "../../node_modules/b/lib/bar/foo.d.ts", - "../../node_modules/b/lib/foo.d.ts", - "./src/test.ts" - ], "latestChangedDtsFile": "./lib/test.d.ts" }, "version": "FakeTSVersion", - "size": 1150 + "size": 1111 } diff --git a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-and-solution-is-built.js b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-and-solution-is-built.js index 8ee914806e83f..b469828ef168b 100644 --- a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-and-solution-is-built.js +++ b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-and-solution-is-built.js @@ -83,7 +83,7 @@ export declare function bar(): void; //// [/user/username/projects/myproject/packages/B/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","./src/foo.ts","./src/bar/foo.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"4646078106-export function foo() { }","signature":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"1045484683-export function bar() { }","signature":"-2904461644-export declare function bar(): void;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"referencedMap":[],"semanticDiagnosticsPerFile":[1,3,2],"latestChangedDtsFile":"./lib/bar/foo.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","./src/foo.ts","./src/bar/foo.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"4646078106-export function foo() { }","signature":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"1045484683-export function bar() { }","signature":"-2904461644-export declare function bar(): void;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"latestChangedDtsFile":"./lib/bar/foo.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/B/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -141,16 +141,10 @@ export declare function bar(): void; "outDir": "./lib", "rootDir": "./src" }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "./src/bar/foo.ts", - "./src/foo.ts" - ], "latestChangedDtsFile": "./lib/bar/foo.d.ts" }, "version": "FakeTSVersion", - "size": 998 + "size": 942 } //// [/user/username/projects/myproject/packages/A/lib/test.js] @@ -167,7 +161,7 @@ export {}; //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../b/lib/foo.d.ts","../b/lib/bar/foo.d.ts","./src/test.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"14700910833-import { foo } from 'b/lib/foo';\nimport { bar } from 'b/lib/bar/foo';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,4,3,2],"latestChangedDtsFile":"./lib/test.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../b/lib/foo.d.ts","../b/lib/bar/foo.d.ts","./src/test.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"14700910833-import { foo } from 'b/lib/foo';\nimport { bar } from 'b/lib/bar/foo';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./lib/test.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -242,16 +236,10 @@ export {}; "../b/lib/bar/foo.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "./src/test.ts", - "../b/lib/bar/foo.d.ts", - "../b/lib/foo.d.ts" - ], "latestChangedDtsFile": "./lib/test.d.ts" }, "version": "FakeTSVersion", - "size": 1118 + "size": 1079 } diff --git a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-with-scoped-package-and-solution-is-built-with-preserveSymlinks.js b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-with-scoped-package-and-solution-is-built-with-preserveSymlinks.js index aa7141dc9fb24..473e6b5faad9e 100644 --- a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-with-scoped-package-and-solution-is-built-with-preserveSymlinks.js +++ b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-with-scoped-package-and-solution-is-built-with-preserveSymlinks.js @@ -85,7 +85,7 @@ export declare function bar(): void; //// [/user/username/projects/myproject/packages/B/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","./src/foo.ts","./src/bar/foo.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"4646078106-export function foo() { }","signature":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"1045484683-export function bar() { }","signature":"-2904461644-export declare function bar(): void;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"referencedMap":[],"semanticDiagnosticsPerFile":[1,3,2],"latestChangedDtsFile":"./lib/bar/foo.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","./src/foo.ts","./src/bar/foo.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"4646078106-export function foo() { }","signature":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"1045484683-export function bar() { }","signature":"-2904461644-export declare function bar(): void;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"latestChangedDtsFile":"./lib/bar/foo.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/B/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -143,16 +143,10 @@ export declare function bar(): void; "outDir": "./lib", "rootDir": "./src" }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "./src/bar/foo.ts", - "./src/foo.ts" - ], "latestChangedDtsFile": "./lib/bar/foo.d.ts" }, "version": "FakeTSVersion", - "size": 998 + "size": 942 } //// [/user/username/projects/myproject/packages/A/lib/test.js] @@ -169,7 +163,7 @@ export {}; //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../../node_modules/@issue/b/lib/foo.d.ts","../../node_modules/@issue/b/lib/bar/foo.d.ts","./src/test.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"-20350237855-import { foo } from '@issue/b/lib/foo';\nimport { bar } from '@issue/b/lib/bar/foo';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,3,2,4],"latestChangedDtsFile":"./lib/test.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../../node_modules/@issue/b/lib/foo.d.ts","../../node_modules/@issue/b/lib/bar/foo.d.ts","./src/test.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"-20350237855-import { foo } from '@issue/b/lib/foo';\nimport { bar } from '@issue/b/lib/bar/foo';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./lib/test.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -244,16 +238,10 @@ export {}; "../../node_modules/@issue/b/lib/bar/foo.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "../../node_modules/@issue/b/lib/bar/foo.d.ts", - "../../node_modules/@issue/b/lib/foo.d.ts", - "./src/test.ts" - ], "latestChangedDtsFile": "./lib/test.d.ts" }, "version": "FakeTSVersion", - "size": 1179 + "size": 1140 } diff --git a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-with-scoped-package-and-solution-is-built.js b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-with-scoped-package-and-solution-is-built.js index 489ab9aed81c8..55125398b5b85 100644 --- a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-with-scoped-package-and-solution-is-built.js +++ b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-with-scoped-package-and-solution-is-built.js @@ -83,7 +83,7 @@ export declare function bar(): void; //// [/user/username/projects/myproject/packages/B/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","./src/foo.ts","./src/bar/foo.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"4646078106-export function foo() { }","signature":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"1045484683-export function bar() { }","signature":"-2904461644-export declare function bar(): void;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"referencedMap":[],"semanticDiagnosticsPerFile":[1,3,2],"latestChangedDtsFile":"./lib/bar/foo.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","./src/foo.ts","./src/bar/foo.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"4646078106-export function foo() { }","signature":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"1045484683-export function bar() { }","signature":"-2904461644-export declare function bar(): void;\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"latestChangedDtsFile":"./lib/bar/foo.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/B/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -141,16 +141,10 @@ export declare function bar(): void; "outDir": "./lib", "rootDir": "./src" }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "./src/bar/foo.ts", - "./src/foo.ts" - ], "latestChangedDtsFile": "./lib/bar/foo.d.ts" }, "version": "FakeTSVersion", - "size": 998 + "size": 942 } //// [/user/username/projects/myproject/packages/A/lib/test.js] @@ -167,7 +161,7 @@ export {}; //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../b/lib/foo.d.ts","../b/lib/bar/foo.d.ts","./src/test.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"-20350237855-import { foo } from '@issue/b/lib/foo';\nimport { bar } from '@issue/b/lib/bar/foo';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[1,4,3,2],"latestChangedDtsFile":"./lib/test.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../../a/lib/lib.d.ts","../b/lib/foo.d.ts","../b/lib/bar/foo.d.ts","./src/test.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"-20350237855-import { foo } from '@issue/b/lib/foo';\nimport { bar } from '@issue/b/lib/bar/foo';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"fileIdsList":[[2,3]],"referencedMap":[[4,1]],"latestChangedDtsFile":"./lib/test.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -242,16 +236,10 @@ export {}; "../b/lib/bar/foo.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../../a/lib/lib.d.ts", - "./src/test.ts", - "../b/lib/bar/foo.d.ts", - "../b/lib/foo.d.ts" - ], "latestChangedDtsFile": "./lib/test.d.ts" }, "version": "FakeTSVersion", - "size": 1133 + "size": 1094 } diff --git a/tests/baselines/reference/tsserver/projectReferences/new-file-is-added-to-the-referenced-project-when-referenced-project-is-not-open-with-disableSourceOfProjectReferenceRedirect.js b/tests/baselines/reference/tsserver/projectReferences/new-file-is-added-to-the-referenced-project-when-referenced-project-is-not-open-with-disableSourceOfProjectReferenceRedirect.js index 133580b22b1de..764ed1dd7d6d1 100644 --- a/tests/baselines/reference/tsserver/projectReferences/new-file-is-added-to-the-referenced-project-when-referenced-project-is-not-open-with-disableSourceOfProjectReferenceRedirect.js +++ b/tests/baselines/reference/tsserver/projectReferences/new-file-is-added-to-the-referenced-project-when-referenced-project-is-not-open-with-disableSourceOfProjectReferenceRedirect.js @@ -286,6 +286,41 @@ Info seq [hh:mm:ss:mss] Files (3) /user/username/projects/myproject/projects/project2/class2.ts SVC-1-0 "class class2 {}" Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/projects/project2/tsconfig.json", + "configFile": "/user/username/projects/myproject/projects/project2/tsconfig.json", + "diagnostics": [ + { + "text": "File '/user/username/projects/myproject/projects/project1/class3.d.ts' not found.\n The file is in the program because:\n Output from referenced project '/user/username/projects/myproject/projects/project1/tsconfig.json' included because '--module' is specified as 'none'", + "code": 6053, + "category": "error", + "relatedInformation": [ + { + "span": { + "start": { + "line": 8, + "offset": 5 + }, + "end": { + "line": 10, + "offset": 6 + }, + "file": "/user/username/projects/myproject/projects/project2/tsconfig.json" + }, + "message": "File is output from referenced project specified here.", + "category": "message", + "code": 1413 + } + ] + } + ] + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/projects/project2/tsconfig.json' (Configured) @@ -428,6 +463,17 @@ Info seq [hh:mm:ss:mss] Files (4) Matched by default include pattern '**/*' Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/projects/project2/tsconfig.json", + "configFile": "/user/username/projects/myproject/projects/project2/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/projects/project2/tsconfig.json' (Configured) @@ -585,6 +631,41 @@ Info seq [hh:mm:ss:mss] Files (3) Matched by default include pattern '**/*' Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/projects/project2/tsconfig.json", + "configFile": "/user/username/projects/myproject/projects/project2/tsconfig.json", + "diagnostics": [ + { + "text": "File '/user/username/projects/myproject/projects/project1/class3.d.ts' not found.\n The file is in the program because:\n Output from referenced project '/user/username/projects/myproject/projects/project1/tsconfig.json' included because '--module' is specified as 'none'", + "code": 6053, + "category": "error", + "relatedInformation": [ + { + "span": { + "start": { + "line": 8, + "offset": 5 + }, + "end": { + "line": 10, + "offset": 6 + }, + "file": "/user/username/projects/myproject/projects/project2/tsconfig.json" + }, + "message": "File is output from referenced project specified here.", + "category": "message", + "code": 1413 + } + ] + } + ] + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/projects/project2/tsconfig.json' (Configured) @@ -689,6 +770,17 @@ Info seq [hh:mm:ss:mss] Files (4) Matched by default include pattern '**/*' Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/projects/project2/tsconfig.json", + "configFile": "/user/username/projects/myproject/projects/project2/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/projects/project2/tsconfig.json' (Configured) diff --git a/tests/baselines/reference/tsserver/projectReferences/new-file-is-added-to-the-referenced-project-when-referenced-project-is-open-with-disableSourceOfProjectReferenceRedirect.js b/tests/baselines/reference/tsserver/projectReferences/new-file-is-added-to-the-referenced-project-when-referenced-project-is-open-with-disableSourceOfProjectReferenceRedirect.js index 0cac84daedcfc..3359dbaa0faee 100644 --- a/tests/baselines/reference/tsserver/projectReferences/new-file-is-added-to-the-referenced-project-when-referenced-project-is-open-with-disableSourceOfProjectReferenceRedirect.js +++ b/tests/baselines/reference/tsserver/projectReferences/new-file-is-added-to-the-referenced-project-when-referenced-project-is-open-with-disableSourceOfProjectReferenceRedirect.js @@ -478,6 +478,41 @@ Info seq [hh:mm:ss:mss] Files (3) /user/username/projects/myproject/projects/project2/class2.ts SVC-1-0 "class class2 {}" Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/projects/project2/tsconfig.json", + "configFile": "/user/username/projects/myproject/projects/project2/tsconfig.json", + "diagnostics": [ + { + "text": "File '/user/username/projects/myproject/projects/project1/class3.d.ts' not found.\n The file is in the program because:\n Output from referenced project '/user/username/projects/myproject/projects/project1/tsconfig.json' included because '--module' is specified as 'none'", + "code": 6053, + "category": "error", + "relatedInformation": [ + { + "span": { + "start": { + "line": 8, + "offset": 5 + }, + "end": { + "line": 10, + "offset": 6 + }, + "file": "/user/username/projects/myproject/projects/project2/tsconfig.json" + }, + "message": "File is output from referenced project specified here.", + "category": "message", + "code": 1413 + } + ] + } + ] + } + } Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/projects/project1/tsconfig.json Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/projects/project1/class3.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/projects/myproject/projects/project1/tsconfig.json @@ -690,6 +725,17 @@ Info seq [hh:mm:ss:mss] Files (4) Matched by default include pattern '**/*' Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/projects/project2/tsconfig.json", + "configFile": "/user/username/projects/myproject/projects/project2/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/projects/project2/tsconfig.json' (Configured) @@ -888,6 +934,41 @@ Info seq [hh:mm:ss:mss] Files (3) Matched by default include pattern '**/*' Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/projects/project2/tsconfig.json", + "configFile": "/user/username/projects/myproject/projects/project2/tsconfig.json", + "diagnostics": [ + { + "text": "File '/user/username/projects/myproject/projects/project1/class3.d.ts' not found.\n The file is in the program because:\n Output from referenced project '/user/username/projects/myproject/projects/project1/tsconfig.json' included because '--module' is specified as 'none'", + "code": 6053, + "category": "error", + "relatedInformation": [ + { + "span": { + "start": { + "line": 8, + "offset": 5 + }, + "end": { + "line": 10, + "offset": 6 + }, + "file": "/user/username/projects/myproject/projects/project2/tsconfig.json" + }, + "message": "File is output from referenced project specified here.", + "category": "message", + "code": 1413 + } + ] + } + ] + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/projects/project2/tsconfig.json' (Configured) @@ -1020,6 +1101,17 @@ Info seq [hh:mm:ss:mss] Files (4) Matched by default include pattern '**/*' Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/projects/project2/tsconfig.json", + "configFile": "/user/username/projects/myproject/projects/project2/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/projects/project2/tsconfig.json' (Configured) diff --git a/tests/baselines/reference/tsserver/projectReferences/project-is-directly-referenced-by-solution.js b/tests/baselines/reference/tsserver/projectReferences/project-is-directly-referenced-by-solution.js index fe46d14cb15e7..155d86345f50b 100644 --- a/tests/baselines/reference/tsserver/projectReferences/project-is-directly-referenced-by-solution.js +++ b/tests/baselines/reference/tsserver/projectReferences/project-is-directly-referenced-by-solution.js @@ -201,6 +201,17 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/src/main.ts", + "configFile": "/user/username/projects/myproject/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/myproject/tsconfig-src.json Info seq [hh:mm:ss:mss] event: { @@ -305,6 +316,7 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig-src.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (0) @@ -372,8 +384,11 @@ ScriptInfos:: containingProjects: 1 /user/username/projects/myproject/tsconfig-src.json *default* -Info seq [hh:mm:ss:mss] getDefaultProject for /user/username/projects/myproject/src/main.ts: /user/username/projects/myproject/tsconfig-src.json -Info seq [hh:mm:ss:mss] findDefaultConfiguredProject for /user/username/projects/myproject/src/main.ts: /user/username/projects/myproject/tsconfig-src.json +Info seq [hh:mm:ss:mss] File: /user/username/projects/myproject/src/main.ts: + getDefaultProjectForFile: + /user/username/projects/myproject/tsconfig-src.json + findDefaultConfiguredProject: + /user/username/projects/myproject/tsconfig-src.json Before request Info seq [hh:mm:ss:mss] request: @@ -942,6 +957,17 @@ Info seq [hh:mm:ss:mss] event: "projectName": "/user/username/projects/myproject/tsconfig.json" } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/src/main.ts", + "configFile": "/user/username/projects/myproject/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/myproject/tsconfig-src.json Info seq [hh:mm:ss:mss] event: { @@ -1000,6 +1026,7 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig-src.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (0) @@ -1427,6 +1454,32 @@ Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.jso Info seq [hh:mm:ss:mss] Files (0) Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/tsconfig.json", + "configFile": "/user/username/projects/myproject/tsconfig.json", + "diagnostics": [ + { + "start": { + "line": 3, + "offset": 5 + }, + "end": { + "line": 5, + "offset": 6 + }, + "text": "File '/user/username/projects/myproject/tsconfig-src.json' not found.", + "code": 6053, + "category": "error", + "fileName": "/user/username/projects/myproject/tsconfig.json" + } + ] + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) @@ -1672,8 +1725,18 @@ Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.jso Info seq [hh:mm:ss:mss] Files (0) Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/tsconfig.json", + "configFile": "/user/username/projects/myproject/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/tsconfig-src.json -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/tsconfig-src.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -2098,7 +2161,6 @@ Info seq [hh:mm:ss:mss] Files (0) Info seq [hh:mm:ss:mss] ----------------------------------------------- Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/tsconfig-src.json -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/tsconfig-src.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -2279,7 +2341,6 @@ Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/pr Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -2287,7 +2348,7 @@ Info seq [hh:mm:ss:mss] event: "event": "projectLoadingStart", "body": { "projectName": "/user/username/projects/myproject/tsconfig.json", - "reason": "User requested reload projects" + "reason": "User requested reload projects: Creating possible configured project for /user/username/projects/myproject/src/main.ts to open" } } Info seq [hh:mm:ss:mss] Config: /user/username/projects/myproject/tsconfig.json : { @@ -2352,7 +2413,6 @@ Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/pr Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig-src.json WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig-src.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig-src.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/tsconfig-src.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -2360,7 +2420,7 @@ Info seq [hh:mm:ss:mss] event: "event": "projectLoadingStart", "body": { "projectName": "/user/username/projects/myproject/tsconfig-src.json", - "reason": "User requested reload projects" + "reason": "User requested reload projects: Creating project referenced in solution /user/username/projects/myproject/tsconfig.json to find possible configured project for /user/username/projects/myproject/src/main.ts to open" } } Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/projects/myproject/tsconfig-src.json @@ -2409,6 +2469,7 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig-src.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /dummy/dummy.ts ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) @@ -3330,6 +3391,17 @@ Info seq [hh:mm:ss:mss] event: "projectName": "/user/username/projects/myproject/tsconfig.json" } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/tsconfig.json", + "configFile": "/user/username/projects/myproject/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/myproject/tsconfig-src.json Info seq [hh:mm:ss:mss] event: { @@ -3376,6 +3448,17 @@ Info seq [hh:mm:ss:mss] event: "projectName": "/user/username/projects/myproject/tsconfig-src.json" } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/tsconfig-src.json", + "configFile": "/user/username/projects/myproject/tsconfig-src.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/src/main.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/src/main.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/src/helpers/functions.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json diff --git a/tests/baselines/reference/tsserver/projectReferences/project-is-indirectly-referenced-by-solution.js b/tests/baselines/reference/tsserver/projectReferences/project-is-indirectly-referenced-by-solution.js index 6d5deb4df7cc2..8910fd9c1ffd1 100644 --- a/tests/baselines/reference/tsserver/projectReferences/project-is-indirectly-referenced-by-solution.js +++ b/tests/baselines/reference/tsserver/projectReferences/project-is-indirectly-referenced-by-solution.js @@ -288,6 +288,17 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/src/main.ts", + "configFile": "/user/username/projects/myproject/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/myproject/tsconfig-src.json Info seq [hh:mm:ss:mss] event: { @@ -392,6 +403,7 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig-src.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (0) @@ -463,8 +475,11 @@ ScriptInfos:: containingProjects: 1 /user/username/projects/myproject/tsconfig-src.json *default* -Info seq [hh:mm:ss:mss] getDefaultProject for /user/username/projects/myproject/src/main.ts: /user/username/projects/myproject/tsconfig-src.json -Info seq [hh:mm:ss:mss] findDefaultConfiguredProject for /user/username/projects/myproject/src/main.ts: /user/username/projects/myproject/tsconfig-src.json +Info seq [hh:mm:ss:mss] File: /user/username/projects/myproject/src/main.ts: + getDefaultProjectForFile: + /user/username/projects/myproject/tsconfig-src.json + findDefaultConfiguredProject: + /user/username/projects/myproject/tsconfig-src.json Before request Info seq [hh:mm:ss:mss] request: @@ -1087,6 +1102,17 @@ Info seq [hh:mm:ss:mss] event: "projectName": "/user/username/projects/myproject/tsconfig.json" } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/src/main.ts", + "configFile": "/user/username/projects/myproject/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/myproject/tsconfig-src.json Info seq [hh:mm:ss:mss] event: { @@ -1145,6 +1171,7 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig-src.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (0) @@ -1590,6 +1617,46 @@ Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.jso Info seq [hh:mm:ss:mss] Files (0) Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/tsconfig.json", + "configFile": "/user/username/projects/myproject/tsconfig.json", + "diagnostics": [ + { + "start": { + "line": 11, + "offset": 5 + }, + "end": { + "line": 13, + "offset": 6 + }, + "text": "File '/user/username/projects/myproject/tsconfig-src.json' not found.", + "code": 6053, + "category": "error", + "fileName": "/user/username/projects/myproject/tsconfig-indirect1.json" + }, + { + "start": { + "line": 11, + "offset": 5 + }, + "end": { + "line": 13, + "offset": 6 + }, + "text": "File '/user/username/projects/myproject/tsconfig-src.json' not found.", + "code": 6053, + "category": "error", + "fileName": "/user/username/projects/myproject/tsconfig-indirect2.json" + } + ] + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) @@ -1839,8 +1906,18 @@ Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.jso Info seq [hh:mm:ss:mss] Files (0) Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/tsconfig.json", + "configFile": "/user/username/projects/myproject/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/tsconfig-src.json -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/tsconfig-src.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -2273,7 +2350,6 @@ Info seq [hh:mm:ss:mss] Files (0) Info seq [hh:mm:ss:mss] ----------------------------------------------- Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/tsconfig-src.json -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/tsconfig-src.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -2458,7 +2534,6 @@ Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/pr Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -2466,7 +2541,7 @@ Info seq [hh:mm:ss:mss] event: "event": "projectLoadingStart", "body": { "projectName": "/user/username/projects/myproject/tsconfig.json", - "reason": "User requested reload projects" + "reason": "User requested reload projects: Creating possible configured project for /user/username/projects/myproject/src/main.ts to open" } } Info seq [hh:mm:ss:mss] Config: /user/username/projects/myproject/tsconfig.json : { @@ -2569,7 +2644,6 @@ Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/pr Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig-src.json WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig-src.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig-src.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/tsconfig-src.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -2577,7 +2651,7 @@ Info seq [hh:mm:ss:mss] event: "event": "projectLoadingStart", "body": { "projectName": "/user/username/projects/myproject/tsconfig-src.json", - "reason": "User requested reload projects" + "reason": "User requested reload projects: Creating project referenced in solution /user/username/projects/myproject/tsconfig.json to find possible configured project for /user/username/projects/myproject/src/main.ts to open" } } Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/projects/myproject/tsconfig-src.json @@ -2626,6 +2700,7 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig-src.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /dummy/dummy.ts ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) @@ -2865,6 +2940,17 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/tsconfig-indirect1.json", + "configFile": "/user/username/projects/myproject/tsconfig-indirect1.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/myproject/tsconfig-indirect2.json Info seq [hh:mm:ss:mss] event: { @@ -2960,6 +3046,17 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/tsconfig-indirect2.json", + "configFile": "/user/username/projects/myproject/tsconfig-indirect2.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/target/src/helpers/functions.d.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/target/src/helpers/functions.d.ts.map 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] Finding references to /user/username/projects/myproject/src/helpers/functions.ts position 13 in project /user/username/projects/myproject/tsconfig-indirect1.json @@ -4103,6 +4200,17 @@ Info seq [hh:mm:ss:mss] event: "projectName": "/user/username/projects/myproject/tsconfig.json" } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/tsconfig.json", + "configFile": "/user/username/projects/myproject/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/myproject/tsconfig-src.json Info seq [hh:mm:ss:mss] event: { @@ -4149,6 +4257,17 @@ Info seq [hh:mm:ss:mss] event: "projectName": "/user/username/projects/myproject/tsconfig-src.json" } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/tsconfig-src.json", + "configFile": "/user/username/projects/myproject/tsconfig-src.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/src/main.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/src/main.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/src/helpers/functions.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json @@ -4204,6 +4323,17 @@ Info seq [hh:mm:ss:mss] event: "projectName": "/user/username/projects/myproject/tsconfig-indirect1.json" } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/tsconfig-indirect1.json", + "configFile": "/user/username/projects/myproject/tsconfig-indirect1.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/myproject/tsconfig-indirect2.json Info seq [hh:mm:ss:mss] event: { @@ -4254,6 +4384,17 @@ Info seq [hh:mm:ss:mss] event: "projectName": "/user/username/projects/myproject/tsconfig-indirect2.json" } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/tsconfig-indirect2.json", + "configFile": "/user/username/projects/myproject/tsconfig-indirect2.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Finding references to /user/username/projects/myproject/src/helpers/functions.ts position 13 in project /user/username/projects/myproject/tsconfig-indirect1.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/src/helpers/functions.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/src/helpers/functions.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json diff --git a/tests/baselines/reference/tsserver/projectReferences/root-file-is-file-from-referenced-project-and-using-declaration-maps.js b/tests/baselines/reference/tsserver/projectReferences/root-file-is-file-from-referenced-project-and-using-declaration-maps.js index d407fa9788ec7..e3d3dc87e56a9 100644 --- a/tests/baselines/reference/tsserver/projectReferences/root-file-is-file-from-referenced-project-and-using-declaration-maps.js +++ b/tests/baselines/reference/tsserver/projectReferences/root-file-is-file-from-referenced-project-and-using-declaration-maps.js @@ -103,7 +103,7 @@ export {}; //# sourceMappingURL=keyboard.test.d.ts.map //// [/user/username/projects/project/out/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../src/common/input/keyboard.ts","../src/common/input/keyboard.test.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-15187822601-function bar() { return \"just a random function so .d.ts location doesnt match\"; }\nexport function evaluateKeyboardEvent() { }","signature":"-14411843863-export declare function evaluateKeyboardEvent(): void;\n","impliedFormat":1},{"version":"-7258701250-import { evaluateKeyboardEvent } from 'common/input/keyboard';\nfunction testEvaluateKeyboardEvent() {\n return evaluateKeyboardEvent();\n}\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"declarationMap":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,3,2],"latestChangedDtsFile":"./input/keyboard.test.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../src/common/input/keyboard.ts","../src/common/input/keyboard.test.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-15187822601-function bar() { return \"just a random function so .d.ts location doesnt match\"; }\nexport function evaluateKeyboardEvent() { }","signature":"-14411843863-export declare function evaluateKeyboardEvent(): void;\n","impliedFormat":1},{"version":"-7258701250-import { evaluateKeyboardEvent } from 'common/input/keyboard';\nfunction testEvaluateKeyboardEvent() {\n return evaluateKeyboardEvent();\n}\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"declarationMap":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./input/keyboard.test.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/project/out/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -171,15 +171,10 @@ export {}; "../src/common/input/keyboard.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../src/common/input/keyboard.test.ts", - "../src/common/input/keyboard.ts" - ], "latestChangedDtsFile": "./input/keyboard.test.d.ts" }, "version": "FakeTSVersion", - "size": 1287 + "size": 1250 } //// [/user/username/projects/project/out/terminal.js] @@ -198,24 +193,8 @@ function foo() { export {}; //# sourceMappingURL=terminal.d.ts.map -//// [/user/username/projects/project/out/common/input/keyboard.test.js] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var keyboard_1 = require("common/input/keyboard"); -function testEvaluateKeyboardEvent() { - return (0, keyboard_1.evaluateKeyboardEvent)(); -} - - -//// [/user/username/projects/project/out/common/input/keyboard.test.d.ts.map] -{"version":3,"file":"keyboard.test.d.ts","sourceRoot":"","sources":["../../../src/common/input/keyboard.test.ts"],"names":[],"mappings":""} - -//// [/user/username/projects/project/out/common/input/keyboard.test.d.ts] -export {}; -//# sourceMappingURL=keyboard.test.d.ts.map - //// [/user/username/projects/project/out/src.tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./input/keyboard.d.ts","../src/terminal.ts","../src/common/input/keyboard.test.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14411843863-export declare function evaluateKeyboardEvent(): void;\n","impliedFormat":1},{"version":"-9992649704-import { evaluateKeyboardEvent } from 'common/input/keyboard';\nfunction foo() {\n return evaluateKeyboardEvent();\n}\n","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-7258701250-import { evaluateKeyboardEvent } from 'common/input/keyboard';\nfunction testEvaluateKeyboardEvent() {\n return evaluateKeyboardEvent();\n}\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declarationMap":true,"outDir":"./","tsBuildInfoFile":"./src.tsconfig.tsbuildinfo"},"fileIdsList":[[2]],"referencedMap":[[4,1],[3,1]],"semanticDiagnosticsPerFile":[1,2,4,3],"latestChangedDtsFile":"./common/input/keyboard.test.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./input/keyboard.d.ts","../src/terminal.ts","./input/keyboard.test.d.ts","../src/common/input/keyboard.test.ts","../src/common/input/keyboard.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14411843863-export declare function evaluateKeyboardEvent(): void;\n","impliedFormat":1},{"version":"-9992649704-import { evaluateKeyboardEvent } from 'common/input/keyboard';\nfunction foo() {\n return evaluateKeyboardEvent();\n}\n","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"resolvedRoot":[[4,5],[2,6]],"options":{"composite":true,"declarationMap":true,"outDir":"./","tsBuildInfoFile":"./src.tsconfig.tsbuildinfo"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./terminal.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/project/out/src.tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -224,7 +203,9 @@ export {}; "../../../../../a/lib/lib.d.ts", "./input/keyboard.d.ts", "../src/terminal.ts", - "../src/common/input/keyboard.test.ts" + "./input/keyboard.test.d.ts", + "../src/common/input/keyboard.test.ts", + "../src/common/input/keyboard.ts" ], "fileNamesList": [ [ @@ -262,13 +243,12 @@ export {}; "signature": "-3531856636-export {};\n", "impliedFormat": "commonjs" }, - "../src/common/input/keyboard.test.ts": { + "./input/keyboard.test.d.ts": { "original": { - "version": "-7258701250-import { evaluateKeyboardEvent } from 'common/input/keyboard';\nfunction testEvaluateKeyboardEvent() {\n return evaluateKeyboardEvent();\n}\n", - "signature": "-3531856636-export {};\n", + "version": "-3531856636-export {};\n", "impliedFormat": 1 }, - "version": "-7258701250-import { evaluateKeyboardEvent } from 'common/input/keyboard';\nfunction testEvaluateKeyboardEvent() {\n return evaluateKeyboardEvent();\n}\n", + "version": "-3531856636-export {};\n", "signature": "-3531856636-export {};\n", "impliedFormat": "commonjs" } @@ -282,8 +262,30 @@ export {}; [ "./input/keyboard.d.ts", "../src/terminal.ts", + "./input/keyboard.test.d.ts" + ] + ] + ], + "resolvedRoot": [ + [ + [ + 4, + 5 + ], + [ + "./input/keyboard.test.d.ts", "../src/common/input/keyboard.test.ts" ] + ], + [ + [ + 2, + 6 + ], + [ + "./input/keyboard.d.ts", + "../src/common/input/keyboard.ts" + ] ] ], "options": { @@ -293,23 +295,14 @@ export {}; "tsBuildInfoFile": "./src.tsconfig.tsbuildinfo" }, "referencedMap": { - "../src/common/input/keyboard.test.ts": [ - "./input/keyboard.d.ts" - ], "../src/terminal.ts": [ "./input/keyboard.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./input/keyboard.d.ts", - "../src/common/input/keyboard.test.ts", - "../src/terminal.ts" - ], - "latestChangedDtsFile": "./common/input/keyboard.test.d.ts" + "latestChangedDtsFile": "./terminal.d.ts" }, "version": "FakeTSVersion", - "size": 1411 + "size": 1269 } @@ -541,7 +534,6 @@ Info seq [hh:mm:ss:mss] request: "type": "request" } Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/project/src/terminal.ts ProjectRootPath: undefined:: Result: /user/username/projects/project/src/tsconfig.json -Info seq [hh:mm:ss:mss] Loading configured project /user/username/projects/project/src/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -584,13 +576,12 @@ Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/pr Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/project/src 1 undefined Config: /user/username/projects/project/src/tsconfig.json WatchType: Wild card directory Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/projects/project/src/tsconfig.json Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/project/out/input/keyboard.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/project/out/input/keyboard.test.d.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/project/out/input/package.json 2000 undefined Project: /user/username/projects/project/src/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/project/out/package.json 2000 undefined Project: /user/username/projects/project/src/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/project/package.json 2000 undefined Project: /user/username/projects/project/src/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/package.json 2000 undefined Project: /user/username/projects/project/src/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/project/src/package.json 2000 undefined Project: /user/username/projects/project/src/tsconfig.json WatchType: File location affecting resolution -Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/project/src/common/input/package.json 2000 undefined Project: /user/username/projects/project/src/tsconfig.json WatchType: File location affecting resolution -Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/project/src/common/package.json 2000 undefined Project: /user/username/projects/project/src/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/project/src/node_modules/@types 1 undefined Project: /user/username/projects/project/src/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/project/src/node_modules/@types 1 undefined Project: /user/username/projects/project/src/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/project/node_modules/@types 1 undefined Project: /user/username/projects/project/src/tsconfig.json WatchType: Type roots @@ -603,20 +594,20 @@ Info seq [hh:mm:ss:mss] Files (4) /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" /user/username/projects/project/out/input/keyboard.d.ts Text-1 "export declare function evaluateKeyboardEvent(): void;\n//# sourceMappingURL=keyboard.d.ts.map" /user/username/projects/project/src/terminal.ts SVC-1-0 "import { evaluateKeyboardEvent } from 'common/input/keyboard';\nfunction foo() {\n return evaluateKeyboardEvent();\n}\n" - /user/username/projects/project/src/common/input/keyboard.test.ts Text-1 "import { evaluateKeyboardEvent } from 'common/input/keyboard';\nfunction testEvaluateKeyboardEvent() {\n return evaluateKeyboardEvent();\n}\n" + /user/username/projects/project/out/input/keyboard.test.d.ts Text-1 "export {};\n//# sourceMappingURL=keyboard.test.d.ts.map" ../../../../../a/lib/lib.d.ts Default library for target 'es5' ../out/input/keyboard.d.ts Imported via 'common/input/keyboard' from file 'terminal.ts' - Imported via 'common/input/keyboard' from file 'common/input/keyboard.test.ts' Matched by include pattern './**/*' in 'tsconfig.json' File is output of project reference source 'common/input/keyboard.ts' terminal.ts Matched by include pattern './**/*' in 'tsconfig.json' - common/input/keyboard.test.ts + ../out/input/keyboard.test.d.ts Matched by include pattern './**/*' in 'tsconfig.json' + File is output of project reference source 'common/input/keyboard.test.ts' Info seq [hh:mm:ss:mss] ----------------------------------------------- Info seq [hh:mm:ss:mss] event: @@ -642,12 +633,12 @@ Info seq [hh:mm:ss:mss] event: "jsSize": 0, "jsx": 0, "jsxSize": 0, - "ts": 2, - "tsSize": 258, + "ts": 1, + "tsSize": 118, "tsx": 0, "tsxSize": 0, - "dts": 2, - "dtsSize": 427, + "dts": 3, + "dtsSize": 481, "deferred": 0, "deferredSize": 0 }, @@ -683,7 +674,7 @@ Info seq [hh:mm:ss:mss] event: "type": "event", "event": "configFileDiag", "body": { - "triggerFile": "/user/username/projects/project/src/tsconfig.json", + "triggerFile": "/user/username/projects/project/src/terminal.ts", "configFile": "/user/username/projects/project/src/tsconfig.json", "diagnostics": [] } @@ -699,7 +690,7 @@ Info seq [hh:mm:ss:mss] Files (4) Info seq [hh:mm:ss:mss] ----------------------------------------------- Info seq [hh:mm:ss:mss] Open files: Info seq [hh:mm:ss:mss] FileName: /user/username/projects/project/src/common/input/keyboard.ts ProjectRootPath: undefined -Info seq [hh:mm:ss:mss] Projects: /user/username/projects/project/src/common/tsconfig.json,/user/username/projects/project/src/tsconfig.json +Info seq [hh:mm:ss:mss] Projects: /user/username/projects/project/src/common/tsconfig.json Info seq [hh:mm:ss:mss] FileName: /user/username/projects/project/src/terminal.ts ProjectRootPath: undefined Info seq [hh:mm:ss:mss] Projects: /user/username/projects/project/src/tsconfig.json Info seq [hh:mm:ss:mss] response: @@ -737,6 +728,8 @@ FsWatches:: {} /user/username/projects/project/out/input/keyboard.d.ts: *new* {} +/user/username/projects/project/out/input/keyboard.test.d.ts: *new* + {} /user/username/projects/project/src/common/input/keyboard.test.ts: {} /user/username/projects/project/src/common/tsconfig.json: @@ -769,16 +762,18 @@ ScriptInfos:: version: Text-1 containingProjects: 1 /user/username/projects/project/src/tsconfig.json -/user/username/projects/project/src/common/input/keyboard.test.ts *changed* +/user/username/projects/project/out/input/keyboard.test.d.ts *new* version: Text-1 - containingProjects: 2 *changed* + containingProjects: 1 + /user/username/projects/project/src/tsconfig.json +/user/username/projects/project/src/common/input/keyboard.test.ts + version: Text-1 + containingProjects: 1 /user/username/projects/project/src/common/tsconfig.json - /user/username/projects/project/src/tsconfig.json *new* -/user/username/projects/project/src/common/input/keyboard.ts (Open) *changed* +/user/username/projects/project/src/common/input/keyboard.ts (Open) version: SVC-1-0 - containingProjects: 2 *changed* + containingProjects: 1 /user/username/projects/project/src/common/tsconfig.json *default* - /user/username/projects/project/src/tsconfig.json *new* /user/username/projects/project/src/terminal.ts (Open) *new* version: SVC-1-0 containingProjects: 1 @@ -938,6 +933,8 @@ FsWatches:: {} /user/username/projects/project/out/input/keyboard.d.ts.map: *new* {} +/user/username/projects/project/out/input/keyboard.test.d.ts: + {} /user/username/projects/project/src/common/input/keyboard.test.ts: {} /user/username/projects/project/src/common/tsconfig.json: @@ -962,9 +959,8 @@ Projects:: projectProgramVersion: 1 documentPositionMappers: 1 *changed* /user/username/projects/project/out/input/keyboard.d.ts: DocumentPositionMapper1 *new* - originalConfiguredProjects: 2 *changed* + originalConfiguredProjects: 1 *changed* /user/username/projects/project/src/common/tsconfig.json *new* - /user/username/projects/project/src/tsconfig.json *new* ScriptInfos:: /a/lib/lib.d.ts @@ -984,16 +980,18 @@ ScriptInfos:: /user/username/projects/project/src/common/input/keyboard.ts documentPositionMapper: DocumentPositionMapper1 containingProjects: 0 +/user/username/projects/project/out/input/keyboard.test.d.ts + version: Text-1 + containingProjects: 1 + /user/username/projects/project/src/tsconfig.json /user/username/projects/project/src/common/input/keyboard.test.ts version: Text-1 - containingProjects: 2 + containingProjects: 1 /user/username/projects/project/src/common/tsconfig.json - /user/username/projects/project/src/tsconfig.json /user/username/projects/project/src/common/input/keyboard.ts (Open) version: SVC-1-0 - containingProjects: 2 + containingProjects: 1 /user/username/projects/project/src/common/tsconfig.json *default* - /user/username/projects/project/src/tsconfig.json /user/username/projects/project/src/terminal.ts (Open) version: SVC-1-0 containingProjects: 1 diff --git a/tests/baselines/reference/tsserver/projectReferences/root-file-is-file-from-referenced-project.js b/tests/baselines/reference/tsserver/projectReferences/root-file-is-file-from-referenced-project.js index 954dd33633330..234a49b0725c1 100644 --- a/tests/baselines/reference/tsserver/projectReferences/root-file-is-file-from-referenced-project.js +++ b/tests/baselines/reference/tsserver/projectReferences/root-file-is-file-from-referenced-project.js @@ -103,7 +103,7 @@ export {}; //# sourceMappingURL=keyboard.test.d.ts.map //// [/user/username/projects/project/out/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../src/common/input/keyboard.ts","../src/common/input/keyboard.test.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-15187822601-function bar() { return \"just a random function so .d.ts location doesnt match\"; }\nexport function evaluateKeyboardEvent() { }","signature":"-14411843863-export declare function evaluateKeyboardEvent(): void;\n","impliedFormat":1},{"version":"-7258701250-import { evaluateKeyboardEvent } from 'common/input/keyboard';\nfunction testEvaluateKeyboardEvent() {\n return evaluateKeyboardEvent();\n}\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"declarationMap":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,3,2],"latestChangedDtsFile":"./input/keyboard.test.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../src/common/input/keyboard.ts","../src/common/input/keyboard.test.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-15187822601-function bar() { return \"just a random function so .d.ts location doesnt match\"; }\nexport function evaluateKeyboardEvent() { }","signature":"-14411843863-export declare function evaluateKeyboardEvent(): void;\n","impliedFormat":1},{"version":"-7258701250-import { evaluateKeyboardEvent } from 'common/input/keyboard';\nfunction testEvaluateKeyboardEvent() {\n return evaluateKeyboardEvent();\n}\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[2,3],"options":{"composite":true,"declarationMap":true,"outDir":"./"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./input/keyboard.test.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/project/out/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -171,15 +171,10 @@ export {}; "../src/common/input/keyboard.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../src/common/input/keyboard.test.ts", - "../src/common/input/keyboard.ts" - ], "latestChangedDtsFile": "./input/keyboard.test.d.ts" }, "version": "FakeTSVersion", - "size": 1287 + "size": 1250 } //// [/user/username/projects/project/out/terminal.js] @@ -198,24 +193,8 @@ function foo() { export {}; //# sourceMappingURL=terminal.d.ts.map -//// [/user/username/projects/project/out/common/input/keyboard.test.js] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var keyboard_1 = require("common/input/keyboard"); -function testEvaluateKeyboardEvent() { - return (0, keyboard_1.evaluateKeyboardEvent)(); -} - - -//// [/user/username/projects/project/out/common/input/keyboard.test.d.ts.map] -{"version":3,"file":"keyboard.test.d.ts","sourceRoot":"","sources":["../../../src/common/input/keyboard.test.ts"],"names":[],"mappings":""} - -//// [/user/username/projects/project/out/common/input/keyboard.test.d.ts] -export {}; -//# sourceMappingURL=keyboard.test.d.ts.map - //// [/user/username/projects/project/out/src.tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./input/keyboard.d.ts","../src/terminal.ts","../src/common/input/keyboard.test.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14411843863-export declare function evaluateKeyboardEvent(): void;\n","impliedFormat":1},{"version":"-9992649704-import { evaluateKeyboardEvent } from 'common/input/keyboard';\nfunction foo() {\n return evaluateKeyboardEvent();\n}\n","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-7258701250-import { evaluateKeyboardEvent } from 'common/input/keyboard';\nfunction testEvaluateKeyboardEvent() {\n return evaluateKeyboardEvent();\n}\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"declarationMap":true,"outDir":"./","tsBuildInfoFile":"./src.tsconfig.tsbuildinfo"},"fileIdsList":[[2]],"referencedMap":[[4,1],[3,1]],"semanticDiagnosticsPerFile":[1,2,4,3],"latestChangedDtsFile":"./common/input/keyboard.test.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./input/keyboard.d.ts","../src/terminal.ts","./input/keyboard.test.d.ts","../src/common/input/keyboard.test.ts","../src/common/input/keyboard.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-14411843863-export declare function evaluateKeyboardEvent(): void;\n","impliedFormat":1},{"version":"-9992649704-import { evaluateKeyboardEvent } from 'common/input/keyboard';\nfunction foo() {\n return evaluateKeyboardEvent();\n}\n","signature":"-3531856636-export {};\n","impliedFormat":1},{"version":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"resolvedRoot":[[4,5],[2,6]],"options":{"composite":true,"declarationMap":true,"outDir":"./","tsBuildInfoFile":"./src.tsconfig.tsbuildinfo"},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./terminal.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/project/out/src.tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -224,7 +203,9 @@ export {}; "../../../../../a/lib/lib.d.ts", "./input/keyboard.d.ts", "../src/terminal.ts", - "../src/common/input/keyboard.test.ts" + "./input/keyboard.test.d.ts", + "../src/common/input/keyboard.test.ts", + "../src/common/input/keyboard.ts" ], "fileNamesList": [ [ @@ -262,13 +243,12 @@ export {}; "signature": "-3531856636-export {};\n", "impliedFormat": "commonjs" }, - "../src/common/input/keyboard.test.ts": { + "./input/keyboard.test.d.ts": { "original": { - "version": "-7258701250-import { evaluateKeyboardEvent } from 'common/input/keyboard';\nfunction testEvaluateKeyboardEvent() {\n return evaluateKeyboardEvent();\n}\n", - "signature": "-3531856636-export {};\n", + "version": "-3531856636-export {};\n", "impliedFormat": 1 }, - "version": "-7258701250-import { evaluateKeyboardEvent } from 'common/input/keyboard';\nfunction testEvaluateKeyboardEvent() {\n return evaluateKeyboardEvent();\n}\n", + "version": "-3531856636-export {};\n", "signature": "-3531856636-export {};\n", "impliedFormat": "commonjs" } @@ -282,8 +262,30 @@ export {}; [ "./input/keyboard.d.ts", "../src/terminal.ts", + "./input/keyboard.test.d.ts" + ] + ] + ], + "resolvedRoot": [ + [ + [ + 4, + 5 + ], + [ + "./input/keyboard.test.d.ts", "../src/common/input/keyboard.test.ts" ] + ], + [ + [ + 2, + 6 + ], + [ + "./input/keyboard.d.ts", + "../src/common/input/keyboard.ts" + ] ] ], "options": { @@ -293,23 +295,14 @@ export {}; "tsBuildInfoFile": "./src.tsconfig.tsbuildinfo" }, "referencedMap": { - "../src/common/input/keyboard.test.ts": [ - "./input/keyboard.d.ts" - ], "../src/terminal.ts": [ "./input/keyboard.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./input/keyboard.d.ts", - "../src/common/input/keyboard.test.ts", - "../src/terminal.ts" - ], - "latestChangedDtsFile": "./common/input/keyboard.test.d.ts" + "latestChangedDtsFile": "./terminal.d.ts" }, "version": "FakeTSVersion", - "size": 1411 + "size": 1269 } @@ -541,7 +534,6 @@ Info seq [hh:mm:ss:mss] request: "type": "request" } Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/project/src/terminal.ts ProjectRootPath: undefined:: Result: /user/username/projects/project/src/tsconfig.json -Info seq [hh:mm:ss:mss] Loading configured project /user/username/projects/project/src/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -679,7 +671,7 @@ Info seq [hh:mm:ss:mss] event: "type": "event", "event": "configFileDiag", "body": { - "triggerFile": "/user/username/projects/project/src/tsconfig.json", + "triggerFile": "/user/username/projects/project/src/terminal.ts", "configFile": "/user/username/projects/project/src/tsconfig.json", "diagnostics": [] } diff --git a/tests/baselines/reference/tsserver/projectReferences/solution-with-its-own-files-and-disables-looking-into-the-child-project-if-disableReferencedProjectLoad-is-set-in-first-indirect-project-but-not-in-another-one.js b/tests/baselines/reference/tsserver/projectReferences/solution-with-its-own-files-and-disables-looking-into-the-child-project-if-disableReferencedProjectLoad-is-set-in-first-indirect-project-but-not-in-another-one.js index 49072818aeedd..1384af654eb97 100644 --- a/tests/baselines/reference/tsserver/projectReferences/solution-with-its-own-files-and-disables-looking-into-the-child-project-if-disableReferencedProjectLoad-is-set-in-first-indirect-project-but-not-in-another-one.js +++ b/tests/baselines/reference/tsserver/projectReferences/solution-with-its-own-files-and-disables-looking-into-the-child-project-if-disableReferencedProjectLoad-is-set-in-first-indirect-project-but-not-in-another-one.js @@ -334,6 +334,17 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/src/main.ts", + "configFile": "/user/username/projects/myproject/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/myproject/tsconfig-src.json Info seq [hh:mm:ss:mss] event: { @@ -436,6 +447,7 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig-src.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (5) @@ -526,8 +538,11 @@ ScriptInfos:: /user/username/projects/myproject/tsconfig.json /user/username/projects/myproject/tsconfig-src.json *default* -Info seq [hh:mm:ss:mss] getDefaultProject for /user/username/projects/myproject/src/main.ts: /user/username/projects/myproject/tsconfig-src.json -Info seq [hh:mm:ss:mss] findDefaultConfiguredProject for /user/username/projects/myproject/src/main.ts: /user/username/projects/myproject/tsconfig-src.json +Info seq [hh:mm:ss:mss] File: /user/username/projects/myproject/src/main.ts: + getDefaultProjectForFile: + /user/username/projects/myproject/tsconfig-src.json + findDefaultConfiguredProject: + /user/username/projects/myproject/tsconfig-src.json Before request Info seq [hh:mm:ss:mss] request: @@ -1189,6 +1204,17 @@ Info seq [hh:mm:ss:mss] event: "projectName": "/user/username/projects/myproject/tsconfig.json" } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/src/main.ts", + "configFile": "/user/username/projects/myproject/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/myproject/tsconfig-src.json Info seq [hh:mm:ss:mss] event: { @@ -1246,6 +1272,7 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig-src.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (5) @@ -1382,7 +1409,6 @@ Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/pr Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -1390,7 +1416,7 @@ Info seq [hh:mm:ss:mss] event: "event": "projectLoadingStart", "body": { "projectName": "/user/username/projects/myproject/tsconfig.json", - "reason": "User requested reload projects" + "reason": "User requested reload projects: Creating possible configured project for /user/username/projects/myproject/src/main.ts to open" } } Info seq [hh:mm:ss:mss] Config: /user/username/projects/myproject/tsconfig.json : { @@ -1521,7 +1547,6 @@ Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/pr Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig-src.json WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig-src.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig-src.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/tsconfig-src.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -1529,7 +1554,7 @@ Info seq [hh:mm:ss:mss] event: "event": "projectLoadingStart", "body": { "projectName": "/user/username/projects/myproject/tsconfig-src.json", - "reason": "User requested reload projects" + "reason": "User requested reload projects: Creating project referenced in solution /user/username/projects/myproject/tsconfig.json to find possible configured project for /user/username/projects/myproject/src/main.ts to open" } } Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/projects/myproject/tsconfig-src.json @@ -1578,6 +1603,7 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig-src.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (5) diff --git a/tests/baselines/reference/tsserver/projectReferences/solution-with-its-own-files-and-disables-looking-into-the-child-project-if-disableReferencedProjectLoad-is-set-in-indirect-project.js b/tests/baselines/reference/tsserver/projectReferences/solution-with-its-own-files-and-disables-looking-into-the-child-project-if-disableReferencedProjectLoad-is-set-in-indirect-project.js index 0d557deb9c753..457b4a6ae23d4 100644 --- a/tests/baselines/reference/tsserver/projectReferences/solution-with-its-own-files-and-disables-looking-into-the-child-project-if-disableReferencedProjectLoad-is-set-in-indirect-project.js +++ b/tests/baselines/reference/tsserver/projectReferences/solution-with-its-own-files-and-disables-looking-into-the-child-project-if-disableReferencedProjectLoad-is-set-in-indirect-project.js @@ -287,6 +287,17 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/src/main.ts", + "configFile": "/user/username/projects/myproject/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/myproject/tsconfig-indirect1.json Info seq [hh:mm:ss:mss] event: { @@ -389,7 +400,7 @@ Info seq [hh:mm:ss:mss] event: "event": "configFileDiag", "body": { "triggerFile": "/user/username/projects/myproject/src/main.ts", - "configFile": "/user/username/projects/myproject/tsconfig.json", + "configFile": "/user/username/projects/myproject/tsconfig-indirect1.json", "diagnostics": [] } } @@ -482,8 +493,11 @@ ScriptInfos:: /user/username/projects/myproject/tsconfig.json *default* /user/username/projects/myproject/tsconfig-indirect1.json -Info seq [hh:mm:ss:mss] getDefaultProject for /user/username/projects/myproject/src/main.ts: /user/username/projects/myproject/tsconfig.json -Info seq [hh:mm:ss:mss] findDefaultConfiguredProject for /user/username/projects/myproject/src/main.ts: undefined +Info seq [hh:mm:ss:mss] File: /user/username/projects/myproject/src/main.ts: + getDefaultProjectForFile: + /user/username/projects/myproject/tsconfig.json + findDefaultConfiguredProject: + /user/username/projects/myproject/tsconfig.json Before request Info seq [hh:mm:ss:mss] request: @@ -1123,6 +1137,17 @@ Info seq [hh:mm:ss:mss] event: "projectName": "/user/username/projects/myproject/tsconfig.json" } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/src/main.ts", + "configFile": "/user/username/projects/myproject/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/myproject/tsconfig-indirect1.json Info seq [hh:mm:ss:mss] event: { @@ -1179,7 +1204,7 @@ Info seq [hh:mm:ss:mss] event: "event": "configFileDiag", "body": { "triggerFile": "/user/username/projects/myproject/src/main.ts", - "configFile": "/user/username/projects/myproject/tsconfig.json", + "configFile": "/user/username/projects/myproject/tsconfig-indirect1.json", "diagnostics": [] } } @@ -1319,7 +1344,6 @@ Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/pr Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -1327,7 +1351,7 @@ Info seq [hh:mm:ss:mss] event: "event": "projectLoadingStart", "body": { "projectName": "/user/username/projects/myproject/tsconfig.json", - "reason": "User requested reload projects" + "reason": "User requested reload projects: Creating possible configured project for /user/username/projects/myproject/src/main.ts to open" } } Info seq [hh:mm:ss:mss] Config: /user/username/projects/myproject/tsconfig.json : { @@ -1438,7 +1462,6 @@ Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/pr Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig-indirect1.json WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig-indirect1.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig-indirect1.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/tsconfig-indirect1.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -1446,7 +1469,7 @@ Info seq [hh:mm:ss:mss] event: "event": "projectLoadingStart", "body": { "projectName": "/user/username/projects/myproject/tsconfig-indirect1.json", - "reason": "User requested reload projects" + "reason": "User requested reload projects: Creating project referenced in solution /user/username/projects/myproject/tsconfig.json to find possible configured project for /user/username/projects/myproject/src/main.ts to open" } } Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/projects/myproject/tsconfig-indirect1.json diff --git a/tests/baselines/reference/tsserver/projectReferences/solution-with-its-own-files-and-disables-looking-into-the-child-project-if-disableReferencedProjectLoad-is-set.js b/tests/baselines/reference/tsserver/projectReferences/solution-with-its-own-files-and-disables-looking-into-the-child-project-if-disableReferencedProjectLoad-is-set.js index 99cd4c3b7e1f5..6b544db0aa10b 100644 --- a/tests/baselines/reference/tsserver/projectReferences/solution-with-its-own-files-and-disables-looking-into-the-child-project-if-disableReferencedProjectLoad-is-set.js +++ b/tests/baselines/reference/tsserver/projectReferences/solution-with-its-own-files-and-disables-looking-into-the-child-project-if-disableReferencedProjectLoad-is-set.js @@ -323,8 +323,11 @@ ScriptInfos:: containingProjects: 1 /user/username/projects/myproject/tsconfig.json *default* -Info seq [hh:mm:ss:mss] getDefaultProject for /user/username/projects/myproject/src/main.ts: /user/username/projects/myproject/tsconfig.json -Info seq [hh:mm:ss:mss] findDefaultConfiguredProject for /user/username/projects/myproject/src/main.ts: undefined +Info seq [hh:mm:ss:mss] File: /user/username/projects/myproject/src/main.ts: + getDefaultProjectForFile: + /user/username/projects/myproject/tsconfig.json + findDefaultConfiguredProject: + /user/username/projects/myproject/tsconfig.json Before request Info seq [hh:mm:ss:mss] request: @@ -949,7 +952,6 @@ Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/pr Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -957,7 +959,7 @@ Info seq [hh:mm:ss:mss] event: "event": "projectLoadingStart", "body": { "projectName": "/user/username/projects/myproject/tsconfig.json", - "reason": "User requested reload projects" + "reason": "User requested reload projects: Creating possible configured project for /user/username/projects/myproject/src/main.ts to open" } } Info seq [hh:mm:ss:mss] Config: /user/username/projects/myproject/tsconfig.json : { diff --git a/tests/baselines/reference/tsserver/projectReferences/solution-with-its-own-files-and-project-found-is-not-solution-but-references-open-file-through-project-reference.js b/tests/baselines/reference/tsserver/projectReferences/solution-with-its-own-files-and-project-found-is-not-solution-but-references-open-file-through-project-reference.js index 5510cc362c5de..10992771a2981 100644 --- a/tests/baselines/reference/tsserver/projectReferences/solution-with-its-own-files-and-project-found-is-not-solution-but-references-open-file-through-project-reference.js +++ b/tests/baselines/reference/tsserver/projectReferences/solution-with-its-own-files-and-project-found-is-not-solution-but-references-open-file-through-project-reference.js @@ -241,6 +241,17 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/src/main.ts", + "configFile": "/user/username/projects/myproject/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/myproject/tsconfig-src.json Info seq [hh:mm:ss:mss] event: { @@ -343,6 +354,7 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig-src.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (4) @@ -421,8 +433,11 @@ ScriptInfos:: /user/username/projects/myproject/tsconfig.json /user/username/projects/myproject/tsconfig-src.json *default* -Info seq [hh:mm:ss:mss] getDefaultProject for /user/username/projects/myproject/src/main.ts: /user/username/projects/myproject/tsconfig-src.json -Info seq [hh:mm:ss:mss] findDefaultConfiguredProject for /user/username/projects/myproject/src/main.ts: /user/username/projects/myproject/tsconfig-src.json +Info seq [hh:mm:ss:mss] File: /user/username/projects/myproject/src/main.ts: + getDefaultProjectForFile: + /user/username/projects/myproject/tsconfig-src.json + findDefaultConfiguredProject: + /user/username/projects/myproject/tsconfig-src.json Before request Info seq [hh:mm:ss:mss] request: @@ -1074,6 +1089,17 @@ Info seq [hh:mm:ss:mss] event: "projectName": "/user/username/projects/myproject/tsconfig.json" } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/src/main.ts", + "configFile": "/user/username/projects/myproject/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/myproject/tsconfig-src.json Info seq [hh:mm:ss:mss] event: { @@ -1131,6 +1157,7 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig-src.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (4) @@ -1607,6 +1634,32 @@ Info seq [hh:mm:ss:mss] Files (4) /user/username/projects/myproject/own/main.ts Text-2 "import { foo } from 'main';\nfoo;\nexport function bar() {}" Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/tsconfig.json", + "configFile": "/user/username/projects/myproject/tsconfig.json", + "diagnostics": [ + { + "start": { + "line": 7, + "offset": 5 + }, + "end": { + "line": 9, + "offset": 6 + }, + "text": "File '/user/username/projects/myproject/tsconfig-src.json' not found.", + "code": 6053, + "category": "error", + "fileName": "/user/username/projects/myproject/tsconfig.json" + } + ] + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) @@ -1807,8 +1860,18 @@ Info seq [hh:mm:ss:mss] Files (4) /user/username/projects/myproject/own/main.ts Text-2 "import { foo } from 'main';\nfoo;\nexport function bar() {}" Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/tsconfig.json", + "configFile": "/user/username/projects/myproject/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/tsconfig-src.json -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/tsconfig-src.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -2158,7 +2221,6 @@ Info seq [hh:mm:ss:mss] Files (4) Info seq [hh:mm:ss:mss] ----------------------------------------------- Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/tsconfig-src.json -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/tsconfig-src.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -2285,7 +2347,6 @@ Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/pr Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -2293,7 +2354,7 @@ Info seq [hh:mm:ss:mss] event: "event": "projectLoadingStart", "body": { "projectName": "/user/username/projects/myproject/tsconfig.json", - "reason": "User requested reload projects" + "reason": "User requested reload projects: Creating possible configured project for /user/username/projects/myproject/src/main.ts to open" } } Info seq [hh:mm:ss:mss] Config: /user/username/projects/myproject/tsconfig.json : { @@ -2381,7 +2442,6 @@ Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/pr Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig-src.json WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig-src.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig-src.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/tsconfig-src.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -2389,7 +2449,7 @@ Info seq [hh:mm:ss:mss] event: "event": "projectLoadingStart", "body": { "projectName": "/user/username/projects/myproject/tsconfig-src.json", - "reason": "User requested reload projects" + "reason": "User requested reload projects: Creating project referenced in solution /user/username/projects/myproject/tsconfig.json to find possible configured project for /user/username/projects/myproject/src/main.ts to open" } } Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/projects/myproject/tsconfig-src.json @@ -2438,6 +2498,7 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig-src.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /dummy/dummy.ts ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) @@ -3494,6 +3555,17 @@ Info seq [hh:mm:ss:mss] event: "projectName": "/user/username/projects/myproject/tsconfig.json" } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/tsconfig.json", + "configFile": "/user/username/projects/myproject/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/myproject/tsconfig-src.json Info seq [hh:mm:ss:mss] event: { @@ -3540,6 +3612,17 @@ Info seq [hh:mm:ss:mss] event: "projectName": "/user/username/projects/myproject/tsconfig-src.json" } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/tsconfig-src.json", + "configFile": "/user/username/projects/myproject/tsconfig-src.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/src/main.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/src/main.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/src/helpers/functions.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json diff --git a/tests/baselines/reference/tsserver/projectReferences/solution-with-its-own-files-and-project-is-indirectly-referenced-by-solution.js b/tests/baselines/reference/tsserver/projectReferences/solution-with-its-own-files-and-project-is-indirectly-referenced-by-solution.js index afb61f8b9796a..6f426b5d32b24 100644 --- a/tests/baselines/reference/tsserver/projectReferences/solution-with-its-own-files-and-project-is-indirectly-referenced-by-solution.js +++ b/tests/baselines/reference/tsserver/projectReferences/solution-with-its-own-files-and-project-is-indirectly-referenced-by-solution.js @@ -332,6 +332,17 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/src/main.ts", + "configFile": "/user/username/projects/myproject/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/myproject/tsconfig-src.json Info seq [hh:mm:ss:mss] event: { @@ -434,6 +445,7 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig-src.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (5) @@ -524,8 +536,11 @@ ScriptInfos:: /user/username/projects/myproject/tsconfig.json /user/username/projects/myproject/tsconfig-src.json *default* -Info seq [hh:mm:ss:mss] getDefaultProject for /user/username/projects/myproject/src/main.ts: /user/username/projects/myproject/tsconfig-src.json -Info seq [hh:mm:ss:mss] findDefaultConfiguredProject for /user/username/projects/myproject/src/main.ts: /user/username/projects/myproject/tsconfig-src.json +Info seq [hh:mm:ss:mss] File: /user/username/projects/myproject/src/main.ts: + getDefaultProjectForFile: + /user/username/projects/myproject/tsconfig-src.json + findDefaultConfiguredProject: + /user/username/projects/myproject/tsconfig-src.json Before request Info seq [hh:mm:ss:mss] request: @@ -1269,6 +1284,17 @@ Info seq [hh:mm:ss:mss] event: "projectName": "/user/username/projects/myproject/tsconfig.json" } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/src/main.ts", + "configFile": "/user/username/projects/myproject/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/myproject/tsconfig-src.json Info seq [hh:mm:ss:mss] event: { @@ -1326,6 +1352,7 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig-src.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (5) @@ -1871,6 +1898,46 @@ Info seq [hh:mm:ss:mss] Files (4) Part of 'files' list in tsconfig.json Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/tsconfig.json", + "configFile": "/user/username/projects/myproject/tsconfig.json", + "diagnostics": [ + { + "start": { + "line": 11, + "offset": 5 + }, + "end": { + "line": 13, + "offset": 6 + }, + "text": "File '/user/username/projects/myproject/tsconfig-src.json' not found.", + "code": 6053, + "category": "error", + "fileName": "/user/username/projects/myproject/tsconfig-indirect1.json" + }, + { + "start": { + "line": 11, + "offset": 5 + }, + "end": { + "line": 13, + "offset": 6 + }, + "text": "File '/user/username/projects/myproject/tsconfig-src.json' not found.", + "code": 6053, + "category": "error", + "fileName": "/user/username/projects/myproject/tsconfig-indirect2.json" + } + ] + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) @@ -2115,8 +2182,18 @@ Info seq [hh:mm:ss:mss] Files (5) Part of 'files' list in tsconfig.json Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/tsconfig.json", + "configFile": "/user/username/projects/myproject/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/tsconfig-src.json -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/tsconfig-src.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -2525,7 +2602,6 @@ Info seq [hh:mm:ss:mss] Files (5) Info seq [hh:mm:ss:mss] ----------------------------------------------- Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/tsconfig-src.json -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/tsconfig-src.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -2655,7 +2731,6 @@ Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/pr Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -2663,7 +2738,7 @@ Info seq [hh:mm:ss:mss] event: "event": "projectLoadingStart", "body": { "projectName": "/user/username/projects/myproject/tsconfig.json", - "reason": "User requested reload projects" + "reason": "User requested reload projects: Creating possible configured project for /user/username/projects/myproject/src/main.ts to open" } } Info seq [hh:mm:ss:mss] Config: /user/username/projects/myproject/tsconfig.json : { @@ -2793,7 +2868,6 @@ Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/pr Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig-src.json WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig-src.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig-src.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/tsconfig-src.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -2801,7 +2875,7 @@ Info seq [hh:mm:ss:mss] event: "event": "projectLoadingStart", "body": { "projectName": "/user/username/projects/myproject/tsconfig-src.json", - "reason": "User requested reload projects" + "reason": "User requested reload projects: Creating project referenced in solution /user/username/projects/myproject/tsconfig.json to find possible configured project for /user/username/projects/myproject/src/main.ts to open" } } Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/projects/myproject/tsconfig-src.json @@ -2850,6 +2924,7 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig-src.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /dummy/dummy.ts ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) @@ -3096,6 +3171,17 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/tsconfig-indirect1.json", + "configFile": "/user/username/projects/myproject/tsconfig-indirect1.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/indirect1/main.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/indirect1/main.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] Finding references to /user/username/projects/myproject/indirect1/main.ts position 9 in project /user/username/projects/myproject/tsconfig-indirect1.json @@ -3196,6 +3282,17 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/tsconfig-indirect2.json", + "configFile": "/user/username/projects/myproject/tsconfig-indirect2.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/target/src/helpers/functions.d.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/target/src/helpers/functions.d.ts.map 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] Finding references to /user/username/projects/myproject/src/helpers/functions.ts position 13 in project /user/username/projects/myproject/tsconfig-indirect2.json @@ -4455,6 +4552,17 @@ Info seq [hh:mm:ss:mss] event: "projectName": "/user/username/projects/myproject/tsconfig.json" } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/tsconfig.json", + "configFile": "/user/username/projects/myproject/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/myproject/tsconfig-src.json Info seq [hh:mm:ss:mss] event: { @@ -4501,6 +4609,17 @@ Info seq [hh:mm:ss:mss] event: "projectName": "/user/username/projects/myproject/tsconfig-src.json" } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/tsconfig-src.json", + "configFile": "/user/username/projects/myproject/tsconfig-src.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/src/main.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/src/main.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/src/helpers/functions.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json @@ -4561,6 +4680,17 @@ Info seq [hh:mm:ss:mss] event: "projectName": "/user/username/projects/myproject/tsconfig-indirect1.json" } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/tsconfig-indirect1.json", + "configFile": "/user/username/projects/myproject/tsconfig-indirect1.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/indirect1/main.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/indirect1/main.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] Finding references to /user/username/projects/myproject/src/main.ts position 9 in project /user/username/projects/myproject/tsconfig-src.json @@ -4620,6 +4750,17 @@ Info seq [hh:mm:ss:mss] event: "projectName": "/user/username/projects/myproject/tsconfig-indirect2.json" } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/tsconfig-indirect2.json", + "configFile": "/user/username/projects/myproject/tsconfig-indirect2.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Finding references to /user/username/projects/myproject/src/helpers/functions.ts position 13 in project /user/username/projects/myproject/tsconfig-indirect2.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/src/helpers/functions.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/src/helpers/functions.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json diff --git a/tests/baselines/reference/tsserver/projectReferences/special-handling-of-localness-when-using-arrow-function-as-object-literal-property-types.js b/tests/baselines/reference/tsserver/projectReferences/special-handling-of-localness-when-using-arrow-function-as-object-literal-property-types.js index 483a2fcf64e9c..9e3dfc15ed015 100644 --- a/tests/baselines/reference/tsserver/projectReferences/special-handling-of-localness-when-using-arrow-function-as-object-literal-property-types.js +++ b/tests/baselines/reference/tsserver/projectReferences/special-handling-of-localness-when-using-arrow-function-as-object-literal-property-types.js @@ -426,9 +426,19 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/solution/shared/tsconfig.json", + "configFile": "/user/username/projects/solution/shared/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/solution/shared/src/index.ts ProjectRootPath: undefined:: Result: /user/username/projects/solution/shared/tsconfig.json Info seq [hh:mm:ss:mss] Finding references to /user/username/projects/solution/shared/src/index.ts position 21 in project /user/username/projects/solution/shared/tsconfig.json -Info seq [hh:mm:ss:mss] Loading configured project /user/username/projects/solution/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -643,6 +653,17 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/solution/app/tsconfig.json", + "configFile": "/user/username/projects/solution/app/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Finding references to /user/username/projects/solution/shared/src/index.ts position 21 in project /user/username/projects/solution/app/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/solution/shared/src/index.ts ProjectRootPath: undefined:: Result: /user/username/projects/solution/shared/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/solution/shared/src/index.ts ProjectRootPath: undefined:: Result: /user/username/projects/solution/shared/tsconfig.json diff --git a/tests/baselines/reference/tsserver/projectReferences/special-handling-of-localness-when-using-arrow-function-as-object-literal-property.js b/tests/baselines/reference/tsserver/projectReferences/special-handling-of-localness-when-using-arrow-function-as-object-literal-property.js index 4d1b69e15834d..b9707445934d1 100644 --- a/tests/baselines/reference/tsserver/projectReferences/special-handling-of-localness-when-using-arrow-function-as-object-literal-property.js +++ b/tests/baselines/reference/tsserver/projectReferences/special-handling-of-localness-when-using-arrow-function-as-object-literal-property.js @@ -427,6 +427,17 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/solution/shared/tsconfig.json", + "configFile": "/user/username/projects/solution/shared/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/solution/shared/src/index.ts ProjectRootPath: undefined:: Result: /user/username/projects/solution/shared/tsconfig.json Info seq [hh:mm:ss:mss] Finding references to /user/username/projects/solution/shared/src/index.ts position 16 in project /user/username/projects/solution/shared/tsconfig.json Info seq [hh:mm:ss:mss] response: diff --git a/tests/baselines/reference/tsserver/projectReferences/special-handling-of-localness-when-using-arrow-function-assignment.js b/tests/baselines/reference/tsserver/projectReferences/special-handling-of-localness-when-using-arrow-function-assignment.js index 50df091103836..bf88f6db3c1a4 100644 --- a/tests/baselines/reference/tsserver/projectReferences/special-handling-of-localness-when-using-arrow-function-assignment.js +++ b/tests/baselines/reference/tsserver/projectReferences/special-handling-of-localness-when-using-arrow-function-assignment.js @@ -426,9 +426,19 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/solution/shared/tsconfig.json", + "configFile": "/user/username/projects/solution/shared/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/solution/shared/src/index.ts ProjectRootPath: undefined:: Result: /user/username/projects/solution/shared/tsconfig.json Info seq [hh:mm:ss:mss] Finding references to /user/username/projects/solution/shared/src/index.ts position 13 in project /user/username/projects/solution/shared/tsconfig.json -Info seq [hh:mm:ss:mss] Loading configured project /user/username/projects/solution/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -643,6 +653,17 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/solution/app/tsconfig.json", + "configFile": "/user/username/projects/solution/app/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Finding references to /user/username/projects/solution/shared/src/index.ts position 13 in project /user/username/projects/solution/app/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/solution/shared/src/index.ts ProjectRootPath: undefined:: Result: /user/username/projects/solution/shared/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/solution/shared/src/index.ts ProjectRootPath: undefined:: Result: /user/username/projects/solution/shared/tsconfig.json diff --git a/tests/baselines/reference/tsserver/projectReferences/special-handling-of-localness-when-using-method-of-class-expression.js b/tests/baselines/reference/tsserver/projectReferences/special-handling-of-localness-when-using-method-of-class-expression.js index a997ef3a4586f..63e73ae041905 100644 --- a/tests/baselines/reference/tsserver/projectReferences/special-handling-of-localness-when-using-method-of-class-expression.js +++ b/tests/baselines/reference/tsserver/projectReferences/special-handling-of-localness-when-using-method-of-class-expression.js @@ -428,9 +428,19 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/solution/shared/tsconfig.json", + "configFile": "/user/username/projects/solution/shared/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/solution/shared/src/index.ts ProjectRootPath: undefined:: Result: /user/username/projects/solution/shared/tsconfig.json Info seq [hh:mm:ss:mss] Finding references to /user/username/projects/solution/shared/src/index.ts position 27 in project /user/username/projects/solution/shared/tsconfig.json -Info seq [hh:mm:ss:mss] Loading configured project /user/username/projects/solution/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -645,6 +655,17 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/solution/app/tsconfig.json", + "configFile": "/user/username/projects/solution/app/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Finding references to /user/username/projects/solution/shared/src/index.ts position 27 in project /user/username/projects/solution/app/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/solution/shared/src/index.ts ProjectRootPath: undefined:: Result: /user/username/projects/solution/shared/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/solution/shared/src/index.ts ProjectRootPath: undefined:: Result: /user/username/projects/solution/shared/tsconfig.json diff --git a/tests/baselines/reference/tsserver/projectReferences/special-handling-of-localness-when-using-object-literal-property.js b/tests/baselines/reference/tsserver/projectReferences/special-handling-of-localness-when-using-object-literal-property.js index cfcfb4933adea..80bc54b0f9b45 100644 --- a/tests/baselines/reference/tsserver/projectReferences/special-handling-of-localness-when-using-object-literal-property.js +++ b/tests/baselines/reference/tsserver/projectReferences/special-handling-of-localness-when-using-object-literal-property.js @@ -426,9 +426,19 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/solution/shared/tsconfig.json", + "configFile": "/user/username/projects/solution/shared/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/solution/shared/src/index.ts ProjectRootPath: undefined:: Result: /user/username/projects/solution/shared/tsconfig.json Info seq [hh:mm:ss:mss] Finding references to /user/username/projects/solution/shared/src/index.ts position 22 in project /user/username/projects/solution/shared/tsconfig.json -Info seq [hh:mm:ss:mss] Loading configured project /user/username/projects/solution/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -643,6 +653,17 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/solution/app/tsconfig.json", + "configFile": "/user/username/projects/solution/app/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Finding references to /user/username/projects/solution/shared/src/index.ts position 22 in project /user/username/projects/solution/app/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/solution/shared/src/index.ts ProjectRootPath: undefined:: Result: /user/username/projects/solution/shared/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/solution/shared/src/index.ts ProjectRootPath: undefined:: Result: /user/username/projects/solution/shared/tsconfig.json diff --git a/tests/baselines/reference/tsserver/projectReferences/when-file-is-not-part-of-first-config-tree-found-appConfig-not-composite-with-file-open-before-revert.js b/tests/baselines/reference/tsserver/projectReferences/when-file-is-not-part-of-first-config-tree-found-appConfig-not-composite-with-file-open-before-revert.js new file mode 100644 index 0000000000000..491919a9c77c0 --- /dev/null +++ b/tests/baselines/reference/tsserver/projectReferences/when-file-is-not-part-of-first-config-tree-found-appConfig-not-composite-with-file-open-before-revert.js @@ -0,0 +1,1045 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +Before request +//// [/home/src/projects/project/app/Component-demos.ts] +import * as helpers from 'demos/helpers'; +export const demo = () => { + helpers; +} + + +//// [/home/src/projects/project/app/Component.ts] +export const Component = () => {} + + +//// [/home/src/projects/project/app/tsconfig.json] +{ + "compilerOptions": { + "composite": true, + "outDir": "../app-dist/" + }, + "include": [ + "**/*" + ], + "exclude": [ + "**/*-demos.*" + ] +} + +//// [/home/src/projects/project/demos/helpers.ts] +export const foo = 1; + + +//// [/home/src/projects/project/demos/tsconfig.json] +{ + "compilerOptions": { + "composite": true, + "rootDir": "../", + "outDir": "../demos-dist/", + "paths": { + "demos/*": [ + "./*" + ] + } + }, + "include": [ + "**/*", + "../app/**/*-demos.*" + ] +} + +//// [/home/src/projects/project/tsconfig.json] +{ + "compilerOptions": { + "outDir": "./dist/" + }, + "references": [ + { + "path": "./demos/tsconfig.json" + }, + { + "path": "./app/tsconfig.json" + } + ] +} + +//// [/home/src/projects/random/random.ts] +export let a = 10; + +//// [/home/src/projects/random/tsconfig.json] +{ } + +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } + + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/home/src/projects/project/app/Component-demos.ts" + }, + "seq": 1, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined:: Result: /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/tsconfig.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/home/src/projects/project/app/tsconfig.json", + "reason": "Creating possible configured project for /home/src/projects/project/app/Component-demos.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /home/src/projects/project/app/tsconfig.json : { + "rootNames": [ + "/home/src/projects/project/app/Component.ts" + ], + "options": { + "composite": true, + "outDir": "/home/src/projects/project/app-dist", + "configFilePath": "/home/src/projects/project/app/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/app/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/app/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/Component.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project/app/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /home/src/projects/project/app/Component.ts Text-1 "export const Component = () => {}\n" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + Component.ts + Matched by include pattern '**/*' in 'tsconfig.json' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/home/src/projects/project/app/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "telemetry", + "body": { + "telemetryEventName": "projectInfo", + "payload": { + "projectId": "e045cfff085eecf970c7400c2ccce12615df3b6cac3c69591527cc19e385b065", + "fileStats": { + "js": 0, + "jsSize": 0, + "jsx": 0, + "jsxSize": 0, + "ts": 1, + "tsSize": 34, + "tsx": 0, + "tsxSize": 0, + "dts": 1, + "dtsSize": 334, + "deferred": 0, + "deferredSize": 0 + }, + "compilerOptions": { + "composite": true, + "outDir": "" + }, + "typeAcquisition": { + "enable": false, + "include": false, + "exclude": false + }, + "extends": false, + "files": false, + "include": true, + "exclude": true, + "compileOnSave": false, + "configFileName": "tsconfig.json", + "projectType": "configured", + "languageServiceEnabled": true, + "version": "FakeVersion" + } + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/home/src/projects/project/app/Component-demos.ts", + "configFile": "/home/src/projects/project/app/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /home/src/projects/project/app/Component-demos.ts SVC-1-0 "import * as helpers from 'demos/helpers';\nexport const demo = () => {\n helpers;\n}\n" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + Component-demos.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/home/src/projects/node_modules: *new* + {"pollingInterval":500} +/home/src/projects/node_modules/@types: *new* + {"pollingInterval":500} +/home/src/projects/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/app/jsconfig.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/app/node_modules: *new* + {"pollingInterval":500} +/home/src/projects/project/app/node_modules/@types: *new* + {"pollingInterval":500} +/home/src/projects/project/app/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/jsconfig.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/node_modules: *new* + {"pollingInterval":500} +/home/src/projects/project/node_modules/@types: *new* + {"pollingInterval":500} +/home/src/projects/project/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: *new* + {} +/home/src/projects/project/app/Component.ts: *new* + {} +/home/src/projects/project/app/tsconfig.json: *new* + {} +/home/src/projects/project/tsconfig.json: *new* + {} + +FsWatchesRecursive:: +/home/src/projects/project/app: *new* + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) *new* + projectStateVersion: 1 + projectProgramVersion: 1 +/home/src/projects/project/app/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + noOpenRef: true + +ScriptInfos:: +/a/lib/lib.d.ts *new* + version: Text-1 + containingProjects: 2 + /home/src/projects/project/app/tsconfig.json + /dev/null/inferredProject1* +/home/src/projects/project/app/Component-demos.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject1* *default* +/home/src/projects/project/app/Component.ts *new* + version: Text-1 + containingProjects: 1 + /home/src/projects/project/app/tsconfig.json + +Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /home/src/projects/project/app/tsconfig.json 1:: WatchInfo: /home/src/projects/project/app/tsconfig.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] Scheduled: /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined:: Result: /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /home/src/projects/project/app/tsconfig.json 1:: WatchInfo: /home/src/projects/project/app/tsconfig.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Config file +Before running Timeout callback:: count: 2 +1: /home/src/projects/project/app/tsconfig.json +2: *ensureProjectForOpenFiles* +//// [/home/src/projects/project/app/tsconfig.json] +{ + "compilerOptions": { + + "outDir": "../app-dist/" + }, + "include": [ + "**/*" + ], + "exclude": [ + "**/*-demos.*" + ] +} + + +Timeout callback:: count: 2 +1: /home/src/projects/project/app/tsconfig.json *new* +2: *ensureProjectForOpenFiles* *new* + +Projects:: +/dev/null/inferredProject1* (Inferred) + projectStateVersion: 1 + projectProgramVersion: 1 +/home/src/projects/project/app/tsconfig.json (Configured) *changed* + projectStateVersion: 2 *changed* + projectProgramVersion: 1 + dirty: true *changed* + noOpenRef: false *changed* + +Info seq [hh:mm:ss:mss] Running: /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/home/src/projects/project/app/tsconfig.json", + "reason": "Change in config file detected" + } + } +Info seq [hh:mm:ss:mss] Config: /home/src/projects/project/app/tsconfig.json : { + "rootNames": [ + "/home/src/projects/project/app/Component.ts" + ], + "options": { + "outDir": "/home/src/projects/project/app-dist", + "configFilePath": "/home/src/projects/project/app/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project/app/tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: false structureIsReused:: Completely Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /home/src/projects/project/app/Component.ts Text-1 "export const Component = () => {}\n" + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/home/src/projects/project/app/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/home/src/projects/project/app/tsconfig.json", + "configFile": "/home/src/projects/project/app/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] After ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] got projects updated in background /home/src/projects/project/app/Component-demos.ts +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectsUpdatedInBackground", + "body": { + "openFiles": [ + "/home/src/projects/project/app/Component-demos.ts" + ] + } + } +After running Timeout callback:: count: 0 + +Projects:: +/dev/null/inferredProject1* (Inferred) + projectStateVersion: 1 + projectProgramVersion: 1 +/home/src/projects/project/app/tsconfig.json (Configured) *changed* + projectStateVersion: 2 + projectProgramVersion: 1 + dirty: false *changed* + noOpenRef: true *changed* + +Info seq [hh:mm:ss:mss] File: /home/src/projects/project/app/Component-demos.ts: + getDefaultProjectForFile: + /dev/null/inferredProject1* + findDefaultConfiguredProject: + undefined +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/home/src/projects/random/random.ts" + }, + "seq": 2, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/random/random.ts ProjectRootPath: undefined:: Result: /home/src/projects/random/tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /home/src/projects/random/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/random/tsconfig.json 2000 undefined Project: /home/src/projects/random/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/home/src/projects/random/tsconfig.json", + "reason": "Creating possible configured project for /home/src/projects/random/random.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /home/src/projects/random/tsconfig.json : { + "rootNames": [ + "/home/src/projects/random/random.ts" + ], + "options": { + "configFilePath": "/home/src/projects/random/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/random 1 undefined Config: /home/src/projects/random/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/random 1 undefined Config: /home/src/projects/random/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/random/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/random/package.json 2000 undefined Project: /home/src/projects/random/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/package.json 2000 undefined Project: /home/src/projects/random/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/random/node_modules/@types 1 undefined Project: /home/src/projects/random/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/random/node_modules/@types 1 undefined Project: /home/src/projects/random/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/random/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/random/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/random/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/home/src/projects/random/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /home/src/projects/random/random.ts SVC-1-0 "export let a = 10;" + + + ../../../../a/lib/lib.d.ts + Default library for target 'es5' + random.ts + Matched by default include pattern '**/*' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/home/src/projects/random/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "telemetry", + "body": { + "telemetryEventName": "projectInfo", + "payload": { + "projectId": "e22b756ee376200084d2e12c26227743b638008b743888b07aa480c1f77c0554", + "fileStats": { + "js": 0, + "jsSize": 0, + "jsx": 0, + "jsxSize": 0, + "ts": 1, + "tsSize": 18, + "tsx": 0, + "tsxSize": 0, + "dts": 1, + "dtsSize": 334, + "deferred": 0, + "deferredSize": 0 + }, + "compilerOptions": {}, + "typeAcquisition": { + "enable": false, + "include": false, + "exclude": false + }, + "extends": false, + "files": false, + "include": false, + "exclude": false, + "compileOnSave": false, + "configFileName": "tsconfig.json", + "projectType": "configured", + "languageServiceEnabled": true, + "version": "FakeVersion" + } + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/home/src/projects/random/random.ts", + "configFile": "/home/src/projects/random/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] `remove Project:: +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts + /home/src/projects/project/app/Component.ts + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + Component.ts + Matched by include pattern '**/*' in 'tsconfig.json' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/app/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/app/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/project/app/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/project/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/project/app/Component.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Project '/home/src/projects/random/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/random/random.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /home/src/projects/random/tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/home/src/projects/node_modules: + {"pollingInterval":500} +/home/src/projects/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/package.json: + {"pollingInterval":2000} +/home/src/projects/project/app/jsconfig.json: + {"pollingInterval":2000} +/home/src/projects/project/app/node_modules: + {"pollingInterval":500} +/home/src/projects/project/app/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/project/app/package.json: + {"pollingInterval":2000} +/home/src/projects/project/jsconfig.json: + {"pollingInterval":2000} +/home/src/projects/project/node_modules: + {"pollingInterval":500} +/home/src/projects/project/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/project/package.json: + {"pollingInterval":2000} +/home/src/projects/random/node_modules/@types: *new* + {"pollingInterval":500} +/home/src/projects/random/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/home/src/projects/project/app/tsconfig.json: + {} +/home/src/projects/project/tsconfig.json: + {} +/home/src/projects/random/tsconfig.json: *new* + {} + +FsWatches *deleted*:: +/home/src/projects/project/app/Component.ts: + {} + +FsWatchesRecursive:: +/home/src/projects/random: *new* + {} + +FsWatchesRecursive *deleted*:: +/home/src/projects/project/app: + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) + projectStateVersion: 1 + projectProgramVersion: 1 +/home/src/projects/project/app/tsconfig.json (Configured) *deleted* + projectStateVersion: 2 + projectProgramVersion: 1 + isClosed: true *changed* + noOpenRef: true +/home/src/projects/random/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + containingProjects: 2 *changed* + /dev/null/inferredProject1* + /home/src/projects/random/tsconfig.json *new* + /home/src/projects/project/app/tsconfig.json *deleted* +/home/src/projects/project/app/Component-demos.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject1* *default* +/home/src/projects/project/app/Component.ts *deleted* + version: Text-1 + containingProjects: 0 *changed* + /home/src/projects/project/app/tsconfig.json *deleted* +/home/src/projects/random/random.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /home/src/projects/random/tsconfig.json *default* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "close", + "arguments": { + "file": "/home/src/projects/random/random.ts" + }, + "seq": 3, + "type": "request" + } +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/random/random.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Project '/home/src/projects/random/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/home/src/projects/node_modules: + {"pollingInterval":500} +/home/src/projects/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/package.json: + {"pollingInterval":2000} +/home/src/projects/project/app/jsconfig.json: + {"pollingInterval":2000} +/home/src/projects/project/app/node_modules: + {"pollingInterval":500} +/home/src/projects/project/app/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/project/app/package.json: + {"pollingInterval":2000} +/home/src/projects/project/jsconfig.json: + {"pollingInterval":2000} +/home/src/projects/project/node_modules: + {"pollingInterval":500} +/home/src/projects/project/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/project/package.json: + {"pollingInterval":2000} +/home/src/projects/random/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/random/package.json: + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/home/src/projects/project/app/tsconfig.json: + {} +/home/src/projects/project/tsconfig.json: + {} +/home/src/projects/random/random.ts: *new* + {} +/home/src/projects/random/tsconfig.json: + {} + +FsWatchesRecursive:: +/home/src/projects/random: + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) + projectStateVersion: 1 + projectProgramVersion: 1 +/home/src/projects/random/tsconfig.json (Configured) *changed* + projectStateVersion: 1 + projectProgramVersion: 1 + noOpenRef: true *changed* + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 2 + /dev/null/inferredProject1* + /home/src/projects/random/tsconfig.json +/home/src/projects/project/app/Component-demos.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject1* *default* +/home/src/projects/random/random.ts *changed* + open: false *changed* + version: SVC-1-0 + containingProjects: 1 + /home/src/projects/random/tsconfig.json + +Info seq [hh:mm:ss:mss] File: /home/src/projects/project/app/Component-demos.ts: + getDefaultProjectForFile: + /dev/null/inferredProject1* + findDefaultConfiguredProject: + undefined +Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /home/src/projects/project/app/tsconfig.json 1:: WatchInfo: /home/src/projects/project/app/tsconfig.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined:: Result: /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] Scheduled: /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /home/src/projects/project/app/tsconfig.json 1:: WatchInfo: /home/src/projects/project/app/tsconfig.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Config file +Before running Timeout callback:: count: 2 +3: /home/src/projects/project/app/tsconfig.json +4: *ensureProjectForOpenFiles* +//// [/home/src/projects/project/app/tsconfig.json] +{ + "compilerOptions": { + "composite": true, + "outDir": "../app-dist/" + }, + "include": [ + "**/*" + ], + "exclude": [ + "**/*-demos.*" + ] +} + + +Timeout callback:: count: 2 +3: /home/src/projects/project/app/tsconfig.json *new* +4: *ensureProjectForOpenFiles* *new* + +Projects:: +/dev/null/inferredProject1* (Inferred) + projectStateVersion: 1 + projectProgramVersion: 1 +/home/src/projects/project/app/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 0 + dirty: true +/home/src/projects/random/tsconfig.json (Configured) + projectStateVersion: 1 + projectProgramVersion: 1 + noOpenRef: true + +Info seq [hh:mm:ss:mss] Running: /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/home/src/projects/project/app/tsconfig.json", + "reason": "Change in config file /home/src/projects/project/app/tsconfig.json detected, Creating possible configured project for /home/src/projects/project/app/Component-demos.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /home/src/projects/project/app/tsconfig.json : { + "rootNames": [ + "/home/src/projects/project/app/Component.ts" + ], + "options": { + "composite": true, + "outDir": "/home/src/projects/project/app-dist", + "configFilePath": "/home/src/projects/project/app/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/app/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/app/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/Component.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project/app/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /home/src/projects/project/app/Component.ts Text-2 "export const Component = () => {}\n" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + Component.ts + Matched by include pattern '**/*' in 'tsconfig.json' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/home/src/projects/project/app/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/home/src/projects/project/app/tsconfig.json", + "configFile": "/home/src/projects/project/app/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/home/src/projects/random/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] After ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/home/src/projects/random/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] got projects updated in background /home/src/projects/project/app/Component-demos.ts +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectsUpdatedInBackground", + "body": { + "openFiles": [ + "/home/src/projects/project/app/Component-demos.ts" + ] + } + } +After running Timeout callback:: count: 0 + +PolledWatches:: +/home/src/projects/node_modules: + {"pollingInterval":500} +/home/src/projects/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/package.json: + {"pollingInterval":2000} +/home/src/projects/project/app/jsconfig.json: + {"pollingInterval":2000} +/home/src/projects/project/app/node_modules: + {"pollingInterval":500} +/home/src/projects/project/app/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/project/app/package.json: + {"pollingInterval":2000} +/home/src/projects/project/jsconfig.json: + {"pollingInterval":2000} +/home/src/projects/project/node_modules: + {"pollingInterval":500} +/home/src/projects/project/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/project/package.json: + {"pollingInterval":2000} +/home/src/projects/random/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/random/package.json: + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/home/src/projects/project/app/Component.ts: *new* + {} +/home/src/projects/project/app/tsconfig.json: + {} +/home/src/projects/project/tsconfig.json: + {} +/home/src/projects/random/random.ts: + {} +/home/src/projects/random/tsconfig.json: + {} + +FsWatchesRecursive:: +/home/src/projects/project/app: *new* + {} +/home/src/projects/random: + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) + projectStateVersion: 1 + projectProgramVersion: 1 +/home/src/projects/project/app/tsconfig.json (Configured) *changed* + projectStateVersion: 1 + projectProgramVersion: 1 *changed* + dirty: false *changed* + noOpenRef: true *changed* +/home/src/projects/random/tsconfig.json (Configured) + projectStateVersion: 1 + projectProgramVersion: 1 + noOpenRef: true + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + containingProjects: 3 *changed* + /dev/null/inferredProject1* + /home/src/projects/random/tsconfig.json + /home/src/projects/project/app/tsconfig.json *new* +/home/src/projects/project/app/Component-demos.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject1* *default* +/home/src/projects/project/app/Component.ts *new* + version: Text-2 + containingProjects: 1 + /home/src/projects/project/app/tsconfig.json +/home/src/projects/random/random.ts + version: SVC-1-0 + containingProjects: 1 + /home/src/projects/random/tsconfig.json + +Info seq [hh:mm:ss:mss] File: /home/src/projects/project/app/Component-demos.ts: + getDefaultProjectForFile: + /dev/null/inferredProject1* + findDefaultConfiguredProject: + undefined \ No newline at end of file diff --git a/tests/baselines/reference/tsserver/projectReferences/when-file-is-not-part-of-first-config-tree-found-appConfig-not-composite.js b/tests/baselines/reference/tsserver/projectReferences/when-file-is-not-part-of-first-config-tree-found-appConfig-not-composite.js new file mode 100644 index 0000000000000..d9018f2ef8409 --- /dev/null +++ b/tests/baselines/reference/tsserver/projectReferences/when-file-is-not-part-of-first-config-tree-found-appConfig-not-composite.js @@ -0,0 +1,943 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +Before request +//// [/home/src/projects/project/app/Component-demos.ts] +import * as helpers from 'demos/helpers'; +export const demo = () => { + helpers; +} + + +//// [/home/src/projects/project/app/Component.ts] +export const Component = () => {} + + +//// [/home/src/projects/project/app/tsconfig.json] +{ + "compilerOptions": { + "composite": true, + "outDir": "../app-dist/" + }, + "include": [ + "**/*" + ], + "exclude": [ + "**/*-demos.*" + ] +} + +//// [/home/src/projects/project/demos/helpers.ts] +export const foo = 1; + + +//// [/home/src/projects/project/demos/tsconfig.json] +{ + "compilerOptions": { + "composite": true, + "rootDir": "../", + "outDir": "../demos-dist/", + "paths": { + "demos/*": [ + "./*" + ] + } + }, + "include": [ + "**/*", + "../app/**/*-demos.*" + ] +} + +//// [/home/src/projects/project/tsconfig.json] +{ + "compilerOptions": { + "outDir": "./dist/" + }, + "references": [ + { + "path": "./demos/tsconfig.json" + }, + { + "path": "./app/tsconfig.json" + } + ] +} + +//// [/home/src/projects/random/random.ts] +export let a = 10; + +//// [/home/src/projects/random/tsconfig.json] +{ } + +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } + + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/home/src/projects/project/app/Component-demos.ts" + }, + "seq": 1, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined:: Result: /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/tsconfig.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/home/src/projects/project/app/tsconfig.json", + "reason": "Creating possible configured project for /home/src/projects/project/app/Component-demos.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /home/src/projects/project/app/tsconfig.json : { + "rootNames": [ + "/home/src/projects/project/app/Component.ts" + ], + "options": { + "composite": true, + "outDir": "/home/src/projects/project/app-dist", + "configFilePath": "/home/src/projects/project/app/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/app/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/app/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/Component.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project/app/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /home/src/projects/project/app/Component.ts Text-1 "export const Component = () => {}\n" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + Component.ts + Matched by include pattern '**/*' in 'tsconfig.json' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/home/src/projects/project/app/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "telemetry", + "body": { + "telemetryEventName": "projectInfo", + "payload": { + "projectId": "e045cfff085eecf970c7400c2ccce12615df3b6cac3c69591527cc19e385b065", + "fileStats": { + "js": 0, + "jsSize": 0, + "jsx": 0, + "jsxSize": 0, + "ts": 1, + "tsSize": 34, + "tsx": 0, + "tsxSize": 0, + "dts": 1, + "dtsSize": 334, + "deferred": 0, + "deferredSize": 0 + }, + "compilerOptions": { + "composite": true, + "outDir": "" + }, + "typeAcquisition": { + "enable": false, + "include": false, + "exclude": false + }, + "extends": false, + "files": false, + "include": true, + "exclude": true, + "compileOnSave": false, + "configFileName": "tsconfig.json", + "projectType": "configured", + "languageServiceEnabled": true, + "version": "FakeVersion" + } + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/home/src/projects/project/app/Component-demos.ts", + "configFile": "/home/src/projects/project/app/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /home/src/projects/project/app/Component-demos.ts SVC-1-0 "import * as helpers from 'demos/helpers';\nexport const demo = () => {\n helpers;\n}\n" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + Component-demos.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/home/src/projects/node_modules: *new* + {"pollingInterval":500} +/home/src/projects/node_modules/@types: *new* + {"pollingInterval":500} +/home/src/projects/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/app/jsconfig.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/app/node_modules: *new* + {"pollingInterval":500} +/home/src/projects/project/app/node_modules/@types: *new* + {"pollingInterval":500} +/home/src/projects/project/app/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/jsconfig.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/node_modules: *new* + {"pollingInterval":500} +/home/src/projects/project/node_modules/@types: *new* + {"pollingInterval":500} +/home/src/projects/project/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: *new* + {} +/home/src/projects/project/app/Component.ts: *new* + {} +/home/src/projects/project/app/tsconfig.json: *new* + {} +/home/src/projects/project/tsconfig.json: *new* + {} + +FsWatchesRecursive:: +/home/src/projects/project/app: *new* + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) *new* + projectStateVersion: 1 + projectProgramVersion: 1 +/home/src/projects/project/app/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + noOpenRef: true + +ScriptInfos:: +/a/lib/lib.d.ts *new* + version: Text-1 + containingProjects: 2 + /home/src/projects/project/app/tsconfig.json + /dev/null/inferredProject1* +/home/src/projects/project/app/Component-demos.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject1* *default* +/home/src/projects/project/app/Component.ts *new* + version: Text-1 + containingProjects: 1 + /home/src/projects/project/app/tsconfig.json + +Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /home/src/projects/project/app/tsconfig.json 1:: WatchInfo: /home/src/projects/project/app/tsconfig.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] Scheduled: /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined:: Result: /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /home/src/projects/project/app/tsconfig.json 1:: WatchInfo: /home/src/projects/project/app/tsconfig.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Config file +Before running Timeout callback:: count: 2 +1: /home/src/projects/project/app/tsconfig.json +2: *ensureProjectForOpenFiles* +//// [/home/src/projects/project/app/tsconfig.json] +{ + "compilerOptions": { + + "outDir": "../app-dist/" + }, + "include": [ + "**/*" + ], + "exclude": [ + "**/*-demos.*" + ] +} + + +Timeout callback:: count: 2 +1: /home/src/projects/project/app/tsconfig.json *new* +2: *ensureProjectForOpenFiles* *new* + +Projects:: +/dev/null/inferredProject1* (Inferred) + projectStateVersion: 1 + projectProgramVersion: 1 +/home/src/projects/project/app/tsconfig.json (Configured) *changed* + projectStateVersion: 2 *changed* + projectProgramVersion: 1 + dirty: true *changed* + noOpenRef: false *changed* + +Info seq [hh:mm:ss:mss] Running: /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/home/src/projects/project/app/tsconfig.json", + "reason": "Change in config file detected" + } + } +Info seq [hh:mm:ss:mss] Config: /home/src/projects/project/app/tsconfig.json : { + "rootNames": [ + "/home/src/projects/project/app/Component.ts" + ], + "options": { + "outDir": "/home/src/projects/project/app-dist", + "configFilePath": "/home/src/projects/project/app/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project/app/tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: false structureIsReused:: Completely Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /home/src/projects/project/app/Component.ts Text-1 "export const Component = () => {}\n" + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/home/src/projects/project/app/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/home/src/projects/project/app/tsconfig.json", + "configFile": "/home/src/projects/project/app/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] After ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] got projects updated in background /home/src/projects/project/app/Component-demos.ts +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectsUpdatedInBackground", + "body": { + "openFiles": [ + "/home/src/projects/project/app/Component-demos.ts" + ] + } + } +After running Timeout callback:: count: 0 + +Projects:: +/dev/null/inferredProject1* (Inferred) + projectStateVersion: 1 + projectProgramVersion: 1 +/home/src/projects/project/app/tsconfig.json (Configured) *changed* + projectStateVersion: 2 + projectProgramVersion: 1 + dirty: false *changed* + noOpenRef: true *changed* + +Info seq [hh:mm:ss:mss] File: /home/src/projects/project/app/Component-demos.ts: + getDefaultProjectForFile: + /dev/null/inferredProject1* + findDefaultConfiguredProject: + undefined +Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /home/src/projects/project/app/tsconfig.json 1:: WatchInfo: /home/src/projects/project/app/tsconfig.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] Scheduled: /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined:: Result: /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /home/src/projects/project/app/tsconfig.json 1:: WatchInfo: /home/src/projects/project/app/tsconfig.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Config file +Before running Timeout callback:: count: 2 +3: /home/src/projects/project/app/tsconfig.json +4: *ensureProjectForOpenFiles* +//// [/home/src/projects/project/app/tsconfig.json] +{ + "compilerOptions": { + "composite": true, + "outDir": "../app-dist/" + }, + "include": [ + "**/*" + ], + "exclude": [ + "**/*-demos.*" + ] +} + + +Timeout callback:: count: 2 +3: /home/src/projects/project/app/tsconfig.json *new* +4: *ensureProjectForOpenFiles* *new* + +Projects:: +/dev/null/inferredProject1* (Inferred) + projectStateVersion: 1 + projectProgramVersion: 1 +/home/src/projects/project/app/tsconfig.json (Configured) *changed* + projectStateVersion: 3 *changed* + projectProgramVersion: 1 + dirty: true *changed* + noOpenRef: false *changed* + +Info seq [hh:mm:ss:mss] Running: /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/home/src/projects/project/app/tsconfig.json", + "reason": "Change in config file detected" + } + } +Info seq [hh:mm:ss:mss] Config: /home/src/projects/project/app/tsconfig.json : { + "rootNames": [ + "/home/src/projects/project/app/Component.ts" + ], + "options": { + "composite": true, + "outDir": "/home/src/projects/project/app-dist", + "configFilePath": "/home/src/projects/project/app/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project/app/tsconfig.json projectStateVersion: 3 projectProgramVersion: 1 structureChanged: false structureIsReused:: Completely Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /home/src/projects/project/app/Component.ts Text-1 "export const Component = () => {}\n" + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/home/src/projects/project/app/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/home/src/projects/project/app/tsconfig.json", + "configFile": "/home/src/projects/project/app/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] After ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] got projects updated in background /home/src/projects/project/app/Component-demos.ts +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectsUpdatedInBackground", + "body": { + "openFiles": [ + "/home/src/projects/project/app/Component-demos.ts" + ] + } + } +After running Timeout callback:: count: 0 + +Projects:: +/dev/null/inferredProject1* (Inferred) + projectStateVersion: 1 + projectProgramVersion: 1 +/home/src/projects/project/app/tsconfig.json (Configured) *changed* + projectStateVersion: 3 + projectProgramVersion: 1 + dirty: false *changed* + noOpenRef: true *changed* + +Info seq [hh:mm:ss:mss] File: /home/src/projects/project/app/Component-demos.ts: + getDefaultProjectForFile: + /dev/null/inferredProject1* + findDefaultConfiguredProject: + undefined +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/home/src/projects/random/random.ts" + }, + "seq": 2, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/random/random.ts ProjectRootPath: undefined:: Result: /home/src/projects/random/tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /home/src/projects/random/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/random/tsconfig.json 2000 undefined Project: /home/src/projects/random/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/home/src/projects/random/tsconfig.json", + "reason": "Creating possible configured project for /home/src/projects/random/random.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /home/src/projects/random/tsconfig.json : { + "rootNames": [ + "/home/src/projects/random/random.ts" + ], + "options": { + "configFilePath": "/home/src/projects/random/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/random 1 undefined Config: /home/src/projects/random/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/random 1 undefined Config: /home/src/projects/random/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/random/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/random/package.json 2000 undefined Project: /home/src/projects/random/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/package.json 2000 undefined Project: /home/src/projects/random/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/random/node_modules/@types 1 undefined Project: /home/src/projects/random/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/random/node_modules/@types 1 undefined Project: /home/src/projects/random/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/random/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/random/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/random/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/home/src/projects/random/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /home/src/projects/random/random.ts SVC-1-0 "export let a = 10;" + + + ../../../../a/lib/lib.d.ts + Default library for target 'es5' + random.ts + Matched by default include pattern '**/*' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/home/src/projects/random/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "telemetry", + "body": { + "telemetryEventName": "projectInfo", + "payload": { + "projectId": "e22b756ee376200084d2e12c26227743b638008b743888b07aa480c1f77c0554", + "fileStats": { + "js": 0, + "jsSize": 0, + "jsx": 0, + "jsxSize": 0, + "ts": 1, + "tsSize": 18, + "tsx": 0, + "tsxSize": 0, + "dts": 1, + "dtsSize": 334, + "deferred": 0, + "deferredSize": 0 + }, + "compilerOptions": {}, + "typeAcquisition": { + "enable": false, + "include": false, + "exclude": false + }, + "extends": false, + "files": false, + "include": false, + "exclude": false, + "compileOnSave": false, + "configFileName": "tsconfig.json", + "projectType": "configured", + "languageServiceEnabled": true, + "version": "FakeVersion" + } + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/home/src/projects/random/random.ts", + "configFile": "/home/src/projects/random/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] `remove Project:: +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts + /home/src/projects/project/app/Component.ts + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + Component.ts + Matched by include pattern '**/*' in 'tsconfig.json' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/app/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/app/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/project/app/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/project/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/project/app/Component.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Project '/home/src/projects/random/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/random/random.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /home/src/projects/random/tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/home/src/projects/node_modules: + {"pollingInterval":500} +/home/src/projects/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/package.json: + {"pollingInterval":2000} +/home/src/projects/project/app/jsconfig.json: + {"pollingInterval":2000} +/home/src/projects/project/app/node_modules: + {"pollingInterval":500} +/home/src/projects/project/app/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/project/app/package.json: + {"pollingInterval":2000} +/home/src/projects/project/jsconfig.json: + {"pollingInterval":2000} +/home/src/projects/project/node_modules: + {"pollingInterval":500} +/home/src/projects/project/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/project/package.json: + {"pollingInterval":2000} +/home/src/projects/random/node_modules/@types: *new* + {"pollingInterval":500} +/home/src/projects/random/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/home/src/projects/project/app/tsconfig.json: + {} +/home/src/projects/project/tsconfig.json: + {} +/home/src/projects/random/tsconfig.json: *new* + {} + +FsWatches *deleted*:: +/home/src/projects/project/app/Component.ts: + {} + +FsWatchesRecursive:: +/home/src/projects/random: *new* + {} + +FsWatchesRecursive *deleted*:: +/home/src/projects/project/app: + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) + projectStateVersion: 1 + projectProgramVersion: 1 +/home/src/projects/project/app/tsconfig.json (Configured) *deleted* + projectStateVersion: 3 + projectProgramVersion: 1 + isClosed: true *changed* + noOpenRef: true +/home/src/projects/random/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + containingProjects: 2 *changed* + /dev/null/inferredProject1* + /home/src/projects/random/tsconfig.json *new* + /home/src/projects/project/app/tsconfig.json *deleted* +/home/src/projects/project/app/Component-demos.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject1* *default* +/home/src/projects/project/app/Component.ts *deleted* + version: Text-1 + containingProjects: 0 *changed* + /home/src/projects/project/app/tsconfig.json *deleted* +/home/src/projects/random/random.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /home/src/projects/random/tsconfig.json *default* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "close", + "arguments": { + "file": "/home/src/projects/random/random.ts" + }, + "seq": 3, + "type": "request" + } +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/random/random.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Project '/home/src/projects/random/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/home/src/projects/node_modules: + {"pollingInterval":500} +/home/src/projects/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/package.json: + {"pollingInterval":2000} +/home/src/projects/project/app/jsconfig.json: + {"pollingInterval":2000} +/home/src/projects/project/app/node_modules: + {"pollingInterval":500} +/home/src/projects/project/app/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/project/app/package.json: + {"pollingInterval":2000} +/home/src/projects/project/jsconfig.json: + {"pollingInterval":2000} +/home/src/projects/project/node_modules: + {"pollingInterval":500} +/home/src/projects/project/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/project/package.json: + {"pollingInterval":2000} +/home/src/projects/random/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/random/package.json: + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/home/src/projects/project/app/tsconfig.json: + {} +/home/src/projects/project/tsconfig.json: + {} +/home/src/projects/random/random.ts: *new* + {} +/home/src/projects/random/tsconfig.json: + {} + +FsWatchesRecursive:: +/home/src/projects/random: + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) + projectStateVersion: 1 + projectProgramVersion: 1 +/home/src/projects/random/tsconfig.json (Configured) *changed* + projectStateVersion: 1 + projectProgramVersion: 1 + noOpenRef: true *changed* + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 2 + /dev/null/inferredProject1* + /home/src/projects/random/tsconfig.json +/home/src/projects/project/app/Component-demos.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject1* *default* +/home/src/projects/random/random.ts *changed* + open: false *changed* + version: SVC-1-0 + containingProjects: 1 + /home/src/projects/random/tsconfig.json + +Info seq [hh:mm:ss:mss] File: /home/src/projects/project/app/Component-demos.ts: + getDefaultProjectForFile: + /dev/null/inferredProject1* + findDefaultConfiguredProject: + undefined \ No newline at end of file diff --git a/tests/baselines/reference/tsserver/projectReferences/when-file-is-not-part-of-first-config-tree-found-demoConfig-change-with-file-open-before-revert.js b/tests/baselines/reference/tsserver/projectReferences/when-file-is-not-part-of-first-config-tree-found-demoConfig-change-with-file-open-before-revert.js new file mode 100644 index 0000000000000..78a8ae374d024 --- /dev/null +++ b/tests/baselines/reference/tsserver/projectReferences/when-file-is-not-part-of-first-config-tree-found-demoConfig-change-with-file-open-before-revert.js @@ -0,0 +1,718 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +Before request +//// [/home/src/projects/project/app/Component-demos.ts] +import * as helpers from 'demos/helpers'; +export const demo = () => { + helpers; +} + + +//// [/home/src/projects/project/app/Component.ts] +export const Component = () => {} + + +//// [/home/src/projects/project/app/tsconfig.json] +{ + "compilerOptions": { + "composite": true, + "outDir": "../app-dist/" + }, + "include": [ + "**/*" + ], + "exclude": [ + "**/*-demos.*" + ] +} + +//// [/home/src/projects/project/demos/helpers.ts] +export const foo = 1; + + +//// [/home/src/projects/project/demos/tsconfig.json] +{ + "compilerOptions": { + "composite": true, + "rootDir": "../", + "outDir": "../demos-dist/", + "paths": { + "demos/*": [ + "./*" + ] + } + }, + "include": [ + "**/*", + "../app/**/*-demos.*" + ] +} + +//// [/home/src/projects/project/tsconfig.json] +{ + "compilerOptions": { + "outDir": "./dist/" + }, + "references": [ + { + "path": "./demos/tsconfig.json" + }, + { + "path": "./app/tsconfig.json" + } + ] +} + +//// [/home/src/projects/random/random.ts] +export let a = 10; + +//// [/home/src/projects/random/tsconfig.json] +{ } + +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } + + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/home/src/projects/project/app/Component-demos.ts" + }, + "seq": 1, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined:: Result: /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/tsconfig.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/home/src/projects/project/app/tsconfig.json", + "reason": "Creating possible configured project for /home/src/projects/project/app/Component-demos.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /home/src/projects/project/app/tsconfig.json : { + "rootNames": [ + "/home/src/projects/project/app/Component.ts" + ], + "options": { + "composite": true, + "outDir": "/home/src/projects/project/app-dist", + "configFilePath": "/home/src/projects/project/app/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/app/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/app/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/Component.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project/app/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /home/src/projects/project/app/Component.ts Text-1 "export const Component = () => {}\n" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + Component.ts + Matched by include pattern '**/*' in 'tsconfig.json' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/home/src/projects/project/app/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "telemetry", + "body": { + "telemetryEventName": "projectInfo", + "payload": { + "projectId": "e045cfff085eecf970c7400c2ccce12615df3b6cac3c69591527cc19e385b065", + "fileStats": { + "js": 0, + "jsSize": 0, + "jsx": 0, + "jsxSize": 0, + "ts": 1, + "tsSize": 34, + "tsx": 0, + "tsxSize": 0, + "dts": 1, + "dtsSize": 334, + "deferred": 0, + "deferredSize": 0 + }, + "compilerOptions": { + "composite": true, + "outDir": "" + }, + "typeAcquisition": { + "enable": false, + "include": false, + "exclude": false + }, + "extends": false, + "files": false, + "include": true, + "exclude": true, + "compileOnSave": false, + "configFileName": "tsconfig.json", + "projectType": "configured", + "languageServiceEnabled": true, + "version": "FakeVersion" + } + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/home/src/projects/project/app/Component-demos.ts", + "configFile": "/home/src/projects/project/app/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /home/src/projects/project/app/Component-demos.ts SVC-1-0 "import * as helpers from 'demos/helpers';\nexport const demo = () => {\n helpers;\n}\n" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + Component-demos.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/home/src/projects/node_modules: *new* + {"pollingInterval":500} +/home/src/projects/node_modules/@types: *new* + {"pollingInterval":500} +/home/src/projects/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/app/jsconfig.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/app/node_modules: *new* + {"pollingInterval":500} +/home/src/projects/project/app/node_modules/@types: *new* + {"pollingInterval":500} +/home/src/projects/project/app/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/jsconfig.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/node_modules: *new* + {"pollingInterval":500} +/home/src/projects/project/node_modules/@types: *new* + {"pollingInterval":500} +/home/src/projects/project/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: *new* + {} +/home/src/projects/project/app/Component.ts: *new* + {} +/home/src/projects/project/app/tsconfig.json: *new* + {} +/home/src/projects/project/tsconfig.json: *new* + {} + +FsWatchesRecursive:: +/home/src/projects/project/app: *new* + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) *new* + projectStateVersion: 1 + projectProgramVersion: 1 +/home/src/projects/project/app/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + noOpenRef: true + +ScriptInfos:: +/a/lib/lib.d.ts *new* + version: Text-1 + containingProjects: 2 + /home/src/projects/project/app/tsconfig.json + /dev/null/inferredProject1* +/home/src/projects/project/app/Component-demos.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject1* *default* +/home/src/projects/project/app/Component.ts *new* + version: Text-1 + containingProjects: 1 + /home/src/projects/project/app/tsconfig.json + +Before running Timeout callback:: count: 0 +//// [/home/src/projects/project/demos/tsconfig.json] +{ + "compilerOptions": { + "composite": true, + "rootDir": "../", + "outDir": "../demos-dist/", + "paths": { + "demos/*": [ + "./*" + ] + } + }, + "include": [ + "**/*", + + ] +} + + +After running Timeout callback:: count: 0 + +Info seq [hh:mm:ss:mss] File: /home/src/projects/project/app/Component-demos.ts: + getDefaultProjectForFile: + /dev/null/inferredProject1* + findDefaultConfiguredProject: + undefined +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/home/src/projects/random/random.ts" + }, + "seq": 2, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/random/random.ts ProjectRootPath: undefined:: Result: /home/src/projects/random/tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /home/src/projects/random/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/random/tsconfig.json 2000 undefined Project: /home/src/projects/random/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/home/src/projects/random/tsconfig.json", + "reason": "Creating possible configured project for /home/src/projects/random/random.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /home/src/projects/random/tsconfig.json : { + "rootNames": [ + "/home/src/projects/random/random.ts" + ], + "options": { + "configFilePath": "/home/src/projects/random/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/random 1 undefined Config: /home/src/projects/random/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/random 1 undefined Config: /home/src/projects/random/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/random/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/random/package.json 2000 undefined Project: /home/src/projects/random/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/package.json 2000 undefined Project: /home/src/projects/random/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/random/node_modules/@types 1 undefined Project: /home/src/projects/random/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/random/node_modules/@types 1 undefined Project: /home/src/projects/random/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/random/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/random/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/random/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/home/src/projects/random/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /home/src/projects/random/random.ts SVC-1-0 "export let a = 10;" + + + ../../../../a/lib/lib.d.ts + Default library for target 'es5' + random.ts + Matched by default include pattern '**/*' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/home/src/projects/random/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "telemetry", + "body": { + "telemetryEventName": "projectInfo", + "payload": { + "projectId": "e22b756ee376200084d2e12c26227743b638008b743888b07aa480c1f77c0554", + "fileStats": { + "js": 0, + "jsSize": 0, + "jsx": 0, + "jsxSize": 0, + "ts": 1, + "tsSize": 18, + "tsx": 0, + "tsxSize": 0, + "dts": 1, + "dtsSize": 334, + "deferred": 0, + "deferredSize": 0 + }, + "compilerOptions": {}, + "typeAcquisition": { + "enable": false, + "include": false, + "exclude": false + }, + "extends": false, + "files": false, + "include": false, + "exclude": false, + "compileOnSave": false, + "configFileName": "tsconfig.json", + "projectType": "configured", + "languageServiceEnabled": true, + "version": "FakeVersion" + } + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/home/src/projects/random/random.ts", + "configFile": "/home/src/projects/random/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] `remove Project:: +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts + /home/src/projects/project/app/Component.ts + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + Component.ts + Matched by include pattern '**/*' in 'tsconfig.json' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/app/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/app/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/project/app/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/project/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/project/app/Component.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Project '/home/src/projects/random/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/random/random.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /home/src/projects/random/tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/home/src/projects/node_modules: + {"pollingInterval":500} +/home/src/projects/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/package.json: + {"pollingInterval":2000} +/home/src/projects/project/app/jsconfig.json: + {"pollingInterval":2000} +/home/src/projects/project/app/node_modules: + {"pollingInterval":500} +/home/src/projects/project/app/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/project/app/package.json: + {"pollingInterval":2000} +/home/src/projects/project/jsconfig.json: + {"pollingInterval":2000} +/home/src/projects/project/node_modules: + {"pollingInterval":500} +/home/src/projects/project/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/project/package.json: + {"pollingInterval":2000} +/home/src/projects/random/node_modules/@types: *new* + {"pollingInterval":500} +/home/src/projects/random/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/home/src/projects/project/app/tsconfig.json: + {} +/home/src/projects/project/tsconfig.json: + {} +/home/src/projects/random/tsconfig.json: *new* + {} + +FsWatches *deleted*:: +/home/src/projects/project/app/Component.ts: + {} + +FsWatchesRecursive:: +/home/src/projects/random: *new* + {} + +FsWatchesRecursive *deleted*:: +/home/src/projects/project/app: + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) + projectStateVersion: 1 + projectProgramVersion: 1 +/home/src/projects/project/app/tsconfig.json (Configured) *deleted* + projectStateVersion: 1 + projectProgramVersion: 1 + isClosed: true *changed* + noOpenRef: true +/home/src/projects/random/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + containingProjects: 2 *changed* + /dev/null/inferredProject1* + /home/src/projects/random/tsconfig.json *new* + /home/src/projects/project/app/tsconfig.json *deleted* +/home/src/projects/project/app/Component-demos.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject1* *default* +/home/src/projects/project/app/Component.ts *deleted* + version: Text-1 + containingProjects: 0 *changed* + /home/src/projects/project/app/tsconfig.json *deleted* +/home/src/projects/random/random.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /home/src/projects/random/tsconfig.json *default* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "close", + "arguments": { + "file": "/home/src/projects/random/random.ts" + }, + "seq": 3, + "type": "request" + } +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/random/random.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Project '/home/src/projects/random/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/home/src/projects/node_modules: + {"pollingInterval":500} +/home/src/projects/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/package.json: + {"pollingInterval":2000} +/home/src/projects/project/app/jsconfig.json: + {"pollingInterval":2000} +/home/src/projects/project/app/node_modules: + {"pollingInterval":500} +/home/src/projects/project/app/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/project/app/package.json: + {"pollingInterval":2000} +/home/src/projects/project/jsconfig.json: + {"pollingInterval":2000} +/home/src/projects/project/node_modules: + {"pollingInterval":500} +/home/src/projects/project/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/project/package.json: + {"pollingInterval":2000} +/home/src/projects/random/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/random/package.json: + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/home/src/projects/project/app/tsconfig.json: + {} +/home/src/projects/project/tsconfig.json: + {} +/home/src/projects/random/random.ts: *new* + {} +/home/src/projects/random/tsconfig.json: + {} + +FsWatchesRecursive:: +/home/src/projects/random: + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) + projectStateVersion: 1 + projectProgramVersion: 1 +/home/src/projects/random/tsconfig.json (Configured) *changed* + projectStateVersion: 1 + projectProgramVersion: 1 + noOpenRef: true *changed* + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 2 + /dev/null/inferredProject1* + /home/src/projects/random/tsconfig.json +/home/src/projects/project/app/Component-demos.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject1* *default* +/home/src/projects/random/random.ts *changed* + open: false *changed* + version: SVC-1-0 + containingProjects: 1 + /home/src/projects/random/tsconfig.json + +Info seq [hh:mm:ss:mss] File: /home/src/projects/project/app/Component-demos.ts: + getDefaultProjectForFile: + /dev/null/inferredProject1* + findDefaultConfiguredProject: + undefined +Before running Timeout callback:: count: 0 +//// [/home/src/projects/project/demos/tsconfig.json] +{ + "compilerOptions": { + "composite": true, + "rootDir": "../", + "outDir": "../demos-dist/", + "paths": { + "demos/*": [ + "./*" + ] + } + }, + "include": [ + "**/*", + "../app/**/*-demos.*" + ] +} + + +After running Timeout callback:: count: 0 + +Info seq [hh:mm:ss:mss] File: /home/src/projects/project/app/Component-demos.ts: + getDefaultProjectForFile: + /dev/null/inferredProject1* + findDefaultConfiguredProject: + undefined \ No newline at end of file diff --git a/tests/baselines/reference/tsserver/projectReferences/when-file-is-not-part-of-first-config-tree-found-demoConfig-change.js b/tests/baselines/reference/tsserver/projectReferences/when-file-is-not-part-of-first-config-tree-found-demoConfig-change.js new file mode 100644 index 0000000000000..5b259b72d227f --- /dev/null +++ b/tests/baselines/reference/tsserver/projectReferences/when-file-is-not-part-of-first-config-tree-found-demoConfig-change.js @@ -0,0 +1,718 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +Before request +//// [/home/src/projects/project/app/Component-demos.ts] +import * as helpers from 'demos/helpers'; +export const demo = () => { + helpers; +} + + +//// [/home/src/projects/project/app/Component.ts] +export const Component = () => {} + + +//// [/home/src/projects/project/app/tsconfig.json] +{ + "compilerOptions": { + "composite": true, + "outDir": "../app-dist/" + }, + "include": [ + "**/*" + ], + "exclude": [ + "**/*-demos.*" + ] +} + +//// [/home/src/projects/project/demos/helpers.ts] +export const foo = 1; + + +//// [/home/src/projects/project/demos/tsconfig.json] +{ + "compilerOptions": { + "composite": true, + "rootDir": "../", + "outDir": "../demos-dist/", + "paths": { + "demos/*": [ + "./*" + ] + } + }, + "include": [ + "**/*", + "../app/**/*-demos.*" + ] +} + +//// [/home/src/projects/project/tsconfig.json] +{ + "compilerOptions": { + "outDir": "./dist/" + }, + "references": [ + { + "path": "./demos/tsconfig.json" + }, + { + "path": "./app/tsconfig.json" + } + ] +} + +//// [/home/src/projects/random/random.ts] +export let a = 10; + +//// [/home/src/projects/random/tsconfig.json] +{ } + +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } + + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/home/src/projects/project/app/Component-demos.ts" + }, + "seq": 1, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined:: Result: /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/tsconfig.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/home/src/projects/project/app/tsconfig.json", + "reason": "Creating possible configured project for /home/src/projects/project/app/Component-demos.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /home/src/projects/project/app/tsconfig.json : { + "rootNames": [ + "/home/src/projects/project/app/Component.ts" + ], + "options": { + "composite": true, + "outDir": "/home/src/projects/project/app-dist", + "configFilePath": "/home/src/projects/project/app/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/app/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/app/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/Component.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project/app/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /home/src/projects/project/app/Component.ts Text-1 "export const Component = () => {}\n" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + Component.ts + Matched by include pattern '**/*' in 'tsconfig.json' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/home/src/projects/project/app/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "telemetry", + "body": { + "telemetryEventName": "projectInfo", + "payload": { + "projectId": "e045cfff085eecf970c7400c2ccce12615df3b6cac3c69591527cc19e385b065", + "fileStats": { + "js": 0, + "jsSize": 0, + "jsx": 0, + "jsxSize": 0, + "ts": 1, + "tsSize": 34, + "tsx": 0, + "tsxSize": 0, + "dts": 1, + "dtsSize": 334, + "deferred": 0, + "deferredSize": 0 + }, + "compilerOptions": { + "composite": true, + "outDir": "" + }, + "typeAcquisition": { + "enable": false, + "include": false, + "exclude": false + }, + "extends": false, + "files": false, + "include": true, + "exclude": true, + "compileOnSave": false, + "configFileName": "tsconfig.json", + "projectType": "configured", + "languageServiceEnabled": true, + "version": "FakeVersion" + } + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/home/src/projects/project/app/Component-demos.ts", + "configFile": "/home/src/projects/project/app/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /home/src/projects/project/app/Component-demos.ts SVC-1-0 "import * as helpers from 'demos/helpers';\nexport const demo = () => {\n helpers;\n}\n" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + Component-demos.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/home/src/projects/node_modules: *new* + {"pollingInterval":500} +/home/src/projects/node_modules/@types: *new* + {"pollingInterval":500} +/home/src/projects/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/app/jsconfig.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/app/node_modules: *new* + {"pollingInterval":500} +/home/src/projects/project/app/node_modules/@types: *new* + {"pollingInterval":500} +/home/src/projects/project/app/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/jsconfig.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/node_modules: *new* + {"pollingInterval":500} +/home/src/projects/project/node_modules/@types: *new* + {"pollingInterval":500} +/home/src/projects/project/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: *new* + {} +/home/src/projects/project/app/Component.ts: *new* + {} +/home/src/projects/project/app/tsconfig.json: *new* + {} +/home/src/projects/project/tsconfig.json: *new* + {} + +FsWatchesRecursive:: +/home/src/projects/project/app: *new* + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) *new* + projectStateVersion: 1 + projectProgramVersion: 1 +/home/src/projects/project/app/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + noOpenRef: true + +ScriptInfos:: +/a/lib/lib.d.ts *new* + version: Text-1 + containingProjects: 2 + /home/src/projects/project/app/tsconfig.json + /dev/null/inferredProject1* +/home/src/projects/project/app/Component-demos.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject1* *default* +/home/src/projects/project/app/Component.ts *new* + version: Text-1 + containingProjects: 1 + /home/src/projects/project/app/tsconfig.json + +Before running Timeout callback:: count: 0 +//// [/home/src/projects/project/demos/tsconfig.json] +{ + "compilerOptions": { + "composite": true, + "rootDir": "../", + "outDir": "../demos-dist/", + "paths": { + "demos/*": [ + "./*" + ] + } + }, + "include": [ + "**/*", + + ] +} + + +After running Timeout callback:: count: 0 + +Info seq [hh:mm:ss:mss] File: /home/src/projects/project/app/Component-demos.ts: + getDefaultProjectForFile: + /dev/null/inferredProject1* + findDefaultConfiguredProject: + undefined +Before running Timeout callback:: count: 0 +//// [/home/src/projects/project/demos/tsconfig.json] +{ + "compilerOptions": { + "composite": true, + "rootDir": "../", + "outDir": "../demos-dist/", + "paths": { + "demos/*": [ + "./*" + ] + } + }, + "include": [ + "**/*", + "../app/**/*-demos.*" + ] +} + + +After running Timeout callback:: count: 0 + +Info seq [hh:mm:ss:mss] File: /home/src/projects/project/app/Component-demos.ts: + getDefaultProjectForFile: + /dev/null/inferredProject1* + findDefaultConfiguredProject: + undefined +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/home/src/projects/random/random.ts" + }, + "seq": 2, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/random/random.ts ProjectRootPath: undefined:: Result: /home/src/projects/random/tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /home/src/projects/random/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/random/tsconfig.json 2000 undefined Project: /home/src/projects/random/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/home/src/projects/random/tsconfig.json", + "reason": "Creating possible configured project for /home/src/projects/random/random.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /home/src/projects/random/tsconfig.json : { + "rootNames": [ + "/home/src/projects/random/random.ts" + ], + "options": { + "configFilePath": "/home/src/projects/random/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/random 1 undefined Config: /home/src/projects/random/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/random 1 undefined Config: /home/src/projects/random/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/random/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/random/package.json 2000 undefined Project: /home/src/projects/random/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/package.json 2000 undefined Project: /home/src/projects/random/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/random/node_modules/@types 1 undefined Project: /home/src/projects/random/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/random/node_modules/@types 1 undefined Project: /home/src/projects/random/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/random/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/random/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/random/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/home/src/projects/random/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /home/src/projects/random/random.ts SVC-1-0 "export let a = 10;" + + + ../../../../a/lib/lib.d.ts + Default library for target 'es5' + random.ts + Matched by default include pattern '**/*' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/home/src/projects/random/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "telemetry", + "body": { + "telemetryEventName": "projectInfo", + "payload": { + "projectId": "e22b756ee376200084d2e12c26227743b638008b743888b07aa480c1f77c0554", + "fileStats": { + "js": 0, + "jsSize": 0, + "jsx": 0, + "jsxSize": 0, + "ts": 1, + "tsSize": 18, + "tsx": 0, + "tsxSize": 0, + "dts": 1, + "dtsSize": 334, + "deferred": 0, + "deferredSize": 0 + }, + "compilerOptions": {}, + "typeAcquisition": { + "enable": false, + "include": false, + "exclude": false + }, + "extends": false, + "files": false, + "include": false, + "exclude": false, + "compileOnSave": false, + "configFileName": "tsconfig.json", + "projectType": "configured", + "languageServiceEnabled": true, + "version": "FakeVersion" + } + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/home/src/projects/random/random.ts", + "configFile": "/home/src/projects/random/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] `remove Project:: +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts + /home/src/projects/project/app/Component.ts + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + Component.ts + Matched by include pattern '**/*' in 'tsconfig.json' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/app/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/app/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/project/app/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/project/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/project/app/Component.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Project '/home/src/projects/random/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/random/random.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /home/src/projects/random/tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/home/src/projects/node_modules: + {"pollingInterval":500} +/home/src/projects/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/package.json: + {"pollingInterval":2000} +/home/src/projects/project/app/jsconfig.json: + {"pollingInterval":2000} +/home/src/projects/project/app/node_modules: + {"pollingInterval":500} +/home/src/projects/project/app/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/project/app/package.json: + {"pollingInterval":2000} +/home/src/projects/project/jsconfig.json: + {"pollingInterval":2000} +/home/src/projects/project/node_modules: + {"pollingInterval":500} +/home/src/projects/project/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/project/package.json: + {"pollingInterval":2000} +/home/src/projects/random/node_modules/@types: *new* + {"pollingInterval":500} +/home/src/projects/random/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/home/src/projects/project/app/tsconfig.json: + {} +/home/src/projects/project/tsconfig.json: + {} +/home/src/projects/random/tsconfig.json: *new* + {} + +FsWatches *deleted*:: +/home/src/projects/project/app/Component.ts: + {} + +FsWatchesRecursive:: +/home/src/projects/random: *new* + {} + +FsWatchesRecursive *deleted*:: +/home/src/projects/project/app: + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) + projectStateVersion: 1 + projectProgramVersion: 1 +/home/src/projects/project/app/tsconfig.json (Configured) *deleted* + projectStateVersion: 1 + projectProgramVersion: 1 + isClosed: true *changed* + noOpenRef: true +/home/src/projects/random/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + containingProjects: 2 *changed* + /dev/null/inferredProject1* + /home/src/projects/random/tsconfig.json *new* + /home/src/projects/project/app/tsconfig.json *deleted* +/home/src/projects/project/app/Component-demos.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject1* *default* +/home/src/projects/project/app/Component.ts *deleted* + version: Text-1 + containingProjects: 0 *changed* + /home/src/projects/project/app/tsconfig.json *deleted* +/home/src/projects/random/random.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /home/src/projects/random/tsconfig.json *default* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "close", + "arguments": { + "file": "/home/src/projects/random/random.ts" + }, + "seq": 3, + "type": "request" + } +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/random/random.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Project '/home/src/projects/random/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/home/src/projects/node_modules: + {"pollingInterval":500} +/home/src/projects/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/package.json: + {"pollingInterval":2000} +/home/src/projects/project/app/jsconfig.json: + {"pollingInterval":2000} +/home/src/projects/project/app/node_modules: + {"pollingInterval":500} +/home/src/projects/project/app/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/project/app/package.json: + {"pollingInterval":2000} +/home/src/projects/project/jsconfig.json: + {"pollingInterval":2000} +/home/src/projects/project/node_modules: + {"pollingInterval":500} +/home/src/projects/project/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/project/package.json: + {"pollingInterval":2000} +/home/src/projects/random/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/random/package.json: + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/home/src/projects/project/app/tsconfig.json: + {} +/home/src/projects/project/tsconfig.json: + {} +/home/src/projects/random/random.ts: *new* + {} +/home/src/projects/random/tsconfig.json: + {} + +FsWatchesRecursive:: +/home/src/projects/random: + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) + projectStateVersion: 1 + projectProgramVersion: 1 +/home/src/projects/random/tsconfig.json (Configured) *changed* + projectStateVersion: 1 + projectProgramVersion: 1 + noOpenRef: true *changed* + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 2 + /dev/null/inferredProject1* + /home/src/projects/random/tsconfig.json +/home/src/projects/project/app/Component-demos.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject1* *default* +/home/src/projects/random/random.ts *changed* + open: false *changed* + version: SVC-1-0 + containingProjects: 1 + /home/src/projects/random/tsconfig.json + +Info seq [hh:mm:ss:mss] File: /home/src/projects/project/app/Component-demos.ts: + getDefaultProjectForFile: + /dev/null/inferredProject1* + findDefaultConfiguredProject: + undefined \ No newline at end of file diff --git a/tests/baselines/reference/tsserver/projectReferences/when-file-is-not-part-of-first-config-tree-found-finds-default-project.js b/tests/baselines/reference/tsserver/projectReferences/when-file-is-not-part-of-first-config-tree-found-finds-default-project.js new file mode 100644 index 0000000000000..08940ee55aac5 --- /dev/null +++ b/tests/baselines/reference/tsserver/projectReferences/when-file-is-not-part-of-first-config-tree-found-finds-default-project.js @@ -0,0 +1,1070 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +Before request +//// [/home/src/projects/project/app/Component-demos.ts] +import * as helpers from 'demos/helpers'; +export const demo = () => { + helpers; +} + + +//// [/home/src/projects/project/app/Component.ts] +export const Component = () => {} + + +//// [/home/src/projects/project/app/tsconfig.json] +{ + "compilerOptions": { + "composite": true, + "outDir": "../app-dist/" + }, + "include": [ + "**/*" + ], + "exclude": [ + "**/*-demos.*" + ] +} + +//// [/home/src/projects/project/demos/helpers.ts] +export const foo = 1; + + +//// [/home/src/projects/project/demos/tsconfig.json] +{ + "compilerOptions": { + "composite": true, + "rootDir": "../", + "outDir": "../demos-dist/", + "paths": { + "demos/*": [ + "./*" + ] + } + }, + "include": [ + "**/*", + "../app/**/*-demos.*" + ] +} + +//// [/home/src/projects/project/tsconfig.json] +{ + "compilerOptions": { + "outDir": "./dist/" + }, + "references": [ + { + "path": "./demos/tsconfig.json" + }, + { + "path": "./app/tsconfig.json" + } + ] +} + +//// [/home/src/projects/random/random.ts] +export let a = 10; + +//// [/home/src/projects/random/tsconfig.json] +{ } + +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } + + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/home/src/projects/project/app/Component-demos.ts" + }, + "seq": 1, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined:: Result: /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/tsconfig.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/home/src/projects/project/app/tsconfig.json", + "reason": "Creating possible configured project for /home/src/projects/project/app/Component-demos.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /home/src/projects/project/app/tsconfig.json : { + "rootNames": [ + "/home/src/projects/project/app/Component.ts" + ], + "options": { + "composite": true, + "outDir": "/home/src/projects/project/app-dist", + "configFilePath": "/home/src/projects/project/app/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/app/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/app/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/Component.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project/app/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /home/src/projects/project/app/Component.ts Text-1 "export const Component = () => {}\n" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + Component.ts + Matched by include pattern '**/*' in 'tsconfig.json' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/home/src/projects/project/app/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "telemetry", + "body": { + "telemetryEventName": "projectInfo", + "payload": { + "projectId": "e045cfff085eecf970c7400c2ccce12615df3b6cac3c69591527cc19e385b065", + "fileStats": { + "js": 0, + "jsSize": 0, + "jsx": 0, + "jsxSize": 0, + "ts": 1, + "tsSize": 34, + "tsx": 0, + "tsxSize": 0, + "dts": 1, + "dtsSize": 334, + "deferred": 0, + "deferredSize": 0 + }, + "compilerOptions": { + "composite": true, + "outDir": "" + }, + "typeAcquisition": { + "enable": false, + "include": false, + "exclude": false + }, + "extends": false, + "files": false, + "include": true, + "exclude": true, + "compileOnSave": false, + "configFileName": "tsconfig.json", + "projectType": "configured", + "languageServiceEnabled": true, + "version": "FakeVersion" + } + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/home/src/projects/project/app/Component-demos.ts", + "configFile": "/home/src/projects/project/app/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /home/src/projects/project/app/Component-demos.ts SVC-1-0 "import * as helpers from 'demos/helpers';\nexport const demo = () => {\n helpers;\n}\n" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + Component-demos.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/home/src/projects/node_modules: *new* + {"pollingInterval":500} +/home/src/projects/node_modules/@types: *new* + {"pollingInterval":500} +/home/src/projects/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/app/jsconfig.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/app/node_modules: *new* + {"pollingInterval":500} +/home/src/projects/project/app/node_modules/@types: *new* + {"pollingInterval":500} +/home/src/projects/project/app/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/jsconfig.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/node_modules: *new* + {"pollingInterval":500} +/home/src/projects/project/node_modules/@types: *new* + {"pollingInterval":500} +/home/src/projects/project/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: *new* + {} +/home/src/projects/project/app/Component.ts: *new* + {} +/home/src/projects/project/app/tsconfig.json: *new* + {} +/home/src/projects/project/tsconfig.json: *new* + {} + +FsWatchesRecursive:: +/home/src/projects/project/app: *new* + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) *new* + projectStateVersion: 1 + projectProgramVersion: 1 +/home/src/projects/project/app/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + noOpenRef: true + +ScriptInfos:: +/a/lib/lib.d.ts *new* + version: Text-1 + containingProjects: 2 + /home/src/projects/project/app/tsconfig.json + /dev/null/inferredProject1* +/home/src/projects/project/app/Component-demos.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject1* *default* +/home/src/projects/project/app/Component.ts *new* + version: Text-1 + containingProjects: 1 + /home/src/projects/project/app/tsconfig.json + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "geterr", + "arguments": { + "delay": 0, + "files": [ + "/home/src/projects/project/app/Component-demos.ts" + ] + }, + "seq": 2, + "type": "request" + } +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +Timeout callback:: count: 1 +1: checkOne *new* + +Before running Timeout callback:: count: 1 +1: checkOne + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "syntaxDiag", + "body": { + "file": "/home/src/projects/project/app/Component-demos.ts", + "diagnostics": [] + } + } +After running Timeout callback:: count: 0 + +Immedidate callback:: count: 1 +1: semanticCheck *new* + +Before running Immedidate callback:: count: 1 +1: semanticCheck + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "semanticDiag", + "body": { + "file": "/home/src/projects/project/app/Component-demos.ts", + "diagnostics": [ + { + "start": { + "line": 1, + "offset": 26 + }, + "end": { + "line": 1, + "offset": 41 + }, + "text": "Cannot find module 'demos/helpers' or its corresponding type declarations.", + "code": 2307, + "category": "error" + } + ] + } + } +After running Immedidate callback:: count: 1 + +Immedidate callback:: count: 1 +2: suggestionCheck *new* + +Before running Immedidate callback:: count: 1 +2: suggestionCheck + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "suggestionDiag", + "body": { + "file": "/home/src/projects/project/app/Component-demos.ts", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "requestCompleted", + "body": { + "request_seq": 2 + } + } +After running Immedidate callback:: count: 0 + +Info seq [hh:mm:ss:mss] File: /home/src/projects/project/app/Component-demos.ts: + getDefaultProjectForFile: + /dev/null/inferredProject1* + findDefaultConfiguredProject: + undefined +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/home/src/projects/random/random.ts" + }, + "seq": 3, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/random/random.ts ProjectRootPath: undefined:: Result: /home/src/projects/random/tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /home/src/projects/random/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/random/tsconfig.json 2000 undefined Project: /home/src/projects/random/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/home/src/projects/random/tsconfig.json", + "reason": "Creating possible configured project for /home/src/projects/random/random.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /home/src/projects/random/tsconfig.json : { + "rootNames": [ + "/home/src/projects/random/random.ts" + ], + "options": { + "configFilePath": "/home/src/projects/random/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/random 1 undefined Config: /home/src/projects/random/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/random 1 undefined Config: /home/src/projects/random/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/random/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/random/package.json 2000 undefined Project: /home/src/projects/random/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/package.json 2000 undefined Project: /home/src/projects/random/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/random/node_modules/@types 1 undefined Project: /home/src/projects/random/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/random/node_modules/@types 1 undefined Project: /home/src/projects/random/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/random/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/random/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/random/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/home/src/projects/random/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /home/src/projects/random/random.ts SVC-1-0 "export let a = 10;" + + + ../../../../a/lib/lib.d.ts + Default library for target 'es5' + random.ts + Matched by default include pattern '**/*' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/home/src/projects/random/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "telemetry", + "body": { + "telemetryEventName": "projectInfo", + "payload": { + "projectId": "e22b756ee376200084d2e12c26227743b638008b743888b07aa480c1f77c0554", + "fileStats": { + "js": 0, + "jsSize": 0, + "jsx": 0, + "jsxSize": 0, + "ts": 1, + "tsSize": 18, + "tsx": 0, + "tsxSize": 0, + "dts": 1, + "dtsSize": 334, + "deferred": 0, + "deferredSize": 0 + }, + "compilerOptions": {}, + "typeAcquisition": { + "enable": false, + "include": false, + "exclude": false + }, + "extends": false, + "files": false, + "include": false, + "exclude": false, + "compileOnSave": false, + "configFileName": "tsconfig.json", + "projectType": "configured", + "languageServiceEnabled": true, + "version": "FakeVersion" + } + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/home/src/projects/random/random.ts", + "configFile": "/home/src/projects/random/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] `remove Project:: +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts + /home/src/projects/project/app/Component.ts + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + Component.ts + Matched by include pattern '**/*' in 'tsconfig.json' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/app/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/app/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/project/app/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/project/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/project/app/Component.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Project '/home/src/projects/random/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/random/random.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /home/src/projects/random/tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/home/src/projects/node_modules: + {"pollingInterval":500} +/home/src/projects/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/package.json: + {"pollingInterval":2000} +/home/src/projects/project/app/jsconfig.json: + {"pollingInterval":2000} +/home/src/projects/project/app/node_modules: + {"pollingInterval":500} +/home/src/projects/project/app/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/project/app/package.json: + {"pollingInterval":2000} +/home/src/projects/project/jsconfig.json: + {"pollingInterval":2000} +/home/src/projects/project/node_modules: + {"pollingInterval":500} +/home/src/projects/project/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/project/package.json: + {"pollingInterval":2000} +/home/src/projects/random/node_modules/@types: *new* + {"pollingInterval":500} +/home/src/projects/random/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/home/src/projects/project/app/tsconfig.json: + {} +/home/src/projects/project/tsconfig.json: + {} +/home/src/projects/random/tsconfig.json: *new* + {} + +FsWatches *deleted*:: +/home/src/projects/project/app/Component.ts: + {} + +FsWatchesRecursive:: +/home/src/projects/random: *new* + {} + +FsWatchesRecursive *deleted*:: +/home/src/projects/project/app: + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) + projectStateVersion: 1 + projectProgramVersion: 1 +/home/src/projects/project/app/tsconfig.json (Configured) *deleted* + projectStateVersion: 1 + projectProgramVersion: 1 + isClosed: true *changed* + noOpenRef: true +/home/src/projects/random/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + containingProjects: 2 *changed* + /dev/null/inferredProject1* + /home/src/projects/random/tsconfig.json *new* + /home/src/projects/project/app/tsconfig.json *deleted* +/home/src/projects/project/app/Component-demos.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject1* *default* +/home/src/projects/project/app/Component.ts *deleted* + version: Text-1 + containingProjects: 0 *changed* + /home/src/projects/project/app/tsconfig.json *deleted* +/home/src/projects/random/random.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /home/src/projects/random/tsconfig.json *default* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "close", + "arguments": { + "file": "/home/src/projects/random/random.ts" + }, + "seq": 4, + "type": "request" + } +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/random/random.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Project '/home/src/projects/random/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/home/src/projects/node_modules: + {"pollingInterval":500} +/home/src/projects/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/package.json: + {"pollingInterval":2000} +/home/src/projects/project/app/jsconfig.json: + {"pollingInterval":2000} +/home/src/projects/project/app/node_modules: + {"pollingInterval":500} +/home/src/projects/project/app/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/project/app/package.json: + {"pollingInterval":2000} +/home/src/projects/project/jsconfig.json: + {"pollingInterval":2000} +/home/src/projects/project/node_modules: + {"pollingInterval":500} +/home/src/projects/project/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/project/package.json: + {"pollingInterval":2000} +/home/src/projects/random/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/random/package.json: + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/home/src/projects/project/app/tsconfig.json: + {} +/home/src/projects/project/tsconfig.json: + {} +/home/src/projects/random/random.ts: *new* + {} +/home/src/projects/random/tsconfig.json: + {} + +FsWatchesRecursive:: +/home/src/projects/random: + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) + projectStateVersion: 1 + projectProgramVersion: 1 +/home/src/projects/random/tsconfig.json (Configured) *changed* + projectStateVersion: 1 + projectProgramVersion: 1 + noOpenRef: true *changed* + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 2 + /dev/null/inferredProject1* + /home/src/projects/random/tsconfig.json +/home/src/projects/project/app/Component-demos.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject1* *default* +/home/src/projects/random/random.ts *changed* + open: false *changed* + version: SVC-1-0 + containingProjects: 1 + /home/src/projects/random/tsconfig.json + +Info seq [hh:mm:ss:mss] File: /home/src/projects/project/app/Component-demos.ts: + getDefaultProjectForFile: + /dev/null/inferredProject1* + findDefaultConfiguredProject: + undefined +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "close", + "arguments": { + "file": "/home/src/projects/project/app/Component-demos.ts" + }, + "seq": 5, + "type": "request" + } +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/project/app/tsconfig.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/project/app/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/project/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/project/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/Component-demos.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Project '/home/src/projects/random/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/home/src/projects/node_modules: + {"pollingInterval":500} +/home/src/projects/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/package.json: + {"pollingInterval":2000} +/home/src/projects/project/app/node_modules: + {"pollingInterval":500} +/home/src/projects/project/app/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/project/app/package.json: + {"pollingInterval":2000} +/home/src/projects/project/node_modules: + {"pollingInterval":500} +/home/src/projects/project/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/project/package.json: + {"pollingInterval":2000} +/home/src/projects/random/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/random/package.json: + {"pollingInterval":2000} + +PolledWatches *deleted*:: +/home/src/projects/project/app/jsconfig.json: + {"pollingInterval":2000} +/home/src/projects/project/jsconfig.json: + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/home/src/projects/project/app/Component-demos.ts: *new* + {} +/home/src/projects/random/random.ts: + {} +/home/src/projects/random/tsconfig.json: + {} + +FsWatches *deleted*:: +/home/src/projects/project/app/tsconfig.json: + {} +/home/src/projects/project/tsconfig.json: + {} + +FsWatchesRecursive:: +/home/src/projects/random: + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) *changed* + projectStateVersion: 2 *changed* + projectProgramVersion: 1 + dirty: true *changed* + isOrphan: true *changed* +/home/src/projects/random/tsconfig.json (Configured) + projectStateVersion: 1 + projectProgramVersion: 1 + noOpenRef: true + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 2 + /dev/null/inferredProject1* + /home/src/projects/random/tsconfig.json +/home/src/projects/project/app/Component-demos.ts *changed* + open: false *changed* + version: SVC-1-0 + containingProjects: 0 *changed* + /dev/null/inferredProject1* *deleted* +/home/src/projects/random/random.ts + version: SVC-1-0 + containingProjects: 1 + /home/src/projects/random/tsconfig.json + +Info seq [hh:mm:ss:mss] File: /home/src/projects/project/app/Component-demos.ts: + getDefaultProjectForFile: + undefined + findDefaultConfiguredProject: + undefined +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/home/src/projects/random/random.ts" + }, + "seq": 6, + "type": "request" + } +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/random/random.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/random/random.ts ProjectRootPath: undefined:: Result: /home/src/projects/random/tsconfig.json +Info seq [hh:mm:ss:mss] `remove Project:: +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts + /home/src/projects/project/app/Component-demos.ts + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + Component-demos.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/project/app/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/project/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/project/app/Component-demos.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Project '/home/src/projects/random/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/random/random.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /home/src/projects/random/tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/home/src/projects/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/package.json: + {"pollingInterval":2000} +/home/src/projects/random/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/random/package.json: + {"pollingInterval":2000} + +PolledWatches *deleted*:: +/home/src/projects/node_modules: + {"pollingInterval":500} +/home/src/projects/project/app/node_modules: + {"pollingInterval":500} +/home/src/projects/project/app/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/project/app/package.json: + {"pollingInterval":2000} +/home/src/projects/project/node_modules: + {"pollingInterval":500} +/home/src/projects/project/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/project/package.json: + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/home/src/projects/random/tsconfig.json: + {} + +FsWatches *deleted*:: +/home/src/projects/project/app/Component-demos.ts: + {} +/home/src/projects/random/random.ts: + {} + +FsWatchesRecursive:: +/home/src/projects/random: + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) *deleted* + projectStateVersion: 2 + projectProgramVersion: 1 + dirty: true + isClosed: true *changed* + isOrphan: true +/home/src/projects/random/tsconfig.json (Configured) *changed* + projectStateVersion: 1 + projectProgramVersion: 1 + noOpenRef: false *changed* + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + containingProjects: 1 *changed* + /home/src/projects/random/tsconfig.json + /dev/null/inferredProject1* *deleted* +/home/src/projects/project/app/Component-demos.ts *deleted* + version: SVC-1-0 + containingProjects: 0 +/home/src/projects/random/random.ts (Open) *changed* + open: true *changed* + version: SVC-1-0 + containingProjects: 1 + /home/src/projects/random/tsconfig.json *default* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "close", + "arguments": { + "file": "/home/src/projects/random/random.ts" + }, + "seq": 7, + "type": "request" + } +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/random/random.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Project '/home/src/projects/random/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/home/src/projects/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/package.json: + {"pollingInterval":2000} +/home/src/projects/random/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/random/package.json: + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/home/src/projects/random/random.ts: *new* + {} +/home/src/projects/random/tsconfig.json: + {} + +FsWatchesRecursive:: +/home/src/projects/random: + {} + +Projects:: +/home/src/projects/random/tsconfig.json (Configured) *changed* + projectStateVersion: 1 + projectProgramVersion: 1 + noOpenRef: true *changed* + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 1 + /home/src/projects/random/tsconfig.json +/home/src/projects/random/random.ts *changed* + open: false *changed* + version: SVC-1-0 + containingProjects: 1 + /home/src/projects/random/tsconfig.json + +Info seq [hh:mm:ss:mss] File: /home/src/projects/project/app/Component-demos.ts: + getDefaultProjectForFile: + undefined + findDefaultConfiguredProject: + undefined \ No newline at end of file diff --git a/tests/baselines/reference/tsserver/projectReferences/when-file-is-not-part-of-first-config-tree-found-reload-projects.js b/tests/baselines/reference/tsserver/projectReferences/when-file-is-not-part-of-first-config-tree-found-reload-projects.js new file mode 100644 index 0000000000000..75b1ef84e49c1 --- /dev/null +++ b/tests/baselines/reference/tsserver/projectReferences/when-file-is-not-part-of-first-config-tree-found-reload-projects.js @@ -0,0 +1,548 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +Before request +//// [/home/src/projects/project/app/Component-demos.ts] +import * as helpers from 'demos/helpers'; +export const demo = () => { + helpers; +} + + +//// [/home/src/projects/project/app/Component.ts] +export const Component = () => {} + + +//// [/home/src/projects/project/app/tsconfig.json] +{ + "compilerOptions": { + "composite": true, + "outDir": "../app-dist/" + }, + "include": [ + "**/*" + ], + "exclude": [ + "**/*-demos.*" + ] +} + +//// [/home/src/projects/project/demos/helpers.ts] +export const foo = 1; + + +//// [/home/src/projects/project/demos/tsconfig.json] +{ + "compilerOptions": { + "composite": true, + "rootDir": "../", + "outDir": "../demos-dist/", + "paths": { + "demos/*": [ + "./*" + ] + } + }, + "include": [ + "**/*", + "../app/**/*-demos.*" + ] +} + +//// [/home/src/projects/project/tsconfig.json] +{ + "compilerOptions": { + "outDir": "./dist/" + }, + "references": [ + { + "path": "./demos/tsconfig.json" + }, + { + "path": "./app/tsconfig.json" + } + ] +} + +//// [/home/src/projects/random/random.ts] +export let a = 10; + +//// [/home/src/projects/random/tsconfig.json] +{ } + +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } + + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/home/src/projects/project/app/Component-demos.ts" + }, + "seq": 1, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined:: Result: /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/tsconfig.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/home/src/projects/project/app/tsconfig.json", + "reason": "Creating possible configured project for /home/src/projects/project/app/Component-demos.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /home/src/projects/project/app/tsconfig.json : { + "rootNames": [ + "/home/src/projects/project/app/Component.ts" + ], + "options": { + "composite": true, + "outDir": "/home/src/projects/project/app-dist", + "configFilePath": "/home/src/projects/project/app/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/app/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/app/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/Component.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project/app/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /home/src/projects/project/app/Component.ts Text-1 "export const Component = () => {}\n" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + Component.ts + Matched by include pattern '**/*' in 'tsconfig.json' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/home/src/projects/project/app/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "telemetry", + "body": { + "telemetryEventName": "projectInfo", + "payload": { + "projectId": "e045cfff085eecf970c7400c2ccce12615df3b6cac3c69591527cc19e385b065", + "fileStats": { + "js": 0, + "jsSize": 0, + "jsx": 0, + "jsxSize": 0, + "ts": 1, + "tsSize": 34, + "tsx": 0, + "tsxSize": 0, + "dts": 1, + "dtsSize": 334, + "deferred": 0, + "deferredSize": 0 + }, + "compilerOptions": { + "composite": true, + "outDir": "" + }, + "typeAcquisition": { + "enable": false, + "include": false, + "exclude": false + }, + "extends": false, + "files": false, + "include": true, + "exclude": true, + "compileOnSave": false, + "configFileName": "tsconfig.json", + "projectType": "configured", + "languageServiceEnabled": true, + "version": "FakeVersion" + } + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/home/src/projects/project/app/Component-demos.ts", + "configFile": "/home/src/projects/project/app/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /home/src/projects/project/app/Component-demos.ts SVC-1-0 "import * as helpers from 'demos/helpers';\nexport const demo = () => {\n helpers;\n}\n" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + Component-demos.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/home/src/projects/node_modules: *new* + {"pollingInterval":500} +/home/src/projects/node_modules/@types: *new* + {"pollingInterval":500} +/home/src/projects/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/app/jsconfig.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/app/node_modules: *new* + {"pollingInterval":500} +/home/src/projects/project/app/node_modules/@types: *new* + {"pollingInterval":500} +/home/src/projects/project/app/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/jsconfig.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/node_modules: *new* + {"pollingInterval":500} +/home/src/projects/project/node_modules/@types: *new* + {"pollingInterval":500} +/home/src/projects/project/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: *new* + {} +/home/src/projects/project/app/Component.ts: *new* + {} +/home/src/projects/project/app/tsconfig.json: *new* + {} +/home/src/projects/project/tsconfig.json: *new* + {} + +FsWatchesRecursive:: +/home/src/projects/project/app: *new* + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) *new* + projectStateVersion: 1 + projectProgramVersion: 1 +/home/src/projects/project/app/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + noOpenRef: true + +ScriptInfos:: +/a/lib/lib.d.ts *new* + version: Text-1 + containingProjects: 2 + /home/src/projects/project/app/tsconfig.json + /dev/null/inferredProject1* +/home/src/projects/project/app/Component-demos.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject1* *default* +/home/src/projects/project/app/Component.ts *new* + version: Text-1 + containingProjects: 1 + /home/src/projects/project/app/tsconfig.json + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "reloadProjects", + "seq": 2, + "type": "request" + } +Info seq [hh:mm:ss:mss] reload projects. +Info seq [hh:mm:ss:mss] Scheduled: /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Scheduled: /home/src/projects/project/app/tsconfig.json, Cancelled earlier one +Info seq [hh:mm:ss:mss] Scheduled: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined:: Result: /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/project/app/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/project/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/home/src/projects/project/app/tsconfig.json", + "reason": "User requested reload projects: Creating possible configured project for /home/src/projects/project/app/Component-demos.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /home/src/projects/project/app/tsconfig.json : { + "rootNames": [ + "/home/src/projects/project/app/Component.ts" + ], + "options": { + "composite": true, + "outDir": "/home/src/projects/project/app-dist", + "configFilePath": "/home/src/projects/project/app/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project/app/tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /home/src/projects/project/app/Component.ts Text-1 "export const Component = () => {}\n" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + Component.ts + Matched by include pattern '**/*' in 'tsconfig.json' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/home/src/projects/project/app/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/home/src/projects/project/app/tsconfig.json", + "configFile": "/home/src/projects/project/app/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/project/app/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/project/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (0) NoProgram + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 2 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /home/src/projects/project/app/Component-demos.ts SVC-1-0 "import * as helpers from 'demos/helpers';\nexport const demo = () => {\n helpers;\n}\n" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + Component-demos.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] After ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] After reloading projects.. +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/home/src/projects/node_modules: + {"pollingInterval":500} *new* +/home/src/projects/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/package.json: + {"pollingInterval":2000} +/home/src/projects/project/app/jsconfig.json: + {"pollingInterval":2000} +/home/src/projects/project/app/node_modules: + {"pollingInterval":500} *new* +/home/src/projects/project/app/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/project/app/package.json: + {"pollingInterval":2000} +/home/src/projects/project/jsconfig.json: + {"pollingInterval":2000} +/home/src/projects/project/node_modules: + {"pollingInterval":500} *new* +/home/src/projects/project/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/project/package.json: + {"pollingInterval":2000} + +PolledWatches *deleted*:: +/home/src/projects/node_modules: + {"pollingInterval":500} +/home/src/projects/project/app/node_modules: + {"pollingInterval":500} +/home/src/projects/project/node_modules: + {"pollingInterval":500} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/home/src/projects/project/app/Component.ts: + {} +/home/src/projects/project/app/tsconfig.json: + {} +/home/src/projects/project/tsconfig.json: + {} + +FsWatchesRecursive:: +/home/src/projects/project/app: + {} + +Timeout callback:: count: 0 + +Projects:: +/dev/null/inferredProject1* (Inferred) *changed* + projectStateVersion: 2 *changed* + projectProgramVersion: 2 *changed* +/home/src/projects/project/app/tsconfig.json (Configured) *changed* + projectStateVersion: 2 *changed* + projectProgramVersion: 2 *changed* + noOpenRef: true diff --git a/tests/baselines/reference/tsserver/projectReferences/when-file-is-not-part-of-first-config-tree-found-solutionConfig-delete-with-file-open-before-revert.js b/tests/baselines/reference/tsserver/projectReferences/when-file-is-not-part-of-first-config-tree-found-solutionConfig-delete-with-file-open-before-revert.js new file mode 100644 index 0000000000000..e62b9720f20cc --- /dev/null +++ b/tests/baselines/reference/tsserver/projectReferences/when-file-is-not-part-of-first-config-tree-found-solutionConfig-delete-with-file-open-before-revert.js @@ -0,0 +1,963 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +Before request +//// [/home/src/projects/project/app/Component-demos.ts] +import * as helpers from 'demos/helpers'; +export const demo = () => { + helpers; +} + + +//// [/home/src/projects/project/app/Component.ts] +export const Component = () => {} + + +//// [/home/src/projects/project/app/tsconfig.json] +{ + "compilerOptions": { + "composite": true, + "outDir": "../app-dist/" + }, + "include": [ + "**/*" + ], + "exclude": [ + "**/*-demos.*" + ] +} + +//// [/home/src/projects/project/demos/helpers.ts] +export const foo = 1; + + +//// [/home/src/projects/project/demos/tsconfig.json] +{ + "compilerOptions": { + "composite": true, + "rootDir": "../", + "outDir": "../demos-dist/", + "paths": { + "demos/*": [ + "./*" + ] + } + }, + "include": [ + "**/*", + "../app/**/*-demos.*" + ] +} + +//// [/home/src/projects/project/tsconfig.json] +{ + "compilerOptions": { + "outDir": "./dist/" + }, + "references": [ + { + "path": "./demos/tsconfig.json" + }, + { + "path": "./app/tsconfig.json" + } + ] +} + +//// [/home/src/projects/random/random.ts] +export let a = 10; + +//// [/home/src/projects/random/tsconfig.json] +{ } + +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } + + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/home/src/projects/project/app/Component-demos.ts" + }, + "seq": 1, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined:: Result: /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/tsconfig.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/home/src/projects/project/app/tsconfig.json", + "reason": "Creating possible configured project for /home/src/projects/project/app/Component-demos.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /home/src/projects/project/app/tsconfig.json : { + "rootNames": [ + "/home/src/projects/project/app/Component.ts" + ], + "options": { + "composite": true, + "outDir": "/home/src/projects/project/app-dist", + "configFilePath": "/home/src/projects/project/app/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/app/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/app/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/Component.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project/app/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /home/src/projects/project/app/Component.ts Text-1 "export const Component = () => {}\n" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + Component.ts + Matched by include pattern '**/*' in 'tsconfig.json' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/home/src/projects/project/app/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "telemetry", + "body": { + "telemetryEventName": "projectInfo", + "payload": { + "projectId": "e045cfff085eecf970c7400c2ccce12615df3b6cac3c69591527cc19e385b065", + "fileStats": { + "js": 0, + "jsSize": 0, + "jsx": 0, + "jsxSize": 0, + "ts": 1, + "tsSize": 34, + "tsx": 0, + "tsxSize": 0, + "dts": 1, + "dtsSize": 334, + "deferred": 0, + "deferredSize": 0 + }, + "compilerOptions": { + "composite": true, + "outDir": "" + }, + "typeAcquisition": { + "enable": false, + "include": false, + "exclude": false + }, + "extends": false, + "files": false, + "include": true, + "exclude": true, + "compileOnSave": false, + "configFileName": "tsconfig.json", + "projectType": "configured", + "languageServiceEnabled": true, + "version": "FakeVersion" + } + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/home/src/projects/project/app/Component-demos.ts", + "configFile": "/home/src/projects/project/app/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /home/src/projects/project/app/Component-demos.ts SVC-1-0 "import * as helpers from 'demos/helpers';\nexport const demo = () => {\n helpers;\n}\n" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + Component-demos.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/home/src/projects/node_modules: *new* + {"pollingInterval":500} +/home/src/projects/node_modules/@types: *new* + {"pollingInterval":500} +/home/src/projects/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/app/jsconfig.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/app/node_modules: *new* + {"pollingInterval":500} +/home/src/projects/project/app/node_modules/@types: *new* + {"pollingInterval":500} +/home/src/projects/project/app/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/jsconfig.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/node_modules: *new* + {"pollingInterval":500} +/home/src/projects/project/node_modules/@types: *new* + {"pollingInterval":500} +/home/src/projects/project/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: *new* + {} +/home/src/projects/project/app/Component.ts: *new* + {} +/home/src/projects/project/app/tsconfig.json: *new* + {} +/home/src/projects/project/tsconfig.json: *new* + {} + +FsWatchesRecursive:: +/home/src/projects/project/app: *new* + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) *new* + projectStateVersion: 1 + projectProgramVersion: 1 +/home/src/projects/project/app/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + noOpenRef: true + +ScriptInfos:: +/a/lib/lib.d.ts *new* + version: Text-1 + containingProjects: 2 + /home/src/projects/project/app/tsconfig.json + /dev/null/inferredProject1* +/home/src/projects/project/app/Component-demos.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject1* *default* +/home/src/projects/project/app/Component.ts *new* + version: Text-1 + containingProjects: 1 + /home/src/projects/project/app/tsconfig.json + +Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /home/src/projects/project/tsconfig.json 2:: WatchInfo: /home/src/projects/project/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined:: Result: /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /home/src/projects/project/tsconfig.json 2:: WatchInfo: /home/src/projects/project/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Before running Timeout callback:: count: 1 +1: *ensureProjectForOpenFiles* +//// [/home/src/projects/project/tsconfig.json] deleted + +Timeout callback:: count: 1 +1: *ensureProjectForOpenFiles* *new* + +Host is moving to new time +Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] After ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] got projects updated in background /home/src/projects/project/app/Component-demos.ts +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectsUpdatedInBackground", + "body": { + "openFiles": [ + "/home/src/projects/project/app/Component-demos.ts" + ] + } + } +After running Timeout callback:: count: 0 + +Info seq [hh:mm:ss:mss] File: /home/src/projects/project/app/Component-demos.ts: + getDefaultProjectForFile: + /dev/null/inferredProject1* + findDefaultConfiguredProject: + undefined +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/home/src/projects/random/random.ts" + }, + "seq": 2, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/random/random.ts ProjectRootPath: undefined:: Result: /home/src/projects/random/tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /home/src/projects/random/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/random/tsconfig.json 2000 undefined Project: /home/src/projects/random/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/home/src/projects/random/tsconfig.json", + "reason": "Creating possible configured project for /home/src/projects/random/random.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /home/src/projects/random/tsconfig.json : { + "rootNames": [ + "/home/src/projects/random/random.ts" + ], + "options": { + "configFilePath": "/home/src/projects/random/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/random 1 undefined Config: /home/src/projects/random/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/random 1 undefined Config: /home/src/projects/random/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/random/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/random/package.json 2000 undefined Project: /home/src/projects/random/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/package.json 2000 undefined Project: /home/src/projects/random/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/random/node_modules/@types 1 undefined Project: /home/src/projects/random/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/random/node_modules/@types 1 undefined Project: /home/src/projects/random/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/random/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/random/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/random/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/home/src/projects/random/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /home/src/projects/random/random.ts SVC-1-0 "export let a = 10;" + + + ../../../../a/lib/lib.d.ts + Default library for target 'es5' + random.ts + Matched by default include pattern '**/*' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/home/src/projects/random/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "telemetry", + "body": { + "telemetryEventName": "projectInfo", + "payload": { + "projectId": "e22b756ee376200084d2e12c26227743b638008b743888b07aa480c1f77c0554", + "fileStats": { + "js": 0, + "jsSize": 0, + "jsx": 0, + "jsxSize": 0, + "ts": 1, + "tsSize": 18, + "tsx": 0, + "tsxSize": 0, + "dts": 1, + "dtsSize": 334, + "deferred": 0, + "deferredSize": 0 + }, + "compilerOptions": {}, + "typeAcquisition": { + "enable": false, + "include": false, + "exclude": false + }, + "extends": false, + "files": false, + "include": false, + "exclude": false, + "compileOnSave": false, + "configFileName": "tsconfig.json", + "projectType": "configured", + "languageServiceEnabled": true, + "version": "FakeVersion" + } + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/home/src/projects/random/random.ts", + "configFile": "/home/src/projects/random/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] `remove Project:: +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts + /home/src/projects/project/app/Component.ts + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + Component.ts + Matched by include pattern '**/*' in 'tsconfig.json' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/app/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/app/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/project/app/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/project/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/project/app/Component.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Project '/home/src/projects/random/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/random/random.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /home/src/projects/random/tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/home/src/projects/node_modules: + {"pollingInterval":500} +/home/src/projects/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/package.json: + {"pollingInterval":2000} +/home/src/projects/project/app/jsconfig.json: + {"pollingInterval":2000} +/home/src/projects/project/app/node_modules: + {"pollingInterval":500} +/home/src/projects/project/app/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/project/app/package.json: + {"pollingInterval":2000} +/home/src/projects/project/jsconfig.json: + {"pollingInterval":2000} +/home/src/projects/project/node_modules: + {"pollingInterval":500} +/home/src/projects/project/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/project/package.json: + {"pollingInterval":2000} +/home/src/projects/random/node_modules/@types: *new* + {"pollingInterval":500} +/home/src/projects/random/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/home/src/projects/project/app/tsconfig.json: + {} +/home/src/projects/project/tsconfig.json: + {} +/home/src/projects/random/tsconfig.json: *new* + {} + +FsWatches *deleted*:: +/home/src/projects/project/app/Component.ts: + {} + +FsWatchesRecursive:: +/home/src/projects/random: *new* + {} + +FsWatchesRecursive *deleted*:: +/home/src/projects/project/app: + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) + projectStateVersion: 1 + projectProgramVersion: 1 +/home/src/projects/project/app/tsconfig.json (Configured) *deleted* + projectStateVersion: 1 + projectProgramVersion: 1 + isClosed: true *changed* + noOpenRef: true +/home/src/projects/random/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + containingProjects: 2 *changed* + /dev/null/inferredProject1* + /home/src/projects/random/tsconfig.json *new* + /home/src/projects/project/app/tsconfig.json *deleted* +/home/src/projects/project/app/Component-demos.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject1* *default* +/home/src/projects/project/app/Component.ts *deleted* + version: Text-1 + containingProjects: 0 *changed* + /home/src/projects/project/app/tsconfig.json *deleted* +/home/src/projects/random/random.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /home/src/projects/random/tsconfig.json *default* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "close", + "arguments": { + "file": "/home/src/projects/random/random.ts" + }, + "seq": 3, + "type": "request" + } +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/random/random.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Project '/home/src/projects/random/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/home/src/projects/node_modules: + {"pollingInterval":500} +/home/src/projects/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/package.json: + {"pollingInterval":2000} +/home/src/projects/project/app/jsconfig.json: + {"pollingInterval":2000} +/home/src/projects/project/app/node_modules: + {"pollingInterval":500} +/home/src/projects/project/app/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/project/app/package.json: + {"pollingInterval":2000} +/home/src/projects/project/jsconfig.json: + {"pollingInterval":2000} +/home/src/projects/project/node_modules: + {"pollingInterval":500} +/home/src/projects/project/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/project/package.json: + {"pollingInterval":2000} +/home/src/projects/random/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/random/package.json: + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/home/src/projects/project/app/tsconfig.json: + {} +/home/src/projects/project/tsconfig.json: + {} +/home/src/projects/random/random.ts: *new* + {} +/home/src/projects/random/tsconfig.json: + {} + +FsWatchesRecursive:: +/home/src/projects/random: + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) + projectStateVersion: 1 + projectProgramVersion: 1 +/home/src/projects/random/tsconfig.json (Configured) *changed* + projectStateVersion: 1 + projectProgramVersion: 1 + noOpenRef: true *changed* + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 2 + /dev/null/inferredProject1* + /home/src/projects/random/tsconfig.json +/home/src/projects/project/app/Component-demos.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject1* *default* +/home/src/projects/random/random.ts *changed* + open: false *changed* + version: SVC-1-0 + containingProjects: 1 + /home/src/projects/random/tsconfig.json + +Info seq [hh:mm:ss:mss] File: /home/src/projects/project/app/Component-demos.ts: + getDefaultProjectForFile: + /dev/null/inferredProject1* + findDefaultConfiguredProject: + undefined +Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /home/src/projects/project/tsconfig.json 0:: WatchInfo: /home/src/projects/project/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined:: Result: /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] Scheduled: /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /home/src/projects/project/tsconfig.json 0:: WatchInfo: /home/src/projects/project/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Before running Timeout callback:: count: 2 +2: /home/src/projects/project/app/tsconfig.json +3: *ensureProjectForOpenFiles* +//// [/home/src/projects/project/tsconfig.json] +{ + "compilerOptions": { + "outDir": "./dist/" + }, + "references": [ + { + "path": "./demos/tsconfig.json" + }, + { + "path": "./app/tsconfig.json" + } + ] +} + + +Timeout callback:: count: 2 +2: /home/src/projects/project/app/tsconfig.json *new* +3: *ensureProjectForOpenFiles* *new* + +Projects:: +/dev/null/inferredProject1* (Inferred) + projectStateVersion: 1 + projectProgramVersion: 1 +/home/src/projects/project/app/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 0 + dirty: true +/home/src/projects/random/tsconfig.json (Configured) + projectStateVersion: 1 + projectProgramVersion: 1 + noOpenRef: true + +Info seq [hh:mm:ss:mss] Running: /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/home/src/projects/project/app/tsconfig.json", + "reason": "Change in config file /home/src/projects/project/tsconfig.json detected, Creating possible configured project for /home/src/projects/project/app/Component-demos.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /home/src/projects/project/app/tsconfig.json : { + "rootNames": [ + "/home/src/projects/project/app/Component.ts" + ], + "options": { + "composite": true, + "outDir": "/home/src/projects/project/app-dist", + "configFilePath": "/home/src/projects/project/app/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/app/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/app/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/Component.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project/app/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /home/src/projects/project/app/Component.ts Text-2 "export const Component = () => {}\n" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + Component.ts + Matched by include pattern '**/*' in 'tsconfig.json' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/home/src/projects/project/app/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/home/src/projects/project/app/tsconfig.json", + "configFile": "/home/src/projects/project/app/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/home/src/projects/random/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] After ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/home/src/projects/random/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] got projects updated in background /home/src/projects/project/app/Component-demos.ts +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectsUpdatedInBackground", + "body": { + "openFiles": [ + "/home/src/projects/project/app/Component-demos.ts" + ] + } + } +After running Timeout callback:: count: 0 + +PolledWatches:: +/home/src/projects/node_modules: + {"pollingInterval":500} +/home/src/projects/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/package.json: + {"pollingInterval":2000} +/home/src/projects/project/app/jsconfig.json: + {"pollingInterval":2000} +/home/src/projects/project/app/node_modules: + {"pollingInterval":500} +/home/src/projects/project/app/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/project/app/package.json: + {"pollingInterval":2000} +/home/src/projects/project/jsconfig.json: + {"pollingInterval":2000} +/home/src/projects/project/node_modules: + {"pollingInterval":500} +/home/src/projects/project/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/project/package.json: + {"pollingInterval":2000} +/home/src/projects/random/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/random/package.json: + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/home/src/projects/project/app/Component.ts: *new* + {} +/home/src/projects/project/app/tsconfig.json: + {} +/home/src/projects/project/tsconfig.json: + {} +/home/src/projects/random/random.ts: + {} +/home/src/projects/random/tsconfig.json: + {} + +FsWatchesRecursive:: +/home/src/projects/project/app: *new* + {} +/home/src/projects/random: + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) + projectStateVersion: 1 + projectProgramVersion: 1 +/home/src/projects/project/app/tsconfig.json (Configured) *changed* + projectStateVersion: 1 + projectProgramVersion: 1 *changed* + dirty: false *changed* + noOpenRef: true *changed* +/home/src/projects/random/tsconfig.json (Configured) + projectStateVersion: 1 + projectProgramVersion: 1 + noOpenRef: true + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + containingProjects: 3 *changed* + /dev/null/inferredProject1* + /home/src/projects/random/tsconfig.json + /home/src/projects/project/app/tsconfig.json *new* +/home/src/projects/project/app/Component-demos.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject1* *default* +/home/src/projects/project/app/Component.ts *new* + version: Text-2 + containingProjects: 1 + /home/src/projects/project/app/tsconfig.json +/home/src/projects/random/random.ts + version: SVC-1-0 + containingProjects: 1 + /home/src/projects/random/tsconfig.json + +Info seq [hh:mm:ss:mss] File: /home/src/projects/project/app/Component-demos.ts: + getDefaultProjectForFile: + /dev/null/inferredProject1* + findDefaultConfiguredProject: + undefined \ No newline at end of file diff --git a/tests/baselines/reference/tsserver/projectReferences/when-file-is-not-part-of-first-config-tree-found-solutionConfig-delete.js b/tests/baselines/reference/tsserver/projectReferences/when-file-is-not-part-of-first-config-tree-found-solutionConfig-delete.js new file mode 100644 index 0000000000000..7c4153c45cdfb --- /dev/null +++ b/tests/baselines/reference/tsserver/projectReferences/when-file-is-not-part-of-first-config-tree-found-solutionConfig-delete.js @@ -0,0 +1,790 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +Before request +//// [/home/src/projects/project/app/Component-demos.ts] +import * as helpers from 'demos/helpers'; +export const demo = () => { + helpers; +} + + +//// [/home/src/projects/project/app/Component.ts] +export const Component = () => {} + + +//// [/home/src/projects/project/app/tsconfig.json] +{ + "compilerOptions": { + "composite": true, + "outDir": "../app-dist/" + }, + "include": [ + "**/*" + ], + "exclude": [ + "**/*-demos.*" + ] +} + +//// [/home/src/projects/project/demos/helpers.ts] +export const foo = 1; + + +//// [/home/src/projects/project/demos/tsconfig.json] +{ + "compilerOptions": { + "composite": true, + "rootDir": "../", + "outDir": "../demos-dist/", + "paths": { + "demos/*": [ + "./*" + ] + } + }, + "include": [ + "**/*", + "../app/**/*-demos.*" + ] +} + +//// [/home/src/projects/project/tsconfig.json] +{ + "compilerOptions": { + "outDir": "./dist/" + }, + "references": [ + { + "path": "./demos/tsconfig.json" + }, + { + "path": "./app/tsconfig.json" + } + ] +} + +//// [/home/src/projects/random/random.ts] +export let a = 10; + +//// [/home/src/projects/random/tsconfig.json] +{ } + +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } + + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/home/src/projects/project/app/Component-demos.ts" + }, + "seq": 1, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined:: Result: /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/tsconfig.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/home/src/projects/project/app/tsconfig.json", + "reason": "Creating possible configured project for /home/src/projects/project/app/Component-demos.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /home/src/projects/project/app/tsconfig.json : { + "rootNames": [ + "/home/src/projects/project/app/Component.ts" + ], + "options": { + "composite": true, + "outDir": "/home/src/projects/project/app-dist", + "configFilePath": "/home/src/projects/project/app/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/app/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/app/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/Component.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project/app/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /home/src/projects/project/app/Component.ts Text-1 "export const Component = () => {}\n" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + Component.ts + Matched by include pattern '**/*' in 'tsconfig.json' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/home/src/projects/project/app/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "telemetry", + "body": { + "telemetryEventName": "projectInfo", + "payload": { + "projectId": "e045cfff085eecf970c7400c2ccce12615df3b6cac3c69591527cc19e385b065", + "fileStats": { + "js": 0, + "jsSize": 0, + "jsx": 0, + "jsxSize": 0, + "ts": 1, + "tsSize": 34, + "tsx": 0, + "tsxSize": 0, + "dts": 1, + "dtsSize": 334, + "deferred": 0, + "deferredSize": 0 + }, + "compilerOptions": { + "composite": true, + "outDir": "" + }, + "typeAcquisition": { + "enable": false, + "include": false, + "exclude": false + }, + "extends": false, + "files": false, + "include": true, + "exclude": true, + "compileOnSave": false, + "configFileName": "tsconfig.json", + "projectType": "configured", + "languageServiceEnabled": true, + "version": "FakeVersion" + } + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/home/src/projects/project/app/Component-demos.ts", + "configFile": "/home/src/projects/project/app/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /home/src/projects/project/app/Component-demos.ts SVC-1-0 "import * as helpers from 'demos/helpers';\nexport const demo = () => {\n helpers;\n}\n" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + Component-demos.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/home/src/projects/node_modules: *new* + {"pollingInterval":500} +/home/src/projects/node_modules/@types: *new* + {"pollingInterval":500} +/home/src/projects/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/app/jsconfig.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/app/node_modules: *new* + {"pollingInterval":500} +/home/src/projects/project/app/node_modules/@types: *new* + {"pollingInterval":500} +/home/src/projects/project/app/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/jsconfig.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/node_modules: *new* + {"pollingInterval":500} +/home/src/projects/project/node_modules/@types: *new* + {"pollingInterval":500} +/home/src/projects/project/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: *new* + {} +/home/src/projects/project/app/Component.ts: *new* + {} +/home/src/projects/project/app/tsconfig.json: *new* + {} +/home/src/projects/project/tsconfig.json: *new* + {} + +FsWatchesRecursive:: +/home/src/projects/project/app: *new* + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) *new* + projectStateVersion: 1 + projectProgramVersion: 1 +/home/src/projects/project/app/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + noOpenRef: true + +ScriptInfos:: +/a/lib/lib.d.ts *new* + version: Text-1 + containingProjects: 2 + /home/src/projects/project/app/tsconfig.json + /dev/null/inferredProject1* +/home/src/projects/project/app/Component-demos.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject1* *default* +/home/src/projects/project/app/Component.ts *new* + version: Text-1 + containingProjects: 1 + /home/src/projects/project/app/tsconfig.json + +Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /home/src/projects/project/tsconfig.json 2:: WatchInfo: /home/src/projects/project/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined:: Result: /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /home/src/projects/project/tsconfig.json 2:: WatchInfo: /home/src/projects/project/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Before running Timeout callback:: count: 1 +1: *ensureProjectForOpenFiles* +//// [/home/src/projects/project/tsconfig.json] deleted + +Timeout callback:: count: 1 +1: *ensureProjectForOpenFiles* *new* + +Host is moving to new time +Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] After ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] got projects updated in background /home/src/projects/project/app/Component-demos.ts +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectsUpdatedInBackground", + "body": { + "openFiles": [ + "/home/src/projects/project/app/Component-demos.ts" + ] + } + } +After running Timeout callback:: count: 0 + +Info seq [hh:mm:ss:mss] File: /home/src/projects/project/app/Component-demos.ts: + getDefaultProjectForFile: + /dev/null/inferredProject1* + findDefaultConfiguredProject: + undefined +Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /home/src/projects/project/tsconfig.json 0:: WatchInfo: /home/src/projects/project/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined:: Result: /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /home/src/projects/project/tsconfig.json 0:: WatchInfo: /home/src/projects/project/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Before running Timeout callback:: count: 1 +2: *ensureProjectForOpenFiles* +//// [/home/src/projects/project/tsconfig.json] +{ + "compilerOptions": { + "outDir": "./dist/" + }, + "references": [ + { + "path": "./demos/tsconfig.json" + }, + { + "path": "./app/tsconfig.json" + } + ] +} + + +Timeout callback:: count: 1 +2: *ensureProjectForOpenFiles* *new* + +Host is moving to new time +Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] After ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] got projects updated in background /home/src/projects/project/app/Component-demos.ts +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectsUpdatedInBackground", + "body": { + "openFiles": [ + "/home/src/projects/project/app/Component-demos.ts" + ] + } + } +After running Timeout callback:: count: 0 + +Info seq [hh:mm:ss:mss] File: /home/src/projects/project/app/Component-demos.ts: + getDefaultProjectForFile: + /dev/null/inferredProject1* + findDefaultConfiguredProject: + undefined +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/home/src/projects/random/random.ts" + }, + "seq": 2, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/random/random.ts ProjectRootPath: undefined:: Result: /home/src/projects/random/tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /home/src/projects/random/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/random/tsconfig.json 2000 undefined Project: /home/src/projects/random/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/home/src/projects/random/tsconfig.json", + "reason": "Creating possible configured project for /home/src/projects/random/random.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /home/src/projects/random/tsconfig.json : { + "rootNames": [ + "/home/src/projects/random/random.ts" + ], + "options": { + "configFilePath": "/home/src/projects/random/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/random 1 undefined Config: /home/src/projects/random/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/random 1 undefined Config: /home/src/projects/random/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/random/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/random/package.json 2000 undefined Project: /home/src/projects/random/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/package.json 2000 undefined Project: /home/src/projects/random/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/random/node_modules/@types 1 undefined Project: /home/src/projects/random/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/random/node_modules/@types 1 undefined Project: /home/src/projects/random/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/random/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/random/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/random/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/home/src/projects/random/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /home/src/projects/random/random.ts SVC-1-0 "export let a = 10;" + + + ../../../../a/lib/lib.d.ts + Default library for target 'es5' + random.ts + Matched by default include pattern '**/*' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/home/src/projects/random/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "telemetry", + "body": { + "telemetryEventName": "projectInfo", + "payload": { + "projectId": "e22b756ee376200084d2e12c26227743b638008b743888b07aa480c1f77c0554", + "fileStats": { + "js": 0, + "jsSize": 0, + "jsx": 0, + "jsxSize": 0, + "ts": 1, + "tsSize": 18, + "tsx": 0, + "tsxSize": 0, + "dts": 1, + "dtsSize": 334, + "deferred": 0, + "deferredSize": 0 + }, + "compilerOptions": {}, + "typeAcquisition": { + "enable": false, + "include": false, + "exclude": false + }, + "extends": false, + "files": false, + "include": false, + "exclude": false, + "compileOnSave": false, + "configFileName": "tsconfig.json", + "projectType": "configured", + "languageServiceEnabled": true, + "version": "FakeVersion" + } + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/home/src/projects/random/random.ts", + "configFile": "/home/src/projects/random/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] `remove Project:: +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts + /home/src/projects/project/app/Component.ts + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + Component.ts + Matched by include pattern '**/*' in 'tsconfig.json' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/app/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/app/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/project/app/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/project/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/project/app/Component.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Project '/home/src/projects/random/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/random/random.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /home/src/projects/random/tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/home/src/projects/node_modules: + {"pollingInterval":500} +/home/src/projects/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/package.json: + {"pollingInterval":2000} +/home/src/projects/project/app/jsconfig.json: + {"pollingInterval":2000} +/home/src/projects/project/app/node_modules: + {"pollingInterval":500} +/home/src/projects/project/app/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/project/app/package.json: + {"pollingInterval":2000} +/home/src/projects/project/jsconfig.json: + {"pollingInterval":2000} +/home/src/projects/project/node_modules: + {"pollingInterval":500} +/home/src/projects/project/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/project/package.json: + {"pollingInterval":2000} +/home/src/projects/random/node_modules/@types: *new* + {"pollingInterval":500} +/home/src/projects/random/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/home/src/projects/project/app/tsconfig.json: + {} +/home/src/projects/project/tsconfig.json: + {} +/home/src/projects/random/tsconfig.json: *new* + {} + +FsWatches *deleted*:: +/home/src/projects/project/app/Component.ts: + {} + +FsWatchesRecursive:: +/home/src/projects/random: *new* + {} + +FsWatchesRecursive *deleted*:: +/home/src/projects/project/app: + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) + projectStateVersion: 1 + projectProgramVersion: 1 +/home/src/projects/project/app/tsconfig.json (Configured) *deleted* + projectStateVersion: 1 + projectProgramVersion: 1 + isClosed: true *changed* + noOpenRef: true +/home/src/projects/random/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + containingProjects: 2 *changed* + /dev/null/inferredProject1* + /home/src/projects/random/tsconfig.json *new* + /home/src/projects/project/app/tsconfig.json *deleted* +/home/src/projects/project/app/Component-demos.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject1* *default* +/home/src/projects/project/app/Component.ts *deleted* + version: Text-1 + containingProjects: 0 *changed* + /home/src/projects/project/app/tsconfig.json *deleted* +/home/src/projects/random/random.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /home/src/projects/random/tsconfig.json *default* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "close", + "arguments": { + "file": "/home/src/projects/random/random.ts" + }, + "seq": 3, + "type": "request" + } +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/random/random.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Project '/home/src/projects/random/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/home/src/projects/node_modules: + {"pollingInterval":500} +/home/src/projects/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/package.json: + {"pollingInterval":2000} +/home/src/projects/project/app/jsconfig.json: + {"pollingInterval":2000} +/home/src/projects/project/app/node_modules: + {"pollingInterval":500} +/home/src/projects/project/app/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/project/app/package.json: + {"pollingInterval":2000} +/home/src/projects/project/jsconfig.json: + {"pollingInterval":2000} +/home/src/projects/project/node_modules: + {"pollingInterval":500} +/home/src/projects/project/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/project/package.json: + {"pollingInterval":2000} +/home/src/projects/random/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/random/package.json: + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/home/src/projects/project/app/tsconfig.json: + {} +/home/src/projects/project/tsconfig.json: + {} +/home/src/projects/random/random.ts: *new* + {} +/home/src/projects/random/tsconfig.json: + {} + +FsWatchesRecursive:: +/home/src/projects/random: + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) + projectStateVersion: 1 + projectProgramVersion: 1 +/home/src/projects/random/tsconfig.json (Configured) *changed* + projectStateVersion: 1 + projectProgramVersion: 1 + noOpenRef: true *changed* + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 2 + /dev/null/inferredProject1* + /home/src/projects/random/tsconfig.json +/home/src/projects/project/app/Component-demos.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject1* *default* +/home/src/projects/random/random.ts *changed* + open: false *changed* + version: SVC-1-0 + containingProjects: 1 + /home/src/projects/random/tsconfig.json + +Info seq [hh:mm:ss:mss] File: /home/src/projects/project/app/Component-demos.ts: + getDefaultProjectForFile: + /dev/null/inferredProject1* + findDefaultConfiguredProject: + undefined \ No newline at end of file diff --git a/tests/baselines/reference/tsserver/projectReferences/when-file-is-not-part-of-first-config-tree-found-solutionConfig-without-reference-to-demo-with-file-open-before-revert.js b/tests/baselines/reference/tsserver/projectReferences/when-file-is-not-part-of-first-config-tree-found-solutionConfig-without-reference-to-demo-with-file-open-before-revert.js new file mode 100644 index 0000000000000..779bdb9fc70bc --- /dev/null +++ b/tests/baselines/reference/tsserver/projectReferences/when-file-is-not-part-of-first-config-tree-found-solutionConfig-without-reference-to-demo-with-file-open-before-revert.js @@ -0,0 +1,974 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +Before request +//// [/home/src/projects/project/app/Component-demos.ts] +import * as helpers from 'demos/helpers'; +export const demo = () => { + helpers; +} + + +//// [/home/src/projects/project/app/Component.ts] +export const Component = () => {} + + +//// [/home/src/projects/project/app/tsconfig.json] +{ + "compilerOptions": { + "composite": true, + "outDir": "../app-dist/" + }, + "include": [ + "**/*" + ], + "exclude": [ + "**/*-demos.*" + ] +} + +//// [/home/src/projects/project/demos/helpers.ts] +export const foo = 1; + + +//// [/home/src/projects/project/demos/tsconfig.json] +{ + "compilerOptions": { + "composite": true, + "rootDir": "../", + "outDir": "../demos-dist/", + "paths": { + "demos/*": [ + "./*" + ] + } + }, + "include": [ + "**/*", + "../app/**/*-demos.*" + ] +} + +//// [/home/src/projects/project/tsconfig.json] +{ + "compilerOptions": { + "outDir": "./dist/" + }, + "references": [ + { + "path": "./demos/tsconfig.json" + }, + { + "path": "./app/tsconfig.json" + } + ] +} + +//// [/home/src/projects/random/random.ts] +export let a = 10; + +//// [/home/src/projects/random/tsconfig.json] +{ } + +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } + + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/home/src/projects/project/app/Component-demos.ts" + }, + "seq": 1, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined:: Result: /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/tsconfig.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/home/src/projects/project/app/tsconfig.json", + "reason": "Creating possible configured project for /home/src/projects/project/app/Component-demos.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /home/src/projects/project/app/tsconfig.json : { + "rootNames": [ + "/home/src/projects/project/app/Component.ts" + ], + "options": { + "composite": true, + "outDir": "/home/src/projects/project/app-dist", + "configFilePath": "/home/src/projects/project/app/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/app/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/app/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/Component.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project/app/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /home/src/projects/project/app/Component.ts Text-1 "export const Component = () => {}\n" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + Component.ts + Matched by include pattern '**/*' in 'tsconfig.json' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/home/src/projects/project/app/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "telemetry", + "body": { + "telemetryEventName": "projectInfo", + "payload": { + "projectId": "e045cfff085eecf970c7400c2ccce12615df3b6cac3c69591527cc19e385b065", + "fileStats": { + "js": 0, + "jsSize": 0, + "jsx": 0, + "jsxSize": 0, + "ts": 1, + "tsSize": 34, + "tsx": 0, + "tsxSize": 0, + "dts": 1, + "dtsSize": 334, + "deferred": 0, + "deferredSize": 0 + }, + "compilerOptions": { + "composite": true, + "outDir": "" + }, + "typeAcquisition": { + "enable": false, + "include": false, + "exclude": false + }, + "extends": false, + "files": false, + "include": true, + "exclude": true, + "compileOnSave": false, + "configFileName": "tsconfig.json", + "projectType": "configured", + "languageServiceEnabled": true, + "version": "FakeVersion" + } + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/home/src/projects/project/app/Component-demos.ts", + "configFile": "/home/src/projects/project/app/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /home/src/projects/project/app/Component-demos.ts SVC-1-0 "import * as helpers from 'demos/helpers';\nexport const demo = () => {\n helpers;\n}\n" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + Component-demos.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/home/src/projects/node_modules: *new* + {"pollingInterval":500} +/home/src/projects/node_modules/@types: *new* + {"pollingInterval":500} +/home/src/projects/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/app/jsconfig.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/app/node_modules: *new* + {"pollingInterval":500} +/home/src/projects/project/app/node_modules/@types: *new* + {"pollingInterval":500} +/home/src/projects/project/app/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/jsconfig.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/node_modules: *new* + {"pollingInterval":500} +/home/src/projects/project/node_modules/@types: *new* + {"pollingInterval":500} +/home/src/projects/project/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: *new* + {} +/home/src/projects/project/app/Component.ts: *new* + {} +/home/src/projects/project/app/tsconfig.json: *new* + {} +/home/src/projects/project/tsconfig.json: *new* + {} + +FsWatchesRecursive:: +/home/src/projects/project/app: *new* + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) *new* + projectStateVersion: 1 + projectProgramVersion: 1 +/home/src/projects/project/app/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + noOpenRef: true + +ScriptInfos:: +/a/lib/lib.d.ts *new* + version: Text-1 + containingProjects: 2 + /home/src/projects/project/app/tsconfig.json + /dev/null/inferredProject1* +/home/src/projects/project/app/Component-demos.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject1* *default* +/home/src/projects/project/app/Component.ts *new* + version: Text-1 + containingProjects: 1 + /home/src/projects/project/app/tsconfig.json + +Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /home/src/projects/project/tsconfig.json 1:: WatchInfo: /home/src/projects/project/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined:: Result: /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /home/src/projects/project/tsconfig.json 1:: WatchInfo: /home/src/projects/project/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Before running Timeout callback:: count: 1 +1: *ensureProjectForOpenFiles* +//// [/home/src/projects/project/tsconfig.json] +{ + "compilerOptions": { + "outDir": "./dist/" + }, + "references": [ + { + "path": "./app/tsconfig.json" + } + ] +} + + +Timeout callback:: count: 1 +1: *ensureProjectForOpenFiles* *new* + +Host is moving to new time +Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] After ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] got projects updated in background /home/src/projects/project/app/Component-demos.ts +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectsUpdatedInBackground", + "body": { + "openFiles": [ + "/home/src/projects/project/app/Component-demos.ts" + ] + } + } +After running Timeout callback:: count: 0 + +Info seq [hh:mm:ss:mss] File: /home/src/projects/project/app/Component-demos.ts: + getDefaultProjectForFile: + /dev/null/inferredProject1* + findDefaultConfiguredProject: + undefined +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/home/src/projects/random/random.ts" + }, + "seq": 2, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/random/random.ts ProjectRootPath: undefined:: Result: /home/src/projects/random/tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /home/src/projects/random/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/random/tsconfig.json 2000 undefined Project: /home/src/projects/random/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/home/src/projects/random/tsconfig.json", + "reason": "Creating possible configured project for /home/src/projects/random/random.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /home/src/projects/random/tsconfig.json : { + "rootNames": [ + "/home/src/projects/random/random.ts" + ], + "options": { + "configFilePath": "/home/src/projects/random/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/random 1 undefined Config: /home/src/projects/random/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/random 1 undefined Config: /home/src/projects/random/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/random/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/random/package.json 2000 undefined Project: /home/src/projects/random/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/package.json 2000 undefined Project: /home/src/projects/random/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/random/node_modules/@types 1 undefined Project: /home/src/projects/random/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/random/node_modules/@types 1 undefined Project: /home/src/projects/random/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/random/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/random/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/random/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/home/src/projects/random/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /home/src/projects/random/random.ts SVC-1-0 "export let a = 10;" + + + ../../../../a/lib/lib.d.ts + Default library for target 'es5' + random.ts + Matched by default include pattern '**/*' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/home/src/projects/random/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "telemetry", + "body": { + "telemetryEventName": "projectInfo", + "payload": { + "projectId": "e22b756ee376200084d2e12c26227743b638008b743888b07aa480c1f77c0554", + "fileStats": { + "js": 0, + "jsSize": 0, + "jsx": 0, + "jsxSize": 0, + "ts": 1, + "tsSize": 18, + "tsx": 0, + "tsxSize": 0, + "dts": 1, + "dtsSize": 334, + "deferred": 0, + "deferredSize": 0 + }, + "compilerOptions": {}, + "typeAcquisition": { + "enable": false, + "include": false, + "exclude": false + }, + "extends": false, + "files": false, + "include": false, + "exclude": false, + "compileOnSave": false, + "configFileName": "tsconfig.json", + "projectType": "configured", + "languageServiceEnabled": true, + "version": "FakeVersion" + } + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/home/src/projects/random/random.ts", + "configFile": "/home/src/projects/random/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] `remove Project:: +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts + /home/src/projects/project/app/Component.ts + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + Component.ts + Matched by include pattern '**/*' in 'tsconfig.json' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/app/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/app/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/project/app/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/project/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/project/app/Component.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Project '/home/src/projects/random/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/random/random.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /home/src/projects/random/tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/home/src/projects/node_modules: + {"pollingInterval":500} +/home/src/projects/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/package.json: + {"pollingInterval":2000} +/home/src/projects/project/app/jsconfig.json: + {"pollingInterval":2000} +/home/src/projects/project/app/node_modules: + {"pollingInterval":500} +/home/src/projects/project/app/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/project/app/package.json: + {"pollingInterval":2000} +/home/src/projects/project/jsconfig.json: + {"pollingInterval":2000} +/home/src/projects/project/node_modules: + {"pollingInterval":500} +/home/src/projects/project/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/project/package.json: + {"pollingInterval":2000} +/home/src/projects/random/node_modules/@types: *new* + {"pollingInterval":500} +/home/src/projects/random/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/home/src/projects/project/app/tsconfig.json: + {} +/home/src/projects/project/tsconfig.json: + {} +/home/src/projects/random/tsconfig.json: *new* + {} + +FsWatches *deleted*:: +/home/src/projects/project/app/Component.ts: + {} + +FsWatchesRecursive:: +/home/src/projects/random: *new* + {} + +FsWatchesRecursive *deleted*:: +/home/src/projects/project/app: + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) + projectStateVersion: 1 + projectProgramVersion: 1 +/home/src/projects/project/app/tsconfig.json (Configured) *deleted* + projectStateVersion: 1 + projectProgramVersion: 1 + isClosed: true *changed* + noOpenRef: true +/home/src/projects/random/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + containingProjects: 2 *changed* + /dev/null/inferredProject1* + /home/src/projects/random/tsconfig.json *new* + /home/src/projects/project/app/tsconfig.json *deleted* +/home/src/projects/project/app/Component-demos.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject1* *default* +/home/src/projects/project/app/Component.ts *deleted* + version: Text-1 + containingProjects: 0 *changed* + /home/src/projects/project/app/tsconfig.json *deleted* +/home/src/projects/random/random.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /home/src/projects/random/tsconfig.json *default* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "close", + "arguments": { + "file": "/home/src/projects/random/random.ts" + }, + "seq": 3, + "type": "request" + } +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/random/random.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Project '/home/src/projects/random/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/home/src/projects/node_modules: + {"pollingInterval":500} +/home/src/projects/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/package.json: + {"pollingInterval":2000} +/home/src/projects/project/app/jsconfig.json: + {"pollingInterval":2000} +/home/src/projects/project/app/node_modules: + {"pollingInterval":500} +/home/src/projects/project/app/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/project/app/package.json: + {"pollingInterval":2000} +/home/src/projects/project/jsconfig.json: + {"pollingInterval":2000} +/home/src/projects/project/node_modules: + {"pollingInterval":500} +/home/src/projects/project/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/project/package.json: + {"pollingInterval":2000} +/home/src/projects/random/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/random/package.json: + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/home/src/projects/project/app/tsconfig.json: + {} +/home/src/projects/project/tsconfig.json: + {} +/home/src/projects/random/random.ts: *new* + {} +/home/src/projects/random/tsconfig.json: + {} + +FsWatchesRecursive:: +/home/src/projects/random: + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) + projectStateVersion: 1 + projectProgramVersion: 1 +/home/src/projects/random/tsconfig.json (Configured) *changed* + projectStateVersion: 1 + projectProgramVersion: 1 + noOpenRef: true *changed* + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 2 + /dev/null/inferredProject1* + /home/src/projects/random/tsconfig.json +/home/src/projects/project/app/Component-demos.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject1* *default* +/home/src/projects/random/random.ts *changed* + open: false *changed* + version: SVC-1-0 + containingProjects: 1 + /home/src/projects/random/tsconfig.json + +Info seq [hh:mm:ss:mss] File: /home/src/projects/project/app/Component-demos.ts: + getDefaultProjectForFile: + /dev/null/inferredProject1* + findDefaultConfiguredProject: + undefined +Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /home/src/projects/project/tsconfig.json 1:: WatchInfo: /home/src/projects/project/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined:: Result: /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] Scheduled: /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /home/src/projects/project/tsconfig.json 1:: WatchInfo: /home/src/projects/project/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Before running Timeout callback:: count: 2 +2: /home/src/projects/project/app/tsconfig.json +3: *ensureProjectForOpenFiles* +//// [/home/src/projects/project/tsconfig.json] +{ + "compilerOptions": { + "outDir": "./dist/" + }, + "references": [ + { + "path": "./demos/tsconfig.json" + }, + { + "path": "./app/tsconfig.json" + } + ] +} + + +Timeout callback:: count: 2 +2: /home/src/projects/project/app/tsconfig.json *new* +3: *ensureProjectForOpenFiles* *new* + +Projects:: +/dev/null/inferredProject1* (Inferred) + projectStateVersion: 1 + projectProgramVersion: 1 +/home/src/projects/project/app/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 0 + dirty: true +/home/src/projects/random/tsconfig.json (Configured) + projectStateVersion: 1 + projectProgramVersion: 1 + noOpenRef: true + +Info seq [hh:mm:ss:mss] Running: /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/home/src/projects/project/app/tsconfig.json", + "reason": "Change in config file /home/src/projects/project/tsconfig.json detected, Creating possible configured project for /home/src/projects/project/app/Component-demos.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /home/src/projects/project/app/tsconfig.json : { + "rootNames": [ + "/home/src/projects/project/app/Component.ts" + ], + "options": { + "composite": true, + "outDir": "/home/src/projects/project/app-dist", + "configFilePath": "/home/src/projects/project/app/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/app/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/app/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/Component.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project/app/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /home/src/projects/project/app/Component.ts Text-2 "export const Component = () => {}\n" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + Component.ts + Matched by include pattern '**/*' in 'tsconfig.json' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/home/src/projects/project/app/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/home/src/projects/project/app/tsconfig.json", + "configFile": "/home/src/projects/project/app/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/home/src/projects/random/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] After ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/home/src/projects/random/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] got projects updated in background /home/src/projects/project/app/Component-demos.ts +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectsUpdatedInBackground", + "body": { + "openFiles": [ + "/home/src/projects/project/app/Component-demos.ts" + ] + } + } +After running Timeout callback:: count: 0 + +PolledWatches:: +/home/src/projects/node_modules: + {"pollingInterval":500} +/home/src/projects/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/package.json: + {"pollingInterval":2000} +/home/src/projects/project/app/jsconfig.json: + {"pollingInterval":2000} +/home/src/projects/project/app/node_modules: + {"pollingInterval":500} +/home/src/projects/project/app/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/project/app/package.json: + {"pollingInterval":2000} +/home/src/projects/project/jsconfig.json: + {"pollingInterval":2000} +/home/src/projects/project/node_modules: + {"pollingInterval":500} +/home/src/projects/project/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/project/package.json: + {"pollingInterval":2000} +/home/src/projects/random/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/random/package.json: + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/home/src/projects/project/app/Component.ts: *new* + {} +/home/src/projects/project/app/tsconfig.json: + {} +/home/src/projects/project/tsconfig.json: + {} +/home/src/projects/random/random.ts: + {} +/home/src/projects/random/tsconfig.json: + {} + +FsWatchesRecursive:: +/home/src/projects/project/app: *new* + {} +/home/src/projects/random: + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) + projectStateVersion: 1 + projectProgramVersion: 1 +/home/src/projects/project/app/tsconfig.json (Configured) *changed* + projectStateVersion: 1 + projectProgramVersion: 1 *changed* + dirty: false *changed* + noOpenRef: true *changed* +/home/src/projects/random/tsconfig.json (Configured) + projectStateVersion: 1 + projectProgramVersion: 1 + noOpenRef: true + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + containingProjects: 3 *changed* + /dev/null/inferredProject1* + /home/src/projects/random/tsconfig.json + /home/src/projects/project/app/tsconfig.json *new* +/home/src/projects/project/app/Component-demos.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject1* *default* +/home/src/projects/project/app/Component.ts *new* + version: Text-2 + containingProjects: 1 + /home/src/projects/project/app/tsconfig.json +/home/src/projects/random/random.ts + version: SVC-1-0 + containingProjects: 1 + /home/src/projects/random/tsconfig.json + +Info seq [hh:mm:ss:mss] File: /home/src/projects/project/app/Component-demos.ts: + getDefaultProjectForFile: + /dev/null/inferredProject1* + findDefaultConfiguredProject: + undefined \ No newline at end of file diff --git a/tests/baselines/reference/tsserver/projectReferences/when-file-is-not-part-of-first-config-tree-found-solutionConfig-without-reference-to-demo.js b/tests/baselines/reference/tsserver/projectReferences/when-file-is-not-part-of-first-config-tree-found-solutionConfig-without-reference-to-demo.js new file mode 100644 index 0000000000000..a1d32fa7212fd --- /dev/null +++ b/tests/baselines/reference/tsserver/projectReferences/when-file-is-not-part-of-first-config-tree-found-solutionConfig-without-reference-to-demo.js @@ -0,0 +1,801 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +Before request +//// [/home/src/projects/project/app/Component-demos.ts] +import * as helpers from 'demos/helpers'; +export const demo = () => { + helpers; +} + + +//// [/home/src/projects/project/app/Component.ts] +export const Component = () => {} + + +//// [/home/src/projects/project/app/tsconfig.json] +{ + "compilerOptions": { + "composite": true, + "outDir": "../app-dist/" + }, + "include": [ + "**/*" + ], + "exclude": [ + "**/*-demos.*" + ] +} + +//// [/home/src/projects/project/demos/helpers.ts] +export const foo = 1; + + +//// [/home/src/projects/project/demos/tsconfig.json] +{ + "compilerOptions": { + "composite": true, + "rootDir": "../", + "outDir": "../demos-dist/", + "paths": { + "demos/*": [ + "./*" + ] + } + }, + "include": [ + "**/*", + "../app/**/*-demos.*" + ] +} + +//// [/home/src/projects/project/tsconfig.json] +{ + "compilerOptions": { + "outDir": "./dist/" + }, + "references": [ + { + "path": "./demos/tsconfig.json" + }, + { + "path": "./app/tsconfig.json" + } + ] +} + +//// [/home/src/projects/random/random.ts] +export let a = 10; + +//// [/home/src/projects/random/tsconfig.json] +{ } + +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } + + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/home/src/projects/project/app/Component-demos.ts" + }, + "seq": 1, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined:: Result: /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/tsconfig.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/home/src/projects/project/app/tsconfig.json", + "reason": "Creating possible configured project for /home/src/projects/project/app/Component-demos.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /home/src/projects/project/app/tsconfig.json : { + "rootNames": [ + "/home/src/projects/project/app/Component.ts" + ], + "options": { + "composite": true, + "outDir": "/home/src/projects/project/app-dist", + "configFilePath": "/home/src/projects/project/app/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/app/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/app/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/Component.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project/app/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /home/src/projects/project/app/Component.ts Text-1 "export const Component = () => {}\n" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + Component.ts + Matched by include pattern '**/*' in 'tsconfig.json' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/home/src/projects/project/app/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "telemetry", + "body": { + "telemetryEventName": "projectInfo", + "payload": { + "projectId": "e045cfff085eecf970c7400c2ccce12615df3b6cac3c69591527cc19e385b065", + "fileStats": { + "js": 0, + "jsSize": 0, + "jsx": 0, + "jsxSize": 0, + "ts": 1, + "tsSize": 34, + "tsx": 0, + "tsxSize": 0, + "dts": 1, + "dtsSize": 334, + "deferred": 0, + "deferredSize": 0 + }, + "compilerOptions": { + "composite": true, + "outDir": "" + }, + "typeAcquisition": { + "enable": false, + "include": false, + "exclude": false + }, + "extends": false, + "files": false, + "include": true, + "exclude": true, + "compileOnSave": false, + "configFileName": "tsconfig.json", + "projectType": "configured", + "languageServiceEnabled": true, + "version": "FakeVersion" + } + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/home/src/projects/project/app/Component-demos.ts", + "configFile": "/home/src/projects/project/app/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/app/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /home/src/projects/project/app/Component-demos.ts SVC-1-0 "import * as helpers from 'demos/helpers';\nexport const demo = () => {\n helpers;\n}\n" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + Component-demos.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/home/src/projects/node_modules: *new* + {"pollingInterval":500} +/home/src/projects/node_modules/@types: *new* + {"pollingInterval":500} +/home/src/projects/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/app/jsconfig.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/app/node_modules: *new* + {"pollingInterval":500} +/home/src/projects/project/app/node_modules/@types: *new* + {"pollingInterval":500} +/home/src/projects/project/app/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/jsconfig.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/node_modules: *new* + {"pollingInterval":500} +/home/src/projects/project/node_modules/@types: *new* + {"pollingInterval":500} +/home/src/projects/project/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: *new* + {} +/home/src/projects/project/app/Component.ts: *new* + {} +/home/src/projects/project/app/tsconfig.json: *new* + {} +/home/src/projects/project/tsconfig.json: *new* + {} + +FsWatchesRecursive:: +/home/src/projects/project/app: *new* + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) *new* + projectStateVersion: 1 + projectProgramVersion: 1 +/home/src/projects/project/app/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + noOpenRef: true + +ScriptInfos:: +/a/lib/lib.d.ts *new* + version: Text-1 + containingProjects: 2 + /home/src/projects/project/app/tsconfig.json + /dev/null/inferredProject1* +/home/src/projects/project/app/Component-demos.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject1* *default* +/home/src/projects/project/app/Component.ts *new* + version: Text-1 + containingProjects: 1 + /home/src/projects/project/app/tsconfig.json + +Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /home/src/projects/project/tsconfig.json 1:: WatchInfo: /home/src/projects/project/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined:: Result: /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /home/src/projects/project/tsconfig.json 1:: WatchInfo: /home/src/projects/project/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Before running Timeout callback:: count: 1 +1: *ensureProjectForOpenFiles* +//// [/home/src/projects/project/tsconfig.json] +{ + "compilerOptions": { + "outDir": "./dist/" + }, + "references": [ + { + "path": "./app/tsconfig.json" + } + ] +} + + +Timeout callback:: count: 1 +1: *ensureProjectForOpenFiles* *new* + +Host is moving to new time +Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] After ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] got projects updated in background /home/src/projects/project/app/Component-demos.ts +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectsUpdatedInBackground", + "body": { + "openFiles": [ + "/home/src/projects/project/app/Component-demos.ts" + ] + } + } +After running Timeout callback:: count: 0 + +Info seq [hh:mm:ss:mss] File: /home/src/projects/project/app/Component-demos.ts: + getDefaultProjectForFile: + /dev/null/inferredProject1* + findDefaultConfiguredProject: + undefined +Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /home/src/projects/project/tsconfig.json 1:: WatchInfo: /home/src/projects/project/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined:: Result: /home/src/projects/project/app/tsconfig.json +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /home/src/projects/project/tsconfig.json 1:: WatchInfo: /home/src/projects/project/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Before running Timeout callback:: count: 1 +2: *ensureProjectForOpenFiles* +//// [/home/src/projects/project/tsconfig.json] +{ + "compilerOptions": { + "outDir": "./dist/" + }, + "references": [ + { + "path": "./demos/tsconfig.json" + }, + { + "path": "./app/tsconfig.json" + } + ] +} + + +Timeout callback:: count: 1 +2: *ensureProjectForOpenFiles* *new* + +Host is moving to new time +Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] After ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] got projects updated in background /home/src/projects/project/app/Component-demos.ts +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectsUpdatedInBackground", + "body": { + "openFiles": [ + "/home/src/projects/project/app/Component-demos.ts" + ] + } + } +After running Timeout callback:: count: 0 + +Info seq [hh:mm:ss:mss] File: /home/src/projects/project/app/Component-demos.ts: + getDefaultProjectForFile: + /dev/null/inferredProject1* + findDefaultConfiguredProject: + undefined +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/home/src/projects/random/random.ts" + }, + "seq": 2, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/random/random.ts ProjectRootPath: undefined:: Result: /home/src/projects/random/tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /home/src/projects/random/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/random/tsconfig.json 2000 undefined Project: /home/src/projects/random/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/home/src/projects/random/tsconfig.json", + "reason": "Creating possible configured project for /home/src/projects/random/random.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /home/src/projects/random/tsconfig.json : { + "rootNames": [ + "/home/src/projects/random/random.ts" + ], + "options": { + "configFilePath": "/home/src/projects/random/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/random 1 undefined Config: /home/src/projects/random/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/random 1 undefined Config: /home/src/projects/random/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/random/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/random/package.json 2000 undefined Project: /home/src/projects/random/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/package.json 2000 undefined Project: /home/src/projects/random/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/random/node_modules/@types 1 undefined Project: /home/src/projects/random/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/random/node_modules/@types 1 undefined Project: /home/src/projects/random/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/random/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/random/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/random/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/home/src/projects/random/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /home/src/projects/random/random.ts SVC-1-0 "export let a = 10;" + + + ../../../../a/lib/lib.d.ts + Default library for target 'es5' + random.ts + Matched by default include pattern '**/*' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/home/src/projects/random/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "telemetry", + "body": { + "telemetryEventName": "projectInfo", + "payload": { + "projectId": "e22b756ee376200084d2e12c26227743b638008b743888b07aa480c1f77c0554", + "fileStats": { + "js": 0, + "jsSize": 0, + "jsx": 0, + "jsxSize": 0, + "ts": 1, + "tsSize": 18, + "tsx": 0, + "tsxSize": 0, + "dts": 1, + "dtsSize": 334, + "deferred": 0, + "deferredSize": 0 + }, + "compilerOptions": {}, + "typeAcquisition": { + "enable": false, + "include": false, + "exclude": false + }, + "extends": false, + "files": false, + "include": false, + "exclude": false, + "compileOnSave": false, + "configFileName": "tsconfig.json", + "projectType": "configured", + "languageServiceEnabled": true, + "version": "FakeVersion" + } + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/home/src/projects/random/random.ts", + "configFile": "/home/src/projects/random/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] `remove Project:: +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts + /home/src/projects/project/app/Component.ts + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + Component.ts + Matched by include pattern '**/*' in 'tsconfig.json' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/app/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/app/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/project/app/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/project/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/package.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/project/app/Component.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Project '/home/src/projects/random/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/random/random.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /home/src/projects/random/tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/home/src/projects/node_modules: + {"pollingInterval":500} +/home/src/projects/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/package.json: + {"pollingInterval":2000} +/home/src/projects/project/app/jsconfig.json: + {"pollingInterval":2000} +/home/src/projects/project/app/node_modules: + {"pollingInterval":500} +/home/src/projects/project/app/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/project/app/package.json: + {"pollingInterval":2000} +/home/src/projects/project/jsconfig.json: + {"pollingInterval":2000} +/home/src/projects/project/node_modules: + {"pollingInterval":500} +/home/src/projects/project/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/project/package.json: + {"pollingInterval":2000} +/home/src/projects/random/node_modules/@types: *new* + {"pollingInterval":500} +/home/src/projects/random/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/home/src/projects/project/app/tsconfig.json: + {} +/home/src/projects/project/tsconfig.json: + {} +/home/src/projects/random/tsconfig.json: *new* + {} + +FsWatches *deleted*:: +/home/src/projects/project/app/Component.ts: + {} + +FsWatchesRecursive:: +/home/src/projects/random: *new* + {} + +FsWatchesRecursive *deleted*:: +/home/src/projects/project/app: + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) + projectStateVersion: 1 + projectProgramVersion: 1 +/home/src/projects/project/app/tsconfig.json (Configured) *deleted* + projectStateVersion: 1 + projectProgramVersion: 1 + isClosed: true *changed* + noOpenRef: true +/home/src/projects/random/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + containingProjects: 2 *changed* + /dev/null/inferredProject1* + /home/src/projects/random/tsconfig.json *new* + /home/src/projects/project/app/tsconfig.json *deleted* +/home/src/projects/project/app/Component-demos.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject1* *default* +/home/src/projects/project/app/Component.ts *deleted* + version: Text-1 + containingProjects: 0 *changed* + /home/src/projects/project/app/tsconfig.json *deleted* +/home/src/projects/random/random.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /home/src/projects/random/tsconfig.json *default* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "close", + "arguments": { + "file": "/home/src/projects/random/random.ts" + }, + "seq": 3, + "type": "request" + } +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/random/random.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Project '/home/src/projects/random/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/app/Component-demos.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/home/src/projects/node_modules: + {"pollingInterval":500} +/home/src/projects/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/package.json: + {"pollingInterval":2000} +/home/src/projects/project/app/jsconfig.json: + {"pollingInterval":2000} +/home/src/projects/project/app/node_modules: + {"pollingInterval":500} +/home/src/projects/project/app/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/project/app/package.json: + {"pollingInterval":2000} +/home/src/projects/project/jsconfig.json: + {"pollingInterval":2000} +/home/src/projects/project/node_modules: + {"pollingInterval":500} +/home/src/projects/project/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/project/package.json: + {"pollingInterval":2000} +/home/src/projects/random/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/random/package.json: + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/home/src/projects/project/app/tsconfig.json: + {} +/home/src/projects/project/tsconfig.json: + {} +/home/src/projects/random/random.ts: *new* + {} +/home/src/projects/random/tsconfig.json: + {} + +FsWatchesRecursive:: +/home/src/projects/random: + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) + projectStateVersion: 1 + projectProgramVersion: 1 +/home/src/projects/random/tsconfig.json (Configured) *changed* + projectStateVersion: 1 + projectProgramVersion: 1 + noOpenRef: true *changed* + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 2 + /dev/null/inferredProject1* + /home/src/projects/random/tsconfig.json +/home/src/projects/project/app/Component-demos.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject1* *default* +/home/src/projects/random/random.ts *changed* + open: false *changed* + version: SVC-1-0 + containingProjects: 1 + /home/src/projects/random/tsconfig.json + +Info seq [hh:mm:ss:mss] File: /home/src/projects/project/app/Component-demos.ts: + getDefaultProjectForFile: + /dev/null/inferredProject1* + findDefaultConfiguredProject: + undefined \ No newline at end of file diff --git a/tests/baselines/reference/tsserver/projectReferences/when-files-from-two-projects-are-open-and-one-project-references.js b/tests/baselines/reference/tsserver/projectReferences/when-files-from-two-projects-are-open-and-one-project-references.js index 354dadc6579aa..68472156ac605 100644 --- a/tests/baselines/reference/tsserver/projectReferences/when-files-from-two-projects-are-open-and-one-project-references.js +++ b/tests/baselines/reference/tsserver/projectReferences/when-files-from-two-projects-are-open-and-one-project-references.js @@ -963,6 +963,17 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/indirect/tsconfig.json", + "configFile": "/user/username/projects/myproject/indirect/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/myproject/coreRef1/tsconfig.json Info seq [hh:mm:ss:mss] event: { @@ -1051,6 +1062,17 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/coreRef1/tsconfig.json", + "configFile": "/user/username/projects/myproject/coreRef1/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/myproject/indirectDisabledChildLoad1/tsconfig.json Info seq [hh:mm:ss:mss] event: { @@ -1140,6 +1162,17 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/indirectDisabledChildLoad1/tsconfig.json", + "configFile": "/user/username/projects/myproject/indirectDisabledChildLoad1/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/myproject/indirectDisabledChildLoad2/tsconfig.json Info seq [hh:mm:ss:mss] event: { @@ -1229,6 +1262,17 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/indirectDisabledChildLoad2/tsconfig.json", + "configFile": "/user/username/projects/myproject/indirectDisabledChildLoad2/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/myproject/refToCoreRef3/tsconfig.json Info seq [hh:mm:ss:mss] event: { @@ -1317,6 +1361,17 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/refToCoreRef3/tsconfig.json", + "configFile": "/user/username/projects/myproject/refToCoreRef3/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Creating configuration project /user/username/projects/myproject/coreRef3/tsconfig.json Info seq [hh:mm:ss:mss] event: { @@ -1405,6 +1460,17 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/coreRef3/tsconfig.json", + "configFile": "/user/username/projects/myproject/coreRef3/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/core/src/file1.d.ts 2000 undefined Project: /user/username/projects/myproject/core/tsconfig.json WatchType: Missing generated file Info seq [hh:mm:ss:mss] response: { diff --git a/tests/baselines/reference/tsserver/projectReferences/with-dts-file-next-to-ts-file.js b/tests/baselines/reference/tsserver/projectReferences/with-dts-file-next-to-ts-file.js new file mode 100644 index 0000000000000..6f2e26b3eafc8 --- /dev/null +++ b/tests/baselines/reference/tsserver/projectReferences/with-dts-file-next-to-ts-file.js @@ -0,0 +1,604 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +Before request +//// [/home/src/projects/project/src/index.d.ts] +declare global { + interface Window { + electron: ElectronAPI + api: unknown + } +} + + +//// [/home/src/projects/project/src/index.ts] +const api = {} + + +//// [/home/src/projects/project/tsconfig.json] +{ + "include": [ + "src/*.d.ts" + ], + "references": [ + { + "path": "./tsconfig.node.json" + } + ] +} + +//// [/home/src/projects/project/tsconfig.node.json] +{ + "include": [ + "src/**/*" + ], + "compilerOptions": { + "composite": true + } +} + +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/home/src/projects/project/src/index.d.ts", + "projectRootPath": "/home/src/projects/project" + }, + "seq": 1, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/src/index.d.ts ProjectRootPath: /home/src/projects/project:: Result: /home/src/projects/project/tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /home/src/projects/project/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/tsconfig.json 2000 undefined Project: /home/src/projects/project/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/home/src/projects/project/tsconfig.json", + "reason": "Creating possible configured project for /home/src/projects/project/src/index.d.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /home/src/projects/project/tsconfig.json : { + "rootNames": [ + "/home/src/projects/project/src/index.d.ts" + ], + "options": { + "configFilePath": "/home/src/projects/project/tsconfig.json" + }, + "projectReferences": [ + { + "path": "/home/src/projects/project/tsconfig.node.json", + "originalPath": "./tsconfig.node.json" + } + ] +} +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/src 0 undefined Config: /home/src/projects/project/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/src 0 undefined Config: /home/src/projects/project/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/project/tsconfig.json +Info seq [hh:mm:ss:mss] Config: /home/src/projects/project/tsconfig.node.json : { + "rootNames": [ + "/home/src/projects/project/src/index.ts" + ], + "options": { + "composite": true, + "configFilePath": "/home/src/projects/project/tsconfig.node.json" + } +} +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/tsconfig.node.json 2000 undefined Project: /home/src/projects/project/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/src 1 undefined Config: /home/src/projects/project/tsconfig.node.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/src 1 undefined Config: /home/src/projects/project/tsconfig.node.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/src/index.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };" + /home/src/projects/project/src/index.ts Text-1 "const api = {}\n" + + + ../../../../a/lib/lib.d.ts + Default library for target 'es5' + src/index.ts + Matched by include pattern 'src/*.d.ts' in 'tsconfig.json' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/home/src/projects/project/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "telemetry", + "body": { + "telemetryEventName": "projectInfo", + "payload": { + "projectId": "1097a5f82e8323ba7aba7567ec06402f7ad4ea74abce44ec5efd223ac77ff169", + "fileStats": { + "js": 0, + "jsSize": 0, + "jsx": 0, + "jsxSize": 0, + "ts": 1, + "tsSize": 15, + "tsx": 0, + "tsxSize": 0, + "dts": 1, + "dtsSize": 413, + "deferred": 0, + "deferredSize": 0 + }, + "compilerOptions": {}, + "typeAcquisition": { + "enable": false, + "include": false, + "exclude": false + }, + "extends": false, + "files": false, + "include": true, + "exclude": false, + "compileOnSave": false, + "configFileName": "tsconfig.json", + "projectType": "configured", + "languageServiceEnabled": true, + "version": "FakeVersion" + } + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/home/src/projects/project/src/index.d.ts", + "configFile": "/home/src/projects/project/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] Creating configuration project /home/src/projects/project/tsconfig.node.json +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/home/src/projects/project/tsconfig.node.json", + "reason": "Creating project referenced in solution /home/src/projects/project/tsconfig.json to find possible configured project for /home/src/projects/project/src/index.d.ts to open" + } + } +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/project/tsconfig.node.json +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/tsconfig.node.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/tsconfig.node.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/tsconfig.node.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/tsconfig.node.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project/tsconfig.node.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/tsconfig.node.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };" + /home/src/projects/project/src/index.ts Text-1 "const api = {}\n" + + + ../../../../a/lib/lib.d.ts + Default library for target 'es5' + src/index.ts + Matched by include pattern 'src/**/*' in 'tsconfig.node.json' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/home/src/projects/project/tsconfig.node.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "telemetry", + "body": { + "telemetryEventName": "projectInfo", + "payload": { + "projectId": "1e7c125feb7a2a7047f05d3ea96f5c07aebb6404fadc111f1dab518d4196edea", + "fileStats": { + "js": 0, + "jsSize": 0, + "jsx": 0, + "jsxSize": 0, + "ts": 1, + "tsSize": 15, + "tsx": 0, + "tsxSize": 0, + "dts": 1, + "dtsSize": 413, + "deferred": 0, + "deferredSize": 0 + }, + "compilerOptions": { + "composite": true + }, + "typeAcquisition": { + "enable": false, + "include": false, + "exclude": false + }, + "extends": false, + "files": false, + "include": true, + "exclude": false, + "compileOnSave": false, + "configFileName": "other", + "projectType": "configured", + "languageServiceEnabled": true, + "version": "FakeVersion" + } + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/home/src/projects/project/src/index.d.ts", + "configFile": "/home/src/projects/project/tsconfig.node.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/src/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/src/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/src/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/src/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };" + /home/src/projects/project/src/index.d.ts SVC-1-0 "declare global {\n interface Window {\n electron: ElectronAPI\n api: unknown\n }\n}\n" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + index.d.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +TI:: Creating typing installer + +PolledWatches:: +/home/src/projects/node_modules/@types: *new* + {"pollingInterval":500} +/home/src/projects/project/jsconfig.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/node_modules/@types: *new* + {"pollingInterval":500} +/home/src/projects/project/src/jsconfig.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/src/node_modules/@types: *new* + {"pollingInterval":500} +/home/src/projects/project/src/tsconfig.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: *new* + {} +/home/src/projects/project/src: *new* + {} +/home/src/projects/project/src/index.ts: *new* + {} +/home/src/projects/project/tsconfig.json: *new* + {} +/home/src/projects/project/tsconfig.node.json: *new* + {} + +FsWatchesRecursive:: +/home/src/projects/project/src: *new* + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) *new* + projectStateVersion: 1 + projectProgramVersion: 0 +/home/src/projects/project/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + noOpenRef: true +/home/src/projects/project/tsconfig.node.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + noOpenRef: true + +ScriptInfos:: +/a/lib/lib.d.ts *new* + version: Text-1 + containingProjects: 3 + /home/src/projects/project/tsconfig.json + /home/src/projects/project/tsconfig.node.json + /dev/null/inferredProject1* +/home/src/projects/project/src/index.d.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject1* *default* +/home/src/projects/project/src/index.ts *new* + version: Text-1 + containingProjects: 2 + /home/src/projects/project/tsconfig.json + /home/src/projects/project/tsconfig.node.json + +TI:: [hh:mm:ss:mss] Global cache location '/a/data', safe file path '/safeList.json', types map path /typesMap.json +TI:: [hh:mm:ss:mss] Processing cache location '/a/data' +TI:: [hh:mm:ss:mss] Trying to find '/a/data/package.json'... +TI:: [hh:mm:ss:mss] Finished processing cache location '/a/data' +TI:: [hh:mm:ss:mss] Npm config file: /a/data/package.json +TI:: [hh:mm:ss:mss] Npm config file: '/a/data/package.json' is missing, creating new one... +TI:: [hh:mm:ss:mss] Updating types-registry npm package... +TI:: [hh:mm:ss:mss] npm install --ignore-scripts types-registry@latest +TI:: [hh:mm:ss:mss] Updated types-registry npm package +TI:: typing installer creation complete +//// [/a/data/package.json] +{ "private": true } + +//// [/a/data/node_modules/types-registry/index.json] +{ + "entries": {} +} + + +TI:: [hh:mm:ss:mss] Got install request + { + "projectName": "/dev/null/inferredProject1*", + "fileNames": [ + "/a/lib/lib.d.ts", + "/home/src/projects/project/src/index.d.ts" + ], + "compilerOptions": { + "target": 1, + "jsx": 1, + "allowNonTsExtensions": true, + "allowJs": true, + "noEmitForJsFiles": true + }, + "typeAcquisition": { + "enable": true, + "include": [], + "exclude": [] + }, + "unresolvedImports": [], + "projectRootPath": "/home/src/projects/project/src", + "kind": "discover" + } +TI:: [hh:mm:ss:mss] Failed to load safelist from types map file '/typesMap.json' +TI:: [hh:mm:ss:mss] Explicitly included types: [] +TI:: [hh:mm:ss:mss] Inferred typings from unresolved imports: [] +TI:: [hh:mm:ss:mss] Finished typings discovery: + { + "cachedTypingPaths": [], + "newTypingNames": [], + "filesToWatch": [ + "/home/src/projects/project/src/bower_components", + "/home/src/projects/project/src/node_modules" + ] + } +TI:: [hh:mm:ss:mss] Sending response: + { + "kind": "action::watchTypingLocations", + "projectName": "/dev/null/inferredProject1*", + "files": [ + "/home/src/projects/project/src/bower_components", + "/home/src/projects/project/src/node_modules" + ] + } +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/src/bower_components 1 undefined Project: /dev/null/inferredProject1* WatchType: Directory location for typing installer +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/src/bower_components 1 undefined Project: /dev/null/inferredProject1* WatchType: Directory location for typing installer +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/src/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Directory location for typing installer +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/src/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Directory location for typing installer +TI:: [hh:mm:ss:mss] Sending response: + { + "projectName": "/dev/null/inferredProject1*", + "typeAcquisition": { + "enable": true, + "include": [], + "exclude": [] + }, + "compilerOptions": { + "target": 1, + "jsx": 1, + "allowNonTsExtensions": true, + "allowJs": true, + "noEmitForJsFiles": true + }, + "typings": [], + "unresolvedImports": [], + "kind": "action::set" + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "setTypings", + "body": { + "projectName": "/dev/null/inferredProject1*", + "typeAcquisition": { + "enable": true, + "include": [], + "exclude": [] + }, + "compilerOptions": { + "target": 1, + "jsx": 1, + "allowNonTsExtensions": true, + "allowJs": true, + "noEmitForJsFiles": true + }, + "typings": [], + "unresolvedImports": [], + "kind": "action::set" + } + } +TI:: [hh:mm:ss:mss] No new typings were requested as a result of typings discovery +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/tsconfig.node.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (2) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/projects/project/src/index.d.ts ProjectRootPath: /home/src/projects/project +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/home/src/projects/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/project/jsconfig.json: + {"pollingInterval":2000} +/home/src/projects/project/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/project/src/bower_components: *new* + {"pollingInterval":500} +/home/src/projects/project/src/jsconfig.json: + {"pollingInterval":2000} +/home/src/projects/project/src/node_modules: *new* + {"pollingInterval":500} +/home/src/projects/project/src/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/project/src/tsconfig.json: + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/home/src/projects/project/src: + {} +/home/src/projects/project/src/index.ts: + {} +/home/src/projects/project/tsconfig.json: + {} +/home/src/projects/project/tsconfig.node.json: + {} + +FsWatchesRecursive:: +/home/src/projects/project/src: + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) *changed* + projectStateVersion: 1 + projectProgramVersion: 1 *changed* +/home/src/projects/project/tsconfig.json (Configured) + projectStateVersion: 1 + projectProgramVersion: 1 + noOpenRef: true +/home/src/projects/project/tsconfig.node.json (Configured) + projectStateVersion: 1 + projectProgramVersion: 1 + noOpenRef: true + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "documentHighlights", + "arguments": { + "file": "/home/src/projects/project/src/index.d.ts", + "line": 1, + "offset": 9, + "filesToSearch": [ + "/home/src/projects/project/src/index.d.ts" + ] + }, + "seq": 2, + "type": "request" + } +Info seq [hh:mm:ss:mss] response: + { + "response": [], + "responseRequired": true + } +After request + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "encodedSemanticClassifications-full", + "arguments": { + "file": "/home/src/projects/project/src/index.d.ts", + "start": 0, + "length": 99, + "format": "2020" + }, + "seq": 3, + "type": "request" + } +Info seq [hh:mm:ss:mss] response: + { + "response": { + "spans": [ + 8, + 6, + 1025, + 31, + 6, + 769, + 48, + 8, + 2561, + 58, + 11, + 1536, + 78, + 3, + 2561 + ], + "endOfLineState": 0 + }, + "responseRequired": true + } +After request diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dts-change-as-rename-action-before-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dts-change-as-rename-action-before-write.js index e77c19c1ac9b7..a01fc39a347d1 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dts-change-as-rename-action-before-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dts-change-as-rename-action-before-write.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dts-change-as-rename-no-timeout.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dts-change-as-rename-no-timeout.js index 1ec1a5e9295ac..50de469c591ec 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dts-change-as-rename-no-timeout.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dts-change-as-rename-no-timeout.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dts-change-as-rename-timeout-after-delete.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dts-change-as-rename-timeout-after-delete.js index 1491306ac41e7..3edb8505a2bde 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dts-change-as-rename-timeout-after-delete.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dts-change-as-rename-timeout-after-delete.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dts-change-as-rename-timeout-after-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dts-change-as-rename-timeout-after-write.js index 6733ccf94d947..9eb3286eb0d31 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dts-change-as-rename-timeout-after-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dts-change-as-rename-timeout-after-write.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dts-changes-with-timeout-before-request.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dts-changes-with-timeout-before-request.js index b020360ef0cd3..adea6f09dfcdd 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dts-changes-with-timeout-before-request.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dts-changes-with-timeout-before-request.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dts-changes.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dts-changes.js index f5b1355f99760..9f5fa9191a32b 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dts-changes.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dts-changes.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dts-created.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dts-created.js index 26a2c7f631801..f3c4fb0a49d9e 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dts-created.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dts-created.js @@ -80,7 +80,7 @@ function fn5() { } {"version":3,"file":"FnS.d.ts","sourceRoot":"","sources":["../dependency/FnS.ts"],"names":[],"mappings":"AAAA,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -123,15 +123,10 @@ function fn5() { } "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -153,7 +148,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -215,15 +210,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dts-deleted.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dts-deleted.js index aa7a607e7adc3..8889d32c96d9c 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dts-deleted.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dts-deleted.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dts-not-present.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dts-not-present.js index 9fc5362651a53..d87617b40a46e 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dts-not-present.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dts-not-present.js @@ -80,7 +80,7 @@ function fn5() { } {"version":3,"file":"FnS.d.ts","sourceRoot":"","sources":["../dependency/FnS.ts"],"names":[],"mappings":"AAAA,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -123,15 +123,10 @@ function fn5() { } "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -153,7 +148,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -215,15 +210,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dts-rewrite-as-rename-action-before-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dts-rewrite-as-rename-action-before-write.js index eb7aac5e4686c..135ec1cc71a3a 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dts-rewrite-as-rename-action-before-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dts-rewrite-as-rename-action-before-write.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dts-rewrite-as-rename-no-timeout.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dts-rewrite-as-rename-no-timeout.js index 35599743f7ca1..ebf62c901e562 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dts-rewrite-as-rename-no-timeout.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dts-rewrite-as-rename-no-timeout.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dts-rewrite-as-rename-timeout-after-delete.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dts-rewrite-as-rename-timeout-after-delete.js index 80261bbae69e4..dfeaec5c70c7d 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dts-rewrite-as-rename-timeout-after-delete.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dts-rewrite-as-rename-timeout-after-delete.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dts-rewrite-as-rename-timeout-after-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dts-rewrite-as-rename-timeout-after-write.js index 783cadc1ef295..d22c52434f105 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dts-rewrite-as-rename-timeout-after-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dts-rewrite-as-rename-timeout-after-write.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dtsMap-change-as-rename-action-before-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dtsMap-change-as-rename-action-before-write.js index cdc9a45a34350..622a8cb1de393 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dtsMap-change-as-rename-action-before-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dtsMap-change-as-rename-action-before-write.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dtsMap-change-as-rename-no-timeout.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dtsMap-change-as-rename-no-timeout.js index 60681f538d56f..7e34d86b92d1f 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dtsMap-change-as-rename-no-timeout.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dtsMap-change-as-rename-no-timeout.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dtsMap-change-as-rename-timeout-after-delete.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dtsMap-change-as-rename-timeout-after-delete.js index 1b34530bc7684..4d1ce47125d0c 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dtsMap-change-as-rename-timeout-after-delete.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dtsMap-change-as-rename-timeout-after-delete.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dtsMap-change-as-rename-timeout-after-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dtsMap-change-as-rename-timeout-after-write.js index a0293dfe9d65e..404398c1f079f 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dtsMap-change-as-rename-timeout-after-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dtsMap-change-as-rename-timeout-after-write.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dtsMap-changes-with-timeout-before-request.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dtsMap-changes-with-timeout-before-request.js index 835f30a800780..bc101440eaaf3 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dtsMap-changes-with-timeout-before-request.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dtsMap-changes-with-timeout-before-request.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dtsMap-changes.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dtsMap-changes.js index 69179fb9bc0eb..e289042beb9f0 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dtsMap-changes.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dtsMap-changes.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dtsMap-created.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dtsMap-created.js index a57ffe8c5ec92..286282bc027e9 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dtsMap-created.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dtsMap-created.js @@ -85,7 +85,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -128,15 +128,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -158,7 +153,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -220,15 +215,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dtsMap-deleted.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dtsMap-deleted.js index 7f3f73e19e2b4..be6d1d28ef323 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dtsMap-deleted.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dtsMap-deleted.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dtsMap-not-present.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dtsMap-not-present.js index 93361ca5ddda8..62d8ebb4c73c5 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dtsMap-not-present.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dtsMap-not-present.js @@ -85,7 +85,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -128,15 +128,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -158,7 +153,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -220,15 +215,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dtsMap-rewrite-as-rename-action-before-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dtsMap-rewrite-as-rename-action-before-write.js index b725ea3775962..34a80c5d2021b 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dtsMap-rewrite-as-rename-action-before-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dtsMap-rewrite-as-rename-action-before-write.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dtsMap-rewrite-as-rename-no-timeout.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dtsMap-rewrite-as-rename-no-timeout.js index 34cf4e39c9f18..df11859484efb 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dtsMap-rewrite-as-rename-no-timeout.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dtsMap-rewrite-as-rename-no-timeout.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dtsMap-rewrite-as-rename-timeout-after-delete.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dtsMap-rewrite-as-rename-timeout-after-delete.js index 1473f84e8c49c..e89d208bc7807 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dtsMap-rewrite-as-rename-timeout-after-delete.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dtsMap-rewrite-as-rename-timeout-after-delete.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dtsMap-rewrite-as-rename-timeout-after-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dtsMap-rewrite-as-rename-timeout-after-write.js index 4713c5aada1a2..d00aa8e4cc69d 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dtsMap-rewrite-as-rename-timeout-after-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/dependency-dtsMap-rewrite-as-rename-timeout-after-write.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/rename-locations.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/rename-locations.js index 00108b3a66758..498d673d48a9b 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/rename-locations.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/rename-locations.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/usage-file-changes-with-timeout-before-request.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/usage-file-changes-with-timeout-before-request.js index 2f7dbfbc2e8f7..3e7d8a58da721 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/usage-file-changes-with-timeout-before-request.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/usage-file-changes-with-timeout-before-request.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/usage-file-changes.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/usage-file-changes.js index 7f26eebe924df..bb1a67d363fd8 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/usage-file-changes.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configHasNoReference/usage-file-changes.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dts-change-as-rename-action-before-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dts-change-as-rename-action-before-write.js index 9ea25954c550b..3d34049031d86 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dts-change-as-rename-action-before-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dts-change-as-rename-action-before-write.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dts-change-as-rename-no-timeout.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dts-change-as-rename-no-timeout.js index 01e5f5fd4f911..bacb2654ac06c 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dts-change-as-rename-no-timeout.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dts-change-as-rename-no-timeout.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dts-change-as-rename-timeout-after-delete.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dts-change-as-rename-timeout-after-delete.js index a2512843415ed..a7c6e51a68d03 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dts-change-as-rename-timeout-after-delete.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dts-change-as-rename-timeout-after-delete.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dts-change-as-rename-timeout-after-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dts-change-as-rename-timeout-after-write.js index d63bee64d86e8..7f97988c72ac8 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dts-change-as-rename-timeout-after-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dts-change-as-rename-timeout-after-write.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dts-changes-with-timeout-before-request.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dts-changes-with-timeout-before-request.js index ade2cf41b9266..906cb8c2c93aa 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dts-changes-with-timeout-before-request.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dts-changes-with-timeout-before-request.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dts-changes.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dts-changes.js index 3f7155015b60b..41eb0adfeb222 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dts-changes.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dts-changes.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dts-created.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dts-created.js index 396f39b67ac2b..265951e41b82d 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dts-created.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dts-created.js @@ -85,7 +85,7 @@ function fn5() { } {"version":3,"file":"FnS.d.ts","sourceRoot":"","sources":["../dependency/FnS.ts"],"names":[],"mappings":"AAAA,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -128,15 +128,10 @@ function fn5() { } "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -158,7 +153,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -220,15 +215,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dts-deleted.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dts-deleted.js index 51ae52f5bf8e4..feb44c26f267c 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dts-deleted.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dts-deleted.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dts-not-present.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dts-not-present.js index 206905d6a8fcf..e20857f2a2f52 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dts-not-present.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dts-not-present.js @@ -85,7 +85,7 @@ function fn5() { } {"version":3,"file":"FnS.d.ts","sourceRoot":"","sources":["../dependency/FnS.ts"],"names":[],"mappings":"AAAA,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -128,15 +128,10 @@ function fn5() { } "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -158,7 +153,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -220,15 +215,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dts-rewrite-as-rename-action-before-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dts-rewrite-as-rename-action-before-write.js index 0bfa740f086cc..b3923fcfc76f6 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dts-rewrite-as-rename-action-before-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dts-rewrite-as-rename-action-before-write.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dts-rewrite-as-rename-no-timeout.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dts-rewrite-as-rename-no-timeout.js index 1b2a5606b5d32..3ce7113202cbc 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dts-rewrite-as-rename-no-timeout.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dts-rewrite-as-rename-no-timeout.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dts-rewrite-as-rename-timeout-after-delete.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dts-rewrite-as-rename-timeout-after-delete.js index d7ccb206e315d..039af2bfb7a78 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dts-rewrite-as-rename-timeout-after-delete.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dts-rewrite-as-rename-timeout-after-delete.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dts-rewrite-as-rename-timeout-after-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dts-rewrite-as-rename-timeout-after-write.js index e13d35d0042df..f1de005f41cb0 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dts-rewrite-as-rename-timeout-after-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dts-rewrite-as-rename-timeout-after-write.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dtsMap-change-as-rename-action-before-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dtsMap-change-as-rename-action-before-write.js index 4b67cd04eeeb5..e414463fb4398 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dtsMap-change-as-rename-action-before-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dtsMap-change-as-rename-action-before-write.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dtsMap-change-as-rename-no-timeout.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dtsMap-change-as-rename-no-timeout.js index 31be2381638c1..df44769ff23f5 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dtsMap-change-as-rename-no-timeout.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dtsMap-change-as-rename-no-timeout.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dtsMap-change-as-rename-timeout-after-delete.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dtsMap-change-as-rename-timeout-after-delete.js index 56b5e1fde1f07..64b3c5ff58fe0 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dtsMap-change-as-rename-timeout-after-delete.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dtsMap-change-as-rename-timeout-after-delete.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dtsMap-change-as-rename-timeout-after-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dtsMap-change-as-rename-timeout-after-write.js index 207ccc92fe961..fecf3fa57f57d 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dtsMap-change-as-rename-timeout-after-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dtsMap-change-as-rename-timeout-after-write.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dtsMap-changes-with-timeout-before-request.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dtsMap-changes-with-timeout-before-request.js index 064196d2bf4bd..24e7e0f203db2 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dtsMap-changes-with-timeout-before-request.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dtsMap-changes-with-timeout-before-request.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dtsMap-changes.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dtsMap-changes.js index 95ae425b2cab2..6e3700d8cc79b 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dtsMap-changes.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dtsMap-changes.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dtsMap-created.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dtsMap-created.js index d30ecded8c39a..81affbc209c30 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dtsMap-created.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dtsMap-created.js @@ -90,7 +90,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -133,15 +133,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -163,7 +158,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -225,15 +220,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dtsMap-deleted.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dtsMap-deleted.js index 0679f38b48ac8..e92fe0b79132c 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dtsMap-deleted.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dtsMap-deleted.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dtsMap-not-present.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dtsMap-not-present.js index a1c7dda4961a9..6079c4ce9e0ff 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dtsMap-not-present.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dtsMap-not-present.js @@ -90,7 +90,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -133,15 +133,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -163,7 +158,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -225,15 +220,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dtsMap-rewrite-as-rename-action-before-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dtsMap-rewrite-as-rename-action-before-write.js index 33ac9cd550275..7bad82c60ea43 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dtsMap-rewrite-as-rename-action-before-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dtsMap-rewrite-as-rename-action-before-write.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dtsMap-rewrite-as-rename-no-timeout.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dtsMap-rewrite-as-rename-no-timeout.js index b12dde17edd35..7a6217aabc7fe 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dtsMap-rewrite-as-rename-no-timeout.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dtsMap-rewrite-as-rename-no-timeout.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dtsMap-rewrite-as-rename-timeout-after-delete.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dtsMap-rewrite-as-rename-timeout-after-delete.js index 71b4270226506..c589dd5f718aa 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dtsMap-rewrite-as-rename-timeout-after-delete.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dtsMap-rewrite-as-rename-timeout-after-delete.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dtsMap-rewrite-as-rename-timeout-after-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dtsMap-rewrite-as-rename-timeout-after-write.js index 94012bbffb15c..23559480b16bf 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dtsMap-rewrite-as-rename-timeout-after-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-dtsMap-rewrite-as-rename-timeout-after-write.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-source-changes-with-timeout-before-request.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-source-changes-with-timeout-before-request.js index 083e49efbb041..98e14c31b8090 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-source-changes-with-timeout-before-request.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-source-changes-with-timeout-before-request.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-source-changes.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-source-changes.js index 9a5c8aacd3dca..145585f2bcde2 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-source-changes.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/dependency-source-changes.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/rename-locations.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/rename-locations.js index d7779f452ce54..10f3fb78d67b3 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/rename-locations.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/rename-locations.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/usage-file-changes-with-timeout-before-request.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/usage-file-changes-with-timeout-before-request.js index d31592e58fb17..8b03a9c953360 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/usage-file-changes-with-timeout-before-request.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/usage-file-changes-with-timeout-before-request.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/usage-file-changes.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/usage-file-changes.js index 14b5ad431517b..99903da76f1ac 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/usage-file-changes.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/configWithReference/usage-file-changes.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dts-change-as-rename-action-before-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dts-change-as-rename-action-before-write.js index c9cc93651a0e7..5a6db1878df57 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dts-change-as-rename-action-before-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dts-change-as-rename-action-before-write.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dts-change-as-rename-no-timeout.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dts-change-as-rename-no-timeout.js index afa82c109f2c1..bd9ad852cea81 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dts-change-as-rename-no-timeout.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dts-change-as-rename-no-timeout.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dts-change-as-rename-timeout-after-delete.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dts-change-as-rename-timeout-after-delete.js index 074bb43334c62..6bb163abd9ac8 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dts-change-as-rename-timeout-after-delete.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dts-change-as-rename-timeout-after-delete.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dts-change-as-rename-timeout-after-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dts-change-as-rename-timeout-after-write.js index 5b9bd213a2318..963003f716539 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dts-change-as-rename-timeout-after-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dts-change-as-rename-timeout-after-write.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dts-changes-with-timeout-before-request.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dts-changes-with-timeout-before-request.js index 4d014b06b09d0..2d2ad3c94a0da 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dts-changes-with-timeout-before-request.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dts-changes-with-timeout-before-request.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dts-changes.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dts-changes.js index aa8b84a4bc207..ba68441f76a59 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dts-changes.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dts-changes.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dts-created.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dts-created.js index 12b7873b72906..c727b76ab2050 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dts-created.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dts-created.js @@ -86,7 +86,7 @@ function fn5() { } {"version":3,"file":"FnS.d.ts","sourceRoot":"","sources":["../dependency/FnS.ts"],"names":[],"mappings":"AAAA,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -129,15 +129,10 @@ function fn5() { } "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -159,7 +154,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -221,15 +216,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dts-deleted.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dts-deleted.js index 9b724b4aaba25..f4daea7b16f10 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dts-deleted.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dts-deleted.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dts-not-present.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dts-not-present.js index 6331788c91c07..9560cefcd1d77 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dts-not-present.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dts-not-present.js @@ -86,7 +86,7 @@ function fn5() { } {"version":3,"file":"FnS.d.ts","sourceRoot":"","sources":["../dependency/FnS.ts"],"names":[],"mappings":"AAAA,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -129,15 +129,10 @@ function fn5() { } "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -159,7 +154,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -221,15 +216,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dts-rewrite-as-rename-action-before-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dts-rewrite-as-rename-action-before-write.js index 1702e2a5d4d26..41f25bd42cdd8 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dts-rewrite-as-rename-action-before-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dts-rewrite-as-rename-action-before-write.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dts-rewrite-as-rename-no-timeout.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dts-rewrite-as-rename-no-timeout.js index e3b03bd923976..576c52f9bc076 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dts-rewrite-as-rename-no-timeout.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dts-rewrite-as-rename-no-timeout.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dts-rewrite-as-rename-timeout-after-delete.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dts-rewrite-as-rename-timeout-after-delete.js index c7bd16fb4e9b7..c7ee3ebba9223 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dts-rewrite-as-rename-timeout-after-delete.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dts-rewrite-as-rename-timeout-after-delete.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dts-rewrite-as-rename-timeout-after-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dts-rewrite-as-rename-timeout-after-write.js index 2fa5db71e8fa4..631f3d7d15fad 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dts-rewrite-as-rename-timeout-after-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dts-rewrite-as-rename-timeout-after-write.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dtsMap-change-as-rename-action-before-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dtsMap-change-as-rename-action-before-write.js index 8a7725d5955d6..ed623f6932c7d 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dtsMap-change-as-rename-action-before-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dtsMap-change-as-rename-action-before-write.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dtsMap-change-as-rename-no-timeout.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dtsMap-change-as-rename-no-timeout.js index edf7d7801c59b..5c25e4ce440a6 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dtsMap-change-as-rename-no-timeout.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dtsMap-change-as-rename-no-timeout.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dtsMap-change-as-rename-timeout-after-delete.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dtsMap-change-as-rename-timeout-after-delete.js index 661e769d48cd5..c129a2921a601 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dtsMap-change-as-rename-timeout-after-delete.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dtsMap-change-as-rename-timeout-after-delete.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dtsMap-change-as-rename-timeout-after-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dtsMap-change-as-rename-timeout-after-write.js index e55df5e44121b..12745efa8e8e0 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dtsMap-change-as-rename-timeout-after-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dtsMap-change-as-rename-timeout-after-write.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dtsMap-changes-with-timeout-before-request.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dtsMap-changes-with-timeout-before-request.js index e55c4183d7320..8ffa2fdab8013 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dtsMap-changes-with-timeout-before-request.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dtsMap-changes-with-timeout-before-request.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dtsMap-changes.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dtsMap-changes.js index 245399c2b0478..a411d1f1523a2 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dtsMap-changes.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dtsMap-changes.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dtsMap-created.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dtsMap-created.js index b491213060738..e58a96198a0f8 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dtsMap-created.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dtsMap-created.js @@ -91,7 +91,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -134,15 +134,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -164,7 +159,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -226,15 +221,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dtsMap-deleted.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dtsMap-deleted.js index 32c33e2e8897d..0eeeba0b54422 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dtsMap-deleted.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dtsMap-deleted.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dtsMap-not-present.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dtsMap-not-present.js index 353e369195557..1f993e6101cd9 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dtsMap-not-present.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dtsMap-not-present.js @@ -91,7 +91,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -134,15 +134,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -164,7 +159,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -226,15 +221,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dtsMap-rewrite-as-rename-action-before-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dtsMap-rewrite-as-rename-action-before-write.js index cacf3d95c3061..1deb9e571765c 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dtsMap-rewrite-as-rename-action-before-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dtsMap-rewrite-as-rename-action-before-write.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dtsMap-rewrite-as-rename-no-timeout.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dtsMap-rewrite-as-rename-no-timeout.js index 709df689bdece..9ec404eaf6c4a 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dtsMap-rewrite-as-rename-no-timeout.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dtsMap-rewrite-as-rename-no-timeout.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dtsMap-rewrite-as-rename-timeout-after-delete.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dtsMap-rewrite-as-rename-timeout-after-delete.js index 028d9accf50ea..178c40e045bf6 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dtsMap-rewrite-as-rename-timeout-after-delete.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dtsMap-rewrite-as-rename-timeout-after-delete.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dtsMap-rewrite-as-rename-timeout-after-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dtsMap-rewrite-as-rename-timeout-after-write.js index c5e98b0b8e258..6c8726c66b2f3 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dtsMap-rewrite-as-rename-timeout-after-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/dependency-dtsMap-rewrite-as-rename-timeout-after-write.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/rename-locations.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/rename-locations.js index 35027862d8b34..e1f98c964fb16 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/rename-locations.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/rename-locations.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/usage-file-changes-with-timeout-before-request.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/usage-file-changes-with-timeout-before-request.js index 6a5578fdf06d8..c81d3d8cfdaaa 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/usage-file-changes-with-timeout-before-request.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/usage-file-changes-with-timeout-before-request.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/usage-file-changes.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/usage-file-changes.js index 5d81a4cf99a3e..b49929f580530 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/usage-file-changes.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependency/disabledSourceRef/usage-file-changes.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dts-change-as-rename-action-before-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dts-change-as-rename-action-before-write.js index 9cc77321f4720..1283dcbb95104 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dts-change-as-rename-action-before-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dts-change-as-rename-action-before-write.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dts-change-as-rename-no-timeout.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dts-change-as-rename-no-timeout.js index 8a9402fe29024..8818b1f109508 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dts-change-as-rename-no-timeout.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dts-change-as-rename-no-timeout.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dts-change-as-rename-timeout-after-delete.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dts-change-as-rename-timeout-after-delete.js index 06844c7c205b7..8814e2a929eab 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dts-change-as-rename-timeout-after-delete.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dts-change-as-rename-timeout-after-delete.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dts-change-as-rename-timeout-after-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dts-change-as-rename-timeout-after-write.js index eab99f93b41ae..0a4238a45da24 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dts-change-as-rename-timeout-after-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dts-change-as-rename-timeout-after-write.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dts-changes-with-timeout-before-request.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dts-changes-with-timeout-before-request.js index 2058e751cd077..66c35e31d2708 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dts-changes-with-timeout-before-request.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dts-changes-with-timeout-before-request.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dts-changes.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dts-changes.js index acb5b234bc7a0..23a800e7fcbc5 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dts-changes.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dts-changes.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dts-created.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dts-created.js index 1ffab08a2c10c..fc554aa36d3ed 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dts-created.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dts-created.js @@ -80,7 +80,7 @@ function fn5() { } {"version":3,"file":"FnS.d.ts","sourceRoot":"","sources":["../dependency/FnS.ts"],"names":[],"mappings":"AAAA,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -123,15 +123,10 @@ function fn5() { } "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -153,7 +148,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -215,15 +210,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dts-deleted.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dts-deleted.js index 44d1098dc966c..328c2d05c7c02 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dts-deleted.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dts-deleted.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dts-not-present.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dts-not-present.js index 95e2bb7620a77..e603200317db3 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dts-not-present.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dts-not-present.js @@ -80,7 +80,7 @@ function fn5() { } {"version":3,"file":"FnS.d.ts","sourceRoot":"","sources":["../dependency/FnS.ts"],"names":[],"mappings":"AAAA,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -123,15 +123,10 @@ function fn5() { } "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -153,7 +148,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -215,15 +210,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dts-rewrite-as-rename-action-before-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dts-rewrite-as-rename-action-before-write.js index 7c2d4cf39ce51..288051d353f59 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dts-rewrite-as-rename-action-before-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dts-rewrite-as-rename-action-before-write.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dts-rewrite-as-rename-no-timeout.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dts-rewrite-as-rename-no-timeout.js index 0977d36976ad4..7aa6973785cc2 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dts-rewrite-as-rename-no-timeout.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dts-rewrite-as-rename-no-timeout.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dts-rewrite-as-rename-timeout-after-delete.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dts-rewrite-as-rename-timeout-after-delete.js index d103cd1769bbb..912b7523a693f 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dts-rewrite-as-rename-timeout-after-delete.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dts-rewrite-as-rename-timeout-after-delete.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dts-rewrite-as-rename-timeout-after-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dts-rewrite-as-rename-timeout-after-write.js index c90775cef2590..d143ea5d75e9e 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dts-rewrite-as-rename-timeout-after-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dts-rewrite-as-rename-timeout-after-write.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dtsMap-change-as-rename-action-before-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dtsMap-change-as-rename-action-before-write.js index e5ed88ef45c3f..53f9e0c511b3c 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dtsMap-change-as-rename-action-before-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dtsMap-change-as-rename-action-before-write.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dtsMap-change-as-rename-no-timeout.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dtsMap-change-as-rename-no-timeout.js index 8901bee9716bf..ff2d2180e218c 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dtsMap-change-as-rename-no-timeout.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dtsMap-change-as-rename-no-timeout.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dtsMap-change-as-rename-timeout-after-delete.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dtsMap-change-as-rename-timeout-after-delete.js index ecefc48d97983..79f5cd4b0abd4 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dtsMap-change-as-rename-timeout-after-delete.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dtsMap-change-as-rename-timeout-after-delete.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dtsMap-change-as-rename-timeout-after-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dtsMap-change-as-rename-timeout-after-write.js index 6971226750bd4..b5667b6d02169 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dtsMap-change-as-rename-timeout-after-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dtsMap-change-as-rename-timeout-after-write.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dtsMap-changes-with-timeout-before-request.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dtsMap-changes-with-timeout-before-request.js index 9995dfe8e6fa5..34b0e8b4d5f39 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dtsMap-changes-with-timeout-before-request.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dtsMap-changes-with-timeout-before-request.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dtsMap-changes.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dtsMap-changes.js index 506aa96cce530..db06d3e546195 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dtsMap-changes.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dtsMap-changes.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dtsMap-created.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dtsMap-created.js index c91e925954153..72f194ca63cad 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dtsMap-created.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dtsMap-created.js @@ -85,7 +85,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -128,15 +128,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -158,7 +153,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -220,15 +215,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dtsMap-deleted.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dtsMap-deleted.js index 9b02462f023e4..7b9cf69e5002e 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dtsMap-deleted.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dtsMap-deleted.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dtsMap-not-present.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dtsMap-not-present.js index 6d69b296287df..310f9e09fb0f0 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dtsMap-not-present.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dtsMap-not-present.js @@ -85,7 +85,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -128,15 +128,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -158,7 +153,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -220,15 +215,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dtsMap-rewrite-as-rename-action-before-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dtsMap-rewrite-as-rename-action-before-write.js index 69b3861f81161..86f42a1c4f791 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dtsMap-rewrite-as-rename-action-before-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dtsMap-rewrite-as-rename-action-before-write.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dtsMap-rewrite-as-rename-no-timeout.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dtsMap-rewrite-as-rename-no-timeout.js index cd4762253e6d1..659e6cbd51372 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dtsMap-rewrite-as-rename-no-timeout.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dtsMap-rewrite-as-rename-no-timeout.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dtsMap-rewrite-as-rename-timeout-after-delete.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dtsMap-rewrite-as-rename-timeout-after-delete.js index 2ce562209332a..bfd45d06852ff 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dtsMap-rewrite-as-rename-timeout-after-delete.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dtsMap-rewrite-as-rename-timeout-after-delete.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dtsMap-rewrite-as-rename-timeout-after-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dtsMap-rewrite-as-rename-timeout-after-write.js index 597d8df7e5340..04c9f4c17e4bd 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dtsMap-rewrite-as-rename-timeout-after-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/dependency-dtsMap-rewrite-as-rename-timeout-after-write.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/goToDef-and-rename-locations-and-deleting-config-file.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/goToDef-and-rename-locations-and-deleting-config-file.js index 5e3bc2c4844a0..1328d38b41013 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/goToDef-and-rename-locations-and-deleting-config-file.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/goToDef-and-rename-locations-and-deleting-config-file.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } @@ -545,6 +535,17 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/dependency/tsconfig.json", + "configFile": "/user/username/projects/myproject/dependency/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] response: { "response": { @@ -909,15 +910,14 @@ ScriptInfos:: Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /user/username/projects/myproject/main/tsconfig.json 0:: WatchInfo: /user/username/projects/myproject/main/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/main/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/main/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/main/main.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/main/tsconfig.json -Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/main/tsconfig.json, Cancelled earlier one Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/myproject/main/tsconfig.json 0:: WatchInfo: /user/username/projects/myproject/main/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/main/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /user/username/projects/myproject/main/tsconfig.json :: WatchInfo: /user/username/projects/myproject/main 1 undefined Config: /user/username/projects/myproject/main/tsconfig.json WatchType: Wild card directory Info seq [hh:mm:ss:mss] Project: /user/username/projects/myproject/main/tsconfig.json Detected file add/remove of non supported extension: /user/username/projects/myproject/main/tsconfig.json Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /user/username/projects/myproject/main/tsconfig.json :: WatchInfo: /user/username/projects/myproject/main 1 undefined Config: /user/username/projects/myproject/main/tsconfig.json WatchType: Wild card directory Before running Timeout callback:: count: 2 -3: /user/username/projects/myproject/main/tsconfig.json -4: *ensureProjectForOpenFiles* +2: /user/username/projects/myproject/main/tsconfig.json +3: *ensureProjectForOpenFiles* //// [/user/username/projects/myproject/main/tsconfig.json] { "compilerOptions": { @@ -928,8 +928,8 @@ Before running Timeout callback:: count: 2 Timeout callback:: count: 2 -3: /user/username/projects/myproject/main/tsconfig.json *new* -4: *ensureProjectForOpenFiles* *new* +2: /user/username/projects/myproject/main/tsconfig.json *new* +3: *ensureProjectForOpenFiles* *new* Projects:: /dev/null/inferredProject1* (Inferred) @@ -948,7 +948,6 @@ Projects:: /user/username/projects/myproject/dependency/tsconfig.json Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/main/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/main/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -1009,6 +1008,7 @@ Info seq [hh:mm:ss:mss] ----------------------------------------------- Info seq [hh:mm:ss:mss] Open files: Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/main/main.ts ProjectRootPath: undefined Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1*,/user/username/projects/myproject/main/tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/main/tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/main/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root @@ -1538,11 +1538,11 @@ Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /user/username/projec Info seq [hh:mm:ss:mss] Project: /user/username/projects/myproject/main/tsconfig.json Detected file add/remove of non supported extension: /user/username/projects/myproject/main/tsconfig.json Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /user/username/projects/myproject/main/tsconfig.json :: WatchInfo: /user/username/projects/myproject/main 1 undefined Config: /user/username/projects/myproject/main/tsconfig.json WatchType: Wild card directory Before running Timeout callback:: count: 1 -5: *ensureProjectForOpenFiles* +4: *ensureProjectForOpenFiles* //// [/user/username/projects/myproject/main/tsconfig.json] deleted Timeout callback:: count: 1 -5: *ensureProjectForOpenFiles* *new* +4: *ensureProjectForOpenFiles* *new* Projects:: /user/username/projects/myproject/dependency/tsconfig.json (Configured) @@ -2057,15 +2057,14 @@ ScriptInfos:: Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /user/username/projects/myproject/main/tsconfig.json 0:: WatchInfo: /user/username/projects/myproject/main/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/main/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/main/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/main/main.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/main/tsconfig.json -Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/main/tsconfig.json, Cancelled earlier one Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/myproject/main/tsconfig.json 0:: WatchInfo: /user/username/projects/myproject/main/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/main/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /user/username/projects/myproject/main/tsconfig.json :: WatchInfo: /user/username/projects/myproject/main 1 undefined Config: /user/username/projects/myproject/main/tsconfig.json WatchType: Wild card directory Info seq [hh:mm:ss:mss] Project: /user/username/projects/myproject/main/tsconfig.json Detected file add/remove of non supported extension: /user/username/projects/myproject/main/tsconfig.json Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /user/username/projects/myproject/main/tsconfig.json :: WatchInfo: /user/username/projects/myproject/main 1 undefined Config: /user/username/projects/myproject/main/tsconfig.json WatchType: Wild card directory Before running Timeout callback:: count: 2 -7: /user/username/projects/myproject/main/tsconfig.json -8: *ensureProjectForOpenFiles* +5: /user/username/projects/myproject/main/tsconfig.json +6: *ensureProjectForOpenFiles* //// [/user/username/projects/myproject/main/tsconfig.json] { "compilerOptions": { @@ -2076,8 +2075,8 @@ Before running Timeout callback:: count: 2 Timeout callback:: count: 2 -7: /user/username/projects/myproject/main/tsconfig.json *new* -8: *ensureProjectForOpenFiles* *new* +5: /user/username/projects/myproject/main/tsconfig.json *new* +6: *ensureProjectForOpenFiles* *new* Projects:: /dev/null/inferredProject2* (Inferred) @@ -2100,7 +2099,6 @@ Projects:: noOpenRef: true Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/main/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/main/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -2165,6 +2163,7 @@ Info seq [hh:mm:ss:mss] ----------------------------------------------- Info seq [hh:mm:ss:mss] Open files: Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/main/main.ts ProjectRootPath: undefined Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject2*,/user/username/projects/myproject/main/tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/main/tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/main/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root @@ -2621,20 +2620,19 @@ Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /user/u Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /user/username/projects/myproject/main/tsconfig.json 0:: WatchInfo: /user/username/projects/myproject/main/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/main/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/main/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/main/main.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/main/tsconfig.json -Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/main/tsconfig.json, Cancelled earlier one Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/myproject/main/tsconfig.json 0:: WatchInfo: /user/username/projects/myproject/main/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/main/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /user/username/projects/myproject/main/tsconfig.json :: WatchInfo: /user/username/projects/myproject/main 1 undefined Config: /user/username/projects/myproject/main/tsconfig.json WatchType: Wild card directory Info seq [hh:mm:ss:mss] Project: /user/username/projects/myproject/main/tsconfig.json Detected file add/remove of non supported extension: /user/username/projects/myproject/main/tsconfig.json Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /user/username/projects/myproject/main/tsconfig.json :: WatchInfo: /user/username/projects/myproject/main 1 undefined Config: /user/username/projects/myproject/main/tsconfig.json WatchType: Wild card directory Before running Timeout callback:: count: 2 -11: /user/username/projects/myproject/main/tsconfig.json -12: *ensureProjectForOpenFiles* +8: /user/username/projects/myproject/main/tsconfig.json +9: *ensureProjectForOpenFiles* //// [/user/username/projects/myproject/main/tsconfig.json] file written with same contents Timeout callback:: count: 2 -11: /user/username/projects/myproject/main/tsconfig.json *new* -12: *ensureProjectForOpenFiles* *new* +8: /user/username/projects/myproject/main/tsconfig.json *new* +9: *ensureProjectForOpenFiles* *new* Projects:: /user/username/projects/myproject/dependency/tsconfig.json (Configured) @@ -2652,7 +2650,6 @@ Projects:: noOpenRef: true Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/main/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/main/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -2713,6 +2710,7 @@ Info seq [hh:mm:ss:mss] ----------------------------------------------- Info seq [hh:mm:ss:mss] Open files: Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/main/main.ts ProjectRootPath: undefined Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/main/tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/main/tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] After ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/main/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (3) @@ -3034,7 +3032,7 @@ Before request //// [/user/username/projects/myproject/main/tsconfig.json] deleted Timeout callback:: count: 1 -13: *ensureProjectForOpenFiles* *new* +10: *ensureProjectForOpenFiles* *new* Projects:: /user/username/projects/myproject/dependency/tsconfig.json (Configured) @@ -3322,15 +3320,14 @@ ScriptInfos:: Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /user/username/projects/myproject/main/tsconfig.json 0:: WatchInfo: /user/username/projects/myproject/main/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/main/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/main/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/main/main.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/main/tsconfig.json -Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/main/tsconfig.json, Cancelled earlier one Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/myproject/main/tsconfig.json 0:: WatchInfo: /user/username/projects/myproject/main/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/main/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /user/username/projects/myproject/main/tsconfig.json :: WatchInfo: /user/username/projects/myproject/main 1 undefined Config: /user/username/projects/myproject/main/tsconfig.json WatchType: Wild card directory Info seq [hh:mm:ss:mss] Project: /user/username/projects/myproject/main/tsconfig.json Detected file add/remove of non supported extension: /user/username/projects/myproject/main/tsconfig.json Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /user/username/projects/myproject/main/tsconfig.json :: WatchInfo: /user/username/projects/myproject/main 1 undefined Config: /user/username/projects/myproject/main/tsconfig.json WatchType: Wild card directory Before running Timeout callback:: count: 2 -15: /user/username/projects/myproject/main/tsconfig.json -16: *ensureProjectForOpenFiles* +11: /user/username/projects/myproject/main/tsconfig.json +12: *ensureProjectForOpenFiles* //// [/user/username/projects/myproject/main/tsconfig.json] { "compilerOptions": { @@ -3341,9 +3338,9 @@ Before running Timeout callback:: count: 2 Timeout callback:: count: 2 -13: *ensureProjectForOpenFiles* *deleted* -15: /user/username/projects/myproject/main/tsconfig.json *new* -16: *ensureProjectForOpenFiles* *new* +10: *ensureProjectForOpenFiles* *deleted* +11: /user/username/projects/myproject/main/tsconfig.json *new* +12: *ensureProjectForOpenFiles* *new* Projects:: /user/username/projects/myproject/dependency/tsconfig.json (Configured) @@ -3363,7 +3360,6 @@ Projects:: noOpenRef: true Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/main/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/main/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -3424,6 +3420,7 @@ Info seq [hh:mm:ss:mss] ----------------------------------------------- Info seq [hh:mm:ss:mss] Open files: Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/main/main.ts ProjectRootPath: undefined Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/main/tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/main/tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] After ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/main/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (3) @@ -3741,11 +3738,11 @@ Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /user/username/projec Info seq [hh:mm:ss:mss] Project: /user/username/projects/myproject/dependency/tsconfig.json Detected file add/remove of non supported extension: /user/username/projects/myproject/dependency/tsconfig.json Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /user/username/projects/myproject/dependency/tsconfig.json :: WatchInfo: /user/username/projects/myproject/dependency 1 undefined Config: /user/username/projects/myproject/dependency/tsconfig.json WatchType: Wild card directory Before running Timeout callback:: count: 1 -17: *ensureProjectForOpenFiles* +13: *ensureProjectForOpenFiles* //// [/user/username/projects/myproject/dependency/tsconfig.json] deleted Timeout callback:: count: 1 -17: *ensureProjectForOpenFiles* *new* +13: *ensureProjectForOpenFiles* *new* Projects:: /user/username/projects/myproject/dependency/tsconfig.json (Configured) *changed* @@ -3818,8 +3815,8 @@ Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /user/username/projec Info seq [hh:mm:ss:mss] Project: /user/username/projects/myproject/dependency/tsconfig.json Detected file add/remove of non supported extension: /user/username/projects/myproject/dependency/tsconfig.json Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /user/username/projects/myproject/dependency/tsconfig.json :: WatchInfo: /user/username/projects/myproject/dependency 1 undefined Config: /user/username/projects/myproject/dependency/tsconfig.json WatchType: Wild card directory Before running Timeout callback:: count: 2 -18: /user/username/projects/myproject/dependency/tsconfig.json -19: *ensureProjectForOpenFiles* +14: /user/username/projects/myproject/dependency/tsconfig.json +15: *ensureProjectForOpenFiles* //// [/user/username/projects/myproject/dependency/tsconfig.json] { "compilerOptions": { @@ -3831,8 +3828,8 @@ Before running Timeout callback:: count: 2 Timeout callback:: count: 2 -18: /user/username/projects/myproject/dependency/tsconfig.json *new* -19: *ensureProjectForOpenFiles* *new* +14: /user/username/projects/myproject/dependency/tsconfig.json *new* +15: *ensureProjectForOpenFiles* *new* Projects:: /user/username/projects/myproject/dependency/tsconfig.json (Configured) *changed* @@ -3852,7 +3849,6 @@ Projects:: noOpenRef: true Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/dependency/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/dependency/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -4234,7 +4230,7 @@ Before request //// [/user/username/projects/myproject/dependency/tsconfig.json] deleted Timeout callback:: count: 1 -20: *ensureProjectForOpenFiles* *new* +16: *ensureProjectForOpenFiles* *new* Projects:: /user/username/projects/myproject/dependency/tsconfig.json (Configured) *changed* @@ -4527,8 +4523,8 @@ Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /user/username/projec Info seq [hh:mm:ss:mss] Project: /user/username/projects/myproject/dependency/tsconfig.json Detected file add/remove of non supported extension: /user/username/projects/myproject/dependency/tsconfig.json Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /user/username/projects/myproject/dependency/tsconfig.json :: WatchInfo: /user/username/projects/myproject/dependency 1 undefined Config: /user/username/projects/myproject/dependency/tsconfig.json WatchType: Wild card directory Before running Timeout callback:: count: 2 -21: /user/username/projects/myproject/dependency/tsconfig.json -22: *ensureProjectForOpenFiles* +17: /user/username/projects/myproject/dependency/tsconfig.json +18: *ensureProjectForOpenFiles* //// [/user/username/projects/myproject/dependency/tsconfig.json] { "compilerOptions": { @@ -4540,9 +4536,9 @@ Before running Timeout callback:: count: 2 Timeout callback:: count: 2 -20: *ensureProjectForOpenFiles* *deleted* -21: /user/username/projects/myproject/dependency/tsconfig.json *new* -22: *ensureProjectForOpenFiles* *new* +16: *ensureProjectForOpenFiles* *deleted* +17: /user/username/projects/myproject/dependency/tsconfig.json *new* +18: *ensureProjectForOpenFiles* *new* Projects:: /user/username/projects/myproject/dependency/tsconfig.json (Configured) *changed* @@ -4562,7 +4558,6 @@ Projects:: noOpenRef: true Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/dependency/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/dependency/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -4941,11 +4936,11 @@ Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /user/username/projec Info seq [hh:mm:ss:mss] Project: /user/username/projects/myproject/dependency/tsconfig.json Detected file add/remove of non supported extension: /user/username/projects/myproject/dependency/tsconfig.json Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /user/username/projects/myproject/dependency/tsconfig.json :: WatchInfo: /user/username/projects/myproject/dependency 1 undefined Config: /user/username/projects/myproject/dependency/tsconfig.json WatchType: Wild card directory Before running Timeout callback:: count: 1 -23: *ensureProjectForOpenFiles* +19: *ensureProjectForOpenFiles* //// [/user/username/projects/myproject/dependency/tsconfig.json] deleted Timeout callback:: count: 1 -23: *ensureProjectForOpenFiles* *new* +19: *ensureProjectForOpenFiles* *new* Projects:: /user/username/projects/myproject/dependency/tsconfig.json (Configured) *changed* @@ -5287,8 +5282,8 @@ Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /user/username/projec Info seq [hh:mm:ss:mss] Project: /user/username/projects/myproject/dependency/tsconfig.json Detected file add/remove of non supported extension: /user/username/projects/myproject/dependency/tsconfig.json Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /user/username/projects/myproject/dependency/tsconfig.json :: WatchInfo: /user/username/projects/myproject/dependency 1 undefined Config: /user/username/projects/myproject/dependency/tsconfig.json WatchType: Wild card directory Before running Timeout callback:: count: 2 -24: /user/username/projects/myproject/dependency/tsconfig.json -25: *ensureProjectForOpenFiles* +20: /user/username/projects/myproject/dependency/tsconfig.json +21: *ensureProjectForOpenFiles* //// [/user/username/projects/myproject/dependency/tsconfig.json] { "compilerOptions": { @@ -5300,8 +5295,8 @@ Before running Timeout callback:: count: 2 Timeout callback:: count: 2 -24: /user/username/projects/myproject/dependency/tsconfig.json *new* -25: *ensureProjectForOpenFiles* *new* +20: /user/username/projects/myproject/dependency/tsconfig.json *new* +21: *ensureProjectForOpenFiles* *new* Projects:: /user/username/projects/myproject/dependency/tsconfig.json (Configured) *changed* @@ -5321,7 +5316,6 @@ Projects:: noOpenRef: true Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/dependency/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/dependency/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -5707,13 +5701,13 @@ Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /user/username/projec Info seq [hh:mm:ss:mss] Project: /user/username/projects/myproject/dependency/tsconfig.json Detected file add/remove of non supported extension: /user/username/projects/myproject/dependency/tsconfig.json Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /user/username/projects/myproject/dependency/tsconfig.json :: WatchInfo: /user/username/projects/myproject/dependency 1 undefined Config: /user/username/projects/myproject/dependency/tsconfig.json WatchType: Wild card directory Before running Timeout callback:: count: 2 -27: /user/username/projects/myproject/dependency/tsconfig.json -28: *ensureProjectForOpenFiles* +23: /user/username/projects/myproject/dependency/tsconfig.json +24: *ensureProjectForOpenFiles* //// [/user/username/projects/myproject/dependency/tsconfig.json] file written with same contents Timeout callback:: count: 2 -27: /user/username/projects/myproject/dependency/tsconfig.json *new* -28: *ensureProjectForOpenFiles* *new* +23: /user/username/projects/myproject/dependency/tsconfig.json *new* +24: *ensureProjectForOpenFiles* *new* Projects:: /user/username/projects/myproject/dependency/tsconfig.json (Configured) *changed* @@ -5731,7 +5725,6 @@ Projects:: noOpenRef: true Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/dependency/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/dependency/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/goToDef-and-rename-locations.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/goToDef-and-rename-locations.js index 24012ded7e42e..4665e31ee4181 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/goToDef-and-rename-locations.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/goToDef-and-rename-locations.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/usage-file-changes-with-timeout-before-request.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/usage-file-changes-with-timeout-before-request.js index df8c0307398d7..9b3e37d4527ff 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/usage-file-changes-with-timeout-before-request.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/usage-file-changes-with-timeout-before-request.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/usage-file-changes.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/usage-file-changes.js index 5efc07198c5bc..03a333d09f024 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/usage-file-changes.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configHasNoReference/usage-file-changes.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dts-change-as-rename-action-before-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dts-change-as-rename-action-before-write.js index b50747f814df6..f9387ec46bac3 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dts-change-as-rename-action-before-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dts-change-as-rename-action-before-write.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dts-change-as-rename-no-timeout.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dts-change-as-rename-no-timeout.js index 141b3b59f061b..a0dc25abc15b9 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dts-change-as-rename-no-timeout.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dts-change-as-rename-no-timeout.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dts-change-as-rename-timeout-after-delete.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dts-change-as-rename-timeout-after-delete.js index 607665c0f1045..8d60adcae8ca4 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dts-change-as-rename-timeout-after-delete.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dts-change-as-rename-timeout-after-delete.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dts-change-as-rename-timeout-after-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dts-change-as-rename-timeout-after-write.js index 55fb4ca594507..2434667d60bbf 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dts-change-as-rename-timeout-after-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dts-change-as-rename-timeout-after-write.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dts-changes-with-timeout-before-request.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dts-changes-with-timeout-before-request.js index c1fdfdd218a59..06cbf60cbc7dc 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dts-changes-with-timeout-before-request.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dts-changes-with-timeout-before-request.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dts-changes.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dts-changes.js index 8a64418b6d718..87573d0b6405b 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dts-changes.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dts-changes.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dts-created.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dts-created.js index 1b2a4025ce5b9..635ac1fa9d5fc 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dts-created.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dts-created.js @@ -85,7 +85,7 @@ function fn5() { } {"version":3,"file":"FnS.d.ts","sourceRoot":"","sources":["../dependency/FnS.ts"],"names":[],"mappings":"AAAA,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -128,15 +128,10 @@ function fn5() { } "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -158,7 +153,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -220,15 +215,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dts-deleted.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dts-deleted.js index c7c2a5f9c02b7..bc7b287b969e2 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dts-deleted.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dts-deleted.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dts-not-present.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dts-not-present.js index 0ba8d91bfb34c..a3f83d2f9a3e1 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dts-not-present.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dts-not-present.js @@ -85,7 +85,7 @@ function fn5() { } {"version":3,"file":"FnS.d.ts","sourceRoot":"","sources":["../dependency/FnS.ts"],"names":[],"mappings":"AAAA,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -128,15 +128,10 @@ function fn5() { } "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -158,7 +153,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -220,15 +215,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dts-rewrite-as-rename-action-before-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dts-rewrite-as-rename-action-before-write.js index 2c0e313016b80..bf4c8e4e78337 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dts-rewrite-as-rename-action-before-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dts-rewrite-as-rename-action-before-write.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dts-rewrite-as-rename-no-timeout.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dts-rewrite-as-rename-no-timeout.js index bd947441d99c8..d9cf802cddc7b 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dts-rewrite-as-rename-no-timeout.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dts-rewrite-as-rename-no-timeout.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dts-rewrite-as-rename-timeout-after-delete.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dts-rewrite-as-rename-timeout-after-delete.js index d0a281f2a9a54..5cf87225745d4 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dts-rewrite-as-rename-timeout-after-delete.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dts-rewrite-as-rename-timeout-after-delete.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dts-rewrite-as-rename-timeout-after-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dts-rewrite-as-rename-timeout-after-write.js index bf2b9f52b3878..b656feed3f689 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dts-rewrite-as-rename-timeout-after-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dts-rewrite-as-rename-timeout-after-write.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dtsMap-change-as-rename-action-before-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dtsMap-change-as-rename-action-before-write.js index 2a3b5e1fe12f2..89f89d12c630e 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dtsMap-change-as-rename-action-before-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dtsMap-change-as-rename-action-before-write.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dtsMap-change-as-rename-no-timeout.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dtsMap-change-as-rename-no-timeout.js index 1fca78dcb943f..3523a929ac203 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dtsMap-change-as-rename-no-timeout.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dtsMap-change-as-rename-no-timeout.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dtsMap-change-as-rename-timeout-after-delete.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dtsMap-change-as-rename-timeout-after-delete.js index 88bfe7faaf800..775af82cd0849 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dtsMap-change-as-rename-timeout-after-delete.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dtsMap-change-as-rename-timeout-after-delete.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dtsMap-change-as-rename-timeout-after-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dtsMap-change-as-rename-timeout-after-write.js index 3d65d07c91204..3fedb266b3fa1 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dtsMap-change-as-rename-timeout-after-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dtsMap-change-as-rename-timeout-after-write.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dtsMap-changes-with-timeout-before-request.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dtsMap-changes-with-timeout-before-request.js index e5932a984e466..28491f1bdc4ad 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dtsMap-changes-with-timeout-before-request.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dtsMap-changes-with-timeout-before-request.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dtsMap-changes.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dtsMap-changes.js index 0274a4f82f57a..813c2b6fa891f 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dtsMap-changes.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dtsMap-changes.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dtsMap-created.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dtsMap-created.js index afc74970839f5..d59d4516501ac 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dtsMap-created.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dtsMap-created.js @@ -90,7 +90,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -133,15 +133,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -163,7 +158,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -225,15 +220,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dtsMap-deleted.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dtsMap-deleted.js index f540e507fd0a0..79f702a4943fb 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dtsMap-deleted.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dtsMap-deleted.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dtsMap-not-present.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dtsMap-not-present.js index 680f10e66a4d9..00e341e86adcb 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dtsMap-not-present.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dtsMap-not-present.js @@ -90,7 +90,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -133,15 +133,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -163,7 +158,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -225,15 +220,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dtsMap-rewrite-as-rename-action-before-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dtsMap-rewrite-as-rename-action-before-write.js index dbbf2896ac2ba..e8e1aa81597f4 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dtsMap-rewrite-as-rename-action-before-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dtsMap-rewrite-as-rename-action-before-write.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dtsMap-rewrite-as-rename-no-timeout.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dtsMap-rewrite-as-rename-no-timeout.js index 67340952f0150..7497fb3acc045 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dtsMap-rewrite-as-rename-no-timeout.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dtsMap-rewrite-as-rename-no-timeout.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dtsMap-rewrite-as-rename-timeout-after-delete.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dtsMap-rewrite-as-rename-timeout-after-delete.js index 56b011b5aa4a9..8638c6f5696a8 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dtsMap-rewrite-as-rename-timeout-after-delete.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dtsMap-rewrite-as-rename-timeout-after-delete.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dtsMap-rewrite-as-rename-timeout-after-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dtsMap-rewrite-as-rename-timeout-after-write.js index aa3011644bfd0..9e5dab4fde80a 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dtsMap-rewrite-as-rename-timeout-after-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-dtsMap-rewrite-as-rename-timeout-after-write.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-source-changes-with-timeout-before-request.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-source-changes-with-timeout-before-request.js index 30ea508d5fc52..4a081c60fe604 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-source-changes-with-timeout-before-request.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-source-changes-with-timeout-before-request.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-source-changes.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-source-changes.js index dcf9927f286a3..1c4ad2a90713e 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-source-changes.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/dependency-source-changes.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/goToDef-and-rename-locations-and-deleting-config-file.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/goToDef-and-rename-locations-and-deleting-config-file.js index 2a48c012c8bb0..46883a1e8d924 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/goToDef-and-rename-locations-and-deleting-config-file.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/goToDef-and-rename-locations-and-deleting-config-file.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } @@ -558,6 +548,17 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/dependency/tsconfig.json", + "configFile": "/user/username/projects/myproject/dependency/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] response: { "response": { @@ -894,15 +895,14 @@ ScriptInfos:: Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /user/username/projects/myproject/main/tsconfig.json 0:: WatchInfo: /user/username/projects/myproject/main/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/main/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/main/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/main/main.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/main/tsconfig.json -Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/main/tsconfig.json, Cancelled earlier one Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/myproject/main/tsconfig.json 0:: WatchInfo: /user/username/projects/myproject/main/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/main/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /user/username/projects/myproject/main/tsconfig.json :: WatchInfo: /user/username/projects/myproject/main 1 undefined Config: /user/username/projects/myproject/main/tsconfig.json WatchType: Wild card directory Info seq [hh:mm:ss:mss] Project: /user/username/projects/myproject/main/tsconfig.json Detected file add/remove of non supported extension: /user/username/projects/myproject/main/tsconfig.json Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /user/username/projects/myproject/main/tsconfig.json :: WatchInfo: /user/username/projects/myproject/main 1 undefined Config: /user/username/projects/myproject/main/tsconfig.json WatchType: Wild card directory Before running Timeout callback:: count: 2 -3: /user/username/projects/myproject/main/tsconfig.json -4: *ensureProjectForOpenFiles* +2: /user/username/projects/myproject/main/tsconfig.json +3: *ensureProjectForOpenFiles* //// [/user/username/projects/myproject/main/tsconfig.json] { "compilerOptions": { @@ -918,8 +918,8 @@ Before running Timeout callback:: count: 2 Timeout callback:: count: 2 -3: /user/username/projects/myproject/main/tsconfig.json *new* -4: *ensureProjectForOpenFiles* *new* +2: /user/username/projects/myproject/main/tsconfig.json *new* +3: *ensureProjectForOpenFiles* *new* Projects:: /dev/null/inferredProject1* (Inferred) @@ -939,7 +939,6 @@ Projects:: /user/username/projects/myproject/main/tsconfig.json Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/main/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/main/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -1006,6 +1005,7 @@ Info seq [hh:mm:ss:mss] ----------------------------------------------- Info seq [hh:mm:ss:mss] Open files: Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/main/main.ts ProjectRootPath: undefined Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1*,/user/username/projects/myproject/main/tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/main/tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/main/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root @@ -1502,11 +1502,11 @@ Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /user/username/projec Info seq [hh:mm:ss:mss] Project: /user/username/projects/myproject/main/tsconfig.json Detected file add/remove of non supported extension: /user/username/projects/myproject/main/tsconfig.json Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /user/username/projects/myproject/main/tsconfig.json :: WatchInfo: /user/username/projects/myproject/main 1 undefined Config: /user/username/projects/myproject/main/tsconfig.json WatchType: Wild card directory Before running Timeout callback:: count: 1 -5: *ensureProjectForOpenFiles* +4: *ensureProjectForOpenFiles* //// [/user/username/projects/myproject/main/tsconfig.json] deleted Timeout callback:: count: 1 -5: *ensureProjectForOpenFiles* *new* +4: *ensureProjectForOpenFiles* *new* Projects:: /user/username/projects/myproject/dependency/tsconfig.json (Configured) @@ -1996,15 +1996,14 @@ ScriptInfos:: Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /user/username/projects/myproject/main/tsconfig.json 0:: WatchInfo: /user/username/projects/myproject/main/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/main/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/main/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/main/main.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/main/tsconfig.json -Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/main/tsconfig.json, Cancelled earlier one Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/myproject/main/tsconfig.json 0:: WatchInfo: /user/username/projects/myproject/main/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/main/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /user/username/projects/myproject/main/tsconfig.json :: WatchInfo: /user/username/projects/myproject/main 1 undefined Config: /user/username/projects/myproject/main/tsconfig.json WatchType: Wild card directory Info seq [hh:mm:ss:mss] Project: /user/username/projects/myproject/main/tsconfig.json Detected file add/remove of non supported extension: /user/username/projects/myproject/main/tsconfig.json Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /user/username/projects/myproject/main/tsconfig.json :: WatchInfo: /user/username/projects/myproject/main 1 undefined Config: /user/username/projects/myproject/main/tsconfig.json WatchType: Wild card directory Before running Timeout callback:: count: 2 -7: /user/username/projects/myproject/main/tsconfig.json -8: *ensureProjectForOpenFiles* +5: /user/username/projects/myproject/main/tsconfig.json +6: *ensureProjectForOpenFiles* //// [/user/username/projects/myproject/main/tsconfig.json] { "compilerOptions": { @@ -2020,8 +2019,8 @@ Before running Timeout callback:: count: 2 Timeout callback:: count: 2 -7: /user/username/projects/myproject/main/tsconfig.json *new* -8: *ensureProjectForOpenFiles* *new* +5: /user/username/projects/myproject/main/tsconfig.json *new* +6: *ensureProjectForOpenFiles* *new* Projects:: /dev/null/inferredProject2* (Inferred) @@ -2045,7 +2044,6 @@ Projects:: noOpenRef: true Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/main/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/main/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -2116,6 +2114,7 @@ Info seq [hh:mm:ss:mss] ----------------------------------------------- Info seq [hh:mm:ss:mss] Open files: Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/main/main.ts ProjectRootPath: undefined Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject2*,/user/username/projects/myproject/main/tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/main/tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/main/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root @@ -2537,20 +2536,19 @@ Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /user/u Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /user/username/projects/myproject/main/tsconfig.json 0:: WatchInfo: /user/username/projects/myproject/main/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/main/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/main/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/main/main.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/main/tsconfig.json -Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/main/tsconfig.json, Cancelled earlier one Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/myproject/main/tsconfig.json 0:: WatchInfo: /user/username/projects/myproject/main/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/main/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /user/username/projects/myproject/main/tsconfig.json :: WatchInfo: /user/username/projects/myproject/main 1 undefined Config: /user/username/projects/myproject/main/tsconfig.json WatchType: Wild card directory Info seq [hh:mm:ss:mss] Project: /user/username/projects/myproject/main/tsconfig.json Detected file add/remove of non supported extension: /user/username/projects/myproject/main/tsconfig.json Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /user/username/projects/myproject/main/tsconfig.json :: WatchInfo: /user/username/projects/myproject/main 1 undefined Config: /user/username/projects/myproject/main/tsconfig.json WatchType: Wild card directory Before running Timeout callback:: count: 2 -11: /user/username/projects/myproject/main/tsconfig.json -12: *ensureProjectForOpenFiles* +8: /user/username/projects/myproject/main/tsconfig.json +9: *ensureProjectForOpenFiles* //// [/user/username/projects/myproject/main/tsconfig.json] file written with same contents Timeout callback:: count: 2 -11: /user/username/projects/myproject/main/tsconfig.json *new* -12: *ensureProjectForOpenFiles* *new* +8: /user/username/projects/myproject/main/tsconfig.json *new* +9: *ensureProjectForOpenFiles* *new* Projects:: /user/username/projects/myproject/dependency/tsconfig.json (Configured) @@ -2569,7 +2567,6 @@ Projects:: noOpenRef: true Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/main/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/main/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -2636,6 +2633,7 @@ Info seq [hh:mm:ss:mss] ----------------------------------------------- Info seq [hh:mm:ss:mss] Open files: Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/main/main.ts ProjectRootPath: undefined Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/main/tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/main/tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] After ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/main/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (3) @@ -2926,7 +2924,7 @@ Before request //// [/user/username/projects/myproject/main/tsconfig.json] deleted Timeout callback:: count: 1 -13: *ensureProjectForOpenFiles* *new* +10: *ensureProjectForOpenFiles* *new* Projects:: /user/username/projects/myproject/dependency/tsconfig.json (Configured) @@ -3183,15 +3181,14 @@ ScriptInfos:: Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /user/username/projects/myproject/main/tsconfig.json 0:: WatchInfo: /user/username/projects/myproject/main/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/main/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/main/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/main/main.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/main/tsconfig.json -Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/main/tsconfig.json, Cancelled earlier one Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/myproject/main/tsconfig.json 0:: WatchInfo: /user/username/projects/myproject/main/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/main/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /user/username/projects/myproject/main/tsconfig.json :: WatchInfo: /user/username/projects/myproject/main 1 undefined Config: /user/username/projects/myproject/main/tsconfig.json WatchType: Wild card directory Info seq [hh:mm:ss:mss] Project: /user/username/projects/myproject/main/tsconfig.json Detected file add/remove of non supported extension: /user/username/projects/myproject/main/tsconfig.json Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /user/username/projects/myproject/main/tsconfig.json :: WatchInfo: /user/username/projects/myproject/main 1 undefined Config: /user/username/projects/myproject/main/tsconfig.json WatchType: Wild card directory Before running Timeout callback:: count: 2 -15: /user/username/projects/myproject/main/tsconfig.json -16: *ensureProjectForOpenFiles* +11: /user/username/projects/myproject/main/tsconfig.json +12: *ensureProjectForOpenFiles* //// [/user/username/projects/myproject/main/tsconfig.json] { "compilerOptions": { @@ -3207,9 +3204,9 @@ Before running Timeout callback:: count: 2 Timeout callback:: count: 2 -13: *ensureProjectForOpenFiles* *deleted* -15: /user/username/projects/myproject/main/tsconfig.json *new* -16: *ensureProjectForOpenFiles* *new* +10: *ensureProjectForOpenFiles* *deleted* +11: /user/username/projects/myproject/main/tsconfig.json *new* +12: *ensureProjectForOpenFiles* *new* Projects:: /user/username/projects/myproject/dependency/tsconfig.json (Configured) @@ -3230,7 +3227,6 @@ Projects:: noOpenRef: true Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/main/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/main/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -3297,6 +3293,7 @@ Info seq [hh:mm:ss:mss] ----------------------------------------------- Info seq [hh:mm:ss:mss] Open files: Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/main/main.ts ProjectRootPath: undefined Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/main/tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/main/tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] After ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/main/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (3) @@ -3584,13 +3581,13 @@ Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /user/username/projec Info seq [hh:mm:ss:mss] Project: /user/username/projects/myproject/dependency/tsconfig.json Detected file add/remove of non supported extension: /user/username/projects/myproject/dependency/tsconfig.json Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /user/username/projects/myproject/dependency/tsconfig.json :: WatchInfo: /user/username/projects/myproject/dependency 1 undefined Config: /user/username/projects/myproject/dependency/tsconfig.json WatchType: Wild card directory Before running Timeout callback:: count: 2 -17: /user/username/projects/myproject/main/tsconfig.json -18: *ensureProjectForOpenFiles* +13: /user/username/projects/myproject/main/tsconfig.json +14: *ensureProjectForOpenFiles* //// [/user/username/projects/myproject/dependency/tsconfig.json] deleted Timeout callback:: count: 2 -17: /user/username/projects/myproject/main/tsconfig.json *new* -18: *ensureProjectForOpenFiles* *new* +13: /user/username/projects/myproject/main/tsconfig.json *new* +14: *ensureProjectForOpenFiles* *new* Projects:: /user/username/projects/myproject/dependency/tsconfig.json (Configured) *changed* @@ -3641,6 +3638,32 @@ Info seq [hh:mm:ss:mss] Files (3) Matched by default include pattern '**/*' Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/main/tsconfig.json", + "configFile": "/user/username/projects/myproject/main/tsconfig.json", + "diagnostics": [ + { + "start": { + "line": 7, + "offset": 5 + }, + "end": { + "line": 9, + "offset": 6 + }, + "text": "File '/user/username/projects/myproject/dependency' not found.", + "code": 6053, + "category": "error", + "fileName": "/user/username/projects/myproject/main/tsconfig.json" + } + ] + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/main/tsconfig.json' (Configured) @@ -3787,9 +3810,9 @@ Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/dependency Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/myproject/dependency/tsconfig.json 0:: WatchInfo: /user/username/projects/myproject/dependency/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/main/tsconfig.json WatchType: Config file Before running Timeout callback:: count: 3 -19: /user/username/projects/myproject/main/tsconfig.json -20: /user/username/projects/myproject/dependency/tsconfig.json -21: *ensureProjectForOpenFiles* +15: /user/username/projects/myproject/main/tsconfig.json +16: /user/username/projects/myproject/dependency/tsconfig.json +17: *ensureProjectForOpenFiles* //// [/user/username/projects/myproject/dependency/tsconfig.json] { "compilerOptions": { @@ -3801,9 +3824,9 @@ Before running Timeout callback:: count: 3 Timeout callback:: count: 3 -19: /user/username/projects/myproject/main/tsconfig.json *new* -20: /user/username/projects/myproject/dependency/tsconfig.json *new* -21: *ensureProjectForOpenFiles* *new* +15: /user/username/projects/myproject/main/tsconfig.json *new* +16: /user/username/projects/myproject/dependency/tsconfig.json *new* +17: *ensureProjectForOpenFiles* *new* Projects:: /user/username/projects/myproject/dependency/tsconfig.json (Configured) *changed* @@ -3857,8 +3880,18 @@ Info seq [hh:mm:ss:mss] Files (3) Matched by default include pattern '**/*' Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/main/tsconfig.json", + "configFile": "/user/username/projects/myproject/main/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/dependency/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/dependency/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -4281,8 +4314,8 @@ Before request //// [/user/username/projects/myproject/dependency/tsconfig.json] deleted Timeout callback:: count: 2 -22: /user/username/projects/myproject/main/tsconfig.json *new* -23: *ensureProjectForOpenFiles* *new* +18: /user/username/projects/myproject/main/tsconfig.json *new* +19: *ensureProjectForOpenFiles* *new* Projects:: /user/username/projects/myproject/dependency/tsconfig.json (Configured) *changed* @@ -4548,9 +4581,9 @@ Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /user/username/projec Info seq [hh:mm:ss:mss] Project: /user/username/projects/myproject/dependency/tsconfig.json Detected file add/remove of non supported extension: /user/username/projects/myproject/dependency/tsconfig.json Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /user/username/projects/myproject/dependency/tsconfig.json :: WatchInfo: /user/username/projects/myproject/dependency 1 undefined Config: /user/username/projects/myproject/dependency/tsconfig.json WatchType: Wild card directory Before running Timeout callback:: count: 3 -24: /user/username/projects/myproject/main/tsconfig.json -25: /user/username/projects/myproject/dependency/tsconfig.json -26: *ensureProjectForOpenFiles* +20: /user/username/projects/myproject/main/tsconfig.json +21: /user/username/projects/myproject/dependency/tsconfig.json +22: *ensureProjectForOpenFiles* //// [/user/username/projects/myproject/dependency/tsconfig.json] { "compilerOptions": { @@ -4562,11 +4595,11 @@ Before running Timeout callback:: count: 3 Timeout callback:: count: 3 -22: /user/username/projects/myproject/main/tsconfig.json *deleted* -23: *ensureProjectForOpenFiles* *deleted* -24: /user/username/projects/myproject/main/tsconfig.json *new* -25: /user/username/projects/myproject/dependency/tsconfig.json *new* -26: *ensureProjectForOpenFiles* *new* +18: /user/username/projects/myproject/main/tsconfig.json *deleted* +19: *ensureProjectForOpenFiles* *deleted* +20: /user/username/projects/myproject/main/tsconfig.json *new* +21: /user/username/projects/myproject/dependency/tsconfig.json *new* +22: *ensureProjectForOpenFiles* *new* Projects:: /user/username/projects/myproject/dependency/tsconfig.json (Configured) *changed* @@ -4609,7 +4642,6 @@ Info seq [hh:mm:ss:mss] Files (3) Info seq [hh:mm:ss:mss] ----------------------------------------------- Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/dependency/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/dependency/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -4948,13 +4980,13 @@ Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /user/username/projec Info seq [hh:mm:ss:mss] Project: /user/username/projects/myproject/dependency/tsconfig.json Detected file add/remove of non supported extension: /user/username/projects/myproject/dependency/tsconfig.json Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /user/username/projects/myproject/dependency/tsconfig.json :: WatchInfo: /user/username/projects/myproject/dependency 1 undefined Config: /user/username/projects/myproject/dependency/tsconfig.json WatchType: Wild card directory Before running Timeout callback:: count: 2 -27: /user/username/projects/myproject/main/tsconfig.json -28: *ensureProjectForOpenFiles* +23: /user/username/projects/myproject/main/tsconfig.json +24: *ensureProjectForOpenFiles* //// [/user/username/projects/myproject/dependency/tsconfig.json] deleted Timeout callback:: count: 2 -27: /user/username/projects/myproject/main/tsconfig.json *new* -28: *ensureProjectForOpenFiles* *new* +23: /user/username/projects/myproject/main/tsconfig.json *new* +24: *ensureProjectForOpenFiles* *new* Projects:: /user/username/projects/myproject/dependency/tsconfig.json (Configured) *changed* @@ -5005,6 +5037,32 @@ Info seq [hh:mm:ss:mss] Files (3) Matched by default include pattern '**/*' Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/main/tsconfig.json", + "configFile": "/user/username/projects/myproject/main/tsconfig.json", + "diagnostics": [ + { + "start": { + "line": 7, + "offset": 5 + }, + "end": { + "line": 9, + "offset": 6 + }, + "text": "File '/user/username/projects/myproject/dependency' not found.", + "code": 6053, + "category": "error", + "fileName": "/user/username/projects/myproject/main/tsconfig.json" + } + ] + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/main/tsconfig.json' (Configured) @@ -5393,9 +5451,9 @@ Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/dependency Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/myproject/dependency/tsconfig.json 0:: WatchInfo: /user/username/projects/myproject/dependency/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/main/tsconfig.json WatchType: Config file Before running Timeout callback:: count: 3 -29: /user/username/projects/myproject/main/tsconfig.json -30: /user/username/projects/myproject/dependency/tsconfig.json -31: *ensureProjectForOpenFiles* +25: /user/username/projects/myproject/main/tsconfig.json +26: /user/username/projects/myproject/dependency/tsconfig.json +27: *ensureProjectForOpenFiles* //// [/user/username/projects/myproject/dependency/tsconfig.json] { "compilerOptions": { @@ -5407,9 +5465,9 @@ Before running Timeout callback:: count: 3 Timeout callback:: count: 3 -29: /user/username/projects/myproject/main/tsconfig.json *new* -30: /user/username/projects/myproject/dependency/tsconfig.json *new* -31: *ensureProjectForOpenFiles* *new* +25: /user/username/projects/myproject/main/tsconfig.json *new* +26: /user/username/projects/myproject/dependency/tsconfig.json *new* +27: *ensureProjectForOpenFiles* *new* Projects:: /user/username/projects/myproject/dependency/tsconfig.json (Configured) *changed* @@ -5464,8 +5522,18 @@ Info seq [hh:mm:ss:mss] Files (3) Matched by default include pattern '**/*' Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/main/tsconfig.json", + "configFile": "/user/username/projects/myproject/main/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/dependency/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/dependency/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -5904,15 +5972,15 @@ Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /user/username/projec Info seq [hh:mm:ss:mss] Project: /user/username/projects/myproject/dependency/tsconfig.json Detected file add/remove of non supported extension: /user/username/projects/myproject/dependency/tsconfig.json Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /user/username/projects/myproject/dependency/tsconfig.json :: WatchInfo: /user/username/projects/myproject/dependency 1 undefined Config: /user/username/projects/myproject/dependency/tsconfig.json WatchType: Wild card directory Before running Timeout callback:: count: 3 -34: /user/username/projects/myproject/main/tsconfig.json -35: /user/username/projects/myproject/dependency/tsconfig.json -36: *ensureProjectForOpenFiles* +30: /user/username/projects/myproject/main/tsconfig.json +31: /user/username/projects/myproject/dependency/tsconfig.json +32: *ensureProjectForOpenFiles* //// [/user/username/projects/myproject/dependency/tsconfig.json] file written with same contents Timeout callback:: count: 3 -34: /user/username/projects/myproject/main/tsconfig.json *new* -35: /user/username/projects/myproject/dependency/tsconfig.json *new* -36: *ensureProjectForOpenFiles* *new* +30: /user/username/projects/myproject/main/tsconfig.json *new* +31: /user/username/projects/myproject/dependency/tsconfig.json *new* +32: *ensureProjectForOpenFiles* *new* Projects:: /user/username/projects/myproject/dependency/tsconfig.json (Configured) *changed* @@ -5953,7 +6021,6 @@ Info seq [hh:mm:ss:mss] Files (3) Info seq [hh:mm:ss:mss] ----------------------------------------------- Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/dependency/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/dependency/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/goToDef-and-rename-locations.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/goToDef-and-rename-locations.js index 6ed23606e5f96..91f38d6bd9690 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/goToDef-and-rename-locations.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/goToDef-and-rename-locations.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/usage-file-changes-with-timeout-before-request.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/usage-file-changes-with-timeout-before-request.js index 2794885e4aeec..8e8bed6b7e441 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/usage-file-changes-with-timeout-before-request.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/usage-file-changes-with-timeout-before-request.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/usage-file-changes.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/usage-file-changes.js index adc81ce3c293b..e3f2c037b8f40 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/usage-file-changes.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/configWithReference/usage-file-changes.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dts-change-as-rename-action-before-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dts-change-as-rename-action-before-write.js index 29a7b8e831092..3804f64e5ca88 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dts-change-as-rename-action-before-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dts-change-as-rename-action-before-write.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dts-change-as-rename-no-timeout.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dts-change-as-rename-no-timeout.js index 38bd7d1c21c6b..328027e7c6215 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dts-change-as-rename-no-timeout.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dts-change-as-rename-no-timeout.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dts-change-as-rename-timeout-after-delete.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dts-change-as-rename-timeout-after-delete.js index 7cf667160b462..e711b44cc02ec 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dts-change-as-rename-timeout-after-delete.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dts-change-as-rename-timeout-after-delete.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dts-change-as-rename-timeout-after-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dts-change-as-rename-timeout-after-write.js index eebb6e6771cb5..f2064b9fdab56 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dts-change-as-rename-timeout-after-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dts-change-as-rename-timeout-after-write.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dts-changes-with-timeout-before-request.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dts-changes-with-timeout-before-request.js index 32baeb03c73f9..864934ffd71ad 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dts-changes-with-timeout-before-request.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dts-changes-with-timeout-before-request.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dts-changes.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dts-changes.js index 8ccaa8fe26d03..424012656762e 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dts-changes.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dts-changes.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dts-created.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dts-created.js index 16c6148e53147..6ac6c319b0dee 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dts-created.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dts-created.js @@ -86,7 +86,7 @@ function fn5() { } {"version":3,"file":"FnS.d.ts","sourceRoot":"","sources":["../dependency/FnS.ts"],"names":[],"mappings":"AAAA,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -129,15 +129,10 @@ function fn5() { } "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -159,7 +154,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -221,15 +216,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dts-deleted.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dts-deleted.js index 1dba7ab800c97..807e22de1b5c2 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dts-deleted.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dts-deleted.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dts-not-present.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dts-not-present.js index c6d4350c95d71..3712dfc7972ea 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dts-not-present.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dts-not-present.js @@ -86,7 +86,7 @@ function fn5() { } {"version":3,"file":"FnS.d.ts","sourceRoot":"","sources":["../dependency/FnS.ts"],"names":[],"mappings":"AAAA,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -129,15 +129,10 @@ function fn5() { } "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -159,7 +154,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -221,15 +216,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dts-rewrite-as-rename-action-before-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dts-rewrite-as-rename-action-before-write.js index 9e3ff2bf6ec56..4bc7465d7d5eb 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dts-rewrite-as-rename-action-before-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dts-rewrite-as-rename-action-before-write.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dts-rewrite-as-rename-no-timeout.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dts-rewrite-as-rename-no-timeout.js index b74b2da0d4bcf..309a7737a4f16 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dts-rewrite-as-rename-no-timeout.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dts-rewrite-as-rename-no-timeout.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dts-rewrite-as-rename-timeout-after-delete.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dts-rewrite-as-rename-timeout-after-delete.js index cde33dac21be2..5fd165bc8d2dd 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dts-rewrite-as-rename-timeout-after-delete.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dts-rewrite-as-rename-timeout-after-delete.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dts-rewrite-as-rename-timeout-after-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dts-rewrite-as-rename-timeout-after-write.js index 9512a4fab8a62..addb62b0272e1 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dts-rewrite-as-rename-timeout-after-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dts-rewrite-as-rename-timeout-after-write.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dtsMap-change-as-rename-action-before-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dtsMap-change-as-rename-action-before-write.js index 049ded06d14b6..beaaf0114d7de 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dtsMap-change-as-rename-action-before-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dtsMap-change-as-rename-action-before-write.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dtsMap-change-as-rename-no-timeout.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dtsMap-change-as-rename-no-timeout.js index fcb1ab43e93cb..aa224ecb0600a 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dtsMap-change-as-rename-no-timeout.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dtsMap-change-as-rename-no-timeout.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dtsMap-change-as-rename-timeout-after-delete.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dtsMap-change-as-rename-timeout-after-delete.js index 31c4bc16369cd..8ff3f567d748a 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dtsMap-change-as-rename-timeout-after-delete.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dtsMap-change-as-rename-timeout-after-delete.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dtsMap-change-as-rename-timeout-after-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dtsMap-change-as-rename-timeout-after-write.js index 936db95147c35..c47d836af20cf 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dtsMap-change-as-rename-timeout-after-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dtsMap-change-as-rename-timeout-after-write.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dtsMap-changes-with-timeout-before-request.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dtsMap-changes-with-timeout-before-request.js index 32abf28685835..50c50f21bca8d 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dtsMap-changes-with-timeout-before-request.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dtsMap-changes-with-timeout-before-request.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dtsMap-changes.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dtsMap-changes.js index 7eab7b5bec501..01e6447328645 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dtsMap-changes.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dtsMap-changes.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dtsMap-created.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dtsMap-created.js index 8469e03b700bc..7a0d3bc6dcba6 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dtsMap-created.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dtsMap-created.js @@ -91,7 +91,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -134,15 +134,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -164,7 +159,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -226,15 +221,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dtsMap-deleted.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dtsMap-deleted.js index 6daf752dc59ae..fee1258d45a92 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dtsMap-deleted.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dtsMap-deleted.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dtsMap-not-present.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dtsMap-not-present.js index 909e23e1e7254..2ecd3ae96263a 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dtsMap-not-present.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dtsMap-not-present.js @@ -91,7 +91,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -134,15 +134,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -164,7 +159,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -226,15 +221,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dtsMap-rewrite-as-rename-action-before-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dtsMap-rewrite-as-rename-action-before-write.js index f37f80b656564..6a37fe55fa47c 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dtsMap-rewrite-as-rename-action-before-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dtsMap-rewrite-as-rename-action-before-write.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dtsMap-rewrite-as-rename-no-timeout.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dtsMap-rewrite-as-rename-no-timeout.js index 63935702d7c66..5676ad90af2aa 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dtsMap-rewrite-as-rename-no-timeout.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dtsMap-rewrite-as-rename-no-timeout.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dtsMap-rewrite-as-rename-timeout-after-delete.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dtsMap-rewrite-as-rename-timeout-after-delete.js index d80f62b74cc47..880d2cd7dcddd 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dtsMap-rewrite-as-rename-timeout-after-delete.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dtsMap-rewrite-as-rename-timeout-after-delete.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dtsMap-rewrite-as-rename-timeout-after-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dtsMap-rewrite-as-rename-timeout-after-write.js index 49e4fa5f564fa..b0ad0dfa27719 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dtsMap-rewrite-as-rename-timeout-after-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/dependency-dtsMap-rewrite-as-rename-timeout-after-write.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/goToDef-and-rename-locations-and-deleting-config-file.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/goToDef-and-rename-locations-and-deleting-config-file.js index 7612b02352872..45d0f806427a4 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/goToDef-and-rename-locations-and-deleting-config-file.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/goToDef-and-rename-locations-and-deleting-config-file.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } @@ -563,6 +553,17 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/dependency/tsconfig.json", + "configFile": "/user/username/projects/myproject/dependency/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] response: { "response": { @@ -927,15 +928,14 @@ ScriptInfos:: Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /user/username/projects/myproject/main/tsconfig.json 0:: WatchInfo: /user/username/projects/myproject/main/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/main/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/main/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/main/main.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/main/tsconfig.json -Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/main/tsconfig.json, Cancelled earlier one Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/myproject/main/tsconfig.json 0:: WatchInfo: /user/username/projects/myproject/main/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/main/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /user/username/projects/myproject/main/tsconfig.json :: WatchInfo: /user/username/projects/myproject/main 1 undefined Config: /user/username/projects/myproject/main/tsconfig.json WatchType: Wild card directory Info seq [hh:mm:ss:mss] Project: /user/username/projects/myproject/main/tsconfig.json Detected file add/remove of non supported extension: /user/username/projects/myproject/main/tsconfig.json Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /user/username/projects/myproject/main/tsconfig.json :: WatchInfo: /user/username/projects/myproject/main 1 undefined Config: /user/username/projects/myproject/main/tsconfig.json WatchType: Wild card directory Before running Timeout callback:: count: 2 -3: /user/username/projects/myproject/main/tsconfig.json -4: *ensureProjectForOpenFiles* +2: /user/username/projects/myproject/main/tsconfig.json +3: *ensureProjectForOpenFiles* //// [/user/username/projects/myproject/main/tsconfig.json] { "compilerOptions": { @@ -952,8 +952,8 @@ Before running Timeout callback:: count: 2 Timeout callback:: count: 2 -3: /user/username/projects/myproject/main/tsconfig.json *new* -4: *ensureProjectForOpenFiles* *new* +2: /user/username/projects/myproject/main/tsconfig.json *new* +3: *ensureProjectForOpenFiles* *new* Projects:: /dev/null/inferredProject1* (Inferred) @@ -972,7 +972,6 @@ Projects:: /user/username/projects/myproject/dependency/tsconfig.json Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/main/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/main/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -1040,6 +1039,7 @@ Info seq [hh:mm:ss:mss] ----------------------------------------------- Info seq [hh:mm:ss:mss] Open files: Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/main/main.ts ProjectRootPath: undefined Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1*,/user/username/projects/myproject/main/tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/main/tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/main/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root @@ -1569,11 +1569,11 @@ Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /user/username/projec Info seq [hh:mm:ss:mss] Project: /user/username/projects/myproject/main/tsconfig.json Detected file add/remove of non supported extension: /user/username/projects/myproject/main/tsconfig.json Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /user/username/projects/myproject/main/tsconfig.json :: WatchInfo: /user/username/projects/myproject/main 1 undefined Config: /user/username/projects/myproject/main/tsconfig.json WatchType: Wild card directory Before running Timeout callback:: count: 1 -5: *ensureProjectForOpenFiles* +4: *ensureProjectForOpenFiles* //// [/user/username/projects/myproject/main/tsconfig.json] deleted Timeout callback:: count: 1 -5: *ensureProjectForOpenFiles* *new* +4: *ensureProjectForOpenFiles* *new* Projects:: /user/username/projects/myproject/dependency/tsconfig.json (Configured) @@ -2088,15 +2088,14 @@ ScriptInfos:: Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /user/username/projects/myproject/main/tsconfig.json 0:: WatchInfo: /user/username/projects/myproject/main/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/main/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/main/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/main/main.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/main/tsconfig.json -Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/main/tsconfig.json, Cancelled earlier one Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/myproject/main/tsconfig.json 0:: WatchInfo: /user/username/projects/myproject/main/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/main/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /user/username/projects/myproject/main/tsconfig.json :: WatchInfo: /user/username/projects/myproject/main 1 undefined Config: /user/username/projects/myproject/main/tsconfig.json WatchType: Wild card directory Info seq [hh:mm:ss:mss] Project: /user/username/projects/myproject/main/tsconfig.json Detected file add/remove of non supported extension: /user/username/projects/myproject/main/tsconfig.json Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /user/username/projects/myproject/main/tsconfig.json :: WatchInfo: /user/username/projects/myproject/main 1 undefined Config: /user/username/projects/myproject/main/tsconfig.json WatchType: Wild card directory Before running Timeout callback:: count: 2 -7: /user/username/projects/myproject/main/tsconfig.json -8: *ensureProjectForOpenFiles* +5: /user/username/projects/myproject/main/tsconfig.json +6: *ensureProjectForOpenFiles* //// [/user/username/projects/myproject/main/tsconfig.json] { "compilerOptions": { @@ -2113,8 +2112,8 @@ Before running Timeout callback:: count: 2 Timeout callback:: count: 2 -7: /user/username/projects/myproject/main/tsconfig.json *new* -8: *ensureProjectForOpenFiles* *new* +5: /user/username/projects/myproject/main/tsconfig.json *new* +6: *ensureProjectForOpenFiles* *new* Projects:: /dev/null/inferredProject2* (Inferred) @@ -2137,7 +2136,6 @@ Projects:: noOpenRef: true Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/main/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/main/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -2209,6 +2207,7 @@ Info seq [hh:mm:ss:mss] ----------------------------------------------- Info seq [hh:mm:ss:mss] Open files: Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/main/main.ts ProjectRootPath: undefined Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject2*,/user/username/projects/myproject/main/tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/main/tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/main/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root @@ -2665,20 +2664,19 @@ Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /user/u Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /user/username/projects/myproject/main/tsconfig.json 0:: WatchInfo: /user/username/projects/myproject/main/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/main/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/main/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/main/main.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/main/tsconfig.json -Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/main/tsconfig.json, Cancelled earlier one Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/myproject/main/tsconfig.json 0:: WatchInfo: /user/username/projects/myproject/main/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/main/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /user/username/projects/myproject/main/tsconfig.json :: WatchInfo: /user/username/projects/myproject/main 1 undefined Config: /user/username/projects/myproject/main/tsconfig.json WatchType: Wild card directory Info seq [hh:mm:ss:mss] Project: /user/username/projects/myproject/main/tsconfig.json Detected file add/remove of non supported extension: /user/username/projects/myproject/main/tsconfig.json Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /user/username/projects/myproject/main/tsconfig.json :: WatchInfo: /user/username/projects/myproject/main 1 undefined Config: /user/username/projects/myproject/main/tsconfig.json WatchType: Wild card directory Before running Timeout callback:: count: 2 -11: /user/username/projects/myproject/main/tsconfig.json -12: *ensureProjectForOpenFiles* +8: /user/username/projects/myproject/main/tsconfig.json +9: *ensureProjectForOpenFiles* //// [/user/username/projects/myproject/main/tsconfig.json] file written with same contents Timeout callback:: count: 2 -11: /user/username/projects/myproject/main/tsconfig.json *new* -12: *ensureProjectForOpenFiles* *new* +8: /user/username/projects/myproject/main/tsconfig.json *new* +9: *ensureProjectForOpenFiles* *new* Projects:: /user/username/projects/myproject/dependency/tsconfig.json (Configured) @@ -2696,7 +2694,6 @@ Projects:: noOpenRef: true Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/main/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/main/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -2764,6 +2761,7 @@ Info seq [hh:mm:ss:mss] ----------------------------------------------- Info seq [hh:mm:ss:mss] Open files: Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/main/main.ts ProjectRootPath: undefined Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/main/tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/main/tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] After ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/main/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (3) @@ -3085,7 +3083,7 @@ Before request //// [/user/username/projects/myproject/main/tsconfig.json] deleted Timeout callback:: count: 1 -13: *ensureProjectForOpenFiles* *new* +10: *ensureProjectForOpenFiles* *new* Projects:: /user/username/projects/myproject/dependency/tsconfig.json (Configured) @@ -3373,15 +3371,14 @@ ScriptInfos:: Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /user/username/projects/myproject/main/tsconfig.json 0:: WatchInfo: /user/username/projects/myproject/main/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/main/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/main/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/main/main.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/main/tsconfig.json -Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/main/tsconfig.json, Cancelled earlier one Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/myproject/main/tsconfig.json 0:: WatchInfo: /user/username/projects/myproject/main/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/main/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /user/username/projects/myproject/main/tsconfig.json :: WatchInfo: /user/username/projects/myproject/main 1 undefined Config: /user/username/projects/myproject/main/tsconfig.json WatchType: Wild card directory Info seq [hh:mm:ss:mss] Project: /user/username/projects/myproject/main/tsconfig.json Detected file add/remove of non supported extension: /user/username/projects/myproject/main/tsconfig.json Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /user/username/projects/myproject/main/tsconfig.json :: WatchInfo: /user/username/projects/myproject/main 1 undefined Config: /user/username/projects/myproject/main/tsconfig.json WatchType: Wild card directory Before running Timeout callback:: count: 2 -15: /user/username/projects/myproject/main/tsconfig.json -16: *ensureProjectForOpenFiles* +11: /user/username/projects/myproject/main/tsconfig.json +12: *ensureProjectForOpenFiles* //// [/user/username/projects/myproject/main/tsconfig.json] { "compilerOptions": { @@ -3398,9 +3395,9 @@ Before running Timeout callback:: count: 2 Timeout callback:: count: 2 -13: *ensureProjectForOpenFiles* *deleted* -15: /user/username/projects/myproject/main/tsconfig.json *new* -16: *ensureProjectForOpenFiles* *new* +10: *ensureProjectForOpenFiles* *deleted* +11: /user/username/projects/myproject/main/tsconfig.json *new* +12: *ensureProjectForOpenFiles* *new* Projects:: /user/username/projects/myproject/dependency/tsconfig.json (Configured) @@ -3420,7 +3417,6 @@ Projects:: noOpenRef: true Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/main/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/main/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -3488,6 +3484,7 @@ Info seq [hh:mm:ss:mss] ----------------------------------------------- Info seq [hh:mm:ss:mss] Open files: Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/main/main.ts ProjectRootPath: undefined Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/main/tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/main/tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] After ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/main/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (3) @@ -3806,13 +3803,13 @@ Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /user/username/projec Info seq [hh:mm:ss:mss] Project: /user/username/projects/myproject/dependency/tsconfig.json Detected file add/remove of non supported extension: /user/username/projects/myproject/dependency/tsconfig.json Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /user/username/projects/myproject/dependency/tsconfig.json :: WatchInfo: /user/username/projects/myproject/dependency 1 undefined Config: /user/username/projects/myproject/dependency/tsconfig.json WatchType: Wild card directory Before running Timeout callback:: count: 2 -17: /user/username/projects/myproject/main/tsconfig.json -18: *ensureProjectForOpenFiles* +13: /user/username/projects/myproject/main/tsconfig.json +14: *ensureProjectForOpenFiles* //// [/user/username/projects/myproject/dependency/tsconfig.json] deleted Timeout callback:: count: 2 -17: /user/username/projects/myproject/main/tsconfig.json *new* -18: *ensureProjectForOpenFiles* *new* +13: /user/username/projects/myproject/main/tsconfig.json *new* +14: *ensureProjectForOpenFiles* *new* Projects:: /user/username/projects/myproject/dependency/tsconfig.json (Configured) *changed* @@ -3851,6 +3848,32 @@ Info seq [hh:mm:ss:mss] Files (3) /user/username/projects/myproject/main/main.ts SVC-1-0 "import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n" Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/main/tsconfig.json", + "configFile": "/user/username/projects/myproject/main/tsconfig.json", + "diagnostics": [ + { + "start": { + "line": 8, + "offset": 5 + }, + "end": { + "line": 10, + "offset": 6 + }, + "text": "File '/user/username/projects/myproject/dependency' not found.", + "code": 6053, + "category": "error", + "fileName": "/user/username/projects/myproject/main/tsconfig.json" + } + ] + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/main/tsconfig.json' (Configured) @@ -3975,9 +3998,9 @@ Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/dependency Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/myproject/dependency/tsconfig.json 0:: WatchInfo: /user/username/projects/myproject/dependency/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/main/tsconfig.json WatchType: Config file Before running Timeout callback:: count: 3 -19: /user/username/projects/myproject/main/tsconfig.json -20: /user/username/projects/myproject/dependency/tsconfig.json -21: *ensureProjectForOpenFiles* +15: /user/username/projects/myproject/main/tsconfig.json +16: /user/username/projects/myproject/dependency/tsconfig.json +17: *ensureProjectForOpenFiles* //// [/user/username/projects/myproject/dependency/tsconfig.json] { "compilerOptions": { @@ -3989,9 +4012,9 @@ Before running Timeout callback:: count: 3 Timeout callback:: count: 3 -19: /user/username/projects/myproject/main/tsconfig.json *new* -20: /user/username/projects/myproject/dependency/tsconfig.json *new* -21: *ensureProjectForOpenFiles* *new* +15: /user/username/projects/myproject/main/tsconfig.json *new* +16: /user/username/projects/myproject/dependency/tsconfig.json *new* +17: *ensureProjectForOpenFiles* *new* Projects:: /user/username/projects/myproject/dependency/tsconfig.json (Configured) *changed* @@ -4034,8 +4057,18 @@ Info seq [hh:mm:ss:mss] Files (3) /user/username/projects/myproject/main/main.ts SVC-1-0 "import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n" Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/main/tsconfig.json", + "configFile": "/user/username/projects/myproject/main/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/dependency/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/dependency/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -4458,8 +4491,8 @@ Before request //// [/user/username/projects/myproject/dependency/tsconfig.json] deleted Timeout callback:: count: 2 -22: /user/username/projects/myproject/main/tsconfig.json *new* -23: *ensureProjectForOpenFiles* *new* +18: /user/username/projects/myproject/main/tsconfig.json *new* +19: *ensureProjectForOpenFiles* *new* Projects:: /user/username/projects/myproject/dependency/tsconfig.json (Configured) *changed* @@ -4756,9 +4789,9 @@ Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /user/username/projec Info seq [hh:mm:ss:mss] Project: /user/username/projects/myproject/dependency/tsconfig.json Detected file add/remove of non supported extension: /user/username/projects/myproject/dependency/tsconfig.json Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /user/username/projects/myproject/dependency/tsconfig.json :: WatchInfo: /user/username/projects/myproject/dependency 1 undefined Config: /user/username/projects/myproject/dependency/tsconfig.json WatchType: Wild card directory Before running Timeout callback:: count: 3 -24: /user/username/projects/myproject/main/tsconfig.json -25: /user/username/projects/myproject/dependency/tsconfig.json -26: *ensureProjectForOpenFiles* +20: /user/username/projects/myproject/main/tsconfig.json +21: /user/username/projects/myproject/dependency/tsconfig.json +22: *ensureProjectForOpenFiles* //// [/user/username/projects/myproject/dependency/tsconfig.json] { "compilerOptions": { @@ -4770,11 +4803,11 @@ Before running Timeout callback:: count: 3 Timeout callback:: count: 3 -22: /user/username/projects/myproject/main/tsconfig.json *deleted* -23: *ensureProjectForOpenFiles* *deleted* -24: /user/username/projects/myproject/main/tsconfig.json *new* -25: /user/username/projects/myproject/dependency/tsconfig.json *new* -26: *ensureProjectForOpenFiles* *new* +18: /user/username/projects/myproject/main/tsconfig.json *deleted* +19: *ensureProjectForOpenFiles* *deleted* +20: /user/username/projects/myproject/main/tsconfig.json *new* +21: /user/username/projects/myproject/dependency/tsconfig.json *new* +22: *ensureProjectForOpenFiles* *new* Projects:: /user/username/projects/myproject/dependency/tsconfig.json (Configured) *changed* @@ -4816,7 +4849,6 @@ Info seq [hh:mm:ss:mss] Files (3) Info seq [hh:mm:ss:mss] ----------------------------------------------- Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/dependency/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/dependency/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -5186,13 +5218,13 @@ Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /user/username/projec Info seq [hh:mm:ss:mss] Project: /user/username/projects/myproject/dependency/tsconfig.json Detected file add/remove of non supported extension: /user/username/projects/myproject/dependency/tsconfig.json Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /user/username/projects/myproject/dependency/tsconfig.json :: WatchInfo: /user/username/projects/myproject/dependency 1 undefined Config: /user/username/projects/myproject/dependency/tsconfig.json WatchType: Wild card directory Before running Timeout callback:: count: 2 -27: /user/username/projects/myproject/main/tsconfig.json -28: *ensureProjectForOpenFiles* +23: /user/username/projects/myproject/main/tsconfig.json +24: *ensureProjectForOpenFiles* //// [/user/username/projects/myproject/dependency/tsconfig.json] deleted Timeout callback:: count: 2 -27: /user/username/projects/myproject/main/tsconfig.json *new* -28: *ensureProjectForOpenFiles* *new* +23: /user/username/projects/myproject/main/tsconfig.json *new* +24: *ensureProjectForOpenFiles* *new* Projects:: /user/username/projects/myproject/dependency/tsconfig.json (Configured) *changed* @@ -5231,6 +5263,32 @@ Info seq [hh:mm:ss:mss] Files (3) /user/username/projects/myproject/main/main.ts SVC-1-0 "import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n" Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/main/tsconfig.json", + "configFile": "/user/username/projects/myproject/main/tsconfig.json", + "diagnostics": [ + { + "start": { + "line": 8, + "offset": 5 + }, + "end": { + "line": 10, + "offset": 6 + }, + "text": "File '/user/username/projects/myproject/dependency' not found.", + "code": 6053, + "category": "error", + "fileName": "/user/username/projects/myproject/main/tsconfig.json" + } + ] + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/main/tsconfig.json' (Configured) @@ -5618,9 +5676,9 @@ Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/dependency Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/myproject/dependency/tsconfig.json 0:: WatchInfo: /user/username/projects/myproject/dependency/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/main/tsconfig.json WatchType: Config file Before running Timeout callback:: count: 3 -29: /user/username/projects/myproject/main/tsconfig.json -30: /user/username/projects/myproject/dependency/tsconfig.json -31: *ensureProjectForOpenFiles* +25: /user/username/projects/myproject/main/tsconfig.json +26: /user/username/projects/myproject/dependency/tsconfig.json +27: *ensureProjectForOpenFiles* //// [/user/username/projects/myproject/dependency/tsconfig.json] { "compilerOptions": { @@ -5632,9 +5690,9 @@ Before running Timeout callback:: count: 3 Timeout callback:: count: 3 -29: /user/username/projects/myproject/main/tsconfig.json *new* -30: /user/username/projects/myproject/dependency/tsconfig.json *new* -31: *ensureProjectForOpenFiles* *new* +25: /user/username/projects/myproject/main/tsconfig.json *new* +26: /user/username/projects/myproject/dependency/tsconfig.json *new* +27: *ensureProjectForOpenFiles* *new* Projects:: /user/username/projects/myproject/dependency/tsconfig.json (Configured) *changed* @@ -5677,8 +5735,18 @@ Info seq [hh:mm:ss:mss] Files (3) /user/username/projects/myproject/main/main.ts SVC-1-0 "import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n" Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/main/tsconfig.json", + "configFile": "/user/username/projects/myproject/main/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/dependency/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/dependency/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -6106,15 +6174,15 @@ Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /user/username/projec Info seq [hh:mm:ss:mss] Project: /user/username/projects/myproject/dependency/tsconfig.json Detected file add/remove of non supported extension: /user/username/projects/myproject/dependency/tsconfig.json Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /user/username/projects/myproject/dependency/tsconfig.json :: WatchInfo: /user/username/projects/myproject/dependency 1 undefined Config: /user/username/projects/myproject/dependency/tsconfig.json WatchType: Wild card directory Before running Timeout callback:: count: 3 -34: /user/username/projects/myproject/main/tsconfig.json -35: /user/username/projects/myproject/dependency/tsconfig.json -36: *ensureProjectForOpenFiles* +30: /user/username/projects/myproject/main/tsconfig.json +31: /user/username/projects/myproject/dependency/tsconfig.json +32: *ensureProjectForOpenFiles* //// [/user/username/projects/myproject/dependency/tsconfig.json] file written with same contents Timeout callback:: count: 3 -34: /user/username/projects/myproject/main/tsconfig.json *new* -35: /user/username/projects/myproject/dependency/tsconfig.json *new* -36: *ensureProjectForOpenFiles* *new* +30: /user/username/projects/myproject/main/tsconfig.json *new* +31: /user/username/projects/myproject/dependency/tsconfig.json *new* +32: *ensureProjectForOpenFiles* *new* Projects:: /user/username/projects/myproject/dependency/tsconfig.json (Configured) *changed* @@ -6154,7 +6222,6 @@ Info seq [hh:mm:ss:mss] Files (3) Info seq [hh:mm:ss:mss] ----------------------------------------------- Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/dependency/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/dependency/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/goToDef-and-rename-locations.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/goToDef-and-rename-locations.js index 0955941a436db..b0c8eda6520e4 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/goToDef-and-rename-locations.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/goToDef-and-rename-locations.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/usage-file-changes-with-timeout-before-request.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/usage-file-changes-with-timeout-before-request.js index 8900ff097282c..14057bf28a5c5 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/usage-file-changes-with-timeout-before-request.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/usage-file-changes-with-timeout-before-request.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/usage-file-changes.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/usage-file-changes.js index 72db09906401e..373dbefdcf3e1 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/usage-file-changes.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/dependencyAndUsage/disabledSourceRef/usage-file-changes.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/can-go-to-definition-correctly.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/can-go-to-definition-correctly.js index cc13c80f3b4bb..514527cf2e467 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/can-go-to-definition-correctly.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/can-go-to-definition-correctly.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dts-change-as-rename-action-before-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dts-change-as-rename-action-before-write.js index 09f87d114ef70..1ada9a0067cf5 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dts-change-as-rename-action-before-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dts-change-as-rename-action-before-write.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dts-change-as-rename-no-timeout.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dts-change-as-rename-no-timeout.js index 9aba3e65d3f72..03468647bf622 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dts-change-as-rename-no-timeout.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dts-change-as-rename-no-timeout.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dts-change-as-rename-timeout-after-delete.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dts-change-as-rename-timeout-after-delete.js index c3bc3c89d9729..bf61b0b32dedc 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dts-change-as-rename-timeout-after-delete.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dts-change-as-rename-timeout-after-delete.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dts-change-as-rename-timeout-after-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dts-change-as-rename-timeout-after-write.js index 10f79fe67bd2d..6e2513a0f603f 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dts-change-as-rename-timeout-after-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dts-change-as-rename-timeout-after-write.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dts-changes-with-timeout-before-request.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dts-changes-with-timeout-before-request.js index 60cdb72649fb8..d4ff31a255739 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dts-changes-with-timeout-before-request.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dts-changes-with-timeout-before-request.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dts-changes.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dts-changes.js index 3ad2086d923d6..3c8ef6ebf4b4b 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dts-changes.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dts-changes.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dts-created.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dts-created.js index 45588b117fbc7..4429cee52cb2a 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dts-created.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dts-created.js @@ -80,7 +80,7 @@ function fn5() { } {"version":3,"file":"FnS.d.ts","sourceRoot":"","sources":["../dependency/FnS.ts"],"names":[],"mappings":"AAAA,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -123,15 +123,10 @@ function fn5() { } "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -153,7 +148,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -215,15 +210,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dts-deleted.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dts-deleted.js index 2100a373e8245..b4b1592e34cec 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dts-deleted.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dts-deleted.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dts-not-present.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dts-not-present.js index 23a5056121e77..9b0cdc7d423cf 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dts-not-present.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dts-not-present.js @@ -80,7 +80,7 @@ function fn5() { } {"version":3,"file":"FnS.d.ts","sourceRoot":"","sources":["../dependency/FnS.ts"],"names":[],"mappings":"AAAA,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -123,15 +123,10 @@ function fn5() { } "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -153,7 +148,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -215,15 +210,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dts-rewrite-as-rename-action-before-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dts-rewrite-as-rename-action-before-write.js index 5256330d05848..68a93d5e4db28 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dts-rewrite-as-rename-action-before-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dts-rewrite-as-rename-action-before-write.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dts-rewrite-as-rename-no-timeout.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dts-rewrite-as-rename-no-timeout.js index b55499d34e732..dce11db515778 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dts-rewrite-as-rename-no-timeout.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dts-rewrite-as-rename-no-timeout.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dts-rewrite-as-rename-timeout-after-delete.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dts-rewrite-as-rename-timeout-after-delete.js index ae7c5284ff6bb..88aec7edd3bcb 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dts-rewrite-as-rename-timeout-after-delete.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dts-rewrite-as-rename-timeout-after-delete.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dts-rewrite-as-rename-timeout-after-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dts-rewrite-as-rename-timeout-after-write.js index 61ba9cb699316..910a597a6d26f 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dts-rewrite-as-rename-timeout-after-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dts-rewrite-as-rename-timeout-after-write.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dtsMap-change-as-rename-action-before-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dtsMap-change-as-rename-action-before-write.js index 8f80d05c308f3..c90e74812c83e 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dtsMap-change-as-rename-action-before-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dtsMap-change-as-rename-action-before-write.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dtsMap-change-as-rename-no-timeout.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dtsMap-change-as-rename-no-timeout.js index 328fbb6cf6af1..adfc75ce4411b 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dtsMap-change-as-rename-no-timeout.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dtsMap-change-as-rename-no-timeout.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dtsMap-change-as-rename-timeout-after-delete.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dtsMap-change-as-rename-timeout-after-delete.js index 38c9de00a7a3d..c51abd19ef82f 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dtsMap-change-as-rename-timeout-after-delete.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dtsMap-change-as-rename-timeout-after-delete.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dtsMap-change-as-rename-timeout-after-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dtsMap-change-as-rename-timeout-after-write.js index 7e8e965865a3e..b08650ffcace5 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dtsMap-change-as-rename-timeout-after-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dtsMap-change-as-rename-timeout-after-write.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dtsMap-changes-with-timeout-before-request.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dtsMap-changes-with-timeout-before-request.js index b4671d02dc3c9..e0e6811024029 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dtsMap-changes-with-timeout-before-request.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dtsMap-changes-with-timeout-before-request.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dtsMap-changes.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dtsMap-changes.js index 860aa15490614..59d53b5b2d74f 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dtsMap-changes.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dtsMap-changes.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dtsMap-created.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dtsMap-created.js index f6c092035b615..bde3c0e4ff87b 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dtsMap-created.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dtsMap-created.js @@ -85,7 +85,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -128,15 +128,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -158,7 +153,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -220,15 +215,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dtsMap-deleted.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dtsMap-deleted.js index 78f7bafbf6022..e36518e1586a5 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dtsMap-deleted.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dtsMap-deleted.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dtsMap-not-present.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dtsMap-not-present.js index 08efa159370c4..298541ed2c116 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dtsMap-not-present.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dtsMap-not-present.js @@ -85,7 +85,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -128,15 +128,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -158,7 +153,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -220,15 +215,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dtsMap-rewrite-as-rename-action-before-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dtsMap-rewrite-as-rename-action-before-write.js index 54de7c46ad800..5887a860a5b9d 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dtsMap-rewrite-as-rename-action-before-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dtsMap-rewrite-as-rename-action-before-write.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dtsMap-rewrite-as-rename-no-timeout.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dtsMap-rewrite-as-rename-no-timeout.js index f5d542fc28ea4..d73148de4192b 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dtsMap-rewrite-as-rename-no-timeout.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dtsMap-rewrite-as-rename-no-timeout.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dtsMap-rewrite-as-rename-timeout-after-delete.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dtsMap-rewrite-as-rename-timeout-after-delete.js index f0134b88f2b49..14c36babc5e4e 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dtsMap-rewrite-as-rename-timeout-after-delete.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dtsMap-rewrite-as-rename-timeout-after-delete.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dtsMap-rewrite-as-rename-timeout-after-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dtsMap-rewrite-as-rename-timeout-after-write.js index d5e768ba7636f..de9566242fb65 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dtsMap-rewrite-as-rename-timeout-after-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/dependency-dtsMap-rewrite-as-rename-timeout-after-write.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/usage-file-changes-with-timeout-before-request.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/usage-file-changes-with-timeout-before-request.js index d43a7c2b83aa1..b96b3db2dacd0 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/usage-file-changes-with-timeout-before-request.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/usage-file-changes-with-timeout-before-request.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/usage-file-changes.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/usage-file-changes.js index f57f9d51cb9e6..3b379aa2dd93f 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/usage-file-changes.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configHasNoReference/usage-file-changes.js @@ -88,7 +88,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -131,15 +131,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -161,7 +156,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -223,15 +218,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/can-go-to-definition-correctly.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/can-go-to-definition-correctly.js index 50b3f4d69767e..bc68606fbca57 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/can-go-to-definition-correctly.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/can-go-to-definition-correctly.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dts-change-as-rename-action-before-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dts-change-as-rename-action-before-write.js index 87b8084639fbf..773ee6fe8cd90 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dts-change-as-rename-action-before-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dts-change-as-rename-action-before-write.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dts-change-as-rename-no-timeout.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dts-change-as-rename-no-timeout.js index d372699cf44c3..5de5623137090 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dts-change-as-rename-no-timeout.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dts-change-as-rename-no-timeout.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dts-change-as-rename-timeout-after-delete.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dts-change-as-rename-timeout-after-delete.js index 0c0742e75c4e4..9b98bd342e4e8 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dts-change-as-rename-timeout-after-delete.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dts-change-as-rename-timeout-after-delete.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dts-change-as-rename-timeout-after-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dts-change-as-rename-timeout-after-write.js index 42f642af926c2..e5f085f03843c 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dts-change-as-rename-timeout-after-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dts-change-as-rename-timeout-after-write.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dts-changes-with-timeout-before-request.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dts-changes-with-timeout-before-request.js index 6674cfa5ec975..2d73c9841ce5d 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dts-changes-with-timeout-before-request.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dts-changes-with-timeout-before-request.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dts-changes.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dts-changes.js index 8a0c10fe5fee5..067c923dd2a9f 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dts-changes.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dts-changes.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dts-created.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dts-created.js index 3727355b36902..1366567186f84 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dts-created.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dts-created.js @@ -85,7 +85,7 @@ function fn5() { } {"version":3,"file":"FnS.d.ts","sourceRoot":"","sources":["../dependency/FnS.ts"],"names":[],"mappings":"AAAA,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -128,15 +128,10 @@ function fn5() { } "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -158,7 +153,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -220,15 +215,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dts-deleted.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dts-deleted.js index 708db702aa66d..a852e8a21dede 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dts-deleted.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dts-deleted.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dts-not-present.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dts-not-present.js index 482be2900ee63..d28080aba3c99 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dts-not-present.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dts-not-present.js @@ -85,7 +85,7 @@ function fn5() { } {"version":3,"file":"FnS.d.ts","sourceRoot":"","sources":["../dependency/FnS.ts"],"names":[],"mappings":"AAAA,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -128,15 +128,10 @@ function fn5() { } "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -158,7 +153,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -220,15 +215,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dts-rewrite-as-rename-action-before-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dts-rewrite-as-rename-action-before-write.js index f43bb07137811..e1a02bbd61ee9 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dts-rewrite-as-rename-action-before-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dts-rewrite-as-rename-action-before-write.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dts-rewrite-as-rename-no-timeout.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dts-rewrite-as-rename-no-timeout.js index 50111a6ce0584..145311f3e7876 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dts-rewrite-as-rename-no-timeout.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dts-rewrite-as-rename-no-timeout.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dts-rewrite-as-rename-timeout-after-delete.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dts-rewrite-as-rename-timeout-after-delete.js index 67d3329ef6645..cdd83ec7e6ba7 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dts-rewrite-as-rename-timeout-after-delete.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dts-rewrite-as-rename-timeout-after-delete.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dts-rewrite-as-rename-timeout-after-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dts-rewrite-as-rename-timeout-after-write.js index 74faa63b75f14..77f43a362555c 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dts-rewrite-as-rename-timeout-after-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dts-rewrite-as-rename-timeout-after-write.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dtsMap-change-as-rename-action-before-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dtsMap-change-as-rename-action-before-write.js index 512dfc408827d..8008d07540305 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dtsMap-change-as-rename-action-before-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dtsMap-change-as-rename-action-before-write.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dtsMap-change-as-rename-no-timeout.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dtsMap-change-as-rename-no-timeout.js index b74dcda0b38c2..54021c21df1c3 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dtsMap-change-as-rename-no-timeout.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dtsMap-change-as-rename-no-timeout.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dtsMap-change-as-rename-timeout-after-delete.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dtsMap-change-as-rename-timeout-after-delete.js index 525bae50a68bf..23607e75583a3 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dtsMap-change-as-rename-timeout-after-delete.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dtsMap-change-as-rename-timeout-after-delete.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dtsMap-change-as-rename-timeout-after-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dtsMap-change-as-rename-timeout-after-write.js index 797f0d2f1642b..80a10dc816c53 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dtsMap-change-as-rename-timeout-after-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dtsMap-change-as-rename-timeout-after-write.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dtsMap-changes-with-timeout-before-request.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dtsMap-changes-with-timeout-before-request.js index 3e097b465ade7..1071dfd6ac540 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dtsMap-changes-with-timeout-before-request.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dtsMap-changes-with-timeout-before-request.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dtsMap-changes.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dtsMap-changes.js index 646d76011b24d..3a686ff4addd2 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dtsMap-changes.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dtsMap-changes.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dtsMap-created.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dtsMap-created.js index b866dedabffbd..c52e52d97c2b8 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dtsMap-created.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dtsMap-created.js @@ -90,7 +90,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -133,15 +133,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -163,7 +158,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -225,15 +220,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dtsMap-deleted.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dtsMap-deleted.js index 4383fe85debc7..13466138aa7f2 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dtsMap-deleted.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dtsMap-deleted.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dtsMap-not-present.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dtsMap-not-present.js index 11adc2eb23395..352d9dca04e6d 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dtsMap-not-present.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dtsMap-not-present.js @@ -90,7 +90,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -133,15 +133,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -163,7 +158,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -225,15 +220,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dtsMap-rewrite-as-rename-action-before-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dtsMap-rewrite-as-rename-action-before-write.js index 9919b047c76c3..4aed712259bc7 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dtsMap-rewrite-as-rename-action-before-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dtsMap-rewrite-as-rename-action-before-write.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dtsMap-rewrite-as-rename-no-timeout.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dtsMap-rewrite-as-rename-no-timeout.js index e3aef1d791106..6d40bc9c2dd81 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dtsMap-rewrite-as-rename-no-timeout.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dtsMap-rewrite-as-rename-no-timeout.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dtsMap-rewrite-as-rename-timeout-after-delete.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dtsMap-rewrite-as-rename-timeout-after-delete.js index f5fb16b2b1bdf..1570cfb8ca685 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dtsMap-rewrite-as-rename-timeout-after-delete.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dtsMap-rewrite-as-rename-timeout-after-delete.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dtsMap-rewrite-as-rename-timeout-after-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dtsMap-rewrite-as-rename-timeout-after-write.js index 9b7b9ccaeefe7..fd74231fc6fe1 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dtsMap-rewrite-as-rename-timeout-after-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-dtsMap-rewrite-as-rename-timeout-after-write.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-source-changes-with-timeout-before-request.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-source-changes-with-timeout-before-request.js index 1a9637d143b04..578d61f717f4a 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-source-changes-with-timeout-before-request.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-source-changes-with-timeout-before-request.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-source-changes.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-source-changes.js index 00dfb93e85074..e10c06c0a98d4 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-source-changes.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/dependency-source-changes.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/usage-file-changes-with-timeout-before-request.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/usage-file-changes-with-timeout-before-request.js index fc2fe76f127db..245a23b74ca52 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/usage-file-changes-with-timeout-before-request.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/usage-file-changes-with-timeout-before-request.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/usage-file-changes.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/usage-file-changes.js index 3f93a35c63c4f..a133e5015ad4e 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/usage-file-changes.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/configWithReference/usage-file-changes.js @@ -93,7 +93,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -136,15 +136,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -166,7 +161,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -228,15 +223,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/can-go-to-definition-correctly.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/can-go-to-definition-correctly.js index 92868aad35cdb..72bb506f9e8c9 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/can-go-to-definition-correctly.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/can-go-to-definition-correctly.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dts-change-as-rename-action-before-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dts-change-as-rename-action-before-write.js index deae4172e6629..c2123b5b228bb 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dts-change-as-rename-action-before-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dts-change-as-rename-action-before-write.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dts-change-as-rename-no-timeout.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dts-change-as-rename-no-timeout.js index 584cba3038037..084feafec9b1d 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dts-change-as-rename-no-timeout.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dts-change-as-rename-no-timeout.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dts-change-as-rename-timeout-after-delete.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dts-change-as-rename-timeout-after-delete.js index a353307a30fe8..158b6b15da7bc 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dts-change-as-rename-timeout-after-delete.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dts-change-as-rename-timeout-after-delete.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dts-change-as-rename-timeout-after-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dts-change-as-rename-timeout-after-write.js index a5f94a4b89bf8..a4785e7dc1f29 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dts-change-as-rename-timeout-after-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dts-change-as-rename-timeout-after-write.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dts-changes-with-timeout-before-request.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dts-changes-with-timeout-before-request.js index 0f7b0fe7f4f81..c4a8b67f78fe0 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dts-changes-with-timeout-before-request.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dts-changes-with-timeout-before-request.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dts-changes.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dts-changes.js index e6b4e0994bec7..7db26bbeb7512 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dts-changes.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dts-changes.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dts-created.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dts-created.js index 82fe9058a30b9..8ab00e0f6a9b7 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dts-created.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dts-created.js @@ -86,7 +86,7 @@ function fn5() { } {"version":3,"file":"FnS.d.ts","sourceRoot":"","sources":["../dependency/FnS.ts"],"names":[],"mappings":"AAAA,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -129,15 +129,10 @@ function fn5() { } "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -159,7 +154,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -221,15 +216,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dts-deleted.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dts-deleted.js index d857c67bc7fef..1595ad6c4001b 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dts-deleted.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dts-deleted.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dts-not-present.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dts-not-present.js index 9d56aefad30ec..5012e96214b28 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dts-not-present.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dts-not-present.js @@ -86,7 +86,7 @@ function fn5() { } {"version":3,"file":"FnS.d.ts","sourceRoot":"","sources":["../dependency/FnS.ts"],"names":[],"mappings":"AAAA,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM;AACzB,wBAAgB,GAAG,SAAM"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -129,15 +129,10 @@ function fn5() { } "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -159,7 +154,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -221,15 +216,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dts-rewrite-as-rename-action-before-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dts-rewrite-as-rename-action-before-write.js index 996b9084d555b..d27f0ede39364 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dts-rewrite-as-rename-action-before-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dts-rewrite-as-rename-action-before-write.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dts-rewrite-as-rename-no-timeout.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dts-rewrite-as-rename-no-timeout.js index 23e8eb468c4d9..1d9e0a06e5c32 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dts-rewrite-as-rename-no-timeout.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dts-rewrite-as-rename-no-timeout.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dts-rewrite-as-rename-timeout-after-delete.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dts-rewrite-as-rename-timeout-after-delete.js index 7df6620c94bc0..e7b89b7a4da0e 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dts-rewrite-as-rename-timeout-after-delete.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dts-rewrite-as-rename-timeout-after-delete.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dts-rewrite-as-rename-timeout-after-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dts-rewrite-as-rename-timeout-after-write.js index f169d19911537..2ae86aaafa9da 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dts-rewrite-as-rename-timeout-after-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dts-rewrite-as-rename-timeout-after-write.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dtsMap-change-as-rename-action-before-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dtsMap-change-as-rename-action-before-write.js index b4d48d945c296..d3441e7c955a0 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dtsMap-change-as-rename-action-before-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dtsMap-change-as-rename-action-before-write.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dtsMap-change-as-rename-no-timeout.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dtsMap-change-as-rename-no-timeout.js index 6c2d90e190d91..07569024b58f9 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dtsMap-change-as-rename-no-timeout.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dtsMap-change-as-rename-no-timeout.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dtsMap-change-as-rename-timeout-after-delete.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dtsMap-change-as-rename-timeout-after-delete.js index c8ce9ed54260b..576e8ecd300e1 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dtsMap-change-as-rename-timeout-after-delete.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dtsMap-change-as-rename-timeout-after-delete.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dtsMap-change-as-rename-timeout-after-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dtsMap-change-as-rename-timeout-after-write.js index 83ed9ee241c8f..c5ced3caae6fc 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dtsMap-change-as-rename-timeout-after-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dtsMap-change-as-rename-timeout-after-write.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dtsMap-changes-with-timeout-before-request.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dtsMap-changes-with-timeout-before-request.js index 3eb202033e0fc..b134c15c712c9 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dtsMap-changes-with-timeout-before-request.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dtsMap-changes-with-timeout-before-request.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dtsMap-changes.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dtsMap-changes.js index bf3b88cfec76b..81eb76b18bc8c 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dtsMap-changes.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dtsMap-changes.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dtsMap-created.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dtsMap-created.js index d1ea931f4a89f..2bf26ae32126b 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dtsMap-created.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dtsMap-created.js @@ -91,7 +91,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -134,15 +134,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -164,7 +159,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -226,15 +221,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dtsMap-deleted.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dtsMap-deleted.js index eb23f3c9c96d3..ab35be7e33fed 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dtsMap-deleted.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dtsMap-deleted.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dtsMap-not-present.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dtsMap-not-present.js index abac5b4bb76eb..fa26c62fd222e 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dtsMap-not-present.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dtsMap-not-present.js @@ -91,7 +91,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -134,15 +134,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -164,7 +159,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -226,15 +221,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dtsMap-rewrite-as-rename-action-before-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dtsMap-rewrite-as-rename-action-before-write.js index 4b30586bf366e..2eddd3782ca62 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dtsMap-rewrite-as-rename-action-before-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dtsMap-rewrite-as-rename-action-before-write.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dtsMap-rewrite-as-rename-no-timeout.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dtsMap-rewrite-as-rename-no-timeout.js index aa511c387a9f6..557069ea6daec 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dtsMap-rewrite-as-rename-no-timeout.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dtsMap-rewrite-as-rename-no-timeout.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dtsMap-rewrite-as-rename-timeout-after-delete.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dtsMap-rewrite-as-rename-timeout-after-delete.js index 7468c0c7a03f9..a17056be9e85d 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dtsMap-rewrite-as-rename-timeout-after-delete.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dtsMap-rewrite-as-rename-timeout-after-delete.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dtsMap-rewrite-as-rename-timeout-after-write.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dtsMap-rewrite-as-rename-timeout-after-write.js index 1bdb35a2edf5a..1c2f227222c1c 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dtsMap-rewrite-as-rename-timeout-after-write.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/dependency-dtsMap-rewrite-as-rename-timeout-after-write.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/usage-file-changes-with-timeout-before-request.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/usage-file-changes-with-timeout-before-request.js index d77f23739479f..6fb7c7d429c02 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/usage-file-changes-with-timeout-before-request.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/usage-file-changes-with-timeout-before-request.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/usage-file-changes.js b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/usage-file-changes.js index 757fdb48eb4f8..acd466b988d2a 100644 --- a/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/usage-file-changes.js +++ b/tests/baselines/reference/tsserver/projectReferencesSourcemap/usageProject/disabledSourceRef/usage-file-changes.js @@ -94,7 +94,7 @@ export declare function fn5(): void; //# sourceMappingURL=FnS.d.ts.map //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"referencedMap":[],"semanticDiagnosticsPerFile":[1,2],"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","./fns.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18619918033-export function fn1() { }\nexport function fn2() { }\nexport function fn3() { }\nexport function fn4() { }\nexport function fn5() { }\n","signature":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1}],"root":[2],"options":{"composite":true,"declarationDir":"../decls","declarationMap":true},"latestChangedDtsFile":"../decls/FnS.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/dependency/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -137,15 +137,10 @@ export declare function fn5(): void; "declarationDir": "../decls", "declarationMap": true }, - "referencedMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "./fns.ts" - ], "latestChangedDtsFile": "../decls/FnS.d.ts" }, "version": "FakeTSVersion", - "size": 1113 + "size": 1059 } //// [/user/username/projects/myproject/main/main.js] @@ -167,7 +162,7 @@ export {}; //# sourceMappingURL=main.d.ts.map //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo] -{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[1,2,3],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} +{"program":{"fileNames":["../../../../../a/lib/lib.d.ts","../decls/fns.d.ts","./main.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-18267052502-export declare function fn1(): void;\nexport declare function fn2(): void;\nexport declare function fn3(): void;\nexport declare function fn4(): void;\nexport declare function fn5(): void;\n","impliedFormat":1},{"version":"-805644102-import {\n fn1,\n fn2,\n fn3,\n fn4,\n fn5\n} from '../decls/fns'\n\nfn1();\nfn2();\nfn3();\nfn4();\nfn5();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[3],"options":{"composite":true,"declarationMap":true},"fileIdsList":[[2]],"referencedMap":[[3,1]],"latestChangedDtsFile":"./main.d.ts"},"version":"FakeTSVersion"} //// [/user/username/projects/myproject/main/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -229,15 +224,10 @@ export {}; "../decls/fns.d.ts" ] }, - "semanticDiagnosticsPerFile": [ - "../../../../../a/lib/lib.d.ts", - "../decls/fns.d.ts", - "./main.ts" - ], "latestChangedDtsFile": "./main.d.ts" }, "version": "FakeTSVersion", - "size": 1171 + "size": 1134 } diff --git a/tests/baselines/reference/tsserver/projectRootFiles/when-root-file-is-from-referenced-project-and-shared-is-first.js b/tests/baselines/reference/tsserver/projectRootFiles/when-root-file-is-from-referenced-project-and-shared-is-first.js new file mode 100644 index 0000000000000..d37a76f2384c6 --- /dev/null +++ b/tests/baselines/reference/tsserver/projectRootFiles/when-root-file-is-from-referenced-project-and-shared-is-first.js @@ -0,0 +1,617 @@ +currentDirectory:: /home/src/workspaces useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +Before request +//// [/home/src/workspaces/tsconfig.json] +{ + "compilerOptions": { + "composite": true + }, + "references": [ + { + "path": "projects/server" + }, + { + "path": "projects/shared" + } + ] +} + +//// [/home/src/workspaces/projects/shared/src/myClass.ts] +export class MyClass { } + +//// [/home/src/workspaces/projects/shared/src/logging.ts] +export function log(str: string) { + console.log(str); +} + + +//// [/home/src/workspaces/projects/shared/src/random.ts] +export function randomFn(str: string) { + console.log(str); +} + + +//// [/home/src/workspaces/projects/shared/tsconfig.json] +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "./dist" + }, + "include": [ + "src/**/*.ts" + ] +} + +//// [/home/src/workspaces/projects/server/src/server.ts] +import { MyClass } from ':shared/myClass.js'; +console.log('Hello, world!'); + + +//// [/home/src/workspaces/projects/server/tsconfig.json] +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "baseUrl": "./src", + "rootDir": "..", + "outDir": "./dist", + "paths": { + ":shared/*": [ + "../../shared/src/*" + ] + } + }, + "include": [ + "../shared/src/**/*.ts", + "src/**/*.ts" + ], + "references": [ + { + "path": "../shared" + } + ] +} + +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/home/src/workspaces/projects/server/src/server.ts" + }, + "seq": 1, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/workspaces/projects/server/src/server.ts ProjectRootPath: undefined:: Result: /home/src/workspaces/projects/server/tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /home/src/workspaces/projects/server/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/workspaces/projects/server/tsconfig.json 2000 undefined Project: /home/src/workspaces/projects/server/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/home/src/workspaces/projects/server/tsconfig.json", + "reason": "Creating possible configured project for /home/src/workspaces/projects/server/src/server.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /home/src/workspaces/projects/server/tsconfig.json : { + "rootNames": [ + "/home/src/workspaces/projects/shared/src/logging.ts", + "/home/src/workspaces/projects/shared/src/myClass.ts", + "/home/src/workspaces/projects/shared/src/random.ts", + "/home/src/workspaces/projects/server/src/server.ts" + ], + "options": { + "composite": true, + "baseUrl": "/home/src/workspaces/projects/server/src", + "rootDir": "/home/src/workspaces/projects", + "outDir": "/home/src/workspaces/projects/server/dist", + "paths": { + ":shared/*": [ + "../../shared/src/*" + ] + }, + "pathsBasePath": "/home/src/workspaces/projects/server", + "configFilePath": "/home/src/workspaces/projects/server/tsconfig.json" + }, + "projectReferences": [ + { + "path": "/home/src/workspaces/projects/shared", + "originalPath": "../shared" + } + ] +} +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/workspaces/tsconfig.json 2000 undefined Config: /home/src/workspaces/projects/server/tsconfig.json WatchType: Extended config file +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/workspaces/projects/shared/src 1 undefined Config: /home/src/workspaces/projects/server/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/workspaces/projects/shared/src 1 undefined Config: /home/src/workspaces/projects/server/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/workspaces/projects/server/src 1 undefined Config: /home/src/workspaces/projects/server/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/workspaces/projects/server/src 1 undefined Config: /home/src/workspaces/projects/server/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/workspaces/projects/shared/src/logging.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/workspaces/projects/shared/src/myClass.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/workspaces/projects/shared/src/random.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/workspaces/projects/server/tsconfig.json +Info seq [hh:mm:ss:mss] Config: /home/src/workspaces/projects/shared/tsconfig.json : { + "rootNames": [ + "/home/src/workspaces/projects/shared/src/logging.ts", + "/home/src/workspaces/projects/shared/src/myClass.ts", + "/home/src/workspaces/projects/shared/src/random.ts" + ], + "options": { + "composite": true, + "outDir": "/home/src/workspaces/projects/shared/dist", + "configFilePath": "/home/src/workspaces/projects/shared/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/workspaces/projects/shared/tsconfig.json 2000 undefined Project: /home/src/workspaces/projects/server/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/workspaces/projects/shared/src 1 undefined Config: /home/src/workspaces/projects/shared/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/workspaces/projects/shared/src 1 undefined Config: /home/src/workspaces/projects/shared/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/workspaces/projects/shared/src/package.json 2000 undefined Project: /home/src/workspaces/projects/server/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/workspaces/projects/shared/package.json 2000 undefined Project: /home/src/workspaces/projects/server/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/workspaces/projects/package.json 2000 undefined Project: /home/src/workspaces/projects/server/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/workspaces/package.json 2000 undefined Project: /home/src/workspaces/projects/server/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/workspaces/projects/server/src/package.json 2000 undefined Project: /home/src/workspaces/projects/server/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/workspaces/projects/server/package.json 2000 undefined Project: /home/src/workspaces/projects/server/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/workspaces/projects/server/node_modules/@types 1 undefined Project: /home/src/workspaces/projects/server/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/workspaces/projects/server/node_modules/@types 1 undefined Project: /home/src/workspaces/projects/server/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/workspaces/projects/node_modules/@types 1 undefined Project: /home/src/workspaces/projects/server/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/workspaces/projects/node_modules/@types 1 undefined Project: /home/src/workspaces/projects/server/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/workspaces/node_modules/@types 1 undefined Project: /home/src/workspaces/projects/server/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/workspaces/node_modules/@types 1 undefined Project: /home/src/workspaces/projects/server/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/workspaces/projects/server/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/home/src/workspaces/projects/server/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (5) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };" + /home/src/workspaces/projects/shared/src/logging.ts Text-1 "export function log(str: string) {\n console.log(str);\n}\n" + /home/src/workspaces/projects/shared/src/myClass.ts Text-1 "export class MyClass { }" + /home/src/workspaces/projects/shared/src/random.ts Text-1 "export function randomFn(str: string) {\n console.log(str);\n}\n" + /home/src/workspaces/projects/server/src/server.ts SVC-1-0 "import { MyClass } from ':shared/myClass.js';\nconsole.log('Hello, world!');\n" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + ../shared/src/logging.ts + Matched by include pattern '../shared/src/**/*.ts' in 'tsconfig.json' + ../shared/src/myClass.ts + Matched by include pattern '../shared/src/**/*.ts' in 'tsconfig.json' + Imported via ':shared/myClass.js' from file 'src/server.ts' + ../shared/src/random.ts + Matched by include pattern '../shared/src/**/*.ts' in 'tsconfig.json' + src/server.ts + Matched by include pattern 'src/**/*.ts' in 'tsconfig.json' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/home/src/workspaces/projects/server/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "telemetry", + "body": { + "telemetryEventName": "projectInfo", + "payload": { + "projectId": "3e7cc0fff0dd9d6df3a5e18543004f6ea135e64846930b71357afdc86795b593", + "fileStats": { + "js": 0, + "jsSize": 0, + "jsx": 0, + "jsxSize": 0, + "ts": 4, + "tsSize": 223, + "tsx": 0, + "tsxSize": 0, + "dts": 1, + "dtsSize": 413, + "deferred": 0, + "deferredSize": 0 + }, + "compilerOptions": { + "composite": true, + "baseUrl": "", + "rootDir": "", + "outDir": "", + "paths": "" + }, + "typeAcquisition": { + "enable": false, + "include": false, + "exclude": false + }, + "extends": true, + "files": false, + "include": true, + "exclude": false, + "compileOnSave": false, + "configFileName": "tsconfig.json", + "projectType": "configured", + "languageServiceEnabled": true, + "version": "FakeVersion" + } + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/home/src/workspaces/projects/server/src/server.ts", + "configFile": "/home/src/workspaces/projects/server/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/workspaces/projects/server/tsconfig.json ProjectRootPath: undefined:: Result: /home/src/workspaces/tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /home/src/workspaces/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/workspaces/tsconfig.json 2000 undefined Project: /home/src/workspaces/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/workspaces/tsconfig.json ProjectRootPath: undefined:: Result: undefined +Info seq [hh:mm:ss:mss] Project '/home/src/workspaces/projects/server/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (5) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/home/src/workspaces/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (0) InitialLoadPending + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/workspaces/projects/server/src/server.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /home/src/workspaces/projects/server/tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/home/src/workspaces/node_modules/@types: *new* + {"pollingInterval":500} +/home/src/workspaces/package.json: *new* + {"pollingInterval":2000} +/home/src/workspaces/projects/node_modules/@types: *new* + {"pollingInterval":500} +/home/src/workspaces/projects/package.json: *new* + {"pollingInterval":2000} +/home/src/workspaces/projects/server/node_modules/@types: *new* + {"pollingInterval":500} +/home/src/workspaces/projects/server/package.json: *new* + {"pollingInterval":2000} +/home/src/workspaces/projects/server/src/package.json: *new* + {"pollingInterval":2000} +/home/src/workspaces/projects/shared/package.json: *new* + {"pollingInterval":2000} +/home/src/workspaces/projects/shared/src/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: *new* + {} +/home/src/workspaces/projects/server/tsconfig.json: *new* + {} +/home/src/workspaces/projects/shared/src/logging.ts: *new* + {} +/home/src/workspaces/projects/shared/src/myClass.ts: *new* + {} +/home/src/workspaces/projects/shared/src/random.ts: *new* + {} +/home/src/workspaces/projects/shared/tsconfig.json: *new* + {} +/home/src/workspaces/tsconfig.json: *new* + {} + +FsWatchesRecursive:: +/home/src/workspaces/projects/server/src: *new* + {} +/home/src/workspaces/projects/shared/src: *new* + {} + +Projects:: +/home/src/workspaces/projects/server/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 +/home/src/workspaces/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 0 + dirty: true + +ScriptInfos:: +/a/lib/lib.d.ts *new* + version: Text-1 + containingProjects: 1 + /home/src/workspaces/projects/server/tsconfig.json +/home/src/workspaces/projects/server/src/server.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /home/src/workspaces/projects/server/tsconfig.json *default* +/home/src/workspaces/projects/shared/src/logging.ts *new* + version: Text-1 + containingProjects: 1 + /home/src/workspaces/projects/server/tsconfig.json +/home/src/workspaces/projects/shared/src/myClass.ts *new* + version: Text-1 + containingProjects: 1 + /home/src/workspaces/projects/server/tsconfig.json +/home/src/workspaces/projects/shared/src/random.ts *new* + version: Text-1 + containingProjects: 1 + /home/src/workspaces/projects/server/tsconfig.json + +Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /home/src/workspaces/projects/shared/src/logging.ts 1:: WatchInfo: /home/src/workspaces/projects/shared/src/logging.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Scheduled: /home/src/workspaces/projects/server/tsconfig.json +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /home/src/workspaces/projects/shared/src/logging.ts 1:: WatchInfo: /home/src/workspaces/projects/shared/src/logging.ts 500 undefined WatchType: Closed Script info +Before running Timeout callback:: count: 2 +1: /home/src/workspaces/projects/server/tsconfig.json +2: *ensureProjectForOpenFiles* +//// [/home/src/workspaces/projects/shared/src/logging.ts] +export function log(str: string) { + console.log(str); +} +export const x = 10; + + +Timeout callback:: count: 2 +1: /home/src/workspaces/projects/server/tsconfig.json *new* +2: *ensureProjectForOpenFiles* *new* + +Projects:: +/home/src/workspaces/projects/server/tsconfig.json (Configured) *changed* + projectStateVersion: 2 *changed* + projectProgramVersion: 1 + dirty: true *changed* +/home/src/workspaces/tsconfig.json (Configured) + projectStateVersion: 1 + projectProgramVersion: 0 + dirty: true + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 1 + /home/src/workspaces/projects/server/tsconfig.json +/home/src/workspaces/projects/server/src/server.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /home/src/workspaces/projects/server/tsconfig.json *default* +/home/src/workspaces/projects/shared/src/logging.ts *changed* + version: Text-1 + pendingReloadFromDisk: true *changed* + containingProjects: 1 + /home/src/workspaces/projects/server/tsconfig.json +/home/src/workspaces/projects/shared/src/myClass.ts + version: Text-1 + containingProjects: 1 + /home/src/workspaces/projects/server/tsconfig.json +/home/src/workspaces/projects/shared/src/random.ts + version: Text-1 + containingProjects: 1 + /home/src/workspaces/projects/server/tsconfig.json + +Info seq [hh:mm:ss:mss] Running: /home/src/workspaces/projects/server/tsconfig.json +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/workspaces/projects/server/tsconfig.json +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/workspaces/projects/server/tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: false structureIsReused:: Completely Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/home/src/workspaces/projects/server/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (5) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };" + /home/src/workspaces/projects/shared/src/logging.ts Text-2 "export function log(str: string) {\n console.log(str);\n}\nexport const x = 10;" + /home/src/workspaces/projects/shared/src/myClass.ts Text-1 "export class MyClass { }" + /home/src/workspaces/projects/shared/src/random.ts Text-1 "export function randomFn(str: string) {\n console.log(str);\n}\n" + /home/src/workspaces/projects/server/src/server.ts SVC-1-0 "import { MyClass } from ':shared/myClass.js';\nconsole.log('Hello, world!');\n" + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/home/src/workspaces/projects/server/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (5) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/home/src/workspaces/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (0) InitialLoadPending + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/workspaces/projects/server/src/server.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /home/src/workspaces/projects/server/tsconfig.json +Info seq [hh:mm:ss:mss] After ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/home/src/workspaces/projects/server/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (5) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/home/src/workspaces/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (0) InitialLoadPending + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/workspaces/projects/server/src/server.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /home/src/workspaces/projects/server/tsconfig.json +Info seq [hh:mm:ss:mss] got projects updated in background /home/src/workspaces/projects/server/src/server.ts +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectsUpdatedInBackground", + "body": { + "openFiles": [ + "/home/src/workspaces/projects/server/src/server.ts" + ] + } + } +After running Timeout callback:: count: 0 + +Projects:: +/home/src/workspaces/projects/server/tsconfig.json (Configured) *changed* + projectStateVersion: 2 + projectProgramVersion: 1 + dirty: false *changed* +/home/src/workspaces/tsconfig.json (Configured) + projectStateVersion: 1 + projectProgramVersion: 0 + dirty: true + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 1 + /home/src/workspaces/projects/server/tsconfig.json +/home/src/workspaces/projects/server/src/server.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /home/src/workspaces/projects/server/tsconfig.json *default* +/home/src/workspaces/projects/shared/src/logging.ts *changed* + version: Text-2 *changed* + pendingReloadFromDisk: false *changed* + containingProjects: 1 + /home/src/workspaces/projects/server/tsconfig.json +/home/src/workspaces/projects/shared/src/myClass.ts + version: Text-1 + containingProjects: 1 + /home/src/workspaces/projects/server/tsconfig.json +/home/src/workspaces/projects/shared/src/random.ts + version: Text-1 + containingProjects: 1 + /home/src/workspaces/projects/server/tsconfig.json + +Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /home/src/workspaces/projects/shared/src/random.ts 2:: WatchInfo: /home/src/workspaces/projects/shared/src/random.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Scheduled: /home/src/workspaces/projects/server/tsconfig.json +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /home/src/workspaces/projects/shared/src/random.ts 2:: WatchInfo: /home/src/workspaces/projects/shared/src/random.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /home/src/workspaces/projects/shared/src/random.ts :: WatchInfo: /home/src/workspaces/projects/shared/src 1 undefined Config: /home/src/workspaces/projects/server/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Scheduled: /home/src/workspaces/projects/server/tsconfig.json, Cancelled earlier one +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /home/src/workspaces/projects/shared/src/random.ts :: WatchInfo: /home/src/workspaces/projects/shared/src 1 undefined Config: /home/src/workspaces/projects/server/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /home/src/workspaces/projects/shared/src/random.ts :: WatchInfo: /home/src/workspaces/projects/shared/src 1 undefined Config: /home/src/workspaces/projects/shared/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /home/src/workspaces/projects/shared/src/random.ts :: WatchInfo: /home/src/workspaces/projects/shared/src 1 undefined Config: /home/src/workspaces/projects/shared/tsconfig.json WatchType: Wild card directory +Before running Timeout callback:: count: 2 +5: /home/src/workspaces/projects/server/tsconfig.json +6: *ensureProjectForOpenFiles* +//// [/home/src/workspaces/projects/shared/src/random.ts] deleted + +Timeout callback:: count: 2 +5: /home/src/workspaces/projects/server/tsconfig.json *new* +6: *ensureProjectForOpenFiles* *new* + +Projects:: +/home/src/workspaces/projects/server/tsconfig.json (Configured) *changed* + projectStateVersion: 3 *changed* + projectProgramVersion: 1 + dirty: true *changed* +/home/src/workspaces/tsconfig.json (Configured) + projectStateVersion: 1 + projectProgramVersion: 0 + dirty: true + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 1 + /home/src/workspaces/projects/server/tsconfig.json +/home/src/workspaces/projects/server/src/server.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /home/src/workspaces/projects/server/tsconfig.json *default* +/home/src/workspaces/projects/shared/src/logging.ts + version: Text-2 + containingProjects: 1 + /home/src/workspaces/projects/server/tsconfig.json +/home/src/workspaces/projects/shared/src/myClass.ts + version: Text-1 + containingProjects: 1 + /home/src/workspaces/projects/server/tsconfig.json +/home/src/workspaces/projects/shared/src/random.ts *changed* + version: Text-1 + pendingReloadFromDisk: true *changed* + deferredDelete: true *changed* + containingProjects: 0 *changed* + /home/src/workspaces/projects/server/tsconfig.json *deleted* + +Info seq [hh:mm:ss:mss] Running: /home/src/workspaces/projects/server/tsconfig.json +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/workspaces/projects/server/tsconfig.json +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/workspaces/projects/server/tsconfig.json projectStateVersion: 3 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/home/src/workspaces/projects/server/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (4) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };" + /home/src/workspaces/projects/shared/src/logging.ts Text-2 "export function log(str: string) {\n console.log(str);\n}\nexport const x = 10;" + /home/src/workspaces/projects/shared/src/myClass.ts Text-1 "export class MyClass { }" + /home/src/workspaces/projects/server/src/server.ts SVC-1-0 "import { MyClass } from ':shared/myClass.js';\nconsole.log('Hello, world!');\n" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + ../shared/src/logging.ts + Matched by include pattern '../shared/src/**/*.ts' in 'tsconfig.json' + ../shared/src/myClass.ts + Matched by include pattern '../shared/src/**/*.ts' in 'tsconfig.json' + Imported via ':shared/myClass.js' from file 'src/server.ts' + src/server.ts + Matched by include pattern 'src/**/*.ts' in 'tsconfig.json' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/home/src/workspaces/projects/server/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (4) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/home/src/workspaces/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (0) InitialLoadPending + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/workspaces/projects/server/src/server.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /home/src/workspaces/projects/server/tsconfig.json +Info seq [hh:mm:ss:mss] After ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/home/src/workspaces/projects/server/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (4) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/home/src/workspaces/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (0) InitialLoadPending + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/workspaces/projects/server/src/server.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /home/src/workspaces/projects/server/tsconfig.json +Info seq [hh:mm:ss:mss] got projects updated in background /home/src/workspaces/projects/server/src/server.ts +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectsUpdatedInBackground", + "body": { + "openFiles": [ + "/home/src/workspaces/projects/server/src/server.ts" + ] + } + } +After running Timeout callback:: count: 0 + +Projects:: +/home/src/workspaces/projects/server/tsconfig.json (Configured) *changed* + projectStateVersion: 3 + projectProgramVersion: 2 *changed* + dirty: false *changed* +/home/src/workspaces/tsconfig.json (Configured) + projectStateVersion: 1 + projectProgramVersion: 0 + dirty: true diff --git a/tests/baselines/reference/tsserver/projectRootFiles/when-root-file-is-from-referenced-project.js b/tests/baselines/reference/tsserver/projectRootFiles/when-root-file-is-from-referenced-project.js new file mode 100644 index 0000000000000..80c65c47fc2ac --- /dev/null +++ b/tests/baselines/reference/tsserver/projectRootFiles/when-root-file-is-from-referenced-project.js @@ -0,0 +1,617 @@ +currentDirectory:: /home/src/workspaces useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +Before request +//// [/home/src/workspaces/tsconfig.json] +{ + "compilerOptions": { + "composite": true + }, + "references": [ + { + "path": "projects/server" + }, + { + "path": "projects/shared" + } + ] +} + +//// [/home/src/workspaces/projects/shared/src/myClass.ts] +export class MyClass { } + +//// [/home/src/workspaces/projects/shared/src/logging.ts] +export function log(str: string) { + console.log(str); +} + + +//// [/home/src/workspaces/projects/shared/src/random.ts] +export function randomFn(str: string) { + console.log(str); +} + + +//// [/home/src/workspaces/projects/shared/tsconfig.json] +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "./dist" + }, + "include": [ + "src/**/*.ts" + ] +} + +//// [/home/src/workspaces/projects/server/src/server.ts] +import { MyClass } from ':shared/myClass.js'; +console.log('Hello, world!'); + + +//// [/home/src/workspaces/projects/server/tsconfig.json] +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "baseUrl": "./src", + "rootDir": "..", + "outDir": "./dist", + "paths": { + ":shared/*": [ + "../../shared/src/*" + ] + } + }, + "include": [ + "src/**/*.ts", + "../shared/src/**/*.ts" + ], + "references": [ + { + "path": "../shared" + } + ] +} + +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/home/src/workspaces/projects/server/src/server.ts" + }, + "seq": 1, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/workspaces/projects/server/src/server.ts ProjectRootPath: undefined:: Result: /home/src/workspaces/projects/server/tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /home/src/workspaces/projects/server/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/workspaces/projects/server/tsconfig.json 2000 undefined Project: /home/src/workspaces/projects/server/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/home/src/workspaces/projects/server/tsconfig.json", + "reason": "Creating possible configured project for /home/src/workspaces/projects/server/src/server.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /home/src/workspaces/projects/server/tsconfig.json : { + "rootNames": [ + "/home/src/workspaces/projects/server/src/server.ts", + "/home/src/workspaces/projects/shared/src/logging.ts", + "/home/src/workspaces/projects/shared/src/myClass.ts", + "/home/src/workspaces/projects/shared/src/random.ts" + ], + "options": { + "composite": true, + "baseUrl": "/home/src/workspaces/projects/server/src", + "rootDir": "/home/src/workspaces/projects", + "outDir": "/home/src/workspaces/projects/server/dist", + "paths": { + ":shared/*": [ + "../../shared/src/*" + ] + }, + "pathsBasePath": "/home/src/workspaces/projects/server", + "configFilePath": "/home/src/workspaces/projects/server/tsconfig.json" + }, + "projectReferences": [ + { + "path": "/home/src/workspaces/projects/shared", + "originalPath": "../shared" + } + ] +} +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/workspaces/tsconfig.json 2000 undefined Config: /home/src/workspaces/projects/server/tsconfig.json WatchType: Extended config file +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/workspaces/projects/server/src 1 undefined Config: /home/src/workspaces/projects/server/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/workspaces/projects/server/src 1 undefined Config: /home/src/workspaces/projects/server/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/workspaces/projects/shared/src 1 undefined Config: /home/src/workspaces/projects/server/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/workspaces/projects/shared/src 1 undefined Config: /home/src/workspaces/projects/server/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/workspaces/projects/shared/src/logging.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/workspaces/projects/shared/src/myClass.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/workspaces/projects/shared/src/random.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/workspaces/projects/server/tsconfig.json +Info seq [hh:mm:ss:mss] Config: /home/src/workspaces/projects/shared/tsconfig.json : { + "rootNames": [ + "/home/src/workspaces/projects/shared/src/logging.ts", + "/home/src/workspaces/projects/shared/src/myClass.ts", + "/home/src/workspaces/projects/shared/src/random.ts" + ], + "options": { + "composite": true, + "outDir": "/home/src/workspaces/projects/shared/dist", + "configFilePath": "/home/src/workspaces/projects/shared/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/workspaces/projects/shared/tsconfig.json 2000 undefined Project: /home/src/workspaces/projects/server/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/workspaces/projects/shared/src 1 undefined Config: /home/src/workspaces/projects/shared/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/workspaces/projects/shared/src 1 undefined Config: /home/src/workspaces/projects/shared/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/workspaces/projects/shared/src/package.json 2000 undefined Project: /home/src/workspaces/projects/server/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/workspaces/projects/shared/package.json 2000 undefined Project: /home/src/workspaces/projects/server/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/workspaces/projects/package.json 2000 undefined Project: /home/src/workspaces/projects/server/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/workspaces/package.json 2000 undefined Project: /home/src/workspaces/projects/server/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/workspaces/projects/server/src/package.json 2000 undefined Project: /home/src/workspaces/projects/server/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/workspaces/projects/server/package.json 2000 undefined Project: /home/src/workspaces/projects/server/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/workspaces/projects/server/node_modules/@types 1 undefined Project: /home/src/workspaces/projects/server/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/workspaces/projects/server/node_modules/@types 1 undefined Project: /home/src/workspaces/projects/server/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/workspaces/projects/node_modules/@types 1 undefined Project: /home/src/workspaces/projects/server/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/workspaces/projects/node_modules/@types 1 undefined Project: /home/src/workspaces/projects/server/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/workspaces/node_modules/@types 1 undefined Project: /home/src/workspaces/projects/server/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/workspaces/node_modules/@types 1 undefined Project: /home/src/workspaces/projects/server/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/workspaces/projects/server/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/home/src/workspaces/projects/server/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (5) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };" + /home/src/workspaces/projects/shared/src/myClass.ts Text-1 "export class MyClass { }" + /home/src/workspaces/projects/server/src/server.ts SVC-1-0 "import { MyClass } from ':shared/myClass.js';\nconsole.log('Hello, world!');\n" + /home/src/workspaces/projects/shared/src/logging.ts Text-1 "export function log(str: string) {\n console.log(str);\n}\n" + /home/src/workspaces/projects/shared/src/random.ts Text-1 "export function randomFn(str: string) {\n console.log(str);\n}\n" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + ../shared/src/myClass.ts + Imported via ':shared/myClass.js' from file 'src/server.ts' + Matched by include pattern '../shared/src/**/*.ts' in 'tsconfig.json' + src/server.ts + Matched by include pattern 'src/**/*.ts' in 'tsconfig.json' + ../shared/src/logging.ts + Matched by include pattern '../shared/src/**/*.ts' in 'tsconfig.json' + ../shared/src/random.ts + Matched by include pattern '../shared/src/**/*.ts' in 'tsconfig.json' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/home/src/workspaces/projects/server/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "telemetry", + "body": { + "telemetryEventName": "projectInfo", + "payload": { + "projectId": "3e7cc0fff0dd9d6df3a5e18543004f6ea135e64846930b71357afdc86795b593", + "fileStats": { + "js": 0, + "jsSize": 0, + "jsx": 0, + "jsxSize": 0, + "ts": 4, + "tsSize": 223, + "tsx": 0, + "tsxSize": 0, + "dts": 1, + "dtsSize": 413, + "deferred": 0, + "deferredSize": 0 + }, + "compilerOptions": { + "composite": true, + "baseUrl": "", + "rootDir": "", + "outDir": "", + "paths": "" + }, + "typeAcquisition": { + "enable": false, + "include": false, + "exclude": false + }, + "extends": true, + "files": false, + "include": true, + "exclude": false, + "compileOnSave": false, + "configFileName": "tsconfig.json", + "projectType": "configured", + "languageServiceEnabled": true, + "version": "FakeVersion" + } + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/home/src/workspaces/projects/server/src/server.ts", + "configFile": "/home/src/workspaces/projects/server/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/workspaces/projects/server/tsconfig.json ProjectRootPath: undefined:: Result: /home/src/workspaces/tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /home/src/workspaces/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/workspaces/tsconfig.json 2000 undefined Project: /home/src/workspaces/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/workspaces/tsconfig.json ProjectRootPath: undefined:: Result: undefined +Info seq [hh:mm:ss:mss] Project '/home/src/workspaces/projects/server/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (5) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/home/src/workspaces/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (0) InitialLoadPending + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/workspaces/projects/server/src/server.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /home/src/workspaces/projects/server/tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "responseRequired": false + } +After request + +PolledWatches:: +/home/src/workspaces/node_modules/@types: *new* + {"pollingInterval":500} +/home/src/workspaces/package.json: *new* + {"pollingInterval":2000} +/home/src/workspaces/projects/node_modules/@types: *new* + {"pollingInterval":500} +/home/src/workspaces/projects/package.json: *new* + {"pollingInterval":2000} +/home/src/workspaces/projects/server/node_modules/@types: *new* + {"pollingInterval":500} +/home/src/workspaces/projects/server/package.json: *new* + {"pollingInterval":2000} +/home/src/workspaces/projects/server/src/package.json: *new* + {"pollingInterval":2000} +/home/src/workspaces/projects/shared/package.json: *new* + {"pollingInterval":2000} +/home/src/workspaces/projects/shared/src/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: *new* + {} +/home/src/workspaces/projects/server/tsconfig.json: *new* + {} +/home/src/workspaces/projects/shared/src/logging.ts: *new* + {} +/home/src/workspaces/projects/shared/src/myClass.ts: *new* + {} +/home/src/workspaces/projects/shared/src/random.ts: *new* + {} +/home/src/workspaces/projects/shared/tsconfig.json: *new* + {} +/home/src/workspaces/tsconfig.json: *new* + {} + +FsWatchesRecursive:: +/home/src/workspaces/projects/server/src: *new* + {} +/home/src/workspaces/projects/shared/src: *new* + {} + +Projects:: +/home/src/workspaces/projects/server/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 +/home/src/workspaces/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 0 + dirty: true + +ScriptInfos:: +/a/lib/lib.d.ts *new* + version: Text-1 + containingProjects: 1 + /home/src/workspaces/projects/server/tsconfig.json +/home/src/workspaces/projects/server/src/server.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /home/src/workspaces/projects/server/tsconfig.json *default* +/home/src/workspaces/projects/shared/src/logging.ts *new* + version: Text-1 + containingProjects: 1 + /home/src/workspaces/projects/server/tsconfig.json +/home/src/workspaces/projects/shared/src/myClass.ts *new* + version: Text-1 + containingProjects: 1 + /home/src/workspaces/projects/server/tsconfig.json +/home/src/workspaces/projects/shared/src/random.ts *new* + version: Text-1 + containingProjects: 1 + /home/src/workspaces/projects/server/tsconfig.json + +Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /home/src/workspaces/projects/shared/src/logging.ts 1:: WatchInfo: /home/src/workspaces/projects/shared/src/logging.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Scheduled: /home/src/workspaces/projects/server/tsconfig.json +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /home/src/workspaces/projects/shared/src/logging.ts 1:: WatchInfo: /home/src/workspaces/projects/shared/src/logging.ts 500 undefined WatchType: Closed Script info +Before running Timeout callback:: count: 2 +1: /home/src/workspaces/projects/server/tsconfig.json +2: *ensureProjectForOpenFiles* +//// [/home/src/workspaces/projects/shared/src/logging.ts] +export function log(str: string) { + console.log(str); +} +export const x = 10; + + +Timeout callback:: count: 2 +1: /home/src/workspaces/projects/server/tsconfig.json *new* +2: *ensureProjectForOpenFiles* *new* + +Projects:: +/home/src/workspaces/projects/server/tsconfig.json (Configured) *changed* + projectStateVersion: 2 *changed* + projectProgramVersion: 1 + dirty: true *changed* +/home/src/workspaces/tsconfig.json (Configured) + projectStateVersion: 1 + projectProgramVersion: 0 + dirty: true + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 1 + /home/src/workspaces/projects/server/tsconfig.json +/home/src/workspaces/projects/server/src/server.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /home/src/workspaces/projects/server/tsconfig.json *default* +/home/src/workspaces/projects/shared/src/logging.ts *changed* + version: Text-1 + pendingReloadFromDisk: true *changed* + containingProjects: 1 + /home/src/workspaces/projects/server/tsconfig.json +/home/src/workspaces/projects/shared/src/myClass.ts + version: Text-1 + containingProjects: 1 + /home/src/workspaces/projects/server/tsconfig.json +/home/src/workspaces/projects/shared/src/random.ts + version: Text-1 + containingProjects: 1 + /home/src/workspaces/projects/server/tsconfig.json + +Info seq [hh:mm:ss:mss] Running: /home/src/workspaces/projects/server/tsconfig.json +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/workspaces/projects/server/tsconfig.json +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/workspaces/projects/server/tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: false structureIsReused:: Completely Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/home/src/workspaces/projects/server/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (5) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };" + /home/src/workspaces/projects/shared/src/myClass.ts Text-1 "export class MyClass { }" + /home/src/workspaces/projects/server/src/server.ts SVC-1-0 "import { MyClass } from ':shared/myClass.js';\nconsole.log('Hello, world!');\n" + /home/src/workspaces/projects/shared/src/logging.ts Text-2 "export function log(str: string) {\n console.log(str);\n}\nexport const x = 10;" + /home/src/workspaces/projects/shared/src/random.ts Text-1 "export function randomFn(str: string) {\n console.log(str);\n}\n" + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/home/src/workspaces/projects/server/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (5) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/home/src/workspaces/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (0) InitialLoadPending + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/workspaces/projects/server/src/server.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /home/src/workspaces/projects/server/tsconfig.json +Info seq [hh:mm:ss:mss] After ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/home/src/workspaces/projects/server/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (5) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/home/src/workspaces/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (0) InitialLoadPending + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/workspaces/projects/server/src/server.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /home/src/workspaces/projects/server/tsconfig.json +Info seq [hh:mm:ss:mss] got projects updated in background /home/src/workspaces/projects/server/src/server.ts +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectsUpdatedInBackground", + "body": { + "openFiles": [ + "/home/src/workspaces/projects/server/src/server.ts" + ] + } + } +After running Timeout callback:: count: 0 + +Projects:: +/home/src/workspaces/projects/server/tsconfig.json (Configured) *changed* + projectStateVersion: 2 + projectProgramVersion: 1 + dirty: false *changed* +/home/src/workspaces/tsconfig.json (Configured) + projectStateVersion: 1 + projectProgramVersion: 0 + dirty: true + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 1 + /home/src/workspaces/projects/server/tsconfig.json +/home/src/workspaces/projects/server/src/server.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /home/src/workspaces/projects/server/tsconfig.json *default* +/home/src/workspaces/projects/shared/src/logging.ts *changed* + version: Text-2 *changed* + pendingReloadFromDisk: false *changed* + containingProjects: 1 + /home/src/workspaces/projects/server/tsconfig.json +/home/src/workspaces/projects/shared/src/myClass.ts + version: Text-1 + containingProjects: 1 + /home/src/workspaces/projects/server/tsconfig.json +/home/src/workspaces/projects/shared/src/random.ts + version: Text-1 + containingProjects: 1 + /home/src/workspaces/projects/server/tsconfig.json + +Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /home/src/workspaces/projects/shared/src/random.ts 2:: WatchInfo: /home/src/workspaces/projects/shared/src/random.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Scheduled: /home/src/workspaces/projects/server/tsconfig.json +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /home/src/workspaces/projects/shared/src/random.ts 2:: WatchInfo: /home/src/workspaces/projects/shared/src/random.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /home/src/workspaces/projects/shared/src/random.ts :: WatchInfo: /home/src/workspaces/projects/shared/src 1 undefined Config: /home/src/workspaces/projects/server/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Scheduled: /home/src/workspaces/projects/server/tsconfig.json, Cancelled earlier one +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /home/src/workspaces/projects/shared/src/random.ts :: WatchInfo: /home/src/workspaces/projects/shared/src 1 undefined Config: /home/src/workspaces/projects/server/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /home/src/workspaces/projects/shared/src/random.ts :: WatchInfo: /home/src/workspaces/projects/shared/src 1 undefined Config: /home/src/workspaces/projects/shared/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /home/src/workspaces/projects/shared/src/random.ts :: WatchInfo: /home/src/workspaces/projects/shared/src 1 undefined Config: /home/src/workspaces/projects/shared/tsconfig.json WatchType: Wild card directory +Before running Timeout callback:: count: 2 +5: /home/src/workspaces/projects/server/tsconfig.json +6: *ensureProjectForOpenFiles* +//// [/home/src/workspaces/projects/shared/src/random.ts] deleted + +Timeout callback:: count: 2 +5: /home/src/workspaces/projects/server/tsconfig.json *new* +6: *ensureProjectForOpenFiles* *new* + +Projects:: +/home/src/workspaces/projects/server/tsconfig.json (Configured) *changed* + projectStateVersion: 3 *changed* + projectProgramVersion: 1 + dirty: true *changed* +/home/src/workspaces/tsconfig.json (Configured) + projectStateVersion: 1 + projectProgramVersion: 0 + dirty: true + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 1 + /home/src/workspaces/projects/server/tsconfig.json +/home/src/workspaces/projects/server/src/server.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /home/src/workspaces/projects/server/tsconfig.json *default* +/home/src/workspaces/projects/shared/src/logging.ts + version: Text-2 + containingProjects: 1 + /home/src/workspaces/projects/server/tsconfig.json +/home/src/workspaces/projects/shared/src/myClass.ts + version: Text-1 + containingProjects: 1 + /home/src/workspaces/projects/server/tsconfig.json +/home/src/workspaces/projects/shared/src/random.ts *changed* + version: Text-1 + pendingReloadFromDisk: true *changed* + deferredDelete: true *changed* + containingProjects: 0 *changed* + /home/src/workspaces/projects/server/tsconfig.json *deleted* + +Info seq [hh:mm:ss:mss] Running: /home/src/workspaces/projects/server/tsconfig.json +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/workspaces/projects/server/tsconfig.json +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/workspaces/projects/server/tsconfig.json projectStateVersion: 3 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/home/src/workspaces/projects/server/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (4) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };" + /home/src/workspaces/projects/shared/src/myClass.ts Text-1 "export class MyClass { }" + /home/src/workspaces/projects/server/src/server.ts SVC-1-0 "import { MyClass } from ':shared/myClass.js';\nconsole.log('Hello, world!');\n" + /home/src/workspaces/projects/shared/src/logging.ts Text-2 "export function log(str: string) {\n console.log(str);\n}\nexport const x = 10;" + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + ../shared/src/myClass.ts + Imported via ':shared/myClass.js' from file 'src/server.ts' + Matched by include pattern '../shared/src/**/*.ts' in 'tsconfig.json' + src/server.ts + Matched by include pattern 'src/**/*.ts' in 'tsconfig.json' + ../shared/src/logging.ts + Matched by include pattern '../shared/src/**/*.ts' in 'tsconfig.json' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/home/src/workspaces/projects/server/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (4) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/home/src/workspaces/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (0) InitialLoadPending + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/workspaces/projects/server/src/server.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /home/src/workspaces/projects/server/tsconfig.json +Info seq [hh:mm:ss:mss] After ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/home/src/workspaces/projects/server/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (4) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/home/src/workspaces/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (0) InitialLoadPending + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/workspaces/projects/server/src/server.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /home/src/workspaces/projects/server/tsconfig.json +Info seq [hh:mm:ss:mss] got projects updated in background /home/src/workspaces/projects/server/src/server.ts +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectsUpdatedInBackground", + "body": { + "openFiles": [ + "/home/src/workspaces/projects/server/src/server.ts" + ] + } + } +After running Timeout callback:: count: 0 + +Projects:: +/home/src/workspaces/projects/server/tsconfig.json (Configured) *changed* + projectStateVersion: 3 + projectProgramVersion: 2 *changed* + dirty: false *changed* +/home/src/workspaces/tsconfig.json (Configured) + projectStateVersion: 1 + projectProgramVersion: 0 + dirty: true diff --git a/tests/baselines/reference/tsserver/projects/Orphan-source-files-are-handled-correctly-on-watch-trigger.js b/tests/baselines/reference/tsserver/projects/Orphan-source-files-are-handled-correctly-on-watch-trigger.js index dfc519aa9a60d..570fb43589fd4 100644 --- a/tests/baselines/reference/tsserver/projects/Orphan-source-files-are-handled-correctly-on-watch-trigger.js +++ b/tests/baselines/reference/tsserver/projects/Orphan-source-files-are-handled-correctly-on-watch-trigger.js @@ -201,6 +201,7 @@ ScriptInfos:: Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /user/username/projects/myproject/tsconfig.json 1:: WatchInfo: /user/username/projects/myproject/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/src/file1.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/myproject/tsconfig.json 1:: WatchInfo: /user/username/projects/myproject/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Config file Before running Timeout callback:: count: 2 @@ -225,7 +226,6 @@ Projects:: dirty: true *changed* Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/projects/assert-when-removing-project.js b/tests/baselines/reference/tsserver/projects/assert-when-removing-project.js index 19e2d200b1649..036d88cfb5d6f 100644 --- a/tests/baselines/reference/tsserver/projects/assert-when-removing-project.js +++ b/tests/baselines/reference/tsserver/projects/assert-when-removing-project.js @@ -148,4 +148,14 @@ Info seq [hh:mm:ss:mss] Files (2) commonFile1.ts Root file specified for compilation -Info seq [hh:mm:ss:mss] ----------------------------------------------- \ No newline at end of file +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Debug Failure. False expression: Found script Info still attached to project +Verbose Debug Information: /dev/null/inferredProject1*: ScriptInfos still attached: [ + { + "fileName": "/a/b/commonFile2.ts", + "projects": [ + "/dev/null/inferredProject1*" + ], + "hasMixedContent": false + } +] \ No newline at end of file diff --git a/tests/baselines/reference/tsserver/projects/deferred-files-in-the-project-context-with-lazyConfiguredProjectsFromExternalProject.js b/tests/baselines/reference/tsserver/projects/deferred-files-in-the-project-context-with-lazyConfiguredProjectsFromExternalProject.js index ef7b387571e8b..ebc0356e530b6 100644 --- a/tests/baselines/reference/tsserver/projects/deferred-files-in-the-project-context-with-lazyConfiguredProjectsFromExternalProject.js +++ b/tests/baselines/reference/tsserver/projects/deferred-files-in-the-project-context-with-lazyConfiguredProjectsFromExternalProject.js @@ -123,7 +123,6 @@ Projects:: dirty: true Info seq [hh:mm:ss:mss] Calling ensureInferredProjectsUpToDate_TestOnly -Info seq [hh:mm:ss:mss] Loading configured project /tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/projects/deferred-files-in-the-project-context.js b/tests/baselines/reference/tsserver/projects/deferred-files-in-the-project-context.js index 15aa0c3122490..a23484716bed4 100644 --- a/tests/baselines/reference/tsserver/projects/deferred-files-in-the-project-context.js +++ b/tests/baselines/reference/tsserver/projects/deferred-files-in-the-project-context.js @@ -182,6 +182,63 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/tsconfig.json", + "configFile": "/tsconfig.json", + "diagnostics": [ + { + "text": "File '/a/lib/lib.d.ts' not found.\n The file is in the program because:\n Default library for target 'es5'", + "code": 6053, + "category": "error" + }, + { + "text": "Cannot find global type 'Array'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'Boolean'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'Function'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'IArguments'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'Number'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'Object'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'RegExp'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'String'.", + "code": 2318, + "category": "error" + } + ] + } + } Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (1) diff --git a/tests/baselines/reference/tsserver/projects/file-opened-is-in-configured-project-that-will-be-removed.js b/tests/baselines/reference/tsserver/projects/file-opened-is-in-configured-project-that-will-be-removed.js index 08754d46382f7..5fe17f8b08784 100644 --- a/tests/baselines/reference/tsserver/projects/file-opened-is-in-configured-project-that-will-be-removed.js +++ b/tests/baselines/reference/tsserver/projects/file-opened-is-in-configured-project-that-will-be-removed.js @@ -430,6 +430,17 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/playground/tsconfig-json/tests/spec.ts", + "configFile": "/user/username/projects/myproject/playground/tsconfig-json/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] `remove Project:: Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/playground/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (4) diff --git a/tests/baselines/reference/tsserver/projects/js-file-opened-is-in-configured-project-that-will-be-removed.js b/tests/baselines/reference/tsserver/projects/js-file-opened-is-in-configured-project-that-will-be-removed.js index e8136793d56c2..1c13b84653ef5 100644 --- a/tests/baselines/reference/tsserver/projects/js-file-opened-is-in-configured-project-that-will-be-removed.js +++ b/tests/baselines/reference/tsserver/projects/js-file-opened-is-in-configured-project-that-will-be-removed.js @@ -417,6 +417,23 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/apps/editor/scripts/createConfigVariable.js", + "configFile": "/user/username/projects/myproject/apps/editor/tsconfig.json", + "diagnostics": [ + { + "text": "Cannot write file '/user/username/projects/myproject/apps/editor/src/src.js' because it would overwrite input file.", + "code": 5055, + "category": "error" + } + ] + } + } Info seq [hh:mm:ss:mss] `remove Project:: Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (4) diff --git a/tests/baselines/reference/tsserver/projects/references-on-file-opened-is-in-configured-project-that-will-be-removed.js b/tests/baselines/reference/tsserver/projects/references-on-file-opened-is-in-configured-project-that-will-be-removed.js index 0b28fb699ce41..52c300a454a7e 100644 --- a/tests/baselines/reference/tsserver/projects/references-on-file-opened-is-in-configured-project-that-will-be-removed.js +++ b/tests/baselines/reference/tsserver/projects/references-on-file-opened-is-in-configured-project-that-will-be-removed.js @@ -430,6 +430,17 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/playground/tsconfig-json/tests/spec.ts", + "configFile": "/user/username/projects/myproject/playground/tsconfig-json/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] `remove Project:: Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/playground/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (4) diff --git a/tests/baselines/reference/tsserver/projects/should-create-new-inferred-projects-for-files-excluded-from-a-configured-project.js b/tests/baselines/reference/tsserver/projects/should-create-new-inferred-projects-for-files-excluded-from-a-configured-project.js index f3ceb3fc6d4c3..65e32f2b63757 100644 --- a/tests/baselines/reference/tsserver/projects/should-create-new-inferred-projects-for-files-excluded-from-a-configured-project.js +++ b/tests/baselines/reference/tsserver/projects/should-create-new-inferred-projects-for-files-excluded-from-a-configured-project.js @@ -208,6 +208,7 @@ ScriptInfos:: Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /a/b/tsconfig.json 1:: WatchInfo: /a/b/tsconfig.json 2000 undefined Project: /a/b/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] Scheduled: /a/b/tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a/b/commonFile1.ts ProjectRootPath: undefined:: Result: /a/b/tsconfig.json Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /a/b/tsconfig.json 1:: WatchInfo: /a/b/tsconfig.json 2000 undefined Project: /a/b/tsconfig.json WatchType: Config file Before running Timeout callback:: count: 2 @@ -231,7 +232,6 @@ Projects:: dirty: true *changed* Info seq [hh:mm:ss:mss] Running: /a/b/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /a/b/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/projects/synchronizeProjectList-provides-updates-to-redirect-info-when-requested.js b/tests/baselines/reference/tsserver/projects/synchronizeProjectList-provides-updates-to-redirect-info-when-requested.js index eff42b74817c6..a2afce8df50dd 100644 --- a/tests/baselines/reference/tsserver/projects/synchronizeProjectList-provides-updates-to-redirect-info-when-requested.js +++ b/tests/baselines/reference/tsserver/projects/synchronizeProjectList-provides-updates-to-redirect-info-when-requested.js @@ -601,6 +601,7 @@ After request Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /users/username/projects/project/A/tsconfig.json 1:: WatchInfo: /users/username/projects/project/A/tsconfig.json 2000 undefined Project: /users/username/projects/project/A/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] Scheduled: /users/username/projects/project/A/tsconfig.json Info seq [hh:mm:ss:mss] Scheduled: /users/username/projects/project/B/tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /users/username/projects/project/A/a.ts ProjectRootPath: undefined:: Result: /users/username/projects/project/A/tsconfig.json Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /users/username/projects/project/A/tsconfig.json 1:: WatchInfo: /users/username/projects/project/A/tsconfig.json 2000 undefined Project: /users/username/projects/project/A/tsconfig.json WatchType: Config file Before request @@ -667,7 +668,6 @@ Info seq [hh:mm:ss:mss] request: "seq": 5, "type": "request" } -Info seq [hh:mm:ss:mss] Reloading configured project /users/username/projects/project/A/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/projects/tsconfig-script-block-support.js b/tests/baselines/reference/tsserver/projects/tsconfig-script-block-support.js index b1481e860e2f5..9ae98408598ca 100644 --- a/tests/baselines/reference/tsserver/projects/tsconfig-script-block-support.js +++ b/tests/baselines/reference/tsserver/projects/tsconfig-script-block-support.js @@ -224,7 +224,6 @@ Info seq [hh:mm:ss:mss] request: } Info seq [hh:mm:ss:mss] reload projects. Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a/b/f1.ts ProjectRootPath: undefined:: Result: /a/b/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /a/b/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -232,7 +231,7 @@ Info seq [hh:mm:ss:mss] event: "event": "projectLoadingStart", "body": { "projectName": "/a/b/tsconfig.json", - "reason": "User requested reload projects" + "reason": "User requested reload projects: Creating possible configured project for /a/b/f1.ts to open" } } Info seq [hh:mm:ss:mss] Config: /a/b/tsconfig.json : { diff --git a/tests/baselines/reference/tsserver/projectsWithReferences/transitive-references-with-deleting-referenced-config-file.js b/tests/baselines/reference/tsserver/projectsWithReferences/transitive-references-with-deleting-referenced-config-file.js index 311ce4e82958d..6799241348ef0 100644 --- a/tests/baselines/reference/tsserver/projectsWithReferences/transitive-references-with-deleting-referenced-config-file.js +++ b/tests/baselines/reference/tsserver/projectsWithReferences/transitive-references-with-deleting-referenced-config-file.js @@ -414,6 +414,32 @@ Info seq [hh:mm:ss:mss] Files (4) Part of 'files' list in tsconfig.json Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/c/tsconfig.json", + "configFile": "/user/username/projects/myproject/c/tsconfig.json", + "diagnostics": [ + { + "start": { + "line": 14, + "offset": 5 + }, + "end": { + "line": 16, + "offset": 6 + }, + "text": "File '/user/username/projects/myproject/b' not found.", + "code": 6053, + "category": "error", + "fileName": "/user/username/projects/myproject/c/tsconfig.json" + } + ] + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/c/tsconfig.json' (Configured) @@ -631,6 +657,17 @@ Info seq [hh:mm:ss:mss] Files (5) Part of 'files' list in tsconfig.json Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/c/tsconfig.json", + "configFile": "/user/username/projects/myproject/c/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/c/tsconfig.json' (Configured) diff --git a/tests/baselines/reference/tsserver/projectsWithReferences/transitive-references-with-deleting-transitively-referenced-config-file.js b/tests/baselines/reference/tsserver/projectsWithReferences/transitive-references-with-deleting-transitively-referenced-config-file.js index b75af9f788007..5a96295451329 100644 --- a/tests/baselines/reference/tsserver/projectsWithReferences/transitive-references-with-deleting-transitively-referenced-config-file.js +++ b/tests/baselines/reference/tsserver/projectsWithReferences/transitive-references-with-deleting-transitively-referenced-config-file.js @@ -400,6 +400,32 @@ Info seq [hh:mm:ss:mss] Files (5) /user/username/projects/myproject/c/index.ts SVC-1-0 "import {b} from '../b';\nimport {X} from \"@ref/a\";\nb;\nX;" Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/c/tsconfig.json", + "configFile": "/user/username/projects/myproject/c/tsconfig.json", + "diagnostics": [ + { + "start": { + "line": 15, + "offset": 5 + }, + "end": { + "line": 17, + "offset": 6 + }, + "text": "File '/user/username/projects/myproject/a' not found.", + "code": 6053, + "category": "error", + "fileName": "/user/username/projects/myproject/b/tsconfig.json" + } + ] + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/c/tsconfig.json' (Configured) @@ -494,6 +520,17 @@ Info seq [hh:mm:ss:mss] Files (5) /user/username/projects/myproject/c/index.ts SVC-1-0 "import {b} from '../b';\nimport {X} from \"@ref/a\";\nb;\nX;" Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/c/tsconfig.json", + "configFile": "/user/username/projects/myproject/c/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/c/tsconfig.json' (Configured) diff --git a/tests/baselines/reference/tsserver/projectsWithReferences/transitive-references-with-edit-on-config-file.js b/tests/baselines/reference/tsserver/projectsWithReferences/transitive-references-with-edit-on-config-file.js index 702bdd74c4ba0..d778cad9251ab 100644 --- a/tests/baselines/reference/tsserver/projectsWithReferences/transitive-references-with-edit-on-config-file.js +++ b/tests/baselines/reference/tsserver/projectsWithReferences/transitive-references-with-edit-on-config-file.js @@ -361,6 +361,7 @@ Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/c/tsconfig Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /user/username/projects/myproject/nrefs :: WatchInfo: /user/username/projects/myproject 0 undefined Project: /user/username/projects/myproject/c/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /user/username/projects/myproject/c/tsconfig.json 1:: WatchInfo: /user/username/projects/myproject/c/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/c/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/c/tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/c/index.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/c/tsconfig.json Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/myproject/c/tsconfig.json 1:: WatchInfo: /user/username/projects/myproject/c/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/c/tsconfig.json WatchType: Config file Before running Timeout callback:: count: 3 @@ -405,7 +406,6 @@ Projects:: Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/c/tsconfig.jsonFailedLookupInvalidation Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/c/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/c/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -608,6 +608,7 @@ ScriptInfos:: Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /user/username/projects/myproject/c/tsconfig.json 1:: WatchInfo: /user/username/projects/myproject/c/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/c/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/c/tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/c/index.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/c/tsconfig.json Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/myproject/c/tsconfig.json 1:: WatchInfo: /user/username/projects/myproject/c/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/c/tsconfig.json WatchType: Config file Before running Timeout callback:: count: 2 @@ -645,7 +646,6 @@ Projects:: dirty: true *changed* Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/c/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/c/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/projectsWithReferences/trasitive-references-without-files-with-deleting-referenced-config-file.js b/tests/baselines/reference/tsserver/projectsWithReferences/trasitive-references-without-files-with-deleting-referenced-config-file.js index e696393062c11..536ddb4f152a0 100644 --- a/tests/baselines/reference/tsserver/projectsWithReferences/trasitive-references-without-files-with-deleting-referenced-config-file.js +++ b/tests/baselines/reference/tsserver/projectsWithReferences/trasitive-references-without-files-with-deleting-referenced-config-file.js @@ -420,6 +420,32 @@ Info seq [hh:mm:ss:mss] Files (4) Matched by default include pattern '**/*' Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/c/tsconfig.json", + "configFile": "/user/username/projects/myproject/c/tsconfig.json", + "diagnostics": [ + { + "start": { + "line": 11, + "offset": 5 + }, + "end": { + "line": 13, + "offset": 6 + }, + "text": "File '/user/username/projects/myproject/b' not found.", + "code": 6053, + "category": "error", + "fileName": "/user/username/projects/myproject/c/tsconfig.json" + } + ] + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/c/tsconfig.json' (Configured) @@ -640,6 +666,17 @@ Info seq [hh:mm:ss:mss] Files (5) Matched by default include pattern '**/*' Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/c/tsconfig.json", + "configFile": "/user/username/projects/myproject/c/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/c/tsconfig.json' (Configured) diff --git a/tests/baselines/reference/tsserver/projectsWithReferences/trasitive-references-without-files-with-deleting-transitively-referenced-config-file.js b/tests/baselines/reference/tsserver/projectsWithReferences/trasitive-references-without-files-with-deleting-transitively-referenced-config-file.js index 07bedaffefb5b..5040facd61f83 100644 --- a/tests/baselines/reference/tsserver/projectsWithReferences/trasitive-references-without-files-with-deleting-transitively-referenced-config-file.js +++ b/tests/baselines/reference/tsserver/projectsWithReferences/trasitive-references-without-files-with-deleting-transitively-referenced-config-file.js @@ -404,6 +404,32 @@ Info seq [hh:mm:ss:mss] Files (5) /user/username/projects/myproject/c/index.ts SVC-1-0 "import {b} from '../b';\nimport {X} from \"@ref/a\";\nb;\nX;" Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/c/tsconfig.json", + "configFile": "/user/username/projects/myproject/c/tsconfig.json", + "diagnostics": [ + { + "start": { + "line": 12, + "offset": 5 + }, + "end": { + "line": 14, + "offset": 6 + }, + "text": "File '/user/username/projects/myproject/a' not found.", + "code": 6053, + "category": "error", + "fileName": "/user/username/projects/myproject/b/tsconfig.json" + } + ] + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/c/tsconfig.json' (Configured) @@ -497,6 +523,17 @@ Info seq [hh:mm:ss:mss] Files (5) /user/username/projects/myproject/c/index.ts SVC-1-0 "import {b} from '../b';\nimport {X} from \"@ref/a\";\nb;\nX;" Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/c/tsconfig.json", + "configFile": "/user/username/projects/myproject/c/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/c/tsconfig.json' (Configured) diff --git a/tests/baselines/reference/tsserver/projectsWithReferences/trasitive-references-without-files-with-edit-on-config-file.js b/tests/baselines/reference/tsserver/projectsWithReferences/trasitive-references-without-files-with-edit-on-config-file.js index 8182b69c2e3bd..5a5003025da67 100644 --- a/tests/baselines/reference/tsserver/projectsWithReferences/trasitive-references-without-files-with-edit-on-config-file.js +++ b/tests/baselines/reference/tsserver/projectsWithReferences/trasitive-references-without-files-with-edit-on-config-file.js @@ -360,6 +360,7 @@ Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/c/tsconfig Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /user/username/projects/myproject/nrefs :: WatchInfo: /user/username/projects/myproject 0 undefined Project: /user/username/projects/myproject/c/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /user/username/projects/myproject/c/tsconfig.json 1:: WatchInfo: /user/username/projects/myproject/c/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/c/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/c/tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/c/index.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/c/tsconfig.json Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/myproject/c/tsconfig.json 1:: WatchInfo: /user/username/projects/myproject/c/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/c/tsconfig.json WatchType: Config file Before running Timeout callback:: count: 3 @@ -401,7 +402,6 @@ Projects:: Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/c/tsconfig.jsonFailedLookupInvalidation Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/c/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/c/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -606,6 +606,7 @@ ScriptInfos:: Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /user/username/projects/myproject/c/tsconfig.json 1:: WatchInfo: /user/username/projects/myproject/c/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/c/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/c/tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/c/index.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/c/tsconfig.json Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/myproject/c/tsconfig.json 1:: WatchInfo: /user/username/projects/myproject/c/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/c/tsconfig.json WatchType: Config file Before running Timeout callback:: count: 2 @@ -640,7 +641,6 @@ Projects:: dirty: true *changed* Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/c/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/c/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/reloadProjects/configured-project.js b/tests/baselines/reference/tsserver/reloadProjects/configured-project.js index 88accafc66b12..29b2075f536e5 100644 --- a/tests/baselines/reference/tsserver/reloadProjects/configured-project.js +++ b/tests/baselines/reference/tsserver/reloadProjects/configured-project.js @@ -269,7 +269,6 @@ Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/project Info seq [hh:mm:ss:mss] ExcludeWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -277,7 +276,7 @@ Info seq [hh:mm:ss:mss] event: "event": "projectLoadingStart", "body": { "projectName": "/user/username/projects/myproject/tsconfig.json", - "reason": "User requested reload projects" + "reason": "User requested reload projects: Creating possible configured project for /user/username/projects/myproject/file1.ts to open" } } Info seq [hh:mm:ss:mss] Config: /user/username/projects/myproject/tsconfig.json : { @@ -462,7 +461,6 @@ Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/project Info seq [hh:mm:ss:mss] ExcludeWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -470,7 +468,7 @@ Info seq [hh:mm:ss:mss] event: "event": "projectLoadingStart", "body": { "projectName": "/user/username/projects/myproject/tsconfig.json", - "reason": "User requested reload projects" + "reason": "User requested reload projects: Creating possible configured project for /user/username/projects/myproject/file1.ts to open" } } Info seq [hh:mm:ss:mss] Config: /user/username/projects/myproject/tsconfig.json : { @@ -652,7 +650,6 @@ Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/project Info seq [hh:mm:ss:mss] ExcludeWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -660,7 +657,7 @@ Info seq [hh:mm:ss:mss] event: "event": "projectLoadingStart", "body": { "projectName": "/user/username/projects/myproject/tsconfig.json", - "reason": "User requested reload projects" + "reason": "User requested reload projects: Creating possible configured project for /user/username/projects/myproject/file1.ts to open" } } Info seq [hh:mm:ss:mss] Config: /user/username/projects/myproject/tsconfig.json : { @@ -741,6 +738,7 @@ Info seq [hh:mm:ss:mss] ----------------------------------------------- Info seq [hh:mm:ss:mss] Open files: Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/file1.ts ProjectRootPath: undefined Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] ExcludeWatcher:: Close:: WatchInfo: /user/username/projects/myproject/file2.ts 500 {"excludeFiles":["/user/username/projects/myproject/file2.ts"]} WatchType: Closed Script info Info seq [hh:mm:ss:mss] After reloading projects.. Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (3) @@ -811,7 +809,7 @@ ScriptInfos:: version: SVC-1-0 containingProjects: 1 /user/username/projects/myproject/tsconfig.json *default* -/user/username/projects/myproject/file2.ts *changed* +/user/username/projects/myproject/file2.ts *deleted* version: Text-2 pendingReloadFromDisk: true *changed* deferredDelete: true *changed* diff --git a/tests/baselines/reference/tsserver/reloadProjects/external-project-with-config-file.js b/tests/baselines/reference/tsserver/reloadProjects/external-project-with-config-file.js index bf91bf2732ffe..8dafe398614bf 100644 --- a/tests/baselines/reference/tsserver/reloadProjects/external-project-with-config-file.js +++ b/tests/baselines/reference/tsserver/reloadProjects/external-project-with-config-file.js @@ -197,6 +197,17 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/user/username/projects/myproject/tsconfig.json", + "configFile": "/user/username/projects/myproject/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (3) @@ -331,7 +342,6 @@ Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/tsconfig.j Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/tsconfig.json, Cancelled earlier one Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/file1.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] ExcludeWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations @@ -340,7 +350,6 @@ Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/project Info seq [hh:mm:ss:mss] ExcludeWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -348,7 +357,7 @@ Info seq [hh:mm:ss:mss] event: "event": "projectLoadingStart", "body": { "projectName": "/user/username/projects/myproject/tsconfig.json", - "reason": "User requested reload projects" + "reason": "User requested reload projects: Reloading configured project in external project: /user/username/projects/myproject/project.sln" } } Info seq [hh:mm:ss:mss] Config: /user/username/projects/myproject/tsconfig.json : { @@ -416,6 +425,7 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/file1.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (4) @@ -524,7 +534,6 @@ Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/tsconfig.j Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/tsconfig.json, Cancelled earlier one Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/file1.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] ExcludeWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/module1/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution @@ -533,7 +542,6 @@ Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/project Info seq [hh:mm:ss:mss] ExcludeWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -541,7 +549,7 @@ Info seq [hh:mm:ss:mss] event: "event": "projectLoadingStart", "body": { "projectName": "/user/username/projects/myproject/tsconfig.json", - "reason": "User requested reload projects" + "reason": "User requested reload projects: Reloading configured project in external project: /user/username/projects/myproject/project.sln" } } Info seq [hh:mm:ss:mss] Config: /user/username/projects/myproject/tsconfig.json : { @@ -607,6 +615,7 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/file1.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (4) @@ -714,7 +723,6 @@ Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/tsconfig.j Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/tsconfig.json, Cancelled earlier one Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/file1.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] ExcludeWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/module1/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution @@ -723,7 +731,6 @@ Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/project Info seq [hh:mm:ss:mss] ExcludeWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Reloading configured project /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -731,7 +738,7 @@ Info seq [hh:mm:ss:mss] event: "event": "projectLoadingStart", "body": { "projectName": "/user/username/projects/myproject/tsconfig.json", - "reason": "User requested reload projects" + "reason": "User requested reload projects: Reloading configured project in external project: /user/username/projects/myproject/project.sln" } } Info seq [hh:mm:ss:mss] Config: /user/username/projects/myproject/tsconfig.json : { @@ -796,6 +803,7 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/file1.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (3) @@ -812,6 +820,7 @@ Info seq [hh:mm:ss:mss] ----------------------------------------------- Info seq [hh:mm:ss:mss] Open files: Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/file1.ts ProjectRootPath: undefined Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] ExcludeWatcher:: Close:: WatchInfo: /user/username/projects/myproject/file2.ts 500 {"excludeFiles":["/user/username/projects/myproject/file2.ts"]} WatchType: Closed Script info Info seq [hh:mm:ss:mss] After reloading projects.. Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (3) @@ -882,7 +891,7 @@ ScriptInfos:: version: Text-1 containingProjects: 1 /user/username/projects/myproject/tsconfig.json *default* -/user/username/projects/myproject/file2.ts *changed* +/user/username/projects/myproject/file2.ts *deleted* version: Text-2 pendingReloadFromDisk: true *changed* deferredDelete: true *changed* diff --git a/tests/baselines/reference/tsserver/reloadProjects/external-project.js b/tests/baselines/reference/tsserver/reloadProjects/external-project.js index 7ba31ad9ec51d..8979b28b6a7d7 100644 --- a/tests/baselines/reference/tsserver/reloadProjects/external-project.js +++ b/tests/baselines/reference/tsserver/reloadProjects/external-project.js @@ -263,7 +263,6 @@ Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/project.sl Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/project.sln, Cancelled earlier one Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/file1.ts ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] ExcludeWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.sln WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.sln WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.sln WatchType: Failed Lookup Locations @@ -407,7 +406,6 @@ Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/project.sl Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/project.sln, Cancelled earlier one Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/file1.ts ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] ExcludeWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.sln WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/module1/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.sln WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.sln WatchType: File location affecting resolution @@ -548,7 +546,6 @@ Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/project.sl Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/project.sln, Cancelled earlier one Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/file1.ts ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] ExcludeWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.sln WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/module1/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.sln WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.sln WatchType: File location affecting resolution @@ -603,6 +600,7 @@ Info seq [hh:mm:ss:mss] ----------------------------------------------- Info seq [hh:mm:ss:mss] Open files: Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/file1.ts ProjectRootPath: undefined Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/project.sln +Info seq [hh:mm:ss:mss] ExcludeWatcher:: Close:: WatchInfo: /user/username/projects/myproject/file2.ts 500 {"excludeFiles":["/user/username/projects/myproject/file2.ts"]} WatchType: Closed Script info Info seq [hh:mm:ss:mss] After reloading projects.. Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/project.sln' (External) Info seq [hh:mm:ss:mss] Files (3) @@ -669,7 +667,7 @@ ScriptInfos:: version: Text-1 containingProjects: 1 /user/username/projects/myproject/project.sln *default* -/user/username/projects/myproject/file2.ts *changed* +/user/username/projects/myproject/file2.ts *deleted* version: Text-2 pendingReloadFromDisk: true *changed* deferredDelete: true *changed* diff --git a/tests/baselines/reference/tsserver/reloadProjects/inferred-project.js b/tests/baselines/reference/tsserver/reloadProjects/inferred-project.js index ddc28bb465233..7797866aa05ad 100644 --- a/tests/baselines/reference/tsserver/reloadProjects/inferred-project.js +++ b/tests/baselines/reference/tsserver/reloadProjects/inferred-project.js @@ -528,6 +528,7 @@ Info seq [hh:mm:ss:mss] ----------------------------------------------- Info seq [hh:mm:ss:mss] Open files: Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/file1.ts ProjectRootPath: /user/username/projects/myproject Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] ExcludeWatcher:: Close:: WatchInfo: /user/username/projects/myproject/file2.ts 500 {"excludeFiles":["/user/username/projects/myproject/file2.ts"]} WatchType: Closed Script info Info seq [hh:mm:ss:mss] After reloading projects.. Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) Info seq [hh:mm:ss:mss] Files (3) @@ -598,7 +599,7 @@ ScriptInfos:: version: SVC-1-0 containingProjects: 1 /dev/null/inferredProject1* *default* -/user/username/projects/myproject/file2.ts *changed* +/user/username/projects/myproject/file2.ts *deleted* version: Text-2 pendingReloadFromDisk: true *changed* deferredDelete: true *changed* diff --git a/tests/baselines/reference/tsserver/rename/with-symlinks-and-case-difference.js b/tests/baselines/reference/tsserver/rename/with-symlinks-and-case-difference.js index 8c6eea0295220..30cd7ecc377e9 100644 --- a/tests/baselines/reference/tsserver/rename/with-symlinks-and-case-difference.js +++ b/tests/baselines/reference/tsserver/rename/with-symlinks-and-case-difference.js @@ -262,7 +262,6 @@ Info seq [hh:mm:ss:mss] request: "seq": 2, "type": "request" } -Info seq [hh:mm:ss:mss] Loading configured project c:/temp/test/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -473,6 +472,17 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "c:/temp/test/project2/tsconfig.json", + "configFile": "c:/temp/test/project2/tsconfig.json", + "diagnostics": [] + } + } Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: c:/temp/test/project1/index.d.ts 2000 undefined Project: c:/temp/test/project1/tsconfig.json WatchType: Missing generated file Info seq [hh:mm:ss:mss] response: { diff --git a/tests/baselines/reference/tsserver/resolutionCache/should-property-handle-missing-config-files.js b/tests/baselines/reference/tsserver/resolutionCache/should-property-handle-missing-config-files.js index 2403035badaaf..dbe49defc5d7c 100644 --- a/tests/baselines/reference/tsserver/resolutionCache/should-property-handle-missing-config-files.js +++ b/tests/baselines/reference/tsserver/resolutionCache/should-property-handle-missing-config-files.js @@ -211,6 +211,63 @@ Info seq [hh:mm:ss:mss] event: } } } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/a/b/tsconfig.json", + "configFile": "/a/b/tsconfig.json", + "diagnostics": [ + { + "text": "File '/a/lib/lib.d.ts' not found.\n The file is in the program because:\n Default library for target 'es5'", + "code": 6053, + "category": "error" + }, + { + "text": "Cannot find global type 'Array'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'Boolean'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'Function'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'IArguments'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'Number'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'Object'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'RegExp'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'String'.", + "code": 2318, + "category": "error" + } + ] + } + } Info seq [hh:mm:ss:mss] `remove Project:: Info seq [hh:mm:ss:mss] Project 'project1' (External) Info seq [hh:mm:ss:mss] Files (1) diff --git a/tests/baselines/reference/tsserver/resolutionCache/works-correctly-when-typings-are-added-or-removed.js b/tests/baselines/reference/tsserver/resolutionCache/works-correctly-when-typings-are-added-or-removed.js index 6b6b5ffdf1337..03db295463ca0 100644 --- a/tests/baselines/reference/tsserver/resolutionCache/works-correctly-when-typings-are-added-or-removed.js +++ b/tests/baselines/reference/tsserver/resolutionCache/works-correctly-when-typings-are-added-or-removed.js @@ -303,6 +303,68 @@ Info seq [hh:mm:ss:mss] Files (1) Matched by default include pattern '**/*' Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/users/username/projects/project/tsconfig.json", + "configFile": "/users/username/projects/project/tsconfig.json", + "diagnostics": [ + { + "text": "Cannot find type definition file for 'lib1'.\n The file is in the program because:\n Entry point for implicit type library 'lib1'", + "code": 2688, + "category": "error" + }, + { + "text": "File '/a/lib/lib.d.ts' not found.\n The file is in the program because:\n Default library for target 'es5'", + "code": 6053, + "category": "error" + }, + { + "text": "Cannot find global type 'Array'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'Boolean'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'Function'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'IArguments'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'Number'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'Object'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'RegExp'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'String'.", + "code": 2318, + "category": "error" + } + ] + } + } Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/users/username/projects/project/tsconfig.json' (Configured) diff --git a/tests/baselines/reference/tsserver/symLinks/module-resolution-when-project-compiles-from-sources.js b/tests/baselines/reference/tsserver/symLinks/module-resolution-when-project-compiles-from-sources.js index 6e9cada601563..fe02ca0fb927b 100644 --- a/tests/baselines/reference/tsserver/symLinks/module-resolution-when-project-compiles-from-sources.js +++ b/tests/baselines/reference/tsserver/symLinks/module-resolution-when-project-compiles-from-sources.js @@ -656,6 +656,7 @@ After running Immedidate callback:: count: 0 Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /users/username/projects/myproject/javascript/packages/recognizers-date-time/tsconfig.json 1:: WatchInfo: /users/username/projects/myproject/javascript/packages/recognizers-date-time/tsconfig.json 2000 undefined Project: /users/username/projects/myproject/javascript/packages/recognizers-date-time/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] Scheduled: /users/username/projects/myproject/javascript/packages/recognizers-date-time/tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /users/username/projects/myproject/javascript/packages/recognizers-date-time/src/datetime/baseDate.ts ProjectRootPath: /users/username/projects/myproject:: Result: /users/username/projects/myproject/javascript/packages/recognizers-date-time/tsconfig.json Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /users/username/projects/myproject/javascript/packages/recognizers-date-time/tsconfig.json 1:: WatchInfo: /users/username/projects/myproject/javascript/packages/recognizers-date-time/tsconfig.json 2000 undefined Project: /users/username/projects/myproject/javascript/packages/recognizers-date-time/tsconfig.json WatchType: Config file Before running Timeout callback:: count: 2 @@ -683,7 +684,6 @@ Projects:: dirty: true *changed* Info seq [hh:mm:ss:mss] Running: /users/username/projects/myproject/javascript/packages/recognizers-date-time/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /users/username/projects/myproject/javascript/packages/recognizers-date-time/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/symLinks/module-resolution-with-path-mapping-when-project-compiles-from-sources.js b/tests/baselines/reference/tsserver/symLinks/module-resolution-with-path-mapping-when-project-compiles-from-sources.js index d502b2ad326d8..7821d90ab5b44 100644 --- a/tests/baselines/reference/tsserver/symLinks/module-resolution-with-path-mapping-when-project-compiles-from-sources.js +++ b/tests/baselines/reference/tsserver/symLinks/module-resolution-with-path-mapping-when-project-compiles-from-sources.js @@ -717,6 +717,7 @@ After running Immedidate callback:: count: 0 Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /users/username/projects/myproject/javascript/packages/recognizers-date-time/tsconfig.json 1:: WatchInfo: /users/username/projects/myproject/javascript/packages/recognizers-date-time/tsconfig.json 2000 undefined Project: /users/username/projects/myproject/javascript/packages/recognizers-date-time/tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] Scheduled: /users/username/projects/myproject/javascript/packages/recognizers-date-time/tsconfig.json +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /users/username/projects/myproject/javascript/packages/recognizers-date-time/src/datetime/baseDate.ts ProjectRootPath: /users/username/projects/myproject:: Result: /users/username/projects/myproject/javascript/packages/recognizers-date-time/tsconfig.json Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Elapsed:: *ms FileWatcher:: Triggered with /users/username/projects/myproject/javascript/packages/recognizers-date-time/tsconfig.json 1:: WatchInfo: /users/username/projects/myproject/javascript/packages/recognizers-date-time/tsconfig.json 2000 undefined Project: /users/username/projects/myproject/javascript/packages/recognizers-date-time/tsconfig.json WatchType: Config file Before running Timeout callback:: count: 2 @@ -751,7 +752,6 @@ Projects:: dirty: true *changed* Info seq [hh:mm:ss:mss] Running: /users/username/projects/myproject/javascript/packages/recognizers-date-time/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /users/username/projects/myproject/javascript/packages/recognizers-date-time/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/tsserver/configDir-template.js b/tests/baselines/reference/tsserver/tsserver/configDir-template.js index 3022f58979169..ace5db526f7e9 100644 --- a/tests/baselines/reference/tsserver/tsserver/configDir-template.js +++ b/tests/baselines/reference/tsserver/tsserver/configDir-template.js @@ -471,7 +471,6 @@ Projects:: dirty: true *changed* Info seq [hh:mm:ss:mss] Running: /home/src/projects/myproject/tsconfig.json -Info seq [hh:mm:ss:mss] Reloading configured project /home/src/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/typeReferenceDirectives/when-typeReferenceDirective-contains-UpperCasePackage.js b/tests/baselines/reference/tsserver/typeReferenceDirectives/when-typeReferenceDirective-contains-UpperCasePackage.js index edd87db29bcca..c2873a5e4b24c 100644 --- a/tests/baselines/reference/tsserver/typeReferenceDirectives/when-typeReferenceDirective-contains-UpperCasePackage.js +++ b/tests/baselines/reference/tsserver/typeReferenceDirectives/when-typeReferenceDirective-contains-UpperCasePackage.js @@ -37,7 +37,8 @@ class TestClass1 { "typeRoots": [ "../lib/@types", "../lib/@app" - ] + ], + "traceResolution": true } } @@ -87,16 +88,64 @@ Info seq [hh:mm:ss:mss] Config: /user/username/projects/myproject/test/tsconfig "/user/username/projects/myproject/lib/@types", "/user/username/projects/myproject/lib/@app" ], + "traceResolution": true, "configFilePath": "/user/username/projects/myproject/test/tsconfig.json" } } Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/test 1 undefined Config: /user/username/projects/myproject/test/tsconfig.json WatchType: Wild card directory Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/test 1 undefined Config: /user/username/projects/myproject/test/tsconfig.json WatchType: Wild card directory Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/projects/myproject/test/tsconfig.json +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/test/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/user/username/projects/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/user/username/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/user/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist. +Info seq [hh:mm:ss:mss] ======== Resolving type reference directive 'UpperCasePackage', containing file '/user/username/projects/myproject/test/__inferred type names__.ts', root directory '/user/username/projects/myproject/lib/@types,/user/username/projects/myproject/lib/@app'. ======== +Info seq [hh:mm:ss:mss] Resolving with primary search path '/user/username/projects/myproject/lib/@types, /user/username/projects/myproject/lib/@app'. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/lib/@types/UpperCasePackage.d.ts' does not exist. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/lib/@types/UpperCasePackage/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/lib/@types/UpperCasePackage/index.d.ts' exists - use it as a name resolution result. +Info seq [hh:mm:ss:mss] Resolving real path for '/user/username/projects/myproject/lib/@types/UpperCasePackage/index.d.ts', result '/user/username/projects/myproject/lib/@types/UpperCasePackage/index.d.ts'. +Info seq [hh:mm:ss:mss] ======== Type reference directive 'UpperCasePackage' was successfully resolved to '/user/username/projects/myproject/lib/@types/UpperCasePackage/index.d.ts', primary: true. ======== Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/lib 1 undefined Project: /user/username/projects/myproject/test/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/lib 1 undefined Project: /user/username/projects/myproject/test/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] ======== Resolving type reference directive 'lib', containing file '/user/username/projects/myproject/test/__inferred type names__.ts', root directory '/user/username/projects/myproject/lib/@types,/user/username/projects/myproject/lib/@app'. ======== +Info seq [hh:mm:ss:mss] Resolving with primary search path '/user/username/projects/myproject/lib/@types, /user/username/projects/myproject/lib/@app'. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/lib/@types/lib.d.ts' does not exist. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/lib/@app/lib.d.ts' does not exist. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/lib/@app/lib/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/lib/@app/lib/index.d.ts' exists - use it as a name resolution result. +Info seq [hh:mm:ss:mss] Resolving real path for '/user/username/projects/myproject/lib/@app/lib/index.d.ts', result '/user/username/projects/myproject/lib/@app/lib/index.d.ts'. +Info seq [hh:mm:ss:mss] ======== Type reference directive 'lib' was successfully resolved to '/user/username/projects/myproject/lib/@app/lib/index.d.ts', primary: true. ======== +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/lib/@types/UpperCasePackage/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/lib/@types/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/lib/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/lib/@types/UpperCasePackage/index.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/lib/@app/lib/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/lib/@app/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/lib/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/lib/@app/lib/index.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] ======== Resolving type reference directive 'UpperCasePackage', containing file '/user/username/projects/myproject/lib/@app/lib/index.d.ts', root directory '/user/username/projects/myproject/lib/@types,/user/username/projects/myproject/lib/@app'. ======== +Info seq [hh:mm:ss:mss] Resolving with primary search path '/user/username/projects/myproject/lib/@types, /user/username/projects/myproject/lib/@app'. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/lib/@types/UpperCasePackage.d.ts' does not exist. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/lib/@types/UpperCasePackage/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/lib/@types/UpperCasePackage/index.d.ts' exists - use it as a name resolution result. +Info seq [hh:mm:ss:mss] Resolving real path for '/user/username/projects/myproject/lib/@types/UpperCasePackage/index.d.ts', result '/user/username/projects/myproject/lib/@types/UpperCasePackage/index.d.ts'. +Info seq [hh:mm:ss:mss] ======== Type reference directive 'UpperCasePackage' was successfully resolved to '/user/username/projects/myproject/lib/@types/UpperCasePackage/index.d.ts', primary: true. ======== +Info seq [hh:mm:ss:mss] File '/a/lib/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/a/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/lib/@types 1 undefined Project: /user/username/projects/myproject/test/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/lib/@types 1 undefined Project: /user/username/projects/myproject/test/tsconfig.json WatchType: Type roots @@ -159,7 +208,8 @@ Info seq [hh:mm:ss:mss] event: "typeRoots": [ "", "" - ] + ], + "traceResolution": true }, "typeAcquisition": { "enable": false, @@ -292,6 +342,32 @@ ScriptInfos:: Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/test/tsconfig.json Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/projects/myproject/test/tsconfig.json +Info seq [hh:mm:ss:mss] File '/a/lib/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/a/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/test/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/lib/@types/UpperCasePackage/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/lib/@types/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/lib/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/lib/@app/lib/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/lib/@app/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/lib/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] Reusing resolution of type reference directive 'UpperCasePackage' from '/user/username/projects/myproject/lib/@app/lib/index.d.ts' of old program, it was successfully resolved to '/user/username/projects/myproject/lib/@types/UpperCasePackage/index.d.ts'. Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /user/username/projects/myproject/test/tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: false structureIsReused:: Completely Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/test/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (4) diff --git a/tests/baselines/reference/tsserver/typingsInstaller/discover-from-node_modules-empty-types-has-import.js b/tests/baselines/reference/tsserver/typingsInstaller/discover-from-node_modules-empty-types-has-import.js index 0fd2378c090a6..f4c84f7f61ee7 100644 --- a/tests/baselines/reference/tsserver/typingsInstaller/discover-from-node_modules-empty-types-has-import.js +++ b/tests/baselines/reference/tsserver/typingsInstaller/discover-from-node_modules-empty-types-has-import.js @@ -683,6 +683,105 @@ Info seq [hh:mm:ss:mss] event: } } TI:: [hh:mm:ss:mss] No new typings were requested as a result of typings discovery +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /jsconfig.json +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /jsconfig.json projectStateVersion: 4 projectProgramVersion: 2 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/jsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (2) + /tmp/node_modules/@types/jquery/index.d.ts Text-1 "" + /app.js SVC-1-0 "import \"jquery\";" + + + tmp/node_modules/@types/jquery/index.d.ts + Imported via "jquery" from file 'app.js' + app.js + Matched by default include pattern '**/*' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +TI:: [hh:mm:ss:mss] Got install request + { + "projectName": "/jsconfig.json", + "fileNames": [ + "/app.js" + ], + "compilerOptions": { + "allowJs": true, + "maxNodeModuleJsDepth": 2, + "allowSyntheticDefaultImports": true, + "skipLibCheck": true, + "noEmit": true, + "types": [], + "configFilePath": "/jsconfig.json", + "allowNonTsExtensions": true + }, + "typeAcquisition": { + "enable": true, + "include": [], + "exclude": [] + }, + "unresolvedImports": [], + "projectRootPath": "/", + "kind": "discover" + } +TI:: [hh:mm:ss:mss] Explicitly included types: [] +TI:: [hh:mm:ss:mss] Inferred typings from unresolved imports: [] +TI:: [hh:mm:ss:mss] Finished typings discovery: + { + "cachedTypingPaths": [], + "newTypingNames": [], + "filesToWatch": [] + } +TI:: [hh:mm:ss:mss] Closing file watchers for project '/jsconfig.json' +TI:: [hh:mm:ss:mss] No watchers are registered for project '/jsconfig.json' +TI:: [hh:mm:ss:mss] Sending response: + { + "projectName": "/jsconfig.json", + "typeAcquisition": { + "enable": true, + "include": [], + "exclude": [] + }, + "compilerOptions": { + "allowJs": true, + "maxNodeModuleJsDepth": 2, + "allowSyntheticDefaultImports": true, + "skipLibCheck": true, + "noEmit": true, + "types": [], + "configFilePath": "/jsconfig.json", + "allowNonTsExtensions": true + }, + "typings": [], + "unresolvedImports": [], + "kind": "action::set" + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "setTypings", + "body": { + "projectName": "/jsconfig.json", + "typeAcquisition": { + "enable": true, + "include": [], + "exclude": [] + }, + "compilerOptions": { + "allowJs": true, + "maxNodeModuleJsDepth": 2, + "allowSyntheticDefaultImports": true, + "skipLibCheck": true, + "noEmit": true, + "types": [], + "configFilePath": "/jsconfig.json", + "allowNonTsExtensions": true + }, + "typings": [], + "unresolvedImports": [], + "kind": "action::set" + } + } +TI:: [hh:mm:ss:mss] No new typings were requested as a result of typings discovery After running Timeout callback:: count: 2 Timeout callback:: count: 2 @@ -693,8 +792,8 @@ Timeout callback:: count: 2 Projects:: /jsconfig.json (Configured) *changed* projectStateVersion: 4 *changed* - projectProgramVersion: 2 *changed* - dirty: true + projectProgramVersion: 3 *changed* + dirty: false *changed* ScriptInfos:: /app.js (Open) @@ -707,4 +806,5 @@ ScriptInfos:: /jsconfig.json *deleted* /tmp/node_modules/@types/jquery/index.d.ts *new* version: Text-1 - containingProjects: 0 + containingProjects: 1 + /jsconfig.json diff --git a/tests/baselines/reference/tsserver/typingsInstaller/scoped-name-discovery.js b/tests/baselines/reference/tsserver/typingsInstaller/scoped-name-discovery.js index 9c097c290e41d..599c2c23a26d2 100644 --- a/tests/baselines/reference/tsserver/typingsInstaller/scoped-name-discovery.js +++ b/tests/baselines/reference/tsserver/typingsInstaller/scoped-name-discovery.js @@ -696,6 +696,117 @@ TI:: [hh:mm:ss:mss] Sending response: } Info seq [hh:mm:ss:mss] Scheduled: /jsconfig.json Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "setTypings", + "body": { + "projectName": "/jsconfig.json", + "typeAcquisition": { + "enable": true, + "include": [], + "exclude": [] + }, + "compilerOptions": { + "allowJs": true, + "maxNodeModuleJsDepth": 2, + "allowSyntheticDefaultImports": true, + "skipLibCheck": true, + "noEmit": true, + "configFilePath": "/jsconfig.json", + "allowNonTsExtensions": true + }, + "typings": [], + "unresolvedImports": [], + "kind": "action::set" + } + } +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /jsconfig.json +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /jsconfig.json projectStateVersion: 4 projectProgramVersion: 2 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/jsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (1) + /app.js SVC-1-0 "" + + + app.js + Matched by default include pattern '**/*' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/autoImportProviderProject1*' (AutoImportProvider) +Info seq [hh:mm:ss:mss] Files (1) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +TI:: [hh:mm:ss:mss] Got install request + { + "projectName": "/jsconfig.json", + "fileNames": [ + "/app.js" + ], + "compilerOptions": { + "allowJs": true, + "maxNodeModuleJsDepth": 2, + "allowSyntheticDefaultImports": true, + "skipLibCheck": true, + "noEmit": true, + "configFilePath": "/jsconfig.json", + "allowNonTsExtensions": true + }, + "typeAcquisition": { + "enable": true, + "include": [], + "exclude": [] + }, + "unresolvedImports": [], + "projectRootPath": "/", + "kind": "discover" + } +TI:: [hh:mm:ss:mss] Explicitly included types: [] +TI:: [hh:mm:ss:mss] Typing names in '/package.json' dependencies: ["@zkat/cacache"] +TI:: [hh:mm:ss:mss] Searching for typing names in /node_modules; all files: ["/node_modules/@zkat/cacache/package.json"] +TI:: [hh:mm:ss:mss] Found package names: ["@zkat/cacache"] +TI:: [hh:mm:ss:mss] Inferred typings from unresolved imports: [] +TI:: [hh:mm:ss:mss] Finished typings discovery: + { + "cachedTypingPaths": [], + "newTypingNames": [ + "@zkat/cacache" + ], + "filesToWatch": [ + "/bower_components", + "/package.json", + "/node_modules" + ] + } +TI:: [hh:mm:ss:mss] Sending response: + { + "kind": "action::watchTypingLocations", + "projectName": "/jsconfig.json" + } +TI:: [hh:mm:ss:mss] Installing typings ["@zkat/cacache"] +TI:: [hh:mm:ss:mss] '@zkat/cacache':: 'zkat__cacache' already has an up-to-date typing - skipping... +TI:: [hh:mm:ss:mss] All typings are known to be missing or invalid - no need to install more typings +TI:: [hh:mm:ss:mss] Sending response: + { + "projectName": "/jsconfig.json", + "typeAcquisition": { + "enable": true, + "include": [], + "exclude": [] + }, + "compilerOptions": { + "allowJs": true, + "maxNodeModuleJsDepth": 2, + "allowSyntheticDefaultImports": true, + "skipLibCheck": true, + "noEmit": true, + "configFilePath": "/jsconfig.json", + "allowNonTsExtensions": true + }, + "typings": [], + "unresolvedImports": [], + "kind": "action::set" + } Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -736,8 +847,8 @@ Projects:: dirty: true *changed* /jsconfig.json (Configured) *changed* projectStateVersion: 4 *changed* - projectProgramVersion: 2 *changed* - dirty: true + projectProgramVersion: 3 *changed* + dirty: false *changed* autoImportProviderHost: /dev/null/autoImportProviderProject1* ScriptInfos:: diff --git a/tests/baselines/reference/tsserver/watchEnvironment/external-project-watch-options-errors.js b/tests/baselines/reference/tsserver/watchEnvironment/external-project-watch-options-errors.js index fcbcb5243c596..224c41a30ec48 100644 --- a/tests/baselines/reference/tsserver/watchEnvironment/external-project-watch-options-errors.js +++ b/tests/baselines/reference/tsserver/watchEnvironment/external-project-watch-options-errors.js @@ -79,7 +79,6 @@ Info seq [hh:mm:ss:mss] Files (4) ../../../../a/lib/lib.d.ts Default library for target 'es5' node_modules/bar/foo.d.ts - Imported via "./foo" from file 'node_modules/bar/index.d.ts' Imported via "./foo" from file 'node_modules/bar/index.d.ts' Root file specified for compilation node_modules/bar/index.d.ts diff --git a/tests/baselines/reference/tsserver/watchEnvironment/external-project-watch-options-in-host-configuration.js b/tests/baselines/reference/tsserver/watchEnvironment/external-project-watch-options-in-host-configuration.js index 81d1539aab128..edec9cd7880a5 100644 --- a/tests/baselines/reference/tsserver/watchEnvironment/external-project-watch-options-in-host-configuration.js +++ b/tests/baselines/reference/tsserver/watchEnvironment/external-project-watch-options-in-host-configuration.js @@ -106,7 +106,6 @@ Info seq [hh:mm:ss:mss] Files (4) ../../../../a/lib/lib.d.ts Default library for target 'es5' node_modules/bar/foo.d.ts - Imported via "./foo" from file 'node_modules/bar/index.d.ts' Imported via "./foo" from file 'node_modules/bar/index.d.ts' Root file specified for compilation node_modules/bar/index.d.ts diff --git a/tests/baselines/reference/tsserver/watchEnvironment/external-project-watch-options.js b/tests/baselines/reference/tsserver/watchEnvironment/external-project-watch-options.js index a933e9eaccc34..e8d5952b5c06a 100644 --- a/tests/baselines/reference/tsserver/watchEnvironment/external-project-watch-options.js +++ b/tests/baselines/reference/tsserver/watchEnvironment/external-project-watch-options.js @@ -77,7 +77,6 @@ Info seq [hh:mm:ss:mss] Files (4) ../../../../a/lib/lib.d.ts Default library for target 'es5' node_modules/bar/foo.d.ts - Imported via "./foo" from file 'node_modules/bar/index.d.ts' Imported via "./foo" from file 'node_modules/bar/index.d.ts' Root file specified for compilation node_modules/bar/index.d.ts diff --git a/tests/baselines/reference/tsxAttributeInvalidNames.errors.txt b/tests/baselines/reference/tsxAttributeInvalidNames.errors.txt index a4c162ac25d3d..339091ece5b38 100644 --- a/tests/baselines/reference/tsxAttributeInvalidNames.errors.txt +++ b/tests/baselines/reference/tsxAttributeInvalidNames.errors.txt @@ -10,7 +10,7 @@ file.tsx(11,1): error TS2362: The left-hand side of an arithmetic operation must file.tsx(11,8): error TS1003: Identifier expected. file.tsx(11,9): error TS2304: Cannot find name 'data'. file.tsx(11,13): error TS1005: ';' expected. -file.tsx(11,20): error TS1161: Unterminated regular expression literal. +file.tsx(11,19): error TS1161: Unterminated regular expression literal. ==== file.tsx (13 errors) ==== @@ -49,5 +49,5 @@ file.tsx(11,20): error TS1161: Unterminated regular expression literal. !!! error TS2304: Cannot find name 'data'. ~ !!! error TS1005: ';' expected. - + ~~ !!! error TS1161: Unterminated regular expression literal. \ No newline at end of file diff --git a/tests/baselines/reference/tsxAttributeInvalidNames.js b/tests/baselines/reference/tsxAttributeInvalidNames.js index 3e23b1986fec7..abaf80c3c462d 100644 --- a/tests/baselines/reference/tsxAttributeInvalidNames.js +++ b/tests/baselines/reference/tsxAttributeInvalidNames.js @@ -22,4 +22,4 @@ data = { 32: } / > ; { 32; } -/>;; +/>; diff --git a/tests/baselines/reference/tsxAttributeInvalidNames.types b/tests/baselines/reference/tsxAttributeInvalidNames.types index a90b7267d3b12..56531b6f75662 100644 --- a/tests/baselines/reference/tsxAttributeInvalidNames.types +++ b/tests/baselines/reference/tsxAttributeInvalidNames.types @@ -56,6 +56,6 @@ declare module JSX { > : ^^^ >32 : 32 > : ^^ ->/>; : RegExp -> : ^^^^^^ +>/> : RegExp +> : ^^^^^^ diff --git a/tests/baselines/reference/tsxAttributeQuickinfoTypesSameAsObjectLiteral.types b/tests/baselines/reference/tsxAttributeQuickinfoTypesSameAsObjectLiteral.types index 11f7cfac3c757..c5f13c94f3b5b 100644 --- a/tests/baselines/reference/tsxAttributeQuickinfoTypesSameAsObjectLiteral.types +++ b/tests/baselines/reference/tsxAttributeQuickinfoTypesSameAsObjectLiteral.types @@ -29,7 +29,7 @@ const Foo = (props: { foo: "A" | "B" | "C" }) => {props.foo}; >props.foo : "A" | "B" | "C" > : ^^^^^^^^^^^^^^^ >props : { foo: "A" | "B" | "C"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >foo : "A" | "B" | "C" > : ^^^^^^^^^^^^^^^ >span : any diff --git a/tests/baselines/reference/tsxAttributeResolution12.types b/tests/baselines/reference/tsxAttributeResolution12.types index 59290582179fa..360501fb1ec4e 100644 --- a/tests/baselines/reference/tsxAttributeResolution12.types +++ b/tests/baselines/reference/tsxAttributeResolution12.types @@ -30,7 +30,7 @@ declare class Component { setState(f: (prevState: S, props: P) => S, callback?: () => any): void; >setState : { (f: (prevState: S, props: P) => S, callback?: () => any): void; (state: S, callback?: () => any): void; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >f : (prevState: S, props: P) => S > : ^ ^^ ^^ ^^ ^^^^^ >prevState : S @@ -42,7 +42,7 @@ declare class Component { setState(state: S, callback?: () => any): void; >setState : { (f: (prevState: S, props: P) => S, callback?: () => any): void; (state: S, callback?: () => any): void; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ >state : S > : ^ >callback : () => any diff --git a/tests/baselines/reference/tsxAttributeResolution5.types b/tests/baselines/reference/tsxAttributeResolution5.types index 1ab6168c215fa..afe81350a91d3 100644 --- a/tests/baselines/reference/tsxAttributeResolution5.types +++ b/tests/baselines/reference/tsxAttributeResolution5.types @@ -27,7 +27,7 @@ interface Attribs2 { function make1 (obj: T) { >make1 : (obj: T) => JSX.Element -> : ^ ^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ >x : string > : ^^^^^^ >obj : T @@ -44,7 +44,7 @@ function make1 (obj: T) { function make2 (obj: T) { >make2 : (obj: T) => JSX.Element -> : ^ ^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ >x : number > : ^^^^^^ >obj : T @@ -61,7 +61,7 @@ function make2 (obj: T) { function make3 (obj: T) { >make3 : (obj: T) => JSX.Element -> : ^ ^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ >y : string > : ^^^^^^ >obj : T diff --git a/tests/baselines/reference/tsxCorrectlyParseLessThanComparison1.types b/tests/baselines/reference/tsxCorrectlyParseLessThanComparison1.types index eb05328fe8019..c2f4e13069a3a 100644 --- a/tests/baselines/reference/tsxCorrectlyParseLessThanComparison1.types +++ b/tests/baselines/reference/tsxCorrectlyParseLessThanComparison1.types @@ -51,11 +51,11 @@ export class ShortDetails extends React.Component<{ id: number }, {}> { >this.props.id : number > : ^^^^^^ >this.props : { id: number; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >this : this > : ^^^^ >props : { id: number; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >id : number > : ^^^^^^ >1 : 1 diff --git a/tests/baselines/reference/tsxDiscriminantPropertyInference.types b/tests/baselines/reference/tsxDiscriminantPropertyInference.types index d1e6b8aa13520..7814bfecce3dc 100644 --- a/tests/baselines/reference/tsxDiscriminantPropertyInference.types +++ b/tests/baselines/reference/tsxDiscriminantPropertyInference.types @@ -61,7 +61,7 @@ void ( parseInt(s)} />); > parseInt(s)} /> : JSX.Element > : ^^^^^^^^^^^ >Comp : (props: DiscriminatorTrue | DiscriminatorFalse) => JSX.Element -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >disc : true > : ^^^^ >cb : (s: string) => number @@ -73,7 +73,7 @@ void ( parseInt(s)} />); >parseInt(s) : number > : ^^^^^^ >parseInt : (string: string, radix?: number) => number -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >s : string > : ^^^^^^ @@ -86,7 +86,7 @@ void ( n.toFixed()} />); > n.toFixed()} /> : JSX.Element > : ^^^^^^^^^^^ >Comp : (props: DiscriminatorTrue | DiscriminatorFalse) => JSX.Element -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >disc : false > : ^^^^^ >false : false @@ -100,11 +100,11 @@ void ( n.toFixed()} />); >n.toFixed() : string > : ^^^^^^ >n.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >n : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ // simple inference when strict-null-checks are enabled void ( n.toFixed()} />); @@ -115,7 +115,7 @@ void ( n.toFixed()} />); > n.toFixed()} /> : JSX.Element > : ^^^^^^^^^^^ >Comp : (props: DiscriminatorTrue | DiscriminatorFalse) => JSX.Element -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >disc : undefined > : ^^^^^^^^^ >undefined : undefined @@ -129,11 +129,11 @@ void ( n.toFixed()} />); >n.toFixed() : string > : ^^^^^^ >n.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >n : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ // requires checking type information since discriminator is missing from object void ( n.toFixed()} />); @@ -144,7 +144,7 @@ void ( n.toFixed()} />); > n.toFixed()} /> : JSX.Element > : ^^^^^^^^^^^ >Comp : (props: DiscriminatorTrue | DiscriminatorFalse) => JSX.Element -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >cb : (n: number) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >n => n.toFixed() : (n: number) => string @@ -154,9 +154,9 @@ void ( n.toFixed()} />); >n.toFixed() : string > : ^^^^^^ >n.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >n : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/tsxElementResolution8.types b/tests/baselines/reference/tsxElementResolution8.types index 45f3d0f0b177f..f1b46bce5907a 100644 --- a/tests/baselines/reference/tsxElementResolution8.types +++ b/tests/baselines/reference/tsxElementResolution8.types @@ -28,7 +28,7 @@ function Fact(): any { return null; } > : JSX.Element > : ^^^^^^^^^^^ >Fact : () => any -> : ^^^^^^^^^ +> : ^^^^^^ // Error function Fnum(): number{ return 42; } @@ -41,7 +41,7 @@ function Fnum(): number{ return 42; } > : JSX.Element > : ^^^^^^^^^^^ >Fnum : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ interface Obj1 { new(): {}; diff --git a/tests/baselines/reference/tsxGenericArrowFunctionParsing.types b/tests/baselines/reference/tsxGenericArrowFunctionParsing.types index 4fbfd82b05e3d..2c58f4402e574 100644 --- a/tests/baselines/reference/tsxGenericArrowFunctionParsing.types +++ b/tests/baselines/reference/tsxGenericArrowFunctionParsing.types @@ -37,15 +37,15 @@ x1.isElement; // This is a generic function var x2 = () => {}; >x2 : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ >() => {} : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ x2(); >x2() : void > : ^^^^ >x2 : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ // This is a generic function var x3 = () => {}; diff --git a/tests/baselines/reference/tsxGenericAttributesType1.types b/tests/baselines/reference/tsxGenericAttributesType1.types index 6feb0588a30bb..fe8d3f0324dac 100644 --- a/tests/baselines/reference/tsxGenericAttributesType1.types +++ b/tests/baselines/reference/tsxGenericAttributesType1.types @@ -35,9 +35,9 @@ const decorator = function (Component: React.StatelessComponent): React.St const decorator2 = function (Component: React.StatelessComponent): React.StatelessComponent { >decorator2 : (Component: React.StatelessComponent) => React.StatelessComponent -> : ^ ^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >function (Component: React.StatelessComponent): React.StatelessComponent { return (props) => } : (Component: React.StatelessComponent) => React.StatelessComponent -> : ^ ^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : number > : ^^^^^^ >Component : React.StatelessComponent @@ -69,9 +69,9 @@ const decorator2 = function (Component: React.Stateless const decorator3 = function (Component: React.StatelessComponent): React.StatelessComponent { >decorator3 : (Component: React.StatelessComponent) => React.StatelessComponent -> : ^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^ >function (Component: React.StatelessComponent): React.StatelessComponent { return (props) => } : (Component: React.StatelessComponent) => React.StatelessComponent -> : ^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^ >x : number > : ^^^^^^ >x : number diff --git a/tests/baselines/reference/tsxGenericAttributesType2.types b/tests/baselines/reference/tsxGenericAttributesType2.types index 79c3775af01b7..7561217f00582 100644 --- a/tests/baselines/reference/tsxGenericAttributesType2.types +++ b/tests/baselines/reference/tsxGenericAttributesType2.types @@ -7,9 +7,9 @@ import React = require('react'); const decorator4 = function (Component: React.StatelessComponent): React.StatelessComponent { >decorator4 : (Component: React.StatelessComponent) => React.StatelessComponent -> : ^ ^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >function (Component: React.StatelessComponent): React.StatelessComponent { return (props) => } : (Component: React.StatelessComponent) => React.StatelessComponent -> : ^ ^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : number > : ^^^^^^ >Component : React.StatelessComponent diff --git a/tests/baselines/reference/tsxGenericAttributesType7.types b/tests/baselines/reference/tsxGenericAttributesType7.types index 8242a8daa67ac..2b3f07619b249 100644 --- a/tests/baselines/reference/tsxGenericAttributesType7.types +++ b/tests/baselines/reference/tsxGenericAttributesType7.types @@ -25,16 +25,16 @@ const decorator = function (props: U) { > : JSX.Element > : ^^^^^^^^^^^ >Component : (props: T) => JSX.Element -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >props : U > : ^ } const decorator1 = function (props: U) { >decorator1 : (props: U) => JSX.Element -> : ^ ^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ >function (props: U) { return ;} : (props: U) => JSX.Element -> : ^ ^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ >x : string > : ^^^^^^ >props : U @@ -44,7 +44,7 @@ const decorator1 = function (props: U) { > : JSX.Element > : ^^^^^^^^^^^ >Component : (props: T) => JSX.Element -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >props : U > : ^ >x : string diff --git a/tests/baselines/reference/tsxGenericAttributesType8.types b/tests/baselines/reference/tsxGenericAttributesType8.types index 7f3e0e4c6140e..5ac3eefd19be8 100644 --- a/tests/baselines/reference/tsxGenericAttributesType8.types +++ b/tests/baselines/reference/tsxGenericAttributesType8.types @@ -25,16 +25,16 @@ const decorator = function (props: U) { > : JSX.Element > : ^^^^^^^^^^^ >Component : (props: T) => JSX.Element -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >props : U > : ^ } const decorator1 = function (props: U) { >decorator1 : (props: U) => JSX.Element -> : ^ ^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ >function (props: U) { return ;} : (props: U) => JSX.Element -> : ^ ^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ >x : string > : ^^^^^^ >props : U @@ -44,7 +44,7 @@ const decorator1 = function (props: U) { > : JSX.Element > : ^^^^^^^^^^^ >Component : (props: T) => JSX.Element -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >props : U > : ^ } diff --git a/tests/baselines/reference/tsxInferenceShouldNotYieldAnyOnUnions.types b/tests/baselines/reference/tsxInferenceShouldNotYieldAnyOnUnions.types index 9e5b78804f8bb..a3bf6edc1db26 100644 --- a/tests/baselines/reference/tsxInferenceShouldNotYieldAnyOnUnions.types +++ b/tests/baselines/reference/tsxInferenceShouldNotYieldAnyOnUnions.types @@ -43,7 +43,7 @@ ShouldInferFromData({ data: "1" }); >ShouldInferFromData({ data: "1" }) : JSX.Element > : ^^^^^^^^^^^ >ShouldInferFromData : (props: Props) => JSX.Element -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ data: "1" } : { data: string; } > : ^^^^^^^^^^^^^^^^^ >data : string @@ -55,7 +55,7 @@ ShouldInferFromData({ data: "1", convert: n => "" + n }); >ShouldInferFromData({ data: "1", convert: n => "" + n }) : JSX.Element > : ^^^^^^^^^^^ >ShouldInferFromData : (props: Props) => JSX.Element -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ data: "1", convert: n => "" + n } : { data: string; convert: (n: string) => string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >data : string @@ -79,7 +79,7 @@ ShouldInferFromData({ data: 2, convert: n => "" + n }); >ShouldInferFromData({ data: 2, convert: n => "" + n }) : JSX.Element > : ^^^^^^^^^^^ >ShouldInferFromData : (props: Props) => JSX.Element -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ data: 2, convert: n => "" + n } : { data: number; convert: (n: number) => string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >data : number @@ -106,7 +106,7 @@ const f1 = ; > : JSX.Element > : ^^^^^^^^^^^ >ShouldInferFromData : (props: Props) => JSX.Element -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >data : string > : ^^^^^^ >"1" : "1" @@ -118,7 +118,7 @@ const f2 = "" + n} />; > "" + n} /> : JSX.Element > : ^^^^^^^^^^^ >ShouldInferFromData : (props: Props) => JSX.Element -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >data : string > : ^^^^^^ >"1" : "1" @@ -142,7 +142,7 @@ const f3 = "" + n} />; > "" + n} /> : JSX.Element > : ^^^^^^^^^^^ >ShouldInferFromData : (props: Props) => JSX.Element -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >data : number > : ^^^^^^ >2 : 2 diff --git a/tests/baselines/reference/tsxInvokeComponentType.types b/tests/baselines/reference/tsxInvokeComponentType.types index cd4de32fe7460..17efa7d6c9f68 100644 --- a/tests/baselines/reference/tsxInvokeComponentType.types +++ b/tests/baselines/reference/tsxInvokeComponentType.types @@ -26,7 +26,7 @@ const bad = ; > : JSX.Element > : ^^^^^^^^^^^ >Elem : React.ComponentType<{ someKey: string; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ const good = ; >good : JSX.Element @@ -34,7 +34,7 @@ const good = ; > : JSX.Element > : ^^^^^^^^^^^ >Elem : React.ComponentType<{ someKey: string; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >someKey : string > : ^^^^^^ @@ -49,8 +49,8 @@ const alsoOk = text; > : ^^^^^^^^^^^ >text : JSX.Element > : ^^^^^^^^^^^ ->Elem2 : React.ComponentType<{ opt?: number | undefined; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->Elem2 : React.ComponentType<{ opt?: number | undefined; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Elem2 : React.ComponentType<{ opt?: number; }> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ +>Elem2 : React.ComponentType<{ opt?: number; }> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ diff --git a/tests/baselines/reference/tsxReactEmitNesting.types b/tests/baselines/reference/tsxReactEmitNesting.types index e30a0f8ab16b1..3aca18ca9f9ef 100644 --- a/tests/baselines/reference/tsxReactEmitNesting.types +++ b/tests/baselines/reference/tsxReactEmitNesting.types @@ -191,7 +191,7 @@ let render = (ctrl, model) => > : ^^^^^^ {(!todo.editable) ? ->(!todo.editable) ? : null : any +>(!todo.editable) ? : null : error >(!todo.editable) : boolean > : ^^^^^^^ >!todo.editable : boolean diff --git a/tests/baselines/reference/tsxSpreadAttributesResolution11.types b/tests/baselines/reference/tsxSpreadAttributesResolution11.types index 489ca399e5481..45f80b3765f92 100644 --- a/tests/baselines/reference/tsxSpreadAttributesResolution11.types +++ b/tests/baselines/reference/tsxSpreadAttributesResolution11.types @@ -108,7 +108,7 @@ let x = >overwrite : string > : ^^^^^^ >obj1 : { x: 2; } -> : ^^^^^^^^^ +> : ^^^^^ ^^^ let x1 = >x1 : JSX.Element @@ -118,9 +118,9 @@ let x1 = >OverWriteAttr : typeof OverWriteAttr > : ^^^^^^^^^^^^^^^^^^^^ >obj1 : { x: 2; } -> : ^^^^^^^^^ +> : ^^^^^ ^^^ >obj3 : { y: true; overwrite: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^ ^^^ let x2 = >x2 : JSX.Element @@ -136,7 +136,7 @@ let x2 = >overwrite : string > : ^^^^^^ >obj1 : { x: 2; } -> : ^^^^^^^^^ +> : ^^^^^ ^^^ >{y: true} : { y: true; } > : ^^^^^^^^^^^^ >y : true @@ -154,7 +154,7 @@ let x3 = overwrite : string > : ^^^^^^ >obj1 : { x: 2; } -> : ^^^^^^^^^ +> : ^^^^^ ^^^ >x : 3 > : ^ >3 : 3 diff --git a/tests/baselines/reference/tsxSpreadAttributesResolution12.types b/tests/baselines/reference/tsxSpreadAttributesResolution12.types index f2de64a17cfce..f2417f01c7858 100644 --- a/tests/baselines/reference/tsxSpreadAttributesResolution12.types +++ b/tests/baselines/reference/tsxSpreadAttributesResolution12.types @@ -109,7 +109,7 @@ let x = >overwrite : string > : ^^^^^^ >obj1 : { x: 2; } -> : ^^^^^^^^^ +> : ^^^^^ ^^^ let x1 = >x1 : JSX.Element @@ -121,7 +121,7 @@ let x1 = >overwrite : string > : ^^^^^^ >obj1 : { x: 2; } -> : ^^^^^^^^^ +> : ^^^^^ ^^^ >x : 3 > : ^ >3 : 3 @@ -157,7 +157,7 @@ let x3 = >overwrite : string > : ^^^^^^ >obj1 : { x: 2; } -> : ^^^^^^^^^ +> : ^^^^^ ^^^ >{y: true} : { y: true; } > : ^^^^^^^^^^^^ >y : true diff --git a/tests/baselines/reference/tsxSpreadAttributesResolution17.types b/tests/baselines/reference/tsxSpreadAttributesResolution17.types index d0ba8e3b81632..da052869616f9 100644 --- a/tests/baselines/reference/tsxSpreadAttributesResolution17.types +++ b/tests/baselines/reference/tsxSpreadAttributesResolution17.types @@ -55,5 +55,5 @@ let unionedSpread = ; >Empty : typeof Empty > : ^^^^^^^^^^^^ >obj : { a: number | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/tsxSpreadAttributesResolution7.types b/tests/baselines/reference/tsxSpreadAttributesResolution7.types index fa9fd1788b2e8..5e4bd26cbfa62 100644 --- a/tests/baselines/reference/tsxSpreadAttributesResolution7.types +++ b/tests/baselines/reference/tsxSpreadAttributesResolution7.types @@ -70,7 +70,7 @@ let y1 = >TextComponent : typeof TextComponent > : ^^^^^^^^^^^^^^^^^^^^ >textPropsFalse : { editable: false; } -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ const textPropsTrue: TextProps = { >textPropsTrue : TextProps @@ -100,5 +100,5 @@ let y2 = >TextComponent : typeof TextComponent > : ^^^^^^^^^^^^^^^^^^^^ >textPropsTrue : { editable: true; onEdit: (newText: string) => void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ diff --git a/tests/baselines/reference/tsxSpreadChildren.types b/tests/baselines/reference/tsxSpreadChildren.types index e90483bc29980..f04e33dc960b7 100644 --- a/tests/baselines/reference/tsxSpreadChildren.types +++ b/tests/baselines/reference/tsxSpreadChildren.types @@ -46,19 +46,19 @@ function Todo(prop: { key: number, todo: string }) { >prop.key.toString() : string > : ^^^^^^ >prop.key.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >prop.key : number > : ^^^^^^ >prop : { key: number; todo: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >key : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >prop.todo : string > : ^^^^^^ >prop : { key: number; todo: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >todo : string > : ^^^^^^ >div : any @@ -80,11 +80,11 @@ function TodoList({ todos }: TodoListProps) { >todos.map(todo => ) : JSX.Element[] > : ^^^^^^^^^^^^^ >todos.map : (callbackfn: (value: TodoProp, index: number, array: TodoProp[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >todos : TodoProp[] > : ^^^^^^^^^^ >map : (callbackfn: (value: TodoProp, index: number, array: TodoProp[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >todo => : (todo: TodoProp) => JSX.Element > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >todo : TodoProp diff --git a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es2015).types b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es2015).types index 5c6bbabaee17e..1894e4bfe0c53 100644 --- a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es2015).types +++ b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es2015).types @@ -47,19 +47,19 @@ function Todo(prop: { key: number, todo: string }) { >prop.key.toString() : string > : ^^^^^^ >prop.key.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >prop.key : number > : ^^^^^^ >prop : { key: number; todo: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >key : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >prop.todo : string > : ^^^^^^ >prop : { key: number; todo: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >todo : string > : ^^^^^^ >div : any diff --git a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es5).types b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es5).types index 5c6bbabaee17e..1894e4bfe0c53 100644 --- a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es5).types +++ b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react,target=es5).types @@ -47,19 +47,19 @@ function Todo(prop: { key: number, todo: string }) { >prop.key.toString() : string > : ^^^^^^ >prop.key.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >prop.key : number > : ^^^^^^ >prop : { key: number; todo: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >key : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >prop.todo : string > : ^^^^^^ >prop : { key: number; todo: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >todo : string > : ^^^^^^ >div : any diff --git a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es2015).types b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es2015).types index 1108b94beec1b..1937d46eb930b 100644 --- a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es2015).types +++ b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es2015).types @@ -47,19 +47,19 @@ function Todo(prop: { key: number, todo: string }) { >prop.key.toString() : string > : ^^^^^^ >prop.key.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >prop.key : number > : ^^^^^^ >prop : { key: number; todo: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >key : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >prop.todo : string > : ^^^^^^ >prop : { key: number; todo: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >todo : string > : ^^^^^^ >div : any diff --git a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es5).types b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es5).types index 1108b94beec1b..1937d46eb930b 100644 --- a/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es5).types +++ b/tests/baselines/reference/tsxSpreadChildrenInvalidType(jsx=react-jsx,target=es5).types @@ -47,19 +47,19 @@ function Todo(prop: { key: number, todo: string }) { >prop.key.toString() : string > : ^^^^^^ >prop.key.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >prop.key : number > : ^^^^^^ >prop : { key: number; todo: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >key : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >prop.todo : string > : ^^^^^^ >prop : { key: number; todo: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^ >todo : string > : ^^^^^^ >div : any diff --git a/tests/baselines/reference/tsxSpreadDoesNotReportExcessProps.types b/tests/baselines/reference/tsxSpreadDoesNotReportExcessProps.types index c5c0d0e6390f4..9f48ebed6e661 100644 --- a/tests/baselines/reference/tsxSpreadDoesNotReportExcessProps.types +++ b/tests/baselines/reference/tsxSpreadDoesNotReportExcessProps.types @@ -32,11 +32,11 @@ class MyComponent extends React.Component<{dataSource: number[], onClick?: any}, >div : any > : ^^^ >this.props : Readonly<{ children?: React.ReactNode; }> & Readonly<{ dataSource: number[]; onClick?: any; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^ >this : this > : ^^^^ >props : Readonly<{ children?: React.ReactNode; }> & Readonly<{ dataSource: number[]; onClick?: any; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^ >className : string > : ^^^^^^ >div : any diff --git a/tests/baselines/reference/tsxStatelessFunctionComponentOverload1.types b/tests/baselines/reference/tsxStatelessFunctionComponentOverload1.types index 24f9c9f5f169a..5dbf2a767fc03 100644 --- a/tests/baselines/reference/tsxStatelessFunctionComponentOverload1.types +++ b/tests/baselines/reference/tsxStatelessFunctionComponentOverload1.types @@ -7,7 +7,7 @@ import React = require('react') declare function OneThing(k: {yxx: string}): JSX.Element; >OneThing : { (k: { yxx: string; }): JSX.Element; (k: { yxx1: string; children: string; }): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; (l: { yy: number; yy1: string; yy2: boolean; }): JSX.Element; (l1: { data: string; "data-prop": boolean; }): JSX.Element; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >k : { yxx: string; } > : ^^^^^^^ ^^^ >yxx : string @@ -17,7 +17,7 @@ declare function OneThing(k: {yxx: string}): JSX.Element; declare function OneThing(k: {yxx1: string, children: string}): JSX.Element; >OneThing : { (k: { yxx: string; }): JSX.Element; (k: { yxx1: string; children: string; }): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; (l: { yy: number; yy1: string; yy2: boolean; }): JSX.Element; (l1: { data: string; "data-prop": boolean; }): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >k : { yxx1: string; children: string; } > : ^^^^^^^^ ^^^^^^^^^^^^ ^^^ >yxx1 : string @@ -29,7 +29,7 @@ declare function OneThing(k: {yxx1: string, children: string}): JSX.Element; declare function OneThing(l: {yy: number, yy1: string}): JSX.Element; >OneThing : { (k: { yxx: string; }): JSX.Element; (k: { yxx1: string; children: string; }): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; (l: { yy: number; yy1: string; yy2: boolean; }): JSX.Element; (l1: { data: string; "data-prop": boolean; }): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >l : { yy: number; yy1: string; } > : ^^^^^^ ^^^^^^^ ^^^ >yy : number @@ -41,7 +41,7 @@ declare function OneThing(l: {yy: number, yy1: string}): JSX.Element; declare function OneThing(l: {yy: number, yy1: string, yy2: boolean}): JSX.Element; >OneThing : { (k: { yxx: string; }): JSX.Element; (k: { yxx1: string; children: string; }): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; (l: { yy: number; yy1: string; yy2: boolean; }): JSX.Element; (l1: { data: string; "data-prop": boolean; }): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >l : { yy: number; yy1: string; yy2: boolean; } > : ^^^^^^ ^^^^^^^ ^^^^^^^ ^^^ >yy : number @@ -55,7 +55,7 @@ declare function OneThing(l: {yy: number, yy1: string, yy2: boolean}): JSX.Eleme declare function OneThing(l1: {data: string, "data-prop": boolean}): JSX.Element; >OneThing : { (k: { yxx: string; }): JSX.Element; (k: { yxx1: string; children: string; }): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; (l: { yy: number; yy1: string; yy2: boolean; }): JSX.Element; (l1: { data: string; "data-prop": boolean; }): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >l1 : { data: string; "data-prop": boolean; } > : ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^ >data : string @@ -72,7 +72,7 @@ const c1 = > : JSX.Element > : ^^^^^^^^^^^ >OneThing : { (k: { yxx: string; }): JSX.Element; (k: { yxx1: string; children: string; }): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; (l: { yy: number; yy1: string; yy2: boolean; }): JSX.Element; (l1: { data: string; "data-prop": boolean; }): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >yxx : string > : ^^^^^^ @@ -82,7 +82,7 @@ const c2 = > : JSX.Element > : ^^^^^^^^^^^ >OneThing : { (k: { yxx: string; }): JSX.Element; (k: { yxx1: string; children: string; }): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; (l: { yy: number; yy1: string; yy2: boolean; }): JSX.Element; (l1: { data: string; "data-prop": boolean; }): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >yy : number > : ^^^^^^ >100 : 100 @@ -96,7 +96,7 @@ const c3 = > : JSX.Element > : ^^^^^^^^^^^ >OneThing : { (k: { yxx: string; }): JSX.Element; (k: { yxx1: string; children: string; }): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; (l: { yy: number; yy1: string; yy2: boolean; }): JSX.Element; (l1: { data: string; "data-prop": boolean; }): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >yxx : string > : ^^^^^^ >ignore-prop : true @@ -108,7 +108,7 @@ const c4 = > : JSX.Element > : ^^^^^^^^^^^ >OneThing : { (k: { yxx: string; }): JSX.Element; (k: { yxx1: string; children: string; }): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; (l: { yy: number; yy1: string; yy2: boolean; }): JSX.Element; (l1: { data: string; "data-prop": boolean; }): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >data : string > : ^^^^^^ >data-prop : true @@ -120,16 +120,16 @@ const c5 = Hello >Hello : JSX.Element > : ^^^^^^^^^^^ >OneThing : { (k: { yxx: string; }): JSX.Element; (k: { yxx1: string; children: string; }): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; (l: { yy: number; yy1: string; yy2: boolean; }): JSX.Element; (l1: { data: string; "data-prop": boolean; }): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >yxx1 : string > : ^^^^^^ >OneThing : { (k: { yxx: string; }): JSX.Element; (k: { yxx1: string; children: string; }): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; (l: { yy: number; yy1: string; yy2: boolean; }): JSX.Element; (l1: { data: string; "data-prop": boolean; }): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ declare function TestingOneThing({y1: string}): JSX.Element; >TestingOneThing : { ({ y1: string }: { y1: any; }): JSX.Element; (j: { "extra-data": string; yy?: string; }): JSX.Element; (n: { yy: number; direction?: number; }): JSX.Element; (n: { yy: string; name: string; }): JSX.Element; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >y1 : any > : ^^^ >string : any @@ -139,7 +139,7 @@ declare function TestingOneThing({y1: string}): JSX.Element; declare function TestingOneThing(j: {"extra-data": string, yy?: string}): JSX.Element; >TestingOneThing : { ({ y1: string }: { y1: any; }): JSX.Element; (j: { "extra-data": string; yy?: string; }): JSX.Element; (n: { yy: number; direction?: number; }): JSX.Element; (n: { yy: string; name: string; }): JSX.Element; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >j : { "extra-data": string; yy?: string; } > : ^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >"extra-data" : string @@ -151,7 +151,7 @@ declare function TestingOneThing(j: {"extra-data": string, yy?: string}): JSX.El declare function TestingOneThing(n: {yy: number, direction?: number}): JSX.Element; >TestingOneThing : { ({ y1: string }: { y1: any; }): JSX.Element; (j: { "extra-data": string; yy?: string; }): JSX.Element; (n: { yy: number; direction?: number; }): JSX.Element; (n: { yy: string; name: string; }): JSX.Element; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : { yy: number; direction?: number; } > : ^^^^^^ ^^^^^^^^^^^^^^ ^^^ >yy : number @@ -163,7 +163,7 @@ declare function TestingOneThing(n: {yy: number, direction?: number}): JSX.Eleme declare function TestingOneThing(n: {yy: string, name: string}): JSX.Element; >TestingOneThing : { ({ y1: string }: { y1: any; }): JSX.Element; (j: { "extra-data": string; yy?: string; }): JSX.Element; (n: { yy: number; direction?: number; }): JSX.Element; (n: { yy: string; name: string; }): JSX.Element; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : { yy: string; name: string; } > : ^^^^^^ ^^^^^^^^ ^^^ >yy : string @@ -180,7 +180,7 @@ const d1 = ; > : JSX.Element > : ^^^^^^^^^^^ >TestingOneThing : { ({ y1: string }: { y1: any; }): JSX.Element; (j: { "extra-data": string; yy?: string; }): JSX.Element; (n: { yy: number; direction?: number; }): JSX.Element; (n: { yy: string; name: string; }): JSX.Element; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >y1 : true > : ^^^^ >extra-data : true @@ -192,7 +192,7 @@ const d2 = ; > : JSX.Element > : ^^^^^^^^^^^ >TestingOneThing : { ({ y1: string }: { y1: any; }): JSX.Element; (j: { "extra-data": string; yy?: string; }): JSX.Element; (n: { yy: number; direction?: number; }): JSX.Element; (n: { yy: string; name: string; }): JSX.Element; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >extra-data : string > : ^^^^^^ @@ -202,7 +202,7 @@ const d3 = ; > : JSX.Element > : ^^^^^^^^^^^ >TestingOneThing : { ({ y1: string }: { y1: any; }): JSX.Element; (j: { "extra-data": string; yy?: string; }): JSX.Element; (n: { yy: number; direction?: number; }): JSX.Element; (n: { yy: string; name: string; }): JSX.Element; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >extra-data : string > : ^^^^^^ >yy : string @@ -214,7 +214,7 @@ const d4 = ; > : JSX.Element > : ^^^^^^^^^^^ >TestingOneThing : { ({ y1: string }: { y1: any; }): JSX.Element; (j: { "extra-data": string; yy?: string; }): JSX.Element; (n: { yy: number; direction?: number; }): JSX.Element; (n: { yy: string; name: string; }): JSX.Element; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >extra-data : string > : ^^^^^^ >yy : number @@ -232,7 +232,7 @@ const d5 = ; > : JSX.Element > : ^^^^^^^^^^^ >TestingOneThing : { ({ y1: string }: { y1: any; }): JSX.Element; (j: { "extra-data": string; yy?: string; }): JSX.Element; (n: { yy: number; direction?: number; }): JSX.Element; (n: { yy: string; name: string; }): JSX.Element; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >extra-data : string > : ^^^^^^ >yy : string @@ -243,7 +243,7 @@ const d5 = ; declare function TestingOptional(a: {y1?: string, y2?: number}): JSX.Element; >TestingOptional : { (a: { y1?: string; y2?: number; }): JSX.Element; (a: { y1: boolean; y2?: number; y3: boolean; }): JSX.Element; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : { y1?: string; y2?: number; } > : ^^^^^^^ ^^^^^^^ ^^^ >y1 : string @@ -255,7 +255,7 @@ declare function TestingOptional(a: {y1?: string, y2?: number}): JSX.Element; declare function TestingOptional(a: {y1: boolean, y2?: number, y3: boolean}): JSX.Element; >TestingOptional : { (a: { y1?: string; y2?: number; }): JSX.Element; (a: { y1: boolean; y2?: number; y3: boolean; }): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : { y1: boolean; y2?: number; y3: boolean; } > : ^^^^^^ ^^^^^^^ ^^^^^^ ^^^ >y1 : boolean @@ -274,7 +274,7 @@ const e1 = > : JSX.Element > : ^^^^^^^^^^^ >TestingOptional : { (a: { y1?: string; y2?: number; }): JSX.Element; (a: { y1: boolean; y2?: number; y3: boolean; }): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ const e3 = >e3 : JSX.Element @@ -282,7 +282,7 @@ const e3 = > : JSX.Element > : ^^^^^^^^^^^ >TestingOptional : { (a: { y1?: string; y2?: number; }): JSX.Element; (a: { y1: boolean; y2?: number; y3: boolean; }): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >y1 : string > : ^^^^^^ @@ -292,7 +292,7 @@ const e4 = > : JSX.Element > : ^^^^^^^^^^^ >TestingOptional : { (a: { y1?: string; y2?: number; }): JSX.Element; (a: { y1: boolean; y2?: number; y3: boolean; }): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >y1 : string > : ^^^^^^ >y2 : number @@ -306,7 +306,7 @@ const e5 = > : JSX.Element > : ^^^^^^^^^^^ >TestingOptional : { (a: { y1?: string; y2?: number; }): JSX.Element; (a: { y1: boolean; y2?: number; y3: boolean; }): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >y1 : true > : ^^^^ >y3 : true @@ -318,7 +318,7 @@ const e6 = > : JSX.Element > : ^^^^^^^^^^^ >TestingOptional : { (a: { y1?: string; y2?: number; }): JSX.Element; (a: { y1: boolean; y2?: number; y3: boolean; }): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >y1 : true > : ^^^^ >y3 : true @@ -334,7 +334,7 @@ const e2 = > : JSX.Element > : ^^^^^^^^^^^ >TestingOptional : { (a: { y1?: string; y2?: number; }): JSX.Element; (a: { y1: boolean; y2?: number; y3: boolean; }): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >y1 : true > : ^^^^ >y3 : true diff --git a/tests/baselines/reference/tsxStatelessFunctionComponentOverload2.types b/tests/baselines/reference/tsxStatelessFunctionComponentOverload2.types index 6ee872b1bbe04..f8022330bd223 100644 --- a/tests/baselines/reference/tsxStatelessFunctionComponentOverload2.types +++ b/tests/baselines/reference/tsxStatelessFunctionComponentOverload2.types @@ -7,13 +7,13 @@ import React = require('react') declare function OneThing(): JSX.Element; >OneThing : { (): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; } -> : ^^^^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >JSX : any > : ^^^ declare function OneThing(l: {yy: number, yy1: string}): JSX.Element; >OneThing : { (): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >l : { yy: number; yy1: string; } > : ^^^^^^ ^^^^^^^ ^^^ >yy : number @@ -84,7 +84,7 @@ const c1 = > : JSX.Element > : ^^^^^^^^^^^ >OneThing : { (): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ const c2 = >c2 : JSX.Element @@ -92,7 +92,7 @@ const c2 = > : JSX.Element > : ^^^^^^^^^^^ >OneThing : { (): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >obj : { yy: number; yy1: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -102,7 +102,7 @@ const c3 = > : JSX.Element > : ^^^^^^^^^^^ >OneThing : { (): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >{} : {} > : ^^ @@ -112,7 +112,7 @@ const c4 = > : JSX.Element > : ^^^^^^^^^^^ >OneThing : { (): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >obj1 : { yy: boolean; } > : ^^^^^^^^^^^^^^^^ >obj : { yy: number; yy1: string; } @@ -124,7 +124,7 @@ const c5 = > : JSX.Element > : ^^^^^^^^^^^ >OneThing : { (): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >obj1 : { yy: boolean; } > : ^^^^^^^^^^^^^^^^ >yy : number @@ -144,7 +144,7 @@ const c6 = > : JSX.Element > : ^^^^^^^^^^^ >OneThing : { (): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >obj1 : { yy: boolean; } > : ^^^^^^^^^^^^^^^^ >{yy: 10000, yy1: "true"} : { yy: number; yy1: string; } @@ -164,7 +164,7 @@ const c7 = ; // No error. should pick s > : JSX.Element > : ^^^^^^^^^^^ >OneThing : { (): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >defaultObj : any >yy : true > : ^^^^ @@ -177,7 +177,7 @@ const c8 = > : JSX.Element > : ^^^^^^^^^^^ >OneThing : { (): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >ignore-prop : number > : ^^^^^^ >100 : 100 @@ -189,7 +189,7 @@ const c9 = ; > : JSX.Element > : ^^^^^^^^^^^ >OneThing : { (): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >{ "ignore-prop":200 } : { "ignore-prop": number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >"ignore-prop" : number @@ -203,7 +203,7 @@ const c10 = ; > : JSX.Element > : ^^^^^^^^^^^ >OneThing : { (): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >obj2 : { yy: number; "ignore-prop": string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >yy1 : string diff --git a/tests/baselines/reference/tsxStatelessFunctionComponentOverload3.types b/tests/baselines/reference/tsxStatelessFunctionComponentOverload3.types index d784987712ef2..2c18fe7f97bef 100644 --- a/tests/baselines/reference/tsxStatelessFunctionComponentOverload3.types +++ b/tests/baselines/reference/tsxStatelessFunctionComponentOverload3.types @@ -7,13 +7,13 @@ interface Context { } declare function ZeroThingOrTwoThing(): JSX.Element; >ZeroThingOrTwoThing : { (): JSX.Element; (l: { yy: number; yy1: string; }, context: Context): JSX.Element; } -> : ^^^^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >JSX : any > : ^^^ declare function ZeroThingOrTwoThing(l: {yy: number, yy1: string}, context: Context): JSX.Element; >ZeroThingOrTwoThing : { (): JSX.Element; (l: { yy: number; yy1: string; }, context: Context): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >l : { yy: number; yy1: string; } > : ^^^^^^ ^^^^^^^ ^^^ >yy : number @@ -35,7 +35,7 @@ const two1 = ; > : JSX.Element > : ^^^^^^^^^^^ >ZeroThingOrTwoThing : { (): JSX.Element; (l: { yy: number; yy1: string; }, context: Context): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ const two2 = ; >two2 : JSX.Element @@ -43,7 +43,7 @@ const two2 = ; > : JSX.Element > : ^^^^^^^^^^^ >ZeroThingOrTwoThing : { (): JSX.Element; (l: { yy: number; yy1: string; }, context: Context): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >yy : number > : ^^^^^^ >100 : 100 @@ -57,7 +57,7 @@ const two3 = ; // it is just any so we allow i > : JSX.Element > : ^^^^^^^^^^^ >ZeroThingOrTwoThing : { (): JSX.Element; (l: { yy: number; yy1: string; }, context: Context): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >obj2 : any const two4 = ; // it is just any so we allow it to pass through @@ -66,7 +66,7 @@ const two4 = ; // it is just any so > : JSX.Element > : ^^^^^^^^^^^ >ZeroThingOrTwoThing : { (): JSX.Element; (l: { yy: number; yy1: string; }, context: Context): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >yy : number > : ^^^^^^ >1000 : 1000 @@ -79,7 +79,7 @@ const two5 = ; // it is just any so > : JSX.Element > : ^^^^^^^^^^^ >ZeroThingOrTwoThing : { (): JSX.Element; (l: { yy: number; yy1: string; }, context: Context): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >obj2 : any >yy : number > : ^^^^^^ @@ -88,7 +88,7 @@ const two5 = ; // it is just any so declare function ThreeThing(l: {y1: string}): JSX.Element; >ThreeThing : { (l: { y1: string; }): JSX.Element; (l: { y2: string; }): JSX.Element; (l: { yy: number; yy1: string; }, context: Context, updater: any): JSX.Element; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >l : { y1: string; } > : ^^^^^^ ^^^ >y1 : string @@ -98,7 +98,7 @@ declare function ThreeThing(l: {y1: string}): JSX.Element; declare function ThreeThing(l: {y2: string}): JSX.Element; >ThreeThing : { (l: { y1: string; }): JSX.Element; (l: { y2: string; }): JSX.Element; (l: { yy: number; yy1: string; }, context: Context, updater: any): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >l : { y2: string; } > : ^^^^^^ ^^^ >y2 : string @@ -108,7 +108,7 @@ declare function ThreeThing(l: {y2: string}): JSX.Element; declare function ThreeThing(l: {yy: number, yy1: string}, context: Context, updater: any): JSX.Element; >ThreeThing : { (l: { y1: string; }): JSX.Element; (l: { y2: string; }): JSX.Element; (l: { yy: number; yy1: string; }, context: Context, updater: any): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >l : { yy: number; yy1: string; } > : ^^^^^^ ^^^^^^^ ^^^ >yy : number @@ -128,7 +128,7 @@ const three1 = ; > : JSX.Element > : ^^^^^^^^^^^ >ThreeThing : { (l: { y1: string; }): JSX.Element; (l: { y2: string; }): JSX.Element; (l: { yy: number; yy1: string; }, context: Context, updater: any): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >yy : number > : ^^^^^^ >99 : 99 @@ -142,7 +142,7 @@ const three2 = ; > : JSX.Element > : ^^^^^^^^^^^ >ThreeThing : { (l: { y1: string; }): JSX.Element; (l: { y2: string; }): JSX.Element; (l: { yy: number; yy1: string; }, context: Context, updater: any): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >y2 : string > : ^^^^^^ @@ -152,7 +152,7 @@ const three3 = ; // it is just any so we allow > : JSX.Element > : ^^^^^^^^^^^ >ThreeThing : { (l: { y1: string; }): JSX.Element; (l: { y2: string; }): JSX.Element; (l: { yy: number; yy1: string; }, context: Context, updater: any): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >obj2 : any >y2 : number > : ^^^^^^ diff --git a/tests/baselines/reference/tsxStatelessFunctionComponentOverload4.types b/tests/baselines/reference/tsxStatelessFunctionComponentOverload4.types index 627f26f9ff971..54c8b20e97769 100644 --- a/tests/baselines/reference/tsxStatelessFunctionComponentOverload4.types +++ b/tests/baselines/reference/tsxStatelessFunctionComponentOverload4.types @@ -7,13 +7,13 @@ import React = require('react') declare function OneThing(): JSX.Element; >OneThing : { (): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; } -> : ^^^^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >JSX : any > : ^^^ declare function OneThing(l: {yy: number, yy1: string}): JSX.Element; >OneThing : { (): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >l : { yy: number; yy1: string; } > : ^^^^^^ ^^^^^^^ ^^^ >yy : number @@ -52,7 +52,7 @@ const c0 = ; // extra property; > : JSX.Element > : ^^^^^^^^^^^ >OneThing : { (): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >extraProp : true > : ^^^^ @@ -62,7 +62,7 @@ const c1 = ; // missing property; > : JSX.Element > : ^^^^^^^^^^^ >OneThing : { (): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >yy : number > : ^^^^^^ >10 : 10 @@ -74,7 +74,7 @@ const c2 = ; // type incompatible; > : JSX.Element > : ^^^^^^^^^^^ >OneThing : { (): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >obj : { yy: number; yy1: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >yy1 : true @@ -86,7 +86,7 @@ const c3 = ; // This is OK bec > : JSX.Element > : ^^^^^^^^^^^ >OneThing : { (): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >obj : { yy: number; yy1: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{extra: "extra attr"} : { extra: string; } @@ -102,7 +102,7 @@ const c4 = ; // extra property; > : JSX.Element > : ^^^^^^^^^^^ >OneThing : { (): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >obj : { yy: number; yy1: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >y1 : number @@ -116,7 +116,7 @@ const c5 = ; // type incompatible; > : JSX.Element > : ^^^^^^^^^^^ >OneThing : { (): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >obj : { yy: number; yy1: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{yy: true} : { yy: boolean; } @@ -132,7 +132,7 @@ const c6 = ; // Should error a > : JSX.Element > : ^^^^^^^^^^^ >OneThing : { (): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >obj2 : any > : ^^^ >{extra: "extra attr"} : { extra: string; } @@ -148,7 +148,7 @@ const c7 = ; // Should error as there is extra attribu > : JSX.Element > : ^^^^^^^^^^^ >OneThing : { (): JSX.Element; (l: { yy: number; yy1: string; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >obj2 : any > : ^^^ >yy : true @@ -156,7 +156,7 @@ const c7 = ; // Should error as there is extra attribu declare function TestingOneThing(j: {"extra-data": string}): JSX.Element; >TestingOneThing : { (j: { "extra-data": string; }): JSX.Element; (n: { yy: string; direction?: number; }): JSX.Element; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >j : { "extra-data": string; } > : ^^^^^^^^^^^^^^^^ ^^^ >"extra-data" : string @@ -166,7 +166,7 @@ declare function TestingOneThing(j: {"extra-data": string}): JSX.Element; declare function TestingOneThing(n: {yy: string, direction?: number}): JSX.Element; >TestingOneThing : { (j: { "extra-data": string; }): JSX.Element; (n: { yy: string; direction?: number; }): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : { yy: string; direction?: number; } > : ^^^^^^ ^^^^^^^^^^^^^^ ^^^ >yy : string @@ -183,7 +183,7 @@ const d1 = > : JSX.Element > : ^^^^^^^^^^^ >TestingOneThing : { (j: { "extra-data": string; }): JSX.Element; (n: { yy: string; direction?: number; }): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >extra-data : true > : ^^^^ @@ -193,7 +193,7 @@ const d2 = > : JSX.Element > : ^^^^^^^^^^^ >TestingOneThing : { (j: { "extra-data": string; }): JSX.Element; (n: { yy: string; direction?: number; }): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >yy : string > : ^^^^^^ >direction : string @@ -201,7 +201,7 @@ const d2 = declare function TestingOptional(a: {y1?: string, y2?: number}): JSX.Element; >TestingOptional : { (a: { y1?: string; y2?: number; }): JSX.Element; (a: { y1?: string; y2?: number; children: JSX.Element; }): JSX.Element; (a: { y1: boolean; y2?: number; y3: boolean; }): JSX.Element; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : { y1?: string; y2?: number; } > : ^^^^^^^ ^^^^^^^ ^^^ >y1 : string @@ -213,7 +213,7 @@ declare function TestingOptional(a: {y1?: string, y2?: number}): JSX.Element; declare function TestingOptional(a: {y1?: string, y2?: number, children: JSX.Element}): JSX.Element; >TestingOptional : { (a: { y1?: string; y2?: number; }): JSX.Element; (a: { y1?: string; y2?: number; children: JSX.Element; }): JSX.Element; (a: { y1: boolean; y2?: number; y3: boolean; }): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : { y1?: string; y2?: number; children: JSX.Element; } > : ^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^ ^^^ >y1 : string @@ -229,7 +229,7 @@ declare function TestingOptional(a: {y1?: string, y2?: number, children: JSX.Ele declare function TestingOptional(a: {y1: boolean, y2?: number, y3: boolean}): JSX.Element; >TestingOptional : { (a: { y1?: string; y2?: number; }): JSX.Element; (a: { y1?: string; y2?: number; children: JSX.Element; }): JSX.Element; (a: { y1: boolean; y2?: number; y3: boolean; }): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : { y1: boolean; y2?: number; y3: boolean; } > : ^^^^^^ ^^^^^^^ ^^^^^^ ^^^ >y1 : boolean @@ -248,7 +248,7 @@ const e1 = > : JSX.Element > : ^^^^^^^^^^^ >TestingOptional : { (a: { y1?: string; y2?: number; }): JSX.Element; (a: { y1?: string; y2?: number; children: JSX.Element; }): JSX.Element; (a: { y1: boolean; y2?: number; y3: boolean; }): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >y1 : true > : ^^^^ >y3 : string @@ -260,7 +260,7 @@ const e2 = > : JSX.Element > : ^^^^^^^^^^^ >TestingOptional : { (a: { y1?: string; y2?: number; }): JSX.Element; (a: { y1?: string; y2?: number; children: JSX.Element; }): JSX.Element; (a: { y1: boolean; y2?: number; y3: boolean; }): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >y1 : string > : ^^^^^^ >y2 : number @@ -276,7 +276,7 @@ const e3 = > : JSX.Element > : ^^^^^^^^^^^ >TestingOptional : { (a: { y1?: string; y2?: number; }): JSX.Element; (a: { y1?: string; y2?: number; children: JSX.Element; }): JSX.Element; (a: { y1: boolean; y2?: number; y3: boolean; }): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >y1 : string > : ^^^^^^ >y2 : number @@ -292,7 +292,7 @@ const e4 = Hi >Hi : JSX.Element > : ^^^^^^^^^^^ >TestingOptional : { (a: { y1?: string; y2?: number; }): JSX.Element; (a: { y1?: string; y2?: number; children: JSX.Element; }): JSX.Element; (a: { y1: boolean; y2?: number; y3: boolean; }): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >y1 : string > : ^^^^^^ >y2 : number @@ -300,5 +300,5 @@ const e4 = Hi >1000 : 1000 > : ^^^^ >TestingOptional : { (a: { y1?: string; y2?: number; }): JSX.Element; (a: { y1?: string; y2?: number; children: JSX.Element; }): JSX.Element; (a: { y1: boolean; y2?: number; y3: boolean; }): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ diff --git a/tests/baselines/reference/tsxStatelessFunctionComponentOverload5.types b/tests/baselines/reference/tsxStatelessFunctionComponentOverload5.types index 0bf60b4b7db1a..a44c769489372 100644 --- a/tests/baselines/reference/tsxStatelessFunctionComponentOverload5.types +++ b/tests/baselines/reference/tsxStatelessFunctionComponentOverload5.types @@ -87,7 +87,7 @@ let obj3: any; export function MainButton(buttonProps: ButtonProps): JSX.Element; >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >buttonProps : ButtonProps > : ^^^^^^^^^^^ >JSX : any @@ -95,7 +95,7 @@ export function MainButton(buttonProps: ButtonProps): JSX.Element; export function MainButton(linkProps: LinkProps): JSX.Element; >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >linkProps : LinkProps > : ^^^^^^^^^ >JSX : any @@ -103,7 +103,7 @@ export function MainButton(linkProps: LinkProps): JSX.Element; export function MainButton(hyphenProps: HyphenProps): JSX.Element; >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >hyphenProps : HyphenProps > : ^^^^^^^^^^^ >JSX : any @@ -111,7 +111,7 @@ export function MainButton(hyphenProps: HyphenProps): JSX.Element; export function MainButton(props: ButtonProps | LinkProps | HyphenProps): JSX.Element { >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >props : ButtonProps | LinkProps | HyphenProps > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >JSX : any @@ -166,7 +166,7 @@ const b0 = {}}>GO; // ex >{}}>GO : JSX.Element > : ^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >to : string > : ^^^^^^ >onClick : (e: React.MouseEvent) => void @@ -176,7 +176,7 @@ const b0 = {}}>GO; // ex >e : React.MouseEvent > : ^^^^^^^^^^^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ const b1 = {}} {...obj0}>Hello world; // extra property; >b1 : JSX.Element @@ -184,7 +184,7 @@ const b1 = {}} {...obj0}>Hello world {}} {...obj0}>Hello world : JSX.Element > : ^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >onClick : (e: any) => void > : ^ ^^ ^^^^^^^^^ >(e: any)=> {} : (e: any) => void @@ -194,7 +194,7 @@ const b1 = {}} {...obj0}>Hello worldobj0 : { to: string; } > : ^^^^^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ const b2 = ; // extra property >b2 : JSX.Element @@ -202,7 +202,7 @@ const b2 = ; // extra property > : JSX.Element > : ^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >{to: "10000"} : { to: string; } > : ^^^^^^^^^^^^^^^ >to : string @@ -218,7 +218,7 @@ const b3 = {}}} />; // extr > {}}} /> : JSX.Element > : ^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >{to: "10000"} : { to: string; } > : ^^^^^^^^^^^^^^^ >to : string @@ -240,7 +240,7 @@ const b4 = ; // Should error because Incorrect type; > : JSX.Element > : ^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >obj3 : any > : ^^^ >to : true @@ -252,7 +252,7 @@ const b5 = ; // Spread ret > : JSX.Element > : ^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >{ onClick(e: any) { } } : { onClick(e: any): void; } > : ^^^^^^^^^^ ^^ ^^^^^^^^^^ >onClick : (e: any) => void @@ -268,7 +268,7 @@ const b6 = ; // incorrec > : JSX.Element > : ^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >{ onClick(e: any){} } : { onClick(e: any): void; } > : ^^^^^^^^^^ ^^ ^^^^^^^^^^ >onClick : (e: any) => void @@ -286,7 +286,7 @@ const b7 = ; > : JSX.Element > : ^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >{ onClick(e: any){} } : { onClick(e: any): void; } > : ^^^^^^^^^^ ^^ ^^^^^^^^^^ >onClick : (e: any) => void @@ -304,7 +304,7 @@ const b8 = ; // incorrect type for specified hyphanat > : JSX.Element > : ^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >data-format : true > : ^^^^ diff --git a/tests/baselines/reference/tsxStatelessFunctionComponentOverload6.types b/tests/baselines/reference/tsxStatelessFunctionComponentOverload6.types index 986809e4c74cb..9bad96ee1daee 100644 --- a/tests/baselines/reference/tsxStatelessFunctionComponentOverload6.types +++ b/tests/baselines/reference/tsxStatelessFunctionComponentOverload6.types @@ -71,7 +71,7 @@ let obj2 = { export function MainButton(buttonProps: ButtonProps): JSX.Element; >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >buttonProps : ButtonProps > : ^^^^^^^^^^^ >JSX : any @@ -79,7 +79,7 @@ export function MainButton(buttonProps: ButtonProps): JSX.Element; export function MainButton(linkProps: LinkProps): JSX.Element; >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >linkProps : LinkProps > : ^^^^^^^^^ >JSX : any @@ -87,7 +87,7 @@ export function MainButton(linkProps: LinkProps): JSX.Element; export function MainButton(hyphenProps: HyphenProps): JSX.Element; >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >hyphenProps : HyphenProps > : ^^^^^^^^^^^ >JSX : any @@ -95,7 +95,7 @@ export function MainButton(hyphenProps: HyphenProps): JSX.Element; export function MainButton(props: ButtonProps | LinkProps | HyphenProps): JSX.Element { >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >props : ButtonProps | LinkProps | HyphenProps > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >JSX : any @@ -146,11 +146,11 @@ const b0 = GO; >GO : JSX.Element > : ^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >to : string > : ^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ const b1 = {}}>Hello world; >b1 : JSX.Element @@ -158,7 +158,7 @@ const b1 = {}}>Hello world; > {}}>Hello world : JSX.Element > : ^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >onClick : (e: React.MouseEvent) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >(e) => {} : (e: React.MouseEvent) => void @@ -166,7 +166,7 @@ const b1 = {}}>Hello world; >e : React.MouseEvent > : ^^^^^^^^^^^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ const b2 = ; >b2 : JSX.Element @@ -174,7 +174,7 @@ const b2 = ; > : JSX.Element > : ^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >obj : { children: string; to: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -184,7 +184,7 @@ const b3 = ; > : JSX.Element > : ^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >{to: 10000} : { to: number; } > : ^^^^^^^^^^^^^^^ >to : number @@ -200,7 +200,7 @@ const b4 = ; // any; just pick the first overload > : JSX.Element > : ^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >obj1 : any const b5 = ; // should pick the second overload @@ -209,7 +209,7 @@ const b5 = ; // should pick the seco > : JSX.Element > : ^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >obj1 : any >to : string > : ^^^^^^ @@ -220,7 +220,7 @@ const b6 = ; > : JSX.Element > : ^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >obj2 : { onClick: () => void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^ @@ -230,7 +230,7 @@ const b7 = { console.log("hi") }}} />; > { console.log("hi") }}} /> : JSX.Element > : ^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >{onClick: () => { console.log("hi") }} : { onClick: () => void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^ >onClick : () => void @@ -240,11 +240,11 @@ const b7 = { console.log("hi") }}} />; >console.log("hi") : void > : ^^^^ >console.log : (message?: any, ...optionalParams: any[]) => void -> : ^ ^^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (message?: any, ...optionalParams: any[]) => void -> : ^ ^^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^^^^ >"hi" : "hi" > : ^^^^ @@ -254,7 +254,7 @@ const b8 = ; // OK; method declaration get re > : JSX.Element > : ^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >{onClick() {}} : { onClick(): void; } > : ^^^^^^^^^^^^^^^^^^^^ >onClick : () => void @@ -266,13 +266,13 @@ const b9 = GO; >GO : JSX.Element > : ^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >to : string > : ^^^^^^ >extra-prop : true > : ^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ const b10 = ; >b10 : JSX.Element @@ -280,13 +280,13 @@ const b10 = ; > : JSX.Element > : ^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >to : string > : ^^^^^^ >children : string > : ^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ const b11 = {}} className="hello" data-format>Hello world; >b11 : JSX.Element @@ -294,7 +294,7 @@ const b11 = {}} className="hello" data-format>Hello > {}} className="hello" data-format>Hello world : JSX.Element > : ^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >onClick : (e: React.MouseEvent) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >(e) => {} : (e: React.MouseEvent) => void @@ -306,7 +306,7 @@ const b11 = {}} className="hello" data-format>Hello >data-format : true > : ^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ const b12 = >b12 : JSX.Element @@ -314,7 +314,7 @@ const b12 = > : JSX.Element > : ^^^^^^^^^^^ >MainButton : { (buttonProps: ButtonProps): JSX.Element; (linkProps: LinkProps): JSX.Element; (hyphenProps: HyphenProps): JSX.Element; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >data-format : string > : ^^^^^^ diff --git a/tests/baselines/reference/tsxStatelessFunctionComponentWithDefaultTypeParameter2.types b/tests/baselines/reference/tsxStatelessFunctionComponentWithDefaultTypeParameter2.types index d66801d928e56..ef82ca9b63018 100644 --- a/tests/baselines/reference/tsxStatelessFunctionComponentWithDefaultTypeParameter2.types +++ b/tests/baselines/reference/tsxStatelessFunctionComponentWithDefaultTypeParameter2.types @@ -13,7 +13,7 @@ interface MyComponentProp { function MyComponent1(attr: T) { >MyComponent1 : (attr: T) => JSX.Element -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ >attr : T > : ^ @@ -34,7 +34,7 @@ let i1 = ; > : JSX.Element > : ^^^^^^^^^^^ >MyComponent1 : (attr: T) => JSX.Element -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ >values : number > : ^^^^^^ >5 : 5 diff --git a/tests/baselines/reference/tsxStatelessFunctionComponents1.types b/tests/baselines/reference/tsxStatelessFunctionComponents1.types index 52fda65af8cee..971bc1646b497 100644 --- a/tests/baselines/reference/tsxStatelessFunctionComponents1.types +++ b/tests/baselines/reference/tsxStatelessFunctionComponents1.types @@ -28,7 +28,7 @@ function Greet(x: {name: string}) { >div : any > : ^^^ >x : { name: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >div : any > : ^^^ } diff --git a/tests/baselines/reference/tsxStatelessFunctionComponents2.types b/tests/baselines/reference/tsxStatelessFunctionComponents2.types index 74525a3ade761..b2a4e39632b5d 100644 --- a/tests/baselines/reference/tsxStatelessFunctionComponents2.types +++ b/tests/baselines/reference/tsxStatelessFunctionComponents2.types @@ -19,7 +19,7 @@ function Greet(x: {name?: string}) { >div : any > : ^^^ >x : { name?: string; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >div : any > : ^^^ } @@ -102,7 +102,7 @@ let d = x.greeting.substr(10)} />; >x.greeting.substr(10) : string > : ^^^^^^ >x.greeting.substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >x.greeting : string > : ^^^^^^ >x : BigGreeter @@ -110,7 +110,7 @@ let d = x.greeting.substr(10)} />; >greeting : string > : ^^^^^^ >substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >10 : 10 > : ^^ diff --git a/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments1.types b/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments1.types index dc601ec1a8c97..3afdade77b833 100644 --- a/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments1.types +++ b/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments1.types @@ -32,7 +32,7 @@ function Baz(key1: T, value: U) { > : JSX.Element > : ^^^^^^^^^^^ >ComponentWithTwoAttributes : (l: { key1: K; value: V; }) => JSX.Element -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >key1 : T > : ^ >key1 : T @@ -48,7 +48,7 @@ function Baz(key1: T, value: U) { > : JSX.Element > : ^^^^^^^^^^^ >ComponentWithTwoAttributes : (l: { key1: K; value: V; }) => JSX.Element -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >{key1, value: value} : { key1: T; value: U; } > : ^^^^^^^^^^^^^^^^^^^^^^ >key1 : T @@ -88,11 +88,11 @@ function createLink(func: (a: number)=>void) { > : JSX.Element > : ^^^^^^^^^^^ >Link : (l: { func: (arg: U) => void; }) => JSX.Element -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >func : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >func : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ } function createLink1(func: (a: number)=>boolean) { @@ -109,11 +109,11 @@ function createLink1(func: (a: number)=>boolean) { > : JSX.Element > : ^^^^^^^^^^^ >Link : (l: { func: (arg: U) => void; }) => JSX.Element -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >func : (a: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >func : (a: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ } interface InferParamProp { @@ -143,7 +143,7 @@ let i = { }} > { }} /> : JSX.Element > : ^^^^^^^^^^^ >InferParamComponent : (attr: InferParamProp) => JSX.Element -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >values : number[] > : ^^^^^^^^ >[1, 2, 3, 4] : number[] diff --git a/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments2.types b/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments2.types index 77b12ade15f13..feda5b1af3d83 100644 --- a/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments2.types +++ b/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments2.types @@ -30,7 +30,7 @@ declare function ComponentSpecific2(l: {prop: U}): JSX.Element; // Error function Bar(arg: T) { >Bar : (arg: T) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >prop : number > : ^^^^^^ >arg : T @@ -42,7 +42,7 @@ function Bar(arg: T) { > : JSX.Element > : ^^^^^^^^^^^ >ComponentSpecific1 : (l: { prop: U; "ignore-prop": string; }) => JSX.Element -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >arg : T > : ^ >ignore-prop : number @@ -64,7 +64,7 @@ function Baz(arg: T) { > : JSX.Element > : ^^^^^^^^^^^ >ComponentSpecific1 : (l: { prop: U; "ignore-prop": string; }) => JSX.Element -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >arg : T > : ^ } @@ -98,11 +98,11 @@ function createLink(func: (a: number, b: string)=>void) { > : JSX.Element > : ^^^^^^^^^^^ >Link : (l: { func: (arg: U) => void; }) => JSX.Element -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >func : (a: number, b: string) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >func : (a: number, b: string) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ } interface InferParamProp { @@ -132,7 +132,7 @@ let i = { }} /> : JSX.Element > : ^^^^^^^^^^^ >InferParamComponent : (attr: InferParamProp) => JSX.Element -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >values : number[] > : ^^^^^^^^ >[1, 2, 3, 4] : number[] diff --git a/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments3.types b/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments3.types index 27e30c374eb0d..0d6d20462651a 100644 --- a/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments3.types +++ b/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments3.types @@ -6,14 +6,14 @@ import React = require('react') > : ^^^^^^^^^^^^ declare function OverloadComponent(): JSX.Element; ->OverloadComponent : { (): JSX.Element; (attr: { b: U_1; a?: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U_2; a: T; }): JSX.Element; } -> : ^^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +>OverloadComponent : { (): JSX.Element; (attr: { b: U_1; a?: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U_1; a: T; }): JSX.Element; } +> : ^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >JSX : any > : ^^^ declare function OverloadComponent(attr: {b: U, a?: string, "ignore-prop": boolean}): JSX.Element; ->OverloadComponent : { (): JSX.Element; (attr: { b: U; a?: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U_2; a: T; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +>OverloadComponent : { (): JSX.Element; (attr: { b: U; a?: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U_1; a: T; }): JSX.Element; } +> : ^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >attr : { b: U; a?: string; "ignore-prop": boolean; } > : ^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ >b : U @@ -26,8 +26,8 @@ declare function OverloadComponent(attr: {b: U, a?: string, "ignore-prop": bo > : ^^^ declare function OverloadComponent(attr: {b: U, a: T}): JSX.Element; ->OverloadComponent : { (): JSX.Element; (attr: { b: U_2; a?: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U; a: T; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +>OverloadComponent : { (): JSX.Element; (attr: { b: U_1; a?: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U; a: T; }): JSX.Element; } +> : ^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >attr : { b: U; a: T; } > : ^^^^^ ^^^^^ ^^^ >b : U @@ -40,7 +40,7 @@ declare function OverloadComponent(attr: {b: U, a: T}): JSX.Element; // OK function Baz(arg1: T, arg2: U) { >Baz : (arg1: T, arg2: U) => void -> : ^ ^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ ^^^^^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >b : number > : ^^^^^^ >a : boolean @@ -57,8 +57,8 @@ function Baz(arg1: T, a > : ^^^^^^^^^^^ > : JSX.Element > : ^^^^^^^^^^^ ->OverloadComponent : { (): JSX.Element; (attr: { b: U_2; a?: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U_3; a: T_1; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +>OverloadComponent : { (): JSX.Element; (attr: { b: U_1; a?: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U_1; a: T_1; }): JSX.Element; } +> : ^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >arg1 : T > : ^ >a : string @@ -71,8 +71,8 @@ function Baz(arg1: T, a > : ^^^^^^^^^^^ > : JSX.Element > : ^^^^^^^^^^^ ->OverloadComponent : { (): JSX.Element; (attr: { b: U_2; a?: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U_3; a: T_1; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +>OverloadComponent : { (): JSX.Element; (attr: { b: U_1; a?: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U_1; a: T_1; }): JSX.Element; } +> : ^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >arg2 : U > : ^ >ignore-pro : string @@ -83,8 +83,8 @@ function Baz(arg1: T, a > : ^^^^^^^^^^^ > : JSX.Element > : ^^^^^^^^^^^ ->OverloadComponent : { (): JSX.Element; (attr: { b: U_2; a?: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U_3; a: T_1; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +>OverloadComponent : { (): JSX.Element; (attr: { b: U_1; a?: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U_1; a: T_1; }): JSX.Element; } +> : ^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >arg2 : U > : ^ @@ -93,8 +93,8 @@ function Baz(arg1: T, a > : ^^^^^^^^^^^ > : JSX.Element > : ^^^^^^^^^^^ ->OverloadComponent : { (): JSX.Element; (attr: { b: U_2; a?: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U_3; a: T_1; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +>OverloadComponent : { (): JSX.Element; (attr: { b: U_1; a?: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U_1; a: T_1; }): JSX.Element; } +> : ^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >arg1 : T > : ^ >ignore-prop : true @@ -105,16 +105,16 @@ function Baz(arg1: T, a > : ^^^^^^^^^^^ > : JSX.Element > : ^^^^^^^^^^^ ->OverloadComponent : { (): JSX.Element; (attr: { b: U_2; a?: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U_3; a: T_1; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +>OverloadComponent : { (): JSX.Element; (attr: { b: U_1; a?: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U_1; a: T_1; }): JSX.Element; } +> : ^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ let a5 = ; >a5 : JSX.Element > : ^^^^^^^^^^^ > : JSX.Element > : ^^^^^^^^^^^ ->OverloadComponent : { (): JSX.Element; (attr: { b: U_2; a?: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U_3; a: T_1; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +>OverloadComponent : { (): JSX.Element; (attr: { b: U_1; a?: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U_1; a: T_1; }): JSX.Element; } +> : ^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >arg2 : U > : ^ >ignore-prop : string @@ -127,8 +127,8 @@ function Baz(arg1: T, a > : ^^^^^^^^^^^ > : JSX.Element > : ^^^^^^^^^^^ ->OverloadComponent : { (): JSX.Element; (attr: { b: U_2; a?: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U_3; a: T_1; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +>OverloadComponent : { (): JSX.Element; (attr: { b: U_1; a?: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U_1; a: T_1; }): JSX.Element; } +> : ^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >arg2 : U > : ^ >ignore-prop : true @@ -139,7 +139,7 @@ function Baz(arg1: T, a declare function Link(l: {func: (arg: U)=>void}): JSX.Element; >Link : { (l: { func: (arg: U) => void; }): JSX.Element; (l: { func: (arg1: U_1, arg2: string) => void; }): JSX.Element; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >l : { func: (arg: U) => void; } > : ^^^^^^^^ ^^^ >func : (arg: U) => void @@ -151,7 +151,7 @@ declare function Link(l: {func: (arg: U)=>void}): JSX.Element; declare function Link(l: {func: (arg1:U, arg2: string)=>void}): JSX.Element; >Link : { (l: { func: (arg: U_1) => void; }): JSX.Element; (l: { func: (arg1: U, arg2: string) => void; }): JSX.Element; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >l : { func: (arg1: U, arg2: string) => void; } > : ^^^^^^^^ ^^^ >func : (arg1: U, arg2: string) => void @@ -176,20 +176,20 @@ function createLink(func: (a: number)=>void) { > : ^^^^^^^^^^^ > : JSX.Element > : ^^^^^^^^^^^ ->Link : { (l: { func: (arg: U) => void; }): JSX.Element; (l: { func: (arg1: U_1, arg2: string) => void; }): JSX.Element; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +>Link : { (l: { func: (arg: U) => void; }): JSX.Element; (l: { func: (arg1: U, arg2: string) => void; }): JSX.Element; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >func : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >func : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ let o1 = {}} />; >o1 : JSX.Element > : ^^^^^^^^^^^ >{}} /> : JSX.Element > : ^^^^^^^^^^^ ->Link : { (l: { func: (arg: U) => void; }): JSX.Element; (l: { func: (arg1: U_1, arg2: string) => void; }): JSX.Element; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +>Link : { (l: { func: (arg: U) => void; }): JSX.Element; (l: { func: (arg1: U, arg2: string) => void; }): JSX.Element; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >func : (a: number, b: string) => void > : ^ ^^ ^^ ^^ ^^^^^^^^^ >(a:number, b:string)=>{} : (a: number, b: string) => void diff --git a/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments4.types b/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments4.types index 89fe59ebcbcab..8334d2a17692b 100644 --- a/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments4.types +++ b/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments4.types @@ -6,14 +6,14 @@ import React = require('react') > : ^^^^^^^^^^^^ declare function OverloadComponent(): JSX.Element; ->OverloadComponent : { (): JSX.Element; (attr: { b: U_1; a: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U_2; a: T; }): JSX.Element; } -> : ^^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +>OverloadComponent : { (): JSX.Element; (attr: { b: U_1; a: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U_1; a: T; }): JSX.Element; } +> : ^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >JSX : any > : ^^^ declare function OverloadComponent(attr: {b: U, a: string, "ignore-prop": boolean}): JSX.Element; ->OverloadComponent : { (): JSX.Element; (attr: { b: U; a: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U_2; a: T; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +>OverloadComponent : { (): JSX.Element; (attr: { b: U; a: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U_1; a: T; }): JSX.Element; } +> : ^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >attr : { b: U; a: string; "ignore-prop": boolean; } > : ^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ >b : U @@ -26,8 +26,8 @@ declare function OverloadComponent(attr: {b: U, a: string, "ignore-prop": boo > : ^^^ declare function OverloadComponent(attr: {b: U, a: T}): JSX.Element; ->OverloadComponent : { (): JSX.Element; (attr: { b: U_2; a: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U; a: T; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +>OverloadComponent : { (): JSX.Element; (attr: { b: U_1; a: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U; a: T; }): JSX.Element; } +> : ^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >attr : { b: U; a: T; } > : ^^^^^ ^^^^^ ^^^ >b : U @@ -40,7 +40,7 @@ declare function OverloadComponent(attr: {b: U, a: T}): JSX.Element; // Error function Baz(arg1: T, arg2: U) { >Baz : (arg1: T, arg2: U) => void -> : ^ ^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ ^^^^^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >b : number > : ^^^^^^ >a : boolean @@ -57,8 +57,8 @@ function Baz(arg1: T, a > : ^^^^^^^^^^^ > : JSX.Element > : ^^^^^^^^^^^ ->OverloadComponent : { (): JSX.Element; (attr: { b: U_2; a: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U_3; a: T_1; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +>OverloadComponent : { (): JSX.Element; (attr: { b: U_1; a: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U_1; a: T_1; }): JSX.Element; } +> : ^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ >arg1.b : number @@ -73,8 +73,8 @@ function Baz(arg1: T, a > : ^^^^^^^^^^^ > : JSX.Element > : ^^^^^^^^^^^ ->OverloadComponent : { (): JSX.Element; (attr: { b: U_2; a: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U_3; a: T_1; }): JSX.Element; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +>OverloadComponent : { (): JSX.Element; (attr: { b: U_1; a: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U_1; a: T_1; }): JSX.Element; } +> : ^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >arg1 : T > : ^ >ignore-prop : true diff --git a/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments5.types b/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments5.types index 46fe6a281e129..4ff0ac71dd001 100644 --- a/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments5.types +++ b/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments5.types @@ -15,7 +15,7 @@ declare function Component(l: U): JSX.Element; function createComponent(arg: T) { >createComponent : (arg: T) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >prop : number > : ^^^^^^ >arg : T @@ -27,7 +27,7 @@ function createComponent(arg: T) { > : JSX.Element > : ^^^^^^^^^^^ >Component : (l: U) => JSX.Element -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >arg : T > : ^ @@ -37,7 +37,7 @@ function createComponent(arg: T) { > : JSX.Element > : ^^^^^^^^^^^ >Component : (l: U) => JSX.Element -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >arg : T > : ^ >prop1 : true @@ -68,7 +68,7 @@ declare function ComponentSpecific1(l: { prop: U, "ignore-prop": number }): J function Bar(arg: T) { >Bar : (arg: T) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >prop : number > : ^^^^^^ >arg : T @@ -80,7 +80,7 @@ function Bar(arg: T) { > : JSX.Element > : ^^^^^^^^^^^ >ComponentSpecific : (l: { prop: U; }) => JSX.Element -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >arg : T > : ^ >ignore-prop : string @@ -92,7 +92,7 @@ function Bar(arg: T) { > : JSX.Element > : ^^^^^^^^^^^ >ComponentSpecific1 : (l: { prop: U; "ignore-prop": number; }) => JSX.Element -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >arg : T > : ^ >ignore-prop : number @@ -106,7 +106,7 @@ function Bar(arg: T) { > : JSX.Element > : ^^^^^^^^^^^ >ComponentSpecific : (l: { prop: U; }) => JSX.Element -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >arg : T > : ^ >prop : string @@ -118,7 +118,7 @@ function Bar(arg: T) { > : JSX.Element > : ^^^^^^^^^^^ >ComponentSpecific : (l: { prop: U; }) => JSX.Element -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >arg : T > : ^ >prop1 : string diff --git a/tests/baselines/reference/tsxUnionMemberChecksFilterDataProps.types b/tests/baselines/reference/tsxUnionMemberChecksFilterDataProps.types index 9cacb7281cf10..2bd0f0990b58c 100644 --- a/tests/baselines/reference/tsxUnionMemberChecksFilterDataProps.types +++ b/tests/baselines/reference/tsxUnionMemberChecksFilterDataProps.types @@ -43,8 +43,8 @@ const RootNotHappy = () => (); > : ^^^^^^^^^^^ > : JSX.Element > : ^^^^^^^^^^^ ->NotHappy : (props: ({ fixed?: boolean; } | { value?: number; })) => React.ReactElement -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>NotHappy : (props: ({ fixed?: boolean; } | { value?: number; })) => ReactElement +> : ^ ^^ ^^^^^ >data-testid : string > : ^^^^^^ @@ -57,8 +57,8 @@ const RootHappy = () => (); > : ^^^^^^^^^^^ > : JSX.Element > : ^^^^^^^^^^^ ->Happy : (props: { fixed?: boolean; value?: number; }) => React.ReactElement -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Happy : (props: { fixed?: boolean; value?: number; }) => ReactElement +> : ^ ^^ ^^^^^ >data-testid : string > : ^^^^^^ diff --git a/tests/baselines/reference/tsxUnionSpread.types b/tests/baselines/reference/tsxUnionSpread.types index 80fe8fd24e0fc..1b43b947f59c2 100644 --- a/tests/baselines/reference/tsxUnionSpread.types +++ b/tests/baselines/reference/tsxUnionSpread.types @@ -61,13 +61,13 @@ var props:AnimalInfo = getProps(); >getProps() : AnimalInfo > : ^^^^^^^^^^ >getProps : () => AnimalInfo -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^ var component = >component : error > : error >AnimalComponent : (info: AnimalInfo) => JSX.Element -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >props : AnimalInfo > : ^^^^^^^^^^ @@ -89,7 +89,7 @@ var component2 = >component2 : error > : error >AnimalComponent : (info: AnimalInfo) => JSX.Element -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >props2 : CatInfo > : ^^^^^^^ diff --git a/tests/baselines/reference/tupleTypeInference.types b/tests/baselines/reference/tupleTypeInference.types index dbbea94169118..a779a148f4686 100644 --- a/tests/baselines/reference/tupleTypeInference.types +++ b/tests/baselines/reference/tupleTypeInference.types @@ -7,20 +7,20 @@ declare var $q: IQService; interface IQService { all(x: [IPromise, IPromise, IPromise]): IPromise<[T1, T2, T3]>; ->all : { (x: [IPromise, IPromise, IPromise]): IPromise<[T1, T2, T3]>; (x: [IPromise, IPromise]): IPromise<[T1_1, T2_1]>; (x: [IPromise]): IPromise<[T1_2]>; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +>all : { (x: [IPromise, IPromise, IPromise]): IPromise<[T1, T2, T3]>; (x: [IPromise, IPromise]): IPromise<[T1_1, T2_1]>; (x: [IPromise]): IPromise<[T1_1]>; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >x : [IPromise, IPromise, IPromise] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ all(x: [IPromise, IPromise]): IPromise<[T1, T2]>; ->all : { (x: [IPromise, IPromise, IPromise]): IPromise<[T1_1, T2_1, T3]>; (x: [IPromise, IPromise]): IPromise<[T1, T2]>; (x: [IPromise]): IPromise<[T1_2]>; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +>all : { (x: [IPromise, IPromise, IPromise]): IPromise<[T1_1, T2_1, T3]>; (x: [IPromise, IPromise]): IPromise<[T1, T2]>; (x: [IPromise]): IPromise<[T1_1]>; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >x : [IPromise, IPromise] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ all(x: [IPromise]): IPromise<[T1]>; ->all : { (x: [IPromise, IPromise, IPromise]): IPromise<[T1_1, T2, T3]>; (x: [IPromise, IPromise]): IPromise<[T1_2, T2_1]>; (x: [IPromise]): IPromise<[T1]>; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ +>all : { (x: [IPromise, IPromise, IPromise]): IPromise<[T1_1, T2, T3]>; (x: [IPromise, IPromise]): IPromise<[T1_1, T2]>; (x: [IPromise]): IPromise<[T1]>; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >x : [IPromise] > : ^^^^^^^^^^^^^^ @@ -47,30 +47,30 @@ var a = $q.all([$q.when(), $q.when()]); > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >$q.all([$q.when(), $q.when()]) : IPromise<[string, number]> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->$q.all : { (x: [IPromise, IPromise, IPromise]): IPromise<[T1, T2, T3]>; (x: [IPromise, IPromise]): IPromise<[T1_1, T2_1]>; (x: [IPromise]): IPromise<[T1_2]>; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +>$q.all : { (x: [IPromise, IPromise, IPromise]): IPromise<[T1, T2, T3]>; (x: [IPromise, IPromise]): IPromise<[T1, T2]>; (x: [IPromise]): IPromise<[T1]>; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >$q : IQService > : ^^^^^^^^^ ->all : { (x: [IPromise, IPromise, IPromise]): IPromise<[T1, T2, T3]>; (x: [IPromise, IPromise]): IPromise<[T1_1, T2_1]>; (x: [IPromise]): IPromise<[T1_2]>; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +>all : { (x: [IPromise, IPromise, IPromise]): IPromise<[T1, T2, T3]>; (x: [IPromise, IPromise]): IPromise<[T1, T2]>; (x: [IPromise]): IPromise<[T1]>; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >[$q.when(), $q.when()] : [IPromise, IPromise] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >$q.when() : IPromise > : ^^^^^^^^^^^^^^^^ >$q.when : (t?: T) => IPromise -> : ^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >$q : IQService > : ^^^^^^^^^ >when : (t?: T) => IPromise -> : ^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >$q.when() : IPromise > : ^^^^^^^^^^^^^^^^ >$q.when : (t?: T) => IPromise -> : ^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >$q : IQService > : ^^^^^^^^^ >when : (t?: T) => IPromise -> : ^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ // Explicit different types var b = $q.all([$q.when(), $q.when()]); @@ -78,30 +78,30 @@ var b = $q.all([$q.when(), $q.when()]); > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >$q.all([$q.when(), $q.when()]) : IPromise<[string, number]> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->$q.all : { (x: [IPromise, IPromise, IPromise]): IPromise<[T1, T2, T3]>; (x: [IPromise, IPromise]): IPromise<[T1_1, T2_1]>; (x: [IPromise]): IPromise<[T1_2]>; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +>$q.all : { (x: [IPromise, IPromise, IPromise]): IPromise<[T1, T2, T3]>; (x: [IPromise, IPromise]): IPromise<[T1, T2]>; (x: [IPromise]): IPromise<[T1]>; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >$q : IQService > : ^^^^^^^^^ ->all : { (x: [IPromise, IPromise, IPromise]): IPromise<[T1, T2, T3]>; (x: [IPromise, IPromise]): IPromise<[T1_1, T2_1]>; (x: [IPromise]): IPromise<[T1_2]>; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +>all : { (x: [IPromise, IPromise, IPromise]): IPromise<[T1, T2, T3]>; (x: [IPromise, IPromise]): IPromise<[T1, T2]>; (x: [IPromise]): IPromise<[T1]>; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >[$q.when(), $q.when()] : [IPromise, IPromise] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >$q.when() : IPromise > : ^^^^^^^^^^^^^^^^ >$q.when : (t?: T) => IPromise -> : ^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >$q : IQService > : ^^^^^^^^^ >when : (t?: T) => IPromise -> : ^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >$q.when() : IPromise > : ^^^^^^^^^^^^^^^^ >$q.when : (t?: T) => IPromise -> : ^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >$q : IQService > : ^^^^^^^^^ >when : (t?: T) => IPromise -> : ^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ // Implicit identical types var c = $q.all([$q.when(), $q.when()]); @@ -109,28 +109,28 @@ var c = $q.all([$q.when(), $q.when()]); > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >$q.all([$q.when(), $q.when()]) : IPromise<[string, string]> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->$q.all : { (x: [IPromise, IPromise, IPromise]): IPromise<[T1, T2, T3]>; (x: [IPromise, IPromise]): IPromise<[T1_1, T2_1]>; (x: [IPromise]): IPromise<[T1_2]>; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +>$q.all : { (x: [IPromise, IPromise, IPromise]): IPromise<[T1, T2, T3]>; (x: [IPromise, IPromise]): IPromise<[T1, T2]>; (x: [IPromise]): IPromise<[T1]>; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >$q : IQService > : ^^^^^^^^^ ->all : { (x: [IPromise, IPromise, IPromise]): IPromise<[T1, T2, T3]>; (x: [IPromise, IPromise]): IPromise<[T1_1, T2_1]>; (x: [IPromise]): IPromise<[T1_2]>; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +>all : { (x: [IPromise, IPromise, IPromise]): IPromise<[T1, T2, T3]>; (x: [IPromise, IPromise]): IPromise<[T1, T2]>; (x: [IPromise]): IPromise<[T1]>; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >[$q.when(), $q.when()] : [IPromise, IPromise] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >$q.when() : IPromise > : ^^^^^^^^^^^^^^^^ >$q.when : (t?: T) => IPromise -> : ^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >$q : IQService > : ^^^^^^^^^ >when : (t?: T) => IPromise -> : ^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >$q.when() : IPromise > : ^^^^^^^^^^^^^^^^ >$q.when : (t?: T) => IPromise -> : ^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >$q : IQService > : ^^^^^^^^^ >when : (t?: T) => IPromise -> : ^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/tupleTypeInference2.types b/tests/baselines/reference/tupleTypeInference2.types index 2ab54cf121cb1..c473953ef0329 100644 --- a/tests/baselines/reference/tupleTypeInference2.types +++ b/tests/baselines/reference/tupleTypeInference2.types @@ -17,7 +17,7 @@ f([undefined, ''] as [never, string]); // T: never >f([undefined, ''] as [never, string]) : never > : ^^^^^ >f : (x: A) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >[undefined, ''] as [never, string] : [never, string] > : ^^^^^^^^^^^^^^^ >[undefined, ''] : [undefined, string] @@ -31,7 +31,7 @@ f([undefined, ''] as [void, string]); // T: void >f([undefined, ''] as [void, string]) : void > : ^^^^ >f : (x: A) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >[undefined, ''] as [void, string] : [void, string] > : ^^^^^^^^^^^^^^ >[undefined, ''] : [undefined, string] @@ -57,7 +57,7 @@ g([[]] as [void[]]); // U: {} >g([[]] as [void[]]) : unknown > : ^^^^^^^ >g : (f: B) => U -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >[[]] as [void[]] : [void[]] > : ^^^^^^^^ >[[]] : [never[]] @@ -79,7 +79,7 @@ h([[]] as [void[]]); // U: {} >h([[]] as [void[]]) : unknown > : ^^^^^^^ >h : (f: C) => U -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >[[]] as [void[]] : [void[]] > : ^^^^^^^^ >[[]] : [never[]] @@ -103,7 +103,7 @@ h2([[]] as [never[]]); // T: never >h2([[]] as [never[]]) : never > : ^^^^^ >h2 : (f: C2) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >[[]] as [never[]] : [never[]] > : ^^^^^^^^^ >[[]] : [never[]] @@ -115,7 +115,7 @@ h2([[]] as [void[]]); // T: void >h2([[]] as [void[]]) : void > : ^^^^ >h2 : (f: C2) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >[[]] as [void[]] : [void[]] > : ^^^^^^^^ >[[]] : [never[]] diff --git a/tests/baselines/reference/tupleTypes.types b/tests/baselines/reference/tupleTypes.types index 130a2d6292897..51f39e12cc9d1 100644 --- a/tests/baselines/reference/tupleTypes.types +++ b/tests/baselines/reference/tupleTypes.types @@ -155,7 +155,7 @@ var ff1 = ff("hello", ["foo", x => x.length]); >ff("hello", ["foo", x => x.length]) : number > : ^^^^^^ >ff : (a: T, b: [T, (x: T) => U]) => U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ >["foo", x => x.length] : [string, (x: string) => number] @@ -200,7 +200,7 @@ var tt = tuple2(1, "string"); >tuple2(1, "string") : [number, string] > : ^^^^^^^^^^^^^^^^ >tuple2 : (item0: T0, item1: T1) => [T0, T1] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >"string" : "string" @@ -256,7 +256,7 @@ tt = tuple2(1, undefined); >tuple2(1, undefined) : [number, any] > : ^^^^^^^^^^^^^ >tuple2 : (item0: T0, item1: T1) => [T0, T1] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >undefined : undefined diff --git a/tests/baselines/reference/twiceNestedKeyofIndexInference.types b/tests/baselines/reference/twiceNestedKeyofIndexInference.types index 2f6e69c300cbd..b4b1a954a9b69 100644 --- a/tests/baselines/reference/twiceNestedKeyofIndexInference.types +++ b/tests/baselines/reference/twiceNestedKeyofIndexInference.types @@ -19,7 +19,7 @@ type Set2 = T extends any[] ? T : declare function set(source: T, path: [K1], value: T[K1]): Set1; >set : { (source: T, path: [K1], value: T[K1]): Set1; (source: T_1, path: [K1_1, K2], value: T_1[K1_1][K2]): Set2; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >source : T > : ^ >path : [K1] @@ -29,7 +29,7 @@ declare function set(source: T, path: [K1], value: T[K1]) declare function set(source: T, path: [K1, K2], value: T[K1][K2]): Set2; >set : { (source: T_1, path: [K1_1], value: T_1[K1_1]): Set1; (source: T, path: [K1, K2], value: T[K1][K2]): Set2; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >source : T > : ^ >path : [K1, K2] @@ -94,9 +94,9 @@ const newState: State = set(state, ["a", 'b'], 'why'); // shouldn't be an error >newState : State > : ^^^^^ >set(state, ["a", 'b'], 'why') : Pick & Required<{ a: Pick<{ b: string; c: number; }, "c"> & Required>; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->set : { (source: T, path: [K1], value: T[K1]): Set1; (source: T_1, path: [K1_1, K2], value: T_1[K1_1][K2]): Set2; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ +>set : { (source: T, path: [K1], value: T[K1]): Set1; (source: T, path: [K1, K2], value: T[K1][K2]): Set2; } +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >state : State > : ^^^^^ >["a", 'b'] : ["a", "b"] diff --git a/tests/baselines/reference/twoMergedInterfacesWithDifferingOverloads.types b/tests/baselines/reference/twoMergedInterfacesWithDifferingOverloads.types index 4044f50223e3f..ff659d83f99f4 100644 --- a/tests/baselines/reference/twoMergedInterfacesWithDifferingOverloads.types +++ b/tests/baselines/reference/twoMergedInterfacesWithDifferingOverloads.types @@ -6,13 +6,13 @@ interface A { foo(x: number): number; >foo : { (x: number): number; (x: string): string; (x: Date): Date; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ foo(x: string): string; >foo : { (x: number): number; (x: string): string; (x: Date): Date; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ } @@ -20,7 +20,7 @@ interface A { interface A { foo(x: Date): Date; >foo : { (x: number): number; (x: string): string; (x: Date): Date; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : Date > : ^^^^ } @@ -28,13 +28,13 @@ interface A { interface B { foo(x: T): number; >foo : { (x: T): number; (x: string): string; (x: T): Date; (x: Date): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : T > : ^ foo(x: string): string; >foo : { (x: T): number; (x: string): string; (x: T): Date; (x: Date): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ } @@ -42,13 +42,13 @@ interface B { interface B { foo(x: T): Date; >foo : { (x: T): number; (x: string): string; (x: T): Date; (x: Date): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : T > : ^ foo(x: Date): string; >foo : { (x: T): number; (x: string): string; (x: T): Date; (x: Date): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : Date > : ^^^^ } @@ -63,11 +63,11 @@ var r = b.foo(true); // returns Date >b.foo(true) : Date > : ^^^^ >b.foo : { (x: boolean): number; (x: string): string; (x: boolean): Date; (x: Date): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ >b : B > : ^^^^^^^^^^ >foo : { (x: boolean): number; (x: string): string; (x: boolean): Date; (x: Date): string; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^ >true : true > : ^^^^ @@ -75,7 +75,7 @@ var r = b.foo(true); // returns Date interface C { foo(x: T, y: U): string; >foo : { (x: T, y: U): string; (x: string, y: string): number; (x: W, y: W): W; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ >y : U @@ -83,7 +83,7 @@ interface C { foo(x: string, y: string): number; >foo : { (x: T, y: U): string; (x: string, y: string): number; (x: W, y: W): W; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ >y : string @@ -93,7 +93,7 @@ interface C { interface C { foo(x: W, y: W): W; >foo : { (x: T, y: U): string; (x: string, y: string): number; (x: W, y: W): W; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x : W > : ^ >y : W @@ -110,11 +110,11 @@ var r2 = c.foo(1, 2); // number >c.foo(1, 2) : 1 | 2 > : ^^^^^ >c.foo : { (x: boolean, y: Date): string; (x: string, y: string): number; (x: W, y: W): W; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^ >c : C > : ^^^^^^^^^^^^^^^^ >foo : { (x: boolean, y: Date): string; (x: string, y: string): number; (x: W, y: W): W; } -> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -132,7 +132,7 @@ interface D { foo
    (x: A, y: A): U; >foo : { (x: A, y: A): U; (x: W, y: W): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x : A > : ^ >y : A @@ -142,7 +142,7 @@ interface D { interface D { foo(x: W, y: W): T; >foo : { (x: A, y: A): U; (x: W, y: W): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >x : W > : ^ >y : W diff --git a/tests/baselines/reference/typeAliasDeclarationEmit3.types b/tests/baselines/reference/typeAliasDeclarationEmit3.types index 1deabc5cbd05f..715155ddcfe0b 100644 --- a/tests/baselines/reference/typeAliasDeclarationEmit3.types +++ b/tests/baselines/reference/typeAliasDeclarationEmit3.types @@ -29,11 +29,11 @@ function f1(): void { >console.log('f1') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'f1' : "f1" > : ^^^^ } @@ -54,11 +54,11 @@ function f2(): void { >console.log('f2') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'f2' : "f2" > : ^^^^ } @@ -79,11 +79,11 @@ function f3(): void { >console.log('f3') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'f3' : "f3" > : ^^^^ } diff --git a/tests/baselines/reference/typeAliasFunctionTypeSharedSymbol.types b/tests/baselines/reference/typeAliasFunctionTypeSharedSymbol.types index aeee167e369c6..89103f7914ce2 100644 --- a/tests/baselines/reference/typeAliasFunctionTypeSharedSymbol.types +++ b/tests/baselines/reference/typeAliasFunctionTypeSharedSymbol.types @@ -4,8 +4,8 @@ // Repro from comment in #21496 function Mixin(Base: TBase) { ->Mixin : {}>(Base: TBase) => { new (...args: any[]): (Anonymous class); prototype: Mixin.(Anonymous class); } & TBase -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Mixin : (Base: TBase) => { new (...args: any[]): (Anonymous class); prototype: Mixin.(Anonymous class); } & TBase +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >args : any[] > : ^^^^^ >Base : TBase @@ -22,9 +22,9 @@ function Mixin(Base: TBase) { type Mixin = ReturnTypeOf >Mixin : { new (...args: any[]): Mixin {}>.(Anonymous class); prototype: Mixin.(Anonymous class); } & (new (...args: any[]) => {}) -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ ->Mixin : {}>(Base: TBase) => { new (...args: any[]): (Anonymous class); prototype: Mixin.(Anonymous class); } & TBase -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^ +>Mixin : (Base: TBase) => { new (...args: any[]): (Anonymous class); prototype: Mixin.(Anonymous class); } & TBase +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type ReturnTypeOf = V extends (...args: any[])=>infer R ? R : never; >ReturnTypeOf : ReturnTypeOf diff --git a/tests/baselines/reference/typeAliases.types b/tests/baselines/reference/typeAliases.types index 5a43302ee4041..f0a58be274f60 100644 --- a/tests/baselines/reference/typeAliases.types +++ b/tests/baselines/reference/typeAliases.types @@ -116,7 +116,7 @@ var x9: () => string; var x9: T9; >x9 : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ type T10 = { x: number }; >T10 : T10 @@ -132,7 +132,7 @@ var x10: { x: number }; var x10: T10; >x10 : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ type T11 = { new(): boolean }; >T11 : T11 @@ -144,7 +144,7 @@ var x11: { new(): boolean }; var x11: T11; >x11 : new () => boolean -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ interface I13 { x: string }; >x : string @@ -163,8 +163,8 @@ var x13_2: T13 > : ^^^ declare function foo13(t1: T1, t2: T13): void; ->foo13 : (t1: T1, t2: T13) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +>foo13 : (t1: T1, t2: T13) => void +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >t1 : T1 > : ^^ >t2 : I13 @@ -173,8 +173,8 @@ declare function foo13(t1: T1, t2: T13): void; foo13(x13_1, x13_2); >foo13(x13_1, x13_2) : void > : ^^^^ ->foo13 : (t1: T1, t2: T13) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +>foo13 : (t1: T1, t2: T13) => void +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x13_1 : I13 > : ^^^ >x13_2 : I13 @@ -183,8 +183,8 @@ foo13(x13_1, x13_2); foo13(x13_2, x13_1); >foo13(x13_2, x13_1) : void > : ^^^^ ->foo13 : (t1: T1, t2: T13) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +>foo13 : (t1: T1, t2: T13) => void +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x13_2 : I13 > : ^^^ >x13_1 : I13 @@ -206,13 +206,13 @@ declare function foo14_1(x: T14): void; declare function foo14_2(x: "click"): void; >foo14_2 : { (x: "click"): void; (x: T14): void; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "click" > : ^^^^^^^ declare function foo14_2(x: T14): void; >foo14_2 : { (x: "click"): void; (x: T14): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ @@ -230,13 +230,13 @@ enum E { x = 10 } declare function f15(a: string): boolean; >f15 : { (a: string): boolean; (a: Meters): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : string > : ^^^^^^ declare function f15(a: Meters): string; >f15 : { (a: string): boolean; (a: Meters): string; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ @@ -244,11 +244,11 @@ f15(E.x).toLowerCase(); >f15(E.x).toLowerCase() : string > : ^^^^^^ >f15(E.x).toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >f15(E.x) : string > : ^^^^^^ >f15 : { (a: string): boolean; (a: Meters): string; } -> : ^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >E.x : E > : ^ >E : typeof E @@ -256,7 +256,7 @@ f15(E.x).toLowerCase(); >x : E > : ^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ type StringAndBoolean = [string, boolean] >StringAndBoolean : StringAndBoolean @@ -276,7 +276,7 @@ f16(x); >f16(x) : string > : ^^^^^^ >f16 : (s: StringAndBoolean) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : [string, boolean] > : ^^^^^^^^^^^^^^^^^ @@ -294,7 +294,7 @@ y[0].toLowerCase(); >y[0].toLowerCase() : string > : ^^^^^^ >y[0].toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >y[0] : string > : ^^^^^^ >y : StringAndBoolean @@ -302,5 +302,5 @@ y[0].toLowerCase(); >0 : 0 > : ^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/typeArgInference.types b/tests/baselines/reference/typeArgInference.types index f144a3b2666e4..26091435e7fcc 100644 --- a/tests/baselines/reference/typeArgInference.types +++ b/tests/baselines/reference/typeArgInference.types @@ -60,11 +60,11 @@ var t1 = x.f([o], [o]); >x.f([o], [o]) : { c: number; d: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x.f : (a1: { a: T; b: U; }[], a2: { a: T; b: U; }[]) => { c: T; d: U; } -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : I > : ^ >f : (a1: { a: T; b: U; }[], a2: { a: T; b: U; }[]) => { c: T; d: U; } -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >[o] : { a: number; b: string; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >o : { a: number; b: string; } @@ -88,11 +88,11 @@ var t2 = x.f([o], [o]); >x.f([o], [o]) : { c: number; d: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x.f : (a1: { a: T; b: U; }[], a2: { a: T; b: U; }[]) => { c: T; d: U; } -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : I > : ^ >f : (a1: { a: T; b: U; }[], a2: { a: T; b: U; }[]) => { c: T; d: U; } -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >[o] : { a: number; b: string; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >o : { a: number; b: string; } @@ -116,11 +116,11 @@ var t3 = x.g([o], [o]); >x.g([o], [o]) : { c: number; d: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x.g : (...arg: { a: T; b: U; }[][]) => { c: T; d: U; } -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >x : I > : ^ >g : (...arg: { a: T; b: U; }[][]) => { c: T; d: U; } -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >[o] : { a: number; b: string; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >o : { a: number; b: string; } @@ -144,11 +144,11 @@ var t4 = x.g([o], [o]); >x.g([o], [o]) : { c: number; d: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x.g : (...arg: { a: T; b: U; }[][]) => { c: T; d: U; } -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >x : I > : ^ >g : (...arg: { a: T; b: U; }[][]) => { c: T; d: U; } -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >[o] : { a: number; b: string; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >o : { a: number; b: string; } diff --git a/tests/baselines/reference/typeArgInference2.types b/tests/baselines/reference/typeArgInference2.types index 660faac536db1..97b3a43f1787f 100644 --- a/tests/baselines/reference/typeArgInference2.types +++ b/tests/baselines/reference/typeArgInference2.types @@ -9,7 +9,7 @@ interface Item { declare function foo(x?: T, y?: T): T; >foo : (x?: T, y?: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >x : T > : ^ >y : T @@ -19,7 +19,7 @@ var z1 = foo(null); // any >z1 : any >foo(null) : any >foo : (x?: T, y?: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^^^^ var z2 = foo(); // Item >z2 : Item @@ -27,7 +27,7 @@ var z2 = foo(); // Item >foo() : Item > : ^^^^ >foo : (x?: T, y?: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^^^^ var z3 = foo({ name: null }); // { name: any } >z3 : { name: any; } @@ -35,7 +35,7 @@ var z3 = foo({ name: null }); // { name: any } >foo({ name: null }) : { name: any; } > : ^^^^^^^^^^^^^^ >foo : (x?: T, y?: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >{ name: null } : { name: null; } > : ^^^^^^^^^^^^^^^ >name : null @@ -47,7 +47,7 @@ var z4 = foo({ name: "abc" }); // { name: string } >foo({ name: "abc" }) : { name: string; } > : ^^^^^^^^^^^^^^^^^ >foo : (x?: T, y?: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >{ name: "abc" } : { name: string; } > : ^^^^^^^^^^^^^^^^^ >name : string @@ -61,7 +61,7 @@ var z5 = foo({ name: "abc", a: 5 }); // { name: string; a: number } >foo({ name: "abc", a: 5 }) : { name: string; a: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (x?: T, y?: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >{ name: "abc", a: 5 } : { name: string; a: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >name : string @@ -79,7 +79,7 @@ var z6 = foo({ name: "abc", a: 5 }, { name: "def", b: 5 }); // error >foo({ name: "abc", a: 5 }, { name: "def", b: 5 }) : { name: string; a: number; b?: undefined; } | { name: string; b: number; a?: undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (x?: T, y?: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >{ name: "abc", a: 5 } : { name: string; a: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >name : string diff --git a/tests/baselines/reference/typeArgInference2WithError.types b/tests/baselines/reference/typeArgInference2WithError.types index 007e9fa80f783..91575f898fe8c 100644 --- a/tests/baselines/reference/typeArgInference2WithError.types +++ b/tests/baselines/reference/typeArgInference2WithError.types @@ -9,7 +9,7 @@ interface Item { declare function foo(x?: T, y?: T): T; >foo : (x?: T, y?: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >x : T > : ^ >y : T @@ -21,7 +21,7 @@ var z7 = foo("abc", 5); // Error >foo("abc", 5) : Item > : ^^^^ >foo : (x?: T, y?: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >"abc" : "abc" > : ^^^^^ >5 : 5 diff --git a/tests/baselines/reference/typeArgInferenceWithNull.types b/tests/baselines/reference/typeArgInferenceWithNull.types index a0654059c8bf5..2c6666adc6815 100644 --- a/tests/baselines/reference/typeArgInferenceWithNull.types +++ b/tests/baselines/reference/typeArgInferenceWithNull.types @@ -5,7 +5,7 @@ function fn4(n: T) { } >fn4 : (n: T) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >n : T > : ^ @@ -13,11 +13,11 @@ fn4(null); >fn4(null) : void > : ^^^^ >fn4 : (n: T) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ function fn5(n: T) { } >fn5 : (n: T) => void -> : ^ ^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : string > : ^^^^^^ >n : T @@ -27,7 +27,7 @@ fn5({ x: null }); >fn5({ x: null }) : void > : ^^^^ >fn5 : (n: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >{ x: null } : { x: null; } > : ^^^^^^^^^^^^ >x : null @@ -35,7 +35,7 @@ fn5({ x: null }); function fn6(n: T, fun: (x: T) => void, n2: T) { } >fn6 : (n: T, fun: (x: T) => void, n2: T) => void -> : ^ ^^^^^^^^^^^^^^ ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : string > : ^^^^^^ >n : T @@ -51,7 +51,7 @@ fn6({ x: null }, y => { }, { x: "" }); // y has type { x: any }, but ideally wou >fn6({ x: null }, y => { }, { x: "" }) : void > : ^^^^ >fn6 : (n: T, fun: (x: T) => void, n2: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >{ x: null } : { x: null; } > : ^^^^^^^^^^^^ >x : null diff --git a/tests/baselines/reference/typeArgumentConstraintResolution1.types b/tests/baselines/reference/typeArgumentConstraintResolution1.types index cd863e043c67c..43cc72abd2bff 100644 --- a/tests/baselines/reference/typeArgumentConstraintResolution1.types +++ b/tests/baselines/reference/typeArgumentConstraintResolution1.types @@ -3,27 +3,27 @@ === typeArgumentConstraintResolution1.ts === function foo1(test: T); >foo1 : { (test: T): any; (test: string): any; } -> : ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >test : T > : ^ function foo1(test: string); >foo1 : { (test: T_1): any; (test: string): any; } -> : ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >test : string > : ^^^^^^ function foo1(test: any) { } ->foo1 : { (test: T_1): any; (test: string): any; } -> : ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>foo1 : { (test: T_1): any; (test: string): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >test : any > : ^^^ foo1(""); // should error >foo1("") : any > : ^^^ ->foo1 : { (test: T): any; (test: string): any; } -> : ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>foo1 : { (test: T): any; (test: string): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >"" : "" > : ^^ @@ -31,27 +31,27 @@ foo1(""); // should error function foo2(test: T): T; >foo2 : { (test: T): T; (test: string): T_1; } -> : ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >test : T > : ^ function foo2(test: string): T; >foo2 : { (test: T_1): T_1; (test: string): T; } -> : ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >test : string > : ^^^^^^ function foo2(test: any): any { return null; } ->foo2 : { (test: T_1): T_1; (test: string): T_2; } -> : ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>foo2 : { (test: T_1): T_1; (test: string): T_1; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >test : any > : ^^^ foo2(""); // Type Date does not satisfy the constraint 'Number' for type parameter 'T extends Number' >foo2("") : Date > : ^^^^ ->foo2 : { (test: T): T; (test: string): T_1; } -> : ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>foo2 : { (test: T): T; (test: string): T; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >"" : "" > : ^^ diff --git a/tests/baselines/reference/typeArgumentInference.types b/tests/baselines/reference/typeArgumentInference.types index 50e4d9a19f00c..1dc8cf7610588 100644 --- a/tests/baselines/reference/typeArgumentInference.types +++ b/tests/baselines/reference/typeArgumentInference.types @@ -129,11 +129,11 @@ someGenerics2a((n) => n.substr(0)); >n.substr(0) : string > : ^^^^^^ >n.substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >n : string > : ^^^^^^ >substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -189,11 +189,11 @@ someGenerics2b((n, t) => n.substr(t * t)); >n.substr(t * t) : string > : ^^^^^^ >n.substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >n : string > : ^^^^^^ >substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >t * t : number > : ^^^^^^ >t : number @@ -509,7 +509,7 @@ var x = someGenerics8(someGenerics7); >someGenerics8(someGenerics7) : (a: (a: A) => A, b: (b: B) => B, c: (c: C) => C) => void > : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >someGenerics8 : (n: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >someGenerics7 : (a: (a: A) => A, b: (b: B) => B, c: (c: C) => C) => void > : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ @@ -538,7 +538,7 @@ var a9a = someGenerics9('', 0, []); >someGenerics9('', 0, []) : "" > : ^^ >someGenerics9 : (a: T, b: T, c: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >'' : "" > : ^^ >0 : 0 @@ -556,7 +556,7 @@ var a9b = someGenerics9<{ a?: number; b?: string; }>({ a: 0 }, { b: '' }, null); >someGenerics9<{ a?: number; b?: string; }>({ a: 0 }, { b: '' }, null) : { a?: number; b?: string; } > : ^^^^^^ ^^^^^^ ^^^ >someGenerics9 : (a: T, b: T, c: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : number > : ^^^^^^ >b : string @@ -576,7 +576,7 @@ var a9b = someGenerics9<{ a?: number; b?: string; }>({ a: 0 }, { b: '' }, null); var a9b: { a?: number; b?: string; }; >a9b : { a?: number; b?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >a : number > : ^^^^^^ >b : string @@ -607,7 +607,7 @@ var a9e = someGenerics9(undefined, { x: 6, z: new Date() }, { x: 6, y: '' }); >someGenerics9(undefined, { x: 6, z: new Date() }, { x: 6, y: '' }) : { x: number; z: Date; y?: undefined; } | { x: number; y: string; z?: undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >someGenerics9 : (a: T, b: T, c: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >{ x: 6, z: new Date() } : { x: number; z: Date; } @@ -643,7 +643,7 @@ var a9f = someGenerics9(undefined, { x: 6, z: new Date() }, { x: 6, y: '' } >someGenerics9(undefined, { x: 6, z: new Date() }, { x: 6, y: '' }) : A92 > : ^^^ >someGenerics9 : (a: T, b: T, c: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >{ x: 6, z: new Date() } : { x: number; z: Date; } @@ -680,7 +680,7 @@ var a9d = someGenerics9({ x: 3 }, { x: 6 }, { x: 6 }); >someGenerics9({ x: 3 }, { x: 6 }, { x: 6 }) : { x: number; } > : ^^^^^^^^^^^^^^ >someGenerics9 : (a: T, b: T, c: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{ x: 3 } : { x: number; } > : ^^^^^^^^^^^^^^ >x : number @@ -717,7 +717,7 @@ var a = someGenerics9(7, anyVar, 4); >someGenerics9(7, anyVar, 4) : any > : ^^^ >someGenerics9 : (a: T, b: T, c: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >7 : 7 > : ^ >anyVar : any @@ -736,7 +736,7 @@ var arr = someGenerics9([], null, undefined); >someGenerics9([], null, undefined) : any[] > : ^^^^^ >someGenerics9 : (a: T, b: T, c: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >[] : undefined[] > : ^^^^^^^^^^^ >undefined : undefined diff --git a/tests/baselines/reference/typeArgumentInferenceApparentType1.types b/tests/baselines/reference/typeArgumentInferenceApparentType1.types index 6cd0ddccc5a74..da555da82eef0 100644 --- a/tests/baselines/reference/typeArgumentInferenceApparentType1.types +++ b/tests/baselines/reference/typeArgumentInferenceApparentType1.types @@ -16,7 +16,7 @@ var res: string = method("test"); >method("test") : string > : ^^^^^^ >method : (iterable: Iterable) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >"test" : "test" > : ^^^^^^ diff --git a/tests/baselines/reference/typeArgumentInferenceApparentType2.types b/tests/baselines/reference/typeArgumentInferenceApparentType2.types index 011e6a920ee86..75f56536348f4 100644 --- a/tests/baselines/reference/typeArgumentInferenceApparentType2.types +++ b/tests/baselines/reference/typeArgumentInferenceApparentType2.types @@ -9,7 +9,7 @@ function method(iterable: Iterable): T { function inner>() { >inner : >() => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ var u: U; >u : U @@ -21,7 +21,7 @@ function method(iterable: Iterable): T { >method(u) : T > : ^ >method : (iterable: Iterable) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >u : U > : ^ } diff --git a/tests/baselines/reference/typeArgumentInferenceConstructSignatures.types b/tests/baselines/reference/typeArgumentInferenceConstructSignatures.types index 9f5ce3a877038..6bc5dd052dfbf 100644 --- a/tests/baselines/reference/typeArgumentInferenceConstructSignatures.types +++ b/tests/baselines/reference/typeArgumentInferenceConstructSignatures.types @@ -151,11 +151,11 @@ new someGenerics2a((n) => n.substr(0)); >n.substr(0) : string > : ^^^^^^ >n.substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >n : string > : ^^^^^^ >substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -214,11 +214,11 @@ new someGenerics2b((n, t) => n.substr(t * t)); >n.substr(t * t) : string > : ^^^^^^ >n.substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >n : string > : ^^^^^^ >substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >t * t : number > : ^^^^^^ >t : number @@ -670,7 +670,7 @@ var a9b = new someGenerics9<{ a?: number; b?: string; }>({ a: 0 }, { b: '' }, nu var a9b: { a?: number; b?: string; }; >a9b : { a?: number; b?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >a : number > : ^^^^^^ >b : string diff --git a/tests/baselines/reference/typeArgumentInferenceOrdering.types b/tests/baselines/reference/typeArgumentInferenceOrdering.types index 07e35f43ef218..7b001164619b2 100644 --- a/tests/baselines/reference/typeArgumentInferenceOrdering.types +++ b/tests/baselines/reference/typeArgumentInferenceOrdering.types @@ -32,17 +32,17 @@ function foo(f: { y: T }): T { return null } var x = foo(new C()).x; // was Error that property x does not exist on type {} >x : () => Goo -> : ^^^^^^^^^ +> : ^^^^^^ >foo(new C()).x : () => Goo -> : ^^^^^^^^^ +> : ^^^^^^ >foo(new C()) : I > : ^ >foo : (f: { y: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >new C() : C > : ^ >C : typeof C > : ^^^^^^^^ >x : () => Goo -> : ^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/typeArgumentInferenceTransitiveConstraints.types b/tests/baselines/reference/typeArgumentInferenceTransitiveConstraints.types index ee5698bd71dad..cd378e0458ac3 100644 --- a/tests/baselines/reference/typeArgumentInferenceTransitiveConstraints.types +++ b/tests/baselines/reference/typeArgumentInferenceTransitiveConstraints.types @@ -3,7 +3,7 @@ === typeArgumentInferenceTransitiveConstraints.ts === function fn(a: A, b: B, c: C) { >fn : (a: A, b: B, c: C) => A[] -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ >a : A > : ^ >b : B @@ -28,7 +28,7 @@ var d = fn(new Date(), new Date(), new Date()); >fn(new Date(), new Date(), new Date()) : Date[] > : ^^^^^^ >fn : (a: A, b: B, c: C) => A[] -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ >new Date() : Date > : ^^^^ >Date : DateConstructor diff --git a/tests/baselines/reference/typeArgumentInferenceWithClassExpression1.types b/tests/baselines/reference/typeArgumentInferenceWithClassExpression1.types index 12406f02d05f2..3c859be933951 100644 --- a/tests/baselines/reference/typeArgumentInferenceWithClassExpression1.types +++ b/tests/baselines/reference/typeArgumentInferenceWithClassExpression1.types @@ -22,7 +22,7 @@ foo(class { static prop = "hello" }).length; >foo(class { static prop = "hello" }) : string > : ^^^^^^ >foo : (x?: typeof (Anonymous class)) => T -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >class { static prop = "hello" } : typeof (Anonymous class) > : ^^^^^^^^^^^^^^^^^^^^^^^^ >prop : string diff --git a/tests/baselines/reference/typeArgumentInferenceWithClassExpression2.types b/tests/baselines/reference/typeArgumentInferenceWithClassExpression2.types index 522eb0f5959ed..4489383dd8744 100644 --- a/tests/baselines/reference/typeArgumentInferenceWithClassExpression2.types +++ b/tests/baselines/reference/typeArgumentInferenceWithClassExpression2.types @@ -23,7 +23,7 @@ foo(class { static prop = "hello" }).length; >foo(class { static prop = "hello" }) : unknown > : ^^^^^^^ >foo : (x?: typeof (Anonymous class)) => T -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >class { static prop = "hello" } : typeof (Anonymous class) > : ^^^^^^^^^^^^^^^^^^^^^^^^ >prop : string diff --git a/tests/baselines/reference/typeArgumentInferenceWithClassExpression3.types b/tests/baselines/reference/typeArgumentInferenceWithClassExpression3.types index 0b1be4194fe96..c56c54e1e263a 100644 --- a/tests/baselines/reference/typeArgumentInferenceWithClassExpression3.types +++ b/tests/baselines/reference/typeArgumentInferenceWithClassExpression3.types @@ -22,7 +22,7 @@ foo(class { prop = "hello" }).length; >foo(class { prop = "hello" }) : string > : ^^^^^^ >foo : (x?: typeof (Anonymous class)) => T -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >class { prop = "hello" } : typeof (Anonymous class) > : ^^^^^^^^^^^^^^^^^^^^^^^^ >prop : string diff --git a/tests/baselines/reference/typeArgumentInferenceWithConstraintAsCommonRoot.types b/tests/baselines/reference/typeArgumentInferenceWithConstraintAsCommonRoot.types index 0e3ef1552a20b..c43ed052bb0f4 100644 --- a/tests/baselines/reference/typeArgumentInferenceWithConstraintAsCommonRoot.types +++ b/tests/baselines/reference/typeArgumentInferenceWithConstraintAsCommonRoot.types @@ -15,7 +15,7 @@ interface Elephant extends Animal { z } function f(x: T, y: T): T { return undefined; } >f : (x: T, y: T) => T -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T > : ^ >y : T @@ -35,7 +35,7 @@ f(g, e); // valid because both Giraffe and Elephant satisfy the constraint. T is >f(g, e) : Giraffe > : ^^^^^^^ >f : (x: T, y: T) => T -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >g : Giraffe > : ^^^^^^^ >e : Elephant diff --git a/tests/baselines/reference/typeArgumentInferenceWithConstraints.types b/tests/baselines/reference/typeArgumentInferenceWithConstraints.types index f115db42897f0..e33bc871d91be 100644 --- a/tests/baselines/reference/typeArgumentInferenceWithConstraints.types +++ b/tests/baselines/reference/typeArgumentInferenceWithConstraints.types @@ -4,30 +4,30 @@ // Generic call with no parameters function noParams() { } >noParams : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ noParams(); >noParams() : void > : ^^^^ >noParams : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ noParams(); >noParams() : void > : ^^^^ >noParams : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ noParams<{}>(); >noParams<{}>() : void > : ^^^^ >noParams : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ // Generic call with parameters but none use type parameter type function noGenericParams(n: string) { } >noGenericParams : (n: string) => void -> : ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >n : string > : ^^^^^^ @@ -35,7 +35,7 @@ noGenericParams(''); // Valid >noGenericParams('') : void > : ^^^^ >noGenericParams : (n: string) => void -> : ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >'' : "" > : ^^ @@ -43,7 +43,7 @@ noGenericParams(''); >noGenericParams('') : void > : ^^^^ >noGenericParams : (n: string) => void -> : ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >'' : "" > : ^^ @@ -51,14 +51,14 @@ noGenericParams<{}>(''); // Error >noGenericParams<{}>('') : void > : ^^^^ >noGenericParams : (n: string) => void -> : ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >'' : "" > : ^^ // Generic call with multiple type parameters and only one used in parameter type annotation function someGenerics1(n: T, m: number) { } >someGenerics1 : (n: T, m: number) => void -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >n : T > : ^ >m : number @@ -68,7 +68,7 @@ someGenerics1(3, 4); // Valid >someGenerics1(3, 4) : void > : ^^^^ >someGenerics1 : (n: T, m: number) => void -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >3 : 3 > : ^ >4 : 4 @@ -78,7 +78,7 @@ someGenerics1(3, 4); // Error >someGenerics1(3, 4) : void > : ^^^^ >someGenerics1 : (n: T, m: number) => void -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >3 : 3 > : ^ >4 : 4 @@ -88,7 +88,7 @@ someGenerics1(3, 4); // Error >someGenerics1(3, 4) : void > : ^^^^ >someGenerics1 : (n: T, m: number) => void -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >3 : 3 > : ^ >4 : 4 @@ -98,7 +98,7 @@ someGenerics1(3, 4); >someGenerics1(3, 4) : void > : ^^^^ >someGenerics1 : (n: T, m: number) => void -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >3 : 3 > : ^ >4 : 4 @@ -107,7 +107,7 @@ someGenerics1(3, 4); // Generic call with argument of function type whose parameter is of type parameter type function someGenerics2a(n: (x: T) => void) { } >someGenerics2a : (n: (x: T) => void) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >n : (x: T) => void > : ^ ^^ ^^^^^ >x : T @@ -117,7 +117,7 @@ someGenerics2a((n: string) => n); >someGenerics2a((n: string) => n) : void > : ^^^^ >someGenerics2a : (n: (x: T) => void) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >(n: string) => n : (n: string) => string > : ^ ^^ ^^^^^^^^^^^ >n : string @@ -129,7 +129,7 @@ someGenerics2a((n: string) => n); >someGenerics2a((n: string) => n) : void > : ^^^^ >someGenerics2a : (n: (x: T) => void) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >(n: string) => n : (n: string) => string > : ^ ^^ ^^^^^^^^^^^ >n : string @@ -141,7 +141,7 @@ someGenerics2a((n) => n.substr(0)); >someGenerics2a((n) => n.substr(0)) : void > : ^^^^ >someGenerics2a : (n: (x: T) => void) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >(n) => n.substr(0) : (n: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >n : string @@ -149,17 +149,17 @@ someGenerics2a((n) => n.substr(0)); >n.substr(0) : string > : ^^^^^^ >n.substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >n : string > : ^^^^^^ >substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ function someGenerics2b(n: (x: T, y: U) => void) { } >someGenerics2b : (n: (x: T, y: U) => void) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >n : (x: T, y: U) => void > : ^ ^^ ^^ ^^ ^^^^^ >x : T @@ -171,7 +171,7 @@ someGenerics2b((n: string, x: number) => n); >someGenerics2b((n: string, x: number) => n) : void > : ^^^^ >someGenerics2b : (n: (x: T, y: U) => void) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >(n: string, x: number) => n : (n: string, x: number) => string > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >n : string @@ -185,7 +185,7 @@ someGenerics2b((n: string, t: number) => n); >someGenerics2b((n: string, t: number) => n) : void > : ^^^^ >someGenerics2b : (n: (x: T, y: U) => void) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >(n: string, t: number) => n : (n: string, t: number) => string > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >n : string @@ -199,7 +199,7 @@ someGenerics2b((n, t) => n.substr(t * t)); >someGenerics2b((n, t) => n.substr(t * t)) : void > : ^^^^ >someGenerics2b : (n: (x: T, y: U) => void) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >(n, t) => n.substr(t * t) : (n: string, t: number) => string > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >n : string @@ -209,11 +209,11 @@ someGenerics2b((n, t) => n.substr(t * t)); >n.substr(t * t) : string > : ^^^^^^ >n.substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >n : string > : ^^^^^^ >substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >t * t : number > : ^^^^^^ >t : number @@ -224,7 +224,7 @@ someGenerics2b((n, t) => n.substr(t * t)); // Generic call with argument of function type whose parameter is not of type parameter type but body/return type uses type parameter function someGenerics3(producer: () => T) { } >someGenerics3 : (producer: () => T) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >producer : () => T > : ^^^^^^ @@ -232,7 +232,7 @@ someGenerics3(() => ''); // Error >someGenerics3(() => '') : void > : ^^^^ >someGenerics3 : (producer: () => T) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >() => '' : () => string > : ^^^^^^^^^^^^ >'' : "" @@ -242,7 +242,7 @@ someGenerics3(() => undefined); >someGenerics3(() => undefined) : void > : ^^^^ >someGenerics3 : (producer: () => T) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >() => undefined : () => any > : ^^^^^^^^^ >undefined : undefined @@ -252,7 +252,7 @@ someGenerics3(() => 3); // Error >someGenerics3(() => 3) : void > : ^^^^ >someGenerics3 : (producer: () => T) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >() => 3 : () => number > : ^^^^^^^^^^^^ >3 : 3 @@ -261,7 +261,7 @@ someGenerics3(() => 3); // Error // 2 parameter generic call with argument 1 of type parameter type and argument 2 of function type whose parameter is of type parameter type function someGenerics4(n: T, f: (x: U) => void) { } >someGenerics4 : (n: T, f: (x: U) => void) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >n : T > : ^ >f : (x: U) => void @@ -273,7 +273,7 @@ someGenerics4(4, () => null); // Valid >someGenerics4(4, () => null) : void > : ^^^^ >someGenerics4 : (n: T, f: (x: U) => void) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >4 : 4 > : ^ >() => null : () => any @@ -283,7 +283,7 @@ someGenerics4('', () => 3); >someGenerics4('', () => 3) : void > : ^^^^ >someGenerics4 : (n: T, f: (x: U) => void) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >'' : "" > : ^^ >() => 3 : () => number @@ -295,7 +295,7 @@ someGenerics4('', (x: string) => ''); // Error >someGenerics4('', (x: string) => '') : void > : ^^^^ >someGenerics4 : (n: T, f: (x: U) => void) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >'' : "" > : ^^ >(x: string) => '' : (x: string) => string @@ -309,12 +309,12 @@ someGenerics4(null, null); >someGenerics4(null, null) : void > : ^^^^ >someGenerics4 : (n: T, f: (x: U) => void) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ // 2 parameter generic call with argument 2 of type parameter type and argument 1 of function type whose parameter is of type parameter type function someGenerics5(n: T, f: (x: U) => void) { } >someGenerics5 : (n: T, f: (x: U) => void) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >n : T > : ^ >f : (x: U) => void @@ -326,7 +326,7 @@ someGenerics5(4, () => null); // Valid >someGenerics5(4, () => null) : void > : ^^^^ >someGenerics5 : (n: T, f: (x: U) => void) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >4 : 4 > : ^ >() => null : () => any @@ -336,7 +336,7 @@ someGenerics5('', () => 3); >someGenerics5('', () => 3) : void > : ^^^^ >someGenerics5 : (n: T, f: (x: U) => void) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >'' : "" > : ^^ >() => 3 : () => number @@ -348,7 +348,7 @@ someGenerics5('', (x: string) => ''); // Error >someGenerics5('', (x: string) => '') : void > : ^^^^ >someGenerics5 : (n: T, f: (x: U) => void) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >'' : "" > : ^^ >(x: string) => '' : (x: string) => string @@ -362,12 +362,12 @@ someGenerics5(null, null); // Error >someGenerics5(null, null) : void > : ^^^^ >someGenerics5 : (n: T, f: (x: U) => void) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ // Generic call with multiple arguments of function types that each have parameters of the same generic type function someGenerics6(a: (a: A) => A, b: (b: A) => A, c: (c: A) => A) { } >someGenerics6 : (a: (a: A) => A, b: (b: A) => A, c: (c: A) => A) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >a : (a: A) => A > : ^ ^^ ^^^^^ >a : A @@ -385,7 +385,7 @@ someGenerics6(n => n, n => n, n => n); // Valid >someGenerics6(n => n, n => n, n => n) : void > : ^^^^ >someGenerics6 : (a: (a: A) => A, b: (b: A) => A, c: (c: A) => A) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >n => n : (n: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >n : number @@ -409,7 +409,7 @@ someGenerics6(n => n, n => n, n => n); >someGenerics6(n => n, n => n, n => n) : void > : ^^^^ >someGenerics6 : (a: (a: A) => A, b: (b: A) => A, c: (c: A) => A) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >n => n : (n: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >n : number @@ -433,7 +433,7 @@ someGenerics6((n: number) => n, (n: string) => n, (n: number) => n); // >someGenerics6((n: number) => n, (n: string) => n, (n: number) => n) : void > : ^^^^ >someGenerics6 : (a: (a: A) => A, b: (b: A) => A, c: (c: A) => A) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >(n: number) => n : (n: number) => number > : ^ ^^ ^^^^^^^^^^^ >n : number @@ -457,7 +457,7 @@ someGenerics6((n: number) => n, (n: number) => n, (n: number) => n); >someGenerics6((n: number) => n, (n: number) => n, (n: number) => n) : void > : ^^^^ >someGenerics6 : (a: (a: A) => A, b: (b: A) => A, c: (c: A) => A) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >(n: number) => n : (n: number) => number > : ^ ^^ ^^^^^^^^^^^ >n : number @@ -480,7 +480,7 @@ someGenerics6((n: number) => n, (n: number) => n, (n: number) => n); // Generic call with multiple arguments of function types that each have parameters of different generic type function someGenerics7(a: (a: A) => A, b: (b: B) => B, c: (c: C) => C) { } >someGenerics7 : (a: (a: A) => A, b: (b: B) => B, c: (c: C) => C) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >a : (a: A) => A > : ^ ^^ ^^^^^ >a : A @@ -498,7 +498,7 @@ someGenerics7(n => n, n => n, n => n); // Valid, types of n are someGenerics7(n => n, n => n, n => n) : void > : ^^^^ >someGenerics7 : (a: (a: A) => A, b: (b: B) => B, c: (c: C) => C) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >n => n : (n: unknown) => unknown > : ^ ^^^^^^^^^^^^^^^^^^^^^ >n : unknown @@ -522,7 +522,7 @@ someGenerics7(n => n, n => n, n => n); >someGenerics7(n => n, n => n, n => n) : void > : ^^^^ >someGenerics7 : (a: (a: A) => A, b: (b: B) => B, c: (c: C) => C) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >n => n : (n: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >n : number @@ -546,7 +546,7 @@ someGenerics7((n: number) => n, (n: string) => n, (n: nu >someGenerics7((n: number) => n, (n: string) => n, (n: number) => n) : void > : ^^^^ >someGenerics7 : (a: (a: A) => A, b: (b: B) => B, c: (c: C) => C) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >(n: number) => n : (n: number) => number > : ^ ^^ ^^^^^^^^^^^ >n : number @@ -569,7 +569,7 @@ someGenerics7((n: number) => n, (n: string) => n, (n: nu // Generic call with argument of generic function type function someGenerics8(n: T): T { return n; } >someGenerics8 : (n: T) => T -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >n : T > : ^ >n : T @@ -581,9 +581,9 @@ var x = someGenerics8(someGenerics7); // Error >someGenerics8(someGenerics7) : string > : ^^^^^^ >someGenerics8 : (n: T) => T -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >someGenerics7 : (a: (a: A) => A, b: (b: B) => B, c: (c: C) => C) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ x(null, null, null); // Error >x(null, null, null) : any @@ -610,7 +610,7 @@ var a9a = someGenerics9('', 0, []); >someGenerics9('', 0, []) : "" > : ^^ >someGenerics9 : (a: T, b: T, c: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >'' : "" > : ^^ >0 : 0 @@ -628,7 +628,7 @@ var a9b = someGenerics9<{ a?: number; b?: string; }>({ a: 0 }, { b: '' }, null); >someGenerics9<{ a?: number; b?: string; }>({ a: 0 }, { b: '' }, null) : { a?: number; b?: string; } > : ^^^^^^ ^^^^^^ ^^^ >someGenerics9 : (a: T, b: T, c: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : number > : ^^^^^^ >b : string @@ -648,7 +648,7 @@ var a9b = someGenerics9<{ a?: number; b?: string; }>({ a: 0 }, { b: '' }, null); var a9b: { a?: number; b?: string; }; >a9b : { a?: number; b?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >a : number > : ^^^^^^ >b : string @@ -679,7 +679,7 @@ var a9e = someGenerics9(undefined, { x: 6, z: window }, { x: 6, y: '' }); >someGenerics9(undefined, { x: 6, z: window }, { x: 6, y: '' }) : { x: number; z: Window & typeof globalThis; y?: undefined; } | { x: number; y: string; z?: undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >someGenerics9 : (a: T, b: T, c: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >{ x: 6, z: window } : { x: number; z: Window & typeof globalThis; } @@ -713,7 +713,7 @@ var a9f = someGenerics9(undefined, { x: 6, z: window }, { x: 6, y: '' }); >someGenerics9(undefined, { x: 6, z: window }, { x: 6, y: '' }) : A92 > : ^^^ >someGenerics9 : (a: T, b: T, c: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ >{ x: 6, z: window } : { x: number; z: Window & typeof globalThis; } @@ -748,7 +748,7 @@ var a9d = someGenerics9({ x: 3 }, { x: 6 }, { x: 6 }); >someGenerics9({ x: 3 }, { x: 6 }, { x: 6 }) : { x: number; } > : ^^^^^^^^^^^^^^ >someGenerics9 : (a: T, b: T, c: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{ x: 3 } : { x: number; } > : ^^^^^^^^^^^^^^ >x : number @@ -785,7 +785,7 @@ var a = someGenerics9(7, anyVar, 4); >someGenerics9(7, anyVar, 4) : any > : ^^^ >someGenerics9 : (a: T, b: T, c: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >7 : 7 > : ^ >anyVar : any @@ -804,7 +804,7 @@ var arr = someGenerics9([], null, undefined); >someGenerics9([], null, undefined) : any[] > : ^^^^^ >someGenerics9 : (a: T, b: T, c: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >[] : undefined[] > : ^^^^^^^^^^^ >undefined : undefined diff --git a/tests/baselines/reference/typeArgumentInferenceWithObjectLiteral.types b/tests/baselines/reference/typeArgumentInferenceWithObjectLiteral.types index 2d1522e01558f..aba0e382f6ae0 100644 --- a/tests/baselines/reference/typeArgumentInferenceWithObjectLiteral.types +++ b/tests/baselines/reference/typeArgumentInferenceWithObjectLiteral.types @@ -125,7 +125,7 @@ var v1 = f1({ w: x => x, r: () => 0 }, 0); >f1({ w: x => x, r: () => 0 }, 0) : number > : ^^^^^^ >f1 : (a: { w: (x: T) => U; r: () => T; }, b: T) => U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{ w: x => x, r: () => 0 } : { w: (x: number) => number; r: () => number; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >w : (x: number) => number @@ -151,7 +151,7 @@ var v1 = f1({ w: x => x, r: () => 0 }, E1.X); >f1({ w: x => x, r: () => 0 }, E1.X) : number > : ^^^^^^ >f1 : (a: { w: (x: T) => U; r: () => T; }, b: T) => U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{ w: x => x, r: () => 0 } : { w: (x: number) => number; r: () => number; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >w : (x: number) => number @@ -181,7 +181,7 @@ var v1 = f1({ w: x => x, r: () => E1.X }, 0); >f1({ w: x => x, r: () => E1.X }, 0) : number > : ^^^^^^ >f1 : (a: { w: (x: T) => U; r: () => T; }, b: T) => U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{ w: x => x, r: () => E1.X } : { w: (x: 0) => number; r: () => E1; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >w : (x: 0) => number @@ -215,7 +215,7 @@ var v2 = f1({ w: x => x, r: () => E1.X }, E1.X); >f1({ w: x => x, r: () => E1.X }, E1.X) : E1 > : ^^ >f1 : (a: { w: (x: T) => U; r: () => T; }, b: T) => U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{ w: x => x, r: () => E1.X } : { w: (x: E1.X) => E1; r: () => E1; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >w : (x: E1.X) => E1 @@ -249,7 +249,7 @@ var v3 = f1({ w: x => x, r: () => E1.X }, E2.X); // Error >f1({ w: x => x, r: () => E1.X }, E2.X) : unknown > : ^^^^^^^ >f1 : (a: { w: (x: T) => U; r: () => T; }, b: T) => U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{ w: x => x, r: () => E1.X } : { w: (x: E1) => E1; r: () => E1; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >w : (x: E1) => E1 diff --git a/tests/baselines/reference/typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral01.types b/tests/baselines/reference/typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral01.types index 4c98436b9d85b..050527bdb80f5 100644 --- a/tests/baselines/reference/typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral01.types +++ b/tests/baselines/reference/typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral01.types @@ -22,11 +22,11 @@ nodes.map(n => n.name); >nodes.map(n => n.name) : string[] > : ^^^^^^^^ >nodes.map : (callbackfn: (value: TreeNode, index: number, array: TreeNode[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >nodes : TreeNode[] > : ^^^^^^^^^^ >map : (callbackfn: (value: TreeNode, index: number, array: TreeNode[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >n => n.name : (n: TreeNode) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^ >n : TreeNode diff --git a/tests/baselines/reference/typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral02.types b/tests/baselines/reference/typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral02.types index a40d6510f06d0..d945568affc48 100644 --- a/tests/baselines/reference/typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral02.types +++ b/tests/baselines/reference/typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral02.types @@ -35,11 +35,11 @@ nodes.map(n => n.name); >nodes.map(n => n.name) : string[] > : ^^^^^^^^ >nodes.map : (callbackfn: (value: TreeNodeMiddleman, index: number, array: TreeNodeMiddleman[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >nodes : TreeNodeMiddleman[] > : ^^^^^^^^^^^^^^^^^^^ >map : (callbackfn: (value: TreeNodeMiddleman, index: number, array: TreeNodeMiddleman[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >n => n.name : (n: TreeNodeMiddleman) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >n : TreeNodeMiddleman diff --git a/tests/baselines/reference/typeArgumentsOnFunctionsWithNoTypeParameters.types b/tests/baselines/reference/typeArgumentsOnFunctionsWithNoTypeParameters.types index f8cc58ae3c289..714817e648fc3 100644 --- a/tests/baselines/reference/typeArgumentsOnFunctionsWithNoTypeParameters.types +++ b/tests/baselines/reference/typeArgumentsOnFunctionsWithNoTypeParameters.types @@ -15,7 +15,7 @@ function foo(f: (v: T) => U) { >f(1) : U > : ^ >f : (v: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ @@ -25,7 +25,7 @@ function foo(f: (v: T) => U) { >f(1) : U > : ^ >f : (v: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ @@ -35,7 +35,7 @@ function foo(f: (v: T) => U) { >f(null) : U > : ^ >f : (v: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ var r4 = f(null); >r4 : U @@ -43,6 +43,6 @@ function foo(f: (v: T) => U) { >f(null) : U > : ^ >f : (v: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ } diff --git a/tests/baselines/reference/typeArgumentsShouldDisallowNonGenericOverloads.types b/tests/baselines/reference/typeArgumentsShouldDisallowNonGenericOverloads.types index 8069d2654bfbe..cd64f6c52d76c 100644 --- a/tests/baselines/reference/typeArgumentsShouldDisallowNonGenericOverloads.types +++ b/tests/baselines/reference/typeArgumentsShouldDisallowNonGenericOverloads.types @@ -3,19 +3,19 @@ === typeArgumentsShouldDisallowNonGenericOverloads.ts === function foo(a: string): string; >foo : { (a: string): string; (a: T): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >a : string > : ^^^^^^ function foo(a: T): number; >foo : { (a: string): string; (a: T): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >a : T > : ^ function foo(a: any): any { >foo : { (a: string): string; (a: T): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >a : any > : ^^^ @@ -30,7 +30,7 @@ var x: number = foo("hi"); // return type should be 'number' >foo("hi") : number > : ^^^^^^ >foo : { (a: string): string; (a: T): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >"hi" : "hi" > : ^^^^ @@ -40,7 +40,7 @@ var y: string = foo("hi"); // return type should be 'string' >foo("hi") : string > : ^^^^^^ >foo : { (a: string): string; (a: T): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >"hi" : "hi" > : ^^^^ @@ -50,7 +50,7 @@ var w: string = foo("hi"); // should error >foo("hi") : number > : ^^^^^^ >foo : { (a: string): string; (a: T): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >"hi" : "hi" > : ^^^^ @@ -60,7 +60,7 @@ var z: number = foo("hi"); // should error >foo("hi") : string > : ^^^^^^ >foo : { (a: string): string; (a: T): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >"hi" : "hi" > : ^^^^ diff --git a/tests/baselines/reference/typeArgumentsWithStringLiteralTypes01.types b/tests/baselines/reference/typeArgumentsWithStringLiteralTypes01.types index c92d1e74cd813..b60afb3ff4375 100644 --- a/tests/baselines/reference/typeArgumentsWithStringLiteralTypes01.types +++ b/tests/baselines/reference/typeArgumentsWithStringLiteralTypes01.types @@ -37,7 +37,7 @@ function fun1(x: T, y: T) { >randBool() : boolean > : ^^^^^^^ >randBool : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >x : T > : ^ >y : T @@ -58,7 +58,7 @@ function fun2(x: T, y: U) { >randBool() : boolean > : ^^^^^^^ >randBool : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >x : T > : ^ >y : U @@ -81,7 +81,7 @@ function fun3(...args: T[]): T { >randBool() : boolean > : ^^^^^^^ >randBool : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } namespace n1 { @@ -145,7 +145,7 @@ namespace n1 { >fun3("Hello", "Hello", "World", "Foo") : "Hello" | "World" | "Foo" > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >fun3 : (...args: T[]) => T -> : ^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >"Hello" : "Hello" > : ^^^^^^^ >"Hello" : "Hello" @@ -164,7 +164,7 @@ namespace n1 { >takeReturnString(a) : string > : ^^^^^^ >takeReturnString : (str: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : string > : ^^^^^^ @@ -176,7 +176,7 @@ namespace n1 { >takeReturnString(b) : string > : ^^^^^^ >takeReturnString : (str: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : string > : ^^^^^^ @@ -188,7 +188,7 @@ namespace n1 { >takeReturnString(c) : string > : ^^^^^^ >takeReturnString : (str: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c : string > : ^^^^^^ @@ -200,7 +200,7 @@ namespace n1 { >takeReturnString(d) : string > : ^^^^^^ >takeReturnString : (str: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >d : string > : ^^^^^^ @@ -212,7 +212,7 @@ namespace n1 { >takeReturnString(e) : string > : ^^^^^^ >takeReturnString : (str: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >e : string > : ^^^^^^ @@ -225,7 +225,7 @@ namespace n1 { >takeReturnHello(a) : "Hello" > : ^^^^^^^ >takeReturnHello : (str: "Hello") => "Hello" -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : string > : ^^^^^^ @@ -237,7 +237,7 @@ namespace n1 { >takeReturnHello(b) : "Hello" > : ^^^^^^^ >takeReturnHello : (str: "Hello") => "Hello" -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : string > : ^^^^^^ @@ -249,7 +249,7 @@ namespace n1 { >takeReturnHello(c) : "Hello" > : ^^^^^^^ >takeReturnHello : (str: "Hello") => "Hello" -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c : string > : ^^^^^^ @@ -261,7 +261,7 @@ namespace n1 { >takeReturnHello(d) : "Hello" > : ^^^^^^^ >takeReturnHello : (str: "Hello") => "Hello" -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >d : string > : ^^^^^^ @@ -273,7 +273,7 @@ namespace n1 { >takeReturnHello(e) : "Hello" > : ^^^^^^^ >takeReturnHello : (str: "Hello") => "Hello" -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >e : string > : ^^^^^^ @@ -286,7 +286,7 @@ namespace n1 { >takeReturnHelloWorld(a) : "Hello" | "World" > : ^^^^^^^^^^^^^^^^^ >takeReturnHelloWorld : (str: "Hello" | "World") => "Hello" | "World" -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : string > : ^^^^^^ @@ -298,7 +298,7 @@ namespace n1 { >takeReturnHelloWorld(b) : "Hello" | "World" > : ^^^^^^^^^^^^^^^^^ >takeReturnHelloWorld : (str: "Hello" | "World") => "Hello" | "World" -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : string > : ^^^^^^ @@ -310,7 +310,7 @@ namespace n1 { >takeReturnHelloWorld(c) : "Hello" | "World" > : ^^^^^^^^^^^^^^^^^ >takeReturnHelloWorld : (str: "Hello" | "World") => "Hello" | "World" -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c : string > : ^^^^^^ @@ -322,7 +322,7 @@ namespace n1 { >takeReturnHelloWorld(d) : "Hello" | "World" > : ^^^^^^^^^^^^^^^^^ >takeReturnHelloWorld : (str: "Hello" | "World") => "Hello" | "World" -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >d : string > : ^^^^^^ @@ -334,7 +334,7 @@ namespace n1 { >takeReturnHelloWorld(e) : "Hello" | "World" > : ^^^^^^^^^^^^^^^^^ >takeReturnHelloWorld : (str: "Hello" | "World") => "Hello" | "World" -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >e : string > : ^^^^^^ } @@ -399,7 +399,7 @@ namespace n2 { >fun3<"Hello">("Hello", "World") : "Hello" > : ^^^^^^^ >fun3 : (...args: T[]) => T -> : ^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >"Hello" : "Hello" > : ^^^^^^^ >"World" : "World" @@ -414,7 +414,7 @@ namespace n2 { >takeReturnString(a) : string > : ^^^^^^ >takeReturnString : (str: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : "Hello" > : ^^^^^^^ @@ -426,7 +426,7 @@ namespace n2 { >takeReturnString(b) : string > : ^^^^^^ >takeReturnString : (str: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : "Hello" > : ^^^^^^^ @@ -438,7 +438,7 @@ namespace n2 { >takeReturnString(c) : string > : ^^^^^^ >takeReturnString : (str: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c : "Hello" > : ^^^^^^^ @@ -450,7 +450,7 @@ namespace n2 { >takeReturnString(d) : string > : ^^^^^^ >takeReturnString : (str: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >d : "Hello" > : ^^^^^^^ @@ -462,7 +462,7 @@ namespace n2 { >takeReturnString(e) : string > : ^^^^^^ >takeReturnString : (str: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >e : "Hello" > : ^^^^^^^ @@ -475,7 +475,7 @@ namespace n2 { >takeReturnHello(a) : "Hello" > : ^^^^^^^ >takeReturnHello : (str: "Hello") => "Hello" -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : "Hello" > : ^^^^^^^ @@ -487,7 +487,7 @@ namespace n2 { >takeReturnHello(b) : "Hello" > : ^^^^^^^ >takeReturnHello : (str: "Hello") => "Hello" -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : "Hello" > : ^^^^^^^ @@ -499,7 +499,7 @@ namespace n2 { >takeReturnHello(c) : "Hello" > : ^^^^^^^ >takeReturnHello : (str: "Hello") => "Hello" -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c : "Hello" > : ^^^^^^^ @@ -511,7 +511,7 @@ namespace n2 { >takeReturnHello(d) : "Hello" > : ^^^^^^^ >takeReturnHello : (str: "Hello") => "Hello" -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >d : "Hello" > : ^^^^^^^ @@ -523,7 +523,7 @@ namespace n2 { >takeReturnHello(e) : "Hello" > : ^^^^^^^ >takeReturnHello : (str: "Hello") => "Hello" -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >e : "Hello" > : ^^^^^^^ @@ -536,7 +536,7 @@ namespace n2 { >takeReturnHelloWorld(a) : "Hello" | "World" > : ^^^^^^^^^^^^^^^^^ >takeReturnHelloWorld : (str: "Hello" | "World") => "Hello" | "World" -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : "Hello" > : ^^^^^^^ @@ -548,7 +548,7 @@ namespace n2 { >takeReturnHelloWorld(b) : "Hello" | "World" > : ^^^^^^^^^^^^^^^^^ >takeReturnHelloWorld : (str: "Hello" | "World") => "Hello" | "World" -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : "Hello" > : ^^^^^^^ @@ -560,7 +560,7 @@ namespace n2 { >takeReturnHelloWorld(c) : "Hello" | "World" > : ^^^^^^^^^^^^^^^^^ >takeReturnHelloWorld : (str: "Hello" | "World") => "Hello" | "World" -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c : "Hello" > : ^^^^^^^ @@ -572,7 +572,7 @@ namespace n2 { >takeReturnHelloWorld(d) : "Hello" | "World" > : ^^^^^^^^^^^^^^^^^ >takeReturnHelloWorld : (str: "Hello" | "World") => "Hello" | "World" -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >d : "Hello" > : ^^^^^^^ @@ -584,7 +584,7 @@ namespace n2 { >takeReturnHelloWorld(e) : "Hello" | "World" > : ^^^^^^^^^^^^^^^^^ >takeReturnHelloWorld : (str: "Hello" | "World") => "Hello" | "World" -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >e : "Hello" > : ^^^^^^^ } @@ -650,7 +650,7 @@ namespace n3 { >fun3<"Hello" | "World">("Hello", "World") : "Hello" | "World" > : ^^^^^^^^^^^^^^^^^ >fun3 : (...args: T[]) => T -> : ^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >"Hello" : "Hello" > : ^^^^^^^ >"World" : "World" @@ -665,7 +665,7 @@ namespace n3 { >takeReturnString(a) : string > : ^^^^^^ >takeReturnString : (str: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : "Hello" | "World" > : ^^^^^^^^^^^^^^^^^ @@ -677,7 +677,7 @@ namespace n3 { >takeReturnString(b) : string > : ^^^^^^ >takeReturnString : (str: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : "Hello" | "World" > : ^^^^^^^^^^^^^^^^^ @@ -689,7 +689,7 @@ namespace n3 { >takeReturnString(c) : string > : ^^^^^^ >takeReturnString : (str: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c : "Hello" | "World" > : ^^^^^^^^^^^^^^^^^ @@ -701,7 +701,7 @@ namespace n3 { >takeReturnString(d) : string > : ^^^^^^ >takeReturnString : (str: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >d : "Hello" | "World" > : ^^^^^^^^^^^^^^^^^ @@ -713,7 +713,7 @@ namespace n3 { >takeReturnString(e) : string > : ^^^^^^ >takeReturnString : (str: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >e : "Hello" | "World" > : ^^^^^^^^^^^^^^^^^ @@ -726,7 +726,7 @@ namespace n3 { >takeReturnHello(a) : "Hello" > : ^^^^^^^ >takeReturnHello : (str: "Hello") => "Hello" -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : "Hello" | "World" > : ^^^^^^^^^^^^^^^^^ @@ -738,7 +738,7 @@ namespace n3 { >takeReturnHello(b) : "Hello" > : ^^^^^^^ >takeReturnHello : (str: "Hello") => "Hello" -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : "Hello" | "World" > : ^^^^^^^^^^^^^^^^^ @@ -750,7 +750,7 @@ namespace n3 { >takeReturnHello(c) : "Hello" > : ^^^^^^^ >takeReturnHello : (str: "Hello") => "Hello" -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c : "Hello" | "World" > : ^^^^^^^^^^^^^^^^^ @@ -762,7 +762,7 @@ namespace n3 { >takeReturnHello(d) : "Hello" > : ^^^^^^^ >takeReturnHello : (str: "Hello") => "Hello" -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >d : "Hello" | "World" > : ^^^^^^^^^^^^^^^^^ @@ -774,7 +774,7 @@ namespace n3 { >takeReturnHello(e) : "Hello" > : ^^^^^^^ >takeReturnHello : (str: "Hello") => "Hello" -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >e : "Hello" | "World" > : ^^^^^^^^^^^^^^^^^ @@ -787,7 +787,7 @@ namespace n3 { >takeReturnHelloWorld(a) : "Hello" | "World" > : ^^^^^^^^^^^^^^^^^ >takeReturnHelloWorld : (str: "Hello" | "World") => "Hello" | "World" -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : "Hello" > : ^^^^^^^ @@ -799,7 +799,7 @@ namespace n3 { >takeReturnHelloWorld(b) : "Hello" | "World" > : ^^^^^^^^^^^^^^^^^ >takeReturnHelloWorld : (str: "Hello" | "World") => "Hello" | "World" -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b : "Hello" > : ^^^^^^^ @@ -811,7 +811,7 @@ namespace n3 { >takeReturnHelloWorld(c) : "Hello" | "World" > : ^^^^^^^^^^^^^^^^^ >takeReturnHelloWorld : (str: "Hello" | "World") => "Hello" | "World" -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c : "Hello" > : ^^^^^^^ @@ -823,7 +823,7 @@ namespace n3 { >takeReturnHelloWorld(d) : "Hello" | "World" > : ^^^^^^^^^^^^^^^^^ >takeReturnHelloWorld : (str: "Hello" | "World") => "Hello" | "World" -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >d : "Hello" > : ^^^^^^^ @@ -835,7 +835,7 @@ namespace n3 { >takeReturnHelloWorld(e) : "Hello" | "World" > : ^^^^^^^^^^^^^^^^^ >takeReturnHelloWorld : (str: "Hello" | "World") => "Hello" | "World" -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >e : "Hello" > : ^^^^^^^ } diff --git a/tests/baselines/reference/typeAssertionToGenericFunctionType.types b/tests/baselines/reference/typeAssertionToGenericFunctionType.types index cd510db5e2c6c..0654ab1bae06a 100644 --- a/tests/baselines/reference/typeAssertionToGenericFunctionType.types +++ b/tests/baselines/reference/typeAssertionToGenericFunctionType.types @@ -37,11 +37,11 @@ x.a(1); // bug was that this caused 'Could not find symbol T' on return >x.a(1) : string > : ^^^^^^ >x.a : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x : { a: (x: T) => T; b: (x: T) => void; } > : ^^^^^ ^^^^^^ ^^ ^^ ^^^^^^^^^^^^ >a : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/typeCheckTypeArgument.types b/tests/baselines/reference/typeCheckTypeArgument.types index b59bb5ecb0439..6c0537112f34c 100644 --- a/tests/baselines/reference/typeCheckTypeArgument.types +++ b/tests/baselines/reference/typeCheckTypeArgument.types @@ -3,7 +3,7 @@ === typeCheckTypeArgument.ts === var f: () => void; >f : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^ interface IFoo { } @@ -13,7 +13,7 @@ class Foo { } function bar() { } >bar : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ class Foo2 { >Foo2 : Foo2 @@ -21,14 +21,14 @@ class Foo2 { method() { } >method : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^ } ((a) => { }); >((a) => { }) : (a: any) => void -> : ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ >(a) => { } : (a: any) => void -> : ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ >a : any > : ^^^ diff --git a/tests/baselines/reference/typeFromContextualThisType.types b/tests/baselines/reference/typeFromContextualThisType.types index 41fcdf7dee06c..344254b73dbdc 100644 --- a/tests/baselines/reference/typeFromContextualThisType.types +++ b/tests/baselines/reference/typeFromContextualThisType.types @@ -4,7 +4,7 @@ /** @type {{ a(): void; b?(n: number): number; }} */ const o1 = { >o1 : { a(): void; b?(n: number): number; } -> : ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ ^^ ^^^ ^^^ >{ a() { this.b = n => n; }} : { a(): void; } > : ^^^^^^^^^^^^^^ @@ -16,11 +16,11 @@ const o1 = { >this.b = n => n : (n: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >this.b : ((n: number) => number) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >this : { a(): void; b?(n: number): number; } -> : ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ ^^ ^^^ ^^^ >b : ((n: number) => number) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >n => n : (n: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >n : number @@ -32,8 +32,8 @@ const o1 = { /** @type {{ d(): void; e?(n: number): number; f?(n: number): number; g?: number }} */ const o2 = { ->o2 : { d(): void; e?(n: number): number; f?(n: number): number; g?: number | undefined; } -> : ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>o2 : { d(): void; e?(n: number): number; f?(n: number): number; g?: number; } +> : ^^^^^^^ ^^^^^ ^^ ^^^ ^^^^^ ^^ ^^^ ^^^^^^ ^^^ >{ d() { this.e = this.f = m => this.g || m; }} : { d(): void; } > : ^^^^^^^^^^^^^^ @@ -45,19 +45,19 @@ const o2 = { >this.e = this.f = m => this.g || m : (m: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >this.e : ((n: number) => number) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ->this : { d(): void; e?(n: number): number; f?(n: number): number; g?: number | undefined; } -> : ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ +>this : { d(): void; e?(n: number): number; f?(n: number): number; g?: number; } +> : ^^^^^^^ ^^^^^ ^^ ^^^ ^^^^^ ^^ ^^^ ^^^^^^ ^^^ >e : ((n: number) => number) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >this.f = m => this.g || m : (m: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >this.f : ((n: number) => number) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ->this : { d(): void; e?(n: number): number; f?(n: number): number; g?: number | undefined; } -> : ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ +>this : { d(): void; e?(n: number): number; f?(n: number): number; g?: number; } +> : ^^^^^^^ ^^^^^ ^^ ^^^ ^^^^^ ^^ ^^^ ^^^^^^ ^^^ >f : ((n: number) => number) | undefined -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >m => this.g || m : (m: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >m : number @@ -66,8 +66,8 @@ const o2 = { > : ^^^^^^ >this.g : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->this : { d(): void; e?(n: number): number; f?(n: number): number; g?: number | undefined; } -> : ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>this : { d(): void; e?(n: number): number; f?(n: number): number; g?: number; } +> : ^^^^^^^ ^^^^^ ^^ ^^^ ^^^^^ ^^ ^^^ ^^^^^^ ^^^ >g : number | undefined > : ^^^^^^^^^^^^^^^^^^ >m : number diff --git a/tests/baselines/reference/typeFromJSConstructor.types b/tests/baselines/reference/typeFromJSConstructor.types index 7c3f4be1910a2..12695584bd85d 100644 --- a/tests/baselines/reference/typeFromJSConstructor.types +++ b/tests/baselines/reference/typeFromJSConstructor.types @@ -231,7 +231,7 @@ Installer.prototype.second = function () { >this.twices.push(1) : number > : ^^^^^^ >this.twices.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >this.twices : any[] | null > : ^^^^^^^^^^^^ >this : this @@ -239,7 +239,7 @@ Installer.prototype.second = function () { >twices : any[] | null > : ^^^^^^^^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >1 : 1 > : ^ @@ -257,7 +257,7 @@ Installer.prototype.second = function () { >this.twices.push('hi') : number > : ^^^^^^ >this.twices.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >this.twices : any[] > : ^^^^^ >this : this @@ -265,7 +265,7 @@ Installer.prototype.second = function () { >twices : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >'hi' : "hi" > : ^^^^ } diff --git a/tests/baselines/reference/typeFromJSInitializer.types b/tests/baselines/reference/typeFromJSInitializer.types index d5f0f666f2a6e..41b74960c9a7e 100644 --- a/tests/baselines/reference/typeFromJSInitializer.types +++ b/tests/baselines/reference/typeFromJSInitializer.types @@ -148,7 +148,7 @@ a.empty.push(1) >a.empty.push(1) : number > : ^^^^^^ >a.empty.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >a.empty : any[] > : ^^^^^ >a : A @@ -156,7 +156,7 @@ a.empty.push(1) >empty : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >1 : 1 > : ^ @@ -164,7 +164,7 @@ a.empty.push(true) >a.empty.push(true) : number > : ^^^^^^ >a.empty.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >a.empty : any[] > : ^^^^^ >a : A @@ -172,7 +172,7 @@ a.empty.push(true) >empty : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >true : true > : ^^^^ @@ -180,7 +180,7 @@ a.empty.push({}) >a.empty.push({}) : number > : ^^^^^^ >a.empty.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >a.empty : any[] > : ^^^^^ >a : A @@ -188,7 +188,7 @@ a.empty.push({}) >empty : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >{} : {} > : ^^ @@ -196,7 +196,7 @@ a.empty.push('hi') >a.empty.push('hi') : number > : ^^^^^^ >a.empty.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >a.empty : any[] > : ^^^^^ >a : A @@ -204,7 +204,7 @@ a.empty.push('hi') >empty : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >'hi' : "hi" > : ^^^^ @@ -305,11 +305,11 @@ function f(a = null, b = n, l = []) { >l.push(1) : number > : ^^^^^^ >l.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >l : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >1 : 1 > : ^ @@ -317,11 +317,11 @@ function f(a = null, b = n, l = []) { >l.push('ok') : number > : ^^^^^^ >l.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >l : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >'ok' : "ok" > : ^^^^ } @@ -383,18 +383,18 @@ l.push('ok') >l.push('ok') : number > : ^^^^^^ >l.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >l : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >'ok' : "ok" > : ^^^^ /** @type {(v: unknown) => v is undefined} */ const isUndef = v => v === undefined; >isUndef : (v: unknown) => v is undefined -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >v => v === undefined : (v: unknown) => v is undefined > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >v : unknown @@ -423,11 +423,11 @@ const g = e.filter(isUndef); >e.filter(isUndef) : undefined[] > : ^^^^^^^^^^^ >e.filter : { (predicate: (value: number | undefined, index: number, array: (number | undefined)[]) => value is S, thisArg?: any): S[]; (predicate: (value: number | undefined, index: number, array: (number | undefined)[]) => unknown, thisArg?: any): (number | undefined)[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >e : (number | undefined)[] > : ^^^^^^^^^^^^^^^^^^^^^^ >filter : { (predicate: (value: number | undefined, index: number, array: (number | undefined)[]) => value is S, thisArg?: any): S[]; (predicate: (value: number | undefined, index: number, array: (number | undefined)[]) => unknown, thisArg?: any): (number | undefined)[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >isUndef : (v: unknown) => v is undefined -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ diff --git a/tests/baselines/reference/typeFromJSInitializer2.types b/tests/baselines/reference/typeFromJSInitializer2.types index 55f52dc0c7796..d882f7657ea0a 100644 --- a/tests/baselines/reference/typeFromJSInitializer2.types +++ b/tests/baselines/reference/typeFromJSInitializer2.types @@ -16,7 +16,7 @@ const a = f1() >f1() : undefined > : ^^^^^^^^^ >f1 : () => undefined -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ /** @type {() => null} */ function f2() { @@ -31,5 +31,5 @@ const b = f2() >f2() : null > : ^^^^ >f2 : () => null -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/typeFromJSInitializer3.types b/tests/baselines/reference/typeFromJSInitializer3.types index 296dea4db7f77..44457d63d717c 100644 --- a/tests/baselines/reference/typeFromJSInitializer3.types +++ b/tests/baselines/reference/typeFromJSInitializer3.types @@ -16,7 +16,7 @@ const a = f1() >f1() : undefined > : ^^^^^^^^^ >f1 : () => undefined -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ /** @type {() => null} */ function f2() { @@ -31,5 +31,5 @@ const b = f2() >f2() : null > : ^^^^ >f2 : () => null -> : ^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/typeFromJSInitializer4.types b/tests/baselines/reference/typeFromJSInitializer4.types index 0b756271b399a..4ffbd5acc3dbf 100644 --- a/tests/baselines/reference/typeFromJSInitializer4.types +++ b/tests/baselines/reference/typeFromJSInitializer4.types @@ -98,11 +98,11 @@ function f(a = null, b = n, l = []) { >l.push(1) : number > : ^^^^^^ >l.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >l : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >1 : 1 > : ^ @@ -110,11 +110,11 @@ function f(a = null, b = n, l = []) { >l.push('ok') : number > : ^^^^^^ >l.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >l : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >'ok' : "ok" > : ^^^^ } diff --git a/tests/baselines/reference/typeFromParamTagForFunction.types b/tests/baselines/reference/typeFromParamTagForFunction.types index 10f401ccefbbf..b42118d9ef270 100644 --- a/tests/baselines/reference/typeFromParamTagForFunction.types +++ b/tests/baselines/reference/typeFromParamTagForFunction.types @@ -44,7 +44,7 @@ const { A } = require("./a-ext"); >require("./a-ext") : typeof import("a-ext") > : ^^^^^^^^^^^^^^^^^^^^^^ >require : (id: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >"./a-ext" : "./a-ext" > : ^^^^^^^^^ @@ -95,7 +95,7 @@ const { B } = require("./b-ext"); >require("./b-ext") : typeof import("b-ext") > : ^^^^^^^^^^^^^^^^^^^^^^ >require : (id: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >"./b-ext" : "./b-ext" > : ^^^^^^^^^ @@ -136,7 +136,7 @@ const { C } = require("./c-ext"); >require("./c-ext") : typeof import("c-ext") > : ^^^^^^^^^^^^^^^^^^^^^^ >require : (id: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >"./c-ext" : "./c-ext" > : ^^^^^^^^^ @@ -180,7 +180,7 @@ const { D } = require("./d-ext"); >require("./d-ext") : typeof import("d-ext") > : ^^^^^^^^^^^^^^^^^^^^^^ >require : (id: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >"./d-ext" : "./d-ext" > : ^^^^^^^^^ @@ -223,7 +223,7 @@ const { E } = require("./e-ext"); >require("./e-ext") : typeof import("e-ext") > : ^^^^^^^^^^^^^^^^^^^^^^ >require : (id: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >"./e-ext" : "./e-ext" > : ^^^^^^^^^ diff --git a/tests/baselines/reference/typeFromPrivatePropertyAssignmentJs.types b/tests/baselines/reference/typeFromPrivatePropertyAssignmentJs.types index 05199c66f89d6..9b4faabae3d79 100644 --- a/tests/baselines/reference/typeFromPrivatePropertyAssignmentJs.types +++ b/tests/baselines/reference/typeFromPrivatePropertyAssignmentJs.types @@ -23,11 +23,11 @@ class C { const a = this.#a || {}; >a : { foo?: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >this.#a || {} : { foo?: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >this.#a : { foo?: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >this : this > : ^^^^ >{} : {} @@ -35,15 +35,15 @@ class C { this.#b = this.#b || {}; >this.#b = this.#b || {} : { foo?: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >this.#b : { foo?: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >this : this > : ^^^^ >this.#b || {} : { foo?: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >this.#b : { foo?: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >this : this > : ^^^^ >{} : {} diff --git a/tests/baselines/reference/typeFromPropertyAssignment21.types b/tests/baselines/reference/typeFromPropertyAssignment21.types index feee021605695..a89fea0b009bb 100644 --- a/tests/baselines/reference/typeFromPropertyAssignment21.types +++ b/tests/baselines/reference/typeFromPropertyAssignment21.types @@ -10,7 +10,7 @@ Event.prototype.removeChildren = function () { >Event.prototype : Event > : ^^^^^ >Event : { new (type: string, eventInitDict?: EventInit): Event; prototype: Event; readonly NONE: 0; readonly CAPTURING_PHASE: 1; readonly AT_TARGET: 2; readonly BUBBLING_PHASE: 3; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >prototype : Event > : ^^^^^ >removeChildren : any diff --git a/tests/baselines/reference/typeFromPropertyAssignment29.types b/tests/baselines/reference/typeFromPropertyAssignment29.types index 18d54a25f93cc..24b9cb40ac25d 100644 --- a/tests/baselines/reference/typeFromPropertyAssignment29.types +++ b/tests/baselines/reference/typeFromPropertyAssignment29.types @@ -11,11 +11,11 @@ function ExpandoDecl(n: number) { >n.toString() : string > : ^^^^^^ >n.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >n : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } ExpandoDecl.prop = 2 >ExpandoDecl.prop = 2 : 2 @@ -97,11 +97,11 @@ const ExpandoExpr = function (n: number) { >n.toString() : string > : ^^^^^^ >n.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >n : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } ExpandoExpr.prop = { x: 2 } >ExpandoExpr.prop = { x: 2 } : { x: number; } @@ -211,11 +211,11 @@ const ExpandoArrow = (n: number) => n.toString(); >n.toString() : string > : ^^^^^^ >n.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >n : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ExpandoArrow.prop = 2 >ExpandoArrow.prop = 2 : 2 @@ -404,7 +404,7 @@ namespace Ns { >ExpandoNamespace.p6 : number > : ^^^^^^ >ExpandoNamespace : { (): void; p6: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^ >p6 : number > : ^^^^^^ >42 : 42 @@ -412,11 +412,11 @@ namespace Ns { export function foo() { >foo : () => { (): void; p6: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ return ExpandoNamespace; >ExpandoNamespace : { (): void; p6: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^ } } @@ -433,11 +433,11 @@ var ExpandoExpr2 = function (n: number) { >n.toString() : string > : ^^^^^^ >n.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >n : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } ExpandoExpr2.prop = 2 >ExpandoExpr2.prop = 2 : 2 diff --git a/tests/baselines/reference/typeFromPrototypeAssignment3.types b/tests/baselines/reference/typeFromPrototypeAssignment3.types index c0f82afaa2c04..d419ef4d35039 100644 --- a/tests/baselines/reference/typeFromPrototypeAssignment3.types +++ b/tests/baselines/reference/typeFromPrototypeAssignment3.types @@ -27,7 +27,7 @@ Multimap3.prototype = { >Multimap3 : typeof Multimap3 > : ^^^^^^^^^^^^^^^^ >prototype : { get(key: string): number; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >{ /** * @param {string} key * @returns {number} the value ok */ get(key) { return this._map[key + '']; }} : { get(key: string): number; } > : ^^^^^^ ^^ ^^^ ^^^ @@ -74,11 +74,11 @@ const n = map.get('hi') >map.get('hi') : number > : ^^^^^^ >map.get : (key: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >map : Multimap3 > : ^^^^^^^^^ >get : (key: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'hi' : "hi" > : ^^^^ diff --git a/tests/baselines/reference/typeFromPrototypeAssignment4.types b/tests/baselines/reference/typeFromPrototypeAssignment4.types index d48a684ff6aa9..accadb79b9288 100644 --- a/tests/baselines/reference/typeFromPrototypeAssignment4.types +++ b/tests/baselines/reference/typeFromPrototypeAssignment4.types @@ -62,7 +62,7 @@ Multimap4["prototype"]["add-on"] = function() {}; > : ^^^^^^^^^^ >Multimap4["prototype"]["add-on"] : any >Multimap4["prototype"] : { get(key: string): number; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >Multimap4 : typeof Multimap4 > : ^^^^^^^^^^^^^^^^ >"prototype" : "prototype" @@ -77,7 +77,7 @@ Multimap4["prototype"]["addon"] = function() {}; > : ^^^^^^^^^^ >Multimap4["prototype"]["addon"] : any >Multimap4["prototype"] : { get(key: string): number; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >Multimap4 : typeof Multimap4 > : ^^^^^^^^^^^^^^^^ >"prototype" : "prototype" @@ -92,7 +92,7 @@ Multimap4["prototype"]["__underscores__"] = function() {}; > : ^^^^^^^^^^ >Multimap4["prototype"]["__underscores__"] : any >Multimap4["prototype"] : { get(key: string): number; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >Multimap4 : typeof Multimap4 > : ^^^^^^^^^^^^^^^^ >"prototype" : "prototype" @@ -114,11 +114,11 @@ map4.get(""); >map4.get("") : number > : ^^^^^^ >map4.get : (key: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >map4 : Multimap4 > : ^^^^^^^^^ >get : (key: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"" : "" > : ^^ diff --git a/tests/baselines/reference/typeGuardFunction.types b/tests/baselines/reference/typeGuardFunction.types index 593db9df01408..fdd5fdfeab3ee 100644 --- a/tests/baselines/reference/typeGuardFunction.types +++ b/tests/baselines/reference/typeGuardFunction.types @@ -62,7 +62,7 @@ if (isC(a)) { >isC(a) : boolean > : ^^^^^^^ >isC : (p1: any) => p1 is C -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : A > : ^ @@ -84,7 +84,7 @@ if(isA(subType)) { >isA(subType) : boolean > : ^^^^^^^ >isA : (p1: any) => p1 is A -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >subType : C > : ^ @@ -106,7 +106,7 @@ if(isA(union)) { >isA(union) : boolean > : ^^^^^^^ >isA : (p1: any) => p1 is A -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >union : A | B > : ^^^^^ @@ -138,7 +138,7 @@ if (isC_multipleParams(a, 0)) { >isC_multipleParams(a, 0) : boolean > : ^^^^^^^ >isC_multipleParams : (p1: any, p2: any) => p1 is C -> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^^^^^^ >a : A > : ^ >0 : 0 @@ -230,7 +230,7 @@ acceptingBoolean(isA(a)); >isA(a) : boolean > : ^^^^^^^ >isA : (p1: any) => p1 is A -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : A > : ^ @@ -247,7 +247,7 @@ acceptingTypeGuardFunction(isA); >acceptingTypeGuardFunction : (p1: (item: any) => item is A) => any > : ^ ^^ ^^^ ^^^^^^^^ >isA : (p1: any) => p1 is A -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ // Binary expressions let union2: C | B; @@ -262,7 +262,7 @@ let union3: boolean | B = isA(union2) || union2; >isA(union2) : boolean > : ^^^^^^^ >isA : (p1: any) => p1 is A -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >union2 : B | C > : ^^^^^ >union2 : B diff --git a/tests/baselines/reference/typeGuardFunctionErrors.types b/tests/baselines/reference/typeGuardFunctionErrors.types index 8a5fa9896f8df..7fda3c139ac01 100644 --- a/tests/baselines/reference/typeGuardFunctionErrors.types +++ b/tests/baselines/reference/typeGuardFunctionErrors.types @@ -58,7 +58,7 @@ function hasTypeGuardTypeInsideTypeGuardType(x): x is x is A { function hasMissingIsKeyword(): x { >hasMissingIsKeyword : () => x -> : ^^^^^^^ +> : ^^^^^^ return true; >true : true @@ -168,7 +168,7 @@ if (isB(b)) { >isB(b) : boolean > : ^^^^^^^ >isB : (p1: any) => p1 is B -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >b : B > : ^ @@ -186,7 +186,7 @@ if (funA(0, a)) { >funA(0, a) : boolean > : ^^^^^^^ >funA : (p1: any, p2: any) => p1 is B -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >0 : 0 > : ^ >a : A @@ -234,7 +234,7 @@ acceptingDifferentSignatureTypeGuardFunction(isC); >acceptingDifferentSignatureTypeGuardFunction : (p1: (p1: any) => p1 is B) => any > : ^ ^^ ^^^ ^^^^^^^^ >isC : (p1: any) => p1 is C -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ // Boolean not assignable to type guard var assign1: (p1, p2) => p1 is A; @@ -249,7 +249,7 @@ assign1 = function(p1, p2): boolean { >assign1 = function(p1, p2): boolean { return true;} : (p1: any, p2: any) => boolean > : ^ ^^^^^^^ ^^^^^^^^^^ >assign1 : (p1: any, p2: any) => p1 is A -> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^^^^^^ >function(p1, p2): boolean { return true;} : (p1: any, p2: any) => boolean > : ^ ^^^^^^^ ^^^^^^^^^^ >p1 : any @@ -276,7 +276,7 @@ assign2 = function(p1, p2): p2 is A { >assign2 = function(p1, p2): p2 is A { return true;} : (p1: any, p2: any) => p2 is A > : ^ ^^^^^^^ ^^^^^^^^^^ >assign2 : (p1: any, p2: any) => p1 is A -> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^^^^^^ >function(p1, p2): p2 is A { return true;} : (p1: any, p2: any) => p2 is A > : ^ ^^^^^^^ ^^^^^^^^^^ >p1 : any @@ -303,7 +303,7 @@ assign3 = function(p1, p2, p3): p1 is A { >assign3 = function(p1, p2, p3): p1 is A { return true;} : (p1: any, p2: any, p3: any) => p1 is A > : ^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ >assign3 : (p1: any, p2: any) => p1 is A -> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^^^^^^ >function(p1, p2, p3): p1 is A { return true;} : (p1: any, p2: any, p3: any) => p1 is A > : ^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^ >p1 : any @@ -330,7 +330,7 @@ var b1: b is A; function b2(a: b is A) {}; >b2 : (a: b, is: any, A: any) => void -> : ^ ^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^ >a : b > : ^ >is : any @@ -484,7 +484,7 @@ if (hasMissingParameter()) { >hasMissingParameter() : boolean > : ^^^^^^^ >hasMissingParameter : () => x is A -> : ^^^^^^^^^^^^ +> : ^^^^^^ x.propA; >x.propA : number @@ -510,7 +510,7 @@ type KeySet = { [k in T]: true } // expected an error, since Keys doesn't have a 'd' declare function hasKey(x: KeySet): x is KeySet; >hasKey : (x: KeySet) => x is KeySet -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : KeySet > : ^^^^^^^^^ diff --git a/tests/baselines/reference/typeGuardFunctionGenerics.types b/tests/baselines/reference/typeGuardFunctionGenerics.types index 7cb3d5ca6df17..58df2241c7814 100644 --- a/tests/baselines/reference/typeGuardFunctionGenerics.types +++ b/tests/baselines/reference/typeGuardFunctionGenerics.types @@ -94,17 +94,17 @@ let test1: boolean = funA(isB); >funA(isB) : boolean > : ^^^^^^^ >funA : (p1: (p1: any) => T) => T -> : ^ ^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >isB : (p1: any) => p1 is B -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ if (funB(retC, a)) { >funB(retC, a) : boolean > : ^^^^^^^ >funB : (p1: (p1: any) => T, p2: any) => p2 is T -> : ^ ^^ ^^ ^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^ ^^^^^ >retC : (x: any) => C -> : ^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >a : A > : ^ @@ -122,17 +122,17 @@ let test2: B = funC(isB); >funC(isB) : B > : ^ >funC : (p1: (p1: any) => p1 is T) => T -> : ^ ^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >isB : (p1: any) => p1 is B -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ if (funD(isC, a)) { >funD(isC, a) : boolean > : ^^^^^^^ >funD : (p1: (p1: any) => p1 is T, p2: any) => p2 is T -> : ^ ^^ ^^ ^^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^ ^^^^^ >isC : (p1: any) => p1 is C -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >a : A > : ^ @@ -150,9 +150,9 @@ let test3: B = funE(isB, 1); >funE(isB, 1) : B > : ^ >funE : (p1: (p1: any) => p1 is T, p2: U) => T -> : ^ ^^ ^^ ^^ ^^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^ ^^ ^^^^^ >isB : (p1: any) => p1 is B -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/typeGuardFunctionOfFormThis.types b/tests/baselines/reference/typeGuardFunctionOfFormThis.types index 723daf5873345..cb5b1ee2e18ea 100644 --- a/tests/baselines/reference/typeGuardFunctionOfFormThis.types +++ b/tests/baselines/reference/typeGuardFunctionOfFormThis.types @@ -65,41 +65,41 @@ if (a.isLeader()) { >a.isLeader() : boolean > : ^^^^^^^ >a.isLeader : () => this is LeadGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >a : RoyalGuard > : ^^^^^^^^^^ >isLeader : () => this is LeadGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ a.lead(); >a.lead() : void > : ^^^^ >a.lead : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >a : LeadGuard > : ^^^^^^^^^ >lead : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } else if (a.isFollower()) { >a.isFollower() : boolean > : ^^^^^^^ >a.isFollower : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >a : RoyalGuard > : ^^^^^^^^^^ >isFollower : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ a.follow(); >a.follow() : void > : ^^^^ >a.follow : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >a : FollowerGuard > : ^^^^^^^^^^^^^ >follow : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } interface GuardInterface extends RoyalGuard {} @@ -112,41 +112,41 @@ if (b.isLeader()) { >b.isLeader() : boolean > : ^^^^^^^ >b.isLeader : () => this is LeadGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >b : GuardInterface > : ^^^^^^^^^^^^^^ >isLeader : () => this is LeadGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ b.lead(); >b.lead() : void > : ^^^^ >b.lead : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >b : LeadGuard > : ^^^^^^^^^ >lead : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } else if (b.isFollower()) { >b.isFollower() : boolean > : ^^^^^^^ >b.isFollower : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >b : GuardInterface > : ^^^^^^^^^^^^^^ >isFollower : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ b.follow(); >b.follow() : void > : ^^^^ >b.follow : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >b : FollowerGuard > : ^^^^^^^^^^^^^ >follow : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } // if (((a.isLeader)())) { @@ -175,7 +175,7 @@ if (holder2.a.isLeader()) { >holder2.a.isLeader() : boolean > : ^^^^^^^ >holder2.a.isLeader : () => this is LeadGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >holder2.a : RoyalGuard > : ^^^^^^^^^^ >holder2 : { a: RoyalGuard; } @@ -183,7 +183,7 @@ if (holder2.a.isLeader()) { >a : RoyalGuard > : ^^^^^^^^^^ >isLeader : () => this is LeadGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ holder2.a; >holder2.a : LeadGuard @@ -271,41 +271,41 @@ if (guard.isElite()) { >guard.isElite() : boolean > : ^^^^^^^ >guard.isElite : () => this is ArrowElite -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >guard : ArrowGuard > : ^^^^^^^^^^ >isElite : () => this is ArrowElite -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ guard.defend(); >guard.defend() : void > : ^^^^ >guard.defend : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >guard : ArrowElite > : ^^^^^^^^^^ >defend : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } else if (guard.isMedic()) { >guard.isMedic() : boolean > : ^^^^^^^ >guard.isMedic : () => this is ArrowMedic -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >guard : ArrowGuard > : ^^^^^^^^^^ >isMedic : () => this is ArrowMedic -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ guard.heal(); >guard.heal() : void > : ^^^^ >guard.heal : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >guard : ArrowMedic > : ^^^^^^^^^^ >heal : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } interface Supplies { @@ -346,11 +346,11 @@ if (crate.isSundries()) { >crate.isSundries() : boolean > : ^^^^^^^ >crate.isSundries : () => this is Crate -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >crate : Crate<{}> > : ^^^^^^^^^ >isSundries : () => this is Crate -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ crate.contents.broken = true; >crate.contents.broken = true : true @@ -372,11 +372,11 @@ else if (crate.isSupplies()) { >crate.isSupplies() : boolean > : ^^^^^^^ >crate.isSupplies : () => this is Crate -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >crate : Crate<{}> > : ^^^^^^^^^ >isSupplies : () => this is Crate -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ crate.contents.spoiled = true; >crate.contents.spoiled = true : true @@ -399,35 +399,35 @@ else if (crate.isSupplies()) { a.isFollower = b.isFollower; >a.isFollower = b.isFollower : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >a.isFollower : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >a : RoyalGuard > : ^^^^^^^^^^ >isFollower : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >b.isFollower : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >b : GuardInterface > : ^^^^^^^^^^^^^^ >isFollower : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ a.isLeader = b.isLeader; >a.isLeader = b.isLeader : () => this is LeadGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >a.isLeader : () => this is LeadGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >a : RoyalGuard > : ^^^^^^^^^^ >isLeader : () => this is LeadGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >b.isLeader : () => this is LeadGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >b : GuardInterface > : ^^^^^^^^^^^^^^ >isLeader : () => this is LeadGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ class MimicGuard { >MimicGuard : MimicGuard @@ -486,71 +486,71 @@ let mimic = new MimicGuard(); a.isLeader = mimic.isLeader; >a.isLeader = mimic.isLeader : () => this is MimicLeader -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >a.isLeader : () => this is LeadGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >a : RoyalGuard > : ^^^^^^^^^^ >isLeader : () => this is LeadGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >mimic.isLeader : () => this is MimicLeader -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >mimic : MimicGuard > : ^^^^^^^^^^ >isLeader : () => this is MimicLeader -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ a.isFollower = mimic.isFollower; >a.isFollower = mimic.isFollower : () => this is MimicFollower -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >a.isFollower : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >a : RoyalGuard > : ^^^^^^^^^^ >isFollower : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >mimic.isFollower : () => this is MimicFollower -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >mimic : MimicGuard > : ^^^^^^^^^^ >isFollower : () => this is MimicFollower -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ if (mimic.isFollower()) { >mimic.isFollower() : boolean > : ^^^^^^^ >mimic.isFollower : () => this is MimicFollower -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >mimic : MimicGuard > : ^^^^^^^^^^ >isFollower : () => this is MimicFollower -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ mimic.follow(); >mimic.follow() : void > : ^^^^ >mimic.follow : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >mimic : MimicFollower > : ^^^^^^^^^^^^^ >follow : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ mimic.isFollower = a.isFollower; >mimic.isFollower = a.isFollower : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >mimic.isFollower : () => this is MimicFollower -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >mimic : MimicFollower > : ^^^^^^^^^^^^^ >isFollower : () => this is MimicFollower -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >a.isFollower : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >a : RoyalGuard > : ^^^^^^^^^^ >isFollower : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/typeGuardFunctionOfFormThisErrors.types b/tests/baselines/reference/typeGuardFunctionOfFormThisErrors.types index 0b8aa40b5aa11..28598a91262a4 100644 --- a/tests/baselines/reference/typeGuardFunctionOfFormThisErrors.types +++ b/tests/baselines/reference/typeGuardFunctionOfFormThisErrors.types @@ -73,67 +73,67 @@ let b: GuardInterface = new LeadGuard(); // Mismatched guards shouldn't be assignable b.isFollower = b.isLeader; >b.isFollower = b.isLeader : () => this is LeadGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >b.isFollower : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >b : GuardInterface > : ^^^^^^^^^^^^^^ >isFollower : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >b.isLeader : () => this is LeadGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >b : GuardInterface > : ^^^^^^^^^^^^^^ >isLeader : () => this is LeadGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ b.isLeader = b.isFollower; >b.isLeader = b.isFollower : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >b.isLeader : () => this is LeadGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >b : GuardInterface > : ^^^^^^^^^^^^^^ >isLeader : () => this is LeadGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >b.isFollower : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >b : GuardInterface > : ^^^^^^^^^^^^^^ >isFollower : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ a.isFollower = a.isLeader; >a.isFollower = a.isLeader : () => this is LeadGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >a.isFollower : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >a : RoyalGuard > : ^^^^^^^^^^ >isFollower : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >a.isLeader : () => this is LeadGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >a : RoyalGuard > : ^^^^^^^^^^ >isLeader : () => this is LeadGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ a.isLeader = a.isFollower; >a.isLeader = a.isFollower : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >a.isLeader : () => this is LeadGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >a : RoyalGuard > : ^^^^^^^^^^ >isLeader : () => this is LeadGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >a.isFollower : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >a : RoyalGuard > : ^^^^^^^^^^ >isFollower : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ function invalidGuard(c: any): this is number { >invalidGuard : (c: any) => this is number @@ -154,7 +154,7 @@ if (invalidGuard(c)) { >invalidGuard(c) : boolean > : ^^^^^^^ >invalidGuard : (c: any) => this is number -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c : number | number[] > : ^^^^^^^^^^^^^^^^^ @@ -170,21 +170,21 @@ else { let holder = {invalidGuard}; >holder : { invalidGuard: (c: any) => this is number; } -> : ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ >{invalidGuard} : { invalidGuard: (c: any) => this is number; } -> : ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ >invalidGuard : (c: any) => this is number -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ if (holder.invalidGuard(c)) { >holder.invalidGuard(c) : boolean > : ^^^^^^^ >holder.invalidGuard : (c: any) => this is number -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >holder : { invalidGuard: (c: any) => this is number; } -> : ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ >invalidGuard : (c: any) => this is number -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c : number | number[] > : ^^^^^^^^^^^^^^^^^ @@ -194,7 +194,7 @@ if (holder.invalidGuard(c)) { holder; >holder : { invalidGuard: (c: any) => this is number; } & number -> : ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^ } else { c; @@ -203,24 +203,24 @@ else { holder; >holder : { invalidGuard: (c: any) => this is number; } -> : ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ } let detached = a.isFollower; >detached : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >a.isFollower : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >a : RoyalGuard > : ^^^^^^^^^^ >isFollower : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ if (detached()) { >detached() : boolean > : ^^^^^^^ >detached : () => this is FollowerGuard -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ a.follow(); >a.follow() : any diff --git a/tests/baselines/reference/typeGuardIntersectionTypes.types b/tests/baselines/reference/typeGuardIntersectionTypes.types index d674b18422e1a..5754943f054f6 100644 --- a/tests/baselines/reference/typeGuardIntersectionTypes.types +++ b/tests/baselines/reference/typeGuardIntersectionTypes.types @@ -48,19 +48,19 @@ function f1(obj: Object) { >isX(obj) : boolean > : ^^^^^^^ >isX : (obj: any) => obj is X -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >obj : Object > : ^^^^^^ >isY(obj) : boolean > : ^^^^^^^ >isY : (obj: any) => obj is Y -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >obj : Object > : ^^^^^^ >isZ(obj) : boolean > : ^^^^^^^ >isZ : (obj: any) => obj is Z -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >obj : Object > : ^^^^^^ @@ -76,19 +76,19 @@ function f1(obj: Object) { >isX(obj) : boolean > : ^^^^^^^ >isX : (obj: any) => obj is X -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >obj : Object > : ^^^^^^ >isY(obj) : boolean > : ^^^^^^^ >isY : (obj: any) => obj is Y -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >obj : X > : ^ >isZ(obj) : boolean > : ^^^^^^^ >isZ : (obj: any) => obj is Z -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >obj : X & Y > : ^^^^^ @@ -140,7 +140,7 @@ function union(a: A): A & B | null { >isB(a) : boolean > : ^^^^^^^ >isB : (toTest: any) => toTest is B -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : A > : ^ @@ -231,7 +231,7 @@ function identifyBeast(beast: Beast) { >hasLegs(beast) : boolean > : ^^^^^^^ >hasLegs : (x: Beast) => x is Legged -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >beast : Beast > : ^^^^^ @@ -240,7 +240,7 @@ function identifyBeast(beast: Beast) { >hasWings(beast) : boolean > : ^^^^^^^ >hasWings : (x: Beast) => x is Winged -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >beast : Legged > : ^^^^^^ @@ -260,7 +260,7 @@ function identifyBeast(beast: Beast) { >log(`pegasus - 4 legs, wings`) : void > : ^^^^ >log : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >`pegasus - 4 legs, wings` : "pegasus - 4 legs, wings" > : ^^^^^^^^^^^^^^^^^^^^^^^^^ } @@ -280,7 +280,7 @@ function identifyBeast(beast: Beast) { >log(`bird - 2 legs, wings`) : void > : ^^^^ >log : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >`bird - 2 legs, wings` : "bird - 2 legs, wings" > : ^^^^^^^^^^^^^^^^^^^^^^ } @@ -289,7 +289,7 @@ function identifyBeast(beast: Beast) { >log(`unknown - ${beast.legs} legs, wings`) : void > : ^^^^ >log : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >`unknown - ${beast.legs} legs, wings` : string > : ^^^^^^ >beast.legs : number @@ -307,7 +307,7 @@ function identifyBeast(beast: Beast) { >log(`manbearpig - ${beast.legs} legs, no wings`) : void > : ^^^^ >log : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >`manbearpig - ${beast.legs} legs, no wings` : string > : ^^^^^^ >beast.legs : number @@ -325,7 +325,7 @@ function identifyBeast(beast: Beast) { >hasWings(beast) : boolean > : ^^^^^^^ >hasWings : (x: Beast) => x is Winged -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >beast : Beast > : ^^^^^ @@ -333,7 +333,7 @@ function identifyBeast(beast: Beast) { >log(`quetzalcoatl - no legs, wings`) : void > : ^^^^ >log : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >`quetzalcoatl - no legs, wings` : "quetzalcoatl - no legs, wings" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } @@ -342,7 +342,7 @@ function identifyBeast(beast: Beast) { >log(`snake - no legs, no wings`) : void > : ^^^^ >log : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >`snake - no legs, no wings` : "snake - no legs, no wings" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ } @@ -361,13 +361,13 @@ function beastFoo(beast: Object) { >hasWings(beast) : boolean > : ^^^^^^^ >hasWings : (x: Beast) => x is Winged -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >beast : Object > : ^^^^^^ >hasLegs(beast) : boolean > : ^^^^^^^ >hasLegs : (x: Beast) => x is Legged -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >beast : Winged > : ^^^^^^ @@ -387,13 +387,13 @@ function beastFoo(beast: Object) { >hasLegs(beast) : boolean > : ^^^^^^^ >hasLegs : (x: Beast) => x is Legged -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >beast : Object > : ^^^^^^ >hasWings(beast) : boolean > : ^^^^^^^ >hasWings : (x: Beast) => x is Winged -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >beast : Legged > : ^^^^^^ diff --git a/tests/baselines/reference/typeGuardNarrowByMutableUntypedField.types b/tests/baselines/reference/typeGuardNarrowByMutableUntypedField.types index be91c4964d0ea..944cfeda15972 100644 --- a/tests/baselines/reference/typeGuardNarrowByMutableUntypedField.types +++ b/tests/baselines/reference/typeGuardNarrowByMutableUntypedField.types @@ -3,7 +3,7 @@ === typeGuardNarrowByMutableUntypedField.ts === declare function hasOwnProperty

    (target: {}, property: P): target is { [K in P]: unknown }; >hasOwnProperty :

    (target: {}, property: P) => target is { [K in P]: unknown; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >target : {} > : ^^ >property : P @@ -17,7 +17,7 @@ if (hasOwnProperty(arrayLikeOrIterable, 'length')) { >hasOwnProperty(arrayLikeOrIterable, 'length') : boolean > : ^^^^^^^ >hasOwnProperty :

    (target: {}, property: P) => target is { [K in P]: unknown; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >arrayLikeOrIterable : ArrayLike | Iterable > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'length' : "length" diff --git a/tests/baselines/reference/typeGuardNarrowByUntypedField.types b/tests/baselines/reference/typeGuardNarrowByUntypedField.types index 9c4aa923e39a3..24529b6b36b11 100644 --- a/tests/baselines/reference/typeGuardNarrowByUntypedField.types +++ b/tests/baselines/reference/typeGuardNarrowByUntypedField.types @@ -3,7 +3,7 @@ === typeGuardNarrowByUntypedField.ts === declare function hasOwnProperty

    (target: {}, property: P): target is { readonly [K in P]: unknown }; >hasOwnProperty :

    (target: {}, property: P) => target is { readonly [K in P]: unknown; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >target : {} > : ^^ >property : P @@ -17,7 +17,7 @@ if (hasOwnProperty(arrayLikeOrIterable, 'length')) { >hasOwnProperty(arrayLikeOrIterable, 'length') : boolean > : ^^^^^^^ >hasOwnProperty :

    > { >this.props.foo() : void > : ^^^^ >this.props.foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >this.props : Readonly

    > : ^^^^^^^^^^^ >this : this @@ -45,7 +45,7 @@ class A

    > { >props : Readonly

    > : ^^^^^^^^^^^ >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } } @@ -142,7 +142,7 @@ type Item = { function f1(obj: T) { >f1 : (obj: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >obj : T > : ^ @@ -176,7 +176,7 @@ function f1(obj: T) { function f2(obj: T | undefined) { >f2 : (obj: T | undefined) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >obj : T | undefined > : ^^^^^^^^^^^^^ @@ -210,7 +210,7 @@ function f2(obj: T | undefined) { function f3(obj: T | null) { >f3 : (obj: T | null) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >obj : T | null > : ^^^^^^^^ @@ -244,7 +244,7 @@ function f3(obj: T | null) { function f4(obj: T | undefined, x: number) { >f4 : (obj: T | undefined, x: number) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >obj : T | undefined > : ^^^^^^^^^^^^^ >x : number @@ -270,7 +270,7 @@ function f4(obj: T | undefined, x: number) { function f5(obj: T | undefined, key: K) { >f5 : (obj: T | undefined, key: K) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >obj : T | undefined > : ^^^^^^^^^^^^^ >key : K @@ -294,7 +294,7 @@ function f5(obj: T | undefined, key: K) { function f6 {})>(a: T) { >f6 : {})>(a: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >a : T > : ^ @@ -312,7 +312,7 @@ function f6 {})>(a: T) { >new a() : {} > : ^^ >a : new () => {} -> : ^^^^^^^^^^^^ +> : ^^^^^^^^^^ } } diff --git a/tests/baselines/reference/typedArrays-es5.types b/tests/baselines/reference/typedArrays-es5.types index f5bfaf5260c65..77ba207237e68 100644 --- a/tests/baselines/reference/typedArrays-es5.types +++ b/tests/baselines/reference/typedArrays-es5.types @@ -97,7 +97,7 @@ const nodeList = new NodeList(); >new NodeList() : NodeList > : ^^^^^^^^ >NodeList : { new (): NodeList; prototype: NodeList; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ [...nodeList]; >[...nodeList] : any[] diff --git a/tests/baselines/reference/typedArrays-es6.types b/tests/baselines/reference/typedArrays-es6.types index 1c8da36e631e0..42ff5a80f01a6 100644 --- a/tests/baselines/reference/typedArrays-es6.types +++ b/tests/baselines/reference/typedArrays-es6.types @@ -97,7 +97,7 @@ const nodeList = new NodeList(); >new NodeList() : NodeList > : ^^^^^^^^ >NodeList : { new (): NodeList; prototype: NodeList; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ [...nodeList]; >[...nodeList] : Node[] diff --git a/tests/baselines/reference/typedArrays.types b/tests/baselines/reference/typedArrays.types index 34c54dea8a543..ccf27a2d578e8 100644 --- a/tests/baselines/reference/typedArrays.types +++ b/tests/baselines/reference/typedArrays.types @@ -442,11 +442,11 @@ function CreateIntegerTypedArraysFromArray2(obj:number[]) { >Int8Array.from(obj) : Int8Array > : ^^^^^^^^^ >Int8Array.from : { (arrayLike: ArrayLike): Int8Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int8Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Int8Array : Int8ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Int8Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int8Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : number[] > : ^^^^^^^^ @@ -461,11 +461,11 @@ function CreateIntegerTypedArraysFromArray2(obj:number[]) { >Uint8Array.from(obj) : Uint8Array > : ^^^^^^^^^^ >Uint8Array.from : { (arrayLike: ArrayLike): Uint8Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Uint8Array : Uint8ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Uint8Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : number[] > : ^^^^^^^^ @@ -480,11 +480,11 @@ function CreateIntegerTypedArraysFromArray2(obj:number[]) { >Int16Array.from(obj) : Int16Array > : ^^^^^^^^^^ >Int16Array.from : { (arrayLike: ArrayLike): Int16Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int16Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Int16Array : Int16ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Int16Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int16Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : number[] > : ^^^^^^^^ @@ -499,11 +499,11 @@ function CreateIntegerTypedArraysFromArray2(obj:number[]) { >Uint16Array.from(obj) : Uint16Array > : ^^^^^^^^^^^ >Uint16Array.from : { (arrayLike: ArrayLike): Uint16Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint16Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Uint16Array : Uint16ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Uint16Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint16Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : number[] > : ^^^^^^^^ @@ -518,11 +518,11 @@ function CreateIntegerTypedArraysFromArray2(obj:number[]) { >Int32Array.from(obj) : Int32Array > : ^^^^^^^^^^ >Int32Array.from : { (arrayLike: ArrayLike): Int32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Int32Array : Int32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Int32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : number[] > : ^^^^^^^^ @@ -537,11 +537,11 @@ function CreateIntegerTypedArraysFromArray2(obj:number[]) { >Uint32Array.from(obj) : Uint32Array > : ^^^^^^^^^^^ >Uint32Array.from : { (arrayLike: ArrayLike): Uint32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Uint32Array : Uint32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Uint32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : number[] > : ^^^^^^^^ @@ -556,11 +556,11 @@ function CreateIntegerTypedArraysFromArray2(obj:number[]) { >Float32Array.from(obj) : Float32Array > : ^^^^^^^^^^^^ >Float32Array.from : { (arrayLike: ArrayLike): Float32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Float32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Float32Array : Float32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Float32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Float32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : number[] > : ^^^^^^^^ @@ -575,11 +575,11 @@ function CreateIntegerTypedArraysFromArray2(obj:number[]) { >Float64Array.from(obj) : Float64Array > : ^^^^^^^^^^^^ >Float64Array.from : { (arrayLike: ArrayLike): Float64Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Float64Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Float64Array : Float64ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Float64Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Float64Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : number[] > : ^^^^^^^^ @@ -594,11 +594,11 @@ function CreateIntegerTypedArraysFromArray2(obj:number[]) { >Uint8ClampedArray.from(obj) : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >Uint8ClampedArray.from : { (arrayLike: ArrayLike): Uint8ClampedArray; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint8ClampedArray; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8ClampedArray; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Uint8ClampedArray : Uint8ClampedArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Uint8ClampedArray; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint8ClampedArray; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8ClampedArray; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : number[] > : ^^^^^^^^ @@ -630,11 +630,11 @@ function CreateIntegerTypedArraysFromArrayLike(obj:ArrayLike) { >Int8Array.from(obj) : Int8Array > : ^^^^^^^^^ >Int8Array.from : { (arrayLike: ArrayLike): Int8Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int8Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Int8Array : Int8ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Int8Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int8Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^^^^^^ @@ -649,11 +649,11 @@ function CreateIntegerTypedArraysFromArrayLike(obj:ArrayLike) { >Uint8Array.from(obj) : Uint8Array > : ^^^^^^^^^^ >Uint8Array.from : { (arrayLike: ArrayLike): Uint8Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Uint8Array : Uint8ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Uint8Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^^^^^^ @@ -668,11 +668,11 @@ function CreateIntegerTypedArraysFromArrayLike(obj:ArrayLike) { >Int16Array.from(obj) : Int16Array > : ^^^^^^^^^^ >Int16Array.from : { (arrayLike: ArrayLike): Int16Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int16Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Int16Array : Int16ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Int16Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int16Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^^^^^^ @@ -687,11 +687,11 @@ function CreateIntegerTypedArraysFromArrayLike(obj:ArrayLike) { >Uint16Array.from(obj) : Uint16Array > : ^^^^^^^^^^^ >Uint16Array.from : { (arrayLike: ArrayLike): Uint16Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint16Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Uint16Array : Uint16ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Uint16Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint16Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^^^^^^ @@ -706,11 +706,11 @@ function CreateIntegerTypedArraysFromArrayLike(obj:ArrayLike) { >Int32Array.from(obj) : Int32Array > : ^^^^^^^^^^ >Int32Array.from : { (arrayLike: ArrayLike): Int32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Int32Array : Int32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Int32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^^^^^^ @@ -725,11 +725,11 @@ function CreateIntegerTypedArraysFromArrayLike(obj:ArrayLike) { >Uint32Array.from(obj) : Uint32Array > : ^^^^^^^^^^^ >Uint32Array.from : { (arrayLike: ArrayLike): Uint32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Uint32Array : Uint32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Uint32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^^^^^^ @@ -744,11 +744,11 @@ function CreateIntegerTypedArraysFromArrayLike(obj:ArrayLike) { >Float32Array.from(obj) : Float32Array > : ^^^^^^^^^^^^ >Float32Array.from : { (arrayLike: ArrayLike): Float32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Float32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Float32Array : Float32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Float32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Float32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^^^^^^ @@ -763,11 +763,11 @@ function CreateIntegerTypedArraysFromArrayLike(obj:ArrayLike) { >Float64Array.from(obj) : Float64Array > : ^^^^^^^^^^^^ >Float64Array.from : { (arrayLike: ArrayLike): Float64Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Float64Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Float64Array : Float64ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Float64Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Float64Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^^^^^^ @@ -782,11 +782,11 @@ function CreateIntegerTypedArraysFromArrayLike(obj:ArrayLike) { >Uint8ClampedArray.from(obj) : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >Uint8ClampedArray.from : { (arrayLike: ArrayLike): Uint8ClampedArray; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint8ClampedArray; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8ClampedArray; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Uint8ClampedArray : Uint8ClampedArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Uint8ClampedArray; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint8ClampedArray; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8ClampedArray; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^^^^^^ @@ -817,11 +817,11 @@ function CreateTypedArraysOf(obj) { >Int8Array.of(...obj) : Int8Array > : ^^^^^^^^^ >Int8Array.of : (...items: number[]) => Int8Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Int8Array : Int8ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^ >of : (...items: number[]) => Int8Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >...obj : any >obj : any @@ -836,11 +836,11 @@ function CreateTypedArraysOf(obj) { >Uint8Array.of(...obj) : Uint8Array > : ^^^^^^^^^^ >Uint8Array.of : (...items: number[]) => Uint8Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Uint8Array : Uint8ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ >of : (...items: number[]) => Uint8Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >...obj : any >obj : any @@ -855,11 +855,11 @@ function CreateTypedArraysOf(obj) { >Int16Array.of(...obj) : Int16Array > : ^^^^^^^^^^ >Int16Array.of : (...items: number[]) => Int16Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Int16Array : Int16ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ >of : (...items: number[]) => Int16Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >...obj : any >obj : any @@ -874,11 +874,11 @@ function CreateTypedArraysOf(obj) { >Uint16Array.of(...obj) : Uint16Array > : ^^^^^^^^^^^ >Uint16Array.of : (...items: number[]) => Uint16Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Uint16Array : Uint16ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^ >of : (...items: number[]) => Uint16Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >...obj : any >obj : any @@ -893,11 +893,11 @@ function CreateTypedArraysOf(obj) { >Int32Array.of(...obj) : Int32Array > : ^^^^^^^^^^ >Int32Array.of : (...items: number[]) => Int32Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Int32Array : Int32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ >of : (...items: number[]) => Int32Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >...obj : any >obj : any @@ -912,11 +912,11 @@ function CreateTypedArraysOf(obj) { >Uint32Array.of(...obj) : Uint32Array > : ^^^^^^^^^^^ >Uint32Array.of : (...items: number[]) => Uint32Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Uint32Array : Uint32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^ >of : (...items: number[]) => Uint32Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >...obj : any >obj : any @@ -931,11 +931,11 @@ function CreateTypedArraysOf(obj) { >Float32Array.of(...obj) : Float32Array > : ^^^^^^^^^^^^ >Float32Array.of : (...items: number[]) => Float32Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Float32Array : Float32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^ >of : (...items: number[]) => Float32Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >...obj : any >obj : any @@ -950,11 +950,11 @@ function CreateTypedArraysOf(obj) { >Float64Array.of(...obj) : Float64Array > : ^^^^^^^^^^^^ >Float64Array.of : (...items: number[]) => Float64Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Float64Array : Float64ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^ >of : (...items: number[]) => Float64Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >...obj : any >obj : any @@ -969,11 +969,11 @@ function CreateTypedArraysOf(obj) { >Uint8ClampedArray.of(...obj) : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >Uint8ClampedArray.of : (...items: number[]) => Uint8ClampedArray -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Uint8ClampedArray : Uint8ClampedArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >of : (...items: number[]) => Uint8ClampedArray -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >...obj : any >obj : any @@ -1003,11 +1003,11 @@ function CreateTypedArraysOf2() { >Int8Array.of(1,2,3,4) : Int8Array > : ^^^^^^^^^ >Int8Array.of : (...items: number[]) => Int8Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Int8Array : Int8ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^ >of : (...items: number[]) => Int8Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -1028,11 +1028,11 @@ function CreateTypedArraysOf2() { >Uint8Array.of(1,2,3,4) : Uint8Array > : ^^^^^^^^^^ >Uint8Array.of : (...items: number[]) => Uint8Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Uint8Array : Uint8ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ >of : (...items: number[]) => Uint8Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -1053,11 +1053,11 @@ function CreateTypedArraysOf2() { >Int16Array.of(1,2,3,4) : Int16Array > : ^^^^^^^^^^ >Int16Array.of : (...items: number[]) => Int16Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Int16Array : Int16ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ >of : (...items: number[]) => Int16Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -1078,11 +1078,11 @@ function CreateTypedArraysOf2() { >Uint16Array.of(1,2,3,4) : Uint16Array > : ^^^^^^^^^^^ >Uint16Array.of : (...items: number[]) => Uint16Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Uint16Array : Uint16ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^ >of : (...items: number[]) => Uint16Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -1103,11 +1103,11 @@ function CreateTypedArraysOf2() { >Int32Array.of(1,2,3,4) : Int32Array > : ^^^^^^^^^^ >Int32Array.of : (...items: number[]) => Int32Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Int32Array : Int32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ >of : (...items: number[]) => Int32Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -1128,11 +1128,11 @@ function CreateTypedArraysOf2() { >Uint32Array.of(1,2,3,4) : Uint32Array > : ^^^^^^^^^^^ >Uint32Array.of : (...items: number[]) => Uint32Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Uint32Array : Uint32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^ >of : (...items: number[]) => Uint32Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -1153,11 +1153,11 @@ function CreateTypedArraysOf2() { >Float32Array.of(1,2,3,4) : Float32Array > : ^^^^^^^^^^^^ >Float32Array.of : (...items: number[]) => Float32Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Float32Array : Float32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^ >of : (...items: number[]) => Float32Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -1178,11 +1178,11 @@ function CreateTypedArraysOf2() { >Float64Array.of(1,2,3,4) : Float64Array > : ^^^^^^^^^^^^ >Float64Array.of : (...items: number[]) => Float64Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Float64Array : Float64ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^ >of : (...items: number[]) => Float64Array -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -1203,11 +1203,11 @@ function CreateTypedArraysOf2() { >Uint8ClampedArray.of(1,2,3,4) : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >Uint8ClampedArray.of : (...items: number[]) => Uint8ClampedArray -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Uint8ClampedArray : Uint8ClampedArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >of : (...items: number[]) => Uint8ClampedArray -> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -1251,15 +1251,15 @@ function CreateTypedArraysFromMapFn2(obj:ArrayLike, mapFn: (n:T, v:number) >Int8Array.from(obj, mapFn) : Int8Array > : ^^^^^^^^^ >Int8Array.from : { (arrayLike: ArrayLike): Int8Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Int8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int8Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Int8Array : Int8ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Int8Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Int8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int8Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^ >mapFn : (n: T, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ typedArrays[1] = Uint8Array.from(obj, mapFn); >typedArrays[1] = Uint8Array.from(obj, mapFn) : Uint8Array @@ -1272,15 +1272,15 @@ function CreateTypedArraysFromMapFn2(obj:ArrayLike, mapFn: (n:T, v:number) >Uint8Array.from(obj, mapFn) : Uint8Array > : ^^^^^^^^^^ >Uint8Array.from : { (arrayLike: ArrayLike): Uint8Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Uint8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Uint8Array : Uint8ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Uint8Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Uint8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^ >mapFn : (n: T, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ typedArrays[2] = Int16Array.from(obj, mapFn); >typedArrays[2] = Int16Array.from(obj, mapFn) : Int16Array @@ -1293,15 +1293,15 @@ function CreateTypedArraysFromMapFn2(obj:ArrayLike, mapFn: (n:T, v:number) >Int16Array.from(obj, mapFn) : Int16Array > : ^^^^^^^^^^ >Int16Array.from : { (arrayLike: ArrayLike): Int16Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Int16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int16Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Int16Array : Int16ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Int16Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Int16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int16Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^ >mapFn : (n: T, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ typedArrays[3] = Uint16Array.from(obj, mapFn); >typedArrays[3] = Uint16Array.from(obj, mapFn) : Uint16Array @@ -1314,15 +1314,15 @@ function CreateTypedArraysFromMapFn2(obj:ArrayLike, mapFn: (n:T, v:number) >Uint16Array.from(obj, mapFn) : Uint16Array > : ^^^^^^^^^^^ >Uint16Array.from : { (arrayLike: ArrayLike): Uint16Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Uint16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint16Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Uint16Array : Uint16ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Uint16Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Uint16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint16Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^ >mapFn : (n: T, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ typedArrays[4] = Int32Array.from(obj, mapFn); >typedArrays[4] = Int32Array.from(obj, mapFn) : Int32Array @@ -1335,15 +1335,15 @@ function CreateTypedArraysFromMapFn2(obj:ArrayLike, mapFn: (n:T, v:number) >Int32Array.from(obj, mapFn) : Int32Array > : ^^^^^^^^^^ >Int32Array.from : { (arrayLike: ArrayLike): Int32Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Int32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Int32Array : Int32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Int32Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Int32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^ >mapFn : (n: T, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ typedArrays[5] = Uint32Array.from(obj, mapFn); >typedArrays[5] = Uint32Array.from(obj, mapFn) : Uint32Array @@ -1356,15 +1356,15 @@ function CreateTypedArraysFromMapFn2(obj:ArrayLike, mapFn: (n:T, v:number) >Uint32Array.from(obj, mapFn) : Uint32Array > : ^^^^^^^^^^^ >Uint32Array.from : { (arrayLike: ArrayLike): Uint32Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Uint32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Uint32Array : Uint32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Uint32Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Uint32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^ >mapFn : (n: T, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ typedArrays[6] = Float32Array.from(obj, mapFn); >typedArrays[6] = Float32Array.from(obj, mapFn) : Float32Array @@ -1377,15 +1377,15 @@ function CreateTypedArraysFromMapFn2(obj:ArrayLike, mapFn: (n:T, v:number) >Float32Array.from(obj, mapFn) : Float32Array > : ^^^^^^^^^^^^ >Float32Array.from : { (arrayLike: ArrayLike): Float32Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Float32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Float32Array : Float32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Float32Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Float32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^ >mapFn : (n: T, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ typedArrays[7] = Float64Array.from(obj, mapFn); >typedArrays[7] = Float64Array.from(obj, mapFn) : Float64Array @@ -1398,15 +1398,15 @@ function CreateTypedArraysFromMapFn2(obj:ArrayLike, mapFn: (n:T, v:number) >Float64Array.from(obj, mapFn) : Float64Array > : ^^^^^^^^^^^^ >Float64Array.from : { (arrayLike: ArrayLike): Float64Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Float64Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Float64Array : Float64ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Float64Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Float64Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^ >mapFn : (n: T, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ typedArrays[8] = Uint8ClampedArray.from(obj, mapFn); >typedArrays[8] = Uint8ClampedArray.from(obj, mapFn) : Uint8ClampedArray @@ -1419,15 +1419,15 @@ function CreateTypedArraysFromMapFn2(obj:ArrayLike, mapFn: (n:T, v:number) >Uint8ClampedArray.from(obj, mapFn) : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >Uint8ClampedArray.from : { (arrayLike: ArrayLike): Uint8ClampedArray; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Uint8ClampedArray; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8ClampedArray; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Uint8ClampedArray : Uint8ClampedArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Uint8ClampedArray; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Uint8ClampedArray; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8ClampedArray; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^ >mapFn : (n: T, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ return typedArrays; >typedArrays : any[] @@ -1463,15 +1463,15 @@ function CreateTypedArraysFromMapFn(obj:ArrayLike, mapFn: (n:number, v:n >Int8Array.from(obj, mapFn) : Int8Array > : ^^^^^^^^^ >Int8Array.from : { (arrayLike: ArrayLike): Int8Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int8Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Int8Array : Int8ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Int8Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int8Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^^^^^^ >mapFn : (n: number, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ typedArrays[1] = Uint8Array.from(obj, mapFn); >typedArrays[1] = Uint8Array.from(obj, mapFn) : Uint8Array @@ -1484,15 +1484,15 @@ function CreateTypedArraysFromMapFn(obj:ArrayLike, mapFn: (n:number, v:n >Uint8Array.from(obj, mapFn) : Uint8Array > : ^^^^^^^^^^ >Uint8Array.from : { (arrayLike: ArrayLike): Uint8Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Uint8Array : Uint8ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Uint8Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^^^^^^ >mapFn : (n: number, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ typedArrays[2] = Int16Array.from(obj, mapFn); >typedArrays[2] = Int16Array.from(obj, mapFn) : Int16Array @@ -1505,15 +1505,15 @@ function CreateTypedArraysFromMapFn(obj:ArrayLike, mapFn: (n:number, v:n >Int16Array.from(obj, mapFn) : Int16Array > : ^^^^^^^^^^ >Int16Array.from : { (arrayLike: ArrayLike): Int16Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int16Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Int16Array : Int16ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Int16Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int16Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^^^^^^ >mapFn : (n: number, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ typedArrays[3] = Uint16Array.from(obj, mapFn); >typedArrays[3] = Uint16Array.from(obj, mapFn) : Uint16Array @@ -1526,15 +1526,15 @@ function CreateTypedArraysFromMapFn(obj:ArrayLike, mapFn: (n:number, v:n >Uint16Array.from(obj, mapFn) : Uint16Array > : ^^^^^^^^^^^ >Uint16Array.from : { (arrayLike: ArrayLike): Uint16Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint16Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Uint16Array : Uint16ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Uint16Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint16Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^^^^^^ >mapFn : (n: number, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ typedArrays[4] = Int32Array.from(obj, mapFn); >typedArrays[4] = Int32Array.from(obj, mapFn) : Int32Array @@ -1547,15 +1547,15 @@ function CreateTypedArraysFromMapFn(obj:ArrayLike, mapFn: (n:number, v:n >Int32Array.from(obj, mapFn) : Int32Array > : ^^^^^^^^^^ >Int32Array.from : { (arrayLike: ArrayLike): Int32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Int32Array : Int32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Int32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^^^^^^ >mapFn : (n: number, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ typedArrays[5] = Uint32Array.from(obj, mapFn); >typedArrays[5] = Uint32Array.from(obj, mapFn) : Uint32Array @@ -1568,15 +1568,15 @@ function CreateTypedArraysFromMapFn(obj:ArrayLike, mapFn: (n:number, v:n >Uint32Array.from(obj, mapFn) : Uint32Array > : ^^^^^^^^^^^ >Uint32Array.from : { (arrayLike: ArrayLike): Uint32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Uint32Array : Uint32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Uint32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^^^^^^ >mapFn : (n: number, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ typedArrays[6] = Float32Array.from(obj, mapFn); >typedArrays[6] = Float32Array.from(obj, mapFn) : Float32Array @@ -1589,15 +1589,15 @@ function CreateTypedArraysFromMapFn(obj:ArrayLike, mapFn: (n:number, v:n >Float32Array.from(obj, mapFn) : Float32Array > : ^^^^^^^^^^^^ >Float32Array.from : { (arrayLike: ArrayLike): Float32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Float32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Float32Array : Float32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Float32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Float32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^^^^^^ >mapFn : (n: number, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ typedArrays[7] = Float64Array.from(obj, mapFn); >typedArrays[7] = Float64Array.from(obj, mapFn) : Float64Array @@ -1610,15 +1610,15 @@ function CreateTypedArraysFromMapFn(obj:ArrayLike, mapFn: (n:number, v:n >Float64Array.from(obj, mapFn) : Float64Array > : ^^^^^^^^^^^^ >Float64Array.from : { (arrayLike: ArrayLike): Float64Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Float64Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Float64Array : Float64ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Float64Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Float64Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^^^^^^ >mapFn : (n: number, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ typedArrays[8] = Uint8ClampedArray.from(obj, mapFn); >typedArrays[8] = Uint8ClampedArray.from(obj, mapFn) : Uint8ClampedArray @@ -1631,15 +1631,15 @@ function CreateTypedArraysFromMapFn(obj:ArrayLike, mapFn: (n:number, v:n >Uint8ClampedArray.from(obj, mapFn) : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >Uint8ClampedArray.from : { (arrayLike: ArrayLike): Uint8ClampedArray; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint8ClampedArray; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8ClampedArray; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Uint8ClampedArray : Uint8ClampedArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Uint8ClampedArray; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint8ClampedArray; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8ClampedArray; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^^^^^^ >mapFn : (n: number, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ return typedArrays; >typedArrays : any[] @@ -1677,15 +1677,15 @@ function CreateTypedArraysFromThisObj(obj:ArrayLike, mapFn: (n:number, v >Int8Array.from(obj, mapFn, thisArg) : Int8Array > : ^^^^^^^^^ >Int8Array.from : { (arrayLike: ArrayLike): Int8Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int8Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Int8Array : Int8ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Int8Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int8Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^^^^^^ >mapFn : (n: number, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >thisArg : {} > : ^^ @@ -1700,15 +1700,15 @@ function CreateTypedArraysFromThisObj(obj:ArrayLike, mapFn: (n:number, v >Uint8Array.from(obj, mapFn, thisArg) : Uint8Array > : ^^^^^^^^^^ >Uint8Array.from : { (arrayLike: ArrayLike): Uint8Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Uint8Array : Uint8ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Uint8Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^^^^^^ >mapFn : (n: number, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >thisArg : {} > : ^^ @@ -1723,15 +1723,15 @@ function CreateTypedArraysFromThisObj(obj:ArrayLike, mapFn: (n:number, v >Int16Array.from(obj, mapFn, thisArg) : Int16Array > : ^^^^^^^^^^ >Int16Array.from : { (arrayLike: ArrayLike): Int16Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int16Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Int16Array : Int16ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Int16Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int16Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^^^^^^ >mapFn : (n: number, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >thisArg : {} > : ^^ @@ -1746,15 +1746,15 @@ function CreateTypedArraysFromThisObj(obj:ArrayLike, mapFn: (n:number, v >Uint16Array.from(obj, mapFn, thisArg) : Uint16Array > : ^^^^^^^^^^^ >Uint16Array.from : { (arrayLike: ArrayLike): Uint16Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint16Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Uint16Array : Uint16ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Uint16Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint16Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^^^^^^ >mapFn : (n: number, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >thisArg : {} > : ^^ @@ -1769,15 +1769,15 @@ function CreateTypedArraysFromThisObj(obj:ArrayLike, mapFn: (n:number, v >Int32Array.from(obj, mapFn, thisArg) : Int32Array > : ^^^^^^^^^^ >Int32Array.from : { (arrayLike: ArrayLike): Int32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Int32Array : Int32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Int32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^^^^^^ >mapFn : (n: number, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >thisArg : {} > : ^^ @@ -1792,15 +1792,15 @@ function CreateTypedArraysFromThisObj(obj:ArrayLike, mapFn: (n:number, v >Uint32Array.from(obj, mapFn, thisArg) : Uint32Array > : ^^^^^^^^^^^ >Uint32Array.from : { (arrayLike: ArrayLike): Uint32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Uint32Array : Uint32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Uint32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^^^^^^ >mapFn : (n: number, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >thisArg : {} > : ^^ @@ -1815,15 +1815,15 @@ function CreateTypedArraysFromThisObj(obj:ArrayLike, mapFn: (n:number, v >Float32Array.from(obj, mapFn, thisArg) : Float32Array > : ^^^^^^^^^^^^ >Float32Array.from : { (arrayLike: ArrayLike): Float32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Float32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Float32Array : Float32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Float32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Float32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^^^^^^ >mapFn : (n: number, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >thisArg : {} > : ^^ @@ -1838,15 +1838,15 @@ function CreateTypedArraysFromThisObj(obj:ArrayLike, mapFn: (n:number, v >Float64Array.from(obj, mapFn, thisArg) : Float64Array > : ^^^^^^^^^^^^ >Float64Array.from : { (arrayLike: ArrayLike): Float64Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Float64Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Float64Array : Float64ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Float64Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Float64Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^^^^^^ >mapFn : (n: number, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >thisArg : {} > : ^^ @@ -1861,15 +1861,15 @@ function CreateTypedArraysFromThisObj(obj:ArrayLike, mapFn: (n:number, v >Uint8ClampedArray.from(obj, mapFn, thisArg) : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >Uint8ClampedArray.from : { (arrayLike: ArrayLike): Uint8ClampedArray; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint8ClampedArray; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8ClampedArray; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Uint8ClampedArray : Uint8ClampedArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Uint8ClampedArray; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint8ClampedArray; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8ClampedArray; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^^^^^^ >mapFn : (n: number, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >thisArg : {} > : ^^ @@ -1909,15 +1909,15 @@ function CreateTypedArraysFromThisObj2(obj:ArrayLike, mapFn: (n:T, v:numbe >Int8Array.from(obj, mapFn, thisArg) : Int8Array > : ^^^^^^^^^ >Int8Array.from : { (arrayLike: ArrayLike): Int8Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Int8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int8Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Int8Array : Int8ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Int8Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Int8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int8Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^ >mapFn : (n: T, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >thisArg : {} > : ^^ @@ -1932,15 +1932,15 @@ function CreateTypedArraysFromThisObj2(obj:ArrayLike, mapFn: (n:T, v:numbe >Uint8Array.from(obj, mapFn, thisArg) : Uint8Array > : ^^^^^^^^^^ >Uint8Array.from : { (arrayLike: ArrayLike): Uint8Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Uint8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Uint8Array : Uint8ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Uint8Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Uint8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^ >mapFn : (n: T, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >thisArg : {} > : ^^ @@ -1955,15 +1955,15 @@ function CreateTypedArraysFromThisObj2(obj:ArrayLike, mapFn: (n:T, v:numbe >Int16Array.from(obj, mapFn, thisArg) : Int16Array > : ^^^^^^^^^^ >Int16Array.from : { (arrayLike: ArrayLike): Int16Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Int16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int16Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Int16Array : Int16ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Int16Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Int16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int16Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^ >mapFn : (n: T, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >thisArg : {} > : ^^ @@ -1978,15 +1978,15 @@ function CreateTypedArraysFromThisObj2(obj:ArrayLike, mapFn: (n:T, v:numbe >Uint16Array.from(obj, mapFn, thisArg) : Uint16Array > : ^^^^^^^^^^^ >Uint16Array.from : { (arrayLike: ArrayLike): Uint16Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Uint16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint16Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Uint16Array : Uint16ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Uint16Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Uint16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint16Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^ >mapFn : (n: T, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >thisArg : {} > : ^^ @@ -2001,15 +2001,15 @@ function CreateTypedArraysFromThisObj2(obj:ArrayLike, mapFn: (n:T, v:numbe >Int32Array.from(obj, mapFn, thisArg) : Int32Array > : ^^^^^^^^^^ >Int32Array.from : { (arrayLike: ArrayLike): Int32Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Int32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Int32Array : Int32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Int32Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Int32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^ >mapFn : (n: T, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >thisArg : {} > : ^^ @@ -2024,15 +2024,15 @@ function CreateTypedArraysFromThisObj2(obj:ArrayLike, mapFn: (n:T, v:numbe >Uint32Array.from(obj, mapFn, thisArg) : Uint32Array > : ^^^^^^^^^^^ >Uint32Array.from : { (arrayLike: ArrayLike): Uint32Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Uint32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Uint32Array : Uint32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Uint32Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Uint32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^ >mapFn : (n: T, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >thisArg : {} > : ^^ @@ -2047,15 +2047,15 @@ function CreateTypedArraysFromThisObj2(obj:ArrayLike, mapFn: (n:T, v:numbe >Float32Array.from(obj, mapFn, thisArg) : Float32Array > : ^^^^^^^^^^^^ >Float32Array.from : { (arrayLike: ArrayLike): Float32Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Float32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Float32Array : Float32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Float32Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Float32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float32Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^ >mapFn : (n: T, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >thisArg : {} > : ^^ @@ -2070,15 +2070,15 @@ function CreateTypedArraysFromThisObj2(obj:ArrayLike, mapFn: (n:T, v:numbe >Float64Array.from(obj, mapFn, thisArg) : Float64Array > : ^^^^^^^^^^^^ >Float64Array.from : { (arrayLike: ArrayLike): Float64Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Float64Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Float64Array : Float64ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Float64Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Float64Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^ >mapFn : (n: T, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >thisArg : {} > : ^^ @@ -2093,15 +2093,15 @@ function CreateTypedArraysFromThisObj2(obj:ArrayLike, mapFn: (n:T, v:numbe >Uint8ClampedArray.from(obj, mapFn, thisArg) : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >Uint8ClampedArray.from : { (arrayLike: ArrayLike): Uint8ClampedArray; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Uint8ClampedArray; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8ClampedArray; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >Uint8ClampedArray : Uint8ClampedArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): Uint8ClampedArray; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Uint8ClampedArray; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8ClampedArray; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >obj : ArrayLike > : ^^^^^^^^^^^^ >mapFn : (n: T, v: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >thisArg : {} > : ^^ diff --git a/tests/baselines/reference/typedArraysSubarray.types b/tests/baselines/reference/typedArraysSubarray.types index d9401c76e2465..b89b96c9d167d 100644 --- a/tests/baselines/reference/typedArraysSubarray.types +++ b/tests/baselines/reference/typedArraysSubarray.types @@ -19,21 +19,21 @@ function int8ArraySubarray() { >arr.subarray() : Int8Array > : ^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => Int8Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : Int8Array > : ^^^^^^^^^ >subarray : (begin?: number, end?: number) => Int8Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ arr.subarray(0); >arr.subarray(0) : Int8Array > : ^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => Int8Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : Int8Array > : ^^^^^^^^^ >subarray : (begin?: number, end?: number) => Int8Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -41,11 +41,11 @@ function int8ArraySubarray() { >arr.subarray(0, 10) : Int8Array > : ^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => Int8Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : Int8Array > : ^^^^^^^^^ >subarray : (begin?: number, end?: number) => Int8Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ >10 : 10 @@ -70,21 +70,21 @@ function uint8ArraySubarray() { >arr.subarray() : Uint8Array > : ^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => Uint8Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : Uint8Array > : ^^^^^^^^^^ >subarray : (begin?: number, end?: number) => Uint8Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ arr.subarray(0); >arr.subarray(0) : Uint8Array > : ^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => Uint8Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : Uint8Array > : ^^^^^^^^^^ >subarray : (begin?: number, end?: number) => Uint8Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -92,11 +92,11 @@ function uint8ArraySubarray() { >arr.subarray(0, 10) : Uint8Array > : ^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => Uint8Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : Uint8Array > : ^^^^^^^^^^ >subarray : (begin?: number, end?: number) => Uint8Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ >10 : 10 @@ -121,21 +121,21 @@ function uint8ClampedArraySubarray() { >arr.subarray() : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => Uint8ClampedArray -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >subarray : (begin?: number, end?: number) => Uint8ClampedArray -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ arr.subarray(0); >arr.subarray(0) : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => Uint8ClampedArray -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >subarray : (begin?: number, end?: number) => Uint8ClampedArray -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -143,11 +143,11 @@ function uint8ClampedArraySubarray() { >arr.subarray(0, 10) : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => Uint8ClampedArray -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >subarray : (begin?: number, end?: number) => Uint8ClampedArray -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ >10 : 10 @@ -172,21 +172,21 @@ function int16ArraySubarray() { >arr.subarray() : Int16Array > : ^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => Int16Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : Int16Array > : ^^^^^^^^^^ >subarray : (begin?: number, end?: number) => Int16Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ arr.subarray(0); >arr.subarray(0) : Int16Array > : ^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => Int16Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : Int16Array > : ^^^^^^^^^^ >subarray : (begin?: number, end?: number) => Int16Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -194,11 +194,11 @@ function int16ArraySubarray() { >arr.subarray(0, 10) : Int16Array > : ^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => Int16Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : Int16Array > : ^^^^^^^^^^ >subarray : (begin?: number, end?: number) => Int16Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ >10 : 10 @@ -223,21 +223,21 @@ function uint16ArraySubarray() { >arr.subarray() : Uint16Array > : ^^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => Uint16Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : Uint16Array > : ^^^^^^^^^^^ >subarray : (begin?: number, end?: number) => Uint16Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ arr.subarray(0); >arr.subarray(0) : Uint16Array > : ^^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => Uint16Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : Uint16Array > : ^^^^^^^^^^^ >subarray : (begin?: number, end?: number) => Uint16Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -245,11 +245,11 @@ function uint16ArraySubarray() { >arr.subarray(0, 10) : Uint16Array > : ^^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => Uint16Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : Uint16Array > : ^^^^^^^^^^^ >subarray : (begin?: number, end?: number) => Uint16Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ >10 : 10 @@ -274,21 +274,21 @@ function int32ArraySubarray() { >arr.subarray() : Int32Array > : ^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => Int32Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : Int32Array > : ^^^^^^^^^^ >subarray : (begin?: number, end?: number) => Int32Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ arr.subarray(0); >arr.subarray(0) : Int32Array > : ^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => Int32Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : Int32Array > : ^^^^^^^^^^ >subarray : (begin?: number, end?: number) => Int32Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -296,11 +296,11 @@ function int32ArraySubarray() { >arr.subarray(0, 10) : Int32Array > : ^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => Int32Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : Int32Array > : ^^^^^^^^^^ >subarray : (begin?: number, end?: number) => Int32Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ >10 : 10 @@ -325,21 +325,21 @@ function uint32ArraySubarray() { >arr.subarray() : Uint32Array > : ^^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => Uint32Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : Uint32Array > : ^^^^^^^^^^^ >subarray : (begin?: number, end?: number) => Uint32Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ arr.subarray(0); >arr.subarray(0) : Uint32Array > : ^^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => Uint32Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : Uint32Array > : ^^^^^^^^^^^ >subarray : (begin?: number, end?: number) => Uint32Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -347,11 +347,11 @@ function uint32ArraySubarray() { >arr.subarray(0, 10) : Uint32Array > : ^^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => Uint32Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : Uint32Array > : ^^^^^^^^^^^ >subarray : (begin?: number, end?: number) => Uint32Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ >10 : 10 @@ -376,21 +376,21 @@ function float32ArraySubarray() { >arr.subarray() : Float32Array > : ^^^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => Float32Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : Float32Array > : ^^^^^^^^^^^^ >subarray : (begin?: number, end?: number) => Float32Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ arr.subarray(0); >arr.subarray(0) : Float32Array > : ^^^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => Float32Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : Float32Array > : ^^^^^^^^^^^^ >subarray : (begin?: number, end?: number) => Float32Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -398,11 +398,11 @@ function float32ArraySubarray() { >arr.subarray(0, 10) : Float32Array > : ^^^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => Float32Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : Float32Array > : ^^^^^^^^^^^^ >subarray : (begin?: number, end?: number) => Float32Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ >10 : 10 @@ -427,21 +427,21 @@ function float64ArraySubarray() { >arr.subarray() : Float64Array > : ^^^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => Float64Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : Float64Array > : ^^^^^^^^^^^^ >subarray : (begin?: number, end?: number) => Float64Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ arr.subarray(0); >arr.subarray(0) : Float64Array > : ^^^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => Float64Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : Float64Array > : ^^^^^^^^^^^^ >subarray : (begin?: number, end?: number) => Float64Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ @@ -449,11 +449,11 @@ function float64ArraySubarray() { >arr.subarray(0, 10) : Float64Array > : ^^^^^^^^^^^^ >arr.subarray : (begin?: number, end?: number) => Float64Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >arr : Float64Array > : ^^^^^^^^^^^^ >subarray : (begin?: number, end?: number) => Float64Array -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ >10 : 10 diff --git a/tests/baselines/reference/typedefMultipleTypeParameters.types b/tests/baselines/reference/typedefMultipleTypeParameters.types index d6bdffb5d7abe..bde3ca598caf7 100644 --- a/tests/baselines/reference/typedefMultipleTypeParameters.types +++ b/tests/baselines/reference/typedefMultipleTypeParameters.types @@ -12,12 +12,12 @@ /** @type {Everything<{ a: number, b: 'hi', c: never }, undefined, { c: true, d: 1 }, number, string>} */ var tuvwx; >tuvwx : Everything<{ a: number; b: "hi"; c: never; }, undefined, { c: true; d: 1; }, number, string> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^ /** @type {Everything<{ a: number }, undefined, { c: 1, d: 1 }, number, string>} */ var wrong; >wrong : Everything<{ a: number; }, undefined, { c: 1; d: 1; }, number, string> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^ /** @type {Everything<{ a: number }>} */ var insufficient; diff --git a/tests/baselines/reference/typedefOnStatements.types b/tests/baselines/reference/typedefOnStatements.types index 61e668b901279..fff1989136f75 100644 --- a/tests/baselines/reference/typedefOnStatements.types +++ b/tests/baselines/reference/typedefOnStatements.types @@ -153,11 +153,11 @@ function proof (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) { >console.log(a.a, b.b, c.c, d.d, e.e, f.f, g.g, h.h, i.i, j.j, k.k, l.l, m.m, n.n, o.o, p.p, q.q) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >a.a : string > : ^^^^^^ >a : A @@ -264,7 +264,7 @@ function proof (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) { /** @type {Alpha} */ var alpha = { alpha: "aleph" } >alpha : { alpha: string; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >{ alpha: "aleph" } : { alpha: string; } > : ^^^^^^^^^^^^^^^^^^ >alpha : string diff --git a/tests/baselines/reference/typedefTagTypeResolution.types b/tests/baselines/reference/typedefTagTypeResolution.types index 9712bc5ef0ff8..c193bf7fa420b 100644 --- a/tests/baselines/reference/typedefTagTypeResolution.types +++ b/tests/baselines/reference/typedefTagTypeResolution.types @@ -9,8 +9,8 @@ * @return {T} */ function f(x) { ->f : (x: U) => U -> : ^ ^^ ^^ ^^^^^^ +>f : (x: U) => T +> : ^ ^^ ^^ ^^^^^ >x : U > : ^ diff --git a/tests/baselines/reference/typeofImportInstantiationExpression.types b/tests/baselines/reference/typeofImportInstantiationExpression.types index 6a7bf3973af27..84dd63de703b9 100644 --- a/tests/baselines/reference/typeofImportInstantiationExpression.types +++ b/tests/baselines/reference/typeofImportInstantiationExpression.types @@ -19,7 +19,7 @@ interface Arg = Record> export function myFunction = Record>(arg: Arg) { return (arg.params || {}) as U } >myFunction : = Record>(arg: Arg) => U -> : ^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ >arg : Arg > : ^^^^^^^^^ >(arg.params || {}) as U : U @@ -40,7 +40,7 @@ export function myFunction = RecordT1 : = Record>(arg: Arg) => U -> : ^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ >myFunction : error type T2 = typeof import('./input.js').myFunction; diff --git a/tests/baselines/reference/typeofInObjectLiteralType.types b/tests/baselines/reference/typeofInObjectLiteralType.types index 5aa62c161c84c..0e5ca99fcb430 100644 --- a/tests/baselines/reference/typeofInObjectLiteralType.types +++ b/tests/baselines/reference/typeofInObjectLiteralType.types @@ -2,8 +2,8 @@ === typeofInObjectLiteralType.ts === var a: { b: number; c: typeof b }; // Should give error for attempting to use type query on b. ->a : { b: number; c: any; } -> : ^^^^^ ^^^^^^^^^^^ +>a : { b: number; c: typeof b; } +> : ^^^^^ ^^^^^ ^^^ >b : number > : ^^^^^^ >c : any diff --git a/tests/baselines/reference/typeofInterface.types b/tests/baselines/reference/typeofInterface.types index fe9be3bfc84ac..0e9b2467cb05c 100644 --- a/tests/baselines/reference/typeofInterface.types +++ b/tests/baselines/reference/typeofInterface.types @@ -14,9 +14,9 @@ interface I { foo: typeof I; >foo : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >I : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ } var k: I; @@ -25,13 +25,13 @@ var k: I; var j: typeof k.foo = { a: "hello" }; >j : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >k.foo : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >k : I > : ^ >foo : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >{ a: "hello" } : { a: string; } > : ^^^^^^^^^^^^^^ >a : string diff --git a/tests/baselines/reference/typeofObjectInference.types b/tests/baselines/reference/typeofObjectInference.types index 74c07cb3fc669..084a5b89befd3 100644 --- a/tests/baselines/reference/typeofObjectInference.types +++ b/tests/baselines/reference/typeofObjectInference.types @@ -25,7 +25,7 @@ function decorateA(fn: (first: {value: typeof val}) => O) { >fn({value: val}) : O > : ^ >fn : (first: { value: typeof val; }) => O -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >{value: val} : { value: number; } > : ^^^^^^^^^^^^^^^^^^ >value : number @@ -39,9 +39,9 @@ let a = decorateA(({value}) => 5) >decorateA(({value}) => 5) : () => number > : ^^^^^^^^^^^^ >decorateA : (fn: (first: { value: typeof val; }) => O) => () => O -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ->({value}) => 5 : ({ value }: { value: number; }) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +>({value}) => 5 : ({ value }: { value: typeof val; }) => number +> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ >value : number > : ^^^^^^ >5 : 5 @@ -63,7 +63,7 @@ function decorateB(fn: (first: typeof val) => O) { >fn(val) : O > : ^ >fn : (first: typeof val) => O -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >val : number > : ^^^^^^ } @@ -73,7 +73,7 @@ let b = decorateB((value) => 5) >decorateB((value) => 5) : () => number > : ^^^^^^^^^^^^ >decorateB : (fn: (first: typeof val) => O) => () => O -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ >(value) => 5 : (value: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >value : number @@ -97,7 +97,7 @@ function decorateC(fn: (first: {value: number}) => O) { >fn({value: val}) : O > : ^ >fn : (first: { value: number; }) => O -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >{value: val} : { value: number; } > : ^^^^^^^^^^^^^^^^^^ >value : number @@ -111,9 +111,9 @@ let c = decorateC(({value}) => 5) >decorateC(({value}) => 5) : () => number > : ^^^^^^^^^^^^ >decorateC : (fn: (first: { value: number; }) => O) => () => O -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ >({value}) => 5 : ({ value }: { value: number; }) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^ >value : number > : ^^^^^^ >5 : 5 @@ -141,7 +141,7 @@ function decorateD(fn: (first: First) => O) { >fn({value: val}) : O > : ^ >fn : (first: First) => O -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >{value: val} : { value: number; } > : ^^^^^^^^^^^^^^^^^^ >value : number @@ -155,7 +155,7 @@ let d = decorateD(({value}) => 5) >decorateD(({value}) => 5) : () => number > : ^^^^^^^^^^^^ >decorateD : (fn: (first: First) => O) => () => O -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ >({value}) => 5 : ({ value }: First) => number > : ^ ^^^^^^^^^^^^^^^^^^ >value : number diff --git a/tests/baselines/reference/typeofOperatorWithAnyOtherType.types b/tests/baselines/reference/typeofOperatorWithAnyOtherType.types index 06b67da3efa44..1a1186d4972d6 100644 --- a/tests/baselines/reference/typeofOperatorWithAnyOtherType.types +++ b/tests/baselines/reference/typeofOperatorWithAnyOtherType.types @@ -127,7 +127,7 @@ var ResultIsString5 = typeof obj; >typeof obj : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >obj : () => {} -> : ^^^^^^^^ +> : ^^^^^^ var ResultIsString6 = typeof obj1; >ResultIsString6 : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" @@ -217,7 +217,7 @@ var ResultIsString14 = typeof foo(); >foo() : any > : ^^^ >foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ var ResultIsString15 = typeof A.foo(); >ResultIsString15 : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" @@ -416,7 +416,7 @@ r: typeof foo; >typeof foo : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ z: typeof objA.a; >z : any diff --git a/tests/baselines/reference/typeofOperatorWithBooleanType.types b/tests/baselines/reference/typeofOperatorWithBooleanType.types index 831d4f9715a5c..7a523bce04bbe 100644 --- a/tests/baselines/reference/typeofOperatorWithBooleanType.types +++ b/tests/baselines/reference/typeofOperatorWithBooleanType.types @@ -110,7 +110,7 @@ var ResultIsString6 = typeof foo(); >foo() : boolean > : ^^^^^^^ >foo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsString7 = typeof A.foo(); >ResultIsString7 : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" @@ -156,7 +156,7 @@ typeof foo(); >foo() : boolean > : ^^^^^^^ >foo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ typeof true, false; >typeof true, false : false @@ -215,7 +215,7 @@ r: typeof foo; >typeof foo : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ var y = { a: true, b: false}; >y : { a: boolean; b: boolean; } diff --git a/tests/baselines/reference/typeofOperatorWithNumberType.types b/tests/baselines/reference/typeofOperatorWithNumberType.types index ab515de4de3c7..a519d58e0ac58 100644 --- a/tests/baselines/reference/typeofOperatorWithNumberType.types +++ b/tests/baselines/reference/typeofOperatorWithNumberType.types @@ -160,7 +160,7 @@ var ResultIsString9 = typeof foo(); >foo() : number > : ^^^^^^ >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsString10 = typeof A.foo(); >ResultIsString10 : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" @@ -244,7 +244,7 @@ typeof foo(); >foo() : number > : ^^^^^^ >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ typeof objA.a; >typeof objA.a : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" @@ -315,7 +315,7 @@ r: typeof foo; >typeof foo : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ var y = { a: 1, b: 2 }; >y : { a: number; b: number; } diff --git a/tests/baselines/reference/typeofOperatorWithStringType.types b/tests/baselines/reference/typeofOperatorWithStringType.types index be24f95938d33..c40a3499d2564 100644 --- a/tests/baselines/reference/typeofOperatorWithStringType.types +++ b/tests/baselines/reference/typeofOperatorWithStringType.types @@ -160,7 +160,7 @@ var ResultIsString9 = typeof foo(); >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsString10 = typeof A.foo(); >ResultIsString10 : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" @@ -198,11 +198,11 @@ var ResultIsString12 = typeof STRING.charAt(0); >STRING.charAt(0) : string > : ^^^^^^ >STRING.charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >STRING : string > : ^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ @@ -260,7 +260,7 @@ typeof foo(); >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ typeof objA.a, M.n; >typeof objA.a, M.n : string @@ -315,7 +315,7 @@ r: typeof foo; >typeof foo : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var y = { a: "", b: "" }; >y : { a: string; b: string; } diff --git a/tests/baselines/reference/typeofSimple.types b/tests/baselines/reference/typeofSimple.types index 1dd8a5e4c45cf..d5091946e6ffc 100644 --- a/tests/baselines/reference/typeofSimple.types +++ b/tests/baselines/reference/typeofSimple.types @@ -49,5 +49,5 @@ numberI = fun(); >fun() : I > : ^^^^^^^^^ >fun : () => I -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/typeofThis.types b/tests/baselines/reference/typeofThis.types index 38125a2358e55..5087396249b2a 100644 --- a/tests/baselines/reference/typeofThis.types +++ b/tests/baselines/reference/typeofThis.types @@ -143,7 +143,7 @@ function Test3(this: { no: number }) { >this.no : number > : ^^^^^^ >this : { no: number; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ >no : number > : ^^^^^^ >1 : 1 @@ -164,7 +164,7 @@ function Test4(this: { no: number } | undefined) { >this.no : number > : ^^^^^^ >this : { no: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^ >no : number > : ^^^^^^ >1 : 1 @@ -441,36 +441,36 @@ class Test10 { > : ^^^^^^^^^^ let a: typeof this.a = undefined as any; ->a : { b?: string | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->this.a : { b?: string | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: string; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>this.a : { b?: string; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ >this : this > : ^^^^ ->a : { b?: string | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: string; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ >undefined as any : any > : ^^^ >undefined : undefined > : ^^^^^^^^^ if (this.a) { ->this.a : { b?: string | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>this.a : { b?: string; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ >this : this > : ^^^^ ->a : { b?: string | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: string; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ let a: typeof this.a = undefined as any; // should narrow to { b?: string } ->a : { b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->this.a : { b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: string; } +> : ^^^^^^ ^^^ +>this.a : { b?: string; } +> : ^^^^^^ ^^^ >this : this > : ^^^^ ->a : { b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: string; } +> : ^^^^^^ ^^^ >undefined as any : any > : ^^^ >undefined : undefined @@ -481,12 +481,12 @@ class Test10 { > : ^^^^^^^^^^^^^^^^^^ >this.a.b : string | undefined > : ^^^^^^^^^^^^^^^^^^ ->this.a : { b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>this.a : { b?: string; } +> : ^^^^^^ ^^^ >this : this > : ^^^^ ->a : { b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: string; } +> : ^^^^^^ ^^^ >b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >undefined as any : any @@ -497,12 +497,12 @@ class Test10 { if (this.a.b) { >this.a.b : string | undefined > : ^^^^^^^^^^^^^^^^^^ ->this.a : { b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>this.a : { b?: string; } +> : ^^^^^^ ^^^ >this : this > : ^^^^ ->a : { b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: string; } +> : ^^^^^^ ^^^ >b : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -511,12 +511,12 @@ class Test10 { > : ^^^^^^ >this.a.b : string > : ^^^^^^ ->this.a : { b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>this.a : { b?: string; } +> : ^^^^^^ ^^^ >this : this > : ^^^^ ->a : { b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { b?: string; } +> : ^^^^^^ ^^^ >b : string > : ^^^^^^ >undefined as any : any @@ -549,34 +549,34 @@ class Test11 { > : ^^^^ let bar: typeof o.this = {}; ->bar : { x?: string | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o.this : { x?: string | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>bar : { x?: string; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>o.this : { x?: string; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ >o : this > : ^^^^ ->this : { x?: string | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>this : { x?: string; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ >{} : {} > : ^^ if (o.this && o.this.x) { >o.this && o.this.x : string | undefined > : ^^^^^^^^^^^^^^^^^^ ->o.this : { x?: string | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>o.this : { x?: string; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ >o : this > : ^^^^ ->this : { x?: string | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>this : { x?: string; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ >o.this.x : string | undefined > : ^^^^^^^^^^^^^^^^^^ ->o.this : { x?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>o.this : { x?: string; } +> : ^^^^^^ ^^^ >o : this > : ^^^^ ->this : { x?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>this : { x?: string; } +> : ^^^^^^ ^^^ >x : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -585,12 +585,12 @@ class Test11 { > : ^^^^^^ >o.this.x : string > : ^^^^^^ ->o.this : { x?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>o.this : { x?: string; } +> : ^^^^^^ ^^^ >o : this > : ^^^^ ->this : { x?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>this : { x?: string; } +> : ^^^^^^ ^^^ >x : string > : ^^^^^^ } diff --git a/tests/baselines/reference/typeofThisInMethodSignature.types b/tests/baselines/reference/typeofThisInMethodSignature.types index 5381afbfc72be..811d58c5be72f 100644 --- a/tests/baselines/reference/typeofThisInMethodSignature.types +++ b/tests/baselines/reference/typeofThisInMethodSignature.types @@ -32,13 +32,13 @@ const a = new A().a(1); >new A().a(1) : void > : ^^^^ >new A().a : (x: typeof this.x) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >new A() : A > : ^ >A : typeof A > : ^^^^^^^^ >a : (x: typeof this.x) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/types.asyncGenerators.es2018.1.types b/tests/baselines/reference/types.asyncGenerators.es2018.1.types index 71633dd0e9edb..2a9d1eb54db4d 100644 --- a/tests/baselines/reference/types.asyncGenerators.es2018.1.types +++ b/tests/baselines/reference/types.asyncGenerators.es2018.1.types @@ -29,12 +29,12 @@ async function * inferReturnType4() { >yield Promise.resolve(1) : any >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ } @@ -51,12 +51,12 @@ async function * inferReturnType5() { >yield Promise.resolve(2) : any >Promise.resolve(2) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >2 : 2 > : ^ } @@ -83,12 +83,12 @@ async function * inferReturnType7() { > : ^^^^^^^^^^^^^^^^^ >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ } @@ -133,12 +133,12 @@ const assignability2: () => AsyncIterableIterator = async function * () > : ^^^^^^^^^ >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -171,12 +171,12 @@ const assignability4: () => AsyncIterableIterator = async function * () > : ^^^^^^^^^^^^^^^^^ >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -226,12 +226,12 @@ const assignability7: () => AsyncIterable = async function * () { > : ^^^^^^^^^ >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -264,12 +264,12 @@ const assignability9: () => AsyncIterable = async function * () { > : ^^^^^^^^^^^^^^^^^ >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -319,12 +319,12 @@ const assignability12: () => AsyncIterator = async function * () { > : ^^^^^^^^^ >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -357,12 +357,12 @@ const assignability14: () => AsyncIterator = async function * () { > : ^^^^^^^^^^^^^^^^^ >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ @@ -407,12 +407,12 @@ async function * explicitReturnType2(): AsyncIterableIterator { > : ^^^^^^^^^ >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ } @@ -439,12 +439,12 @@ async function * explicitReturnType4(): AsyncIterableIterator { > : ^^^^^^^^^^^^^^^^^ >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ } @@ -485,12 +485,12 @@ async function * explicitReturnType7(): AsyncIterable { > : ^^^^^^^^^ >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ } @@ -517,12 +517,12 @@ async function * explicitReturnType9(): AsyncIterable { > : ^^^^^^^^^^^^^^^^^ >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ } @@ -563,12 +563,12 @@ async function * explicitReturnType12(): AsyncIterator { > : ^^^^^^^^^ >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ } @@ -595,12 +595,12 @@ async function * explicitReturnType14(): AsyncIterator { > : ^^^^^^^^^^^^^^^^^ >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ } @@ -654,12 +654,12 @@ async function * awaitedType2() { > : ^^^^^^ >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >1 : 1 > : ^ } diff --git a/tests/baselines/reference/types.asyncGenerators.es2018.2.types b/tests/baselines/reference/types.asyncGenerators.es2018.2.types index 162399d210003..41275777ea664 100644 --- a/tests/baselines/reference/types.asyncGenerators.es2018.2.types +++ b/tests/baselines/reference/types.asyncGenerators.es2018.2.types @@ -32,12 +32,12 @@ async function * inferReturnType3() { > : ^^^ >Promise.resolve([1, 2]) : Promise > : ^^^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >[1, 2] : number[] > : ^^^^^^^^ >1 : 1 diff --git a/tests/baselines/reference/typesVersionsDeclarationEmit.ambient.types b/tests/baselines/reference/typesVersionsDeclarationEmit.ambient.types index 13c6e9602d191..9bc4f10673d1f 100644 --- a/tests/baselines/reference/typesVersionsDeclarationEmit.ambient.types +++ b/tests/baselines/reference/typesVersionsDeclarationEmit.ambient.types @@ -3,11 +3,11 @@ === main.ts === import { fa } from "ext"; >fa : () => import("ext").A -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^ ^ import { fb } from "ext/other"; >fb : () => import("ext/other").B -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^ ^ export const va = fa(); >va : import("ext").A @@ -15,7 +15,7 @@ export const va = fa(); >fa() : import("ext").A > : ^^^^^^^^^^^^^^^ >fa : () => import("ext").A -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^ ^ export const vb = fb(); >vb : import("ext/other").B @@ -23,7 +23,7 @@ export const vb = fb(); >fb() : import("ext/other").B > : ^^^^^^^^^^^^^^^^^^^^^ >fb : () => import("ext/other").B -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^ ^ === node_modules/ext/ts3.1/index.d.ts === declare module "ext" { diff --git a/tests/baselines/reference/typesVersionsDeclarationEmit.multiFile.types b/tests/baselines/reference/typesVersionsDeclarationEmit.multiFile.types index 60e660ae93725..fe1ec3249cee4 100644 --- a/tests/baselines/reference/typesVersionsDeclarationEmit.multiFile.types +++ b/tests/baselines/reference/typesVersionsDeclarationEmit.multiFile.types @@ -3,11 +3,11 @@ === main.ts === import { fa } from "ext"; >fa : () => import("node_modules/ext/ts3.1/index").A -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ import { fb } from "ext/other"; >fb : () => import("node_modules/ext/ts3.1/other").B -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ export const va = fa(); >va : import("node_modules/ext/ts3.1/index").A @@ -15,7 +15,7 @@ export const va = fa(); >fa() : import("node_modules/ext/ts3.1/index").A > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >fa : () => import("node_modules/ext/ts3.1/index").A -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ export const vb = fb(); >vb : import("node_modules/ext/ts3.1/other").B @@ -23,7 +23,7 @@ export const vb = fb(); >fb() : import("node_modules/ext/ts3.1/other").B > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >fb : () => import("node_modules/ext/ts3.1/other").B -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ === node_modules/ext/ts3.1/index.d.ts === export interface A {} diff --git a/tests/baselines/reference/typesVersionsDeclarationEmit.multiFileBackReferenceToSelf.types b/tests/baselines/reference/typesVersionsDeclarationEmit.multiFileBackReferenceToSelf.types index 9945770946a29..5d5a51a60835e 100644 --- a/tests/baselines/reference/typesVersionsDeclarationEmit.multiFileBackReferenceToSelf.types +++ b/tests/baselines/reference/typesVersionsDeclarationEmit.multiFileBackReferenceToSelf.types @@ -7,7 +7,7 @@ import { fa } from "ext"; import { fb } from "ext/other"; >fb : () => import("node_modules/ext/other").B -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ export const va = fa(); >va : any @@ -23,7 +23,7 @@ export const vb = fb(); >fb() : import("node_modules/ext/other").B > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >fb : () => import("node_modules/ext/other").B -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ === node_modules/ext/other.d.ts === export interface B {} diff --git a/tests/baselines/reference/typesVersionsDeclarationEmit.multiFileBackReferenceToUnmapped.types b/tests/baselines/reference/typesVersionsDeclarationEmit.multiFileBackReferenceToUnmapped.types index c634e9a25f442..3ab55b36525b5 100644 --- a/tests/baselines/reference/typesVersionsDeclarationEmit.multiFileBackReferenceToUnmapped.types +++ b/tests/baselines/reference/typesVersionsDeclarationEmit.multiFileBackReferenceToUnmapped.types @@ -3,13 +3,13 @@ === main.ts === import { fa } from "ext"; >fa : () => import("node_modules/ext/other").A2 -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ import { fa as fa2 } from "ext/other"; >fa : () => import("node_modules/ext/other").A2 -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ >fa2 : () => import("node_modules/ext/other").A2 -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ export const va = fa(); >va : import("node_modules/ext/other").A2 @@ -17,7 +17,7 @@ export const va = fa(); >fa() : import("node_modules/ext/other").A2 > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >fa : () => import("node_modules/ext/other").A2 -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ export const va2 = fa2(); >va2 : import("node_modules/ext/other").A2 @@ -25,7 +25,7 @@ export const va2 = fa2(); >fa2() : import("node_modules/ext/other").A2 > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >fa2 : () => import("node_modules/ext/other").A2 -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ === node_modules/ext/other.d.ts === export interface A2 {} diff --git a/tests/baselines/reference/typesWithOptionalProperty.types b/tests/baselines/reference/typesWithOptionalProperty.types index d2973e1a2d73c..e7e420b2f57a0 100644 --- a/tests/baselines/reference/typesWithOptionalProperty.types +++ b/tests/baselines/reference/typesWithOptionalProperty.types @@ -111,7 +111,7 @@ a = b; >a = b : { foo: string; } > : ^^^^^^^^^^^^^^^^ >a : { foo: string; bar?: number; baz?(): string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^ >b : { foo: string; } > : ^^^^^^^^^^^^^^^^ @@ -119,7 +119,7 @@ a = c; >a = c : { foo: string; bar: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : { foo: string; bar?: number; baz?(): string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^ >c : { foo: string; bar: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -127,23 +127,23 @@ a = d; >a = d : { foo: string; bar: number; baz: () => string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : { foo: string; bar?: number; baz?(): string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^ >d : { foo: string; bar: number; baz: () => string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ i = a; >i = a : { foo: string; bar?: number; baz?(): string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^ >i : I > : ^ >a : { foo: string; bar?: number; baz?(): string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^ a = i; >a = i : I > : ^ >a : { foo: string; bar?: number; baz?(): string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^ >i : I > : ^ diff --git a/tests/baselines/reference/typesWithSpecializedCallSignatures.types b/tests/baselines/reference/typesWithSpecializedCallSignatures.types index 8cd1ad2508199..43f4a57540b46 100644 --- a/tests/baselines/reference/typesWithSpecializedCallSignatures.types +++ b/tests/baselines/reference/typesWithSpecializedCallSignatures.types @@ -31,25 +31,25 @@ class C { foo(x: 'hi'): Derived1; >foo : { (x: "hi"): Derived1; (x: "bye"): Derived2; (x: string): Base; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "hi" > : ^^^^ foo(x: 'bye'): Derived2; >foo : { (x: "hi"): Derived1; (x: "bye"): Derived2; (x: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "bye" > : ^^^^^ foo(x: string): Base; >foo : { (x: "hi"): Derived1; (x: "bye"): Derived2; (x: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ foo(x) { >foo : { (x: "hi"): Derived1; (x: "bye"): Derived2; (x: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : any return x; @@ -67,19 +67,19 @@ var c = new C(); interface I { foo(x: 'hi'): Derived1; >foo : { (x: "hi"): Derived1; (x: "bye"): Derived2; (x: string): Base; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "hi" > : ^^^^ foo(x: 'bye'): Derived2; >foo : { (x: "hi"): Derived1; (x: "bye"): Derived2; (x: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "bye" > : ^^^^^ foo(x: string): Base; >foo : { (x: "hi"): Derived1; (x: "bye"): Derived2; (x: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ } @@ -93,19 +93,19 @@ var a: { foo(x: 'hi'): Derived1; >foo : { (x: "hi"): Derived1; (x: "bye"): Derived2; (x: string): Base; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "hi" > : ^^^^ foo(x: 'bye'): Derived2; >foo : { (x: "hi"): Derived1; (x: "bye"): Derived2; (x: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : "bye" > : ^^^^^ foo(x: string): Base; >foo : { (x: "hi"): Derived1; (x: "bye"): Derived2; (x: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ @@ -121,11 +121,11 @@ c = i; c = a; >c = a : { foo(x: "hi"): Derived1; foo(x: "bye"): Derived2; foo(x: string): Base; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ >c : C > : ^ >a : { foo(x: "hi"): Derived1; foo(x: "bye"): Derived2; foo(x: string): Base; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ i = c; >i = c : C @@ -137,17 +137,17 @@ i = c; i = a; >i = a : { foo(x: "hi"): Derived1; foo(x: "bye"): Derived2; foo(x: string): Base; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ >i : I > : ^ >a : { foo(x: "hi"): Derived1; foo(x: "bye"): Derived2; foo(x: string): Base; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ a = c; >a = c : C > : ^ >a : { foo(x: "hi"): Derived1; foo(x: "bye"): Derived2; foo(x: string): Base; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ >c : C > : ^ @@ -155,7 +155,7 @@ a = i; >a = i : I > : ^ >a : { foo(x: "hi"): Derived1; foo(x: "bye"): Derived2; foo(x: string): Base; } -> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ >i : I > : ^ @@ -165,11 +165,11 @@ var r1: Derived1 = c.foo('hi'); >c.foo('hi') : Derived1 > : ^^^^^^^^ >c.foo : { (x: "hi"): Derived1; (x: "bye"): Derived2; (x: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c : C > : ^ >foo : { (x: "hi"): Derived1; (x: "bye"): Derived2; (x: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >'hi' : "hi" > : ^^^^ @@ -179,11 +179,11 @@ var r2: Derived2 = c.foo('bye'); >c.foo('bye') : Derived2 > : ^^^^^^^^ >c.foo : { (x: "hi"): Derived1; (x: "bye"): Derived2; (x: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c : C > : ^ >foo : { (x: "hi"): Derived1; (x: "bye"): Derived2; (x: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >'bye' : "bye" > : ^^^^^ @@ -193,11 +193,11 @@ var r3: Base = c.foo('hm'); >c.foo('hm') : Base > : ^^^^ >c.foo : { (x: "hi"): Derived1; (x: "bye"): Derived2; (x: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c : C > : ^ >foo : { (x: "hi"): Derived1; (x: "bye"): Derived2; (x: string): Base; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >'hm' : "hm" > : ^^^^ diff --git a/tests/baselines/reference/typesWithSpecializedConstructSignatures.types b/tests/baselines/reference/typesWithSpecializedConstructSignatures.types index 2aad7752365e7..567c0dd4d86ec 100644 --- a/tests/baselines/reference/typesWithSpecializedConstructSignatures.types +++ b/tests/baselines/reference/typesWithSpecializedConstructSignatures.types @@ -103,25 +103,25 @@ c = i; c = a; >c = a : { new (x: "hi"): Derived1; new (x: "bye"): Derived2; new (x: string): Base; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ >c : C > : ^ >a : { new (x: "hi"): Derived1; new (x: "bye"): Derived2; new (x: string): Base; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ i = a; >i = a : { new (x: "hi"): Derived1; new (x: "bye"): Derived2; new (x: string): Base; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ >i : I > : ^ >a : { new (x: "hi"): Derived1; new (x: "bye"): Derived2; new (x: string): Base; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ a = i; >a = i : I > : ^ >a : { new (x: "hi"): Derived1; new (x: "bye"): Derived2; new (x: string): Base; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ >i : I > : ^ @@ -151,7 +151,7 @@ var r3: Base = new a('hm'); >new a('hm') : Base > : ^^^^ >a : { new (x: "hi"): Derived1; new (x: "bye"): Derived2; new (x: string): Base; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^^ ^^^ >'hm' : "hm" > : ^^^^ diff --git a/tests/baselines/reference/typingsLookup1.types b/tests/baselines/reference/typingsLookup1.types index 9e94d74415cf3..b8b908ff9ada1 100644 --- a/tests/baselines/reference/typingsLookup1.types +++ b/tests/baselines/reference/typingsLookup1.types @@ -5,7 +5,7 @@ $.x; >$.x : any >$ : { x: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : any > : ^^^ diff --git a/tests/baselines/reference/typingsLookup3.errors.txt b/tests/baselines/reference/typingsLookup3.errors.txt new file mode 100644 index 0000000000000..5073cb549393c --- /dev/null +++ b/tests/baselines/reference/typingsLookup3.errors.txt @@ -0,0 +1,15 @@ +/a.ts(1,23): error TS2688: Cannot find type definition file for 'JqUeRy'. + + +==== /tsconfig.json (0 errors) ==== + { "files": "a.ts" } + +==== /a.ts (1 errors) ==== + /// + ~~~~~~ +!!! error TS2688: Cannot find type definition file for 'JqUeRy'. + $.x; + +==== /node_modules/@types/jquery/index.d.ts (0 errors) ==== + declare var $: { x: any }; + \ No newline at end of file diff --git a/tests/baselines/reference/typingsLookup3.trace.json b/tests/baselines/reference/typingsLookup3.trace.json index 34f0b54b8debb..817ce49ceff11 100644 --- a/tests/baselines/reference/typingsLookup3.trace.json +++ b/tests/baselines/reference/typingsLookup3.trace.json @@ -1,6 +1,13 @@ [ "File '/package.json' does not exist.", - "======== Resolving type reference directive 'jquery', containing file '/a.ts', root directory '/node_modules/@types'. ========", + "======== Resolving type reference directive 'JqUeRy', containing file '/a.ts', root directory '/node_modules/@types'. ========", + "Resolving with primary search path '/node_modules/@types'.", + "Looking up in 'node_modules' folder, initial location '/'.", + "Searching all ancestor node_modules directories for preferred extensions: Declaration.", + "File '/node_modules/JqUeRy.d.ts' does not exist.", + "File '/node_modules/@types/JqUeRy.d.ts' does not exist.", + "======== Type reference directive 'JqUeRy' was not resolved. ========", + "======== Resolving type reference directive 'jquery', containing file '/__inferred type names__.ts', root directory '/node_modules/@types'. ========", "Resolving with primary search path '/node_modules/@types'.", "File '/node_modules/@types/jquery/package.json' does not exist.", "File '/node_modules/@types/jquery/index.d.ts' exists - use it as a name resolution result.", @@ -10,9 +17,6 @@ "File '/node_modules/@types/package.json' does not exist.", "File '/node_modules/package.json' does not exist.", "File '/package.json' does not exist according to earlier cached lookups.", - "======== Resolving type reference directive 'jquery', containing file '/__inferred type names__.ts'. ========", - "Resolution for type reference directive 'jquery' was found in cache from location '/'.", - "======== Type reference directive 'jquery' was successfully resolved to '/node_modules/@types/jquery/index.d.ts', primary: true. ========", "File '/.ts/package.json' does not exist.", "File '/package.json' does not exist according to earlier cached lookups.", "======== Resolving module '@typescript/lib-es5' from '/__lib_node_modules_lookup_lib.es5.d.ts__.ts'. ========", diff --git a/tests/baselines/reference/typingsLookup3.types b/tests/baselines/reference/typingsLookup3.types index feb2bc5be0433..378cdda8fa6c4 100644 --- a/tests/baselines/reference/typingsLookup3.types +++ b/tests/baselines/reference/typingsLookup3.types @@ -4,8 +4,9 @@ /// $.x; >$.x : any +> : ^^^ >$ : { x: any; } -> : ^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : any > : ^^^ @@ -14,4 +15,5 @@ declare var $: { x: any }; >$ : { x: any; } > : ^^^^^ ^^^ >x : any +> : ^^^ diff --git a/tests/baselines/reference/umd-augmentation-1.types b/tests/baselines/reference/umd-augmentation-1.types index 04eecf92e195d..c7f9c95e8f010 100644 --- a/tests/baselines/reference/umd-augmentation-1.types +++ b/tests/baselines/reference/umd-augmentation-1.types @@ -27,12 +27,12 @@ let magnitude = m.getLength(v); > : ^^^^^^ >m.getLength(v) : number > : ^^^^^^ ->m.getLength : (p: Vector) => number -> : ^ ^^ ^^^^^^^^^^^ +>m.getLength : (p: m.Vector) => number +> : ^ ^^^^^^^^^^^^^^^ >m : typeof m > : ^^^^^^^^ ->getLength : (p: Vector) => number -> : ^ ^^ ^^^^^^^^^^^ +>getLength : (p: m.Vector) => number +> : ^ ^^^^^^^^^^^^^^^ >v : m.Vector > : ^^^^^^^^ diff --git a/tests/baselines/reference/umd-augmentation-2.types b/tests/baselines/reference/umd-augmentation-2.types index 07e1ff9f63a2e..6d5c3dde26b88 100644 --- a/tests/baselines/reference/umd-augmentation-2.types +++ b/tests/baselines/reference/umd-augmentation-2.types @@ -24,12 +24,12 @@ let magnitude = Math2d.getLength(v); > : ^^^^^^ >Math2d.getLength(v) : number > : ^^^^^^ ->Math2d.getLength : (p: Vector) => number -> : ^ ^^ ^^^^^^^^^^^ +>Math2d.getLength : (p: Math2d.Vector) => number +> : ^ ^^^^^^^^^^^^^^^^^^^^ >Math2d : typeof Math2d > : ^^^^^^^^^^^^^ ->getLength : (p: Vector) => number -> : ^ ^^ ^^^^^^^^^^^ +>getLength : (p: Math2d.Vector) => number +> : ^ ^^^^^^^^^^^^^^^^^^^^ >v : Math2d.Vector > : ^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/umd-augmentation-3.types b/tests/baselines/reference/umd-augmentation-3.types index 32a59fcfc4835..2a8dbeeb7463a 100644 --- a/tests/baselines/reference/umd-augmentation-3.types +++ b/tests/baselines/reference/umd-augmentation-3.types @@ -27,12 +27,12 @@ let magnitude = m.getLength(v); > : ^^^^^^ >m.getLength(v) : number > : ^^^^^^ ->m.getLength : (p: Vector) => number -> : ^ ^^ ^^^^^^^^^^^ +>m.getLength : (p: m.Vector) => number +> : ^ ^^^^^^^^^^^^^^^ >m : typeof m > : ^^^^^^^^ ->getLength : (p: Vector) => number -> : ^ ^^ ^^^^^^^^^^^ +>getLength : (p: m.Vector) => number +> : ^ ^^^^^^^^^^^^^^^ >v : m.Vector > : ^^^^^^^^ diff --git a/tests/baselines/reference/umd-augmentation-4.types b/tests/baselines/reference/umd-augmentation-4.types index 55224923ba71b..5d1217759b6e8 100644 --- a/tests/baselines/reference/umd-augmentation-4.types +++ b/tests/baselines/reference/umd-augmentation-4.types @@ -24,12 +24,12 @@ let magnitude = Math2d.getLength(v); > : ^^^^^^ >Math2d.getLength(v) : number > : ^^^^^^ ->Math2d.getLength : (p: Vector) => number -> : ^ ^^ ^^^^^^^^^^^ +>Math2d.getLength : (p: Math2d.Vector) => number +> : ^ ^^^^^^^^^^^^^^^^^^^^ >Math2d : typeof Math2d > : ^^^^^^^^^^^^^ ->getLength : (p: Vector) => number -> : ^ ^^ ^^^^^^^^^^^ +>getLength : (p: Math2d.Vector) => number +> : ^ ^^^^^^^^^^^^^^^^^^^^ >v : Math2d.Vector > : ^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/umd1.types b/tests/baselines/reference/umd1.types index 2072a53db07a6..0e70696ace697 100644 --- a/tests/baselines/reference/umd1.types +++ b/tests/baselines/reference/umd1.types @@ -6,11 +6,11 @@ Foo.fn(); >Foo.fn() : void > : ^^^^ >Foo.fn : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >Foo : typeof Foo > : ^^^^^^^^^^ >fn : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ let x: Foo.Thing; >x : Foo.Thing diff --git a/tests/baselines/reference/umd3.types b/tests/baselines/reference/umd3.types index b3d6368669488..07305f9a50edf 100644 --- a/tests/baselines/reference/umd3.types +++ b/tests/baselines/reference/umd3.types @@ -9,11 +9,11 @@ Foo.fn(); >Foo.fn() : void > : ^^^^ >Foo.fn : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >Foo : typeof Foo > : ^^^^^^^^^^ >fn : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ let x: Foo.Thing; >x : Foo.Thing diff --git a/tests/baselines/reference/umd4.types b/tests/baselines/reference/umd4.types index 745fd350f43c5..c3795593ed4c8 100644 --- a/tests/baselines/reference/umd4.types +++ b/tests/baselines/reference/umd4.types @@ -9,11 +9,11 @@ Bar.fn(); >Bar.fn() : void > : ^^^^ >Bar.fn : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >Bar : typeof Bar > : ^^^^^^^^^^ >fn : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ let x: Bar.Thing; >x : Bar.Thing diff --git a/tests/baselines/reference/umd5.types b/tests/baselines/reference/umd5.types index e54fdf0e83668..9add60c8b8c81 100644 --- a/tests/baselines/reference/umd5.types +++ b/tests/baselines/reference/umd5.types @@ -9,11 +9,11 @@ Bar.fn(); >Bar.fn() : void > : ^^^^ >Bar.fn : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >Bar : typeof Bar > : ^^^^^^^^^^ >fn : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ let x: Bar.Thing; >x : Bar.Thing diff --git a/tests/baselines/reference/umd6.types b/tests/baselines/reference/umd6.types index 418abbee1e264..cf6db7e9b4456 100644 --- a/tests/baselines/reference/umd6.types +++ b/tests/baselines/reference/umd6.types @@ -8,11 +8,11 @@ let y: number = Foo.fn(); >Foo.fn() : number > : ^^^^^^ >Foo.fn : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Foo : typeof Foo > : ^^^^^^^^^^ >fn : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ === foo.d.ts === declare namespace Thing { diff --git a/tests/baselines/reference/umd7.types b/tests/baselines/reference/umd7.types index a7b530ceb5808..570362b0e1a96 100644 --- a/tests/baselines/reference/umd7.types +++ b/tests/baselines/reference/umd7.types @@ -8,7 +8,7 @@ let y: number = Foo(); >Foo() : number > : ^^^^^^ >Foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ === foo.d.ts === declare function Thing(): number; @@ -17,9 +17,9 @@ declare function Thing(): number; export = Thing; >Thing : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ export as namespace Foo; >Foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/umd8.types b/tests/baselines/reference/umd8.types index 9010b7da94162..180d98358b78d 100644 --- a/tests/baselines/reference/umd8.types +++ b/tests/baselines/reference/umd8.types @@ -14,11 +14,11 @@ y.foo(); >y.foo() : number > : ^^^^^^ >y.foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >y : ff > : ^^ >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ let z: Foo.SubThing; // OK in ns position >z : ff.SubThing diff --git a/tests/baselines/reference/umdGlobalAugmentationNoCrash.errors.txt b/tests/baselines/reference/umdGlobalAugmentationNoCrash.errors.txt new file mode 100644 index 0000000000000..83eeb6fdec252 --- /dev/null +++ b/tests/baselines/reference/umdGlobalAugmentationNoCrash.errors.txt @@ -0,0 +1,28 @@ +global.d.ts(2,11): error TS2451: Cannot redeclare block-scoped variable 'React'. +module.d.ts(1,21): error TS2451: Cannot redeclare block-scoped variable 'React'. + + +==== global.d.ts (1 errors) ==== + declare global { + const React: typeof import("./module"); + ~~~~~ +!!! error TS2451: Cannot redeclare block-scoped variable 'React'. +!!! related TS6203 module.d.ts:1:21: 'React' was also declared here. + } + export {}; + +==== module.d.ts (1 errors) ==== + export as namespace React; + ~~~~~ +!!! error TS2451: Cannot redeclare block-scoped variable 'React'. +!!! related TS6203 global.d.ts:2:11: 'React' was also declared here. + export function foo(): string; + +==== some_module.ts (0 errors) ==== + export {} + React.foo; + +==== emits.ts (0 errors) ==== + console.log("hello"); + React.foo; + \ No newline at end of file diff --git a/tests/baselines/reference/umdGlobalAugmentationNoCrash.symbols b/tests/baselines/reference/umdGlobalAugmentationNoCrash.symbols index 30b2c1a60e63d..05b3b6bc86d9b 100644 --- a/tests/baselines/reference/umdGlobalAugmentationNoCrash.symbols +++ b/tests/baselines/reference/umdGlobalAugmentationNoCrash.symbols @@ -5,7 +5,7 @@ declare global { >global : Symbol(global, Decl(global.d.ts, 0, 0)) const React: typeof import("./module"); ->React : Symbol(React, Decl(module.d.ts, 0, 0), Decl(global.d.ts, 1, 9)) +>React : Symbol(React, Decl(global.d.ts, 1, 9)) } export {}; @@ -20,7 +20,7 @@ export function foo(): string; export {} React.foo; >React.foo : Symbol(foo, Decl(module.d.ts, 0, 26)) ->React : Symbol(React, Decl(module.d.ts, 0, 0), Decl(global.d.ts, 1, 9)) +>React : Symbol(React, Decl(global.d.ts, 1, 9)) >foo : Symbol(foo, Decl(module.d.ts, 0, 26)) === emits.ts === @@ -31,6 +31,6 @@ console.log("hello"); React.foo; >React.foo : Symbol(foo, Decl(module.d.ts, 0, 26)) ->React : Symbol(React, Decl(module.d.ts, 0, 0), Decl(global.d.ts, 1, 9)) +>React : Symbol(React, Decl(global.d.ts, 1, 9)) >foo : Symbol(foo, Decl(module.d.ts, 0, 26)) diff --git a/tests/baselines/reference/umdGlobalAugmentationNoCrash.types b/tests/baselines/reference/umdGlobalAugmentationNoCrash.types index b38ebfee9710f..473a90510e738 100644 --- a/tests/baselines/reference/umdGlobalAugmentationNoCrash.types +++ b/tests/baselines/reference/umdGlobalAugmentationNoCrash.types @@ -24,30 +24,30 @@ export function foo(): string; export {} React.foo; >React.foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >React : typeof import("module") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ === emits.ts === console.log("hello"); >console.log("hello") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ React.foo; >React.foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >React : typeof import("module") > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/umdNamespaceMergedWithGlobalAugmentationIsNotCircular.errors.txt b/tests/baselines/reference/umdNamespaceMergedWithGlobalAugmentationIsNotCircular.errors.txt new file mode 100644 index 0000000000000..66096c907982f --- /dev/null +++ b/tests/baselines/reference/umdNamespaceMergedWithGlobalAugmentationIsNotCircular.errors.txt @@ -0,0 +1,32 @@ +global.d.ts(2,11): error TS2451: Cannot redeclare block-scoped variable 'React'. +module.d.ts(2,21): error TS2451: Cannot redeclare block-scoped variable 'React'. + + +==== global.d.ts (1 errors) ==== + declare global { + const React: typeof import("./module"); + ~~~~~ +!!! error TS2451: Cannot redeclare block-scoped variable 'React'. +!!! related TS6203 module.d.ts:2:21: 'React' was also declared here. + } + + export { }; + +==== module.d.ts (1 errors) ==== + export = React; + export as namespace React; + ~~~~~ +!!! error TS2451: Cannot redeclare block-scoped variable 'React'. +!!! related TS6203 global.d.ts:2:11: 'React' was also declared here. + + declare namespace React { + function createRef(): any; + } + +==== some_module.ts (0 errors) ==== + export { }; + React.createRef; + +==== emits.ts (0 errors) ==== + console.log("hello"); + React.createRef; \ No newline at end of file diff --git a/tests/baselines/reference/umdNamespaceMergedWithGlobalAugmentationIsNotCircular.symbols b/tests/baselines/reference/umdNamespaceMergedWithGlobalAugmentationIsNotCircular.symbols index a7dea80369b6e..557e82ac383cf 100644 --- a/tests/baselines/reference/umdNamespaceMergedWithGlobalAugmentationIsNotCircular.symbols +++ b/tests/baselines/reference/umdNamespaceMergedWithGlobalAugmentationIsNotCircular.symbols @@ -5,20 +5,20 @@ declare global { >global : Symbol(global, Decl(global.d.ts, 0, 0)) const React: typeof import("./module"); ->React : Symbol(React, Decl(module.d.ts, 1, 26), Decl(global.d.ts, 1, 9)) +>React : Symbol(React, Decl(global.d.ts, 1, 9)) } export { }; === module.d.ts === export = React; ->React : Symbol(React, Decl(module.d.ts, 1, 26), Decl(global.d.ts, 1, 9)) +>React : Symbol(React, Decl(module.d.ts, 1, 26)) export as namespace React; >React : Symbol(React, Decl(module.d.ts, 0, 15)) declare namespace React { ->React : Symbol(React, Decl(module.d.ts, 1, 26), Decl(global.d.ts, 1, 9)) +>React : Symbol(React, Decl(module.d.ts, 1, 26)) function createRef(): any; >createRef : Symbol(createRef, Decl(module.d.ts, 3, 25)) @@ -28,7 +28,7 @@ declare namespace React { export { }; React.createRef; >React.createRef : Symbol(React.createRef, Decl(module.d.ts, 3, 25)) ->React : Symbol(React, Decl(module.d.ts, 1, 26), Decl(global.d.ts, 1, 9)) +>React : Symbol(React, Decl(global.d.ts, 1, 9)) >createRef : Symbol(React.createRef, Decl(module.d.ts, 3, 25)) === emits.ts === @@ -39,6 +39,6 @@ console.log("hello"); React.createRef; >React.createRef : Symbol(React.createRef, Decl(module.d.ts, 3, 25)) ->React : Symbol(React, Decl(module.d.ts, 1, 26), Decl(global.d.ts, 1, 9)) +>React : Symbol(React, Decl(global.d.ts, 1, 9)) >createRef : Symbol(React.createRef, Decl(module.d.ts, 3, 25)) diff --git a/tests/baselines/reference/umdNamespaceMergedWithGlobalAugmentationIsNotCircular.types b/tests/baselines/reference/umdNamespaceMergedWithGlobalAugmentationIsNotCircular.types index f6a9bf5cd0a5a..a9284f0a4c187 100644 --- a/tests/baselines/reference/umdNamespaceMergedWithGlobalAugmentationIsNotCircular.types +++ b/tests/baselines/reference/umdNamespaceMergedWithGlobalAugmentationIsNotCircular.types @@ -6,8 +6,8 @@ declare global { > : ^^^^^^^^^^^^^ const React: typeof import("./module"); ->React : typeof React -> : ^^^^^^^^^^^^ +>React : typeof import("module") +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } export { }; @@ -18,8 +18,8 @@ export = React; > : ^^^^^^^^^^^^ export as namespace React; ->React : typeof import("module") -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>React : typeof React +> : ^^^^^^^^^^^^ declare namespace React { >React : typeof React @@ -34,30 +34,30 @@ declare namespace React { export { }; React.createRef; >React.createRef : () => any -> : ^^^^^^^^^ ->React : typeof React -> : ^^^^^^^^^^^^ +> : ^^^^^^ +>React : typeof import("module") +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >createRef : () => any -> : ^^^^^^^^^ +> : ^^^^^^ === emits.ts === console.log("hello"); >console.log("hello") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ React.createRef; >React.createRef : () => any -> : ^^^^^^^^^ ->React : typeof React -> : ^^^^^^^^^^^^ +> : ^^^^^^ +>React : typeof import("module") +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >createRef : () => any -> : ^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/uncalledFunctionChecksInConditional.types b/tests/baselines/reference/uncalledFunctionChecksInConditional.types index b9f874c7f4603..473972b5bdaa1 100644 --- a/tests/baselines/reference/uncalledFunctionChecksInConditional.types +++ b/tests/baselines/reference/uncalledFunctionChecksInConditional.types @@ -15,44 +15,44 @@ declare const isUndefinedFoo: (() => boolean) | undefined; if (isFoo) { >isFoo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ // error on isFoo } if (isFoo || isBar) { >isFoo || isBar : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >isFoo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >isBar : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ // error on isFoo, isBar } if (isFoo || isFoo()) { >isFoo || isFoo() : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >isFoo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >isFoo() : boolean > : ^^^^^^^ >isFoo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ // error on isFoo } if (isUndefinedFoo || isFoo()) { >isUndefinedFoo || isFoo() : boolean | (() => boolean) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^ ^ >isUndefinedFoo : (() => boolean) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >isFoo() : boolean > : ^^^^^^^ >isFoo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ // no error } @@ -61,11 +61,11 @@ if (isFoo && isFoo()) { >isFoo && isFoo() : boolean > : ^^^^^^^ >isFoo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >isFoo() : boolean > : ^^^^^^^ >isFoo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ // no error } @@ -96,20 +96,20 @@ declare const uz: (() => boolean) | undefined; if (x || isFoo) { >x || isFoo : true | (() => boolean) -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^ >x : boolean > : ^^^^^^^ >isFoo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ // error on isFoo } if (isFoo || x) { >isFoo || x : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >isFoo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >x : boolean > : ^^^^^^^ @@ -118,7 +118,7 @@ if (isFoo || x) { if (x || y || z() || isFoo) { >x || y || z() || isFoo : true | (() => boolean) -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^ >x || y || z() : boolean > : ^^^^^^^ >x || y : boolean @@ -130,18 +130,18 @@ if (x || y || z() || isFoo) { >z() : boolean > : ^^^^^^^ >z : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >isFoo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ // error on isFoo } if (x || uy || z || isUndefinedFoo) { >x || uy || z || isUndefinedFoo : true | (() => boolean) -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^ >x || uy || z : true | (() => boolean) -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^ >x || uy : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ >x : boolean @@ -149,18 +149,18 @@ if (x || uy || z || isUndefinedFoo) { >uy : boolean | undefined > : ^^^^^^^^^^^^^^^^^^^ >z : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >isUndefinedFoo : (() => boolean) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ // error on z } if (ux || y || uz || isFoo) { >ux || y || uz || isFoo : true | (() => boolean) -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^ >ux || y || uz : true | (() => boolean) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ >ux || y : boolean > : ^^^^^^^ >ux : boolean | undefined @@ -168,25 +168,25 @@ if (ux || y || uz || isFoo) { >y : boolean > : ^^^^^^^ >uz : (() => boolean) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^ >isFoo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ // error on isFoo } if (x && z) { >x && z : false | (() => boolean) -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^ >x : boolean > : ^^^^^^^ >z : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ // no error z(); >z() : boolean > : ^^^^^^^ >z : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/uncalledFunctionChecksInConditional2.types b/tests/baselines/reference/uncalledFunctionChecksInConditional2.types index a07092059ae66..9895a5d755d82 100644 --- a/tests/baselines/reference/uncalledFunctionChecksInConditional2.types +++ b/tests/baselines/reference/uncalledFunctionChecksInConditional2.types @@ -19,48 +19,48 @@ Type Count: 1,000 if ( perf && >perf && perf.measure && perf.clearMarks && perf.clearMeasures : (measureName?: string) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >perf && perf.measure && perf.clearMarks : (markName?: string) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >perf && perf.measure : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string) => PerformanceMeasure -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >perf : Performance > : ^^^^^^^^^^^ perf.measure && >perf.measure : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string) => PerformanceMeasure -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >perf : Performance > : ^^^^^^^^^^^ >measure : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string) => PerformanceMeasure -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ perf.clearMarks && >perf.clearMarks : (markName?: string) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >perf : Performance > : ^^^^^^^^^^^ >clearMarks : (markName?: string) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ perf.clearMeasures >perf.clearMeasures : (measureName?: string) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >perf : Performance > : ^^^^^^^^^^^ >clearMeasures : (measureName?: string) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ ) { perf.measure(""); >perf.measure("") : PerformanceMeasure > : ^^^^^^^^^^^^^^^^^^ >perf.measure : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string) => PerformanceMeasure -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >perf : Performance > : ^^^^^^^^^^^ >measure : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string) => PerformanceMeasure -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >"" : "" > : ^^ @@ -68,11 +68,11 @@ Type Count: 1,000 >perf.clearMarks("") : void > : ^^^^ >perf.clearMarks : (markName?: string) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >perf : Performance > : ^^^^^^^^^^^ >clearMarks : (markName?: string) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"" : "" > : ^^ @@ -80,11 +80,11 @@ Type Count: 1,000 >perf.clearMeasures("") : void > : ^^^^ >perf.clearMeasures : (measureName?: string) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >perf : Performance > : ^^^^^^^^^^^ >clearMeasures : (measureName?: string) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"" : "" > : ^^ } @@ -93,29 +93,29 @@ Type Count: 1,000 if ( perf && >perf && perf.mark && perf.measure || !!true : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string) => PerformanceMeasure -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >perf && perf.mark && perf.measure : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string) => PerformanceMeasure -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >perf && perf.mark : (markName: string, markOptions?: PerformanceMarkOptions) => PerformanceMark -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >perf : Performance > : ^^^^^^^^^^^ perf.mark && >perf.mark : (markName: string, markOptions?: PerformanceMarkOptions) => PerformanceMark -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >perf : Performance > : ^^^^^^^^^^^ >mark : (markName: string, markOptions?: PerformanceMarkOptions) => PerformanceMark -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ perf.measure || !!true >perf.measure : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string) => PerformanceMeasure -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >perf : Performance > : ^^^^^^^^^^^ >measure : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string) => PerformanceMeasure -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >!!true : true > : ^^^^ >!true : false @@ -128,11 +128,11 @@ Type Count: 1,000 >perf.mark("") : PerformanceMark > : ^^^^^^^^^^^^^^^ >perf.mark : (markName: string, markOptions?: PerformanceMarkOptions) => PerformanceMark -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >perf : Performance > : ^^^^^^^^^^^ >mark : (markName: string, markOptions?: PerformanceMarkOptions) => PerformanceMark -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >"" : "" > : ^^ } @@ -141,33 +141,33 @@ Type Count: 1,000 if ( ( >( perf && perf.mark && perf.measure ) ?? !!true : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string) => PerformanceMeasure -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >( perf && perf.mark && perf.measure ) : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string) => PerformanceMeasure -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ perf && >perf && perf.mark && perf.measure : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string) => PerformanceMeasure -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >perf && perf.mark : (markName: string, markOptions?: PerformanceMarkOptions) => PerformanceMark -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >perf : Performance > : ^^^^^^^^^^^ perf.mark && >perf.mark : (markName: string, markOptions?: PerformanceMarkOptions) => PerformanceMark -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >perf : Performance > : ^^^^^^^^^^^ >mark : (markName: string, markOptions?: PerformanceMarkOptions) => PerformanceMark -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ perf.measure >perf.measure : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string) => PerformanceMeasure -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >perf : Performance > : ^^^^^^^^^^^ >measure : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string) => PerformanceMeasure -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ ) ?? !!true >!!true : true @@ -182,11 +182,11 @@ Type Count: 1,000 >perf.mark("") : PerformanceMark > : ^^^^^^^^^^^^^^^ >perf.mark : (markName: string, markOptions?: PerformanceMarkOptions) => PerformanceMark -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >perf : Performance > : ^^^^^^^^^^^ >mark : (markName: string, markOptions?: PerformanceMarkOptions) => PerformanceMark -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >"" : "" > : ^^ } @@ -223,47 +223,47 @@ declare let inBrowser: boolean; if ( perf && >perf && perf.mark && perf.measure && perf.clearMarks && perf.clearMeasures : false | ((measureName?: string) => void) -> : ^^^^^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^ ^^^^^ ^ >perf && perf.mark && perf.measure && perf.clearMarks : false | ((markName?: string) => void) -> : ^^^^^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^ ^^^^^ ^ >perf && perf.mark && perf.measure : false | ((measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string) => PerformanceMeasure) -> : ^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ ^ >perf && perf.mark : false | ((markName: string, markOptions?: PerformanceMarkOptions) => PerformanceMark) -> : ^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^ ^ >perf : false | Performance > : ^^^^^^^^^^^^^^^^^^^ perf.mark && >perf.mark : (markName: string, markOptions?: PerformanceMarkOptions) => PerformanceMark -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >perf : Performance > : ^^^^^^^^^^^ >mark : (markName: string, markOptions?: PerformanceMarkOptions) => PerformanceMark -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ perf.measure && >perf.measure : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string) => PerformanceMeasure -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >perf : Performance > : ^^^^^^^^^^^ >measure : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string) => PerformanceMeasure -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ perf.clearMarks && >perf.clearMarks : (markName?: string) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >perf : Performance > : ^^^^^^^^^^^ >clearMarks : (markName?: string) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ perf.clearMeasures >perf.clearMeasures : (measureName?: string) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >perf : Performance > : ^^^^^^^^^^^ >clearMeasures : (measureName?: string) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ ) { mark = (tag) => perf.mark(tag) @@ -278,11 +278,11 @@ declare let inBrowser: boolean; >perf.mark(tag) : PerformanceMark > : ^^^^^^^^^^^^^^^ >perf.mark : (markName: string, markOptions?: PerformanceMarkOptions) => PerformanceMark -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >perf : Performance > : ^^^^^^^^^^^ >mark : (markName: string, markOptions?: PerformanceMarkOptions) => PerformanceMark -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >tag : any > : ^^^ @@ -304,11 +304,11 @@ declare let inBrowser: boolean; >perf.measure(name, startTag, endTag) : PerformanceMeasure > : ^^^^^^^^^^^^^^^^^^ >perf.measure : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string) => PerformanceMeasure -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >perf : Performance > : ^^^^^^^^^^^ >measure : (measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string) => PerformanceMeasure -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^ >name : any > : ^^^ >startTag : any @@ -320,11 +320,11 @@ declare let inBrowser: boolean; >perf.clearMarks(startTag) : void > : ^^^^ >perf.clearMarks : (markName?: string) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >perf : Performance > : ^^^^^^^^^^^ >clearMarks : (markName?: string) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >startTag : any > : ^^^ @@ -332,11 +332,11 @@ declare let inBrowser: boolean; >perf.clearMarks(endTag) : void > : ^^^^ >perf.clearMarks : (markName?: string) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >perf : Performance > : ^^^^^^^^^^^ >clearMarks : (markName?: string) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >endTag : any > : ^^^ @@ -369,7 +369,7 @@ function isMobile() { >typeof window !== 'undefined' && window.matchMedia && // no error window.matchMedia('(max-device-width: 680px)') : false | MediaQueryList > : ^^^^^^^^^^^^^^^^^^^^^^ >typeof window !== 'undefined' && window.matchMedia : false | (((query: string) => MediaQueryList) & ((query: string) => MediaQueryList)) -> : ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^ >typeof window !== 'undefined' : boolean > : ^^^^^^^ >typeof window : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" @@ -381,21 +381,21 @@ function isMobile() { window.matchMedia && // no error >window.matchMedia : ((query: string) => MediaQueryList) & ((query: string) => MediaQueryList) -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ >window : Window & typeof globalThis > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >matchMedia : ((query: string) => MediaQueryList) & ((query: string) => MediaQueryList) -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ window.matchMedia('(max-device-width: 680px)'); >window.matchMedia('(max-device-width: 680px)') : MediaQueryList > : ^^^^^^^^^^^^^^ >window.matchMedia : ((query: string) => MediaQueryList) & ((query: string) => MediaQueryList) -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ >window : Window & typeof globalThis > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >matchMedia : ((query: string) => MediaQueryList) & ((query: string) => MediaQueryList) -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ >'(max-device-width: 680px)' : "(max-device-width: 680px)" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/undeclaredModuleError.types b/tests/baselines/reference/undeclaredModuleError.types index 5947e4ad7f65b..da0d54d795717 100644 --- a/tests/baselines/reference/undeclaredModuleError.types +++ b/tests/baselines/reference/undeclaredModuleError.types @@ -11,7 +11,7 @@ function readdir(path: string, accept: (stat: fs.Stats, name: string) => boolean >path : string > : ^^^^^^ >accept : (stat: fs.Stats, name: string) => boolean -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >stat : fs.Stats > : ^^^^^^^^ >fs : any @@ -23,7 +23,7 @@ function readdir(path: string, accept: (stat: fs.Stats, name: string) => boolean >error : Error > : ^^^^^ >results : { name: string; stat: fs.Stats; }[] -> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^^^ >name : string > : ^^^^^^ >stat : fs.Stats @@ -83,11 +83,11 @@ function instrumentFile(covFileDir: string, covFileName: string, originalFilePat >files.forEach((file) => { var fullPath = join(IDoNotExist); } ) : void > : ^^^^ >files.forEach : (callbackfn: (value: {}, index: number, array: {}[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^^ ^^^^^ >files : {}[] > : ^^^^ >forEach : (callbackfn: (value: {}, index: number, array: {}[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^^ ^^^^^ >(file) => { var fullPath = join(IDoNotExist); } : (file: {}) => void > : ^ ^^^^^^^^^^^^^ >file : {} diff --git a/tests/baselines/reference/undefinedArgumentInference.types b/tests/baselines/reference/undefinedArgumentInference.types index 452830ea84999..67f3b980b006b 100644 --- a/tests/baselines/reference/undefinedArgumentInference.types +++ b/tests/baselines/reference/undefinedArgumentInference.types @@ -21,7 +21,7 @@ var z1 = foo1({ x: undefined, y: undefined }); >z1 : any >foo1({ x: undefined, y: undefined }) : any >foo1 : (f1: { x: T; y: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ x: undefined, y: undefined } : { x: undefined; y: undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : undefined diff --git a/tests/baselines/reference/undefinedAsDiscriminantWithUnknown(strictnullchecks=true).types b/tests/baselines/reference/undefinedAsDiscriminantWithUnknown(strictnullchecks=true).types index 5a4563f78a892..4d788cb55640e 100644 --- a/tests/baselines/reference/undefinedAsDiscriminantWithUnknown(strictnullchecks=true).types +++ b/tests/baselines/reference/undefinedAsDiscriminantWithUnknown(strictnullchecks=true).types @@ -45,10 +45,10 @@ if (s.value !== undefined) { s; >s : { type: "string"; value: string; } | { type: "number"; value: number; } | { type: "unknown"; value: unknown; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ } else { s; >s : { type: "unknown"; value: unknown; } | { value: undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^ } diff --git a/tests/baselines/reference/undefinedAssignableToEveryType.types b/tests/baselines/reference/undefinedAssignableToEveryType.types index 3bbb053e26807..eb12eaf6ab553 100644 --- a/tests/baselines/reference/undefinedAssignableToEveryType.types +++ b/tests/baselines/reference/undefinedAssignableToEveryType.types @@ -159,7 +159,7 @@ var q: String = undefined; function foo(x: T, y: U, z: V) { >foo : (x: T, y: U, z: V) => void -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ >y : U diff --git a/tests/baselines/reference/undefinedInferentialTyping.types b/tests/baselines/reference/undefinedInferentialTyping.types index 63b4753d44eae..793968e5dd5ca 100644 --- a/tests/baselines/reference/undefinedInferentialTyping.types +++ b/tests/baselines/reference/undefinedInferentialTyping.types @@ -18,7 +18,7 @@ var a = f([], 3); // should be number >f([], 3) : 3 > : ^ >f : (arr: T[], elemnt: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >[] : undefined[] > : ^^^^^^^^^^^ >3 : 3 diff --git a/tests/baselines/reference/undefinedTypeArgument2.types b/tests/baselines/reference/undefinedTypeArgument2.types index 9e73514d02723..38e5cb0ec84b8 100644 --- a/tests/baselines/reference/undefinedTypeArgument2.types +++ b/tests/baselines/reference/undefinedTypeArgument2.types @@ -5,7 +5,7 @@ interface Query { selectMany(selector: (item: T) => U[]): Query; >selectMany : { (selector: (item: T) => U[]): Query; (arraySelector: (item: T) => U_1[], resultSelector: (outer: T, inner: U_1) => R): Query; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >selector : (item: T) => U[] > : ^ ^^ ^^^^^ >item : T @@ -13,13 +13,13 @@ interface Query { selectMany(arraySelector: (item: T) => U[], resultSelector: (outer: T, inner: U) => R): Query; >selectMany : { (selector: (item: T) => U_1[]): Query; (arraySelector: (item: T) => U[], resultSelector: (outer: T, inner: U) => R): Query; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >arraySelector : (item: T) => U[] > : ^ ^^ ^^^^^ >item : T > : ^ >resultSelector : (outer: T, inner: U) => R -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >outer : T > : ^ >inner : U diff --git a/tests/baselines/reference/underscoreMapFirst.types b/tests/baselines/reference/underscoreMapFirst.types index 5dff873d721c0..ed76e069050a6 100644 --- a/tests/baselines/reference/underscoreMapFirst.types +++ b/tests/baselines/reference/underscoreMapFirst.types @@ -33,7 +33,7 @@ declare module _ { } export function pluck( >pluck : (list: Collection, propertyName: string) => any[] -> : ^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ list: Collection, >list : Collection @@ -120,12 +120,12 @@ class MyView extends View { > : ^^^^^^^^^^^ >_.pluck(data, "series") : any[] > : ^^^^^ ->_.pluck : (list: Collection, propertyName: string) => any[] -> : ^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +>_.pluck : (list: _.Collection, propertyName: string) => any[] +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^ >_ : typeof _ > : ^^^^^^^^ ->pluck : (list: Collection, propertyName: string) => any[] -> : ^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +>pluck : (list: _.Collection, propertyName: string) => any[] +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^ >data : IData[] > : ^^^^^^^ >"series" : "series" @@ -134,20 +134,20 @@ class MyView extends View { return _.map(allSeries, _.first); >_.map(allSeries, _.first) : ISeries[] > : ^^^^^^^^^ ->_.map : (list: List, iterator: ListIterator, context?: any) => TResult[] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>_.map : (list: _.List, iterator: _.ListIterator, context?: any) => TResult[] +> : ^ ^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >_ : typeof _ > : ^^^^^^^^ ->map : (list: List, iterator: ListIterator, context?: any) => TResult[] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +>map : (list: _.List, iterator: _.ListIterator, context?: any) => TResult[] +> : ^ ^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >allSeries : ISeries[][] > : ^^^^^^^^^^^ ->_.first : (array: List) => T -> : ^ ^^ ^^ ^^^^^^ +>_.first : (array: _.List) => T +> : ^ ^^ ^^^^^^^^ ^^^^^ >_ : typeof _ > : ^^^^^^^^ ->first : (array: List) => T -> : ^ ^^ ^^ ^^^^^^ +>first : (array: _.List) => T +> : ^ ^^ ^^^^^^^^ ^^^^^ } } diff --git a/tests/baselines/reference/underscoreTest1.types b/tests/baselines/reference/underscoreTest1.types index b0e99cd84493e..7cd9b7565117f 100644 --- a/tests/baselines/reference/underscoreTest1.types +++ b/tests/baselines/reference/underscoreTest1.types @@ -12,19 +12,19 @@ declare var $; declare function alert(x: string): void; >alert : { (message?: any): void; (x: string): void; } -> : ^^^ ^^^ ^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : string > : ^^^^^^ _.each([1, 2, 3], (num) => alert(num.toString())); >_.each([1, 2, 3], (num) => alert(num.toString())) : void > : ^^^^ ->_.each : { (list: T[], iterator: Iterator_, context?: any): void; (list: Dictionary, iterator: Iterator_, context?: any): void; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^ +>_.each : { (list: T[], iterator: Iterator_, context?: any): void; (list: Dictionary, iterator: Iterator_, context?: any): void; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ ->each : { (list: T[], iterator: Iterator_, context?: any): void; (list: Dictionary, iterator: Iterator_, context?: any): void; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^ +>each : { (list: T[], iterator: Iterator_, context?: any): void; (list: Dictionary, iterator: Iterator_, context?: any): void; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >[1, 2, 3] : number[] > : ^^^^^^^^ >1 : 1 @@ -40,25 +40,25 @@ _.each([1, 2, 3], (num) => alert(num.toString())); >alert(num.toString()) : void > : ^^^^ >alert : { (message?: any): void; (x: string): void; } -> : ^^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ >num.toString() : string > : ^^^^^^ >num.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >num : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ _.each({ one: 1, two: 2, three: 3 }, (value: number, key?: string) => alert(value.toString())); >_.each({ one: 1, two: 2, three: 3 }, (value: number, key?: string) => alert(value.toString())) : void > : ^^^^ ->_.each : { (list: T[], iterator: Iterator_, context?: any): void; (list: Dictionary, iterator: Iterator_, context?: any): void; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^ +>_.each : { (list: T[], iterator: Iterator_, context?: any): void; (list: Dictionary, iterator: Iterator_, context?: any): void; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ ->each : { (list: T[], iterator: Iterator_, context?: any): void; (list: Dictionary, iterator: Iterator_, context?: any): void; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^ +>each : { (list: T[], iterator: Iterator_, context?: any): void; (list: Dictionary, iterator: Iterator_, context?: any): void; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >{ one: 1, two: 2, three: 3 } : { one: number; two: number; three: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >one : number @@ -82,25 +82,25 @@ _.each({ one: 1, two: 2, three: 3 }, (value: number, key?: string) => alert(valu >alert(value.toString()) : void > : ^^^^ >alert : { (message?: any): void; (x: string): void; } -> : ^^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ >value.toString() : string > : ^^^^^^ >value.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >value : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ _.map([1, 2, 3], (num) => num * 3); >_.map([1, 2, 3], (num) => num * 3) : number[] > : ^^^^^^^^ ->_.map : { (list: T[], iterator: Iterator_, context?: any): U[]; (list: Dictionary, iterator: Iterator_, context?: any): U_1[]; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +>_.map : { (list: T[], iterator: Iterator_, context?: any): U[]; (list: Dictionary, iterator: Iterator_, context?: any): U[]; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ ->map : { (list: T[], iterator: Iterator_, context?: any): U[]; (list: Dictionary, iterator: Iterator_, context?: any): U_1[]; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +>map : { (list: T[], iterator: Iterator_, context?: any): U[]; (list: Dictionary, iterator: Iterator_, context?: any): U[]; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >[1, 2, 3] : number[] > : ^^^^^^^^ >1 : 1 @@ -123,12 +123,12 @@ _.map([1, 2, 3], (num) => num * 3); _.map({ one: 1, two: 2, three: 3 }, (value: number, key?: string) => value * 3); >_.map({ one: 1, two: 2, three: 3 }, (value: number, key?: string) => value * 3) : number[] > : ^^^^^^^^ ->_.map : { (list: T[], iterator: Iterator_, context?: any): U[]; (list: Dictionary, iterator: Iterator_, context?: any): U_1[]; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +>_.map : { (list: T[], iterator: Iterator_, context?: any): U[]; (list: Dictionary, iterator: Iterator_, context?: any): U[]; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ ->map : { (list: T[], iterator: Iterator_, context?: any): U[]; (list: Dictionary, iterator: Iterator_, context?: any): U_1[]; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +>map : { (list: T[], iterator: Iterator_, context?: any): U[]; (list: Dictionary, iterator: Iterator_, context?: any): U[]; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >{ one: 1, two: 2, three: 3 } : { one: number; two: number; three: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >one : number @@ -161,12 +161,12 @@ var sum = _.reduce([1, 2, 3], (memo, num) => memo + num, 0); > : ^^^^^^ >_.reduce([1, 2, 3], (memo, num) => memo + num, 0) : number > : ^^^^^^ ->_.reduce : { (list: T[], iterator: Reducer, initialValue?: T, context?: any): T; (list: T_1[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T_2, context?: any): T_2; (list: Dictionary, iterator: Reducer, initialValue: U_1, context?: any): U_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +>_.reduce : { (list: T[], iterator: Reducer, initialValue?: T, context?: any): T; (list: T[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T, context?: any): T; (list: Dictionary, iterator: Reducer, initialValue: U, context?: any): U; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ ->reduce : { (list: T[], iterator: Reducer, initialValue?: T, context?: any): T; (list: T_1[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T_2, context?: any): T_2; (list: Dictionary, iterator: Reducer, initialValue: U_1, context?: any): U_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +>reduce : { (list: T[], iterator: Reducer, initialValue?: T, context?: any): T; (list: T[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T, context?: any): T; (list: Dictionary, iterator: Reducer, initialValue: U, context?: any): U; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >[1, 2, 3] : number[] > : ^^^^^^^^ >1 : 1 @@ -219,12 +219,12 @@ var flat = _.reduceRight(list, (a, b) => a.concat(b), []); > : ^^^^^^^^ >_.reduceRight(list, (a, b) => a.concat(b), []) : number[] > : ^^^^^^^^ ->_.reduceRight : { (list: T[], iterator: Reducer, initialValue?: T, context?: any): T; (list: T_1[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T_2, context?: any): T_2; (list: Dictionary, iterator: Reducer, initialValue: U_1, context?: any): U_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +>_.reduceRight : { (list: T[], iterator: Reducer, initialValue?: T, context?: any): T; (list: T[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T, context?: any): T; (list: Dictionary, iterator: Reducer, initialValue: U, context?: any): U; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ ->reduceRight : { (list: T[], iterator: Reducer, initialValue?: T, context?: any): T; (list: T_1[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T_2, context?: any): T_2; (list: Dictionary, iterator: Reducer, initialValue: U_1, context?: any): U_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +>reduceRight : { (list: T[], iterator: Reducer, initialValue?: T, context?: any): T; (list: T[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T, context?: any): T; (list: Dictionary, iterator: Reducer, initialValue: U, context?: any): U; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >list : number[][] > : ^^^^^^^^^^ >(a, b) => a.concat(b) : (a: number[], b: number[]) => number[] @@ -236,11 +236,11 @@ var flat = _.reduceRight(list, (a, b) => a.concat(b), []); >a.concat(b) : number[] > : ^^^^^^^^ >a.concat : { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >a : number[] > : ^^^^^^^^ >concat : { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >b : number[] > : ^^^^^^^^ >[] : undefined[] @@ -251,12 +251,12 @@ var even = _.find([1, 2, 3, 4, 5, 6], (num) => num % 2 == 0); > : ^^^^^^ >_.find([1, 2, 3, 4, 5, 6], (num) => num % 2 == 0) : number > : ^^^^^^ ->_.find : { (list: T[], iterator: Iterator_, context?: any): T; (list: Dictionary, iterator: Iterator_, context?: any): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +>_.find : { (list: T[], iterator: Iterator_, context?: any): T; (list: Dictionary, iterator: Iterator_, context?: any): T; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ ->find : { (list: T[], iterator: Iterator_, context?: any): T; (list: Dictionary, iterator: Iterator_, context?: any): T_1; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +>find : { (list: T[], iterator: Iterator_, context?: any): T; (list: Dictionary, iterator: Iterator_, context?: any): T; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >[1, 2, 3, 4, 5, 6] : number[] > : ^^^^^^^^ >1 : 1 @@ -291,12 +291,12 @@ var evens = _.filter([1, 2, 3, 4, 5, 6], (num) => num % 2 == 0); > : ^^^^^^^^ >_.filter([1, 2, 3, 4, 5, 6], (num) => num % 2 == 0) : number[] > : ^^^^^^^^ ->_.filter : { (list: T[], iterator: Iterator_, context?: any): T[]; (list: Dictionary, iterator: Iterator_, context?: any): T_1[]; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +>_.filter : { (list: T[], iterator: Iterator_, context?: any): T[]; (list: Dictionary, iterator: Iterator_, context?: any): T[]; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ ->filter : { (list: T[], iterator: Iterator_, context?: any): T[]; (list: Dictionary, iterator: Iterator_, context?: any): T_1[]; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +>filter : { (list: T[], iterator: Iterator_, context?: any): T[]; (list: Dictionary, iterator: Iterator_, context?: any): T[]; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >[1, 2, 3, 4, 5, 6] : number[] > : ^^^^^^^^ >1 : 1 @@ -377,12 +377,12 @@ var listOfPlays = [{ title: "Cymbeline", author: "Shakespeare", year: 1611 }, { _.where(listOfPlays, { author: "Shakespeare", year: 1611 }); >_.where(listOfPlays, { author: "Shakespeare", year: 1611 }) : { title: string; author: string; year: number; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->_.where : { (list: T[], properties: Object): T[]; (list: Dictionary, properties: Object): T_1[]; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +>_.where : { (list: T[], properties: Object): T[]; (list: Dictionary, properties: Object): T[]; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ ->where : { (list: T[], properties: Object): T[]; (list: Dictionary, properties: Object): T_1[]; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +>where : { (list: T[], properties: Object): T[]; (list: Dictionary, properties: Object): T[]; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >listOfPlays : { title: string; author: string; year: number; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ author: "Shakespeare", year: 1611 } : { author: string; year: number; } @@ -401,12 +401,12 @@ var odds = _.reject([1, 2, 3, 4, 5, 6], (num) => num % 2 == 0); > : ^^^^^^^^ >_.reject([1, 2, 3, 4, 5, 6], (num) => num % 2 == 0) : number[] > : ^^^^^^^^ ->_.reject : { (list: T[], iterator: Iterator_, context?: any): T[]; (list: Dictionary, iterator: Iterator_, context?: any): T_1[]; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +>_.reject : { (list: T[], iterator: Iterator_, context?: any): T[]; (list: Dictionary, iterator: Iterator_, context?: any): T[]; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ ->reject : { (list: T[], iterator: Iterator_, context?: any): T[]; (list: Dictionary, iterator: Iterator_, context?: any): T_1[]; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +>reject : { (list: T[], iterator: Iterator_, context?: any): T[]; (list: Dictionary, iterator: Iterator_, context?: any): T[]; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >[1, 2, 3, 4, 5, 6] : number[] > : ^^^^^^^^ >1 : 1 @@ -439,12 +439,12 @@ var odds = _.reject([1, 2, 3, 4, 5, 6], (num) => num % 2 == 0); _.all([true, 1, null, 'yes'], _.identity); >_.all([true, 1, null, 'yes'], _.identity) : boolean > : ^^^^^^^ ->_.all : { (list: T[], iterator?: Iterator_, context?: any): boolean; (list: Dictionary, iterator?: Iterator_, context?: any): boolean; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +>_.all : { (list: T[], iterator?: Iterator_, context?: any): boolean; (list: Dictionary, iterator?: Iterator_, context?: any): boolean; } +> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ ->all : { (list: T[], iterator?: Iterator_, context?: any): boolean; (list: Dictionary, iterator?: Iterator_, context?: any): boolean; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +>all : { (list: T[], iterator?: Iterator_, context?: any): boolean; (list: Dictionary, iterator?: Iterator_, context?: any): boolean; } +> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >[true, 1, null, 'yes'] : (string | number | true)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >true : true @@ -454,21 +454,21 @@ _.all([true, 1, null, 'yes'], _.identity); >'yes' : "yes" > : ^^^^^ >_.identity : (value: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >identity : (value: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ _.any([null, 0, 'yes', false]); >_.any([null, 0, 'yes', false]) : boolean > : ^^^^^^^ ->_.any : { (list: T[], iterator?: Iterator_, context?: any): boolean; (list: Dictionary, iterator?: Iterator_, context?: any): boolean; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +>_.any : { (list: T[], iterator?: Iterator_, context?: any): boolean; (list: Dictionary, iterator?: Iterator_, context?: any): boolean; } +> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ ->any : { (list: T[], iterator?: Iterator_, context?: any): boolean; (list: Dictionary, iterator?: Iterator_, context?: any): boolean; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +>any : { (list: T[], iterator?: Iterator_, context?: any): boolean; (list: Dictionary, iterator?: Iterator_, context?: any): boolean; } +> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >[null, 0, 'yes', false] : (string | number | false)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >0 : 0 @@ -481,12 +481,12 @@ _.any([null, 0, 'yes', false]); _.contains([1, 2, 3], 3); >_.contains([1, 2, 3], 3) : boolean > : ^^^^^^^ ->_.contains : { (list: T[], value: T): boolean; (list: Dictionary, value: T_1): boolean; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +>_.contains : { (list: T[], value: T): boolean; (list: Dictionary, value: T): boolean; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ ->contains : { (list: T[], value: T): boolean; (list: Dictionary, value: T_1): boolean; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +>contains : { (list: T[], value: T): boolean; (list: Dictionary, value: T): boolean; } +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >[1, 2, 3] : number[] > : ^^^^^^^^ >1 : 1 @@ -502,11 +502,11 @@ _.invoke([[5, 1, 7], [3, 2, 1]], 'sort'); >_.invoke([[5, 1, 7], [3, 2, 1]], 'sort') : any[] > : ^^^^^ >_.invoke : { (list: any[], methodName: string, ...args: any[]): any[]; (list: Dictionary, methodName: string, ...args: any[]): any[]; } -> : ^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >invoke : { (list: any[], methodName: string, ...args: any[]): any[]; (list: Dictionary, methodName: string, ...args: any[]): any[]; } -> : ^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >[[5, 1, 7], [3, 2, 1]] : number[][] > : ^^^^^^^^^^ >[5, 1, 7] : number[] @@ -568,11 +568,11 @@ _.pluck(stooges, 'name'); >_.pluck(stooges, 'name') : any[] > : ^^^^^ >_.pluck : { (list: any[], propertyName: string): any[]; (list: Dictionary, propertyName: string): any[]; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >pluck : { (list: any[], propertyName: string): any[]; (list: Dictionary, propertyName: string): any[]; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >stooges : { name: string; age: number; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'name' : "name" @@ -581,12 +581,12 @@ _.pluck(stooges, 'name'); _.max(stooges, (stooge) => stooge.age); >_.max(stooges, (stooge) => stooge.age) : { name: string; age: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->_.max : { (list: T[], iterator?: Iterator_, context?: any): T; (list: Dictionary, iterator?: Iterator_, context?: any): T_1; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ +>_.max : { (list: T[], iterator?: Iterator_, context?: any): T; (list: Dictionary, iterator?: Iterator_, context?: any): T; } +> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ ->max : { (list: T[], iterator?: Iterator_, context?: any): T; (list: Dictionary, iterator?: Iterator_, context?: any): T_1; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ +>max : { (list: T[], iterator?: Iterator_, context?: any): T; (list: Dictionary, iterator?: Iterator_, context?: any): T; } +> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >stooges : { name: string; age: number; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >(stooge) => stooge.age : (stooge: { name: string; age: number; }) => number @@ -619,24 +619,24 @@ var numbers = [10, 5, 100, 2, 1000]; _.min(numbers); >_.min(numbers) : number > : ^^^^^^ ->_.min : { (list: T[], iterator?: Iterator_, context?: any): T; (list: Dictionary, iterator?: Iterator_, context?: any): T_1; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ +>_.min : { (list: T[], iterator?: Iterator_, context?: any): T; (list: Dictionary, iterator?: Iterator_, context?: any): T; } +> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ ->min : { (list: T[], iterator?: Iterator_, context?: any): T; (list: Dictionary, iterator?: Iterator_, context?: any): T_1; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^ +>min : { (list: T[], iterator?: Iterator_, context?: any): T; (list: Dictionary, iterator?: Iterator_, context?: any): T; } +> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >numbers : number[] > : ^^^^^^^^ _.sortBy([1, 2, 3, 4, 5, 6], (num) => Math.sin(num)); >_.sortBy([1, 2, 3, 4, 5, 6], (num) => Math.sin(num)) : number[] > : ^^^^^^^^ ->_.sortBy : { (list: T[], iterator: Iterator_, context?: any): T[]; (list: Dictionary, iterator: Iterator_, context?: any): T_1[]; (list: T_2[], propertyName: string): T_2[]; (list: Dictionary, propertyName: string): T_3[]; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +>_.sortBy : { (list: T[], iterator: Iterator_, context?: any): T[]; (list: Dictionary, iterator: Iterator_, context?: any): T[]; (list: T[], propertyName: string): T[]; (list: Dictionary, propertyName: string): T[]; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ ->sortBy : { (list: T[], iterator: Iterator_, context?: any): T[]; (list: Dictionary, iterator: Iterator_, context?: any): T_1[]; (list: T_2[], propertyName: string): T_2[]; (list: Dictionary, propertyName: string): T_3[]; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +>sortBy : { (list: T[], iterator: Iterator_, context?: any): T[]; (list: Dictionary, iterator: Iterator_, context?: any): T[]; (list: T[], propertyName: string): T[]; (list: Dictionary, propertyName: string): T[]; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >[1, 2, 3, 4, 5, 6] : number[] > : ^^^^^^^^ >1 : 1 @@ -658,11 +658,11 @@ _.sortBy([1, 2, 3, 4, 5, 6], (num) => Math.sin(num)); >Math.sin(num) : number > : ^^^^^^ >Math.sin : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >sin : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >num : number > : ^^^^^^ @@ -672,7 +672,7 @@ _([1.3, 2.1, 2.4]).groupBy((e: number, i?: number, list?: number[]) => Math.floo >_([1.3, 2.1, 2.4]).groupBy((e: number, i?: number, list?: number[]) => Math.floor(e)) : Dictionary > : ^^^^^^^^^^^^^^^^^^^^ >_([1.3, 2.1, 2.4]).groupBy : { (iterator?: Iterator_, context?: any): Dictionary; (propertyName: string): Dictionary; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^ ^^^ >_([1.3, 2.1, 2.4]) : Underscore.WrappedArray > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >_ : Underscore.Static @@ -686,7 +686,7 @@ _([1.3, 2.1, 2.4]).groupBy((e: number, i?: number, list?: number[]) => Math.floo >2.4 : 2.4 > : ^^^ >groupBy : { (iterator?: Iterator_, context?: any): Dictionary; (propertyName: string): Dictionary; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^^^^ ^^^ ^^ ^^^ ^^^^^^ ^^^ >(e: number, i?: number, list?: number[]) => Math.floor(e) : (e: number, i?: number, list?: number[]) => number > : ^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >e : number @@ -698,23 +698,23 @@ _([1.3, 2.1, 2.4]).groupBy((e: number, i?: number, list?: number[]) => Math.floo >Math.floor(e) : number > : ^^^^^^ >Math.floor : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >floor : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >e : number > : ^^^^^^ _.groupBy([1.3, 2.1, 2.4], (num: number) => Math.floor(num)); >_.groupBy([1.3, 2.1, 2.4], (num: number) => Math.floor(num)) : Dictionary > : ^^^^^^^^^^^^^^^^^^^^ ->_.groupBy : { (list: T[], iterator?: Iterator_, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator_, context?: any): Dictionary; (list: T_2[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +>_.groupBy : { (list: T[], iterator?: Iterator_, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator_, context?: any): Dictionary; (list: T[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } +> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ ->groupBy : { (list: T[], iterator?: Iterator_, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator_, context?: any): Dictionary; (list: T_2[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +>groupBy : { (list: T[], iterator?: Iterator_, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator_, context?: any): Dictionary; (list: T[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } +> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >[1.3, 2.1, 2.4] : number[] > : ^^^^^^^^ >1.3 : 1.3 @@ -730,23 +730,23 @@ _.groupBy([1.3, 2.1, 2.4], (num: number) => Math.floor(num)); >Math.floor(num) : number > : ^^^^^^ >Math.floor : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >floor : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >num : number > : ^^^^^^ _.groupBy(['one', 'two', 'three'], 'length'); >_.groupBy(['one', 'two', 'three'], 'length') : Dictionary > : ^^^^^^^^^^^^^^^^^^^^ ->_.groupBy : { (list: T[], iterator?: Iterator_, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator_, context?: any): Dictionary; (list: T_2[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +>_.groupBy : { (list: T[], iterator?: Iterator_, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator_, context?: any): Dictionary; (list: T[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } +> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ ->groupBy : { (list: T[], iterator?: Iterator_, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator_, context?: any): Dictionary; (list: T_2[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +>groupBy : { (list: T[], iterator?: Iterator_, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator_, context?: any): Dictionary; (list: T[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } +> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >['one', 'two', 'three'] : string[] > : ^^^^^^^^ >'one' : "one" @@ -761,12 +761,12 @@ _.groupBy(['one', 'two', 'three'], 'length'); _.countBy([1, 2, 3, 4, 5], (num) => num % 2 == 0 ? 'even' : 'odd'); >_.countBy([1, 2, 3, 4, 5], (num) => num % 2 == 0 ? 'even' : 'odd') : Dictionary > : ^^^^^^^^^^^^^^^^^^ ->_.countBy : { (list: T[], iterator?: Iterator_, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator_, context?: any): Dictionary; (list: T_2[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +>_.countBy : { (list: T[], iterator?: Iterator_, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator_, context?: any): Dictionary; (list: T[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } +> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ ->countBy : { (list: T[], iterator?: Iterator_, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator_, context?: any): Dictionary; (list: T_2[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +>countBy : { (list: T[], iterator?: Iterator_, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator_, context?: any): Dictionary; (list: T[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } +> : ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >[1, 2, 3, 4, 5] : number[] > : ^^^^^^^^ >1 : 1 @@ -803,12 +803,12 @@ _.countBy([1, 2, 3, 4, 5], (num) => num % 2 == 0 ? 'even' : 'odd'); _.shuffle([1, 2, 3, 4, 5, 6]); >_.shuffle([1, 2, 3, 4, 5, 6]) : number[] > : ^^^^^^^^ ->_.shuffle : { (list: T[]): T[]; (list: Dictionary): T_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ +>_.shuffle : { (list: T[]): T[]; (list: Dictionary): T[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ ->shuffle : { (list: T[]): T[]; (list: Dictionary): T_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ +>shuffle : { (list: T[]): T[]; (list: Dictionary): T[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >[1, 2, 3, 4, 5, 6] : number[] > : ^^^^^^^^ >1 : 1 @@ -829,12 +829,12 @@ _.shuffle([1, 2, 3, 4, 5, 6]); _.size({ one: 1, two: 2, three: 3 }); >_.size({ one: 1, two: 2, three: 3 }) : number > : ^^^^^^ ->_.size : { (list: T[]): number; (list: Dictionary): number; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +>_.size : { (list: T[]): number; (list: Dictionary): number; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ ->size : { (list: T[]): number; (list: Dictionary): number; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ +>size : { (list: T[]): number; (list: Dictionary): number; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >{ one: 1, two: 2, three: 3 } : { one: number; two: number; three: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >one : number @@ -855,12 +855,12 @@ _.size({ one: 1, two: 2, three: 3 }); _.first([5, 4, 3, 2, 1]); >_.first([5, 4, 3, 2, 1]) : number > : ^^^^^^ ->_.first : { (list: T[]): T; (list: T_1[], count: number): T_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +>_.first : { (list: T[]): T; (list: T[], count: number): T[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ ->first : { (list: T[]): T; (list: T_1[], count: number): T_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +>first : { (list: T[]): T; (list: T[], count: number): T[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >[5, 4, 3, 2, 1] : number[] > : ^^^^^^^^ >5 : 5 @@ -877,12 +877,12 @@ _.first([5, 4, 3, 2, 1]); _.initial([5, 4, 3, 2, 1]); >_.initial([5, 4, 3, 2, 1]) : number > : ^^^^^^ ->_.initial : { (list: T[]): T; (list: T_1[], count: number): T_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +>_.initial : { (list: T[]): T; (list: T[], count: number): T[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ ->initial : { (list: T[]): T; (list: T_1[], count: number): T_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +>initial : { (list: T[]): T; (list: T[], count: number): T[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >[5, 4, 3, 2, 1] : number[] > : ^^^^^^^^ >5 : 5 @@ -899,12 +899,12 @@ _.initial([5, 4, 3, 2, 1]); _.last([5, 4, 3, 2, 1]); >_.last([5, 4, 3, 2, 1]) : number > : ^^^^^^ ->_.last : { (list: T[]): T; (list: T_1[], count: number): T_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +>_.last : { (list: T[]): T; (list: T[], count: number): T[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ ->last : { (list: T[]): T; (list: T_1[], count: number): T_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +>last : { (list: T[]): T; (list: T[], count: number): T[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >[5, 4, 3, 2, 1] : number[] > : ^^^^^^^^ >5 : 5 @@ -922,11 +922,11 @@ _.rest([5, 4, 3, 2, 1]); >_.rest([5, 4, 3, 2, 1]) : number[] > : ^^^^^^^^ >_.rest : (list: T[], index?: number) => T[] -> : ^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >rest : (list: T[], index?: number) => T[] -> : ^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^ >[5, 4, 3, 2, 1] : number[] > : ^^^^^^^^ >5 : 5 @@ -944,11 +944,11 @@ _.compact([0, 1, false, 2, '', 3]); >_.compact([0, 1, false, 2, '', 3]) : (string | number | boolean)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >_.compact : (list: T[]) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >compact : (list: T[]) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >[0, 1, false, 2, '', 3] : (string | number | false)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >0 : 0 @@ -967,12 +967,12 @@ _.compact([0, 1, false, 2, '', 3]); _.flatten([1, 2, 3, 4]); >_.flatten([1, 2, 3, 4]) : unknown[] > : ^^^^^^^^^ ->_.flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +>_.flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ ->flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +>flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >[1, 2, 3, 4] : number[] > : ^^^^^^^^ >1 : 1 @@ -987,12 +987,12 @@ _.flatten([1, 2, 3, 4]); _.flatten([1, [2]]); >_.flatten([1, [2]]) : unknown[] > : ^^^^^^^^^ ->_.flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +>_.flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ ->flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +>flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >[1, [2]] : (number | number[])[] > : ^^^^^^^^^^^^^^^^^^^^^ >1 : 1 @@ -1006,12 +1006,12 @@ _.flatten([1, [2]]); _.flatten([1, [2], [3, [[4]]]]); >_.flatten([1, [2], [3, [[4]]]]) : unknown[] > : ^^^^^^^^^ ->_.flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +>_.flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ ->flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +>flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >[1, [2], [3, [[4]]]] : (number | (number | number[][])[])[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >1 : 1 @@ -1034,12 +1034,12 @@ _.flatten([1, [2], [3, [[4]]]]); _.flatten([1, [2], [3, [[4]]]], true); >_.flatten([1, [2], [3, [[4]]]], true) : unknown[] > : ^^^^^^^^^ ->_.flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +>_.flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ ->flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +>flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >[1, [2], [3, [[4]]]] : (number | (number | number[][])[])[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >1 : 1 @@ -1065,11 +1065,11 @@ _.without([1, 2, 1, 0, 3, 1, 4], 0, 1); >_.without([1, 2, 1, 0, 3, 1, 4], 0, 1) : number[] > : ^^^^^^^^ >_.without : (list: T[], ...values: T[]) => T[] -> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >without : (list: T[], ...values: T[]) => T[] -> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^ >[1, 2, 1, 0, 3, 1, 4] : number[] > : ^^^^^^^^ >1 : 1 @@ -1095,11 +1095,11 @@ _.union([1, 2, 3], [101, 2, 1, 10], [2, 1]); >_.union([1, 2, 3], [101, 2, 1, 10], [2, 1]) : number[] > : ^^^^^^^^ >_.union : (...arrays: T[][]) => T[] -> : ^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >union : (...arrays: T[][]) => T[] -> : ^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >[1, 2, 3] : number[] > : ^^^^^^^^ >1 : 1 @@ -1129,11 +1129,11 @@ _.intersection([1, 2, 3], [101, 2, 1, 10], [2, 1]); >_.intersection([1, 2, 3], [101, 2, 1, 10], [2, 1]) : number[] > : ^^^^^^^^ >_.intersection : (...arrays: T[][]) => T[] -> : ^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >intersection : (...arrays: T[][]) => T[] -> : ^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^ ^^ ^^^^^ >[1, 2, 3] : number[] > : ^^^^^^^^ >1 : 1 @@ -1163,11 +1163,11 @@ _.difference([1, 2, 3, 4, 5], [5, 2, 10]); >_.difference([1, 2, 3, 4, 5], [5, 2, 10]) : number[] > : ^^^^^^^^ >_.difference : (list: T[], ...others: T[][]) => T[] -> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >difference : (list: T[], ...others: T[][]) => T[] -> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^ >[1, 2, 3, 4, 5] : number[] > : ^^^^^^^^ >1 : 1 @@ -1192,12 +1192,12 @@ _.difference([1, 2, 3, 4, 5], [5, 2, 10]); _.uniq([1, 2, 1, 3, 1, 4]); >_.uniq([1, 2, 1, 3, 1, 4]) : number[] > : ^^^^^^^^ ->_.uniq : { (list: T[], isSorted?: boolean): T[]; (list: T_1[], isSorted: boolean, iterator: Iterator_, context?: any): U[]; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +>_.uniq : { (list: T[], isSorted?: boolean): T[]; (list: T[], isSorted: boolean, iterator: Iterator_, context?: any): U[]; } +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ ->uniq : { (list: T[], isSorted?: boolean): T[]; (list: T_1[], isSorted: boolean, iterator: Iterator_, context?: any): U[]; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +>uniq : { (list: T[], isSorted?: boolean): T[]; (list: T[], isSorted: boolean, iterator: Iterator_, context?: any): U[]; } +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >[1, 2, 1, 3, 1, 4] : number[] > : ^^^^^^^^ >1 : 1 @@ -1216,12 +1216,12 @@ _.uniq([1, 2, 1, 3, 1, 4]); _.zip(['moe', 'larry', 'curly'], [30, 40, 50], [true, false, false]); >_.zip(['moe', 'larry', 'curly'], [30, 40, 50], [true, false, false]) : Tuple3[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->_.zip : { (a0: T0[], a1: T1[]): Tuple2[]; (a0: T0_1[], a1: T1_1[], a2: T2[]): Tuple3[]; (a0: T0_2[], a1: T1_2[], a2: T2_1[], a3: T3[]): Tuple4[]; (...arrays: any[][]): any[][]; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +>_.zip : { (a0: T0[], a1: T1[]): Tuple2[]; (a0: T0[], a1: T1[], a2: T2[]): Tuple3[]; (a0: T0[], a1: T1[], a2: T2[], a3: T3[]): Tuple4[]; (...arrays: any[][]): any[][]; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ ->zip : { (a0: T0[], a1: T1[]): Tuple2[]; (a0: T0_1[], a1: T1_1[], a2: T2[]): Tuple3[]; (a0: T0_2[], a1: T1_2[], a2: T2_1[], a3: T3[]): Tuple4[]; (...arrays: any[][]): any[][]; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +>zip : { (a0: T0[], a1: T1[]): Tuple2[]; (a0: T0[], a1: T1[], a2: T2[]): Tuple3[]; (a0: T0[], a1: T1[], a2: T2[], a3: T3[]): Tuple4[]; (...arrays: any[][]): any[][]; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ >['moe', 'larry', 'curly'] : string[] > : ^^^^^^^^ >'moe' : "moe" @@ -1251,11 +1251,11 @@ _.object(['moe', 'larry', 'curly'], [30, 40, 50]); >_.object(['moe', 'larry', 'curly'], [30, 40, 50]) : any > : ^^^ >_.object : { (list: any[][]): any; (keys: string[], values: any[]): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >object : { (list: any[][]): any; (keys: string[], values: any[]): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >['moe', 'larry', 'curly'] : string[] > : ^^^^^^^^ >'moe' : "moe" @@ -1277,11 +1277,11 @@ _.object([['moe', 30], ['larry', 40], ['curly', 50]]); >_.object([['moe', 30], ['larry', 40], ['curly', 50]]) : any > : ^^^ >_.object : { (list: any[][]): any; (keys: string[], values: any[]): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >object : { (list: any[][]): any; (keys: string[], values: any[]): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >[['moe', 30], ['larry', 40], ['curly', 50]] : (string | number)[][] > : ^^^^^^^^^^^^^^^^^^^^^ >['moe', 30] : (string | number)[] @@ -1307,11 +1307,11 @@ _.indexOf([1, 2, 3], 2); >_.indexOf([1, 2, 3], 2) : number > : ^^^^^^ >_.indexOf : (list: T[], value: T, isSorted?: boolean) => number -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >indexOf : (list: T[], value: T, isSorted?: boolean) => number -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >[1, 2, 3] : number[] > : ^^^^^^^^ >1 : 1 @@ -1327,11 +1327,11 @@ _.lastIndexOf([1, 2, 3, 1, 2, 3], 2); >_.lastIndexOf([1, 2, 3, 1, 2, 3], 2) : number > : ^^^^^^ >_.lastIndexOf : (list: T[], value: T, fromIndex?: number) => number -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >lastIndexOf : (list: T[], value: T, fromIndex?: number) => number -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >[1, 2, 3, 1, 2, 3] : number[] > : ^^^^^^^^ >1 : 1 @@ -1352,12 +1352,12 @@ _.lastIndexOf([1, 2, 3, 1, 2, 3], 2); _.sortedIndex([10, 20, 30, 40, 50], 35); >_.sortedIndex([10, 20, 30, 40, 50], 35) : number > : ^^^^^^ ->_.sortedIndex : { (list: T[], obj: T, propertyName: string): number; (list: T_1[], obj: T_1, iterator?: Iterator_, context?: any): number; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +>_.sortedIndex : { (list: T[], obj: T, propertyName: string): number; (list: T[], obj: T, iterator?: Iterator_, context?: any): number; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ ->sortedIndex : { (list: T[], obj: T, propertyName: string): number; (list: T_1[], obj: T_1, iterator?: Iterator_, context?: any): number; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +>sortedIndex : { (list: T[], obj: T, propertyName: string): number; (list: T[], obj: T, iterator?: Iterator_, context?: any): number; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >[10, 20, 30, 40, 50] : number[] > : ^^^^^^^^ >10 : 10 @@ -1377,11 +1377,11 @@ _.range(10); >_.range(10) : number[] > : ^^^^^^^^ >_.range : { (stop: number): number[]; (start: number, stop: number, step?: number): number[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >range : { (stop: number): number[]; (start: number, stop: number, step?: number): number[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >10 : 10 > : ^^ @@ -1389,11 +1389,11 @@ _.range(1, 11); >_.range(1, 11) : number[] > : ^^^^^^^^ >_.range : { (stop: number): number[]; (start: number, stop: number, step?: number): number[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >range : { (stop: number): number[]; (start: number, stop: number, step?: number): number[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >1 : 1 > : ^ >11 : 11 @@ -1403,11 +1403,11 @@ _.range(0, 30, 5); >_.range(0, 30, 5) : number[] > : ^^^^^^^^ >_.range : { (stop: number): number[]; (start: number, stop: number, step?: number): number[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >range : { (stop: number): number[]; (start: number, stop: number, step?: number): number[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >0 : 0 > : ^ >30 : 30 @@ -1419,11 +1419,11 @@ _.range(0, 30, 5); >_.range(0, 30, 5) : number[] > : ^^^^^^^^ >_.range : { (stop: number): number[]; (start: number, stop: number, step?: number): number[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >range : { (stop: number): number[]; (start: number, stop: number, step?: number): number[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >0 : 0 > : ^ >30 : 30 @@ -1435,11 +1435,11 @@ _.range(0); >_.range(0) : number[] > : ^^^^^^^^ >_.range : { (stop: number): number[]; (start: number, stop: number, step?: number): number[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >range : { (stop: number): number[]; (start: number, stop: number, step?: number): number[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >0 : 0 > : ^ @@ -1475,11 +1475,11 @@ var func2 = _.bind(func, { name: 'moe' }, 'hi'); >_.bind(func, { name: 'moe' }, 'hi') : Function > : ^^^^^^^^ >_.bind : { (func: T, object: any): T; (func: Function, object: any, ...args: any[]): Function; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >bind : { (func: T, object: any): T; (func: Function, object: any, ...args: any[]): Function; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >func : (greeting: any) => string > : ^ ^^^^^^^^^^^^^^^^ >{ name: 'moe' } : { name: string; } @@ -1517,7 +1517,7 @@ var buttonView = { >alert('clicked: ' + this.label) : void > : ^^^^ >alert : { (message?: any): void; (x: string): void; } -> : ^^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ >'clicked: ' + this.label : string > : ^^^^^^ >'clicked: ' : "clicked: " @@ -1537,7 +1537,7 @@ var buttonView = { >alert('hovering: ' + this.label) : void > : ^^^^ >alert : { (message?: any): void; (x: string): void; } -> : ^^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ >'hovering: ' + this.label : string > : ^^^^^^ >'hovering: ' : "hovering: " @@ -1554,11 +1554,11 @@ _.bindAll(buttonView); >_.bindAll(buttonView) : { label: string; onClick: () => void; onHover: () => void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >_.bindAll : (object: T, ...methodNames: string[]) => T -> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >bindAll : (object: T, ...methodNames: string[]) => T -> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^ >buttonView : { label: string; onClick: () => void; onHover: () => void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -1590,11 +1590,11 @@ var fibonacci = _.memoize(function (n) { >_.memoize(function (n) { return n < 2 ? n : fibonacci(n - 1) + fibonacci(n - 2);}) : (n: any) => any > : ^ ^^^^^^^^^^^^^ >_.memoize : (func: T, hashFunction?: Function) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >memoize : (func: T, hashFunction?: Function) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^^^ >function (n) { return n < 2 ? n : fibonacci(n - 1) + fibonacci(n - 2);} : (n: any) => any > : ^ ^^^^^^^^^^^^^ >n : any @@ -1642,11 +1642,11 @@ var log = _.bind((message?: string, ...rest: string[]) => { }, Date); >_.bind((message?: string, ...rest: string[]) => { }, Date) : (message?: string, ...rest: string[]) => void > : ^ ^^^ ^^^^^ ^^ ^^^^^^^^^ >_.bind : { (func: T, object: any): T; (func: Function, object: any, ...args: any[]): Function; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >bind : { (func: T, object: any): T; (func: Function, object: any, ...args: any[]): Function; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^ ^^^ >(message?: string, ...rest: string[]) => { } : (message?: string, ...rest: string[]) => void > : ^ ^^^ ^^^^^ ^^ ^^^^^^^^^ >message : string @@ -1660,11 +1660,11 @@ _.delay(log, 1000, 'logged later'); >_.delay(log, 1000, 'logged later') : number > : ^^^^^^ >_.delay : (func: Function, wait: number, ...args: any[]) => number -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >delay : (func: Function, wait: number, ...args: any[]) => number -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >log : (message?: string, ...rest: string[]) => void > : ^ ^^^ ^^^^^ ^^ ^^^^^^^^^ >1000 : 1000 @@ -1676,17 +1676,17 @@ _.defer(function () { alert('deferred'); }); >_.defer(function () { alert('deferred'); }) : number > : ^^^^^^ >_.defer : (func: Function, ...args: any[]) => number -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >defer : (func: Function, ...args: any[]) => number -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >function () { alert('deferred'); } : () => void > : ^^^^^^^^^^ >alert('deferred') : void > : ^^^^ >alert : { (message?: any): void; (x: string): void; } -> : ^^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ >'deferred' : "deferred" > : ^^^^^^^^^^ @@ -1698,7 +1698,7 @@ var updatePosition = () => alert('updating position...'); >alert('updating position...') : void > : ^^^^ >alert : { (message?: any): void; (x: string): void; } -> : ^^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ >'updating position...' : "updating position..." > : ^^^^^^^^^^^^^^^^^^^^^^ @@ -1708,11 +1708,11 @@ var throttled = _.throttle(updatePosition, 100); >_.throttle(updatePosition, 100) : () => void > : ^^^^^^^^^^ >_.throttle : (func: T, wait: number) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >throttle : (func: T, wait: number) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >updatePosition : () => void > : ^^^^^^^^^^ >100 : 100 @@ -1740,7 +1740,7 @@ var calculateLayout = () => alert('calculating layout...'); >alert('calculating layout...') : void > : ^^^^ >alert : { (message?: any): void; (x: string): void; } -> : ^^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ >'calculating layout...' : "calculating layout..." > : ^^^^^^^^^^^^^^^^^^^^^^^ @@ -1750,11 +1750,11 @@ var lazyLayout = _.debounce(calculateLayout, 300); >_.debounce(calculateLayout, 300) : () => void > : ^^^^^^^^^^ >_.debounce : (func: T, wait: number, immediate?: boolean) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >debounce : (func: T, wait: number, immediate?: boolean) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >calculateLayout : () => void > : ^^^^^^^^^^ >300 : 300 @@ -1782,7 +1782,7 @@ var createApplication = () => alert('creating application...'); >alert('creating application...') : void > : ^^^^ >alert : { (message?: any): void; (x: string): void; } -> : ^^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ >'creating application...' : "creating application..." > : ^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -1792,11 +1792,11 @@ var initialize = _.once(createApplication); >_.once(createApplication) : () => void > : ^^^^^^^^^^ >_.once : (func: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >once : (func: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >createApplication : () => void > : ^^^^^^^^^^ @@ -1824,7 +1824,7 @@ var render = () => alert("rendering..."); >alert("rendering...") : void > : ^^^^ >alert : { (message?: any): void; (x: string): void; } -> : ^^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ >"rendering..." : "rendering..." > : ^^^^^^^^^^^^^^ @@ -1834,11 +1834,11 @@ var renderNotes = _.after(notes.length, render); >_.after(notes.length, render) : () => void > : ^^^^^^^^^^ >_.after : (count: number, func: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >after : (count: number, func: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >notes.length : number > : ^^^^^^ >notes : any[] @@ -1851,12 +1851,12 @@ var renderNotes = _.after(notes.length, render); _.each(notes, (note) => note.asyncSave({ success: renderNotes })); >_.each(notes, (note) => note.asyncSave({ success: renderNotes })) : void > : ^^^^ ->_.each : { (list: T[], iterator: Iterator_, context?: any): void; (list: Dictionary, iterator: Iterator_, context?: any): void; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^ +>_.each : { (list: T[], iterator: Iterator_, context?: any): void; (list: Dictionary, iterator: Iterator_, context?: any): void; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ ->each : { (list: T[], iterator: Iterator_, context?: any): void; (list: Dictionary, iterator: Iterator_, context?: any): void; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^ +>each : { (list: T[], iterator: Iterator_, context?: any): void; (list: Dictionary, iterator: Iterator_, context?: any): void; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >notes : any[] > : ^^^^^ >(note) => note.asyncSave({ success: renderNotes }) : (note: any) => any @@ -1900,11 +1900,11 @@ hello = _.wrap(hello, (func, arg) => { return "before, " + func(arg) + ", after" >_.wrap(hello, (func, arg) => { return "before, " + func(arg) + ", after"; }) : (name: any) => string > : ^ ^^^^^^^^^^^^^^^^ >_.wrap : (func: T, wrapper: (func: T, ...args: any[]) => any) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >wrap : (func: T, wrapper: (func: T, ...args: any[]) => any) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >hello : (name: any) => string > : ^ ^^^^^^^^^^^^^^^^ >(func, arg) => { return "before, " + func(arg) + ", after"; } : (func: (name: any) => string, arg: any) => string @@ -1970,11 +1970,11 @@ var welcome = _.compose(exclaim, greet); >_.compose(exclaim, greet) : Function > : ^^^^^^^^ >_.compose : (...funcs: Function[]) => Function -> : ^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >compose : (...funcs: Function[]) => Function -> : ^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >exclaim : (statement: any) => string > : ^ ^^^^^^^^^^^^^^^^ >greet : (name: any) => string @@ -1994,11 +1994,11 @@ _.keys({ one: 1, two: 2, three: 3 }); >_.keys({ one: 1, two: 2, three: 3 }) : string[] > : ^^^^^^^^ >_.keys : (object: any) => string[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >keys : (object: any) => string[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ one: 1, two: 2, three: 3 } : { one: number; two: number; three: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >one : number @@ -2018,11 +2018,11 @@ _.values({ one: 1, two: 2, three: 3 }); >_.values({ one: 1, two: 2, three: 3 }) : any[] > : ^^^^^ >_.values : (object: any) => any[] -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >values : (object: any) => any[] -> : ^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ one: 1, two: 2, three: 3 } : { one: number; two: number; three: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >one : number @@ -2042,11 +2042,11 @@ _.pairs({ one: 1, two: 2, three: 3 }); >_.pairs({ one: 1, two: 2, three: 3 }) : any[][] > : ^^^^^^^ >_.pairs : (object: any) => any[][] -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >pairs : (object: any) => any[][] -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ one: 1, two: 2, three: 3 } : { one: number; two: number; three: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >one : number @@ -2066,11 +2066,11 @@ _.invert({ Moe: "Moses", Larry: "Louis", Curly: "Jerome" }); >_.invert({ Moe: "Moses", Larry: "Louis", Curly: "Jerome" }) : any > : ^^^ >_.invert : (object: any) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >invert : (object: any) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >{ Moe: "Moses", Larry: "Louis", Curly: "Jerome" } : { Moe: string; Larry: string; Curly: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Moe : string @@ -2090,11 +2090,11 @@ _.functions(_); >_.functions(_) : string[] > : ^^^^^^^^ >_.functions : (object: any) => string[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >functions : (object: any) => string[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ @@ -2102,11 +2102,11 @@ _.extend({ name: 'moe' }, { age: 50 }); >_.extend({ name: 'moe' }, { age: 50 }) : { name: string; } > : ^^^^^^^^^^^^^^^^^ >_.extend : (destination: T, ...sources: any[]) => T -> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >extend : (destination: T, ...sources: any[]) => T -> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^ >{ name: 'moe' } : { name: string; } > : ^^^^^^^^^^^^^^^^^ >name : string @@ -2124,11 +2124,11 @@ _.pick({ name: 'moe', age: 50, userid: 'moe1' }, 'name', 'age'); >_.pick({ name: 'moe', age: 50, userid: 'moe1' }, 'name', 'age') : { name: string; age: number; userid: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >_.pick : (object: T, ...keys: string[]) => T -> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >pick : (object: T, ...keys: string[]) => T -> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^ >{ name: 'moe', age: 50, userid: 'moe1' } : { name: string; age: number; userid: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >name : string @@ -2152,11 +2152,11 @@ _.omit({ name: 'moe', age: 50, userid: 'moe1' }, 'userid'); >_.omit({ name: 'moe', age: 50, userid: 'moe1' }, 'userid') : { name: string; age: number; userid: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >_.omit : (object: T, ...keys: string[]) => T -> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >omit : (object: T, ...keys: string[]) => T -> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^ >{ name: 'moe', age: 50, userid: 'moe1' } : { name: string; age: number; userid: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >name : string @@ -2188,11 +2188,11 @@ _.defaults(iceCream, { flavor: "vanilla", sprinkles: "lots" }); >_.defaults(iceCream, { flavor: "vanilla", sprinkles: "lots" }) : { flavor: string; } > : ^^^^^^^^^^^^^^^^^^^ >_.defaults : (object: T, ...defaults: any[]) => T -> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >defaults : (object: T, ...defaults: any[]) => T -> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^ ^^^^^ >iceCream : { flavor: string; } > : ^^^^^^^^^^^^^^^^^^^ >{ flavor: "vanilla", sprinkles: "lots" } : { flavor: string; sprinkles: string; } @@ -2210,11 +2210,11 @@ _.clone({ name: 'moe' }); >_.clone({ name: 'moe' }) : { name: string; } > : ^^^^^^^^^^^^^^^^^ >_.clone : (object: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >clone : (object: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ name: 'moe' } : { name: string; } > : ^^^^^^^^^^^^^^^^^ >name : string @@ -2230,23 +2230,23 @@ _.chain([1, 2, 3, 200]) >_.chain([1, 2, 3, 200]) .filter(function (num) { return num % 2 == 0; }) .tap(alert) .map(function (num) { return num * num }) : Underscore.ChainedArray > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >_.chain([1, 2, 3, 200]) .filter(function (num) { return num % 2 == 0; }) .tap(alert) .map : (iterator: Iterator_, context?: any) => Underscore.ChainedArray -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ >_.chain([1, 2, 3, 200]) .filter(function (num) { return num % 2 == 0; }) .tap(alert) : Underscore.ChainedArray > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >_.chain([1, 2, 3, 200]) .filter(function (num) { return num % 2 == 0; }) .tap : (interceptor: (object: number[]) => void) => Underscore.ChainedArray -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >_.chain([1, 2, 3, 200]) .filter(function (num) { return num % 2 == 0; }) : Underscore.ChainedArray > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >_.chain([1, 2, 3, 200]) .filter : (iterator: Iterator_, context?: any) => Underscore.ChainedArray -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >_.chain([1, 2, 3, 200]) : Underscore.ChainedArray > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->_.chain : { (list: T[]): Underscore.ChainedArray; (list: Dictionary): Underscore.ChainedDictionary; (obj: T_2): Underscore.ChainedObject; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>_.chain : { (list: T[]): Underscore.ChainedArray; (list: Dictionary): Underscore.ChainedDictionary; (obj: T): Underscore.ChainedObject; } +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ ->chain : { (list: T[]): Underscore.ChainedArray; (list: Dictionary): Underscore.ChainedDictionary; (obj: T_2): Underscore.ChainedObject; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>chain : { (list: T[]): Underscore.ChainedArray; (list: Dictionary): Underscore.ChainedDictionary; (obj: T): Underscore.ChainedObject; } +> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >[1, 2, 3, 200] : number[] > : ^^^^^^^^ >1 : 1 @@ -2260,7 +2260,7 @@ _.chain([1, 2, 3, 200]) .filter(function (num) { return num % 2 == 0; }) >filter : (iterator: Iterator_, context?: any) => Underscore.ChainedArray -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >function (num) { return num % 2 == 0; } : (num: number) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^ >num : number @@ -2278,15 +2278,15 @@ _.chain([1, 2, 3, 200]) .tap(alert) >tap : (interceptor: (object: number[]) => void) => Underscore.ChainedArray -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >alert : any > : ^^^ >alert : { (message?: any): void; (x: string): void; } -> : ^^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ .map(function (num) { return num * num }) >map : (iterator: Iterator_, context?: any) => Underscore.ChainedArray -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ >function (num) { return num * num } : (num: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >num : number @@ -2306,11 +2306,11 @@ _.has({ a: 1, b: 2, c: 3 }, "b"); >_.has({ a: 1, b: 2, c: 3 }, "b") : boolean > : ^^^^^^^ >_.has : (object: any, key: string) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >has : (object: any, key: string) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >{ a: 1, b: 2, c: 3 } : { a: number; b: number; c: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -2380,11 +2380,11 @@ _.isEqual(moe, clone); >_.isEqual(moe, clone) : boolean > : ^^^^^^^ >_.isEqual : (object: T, other: T) => boolean -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >isEqual : (object: T, other: T) => boolean -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >moe : { name: string; luckyNumbers: number[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >clone : { name: string; luckyNumbers: number[]; } @@ -2394,11 +2394,11 @@ _.isEmpty([1, 2, 3]); >_.isEmpty([1, 2, 3]) : boolean > : ^^^^^^^ >_.isEmpty : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >isEmpty : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >[1, 2, 3] : number[] > : ^^^^^^^^ >1 : 1 @@ -2412,11 +2412,11 @@ _.isEmpty({}); >_.isEmpty({}) : boolean > : ^^^^^^^ >_.isEmpty : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >isEmpty : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >{} : {} > : ^^ @@ -2424,11 +2424,11 @@ _.isElement($('body')[0]); >_.isElement($('body')[0]) : boolean > : ^^^^^^^ >_.isElement : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >isElement : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >$('body')[0] : any > : ^^^ >$('body') : any @@ -2450,11 +2450,11 @@ _.isElement($('body')[0]); >_.isArray(arguments) : boolean > : ^^^^^^^ >_.isArray : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >isArray : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >arguments : IArguments > : ^^^^^^^^^^ @@ -2462,11 +2462,11 @@ _.isArray([1, 2, 3]); >_.isArray([1, 2, 3]) : boolean > : ^^^^^^^ >_.isArray : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >isArray : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >[1, 2, 3] : number[] > : ^^^^^^^^ >1 : 1 @@ -2480,11 +2480,11 @@ _.isObject({}); >_.isObject({}) : boolean > : ^^^^^^^ >_.isObject : (value: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >isObject : (value: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >{} : {} > : ^^ @@ -2492,11 +2492,11 @@ _.isObject(1); >_.isObject(1) : boolean > : ^^^^^^^ >_.isObject : (value: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >isObject : (value: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ @@ -2506,11 +2506,11 @@ _.isArguments([1, 2, 3]); >_.isArguments([1, 2, 3]) : boolean > : ^^^^^^^ >_.isArguments : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >isArguments : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >[1, 2, 3] : number[] > : ^^^^^^^^ >1 : 1 @@ -2524,23 +2524,23 @@ _.isFunction(alert); >_.isFunction(alert) : boolean > : ^^^^^^^ >_.isFunction : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >isFunction : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >alert : { (message?: any): void; (x: string): void; } -> : ^^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^^ _.isString("moe"); >_.isString("moe") : boolean > : ^^^^^^^ >_.isString : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >isString : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"moe" : "moe" > : ^^^^^ @@ -2548,11 +2548,11 @@ _.isNumber(8.4 * 5); >_.isNumber(8.4 * 5) : boolean > : ^^^^^^^ >_.isNumber : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >isNumber : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >8.4 * 5 : number > : ^^^^^^ >8.4 : 8.4 @@ -2564,11 +2564,11 @@ _.isFinite(-101); >_.isFinite(-101) : boolean > : ^^^^^^^ >_.isFinite : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >isFinite : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >-101 : -101 > : ^^^^ >101 : 101 @@ -2578,11 +2578,11 @@ _.isFinite(-Infinity); >_.isFinite(-Infinity) : boolean > : ^^^^^^^ >_.isFinite : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >isFinite : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >-Infinity : number > : ^^^^^^ >Infinity : number @@ -2592,21 +2592,21 @@ _.isBoolean(null); >_.isBoolean(null) : boolean > : ^^^^^^^ >_.isBoolean : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >isBoolean : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ _.isDate(new Date()); >_.isDate(new Date()) : boolean > : ^^^^^^^ >_.isDate : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >isDate : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >new Date() : Date > : ^^^^ >Date : DateConstructor @@ -2616,11 +2616,11 @@ _.isRegExp(/moe/); >_.isRegExp(/moe/) : boolean > : ^^^^^^^ >_.isRegExp : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >isRegExp : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >/moe/ : RegExp > : ^^^^^^ @@ -2628,11 +2628,11 @@ _.isNaN(NaN); >_.isNaN(NaN) : boolean > : ^^^^^^^ >_.isNaN : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >isNaN : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >NaN : number > : ^^^^^^ @@ -2640,7 +2640,7 @@ isNaN(undefined); >isNaN(undefined) : boolean > : ^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ @@ -2648,11 +2648,11 @@ _.isNaN(undefined); >_.isNaN(undefined) : boolean > : ^^^^^^^ >_.isNaN : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >isNaN : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ @@ -2660,21 +2660,21 @@ _.isNull(null); >_.isNull(null) : boolean > : ^^^^^^^ >_.isNull : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >isNull : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ _.isNull(undefined); >_.isNull(undefined) : boolean > : ^^^^^^^ >_.isNull : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >isNull : (object: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >undefined : undefined > : ^^^^^^^^^ @@ -2682,11 +2682,11 @@ _.isUndefined((null).missingVariable); >_.isUndefined((null).missingVariable) : boolean > : ^^^^^^^ >_.isUndefined : (value: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >isUndefined : (value: any) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(null).missingVariable : any > : ^^^ >(null) : any @@ -2728,11 +2728,11 @@ moe2 === _.identity(moe); >_.identity(moe) : { name: string; luckyNumbers: number[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >_.identity : (value: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >identity : (value: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >moe : { name: string; luckyNumbers: number[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -2744,11 +2744,11 @@ _.times(3, function (n) { genie.grantWishNumber(n); }); >_.times(3, function (n) { genie.grantWishNumber(n); }) : void[] > : ^^^^^^ >_.times : (n: number, iterator: Iterator_, context?: any) => U[] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >times : (n: number, iterator: Iterator_, context?: any) => U[] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >3 : 3 > : ^ >function (n) { genie.grantWishNumber(n); } : (n: number) => void @@ -2770,11 +2770,11 @@ _.random(0, 100); >_.random(0, 100) : number > : ^^^^^^ >_.random : { (max: number): number; (min: number, max: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >random : { (max: number): number; (min: number, max: number): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >0 : 0 > : ^ >100 : 100 @@ -2784,11 +2784,11 @@ _.mixin({ >_.mixin({ capitalize: function (string) { return string.charAt(0).toUpperCase() + string.substring(1).toLowerCase(); }}) : void > : ^^^^ >_.mixin : (object: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >mixin : (object: any) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ capitalize: function (string) { return string.charAt(0).toUpperCase() + string.substring(1).toLowerCase(); }} : { capitalize: (string: any) => any; } > : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ @@ -2859,11 +2859,11 @@ _.uniqueId('contact_'); >_.uniqueId('contact_') : string > : ^^^^^^ >_.uniqueId : { (): number; (prefix: string): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >uniqueId : { (): number; (prefix: string): string; } -> : ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >'contact_' : "contact_" > : ^^^^^^^^^^ @@ -2871,11 +2871,11 @@ _.escape('Curly, Larry & Moe'); >_.escape('Curly, Larry & Moe') : string > : ^^^^^^ >_.escape : (s: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >escape : (s: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'Curly, Larry & Moe' : "Curly, Larry & Moe" > : ^^^^^^^^^^^^^^^^^^^^ @@ -2899,11 +2899,11 @@ _.result(object, 'cheese'); >_.result(object, 'cheese') : any > : ^^^ >_.result : (object: any, property: string) => any -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >result : (object: any, property: string) => any -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >object : { cheese: string; stuff: () => string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'cheese' : "cheese" @@ -2913,11 +2913,11 @@ _.result(object, 'stuff'); >_.result(object, 'stuff') : any > : ^^^ >_.result : (object: any, property: string) => any -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ >result : (object: any, property: string) => any -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >object : { cheese: string; stuff: () => string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'stuff' : "stuff" @@ -2925,15 +2925,15 @@ _.result(object, 'stuff'); var compiled = _.template("hello: <%= name %>"); >compiled : (data: any) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_.template("hello: <%= name %>") : (data: any) => string -> : ^ ^^ ^^^^^^^^^^^ ->_.template : { (templateString: string): (data: any) => string; (templateString: string, data: any, settings?: TemplateSettings): string; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>_.template : { (templateString: string): (data: any) => string; (templateString: string, data: any, settings?: Underscore.TemplateSettings): string; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ ->template : { (templateString: string): (data: any) => string; (templateString: string, data: any, settings?: TemplateSettings): string; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +>template : { (templateString: string): (data: any) => string; (templateString: string, data: any, settings?: Underscore.TemplateSettings): string; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >"hello: <%= name %>" : "hello: <%= name %>" > : ^^^^^^^^^^^^^^^^^^^^ @@ -2941,7 +2941,7 @@ compiled({ name: 'moe' }); >compiled({ name: 'moe' }) : string > : ^^^^^^ >compiled : (data: any) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ name: 'moe' } : { name: string; } > : ^^^^^^^^^^^^^^^^^ >name : string @@ -2958,12 +2958,12 @@ var list2 = "<% _.each(people, function(name) { %>

  • <%= name %>
  • <% }); % _.template(list2, { people: ['moe', 'curly', 'larry'] }); >_.template(list2, { people: ['moe', 'curly', 'larry'] }) : string > : ^^^^^^ ->_.template : { (templateString: string): (data: any) => string; (templateString: string, data: any, settings?: TemplateSettings): string; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +>_.template : { (templateString: string): (data: any) => string; (templateString: string, data: any, settings?: Underscore.TemplateSettings): string; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ ->template : { (templateString: string): (data: any) => string; (templateString: string, data: any, settings?: TemplateSettings): string; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +>template : { (templateString: string): (data: any) => string; (templateString: string, data: any, settings?: Underscore.TemplateSettings): string; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >list2 : string > : ^^^^^^ >{ people: ['moe', 'curly', 'larry'] } : { people: string[]; } @@ -2981,15 +2981,15 @@ _.template(list2, { people: ['moe', 'curly', 'larry'] }); var template = _.template("<%- value %>"); >template : (data: any) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >_.template("<%- value %>") : (data: any) => string -> : ^ ^^ ^^^^^^^^^^^ ->_.template : { (templateString: string): (data: any) => string; (templateString: string, data: any, settings?: TemplateSettings): string; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ +>_.template : { (templateString: string): (data: any) => string; (templateString: string, data: any, settings?: Underscore.TemplateSettings): string; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >_ : Underscore.Static > : ^^^^^^^^^^^^^^^^^ ->template : { (templateString: string): (data: any) => string; (templateString: string, data: any, settings?: TemplateSettings): string; } -> : ^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^ +>template : { (templateString: string): (data: any) => string; (templateString: string, data: any, settings?: Underscore.TemplateSettings): string; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >"<%- value %>" : "<%- value %>" > : ^^^^^^^^^^^^^^^^^^^^^ @@ -2997,7 +2997,7 @@ template({ value: '

    (target: {}, property: P) => target is { readonly [K in P]: unknown; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >arrayLikeOrIterable : ArrayLike | Iterable > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'length' : "length" diff --git a/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty1.types b/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty1.types index 5bc315ac2c77a..cfa4c5ea7ae2b 100644 --- a/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty1.types +++ b/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty1.types @@ -153,11 +153,11 @@ function subarea(s: Subshape): number { >s[0]["sub"].under["shape"] : Shape > : ^^^^^ >s[0]["sub"].under : { shape: Shape; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >s[0]["sub"] : { under: { shape: Shape; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >s[0] : { sub: { under: { shape: Shape; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >s : Subshape > : ^^^^^^^^ >0 : 0 @@ -165,7 +165,7 @@ function subarea(s: Subshape): number { >"sub" : "sub" > : ^^^^^ >under : { shape: Shape; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >"shape" : "shape" > : ^^^^^^^ >"dash-ok" : "dash-ok" @@ -181,19 +181,19 @@ function subarea(s: Subshape): number { >s[0].sub.under.shape : Square > : ^^^^^^ >s[0].sub.under : { shape: Shape; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >s[0].sub : { under: { shape: Shape; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >s[0] : { sub: { under: { shape: Shape; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >s : Subshape > : ^^^^^^^^ >0 : 0 > : ^ >sub : { under: { shape: Shape; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >under : { shape: Shape; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >shape : Square > : ^^^^^^ >"square-size" : "square-size" @@ -203,19 +203,19 @@ function subarea(s: Subshape): number { >s[0].sub.under.shape : Square > : ^^^^^^ >s[0].sub.under : { shape: Shape; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >s[0].sub : { under: { shape: Shape; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >s[0] : { sub: { under: { shape: Shape; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >s : Subshape > : ^^^^^^^^ >0 : 0 > : ^ >sub : { under: { shape: Shape; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >under : { shape: Shape; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >shape : Square > : ^^^^^^ >"square-size" : "square-size" @@ -231,11 +231,11 @@ function subarea(s: Subshape): number { >s[0]["sub"]["under"]["shape"] : Rectangle > : ^^^^^^^^^ >s[0]["sub"]["under"] : { shape: Shape; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >s[0]["sub"] : { under: { shape: Shape; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >s[0] : { sub: { under: { shape: Shape; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >s : Subshape > : ^^^^^^^^ >0 : 0 @@ -253,11 +253,11 @@ function subarea(s: Subshape): number { >s[0]["sub"]["under"]["shape"] : Rectangle > : ^^^^^^^^^ >s[0]["sub"]["under"] : { shape: Shape; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >s[0]["sub"] : { under: { shape: Shape; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >s[0] : { sub: { under: { shape: Shape; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >s : Subshape > : ^^^^^^^^ >0 : 0 @@ -289,19 +289,19 @@ function subarea(s: Subshape): number { >s[0].sub.under["shape"] : Circle > : ^^^^^^ >s[0].sub.under : { shape: Shape; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >s[0].sub : { under: { shape: Shape; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >s[0] : { sub: { under: { shape: Shape; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >s : Subshape > : ^^^^^^^^ >0 : 0 > : ^ >sub : { under: { shape: Shape; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >under : { shape: Shape; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >"shape" : "shape" > : ^^^^^^^ >radius : number @@ -311,11 +311,11 @@ function subarea(s: Subshape): number { >s[0]["sub"].under.shape : Circle > : ^^^^^^ >s[0]["sub"].under : { shape: Shape; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >s[0]["sub"] : { under: { shape: Shape; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >s[0] : { sub: { under: { shape: Shape; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >s : Subshape > : ^^^^^^^^ >0 : 0 @@ -323,7 +323,7 @@ function subarea(s: Subshape): number { >"sub" : "sub" > : ^^^^^ >under : { shape: Shape; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >shape : Circle > : ^^^^^^ >"radius" : "radius" diff --git a/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty11.types b/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty11.types index 0067b8cf2e9a4..ad6259e7abf89 100644 --- a/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty11.types +++ b/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty11.types @@ -31,7 +31,7 @@ if (m[E.A] !== null) { >m[E.A].toString() : string > : ^^^^^^ >m[E.A].toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >m[E.A] : string > : ^^^^^^ >m : { 0: string | null; 1: string | null; } @@ -43,6 +43,6 @@ if (m[E.A] !== null) { >A : E.A > : ^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty12.types b/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty12.types index 630493d757670..b45008683355e 100644 --- a/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty12.types +++ b/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty12.types @@ -40,7 +40,7 @@ if (m[E.A] !== null) { >m[E.A].toString() : string > : ^^^^^^ >m[E.A].toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >m[E.A] : string > : ^^^^^^ >m : { A: string | null; B: string | null; } @@ -52,6 +52,6 @@ if (m[E.A] !== null) { >A : E.A > : ^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty2.types b/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty2.types index 386d89a40be3f..c2d98a55c85bb 100644 --- a/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty2.types +++ b/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty2.types @@ -20,24 +20,24 @@ const key = 'key' as const; if (foo[key]) { >foo[key] : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->foo : { key?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { key?: number; } +> : ^^^^^^^^ ^^^ >key : "key" > : ^^^^^ foo[key]; // number >foo[key] : number > : ^^^^^^ ->foo : { key?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { key?: number; } +> : ^^^^^^^^ ^^^ >key : "key" > : ^^^^^ foo.key; // number >foo.key : number > : ^^^^^^ ->foo : { key?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo : { key?: number; } +> : ^^^^^^^^ ^^^ >key : number > : ^^^^^^ } diff --git a/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty5.types b/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty5.types index 9205c9c80cf8a..5d4fc2b9ea232 100644 --- a/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty5.types +++ b/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty5.types @@ -20,18 +20,18 @@ const aIndex = "key"; if (a[aIndex] && a[aIndex].x) { >a[aIndex] && a[aIndex].x : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->a[aIndex] : { x?: number | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->a : { key?: { x?: number | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a[aIndex] : { x?: number; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>a : { key?: { x?: number; }; } +> : ^^^^^^^^ ^^^ >aIndex : "key" > : ^^^^^ >a[aIndex].x : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->a[aIndex] : { x?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->a : { key?: { x?: number | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a[aIndex] : { x?: number; } +> : ^^^^^^ ^^^ +>a : { key?: { x?: number; }; } +> : ^^^^^^^^ ^^^ >aIndex : "key" > : ^^^^^ >x : number | undefined @@ -40,10 +40,10 @@ if (a[aIndex] && a[aIndex].x) { a[aIndex].x // number >a[aIndex].x : number > : ^^^^^^ ->a[aIndex] : { x?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->a : { key?: { x?: number | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a[aIndex] : { x?: number; } +> : ^^^^^^ ^^^ +>a : { key?: { x?: number; }; } +> : ^^^^^^^^ ^^^ >aIndex : "key" > : ^^^^^ >x : number @@ -73,10 +73,10 @@ const bIndex = "key"; if (b[bIndex].x) { >b[bIndex].x : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->b[bIndex] : { x?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { key: { x?: number | undefined; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>b[bIndex] : { x?: number; } +> : ^^^^^^ ^^^ +>b : { key: { x?: number; }; } +> : ^^^^^^^ ^^^ >bIndex : "key" > : ^^^^^ >x : number | undefined @@ -85,10 +85,10 @@ if (b[bIndex].x) { b[bIndex].x // number >b[bIndex].x : number > : ^^^^^^ ->b[bIndex] : { x?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { key: { x?: number | undefined; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>b[bIndex] : { x?: number; } +> : ^^^^^^ ^^^ +>b : { key: { x?: number; }; } +> : ^^^^^^^ ^^^ >bIndex : "key" > : ^^^^^ >x : number diff --git a/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty6.types b/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty6.types index 085f8901ec744..41a7693dcec2c 100644 --- a/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty6.types +++ b/tests/baselines/reference/typeGuardNarrowsIndexedAccessOfKnownProperty6.types @@ -18,18 +18,18 @@ const a: { key?: { x?: number } } = {}; if (a[aIndex] && a[aIndex].x) { >a[aIndex] && a[aIndex].x : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->a[aIndex] : { x?: number | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->a : { key?: { x?: number | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a[aIndex] : { x?: number; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>a : { key?: { x?: number; }; } +> : ^^^^^^^^ ^^^ >aIndex : "key" > : ^^^^^ >a[aIndex].x : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->a[aIndex] : { x?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->a : { key?: { x?: number | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a[aIndex] : { x?: number; } +> : ^^^^^^ ^^^ +>a : { key?: { x?: number; }; } +> : ^^^^^^^^ ^^^ >aIndex : "key" > : ^^^^^ >x : number | undefined @@ -38,10 +38,10 @@ if (a[aIndex] && a[aIndex].x) { a[aIndex].x // number >a[aIndex].x : number > : ^^^^^^ ->a[aIndex] : { x?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->a : { key?: { x?: number | undefined; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a[aIndex] : { x?: number; } +> : ^^^^^^ ^^^ +>a : { key?: { x?: number; }; } +> : ^^^^^^^^ ^^^ >aIndex : "key" > : ^^^^^ >x : number @@ -69,10 +69,10 @@ const b: { key: { x?: number } } = { key: {} }; if (b[bIndex].x) { >b[bIndex].x : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->b[bIndex] : { x?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { key: { x?: number | undefined; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>b[bIndex] : { x?: number; } +> : ^^^^^^ ^^^ +>b : { key: { x?: number; }; } +> : ^^^^^^^ ^^^ >bIndex : "key" > : ^^^^^ >x : number | undefined @@ -81,10 +81,10 @@ if (b[bIndex].x) { b[bIndex].x // number >b[bIndex].x : number > : ^^^^^^ ->b[bIndex] : { x?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { key: { x?: number | undefined; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>b[bIndex] : { x?: number; } +> : ^^^^^^ ^^^ +>b : { key: { x?: number; }; } +> : ^^^^^^^ ^^^ >bIndex : "key" > : ^^^^^ >x : number diff --git a/tests/baselines/reference/typeGuardNarrowsPrimitiveIntersection.types b/tests/baselines/reference/typeGuardNarrowsPrimitiveIntersection.types index 1048e8a3a1a29..270cc1d5e2d33 100644 --- a/tests/baselines/reference/typeGuardNarrowsPrimitiveIntersection.types +++ b/tests/baselines/reference/typeGuardNarrowsPrimitiveIntersection.types @@ -31,8 +31,8 @@ let value: string; if (isNonBlank(value)) { >isNonBlank(value) : boolean > : ^^^^^^^ ->isNonBlank : (value: string) => value is string & Tag -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +>isNonBlank : (value: string) => value is (string & Tag) +> : ^ ^^ ^^^^^ >value : string > : ^^^^^^ @@ -40,7 +40,7 @@ if (isNonBlank(value)) { >doThis(value) : void > : ^^^^ >doThis : (value: string & Tag) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >value : string & Tag > : ^^^^^^^^^^^^ @@ -49,7 +49,7 @@ if (isNonBlank(value)) { >doThat(value) : void > : ^^^^ >doThat : (value: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >value : string > : ^^^^^^ } @@ -80,8 +80,8 @@ declare function doThat2(value: string) : void; if (isNonBlank2(value)) { >isNonBlank2(value) : boolean > : ^^^^^^^ ->isNonBlank2 : (value: string) => value is never -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ +>isNonBlank2 : (value: string) => value is (string & Tag2) +> : ^ ^^ ^^^^^ >value : string > : ^^^^^^ @@ -89,7 +89,7 @@ if (isNonBlank2(value)) { >doThis2(value) : void > : ^^^^ >doThis2 : (value: string & Tag2) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >value : never > : ^^^^^ @@ -98,7 +98,7 @@ if (isNonBlank2(value)) { >doThat2(value) : void > : ^^^^ >doThat2 : (value: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >value : string > : ^^^^^^ } diff --git a/tests/baselines/reference/typeGuardNarrowsToLiteralType.types b/tests/baselines/reference/typeGuardNarrowsToLiteralType.types index cb7b957611172..28936864ce90d 100644 --- a/tests/baselines/reference/typeGuardNarrowsToLiteralType.types +++ b/tests/baselines/reference/typeGuardNarrowsToLiteralType.types @@ -27,7 +27,7 @@ if (isFoo(value)) { >isFoo(value) : boolean > : ^^^^^^^ >isFoo : (value: string) => value is "foo" -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >value : string > : ^^^^^^ @@ -35,7 +35,7 @@ if (isFoo(value)) { >doThis(value) : void > : ^^^^ >doThis : (value: "foo") => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >value : "foo" > : ^^^^^ @@ -44,7 +44,7 @@ if (isFoo(value)) { >doThat(value) : void > : ^^^^ >doThat : (value: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >value : string > : ^^^^^^ } diff --git a/tests/baselines/reference/typeGuardNarrowsToLiteralTypeUnion.types b/tests/baselines/reference/typeGuardNarrowsToLiteralTypeUnion.types index 842fe40b7dcd5..df699d3e028d0 100644 --- a/tests/baselines/reference/typeGuardNarrowsToLiteralTypeUnion.types +++ b/tests/baselines/reference/typeGuardNarrowsToLiteralTypeUnion.types @@ -26,8 +26,8 @@ let value: string; if (isFoo(value)) { >isFoo(value) : boolean > : ^^^^^^^ ->isFoo : (value: string) => value is "foo" | "bar" -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>isFoo : (value: string) => value is ("foo" | "bar") +> : ^ ^^ ^^^^^ >value : string > : ^^^^^^ @@ -35,7 +35,7 @@ if (isFoo(value)) { >doThis(value) : void > : ^^^^ >doThis : (value: "foo" | "bar") => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >value : "foo" | "bar" > : ^^^^^^^^^^^^^ @@ -44,7 +44,7 @@ if (isFoo(value)) { >doThat(value) : void > : ^^^^ >doThat : (value: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >value : string > : ^^^^^^ } diff --git a/tests/baselines/reference/typeGuardOfFormFunctionEquality.types b/tests/baselines/reference/typeGuardOfFormFunctionEquality.types index 26fa7f4bff7cd..8979501075bf5 100644 --- a/tests/baselines/reference/typeGuardOfFormFunctionEquality.types +++ b/tests/baselines/reference/typeGuardOfFormFunctionEquality.types @@ -19,7 +19,7 @@ switch (isString1(0, "")) { >isString1(0, "") : boolean > : ^^^^^^^ >isString1 : (a: number, b: Object) => b is string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >0 : 0 > : ^ >"" : "" @@ -29,7 +29,7 @@ switch (isString1(0, "")) { >isString2("") : boolean > : ^^^^^^^ >isString2 : (a: Object) => a is string -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"" : "" > : ^^ @@ -44,7 +44,7 @@ var x = isString1(0, "") === isString2(""); >isString1(0, "") : boolean > : ^^^^^^^ >isString1 : (a: number, b: Object) => b is string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >0 : 0 > : ^ >"" : "" @@ -52,7 +52,7 @@ var x = isString1(0, "") === isString2(""); >isString2("") : boolean > : ^^^^^^^ >isString2 : (a: Object) => a is string -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"" : "" > : ^^ @@ -70,7 +70,7 @@ function isString3(a: number, b: number, c: Object): c is string { >isString1(0, c) : boolean > : ^^^^^^^ >isString1 : (a: number, b: Object) => b is string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >0 : 0 > : ^ >c : Object diff --git a/tests/baselines/reference/typeGuardOfFormIsType.types b/tests/baselines/reference/typeGuardOfFormIsType.types index 5f17914e8ce98..f91abc018dbc4 100644 --- a/tests/baselines/reference/typeGuardOfFormIsType.types +++ b/tests/baselines/reference/typeGuardOfFormIsType.types @@ -83,7 +83,7 @@ str = isC1(c1Orc2) && c1Orc2.p1; // C1 >isC1(c1Orc2) : boolean > : ^^^^^^^ >isC1 : (x: any) => x is C1 -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c1Orc2 : C1 | C2 > : ^^^^^^^ >c1Orc2.p1 : string @@ -103,7 +103,7 @@ num = isC2(c1Orc2) && c1Orc2.p2; // C2 >isC2(c1Orc2) : boolean > : ^^^^^^^ >isC2 : (x: any) => x is C2 -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c1Orc2 : C1 | C2 > : ^^^^^^^ >c1Orc2.p2 : number @@ -123,7 +123,7 @@ str = isD1(c1Orc2) && c1Orc2.p1; // D1 >isD1(c1Orc2) : boolean > : ^^^^^^^ >isD1 : (x: any) => x is D1 -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c1Orc2 : C1 | C2 > : ^^^^^^^ >c1Orc2.p1 : string @@ -143,7 +143,7 @@ num = isD1(c1Orc2) && c1Orc2.p3; // D1 >isD1(c1Orc2) : boolean > : ^^^^^^^ >isD1 : (x: any) => x is D1 -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c1Orc2 : C1 | C2 > : ^^^^^^^ >c1Orc2.p3 : number @@ -167,7 +167,7 @@ num = isC2(c2Ord1) && c2Ord1.p2; // C2 >isC2(c2Ord1) : boolean > : ^^^^^^^ >isC2 : (x: any) => x is C2 -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c2Ord1 : C2 | D1 > : ^^^^^^^ >c2Ord1.p2 : number @@ -187,7 +187,7 @@ num = isD1(c2Ord1) && c2Ord1.p3; // D1 >isD1(c2Ord1) : boolean > : ^^^^^^^ >isD1 : (x: any) => x is D1 -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c2Ord1 : C2 | D1 > : ^^^^^^^ >c2Ord1.p3 : number @@ -207,7 +207,7 @@ str = isD1(c2Ord1) && c2Ord1.p1; // D1 >isD1(c2Ord1) : boolean > : ^^^^^^^ >isD1 : (x: any) => x is D1 -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c2Ord1 : C2 | D1 > : ^^^^^^^ >c2Ord1.p1 : string @@ -225,7 +225,7 @@ var r2: C2 | D1 = isC1(c2Ord1) && c2Ord1; // C2 | D1 >isC1(c2Ord1) : boolean > : ^^^^^^^ >isC1 : (x: any) => x is C1 -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c2Ord1 : C2 | D1 > : ^^^^^^^ >c2Ord1 : D1 diff --git a/tests/baselines/reference/typeGuardOfFormIsTypeOnInterfaces.types b/tests/baselines/reference/typeGuardOfFormIsTypeOnInterfaces.types index 31b46f6f9ee15..448fbd6385633 100644 --- a/tests/baselines/reference/typeGuardOfFormIsTypeOnInterfaces.types +++ b/tests/baselines/reference/typeGuardOfFormIsTypeOnInterfaces.types @@ -99,7 +99,7 @@ str = isC1(c1Orc2) && c1Orc2.p1; // C1 >isC1(c1Orc2) : boolean > : ^^^^^^^ >isC1 : (x: any) => x is C1 -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c1Orc2 : C1 | C2 > : ^^^^^^^ >c1Orc2.p1 : string @@ -119,7 +119,7 @@ num = isC2(c1Orc2) && c1Orc2.p2; // C2 >isC2(c1Orc2) : boolean > : ^^^^^^^ >isC2 : (x: any) => x is C2 -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c1Orc2 : C1 | C2 > : ^^^^^^^ >c1Orc2.p2 : number @@ -139,7 +139,7 @@ str = isD1(c1Orc2) && c1Orc2.p1; // D1 >isD1(c1Orc2) : boolean > : ^^^^^^^ >isD1 : (x: any) => x is D1 -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c1Orc2 : C1 | C2 > : ^^^^^^^ >c1Orc2.p1 : string @@ -159,7 +159,7 @@ num = isD1(c1Orc2) && c1Orc2.p3; // D1 >isD1(c1Orc2) : boolean > : ^^^^^^^ >isD1 : (x: any) => x is D1 -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c1Orc2 : C1 | C2 > : ^^^^^^^ >c1Orc2.p3 : number @@ -183,7 +183,7 @@ num = isC2(c2Ord1) && c2Ord1.p2; // C2 >isC2(c2Ord1) : boolean > : ^^^^^^^ >isC2 : (x: any) => x is C2 -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c2Ord1 : C2 | D1 > : ^^^^^^^ >c2Ord1.p2 : number @@ -203,7 +203,7 @@ num = isD1(c2Ord1) && c2Ord1.p3; // D1 >isD1(c2Ord1) : boolean > : ^^^^^^^ >isD1 : (x: any) => x is D1 -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c2Ord1 : C2 | D1 > : ^^^^^^^ >c2Ord1.p3 : number @@ -223,7 +223,7 @@ str = isD1(c2Ord1) && c2Ord1.p1; // D1 >isD1(c2Ord1) : boolean > : ^^^^^^^ >isD1 : (x: any) => x is D1 -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c2Ord1 : C2 | D1 > : ^^^^^^^ >c2Ord1.p1 : string @@ -241,7 +241,7 @@ var r2: C2 | D1 = isC1(c2Ord1) && c2Ord1; // C2 | D1 >isC1(c2Ord1) : boolean > : ^^^^^^^ >isC1 : (x: any) => x is C1 -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c2Ord1 : C2 | D1 > : ^^^^^^^ >c2Ord1 : D1 diff --git a/tests/baselines/reference/typeGuardOfFormTypeOfFunction.types b/tests/baselines/reference/typeGuardOfFormTypeOfFunction.types index 694b1937f346c..99e8317b18be7 100644 --- a/tests/baselines/reference/typeGuardOfFormTypeOfFunction.types +++ b/tests/baselines/reference/typeGuardOfFormTypeOfFunction.types @@ -100,7 +100,7 @@ function f5(x: { s: string }) { >typeof x : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { s: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >"function" : "function" > : ^^^^^^^^^^ @@ -122,13 +122,13 @@ function f6(x: () => string) { >typeof x : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >"function" : "function" > : ^^^^^^^^^^ x; // () => string >x : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } @@ -144,13 +144,13 @@ function f10(x: string | (() => string)) { >typeof x : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : string | (() => string) -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^ >"function" : "function" > : ^^^^^^^^^^ x; // () => string >x : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } else { x; // string @@ -173,18 +173,18 @@ function f11(x: { s: string } | (() => string)) { >typeof x : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { s: string; } | (() => string) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^ ^ >"function" : "function" > : ^^^^^^^^^^ x; // () => string >x : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } else { x; // { s: string } >x : { s: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ } } @@ -204,7 +204,7 @@ function f12(x: { s: string } | { n: number }) { >typeof x : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { s: string; } | { n: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >"function" : "function" > : ^^^^^^^^^^ @@ -215,7 +215,7 @@ function f12(x: { s: string } | { n: number }) { else { x; // { s: string } | { n: number } >x : { s: string; } | { n: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ } } @@ -223,7 +223,7 @@ function f12(x: { s: string } | { n: number }) { function f100(obj: T, keys: K[]) : void { >f100 : (obj: T, keys: K[]) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >obj : T > : ^ >keys : K[] @@ -258,11 +258,11 @@ function f100(obj: T, keys: K[]) : void { item.call(obj); >item.call(obj) : any >item.call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >item : T[K] & Function > : ^^^^^^^^^^^^^^^ >call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >obj : T > : ^ } @@ -272,7 +272,7 @@ function f100(obj: T, keys: K[]) : void { function configureStore(reducer: (() => void) | Record void>) { >configureStore : (reducer: (() => void) | Record void>) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >reducer : Record void> | (() => void) > : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^ @@ -286,17 +286,17 @@ function configureStore(reducer: (() => void) | Recordtypeof reducer : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >reducer : Record void> | (() => void) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^ >'function' : "function" > : ^^^^^^^^^^ rootReducer = reducer; >rootReducer = reducer : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >rootReducer : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >reducer : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } } diff --git a/tests/baselines/reference/typeGuardOfFormTypeOfIsOrderIndependent.types b/tests/baselines/reference/typeGuardOfFormTypeOfIsOrderIndependent.types index 3852ffd3f815e..1ace6048ad831 100644 --- a/tests/baselines/reference/typeGuardOfFormTypeOfIsOrderIndependent.types +++ b/tests/baselines/reference/typeGuardOfFormTypeOfIsOrderIndependent.types @@ -68,15 +68,15 @@ if ("function" === typeof strOrFunc) { >typeof strOrFunc : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >strOrFunc : string | (() => void) -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^ func = strOrFunc; >func = strOrFunc : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >func : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >strOrFunc : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } else { str = strOrFunc; diff --git a/tests/baselines/reference/typeGuardOfFormTypeOfPrimitiveSubtype.types b/tests/baselines/reference/typeGuardOfFormTypeOfPrimitiveSubtype.types index a4009ce8ac8eb..23b31ddc86115 100644 --- a/tests/baselines/reference/typeGuardOfFormTypeOfPrimitiveSubtype.types +++ b/tests/baselines/reference/typeGuardOfFormTypeOfPrimitiveSubtype.types @@ -66,7 +66,7 @@ if (typeof b === "number") { >typeof b : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >b : { toString(): string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >"number" : "number" > : ^^^^^^^^ @@ -82,7 +82,7 @@ if (typeof b === "string") { >typeof b : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >b : { toString(): string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >"string" : "string" > : ^^^^^^^^ @@ -98,7 +98,7 @@ if (typeof b === "boolean") { >typeof b : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >b : { toString(): string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >"boolean" : "boolean" > : ^^^^^^^^^ diff --git a/tests/baselines/reference/typeGuardOfFromPropNameInUnionType.types b/tests/baselines/reference/typeGuardOfFromPropNameInUnionType.types index 6cae8767b41ed..53cabd1ce8837 100644 --- a/tests/baselines/reference/typeGuardOfFromPropNameInUnionType.types +++ b/tests/baselines/reference/typeGuardOfFromPropNameInUnionType.types @@ -119,7 +119,7 @@ function anonymousClasses(x: { a: string; } | { b: number; }) { >"a" : "a" > : ^^^ >x : { a: string; } | { b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ let y: string = x.a; >y : string @@ -127,7 +127,7 @@ function anonymousClasses(x: { a: string; } | { b: number; }) { >x.a : string > : ^^^^^^ >x : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : string > : ^^^^^^ @@ -138,7 +138,7 @@ function anonymousClasses(x: { a: string; } | { b: number; }) { >x.b : number > : ^^^^^^ >x : { b: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : number > : ^^^^^^ } diff --git a/tests/baselines/reference/typeGuardRedundancy.types b/tests/baselines/reference/typeGuardRedundancy.types index 034199466153b..e0574ad51a2aa 100644 --- a/tests/baselines/reference/typeGuardRedundancy.types +++ b/tests/baselines/reference/typeGuardRedundancy.types @@ -7,9 +7,9 @@ var x: string|number; var r1 = typeof x === "string" && typeof x === "string" ? x.substr : x.toFixed; >r1 : ((from: number, length?: number) => string) | ((fractionDigits?: number) => string) -> : ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^ ^^^^^ ^^^^^^ ^^^ ^^^^^ ^ >typeof x === "string" && typeof x === "string" ? x.substr : x.toFixed : ((from: number, length?: number) => string) | ((fractionDigits?: number) => string) -> : ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^ ^^^^^ ^^^^^^ ^^^ ^^^^^ ^ >typeof x === "string" && typeof x === "string" : boolean > : ^^^^^^^ >typeof x === "string" : boolean @@ -29,23 +29,23 @@ var r1 = typeof x === "string" && typeof x === "string" ? x.substr : x.toFixed; >"string" : "string" > : ^^^^^^^^ >x.substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >x : string > : ^^^^^^ >substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var r2 = !(typeof x === "string" && typeof x === "string") ? x.toFixed : x.substr; >r2 : ((from: number, length?: number) => string) | ((fractionDigits?: number) => string) -> : ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^ ^^^^^ ^^^^^^ ^^^ ^^^^^ ^ >!(typeof x === "string" && typeof x === "string") ? x.toFixed : x.substr : ((from: number, length?: number) => string) | ((fractionDigits?: number) => string) -> : ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^ ^^^^^ ^^^^^^ ^^^ ^^^^^ ^ >!(typeof x === "string" && typeof x === "string") : boolean > : ^^^^^^^ >(typeof x === "string" && typeof x === "string") : boolean @@ -69,23 +69,23 @@ var r2 = !(typeof x === "string" && typeof x === "string") ? x.toFixed : x.subst >"string" : "string" > : ^^^^^^^^ >x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x.substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >x : string > : ^^^^^^ >substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ var r3 = typeof x === "string" || typeof x === "string" ? x.substr : x.toFixed; >r3 : ((from: number, length?: number) => string) | ((fractionDigits?: number) => string) -> : ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^ ^^^^^ ^^^^^^ ^^^ ^^^^^ ^ >typeof x === "string" || typeof x === "string" ? x.substr : x.toFixed : ((from: number, length?: number) => string) | ((fractionDigits?: number) => string) -> : ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^ ^^^^^ ^^^^^^ ^^^ ^^^^^ ^ >typeof x === "string" || typeof x === "string" : boolean > : ^^^^^^^ >typeof x === "string" : boolean @@ -105,23 +105,23 @@ var r3 = typeof x === "string" || typeof x === "string" ? x.substr : x.toFixed; >"string" : "string" > : ^^^^^^^^ >x.substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >x : string > : ^^^^^^ >substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ var r4 = !(typeof x === "string" || typeof x === "string") ? x.toFixed : x.substr; >r4 : ((from: number, length?: number) => string) | ((fractionDigits?: number) => string) -> : ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^ ^^^^^ ^^^^^^ ^^^ ^^^^^ ^ >!(typeof x === "string" || typeof x === "string") ? x.toFixed : x.substr : ((from: number, length?: number) => string) | ((fractionDigits?: number) => string) -> : ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^ ^^^^^ ^^^^^^ ^^^ ^^^^^ ^ >!(typeof x === "string" || typeof x === "string") : boolean > : ^^^^^^^ >(typeof x === "string" || typeof x === "string") : boolean @@ -145,15 +145,15 @@ var r4 = !(typeof x === "string" || typeof x === "string") ? x.toFixed : x.subst >"string" : "string" > : ^^^^^^^^ >x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x.substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >x : string > : ^^^^^^ >substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/typeGuardsAsAssertions.types b/tests/baselines/reference/typeGuardsAsAssertions.types index aef909ad90c31..a012e895329a2 100644 --- a/tests/baselines/reference/typeGuardsAsAssertions.types +++ b/tests/baselines/reference/typeGuardsAsAssertions.types @@ -95,7 +95,7 @@ export function fn(makeSome: () => r): void { >isSome(result) : boolean > : ^^^^^^^ >isSome : (value: Optional) => value is Some -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >result : Optional > : ^^^^^^^^^^^ >result.some : r @@ -107,7 +107,7 @@ export function fn(makeSome: () => r): void { >makeSome() : r > : ^ >makeSome : () => r -> : ^^^^^^^ +> : ^^^^^^ result; // Some >result : Some @@ -155,11 +155,11 @@ function foo1() { >x.slice() : string > : ^^^^^^ >x.slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >x : string > : ^^^^^^ >slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >"abc" : "abc" > : ^^^^^ @@ -212,11 +212,11 @@ function foo2() { >x.slice() : string > : ^^^^^^ >x.slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >x : string > : ^^^^^^ >slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ } else { x = "abc"; @@ -410,13 +410,13 @@ function f6() { >x!.slice() : string > : ^^^^^^ >x!.slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >x! : string > : ^^^^^^ >x : string | null | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ x = ""; >x = "" : "" @@ -430,13 +430,13 @@ function f6() { >x!.slice() : string > : ^^^^^^ >x!.slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >x! : string > : ^^^^^^ >x : string > : ^^^^^^ >slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ x = undefined; >x = undefined : undefined @@ -450,13 +450,13 @@ function f6() { >x!.slice() : string > : ^^^^^^ >x!.slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >x! : string > : ^^^^^^ >x : string | null | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ x = null; >x = null : null @@ -468,13 +468,13 @@ function f6() { >x!.slice() : string > : ^^^^^^ >x!.slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >x! : string > : ^^^^^^ >x : string | null | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ x = undefined; >x = undefined : null | undefined @@ -490,13 +490,13 @@ function f6() { >x!.slice() : string > : ^^^^^^ >x!.slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >x! : string > : ^^^^^^ >x : string | null | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ x = ""; >x = "" : string | undefined @@ -512,13 +512,13 @@ function f6() { >x!.slice() : string > : ^^^^^^ >x!.slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >x! : string > : ^^^^^^ >x : string | undefined > : ^^^^^^^^^^^^^^^^^^ >slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ x = ""; >x = "" : string | null @@ -534,13 +534,13 @@ function f6() { >x!.slice() : string > : ^^^^^^ >x!.slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >x! : string > : ^^^^^^ >x : string | null > : ^^^^^^^^^^^^^ >slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ } function f7() { @@ -555,12 +555,12 @@ function f7() { >x!.slice() : string > : ^^^^^^ >x!.slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ >x! : string > : ^^^^^^ >x : string > : ^^^^^^ >slice : (start?: number, end?: number) => string -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^ } diff --git a/tests/baselines/reference/typeGuardsInConditionalExpression.types b/tests/baselines/reference/typeGuardsInConditionalExpression.types index da39222b73dc8..e5dfece3657f2 100644 --- a/tests/baselines/reference/typeGuardsInConditionalExpression.types +++ b/tests/baselines/reference/typeGuardsInConditionalExpression.types @@ -477,11 +477,11 @@ function foo10(x: number | string | boolean) { >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } function foo11(x: number | string | boolean) { >foo11 : (x: number | string | boolean) => string | number @@ -593,11 +593,11 @@ function foo12(x: number | string | boolean) { >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >length : number > : ^^^^^^ diff --git a/tests/baselines/reference/typeGuardsInFunctionAndModuleBlock.types b/tests/baselines/reference/typeGuardsInFunctionAndModuleBlock.types index fb7bda609d863..3b05fdcbc0927 100644 --- a/tests/baselines/reference/typeGuardsInFunctionAndModuleBlock.types +++ b/tests/baselines/reference/typeGuardsInFunctionAndModuleBlock.types @@ -55,21 +55,21 @@ function foo(x: number | string | boolean) { >x.toString() : string > : ^^^^^^ >x.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : boolean > : ^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ : x.toString(); // number >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } (); } @@ -127,21 +127,21 @@ function foo2(x: number | string | boolean) { >x.toString() : string > : ^^^^^^ >x.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : boolean > : ^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ : x.toString(); // number >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } (x); // x here is narrowed to number | boolean >x : number | boolean @@ -199,21 +199,21 @@ function foo3(x: number | string | boolean) { >x.toString() : string > : ^^^^^^ >x.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : boolean > : ^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ : x.toString(); // number >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ })(); } @@ -271,21 +271,21 @@ function foo4(x: number | string | boolean) { >x.toString() : string > : ^^^^^^ >x.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : boolean > : ^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ : x.toString(); // number >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ })(x); // x here is narrowed to number | boolean >x : number | boolean @@ -387,21 +387,21 @@ module m { >x.toString() : string > : ^^^^^^ >x.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : boolean > : ^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ : x.toString(); // number >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } } } @@ -468,21 +468,21 @@ module m1 { >x.toString() : string > : ^^^^^^ >x.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : boolean > : ^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ : x.toString(); // number >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } } } diff --git a/tests/baselines/reference/typeGuardsInIfStatement.types b/tests/baselines/reference/typeGuardsInIfStatement.types index 95a2b83831214..88910ed2c24fd 100644 --- a/tests/baselines/reference/typeGuardsInIfStatement.types +++ b/tests/baselines/reference/typeGuardsInIfStatement.types @@ -495,11 +495,11 @@ function foo11(x: number | string | boolean) { >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ) : ( @@ -519,11 +519,11 @@ function foo11(x: number | string | boolean) { >x.toString() : string > : ^^^^^^ >x.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : true > : ^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ ); } @@ -550,11 +550,11 @@ function foo12(x: number | string | boolean) { >x.toString() : string > : ^^^^^^ >x.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : string > : ^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } else { x = 10; @@ -587,11 +587,11 @@ function foo12(x: number | string | boolean) { >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ : x.toString(); // boolean | string >x.toString() : any diff --git a/tests/baselines/reference/typeGuardsInProperties.types b/tests/baselines/reference/typeGuardsInProperties.types index ae5933d1616e7..21e8dbe7998dd 100644 --- a/tests/baselines/reference/typeGuardsInProperties.types +++ b/tests/baselines/reference/typeGuardsInProperties.types @@ -195,7 +195,7 @@ strOrNum = typeof obj1.x === "string" && obj1.x; // string | number >obj1.x : string | number > : ^^^^^^^^^^^^^^^ >obj1 : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : string | number > : ^^^^^^^^^^^^^^^ >"string" : "string" @@ -203,7 +203,7 @@ strOrNum = typeof obj1.x === "string" && obj1.x; // string | number >obj1.x : string > : ^^^^^^ >obj1 : { x: string | number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : string > : ^^^^^^ diff --git a/tests/baselines/reference/typeGuardsInRightOperandOfAndAndOperator.types b/tests/baselines/reference/typeGuardsInRightOperandOfAndAndOperator.types index b8f454b8c5b2a..7d6e822d4654a 100644 --- a/tests/baselines/reference/typeGuardsInRightOperandOfAndAndOperator.types +++ b/tests/baselines/reference/typeGuardsInRightOperandOfAndAndOperator.types @@ -301,11 +301,11 @@ function foo7(x: number | string | boolean) { >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ // do not change value : ((y = x) && x.toString()))); // x is boolean @@ -324,10 +324,10 @@ function foo7(x: number | string | boolean) { >x.toString() : string > : ^^^^^^ >x.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : true > : ^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/typeGuardsInRightOperandOfOrOrOperator.types b/tests/baselines/reference/typeGuardsInRightOperandOfOrOrOperator.types index 03ad85630d150..6021cf4fbf12e 100644 --- a/tests/baselines/reference/typeGuardsInRightOperandOfOrOrOperator.types +++ b/tests/baselines/reference/typeGuardsInRightOperandOfOrOrOperator.types @@ -302,11 +302,11 @@ function foo7(x: number | string | boolean) { >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ // do not change value : ((y = x) && x.toString()))); // number | boolean | string @@ -325,10 +325,10 @@ function foo7(x: number | string | boolean) { >x.toString() : string > : ^^^^^^ >x.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : true > : ^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/typeGuardsNestedAssignments.types b/tests/baselines/reference/typeGuardsNestedAssignments.types index f42a482fd4573..069a2e6612356 100644 --- a/tests/baselines/reference/typeGuardsNestedAssignments.types +++ b/tests/baselines/reference/typeGuardsNestedAssignments.types @@ -38,7 +38,7 @@ function f1() { >getFooOrNull() : Foo | null > : ^^^^^^^^^^ >getFooOrNull : () => Foo | null -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^ foo; // Foo >foo : Foo @@ -72,7 +72,7 @@ function f2() { >getFooOrNull() : Foo | null > : ^^^^^^^^^^ >getFooOrNull : () => Foo | null -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^ >foo2 = foo1 : Foo | null > : ^^^^^^^^^^ >foo2 : Foo | null @@ -110,7 +110,7 @@ function f3() { >getFooOrNull() : Foo | null > : ^^^^^^^^^^ >getFooOrNull : () => Foo | null -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^ >Foo : typeof Foo > : ^^^^^^^^^^ @@ -142,7 +142,7 @@ function f4() { >getStringOrNumberOrNull() : string | number | null > : ^^^^^^^^^^^^^^^^^^^^^^ >getStringOrNumberOrNull : () => string | number | null -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >"number" : "number" > : ^^^^^^^^ @@ -176,11 +176,11 @@ while ((match = re.exec("xxx")) != null) { >re.exec("xxx") : RegExpExecArray | null > : ^^^^^^^^^^^^^^^^^^^^^^ >re.exec : (string: string) => RegExpExecArray | null -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >re : RegExp > : ^^^^^^ >exec : (string: string) => RegExpExecArray | null -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"xxx" : "xxx" > : ^^^^^ diff --git a/tests/baselines/reference/typeGuardsOnClassProperty.types b/tests/baselines/reference/typeGuardsOnClassProperty.types index 90f22b0cd8e3c..dbdf7dcca523d 100644 --- a/tests/baselines/reference/typeGuardsOnClassProperty.types +++ b/tests/baselines/reference/typeGuardsOnClassProperty.types @@ -44,11 +44,11 @@ class D { >data.join(" ") : string > : ^^^^^^ >data.join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >data : string[] > : ^^^^^^^^ >join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >" " : " " > : ^^^ } @@ -81,7 +81,7 @@ class D { >this.data.join(" ") : string > : ^^^^^^ >this.data.join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >this.data : string[] > : ^^^^^^^^ >this : this @@ -89,7 +89,7 @@ class D { >data : string[] > : ^^^^^^^^ >join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >" " : " " > : ^^^ } @@ -133,8 +133,8 @@ if (typeof o.prop1 === "string" && o.prop1.toLowerCase()) {} > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >o.prop1 : string | number > : ^^^^^^^^^^^^^^^ ->o : { prop1: string | number; prop2: string | boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>o : { prop1: number | string; prop2: boolean | string; } +> : ^^^^^^^^^ ^^^^^^^^^ ^^^ >prop1 : string | number > : ^^^^^^^^^^^^^^^ >"string" : "string" @@ -142,23 +142,23 @@ if (typeof o.prop1 === "string" && o.prop1.toLowerCase()) {} >o.prop1.toLowerCase() : string > : ^^^^^^ >o.prop1.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >o.prop1 : string > : ^^^^^^ ->o : { prop1: string | number; prop2: string | boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>o : { prop1: number | string; prop2: boolean | string; } +> : ^^^^^^^^^ ^^^^^^^^^ ^^^ >prop1 : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var prop1 = o.prop1; >prop1 : string | number > : ^^^^^^^^^^^^^^^ >o.prop1 : string | number > : ^^^^^^^^^^^^^^^ ->o : { prop1: string | number; prop2: string | boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>o : { prop1: number | string; prop2: boolean | string; } +> : ^^^^^^^^^ ^^^^^^^^^ ^^^ >prop1 : string | number > : ^^^^^^^^^^^^^^^ @@ -176,9 +176,9 @@ if (typeof prop1 === "string" && prop1.toLocaleLowerCase()) { } >prop1.toLocaleLowerCase() : string > : ^^^^^^ >prop1.toLocaleLowerCase : (locales?: string | string[]) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >prop1 : string > : ^^^^^^ >toLocaleLowerCase : (locales?: string | string[]) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/typeGuardsTypeParameters.types b/tests/baselines/reference/typeGuardsTypeParameters.types index 181d647ea02f6..9c5285d315653 100644 --- a/tests/baselines/reference/typeGuardsTypeParameters.types +++ b/tests/baselines/reference/typeGuardsTypeParameters.types @@ -130,11 +130,11 @@ function fun(item: { [P in keyof T]: T[P] }) { >strings.push(value) : number > : ^^^^^^ >strings.push : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >strings : string[] > : ^^^^^^^^ >push : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >value : { [P in keyof T]: T[P]; }[Extract] & string > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/typeGuardsWithInstanceOfByConstructorSignature.types b/tests/baselines/reference/typeGuardsWithInstanceOfByConstructorSignature.types index ead83b478a5aa..3cf06c72adecd 100644 --- a/tests/baselines/reference/typeGuardsWithInstanceOfByConstructorSignature.types +++ b/tests/baselines/reference/typeGuardsWithInstanceOfByConstructorSignature.types @@ -324,7 +324,7 @@ if (obj7 instanceof D) { // narrowed to D. >obj7 : string | D > : ^^^^^^^^^^ >D : new () => D -> : ^^^^^^^^^^^ +> : ^^^^^^^^^^ obj7.foo; >obj7.foo : string @@ -353,7 +353,7 @@ if (obj8 instanceof D) { >obj8 : any > : ^^^ >D : new () => D -> : ^^^^^^^^^^^ +> : ^^^^^^^^^^ obj8.foo; >obj8.foo : string diff --git a/tests/baselines/reference/typeGuardsWithInstanceOfBySymbolHasInstance.types b/tests/baselines/reference/typeGuardsWithInstanceOfBySymbolHasInstance.types index cda4b00222067..f0f867b8e235f 100644 --- a/tests/baselines/reference/typeGuardsWithInstanceOfBySymbolHasInstance.types +++ b/tests/baselines/reference/typeGuardsWithInstanceOfBySymbolHasInstance.types @@ -373,7 +373,7 @@ if (obj7 instanceof D) { // narrowed to D. >obj7 : string | D > : ^^^^^^^^^^ >D : { new (): D; [Symbol.hasInstance](value: unknown): value is D; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ obj7.foo; >obj7.foo : string @@ -402,7 +402,7 @@ if (obj8 instanceof D) { >obj8 : any > : ^^^ >D : { new (): D; [Symbol.hasInstance](value: unknown): value is D; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ obj8.foo; >obj8.foo : string diff --git a/tests/baselines/reference/typeInferenceCacheInvalidation.types b/tests/baselines/reference/typeInferenceCacheInvalidation.types index ab6412364a8f6..0702dd8a16bcf 100644 --- a/tests/baselines/reference/typeInferenceCacheInvalidation.types +++ b/tests/baselines/reference/typeInferenceCacheInvalidation.types @@ -13,7 +13,7 @@ type Callback = (foo: TFoo, bar: TBar) => any declare function example>( >example : >(foo: TFoo, callback: TCallback, bar: TBar) => TCallback -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ foo: TFoo, >foo : TFoo @@ -33,7 +33,7 @@ example(42, (foo, bar) => ({ >example(42, (foo, bar) => ({ t: () => { let s: string = bar; }}), '42') : (foo: number, bar: string) => { t: () => void; } > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >example : >(foo: TFoo, callback: TCallback, bar: TBar) => TCallback -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >42 : 42 > : ^^ >(foo, bar) => ({ t: () => { let s: string = bar; }}) : (foo: number, bar: string) => { t: () => void; } @@ -67,7 +67,7 @@ example(42, (foo, bar) => ({ >example(42, (foo, bar) => ({ t() { let s: string = bar; }}), '42') : (foo: number, bar: string) => { t(): void; } > : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >example : >(foo: TFoo, callback: TCallback, bar: TBar) => TCallback -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >42 : 42 > : ^^ >(foo, bar) => ({ t() { let s: string = bar; }}) : (foo: number, bar: string) => { t(): void; } diff --git a/tests/baselines/reference/typeInferenceConflictingCandidates.types b/tests/baselines/reference/typeInferenceConflictingCandidates.types index 481a2767233fd..85e886441ef71 100644 --- a/tests/baselines/reference/typeInferenceConflictingCandidates.types +++ b/tests/baselines/reference/typeInferenceConflictingCandidates.types @@ -17,7 +17,7 @@ g("", 3, a => a); >g("", 3, a => a) : "" > : ^^ >g : (a: T, b: T, c: (t: T) => T) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >"" : "" > : ^^ >3 : 3 diff --git a/tests/baselines/reference/typeInferenceFBoundedTypeParams.types b/tests/baselines/reference/typeInferenceFBoundedTypeParams.types index 79b30e5a7f25a..2864fcc53ac3a 100644 --- a/tests/baselines/reference/typeInferenceFBoundedTypeParams.types +++ b/tests/baselines/reference/typeInferenceFBoundedTypeParams.types @@ -31,7 +31,7 @@ function fold(values: a[], result: r, fold: (result: r, value: a) => r): r >fold(result, value) : r > : ^ >fold : (result: r, value: a) => r -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >result : r > : ^ >value : a @@ -44,7 +44,7 @@ function fold(values: a[], result: r, fold: (result: r, value: a) => r): r function append(values: a[], value: b): a[] { >append : (values: a[], value: b) => a[] -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >values : a[] > : ^^^ >value : b @@ -54,11 +54,11 @@ function append(values: a[], value: b): a[] { >values.push(value) : number > : ^^^^^^ >values.push : (...items: a[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^ >values : a[] > : ^^^ >push : (...items: a[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^ >value : b > : ^ @@ -71,7 +71,7 @@ fold( >fold( [1, 2, 3], [] as [string, string][], (result, value) => append( result, ["", ""] )) : [string, string][] > : ^^^^^^^^^^^^^^^^^^ >fold : (values: a[], result: r, fold: (result: r, value: a) => r) => r -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ [1, 2, 3], >[1, 2, 3] : number[] @@ -99,7 +99,7 @@ fold( >append( result, ["", ""] ) : [string, string][] > : ^^^^^^^^^^^^^^^^^^ >append : (values: a[], value: b) => a[] -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ result, >result : [string, string][] diff --git a/tests/baselines/reference/typeInferenceFixEarly.types b/tests/baselines/reference/typeInferenceFixEarly.types index 882b773425a38..97bfffd225925 100644 --- a/tests/baselines/reference/typeInferenceFixEarly.types +++ b/tests/baselines/reference/typeInferenceFixEarly.types @@ -13,7 +13,7 @@ f(n => 3); >f(n => 3) : unknown > : ^^^^^^^ >f : (p: (t: T) => T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >n => 3 : (n: unknown) => number > : ^ ^^^^^^^^^^^^^^^^^^^^ >n : unknown diff --git a/tests/baselines/reference/typeInferenceLiteralUnion.types b/tests/baselines/reference/typeInferenceLiteralUnion.types index 0f7860d42a910..bd30c26b08216 100644 --- a/tests/baselines/reference/typeInferenceLiteralUnion.types +++ b/tests/baselines/reference/typeInferenceLiteralUnion.types @@ -62,7 +62,7 @@ class NumCoercible { */ export function extent(array: Array): [T | Primitive, T | Primitive] | [undefined, undefined] { >extent : (array: Array) => [T | Primitive, T | Primitive] | [undefined, undefined] -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >array : (Primitive | T)[] > : ^^^^^^^^^^^^^^^^^ @@ -87,8 +87,8 @@ extentMixed = extent([new NumCoercible(10), 13, '12', true]); > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >extent([new NumCoercible(10), 13, '12', true]) : [undefined, undefined] | [Primitive | NumCoercible, Primitive | NumCoercible] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->extent : (array: Array) => [Primitive | T, Primitive | T] | [undefined, undefined] -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>extent : (array: Array) => [T | Primitive, T | Primitive] | [undefined, undefined] +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >[new NumCoercible(10), 13, '12', true] : (string | number | true | NumCoercible)[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >new NumCoercible(10) : NumCoercible diff --git a/tests/baselines/reference/typeInferenceReturnTypeCallback.types b/tests/baselines/reference/typeInferenceReturnTypeCallback.types index 9377a7ad0e11c..200d09ff59139 100644 --- a/tests/baselines/reference/typeInferenceReturnTypeCallback.types +++ b/tests/baselines/reference/typeInferenceReturnTypeCallback.types @@ -43,11 +43,11 @@ class Cons implements IList{ >this.foldRight(new Nil(), (t, acc) => { return new Cons(); }) : Nil > : ^^^^^^ >this.foldRight : (z: E, f: (t: T, acc: E) => E) => E -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >foldRight : (z: E, f: (t: T, acc: E) => E) => E -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >new Nil() : Nil > : ^^^^^^ >Nil : typeof Nil diff --git a/tests/baselines/reference/typeInferenceTypePredicate.types b/tests/baselines/reference/typeInferenceTypePredicate.types index abeb6f42bc026..61e3d604a7fea 100644 --- a/tests/baselines/reference/typeInferenceTypePredicate.types +++ b/tests/baselines/reference/typeInferenceTypePredicate.types @@ -16,7 +16,7 @@ const res = f((n): n is number => true); >f((n): n is number => true) : number > : ^^^^^^ >f : (predicate: (x: {}) => x is T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >(n): n is number => true : (n: {}) => n is number > : ^ ^^^^^^^^^ >n : {} diff --git a/tests/baselines/reference/typeInferenceTypePredicate2.types b/tests/baselines/reference/typeInferenceTypePredicate2.types index ed9b0f4b954d2..1906a7c824a06 100644 --- a/tests/baselines/reference/typeInferenceTypePredicate2.types +++ b/tests/baselines/reference/typeInferenceTypePredicate2.types @@ -5,11 +5,11 @@ >[true, true, false, null] .filter((thing): thing is boolean => thing !== null) .map(thing => thing.toString()) : string[] > : ^^^^^^^^ >[true, true, false, null] .filter((thing): thing is boolean => thing !== null) .map : (callbackfn: (value: boolean, index: number, array: boolean[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >[true, true, false, null] .filter((thing): thing is boolean => thing !== null) : boolean[] > : ^^^^^^^^^ >[true, true, false, null] .filter : { (predicate: (value: boolean, index: number, array: boolean[]) => value is S, thisArg?: any): S[]; (predicate: (value: boolean, index: number, array: boolean[]) => unknown, thisArg?: any): boolean[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^^ >[true, true, false, null] : boolean[] > : ^^^^^^^^^ >true : true @@ -21,7 +21,7 @@ .filter((thing): thing is boolean => thing !== null) >filter : { (predicate: (value: boolean, index: number, array: boolean[]) => value is S, thisArg?: any): S[]; (predicate: (value: boolean, index: number, array: boolean[]) => unknown, thisArg?: any): boolean[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^^ >(thing): thing is boolean => thing !== null : (thing: boolean) => thing is boolean > : ^ ^^^^^^^^^^^^^^ >thing : boolean @@ -33,7 +33,7 @@ .map(thing => thing.toString()); >map : (callbackfn: (value: boolean, index: number, array: boolean[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >thing => thing.toString() : (thing: boolean) => string > : ^ ^^^^^^^^^^^^^^^^^^^^ >thing : boolean @@ -41,9 +41,9 @@ >thing.toString() : string > : ^^^^^^ >thing.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >thing : boolean > : ^^^^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/typeInferenceWithExcessProperties.types b/tests/baselines/reference/typeInferenceWithExcessProperties.types index d3b28c00cbb27..055932151ddb0 100644 --- a/tests/baselines/reference/typeInferenceWithExcessProperties.types +++ b/tests/baselines/reference/typeInferenceWithExcessProperties.types @@ -11,7 +11,7 @@ interface Named { function parrot(obj: T): T { >parrot : (obj: T) => T -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >obj : T > : ^ @@ -25,7 +25,7 @@ parrot({ >parrot({ name: "TypeScript",}) : { name: string; } > : ^^^^^^^^^^^^^^^^^ >parrot : (obj: T) => T -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ name: "TypeScript",} : { name: string; } > : ^^^^^^^^^^^^^^^^^ @@ -41,7 +41,7 @@ parrot({ >parrot({ name: "TypeScript", age: 5,}) : { name: string; age: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >parrot : (obj: T) => T -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ name: "TypeScript", age: 5,} : { name: string; age: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -63,7 +63,7 @@ parrot({ >parrot({ name: "TypeScript", age: function () { },}) : { name: string; age: () => void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >parrot : (obj: T) => T -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ name: "TypeScript", age: function () { },} : { name: string; age: () => void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -85,7 +85,7 @@ parrot({ >parrot({ name: "TypeScript", sayHello() { },}) : { name: string; sayHello(): void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >parrot : (obj: T) => T -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ name: "TypeScript", sayHello() { },} : { name: string; sayHello(): void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/typeInferenceWithExcessPropertiesJsx.types b/tests/baselines/reference/typeInferenceWithExcessPropertiesJsx.types index 65d341875a544..a62330af4055b 100644 --- a/tests/baselines/reference/typeInferenceWithExcessPropertiesJsx.types +++ b/tests/baselines/reference/typeInferenceWithExcessPropertiesJsx.types @@ -56,7 +56,7 @@ type TProps = { declare function T( >T : (props: TProps) => JSX.Element -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ props: TProps >props : TProps @@ -70,19 +70,19 @@ declare function T( > allTranslations.a} args="a" /> : JSX.Element > : ^^^^^^^^^^^ >T : (props: TProps) => JSX.Element -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >getTranslationEntry : (allTranslations: Translations) => { args: [string]; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >(allTranslations) => allTranslations.a : (allTranslations: Translations) => { args: [string]; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >allTranslations : Translations > : ^^^^^^^^^^^^ >allTranslations.a : { args: [string]; } -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >allTranslations : Translations > : ^^^^^^^^^^^^ >a : { args: [string]; } -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >args : string > : ^^^^^^ diff --git a/tests/baselines/reference/typeInferenceWithTupleType.types b/tests/baselines/reference/typeInferenceWithTupleType.types index 6c805c41e359e..7e88b7f79b7cc 100644 --- a/tests/baselines/reference/typeInferenceWithTupleType.types +++ b/tests/baselines/reference/typeInferenceWithTupleType.types @@ -24,7 +24,7 @@ var combineResult = combine("string", 10); >combine("string", 10) : [string, number] > : ^^^^^^^^^^^^^^^^ >combine : (x: T, y: U) => [T, U] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >"string" : "string" > : ^^^^^^^^ >10 : 10 @@ -118,11 +118,11 @@ function zip(array1: T[], array2: U[]): [[T, U]] { >zipResult.push([array1[i], array2[i]]) : number > : ^^^^^^ >zipResult.push : (...items: [T, U][]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >zipResult : [[T, U]] > : ^^^^^^^^ >push : (...items: [T, U][]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >[array1[i], array2[i]] : [T, U] > : ^^^^^^ >array1[i] : T @@ -149,7 +149,7 @@ var zipResult = zip(["foo", "bar"], [5, 6]); >zip(["foo", "bar"], [5, 6]) : [[string, number]] > : ^^^^^^^^^^^^^^^^^^ >zip : (array1: T[], array2: U[]) => [[T, U]] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >["foo", "bar"] : string[] > : ^^^^^^^^ >"foo" : "foo" @@ -213,7 +213,7 @@ expected = f1(undefined as ["a"[], "b"[]]); >f1(undefined as ["a"[], "b"[]]) : "a" > : ^^^ >f1 : (values: [T1[], T2[]]) => T1 -> : ^ ^^ ^^ ^^ ^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >undefined as ["a"[], "b"[]] : ["a"[], "b"[]] > : ^^^^^^^^^^^^^^ >undefined : undefined @@ -227,7 +227,7 @@ expected = f2(undefined as ["a"[], "b"[]]); >f2(undefined as ["a"[], "b"[]]) : "a" > : ^^^ >f2 : (values: readonly [T1[], T2[]]) => T1 -> : ^ ^^ ^^ ^^ ^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >undefined as ["a"[], "b"[]] : ["a"[], "b"[]] > : ^^^^^^^^^^^^^^ >undefined : undefined diff --git a/tests/baselines/reference/typeInferenceWithTypeAnnotation.types b/tests/baselines/reference/typeInferenceWithTypeAnnotation.types index 2ca4e07c2e132..9bc063adbca4c 100644 --- a/tests/baselines/reference/typeInferenceWithTypeAnnotation.types +++ b/tests/baselines/reference/typeInferenceWithTypeAnnotation.types @@ -13,7 +13,7 @@ f((n: number) => n); >f((n: number) => n) : number > : ^^^^^^ >f : (p: (t: T) => T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >(n: number) => n : (n: number) => number > : ^ ^^ ^^^^^^^^^^^ >n : number diff --git a/tests/baselines/reference/typeLiteralCallback.types b/tests/baselines/reference/typeLiteralCallback.types index a53a02077ecb5..8727ec9acdd10 100644 --- a/tests/baselines/reference/typeLiteralCallback.types +++ b/tests/baselines/reference/typeLiteralCallback.types @@ -37,11 +37,11 @@ test.fail(arg => foo.reject(arg)); >test.fail(arg => foo.reject(arg)) : void > : ^^^^ >test.fail : (func: (arg: string) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^ ^^^^^ >test : bar > : ^^^^^^^^^^^ >fail : (func: (arg: string) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^ ^^^^^ >arg => foo.reject(arg) : (arg: string) => void > : ^ ^^^^^^^^^^^^^^^^^ >arg : string @@ -49,11 +49,11 @@ test.fail(arg => foo.reject(arg)); >foo.reject(arg) : void > : ^^^^ >foo.reject : (arg: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >foo : Foo > : ^^^^^^^^^^^ >reject : (arg: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >arg : string > : ^^^^^^ @@ -61,11 +61,11 @@ test.fail2(arg => foo.reject(arg)); // Should be OK. Was: Error: Supplied para >test.fail2(arg => foo.reject(arg)) : void > : ^^^^ >test.fail2 : (func: (arg: string) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^ ^^^^^ >test : bar > : ^^^^^^^^^^^ >fail2 : (func: (arg: string) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^ ^^^^^ >arg => foo.reject(arg) : (arg: string) => void > : ^ ^^^^^^^^^^^^^^^^^ >arg : string @@ -73,11 +73,11 @@ test.fail2(arg => foo.reject(arg)); // Should be OK. Was: Error: Supplied para >foo.reject(arg) : void > : ^^^^ >foo.reject : (arg: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >foo : Foo > : ^^^^^^^^^^^ >reject : (arg: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >arg : string > : ^^^^^^ diff --git a/tests/baselines/reference/typeMatch1.types b/tests/baselines/reference/typeMatch1.types index 6e10c4adc5165..4b11351c1160a 100644 --- a/tests/baselines/reference/typeMatch1.types +++ b/tests/baselines/reference/typeMatch1.types @@ -15,11 +15,11 @@ var x1: { z: number; f(n: number): string; f(s: string): number; } >z : number > : ^^^^^^ >f : { (n: number): string; (s: string): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ >f : { (n: number): string; (s: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ @@ -35,7 +35,7 @@ var x2: { z:number;f:{(n:number):string;(s:string):number;}; } = x1; >s : string > : ^^^^^^ >x1 : { z: number; f(n: number): string; f(s: string): number; } -> : ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^ ^^^^ ^^ ^^^ ^^^^ ^^ ^^^ ^^^ var i:I; >i : I diff --git a/tests/baselines/reference/typeName1.types b/tests/baselines/reference/typeName1.types index 29415cc362a28..e74d94c737fef 100644 --- a/tests/baselines/reference/typeName1.types +++ b/tests/baselines/reference/typeName1.types @@ -23,11 +23,11 @@ var x1:{ f(s:string):number;f(n:number):string; }=3; >x1 : { f(s: string): number; f(n: number): string; } > : ^^^^ ^^ ^^^ ^^^^ ^^ ^^^ ^^^ >f : { (s: string): number; (n: number): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ >f : { (s: string): number; (n: number): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ >3 : 3 @@ -63,11 +63,11 @@ var x4:{ x;y;z:number;f(n:number):string;f(s:string):number; }=3; >z : number > : ^^^^^^ >f : { (n: number): string; (s: string): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ >f : { (n: number): string; (s: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ >3 : 3 @@ -87,11 +87,11 @@ var x5:{ (s:string):number;(n:number):string;x;y;z:number;f(n:number):string;f(s >z : number > : ^^^^^^ >f : { (n: number): string; (s: string): number; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ >f : { (n: number): string; (s: string): number; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ >3 : 3 diff --git a/tests/baselines/reference/typeOfOnTypeArg.types b/tests/baselines/reference/typeOfOnTypeArg.types index 50e09fa3b85d9..a61d552a025f4 100644 --- a/tests/baselines/reference/typeOfOnTypeArg.types +++ b/tests/baselines/reference/typeOfOnTypeArg.types @@ -12,8 +12,8 @@ var A = { '': 3 }; > : ^ function fill(f: B) { ->fill : (f: B) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>fill : (f: B) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >A : { '': number; } > : ^^^^^^^^^^^^^^^ >f : B @@ -24,8 +24,8 @@ function fill(f: B) { fill(32); >fill(32) : void > : ^^^^ ->fill : (f: B) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>fill : (f: B) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >32 : 32 > : ^^ diff --git a/tests/baselines/reference/typeOfThisInInstanceMember.types b/tests/baselines/reference/typeOfThisInInstanceMember.types index 1644cd873a7b9..778004f41e4cd 100644 --- a/tests/baselines/reference/typeOfThisInInstanceMember.types +++ b/tests/baselines/reference/typeOfThisInInstanceMember.types @@ -147,11 +147,11 @@ rs.forEach(x => { >rs.forEach(x => { x.foo; x.x; x.y;}) : void > : ^^^^ >rs.forEach : (callbackfn: (value: C, index: number, array: C[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^^^ >rs : C[] > : ^^^ >forEach : (callbackfn: (value: C, index: number, array: C[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^^^ >x => { x.foo; x.x; x.y;} : (x: C) => void > : ^ ^^^^^^^^^^^^ >x : C diff --git a/tests/baselines/reference/typeOfThisInInstanceMember2.types b/tests/baselines/reference/typeOfThisInInstanceMember2.types index 28bdaab97c12d..15773c519c75d 100644 --- a/tests/baselines/reference/typeOfThisInInstanceMember2.types +++ b/tests/baselines/reference/typeOfThisInInstanceMember2.types @@ -161,11 +161,11 @@ rs.forEach(x => { >rs.forEach(x => { x.foo; x.x; x.y; x.z;}) : void > : ^^^^ >rs.forEach : (callbackfn: (value: C, index: number, array: C[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >rs : C[] > : ^^^^^^^^^^^ >forEach : (callbackfn: (value: C, index: number, array: C[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ >x => { x.foo; x.x; x.y; x.z;} : (x: C) => void > : ^ ^^^^^^^^^^^^^^^^^^^^ >x : C diff --git a/tests/baselines/reference/typeOfThisInstanceMemberNarrowedWithLoopAntecedent.types b/tests/baselines/reference/typeOfThisInstanceMemberNarrowedWithLoopAntecedent.types index 6a1167201dfd4..13cadd488ef1c 100644 --- a/tests/baselines/reference/typeOfThisInstanceMemberNarrowedWithLoopAntecedent.types +++ b/tests/baselines/reference/typeOfThisInstanceMemberNarrowedWithLoopAntecedent.types @@ -75,11 +75,11 @@ class SomeClass { >this.state.data : string > : ^^^^^^ >this.state : { type: "stringVariant"; data: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^ >this : this > : ^^^^ >state : { type: "stringVariant"; data: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^ >data : string > : ^^^^^^ } @@ -128,11 +128,11 @@ class SomeClass2 { >this.state.data : number > : ^^^^^^ >this.state : { type: "numberVariant"; data: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^ >this : this > : ^^^^ >state : { type: "numberVariant"; data: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^ ^^^ >data : number > : ^^^^^^ } diff --git a/tests/baselines/reference/typeParameterAndArgumentOfSameName1.types b/tests/baselines/reference/typeParameterAndArgumentOfSameName1.types index 6ce2e795038db..f41dfbfa4e809 100644 --- a/tests/baselines/reference/typeParameterAndArgumentOfSameName1.types +++ b/tests/baselines/reference/typeParameterAndArgumentOfSameName1.types @@ -3,7 +3,7 @@ === typeParameterAndArgumentOfSameName1.ts === function f(A: A): A { >f : (A: A) => A -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >A : A > : ^ @@ -13,11 +13,11 @@ function f(A: A): A { >A.toExponential(123) : string > : ^^^^^^ >A.toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >A : A > : ^ >toExponential : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >123 : 123 > : ^^^ diff --git a/tests/baselines/reference/typeParameterArgumentEquivalence.types b/tests/baselines/reference/typeParameterArgumentEquivalence.types index 370625ea57cf1..3a6ee1899b363 100644 --- a/tests/baselines/reference/typeParameterArgumentEquivalence.types +++ b/tests/baselines/reference/typeParameterArgumentEquivalence.types @@ -19,18 +19,18 @@ function foo() { x = y; // Should be an error >x = y : (item: T) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : (item: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >y : (item: T) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ y = x; // Shound be an error >y = x : (item: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >y : (item: T) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : (item: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ } diff --git a/tests/baselines/reference/typeParameterArgumentEquivalence2.types b/tests/baselines/reference/typeParameterArgumentEquivalence2.types index 8004311d531d9..6be2eb490ba32 100644 --- a/tests/baselines/reference/typeParameterArgumentEquivalence2.types +++ b/tests/baselines/reference/typeParameterArgumentEquivalence2.types @@ -19,18 +19,18 @@ function foo() { x = y; // Should be an error >x = y : (item: T) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : (item: U) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >y : (item: T) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ y = x; // Shound be an error >y = x : (item: U) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >y : (item: T) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : (item: U) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ } diff --git a/tests/baselines/reference/typeParameterArgumentEquivalence3.types b/tests/baselines/reference/typeParameterArgumentEquivalence3.types index a17ecb0b9dd1a..d78aad77f4a5e 100644 --- a/tests/baselines/reference/typeParameterArgumentEquivalence3.types +++ b/tests/baselines/reference/typeParameterArgumentEquivalence3.types @@ -19,18 +19,18 @@ function foo() { x = y; // Should be an error >x = y : (item: any) => boolean -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >x : (item: any) => T -> : ^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >y : (item: any) => boolean -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ y = x; // Shound be an error >y = x : (item: any) => T -> : ^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >y : (item: any) => boolean -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >x : (item: any) => T -> : ^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ } diff --git a/tests/baselines/reference/typeParameterArgumentEquivalence4.types b/tests/baselines/reference/typeParameterArgumentEquivalence4.types index b7eeffb9f3247..f721eeb805ec6 100644 --- a/tests/baselines/reference/typeParameterArgumentEquivalence4.types +++ b/tests/baselines/reference/typeParameterArgumentEquivalence4.types @@ -19,18 +19,18 @@ function foo() { x = y; // Should be an error >x = y : (item: any) => T -> : ^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >x : (item: any) => U -> : ^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >y : (item: any) => T -> : ^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ y = x; // Shound be an error >y = x : (item: any) => U -> : ^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >y : (item: any) => T -> : ^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ >x : (item: any) => U -> : ^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ } diff --git a/tests/baselines/reference/typeParameterArgumentEquivalence5.types b/tests/baselines/reference/typeParameterArgumentEquivalence5.types index fcfdf984a57a9..2fee1628f0d2c 100644 --- a/tests/baselines/reference/typeParameterArgumentEquivalence5.types +++ b/tests/baselines/reference/typeParameterArgumentEquivalence5.types @@ -19,18 +19,18 @@ function foo() { x = y; // Should be an error >x = y : () => (item: any) => T -> : ^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^^ ^^^ >x : () => (item: any) => U -> : ^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^^ ^^^ >y : () => (item: any) => T -> : ^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^^ ^^^ y = x; // Shound be an error >y = x : () => (item: any) => U -> : ^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^^ ^^^ >y : () => (item: any) => T -> : ^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^^ ^^^ >x : () => (item: any) => U -> : ^^^^^^^ ^^^^^^^^^^^ +> : ^^^^^^ ^^^ } diff --git a/tests/baselines/reference/typeParameterAsTypeParameterConstraint.types b/tests/baselines/reference/typeParameterAsTypeParameterConstraint.types index ff60899339e25..aac7b442ff329 100644 --- a/tests/baselines/reference/typeParameterAsTypeParameterConstraint.types +++ b/tests/baselines/reference/typeParameterAsTypeParameterConstraint.types @@ -6,7 +6,7 @@ function foo(x: T, y: U): U { return y; } >foo : (x: T, y: U) => U -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T > : ^ >y : U @@ -20,7 +20,7 @@ var r = foo(1, 2); >foo(1, 2) : 2 > : ^ >foo : (x: T, y: U) => U -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -32,7 +32,7 @@ var r = foo({}, 1); >foo({}, 1) : 1 > : ^ >foo : (x: T, y: U) => U -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >{} : {} > : ^^ >1 : 1 @@ -62,7 +62,7 @@ var r2 = foo(a, b); >foo(a, b) : B > : ^ >foo : (x: T, y: U) => U -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a : A > : ^ >b : B @@ -74,7 +74,7 @@ var r3 = foo({ x: 1 }, { x: 2, y: 3 }); >foo({ x: 1 }, { x: 2, y: 3 }) : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (x: T, y: U) => U -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >{ x: 1 } : { x: number; } > : ^^^^^^^^^^^^^^ >x : number @@ -94,7 +94,7 @@ var r3 = foo({ x: 1 }, { x: 2, y: 3 }); function foo2(x: T, y: U) { return y; } >foo2 : (x: T, y: U) => U -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ >length : T > : ^ >x : T @@ -108,7 +108,7 @@ foo2(1, ''); >foo2(1, '') : "" > : ^^ >foo2 : (x: T, y: U) => U -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ >1 : 1 > : ^ >'' : "" @@ -118,7 +118,7 @@ foo2({}, { length: 2 }); >foo2({}, { length: 2 }) : { length: number; } > : ^^^^^^^^^^^^^^^^^^^ >foo2 : (x: T, y: U) => U -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ >{} : {} > : ^^ >{ length: 2 } : { length: number; } @@ -132,7 +132,7 @@ foo2(1, { width: 3, length: 2 }); >foo2(1, { width: 3, length: 2 }) : { width: number; length: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo2 : (x: T, y: U) => U -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ >1 : 1 > : ^ >{ width: 3, length: 2 } : { width: number; length: number; } @@ -150,7 +150,7 @@ foo2(1, []); >foo2(1, []) : any[] > : ^^^^^ >foo2 : (x: T, y: U) => U -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ >1 : 1 > : ^ >[] : undefined[] @@ -160,7 +160,7 @@ foo2(1, ['']); >foo2(1, ['']) : string[] > : ^^^^^^^^ >foo2 : (x: T, y: U) => U -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ >1 : 1 > : ^ >[''] : string[] diff --git a/tests/baselines/reference/typeParameterAsTypeParameterConstraint2.types b/tests/baselines/reference/typeParameterAsTypeParameterConstraint2.types index c2437aed8da7e..a8504d3847131 100644 --- a/tests/baselines/reference/typeParameterAsTypeParameterConstraint2.types +++ b/tests/baselines/reference/typeParameterAsTypeParameterConstraint2.types @@ -6,7 +6,7 @@ function foo(x: T, y: U): U { return y; } // this is now an error >foo : (x: T, y: U) => U -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T > : ^ >y : U @@ -18,7 +18,7 @@ foo(1, ''); >foo(1, '') : number > : ^^^^^^ >foo : (x: T, y: U) => U -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >'' : "" @@ -28,7 +28,7 @@ foo(1, {}); >foo(1, {}) : number > : ^^^^^^ >foo : (x: T, y: U) => U -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >{} : {} @@ -49,7 +49,7 @@ var r3 = foo(1, n); >foo(1, n) : number > : ^^^^^^ >foo : (x: T, y: U) => U -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >n : NumberVariant @@ -57,7 +57,7 @@ var r3 = foo(1, n); function foo2(x: T, y: U) { return y; } // this is now an error >foo2 : (x: T, y: U) => U -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ >length : T > : ^ >x : T @@ -71,7 +71,7 @@ foo2(1, { length: '' }); >foo2(1, { length: '' }) : { length: number; } > : ^^^^^^^^^^^^^^^^^^^ >foo2 : (x: T, y: U) => U -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ >1 : 1 > : ^ >{ length: '' } : { length: string; } @@ -85,7 +85,7 @@ foo2(1, { length: {} }); >foo2(1, { length: {} }) : { length: number; } > : ^^^^^^^^^^^^^^^^^^^ >foo2 : (x: T, y: U) => U -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ >1 : 1 > : ^ >{ length: {} } : { length: {}; } @@ -99,7 +99,7 @@ foo2([], ['']); >foo2([], ['']) : { length: any[]; } > : ^^^^^^^^^^^^^^^^^^ >foo2 : (x: T, y: U) => U -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ >[] : undefined[] > : ^^^^^^^^^^^ >[''] : string[] diff --git a/tests/baselines/reference/typeParameterAsTypeParameterConstraintTransitively.types b/tests/baselines/reference/typeParameterAsTypeParameterConstraintTransitively.types index 7ead4382e1f67..c3a5835dca942 100644 --- a/tests/baselines/reference/typeParameterAsTypeParameterConstraintTransitively.types +++ b/tests/baselines/reference/typeParameterAsTypeParameterConstraintTransitively.types @@ -46,7 +46,7 @@ foo(1, 2, 3); >foo(1, 2, 3) : 3 > : ^ >foo : (x: T, y: U, z: V) => V -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -58,7 +58,7 @@ foo({ x: 1 }, { x: 1, y: '' }, { x: 2, y: '', z: true }); >foo({ x: 1 }, { x: 1, y: '' }, { x: 2, y: '', z: true }) : { x: number; y: string; z: boolean; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (x: T, y: U, z: V) => V -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{ x: 1 } : { x: number; } > : ^^^^^^^^^^^^^^ >x : number @@ -94,7 +94,7 @@ foo(a, b, c); >foo(a, b, c) : C > : ^ >foo : (x: T, y: U, z: V) => V -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : A > : ^ >b : B @@ -106,7 +106,7 @@ foo(a, b, { foo: 1, bar: '', hm: true }); >foo(a, b, { foo: 1, bar: '', hm: true }) : { foo: number; bar: string; hm: boolean; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (x: T, y: U, z: V) => V -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : A > : ^ >b : B @@ -130,7 +130,7 @@ foo((x: number, y) => { }, (x) => { }, () => { }); >foo((x: number, y) => { }, (x) => { }, () => { }) : () => void > : ^^^^^^^^^^ >foo : (x: T, y: U, z: V) => V -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >(x: number, y) => { } : (x: number, y: any) => void > : ^ ^^ ^^ ^^^^^^^^^^^^^^ >x : number @@ -144,7 +144,7 @@ foo((x: number, y) => { }, (x) => { }, () => { }); function foo2(x: T, y: U, z: V): V { return z; } >foo2 : (x: T, y: U, z: V) => V -> : ^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T > : ^ >y : U @@ -159,7 +159,7 @@ foo(a, a, a); >foo(a, a, a) : A > : ^ >foo : (x: T, y: U, z: V) => V -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : A > : ^ >a : A @@ -171,7 +171,7 @@ foo(a, b, c); >foo(a, b, c) : C > : ^ >foo : (x: T, y: U, z: V) => V -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : A > : ^ >b : B @@ -183,7 +183,7 @@ foo(b, b, { foo: 1, bar: '', hm: '' }); >foo(b, b, { foo: 1, bar: '', hm: '' }) : { foo: number; bar: string; hm: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (x: T, y: U, z: V) => V -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >b : B > : ^ >b : B diff --git a/tests/baselines/reference/typeParameterAsTypeParameterConstraintTransitively2.types b/tests/baselines/reference/typeParameterAsTypeParameterConstraintTransitively2.types index 572b4f8ef35e6..0a88d904a27d6 100644 --- a/tests/baselines/reference/typeParameterAsTypeParameterConstraintTransitively2.types +++ b/tests/baselines/reference/typeParameterAsTypeParameterConstraintTransitively2.types @@ -46,7 +46,7 @@ foo(1, 2, ''); >foo(1, 2, '') : "" > : ^^ >foo : (x: T, y: U, z: V) => V -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -58,7 +58,7 @@ foo({ x: 1 }, { x: 1, y: '' }, { x: 2, y: 2, z: true }); >foo({ x: 1 }, { x: 1, y: '' }, { x: 2, y: 2, z: true }) : { x: number; y: number; z: boolean; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (x: T, y: U, z: V) => V -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{ x: 1 } : { x: number; } > : ^^^^^^^^^^^^^^ >x : number @@ -94,7 +94,7 @@ foo(a, b, a); >foo(a, b, a) : A > : ^ >foo : (x: T, y: U, z: V) => V -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : A > : ^ >b : B @@ -106,7 +106,7 @@ foo(a, { foo: 1, bar: '', hm: true }, b); >foo(a, { foo: 1, bar: '', hm: true }, b) : B > : ^ >foo : (x: T, y: U, z: V) => V -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : A > : ^ >{ foo: 1, bar: '', hm: true } : { foo: number; bar: string; hm: true; } @@ -130,7 +130,7 @@ foo((x: number, y: string) => { }, (x, y: boolean) => { }, () => { }); >foo((x: number, y: string) => { }, (x, y: boolean) => { }, () => { }) : () => void > : ^^^^^^^^^^ >foo : (x: T, y: U, z: V) => V -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >(x: number, y: string) => { } : (x: number, y: string) => void > : ^ ^^ ^^ ^^ ^^^^^^^^^ >x : number @@ -147,7 +147,7 @@ foo((x: number, y: string) => { }, (x, y: boolean) => { }, () => { }); function foo2(x: T, y: U, z: V): V { return z; } >foo2 : (x: T, y: U, z: V) => V -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T > : ^ >y : U @@ -162,7 +162,7 @@ foo(b, a, c); >foo(b, a, c) : C > : ^ >foo : (x: T, y: U, z: V) => V -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >b : B > : ^ >a : A @@ -174,7 +174,7 @@ foo(c, c, a); >foo(c, c, a) : A > : ^ >foo : (x: T, y: U, z: V) => V -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >c : C diff --git a/tests/baselines/reference/typeParameterAssignability2.types b/tests/baselines/reference/typeParameterAssignability2.types index a1a45f1c15a7a..2522b6d182117 100644 --- a/tests/baselines/reference/typeParameterAssignability2.types +++ b/tests/baselines/reference/typeParameterAssignability2.types @@ -5,7 +5,7 @@ function foo(t: T, u: U) { >foo : (t: T, u: U) => void -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >t : T > : ^ >u : U @@ -30,7 +30,7 @@ function foo(t: T, u: U) { function foo2(t: T, u: U) { >foo2 : (t: T, u: U) => void -> : ^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >t : T > : ^ >u : U @@ -55,7 +55,7 @@ function foo2(t: T, u: U) { function foo3(t: T, u: U, v: V) { >foo3 : (t: T, u: U, v: V) => void -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >t : T > : ^ >u : U @@ -114,7 +114,7 @@ function foo3(t: T, u: U, v: V) { function foo4(t: T, u: U, v: V) { >foo4 : (t: T, u: U, v: V) => void -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >t : T > : ^ >u : U @@ -232,7 +232,7 @@ function foo4(t: T, u: U, v: V) { // same as foo4 with different type parameter ordering function foo5(t: T, u: U, v: V) { >foo5 : (t: T, u: U, v: V) => void -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >t : T > : ^ >u : U @@ -349,7 +349,7 @@ function foo5(t: T, u: U, v: V) { function foo6(t: T, u: U, v: V) { >foo6 : (t: T, u: U, v: V) => void -> : ^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >t : T > : ^ >u : U diff --git a/tests/baselines/reference/typeParameterAssignability3.types b/tests/baselines/reference/typeParameterAssignability3.types index 7ac9e499c17a2..83e0b824ef619 100644 --- a/tests/baselines/reference/typeParameterAssignability3.types +++ b/tests/baselines/reference/typeParameterAssignability3.types @@ -11,7 +11,7 @@ class Foo { foo: string; } function foo(t: T, u: U) { >foo : (t: T, u: U) => void -> : ^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >t : T > : ^ >u : U diff --git a/tests/baselines/reference/typeParameterAssignmentWithConstraints.types b/tests/baselines/reference/typeParameterAssignmentWithConstraints.types index d548f7e322b31..2a9901e65b75e 100644 --- a/tests/baselines/reference/typeParameterAssignmentWithConstraints.types +++ b/tests/baselines/reference/typeParameterAssignmentWithConstraints.types @@ -3,7 +3,7 @@ === typeParameterAssignmentWithConstraints.ts === function f() { >f : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^ var a: A; >a : A diff --git a/tests/baselines/reference/typeParameterCompatibilityAccrossDeclarations.types b/tests/baselines/reference/typeParameterCompatibilityAccrossDeclarations.types index 2c52a0d496dfc..2b5e9bf0e62ad 100644 --- a/tests/baselines/reference/typeParameterCompatibilityAccrossDeclarations.types +++ b/tests/baselines/reference/typeParameterCompatibilityAccrossDeclarations.types @@ -54,31 +54,31 @@ a = i; // error >a = i : I > : ^ >a : { x: (y: T) => T; } -> : ^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^ >i : I > : ^ i = a; // error >i = a : { x: (y: T) => T; } -> : ^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^ >i : I > : ^ >a : { x: (y: T) => T; } -> : ^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^ a2 = i2; // no error >a2 = i2 : I2 > : ^^ >a2 : { x: (y: any) => any; } -> : ^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >i2 : I2 > : ^^ i2 = a2; // no error >i2 = a2 : { x: (y: any) => any; } -> : ^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ >i2 : I2 > : ^^ >a2 : { x: (y: any) => any; } -> : ^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^^^ ^^^ diff --git a/tests/baselines/reference/typeParameterConstModifiers.types b/tests/baselines/reference/typeParameterConstModifiers.types index 28af8a5ba94a6..607e0b922227f 100644 --- a/tests/baselines/reference/typeParameterConstModifiers.types +++ b/tests/baselines/reference/typeParameterConstModifiers.types @@ -13,7 +13,7 @@ const x11 = f1('a'); >f1('a') : "a" > : ^^^ >f1 : (x: T) => T -> : ^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >'a' : "a" > : ^^^ @@ -23,7 +23,7 @@ const x12 = f1(['a', ['b', 'c']]); >f1(['a', ['b', 'c']]) : readonly ["a", readonly ["b", "c"]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f1 : (x: T) => T -> : ^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >['a', ['b', 'c']] : ["a", ["b", "c"]] > : ^^^^^^^^^^^^^^^^^ >'a' : "a" @@ -41,7 +41,7 @@ const x13 = f1({ a: 1, b: "c", d: ["e", 2, true, { f: "g" }] }); >f1({ a: 1, b: "c", d: ["e", 2, true, { f: "g" }] }) : { readonly a: 1; readonly b: "c"; readonly d: readonly ["e", 2, true, { readonly f: "g"; }]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f1 : (x: T) => T -> : ^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >{ a: 1, b: "c", d: ["e", 2, true, { f: "g" }] } : { a: 1; b: "c"; d: ["e", 2, true, { f: "g"; }]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : 1 @@ -81,7 +81,7 @@ const x21 = f2('a'); >f2('a') : "a" > : ^^^ >f2 : (x: T | undefined) => T -> : ^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^ ^^ ^^^^^ >'a' : "a" > : ^^^ @@ -91,7 +91,7 @@ const x22 = f2(['a', ['b', 'c']]); >f2(['a', ['b', 'c']]) : readonly ["a", readonly ["b", "c"]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f2 : (x: T | undefined) => T -> : ^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^ ^^ ^^^^^ >['a', ['b', 'c']] : ["a", ["b", "c"]] > : ^^^^^^^^^^^^^^^^^ >'a' : "a" @@ -109,7 +109,7 @@ const x23 = f2({ a: 1, b: "c", d: ["e", 2, true, { f: "g" }] }); >f2({ a: 1, b: "c", d: ["e", 2, true, { f: "g" }] }) : { readonly a: 1; readonly b: "c"; readonly d: readonly ["e", 2, true, { readonly f: "g"; }]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f2 : (x: T | undefined) => T -> : ^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^ ^^ ^^^^^ >{ a: 1, b: "c", d: ["e", 2, true, { f: "g" }] } : { a: 1; b: "c"; d: ["e", 2, true, { f: "g"; }]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : 1 @@ -149,7 +149,7 @@ const x31 = f3("hello"); >f3("hello") : "hello"[] > : ^^^^^^^^^ >f3 : (x: T) => T[] -> : ^^^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ @@ -159,7 +159,7 @@ const x32 = f3("hello"); >f3("hello") : "hello"[] > : ^^^^^^^^^ >f3 : (x: T) => T[] -> : ^^^^^^^ ^^ ^^ ^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ @@ -175,7 +175,7 @@ const x41 = f4([[1, 'x'], [2, 'y']]); >f4([[1, 'x'], [2, 'y']]) : readonly [1, "x"] | readonly [2, "y"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f4 : (obj: [T, T]) => T -> : ^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >[[1, 'x'], [2, 'y']] : [[1, "x"], [2, "y"]] > : ^^^^^^^^^^^^^^^^^^^^ >[1, 'x'] : [1, "x"] @@ -197,7 +197,7 @@ const x42 = f4([{ a: 1, b: 'x' }, { a: 2, b: 'y' }]); >f4([{ a: 1, b: 'x' }, { a: 2, b: 'y' }]) : { readonly a: 1; readonly b: "x"; } | { readonly a: 2; readonly b: "y"; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f4 : (obj: [T, T]) => T -> : ^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >[{ a: 1, b: 'x' }, { a: 2, b: 'y' }] : [{ a: 1; b: "x"; }, { a: 2; b: "y"; }] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ a: 1, b: 'x' } : { a: 1; b: "x"; } @@ -237,7 +237,7 @@ const x51 = f5({ x: [1, 'x'], y: [2, 'y'] }); >f5({ x: [1, 'x'], y: [2, 'y'] }) : readonly [1, "x"] | readonly [2, "y"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f5 : (obj: { x: T; y: T; }) => T -> : ^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >{ x: [1, 'x'], y: [2, 'y'] } : { x: [1, "x"]; y: [2, "y"]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : [1, "x"] @@ -263,7 +263,7 @@ const x52 = f5({ x: { a: 1, b: 'x' }, y: { a: 2, b: 'y' } }); >f5({ x: { a: 1, b: 'x' }, y: { a: 2, b: 'y' } }) : { readonly a: 1; readonly b: "x"; } | { readonly a: 2; readonly b: "y"; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f5 : (obj: { x: T; y: T; }) => T -> : ^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >{ x: { a: 1, b: 'x' }, y: { a: 2, b: 'y' } } : { x: { a: 1; b: "x"; }; y: { a: 2; b: "y"; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : { a: 1; b: "x"; } @@ -293,7 +293,7 @@ const x52 = f5({ x: { a: 1, b: 'x' }, y: { a: 2, b: 'y' } }); declare function f6(...args: T): T; >f6 : (...args: T) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >args : T > : ^ @@ -303,7 +303,7 @@ const x61 = f6(1, 'b', { a: 1, b: 'x' }); >f6(1, 'b', { a: 1, b: 'x' }) : readonly [1, "b", { readonly a: 1; readonly b: "x"; }] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f6 : (...args: T) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >'b' : "b" @@ -325,7 +325,7 @@ const x62 = f6(...[1, 'b']); >f6(...[1, 'b']) : readonly [number, string] > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >f6 : (...args: T) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >...[1, 'b'] : string | number > : ^^^^^^^^^^^^^^^ >[1, 'b'] : [number, string] @@ -341,7 +341,7 @@ const x63 = f6(true, ...[1, 'b']); >f6(true, ...[1, 'b']) : readonly [true, number, string] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f6 : (...args: T) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >true : true > : ^^^^ >...[1, 'b'] : string | number @@ -359,7 +359,7 @@ const x64 = f6(...([1, 'b'])); >f6(...([1, 'b'])) : readonly [number, string] > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >f6 : (...args: T) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >...([1, 'b']) : string | number > : ^^^^^^^^^^^^^^^ >([1, 'b']) : [number, string] @@ -377,7 +377,7 @@ const x65 = f6(true, ...([1, 'b'])); >f6(true, ...([1, 'b'])) : readonly [true, number, string] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f6 : (...args: T) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >true : true > : ^^^^ >...([1, 'b']) : string | number @@ -552,7 +552,7 @@ type GetPath = function set(obj: T, path: P, value: GetPath) {} >set : (obj: T, path: P, value: GetPath) => void -> : ^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >obj : T > : ^ >path : P @@ -572,7 +572,7 @@ set(obj, ['a', 'b', 'c'], value); >set(obj, ['a', 'b', 'c'], value) : void > : ^^^^ >set : (obj: T, path: P, value: GetPath) => void -> : ^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >obj : Obj > : ^^^ >['a', 'b', 'c'] : ["a", "b", "c"] @@ -590,7 +590,7 @@ set(obj, ['a', 'b', 'c'], value); declare function inners(...args: readonly [unknown, ...T, unknown]): T; >inners : (...args: readonly [unknown, ...T, unknown]) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >args : readonly [unknown, ...T, unknown] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -600,7 +600,7 @@ const test = inners(1,2,3,4,5); >inners(1,2,3,4,5) : [2, 3, 4] > : ^^^^^^^^^ >inners : (...args: readonly [unknown, ...T, unknown]) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >1 : 1 > : ^ >2 : 2 @@ -614,7 +614,7 @@ const test = inners(1,2,3,4,5); declare function inners2(args: readonly [unknown, ...T, unknown]): T; >inners2 : (args: readonly [unknown, ...T, unknown]) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >args : readonly [unknown, ...T, unknown] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -624,7 +624,7 @@ const test2 = inners2([1,2,3,4,5]); >inners2([1,2,3,4,5]) : [2, 3, 4] > : ^^^^^^^^^ >inners2 : (args: readonly [unknown, ...T, unknown]) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >[1,2,3,4,5] : [number, 2, 3, 4, number] > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >1 : 1 @@ -646,9 +646,9 @@ type NotEmpty> = keyof T extends never ? never : T const thing = >(o: NotEmpty) => o; >thing : >(o: NotEmpty) => NotEmpty -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ >>(o: NotEmpty) => o : >(o: NotEmpty) => NotEmpty -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ >o : NotEmpty > : ^^^^^^^^^^^ >o : NotEmpty @@ -660,7 +660,7 @@ const t = thing({ foo: '' }); // readonly { foo: "" } >thing({ foo: '' }) : { readonly foo: ""; } > : ^^^^^^^^^^^^^^^^^^^^^ >thing : >(o: NotEmpty) => NotEmpty -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ >{ foo: '' } : { foo: ""; } > : ^^^^^^^^^^^^ >foo : "" @@ -674,9 +674,9 @@ type NotEmptyMapped> = keyof T extends never ? nev const thingMapped = >(o: NotEmptyMapped) => o; >thingMapped : >(o: NotEmptyMapped) => NotEmptyMapped -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ >>(o: NotEmptyMapped) => o : >(o: NotEmptyMapped) => NotEmptyMapped -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ >o : NotEmptyMapped > : ^^^^^^^^^^^^^^^^^ >o : NotEmptyMapped @@ -688,7 +688,7 @@ const tMapped = thingMapped({ foo: '' }); // { foo: "" } >thingMapped({ foo: '' }) : { readonly foo: ""; } > : ^^^^^^^^^^^^^^^^^^^^^ >thingMapped : >(o: NotEmptyMapped) => NotEmptyMapped -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ >{ foo: '' } : { foo: ""; } > : ^^^^^^^^^^^^ >foo : "" @@ -700,7 +700,7 @@ const tMapped = thingMapped({ foo: '' }); // { foo: "" } function factory_55033_minimal(cb: (...args: T) => void) { >factory_55033_minimal : (cb: (...args: T) => void) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >cb : (...args: T) => void > : ^^^^ ^^ ^^^^^ >args : T @@ -719,7 +719,7 @@ const test_55033_minimal = factory_55033_minimal((b: string) => {}) >factory_55033_minimal((b: string) => {}) : readonly [b: string] > : ^^^^^^^^^^^^^^^^^^^^ >factory_55033_minimal : (cb: (...args: T) => void) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(b: string) => {} : (b: string) => void > : ^ ^^ ^^^^^^^^^ >b : string @@ -727,7 +727,7 @@ const test_55033_minimal = factory_55033_minimal((b: string) => {}) function factory_55033(cb: (...args: T) => void) { >factory_55033 : (cb: (...args: T) => void) => (...args: K) => K -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >cb : (...args: T) => void > : ^^^^ ^^ ^^^^^ >args : T @@ -735,9 +735,9 @@ function factory_55033(cb: (...args: T) => v return function call(...args: K): K { >function call(...args: K): K { return {} as K; } : (...args: K) => K -> : ^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >call : (...args: K) => K -> : ^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >args : K > : ^ @@ -758,7 +758,7 @@ const t1_55033 = factory_55033((a: { test: number }, b: string) => {})( >factory_55033((a: { test: number }, b: string) => {}) : (...args: K) => K > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ >factory_55033 : (cb: (...args: T) => void) => (...args: K) => K -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >(a: { test: number }, b: string) => {} : (a: { test: number; }, b: string) => void > : ^ ^^ ^^ ^^ ^^^^^^^^^ >a : { test: number; } @@ -790,7 +790,7 @@ const t2_55033 = factory_55033((a: { test: number }, b: string) => {})( >factory_55033((a: { test: number }, b: string) => {}) : (...args: K) => K > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ >factory_55033 : (cb: (...args: T) => void) => (...args: K) => K -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >(a: { test: number }, b: string) => {} : (a: { test: number; }, b: string) => void > : ^ ^^ ^^ ^^ ^^^^^^^^^ >a : { test: number; } @@ -820,7 +820,7 @@ const t2_55033 = factory_55033((a: { test: number }, b: string) => {})( function factory_55033_2(cb: (...args: T) => void) { >factory_55033_2 : (cb: (...args: T) => void) => (...args: K) => K -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >cb : (...args: T) => void > : ^^^^ ^^ ^^^^^ >args : T @@ -828,9 +828,9 @@ function factory_55033_2(cb: (...args: T) => void) { return function call(...args: K): K { >function call(...args: K): K { return {} as K; } : (...args: K) => K -> : ^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >call : (...args: K) => K -> : ^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >args : K > : ^ @@ -851,7 +851,7 @@ const t1_55033_2 = factory_55033_2((a: { test: number }, b: string) => {})( >factory_55033_2((a: { test: number }, b: string) => {}) : (...args: K) => K > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ >factory_55033_2 : (cb: (...args: T) => void) => (...args: K) => K -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >(a: { test: number }, b: string) => {} : (a: { test: number; }, b: string) => void > : ^ ^^ ^^ ^^ ^^^^^^^^^ >a : { test: number; } @@ -883,7 +883,7 @@ const t2_55033_2 = factory_55033_2((a: { test: number }, b: string) => {})( >factory_55033_2((a: { test: number }, b: string) => {}) : (...args: K) => K > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ >factory_55033_2 : (cb: (...args: T) => void) => (...args: K) => K -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >(a: { test: number }, b: string) => {} : (a: { test: number; }, b: string) => void > : ^ ^^ ^^ ^^ ^^^^^^^^^ >a : { test: number; } @@ -913,7 +913,7 @@ const t2_55033_2 = factory_55033_2((a: { test: number }, b: string) => {})( declare function fn(...args: T): T; >fn : (...args: T) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >args : T > : ^ @@ -923,7 +923,7 @@ const a = fn("a", false); >fn("a", false) : ["a", false] > : ^^^^^^^^^^^^ >fn : (...args: T) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >"a" : "a" > : ^^^ >false : false @@ -933,13 +933,13 @@ const a = fn("a", false); declare function fa1(args: T): T; >fa1 : (args: T) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >args : T > : ^ declare function fa2(args: T): T; >fa2 : (args: T) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >args : T > : ^ @@ -947,7 +947,7 @@ fa1(["hello", 42]); >fa1(["hello", 42]) : ["hello", 42] > : ^^^^^^^^^^^^^ >fa1 : (args: T) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >["hello", 42] : ["hello", 42] > : ^^^^^^^^^^^^^ >"hello" : "hello" @@ -959,7 +959,7 @@ fa2(["hello", 42]); >fa2(["hello", 42]) : readonly ["hello", 42] > : ^^^^^^^^^^^^^^^^^^^^^^ >fa2 : (args: T) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >["hello", 42] : ["hello", 42] > : ^^^^^^^^^^^^^ >"hello" : "hello" @@ -969,13 +969,13 @@ fa2(["hello", 42]); declare function fb1(...args: T): T; >fb1 : (...args: T) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >args : T > : ^ declare function fb2(...args: T): T; >fb2 : (...args: T) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >args : T > : ^ @@ -983,7 +983,7 @@ fb1("hello", 42); >fb1("hello", 42) : ["hello", 42] > : ^^^^^^^^^^^^^ >fb1 : (...args: T) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ >42 : 42 @@ -993,7 +993,7 @@ fb2("hello", 42); >fb2("hello", 42) : readonly ["hello", 42] > : ^^^^^^^^^^^^^^^^^^^^^^ >fb2 : (...args: T) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ >42 : 42 @@ -1001,7 +1001,7 @@ fb2("hello", 42); declare function fc1(f: (...args: T) => void, ...args: T): T; >fc1 : (f: (...args: T) => void, ...args: T) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >f : (...args: T) => void > : ^^^^ ^^ ^^^^^ >args : T @@ -1011,7 +1011,7 @@ declare function fc1(f: (...args: T) => void, ...args declare function fc2(f: (...args: T) => void, ...args: T): T; >fc2 : (f: (...args: T) => void, ...args: T) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >f : (...args: T) => void > : ^^^^ ^^ ^^^^^ >args : T @@ -1023,7 +1023,7 @@ fc1((a: string, b: number) => {}, "hello", 42); >fc1((a: string, b: number) => {}, "hello", 42) : ["hello", 42] > : ^^^^^^^^^^^^^ >fc1 : (f: (...args: T) => void, ...args: T) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >(a: string, b: number) => {} : (a: string, b: number) => void > : ^ ^^ ^^ ^^ ^^^^^^^^^ >a : string @@ -1039,7 +1039,7 @@ fc2((a: string, b: number) => {}, "hello", 42); >fc2((a: string, b: number) => {}, "hello", 42) : readonly ["hello", 42] > : ^^^^^^^^^^^^^^^^^^^^^^ >fc2 : (f: (...args: T) => void, ...args: T) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >(a: string, b: number) => {} : (a: string, b: number) => void > : ^ ^^ ^^ ^^ ^^^^^^^^^ >a : string @@ -1053,19 +1053,19 @@ fc2((a: string, b: number) => {}, "hello", 42); declare function fd1(args: T): T; >fd1 : (args: T) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >args : T > : ^ declare function fd2(args: T): T; >fd2 : (args: T) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >args : T > : ^ declare function fd3(args: T): T; >fd3 : (args: T) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >args : T > : ^ @@ -1073,7 +1073,7 @@ fd1(["hello", "world"]); >fd1(["hello", "world"]) : ["hello", "world"] > : ^^^^^^^^^^^^^^^^^^ >fd1 : (args: T) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >["hello", "world"] : ["hello", "world"] > : ^^^^^^^^^^^^^^^^^^ >"hello" : "hello" @@ -1085,7 +1085,7 @@ fd1([1, 2, 3]); >fd1([1, 2, 3]) : [1, 2, 3] > : ^^^^^^^^^ >fd1 : (args: T) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >[1, 2, 3] : [1, 2, 3] > : ^^^^^^^^^ >1 : 1 @@ -1099,7 +1099,7 @@ fd2(["hello", "world"]); >fd2(["hello", "world"]) : ["hello", "world"] > : ^^^^^^^^^^^^^^^^^^ >fd2 : (args: T) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >["hello", "world"] : ["hello", "world"] > : ^^^^^^^^^^^^^^^^^^ >"hello" : "hello" @@ -1111,7 +1111,7 @@ fd2([1, 2, 3]); >fd2([1, 2, 3]) : [1, 2, 3] > : ^^^^^^^^^ >fd2 : (args: T) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >[1, 2, 3] : [1, 2, 3] > : ^^^^^^^^^ >1 : 1 @@ -1125,7 +1125,7 @@ fd3(["hello", "world"]); >fd3(["hello", "world"]) : readonly ["hello", "world"] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >fd3 : (args: T) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >["hello", "world"] : ["hello", "world"] > : ^^^^^^^^^^^^^^^^^^ >"hello" : "hello" @@ -1137,7 +1137,7 @@ fd3([1, 2, 3]); >fd3([1, 2, 3]) : readonly [1, 2, 3] > : ^^^^^^^^^^^^^^^^^^ >fd3 : (args: T) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >[1, 2, 3] : [1, 2, 3] > : ^^^^^^^^^ >1 : 1 @@ -1149,7 +1149,7 @@ fd3([1, 2, 3]); declare function fn1(...args: T): T; >fn1 : (...args: T) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >foo : unknown[] > : ^^^^^^^^^ >args : T @@ -1159,7 +1159,7 @@ fn1({ foo: ["hello", 123] }, { foo: [true]}); >fn1({ foo: ["hello", 123] }, { foo: [true]}) : [{ readonly foo: ["hello", 123]; }, { readonly foo: [true]; }] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >fn1 : (...args: T) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >{ foo: ["hello", 123] } : { foo: ["hello", 123]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^ >foo : ["hello", 123] diff --git a/tests/baselines/reference/typeParameterConstModifiersReverseMappedTypes.types b/tests/baselines/reference/typeParameterConstModifiersReverseMappedTypes.types index 6696d6c668a3c..1ba2a7f3e43a3 100644 --- a/tests/baselines/reference/typeParameterConstModifiersReverseMappedTypes.types +++ b/tests/baselines/reference/typeParameterConstModifiersReverseMappedTypes.types @@ -17,8 +17,8 @@ const result1 = test1({ > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >test1({ prop: "foo", nested: { nestedProp: "bar", },}) : [{ readonly prop: "foo"; readonly nested: { readonly nestedProp: "bar"; }; }, { readonly prop: "foo"; readonly nested: { readonly nestedProp: "bar"; }; }] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->test1 : (obj: { [K in keyof T]: T[K]; }) => [T, { [K in keyof T]: T[K]; }] -> : ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>test1 : (obj: { [K in keyof T]: T[K]; }) => [T, typeof obj] +> : ^^^^^^^ ^^ ^^ ^^^^^ >{ prop: "foo", nested: { nestedProp: "bar", },} : { prop: "foo"; nested: { nestedProp: "bar"; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -59,8 +59,8 @@ const result2 = test2({ > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >test2({ prop: "foo", nested: { nestedProp: "bar", },}) : [{ prop: "foo"; nested: { readonly nestedProp: "bar"; }; }, { readonly prop: "foo"; readonly nested: { readonly nestedProp: "bar"; }; }] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->test2 : (obj: { readonly [K in keyof T]: T[K]; }) => [T, { readonly [K in keyof T]: T[K]; }] -> : ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>test2 : (obj: { readonly [K in keyof T]: T[K]; }) => [T, typeof obj] +> : ^^^^^^^ ^^ ^^ ^^^^^ >{ prop: "foo", nested: { nestedProp: "bar", },} : { prop: "foo"; nested: { nestedProp: "bar"; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -101,8 +101,8 @@ const result3 = test3({ > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >test3({ prop: "foo", nested: { nestedProp: "bar", },}) : [{ readonly prop: "foo"; readonly nested: { readonly nestedProp: "bar"; }; }, { prop: "foo"; nested: { readonly nestedProp: "bar"; }; }] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->test3 : (obj: { -readonly [K in keyof T]: T[K]; }) => [T, { -readonly [K in keyof T]: T[K]; }] -> : ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>test3 : (obj: { -readonly [K in keyof T]: T[K]; }) => [T, typeof obj] +> : ^^^^^^^ ^^ ^^ ^^^^^ >{ prop: "foo", nested: { nestedProp: "bar", },} : { prop: "foo"; nested: { nestedProp: "bar"; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -129,7 +129,7 @@ const result3 = test3({ declare function test4(arr: { >test4 : (arr: { [K in keyof T]: T[K]; }) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >arr : { [K in keyof T]: T[K]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -142,7 +142,7 @@ const result4 = test4(["1", 2]); >test4(["1", 2]) : readonly ["1", 2] > : ^^^^^^^^^^^^^^^^^ >test4 : (arr: { [K in keyof T]: T[K]; }) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >["1", 2] : ["1", 2] > : ^^^^^^^^ >"1" : "1" @@ -152,7 +152,7 @@ const result4 = test4(["1", 2]); declare function test5( >test5 : (...args: { [K in keyof T]: T[K]; }) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ ...args: { >args : { [K in keyof T]: T[K]; } @@ -168,7 +168,7 @@ const result5 = test5({ a: "foo" }); >test5({ a: "foo" }) : readonly [{ readonly a: "foo"; }] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >test5 : (...args: { [K in keyof T]: T[K]; }) => T -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >{ a: "foo" } : { a: "foo"; } > : ^^^^^^^^^^^^^ >a : "foo" diff --git a/tests/baselines/reference/typeParameterConstModifiersWithIntersection.types b/tests/baselines/reference/typeParameterConstModifiersWithIntersection.types index ee37682a7c3b4..de8a31c740a7e 100644 --- a/tests/baselines/reference/typeParameterConstModifiersWithIntersection.types +++ b/tests/baselines/reference/typeParameterConstModifiersWithIntersection.types @@ -14,7 +14,7 @@ interface Config { declare function test< >test : >(config: { produceThing: T1; } & TConfig) => TConfig -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ T1 extends { type: string }, >type : string @@ -33,7 +33,7 @@ const result = test({ >test({ produceThing: {} as { type: "foo"; }, useIt: { type: "foo", }, extra: 10,}) : { readonly produceThing: { type: "foo"; }; readonly useIt: { readonly type: "foo"; }; readonly extra: 10; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >test : >(config: { produceThing: T1; } & TConfig) => TConfig -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ produceThing: {} as { type: "foo"; }, useIt: { type: "foo", }, extra: 10,} : { produceThing: { type: "foo"; }; useIt: { type: "foo"; }; extra: 10; } > : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/typeParameterConstrainedToOuterTypeParameter2.types b/tests/baselines/reference/typeParameterConstrainedToOuterTypeParameter2.types index 9375185bb93e9..586b1e2a1cbb8 100644 --- a/tests/baselines/reference/typeParameterConstrainedToOuterTypeParameter2.types +++ b/tests/baselines/reference/typeParameterConstrainedToOuterTypeParameter2.types @@ -4,7 +4,7 @@ interface A { foo(x: A>) >foo : (x: A>) => any -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ >x : A> > : ^^^^^^^ } @@ -12,7 +12,7 @@ interface A { interface B { foo(x: B>) >foo : (x: B>) => any -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ >x : B> > : ^^^^^^^ } diff --git a/tests/baselines/reference/typeParameterConstraintInstantiation.types b/tests/baselines/reference/typeParameterConstraintInstantiation.types index e0514d79f0db1..a3eb463c5114f 100644 --- a/tests/baselines/reference/typeParameterConstraintInstantiation.types +++ b/tests/baselines/reference/typeParameterConstraintInstantiation.types @@ -6,7 +6,7 @@ interface Mapper { map(f: (item: T) => U): V; >map : (f: (item: T) => U) => V -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >f : (item: T) => U > : ^ ^^ ^^^^^ >item : T diff --git a/tests/baselines/reference/typeParameterConstraints1.types b/tests/baselines/reference/typeParameterConstraints1.types index 194b5f71ce57d..c58528544828d 100644 --- a/tests/baselines/reference/typeParameterConstraints1.types +++ b/tests/baselines/reference/typeParameterConstraints1.types @@ -9,73 +9,73 @@ function foo1(test: T) { } function foo2(test: T) { } >foo2 : (test: T) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >test : T > : ^ function foo3(test: T) { } >foo3 : (test: T) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >test : T > : ^ function foo4(test: T) { } // valid >foo4 : (test: T) => void -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >test : T > : ^ function foo5(test: T) { } // valid >foo5 : (test: T) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >test : T > : ^ function foo6(test: T) { } >foo6 : (test: T) => void -> : ^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >test : T > : ^ function foo7(test: T) { } // valid >foo7 : (test: T) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >test : T > : ^ function foo8(test: T) { } >foo8 : (test: T) => void -> : ^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >test : T > : ^ function foo9 (test: T) { } >foo9 : (test: T) => void -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >test : T > : ^ function foo10 (test: T) { } ->foo10 : (test: T) => void -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>foo10 : (test: T) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >test : T > : ^ function foo11 (test: T) { } >foo11 : (test: T) => void -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >test : T > : ^ function foo12(test: T) { } >foo12 : (test: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >test : T > : ^ function foo13(test: T) { } >foo13 : (test: T) => void -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >test : T > : ^ diff --git a/tests/baselines/reference/typeParameterDiamond1.types b/tests/baselines/reference/typeParameterDiamond1.types index 27500ac3707d4..9fa4119fed77f 100644 --- a/tests/baselines/reference/typeParameterDiamond1.types +++ b/tests/baselines/reference/typeParameterDiamond1.types @@ -7,11 +7,11 @@ function diamondTop() { function diamondMiddle() { >diamondMiddle : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^ function diamondBottom() { >diamondBottom : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ var top: Top; >top : Top diff --git a/tests/baselines/reference/typeParameterDiamond2.types b/tests/baselines/reference/typeParameterDiamond2.types index 567329217b544..47e87fe638e5a 100644 --- a/tests/baselines/reference/typeParameterDiamond2.types +++ b/tests/baselines/reference/typeParameterDiamond2.types @@ -7,11 +7,11 @@ function diamondTop() { function diamondMiddle() { >diamondMiddle : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^ function diamondBottom() { >diamondBottom : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ var top: Top; >top : Top diff --git a/tests/baselines/reference/typeParameterDiamond3.types b/tests/baselines/reference/typeParameterDiamond3.types index 92f6dd9a7a21d..40ab93f9b072e 100644 --- a/tests/baselines/reference/typeParameterDiamond3.types +++ b/tests/baselines/reference/typeParameterDiamond3.types @@ -11,7 +11,7 @@ function diamondTop() { function diamondBottom() { >diamondBottom : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ var top: Top; >top : Top diff --git a/tests/baselines/reference/typeParameterDiamond4.types b/tests/baselines/reference/typeParameterDiamond4.types index ff5fcbf682182..e25030875c4ec 100644 --- a/tests/baselines/reference/typeParameterDiamond4.types +++ b/tests/baselines/reference/typeParameterDiamond4.types @@ -11,7 +11,7 @@ function diamondTop() { function diamondBottom() { >diamondBottom : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ var top: Top; >top : Top diff --git a/tests/baselines/reference/typeParameterDirectlyConstrainedToItself.types b/tests/baselines/reference/typeParameterDirectlyConstrainedToItself.types index 01457bb939d1b..a3587cb2bf3e4 100644 --- a/tests/baselines/reference/typeParameterDirectlyConstrainedToItself.types +++ b/tests/baselines/reference/typeParameterDirectlyConstrainedToItself.types @@ -23,8 +23,8 @@ function f2() { } > : ^^^^^^^^^^^^^^^^ var a: { ->a : { (): void; (): void; } -> : ^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ +>a : { (): void; (): void; } +> : ^^^^^^^^^ ^^^^^^^^^^^^ ^^^ (): void; (): void; diff --git a/tests/baselines/reference/typeParameterDoesntBlockParameterLookup.types b/tests/baselines/reference/typeParameterDoesntBlockParameterLookup.types index 79b7ff389ea21..ada1bf818fe42 100644 --- a/tests/baselines/reference/typeParameterDoesntBlockParameterLookup.types +++ b/tests/baselines/reference/typeParameterDoesntBlockParameterLookup.types @@ -3,6 +3,6 @@ === typeParameterDoesntBlockParameterLookup.ts === declare function f(Bar: any): void >f : (Bar: any) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ >Bar : any diff --git a/tests/baselines/reference/typeParameterEquality.types b/tests/baselines/reference/typeParameterEquality.types index ae5e1e9847999..31ec35375438c 100644 --- a/tests/baselines/reference/typeParameterEquality.types +++ b/tests/baselines/reference/typeParameterEquality.types @@ -13,7 +13,7 @@ class C { set x(p: (a: U) => U) {} >x : (a: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >p : (a: U) => U > : ^ ^^ ^^ ^^^^^ >a : U diff --git a/tests/baselines/reference/typeParameterExplicitlyExtendsAny.types b/tests/baselines/reference/typeParameterExplicitlyExtendsAny.types index 95df5f859229b..48de5ba5d4613 100644 --- a/tests/baselines/reference/typeParameterExplicitlyExtendsAny.types +++ b/tests/baselines/reference/typeParameterExplicitlyExtendsAny.types @@ -19,11 +19,11 @@ function fee() { t.toString; // ok >t.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >t : T > : ^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } function fee2() { @@ -44,11 +44,11 @@ function fee2() { t.toString; // ok >t.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >t : T > : ^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } function f(x: T) { diff --git a/tests/baselines/reference/typeParameterExtendingUnion1.types b/tests/baselines/reference/typeParameterExtendingUnion1.types index 0ecd6aa7ba4b0..25de6e9f07a80 100644 --- a/tests/baselines/reference/typeParameterExtendingUnion1.types +++ b/tests/baselines/reference/typeParameterExtendingUnion1.types @@ -40,7 +40,7 @@ function run(a: Animal) { function f(a: T) { >f : (a: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >a : T > : ^ diff --git a/tests/baselines/reference/typeParameterExtendingUnion2.types b/tests/baselines/reference/typeParameterExtendingUnion2.types index 40089245f9167..907dd149cd838 100644 --- a/tests/baselines/reference/typeParameterExtendingUnion2.types +++ b/tests/baselines/reference/typeParameterExtendingUnion2.types @@ -40,7 +40,7 @@ function run(a: Cat | Dog) { function f(a: T) { >f : (a: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >a : T > : ^ diff --git a/tests/baselines/reference/typeParameterExtendsPrimitive.types b/tests/baselines/reference/typeParameterExtendsPrimitive.types index b8077c43d7339..583bf577acdb6 100644 --- a/tests/baselines/reference/typeParameterExtendsPrimitive.types +++ b/tests/baselines/reference/typeParameterExtendsPrimitive.types @@ -4,7 +4,7 @@ // #14473 function f() { >f : () => number -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^^ var t: T; >t : T @@ -44,7 +44,7 @@ type IdMap = { [P in keyof T]: T[P] }; function g(i: IdMap) { >g : (i: IdMap) => number -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ >i : IdMap > : ^^^^^^^^ @@ -74,7 +74,7 @@ function g(i: IdMap) { // #17069 function h, K extends string>(array: T[], prop: K): number { >h : , K extends string>(array: T[], prop: K) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >array : T[] > : ^^^ >prop : K diff --git a/tests/baselines/reference/typeParameterExtendsUnionConstraintDistributed.types b/tests/baselines/reference/typeParameterExtendsUnionConstraintDistributed.types index 00620d7b53115..ffd0a747afe7d 100644 --- a/tests/baselines/reference/typeParameterExtendsUnionConstraintDistributed.types +++ b/tests/baselines/reference/typeParameterExtendsUnionConstraintDistributed.types @@ -7,7 +7,7 @@ type A = 1 | 2; function f(a: T): A & T { return a; } // Shouldn't error >f : (a: T) => A & T -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a : T > : ^ >a : T @@ -19,7 +19,7 @@ type B = 2 | 3; function f2(ab: T & U): (A | B) & T & U { return ab; } // Also shouldn't error >f2 : (ab: T & U) => (A | B) & T & U -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >ab : T & U > : ^^^^^ >ab : T & U diff --git a/tests/baselines/reference/typeParameterFixingWithConstraints.types b/tests/baselines/reference/typeParameterFixingWithConstraints.types index 619d6534f8fbb..bfb18b3b0a6ee 100644 --- a/tests/baselines/reference/typeParameterFixingWithConstraints.types +++ b/tests/baselines/reference/typeParameterFixingWithConstraints.types @@ -10,7 +10,7 @@ interface IBar { interface IFoo { foo(bar: TBar, bar1: (bar: TBar) => TBar, bar2: (bar: TBar) => TBar): TBar; >foo : (bar: TBar, bar1: (bar: TBar) => TBar, bar2: (bar: TBar) => TBar) => TBar -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >bar : TBar > : ^^^^ >bar1 : (bar: TBar) => TBar @@ -31,11 +31,11 @@ foo.foo({ bar: null }, bar => null, bar => null); >foo.foo({ bar: null }, bar => null, bar => null) : { bar: any; } > : ^^^^^^^^^^^^^ >foo.foo : (bar: TBar, bar1: (bar: TBar) => TBar, bar2: (bar: TBar) => TBar) => TBar -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >foo : IFoo > : ^^^^ >foo : (bar: TBar, bar1: (bar: TBar) => TBar, bar2: (bar: TBar) => TBar) => TBar -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{ bar: null } : { bar: null; } > : ^^^^^^^^^^^^^^ >bar : null diff --git a/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments.types b/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments.types index e360a3c33db55..8c0df2bef7494 100644 --- a/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments.types +++ b/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments.types @@ -19,7 +19,7 @@ function f(y: T, f: (x: T) => U, x: T): [T, U] { return [y, f(x)]; } >f(x) : U > : ^ >f : (x: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >x : T > : ^ @@ -42,7 +42,7 @@ var d = f(b, x => x.a, a); // type [A, A] >f(b, x => x.a, a) : [A, A] > : ^^^^^^ >f : (y: T, f: (x: T) => U, x: T) => [T, U] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >b : B > : ^ >x => x.a : (x: A) => A @@ -64,7 +64,7 @@ var d2 = f(b, x => x.a, null); // type [B, A] >f(b, x => x.a, null) : [B, A] > : ^^^^^^ >f : (y: T, f: (x: T) => U, x: T) => [T, U] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >b : B > : ^ >x => x.a : (x: B) => A @@ -84,7 +84,7 @@ var d3 = f(b, x => x.b, null); // type [B, any] >f(b, x => x.b, null) : [B, any] > : ^^^^^^^^ >f : (y: T, f: (x: T) => U, x: T) => [T, U] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >b : B > : ^ >x => x.b : (x: B) => any diff --git a/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments2.types b/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments2.types index caa3dcfa9ffaf..42f1ca3d701a8 100644 --- a/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments2.types +++ b/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments2.types @@ -23,7 +23,7 @@ function f(y: T, y1: U, p: (z: U) => T, p1: (x: T) => U): [T, U] { return >p1(y) : U > : ^ >p1 : (x: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >y : T > : ^ @@ -47,7 +47,7 @@ var d = f(a, b, x => x, x => x); // A => A not assignable to A => B >f(a, b, x => x, x => x) : [A, B] > : ^^^^^^ >f : (y: T, y1: U, p: (z: U) => T, p1: (x: T) => U) => [T, U] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : A > : ^ >b : B diff --git a/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments3.types b/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments3.types index d91d3c952c5ee..4e538eec3f2f2 100644 --- a/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments3.types +++ b/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments3.types @@ -23,7 +23,7 @@ function f(t1: T, u1: U, pf1: (u2: U) => T, pf2: (t2: T) => U): [T, U] { r >pf2(t1) : U > : ^ >pf2 : (t2: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >t1 : T > : ^ @@ -47,7 +47,7 @@ var d = f(a, b, u2 => u2.b, t2 => t2); >f(a, b, u2 => u2.b, t2 => t2) : [A, B] > : ^^^^^^ >f : (t1: T, u1: U, pf1: (u2: U) => T, pf2: (t2: T) => U) => [T, U] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : A > : ^ >b : B diff --git a/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments4.types b/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments4.types index 8a3e1436793f8..552a5f4c5603f 100644 --- a/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments4.types +++ b/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments4.types @@ -23,7 +23,7 @@ function f(y: T, y1: U, p: (z: U) => T, p1: (x: T) => U): [T, U] { return >p1(y) : U > : ^ >p1 : (x: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >y : T > : ^ @@ -46,7 +46,7 @@ var d = f(a, b, x => x, x => x); // Type [A, B] >f(a, b, x => x, x => x) : [A, B] > : ^^^^^^ >f : (y: T, y1: U, p: (z: U) => T, p1: (x: T) => U) => [T, U] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : A > : ^ >b : B diff --git a/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments5.types b/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments5.types index d6247fd57119f..ada4acdbcd0d9 100644 --- a/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments5.types +++ b/tests/baselines/reference/typeParameterFixingWithContextSensitiveArguments5.types @@ -23,7 +23,7 @@ function f(t1: T, u1: U, pf1: (u2: U) => T, pf2: (t2: T) => U): [T, U] { r >pf2(t1) : U > : ^ >pf2 : (t2: T) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >t1 : T > : ^ @@ -46,7 +46,7 @@ var d = f(a, b, u2 => u2.b, t2 => t2); >f(a, b, u2 => u2.b, t2 => t2) : [any, B] > : ^^^^^^^^ >f : (t1: T, u1: U, pf1: (u2: U) => T, pf2: (t2: T) => U) => [T, U] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : A > : ^ >b : B diff --git a/tests/baselines/reference/typeParameterIndirectlyConstrainedToItself.types b/tests/baselines/reference/typeParameterIndirectlyConstrainedToItself.types index cd16290a1c35f..8b04e72a28b43 100644 --- a/tests/baselines/reference/typeParameterIndirectlyConstrainedToItself.types +++ b/tests/baselines/reference/typeParameterIndirectlyConstrainedToItself.types @@ -21,8 +21,8 @@ function f2() { } > : ^^^^^^^^^^^^^^^^^^^ var a: { ->a : { (): void; (): void; } -> : ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^ +>a : { (): void; (): void; } +> : ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^ (): void; (): void; @@ -52,5 +52,5 @@ type Foo = [T] extends [number] ? {} : {}; function foo>() {} >foo : >() => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^ diff --git a/tests/baselines/reference/typeParameterLeak.types b/tests/baselines/reference/typeParameterLeak.types index 5c79660c23b14..23b5264b75cc5 100644 --- a/tests/baselines/reference/typeParameterLeak.types +++ b/tests/baselines/reference/typeParameterLeak.types @@ -33,19 +33,19 @@ interface BoxFactory { declare const f: BoxFactoryFactory; >f : ((arg: { x: string; }) => BoxFactory> | undefined) | ((arg: { y: string; }) => BoxFactory> | undefined) -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^ ^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^ ^ const b = f({ x: "", y: "" })?.getBox(); >b : Box<{ x: string; }> | Box<{ y: string; }> | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ >f({ x: "", y: "" })?.getBox() : Box<{ x: string; }> | Box<{ y: string; }> | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ >f({ x: "", y: "" })?.getBox : (() => Box<{ y: string; }>) | (() => Box<{ x: string; }>) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ >f({ x: "", y: "" }) : BoxFactory> | BoxFactory> | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ >f : ((arg: { x: string; }) => BoxFactory> | undefined) | ((arg: { y: string; }) => BoxFactory> | undefined) -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^ ^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^ ^ >{ x: "", y: "" } : { x: string; y: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : string @@ -57,20 +57,20 @@ const b = f({ x: "", y: "" })?.getBox(); >"" : "" > : ^^ >getBox : (() => Box<{ y: string; }>) | (() => Box<{ x: string; }>) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ if (b) { >b : Box<{ x: string; }> | Box<{ y: string; }> | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ const x = b.data; >x : { x: string; } | { y: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >b.data : { x: string; } | { y: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >b : Box<{ x: string; }> | Box<{ y: string; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^ >data : { x: string; } | { y: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ } diff --git a/tests/baselines/reference/typeParameterOrderReversal.types b/tests/baselines/reference/typeParameterOrderReversal.types index 4a178d096a2b9..5b9edd32c97c0 100644 --- a/tests/baselines/reference/typeParameterOrderReversal.types +++ b/tests/baselines/reference/typeParameterOrderReversal.types @@ -10,13 +10,13 @@ interface X { // Only difference here is order of type parameters function uFirst, T>(x: U) { } >uFirst : , T>(x: U) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ >x : U > : ^ function tFirst>(x: U) { } >tFirst : >(x: U) => void -> : ^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : U > : ^ @@ -29,7 +29,7 @@ uFirst(z); >uFirst(z) : void > : ^^^^ >uFirst : , T>(x: U) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ >z : X > : ^^^^^^^^^ @@ -37,7 +37,7 @@ tFirst(z); >tFirst(z) : void > : ^^^^ >tFirst : >(x: U) => void -> : ^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >z : X > : ^^^^^^^^^ diff --git a/tests/baselines/reference/typeParameterUsedAsConstraint.types b/tests/baselines/reference/typeParameterUsedAsConstraint.types index 7574975dcef70..35b67664017f3 100644 --- a/tests/baselines/reference/typeParameterUsedAsConstraint.types +++ b/tests/baselines/reference/typeParameterUsedAsConstraint.types @@ -34,85 +34,85 @@ interface I6 { } function f() { } >f : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^ function f2() { } >f2 : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^^^^^^^ function f3() { } >f3 : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^ function f4() { } >f4 : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^ function f5() { } >f5 : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^^^ function f6() { } >f6 : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^ var e = () => { } >e : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^ >() => { } : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^ var e2 = () => { } >e2 : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^^^^^^^ >() => { } : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^^^^^^^ var e3 = () => { } >e3 : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^ >() => { } : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^ var e4 = () => { } >e4 : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^ >() => { } : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^ var e5 = () => { } >e5 : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^^^ >() => { } : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^^^ var e6 = () => { } >e6 : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^ >() => { } : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^ var a: { (): void } >a : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^ var a2: { (): void } >a2 : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^^^ var a3: { (): void } >a3 : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ var a4: { (): void } >a4 : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^ var a5: { (): void } >a5 : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^ var a6: { (): void } >a6 : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ diff --git a/tests/baselines/reference/typeParameterUsedAsTypeParameterConstraint.types b/tests/baselines/reference/typeParameterUsedAsTypeParameterConstraint.types index f3cc89b11177f..3f5806284aa80 100644 --- a/tests/baselines/reference/typeParameterUsedAsTypeParameterConstraint.types +++ b/tests/baselines/reference/typeParameterUsedAsTypeParameterConstraint.types @@ -5,7 +5,7 @@ function foo(x: T, y: U): T { >foo : (x: T, y: U) => T -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T > : ^ >y : U @@ -26,7 +26,7 @@ function foo(x: T, y: U): T { function foo2(x: T, y: U): T { >foo2 : (x: T, y: U) => T -> : ^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T > : ^ >y : U @@ -47,9 +47,9 @@ function foo2(x: T, y: U): T { var f = function (x: T, y: U): T { >f : (x: T, y: U) => T -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >function (x: T, y: U): T { x = y; return y;} : (x: T, y: U) => T -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T > : ^ >y : U @@ -70,9 +70,9 @@ var f = function (x: T, y: U): T { var f2 = function (x: T, y: U): T { >f2 : (x: T, y: U) => T -> : ^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >function (x: T, y: U): T { x = y; return y;} : (x: T, y: U) => T -> : ^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T > : ^ >y : U @@ -93,9 +93,9 @@ var f2 = function (x: T, y: U): T { var f3 = (x: T, y: U): T => { >f3 : (x: T, y: U) => T -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >(x: T, y: U): T => { x = y; return y;} : (x: T, y: U) => T -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T > : ^ >y : U @@ -116,9 +116,9 @@ var f3 = (x: T, y: U): T => { var f4 = (x: T, y: U): T => { >f4 : (x: T, y: U) => T -> : ^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >(x: T, y: U): T => { x = y; return y;} : (x: T, y: U) => T -> : ^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T > : ^ >y : U diff --git a/tests/baselines/reference/typeParameterUsedAsTypeParameterConstraint2.types b/tests/baselines/reference/typeParameterUsedAsTypeParameterConstraint2.types index 74281789bf42a..948c4867d1078 100644 --- a/tests/baselines/reference/typeParameterUsedAsTypeParameterConstraint2.types +++ b/tests/baselines/reference/typeParameterUsedAsTypeParameterConstraint2.types @@ -6,7 +6,7 @@ function foo(x: T, y: U) { >foo : (x: T, y: U) => void -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ >y : U @@ -14,11 +14,11 @@ function foo(x: T, y: U) { function bar() { >bar : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^ function baz(a: X, b: Y): T { >baz : (a: X, b: Y) => T -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a : X > : ^ >b : Y @@ -41,7 +41,7 @@ function foo(x: T, y: U) { function foo2(x: T, y: U) { >foo2 : (x: T, y: U) => void -> : ^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ >y : U @@ -49,11 +49,11 @@ function foo2(x: T, y: U) { function bar() { >bar : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^ function baz(a: X, b: Y): T { >baz : (a: X, b: Y) => T -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a : X > : ^ >b : Y @@ -76,9 +76,9 @@ function foo2(x: T, y: U) { var f = function (x: T, y: U) { >f : (x: T, y: U) => void -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >function (x: T, y: U) { function bar() { var g = function (a: X, b: Y): T { x = y; return y; } }} : (x: T, y: U) => void -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ >y : U @@ -86,13 +86,13 @@ var f = function (x: T, y: U) { function bar() { >bar : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^ var g = function (a: X, b: Y): T { >g : (a: X, b: Y) => T -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >function (a: X, b: Y): T { x = y; return y; } : (a: X, b: Y) => T -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a : X > : ^ >b : Y @@ -115,9 +115,9 @@ var f = function (x: T, y: U) { var f2 = function (x: T, y: U) { >f2 : (x: T, y: U) => void -> : ^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >function (x: T, y: U) { function bar() { var g = function baz(a: X, b: Y): T { x = y; return y; } }} : (x: T, y: U) => void -> : ^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ >y : U @@ -125,15 +125,15 @@ var f2 = function (x: T, y: U) { function bar() { >bar : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^ var g = function baz(a: X, b: Y): T { >g : (a: X, b: Y) => T -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >function baz(a: X, b: Y): T { x = y; return y; } : (a: X, b: Y) => T -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >baz : (a: X, b: Y) => T -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a : X > : ^ >b : Y @@ -156,9 +156,9 @@ var f2 = function (x: T, y: U) { var f3 = (x: T, y: U) => { >f3 : (x: T, y: U) => void -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >(x: T, y: U) => { function bar() { var g = (a: X, b: Y): T => { x = y; return y; } }} : (x: T, y: U) => void -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ >y : U @@ -166,13 +166,13 @@ var f3 = (x: T, y: U) => { function bar() { >bar : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^ var g = (a: X, b: Y): T => { >g : (a: X, b: Y) => T -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >(a: X, b: Y): T => { x = y; return y; } : (a: X, b: Y) => T -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a : X > : ^ >b : Y @@ -195,9 +195,9 @@ var f3 = (x: T, y: U) => { var f4 = (x: T, y: U) => { >f4 : (x: T, y: U) => void -> : ^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >(x: T, y: U) => { function bar() { var g = (a: X, b: Y): T => { x = y; return y; } }} : (x: T, y: U) => void -> : ^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ >y : U @@ -205,13 +205,13 @@ var f4 = (x: T, y: U) => { function bar() { >bar : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^ var g = (a: X, b: Y): T => { >g : (a: X, b: Y) => T -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >(a: X, b: Y): T => { x = y; return y; } : (a: X, b: Y) => T -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a : X > : ^ >b : Y diff --git a/tests/baselines/reference/typeParameterUsedAsTypeParameterConstraint3.types b/tests/baselines/reference/typeParameterUsedAsTypeParameterConstraint3.types index 438bf2f9f5244..231984f659baf 100644 --- a/tests/baselines/reference/typeParameterUsedAsTypeParameterConstraint3.types +++ b/tests/baselines/reference/typeParameterUsedAsTypeParameterConstraint3.types @@ -39,7 +39,7 @@ interface I { foo(x: W): T; >foo : (x: W) => T -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : W > : ^ } @@ -59,7 +59,7 @@ interface I2 { foo(x: W): T; >foo : (x: W) => T -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : W > : ^ } diff --git a/tests/baselines/reference/typeParameterUsedAsTypeParameterConstraint4.types b/tests/baselines/reference/typeParameterUsedAsTypeParameterConstraint4.types index 87873726188ff..bec452bc8e20b 100644 --- a/tests/baselines/reference/typeParameterUsedAsTypeParameterConstraint4.types +++ b/tests/baselines/reference/typeParameterUsedAsTypeParameterConstraint4.types @@ -14,7 +14,7 @@ class C { foo(x: W): T { >foo : (x: W) => T -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : W > : ^ @@ -43,14 +43,14 @@ interface I { foo(x: W): T; >foo : (x: W) => T -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : W > : ^ } function foo(x: T, y: U): V { // error >foo : (x: T, y: U) => V -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T > : ^ >y : U @@ -58,11 +58,11 @@ function foo(x: T, y: U): V { // error function bar(): X { // error >bar : () => X -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ function baz(a: X, b: Y): T { >baz : (a: X, b: Y) => T -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a : X > : ^ >b : Y @@ -85,7 +85,7 @@ function foo(x: T, y: U): V { // error function foo2(x: T, y: U): W { // error >foo2 : (x: T, y: U) => W -> : ^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T > : ^ >y : U @@ -93,11 +93,11 @@ function foo2(x: T, y: U): W { // error function bar(): Y { // error >bar : () => Y -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ function baz(a: X, b: Y): T { >baz : (a: X, b: Y) => T -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a : X > : ^ >b : Y @@ -120,9 +120,9 @@ function foo2(x: T, y: U): W { // error var f3 = (x: T, y: U) => { >f3 : (x: T, y: U) => void -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >(x: T, y: U) => { function bar(r: X, s: Y) { // error var g = (a: X, b: Y): T => { x = y; return y; } }} : (x: T, y: U) => void -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ >y : U @@ -130,7 +130,7 @@ var f3 = (x: T, y: U) => { function bar(r: X, s: Y) { // error >bar : (r: X, s: Y) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >r : X > : ^ >s : Y @@ -138,9 +138,9 @@ var f3 = (x: T, y: U) => { var g = (a: X, b: Y): T => { >g : (a: X, b: Y) => T -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >(a: X, b: Y): T => { x = y; return y; } : (a: X, b: Y) => T -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a : X > : ^ >b : Y @@ -163,9 +163,9 @@ var f3 = (x: T, y: U) => { var f4 = (x: V, y: X) => { // error >f4 : (x: V, y: X) => void -> : ^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >(x: V, y: X) => { // error function bar() { var g = (a: X, b: Y): T => { x = y; return y; } }} : (x: V, y: X) => void -> : ^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : V > : ^ >y : X @@ -173,13 +173,13 @@ var f4 = (x: V, y: X) => { // error function bar() { >bar : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^ var g = (a: X, b: Y): T => { >g : (a: X, b: Y) => T -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >(a: X, b: Y): T => { x = y; return y; } : (a: X, b: Y) => T -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a : X > : ^ >b : Y diff --git a/tests/baselines/reference/typeParametersAndParametersInComputedNames.types b/tests/baselines/reference/typeParametersAndParametersInComputedNames.types index b65942314f5ce..2dbb4e038ae39 100644 --- a/tests/baselines/reference/typeParametersAndParametersInComputedNames.types +++ b/tests/baselines/reference/typeParametersAndParametersInComputedNames.types @@ -22,7 +22,7 @@ class A { >foo(a) : string > : ^^^^^^ >foo : (a: T) => string -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a : any > : ^^^ >a : T diff --git a/tests/baselines/reference/typeParametersAreIdenticalToThemselves.types b/tests/baselines/reference/typeParametersAreIdenticalToThemselves.types index eaa53e0faaf55..b897ad71656bb 100644 --- a/tests/baselines/reference/typeParametersAreIdenticalToThemselves.types +++ b/tests/baselines/reference/typeParametersAreIdenticalToThemselves.types @@ -16,7 +16,7 @@ function foo1(x: T); // no error, different declaration for each T > : ^ function foo1(x: T) { } ->foo1 : { (x: T_1): any; (x: T_2): any; } +>foo1 : { (x: T_1): any; (x: T_1): any; } > : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ @@ -34,7 +34,7 @@ function foo2(x: T); // no error, different declaration for each T > : ^ function foo2(x: T) { } ->foo2 : { (x: T_1): any; (x: T_2): any; } +>foo2 : { (x: T_1): any; (x: T_1): any; } > : ^^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ >x : T > : ^ @@ -72,8 +72,8 @@ function foo3(x: T, y: U) { > : ^ function inner2(x: T); // no error, different T ->inner2 : { (x: T): any; (x: T_1): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +>inner2 : { (x: T_1): any; (x: T): any; } +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ @@ -122,7 +122,7 @@ class C { > : ^ foo2(a: T, x: U) { } ->foo2 : { (a: T, x: U_1): any; (a: T, x: U_2): any; } +>foo2 : { (a: T, x: U_1): any; (a: T, x: U_1): any; } > : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >a : T > : ^ @@ -142,26 +142,26 @@ class C { > : ^ foo3(x: T) { } ->foo3 : { (x: T_1): any; (x: T_2): any; } +>foo3 : { (x: T_1): any; (x: T_1): any; } > : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ foo4(x: T); >foo4 : { (x: T): any; (x: T_1): any; } -> : ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ foo4(x: T); // no error, different declaration for each T >foo4 : { (x: T_1): any; (x: T): any; } -> : ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ foo4(x: T) { } ->foo4 : { (x: T_1): any; (x: T_2): any; } -> : ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>foo4 : { (x: T_1): any; (x: T_1): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ } @@ -205,7 +205,7 @@ class C2 { > : ^ foo2(a: T, x: U) { } ->foo2 : { (a: T, x: U_1): any; (a: T, x: U_2): any; } +>foo2 : { (a: T, x: U_1): any; (a: T, x: U_1): any; } > : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >a : T > : ^ @@ -225,7 +225,7 @@ class C2 { > : ^ foo3(x: T) { } ->foo3 : { (x: T_1): any; (x: T_2): any; } +>foo3 : { (x: T_1): any; (x: T_1): any; } > : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ @@ -274,13 +274,13 @@ interface I { foo4(x: T); >foo4 : { (x: T): any; (x: T_1): any; } -> : ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ foo4(x: T); // no error, different declaration for each T >foo4 : { (x: T_1): any; (x: T): any; } -> : ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ } diff --git a/tests/baselines/reference/typeParametersAvailableInNestedScope3.js b/tests/baselines/reference/typeParametersAvailableInNestedScope3.js index 059ab4da1feea..1d9392077afae 100644 --- a/tests/baselines/reference/typeParametersAvailableInNestedScope3.js +++ b/tests/baselines/reference/typeParametersAvailableInNestedScope3.js @@ -32,8 +32,8 @@ function foo(v) { declare function foo(v: T): { a: (a: T_1) => T_1; b: () => T; - c: (v: T_2) => { - a: (a: T_3) => T_3; - b: () => T_2; + c: (v: T_1) => { + a: (a: T_2) => T_2; + b: () => T_1; }; }; diff --git a/tests/baselines/reference/typeParametersAvailableInNestedScope3.types b/tests/baselines/reference/typeParametersAvailableInNestedScope3.types index 5fc8db0ac6e7e..91fb66dbb485f 100644 --- a/tests/baselines/reference/typeParametersAvailableInNestedScope3.types +++ b/tests/baselines/reference/typeParametersAvailableInNestedScope3.types @@ -2,7 +2,7 @@ === typeParametersAvailableInNestedScope3.ts === function foo(v: T) { ->foo : (v: T) => { a: (a: T_1) => T_1; b: () => T; c: (v: T_2) => { a: (a: T_3) => T_3; b: () => T_2; }; } +>foo : (v: T) => { a: (a: T_1) => T_1; b: () => T; c: (v: T_1) => { a: (a: T_2) => T_2; b: () => T_1; }; } > : ^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^ >v : T > : ^ @@ -43,21 +43,21 @@ function foo(v: T) { return { a, b }; >{ a, b } : { a: (a: T_1) => T_1; b: () => T; } -> : ^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ >a : (a: T_1) => T_1 > : ^ ^^ ^^ ^^^^^^^^ >b : () => T -> : ^^^^^^^ +> : ^^^^^^ } return { a, b, c }; ->{ a, b, c } : { a: (a: T_1) => T_1; b: () => T; c: (v: T_2) => { a: (a: T_3) => T_3; b: () => T_2; }; } -> : ^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{ a, b, c } : { a: (a: T_1) => T_1; b: () => T; c: (v: T_1) => { a: (a: T_2) => T_2; b: () => T_1; }; } +> : ^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^ >a : (a: T_1) => T_1 > : ^ ^^ ^^ ^^^^^^^^ >b : () => T -> : ^^^^^^^ +> : ^^^^^^ >c : (v: T_1) => { a: (a: T_2) => T_2; b: () => T_1; } -> : ^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ } diff --git a/tests/baselines/reference/typeParametersInStaticAccessors.types b/tests/baselines/reference/typeParametersInStaticAccessors.types index 24e855a13a0c1..77f3193522c9b 100644 --- a/tests/baselines/reference/typeParametersInStaticAccessors.types +++ b/tests/baselines/reference/typeParametersInStaticAccessors.types @@ -7,13 +7,13 @@ class foo { static get Foo(): () => T { return null; } >Foo : () => T -> : ^^^^^^^ +> : ^^^^^^ static set Bar(v: { v: T }) { } >Bar : { v: T; } -> : ^^^^^^^^^ +> : ^^^^^ ^^^ >v : { v: T; } -> : ^^^^^^^^^ +> : ^^^^^ ^^^ >v : T > : ^ } diff --git a/tests/baselines/reference/typeParametersInStaticMethods.types b/tests/baselines/reference/typeParametersInStaticMethods.types index 9319245303c8a..dcba9fc2668a2 100644 --- a/tests/baselines/reference/typeParametersInStaticMethods.types +++ b/tests/baselines/reference/typeParametersInStaticMethods.types @@ -9,11 +9,11 @@ class foo { >M : (x: (x: T) => { x: { y: T; }; }) => void > : ^ ^^ ^^^^^^^^^ >x : (x: T) => { x: { y: T; }; } -> : ^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >x : T > : ^ >x : { y: T; } -> : ^^^^^^^^^ +> : ^^^^^ ^^^ >y : T > : ^ } diff --git a/tests/baselines/reference/typeParametersShouldNotBeEqual2.types b/tests/baselines/reference/typeParametersShouldNotBeEqual2.types index 1dd1fb0ded432..da7c03932120f 100644 --- a/tests/baselines/reference/typeParametersShouldNotBeEqual2.types +++ b/tests/baselines/reference/typeParametersShouldNotBeEqual2.types @@ -3,7 +3,7 @@ === typeParametersShouldNotBeEqual2.ts === function ff(x: T, y: U, z: V) { >ff : (x: T, y: U, z: V) => void -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ >y : U diff --git a/tests/baselines/reference/typeParametersShouldNotBeEqual3.types b/tests/baselines/reference/typeParametersShouldNotBeEqual3.types index 284ed32531363..7d9075ec04813 100644 --- a/tests/baselines/reference/typeParametersShouldNotBeEqual3.types +++ b/tests/baselines/reference/typeParametersShouldNotBeEqual3.types @@ -3,7 +3,7 @@ === typeParametersShouldNotBeEqual3.ts === function ff(x: T, y: U) { >ff : (x: T, y: U) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ >y : U diff --git a/tests/baselines/reference/typePredicateFreshLiteralWidening.types b/tests/baselines/reference/typePredicateFreshLiteralWidening.types index f46439c8ffeca..ca41e15ec3ec5 100644 --- a/tests/baselines/reference/typePredicateFreshLiteralWidening.types +++ b/tests/baselines/reference/typePredicateFreshLiteralWidening.types @@ -14,15 +14,15 @@ type Narrow = (A extends Narrowable ? A : never) | ({ const satisfies = >satisfies : () => (narrow: Narrow) => Narrow -> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ () => >() => (narrow: Narrow) => narrow : () => (narrow: Narrow) => Narrow -> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ (narrow: Narrow) => >(narrow: Narrow) => narrow : (narrow: Narrow) => Narrow -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ >narrow : Narrow > : ^^^^^^^^^^^^^^^ @@ -58,7 +58,7 @@ const item1 = satisfies()({ value: "1" }); >satisfies() : (narrow: Narrow) => Narrow > : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >satisfies : () => (narrow: Narrow) => Narrow -> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ >{ value: "1" } : { value: "1"; } > : ^^^^^^^^^^^^^^^ >value : "1" @@ -74,7 +74,7 @@ const item2 = satisfies()({ value: "2" }); >satisfies() : (narrow: Narrow) => Narrow > : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >satisfies : () => (narrow: Narrow) => Narrow -> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ >{ value: "2" } : { value: "2"; } > : ^^^^^^^^^^^^^^^ >value : "2" @@ -90,7 +90,7 @@ const item3 = satisfies()({ value: null }); >satisfies() : (narrow: Narrow) => Narrow > : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >satisfies : () => (narrow: Narrow) => Narrow -> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ >{ value: null } : { value: null; } > : ^^^^^^^^^^^^^^^^ >value : null @@ -112,13 +112,13 @@ const filteredValues2 = values2.filter(isNotNull); >values2.filter(isNotNull) : ("1" | "2")[] > : ^^^^^^^^^^^^^ >values2.filter : { (predicate: (value: "1" | "2" | null, index: number, array: ("1" | "2" | null)[]) => value is S, thisArg?: any): S[]; (predicate: (value: "1" | "2" | null, index: number, array: ("1" | "2" | null)[]) => unknown, thisArg?: any): ("1" | "2" | null)[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ >values2 : ("1" | "2" | null)[] > : ^^^^^^^^^^^^^^^^^^^^ >filter : { (predicate: (value: "1" | "2" | null, index: number, array: ("1" | "2" | null)[]) => value is S, thisArg?: any): S[]; (predicate: (value: "1" | "2" | null, index: number, array: ("1" | "2" | null)[]) => unknown, thisArg?: any): ("1" | "2" | null)[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ >isNotNull : (value: T | null) => value is T -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ const values1 = [item1, item2, item3].map(item => item.value); >values1 : ("1" | "2" | null)[] @@ -126,7 +126,7 @@ const values1 = [item1, item2, item3].map(item => item.value); >[item1, item2, item3].map(item => item.value) : ("1" | "2" | null)[] > : ^^^^^^^^^^^^^^^^^^^^ >[item1, item2, item3].map : (callbackfn: (value: { value: "1"; } | { value: "2"; } | { value: null; }, index: number, array: ({ value: "1"; } | { value: "2"; } | { value: null; })[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >[item1, item2, item3] : ({ value: "1"; } | { value: "2"; } | { value: null; })[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >item1 : { value: "1"; } @@ -136,7 +136,7 @@ const values1 = [item1, item2, item3].map(item => item.value); >item3 : { value: null; } > : ^^^^^^^^^^^^^^^^ >map : (callbackfn: (value: { value: "1"; } | { value: "2"; } | { value: null; }, index: number, array: ({ value: "1"; } | { value: "2"; } | { value: null; })[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >item => item.value : (item: { value: "1"; } | { value: "2"; } | { value: null; }) => "1" | "2" | null > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >item : { value: "1"; } | { value: "2"; } | { value: null; } @@ -154,11 +154,11 @@ const filteredValues1 = values1.filter(isNotNull); >values1.filter(isNotNull) : ("1" | "2")[] > : ^^^^^^^^^^^^^ >values1.filter : { (predicate: (value: "1" | "2" | null, index: number, array: ("1" | "2" | null)[]) => value is S, thisArg?: any): S[]; (predicate: (value: "1" | "2" | null, index: number, array: ("1" | "2" | null)[]) => unknown, thisArg?: any): ("1" | "2" | null)[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ >values1 : ("1" | "2" | null)[] > : ^^^^^^^^^^^^^^^^^^^^ >filter : { (predicate: (value: "1" | "2" | null, index: number, array: ("1" | "2" | null)[]) => value is S, thisArg?: any): S[]; (predicate: (value: "1" | "2" | null, index: number, array: ("1" | "2" | null)[]) => unknown, thisArg?: any): ("1" | "2" | null)[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ >isNotNull : (value: T | null) => value is T -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/typePredicateInLoop.types b/tests/baselines/reference/typePredicateInLoop.types index 707e9e2a0c495..9cd7e2a04ea4f 100644 --- a/tests/baselines/reference/typePredicateInLoop.types +++ b/tests/baselines/reference/typePredicateInLoop.types @@ -53,7 +53,7 @@ export function y(arg: Type): void { >guard(arg) : boolean > : ^^^^^^^ >guard : (arg: Type) => arg is TypeExt -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >arg : Type > : ^^^^ @@ -71,7 +71,7 @@ export function y(arg: Type): void { >otherFunc(ITEM, arg) : void > : ^^^^ >otherFunc : (arg1: Type, arg2: TypeExt) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >ITEM : Type > : ^^^^ >arg : TypeExt diff --git a/tests/baselines/reference/typePredicateOnVariableDeclaration02.errors.txt b/tests/baselines/reference/typePredicateOnVariableDeclaration02.errors.txt index d873a09bfb016..bd3452620b456 100644 --- a/tests/baselines/reference/typePredicateOnVariableDeclaration02.errors.txt +++ b/tests/baselines/reference/typePredicateOnVariableDeclaration02.errors.txt @@ -1,15 +1,12 @@ typePredicateOnVariableDeclaration02.ts(1,8): error TS2304: Cannot find name 'z'. -typePredicateOnVariableDeclaration02.ts(1,8): error TS4025: Exported variable 'y' has or is using private name 'z'. typePredicateOnVariableDeclaration02.ts(1,10): error TS1005: ',' expected. typePredicateOnVariableDeclaration02.ts(1,13): error TS1005: ',' expected. -==== typePredicateOnVariableDeclaration02.ts (4 errors) ==== +==== typePredicateOnVariableDeclaration02.ts (3 errors) ==== var y: z is number; ~ !!! error TS2304: Cannot find name 'z'. - ~ -!!! error TS4025: Exported variable 'y' has or is using private name 'z'. ~~ !!! error TS1005: ',' expected. ~~~~~~ diff --git a/tests/baselines/reference/typePredicateOnVariableDeclaration02.js b/tests/baselines/reference/typePredicateOnVariableDeclaration02.js index 55b140bcf8c24..ea889758d0d8c 100644 --- a/tests/baselines/reference/typePredicateOnVariableDeclaration02.js +++ b/tests/baselines/reference/typePredicateOnVariableDeclaration02.js @@ -5,3 +5,7 @@ var y: z is number; //// [typePredicateOnVariableDeclaration02.js] var y, is, number; + + +//// [typePredicateOnVariableDeclaration02.d.ts] +declare var y: z, is: any, number: any; diff --git a/tests/baselines/reference/typePredicateStructuralMatch.types b/tests/baselines/reference/typePredicateStructuralMatch.types index f8a82f247bc85..b39cb915cb3a3 100644 --- a/tests/baselines/reference/typePredicateStructuralMatch.types +++ b/tests/baselines/reference/typePredicateStructuralMatch.types @@ -7,7 +7,7 @@ getResults1([]); >getResults1([]) : Results > : ^^^^^^^ >getResults1 : (value: Results | { data: Results; }) => Results -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >[] : undefined[] > : ^^^^^^^^^^^ @@ -15,7 +15,7 @@ getResults1({data: []}); >getResults1({data: []}) : Results > : ^^^^^^^ >getResults1 : (value: Results | { data: Results; }) => Results -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >{data: []} : { data: undefined[]; } > : ^^^^^^^^^^^^^^^^^^^^^^ >data : undefined[] @@ -27,7 +27,7 @@ getResults2([]); >getResults2([]) : Results > : ^^^^^^^ >getResults2 : (value: Results | { data: Results; }) => Results -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >[] : undefined[] > : ^^^^^^^^^^^ @@ -35,7 +35,7 @@ getResults2({data: []}); >getResults2({data: []}) : Results > : ^^^^^^^ >getResults2 : (value: Results | { data: Results; }) => Results -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >{data: []} : { data: undefined[]; } > : ^^^^^^^^^^^^^^^^^^^^^^ >data : undefined[] @@ -67,11 +67,11 @@ function isResponseInData(value: T | { data: T}): value is { data: T } { >value.hasOwnProperty('data') : boolean > : ^^^^^^^ >value.hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >value : T | { data: T; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ >hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'data' : "data" > : ^^^^^^ } @@ -90,13 +90,13 @@ function getResults1(value: Results | { data: Results }): Results { >isResponseInData(value) : boolean > : ^^^^^^^ >isResponseInData : (value: T | { data: T; }) => value is { data: T; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >value : Results | { data: Results; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^ >value.data : Results > : ^^^^^^^ >value : { data: Results; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >data : Results > : ^^^^^^^ >value : Results @@ -117,11 +117,11 @@ function isPlainResponse(value: T | { data: T}): value is T { >value.hasOwnProperty('data') : boolean > : ^^^^^^^ >value.hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >value : T | { data: T; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ >hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'data' : "data" > : ^^^^^^ } @@ -140,15 +140,15 @@ function getResults2(value: Results | { data: Results }): Results { >isPlainResponse(value) : boolean > : ^^^^^^^ >isPlainResponse : (value: T | { data: T; }) => value is T -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >value : Results | { data: Results; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^ >value : Results > : ^^^^^^^ >value.data : Results > : ^^^^^^^ >value : { data: Results; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >data : Results > : ^^^^^^^ } diff --git a/tests/baselines/reference/typePredicateTopLevelTypeParameter.types b/tests/baselines/reference/typePredicateTopLevelTypeParameter.types index 2768c38cff38c..f991272ff56b1 100644 --- a/tests/baselines/reference/typePredicateTopLevelTypeParameter.types +++ b/tests/baselines/reference/typePredicateTopLevelTypeParameter.types @@ -30,7 +30,7 @@ const admins = ['Mike', 'Joe'].map(e => getPermissions(e)); >['Mike', 'Joe'].map(e => getPermissions(e)) : ("admin" | undefined)[] > : ^^^^^^^^^^^^^^^^^^^^^^^ >['Mike', 'Joe'].map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >['Mike', 'Joe'] : string[] > : ^^^^^^^^ >'Mike' : "Mike" @@ -38,7 +38,7 @@ const admins = ['Mike', 'Joe'].map(e => getPermissions(e)); >'Joe' : "Joe" > : ^^^^^ >map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >e => getPermissions(e) : (e: string) => "admin" | undefined > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >e : string @@ -71,11 +71,11 @@ const foundAdmins = admins.filter(isDefined); // "admin"[] >admins.filter(isDefined) : "admin"[] > : ^^^^^^^^^ >admins.filter : { (predicate: (value: "admin" | undefined, index: number, array: ("admin" | undefined)[]) => value is S, thisArg?: any): S[]; (predicate: (value: "admin" | undefined, index: number, array: ("admin" | undefined)[]) => unknown, thisArg?: any): ("admin" | undefined)[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >admins : ("admin" | undefined)[] > : ^^^^^^^^^^^^^^^^^^^^^^^ >filter : { (predicate: (value: "admin" | undefined, index: number, array: ("admin" | undefined)[]) => value is S, thisArg?: any): S[]; (predicate: (value: "admin" | undefined, index: number, array: ("admin" | undefined)[]) => unknown, thisArg?: any): ("admin" | undefined)[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >isDefined : (a: T | undefined) => a is T -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/typePredicateWithThisParameter.types b/tests/baselines/reference/typePredicateWithThisParameter.types index b1856b0e08bc9..171a485208f4b 100644 --- a/tests/baselines/reference/typePredicateWithThisParameter.types +++ b/tests/baselines/reference/typePredicateWithThisParameter.types @@ -54,7 +54,7 @@ if (isFoo1(test)) { >isFoo1(test) : boolean > : ^^^^^^^ >isFoo1 : (object: {}) => object is Foo -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >test : Foo | Bar > : ^^^^^^^^^ @@ -75,7 +75,7 @@ if (isFoo2(test)) { >isFoo2(test) : boolean > : ^^^^^^^ >isFoo2 : (this: void, object: {}) => object is Foo -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >test : Foo | Bar > : ^^^^^^^^^ diff --git a/tests/baselines/reference/typePredicatesCanNarrowByDiscriminant.types b/tests/baselines/reference/typePredicatesCanNarrowByDiscriminant.types index e2f824b1d7c71..f88113a869107 100644 --- a/tests/baselines/reference/typePredicatesCanNarrowByDiscriminant.types +++ b/tests/baselines/reference/typePredicatesCanNarrowByDiscriminant.types @@ -14,7 +14,7 @@ declare const fruit: { kind: 'apple'} | { kind: 'banana' } | { kind: 'cherry' } declare function isOneOf(item: T, array: readonly U[]): item is U >isOneOf : (item: T, array: readonly U[]) => item is U -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >item : T > : ^ >array : readonly U[] @@ -24,11 +24,11 @@ if (isOneOf(fruit.kind, ['apple', 'banana'] as const)) { >isOneOf(fruit.kind, ['apple', 'banana'] as const) : boolean > : ^^^^^^^ >isOneOf : (item: T, array: readonly U[]) => item is U -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >fruit.kind : "apple" | "banana" | "cherry" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >fruit : { kind: "apple"; } | { kind: "banana"; } | { kind: "cherry"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ >kind : "apple" | "banana" | "cherry" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >['apple', 'banana'] as const : readonly ["apple", "banana"] @@ -44,13 +44,13 @@ if (isOneOf(fruit.kind, ['apple', 'banana'] as const)) { >fruit.kind : "apple" | "banana" > : ^^^^^^^^^^^^^^^^^^ >fruit : { kind: "apple"; } | { kind: "banana"; } | { kind: "cherry"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ >kind : "apple" | "banana" > : ^^^^^^^^^^^^^^^^^^ fruit >fruit : { kind: "apple"; } | { kind: "banana"; } | { kind: "cherry"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ } declare const fruit2: { kind: 'apple'} | { kind: 'banana' } | { kind: 'cherry' } @@ -69,7 +69,7 @@ const kind = fruit2.kind; >fruit2.kind : "apple" | "banana" | "cherry" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >fruit2 : { kind: "apple"; } | { kind: "banana"; } | { kind: "cherry"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ >kind : "apple" | "banana" | "cherry" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -77,7 +77,7 @@ if (isOneOf(kind, ['apple', 'banana'] as const)) { >isOneOf(kind, ['apple', 'banana'] as const) : boolean > : ^^^^^^^ >isOneOf : (item: T, array: readonly U[]) => item is U -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >kind : "apple" | "banana" | "cherry" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >['apple', 'banana'] as const : readonly ["apple", "banana"] @@ -93,11 +93,11 @@ if (isOneOf(kind, ['apple', 'banana'] as const)) { >fruit2.kind : "apple" | "banana" | "cherry" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >fruit2 : { kind: "apple"; } | { kind: "banana"; } | { kind: "cherry"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ >kind : "apple" | "banana" | "cherry" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ fruit2 >fruit2 : { kind: "apple"; } | { kind: "banana"; } | { kind: "cherry"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ } diff --git a/tests/baselines/reference/typePredicatesInUnion.types b/tests/baselines/reference/typePredicatesInUnion.types index f587828f323bc..b0e2257fe5cc1 100644 --- a/tests/baselines/reference/typePredicatesInUnion.types +++ b/tests/baselines/reference/typePredicatesInUnion.types @@ -32,11 +32,11 @@ function f(o: Or, x: {}) { >o.pred(x) : boolean > : ^^^^^^^ >o.pred : ((x: {}) => x is boolean) | ((x: {}) => x is string) -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ >o : Or > : ^^ >pred : ((x: {}) => x is boolean) | ((x: {}) => x is string) -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ >x : {} > : ^^ diff --git a/tests/baselines/reference/typePredicatesInUnion2.types b/tests/baselines/reference/typePredicatesInUnion2.types index 7460e3eb73b15..8c8bbf9eddc47 100644 --- a/tests/baselines/reference/typePredicatesInUnion2.types +++ b/tests/baselines/reference/typePredicatesInUnion2.types @@ -15,25 +15,25 @@ declare function f(p: typeof isString | typeof isNumber): void; >f : (p: typeof isString | typeof isNumber) => void > : ^ ^^ ^^^^^ >p : ((x: any) => x is string) | ((x: any) => x is number) -> : ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ >isString : (x: any) => x is string -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >isNumber : (x: any) => x is number -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ f(isString); >f(isString) : void > : ^^^^ >f : (p: typeof isString | typeof isNumber) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >isString : (x: any) => x is string -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ f(isNumber); >f(isNumber) : void > : ^^^^ >f : (p: typeof isString | typeof isNumber) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >isNumber : (x: any) => x is number -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ diff --git a/tests/baselines/reference/typePredicatesInUnion3.types b/tests/baselines/reference/typePredicatesInUnion3.types index aaf88605c9a3f..649515ad8ad25 100644 --- a/tests/baselines/reference/typePredicatesInUnion3.types +++ b/tests/baselines/reference/typePredicatesInUnion3.types @@ -183,11 +183,11 @@ if (val.predicate()) { >val.predicate() : boolean > : ^^^^^^^ >val.predicate : (() => this is HasAttribute) | (() => boolean) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^ ^ >val : Type1 | Type2 > : ^^^^^^^^^^^^^ >predicate : (() => this is HasAttribute) | (() => boolean) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^ ^ assertType(val.attribute); // Error >assertType(val.attribute) : void diff --git a/tests/baselines/reference/typePredicatesInUnion_noMatch.types b/tests/baselines/reference/typePredicatesInUnion_noMatch.types index 8191c242c7eb5..c2a1a4fab4418 100644 --- a/tests/baselines/reference/typePredicatesInUnion_noMatch.types +++ b/tests/baselines/reference/typePredicatesInUnion_noMatch.types @@ -38,11 +38,11 @@ function f(o: Or, x: {}, y: {}) { >o.pred(x, y) : boolean > : ^^^^^^^ >o.pred : ((x: {}, y: {}) => x is boolean) | ((x: {}, y: {}) => y is string) -> : ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^ >o : Or > : ^^ >pred : ((x: {}, y: {}) => x is boolean) | ((x: {}, y: {}) => y is string) -> : ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^ >x : {} > : ^^ >y : {} diff --git a/tests/baselines/reference/typePredicatesOptionalChaining1.types b/tests/baselines/reference/typePredicatesOptionalChaining1.types index 2256cdd08c72a..fbaaef7607fbe 100644 --- a/tests/baselines/reference/typePredicatesOptionalChaining1.types +++ b/tests/baselines/reference/typePredicatesOptionalChaining1.types @@ -85,15 +85,15 @@ isNotNull(x?.y?.z) ? title(x.y.z) : null; // should not error >isNotNull(x?.y?.z) : boolean > : ^^^^^^^ >isNotNull : (x: A) => x is NonNullable -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x?.y?.z : string | undefined > : ^^^^^^^^^^^^^^^^^^ ->x?.y : { z?: string | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x?.y : { z?: string; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ >x : X > : ^ ->y : { z?: string | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>y : { z?: string; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ >z : string | undefined > : ^^^^^^^^^^^^^^^^^^ >title(x.y.z) : string @@ -102,12 +102,12 @@ isNotNull(x?.y?.z) ? title(x.y.z) : null; // should not error > : ^ ^^ ^^^^^^^^^^^ >x.y.z : string > : ^^^^^^ ->x.y : { z?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x.y : { z?: string; } +> : ^^^^^^ ^^^ >x : X > : ^ ->y : { z?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>y : { z?: string; } +> : ^^^^^^ ^^^ >z : string > : ^^^^^^ diff --git a/tests/baselines/reference/typePredicatesOptionalChaining2.types b/tests/baselines/reference/typePredicatesOptionalChaining2.types index 3cc9119dfd27d..5838a1ccd6a8b 100644 --- a/tests/baselines/reference/typePredicatesOptionalChaining2.types +++ b/tests/baselines/reference/typePredicatesOptionalChaining2.types @@ -73,7 +73,7 @@ const getName2 = (person?: Person): string => { >isString(person?.name) : boolean > : ^^^^^^^ >isString : (value: any) => value is string -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >person?.name : string | undefined > : ^^^^^^^^^^^^^^^^^^ >person : Person | undefined diff --git a/tests/baselines/reference/typePredicatesOptionalChaining3.types b/tests/baselines/reference/typePredicatesOptionalChaining3.types index 31d2d0f9d5951..4c53548c28ba9 100644 --- a/tests/baselines/reference/typePredicatesOptionalChaining3.types +++ b/tests/baselines/reference/typePredicatesOptionalChaining3.types @@ -68,8 +68,8 @@ function getBreedSizeWithFunction(animal: Animal): string | undefined { > : ^^^^^^^ >isNil(animal?.breed?.size) : boolean > : ^^^^^^^ ->isNil : (value: unknown) => value is null | undefined -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>isNil : (value: unknown) => value is undefined | null +> : ^ ^^ ^^^^^ >animal?.breed?.size : string | undefined > : ^^^^^^^^^^^^^^^^^^ >animal?.breed : Breed | undefined diff --git a/tests/baselines/reference/typeReferenceDirectives11.js b/tests/baselines/reference/typeReferenceDirectives11.js deleted file mode 100644 index 5853619bf733b..0000000000000 --- a/tests/baselines/reference/typeReferenceDirectives11.js +++ /dev/null @@ -1,23 +0,0 @@ -//// [tests/cases/compiler/typeReferenceDirectives11.ts] //// - -//// [index.d.ts] -interface Lib { x } - -//// [mod1.ts] -export function foo(): Lib { return {x: 1} } - -//// [mod2.ts] -import {foo} from "./mod1"; -export const bar = foo(); - - - - -!!!! File /output.d.ts missing from original emit, but present in noCheck emit -//// [output.d.ts] -declare module "mod1" { - export function foo(): Lib; -} -declare module "mod2" { - export const bar: Lib; -} diff --git a/tests/baselines/reference/typeReferenceDirectives11.types b/tests/baselines/reference/typeReferenceDirectives11.types index 2010a0dcc8640..ed150bfb6ab83 100644 --- a/tests/baselines/reference/typeReferenceDirectives11.types +++ b/tests/baselines/reference/typeReferenceDirectives11.types @@ -3,7 +3,7 @@ === /mod2.ts === import {foo} from "./mod1"; >foo : () => Lib -> : ^^^^^^^^^ +> : ^^^^^^ export const bar = foo(); >bar : Lib @@ -11,7 +11,7 @@ export const bar = foo(); >foo() : Lib > : ^^^ >foo : () => Lib -> : ^^^^^^^^^ +> : ^^^^^^ === /types/lib/index.d.ts === interface Lib { x } diff --git a/tests/baselines/reference/typeReferenceDirectives12.js b/tests/baselines/reference/typeReferenceDirectives12.js deleted file mode 100644 index dd06ed073a709..0000000000000 --- a/tests/baselines/reference/typeReferenceDirectives12.js +++ /dev/null @@ -1,60 +0,0 @@ -//// [tests/cases/compiler/typeReferenceDirectives12.ts] //// - -//// [index.d.ts] -interface Lib { x } - -//// [main.ts] -export class Cls { - x -} - -//// [mod1.ts] -/// - -import {Cls} from "./main"; -Cls.prototype.foo = function() { return undefined; } - -declare module "./main" { - interface Cls { - foo(): Lib; - } - namespace Cls { - function bar(): Lib; - } -} - -//// [mod2.ts] -import { Cls } from "./main"; -import "./mod1"; - -export const cls = Cls; -export const foo = new Cls().foo(); -export const bar = Cls.bar(); - - - - -!!!! File /output.d.ts missing from original emit, but present in noCheck emit -//// [output.d.ts] -declare module "main" { - export class Cls { - x: any; - } -} -declare module "mod1" { - module "main" { - interface Cls { - foo(): Lib; - } - namespace Cls { - function bar(): Lib; - } - } -} -declare module "mod2" { - import { Cls } from "main"; - import "mod1"; - export const cls: typeof Cls; - export const foo: Lib; - export const bar: Lib; -} diff --git a/tests/baselines/reference/typeReferenceDirectives12.types b/tests/baselines/reference/typeReferenceDirectives12.types index 61fcff511ad2b..b37d4c672e421 100644 --- a/tests/baselines/reference/typeReferenceDirectives12.types +++ b/tests/baselines/reference/typeReferenceDirectives12.types @@ -19,13 +19,13 @@ export const foo = new Cls().foo(); >new Cls().foo() : Lib > : ^^^ >new Cls().foo : () => Lib -> : ^^^^^^^^^ +> : ^^^^^^ >new Cls() : Cls > : ^^^ >Cls : typeof Cls > : ^^^^^^^^^^ >foo : () => Lib -> : ^^^^^^^^^ +> : ^^^^^^ export const bar = Cls.bar(); >bar : Lib @@ -33,11 +33,11 @@ export const bar = Cls.bar(); >Cls.bar() : Lib > : ^^^ >Cls.bar : () => Lib -> : ^^^^^^^^^ +> : ^^^^^^ >Cls : typeof Cls > : ^^^^^^^^^^ >bar : () => Lib -> : ^^^^^^^^^ +> : ^^^^^^ === /types/lib/index.d.ts === interface Lib { x } @@ -65,7 +65,7 @@ Cls.prototype.foo = function() { return undefined; } >Cls.prototype.foo = function() { return undefined; } : () => any > : ^^^^^^^^^ >Cls.prototype.foo : () => Lib -> : ^^^^^^^^^ +> : ^^^^^^ >Cls.prototype : Cls > : ^^^ >Cls : typeof Cls @@ -73,7 +73,7 @@ Cls.prototype.foo = function() { return undefined; } >prototype : Cls > : ^^^ >foo : () => Lib -> : ^^^^^^^^^ +> : ^^^^^^ >function() { return undefined; } : () => any > : ^^^^^^^^^ >undefined : undefined diff --git a/tests/baselines/reference/typeReferenceDirectives13.types b/tests/baselines/reference/typeReferenceDirectives13.types index a1ae4b1679731..de01a5e6cc406 100644 --- a/tests/baselines/reference/typeReferenceDirectives13.types +++ b/tests/baselines/reference/typeReferenceDirectives13.types @@ -11,7 +11,7 @@ export interface A { >x : () => typeof $ > : ^^^^^^ >$ : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ } === /ref.d.ts === diff --git a/tests/baselines/reference/typeReferenceDirectives5.types b/tests/baselines/reference/typeReferenceDirectives5.types index e48a27e966274..3e22fb4d984dc 100644 --- a/tests/baselines/reference/typeReferenceDirectives5.types +++ b/tests/baselines/reference/typeReferenceDirectives5.types @@ -9,9 +9,9 @@ import {$} from "./ref"; export interface A { x: typeof $; >x : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >$ : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ } === /ref.d.ts === export interface $ { x } diff --git a/tests/baselines/reference/typeReferenceDirectives8.types b/tests/baselines/reference/typeReferenceDirectives8.types index bfce45067c6e5..f84010e0d9529 100644 --- a/tests/baselines/reference/typeReferenceDirectives8.types +++ b/tests/baselines/reference/typeReferenceDirectives8.types @@ -3,7 +3,7 @@ === /mod2.ts === import {foo} from "./mod1"; >foo : () => Lib -> : ^^^^^^^^^ +> : ^^^^^^ export const bar = foo(); >bar : Lib @@ -11,7 +11,7 @@ export const bar = foo(); >foo() : Lib > : ^^^ >foo : () => Lib -> : ^^^^^^^^^ +> : ^^^^^^ === /types/lib/index.d.ts === interface Lib { x } diff --git a/tests/baselines/reference/typeReferenceDirectives9.types b/tests/baselines/reference/typeReferenceDirectives9.types index 640b8d0e87f19..3baaa19c90a76 100644 --- a/tests/baselines/reference/typeReferenceDirectives9.types +++ b/tests/baselines/reference/typeReferenceDirectives9.types @@ -19,13 +19,13 @@ export const foo = new Cls().foo(); >new Cls().foo() : Lib > : ^^^ >new Cls().foo : () => Lib -> : ^^^^^^^^^ +> : ^^^^^^ >new Cls() : Cls > : ^^^ >Cls : typeof Cls > : ^^^^^^^^^^ >foo : () => Lib -> : ^^^^^^^^^ +> : ^^^^^^ export const bar = Cls.bar(); >bar : Lib @@ -33,11 +33,11 @@ export const bar = Cls.bar(); >Cls.bar() : Lib > : ^^^ >Cls.bar : () => Lib -> : ^^^^^^^^^ +> : ^^^^^^ >Cls : typeof Cls > : ^^^^^^^^^^ >bar : () => Lib -> : ^^^^^^^^^ +> : ^^^^^^ === /types/lib/index.d.ts === interface Lib { x } @@ -63,7 +63,7 @@ Cls.prototype.foo = function() { return undefined; } >Cls.prototype.foo = function() { return undefined; } : () => any > : ^^^^^^^^^ >Cls.prototype.foo : () => Lib -> : ^^^^^^^^^ +> : ^^^^^^ >Cls.prototype : Cls > : ^^^ >Cls : typeof Cls @@ -71,7 +71,7 @@ Cls.prototype.foo = function() { return undefined; } >prototype : Cls > : ^^^ >foo : () => Lib -> : ^^^^^^^^^ +> : ^^^^^^ >function() { return undefined; } : () => any > : ^^^^^^^^^ >undefined : undefined diff --git a/tests/baselines/reference/typeSatisfaction.types b/tests/baselines/reference/typeSatisfaction.types index 7f036520876bb..bbdfeb5782bfb 100644 --- a/tests/baselines/reference/typeSatisfaction.types +++ b/tests/baselines/reference/typeSatisfaction.types @@ -84,11 +84,11 @@ const t5 = (m => m.substring(0)) satisfies T2; // Ok >m.substring(0) : string > : ^^^^^^ >m.substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >m : string > : ^^^^^^ >substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/typeSatisfaction_errorLocations1.types b/tests/baselines/reference/typeSatisfaction_errorLocations1.types index 4a237c6de893f..4a9abd2f9683c 100644 --- a/tests/baselines/reference/typeSatisfaction_errorLocations1.types +++ b/tests/baselines/reference/typeSatisfaction_errorLocations1.types @@ -105,7 +105,7 @@ new Cls1(obj1 satisfies unknown); function fn2(f: (...args: T) => void) { >fn2 : (f: (...args: T) => void) => void -> : ^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >a : true > : ^^^^ >true : true @@ -119,7 +119,7 @@ function fn2(f: (...args: T) => void) { >f({ a: true } satisfies unknown) : void > : ^^^^ >f : (...args: T) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >{ a: true } satisfies unknown : { a: boolean; } > : ^^^^^^^^^^^^^^^ >{ a: true } : { a: boolean; } @@ -145,7 +145,7 @@ function fn2(f: (...args: T) => void) { >f(o satisfies unknown) : void > : ^^^^ >f : (...args: T) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >o satisfies unknown : { a: true; } > : ^^^^^^^^^^^^ >o : { a: true; } @@ -208,7 +208,7 @@ fn3(10, ...([10, "20"] satisfies number[])); >fn3(10, ...([10, "20"] satisfies number[])) : void > : ^^^^ >fn3 : (...args: unknown[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >10 : 10 > : ^^ >...([10, "20"] satisfies number[]) : string | number @@ -240,7 +240,7 @@ fn3(10, ...(tuple2 satisfies number[])); >fn3(10, ...(tuple2 satisfies number[])) : void > : ^^^^ >fn3 : (...args: unknown[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >10 : 10 > : ^^ >...(tuple2 satisfies number[]) : 10 | "20" @@ -262,7 +262,7 @@ fn4(10, ...(["10", "20"] satisfies readonly string[])); >fn4(10, ...(["10", "20"] satisfies readonly string[])) : void > : ^^^^ >fn4 : (...args: number[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >10 : 10 > : ^^ >...(["10", "20"] satisfies readonly string[]) : string @@ -294,7 +294,7 @@ fn4(10, ...(tuple3 satisfies readonly string[])); >fn4(10, ...(tuple3 satisfies readonly string[])) : void > : ^^^^ >fn4 : (...args: number[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >10 : 10 > : ^^ >...(tuple3 satisfies readonly string[]) : "20" | "10" diff --git a/tests/baselines/reference/typeSatisfaction_optionalMemberConformance.types b/tests/baselines/reference/typeSatisfaction_optionalMemberConformance.types index f2d68959ab4d3..d1cba38134431 100644 --- a/tests/baselines/reference/typeSatisfaction_optionalMemberConformance.types +++ b/tests/baselines/reference/typeSatisfaction_optionalMemberConformance.types @@ -27,15 +27,15 @@ console.log(a.x.toFixed()); >console.log(a.x.toFixed()) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >a.x.toFixed() : string > : ^^^^^^ >a.x.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >a.x : number > : ^^^^^^ >a : { x: number; } @@ -43,7 +43,7 @@ console.log(a.x.toFixed()); >x : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ // Should error let p = a.y; diff --git a/tests/baselines/reference/typeSatisfaction_propNameConstraining.types b/tests/baselines/reference/typeSatisfaction_propNameConstraining.types index fc4ba8e8592f3..614fdf09868ec 100644 --- a/tests/baselines/reference/typeSatisfaction_propNameConstraining.types +++ b/tests/baselines/reference/typeSatisfaction_propNameConstraining.types @@ -40,7 +40,7 @@ let a = p.a.toFixed(); >p.a.toFixed() : string > : ^^^^^^ >p.a.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >p.a : number > : ^^^^^^ >p : { a: number; b: string; x: number; } @@ -48,7 +48,7 @@ let a = p.a.toFixed(); >a : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let b = p.b.substring(1); >b : string @@ -56,7 +56,7 @@ let b = p.b.substring(1); >p.b.substring(1) : string > : ^^^^^^ >p.b.substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >p.b : string > : ^^^^^^ >p : { a: number; b: string; x: number; } @@ -64,7 +64,7 @@ let b = p.b.substring(1); >b : string > : ^^^^^^ >substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/typeSatisfaction_propertyNameFulfillment.types b/tests/baselines/reference/typeSatisfaction_propertyNameFulfillment.types index be584cb45f1e7..a6e8c24f1a90c 100644 --- a/tests/baselines/reference/typeSatisfaction_propertyNameFulfillment.types +++ b/tests/baselines/reference/typeSatisfaction_propertyNameFulfillment.types @@ -40,7 +40,7 @@ let a = p.a.toFixed(); >p.a.toFixed() : string > : ^^^^^^ >p.a.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >p.a : number > : ^^^^^^ >p : { a: number; b: string; x: number; } @@ -48,7 +48,7 @@ let a = p.a.toFixed(); >a : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ let b = p.b.substring(1); >b : string @@ -56,7 +56,7 @@ let b = p.b.substring(1); >p.b.substring(1) : string > : ^^^^^^ >p.b.substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >p.b : string > : ^^^^^^ >p : { a: number; b: string; x: number; } @@ -64,7 +64,7 @@ let b = p.b.substring(1); >b : string > : ^^^^^^ >substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/typeSatisfaction_propertyValueConformance1(nopropertyaccessfromindexsignature=false).types b/tests/baselines/reference/typeSatisfaction_propertyValueConformance1(nopropertyaccessfromindexsignature=false).types index a0ff32f9f8225..8a67022dffbd1 100644 --- a/tests/baselines/reference/typeSatisfaction_propertyValueConformance1(nopropertyaccessfromindexsignature=false).types +++ b/tests/baselines/reference/typeSatisfaction_propertyValueConformance1(nopropertyaccessfromindexsignature=false).types @@ -40,7 +40,7 @@ checkTruths(x); >checkTruths(x) : void > : ^^^^ >checkTruths : (x: Facts) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : { m: boolean; } > : ^^^^^^^^^^^^^^^ @@ -49,7 +49,7 @@ checkM(x); >checkM(x) : void > : ^^^^ >checkM : (x: { m: boolean; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : { m: boolean; } > : ^^^^^^^^^^^^^^^ @@ -58,11 +58,11 @@ console.log(x.z); >console.log(x.z) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x.z : any > : ^^^ >x : { m: boolean; } diff --git a/tests/baselines/reference/typeSatisfaction_propertyValueConformance1(nopropertyaccessfromindexsignature=true).types b/tests/baselines/reference/typeSatisfaction_propertyValueConformance1(nopropertyaccessfromindexsignature=true).types index a0ff32f9f8225..8a67022dffbd1 100644 --- a/tests/baselines/reference/typeSatisfaction_propertyValueConformance1(nopropertyaccessfromindexsignature=true).types +++ b/tests/baselines/reference/typeSatisfaction_propertyValueConformance1(nopropertyaccessfromindexsignature=true).types @@ -40,7 +40,7 @@ checkTruths(x); >checkTruths(x) : void > : ^^^^ >checkTruths : (x: Facts) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : { m: boolean; } > : ^^^^^^^^^^^^^^^ @@ -49,7 +49,7 @@ checkM(x); >checkM(x) : void > : ^^^^ >checkM : (x: { m: boolean; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : { m: boolean; } > : ^^^^^^^^^^^^^^^ @@ -58,11 +58,11 @@ console.log(x.z); >console.log(x.z) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x.z : any > : ^^^ >x : { m: boolean; } diff --git a/tests/baselines/reference/typeSatisfaction_propertyValueConformance2(nouncheckedindexedaccess=false).types b/tests/baselines/reference/typeSatisfaction_propertyValueConformance2(nouncheckedindexedaccess=false).types index 226900aa0a7ef..d5525daa88ec8 100644 --- a/tests/baselines/reference/typeSatisfaction_propertyValueConformance2(nouncheckedindexedaccess=false).types +++ b/tests/baselines/reference/typeSatisfaction_propertyValueConformance2(nouncheckedindexedaccess=false).types @@ -40,7 +40,7 @@ checkTruths(x); >checkTruths(x) : void > : ^^^^ >checkTruths : (x: Facts) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : { m: boolean; } > : ^^^^^^^^^^^^^^^ @@ -49,7 +49,7 @@ checkM(x); >checkM(x) : void > : ^^^^ >checkM : (x: { m: boolean; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : { m: boolean; } > : ^^^^^^^^^^^^^^^ @@ -57,11 +57,11 @@ console.log(x.z); >console.log(x.z) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x.z : any > : ^^^ >x : { m: boolean; } diff --git a/tests/baselines/reference/typeSatisfaction_propertyValueConformance2(nouncheckedindexedaccess=true).types b/tests/baselines/reference/typeSatisfaction_propertyValueConformance2(nouncheckedindexedaccess=true).types index 226900aa0a7ef..d5525daa88ec8 100644 --- a/tests/baselines/reference/typeSatisfaction_propertyValueConformance2(nouncheckedindexedaccess=true).types +++ b/tests/baselines/reference/typeSatisfaction_propertyValueConformance2(nouncheckedindexedaccess=true).types @@ -40,7 +40,7 @@ checkTruths(x); >checkTruths(x) : void > : ^^^^ >checkTruths : (x: Facts) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : { m: boolean; } > : ^^^^^^^^^^^^^^^ @@ -49,7 +49,7 @@ checkM(x); >checkM(x) : void > : ^^^^ >checkM : (x: { m: boolean; }) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : { m: boolean; } > : ^^^^^^^^^^^^^^^ @@ -57,11 +57,11 @@ console.log(x.z); >console.log(x.z) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x.z : any > : ^^^ >x : { m: boolean; } diff --git a/tests/baselines/reference/typeTagOnFunctionReferencesGeneric.types b/tests/baselines/reference/typeTagOnFunctionReferencesGeneric.types index adefa535b106a..34951c7ee95a4 100644 --- a/tests/baselines/reference/typeTagOnFunctionReferencesGeneric.types +++ b/tests/baselines/reference/typeTagOnFunctionReferencesGeneric.types @@ -20,7 +20,7 @@ inJs(1); // lints error. Why? >inJs(1) : 1 > : ^ >inJs : (m: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/typeTagOnPropertyAssignment.types b/tests/baselines/reference/typeTagOnPropertyAssignment.types index 6cb43b10aaf80..4e631da68bad1 100644 --- a/tests/baselines/reference/typeTagOnPropertyAssignment.types +++ b/tests/baselines/reference/typeTagOnPropertyAssignment.types @@ -30,15 +30,15 @@ o.a >o.a : "a" > : ^^^ >o : { a: "a"; n: () => "b"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >a : "a" > : ^^^ o.n >o.n : () => "b" -> : ^^^^^^^^^ +> : ^^^^^^ >o : { a: "a"; n: () => "b"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >n : () => "b" -> : ^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/typeTagWithGenericSignature.types b/tests/baselines/reference/typeTagWithGenericSignature.types index 0aeaa03973c59..e0b8c2e6e95cb 100644 --- a/tests/baselines/reference/typeTagWithGenericSignature.types +++ b/tests/baselines/reference/typeTagWithGenericSignature.types @@ -19,7 +19,7 @@ var n = typed(1); >typed(1) : 1 | undefined > : ^^^^^^^^^^^^^ >typed : (param?: T) => T | undefined -> : ^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/typeVariableConstraintIntersections.types b/tests/baselines/reference/typeVariableConstraintIntersections.types index fd51670c14699..0bf67da2f7f16 100644 --- a/tests/baselines/reference/typeVariableConstraintIntersections.types +++ b/tests/baselines/reference/typeVariableConstraintIntersections.types @@ -146,7 +146,7 @@ declare function isC(x: any): x is "c"; function foo(x: K) { >foo : (x: K) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : K > : ^ @@ -154,7 +154,7 @@ function foo(x: K) { >isA(x) : boolean > : ^^^^^^^ >isA : (x: any) => x is "a" -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : "a" | "b" > : ^^^^^^^^^ @@ -166,7 +166,7 @@ function foo(x: K) { >isB(x) : boolean > : ^^^^^^^ >isB : (x: any) => x is "b" -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : "a" | "b" > : ^^^^^^^^^ @@ -178,7 +178,7 @@ function foo(x: K) { >isC(x) : boolean > : ^^^^^^^ >isC : (x: any) => x is "c" -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : "a" | "b" > : ^^^^^^^^^ @@ -192,13 +192,13 @@ function foo(x: K) { >isA(x) : boolean > : ^^^^^^^ >isA : (x: any) => x is "a" -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : "a" | "b" > : ^^^^^^^^^ >isB(x) : boolean > : ^^^^^^^ >isB : (x: any) => x is "b" -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : "b" > : ^^^ @@ -216,13 +216,13 @@ function foo(x: K) { >isA(x) : boolean > : ^^^^^^^ >isA : (x: any) => x is "a" -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : "a" | "b" > : ^^^^^^^^^ >isB(x) : boolean > : ^^^^^^^ >isB : (x: any) => x is "b" -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : "b" > : ^^^ @@ -331,8 +331,8 @@ const optionHandlers: OptionHandlers = { }; function handleOption(option: Options & { kind: K }): string { ->handleOption : (option: Options & { kind: K; }) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +>handleOption : (option: Options & { kind: K; }) => string +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >option : Options & { kind: K; } > : ^^^^^^^^^^^^^^^^^^ ^^^ >kind : K @@ -344,7 +344,7 @@ function handleOption(option: Options & { kind: K }): >option.kind : K > : ^ >option : Options & { kind: K; } -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^ >kind : K > : ^ @@ -364,7 +364,7 @@ function handleOption(option: Options & { kind: K }): >handler : OptionHandlers[K] > : ^^^^^^^^^^^^^^^^^ >option : Options & { kind: K; } -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^ }; diff --git a/tests/baselines/reference/typeVariableConstraintedToAliasNotAssignableToUnion.types b/tests/baselines/reference/typeVariableConstraintedToAliasNotAssignableToUnion.types index f77dd38c85db5..354545a5377af 100644 --- a/tests/baselines/reference/typeVariableConstraintedToAliasNotAssignableToUnion.types +++ b/tests/baselines/reference/typeVariableConstraintedToAliasNotAssignableToUnion.types @@ -44,7 +44,7 @@ declare let someUnion: Something | SomethingElse; function fn(o: T) { >fn : (o: T) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >o : T > : ^ @@ -82,8 +82,8 @@ function fn(o: T) { } function fn2(o: T) { ->fn2 : >(o: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>fn2 : (o: T) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >o : T > : ^ diff --git a/tests/baselines/reference/typeVariableTypeGuards.types b/tests/baselines/reference/typeVariableTypeGuards.types index a70201a4ae9a2..51faa8e79ad34 100644 --- a/tests/baselines/reference/typeVariableTypeGuards.types +++ b/tests/baselines/reference/typeVariableTypeGuards.types @@ -37,7 +37,7 @@ class A

    , child: P extends { children?: infer C; } ? C extends any[] ? C : C[] : unknown) => any +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >InferFunctionTypes : typeof InferFunctionTypes > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >[(foo) => "" + foo] : ((foo: number) => string)[] @@ -460,7 +460,7 @@ passContentsToFunc(outerBoxOfString, box => box.value); >passContentsToFunc(outerBoxOfString, box => box.value) : void > : ^^^^ >passContentsToFunc : (outerBox: T, consumer: BoxConsumerFromOuterBox) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >outerBoxOfString : OuterBox > : ^^^^^^^^^^^^^^^^ >box => box.value : (box: InnerBox) => string @@ -494,17 +494,17 @@ class Interesting { >Promise.resolve().then(() => { if (1 < 2) { return 'SOMETHING'; } return 'ELSE'; }) : Promise<"SOMETHING" | "ELSE"> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve().then : (onfulfilled?: ((value: void) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >Promise.resolve() : Promise > : ^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >then : (onfulfilled?: ((value: void) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => { if (1 < 2) { return 'SOMETHING'; } return 'ELSE'; } : () => "SOMETHING" | "ELSE" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -536,17 +536,17 @@ class Interesting { >Promise.resolve().then(() => { return 'ELSE'; }) : Promise<"SOMETHING" | "ELSE"> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve().then : (onfulfilled?: ((value: void) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >Promise.resolve() : Promise > : ^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >then : (onfulfilled?: ((value: void) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => { return 'ELSE'; } : () => "ELSE" > : ^^^^^^^^^^^^ @@ -566,17 +566,17 @@ class Interesting { >Promise.resolve().then(() => { if (1 < 2) { return 'SOMETHING'; } return 'SOMETHING'; }) : Promise<"SOMETHING" | "ELSE"> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve().then : (onfulfilled?: ((value: void) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >Promise.resolve() : Promise > : ^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >then : (onfulfilled?: ((value: void) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >() => { if (1 < 2) { return 'SOMETHING'; } return 'SOMETHING'; } : () => "SOMETHING" > : ^^^^^^^^^^^^^^^^^ @@ -614,7 +614,7 @@ let xx: 0 | 1 | 2 = invoke(() => 1); >invoke(() => 1) : 1 > : ^ >invoke : (f: () => T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >() => 1 : () => 1 > : ^^^^^^^ >1 : 1 @@ -647,7 +647,7 @@ assignPartial(obj, { foo(...args) {} }); // args has type [string] >assignPartial(obj, { foo(...args) {} }) : { foo(bar: string): void; } > : ^^^^^^ ^^ ^^^^^^^^^^ >assignPartial : (target: T, partial: Partial) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >obj : { foo(bar: string): void; } > : ^^^^^^ ^^ ^^^^^^^^^^ >{ foo(...args) {} } : { foo(bar: string): void; } diff --git a/tests/baselines/reference/instantiateContextuallyTypedGenericThis.types b/tests/baselines/reference/instantiateContextuallyTypedGenericThis.types index ebdd380a94240..19a7e52635da2 100644 --- a/tests/baselines/reference/instantiateContextuallyTypedGenericThis.types +++ b/tests/baselines/reference/instantiateContextuallyTypedGenericThis.types @@ -31,11 +31,11 @@ $.each(lines, function(dit) { >$.each(lines, function(dit) { return dit.charAt(0) + this.charAt(1);}) : string[] > : ^^^^^^^^ >$.each : (collection: T[], callback: (this: T, dit: T) => T) => T[] -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >$ : JQuery > : ^^^^^^ >each : (collection: T[], callback: (this: T, dit: T) => T) => T[] -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >lines : string[] > : ^^^^^^^^ >function(dit) { return dit.charAt(0) + this.charAt(1);} : (this: string, dit: string) => string @@ -49,21 +49,21 @@ $.each(lines, function(dit) { >dit.charAt(0) : string > : ^^^^^^ >dit.charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >dit : string > : ^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ >this.charAt(1) : string > : ^^^^^^ >this.charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : string > : ^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/instantiateCrossFileMerge.types b/tests/baselines/reference/instantiateCrossFileMerge.types index c06c0c75addfb..73b16139e6da9 100644 --- a/tests/baselines/reference/instantiateCrossFileMerge.types +++ b/tests/baselines/reference/instantiateCrossFileMerge.types @@ -22,13 +22,13 @@ new P(r => { r('foo') }); >P : typeof P > : ^^^^^^^^ >r => { r('foo') } : (r: (value: string) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^ >r : (value: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >r('foo') : void > : ^^^^ >r : (value: string) => void -> : ^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ >'foo' : "foo" > : ^^^^^ diff --git a/tests/baselines/reference/instantiateNonGenericTypeWithTypeArguments.types b/tests/baselines/reference/instantiateNonGenericTypeWithTypeArguments.types index 41855d7e169a1..122bffd2bd563 100644 --- a/tests/baselines/reference/instantiateNonGenericTypeWithTypeArguments.types +++ b/tests/baselines/reference/instantiateNonGenericTypeWithTypeArguments.types @@ -31,7 +31,7 @@ var r = new Foo(); >new Foo() : any > : ^^^ >Foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var f: { (): void }; >f : () => void @@ -43,7 +43,7 @@ var r2 = new f(); >new f() : any > : ^^^ >f : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ var a: any; >a : any diff --git a/tests/baselines/reference/instantiateTemplateTagTypeParameterOnVariableStatement.types b/tests/baselines/reference/instantiateTemplateTagTypeParameterOnVariableStatement.types index 0e7d295264c20..9022c7af1e90e 100644 --- a/tests/baselines/reference/instantiateTemplateTagTypeParameterOnVariableStatement.types +++ b/tests/baselines/reference/instantiateTemplateTagTypeParameterOnVariableStatement.types @@ -8,9 +8,9 @@ */ const seq = a => b => b; >seq : (a: T) => (b: T) => T -> : ^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a => b => b : (a: T) => (b: T) => T -> : ^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a : T > : ^ >b => b : (b: T) => T @@ -41,7 +41,7 @@ var text3 = seq(text1)(text2); >seq(text1) : (b: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >seq : (a: T) => (b: T) => T -> : ^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >text1 : "hello" > : ^^^^^^^ >text2 : "world" diff --git a/tests/baselines/reference/instantiatedModule.types b/tests/baselines/reference/instantiatedModule.types index b8567423b7b7e..ac3ccdbe4841b 100644 --- a/tests/baselines/reference/instantiatedModule.types +++ b/tests/baselines/reference/instantiatedModule.types @@ -67,7 +67,7 @@ var p1: { x: number; y: number; } var p1: M.Point; >p1 : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >M : any > : ^^^ @@ -175,13 +175,13 @@ var p2: { x: number; y: number } var p2: M2.Point; >p2 : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >M2 : any > : ^^^ var p2 = new m2.Point(); >p2 : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >new m2.Point() : M2.Point > : ^^^^^^^^ >m2.Point : typeof M2.Point @@ -193,7 +193,7 @@ var p2 = new m2.Point(); var p2 = new M2.Point(); >p2 : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >new M2.Point() : M2.Point > : ^^^^^^^^ >M2.Point : typeof M2.Point diff --git a/tests/baselines/reference/instantiatedTypeAliasDisplay.types b/tests/baselines/reference/instantiatedTypeAliasDisplay.types index af7374e09779f..8873ef7752193 100644 --- a/tests/baselines/reference/instantiatedTypeAliasDisplay.types +++ b/tests/baselines/reference/instantiatedTypeAliasDisplay.types @@ -39,7 +39,7 @@ const x1 = f1(); // Z >f1() : Z > : ^^^^^^^^^^^^^^^^^ >f1 : () => Z -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ const x2 = f2({}, {}, {}, {}); // Z<{}, string[]> >x2 : Z<{}, string[]> @@ -47,7 +47,7 @@ const x2 = f2({}, {}, {}, {}); // Z<{}, string[]> >f2({}, {}, {}, {}) : Z<{}, string[]> > : ^^^^^^^^^^^^^^^ >f2 : (a: A, b: B, c: C, d: D) => Z -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{} : {} > : ^^ >{} : {} diff --git a/tests/baselines/reference/instantiationExpressionErrors.types b/tests/baselines/reference/instantiationExpressionErrors.types index d94f5a7cad158..4e3f48011433c 100644 --- a/tests/baselines/reference/instantiationExpressionErrors.types +++ b/tests/baselines/reference/instantiationExpressionErrors.types @@ -11,11 +11,11 @@ declare let f: { (): T, g(): U }; const a1 = f; // { (): number; g(): U; } >a1 : { (): number; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): number; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ const a2 = f.g; // () => number >a2 : () => number @@ -23,23 +23,23 @@ const a2 = f.g; // () => number >f.g : () => number > : ^^^^^^^^^^^^ >f.g : () => U -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ >g : () => U -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ const a3 = f.g; // () => U >a3 : () => U -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ >f.g : () => U -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ >f : { (): number; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ >g : () => U -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ const a4 = f.g; // () => number >a4 : () => number @@ -47,13 +47,13 @@ const a4 = f.g; // () => number >f.g : () => number > : ^^^^^^^^^^^^ >f.g : () => U -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ >f : { (): number; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ >g : () => U -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ const a5 = f['g']; // () => number >a5 : () => number @@ -61,9 +61,9 @@ const a5 = f['g']; // () => number >f['g'] : () => number > : ^^^^^^^^^^^^ >f['g'] : () => U -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ >'g' : "g" > : ^^^ @@ -77,7 +77,7 @@ const a6 = f['g']; // Error >f : ^^^^^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ >number : any > : ^^^ >['g'] : string[] @@ -87,15 +87,15 @@ const a6 = f['g']; // Error const a7 = (f)['g']; >a7 : () => U -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ >(f)['g'] : () => U -> : ^^^^^^^^^^ +> : ^ ^^^^^^^ >(f) : { (): number; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): number; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ >'g' : "g" > : ^^^ @@ -109,7 +109,7 @@ const a8 = f; // Relational operator error >f : ^^^^^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ >number : any > : ^^^ > : number @@ -119,15 +119,15 @@ const a8 = f; // Relational operator error const a9 = (f); // Error, no applicable signatures >a9 : { g(): U; } -> : ^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^ ^^^ >(f) : { g(): U; } -> : ^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^ ^^^ >(f) : { (): number; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): number; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ // Type arguments with `?.` token @@ -137,7 +137,7 @@ const b1 = f?.; // Error, `(` expected >f?. : number > : ^^^^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ const b2 = f?.(); >b2 : number @@ -145,7 +145,7 @@ const b2 = f?.(); >f?.() : number > : ^^^^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ const b3 = f?.(); >b3 : number @@ -153,9 +153,9 @@ const b3 = f?.(); >f?.() : number > : ^^^^^^ >f : { (): number; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ const b4 = f?.(); // Error, expected no type arguments >b4 : number @@ -163,9 +163,9 @@ const b4 = f?.(); // Error, expected no type arguments >f?.() : number > : ^^^^^^ >f : { (): number; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ // Instantiation expression and binary operators @@ -183,7 +183,7 @@ const c1 = g || ((x: string) => x); >g : ((x: string) => string) | undefined > : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >g : ((x: T) => T) | undefined -> : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >((x: string) => x) : (x: string) => string > : ^ ^^ ^^^^^^^^^^^ >(x: string) => x : (x: string) => string @@ -201,7 +201,7 @@ const c2 = g ?? ((x: string) => x); >g : ((x: string) => string) | undefined > : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >g : ((x: T) => T) | undefined -> : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >((x: string) => x) : (x: string) => string > : ^ ^^ ^^^^^^^^^^^ >(x: string) => x : (x: string) => string @@ -219,7 +219,7 @@ const c3 = g && ((x: string) => x); >g : ((x: string) => string) | undefined > : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >g : ((x: T) => T) | undefined -> : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ >((x: string) => x) : (x: string) => string > : ^ ^^ ^^^^^^^^^^^ >(x: string) => x : (x: string) => string @@ -237,7 +237,7 @@ const x1 = f >f(true) : true > : ^^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ >true : true > : ^^^^ @@ -255,7 +255,7 @@ const r1 = f < true > true; >f < true : boolean > : ^^^^^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ >true : true > : ^^^^ >true : true @@ -269,7 +269,7 @@ const r2 = f < true > +1; >f < true : boolean > : ^^^^^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ >true : true > : ^^^^ >+1 : 1 @@ -285,7 +285,7 @@ const r3 = f < true > -1; >f < true : boolean > : ^^^^^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ >true : true > : ^^^^ >-1 : -1 @@ -297,11 +297,11 @@ const r3 = f < true > -1; const x2 = f >x2 : { (): true; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): true; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ >true : true > : ^^^^ @@ -311,11 +311,11 @@ true; const x3 = f; >x3 : { (): true; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): true; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ >true : true > : ^^^^ @@ -325,11 +325,11 @@ true; const x4 = f >x4 : { (): true; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): true; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ >true : true > : ^^^^ @@ -339,11 +339,11 @@ if (true) {} const x5 = f >x5 : { (): true; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): true; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ >true : true > : ^^^^ @@ -355,11 +355,11 @@ let yy = 0; const x6 = f >x6 : { (): true; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): true; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ >true : true > : ^^^^ @@ -367,11 +367,11 @@ interface I {} let x10 = f >x10 : { (): true; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): true; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ >true : true > : ^^^^ @@ -387,11 +387,11 @@ this.bar() let x11 = f >x11 : { (): true; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): true; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ >true : true > : ^^^^ @@ -401,11 +401,11 @@ function bar() {} let x12 = f >x12 : { (): true; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): true; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ >true : true > : ^^^^ @@ -415,11 +415,11 @@ class C {} let x13 = f >x13 : { (): true; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): true; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ >true : true > : ^^^^ @@ -431,11 +431,11 @@ bar() let x14 = f >x14 : { (): true; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): true; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ >true : true > : ^^^^ @@ -453,11 +453,11 @@ class C1 { static specialFoo = f >specialFoo : { (): string; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): string; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ static bar = 123 >bar : number @@ -472,11 +472,11 @@ class C2 { public specialFoo = f >specialFoo : { (): string; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): string; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ public bar = 123 >bar : number @@ -491,11 +491,11 @@ class C3 { private specialFoo = f >specialFoo : { (): string; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): string; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ private bar = 123 >bar : number @@ -510,11 +510,11 @@ class C4 { protected specialFoo = f >specialFoo : { (): string; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): string; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^ ^^^ >f : { (): T; g(): U; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^ ^^^^ ^^^^^ ^^^ protected bar = 123 >bar : number diff --git a/tests/baselines/reference/instantiationExpressions.types b/tests/baselines/reference/instantiationExpressions.types index 84aded72db9a2..42a9c0119da2a 100644 --- a/tests/baselines/reference/instantiationExpressions.types +++ b/tests/baselines/reference/instantiationExpressions.types @@ -2,22 +2,22 @@ === instantiationExpressions.ts === declare function fx(x: T): T; ->fx : { (x: T): T; (x: T_1, n: number): T_1; (t: [T_2, U]): [T_2, U]; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>fx : { (x: T): T; (x: T_1, n: number): T_1; (t: [T_1, U]): [T_1, U]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ declare function fx(x: T, n: number): T; ->fx : { (x: T_1): T_1; (x: T, n: number): T; (t: [T_2, U]): [T_2, U]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>fx : { (x: T_1): T_1; (x: T, n: number): T; (t: [T_1, U]): [T_1, U]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >x : T > : ^ >n : number > : ^^^^^^ declare function fx(t: [T, U]): [T, U]; ->fx : { (x: T_1): T_1; (x: T_2, n: number): T_2; (t: [T, U]): [T, U]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +>fx : { (x: T_1): T_1; (x: T_1, n: number): T_1; (t: [T, U]): [T, U]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >t : [T, U] > : ^^^^^^ @@ -26,61 +26,61 @@ function f1() { > : ^^^^^^^^^^ let f0 = fx<>; // Error ->f0 : { (x: T): T; (x: T_1, n: number): T_1; (t: [T_2, U]): [T_2, U]; } -> : ^^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->fx<> : { (x: T): T; (x: T_1, n: number): T_1; (t: [T_2, U]): [T_2, U]; } -> : ^^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->fx : { (x: T): T; (x: T_1, n: number): T_1; (t: [T_2, U]): [T_2, U]; } -> : ^^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>f0 : { (x: T): T; (x: T, n: number): T; (t: [T, U]): [T, U]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ +>fx<> : { (x: T): T; (x: T, n: number): T; (t: [T, U]): [T, U]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ +>fx : { (x: T): T; (x: T, n: number): T; (t: [T, U]): [T, U]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ let f1 = fx; // { (x: string): string; (x: string, n: number): string; } >f1 : { (x: string): string; (x: string, n: number): string; } > : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ >fx : { (x: string): string; (x: string, n: number): string; } > : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ->fx : { (x: T): T; (x: T_1, n: number): T_1; (t: [T_2, U]): [T_2, U]; } -> : ^^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>fx : { (x: T): T; (x: T, n: number): T; (t: [T, U]): [T, U]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ let f2 = fx; // (t: [string, number]) => [string, number] >f2 : (t: [string, number]) => [string, number] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^ >fx : (t: [string, number]) => [string, number] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->fx : { (x: T): T; (x: T_1, n: number): T_1; (t: [T_2, U]): [T_2, U]; } -> : ^^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^ +>fx : { (x: T): T; (x: T, n: number): T; (t: [T, U]): [T, U]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ let f3 = fx; // Error >f3 : {} > : ^^ >fx : {} > : ^^ ->fx : { (x: T): T; (x: T_1, n: number): T_1; (t: [T_2, U]): [T_2, U]; } -> : ^^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>fx : { (x: T): T; (x: T, n: number): T; (t: [T, U]): [T, U]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ } type T10 = typeof fx<>; // Error ->T10 : { (x: T): T; (x: T_1, n: number): T_1; (t: [T_2, U]): [T_2, U]; } -> : ^^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ ->fx : { (x: T): T; (x: T_1, n: number): T_1; (t: [T_2, U]): [T_2, U]; } -> : ^^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>T10 : { (x: T): T; (x: T, n: number): T; (t: [T, U]): [T, U]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ +>fx : { (x: T): T; (x: T, n: number): T; (t: [T, U]): [T, U]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ type T11 = typeof fx; // { (x: string): string; (x: string, n: number): string; } >T11 : typeof fx > : ->fx : { (x: T): T; (x: T_1, n: number): T_1; (t: [T_2, U]): [T_2, U]; } -> : ^^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>fx : { (x: T): T; (x: T, n: number): T; (t: [T, U]): [T, U]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ type T12 = typeof fx; // (t: [string, number]) => [string, number] >T12 : typeof fx > : ->fx : { (x: T): T; (x: T_1, n: number): T_1; (t: [T_2, U]): [T_2, U]; } -> : ^^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>fx : { (x: T): T; (x: T, n: number): T; (t: [T, U]): [T, U]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ type T13 = typeof fx; // Error >T13 : typeof fx > : ->fx : { (x: T): T; (x: T_1, n: number): T_1; (t: [T_2, U]): [T_2, U]; } -> : ^^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>fx : { (x: T): T; (x: T, n: number): T; (t: [T, U]): [T, U]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ function f2() { >f2 : () => void @@ -96,17 +96,17 @@ function f2() { const A1 = Array; // new (...) => string[] >A1 : { (arrayLength: number): string[]; (...items: string[]): string[]; new (arrayLength: number): string[]; new (...items: string[]): string[]; isArray(arg: any): arg is any[]; readonly prototype: any[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Array : { (arrayLength: number): string[]; (...items: string[]): string[]; new (arrayLength: number): string[]; new (...items: string[]): string[]; isArray(arg: any): arg is any[]; readonly prototype: any[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ const A2 = Array; // Error >A2 : { isArray(arg: any): arg is any[]; readonly prototype: any[]; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Array : { isArray(arg: any): arg is any[]; readonly prototype: any[]; } -> : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ } @@ -150,23 +150,23 @@ function f3() { let c1 = C; // { new (x: string): C; f(x: U): T[]; prototype: C; } >c1 : { new (x: string): C; prototype: C; f(x: U): U[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ >C : { new (x: string): C; prototype: C; f(x: U): U[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ >C : typeof C > : ^^^^^^^^ let f1 = C.f; // (x: string) => string[] >f1 : (x: string) => string[] -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^ >C.f : (x: string) => string[] -> : ^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^ >C.f : (x: U) => U[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >C : typeof C > : ^^^^^^^^ >f : (x: U) => U[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ } function f10(f: { (a: T): T, (a: U, b: number): U[] }) { @@ -183,11 +183,11 @@ function f10(f: { (a: T): T, (a: U, b: number): U[] }) { let fs = f; // { (a: string): string; (a: string, b: number): string[]; } >fs : { (a: string): string; (a: string, b: number): string[]; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^ >f : { (a: string): string; (a: string, b: number): string[]; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^ >f : { (a: T): T; (a: U, b: number): U[]; } -> : ^^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ } function f11(f: { (a: T): T, (a: string, b: number): string[] }) { @@ -208,7 +208,7 @@ function f11(f: { (a: T): T, (a: string, b: number): string[] }) { >f : (a: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >f : { (a: T): T; (a: string, b: number): string[]; } -> : ^^^ ^^ ^^ ^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ } function f12(f: { (a: T): T, x: string }) { @@ -223,11 +223,11 @@ function f12(f: { (a: T): T, x: string }) { let fs = f; // { (a: string): string; x: string; } >fs : { (a: string): string; x: string; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ >f : { (a: string): string; x: string; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^ >f : { (a: T): T; x: string; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^ ^^^ } function f13(f: { x: string, y: string }) { @@ -242,11 +242,11 @@ function f13(f: { x: string, y: string }) { let fs = f; // Error, no applicable signatures >fs : { x: string; y: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >f : { x: string; y: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >f : { x: string; y: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ } function f14(f: { new (a: T): T, new (a: U, b: number): U[] }) { @@ -263,11 +263,11 @@ function f14(f: { new (a: T): T, new (a: U, b: number): U[] }) { let fs = f; // { new (a: string): string; new (a: string, b: number): string[]; } >fs : { new (a: string): string; new (a: string, b: number): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^ >f : { new (a: string): string; new (a: string, b: number): string[]; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^ >f : { new (a: T): T; new (a: U, b: number): U[]; } -> : ^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ } function f15(f: { new (a: T): T, (a: U, b: number): U[] }) { @@ -284,11 +284,11 @@ function f15(f: { new (a: T): T, (a: U, b: number): U[] }) { let fs = f; // { new (a: string): string; (a: string, b: number): string[]; } >fs : { (a: string, b: number): string[]; new (a: string): string; } -> : ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >f : { (a: string, b: number): string[]; new (a: string): string; } -> : ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >f : { (a: U, b: number): U[]; new (a: T): T; } -> : ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ } function f16(f: { new (a: T): T, (a: string, b: number): string[] }) { @@ -309,7 +309,7 @@ function f16(f: { new (a: T): T, (a: string, b: number): string[] }) { >f : new (a: string) => string > : ^^^^^ ^^^^^^^^^^^^^^^^^^^ >f : { (a: string, b: number): string[]; new (a: T): T; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ } function f17(f: { (a: T): T, new (a: string, b: number): string[] }) { @@ -330,7 +330,7 @@ function f17(f: { (a: T): T, new (a: string, b: number): string[] }) { >f : (a: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >f : { (a: T): T; new (a: string, b: number): string[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ } function f20(f: ((a: T) => T) & ((a: U, b: number) => U[])) { @@ -347,11 +347,11 @@ function f20(f: ((a: T) => T) & ((a: U, b: number) => U[])) { let fs = f; // ((a: string) => string) & ((a: string, b: number) => string[]]) >fs : ((a: string) => string) & ((a: string, b: number) => string[]) -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^ ^ >f : ((a: string) => string) & ((a: string, b: number) => string[]) -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^ ^ >f : ((a: T) => T) & ((a: U, b: number) => U[]) -> : ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^ } function f21(f: ((a: T) => T) & ((a: string, b: number) => string[])) { @@ -372,7 +372,7 @@ function f21(f: ((a: T) => T) & ((a: string, b: number) => string[])) { >f : (a: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >f : ((a: T) => T) & ((a: string, b: number) => string[]) -> : ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^ } function f22(f: ((a: T) => T) & { x: string }) { @@ -387,11 +387,11 @@ function f22(f: ((a: T) => T) & { x: string }) { let fs = f; // ((a: string) => string) & { x: string } >fs : ((a: string) => string) & { x: string; } -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >f : ((a: string) => string) & { x: string; } -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >f : ((a: T) => T) & { x: string; } -> : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^ ^^^^^^^^^ ^^^ } function f23(f: { x: string } & { y: string }) { @@ -406,11 +406,11 @@ function f23(f: { x: string } & { y: string }) { let fs = f; // Error, no applicable signatures >fs : { x: string; } & { y: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >f : { x: string; } & { y: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >f : { x: string; } & { y: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ } function f24(f: (new (a: T) => T) & (new (a: U, b: number) => U[])) { @@ -427,11 +427,11 @@ function f24(f: (new (a: T) => T) & (new (a: U, b: number) => U[])) { let fs = f; // (new (a: string) => string) & ((a: string, b: number) => string[]]) >fs : (new (a: string) => string) & (new (a: string, b: number) => string[]) -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^ ^ >f : (new (a: string) => string) & (new (a: string, b: number) => string[]) -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^ ^ >f : (new (a: T) => T) & (new (a: U, b: number) => U[]) -> : ^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^ } function f25(f: (new (a: T) => T) & ((a: U, b: number) => U[])) { @@ -448,11 +448,11 @@ function f25(f: (new (a: T) => T) & ((a: U, b: number) => U[])) { let fs = f; // (new (a: string) => string) & ((a: string, b: number) => string[]]) >fs : (new (a: string) => string) & ((a: string, b: number) => string[]) -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^ ^ >f : (new (a: string) => string) & ((a: string, b: number) => string[]) -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^ ^ >f : (new (a: T) => T) & ((a: U, b: number) => U[]) -> : ^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^ } function f26(f: (new (a: T) => T) & ((a: string, b: number) => string[])) { @@ -473,7 +473,7 @@ function f26(f: (new (a: T) => T) & ((a: string, b: number) => string[])) { >f : new (a: string) => string > : ^^^^^ ^^^^^^^^^^^^^^^^^^^ >f : (new (a: T) => T) & ((a: string, b: number) => string[]) -> : ^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^ } function f27(f: ((a: T) => T) & (new (a: string, b: number) => string[])) { @@ -494,7 +494,7 @@ function f27(f: ((a: T) => T) & (new (a: string, b: number) => string[])) { >f : (a: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >f : ((a: T) => T) & (new (a: string, b: number) => string[]) -> : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^ } function f30(f: ((a: T) => T) | ((a: U, b: number) => U[])) { @@ -511,11 +511,11 @@ function f30(f: ((a: T) => T) | ((a: U, b: number) => U[])) { let fs = f; // ((a: string) => string) | ((a: string, b: number) => string[]]) >fs : ((a: string) => string) | ((a: string, b: number) => string[]) -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^ ^ >f : ((a: string) => string) | ((a: string, b: number) => string[]) -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^ ^ >f : ((a: T) => T) | ((a: U, b: number) => U[]) -> : ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^ } function f31(f: ((a: T) => T) | ((a: string, b: number) => string[])) { @@ -536,7 +536,7 @@ function f31(f: ((a: T) => T) | ((a: string, b: number) => string[])) { >f : ((a: string) => string) | {} > : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ >f : ((a: T) => T) | ((a: string, b: number) => string[]) -> : ^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^ } function f32(f: ((a: T) => T) | { x: string }) { @@ -551,11 +551,11 @@ function f32(f: ((a: T) => T) | { x: string }) { let fs = f; // ((a: string) => string) | { x: string } >fs : { x: string; } | ((a: string) => string) -> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >f : { x: string; } | ((a: string) => string) -> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >f : { x: string; } | ((a: T) => T) -> : ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^^^ ^^^^^^^^ ^^ ^^ ^^^^^ ^ } function f33(f: { x: string } | { y: string }) { @@ -570,11 +570,11 @@ function f33(f: { x: string } | { y: string }) { let fs = f; // Error, no applicable signatures >fs : { x: string; } | { y: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >f : { x: string; } | { y: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >f : { x: string; } | { y: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ } function f34(f: (new (a: T) => T) | (new (a: U, b: number) => U[])) { @@ -591,11 +591,11 @@ function f34(f: (new (a: T) => T) | (new (a: U, b: number) => U[])) { let fs = f; // (new (a: string) => string) | ((a: string, b: number) => string[]]) >fs : (new (a: string) => string) | (new (a: string, b: number) => string[]) -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^ ^ >f : (new (a: string) => string) | (new (a: string, b: number) => string[]) -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^ ^ >f : (new (a: T) => T) | (new (a: U, b: number) => U[]) -> : ^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^ } function f35(f: (new (a: T) => T) | ((a: U, b: number) => U[])) { @@ -612,11 +612,11 @@ function f35(f: (new (a: T) => T) | ((a: U, b: number) => U[])) { let fs = f; // (new (a: string) => string) | ((a: string, b: number) => string[]]) >fs : (new (a: string) => string) | ((a: string, b: number) => string[]) -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^ ^ >f : (new (a: string) => string) | ((a: string, b: number) => string[]) -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^ ^ >f : (new (a: T) => T) | ((a: U, b: number) => U[]) -> : ^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^ } function f36(f: (new (a: T) => T) | ((a: string, b: number) => string[])) { @@ -637,7 +637,7 @@ function f36(f: (new (a: T) => T) | ((a: string, b: number) => string[])) { >f : (new (a: string) => string) | {} > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ >f : (new (a: T) => T) | ((a: string, b: number) => string[]) -> : ^^^^^^ ^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^^^^ ^ } function f37(f: ((a: T) => T) | (new (a: string, b: number) => string[])) { @@ -658,12 +658,12 @@ function f37(f: ((a: T) => T) | (new (a: string, b: number) => string[])) { >f : ((a: string) => string) | {} > : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ >f : ((a: T) => T) | (new (a: string, b: number) => string[]) -> : ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^ } function f38(x: A) => A) | ((x: B) => B[]), U>(f: T | U | ((x: C) => C[][])) { >f38 : (x: A) => A) | ((x: B) => B[]), U>(f: T | U | ((x: C) => C[][])) => void -> : ^ ^^^^^^^^^^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^^^^ ^^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ >x : A > : ^ >x : B @@ -675,11 +675,11 @@ function f38(x: A) => A) | ((x: B) => B[]), U>(f: T | U | ( let fs = f; // U | ((x: string) => string) | ((x: string) => string[]) | ((x: string) => string[][]) >fs : U | ((x: string) => string) | ((x: string) => string[]) | ((x: string) => string[][]) -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^ >f : U | ((x: string) => string) | ((x: string) => string[]) | ((x: string) => string[][]) -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^ >f : T | U | ((x: C) => C[][]) -> : ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^ ^^^^^ ^ } function makeBox(value: T) { @@ -742,7 +742,7 @@ type T30 = typeof g1; // { (a: V) => { a: V }; new (b: V) => { b: V }; } >T30 : typeof g1 > : >g1 : { (a: T): { a: T; }; new (b: U): { b: U; }; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^ type T31 = ReturnType>; // { a: A } >T31 : { a: A; } @@ -753,8 +753,8 @@ type T32 = InstanceType>; // { b: B } > : ^^^^^^^^^ declare const g2: { ->g2 : { (a: T): T; new (b: T_1): T_1; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>g2 : { (a: T): T; new (b: T): T; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ (a: T): T; >a : T @@ -768,18 +768,18 @@ declare const g2: { type T40 = typeof g2; // Error >T40 : typeof g2 > : ->g2 : { (a: T): T; new (b: T_1): T_1; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>g2 : { (a: T): T; new (b: T): T; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ type T41 = typeof g2; // Error >T41 : typeof g2 > : ->g2 : { (a: T): T; new (b: T_1): T_1; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>g2 : { (a: T): T; new (b: T): T; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ declare const g3: { ->g3 : { (a: T): T; new (b: T_1): T_1; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>g3 : { (a: T): T; new (b: T): T; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^ ^^^ (a: T): T; >a : T @@ -793,12 +793,12 @@ declare const g3: { type T50 = typeof g3; // (a: U) => U >T50 : typeof g3 > : ->g3 : { (a: T): T; new (b: T_1): T_1; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>g3 : { (a: T): T; new (b: T): T; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^ ^^^ type T51 = typeof g3; // (b: U) => U >T51 : typeof g3 > : ->g3 : { (a: T): T; new (b: T_1): T_1; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>g3 : { (a: T): T; new (b: T): T; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^ ^^^ diff --git a/tests/baselines/reference/intTypeCheck.types b/tests/baselines/reference/intTypeCheck.types index 8a9850b52d8d5..cf1d1dc400001 100644 --- a/tests/baselines/reference/intTypeCheck.types +++ b/tests/baselines/reference/intTypeCheck.types @@ -245,7 +245,7 @@ interface i11 { p7(pa1, pa2): void; >p7 : { (pa1: any, pa2: any): void; (pa1: any, pa2: any): void; } -> : ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >pa1 : any > : ^^^ >pa2 : any @@ -253,7 +253,7 @@ interface i11 { p7? (pa1, pa2): void; >p7 : { (pa1: any, pa2: any): void; (pa1: any, pa2: any): void; } -> : ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^ +> : ^^^ ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^ ^^^ >pa1 : any > : ^^^ >pa2 : any diff --git a/tests/baselines/reference/interMixingModulesInterfaces4.types b/tests/baselines/reference/interMixingModulesInterfaces4.types index 0c3b2cf4bb281..48a23496ae57f 100644 --- a/tests/baselines/reference/interMixingModulesInterfaces4.types +++ b/tests/baselines/reference/interMixingModulesInterfaces4.types @@ -34,7 +34,7 @@ var x : number = A.B.createB(); >A.B.createB() : number > : ^^^^^^ >A.B.createB : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >A.B : typeof A.B > : ^^^^^^^^^^ >A : typeof A @@ -42,5 +42,5 @@ var x : number = A.B.createB(); >B : typeof A.B > : ^^^^^^^^^^ >createB : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/interMixingModulesInterfaces5.types b/tests/baselines/reference/interMixingModulesInterfaces5.types index 221b446a20a6e..bbfc404c42fcf 100644 --- a/tests/baselines/reference/interMixingModulesInterfaces5.types +++ b/tests/baselines/reference/interMixingModulesInterfaces5.types @@ -34,7 +34,7 @@ var x: number = A.B.createB(); >A.B.createB() : number > : ^^^^^^ >A.B.createB : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >A.B : typeof A.B > : ^^^^^^^^^^ >A : typeof A @@ -42,5 +42,5 @@ var x: number = A.B.createB(); >B : typeof A.B > : ^^^^^^^^^^ >createB : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/interfaceAssignmentCompat.types b/tests/baselines/reference/interfaceAssignmentCompat.types index 820aaa68c29db..f235305b6f434 100644 --- a/tests/baselines/reference/interfaceAssignmentCompat.types +++ b/tests/baselines/reference/interfaceAssignmentCompat.types @@ -168,13 +168,13 @@ module M { >x.sort(CompareYeux) : IEye[] > : ^^^^^^ >x.sort : (compareFn?: (a: IEye, b: IEye) => number) => IEye[] -> : ^ ^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^ ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ >x : IEye[] > : ^^^^^^ >sort : (compareFn?: (a: IEye, b: IEye) => number) => IEye[] -> : ^ ^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^ ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ >CompareYeux : (a: IFrenchEye, b: IFrenchEye) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ // type of z inferred from specialized array type var z=x.sort(CompareEyes); // ok @@ -183,13 +183,13 @@ module M { >x.sort(CompareEyes) : IEye[] > : ^^^^^^ >x.sort : (compareFn?: (a: IEye, b: IEye) => number) => IEye[] -> : ^ ^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^ ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ >x : IEye[] > : ^^^^^^ >sort : (compareFn?: (a: IEye, b: IEye) => number) => IEye[] -> : ^ ^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^ ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ >CompareEyes : (a: IEye, b: IEye) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ for (var i=0,len=z.length;ii : number diff --git a/tests/baselines/reference/interfaceClassMerging.types b/tests/baselines/reference/interfaceClassMerging.types index c9a31535633d8..fec7f4f3108bb 100644 --- a/tests/baselines/reference/interfaceClassMerging.types +++ b/tests/baselines/reference/interfaceClassMerging.types @@ -41,11 +41,11 @@ class Foo { >this.method(0) : string > : ^^^^^^ >this.method : (a: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >method : (a: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ } @@ -98,11 +98,11 @@ bar.optionalMethod(1); >bar.optionalMethod(1) : string > : ^^^^^^ >bar.optionalMethod : (a: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : Bar > : ^^^ >optionalMethod : (a: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ @@ -134,11 +134,11 @@ bar.additionalMethod(2); >bar.additionalMethod(2) : string > : ^^^^^^ >bar.additionalMethod : (a: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : Bar > : ^^^ >additionalMethod : (a: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >2 : 2 > : ^ @@ -170,17 +170,17 @@ var obj: { bar = obj; >bar = obj : { method(a: number): string; property: string; additionalProperty: string; additionalMethod(a: number): string; } -> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >bar : Bar > : ^^^ >obj : { method(a: number): string; property: string; additionalProperty: string; additionalMethod(a: number): string; } -> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ obj = bar; >obj = bar : Bar > : ^^^ >obj : { method(a: number): string; property: string; additionalProperty: string; additionalMethod(a: number): string; } -> : ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >bar : Bar > : ^^^ diff --git a/tests/baselines/reference/interfaceDeclaration6.types b/tests/baselines/reference/interfaceDeclaration6.types index ed19972eea559..a3f6ac8d3287a 100644 --- a/tests/baselines/reference/interfaceDeclaration6.types +++ b/tests/baselines/reference/interfaceDeclaration6.types @@ -16,9 +16,9 @@ interface i3 extends i1 { foo: string; }; interface i4 { bar():any; >bar : { (): any; (): any; } -> : ^^^^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ bar():any; >bar : { (): any; (): any; } -> : ^^^^^^^^^^^^^^^ ^^^ +> : ^^^^^^ ^^^^^^ ^^^ } diff --git a/tests/baselines/reference/interfaceDoesNotDependOnBaseTypes.types b/tests/baselines/reference/interfaceDoesNotDependOnBaseTypes.types index 5ae7b346f8495..4651189d08ab7 100644 --- a/tests/baselines/reference/interfaceDoesNotDependOnBaseTypes.types +++ b/tests/baselines/reference/interfaceDoesNotDependOnBaseTypes.types @@ -19,11 +19,11 @@ if (typeof x !== "string") { >x.push("") : number > : ^^^^^^ >x.push : (...items: StringTree[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^ >x : StringTreeArray > : ^^^^^^^^^^^^^^^ >push : (...items: StringTree[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^ >"" : "" > : ^^ @@ -31,11 +31,11 @@ if (typeof x !== "string") { >x.push([""]) : number > : ^^^^^^ >x.push : (...items: StringTree[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^ >x : StringTreeArray > : ^^^^^^^^^^^^^^^ >push : (...items: StringTree[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^ >[""] : string[] > : ^^^^^^^^ >"" : "" diff --git a/tests/baselines/reference/interfaceExtendsObjectIntersection.types b/tests/baselines/reference/interfaceExtendsObjectIntersection.types index 1165ff1431843..f5ed7d6f05007 100644 --- a/tests/baselines/reference/interfaceExtendsObjectIntersection.types +++ b/tests/baselines/reference/interfaceExtendsObjectIntersection.types @@ -77,7 +77,7 @@ class C1 extends Constructor() { x: string } >Constructor() : I1 > : ^^ >Constructor : () => Constructor -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >x : string > : ^^^^^^ @@ -87,7 +87,7 @@ class C2 extends Constructor() { x: string } >Constructor() : I2 > : ^^ >Constructor : () => Constructor -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >x : string > : ^^^^^^ @@ -97,7 +97,7 @@ class C3 extends Constructor() { x: string } >Constructor() : I3 > : ^^ >Constructor : () => Constructor -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >x : string > : ^^^^^^ @@ -107,7 +107,7 @@ class C4 extends Constructor() { x: string } >Constructor() : I4 > : ^^ >Constructor : () => Constructor -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >x : string > : ^^^^^^ @@ -117,7 +117,7 @@ class C5 extends Constructor() { x: string } >Constructor() : I5 > : ^^ >Constructor : () => Constructor -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >x : string > : ^^^^^^ @@ -127,7 +127,7 @@ class C6 extends Constructor() { x: string } >Constructor() : I6 > : ^^ >Constructor : () => Constructor -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >x : string > : ^^^^^^ @@ -137,7 +137,7 @@ class C7 extends Constructor() { x: string } >Constructor() : I7 > : ^^ >Constructor : () => Constructor -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >x : string > : ^^^^^^ @@ -173,9 +173,9 @@ declare namespace NX { export const a = 1 } type T10 = typeof fx; >T10 : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >fx : (x: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ type T11 = typeof CX; >T11 : typeof CX @@ -241,7 +241,7 @@ class C20 extends Constructor>() { x: string } >Constructor>() : Partial > : ^^^^^^^^^^^ >Constructor : () => Constructor -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >x : string > : ^^^^^^ @@ -251,7 +251,7 @@ class C21 extends Constructor>() { x: string } >Constructor>() : Readonly > : ^^^^^^^^^^^^ >Constructor : () => Constructor -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >x : string > : ^^^^^^ @@ -261,7 +261,7 @@ class C22 extends Constructor>() { x: string } >Constructor>() : Identifiable > : ^^^^^^^^^^^^^^^^ >Constructor : () => Constructor -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >x : string > : ^^^^^^ @@ -271,7 +271,7 @@ class C23 extends Constructor>() { x: string } >Constructor>() : Identifiable > : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >Constructor : () => Constructor -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >b : number > : ^^^^^^ >x : string diff --git a/tests/baselines/reference/interfaceExtendsObjectIntersectionErrors.types b/tests/baselines/reference/interfaceExtendsObjectIntersectionErrors.types index 09ebedf2351a3..046676deafcfb 100644 --- a/tests/baselines/reference/interfaceExtendsObjectIntersectionErrors.types +++ b/tests/baselines/reference/interfaceExtendsObjectIntersectionErrors.types @@ -59,7 +59,7 @@ class C1 extends Constructor() { a: string } >Constructor() : T1 > : ^^ >Constructor : () => Constructor -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >a : string > : ^^^^^^ @@ -69,7 +69,7 @@ class C2 extends Constructor() { b: string } >Constructor() : T2 > : ^^ >Constructor : () => Constructor -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >b : string > : ^^^^^^ @@ -79,7 +79,7 @@ class C3 extends Constructor() { length: string } >Constructor() : number[] > : ^^^^^^^^ >Constructor : () => Constructor -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >length : string > : ^^^^^^ @@ -89,7 +89,7 @@ class C4 extends Constructor() { 0: number } >Constructor() : [string, number] > : ^^^^^^^^^^^^^^^^ >Constructor : () => Constructor -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >0 : number > : ^^^^^^ @@ -99,7 +99,7 @@ class C5 extends Constructor() { c: number } >Constructor() : T5 > : ^^ >Constructor : () => Constructor -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >c : number > : ^^^^^^ diff --git a/tests/baselines/reference/interfaceMemberValidation.types b/tests/baselines/reference/interfaceMemberValidation.types index 4ef81fb9dbf4f..1ce1b002f9c3e 100644 --- a/tests/baselines/reference/interfaceMemberValidation.types +++ b/tests/baselines/reference/interfaceMemberValidation.types @@ -14,11 +14,11 @@ interface i2 extends i1 { name: number; yo: string; } interface foo { bar():any; >bar : { (): any; (): any; } -> : ^^^^^^ ^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ bar():any; >bar : { (): any; (): any; } -> : ^^^^^^^^^^^^^^^ ^^^ +> : ^^^^^^ ^^^^^^ ^^^ new():void; new():void; diff --git a/tests/baselines/reference/interfaceWithCallSignaturesThatHidesBaseSignature.types b/tests/baselines/reference/interfaceWithCallSignaturesThatHidesBaseSignature.types index 585218e4a071e..2b7ed56dccff1 100644 --- a/tests/baselines/reference/interfaceWithCallSignaturesThatHidesBaseSignature.types +++ b/tests/baselines/reference/interfaceWithCallSignaturesThatHidesBaseSignature.types @@ -21,9 +21,9 @@ var d: Derived; var r = d(); >r : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >d() : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >d : Derived > : ^^^^^^^ diff --git a/tests/baselines/reference/interfaceWithCallSignaturesThatHidesBaseSignature2.types b/tests/baselines/reference/interfaceWithCallSignaturesThatHidesBaseSignature2.types index 210f570ea55d5..5743031ddaf3d 100644 --- a/tests/baselines/reference/interfaceWithCallSignaturesThatHidesBaseSignature2.types +++ b/tests/baselines/reference/interfaceWithCallSignaturesThatHidesBaseSignature2.types @@ -21,9 +21,9 @@ var d: Derived; var r = d(); >r : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >d() : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >d : Derived > : ^^^^^^^ diff --git a/tests/baselines/reference/interfaceWithConstructSignaturesThatHidesBaseSignature.types b/tests/baselines/reference/interfaceWithConstructSignaturesThatHidesBaseSignature.types index c3cf84765100f..f9bc23675e6a4 100644 --- a/tests/baselines/reference/interfaceWithConstructSignaturesThatHidesBaseSignature.types +++ b/tests/baselines/reference/interfaceWithConstructSignaturesThatHidesBaseSignature.types @@ -21,9 +21,9 @@ var d: Derived; var r = new d(); >r : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >new d() : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >d : Derived > : ^^^^^^^ diff --git a/tests/baselines/reference/interfaceWithConstructSignaturesThatHidesBaseSignature2.types b/tests/baselines/reference/interfaceWithConstructSignaturesThatHidesBaseSignature2.types index a391ccd1e844f..58710fd42a922 100644 --- a/tests/baselines/reference/interfaceWithConstructSignaturesThatHidesBaseSignature2.types +++ b/tests/baselines/reference/interfaceWithConstructSignaturesThatHidesBaseSignature2.types @@ -21,9 +21,9 @@ var d: Derived; var r = new d(); >r : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >new d() : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >d : Derived > : ^^^^^^^ diff --git a/tests/baselines/reference/intersectionAsWeakTypeSource.types b/tests/baselines/reference/intersectionAsWeakTypeSource.types index a7b880dc8acfc..4d1f97cfc83c9 100644 --- a/tests/baselines/reference/intersectionAsWeakTypeSource.types +++ b/tests/baselines/reference/intersectionAsWeakTypeSource.types @@ -55,7 +55,7 @@ type Brand = number & { __brand: T } declare function create(styles: T): { [P in keyof T]: Brand }; >create : (styles: T) => { [P in keyof T]: Brand; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >s : string > : ^^^^^^ >styles : T @@ -67,7 +67,7 @@ const wrapped = create({ first: { view: 0, styleMedia: "???" } }); >create({ first: { view: 0, styleMedia: "???" } }) : { first: Brand<{ view: number; styleMedia: string; }>; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >create : (styles: T) => { [P in keyof T]: Brand; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ first: { view: 0, styleMedia: "???" } } : { first: { view: number; styleMedia: string; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >first : { view: number; styleMedia: string; } diff --git a/tests/baselines/reference/intersectionConstraintReduction.symbols b/tests/baselines/reference/intersectionConstraintReduction.symbols new file mode 100644 index 0000000000000..6b2c758461c9b --- /dev/null +++ b/tests/baselines/reference/intersectionConstraintReduction.symbols @@ -0,0 +1,136 @@ +//// [tests/cases/compiler/intersectionConstraintReduction.ts] //// + +=== intersectionConstraintReduction.ts === +type Test1 = +>Test1 : Symbol(Test1, Decl(intersectionConstraintReduction.ts, 0, 0)) +>K1 : Symbol(K1, Decl(intersectionConstraintReduction.ts, 0, 11)) +>K2 : Symbol(K2, Decl(intersectionConstraintReduction.ts, 0, 32)) + + MustBeKey & K1 & K2>; +>MustBeKey : Symbol(MustBeKey, Decl(intersectionConstraintReduction.ts, 4, 48)) +>Extract : Symbol(Extract, Decl(lib.es5.d.ts, --, --)) +>K1 : Symbol(K1, Decl(intersectionConstraintReduction.ts, 0, 11)) +>K1 : Symbol(K1, Decl(intersectionConstraintReduction.ts, 0, 11)) +>K2 : Symbol(K2, Decl(intersectionConstraintReduction.ts, 0, 32)) + +type Test2 = +>Test2 : Symbol(Test2, Decl(intersectionConstraintReduction.ts, 1, 48)) +>K1 : Symbol(K1, Decl(intersectionConstraintReduction.ts, 3, 11)) +>K2 : Symbol(K2, Decl(intersectionConstraintReduction.ts, 3, 32)) + + MustBeKey>; +>MustBeKey : Symbol(MustBeKey, Decl(intersectionConstraintReduction.ts, 4, 48)) +>K1 : Symbol(K1, Decl(intersectionConstraintReduction.ts, 3, 11)) +>K2 : Symbol(K2, Decl(intersectionConstraintReduction.ts, 3, 32)) +>Extract : Symbol(Extract, Decl(lib.es5.d.ts, --, --)) +>K1 : Symbol(K1, Decl(intersectionConstraintReduction.ts, 3, 11)) + +type MustBeKey = K; +>MustBeKey : Symbol(MustBeKey, Decl(intersectionConstraintReduction.ts, 4, 48)) +>K : Symbol(K, Decl(intersectionConstraintReduction.ts, 6, 15)) +>K : Symbol(K, Decl(intersectionConstraintReduction.ts, 6, 15)) + +// https://github.com/microsoft/TypeScript/issues/58370 + +type AnyKey = number | string | symbol; +>AnyKey : Symbol(AnyKey, Decl(intersectionConstraintReduction.ts, 6, 40)) + +type ReturnTypeKeyof = Obj extends object +>ReturnTypeKeyof : Symbol(ReturnTypeKeyof, Decl(intersectionConstraintReduction.ts, 10, 39)) +>Obj : Symbol(Obj, Decl(intersectionConstraintReduction.ts, 12, 21)) +>Obj : Symbol(Obj, Decl(intersectionConstraintReduction.ts, 12, 21)) + + ? [keyof Obj] extends [never] +>Obj : Symbol(Obj, Decl(intersectionConstraintReduction.ts, 12, 21)) + + ? never + : { [Key in keyof Obj as string]-?: () => Key }[string] +>Key : Symbol(Key, Decl(intersectionConstraintReduction.ts, 15, 13)) +>Obj : Symbol(Obj, Decl(intersectionConstraintReduction.ts, 12, 21)) +>Key : Symbol(Key, Decl(intersectionConstraintReduction.ts, 15, 13)) + + : never; + +type KeyIfSignatureOfObject< +>KeyIfSignatureOfObject : Symbol(KeyIfSignatureOfObject, Decl(intersectionConstraintReduction.ts, 16, 12)) + + Obj extends object, +>Obj : Symbol(Obj, Decl(intersectionConstraintReduction.ts, 18, 28)) + + Key extends AnyKey, +>Key : Symbol(Key, Decl(intersectionConstraintReduction.ts, 19, 23)) +>AnyKey : Symbol(AnyKey, Decl(intersectionConstraintReduction.ts, 6, 40)) + + ReturnTypeKeys = ReturnTypeKeyof, +>ReturnTypeKeys : Symbol(ReturnTypeKeys, Decl(intersectionConstraintReduction.ts, 20, 23)) +>ReturnTypeKeyof : Symbol(ReturnTypeKeyof, Decl(intersectionConstraintReduction.ts, 10, 39)) +>Obj : Symbol(Obj, Decl(intersectionConstraintReduction.ts, 18, 28)) + +> = ReturnTypeKeys extends () => Key ? ((() => Key) extends ReturnTypeKeys ? Key : never) : never; +>ReturnTypeKeys : Symbol(ReturnTypeKeys, Decl(intersectionConstraintReduction.ts, 20, 23)) +>Key : Symbol(Key, Decl(intersectionConstraintReduction.ts, 19, 23)) +>Key : Symbol(Key, Decl(intersectionConstraintReduction.ts, 19, 23)) +>ReturnTypeKeys : Symbol(ReturnTypeKeys, Decl(intersectionConstraintReduction.ts, 20, 23)) +>Key : Symbol(Key, Decl(intersectionConstraintReduction.ts, 19, 23)) + +export type Reduced1 = +>Reduced1 : Symbol(Reduced1, Decl(intersectionConstraintReduction.ts, 22, 98)) +>Obj : Symbol(Obj, Decl(intersectionConstraintReduction.ts, 24, 21)) +>Key : Symbol(Key, Decl(intersectionConstraintReduction.ts, 24, 40)) +>AnyKey : Symbol(AnyKey, Decl(intersectionConstraintReduction.ts, 6, 40)) +>Value : Symbol(Value, Decl(intersectionConstraintReduction.ts, 24, 60)) +>ObjKeys : Symbol(ObjKeys, Decl(intersectionConstraintReduction.ts, 24, 67)) +>Obj : Symbol(Obj, Decl(intersectionConstraintReduction.ts, 24, 21)) +>Obj : Symbol(Obj, Decl(intersectionConstraintReduction.ts, 24, 21)) + + Key extends KeyIfSignatureOfObject +>Key : Symbol(Key, Decl(intersectionConstraintReduction.ts, 24, 40)) +>KeyIfSignatureOfObject : Symbol(KeyIfSignatureOfObject, Decl(intersectionConstraintReduction.ts, 16, 12)) +>Obj : Symbol(Obj, Decl(intersectionConstraintReduction.ts, 24, 21)) +>Key : Symbol(Key, Decl(intersectionConstraintReduction.ts, 24, 40)) + + ? Key extends ObjKeys +>Key : Symbol(Key, Decl(intersectionConstraintReduction.ts, 24, 40)) +>ObjKeys : Symbol(ObjKeys, Decl(intersectionConstraintReduction.ts, 24, 67)) + + ? { [K in Key]: Value } +>K : Symbol(K, Decl(intersectionConstraintReduction.ts, 27, 17)) +>Key : Symbol(Key, Decl(intersectionConstraintReduction.ts, 24, 40)) +>Value : Symbol(Value, Decl(intersectionConstraintReduction.ts, 24, 60)) + + : never + : never; + +export type Reduced2 = +>Reduced2 : Symbol(Reduced2, Decl(intersectionConstraintReduction.ts, 29, 16)) +>Obj : Symbol(Obj, Decl(intersectionConstraintReduction.ts, 31, 21)) +>Key : Symbol(Key, Decl(intersectionConstraintReduction.ts, 31, 40)) +>AnyKey : Symbol(AnyKey, Decl(intersectionConstraintReduction.ts, 6, 40)) +>Value : Symbol(Value, Decl(intersectionConstraintReduction.ts, 31, 60)) +>ObjKeys : Symbol(ObjKeys, Decl(intersectionConstraintReduction.ts, 31, 67)) +>Obj : Symbol(Obj, Decl(intersectionConstraintReduction.ts, 31, 21)) +>Obj : Symbol(Obj, Decl(intersectionConstraintReduction.ts, 31, 21)) + + Key extends AnyKey +>Key : Symbol(Key, Decl(intersectionConstraintReduction.ts, 31, 40)) +>AnyKey : Symbol(AnyKey, Decl(intersectionConstraintReduction.ts, 6, 40)) + + ? Key extends KeyIfSignatureOfObject +>Key : Symbol(Key, Decl(intersectionConstraintReduction.ts, 31, 40)) +>KeyIfSignatureOfObject : Symbol(KeyIfSignatureOfObject, Decl(intersectionConstraintReduction.ts, 16, 12)) +>Obj : Symbol(Obj, Decl(intersectionConstraintReduction.ts, 31, 21)) +>Key : Symbol(Key, Decl(intersectionConstraintReduction.ts, 31, 40)) + + ? Key extends ObjKeys +>Key : Symbol(Key, Decl(intersectionConstraintReduction.ts, 31, 40)) +>ObjKeys : Symbol(ObjKeys, Decl(intersectionConstraintReduction.ts, 31, 67)) + + ? { [K in Key]: Value } +>K : Symbol(K, Decl(intersectionConstraintReduction.ts, 35, 20)) +>Key : Symbol(Key, Decl(intersectionConstraintReduction.ts, 31, 40)) +>Value : Symbol(Value, Decl(intersectionConstraintReduction.ts, 31, 60)) + + : never + : never + : never; + diff --git a/tests/baselines/reference/intersectionConstraintReduction.types b/tests/baselines/reference/intersectionConstraintReduction.types new file mode 100644 index 0000000000000..b2b62bf6632ef --- /dev/null +++ b/tests/baselines/reference/intersectionConstraintReduction.types @@ -0,0 +1,65 @@ +//// [tests/cases/compiler/intersectionConstraintReduction.ts] //// + +=== intersectionConstraintReduction.ts === +type Test1 = +>Test1 : Extract & K1 & K2 +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + MustBeKey & K1 & K2>; + +type Test2 = +>Test2 : K1 & K2 & Extract +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + MustBeKey>; + +type MustBeKey = K; +>MustBeKey : K +> : ^ + +// https://github.com/microsoft/TypeScript/issues/58370 + +type AnyKey = number | string | symbol; +>AnyKey : AnyKey +> : ^^^^^^ + +type ReturnTypeKeyof = Obj extends object +>ReturnTypeKeyof : ReturnTypeKeyof +> : ^^^^^^^^^^^^^^^^^^^^ + + ? [keyof Obj] extends [never] + ? never + : { [Key in keyof Obj as string]-?: () => Key }[string] + : never; + +type KeyIfSignatureOfObject< +>KeyIfSignatureOfObject : KeyIfSignatureOfObject +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + Obj extends object, + Key extends AnyKey, + ReturnTypeKeys = ReturnTypeKeyof, +> = ReturnTypeKeys extends () => Key ? ((() => Key) extends ReturnTypeKeys ? Key : never) : never; + +export type Reduced1 = +>Reduced1 : Reduced1 +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + Key extends KeyIfSignatureOfObject + ? Key extends ObjKeys + ? { [K in Key]: Value } + : never + : never; + +export type Reduced2 = +>Reduced2 : Reduced2 +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + Key extends AnyKey + ? Key extends KeyIfSignatureOfObject + ? Key extends ObjKeys + ? { [K in Key]: Value } + : never + : never + : never; + diff --git a/tests/baselines/reference/intersectionIncludingPropFromGlobalAugmentation.types b/tests/baselines/reference/intersectionIncludingPropFromGlobalAugmentation.types index 8362cf9916a0d..06624e4bebd8b 100644 --- a/tests/baselines/reference/intersectionIncludingPropFromGlobalAugmentation.types +++ b/tests/baselines/reference/intersectionIncludingPropFromGlobalAugmentation.types @@ -20,8 +20,8 @@ declare const source: Test1; const target: Test2 = { ...source }; >target : Test2 > : ^^^^^ ->{ ...source } : { toString: "string" | null; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{ ...source } : { toString: null | "string"; } +> : ^^^^^^^^^^^^ ^^^ >source : Test1 > : ^^^^^ @@ -37,13 +37,13 @@ const toString = target.toString; const hasOwn = target.hasOwnProperty; // not an own member but it should still be accessible >hasOwn : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >target.hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >target : Test2 > : ^^^^^ >hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ export {} diff --git a/tests/baselines/reference/intersectionMemberOfUnionNarrowsCorrectly.types b/tests/baselines/reference/intersectionMemberOfUnionNarrowsCorrectly.types index b87578d417b80..cf04be3a3e2b0 100644 --- a/tests/baselines/reference/intersectionMemberOfUnionNarrowsCorrectly.types +++ b/tests/baselines/reference/intersectionMemberOfUnionNarrowsCorrectly.types @@ -19,7 +19,7 @@ type Ex = T extends U ? T : never; declare let x: Ex >x : { kind?: "A"; a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^ ^^^ >kind : "A" > : ^^^ @@ -27,7 +27,7 @@ x.a >x.a : string > : ^^^^^^ >x : { kind?: "A"; a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^ ^^^ >a : string > : ^^^^^^ diff --git a/tests/baselines/reference/intersectionNarrowing.types b/tests/baselines/reference/intersectionNarrowing.types index 4dd63fe9b7f0b..69f17ad48e2af 100644 --- a/tests/baselines/reference/intersectionNarrowing.types +++ b/tests/baselines/reference/intersectionNarrowing.types @@ -101,7 +101,7 @@ function f4(x: T & 1 | T & 2) { function f5(x: T & number) { >f5 : (x: T & number) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T & number > : ^^^^^^^^^^ diff --git a/tests/baselines/reference/intersectionOfMixinConstructorTypeAndNonConstructorType.types b/tests/baselines/reference/intersectionOfMixinConstructorTypeAndNonConstructorType.types index 498cbd9d454b4..6e835bebcffbc 100644 --- a/tests/baselines/reference/intersectionOfMixinConstructorTypeAndNonConstructorType.types +++ b/tests/baselines/reference/intersectionOfMixinConstructorTypeAndNonConstructorType.types @@ -14,5 +14,5 @@ declare let x: {foo: undefined} & {new(...args: any[]): any}; new x(); >new x() : any >x : { foo: undefined; } & (new (...args: any[]) => any) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ ^ diff --git a/tests/baselines/reference/intersectionOfTypeVariableHasApparentSignatures.types b/tests/baselines/reference/intersectionOfTypeVariableHasApparentSignatures.types index 84a2b4968624d..0f050e66c3a5e 100644 --- a/tests/baselines/reference/intersectionOfTypeVariableHasApparentSignatures.types +++ b/tests/baselines/reference/intersectionOfTypeVariableHasApparentSignatures.types @@ -21,7 +21,7 @@ interface Props { declare function f(i: Component): void; >f : (i: Component) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >i : Component > : ^^^^^^^^^^^^ @@ -29,23 +29,23 @@ f({ >f({ props: { children: (({ x }) => { }) }}) : void > : ^^^^ >f : (i: Component) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ props: { children: (({ x }) => { }) }} : { props: { children: ({ x }: { x: number; }) => void; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^ props: { >props : { children: ({ x }: { x: number; }) => void; } -> : ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ >{ children: (({ x }) => { }) } : { children: ({ x }: { x: number; }) => void; } -> : ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ children: (({ x }) => { }) >children : ({ x }: { x: number; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^^^^^^^^ >(({ x }) => { }) : ({ x }: { x: number; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^^^^^^^^ >({ x }) => { } : ({ x }: { x: number; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^^^^^^^^ >x : number > : ^^^^^^ } diff --git a/tests/baselines/reference/intersectionOfUnionNarrowing.types b/tests/baselines/reference/intersectionOfUnionNarrowing.types index f503a6a3c002d..fdbbccefe153b 100644 --- a/tests/baselines/reference/intersectionOfUnionNarrowing.types +++ b/tests/baselines/reference/intersectionOfUnionNarrowing.types @@ -34,11 +34,11 @@ if (q.a !== undefined) { >q.a !== undefined : boolean > : ^^^^^^^ >q.a : ({ aProp: string; } & object) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ >q : X & AorB > : ^^^^^^^^ >a : ({ aProp: string; } & object) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ @@ -46,11 +46,11 @@ if (q.a !== undefined) { >q.a.aProp : string > : ^^^^^^ >q.a : { aProp: string; } & object -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^^^ >q : X & { a: object; b: undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^ ^^^ >a : { aProp: string; } & object -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^^^ >aProp : string > : ^^^^^^ @@ -60,11 +60,11 @@ if (q.a !== undefined) { >q.b.bProp : string > : ^^^^^^ >q.b : { bProp: string; } & object -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^^^ >q : X & { a: undefined; b: object; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^ ^^^ >b : { bProp: string; } & object -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^^^ >bProp : string > : ^^^^^^ } diff --git a/tests/baselines/reference/intersectionPropertyCheck.types b/tests/baselines/reference/intersectionPropertyCheck.types index c2e3dda073f95..556b332d60374 100644 --- a/tests/baselines/reference/intersectionPropertyCheck.types +++ b/tests/baselines/reference/intersectionPropertyCheck.types @@ -47,11 +47,11 @@ let weak: { a?: { x?: number } } & { c?: string } = wrong; // Nested weak objec >c : string | undefined > : ^^^^^^^^^^^^^^^^^^ >wrong : { a: { y: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ function foo(x: { a?: string }, y: T & { a: boolean }) { >foo : (x: { a?: string; }, y: T & { a: boolean; }) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : { a?: string; } > : ^^^^^^ ^^^ >a : string | undefined @@ -63,11 +63,11 @@ function foo(x: { a?: string }, y: T & { a: boolean }) { x = y; // Mismatched property in source intersection >x = y : T & { a: boolean; } -> : ^^^^^^^^^^^^^^^^^^^ ->x : { a?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ +>x : { a?: string; } +> : ^^^^^^ ^^^ >y : T & { a: boolean; } -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ } // Repro from #36637 @@ -80,7 +80,7 @@ interface Test { function test(value: T): Test { >test : (value: T) => Test -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >value : T > : ^ diff --git a/tests/baselines/reference/intersectionReduction.types b/tests/baselines/reference/intersectionReduction.types index 385389887cbbf..b6ca4e9036281 100644 --- a/tests/baselines/reference/intersectionReduction.types +++ b/tests/baselines/reference/intersectionReduction.types @@ -287,7 +287,7 @@ let r1 = f10(a1); // unknown >f10(a1) : unknown > : ^^^^^^^ >f10 : (x: { foo: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a1 : A | D > : ^^^^^ @@ -297,7 +297,7 @@ let r2 = f10(a2); // string >f10(a2) : string > : ^^^^^^ >f10 : (x: { foo: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a2 : A > : ^ @@ -508,7 +508,7 @@ const b: B2 = shouldBeB; // works function inGeneric(alsoShouldBeB: T & B2) { >inGeneric : (alsoShouldBeB: T & B2) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >alsoShouldBeB : T & B2 > : ^^^^^^ @@ -549,7 +549,7 @@ declare class CB { kind: 'b'; b: string; y: number }; function bar(x: T & CA) { >bar : (x: T & CA) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T & CA > : ^^^^^^ diff --git a/tests/baselines/reference/intersectionSatisfiesConstraint.types b/tests/baselines/reference/intersectionSatisfiesConstraint.types index 462ae28e40e9b..e717f28d38203 100644 --- a/tests/baselines/reference/intersectionSatisfiesConstraint.types +++ b/tests/baselines/reference/intersectionSatisfiesConstraint.types @@ -15,9 +15,9 @@ interface SecondInterface { const myFirstFunction = (param1: T) => { >myFirstFunction : (param1: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >(param1: T) => { const newParam: T & { otherProperty: number } = Object.assign(param1, { otherProperty: 3 }) mySecondFunction(newParam)} : (param1: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >param1 : T > : ^ @@ -28,12 +28,12 @@ const myFirstFunction = (param1: T) > : ^^^^^^ >Object.assign(param1, { otherProperty: 3 }) : T & { otherProperty: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->Object.assign : { (target: T_1, source: U): T_1 & U; (target: T_2, source1: U_1, source2: V): T_2 & U_1 & V; (target: T_3, source1: U_2, source2: V_1, source3: W): T_3 & U_2 & V_1 & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +>Object.assign : { (target: T_1, source: U): T_1 & U; (target: T_1, source1: U, source2: V): T_1 & U & V; (target: T_1, source1: U, source2: V, source3: W): T_1 & U & V & W; (target: object, ...sources: any[]): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ ->assign : { (target: T_1, source: U): T_1 & U; (target: T_2, source1: U_1, source2: V): T_2 & U_1 & V; (target: T_3, source1: U_2, source2: V_1, source3: W): T_3 & U_2 & V_1 & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +>assign : { (target: T_1, source: U): T_1 & U; (target: T_1, source1: U, source2: V): T_1 & U & V; (target: T_1, source1: U, source2: V, source3: W): T_1 & U & V & W; (target: object, ...sources: any[]): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >param1 : T > : ^ >{ otherProperty: 3 } : { otherProperty: number; } @@ -45,18 +45,18 @@ const myFirstFunction = (param1: T) mySecondFunction(newParam) >mySecondFunction(newParam) : { commonProperty: number; otherProperty: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ >mySecondFunction : (newParam: T_1) => T_1 -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^ >newParam : (FirstInterface | SecondInterface) & { otherProperty: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ } const mySecondFunction = (newParam: T) => { >mySecondFunction : (newParam: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ >(newParam: T) => { return newParam} : (newParam: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ >commonProperty : number > : ^^^^^^ >otherProperty : number diff --git a/tests/baselines/reference/intersectionThisTypes.types b/tests/baselines/reference/intersectionThisTypes.types index 2326eb7c8d9cd..002b31db03e41 100644 --- a/tests/baselines/reference/intersectionThisTypes.types +++ b/tests/baselines/reference/intersectionThisTypes.types @@ -154,24 +154,24 @@ function test(label: Label) { > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >label.extend({ id: 67 }).extend({ tag: "hello" }) : Label & { id: number; } & { tag: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->label.extend({ id: 67 }).extend : (props: T) => Label & { id: number; } & T -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>label.extend({ id: 67 }).extend : (props: T) => (Label & { id: number; }) & T +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ >label.extend({ id: 67 }) : Label & { id: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^ >label.extend : (props: T) => Label & T -> : ^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^ ^ >label : Label > : ^^^^^ >extend : (props: T) => Label & T -> : ^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^ ^ >{ id: 67 } : { id: number; } > : ^^^^^^^^^^^^^^^ >id : number > : ^^^^^^ >67 : 67 > : ^^ ->extend : (props: T) => Label & { id: number; } & T -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>extend : (props: T) => (Label & { id: number; }) & T +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ >{ tag: "hello" } : { tag: string; } > : ^^^^^^^^^^^^^^^^ >tag : string diff --git a/tests/baselines/reference/intersectionTypeAssignment.types b/tests/baselines/reference/intersectionTypeAssignment.types index fdb618e8491e9..6c58a8e4a5ba5 100644 --- a/tests/baselines/reference/intersectionTypeAssignment.types +++ b/tests/baselines/reference/intersectionTypeAssignment.types @@ -31,81 +31,81 @@ var y: { a: string } & { b: string }; a = x; >a = x : { a: string; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >a : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : { a: string; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ a = y; >a = y : { a: string; } & { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >a : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >y : { a: string; } & { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ x = a; // Error >x = a : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : { a: string; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >a : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ y = a; // Error >y = a : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >y : { a: string; } & { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >a : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ b = x; >b = x : { a: string; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >b : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : { a: string; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ b = y; >b = y : { a: string; } & { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >b : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >y : { a: string; } & { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ x = b; // Error >x = b : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : { a: string; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >b : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ y = b; // Error >y = b : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >y : { a: string; } & { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >b : { b: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ x = y; >x = y : { a: string; } & { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >x : { a: string; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >y : { a: string; } & { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ y = x; >y = x : { a: string; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >y : { a: string; } & { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >x : { a: string; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ diff --git a/tests/baselines/reference/intersectionTypeInference.types b/tests/baselines/reference/intersectionTypeInference.types index d90cb32aca336..6b946847277f2 100644 --- a/tests/baselines/reference/intersectionTypeInference.types +++ b/tests/baselines/reference/intersectionTypeInference.types @@ -56,7 +56,7 @@ var x = extend({ a: "hello" }, { b: 42 }); >extend({ a: "hello" }, { b: 42 }) : { a: string; } & { b: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >extend : (obj1: T, obj2: U) => T & U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{ a: "hello" } : { a: string; } > : ^^^^^^^^^^^^^^ >a : string @@ -119,7 +119,7 @@ var z = foo({ a: "hello", b: 42 }); >foo({ a: "hello", b: 42 }) : string | number > : ^^^^^^^^^^^^^^^ >foo : (obj: A & B) => T | U -> : ^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >{ a: "hello", b: 42 } : { a: string; b: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : string diff --git a/tests/baselines/reference/intersectionTypeInference1.types b/tests/baselines/reference/intersectionTypeInference1.types index 9a925c38e5199..63f9439e7f208 100644 --- a/tests/baselines/reference/intersectionTypeInference1.types +++ b/tests/baselines/reference/intersectionTypeInference1.types @@ -25,7 +25,7 @@ const parameterFn = (props:{store:string}) => alert(props.store) >props.store : string > : ^^^^^^ >props : { store: string; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >store : string > : ^^^^^^ @@ -49,11 +49,11 @@ const brokenFunction = (f: (p: {dispatch: number} & OwnProps) => void) export const Form3 = brokenFunction(parameterFn)({store: "hello"}) >Form3 : { store: string; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >brokenFunction(parameterFn)({store: "hello"}) : { store: string; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >brokenFunction(parameterFn) : (o: { store: string; }) => { store: string; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ >brokenFunction : (f: (p: { dispatch: number; } & OwnProps) => void) => (o: OwnProps) => OwnProps > : ^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ >parameterFn : (props: { store: string; }) => void diff --git a/tests/baselines/reference/intersectionTypeInference2.types b/tests/baselines/reference/intersectionTypeInference2.types index e60d20b21f256..d191520890ce3 100644 --- a/tests/baselines/reference/intersectionTypeInference2.types +++ b/tests/baselines/reference/intersectionTypeInference2.types @@ -27,23 +27,23 @@ f(a); // never >f(a) : never > : ^^^^^ >f : (x: { prop: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a : { prop: string; } & { prop: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ f(b); // never >f(b) : never > : ^^^^^ >f : (x: { prop: T; }) => T -> : ^ ^^ ^^ ^^^^^^ ->b : { prop: never; } -> : ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ +>b : { prop: string & number; } +> : ^^^^^^^^ ^^^ // Repro from #18354 declare function f2(obj: {[K in keyof T]: T[K]}, key: Key): T[Key]; >f2 : (obj: { [K in keyof T]: T[K]; }, key: Key) => T[Key] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >obj : { [K in keyof T]: T[K]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >key : Key @@ -61,9 +61,9 @@ f2(obj, 'a'); >f2(obj, 'a') : string > : ^^^^^^ >f2 : (obj: { [K in keyof T]: T[K]; }, key: Key) => T[Key] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >obj : { a: string; } & { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >'a' : "a" > : ^^^ @@ -71,9 +71,9 @@ f2(obj, 'b'); >f2(obj, 'b') : string > : ^^^^^^ >f2 : (obj: { [K in keyof T]: T[K]; }, key: Key) => T[Key] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >obj : { a: string; } & { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >'b' : "b" > : ^^^ diff --git a/tests/baselines/reference/intersectionTypeInference3.types b/tests/baselines/reference/intersectionTypeInference3.types index 077876f7b747a..7d1a6c2a650d4 100644 --- a/tests/baselines/reference/intersectionTypeInference3.types +++ b/tests/baselines/reference/intersectionTypeInference3.types @@ -37,27 +37,27 @@ const c1 = Array.from(a).concat(Array.from(b)); >Array.from(a).concat(Array.from(b)) : A[] > : ^^^ >Array.from(a).concat : { (...items: ConcatArray[]): A[]; (...items: (A | ConcatArray)[]): A[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Array.from(a) : A[] > : ^^^ ->Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ ->from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >a : Set > : ^^^^^^ >concat : { (...items: ConcatArray[]): A[]; (...items: (A | ConcatArray)[]): A[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >Array.from(b) : A[] > : ^^^ ->Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ ->from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^ +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ >b : Set > : ^^^^^^ @@ -73,5 +73,5 @@ const c2: ReadonlyArray = from(); >from() : A[] > : ^^^ >from : () => T[] -> : ^^^^^^^^^^^^ +> : ^ ^^^^^^^ diff --git a/tests/baselines/reference/intersectionTypeNormalization.types b/tests/baselines/reference/intersectionTypeNormalization.types index 3aa375df6a06d..6c057bd977a62 100644 --- a/tests/baselines/reference/intersectionTypeNormalization.types +++ b/tests/baselines/reference/intersectionTypeNormalization.types @@ -185,7 +185,7 @@ function getValueAsString(value: IntersectionFail): string { >value.num : number > : ^^^^^^ >value : { kind: "int"; num: number; } & ToString -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ >num : number > : ^^^^^^ } @@ -193,7 +193,7 @@ function getValueAsString(value: IntersectionFail): string { >value.str : string > : ^^^^^^ >value : { kind: "string"; str: string; } & ToString -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ >str : string > : ^^^^^^ } diff --git a/tests/baselines/reference/intersectionType_useDefineForClassFields.types b/tests/baselines/reference/intersectionType_useDefineForClassFields.types index 7b66a5e1ecd5e..5a189ee69cd41 100644 --- a/tests/baselines/reference/intersectionType_useDefineForClassFields.types +++ b/tests/baselines/reference/intersectionType_useDefineForClassFields.types @@ -23,8 +23,8 @@ class Baz extends bar({ x: 1 }) { > : ^^^ >bar({ x: 1 }) : Foo<{ x: number; }> > : ^^^^^^^^^^^^^^^^^^^ ->bar : (_p: T) => new () => Foo -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>bar : (_p: T) => { new (): Foo; } +> : ^ ^^ ^^ ^^^^^ >{ x: 1 } : { x: number; } > : ^^^^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/intersectionWithConflictingPrivates.types b/tests/baselines/reference/intersectionWithConflictingPrivates.types index 8b2bc3920d5a9..811ac618efe45 100644 --- a/tests/baselines/reference/intersectionWithConflictingPrivates.types +++ b/tests/baselines/reference/intersectionWithConflictingPrivates.types @@ -220,12 +220,12 @@ class Foo { return Promise.resolve(undefined); >Promise.resolve(undefined) : Promise > : ^^^^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >undefined : undefined > : ^^^^^^^^^ } diff --git a/tests/baselines/reference/intersectionWithIndexSignatures.types b/tests/baselines/reference/intersectionWithIndexSignatures.types index 469787253bbf4..b95345006db0f 100644 --- a/tests/baselines/reference/intersectionWithIndexSignatures.types +++ b/tests/baselines/reference/intersectionWithIndexSignatures.types @@ -43,35 +43,35 @@ declare let ta2: { [key: string]: A } & { [key: string]: B }; ta1 = sa1; >ta1 = sa1 : { x: A & B; } -> : ^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >ta1 : { [key: string]: A & B; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >sa1 : { x: A & B; } -> : ^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ta1 = sa2; >ta1 = sa2 : { x: A; } & { x: B; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >ta1 : { [key: string]: A & B; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >sa2 : { x: A; } & { x: B; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ ta2 = sa1; >ta2 = sa1 : { x: A & B; } -> : ^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >ta2 : { [key: string]: A; } & { [key: string]: B; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >sa1 : { x: A & B; } -> : ^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ta2 = sa2; >ta2 = sa2 : { x: A; } & { x: B; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >ta2 : { [key: string]: A; } & { [key: string]: B; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >sa2 : { x: A; } & { x: B; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ declare let sb1: { x: A } & { y: B }; >sb1 : { x: A; } & { y: B; } @@ -89,11 +89,11 @@ declare let tb1: { [key: string]: A }; tb1 = sb1; // Error >tb1 = sb1 : { x: A; } & { y: B; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >tb1 : { [key: string]: A; } > : ^^^^^^^^^^^^^^^^^^^^^ >sb1 : { x: A; } & { y: B; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ // Repro from #32484 @@ -117,11 +117,11 @@ q["asd"].a.substr(1); >q["asd"].a.substr(1) : string > : ^^^^^^ >q["asd"].a.substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >q["asd"].a : string > : ^^^^^^ >q["asd"] : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >q : s > : ^ >"asd" : "asd" @@ -129,7 +129,7 @@ q["asd"].a.substr(1); >a : string > : ^^^^^^ >substr : (from: number, length?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -137,7 +137,7 @@ q["asd"].b; // Error >q["asd"].b : any > : ^^^ >q["asd"] : { a: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >q : s > : ^ >"asd" : "asd" @@ -175,9 +175,9 @@ declare let tt: { [key: string]: string }; tt = ss; // Error >tt = ss : { a: string; } & { b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ >tt : { [key: string]: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >ss : { a: string; } & { b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ diff --git a/tests/baselines/reference/intersectionWithUnionConstraint.types b/tests/baselines/reference/intersectionWithUnionConstraint.types index 687d74a35689d..43435329a10f4 100644 --- a/tests/baselines/reference/intersectionWithUnionConstraint.types +++ b/tests/baselines/reference/intersectionWithUnionConstraint.types @@ -3,7 +3,7 @@ === intersectionWithUnionConstraint.ts === function f1(x: T & U) { >f1 : (x: T & U) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T & U > : ^^^^^ @@ -17,7 +17,7 @@ function f1(x: T & U) { function f2(x: T & U) { >f2 : (x: T & U) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T & U > : ^^^^^ @@ -64,7 +64,7 @@ type T1 = (string | number | undefined) & (string | null | undefined); // strin function f3(x: T & (number | object | undefined)) { >f3 : (x: T & (number | object | undefined)) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : (T & undefined) | (T & number) > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -77,7 +77,7 @@ function f3(x: T & (number | object | und function f4(x: T & (number | object)) { >f4 : (x: T & (number | object)) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T & number > : ^^^^^^^^^^ @@ -90,7 +90,7 @@ function f4(x: T & (number | object)) { function f5(x: keyof T & U) { >f5 : (x: keyof T & U) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : keyof T & U > : ^^^^^^^^^^^ diff --git a/tests/baselines/reference/intersectionsAndEmptyObjects.types b/tests/baselines/reference/intersectionsAndEmptyObjects.types index 0a2edd44726af..79436aeb13b56 100644 --- a/tests/baselines/reference/intersectionsAndEmptyObjects.types +++ b/tests/baselines/reference/intersectionsAndEmptyObjects.types @@ -89,9 +89,9 @@ type Dictionary = { [name: string]: string }; const intersectDictionaries = ( >intersectDictionaries : (d1: F1, d2: F2) => F1 & F2 -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >( d1: F1, d2: F2,): F1 & F2 => Object.assign({}, d1, d2) : (d1: F1, d2: F2) => F1 & F2 -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ d1: F1, >d1 : F1 @@ -104,12 +104,12 @@ const intersectDictionaries = ( ): F1 & F2 => Object.assign({}, d1, d2); >Object.assign({}, d1, d2) : {} & F1 & F2 > : ^^^^^^^^^^^^ ->Object.assign : { (target: T, source: U): T & U; (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; (target: T_2, source1: U_2, source2: V_1, source3: W): T_2 & U_2 & V_1 & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +>Object.assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ ->assign : { (target: T, source: U): T & U; (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; (target: T_2, source1: U_2, source2: V_1, source3: W): T_2 & U_2 & V_1 & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +>assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >{} : {} > : ^^ >d1 : F1 @@ -119,9 +119,9 @@ const intersectDictionaries = ( const testDictionary = (_value: T) => { }; >testDictionary : (_value: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >(_value: T) => { } : (_value: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >_value : T > : ^ @@ -135,7 +135,7 @@ testDictionary(d1); >testDictionary(d1) : void > : ^^^^ >testDictionary : (_value: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >d1 : {} > : ^^ @@ -145,7 +145,7 @@ const d2 = intersectDictionaries(d1, d1); >intersectDictionaries(d1, d1) : {} > : ^^ >intersectDictionaries : (d1: F1, d2: F2) => F1 & F2 -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >d1 : {} > : ^^ >d1 : {} @@ -155,7 +155,7 @@ testDictionary(d2); >testDictionary(d2) : void > : ^^^^ >testDictionary : (_value: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >d2 : {} > : ^^ @@ -176,7 +176,7 @@ testDictionary(d3); >testDictionary(d3) : void > : ^^^^ >testDictionary : (_value: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >d3 : { s: string; } > : ^^^^^^^^^^^^^^ @@ -186,7 +186,7 @@ const d4 = intersectDictionaries(d1, d3); >intersectDictionaries(d1, d3) : { s: string; } > : ^^^^^^^^^^^^^^ >intersectDictionaries : (d1: F1, d2: F2) => F1 & F2 -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >d1 : {} > : ^^ >d3 : { s: string; } @@ -196,7 +196,7 @@ testDictionary(d4); >testDictionary(d4) : void > : ^^^^ >testDictionary : (_value: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >d4 : { s: string; } > : ^^^^^^^^^^^^^^ @@ -206,7 +206,7 @@ const d5 = intersectDictionaries(d3, d1); >intersectDictionaries(d3, d1) : { s: string; } > : ^^^^^^^^^^^^^^ >intersectDictionaries : (d1: F1, d2: F2) => F1 & F2 -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >d3 : { s: string; } > : ^^^^^^^^^^^^^^ >d1 : {} @@ -216,7 +216,7 @@ testDictionary(d5); >testDictionary(d5) : void > : ^^^^ >testDictionary : (_value: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >d5 : { s: string; } > : ^^^^^^^^^^^^^^ @@ -226,7 +226,7 @@ const d6 = intersectDictionaries(d3, d3); >intersectDictionaries(d3, d3) : { s: string; } > : ^^^^^^^^^^^^^^ >intersectDictionaries : (d1: F1, d2: F2) => F1 & F2 -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >d3 : { s: string; } > : ^^^^^^^^^^^^^^ >d3 : { s: string; } @@ -236,7 +236,7 @@ testDictionary(d6); >testDictionary(d6) : void > : ^^^^ >testDictionary : (_value: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >d6 : { s: string; } > : ^^^^^^^^^^^^^^ @@ -279,11 +279,11 @@ type IUnknownChoiceList = {}; var defaultChoices: choices<{}>; >defaultChoices : { shoes: boolean; food: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^ ^^^ var defaultChoicesAndEmpty: choices<{} & {}>; >defaultChoicesAndEmpty : { shoes: boolean; food: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^ ^^^ var myChoices: choices; >myChoices : choices @@ -295,11 +295,11 @@ var myChoicesAndEmpty: choices; var unknownChoices: choices; >unknownChoices : { shoes: boolean; food: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^ ^^^ var unknownChoicesAndEmpty: choices; >unknownChoicesAndEmpty : { shoes: boolean; food: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^ ^^^ // Repro from #38672 @@ -329,7 +329,7 @@ mock(import('./ex')) >mock(import('./ex')) : {} > : ^^ >mock : (_: Promise) => {} & M -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >import('./ex') : Promise<{ default: typeof import("ex"); }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'./ex' : "./ex" diff --git a/tests/baselines/reference/intersectionsAndOptionalProperties.types b/tests/baselines/reference/intersectionsAndOptionalProperties.types index 33a75d8e9b47c..2b551b8f54de5 100644 --- a/tests/baselines/reference/intersectionsAndOptionalProperties.types +++ b/tests/baselines/reference/intersectionsAndOptionalProperties.types @@ -27,19 +27,19 @@ declare let z: { a: null } & { b: string }; x = y; // Error >x = y : { a: null; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ ->x : { a?: number | undefined; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ +>x : { a?: number; b: string; } +> : ^^^^^^ ^^^^^ ^^^ >y : { a: null; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ x = z; // Error >x = z : { a: null; } & { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->x : { a?: number | undefined; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ +>x : { a?: number; b: string; } +> : ^^^^^^ ^^^^^ ^^^ >z : { a: null; } & { b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ // Repro from #36604 diff --git a/tests/baselines/reference/intersectionsOfLargeUnions.types b/tests/baselines/reference/intersectionsOfLargeUnions.types index 6feae7ef8cd07..676db1b32915d 100644 --- a/tests/baselines/reference/intersectionsOfLargeUnions.types +++ b/tests/baselines/reference/intersectionsOfLargeUnions.types @@ -1,7 +1,6 @@ //// [tests/cases/compiler/intersectionsOfLargeUnions.ts] //// === Performance Stats === -Strict subtype cache: 1,000 Assignability cache: 1,000 Type Count: 2,500 @@ -40,8 +39,8 @@ export function assertIsElement(node: Node | null): node is Element { } export function assertNodeTagName< ->assertNodeTagName : (node: Node | null, tagName: T) => node is U -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +>assertNodeTagName : (node: Node | null, tagName: T) => node is U +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ T extends keyof ElementTagNameMap, U extends ElementTagNameMap[T]>(node: Node | null, tagName: T): node is U { @@ -54,7 +53,7 @@ export function assertNodeTagName< >assertIsElement(node) : boolean > : ^^^^^^^ >assertIsElement : (node: Node | null) => node is Element -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >node : Node | null > : ^^^^^^^^^^^ @@ -64,7 +63,7 @@ export function assertNodeTagName< >node.tagName.toLowerCase() : string > : ^^^^^^ >node.tagName.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >node.tagName : string > : ^^^^^^ >node : Element @@ -72,7 +71,7 @@ export function assertNodeTagName< >tagName : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ return nodeTagName === tagName; >nodeTagName === tagName : boolean @@ -88,8 +87,8 @@ export function assertNodeTagName< } export function assertNodeProperty< ->assertNodeProperty : (node: Node | null, tagName: T, prop: P, value: V) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>assertNodeProperty : (node: Node | null, tagName: T, prop: P, value: V) => void +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ T extends keyof ElementTagNameMap, P extends keyof ElementTagNameMap[T], @@ -106,8 +105,8 @@ export function assertNodeProperty< if (assertNodeTagName(node, tagName)) { >assertNodeTagName(node, tagName) : boolean > : ^^^^^^^ ->assertNodeTagName : (node: Node | null, tagName: T_1) => node is U -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>assertNodeTagName : (node: Node | null, tagName: T_1) => node is U +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >node : Node | null > : ^^^^^^^^^^^ >tagName : T diff --git a/tests/baselines/reference/intersectionsOfLargeUnions2.types b/tests/baselines/reference/intersectionsOfLargeUnions2.types index d8c94c0aeedfd..fe2c3a63f1935 100644 --- a/tests/baselines/reference/intersectionsOfLargeUnions2.types +++ b/tests/baselines/reference/intersectionsOfLargeUnions2.types @@ -1,7 +1,6 @@ //// [tests/cases/compiler/intersectionsOfLargeUnions2.ts] //// === Performance Stats === -Strict subtype cache: 1,000 Assignability cache: 1,000 Type Count: 2,500 @@ -57,8 +56,8 @@ export function assertIsElement(node: Node | null): node is Element { } export function assertNodeTagName< ->assertNodeTagName : (node: Node | null, tagName: T) => node is U -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +>assertNodeTagName : (node: Node | null, tagName: T) => node is U +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ T extends keyof ElementTagNameMap, U extends ElementTagNameMap[T]>(node: Node | null, tagName: T): node is U { @@ -71,7 +70,7 @@ export function assertNodeTagName< >assertIsElement(node) : boolean > : ^^^^^^^ >assertIsElement : (node: Node | null) => node is Element -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >node : Node | null > : ^^^^^^^^^^^ @@ -81,7 +80,7 @@ export function assertNodeTagName< >node.tagName.toLowerCase() : string > : ^^^^^^ >node.tagName.toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >node.tagName : string > : ^^^^^^ >node : Element @@ -89,7 +88,7 @@ export function assertNodeTagName< >tagName : string > : ^^^^^^ >toLowerCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ return nodeTagName === tagName; >nodeTagName === tagName : boolean @@ -105,8 +104,8 @@ export function assertNodeTagName< } export function assertNodeProperty< ->assertNodeProperty : (node: Node | null, tagName: T, prop: P, value: V) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>assertNodeProperty : (node: Node | null, tagName: T, prop: P, value: V) => void +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ T extends keyof ElementTagNameMap, P extends keyof ElementTagNameMap[T], @@ -123,8 +122,8 @@ export function assertNodeProperty< if (assertNodeTagName(node, tagName)) { >assertNodeTagName(node, tagName) : boolean > : ^^^^^^^ ->assertNodeTagName : (node: Node | null, tagName: T_1) => node is U -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +>assertNodeTagName : (node: Node | null, tagName: T_1) => node is U +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >node : Node | null > : ^^^^^^^^^^^ >tagName : T diff --git a/tests/baselines/reference/intlDateTimeFormatRangeES2021.types b/tests/baselines/reference/intlDateTimeFormatRangeES2021.types index 1ca9195f381c2..b1901106592c0 100644 --- a/tests/baselines/reference/intlDateTimeFormatRangeES2021.types +++ b/tests/baselines/reference/intlDateTimeFormatRangeES2021.types @@ -5,7 +5,7 @@ new Intl.DateTimeFormat().formatRange(new Date(0), new Date()); >new Intl.DateTimeFormat().formatRange(new Date(0), new Date()) : string > : ^^^^^^ >new Intl.DateTimeFormat().formatRange : (startDate: Date | number | bigint, endDate: Date | number | bigint) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >new Intl.DateTimeFormat() : Intl.DateTimeFormat > : ^^^^^^^^^^^^^^^^^^^ >Intl.DateTimeFormat : Intl.DateTimeFormatConstructor @@ -15,7 +15,7 @@ new Intl.DateTimeFormat().formatRange(new Date(0), new Date()); >DateTimeFormat : Intl.DateTimeFormatConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >formatRange : (startDate: Date | number | bigint, endDate: Date | number | bigint) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >new Date(0) : Date > : ^^^^ >Date : DateConstructor @@ -33,7 +33,7 @@ const [ part ] = new Intl.DateTimeFormat().formatRangeToParts(1000, 1000000000); >new Intl.DateTimeFormat().formatRangeToParts(1000, 1000000000) : Intl.DateTimeRangeFormatPart[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >new Intl.DateTimeFormat().formatRangeToParts : (startDate: Date | number | bigint, endDate: Date | number | bigint) => Intl.DateTimeRangeFormatPart[] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >new Intl.DateTimeFormat() : Intl.DateTimeFormat > : ^^^^^^^^^^^^^^^^^^^ >Intl.DateTimeFormat : Intl.DateTimeFormatConstructor @@ -43,7 +43,7 @@ const [ part ] = new Intl.DateTimeFormat().formatRangeToParts(1000, 1000000000); >DateTimeFormat : Intl.DateTimeFormatConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >formatRangeToParts : (startDate: Date | number | bigint, endDate: Date | number | bigint) => Intl.DateTimeRangeFormatPart[] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >1000 : 1000 > : ^^^^ >1000000000 : 1000000000 diff --git a/tests/baselines/reference/intlNumberFormatES2023.types b/tests/baselines/reference/intlNumberFormatES2023.types index 6e729e31560b6..4063a0dcbec95 100644 --- a/tests/baselines/reference/intlNumberFormatES2023.types +++ b/tests/baselines/reference/intlNumberFormatES2023.types @@ -158,8 +158,8 @@ new Intl.NumberFormat('en-GB', { useGrouping: 'always' }); new Intl.NumberFormat('en-GB').formatRange(10, 100); >new Intl.NumberFormat('en-GB').formatRange(10, 100) : string > : ^^^^^^ ->new Intl.NumberFormat('en-GB').formatRange : (start: number | bigint | StringNumericLiteral, end: number | bigint | StringNumericLiteral) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +>new Intl.NumberFormat('en-GB').formatRange : (start: number | bigint | Intl.StringNumericLiteral, end: number | bigint | Intl.StringNumericLiteral) => string +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >new Intl.NumberFormat('en-GB') : Intl.NumberFormat > : ^^^^^^^^^^^^^^^^^ >Intl.NumberFormat : Intl.NumberFormatConstructor @@ -170,8 +170,8 @@ new Intl.NumberFormat('en-GB').formatRange(10, 100); > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'en-GB' : "en-GB" > : ^^^^^^^ ->formatRange : (start: number | bigint | StringNumericLiteral, end: number | bigint | StringNumericLiteral) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +>formatRange : (start: number | bigint | Intl.StringNumericLiteral, end: number | bigint | Intl.StringNumericLiteral) => string +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >10 : 10 > : ^^ >100 : 100 @@ -180,8 +180,8 @@ new Intl.NumberFormat('en-GB').formatRange(10, 100); new Intl.NumberFormat('en-GB').formatRange(10n, 1000n); >new Intl.NumberFormat('en-GB').formatRange(10n, 1000n) : string > : ^^^^^^ ->new Intl.NumberFormat('en-GB').formatRange : (start: number | bigint | StringNumericLiteral, end: number | bigint | StringNumericLiteral) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +>new Intl.NumberFormat('en-GB').formatRange : (start: number | bigint | Intl.StringNumericLiteral, end: number | bigint | Intl.StringNumericLiteral) => string +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >new Intl.NumberFormat('en-GB') : Intl.NumberFormat > : ^^^^^^^^^^^^^^^^^ >Intl.NumberFormat : Intl.NumberFormatConstructor @@ -192,8 +192,8 @@ new Intl.NumberFormat('en-GB').formatRange(10n, 1000n); > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'en-GB' : "en-GB" > : ^^^^^^^ ->formatRange : (start: number | bigint | StringNumericLiteral, end: number | bigint | StringNumericLiteral) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +>formatRange : (start: number | bigint | Intl.StringNumericLiteral, end: number | bigint | Intl.StringNumericLiteral) => string +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >10n : 10n > : ^^^ >1000n : 1000n @@ -204,8 +204,8 @@ new Intl.NumberFormat('en-GB').formatRangeToParts(10, 1000)[0]; > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >new Intl.NumberFormat('en-GB').formatRangeToParts(10, 1000) : Intl.NumberRangeFormatPart[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->new Intl.NumberFormat('en-GB').formatRangeToParts : (start: number | bigint | StringNumericLiteral, end: number | bigint | StringNumericLiteral) => Intl.NumberRangeFormatPart[] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>new Intl.NumberFormat('en-GB').formatRangeToParts : (start: number | bigint | Intl.StringNumericLiteral, end: number | bigint | Intl.StringNumericLiteral) => Intl.NumberRangeFormatPart[] +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >new Intl.NumberFormat('en-GB') : Intl.NumberFormat > : ^^^^^^^^^^^^^^^^^ >Intl.NumberFormat : Intl.NumberFormatConstructor @@ -216,8 +216,8 @@ new Intl.NumberFormat('en-GB').formatRangeToParts(10, 1000)[0]; > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'en-GB' : "en-GB" > : ^^^^^^^ ->formatRangeToParts : (start: number | bigint | StringNumericLiteral, end: number | bigint | StringNumericLiteral) => Intl.NumberRangeFormatPart[] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>formatRangeToParts : (start: number | bigint | Intl.StringNumericLiteral, end: number | bigint | Intl.StringNumericLiteral) => Intl.NumberRangeFormatPart[] +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >10 : 10 > : ^^ >1000 : 1000 @@ -230,8 +230,8 @@ new Intl.NumberFormat('en-GB').formatRangeToParts(10n, 1000n)[0]; > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >new Intl.NumberFormat('en-GB').formatRangeToParts(10n, 1000n) : Intl.NumberRangeFormatPart[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->new Intl.NumberFormat('en-GB').formatRangeToParts : (start: number | bigint | StringNumericLiteral, end: number | bigint | StringNumericLiteral) => Intl.NumberRangeFormatPart[] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>new Intl.NumberFormat('en-GB').formatRangeToParts : (start: number | bigint | Intl.StringNumericLiteral, end: number | bigint | Intl.StringNumericLiteral) => Intl.NumberRangeFormatPart[] +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >new Intl.NumberFormat('en-GB') : Intl.NumberFormat > : ^^^^^^^^^^^^^^^^^ >Intl.NumberFormat : Intl.NumberFormatConstructor @@ -242,8 +242,8 @@ new Intl.NumberFormat('en-GB').formatRangeToParts(10n, 1000n)[0]; > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'en-GB' : "en-GB" > : ^^^^^^^ ->formatRangeToParts : (start: number | bigint | StringNumericLiteral, end: number | bigint | StringNumericLiteral) => Intl.NumberRangeFormatPart[] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>formatRangeToParts : (start: number | bigint | Intl.StringNumericLiteral, end: number | bigint | Intl.StringNumericLiteral) => Intl.NumberRangeFormatPart[] +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >10n : 10n > : ^^^ >1000n : 1000n @@ -255,8 +255,8 @@ new Intl.NumberFormat('en-GB').formatRangeToParts(10n, 1000n)[0]; new Intl.NumberFormat('en-GB').format('-12.3E-4'); >new Intl.NumberFormat('en-GB').format('-12.3E-4') : string > : ^^^^^^ ->new Intl.NumberFormat('en-GB').format : { (value: number): string; (value: number | bigint): string; (value: number | bigint | StringNumericLiteral): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +>new Intl.NumberFormat('en-GB').format : { (value: number): string; (value: number | bigint): string; (value: number | bigint | Intl.StringNumericLiteral): string; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >new Intl.NumberFormat('en-GB') : Intl.NumberFormat > : ^^^^^^^^^^^^^^^^^ >Intl.NumberFormat : Intl.NumberFormatConstructor @@ -267,16 +267,16 @@ new Intl.NumberFormat('en-GB').format('-12.3E-4'); > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'en-GB' : "en-GB" > : ^^^^^^^ ->format : { (value: number): string; (value: number | bigint): string; (value: number | bigint | StringNumericLiteral): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +>format : { (value: number): string; (value: number | bigint): string; (value: number | bigint | Intl.StringNumericLiteral): string; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >'-12.3E-4' : "-12.3E-4" > : ^^^^^^^^^^ new Intl.NumberFormat('en-GB').formatRange('123.4', '567.8'); >new Intl.NumberFormat('en-GB').formatRange('123.4', '567.8') : string > : ^^^^^^ ->new Intl.NumberFormat('en-GB').formatRange : (start: number | bigint | StringNumericLiteral, end: number | bigint | StringNumericLiteral) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +>new Intl.NumberFormat('en-GB').formatRange : (start: number | bigint | Intl.StringNumericLiteral, end: number | bigint | Intl.StringNumericLiteral) => string +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >new Intl.NumberFormat('en-GB') : Intl.NumberFormat > : ^^^^^^^^^^^^^^^^^ >Intl.NumberFormat : Intl.NumberFormatConstructor @@ -287,8 +287,8 @@ new Intl.NumberFormat('en-GB').formatRange('123.4', '567.8'); > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'en-GB' : "en-GB" > : ^^^^^^^ ->formatRange : (start: number | bigint | StringNumericLiteral, end: number | bigint | StringNumericLiteral) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +>formatRange : (start: number | bigint | Intl.StringNumericLiteral, end: number | bigint | Intl.StringNumericLiteral) => string +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'123.4' : "123.4" > : ^^^^^^^ >'567.8' : "567.8" @@ -297,8 +297,8 @@ new Intl.NumberFormat('en-GB').formatRange('123.4', '567.8'); new Intl.NumberFormat('en-GB').formatRangeToParts('123E-4', '567E8'); >new Intl.NumberFormat('en-GB').formatRangeToParts('123E-4', '567E8') : Intl.NumberRangeFormatPart[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->new Intl.NumberFormat('en-GB').formatRangeToParts : (start: number | bigint | StringNumericLiteral, end: number | bigint | StringNumericLiteral) => Intl.NumberRangeFormatPart[] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>new Intl.NumberFormat('en-GB').formatRangeToParts : (start: number | bigint | Intl.StringNumericLiteral, end: number | bigint | Intl.StringNumericLiteral) => Intl.NumberRangeFormatPart[] +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >new Intl.NumberFormat('en-GB') : Intl.NumberFormat > : ^^^^^^^^^^^^^^^^^ >Intl.NumberFormat : Intl.NumberFormatConstructor @@ -309,8 +309,8 @@ new Intl.NumberFormat('en-GB').formatRangeToParts('123E-4', '567E8'); > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'en-GB' : "en-GB" > : ^^^^^^^ ->formatRangeToParts : (start: number | bigint | StringNumericLiteral, end: number | bigint | StringNumericLiteral) => Intl.NumberRangeFormatPart[] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>formatRangeToParts : (start: number | bigint | Intl.StringNumericLiteral, end: number | bigint | Intl.StringNumericLiteral) => Intl.NumberRangeFormatPart[] +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'123E-4' : "123E-4" > : ^^^^^^^^ >'567E8' : "567E8" @@ -319,8 +319,8 @@ new Intl.NumberFormat('en-GB').formatRangeToParts('123E-4', '567E8'); new Intl.NumberFormat('en-GB').format('Infinity'); >new Intl.NumberFormat('en-GB').format('Infinity') : string > : ^^^^^^ ->new Intl.NumberFormat('en-GB').format : { (value: number): string; (value: number | bigint): string; (value: number | bigint | StringNumericLiteral): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +>new Intl.NumberFormat('en-GB').format : { (value: number): string; (value: number | bigint): string; (value: number | bigint | Intl.StringNumericLiteral): string; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >new Intl.NumberFormat('en-GB') : Intl.NumberFormat > : ^^^^^^^^^^^^^^^^^ >Intl.NumberFormat : Intl.NumberFormatConstructor @@ -331,16 +331,16 @@ new Intl.NumberFormat('en-GB').format('Infinity'); > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'en-GB' : "en-GB" > : ^^^^^^^ ->format : { (value: number): string; (value: number | bigint): string; (value: number | bigint | StringNumericLiteral): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +>format : { (value: number): string; (value: number | bigint): string; (value: number | bigint | Intl.StringNumericLiteral): string; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >'Infinity' : "Infinity" > : ^^^^^^^^^^ new Intl.NumberFormat('en-GB').format('-Infinity'); >new Intl.NumberFormat('en-GB').format('-Infinity') : string > : ^^^^^^ ->new Intl.NumberFormat('en-GB').format : { (value: number): string; (value: number | bigint): string; (value: number | bigint | StringNumericLiteral): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +>new Intl.NumberFormat('en-GB').format : { (value: number): string; (value: number | bigint): string; (value: number | bigint | Intl.StringNumericLiteral): string; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >new Intl.NumberFormat('en-GB') : Intl.NumberFormat > : ^^^^^^^^^^^^^^^^^ >Intl.NumberFormat : Intl.NumberFormatConstructor @@ -351,16 +351,16 @@ new Intl.NumberFormat('en-GB').format('-Infinity'); > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'en-GB' : "en-GB" > : ^^^^^^^ ->format : { (value: number): string; (value: number | bigint): string; (value: number | bigint | StringNumericLiteral): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +>format : { (value: number): string; (value: number | bigint): string; (value: number | bigint | Intl.StringNumericLiteral): string; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >'-Infinity' : "-Infinity" > : ^^^^^^^^^^^ new Intl.NumberFormat('en-GB').format('+Infinity'); >new Intl.NumberFormat('en-GB').format('+Infinity') : string > : ^^^^^^ ->new Intl.NumberFormat('en-GB').format : { (value: number): string; (value: number | bigint): string; (value: number | bigint | StringNumericLiteral): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +>new Intl.NumberFormat('en-GB').format : { (value: number): string; (value: number | bigint): string; (value: number | bigint | Intl.StringNumericLiteral): string; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >new Intl.NumberFormat('en-GB') : Intl.NumberFormat > : ^^^^^^^^^^^^^^^^^ >Intl.NumberFormat : Intl.NumberFormatConstructor @@ -371,8 +371,8 @@ new Intl.NumberFormat('en-GB').format('+Infinity'); > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'en-GB' : "en-GB" > : ^^^^^^^ ->format : { (value: number): string; (value: number | bigint): string; (value: number | bigint | StringNumericLiteral): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +>format : { (value: number): string; (value: number | bigint): string; (value: number | bigint | Intl.StringNumericLiteral): string; } +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >'+Infinity' : "+Infinity" > : ^^^^^^^^^^^ diff --git a/tests/baselines/reference/intraExpressionInferences.types b/tests/baselines/reference/intraExpressionInferences.types index 95d5418331b9f..7078c2603beb4 100644 --- a/tests/baselines/reference/intraExpressionInferences.types +++ b/tests/baselines/reference/intraExpressionInferences.types @@ -27,7 +27,7 @@ callIt({ >callIt({ produce: () => 0, consume: n => n.toFixed()}) : void > : ^^^^ >callIt : (obj: { produce: (n: number) => T; consume: (x: T) => void; }) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ produce: () => 0, consume: n => n.toFixed()} : { produce: () => number; consume: (n: number) => string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ @@ -49,11 +49,11 @@ callIt({ >n.toFixed() : string > : ^^^^^^ >n.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >n : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ }); @@ -61,7 +61,7 @@ callIt({ >callIt({ produce: _a => 0, consume: n => n.toFixed(),}) : void > : ^^^^ >callIt : (obj: { produce: (n: number) => T; consume: (x: T) => void; }) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ produce: _a => 0, consume: n => n.toFixed(),} : { produce: (_a: number) => number; consume: (n: number) => string; } > : ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ @@ -85,11 +85,11 @@ callIt({ >n.toFixed() : string > : ^^^^^^ >n.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >n : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ }); @@ -97,7 +97,7 @@ callIt({ >callIt({ produce() { return 0; }, consume: n => n.toFixed()}) : void > : ^^^^ >callIt : (obj: { produce: (n: number) => T; consume: (x: T) => void; }) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ produce() { return 0; }, consume: n => n.toFixed()} : { produce(): number; consume: (n: number) => string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ @@ -120,11 +120,11 @@ callIt({ >n.toFixed() : string > : ^^^^^^ >n.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >n : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ }); @@ -142,7 +142,7 @@ callItT([() => 0, n => n.toFixed()]); >callItT([() => 0, n => n.toFixed()]) : void > : ^^^^ >callItT : (obj: [(n: number) => T, (x: T) => void]) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >[() => 0, n => n.toFixed()] : [() => number, (n: number) => string] > : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >() => 0 : () => number @@ -156,17 +156,17 @@ callItT([() => 0, n => n.toFixed()]); >n.toFixed() : string > : ^^^^^^ >n.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >n : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ callItT([_a => 0, n => n.toFixed()]); >callItT([_a => 0, n => n.toFixed()]) : void > : ^^^^ >callItT : (obj: [(n: number) => T, (x: T) => void]) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >[_a => 0, n => n.toFixed()] : [(_a: number) => number, (n: number) => string] > : ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ >_a => 0 : (_a: number) => number @@ -182,11 +182,11 @@ callItT([_a => 0, n => n.toFixed()]); >n.toFixed() : string > : ^^^^^^ >n.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >n : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ // Repro from #25092 @@ -244,11 +244,11 @@ const myGeneric = inferTypeFn({ >generic.toFixed() : string > : ^^^^^^ >generic.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >generic : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ }); @@ -321,7 +321,7 @@ foo({ >foo({ a: () => { return 42 }, b(a) {},}) : void > : ^^^^ >foo : (options: { a: A; b: (a: A) => void; }) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ a: () => { return 42 }, b(a) {},} : { a: () => 42; b(a: () => 42): void; } > : ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ @@ -345,7 +345,7 @@ foo({ >foo({ a: function () { return 42 }, b(a) {},}) : void > : ^^^^ >foo : (options: { a: A; b: (a: A) => void; }) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ a: function () { return 42 }, b(a) {},} : { a: () => 42; b(a: () => 42): void; } > : ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ @@ -369,7 +369,7 @@ foo({ >foo({ a() { return 42 }, b(a) {},}) : void > : ^^^^ >foo : (options: { a: A; b: (a: A) => void; }) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ a() { return 42 }, b(a) {},} : { a(): 42; b(a: () => 42): void; } > : ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ @@ -545,7 +545,7 @@ type MappingComponent = { declare function createMappingComponent(def: MappingComponent): void; >createMappingComponent : (def: MappingComponent) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >def : MappingComponent > : ^^^^^^^^^^^^^^^^^^^^^^ @@ -553,7 +553,7 @@ createMappingComponent({ >createMappingComponent({ setup() { return { inputs: { num: new Wrapper(), str: new Wrapper() }, outputs: { bool: new Wrapper(), str: new Wrapper() } }; }, map(inputs) { return { bool: inputs.nonexistent, str: inputs.num, // Causes error } }}) : void > : ^^^^ >createMappingComponent : (def: MappingComponent) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ setup() { return { inputs: { num: new Wrapper(), str: new Wrapper() }, outputs: { bool: new Wrapper(), str: new Wrapper() } }; }, map(inputs) { return { bool: inputs.nonexistent, str: inputs.num, // Causes error } }} : { setup(): { inputs: { num: Wrapper; str: Wrapper; }; outputs: { bool: Wrapper; str: Wrapper; }; }; map(inputs: Unwrap<{ num: Wrapper; str: Wrapper; }>): { bool: any; str: number; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -707,11 +707,11 @@ simplified({ generator: () => 123, receiver: (t) => console.log(t + 2) }) >console.log(t + 2) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >t + 2 : number > : ^^^^^^ >t : number @@ -749,11 +749,11 @@ whatIWant({ generator: (bob) => bob ? 1 : 2, receiver: (t) => console.log(t + 2) >console.log(t + 2) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >t + 2 : number > : ^^^^^^ >t : 2 | 1 @@ -785,11 +785,11 @@ nonObject((bob) => bob ? 1 : 2, (t) => console.log(t + 2)) >console.log(t + 2) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >t + 2 : number > : ^^^^^^ >t : 2 | 1 @@ -977,7 +977,7 @@ example({ declare const branch: >branch : (_: { test: T; if: (t: T) => t is U; then: (u: U) => void; }) => void -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ (_: { test: T, if: (t: T) => t is U, then: (u: U) => void }) => void >_ : { test: T; if: (t: T) => t is U; then: (u: U) => void; } @@ -1001,7 +1001,7 @@ branch({ >branch({ test: x, if: (t): t is "a" => t === "a", then: u => { let test1: "a" = u }}) : void > : ^^^^ >branch : (_: { test: T; if: (t: T) => t is U; then: (u: U) => void; }) => void -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ test: x, if: (t): t is "a" => t === "a", then: u => { let test1: "a" = u }} : { test: "a" | "b"; if: (t: "a" | "b") => t is "a"; then: (u: "a") => void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ @@ -1065,7 +1065,7 @@ Foo({ >Foo({ ...{ a: (x) => 10, b: (arg) => { arg.toString(); }, },}) : null > : ^^^^ >Foo : (props: Props) => null -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ ...{ a: (x) => 10, b: (arg) => { arg.toString(); }, },} : { a: (x: string) => number; b: (arg: number) => void; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ @@ -1095,11 +1095,11 @@ Foo({ >arg.toString() : string > : ^^^^^^ >arg.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >arg : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ }, }, @@ -1136,7 +1136,7 @@ const resNested = nested({ >nested({ prop: { produce: (a) => [a], consume: (arg) => arg.join(","), },}) : number[] > : ^^^^^^^^ >nested : (arg: { prop: { produce: (arg1: number) => T; consume: (arg2: T) => void; }; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ prop: { produce: (a) => [a], consume: (arg) => arg.join(","), },} : { prop: { produce: (a: number) => number[]; consume: (arg: number[]) => string; }; } > : ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -1168,11 +1168,11 @@ const resNested = nested({ >arg.join(",") : string > : ^^^^^^ >arg.join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >arg : number[] > : ^^^^^^^^ >join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"," : "," > : ^^^ @@ -1211,7 +1211,7 @@ const resTwoConsumers = twoConsumers({ >twoConsumers({ a: (arg) => [arg], consume1: (arg1) => {}, consume2: (arg2) => {},}) : string[] > : ^^^^^^^^ >twoConsumers : (arg: { a: (arg: string) => T; consume1: (arg1: T) => void; consume2: (arg2: T) => void; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ a: (arg) => [arg], consume1: (arg1) => {}, consume2: (arg2) => {},} : { a: (arg: string) => string[]; consume1: (arg1: string[]) => void; consume2: (arg2: string[]) => void; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ @@ -1283,7 +1283,7 @@ const resMultipleProducersBeforeConsumers = multipleProducersBeforeConsumers({ >multipleProducersBeforeConsumers({ a: (arg) => [arg], b: (arg) => Number(arg), consume1: (arg1) => {}, consume2: (arg2) => {},}) : [string[], number] > : ^^^^^^^^^^^^^^^^^^ >multipleProducersBeforeConsumers : (arg: { a: (arg: string) => T; b: (arg: string) => T2; consume1: (arg1: T) => void; consume2: (arg2: T2) => void; }) => [T, T2] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >{ a: (arg) => [arg], b: (arg) => Number(arg), consume1: (arg1) => {}, consume2: (arg2) => {},} : { a: (arg: string) => string[]; b: (arg: string) => number; consume1: (arg1: string[]) => void; consume2: (arg2: number) => void; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ @@ -1363,7 +1363,7 @@ const resWithConditionalExpression = withConditionalExpression({ >withConditionalExpression({ a: (arg) => [arg], b: Math.random() ? (arg) => "first" as const : (arg) => "two" as const, c: (arg) => Boolean(arg),}) : [string[], "first" | "two", boolean] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >withConditionalExpression : (arg: { a: (arg1: string) => T; b: (arg2: T) => T2; c: (arg2: T2) => T3; }) => [T, T2, T3] -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >{ a: (arg) => [arg], b: Math.random() ? (arg) => "first" as const : (arg) => "two" as const, c: (arg) => Boolean(arg),} : { a: (arg: string) => string[]; b: ((arg: string[]) => "first") | ((arg: string[]) => "two"); c: (arg: "first" | "two") => boolean; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -1387,11 +1387,11 @@ const resWithConditionalExpression = withConditionalExpression({ >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >(arg) => "first" as const : (arg: string[]) => "first" > : ^ ^^^^^^^^^^^^^^^^^^^^^^ >arg : string[] @@ -1467,7 +1467,7 @@ const resOnion = onion({ >onion({ a: (arg) => [arg], nested: { b: (arg) => arg.join(","), nested2: { c: (arg) => Boolean(arg), }, },}) : [string[], string, boolean] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >onion : (arg: { a: (arg1: string) => T; nested: { b: (arg2: T) => T2; nested2: { c: (arg2: T2) => T3; }; }; }) => [T, T2, T3] -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >{ a: (arg) => [arg], nested: { b: (arg) => arg.join(","), nested2: { c: (arg) => Boolean(arg), }, },} : { a: (arg: string) => string[]; nested: { b: (arg: string[]) => string; nested2: { c: (arg: string) => boolean; }; }; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -1499,11 +1499,11 @@ const resOnion = onion({ >arg.join(",") : string > : ^^^^^^ >arg.join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >arg : string[] > : ^^^^^^^^ >join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"," : "," > : ^^^ @@ -1579,7 +1579,7 @@ const resOnion2 = onion2({ >onion2({ a: (arg) => [arg], nested: { b: (arg) => arg.join(","), c: (arg) => Number(arg), nested2: { d: (arg) => Boolean(arg), }, },}) : [string[], string, number, boolean] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >onion2 : (arg: { a: (arg1: string) => T; nested: { b: (arg2: T) => T2; c: (arg3: T) => T3; nested2: { d: (arg4: T3) => T4; }; }; }) => [T, T2, T3, T4] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{ a: (arg) => [arg], nested: { b: (arg) => arg.join(","), c: (arg) => Number(arg), nested2: { d: (arg) => Boolean(arg), }, },} : { a: (arg: string) => string[]; nested: { b: (arg: string[]) => string; c: (arg: string[]) => number; nested2: { d: (arg: number) => boolean; }; }; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -1611,11 +1611,11 @@ const resOnion2 = onion2({ >arg.join(",") : string > : ^^^^^^ >arg.join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >arg : string[] > : ^^^^^^^^ >join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >"," : "," > : ^^^ @@ -1698,7 +1698,7 @@ const distantRes = distant({ >distant({ foo: { bar: { baz: { producer: (arg) => 1, }, }, }, consumer: (val) => {},}) : number > : ^^^^^^ >distant : (args: { foo: { bar: { baz: { producer: (arg: string) => T; }; }; }; consumer: (val: T) => unknown; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ foo: { bar: { baz: { producer: (arg) => 1, }, }, }, consumer: (val) => {},} : { foo: { bar: { baz: { producer: (arg: string) => number; }; }; }; consumer: (val: number) => void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/intraExpressionInferencesJsx.types b/tests/baselines/reference/intraExpressionInferencesJsx.types index aa6b8afe7bc3c..194a4452b0040 100644 --- a/tests/baselines/reference/intraExpressionInferencesJsx.types +++ b/tests/baselines/reference/intraExpressionInferencesJsx.types @@ -94,9 +94,9 @@ type AnimatedViewProps = { const Component = ({ >Component : ({ animations, style, }: AnimatedViewProps) => JSX.Element -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ >({ animations, style,}: AnimatedViewProps) => <> : ({ animations, style, }: AnimatedViewProps) => JSX.Element -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ animations, >animations : T @@ -104,7 +104,7 @@ const Component = ({ style, >style : (animationsValues: StyleParam) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ }: AnimatedViewProps) => <>; ><> : JSX.Element @@ -114,7 +114,7 @@ const Component = ({ > { return ""; }}/> : JSX.Element > : ^^^^^^^^^^^ >Component : ({ animations, style, }: AnimatedViewProps) => JSX.Element -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ animations={{ >animations : { test: { kind: "a"; value: number; a: true; }; } @@ -166,7 +166,7 @@ const Component = ({ > { return ""; }}/> : JSX.Element > : ^^^^^^^^^^^ >Component : ({ animations, style, }: AnimatedViewProps) => JSX.Element -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ animations={{ >animations : { test: { kind: "a"; value: number; a: true; func(): { a: true; }; }; } @@ -234,7 +234,7 @@ const Component = ({ > { return { a: true, }; }, }, }} style={(anim) => { return ""; }}/> : JSX.Element > : ^^^^^^^^^^^ >Component : ({ animations, style, }: AnimatedViewProps) => JSX.Element -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ animations={{ >animations : { test: { kind: "a"; value: number; a: true; func: () => { a: true; }; }; } @@ -354,11 +354,11 @@ function Foo(props: Props) { >arg.toString() : string > : ^^^^^^ >arg.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >arg : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ />; @@ -388,11 +388,11 @@ function Foo(props: Props) { >arg.toString() : string > : ^^^^^^ >arg.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >arg : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ />; @@ -424,11 +424,11 @@ function Foo(props: Props) { >arg.toString() : string > : ^^^^^^ >arg.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >arg : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ }} />; diff --git a/tests/baselines/reference/intrinsicKeyword.types b/tests/baselines/reference/intrinsicKeyword.types index 992bddd32605f..ae043729da5d0 100644 --- a/tests/baselines/reference/intrinsicKeyword.types +++ b/tests/baselines/reference/intrinsicKeyword.types @@ -7,7 +7,7 @@ let e1: intrinsic; let e2: { intrinsic: intrinsic }; >e2 : { intrinsic: intrinsic; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^ >intrinsic : intrinsic > : ^^^^^^^^^ diff --git a/tests/baselines/reference/intrinsicTypes.types b/tests/baselines/reference/intrinsicTypes.types index 2b3ad38293cdf..9d681b643e808 100644 --- a/tests/baselines/reference/intrinsicTypes.types +++ b/tests/baselines/reference/intrinsicTypes.types @@ -123,7 +123,7 @@ type MyUppercase = intrinsic; // Error function foo1(s: string, x: Uppercase, y: Uppercase) { >foo1 : (s: string, x: Uppercase, y: Uppercase) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >s : string > : ^^^^^^ >x : Uppercase @@ -182,7 +182,7 @@ function foo1(s: string, x: Uppercase, y: Uppe function foo2(x: Uppercase) { >foo2 : (x: Uppercase) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : Uppercase > : ^^^^^^^^^^^^ @@ -195,13 +195,13 @@ function foo2(x: Uppercase) { declare function foo3(x: Uppercase): T; >foo3 : (x: Uppercase) => T -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : Uppercase > : ^^^^^^^^^^^^ function foo4(x: Uppercase) { >foo4 : (x: Uppercase) => U -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ >x : Uppercase > : ^^^^^^^^^^^^ @@ -209,7 +209,7 @@ function foo4(x: Uppercase) { >foo3(x) : U > : ^ >foo3 : (x: Uppercase) => T -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : Uppercase > : ^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/intrinsics.errors.txt b/tests/baselines/reference/intrinsics.errors.txt index 3b2cc3ae4ee9b..59c337081a22c 100644 --- a/tests/baselines/reference/intrinsics.errors.txt +++ b/tests/baselines/reference/intrinsics.errors.txt @@ -1,14 +1,11 @@ intrinsics.ts(1,21): error TS2749: 'hasOwnProperty' refers to a value, but is being used as a type here. Did you mean 'typeof hasOwnProperty'? -intrinsics.ts(1,21): error TS4025: Exported variable 'hasOwnProperty' has or is using private name 'hasOwnProperty'. intrinsics.ts(10,1): error TS2304: Cannot find name '__proto__'. -==== intrinsics.ts (3 errors) ==== +==== intrinsics.ts (2 errors) ==== var hasOwnProperty: hasOwnProperty; // Error ~~~~~~~~~~~~~~ !!! error TS2749: 'hasOwnProperty' refers to a value, but is being used as a type here. Did you mean 'typeof hasOwnProperty'? - ~~~~~~~~~~~~~~ -!!! error TS4025: Exported variable 'hasOwnProperty' has or is using private name 'hasOwnProperty'. module m1 { export var __proto__; diff --git a/tests/baselines/reference/intrinsics.js b/tests/baselines/reference/intrinsics.js index 7eddca3555ab1..2248881325fac 100644 --- a/tests/baselines/reference/intrinsics.js +++ b/tests/baselines/reference/intrinsics.js @@ -34,3 +34,13 @@ var Foo = /** @class */ (function () { return Foo; }()); var foo; + + +//// [intrinsics.d.ts] +declare var hasOwnProperty: hasOwnProperty; +declare namespace m1 { + var __proto__: any; +} +declare class Foo<__proto__> { +} +declare var foo: (__proto__: number) => void; diff --git a/tests/baselines/reference/invalidConstraint1.types b/tests/baselines/reference/invalidConstraint1.types index 822a2ed10822f..e5bb184916f79 100644 --- a/tests/baselines/reference/invalidConstraint1.types +++ b/tests/baselines/reference/invalidConstraint1.types @@ -3,7 +3,7 @@ === invalidConstraint1.ts === function f() { >f : () => any -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ >a : T > : ^ @@ -15,7 +15,7 @@ f(); // should error >f() : any > : ^^^ >f : () => any -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ >a : number > : ^^^^^^ diff --git a/tests/baselines/reference/invalidMultipleVariableDeclarations.types b/tests/baselines/reference/invalidMultipleVariableDeclarations.types index e2020f6880b38..cfd5df0fbf49d 100644 --- a/tests/baselines/reference/invalidMultipleVariableDeclarations.types +++ b/tests/baselines/reference/invalidMultipleVariableDeclarations.types @@ -77,11 +77,11 @@ module M { >x.toString() : string > : ^^^^^^ >x.toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >x : number > : ^^^^^^ >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } // all of these are errors @@ -145,13 +145,13 @@ var b = new C2(); var f = F; >f : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >F : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ var f = (x: number) => ''; >f : (x: string) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(x: number) => '' : (x: number) => string > : ^ ^^ ^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/invalidSplice.types b/tests/baselines/reference/invalidSplice.types index 7d436e88051fe..ff4aae7acd41b 100644 --- a/tests/baselines/reference/invalidSplice.types +++ b/tests/baselines/reference/invalidSplice.types @@ -7,11 +7,11 @@ var arr = [].splice(0,3,4,5); >[].splice(0,3,4,5) : any[] > : ^^^^^ >[].splice : { (start: number, deleteCount?: number): any[]; (start: number, deleteCount: number, ...items: any[]): any[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ ^^^ >[] : undefined[] > : ^^^^^^^^^^^ >splice : { (start: number, deleteCount?: number): any[]; (start: number, deleteCount: number, ...items: any[]): any[]; } -> : ^^^ ^^ ^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^^^^ ^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ ^^^ >0 : 0 > : ^ >3 : 3 diff --git a/tests/baselines/reference/invalidTaggedTemplateEscapeSequences(target=es2015).types b/tests/baselines/reference/invalidTaggedTemplateEscapeSequences(target=es2015).types index 12cc9d27e4a61..500e4685d3f9f 100644 --- a/tests/baselines/reference/invalidTaggedTemplateEscapeSequences(target=es2015).types +++ b/tests/baselines/reference/invalidTaggedTemplateEscapeSequences(target=es2015).types @@ -20,7 +20,7 @@ const a = tag`123` >tag`123` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`123` : "123" > : ^^^^^ @@ -30,7 +30,7 @@ const b = tag`123 ${100}` >tag`123 ${100}` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`123 ${100}` : string > : ^^^^^^ >100 : 100 @@ -42,7 +42,7 @@ const x = tag`\u{hello} ${ 100 } \xtraordinary ${ 200 } wonderful ${ 300 } \uwor >tag`\u{hello} ${ 100 } \xtraordinary ${ 200 } wonderful ${ 300 } \uworld` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\u{hello} ${ 100 } \xtraordinary ${ 200 } wonderful ${ 300 } \uworld` : string > : ^^^^^^ >100 : 100 @@ -70,7 +70,7 @@ const z = tag`\u{hello} \xtraordinary wonderful \uworld` // should work with Tag >tag`\u{hello} \xtraordinary wonderful \uworld` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\u{hello} \xtraordinary wonderful \uworld` : "\\u{hello} \\xtraordinary wonderful \\uworld" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -80,7 +80,7 @@ const a1 = tag`${ 100 }\0` // \0 >tag`${ 100 }\0` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\0` : string > : ^^^^^^ >100 : 100 @@ -92,7 +92,7 @@ const a2 = tag`${ 100 }\00` // \\00 >tag`${ 100 }\00` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\00` : string > : ^^^^^^ >100 : 100 @@ -104,7 +104,7 @@ const a3 = tag`${ 100 }\u` // \\u >tag`${ 100 }\u` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\u` : string > : ^^^^^^ >100 : 100 @@ -116,7 +116,7 @@ const a4 = tag`${ 100 }\u0` // \\u0 >tag`${ 100 }\u0` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\u0` : string > : ^^^^^^ >100 : 100 @@ -128,7 +128,7 @@ const a5 = tag`${ 100 }\u00` // \\u00 >tag`${ 100 }\u00` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\u00` : string > : ^^^^^^ >100 : 100 @@ -140,7 +140,7 @@ const a6 = tag`${ 100 }\u000` // \\u000 >tag`${ 100 }\u000` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\u000` : string > : ^^^^^^ >100 : 100 @@ -152,7 +152,7 @@ const a7 = tag`${ 100 }\u0000` // \u0000 >tag`${ 100 }\u0000` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\u0000` : string > : ^^^^^^ >100 : 100 @@ -164,7 +164,7 @@ const a8 = tag`${ 100 }\u{` // \\u{ >tag`${ 100 }\u{` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\u{` : string > : ^^^^^^ >100 : 100 @@ -176,7 +176,7 @@ const a9 = tag`${ 100 }\u{10FFFF}` // \\u{10FFFF >tag`${ 100 }\u{10FFFF}` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\u{10FFFF}` : string > : ^^^^^^ >100 : 100 @@ -188,7 +188,7 @@ const a10 = tag`${ 100 }\u{1f622` // \\u{1f622 >tag`${ 100 }\u{1f622` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\u{1f622` : string > : ^^^^^^ >100 : 100 @@ -200,7 +200,7 @@ const a11 = tag`${ 100 }\u{1f622}` // \u{1f622} >tag`${ 100 }\u{1f622}` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\u{1f622}` : string > : ^^^^^^ >100 : 100 @@ -212,7 +212,7 @@ const a12 = tag`${ 100 }\x` // \\x >tag`${ 100 }\x` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\x` : string > : ^^^^^^ >100 : 100 @@ -224,7 +224,7 @@ const a13 = tag`${ 100 }\x0` // \\x0 >tag`${ 100 }\x0` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\x0` : string > : ^^^^^^ >100 : 100 @@ -236,7 +236,7 @@ const a14 = tag`${ 100 }\x00` // \x00 >tag`${ 100 }\x00` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\x00` : string > : ^^^^^^ >100 : 100 diff --git a/tests/baselines/reference/invalidTaggedTemplateEscapeSequences(target=es5).types b/tests/baselines/reference/invalidTaggedTemplateEscapeSequences(target=es5).types index 12cc9d27e4a61..500e4685d3f9f 100644 --- a/tests/baselines/reference/invalidTaggedTemplateEscapeSequences(target=es5).types +++ b/tests/baselines/reference/invalidTaggedTemplateEscapeSequences(target=es5).types @@ -20,7 +20,7 @@ const a = tag`123` >tag`123` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`123` : "123" > : ^^^^^ @@ -30,7 +30,7 @@ const b = tag`123 ${100}` >tag`123 ${100}` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`123 ${100}` : string > : ^^^^^^ >100 : 100 @@ -42,7 +42,7 @@ const x = tag`\u{hello} ${ 100 } \xtraordinary ${ 200 } wonderful ${ 300 } \uwor >tag`\u{hello} ${ 100 } \xtraordinary ${ 200 } wonderful ${ 300 } \uworld` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\u{hello} ${ 100 } \xtraordinary ${ 200 } wonderful ${ 300 } \uworld` : string > : ^^^^^^ >100 : 100 @@ -70,7 +70,7 @@ const z = tag`\u{hello} \xtraordinary wonderful \uworld` // should work with Tag >tag`\u{hello} \xtraordinary wonderful \uworld` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\u{hello} \xtraordinary wonderful \uworld` : "\\u{hello} \\xtraordinary wonderful \\uworld" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -80,7 +80,7 @@ const a1 = tag`${ 100 }\0` // \0 >tag`${ 100 }\0` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\0` : string > : ^^^^^^ >100 : 100 @@ -92,7 +92,7 @@ const a2 = tag`${ 100 }\00` // \\00 >tag`${ 100 }\00` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\00` : string > : ^^^^^^ >100 : 100 @@ -104,7 +104,7 @@ const a3 = tag`${ 100 }\u` // \\u >tag`${ 100 }\u` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\u` : string > : ^^^^^^ >100 : 100 @@ -116,7 +116,7 @@ const a4 = tag`${ 100 }\u0` // \\u0 >tag`${ 100 }\u0` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\u0` : string > : ^^^^^^ >100 : 100 @@ -128,7 +128,7 @@ const a5 = tag`${ 100 }\u00` // \\u00 >tag`${ 100 }\u00` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\u00` : string > : ^^^^^^ >100 : 100 @@ -140,7 +140,7 @@ const a6 = tag`${ 100 }\u000` // \\u000 >tag`${ 100 }\u000` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\u000` : string > : ^^^^^^ >100 : 100 @@ -152,7 +152,7 @@ const a7 = tag`${ 100 }\u0000` // \u0000 >tag`${ 100 }\u0000` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\u0000` : string > : ^^^^^^ >100 : 100 @@ -164,7 +164,7 @@ const a8 = tag`${ 100 }\u{` // \\u{ >tag`${ 100 }\u{` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\u{` : string > : ^^^^^^ >100 : 100 @@ -176,7 +176,7 @@ const a9 = tag`${ 100 }\u{10FFFF}` // \\u{10FFFF >tag`${ 100 }\u{10FFFF}` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\u{10FFFF}` : string > : ^^^^^^ >100 : 100 @@ -188,7 +188,7 @@ const a10 = tag`${ 100 }\u{1f622` // \\u{1f622 >tag`${ 100 }\u{1f622` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\u{1f622` : string > : ^^^^^^ >100 : 100 @@ -200,7 +200,7 @@ const a11 = tag`${ 100 }\u{1f622}` // \u{1f622} >tag`${ 100 }\u{1f622}` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\u{1f622}` : string > : ^^^^^^ >100 : 100 @@ -212,7 +212,7 @@ const a12 = tag`${ 100 }\x` // \\x >tag`${ 100 }\x` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\x` : string > : ^^^^^^ >100 : 100 @@ -224,7 +224,7 @@ const a13 = tag`${ 100 }\x0` // \\x0 >tag`${ 100 }\x0` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\x0` : string > : ^^^^^^ >100 : 100 @@ -236,7 +236,7 @@ const a14 = tag`${ 100 }\x00` // \x00 >tag`${ 100 }\x00` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\x00` : string > : ^^^^^^ >100 : 100 diff --git a/tests/baselines/reference/invalidTaggedTemplateEscapeSequences(target=esnext).types b/tests/baselines/reference/invalidTaggedTemplateEscapeSequences(target=esnext).types index 12cc9d27e4a61..500e4685d3f9f 100644 --- a/tests/baselines/reference/invalidTaggedTemplateEscapeSequences(target=esnext).types +++ b/tests/baselines/reference/invalidTaggedTemplateEscapeSequences(target=esnext).types @@ -20,7 +20,7 @@ const a = tag`123` >tag`123` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`123` : "123" > : ^^^^^ @@ -30,7 +30,7 @@ const b = tag`123 ${100}` >tag`123 ${100}` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`123 ${100}` : string > : ^^^^^^ >100 : 100 @@ -42,7 +42,7 @@ const x = tag`\u{hello} ${ 100 } \xtraordinary ${ 200 } wonderful ${ 300 } \uwor >tag`\u{hello} ${ 100 } \xtraordinary ${ 200 } wonderful ${ 300 } \uworld` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\u{hello} ${ 100 } \xtraordinary ${ 200 } wonderful ${ 300 } \uworld` : string > : ^^^^^^ >100 : 100 @@ -70,7 +70,7 @@ const z = tag`\u{hello} \xtraordinary wonderful \uworld` // should work with Tag >tag`\u{hello} \xtraordinary wonderful \uworld` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`\u{hello} \xtraordinary wonderful \uworld` : "\\u{hello} \\xtraordinary wonderful \\uworld" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -80,7 +80,7 @@ const a1 = tag`${ 100 }\0` // \0 >tag`${ 100 }\0` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\0` : string > : ^^^^^^ >100 : 100 @@ -92,7 +92,7 @@ const a2 = tag`${ 100 }\00` // \\00 >tag`${ 100 }\00` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\00` : string > : ^^^^^^ >100 : 100 @@ -104,7 +104,7 @@ const a3 = tag`${ 100 }\u` // \\u >tag`${ 100 }\u` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\u` : string > : ^^^^^^ >100 : 100 @@ -116,7 +116,7 @@ const a4 = tag`${ 100 }\u0` // \\u0 >tag`${ 100 }\u0` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\u0` : string > : ^^^^^^ >100 : 100 @@ -128,7 +128,7 @@ const a5 = tag`${ 100 }\u00` // \\u00 >tag`${ 100 }\u00` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\u00` : string > : ^^^^^^ >100 : 100 @@ -140,7 +140,7 @@ const a6 = tag`${ 100 }\u000` // \\u000 >tag`${ 100 }\u000` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\u000` : string > : ^^^^^^ >100 : 100 @@ -152,7 +152,7 @@ const a7 = tag`${ 100 }\u0000` // \u0000 >tag`${ 100 }\u0000` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\u0000` : string > : ^^^^^^ >100 : 100 @@ -164,7 +164,7 @@ const a8 = tag`${ 100 }\u{` // \\u{ >tag`${ 100 }\u{` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\u{` : string > : ^^^^^^ >100 : 100 @@ -176,7 +176,7 @@ const a9 = tag`${ 100 }\u{10FFFF}` // \\u{10FFFF >tag`${ 100 }\u{10FFFF}` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\u{10FFFF}` : string > : ^^^^^^ >100 : 100 @@ -188,7 +188,7 @@ const a10 = tag`${ 100 }\u{1f622` // \\u{1f622 >tag`${ 100 }\u{1f622` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\u{1f622` : string > : ^^^^^^ >100 : 100 @@ -200,7 +200,7 @@ const a11 = tag`${ 100 }\u{1f622}` // \u{1f622} >tag`${ 100 }\u{1f622}` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\u{1f622}` : string > : ^^^^^^ >100 : 100 @@ -212,7 +212,7 @@ const a12 = tag`${ 100 }\x` // \\x >tag`${ 100 }\x` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\x` : string > : ^^^^^^ >100 : 100 @@ -224,7 +224,7 @@ const a13 = tag`${ 100 }\x0` // \\x0 >tag`${ 100 }\x0` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\x0` : string > : ^^^^^^ >100 : 100 @@ -236,7 +236,7 @@ const a14 = tag`${ 100 }\x00` // \x00 >tag`${ 100 }\x00` : any > : ^^^ >tag : (str: any, ...args: any[]) => any -> : ^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^ ^^^^^ >`${ 100 }\x00` : string > : ^^^^^^ >100 : 100 diff --git a/tests/baselines/reference/invariantGenericErrorElaboration.types b/tests/baselines/reference/invariantGenericErrorElaboration.types index ac38a4538639d..fb17ecd2d4b44 100644 --- a/tests/baselines/reference/invariantGenericErrorElaboration.types +++ b/tests/baselines/reference/invariantGenericErrorElaboration.types @@ -15,7 +15,7 @@ const Foo = Obj({ foo: Num }) >Obj({ foo: Num }) : Obj<{ [_: string]: Runtype; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Obj : ; }>(fields: O) => Obj -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ foo: Num } : { foo: Num; } > : ^^^^^^^^^^^^^ >foo : Num @@ -45,7 +45,7 @@ declare const Num: Num interface Obj }> extends Runtype<{[K in keyof O]: O[K]['witness'] }> {} declare function Obj }>(fields: O): Obj; >Obj : ; }>(fields: O) => Obj -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >_ : string > : ^^^^^^ >fields : O diff --git a/tests/baselines/reference/ipromise2.types b/tests/baselines/reference/ipromise2.types index 8760afafeb7b0..6e220c7a5577b 100644 --- a/tests/baselines/reference/ipromise2.types +++ b/tests/baselines/reference/ipromise2.types @@ -4,8 +4,8 @@ declare module Windows.Foundation { export interface IPromise { then(success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void ): Windows.Foundation.IPromise; ->then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => U_1, error?: (error: any) => IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => U_1, error?: (error: any) => U_1, progress?: (progress: any) => void): Windows.Foundation.IPromise; } +> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => IPromise > : ^ ^^ ^^^^^ >value : T @@ -22,8 +22,8 @@ declare module Windows.Foundation { > : ^^^ then(success?: (value: T) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void ): Windows.Foundation.IPromise; ->then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => U_1, error?: (error: any) => IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => U_1, error?: (error: any) => U_1, progress?: (progress: any) => void): Windows.Foundation.IPromise; } +> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => IPromise > : ^ ^^ ^^^^^ >value : T @@ -40,8 +40,8 @@ declare module Windows.Foundation { > : ^^^ then(success?: (value: T) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void ): Windows.Foundation.IPromise; ->then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U_2, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => U_1, error?: (error: any) => U_1, progress?: (progress: any) => void): Windows.Foundation.IPromise; } +> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => U > : ^ ^^ ^^^^^ >value : T @@ -58,8 +58,8 @@ declare module Windows.Foundation { > : ^^^ then(success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void ): Windows.Foundation.IPromise; ->then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U_2, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_3, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; } -> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ +>then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => U_1, error?: (error: any) => IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; } +> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => U > : ^ ^^ ^^^^^ >value : T @@ -108,12 +108,12 @@ var p2 = p.then(function (s) { > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >p.then(function (s) { return 34;} ) : Windows.Foundation.IPromise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->p.then : { (success?: (value: string) => Windows.Foundation.IPromise, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => Windows.Foundation.IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => U_2, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Windows.Foundation.IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>p.then : { (success?: (value: string) => Windows.Foundation.IPromise, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => Windows.Foundation.IPromise, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => U, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >p : Windows.Foundation.IPromise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->then : { (success?: (value: string) => Windows.Foundation.IPromise, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => Windows.Foundation.IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => U_2, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Windows.Foundation.IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: string) => Windows.Foundation.IPromise, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => Windows.Foundation.IPromise, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => U, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >function (s) { return 34;} : (s: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >s : string diff --git a/tests/baselines/reference/ipromise3.types b/tests/baselines/reference/ipromise3.types index 6e7560c1fc921..dff6b03c5010e 100644 --- a/tests/baselines/reference/ipromise3.types +++ b/tests/baselines/reference/ipromise3.types @@ -3,8 +3,8 @@ === ipromise3.ts === interface IPromise3 { then(success?: (value: T) => IPromise3, error?: (error: any) => IPromise3, progress?: (progress: any) => void ): IPromise3; ->then : { (success?: (value: T) => IPromise3, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => IPromise3, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => U_2, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise3; } -> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: T) => IPromise3, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => IPromise3, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => U_1, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => U_1, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise3; } +> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => IPromise3 > : ^ ^^ ^^^^^ >value : T @@ -17,8 +17,8 @@ interface IPromise3 { >progress : any then(success?: (value: T) => IPromise3, error?: (error: any) => U, progress?: (progress: any) => void ): IPromise3; ->then : { (success?: (value: T) => IPromise3, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => IPromise3, error?: (error: any) => U, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => U_2, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise3; } -> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: T) => IPromise3, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => IPromise3, error?: (error: any) => U, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => U_1, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => U_1, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise3; } +> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => IPromise3 > : ^ ^^ ^^^^^ >value : T @@ -31,8 +31,8 @@ interface IPromise3 { >progress : any then(success?: (value: T) => U, error?: (error: any) => IPromise3, progress?: (progress: any) => void ): IPromise3; ->then : { (success?: (value: T) => IPromise3, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => IPromise3, error?: (error: any) => U_2, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => U, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise3; } -> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: T) => IPromise3, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => IPromise3, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => U, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => U_1, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise3; } +> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => U > : ^ ^^ ^^^^^ >value : T @@ -45,8 +45,8 @@ interface IPromise3 { >progress : any then(success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void ): IPromise3; ->then : { (success?: (value: T) => IPromise3, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => IPromise3, error?: (error: any) => U_2, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => U_3, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise3; } -> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ +>then : { (success?: (value: T) => IPromise3, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => IPromise3, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => U_1, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise3; } +> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => U > : ^ ^^ ^^^^^ >value : T @@ -81,12 +81,12 @@ var p2: IPromise3 = p1.then(function (x) { > : ^^^^^^^^^^^^^^^^^ >p1.then(function (x) { return x;}) : IPromise3 > : ^^^^^^^^^^^^^^^^^ ->p1.then : { (success?: (value: string) => IPromise3, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: string) => IPromise3, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise3; (success?: (value: string) => U_2, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise3; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +>p1.then : { (success?: (value: string) => IPromise3, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: string) => IPromise3, error?: (error: any) => U, progress?: (progress: any) => void): IPromise3; (success?: (value: string) => U, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise3; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >p1 : IPromise3 > : ^^^^^^^^^^^^^^^^^ ->then : { (success?: (value: string) => IPromise3, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: string) => IPromise3, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise3; (success?: (value: string) => U_2, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise3; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: string) => IPromise3, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: string) => IPromise3, error?: (error: any) => U, progress?: (progress: any) => void): IPromise3; (success?: (value: string) => U, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise3; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >function (x) { return x;} : (x: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >x : string diff --git a/tests/baselines/reference/ipromise4.types b/tests/baselines/reference/ipromise4.types index b5875bb8a73ca..30b7bb4f4ce5c 100644 --- a/tests/baselines/reference/ipromise4.types +++ b/tests/baselines/reference/ipromise4.types @@ -4,8 +4,8 @@ declare module Windows.Foundation { export interface IPromise { then(success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void ): Windows.Foundation.IPromise; ->then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => U_1, error?: (error: any) => IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => U_1, error?: (error: any) => U_1, progress?: (progress: any) => void): Windows.Foundation.IPromise; } +> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => IPromise > : ^ ^^ ^^^^^ >value : T @@ -22,8 +22,8 @@ declare module Windows.Foundation { > : ^^^ then(success?: (value: T) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void ): Windows.Foundation.IPromise; ->then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => U_1, error?: (error: any) => IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => U_1, error?: (error: any) => U_1, progress?: (progress: any) => void): Windows.Foundation.IPromise; } +> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => IPromise > : ^ ^^ ^^^^^ >value : T @@ -40,8 +40,8 @@ declare module Windows.Foundation { > : ^^^ then(success?: (value: T) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void ): Windows.Foundation.IPromise; ->then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U_2, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } -> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => U_1, error?: (error: any) => U_1, progress?: (progress: any) => void): Windows.Foundation.IPromise; } +> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => U > : ^ ^^ ^^^^^ >value : T @@ -58,8 +58,8 @@ declare module Windows.Foundation { > : ^^^ then(success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void ): Windows.Foundation.IPromise; ->then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U_2, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_3, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; } -> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ +>then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => U_1, error?: (error: any) => IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; } +> : ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >success : (value: T) => U > : ^ ^^ ^^^^^ >value : T @@ -102,12 +102,12 @@ var p: Windows.Foundation.IPromise = null; p.then(function (x) { } ); // should not error >p.then(function (x) { } ) : Windows.Foundation.IPromise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->p.then : { (success?: (value: number) => Windows.Foundation.IPromise, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => Windows.Foundation.IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => U_2, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Windows.Foundation.IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>p.then : { (success?: (value: number) => Windows.Foundation.IPromise, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => Windows.Foundation.IPromise, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => U, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >p : Windows.Foundation.IPromise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->then : { (success?: (value: number) => Windows.Foundation.IPromise, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => Windows.Foundation.IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => U_2, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Windows.Foundation.IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: number) => Windows.Foundation.IPromise, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => Windows.Foundation.IPromise, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => U, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >function (x) { } : (x: number) => void > : ^ ^^^^^^^^^^^^^^^^^ >x : number @@ -116,24 +116,24 @@ p.then(function (x) { } ); // should not error p.then(function (x) { return "hello"; } ).then(function (x) { return x } ); // should not error >p.then(function (x) { return "hello"; } ).then(function (x) { return x } ) : Windows.Foundation.IPromise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->p.then(function (x) { return "hello"; } ).then : { (success?: (value: string) => Windows.Foundation.IPromise, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => Windows.Foundation.IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => U_2, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Windows.Foundation.IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>p.then(function (x) { return "hello"; } ).then : { (success?: (value: string) => Windows.Foundation.IPromise, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => Windows.Foundation.IPromise, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => U, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >p.then(function (x) { return "hello"; } ) : Windows.Foundation.IPromise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->p.then : { (success?: (value: number) => Windows.Foundation.IPromise, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => Windows.Foundation.IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => U_2, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Windows.Foundation.IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>p.then : { (success?: (value: number) => Windows.Foundation.IPromise, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => Windows.Foundation.IPromise, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => U, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >p : Windows.Foundation.IPromise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->then : { (success?: (value: number) => Windows.Foundation.IPromise, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => Windows.Foundation.IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => U_2, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Windows.Foundation.IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: number) => Windows.Foundation.IPromise, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => Windows.Foundation.IPromise, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => U, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >function (x) { return "hello"; } : (x: number) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number > : ^^^^^^ >"hello" : "hello" > : ^^^^^^^ ->then : { (success?: (value: string) => Windows.Foundation.IPromise, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => Windows.Foundation.IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => U_2, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Windows.Foundation.IPromise; } -> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>then : { (success?: (value: string) => Windows.Foundation.IPromise, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => Windows.Foundation.IPromise, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => U, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; } +> : ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^ ^^^ ^^^ ^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^ ^^^ ^^^ ^ ^^^ >function (x) { return x } : (x: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >x : string diff --git a/tests/baselines/reference/isArray.types b/tests/baselines/reference/isArray.types index 98915642bd7a6..711b042b43206 100644 --- a/tests/baselines/reference/isArray.types +++ b/tests/baselines/reference/isArray.types @@ -10,11 +10,11 @@ if (Array.isArray(maybeArray)) { >Array.isArray(maybeArray) : boolean > : ^^^^^^^ >Array.isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >maybeArray : number | number[] > : ^^^^^^^^^^^^^^^^^ @@ -31,9 +31,9 @@ else { >maybeArray.toFixed() : string > : ^^^^^^ >maybeArray.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >maybeArray : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } diff --git a/tests/baselines/reference/isolatedDeclarationErrors.types b/tests/baselines/reference/isolatedDeclarationErrors.types index 905c66e84121a..d311928409fc7 100644 --- a/tests/baselines/reference/isolatedDeclarationErrors.types +++ b/tests/baselines/reference/isolatedDeclarationErrors.types @@ -29,7 +29,7 @@ errorOnAssignmentBelow.a = ""; >errorOnAssignmentBelow.a : string > : ^^^^^^ >errorOnAssignmentBelow : { (): void; a: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^ >a : string > : ^^^^^^ >"" : "" diff --git a/tests/baselines/reference/isolatedDeclarationErrorsAugmentation.types b/tests/baselines/reference/isolatedDeclarationErrorsAugmentation.types index 4fe3abdda1db9..a8186114cc0ca 100644 --- a/tests/baselines/reference/isolatedDeclarationErrorsAugmentation.types +++ b/tests/baselines/reference/isolatedDeclarationErrorsAugmentation.types @@ -30,11 +30,11 @@ export function child1(prototype: ParentThing) { >prototype.add = (a: number, b: number) => a + b : (a: number, b: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >prototype.add : (a: number, b: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >prototype : ParentThing > : ^^^^^^^^^^^ >add : (a: number, b: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >(a: number, b: number) => a + b : (a: number, b: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >a : number diff --git a/tests/baselines/reference/isolatedDeclarationErrorsClasses.errors.txt b/tests/baselines/reference/isolatedDeclarationErrorsClasses.errors.txt index a47466cbe991d..90ceb463b9ce6 100644 --- a/tests/baselines/reference/isolatedDeclarationErrorsClasses.errors.txt +++ b/tests/baselines/reference/isolatedDeclarationErrorsClasses.errors.txt @@ -7,21 +7,25 @@ isolatedDeclarationErrorsClasses.ts(11,9): error TS9009: At least one accessor m isolatedDeclarationErrorsClasses.ts(12,9): error TS7032: Property 'setOnly' implicitly has type 'any', because its set accessor lacks a parameter type annotation. isolatedDeclarationErrorsClasses.ts(12,17): error TS7006: Parameter 'value' implicitly has an 'any' type. isolatedDeclarationErrorsClasses.ts(36,5): error TS1166: A computed property name in a class property declaration must have a simple literal type or a 'unique symbol' type. +isolatedDeclarationErrorsClasses.ts(36,5): error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. isolatedDeclarationErrorsClasses.ts(36,6): error TS2304: Cannot find name 'missing'. -isolatedDeclarationErrorsClasses.ts(42,5): error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. -isolatedDeclarationErrorsClasses.ts(44,5): error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. +isolatedDeclarationErrorsClasses.ts(38,5): error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. +isolatedDeclarationErrorsClasses.ts(40,5): error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. +isolatedDeclarationErrorsClasses.ts(42,5): error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. +isolatedDeclarationErrorsClasses.ts(44,5): error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. isolatedDeclarationErrorsClasses.ts(44,35): error TS7006: Parameter 'v' implicitly has an 'any' type. -isolatedDeclarationErrorsClasses.ts(46,9): error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. +isolatedDeclarationErrorsClasses.ts(46,9): error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. isolatedDeclarationErrorsClasses.ts(48,9): error TS7032: Property '[noParamAnnotationStringName]' implicitly has type 'any', because its set accessor lacks a parameter type annotation. -isolatedDeclarationErrorsClasses.ts(48,9): error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. +isolatedDeclarationErrorsClasses.ts(48,9): error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. isolatedDeclarationErrorsClasses.ts(48,39): error TS7006: Parameter 'value' implicitly has an 'any' type. isolatedDeclarationErrorsClasses.ts(50,5): error TS1166: A computed property name in a class property declaration must have a simple literal type or a 'unique symbol' type. +isolatedDeclarationErrorsClasses.ts(50,5): error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. isolatedDeclarationErrorsClasses.ts(55,5): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. isolatedDeclarationErrorsClasses.ts(56,5): error TS7010: '[noAnnotationLiteralName]', which lacks return-type annotation, implicitly has an 'any' return type. isolatedDeclarationErrorsClasses.ts(56,5): error TS9013: Expression type can't be inferred with --isolatedDeclarations. -==== isolatedDeclarationErrorsClasses.ts (21 errors) ==== +==== isolatedDeclarationErrorsClasses.ts (25 errors) ==== export class Cls { field = 1 + 1; @@ -81,38 +85,46 @@ isolatedDeclarationErrorsClasses.ts(56,5): error TS9013: Expression type can't b [missing] = 1; ~~~~~~~~~ !!! error TS1166: A computed property name in a class property declaration must have a simple literal type or a 'unique symbol' type. + ~~~~~~~~~ +!!! error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. ~~~~~~~ !!! error TS2304: Cannot find name 'missing'. [noAnnotationLiteralName](): void { } + ~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. [noParamAnnotationLiteralName](v: string): void { } + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. [noAnnotationStringName]() { } ~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. +!!! error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. [noParamAnnotationStringName](v): void { } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. +!!! error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. ~ !!! error TS7006: Parameter 'v' implicitly has an 'any' type. get [noAnnotationStringName]() { return 0;} ~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. +!!! error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. set [noParamAnnotationStringName](value) { } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS7032: Property '[noParamAnnotationStringName]' implicitly has type 'any', because its set accessor lacks a parameter type annotation. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. +!!! error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. ~~~~~ !!! error TS7006: Parameter 'value' implicitly has an 'any' type. [("A" + "B") as "AB"] = 1; ~~~~~~~~~~~~~~~~~~~~~ !!! error TS1166: A computed property name in a class property declaration must have a simple literal type or a 'unique symbol' type. + ~~~~~~~~~~~~~~~~~~~~~ +!!! error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. } diff --git a/tests/baselines/reference/isolatedDeclarationErrorsClassesExpressions.types b/tests/baselines/reference/isolatedDeclarationErrorsClassesExpressions.types index 8cd5a8ea25a26..f35c5915cf8d2 100644 --- a/tests/baselines/reference/isolatedDeclarationErrorsClassesExpressions.types +++ b/tests/baselines/reference/isolatedDeclarationErrorsClassesExpressions.types @@ -17,7 +17,7 @@ export const cls = class { function id any>(cls: T) { >id : any>(cls: T) => T -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ >a : any[] > : ^^^^^ >cls : T @@ -41,7 +41,7 @@ export class Mix extends id(Base) { >id(Base) : Base > : ^^^^ >id : any>(cls: T) => T -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ >Base : typeof Base > : ^^^^^^^^^^^ diff --git a/tests/baselines/reference/isolatedDeclarationErrorsEnums.types b/tests/baselines/reference/isolatedDeclarationErrorsEnums.types index 4876ce00b96be..26fbe48b81579 100644 --- a/tests/baselines/reference/isolatedDeclarationErrorsEnums.types +++ b/tests/baselines/reference/isolatedDeclarationErrorsEnums.types @@ -17,7 +17,7 @@ enum E { >computed(0) : number > : ^^^^^^ >computed : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ @@ -27,7 +27,7 @@ enum E { >computed(1) : number > : ^^^^^^ >computed : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ @@ -37,7 +37,7 @@ enum E { >computed(2) : number > : ^^^^^^ >computed : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >2 : 2 > : ^ @@ -47,7 +47,7 @@ enum E { >computed(3) : number > : ^^^^^^ >computed : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >3 : 3 > : ^ } diff --git a/tests/baselines/reference/isolatedDeclarationErrorsExpressions.types b/tests/baselines/reference/isolatedDeclarationErrorsExpressions.types index 0346c6b0a19d4..0a32e4b747eb9 100644 --- a/tests/baselines/reference/isolatedDeclarationErrorsExpressions.types +++ b/tests/baselines/reference/isolatedDeclarationErrorsExpressions.types @@ -27,11 +27,11 @@ export const numberConstBad2 = Math.random(); >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ export const numberConstBad3 = numberConst; >numberConstBad3 : 1 @@ -61,7 +61,7 @@ export const bigIntConstBad2 = time(); >time() : bigint > : ^^^^^^ >time : () => bigint -> : ^^^^^^^^^^^^ +> : ^^^^^^ export const bigIntConstBad3 = bigIntConst; >bigIntConstBad3 : 1n @@ -162,11 +162,11 @@ export let numberLetBad2 = Math.random(); >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ export let numberLetBad3 = numberLet; >numberLetBad3 : number @@ -196,7 +196,7 @@ export let bigIntLetBad2 = time(); >time() : bigint > : ^^^^^^ >time : () => bigint -> : ^^^^^^^^^^^^ +> : ^^^^^^ export let bigIntLetBad3 = bigIntLet; >bigIntLetBad3 : bigint @@ -416,11 +416,11 @@ export class Exported { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ public numberLetBad3 = numberLet; >numberLetBad3 : number @@ -450,7 +450,7 @@ export class Exported { >time() : bigint > : ^^^^^^ >time : () => bigint -> : ^^^^^^^^^^^^ +> : ^^^^^^ public bigIntLetBad3 = bigIntLet; >bigIntLetBad3 : bigint @@ -543,11 +543,11 @@ export class Exported { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ readonly numberConstBad3 = numberConst; >numberConstBad3 : 1 @@ -577,7 +577,7 @@ export class Exported { >time() : bigint > : ^^^^^^ >time : () => bigint -> : ^^^^^^^^^^^^ +> : ^^^^^^ readonly bigIntConstBad3 = bigIntConst; >bigIntConstBad3 : 1n @@ -755,19 +755,19 @@ export function numberParamBad2(p = Math.random()): void { } >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ export function numberParamBad3(p = numberParam): void { } >numberParamBad3 : (p?: (p?: number) => void) => void -> : ^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^ ^^^^^^^^^^^^^^ ^^^^^ >p : (p?: number) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ >numberParam : (p?: number) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ export function bigIntParam(p = 1n): void { } >bigIntParam : (p?: bigint) => void @@ -797,15 +797,15 @@ export function bigIntParamBad2(p = time()): void { } >time() : bigint > : ^^^^^^ >time : () => bigint -> : ^^^^^^^^^^^^ +> : ^^^^^^ export function bigIntParamBad3(p = bigIntParam): void { } >bigIntParamBad3 : (p?: (p?: bigint) => void) => void -> : ^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^ ^^^^^^^^^^^^^^ ^^^^^ >p : (p?: bigint) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ >bigIntParam : (p?: bigint) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ export function stringParam(p = "s"): void { } >stringParam : (p?: string) => void diff --git a/tests/baselines/reference/isolatedDeclarationErrorsObjects.errors.txt b/tests/baselines/reference/isolatedDeclarationErrorsObjects.errors.txt index 26872afa9eb44..64704eae69101 100644 --- a/tests/baselines/reference/isolatedDeclarationErrorsObjects.errors.txt +++ b/tests/baselines/reference/isolatedDeclarationErrorsObjects.errors.txt @@ -9,14 +9,17 @@ isolatedDeclarationErrorsObjects.ts(32,9): error TS9008: Method must have an exp isolatedDeclarationErrorsObjects.ts(40,9): error TS7032: Property 'singleSetterBad' implicitly has type 'any', because its set accessor lacks a parameter type annotation. isolatedDeclarationErrorsObjects.ts(40,25): error TS7006: Parameter 'value' implicitly has an 'any' type. isolatedDeclarationErrorsObjects.ts(40,25): error TS9009: At least one accessor must have an explicit return type annotation with --isolatedDeclarations. -isolatedDeclarationErrorsObjects.ts(64,5): error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. -isolatedDeclarationErrorsObjects.ts(65,5): error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. +isolatedDeclarationErrorsObjects.ts(64,5): error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. +isolatedDeclarationErrorsObjects.ts(65,5): error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. +isolatedDeclarationErrorsObjects.ts(66,5): error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. +isolatedDeclarationErrorsObjects.ts(67,5): error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. +isolatedDeclarationErrorsObjects.ts(68,5): error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. isolatedDeclarationErrorsObjects.ts(75,5): error TS9015: Objects that contain spread assignments can't be inferred with --isolatedDeclarations. isolatedDeclarationErrorsObjects.ts(77,5): error TS9016: Objects that contain shorthand properties can't be inferred with --isolatedDeclarations. isolatedDeclarationErrorsObjects.ts(84,9): error TS9015: Objects that contain spread assignments can't be inferred with --isolatedDeclarations. -==== isolatedDeclarationErrorsObjects.ts (16 errors) ==== +==== isolatedDeclarationErrorsObjects.ts (19 errors) ==== export let o = { a: 1, b: "" @@ -121,15 +124,24 @@ isolatedDeclarationErrorsObjects.ts(84,9): error TS9015: Objects that contain sp [1]: 1, [1 + 3]: 1, ~~~~~~~ -!!! error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. +!!! error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. !!! related TS9027 isolatedDeclarationErrorsObjects.ts:62:14: Add a type annotation to the variable oWithComputedProperties. [prop(2)]: 2, ~~~~~~~~~ -!!! error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. +!!! error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. !!! related TS9027 isolatedDeclarationErrorsObjects.ts:62:14: Add a type annotation to the variable oWithComputedProperties. [s]: 1, + ~~~ +!!! error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. +!!! related TS9027 isolatedDeclarationErrorsObjects.ts:62:14: Add a type annotation to the variable oWithComputedProperties. [E.V]: 1, + ~~~~~ +!!! error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. +!!! related TS9027 isolatedDeclarationErrorsObjects.ts:62:14: Add a type annotation to the variable oWithComputedProperties. [str]: 0, + ~~~~~ +!!! error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. +!!! related TS9027 isolatedDeclarationErrorsObjects.ts:62:14: Add a type annotation to the variable oWithComputedProperties. } const part = { a: 1 }; diff --git a/tests/baselines/reference/isolatedDeclarationErrorsObjects.types b/tests/baselines/reference/isolatedDeclarationErrorsObjects.types index d18df7690c852..5eff377c54ebe 100644 --- a/tests/baselines/reference/isolatedDeclarationErrorsObjects.types +++ b/tests/baselines/reference/isolatedDeclarationErrorsObjects.types @@ -32,11 +32,11 @@ export let oBad = { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } export const V = 1; >V : 1 @@ -62,11 +62,11 @@ export let oBad2 = { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ }, c: { @@ -284,7 +284,7 @@ export const oWithComputedProperties = { >prop(2) : 2 > : ^ >prop : (v: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >2 : 2 > : ^ >2 : 2 diff --git a/tests/baselines/reference/isolatedDeclarationLazySymbols.errors.txt b/tests/baselines/reference/isolatedDeclarationLazySymbols.errors.txt index bb46d672d1099..812ec2c1bea83 100644 --- a/tests/baselines/reference/isolatedDeclarationLazySymbols.errors.txt +++ b/tests/baselines/reference/isolatedDeclarationLazySymbols.errors.txt @@ -1,10 +1,12 @@ isolatedDeclarationLazySymbols.ts(1,17): error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. isolatedDeclarationLazySymbols.ts(13,1): error TS9023: Assigning properties to functions without declaring them is not supported with --isolatedDeclarations. Add an explicit declaration for the properties assigned to this function. isolatedDeclarationLazySymbols.ts(16,5): error TS1166: A computed property name in a class property declaration must have a simple literal type or a 'unique symbol' type. -isolatedDeclarationLazySymbols.ts(21,5): error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. +isolatedDeclarationLazySymbols.ts(16,5): error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. +isolatedDeclarationLazySymbols.ts(21,5): error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. +isolatedDeclarationLazySymbols.ts(22,5): error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. -==== isolatedDeclarationLazySymbols.ts (4 errors) ==== +==== isolatedDeclarationLazySymbols.ts (6 errors) ==== export function foo() { ~~~ !!! error TS9007: Function must have an explicit return type annotation with --isolatedDeclarations. @@ -28,13 +30,18 @@ isolatedDeclarationLazySymbols.ts(21,5): error TS9014: Computed properties must [o["prop.inner"]] ="A" ~~~~~~~~~~~~~~~~~ !!! error TS1166: A computed property name in a class property declaration must have a simple literal type or a 'unique symbol' type. + ~~~~~~~~~~~~~~~~~ +!!! error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. [o.prop.inner] = "B" } export let oo = { [o['prop.inner']]:"A", ~~~~~~~~~~~~~~~~~ -!!! error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. +!!! error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. !!! related TS9027 isolatedDeclarationLazySymbols.ts:20:12: Add a type annotation to the variable oo. [o.prop.inner]: "B", + ~~~~~~~~~~~~~~ +!!! error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. +!!! related TS9027 isolatedDeclarationLazySymbols.ts:20:12: Add a type annotation to the variable oo. } \ No newline at end of file diff --git a/tests/baselines/reference/isolatedDeclarationOutFile.types b/tests/baselines/reference/isolatedDeclarationOutFile.types index 57109875a53d5..e614a00a4b678 100644 --- a/tests/baselines/reference/isolatedDeclarationOutFile.types +++ b/tests/baselines/reference/isolatedDeclarationOutFile.types @@ -15,11 +15,11 @@ export class A { >msg.toUpperCase() : string > : ^^^^^^ >msg.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >msg : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } @@ -44,11 +44,11 @@ export class B extends A { >n.toFixed(6) : string > : ^^^^^^ >n.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >n : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >6 : 6 > : ^ } diff --git a/tests/baselines/reference/isolatedDeclarationsAddUndefined.errors.txt b/tests/baselines/reference/isolatedDeclarationsAddUndefined.errors.txt index 9440b0a5d3301..7beba23a985d5 100644 --- a/tests/baselines/reference/isolatedDeclarationsAddUndefined.errors.txt +++ b/tests/baselines/reference/isolatedDeclarationsAddUndefined.errors.txt @@ -1,4 +1,4 @@ -file2.ts(1,26): error TS9025: Declaration emit for this parameter requires implicitly adding undefined to it's type. This is not supported with --isolatedDeclarations. +file2.ts(4,38): error TS9011: Parameter must have an explicit type annotation with --isolatedDeclarations. ==== file1.ts (0 errors) ==== @@ -12,10 +12,12 @@ file2.ts(1,26): error TS9025: Declaration emit for this parameter requires impli ==== file2.ts (1 errors) ==== export function foo(p = (ip = 10, v: number): void => {}): void{ - ~~~~~~~ -!!! error TS9025: Declaration emit for this parameter requires implicitly adding undefined to it's type. This is not supported with --isolatedDeclarations. -!!! related TS9028 file2.ts:1:26: Add a type annotation to the parameter ip. } + type T = number + export function foo2(p = (ip = 10 as T, v: number): void => {}): void{} + ~ +!!! error TS9011: Parameter must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9028 file2.ts:4:27: Add a type annotation to the parameter ip. export class Bar2 { readonly r = 1; f = 2; diff --git a/tests/baselines/reference/isolatedDeclarationsAddUndefined.js b/tests/baselines/reference/isolatedDeclarationsAddUndefined.js index b338db02c8a54..525c702548da9 100644 --- a/tests/baselines/reference/isolatedDeclarationsAddUndefined.js +++ b/tests/baselines/reference/isolatedDeclarationsAddUndefined.js @@ -12,6 +12,8 @@ export class Bar { //// [file2.ts] export function foo(p = (ip = 10, v: number): void => {}): void{ } +type T = number +export function foo2(p = (ip = 10 as T, v: number): void => {}): void{} export class Bar2 { readonly r = 1; f = 2; @@ -36,11 +38,17 @@ exports.Bar = Bar; Object.defineProperty(exports, "__esModule", { value: true }); exports.Bar2 = void 0; exports.foo = foo; +exports.foo2 = foo2; function foo(p) { if (p === void 0) { p = function (ip, v) { if (ip === void 0) { ip = 10; } }; } } +function foo2(p) { + if (p === void 0) { p = function (ip, v) { + if (ip === void 0) { ip = 10; } + }; } +} var Bar2 = /** @class */ (function () { function Bar2() { this.r = 1; diff --git a/tests/baselines/reference/isolatedDeclarationsAddUndefined.symbols b/tests/baselines/reference/isolatedDeclarationsAddUndefined.symbols index 3b27ee8bfd37b..17bc7ca28c9ad 100644 --- a/tests/baselines/reference/isolatedDeclarationsAddUndefined.symbols +++ b/tests/baselines/reference/isolatedDeclarationsAddUndefined.symbols @@ -30,12 +30,22 @@ export function foo(p = (ip = 10, v: number): void => {}): void{ >ip : Symbol(ip, Decl(file2.ts, 0, 25)) >v : Symbol(v, Decl(file2.ts, 0, 33)) } +type T = number +>T : Symbol(T, Decl(file2.ts, 1, 1)) + +export function foo2(p = (ip = 10 as T, v: number): void => {}): void{} +>foo2 : Symbol(foo2, Decl(file2.ts, 2, 15)) +>p : Symbol(p, Decl(file2.ts, 3, 21)) +>ip : Symbol(ip, Decl(file2.ts, 3, 26)) +>T : Symbol(T, Decl(file2.ts, 1, 1)) +>v : Symbol(v, Decl(file2.ts, 3, 39)) + export class Bar2 { ->Bar2 : Symbol(Bar2, Decl(file2.ts, 1, 1)) +>Bar2 : Symbol(Bar2, Decl(file2.ts, 3, 71)) readonly r = 1; ->r : Symbol(Bar2.r, Decl(file2.ts, 2, 19)) +>r : Symbol(Bar2.r, Decl(file2.ts, 4, 19)) f = 2; ->f : Symbol(Bar2.f, Decl(file2.ts, 3, 19)) +>f : Symbol(Bar2.f, Decl(file2.ts, 5, 19)) } diff --git a/tests/baselines/reference/isolatedDeclarationsAddUndefined.types b/tests/baselines/reference/isolatedDeclarationsAddUndefined.types index 2c7bebc2bb9df..8c2ef0242be6c 100644 --- a/tests/baselines/reference/isolatedDeclarationsAddUndefined.types +++ b/tests/baselines/reference/isolatedDeclarationsAddUndefined.types @@ -57,6 +57,26 @@ export function foo(p = (ip = 10, v: number): void => {}): void{ >v : number > : ^^^^^^ } +type T = number +>T : number +> : ^^^^^^ + +export function foo2(p = (ip = 10 as T, v: number): void => {}): void{} +>foo2 : (p?: (ip: T | undefined, v: number) => void) => void +> : ^ ^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^ +>p : (ip: T | undefined, v: number) => void +> : ^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ +>(ip = 10 as T, v: number): void => {} : (ip: T | undefined, v: number) => void +> : ^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^ +>ip : number +> : ^^^^^^ +>10 as T : number +> : ^^^^^^ +>10 : 10 +> : ^^ +>v : number +> : ^^^^^^ + export class Bar2 { >Bar2 : Bar2 > : ^^^^ diff --git a/tests/baselines/reference/isolatedModulesImportConstEnum.types b/tests/baselines/reference/isolatedModulesImportConstEnum.types index 97742e055536a..7052665a0080e 100644 --- a/tests/baselines/reference/isolatedModulesImportConstEnum.types +++ b/tests/baselines/reference/isolatedModulesImportConstEnum.types @@ -9,11 +9,11 @@ console.log(Foo.BAR); >console.log(Foo.BAR) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Foo.BAR : Foo > : ^^^ >Foo : typeof Foo diff --git a/tests/baselines/reference/isolatedModulesNoEmitOnError.js b/tests/baselines/reference/isolatedModulesNoEmitOnError.js new file mode 100644 index 0000000000000..80851e5cff8cd --- /dev/null +++ b/tests/baselines/reference/isolatedModulesNoEmitOnError.js @@ -0,0 +1,10 @@ +//// [tests/cases/compiler/isolatedModulesNoEmitOnError.ts] //// + +//// [file1.ts] +export const x: string = 3; + + + +!!!! File file1.js missing from original emit, but present in noCheck emit +//// [file1.js] +export const x = 3; diff --git a/tests/baselines/reference/isolatedModulesPlainFile-AMD.types b/tests/baselines/reference/isolatedModulesPlainFile-AMD.types index 6e9a0ea747dc4..769d5c830ef0f 100644 --- a/tests/baselines/reference/isolatedModulesPlainFile-AMD.types +++ b/tests/baselines/reference/isolatedModulesPlainFile-AMD.types @@ -11,7 +11,7 @@ run(1); >run(1) : void > : ^^^^ >run : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/isolatedModulesPlainFile-CommonJS.types b/tests/baselines/reference/isolatedModulesPlainFile-CommonJS.types index 846e95d5835cb..d71cbd7da1b0c 100644 --- a/tests/baselines/reference/isolatedModulesPlainFile-CommonJS.types +++ b/tests/baselines/reference/isolatedModulesPlainFile-CommonJS.types @@ -11,7 +11,7 @@ run(1); >run(1) : void > : ^^^^ >run : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/isolatedModulesPlainFile-ES6.types b/tests/baselines/reference/isolatedModulesPlainFile-ES6.types index 2705d8abee84d..23ea2fd0226b8 100644 --- a/tests/baselines/reference/isolatedModulesPlainFile-ES6.types +++ b/tests/baselines/reference/isolatedModulesPlainFile-ES6.types @@ -11,7 +11,7 @@ run(1); >run(1) : void > : ^^^^ >run : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/isolatedModulesPlainFile-System.types b/tests/baselines/reference/isolatedModulesPlainFile-System.types index a90c0498f8bbb..71d1484f60057 100644 --- a/tests/baselines/reference/isolatedModulesPlainFile-System.types +++ b/tests/baselines/reference/isolatedModulesPlainFile-System.types @@ -11,7 +11,7 @@ run(1); >run(1) : void > : ^^^^ >run : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/isolatedModulesPlainFile-UMD.types b/tests/baselines/reference/isolatedModulesPlainFile-UMD.types index f1fe72ea7e822..71cef5fff46d4 100644 --- a/tests/baselines/reference/isolatedModulesPlainFile-UMD.types +++ b/tests/baselines/reference/isolatedModulesPlainFile-UMD.types @@ -11,7 +11,7 @@ run(1); >run(1) : void > : ^^^^ >run : (a: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/isomorphicMappedTypeInference.types b/tests/baselines/reference/isomorphicMappedTypeInference.types index d17e25893b333..493eed099b05c 100644 --- a/tests/baselines/reference/isomorphicMappedTypeInference.types +++ b/tests/baselines/reference/isomorphicMappedTypeInference.types @@ -82,7 +82,7 @@ function boxify(obj: T): Boxified { >box(obj[k]) : Box]> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >box : (x: T_1) => Box -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >obj[k] : T[Extract] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >obj : T @@ -97,7 +97,7 @@ function boxify(obj: T): Boxified { function unboxify(obj: Boxified): T { >unboxify : (obj: Boxified) => T -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >obj : Boxified > : ^^^^^^^^^^^ @@ -127,7 +127,7 @@ function unboxify(obj: Boxified): T { >unbox(obj[k]) : T[Extract] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >unbox : (x: Box) => T_1 -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >obj[k] : Boxified[Extract] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >obj : Boxified @@ -211,7 +211,7 @@ function f1() { >boxify(v) : Boxified<{ a: number; b: string; c: boolean; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >boxify : (obj: T) => Boxified -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >v : { a: number; b: string; c: boolean; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -246,7 +246,7 @@ function f2() { >box(42) : Box > : ^^^^^^^^^^^ >box : (x: T) => Box -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >42 : 42 > : ^^ @@ -256,7 +256,7 @@ function f2() { >box("hello") : Box > : ^^^^^^^^^^^ >box : (x: T) => Box -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ @@ -266,7 +266,7 @@ function f2() { >box(true) : Box > : ^^^^^^^^^^^^ >box : (x: T) => Box -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >true : true > : ^^^^ @@ -277,7 +277,7 @@ function f2() { >unboxify(b) : { a: number; b: string; c: boolean; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >unboxify : (obj: Boxified) => T -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >b : { a: Box; b: Box; c: Box; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -308,7 +308,7 @@ function f3() { >box(42) : Box > : ^^^^^^^^^^^ >box : (x: T) => Box -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >42 : 42 > : ^^ @@ -318,7 +318,7 @@ function f3() { >box("hello") : Box > : ^^^^^^^^^^^ >box : (x: T) => Box -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ @@ -328,7 +328,7 @@ function f3() { >box(true) : Box > : ^^^^^^^^^^^^ >box : (x: T) => Box -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >true : true > : ^^^^ @@ -364,7 +364,7 @@ function f4() { >box(42) : Box > : ^^^^^^^^^^^ >box : (x: T) => Box -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >42 : 42 > : ^^ @@ -374,7 +374,7 @@ function f4() { >box("hello") : Box > : ^^^^^^^^^^^ >box : (x: T) => Box -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ @@ -384,7 +384,7 @@ function f4() { >box(true) : Box > : ^^^^^^^^^^^^ >box : (x: T) => Box -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >true : true > : ^^^^ @@ -397,11 +397,11 @@ function f4() { >boxify(unboxify(b)) : Boxified<{ a: number; b: string; c: boolean; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >boxify : (obj: T) => Boxified -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >unboxify(b) : { a: number; b: string; c: boolean; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >unboxify : (obj: Boxified) => T -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >b : { a: Box; b: Box; c: Box; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -413,18 +413,18 @@ function f4() { >unboxify(boxify(b)) : { a: Box; b: Box; c: Box; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >unboxify : (obj: Boxified) => T -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >boxify(b) : Boxified<{ a: Box; b: Box; c: Box; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >boxify : (obj: T) => Boxified -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >b : { a: Box; b: Box; c: Box; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } function makeRecord(obj: { [P in K]: T }) { >makeRecord : (obj: { [P in K]: T; }) => { [P in K]: T; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ >obj : { [P in K]: T; } > : ^^^^^^^^^^^^^^^^ @@ -445,7 +445,7 @@ function f5(s: string) { >makeRecord({ a: box(42), b: box("hello"), c: box(true) }) : { a: Box | Box | Box; b: Box | Box | Box; c: Box | Box | Box; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >makeRecord : (obj: { [P in K]: T; }) => { [P in K]: T; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ >{ a: box(42), b: box("hello"), c: box(true) } : { a: Box; b: Box; c: Box; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -455,7 +455,7 @@ function f5(s: string) { >box(42) : Box > : ^^^^^^^^^^^ >box : (x: T) => Box -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >42 : 42 > : ^^ @@ -465,7 +465,7 @@ function f5(s: string) { >box("hello") : Box > : ^^^^^^^^^^^ >box : (x: T) => Box -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ @@ -475,7 +475,7 @@ function f5(s: string) { >box(true) : Box > : ^^^^^^^^^^^^ >box : (x: T) => Box -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >true : true > : ^^^^ @@ -486,7 +486,7 @@ function f5(s: string) { >unboxify(b) : { a: string | number | boolean; b: string | number | boolean; c: string | number | boolean; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >unboxify : (obj: Boxified) => T -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >b : { a: Box | Box | Box; b: Box | Box | Box; c: Box | Box | Box; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -536,7 +536,7 @@ function f6(s: string) { >box(42) : Box > : ^^^^^^^^^^^ >box : (x: T) => Box -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >42 : 42 > : ^^ @@ -546,7 +546,7 @@ function f6(s: string) { >box("hello") : Box > : ^^^^^^^^^^^ >box : (x: T) => Box -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >"hello" : "hello" > : ^^^^^^^ @@ -556,7 +556,7 @@ function f6(s: string) { >box(true) : Box > : ^^^^^^^^^^^^ >box : (x: T) => Box -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >true : true > : ^^^^ @@ -567,7 +567,7 @@ function f6(s: string) { >unboxify(b) : { [x: string]: any; } > : ^^^^^^^^^^^^^^^^^^^^^ >unboxify : (obj: Boxified) => T -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >b : { [x: string]: Box | Box | Box; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -621,31 +621,31 @@ function f10(foo: Foo) { let x = validate(foo); // { a: number, readonly b: string } >x : { a: number; readonly b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^ ^^^ >validate(foo) : { a: number; readonly b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^ ^^^ >validate : (obj: { [P in keyof T]?: T[P]; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >foo : Foo > : ^^^ let y = clone(foo); // { a?: number, b: string } ->y : { a?: number | undefined; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->clone(foo) : { a?: number | undefined; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>y : { a?: number; b: string; } +> : ^^^^^^ ^^^^^ ^^^ +>clone(foo) : { a?: number; b: string; } +> : ^^^^^^ ^^^^^ ^^^ >clone : (obj: { readonly [P in keyof T]: T[P]; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >foo : Foo > : ^^^ let z = validateAndClone(foo); // { a: number, b: string } >z : { a: number; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >validateAndClone(foo) : { a: number; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >validateAndClone : (obj: { readonly [P in keyof T]?: T[P]; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >foo : Foo > : ^^^ } @@ -685,7 +685,7 @@ var g1 = applySpec({ >applySpec({ sum: (a: any) => 3, nested: { mul: (b: any) => "n" }}) : (...args: any[]) => { sum: number; nested: { mul: string; }; } > : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >applySpec : (obj: Spec) => (...args: any[]) => T -> : ^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ sum: (a: any) => 3, nested: { mul: (b: any) => "n" }} : { sum: (a: any) => number; nested: { mul: (b: any) => string; }; } > : ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ @@ -722,7 +722,7 @@ var g2 = applySpec({ foo: { bar: { baz: (x: any) => true } } }); >applySpec({ foo: { bar: { baz: (x: any) => true } } }) : (...args: any[]) => { foo: { bar: { baz: boolean; }; }; } > : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >applySpec : (obj: Spec) => (...args: any[]) => T -> : ^ ^^ ^^ ^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ foo: { bar: { baz: (x: any) => true } } } : { foo: { bar: { baz: (x: any) => boolean; }; }; } > : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ >foo : { bar: { baz: (x: any) => boolean; }; } @@ -806,31 +806,31 @@ o = foo(o, {b: 9}); declare function f20(obj: Pick): T; >f20 : (obj: Pick) => T -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >obj : Pick > : ^^^^^^^^^^ declare function f21(obj: Pick): K; >f21 : (obj: Pick) => K -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >obj : Pick > : ^^^^^^^^^^ declare function f22(obj: Boxified>): T; >f22 : (obj: Boxified>) => T -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >obj : Boxified> > : ^^^^^^^^^^^^^^^^^^^^ declare function f23(obj: Pick): T; >f23 : (obj: Pick) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >obj : Pick > : ^^^^^^^^^^ declare function f24(obj: Pick): T & U; >f24 : (obj: Pick) => T & U -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >obj : Pick > : ^^^^^^^^^^^^^^ @@ -840,7 +840,7 @@ let x0 = f20({ foo: 42, bar: "hello" }); >f20({ foo: 42, bar: "hello" }) : { foo: number; bar: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f20 : (obj: Pick) => T -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ foo: 42, bar: "hello" } : { foo: number; bar: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : number @@ -858,7 +858,7 @@ let x1 = f21({ foo: 42, bar: "hello" }); >f21({ foo: 42, bar: "hello" }) : "foo" | "bar" > : ^^^^^^^^^^^^^ >f21 : (obj: Pick) => K -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ foo: 42, bar: "hello" } : { foo: number; bar: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : number @@ -876,7 +876,7 @@ let x2 = f22({ foo: { value: 42} , bar: { value: "hello" } }); >f22({ foo: { value: 42} , bar: { value: "hello" } }) : { foo: number; bar: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f22 : (obj: Boxified>) => T -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ foo: { value: 42} , bar: { value: "hello" } } : { foo: { value: number; }; bar: { value: string; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : { value: number; } @@ -902,7 +902,7 @@ let x3 = f23({ foo: 42, bar: "hello" }); >f23({ foo: 42, bar: "hello" }) : { foo: number; bar: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f23 : (obj: Pick) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ foo: 42, bar: "hello" } : { foo: number; bar: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : number @@ -920,7 +920,7 @@ let x4 = f24({ foo: 42, bar: "hello" }); >f24({ foo: 42, bar: "hello" }) : { foo: number; bar: string; } & { foo: number; bar: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f24 : (obj: Pick) => T & U -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ foo: 42, bar: "hello" } : { foo: number; bar: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : number @@ -936,7 +936,7 @@ let x4 = f24({ foo: 42, bar: "hello" }); function getProps(obj: T, list: K[]): Pick { >getProps : (obj: T, list: K[]) => Pick -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >obj : T > : ^ >list : K[] @@ -959,7 +959,7 @@ const o1 = getProps(myAny, ['foo', 'bar']); >getProps(myAny, ['foo', 'bar']) : Pick > : ^^^^^^^^^^^^^^^^^^^^^^^^ >getProps : (obj: T, list: K[]) => Pick -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >myAny : any >['foo', 'bar'] : ("foo" | "bar")[] > : ^^^^^^^^^^^^^^^^^ @@ -976,7 +976,7 @@ const o2: { foo: any; bar: any } = getProps(myAny, ['foo', 'bar']); >getProps(myAny, ['foo', 'bar']) : Pick > : ^^^^^^^^^^^^^^^^^^^^^^^^ >getProps : (obj: T, list: K[]) => Pick -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >myAny : any >['foo', 'bar'] : ("foo" | "bar")[] > : ^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/iteratorSpreadInArray6.types b/tests/baselines/reference/iteratorSpreadInArray6.types index 6762d8bf9b941..0cfd7122bb037 100644 --- a/tests/baselines/reference/iteratorSpreadInArray6.types +++ b/tests/baselines/reference/iteratorSpreadInArray6.types @@ -60,11 +60,11 @@ array.concat([...new SymbolIterator]); >array.concat([...new SymbolIterator]) : number[] > : ^^^^^^^^ >array.concat : { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >array : number[] > : ^^^^^^^^ >concat : { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >[...new SymbolIterator] : symbol[] > : ^^^^^^^^ >...new SymbolIterator : symbol diff --git a/tests/baselines/reference/iteratorSpreadInArray7.types b/tests/baselines/reference/iteratorSpreadInArray7.types index 9f1a5e391fd7e..e20e37747488d 100644 --- a/tests/baselines/reference/iteratorSpreadInArray7.types +++ b/tests/baselines/reference/iteratorSpreadInArray7.types @@ -54,11 +54,11 @@ array.concat([...new SymbolIterator]); >array.concat([...new SymbolIterator]) : symbol[] > : ^^^^^^^^ >array.concat : { (...items: ConcatArray[]): symbol[]; (...items: (symbol | ConcatArray)[]): symbol[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >array : symbol[] > : ^^^^^^^^ >concat : { (...items: ConcatArray[]): symbol[]; (...items: (symbol | ConcatArray)[]): symbol[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >[...new SymbolIterator] : symbol[] > : ^^^^^^^^ >...new SymbolIterator : symbol diff --git a/tests/baselines/reference/iteratorsAndStrictNullChecks.types b/tests/baselines/reference/iteratorsAndStrictNullChecks.types index 5cea55e6d006f..a5af45e1adc98 100644 --- a/tests/baselines/reference/iteratorsAndStrictNullChecks.types +++ b/tests/baselines/reference/iteratorsAndStrictNullChecks.types @@ -14,11 +14,11 @@ for (const x of ["a", "b"]) { x.substring; >x.substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >x : string > : ^^^^^^ >substring : (start: number, end?: number) => string -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ } // Spread @@ -48,11 +48,11 @@ xs.push(...ys); >xs.push(...ys) : number > : ^^^^^^ >xs.push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >xs : number[] > : ^^^^^^^^ >push : (...items: number[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >...ys : number > : ^^^^^^ >ys : number[] diff --git a/tests/baselines/reference/javascriptDefinePropertyPrototypeNonConstructor.types b/tests/baselines/reference/javascriptDefinePropertyPrototypeNonConstructor.types index 4c2ccb85f0323..bd9b871ecb2fd 100644 --- a/tests/baselines/reference/javascriptDefinePropertyPrototypeNonConstructor.types +++ b/tests/baselines/reference/javascriptDefinePropertyPrototypeNonConstructor.types @@ -9,11 +9,11 @@ function Graphic() { Object.defineProperty(Graphic.prototype, "instance", { >Object.defineProperty(Graphic.prototype, "instance", { get: function() { return this; }}) : any >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Graphic.prototype : any >Graphic : typeof Graphic > : ^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/javascriptThisAssignmentInStaticBlock.types b/tests/baselines/reference/javascriptThisAssignmentInStaticBlock.types index a7f028733e45c..7a4646f943e28 100644 --- a/tests/baselines/reference/javascriptThisAssignmentInStaticBlock.types +++ b/tests/baselines/reference/javascriptThisAssignmentInStaticBlock.types @@ -40,13 +40,13 @@ class ElementsArray extends Array { static { const superisArray = super.isArray; >superisArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >super.isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >super : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ const customIsArray = (arg)=> superisArray(arg); >customIsArray : (arg: any) => arg is any[] @@ -57,7 +57,7 @@ class ElementsArray extends Array { >superisArray(arg) : boolean > : ^^^^^^^ >superisArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >arg : any this.isArray = customIsArray; diff --git a/tests/baselines/reference/jqueryInference.types b/tests/baselines/reference/jqueryInference.types index 4c2845d288a65..942dc294bf5e1 100644 --- a/tests/baselines/reference/jqueryInference.types +++ b/tests/baselines/reference/jqueryInference.types @@ -38,7 +38,7 @@ var p2 = shouldBeIdentity(p1); >shouldBeIdentity(p1) : MyPromise > : ^^^^^^^^^^^^^^^^^^^^^^^ >shouldBeIdentity : (p: DoNothingAlias) => MyPromise -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >p1 : MyPromise > : ^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/jsCheckObjectDefineThisNoCrash.types b/tests/baselines/reference/jsCheckObjectDefineThisNoCrash.types index d8620b69b8fc8..3ec91157a364f 100644 --- a/tests/baselines/reference/jsCheckObjectDefineThisNoCrash.types +++ b/tests/baselines/reference/jsCheckObjectDefineThisNoCrash.types @@ -11,11 +11,11 @@ class C { >Object.defineProperty(this, "_prop", { value: {} }) : this > : ^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this : this > : ^^^^ >"_prop" : "_prop" @@ -31,11 +31,11 @@ class C { >Object.defineProperty(this._prop, "num", { value: 12 }) : any > : ^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this._prop : any > : ^^^ >this : this diff --git a/tests/baselines/reference/jsContainerMergeTsDeclaration2.types b/tests/baselines/reference/jsContainerMergeTsDeclaration2.types index b7d9048c60cf8..93262416e627f 100644 --- a/tests/baselines/reference/jsContainerMergeTsDeclaration2.types +++ b/tests/baselines/reference/jsContainerMergeTsDeclaration2.types @@ -26,11 +26,11 @@ C.bar = 2; >C.bar = 2 : 2 > : ^ >C.bar : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >C : typeof C > : ^^^^^^^^ >bar : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >2 : 2 > : ^ diff --git a/tests/baselines/reference/jsDeclarationsClassMethod.types b/tests/baselines/reference/jsDeclarationsClassMethod.types index c68e2aaa983c9..ec0498c5dc179 100644 --- a/tests/baselines/reference/jsDeclarationsClassMethod.types +++ b/tests/baselines/reference/jsDeclarationsClassMethod.types @@ -20,7 +20,7 @@ function C1() { >prop : any > : ^^^ >function (x, y) { return x + y; } : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >x : number > : ^^^^^^ >y : number @@ -55,7 +55,7 @@ C1.prototype.method = function (x, y) { >method : any > : ^^^ >function (x, y) { return x + y;} : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >x : number > : ^^^^^^ >y : number @@ -80,13 +80,13 @@ C1.staticProp = function (x, y) { >C1.staticProp = function (x, y) { return x + y;} : (x: number, y: number) => number > : ^ ^^ ^^ ^^ ^^^^^ >C1.staticProp : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >C1 : typeof C1 > : ^^^^^^^^^ >staticProp : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >function (x, y) { return x + y;} : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >x : number > : ^^^^^^ >y : number @@ -139,7 +139,7 @@ C2.prototype.method2 = function (x, y) { >C2.prototype.method2 = function (x, y) { return x + y;} : (x: number, y: number) => number > : ^ ^^ ^^ ^^ ^^^^^ >C2.prototype.method2 : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >C2.prototype : C2 > : ^^ >C2 : typeof C2 @@ -147,9 +147,9 @@ C2.prototype.method2 = function (x, y) { >prototype : C2 > : ^^ >method2 : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >function (x, y) { return x + y;} : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >x : number > : ^^^^^^ >y : number @@ -174,13 +174,13 @@ C2.staticProp = function (x, y) { >C2.staticProp = function (x, y) { return x + y;} : (x: number, y: number) => number > : ^ ^^ ^^ ^^ ^^^^^ >C2.staticProp : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >C2 : typeof C2 > : ^^^^^^^^^ >staticProp : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >function (x, y) { return x + y;} : (x: number, y: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >x : number > : ^^^^^^ >y : number diff --git a/tests/baselines/reference/jsDeclarationsDefault.js b/tests/baselines/reference/jsDeclarationsDefault.js index 4c14181fcbf85..4357bdd55759e 100644 --- a/tests/baselines/reference/jsDeclarationsDefault.js +++ b/tests/baselines/reference/jsDeclarationsDefault.js @@ -46,7 +46,7 @@ exports.default = 12; //// [index2.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.bar = exports.x = void 0; +exports.x = void 0; exports.default = foo; exports.bar = foo; function foo() { diff --git a/tests/baselines/reference/jsDeclarationsEnumTag.types b/tests/baselines/reference/jsDeclarationsEnumTag.types index f159b8deaad56..0a15e726709b9 100644 --- a/tests/baselines/reference/jsDeclarationsEnumTag.types +++ b/tests/baselines/reference/jsDeclarationsEnumTag.types @@ -124,7 +124,7 @@ export function consume(t,s,f) { /** @type {(n: number) => number} */ var fun = f >fun : (n: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >f : Fs > : ^^ @@ -135,7 +135,7 @@ export function consume(t,s,f) { >Target.START : string > : ^^^^^^ >Target : { START: string; MIDDLE: string; END: string; OK_I_GUESS: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >START : string > : ^^^^^^ @@ -160,7 +160,7 @@ export function ff(s) { > : ^^^^^^^ >Target[s] : error >Target : { START: string; MIDDLE: string; END: string; OK_I_GUESS: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >s : string > : ^^^^^^ @@ -170,7 +170,7 @@ export function ff(s) { return Target[s] >Target[s] : error >Target : { START: string; MIDDLE: string; END: string; OK_I_GUESS: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >s : string > : ^^^^^^ } diff --git a/tests/baselines/reference/jsDeclarationsExportDefinePropertyEmit.types b/tests/baselines/reference/jsDeclarationsExportDefinePropertyEmit.types index e6e2157fb85a2..8f461b53a6937 100644 --- a/tests/baselines/reference/jsDeclarationsExportDefinePropertyEmit.types +++ b/tests/baselines/reference/jsDeclarationsExportDefinePropertyEmit.types @@ -5,11 +5,11 @@ Object.defineProperty(module.exports, "a", { value: function a() {} }); >Object.defineProperty(module.exports, "a", { value: function a() {} }) : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >module.exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >module : { exports: typeof module.exports; } @@ -31,11 +31,11 @@ Object.defineProperty(module.exports, "b", { value: function b() {} }); >Object.defineProperty(module.exports, "b", { value: function b() {} }) : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >module.exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >module : { exports: typeof module.exports; } @@ -57,11 +57,11 @@ Object.defineProperty(module.exports.b, "cat", { value: "cat" }); >Object.defineProperty(module.exports.b, "cat", { value: "cat" }) : () => void > : ^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >module.exports.b : () => void > : ^^^^^^^^^^ >module.exports : typeof module.exports @@ -99,11 +99,11 @@ Object.defineProperty(module.exports, "d", { value: d }); >Object.defineProperty(module.exports, "d", { value: d }) : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >module.exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >module : { exports: typeof module.exports; } @@ -113,11 +113,11 @@ Object.defineProperty(module.exports, "d", { value: d }); >"d" : "d" > : ^^^ >{ value: d } : { value: (a: number, b: number) => string; } -> : ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^ >value : (a: number, b: number) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >d : (a: number, b: number) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ /** @@ -139,11 +139,11 @@ Object.defineProperty(module.exports, "e", { value: e }); >Object.defineProperty(module.exports, "e", { value: e }) : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >module.exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >module : { exports: typeof module.exports; } @@ -153,11 +153,11 @@ Object.defineProperty(module.exports, "e", { value: e }); >"e" : "e" > : ^^^ >{ value: e } : { value: (a: T, b: U) => T & U; } -> : ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^ >value : (a: T, b: U) => T & U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >e : (a: T, b: U) => T & U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ /** * @template T @@ -177,11 +177,11 @@ Object.defineProperty(module.exports, "f", { value: f }); >Object.defineProperty(module.exports, "f", { value: f }) : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >module.exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >module : { exports: typeof module.exports; } @@ -201,11 +201,11 @@ Object.defineProperty(module.exports.f, "self", { value: module.exports.f }); >Object.defineProperty(module.exports.f, "self", { value: module.exports.f }) : (a: T) => T > : ^ ^^ ^^ ^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >module.exports.f : (a: T) => T > : ^ ^^ ^^ ^^^^^^ >module.exports : typeof module.exports @@ -239,9 +239,9 @@ Object.defineProperty(module.exports.f, "self", { value: module.exports.f }); */ function g(a, b) { >g : (a: { x: string; }, b: { y: () => void; }) => void -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^ ^^^^^^^^^ >a : { x: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : { y: () => void; } > : ^^^^^^^^^^^^^^^^^^ @@ -251,7 +251,7 @@ function g(a, b) { >a.x : string > : ^^^^^^ >a : { x: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : string > : ^^^^^^ >b.y() : void @@ -267,11 +267,11 @@ Object.defineProperty(module.exports, "g", { value: g }); >Object.defineProperty(module.exports, "g", { value: g }) : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >module.exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >module : { exports: typeof module.exports; } @@ -281,11 +281,11 @@ Object.defineProperty(module.exports, "g", { value: g }); >"g" : "g" > : ^^^ >{ value: g } : { value: (a: { x: string; }, b: { y: () => void; }) => void; } -> : ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^^^^^^^^^^^ >value : (a: { x: string; }, b: { y: () => void; }) => void -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^ ^^^^^^^^^ >g : (a: { x: string; }, b: { y: () => void; }) => void -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^ ^^^^^^^^^ /** @@ -294,9 +294,9 @@ Object.defineProperty(module.exports, "g", { value: g }); */ function hh(a, b) { >hh : (a: { x: string; }, b: { y: () => void; }) => void -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^ ^^^^^^^^^ >a : { x: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : { y: () => void; } > : ^^^^^^^^^^^^^^^^^^ @@ -306,7 +306,7 @@ function hh(a, b) { >a.x : string > : ^^^^^^ >a : { x: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : string > : ^^^^^^ >b.y() : void @@ -322,11 +322,11 @@ Object.defineProperty(module.exports, "h", { value: hh }); >Object.defineProperty(module.exports, "h", { value: hh }) : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >module.exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >module : { exports: typeof module.exports; } @@ -336,21 +336,21 @@ Object.defineProperty(module.exports, "h", { value: hh }); >"h" : "h" > : ^^^ >{ value: hh } : { value: (a: { x: string; }, b: { y: () => void; }) => void; } -> : ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ ^^^^^^^^^^^^ >value : (a: { x: string; }, b: { y: () => void; }) => void -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^ ^^^^^^^^^ >hh : (a: { x: string; }, b: { y: () => void; }) => void -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^ ^^^^^^^^^ Object.defineProperty(module.exports, "i", { value: function i(){} }); >Object.defineProperty(module.exports, "i", { value: function i(){} }) : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >module.exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >module : { exports: typeof module.exports; } @@ -372,11 +372,11 @@ Object.defineProperty(module.exports, "ii", { value: module.exports.i }); >Object.defineProperty(module.exports, "ii", { value: module.exports.i }) : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >module.exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >module : { exports: typeof module.exports; } @@ -405,11 +405,11 @@ Object.defineProperty(module.exports, "jj", { value: module.exports.j }); >Object.defineProperty(module.exports, "jj", { value: module.exports.j }) : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >module.exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >module : { exports: typeof module.exports; } @@ -437,11 +437,11 @@ Object.defineProperty(module.exports, "j", { value: function j() {} }); >Object.defineProperty(module.exports, "j", { value: function j() {} }) : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >module.exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >module : { exports: typeof module.exports; } diff --git a/tests/baselines/reference/jsDeclarationsExportDoubleAssignmentInClosure.types b/tests/baselines/reference/jsDeclarationsExportDoubleAssignmentInClosure.types index ba280e2272d1d..967819f0e1541 100644 --- a/tests/baselines/reference/jsDeclarationsExportDoubleAssignmentInClosure.types +++ b/tests/baselines/reference/jsDeclarationsExportDoubleAssignmentInClosure.types @@ -23,7 +23,7 @@ function foo() { >o : any return (o == null) ? create(base) : defineProperties(Object(o), descriptors); ->(o == null) ? create(base) : defineProperties(Object(o), descriptors) : any +>(o == null) ? create(base) : defineProperties(Object(o), descriptors) : error >(o == null) : boolean > : ^^^^^^^ >o == null : boolean diff --git a/tests/baselines/reference/jsDeclarationsFunctionClassesCjsExportAssignment.types b/tests/baselines/reference/jsDeclarationsFunctionClassesCjsExportAssignment.types index 01fc6799f2f44..5d57ae5bdaf02 100644 --- a/tests/baselines/reference/jsDeclarationsFunctionClassesCjsExportAssignment.types +++ b/tests/baselines/reference/jsDeclarationsFunctionClassesCjsExportAssignment.types @@ -132,17 +132,17 @@ function Context(input) { > : ^^^^^ >this.state : any >this : this & { construct(input: Input, handle?: HookHandler | undefined): State; } -> : ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^^ >state : any > : ^^^ >this.construct(input) : State > : ^^^^^ >this.construct : (input: Input, handle?: HookHandler | undefined) => State -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ >this : this & { construct(input: Input, handle?: HookHandler | undefined): State; } -> : ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^^ >construct : (input: Input, handle?: HookHandler | undefined) => State -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^ >input : Input > : ^^^^^ } @@ -154,7 +154,7 @@ Context.prototype = { >Context : typeof Context > : ^^^^^^^^^^^^^^ >prototype : { construct(input: Input, handle?: HookHandler | undefined): State; } -> : ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^^ >{ /** * @param {Input} input * @param {HookHandler=} handle * @returns {State} */ construct(input, handle = () => void 0) { return input; }} : { construct(input: Input, handle?: HookHandler | undefined): State; } > : ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^^ @@ -184,13 +184,13 @@ Context.prototype = { } module.exports = Context; >module.exports = Context : { (input: Input): Context; new (input: Input): Context; prototype: { construct(input: Input, handle?: HookHandler | undefined): State; }; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^^^^^ >module.exports : { (input: Input): Context; new (input: Input): Context; prototype: { construct(input: Input, handle?: HookHandler | undefined): State; }; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^^^^^ >module : { exports: { (input: Input): Context; new (input: Input): Context; prototype: { construct(input: Input, handle?: HookHandler | undefined): State; }; }; } -> : ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ >exports : { (input: Input): Context; new (input: Input): Context; prototype: { construct(input: Input, handle?: HookHandler | undefined): State; }; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^ ^^^^^^ >Context : typeof Context > : ^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/jsDeclarationsFunctionLikeClasses.types b/tests/baselines/reference/jsDeclarationsFunctionLikeClasses.types index 5b49f19f16634..829a80b75be55 100644 --- a/tests/baselines/reference/jsDeclarationsFunctionLikeClasses.types +++ b/tests/baselines/reference/jsDeclarationsFunctionLikeClasses.types @@ -76,11 +76,11 @@ export function magnitude(p) { >Math.sqrt(p.x ** 2 + p.y ** 2) : number > : ^^^^^^ >Math.sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >p.x ** 2 + p.y ** 2 : number > : ^^^^^^ >p.x ** 2 : number diff --git a/tests/baselines/reference/jsDeclarationsFunctionLikeClasses2.types b/tests/baselines/reference/jsDeclarationsFunctionLikeClasses2.types index 2ec24b2c2fa90..ea120c2271da2 100644 --- a/tests/baselines/reference/jsDeclarationsFunctionLikeClasses2.types +++ b/tests/baselines/reference/jsDeclarationsFunctionLikeClasses2.types @@ -208,11 +208,11 @@ Vec.prototype = { >Math.sqrt(sum) : number > : ^^^^^^ >Math.sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Math : Math > : ^^^^ >sqrt : (x: number) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >sum : number > : ^^^^^^ } @@ -255,11 +255,11 @@ export function Point2D(x, y) { Vec.call(this, 2); >Vec.call(this, 2) : any >Vec.call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >Vec : typeof Vec > : ^^^^^^^^^^ >call : (this: Function, thisArg: any, ...argArray: any[]) => any -> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >this : this > : ^^^^ >2 : 2 diff --git a/tests/baselines/reference/jsDeclarationsFunctions.js b/tests/baselines/reference/jsDeclarationsFunctions.js index d8fe4ed52e2f6..a3676ec28ae4c 100644 --- a/tests/baselines/reference/jsDeclarationsFunctions.js +++ b/tests/baselines/reference/jsDeclarationsFunctions.js @@ -63,13 +63,14 @@ export function j() {} //// [index.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.jj = exports.ii = exports.h = exports.g = void 0; exports.a = a; exports.b = b; exports.c = c; exports.d = d; exports.e = e; exports.f = f; +exports.g = g; +exports.h = hh; exports.i = i; exports.ii = i; exports.j = j; @@ -164,7 +165,7 @@ declare class Cls { export function g(a: { x: string; }, b: { - y: typeof b; + y: typeof import(".").b; }): void; /** * @param {{x: string}} a @@ -173,6 +174,6 @@ export function g(a: { declare function hh(a: { x: string; }, b: { - y: typeof b; + y: typeof import(".").b; }): void; export { hh as h, i as ii, j as jj }; diff --git a/tests/baselines/reference/jsDeclarationsFunctions.types b/tests/baselines/reference/jsDeclarationsFunctions.types index f1d328f2aee5a..c007e64aa2969 100644 --- a/tests/baselines/reference/jsDeclarationsFunctions.types +++ b/tests/baselines/reference/jsDeclarationsFunctions.types @@ -98,11 +98,11 @@ f.self = f; */ function g(a, b) { >g : (a: { x: string; }, b: { y: typeof import("index").b; }) => void -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^ ^ ^^^^^^^^^ >a : { x: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : { y: typeof import("index").b; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ ^^^^ return a.x && b.y(); >a.x && b.y() : void @@ -110,7 +110,7 @@ function g(a, b) { >a.x : string > : ^^^^^^ >a : { x: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : string > : ^^^^^^ >b.y() : void @@ -118,14 +118,14 @@ function g(a, b) { >b.y : typeof import("index").b > : ^^^^^^^^^^^^^^^^^^^^^^^^ >b : { y: typeof import("index").b; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ ^^^^ >y : typeof import("index").b > : ^^^^^^^^^^^^^^^^^^^^^^^^ } export { g }; ->g : (a: { x: string; }, b: { y: typeof b; }) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +>g : (a: { x: string; }, b: { y: typeof import("index").b; }) => void +> : ^ ^^ ^^ ^^ ^^^^^^^ ^ ^^^^^^^^^ /** * @param {{x: string}} a @@ -133,11 +133,11 @@ export { g }; */ function hh(a, b) { >hh : (a: { x: string; }, b: { y: typeof import("index").b; }) => void -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^ ^ ^^^^^^^^^ >a : { x: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : { y: typeof import("index").b; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ ^^^^ return a.x && b.y(); >a.x && b.y() : void @@ -145,7 +145,7 @@ function hh(a, b) { >a.x : string > : ^^^^^^ >a : { x: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : string > : ^^^^^^ >b.y() : void @@ -153,16 +153,16 @@ function hh(a, b) { >b.y : typeof import("index").b > : ^^^^^^^^^^^^^^^^^^^^^^^^ >b : { y: typeof import("index").b; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ ^^^^ >y : typeof import("index").b > : ^^^^^^^^^^^^^^^^^^^^^^^^ } export { hh as h }; ->hh : (a: { x: string; }, b: { y: typeof b; }) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ ->h : (a: { x: string; }, b: { y: typeof b; }) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +>hh : (a: { x: string; }, b: { y: typeof import("index").b; }) => void +> : ^ ^^ ^^ ^^ ^^^^^^^ ^ ^^^^^^^^^ +>h : (a: { x: string; }, b: { y: typeof import("index").b; }) => void +> : ^ ^^ ^^ ^^ ^^^^^^^ ^ ^^^^^^^^^ export function i() {} >i : () => void diff --git a/tests/baselines/reference/jsDeclarationsFunctionsCjs.types b/tests/baselines/reference/jsDeclarationsFunctionsCjs.types index 44435ea14f528..250d00c1345c2 100644 --- a/tests/baselines/reference/jsDeclarationsFunctionsCjs.types +++ b/tests/baselines/reference/jsDeclarationsFunctionsCjs.types @@ -104,7 +104,7 @@ module.exports.d = function d(a, b) { return /** @type {*} */(null); } >module.exports.d = function d(a, b) { return /** @type {*} */(null); } : (a: number, b: number) => string > : ^ ^^ ^^ ^^ ^^^^^ >module.exports.d : (a: number, b: number) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >module.exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >module : { exports: typeof module.exports; } @@ -112,11 +112,11 @@ module.exports.d = function d(a, b) { return /** @type {*} */(null); } >exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >d : (a: number, b: number) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >function d(a, b) { return /** @type {*} */(null); } : (a: number, b: number) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >d : (a: number, b: number) => string -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a : number > : ^^^^^^ >b : number @@ -133,7 +133,7 @@ module.exports.e = function e(a, b) { return /** @type {*} */(null); } >module.exports.e = function e(a, b) { return /** @type {*} */(null); } : (a: T, b: U) => T & U > : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >module.exports.e : (a: T, b: U) => T & U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >module.exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >module : { exports: typeof module.exports; } @@ -141,11 +141,11 @@ module.exports.e = function e(a, b) { return /** @type {*} */(null); } >exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >e : (a: T, b: U) => T & U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >function e(a, b) { return /** @type {*} */(null); } : (a: T, b: U) => T & U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >e : (a: T, b: U) => T & U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >a : T > : ^ >b : U @@ -214,9 +214,9 @@ module.exports.f.self = module.exports.f; */ function g(a, b) { >g : (a: { x: string; }, b: { y: { (): void; cat: string; }; }) => void -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ >a : { x: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : { y: { (): void; cat: string; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -226,7 +226,7 @@ function g(a, b) { >a.x : string > : ^^^^^^ >a : { x: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : string > : ^^^^^^ >b.y() : void @@ -241,9 +241,9 @@ function g(a, b) { module.exports.g = g; >module.exports.g = g : (a: { x: string; }, b: { y: { (): void; cat: string; }; }) => void -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ >module.exports.g : (a: { x: string; }, b: { y: { (): void; cat: string; }; }) => void -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ >module.exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >module : { exports: typeof module.exports; } @@ -251,9 +251,9 @@ module.exports.g = g; >exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >g : (a: { x: string; }, b: { y: { (): void; cat: string; }; }) => void -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ >g : (a: { x: string; }, b: { y: { (): void; cat: string; }; }) => void -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ /** * @param {{x: string}} a @@ -261,9 +261,9 @@ module.exports.g = g; */ function hh(a, b) { >hh : (a: { x: string; }, b: { y: { (): void; cat: string; }; }) => void -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ >a : { x: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >b : { y: { (): void; cat: string; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -273,7 +273,7 @@ function hh(a, b) { >a.x : string > : ^^^^^^ >a : { x: string; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : string > : ^^^^^^ >b.y() : void @@ -288,9 +288,9 @@ function hh(a, b) { module.exports.h = hh; >module.exports.h = hh : (a: { x: string; }, b: { y: { (): void; cat: string; }; }) => void -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ >module.exports.h : (a: { x: string; }, b: { y: { (): void; cat: string; }; }) => void -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ >module.exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >module : { exports: typeof module.exports; } @@ -298,9 +298,9 @@ module.exports.h = hh; >exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ >h : (a: { x: string; }, b: { y: { (): void; cat: string; }; }) => void -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ >hh : (a: { x: string; }, b: { y: { (): void; cat: string; }; }) => void -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ module.exports.i = function i() {} >module.exports.i = function i() {} : () => void diff --git a/tests/baselines/reference/jsDeclarationsGetterSetter.types b/tests/baselines/reference/jsDeclarationsGetterSetter.types index b8e57911a8817..4a6817beed614 100644 --- a/tests/baselines/reference/jsDeclarationsGetterSetter.types +++ b/tests/baselines/reference/jsDeclarationsGetterSetter.types @@ -58,11 +58,11 @@ Object.defineProperty(D.prototype, "x", { >Object.defineProperty(D.prototype, "x", { get() { return 12; }}) : D > : ^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >D.prototype : D > : ^ >D : typeof D @@ -92,11 +92,11 @@ Object.defineProperty(E.prototype, "x", { >Object.defineProperty(E.prototype, "x", { /** * @param {number} _arg */ set(_arg) {}}) : E > : ^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >E.prototype : E > : ^ >E : typeof E @@ -127,11 +127,11 @@ Object.defineProperty(F.prototype, "x", { >Object.defineProperty(F.prototype, "x", { get() { return 12; }, /** * @param {number} _arg */ set(_arg) {}}) : F > : ^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >F.prototype : F > : ^ >F : typeof F @@ -171,11 +171,11 @@ Object.defineProperty(G.prototype, "x", { >Object.defineProperty(G.prototype, "x", { /** * @param {number[]} args */ set(...args) {}}) : G > : ^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >G.prototype : G > : ^ >G : typeof G @@ -206,11 +206,11 @@ Object.defineProperty(H.prototype, "x", { >Object.defineProperty(H.prototype, "x", { set() {}}) : H > : ^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >H.prototype : H > : ^ >H : typeof H @@ -237,11 +237,11 @@ Object.defineProperty(I.prototype, "x", { >Object.defineProperty(I.prototype, "x", { /** * @param {number} v */ set: (v) => {}}) : I > : ^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >I.prototype : I > : ^ >I : typeof I @@ -285,11 +285,11 @@ Object.defineProperty(J.prototype, "x", { >Object.defineProperty(J.prototype, "x", { set: jSetter}) : J > : ^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >J.prototype : J > : ^ >J : typeof J @@ -339,11 +339,11 @@ Object.defineProperty(K.prototype, "x", { >Object.defineProperty(K.prototype, "x", { set: Math.random() ? kSetter1 : kSetter2}) : K > : ^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >K.prototype : K > : ^ >K : typeof K @@ -363,11 +363,11 @@ Object.defineProperty(K.prototype, "x", { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >kSetter1 : (v: number) => void > : ^ ^^ ^^^^^^^^^ >kSetter2 : (v: number) => void @@ -405,11 +405,11 @@ Object.defineProperty(L.prototype, "x", { >Object.defineProperty(L.prototype, "x", { set: Math.random() ? lSetter1 : lSetter2}) : L > : ^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >L.prototype : L > : ^ >L : typeof L @@ -429,11 +429,11 @@ Object.defineProperty(L.prototype, "x", { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >lSetter1 : (v: number) => void > : ^ ^^ ^^^^^^^^^ >lSetter2 : (v: string) => void @@ -471,11 +471,11 @@ Object.defineProperty(M.prototype, "x", { >Object.defineProperty(M.prototype, "x", { set: Math.random() ? mSetter1 : mSetter2}) : M > : ^ >Object.defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >defineProperty : (o: T, p: PropertyKey, attributes: PropertyDescriptor & ThisType) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >M.prototype : M > : ^ >M : typeof M @@ -495,11 +495,11 @@ Object.defineProperty(M.prototype, "x", { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >mSetter1 : (v: number | boolean) => void > : ^ ^^ ^^^^^^^^^ >mSetter2 : (v: string | boolean) => void diff --git a/tests/baselines/reference/jsDeclarationsImportAliasExposedWithinNamespace.types b/tests/baselines/reference/jsDeclarationsImportAliasExposedWithinNamespace.types index 2973791a8506b..17d640084a106 100644 --- a/tests/baselines/reference/jsDeclarationsImportAliasExposedWithinNamespace.types +++ b/tests/baselines/reference/jsDeclarationsImportAliasExposedWithinNamespace.types @@ -86,8 +86,8 @@ function testFn(input) { } export {testFn, testFnTypes}; ->testFn : (input: testFnTypes.input) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>testFn : (input: testFnTypes.input) => number | null +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ >testFnTypes : { [x: string]: any; } > : ^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/jsDeclarationsImportAliasExposedWithinNamespaceCjs.types b/tests/baselines/reference/jsDeclarationsImportAliasExposedWithinNamespaceCjs.types index d4dc499e2b4a0..f7fc712452b07 100644 --- a/tests/baselines/reference/jsDeclarationsImportAliasExposedWithinNamespaceCjs.types +++ b/tests/baselines/reference/jsDeclarationsImportAliasExposedWithinNamespaceCjs.types @@ -70,10 +70,10 @@ module.exports = {testFn, testFnTypes}; > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >exports : typeof module.exports > : ^^^^^^^^^^^^^^^^^^^^^ ->{testFn, testFnTypes} : { testFn: (input: testFnTypes.input) => number; testFnTypes: { [x: string]: any; }; } -> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->testFn : (input: testFnTypes.input) => number -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{testFn, testFnTypes} : { testFn: (input: testFnTypes.input) => number | null; testFnTypes: { [x: string]: any; }; } +> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>testFn : (input: testFnTypes.input) => number | null +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ >testFnTypes : { [x: string]: any; } > : ^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/jsDeclarationsImportTypeBundled.types b/tests/baselines/reference/jsDeclarationsImportTypeBundled.types index f0285f68e0262..996ab29fef56d 100644 --- a/tests/baselines/reference/jsDeclarationsImportTypeBundled.types +++ b/tests/baselines/reference/jsDeclarationsImportTypeBundled.types @@ -19,13 +19,13 @@ const x = {x: 12}; module.exports = x; >module.exports = x : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >module.exports : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >module : { exports: { x: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^ >exports : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : Item > : ^^^^ diff --git a/tests/baselines/reference/jsDeclarationsInterfaces.js b/tests/baselines/reference/jsDeclarationsInterfaces.js index 707b8eac1aee9..c2c2086e74d44 100644 --- a/tests/baselines/reference/jsDeclarationsInterfaces.js +++ b/tests/baselines/reference/jsDeclarationsInterfaces.js @@ -137,16 +137,16 @@ export interface B { export interface C { new (): string; new (x: T): U; - new (x: Q_3): T & Q_3; + new (x: Q): T & Q; (): number; (x: T): U; - (x: Q_2): T & Q_2; + (x: Q): T & Q; field: T & U; optionalField?: T; readonly readonlyField: T & U; readonly readonlyOptionalField?: U; method(): number; - method(a: T & Q_1): Q_1 & number; + method(a: T & Q): Q & number; method(a?: number): number; method(...args: any[]): number; optMethod?(): number; diff --git a/tests/baselines/reference/jsDeclarationsInterfaces.types b/tests/baselines/reference/jsDeclarationsInterfaces.types index e3ca274c7120d..48c74df293ee2 100644 --- a/tests/baselines/reference/jsDeclarationsInterfaces.types +++ b/tests/baselines/reference/jsDeclarationsInterfaces.types @@ -49,23 +49,23 @@ export interface C { method(): number; >method : { (): number; (a: T & Q_1): Q_1 & number; (a?: number): number; (...args: any[]): number; } -> : ^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ method(a: T & Q): Q & number; >method : { (): number; (a: T & Q): Q & number; (a?: number): number; (...args: any[]): number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ >a : T & Q > : ^^^^^ method(a?: number): number; ->method : { (): number; (a: T & Q_1): Q_1 & number; (a?: number): number; (...args: any[]): number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +>method : { (): number; (a: T & Q): Q & number; (a?: number): number; (...args: any[]): number; } +> : ^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ >a : number > : ^^^^^^ method(...args: any[]): number; ->method : { (): number; (a: T & Q_1): Q_1 & number; (a?: number): number; (...args: any[]): number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>method : { (): number; (a: T & Q): Q & number; (a?: number): number; (...args: any[]): number; } +> : ^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^^^^^ ^^ ^^^ ^^^ >args : any[] > : ^^^^^ diff --git a/tests/baselines/reference/jsDeclarationsJSDocRedirectedLookups.types b/tests/baselines/reference/jsDeclarationsJSDocRedirectedLookups.types index 3d3dcfdfda2ad..696688eb1ec20 100644 --- a/tests/baselines/reference/jsDeclarationsJSDocRedirectedLookups.types +++ b/tests/baselines/reference/jsDeclarationsJSDocRedirectedLookups.types @@ -67,12 +67,12 @@ > : ^^^^^^^^^^^^ >Promise.resolve(0) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/jsDeclarationsMissingTypeParameters.types b/tests/baselines/reference/jsDeclarationsMissingTypeParameters.types index 454a683c9ab2f..3e10f81abd6b2 100644 --- a/tests/baselines/reference/jsDeclarationsMissingTypeParameters.types +++ b/tests/baselines/reference/jsDeclarationsMissingTypeParameters.types @@ -6,7 +6,7 @@ */ function x(y) { } >x : (y?: any[] | undefined) => void -> : ^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >y : any[] > : ^^^^^ @@ -15,7 +15,7 @@ function x(y) { } */ function y(func) { return; } >y : (func: (arg0: any[]) => any) => void -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ >func : (arg0: any[]) => any > : ^^^^^^^^^^^^^^^^^^^^ @@ -24,7 +24,7 @@ function y(func) { return; } */ function z() { return null ;} >z : () => (any[] | null) -> : ^^^^^^ ^^^ +> : ^^^^^^ ^^^^^ /** * @@ -32,5 +32,5 @@ function z() { return null ;} */ function w() { return null; } >w : () => Promise | null -> : ^^^^^^^^^^^^^ ^^^ ^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/jsDeclarationsNestedParams.types b/tests/baselines/reference/jsDeclarationsNestedParams.types index 6b25fa4d0d7f1..c2a5dc6faff58 100644 --- a/tests/baselines/reference/jsDeclarationsNestedParams.types +++ b/tests/baselines/reference/jsDeclarationsNestedParams.types @@ -39,7 +39,7 @@ class Y { > : ^ ^^^ ^^ ^^^^^^^^ ^^^ ^^ ^^^^^^^^ ^^ ^^^^^^^^ ^^^^^^^^ ^^^ >reason : string > : ^^^^^^ ->suberr : { reason: string; code: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>suberr : { reason: string | null; code: string | null; } +> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^ } diff --git a/tests/baselines/reference/jsDeclarationsParameterTagReusesInputNodeInEmit1.types b/tests/baselines/reference/jsDeclarationsParameterTagReusesInputNodeInEmit1.types index 1be8f72148830..b697f7df055a0 100644 --- a/tests/baselines/reference/jsDeclarationsParameterTagReusesInputNodeInEmit1.types +++ b/tests/baselines/reference/jsDeclarationsParameterTagReusesInputNodeInEmit1.types @@ -65,10 +65,10 @@ const couldntThinkOfAny = {} * @returns {InstanceType} */ const test = (base) => { ->test : (base: InstanceType) => Base -> : ^ ^^ ^^^^^^^^^ ->(base) => { return base;} : (base: InstanceType) => Base -> : ^ ^^ ^^^^^^^^^ +>test : (base: InstanceType) => InstanceType +> : ^ ^^ ^^^^^ +>(base) => { return base;} : (base: InstanceType) => InstanceType +> : ^ ^^ ^^^^^ >base : Base > : ^^^^ diff --git a/tests/baselines/reference/jsDeclarationsParameterTagReusesInputNodeInEmit2.types b/tests/baselines/reference/jsDeclarationsParameterTagReusesInputNodeInEmit2.types index 9d4beac587a89..2a83739f0bef7 100644 --- a/tests/baselines/reference/jsDeclarationsParameterTagReusesInputNodeInEmit2.types +++ b/tests/baselines/reference/jsDeclarationsParameterTagReusesInputNodeInEmit2.types @@ -55,10 +55,10 @@ module.exports = BaseFactory; * @returns {InstanceType} */ const test = (base) => { ->test : (base: InstanceType) => Base -> : ^ ^^ ^^^^^^^^^ ->(base) => { return base;} : (base: InstanceType) => Base -> : ^ ^^ ^^^^^^^^^ +>test : (base: InstanceType) => InstanceType +> : ^ ^^ ^^^^^ +>(base) => { return base;} : (base: InstanceType) => InstanceType +> : ^ ^^ ^^^^^ >base : Base > : ^^^^ diff --git a/tests/baselines/reference/jsDeclarationsPrivateFields01.types b/tests/baselines/reference/jsDeclarationsPrivateFields01.types index df0b52bdc915f..6bae529a250e1 100644 --- a/tests/baselines/reference/jsDeclarationsPrivateFields01.types +++ b/tests/baselines/reference/jsDeclarationsPrivateFields01.types @@ -36,13 +36,13 @@ export class C { >this.#hello.toUpperCase() : string > : ^^^^^^ >this.#hello.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this.#hello : string > : ^^^^^^ >this : this > : ^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } /** @param value {string} */ set #screamingHello(value) { diff --git a/tests/baselines/reference/jsDeclarationsReactComponents.types b/tests/baselines/reference/jsDeclarationsReactComponents.types index 3035d9c2bf356..ead47f32a6163 100644 --- a/tests/baselines/reference/jsDeclarationsReactComponents.types +++ b/tests/baselines/reference/jsDeclarationsReactComponents.types @@ -154,9 +154,9 @@ import React from "react"; */ const TabbedShowLayout = () => { >TabbedShowLayout : { defaultProps: { tabs: string; }; } & ((props?: { elem: string; }) => JSX.Element) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^ ^ >() => { return (

    (a: P & {}) => { function test1>(obj: T) { >test1 : >(obj: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >obj : T > : ^ @@ -1714,11 +1714,11 @@ function test1>(obj: T) { >Array.isArray(obj) : boolean > : ^^^^^^^ >Array.isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >obj : any[] | Record > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'length' in obj : boolean @@ -1741,7 +1741,7 @@ function test1>(obj: T) { function test2>(obj: T) { >test2 : >(obj: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >obj : T > : ^ @@ -1749,11 +1749,11 @@ function test2>(obj: T) { >Array.isArray(obj) : boolean > : ^^^^^^^ >Array.isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >obj : any[] | Record > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -1770,7 +1770,7 @@ function test2>(obj: T) { function test3>(obj: T) { >test3 : >(obj: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >obj : T > : ^ diff --git a/tests/baselines/reference/incompatibleTypes.types b/tests/baselines/reference/incompatibleTypes.types index 8d8489b31b811..88c180f1d1637 100644 --- a/tests/baselines/reference/incompatibleTypes.types +++ b/tests/baselines/reference/incompatibleTypes.types @@ -89,19 +89,19 @@ class C4 implements IFoo4 { // incompatible on the property type function if1(i: IFoo1): void; >if1 : { (i: IFoo1): void; (i: IFoo2): void; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >i : IFoo1 > : ^^^^^ function if1(i: IFoo2): void; >if1 : { (i: IFoo1): void; (i: IFoo2): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >i : IFoo2 > : ^^^^^ function if1(a: any) { } >if1 : { (i: IFoo1): void; (i: IFoo2): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any > : ^^^ @@ -117,14 +117,14 @@ if1(c1); >if1(c1) : void > : ^^^^ >if1 : { (i: IFoo1): void; (i: IFoo2): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >c1 : C1 > : ^^ function of1(n: { a: { a: string; }; b: string; }): number; >of1 : { (n: { a: { a: string; }; b: string; }): number; (s: { c: { b: string; }; d: string; }): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : { a: { a: string; }; b: string; } > : ^^^^^ ^^^^^ ^^^ >a : { a: string; } @@ -136,7 +136,7 @@ function of1(n: { a: { a: string; }; b: string; }): number; function of1(s: { c: { b: string; }; d: string; }): string; >of1 : { (n: { a: { a: string; }; b: string; }): number; (s: { c: { b: string; }; d: string; }): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : { c: { b: string; }; d: string; } > : ^^^^^ ^^^^^ ^^^ >c : { b: string; } @@ -148,7 +148,7 @@ function of1(s: { c: { b: string; }; d: string; }): string; function of1(a: any) { return null; } >of1 : { (n: { a: { a: string; }; b: string; }): number; (s: { c: { b: string; }; d: string; }): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >a : any > : ^^^ @@ -156,7 +156,7 @@ of1({ e: 0, f: 0 }); >of1({ e: 0, f: 0 }) : never > : ^^^^^ >of1 : { (n: { a: { a: string; }; b: string; }): number; (s: { c: { b: string; }; d: string; }): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >{ e: 0, f: 0 } : { e: number; f: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >e : number diff --git a/tests/baselines/reference/incorrectClassOverloadChain.types b/tests/baselines/reference/incorrectClassOverloadChain.types index 9f043d40dd038..110d18b6e9453 100644 --- a/tests/baselines/reference/incorrectClassOverloadChain.types +++ b/tests/baselines/reference/incorrectClassOverloadChain.types @@ -7,11 +7,11 @@ class C { foo(): string; >foo : { (): string; (x: any): number; } -> : ^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^^^^ ^^^ foo(x): number; >foo : { (): string; (x: any): number; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ +> : ^^^^^^ ^^^ ^^^^^^^^ ^^^ >x : any > : ^^^ diff --git a/tests/baselines/reference/incorrectNumberOfTypeArgumentsDuringErrorReporting.types b/tests/baselines/reference/incorrectNumberOfTypeArgumentsDuringErrorReporting.types index d201ec240024c..22ad927669c38 100644 --- a/tests/baselines/reference/incorrectNumberOfTypeArgumentsDuringErrorReporting.types +++ b/tests/baselines/reference/incorrectNumberOfTypeArgumentsDuringErrorReporting.types @@ -19,9 +19,9 @@ interface Opts {a:A, b:B} const fn = < >fn : (opts: Opts) => string -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^ >< A extends ObjA, B extends ObjB = ObjB>(opts:Opts):string => 'Z' : (opts: Opts) => string -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^ A extends ObjA, B extends ObjB = ObjB @@ -41,7 +41,7 @@ fn({ >fn({ a: {x: 'X', y: 'Y'}, b: {},}) : string > : ^^^^^^ >fn : (opts: Opts) => string -> : ^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^^^^ ^^ ^^^^^ >{ a: {x: 'X', y: 'Y'}, b: {},} : { a: { x: string; y: string; }; b: {}; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/incorrectRecursiveMappedTypeConstraint.types b/tests/baselines/reference/incorrectRecursiveMappedTypeConstraint.types index 4edcac53cb2d0..4a0c8c2e46ab6 100644 --- a/tests/baselines/reference/incorrectRecursiveMappedTypeConstraint.types +++ b/tests/baselines/reference/incorrectRecursiveMappedTypeConstraint.types @@ -4,7 +4,7 @@ // #17847 function sum(n: number, v: T, k: K) { >sum : (n: number, v: T, k: K) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >n : number > : ^^^^^^ >v : T diff --git a/tests/baselines/reference/incrementOperatorWithAnyOtherTypeInvalidOperations.types b/tests/baselines/reference/incrementOperatorWithAnyOtherTypeInvalidOperations.types index 4ac1fee0107bd..03e41340c7ee1 100644 --- a/tests/baselines/reference/incrementOperatorWithAnyOtherTypeInvalidOperations.types +++ b/tests/baselines/reference/incrementOperatorWithAnyOtherTypeInvalidOperations.types @@ -114,7 +114,7 @@ var ResultIsNumber4 = ++obj; >++obj : number > : ^^^^^^ >obj : () => {} -> : ^^^^^^^^ +> : ^^^^^^ var ResultIsNumber5 = ++obj1; >ResultIsNumber5 : number @@ -154,7 +154,7 @@ var ResultIsNumber9 = obj++; >obj++ : number > : ^^^^^^ >obj : () => {} -> : ^^^^^^^^ +> : ^^^^^^ var ResultIsNumber10 = obj1++; >ResultIsNumber10 : number @@ -218,7 +218,7 @@ var ResultIsNumber17 = ++foo(); >foo() : any > : ^^^ >foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber18 = ++A.foo(); >ResultIsNumber18 : number @@ -228,11 +228,11 @@ var ResultIsNumber18 = ++A.foo(); >A.foo() : any > : ^^^ >A.foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ >A : typeof A > : ^^^^^^^^ >foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber19 = ++(null + undefined); >ResultIsNumber19 : number @@ -302,7 +302,7 @@ var ResultIsNumber24 = foo()++; >foo() : any > : ^^^ >foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber25 = A.foo()++; >ResultIsNumber25 : number @@ -312,11 +312,11 @@ var ResultIsNumber25 = A.foo()++; >A.foo() : any > : ^^^ >A.foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ >A : typeof A > : ^^^^^^^^ >foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber26 = (null + undefined)++; >ResultIsNumber26 : number diff --git a/tests/baselines/reference/incrementOperatorWithNumberTypeInvalidOperations.types b/tests/baselines/reference/incrementOperatorWithNumberTypeInvalidOperations.types index 834dd2b72efae..299a8e780b006 100644 --- a/tests/baselines/reference/incrementOperatorWithNumberTypeInvalidOperations.types +++ b/tests/baselines/reference/incrementOperatorWithNumberTypeInvalidOperations.types @@ -168,7 +168,7 @@ var ResultIsNumber9 = ++foo(); >foo() : number > : ^^^^^^ >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber10 = ++A.foo(); >ResultIsNumber10 : number @@ -206,7 +206,7 @@ var ResultIsNumber12 = foo()++; >foo() : number > : ^^^^^^ >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber13 = A.foo()++; >ResultIsNumber13 : number @@ -255,7 +255,7 @@ var ResultIsNumber14 = (NUMBER + NUMBER)++; >foo() : number > : ^^^^^^ >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ 1++; >1++ : number @@ -275,5 +275,5 @@ foo()++; >foo() : number > : ^^^^^^ >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/incrementOperatorWithUnsupportedBooleanType.types b/tests/baselines/reference/incrementOperatorWithUnsupportedBooleanType.types index ce89db4738e76..dddb7b2114d85 100644 --- a/tests/baselines/reference/incrementOperatorWithUnsupportedBooleanType.types +++ b/tests/baselines/reference/incrementOperatorWithUnsupportedBooleanType.types @@ -182,7 +182,7 @@ var ResultIsNumber11 = ++foo(); >foo() : boolean > : ^^^^^^^ >foo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber12 = ++A.foo(); >ResultIsNumber12 : number @@ -206,7 +206,7 @@ var ResultIsNumber13 = foo()++; >foo() : boolean > : ^^^^^^^ >foo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber14 = A.foo()++; >ResultIsNumber14 : number @@ -265,7 +265,7 @@ var ResultIsNumber16 = M.n++; >foo() : boolean > : ^^^^^^^ >foo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ ++objA.a; >++objA.a : number @@ -323,7 +323,7 @@ foo()++; >foo() : boolean > : ^^^^^^^ >foo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ objA.a++; >objA.a++ : number diff --git a/tests/baselines/reference/incrementOperatorWithUnsupportedStringType.types b/tests/baselines/reference/incrementOperatorWithUnsupportedStringType.types index 42c9a6c4e97a7..c5396240487f1 100644 --- a/tests/baselines/reference/incrementOperatorWithUnsupportedStringType.types +++ b/tests/baselines/reference/incrementOperatorWithUnsupportedStringType.types @@ -220,7 +220,7 @@ var ResultIsNumber14 = ++foo(); >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber15 = ++A.foo(); >ResultIsNumber15 : number @@ -294,7 +294,7 @@ var ResultIsNumber20 = foo()++; >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber21 = A.foo()++; >ResultIsNumber21 : number @@ -359,7 +359,7 @@ var ResultIsNumber22 = (STRING + STRING)++; >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ ++objA.a; >++objA.a : number @@ -433,7 +433,7 @@ foo()++; >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ objA.a++; >objA.a++ : number diff --git a/tests/baselines/reference/independentPropertyVariance.types b/tests/baselines/reference/independentPropertyVariance.types index 49b3d81626b54..4d846fdc12ec6 100644 --- a/tests/baselines/reference/independentPropertyVariance.types +++ b/tests/baselines/reference/independentPropertyVariance.types @@ -23,7 +23,7 @@ x === y; >x === y : boolean > : ^^^^^^^ >x : { a: 1; b: string; } -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >y : { a: number; b: "a"; } -> : ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ diff --git a/tests/baselines/reference/indexAt(target=es2022).types b/tests/baselines/reference/indexAt(target=es2022).types index 3477b84eec342..d9ed90c20579c 100644 --- a/tests/baselines/reference/indexAt(target=es2022).types +++ b/tests/baselines/reference/indexAt(target=es2022).types @@ -4,180 +4,180 @@ [0].at(0); >[0].at(0) : number > : ^^^^^^ ->[0].at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>[0].at : (index: number) => number | undefined +> : ^ ^^ ^^^^^^^^^^^ >[0] : number[] > : ^^^^^^^^ >0 : 0 > : ^ ->at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>at : (index: number) => number | undefined +> : ^ ^^ ^^^^^^^^^^^ >0 : 0 > : ^ "foo".at(0); >"foo".at(0) : string > : ^^^^^^ ->"foo".at : (index: number) => string -> : ^ ^^ ^^^^^^^^^^^ +>"foo".at : (index: number) => string | undefined +> : ^ ^^ ^^^^^ >"foo" : "foo" > : ^^^^^ ->at : (index: number) => string -> : ^ ^^ ^^^^^^^^^^^ +>at : (index: number) => string | undefined +> : ^ ^^ ^^^^^ >0 : 0 > : ^ new Int8Array().at(0); >new Int8Array().at(0) : number > : ^^^^^^ ->new Int8Array().at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>new Int8Array().at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >new Int8Array() : Int8Array > : ^^^^^^^^^ >Int8Array : Int8ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^ ->at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >0 : 0 > : ^ new Uint8Array().at(0); >new Uint8Array().at(0) : number > : ^^^^^^ ->new Uint8Array().at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>new Uint8Array().at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >new Uint8Array() : Uint8Array > : ^^^^^^^^^^ >Uint8Array : Uint8ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ ->at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >0 : 0 > : ^ new Uint8ClampedArray().at(0); >new Uint8ClampedArray().at(0) : number > : ^^^^^^ ->new Uint8ClampedArray().at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>new Uint8ClampedArray().at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >new Uint8ClampedArray() : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >Uint8ClampedArray : Uint8ClampedArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >0 : 0 > : ^ new Int16Array().at(0); >new Int16Array().at(0) : number > : ^^^^^^ ->new Int16Array().at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>new Int16Array().at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >new Int16Array() : Int16Array > : ^^^^^^^^^^ >Int16Array : Int16ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ ->at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >0 : 0 > : ^ new Uint16Array().at(0); >new Uint16Array().at(0) : number > : ^^^^^^ ->new Uint16Array().at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>new Uint16Array().at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >new Uint16Array() : Uint16Array > : ^^^^^^^^^^^ >Uint16Array : Uint16ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^ ->at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >0 : 0 > : ^ new Int32Array().at(0); >new Int32Array().at(0) : number > : ^^^^^^ ->new Int32Array().at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>new Int32Array().at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >new Int32Array() : Int32Array > : ^^^^^^^^^^ >Int32Array : Int32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ ->at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >0 : 0 > : ^ new Uint32Array().at(0); >new Uint32Array().at(0) : number > : ^^^^^^ ->new Uint32Array().at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>new Uint32Array().at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >new Uint32Array() : Uint32Array > : ^^^^^^^^^^^ >Uint32Array : Uint32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^ ->at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >0 : 0 > : ^ new Float32Array().at(0); >new Float32Array().at(0) : number > : ^^^^^^ ->new Float32Array().at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>new Float32Array().at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >new Float32Array() : Float32Array > : ^^^^^^^^^^^^ >Float32Array : Float32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^ ->at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >0 : 0 > : ^ new Float64Array().at(0); >new Float64Array().at(0) : number > : ^^^^^^ ->new Float64Array().at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>new Float64Array().at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >new Float64Array() : Float64Array > : ^^^^^^^^^^^^ >Float64Array : Float64ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^ ->at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >0 : 0 > : ^ new BigInt64Array().at(0); >new BigInt64Array().at(0) : bigint > : ^^^^^^ ->new BigInt64Array().at : (index: number) => bigint -> : ^ ^^ ^^^^^^^^^^^ +>new BigInt64Array().at : (index: number) => bigint | undefined +> : ^ ^^ ^^^^^ >new BigInt64Array() : BigInt64Array > : ^^^^^^^^^^^^^ >BigInt64Array : BigInt64ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^ ->at : (index: number) => bigint -> : ^ ^^ ^^^^^^^^^^^ +>at : (index: number) => bigint | undefined +> : ^ ^^ ^^^^^ >0 : 0 > : ^ new BigUint64Array().at(0); >new BigUint64Array().at(0) : bigint > : ^^^^^^ ->new BigUint64Array().at : (index: number) => bigint -> : ^ ^^ ^^^^^^^^^^^ +>new BigUint64Array().at : (index: number) => bigint | undefined +> : ^ ^^ ^^^^^ >new BigUint64Array() : BigUint64Array > : ^^^^^^^^^^^^^^ >BigUint64Array : BigUint64ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->at : (index: number) => bigint -> : ^ ^^ ^^^^^^^^^^^ +>at : (index: number) => bigint | undefined +> : ^ ^^ ^^^^^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/indexAt(target=esnext).types b/tests/baselines/reference/indexAt(target=esnext).types index 3477b84eec342..d9ed90c20579c 100644 --- a/tests/baselines/reference/indexAt(target=esnext).types +++ b/tests/baselines/reference/indexAt(target=esnext).types @@ -4,180 +4,180 @@ [0].at(0); >[0].at(0) : number > : ^^^^^^ ->[0].at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>[0].at : (index: number) => number | undefined +> : ^ ^^ ^^^^^^^^^^^ >[0] : number[] > : ^^^^^^^^ >0 : 0 > : ^ ->at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>at : (index: number) => number | undefined +> : ^ ^^ ^^^^^^^^^^^ >0 : 0 > : ^ "foo".at(0); >"foo".at(0) : string > : ^^^^^^ ->"foo".at : (index: number) => string -> : ^ ^^ ^^^^^^^^^^^ +>"foo".at : (index: number) => string | undefined +> : ^ ^^ ^^^^^ >"foo" : "foo" > : ^^^^^ ->at : (index: number) => string -> : ^ ^^ ^^^^^^^^^^^ +>at : (index: number) => string | undefined +> : ^ ^^ ^^^^^ >0 : 0 > : ^ new Int8Array().at(0); >new Int8Array().at(0) : number > : ^^^^^^ ->new Int8Array().at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>new Int8Array().at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >new Int8Array() : Int8Array > : ^^^^^^^^^ >Int8Array : Int8ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^ ->at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >0 : 0 > : ^ new Uint8Array().at(0); >new Uint8Array().at(0) : number > : ^^^^^^ ->new Uint8Array().at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>new Uint8Array().at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >new Uint8Array() : Uint8Array > : ^^^^^^^^^^ >Uint8Array : Uint8ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ ->at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >0 : 0 > : ^ new Uint8ClampedArray().at(0); >new Uint8ClampedArray().at(0) : number > : ^^^^^^ ->new Uint8ClampedArray().at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>new Uint8ClampedArray().at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >new Uint8ClampedArray() : Uint8ClampedArray > : ^^^^^^^^^^^^^^^^^ >Uint8ClampedArray : Uint8ClampedArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >0 : 0 > : ^ new Int16Array().at(0); >new Int16Array().at(0) : number > : ^^^^^^ ->new Int16Array().at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>new Int16Array().at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >new Int16Array() : Int16Array > : ^^^^^^^^^^ >Int16Array : Int16ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ ->at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >0 : 0 > : ^ new Uint16Array().at(0); >new Uint16Array().at(0) : number > : ^^^^^^ ->new Uint16Array().at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>new Uint16Array().at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >new Uint16Array() : Uint16Array > : ^^^^^^^^^^^ >Uint16Array : Uint16ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^ ->at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >0 : 0 > : ^ new Int32Array().at(0); >new Int32Array().at(0) : number > : ^^^^^^ ->new Int32Array().at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>new Int32Array().at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >new Int32Array() : Int32Array > : ^^^^^^^^^^ >Int32Array : Int32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^ ->at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >0 : 0 > : ^ new Uint32Array().at(0); >new Uint32Array().at(0) : number > : ^^^^^^ ->new Uint32Array().at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>new Uint32Array().at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >new Uint32Array() : Uint32Array > : ^^^^^^^^^^^ >Uint32Array : Uint32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^ ->at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >0 : 0 > : ^ new Float32Array().at(0); >new Float32Array().at(0) : number > : ^^^^^^ ->new Float32Array().at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>new Float32Array().at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >new Float32Array() : Float32Array > : ^^^^^^^^^^^^ >Float32Array : Float32ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^ ->at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >0 : 0 > : ^ new Float64Array().at(0); >new Float64Array().at(0) : number > : ^^^^^^ ->new Float64Array().at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>new Float64Array().at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >new Float64Array() : Float64Array > : ^^^^^^^^^^^^ >Float64Array : Float64ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^ ->at : (index: number) => number -> : ^ ^^ ^^^^^^^^^^^ +>at : (index: number) => number | undefined +> : ^ ^^ ^^^^^ >0 : 0 > : ^ new BigInt64Array().at(0); >new BigInt64Array().at(0) : bigint > : ^^^^^^ ->new BigInt64Array().at : (index: number) => bigint -> : ^ ^^ ^^^^^^^^^^^ +>new BigInt64Array().at : (index: number) => bigint | undefined +> : ^ ^^ ^^^^^ >new BigInt64Array() : BigInt64Array > : ^^^^^^^^^^^^^ >BigInt64Array : BigInt64ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^ ->at : (index: number) => bigint -> : ^ ^^ ^^^^^^^^^^^ +>at : (index: number) => bigint | undefined +> : ^ ^^ ^^^^^ >0 : 0 > : ^ new BigUint64Array().at(0); >new BigUint64Array().at(0) : bigint > : ^^^^^^ ->new BigUint64Array().at : (index: number) => bigint -> : ^ ^^ ^^^^^^^^^^^ +>new BigUint64Array().at : (index: number) => bigint | undefined +> : ^ ^^ ^^^^^ >new BigUint64Array() : BigUint64Array > : ^^^^^^^^^^^^^^ >BigUint64Array : BigUint64ArrayConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->at : (index: number) => bigint -> : ^ ^^ ^^^^^^^^^^^ +>at : (index: number) => bigint | undefined +> : ^ ^^ ^^^^^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/indexSignatureAndMappedType.types b/tests/baselines/reference/indexSignatureAndMappedType.types index 135538248fb97..2d2a82d3e2d8c 100644 --- a/tests/baselines/reference/indexSignatureAndMappedType.types +++ b/tests/baselines/reference/indexSignatureAndMappedType.types @@ -6,7 +6,7 @@ function f1(x: { [key: string]: T }, y: Record) { >f1 : (x: { [key: string]: T; }, y: Record) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : { [key: string]: T; } > : ^^^^^^^^^^^^^^^^^^^^^ >key : string @@ -60,7 +60,7 @@ function f2(x: { [key: string]: T }, y: Record) { function f3(x: { [key: string]: T }, y: Record) { >f3 : (x: { [key: string]: T; }, y: Record) => void -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >x : { [key: string]: T; } > : ^^^^^^^^^^^^^^^^^^^^^ >key : string diff --git a/tests/baselines/reference/indexSignatureOfTypeUnknownStillRequiresIndexSignature.types b/tests/baselines/reference/indexSignatureOfTypeUnknownStillRequiresIndexSignature.types index 942e7ef1939e6..c4bda1e353206 100644 --- a/tests/baselines/reference/indexSignatureOfTypeUnknownStillRequiresIndexSignature.types +++ b/tests/baselines/reference/indexSignatureOfTypeUnknownStillRequiresIndexSignature.types @@ -3,7 +3,7 @@ === indexSignatureOfTypeUnknownStillRequiresIndexSignature.ts === declare function f(x: { [x: string]: T }): T; >f : (x: { [x: string]: T; }) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^ >x : { [x: string]: T; } > : ^^^^^^^^^^^^^^^^^^^ >x : string @@ -57,7 +57,7 @@ f(stooges); // Should throw >f(stooges) : unknown > : ^^^^^^^ >f : (x: { [x: string]: T; }) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^ >stooges : { name: string; age: number; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/indexSignatureTypeInference.types b/tests/baselines/reference/indexSignatureTypeInference.types index 0c0216f0f7611..44c4297bbbdab 100644 --- a/tests/baselines/reference/indexSignatureTypeInference.types +++ b/tests/baselines/reference/indexSignatureTypeInference.types @@ -43,7 +43,7 @@ var v1 = numberMapToArray(numberMap); // Ok >numberMapToArray(numberMap) : Function[] > : ^^^^^^^^^^ >numberMapToArray : (object: NumberMap) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >numberMap : NumberMap > : ^^^^^^^^^^^^^^^^^^^ @@ -53,7 +53,7 @@ var v1 = numberMapToArray(stringMap); // Ok >numberMapToArray(stringMap) : Function[] > : ^^^^^^^^^^ >numberMapToArray : (object: NumberMap) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >stringMap : StringMap > : ^^^^^^^^^^^^^^^^^^^ @@ -63,7 +63,7 @@ var v1 = stringMapToArray(numberMap); // Error expected here >stringMapToArray(numberMap) : unknown[] > : ^^^^^^^^^ >stringMapToArray : (object: StringMap) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >numberMap : NumberMap > : ^^^^^^^^^^^^^^^^^^^ @@ -73,7 +73,7 @@ var v1 = stringMapToArray(stringMap); // Ok >stringMapToArray(stringMap) : Function[] > : ^^^^^^^^^^ >stringMapToArray : (object: StringMap) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >stringMap : StringMap > : ^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/indexSignatures1.types b/tests/baselines/reference/indexSignatures1.types index c4d108a16a92b..f33d4ebdf16eb 100644 --- a/tests/baselines/reference/indexSignatures1.types +++ b/tests/baselines/reference/indexSignatures1.types @@ -31,19 +31,19 @@ function gg3(x: { [key: string]: string }, y: { [key: symbol]: string }, z: { [s x = z; >x = z : { [sym]: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >x : { [key: string]: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >z : { [sym]: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ y = z; // Error >y = z : { [sym]: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >y : { [key: symbol]: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >z : { [sym]: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ } // Overlapping index signatures @@ -1247,7 +1247,7 @@ plugins[system][SomeSytePlugin] = () => console.log('awsome'); >plugins[system][SomeSytePlugin] = () => console.log('awsome') : () => void > : ^^^^^^^^^^ >plugins[system][SomeSytePlugin] : (...args: any) => unknown -> : ^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >plugins[system] : Plugs > : ^^^^^ >plugins : { user: Plugs; [system]: Plugs; } @@ -1261,11 +1261,11 @@ plugins[system][SomeSytePlugin] = () => console.log('awsome'); >console.log('awsome') : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >'awsome' : "awsome" > : ^^^^^^^^ @@ -1273,7 +1273,7 @@ plugins[system][SomeSytePlugin](); >plugins[system][SomeSytePlugin]() : unknown > : ^^^^^^^ >plugins[system][SomeSytePlugin] : (...args: any) => unknown -> : ^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >plugins[system] : Plugs > : ^^^^^ >plugins : { user: Plugs; [system]: Plugs; } @@ -1343,7 +1343,7 @@ let case1 = foo({ >foo({ [directive]: (x: string) => 'str', addOne: (x: number) => x + 1, double: (x: number) => x + x,}) : void > : ^^^^ >foo : (options: { [x in string]: (arg: TArg) => TRet; } & { [directive]?: TDir; }) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >{ [directive]: (x: string) => 'str', addOne: (x: number) => x + 1, double: (x: number) => x + x,} : { [directive]: (x: string) => "str"; addOne: (x: number) => number; double: (x: number) => number; } > : ^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ @@ -1395,7 +1395,7 @@ let case2 = foo({ >foo({ addOne: (x: number) => x + 1, double: (x: number) => x + x, [directive]: (x: string) => 'str',}) : void > : ^^^^ >foo : (options: { [x in string]: (arg: TArg) => TRet; } & { [directive]?: TDir; }) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >{ addOne: (x: number) => x + 1, double: (x: number) => x + x, [directive]: (x: string) => 'str',} : { addOne: (x: number) => number; double: (x: number) => number; [directive]: (x: string) => "str"; } > : ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ @@ -1447,7 +1447,7 @@ let case3 = foo({ >foo({ [directive]: 'str', addOne: (x: number) => x + 1, double: (x: number) => x + x,}) : void > : ^^^^ >foo : (options: { [x in string]: (arg: TArg) => TRet; } & { [directive]?: TDir; }) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >{ [directive]: 'str', addOne: (x: number) => x + 1, double: (x: number) => x + x,} : { [directive]: string; addOne: (x: number) => number; double: (x: number) => number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/indexSignaturesInferentialTyping.types b/tests/baselines/reference/indexSignaturesInferentialTyping.types index 826f903e37004..7fabdd84f722e 100644 --- a/tests/baselines/reference/indexSignaturesInferentialTyping.types +++ b/tests/baselines/reference/indexSignaturesInferentialTyping.types @@ -27,7 +27,7 @@ var x1 = foo({ 0: 0, 1: 1 }); // type should be number >foo({ 0: 0, 1: 1 }) : number > : ^^^^^^ >foo : (items: { [index: number]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ 0: 0, 1: 1 } : { 0: number; 1: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >0 : number @@ -45,7 +45,7 @@ var x2 = bar({ 0: 0, 1: 1 }); >bar({ 0: 0, 1: 1 }) : number > : ^^^^^^ >bar : (items: { [index: string]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ 0: 0, 1: 1 } : { 0: number; 1: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >0 : number @@ -63,7 +63,7 @@ var x3 = bar({ zero: 0, one: 1 }); // type should be number >bar({ zero: 0, one: 1 }) : number > : ^^^^^^ >bar : (items: { [index: string]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ zero: 0, one: 1 } : { zero: number; one: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >zero : number diff --git a/tests/baselines/reference/indexedAccessAndNullableNarrowing.types b/tests/baselines/reference/indexedAccessAndNullableNarrowing.types index ced0195831367..b2cd3aae039cf 100644 --- a/tests/baselines/reference/indexedAccessAndNullableNarrowing.types +++ b/tests/baselines/reference/indexedAccessAndNullableNarrowing.types @@ -3,7 +3,7 @@ === indexedAccessAndNullableNarrowing.ts === function f1, K extends keyof T>(x: T[K] | undefined) { >f1 : , K extends keyof T>(x: T[K] | undefined) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T[K] | undefined > : ^^^^^^^^^^^^^^^^ @@ -34,7 +34,7 @@ function f1, K extends keyof T>(x: T[K] | undefine function f2, K extends keyof T>(x: T[K] | null) { >f2 : , K extends keyof T>(x: T[K] | null) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T[K] | null > : ^^^^^^^^^^^ @@ -61,7 +61,7 @@ function f2, K extends keyof T>(x: T[K] | null) { function f3(t: T[K], p1: Partial[K] & {}, p2: Partial[K] & ({} | null)) { >f3 : (t: T[K], p1: Partial[K] & {}, p2: Partial[K] & ({} | null)) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >t : T[K] > : ^^^^ >p1 : Partial[K] & {} @@ -98,7 +98,7 @@ type State = AnyObject; declare function hasOwnProperty( >hasOwnProperty : (object: T, prop: PropertyKey) => prop is keyof T -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ object: T, >object : T @@ -113,7 +113,7 @@ declare function hasOwnProperty( interface Store { setState(key: K, value: S[K]): void; >setState : (key: K, value: S[K]) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >key : K > : ^ >value : S[K] @@ -121,8 +121,8 @@ interface Store { } export function syncStoreProp< ->syncStoreProp : , K extends keyof S>(store: Store, props: P, key: K) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>syncStoreProp : , K extends keyof S>(store: Store, props: P, key: K) => void +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ S extends State, P extends Partial, @@ -143,7 +143,7 @@ export function syncStoreProp< >hasOwnProperty(props, key) : boolean > : ^^^^^^^ >hasOwnProperty : (object: T, prop: PropertyKey) => prop is keyof T -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >props : P > : ^ >key : string | number | symbol @@ -169,11 +169,11 @@ export function syncStoreProp< >store.setState(key, value) : void > : ^^^^ >store.setState : (key: K_1, value: S[K_1]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^ >store : Store > : ^^^^^^^^ >setState : (key: K_1, value: S[K_1]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^ >key : K > : ^ >value : P[K] & ({} | null) @@ -191,11 +191,11 @@ export function syncStoreProp< >store.setState(key, value) : void > : ^^^^ >store.setState : (key: K_1, value: S[K_1]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^ >store : Store > : ^^^^^^^^ >setState : (key: K_1, value: S[K_1]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^ >key : K > : ^ >value : P[K] & ({} | null) diff --git a/tests/baselines/reference/indexedAccessCanBeHighOrder.types b/tests/baselines/reference/indexedAccessCanBeHighOrder.types index 9ca3390b7fb3f..d1ebf975098f1 100644 --- a/tests/baselines/reference/indexedAccessCanBeHighOrder.types +++ b/tests/baselines/reference/indexedAccessCanBeHighOrder.types @@ -3,7 +3,7 @@ === indexedAccessCanBeHighOrder.ts === declare function get(x: U, y: Y): U[Y]; >get : (x: U, y: Y) => U[Y] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : U > : ^ >y : Y @@ -11,13 +11,13 @@ declare function get(x: U, y: Y): U[Y]; declare function find(o: T[K]): [T, K]; >find : (o: T[K]) => [T, K] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >o : T[K] > : ^^^^ function impl(a: A, b: B) { >impl : (a: A, b: B) => [A, B] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ >a : A > : ^ >b : B @@ -29,7 +29,7 @@ function impl(a: A, b: B) { >get(a, b) : A[B] > : ^^^^ >get : (x: U, y: Y) => U[Y] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a : A > : ^ >b : B @@ -39,7 +39,7 @@ function impl(a: A, b: B) { >find(item) : [A, B] > : ^^^^^^ >find : (o: T[K]) => [T, K] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >item : A[B] > : ^^^^ } @@ -60,7 +60,7 @@ const r = impl(o, "x"); >impl(o, "x") : [{ x: number; }, "x"] > : ^^^^^^^^^^^^^^^^^^^^^ >impl : (a: A, b: B) => [A, B] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ >o : { x: number; } > : ^^^^^^^^^^^^^^ >"x" : "x" diff --git a/tests/baselines/reference/indexedAccessConstraints.types b/tests/baselines/reference/indexedAccessConstraints.types index cd24ab7b7d4fe..cf4424a04681e 100644 --- a/tests/baselines/reference/indexedAccessConstraints.types +++ b/tests/baselines/reference/indexedAccessConstraints.types @@ -3,7 +3,7 @@ === indexedAccessConstraints.ts === function foo(a: T[keyof T]) { >foo : (a: T[keyof T]) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >a : T[keyof T] > : ^^^^^^^^^^ @@ -18,7 +18,7 @@ function foo(a: T[keyof T]) { export function methodFnLength(obj: T, methodKey: K): number { >methodFnLength : (obj: T, methodKey: K) => number -> : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >obj : T > : ^ >methodKey : K @@ -61,7 +61,7 @@ export function methodFnLength(obj: T, methodKe function getField(x: T | null, k: keyof T) { >getField : (x: T | null, k: keyof T) => T[keyof T] | null -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ >x : T | null > : ^^^^^^^^ >k : keyof T diff --git a/tests/baselines/reference/indexedAccessKeyofNestedSimplifiedSubstituteUnwrapped.types b/tests/baselines/reference/indexedAccessKeyofNestedSimplifiedSubstituteUnwrapped.types index 4098ebf62203c..96b4f67f41db9 100644 --- a/tests/baselines/reference/indexedAccessKeyofNestedSimplifiedSubstituteUnwrapped.types +++ b/tests/baselines/reference/indexedAccessKeyofNestedSimplifiedSubstituteUnwrapped.types @@ -14,7 +14,7 @@ type Params = Parameters>; interface Wrapper { call(event: K, ...args: Params): void; >call : (event: K, ...args: Params) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >event : K > : ^ >args : Parameters> diff --git a/tests/baselines/reference/indexedAccessNormalization.types b/tests/baselines/reference/indexedAccessNormalization.types index 72fbccec09d42..7d373821593d1 100644 --- a/tests/baselines/reference/indexedAccessNormalization.types +++ b/tests/baselines/reference/indexedAccessNormalization.types @@ -22,7 +22,7 @@ declare function g(value?: T): void; function f1(mymap: MyMap, k: keyof M) { >f1 : (mymap: MyMap, k: keyof M) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >mymap : MyMap > : ^^^^^^^^ >k : keyof M @@ -42,14 +42,14 @@ function f1(mymap: MyMap, k: keyof M) { >g(elemofM) : void > : ^^^^ >g : (value?: T) => void -> : ^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^^ ^^^^^ >elemofM : MyMap[keyof M] > : ^^^^^^^^^^^^^^^^^ } function f2(mymap: MyMap, k: keyof M, z: { x: number }) { >f2 : (mymap: MyMap, k: keyof M, z: { x: number; }) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >mymap : MyMap > : ^^^^^^^^ >k : keyof M @@ -63,18 +63,18 @@ function f2(mymap: MyMap, k: keyof M, z: { x: number }) { >q1 : MyMap[keyof M] > : ^^^^^^^^^^^^^^^^^ >z : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ const q2: MyMap[keyof M] | undefined = z; >q2 : MyMap[keyof M] | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >z : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ const q3: MyMap[keyof M] | string = z; >q3 : string | MyMap[keyof M] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >z : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ } diff --git a/tests/baselines/reference/indexedAccessRelation.types b/tests/baselines/reference/indexedAccessRelation.types index 20fe57223e34a..e97a9eac736b8 100644 --- a/tests/baselines/reference/indexedAccessRelation.types +++ b/tests/baselines/reference/indexedAccessRelation.types @@ -9,7 +9,7 @@ class Component { setState(state: Pick) {} >setState : (state: Pick) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >state : Pick > : ^^^^^^^^^^ } diff --git a/tests/baselines/reference/indexedAccessTypeConstraints.types b/tests/baselines/reference/indexedAccessTypeConstraints.types index ef08c42195dd6..29721e2e95ce5 100644 --- a/tests/baselines/reference/indexedAccessTypeConstraints.types +++ b/tests/baselines/reference/indexedAccessTypeConstraints.types @@ -15,7 +15,7 @@ type Data = { get: (prop: K) => T[K]; >get : (prop: K) => T[K] -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >prop : K > : ^ @@ -57,17 +57,17 @@ export class Foo extends Parent> { >this.getData().get('content') : C > : ^ >this.getData().get : (prop: K) => IData[K] -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^ >this.getData() : Data> > : ^^^^^^^^^^^^^^ >this.getData : () => Data> -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^ >this : this > : ^^^^ >getData : () => Data> -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^ >get : (prop: K) => IData[K] -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^ >'content' : "content" > : ^^^^^^^^^ } @@ -87,17 +87,17 @@ export class Bar> extends Parent { >this.getData().get('content') : T["content"] > : ^^^^^^^^^^^^ >this.getData().get : (prop: K) => T[K] -> : ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^ >this.getData() : Data > : ^^^^^^^ >this.getData : () => Data -> : ^^^^^^^^^^^^^ +> : ^^^^^^ ^ >this : this > : ^^^^ >getData : () => Data -> : ^^^^^^^^^^^^^ +> : ^^^^^^ ^ >get : (prop: K) => T[K] -> : ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^ >'content' : "content" > : ^^^^^^^^^ } @@ -107,7 +107,7 @@ export class Bar> extends Parent { function foo(x: C, y: T['content']) { >foo : (x: C, y: T["content"]) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >content : C > : ^ >x : C diff --git a/tests/baselines/reference/indexerReturningTypeParameter1.types b/tests/baselines/reference/indexerReturningTypeParameter1.types index 280ff6c378076..bfc9e18a33534 100644 --- a/tests/baselines/reference/indexerReturningTypeParameter1.types +++ b/tests/baselines/reference/indexerReturningTypeParameter1.types @@ -18,11 +18,11 @@ var r = a.groupBy(); >a.groupBy() : { [key: string]: unknown[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a.groupBy : () => { [key: string]: T[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >a : f > : ^ >groupBy : () => { [key: string]: T[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ class c { >c : c @@ -47,9 +47,9 @@ var r2 = a2.groupBy(); >a2.groupBy() : { [key: string]: unknown[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a2.groupBy : () => { [key: string]: T[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >a2 : c > : ^ >groupBy : () => { [key: string]: T[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ diff --git a/tests/baselines/reference/indexingTypesWithNever.types b/tests/baselines/reference/indexingTypesWithNever.types index d1bd02182a282..2ee4cf8e349a1 100644 --- a/tests/baselines/reference/indexingTypesWithNever.types +++ b/tests/baselines/reference/indexingTypesWithNever.types @@ -42,7 +42,7 @@ const result3 = genericFn1({ c: "ctest", d: "dtest" }); >genericFn1({ c: "ctest", d: "dtest" }) : never > : ^^^^^ >genericFn1 : (obj: T) => T[never] -> : ^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ c: "ctest", d: "dtest" } : { c: string; d: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >c : string @@ -56,7 +56,7 @@ const result3 = genericFn1({ c: "ctest", d: "dtest" }); declare function genericFn2( >genericFn2 : (obj: T) => T[never] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >ind : string > : ^^^^^^ @@ -73,7 +73,7 @@ const result4 = genericFn2({ e: "etest", f: "ftest" }); >genericFn2({ e: "etest", f: "ftest" }) : never > : ^^^^^ >genericFn2 : (obj: T) => T[never] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ e: "etest", f: "ftest" } : { e: string; f: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >e : string @@ -87,7 +87,7 @@ const result4 = genericFn2({ e: "etest", f: "ftest" }); declare function genericFn3< >genericFn3 : (obj: T, u: U, v: V) => T[U & V] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ T extends { [K in keyof T]: T[K] }, U extends keyof T, @@ -107,7 +107,7 @@ const result5 = genericFn3({ g: "gtest", h: "htest" }, "g", "h"); // 'g' & 'h' w >genericFn3({ g: "gtest", h: "htest" }, "g", "h") : never > : ^^^^^ >genericFn3 : (obj: T, u: U, v: V) => T[U & V] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >{ g: "gtest", h: "htest" } : { g: string; h: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >g : string @@ -142,7 +142,7 @@ const result6 = obj[key] >obj[key] : never > : ^^^^^ >obj : { a: string; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >key : never > : ^^^^^ diff --git a/tests/baselines/reference/indirectDiscriminantAndExcessProperty.types b/tests/baselines/reference/indirectDiscriminantAndExcessProperty.types index 0e6c5cf73e624..219b6414f94c8 100644 --- a/tests/baselines/reference/indirectDiscriminantAndExcessProperty.types +++ b/tests/baselines/reference/indirectDiscriminantAndExcessProperty.types @@ -35,7 +35,7 @@ thing({ >thing({ type: foo1, abc: "hello!"}) : void > : ^^^^ >thing : (blah: Blah) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ type: foo1, abc: "hello!"} : { type: string; abc: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -63,7 +63,7 @@ thing({ >thing({ type: foo2, abc: "hello!", extra: 123,}) : void > : ^^^^ >thing : (blah: Blah) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ type: foo2, abc: "hello!", extra: 123,} : { type: string; abc: string; extra: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -97,7 +97,7 @@ thing({ >thing({ type: bar, xyz: 123, extra: 123,}) : void > : ^^^^ >thing : (blah: Blah) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ type: bar, xyz: 123, extra: 123,} : { type: string; xyz: number; extra: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/indirectGlobalSymbolPartOfObjectType.types b/tests/baselines/reference/indirectGlobalSymbolPartOfObjectType.types index 6003f038d368e..8712cb2a3e9df 100644 --- a/tests/baselines/reference/indirectGlobalSymbolPartOfObjectType.types +++ b/tests/baselines/reference/indirectGlobalSymbolPartOfObjectType.types @@ -14,7 +14,7 @@ const Symbol = globalThis.Symbol; [][Symbol.iterator]; >[][Symbol.iterator] : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ >[] : undefined[] > : ^^^^^^^^^^^ >Symbol.iterator : unique symbol diff --git a/tests/baselines/reference/indirectTypeParameterReferences.types b/tests/baselines/reference/indirectTypeParameterReferences.types index de067c7707da0..b4165f151e9be 100644 --- a/tests/baselines/reference/indirectTypeParameterReferences.types +++ b/tests/baselines/reference/indirectTypeParameterReferences.types @@ -11,9 +11,9 @@ type B = {b: string} const flowtypes = (b: B) => { >flowtypes : (b: B) => { combined: (fn: (combined: A & B) => void) => any; literal: (fn: (aPlusB: A & B) => void) => any; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ >(b: B) => { type Combined = A & B const combined = (fn: (combined: Combined) => void) => null const literal = (fn: (aPlusB: A & B) => void) => null return {combined, literal}} : (b: B) => { combined: (fn: (combined: A & B) => void) => any; literal: (fn: (aPlusB: A & B) => void) => any; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ >b : B > : ^ @@ -23,9 +23,9 @@ const flowtypes = (b: B) => { const combined = (fn: (combined: Combined) => void) => null >combined : (fn: (combined: A & B) => void) => any -> : ^ ^^^ ^^^^^^^^^^^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^^^^^^^ >(fn: (combined: Combined) => void) => null : (fn: (combined: A & B) => void) => any -> : ^ ^^^ ^^^^^^^^^^^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ ^^^^^^^^ >fn : (combined: A & B) => void > : ^ ^^^^^^^^^^^^ >combined : A & B @@ -43,22 +43,22 @@ const flowtypes = (b: B) => { return {combined, literal} >{combined, literal} : { combined: (fn: (combined: A & B) => void) => any; literal: (fn: (aPlusB: A & B) => void) => any; } -> : ^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ >combined : (fn: (combined: A & B) => void) => any -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^^^^^^^ >literal : (fn: (aPlusB: A & B) => void) => any > : ^ ^^ ^^^^^^^^ } const {combined, literal} = flowtypes<{a: string}>({b: 'b-value'}) >combined : (fn: (combined: { a: string; } & B) => void) => any -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^ >literal : (fn: (aPlusB: { a: string; } & B) => void) => any -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^ >flowtypes<{a: string}>({b: 'b-value'}) : { combined: (fn: (combined: { a: string; } & B) => void) => any; literal: (fn: (aPlusB: { a: string; } & B) => void) => any; } -> : ^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^ >flowtypes : (b: B) => { combined: (fn: (combined: A & B) => void) => any; literal: (fn: (aPlusB: A & B) => void) => any; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ >a : string > : ^^^^^^ >{b: 'b-value'} : { b: string; } @@ -71,17 +71,17 @@ const {combined, literal} = flowtypes<{a: string}>({b: 'b-value'}) literal(aPlusB => { >literal(aPlusB => { aPlusB.b aPlusB.a}) : any >literal : (fn: (aPlusB: { a: string; } & B) => void) => any -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^ >aPlusB => { aPlusB.b aPlusB.a} : (aPlusB: { a: string; } & B) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^^ >aPlusB : { a: string; } & B -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ aPlusB.b >aPlusB.b : string > : ^^^^^^ >aPlusB : { a: string; } & B -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ >b : string > : ^^^^^^ @@ -89,7 +89,7 @@ literal(aPlusB => { >aPlusB.a : string > : ^^^^^^ >aPlusB : { a: string; } & B -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ >a : string > : ^^^^^^ @@ -98,17 +98,17 @@ literal(aPlusB => { combined(comb => { >combined(comb => { comb.b comb.a}) : any >combined : (fn: (combined: { a: string; } & B) => void) => any -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^ >comb => { comb.b comb.a} : (comb: { a: string; } & B) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^^ >comb : { a: string; } & B -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ comb.b >comb.b : string > : ^^^^^^ >comb : { a: string; } & B -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ >b : string > : ^^^^^^ @@ -116,7 +116,7 @@ combined(comb => { >comb.a : string > : ^^^^^^ >comb : { a: string; } & B -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^ >a : string > : ^^^^^^ @@ -141,8 +141,8 @@ let n: number = f(2).a; > : ^^^^^^ >f(2) : { a: number; } > : ^^^^^^^^^^^^^^ ->f : (a: T) => { a: T; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^ +>f : (a: T) => { a: typeof a; } +> : ^ ^^ ^^ ^^^^^ >2 : 2 > : ^ >a : number diff --git a/tests/baselines/reference/indirectUniqueSymbolDeclarationEmit.types b/tests/baselines/reference/indirectUniqueSymbolDeclarationEmit.types index 07b6e4e4350df..f3fa286b820cc 100644 --- a/tests/baselines/reference/indirectUniqueSymbolDeclarationEmit.types +++ b/tests/baselines/reference/indirectUniqueSymbolDeclarationEmit.types @@ -31,7 +31,7 @@ export function f() { >rand() : boolean > : ^^^^^^^ >rand : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >x : unique symbol > : ^^^^^^^^^^^^^ >y : unique symbol diff --git a/tests/baselines/reference/inferFromBindingPattern.types b/tests/baselines/reference/inferFromBindingPattern.types index bd41369758cd9..0c1ba7f3b83aa 100644 --- a/tests/baselines/reference/inferFromBindingPattern.types +++ b/tests/baselines/reference/inferFromBindingPattern.types @@ -3,15 +3,15 @@ === inferFromBindingPattern.ts === declare function f1(): T; >f1 : () => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ declare function f2(): [T]; >f2 : () => [T] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ declare function f3(): { x: T }; >f3 : () => { x: T; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ >x : T > : ^ @@ -21,7 +21,7 @@ let x1 = f1(); // string >f1() : string > : ^^^^^^ >f1 : () => T -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ let [x2] = f2(); // string >x2 : string @@ -29,7 +29,7 @@ let [x2] = f2(); // string >f2() : [string] > : ^^^^^^^^ >f2 : () => [T] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ let { x: x3 } = f3(); // string >x : any @@ -39,7 +39,7 @@ let { x: x3 } = f3(); // string >f3() : { x: string; } > : ^^^^^^^^^^^^^^ >f3 : () => { x: T; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ // Repro from #30379 @@ -60,7 +60,7 @@ const [x] = foo(); // [number] >foo() : [number] > : ^^^^^^^^ >foo : () => [T] -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^ // Repro from #35291 @@ -98,7 +98,7 @@ const [person] = selectJohn(); >selectJohn() : SelectResult > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >selectJohn : (props?: SelectProps) => SelectResult -> : ^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^^^ ^^^^^ const [any, whatever] = selectJohn(); >any : Person @@ -108,7 +108,7 @@ const [any, whatever] = selectJohn(); >selectJohn() : SelectResult > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >selectJohn : (props?: SelectProps) => SelectResult -> : ^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^^^ ^^^^^ const john = selectJohn(); >john : SelectResult @@ -116,7 +116,7 @@ const john = selectJohn(); >selectJohn() : SelectResult > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >selectJohn : (props?: SelectProps) => SelectResult -> : ^ ^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^ ^^^ ^^^^^ const [personAgain, nufinspecial] = john; >personAgain : Person @@ -146,11 +146,11 @@ const isStringTuple = makeTuple(stringy()); // [string] >makeTuple(stringy()) : [string] > : ^^^^^^^^ >makeTuple : (arg: T1) => [T1] -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >stringy() : string > : ^^^^^^ >stringy : (arg?: T) => T -> : ^ ^^^^^^^^^^^ ^^^ ^^^^^^ +> : ^ ^^^^^^^^^^^ ^^^ ^^^^^ const [isAny] = makeTuple(stringy()); // [string] >isAny : string @@ -158,9 +158,9 @@ const [isAny] = makeTuple(stringy()); // [string] >makeTuple(stringy()) : [string] > : ^^^^^^^^ >makeTuple : (arg: T1) => [T1] -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >stringy() : string > : ^^^^^^ >stringy : (arg?: T) => T -> : ^ ^^^^^^^^^^^ ^^^ ^^^^^^ +> : ^ ^^^^^^^^^^^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/inferFromGenericFunctionReturnTypes1.types b/tests/baselines/reference/inferFromGenericFunctionReturnTypes1.types index bbac6725974c0..22a3f43f5ab93 100644 --- a/tests/baselines/reference/inferFromGenericFunctionReturnTypes1.types +++ b/tests/baselines/reference/inferFromGenericFunctionReturnTypes1.types @@ -22,7 +22,7 @@ class SetOf { >this._store.push(a) : number > : ^^^^^^ >this._store.push : (...items: A[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^ >this._store : A[] > : ^^^ >this : this @@ -30,7 +30,7 @@ class SetOf { >_store : A[] > : ^^^ >push : (...items: A[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^ >a : A > : ^ } @@ -47,7 +47,7 @@ class SetOf { >transformer(this) : SetOf > : ^^^^^^^^ >transformer : (a: SetOf) => SetOf -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ } @@ -66,7 +66,7 @@ class SetOf { >this._store.forEach((a, i) => fn(a, i)) : void > : ^^^^ >this._store.forEach : (callbackfn: (value: A, index: number, array: A[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^^^ >this._store : A[] > : ^^^ >this : this @@ -74,7 +74,7 @@ class SetOf { >_store : A[] > : ^^^ >forEach : (callbackfn: (value: A, index: number, array: A[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^^^ >(a, i) => fn(a, i) : (a: A, i: number) => void > : ^ ^^^^^ ^^^^^^^^^^^^^^^^^ >a : A @@ -84,7 +84,7 @@ class SetOf { >fn(a, i) : void > : ^^^^ >fn : (a: A, index: number) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a : A > : ^ >i : number @@ -127,7 +127,7 @@ function compose( /* ... etc ... */ function compose(...fns: ((x: T) => T)[]): (x: T) => T { >compose : (fnA: (a: SetOf) => SetOf, fnB: (b: SetOf) => SetOf, fnC: (c: SetOf) => SetOf, fnD: (c: SetOf) => SetOf) => (x: SetOf) => SetOf -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >fns : ((x: T) => T)[] > : ^^ ^^ ^^^^^ ^^^ >x : T @@ -143,21 +143,21 @@ function compose(...fns: ((x: T) => T)[]): (x: T) => T { >fns.reduce((prev, fn) => fn(prev), x) : T > : ^ >fns.reduce : { (callbackfn: (previousValue: (x: T) => T, currentValue: (x: T) => T, currentIndex: number, array: ((x: T) => T)[]) => (x: T) => T): (x: T) => T; (callbackfn: (previousValue: (x: T) => T, currentValue: (x: T) => T, currentIndex: number, array: ((x: T) => T)[]) => (x: T) => T, initialValue: (x: T) => T): (x: T) => T; (callbackfn: (previousValue: U, currentValue: (x: T) => T, currentIndex: number, array: ((x: T) => T)[]) => U, initialValue: U): U; } -> : ^^^ ^^^ ^^^ ^^ ^^^^^^^^ ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^ ^^^ ^^ ^^^^^^^^ ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^ ^^^^^ ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^ ^^^^^ ^^ ^^ ^^ ^^^^ ^^ ^^^^^ ^^^^^^^^^ ^^ ^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^ ^^^^^ ^^ ^^ ^^ ^^^^ ^^ ^^^^^ ^^^^^^^^^ ^^ ^^^^^ ^^ ^^^ ^^ ^^^^^ ^^^^ ^^ ^^^^^ ^^^^^^ ^^^ ^^^^^ ^^^ ^^ ^^^^^ ^^ ^^ ^^ ^^^^ ^^ ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^ >fns : ((x: T) => T)[] -> : ^^ ^^ ^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^ >reduce : { (callbackfn: (previousValue: (x: T) => T, currentValue: (x: T) => T, currentIndex: number, array: ((x: T) => T)[]) => (x: T) => T): (x: T) => T; (callbackfn: (previousValue: (x: T) => T, currentValue: (x: T) => T, currentIndex: number, array: ((x: T) => T)[]) => (x: T) => T, initialValue: (x: T) => T): (x: T) => T; (callbackfn: (previousValue: U, currentValue: (x: T) => T, currentIndex: number, array: ((x: T) => T)[]) => U, initialValue: U): U; } -> : ^^^ ^^^ ^^^ ^^ ^^^^^^^^ ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^ ^^^ ^^ ^^^^^^^^ ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^ ^^^^^ ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^ ^^^^^ ^^ ^^ ^^ ^^^^ ^^ ^^^^^ ^^^^^^^^^ ^^ ^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^ ^^^^^ ^^ ^^ ^^ ^^^^ ^^ ^^^^^ ^^^^^^^^^ ^^ ^^^^^ ^^ ^^^ ^^ ^^^^^ ^^^^ ^^ ^^^^^ ^^^^^^ ^^^ ^^^^^ ^^^ ^^ ^^^^^ ^^ ^^ ^^ ^^^^ ^^ ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^ >(prev, fn) => fn(prev) : (prev: T, fn: (x: T) => T) => T -> : ^ ^^^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^^^^ ^^^ ^^ ^^^^^ ^^^^^^ >prev : T > : ^ >fn : (x: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >fn(prev) : T > : ^ >fn : (x: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >prev : T > : ^ >x : T @@ -192,11 +192,11 @@ function map(fn: (a: A) => B): (s: SetOf) => SetOf { >a.forEach(x => b.add(fn(x))) : void > : ^^^^ >a.forEach : (fn: (a: A, index: number) => void) => void -> : ^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^^^^ ^^^^^^^^^ >a : SetOf > : ^^^^^^^^ >forEach : (fn: (a: A, index: number) => void) => void -> : ^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^^^^ ^^^^^^^^^ >x => b.add(fn(x)) : (x: A) => void > : ^ ^^^^^^^^^^^^ >x : A @@ -212,7 +212,7 @@ function map(fn: (a: A) => B): (s: SetOf) => SetOf { >fn(x) : B > : ^ >fn : (a: A) => B -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >x : A > : ^ @@ -250,11 +250,11 @@ function filter(predicate: (a: A) => boolean): (s: SetOf) => SetOf { >a.forEach(x => { if (predicate(x)) result.add(x); }) : void > : ^^^^ >a.forEach : (fn: (a: A, index: number) => void) => void -> : ^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^^^^ ^^^^^^^^^ >a : SetOf > : ^^^^^^^^ >forEach : (fn: (a: A, index: number) => void) => void -> : ^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^^^^ ^^^^^^^^^ >x => { if (predicate(x)) result.add(x); } : (x: A) => void > : ^ ^^^^^^^^^^^^ >x : A @@ -264,7 +264,7 @@ function filter(predicate: (a: A) => boolean): (s: SetOf) => SetOf { >predicate(x) : boolean > : ^^^^^^^ >predicate : (a: A) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : A > : ^ >result.add(x) : void @@ -333,23 +333,23 @@ testSet.transform( >testSet.transform( compose( filter(x => x % 1 === 0), map(x => x + x), map(x => x + '!!!'), map(x => x.toUpperCase()) )) : SetOf > : ^^^^^^^^^^^^^ >testSet.transform : (transformer: (a: SetOf) => SetOf) => SetOf -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^ ^^^^^ ^ >testSet : SetOf > : ^^^^^^^^^^^^^ >transform : (transformer: (a: SetOf) => SetOf) => SetOf -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^ ^^^^^ ^ compose( >compose( filter(x => x % 1 === 0), map(x => x + x), map(x => x + '!!!'), map(x => x.toUpperCase()) ) : (x: SetOf) => SetOf -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >compose : (fnA: (a: SetOf) => SetOf, fnB: (b: SetOf) => SetOf, fnC: (c: SetOf) => SetOf, fnD: (c: SetOf) => SetOf) => (x: SetOf) => SetOf -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ filter(x => x % 1 === 0), >filter(x => x % 1 === 0) : (s: SetOf) => SetOf -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >filter : (predicate: (a: A) => boolean) => (s: SetOf) => SetOf -> : ^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x => x % 1 === 0 : (x: number) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^ >x : number @@ -367,9 +367,9 @@ testSet.transform( map(x => x + x), >map(x => x + x) : (s: SetOf) => SetOf -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >map : (fn: (a: A) => B) => (s: SetOf) => SetOf -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >x => x + x : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number @@ -383,9 +383,9 @@ testSet.transform( map(x => x + '!!!'), >map(x => x + '!!!') : (s: SetOf) => SetOf -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >map : (fn: (a: A) => B) => (s: SetOf) => SetOf -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >x => x + '!!!' : (x: number) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number @@ -399,9 +399,9 @@ testSet.transform( map(x => x.toUpperCase()) >map(x => x.toUpperCase()) : (s: SetOf) => SetOf -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >map : (fn: (a: A) => B) => (s: SetOf) => SetOf -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >x => x.toUpperCase() : (x: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >x : string @@ -409,11 +409,11 @@ testSet.transform( >x.toUpperCase() : string > : ^^^^^^ >x.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ ) ) @@ -422,23 +422,23 @@ testSet.transform( >testSet.transform( compose( filter(x => x % 1 === 0), map(x => x + x), map(x => 123), // Whoops a bug map(x => x.toUpperCase()) // causes an error! )) : SetOf > : ^^^^^^^^^^ >testSet.transform : (transformer: (a: SetOf) => SetOf) => SetOf -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^ ^^^^^ ^ >testSet : SetOf > : ^^^^^^^^^^^^^ >transform : (transformer: (a: SetOf) => SetOf) => SetOf -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^ ^^^^^ ^ compose( >compose( filter(x => x % 1 === 0), map(x => x + x), map(x => 123), // Whoops a bug map(x => x.toUpperCase()) // causes an error! ) : (x: SetOf) => SetOf -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^ >compose : (fnA: (a: SetOf) => SetOf, fnB: (b: SetOf) => SetOf, fnC: (c: SetOf) => SetOf, fnD: (c: SetOf) => SetOf) => (x: SetOf) => SetOf -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ filter(x => x % 1 === 0), >filter(x => x % 1 === 0) : (s: SetOf) => SetOf -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >filter : (predicate: (a: A) => boolean) => (s: SetOf) => SetOf -> : ^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x => x % 1 === 0 : (x: number) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^ >x : number @@ -456,9 +456,9 @@ testSet.transform( map(x => x + x), >map(x => x + x) : (s: SetOf) => SetOf -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >map : (fn: (a: A) => B) => (s: SetOf) => SetOf -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >x => x + x : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number @@ -472,9 +472,9 @@ testSet.transform( map(x => 123), // Whoops a bug >map(x => 123) : (s: SetOf) => SetOf -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >map : (fn: (a: A) => B) => (s: SetOf) => SetOf -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >x => 123 : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number @@ -484,9 +484,9 @@ testSet.transform( map(x => x.toUpperCase()) // causes an error! >map(x => x.toUpperCase()) : (s: SetOf) => SetOf -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^ >map : (fn: (a: A) => B) => (s: SetOf) => SetOf -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >x => x.toUpperCase() : (x: number) => any > : ^ ^^^^^^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/inferFromGenericFunctionReturnTypes2.types b/tests/baselines/reference/inferFromGenericFunctionReturnTypes2.types index 5356384c16069..ae79c3944e7eb 100644 --- a/tests/baselines/reference/inferFromGenericFunctionReturnTypes2.types +++ b/tests/baselines/reference/inferFromGenericFunctionReturnTypes2.types @@ -59,7 +59,7 @@ let f2: Mapper = wrap(s => s.length); >wrap(s => s.length) : Mapper > : ^^^^^^^^^^^^^^^^^^^^^^ >wrap : (cb: Mapper) => Mapper -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >s => s.length : (s: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >s : string @@ -77,11 +77,11 @@ let f3: Mapper = arrayize(wrap(s => s.length)); >arrayize(wrap(s => s.length)) : Mapper > : ^^^^^^^^^^^^^^^^^^^^^^^^ >arrayize : (cb: Mapper) => Mapper -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >wrap(s => s.length) : Mapper > : ^^^^^^^^^^^^^^^^^^^^^^ >wrap : (cb: Mapper) => Mapper -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >s => s.length : (s: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >s : string @@ -99,11 +99,11 @@ let f4: Mapper = combine(wrap(s => s.length), wrap(n => n >= 10 >combine(wrap(s => s.length), wrap(n => n >= 10)) : (x: string) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^ >combine : (f: (x: A) => B, g: (x: B) => C) => (x: A) => C -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >wrap(s => s.length) : Mapper > : ^^^^^^^^^^^^^^^^^^^^^^ >wrap : (cb: Mapper) => Mapper -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >s => s.length : (s: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >s : string @@ -117,7 +117,7 @@ let f4: Mapper = combine(wrap(s => s.length), wrap(n => n >= 10 >wrap(n => n >= 10) : Mapper > : ^^^^^^^^^^^^^^^^^^^^^^^ >wrap : (cb: Mapper) => Mapper -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >n => n >= 10 : (n: number) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^ >n : number @@ -133,11 +133,11 @@ foo(wrap(s => s.length)); >foo(wrap(s => s.length)) : void > : ^^^^ >foo : (f: Mapper) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >wrap(s => s.length) : Mapper > : ^^^^^^^^^^^^^^^^^^^^^^ >wrap : (cb: Mapper) => Mapper -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >s => s.length : (s: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >s : string @@ -155,7 +155,7 @@ let a1 = ["a", "b"].map(s => s.length); >["a", "b"].map(s => s.length) : number[] > : ^^^^^^^^ >["a", "b"].map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >["a", "b"] : string[] > : ^^^^^^^^ >"a" : "a" @@ -163,7 +163,7 @@ let a1 = ["a", "b"].map(s => s.length); >"b" : "b" > : ^^^ >map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >s => s.length : (s: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >s : string @@ -181,7 +181,7 @@ let a2 = ["a", "b"].map(wrap(s => s.length)); >["a", "b"].map(wrap(s => s.length)) : number[] > : ^^^^^^^^ >["a", "b"].map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >["a", "b"] : string[] > : ^^^^^^^^ >"a" : "a" @@ -189,11 +189,11 @@ let a2 = ["a", "b"].map(wrap(s => s.length)); >"b" : "b" > : ^^^ >map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >wrap(s => s.length) : Mapper > : ^^^^^^^^^^^^^^^^^^^^^^ >wrap : (cb: Mapper) => Mapper -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >s => s.length : (s: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >s : string @@ -211,7 +211,7 @@ let a3 = ["a", "b"].map(wrap(arrayize(s => s.length))); >["a", "b"].map(wrap(arrayize(s => s.length))) : number[][] > : ^^^^^^^^^^ >["a", "b"].map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >["a", "b"] : string[] > : ^^^^^^^^ >"a" : "a" @@ -219,15 +219,15 @@ let a3 = ["a", "b"].map(wrap(arrayize(s => s.length))); >"b" : "b" > : ^^^ >map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >wrap(arrayize(s => s.length)) : Mapper > : ^^^^^^^^^^^^^^^^^^^^^^^^ >wrap : (cb: Mapper) => Mapper -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >arrayize(s => s.length) : Mapper > : ^^^^^^^^^^^^^^^^^^^^^^^^ >arrayize : (cb: Mapper) => Mapper -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >s => s.length : (s: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >s : string @@ -245,7 +245,7 @@ let a4 = ["a", "b"].map(combine(wrap(s => s.length), wrap(n => n > 10))); >["a", "b"].map(combine(wrap(s => s.length), wrap(n => n > 10))) : boolean[] > : ^^^^^^^^^ >["a", "b"].map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >["a", "b"] : string[] > : ^^^^^^^^ >"a" : "a" @@ -253,15 +253,15 @@ let a4 = ["a", "b"].map(combine(wrap(s => s.length), wrap(n => n > 10))); >"b" : "b" > : ^^^ >map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >combine(wrap(s => s.length), wrap(n => n > 10)) : (x: string) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^ >combine : (f: (x: A) => B, g: (x: B) => C) => (x: A) => C -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >wrap(s => s.length) : Mapper > : ^^^^^^^^^^^^^^^^^^^^^^ >wrap : (cb: Mapper) => Mapper -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >s => s.length : (s: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >s : string @@ -275,7 +275,7 @@ let a4 = ["a", "b"].map(combine(wrap(s => s.length), wrap(n => n > 10))); >wrap(n => n > 10) : Mapper > : ^^^^^^^^^^^^^^^^^^^^^^^ >wrap : (cb: Mapper) => Mapper -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >n => n > 10 : (n: number) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^ >n : number @@ -293,7 +293,7 @@ let a5 = ["a", "b"].map(combine(identity, wrap(s => s.length))); >["a", "b"].map(combine(identity, wrap(s => s.length))) : number[] > : ^^^^^^^^ >["a", "b"].map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >["a", "b"] : string[] > : ^^^^^^^^ >"a" : "a" @@ -301,17 +301,17 @@ let a5 = ["a", "b"].map(combine(identity, wrap(s => s.length))); >"b" : "b" > : ^^^ >map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >combine(identity, wrap(s => s.length)) : (x: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >combine : (f: (x: A) => B, g: (x: B) => C) => (x: A) => C -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >identity : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >wrap(s => s.length) : Mapper > : ^^^^^^^^^^^^^^^^^^^^^^ >wrap : (cb: Mapper) => Mapper -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >s => s.length : (s: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >s : string @@ -329,7 +329,7 @@ let a6 = ["a", "b"].map(combine(wrap(s => s.length), identity)); >["a", "b"].map(combine(wrap(s => s.length), identity)) : number[] > : ^^^^^^^^ >["a", "b"].map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >["a", "b"] : string[] > : ^^^^^^^^ >"a" : "a" @@ -337,15 +337,15 @@ let a6 = ["a", "b"].map(combine(wrap(s => s.length), identity)); >"b" : "b" > : ^^^ >map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >combine(wrap(s => s.length), identity) : (x: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >combine : (f: (x: A) => B, g: (x: B) => C) => (x: A) => C -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >wrap(s => s.length) : Mapper > : ^^^^^^^^^^^^^^^^^^^^^^ >wrap : (cb: Mapper) => Mapper -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >s => s.length : (s: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >s : string @@ -357,7 +357,7 @@ let a6 = ["a", "b"].map(combine(wrap(s => s.length), identity)); >length : number > : ^^^^^^ >identity : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ // This is a contrived class. We could do the same thing with Observables, etc. class SetOf { @@ -378,7 +378,7 @@ class SetOf { >this._store.push(a) : number > : ^^^^^^ >this._store.push : (...items: A[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^ >this._store : A[] > : ^^^ >this : this @@ -386,7 +386,7 @@ class SetOf { >_store : A[] > : ^^^ >push : (...items: A[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^ >a : A > : ^ } @@ -403,7 +403,7 @@ class SetOf { >transformer(this) : SetOf > : ^^^^^^^^ >transformer : (a: SetOf) => SetOf -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ } @@ -422,7 +422,7 @@ class SetOf { >this._store.forEach((a, i) => fn(a, i)) : void > : ^^^^ >this._store.forEach : (callbackfn: (value: A, index: number, array: A[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^^^ >this._store : A[] > : ^^^ >this : this @@ -430,7 +430,7 @@ class SetOf { >_store : A[] > : ^^^ >forEach : (callbackfn: (value: A, index: number, array: A[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^^^ >(a, i) => fn(a, i) : (a: A, i: number) => void > : ^ ^^^^^ ^^^^^^^^^^^^^^^^^ >a : A @@ -440,7 +440,7 @@ class SetOf { >fn(a, i) : void > : ^^^^ >fn : (a: A, index: number) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a : A > : ^ >i : number @@ -483,7 +483,7 @@ function compose( /* ... etc ... */ function compose(...fns: ((x: T) => T)[]): (x: T) => T { >compose : (fnA: (a: SetOf) => SetOf, fnB: (b: SetOf) => SetOf, fnC: (c: SetOf) => SetOf, fnD: (c: SetOf) => SetOf) => (x: SetOf) => SetOf -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >fns : ((x: T) => T)[] > : ^^ ^^ ^^^^^ ^^^ >x : T @@ -499,21 +499,21 @@ function compose(...fns: ((x: T) => T)[]): (x: T) => T { >fns.reduce((prev, fn) => fn(prev), x) : T > : ^ >fns.reduce : { (callbackfn: (previousValue: (x: T) => T, currentValue: (x: T) => T, currentIndex: number, array: ((x: T) => T)[]) => (x: T) => T): (x: T) => T; (callbackfn: (previousValue: (x: T) => T, currentValue: (x: T) => T, currentIndex: number, array: ((x: T) => T)[]) => (x: T) => T, initialValue: (x: T) => T): (x: T) => T; (callbackfn: (previousValue: U, currentValue: (x: T) => T, currentIndex: number, array: ((x: T) => T)[]) => U, initialValue: U): U; } -> : ^^^ ^^^ ^^^ ^^ ^^^^^^^^ ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^ ^^^ ^^ ^^^^^^^^ ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^ ^^^^^ ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^ ^^^^^ ^^ ^^ ^^ ^^^^ ^^ ^^^^^ ^^^^^^^^^ ^^ ^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^ ^^^^^ ^^ ^^ ^^ ^^^^ ^^ ^^^^^ ^^^^^^^^^ ^^ ^^^^^ ^^ ^^^ ^^ ^^^^^ ^^^^ ^^ ^^^^^ ^^^^^^ ^^^ ^^^^^ ^^^ ^^ ^^^^^ ^^ ^^ ^^ ^^^^ ^^ ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^ >fns : ((x: T) => T)[] -> : ^^ ^^ ^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^ >reduce : { (callbackfn: (previousValue: (x: T) => T, currentValue: (x: T) => T, currentIndex: number, array: ((x: T) => T)[]) => (x: T) => T): (x: T) => T; (callbackfn: (previousValue: (x: T) => T, currentValue: (x: T) => T, currentIndex: number, array: ((x: T) => T)[]) => (x: T) => T, initialValue: (x: T) => T): (x: T) => T; (callbackfn: (previousValue: U, currentValue: (x: T) => T, currentIndex: number, array: ((x: T) => T)[]) => U, initialValue: U): U; } -> : ^^^ ^^^ ^^^ ^^ ^^^^^^^^ ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^ ^^^ ^^ ^^^^^^^^ ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^ ^^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^^ ^^^^^ ^^^ ^^ ^^^^^^^^ ^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ +> : ^^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^ ^^^^^ ^^ ^^ ^^ ^^^^ ^^ ^^^^^ ^^^^^^^^^ ^^ ^^^^^ ^^^^ ^^ ^^^^^ ^^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^ ^^^^^ ^^ ^^ ^^ ^^^^ ^^ ^^^^^ ^^^^^^^^^ ^^ ^^^^^ ^^ ^^^ ^^ ^^^^^ ^^^^ ^^ ^^^^^ ^^^^^^ ^^^ ^^^^^ ^^^ ^^ ^^^^^ ^^ ^^ ^^ ^^^^ ^^ ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^ >(prev, fn) => fn(prev) : (prev: T, fn: (x: T) => T) => T -> : ^ ^^^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^^^^ ^^^ ^^ ^^^^^ ^^^^^^ >prev : T > : ^ >fn : (x: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >fn(prev) : T > : ^ >fn : (x: T) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >prev : T > : ^ >x : T @@ -548,11 +548,11 @@ function map(fn: (a: A) => B): (s: SetOf) => SetOf { >a.forEach(x => b.add(fn(x))) : void > : ^^^^ >a.forEach : (fn: (a: A, index: number) => void) => void -> : ^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^^^^ ^^^^^^^^^ >a : SetOf > : ^^^^^^^^ >forEach : (fn: (a: A, index: number) => void) => void -> : ^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^^^^ ^^^^^^^^^ >x => b.add(fn(x)) : (x: A) => void > : ^ ^^^^^^^^^^^^ >x : A @@ -568,7 +568,7 @@ function map(fn: (a: A) => B): (s: SetOf) => SetOf { >fn(x) : B > : ^ >fn : (a: A) => B -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >x : A > : ^ @@ -606,11 +606,11 @@ function filter(predicate: (a: A) => boolean): (s: SetOf) => SetOf { >a.forEach(x => { if (predicate(x)) result.add(x); }) : void > : ^^^^ >a.forEach : (fn: (a: A, index: number) => void) => void -> : ^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^^^^ ^^^^^^^^^ >a : SetOf > : ^^^^^^^^ >forEach : (fn: (a: A, index: number) => void) => void -> : ^ ^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^^^^ ^^^^^^^^^ >x => { if (predicate(x)) result.add(x); } : (x: A) => void > : ^ ^^^^^^^^^^^^ >x : A @@ -620,7 +620,7 @@ function filter(predicate: (a: A) => boolean): (s: SetOf) => SetOf { >predicate(x) : boolean > : ^^^^^^^ >predicate : (a: A) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >x : A > : ^ >result.add(x) : void @@ -691,23 +691,23 @@ const t1 = testSet.transform( >testSet.transform( compose( filter(x => x % 1 === 0), map(x => x + x), map(x => x + '!!!'), map(x => x.toUpperCase()) )) : SetOf > : ^^^^^^^^^^^^^ >testSet.transform : (transformer: (a: SetOf) => SetOf) => SetOf -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^ ^^^^^ ^ >testSet : SetOf > : ^^^^^^^^^^^^^ >transform : (transformer: (a: SetOf) => SetOf) => SetOf -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^ ^^^^^ ^ compose( >compose( filter(x => x % 1 === 0), map(x => x + x), map(x => x + '!!!'), map(x => x.toUpperCase()) ) : (x: SetOf) => SetOf -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >compose : (fnA: (a: SetOf) => SetOf, fnB: (b: SetOf) => SetOf, fnC: (c: SetOf) => SetOf, fnD: (c: SetOf) => SetOf) => (x: SetOf) => SetOf -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ filter(x => x % 1 === 0), >filter(x => x % 1 === 0) : (s: SetOf) => SetOf -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >filter : (predicate: (a: A) => boolean) => (s: SetOf) => SetOf -> : ^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x => x % 1 === 0 : (x: number) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^ >x : number @@ -725,9 +725,9 @@ const t1 = testSet.transform( map(x => x + x), >map(x => x + x) : (s: SetOf) => SetOf -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >map : (fn: (a: A) => B) => (s: SetOf) => SetOf -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >x => x + x : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number @@ -741,9 +741,9 @@ const t1 = testSet.transform( map(x => x + '!!!'), >map(x => x + '!!!') : (s: SetOf) => SetOf -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >map : (fn: (a: A) => B) => (s: SetOf) => SetOf -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >x => x + '!!!' : (x: number) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number @@ -757,9 +757,9 @@ const t1 = testSet.transform( map(x => x.toUpperCase()) >map(x => x.toUpperCase()) : (s: SetOf) => SetOf -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >map : (fn: (a: A) => B) => (s: SetOf) => SetOf -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >x => x.toUpperCase() : (x: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >x : string @@ -767,11 +767,11 @@ const t1 = testSet.transform( >x.toUpperCase() : string > : ^^^^^^ >x.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ ) ) @@ -788,23 +788,23 @@ const t2 = testSet.transform( >testSet.transform( compose( filter(x => x % 1 === 0), identity, map(x => x + '!!!'), map(x => x.toUpperCase()) )) : SetOf > : ^^^^^^^^^^^^^ >testSet.transform : (transformer: (a: SetOf) => SetOf) => SetOf -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^ ^^^^^ ^ >testSet : SetOf > : ^^^^^^^^^^^^^ >transform : (transformer: (a: SetOf) => SetOf) => SetOf -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^ ^^^^^ ^ compose( >compose( filter(x => x % 1 === 0), identity, map(x => x + '!!!'), map(x => x.toUpperCase()) ) : (x: SetOf) => SetOf -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >compose : (fnA: (a: SetOf) => SetOf, fnB: (b: SetOf) => SetOf, fnC: (c: SetOf) => SetOf, fnD: (c: SetOf) => SetOf) => (x: SetOf) => SetOf -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ filter(x => x % 1 === 0), >filter(x => x % 1 === 0) : (s: SetOf) => SetOf -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >filter : (predicate: (a: A) => boolean) => (s: SetOf) => SetOf -> : ^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x => x % 1 === 0 : (x: number) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^ >x : number @@ -822,13 +822,13 @@ const t2 = testSet.transform( identity, >identity : (x: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ map(x => x + '!!!'), >map(x => x + '!!!') : (s: SetOf) => SetOf -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >map : (fn: (a: A) => B) => (s: SetOf) => SetOf -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >x => x + '!!!' : (x: number) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number @@ -842,9 +842,9 @@ const t2 = testSet.transform( map(x => x.toUpperCase()) >map(x => x.toUpperCase()) : (s: SetOf) => SetOf -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >map : (fn: (a: A) => B) => (s: SetOf) => SetOf -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >x => x.toUpperCase() : (x: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ >x : string @@ -852,11 +852,11 @@ const t2 = testSet.transform( >x.toUpperCase() : string > : ^^^^^^ >x.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >x : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ ) ) diff --git a/tests/baselines/reference/inferFromGenericFunctionReturnTypes3.types b/tests/baselines/reference/inferFromGenericFunctionReturnTypes3.types index 56b4ee1f69333..12b302a629e52 100644 --- a/tests/baselines/reference/inferFromGenericFunctionReturnTypes3.types +++ b/tests/baselines/reference/inferFromGenericFunctionReturnTypes3.types @@ -12,12 +12,12 @@ function truePromise(): Promise { return Promise.resolve(true); >Promise.resolve(true) : Promise > : ^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >true : true > : ^^^^ } @@ -49,7 +49,7 @@ function wrappedFoo(): Wrap<'foo'> { >wrap('foo') : Wrap<"foo"> > : ^^^^^^^^^^^ >wrap : (value: T) => Wrap -> : ^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >'foo' : "foo" > : ^^^^^ } @@ -83,7 +83,7 @@ function wrappedBar(): Wrap<'bar'> { >wrapBar(value) : Wrap<"bar"> > : ^^^^^^^^^^^ >wrapBar : (value: "bar") => Wrap<"bar"> -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >value : "bar" > : ^^^^^ @@ -93,7 +93,7 @@ function wrappedBar(): Wrap<'bar'> { >wrapBar('bar') : Wrap<"bar"> > : ^^^^^^^^^^^ >wrapBar : (value: "bar") => Wrap<"bar"> -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'bar' : "bar" > : ^^^^^ @@ -109,7 +109,7 @@ function wrappedBar(): Wrap<'bar'> { >wrapBar(value2) : Wrap<"bar"> > : ^^^^^^^^^^^ >wrapBar : (value: "bar") => Wrap<"bar"> -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >value2 : string > : ^^^^^^ @@ -117,7 +117,7 @@ function wrappedBar(): Wrap<'bar'> { >wrap(value) : Wrap<"bar"> > : ^^^^^^^^^^^ >wrap : (value: T) => Wrap -> : ^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >value : "bar" > : ^^^^^ } @@ -136,7 +136,7 @@ function wrappedBaz(): Wrap<'baz'> { >wrap(value) : Wrap<"baz"> > : ^^^^^^^^^^^ >wrap : (value: T) => Wrap -> : ^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >value : "baz" > : ^^^^^ } @@ -163,7 +163,7 @@ a = [1, 2, 3, 4, 5].map(v => ({ type: 'folder' })); >[1, 2, 3, 4, 5].map(v => ({ type: 'folder' })) : { type: "folder"; }[] > : ^^^^^^^^^^^^^^^^^^^^^ >[1, 2, 3, 4, 5].map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >[1, 2, 3, 4, 5] : number[] > : ^^^^^^^^ >1 : 1 @@ -177,7 +177,7 @@ a = [1, 2, 3, 4, 5].map(v => ({ type: 'folder' })); >5 : 5 > : ^ >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >v => ({ type: 'folder' }) : (v: number) => { type: "folder"; } > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >v : number @@ -211,11 +211,11 @@ let mappedArr: Array<[number, number]> = arr.map(([x, y]) => { >arr.map(([x, y]) => { return [x, y];}) : [number, number][] > : ^^^^^^^^^^^^^^^^^^ >arr.map : (callbackfn: (value: [number, number], index: number, array: [number, number][]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >arr : [number, number][] > : ^^^^^^^^^^^^^^^^^^ >map : (callbackfn: (value: [number, number], index: number, array: [number, number][]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >([x, y]) => { return [x, y];} : ([x, y]: [number, number]) => [number, number] > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -300,11 +300,11 @@ function bug(): Diagnostic[] { >values.map((value) => { return { severity: DiagnosticSeverity.Error, message: 'message' } }) : { severity: 1; message: string; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >values.map : (callbackfn: (value: any, index: number, array: any[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >values : any[] > : ^^^^^ >map : (callbackfn: (value: any, index: number, array: any[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >(value) => { return { severity: DiagnosticSeverity.Error, message: 'message' } } : (value: any) => { severity: 1; message: string; } > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >value : any @@ -349,19 +349,19 @@ function objectToMap(obj: any) { >Object.keys(obj).map(key => [key, obj[key]]) : [string, any][] > : ^^^^^^^^^^^^^^^ >Object.keys(obj).map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >Object.keys(obj) : string[] > : ^^^^^^^^ >Object.keys : { (o: object): string[]; (o: {}): string[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >keys : { (o: object): string[]; (o: {}): string[]; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >obj : any > : ^^^ >map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >key => [key, obj[key]] : (key: string) => [string, any] > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >key : string @@ -407,13 +407,13 @@ function createPerson(): Person { >[1].map(() => ({ __typename: 'PhoneNumber' })) : { __typename: "PhoneNumber"; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >[1].map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >[1] : number[] > : ^^^^^^^^ >1 : 1 > : ^ >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >() => ({ __typename: 'PhoneNumber' }) : () => { __typename: "PhoneNumber"; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >({ __typename: 'PhoneNumber' }) : { __typename: "PhoneNumber"; } @@ -465,7 +465,7 @@ let zz: Box = box({ type: 'draw' }); >box({ type: 'draw' }) : Box<{ type: "draw"; }> > : ^^^^^^^^^^^^^^^^^^^^^^ >box : (value: T) => Box -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ type: 'draw' } : { type: "draw"; } > : ^^^^^^^^^^^^^^^^^ >type : "draw" @@ -483,7 +483,7 @@ let yy: Box = box('draw'); >box('draw') : Box<"draw"> > : ^^^^^^^^^^^ >box : (value: T) => Box -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >'draw' : "draw" > : ^^^^^^ @@ -529,7 +529,7 @@ let result: OK<[string, number]> = ok(["hello", 12]); >ok(["hello", 12]) : OK<[string, number]> > : ^^^^^^^^^^^^^^^^^^^^ >ok : (value: T) => OK -> : ^ ^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >["hello", 12] : [string, number] > : ^^^^^^^^^^^^^^^^ >"hello" : "hello" @@ -555,7 +555,7 @@ const a3: I[] = ['a', 'b'].map(name => { >['a', 'b'].map(name => { return { code: 'mapped', name, }}) : { code: "mapped"; name: string; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >['a', 'b'].map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >['a', 'b'] : string[] > : ^^^^^^^^ >'a' : "a" @@ -563,7 +563,7 @@ const a3: I[] = ['a', 'b'].map(name => { >'b' : "b" > : ^^^ >map : (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >name => { return { code: 'mapped', name, }} : (name: string) => { code: "mapped"; name: string; } > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >name : string @@ -618,12 +618,12 @@ const f1: F = () => { return Promise.all([ >Promise.all([ { name: "David Gomes", age: 23, position: "GOALKEEPER", }, { name: "Cristiano Ronaldo", age: 33, position: "STRIKER", } ]) : Promise<({ name: string; age: number; position: "GOALKEEPER"; } | { name: string; age: number; position: "STRIKER"; })[]> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->Promise.all : { (values: Iterable>): Promise[]>; (values: T_1): Promise<{ -readonly [P in keyof T_1]: Awaited; }>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->all : { (values: Iterable>): Promise[]>; (values: T_1): Promise<{ -readonly [P in keyof T_1]: Awaited; }>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >[ { name: "David Gomes", age: 23, position: "GOALKEEPER", }, { name: "Cristiano Ronaldo", age: 33, position: "STRIKER", } ] : ({ name: string; age: number; position: "GOALKEEPER"; } | { name: string; age: number; position: "STRIKER"; })[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ { @@ -693,7 +693,7 @@ let res: boolean = foldLeft(true, (acc, t) => acc && t); // Error >foldLeft(true, (acc, t) => acc && t) : boolean > : ^^^^^^^ >foldLeft : (z: U, f: (acc: U, t: boolean) => U) => U -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >true : true > : ^^^^ >(acc, t) => acc && t : (acc: boolean, t: boolean) => boolean @@ -735,7 +735,7 @@ let x: Foo[] = bar(() => !!true ? [{ state: State.A }] : [{ state: State.B }]); >bar(() => !!true ? [{ state: State.A }] : [{ state: State.B }]) : { state: State.A; }[] > : ^^^^^^^^^^^^^^^^^^^^^ >bar : (f: () => T[]) => T[] -> : ^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >() => !!true ? [{ state: State.A }] : [{ state: State.B }] : () => { state: State.A; }[] | { state: State.B; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >!!true ? [{ state: State.A }] : [{ state: State.B }] : { state: State.A; }[] | { state: State.B; }[] @@ -860,11 +860,11 @@ baz(makeFoo(Enum.A), makeFoo(Enum.A)); >baz(makeFoo(Enum.A), makeFoo(Enum.A)) : void > : ^^^^ >baz : (x: Func, y: Func) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >makeFoo(Enum.A) : Func > : ^^^^^^^^^^ >makeFoo : (x: T) => Func -> : ^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >Enum.A : Enum.A > : ^^^^^^ >Enum : typeof Enum @@ -874,7 +874,7 @@ baz(makeFoo(Enum.A), makeFoo(Enum.A)); >makeFoo(Enum.A) : Func > : ^^^^^^^^^^ >makeFoo : (x: T) => Func -> : ^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >Enum.A : Enum.A > : ^^^^^^ >Enum : typeof Enum diff --git a/tests/baselines/reference/inferFromNestedSameShapeTuple.types b/tests/baselines/reference/inferFromNestedSameShapeTuple.types index 4cdbd56ff3758..423bf38a71dd9 100644 --- a/tests/baselines/reference/inferFromNestedSameShapeTuple.types +++ b/tests/baselines/reference/inferFromNestedSameShapeTuple.types @@ -79,7 +79,7 @@ const foo = getIds(items) >getIds(items) : ("a" | "b")[] > : ^^^^^^^^^^^^^ >getIds : (items: readonly Recursive[]) => Id[] -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >items : readonly [{ readonly id: "a"; readonly children: readonly [{ readonly id: "b"; readonly children: readonly []; }]; }] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -90,7 +90,7 @@ const foo2 = getIds([{ >getIds([{ id: 'a', children: [{ id: 'b', children: [] }]}] as const) : ("a" | "b")[] > : ^^^^^^^^^^^^^ >getIds : (items: readonly Recursive[]) => Id[] -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >[{ id: 'a', children: [{ id: 'b', children: [] }]}] as const : readonly [{ readonly id: "a"; readonly children: readonly [{ readonly id: "b"; readonly children: readonly []; }]; }] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >[{ id: 'a', children: [{ id: 'b', children: [] }]}] : readonly [{ readonly id: "a"; readonly children: readonly [{ readonly id: "b"; readonly children: readonly []; }]; }] diff --git a/tests/baselines/reference/inferObjectTypeFromStringLiteralToKeyof.types b/tests/baselines/reference/inferObjectTypeFromStringLiteralToKeyof.types index bf62d28fc7c40..b228174004c60 100644 --- a/tests/baselines/reference/inferObjectTypeFromStringLiteralToKeyof.types +++ b/tests/baselines/reference/inferObjectTypeFromStringLiteralToKeyof.types @@ -25,7 +25,7 @@ const x = inference1(two); >inference1(two) : { a: any; d: any; } > : ^^^^^^^^^^^^^^^^^^^ >inference1 : (name: keyof T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >two : "a" | "d" > : ^^^^^^^^^ @@ -35,7 +35,7 @@ const y = inference2({ a: 1, b: 2, c: 3, d(n) { return n } }, two); >inference2({ a: 1, b: 2, c: 3, d(n) { return n } }, two) : { a: number; b: number; c: number; d(n: any): any; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ >inference2 : (target: T, name: keyof T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >{ a: 1, b: 2, c: 3, d(n) { return n } } : { a: number; b: number; c: number; d(n: any): any; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ >a : number diff --git a/tests/baselines/reference/inferParameterWithMethodCallInitializer.types b/tests/baselines/reference/inferParameterWithMethodCallInitializer.types index 33659728bdfff..180a5207374b2 100644 --- a/tests/baselines/reference/inferParameterWithMethodCallInitializer.types +++ b/tests/baselines/reference/inferParameterWithMethodCallInitializer.types @@ -29,11 +29,11 @@ class Example { >this.getNumber() : number > : ^^^^^^ >this.getNumber : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >getNumber : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >a : number > : ^^^^^^ @@ -52,11 +52,11 @@ function weird(this: Example, a = this.getNumber()) { >this.getNumber() : number > : ^^^^^^ >this.getNumber : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this : Example > : ^^^^^^^ >getNumber : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ return a; >a : number @@ -76,11 +76,11 @@ class Weird { >this.getNumber() : number > : ^^^^^^ >this.getNumber : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this : Example > : ^^^^^^^ >getNumber : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ return a; >a : number diff --git a/tests/baselines/reference/inferPropertyWithContextSensitiveReturnStatement.types b/tests/baselines/reference/inferPropertyWithContextSensitiveReturnStatement.types index fd6cc5cff7615..08a2b11f7301e 100644 --- a/tests/baselines/reference/inferPropertyWithContextSensitiveReturnStatement.types +++ b/tests/baselines/reference/inferPropertyWithContextSensitiveReturnStatement.types @@ -25,7 +25,7 @@ repro({ >repro({ params: 1, callback: () => { return a => a + 1 },}) : void > : ^^^^ >repro : (config: { params: T; callback: () => (params: T) => number; }) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >{ params: 1, callback: () => { return a => a + 1 },} : { params: number; callback: () => (a: number) => number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/inferRestArgumentsMappedTuple.types b/tests/baselines/reference/inferRestArgumentsMappedTuple.types index 2fa0e35c456d6..33169cbccaa35 100644 --- a/tests/baselines/reference/inferRestArgumentsMappedTuple.types +++ b/tests/baselines/reference/inferRestArgumentsMappedTuple.types @@ -24,7 +24,7 @@ type MyMappedTupleOld = TupleMapperOld<[string, number]>; // [MyMappedType(...mappedTypes: TupleMapperOld): Tuple; >extractPrimitivesOld : (...mappedTypes: TupleMapperOld) => Tuple -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >mappedTypes : TupleMapperOld > : ^^^^^^^^^^^^^^^^^^^^^ @@ -34,7 +34,7 @@ const myPrimitiveTupleOld: [string, number] = extractPrimitivesOld({ primitive: >extractPrimitivesOld({ primitive: "" }, { primitive: 0 }) : [string, number] > : ^^^^^^^^^^^^^^^^ >extractPrimitivesOld : (...mappedTypes: TupleMapperOld) => Tuple -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >{ primitive: "" } : { primitive: string; } > : ^^^^^^^^^^^^^^^^^^^^^^ >primitive : string @@ -61,7 +61,7 @@ type MyMappedTupleNew = TupleMapperNew<[string, number]>; declare function extractPrimitivesNew(...mappedTypes: TupleMapperNew): Tuple; >extractPrimitivesNew : (...mappedTypes: TupleMapperNew) => Tuple -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >mappedTypes : TupleMapperNew > : ^^^^^^^^^^^^^^^^^^^^^ @@ -71,7 +71,7 @@ const myPrimitiveTupleNew: [string, number] = extractPrimitivesNew({ primitive: >extractPrimitivesNew({ primitive: "" }, { primitive: 0 }) : [string, number] > : ^^^^^^^^^^^^^^^^ >extractPrimitivesNew : (...mappedTypes: TupleMapperNew) => Tuple -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^ >{ primitive: "" } : { primitive: string; } > : ^^^^^^^^^^^^^^^^^^^^^^ >primitive : string diff --git a/tests/baselines/reference/inferStringLiteralUnionForBindingElement.types b/tests/baselines/reference/inferStringLiteralUnionForBindingElement.types index e570b85157da9..944daace64895 100644 --- a/tests/baselines/reference/inferStringLiteralUnionForBindingElement.types +++ b/tests/baselines/reference/inferStringLiteralUnionForBindingElement.types @@ -3,7 +3,7 @@ === inferStringLiteralUnionForBindingElement.ts === declare function func(arg: { keys: T[] }): { readonly keys: T[]; readonly firstKey: T; }; >func : (arg: { keys: T[]; }) => { readonly keys: T[]; readonly firstKey: T; } -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >arg : { keys: T[]; } > : ^^^^^^^^ ^^^ >keys : T[] @@ -23,7 +23,7 @@ function func1() { >func({keys: ["aa", "bb"]}) : { readonly keys: ("aa" | "bb")[]; readonly firstKey: "aa" | "bb"; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >func : (arg: { keys: T[]; }) => { readonly keys: T[]; readonly firstKey: T; } -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{keys: ["aa", "bb"]} : { keys: ("aa" | "bb")[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >keys : ("aa" | "bb")[] @@ -47,7 +47,7 @@ function func1() { >func({keys: ["aa", "bb"]}) : { readonly keys: ("aa" | "bb")[]; readonly firstKey: "aa" | "bb"; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >func : (arg: { keys: T[]; }) => { readonly keys: T[]; readonly firstKey: T; } -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{keys: ["aa", "bb"]} : { keys: ("aa" | "bb")[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >keys : ("aa" | "bb")[] @@ -78,7 +78,7 @@ function func2() { >func({keys: ["aa", "bb"]}) : { readonly keys: ("aa" | "bb")[]; readonly firstKey: "aa" | "bb"; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >func : (arg: { keys: T[]; }) => { readonly keys: T[]; readonly firstKey: T; } -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{keys: ["aa", "bb"]} : { keys: ("aa" | "bb")[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >keys : ("aa" | "bb")[] @@ -113,7 +113,7 @@ function func3() { >func({keys: ["aa", "bb"]}) : { readonly keys: ("aa" | "bb")[]; readonly firstKey: "aa" | "bb"; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >func : (arg: { keys: T[]; }) => { readonly keys: T[]; readonly firstKey: T; } -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{keys: ["aa", "bb"]} : { keys: ("aa" | "bb")[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >keys : ("aa" | "bb")[] diff --git a/tests/baselines/reference/inferThis.types b/tests/baselines/reference/inferThis.types index 8ef3cc0f21e34..575320075141a 100644 --- a/tests/baselines/reference/inferThis.types +++ b/tests/baselines/reference/inferThis.types @@ -40,11 +40,11 @@ const a = C.a(); >C.a() : typeof C > : ^^^^^^^^ >C.a : (this: T) => T -> : ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ >C : typeof C > : ^^^^^^^^ >a : (this: T) => T -> : ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ a; // typeof C >a : typeof C @@ -64,11 +64,11 @@ const b = c.b(); >c.b() : C > : ^ >c.b : (this: T) => T -> : ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ >c : C > : ^ >b : (this: T) => T -> : ^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ b; // C >b : C diff --git a/tests/baselines/reference/inferThisType.types b/tests/baselines/reference/inferThisType.types index 1e801ab49715a..d29d3a3a1ba83 100644 --- a/tests/baselines/reference/inferThisType.types +++ b/tests/baselines/reference/inferThisType.types @@ -19,9 +19,9 @@ f(h) >f(h) : number > : ^^^^^^ >f : (g: (this: T) => void) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >h : (this: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ // works with infer types as well type Check = T extends (this: infer U, ...args: any[]) => any ? string : unknown; diff --git a/tests/baselines/reference/inferTupleFromBindingPattern.types b/tests/baselines/reference/inferTupleFromBindingPattern.types index 09ff823a1212e..7506ede632962 100644 --- a/tests/baselines/reference/inferTupleFromBindingPattern.types +++ b/tests/baselines/reference/inferTupleFromBindingPattern.types @@ -17,7 +17,7 @@ const [e1, e2, e3] = f(() => [1, "hi", true]); >f(() => [1, "hi", true]) : [number, string, boolean] > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >f : (cb: () => T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >() => [1, "hi", true] : () => [number, string, boolean] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >[1, "hi", true] : [number, string, true] diff --git a/tests/baselines/reference/inferTypePredicates.types b/tests/baselines/reference/inferTypePredicates.types index 8bdedfc9c3532..7c31001eda6eb 100644 --- a/tests/baselines/reference/inferTypePredicates.types +++ b/tests/baselines/reference/inferTypePredicates.types @@ -23,11 +23,11 @@ const filteredNumsTruthy: number[] = numsOrNull.filter(x => !!x); // should err >numsOrNull.filter(x => !!x) : (number | null)[] > : ^^^^^^^^^^^^^^^^^ >numsOrNull.filter : { (predicate: (value: number | null, index: number, array: (number | null)[]) => value is S, thisArg?: any): S[]; (predicate: (value: number | null, index: number, array: (number | null)[]) => unknown, thisArg?: any): (number | null)[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^^ >numsOrNull : (number | null)[] > : ^^^^^^^^^^^^^^^^^ >filter : { (predicate: (value: number | null, index: number, array: (number | null)[]) => value is S, thisArg?: any): S[]; (predicate: (value: number | null, index: number, array: (number | null)[]) => unknown, thisArg?: any): (number | null)[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^^ >x => !!x : (x: number | null) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number | null @@ -45,11 +45,11 @@ const filteredNumsNonNullish: number[] = numsOrNull.filter(x => x !== null); // >numsOrNull.filter(x => x !== null) : number[] > : ^^^^^^^^ >numsOrNull.filter : { (predicate: (value: number | null, index: number, array: (number | null)[]) => value is S, thisArg?: any): S[]; (predicate: (value: number | null, index: number, array: (number | null)[]) => unknown, thisArg?: any): (number | null)[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^^ >numsOrNull : (number | null)[] > : ^^^^^^^^^^^^^^^^^ >filter : { (predicate: (value: number | null, index: number, array: (number | null)[]) => value is S, thisArg?: any): S[]; (predicate: (value: number | null, index: number, array: (number | null)[]) => unknown, thisArg?: any): (number | null)[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^^ >x => x !== null : (x: number | null) => x is number > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number | null @@ -67,11 +67,11 @@ const evenSquaresInline: number[] = // should error >[1, 2, 3, 4] .map(x => x % 2 === 0 ? x * x : null) .filter(x => !!x) : (number | null)[] > : ^^^^^^^^^^^^^^^^^ >[1, 2, 3, 4] .map(x => x % 2 === 0 ? x * x : null) .filter : { (predicate: (value: number | null, index: number, array: (number | null)[]) => value is S, thisArg?: any): S[]; (predicate: (value: number | null, index: number, array: (number | null)[]) => unknown, thisArg?: any): (number | null)[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^^ >[1, 2, 3, 4] .map(x => x % 2 === 0 ? x * x : null) : (number | null)[] > : ^^^^^^^^^^^^^^^^^ >[1, 2, 3, 4] .map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >[1, 2, 3, 4] : number[] > : ^^^^^^^^ >1 : 1 @@ -85,7 +85,7 @@ const evenSquaresInline: number[] = // should error .map(x => x % 2 === 0 ? x * x : null) >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >x => x % 2 === 0 ? x * x : null : (x: number) => number | null > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -111,7 +111,7 @@ const evenSquaresInline: number[] = // should error .filter(x => !!x); // tests truthiness, not non-nullishness >filter : { (predicate: (value: number | null, index: number, array: (number | null)[]) => value is S, thisArg?: any): S[]; (predicate: (value: number | null, index: number, array: (number | null)[]) => unknown, thisArg?: any): (number | null)[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^^ >x => !!x : (x: number | null) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number | null @@ -145,11 +145,11 @@ const evenSquares: number[] = // should error >[1, 2, 3, 4] .map(x => x % 2 === 0 ? x * x : null) .filter(isTruthy) : (number | null)[] > : ^^^^^^^^^^^^^^^^^ >[1, 2, 3, 4] .map(x => x % 2 === 0 ? x * x : null) .filter : { (predicate: (value: number | null, index: number, array: (number | null)[]) => value is S, thisArg?: any): S[]; (predicate: (value: number | null, index: number, array: (number | null)[]) => unknown, thisArg?: any): (number | null)[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^^ >[1, 2, 3, 4] .map(x => x % 2 === 0 ? x * x : null) : (number | null)[] > : ^^^^^^^^^^^^^^^^^ >[1, 2, 3, 4] .map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >[1, 2, 3, 4] : number[] > : ^^^^^^^^ >1 : 1 @@ -163,7 +163,7 @@ const evenSquares: number[] = // should error .map(x => x % 2 === 0 ? x * x : null) >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >x => x % 2 === 0 ? x * x : null : (x: number) => number | null > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -189,7 +189,7 @@ const evenSquares: number[] = // should error .filter(isTruthy); >filter : { (predicate: (value: number | null, index: number, array: (number | null)[]) => value is S, thisArg?: any): S[]; (predicate: (value: number | null, index: number, array: (number | null)[]) => unknown, thisArg?: any): (number | null)[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^^ >isTruthy : (x: number | null) => boolean > : ^ ^^ ^^^^^^^^^^^^ @@ -201,11 +201,11 @@ const evenSquaresNonNull: number[] = // should ok >[1, 2, 3, 4] .map(x => x % 2 === 0 ? x * x : null) .filter(x => x !== null) : number[] > : ^^^^^^^^ >[1, 2, 3, 4] .map(x => x % 2 === 0 ? x * x : null) .filter : { (predicate: (value: number | null, index: number, array: (number | null)[]) => value is S, thisArg?: any): S[]; (predicate: (value: number | null, index: number, array: (number | null)[]) => unknown, thisArg?: any): (number | null)[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^^ >[1, 2, 3, 4] .map(x => x % 2 === 0 ? x * x : null) : (number | null)[] > : ^^^^^^^^^^^^^^^^^ >[1, 2, 3, 4] .map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >[1, 2, 3, 4] : number[] > : ^^^^^^^^ >1 : 1 @@ -219,7 +219,7 @@ const evenSquaresNonNull: number[] = // should ok .map(x => x % 2 === 0 ? x * x : null) >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >x => x % 2 === 0 ? x * x : null : (x: number) => number | null > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -245,7 +245,7 @@ const evenSquaresNonNull: number[] = // should ok .filter(x => x !== null); >filter : { (predicate: (value: number | null, index: number, array: (number | null)[]) => value is S, thisArg?: any): S[]; (predicate: (value: number | null, index: number, array: (number | null)[]) => unknown, thisArg?: any): (number | null)[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^^ >x => x !== null : (x: number | null) => x is number > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number | null @@ -326,7 +326,7 @@ const mySecondGuard = (o: string | undefined) => myGuard(o); >myGuard(o) : boolean > : ^^^^^^^ >myGuard : (o: string | undefined) => o is string -> : ^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >o : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -357,35 +357,35 @@ const result = myArray >myArray .map((arr) => arr.list) .filter((arr) => arr && arr.length) .map((arr) => arr // should error .filter((obj) => obj && obj.data) .map(obj => JSON.parse(obj.data)) // should error ) : any[][] > : ^^^^^^^ >myArray .map((arr) => arr.list) .filter((arr) => arr && arr.length) .map : (callbackfn: (value: MyObj[] | undefined, index: number, array: (MyObj[] | undefined)[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >myArray .map((arr) => arr.list) .filter((arr) => arr && arr.length) : (MyObj[] | undefined)[] > : ^^^^^^^^^^^^^^^^^^^^^^^ >myArray .map((arr) => arr.list) .filter : { (predicate: (value: MyObj[] | undefined, index: number, array: (MyObj[] | undefined)[]) => value is S, thisArg?: any): S[]; (predicate: (value: MyObj[] | undefined, index: number, array: (MyObj[] | undefined)[]) => unknown, thisArg?: any): (MyObj[] | undefined)[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >myArray .map((arr) => arr.list) : (MyObj[] | undefined)[] > : ^^^^^^^^^^^^^^^^^^^^^^^ ->myArray .map : (callbackfn: (value: { list?: MyObj[] | undefined; }, index: number, array: { list?: MyObj[] | undefined; }[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +>myArray .map : (callbackfn: (value: { list?: MyObj[]; }, index: number, array: { list?: MyObj[]; }[]) => U, thisArg?: any) => U[] +> : ^^^^ ^^^ ^^^^^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^ >myArray : MyArray > : ^^^^^^^ .map((arr) => arr.list) ->map : (callbackfn: (value: { list?: MyObj[] | undefined; }, index: number, array: { list?: MyObj[] | undefined; }[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ->(arr) => arr.list : (arr: { list?: MyObj[] | undefined; }) => MyObj[] | undefined -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->arr : { list?: MyObj[] | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map : (callbackfn: (value: { list?: MyObj[]; }, index: number, array: { list?: MyObj[]; }[]) => U, thisArg?: any) => U[] +> : ^^^^ ^^^ ^^^^^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^ +>(arr) => arr.list : (arr: { list?: MyObj[]; }) => MyObj[] | undefined +> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>arr : { list?: MyObj[]; } +> : ^^^^^^^^^ ^^^ >arr.list : MyObj[] | undefined > : ^^^^^^^^^^^^^^^^^^^ ->arr : { list?: MyObj[] | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>arr : { list?: MyObj[]; } +> : ^^^^^^^^^ ^^^ >list : MyObj[] | undefined > : ^^^^^^^^^^^^^^^^^^^ .filter((arr) => arr && arr.length) >filter : { (predicate: (value: MyObj[] | undefined, index: number, array: (MyObj[] | undefined)[]) => value is S, thisArg?: any): S[]; (predicate: (value: MyObj[] | undefined, index: number, array: (MyObj[] | undefined)[]) => unknown, thisArg?: any): (MyObj[] | undefined)[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >(arr) => arr && arr.length : (arr: MyObj[] | undefined) => number | undefined > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >arr : MyObj[] | undefined @@ -403,7 +403,7 @@ const result = myArray .map((arr) => arr // should error >map : (callbackfn: (value: MyObj[] | undefined, index: number, array: (MyObj[] | undefined)[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >(arr) => arr // should error .filter((obj) => obj && obj.data) .map(obj => JSON.parse(obj.data)) : (arr: MyObj[] | undefined) => any[] > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >arr : MyObj[] | undefined @@ -411,17 +411,17 @@ const result = myArray >arr // should error .filter((obj) => obj && obj.data) .map(obj => JSON.parse(obj.data)) : any[] > : ^^^^^ >arr // should error .filter((obj) => obj && obj.data) .map : (callbackfn: (value: MyObj, index: number, array: MyObj[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >arr // should error .filter((obj) => obj && obj.data) : MyObj[] > : ^^^^^^^ >arr // should error .filter : { (predicate: (value: MyObj, index: number, array: MyObj[]) => value is S, thisArg?: any): S[]; (predicate: (value: MyObj, index: number, array: MyObj[]) => unknown, thisArg?: any): MyObj[]; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^ ^^^ >arr : MyObj[] | undefined > : ^^^^^^^^^^^^^^^^^^^ .filter((obj) => obj && obj.data) >filter : { (predicate: (value: MyObj, index: number, array: MyObj[]) => value is S, thisArg?: any): S[]; (predicate: (value: MyObj, index: number, array: MyObj[]) => unknown, thisArg?: any): MyObj[]; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^ ^^^ >(obj) => obj && obj.data : (obj: MyObj) => string | undefined > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >obj : MyObj @@ -439,7 +439,7 @@ const result = myArray .map(obj => JSON.parse(obj.data)) // should error >map : (callbackfn: (value: MyObj, index: number, array: MyObj[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >obj => JSON.parse(obj.data) : (obj: MyObj) => any > : ^ ^^^^^^^^^^^^^^^ >obj : MyObj @@ -447,11 +447,11 @@ const result = myArray >JSON.parse(obj.data) : any > : ^^^ >JSON.parse : (text: string, reviver?: (this: any, key: string, value: any) => any) => any -> : ^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >JSON : JSON > : ^^^^ >parse : (text: string, reviver?: (this: any, key: string, value: any) => any) => any -> : ^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >obj.data : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : MyObj @@ -467,39 +467,39 @@ const result2 = myArray >myArray .map((arr) => arr.list) .filter((arr) => !!arr) .filter(arr => arr.length) .map((arr) => arr // should ok .filter((obj) => obj) // inferring a guard here would require https://github.com/microsoft/TypeScript/issues/42384 .filter(obj => !!obj.data) .map(obj => JSON.parse(obj.data)) ) : any[][] > : ^^^^^^^ >myArray .map((arr) => arr.list) .filter((arr) => !!arr) .filter(arr => arr.length) .map : (callbackfn: (value: MyObj[], index: number, array: MyObj[][]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >myArray .map((arr) => arr.list) .filter((arr) => !!arr) .filter(arr => arr.length) : MyObj[][] > : ^^^^^^^^^ >myArray .map((arr) => arr.list) .filter((arr) => !!arr) .filter : { (predicate: (value: MyObj[], index: number, array: MyObj[][]) => value is S, thisArg?: any): S[]; (predicate: (value: MyObj[], index: number, array: MyObj[][]) => unknown, thisArg?: any): MyObj[][]; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^^ >myArray .map((arr) => arr.list) .filter((arr) => !!arr) : MyObj[][] > : ^^^^^^^^^ >myArray .map((arr) => arr.list) .filter : { (predicate: (value: MyObj[] | undefined, index: number, array: (MyObj[] | undefined)[]) => value is S, thisArg?: any): S[]; (predicate: (value: MyObj[] | undefined, index: number, array: (MyObj[] | undefined)[]) => unknown, thisArg?: any): (MyObj[] | undefined)[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >myArray .map((arr) => arr.list) : (MyObj[] | undefined)[] > : ^^^^^^^^^^^^^^^^^^^^^^^ ->myArray .map : (callbackfn: (value: { list?: MyObj[] | undefined; }, index: number, array: { list?: MyObj[] | undefined; }[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +>myArray .map : (callbackfn: (value: { list?: MyObj[]; }, index: number, array: { list?: MyObj[]; }[]) => U, thisArg?: any) => U[] +> : ^^^^ ^^^ ^^^^^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^ >myArray : MyArray > : ^^^^^^^ .map((arr) => arr.list) ->map : (callbackfn: (value: { list?: MyObj[] | undefined; }, index: number, array: { list?: MyObj[] | undefined; }[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ->(arr) => arr.list : (arr: { list?: MyObj[] | undefined; }) => MyObj[] | undefined -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->arr : { list?: MyObj[] | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map : (callbackfn: (value: { list?: MyObj[]; }, index: number, array: { list?: MyObj[]; }[]) => U, thisArg?: any) => U[] +> : ^^^^ ^^^ ^^^^^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ ^^^^^^ +>(arr) => arr.list : (arr: { list?: MyObj[]; }) => MyObj[] | undefined +> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>arr : { list?: MyObj[]; } +> : ^^^^^^^^^ ^^^ >arr.list : MyObj[] | undefined > : ^^^^^^^^^^^^^^^^^^^ ->arr : { list?: MyObj[] | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>arr : { list?: MyObj[]; } +> : ^^^^^^^^^ ^^^ >list : MyObj[] | undefined > : ^^^^^^^^^^^^^^^^^^^ .filter((arr) => !!arr) >filter : { (predicate: (value: MyObj[] | undefined, index: number, array: (MyObj[] | undefined)[]) => value is S, thisArg?: any): S[]; (predicate: (value: MyObj[] | undefined, index: number, array: (MyObj[] | undefined)[]) => unknown, thisArg?: any): (MyObj[] | undefined)[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >(arr) => !!arr : (arr: MyObj[] | undefined) => arr is MyObj[] > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >arr : MyObj[] | undefined @@ -513,7 +513,7 @@ const result2 = myArray .filter(arr => arr.length) >filter : { (predicate: (value: MyObj[], index: number, array: MyObj[][]) => value is S, thisArg?: any): S[]; (predicate: (value: MyObj[], index: number, array: MyObj[][]) => unknown, thisArg?: any): MyObj[][]; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^^ >arr => arr.length : (arr: MyObj[]) => number > : ^ ^^^^^^^^^^^^^^^^^^^^ >arr : MyObj[] @@ -527,7 +527,7 @@ const result2 = myArray .map((arr) => arr // should ok >map : (callbackfn: (value: MyObj[], index: number, array: MyObj[][]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >(arr) => arr // should ok .filter((obj) => obj) // inferring a guard here would require https://github.com/microsoft/TypeScript/issues/42384 .filter(obj => !!obj.data) .map(obj => JSON.parse(obj.data)) : (arr: MyObj[]) => any[] > : ^ ^^^^^^^^^^^^^^^^^^^ >arr : MyObj[] @@ -535,21 +535,21 @@ const result2 = myArray >arr // should ok .filter((obj) => obj) // inferring a guard here would require https://github.com/microsoft/TypeScript/issues/42384 .filter(obj => !!obj.data) .map(obj => JSON.parse(obj.data)) : any[] > : ^^^^^ >arr // should ok .filter((obj) => obj) // inferring a guard here would require https://github.com/microsoft/TypeScript/issues/42384 .filter(obj => !!obj.data) .map : (callbackfn: (value: MyObj, index: number, array: MyObj[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >arr // should ok .filter((obj) => obj) // inferring a guard here would require https://github.com/microsoft/TypeScript/issues/42384 .filter(obj => !!obj.data) : MyObj[] > : ^^^^^^^ >arr // should ok .filter((obj) => obj) // inferring a guard here would require https://github.com/microsoft/TypeScript/issues/42384 .filter : { (predicate: (value: MyObj, index: number, array: MyObj[]) => value is S, thisArg?: any): S[]; (predicate: (value: MyObj, index: number, array: MyObj[]) => unknown, thisArg?: any): MyObj[]; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^ ^^^ >arr // should ok .filter((obj) => obj) : MyObj[] > : ^^^^^^^ >arr // should ok .filter : { (predicate: (value: MyObj, index: number, array: MyObj[]) => value is S, thisArg?: any): S[]; (predicate: (value: MyObj, index: number, array: MyObj[]) => unknown, thisArg?: any): MyObj[]; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^ ^^^ >arr : MyObj[] > : ^^^^^^^ .filter((obj) => obj) >filter : { (predicate: (value: MyObj, index: number, array: MyObj[]) => value is S, thisArg?: any): S[]; (predicate: (value: MyObj, index: number, array: MyObj[]) => unknown, thisArg?: any): MyObj[]; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^ ^^^ >(obj) => obj : (obj: MyObj) => MyObj > : ^ ^^^^^^^^^^^^^^^^^ >obj : MyObj @@ -560,7 +560,7 @@ const result2 = myArray // inferring a guard here would require https://github.com/microsoft/TypeScript/issues/42384 .filter(obj => !!obj.data) >filter : { (predicate: (value: MyObj, index: number, array: MyObj[]) => value is S, thisArg?: any): S[]; (predicate: (value: MyObj, index: number, array: MyObj[]) => unknown, thisArg?: any): MyObj[]; } -> : ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^ ^^^ >obj => !!obj.data : (obj: MyObj) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^ >obj : MyObj @@ -578,7 +578,7 @@ const result2 = myArray .map(obj => JSON.parse(obj.data)) >map : (callbackfn: (value: MyObj, index: number, array: MyObj[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >obj => JSON.parse(obj.data) : (obj: MyObj) => any > : ^ ^^^^^^^^^^^^^^^ >obj : MyObj @@ -586,11 +586,11 @@ const result2 = myArray >JSON.parse(obj.data) : any > : ^^^ >JSON.parse : (text: string, reviver?: (this: any, key: string, value: any) => any) => any -> : ^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >JSON : JSON > : ^^^^ >parse : (text: string, reviver?: (this: any, key: string, value: any) => any) => any -> : ^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >obj.data : string | undefined > : ^^^^^^^^^^^^^^^^^^ >obj : MyObj @@ -630,11 +630,11 @@ const resultBars: Bar[] = list.filter((value) => 'bar' in value); // should ok >list.filter((value) => 'bar' in value) : Bar[] > : ^^^^^ >list.filter : { (predicate: (value: Foo | Bar, index: number, array: (Foo | Bar)[]) => value is S, thisArg?: any): S[]; (predicate: (value: Foo | Bar, index: number, array: (Foo | Bar)[]) => unknown, thisArg?: any): (Foo | Bar)[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^^ >list : (Foo | Bar)[] > : ^^^^^^^^^^^^^ >filter : { (predicate: (value: Foo | Bar, index: number, array: (Foo | Bar)[]) => value is S, thisArg?: any): S[]; (predicate: (value: Foo | Bar, index: number, array: (Foo | Bar)[]) => unknown, thisArg?: any): (Foo | Bar)[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^^ >(value) => 'bar' in value : (value: Foo | Bar) => value is Bar > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >value : Foo | Bar @@ -697,7 +697,7 @@ const a = [1, "foo", 2, "bar"].filter(x => typeof x === "string"); >[1, "foo", 2, "bar"].filter(x => typeof x === "string") : string[] > : ^^^^^^^^ >[1, "foo", 2, "bar"].filter : { (predicate: (value: string | number, index: number, array: (string | number)[]) => value is S, thisArg?: any): S[]; (predicate: (value: string | number, index: number, array: (string | number)[]) => unknown, thisArg?: any): (string | number)[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ >[1, "foo", 2, "bar"] : (string | number)[] > : ^^^^^^^^^^^^^^^^^^^ >1 : 1 @@ -709,7 +709,7 @@ const a = [1, "foo", 2, "bar"].filter(x => typeof x === "string"); >"bar" : "bar" > : ^^^^^ >filter : { (predicate: (value: string | number, index: number, array: (string | number)[]) => value is S, thisArg?: any): S[]; (predicate: (value: string | number, index: number, array: (string | number)[]) => unknown, thisArg?: any): (string | number)[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ >x => typeof x === "string" : (x: string | number) => x is string > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : string | number @@ -727,11 +727,11 @@ a.push(10); >a.push(10) : number > : ^^^^^^ >a.push : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >a : string[] > : ^^^^^^^^ >push : (...items: string[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^ >10 : 10 > : ^^ @@ -819,11 +819,11 @@ function flakyIsString(x: string | number) { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ } @@ -883,11 +883,11 @@ function flakyIsDate(x: object) { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ } @@ -960,11 +960,11 @@ function irrelevantIsNumber(x: string | number) { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ >"string" : "string" @@ -1004,11 +1004,11 @@ function irrelevantIsNumberDestructuring(x: string | number) { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ >"string" : "string" @@ -1341,11 +1341,11 @@ if (isShortString(str)) { >str.charAt(0) : string > : ^^^^^^ >str.charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >str : string > : ^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ @@ -1354,11 +1354,11 @@ if (isShortString(str)) { >str.charAt(0) : string > : ^^^^^^ >str.charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >str : string > : ^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ } @@ -1391,11 +1391,11 @@ if (isStringFromUnknown(str)) { >str.charAt(0) : string > : ^^^^^^ >str.charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >str : string > : ^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ @@ -1614,19 +1614,19 @@ declare const foobar: const foobarPred = (fb: typeof foobar) => fb.type === "foo"; >foobarPred : (fb: typeof foobar) => fb is { type: "foo"; foo: number; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >(fb: typeof foobar) => fb.type === "foo" : (fb: typeof foobar) => fb is { type: "foo"; foo: number; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >fb : { type: "foo"; foo: number; } | { type: "bar"; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >foobar : { type: "foo"; foo: number; } | { type: "bar"; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >fb.type === "foo" : boolean > : ^^^^^^^ >fb.type : "bar" | "foo" > : ^^^^^^^^^^^^^ >fb : { type: "foo"; foo: number; } | { type: "bar"; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >type : "bar" | "foo" > : ^^^^^^^^^^^^^ >"foo" : "foo" @@ -1636,15 +1636,15 @@ if (foobarPred(foobar)) { >foobarPred(foobar) : boolean > : ^^^^^^^ >foobarPred : (fb: typeof foobar) => fb is { type: "foo"; foo: number; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^ >foobar : { type: "foo"; foo: number; } | { type: "bar"; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^ ^^^ foobar.foo; >foobar.foo : number > : ^^^^^^ >foobar : { type: "foo"; foo: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^ ^^^ >foo : number > : ^^^^^^ } diff --git a/tests/baselines/reference/inferTypes1.errors.txt b/tests/baselines/reference/inferTypes1.errors.txt index aac97232d02fb..a5d4c73aaa388 100644 --- a/tests/baselines/reference/inferTypes1.errors.txt +++ b/tests/baselines/reference/inferTypes1.errors.txt @@ -13,15 +13,13 @@ inferTypes1.ts(83,16): error TS1338: 'infer' declarations are only permitted in inferTypes1.ts(83,43): error TS1338: 'infer' declarations are only permitted in the 'extends' clause of a conditional type. inferTypes1.ts(83,53): error TS1338: 'infer' declarations are only permitted in the 'extends' clause of a conditional type. inferTypes1.ts(84,15): error TS2304: Cannot find name 'U'. -inferTypes1.ts(84,15): error TS4081: Exported type alias 'T62' has or is using private name 'U'. inferTypes1.ts(84,43): error TS2304: Cannot find name 'U'. -inferTypes1.ts(84,43): error TS4081: Exported type alias 'T62' has or is using private name 'U'. inferTypes1.ts(91,44): error TS2344: Type 'U' does not satisfy the constraint 'string'. Type 'number' is not assignable to type 'string'. inferTypes1.ts(153,40): error TS2322: Type 'T' is not assignable to type 'string | number | symbol'. -==== inferTypes1.ts (16 errors) ==== +==== inferTypes1.ts (14 errors) ==== type Unpacked = T extends (infer U)[] ? U : T extends (...args: any[]) => infer U ? U : @@ -132,12 +130,8 @@ inferTypes1.ts(153,40): error TS2322: Type 'T' is not assignable to type 'string type T62 = U extends (infer U)[] ? U : U; // Error ~ !!! error TS2304: Cannot find name 'U'. - ~ -!!! error TS4081: Exported type alias 'T62' has or is using private name 'U'. ~ !!! error TS2304: Cannot find name 'U'. - ~ -!!! error TS4081: Exported type alias 'T62' has or is using private name 'U'. type T63 = T extends ((infer A) extends infer B ? infer C : infer D) ? string : number; type T70 = { x: T }; diff --git a/tests/baselines/reference/inferTypes1.js b/tests/baselines/reference/inferTypes1.js index 5f9d5f6a87604..6d906fb02e872 100644 --- a/tests/baselines/reference/inferTypes1.js +++ b/tests/baselines/reference/inferTypes1.js @@ -219,3 +219,197 @@ function invoker(key) { return function (obj) { return obj[key].apply(obj, args); }; } var result = invoker('test', true)({ test: function (a) { return 123; } }); + + +//// [inferTypes1.d.ts] +type Unpacked = T extends (infer U)[] ? U : T extends (...args: any[]) => infer U ? U : T extends Promise ? U : T; +type T00 = Unpacked; +type T01 = Unpacked; +type T02 = Unpacked<() => string>; +type T03 = Unpacked>; +type T04 = Unpacked[]>>; +type T05 = Unpacked; +type T06 = Unpacked; +declare function f1(s: string): { + a: number; + b: string; +}; +declare class C { + x: number; + y: number; +} +declare abstract class Abstract { + x: number; + y: number; +} +type T10 = ReturnType<() => string>; +type T11 = ReturnType<(s: string) => void>; +type T12 = ReturnType<(() => T)>; +type T13 = ReturnType<(() => T)>; +type T14 = ReturnType; +type T15 = ReturnType; +type T16 = ReturnType; +type T17 = ReturnType; +type T18 = ReturnType; +type T19 = ReturnType<(x: string, ...args: T) => T[]>; +type U10 = InstanceType; +type U11 = InstanceType; +type U12 = InstanceType; +type U13 = InstanceType; +type U14 = InstanceType; +type U15 = InstanceType; +type U16 = InstanceType T[]>; +type U17 = InstanceType T[]>; +type ArgumentType any> = T extends (a: infer A) => any ? A : any; +type T20 = ArgumentType<() => void>; +type T21 = ArgumentType<(x: string) => number>; +type T22 = ArgumentType<(x?: string) => number>; +type T23 = ArgumentType<(...args: string[]) => number>; +type T24 = ArgumentType<(x: string, y: string) => number>; +type T25 = ArgumentType; +type T26 = ArgumentType; +type T27 = ArgumentType; +type X1 = T extends { + x: infer X; + y: infer Y; +} ? [X, Y] : any; +type T30 = X1<{ + x: any; + y: any; +}>; +type T31 = X1<{ + x: number; + y: string; +}>; +type T32 = X1<{ + x: number; + y: string; + z: boolean; +}>; +type X2 = T extends { + a: infer U; + b: infer U; +} ? U : never; +type T40 = X2<{}>; +type T41 = X2<{ + a: string; +}>; +type T42 = X2<{ + a: string; + b: string; +}>; +type T43 = X2<{ + a: number; + b: string; +}>; +type T44 = X2<{ + a: number; + b: string; + c: boolean; +}>; +type X3 = T extends { + a: (x: infer U) => void; + b: (x: infer U) => void; +} ? U : never; +type T50 = X3<{}>; +type T51 = X3<{ + a: (x: string) => void; +}>; +type T52 = X3<{ + a: (x: string) => void; + b: (x: string) => void; +}>; +type T53 = X3<{ + a: (x: number) => void; + b: (x: string) => void; +}>; +type T54 = X3<{ + a: (x: number) => void; + b: () => void; +}>; +type T60 = infer U; +type T61 = (infer A) extends infer B ? infer C : infer D; +type T62 = U extends (infer U)[] ? U : U; +type T63 = T extends ((infer A) extends infer B ? infer C : infer D) ? string : number; +type T70 = { + x: T; +}; +type T71 = T extends T70 ? T70 : never; +type T72 = { + y: T; +}; +type T73 = T extends T72 ? T70 : never; +type T74 = { + x: T; + y: U; +}; +type T75 = T extends T74 ? T70 | T72 | T74 : never; +type T76 = { + x: T; +}; +type T77 = T extends T76 ? T76 : never; +type T78 = T extends T76 ? T76 : never; +type Foo = [T, U]; +type Bar = T extends Foo ? Foo : never; +type T90 = Bar<[string, string]>; +type T91 = Bar<[string, "a"]>; +type T92 = Bar<[string, "a"] & { + x: string; +}>; +type T93 = Bar<["a", string]>; +type T94 = Bar<[number, number]>; +type JsonifiedObject = { + [K in keyof T]: Jsonified; +}; +type Jsonified = T extends string | number | boolean | null ? T : T extends undefined | Function ? never : T extends { + toJSON(): infer R; +} ? R : T extends object ? JsonifiedObject : "what is this"; +type Example = { + str: "literalstring"; + fn: () => void; + date: Date; + customClass: MyClass; + obj: { + prop: "property"; + clz: MyClass; + nested: { + attr: Date; + }; + }; +}; +declare class MyClass { + toJSON(): "correct"; +} +type JsonifiedExample = Jsonified; +declare let ex: JsonifiedExample; +declare const z1: "correct"; +declare const z2: string; +type A1> = [T, U]; +type B1 = S extends A1 ? [T, U] : never; +type A2 = [T, U]; +type B2 = S extends A2 ? [T, U] : never; +type C2 = S extends A2 ? [T, U] : never; +type A = T extends string ? { + [P in T]: void; +} : T; +type B = string extends T ? { + [P in T]: void; +} : T; +type MatchingKeys = K extends keyof T ? T[K] extends U ? K : never : never; +type VoidKeys = MatchingKeys; +interface test { + a: 1; + b: void; +} +type T80 = MatchingKeys; +type T81 = VoidKeys; +type MustBeString = T; +type EnsureIsString = T extends MustBeString ? U : never; +type Test1 = EnsureIsString<"hello">; +type Test2 = EnsureIsString<42>; +declare function invoker(key: K, ...args: A): any>>(obj: T) => ReturnType; +declare const result: number; +type Foo2 = ReturnType<(...args: A) => string>; diff --git a/tests/baselines/reference/inferTypes1.types b/tests/baselines/reference/inferTypes1.types index e59edb069c7e2..23e9586745ede 100644 --- a/tests/baselines/reference/inferTypes1.types +++ b/tests/baselines/reference/inferTypes1.types @@ -561,15 +561,15 @@ const z2: string = ex.obj.nested.attr; >ex.obj.nested.attr : string > : ^^^^^^ >ex.obj.nested : JsonifiedObject<{ attr: Date; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >ex.obj : JsonifiedObject<{ prop: "property"; clz: MyClass; nested: { attr: Date; }; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^ >ex : JsonifiedObject > : ^^^^^^^^^^^^^^^^^^^^^^^^ >obj : JsonifiedObject<{ prop: "property"; clz: MyClass; nested: { attr: Date; }; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^ ^^^^ >nested : JsonifiedObject<{ attr: Date; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >attr : string > : ^^^^^^ @@ -657,7 +657,7 @@ type Test2 = EnsureIsString<42>; // never function invoker (key: K, ...args: A) { >invoker : (key: K, ...args: A) => any>>(obj: T) => ReturnType -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >key : K > : ^ >args : A @@ -665,7 +665,7 @@ function invoker (key: K, return any>> (obj: T): ReturnType => obj[key](...args) > any>> (obj: T): ReturnType => obj[key](...args) : any>>(obj: T) => ReturnType -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >args : A > : ^ >obj : T @@ -690,9 +690,9 @@ const result = invoker('test', true)({ test: (a: boolean) => 123 }) >invoker('test', true)({ test: (a: boolean) => 123 }) : number > : ^^^^^^ >invoker('test', true) : any>>(obj: T) => ReturnType -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^ ^^^^^^ >invoker : (key: K, ...args: A) => any>>(obj: T) => ReturnType -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >'test' : "test" > : ^^^^^^ >true : true diff --git a/tests/baselines/reference/inferTypes2.types b/tests/baselines/reference/inferTypes2.types index b3fc8cf55fe61..6c47293cf8049 100644 --- a/tests/baselines/reference/inferTypes2.types +++ b/tests/baselines/reference/inferTypes2.types @@ -11,15 +11,15 @@ export declare function foo(obj: T): T extends () => infer P ? P : never; export function bar(obj: T) { >bar : (obj: T) => T extends () => infer P ? P : never -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ >obj : T > : ^ return foo(obj); >foo(obj) : T extends () => infer P ? P : never -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ >foo : (obj: T_1) => T_1 extends () => infer P ? P : never -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >obj : T > : ^ } @@ -45,8 +45,8 @@ export function bar2(obj: T) { return foo2(obj); >foo2(obj) : T extends { x: infer P extends number ? infer P : string; } ? P : never > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo2 : (obj: T_1) => T_1 extends { x: infer P extends number ? infer P : string; } ? P : never -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo2 : (obj: T_1) => T_1 extends { [K in keyof BadNested]: BadNested[K]; } ? P : never +> : ^ ^^ ^^ ^^^^^ >obj : T > : ^ } diff --git a/tests/baselines/reference/inferTypesInvalidExtendsDeclaration.errors.txt b/tests/baselines/reference/inferTypesInvalidExtendsDeclaration.errors.txt index be9906bcda563..db630c7776649 100644 --- a/tests/baselines/reference/inferTypesInvalidExtendsDeclaration.errors.txt +++ b/tests/baselines/reference/inferTypesInvalidExtendsDeclaration.errors.txt @@ -1,11 +1,8 @@ inferTypesInvalidExtendsDeclaration.ts(1,42): error TS2304: Cannot find name 'B'. -inferTypesInvalidExtendsDeclaration.ts(1,42): error TS4085: Extends clause for inferred type 'A' has or is using private name 'B'. -==== inferTypesInvalidExtendsDeclaration.ts (2 errors) ==== +==== inferTypesInvalidExtendsDeclaration.ts (1 errors) ==== type Test = T extends infer A extends B ? number : string; ~ !!! error TS2304: Cannot find name 'B'. - ~ -!!! error TS4085: Extends clause for inferred type 'A' has or is using private name 'B'. \ No newline at end of file diff --git a/tests/baselines/reference/inferTypesInvalidExtendsDeclaration.js b/tests/baselines/reference/inferTypesInvalidExtendsDeclaration.js index 18d2c03265d90..57833de7e4a6b 100644 --- a/tests/baselines/reference/inferTypesInvalidExtendsDeclaration.js +++ b/tests/baselines/reference/inferTypesInvalidExtendsDeclaration.js @@ -5,3 +5,7 @@ type Test = T extends infer A extends B ? number : string; //// [inferTypesInvalidExtendsDeclaration.js] + + +//// [inferTypesInvalidExtendsDeclaration.d.ts] +type Test = T extends infer A extends B ? number : string; diff --git a/tests/baselines/reference/inferTypesWithExtends1.js b/tests/baselines/reference/inferTypesWithExtends1.js index 0aea5af6173cc..298199e4b9042 100644 --- a/tests/baselines/reference/inferTypesWithExtends1.js +++ b/tests/baselines/reference/inferTypesWithExtends1.js @@ -294,7 +294,7 @@ type X21_T4 = X21<1 | 2, 2 | 3>; type X21_T5 = X21<1 | 2, 3>; type IfEquals = (() => T extends X ? 1 : 2) extends () => T extends Y ? 1 : 2 ? A : B; declare const x1: () => (T extends infer U extends number ? 1 : 0); -declare function f1(): () => T extends infer U extends number ? 1 : 0; +declare function f1(): () => (T extends infer U extends number ? 1 : 0); type ExpectNumber = T; declare const x2: () => (T extends ExpectNumber ? 1 : 0); -declare function f2(): () => T extends infer U extends number ? 1 : 0; +declare function f2(): () => (T extends ExpectNumber ? 1 : 0); diff --git a/tests/baselines/reference/inferTypesWithExtends1.types b/tests/baselines/reference/inferTypesWithExtends1.types index 566aee3c0df0d..e24355d4ff35a 100644 --- a/tests/baselines/reference/inferTypesWithExtends1.types +++ b/tests/baselines/reference/inferTypesWithExtends1.types @@ -435,12 +435,12 @@ declare const x1: () => (T extends infer U extends number ? 1 : 0); > : ^ ^^^^^^^ function f1() { ->f1 : () => () => T extends infer U extends number ? 1 : 0 -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f1 : () => () => (T extends infer U extends number ? 1 : 0) +> : ^^^^^^^ ^^^^^^^ return x1; ->x1 : () => T extends infer U extends number ? 1 : 0 -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x1 : () => (T extends infer U extends number ? 1 : 0) +> : ^ ^^^^^^^ } type ExpectNumber = T; @@ -452,10 +452,10 @@ declare const x2: () => (T extends ExpectNumber ? 1 : 0); > : ^ ^^^^^^^ function f2() { ->f2 : () => () => T extends infer U extends number ? 1 : 0 -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f2 : () => () => (T extends ExpectNumber ? 1 : 0) +> : ^^^^^^^ ^^^^^^^ return x2; ->x2 : () => T extends infer U extends number ? 1 : 0 -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x2 : () => (T extends ExpectNumber ? 1 : 0) +> : ^ ^^^^^^^ } diff --git a/tests/baselines/reference/inferenceAndHKTs.types b/tests/baselines/reference/inferenceAndHKTs.types index d40708a3d92ab..fb4b865f063fe 100644 --- a/tests/baselines/reference/inferenceAndHKTs.types +++ b/tests/baselines/reference/inferenceAndHKTs.types @@ -45,7 +45,7 @@ export interface TTypeLambda extends TypeLambda { export declare const map: (F: TypeClass) => (a: Apply, f: (a: A) => B) => Apply; >map : (F: TypeClass) => (a: Apply, f: (a: A) => B) => Apply -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >F : TypeClass > : ^^^^^^^^^^^^ >a : Apply @@ -64,12 +64,12 @@ declare const a: T; > : ^^^^^^^^^ const x1 = map(typeClass); ->x1 : (a: T, f: (a: A) => B) => T -> : ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ->map(typeClass) : (a: T, f: (a: A) => B) => T -> : ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ +>x1 : (a: T, f: (a: A) => B) => Apply +> : ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^ +>map(typeClass) : (a: T, f: (a: A) => B) => Apply +> : ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^ >map : (F: TypeClass) => (a: Apply, f: (a: A) => B) => Apply -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >typeClass : TypeClass > : ^^^^^^^^^^^^^^^^^^^^^^ @@ -78,10 +78,10 @@ const x2 = map(typeClass)(a, (_) => _); // T > : ^^^^^^^^^ >map(typeClass)(a, (_) => _) : T > : ^^^^^^^^^ ->map(typeClass) : (a: T, f: (a: A) => B) => T -> : ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ +>map(typeClass) : (a: T, f: (a: A) => B) => Apply +> : ^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^ >map : (F: TypeClass) => (a: Apply, f: (a: A) => B) => Apply -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >typeClass : TypeClass > : ^^^^^^^^^^^^^^^^^^^^^^ >a : T diff --git a/tests/baselines/reference/inferenceAndSelfReferentialConstraint.types b/tests/baselines/reference/inferenceAndSelfReferentialConstraint.types index 9a168bf67f61d..f027a2ff9b808 100644 --- a/tests/baselines/reference/inferenceAndSelfReferentialConstraint.types +++ b/tests/baselines/reference/inferenceAndSelfReferentialConstraint.types @@ -16,7 +16,7 @@ type Test = { function test>(arg: T) { >test : >(arg: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ >arg : T > : ^ @@ -31,7 +31,7 @@ const res1 = test({ >test({ foo: true, bar() { }}) : { foo: true; bar(): void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >test : >(arg: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ >{ foo: true, bar() { }} : { foo: true; bar(): void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -53,7 +53,7 @@ const res2 = test({ >test({ foo: true, bar: function () { }}) : { foo: true; bar: () => void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >test : >(arg: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ >{ foo: true, bar: function () { }} : { foo: true; bar: () => void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -77,7 +77,7 @@ const res3 = test({ >test({ foo: true, bar: () => { }}) : { foo: true; bar: () => void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >test : >(arg: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^ >{ foo: true, bar: () => { }} : { foo: true; bar: () => void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/inferenceDoesNotAddUndefinedOrNull.types b/tests/baselines/reference/inferenceDoesNotAddUndefinedOrNull.types index 90bf610283692..a843f17dad318 100644 --- a/tests/baselines/reference/inferenceDoesNotAddUndefinedOrNull.types +++ b/tests/baselines/reference/inferenceDoesNotAddUndefinedOrNull.types @@ -19,13 +19,13 @@ interface Node { declare function toArray(value: T | T[]): T[]; >toArray : { (value: T | T[]): T[]; (value: T_1 | readonly T_1[]): readonly T_1[]; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >value : T | T[] > : ^^^^^^^ declare function toArray(value: T | readonly T[]): readonly T[]; >toArray : { (value: T_1 | T_1[]): T_1[]; (value: T | readonly T[]): readonly T[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >value : T | readonly T[] > : ^^^^^^^^^^^^^^^^ @@ -49,11 +49,11 @@ function flatMapChildren(node: Node, cb: (child: Node) => readonly T[] | T | >node.forEachChild(child => { const value = cb(child); if (value !== undefined) { result.push(...toArray(value)); } }) : void | undefined > : ^^^^^^^^^^^^^^^^ >node.forEachChild : (cbNode: (node: Node) => T_1 | undefined, cbNodeArray?: (nodes: NodeArray) => T_1 | undefined) => T_1 | undefined -> : ^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^ >node : Node > : ^^^^ >forEachChild : (cbNode: (node: Node) => T_1 | undefined, cbNodeArray?: (nodes: NodeArray) => T_1 | undefined) => T_1 | undefined -> : ^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^ >child => { const value = cb(child); if (value !== undefined) { result.push(...toArray(value)); } } : (child: Node) => void > : ^ ^^^^^^^^^^^^^^^ >child : Node @@ -64,8 +64,8 @@ function flatMapChildren(node: Node, cb: (child: Node) => readonly T[] | T | > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >cb(child) : T | readonly T[] | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->cb : (child: Node) => T | readonly T[] | undefined -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>cb : (child: Node) => readonly T[] | T | undefined +> : ^ ^^ ^^^^^ >child : Node > : ^^^^ @@ -81,17 +81,17 @@ function flatMapChildren(node: Node, cb: (child: Node) => readonly T[] | T | >result.push(...toArray(value)) : number > : ^^^^^^ >result.push : (...items: T[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^ >result : T[] > : ^^^ >push : (...items: T[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^ >...toArray(value) : T > : ^ >toArray(value) : readonly T[] > : ^^^^^^^^^^^^ ->toArray : { (value: T_1 | T_1[]): T_1[]; (value: T_2 | readonly T_2[]): readonly T_2[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +>toArray : { (value: T_1 | T_1[]): T_1[]; (value: T_1 | readonly T_1[]): readonly T_1[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >value : readonly T[] | (T & ({} | null)) > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } @@ -121,11 +121,11 @@ function flatMapChildren2(node: Node, cb: (child: Node) => readonly T[] | T | >node.forEachChild(child => { const value = cb(child); if (value !== null) { result.push(...toArray(value)); } }) : void | undefined > : ^^^^^^^^^^^^^^^^ >node.forEachChild : (cbNode: (node: Node) => T_1 | undefined, cbNodeArray?: (nodes: NodeArray) => T_1 | undefined) => T_1 | undefined -> : ^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^ >node : Node > : ^^^^ >forEachChild : (cbNode: (node: Node) => T_1 | undefined, cbNodeArray?: (nodes: NodeArray) => T_1 | undefined) => T_1 | undefined -> : ^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^ ^^^^^ >child => { const value = cb(child); if (value !== null) { result.push(...toArray(value)); } } : (child: Node) => void > : ^ ^^^^^^^^^^^^^^^ >child : Node @@ -136,8 +136,8 @@ function flatMapChildren2(node: Node, cb: (child: Node) => readonly T[] | T | > : ^^^^^^^^^^^^^^^^^^^^^^^ >cb(child) : T | readonly T[] | null > : ^^^^^^^^^^^^^^^^^^^^^^^ ->cb : (child: Node) => T | readonly T[] | null -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>cb : (child: Node) => readonly T[] | T | null +> : ^ ^^ ^^^^^ >child : Node > : ^^^^ @@ -151,17 +151,17 @@ function flatMapChildren2(node: Node, cb: (child: Node) => readonly T[] | T | >result.push(...toArray(value)) : number > : ^^^^^^ >result.push : (...items: T[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^ >result : T[] > : ^^^ >push : (...items: T[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^ >...toArray(value) : T > : ^ >toArray(value) : readonly T[] > : ^^^^^^^^^^^^ ->toArray : { (value: T_1 | T_1[]): T_1[]; (value: T_2 | readonly T_2[]): readonly T_2[]; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +>toArray : { (value: T_1 | T_1[]): T_1[]; (value: T_1 | readonly T_1[]): readonly T_1[]; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >value : readonly T[] | (T & ({} | undefined)) > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/inferenceErasedSignatures.types b/tests/baselines/reference/inferenceErasedSignatures.types index dda23e8f051ce..d3fefd059887d 100644 --- a/tests/baselines/reference/inferenceErasedSignatures.types +++ b/tests/baselines/reference/inferenceErasedSignatures.types @@ -9,7 +9,7 @@ declare class SomeBaseClass { set(key: K, value: this[K]): this[K]; >set : (key: K, value: this[K]) => this[K] -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >key : K > : ^ >value : this[K] @@ -89,7 +89,7 @@ type SomeClassR = RType; // boolean interface BaseType { set(key: K, value: this[K]): this[K]; >set : (key: K, value: this[K]) => this[K] -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >key : K > : ^ >value : this[K] @@ -126,7 +126,7 @@ interface InheritedType extends BaseType { interface StructuralVersion { set(key: K, value: this[K]): this[K]; >set : (key: K, value: this[K]) => this[K] -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >key : K > : ^ >value : this[K] diff --git a/tests/baselines/reference/inferenceExactOptionalProperties2.types b/tests/baselines/reference/inferenceExactOptionalProperties2.types index 88a9cfed48361..8f0e9d5dcbfd1 100644 --- a/tests/baselines/reference/inferenceExactOptionalProperties2.types +++ b/tests/baselines/reference/inferenceExactOptionalProperties2.types @@ -59,7 +59,7 @@ interface MachineConfig { declare function assign( >assign : (_: (spawn: (actor: TActor["src"]) => void) => {}) => AssignAction -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ _: (spawn: (actor: TActor["src"]) => void) => {}, >_ : (spawn: (actor: TActor["src"]) => void) => {} @@ -90,7 +90,7 @@ type ToProvidedActor> = declare function setup< >setup : = {}>(implementations?: { actors?: { [K in keyof TActors]: TActors[K]; }; }) => { createMachine: >>(config: TConfig) => void; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ ^^^ ^^^^^ TActors extends Record = {}, >(implementations?: { @@ -104,7 +104,7 @@ declare function setup< }): { createMachine: < >createMachine : >>(config: TConfig) => void -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ const TConfig extends MachineConfig>, >( @@ -126,47 +126,47 @@ setup({ >setup({ actors: { counter: counterLogic },}).createMachine({ entry: assign((spawn) => { spawn("counter"); // ok spawn("alarm"); // error return {}; }),}) : void > : ^^^^ >setup({ actors: { counter: counterLogic },}).createMachine : ; }>>(config: TConfig) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^ >setup({ actors: { counter: counterLogic },}) : { createMachine: ; }>>(config: TConfig) => void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ >setup : = {}>(implementations?: { actors?: { [K in keyof TActors]: TActors[K]; }; }) => { createMachine: >>(config: TConfig) => void; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ ^^^ ^^^^^ >{ actors: { counter: counterLogic },} : { actors: { counter: ActorLogic<{ type: "INCREMENT"; }>; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ actors: { counter: counterLogic }, >actors : { counter: ActorLogic<{ type: "INCREMENT"; }>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ >{ counter: counterLogic } : { counter: ActorLogic<{ type: "INCREMENT"; }>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ >counter : ActorLogic<{ type: "INCREMENT"; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^^ >counterLogic : ActorLogic<{ type: "INCREMENT"; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^^ }).createMachine({ >createMachine : ; }>>(config: TConfig) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^ >{ entry: assign((spawn) => { spawn("counter"); // ok spawn("alarm"); // error return {}; }),} : { entry: AssignAction<{ src: "counter"; logic: ActorLogic<{ type: "INCREMENT"; }>; }>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ entry: assign((spawn) => { >entry : AssignAction<{ src: "counter"; logic: ActorLogic<{ type: "INCREMENT"; }>; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ >assign((spawn) => { spawn("counter"); // ok spawn("alarm"); // error return {}; }) : AssignAction<{ src: "counter"; logic: ActorLogic<{ type: "INCREMENT"; }>; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ >assign : (_: (spawn: (actor: TActor["src"]) => void) => {}) => AssignAction -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >(spawn) => { spawn("counter"); // ok spawn("alarm"); // error return {}; } : (spawn: (actor: "counter") => void) => {} -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^ >spawn : (actor: "counter") => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^ spawn("counter"); // ok >spawn("counter") : void > : ^^^^ >spawn : (actor: "counter") => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^ >"counter" : "counter" > : ^^^^^^^^^ @@ -174,7 +174,7 @@ setup({ >spawn("alarm") : void > : ^^^^ >spawn : (actor: "counter") => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^ >"alarm" : "alarm" > : ^^^^^^^ @@ -190,13 +190,13 @@ setup().createMachine({ >setup().createMachine({ entry: assign(() => ({})),}) : void > : ^^^^ >setup().createMachine : >(config: TConfig) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ >setup() : { createMachine: >(config: TConfig) => void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ >setup : = {}>(implementations?: { actors?: { [K in keyof TActors]: TActors[K]; }; }) => { createMachine: >>(config: TConfig) => void; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ ^^^ ^^^^^ >createMachine : >(config: TConfig) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ >{ entry: assign(() => ({})),} : { entry: AssignAction; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -206,7 +206,7 @@ setup().createMachine({ >assign(() => ({})) : AssignAction > : ^^^^^^^^^^^^^^^^^^^ >assign : (_: (spawn: (actor: TActor["src"]) => void) => {}) => AssignAction -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >() => ({}) : () => {} > : ^^^^^^^^ >({}) : {} diff --git a/tests/baselines/reference/inferenceFromIncompleteSource.types b/tests/baselines/reference/inferenceFromIncompleteSource.types index b55379bbb111b..e634c003fdbde 100644 --- a/tests/baselines/reference/inferenceFromIncompleteSource.types +++ b/tests/baselines/reference/inferenceFromIncompleteSource.types @@ -19,7 +19,7 @@ interface ListProps { declare const Component: (x: ListProps) => void; >Component : (x: ListProps) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : ListProps > : ^^^^^^^^^^^^^^^ @@ -27,7 +27,7 @@ Component({items: [{name:' string'}], itemKey: 'name' }); >Component({items: [{name:' string'}], itemKey: 'name' }) : void > : ^^^^ >Component : (x: ListProps) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{items: [{name:' string'}], itemKey: 'name' } : { items: { name: string; }[]; itemKey: "name"; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >items : { name: string; }[] diff --git a/tests/baselines/reference/inferenceLimit.types b/tests/baselines/reference/inferenceLimit.types index 9c0ef946955de..5e462a6227fa0 100644 --- a/tests/baselines/reference/inferenceLimit.types +++ b/tests/baselines/reference/inferenceLimit.types @@ -31,11 +31,11 @@ export class BrokenClass { >MyModule : any > : ^^^ >(resolve, reject) => { let result: Array = []; let populateItems = (order) => { return new Promise((resolve, reject) => { this.doStuff(order.id) .then((items) => { order.items = items; resolve(order); }); }); }; return Promise.all(result.map(populateItems)) .then((orders: Array) => { resolve(orders); }); } : (resolve: (value: MyModule.MyModel[] | PromiseLike) => void, reject: (reason?: any) => void) => Promise -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^ >resolve : (value: MyModule.MyModel[] | PromiseLike) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ let result: Array = []; >result : MyModule.MyModel[] @@ -58,17 +58,17 @@ export class BrokenClass { >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >(resolve, reject) => { this.doStuff(order.id) .then((items) => { order.items = items; resolve(order); }); } : (resolve: (value: unknown) => void, reject: (reason?: any) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^ ^^^^^^^^^ >resolve : (value: unknown) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ >reject : (reason?: any) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ this.doStuff(order.id) >this.doStuff(order.id) .then((items) => { order.items = items; resolve(order); }) : Promise > : ^^^^^^^^^^^^^ >this.doStuff(order.id) .then : (onfulfilled?: (value: void) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >this.doStuff(order.id) : Promise > : ^^^^^^^^^^^^^ >this.doStuff : (id: number) => Promise @@ -85,7 +85,7 @@ export class BrokenClass { .then((items) => { >then : (onfulfilled?: (value: void) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >(items) => { order.items = items; resolve(order); } : (items: void) => void > : ^ ^^^^^^^^^^^^^^^ >items : void @@ -106,7 +106,7 @@ export class BrokenClass { >resolve(order) : void > : ^^^^ >resolve : (value: unknown) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ >order : any }); @@ -117,29 +117,29 @@ export class BrokenClass { >Promise.all(result.map(populateItems)) .then((orders: Array) => { resolve(orders); }) : Promise > : ^^^^^^^^^^^^^ >Promise.all(result.map(populateItems)) .then : (onfulfilled?: (value: unknown[]) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >Promise.all(result.map(populateItems)) : Promise > : ^^^^^^^^^^^^^^^^^^ ->Promise.all : { (values: Iterable>): Promise[]>; (values: T_1): Promise<{ -readonly [P in keyof T_1]: Awaited; }>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->all : { (values: Iterable>): Promise[]>; (values: T_1): Promise<{ -readonly [P in keyof T_1]: Awaited; }>; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ >result.map(populateItems) : Promise[] > : ^^^^^^^^^^^^^^^^^^ >result.map : (callbackfn: (value: MyModule.MyModel, index: number, array: MyModule.MyModel[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >result : MyModule.MyModel[] > : ^^^^^^^^^^^^^^^^^^ >map : (callbackfn: (value: MyModule.MyModel, index: number, array: MyModule.MyModel[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >populateItems : (order: any) => Promise > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ .then((orders: Array) => { >then : (onfulfilled?: (value: unknown[]) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >(orders: Array) => { resolve(orders); } : (orders: Array) => void > : ^ ^^ ^^^^^^^^^ >orders : MyModule.MyModel[] @@ -151,7 +151,7 @@ export class BrokenClass { >resolve(orders) : void > : ^^^^ >resolve : (value: MyModule.MyModel[] | PromiseLike) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >orders : MyModule.MyModel[] > : ^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/inferenceOptionalProperties.types b/tests/baselines/reference/inferenceOptionalProperties.types index f2b27775df477..785bb6f8de3bf 100644 --- a/tests/baselines/reference/inferenceOptionalProperties.types +++ b/tests/baselines/reference/inferenceOptionalProperties.types @@ -31,9 +31,9 @@ const y1 = test(x1); >test(x1) : string | number > : ^^^^^^^^^^^^^^^ >test : (x: { [key: string]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x1 : { a?: string; b?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ const y2 = test(x2); >y2 : string | number | undefined @@ -41,9 +41,9 @@ const y2 = test(x2); >test(x2) : string | number | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >test : (x: { [key: string]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x2 : { a?: string; b?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ var v1: Required<{ a?: string, b?: number }>; >v1 : Required<{ a?: string; b?: number; }> @@ -55,7 +55,7 @@ var v1: Required<{ a?: string, b?: number }>; var v1: { a: string, b: number }; >v1 : Required<{ a?: string; b?: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^^ ^^^^ >a : string > : ^^^^^^ >b : number @@ -71,7 +71,7 @@ var v2: Required<{ a?: string, b?: number | undefined }>; var v2: { a: string, b: number | undefined }; >v2 : Required<{ a?: string; b?: number | undefined; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^^ ^^^^ >a : string > : ^^^^^^ >b : number | undefined @@ -87,7 +87,7 @@ var v3: Partial<{ a: string, b: string }>; var v3: { a?: string, b?: string }; >v3 : Partial<{ a: string; b: string; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^ ^^^^ >a : string | undefined > : ^^^^^^^^^^^^^^^^^^ >b : string | undefined @@ -103,7 +103,7 @@ var v4: Partial<{ a: string, b: string | undefined }>; var v4: { a?: string, b?: string | undefined }; >v4 : Partial<{ a: string; b: string | undefined; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^ ^^^^ >a : string | undefined > : ^^^^^^^^^^^^^^^^^^ >b : string | undefined @@ -119,7 +119,7 @@ var v5: Required>; var v5: { a: string, b: string }; >v5 : Required> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^ >a : string > : ^^^^^^ >b : string @@ -135,7 +135,7 @@ var v6: Required>; var v6: { a: string, b: string | undefined }; >v6 : Required> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^ >a : string > : ^^^^^^ >b : string | undefined diff --git a/tests/baselines/reference/inferenceOptionalPropertiesStrict.types b/tests/baselines/reference/inferenceOptionalPropertiesStrict.types index db42a8eacf409..a9f80e3f56a13 100644 --- a/tests/baselines/reference/inferenceOptionalPropertiesStrict.types +++ b/tests/baselines/reference/inferenceOptionalPropertiesStrict.types @@ -31,9 +31,9 @@ const y1 = test(x1); >test(x1) : string | number > : ^^^^^^^^^^^^^^^ >test : (x: { [key: string]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x1 : { a?: string; b?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ const y2 = test(x2); >y2 : string | number | undefined @@ -41,9 +41,9 @@ const y2 = test(x2); >test(x2) : string | number | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >test : (x: { [key: string]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x2 : { a?: string; b?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ var v1: Required<{ a?: string, b?: number }>; >v1 : Required<{ a?: string; b?: number; }> @@ -55,7 +55,7 @@ var v1: Required<{ a?: string, b?: number }>; var v1: { a: string, b: number }; >v1 : Required<{ a?: string; b?: number; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^^ ^^^^ >a : string > : ^^^^^^ >b : number @@ -71,7 +71,7 @@ var v2: Required<{ a?: string, b?: number | undefined }>; var v2: { a: string, b: number | undefined }; >v2 : Required<{ a?: string; b?: number | undefined; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^^ ^^^^ >a : string > : ^^^^^^ >b : number | undefined @@ -87,7 +87,7 @@ var v3: Partial<{ a: string, b: string }>; var v3: { a?: string, b?: string }; >v3 : Partial<{ a: string; b: string; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^ ^^^^ >a : string | undefined > : ^^^^^^^^^^^^^^^^^^ >b : string | undefined @@ -103,7 +103,7 @@ var v4: Partial<{ a: string, b: string | undefined }>; var v4: { a?: string, b?: string | undefined }; >v4 : Partial<{ a: string; b: string | undefined; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^ ^^^^ >a : string | undefined > : ^^^^^^^^^^^^^^^^^^ >b : string | undefined @@ -119,7 +119,7 @@ var v5: Required>; var v5: { a: string, b: string }; >v5 : Required> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^ >a : string > : ^^^^^^ >b : string @@ -135,7 +135,7 @@ var v6: Required>; var v6: { a: string, b: string | undefined }; >v6 : Required> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^ >a : string > : ^^^^^^ >b : string | undefined diff --git a/tests/baselines/reference/inferenceOptionalPropertiesToIndexSignatures.types b/tests/baselines/reference/inferenceOptionalPropertiesToIndexSignatures.types index 0b0a5e9f9e590..c10b0f3425374 100644 --- a/tests/baselines/reference/inferenceOptionalPropertiesToIndexSignatures.types +++ b/tests/baselines/reference/inferenceOptionalPropertiesToIndexSignatures.types @@ -47,9 +47,9 @@ let a1 = foo(x1); // string | number >foo(x1) : string | number > : ^^^^^^^^^^^^^^^ >foo : (obj: { [x: string]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x1 : { a: string; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ let a2 = foo(x2); // string | number | undefined >a2 : string | number | undefined @@ -57,9 +57,9 @@ let a2 = foo(x2); // string | number | undefined >foo(x2) : string | number | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (obj: { [x: string]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x2 : { a: string; b: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ let a3 = foo(x3); // string | number >a3 : string | number @@ -67,9 +67,9 @@ let a3 = foo(x3); // string | number >foo(x3) : string | number > : ^^^^^^^^^^^^^^^ >foo : (obj: { [x: string]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ ->x3 : { a: string; b?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ +>x3 : { a: string; b?: number; } +> : ^^^^^ ^^^^^^ ^^^ let a4 = foo(x4); // string | number >a4 : string | number @@ -77,9 +77,9 @@ let a4 = foo(x4); // string | number >foo(x4) : string | number > : ^^^^^^^^^^^^^^^ >foo : (obj: { [x: string]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >x4 : { a: string; b?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^ ^^^ // Repro from #43045 @@ -93,11 +93,11 @@ const param2 = Math.random() < 0.5 ? 'value2' : null; >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ >'value2' : "value2" @@ -137,23 +137,23 @@ const query = Object.entries(obj).map( >Object.entries(obj).map( ([k, v]) => `${k}=${encodeURIComponent(v)}`).join('&') : string > : ^^^^^^ >Object.entries(obj).map( ([k, v]) => `${k}=${encodeURIComponent(v)}`).join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >Object.entries(obj).map( ([k, v]) => `${k}=${encodeURIComponent(v)}`) : string[] > : ^^^^^^^^ >Object.entries(obj).map : (callbackfn: (value: [string, string], index: number, array: [string, string][]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >Object.entries(obj) : [string, string][] > : ^^^^^^^^^^^^^^^^^^ >Object.entries : { (o: { [s: string]: T; } | ArrayLike): [string, T][]; (o: {}): [string, any][]; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >entries : { (o: { [s: string]: T; } | ArrayLike): [string, T][]; (o: {}): [string, any][]; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >obj : { param2?: string | undefined; param1: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >map : (callbackfn: (value: [string, string], index: number, array: [string, string][]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ ([k, v]) => `${k}=${encodeURIComponent(v)}` >([k, v]) => `${k}=${encodeURIComponent(v)}` : ([k, v]: [string, string]) => string @@ -169,13 +169,13 @@ const query = Object.entries(obj).map( >encodeURIComponent(v) : string > : ^^^^^^ >encodeURIComponent : (uriComponent: string | number | boolean) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >v : string > : ^^^^^^ ).join('&'); >join : (separator?: string) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >'&' : "&" > : ^^^ diff --git a/tests/baselines/reference/inferenceOuterResultNotIncorrectlyInstantiatedWithInnerResult.types b/tests/baselines/reference/inferenceOuterResultNotIncorrectlyInstantiatedWithInnerResult.types index a4a5e9c66c99d..ea3cff709321a 100644 --- a/tests/baselines/reference/inferenceOuterResultNotIncorrectlyInstantiatedWithInnerResult.types +++ b/tests/baselines/reference/inferenceOuterResultNotIncorrectlyInstantiatedWithInnerResult.types @@ -109,12 +109,12 @@ export class Foo extends Base { > : ^^^^^^ >Object.assign(this.t, { x: 1 }) : T & { x: number; } > : ^^^^^^^^^^^^^^^^^^ ->Object.assign : { (target: T_1, source: U): T_1 & U; (target: T_2, source1: U_1, source2: V): T_2 & U_1 & V; (target: T_3, source1: U_2, source2: V_1, source3: W): T_3 & U_2 & V_1 & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +>Object.assign : { (target: T_1, source: U): T_1 & U; (target: T_1, source1: U, source2: V): T_1 & U & V; (target: T_1, source1: U, source2: V, source3: W): T_1 & U & V & W; (target: object, ...sources: any[]): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ ->assign : { (target: T_1, source: U): T_1 & U; (target: T_2, source1: U_1, source2: V): T_2 & U_1 & V; (target: T_3, source1: U_2, source2: V_1, source3: W): T_3 & U_2 & V_1 & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +>assign : { (target: T_1, source: U): T_1 & U; (target: T_1, source1: U, source2: V): T_1 & U & V; (target: T_1, source1: U, source2: V, source3: W): T_1 & U & V & W; (target: object, ...sources: any[]): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >this.t : T > : ^ >this : this @@ -130,10 +130,10 @@ export class Foo extends Base { return new Foo(v); >new Foo(v) : Foo> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^ >Foo : typeof Foo > : ^^^^^^^^^^ >v : Assign -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^ } } diff --git a/tests/baselines/reference/inferenceShouldFailOnEvolvingArrays.types b/tests/baselines/reference/inferenceShouldFailOnEvolvingArrays.types index c61b90e4e0421..4019055ec321a 100644 --- a/tests/baselines/reference/inferenceShouldFailOnEvolvingArrays.types +++ b/tests/baselines/reference/inferenceShouldFailOnEvolvingArrays.types @@ -5,7 +5,7 @@ // The type of `arg` blocks inference but simplifies to T. function logLength(arg: { [K in U]: T }[U]): T { >logLength : (arg: { [K in U]: T; }[U]) => T -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >arg : { [K in U]: T; }[U] > : ^^^^^^^^^^^^^^^^^^^ @@ -13,11 +13,11 @@ function logLength(arg: { [K in U]: T }[U]): >console.log(arg.length) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >arg.length : number > : ^^^^^^ >arg : { [K in U]: T; }[U] @@ -33,7 +33,7 @@ logLength(42); // error >logLength(42) : string > : ^^^^^^ >logLength : (arg: { [K in U]: T; }[U]) => T -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >42 : 42 > : ^^ @@ -49,13 +49,13 @@ z = logLength(42); // no error; T is inferred as `any` >logLength(42) : string > : ^^^^^^ >logLength : (arg: { [K in U]: T; }[U]) => T -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >42 : 42 > : ^^ function logFirstLength(arg: { [K in U]: T }[U]): T { >logFirstLength : (arg: { [K in U]: T; }[U]) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >arg : { [K in U]: T; }[U] > : ^^^^^^^^^^^^^^^^^^^ @@ -63,11 +63,11 @@ function logFirstLength(arg: { [K in U]: T >console.log(arg[0].length) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >arg[0].length : number > : ^^^^^^ >arg[0] : string @@ -87,7 +87,7 @@ logFirstLength([42]); // error >logFirstLength([42]) : string[] > : ^^^^^^^^ >logFirstLength : (arg: { [K in U]: T; }[U]) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >[42] : number[] > : ^^^^^^^^ >42 : 42 @@ -103,15 +103,15 @@ zz.push(logLength(42)); // no error; T is inferred as `any` >zz.push(logLength(42)) : number > : ^^^^^^ >zz.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >zz : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >logLength(42) : string > : ^^^^^^ >logLength : (arg: { [K in U]: T; }[U]) => T -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >42 : 42 > : ^^ @@ -123,7 +123,7 @@ zz = logFirstLength([42]); // no error; T is inferred as `any[]` >logFirstLength([42]) : string[] > : ^^^^^^^^ >logFirstLength : (arg: { [K in U]: T; }[U]) => T -> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >[42] : number[] > : ^^^^^^^^ >42 : 42 diff --git a/tests/baselines/reference/inferenceUnionOfObjectsMappedContextualType.types b/tests/baselines/reference/inferenceUnionOfObjectsMappedContextualType.types index 7411f7adbfd1a..b7e8b5a574056 100644 --- a/tests/baselines/reference/inferenceUnionOfObjectsMappedContextualType.types +++ b/tests/baselines/reference/inferenceUnionOfObjectsMappedContextualType.types @@ -66,11 +66,11 @@ const test: RowRenderer = { >value.toString() : string > : ^^^^^^ >value.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >value : Date > : ^^^^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >'-' : "-" > : ^^^ } diff --git a/tests/baselines/reference/inferentialTypingObjectLiteralMethod1.types b/tests/baselines/reference/inferentialTypingObjectLiteralMethod1.types index 2a82ba53b3e5b..a7810422c9cc4 100644 --- a/tests/baselines/reference/inferentialTypingObjectLiteralMethod1.types +++ b/tests/baselines/reference/inferentialTypingObjectLiteralMethod1.types @@ -22,7 +22,7 @@ foo("", { method(p1) { return p1.length } }, { method(p2) { return undefined } } >foo("", { method(p1) { return p1.length } }, { method(p2) { return undefined } }) : string > : ^^^^^^ >foo : (x: T, y: Int, z: Int) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >"" : "" > : ^^ >{ method(p1) { return p1.length } } : { method(p1: string): number; } diff --git a/tests/baselines/reference/inferentialTypingObjectLiteralMethod2.types b/tests/baselines/reference/inferentialTypingObjectLiteralMethod2.types index 0b8ba0af4cfcd..084f93e089b0d 100644 --- a/tests/baselines/reference/inferentialTypingObjectLiteralMethod2.types +++ b/tests/baselines/reference/inferentialTypingObjectLiteralMethod2.types @@ -22,7 +22,7 @@ foo("", { method(p1) { return p1.length } }, { method(p2) { return undefined } } >foo("", { method(p1) { return p1.length } }, { method(p2) { return undefined } }) : string > : ^^^^^^ >foo : (x: T, y: Int, z: Int) => T -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >"" : "" > : ^^ >{ method(p1) { return p1.length } } : { method(p1: string): number; } diff --git a/tests/baselines/reference/inferentialTypingUsingApparentType1.types b/tests/baselines/reference/inferentialTypingUsingApparentType1.types index 5d6597a392f5e..22ece40629b22 100644 --- a/tests/baselines/reference/inferentialTypingUsingApparentType1.types +++ b/tests/baselines/reference/inferentialTypingUsingApparentType1.types @@ -3,7 +3,7 @@ === inferentialTypingUsingApparentType1.ts === function foo number>(x: T): T { >foo : number>(x: T) => T -> : ^ ^^^^^^^^^^ ^^ ^^^^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >p : string > : ^^^^^^ >x : T @@ -18,7 +18,7 @@ foo(x => x.length); >foo(x => x.length) : (x: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >foo : number>(x: T) => T -> : ^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x => x.length : (x: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : string diff --git a/tests/baselines/reference/inferentialTypingUsingApparentType2.types b/tests/baselines/reference/inferentialTypingUsingApparentType2.types index 50220a1fc0d6a..ae4c56f616612 100644 --- a/tests/baselines/reference/inferentialTypingUsingApparentType2.types +++ b/tests/baselines/reference/inferentialTypingUsingApparentType2.types @@ -3,7 +3,7 @@ === inferentialTypingUsingApparentType2.ts === function foo(x: T): T { >foo : (x: T) => T -> : ^ ^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >m : (p: string) => number > : ^ ^^ ^^^^^ >p : string @@ -20,7 +20,7 @@ foo({ m(x) { return x.length } }); >foo({ m(x) { return x.length } }) : { m(x: string): number; } > : ^^^^ ^^^^^^^^^^^^^^^^^^^^ >foo : (x: T) => T -> : ^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ m(x) { return x.length } } : { m(x: string): number; } > : ^^^^ ^^^^^^^^^^^^^^^^^^^^ >m : (x: string) => number diff --git a/tests/baselines/reference/inferentialTypingWithFunctionType.types b/tests/baselines/reference/inferentialTypingWithFunctionType.types index c16599d2271af..bad6c1ba9a134 100644 --- a/tests/baselines/reference/inferentialTypingWithFunctionType.types +++ b/tests/baselines/reference/inferentialTypingWithFunctionType.types @@ -23,9 +23,9 @@ var s = map("", identity); >map("", identity) : string > : ^^^^^^ >map : (x: T, f: (s: T) => U) => U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >"" : "" > : ^^ >identity : (y: V) => V -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/inferentialTypingWithFunctionType2.types b/tests/baselines/reference/inferentialTypingWithFunctionType2.types index cc18197a3113c..934dc28effa6c 100644 --- a/tests/baselines/reference/inferentialTypingWithFunctionType2.types +++ b/tests/baselines/reference/inferentialTypingWithFunctionType2.types @@ -19,7 +19,7 @@ var x = [1, 2, 3].map(identity)[0]; >[1, 2, 3].map(identity) : number[] > : ^^^^^^^^ >[1, 2, 3].map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >[1, 2, 3] : number[] > : ^^^^^^^^ >1 : 1 @@ -29,9 +29,9 @@ var x = [1, 2, 3].map(identity)[0]; >3 : 3 > : ^ >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >identity : (a: A) => A -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/inferentialTypingWithFunctionTypeNested.types b/tests/baselines/reference/inferentialTypingWithFunctionTypeNested.types index 18696233b313c..de69d871f2db6 100644 --- a/tests/baselines/reference/inferentialTypingWithFunctionTypeNested.types +++ b/tests/baselines/reference/inferentialTypingWithFunctionTypeNested.types @@ -25,15 +25,15 @@ var s = map("", () => { return { x: identity }; }); >map("", () => { return { x: identity }; }) : string > : ^^^^^^ >map : (x: T, f: () => { x: (s: T) => U; }) => U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >"" : "" > : ^^ >() => { return { x: identity }; } : () => { x: (y: string) => string; } > : ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >{ x: identity } : { x: (y: V) => V; } -> : ^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^ >x : (y: V) => V -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >identity : (y: V) => V -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/inferentialTypingWithFunctionTypeSyntacticScenarios.types b/tests/baselines/reference/inferentialTypingWithFunctionTypeSyntacticScenarios.types index f0fcfdfef51bb..7253f75b4b071 100644 --- a/tests/baselines/reference/inferentialTypingWithFunctionTypeSyntacticScenarios.types +++ b/tests/baselines/reference/inferentialTypingWithFunctionTypeSyntacticScenarios.types @@ -24,13 +24,13 @@ var s: string; // dotted name var dottedIdentity = { x: identity }; >dottedIdentity : { x: (y: V) => V; } -> : ^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^ >{ x: identity } : { x: (y: V) => V; } -> : ^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^ >x : (y: V) => V -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >identity : (y: V) => V -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ s = map("", dottedIdentity.x); >s = map("", dottedIdentity.x) : string @@ -40,15 +40,15 @@ s = map("", dottedIdentity.x); >map("", dottedIdentity.x) : string > : ^^^^^^ >map : (array: T, func: (x: T) => U) => U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >"" : "" > : ^^ >dottedIdentity.x : (y: V) => V -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >dottedIdentity : { x: (y: V) => V; } -> : ^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^ >x : (y: V) => V -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ // index expression s = map("", dottedIdentity['x']); @@ -59,13 +59,13 @@ s = map("", dottedIdentity['x']); >map("", dottedIdentity['x']) : string > : ^^^^^^ >map : (array: T, func: (x: T) => U) => U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >"" : "" > : ^^ >dottedIdentity['x'] : (y: V) => V -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >dottedIdentity : { x: (y: V) => V; } -> : ^^^^^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^ ^^ ^^ ^^^^^ ^^^ >'x' : "x" > : ^^^ @@ -78,23 +78,23 @@ s = map("", (() => identity)()); >map("", (() => identity)()) : string > : ^^^^^^ >map : (array: T, func: (x: T) => U) => U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >"" : "" > : ^^ >(() => identity)() : (y: V) => V -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >(() => identity) : () => (y: V) => V -> : ^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >() => identity : () => (y: V) => V -> : ^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^^ ^^ ^^ ^^^^^ >identity : (y: V) => V -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ // construct interface IdentityConstructor { new (): typeof identity; >identity : (y: V) => V -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ } var ic: IdentityConstructor; >ic : IdentityConstructor @@ -108,11 +108,11 @@ s = map("", new ic()); >map("", new ic()) : string > : ^^^^^^ >map : (array: T, func: (x: T) => U) => U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >"" : "" > : ^^ >new ic() : (y: V) => V -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >ic : IdentityConstructor > : ^^^^^^^^^^^^^^^^^^^ @@ -128,14 +128,14 @@ s = map("", t = identity); >map("", t = identity) : string > : ^^^^^^ >map : (array: T, func: (x: T) => U) => U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >"" : "" > : ^^ >t = identity : (y: V) => V -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >t : any >identity : (y: V) => V -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ // type assertion s = map("", identity); @@ -146,15 +146,15 @@ s = map("", identity); >map("", identity) : string > : ^^^^^^ >map : (array: T, func: (x: T) => U) => U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >"" : "" > : ^^ >identity : (y: V) => V -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >identity : (y: V) => V -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >identity : (y: V) => V -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ // parenthesized expression s = map("", (identity)); @@ -165,13 +165,13 @@ s = map("", (identity)); >map("", (identity)) : string > : ^^^^^^ >map : (array: T, func: (x: T) => U) => U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >"" : "" > : ^^ >(identity) : (y: V) => V -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >identity : (y: V) => V -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ // comma s = map("", ("", identity)); @@ -182,15 +182,15 @@ s = map("", ("", identity)); >map("", ("", identity)) : string > : ^^^^^^ >map : (array: T, func: (x: T) => U) => U -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >"" : "" > : ^^ >("", identity) : (y: V) => V -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >"", identity : (y: V) => V -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >"" : "" > : ^^ >identity : (y: V) => V -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/inferentialTypingWithFunctionTypeZip.types b/tests/baselines/reference/inferentialTypingWithFunctionTypeZip.types index 3099e967ea2ee..e606f9e44bb3a 100644 --- a/tests/baselines/reference/inferentialTypingWithFunctionTypeZip.types +++ b/tests/baselines/reference/inferentialTypingWithFunctionTypeZip.types @@ -33,7 +33,7 @@ var result = zipWith([1, 2], ['a', 'b'], pair); >zipWith([1, 2], ['a', 'b'], pair) : { x: number; y: unknown; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >zipWith : (a: T[], b: S[], f: (x: T) => (y: S) => U) => U[] -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >[1, 2] : number[] > : ^^^^^^^^ >1 : 1 @@ -47,7 +47,7 @@ var result = zipWith([1, 2], ['a', 'b'], pair); >'b' : "b" > : ^^^ >pair : (x: T) => (y: S) => { x: T; y: S; } -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ var i = result[0].x; // number >i : number diff --git a/tests/baselines/reference/inferentialTypingWithObjectLiteralProperties.types b/tests/baselines/reference/inferentialTypingWithObjectLiteralProperties.types index 0bb0dedb2f97c..35f438956e0f2 100644 --- a/tests/baselines/reference/inferentialTypingWithObjectLiteralProperties.types +++ b/tests/baselines/reference/inferentialTypingWithObjectLiteralProperties.types @@ -23,7 +23,7 @@ f({ x: [null] }, { x: [1] }).x[0] = "" // ok >f({ x: [null] }, { x: [1] }) : { x: number[]; } > : ^^^^^^^^^^^^^^^^ >f : (x: T, y: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >{ x: [null] } : { x: null[]; } > : ^^^^^^^^^^^^^^ >x : null[] @@ -55,7 +55,7 @@ f({ x: [1] }, { x: [null] }).x[0] = "" // was error TS2011: Cannot convert 'stri >f({ x: [1] }, { x: [null] }) : { x: number[]; } > : ^^^^^^^^^^^^^^^^ >f : (x: T, y: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >{ x: [1] } : { x: number[]; } > : ^^^^^^^^^^^^^^^^ >x : number[] diff --git a/tests/baselines/reference/inferentiallyTypingAnEmptyArray.types b/tests/baselines/reference/inferentiallyTypingAnEmptyArray.types index 71d01b1e8e6ff..a4076b3bab91b 100644 --- a/tests/baselines/reference/inferentiallyTypingAnEmptyArray.types +++ b/tests/baselines/reference/inferentiallyTypingAnEmptyArray.types @@ -27,7 +27,7 @@ foo([]).bar; >foo([]) : any > : ^^^ >foo : (arr: T[]) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >[] : undefined[] > : ^^^^^^^^^^^ >bar : any diff --git a/tests/baselines/reference/inferingFromAny.types b/tests/baselines/reference/inferingFromAny.types index a4adfaa7772a1..2e6b90e4585ed 100644 --- a/tests/baselines/reference/inferingFromAny.types +++ b/tests/baselines/reference/inferingFromAny.types @@ -130,13 +130,13 @@ declare function f17(x: {[P in keyof T]: K}): T; declare function f18(x: {[P in K]: T[P]}): T; >f18 : (x: { [P in K]: T[P]; }) => T -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : { [P in K]: T[P]; } > : ^^^^^^^^^^^^^^^^^^^ declare function f19(k: K, x: T[K]): T; >f19 : (k: K, x: T[K]) => T -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >k : K > : ^ >x : T[K] @@ -147,14 +147,14 @@ var a = f1(a); >a : any >f1(a) : any >f1 : (t: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a : any var a = f2(a); >a : any >f2(a) : any >f2 : (t: T[]) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a : any var t = f3(a); @@ -163,63 +163,63 @@ var t = f3(a); >f3(a) : [any, any] > : ^^^^^^^^^^ >f3 : (t: [T, U]) => [T, U] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a : any var a = f4(a); >a : any >f4(a) : any >f4 : (x: { bar: T; baz: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a : any var a = f5(a); >a : any >f5(a) : any >f5 : (x: (a: T) => void) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a : any var a = f6(a); >a : any >f6(a) : any >f6 : (x: new (a: T) => {}) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a : any var a = f7(a); >a : any >f7(a) : any >f7 : (x: (a: any) => a is T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a : any var a = f8(a); >a : any >f8(a) : any >f8 : (x: () => T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a : any var a = f9(a); >a : any >f9(a) : any >f9 : (x: new () => T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a : any var a = f10(a); >a : any >f10(a) : any >f10 : (x: { [x: string]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a : any var a = f11(a); >a : any >f11(a) : any >f11 : (x: { [x: number]: T; }) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a : any var t = f12(a); @@ -228,7 +228,7 @@ var t = f12(a); >f12(a) : [any, any] > : ^^^^^^^^^^ >f12 : (x: T | U) => [T, U] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a : any var t = f13(a); @@ -237,7 +237,7 @@ var t = f13(a); >f13(a) : [any, any] > : ^^^^^^^^^^ >f13 : (x: T & U) => [T, U] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a : any var t = f14(a); @@ -246,42 +246,42 @@ var t = f14(a); >f14(a) : [any, any] > : ^^^^^^^^^^ >f14 : (x: { a: T | U; b: U & T; }) => [T, U] -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a : any var a = f15(a); >a : any >f15(a) : any >f15 : (x: I) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a : any var a = f16(a); >a : any >f16(a) : any >f16 : (x: Partial) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >a : any var a = f17(a); >a : any >f17(a) : any >f17 : (x: { [P in keyof T]: K; }) => T -> : ^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a : any var a = f18(a); >a : any >f18(a) : any >f18 : (x: { [P in K]: T[P]; }) => T -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a : any var a = f19(a, a); >a : any >f19(a, a) : any >f19 : (k: K, x: T[K]) => T -> : ^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a : any >a : any diff --git a/tests/baselines/reference/inferredRestTypeFixedOnce.types b/tests/baselines/reference/inferredRestTypeFixedOnce.types index 88a66e067b65e..db16ccb39a968 100644 --- a/tests/baselines/reference/inferredRestTypeFixedOnce.types +++ b/tests/baselines/reference/inferredRestTypeFixedOnce.types @@ -3,7 +3,7 @@ === inferredRestTypeFixedOnce.ts === function wrap(_: (...args: Args) => void) {} >wrap : (_: (...args: Args) => void) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >_ : (...args: Args) => void > : ^^^^ ^^ ^^^^^ >args : Args @@ -13,7 +13,7 @@ wrap(({ cancelable } = {}) => {}); >wrap(({ cancelable } = {}) => {}) : void > : ^^^^ >wrap : (_: (...args: Args) => void) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >({ cancelable } = {}) => {} : ({ cancelable }?: { cancelable: any; }) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >cancelable : any diff --git a/tests/baselines/reference/inferrenceInfiniteLoopWithSubtyping.types b/tests/baselines/reference/inferrenceInfiniteLoopWithSubtyping.types index 05e3483b5afc2..2b774fbc86038 100644 --- a/tests/baselines/reference/inferrenceInfiniteLoopWithSubtyping.types +++ b/tests/baselines/reference/inferrenceInfiniteLoopWithSubtyping.types @@ -87,12 +87,12 @@ declare const User: ObjectTypeComposer; User.addResolver({ >User.addResolver({ type: User, // `User as any` fix the problem}) : ObjectTypeComposer > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->User.addResolver : (opts: { type?: Thunk; }) => ObjectTypeComposer -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>User.addResolver : (opts: { type?: import("graphql-compose").Thunk; }) => ObjectTypeComposer +> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >User : ObjectTypeComposer > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->addResolver : (opts: { type?: Thunk; }) => ObjectTypeComposer -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>addResolver : (opts: { type?: import("graphql-compose").Thunk; }) => ObjectTypeComposer +> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ type: User, // `User as any` fix the problem} : { type: ObjectTypeComposer; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/inferringAnyFunctionType1.types b/tests/baselines/reference/inferringAnyFunctionType1.types index 3626c61b6884e..2b2b5d3a8f21c 100644 --- a/tests/baselines/reference/inferringAnyFunctionType1.types +++ b/tests/baselines/reference/inferringAnyFunctionType1.types @@ -3,7 +3,7 @@ === inferringAnyFunctionType1.ts === function f number }>(p: T): T { >f : number; }>(p: T) => T -> : ^ ^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >"0" : (p1: number) => number > : ^ ^^ ^^^^^ >p1 : number @@ -22,7 +22,7 @@ var v = f([x => x]); >f([x => x]) : [(x: number) => number] > : ^^ ^^^^^^^^^^^^^^^^^^^^ >f : number; }>(p: T) => T -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >[x => x] : [(x: number) => number] > : ^^ ^^^^^^^^^^^^^^^^^^^^ >x => x : (x: number) => number diff --git a/tests/baselines/reference/inferringAnyFunctionType2.types b/tests/baselines/reference/inferringAnyFunctionType2.types index 9aa0b187eb513..1ba79c223a99c 100644 --- a/tests/baselines/reference/inferringAnyFunctionType2.types +++ b/tests/baselines/reference/inferringAnyFunctionType2.types @@ -3,7 +3,7 @@ === inferringAnyFunctionType2.ts === function f number]>(p: T): T { >f : number]>(p: T) => T -> : ^ ^^^^^^^^^^^ ^^ ^^^^^ ^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >p1 : number > : ^^^^^^ >p : T @@ -20,7 +20,7 @@ var v = f([x => x]); >f([x => x]) : [(x: number) => number] > : ^^ ^^^^^^^^^^^^^^^^^^^^ >f : number]>(p: T) => T -> : ^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >[x => x] : [(x: number) => number] > : ^^ ^^^^^^^^^^^^^^^^^^^^ >x => x : (x: number) => number diff --git a/tests/baselines/reference/inferringAnyFunctionType3.types b/tests/baselines/reference/inferringAnyFunctionType3.types index df27a96e8bb69..ef3bdfedb840e 100644 --- a/tests/baselines/reference/inferringAnyFunctionType3.types +++ b/tests/baselines/reference/inferringAnyFunctionType3.types @@ -3,7 +3,7 @@ === inferringAnyFunctionType3.ts === function f number)[]>(p: T): T { >f : number)[]>(p: T) => T -> : ^ ^^^^^^^^^^^ ^^ ^^^^^ ^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >p1 : number > : ^^^^^^ >p : T @@ -20,7 +20,7 @@ var v = f([x => x]); >f([x => x]) : ((x: number) => number)[] > : ^^ ^^^^^^^^^^^^^^^^^^^^^^ >f : number)[]>(p: T) => T -> : ^ ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >[x => x] : ((x: number) => number)[] > : ^^ ^^^^^^^^^^^^^^^^^^^^^^ >x => x : (x: number) => number diff --git a/tests/baselines/reference/inferringAnyFunctionType4.types b/tests/baselines/reference/inferringAnyFunctionType4.types index 2afe7362c56c0..f5ffc70a7d121 100644 --- a/tests/baselines/reference/inferringAnyFunctionType4.types +++ b/tests/baselines/reference/inferringAnyFunctionType4.types @@ -3,7 +3,7 @@ === inferringAnyFunctionType4.ts === function f number>(p: T): T { >f : number>(p: T) => T -> : ^ ^^^^^^^^^^ ^^ ^^^^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >p1 : number > : ^^^^^^ >p : T @@ -20,7 +20,7 @@ var v = f(x => x); >f(x => x) : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >f : number>(p: T) => T -> : ^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x => x : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/inferringAnyFunctionType5.types b/tests/baselines/reference/inferringAnyFunctionType5.types index 169ace3763581..44ab2e3efd0c4 100644 --- a/tests/baselines/reference/inferringAnyFunctionType5.types +++ b/tests/baselines/reference/inferringAnyFunctionType5.types @@ -3,7 +3,7 @@ === inferringAnyFunctionType5.ts === function f number }>(p: T): T { >f : number; }>(p: T) => T -> : ^ ^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >q : (p1: number) => number > : ^ ^^ ^^^^^ >p1 : number @@ -22,7 +22,7 @@ var v = f({ q: x => x }); >f({ q: x => x }) : { q: (x: number) => number; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >f : number; }>(p: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ q: x => x } : { q: (x: number) => number; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >q : (x: number) => number diff --git a/tests/baselines/reference/inferringClassMembersFromAssignments.types b/tests/baselines/reference/inferringClassMembersFromAssignments.types index 74b1d2f7c548b..54e19c4414ddd 100644 --- a/tests/baselines/reference/inferringClassMembersFromAssignments.types +++ b/tests/baselines/reference/inferringClassMembersFromAssignments.types @@ -10,11 +10,11 @@ class C { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ this.inConstructor = 0; >this.inConstructor = 0 : 0 @@ -61,11 +61,11 @@ class C { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ this.inMethod = 0; >this.inMethod = 0 : 0 @@ -148,11 +148,11 @@ class C { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ this.inNestedArrowFunction = 0; >this.inNestedArrowFunction = 0 : 0 @@ -189,11 +189,11 @@ class C { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ this.inGetter = 0; >this.inGetter = 0 : 0 @@ -252,11 +252,11 @@ class C { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ this.inSetter = 0; >this.inSetter = 0 : 0 @@ -294,11 +294,11 @@ class C { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ this.inPropertyDeclaration = 0; >this.inPropertyDeclaration = 0 : 0 @@ -334,11 +334,11 @@ class C { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ this.inStaticMethod = 0; >this.inStaticMethod = 0 : 0 @@ -376,11 +376,11 @@ class C { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ this.inStaticNestedArrowFunction = 0; >this.inStaticNestedArrowFunction = 0 : 0 @@ -417,11 +417,11 @@ class C { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ this.inStaticGetter = 0; >this.inStaticGetter = 0 : 0 @@ -457,11 +457,11 @@ class C { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ this.inStaticSetter = 0; >this.inStaticSetter = 0 : 0 @@ -499,11 +499,11 @@ class C { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ this.inStaticPropertyDeclaration = 0; >this.inStaticPropertyDeclaration = 0 : 0 diff --git a/tests/baselines/reference/inferringClassMembersFromAssignments6.types b/tests/baselines/reference/inferringClassMembersFromAssignments6.types index e73b81d4ca35d..3531a4c7a13ae 100644 --- a/tests/baselines/reference/inferringClassMembersFromAssignments6.types +++ b/tests/baselines/reference/inferringClassMembersFromAssignments6.types @@ -37,11 +37,11 @@ function Foonly() { >console.log(self.x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >self.x : number > : ^^^^^^ >self : this diff --git a/tests/baselines/reference/inferringClassMembersFromAssignments7.types b/tests/baselines/reference/inferringClassMembersFromAssignments7.types index 6898c167e5703..473ef99d9e563 100644 --- a/tests/baselines/reference/inferringClassMembersFromAssignments7.types +++ b/tests/baselines/reference/inferringClassMembersFromAssignments7.types @@ -38,11 +38,11 @@ class C { >console.log(self.x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >self.x : number > : ^^^^^^ >self : this diff --git a/tests/baselines/reference/inferringReturnTypeFromConstructSignatureGeneric.types b/tests/baselines/reference/inferringReturnTypeFromConstructSignatureGeneric.types index c203924a0d990..1df958c235d90 100644 --- a/tests/baselines/reference/inferringReturnTypeFromConstructSignatureGeneric.types +++ b/tests/baselines/reference/inferringReturnTypeFromConstructSignatureGeneric.types @@ -57,7 +57,7 @@ function g(type: new () => T): T { >new type() : T > : ^ >type : new () => T -> : ^^^^^^^^^^^ +> : ^^^^^^^^^^ } const g1 = g(GenericObject); @@ -66,7 +66,7 @@ const g1 = g(GenericObject); >g(GenericObject) : GenericObject<{}> > : ^^^^^^^^^^^^^^^^^ >g : (type: new () => T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >GenericObject : typeof GenericObject > : ^^^^^^^^^^^^^^^^^^^^ @@ -88,7 +88,7 @@ const g2 = g(GenericNumber); >g(GenericNumber) : GenericNumber > : ^^^^^^^^^^^^^^^^^^^^^ >g : (type: new () => T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >GenericNumber : typeof GenericNumber > : ^^^^^^^^^^^^^^^^^^^^ @@ -110,7 +110,7 @@ const g3 = g(GenericNumberOrString); >g(GenericNumberOrString) : GenericNumberOrString > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >g : (type: new () => T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >GenericNumberOrString : typeof GenericNumberOrString > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -149,7 +149,7 @@ const g4 = g(C); >g(C) : C > : ^^^^^^^^^^ >g : (type: new () => T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >C : typeof C > : ^^^^^^^^ diff --git a/tests/baselines/reference/infiniteConstraints.types b/tests/baselines/reference/infiniteConstraints.types index 44bb0f6206866..db1a3468d2e26 100644 --- a/tests/baselines/reference/infiniteConstraints.types +++ b/tests/baselines/reference/infiniteConstraints.types @@ -25,8 +25,8 @@ type AProp = T > : ^^^^^^ declare function myBug< ->myBug : (arg: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +>myBug : ? U : never; }>(arg: T) => T +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ T extends { [K in keyof T]: T[K] extends AProp ? U : never } >(arg: T): T @@ -38,8 +38,8 @@ const out = myBug({obj1: {a: "test"}}) > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >myBug({obj1: {a: "test"}}) : { obj1: { a: string; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->myBug : (arg: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +>myBug : ? U : never; }>(arg: T) => T +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{obj1: {a: "test"}} : { obj1: { a: string; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >obj1 : { a: string; } @@ -57,13 +57,13 @@ type Value = Record<"val", V>; declare function value(val: V): Value; >value : (val: V) => Value -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >val : V > : ^ declare function ensureNoDuplicates< ->ensureNoDuplicates : >["val"] extends Extract], Value>["val"] ? never : any; }>(vals: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +>ensureNoDuplicates : ["val"] extends Extract], Value>["val"] ? never : any; }>(vals: T) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ T extends { [K in keyof T]: Extract["val"] extends Extract], Value>["val"] @@ -79,8 +79,8 @@ const noError = ensureNoDuplicates({main: value("test"), alternate: value("test2 > : ^^^^ >ensureNoDuplicates({main: value("test"), alternate: value("test2")}) : void > : ^^^^ ->ensureNoDuplicates : >["val"] extends Extract], Value>["val"] ? never : any; }>(vals: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>ensureNoDuplicates : ["val"] extends Extract], Value>["val"] ? never : any; }>(vals: T) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{main: value("test"), alternate: value("test2")} : { main: Value<"test">; alternate: Value<"test2">; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >main : Value<"test"> @@ -88,7 +88,7 @@ const noError = ensureNoDuplicates({main: value("test"), alternate: value("test2 >value("test") : Value<"test"> > : ^^^^^^^^^^^^^ >value : (val: V) => Value -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >"test" : "test" > : ^^^^^^ >alternate : Value<"test2"> @@ -96,7 +96,7 @@ const noError = ensureNoDuplicates({main: value("test"), alternate: value("test2 >value("test2") : Value<"test2"> > : ^^^^^^^^^^^^^^ >value : (val: V) => Value -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >"test2" : "test2" > : ^^^^^^^ @@ -105,8 +105,8 @@ const shouldBeNoError = ensureNoDuplicates({main: value("test")}); > : ^^^^ >ensureNoDuplicates({main: value("test")}) : void > : ^^^^ ->ensureNoDuplicates : >["val"] extends Extract], Value>["val"] ? never : any; }>(vals: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>ensureNoDuplicates : ["val"] extends Extract], Value>["val"] ? never : any; }>(vals: T) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{main: value("test")} : { main: Value<"test">; } > : ^^^^^^^^^^^^^^^^^^^^^^^^ >main : Value<"test"> @@ -114,7 +114,7 @@ const shouldBeNoError = ensureNoDuplicates({main: value("test")}); >value("test") : Value<"test"> > : ^^^^^^^^^^^^^ >value : (val: V) => Value -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >"test" : "test" > : ^^^^^^ @@ -123,8 +123,8 @@ const shouldBeError = ensureNoDuplicates({main: value("dup"), alternate: value(" > : ^^^^ >ensureNoDuplicates({main: value("dup"), alternate: value("dup")}) : void > : ^^^^ ->ensureNoDuplicates : >["val"] extends Extract], Value>["val"] ? never : any; }>(vals: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>ensureNoDuplicates : ["val"] extends Extract], Value>["val"] ? never : any; }>(vals: T) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{main: value("dup"), alternate: value("dup")} : { main: Value<"dup">; alternate: Value<"dup">; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >main : Value<"dup"> @@ -132,7 +132,7 @@ const shouldBeError = ensureNoDuplicates({main: value("dup"), alternate: value(" >value("dup") : Value<"dup"> > : ^^^^^^^^^^^^ >value : (val: V) => Value -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >"dup" : "dup" > : ^^^^^ >alternate : Value<"dup"> @@ -140,7 +140,7 @@ const shouldBeError = ensureNoDuplicates({main: value("dup"), alternate: value(" >value("dup") : Value<"dup"> > : ^^^^^^^^^^^^ >value : (val: V) => Value -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >"dup" : "dup" > : ^^^^^ @@ -152,7 +152,7 @@ type Cond = T extends number ? number : never; declare function function1}>(): T[keyof T]["foo"]; >function1 : ; }>() => T[keyof T]["foo"] -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^ // Repro from #31823 diff --git a/tests/baselines/reference/infiniteExpansionThroughTypeInference.types b/tests/baselines/reference/infiniteExpansionThroughTypeInference.types index f5fab085dd5ce..8e6650bc24c07 100644 --- a/tests/baselines/reference/infiniteExpansionThroughTypeInference.types +++ b/tests/baselines/reference/infiniteExpansionThroughTypeInference.types @@ -21,7 +21,7 @@ function ff(g: G): void { >ff(g) : void > : ^^^^ >ff : (g: G) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >g : G > : ^^^^ } diff --git a/tests/baselines/reference/infinitelyExpandingTypes2.types b/tests/baselines/reference/infinitelyExpandingTypes2.types index 94f772743ddc4..c463db4614b5b 100644 --- a/tests/baselines/reference/infinitelyExpandingTypes2.types +++ b/tests/baselines/reference/infinitelyExpandingTypes2.types @@ -23,11 +23,11 @@ function f(p: Foo) { >console.log(p) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >p : Foo > : ^^^^^^^^^^^ } diff --git a/tests/baselines/reference/infinitelyExpandingTypes5.types b/tests/baselines/reference/infinitelyExpandingTypes5.types index 98a0ee1144a2d..35c4f2d582a9a 100644 --- a/tests/baselines/reference/infinitelyExpandingTypes5.types +++ b/tests/baselines/reference/infinitelyExpandingTypes5.types @@ -21,19 +21,19 @@ interface Enumerator { function from(array: T[]): Query; >from : { (array: T[]): Query; (enumerator: Enumerator): Query; } -> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >array : T[] > : ^^^ function from(enumerator: Enumerator): Query; >from : { (array: T_1[]): Query; (enumerator: Enumerator): Query; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >enumerator : Enumerator > : ^^^^^^^^^^^^^ function from(arg: any): any { ->from : { (array: T[]): Query; (enumerator: Enumerator): Query; } -> : ^^^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^ +>from : { (array: T[]): Query; (enumerator: Enumerator): Query; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >arg : any return undefined; diff --git a/tests/baselines/reference/inheritanceMemberPropertyOverridingAccessor.types b/tests/baselines/reference/inheritanceMemberPropertyOverridingAccessor.types index ff65ca9749f72..5caec9e1b7900 100644 --- a/tests/baselines/reference/inheritanceMemberPropertyOverridingAccessor.types +++ b/tests/baselines/reference/inheritanceMemberPropertyOverridingAccessor.types @@ -11,15 +11,15 @@ class a { get x() { >x : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ return this.__x; >this.__x : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >__x : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } set x(aValue: () => string) { >x : () => string @@ -29,15 +29,15 @@ class a { this.__x = aValue; >this.__x = aValue : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this.__x : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >__x : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >aValue : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } diff --git a/tests/baselines/reference/inheritanceStaticPropertyOverridingAccessor.types b/tests/baselines/reference/inheritanceStaticPropertyOverridingAccessor.types index eb08c05e4b279..bf87233f4e145 100644 --- a/tests/baselines/reference/inheritanceStaticPropertyOverridingAccessor.types +++ b/tests/baselines/reference/inheritanceStaticPropertyOverridingAccessor.types @@ -13,7 +13,7 @@ class a { } static set x(aValue: () => string) { >x : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >aValue : () => string > : ^^^^^^ } diff --git a/tests/baselines/reference/inheritedModuleMembersForClodule.types b/tests/baselines/reference/inheritedModuleMembersForClodule.types index 7c378d7c1e9e3..08dad5b828d18 100644 --- a/tests/baselines/reference/inheritedModuleMembersForClodule.types +++ b/tests/baselines/reference/inheritedModuleMembersForClodule.types @@ -51,11 +51,11 @@ class E extends D { >this.foo() : number > : ^^^^^^ >this.foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this : typeof E > : ^^^^^^^^ >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } diff --git a/tests/baselines/reference/inheritedOverloadedSpecializedSignatures.types b/tests/baselines/reference/inheritedOverloadedSpecializedSignatures.types index d0c72a15309ce..22cace144811d 100644 --- a/tests/baselines/reference/inheritedOverloadedSpecializedSignatures.types +++ b/tests/baselines/reference/inheritedOverloadedSpecializedSignatures.types @@ -22,7 +22,7 @@ b('foo').charAt(0); >b('foo').charAt(0) : string > : ^^^^^^ >b('foo').charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >b('foo') : string > : ^^^^^^ >b : B @@ -30,7 +30,7 @@ b('foo').charAt(0); >'foo' : "foo" > : ^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ diff --git a/tests/baselines/reference/initializationOrdering1(target=es2021,usedefineforclassfields=false).types b/tests/baselines/reference/initializationOrdering1(target=es2021,usedefineforclassfields=false).types index fc31599611a0f..00997c9bc9dc8 100644 --- a/tests/baselines/reference/initializationOrdering1(target=es2021,usedefineforclassfields=false).types +++ b/tests/baselines/reference/initializationOrdering1(target=es2021,usedefineforclassfields=false).types @@ -27,11 +27,11 @@ export class Broken { >console.log(this.bug) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.bug : boolean > : ^^^^^^^ >this : this @@ -45,7 +45,7 @@ export class Broken { >this.facade.create() : boolean > : ^^^^^^^ >this.facade.create : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >this.facade : Helper > : ^^^^^^ >this : this @@ -53,7 +53,7 @@ export class Broken { >facade : Helper > : ^^^^^^ >create : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/initializationOrdering1(target=es2021,usedefineforclassfields=true).types b/tests/baselines/reference/initializationOrdering1(target=es2021,usedefineforclassfields=true).types index fc31599611a0f..00997c9bc9dc8 100644 --- a/tests/baselines/reference/initializationOrdering1(target=es2021,usedefineforclassfields=true).types +++ b/tests/baselines/reference/initializationOrdering1(target=es2021,usedefineforclassfields=true).types @@ -27,11 +27,11 @@ export class Broken { >console.log(this.bug) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.bug : boolean > : ^^^^^^^ >this : this @@ -45,7 +45,7 @@ export class Broken { >this.facade.create() : boolean > : ^^^^^^^ >this.facade.create : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >this.facade : Helper > : ^^^^^^ >this : this @@ -53,7 +53,7 @@ export class Broken { >facade : Helper > : ^^^^^^ >create : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/initializationOrdering1(target=es2022,usedefineforclassfields=false).types b/tests/baselines/reference/initializationOrdering1(target=es2022,usedefineforclassfields=false).types index fc31599611a0f..00997c9bc9dc8 100644 --- a/tests/baselines/reference/initializationOrdering1(target=es2022,usedefineforclassfields=false).types +++ b/tests/baselines/reference/initializationOrdering1(target=es2022,usedefineforclassfields=false).types @@ -27,11 +27,11 @@ export class Broken { >console.log(this.bug) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.bug : boolean > : ^^^^^^^ >this : this @@ -45,7 +45,7 @@ export class Broken { >this.facade.create() : boolean > : ^^^^^^^ >this.facade.create : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >this.facade : Helper > : ^^^^^^ >this : this @@ -53,7 +53,7 @@ export class Broken { >facade : Helper > : ^^^^^^ >create : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/initializationOrdering1(target=es2022,usedefineforclassfields=true).types b/tests/baselines/reference/initializationOrdering1(target=es2022,usedefineforclassfields=true).types index fc31599611a0f..00997c9bc9dc8 100644 --- a/tests/baselines/reference/initializationOrdering1(target=es2022,usedefineforclassfields=true).types +++ b/tests/baselines/reference/initializationOrdering1(target=es2022,usedefineforclassfields=true).types @@ -27,11 +27,11 @@ export class Broken { >console.log(this.bug) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.bug : boolean > : ^^^^^^^ >this : this @@ -45,7 +45,7 @@ export class Broken { >this.facade.create() : boolean > : ^^^^^^^ >this.facade.create : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >this.facade : Helper > : ^^^^^^ >this : this @@ -53,7 +53,7 @@ export class Broken { >facade : Helper > : ^^^^^^ >create : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/initializationOrdering1(target=esnext,usedefineforclassfields=false).types b/tests/baselines/reference/initializationOrdering1(target=esnext,usedefineforclassfields=false).types index fc31599611a0f..00997c9bc9dc8 100644 --- a/tests/baselines/reference/initializationOrdering1(target=esnext,usedefineforclassfields=false).types +++ b/tests/baselines/reference/initializationOrdering1(target=esnext,usedefineforclassfields=false).types @@ -27,11 +27,11 @@ export class Broken { >console.log(this.bug) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.bug : boolean > : ^^^^^^^ >this : this @@ -45,7 +45,7 @@ export class Broken { >this.facade.create() : boolean > : ^^^^^^^ >this.facade.create : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >this.facade : Helper > : ^^^^^^ >this : this @@ -53,7 +53,7 @@ export class Broken { >facade : Helper > : ^^^^^^ >create : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/initializationOrdering1(target=esnext,usedefineforclassfields=true).types b/tests/baselines/reference/initializationOrdering1(target=esnext,usedefineforclassfields=true).types index fc31599611a0f..00997c9bc9dc8 100644 --- a/tests/baselines/reference/initializationOrdering1(target=esnext,usedefineforclassfields=true).types +++ b/tests/baselines/reference/initializationOrdering1(target=esnext,usedefineforclassfields=true).types @@ -27,11 +27,11 @@ export class Broken { >console.log(this.bug) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.bug : boolean > : ^^^^^^^ >this : this @@ -45,7 +45,7 @@ export class Broken { >this.facade.create() : boolean > : ^^^^^^^ >this.facade.create : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >this.facade : Helper > : ^^^^^^ >this : this @@ -53,7 +53,7 @@ export class Broken { >facade : Helper > : ^^^^^^ >create : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/initializedDestructuringAssignmentTypes.types b/tests/baselines/reference/initializedDestructuringAssignmentTypes.types index 1448d1981e352..c366c677aa9c7 100644 --- a/tests/baselines/reference/initializedDestructuringAssignmentTypes.types +++ b/tests/baselines/reference/initializedDestructuringAssignmentTypes.types @@ -12,12 +12,12 @@ const [, a = ''] = ''.match('') || []; > : ^^^^^^^^^^^^^^^^^^^^^ >''.match('') : RegExpMatchArray > : ^^^^^^^^^^^^^^^^ ->''.match : (regexp: string | RegExp) => RegExpMatchArray -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>''.match : (regexp: string | RegExp) => RegExpMatchArray | null +> : ^ ^^ ^^^^^ >'' : "" > : ^^ ->match : (regexp: string | RegExp) => RegExpMatchArray -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>match : (regexp: string | RegExp) => RegExpMatchArray | null +> : ^ ^^ ^^^^^ >'' : "" > : ^^ >[] : [] diff --git a/tests/baselines/reference/inlineJsxAndJsxFragPragma.types b/tests/baselines/reference/inlineJsxAndJsxFragPragma.types index 6fc680639edc9..397ae5084e48c 100644 --- a/tests/baselines/reference/inlineJsxAndJsxFragPragma.types +++ b/tests/baselines/reference/inlineJsxAndJsxFragPragma.types @@ -32,9 +32,9 @@ export function Fragment(): void; */ import {h, Fragment} from "./renderer"; >h : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >Fragment : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ <>

    -> : ^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a : p > : ^ >b : p @@ -63,15 +63,15 @@ Point.zero = (): Point => Point(0, 0); >Point.zero : () => Point > : ^^^^^^ >Point : { (x: number, y: number): Point; zero(): Point; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^ ^^^ >zero : () => Point -> : ^^^^^^^^^^^ +> : ^^^^^^ >(): Point => Point(0, 0) : () => Point > : ^^^^^^ >Point(0, 0) : Point > : ^^^^^ >Point : { (x: number, y: number): Point; zero(): Point; } -> : ^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^ ^^^ >0 : 0 > : ^ >0 : 0 diff --git a/tests/baselines/reference/declarationEmitExportAliasVisibiilityMarking.types b/tests/baselines/reference/declarationEmitExportAliasVisibiilityMarking.types index f1a097871a182..d66f2da8943ea 100644 --- a/tests/baselines/reference/declarationEmitExportAliasVisibiilityMarking.types +++ b/tests/baselines/reference/declarationEmitExportAliasVisibiilityMarking.types @@ -41,29 +41,29 @@ export default (suit: Suit, rank: Rank) => ({suit, rank}); === index.ts === export let lazyCard = () => import('./Card').then(a => a.default); >lazyCard : () => Promise<(suit: import("Types").Suit, rank: import("Types").Rank) => { suit: import("Types").Suit; rank: import("Types").Rank; }> -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^^^^^^ ^^^^^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >() => import('./Card').then(a => a.default) : () => Promise<(suit: import("Types").Suit, rank: import("Types").Rank) => { suit: import("Types").Suit; rank: import("Types").Rank; }> -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^ ^^^^^^^ ^^^^^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >import('./Card').then(a => a.default) : Promise<(suit: import("Types").Suit, rank: import("Types").Rank) => { suit: import("Types").Suit; rank: import("Types").Rank; }> -> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^ ^^^^^^^ ^^^^^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >import('./Card').then : (onfulfilled?: (value: typeof import("Card")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >import('./Card') : Promise > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'./Card' : "./Card" > : ^^^^^^^^ >then : (onfulfilled?: (value: typeof import("Card")) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >a => a.default : (a: typeof import("Card")) => (suit: import("Types").Suit, rank: import("Types").Rank) => { suit: import("Types").Suit; rank: import("Types").Rank; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^ ^^^^^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : typeof import("Card") > : ^^^^^^^^^^^^^^^^^^^^^ >a.default : (suit: import("Types").Suit, rank: import("Types").Rank) => { suit: import("Types").Suit; rank: import("Types").Rank; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^ ^^^^^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : typeof import("Card") > : ^^^^^^^^^^^^^^^^^^^^^ >default : (suit: import("Types").Suit, rank: import("Types").Rank) => { suit: import("Types").Suit; rank: import("Types").Rank; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^ ^^^^^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ export { Suit, Rank } from './Types'; >Suit : any diff --git a/tests/baselines/reference/declarationEmitExportAssignedNamespaceNoTripleSlashTypesReference.types b/tests/baselines/reference/declarationEmitExportAssignedNamespaceNoTripleSlashTypesReference.types index ae4db6f1b7bc7..8ad4cf190fe66 100644 --- a/tests/baselines/reference/declarationEmitExportAssignedNamespaceNoTripleSlashTypesReference.types +++ b/tests/baselines/reference/declarationEmitExportAssignedNamespaceNoTripleSlashTypesReference.types @@ -55,7 +55,7 @@ export function getComp(): Component { === src/inferred-comp-export.ts === import { getComp } from "./get-comp"; >getComp : () => import("node_modules/@types/react/index").Component -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ // this shouldn't need any triple-slash references - it should have a direct import to `react` and that's it // This issue (#35343) _only_ reproduces in the test harness when the file in question is in a subfolder @@ -71,7 +71,7 @@ export const obj = { >getComp() : import("node_modules/@types/react/index").Component > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >getComp : () => import("node_modules/@types/react/index").Component -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ } === src/some-other-file.ts === diff --git a/tests/baselines/reference/declarationEmitExpressionInExtends4.errors.txt b/tests/baselines/reference/declarationEmitExpressionInExtends4.errors.txt index 18aa2158fb3cb..4e7087e5d862c 100644 --- a/tests/baselines/reference/declarationEmitExpressionInExtends4.errors.txt +++ b/tests/baselines/reference/declarationEmitExpressionInExtends4.errors.txt @@ -1,10 +1,9 @@ declarationEmitExpressionInExtends4.ts(5,17): error TS2315: Type 'D' is not generic. declarationEmitExpressionInExtends4.ts(9,18): error TS2304: Cannot find name 'SomeUndefinedFunction'. declarationEmitExpressionInExtends4.ts(14,18): error TS2304: Cannot find name 'SomeUndefinedFunction'. -declarationEmitExpressionInExtends4.ts(14,18): error TS4020: 'extends' clause of exported class 'C3' has or is using private name 'SomeUndefinedFunction'. -==== declarationEmitExpressionInExtends4.ts (4 errors) ==== +==== declarationEmitExpressionInExtends4.ts (3 errors) ==== function getSomething() { return class D { } } @@ -25,7 +24,5 @@ declarationEmitExpressionInExtends4.ts(14,18): error TS4020: 'extends' clause of class C3 extends SomeUndefinedFunction { ~~~~~~~~~~~~~~~~~~~~~ !!! error TS2304: Cannot find name 'SomeUndefinedFunction'. - ~~~~~~~~~~~~~~~~~~~~~ -!!! error TS4020: 'extends' clause of exported class 'C3' has or is using private name 'SomeUndefinedFunction'. } \ No newline at end of file diff --git a/tests/baselines/reference/declarationEmitExpressionInExtends4.js b/tests/baselines/reference/declarationEmitExpressionInExtends4.js index cd5d5885df109..a5d57ceb73c95 100644 --- a/tests/baselines/reference/declarationEmitExpressionInExtends4.js +++ b/tests/baselines/reference/declarationEmitExpressionInExtends4.js @@ -62,3 +62,19 @@ var C3 = /** @class */ (function (_super) { } return C3; }(SomeUndefinedFunction)); + + +//// [declarationEmitExpressionInExtends4.d.ts] +declare function getSomething(): { + new (): {}; +}; +declare const C_base: { + new (): {}; +}; +declare class C extends C_base { +} +declare const C2_base: any; +declare class C2 extends C2_base { +} +declare class C3 extends SomeUndefinedFunction { +} diff --git a/tests/baselines/reference/declarationEmitExpressionInExtends5.types b/tests/baselines/reference/declarationEmitExpressionInExtends5.types index 22c36dcc0f375..dcc4da92fbfaa 100644 --- a/tests/baselines/reference/declarationEmitExpressionInExtends5.types +++ b/tests/baselines/reference/declarationEmitExpressionInExtends5.types @@ -21,7 +21,7 @@ namespace Test >getClass() : IFace > : ^^^^^ >getClass : () => new () => T -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ { } diff --git a/tests/baselines/reference/declarationEmitExpressionInExtends7.errors.txt b/tests/baselines/reference/declarationEmitExpressionInExtends7.errors.txt index 0fee8f942cc5b..378db75bc0c37 100644 --- a/tests/baselines/reference/declarationEmitExpressionInExtends7.errors.txt +++ b/tests/baselines/reference/declarationEmitExpressionInExtends7.errors.txt @@ -1,11 +1,8 @@ declarationEmitExpressionInExtends7.ts(1,30): error TS2304: Cannot find name 'SomeUndefinedFunction'. -declarationEmitExpressionInExtends7.ts(1,30): error TS4021: 'extends' clause of exported class has or is using private name 'SomeUndefinedFunction'. -==== declarationEmitExpressionInExtends7.ts (2 errors) ==== +==== declarationEmitExpressionInExtends7.ts (1 errors) ==== export default class extends SomeUndefinedFunction {} ~~~~~~~~~~~~~~~~~~~~~ !!! error TS2304: Cannot find name 'SomeUndefinedFunction'. - ~~~~~~~~~~~~~~~~~~~~~ -!!! error TS4021: 'extends' clause of exported class has or is using private name 'SomeUndefinedFunction'. \ No newline at end of file diff --git a/tests/baselines/reference/declarationEmitExpressionInExtends7.js b/tests/baselines/reference/declarationEmitExpressionInExtends7.js index b4b43fef7cfeb..c7488b0a461ad 100644 --- a/tests/baselines/reference/declarationEmitExpressionInExtends7.js +++ b/tests/baselines/reference/declarationEmitExpressionInExtends7.js @@ -30,3 +30,8 @@ var default_1 = /** @class */ (function (_super) { return default_1; }(SomeUndefinedFunction)); exports.default = default_1; + + +//// [declarationEmitExpressionInExtends7.d.ts] +export default class extends SomeUndefinedFunction { +} diff --git a/tests/baselines/reference/declarationEmitFBoundedTypeParams.types b/tests/baselines/reference/declarationEmitFBoundedTypeParams.types index ffe2283156fe9..16cbf2e94cc87 100644 --- a/tests/baselines/reference/declarationEmitFBoundedTypeParams.types +++ b/tests/baselines/reference/declarationEmitFBoundedTypeParams.types @@ -5,7 +5,7 @@ function append(result: a[], value: b): a[] { >append : (result: a[], value: b) => a[] -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >result : a[] > : ^^^ >value : b @@ -15,11 +15,11 @@ function append(result: a[], value: b): a[] { >result.push(value) : number > : ^^^^^^ >result.push : (...items: a[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^ >result : a[] > : ^^^ >push : (...items: a[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^ >value : b > : ^ diff --git a/tests/baselines/reference/declarationEmitFirstTypeArgumentGenericFunctionType.types b/tests/baselines/reference/declarationEmitFirstTypeArgumentGenericFunctionType.types index 2d96a2be0924a..83d3499b3b356 100644 --- a/tests/baselines/reference/declarationEmitFirstTypeArgumentGenericFunctionType.types +++ b/tests/baselines/reference/declarationEmitFirstTypeArgumentGenericFunctionType.types @@ -15,19 +15,19 @@ var prop12: X<(() => Tany)>; // spaces before the first type argument function f1() { // Inferred return type >f1 : () => X<(() => Tany)> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^ ^^ return prop11; >prop11 : X<(() => Tany)> -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^ ^^ } function f2() { // Inferred return type >f2 : () => X<(() => Tany)> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^ ^^^^^^^ ^^ return prop12; >prop12 : X<(() => Tany)> -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^ ^^ } function f3(): X< () => Tany> { // written with space before type argument >f3 : () => X<(() => Tany)> @@ -35,7 +35,7 @@ function f3(): X< () => Tany> { // written with space before type argument return prop11; >prop11 : X<(() => Tany)> -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^ ^^ } function f4(): X<(() => Tany)> { // written type with parenthesis >f4 : () => X<(() => Tany)> @@ -43,7 +43,7 @@ function f4(): X<(() => Tany)> { // written type with parenthesis return prop12; >prop12 : X<(() => Tany)> -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^ ^^ } class Y { >Y : Y @@ -55,13 +55,13 @@ var prop2: Y() => Tany>; // No space after second type argument var prop2: Y() => Tany>; // space after second type argument >prop2 : Y() => Tany> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^^^^^ ^ var prop3: Y< () => Tany, () => Tany>; // space before first type argument ->prop3 : Y<(() => Tany), () => Tany_1> -> : ^^^^ ^^^^^^^ ^^^^ ^^^^^^^ ^ +>prop3 : Y<(() => Tany), () => Tany> +> : ^^^^ ^^^^^^^ ^^^^ ^^^^^^^ ^ var prop4: Y<(() => Tany), () => Tany>; // parenthesized first type argument ->prop4 : Y<(() => Tany), () => Tany_1> -> : ^^^^ ^^^^^^^ ^^^^ ^^^^^^^ ^ +>prop4 : Y<(() => Tany), () => Tany> +> : ^^^^ ^^^^^^^ ^^^^ ^^^^^^^ ^ diff --git a/tests/baselines/reference/declarationEmitForDefaultExportClassExtendingExpression01.types b/tests/baselines/reference/declarationEmitForDefaultExportClassExtendingExpression01.types index 63632f2d60941..10ecc5ba5a491 100644 --- a/tests/baselines/reference/declarationEmitForDefaultExportClassExtendingExpression01.types +++ b/tests/baselines/reference/declarationEmitForDefaultExportClassExtendingExpression01.types @@ -37,7 +37,7 @@ export default class extends getGreeterBase() { >getGreeterBase() : Greeter > : ^^^^^^^ >getGreeterBase : () => GreeterConstructor -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/declarationEmitForGlobalishSpecifierSymlink.types b/tests/baselines/reference/declarationEmitForGlobalishSpecifierSymlink.types index 903c6931acd85..8a0be1b7d427f 100644 --- a/tests/baselines/reference/declarationEmitForGlobalishSpecifierSymlink.types +++ b/tests/baselines/reference/declarationEmitForGlobalishSpecifierSymlink.types @@ -39,7 +39,7 @@ import * as _whatever from "p2"; import { getA } from "typescript-fsa"; >getA : () => import("/p1/node_modules/typescript-fsa/index").A -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ export const a = getA(); >a : import("/p1/node_modules/typescript-fsa/index").A @@ -47,7 +47,7 @@ export const a = getA(); >getA() : import("/p1/node_modules/typescript-fsa/index").A > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >getA : () => import("/p1/node_modules/typescript-fsa/index").A -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ === /p2/index.d.ts === export const a: import("typescript-fsa").A; diff --git a/tests/baselines/reference/declarationEmitForGlobalishSpecifierSymlink2.types b/tests/baselines/reference/declarationEmitForGlobalishSpecifierSymlink2.types index 8433f37c76da8..787f5aad301af 100644 --- a/tests/baselines/reference/declarationEmitForGlobalishSpecifierSymlink2.types +++ b/tests/baselines/reference/declarationEmitForGlobalishSpecifierSymlink2.types @@ -23,7 +23,7 @@ import * as _whatever from "p2"; import { getA } from "typescript-fsa"; >getA : () => import("/cache/typescript-fsa/index").A -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ export const a = getA(); >a : import("/cache/typescript-fsa/index").A @@ -31,7 +31,7 @@ export const a = getA(); >getA() : import("/cache/typescript-fsa/index").A > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >getA : () => import("/cache/typescript-fsa/index").A -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ === /p2/index.d.ts === export const a: import("typescript-fsa").A; diff --git a/tests/baselines/reference/declarationEmitForModuleImportingModuleAugmentationRetainsImport.types b/tests/baselines/reference/declarationEmitForModuleImportingModuleAugmentationRetainsImport.types index dfd659796fdde..b19648a579c9b 100644 --- a/tests/baselines/reference/declarationEmitForModuleImportingModuleAugmentationRetainsImport.types +++ b/tests/baselines/reference/declarationEmitForModuleImportingModuleAugmentationRetainsImport.types @@ -30,11 +30,11 @@ export function child1(prototype: ParentThing) { >prototype.add = (a: number, b: number) => a + b : (a: number, b: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >prototype.add : (a: number, b: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >prototype : ParentThing > : ^^^^^^^^^^^ >add : (a: number, b: number) => number -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >(a: number, b: number) => a + b : (a: number, b: number) => number > : ^ ^^ ^^ ^^ ^^^^^^^^^^^ >a : number diff --git a/tests/baselines/reference/declarationEmitForTypesWhichNeedImportTypes.types b/tests/baselines/reference/declarationEmitForTypesWhichNeedImportTypes.types index a07fd03cccd09..38f004b4fd947 100644 --- a/tests/baselines/reference/declarationEmitForTypesWhichNeedImportTypes.types +++ b/tests/baselines/reference/declarationEmitForTypesWhichNeedImportTypes.types @@ -14,7 +14,7 @@ export function createNamed(): Named { === a.ts === import { createNamed } from "./b"; >createNamed : () => import("b").Named -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^ export const Value = createNamed(); >Value : import("b").Named @@ -22,5 +22,5 @@ export const Value = createNamed(); >createNamed() : import("b").Named > : ^^^^^^^^^^^^^^^^^ >createNamed : () => import("b").Named -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^ diff --git a/tests/baselines/reference/declarationEmitGlobalThisPreserved.types b/tests/baselines/reference/declarationEmitGlobalThisPreserved.types index f109e22b50b09..7bdf6a9561e19 100644 --- a/tests/baselines/reference/declarationEmitGlobalThisPreserved.types +++ b/tests/baselines/reference/declarationEmitGlobalThisPreserved.types @@ -16,21 +16,21 @@ export const a1 = (isNaN: typeof globalThis.isNaN): typeof globalThis.isNaN => i >(isNaN: typeof globalThis.isNaN): typeof globalThis.isNaN => isNaN : (isNaN: typeof globalThis.isNaN) => typeof globalThis.isNaN > : ^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ export const a2 = (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN): typeof globalThis.isNaN => bar ?? isNaN; >a2 : (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) => typeof globalThis.isNaN @@ -38,33 +38,33 @@ export const a2 = (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN >(isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN): typeof globalThis.isNaN => bar ?? isNaN : (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) => typeof globalThis.isNaN > : ^ ^^ ^^ ^^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar ?? isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ export const a3 = (isNaN: number, bar: typeof globalThis.isNaN): typeof globalThis.isNaN => bar; >a3 : (isNaN: number, bar: typeof globalThis.isNaN) => typeof globalThis.isNaN @@ -74,21 +74,21 @@ export const a3 = (isNaN: number, bar: typeof globalThis.isNaN): typeof globalTh >isNaN : number > : ^^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ export const a4 = (isNaN: number): typeof globalThis.isNaN => globalThis.isNaN; >a4 : (isNaN: number) => typeof globalThis.isNaN @@ -98,17 +98,17 @@ export const a4 = (isNaN: number): typeof globalThis.isNaN => globalThis.isNaN; >isNaN : number > : ^^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ export const aObj = { >aObj : { a1: (isNaN: typeof globalThis.isNaN) => typeof globalThis.isNaN; a2: (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) => typeof globalThis.isNaN; a3: (isNaN: number, bar: typeof globalThis.isNaN) => typeof globalThis.isNaN; a4: (isNaN: number) => typeof globalThis.isNaN; } @@ -122,21 +122,21 @@ export const aObj = { >(isNaN: typeof globalThis.isNaN): typeof globalThis.isNaN => isNaN : (isNaN: typeof globalThis.isNaN) => typeof globalThis.isNaN > : ^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ a2: (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN): typeof globalThis.isNaN => bar ?? isNaN, >a2 : (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) => typeof globalThis.isNaN @@ -144,33 +144,33 @@ export const aObj = { >(isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN): typeof globalThis.isNaN => bar ?? isNaN : (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) => typeof globalThis.isNaN > : ^ ^^ ^^ ^^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar ?? isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ a3: (isNaN: number, bar: typeof globalThis.isNaN): typeof globalThis.isNaN => bar, >a3 : (isNaN: number, bar: typeof globalThis.isNaN) => typeof globalThis.isNaN @@ -180,21 +180,21 @@ export const aObj = { >isNaN : number > : ^^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ a4: (isNaN: number): typeof globalThis.isNaN => globalThis.isNaN, >a4 : (isNaN: number) => typeof globalThis.isNaN @@ -204,356 +204,356 @@ export const aObj = { >isNaN : number > : ^^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ } export type a4Return = ReturnType>; >a4Return : boolean > : ^^^^^^^ ->a4 : (isNaN: number) => (number: number) => boolean -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +>a4 : (isNaN: number) => typeof globalThis.isNaN +> : ^ ^^ ^^^^^ export type a4oReturn = ReturnType>; >a4oReturn : boolean > : ^^^^^^^ ->aObj : { a1: (isNaN: typeof globalThis.isNaN) => (number: number) => boolean; a2: (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) => (number: number) => boolean; a3: (isNaN: number, bar: typeof globalThis.isNaN) => (number: number) => boolean; a4: (isNaN: number) => (number: number) => boolean; } -> : ^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^ +>aObj : { a1: (isNaN: typeof globalThis.isNaN) => typeof globalThis.isNaN; a2: (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) => typeof globalThis.isNaN; a3: (isNaN: number, bar: typeof globalThis.isNaN) => typeof globalThis.isNaN; a4: (isNaN: number) => typeof globalThis.isNaN; } +> : ^^^^^^^ ^^ ^^^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^^^ ^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^ ^^ ^^^^^ ^^^ export const b1 = (isNaN: typeof globalThis.isNaN) => isNaN; >b1 : (isNaN: typeof globalThis.isNaN) => (number: number) => boolean -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^ ^^^^^ >(isNaN: typeof globalThis.isNaN) => isNaN : (isNaN: typeof globalThis.isNaN) => (number: number) => boolean -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ export const b2 = (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) => bar ?? isNaN; >b2 : (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) => (number: number) => boolean -> : ^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^ >(isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) => bar ?? isNaN : (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) => (number: number) => boolean -> : ^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar ?? isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ export const b3 = (isNaN: number, bar: typeof globalThis.isNaN) => bar; >b3 : (isNaN: number, bar: typeof globalThis.isNaN) => (number: number) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(isNaN: number, bar: typeof globalThis.isNaN) => bar : (isNaN: number, bar: typeof globalThis.isNaN) => (number: number) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >isNaN : number > : ^^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ export const b4 = (isNaN: number) => globalThis.isNaN; >b4 : (isNaN: number) => (number: number) => boolean -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^ ^^^^^ >(isNaN: number) => globalThis.isNaN : (isNaN: number) => (number: number) => boolean -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^ ^^^^^ >isNaN : number > : ^^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ export const bObj = { >bObj : { b1: (isNaN: typeof globalThis.isNaN) => (number: number) => boolean; b2: (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) => (number: number) => boolean; b3: (isNaN: number, bar: typeof globalThis.isNaN) => (number: number) => boolean; b4: (isNaN: number) => (number: number) => boolean; } -> : ^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ ^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^ ^^^ >{ b1: (isNaN: typeof globalThis.isNaN) => isNaN, b2: (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) => bar ?? isNaN, b3: (isNaN: number, bar: typeof globalThis.isNaN) => bar, b4: (isNaN: number) => globalThis.isNaN,} : { b1: (isNaN: typeof globalThis.isNaN) => (number: number) => boolean; b2: (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) => (number: number) => boolean; b3: (isNaN: number, bar: typeof globalThis.isNaN) => (number: number) => boolean; b4: (isNaN: number) => (number: number) => boolean; } -> : ^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ ^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^ ^^^ b1: (isNaN: typeof globalThis.isNaN) => isNaN, >b1 : (isNaN: typeof globalThis.isNaN) => (number: number) => boolean -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^ ^^^^^ >(isNaN: typeof globalThis.isNaN) => isNaN : (isNaN: typeof globalThis.isNaN) => (number: number) => boolean -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ b2: (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) => bar ?? isNaN, >b2 : (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) => (number: number) => boolean -> : ^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^ >(isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) => bar ?? isNaN : (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) => (number: number) => boolean -> : ^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar ?? isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ b3: (isNaN: number, bar: typeof globalThis.isNaN) => bar, >b3 : (isNaN: number, bar: typeof globalThis.isNaN) => (number: number) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >(isNaN: number, bar: typeof globalThis.isNaN) => bar : (isNaN: number, bar: typeof globalThis.isNaN) => (number: number) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >isNaN : number > : ^^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ b4: (isNaN: number) => globalThis.isNaN, >b4 : (isNaN: number) => (number: number) => boolean -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^ ^^^^^ >(isNaN: number) => globalThis.isNaN : (isNaN: number) => (number: number) => boolean -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^ ^^^^^ >isNaN : number > : ^^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ } export type b4Return = ReturnType>; >b4Return : boolean > : ^^^^^^^ >b4 : (isNaN: number) => (number: number) => boolean -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^ ^^^^^ export type b4oReturn = ReturnType>; >b4oReturn : boolean > : ^^^^^^^ >bObj : { b1: (isNaN: typeof globalThis.isNaN) => (number: number) => boolean; b2: (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) => (number: number) => boolean; b3: (isNaN: number, bar: typeof globalThis.isNaN) => (number: number) => boolean; b4: (isNaN: number) => (number: number) => boolean; } -> : ^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^ ^^^^^^^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ ^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^ ^^^ export function c1(isNaN: typeof globalThis.isNaN) { return isNaN } >c1 : (isNaN: typeof globalThis.isNaN) => (number: number) => boolean -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ export function c2(isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) { return bar ?? isNaN } >c2 : (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) => (number: number) => boolean -> : ^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar ?? isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ export function c3(isNaN: number, bar: typeof globalThis.isNaN) { return bar } >c3 : (isNaN: number, bar: typeof globalThis.isNaN) => (number: number) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >isNaN : number > : ^^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ export function c4(isNaN: number) { return globalThis.isNaN; } >c4 : (isNaN: number) => (number: number) => boolean -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^ ^^^^^ >isNaN : number > : ^^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ export const cObj = { >cObj : { c1(isNaN: typeof globalThis.isNaN): (number: number) => boolean; c2(isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN): (number: number) => boolean; c3(isNaN: number, bar: typeof globalThis.isNaN): (number: number) => boolean; c4(isNaN: number): (number: number) => boolean; } -> : ^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^ ^^ ^^^^^ ^^^^^ ^^ ^^ ^^^ ^^^^ ^^ ^^^^^ ^^^^^ ^^ ^^ ^^ ^^^^ ^^ ^^^^^ ^^^^^ ^^ ^^^^ ^^ ^^^^^ ^^^ >{ c1(isNaN: typeof globalThis.isNaN) { return isNaN }, c2(isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) { return bar ?? isNaN }, c3(isNaN: number, bar: typeof globalThis.isNaN) { return bar }, c4(isNaN: number) { return globalThis.isNaN; },} : { c1(isNaN: typeof globalThis.isNaN): (number: number) => boolean; c2(isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN): (number: number) => boolean; c3(isNaN: number, bar: typeof globalThis.isNaN): (number: number) => boolean; c4(isNaN: number): (number: number) => boolean; } -> : ^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^ ^^ ^^^^^ ^^^^^ ^^ ^^ ^^^ ^^^^ ^^ ^^^^^ ^^^^^ ^^ ^^ ^^ ^^^^ ^^ ^^^^^ ^^^^^ ^^ ^^^^ ^^ ^^^^^ ^^^ c1(isNaN: typeof globalThis.isNaN) { return isNaN }, >c1 : (isNaN: typeof globalThis.isNaN) => (number: number) => boolean -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ c2(isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) { return bar ?? isNaN }, >c2 : (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) => (number: number) => boolean -> : ^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar ?? isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ c3(isNaN: number, bar: typeof globalThis.isNaN) { return bar }, >c3 : (isNaN: number, bar: typeof globalThis.isNaN) => (number: number) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >isNaN : number > : ^^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ c4(isNaN: number) { return globalThis.isNaN; }, >c4 : (isNaN: number) => (number: number) => boolean -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^ ^^^^^ >isNaN : number > : ^^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ } export type c4Return = ReturnType>; >c4Return : boolean > : ^^^^^^^ >c4 : (isNaN: number) => (number: number) => boolean -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^ ^^^^^ export type c4oReturn = ReturnType>; >c4oReturn : boolean > : ^^^^^^^ >cObj : { c1(isNaN: typeof globalThis.isNaN): (number: number) => boolean; c2(isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN): (number: number) => boolean; c3(isNaN: number, bar: typeof globalThis.isNaN): (number: number) => boolean; c4(isNaN: number): (number: number) => boolean; } -> : ^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^ ^^^^ ^^ ^^^^^ ^^^^^ ^^ ^^ ^^^ ^^^^ ^^ ^^^^^ ^^^^^ ^^ ^^ ^^ ^^^^ ^^ ^^^^^ ^^^^^ ^^ ^^^^ ^^ ^^^^^ ^^^ export function d1() { >d1 : () => () => (isNaN: typeof globalThis.isNaN) => typeof globalThis.isNaN @@ -565,27 +565,27 @@ export function d1() { >(isNaN: typeof globalThis.isNaN): typeof globalThis.isNaN => isNaN : (isNaN: typeof globalThis.isNaN) => typeof globalThis.isNaN > : ^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ return function() { return fn }; ->function() { return fn } : () => (isNaN: typeof globalThis.isNaN) => (number: number) => boolean -> : ^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ ->fn : (isNaN: typeof globalThis.isNaN) => (number: number) => boolean -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +>function() { return fn } : () => (isNaN: typeof globalThis.isNaN) => typeof globalThis.isNaN +> : ^^^^^^^ ^^ ^^^^^ +>fn : (isNaN: typeof globalThis.isNaN) => typeof globalThis.isNaN +> : ^ ^^ ^^^^^ } export function d2() { @@ -598,39 +598,39 @@ export function d2() { >(isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN): typeof globalThis.isNaN => bar ?? isNaN : (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) => typeof globalThis.isNaN > : ^ ^^ ^^ ^^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar ?? isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ return function() { return fn }; ->function() { return fn } : () => (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) => (number: number) => boolean -> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^^^^^^^^ ->fn : (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) => (number: number) => boolean -> : ^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +>function() { return fn } : () => (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) => typeof globalThis.isNaN +> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^ +>fn : (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) => typeof globalThis.isNaN +> : ^ ^^ ^^ ^^^ ^^^^^ } export function d3() { @@ -645,27 +645,27 @@ export function d3() { >isNaN : number > : ^^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ return function() { return fn }; ->function() { return fn } : () => (isNaN: number, bar: typeof globalThis.isNaN) => (number: number) => boolean -> : ^^^^^^^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ ->fn : (isNaN: number, bar: typeof globalThis.isNaN) => (number: number) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +>function() { return fn } : () => (isNaN: number, bar: typeof globalThis.isNaN) => typeof globalThis.isNaN +> : ^^^^^^^ ^^ ^^ ^^ ^^^^^ +>fn : (isNaN: number, bar: typeof globalThis.isNaN) => typeof globalThis.isNaN +> : ^ ^^ ^^ ^^ ^^^^^ } export function d4() { @@ -680,30 +680,30 @@ export function d4() { >isNaN : number > : ^^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ return function() { return fn }; ->function() { return fn } : () => (isNaN: number) => (number: number) => boolean -> : ^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ ->fn : (isNaN: number) => (number: number) => boolean -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +>function() { return fn } : () => (isNaN: number) => typeof globalThis.isNaN +> : ^^^^^^^ ^^ ^^^^^ +>fn : (isNaN: number) => typeof globalThis.isNaN +> : ^ ^^ ^^^^^ } export type d4Return = ReturnType>>>; >d4Return : boolean > : ^^^^^^^ ->d4 : () => () => (isNaN: number) => (number: number) => boolean -> : ^^^^^^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +>d4 : () => () => (isNaN: number) => typeof globalThis.isNaN +> : ^^^^^^^^^^^^^ ^^ ^^^^^ export class A { >A : A @@ -711,94 +711,94 @@ export class A { method1(isNaN: typeof globalThis.isNaN) { return isNaN } >method1 : (isNaN: typeof globalThis.isNaN) => (number: number) => boolean -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ method2(isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) { return bar ?? isNaN } >method2 : (isNaN: typeof globalThis.isNaN, bar?: typeof globalThis.isNaN) => (number: number) => boolean -> : ^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar ?? isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ method3(isNaN: number, bar: typeof globalThis.isNaN) { return bar } >method3 : (isNaN: number, bar: typeof globalThis.isNaN) => (number: number) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^ ^^ ^^^^^ >isNaN : number > : ^^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ method4(isNaN: number) { return globalThis.isNaN; } >method4 : (isNaN: number) => (number: number) => boolean -> : ^ ^^ ^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^ ^^ ^^^^^ >isNaN : number > : ^^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ } export function fromParameter(isNaN: number, bar: typeof globalThis.isNaN) { >fromParameter : (isNaN: number, bar: typeof globalThis.isNaN) => () => { bar: (number: number) => boolean; } -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ >isNaN : number > : ^^^^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ return function() { return { bar } }; >function() { return { bar } } : () => { bar: (number: number) => boolean; } -> : ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ >{ bar } : { bar: (number: number) => boolean; } -> : ^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^ ^^^^^ ^^^ >bar : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ } // Non-inference cases. @@ -807,47 +807,47 @@ export const explicitlyTypedVariable: (isNaN: typeof globalThis.isNaN) => typeof >explicitlyTypedVariable : (isNaN: typeof globalThis.isNaN) => typeof globalThis.isNaN > : ^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(isNaN) => isNaN : (isNaN: (number: number) => boolean) => (number: number) => boolean -> : ^ ^^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ export function explicitlyTypedFunction(isNaN: typeof globalThis.isNaN): typeof globalThis.isNaN { >explicitlyTypedFunction : (isNaN: typeof globalThis.isNaN) => typeof globalThis.isNaN > : ^ ^^ ^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ return isNaN; >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ }; @@ -857,13 +857,13 @@ export type AsObjectProperty = { isNaN: typeof globalThis.isNaN; >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ } export class AsClassProperty { @@ -872,31 +872,31 @@ export class AsClassProperty { isNaN?: typeof globalThis.isNaN; >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ } export type AsFunctionType = (isNaN: typeof globalThis.isNaN) => typeof globalThis.isNaN; >AsFunctionType : AsFunctionType > : ^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis.isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ >isNaN : (number: number) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ diff --git a/tests/baselines/reference/declarationEmitHigherOrderRetainedGenerics.js b/tests/baselines/reference/declarationEmitHigherOrderRetainedGenerics.js new file mode 100644 index 0000000000000..66a849d018cce --- /dev/null +++ b/tests/baselines/reference/declarationEmitHigherOrderRetainedGenerics.js @@ -0,0 +1,183 @@ +//// [tests/cases/compiler/declarationEmitHigherOrderRetainedGenerics.ts] //// + +//// [declarationEmitHigherOrderRetainedGenerics.ts] +export interface TypeLambda { + readonly In: unknown + readonly Out2: unknown + readonly Out1: unknown + readonly Target: unknown +} +export namespace Types { + export type Invariant = (_: A) => A + export type Covariant = (_: never) => A + export type Contravariant = (_: A) => void +} + +export declare const URI: unique symbol; +export interface TypeClass { + readonly [URI]?: F +} + +export interface Invariant extends TypeClass { + readonly imap: { + ( + to: (a: A) => B, + from: (b: B) => A + ): (self: Kind) => Kind + ( + self: Kind, + to: (a: A) => B, + from: (b: B) => A + ): Kind + } +} + +export interface Covariant extends Invariant { + readonly map: { + (f: (a: A) => B): (self: Kind) => Kind + (self: Kind, f: (a: A) => B): Kind + } +} + + +export type Kind = F extends { + readonly type: unknown +} ? (F & { + readonly In: In + readonly Out2: Out2 + readonly Out1: Out1 + readonly Target: Target +})["type"] + : { + readonly F: F + readonly In: Types.Contravariant + readonly Out2: Types.Covariant + readonly Out1: Types.Covariant + readonly Target: Types.Invariant + } + +export interface SemiProduct extends Invariant { + readonly product: ( + self: Kind, + that: Kind + ) => Kind + + readonly productMany: ( + self: Kind, + collection: Iterable> + ) => Kind]> +} +export interface SemiApplicative extends SemiProduct, Covariant { } + + +export const SK = (_: A, b: B): B => b; + +export declare const dual: { + ) => any, DataFirst extends (...args: Array) => any>( + arity: Parameters["length"], + body: DataFirst + ): DataLast & DataFirst + ) => any, DataFirst extends (...args: Array) => any>( + isDataFirst: (args: IArguments) => boolean, + body: DataFirst + ): DataLast & DataFirst +}; + +export const zipWith = (F: SemiApplicative): { + ( + that: Kind, + f: (a: A, b: B) => C + ): (self: Kind) => Kind + ( + self: Kind, + that: Kind, + f: (a: A, b: B) => C + ): Kind +} => + dual( + 3, + ( + self: Kind, + that: Kind, + f: (a: A, b: B) => C + ): Kind => F.map(F.product(self, that), ([a, b]) => f(a, b)) + ); + + +export const zipRight = (F: SemiApplicative): { + ( + that: Kind + ): (self: Kind) => Kind + ( + self: Kind, + that: Kind + ): Kind +} => + dual(2, ( + self: Kind, + that: Kind + ): Kind => zipWith(F)(self, that, SK)); + + + +//// [declarationEmitHigherOrderRetainedGenerics.d.ts] +export interface TypeLambda { + readonly In: unknown; + readonly Out2: unknown; + readonly Out1: unknown; + readonly Target: unknown; +} +export declare namespace Types { + type Invariant = (_: A) => A; + type Covariant = (_: never) => A; + type Contravariant = (_: A) => void; +} +export declare const URI: unique symbol; +export interface TypeClass { + readonly [URI]?: F; +} +export interface Invariant extends TypeClass { + readonly imap: { + (to: (a: A) => B, from: (b: B) => A): (self: Kind) => Kind; + (self: Kind, to: (a: A) => B, from: (b: B) => A): Kind; + }; +} +export interface Covariant extends Invariant { + readonly map: { + (f: (a: A) => B): (self: Kind) => Kind; + (self: Kind, f: (a: A) => B): Kind; + }; +} +export type Kind = F extends { + readonly type: unknown; +} ? (F & { + readonly In: In; + readonly Out2: Out2; + readonly Out1: Out1; + readonly Target: Target; +})["type"] : { + readonly F: F; + readonly In: Types.Contravariant; + readonly Out2: Types.Covariant; + readonly Out1: Types.Covariant; + readonly Target: Types.Invariant; +}; +export interface SemiProduct extends Invariant { + readonly product: (self: Kind, that: Kind) => Kind; + readonly productMany: (self: Kind, collection: Iterable>) => Kind]>; +} +export interface SemiApplicative extends SemiProduct, Covariant { +} +export declare const SK: (_: A, b: B) => B; +export declare const dual: { + ) => any, DataFirst extends (...args: Array) => any>(arity: Parameters["length"], body: DataFirst): DataLast & DataFirst; + ) => any, DataFirst extends (...args: Array) => any>(isDataFirst: (args: IArguments) => boolean, body: DataFirst): DataLast & DataFirst; +}; +export declare const zipWith: (F: SemiApplicative) => { + (that: Kind, f: (a: A, b: B) => C): (self: Kind) => Kind; + (self: Kind, that: Kind, f: (a: A_1, b: B_1) => C_1): Kind; +}; +export declare const zipRight: (F: SemiApplicative) => { + (that: Kind): (self: Kind) => Kind; + (self: Kind, that: Kind): Kind; +}; diff --git a/tests/baselines/reference/declarationEmitHigherOrderRetainedGenerics.symbols b/tests/baselines/reference/declarationEmitHigherOrderRetainedGenerics.symbols new file mode 100644 index 0000000000000..2826f426b9164 --- /dev/null +++ b/tests/baselines/reference/declarationEmitHigherOrderRetainedGenerics.symbols @@ -0,0 +1,714 @@ +//// [tests/cases/compiler/declarationEmitHigherOrderRetainedGenerics.ts] //// + +=== declarationEmitHigherOrderRetainedGenerics.ts === +export interface TypeLambda { +>TypeLambda : Symbol(TypeLambda, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 0, 0)) + + readonly In: unknown +>In : Symbol(TypeLambda.In, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 0, 29)) + + readonly Out2: unknown +>Out2 : Symbol(TypeLambda.Out2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 1, 24)) + + readonly Out1: unknown +>Out1 : Symbol(TypeLambda.Out1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 2, 26)) + + readonly Target: unknown +>Target : Symbol(TypeLambda.Target, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 3, 26)) +} +export namespace Types { +>Types : Symbol(Types, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 5, 1)) + + export type Invariant = (_: A) => A +>Invariant : Symbol(Invariant, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 6, 24)) +>A : Symbol(A, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 7, 26)) +>_ : Symbol(_, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 7, 32)) +>A : Symbol(A, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 7, 26)) +>A : Symbol(A, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 7, 26)) + + export type Covariant = (_: never) => A +>Covariant : Symbol(Covariant, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 7, 42)) +>A : Symbol(A, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 8, 26)) +>_ : Symbol(_, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 8, 32)) +>A : Symbol(A, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 8, 26)) + + export type Contravariant = (_: A) => void +>Contravariant : Symbol(Contravariant, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 8, 46)) +>A : Symbol(A, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 9, 30)) +>_ : Symbol(_, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 9, 36)) +>A : Symbol(A, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 9, 30)) +} + +export declare const URI: unique symbol; +>URI : Symbol(URI, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 12, 20)) + +export interface TypeClass { +>TypeClass : Symbol(TypeClass, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 12, 40)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 13, 27)) +>TypeLambda : Symbol(TypeLambda, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 0, 0)) + + readonly [URI]?: F +>[URI] : Symbol(TypeClass[URI], Decl(declarationEmitHigherOrderRetainedGenerics.ts, 13, 50)) +>URI : Symbol(URI, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 12, 20)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 13, 27)) +} + +export interface Invariant extends TypeClass { +>Invariant : Symbol(Invariant, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 15, 1)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 17, 27)) +>TypeLambda : Symbol(TypeLambda, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 0, 0)) +>TypeClass : Symbol(TypeClass, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 12, 40)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 17, 27)) + + readonly imap: { +>imap : Symbol(Invariant.imap, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 17, 71)) + + ( +>A : Symbol(A, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 19, 9)) +>B : Symbol(B, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 19, 11)) + + to: (a: A) => B, +>to : Symbol(to, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 19, 15)) +>a : Symbol(a, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 20, 17)) +>A : Symbol(A, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 19, 9)) +>B : Symbol(B, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 19, 11)) + + from: (b: B) => A +>from : Symbol(from, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 20, 28)) +>b : Symbol(b, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 21, 19)) +>B : Symbol(B, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 19, 11)) +>A : Symbol(A, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 19, 9)) + + ): (self: Kind) => Kind +>R : Symbol(R, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 22, 12)) +>O : Symbol(O, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 22, 14)) +>E : Symbol(E, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 22, 17)) +>self : Symbol(self, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 22, 21)) +>Kind : Symbol(Kind, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 36, 1)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 17, 27)) +>R : Symbol(R, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 22, 12)) +>O : Symbol(O, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 22, 14)) +>E : Symbol(E, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 22, 17)) +>A : Symbol(A, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 19, 9)) +>Kind : Symbol(Kind, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 36, 1)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 17, 27)) +>R : Symbol(R, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 22, 12)) +>O : Symbol(O, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 22, 14)) +>E : Symbol(E, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 22, 17)) +>B : Symbol(B, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 19, 11)) + + ( +>R : Symbol(R, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 23, 9)) +>O : Symbol(O, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 23, 11)) +>E : Symbol(E, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 23, 14)) +>A : Symbol(A, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 23, 17)) +>B : Symbol(B, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 23, 20)) + + self: Kind, +>self : Symbol(self, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 23, 24)) +>Kind : Symbol(Kind, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 36, 1)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 17, 27)) +>R : Symbol(R, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 23, 9)) +>O : Symbol(O, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 23, 11)) +>E : Symbol(E, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 23, 14)) +>A : Symbol(A, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 23, 17)) + + to: (a: A) => B, +>to : Symbol(to, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 24, 38)) +>a : Symbol(a, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 25, 17)) +>A : Symbol(A, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 23, 17)) +>B : Symbol(B, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 23, 20)) + + from: (b: B) => A +>from : Symbol(from, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 25, 28)) +>b : Symbol(b, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 26, 19)) +>B : Symbol(B, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 23, 20)) +>A : Symbol(A, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 23, 17)) + + ): Kind +>Kind : Symbol(Kind, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 36, 1)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 17, 27)) +>R : Symbol(R, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 23, 9)) +>O : Symbol(O, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 23, 11)) +>E : Symbol(E, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 23, 14)) +>B : Symbol(B, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 23, 20)) + } +} + +export interface Covariant extends Invariant { +>Covariant : Symbol(Covariant, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 29, 1)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 31, 27)) +>TypeLambda : Symbol(TypeLambda, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 0, 0)) +>Invariant : Symbol(Invariant, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 15, 1)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 31, 27)) + + readonly map: { +>map : Symbol(Covariant.map, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 31, 71)) + + (f: (a: A) => B): (self: Kind) => Kind +>A : Symbol(A, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 33, 9)) +>B : Symbol(B, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 33, 11)) +>f : Symbol(f, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 33, 15)) +>a : Symbol(a, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 33, 19)) +>A : Symbol(A, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 33, 9)) +>B : Symbol(B, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 33, 11)) +>R : Symbol(R, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 33, 33)) +>O : Symbol(O, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 33, 35)) +>E : Symbol(E, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 33, 38)) +>self : Symbol(self, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 33, 42)) +>Kind : Symbol(Kind, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 36, 1)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 31, 27)) +>R : Symbol(R, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 33, 33)) +>O : Symbol(O, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 33, 35)) +>E : Symbol(E, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 33, 38)) +>A : Symbol(A, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 33, 9)) +>Kind : Symbol(Kind, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 36, 1)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 31, 27)) +>R : Symbol(R, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 33, 33)) +>O : Symbol(O, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 33, 35)) +>E : Symbol(E, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 33, 38)) +>B : Symbol(B, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 33, 11)) + + (self: Kind, f: (a: A) => B): Kind +>R : Symbol(R, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 34, 9)) +>O : Symbol(O, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 34, 11)) +>E : Symbol(E, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 34, 14)) +>A : Symbol(A, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 34, 17)) +>B : Symbol(B, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 34, 20)) +>self : Symbol(self, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 34, 24)) +>Kind : Symbol(Kind, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 36, 1)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 31, 27)) +>R : Symbol(R, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 34, 9)) +>O : Symbol(O, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 34, 11)) +>E : Symbol(E, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 34, 14)) +>A : Symbol(A, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 34, 17)) +>f : Symbol(f, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 34, 50)) +>a : Symbol(a, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 34, 55)) +>A : Symbol(A, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 34, 17)) +>B : Symbol(B, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 34, 20)) +>Kind : Symbol(Kind, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 36, 1)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 31, 27)) +>R : Symbol(R, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 34, 9)) +>O : Symbol(O, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 34, 11)) +>E : Symbol(E, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 34, 14)) +>B : Symbol(B, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 34, 20)) + } +} + + +export type Kind = F extends { +>Kind : Symbol(Kind, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 36, 1)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 39, 17)) +>TypeLambda : Symbol(TypeLambda, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 0, 0)) +>In : Symbol(In, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 39, 38)) +>Out2 : Symbol(Out2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 39, 42)) +>Out1 : Symbol(Out1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 39, 48)) +>Target : Symbol(Target, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 39, 54)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 39, 17)) + + readonly type: unknown +>type : Symbol(type, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 39, 76)) + +} ? (F & { +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 39, 17)) + + readonly In: In +>In : Symbol(In, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 41, 10)) +>In : Symbol(In, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 39, 38)) + + readonly Out2: Out2 +>Out2 : Symbol(Out2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 42, 19)) +>Out2 : Symbol(Out2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 39, 42)) + + readonly Out1: Out1 +>Out1 : Symbol(Out1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 43, 23)) +>Out1 : Symbol(Out1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 39, 48)) + + readonly Target: Target +>Target : Symbol(Target, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 44, 23)) +>Target : Symbol(Target, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 39, 54)) + +})["type"] + : { + readonly F: F +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 47, 7)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 39, 17)) + + readonly In: Types.Contravariant +>In : Symbol(In, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 48, 21)) +>Types : Symbol(Types, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 5, 1)) +>Contravariant : Symbol(Types.Contravariant, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 8, 46)) +>In : Symbol(In, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 39, 38)) + + readonly Out2: Types.Covariant +>Out2 : Symbol(Out2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 49, 44)) +>Types : Symbol(Types, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 5, 1)) +>Covariant : Symbol(Types.Covariant, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 7, 42)) +>Out2 : Symbol(Out2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 39, 42)) + + readonly Out1: Types.Covariant +>Out1 : Symbol(Out1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 50, 44)) +>Types : Symbol(Types, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 5, 1)) +>Covariant : Symbol(Types.Covariant, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 7, 42)) +>Out1 : Symbol(Out1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 39, 48)) + + readonly Target: Types.Invariant +>Target : Symbol(Target, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 51, 44)) +>Types : Symbol(Types, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 5, 1)) +>Invariant : Symbol(Types.Invariant, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 6, 24)) +>Target : Symbol(Target, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 39, 54)) + } + +export interface SemiProduct extends Invariant { +>SemiProduct : Symbol(SemiProduct, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 53, 5)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 55, 29)) +>TypeLambda : Symbol(TypeLambda, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 0, 0)) +>Invariant : Symbol(Invariant, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 15, 1)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 55, 29)) + + readonly product: ( +>product : Symbol(SemiProduct.product, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 55, 73)) +>R1 : Symbol(R1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 56, 23)) +>O1 : Symbol(O1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 56, 26)) +>E1 : Symbol(E1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 56, 30)) +>A : Symbol(A, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 56, 34)) +>R2 : Symbol(R2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 56, 37)) +>O2 : Symbol(O2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 56, 41)) +>E2 : Symbol(E2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 56, 45)) +>B : Symbol(B, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 56, 49)) + + self: Kind, +>self : Symbol(self, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 56, 53)) +>Kind : Symbol(Kind, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 36, 1)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 55, 29)) +>R1 : Symbol(R1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 56, 23)) +>O1 : Symbol(O1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 56, 26)) +>E1 : Symbol(E1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 56, 30)) +>A : Symbol(A, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 56, 34)) + + that: Kind +>that : Symbol(that, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 57, 37)) +>Kind : Symbol(Kind, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 36, 1)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 55, 29)) +>R2 : Symbol(R2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 56, 37)) +>O2 : Symbol(O2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 56, 41)) +>E2 : Symbol(E2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 56, 45)) +>B : Symbol(B, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 56, 49)) + + ) => Kind +>Kind : Symbol(Kind, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 36, 1)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 55, 29)) +>R1 : Symbol(R1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 56, 23)) +>R2 : Symbol(R2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 56, 37)) +>O1 : Symbol(O1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 56, 26)) +>O2 : Symbol(O2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 56, 41)) +>E1 : Symbol(E1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 56, 30)) +>E2 : Symbol(E2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 56, 45)) +>A : Symbol(A, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 56, 34)) +>B : Symbol(B, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 56, 49)) + + readonly productMany: ( +>productMany : Symbol(SemiProduct.productMany, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 59, 51)) +>R : Symbol(R, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 61, 27)) +>O : Symbol(O, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 61, 29)) +>E : Symbol(E, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 61, 32)) +>A : Symbol(A, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 61, 35)) + + self: Kind, +>self : Symbol(self, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 61, 39)) +>Kind : Symbol(Kind, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 36, 1)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 55, 29)) +>R : Symbol(R, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 61, 27)) +>O : Symbol(O, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 61, 29)) +>E : Symbol(E, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 61, 32)) +>A : Symbol(A, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 61, 35)) + + collection: Iterable> +>collection : Symbol(collection, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 62, 34)) +>Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) +>Kind : Symbol(Kind, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 36, 1)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 55, 29)) +>R : Symbol(R, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 61, 27)) +>O : Symbol(O, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 61, 29)) +>E : Symbol(E, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 61, 32)) +>A : Symbol(A, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 61, 35)) + + ) => Kind]> +>Kind : Symbol(Kind, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 36, 1)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 55, 29)) +>R : Symbol(R, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 61, 27)) +>O : Symbol(O, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 61, 29)) +>E : Symbol(E, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 61, 32)) +>A : Symbol(A, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 61, 35)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>A : Symbol(A, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 61, 35)) +} +export interface SemiApplicative extends SemiProduct, Covariant { } +>SemiApplicative : Symbol(SemiApplicative, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 65, 1)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 66, 33)) +>TypeLambda : Symbol(TypeLambda, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 0, 0)) +>SemiProduct : Symbol(SemiProduct, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 53, 5)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 66, 33)) +>Covariant : Symbol(Covariant, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 29, 1)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 66, 33)) + + +export const SK = (_: A, b: B): B => b; +>SK : Symbol(SK, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 69, 12)) +>A : Symbol(A, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 69, 19)) +>B : Symbol(B, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 69, 21)) +>_ : Symbol(_, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 69, 25)) +>A : Symbol(A, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 69, 19)) +>b : Symbol(b, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 69, 30)) +>B : Symbol(B, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 69, 21)) +>B : Symbol(B, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 69, 21)) +>b : Symbol(b, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 69, 30)) + +export declare const dual: { +>dual : Symbol(dual, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 71, 20)) + + ) => any, DataFirst extends (...args: Array) => any>( +>DataLast : Symbol(DataLast, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 72, 5)) +>args : Symbol(args, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 72, 23)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>DataFirst : Symbol(DataFirst, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 72, 51)) +>args : Symbol(args, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 72, 71)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) + + arity: Parameters["length"], +>arity : Symbol(arity, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 72, 100)) +>Parameters : Symbol(Parameters, Decl(lib.es5.d.ts, --, --)) +>DataFirst : Symbol(DataFirst, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 72, 51)) + + body: DataFirst +>body : Symbol(body, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 73, 47)) +>DataFirst : Symbol(DataFirst, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 72, 51)) + + ): DataLast & DataFirst +>DataLast : Symbol(DataLast, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 72, 5)) +>DataFirst : Symbol(DataFirst, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 72, 51)) + + ) => any, DataFirst extends (...args: Array) => any>( +>DataLast : Symbol(DataLast, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 76, 5)) +>args : Symbol(args, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 76, 23)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>DataFirst : Symbol(DataFirst, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 76, 51)) +>args : Symbol(args, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 76, 71)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) + + isDataFirst: (args: IArguments) => boolean, +>isDataFirst : Symbol(isDataFirst, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 76, 100)) +>args : Symbol(args, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 77, 22)) +>IArguments : Symbol(IArguments, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) + + body: DataFirst +>body : Symbol(body, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 77, 51)) +>DataFirst : Symbol(DataFirst, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 76, 51)) + + ): DataLast & DataFirst +>DataLast : Symbol(DataLast, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 76, 5)) +>DataFirst : Symbol(DataFirst, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 76, 51)) + +}; + +export const zipWith = (F: SemiApplicative): { +>zipWith : Symbol(zipWith, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 82, 12)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 82, 24), Decl(declarationEmitHigherOrderRetainedGenerics.ts, 82, 46)) +>TypeLambda : Symbol(TypeLambda, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 0, 0)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 82, 24), Decl(declarationEmitHigherOrderRetainedGenerics.ts, 82, 46)) +>SemiApplicative : Symbol(SemiApplicative, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 65, 1)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 82, 24), Decl(declarationEmitHigherOrderRetainedGenerics.ts, 82, 46)) + + ( +>R2 : Symbol(R2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 83, 5)) +>O2 : Symbol(O2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 83, 8)) +>E2 : Symbol(E2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 83, 12)) +>B : Symbol(B, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 83, 16)) +>A : Symbol(A, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 83, 19)) +>C : Symbol(C, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 83, 22)) + + that: Kind, +>that : Symbol(that, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 83, 26)) +>Kind : Symbol(Kind, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 36, 1)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 82, 24), Decl(declarationEmitHigherOrderRetainedGenerics.ts, 82, 46)) +>R2 : Symbol(R2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 83, 5)) +>O2 : Symbol(O2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 83, 8)) +>E2 : Symbol(E2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 83, 12)) +>B : Symbol(B, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 83, 16)) + + f: (a: A, b: B) => C +>f : Symbol(f, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 84, 37)) +>a : Symbol(a, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 85, 12)) +>A : Symbol(A, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 83, 19)) +>b : Symbol(b, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 85, 17)) +>B : Symbol(B, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 83, 16)) +>C : Symbol(C, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 83, 22)) + + ): (self: Kind) => Kind +>R1 : Symbol(R1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 86, 8)) +>O1 : Symbol(O1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 86, 11)) +>E1 : Symbol(E1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 86, 15)) +>self : Symbol(self, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 86, 20)) +>Kind : Symbol(Kind, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 36, 1)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 82, 24), Decl(declarationEmitHigherOrderRetainedGenerics.ts, 82, 46)) +>R1 : Symbol(R1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 86, 8)) +>O1 : Symbol(O1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 86, 11)) +>E1 : Symbol(E1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 86, 15)) +>A : Symbol(A, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 83, 19)) +>Kind : Symbol(Kind, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 36, 1)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 82, 24), Decl(declarationEmitHigherOrderRetainedGenerics.ts, 82, 46)) +>R1 : Symbol(R1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 86, 8)) +>R2 : Symbol(R2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 83, 5)) +>O2 : Symbol(O2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 83, 8)) +>O1 : Symbol(O1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 86, 11)) +>E2 : Symbol(E2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 83, 12)) +>E1 : Symbol(E1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 86, 15)) +>C : Symbol(C, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 83, 22)) + + ( +>R1 : Symbol(R1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 87, 5)) +>O1 : Symbol(O1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 87, 8)) +>E1 : Symbol(E1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 87, 12)) +>A : Symbol(A, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 87, 16)) +>R2 : Symbol(R2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 87, 19)) +>O2 : Symbol(O2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 87, 23)) +>E2 : Symbol(E2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 87, 27)) +>B : Symbol(B, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 87, 31)) +>C : Symbol(C, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 87, 34)) + + self: Kind, +>self : Symbol(self, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 87, 38)) +>Kind : Symbol(Kind, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 36, 1)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 82, 24), Decl(declarationEmitHigherOrderRetainedGenerics.ts, 82, 46)) +>R1 : Symbol(R1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 87, 5)) +>O1 : Symbol(O1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 87, 8)) +>E1 : Symbol(E1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 87, 12)) +>A : Symbol(A, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 87, 16)) + + that: Kind, +>that : Symbol(that, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 88, 37)) +>Kind : Symbol(Kind, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 36, 1)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 82, 24), Decl(declarationEmitHigherOrderRetainedGenerics.ts, 82, 46)) +>R2 : Symbol(R2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 87, 19)) +>O2 : Symbol(O2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 87, 23)) +>E2 : Symbol(E2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 87, 27)) +>B : Symbol(B, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 87, 31)) + + f: (a: A, b: B) => C +>f : Symbol(f, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 89, 37)) +>a : Symbol(a, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 90, 12)) +>A : Symbol(A, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 87, 16)) +>b : Symbol(b, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 90, 17)) +>B : Symbol(B, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 87, 31)) +>C : Symbol(C, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 87, 34)) + + ): Kind +>Kind : Symbol(Kind, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 36, 1)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 82, 24), Decl(declarationEmitHigherOrderRetainedGenerics.ts, 82, 46)) +>R1 : Symbol(R1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 87, 5)) +>R2 : Symbol(R2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 87, 19)) +>O1 : Symbol(O1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 87, 8)) +>O2 : Symbol(O2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 87, 23)) +>E1 : Symbol(E1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 87, 12)) +>E2 : Symbol(E2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 87, 27)) +>C : Symbol(C, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 87, 34)) + +} => + dual( +>dual : Symbol(dual, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 71, 20)) + + 3, + ( +>R1 : Symbol(R1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 95, 9)) +>O1 : Symbol(O1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 95, 12)) +>E1 : Symbol(E1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 95, 16)) +>A : Symbol(A, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 95, 20)) +>R2 : Symbol(R2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 95, 23)) +>O2 : Symbol(O2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 95, 27)) +>E2 : Symbol(E2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 95, 31)) +>B : Symbol(B, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 95, 35)) +>C : Symbol(C, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 95, 38)) + + self: Kind, +>self : Symbol(self, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 95, 42)) +>Kind : Symbol(Kind, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 36, 1)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 82, 24), Decl(declarationEmitHigherOrderRetainedGenerics.ts, 82, 46)) +>R1 : Symbol(R1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 95, 9)) +>O1 : Symbol(O1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 95, 12)) +>E1 : Symbol(E1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 95, 16)) +>A : Symbol(A, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 95, 20)) + + that: Kind, +>that : Symbol(that, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 96, 41)) +>Kind : Symbol(Kind, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 36, 1)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 82, 24), Decl(declarationEmitHigherOrderRetainedGenerics.ts, 82, 46)) +>R2 : Symbol(R2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 95, 23)) +>O2 : Symbol(O2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 95, 27)) +>E2 : Symbol(E2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 95, 31)) +>B : Symbol(B, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 95, 35)) + + f: (a: A, b: B) => C +>f : Symbol(f, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 97, 41)) +>a : Symbol(a, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 98, 16)) +>A : Symbol(A, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 95, 20)) +>b : Symbol(b, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 98, 21)) +>B : Symbol(B, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 95, 35)) +>C : Symbol(C, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 95, 38)) + + ): Kind => F.map(F.product(self, that), ([a, b]) => f(a, b)) +>Kind : Symbol(Kind, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 36, 1)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 82, 24), Decl(declarationEmitHigherOrderRetainedGenerics.ts, 82, 46)) +>R1 : Symbol(R1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 95, 9)) +>R2 : Symbol(R2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 95, 23)) +>O1 : Symbol(O1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 95, 12)) +>O2 : Symbol(O2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 95, 27)) +>E1 : Symbol(E1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 95, 16)) +>E2 : Symbol(E2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 95, 31)) +>C : Symbol(C, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 95, 38)) +>F.map : Symbol(Covariant.map, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 31, 71)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 82, 24), Decl(declarationEmitHigherOrderRetainedGenerics.ts, 82, 46)) +>map : Symbol(Covariant.map, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 31, 71)) +>F.product : Symbol(SemiProduct.product, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 55, 73)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 82, 24), Decl(declarationEmitHigherOrderRetainedGenerics.ts, 82, 46)) +>product : Symbol(SemiProduct.product, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 55, 73)) +>self : Symbol(self, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 95, 42)) +>that : Symbol(that, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 96, 41)) +>a : Symbol(a, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 99, 83)) +>b : Symbol(b, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 99, 85)) +>f : Symbol(f, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 97, 41)) +>a : Symbol(a, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 99, 83)) +>b : Symbol(b, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 99, 85)) + + ); + + +export const zipRight = (F: SemiApplicative): { +>zipRight : Symbol(zipRight, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 103, 12)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 103, 25), Decl(declarationEmitHigherOrderRetainedGenerics.ts, 103, 47)) +>TypeLambda : Symbol(TypeLambda, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 0, 0)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 103, 25), Decl(declarationEmitHigherOrderRetainedGenerics.ts, 103, 47)) +>SemiApplicative : Symbol(SemiApplicative, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 65, 1)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 103, 25), Decl(declarationEmitHigherOrderRetainedGenerics.ts, 103, 47)) + + ( +>R2 : Symbol(R2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 104, 5)) +>O2 : Symbol(O2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 104, 8)) +>E2 : Symbol(E2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 104, 12)) +>B : Symbol(B, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 104, 16)) + + that: Kind +>that : Symbol(that, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 104, 20)) +>Kind : Symbol(Kind, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 36, 1)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 103, 25), Decl(declarationEmitHigherOrderRetainedGenerics.ts, 103, 47)) +>R2 : Symbol(R2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 104, 5)) +>O2 : Symbol(O2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 104, 8)) +>E2 : Symbol(E2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 104, 12)) +>B : Symbol(B, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 104, 16)) + + ): (self: Kind) => Kind +>R1 : Symbol(R1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 106, 8)) +>O1 : Symbol(O1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 106, 11)) +>E1 : Symbol(E1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 106, 15)) +>_ : Symbol(_, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 106, 19)) +>self : Symbol(self, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 106, 23)) +>Kind : Symbol(Kind, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 36, 1)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 103, 25), Decl(declarationEmitHigherOrderRetainedGenerics.ts, 103, 47)) +>R1 : Symbol(R1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 106, 8)) +>O1 : Symbol(O1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 106, 11)) +>E1 : Symbol(E1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 106, 15)) +>_ : Symbol(_, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 106, 19)) +>Kind : Symbol(Kind, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 36, 1)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 103, 25), Decl(declarationEmitHigherOrderRetainedGenerics.ts, 103, 47)) +>R1 : Symbol(R1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 106, 8)) +>R2 : Symbol(R2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 104, 5)) +>O2 : Symbol(O2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 104, 8)) +>O1 : Symbol(O1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 106, 11)) +>E2 : Symbol(E2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 104, 12)) +>E1 : Symbol(E1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 106, 15)) +>B : Symbol(B, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 104, 16)) + + ( +>R1 : Symbol(R1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 107, 5)) +>O1 : Symbol(O1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 107, 8)) +>E1 : Symbol(E1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 107, 12)) +>_ : Symbol(_, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 107, 16)) +>R2 : Symbol(R2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 107, 19)) +>O2 : Symbol(O2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 107, 23)) +>E2 : Symbol(E2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 107, 27)) +>B : Symbol(B, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 107, 31)) + + self: Kind, +>self : Symbol(self, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 107, 35)) +>Kind : Symbol(Kind, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 36, 1)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 103, 25), Decl(declarationEmitHigherOrderRetainedGenerics.ts, 103, 47)) +>R1 : Symbol(R1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 107, 5)) +>O1 : Symbol(O1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 107, 8)) +>E1 : Symbol(E1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 107, 12)) +>_ : Symbol(_, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 107, 16)) + + that: Kind +>that : Symbol(that, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 108, 37)) +>Kind : Symbol(Kind, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 36, 1)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 103, 25), Decl(declarationEmitHigherOrderRetainedGenerics.ts, 103, 47)) +>R2 : Symbol(R2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 107, 19)) +>O2 : Symbol(O2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 107, 23)) +>E2 : Symbol(E2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 107, 27)) +>B : Symbol(B, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 107, 31)) + + ): Kind +>Kind : Symbol(Kind, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 36, 1)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 103, 25), Decl(declarationEmitHigherOrderRetainedGenerics.ts, 103, 47)) +>R1 : Symbol(R1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 107, 5)) +>R2 : Symbol(R2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 107, 19)) +>O1 : Symbol(O1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 107, 8)) +>O2 : Symbol(O2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 107, 23)) +>E1 : Symbol(E1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 107, 12)) +>E2 : Symbol(E2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 107, 27)) +>B : Symbol(B, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 107, 31)) + +} => + dual(2, ( +>dual : Symbol(dual, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 71, 20)) +>R1 : Symbol(R1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 112, 13)) +>O1 : Symbol(O1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 112, 16)) +>E1 : Symbol(E1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 112, 20)) +>_ : Symbol(_, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 112, 24)) +>R2 : Symbol(R2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 112, 27)) +>O2 : Symbol(O2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 112, 31)) +>E2 : Symbol(E2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 112, 35)) +>B : Symbol(B, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 112, 39)) + + self: Kind, +>self : Symbol(self, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 112, 43)) +>Kind : Symbol(Kind, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 36, 1)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 103, 25), Decl(declarationEmitHigherOrderRetainedGenerics.ts, 103, 47)) +>R1 : Symbol(R1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 112, 13)) +>O1 : Symbol(O1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 112, 16)) +>E1 : Symbol(E1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 112, 20)) +>_ : Symbol(_, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 112, 24)) + + that: Kind +>that : Symbol(that, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 113, 37)) +>Kind : Symbol(Kind, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 36, 1)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 103, 25), Decl(declarationEmitHigherOrderRetainedGenerics.ts, 103, 47)) +>R2 : Symbol(R2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 112, 27)) +>O2 : Symbol(O2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 112, 31)) +>E2 : Symbol(E2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 112, 35)) +>B : Symbol(B, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 112, 39)) + + ): Kind => zipWith(F)(self, that, SK)); +>Kind : Symbol(Kind, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 36, 1)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 103, 25), Decl(declarationEmitHigherOrderRetainedGenerics.ts, 103, 47)) +>R1 : Symbol(R1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 112, 13)) +>R2 : Symbol(R2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 112, 27)) +>O1 : Symbol(O1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 112, 16)) +>O2 : Symbol(O2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 112, 31)) +>E1 : Symbol(E1, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 112, 20)) +>E2 : Symbol(E2, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 112, 35)) +>B : Symbol(B, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 112, 39)) +>zipWith : Symbol(zipWith, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 82, 12)) +>F : Symbol(F, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 103, 25), Decl(declarationEmitHigherOrderRetainedGenerics.ts, 103, 47)) +>self : Symbol(self, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 112, 43)) +>that : Symbol(that, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 113, 37)) +>SK : Symbol(SK, Decl(declarationEmitHigherOrderRetainedGenerics.ts, 69, 12)) + diff --git a/tests/baselines/reference/declarationEmitHigherOrderRetainedGenerics.types b/tests/baselines/reference/declarationEmitHigherOrderRetainedGenerics.types new file mode 100644 index 0000000000000..74039639a9263 --- /dev/null +++ b/tests/baselines/reference/declarationEmitHigherOrderRetainedGenerics.types @@ -0,0 +1,436 @@ +//// [tests/cases/compiler/declarationEmitHigherOrderRetainedGenerics.ts] //// + +=== Performance Stats === +Type Count: 1,000 +Instantiation count: 2,500 -> 5,000 + +=== declarationEmitHigherOrderRetainedGenerics.ts === +export interface TypeLambda { + readonly In: unknown +>In : unknown +> : ^^^^^^^ + + readonly Out2: unknown +>Out2 : unknown +> : ^^^^^^^ + + readonly Out1: unknown +>Out1 : unknown +> : ^^^^^^^ + + readonly Target: unknown +>Target : unknown +> : ^^^^^^^ +} +export namespace Types { + export type Invariant = (_: A) => A +>Invariant : Invariant +> : ^^^^^^^^^^^^ +>_ : A +> : ^ + + export type Covariant = (_: never) => A +>Covariant : Covariant +> : ^^^^^^^^^^^^ +>_ : never +> : ^^^^^ + + export type Contravariant = (_: A) => void +>Contravariant : Contravariant +> : ^^^^^^^^^^^^^^^^ +>_ : A +> : ^ +} + +export declare const URI: unique symbol; +>URI : unique symbol +> : ^^^^^^^^^^^^^ + +export interface TypeClass { + readonly [URI]?: F +>[URI] : F +> : ^ +>URI : unique symbol +> : ^^^^^^^^^^^^^ +} + +export interface Invariant extends TypeClass { + readonly imap: { +>imap : { (to: (a: A) => B, from: (b: B) => A): (self: Kind) => Kind; (self: Kind, to: (a: A) => B, from: (b: B) => A): Kind; } +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ + + ( + to: (a: A) => B, +>to : (a: A) => B +> : ^ ^^ ^^^^^ +>a : A +> : ^ + + from: (b: B) => A +>from : (b: B) => A +> : ^ ^^ ^^^^^ +>b : B +> : ^ + + ): (self: Kind) => Kind +>self : Kind +> : ^^^^^^^^^^^^^^^^^^^ + + ( + self: Kind, +>self : Kind +> : ^^^^^^^^^^^^^^^^^^^ + + to: (a: A) => B, +>to : (a: A) => B +> : ^ ^^ ^^^^^ +>a : A +> : ^ + + from: (b: B) => A +>from : (b: B) => A +> : ^ ^^ ^^^^^ +>b : B +> : ^ + + ): Kind + } +} + +export interface Covariant extends Invariant { + readonly map: { +>map : { (f: (a: A) => B): (self: Kind) => Kind; (self: Kind, f: (a: A) => B): Kind; } +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ + + (f: (a: A) => B): (self: Kind) => Kind +>f : (a: A) => B +> : ^ ^^ ^^^^^ +>a : A +> : ^ +>self : Kind +> : ^^^^^^^^^^^^^^^^^^^ + + (self: Kind, f: (a: A) => B): Kind +>self : Kind +> : ^^^^^^^^^^^^^^^^^^^ +>f : (a: A) => B +> : ^ ^^ ^^^^^ +>a : A +> : ^ + } +} + + +export type Kind = F extends { +>Kind : Kind +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + readonly type: unknown +>type : unknown +> : ^^^^^^^ + +} ? (F & { + readonly In: In +>In : In +> : ^^ + + readonly Out2: Out2 +>Out2 : Out2 +> : ^^^^ + + readonly Out1: Out1 +>Out1 : Out1 +> : ^^^^ + + readonly Target: Target +>Target : Target +> : ^^^^^^ + +})["type"] + : { + readonly F: F +>F : F +> : ^ + + readonly In: Types.Contravariant +>In : Types.Contravariant +> : ^^^^^^^^^^^^^^^^^^^^^^^ +>Types : any +> : ^^^ + + readonly Out2: Types.Covariant +>Out2 : Types.Covariant +> : ^^^^^^^^^^^^^^^^^^^^^ +>Types : any +> : ^^^ + + readonly Out1: Types.Covariant +>Out1 : Types.Covariant +> : ^^^^^^^^^^^^^^^^^^^^^ +>Types : any +> : ^^^ + + readonly Target: Types.Invariant +>Target : Types.Invariant +> : ^^^^^^^^^^^^^^^^^^^^^^^ +>Types : any +> : ^^^ + } + +export interface SemiProduct extends Invariant { + readonly product: ( +>product : (self: Kind, that: Kind) => Kind +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ + + self: Kind, +>self : Kind +> : ^^^^^^^^^^^^^^^^^^^^^^ + + that: Kind +>that : Kind +> : ^^^^^^^^^^^^^^^^^^^^^^ + + ) => Kind + + readonly productMany: ( +>productMany : (self: Kind, collection: Iterable>) => Kind]> +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ + + self: Kind, +>self : Kind +> : ^^^^^^^^^^^^^^^^^^^ + + collection: Iterable> +>collection : Iterable> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + ) => Kind]> +} +export interface SemiApplicative extends SemiProduct, Covariant { } + + +export const SK = (_: A, b: B): B => b; +>SK : (_: A, b: B) => B +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ +>(_: A, b: B): B => b : (_: A, b: B) => B +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ +>_ : A +> : ^ +>b : B +> : ^ +>b : B +> : ^ + +export declare const dual: { +>dual : { ) => any, DataFirst extends (...args: Array) => any>(arity: Parameters["length"], body: DataFirst): DataLast & DataFirst; ) => any, DataFirst extends (...args: Array) => any>(isDataFirst: (args: IArguments) => boolean, body: DataFirst): DataLast & DataFirst; } +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ + + ) => any, DataFirst extends (...args: Array) => any>( +>args : any[] +> : ^^^^^ +>args : any[] +> : ^^^^^ + + arity: Parameters["length"], +>arity : Parameters["length"] +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + body: DataFirst +>body : DataFirst +> : ^^^^^^^^^ + + ): DataLast & DataFirst + ) => any, DataFirst extends (...args: Array) => any>( +>args : any[] +> : ^^^^^ +>args : any[] +> : ^^^^^ + + isDataFirst: (args: IArguments) => boolean, +>isDataFirst : (args: IArguments) => boolean +> : ^ ^^ ^^^^^ +>args : IArguments +> : ^^^^^^^^^^ + + body: DataFirst +>body : DataFirst +> : ^^^^^^^^^ + + ): DataLast & DataFirst +}; + +export const zipWith = (F: SemiApplicative): { +>zipWith : (F: SemiApplicative) => { (that: Kind, f: (a: A, b: B) => C): (self: Kind) => Kind; (self: Kind, that: Kind, f: (a: A_1, b: B_1) => C_1): Kind; } +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ +>(F: SemiApplicative): { ( that: Kind, f: (a: A, b: B) => C ): (self: Kind) => Kind ( self: Kind, that: Kind, f: (a: A, b: B) => C ): Kind} => dual( 3, ( self: Kind, that: Kind, f: (a: A, b: B) => C ): Kind => F.map(F.product(self, that), ([a, b]) => f(a, b)) ) : (F: SemiApplicative) => { (that: Kind, f: (a: A, b: B) => C): (self: Kind) => Kind; (self: Kind, that: Kind, f: (a: A_1, b: B_1) => C_1): Kind; } +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ +>F : SemiApplicative +> : ^^^^^^^^^^^^^^^^^^ + + ( + that: Kind, +>that : Kind +> : ^^^^^^^^^^^^^^^^^^^^^^ + + f: (a: A, b: B) => C +>f : (a: A, b: B) => C +> : ^ ^^ ^^ ^^ ^^^^^ +>a : A +> : ^ +>b : B +> : ^ + + ): (self: Kind) => Kind +>self : Kind +> : ^^^^^^^^^^^^^^^^^^^^^^ + + ( + self: Kind, +>self : Kind +> : ^^^^^^^^^^^^^^^^^^^^^^ + + that: Kind, +>that : Kind +> : ^^^^^^^^^^^^^^^^^^^^^^ + + f: (a: A, b: B) => C +>f : (a: A, b: B) => C +> : ^ ^^ ^^ ^^ ^^^^^ +>a : A +> : ^ +>b : B +> : ^ + + ): Kind +} => + dual( +>dual( 3, ( self: Kind, that: Kind, f: (a: A, b: B) => C ): Kind => F.map(F.product(self, that), ([a, b]) => f(a, b)) ) : ((...args: Array) => any) & ((self: Kind, that: Kind, f: (a: A, b: B) => C) => Kind) +> : ^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^ +>dual : { ) => any, DataFirst extends (...args: Array) => any>(arity: Parameters["length"], body: DataFirst): DataLast & DataFirst; ) => any, DataFirst extends (...args: Array) => any>(isDataFirst: (args: IArguments) => boolean, body: DataFirst): DataLast & DataFirst; } +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ + + 3, +>3 : 3 +> : ^ + + ( +>( self: Kind, that: Kind, f: (a: A, b: B) => C ): Kind => F.map(F.product(self, that), ([a, b]) => f(a, b)) : (self: Kind, that: Kind, f: (a: A, b: B) => C) => Kind +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ + + self: Kind, +>self : Kind +> : ^^^^^^^^^^^^^^^^^^^^^^ + + that: Kind, +>that : Kind +> : ^^^^^^^^^^^^^^^^^^^^^^ + + f: (a: A, b: B) => C +>f : (a: A, b: B) => C +> : ^ ^^ ^^ ^^ ^^^^^ +>a : A +> : ^ +>b : B +> : ^ + + ): Kind => F.map(F.product(self, that), ([a, b]) => f(a, b)) +>F.map(F.product(self, that), ([a, b]) => f(a, b)) : Kind +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>F.map : { (f: (a: A_1) => B_1): (self: Kind) => Kind; (self: Kind, f: (a: A_1) => B_1): Kind; } +> : ^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ ^ ^^^ ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ ^ ^ ^ ^ ^^^ ^^^ +>F : SemiApplicative +> : ^^^^^^^^^^^^^^^^^^ +>map : { (f: (a: A_1) => B_1): (self: Kind) => Kind; (self: Kind, f: (a: A_1) => B_1): Kind; } +> : ^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ ^ ^^^ ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^ ^ ^ ^ ^ ^^^ ^^^ +>F.product(self, that) : Kind +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>F.product : (self: Kind, that: Kind) => Kind +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^^^ ^^^^ ^^^^ ^^^^ ^^^^ ^^^^ ^^^ ^^^ +>F : SemiApplicative +> : ^^^^^^^^^^^^^^^^^^ +>product : (self: Kind, that: Kind) => Kind +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^^^ ^^^^ ^^^^ ^^^^ ^^^^ ^^^^ ^^^ ^^^ +>self : Kind +> : ^^^^^^^^^^^^^^^^^^^^^^ +>that : Kind +> : ^^^^^^^^^^^^^^^^^^^^^^ +>([a, b]) => f(a, b) : ([a, b]: [A, B]) => C +> : ^ ^^^^^^^^^^^^^^ +>a : A +> : ^ +>b : B +> : ^ +>f(a, b) : C +> : ^ +>f : (a: A, b: B) => C +> : ^ ^^ ^^ ^^ ^^^^^ +>a : A +> : ^ +>b : B +> : ^ + + ); + + +export const zipRight = (F: SemiApplicative): { +>zipRight : (F: SemiApplicative) => { (that: Kind): (self: Kind) => Kind; (self: Kind, that: Kind): Kind; } +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ +>(F: SemiApplicative): { ( that: Kind ): (self: Kind) => Kind ( self: Kind, that: Kind ): Kind} => dual(2, ( self: Kind, that: Kind ): Kind => zipWith(F)(self, that, SK)) : (F: SemiApplicative) => { (that: Kind): (self: Kind) => Kind; (self: Kind, that: Kind): Kind; } +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ +>F : SemiApplicative +> : ^^^^^^^^^^^^^^^^^^ + + ( + that: Kind +>that : Kind +> : ^^^^^^^^^^^^^^^^^^^^^^ + + ): (self: Kind) => Kind +>self : Kind +> : ^^^^^^^^^^^^^^^^^^^^^^ + + ( + self: Kind, +>self : Kind +> : ^^^^^^^^^^^^^^^^^^^^^^ + + that: Kind +>that : Kind +> : ^^^^^^^^^^^^^^^^^^^^^^ + + ): Kind +} => + dual(2, ( +>dual(2, ( self: Kind, that: Kind ): Kind => zipWith(F)(self, that, SK)) : ((...args: Array) => any) & ((self: Kind, that: Kind) => Kind) +> : ^^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^ +>dual : { ) => any, DataFirst extends (...args: Array) => any>(arity: Parameters["length"], body: DataFirst): DataLast & DataFirst; ) => any, DataFirst extends (...args: Array) => any>(isDataFirst: (args: IArguments) => boolean, body: DataFirst): DataLast & DataFirst; } +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +>2 : 2 +> : ^ +>( self: Kind, that: Kind ): Kind => zipWith(F)(self, that, SK) : (self: Kind, that: Kind) => Kind +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ + + self: Kind, +>self : Kind +> : ^^^^^^^^^^^^^^^^^^^^^^ + + that: Kind +>that : Kind +> : ^^^^^^^^^^^^^^^^^^^^^^ + + ): Kind => zipWith(F)(self, that, SK)); +>zipWith(F)(self, that, SK) : Kind +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>zipWith(F) : { (that: Kind, f: (a: A, b: B_1) => C): (self: Kind) => Kind; (self: Kind, that: Kind, f: (a: A, b: B_1) => C): Kind; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^ ^ ^ ^ ^^^^ ^^^^ ^^^^ ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^ ^ ^^^^ ^^^^ ^^^^ ^^^^ ^^^^ ^^^^ ^ ^^^ +>zipWith : (F: SemiApplicative) => { (that: Kind, f: (a: A, b: B_1) => C): (self: Kind) => Kind; (self: Kind, that: Kind, f: (a: A_1, b: B_2) => C_1): Kind; } +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ +>F : SemiApplicative +> : ^^^^^^^^^^^^^^^^^^ +>self : Kind +> : ^^^^^^^^^^^^^^^^^^^^^^ +>that : Kind +> : ^^^^^^^^^^^^^^^^^^^^^^ +>SK : (_: A, b: B_1) => B_1 +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ + diff --git a/tests/baselines/reference/declarationEmitIndexTypeNotFound.errors.txt b/tests/baselines/reference/declarationEmitIndexTypeNotFound.errors.txt index bc8e0608d7095..faf4b51dfe0c5 100644 --- a/tests/baselines/reference/declarationEmitIndexTypeNotFound.errors.txt +++ b/tests/baselines/reference/declarationEmitIndexTypeNotFound.errors.txt @@ -1,16 +1,13 @@ declarationEmitIndexTypeNotFound.ts(2,6): error TS1268: An index signature parameter type must be 'string', 'number', 'symbol', or a template literal type. declarationEmitIndexTypeNotFound.ts(2,13): error TS2304: Cannot find name 'TypeNotFound'. -declarationEmitIndexTypeNotFound.ts(2,13): error TS4092: Parameter 'index' of index signature from exported interface has or is using private name 'TypeNotFound'. -==== declarationEmitIndexTypeNotFound.ts (3 errors) ==== +==== declarationEmitIndexTypeNotFound.ts (2 errors) ==== export interface Test { [index: TypeNotFound]: any; ~~~~~ !!! error TS1268: An index signature parameter type must be 'string', 'number', 'symbol', or a template literal type. ~~~~~~~~~~~~ !!! error TS2304: Cannot find name 'TypeNotFound'. - ~~~~~~~~~~~~ -!!! error TS4092: Parameter 'index' of index signature from exported interface has or is using private name 'TypeNotFound'. } \ No newline at end of file diff --git a/tests/baselines/reference/declarationEmitIndexTypeNotFound.js b/tests/baselines/reference/declarationEmitIndexTypeNotFound.js index f11550a3a8f1a..5c621f274eb42 100644 --- a/tests/baselines/reference/declarationEmitIndexTypeNotFound.js +++ b/tests/baselines/reference/declarationEmitIndexTypeNotFound.js @@ -9,3 +9,9 @@ export interface Test { //// [declarationEmitIndexTypeNotFound.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); + + +//// [declarationEmitIndexTypeNotFound.d.ts] +export interface Test { + [index: TypeNotFound]: any; +} diff --git a/tests/baselines/reference/declarationEmitInferredTypeAlias2.js b/tests/baselines/reference/declarationEmitInferredTypeAlias2.js index 2b4273dda315b..9be3ac16bcdf8 100644 --- a/tests/baselines/reference/declarationEmitInferredTypeAlias2.js +++ b/tests/baselines/reference/declarationEmitInferredTypeAlias2.js @@ -23,7 +23,8 @@ Object.defineProperty(exports, "__esModule", { value: true }); //// [1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.bar = exports.v = void 0; +exports.v = void 0; +exports.bar = bar; var v = "str" || true; exports.v = v; function bar() { diff --git a/tests/baselines/reference/declarationEmitInlinedDistributiveConditional.types b/tests/baselines/reference/declarationEmitInlinedDistributiveConditional.types index cf1c41d6fdd67..64615abd16861 100644 --- a/tests/baselines/reference/declarationEmitInlinedDistributiveConditional.types +++ b/tests/baselines/reference/declarationEmitInlinedDistributiveConditional.types @@ -49,9 +49,9 @@ const b = dropPrivateProps2({foo: 42, _bar: 'secret'}); // type is {foo: number, === api.ts === import {excludePrivateKeys1, excludePrivateKeys2} from './internal'; >excludePrivateKeys1 : (obj: Obj) => { [K in import("internal").PublicKeys1]: Obj[K]; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ >excludePrivateKeys2 : (obj: Obj) => { [K in keyof Obj extends infer T ? T extends keyof Obj ? T extends `_${string}` ? never : T : never : never]: Obj[K]; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ export const dropPrivateProps1 = (obj: Obj) => excludePrivateKeys1(obj); >dropPrivateProps1 : (obj: Obj) => { [K in import("internal").PublicKeys1]: Obj[K]; } @@ -63,7 +63,7 @@ export const dropPrivateProps1 = (obj: Obj) => excludePrivateKeys1(obj); >excludePrivateKeys1(obj) : { [K in import("internal").PublicKeys1]: Obj[K]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >excludePrivateKeys1 : (obj: Obj_1) => { [K in import("internal").PublicKeys1]: Obj_1[K]; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ >obj : Obj > : ^^^ @@ -77,7 +77,7 @@ export const dropPrivateProps2 = (obj: Obj) => excludePrivateKeys2(obj); >excludePrivateKeys2(obj) : { [K in keyof Obj extends infer T ? T extends keyof Obj ? T extends `_${string}` ? never : T : never : never]: Obj[K]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >excludePrivateKeys2 : (obj: Obj_1) => { [K in keyof Obj_1 extends infer T ? T extends keyof Obj_1 ? T extends `_${string}` ? never : T : never : never]: Obj_1[K]; } -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >obj : Obj > : ^^^ diff --git a/tests/baselines/reference/declarationEmitKeywordDestructuring.types b/tests/baselines/reference/declarationEmitKeywordDestructuring.types index 7cb220e22f732..3c8d2c42cd4de 100644 --- a/tests/baselines/reference/declarationEmitKeywordDestructuring.types +++ b/tests/baselines/reference/declarationEmitKeywordDestructuring.types @@ -33,76 +33,76 @@ type P = { function f1({ enum: _enum, ...rest }: P) { >f1 : ({ enum: _enum, ...rest }: P) => { function: boolean; abstract: boolean; async: boolean; await: boolean; one: boolean; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^ ^^^ >enum : any > : ^^^ >_enum : boolean > : ^^^^^^^ >rest : { function: boolean; abstract: boolean; async: boolean; await: boolean; one: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^ ^^^ return rest; >rest : { function: boolean; abstract: boolean; async: boolean; await: boolean; one: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^ ^^^ } function f2({ function: _function, ...rest }: P) { >f2 : ({ function: _function, ...rest }: P) => { enum: boolean; abstract: boolean; async: boolean; await: boolean; one: boolean; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^ ^^^ >function : any > : ^^^ >_function : boolean > : ^^^^^^^ >rest : { enum: boolean; abstract: boolean; async: boolean; await: boolean; one: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^ ^^^ return rest; >rest : { enum: boolean; abstract: boolean; async: boolean; await: boolean; one: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^ ^^^ } function f3({ abstract: _abstract, ...rest }: P) { >f3 : ({ abstract: _abstract, ...rest }: P) => { enum: boolean; function: boolean; async: boolean; await: boolean; one: boolean; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^ ^^^ >abstract : any > : ^^^ >_abstract : boolean > : ^^^^^^^ >rest : { enum: boolean; function: boolean; async: boolean; await: boolean; one: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^ ^^^ return rest; >rest : { enum: boolean; function: boolean; async: boolean; await: boolean; one: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^ ^^^ } function f4({ async: _async, ...rest }: P) { >f4 : ({ async: _async, ...rest }: P) => { enum: boolean; function: boolean; abstract: boolean; await: boolean; one: boolean; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^ ^^^ >async : any > : ^^^ >_async : boolean > : ^^^^^^^ >rest : { enum: boolean; function: boolean; abstract: boolean; await: boolean; one: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^ ^^^ return rest; >rest : { enum: boolean; function: boolean; abstract: boolean; await: boolean; one: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^ ^^^ } function f5({ await: _await, ...rest }: P) { >f5 : ({ await: _await, ...rest }: P) => { enum: boolean; function: boolean; abstract: boolean; async: boolean; one: boolean; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^ ^^^ >await : any > : ^^^ >_await : boolean > : ^^^^^^^ >rest : { enum: boolean; function: boolean; abstract: boolean; async: boolean; one: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^ ^^^ return rest; >rest : { enum: boolean; function: boolean; abstract: boolean; async: boolean; one: boolean; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^ ^^^ } diff --git a/tests/baselines/reference/declarationEmitLambdaWithMissingTypeParameterNoCrash.errors.txt b/tests/baselines/reference/declarationEmitLambdaWithMissingTypeParameterNoCrash.errors.txt index 634d161a3de40..d9ae190f5d922 100644 --- a/tests/baselines/reference/declarationEmitLambdaWithMissingTypeParameterNoCrash.errors.txt +++ b/tests/baselines/reference/declarationEmitLambdaWithMissingTypeParameterNoCrash.errors.txt @@ -1,20 +1,14 @@ declarationEmitLambdaWithMissingTypeParameterNoCrash.ts(2,27): error TS2304: Cannot find name 'T2'. -declarationEmitLambdaWithMissingTypeParameterNoCrash.ts(2,27): error TS4016: Type parameter 'T1' of exported function has or is using private name 'T2'. declarationEmitLambdaWithMissingTypeParameterNoCrash.ts(3,33): error TS2304: Cannot find name 'T2'. -declarationEmitLambdaWithMissingTypeParameterNoCrash.ts(3,33): error TS4006: Type parameter 'T1' of constructor signature from exported interface has or is using private name 'T2'. -==== declarationEmitLambdaWithMissingTypeParameterNoCrash.ts (4 errors) ==== +==== declarationEmitLambdaWithMissingTypeParameterNoCrash.ts (2 errors) ==== export interface Foo { preFetch: (c: T1) => void; // Type T2 is not defined ~~ !!! error TS2304: Cannot find name 'T2'. - ~~ -!!! error TS4016: Type parameter 'T1' of exported function has or is using private name 'T2'. preFetcher: new (c: T1) => void; // Type T2 is not defined ~~ !!! error TS2304: Cannot find name 'T2'. - ~~ -!!! error TS4006: Type parameter 'T1' of constructor signature from exported interface has or is using private name 'T2'. } \ No newline at end of file diff --git a/tests/baselines/reference/declarationEmitLambdaWithMissingTypeParameterNoCrash.js b/tests/baselines/reference/declarationEmitLambdaWithMissingTypeParameterNoCrash.js index 1f35b8b1a440e..7717554923741 100644 --- a/tests/baselines/reference/declarationEmitLambdaWithMissingTypeParameterNoCrash.js +++ b/tests/baselines/reference/declarationEmitLambdaWithMissingTypeParameterNoCrash.js @@ -10,3 +10,10 @@ export interface Foo { //// [declarationEmitLambdaWithMissingTypeParameterNoCrash.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); + + +//// [declarationEmitLambdaWithMissingTypeParameterNoCrash.d.ts] +export interface Foo { + preFetch: (c: T1) => void; + preFetcher: new (c: T1) => void; +} diff --git a/tests/baselines/reference/declarationEmitLambdaWithMissingTypeParameterNoCrash.types b/tests/baselines/reference/declarationEmitLambdaWithMissingTypeParameterNoCrash.types index 06d56488b1f18..5c6ed45ed046e 100644 --- a/tests/baselines/reference/declarationEmitLambdaWithMissingTypeParameterNoCrash.types +++ b/tests/baselines/reference/declarationEmitLambdaWithMissingTypeParameterNoCrash.types @@ -4,13 +4,13 @@ export interface Foo { preFetch: (c: T1) => void; // Type T2 is not defined >preFetch : (c: T1) => void -> : ^ ^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >c : T1 > : ^^ preFetcher: new (c: T1) => void; // Type T2 is not defined >preFetcher : new (c: T1) => void -> : ^^^^^ ^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >c : T1 > : ^^ } diff --git a/tests/baselines/reference/declarationEmitLocalClassDeclarationMixin.types b/tests/baselines/reference/declarationEmitLocalClassDeclarationMixin.types index c350d0ce11bde..59a0749f43711 100644 --- a/tests/baselines/reference/declarationEmitLocalClassDeclarationMixin.types +++ b/tests/baselines/reference/declarationEmitLocalClassDeclarationMixin.types @@ -7,7 +7,7 @@ interface Constructor { new (...args: any[]): C; } function mixin>(Base: B) { >mixin : >(Base: B) => { new (...args: any[]): PrivateMixed; prototype: mixin.PrivateMixed; } & B -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Base : B > : ^ @@ -45,13 +45,13 @@ export const Mixed = mixin(Unmixed); >mixin(Unmixed) : { new (...args: any[]): mixin.PrivateMixed; prototype: mixin.PrivateMixed; } & typeof Unmixed > : ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >mixin : >(Base: B) => { new (...args: any[]): PrivateMixed; prototype: mixin.PrivateMixed; } & B -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Unmixed : typeof Unmixed > : ^^^^^^^^^^^^^^ function Filter>(ctor: C) { >Filter : >(ctor: C) => ((abstract new (...args: any[]) => FilterMixin) & { prototype: Filter.FilterMixin; }) & C -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >ctor : C > : ^ @@ -85,7 +85,7 @@ export class FilteredThing extends Filter(Unmixed) { >Filter(Unmixed) : Filter.FilterMixin & Unmixed > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Filter : >(ctor: C) => ((abstract new (...args: any[]) => FilterMixin) & { prototype: Filter.FilterMixin; }) & C -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Unmixed : typeof Unmixed > : ^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/declarationEmitMappedPrivateTypeTypeParameter.errors.txt b/tests/baselines/reference/declarationEmitMappedPrivateTypeTypeParameter.errors.txt index cb7c4f760ad4c..fec1fa250aac1 100644 --- a/tests/baselines/reference/declarationEmitMappedPrivateTypeTypeParameter.errors.txt +++ b/tests/baselines/reference/declarationEmitMappedPrivateTypeTypeParameter.errors.txt @@ -1,15 +1,12 @@ /FromFactor.ts(2,15): error TS2304: Cannot find name 'StringKeyOf'. -/FromFactor.ts(2,15): error TS4103: Type parameter 'TName' of exported mapped object type is using private name 'StringKeyOf'. ==== /Helpers.ts (0 errors) ==== export type StringKeyOf = Extract; -==== /FromFactor.ts (2 errors) ==== +==== /FromFactor.ts (1 errors) ==== export type RowToColumns = { [TName in StringKeyOf]: any; ~~~~~~~~~~~ !!! error TS2304: Cannot find name 'StringKeyOf'. - ~~~~~~~~~~~ -!!! error TS4103: Type parameter 'TName' of exported mapped object type is using private name 'StringKeyOf'. } \ No newline at end of file diff --git a/tests/baselines/reference/declarationEmitMappedPrivateTypeTypeParameter.js b/tests/baselines/reference/declarationEmitMappedPrivateTypeTypeParameter.js index c1300a8b58aa7..994bfb1f1600e 100644 --- a/tests/baselines/reference/declarationEmitMappedPrivateTypeTypeParameter.js +++ b/tests/baselines/reference/declarationEmitMappedPrivateTypeTypeParameter.js @@ -18,3 +18,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); //// [Helpers.d.ts] export type StringKeyOf = Extract; +//// [FromFactor.d.ts] +export type RowToColumns = { + [TName in StringKeyOf]: any; +}; diff --git a/tests/baselines/reference/declarationEmitMappedTypeDistributivityPreservesConstraints.js b/tests/baselines/reference/declarationEmitMappedTypeDistributivityPreservesConstraints.js index 0a0f4124fca66..e02ea0e86dc30 100644 --- a/tests/baselines/reference/declarationEmitMappedTypeDistributivityPreservesConstraints.js +++ b/tests/baselines/reference/declarationEmitMappedTypeDistributivityPreservesConstraints.js @@ -49,13 +49,13 @@ export default _default; //// [reexport.d.ts] declare const _default: { test: { - fn: unknown; - } ? { [K in keyof T]: T_1["x"][K]; } : never; - }>(sliceIndex: T_1) => T_1["x"] extends infer T_2 extends { + } ? { [K in keyof T_1]: T["x"][K]; } : never; + }>(sliceIndex: T) => T["x"] extends infer T_2 extends { [x: string]: (...params: unknown[]) => unknown; - } ? { [K_1 in keyof T_2]: Parameters; } : never; + } ? { [K_1 in keyof T_2]: Parameters; } : never; }; }; export default _default; diff --git a/tests/baselines/reference/declarationEmitMappedTypeDistributivityPreservesConstraints.types b/tests/baselines/reference/declarationEmitMappedTypeDistributivityPreservesConstraints.types index 1a8ef147a355d..4ef121fdb266a 100644 --- a/tests/baselines/reference/declarationEmitMappedTypeDistributivityPreservesConstraints.types +++ b/tests/baselines/reference/declarationEmitMappedTypeDistributivityPreservesConstraints.types @@ -17,7 +17,7 @@ type AllArg = { [K in keyof T]: Parameters }; function fn }>(sliceIndex: T): AllArg { >fn : ; }>(sliceIndex: T) => AllArg -> : ^ ^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >x : Map > : ^^^^^^^^^^^ >sliceIndex : T @@ -30,18 +30,18 @@ function fn }>(sliceIndex: T): AllArg { export default { fn }; >{ fn } : { fn: ; }>(sliceIndex: T) => AllArg; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ^^^ >fn : ; }>(sliceIndex: T) => AllArg -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ === reexport.ts === import test from "./types"; ->test : { fn: unknown; } ? { [K in keyof T]: T_1["x"][K]; } : never; }>(sliceIndex: T_1) => T_1["x"] extends infer T_2 extends { [x: string]: (...params: unknown[]) => unknown; } ? { [K_1 in keyof T_2]: Parameters; } : never; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>test : { fn: unknown; } ? { [K in keyof T_1]: T["x"][K]; } : never; }>(sliceIndex: T) => T["x"] extends infer T_2 extends { [x: string]: (...params: unknown[]) => unknown; } ? { [K_1 in keyof T_2]: Parameters; } : never; } +> : ^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ export default { test }; ->{ test } : { test: { fn: unknown; } ? { [K in keyof T]: T_1["x"][K]; } : never; }>(sliceIndex: T_1) => T_1["x"] extends infer T_2 extends { [x: string]: (...params: unknown[]) => unknown; } ? { [K_1 in keyof T_2]: Parameters; } : never; }; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->test : { fn: unknown; } ? { [K in keyof T]: T_1["x"][K]; } : never; }>(sliceIndex: T_1) => T_1["x"] extends infer T_2 extends { [x: string]: (...params: unknown[]) => unknown; } ? { [K_1 in keyof T_2]: Parameters; } : never; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{ test } : { test: { fn: unknown; } ? { [K in keyof T_1]: T["x"][K]; } : never; }>(sliceIndex: T) => T["x"] extends infer T_2 extends { [x: string]: (...params: unknown[]) => unknown; } ? { [K_1 in keyof T_2]: Parameters; } : never; }; } +> : ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>test : { fn: unknown; } ? { [K in keyof T_1]: T["x"][K]; } : never; }>(sliceIndex: T) => T["x"] extends infer T_2 extends { [x: string]: (...params: unknown[]) => unknown; } ? { [K_1 in keyof T_2]: Parameters; } : never; } +> : ^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/declarationEmitMappedTypeTemplateTypeofSymbol.types b/tests/baselines/reference/declarationEmitMappedTypeTemplateTypeofSymbol.types index 41b2ca504ae08..5fdda7852aa2c 100644 --- a/tests/baselines/reference/declarationEmitMappedTypeTemplateTypeofSymbol.types +++ b/tests/baselines/reference/declarationEmitMappedTypeTemplateTypeofSymbol.types @@ -33,23 +33,23 @@ export const timestamp = x.now(); > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x.now() : { [x.timestampSymbol]: true; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->x.now : () => { [x.timestampSymbol]: true; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x.now : () => typeof x.Timestamp +> : ^^^^^^ ^^^^^^^^^^^ >x : typeof x > : ^^^^^^^^ ->now : () => { [x.timestampSymbol]: true; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>now : () => typeof x.Timestamp +> : ^^^^^^ ^^^^^^^^^^^ === c.ts === import { now } from "./a"; ->now : () => { [timestampSymbol]: true; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>now : () => typeof import("a").Timestamp +> : ^^^^^^ ^^^ ^^^^^^^^^ export const timestamp = now(); >timestamp : { [timestampSymbol]: true; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >now() : { [timestampSymbol]: true; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->now : () => { [timestampSymbol]: true; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>now : () => typeof import("a").Timestamp +> : ^^^^^^ ^^^ ^^^^^^^^^ diff --git a/tests/baselines/reference/declarationEmitMergedAliasWithConst.js b/tests/baselines/reference/declarationEmitMergedAliasWithConst.js new file mode 100644 index 0000000000000..5e2f0456feaac --- /dev/null +++ b/tests/baselines/reference/declarationEmitMergedAliasWithConst.js @@ -0,0 +1,31 @@ +//// [tests/cases/compiler/declarationEmitMergedAliasWithConst.ts] //// + +//// [declarationEmitMergedAliasWithConst.ts] +export const Color = { + Red: "Red", + Green: "Green", + Blue: "Blue" +} as const + +export type Color = typeof Color +export type Colors = Color[keyof Color] + +//// [declarationEmitMergedAliasWithConst.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Color = void 0; +exports.Color = { + Red: "Red", + Green: "Green", + Blue: "Blue" +}; + + +//// [declarationEmitMergedAliasWithConst.d.ts] +export declare const Color: { + readonly Red: "Red"; + readonly Green: "Green"; + readonly Blue: "Blue"; +}; +export type Color = typeof Color; +export type Colors = Color[keyof Color]; diff --git a/tests/baselines/reference/declarationEmitMergedAliasWithConst.symbols b/tests/baselines/reference/declarationEmitMergedAliasWithConst.symbols new file mode 100644 index 0000000000000..46b643ca9e1e3 --- /dev/null +++ b/tests/baselines/reference/declarationEmitMergedAliasWithConst.symbols @@ -0,0 +1,27 @@ +//// [tests/cases/compiler/declarationEmitMergedAliasWithConst.ts] //// + +=== declarationEmitMergedAliasWithConst.ts === +export const Color = { +>Color : Symbol(Color, Decl(declarationEmitMergedAliasWithConst.ts, 0, 12), Decl(declarationEmitMergedAliasWithConst.ts, 4, 10)) + + Red: "Red", +>Red : Symbol(Red, Decl(declarationEmitMergedAliasWithConst.ts, 0, 22)) + + Green: "Green", +>Green : Symbol(Green, Decl(declarationEmitMergedAliasWithConst.ts, 1, 15)) + + Blue: "Blue" +>Blue : Symbol(Blue, Decl(declarationEmitMergedAliasWithConst.ts, 2, 19)) + +} as const +>const : Symbol(const) + +export type Color = typeof Color +>Color : Symbol(Color, Decl(declarationEmitMergedAliasWithConst.ts, 0, 12), Decl(declarationEmitMergedAliasWithConst.ts, 4, 10)) +>Color : Symbol(Color, Decl(declarationEmitMergedAliasWithConst.ts, 0, 12), Decl(declarationEmitMergedAliasWithConst.ts, 4, 10)) + +export type Colors = Color[keyof Color] +>Colors : Symbol(Colors, Decl(declarationEmitMergedAliasWithConst.ts, 6, 32)) +>Color : Symbol(Color, Decl(declarationEmitMergedAliasWithConst.ts, 0, 12), Decl(declarationEmitMergedAliasWithConst.ts, 4, 10)) +>Color : Symbol(Color, Decl(declarationEmitMergedAliasWithConst.ts, 0, 12), Decl(declarationEmitMergedAliasWithConst.ts, 4, 10)) + diff --git a/tests/baselines/reference/declarationEmitMergedAliasWithConst.types b/tests/baselines/reference/declarationEmitMergedAliasWithConst.types new file mode 100644 index 0000000000000..ef0d06b1b9562 --- /dev/null +++ b/tests/baselines/reference/declarationEmitMergedAliasWithConst.types @@ -0,0 +1,41 @@ +//// [tests/cases/compiler/declarationEmitMergedAliasWithConst.ts] //// + +=== declarationEmitMergedAliasWithConst.ts === +export const Color = { +>Color : { readonly Red: "Red"; readonly Green: "Green"; readonly Blue: "Blue"; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{ Red: "Red", Green: "Green", Blue: "Blue"} as const : { readonly Red: "Red"; readonly Green: "Green"; readonly Blue: "Blue"; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{ Red: "Red", Green: "Green", Blue: "Blue"} : { readonly Red: "Red"; readonly Green: "Green"; readonly Blue: "Blue"; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + Red: "Red", +>Red : "Red" +> : ^^^^^ +>"Red" : "Red" +> : ^^^^^ + + Green: "Green", +>Green : "Green" +> : ^^^^^^^ +>"Green" : "Green" +> : ^^^^^^^ + + Blue: "Blue" +>Blue : "Blue" +> : ^^^^^^ +>"Blue" : "Blue" +> : ^^^^^^ + +} as const + +export type Color = typeof Color +>Color : { readonly Red: "Red"; readonly Green: "Green"; readonly Blue: "Blue"; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Color : { readonly Red: "Red"; readonly Green: "Green"; readonly Blue: "Blue"; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +export type Colors = Color[keyof Color] +>Colors : Colors +> : ^^^^^^ + diff --git a/tests/baselines/reference/declarationEmitMixinPrivateProtected.types b/tests/baselines/reference/declarationEmitMixinPrivateProtected.types index 6e9cf35813a0c..0e995db11abe2 100644 --- a/tests/baselines/reference/declarationEmitMixinPrivateProtected.types +++ b/tests/baselines/reference/declarationEmitMixinPrivateProtected.types @@ -38,7 +38,7 @@ export default mix(DisposableMixin); >mix(DisposableMixin) : typeof DisposableMixin > : ^^^^^^^^^^^^^^^^^^^^^^ >mix : (mixin: TMix) => TMix -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >DisposableMixin : typeof DisposableMixin > : ^^^^^^^^^^^^^^^^^^^^^^ @@ -48,7 +48,7 @@ export class Monitor extends mix(DisposableMixin) { >mix(DisposableMixin) : DisposableMixin > : ^^^^^^^^^^^^^^^ >mix : (mixin: TMix) => TMix -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >DisposableMixin : typeof DisposableMixin > : ^^^^^^^^^^^^^^^^^^^^^^ @@ -95,7 +95,7 @@ export default class extends mix(DisposableMixin) { >mix(DisposableMixin) : DisposableMixin > : ^^^^^^^^^^^^^^^ >mix : (mixin: TMix) => TMix -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >DisposableMixin : typeof DisposableMixin > : ^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/declarationEmitModuleWithScopeMarker.types b/tests/baselines/reference/declarationEmitModuleWithScopeMarker.types index 01fd1aa067645..ee78f0ea0126c 100644 --- a/tests/baselines/reference/declarationEmitModuleWithScopeMarker.types +++ b/tests/baselines/reference/declarationEmitModuleWithScopeMarker.types @@ -7,9 +7,9 @@ declare module "bar" { var before: typeof func; >before : () => typeof func -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >func : () => typeof func -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ export function normal(): void; >normal : () => void @@ -23,9 +23,9 @@ declare module "bar" { var after: typeof func; >after : () => typeof func -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >func : () => typeof func -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ export {} } diff --git a/tests/baselines/reference/declarationEmitNestedAnonymousMappedType.types b/tests/baselines/reference/declarationEmitNestedAnonymousMappedType.types index 536681d444369..4fb89d6c2e1e7 100644 --- a/tests/baselines/reference/declarationEmitNestedAnonymousMappedType.types +++ b/tests/baselines/reference/declarationEmitNestedAnonymousMappedType.types @@ -3,7 +3,7 @@ === declarationEmitNestedAnonymousMappedType.ts === export function enumFromStrings() { >enumFromStrings : () => { [Property in keyof { [key in keyof Members as Members[key] extends string ? Members[key] : never]: Members[key]; }]: { [key in keyof Members as Members[key] extends string ? Members[key] : never]: Members[key]; }[Property]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type Part1 = { >Part1 : { [key in keyof Members as Members[key] extends string ? Members[key] : never]: Members[key]; } @@ -22,10 +22,10 @@ export function enumFromStrings() { > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Object.create(null) : any >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ } diff --git a/tests/baselines/reference/declarationEmitNestedGenerics.types b/tests/baselines/reference/declarationEmitNestedGenerics.types index 63baa90e268fc..5fa699c63c485 100644 --- a/tests/baselines/reference/declarationEmitNestedGenerics.types +++ b/tests/baselines/reference/declarationEmitNestedGenerics.types @@ -17,8 +17,8 @@ function f(p: T) { >null as any : any return g; ->g : (x: T_1) => T -> : ^ ^^ ^^ ^^^^^^ +>g : (x: T_1) => typeof p +> : ^ ^^ ^^ ^^^^^ } function g(x: T) { diff --git a/tests/baselines/reference/declarationEmitObjectAssignedDefaultExport.types b/tests/baselines/reference/declarationEmitObjectAssignedDefaultExport.types index 57ab14f951429..8322418902508 100644 --- a/tests/baselines/reference/declarationEmitObjectAssignedDefaultExport.types +++ b/tests/baselines/reference/declarationEmitObjectAssignedDefaultExport.types @@ -74,12 +74,12 @@ const A = styled.div``; > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >styled.div`` : import("node_modules/styled-components/index").StyledComponent<"div", import("node_modules/styled-components/index").DefaultTheme, {}, never> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->styled.div : (a: TemplateStringsArray) => import("node_modules/styled-components/index").StyledComponent<"div", import("node_modules/styled-components/index").DefaultTheme, {}, never> -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>styled.div : (a: TemplateStringsArray) => import("node_modules/styled-components/index").StyledComponent<"div"> +> : ^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >styled : import("node_modules/styled-components/index").StyledInterface > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->div : (a: TemplateStringsArray) => import("node_modules/styled-components/index").StyledComponent<"div", import("node_modules/styled-components/index").DefaultTheme, {}, never> -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>div : (a: TemplateStringsArray) => import("node_modules/styled-components/index").StyledComponent<"div"> +> : ^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >`` : "" > : ^^ @@ -88,12 +88,12 @@ const B = styled.div``; > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >styled.div`` : import("node_modules/styled-components/index").StyledComponent<"div", import("node_modules/styled-components/index").DefaultTheme, {}, never> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->styled.div : (a: TemplateStringsArray) => import("node_modules/styled-components/index").StyledComponent<"div", import("node_modules/styled-components/index").DefaultTheme, {}, never> -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>styled.div : (a: TemplateStringsArray) => import("node_modules/styled-components/index").StyledComponent<"div"> +> : ^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >styled : import("node_modules/styled-components/index").StyledInterface > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->div : (a: TemplateStringsArray) => import("node_modules/styled-components/index").StyledComponent<"div", import("node_modules/styled-components/index").DefaultTheme, {}, never> -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>div : (a: TemplateStringsArray) => import("node_modules/styled-components/index").StyledComponent<"div"> +> : ^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >`` : "" > : ^^ @@ -102,24 +102,24 @@ export const C = styled.div``; > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >styled.div`` : import("node_modules/styled-components/index").StyledComponent<"div", import("node_modules/styled-components/index").DefaultTheme, {}, never> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->styled.div : (a: TemplateStringsArray) => import("node_modules/styled-components/index").StyledComponent<"div", import("node_modules/styled-components/index").DefaultTheme, {}, never> -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>styled.div : (a: TemplateStringsArray) => import("node_modules/styled-components/index").StyledComponent<"div"> +> : ^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >styled : import("node_modules/styled-components/index").StyledInterface > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->div : (a: TemplateStringsArray) => import("node_modules/styled-components/index").StyledComponent<"div", import("node_modules/styled-components/index").DefaultTheme, {}, never> -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>div : (a: TemplateStringsArray) => import("node_modules/styled-components/index").StyledComponent<"div"> +> : ^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >`` : "" > : ^^ export default Object.assign(A, { >Object.assign(A, { B, C}) : string & import("node_modules/styled-components/index").StyledComponentBase<"div", import("node_modules/styled-components/index").DefaultTheme, {}, never> & import("node_modules/styled-components/node_modules/hoist-non-react-statics/index").NonReactStatics<"div"> & { B: import("node_modules/styled-components/index").StyledComponent<"div", import("node_modules/styled-components/index").DefaultTheme, {}, never>; C: import("node_modules/styled-components/index").StyledComponent<"div", import("node_modules/styled-components/index").DefaultTheme, {}, never>; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->Object.assign : { (target: T, source: U): T & U; (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; (target: T_2, source1: U_2, source2: V_1, source3: W): T_2 & U_2 & V_1 & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +>Object.assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ ->assign : { (target: T, source: U): T & U; (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; (target: T_2, source1: U_2, source2: V_1, source3: W): T_2 & U_2 & V_1 & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +>assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >A : import("node_modules/styled-components/index").StyledComponent<"div", import("node_modules/styled-components/index").DefaultTheme, {}, never> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ B, C} : { B: import("node_modules/styled-components/index").StyledComponent<"div", import("node_modules/styled-components/index").DefaultTheme, {}, never>; C: import("node_modules/styled-components/index").StyledComponent<"div", import("node_modules/styled-components/index").DefaultTheme, {}, never>; } diff --git a/tests/baselines/reference/declarationEmitOverloadedPrivateInference.types b/tests/baselines/reference/declarationEmitOverloadedPrivateInference.types index 7a19a1a5f5174..e6b88fb9b02b6 100644 --- a/tests/baselines/reference/declarationEmitOverloadedPrivateInference.types +++ b/tests/baselines/reference/declarationEmitOverloadedPrivateInference.types @@ -25,7 +25,7 @@ export class Wrapper { private proxy(fn: (options: T) => U): (options: T) => U; >proxy : { (fn: (options: T) => U): (options: T) => U; (fn: (options?: T_1) => U_1, noArgs: true): (options?: T_1) => U_1; } -> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^^ ^^^ ^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >fn : (options: T) => U > : ^ ^^ ^^^^^ >options : T @@ -35,7 +35,7 @@ export class Wrapper { private proxy(fn: (options?: T) => U, noArgs: true): (options?: T) => U; >proxy : { (fn: (options: T_1) => U_1): (options: T_1) => U_1; (fn: (options?: T) => U, noArgs: true): (options?: T) => U; } -> : ^^^ ^^ ^^ ^^ ^^^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >fn : (options?: T) => U > : ^ ^^^ ^^^^^ >options : T @@ -48,8 +48,8 @@ export class Wrapper { > : ^ private proxy(fn: (options: T) => U) { ->proxy : { (fn: (options: T_1) => U_1): (options: T_1) => U_1; (fn: (options?: T_2) => U_2, noArgs: true): (options?: T_2) => U_2; } -> : ^^^ ^^ ^^ ^^ ^^^^ ^^ ^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^ ^^^ ^^^^^^^^^^^ +>proxy : { (fn: (options: T_1) => U_1): (options: T_1) => U_1; (fn: (options?: T_1) => U_1, noArgs: true): (options?: T_1) => U_1; } +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >fn : (options: T) => U > : ^ ^^ ^^^^^ >options : T @@ -70,14 +70,14 @@ export class Wrapper { > : ^ ^^^^^^^^^^^^^^^^^^^^^ >this.proxy(noArgs, true) : (options?: unknown) => string > : ^ ^^^^^^^^^^^^^^^^^^^^^ ->this.proxy : { (fn: (options: T) => U): (options: T) => U; (fn: (options?: T_1) => U_1, noArgs: true): (options?: T_1) => U_1; } -> : ^^^ ^^ ^^ ^^ ^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^ ^^^ ^^^^^^^^^^^ +>this.proxy : { (fn: (options: T) => U): (options: T) => U; (fn: (options?: T) => U, noArgs: true): (options?: T) => U; } +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >this : this > : ^^^^ ->proxy : { (fn: (options: T) => U): (options: T) => U; (fn: (options?: T_1) => U_1, noArgs: true): (options?: T_1) => U_1; } -> : ^^^ ^^ ^^ ^^ ^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^ ^^^ ^^^^^^^^^^^ +>proxy : { (fn: (options: T) => U): (options: T) => U; (fn: (options?: T) => U, noArgs: true): (options?: T) => U; } +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >noArgs : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >true : true > : ^^^^ @@ -86,14 +86,14 @@ export class Wrapper { > : ^ ^^^^^^^^^^^^^^^^^^^ >this.proxy(oneArg) : (options: string) => string > : ^ ^^^^^^^^^^^^^^^^^^^ ->this.proxy : { (fn: (options: T) => U): (options: T) => U; (fn: (options?: T_1) => U_1, noArgs: true): (options?: T_1) => U_1; } -> : ^^^ ^^ ^^ ^^ ^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^ ^^^ ^^^^^^^^^^^ +>this.proxy : { (fn: (options: T) => U): (options: T) => U; (fn: (options?: T) => U, noArgs: true): (options?: T) => U; } +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >this : this > : ^^^^ ->proxy : { (fn: (options: T) => U): (options: T) => U; (fn: (options?: T_1) => U_1, noArgs: true): (options?: T_1) => U_1; } -> : ^^^ ^^ ^^ ^^ ^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^ ^^^ ^^^^^^^^^^^ +>proxy : { (fn: (options: T) => U): (options: T) => U; (fn: (options?: T) => U, noArgs: true): (options?: T) => U; } +> : ^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >oneArg : (input: string) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ }; } diff --git a/tests/baselines/reference/declarationEmitPartialNodeReuseTypeOf.js b/tests/baselines/reference/declarationEmitPartialNodeReuseTypeOf.js new file mode 100644 index 0000000000000..69962d88269bd --- /dev/null +++ b/tests/baselines/reference/declarationEmitPartialNodeReuseTypeOf.js @@ -0,0 +1,56 @@ +//// [tests/cases/compiler/declarationEmitPartialNodeReuseTypeOf.ts] //// + +//// [a.ts] +export const nImported = "nImported" +export const nNotImported = "nNotImported" +const nPrivate = "private" +export const o = (p1: typeof nImported, p2: typeof nNotImported, p3: typeof nPrivate) => null! as { foo: typeof nImported, bar: typeof nPrivate, baz: typeof nNotImported } + +//// [b.ts] +import { o, nImported } from "./a"; +export const g = o +console.log(nImported); + +//// [c.ts] +import * as a from "./a"; +export const g = a.o + + +//// [a.js] +export const nImported = "nImported"; +export const nNotImported = "nNotImported"; +const nPrivate = "private"; +export const o = (p1, p2, p3) => null; +//// [b.js] +import { o, nImported } from "./a"; +export const g = o; +console.log(nImported); +//// [c.js] +import * as a from "./a"; +export const g = a.o; + + +//// [a.d.ts] +export declare const nImported = "nImported"; +export declare const nNotImported = "nNotImported"; +declare const nPrivate = "private"; +export declare const o: (p1: typeof nImported, p2: typeof nNotImported, p3: typeof nPrivate) => { + foo: typeof nImported; + bar: typeof nPrivate; + baz: typeof nNotImported; +}; +export {}; +//// [b.d.ts] +import { nImported } from "./a"; +export declare const g: (p1: typeof nImported, p2: typeof import("./a").nNotImported, p3: "private") => { + foo: typeof nImported; + bar: "private"; + baz: typeof import("./a").nNotImported; +}; +//// [c.d.ts] +import * as a from "./a"; +export declare const g: (p1: typeof a.nImported, p2: typeof a.nNotImported, p3: "private") => { + foo: typeof a.nImported; + bar: "private"; + baz: typeof a.nNotImported; +}; diff --git a/tests/baselines/reference/declarationEmitPartialNodeReuseTypeOf.symbols b/tests/baselines/reference/declarationEmitPartialNodeReuseTypeOf.symbols new file mode 100644 index 0000000000000..8865c810f9a5e --- /dev/null +++ b/tests/baselines/reference/declarationEmitPartialNodeReuseTypeOf.symbols @@ -0,0 +1,52 @@ +//// [tests/cases/compiler/declarationEmitPartialNodeReuseTypeOf.ts] //// + +=== a.ts === +export const nImported = "nImported" +>nImported : Symbol(nImported, Decl(a.ts, 0, 12)) + +export const nNotImported = "nNotImported" +>nNotImported : Symbol(nNotImported, Decl(a.ts, 1, 12)) + +const nPrivate = "private" +>nPrivate : Symbol(nPrivate, Decl(a.ts, 2, 5)) + +export const o = (p1: typeof nImported, p2: typeof nNotImported, p3: typeof nPrivate) => null! as { foo: typeof nImported, bar: typeof nPrivate, baz: typeof nNotImported } +>o : Symbol(o, Decl(a.ts, 3, 12)) +>p1 : Symbol(p1, Decl(a.ts, 3, 18)) +>nImported : Symbol(nImported, Decl(a.ts, 0, 12)) +>p2 : Symbol(p2, Decl(a.ts, 3, 39)) +>nNotImported : Symbol(nNotImported, Decl(a.ts, 1, 12)) +>p3 : Symbol(p3, Decl(a.ts, 3, 64)) +>nPrivate : Symbol(nPrivate, Decl(a.ts, 2, 5)) +>foo : Symbol(foo, Decl(a.ts, 3, 99)) +>nImported : Symbol(nImported, Decl(a.ts, 0, 12)) +>bar : Symbol(bar, Decl(a.ts, 3, 122)) +>nPrivate : Symbol(nPrivate, Decl(a.ts, 2, 5)) +>baz : Symbol(baz, Decl(a.ts, 3, 144)) +>nNotImported : Symbol(nNotImported, Decl(a.ts, 1, 12)) + +=== b.ts === +import { o, nImported } from "./a"; +>o : Symbol(o, Decl(b.ts, 0, 8)) +>nImported : Symbol(nImported, Decl(b.ts, 0, 11)) + +export const g = o +>g : Symbol(g, Decl(b.ts, 1, 12)) +>o : Symbol(o, Decl(b.ts, 0, 8)) + +console.log(nImported); +>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, --, --)) +>nImported : Symbol(nImported, Decl(b.ts, 0, 11)) + +=== c.ts === +import * as a from "./a"; +>a : Symbol(a, Decl(c.ts, 0, 6)) + +export const g = a.o +>g : Symbol(g, Decl(c.ts, 1, 12)) +>a.o : Symbol(a.o, Decl(a.ts, 3, 12)) +>a : Symbol(a, Decl(c.ts, 0, 6)) +>o : Symbol(a.o, Decl(a.ts, 3, 12)) + diff --git a/tests/baselines/reference/declarationEmitPartialNodeReuseTypeOf.types b/tests/baselines/reference/declarationEmitPartialNodeReuseTypeOf.types new file mode 100644 index 0000000000000..617ce0db18401 --- /dev/null +++ b/tests/baselines/reference/declarationEmitPartialNodeReuseTypeOf.types @@ -0,0 +1,95 @@ +//// [tests/cases/compiler/declarationEmitPartialNodeReuseTypeOf.ts] //// + +=== a.ts === +export const nImported = "nImported" +>nImported : "nImported" +> : ^^^^^^^^^^^ +>"nImported" : "nImported" +> : ^^^^^^^^^^^ + +export const nNotImported = "nNotImported" +>nNotImported : "nNotImported" +> : ^^^^^^^^^^^^^^ +>"nNotImported" : "nNotImported" +> : ^^^^^^^^^^^^^^ + +const nPrivate = "private" +>nPrivate : "private" +> : ^^^^^^^^^ +>"private" : "private" +> : ^^^^^^^^^ + +export const o = (p1: typeof nImported, p2: typeof nNotImported, p3: typeof nPrivate) => null! as { foo: typeof nImported, bar: typeof nPrivate, baz: typeof nNotImported } +>o : (p1: typeof nImported, p2: typeof nNotImported, p3: typeof nPrivate) => { foo: typeof nImported; bar: typeof nPrivate; baz: typeof nNotImported; } +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ +>(p1: typeof nImported, p2: typeof nNotImported, p3: typeof nPrivate) => null! as { foo: typeof nImported, bar: typeof nPrivate, baz: typeof nNotImported } : (p1: typeof nImported, p2: typeof nNotImported, p3: typeof nPrivate) => { foo: typeof nImported; bar: typeof nPrivate; baz: typeof nNotImported; } +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ +>p1 : "nImported" +> : ^^^^^^^^^^^ +>nImported : "nImported" +> : ^^^^^^^^^^^ +>p2 : "nNotImported" +> : ^^^^^^^^^^^^^^ +>nNotImported : "nNotImported" +> : ^^^^^^^^^^^^^^ +>p3 : "private" +> : ^^^^^^^^^ +>nPrivate : "private" +> : ^^^^^^^^^ +>null! as { foo: typeof nImported, bar: typeof nPrivate, baz: typeof nNotImported } : { foo: typeof nImported; bar: typeof nPrivate; baz: typeof nNotImported; } +> : ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^ +>null! : never +> : ^^^^^ +>foo : "nImported" +> : ^^^^^^^^^^^ +>nImported : "nImported" +> : ^^^^^^^^^^^ +>bar : "private" +> : ^^^^^^^^^ +>nPrivate : "private" +> : ^^^^^^^^^ +>baz : "nNotImported" +> : ^^^^^^^^^^^^^^ +>nNotImported : "nNotImported" +> : ^^^^^^^^^^^^^^ + +=== b.ts === +import { o, nImported } from "./a"; +>o : (p1: typeof nImported, p2: typeof import("a").nNotImported, p3: "private") => { foo: typeof nImported; bar: "private"; baz: typeof import("a").nNotImported; } +> : ^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>nImported : "nImported" +> : ^^^^^^^^^^^ + +export const g = o +>g : (p1: typeof nImported, p2: typeof import("a").nNotImported, p3: "private") => { foo: typeof nImported; bar: "private"; baz: typeof import("a").nNotImported; } +> : ^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^ +>o : (p1: typeof nImported, p2: typeof import("a").nNotImported, p3: "private") => { foo: typeof nImported; bar: "private"; baz: typeof import("a").nNotImported; } +> : ^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^ + +console.log(nImported); +>console.log(nImported) : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>nImported : "nImported" +> : ^^^^^^^^^^^ + +=== c.ts === +import * as a from "./a"; +>a : typeof a +> : ^^^^^^^^ + +export const g = a.o +>g : (p1: typeof a.nImported, p2: typeof a.nNotImported, p3: "private") => { foo: typeof a.nImported; bar: "private"; baz: typeof a.nNotImported; } +> : ^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^ +>a.o : (p1: typeof a.nImported, p2: typeof a.nNotImported, p3: "private") => { foo: typeof a.nImported; bar: "private"; baz: typeof a.nNotImported; } +> : ^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^ +>a : typeof a +> : ^^^^^^^^ +>o : (p1: typeof a.nImported, p2: typeof a.nNotImported, p3: "private") => { foo: typeof a.nImported; bar: "private"; baz: typeof a.nNotImported; } +> : ^ ^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^ + diff --git a/tests/baselines/reference/declarationEmitPartialNodeReuseTypeReferences.js b/tests/baselines/reference/declarationEmitPartialNodeReuseTypeReferences.js new file mode 100644 index 0000000000000..bd93fe5c1c35a --- /dev/null +++ b/tests/baselines/reference/declarationEmitPartialNodeReuseTypeReferences.js @@ -0,0 +1,55 @@ +//// [tests/cases/compiler/declarationEmitPartialNodeReuseTypeReferences.ts] //// + +//// [a.ts] +export type SpecialString = string; +type PrivateSpecialString = string; + +export namespace N { + export type SpecialString = string; +} +export const o = (p1: SpecialString, p2: PrivateSpecialString, p3: N.SpecialString) => null! as { foo: SpecialString, bar: PrivateSpecialString, baz: N.SpecialString }; + +//// [b.ts] +import * as a from "./a"; +export const g = a.o + +//// [c.ts] +import { o, SpecialString } from "./a"; +export const g = o + +//// [a.js] +export const o = (p1, p2, p3) => null; +//// [b.js] +import * as a from "./a"; +export const g = a.o; +//// [c.js] +import { o } from "./a"; +export const g = o; + + +//// [a.d.ts] +export type SpecialString = string; +type PrivateSpecialString = string; +export declare namespace N { + type SpecialString = string; +} +export declare const o: (p1: SpecialString, p2: PrivateSpecialString, p3: N.SpecialString) => { + foo: SpecialString; + bar: PrivateSpecialString; + baz: N.SpecialString; +}; +export {}; +//// [b.d.ts] +import * as a from "./a"; +export declare const g: (p1: a.SpecialString, p2: string, p3: a.N.SpecialString) => { + foo: a.SpecialString; + bar: string; + baz: a.N.SpecialString; +}; +//// [c.d.ts] +import { SpecialString } from "./a"; +export declare const g: (p1: SpecialString, p2: string, p3: import("./a").N.SpecialString) => { + foo: SpecialString; + bar: string; + baz: import("./a").N.SpecialString; +}; diff --git a/tests/baselines/reference/declarationEmitPartialNodeReuseTypeReferences.symbols b/tests/baselines/reference/declarationEmitPartialNodeReuseTypeReferences.symbols new file mode 100644 index 0000000000000..69e9ac5c0f769 --- /dev/null +++ b/tests/baselines/reference/declarationEmitPartialNodeReuseTypeReferences.symbols @@ -0,0 +1,51 @@ +//// [tests/cases/compiler/declarationEmitPartialNodeReuseTypeReferences.ts] //// + +=== a.ts === +export type SpecialString = string; +>SpecialString : Symbol(SpecialString, Decl(a.ts, 0, 0)) + +type PrivateSpecialString = string; +>PrivateSpecialString : Symbol(PrivateSpecialString, Decl(a.ts, 0, 35)) + +export namespace N { +>N : Symbol(N, Decl(a.ts, 1, 35)) + + export type SpecialString = string; +>SpecialString : Symbol(SpecialString, Decl(a.ts, 3, 20)) +} +export const o = (p1: SpecialString, p2: PrivateSpecialString, p3: N.SpecialString) => null! as { foo: SpecialString, bar: PrivateSpecialString, baz: N.SpecialString }; +>o : Symbol(o, Decl(a.ts, 6, 12)) +>p1 : Symbol(p1, Decl(a.ts, 6, 18)) +>SpecialString : Symbol(SpecialString, Decl(a.ts, 0, 0)) +>p2 : Symbol(p2, Decl(a.ts, 6, 36)) +>PrivateSpecialString : Symbol(PrivateSpecialString, Decl(a.ts, 0, 35)) +>p3 : Symbol(p3, Decl(a.ts, 6, 62)) +>N : Symbol(N, Decl(a.ts, 1, 35)) +>SpecialString : Symbol(N.SpecialString, Decl(a.ts, 3, 20)) +>foo : Symbol(foo, Decl(a.ts, 6, 97)) +>SpecialString : Symbol(SpecialString, Decl(a.ts, 0, 0)) +>bar : Symbol(bar, Decl(a.ts, 6, 117)) +>PrivateSpecialString : Symbol(PrivateSpecialString, Decl(a.ts, 0, 35)) +>baz : Symbol(baz, Decl(a.ts, 6, 144)) +>N : Symbol(N, Decl(a.ts, 1, 35)) +>SpecialString : Symbol(N.SpecialString, Decl(a.ts, 3, 20)) + +=== b.ts === +import * as a from "./a"; +>a : Symbol(a, Decl(b.ts, 0, 6)) + +export const g = a.o +>g : Symbol(g, Decl(b.ts, 1, 12)) +>a.o : Symbol(a.o, Decl(a.ts, 6, 12)) +>a : Symbol(a, Decl(b.ts, 0, 6)) +>o : Symbol(a.o, Decl(a.ts, 6, 12)) + +=== c.ts === +import { o, SpecialString } from "./a"; +>o : Symbol(o, Decl(c.ts, 0, 8)) +>SpecialString : Symbol(SpecialString, Decl(c.ts, 0, 11)) + +export const g = o +>g : Symbol(g, Decl(c.ts, 1, 12)) +>o : Symbol(o, Decl(c.ts, 0, 8)) + diff --git a/tests/baselines/reference/declarationEmitPartialNodeReuseTypeReferences.types b/tests/baselines/reference/declarationEmitPartialNodeReuseTypeReferences.types new file mode 100644 index 0000000000000..77b16f1d25d71 --- /dev/null +++ b/tests/baselines/reference/declarationEmitPartialNodeReuseTypeReferences.types @@ -0,0 +1,70 @@ +//// [tests/cases/compiler/declarationEmitPartialNodeReuseTypeReferences.ts] //// + +=== a.ts === +export type SpecialString = string; +>SpecialString : string +> : ^^^^^^ + +type PrivateSpecialString = string; +>PrivateSpecialString : string +> : ^^^^^^ + +export namespace N { + export type SpecialString = string; +>SpecialString : string +> : ^^^^^^ +} +export const o = (p1: SpecialString, p2: PrivateSpecialString, p3: N.SpecialString) => null! as { foo: SpecialString, bar: PrivateSpecialString, baz: N.SpecialString }; +>o : (p1: SpecialString, p2: PrivateSpecialString, p3: N.SpecialString) => { foo: SpecialString; bar: PrivateSpecialString; baz: N.SpecialString; } +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ +>(p1: SpecialString, p2: PrivateSpecialString, p3: N.SpecialString) => null! as { foo: SpecialString, bar: PrivateSpecialString, baz: N.SpecialString } : (p1: SpecialString, p2: PrivateSpecialString, p3: N.SpecialString) => { foo: SpecialString; bar: PrivateSpecialString; baz: N.SpecialString; } +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ +>p1 : string +> : ^^^^^^ +>p2 : string +> : ^^^^^^ +>p3 : string +> : ^^^^^^ +>N : any +> : ^^^ +>null! as { foo: SpecialString, bar: PrivateSpecialString, baz: N.SpecialString } : { foo: SpecialString; bar: PrivateSpecialString; baz: N.SpecialString; } +> : ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^ +>null! : never +> : ^^^^^ +>foo : string +> : ^^^^^^ +>bar : string +> : ^^^^^^ +>baz : string +> : ^^^^^^ +>N : any +> : ^^^ + +=== b.ts === +import * as a from "./a"; +>a : typeof a +> : ^^^^^^^^ + +export const g = a.o +>g : (p1: a.SpecialString, p2: string, p3: a.N.SpecialString) => { foo: a.SpecialString; bar: string; baz: a.N.SpecialString; } +> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^ +>a.o : (p1: a.SpecialString, p2: string, p3: a.N.SpecialString) => { foo: a.SpecialString; bar: string; baz: a.N.SpecialString; } +> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^ +>a : typeof a +> : ^^^^^^^^ +>o : (p1: a.SpecialString, p2: string, p3: a.N.SpecialString) => { foo: a.SpecialString; bar: string; baz: a.N.SpecialString; } +> : ^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^ + +=== c.ts === +import { o, SpecialString } from "./a"; +>o : (p1: SpecialString, p2: string, p3: import("a").N.SpecialString) => { foo: SpecialString; bar: string; baz: import("a").N.SpecialString; } +> : ^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +>SpecialString : any +> : ^^^ + +export const g = o +>g : (p1: SpecialString, p2: string, p3: import("a").N.SpecialString) => { foo: SpecialString; bar: string; baz: import("a").N.SpecialString; } +> : ^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +>o : (p1: SpecialString, p2: string, p3: import("a").N.SpecialString) => { foo: SpecialString; bar: string; baz: import("a").N.SpecialString; } +> : ^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^ ^^^^^^^^^^^^^^^ + diff --git a/tests/baselines/reference/declarationEmitPartialReuseComputedProperty.js b/tests/baselines/reference/declarationEmitPartialReuseComputedProperty.js new file mode 100644 index 0000000000000..8864a222ba963 --- /dev/null +++ b/tests/baselines/reference/declarationEmitPartialReuseComputedProperty.js @@ -0,0 +1,39 @@ +//// [tests/cases/compiler/declarationEmitPartialReuseComputedProperty.ts] //// + +//// [a.ts] +export const n = "A" +export const poz = 1; +export const neg = -1; +export const o = () => null! as { [n]: string, foo: string, [poz]: number, [neg]: number } + +//// [b.ts] +import { o } from "./a"; +export const g = o + +//// [a.js] +export const n = "A"; +export const poz = 1; +export const neg = -1; +export const o = () => null; +//// [b.js] +import { o } from "./a"; +export const g = o; + + +//// [a.d.ts] +export declare const n = "A"; +export declare const poz = 1; +export declare const neg = -1; +export declare const o: () => { + [n]: string; + foo: string; + [poz]: number; + [neg]: number; +}; +//// [b.d.ts] +export declare const g: () => { + A: string; + foo: string; + 1: number; + [-1]: number; +}; diff --git a/tests/baselines/reference/declarationEmitPartialReuseComputedProperty.symbols b/tests/baselines/reference/declarationEmitPartialReuseComputedProperty.symbols new file mode 100644 index 0000000000000..3fea65e673002 --- /dev/null +++ b/tests/baselines/reference/declarationEmitPartialReuseComputedProperty.symbols @@ -0,0 +1,30 @@ +//// [tests/cases/compiler/declarationEmitPartialReuseComputedProperty.ts] //// + +=== a.ts === +export const n = "A" +>n : Symbol(n, Decl(a.ts, 0, 12)) + +export const poz = 1; +>poz : Symbol(poz, Decl(a.ts, 1, 12)) + +export const neg = -1; +>neg : Symbol(neg, Decl(a.ts, 2, 12)) + +export const o = () => null! as { [n]: string, foo: string, [poz]: number, [neg]: number } +>o : Symbol(o, Decl(a.ts, 3, 12)) +>[n] : Symbol([n], Decl(a.ts, 3, 33)) +>n : Symbol(n, Decl(a.ts, 0, 12)) +>foo : Symbol(foo, Decl(a.ts, 3, 46)) +>[poz] : Symbol([poz], Decl(a.ts, 3, 59)) +>poz : Symbol(poz, Decl(a.ts, 1, 12)) +>[neg] : Symbol([neg], Decl(a.ts, 3, 74)) +>neg : Symbol(neg, Decl(a.ts, 2, 12)) + +=== b.ts === +import { o } from "./a"; +>o : Symbol(o, Decl(b.ts, 0, 8)) + +export const g = o +>g : Symbol(g, Decl(b.ts, 1, 12)) +>o : Symbol(o, Decl(b.ts, 0, 8)) + diff --git a/tests/baselines/reference/declarationEmitPartialReuseComputedProperty.types b/tests/baselines/reference/declarationEmitPartialReuseComputedProperty.types new file mode 100644 index 0000000000000..bb3e2a7111687 --- /dev/null +++ b/tests/baselines/reference/declarationEmitPartialReuseComputedProperty.types @@ -0,0 +1,58 @@ +//// [tests/cases/compiler/declarationEmitPartialReuseComputedProperty.ts] //// + +=== a.ts === +export const n = "A" +>n : "A" +> : ^^^ +>"A" : "A" +> : ^^^ + +export const poz = 1; +>poz : 1 +> : ^ +>1 : 1 +> : ^ + +export const neg = -1; +>neg : -1 +> : ^^ +>-1 : -1 +> : ^^ +>1 : 1 +> : ^ + +export const o = () => null! as { [n]: string, foo: string, [poz]: number, [neg]: number } +>o : () => { [n]: string; foo: string; [poz]: number; [neg]: number; } +> : ^^^^^^ +>() => null! as { [n]: string, foo: string, [poz]: number, [neg]: number } : () => { [n]: string; foo: string; [poz]: number; [neg]: number; } +> : ^^^^^^ +>null! as { [n]: string, foo: string, [poz]: number, [neg]: number } : { foo: string; A: string; 1: number; [-1]: number; } +> : ^^^^^^^ ^^^^^ ^^^^^ ^^^^^^^^ ^^^ +>null! : never +> : ^^^^^ +>[n] : string +> : ^^^^^^ +>n : "A" +> : ^^^ +>foo : string +> : ^^^^^^ +>[poz] : number +> : ^^^^^^ +>poz : 1 +> : ^ +>[neg] : number +> : ^^^^^^ +>neg : -1 +> : ^^ + +=== b.ts === +import { o } from "./a"; +>o : () => { A: string; foo: string; 1: number; [-1]: number; } +> : ^^^^^^ ^ ^ ^^ + +export const g = o +>g : () => { A: string; foo: string; 1: number; [-1]: number; } +> : ^^^^^^ ^ ^ ^^ +>o : () => { A: string; foo: string; 1: number; [-1]: number; } +> : ^^^^^^ ^ ^ ^^ + diff --git a/tests/baselines/reference/declarationEmitPathMappingMonorepo.types b/tests/baselines/reference/declarationEmitPathMappingMonorepo.types index 0eced06558919..f063df9870649 100644 --- a/tests/baselines/reference/declarationEmitPathMappingMonorepo.types +++ b/tests/baselines/reference/declarationEmitPathMappingMonorepo.types @@ -3,7 +3,7 @@ === packages/b/src/index.ts === import { a } from "@ts-bug/a"; >a : (text: string) => import("@ts-bug/a").AText -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^^^^^^^^^^ ^^^^^ export function b(text: string) { >b : (text: string) => import("@ts-bug/a").AText @@ -15,7 +15,7 @@ export function b(text: string) { >a(text) : import("@ts-bug/a").AText > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : (text: string) => import("@ts-bug/a").AText -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^^^^^^^^^^ ^^^^^ >text : string > : ^^^^^^ } diff --git a/tests/baselines/reference/declarationEmitPrefersPathKindBasedOnBundling.types b/tests/baselines/reference/declarationEmitPrefersPathKindBasedOnBundling.types index 5d28748f384b6..cf4b630ac09d7 100644 --- a/tests/baselines/reference/declarationEmitPrefersPathKindBasedOnBundling.types +++ b/tests/baselines/reference/declarationEmitPrefersPathKindBasedOnBundling.types @@ -20,7 +20,7 @@ export function scalar(value: string): Scalar { === src/settings/spacing.ts === import { scalar } from '../lib/operators/scalar'; >scalar : (value: string) => import("src/lib/operators/scalar").Scalar -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ export default { >{ get xs() { return scalar("14px"); }} : { readonly xs: import("src/lib/operators/scalar").Scalar; } @@ -34,7 +34,7 @@ export default { >scalar("14px") : import("src/lib/operators/scalar").Scalar > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >scalar : (value: string) => import("src/lib/operators/scalar").Scalar -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >"14px" : "14px" > : ^^^^^^ } diff --git a/tests/baselines/reference/declarationEmitPrefersPathKindBasedOnBundling2.types b/tests/baselines/reference/declarationEmitPrefersPathKindBasedOnBundling2.types index 230d094686618..559a5f7c64d19 100644 --- a/tests/baselines/reference/declarationEmitPrefersPathKindBasedOnBundling2.types +++ b/tests/baselines/reference/declarationEmitPrefersPathKindBasedOnBundling2.types @@ -20,7 +20,7 @@ export function scalar(value: string): Scalar { === src/settings/spacing.ts === import { scalar } from '../lib/operators/scalar'; >scalar : (value: string) => import("src/lib/operators/scalar").Scalar -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ export default { >{ get xs() { return scalar("14px"); }} : { readonly xs: import("src/lib/operators/scalar").Scalar; } @@ -34,7 +34,7 @@ export default { >scalar("14px") : import("src/lib/operators/scalar").Scalar > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >scalar : (value: string) => import("src/lib/operators/scalar").Scalar -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >"14px" : "14px" > : ^^^^^^ } diff --git a/tests/baselines/reference/declarationEmitPrivateNameCausesError.types b/tests/baselines/reference/declarationEmitPrivateNameCausesError.types index 8cb9af4817cd1..4c7ee13a66ffa 100644 --- a/tests/baselines/reference/declarationEmitPrivateNameCausesError.types +++ b/tests/baselines/reference/declarationEmitPrivateNameCausesError.types @@ -11,8 +11,8 @@ const IGNORE_EXTRA_VARIABLES = Symbol(); //Notice how this is unexported //This is exported export function ignoreExtraVariables (ctor : CtorT) { ->ignoreExtraVariables : {}>(ctor: CtorT) => { new (...args: any[]): (Anonymous class); prototype: ignoreExtraVariables.(Anonymous class); } & CtorT -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>ignoreExtraVariables : (ctor: CtorT) => { new (...args: any[]): (Anonymous class); prototype: ignoreExtraVariables.(Anonymous class); } & CtorT +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >args : any[] > : ^^^^^ >ctor : CtorT diff --git a/tests/baselines/reference/declarationEmitPromise.types b/tests/baselines/reference/declarationEmitPromise.types index 654befdc253b7..f02fb945d3a92 100644 --- a/tests/baselines/reference/declarationEmitPromise.types +++ b/tests/baselines/reference/declarationEmitPromise.types @@ -41,7 +41,7 @@ export async function runSampleWorks( >[a, b, c, d, e].filter(el => !!el) : bluebird[] > : ^^^^^^^^^^^^^ >[a, b, c, d, e].filter : { >(predicate: (value: bluebird, index: number, array: bluebird[]) => value is S, thisArg?: any): S[]; (predicate: (value: bluebird, index: number, array: bluebird[]) => unknown, thisArg?: any): bluebird[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^^ >[a, b, c, d, e] : bluebird[] > : ^^^^^^^^^^^^^ >a : bluebird @@ -55,7 +55,7 @@ export async function runSampleWorks( >e : bluebird > : ^^^^^^^^^^^ >filter : { >(predicate: (value: bluebird, index: number, array: bluebird[]) => value is S, thisArg?: any): S[]; (predicate: (value: bluebird, index: number, array: bluebird[]) => unknown, thisArg?: any): bluebird[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^^ >el => !!el : (el: bluebird) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ >el : bluebird @@ -88,26 +88,26 @@ export async function runSampleWorks( f.apply(this, result); >f.apply(this, result) : any >f.apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >f : (a: A, b?: B, c?: C, d?: D, e?: E) => T -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >this : any >result : any let rfunc: typeof func & {} = func as any; // <- This is the only difference >rfunc : (f: (a: A, b?: B, c?: C, d?: D, e?: E) => T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >func : (f: (a: A, b?: B, c?: C, d?: D, e?: E) => T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >func as any : any >func : (f: (a: A, b?: B, c?: C, d?: D, e?: E) => T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ return rfunc >rfunc : (f: (a: A, b?: B, c?: C, d?: D, e?: E) => T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ } export async function runSampleBreaks( @@ -141,7 +141,7 @@ export async function runSampleBreaks( >[a, b, c, d, e].filter(el => !!el) : bluebird[] > : ^^^^^^^^^^^^^ >[a, b, c, d, e].filter : { >(predicate: (value: bluebird, index: number, array: bluebird[]) => value is S, thisArg?: any): S[]; (predicate: (value: bluebird, index: number, array: bluebird[]) => unknown, thisArg?: any): bluebird[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^^ >[a, b, c, d, e] : bluebird[] > : ^^^^^^^^^^^^^ >a : bluebird @@ -155,7 +155,7 @@ export async function runSampleBreaks( >e : bluebird > : ^^^^^^^^^^^ >filter : { >(predicate: (value: bluebird, index: number, array: bluebird[]) => value is S, thisArg?: any): S[]; (predicate: (value: bluebird, index: number, array: bluebird[]) => unknown, thisArg?: any): bluebird[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^^ >el => !!el : (el: bluebird) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ >el : bluebird @@ -188,24 +188,24 @@ export async function runSampleBreaks( f.apply(this, result); >f.apply(this, result) : any >f.apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >f : (a: A, b?: B, c?: C, d?: D, e?: E) => T -> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^^ +> : ^ ^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^ ^^^ ^^^^^ >apply : (this: Function, thisArg: any, argArray?: any) => any -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >this : any >result : any let rfunc: typeof func = func as any; // <- This is the only difference >rfunc : (f: (a: A, b?: B, c?: C, d?: D, e?: E) => T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >func : (f: (a: A, b?: B, c?: C, d?: D, e?: E) => T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >func as any : any >func : (f: (a: A, b?: B, c?: C, d?: D, e?: E) => T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ return rfunc >rfunc : (f: (a: A, b?: B, c?: C, d?: D, e?: E) => T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ } diff --git a/tests/baselines/reference/declarationEmitQualifiedAliasTypeArgument.types b/tests/baselines/reference/declarationEmitQualifiedAliasTypeArgument.types index 510b2ae9feace..e451f7933f272 100644 --- a/tests/baselines/reference/declarationEmitQualifiedAliasTypeArgument.types +++ b/tests/baselines/reference/declarationEmitQualifiedAliasTypeArgument.types @@ -52,21 +52,21 @@ import { T, Q } from "./lib"; import { create } from "./bbb"; >create : () => () => import("bbb").INode -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^ ^^^^^ export const fun = create(); >fun : () => import("bbb").INode -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^ ^^^^^ ^ >create() : () => import("bbb").INode -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^ ^^^^^ ^ >create : () => () => import("bbb").INode -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^ ^^^^^ export const fun2 = create(); >fun2 : () => import("bbb").INode -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^ ^^^^^ ^ >create() : () => import("bbb").INode -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^ ^^^^^ ^ >create : () => () => import("bbb").INode -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^ ^^^^^ diff --git a/tests/baselines/reference/declarationEmitReadonlyComputedProperty.types b/tests/baselines/reference/declarationEmitReadonlyComputedProperty.types index d5ceba0d9413c..8522029af67f5 100644 --- a/tests/baselines/reference/declarationEmitReadonlyComputedProperty.types +++ b/tests/baselines/reference/declarationEmitReadonlyComputedProperty.types @@ -38,17 +38,17 @@ export function createInstance(): Interface { === index.ts === import { createInstance } from './bug' >createInstance : () => import("bug").Interface -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^ ^^^^^^^^^ export const spread = { >spread : { [SYMBOL]: string; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ >{ ...createInstance(),} : { [SYMBOL]: string; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ ...createInstance(), >createInstance() : import("bug").Interface > : ^^^^^^^^^^^^^^^^^^^^^^^ >createInstance : () => import("bug").Interface -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^ ^^^^^^^^^ } diff --git a/tests/baselines/reference/declarationEmitRecursiveConditionalAliasPreserved.types b/tests/baselines/reference/declarationEmitRecursiveConditionalAliasPreserved.types index b091d4e3d423d..5974792bc2252 100644 --- a/tests/baselines/reference/declarationEmitRecursiveConditionalAliasPreserved.types +++ b/tests/baselines/reference/declarationEmitRecursiveConditionalAliasPreserved.types @@ -138,9 +138,9 @@ import { Power } from "./input"; export const power = ( >power : (num: Num, powerOf: PowerOf) => Power -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >( num: Num, powerOf: PowerOf): Power => (num ** powerOf) as never : (num: Num, powerOf: PowerOf) => Power -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ num: Num, >num : Num diff --git a/tests/baselines/reference/declarationEmitReexportedSymlinkReference.types b/tests/baselines/reference/declarationEmitReexportedSymlinkReference.types index 64854a5e6456b..84491c53a5cd4 100644 --- a/tests/baselines/reference/declarationEmitReexportedSymlinkReference.types +++ b/tests/baselines/reference/declarationEmitReexportedSymlinkReference.types @@ -14,11 +14,11 @@ export const ADMIN = MetadataAccessor.create('1'); >MetadataAccessor.create('1') : MetadataAccessor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >MetadataAccessor.create : (key: string) => MetadataAccessor -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ >MetadataAccessor : typeof MetadataAccessor > : ^^^^^^^^^^^^^^^^^^^^^^^ >create : (key: string) => MetadataAccessor -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ >'1' : "1" > : ^^^ @@ -63,7 +63,7 @@ export declare class MetadataAccessor { static create(key: string): MetadataAccessor; >create : (key: string) => MetadataAccessor -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^^^ >key : string > : ^^^^^^ } diff --git a/tests/baselines/reference/declarationEmitReexportedSymlinkReference2.types b/tests/baselines/reference/declarationEmitReexportedSymlinkReference2.types index 8dfbac14b8f0e..9255b91a4871a 100644 --- a/tests/baselines/reference/declarationEmitReexportedSymlinkReference2.types +++ b/tests/baselines/reference/declarationEmitReexportedSymlinkReference2.types @@ -14,11 +14,11 @@ export const ADMIN = MetadataAccessor.create('1'); >MetadataAccessor.create('1') : MetadataAccessor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >MetadataAccessor.create : (key: string) => MetadataAccessor -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ >MetadataAccessor : typeof MetadataAccessor > : ^^^^^^^^^^^^^^^^^^^^^^^ >create : (key: string) => MetadataAccessor -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ >'1' : "1" > : ^^^ @@ -63,7 +63,7 @@ export declare class MetadataAccessor { static create(key: string): MetadataAccessor; >create : (key: string) => MetadataAccessor -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^^^ >key : string > : ^^^^^^ } diff --git a/tests/baselines/reference/declarationEmitReexportedSymlinkReference3.types b/tests/baselines/reference/declarationEmitReexportedSymlinkReference3.types index cd13750dcac39..4c53f672d436f 100644 --- a/tests/baselines/reference/declarationEmitReexportedSymlinkReference3.types +++ b/tests/baselines/reference/declarationEmitReexportedSymlinkReference3.types @@ -14,11 +14,11 @@ export const ADMIN = MetadataAccessor.create('1'); >MetadataAccessor.create('1') : MetadataAccessor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >MetadataAccessor.create : (key: string) => MetadataAccessor -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ >MetadataAccessor : typeof MetadataAccessor > : ^^^^^^^^^^^^^^^^^^^^^^^ >create : (key: string) => MetadataAccessor -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ >'1' : "1" > : ^^^ @@ -63,7 +63,7 @@ export declare class MetadataAccessor { static create(key: string): MetadataAccessor; >create : (key: string) => MetadataAccessor -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^^^^ >key : string > : ^^^^^^ } diff --git a/tests/baselines/reference/declarationEmitRetainedAnnotationRetainsImportInOutput.types b/tests/baselines/reference/declarationEmitRetainedAnnotationRetainsImportInOutput.types index 769a088e8d681..6cadfea0e0fe6 100644 --- a/tests/baselines/reference/declarationEmitRetainedAnnotationRetainsImportInOutput.types +++ b/tests/baselines/reference/declarationEmitRetainedAnnotationRetainsImportInOutput.types @@ -31,12 +31,12 @@ export const run = (i: () => E.Whatever): E.Whatever => E.something(i); > : ^^^ >E.something(i) : E.Whatever > : ^^^^^^^^^^^^^ ->E.something : (cb: () => Whatever) => E.Whatever -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +>E.something : (cb: () => E.Whatever) => E.Whatever +> : ^ ^^ ^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^ >E : typeof E > : ^^^^^^^^ ->something : (cb: () => Whatever) => E.Whatever -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ +>something : (cb: () => E.Whatever) => E.Whatever +> : ^ ^^ ^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^ >i : () => E.Whatever -> : ^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/declarationEmitScopeConsistency.js b/tests/baselines/reference/declarationEmitScopeConsistency.js new file mode 100644 index 0000000000000..dee43b6da1657 --- /dev/null +++ b/tests/baselines/reference/declarationEmitScopeConsistency.js @@ -0,0 +1,36 @@ +//// [tests/cases/compiler/declarationEmitScopeConsistency.ts] //// + +//// [a.ts] +export interface A { a: number } +export const f = (x: A) => x as A; + +//// [b.ts] +import { f } from "./a"; +export interface A { other: number } +export const g = f; + + +//// [a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.f = void 0; +var f = function (x) { return x; }; +exports.f = f; +//// [b.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.g = void 0; +var a_1 = require("./a"); +exports.g = a_1.f; + + +//// [a.d.ts] +export interface A { + a: number; +} +export declare const f: (x: A) => A; +//// [b.d.ts] +export interface A { + other: number; +} +export declare const g: (x: import("./a").A) => import("./a").A; diff --git a/tests/baselines/reference/declarationEmitScopeConsistency.symbols b/tests/baselines/reference/declarationEmitScopeConsistency.symbols new file mode 100644 index 0000000000000..ccf5cfd670ba2 --- /dev/null +++ b/tests/baselines/reference/declarationEmitScopeConsistency.symbols @@ -0,0 +1,26 @@ +//// [tests/cases/compiler/declarationEmitScopeConsistency.ts] //// + +=== a.ts === +export interface A { a: number } +>A : Symbol(A, Decl(a.ts, 0, 0)) +>a : Symbol(A.a, Decl(a.ts, 0, 20)) + +export const f = (x: A) => x as A; +>f : Symbol(f, Decl(a.ts, 1, 12)) +>x : Symbol(x, Decl(a.ts, 1, 18)) +>A : Symbol(A, Decl(a.ts, 0, 0)) +>x : Symbol(x, Decl(a.ts, 1, 18)) +>A : Symbol(A, Decl(a.ts, 0, 0)) + +=== b.ts === +import { f } from "./a"; +>f : Symbol(f, Decl(b.ts, 0, 8)) + +export interface A { other: number } +>A : Symbol(A, Decl(b.ts, 0, 24)) +>other : Symbol(A.other, Decl(b.ts, 1, 20)) + +export const g = f; +>g : Symbol(g, Decl(b.ts, 2, 12)) +>f : Symbol(f, Decl(b.ts, 0, 8)) + diff --git a/tests/baselines/reference/declarationEmitScopeConsistency.types b/tests/baselines/reference/declarationEmitScopeConsistency.types new file mode 100644 index 0000000000000..3050e63aedd4e --- /dev/null +++ b/tests/baselines/reference/declarationEmitScopeConsistency.types @@ -0,0 +1,34 @@ +//// [tests/cases/compiler/declarationEmitScopeConsistency.ts] //// + +=== a.ts === +export interface A { a: number } +>a : number +> : ^^^^^^ + +export const f = (x: A) => x as A; +>f : (x: A) => A +> : ^ ^^ ^^^^^ +>(x: A) => x as A : (x: A) => A +> : ^ ^^ ^^^^^ +>x : A +> : ^ +>x as A : A +> : ^ +>x : A +> : ^ + +=== b.ts === +import { f } from "./a"; +>f : (x: import("a").A) => import("a").A +> : ^ ^^ ^^^ ^^^^^^ ^^^ ^ + +export interface A { other: number } +>other : number +> : ^^^^^^ + +export const g = f; +>g : (x: import("a").A) => import("a").A +> : ^ ^^ ^^^ ^^^^^^ ^^^ ^ +>f : (x: import("a").A) => import("a").A +> : ^ ^^ ^^^ ^^^^^^ ^^^ ^ + diff --git a/tests/baselines/reference/declarationEmitScopeConsistency3.js b/tests/baselines/reference/declarationEmitScopeConsistency3.js new file mode 100644 index 0000000000000..818ecdd527981 --- /dev/null +++ b/tests/baselines/reference/declarationEmitScopeConsistency3.js @@ -0,0 +1,23 @@ +//// [tests/cases/compiler/declarationEmitScopeConsistency3.ts] //// + +//// [a.ts] +export const g = (v: "outer") => { + const f = (v: "inner") => () => null! as typeof v; + const r = f(null!) + return r; +} + +//// [a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.g = void 0; +var g = function (v) { + var f = function (v) { return function () { return null; }; }; + var r = f(null); + return r; +}; +exports.g = g; + + +//// [a.d.ts] +export declare const g: (v: "outer") => () => "inner"; diff --git a/tests/baselines/reference/declarationEmitScopeConsistency3.symbols b/tests/baselines/reference/declarationEmitScopeConsistency3.symbols new file mode 100644 index 0000000000000..740c99bd4c1b6 --- /dev/null +++ b/tests/baselines/reference/declarationEmitScopeConsistency3.symbols @@ -0,0 +1,19 @@ +//// [tests/cases/compiler/declarationEmitScopeConsistency3.ts] //// + +=== a.ts === +export const g = (v: "outer") => { +>g : Symbol(g, Decl(a.ts, 0, 12)) +>v : Symbol(v, Decl(a.ts, 0, 18)) + + const f = (v: "inner") => () => null! as typeof v; +>f : Symbol(f, Decl(a.ts, 1, 9)) +>v : Symbol(v, Decl(a.ts, 1, 15)) +>v : Symbol(v, Decl(a.ts, 1, 15)) + + const r = f(null!) +>r : Symbol(r, Decl(a.ts, 2, 9)) +>f : Symbol(f, Decl(a.ts, 1, 9)) + + return r; +>r : Symbol(r, Decl(a.ts, 2, 9)) +} diff --git a/tests/baselines/reference/declarationEmitScopeConsistency3.types b/tests/baselines/reference/declarationEmitScopeConsistency3.types new file mode 100644 index 0000000000000..16fc898dec998 --- /dev/null +++ b/tests/baselines/reference/declarationEmitScopeConsistency3.types @@ -0,0 +1,41 @@ +//// [tests/cases/compiler/declarationEmitScopeConsistency3.ts] //// + +=== a.ts === +export const g = (v: "outer") => { +>g : (v: "outer") => () => "inner" +> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +>(v: "outer") => { const f = (v: "inner") => () => null! as typeof v; const r = f(null!) return r;} : (v: "outer") => () => "inner" +> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +>v : "outer" +> : ^^^^^^^ + + const f = (v: "inner") => () => null! as typeof v; +>f : (v: "inner") => () => typeof v +> : ^ ^^ ^^^^^^^^^^^ +>(v: "inner") => () => null! as typeof v : (v: "inner") => () => typeof v +> : ^ ^^ ^^^^^^^^^^^ +>v : "inner" +> : ^^^^^^^ +>() => null! as typeof v : () => typeof v +> : ^^^^^^ +>null! as typeof v : "inner" +> : ^^^^^^^ +>null! : never +> : ^^^^^ +>v : "inner" +> : ^^^^^^^ + + const r = f(null!) +>r : () => "inner" +> : ^^^^^^^^^^^^^ +>f(null!) : () => "inner" +> : ^^^^^^^^^^^^^ +>f : (v: "inner") => () => typeof v +> : ^ ^^ ^^^^^^^^^^^ +>null! : never +> : ^^^^^ + + return r; +>r : () => "inner" +> : ^^^^^^^^^^^^^ +} diff --git a/tests/baselines/reference/declarationEmitShadowingInferNotRenamed.js b/tests/baselines/reference/declarationEmitShadowingInferNotRenamed.js index aea2bc98c3909..217b51d74d6d4 100644 --- a/tests/baselines/reference/declarationEmitShadowingInferNotRenamed.js +++ b/tests/baselines/reference/declarationEmitShadowingInferNotRenamed.js @@ -38,5 +38,5 @@ type Client = string; type UpdatedClient = C & { foo: number; }; -export declare const createClient: Client> | (new (...args: any[]) => Client)>(clientDef: D) => D extends new (...args: any[]) => infer C ? UpdatedClient : { [K in keyof D]: D[K] extends new (...args: any[]) => infer C ? UpdatedClient : never; }; +export declare const createClient: Client) | Record Client>>(clientDef: D) => D extends new (...args: any[]) => infer C ? UpdatedClient : { [K in keyof D]: D[K] extends new (...args: any[]) => infer C ? UpdatedClient : never; }; export {}; diff --git a/tests/baselines/reference/declarationEmitShadowingInferNotRenamed.types b/tests/baselines/reference/declarationEmitShadowingInferNotRenamed.types index e55a6e00b424a..b4f070b936ce4 100644 --- a/tests/baselines/reference/declarationEmitShadowingInferNotRenamed.types +++ b/tests/baselines/reference/declarationEmitShadowingInferNotRenamed.types @@ -14,10 +14,10 @@ type UpdatedClient = C & {foo: number} > : ^^^^^^ export const createClient = < ->createClient : Client> | (new (...args: any[]) => Client)>(clientDef: D) => D extends new (...args: any[]) => infer C ? UpdatedClient : { [K in keyof D]: D[K] extends new (...args: any[]) => infer C ? UpdatedClient : never; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ ^^ ^^^^^ ->< D extends | (new (...args: any[]) => Client) // accept class | Record Client> // or map of classes>( clientDef: D): D extends new (...args: any[]) => infer C ? UpdatedClient // return instance : { [K in keyof D]: D[K] extends new (...args: any[]) => infer C // or map of instances respectively ? UpdatedClient : never } => { return null as any} : Client> | (new (...args: any[]) => Client)>(clientDef: D) => D extends new (...args: any[]) => infer C ? UpdatedClient : { [K in keyof D]: D[K] extends new (...args: any[]) => infer C ? UpdatedClient : never; } -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ ^^ ^^^^^ +>createClient : Client) | Record Client>>(clientDef: D) => D extends new (...args: any[]) => infer C ? UpdatedClient : { [K in keyof D]: D[K] extends new (...args: any[]) => infer C ? UpdatedClient : never; } +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ +>< D extends | (new (...args: any[]) => Client) // accept class | Record Client> // or map of classes>( clientDef: D): D extends new (...args: any[]) => infer C ? UpdatedClient // return instance : { [K in keyof D]: D[K] extends new (...args: any[]) => infer C // or map of instances respectively ? UpdatedClient : never } => { return null as any} : Client) | Record Client>>(clientDef: D) => D extends new (...args: any[]) => infer C ? UpdatedClient : { [K in keyof D]: D[K] extends new (...args: any[]) => infer C ? UpdatedClient : never; } +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ D extends | (new (...args: any[]) => Client) // accept class diff --git a/tests/baselines/reference/declarationEmitStringEnumUsedInNonlocalSpread.types b/tests/baselines/reference/declarationEmitStringEnumUsedInNonlocalSpread.types index df185f20feedf..dee5a3fcd4a36 100644 --- a/tests/baselines/reference/declarationEmitStringEnumUsedInNonlocalSpread.types +++ b/tests/baselines/reference/declarationEmitStringEnumUsedInNonlocalSpread.types @@ -92,21 +92,21 @@ export class B extends A { getA() { // TS4053 error >getA : () => { a: string; "123123": string; "12312312312": string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ return { >{ ...super.getA(), a: '123', } : { a: string; "123123": string; "12312312312": string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ...super.getA(), >super.getA() : import("class").ITest > : ^^^^^^^^^^^^^^^^^^^^^ >super.getA : () => import("class").ITest -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^ ^^^^^ >super : A > : ^ >getA : () => import("class").ITest -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^ ^^^^^ a: '123', >a : string diff --git a/tests/baselines/reference/declarationEmitSymlinkPaths.types b/tests/baselines/reference/declarationEmitSymlinkPaths.types index eccb41e1d79c0..cd404eacb0a32 100644 --- a/tests/baselines/reference/declarationEmitSymlinkPaths.types +++ b/tests/baselines/reference/declarationEmitSymlinkPaths.types @@ -27,11 +27,11 @@ export function getNotification(): NotificationResponse { === /packages/search-prefix/src/Store/NotificationStore.ts === import { test } from "search/lib/index"; >test : (a: () => T) => () => T -> : ^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ import { getNotification } from "../API/NotificationAPIUtils"; >getNotification : () => import("/packages/search-prefix/src/API/NotificationAPIUtils").NotificationResponse -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ export const NotificationScenario = test( >NotificationScenario : () => import("/packages/search-prefix/src/API/NotificationAPIUtils").NotificationResponse @@ -39,10 +39,10 @@ export const NotificationScenario = test( >test( getNotification) : () => import("/packages/search-prefix/src/API/NotificationAPIUtils").NotificationResponse > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >test : (a: () => T) => () => T -> : ^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ getNotification >getNotification : () => import("/packages/search-prefix/src/API/NotificationAPIUtils").NotificationResponse -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ); diff --git a/tests/baselines/reference/declarationEmitTupleRestSignatureLeadingVariadic.types b/tests/baselines/reference/declarationEmitTupleRestSignatureLeadingVariadic.types index 2d25aee556a32..b97c49118747e 100644 --- a/tests/baselines/reference/declarationEmitTupleRestSignatureLeadingVariadic.types +++ b/tests/baselines/reference/declarationEmitTupleRestSignatureLeadingVariadic.types @@ -3,9 +3,9 @@ === declarationEmitTupleRestSignatureLeadingVariadic.ts === const f = (...args: [...TFirstArgs, TLastArg]): void => {}; >f : (...args: [...TFirstArgs, TLastArg]) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^ >(...args: [...TFirstArgs, TLastArg]): void => {} : (...args: [...TFirstArgs, TLastArg]) => void -> : ^ ^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^ >args : [...TFirstArgs, TLastArg] > : ^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/declarationEmitTypeAliasTypeParameterExtendingUnknownSymbol.errors.txt b/tests/baselines/reference/declarationEmitTypeAliasTypeParameterExtendingUnknownSymbol.errors.txt index 18bc605f5262d..7fa0d56959fb6 100644 --- a/tests/baselines/reference/declarationEmitTypeAliasTypeParameterExtendingUnknownSymbol.errors.txt +++ b/tests/baselines/reference/declarationEmitTypeAliasTypeParameterExtendingUnknownSymbol.errors.txt @@ -1,10 +1,7 @@ declarationEmitTypeAliasTypeParameterExtendingUnknownSymbol.ts(1,18): error TS2304: Cannot find name 'Unknown'. -declarationEmitTypeAliasTypeParameterExtendingUnknownSymbol.ts(1,18): error TS4083: Type parameter 'T' of exported type alias has or is using private name 'Unknown'. -==== declarationEmitTypeAliasTypeParameterExtendingUnknownSymbol.ts (2 errors) ==== +==== declarationEmitTypeAliasTypeParameterExtendingUnknownSymbol.ts (1 errors) ==== type A = {} ~~~~~~~ -!!! error TS2304: Cannot find name 'Unknown'. - ~~~~~~~ -!!! error TS4083: Type parameter 'T' of exported type alias has or is using private name 'Unknown'. \ No newline at end of file +!!! error TS2304: Cannot find name 'Unknown'. \ No newline at end of file diff --git a/tests/baselines/reference/declarationEmitTypeAliasTypeParameterExtendingUnknownSymbol.js b/tests/baselines/reference/declarationEmitTypeAliasTypeParameterExtendingUnknownSymbol.js index 4823d0373f0c2..c3b2e1ec205be 100644 --- a/tests/baselines/reference/declarationEmitTypeAliasTypeParameterExtendingUnknownSymbol.js +++ b/tests/baselines/reference/declarationEmitTypeAliasTypeParameterExtendingUnknownSymbol.js @@ -4,3 +4,7 @@ type A = {} //// [declarationEmitTypeAliasTypeParameterExtendingUnknownSymbol.js] + + +//// [declarationEmitTypeAliasTypeParameterExtendingUnknownSymbol.d.ts] +type A = {}; diff --git a/tests/baselines/reference/declarationEmitTypeParameterNameReusedInOverloads.types b/tests/baselines/reference/declarationEmitTypeParameterNameReusedInOverloads.types index 754f677efa66a..be24557efd656 100644 --- a/tests/baselines/reference/declarationEmitTypeParameterNameReusedInOverloads.types +++ b/tests/baselines/reference/declarationEmitTypeParameterNameReusedInOverloads.types @@ -28,8 +28,8 @@ export type Foo = { > : ^^^ new (x: { ->x : { new (a: T): T; new (a: T_1): T_1; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>x : { new (a: T): T; new (a: T): T; } +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ new (a: T): T; >a : T @@ -41,8 +41,8 @@ export type Foo = { }): any[]; new (x: { ->x : { new (a: T): T; new (a: T_1): T_1; } -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>x : { new (a: T): T; new (a: T): T; } +> : ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ new (a: T): T; >a : T diff --git a/tests/baselines/reference/declarationEmitTypeofRest.errors.txt b/tests/baselines/reference/declarationEmitTypeofRest.errors.txt new file mode 100644 index 0000000000000..671d90c009509 --- /dev/null +++ b/tests/baselines/reference/declarationEmitTypeofRest.errors.txt @@ -0,0 +1,23 @@ +v2.ts(2,14): error TS2527: The inferred type of 'v2' references an inaccessible 'unique symbol' type. A type annotation is necessary. + + +==== v1.ts (0 errors) ==== + export const v1 = (...a: [n: "n", a: "a"]): { + /** r rest param */ + a: typeof a, + } => { + return null! + } + +==== v2.ts (1 errors) ==== + const n = Symbol(); + export const v2 = (...a: [n: "n", a: "a"]): { + ~~ +!!! error TS2527: The inferred type of 'v2' references an inaccessible 'unique symbol' type. A type annotation is necessary. + /** r rest param */ + a: typeof a, + /** module var */ + n: typeof n, + } => { + return null! + } \ No newline at end of file diff --git a/tests/baselines/reference/declarationEmitTypeofRest.js b/tests/baselines/reference/declarationEmitTypeofRest.js new file mode 100644 index 0000000000000..58fd7016fec89 --- /dev/null +++ b/tests/baselines/reference/declarationEmitTypeofRest.js @@ -0,0 +1,37 @@ +//// [tests/cases/compiler/declarationEmitTypeofRest.ts] //// + +//// [v1.ts] +export const v1 = (...a: [n: "n", a: "a"]): { + /** r rest param */ + a: typeof a, +} => { + return null! +} + +//// [v2.ts] +const n = Symbol(); +export const v2 = (...a: [n: "n", a: "a"]): { + /** r rest param */ + a: typeof a, + /** module var */ + n: typeof n, +} => { + return null! +} + +//// [v1.js] +export const v1 = (...a) => { + return null; +}; +//// [v2.js] +const n = Symbol(); +export const v2 = (...a) => { + return null; +}; + + +//// [v1.d.ts] +export declare const v1: (n: "n", a: "a") => { + /** r rest param */ + a: [n: "n", a: "a"]; +}; diff --git a/tests/baselines/reference/declarationEmitTypeofRest.symbols b/tests/baselines/reference/declarationEmitTypeofRest.symbols new file mode 100644 index 0000000000000..4222e449f9dbd --- /dev/null +++ b/tests/baselines/reference/declarationEmitTypeofRest.symbols @@ -0,0 +1,38 @@ +//// [tests/cases/compiler/declarationEmitTypeofRest.ts] //// + +=== v1.ts === +export const v1 = (...a: [n: "n", a: "a"]): { +>v1 : Symbol(v1, Decl(v1.ts, 0, 12)) +>a : Symbol(a, Decl(v1.ts, 0, 19)) + + /** r rest param */ + a: typeof a, +>a : Symbol(a, Decl(v1.ts, 0, 45)) +>a : Symbol(a, Decl(v1.ts, 0, 19)) + +} => { + return null! +} + +=== v2.ts === +const n = Symbol(); +>n : Symbol(n, Decl(v2.ts, 0, 5)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) + +export const v2 = (...a: [n: "n", a: "a"]): { +>v2 : Symbol(v2, Decl(v2.ts, 1, 12)) +>a : Symbol(a, Decl(v2.ts, 1, 19)) + + /** r rest param */ + a: typeof a, +>a : Symbol(a, Decl(v2.ts, 1, 45)) +>a : Symbol(a, Decl(v2.ts, 1, 19)) + + /** module var */ + n: typeof n, +>n : Symbol(n, Decl(v2.ts, 3, 16)) +>n : Symbol(n, Decl(v2.ts, 0, 5)) + +} => { + return null! +} diff --git a/tests/baselines/reference/declarationEmitTypeofRest.types b/tests/baselines/reference/declarationEmitTypeofRest.types new file mode 100644 index 0000000000000..e64ce1473d491 --- /dev/null +++ b/tests/baselines/reference/declarationEmitTypeofRest.types @@ -0,0 +1,60 @@ +//// [tests/cases/compiler/declarationEmitTypeofRest.ts] //// + +=== v1.ts === +export const v1 = (...a: [n: "n", a: "a"]): { +>v1 : (n: "n", a: "a") => { a: [n: "n", a: "a"]; } +> : ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +>(...a: [n: "n", a: "a"]): { /** r rest param */ a: typeof a,} => { return null!} : (n: "n", a: "a") => { a: [n: "n", a: "a"]; } +> : ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +>a : [n: "n", a: "a"] +> : ^^^^^^^^^^^^^^^^ + + /** r rest param */ + a: typeof a, +>a : [n: "n", a: "a"] +> : ^^^^^^^^^^^^^^^^ +>a : [n: "n", a: "a"] +> : ^^^^^^^^^^^^^^^^ + +} => { + return null! +>null! : null +> : ^^^^ +} + +=== v2.ts === +const n = Symbol(); +>n : unique symbol +> : ^^^^^^^^^^^^^ +>Symbol() : unique symbol +> : ^^^^^^^^^^^^^ +>Symbol : SymbolConstructor +> : ^^^^^^^^^^^^^^^^^ + +export const v2 = (...a: [n: "n", a: "a"]): { +>v2 : (n: "n", a: "a") => { a: [n: "n", a: "a"]; n: unique symbol; } +> : ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ +>(...a: [n: "n", a: "a"]): { /** r rest param */ a: typeof a, /** module var */ n: typeof n,} => { return null!} : (n: "n", a: "a") => { a: [n: "n", a: "a"]; n: unique symbol; } +> : ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ +>a : [n: "n", a: "a"] +> : ^^^^^^^^^^^^^^^^ + + /** r rest param */ + a: typeof a, +>a : [n: "n", a: "a"] +> : ^^^^^^^^^^^^^^^^ +>a : [n: "n", a: "a"] +> : ^^^^^^^^^^^^^^^^ + + /** module var */ + n: typeof n, +>n : unique symbol +> : ^^^^^^^^^^^^^ +>n : unique symbol +> : ^^^^^^^^^^^^^ + +} => { + return null! +>null! : null +> : ^^^^ +} diff --git a/tests/baselines/reference/declarationEmitUnknownImport.errors.txt b/tests/baselines/reference/declarationEmitUnknownImport.errors.txt index 8b0900f15d05c..ffde8f5e80f21 100644 --- a/tests/baselines/reference/declarationEmitUnknownImport.errors.txt +++ b/tests/baselines/reference/declarationEmitUnknownImport.errors.txt @@ -1,10 +1,9 @@ declarationEmitUnknownImport.ts(1,1): error TS2303: Circular definition of import alias 'Foo'. declarationEmitUnknownImport.ts(1,14): error TS2304: Cannot find name 'SomeNonExistingName'. declarationEmitUnknownImport.ts(1,14): error TS2503: Cannot find namespace 'SomeNonExistingName'. -declarationEmitUnknownImport.ts(1,14): error TS4000: Import declaration 'Foo' is using private name 'SomeNonExistingName'. -==== declarationEmitUnknownImport.ts (4 errors) ==== +==== declarationEmitUnknownImport.ts (3 errors) ==== import Foo = SomeNonExistingName ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2303: Circular definition of import alias 'Foo'. @@ -12,6 +11,4 @@ declarationEmitUnknownImport.ts(1,14): error TS4000: Import declaration 'Foo' is !!! error TS2304: Cannot find name 'SomeNonExistingName'. ~~~~~~~~~~~~~~~~~~~ !!! error TS2503: Cannot find namespace 'SomeNonExistingName'. - ~~~~~~~~~~~~~~~~~~~ -!!! error TS4000: Import declaration 'Foo' is using private name 'SomeNonExistingName'. export {Foo} \ No newline at end of file diff --git a/tests/baselines/reference/declarationEmitUnknownImport.js b/tests/baselines/reference/declarationEmitUnknownImport.js index 428e0cd19754d..09d55a0d35c13 100644 --- a/tests/baselines/reference/declarationEmitUnknownImport.js +++ b/tests/baselines/reference/declarationEmitUnknownImport.js @@ -10,3 +10,8 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.Foo = void 0; var Foo = SomeNonExistingName; exports.Foo = Foo; + + +//// [declarationEmitUnknownImport.d.ts] +import Foo = SomeNonExistingName; +export { Foo }; diff --git a/tests/baselines/reference/declarationEmitUnknownImport2.errors.txt b/tests/baselines/reference/declarationEmitUnknownImport2.errors.txt index 96c7cdb8c7757..37d7841f4b6b3 100644 --- a/tests/baselines/reference/declarationEmitUnknownImport2.errors.txt +++ b/tests/baselines/reference/declarationEmitUnknownImport2.errors.txt @@ -2,11 +2,10 @@ declarationEmitUnknownImport2.ts(1,1): error TS2303: Circular definition of impo declarationEmitUnknownImport2.ts(1,12): error TS1005: '=' expected. declarationEmitUnknownImport2.ts(1,12): error TS2304: Cannot find name 'From'. declarationEmitUnknownImport2.ts(1,12): error TS2503: Cannot find namespace 'From'. -declarationEmitUnknownImport2.ts(1,12): error TS4000: Import declaration 'Foo' is using private name 'From'. declarationEmitUnknownImport2.ts(1,17): error TS1005: ';' expected. -==== declarationEmitUnknownImport2.ts (6 errors) ==== +==== declarationEmitUnknownImport2.ts (5 errors) ==== import Foo From './Foo'; // Syntax error ~~~~~~~~~~~~~~~ !!! error TS2303: Circular definition of import alias 'Foo'. @@ -16,8 +15,6 @@ declarationEmitUnknownImport2.ts(1,17): error TS1005: ';' expected. !!! error TS2304: Cannot find name 'From'. ~~~~ !!! error TS2503: Cannot find namespace 'From'. - ~~~~ -!!! error TS4000: Import declaration 'Foo' is using private name 'From'. ~~~~~~~ !!! error TS1005: ';' expected. export default Foo \ No newline at end of file diff --git a/tests/baselines/reference/declarationEmitUnknownImport2.js b/tests/baselines/reference/declarationEmitUnknownImport2.js index 2042acf5d8125..62350a39a0e3b 100644 --- a/tests/baselines/reference/declarationEmitUnknownImport2.js +++ b/tests/baselines/reference/declarationEmitUnknownImport2.js @@ -10,3 +10,8 @@ Object.defineProperty(exports, "__esModule", { value: true }); var Foo = From; './Foo'; // Syntax error exports.default = Foo; + + +//// [declarationEmitUnknownImport2.d.ts] +import Foo = From; +export default Foo; diff --git a/tests/baselines/reference/declarationEmitUnnessesaryTypeReferenceNotAdded.types b/tests/baselines/reference/declarationEmitUnnessesaryTypeReferenceNotAdded.types index 82fe174f46887..fe008688925eb 100644 --- a/tests/baselines/reference/declarationEmitUnnessesaryTypeReferenceNotAdded.types +++ b/tests/baselines/reference/declarationEmitUnnessesaryTypeReferenceNotAdded.types @@ -47,7 +47,7 @@ declare function thing(x: any): thing.ParsedArgs; export = thing; >thing : (x: any) => thing.ParsedArgs -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ === /node_modules/@types/process/process.d.ts === declare const thing: any; diff --git a/tests/baselines/reference/declarationEmitUsingAlternativeContainingModules1.types b/tests/baselines/reference/declarationEmitUsingAlternativeContainingModules1.types index 2527e6958257f..8f899d31613c0 100644 --- a/tests/baselines/reference/declarationEmitUsingAlternativeContainingModules1.types +++ b/tests/baselines/reference/declarationEmitUsingAlternativeContainingModules1.types @@ -349,7 +349,7 @@ type UseQueryReturnType = UseBaseQueryReturnType; declare function useQuery< >useQuery : (options: UndefinedInitialQueryOptions) => UseQueryReturnType -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^^^^ TQueryFnData = unknown, TError = DefaultError, @@ -366,19 +366,19 @@ export { type UseQueryReturnType, useQuery }; >UseQueryReturnType : any > : ^^^ >useQuery : (options: UndefinedInitialQueryOptions) => UseQueryReturnType -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^^^^ === node_modules/@tanstack/vue-query/build/modern/index.d.ts === export { UseQueryReturnType, useQuery } from './useQuery-CPqkvEsh.js'; >UseQueryReturnType : any > : ^^^ ->useQuery : (options: { enabled?: boolean | undefined; refetchInterval?: number | undefined; select?: ((data: TQueryFnData) => TData) | undefined; retry?: (number | boolean | ((failureCount: number, error: TError) => boolean)) | undefined; queryFn?: ((context: { queryKey: TQueryKey; }) => TQueryFnData | Promise) | undefined; queryKey?: TQueryKey | undefined; initialData?: TQueryFnData | undefined; initialDataUpdatedAt?: number | (() => number | undefined) | undefined; } & { initialData?: undefined; }) => import("node_modules/@tanstack/vue-query/build/modern/useQuery-CPqkvEsh").UseQueryReturnType -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>useQuery : (options: { enabled?: boolean; refetchInterval?: number; select?: ((data: TQueryFnData) => TData) | undefined; retry?: (number | boolean | ((failureCount: number, error: TError) => boolean)) | undefined; queryFn?: ((context: { queryKey: TQueryKey; }) => TQueryFnData | Promise) | undefined; queryKey?: TQueryKey | undefined; initialData?: TQueryFnData | undefined; initialDataUpdatedAt?: number | (() => number | undefined); } & { initialData?: undefined; }) => import("node_modules/@tanstack/vue-query/build/modern/useQuery-CPqkvEsh").UseQueryReturnType +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ === src/index.mts === import { useQuery } from '@tanstack/vue-query' ->useQuery : (options: { enabled?: boolean | undefined; refetchInterval?: number | undefined; select?: ((data: TQueryFnData) => TData) | undefined; retry?: (number | boolean | ((failureCount: number, error: TError) => boolean)) | undefined; queryFn?: ((context: { queryKey: TQueryKey; }) => TQueryFnData | Promise) | undefined; queryKey?: TQueryKey | undefined; initialData?: TQueryFnData | undefined; initialDataUpdatedAt?: number | (() => number | undefined) | undefined; } & { initialData?: undefined; }) => import("node_modules/@tanstack/vue-query/build/modern/useQuery-CPqkvEsh").UseQueryReturnType -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>useQuery : (options: { enabled?: boolean; refetchInterval?: number; select?: ((data: TQueryFnData) => TData) | undefined; retry?: (number | boolean | ((failureCount: number, error: TError) => boolean)) | undefined; queryFn?: ((context: { queryKey: TQueryKey; }) => TQueryFnData | Promise) | undefined; queryKey?: TQueryKey | undefined; initialData?: TQueryFnData | undefined; initialDataUpdatedAt?: number | (() => number | undefined); } & { initialData?: undefined; }) => import("node_modules/@tanstack/vue-query/build/modern/useQuery-CPqkvEsh").UseQueryReturnType +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ const baseUrl = 'https://api.publicapis.org/' >baseUrl : "https://api.publicapis.org/" @@ -431,20 +431,20 @@ const testApi = { return fetch(baseUrl + 'entries') >fetch(baseUrl + 'entries') .then((res) => res.json()) .then((data) => data.entries) .catch((err) => console.log(err)) : Promise > : ^^^^^^^^^^^^ ->fetch(baseUrl + 'entries') .then((res) => res.json()) .then((data) => data.entries) .catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>fetch(baseUrl + 'entries') .then((res) => res.json()) .then((data) => data.entries) .catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ >fetch(baseUrl + 'entries') .then((res) => res.json()) .then((data) => data.entries) : Promise > : ^^^^^^^^^^^^ >fetch(baseUrl + 'entries') .then((res) => res.json()) .then : (onfulfilled?: ((value: any) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >fetch(baseUrl + 'entries') .then((res) => res.json()) : Promise > : ^^^^^^^^^^^^ >fetch(baseUrl + 'entries') .then : (onfulfilled?: ((value: Response) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >fetch(baseUrl + 'entries') : Promise > : ^^^^^^^^^^^^^^^^^ >fetch : (input: RequestInfo | URL, init?: RequestInit) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >baseUrl + 'entries' : string > : ^^^^^^ >baseUrl : "https://api.publicapis.org/" @@ -454,7 +454,7 @@ const testApi = { .then((res) => res.json()) >then : (onfulfilled?: ((value: Response) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >(res) => res.json() : (res: Response) => Promise > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >res : Response @@ -462,15 +462,15 @@ const testApi = { >res.json() : Promise > : ^^^^^^^^^^^^ >res.json : () => Promise -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >res : Response > : ^^^^^^^^ >json : () => Promise -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ .then((data) => data.entries) >then : (onfulfilled?: ((value: any) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >(data) => data.entries : (data: any) => any > : ^ ^^^^^^^^^^^^^ >data : any @@ -481,19 +481,19 @@ const testApi = { > : ^^^ .catch((err) => console.log(err)) ->catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ >(err) => console.log(err) : (err: any) => void > : ^ ^^^^^^^^^^^^^^ >err : any >console.log(err) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >err : any } } @@ -544,10 +544,10 @@ export const useEntries = () => { return useQuery({ >useQuery({ queryKey: entryKeys.list(), queryFn: testApi.getEntries, select: (data) => data.slice(0, 10) }) : import("node_modules/@tanstack/vue-query/build/modern/useQuery-CPqkvEsh").UseQueryReturnType > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->useQuery : (options: { enabled?: boolean | undefined; refetchInterval?: number | undefined; select?: ((data: TQueryFnData) => TData) | undefined; retry?: (number | boolean | ((failureCount: number, error: TError) => boolean)) | undefined; queryFn?: ((context: { queryKey: TQueryKey; }) => TQueryFnData | Promise) | undefined; queryKey?: TQueryKey | undefined; initialData?: TQueryFnData | undefined; initialDataUpdatedAt?: number | (() => number | undefined) | undefined; } & { initialData?: undefined; }) => import("node_modules/@tanstack/vue-query/build/modern/useQuery-CPqkvEsh").UseQueryReturnType -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>useQuery : (options: { enabled?: boolean; refetchInterval?: number; select?: ((data: TQueryFnData) => TData) | undefined; retry?: (number | boolean | ((failureCount: number, error: TError) => boolean)) | undefined; queryFn?: ((context: { queryKey: TQueryKey; }) => TQueryFnData | Promise) | undefined; queryKey?: TQueryKey | undefined; initialData?: TQueryFnData | undefined; initialDataUpdatedAt?: number | (() => number | undefined); } & { initialData?: undefined; }) => import("node_modules/@tanstack/vue-query/build/modern/useQuery-CPqkvEsh").UseQueryReturnType +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ >{ queryKey: entryKeys.list(), queryFn: testApi.getEntries, select: (data) => data.slice(0, 10) } : { queryKey: readonly ["entries", "list"]; queryFn: () => Promise; select: (data: IEntry[]) => IEntry[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ queryKey: entryKeys.list(), >queryKey : readonly ["entries", "list"] @@ -563,13 +563,13 @@ export const useEntries = () => { queryFn: testApi.getEntries, >queryFn : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testApi.getEntries : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testApi : { getEntries: () => Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^ ^^^ >getEntries : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ select: (data) => data.slice(0, 10) >select : (data: IEntry[]) => IEntry[] @@ -581,11 +581,11 @@ export const useEntries = () => { >data.slice(0, 10) : IEntry[] > : ^^^^^^^^ >data.slice : (start?: number, end?: number) => IEntry[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >data : IEntry[] > : ^^^^^^^^ >slice : (start?: number, end?: number) => IEntry[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >0 : 0 > : ^ >10 : 10 diff --git a/tests/baselines/reference/declarationEmitUsingAlternativeContainingModules2.types b/tests/baselines/reference/declarationEmitUsingAlternativeContainingModules2.types index 4eb8ee991e249..9db2d2654d9e2 100644 --- a/tests/baselines/reference/declarationEmitUsingAlternativeContainingModules2.types +++ b/tests/baselines/reference/declarationEmitUsingAlternativeContainingModules2.types @@ -349,7 +349,7 @@ type UseQueryReturnType = UseBaseQueryReturnType; declare function useQuery< >useQuery : (options: UndefinedInitialQueryOptions) => UseQueryReturnType -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^^^^ TQueryFnData = unknown, TError = DefaultError, @@ -368,9 +368,9 @@ export { type UseQueryReturnType as b, useQuery as u }; >b : any > : ^^^ >useQuery : (options: UndefinedInitialQueryOptions) => UseQueryReturnType -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^^^^ >u : (options: UndefinedInitialQueryOptions) => UseQueryReturnType -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^^^^ === node_modules/@tanstack/vue-query/build/modern/index.d.ts === export { b as UseQueryReturnType, u as useQuery } from './useQuery-CPqkvEsh.js'; @@ -378,15 +378,15 @@ export { b as UseQueryReturnType, u as useQuery } from './useQuery-CPqkvEsh.js'; > : ^^^ >UseQueryReturnType : any > : ^^^ ->u : (options: { enabled?: boolean | undefined; refetchInterval?: number | undefined; select?: ((data: TQueryFnData) => TData) | undefined; retry?: (number | boolean | ((failureCount: number, error: TError) => boolean)) | undefined; queryFn?: ((context: { queryKey: TQueryKey; }) => TQueryFnData | Promise) | undefined; queryKey?: TQueryKey | undefined; initialData?: TQueryFnData | undefined; initialDataUpdatedAt?: number | (() => number | undefined) | undefined; } & { initialData?: undefined; }) => import("node_modules/@tanstack/vue-query/build/modern/useQuery-CPqkvEsh").b -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->useQuery : (options: { enabled?: boolean | undefined; refetchInterval?: number | undefined; select?: ((data: TQueryFnData) => TData) | undefined; retry?: (number | boolean | ((failureCount: number, error: TError) => boolean)) | undefined; queryFn?: ((context: { queryKey: TQueryKey; }) => TQueryFnData | Promise) | undefined; queryKey?: TQueryKey | undefined; initialData?: TQueryFnData | undefined; initialDataUpdatedAt?: number | (() => number | undefined) | undefined; } & { initialData?: undefined; }) => import("node_modules/@tanstack/vue-query/build/modern/useQuery-CPqkvEsh").b -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>u : (options: { enabled?: boolean; refetchInterval?: number; select?: ((data: TQueryFnData) => TData) | undefined; retry?: (number | boolean | ((failureCount: number, error: TError) => boolean)) | undefined; queryFn?: ((context: { queryKey: TQueryKey; }) => TQueryFnData | Promise) | undefined; queryKey?: TQueryKey | undefined; initialData?: TQueryFnData | undefined; initialDataUpdatedAt?: number | (() => number | undefined); } & { initialData?: undefined; }) => import("node_modules/@tanstack/vue-query/build/modern/useQuery-CPqkvEsh").b +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ +>useQuery : (options: { enabled?: boolean; refetchInterval?: number; select?: ((data: TQueryFnData) => TData) | undefined; retry?: (number | boolean | ((failureCount: number, error: TError) => boolean)) | undefined; queryFn?: ((context: { queryKey: TQueryKey; }) => TQueryFnData | Promise) | undefined; queryKey?: TQueryKey | undefined; initialData?: TQueryFnData | undefined; initialDataUpdatedAt?: number | (() => number | undefined); } & { initialData?: undefined; }) => import("node_modules/@tanstack/vue-query/build/modern/useQuery-CPqkvEsh").b +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ === src/index.mts === import { useQuery } from '@tanstack/vue-query' ->useQuery : (options: { enabled?: boolean | undefined; refetchInterval?: number | undefined; select?: ((data: TQueryFnData) => TData) | undefined; retry?: (number | boolean | ((failureCount: number, error: TError) => boolean)) | undefined; queryFn?: ((context: { queryKey: TQueryKey; }) => TQueryFnData | Promise) | undefined; queryKey?: TQueryKey | undefined; initialData?: TQueryFnData | undefined; initialDataUpdatedAt?: number | (() => number | undefined) | undefined; } & { initialData?: undefined; }) => import("node_modules/@tanstack/vue-query/build/modern/useQuery-CPqkvEsh").b -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>useQuery : (options: { enabled?: boolean; refetchInterval?: number; select?: ((data: TQueryFnData) => TData) | undefined; retry?: (number | boolean | ((failureCount: number, error: TError) => boolean)) | undefined; queryFn?: ((context: { queryKey: TQueryKey; }) => TQueryFnData | Promise) | undefined; queryKey?: TQueryKey | undefined; initialData?: TQueryFnData | undefined; initialDataUpdatedAt?: number | (() => number | undefined); } & { initialData?: undefined; }) => import("node_modules/@tanstack/vue-query/build/modern/useQuery-CPqkvEsh").b +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ const baseUrl = 'https://api.publicapis.org/' >baseUrl : "https://api.publicapis.org/" @@ -439,20 +439,20 @@ const testApi = { return fetch(baseUrl + 'entries') >fetch(baseUrl + 'entries') .then((res) => res.json()) .then((data) => data.entries) .catch((err) => console.log(err)) : Promise > : ^^^^^^^^^^^^ ->fetch(baseUrl + 'entries') .then((res) => res.json()) .then((data) => data.entries) .catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>fetch(baseUrl + 'entries') .then((res) => res.json()) .then((data) => data.entries) .catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ >fetch(baseUrl + 'entries') .then((res) => res.json()) .then((data) => data.entries) : Promise > : ^^^^^^^^^^^^ >fetch(baseUrl + 'entries') .then((res) => res.json()) .then : (onfulfilled?: ((value: any) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >fetch(baseUrl + 'entries') .then((res) => res.json()) : Promise > : ^^^^^^^^^^^^ >fetch(baseUrl + 'entries') .then : (onfulfilled?: ((value: Response) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >fetch(baseUrl + 'entries') : Promise > : ^^^^^^^^^^^^^^^^^ >fetch : (input: RequestInfo | URL, init?: RequestInit) => Promise -> : ^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^ ^^^^^ >baseUrl + 'entries' : string > : ^^^^^^ >baseUrl : "https://api.publicapis.org/" @@ -462,7 +462,7 @@ const testApi = { .then((res) => res.json()) >then : (onfulfilled?: ((value: Response) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >(res) => res.json() : (res: Response) => Promise > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >res : Response @@ -470,15 +470,15 @@ const testApi = { >res.json() : Promise > : ^^^^^^^^^^^^ >res.json : () => Promise -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >res : Response > : ^^^^^^^^ >json : () => Promise -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ .then((data) => data.entries) >then : (onfulfilled?: ((value: any) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ >(data) => data.entries : (data: any) => any > : ^ ^^^^^^^^^^^^^ >data : any @@ -489,19 +489,19 @@ const testApi = { > : ^^^ .catch((err) => console.log(err)) ->catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise -> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise +> : ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ >(err) => console.log(err) : (err: any) => void > : ^ ^^^^^^^^^^^^^^ >err : any >console.log(err) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >err : any } } @@ -552,10 +552,10 @@ export const useEntries = () => { return useQuery({ >useQuery({ queryKey: entryKeys.list(), queryFn: testApi.getEntries, select: (data) => data.slice(0, 10) }) : import("node_modules/@tanstack/vue-query/build/modern/useQuery-CPqkvEsh").b > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->useQuery : (options: { enabled?: boolean | undefined; refetchInterval?: number | undefined; select?: ((data: TQueryFnData) => TData) | undefined; retry?: (number | boolean | ((failureCount: number, error: TError) => boolean)) | undefined; queryFn?: ((context: { queryKey: TQueryKey; }) => TQueryFnData | Promise) | undefined; queryKey?: TQueryKey | undefined; initialData?: TQueryFnData | undefined; initialDataUpdatedAt?: number | (() => number | undefined) | undefined; } & { initialData?: undefined; }) => import("node_modules/@tanstack/vue-query/build/modern/useQuery-CPqkvEsh").b -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>useQuery : (options: { enabled?: boolean; refetchInterval?: number; select?: ((data: TQueryFnData) => TData) | undefined; retry?: (number | boolean | ((failureCount: number, error: TError) => boolean)) | undefined; queryFn?: ((context: { queryKey: TQueryKey; }) => TQueryFnData | Promise) | undefined; queryKey?: TQueryKey | undefined; initialData?: TQueryFnData | undefined; initialDataUpdatedAt?: number | (() => number | undefined); } & { initialData?: undefined; }) => import("node_modules/@tanstack/vue-query/build/modern/useQuery-CPqkvEsh").b +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ >{ queryKey: entryKeys.list(), queryFn: testApi.getEntries, select: (data) => data.slice(0, 10) } : { queryKey: readonly ["entries", "list"]; queryFn: () => Promise; select: (data: IEntry[]) => IEntry[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ queryKey: entryKeys.list(), >queryKey : readonly ["entries", "list"] @@ -571,13 +571,13 @@ export const useEntries = () => { queryFn: testApi.getEntries, >queryFn : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testApi.getEntries : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >testApi : { getEntries: () => Promise; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^ ^^^ >getEntries : () => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ select: (data) => data.slice(0, 10) >select : (data: IEntry[]) => IEntry[] @@ -589,11 +589,11 @@ export const useEntries = () => { >data.slice(0, 10) : IEntry[] > : ^^^^^^^^ >data.slice : (start?: number, end?: number) => IEntry[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >data : IEntry[] > : ^^^^^^^^ >slice : (start?: number, end?: number) => IEntry[] -> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^ +> : ^ ^^^ ^^ ^^^ ^^^^^^^^^^^ >0 : 0 > : ^ >10 : 10 diff --git a/tests/baselines/reference/declarationEmitUsingTypeAlias2.js b/tests/baselines/reference/declarationEmitUsingTypeAlias2.js new file mode 100644 index 0000000000000..eae2e3fd10241 --- /dev/null +++ b/tests/baselines/reference/declarationEmitUsingTypeAlias2.js @@ -0,0 +1,61 @@ +//// [tests/cases/compiler/declarationEmitUsingTypeAlias2.ts] //// + +//// [inner.d.ts] +export declare type Other = { other: string }; +export declare type SomeType = { arg: Other }; + +//// [other.d.ts] +export declare const shouldLookupName: unique symbol; +export declare const shouldReuseLocalName: unique symbol; +export declare const reuseDepName: unique symbol; +export declare const shouldBeElided: unique symbol; +export declare const isNotAccessibleShouldError: unique symbol; + +//// [index.d.ts] +import { Other } from './inner' +import { shouldLookupName, reuseDepName, shouldReuseLocalName, shouldBeElided } from './other' +export declare const goodDeclaration: () => () => { + /** Other Can't be named in index.ts, but the whole conditional type can be resolved */ + shouldPrintResult: T extends Other? "O": "N", + /** Symbol shouldBeElided should not be present in index.d.ts, it might be since it's tracked before Other is seen and an error reported */ + shouldPrintResult2: T extends typeof shouldBeElided? Other: "N", + /** Specifier should come from module, local path should not be reused */ + shouldLookupName: typeof import('./other').shouldLookupName, + /** This is imported in index so local name should be reused */ + shouldReuseLocalName: typeof shouldReuseLocalName + /** This is NOT imported in index so import should be created */ + reuseDepName: typeof reuseDepName, +} +export { shouldLookupName, shouldReuseLocalName, reuseDepName, shouldBeElided }; + +//// [package.json] +{ + "name": "some-dep", + "exports": { + ".": "./dist/index.js" + } +} + +//// [index.ts] +import { goodDeclaration, shouldReuseLocalName, shouldBeElided } from "some-dep"; +export const bar = goodDeclaration<{}>; + + + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.bar = void 0; +const some_dep_1 = require("some-dep"); +exports.bar = (some_dep_1.goodDeclaration); + + +//// [index.d.ts] +import { shouldReuseLocalName } from "some-dep"; +export declare const bar: () => () => { + shouldPrintResult: "N"; + shouldPrintResult2: "N"; + shouldLookupName: typeof import("some-dep").shouldLookupName; + shouldReuseLocalName: typeof shouldReuseLocalName; + reuseDepName: typeof import("some-dep").reuseDepName; +}; diff --git a/tests/baselines/reference/declarationEmitUsingTypeAlias2.symbols b/tests/baselines/reference/declarationEmitUsingTypeAlias2.symbols new file mode 100644 index 0000000000000..5a11bd9dcd2f0 --- /dev/null +++ b/tests/baselines/reference/declarationEmitUsingTypeAlias2.symbols @@ -0,0 +1,87 @@ +//// [tests/cases/compiler/declarationEmitUsingTypeAlias2.ts] //// + +=== node_modules/some-dep/dist/inner.d.ts === +export declare type Other = { other: string }; +>Other : Symbol(Other, Decl(inner.d.ts, 0, 0)) +>other : Symbol(other, Decl(inner.d.ts, 0, 29)) + +export declare type SomeType = { arg: Other }; +>SomeType : Symbol(SomeType, Decl(inner.d.ts, 0, 46)) +>arg : Symbol(arg, Decl(inner.d.ts, 1, 32)) +>Other : Symbol(Other, Decl(inner.d.ts, 0, 0)) + +=== node_modules/some-dep/dist/other.d.ts === +export declare const shouldLookupName: unique symbol; +>shouldLookupName : Symbol(shouldLookupName, Decl(other.d.ts, 0, 20)) + +export declare const shouldReuseLocalName: unique symbol; +>shouldReuseLocalName : Symbol(shouldReuseLocalName, Decl(other.d.ts, 1, 20)) + +export declare const reuseDepName: unique symbol; +>reuseDepName : Symbol(reuseDepName, Decl(other.d.ts, 2, 20)) + +export declare const shouldBeElided: unique symbol; +>shouldBeElided : Symbol(shouldBeElided, Decl(other.d.ts, 3, 20)) + +export declare const isNotAccessibleShouldError: unique symbol; +>isNotAccessibleShouldError : Symbol(isNotAccessibleShouldError, Decl(other.d.ts, 4, 20)) + +=== node_modules/some-dep/dist/index.d.ts === +import { Other } from './inner' +>Other : Symbol(Other, Decl(index.d.ts, 0, 8)) + +import { shouldLookupName, reuseDepName, shouldReuseLocalName, shouldBeElided } from './other' +>shouldLookupName : Symbol(shouldLookupName, Decl(index.d.ts, 1, 8)) +>reuseDepName : Symbol(reuseDepName, Decl(index.d.ts, 1, 26)) +>shouldReuseLocalName : Symbol(shouldReuseLocalName, Decl(index.d.ts, 1, 40)) +>shouldBeElided : Symbol(shouldBeElided, Decl(index.d.ts, 1, 62)) + +export declare const goodDeclaration: () => () => { +>goodDeclaration : Symbol(goodDeclaration, Decl(index.d.ts, 2, 20)) +>T : Symbol(T, Decl(index.d.ts, 2, 39)) + + /** Other Can't be named in index.ts, but the whole conditional type can be resolved */ + shouldPrintResult: T extends Other? "O": "N", +>shouldPrintResult : Symbol(shouldPrintResult, Decl(index.d.ts, 2, 54)) +>T : Symbol(T, Decl(index.d.ts, 2, 39)) +>Other : Symbol(Other, Decl(index.d.ts, 0, 8)) + + /** Symbol shouldBeElided should not be present in index.d.ts, it might be since it's tracked before Other is seen and an error reported */ + shouldPrintResult2: T extends typeof shouldBeElided? Other: "N", +>shouldPrintResult2 : Symbol(shouldPrintResult2, Decl(index.d.ts, 4, 47)) +>T : Symbol(T, Decl(index.d.ts, 2, 39)) +>shouldBeElided : Symbol(shouldBeElided, Decl(index.d.ts, 1, 62)) +>Other : Symbol(Other, Decl(index.d.ts, 0, 8)) + + /** Specifier should come from module, local path should not be reused */ + shouldLookupName: typeof import('./other').shouldLookupName, +>shouldLookupName : Symbol(shouldLookupName, Decl(index.d.ts, 6, 66)) +>shouldLookupName : Symbol(shouldLookupName, Decl(other.d.ts, 0, 20)) + + /** This is imported in index so local name should be reused */ + shouldReuseLocalName: typeof shouldReuseLocalName +>shouldReuseLocalName : Symbol(shouldReuseLocalName, Decl(index.d.ts, 8, 62)) +>shouldReuseLocalName : Symbol(shouldReuseLocalName, Decl(index.d.ts, 1, 40)) + + /** This is NOT imported in index so import should be created */ + reuseDepName: typeof reuseDepName, +>reuseDepName : Symbol(reuseDepName, Decl(index.d.ts, 10, 51)) +>reuseDepName : Symbol(reuseDepName, Decl(index.d.ts, 1, 26)) +} +export { shouldLookupName, shouldReuseLocalName, reuseDepName, shouldBeElided }; +>shouldLookupName : Symbol(shouldLookupName, Decl(index.d.ts, 14, 8)) +>shouldReuseLocalName : Symbol(shouldReuseLocalName, Decl(index.d.ts, 14, 26)) +>reuseDepName : Symbol(reuseDepName, Decl(index.d.ts, 14, 48)) +>shouldBeElided : Symbol(shouldBeElided, Decl(index.d.ts, 14, 62)) + +=== src/index.ts === +import { goodDeclaration, shouldReuseLocalName, shouldBeElided } from "some-dep"; +>goodDeclaration : Symbol(goodDeclaration, Decl(index.ts, 0, 8)) +>shouldReuseLocalName : Symbol(shouldReuseLocalName, Decl(index.ts, 0, 25)) +>shouldBeElided : Symbol(shouldBeElided, Decl(index.ts, 0, 47)) + +export const bar = goodDeclaration<{}>; +>bar : Symbol(bar, Decl(index.ts, 1, 12)) +>goodDeclaration : Symbol(goodDeclaration, Decl(index.ts, 0, 8)) + + diff --git a/tests/baselines/reference/declarationEmitUsingTypeAlias2.types b/tests/baselines/reference/declarationEmitUsingTypeAlias2.types new file mode 100644 index 0000000000000..fec54d38ef751 --- /dev/null +++ b/tests/baselines/reference/declarationEmitUsingTypeAlias2.types @@ -0,0 +1,115 @@ +//// [tests/cases/compiler/declarationEmitUsingTypeAlias2.ts] //// + +=== node_modules/some-dep/dist/inner.d.ts === +export declare type Other = { other: string }; +>Other : Other +> : ^^^^^ +>other : string +> : ^^^^^^ + +export declare type SomeType = { arg: Other }; +>SomeType : SomeType +> : ^^^^^^^^ +>arg : Other +> : ^^^^^ + +=== node_modules/some-dep/dist/other.d.ts === +export declare const shouldLookupName: unique symbol; +>shouldLookupName : unique symbol +> : ^^^^^^^^^^^^^ + +export declare const shouldReuseLocalName: unique symbol; +>shouldReuseLocalName : unique symbol +> : ^^^^^^^^^^^^^ + +export declare const reuseDepName: unique symbol; +>reuseDepName : unique symbol +> : ^^^^^^^^^^^^^ + +export declare const shouldBeElided: unique symbol; +>shouldBeElided : unique symbol +> : ^^^^^^^^^^^^^ + +export declare const isNotAccessibleShouldError: unique symbol; +>isNotAccessibleShouldError : unique symbol +> : ^^^^^^^^^^^^^ + +=== node_modules/some-dep/dist/index.d.ts === +import { Other } from './inner' +>Other : any +> : ^^^ + +import { shouldLookupName, reuseDepName, shouldReuseLocalName, shouldBeElided } from './other' +>shouldLookupName : unique symbol +> : ^^^^^^^^^^^^^ +>reuseDepName : unique symbol +> : ^^^^^^^^^^^^^ +>shouldReuseLocalName : unique symbol +> : ^^^^^^^^^^^^^ +>shouldBeElided : unique symbol +> : ^^^^^^^^^^^^^ + +export declare const goodDeclaration: () => () => { +>goodDeclaration : () => () => { shouldPrintResult: T extends Other ? "O" : "N"; shouldPrintResult2: T extends typeof shouldBeElided ? Other : "N"; shouldLookupName: typeof import("./other").shouldLookupName; shouldReuseLocalName: typeof shouldReuseLocalName; reuseDepName: typeof reuseDepName; } +> : ^ ^^^^^^^ + + /** Other Can't be named in index.ts, but the whole conditional type can be resolved */ + shouldPrintResult: T extends Other? "O": "N", +>shouldPrintResult : T extends Other ? "O" : "N" +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + /** Symbol shouldBeElided should not be present in index.d.ts, it might be since it's tracked before Other is seen and an error reported */ + shouldPrintResult2: T extends typeof shouldBeElided? Other: "N", +>shouldPrintResult2 : T extends unique symbol ? Other : "N" +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>shouldBeElided : unique symbol +> : ^^^^^^^^^^^^^ + + /** Specifier should come from module, local path should not be reused */ + shouldLookupName: typeof import('./other').shouldLookupName, +>shouldLookupName : unique symbol +> : ^^^^^^^^^^^^^ +>shouldLookupName : error + + /** This is imported in index so local name should be reused */ + shouldReuseLocalName: typeof shouldReuseLocalName +>shouldReuseLocalName : unique symbol +> : ^^^^^^^^^^^^^ +>shouldReuseLocalName : unique symbol +> : ^^^^^^^^^^^^^ + + /** This is NOT imported in index so import should be created */ + reuseDepName: typeof reuseDepName, +>reuseDepName : unique symbol +> : ^^^^^^^^^^^^^ +>reuseDepName : unique symbol +> : ^^^^^^^^^^^^^ +} +export { shouldLookupName, shouldReuseLocalName, reuseDepName, shouldBeElided }; +>shouldLookupName : unique symbol +> : ^^^^^^^^^^^^^ +>shouldReuseLocalName : unique symbol +> : ^^^^^^^^^^^^^ +>reuseDepName : unique symbol +> : ^^^^^^^^^^^^^ +>shouldBeElided : unique symbol +> : ^^^^^^^^^^^^^ + +=== src/index.ts === +import { goodDeclaration, shouldReuseLocalName, shouldBeElided } from "some-dep"; +>goodDeclaration : () => () => { shouldPrintResult: T extends import("node_modules/some-dep/dist/inner").Other ? "O" : "N"; shouldPrintResult2: T extends typeof shouldBeElided ? import("node_modules/some-dep/dist/inner").Other : "N"; shouldLookupName: typeof import("node_modules/some-dep/dist/other").shouldLookupName; shouldReuseLocalName: typeof shouldReuseLocalName; reuseDepName: typeof import("node_modules/some-dep/dist/other").reuseDepName; } +> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ +>shouldReuseLocalName : unique symbol +> : ^^^^^^^^^^^^^ +>shouldBeElided : unique symbol +> : ^^^^^^^^^^^^^ + +export const bar = goodDeclaration<{}>; +>bar : () => () => { shouldPrintResult: {} extends import("node_modules/some-dep/dist/inner").Other ? "O" : "N"; shouldPrintResult2: {} extends typeof shouldBeElided ? import("node_modules/some-dep/dist/inner").Other : "N"; shouldLookupName: typeof import("node_modules/some-dep/dist/other").shouldLookupName; shouldReuseLocalName: typeof shouldReuseLocalName; reuseDepName: typeof import("node_modules/some-dep/dist/other").reuseDepName; } +> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ +>goodDeclaration<{}> : () => () => { shouldPrintResult: {} extends import("node_modules/some-dep/dist/inner").Other ? "O" : "N"; shouldPrintResult2: {} extends typeof shouldBeElided ? import("node_modules/some-dep/dist/inner").Other : "N"; shouldLookupName: typeof import("node_modules/some-dep/dist/other").shouldLookupName; shouldReuseLocalName: typeof shouldReuseLocalName; reuseDepName: typeof import("node_modules/some-dep/dist/other").reuseDepName; } +> : ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ +>goodDeclaration : () => () => { shouldPrintResult: T extends import("node_modules/some-dep/dist/inner").Other ? "O" : "N"; shouldPrintResult2: T extends typeof shouldBeElided ? import("node_modules/some-dep/dist/inner").Other : "N"; shouldLookupName: typeof import("node_modules/some-dep/dist/other").shouldLookupName; shouldReuseLocalName: typeof shouldReuseLocalName; reuseDepName: typeof import("node_modules/some-dep/dist/other").reuseDepName; } +> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ + + diff --git a/tests/baselines/reference/declarationEmitVarInElidedBlock.errors.txt b/tests/baselines/reference/declarationEmitVarInElidedBlock.errors.txt new file mode 100644 index 0000000000000..28fae144d2d83 --- /dev/null +++ b/tests/baselines/reference/declarationEmitVarInElidedBlock.errors.txt @@ -0,0 +1,10 @@ +declarationEmitVarInElidedBlock.ts(4,22): error TS4025: Exported variable 'b' has or is using private name 'a'. + + +==== declarationEmitVarInElidedBlock.ts (1 errors) ==== + { + var a = ""; + } + export let b: typeof a; + ~ +!!! error TS4025: Exported variable 'b' has or is using private name 'a'. \ No newline at end of file diff --git a/tests/baselines/reference/declarationEmitVarInElidedBlock.symbols b/tests/baselines/reference/declarationEmitVarInElidedBlock.symbols new file mode 100644 index 0000000000000..c8566c47cb6de --- /dev/null +++ b/tests/baselines/reference/declarationEmitVarInElidedBlock.symbols @@ -0,0 +1,11 @@ +//// [tests/cases/compiler/declarationEmitVarInElidedBlock.ts] //// + +=== declarationEmitVarInElidedBlock.ts === +{ + var a = ""; +>a : Symbol(a, Decl(declarationEmitVarInElidedBlock.ts, 1, 7)) +} +export let b: typeof a; +>b : Symbol(b, Decl(declarationEmitVarInElidedBlock.ts, 3, 10)) +>a : Symbol(a, Decl(declarationEmitVarInElidedBlock.ts, 1, 7)) + diff --git a/tests/baselines/reference/declarationEmitVarInElidedBlock.types b/tests/baselines/reference/declarationEmitVarInElidedBlock.types new file mode 100644 index 0000000000000..b814ae55601c9 --- /dev/null +++ b/tests/baselines/reference/declarationEmitVarInElidedBlock.types @@ -0,0 +1,16 @@ +//// [tests/cases/compiler/declarationEmitVarInElidedBlock.ts] //// + +=== declarationEmitVarInElidedBlock.ts === +{ + var a = ""; +>a : string +> : ^^^^^^ +>"" : "" +> : ^^ +} +export let b: typeof a; +>b : string +> : ^^^^^^ +>a : string +> : ^^^^^^ + diff --git a/tests/baselines/reference/declarationEmitWithDefaultAsComputedName.types b/tests/baselines/reference/declarationEmitWithDefaultAsComputedName.types index ec874e8474bf7..713456f1a3fd9 100644 --- a/tests/baselines/reference/declarationEmitWithDefaultAsComputedName.types +++ b/tests/baselines/reference/declarationEmitWithDefaultAsComputedName.types @@ -12,7 +12,7 @@ type Experiment = { }; declare const createExperiment: ( >createExperiment : (options: Experiment) => Experiment -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ options: Experiment >options : Experiment @@ -23,7 +23,7 @@ export default createExperiment({ >createExperiment({ name: "foo"}) : Experiment<"foo"> > : ^^^^^^^^^^^^^^^^^ >createExperiment : (options: Experiment) => Experiment -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ name: "foo"} : { name: "foo"; } > : ^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/declarationEmitWithDefaultAsComputedName2.types b/tests/baselines/reference/declarationEmitWithDefaultAsComputedName2.types index 6b4c2abb687a2..e5fff80e18a55 100644 --- a/tests/baselines/reference/declarationEmitWithDefaultAsComputedName2.types +++ b/tests/baselines/reference/declarationEmitWithDefaultAsComputedName2.types @@ -12,7 +12,7 @@ type Experiment = { }; declare const createExperiment: ( >createExperiment : (options: Experiment) => Experiment -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ options: Experiment >options : Experiment @@ -23,7 +23,7 @@ export default createExperiment({ >createExperiment({ name: "foo"}) : Experiment<"foo"> > : ^^^^^^^^^^^^^^^^^ >createExperiment : (options: Experiment) => Experiment -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ name: "foo"} : { name: "foo"; } > : ^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/declarationEmitWithInvalidPackageJsonTypings.types b/tests/baselines/reference/declarationEmitWithInvalidPackageJsonTypings.types index 440bef4b41f20..d9f592e783a0b 100644 --- a/tests/baselines/reference/declarationEmitWithInvalidPackageJsonTypings.types +++ b/tests/baselines/reference/declarationEmitWithInvalidPackageJsonTypings.types @@ -35,7 +35,7 @@ export const useCsvParser = () => { >useRef(null) : MutableRefObject > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >useRef : (current: T) => MutableRefObject -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ return parserRef; >parserRef : MutableRefObject diff --git a/tests/baselines/reference/declarationFileForHtmlFileWithinDeclarationFile.types b/tests/baselines/reference/declarationFileForHtmlFileWithinDeclarationFile.types index 52ab798ec289f..06476601d6610 100644 --- a/tests/baselines/reference/declarationFileForHtmlFileWithinDeclarationFile.types +++ b/tests/baselines/reference/declarationFileForHtmlFileWithinDeclarationFile.types @@ -42,7 +42,7 @@ window.customElements.define("my-html5-element", mod.HTML5Element); >window.customElements.define("my-html5-element", mod.HTML5Element) : void > : ^^^^ >window.customElements.define : (name: string, constructor: CustomElementConstructor, options?: ElementDefinitionOptions) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >window.customElements : CustomElementRegistry > : ^^^^^^^^^^^^^^^^^^^^^ >window : Window & typeof globalThis @@ -50,7 +50,7 @@ window.customElements.define("my-html5-element", mod.HTML5Element); >customElements : CustomElementRegistry > : ^^^^^^^^^^^^^^^^^^^^^ >define : (name: string, constructor: CustomElementConstructor, options?: ElementDefinitionOptions) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >"my-html5-element" : "my-html5-element" > : ^^^^^^^^^^^^^^^^^^ >mod.HTML5Element : typeof mod.HTML5Element @@ -76,7 +76,7 @@ if (document !== mod.default) { >document.body.appendChild(mod.blogPost) : Element > : ^^^^^^^ >document.body.appendChild : (node: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >document.body : HTMLElement > : ^^^^^^^^^^^ >document : Document @@ -84,7 +84,7 @@ if (document !== mod.default) { >body : HTMLElement > : ^^^^^^^^^^^ >appendChild : (node: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >mod.blogPost : Element > : ^^^^^^^ >mod : typeof mod diff --git a/tests/baselines/reference/declarationFileForHtmlImport(allowarbitraryextensions=false).types b/tests/baselines/reference/declarationFileForHtmlImport(allowarbitraryextensions=false).types index ed8b6a5758721..5a933b6486042 100644 --- a/tests/baselines/reference/declarationFileForHtmlImport(allowarbitraryextensions=false).types +++ b/tests/baselines/reference/declarationFileForHtmlImport(allowarbitraryextensions=false).types @@ -37,7 +37,7 @@ window.customElements.define("my-html5-element", mod.HTML5Element); >window.customElements.define("my-html5-element", mod.HTML5Element) : void > : ^^^^ >window.customElements.define : (name: string, constructor: CustomElementConstructor, options?: ElementDefinitionOptions) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >window.customElements : CustomElementRegistry > : ^^^^^^^^^^^^^^^^^^^^^ >window : Window & typeof globalThis @@ -45,7 +45,7 @@ window.customElements.define("my-html5-element", mod.HTML5Element); >customElements : CustomElementRegistry > : ^^^^^^^^^^^^^^^^^^^^^ >define : (name: string, constructor: CustomElementConstructor, options?: ElementDefinitionOptions) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >"my-html5-element" : "my-html5-element" > : ^^^^^^^^^^^^^^^^^^ >mod.HTML5Element : any @@ -71,7 +71,7 @@ if (document !== mod.default) { >document.body.appendChild(mod.blogPost) : any > : ^^^ >document.body.appendChild : (node: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >document.body : HTMLElement > : ^^^^^^^^^^^ >document : Document @@ -79,7 +79,7 @@ if (document !== mod.default) { >body : HTMLElement > : ^^^^^^^^^^^ >appendChild : (node: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >mod.blogPost : any > : ^^^ >mod : any diff --git a/tests/baselines/reference/declarationFileForHtmlImport(allowarbitraryextensions=true).types b/tests/baselines/reference/declarationFileForHtmlImport(allowarbitraryextensions=true).types index 87e8bc2254c98..f4b3ed62e8924 100644 --- a/tests/baselines/reference/declarationFileForHtmlImport(allowarbitraryextensions=true).types +++ b/tests/baselines/reference/declarationFileForHtmlImport(allowarbitraryextensions=true).types @@ -37,7 +37,7 @@ window.customElements.define("my-html5-element", mod.HTML5Element); >window.customElements.define("my-html5-element", mod.HTML5Element) : void > : ^^^^ >window.customElements.define : (name: string, constructor: CustomElementConstructor, options?: ElementDefinitionOptions) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >window.customElements : CustomElementRegistry > : ^^^^^^^^^^^^^^^^^^^^^ >window : Window & typeof globalThis @@ -45,7 +45,7 @@ window.customElements.define("my-html5-element", mod.HTML5Element); >customElements : CustomElementRegistry > : ^^^^^^^^^^^^^^^^^^^^^ >define : (name: string, constructor: CustomElementConstructor, options?: ElementDefinitionOptions) => void -> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >"my-html5-element" : "my-html5-element" > : ^^^^^^^^^^^^^^^^^^ >mod.HTML5Element : typeof mod.HTML5Element @@ -71,7 +71,7 @@ if (document !== mod.default) { >document.body.appendChild(mod.blogPost) : Element > : ^^^^^^^ >document.body.appendChild : (node: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >document.body : HTMLElement > : ^^^^^^^^^^^ >document : Document @@ -79,7 +79,7 @@ if (document !== mod.default) { >body : HTMLElement > : ^^^^^^^^^^^ >appendChild : (node: T) => T -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >mod.blogPost : Element > : ^^^^^^^ >mod : typeof mod diff --git a/tests/baselines/reference/declarationFileNoCrashOnExtraExportModifier.errors.txt b/tests/baselines/reference/declarationFileNoCrashOnExtraExportModifier.errors.txt index e08187f61736c..d6e8ea7b47c57 100644 --- a/tests/baselines/reference/declarationFileNoCrashOnExtraExportModifier.errors.txt +++ b/tests/baselines/reference/declarationFileNoCrashOnExtraExportModifier.errors.txt @@ -1,8 +1,9 @@ input.ts(1,1): error TS2309: An export assignment cannot be used in a module with other exported elements. -input.ts(6,14): error TS2323: Cannot redeclare exported variable 'Sub'. +input.ts(6,14): error TS2300: Duplicate identifier 'Sub'. +input.ts(12,14): error TS2300: Duplicate identifier 'Sub'. -==== input.ts (2 errors) ==== +==== input.ts (3 errors) ==== export = exports; ~~~~~~~~~~~~~~~~~ !!! error TS2309: An export assignment cannot be used in a module with other exported elements. @@ -12,11 +13,15 @@ input.ts(6,14): error TS2323: Cannot redeclare exported variable 'Sub'. } export class Sub { ~~~ -!!! error TS2323: Cannot redeclare exported variable 'Sub'. +!!! error TS2300: Duplicate identifier 'Sub'. +!!! related TS6203 input.ts:12:14: 'Sub' was also declared here. instance!: { t: number; }; } declare namespace exports { export { Sub }; + ~~~ +!!! error TS2300: Duplicate identifier 'Sub'. +!!! related TS6203 input.ts:6:14: 'Sub' was also declared here. } \ No newline at end of file diff --git a/tests/baselines/reference/declarationFileNoCrashOnExtraExportModifier.symbols b/tests/baselines/reference/declarationFileNoCrashOnExtraExportModifier.symbols index 41d764f97528f..6f90cca89eb78 100644 --- a/tests/baselines/reference/declarationFileNoCrashOnExtraExportModifier.symbols +++ b/tests/baselines/reference/declarationFileNoCrashOnExtraExportModifier.symbols @@ -14,7 +14,7 @@ declare class exports { >t : Symbol(exports.t, Decl(input.ts, 2, 27)) } export class Sub { ->Sub : Symbol(Sub, Decl(input.ts, 4, 1), Decl(input.ts, 4, 1)) +>Sub : Symbol(Sub, Decl(input.ts, 4, 1)) instance!: { >instance : Symbol(Sub.instance, Decl(input.ts, 5, 18)) diff --git a/tests/baselines/reference/declarationFileNoCrashOnExtraExportModifier.types b/tests/baselines/reference/declarationFileNoCrashOnExtraExportModifier.types index 1432e9c42dd80..561f76d04a69e 100644 --- a/tests/baselines/reference/declarationFileNoCrashOnExtraExportModifier.types +++ b/tests/baselines/reference/declarationFileNoCrashOnExtraExportModifier.types @@ -36,6 +36,6 @@ declare namespace exports { > : ^^^^^^^^^^^^^^ export { Sub }; ->Sub : typeof import("input").Sub -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Sub : typeof Sub +> : ^^^^^^^^^^ } diff --git a/tests/baselines/reference/declarationFilesForNodeNativeModules(allowarbitraryextensions=true).types b/tests/baselines/reference/declarationFilesForNodeNativeModules(allowarbitraryextensions=true).types index 35e17b1248a57..15f33fb70a207 100644 --- a/tests/baselines/reference/declarationFilesForNodeNativeModules(allowarbitraryextensions=true).types +++ b/tests/baselines/reference/declarationFilesForNodeNativeModules(allowarbitraryextensions=true).types @@ -9,11 +9,11 @@ mod.doNativeThing("good"); >mod.doNativeThing("good") : unknown > : ^^^^^^^ >mod.doNativeThing : (flag: string) => unknown -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >mod : typeof mod > : ^^^^^^^^^^ >doNativeThing : (flag: string) => unknown -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"good" : "good" > : ^^^^^^ diff --git a/tests/baselines/reference/declarationFunctionTypeNonlocalShouldNotBeAnError.types b/tests/baselines/reference/declarationFunctionTypeNonlocalShouldNotBeAnError.types index f1a4fa538e3f2..1b40a0f7c079e 100644 --- a/tests/baselines/reference/declarationFunctionTypeNonlocalShouldNotBeAnError.types +++ b/tests/baselines/reference/declarationFunctionTypeNonlocalShouldNotBeAnError.types @@ -11,13 +11,13 @@ namespace foo { export const obj = { >obj : { bar: () => void; } -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^ >{ bar } : { bar: () => void; } -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^ ^^^ bar >bar : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ } } diff --git a/tests/baselines/reference/declarationMaps.types b/tests/baselines/reference/declarationMaps.types index 60cd1de5382e9..dd9f1dd9a8218 100644 --- a/tests/baselines/reference/declarationMaps.types +++ b/tests/baselines/reference/declarationMaps.types @@ -48,5 +48,5 @@ var m2: { export = m2; >m2 : { (): m2.connectExport; test1: m2.connectModule; test2(): m2.connectModule; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^ ^^^ diff --git a/tests/baselines/reference/declarationMapsMultifile.types b/tests/baselines/reference/declarationMapsMultifile.types index 71f80c13e7764..a39bd25e00833 100644 --- a/tests/baselines/reference/declarationMapsMultifile.types +++ b/tests/baselines/reference/declarationMapsMultifile.types @@ -21,7 +21,7 @@ export class Foo { >x.a : number > : ^^^^^^ >x : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : number > : ^^^^^^ } diff --git a/tests/baselines/reference/declarationMapsOutFile.types b/tests/baselines/reference/declarationMapsOutFile.types index 1026486d4609b..b34dd93d14aa9 100644 --- a/tests/baselines/reference/declarationMapsOutFile.types +++ b/tests/baselines/reference/declarationMapsOutFile.types @@ -21,7 +21,7 @@ export class Foo { >x.a : number > : ^^^^^^ >x : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : number > : ^^^^^^ } diff --git a/tests/baselines/reference/declarationMapsOutFile2.types b/tests/baselines/reference/declarationMapsOutFile2.types index 4728f0841c008..5f3a5e48afae5 100644 --- a/tests/baselines/reference/declarationMapsOutFile2.types +++ b/tests/baselines/reference/declarationMapsOutFile2.types @@ -21,7 +21,7 @@ class Foo { >x.a : number > : ^^^^^^ >x : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : number > : ^^^^^^ } diff --git a/tests/baselines/reference/declarationMapsWithSourceMap.types b/tests/baselines/reference/declarationMapsWithSourceMap.types index c79fb70ce23f9..84a472e3bba8c 100644 --- a/tests/baselines/reference/declarationMapsWithSourceMap.types +++ b/tests/baselines/reference/declarationMapsWithSourceMap.types @@ -21,7 +21,7 @@ class Foo { >x.a : number > : ^^^^^^ >x : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >a : number > : ^^^^^^ } diff --git a/tests/baselines/reference/declarationMapsWithoutDeclaration.types b/tests/baselines/reference/declarationMapsWithoutDeclaration.types index 00de0349eb927..831691bf3ff9e 100644 --- a/tests/baselines/reference/declarationMapsWithoutDeclaration.types +++ b/tests/baselines/reference/declarationMapsWithoutDeclaration.types @@ -51,5 +51,5 @@ var m2: { export = m2; >m2 : { (): m2.connectExport; test1: m2.connectModule; test2(): m2.connectModule; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^ ^^^ diff --git a/tests/baselines/reference/declarationNoDanglingGenerics.types b/tests/baselines/reference/declarationNoDanglingGenerics.types index 83801031dfdba..b20ac4840400d 100644 --- a/tests/baselines/reference/declarationNoDanglingGenerics.types +++ b/tests/baselines/reference/declarationNoDanglingGenerics.types @@ -48,15 +48,15 @@ function register(kind: string): void | never { function ClassFactory(kind: TKind) { >ClassFactory : (kind: TKind) => typeof (Anonymous class) -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >kind : TKind > : ^^^^^ register(kind); >register(kind) : void > : ^^^^ ->register : (kind: string) => void -> : ^ ^^ ^^^^^^^^^ +>register : (kind: string) => void | never +> : ^ ^^ ^^^^^ >kind : TKind > : ^^^^^ @@ -108,7 +108,7 @@ export class AKind extends ClassFactory(Kinds.A) { >ClassFactory(Kinds.A) : ClassFactory<"A">.(Anonymous class) > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >ClassFactory : (kind: TKind) => typeof (Anonymous class) -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Kinds.A : "A" > : ^^^ >Kinds : typeof Kinds @@ -123,7 +123,7 @@ export class BKind extends ClassFactory(Kinds.B) { >ClassFactory(Kinds.B) : ClassFactory<"B">.(Anonymous class) > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >ClassFactory : (kind: TKind) => typeof (Anonymous class) -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Kinds.B : "B" > : ^^^ >Kinds : typeof Kinds @@ -138,7 +138,7 @@ export class CKind extends ClassFactory(Kinds.C) { >ClassFactory(Kinds.C) : ClassFactory<"C">.(Anonymous class) > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >ClassFactory : (kind: TKind) => typeof (Anonymous class) -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Kinds.C : "C" > : ^^^ >Kinds : typeof Kinds diff --git a/tests/baselines/reference/declarationsForIndirectTypeAliasReference.js b/tests/baselines/reference/declarationsForIndirectTypeAliasReference.js index e356338cf14dc..e16e1dc35efcb 100644 --- a/tests/baselines/reference/declarationsForIndirectTypeAliasReference.js +++ b/tests/baselines/reference/declarationsForIndirectTypeAliasReference.js @@ -39,7 +39,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); //// [a.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.doSome = void 0; +exports.doSome = doSome; var MAP = { a: "a" }; diff --git a/tests/baselines/reference/declarationsForInferredTypeFromOtherFile.types b/tests/baselines/reference/declarationsForInferredTypeFromOtherFile.types index a84a0a2932e88..de0516d691169 100644 --- a/tests/baselines/reference/declarationsForInferredTypeFromOtherFile.types +++ b/tests/baselines/reference/declarationsForInferredTypeFromOtherFile.types @@ -16,7 +16,7 @@ export function foo(): import("./file1").Foo { === file3.ts === import {foo} from "./file2"; >foo : () => import("file1").Foo -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ export function bar() { >bar : () => import("file1").Foo @@ -26,6 +26,6 @@ export function bar() { >foo() : import("file1").Foo > : ^^^^^^^^^^^^^^^^^^^ >foo : () => import("file1").Foo -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/declarationsIndirectGeneratedAliasReference.types b/tests/baselines/reference/declarationsIndirectGeneratedAliasReference.types index 6ff94b36aa85d..8b6dcc6e55af3 100644 --- a/tests/baselines/reference/declarationsIndirectGeneratedAliasReference.types +++ b/tests/baselines/reference/declarationsIndirectGeneratedAliasReference.types @@ -55,11 +55,11 @@ export const MyComp = Ctor.extends({foo: "bar"}); >Ctor.extends({foo: "bar"}) : import("node_modules/mod/ctor").ExtendedCtor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Ctor.extends : (x: T) => import("node_modules/mod/ctor").ExtendedCtor -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >Ctor : import("node_modules/mod/ctor").CtorConstructor > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >extends : (x: T) => import("node_modules/mod/ctor").ExtendedCtor -> : ^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >{foo: "bar"} : { foo: string; } > : ^^^^^^^^^^^^^^^^ >foo : string diff --git a/tests/baselines/reference/declarationsWithRecursiveInternalTypesProduceUniqueTypeParams.types b/tests/baselines/reference/declarationsWithRecursiveInternalTypesProduceUniqueTypeParams.types index c092dac396a92..b1aba02b87ac6 100644 --- a/tests/baselines/reference/declarationsWithRecursiveInternalTypesProduceUniqueTypeParams.types +++ b/tests/baselines/reference/declarationsWithRecursiveInternalTypesProduceUniqueTypeParams.types @@ -1,5 +1,8 @@ //// [tests/cases/compiler/declarationsWithRecursiveInternalTypesProduceUniqueTypeParams.ts] //// +=== Performance Stats === +Instantiation count: 500 -> 2,500 + === declarationsWithRecursiveInternalTypesProduceUniqueTypeParams.ts === // Note that both of the following have an `any` in their return type from where we bottom out the type printout // for having too many instances of the same symbol nesting. @@ -22,10 +25,10 @@ export const updateIfChanged = (t: T) => { > : ^ const reduce = (u: U, update: (u: U) => T) => { ->reduce : (u: U, update: (u: U) => T) => ((key: K) => (>(key: K_1) => (>>(key: K_2) => (>>>(key: K_3) => (>>>>(key: K_4) => (>>>>>(key: K_5) => (>>>>>>(key: K_6) => (>>>>>>>(key: K_7) => (>>>>>>>>(key: K_8) => (>>>>>>>>>(key: K_9) => (>>>>>>>>>>(key: K_10) => any & { map: (updater: (u: Value>>>>>>>>>>) => Value>>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>>) => Value>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>) => Value>>>>>>>>) => T; set: (newU: Value>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>) => Value>>>>>>>) => T; set: (newU: Value>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>) => Value>>>>>>) => T; set: (newU: Value>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>) => Value>>>>>) => T; set: (newU: Value>>>>>) => T; }) & { map: (updater: (u: Value>>>>) => Value>>>>) => T; set: (newU: Value>>>>) => T; }) & { map: (updater: (u: Value>>>) => Value>>>) => T; set: (newU: Value>>>) => T; }) & { map: (updater: (u: Value>>) => Value>>) => T; set: (newU: Value>>) => T; }) & { map: (updater: (u: Value>) => Value>) => T; set: (newU: Value>) => T; }) & { map: (updater: (u: Value) => Value) => T; set: (newU: Value) => T; }) & { map: (updater: (u: U) => U) => T; set: (newU: U) => T; } -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ->(u: U, update: (u: U) => T) => { const set = (newU: U) => Object.is(u, newU) ? t : update(newU); return Object.assign( >(key: K) => reduce>(u[key as keyof U] as Value, (v: Value) => { return update(Object.assign(Array.isArray(u) ? [] : {}, u, { [key]: v })); }), { map: (updater: (u: U) => U) => set(updater(u)), set }); } : (u: U, update: (u: U) => T) => ((key: K) => (>(key: K_1) => (>>(key: K_2) => (>>>(key: K_3) => (>>>>(key: K_4) => (>>>>>(key: K_5) => (>>>>>>(key: K_6) => (>>>>>>>(key: K_7) => (>>>>>>>>(key: K_8) => (>>>>>>>>>(key: K_9) => (>>>>>>>>>>(key: K_10) => any & { map: (updater: (u: Value>>>>>>>>>>) => Value>>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>>) => Value>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>) => Value>>>>>>>>) => T; set: (newU: Value>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>) => Value>>>>>>>) => T; set: (newU: Value>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>) => Value>>>>>>) => T; set: (newU: Value>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>) => Value>>>>>) => T; set: (newU: Value>>>>>) => T; }) & { map: (updater: (u: Value>>>>) => Value>>>>) => T; set: (newU: Value>>>>) => T; }) & { map: (updater: (u: Value>>>) => Value>>>) => T; set: (newU: Value>>>) => T; }) & { map: (updater: (u: Value>>) => Value>>) => T; set: (newU: Value>>) => T; }) & { map: (updater: (u: Value>) => Value>) => T; set: (newU: Value>) => T; }) & { map: (updater: (u: Value) => Value) => T; set: (newU: Value) => T; }) & { map: (updater: (u: U) => U) => T; set: (newU: U) => T; } -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>reduce : (u: U, update: (u: U) => T) => (>(key: K) => (>(key: K_1) => (>>(key: K_2) => (>>>(key: K_3) => (>>>>(key: K_4) => (>>>>>(key: K_5) => (>>>>>>(key: K_6) => (>>>>>>>(key: K_7) => (>>>>>>>>(key: K_8) => (>>>>>>>>>(key: K_9) => (>>>>>>>>>>(key: K_10) => any & { map: (updater: (u: Value>>>>>>>>>>) => Value>>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>>) => Value>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>) => Value>>>>>>>>) => T; set: (newU: Value>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>) => Value>>>>>>>) => T; set: (newU: Value>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>) => Value>>>>>>) => T; set: (newU: Value>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>) => Value>>>>>) => T; set: (newU: Value>>>>>) => T; }) & { map: (updater: (u: Value>>>>) => Value>>>>) => T; set: (newU: Value>>>>) => T; }) & { map: (updater: (u: Value>>>) => Value>>>) => T; set: (newU: Value>>>) => T; }) & { map: (updater: (u: Value>>) => Value>>) => T; set: (newU: Value>>) => T; }) & { map: (updater: (u: Value>) => Value>) => T; set: (newU: Value>) => T; }) & { map: (updater: (u: Value) => Value) => T; set: (newU: Value) => T; }) & { map: (updater: (u: U) => U) => T; set: (newU: U) => T; } +> : ^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>(u: U, update: (u: U) => T) => { const set = (newU: U) => Object.is(u, newU) ? t : update(newU); return Object.assign( >(key: K) => reduce>(u[key as keyof U] as Value, (v: Value) => { return update(Object.assign(Array.isArray(u) ? [] : {}, u, { [key]: v })); }), { map: (updater: (u: U) => U) => set(updater(u)), set }); } : (u: U, update: (u: U) => T) => (>(key: K) => (>(key: K_1) => (>>(key: K_2) => (>>>(key: K_3) => (>>>>(key: K_4) => (>>>>>(key: K_5) => (>>>>>>(key: K_6) => (>>>>>>>(key: K_7) => (>>>>>>>>(key: K_8) => (>>>>>>>>>(key: K_9) => (>>>>>>>>>>(key: K_10) => any & { map: (updater: (u: Value>>>>>>>>>>) => Value>>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>>) => Value>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>) => Value>>>>>>>>) => T; set: (newU: Value>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>) => Value>>>>>>>) => T; set: (newU: Value>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>) => Value>>>>>>) => T; set: (newU: Value>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>) => Value>>>>>) => T; set: (newU: Value>>>>>) => T; }) & { map: (updater: (u: Value>>>>) => Value>>>>) => T; set: (newU: Value>>>>) => T; }) & { map: (updater: (u: Value>>>) => Value>>>) => T; set: (newU: Value>>>) => T; }) & { map: (updater: (u: Value>>) => Value>>) => T; set: (newU: Value>>) => T; }) & { map: (updater: (u: Value>) => Value>) => T; set: (newU: Value>) => T; }) & { map: (updater: (u: Value) => Value) => T; set: (newU: Value) => T; }) & { map: (updater: (u: U) => U) => T; set: (newU: U) => T; } +> : ^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ >u : U > : ^ >update : (u: U) => T @@ -45,11 +48,11 @@ export const updateIfChanged = (t: T) => { >Object.is(u, newU) : boolean > : ^^^^^^^ >Object.is : (value1: any, value2: any) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >is : (value1: any, value2: any) => boolean -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >u : U > : ^ >newU : U @@ -59,31 +62,31 @@ export const updateIfChanged = (t: T) => { >update(newU) : T > : ^ >update : (u: U) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >newU : U > : ^ return Object.assign( ->Object.assign( >(key: K) => reduce>(u[key as keyof U] as Value, (v: Value) => { return update(Object.assign(Array.isArray(u) ? [] : {}, u, { [key]: v })); }), { map: (updater: (u: U) => U) => set(updater(u)), set }) : ((key: K) => (>(key: K_1) => (>>(key: K_2) => (>>>(key: K_3) => (>>>>(key: K_4) => (>>>>>(key: K_5) => (>>>>>>(key: K_6) => (>>>>>>>(key: K_7) => (>>>>>>>>(key: K_8) => (>>>>>>>>>(key: K_9) => (>>>>>>>>>>(key: K_10) => any & { map: (updater: (u: Value>>>>>>>>>>) => Value>>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>>) => Value>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>) => Value>>>>>>>>) => T; set: (newU: Value>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>) => Value>>>>>>>) => T; set: (newU: Value>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>) => Value>>>>>>) => T; set: (newU: Value>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>) => Value>>>>>) => T; set: (newU: Value>>>>>) => T; }) & { map: (updater: (u: Value>>>>) => Value>>>>) => T; set: (newU: Value>>>>) => T; }) & { map: (updater: (u: Value>>>) => Value>>>) => T; set: (newU: Value>>>) => T; }) & { map: (updater: (u: Value>>) => Value>>) => T; set: (newU: Value>>) => T; }) & { map: (updater: (u: Value>) => Value>) => T; set: (newU: Value>) => T; }) & { map: (updater: (u: Value) => Value) => T; set: (newU: Value) => T; }) & { map: (updater: (u: U) => U) => T; set: (newU: U) => T; } -> : ^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ->Object.assign : { (target: T_1, source: U_1): T_1 & U_1; (target: T_2, source1: U_2, source2: V): T_2 & U_2 & V; (target: T_3, source1: U_3, source2: V_1, source3: W): T_3 & U_3 & V_1 & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +>Object.assign( >(key: K) => reduce>(u[key as keyof U] as Value, (v: Value) => { return update(Object.assign(Array.isArray(u) ? [] : {}, u, { [key]: v })); }), { map: (updater: (u: U) => U) => set(updater(u)), set }) : (>(key: K) => (>(key: K_1) => (>>(key: K_2) => (>>>(key: K_3) => (>>>>(key: K_4) => (>>>>>(key: K_5) => (>>>>>>(key: K_6) => (>>>>>>>(key: K_7) => (>>>>>>>>(key: K_8) => (>>>>>>>>>(key: K_9) => (>>>>>>>>>>(key: K_10) => any & { map: (updater: (u: Value>>>>>>>>>>) => Value>>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>>) => Value>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>) => Value>>>>>>>>) => T; set: (newU: Value>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>) => Value>>>>>>>) => T; set: (newU: Value>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>) => Value>>>>>>) => T; set: (newU: Value>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>) => Value>>>>>) => T; set: (newU: Value>>>>>) => T; }) & { map: (updater: (u: Value>>>>) => Value>>>>) => T; set: (newU: Value>>>>) => T; }) & { map: (updater: (u: Value>>>) => Value>>>) => T; set: (newU: Value>>>) => T; }) & { map: (updater: (u: Value>>) => Value>>) => T; set: (newU: Value>>) => T; }) & { map: (updater: (u: Value>) => Value>) => T; set: (newU: Value>) => T; }) & { map: (updater: (u: Value) => Value) => T; set: (newU: Value) => T; }) & { map: (updater: (u: U) => U) => T; set: (newU: U) => T; } +> : ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>Object.assign : { (target: T_1, source: U_1): T_1 & U_1; (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; (target: T_1, source1: U_1, source2: V, source3: W): T_1 & U_1 & V & W; (target: object, ...sources: any[]): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ ->assign : { (target: T_1, source: U_1): T_1 & U_1; (target: T_2, source1: U_2, source2: V): T_2 & U_2 & V; (target: T_3, source1: U_3, source2: V_1, source3: W): T_3 & U_3 & V_1 & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +>assign : { (target: T_1, source: U_1): T_1 & U_1; (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; (target: T_1, source1: U_1, source2: V, source3: W): T_1 & U_1 & V & W; (target: object, ...sources: any[]): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >(key: K) => ->>(key: K) => reduce>(u[key as keyof U] as Value, (v: Value) => { return update(Object.assign(Array.isArray(u) ? [] : {}, u, { [key]: v })); }) : (key: K) => (>(key: K_1) => (>>(key: K_2) => (>>>(key: K_3) => (>>>>(key: K_4) => (>>>>>(key: K_5) => (>>>>>>(key: K_6) => (>>>>>>>(key: K_7) => (>>>>>>>>(key: K_8) => (>>>>>>>>>(key: K_9) => (>>>>>>>>>>(key: K_10) => any & { map: (updater: (u: Value>>>>>>>>>>) => Value>>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>>) => Value>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>) => Value>>>>>>>>) => T; set: (newU: Value>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>) => Value>>>>>>>) => T; set: (newU: Value>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>) => Value>>>>>>) => T; set: (newU: Value>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>) => Value>>>>>) => T; set: (newU: Value>>>>>) => T; }) & { map: (updater: (u: Value>>>>) => Value>>>>) => T; set: (newU: Value>>>>) => T; }) & { map: (updater: (u: Value>>>) => Value>>>) => T; set: (newU: Value>>>) => T; }) & { map: (updater: (u: Value>>) => Value>>) => T; set: (newU: Value>>) => T; }) & { map: (updater: (u: Value>) => Value>) => T; set: (newU: Value>) => T; }) & { map: (updater: (u: Value) => Value) => T; set: (newU: Value) => T; } -> : ^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +>>(key: K) => reduce>(u[key as keyof U] as Value, (v: Value) => { return update(Object.assign(Array.isArray(u) ? [] : {}, u, { [key]: v })); }) : >(key: K) => (>(key: K_1) => (>>(key: K_2) => (>>>(key: K_3) => (>>>>(key: K_4) => (>>>>>(key: K_5) => (>>>>>>(key: K_6) => (>>>>>>>(key: K_7) => (>>>>>>>>(key: K_8) => (>>>>>>>>>(key: K_9) => (>>>>>>>>>>(key: K_10) => any & { map: (updater: (u: Value>>>>>>>>>>) => Value>>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>>) => Value>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>) => Value>>>>>>>>) => T; set: (newU: Value>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>) => Value>>>>>>>) => T; set: (newU: Value>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>) => Value>>>>>>) => T; set: (newU: Value>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>) => Value>>>>>) => T; set: (newU: Value>>>>>) => T; }) & { map: (updater: (u: Value>>>>) => Value>>>>) => T; set: (newU: Value>>>>) => T; }) & { map: (updater: (u: Value>>>) => Value>>>) => T; set: (newU: Value>>>) => T; }) & { map: (updater: (u: Value>>) => Value>>) => T; set: (newU: Value>>) => T; }) & { map: (updater: (u: Value>) => Value>) => T; set: (newU: Value>) => T; }) & { map: (updater: (u: Value) => Value) => T; set: (newU: Value) => T; } +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ >key : K > : ^ reduce>(u[key as keyof U] as Value, (v: Value) => { ->reduce>(u[key as keyof U] as Value, (v: Value) => { return update(Object.assign(Array.isArray(u) ? [] : {}, u, { [key]: v })); }) : (>(key: K_1) => (>>(key: K_2) => (>>>(key: K_3) => (>>>>(key: K_4) => (>>>>>(key: K_5) => (>>>>>>(key: K_6) => (>>>>>>>(key: K_7) => (>>>>>>>>(key: K_8) => (>>>>>>>>>(key: K_9) => (>>>>>>>>>>(key: K_10) => (>>>>>>>>>>>(key: K_11) => any & { map: (updater: (u: Value>>>>>>>>>>>) => Value>>>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>>>) => Value>>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>>) => Value>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>) => Value>>>>>>>>) => T; set: (newU: Value>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>) => Value>>>>>>>) => T; set: (newU: Value>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>) => Value>>>>>>) => T; set: (newU: Value>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>) => Value>>>>>) => T; set: (newU: Value>>>>>) => T; }) & { map: (updater: (u: Value>>>>) => Value>>>>) => T; set: (newU: Value>>>>) => T; }) & { map: (updater: (u: Value>>>) => Value>>>) => T; set: (newU: Value>>>) => T; }) & { map: (updater: (u: Value>>) => Value>>) => T; set: (newU: Value>>) => T; }) & { map: (updater: (u: Value>) => Value>) => T; set: (newU: Value>) => T; }) & { map: (updater: (u: Value) => Value) => T; set: (newU: Value) => T; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ->reduce : (u: U, update: (u: U) => T) => ((key: K) => (>(key: K_1) => (>>(key: K_2) => (>>>(key: K_3) => (>>>>(key: K_4) => (>>>>>(key: K_5) => (>>>>>>(key: K_6) => (>>>>>>>(key: K_7) => (>>>>>>>>(key: K_8) => (>>>>>>>>>(key: K_9) => (>>>>>>>>>>(key: K_10) => any & { map: (updater: (u: Value>>>>>>>>>>) => Value>>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>>) => Value>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>) => Value>>>>>>>>) => T; set: (newU: Value>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>) => Value>>>>>>>) => T; set: (newU: Value>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>) => Value>>>>>>) => T; set: (newU: Value>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>) => Value>>>>>) => T; set: (newU: Value>>>>>) => T; }) & { map: (updater: (u: Value>>>>) => Value>>>>) => T; set: (newU: Value>>>>) => T; }) & { map: (updater: (u: Value>>>) => Value>>>) => T; set: (newU: Value>>>) => T; }) & { map: (updater: (u: Value>>) => Value>>) => T; set: (newU: Value>>) => T; }) & { map: (updater: (u: Value>) => Value>) => T; set: (newU: Value>) => T; }) & { map: (updater: (u: Value) => Value) => T; set: (newU: Value) => T; }) & { map: (updater: (u: U) => U) => T; set: (newU: U) => T; } -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>reduce>(u[key as keyof U] as Value, (v: Value) => { return update(Object.assign(Array.isArray(u) ? [] : {}, u, { [key]: v })); }) : (>(key: K) => (>>(key: K_2) => (>>>(key: K_3) => (>>>>(key: K_4) => (>>>>>(key: K_5) => (>>>>>>(key: K_6) => (>>>>>>>(key: K_7) => (>>>>>>>>(key: K_8) => (>>>>>>>>>(key: K_9) => (>>>>>>>>>>(key: K_10) => (>>>>>>>>>>>(key: K_11) => any & { map: (updater: (u: Value>>>>>>>>>>>) => Value>>>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>>>) => Value>>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>>) => Value>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>) => Value>>>>>>>>) => T; set: (newU: Value>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>) => Value>>>>>>>) => T; set: (newU: Value>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>) => Value>>>>>>) => T; set: (newU: Value>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>) => Value>>>>>) => T; set: (newU: Value>>>>>) => T; }) & { map: (updater: (u: Value>>>>) => Value>>>>) => T; set: (newU: Value>>>>) => T; }) & { map: (updater: (u: Value>>>) => Value>>>) => T; set: (newU: Value>>>) => T; }) & { map: (updater: (u: Value>>) => Value>>) => T; set: (newU: Value>>) => T; }) & { map: (updater: (u: Value>) => Value>) => T; set: (newU: Value>) => T; }) & { map: (updater: (u: Value) => Value) => T; set: (newU: Value) => T; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +>reduce : (u: U, update: (u: U) => T) => (>(key: K) => (>(key: K_1) => (>>(key: K_2) => (>>>(key: K_3) => (>>>>(key: K_4) => (>>>>>(key: K_5) => (>>>>>>(key: K_6) => (>>>>>>>(key: K_7) => (>>>>>>>>(key: K_8) => (>>>>>>>>>(key: K_9) => (>>>>>>>>>>(key: K_10) => any & { map: (updater: (u: Value>>>>>>>>>>) => Value>>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>>) => Value>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>) => Value>>>>>>>>) => T; set: (newU: Value>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>) => Value>>>>>>>) => T; set: (newU: Value>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>) => Value>>>>>>) => T; set: (newU: Value>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>) => Value>>>>>) => T; set: (newU: Value>>>>>) => T; }) & { map: (updater: (u: Value>>>>) => Value>>>>) => T; set: (newU: Value>>>>) => T; }) & { map: (updater: (u: Value>>>) => Value>>>) => T; set: (newU: Value>>>) => T; }) & { map: (updater: (u: Value>>) => Value>>) => T; set: (newU: Value>>) => T; }) & { map: (updater: (u: Value>) => Value>) => T; set: (newU: Value>) => T; }) & { map: (updater: (u: Value) => Value) => T; set: (newU: Value) => T; }) & { map: (updater: (u: U) => U) => T; set: (newU: U) => T; } +> : ^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ >u[key as keyof U] as Value : Value > : ^^^^^^^^^^^ >u[key as keyof U] : U[keyof U] @@ -103,25 +106,25 @@ export const updateIfChanged = (t: T) => { >update(Object.assign(Array.isArray(u) ? [] : {}, u, { [key]: v })) : T > : ^ >update : (u: U) => T -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >Object.assign(Array.isArray(u) ? [] : {}, u, { [key]: v }) : U & { [x: string]: Value; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->Object.assign : { (target: T_1, source: U_1): T_1 & U_1; (target: T_2, source1: U_2, source2: V): T_2 & U_2 & V; (target: T_3, source1: U_3, source2: V_1, source3: W): T_3 & U_3 & V_1 & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +>Object.assign : { (target: T_1, source: U_1): T_1 & U_1; (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; (target: T_1, source1: U_1, source2: V, source3: W): T_1 & U_1 & V & W; (target: object, ...sources: any[]): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ ->assign : { (target: T_1, source: U_1): T_1 & U_1; (target: T_2, source1: U_2, source2: V): T_2 & U_2 & V; (target: T_3, source1: U_3, source2: V_1, source3: W): T_3 & U_3 & V_1 & W; (target: object, ...sources: any[]): any; } -> : ^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^ ^^^^^^^^^ +>assign : { (target: T_1, source: U_1): T_1 & U_1; (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; (target: T_1, source1: U_1, source2: V, source3: W): T_1 & U_1 & V & W; (target: object, ...sources: any[]): any; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^ ^^ ^^^ ^^^ >Array.isArray(u) ? [] : {} : undefined[] | {} > : ^^^^^^^^^^^^^^^^ >Array.isArray(u) : boolean > : ^^^^^^^ >Array.isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >Array : ArrayConstructor > : ^^^^^^^^^^^^^^^^ >isArray : (arg: any) => arg is any[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >u : U > : ^ >[] : undefined[] @@ -158,7 +161,7 @@ export const updateIfChanged = (t: T) => { >updater(u) : U > : ^ >updater : (u: U) => U -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >u : U > : ^ >set : (newU: U) => T @@ -168,8 +171,8 @@ export const updateIfChanged = (t: T) => { return reduce(t, (t: T) => t); >reduce(t, (t: T) => t) : ((key: K) => (>(key: K_1) => (>>(key: K_2) => (>>>(key: K_3) => (>>>>(key: K_4) => (>>>>>(key: K_5) => (>>>>>>(key: K_6) => (>>>>>>>(key: K_7) => (>>>>>>>>(key: K_8) => (>>>>>>>>>(key: K_9) => (>>>>>>>>>>(key: K_10) => any & { map: (updater: (u: Value>>>>>>>>>>) => Value>>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>>) => Value>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>) => Value>>>>>>>>) => T; set: (newU: Value>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>) => Value>>>>>>>) => T; set: (newU: Value>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>) => Value>>>>>>) => T; set: (newU: Value>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>) => Value>>>>>) => T; set: (newU: Value>>>>>) => T; }) & { map: (updater: (u: Value>>>>) => Value>>>>) => T; set: (newU: Value>>>>) => T; }) & { map: (updater: (u: Value>>>) => Value>>>) => T; set: (newU: Value>>>) => T; }) & { map: (updater: (u: Value>>) => Value>>) => T; set: (newU: Value>>) => T; }) & { map: (updater: (u: Value>) => Value>) => T; set: (newU: Value>) => T; }) & { map: (updater: (u: Value) => Value) => T; set: (newU: Value) => T; }) & { map: (updater: (u: T) => T) => T; set: (newU: T) => T; } > : ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ->reduce : (u: U, update: (u: U) => T) => ((key: K) => (>(key: K_1) => (>>(key: K_2) => (>>>(key: K_3) => (>>>>(key: K_4) => (>>>>>(key: K_5) => (>>>>>>(key: K_6) => (>>>>>>>(key: K_7) => (>>>>>>>>(key: K_8) => (>>>>>>>>>(key: K_9) => (>>>>>>>>>>(key: K_10) => any & { map: (updater: (u: Value>>>>>>>>>>) => Value>>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>>) => Value>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>) => Value>>>>>>>>) => T; set: (newU: Value>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>) => Value>>>>>>>) => T; set: (newU: Value>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>) => Value>>>>>>) => T; set: (newU: Value>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>) => Value>>>>>) => T; set: (newU: Value>>>>>) => T; }) & { map: (updater: (u: Value>>>>) => Value>>>>) => T; set: (newU: Value>>>>) => T; }) & { map: (updater: (u: Value>>>) => Value>>>) => T; set: (newU: Value>>>) => T; }) & { map: (updater: (u: Value>>) => Value>>) => T; set: (newU: Value>>) => T; }) & { map: (updater: (u: Value>) => Value>) => T; set: (newU: Value>) => T; }) & { map: (updater: (u: Value) => Value) => T; set: (newU: Value) => T; }) & { map: (updater: (u: U) => U) => T; set: (newU: U) => T; } -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>reduce : (u: U, update: (u: U) => T) => (>(key: K) => (>(key: K_1) => (>>(key: K_2) => (>>>(key: K_3) => (>>>>(key: K_4) => (>>>>>(key: K_5) => (>>>>>>(key: K_6) => (>>>>>>>(key: K_7) => (>>>>>>>>(key: K_8) => (>>>>>>>>>(key: K_9) => (>>>>>>>>>>(key: K_10) => any & { map: (updater: (u: Value>>>>>>>>>>) => Value>>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>>) => Value>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>) => Value>>>>>>>>) => T; set: (newU: Value>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>) => Value>>>>>>>) => T; set: (newU: Value>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>) => Value>>>>>>) => T; set: (newU: Value>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>) => Value>>>>>) => T; set: (newU: Value>>>>>) => T; }) & { map: (updater: (u: Value>>>>) => Value>>>>) => T; set: (newU: Value>>>>) => T; }) & { map: (updater: (u: Value>>>) => Value>>>) => T; set: (newU: Value>>>) => T; }) & { map: (updater: (u: Value>>) => Value>>) => T; set: (newU: Value>>) => T; }) & { map: (updater: (u: Value>) => Value>) => T; set: (newU: Value>) => T; }) & { map: (updater: (u: Value) => Value) => T; set: (newU: Value) => T; }) & { map: (updater: (u: U) => U) => T; set: (newU: U) => T; } +> : ^ ^^ ^^ ^^ ^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ >t : T > : ^ >(t: T) => t : (t: T) => T @@ -185,15 +188,15 @@ export const updateIfChanged = (t: T) => { export const testRecFun = (parent: T) => { >testRecFun : (parent: T) => { result: T; deeper: (child: U) => { result: T & U; deeper: (child: U_1) => { result: T & U & U_1; deeper: (child: U_2) => { result: T & U & U_1 & U_2; deeper: (child: U_3) => { result: T & U & U_1 & U_2 & U_3; deeper: (child: U_4) => { result: T & U & U_1 & U_2 & U_3 & U_4; deeper: (child: U_5) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5; deeper: (child: U_6) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6; deeper: (child: U_7) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7; deeper: (child: U_8) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8; deeper: (child: U_9) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9; deeper: (child: U_10) => any; }; }; }; }; }; }; }; }; }; }; } -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >(parent: T) => { return { result: parent, deeper: (child: U) => testRecFun({ ...parent, ...child }) };} : (parent: T) => { result: T; deeper: (child: U) => { result: T & U; deeper: (child: U_1) => { result: T & U & U_1; deeper: (child: U_2) => { result: T & U & U_1 & U_2; deeper: (child: U_3) => { result: T & U & U_1 & U_2 & U_3; deeper: (child: U_4) => { result: T & U & U_1 & U_2 & U_3 & U_4; deeper: (child: U_5) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5; deeper: (child: U_6) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6; deeper: (child: U_7) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7; deeper: (child: U_8) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8; deeper: (child: U_9) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9; deeper: (child: U_10) => any; }; }; }; }; }; }; }; }; }; }; } -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >parent : T > : ^ return { >{ result: parent, deeper: (child: U) => testRecFun({ ...parent, ...child }) } : { result: T; deeper: (child: U) => { result: T & U; deeper: (child: U_1) => { result: T & U & U_1; deeper: (child: U_2) => { result: T & U & U_1 & U_2; deeper: (child: U_3) => { result: T & U & U_1 & U_2 & U_3; deeper: (child: U_4) => { result: T & U & U_1 & U_2 & U_3 & U_4; deeper: (child: U_5) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5; deeper: (child: U_6) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6; deeper: (child: U_7) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7; deeper: (child: U_8) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8; deeper: (child: U_9) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9; deeper: (child: U_10) => any; }; }; }; }; }; }; }; }; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ result: parent, >result : T @@ -203,17 +206,17 @@ export const testRecFun = (parent: T) => { deeper: (child: U) => >deeper : (child: U) => { result: T & U; deeper: (child: U_1) => { result: T & U & U_1; deeper: (child: U_2) => { result: T & U & U_1 & U_2; deeper: (child: U_3) => { result: T & U & U_1 & U_2 & U_3; deeper: (child: U_4) => { result: T & U & U_1 & U_2 & U_3 & U_4; deeper: (child: U_5) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5; deeper: (child: U_6) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6; deeper: (child: U_7) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7; deeper: (child: U_8) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8; deeper: (child: U_9) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9; deeper: (child: U_10) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9 & U_10; deeper: any; }; }; }; }; }; }; }; }; }; }; } -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >(child: U) => testRecFun({ ...parent, ...child }) : (child: U) => { result: T & U; deeper: (child: U_1) => { result: T & U & U_1; deeper: (child: U_2) => { result: T & U & U_1 & U_2; deeper: (child: U_3) => { result: T & U & U_1 & U_2 & U_3; deeper: (child: U_4) => { result: T & U & U_1 & U_2 & U_3 & U_4; deeper: (child: U_5) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5; deeper: (child: U_6) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6; deeper: (child: U_7) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7; deeper: (child: U_8) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8; deeper: (child: U_9) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9; deeper: (child: U_10) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9 & U_10; deeper: any; }; }; }; }; }; }; }; }; }; }; } -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >child : U > : ^ testRecFun({ ...parent, ...child }) >testRecFun({ ...parent, ...child }) : { result: T & U; deeper: (child: U_1) => { result: T & U & U_1; deeper: (child: U_2) => { result: T & U & U_1 & U_2; deeper: (child: U_3) => { result: T & U & U_1 & U_2 & U_3; deeper: (child: U_4) => { result: T & U & U_1 & U_2 & U_3 & U_4; deeper: (child: U_5) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5; deeper: (child: U_6) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6; deeper: (child: U_7) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7; deeper: (child: U_8) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8; deeper: (child: U_9) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9; deeper: (child: U_10) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9 & U_10; deeper: (child: U_11) => any; }; }; }; }; }; }; }; }; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >testRecFun : (parent: T) => { result: T; deeper: (child: U) => { result: T & U; deeper: (child: U_1) => { result: T & U & U_1; deeper: (child: U_2) => { result: T & U & U_1 & U_2; deeper: (child: U_3) => { result: T & U & U_1 & U_2 & U_3; deeper: (child: U_4) => { result: T & U & U_1 & U_2 & U_3 & U_4; deeper: (child: U_5) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5; deeper: (child: U_6) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6; deeper: (child: U_7) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7; deeper: (child: U_8) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8; deeper: (child: U_9) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9; deeper: (child: U_10) => any; }; }; }; }; }; }; }; }; }; }; } -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ ...parent, ...child } : T & U > : ^^^^^ >parent : T @@ -227,11 +230,11 @@ export const testRecFun = (parent: T) => { let p1 = testRecFun({ one: '1' }) >p1 : { result: { one: string; }; deeper: (child: U) => { result: { one: string; } & U; deeper: (child: U_1) => { result: { one: string; } & U & U_1; deeper: (child: U_2) => { result: { one: string; } & U & U_1 & U_2; deeper: (child: U_3) => { result: { one: string; } & U & U_1 & U_2 & U_3; deeper: (child: U_4) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4; deeper: (child: U_5) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5; deeper: (child: U_6) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6; deeper: (child: U_7) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7; deeper: (child: U_8) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8; deeper: (child: U_9) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9; deeper: (child: U_10) => any; }; }; }; }; }; }; }; }; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >testRecFun({ one: '1' }) : { result: { one: string; }; deeper: (child: U) => { result: { one: string; } & U; deeper: (child: U_1) => { result: { one: string; } & U & U_1; deeper: (child: U_2) => { result: { one: string; } & U & U_1 & U_2; deeper: (child: U_3) => { result: { one: string; } & U & U_1 & U_2 & U_3; deeper: (child: U_4) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4; deeper: (child: U_5) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5; deeper: (child: U_6) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6; deeper: (child: U_7) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7; deeper: (child: U_8) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8; deeper: (child: U_9) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9; deeper: (child: U_10) => any; }; }; }; }; }; }; }; }; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >testRecFun : (parent: T) => { result: T; deeper: (child: U) => { result: T & U; deeper: (child: U_1) => { result: T & U & U_1; deeper: (child: U_2) => { result: T & U & U_1 & U_2; deeper: (child: U_3) => { result: T & U & U_1 & U_2 & U_3; deeper: (child: U_4) => { result: T & U & U_1 & U_2 & U_3 & U_4; deeper: (child: U_5) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5; deeper: (child: U_6) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6; deeper: (child: U_7) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7; deeper: (child: U_8) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8; deeper: (child: U_9) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9; deeper: (child: U_10) => any; }; }; }; }; }; }; }; }; }; }; } -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ one: '1' } : { one: string; } > : ^^^^^^^^^^^^^^^^ >one : string @@ -247,7 +250,7 @@ void p1.result.one; >p1.result : { one: string; } > : ^^^^^^^^^^^^^^^^ >p1 : { result: { one: string; }; deeper: (child: U) => { result: { one: string; } & U; deeper: (child: U_1) => { result: { one: string; } & U & U_1; deeper: (child: U_2) => { result: { one: string; } & U & U_1 & U_2; deeper: (child: U_3) => { result: { one: string; } & U & U_1 & U_2 & U_3; deeper: (child: U_4) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4; deeper: (child: U_5) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5; deeper: (child: U_6) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6; deeper: (child: U_7) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7; deeper: (child: U_8) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8; deeper: (child: U_9) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9; deeper: (child: U_10) => any; }; }; }; }; }; }; }; }; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >result : { one: string; } > : ^^^^^^^^^^^^^^^^ >one : string @@ -255,15 +258,15 @@ void p1.result.one; let p2 = p1.deeper({ two: '2' }) >p2 : { result: { one: string; } & { two: string; }; deeper: (child: U) => { result: { one: string; } & { two: string; } & U; deeper: (child: U_1) => { result: { one: string; } & { two: string; } & U & U_1; deeper: (child: U_2) => { result: { one: string; } & { two: string; } & U & U_1 & U_2; deeper: (child: U_3) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3; deeper: (child: U_4) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4; deeper: (child: U_5) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5; deeper: (child: U_6) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6; deeper: (child: U_7) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7; deeper: (child: U_8) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8; deeper: (child: U_9) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9; deeper: (child: U_10) => any; }; }; }; }; }; }; }; }; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >p1.deeper({ two: '2' }) : { result: { one: string; } & { two: string; }; deeper: (child: U) => { result: { one: string; } & { two: string; } & U; deeper: (child: U_1) => { result: { one: string; } & { two: string; } & U & U_1; deeper: (child: U_2) => { result: { one: string; } & { two: string; } & U & U_1 & U_2; deeper: (child: U_3) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3; deeper: (child: U_4) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4; deeper: (child: U_5) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5; deeper: (child: U_6) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6; deeper: (child: U_7) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7; deeper: (child: U_8) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8; deeper: (child: U_9) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9; deeper: (child: U_10) => any; }; }; }; }; }; }; }; }; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >p1.deeper : (child: U) => { result: { one: string; } & U; deeper: (child: U_1) => { result: { one: string; } & U & U_1; deeper: (child: U_2) => { result: { one: string; } & U & U_1 & U_2; deeper: (child: U_3) => { result: { one: string; } & U & U_1 & U_2 & U_3; deeper: (child: U_4) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4; deeper: (child: U_5) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5; deeper: (child: U_6) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6; deeper: (child: U_7) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7; deeper: (child: U_8) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8; deeper: (child: U_9) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9; deeper: (child: U_10) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9 & U_10; deeper: any; }; }; }; }; }; }; }; }; }; }; } -> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >p1 : { result: { one: string; }; deeper: (child: U) => { result: { one: string; } & U; deeper: (child: U_1) => { result: { one: string; } & U & U_1; deeper: (child: U_2) => { result: { one: string; } & U & U_1 & U_2; deeper: (child: U_3) => { result: { one: string; } & U & U_1 & U_2 & U_3; deeper: (child: U_4) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4; deeper: (child: U_5) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5; deeper: (child: U_6) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6; deeper: (child: U_7) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7; deeper: (child: U_8) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8; deeper: (child: U_9) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9; deeper: (child: U_10) => any; }; }; }; }; }; }; }; }; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >deeper : (child: U) => { result: { one: string; } & U; deeper: (child: U_1) => { result: { one: string; } & U & U_1; deeper: (child: U_2) => { result: { one: string; } & U & U_1 & U_2; deeper: (child: U_3) => { result: { one: string; } & U & U_1 & U_2 & U_3; deeper: (child: U_4) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4; deeper: (child: U_5) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5; deeper: (child: U_6) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6; deeper: (child: U_7) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7; deeper: (child: U_8) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8; deeper: (child: U_9) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9; deeper: (child: U_10) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9 & U_10; deeper: any; }; }; }; }; }; }; }; }; }; }; } -> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ two: '2' } : { two: string; } > : ^^^^^^^^^^^^^^^^ >two : string @@ -279,7 +282,7 @@ void p2.result.one; >p2.result : { one: string; } & { two: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >p2 : { result: { one: string; } & { two: string; }; deeper: (child: U) => { result: { one: string; } & { two: string; } & U; deeper: (child: U_1) => { result: { one: string; } & { two: string; } & U & U_1; deeper: (child: U_2) => { result: { one: string; } & { two: string; } & U & U_1 & U_2; deeper: (child: U_3) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3; deeper: (child: U_4) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4; deeper: (child: U_5) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5; deeper: (child: U_6) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6; deeper: (child: U_7) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7; deeper: (child: U_8) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8; deeper: (child: U_9) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9; deeper: (child: U_10) => any; }; }; }; }; }; }; }; }; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >result : { one: string; } & { two: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >one : string @@ -293,7 +296,7 @@ void p2.result.two; >p2.result : { one: string; } & { two: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >p2 : { result: { one: string; } & { two: string; }; deeper: (child: U) => { result: { one: string; } & { two: string; } & U; deeper: (child: U_1) => { result: { one: string; } & { two: string; } & U & U_1; deeper: (child: U_2) => { result: { one: string; } & { two: string; } & U & U_1 & U_2; deeper: (child: U_3) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3; deeper: (child: U_4) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4; deeper: (child: U_5) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5; deeper: (child: U_6) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6; deeper: (child: U_7) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7; deeper: (child: U_8) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8; deeper: (child: U_9) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9; deeper: (child: U_10) => any; }; }; }; }; }; }; }; }; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >result : { one: string; } & { two: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >two : string @@ -301,15 +304,15 @@ void p2.result.two; let p3 = p2.deeper({ three: '3' }) >p3 : { result: { one: string; } & { two: string; } & { three: string; }; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U; deeper: (child: U_1) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1; deeper: (child: U_2) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2; deeper: (child: U_3) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3; deeper: (child: U_4) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4; deeper: (child: U_5) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5; deeper: (child: U_6) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6; deeper: (child: U_7) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7; deeper: (child: U_8) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8; deeper: (child: U_9) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9; deeper: (child: U_10) => any; }; }; }; }; }; }; }; }; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >p2.deeper({ three: '3' }) : { result: { one: string; } & { two: string; } & { three: string; }; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U; deeper: (child: U_1) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1; deeper: (child: U_2) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2; deeper: (child: U_3) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3; deeper: (child: U_4) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4; deeper: (child: U_5) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5; deeper: (child: U_6) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6; deeper: (child: U_7) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7; deeper: (child: U_8) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8; deeper: (child: U_9) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9; deeper: (child: U_10) => any; }; }; }; }; }; }; }; }; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >p2.deeper : (child: U) => { result: { one: string; } & { two: string; } & U; deeper: (child: U_1) => { result: { one: string; } & { two: string; } & U & U_1; deeper: (child: U_2) => { result: { one: string; } & { two: string; } & U & U_1 & U_2; deeper: (child: U_3) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3; deeper: (child: U_4) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4; deeper: (child: U_5) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5; deeper: (child: U_6) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6; deeper: (child: U_7) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7; deeper: (child: U_8) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8; deeper: (child: U_9) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9; deeper: (child: U_10) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9 & U_10; deeper: any; }; }; }; }; }; }; }; }; }; }; } -> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >p2 : { result: { one: string; } & { two: string; }; deeper: (child: U) => { result: { one: string; } & { two: string; } & U; deeper: (child: U_1) => { result: { one: string; } & { two: string; } & U & U_1; deeper: (child: U_2) => { result: { one: string; } & { two: string; } & U & U_1 & U_2; deeper: (child: U_3) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3; deeper: (child: U_4) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4; deeper: (child: U_5) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5; deeper: (child: U_6) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6; deeper: (child: U_7) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7; deeper: (child: U_8) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8; deeper: (child: U_9) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9; deeper: (child: U_10) => any; }; }; }; }; }; }; }; }; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >deeper : (child: U) => { result: { one: string; } & { two: string; } & U; deeper: (child: U_1) => { result: { one: string; } & { two: string; } & U & U_1; deeper: (child: U_2) => { result: { one: string; } & { two: string; } & U & U_1 & U_2; deeper: (child: U_3) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3; deeper: (child: U_4) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4; deeper: (child: U_5) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5; deeper: (child: U_6) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6; deeper: (child: U_7) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7; deeper: (child: U_8) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8; deeper: (child: U_9) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9; deeper: (child: U_10) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9 & U_10; deeper: any; }; }; }; }; }; }; }; }; }; }; } -> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >{ three: '3' } : { three: string; } > : ^^^^^^^^^^^^^^^^^^ >three : string @@ -325,7 +328,7 @@ void p3.result.one; >p3.result : { one: string; } & { two: string; } & { three: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >p3 : { result: { one: string; } & { two: string; } & { three: string; }; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U; deeper: (child: U_1) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1; deeper: (child: U_2) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2; deeper: (child: U_3) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3; deeper: (child: U_4) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4; deeper: (child: U_5) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5; deeper: (child: U_6) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6; deeper: (child: U_7) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7; deeper: (child: U_8) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8; deeper: (child: U_9) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9; deeper: (child: U_10) => any; }; }; }; }; }; }; }; }; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >result : { one: string; } & { two: string; } & { three: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >one : string @@ -339,7 +342,7 @@ void p3.result.two; >p3.result : { one: string; } & { two: string; } & { three: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >p3 : { result: { one: string; } & { two: string; } & { three: string; }; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U; deeper: (child: U_1) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1; deeper: (child: U_2) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2; deeper: (child: U_3) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3; deeper: (child: U_4) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4; deeper: (child: U_5) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5; deeper: (child: U_6) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6; deeper: (child: U_7) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7; deeper: (child: U_8) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8; deeper: (child: U_9) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9; deeper: (child: U_10) => any; }; }; }; }; }; }; }; }; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >result : { one: string; } & { two: string; } & { three: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >two : string @@ -353,7 +356,7 @@ void p3.result.three; >p3.result : { one: string; } & { two: string; } & { three: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >p3 : { result: { one: string; } & { two: string; } & { three: string; }; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U; deeper: (child: U_1) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1; deeper: (child: U_2) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2; deeper: (child: U_3) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3; deeper: (child: U_4) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4; deeper: (child: U_5) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5; deeper: (child: U_6) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6; deeper: (child: U_7) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7; deeper: (child: U_8) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8; deeper: (child: U_9) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9; deeper: (child: U_10) => any; }; }; }; }; }; }; }; }; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >result : { one: string; } & { two: string; } & { three: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >three : string diff --git a/tests/baselines/reference/declareFileExportAssignment.types b/tests/baselines/reference/declareFileExportAssignment.types index 856d606e88d28..7227046f2f8dd 100644 --- a/tests/baselines/reference/declareFileExportAssignment.types +++ b/tests/baselines/reference/declareFileExportAssignment.types @@ -48,5 +48,5 @@ var m2: { export = m2; >m2 : { (): m2.connectExport; test1: m2.connectModule; test2(): m2.connectModule; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^ ^^^ diff --git a/tests/baselines/reference/declareFileExportAssignmentWithVarFromVariableStatement.types b/tests/baselines/reference/declareFileExportAssignmentWithVarFromVariableStatement.types index 9f44e8378888e..a5dae84ceb261 100644 --- a/tests/baselines/reference/declareFileExportAssignmentWithVarFromVariableStatement.types +++ b/tests/baselines/reference/declareFileExportAssignmentWithVarFromVariableStatement.types @@ -52,5 +52,5 @@ var x = 10, m2: { export = m2; >m2 : { (): m2.connectExport; test1: m2.connectModule; test2(): m2.connectModule; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^ ^^^ diff --git a/tests/baselines/reference/declaredExternalModuleWithExportAssignment.types b/tests/baselines/reference/declaredExternalModuleWithExportAssignment.types index c78e2be35e258..b812ac9ce6bda 100644 --- a/tests/baselines/reference/declaredExternalModuleWithExportAssignment.types +++ b/tests/baselines/reference/declaredExternalModuleWithExportAssignment.types @@ -42,6 +42,6 @@ declare module 'connect' { }; export = server; >server : { (): connectExport; test1: connectModule; test2(): connectModule; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^ ^^^ } diff --git a/tests/baselines/reference/decoratedBlockScopedClass1.types b/tests/baselines/reference/decoratedBlockScopedClass1.types index ecf8a9e61761d..47a19bafffca6 100644 --- a/tests/baselines/reference/decoratedBlockScopedClass1.types +++ b/tests/baselines/reference/decoratedBlockScopedClass1.types @@ -39,9 +39,9 @@ Foo.func(); >Foo.func() : Foo > : ^^^ >Foo.func : () => Foo -> : ^^^^^^^^^ +> : ^^^^^^ >Foo : typeof Foo > : ^^^^^^^^^^ >func : () => Foo -> : ^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/decoratedBlockScopedClass3.types b/tests/baselines/reference/decoratedBlockScopedClass3.types index bdfa131f00fba..278663628cbe3 100644 --- a/tests/baselines/reference/decoratedBlockScopedClass3.types +++ b/tests/baselines/reference/decoratedBlockScopedClass3.types @@ -39,11 +39,11 @@ Foo.func(); >Foo.func() : Foo > : ^^^ >Foo.func : () => Foo -> : ^^^^^^^^^ +> : ^^^^^^ >Foo : typeof Foo > : ^^^^^^^^^^ >func : () => Foo -> : ^^^^^^^^^ +> : ^^^^^^ try { @decorator() diff --git a/tests/baselines/reference/decoratorChecksFunctionBodies.types b/tests/baselines/reference/decoratorChecksFunctionBodies.types index 28f3eed6546ed..c17c4f2a3c943 100644 --- a/tests/baselines/reference/decoratorChecksFunctionBodies.types +++ b/tests/baselines/reference/decoratorChecksFunctionBodies.types @@ -35,7 +35,7 @@ class A { >func(a) : void > : ^^^^ >func : (s: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : number > : ^^^^^^ diff --git a/tests/baselines/reference/decoratorInAmbientContext.types b/tests/baselines/reference/decoratorInAmbientContext.types index 3571a5a13674b..3438a43e33610 100644 --- a/tests/baselines/reference/decoratorInAmbientContext.types +++ b/tests/baselines/reference/decoratorInAmbientContext.types @@ -23,13 +23,13 @@ class Foo { @decorator declare a: number; >decorator : (target: any, key: any) => any -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a : number > : ^^^^^^ @decorator declare [b]: number; >decorator : (target: any, key: any) => any -> : ^ ^^ ^^ ^^ ^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >[b] : number > : ^^^^^^ >b : unique symbol diff --git a/tests/baselines/reference/decoratorMetadataConditionalType.types b/tests/baselines/reference/decoratorMetadataConditionalType.types index f9c21a693deb0..9fdae2698506e 100644 --- a/tests/baselines/reference/decoratorMetadataConditionalType.types +++ b/tests/baselines/reference/decoratorMetadataConditionalType.types @@ -13,7 +13,7 @@ abstract class BaseEntity { >d() : PropertyDecorator > : ^^^^^^^^^^^^^^^^^ >d : () => PropertyDecorator -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ public attributes: T extends { attributes: infer A } ? A : undefined; >attributes : T extends { attributes: infer A; } ? A : undefined @@ -29,7 +29,7 @@ class C { >d() : PropertyDecorator > : ^^^^^^^^^^^^^^^^^ >d : () => PropertyDecorator -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ x: number extends string ? false : true; >x : true diff --git a/tests/baselines/reference/decoratorMetadataOnInferredType.types b/tests/baselines/reference/decoratorMetadataOnInferredType.types index ff3fecce2b39e..1805985fa8dd3 100644 --- a/tests/baselines/reference/decoratorMetadataOnInferredType.types +++ b/tests/baselines/reference/decoratorMetadataOnInferredType.types @@ -21,11 +21,11 @@ class A { >console.log('new A') : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >'new A' : "new A" > : ^^^^^^^ } diff --git a/tests/baselines/reference/decoratorMetadataRestParameterWithImportedType.types b/tests/baselines/reference/decoratorMetadataRestParameterWithImportedType.types index 923d136240408..039c11ddb3b9d 100644 --- a/tests/baselines/reference/decoratorMetadataRestParameterWithImportedType.types +++ b/tests/baselines/reference/decoratorMetadataRestParameterWithImportedType.types @@ -62,7 +62,7 @@ function annotation1(): MethodDecorator { >annotation() : ClassDecorator > : ^^^^^^^^^^^^^^ >annotation : () => ClassDecorator -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ export class ClassA { >ClassA : ClassA @@ -93,7 +93,7 @@ export class ClassA { >annotation1() : MethodDecorator > : ^^^^^^^^^^^^^^^ >annotation1 : () => MethodDecorator -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ foo(... args: SomeClass1[]) { >foo : (...args: SomeClass1[]) => void diff --git a/tests/baselines/reference/decoratorMetadataWithConstructorType.types b/tests/baselines/reference/decoratorMetadataWithConstructorType.types index e14b431ed88c7..30ac58e52bd2a 100644 --- a/tests/baselines/reference/decoratorMetadataWithConstructorType.types +++ b/tests/baselines/reference/decoratorMetadataWithConstructorType.types @@ -21,11 +21,11 @@ class A { >console.log('new A') : void > : ^^^^ >console.log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(msg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (msg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >'new A' : "new A" > : ^^^^^^^ } diff --git a/tests/baselines/reference/decoratorOnArrowFunction.types b/tests/baselines/reference/decoratorOnArrowFunction.types index 1304294f4453c..5d7c841d7b0fa 100644 --- a/tests/baselines/reference/decoratorOnArrowFunction.types +++ b/tests/baselines/reference/decoratorOnArrowFunction.types @@ -13,5 +13,5 @@ var F = @dec () => { >dec () : unknown > : ^^^^^^^ >dec : (target: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ } diff --git a/tests/baselines/reference/decoratorOnClass1.es6.types b/tests/baselines/reference/decoratorOnClass1.es6.types index 8cc387a3d1bea..2d088eb103e2b 100644 --- a/tests/baselines/reference/decoratorOnClass1.es6.types +++ b/tests/baselines/reference/decoratorOnClass1.es6.types @@ -9,7 +9,7 @@ declare function dec(target: T): T; @dec >dec : (target: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ class C { >C : C diff --git a/tests/baselines/reference/decoratorOnClass1.types b/tests/baselines/reference/decoratorOnClass1.types index f239552101796..f8a3cc7d8c45f 100644 --- a/tests/baselines/reference/decoratorOnClass1.types +++ b/tests/baselines/reference/decoratorOnClass1.types @@ -9,7 +9,7 @@ declare function dec(target: T): T; @dec >dec : (target: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ class C { >C : C diff --git a/tests/baselines/reference/decoratorOnClass2.es6.types b/tests/baselines/reference/decoratorOnClass2.es6.types index 70a0f935ea50a..76b431f6c3756 100644 --- a/tests/baselines/reference/decoratorOnClass2.es6.types +++ b/tests/baselines/reference/decoratorOnClass2.es6.types @@ -9,7 +9,7 @@ declare function dec(target: T): T; @dec >dec : (target: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ export class C { >C : C diff --git a/tests/baselines/reference/decoratorOnClass2.types b/tests/baselines/reference/decoratorOnClass2.types index 166ab00d4c2ba..f6918b5e68474 100644 --- a/tests/baselines/reference/decoratorOnClass2.types +++ b/tests/baselines/reference/decoratorOnClass2.types @@ -9,7 +9,7 @@ declare function dec(target: T): T; @dec >dec : (target: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ export class C { >C : C diff --git a/tests/baselines/reference/decoratorOnClass3.es6.types b/tests/baselines/reference/decoratorOnClass3.es6.types index 3ab5e635aa030..a60a9fb568681 100644 --- a/tests/baselines/reference/decoratorOnClass3.es6.types +++ b/tests/baselines/reference/decoratorOnClass3.es6.types @@ -9,7 +9,7 @@ declare function dec(target: T): T; @dec >dec : (target: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ export default class C { >C : C diff --git a/tests/baselines/reference/decoratorOnClass3.types b/tests/baselines/reference/decoratorOnClass3.types index aa3d40a4a570f..3977458b522c6 100644 --- a/tests/baselines/reference/decoratorOnClass3.types +++ b/tests/baselines/reference/decoratorOnClass3.types @@ -10,7 +10,7 @@ declare function dec(target: T): T; export @dec >dec : (target: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ class C { >C : C diff --git a/tests/baselines/reference/decoratorOnClass4.es6.types b/tests/baselines/reference/decoratorOnClass4.es6.types index ab6ab09461076..0317183823812 100644 --- a/tests/baselines/reference/decoratorOnClass4.es6.types +++ b/tests/baselines/reference/decoratorOnClass4.es6.types @@ -9,7 +9,7 @@ declare function dec(target: T): T; @dec >dec : (target: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ export default class { } diff --git a/tests/baselines/reference/decoratorOnClass4.types b/tests/baselines/reference/decoratorOnClass4.types index a8a4f541044bf..dc7a752902f3a 100644 --- a/tests/baselines/reference/decoratorOnClass4.types +++ b/tests/baselines/reference/decoratorOnClass4.types @@ -9,9 +9,9 @@ declare function dec(): (target: T) => T; @dec() >dec() : (target: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >dec : () => (target: T) => T -> : ^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^ class C { >C : C diff --git a/tests/baselines/reference/decoratorOnClass5.es6.types b/tests/baselines/reference/decoratorOnClass5.es6.types index be1988643e00d..b85fb27455020 100644 --- a/tests/baselines/reference/decoratorOnClass5.es6.types +++ b/tests/baselines/reference/decoratorOnClass5.es6.types @@ -9,7 +9,7 @@ declare function dec(target: T): T; @dec >dec : (target: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ class C { >C : C diff --git a/tests/baselines/reference/decoratorOnClass5.types b/tests/baselines/reference/decoratorOnClass5.types index 4de337142dba4..a0ec8903b6956 100644 --- a/tests/baselines/reference/decoratorOnClass5.types +++ b/tests/baselines/reference/decoratorOnClass5.types @@ -9,9 +9,9 @@ declare function dec(): (target: T) => T; @dec() >dec() : (target: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >dec : () => (target: T) => T -> : ^^^^^^^ ^^ ^^ ^^^^^^ +> : ^^^^^^ class C { >C : C diff --git a/tests/baselines/reference/decoratorOnClass6.es6.types b/tests/baselines/reference/decoratorOnClass6.es6.types index bddeb3267c04e..aee14aee6df4b 100644 --- a/tests/baselines/reference/decoratorOnClass6.es6.types +++ b/tests/baselines/reference/decoratorOnClass6.es6.types @@ -9,7 +9,7 @@ declare function dec(target: T): T; @dec >dec : (target: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ export class C { >C : C diff --git a/tests/baselines/reference/decoratorOnClass7.es6.types b/tests/baselines/reference/decoratorOnClass7.es6.types index 3d8d618e930bb..5966e48b2f09c 100644 --- a/tests/baselines/reference/decoratorOnClass7.es6.types +++ b/tests/baselines/reference/decoratorOnClass7.es6.types @@ -9,7 +9,7 @@ declare function dec(target: T): T; @dec >dec : (target: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ export default class C { >C : C diff --git a/tests/baselines/reference/decoratorOnClass8.es6.types b/tests/baselines/reference/decoratorOnClass8.es6.types index ef725cbb2c4a5..c4836f8914c08 100644 --- a/tests/baselines/reference/decoratorOnClass8.es6.types +++ b/tests/baselines/reference/decoratorOnClass8.es6.types @@ -9,7 +9,7 @@ declare function dec(target: T): T; @dec >dec : (target: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ export default class { static y = 1; diff --git a/tests/baselines/reference/decoratorOnClass8.types b/tests/baselines/reference/decoratorOnClass8.types index 2d7bcc0c5ab55..7a41cd10c6f5a 100644 --- a/tests/baselines/reference/decoratorOnClass8.types +++ b/tests/baselines/reference/decoratorOnClass8.types @@ -11,9 +11,9 @@ declare function dec(): (target: Function, paramIndex: number) => void; @dec() >dec() : (target: Function, paramIndex: number) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >dec : () => (target: Function, paramIndex: number) => void -> : ^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^ class C { >C : C diff --git a/tests/baselines/reference/decoratorOnClassAccessor1.es6.types b/tests/baselines/reference/decoratorOnClassAccessor1.es6.types index b4899aa451731..c3d44c940ea42 100644 --- a/tests/baselines/reference/decoratorOnClassAccessor1.es6.types +++ b/tests/baselines/reference/decoratorOnClassAccessor1.es6.types @@ -13,7 +13,7 @@ declare function dec(target: any, propertyKey: string, descriptor: TypedPrope export default class { @dec get accessor() { return 1; } >dec : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >accessor : number > : ^^^^^^ >1 : 1 diff --git a/tests/baselines/reference/decoratorOnClassAccessor1.types b/tests/baselines/reference/decoratorOnClassAccessor1.types index 0af51f00a9e86..b146bc412a043 100644 --- a/tests/baselines/reference/decoratorOnClassAccessor1.types +++ b/tests/baselines/reference/decoratorOnClassAccessor1.types @@ -16,7 +16,7 @@ class C { @dec get accessor() { return 1; } >dec : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >accessor : number > : ^^^^^^ >1 : 1 diff --git a/tests/baselines/reference/decoratorOnClassAccessor2.types b/tests/baselines/reference/decoratorOnClassAccessor2.types index 24cfa4251fd9e..7d55b72ce0e7b 100644 --- a/tests/baselines/reference/decoratorOnClassAccessor2.types +++ b/tests/baselines/reference/decoratorOnClassAccessor2.types @@ -16,7 +16,7 @@ class C { @dec public get accessor() { return 1; } >dec : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >accessor : number > : ^^^^^^ >1 : 1 diff --git a/tests/baselines/reference/decoratorOnClassAccessor3.types b/tests/baselines/reference/decoratorOnClassAccessor3.types index d103ff47d7bb7..8f6c918194090 100644 --- a/tests/baselines/reference/decoratorOnClassAccessor3.types +++ b/tests/baselines/reference/decoratorOnClassAccessor3.types @@ -19,7 +19,7 @@ class C { >public : any > : ^^^ >dec : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >accessor : number > : ^^^^^^ >1 : 1 diff --git a/tests/baselines/reference/decoratorOnClassAccessor4.types b/tests/baselines/reference/decoratorOnClassAccessor4.types index 38465c755c655..daa22e15d5f5d 100644 --- a/tests/baselines/reference/decoratorOnClassAccessor4.types +++ b/tests/baselines/reference/decoratorOnClassAccessor4.types @@ -16,7 +16,7 @@ class C { @dec set accessor(value: number) { } >dec : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >accessor : number > : ^^^^^^ >value : number diff --git a/tests/baselines/reference/decoratorOnClassAccessor5.types b/tests/baselines/reference/decoratorOnClassAccessor5.types index 1d160f33f48a2..a107b6e668e3b 100644 --- a/tests/baselines/reference/decoratorOnClassAccessor5.types +++ b/tests/baselines/reference/decoratorOnClassAccessor5.types @@ -16,7 +16,7 @@ class C { @dec public set accessor(value: number) { } >dec : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >accessor : number > : ^^^^^^ >value : number diff --git a/tests/baselines/reference/decoratorOnClassAccessor6.types b/tests/baselines/reference/decoratorOnClassAccessor6.types index 22aac82476519..a2c52716ba39a 100644 --- a/tests/baselines/reference/decoratorOnClassAccessor6.types +++ b/tests/baselines/reference/decoratorOnClassAccessor6.types @@ -19,7 +19,7 @@ class C { >public : any > : ^^^ >dec : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >accessor : number > : ^^^^^^ >value : number diff --git a/tests/baselines/reference/decoratorOnClassAccessor7.types b/tests/baselines/reference/decoratorOnClassAccessor7.types index e6b35164ba78d..5f8cf8f015c47 100644 --- a/tests/baselines/reference/decoratorOnClassAccessor7.types +++ b/tests/baselines/reference/decoratorOnClassAccessor7.types @@ -27,7 +27,7 @@ class A { @dec1 get x() { return 0; } >dec1 : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : number > : ^^^^^^ >0 : 0 @@ -52,7 +52,7 @@ class B { @dec2 set x(value: number) { } >dec2 : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : number > : ^^^^^^ >value : number @@ -65,7 +65,7 @@ class C { @dec1 set x(value: number) { } >dec1 : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : number > : ^^^^^^ >value : number @@ -90,7 +90,7 @@ class D { @dec2 get x() { return 0; } >dec2 : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : number > : ^^^^^^ >0 : 0 @@ -103,7 +103,7 @@ class E { @dec1 get x() { return 0; } >dec1 : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : number > : ^^^^^^ >0 : 0 @@ -111,7 +111,7 @@ class E { @dec2 set x(value: number) { } >dec2 : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : number > : ^^^^^^ >value : number @@ -124,7 +124,7 @@ class F { @dec1 set x(value: number) { } >dec1 : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : number > : ^^^^^^ >value : number @@ -132,7 +132,7 @@ class F { @dec2 get x() { return 0; } >dec2 : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : number > : ^^^^^^ >0 : 0 diff --git a/tests/baselines/reference/decoratorOnClassAccessor8.types b/tests/baselines/reference/decoratorOnClassAccessor8.types index 41768267d5e7a..c6588ff39715e 100644 --- a/tests/baselines/reference/decoratorOnClassAccessor8.types +++ b/tests/baselines/reference/decoratorOnClassAccessor8.types @@ -16,7 +16,7 @@ class A { @dec get x() { return 0; } >dec : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : number > : ^^^^^^ >0 : 0 @@ -41,7 +41,7 @@ class B { @dec set x(value: number) { } >dec : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : number > : ^^^^^^ >value : number @@ -54,7 +54,7 @@ class C { @dec set x(value: number) { } >dec : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : number > : ^^^^^^ >value : number @@ -79,7 +79,7 @@ class D { @dec get x() { return 0; } >dec : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : number > : ^^^^^^ >0 : 0 @@ -92,7 +92,7 @@ class E { @dec get x() { return 0; } >dec : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : number > : ^^^^^^ >0 : 0 @@ -105,7 +105,7 @@ class F { @dec set x(value: number) { } >dec : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >x : number > : ^^^^^^ >value : number diff --git a/tests/baselines/reference/decoratorOnClassConstructor1.types b/tests/baselines/reference/decoratorOnClassConstructor1.types index c3829a21a2e70..5b1df948c5609 100644 --- a/tests/baselines/reference/decoratorOnClassConstructor1.types +++ b/tests/baselines/reference/decoratorOnClassConstructor1.types @@ -17,5 +17,5 @@ class C { @dec constructor() {} >dec : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ } diff --git a/tests/baselines/reference/decoratorOnClassConstructorParameter1.types b/tests/baselines/reference/decoratorOnClassConstructorParameter1.types index cd03b576ef39f..e257ceacbd290 100644 --- a/tests/baselines/reference/decoratorOnClassConstructorParameter1.types +++ b/tests/baselines/reference/decoratorOnClassConstructorParameter1.types @@ -17,7 +17,7 @@ class C { constructor(@dec p: number) {} >dec : (target: Function, propertyKey: string | symbol, parameterIndex: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >p : number > : ^^^^^^ } diff --git a/tests/baselines/reference/decoratorOnClassConstructorParameter4.types b/tests/baselines/reference/decoratorOnClassConstructorParameter4.types index 46a3196e36939..44e1fb6734215 100644 --- a/tests/baselines/reference/decoratorOnClassConstructorParameter4.types +++ b/tests/baselines/reference/decoratorOnClassConstructorParameter4.types @@ -19,7 +19,7 @@ class C { >public : any > : ^^^ >dec : (target: Function, propertyKey: string | symbol, parameterIndex: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >p : number > : ^^^^^^ } diff --git a/tests/baselines/reference/decoratorOnClassMethod1.es6.types b/tests/baselines/reference/decoratorOnClassMethod1.es6.types index b67a885ebf6e0..0cb09a66dab89 100644 --- a/tests/baselines/reference/decoratorOnClassMethod1.es6.types +++ b/tests/baselines/reference/decoratorOnClassMethod1.es6.types @@ -13,7 +13,7 @@ declare function dec(target: any, propertyKey: string, descriptor: TypedPrope export default class { @dec method() {} >dec : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >method : () => void > : ^^^^^^^^^^ } diff --git a/tests/baselines/reference/decoratorOnClassMethod1.types b/tests/baselines/reference/decoratorOnClassMethod1.types index 87cafcbdf3b61..07d1adb73abf7 100644 --- a/tests/baselines/reference/decoratorOnClassMethod1.types +++ b/tests/baselines/reference/decoratorOnClassMethod1.types @@ -16,7 +16,7 @@ class C { @dec method() {} >dec : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >method : () => void > : ^^^^^^^^^^ } diff --git a/tests/baselines/reference/decoratorOnClassMethod10.types b/tests/baselines/reference/decoratorOnClassMethod10.types index df48d9700e826..3bba717f8d292 100644 --- a/tests/baselines/reference/decoratorOnClassMethod10.types +++ b/tests/baselines/reference/decoratorOnClassMethod10.types @@ -15,7 +15,7 @@ class C { @dec method() {} >dec : (target: Function, paramIndex: number) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >method : () => void > : ^^^^^^^^^^ } diff --git a/tests/baselines/reference/decoratorOnClassMethod13.types b/tests/baselines/reference/decoratorOnClassMethod13.types index ac887345ce825..fec3c90426f78 100644 --- a/tests/baselines/reference/decoratorOnClassMethod13.types +++ b/tests/baselines/reference/decoratorOnClassMethod13.types @@ -16,7 +16,7 @@ class C { @dec ["1"]() { } >dec : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >["1"] : () => void > : ^^^^^^^^^^ >"1" : "1" @@ -24,7 +24,7 @@ class C { @dec ["b"]() { } >dec : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >["b"] : () => void > : ^^^^^^^^^^ >"b" : "b" diff --git a/tests/baselines/reference/decoratorOnClassMethod2.types b/tests/baselines/reference/decoratorOnClassMethod2.types index e06e512b1b3d7..b72f9cb9b335e 100644 --- a/tests/baselines/reference/decoratorOnClassMethod2.types +++ b/tests/baselines/reference/decoratorOnClassMethod2.types @@ -16,7 +16,7 @@ class C { @dec public method() {} >dec : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >method : () => void > : ^^^^^^^^^^ } diff --git a/tests/baselines/reference/decoratorOnClassMethod3.types b/tests/baselines/reference/decoratorOnClassMethod3.types index 9203c3bb7b3f0..b866616236f50 100644 --- a/tests/baselines/reference/decoratorOnClassMethod3.types +++ b/tests/baselines/reference/decoratorOnClassMethod3.types @@ -19,7 +19,7 @@ class C { >public : any > : ^^^ >dec : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >method : () => void > : ^^^^^^^^^^ } diff --git a/tests/baselines/reference/decoratorOnClassMethod4.types b/tests/baselines/reference/decoratorOnClassMethod4.types index a3ba842788ccc..aeac5b3c4e284 100644 --- a/tests/baselines/reference/decoratorOnClassMethod4.types +++ b/tests/baselines/reference/decoratorOnClassMethod4.types @@ -16,7 +16,7 @@ class C { @dec ["method"]() {} >dec : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >["method"] : () => void > : ^^^^^^^^^^ >"method" : "method" diff --git a/tests/baselines/reference/decoratorOnClassMethod5.types b/tests/baselines/reference/decoratorOnClassMethod5.types index 882d7dc6558a8..09f15f6a72573 100644 --- a/tests/baselines/reference/decoratorOnClassMethod5.types +++ b/tests/baselines/reference/decoratorOnClassMethod5.types @@ -16,9 +16,9 @@ class C { @dec() ["method"]() {} >dec() : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >dec : () => (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >["method"] : () => void > : ^^^^^^^^^^ >"method" : "method" diff --git a/tests/baselines/reference/decoratorOnClassMethod6.types b/tests/baselines/reference/decoratorOnClassMethod6.types index 28ae9ce9bf97c..ad238a085b203 100644 --- a/tests/baselines/reference/decoratorOnClassMethod6.types +++ b/tests/baselines/reference/decoratorOnClassMethod6.types @@ -17,7 +17,7 @@ class C { @dec ["method"]() {} >dec : () => (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >["method"] : () => void > : ^^^^^^^^^^ >"method" : "method" diff --git a/tests/baselines/reference/decoratorOnClassMethod7.types b/tests/baselines/reference/decoratorOnClassMethod7.types index ab7185da9cb4d..347b9b22753d8 100644 --- a/tests/baselines/reference/decoratorOnClassMethod7.types +++ b/tests/baselines/reference/decoratorOnClassMethod7.types @@ -16,7 +16,7 @@ class C { @dec public ["method"]() {} >dec : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >["method"] : () => void > : ^^^^^^^^^^ >"method" : "method" diff --git a/tests/baselines/reference/decoratorOnClassMethod8.types b/tests/baselines/reference/decoratorOnClassMethod8.types index 4c082de11d31c..c06dd92684a9e 100644 --- a/tests/baselines/reference/decoratorOnClassMethod8.types +++ b/tests/baselines/reference/decoratorOnClassMethod8.types @@ -13,7 +13,7 @@ class C { @dec method() {} >dec : (target: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >method : () => void > : ^^^^^^^^^^ } diff --git a/tests/baselines/reference/decoratorOnClassMethodOverload1.types b/tests/baselines/reference/decoratorOnClassMethodOverload1.types index daac02fb64dfe..93640dbfafa32 100644 --- a/tests/baselines/reference/decoratorOnClassMethodOverload1.types +++ b/tests/baselines/reference/decoratorOnClassMethodOverload1.types @@ -17,7 +17,7 @@ class C { @dec >dec : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ method() >method : () => any diff --git a/tests/baselines/reference/decoratorOnClassMethodOverload2.types b/tests/baselines/reference/decoratorOnClassMethodOverload2.types index 712df9ad20ace..c827ee33ff9f6 100644 --- a/tests/baselines/reference/decoratorOnClassMethodOverload2.types +++ b/tests/baselines/reference/decoratorOnClassMethodOverload2.types @@ -20,7 +20,7 @@ class C { @dec >dec : (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor -> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ method() { } >method : () => any diff --git a/tests/baselines/reference/decoratorOnClassMethodParameter1.es6.types b/tests/baselines/reference/decoratorOnClassMethodParameter1.es6.types index bacf21f76cf07..84e89c54d5a89 100644 --- a/tests/baselines/reference/decoratorOnClassMethodParameter1.es6.types +++ b/tests/baselines/reference/decoratorOnClassMethodParameter1.es6.types @@ -16,7 +16,7 @@ export default class { >method : (p: number) => void > : ^ ^^ ^^^^^^^^^ >dec : (target: Object, propertyKey: string | symbol, parameterIndex: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >p : number > : ^^^^^^ } diff --git a/tests/baselines/reference/decoratorOnClassMethodParameter1.types b/tests/baselines/reference/decoratorOnClassMethodParameter1.types index 37cf12231397c..21e18e383aaf4 100644 --- a/tests/baselines/reference/decoratorOnClassMethodParameter1.types +++ b/tests/baselines/reference/decoratorOnClassMethodParameter1.types @@ -19,7 +19,7 @@ class C { >method : (p: number) => void > : ^ ^^ ^^^^^^^^^ >dec : (target: Object, propertyKey: string | symbol, parameterIndex: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >p : number > : ^^^^^^ } diff --git a/tests/baselines/reference/decoratorOnClassMethodParameter2.types b/tests/baselines/reference/decoratorOnClassMethodParameter2.types index c081359be794e..79dee8e4883a5 100644 --- a/tests/baselines/reference/decoratorOnClassMethodParameter2.types +++ b/tests/baselines/reference/decoratorOnClassMethodParameter2.types @@ -21,7 +21,7 @@ class C { >this : C > : ^ >dec : (target: Object, propertyKey: string | symbol, parameterIndex: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >p : number > : ^^^^^^ } diff --git a/tests/baselines/reference/decoratorOnClassMethodParameter3.types b/tests/baselines/reference/decoratorOnClassMethodParameter3.types index f81d82c503f3a..63114df7c0b37 100644 --- a/tests/baselines/reference/decoratorOnClassMethodParameter3.types +++ b/tests/baselines/reference/decoratorOnClassMethodParameter3.types @@ -24,7 +24,7 @@ function fn(value: Promise): any { >dec(await value) : any > : ^^^ >dec : (a: any) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >await value : number > : ^^^^^^ >value : Promise diff --git a/tests/baselines/reference/decoratorOnClassMethodThisParameter.types b/tests/baselines/reference/decoratorOnClassMethodThisParameter.types index 8373877ff76cd..8428c47c51176 100644 --- a/tests/baselines/reference/decoratorOnClassMethodThisParameter.types +++ b/tests/baselines/reference/decoratorOnClassMethodThisParameter.types @@ -19,7 +19,7 @@ class C { >method : (this: C) => void > : ^ ^^ ^^^^^^^^^ >dec : (target: Object, propertyKey: string | symbol, parameterIndex: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this : C > : ^ } @@ -32,11 +32,11 @@ class C2 { >method : (allowed: C2, this: C2) => void > : ^ ^^ ^^ ^^ ^^^^^^^^^ >dec : (target: Object, propertyKey: string | symbol, parameterIndex: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >allowed : C2 > : ^^ >dec : (target: Object, propertyKey: string | symbol, parameterIndex: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >this : C2 > : ^^ } diff --git a/tests/baselines/reference/decoratorOnClassProperty1.es6.types b/tests/baselines/reference/decoratorOnClassProperty1.es6.types index 64fb13380917c..a2d25b972198f 100644 --- a/tests/baselines/reference/decoratorOnClassProperty1.es6.types +++ b/tests/baselines/reference/decoratorOnClassProperty1.es6.types @@ -11,6 +11,6 @@ declare function dec(target: any, propertyKey: string): void; export default class { @dec prop; >dec : (target: any, propertyKey: string) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >prop : any } diff --git a/tests/baselines/reference/decoratorOnClassProperty1.types b/tests/baselines/reference/decoratorOnClassProperty1.types index 62ec4297a8497..766cca25f17ee 100644 --- a/tests/baselines/reference/decoratorOnClassProperty1.types +++ b/tests/baselines/reference/decoratorOnClassProperty1.types @@ -14,6 +14,6 @@ class C { @dec prop; >dec : (target: any, propertyKey: string) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >prop : any } diff --git a/tests/baselines/reference/decoratorOnClassProperty10.types b/tests/baselines/reference/decoratorOnClassProperty10.types index 3631f93a2264e..3a600472c5430 100644 --- a/tests/baselines/reference/decoratorOnClassProperty10.types +++ b/tests/baselines/reference/decoratorOnClassProperty10.types @@ -14,8 +14,8 @@ class C { @dec() prop; >dec() : (target: any, propertyKey: string) => void -> : ^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^ ^^ ^^^^^ >dec : () => (target: any, propertyKey: string) => void -> : ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^ >prop : any } diff --git a/tests/baselines/reference/decoratorOnClassProperty11.types b/tests/baselines/reference/decoratorOnClassProperty11.types index 9956fc5fa2d5b..64d0902eea9af 100644 --- a/tests/baselines/reference/decoratorOnClassProperty11.types +++ b/tests/baselines/reference/decoratorOnClassProperty11.types @@ -15,7 +15,7 @@ class C { @dec prop; >dec : () => (target: any, propertyKey: string) => void -> : ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^ >prop : any > : ^^^ } diff --git a/tests/baselines/reference/decoratorOnClassProperty12.types b/tests/baselines/reference/decoratorOnClassProperty12.types index c70cde2cdf184..03f8dd9678c4c 100644 --- a/tests/baselines/reference/decoratorOnClassProperty12.types +++ b/tests/baselines/reference/decoratorOnClassProperty12.types @@ -14,9 +14,9 @@ class A { @dec() >dec() : (target: any, propertyKey: string) => void -> : ^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^ ^^ ^^^^^ >dec : () => (target: any, propertyKey: string) => void -> : ^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^^^^ foo: `${string}` >foo : string diff --git a/tests/baselines/reference/decoratorOnClassProperty13.types b/tests/baselines/reference/decoratorOnClassProperty13.types index 32b2f411e68e9..f908f20923f0f 100644 --- a/tests/baselines/reference/decoratorOnClassProperty13.types +++ b/tests/baselines/reference/decoratorOnClassProperty13.types @@ -16,6 +16,6 @@ class C { @dec accessor prop; >dec : (target: any, propertyKey: string, desc: PropertyDescriptor) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >prop : any } diff --git a/tests/baselines/reference/decoratorOnClassProperty2.types b/tests/baselines/reference/decoratorOnClassProperty2.types index 3cac36aee3dff..d471e0728d13f 100644 --- a/tests/baselines/reference/decoratorOnClassProperty2.types +++ b/tests/baselines/reference/decoratorOnClassProperty2.types @@ -14,6 +14,6 @@ class C { @dec public prop; >dec : (target: any, propertyKey: string) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >prop : any } diff --git a/tests/baselines/reference/decoratorOnClassProperty3.types b/tests/baselines/reference/decoratorOnClassProperty3.types index c2a933e82b793..7cbe00b280ca2 100644 --- a/tests/baselines/reference/decoratorOnClassProperty3.types +++ b/tests/baselines/reference/decoratorOnClassProperty3.types @@ -17,7 +17,7 @@ class C { >public : any > : ^^^ >dec : (target: any, propertyKey: string) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >prop : any > : ^^^ } diff --git a/tests/baselines/reference/decoratorOnClassProperty6.types b/tests/baselines/reference/decoratorOnClassProperty6.types index 6fe3f381f7ccc..c146b9b6461d3 100644 --- a/tests/baselines/reference/decoratorOnClassProperty6.types +++ b/tests/baselines/reference/decoratorOnClassProperty6.types @@ -13,7 +13,7 @@ class C { @dec prop; >dec : (target: Function) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >prop : any > : ^^^ } diff --git a/tests/baselines/reference/decoratorOnClassProperty7.types b/tests/baselines/reference/decoratorOnClassProperty7.types index 2aa050abd5371..8f18540446132 100644 --- a/tests/baselines/reference/decoratorOnClassProperty7.types +++ b/tests/baselines/reference/decoratorOnClassProperty7.types @@ -17,7 +17,7 @@ class C { @dec prop; >dec : (target: Function, propertyKey: string | symbol, paramIndex: number) => void -> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >prop : any > : ^^^ } diff --git a/tests/baselines/reference/decoratorOnEnum.types b/tests/baselines/reference/decoratorOnEnum.types index 8c0e1e632c75f..14605d8f3900c 100644 --- a/tests/baselines/reference/decoratorOnEnum.types +++ b/tests/baselines/reference/decoratorOnEnum.types @@ -9,7 +9,7 @@ declare function dec(target: T): T; @dec >dec : (target: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ enum E { >E : E diff --git a/tests/baselines/reference/decoratorOnEnum2.types b/tests/baselines/reference/decoratorOnEnum2.types index 03b4e3004d3aa..42dc0d46d3711 100644 --- a/tests/baselines/reference/decoratorOnEnum2.types +++ b/tests/baselines/reference/decoratorOnEnum2.types @@ -13,7 +13,7 @@ enum E { @dec A >dec : (target: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ >A : any > : ^^^ } diff --git a/tests/baselines/reference/decoratorOnFunctionDeclaration.types b/tests/baselines/reference/decoratorOnFunctionDeclaration.types index 8e68c854f1c43..23118e67bffa8 100644 --- a/tests/baselines/reference/decoratorOnFunctionDeclaration.types +++ b/tests/baselines/reference/decoratorOnFunctionDeclaration.types @@ -9,7 +9,7 @@ declare function dec(target: T): T; @dec >dec : (target: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ function F() { >F : () => void diff --git a/tests/baselines/reference/decoratorOnFunctionExpression.types b/tests/baselines/reference/decoratorOnFunctionExpression.types index ff645f4baef61..fad524d95247a 100644 --- a/tests/baselines/reference/decoratorOnFunctionExpression.types +++ b/tests/baselines/reference/decoratorOnFunctionExpression.types @@ -11,7 +11,7 @@ var F = @dec function () { >F : any > : ^^^ >dec : (target: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ > : () => void > : ^^^^^^^^^^ } diff --git a/tests/baselines/reference/decoratorOnImportEquals1.types b/tests/baselines/reference/decoratorOnImportEquals1.types index 0394d590b3f84..c6aa9c5815502 100644 --- a/tests/baselines/reference/decoratorOnImportEquals1.types +++ b/tests/baselines/reference/decoratorOnImportEquals1.types @@ -19,7 +19,7 @@ module M1 { module M2 { @dec >dec : (target: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ import X = M1.X; >X : number diff --git a/tests/baselines/reference/decoratorOnImportEquals2.types b/tests/baselines/reference/decoratorOnImportEquals2.types index d3866a631d6f5..4abb5c36dfd59 100644 --- a/tests/baselines/reference/decoratorOnImportEquals2.types +++ b/tests/baselines/reference/decoratorOnImportEquals2.types @@ -3,7 +3,7 @@ === decoratorOnImportEquals2_1.ts === @dec >dec : (target: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ import lib = require('./decoratorOnImportEquals2_0'); >lib : typeof lib diff --git a/tests/baselines/reference/decoratorOnInterface.types b/tests/baselines/reference/decoratorOnInterface.types index cef85a45f84d7..20b1b09e2ae65 100644 --- a/tests/baselines/reference/decoratorOnInterface.types +++ b/tests/baselines/reference/decoratorOnInterface.types @@ -9,7 +9,7 @@ declare function dec(target: T): T; @dec >dec : (target: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ interface I { } diff --git a/tests/baselines/reference/decoratorOnInternalModule.types b/tests/baselines/reference/decoratorOnInternalModule.types index 5308d38b0432a..97fa59782e1fd 100644 --- a/tests/baselines/reference/decoratorOnInternalModule.types +++ b/tests/baselines/reference/decoratorOnInternalModule.types @@ -9,7 +9,7 @@ declare function dec(target: T): T; @dec >dec : (target: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ module M { diff --git a/tests/baselines/reference/decoratorOnTypeAlias.types b/tests/baselines/reference/decoratorOnTypeAlias.types index 61adcf0914a41..564bd744bbe64 100644 --- a/tests/baselines/reference/decoratorOnTypeAlias.types +++ b/tests/baselines/reference/decoratorOnTypeAlias.types @@ -9,7 +9,7 @@ declare function dec(target: T): T; @dec >dec : (target: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ type T = number; >T : number diff --git a/tests/baselines/reference/decoratorOnVar.types b/tests/baselines/reference/decoratorOnVar.types index 4d8156d411753..8c57fe4310e5a 100644 --- a/tests/baselines/reference/decoratorOnVar.types +++ b/tests/baselines/reference/decoratorOnVar.types @@ -9,7 +9,7 @@ declare function dec(target: T): T; @dec >dec : (target: T) => T -> : ^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^^^^ var x: number; >x : number diff --git a/tests/baselines/reference/decoratorReferences.types b/tests/baselines/reference/decoratorReferences.types index 6487d697d8387..fed54c2520a6f 100644 --- a/tests/baselines/reference/decoratorReferences.types +++ b/tests/baselines/reference/decoratorReferences.types @@ -14,7 +14,7 @@ type T = number; @y(1 as T, () => C) // <-- T should be resolved to the type alias, not the type parameter of the class; C should resolve to the class >y(1 as T, () => C) : any >y : (...args: any[]) => any -> : ^^^^ ^^ ^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >1 as T : number > : ^^^^^^ >1 : 1 @@ -31,7 +31,7 @@ class C { @y(null as T) // <-- y should resolve to the function declaration, not the parameter; T should resolve to the type parameter of the class >y(null as T) : any >y : (...args: any[]) => any -> : ^^^^ ^^ ^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >null as T : T > : ^ @@ -39,7 +39,7 @@ class C { >method : (x: any, y: any) => void > : ^ ^^^^^^^ ^^^^^^^^^^^^^^ >y : (...args: any[]) => any -> : ^^^^ ^^ ^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >x : any >y : any } diff --git a/tests/baselines/reference/decoratorWithUnderscoreMethod.types b/tests/baselines/reference/decoratorWithUnderscoreMethod.types index 1b2dcf7801c72..3442a531879a1 100644 --- a/tests/baselines/reference/decoratorWithUnderscoreMethod.types +++ b/tests/baselines/reference/decoratorWithUnderscoreMethod.types @@ -26,11 +26,11 @@ function dec(): Function { >console.log(target[propKey]) : void > : ^^^^ >console.log : (arg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >console : { log(arg: string): void; } -> : ^^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^ ^^^ ^^^ >log : (arg: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >target[propKey] : any >target : any >propKey : string @@ -49,7 +49,7 @@ class A { >dec() : Function > : ^^^^^^^^ >dec : () => Function -> : ^^^^^^^^^^^^^^ +> : ^^^^^^ private __foo(bar: string): void { >__foo : (bar: string) => void diff --git a/tests/baselines/reference/decoratorsOnComputedProperties.types b/tests/baselines/reference/decoratorsOnComputedProperties.types index 50471c3494545..13b17254d9cf7 100644 --- a/tests/baselines/reference/decoratorsOnComputedProperties.types +++ b/tests/baselines/reference/decoratorsOnComputedProperties.types @@ -131,7 +131,7 @@ class A { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ @x [foo()]: any; >x : (o: object, k: PropertyKey) => void @@ -141,7 +141,7 @@ class A { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ @x [foo()]: any = null; >x : (o: object, k: PropertyKey) => void @@ -151,7 +151,7 @@ class A { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ [fieldNameA]: any; >[fieldNameA] : any @@ -266,7 +266,7 @@ void class B { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ @x [foo()]: any; >x : (o: object, k: PropertyKey) => void @@ -276,7 +276,7 @@ void class B { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ @x [foo()]: any = null; >x : (o: object, k: PropertyKey) => void @@ -286,7 +286,7 @@ void class B { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ [fieldNameA]: any; >[fieldNameA] : any @@ -398,7 +398,7 @@ class C { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ @x [foo()]: any; >x : (o: object, k: PropertyKey) => void @@ -408,7 +408,7 @@ class C { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ @x [foo()]: any = null; >x : (o: object, k: PropertyKey) => void @@ -418,7 +418,7 @@ class C { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ [fieldNameA]: any; >[fieldNameA] : any @@ -543,7 +543,7 @@ void class D { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ @x [foo()]: any; >x : (o: object, k: PropertyKey) => void @@ -553,7 +553,7 @@ void class D { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ @x [foo()]: any = null; >x : (o: object, k: PropertyKey) => void @@ -563,7 +563,7 @@ void class D { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ [fieldNameA]: any; >[fieldNameA] : any @@ -685,7 +685,7 @@ class E { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ @x [foo()]: any; >x : (o: object, k: PropertyKey) => void @@ -695,7 +695,7 @@ class E { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ @x [foo()]: any = null; >x : (o: object, k: PropertyKey) => void @@ -705,7 +705,7 @@ class E { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ ["some" + "method"]() {} >["some" + "method"] : () => void @@ -830,7 +830,7 @@ void class F { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ @x [foo()]: any; >x : (o: object, k: PropertyKey) => void @@ -840,7 +840,7 @@ void class F { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ @x [foo()]: any = null; >x : (o: object, k: PropertyKey) => void @@ -850,7 +850,7 @@ void class F { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ ["some" + "method"]() {} >["some" + "method"] : () => void @@ -972,7 +972,7 @@ class G { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ @x [foo()]: any; >x : (o: object, k: PropertyKey) => void @@ -982,7 +982,7 @@ class G { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ @x [foo()]: any = null; >x : (o: object, k: PropertyKey) => void @@ -992,7 +992,7 @@ class G { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ ["some" + "method"]() {} >["some" + "method"] : () => void @@ -1127,7 +1127,7 @@ void class H { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ @x [foo()]: any; >x : (o: object, k: PropertyKey) => void @@ -1137,7 +1137,7 @@ void class H { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ @x [foo()]: any = null; >x : (o: object, k: PropertyKey) => void @@ -1147,7 +1147,7 @@ void class H { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ ["some" + "method"]() {} >["some" + "method"] : () => void @@ -1279,7 +1279,7 @@ class I { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ @x [foo()]: any; >x : (o: object, k: PropertyKey) => void @@ -1289,7 +1289,7 @@ class I { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ @x [foo()]: any = null; >x : (o: object, k: PropertyKey) => void @@ -1299,7 +1299,7 @@ class I { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ @x ["some" + "method"]() {} >x : (o: object, k: PropertyKey) => void @@ -1436,7 +1436,7 @@ void class J { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ @x [foo()]: any; >x : (o: object, k: PropertyKey) => void @@ -1446,7 +1446,7 @@ void class J { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ @x [foo()]: any = null; >x : (o: object, k: PropertyKey) => void @@ -1456,7 +1456,7 @@ void class J { >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ @x ["some" + "method"]() {} >x : (o: object, k: PropertyKey) => void diff --git a/tests/baselines/reference/decrementOperatorWithAnyOtherTypeInvalidOperations.types b/tests/baselines/reference/decrementOperatorWithAnyOtherTypeInvalidOperations.types index a7d3a17094b5d..91045f7d95009 100644 --- a/tests/baselines/reference/decrementOperatorWithAnyOtherTypeInvalidOperations.types +++ b/tests/baselines/reference/decrementOperatorWithAnyOtherTypeInvalidOperations.types @@ -114,7 +114,7 @@ var ResultIsNumber4 = --obj; >--obj : number > : ^^^^^^ >obj : () => {} -> : ^^^^^^^^ +> : ^^^^^^ var ResultIsNumber5 = --obj1; >ResultIsNumber5 : number @@ -154,7 +154,7 @@ var ResultIsNumber9 = obj--; >obj-- : number > : ^^^^^^ >obj : () => {} -> : ^^^^^^^^ +> : ^^^^^^ var ResultIsNumber10 = obj1--; >ResultIsNumber10 : number @@ -218,7 +218,7 @@ var ResultIsNumber17 = --foo(); >foo() : any > : ^^^ >foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber18 = --A.foo(); >ResultIsNumber18 : number @@ -228,11 +228,11 @@ var ResultIsNumber18 = --A.foo(); >A.foo() : any > : ^^^ >A.foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ >A : typeof A > : ^^^^^^^^ >foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber19 = --(null + undefined); >ResultIsNumber19 : number @@ -302,7 +302,7 @@ var ResultIsNumber24 = foo()--; >foo() : any > : ^^^ >foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber25 = A.foo()--; >ResultIsNumber25 : number @@ -312,11 +312,11 @@ var ResultIsNumber25 = A.foo()--; >A.foo() : any > : ^^^ >A.foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ >A : typeof A > : ^^^^^^^^ >foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber26 = (null + undefined)--; >ResultIsNumber26 : number diff --git a/tests/baselines/reference/decrementOperatorWithNumberTypeInvalidOperations.types b/tests/baselines/reference/decrementOperatorWithNumberTypeInvalidOperations.types index ff83909fe2a1b..211d6a628708c 100644 --- a/tests/baselines/reference/decrementOperatorWithNumberTypeInvalidOperations.types +++ b/tests/baselines/reference/decrementOperatorWithNumberTypeInvalidOperations.types @@ -168,7 +168,7 @@ var ResultIsNumber9 = --foo(); >foo() : number > : ^^^^^^ >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber10 = --A.foo(); >ResultIsNumber10 : number @@ -206,7 +206,7 @@ var ResultIsNumber12 = foo()--; >foo() : number > : ^^^^^^ >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber13 = A.foo()--; >ResultIsNumber13 : number @@ -255,7 +255,7 @@ var ResultIsNumber14 = (NUMBER + NUMBER)--; >foo() : number > : ^^^^^^ >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ 1--; >1-- : number @@ -275,5 +275,5 @@ foo()--; >foo() : number > : ^^^^^^ >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/decrementOperatorWithUnsupportedBooleanType.types b/tests/baselines/reference/decrementOperatorWithUnsupportedBooleanType.types index b04297c004633..717517ec636ab 100644 --- a/tests/baselines/reference/decrementOperatorWithUnsupportedBooleanType.types +++ b/tests/baselines/reference/decrementOperatorWithUnsupportedBooleanType.types @@ -182,7 +182,7 @@ var ResultIsNumber11 = --foo(); >foo() : boolean > : ^^^^^^^ >foo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber12 = --A.foo(); >ResultIsNumber12 : number @@ -206,7 +206,7 @@ var ResultIsNumber13 = foo()--; >foo() : boolean > : ^^^^^^^ >foo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber14 = A.foo()--; >ResultIsNumber14 : number @@ -265,7 +265,7 @@ var ResultIsNumber16 = M.n--; >foo() : boolean > : ^^^^^^^ >foo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ --objA.a; >--objA.a : number @@ -323,7 +323,7 @@ foo()--; >foo() : boolean > : ^^^^^^^ >foo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ objA.a--; >objA.a-- : number diff --git a/tests/baselines/reference/decrementOperatorWithUnsupportedStringType.types b/tests/baselines/reference/decrementOperatorWithUnsupportedStringType.types index 294762857cc71..980933beee7a5 100644 --- a/tests/baselines/reference/decrementOperatorWithUnsupportedStringType.types +++ b/tests/baselines/reference/decrementOperatorWithUnsupportedStringType.types @@ -220,7 +220,7 @@ var ResultIsNumber14 = --foo(); >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber15 = --A.foo(); >ResultIsNumber15 : number @@ -294,7 +294,7 @@ var ResultIsNumber20 = foo()--; >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsNumber21 = A.foo()--; >ResultIsNumber21 : number @@ -359,7 +359,7 @@ var ResultIsNumber22 = (STRING + STRING)--; >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ --objA.a; >--objA.a : number @@ -433,7 +433,7 @@ foo()--; >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ objA.a--; >objA.a-- : number diff --git a/tests/baselines/reference/deduplicateImportsInSystem.types b/tests/baselines/reference/deduplicateImportsInSystem.types index 86a9dd8bb0803..4d1365ba92433 100644 --- a/tests/baselines/reference/deduplicateImportsInSystem.types +++ b/tests/baselines/reference/deduplicateImportsInSystem.types @@ -29,11 +29,11 @@ console.log(A + B + C + D + E + F) >console.log(A + B + C + D + E + F) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >A + B + C + D + E + F : any > : ^^^ >A + B + C + D + E : any diff --git a/tests/baselines/reference/deepComparisons.types b/tests/baselines/reference/deepComparisons.types index 063ffa33fce6d..974b2e5ee95f6 100644 --- a/tests/baselines/reference/deepComparisons.types +++ b/tests/baselines/reference/deepComparisons.types @@ -7,7 +7,7 @@ Instantiation count: 2,500 === deepComparisons.ts === function f1() { >f1 : () => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ let v1: Extract = 0 as any as T; // Error >v1 : Extract @@ -129,6 +129,6 @@ function g() { >f() : F > : ^^^^^^ >f : () => F -> : ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/deepExcessPropertyCheckingWhenTargetIsIntersection.types b/tests/baselines/reference/deepExcessPropertyCheckingWhenTargetIsIntersection.types index daa12a96eda22..eb415204816e2 100644 --- a/tests/baselines/reference/deepExcessPropertyCheckingWhenTargetIsIntersection.types +++ b/tests/baselines/reference/deepExcessPropertyCheckingWhenTargetIsIntersection.types @@ -15,9 +15,9 @@ const TestComponent: StatelessComponent = (props) => { >TestComponent : StatelessComponent > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >(props) => { return null;} : (props: TestProps & { children?: number; }) => any -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ >props : TestProps & { children?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ return null; } @@ -72,9 +72,9 @@ const TestComponent2: StatelessComponent = (p >x : number > : ^^^^^^ >(props) => { return null;} : (props: (TestProps | { props2: { x: number; }; }) & { children?: number; }) => any -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ >props : (TestProps | { props2: { x: number; }; }) & { children?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ return null; } @@ -83,7 +83,7 @@ TestComponent2({icon: { props: { INVALID_PROP_NAME: 'share', ariaLabel: 'test la >TestComponent2({icon: { props: { INVALID_PROP_NAME: 'share', ariaLabel: 'test label' } }}) : null > : ^^^^ >TestComponent2 : StatelessComponent -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ >{icon: { props: { INVALID_PROP_NAME: 'share', ariaLabel: 'test label' } }} : { icon: { props: { INVALID_PROP_NAME: string; ariaLabel: string; }; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >icon : { props: { INVALID_PROP_NAME: string; ariaLabel: string; }; } diff --git a/tests/baselines/reference/deepKeysIndexing.types b/tests/baselines/reference/deepKeysIndexing.types index c1413f099a4ac..b2b5db4a164ba 100644 --- a/tests/baselines/reference/deepKeysIndexing.types +++ b/tests/baselines/reference/deepKeysIndexing.types @@ -64,7 +64,7 @@ class Bar { broken< >broken : , V extends O[K1][K2]>(k1: K1, k2: K2, value: V) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ K1 extends keyof O, K2 extends keys2broken, @@ -79,7 +79,7 @@ class Bar { working< >working : , V extends O[K1][K2]>(k1: K1, k2: K2, value: V) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ K1 extends keyof O, K2 extends keys2working, @@ -93,8 +93,8 @@ class Bar { > : ^ workaround< ->workaround : , V extends O[K1][K2]>(k1: K1, k2: K2, value: V) => void -> : ^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>workaround : , V extends O[K1][K2]>(k1: K1, k2: K2, value: V) => void +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ K1 extends keyof O, K2 extends keys2workaround, diff --git a/tests/baselines/reference/deeplyNestedCheck.types b/tests/baselines/reference/deeplyNestedCheck.types index cddbce62d5f47..de544441121f0 100644 --- a/tests/baselines/reference/deeplyNestedCheck.types +++ b/tests/baselines/reference/deeplyNestedCheck.types @@ -14,7 +14,7 @@ interface DataSnapshot { interface Snapshot extends DataSnapshot { child>(path: U): Snapshot; >child : >(path: U) => Snapshot -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >path : U > : ^ } diff --git a/tests/baselines/reference/deeplyNestedConstraints.types b/tests/baselines/reference/deeplyNestedConstraints.types index 48d95baa701b9..5ebae1c3eef1d 100644 --- a/tests/baselines/reference/deeplyNestedConstraints.types +++ b/tests/baselines/reference/deeplyNestedConstraints.types @@ -17,7 +17,7 @@ class BufferPool> { setArray2(_: K, array: Extract>) { >setArray2 : (_: K, array: Extract>) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >_ : K > : ^ >array : Extract> diff --git a/tests/baselines/reference/deeplyNestedMappedTypes.types b/tests/baselines/reference/deeplyNestedMappedTypes.types index f84493f47c054..af24d7169f1f8 100644 --- a/tests/baselines/reference/deeplyNestedMappedTypes.types +++ b/tests/baselines/reference/deeplyNestedMappedTypes.types @@ -45,13 +45,13 @@ type Foo2 = Id<{ x: { y: { z: { a: { b: { c: string } } } } } }>; declare const foo1: Foo1; >foo1 : Id<{ x: { y: { z: { a: { b: { c: number; }; }; }; }; }; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^ const foo2: Foo2 = foo1; // Error expected >foo2 : Id<{ x: { y: { z: { a: { b: { c: string; }; }; }; }; }; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^ >foo1 : Id<{ x: { y: { z: { a: { b: { c: number; }; }; }; }; }; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^^ type Id2 = { [K in keyof T]: Id2> }; >Id2 : Id2 @@ -91,13 +91,13 @@ type Foo4 = Id2<{ x: { y: { z: { a: { b: { c: string } } } } } }>; declare const foo3: Foo3; >foo3 : Id2<{ x: { y: { z: { a: { b: { c: number; }; }; }; }; }; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^ const foo4: Foo4 = foo3; // Error expected >foo4 : Id2<{ x: { y: { z: { a: { b: { c: string; }; }; }; }; }; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^ >foo3 : Id2<{ x: { y: { z: { a: { b: { c: number; }; }; }; }; }; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^ // Repro from issue linked in #55535 @@ -211,11 +211,11 @@ export const Input = Type.Object({ >Type.Object({ level1: Type.Object({ level2: Type.Object({ foo: Type.String(), }) })}) : TObject<{ level1: TObject<{ level2: TObject<{ foo: TString; }>; }>; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Type.Object : (object: T) => TObject -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >Type : typeof Type > : ^^^^^^^^^^^ >Object : (object: T) => TObject -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ level1: Type.Object({ level2: Type.Object({ foo: Type.String(), }) })} : { level1: TObject<{ level2: TObject<{ foo: TString; }>; }>; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -225,11 +225,11 @@ export const Input = Type.Object({ >Type.Object({ level2: Type.Object({ foo: Type.String(), }) }) : TObject<{ level2: TObject<{ foo: TString; }>; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Type.Object : (object: T) => TObject -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >Type : typeof Type > : ^^^^^^^^^^^ >Object : (object: T) => TObject -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ level2: Type.Object({ foo: Type.String(), }) } : { level2: TObject<{ foo: TString; }>; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -239,11 +239,11 @@ export const Input = Type.Object({ >Type.Object({ foo: Type.String(), }) : TObject<{ foo: TString; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >Type.Object : (object: T) => TObject -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >Type : typeof Type > : ^^^^^^^^^^^ >Object : (object: T) => TObject -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ foo: Type.String(), } : { foo: TString; } > : ^^^^^^^^^^^^^^^^^ @@ -253,11 +253,11 @@ export const Input = Type.Object({ >Type.String() : TString > : ^^^^^^^ >Type.String : () => TString -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >Type : typeof Type > : ^^^^^^^^^^^ >String : () => TString -> : ^^^^^^^^^^^^^ +> : ^^^^^^ }) }) @@ -275,11 +275,11 @@ export const Output = Type.Object({ >Type.Object({ level1: Type.Object({ level2: Type.Object({ foo: Type.String(), bar: Type.String(), }) })}) : TObject<{ level1: TObject<{ level2: TObject<{ foo: TString; bar: TString; }>; }>; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Type.Object : (object: T) => TObject -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >Type : typeof Type > : ^^^^^^^^^^^ >Object : (object: T) => TObject -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ level1: Type.Object({ level2: Type.Object({ foo: Type.String(), bar: Type.String(), }) })} : { level1: TObject<{ level2: TObject<{ foo: TString; bar: TString; }>; }>; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -289,11 +289,11 @@ export const Output = Type.Object({ >Type.Object({ level2: Type.Object({ foo: Type.String(), bar: Type.String(), }) }) : TObject<{ level2: TObject<{ foo: TString; bar: TString; }>; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Type.Object : (object: T) => TObject -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >Type : typeof Type > : ^^^^^^^^^^^ >Object : (object: T) => TObject -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ level2: Type.Object({ foo: Type.String(), bar: Type.String(), }) } : { level2: TObject<{ foo: TString; bar: TString; }>; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -303,11 +303,11 @@ export const Output = Type.Object({ >Type.Object({ foo: Type.String(), bar: Type.String(), }) : TObject<{ foo: TString; bar: TString; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Type.Object : (object: T) => TObject -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >Type : typeof Type > : ^^^^^^^^^^^ >Object : (object: T) => TObject -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ foo: Type.String(), bar: Type.String(), } : { foo: TString; bar: TString; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -317,11 +317,11 @@ export const Output = Type.Object({ >Type.String() : TString > : ^^^^^^^ >Type.String : () => TString -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >Type : typeof Type > : ^^^^^^^^^^^ >String : () => TString -> : ^^^^^^^^^^^^^ +> : ^^^^^^ bar: Type.String(), >bar : TString @@ -329,11 +329,11 @@ export const Output = Type.Object({ >Type.String() : TString > : ^^^^^^^ >Type.String : () => TString -> : ^^^^^^^^^^^^^ +> : ^^^^^^ >Type : typeof Type > : ^^^^^^^^^^^ >String : () => TString -> : ^^^^^^^^^^^^^ +> : ^^^^^^ }) }) @@ -351,8 +351,8 @@ function problematicFunction1(ors: Input[]): Output[] { } function problematicFunction2(ors: Input[]): T { ->problematicFunction2 : (ors: Input[]) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +>problematicFunction2 : (ors: Input[]) => T +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >ors : { level1: { level2: { foo: string; }; }; }[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -540,7 +540,7 @@ declare namespace Type { function Object(object: T): TObject >Object : (object: T) => TObject -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >object : T > : ^ diff --git a/tests/baselines/reference/defaultArgsInFunctionExpressions.types b/tests/baselines/reference/defaultArgsInFunctionExpressions.types index ed99bd81f3cf6..07a036eac06d7 100644 --- a/tests/baselines/reference/defaultArgsInFunctionExpressions.types +++ b/tests/baselines/reference/defaultArgsInFunctionExpressions.types @@ -141,7 +141,7 @@ var f5: (a: (s: string) => any) => void = function (a = s => s) { }; >function (a = s => s) { } : (a?: (s: string) => any) => void > : ^ ^^^^ ^^ ^^^^^ ^^^^^^^^^ >a : (s: string) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >s => s : (s: string) => number > : ^ ^^^^^^^^^^^^^ >s : string diff --git a/tests/baselines/reference/defaultBestCommonTypesHaveDecls.types b/tests/baselines/reference/defaultBestCommonTypesHaveDecls.types index ded1cd949cf9e..46b9066d53e55 100644 --- a/tests/baselines/reference/defaultBestCommonTypesHaveDecls.types +++ b/tests/baselines/reference/defaultBestCommonTypesHaveDecls.types @@ -39,7 +39,7 @@ var result = concat(1, ""); // error >concat(1, "") : 1 > : ^ >concat : (x: T, y: T) => T -> : ^ ^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >1 : 1 > : ^ >"" : "" diff --git a/tests/baselines/reference/defaultDeclarationEmitNamedCorrectly.types b/tests/baselines/reference/defaultDeclarationEmitNamedCorrectly.types index 2d30d371b41ff..44e201fb7d6df 100644 --- a/tests/baselines/reference/defaultDeclarationEmitNamedCorrectly.types +++ b/tests/baselines/reference/defaultDeclarationEmitNamedCorrectly.types @@ -39,7 +39,7 @@ export default class MyComponent { >make(MyComponent) : Things > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >make : (x: { new (): CTor & { props: P; }; }) => Things -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >MyComponent : typeof MyComponent > : ^^^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/defaultDeclarationEmitShadowedNamedCorrectly.types b/tests/baselines/reference/defaultDeclarationEmitShadowedNamedCorrectly.types index 3b2e5c9f3ecf2..4301a2eb713c3 100644 --- a/tests/baselines/reference/defaultDeclarationEmitShadowedNamedCorrectly.types +++ b/tests/baselines/reference/defaultDeclarationEmitShadowedNamedCorrectly.types @@ -52,8 +52,8 @@ export namespace Something { > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >make(me.default) : me.Things > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->make : (x: { new (): CTor & { props: P; }; }) => me.Things -> : ^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +>make : (x: { new (): CTor & { props: P; }; }) => Things +> : ^ ^^ ^^ ^^ ^^^^^ >me.default : typeof me.default > : ^^^^^^^^^^^^^^^^^ >me : typeof me diff --git a/tests/baselines/reference/defaultExportInAwaitExpression01.types b/tests/baselines/reference/defaultExportInAwaitExpression01.types index d6aaaf5d86c80..3d824cdf560f0 100644 --- a/tests/baselines/reference/defaultExportInAwaitExpression01.types +++ b/tests/baselines/reference/defaultExportInAwaitExpression01.types @@ -9,15 +9,15 @@ const x = new Promise( ( resolve, reject ) => { resolve( {} ); } ); >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >( resolve, reject ) => { resolve( {} ); } : (resolve: (value: unknown) => void, reject: (reason?: any) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^ ^^^^^^^^^ >resolve : (value: unknown) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ >reject : (reason?: any) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >resolve( {} ) : void > : ^^^^ >resolve : (value: unknown) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ >{} : {} > : ^^ diff --git a/tests/baselines/reference/defaultExportInAwaitExpression02.types b/tests/baselines/reference/defaultExportInAwaitExpression02.types index 375a65b982f7a..92c9f50079bb2 100644 --- a/tests/baselines/reference/defaultExportInAwaitExpression02.types +++ b/tests/baselines/reference/defaultExportInAwaitExpression02.types @@ -9,15 +9,15 @@ const x = new Promise( ( resolve, reject ) => { resolve( {} ); } ); >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >( resolve, reject ) => { resolve( {} ); } : (resolve: (value: unknown) => void, reject: (reason?: any) => void) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^ ^^^^^^^^^ >resolve : (value: unknown) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ >reject : (reason?: any) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >resolve( {} ) : void > : ^^^^ >resolve : (value: unknown) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ >{} : {} > : ^^ diff --git a/tests/baselines/reference/defaultKeywordWithoutExport1.types b/tests/baselines/reference/defaultKeywordWithoutExport1.types index 63c5d3612138b..7cd6b1e36d14b 100644 --- a/tests/baselines/reference/defaultKeywordWithoutExport1.types +++ b/tests/baselines/reference/defaultKeywordWithoutExport1.types @@ -9,6 +9,6 @@ declare function decorator(constructor: any): any; @decorator >decorator : (constructor: any) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ default class {} diff --git a/tests/baselines/reference/deferredLookupTypeResolution.types b/tests/baselines/reference/deferredLookupTypeResolution.types index 954b4330332b2..861d47f6f8e59 100644 --- a/tests/baselines/reference/deferredLookupTypeResolution.types +++ b/tests/baselines/reference/deferredLookupTypeResolution.types @@ -38,7 +38,7 @@ type T2 = ObjectHasKey<{ a: string }, 'b'>; // 'false' declare function f1(a: A, b: B): { [P in A | B]: any }; >f1 : (a: A, b: B) => { [P in A | B]: any; } -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a : A > : ^ >b : B @@ -46,7 +46,7 @@ declare function f1(a: A, b: B): { [P in A | function f2(a: A) { >f2 : (a: A) => { [P in A | "x"]: any; } -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : A > : ^ @@ -54,7 +54,7 @@ function f2(a: A) { >f1(a, 'x') : { [P in A | "x"]: any; } > : ^^^^^^^^^^^^^^^^^^^^^^^^ >f1 : (a: A_1, b: B) => { [P in A_1 | B]: any; } -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a : A > : ^ >'x' : "x" @@ -71,7 +71,7 @@ function f3(x: 'a' | 'b') { >f2(x) : { a: any; b: any; x: any; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >f2 : (a: A) => { [P in A | "x"]: any; } -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : "a" | "b" > : ^^^^^^^^^ } diff --git a/tests/baselines/reference/deleteChain.types b/tests/baselines/reference/deleteChain.types index b151eec17cb29..55f7028a4b8a6 100644 --- a/tests/baselines/reference/deleteChain.types +++ b/tests/baselines/reference/deleteChain.types @@ -13,7 +13,7 @@ delete o1?.b; >o1?.b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o1 : { b: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >b : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -25,7 +25,7 @@ delete (o1?.b); >o1?.b : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o1 : { b: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >b : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -43,11 +43,11 @@ delete o2?.b.c; >o2?.b.c : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.b : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o2 : { b: { c: string; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >b : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >c : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -59,11 +59,11 @@ delete (o2?.b.c); >o2?.b.c : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o2?.b : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o2 : { b: { c: string; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >b : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >c : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -81,11 +81,11 @@ delete o3.b?.c; >o3.b?.c : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o3.b : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o3 : { b: { c: string; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o3 : { b: undefined | { c: string; }; } +> : ^^^^^ ^^^ >b : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >c : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -97,11 +97,11 @@ delete (o3.b?.c); >o3.b?.c : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o3.b : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o3 : { b: { c: string; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o3 : { b: undefined | { c: string; }; } +> : ^^^^^ ^^^ >b : { c: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >c : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -123,19 +123,19 @@ delete o4.b?.c.d?.e; >o4.b?.c.d?.e : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o4.b?.c.d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o4.b?.c : { d?: { e: string; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o4.b : { c: { d?: { e: string; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o4 : { b?: { c: { d?: { e: string; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { c: { d?: { e: string; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->c : { d?: { e: string; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o4.b?.c : { d?: { e: string; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>o4.b : { c: { d?: { e: string; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o4 : { b?: { c: { d?: { e: string; }; }; }; } +> : ^^^^^^ ^^^ +>b : { c: { d?: { e: string; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>c : { d?: { e: string; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ >d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >e : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -145,21 +145,21 @@ delete (o4.b?.c.d)?.e; >(o4.b?.c.d)?.e : string | undefined > : ^^^^^^^^^^^^^^^^^^ >(o4.b?.c.d) : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >o4.b?.c.d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o4.b?.c : { d?: { e: string; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o4.b : { c: { d?: { e: string; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o4 : { b?: { c: { d?: { e: string; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { c: { d?: { e: string; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->c : { d?: { e: string; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o4.b?.c : { d?: { e: string; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>o4.b : { c: { d?: { e: string; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o4 : { b?: { c: { d?: { e: string; }; }; }; } +> : ^^^^^^ ^^^ +>b : { c: { d?: { e: string; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>c : { d?: { e: string; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ >d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >e : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -171,19 +171,19 @@ delete (o4.b?.c.d?.e); >o4.b?.c.d?.e : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o4.b?.c.d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o4.b?.c : { d?: { e: string; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o4.b : { c: { d?: { e: string; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o4 : { b?: { c: { d?: { e: string; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { c: { d?: { e: string; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->c : { d?: { e: string; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o4.b?.c : { d?: { e: string; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>o4.b : { c: { d?: { e: string; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o4 : { b?: { c: { d?: { e: string; }; }; }; } +> : ^^^^^^ ^^^ +>b : { c: { d?: { e: string; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>c : { d?: { e: string; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ >d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >e : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -205,21 +205,21 @@ delete o5.b?.().c.d?.e; >o5.b?.().c.d?.e : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o5.b?.().c.d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.b?.().c : { d?: { e: string; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.b?.() : { c: { d?: { e: string; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.b : (() => { c: { d?: { e: string; } | undefined; }; }) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : { b?(): { c: { d?: { e: string; } | undefined; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : (() => { c: { d?: { e: string; } | undefined; }; }) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->c : { d?: { e: string; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5.b?.().c : { d?: { e: string; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>o5.b?.() : { c: { d?: { e: string; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5.b : (() => { c: { d?: { e: string; }; }; }) | undefined +> : ^^^^^^^ ^^^^^^^^^^^^^ +>o5 : { b?(): { c: { d?: { e: string; }; }; }; } +> : ^^^^^^^^ ^^^ +>b : (() => { c: { d?: { e: string; }; }; }) | undefined +> : ^^^^^^^ ^^^^^^^^^^^^^ +>c : { d?: { e: string; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ >d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >e : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -231,21 +231,21 @@ delete (o5.b?.().c.d?.e); >o5.b?.().c.d?.e : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o5.b?.().c.d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.b?.().c : { d?: { e: string; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.b?.() : { c: { d?: { e: string; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5.b : (() => { c: { d?: { e: string; } | undefined; }; }) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o5 : { b?(): { c: { d?: { e: string; } | undefined; }; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : (() => { c: { d?: { e: string; } | undefined; }; }) | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->c : { d?: { e: string; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5.b?.().c : { d?: { e: string; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>o5.b?.() : { c: { d?: { e: string; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o5.b : (() => { c: { d?: { e: string; }; }; }) | undefined +> : ^^^^^^^ ^^^^^^^^^^^^^ +>o5 : { b?(): { c: { d?: { e: string; }; }; }; } +> : ^^^^^^^^ ^^^ +>b : (() => { c: { d?: { e: string; }; }; }) | undefined +> : ^^^^^^^ ^^^^^^^^^^^^^ +>c : { d?: { e: string; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ >d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >e : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -267,19 +267,19 @@ delete o6.b?.['c'].d?.['e']; >o6.b?.['c'].d?.['e'] : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o6.b?.['c'].d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o6.b?.['c'] : { d?: { e: string; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o6.b : { c: { d?: { e: string; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o6 : { b?: { c: { d?: { e: string; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { c: { d?: { e: string; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o6.b?.['c'] : { d?: { e: string; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>o6.b : { c: { d?: { e: string; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o6 : { b?: { c: { d?: { e: string; }; }; }; } +> : ^^^^^^ ^^^ +>b : { c: { d?: { e: string; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ >'c' : "c" > : ^^^ >d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >'e' : "e" > : ^^^ @@ -291,19 +291,19 @@ delete (o6.b?.['c'].d?.['e']); >o6.b?.['c'].d?.['e'] : string | undefined > : ^^^^^^^^^^^^^^^^^^ >o6.b?.['c'].d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o6.b?.['c'] : { d?: { e: string; } | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o6.b : { c: { d?: { e: string; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->o6 : { b?: { c: { d?: { e: string; } | undefined; }; } | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->b : { c: { d?: { e: string; } | undefined; }; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o6.b?.['c'] : { d?: { e: string; }; } | undefined +> : ^^^^^^ ^^^^^^^^^^^^^^^ +>o6.b : { c: { d?: { e: string; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ +>o6 : { b?: { c: { d?: { e: string; }; }; }; } +> : ^^^^^^ ^^^ +>b : { c: { d?: { e: string; }; }; } | undefined +> : ^^^^^ ^^^^^^^^^^^^^^^ >'c' : "c" > : ^^^ >d : { e: string; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^^^^^ >'e' : "e" > : ^^^ diff --git a/tests/baselines/reference/deleteOperatorInvalidOperations.types b/tests/baselines/reference/deleteOperatorInvalidOperations.types index 71bc70b795c57..51b34041cae70 100644 --- a/tests/baselines/reference/deleteOperatorInvalidOperations.types +++ b/tests/baselines/reference/deleteOperatorInvalidOperations.types @@ -39,6 +39,6 @@ class testADelx { >delete s : boolean > : ^^^^^^^ >s : () => {} -> : ^^^^^^^^ +> : ^^^^^^ } } diff --git a/tests/baselines/reference/deleteOperatorWithAnyOtherType.types b/tests/baselines/reference/deleteOperatorWithAnyOtherType.types index 02e8c52eff22c..6ea3ba1c7bb45 100644 --- a/tests/baselines/reference/deleteOperatorWithAnyOtherType.types +++ b/tests/baselines/reference/deleteOperatorWithAnyOtherType.types @@ -127,7 +127,7 @@ var ResultIsBoolean5 = delete obj; >delete obj : boolean > : ^^^^^^^ >obj : () => {} -> : ^^^^^^^^ +> : ^^^^^^ var ResultIsBoolean6 = delete obj1; >ResultIsBoolean6 : boolean @@ -221,7 +221,7 @@ var ResultIsBoolean14 = delete foo(); >foo() : any > : ^^^ >foo : () => any -> : ^^^^^^^^^ +> : ^^^^^^ var ResultIsBoolean15 = delete A.foo(); >ResultIsBoolean15 : boolean diff --git a/tests/baselines/reference/deleteOperatorWithBooleanType.types b/tests/baselines/reference/deleteOperatorWithBooleanType.types index b2a3eee79f0d0..379e583d322b8 100644 --- a/tests/baselines/reference/deleteOperatorWithBooleanType.types +++ b/tests/baselines/reference/deleteOperatorWithBooleanType.types @@ -110,7 +110,7 @@ var ResultIsBoolean6 = delete foo(); >foo() : boolean > : ^^^^^^^ >foo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsBoolean7 = delete A.foo(); >ResultIsBoolean7 : boolean @@ -156,7 +156,7 @@ delete foo(); >foo() : boolean > : ^^^^^^^ >foo : () => boolean -> : ^^^^^^^^^^^^^ +> : ^^^^^^ delete true, false; >delete true, false : false diff --git a/tests/baselines/reference/deleteOperatorWithNumberType.types b/tests/baselines/reference/deleteOperatorWithNumberType.types index 00d9b0e220d4f..a2379e7568dfe 100644 --- a/tests/baselines/reference/deleteOperatorWithNumberType.types +++ b/tests/baselines/reference/deleteOperatorWithNumberType.types @@ -160,7 +160,7 @@ var ResultIsBoolean9 = delete foo(); >foo() : number > : ^^^^^^ >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsBoolean10 = delete A.foo(); >ResultIsBoolean10 : boolean @@ -244,7 +244,7 @@ delete foo(); >foo() : number > : ^^^^^^ >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ delete objA.a; >delete objA.a : boolean diff --git a/tests/baselines/reference/deleteOperatorWithStringType.types b/tests/baselines/reference/deleteOperatorWithStringType.types index 257420cbded1c..e9c54756f4410 100644 --- a/tests/baselines/reference/deleteOperatorWithStringType.types +++ b/tests/baselines/reference/deleteOperatorWithStringType.types @@ -160,7 +160,7 @@ var ResultIsBoolean9 = delete foo(); >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var ResultIsBoolean10 = delete A.foo(); >ResultIsBoolean10 : boolean @@ -198,11 +198,11 @@ var ResultIsBoolean12 = delete STRING.charAt(0); >STRING.charAt(0) : string > : ^^^^^^ >STRING.charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >STRING : string > : ^^^^^^ >charAt : (pos: number) => string -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >0 : 0 > : ^ @@ -260,7 +260,7 @@ delete foo(); >foo() : string > : ^^^^^^ >foo : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ delete objA.a,M.n; >delete objA.a,M.n : string diff --git a/tests/baselines/reference/dependentDestructuredVariables.types b/tests/baselines/reference/dependentDestructuredVariables.types index 2c9d385bebe84..1ee5b445027b7 100644 --- a/tests/baselines/reference/dependentDestructuredVariables.types +++ b/tests/baselines/reference/dependentDestructuredVariables.types @@ -41,11 +41,11 @@ function f10({ kind, payload }: Action) { >payload.toFixed() : string > : ^^^^^^ >payload.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >payload : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } if (kind === 'B') { >kind === 'B' : boolean @@ -59,11 +59,11 @@ function f10({ kind, payload }: Action) { >payload.toUpperCase() : string > : ^^^^^^ >payload.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >payload : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } @@ -93,11 +93,11 @@ function f11(action: Action) { >payload.toFixed() : string > : ^^^^^^ >payload.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >payload : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } if (kind === 'B') { >kind === 'B' : boolean @@ -111,11 +111,11 @@ function f11(action: Action) { >payload.toUpperCase() : string > : ^^^^^^ >payload.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >payload : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } @@ -139,11 +139,11 @@ function f12({ kind, payload }: Action) { >payload.toFixed() : string > : ^^^^^^ >payload.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >payload : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ break; case 'B': @@ -154,11 +154,11 @@ function f12({ kind, payload }: Action) { >payload.toUpperCase() : string > : ^^^^^^ >payload.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >payload : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ break; default: @@ -171,7 +171,7 @@ function f12({ kind, payload }: Action) { // repro #50206 function f13({ kind, payload }: T) { >f13 : ({ kind, payload }: T) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >kind : "A" | "B" > : ^^^^^^^^^ >payload : string | number @@ -189,11 +189,11 @@ function f13({ kind, payload }: T) { >payload.toFixed() : string > : ^^^^^^ >payload.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >payload : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } if (kind === 'B') { >kind === 'B' : boolean @@ -207,17 +207,17 @@ function f13({ kind, payload }: T) { >payload.toUpperCase() : string > : ^^^^^^ >payload.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >payload : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } function f14(t: T) { >f14 : (t: T) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >t : T > : ^ @@ -241,11 +241,11 @@ function f14(t: T) { >payload.toFixed() : string > : ^^^^^^ >payload.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >payload : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } if (kind === 'B') { >kind === 'B' : boolean @@ -259,11 +259,11 @@ function f14(t: T) { >payload.toUpperCase() : string > : ^^^^^^ >payload.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >payload : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } @@ -307,11 +307,11 @@ function f20({ kind, payload }: Action2) { >payload.toFixed() : string > : ^^^^^^ >payload.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >payload : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } if (kind === 'B') { >kind === 'B' : boolean @@ -325,11 +325,11 @@ function f20({ kind, payload }: Action2) { >payload.toUpperCase() : string > : ^^^^^^ >payload.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >payload : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } } @@ -364,11 +364,11 @@ function f21(action: Action2) { >payload.toFixed() : string > : ^^^^^^ >payload.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >payload : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } if (kind === 'B') { >kind === 'B' : boolean @@ -382,11 +382,11 @@ function f21(action: Action2) { >payload.toUpperCase() : string > : ^^^^^^ >payload.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >payload : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } } @@ -425,11 +425,11 @@ function f22(action: Action2) { >payload.toFixed() : string > : ^^^^^^ >payload.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >payload : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } if (kind === 'B') { >kind === 'B' : boolean @@ -443,11 +443,11 @@ function f22(action: Action2) { >payload.toUpperCase() : string > : ^^^^^^ >payload.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >payload : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } } @@ -476,11 +476,11 @@ function f23({ kind, payload }: Action2) { >payload.toFixed() : string > : ^^^^^^ >payload.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >payload : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ break; case 'B': @@ -491,11 +491,11 @@ function f23({ kind, payload }: Action2) { >payload.toUpperCase() : string > : ^^^^^^ >payload.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >payload : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ break; default: @@ -617,11 +617,11 @@ function f40(...[kind, data]: Args) { >data.toFixed() : string > : ^^^^^^ >data.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >data : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } if (kind === 'B') { >kind === 'B' : boolean @@ -635,11 +635,11 @@ function f40(...[kind, data]: Args) { >data.toUpperCase() : string > : ^^^^^^ >data.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >data : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } } @@ -699,7 +699,7 @@ function unrefined1(ab: AB): void { >printValue(value) : void > : ^^^^ >printValue : (t: T_1) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >value : T > : ^ } @@ -708,7 +708,7 @@ function unrefined1(ab: AB): void { >printValueList(value) : void > : ^^^^ >printValueList : (t: Array) => void -> : ^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >value : T[] > : ^^^ } @@ -746,7 +746,7 @@ const reducerBroken = (state: number, { type, payload }: Action3) => { >type : "add" | "remove" > : ^^^^^^^^^^^^^^^^ >payload : { toAdd: number; } | { toRemove: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^ switch (type) { >type : "add" | "remove" @@ -764,7 +764,7 @@ const reducerBroken = (state: number, { type, payload }: Action3) => { >payload.toAdd : number > : ^^^^^^ >payload : { toAdd: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >toAdd : number > : ^^^^^^ @@ -780,7 +780,7 @@ const reducerBroken = (state: number, { type, payload }: Action3) => { >payload.toRemove : number > : ^^^^^^ >payload : { toRemove: number; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^ >toRemove : number > : ^^^^^^ } @@ -800,11 +800,11 @@ const { value, done } = it.next(); >it.next() : IteratorResult > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >it.next : (...args: [] | [undefined]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^ >it : Iterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >next : (...args: [] | [undefined]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^ if (!done) { >!done : boolean @@ -831,7 +831,7 @@ f50((kind, data) => { >f50((kind, data) => { if (kind === 'A') { data.toFixed(); } if (kind === 'B') { data.toUpperCase(); }}) : void > : ^^^^ >f50 : (cb: (...args: Args) => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >(kind, data) => { if (kind === 'A') { data.toFixed(); } if (kind === 'B') { data.toUpperCase(); }} : (kind: "A" | "B", data: string | number) => void > : ^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >kind : "A" | "B" @@ -851,11 +851,11 @@ f50((kind, data) => { >data.toFixed() : string > : ^^^^^^ >data.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >data : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } if (kind === 'B') { >kind === 'B' : boolean @@ -869,11 +869,11 @@ f50((kind, data) => { >data.toUpperCase() : string > : ^^^^^^ >data.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >data : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } }); @@ -901,11 +901,11 @@ const f51: (...args: ['A', number] | ['B', string]) => void = (kind, payload) => >payload.toFixed() : string > : ^^^^^^ >payload.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >payload : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } if (kind === 'B') { >kind === 'B' : boolean @@ -919,11 +919,11 @@ const f51: (...args: ['A', number] | ['B', string]) => void = (kind, payload) => >payload.toUpperCase() : string > : ^^^^^^ >payload.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >payload : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } }; @@ -951,11 +951,11 @@ const f52: (...args: ['A', number] | ['B']) => void = (kind, payload?) => { >payload.toFixed() : string > : ^^^^^^ >payload.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >payload : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } else { payload; // undefined @@ -978,7 +978,7 @@ readFile('hello', (err, data) => { >readFile('hello', (err, data) => { if (err === null) { data.length; } else { err.message; }}) : void > : ^^^^ >readFile : (path: string, callback: (...args: [err: null, data: unknown[]] | [err: Error, data: undefined]) => void) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >'hello' : "hello" > : ^^^^^^^ >(err, data) => { if (err === null) { data.length; } else { err.message; }} : (err: Error | null, data: unknown[] | undefined) => void @@ -1031,11 +1031,11 @@ const reducer: (...args: ReducerArgs) => void = (op, args) => { >args : ReducerArgs > : ^^^^^^^^^^^ >(op, args) => { switch (op) { case "add": console.log(args.a + args.b); break; case "concat": console.log(args.firstArr.concat(args.secondArr)); break; }} : (op: "add" | "concat", args: { a: number; b: number; } | { firstArr: any[]; secondArr: any[]; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^ >op : "add" | "concat" > : ^^^^^^^^^^^^^^^^ >args : { a: number; b: number; } | { firstArr: any[]; secondArr: any[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ switch (op) { >op : "add" | "concat" @@ -1049,23 +1049,23 @@ const reducer: (...args: ReducerArgs) => void = (op, args) => { >console.log(args.a + args.b) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >args.a + args.b : number > : ^^^^^^ >args.a : number > : ^^^^^^ >args : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >a : number > : ^^^^^^ >args.b : number > : ^^^^^^ >args : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >b : number > : ^^^^^^ @@ -1078,27 +1078,27 @@ const reducer: (...args: ReducerArgs) => void = (op, args) => { >console.log(args.firstArr.concat(args.secondArr)) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >args.firstArr.concat(args.secondArr) : any[] > : ^^^^^ >args.firstArr.concat : { (...items: ConcatArray[]): any[]; (...items: any[]): any[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^ ^^^ >args.firstArr : any[] > : ^^^^^ >args : { firstArr: any[]; secondArr: any[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >firstArr : any[] > : ^^^^^ >concat : { (...items: ConcatArray[]): any[]; (...items: any[]): any[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^ ^^^ >args.secondArr : any[] > : ^^^^^ >args : { firstArr: any[]; secondArr: any[]; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^ >secondArr : any[] > : ^^^^^ @@ -1110,7 +1110,7 @@ reducer("add", { a: 1, b: 3 }); >reducer("add", { a: 1, b: 3 }) : void > : ^^^^ >reducer : (...args: ReducerArgs) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"add" : "add" > : ^^^^^ >{ a: 1, b: 3 } : { a: number; b: number; } @@ -1128,7 +1128,7 @@ reducer("concat", { firstArr: [1, 2], secondArr: [3, 4] }); >reducer("concat", { firstArr: [1, 2], secondArr: [3, 4] }) : void > : ^^^^ >reducer : (...args: ReducerArgs) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"concat" : "concat" > : ^^^^^^^^ >{ firstArr: [1, 2], secondArr: [3, 4] } : { firstArr: number[]; secondArr: number[]; } @@ -1177,15 +1177,15 @@ let fooM: FooMethod = { >fooM : FooMethod > : ^^^^^^^^^ >{ method(type, cb) { if (type == 'num') { cb(123) } else { cb("abc") } }} : { method(type: "str" | "num", cb: ((e: string) => void) | ((e: number) => void)): void; } -> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^ method(type, cb) { >method : (type: "str" | "num", cb: ((e: string) => void) | ((e: number) => void)) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^^^^^ >type : "str" | "num" > : ^^^^^^^^^^^^^ >cb : ((e: string) => void) | ((e: number) => void) -> : ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ if (type == 'num') { >type == 'num' : boolean @@ -1199,7 +1199,7 @@ let fooM: FooMethod = { >cb(123) : void > : ^^^^ >cb : (e: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >123 : 123 > : ^^^ @@ -1208,7 +1208,7 @@ let fooM: FooMethod = { >cb("abc") : void > : ^^^^ >cb : (e: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"abc" : "abc" > : ^^^^^ } @@ -1240,15 +1240,15 @@ let fooAsyncM: FooAsyncMethod = { >fooAsyncM : FooAsyncMethod > : ^^^^^^^^^^^^^^ >{ async method(type, cb) { if (type == 'num') { cb(123) } else { cb("abc") } }} : { method(type: "str" | "num", cb: ((e: string) => void) | ((e: number) => void)): Promise; } -> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^ async method(type, cb) { >method : (type: "str" | "num", cb: ((e: string) => void) | ((e: number) => void)) => Promise -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^ >type : "str" | "num" > : ^^^^^^^^^^^^^ >cb : ((e: string) => void) | ((e: number) => void) -> : ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ if (type == 'num') { >type == 'num' : boolean @@ -1262,7 +1262,7 @@ let fooAsyncM: FooAsyncMethod = { >cb(123) : void > : ^^^^ >cb : (e: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >123 : 123 > : ^^^ @@ -1271,7 +1271,7 @@ let fooAsyncM: FooAsyncMethod = { >cb("abc") : void > : ^^^^ >cb : (e: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"abc" : "abc" > : ^^^^^ } @@ -1303,15 +1303,15 @@ let fooGenM: FooGenMethod = { >fooGenM : FooGenMethod > : ^^^^^^^^^^^^ >{ *method(type, cb) { if (type == 'num') { cb(123) } else { cb("abc") } }} : { method(type: "str" | "num", cb: ((e: string) => void) | ((e: number) => void)): Generator; } -> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ *method(type, cb) { >method : (type: "str" | "num", cb: ((e: string) => void) | ((e: number) => void)) => Generator -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >type : "str" | "num" > : ^^^^^^^^^^^^^ >cb : ((e: string) => void) | ((e: number) => void) -> : ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ if (type == 'num') { >type == 'num' : boolean @@ -1325,7 +1325,7 @@ let fooGenM: FooGenMethod = { >cb(123) : void > : ^^^^ >cb : (e: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >123 : 123 > : ^^^ @@ -1334,7 +1334,7 @@ let fooGenM: FooGenMethod = { >cb("abc") : void > : ^^^^ >cb : (e: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"abc" : "abc" > : ^^^^^ } @@ -1366,15 +1366,15 @@ let fooAsyncGenM: FooAsyncGenMethod = { >fooAsyncGenM : FooAsyncGenMethod > : ^^^^^^^^^^^^^^^^^ >{ async *method(type, cb) { if (type == 'num') { cb(123) } else { cb("abc") } }} : { method(type: "str" | "num", cb: ((e: string) => void) | ((e: number) => void)): AsyncGenerator; } -> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ async *method(type, cb) { >method : (type: "str" | "num", cb: ((e: string) => void) | ((e: number) => void)) => AsyncGenerator -> : ^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >type : "str" | "num" > : ^^^^^^^^^^^^^ >cb : ((e: string) => void) | ((e: number) => void) -> : ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^^^^ ^ if (type == 'num') { >type == 'num' : boolean @@ -1388,7 +1388,7 @@ let fooAsyncGenM: FooAsyncGenMethod = { >cb(123) : void > : ^^^^ >cb : (e: number) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >123 : 123 > : ^^^ @@ -1397,7 +1397,7 @@ let fooAsyncGenM: FooAsyncGenMethod = { >cb("abc") : void > : ^^^^ >cb : (e: string) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >"abc" : "abc" > : ^^^^^ } @@ -1416,7 +1416,7 @@ const f60: Func = (kind, payload) => { >f60 : Func > : ^^^^ >(kind, payload) => { if (kind === "a") { payload.toFixed(); // error } if (kind === "b") { payload.toUpperCase(); // error }} : (kind: T[0], payload: T[1]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^^^^ ^^^^^^^^^^^^^^^ >kind : T[0] > : ^^^^ >payload : T[1] @@ -1434,11 +1434,11 @@ const f60: Func = (kind, payload) => { >payload.toFixed() : string > : ^^^^^^ >payload.toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >payload : number > : ^^^^^^ >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ } if (kind === "b") { >kind === "b" : boolean @@ -1452,11 +1452,11 @@ const f60: Func = (kind, payload) => { >payload.toUpperCase() : string > : ^^^^^^ >payload.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >payload : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ } }; @@ -1632,7 +1632,7 @@ function fa2(x: { guard: true, value: number } | { guard: false, value: string } >value : string | number > : ^^^^^^^^^^^^^^^ >x : { guard: true; value: number; } | { guard: false; value: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^ if (guard) { >guard : boolean @@ -1720,7 +1720,7 @@ declare class Client { public on(event: K, listener: (...args: ClientEvents[K]) => void): void; >on : (event: K, listener: (...args: ClientEvents[K]) => void) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >event : K > : ^ >listener : (...args: ClientEvents[K]) => void @@ -1741,11 +1741,11 @@ bot.on("shardDisconnect", (event, shard) => console.log(`Shard ${shard} disconne >bot.on("shardDisconnect", (event, shard) => console.log(`Shard ${shard} disconnected (${event.code},${event.wasClean}): ${event.reason}`)) : void > : ^^^^ >bot.on : (event: K, listener: (...args: ClientEvents[K]) => void) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >bot : Client > : ^^^^^^ >on : (event: K, listener: (...args: ClientEvents[K]) => void) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >"shardDisconnect" : "shardDisconnect" > : ^^^^^^^^^^^^^^^^^ >(event, shard) => console.log(`Shard ${shard} disconnected (${event.code},${event.wasClean}): ${event.reason}`) : (event: CloseEvent, shard: number) => void @@ -1757,11 +1757,11 @@ bot.on("shardDisconnect", (event, shard) => console.log(`Shard ${shard} disconne >console.log(`Shard ${shard} disconnected (${event.code},${event.wasClean}): ${event.reason}`) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >`Shard ${shard} disconnected (${event.code},${event.wasClean}): ${event.reason}` : string > : ^^^^^^ >shard : number @@ -1789,11 +1789,11 @@ bot.on("shardDisconnect", event => console.log(`${event.code} ${event.wasClean} >bot.on("shardDisconnect", event => console.log(`${event.code} ${event.wasClean} ${event.reason}`)) : void > : ^^^^ >bot.on : (event: K, listener: (...args: ClientEvents[K]) => void) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >bot : Client > : ^^^^^^ >on : (event: K, listener: (...args: ClientEvents[K]) => void) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >"shardDisconnect" : "shardDisconnect" > : ^^^^^^^^^^^^^^^^^ >event => console.log(`${event.code} ${event.wasClean} ${event.reason}`) : (event: CloseEvent) => void @@ -1803,11 +1803,11 @@ bot.on("shardDisconnect", event => console.log(`${event.code} ${event.wasClean} >console.log(`${event.code} ${event.wasClean} ${event.reason}`) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >`${event.code} ${event.wasClean} ${event.reason}` : string > : ^^^^^^ >event.code : number @@ -1953,11 +1953,11 @@ function parameterReassigned1([x, y]: [1, 2] | [3, 4]) { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ x = 1; >x = 1 : 1 @@ -1993,11 +1993,11 @@ function parameterReassigned2([x, y]: [1, 2] | [3, 4]) { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ y = 2; >y = 2 : 2 @@ -2039,11 +2039,11 @@ const parameterReassignedContextualRest1: (...args: [1, 2] | [3, 4]) => void = ( >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ y = 2; >y = 2 : 2 diff --git a/tests/baselines/reference/dependentDestructuredVariablesFromNestedPatterns.types b/tests/baselines/reference/dependentDestructuredVariablesFromNestedPatterns.types index cfd3b19243f44..7d871cf0349ca 100644 --- a/tests/baselines/reference/dependentDestructuredVariablesFromNestedPatterns.types +++ b/tests/baselines/reference/dependentDestructuredVariablesFromNestedPatterns.types @@ -49,7 +49,7 @@ function test2([[p1, p1Error]]: [[undefined, Error] | [number, undefined]]) { async function myAllSettled(fn: () => T) { >myAllSettled : (fn: () => T) => Promise<{ [K in keyof T]: [undefined, Error] | [Awaited, undefined]; }> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >fn : () => T > : ^^^^^^ @@ -60,16 +60,16 @@ async function myAllSettled(fn: () => T) { > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise.allSettled(fn()) : Promise<{ -readonly [P in keyof T]: PromiseSettledResult>; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->Promise.allSettled : { (values: T_1): Promise<{ -readonly [P in keyof T_1]: PromiseSettledResult>; }>; (values: Iterable>): Promise>[]>; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.allSettled : { (values: T_1): Promise<{ -readonly [P in keyof T_1]: PromiseSettledResult>; }>; (values: Iterable>): Promise>[]>; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->allSettled : { (values: T_1): Promise<{ -readonly [P in keyof T_1]: PromiseSettledResult>; }>; (values: Iterable>): Promise>[]>; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>allSettled : { (values: T_1): Promise<{ -readonly [P in keyof T_1]: PromiseSettledResult>; }>; (values: Iterable>): Promise>[]>; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >fn() : T > : ^ >fn : () => T -> : ^^^^^^^ +> : ^^^^^^ return promises.map((result) => >promises.map((result) => result.status === "fulfilled" ? [result.value, undefined] : [undefined, new Error(String(result.reason))], ) as { [K in keyof T]: [Awaited, undefined] | [undefined, Error] } : { [K in keyof T]: [undefined, Error] | [Awaited, undefined]; } @@ -77,11 +77,11 @@ async function myAllSettled(fn: () => T) { >promises.map((result) => result.status === "fulfilled" ? [result.value, undefined] : [undefined, new Error(String(result.reason))], ) : ([undefined, Error] | [unknown, undefined])[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >promises.map : (callbackfn: (value: PromiseSettledResult, index: number, array: PromiseSettledResult[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >promises : { -readonly [P in keyof T]: PromiseSettledResult>; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >map : (callbackfn: (value: PromiseSettledResult, index: number, array: PromiseSettledResult[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >(result) => result.status === "fulfilled" ? [result.value, undefined] : [undefined, new Error(String(result.reason))] : (result: PromiseSettledResult) => [undefined, Error] | [unknown, undefined] > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >result : PromiseSettledResult @@ -151,7 +151,7 @@ async function test3() { >myAllSettled( () => [Promise.resolve(0), Promise.reject(1)] as const, ) : Promise<[[undefined, Error] | [number, undefined], [undefined, Error] | [never, undefined]]> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >myAllSettled : (fn: () => T) => Promise<{ [K in keyof T]: [undefined, Error] | [Awaited, undefined]; }> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ () => [Promise.resolve(0), Promise.reject(1)] as const, >() => [Promise.resolve(0), Promise.reject(1)] as const : () => [Promise, Promise] @@ -162,22 +162,22 @@ async function test3() { > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Promise.resolve(0) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >0 : 0 > : ^ >Promise.reject(1) : Promise > : ^^^^^^^^^^^^^^ >Promise.reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ >reject : (reason?: any) => Promise -> : ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^ ^^^ ^^^^^ >1 : 1 > : ^ @@ -204,11 +204,11 @@ function test4([[p1, p1Error]]: [[undefined, Error] | [number, undefined]]) { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ p1 = undefined; >p1 = undefined : undefined diff --git a/tests/baselines/reference/derivedClassConstructorWithExplicitReturns01.types b/tests/baselines/reference/derivedClassConstructorWithExplicitReturns01.types index 4dc19a401ce19..7c5eebffee248 100644 --- a/tests/baselines/reference/derivedClassConstructorWithExplicitReturns01.types +++ b/tests/baselines/reference/derivedClassConstructorWithExplicitReturns01.types @@ -77,11 +77,11 @@ class D extends C { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >0.5 : 0.5 > : ^^^ diff --git a/tests/baselines/reference/derivedClassOverridesProtectedMembers.types b/tests/baselines/reference/derivedClassOverridesProtectedMembers.types index 813dbed489aae..7603e765cc998 100644 --- a/tests/baselines/reference/derivedClassOverridesProtectedMembers.types +++ b/tests/baselines/reference/derivedClassOverridesProtectedMembers.types @@ -21,81 +21,81 @@ class Base { protected a: typeof x; >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ protected b(a: typeof x) { } >b : (a: typeof x) => void > : ^ ^^ ^^^^^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ protected get c() { return x; } >c : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ protected set c(v: typeof x) { } >c : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >v : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ protected d: (a: typeof x) => void; >d : (a: typeof x) => void > : ^ ^^ ^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ protected static r: typeof x; >r : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ protected static s(a: typeof x) { } >s : (a: typeof x) => void > : ^ ^^ ^^^^^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ protected static get t() { return x; } >t : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ protected static set t(v: typeof x) { } >t : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >v : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ protected static u: (a: typeof x) => void; >u : (a: typeof x) => void > : ^ ^^ ^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ constructor(a: typeof x) { } >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } class Derived extends Base { @@ -106,86 +106,86 @@ class Derived extends Base { protected a: typeof y; >a : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ protected b(a: typeof y) { } >b : (a: typeof y) => void > : ^ ^^ ^^^^^^^^^ >a : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ protected get c() { return y; } >c : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ protected set c(v: typeof y) { } >c : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >v : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ protected d: (a: typeof y) => void; >d : (a: typeof y) => void > : ^ ^^ ^^^^^ >a : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ protected static r: typeof y; >r : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ protected static s(a: typeof y) { } >s : (a: typeof y) => void > : ^ ^^ ^^^^^^^^^ >a : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ protected static get t() { return y; } >t : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ protected static set t(a: typeof y) { } >t : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >a : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ protected static u: (a: typeof y) => void; >u : (a: typeof y) => void > : ^ ^^ ^^^^^ >a : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ constructor(a: typeof y) { super(x) } >a : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >super(x) : void > : ^^^^ >super : typeof Base > : ^^^^^^^^^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } diff --git a/tests/baselines/reference/derivedClassOverridesProtectedMembers2.types b/tests/baselines/reference/derivedClassOverridesProtectedMembers2.types index ca825cabb0033..6f707b8aaee38 100644 --- a/tests/baselines/reference/derivedClassOverridesProtectedMembers2.types +++ b/tests/baselines/reference/derivedClassOverridesProtectedMembers2.types @@ -21,81 +21,81 @@ class Base { protected a: typeof x; >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ protected b(a: typeof x) { } >b : (a: typeof x) => void > : ^ ^^ ^^^^^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ protected get c() { return x; } >c : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ protected set c(v: typeof x) { } >c : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >v : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ protected d: (a: typeof x) => void ; >d : (a: typeof x) => void > : ^ ^^ ^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ protected static r: typeof x; >r : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ protected static s(a: typeof x) { } >s : (a: typeof x) => void > : ^ ^^ ^^^^^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ protected static get t() { return x; } >t : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ protected static set t(v: typeof x) { } >t : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >v : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ protected static u: (a: typeof x) => void ; >u : (a: typeof x) => void > : ^ ^^ ^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ constructor(a: typeof x) { } >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } // Increase visibility of all protected members to public @@ -107,87 +107,87 @@ class Derived extends Base { a: typeof y; >a : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ b(a: typeof y) { } >b : (a: typeof y) => void > : ^ ^^ ^^^^^^^^^ >a : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ get c() { return y; } >c : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ set c(v: typeof y) { } >c : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >v : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ d: (a: typeof y) => void; >d : (a: typeof y) => void > : ^ ^^ ^^^^^ >a : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ static r: typeof y; >r : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ static s(a: typeof y) { } >s : (a: typeof y) => void > : ^ ^^ ^^^^^^^^^ >a : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ static get t() { return y; } >t : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ static set t(a: typeof y) { } >t : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >a : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ static u: (a: typeof y) => void; >u : (a: typeof y) => void > : ^ ^^ ^^^^^ >a : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ constructor(a: typeof y) { super(a); } >a : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >super(a) : void > : ^^^^ >super : typeof Base > : ^^^^^^^^^^^ >a : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ } var d: Derived = new Derived(y); @@ -198,17 +198,17 @@ var d: Derived = new Derived(y); >Derived : typeof Derived > : ^^^^^^^^^^^^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ var r1 = d.a; >r1 : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >d.a : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >d : Derived > : ^^^^^^^ >a : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ var r2 = d.b(y); >r2 : void @@ -222,49 +222,49 @@ var r2 = d.b(y); >b : (a: typeof y) => void > : ^ ^^ ^^^^^^^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ var r3 = d.c; >r3 : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >d.c : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >d : Derived > : ^^^^^^^ >c : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ var r3a = d.d; >r3a : (a: typeof y) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >d.d : (a: typeof y) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >d : Derived > : ^^^^^^^ >d : (a: typeof y) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ d.c = y; >d.c = y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >d.c : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >d : Derived > : ^^^^^^^ >c : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ var r4 = Derived.r; >r4 : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >Derived.r : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >Derived : typeof Derived > : ^^^^^^^^^^^^^^ >r : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ var r5 = Derived.s(y); >r5 : void @@ -278,39 +278,39 @@ var r5 = Derived.s(y); >s : (a: typeof y) => void > : ^ ^^ ^^^^^^^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ var r6 = Derived.t; >r6 : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >Derived.t : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >Derived : typeof Derived > : ^^^^^^^^^^^^^^ >t : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ var r6a = Derived.u; >r6a : (a: typeof y) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >Derived.u : (a: typeof y) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >Derived : typeof Derived > : ^^^^^^^^^^^^^^ >u : (a: typeof y) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ Derived.t = y; >Derived.t = y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >Derived.t : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >Derived : typeof Derived > : ^^^^^^^^^^^^^^ >t : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ class Base2 { >Base2 : Base2 @@ -324,7 +324,7 @@ class Base2 { >i : number > : ^^^^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } class Derived2 extends Base2 { @@ -337,13 +337,13 @@ class Derived2 extends Base2 { >i : string > : ^^^^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ [i: number]: typeof y; >i : number > : ^^^^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ } var d2: Derived2; @@ -352,9 +352,9 @@ var d2: Derived2; var r7 = d2['']; >r7 : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >d2[''] : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >d2 : Derived2 > : ^^^^^^^^ >'' : "" @@ -362,9 +362,9 @@ var r7 = d2['']; var r8 = d2[1]; >r8 : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >d2[1] : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >d2 : Derived2 > : ^^^^^^^^ >1 : 1 diff --git a/tests/baselines/reference/derivedClassOverridesProtectedMembers3.types b/tests/baselines/reference/derivedClassOverridesProtectedMembers3.types index 049dca2fa706c..aa4409a7b9dc6 100644 --- a/tests/baselines/reference/derivedClassOverridesProtectedMembers3.types +++ b/tests/baselines/reference/derivedClassOverridesProtectedMembers3.types @@ -21,81 +21,81 @@ class Base { a: typeof x; >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ b(a: typeof x) { } >b : (a: typeof x) => void > : ^ ^^ ^^^^^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ get c() { return x; } >c : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ set c(v: typeof x) { } >c : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >v : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ d: (a: typeof x) => void; >d : (a: typeof x) => void > : ^ ^^ ^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ static r: typeof x; >r : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ static s(a: typeof x) { } >s : (a: typeof x) => void > : ^ ^^ ^^^^^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ static get t() { return x; } >t : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ static set t(v: typeof x) { } >t : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >v : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ static u: (a: typeof x) => void; >u : (a: typeof x) => void > : ^ ^^ ^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ constructor(a: typeof x) {} >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } // Errors @@ -108,21 +108,21 @@ class Derived1 extends Base { protected a: typeof x; >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ constructor(a: typeof x) { super(a); } >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >super(a) : void > : ^^^^ >super : typeof Base > : ^^^^^^^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } class Derived2 extends Base { @@ -135,21 +135,21 @@ class Derived2 extends Base { >b : (a: typeof x) => void > : ^ ^^ ^^^^^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ constructor(a: typeof x) { super(a); } >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >super(a) : void > : ^^^^ >super : typeof Base > : ^^^^^^^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } class Derived3 extends Base { @@ -160,21 +160,21 @@ class Derived3 extends Base { protected get c() { return x; } >c : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ constructor(a: typeof x) { super(a); } >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >super(a) : void > : ^^^^ >super : typeof Base > : ^^^^^^^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } class Derived4 extends Base { @@ -185,23 +185,23 @@ class Derived4 extends Base { protected set c(v: typeof x) { } >c : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >v : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ constructor(a: typeof x) { super(a); } >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >super(a) : void > : ^^^^ >super : typeof Base > : ^^^^^^^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } class Derived5 extends Base { @@ -214,21 +214,21 @@ class Derived5 extends Base { >d : (a: typeof x) => void > : ^ ^^ ^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ constructor(a: typeof x) { super(a); } >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >super(a) : void > : ^^^^ >super : typeof Base > : ^^^^^^^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } class Derived6 extends Base { @@ -239,21 +239,21 @@ class Derived6 extends Base { protected static r: typeof x; >r : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ constructor(a: typeof x) { super(a); } >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >super(a) : void > : ^^^^ >super : typeof Base > : ^^^^^^^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } class Derived7 extends Base { @@ -266,21 +266,21 @@ class Derived7 extends Base { >s : (a: typeof x) => void > : ^ ^^ ^^^^^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ constructor(a: typeof x) { super(a); } >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >super(a) : void > : ^^^^ >super : typeof Base > : ^^^^^^^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } class Derived8 extends Base { @@ -291,21 +291,21 @@ class Derived8 extends Base { protected static get t() { return x; } >t : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ constructor(a: typeof x) { super(a); } >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >super(a) : void > : ^^^^ >super : typeof Base > : ^^^^^^^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } class Derived9 extends Base { @@ -316,23 +316,23 @@ class Derived9 extends Base { protected static set t(v: typeof x) { } >t : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >v : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ constructor(a: typeof x) { super(a); } >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >super(a) : void > : ^^^^ >super : typeof Base > : ^^^^^^^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } class Derived10 extends Base { @@ -345,19 +345,19 @@ class Derived10 extends Base { >u : (a: typeof x) => void > : ^ ^^ ^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ constructor(a: typeof x) { super(a); } >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >super(a) : void > : ^^^^ >super : typeof Base > : ^^^^^^^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } diff --git a/tests/baselines/reference/derivedClassOverridesProtectedMembers4.types b/tests/baselines/reference/derivedClassOverridesProtectedMembers4.types index 0af5b462891ab..bbaef41824619 100644 --- a/tests/baselines/reference/derivedClassOverridesProtectedMembers4.types +++ b/tests/baselines/reference/derivedClassOverridesProtectedMembers4.types @@ -21,9 +21,9 @@ class Base { protected a: typeof x; >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } class Derived1 extends Base { @@ -34,9 +34,9 @@ class Derived1 extends Base { public a: typeof x; >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } class Derived2 extends Derived1 { @@ -47,7 +47,7 @@ class Derived2 extends Derived1 { protected a: typeof x; // Error, parent was public >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } diff --git a/tests/baselines/reference/derivedClassOverridesPublicMembers.types b/tests/baselines/reference/derivedClassOverridesPublicMembers.types index 726b068416b70..fe7ec6691bdff 100644 --- a/tests/baselines/reference/derivedClassOverridesPublicMembers.types +++ b/tests/baselines/reference/derivedClassOverridesPublicMembers.types @@ -21,81 +21,81 @@ class Base { a: typeof x; >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ b(a: typeof x) { } >b : (a: typeof x) => void > : ^ ^^ ^^^^^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ get c() { return x; } >c : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ set c(v: typeof x) { } >c : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >v : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ d: (a: typeof x) => void; >d : (a: typeof x) => void > : ^ ^^ ^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ static r: typeof x; >r : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ static s(a: typeof x) { } >s : (a: typeof x) => void > : ^ ^^ ^^^^^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ static get t() { return x; } >t : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ static set t(v: typeof x) { } >t : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >v : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ static u: (a: typeof x) => void; >u : (a: typeof x) => void > : ^ ^^ ^^^^^ >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ constructor(a: typeof x) { } >a : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } class Derived extends Base { @@ -106,87 +106,87 @@ class Derived extends Base { a: typeof y; >a : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ b(a: typeof y) { } >b : (a: typeof y) => void > : ^ ^^ ^^^^^^^^^ >a : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ get c() { return y; } >c : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ set c(v: typeof y) { } >c : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >v : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ d: (a: typeof y) => void; >d : (a: typeof y) => void > : ^ ^^ ^^^^^ >a : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ static r: typeof y; >r : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ static s(a: typeof y) { } >s : (a: typeof y) => void > : ^ ^^ ^^^^^^^^^ >a : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ static get t() { return y; } >t : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ static set t(a: typeof y) { } >t : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >a : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ static u: (a: typeof y) => void; >u : (a: typeof y) => void > : ^ ^^ ^^^^^ >a : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ constructor(a: typeof y) { super(x) } >a : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >super(x) : void > : ^^^^ >super : typeof Base > : ^^^^^^^^^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } var d: Derived = new Derived(y); @@ -197,17 +197,17 @@ var d: Derived = new Derived(y); >Derived : typeof Derived > : ^^^^^^^^^^^^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ var r1 = d.a; >r1 : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >d.a : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >d : Derived > : ^^^^^^^ >a : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ var r2 = d.b(y); >r2 : void @@ -221,49 +221,49 @@ var r2 = d.b(y); >b : (a: typeof y) => void > : ^ ^^ ^^^^^^^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ var r3 = d.c; >r3 : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >d.c : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >d : Derived > : ^^^^^^^ >c : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ var r3a = d.d; >r3a : (a: typeof y) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >d.d : (a: typeof y) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >d : Derived > : ^^^^^^^ >d : (a: typeof y) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ d.c = y; >d.c = y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >d.c : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >d : Derived > : ^^^^^^^ >c : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ var r4 = Derived.r; >r4 : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >Derived.r : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >Derived : typeof Derived > : ^^^^^^^^^^^^^^ >r : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ var r5 = Derived.s(y); >r5 : void @@ -277,39 +277,39 @@ var r5 = Derived.s(y); >s : (a: typeof y) => void > : ^ ^^ ^^^^^^^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ var r6 = Derived.t; >r6 : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >Derived.t : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >Derived : typeof Derived > : ^^^^^^^^^^^^^^ >t : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ var r6a = Derived.u; >r6a : (a: typeof y) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >Derived.u : (a: typeof y) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >Derived : typeof Derived > : ^^^^^^^^^^^^^^ >u : (a: typeof y) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ Derived.t = y; >Derived.t = y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >Derived.t : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >Derived : typeof Derived > : ^^^^^^^^^^^^^^ >t : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ class Base2 { >Base2 : Base2 @@ -323,7 +323,7 @@ class Base2 { >i : number > : ^^^^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ } class Derived2 extends Base2 { @@ -336,13 +336,13 @@ class Derived2 extends Base2 { >i : string > : ^^^^^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ [i: number]: typeof y; >i : number > : ^^^^^^ >y : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ } var d2: Derived2; @@ -351,9 +351,9 @@ var d2: Derived2; var r7 = d2['']; >r7 : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >d2[''] : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >d2 : Derived2 > : ^^^^^^^^ >'' : "" @@ -361,9 +361,9 @@ var r7 = d2['']; var r8 = d2[1]; >r8 : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >d2[1] : { foo: string; bar: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^ ^^^ >d2 : Derived2 > : ^^^^^^^^ >1 : 1 diff --git a/tests/baselines/reference/derivedClassSuperProperties.types b/tests/baselines/reference/derivedClassSuperProperties.types index 42b7b6c0eed4b..746334a3170e5 100644 --- a/tests/baselines/reference/derivedClassSuperProperties.types +++ b/tests/baselines/reference/derivedClassSuperProperties.types @@ -785,11 +785,11 @@ class DerivedWithClassExpression extends Base { >console.log(class { private method() { return this; } private property = 7; constructor() { this.property; this.method(); } }) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >class { private method() { return this; } private property = 7; constructor() { this.property; this.method(); } } : typeof (Anonymous class) > : ^^^^^^^^^^^^^^^^^^^^^^^^ @@ -852,11 +852,11 @@ class DerivedWithClassExpressionExtendingMember extends Base { >console.log(class extends this.memberClass { }) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >class extends this.memberClass { } : typeof (Anonymous class) > : ^^^^^^^^^^^^^^^^^^^^^^^^ >this.memberClass : (Anonymous class) @@ -891,11 +891,11 @@ class DerivedWithDerivedClassExpression extends Base { >console.log(class extends Base { constructor() { super(); } public foo() { return this; } public bar = () => this; }) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >class extends Base { constructor() { super(); } public foo() { return this; } public bar = () => this; } : typeof (Anonymous class) > : ^^^^^^^^^^^^^^^^^^^^^^^^ >Base : Base @@ -950,11 +950,11 @@ class DerivedWithNewDerivedClassExpression extends Base { >console.log(new class extends Base { constructor() { super(); } }()) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >new class extends Base { constructor() { super(); } }() : (Anonymous class) > : ^^^^^^^^^^^^^^^^^ >class extends Base { constructor() { super(); } } : typeof (Anonymous class) diff --git a/tests/baselines/reference/derivedClassSuperStatementPosition.types b/tests/baselines/reference/derivedClassSuperStatementPosition.types index ec5501ca8400b..926e4433bd9c1 100644 --- a/tests/baselines/reference/derivedClassSuperStatementPosition.types +++ b/tests/baselines/reference/derivedClassSuperStatementPosition.types @@ -144,11 +144,11 @@ class DerivedComments extends Object { >console.log() : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ // c3 super(); // c4 @@ -193,11 +193,11 @@ class DerivedCommentsInvalidThis extends Object { >console.log() : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ // c3 super(); // c4 @@ -240,11 +240,11 @@ class DerivedInConditional extends Object { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ ? super(1) >super(1) : void @@ -281,11 +281,11 @@ class DerivedInIf extends Object { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ super(1); >super(1) : void @@ -356,11 +356,11 @@ class DerivedInConditionalWithProperties extends Object { >Math.random() : number > : ^^^^^^ >Math.random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Math : Math > : ^^^^ >random : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ super(1); >super(1) : void diff --git a/tests/baselines/reference/derivedClassWithAny.types b/tests/baselines/reference/derivedClassWithAny.types index 21be102ca3839..ce6bd848ddc9a 100644 --- a/tests/baselines/reference/derivedClassWithAny.types +++ b/tests/baselines/reference/derivedClassWithAny.types @@ -171,9 +171,9 @@ var r = c.foo(); // e.foo would return string >c.foo() : number > : ^^^^^^ >c.foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >c : C > : ^ >foo : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/derivedClassWithPrivateStaticShadowingPublicStatic.types b/tests/baselines/reference/derivedClassWithPrivateStaticShadowingPublicStatic.types index b6e56ca6f925f..003ed93176cf2 100644 --- a/tests/baselines/reference/derivedClassWithPrivateStaticShadowingPublicStatic.types +++ b/tests/baselines/reference/derivedClassWithPrivateStaticShadowingPublicStatic.types @@ -91,11 +91,11 @@ var r3 = Base.fn(); // ok >Base.fn() : string > : ^^^^^^ >Base.fn : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Base : typeof Base > : ^^^^^^^^^^^ >fn : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var r4 = Derived.fn(); // error >r4 : string @@ -103,11 +103,11 @@ var r4 = Derived.fn(); // error >Derived.fn() : string > : ^^^^^^ >Derived.fn : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >Derived : typeof Derived > : ^^^^^^^^^^^^^^ >fn : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var r5 = Base.a; // ok >r5 : number diff --git a/tests/baselines/reference/derivedInterfaceCallSignature.types b/tests/baselines/reference/derivedInterfaceCallSignature.types index 5884c975ecbf2..ab1cf1b00c331 100644 --- a/tests/baselines/reference/derivedInterfaceCallSignature.types +++ b/tests/baselines/reference/derivedInterfaceCallSignature.types @@ -64,7 +64,7 @@ interface D3SvgArea extends D3SvgPath { y0(): (data: any, index?: number) => number; >y0 : { (): (data: any, index?: number) => number; (y: number): D3SvgArea; (y: (data: any, index?: number) => number): D3SvgArea; } -> : ^^^^^^ ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >data : any > : ^^^ >index : number @@ -72,13 +72,13 @@ interface D3SvgArea extends D3SvgPath { y0(y: number): D3SvgArea; >y0 : { (): (data: any, index?: number) => number; (y: number): D3SvgArea; (y: (data: any, index?: number) => number): D3SvgArea; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >y : number > : ^^^^^^ y0(y: (data: any, index?: number) => number): D3SvgArea; >y0 : { (): (data: any, index?: number) => number; (y: number): D3SvgArea; (y: (data: any, index?: number) => number): D3SvgArea; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >y : (data: any, index?: number) => number > : ^ ^^ ^^ ^^^ ^^^^^ >data : any @@ -88,7 +88,7 @@ interface D3SvgArea extends D3SvgPath { y1(): (data: any, index?: number) => number; >y1 : { (): (data: any, index?: number) => number; (y: number): D3SvgArea; (y: (data: any, index?: number) => number): D3SvgArea; } -> : ^^^^^^ ^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >data : any > : ^^^ >index : number @@ -96,13 +96,13 @@ interface D3SvgArea extends D3SvgPath { y1(y: number): D3SvgArea; >y1 : { (): (data: any, index?: number) => number; (y: number): D3SvgArea; (y: (data: any, index?: number) => number): D3SvgArea; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >y : number > : ^^^^^^ y1(y: (data: any, index?: number) => number): D3SvgArea; >y1 : { (): (data: any, index?: number) => number; (y: number): D3SvgArea; (y: (data: any, index?: number) => number): D3SvgArea; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >y : (data: any, index?: number) => number > : ^ ^^ ^^ ^^^ ^^^^^ >data : any @@ -143,11 +143,11 @@ area.interpolate('two')('one'); >area.interpolate('two') : D3SvgArea > : ^^^^^^^^^ >area.interpolate : (interpolator: string) => D3SvgArea -> : ^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >area : D3SvgArea > : ^^^^^^^^^ >interpolate : (interpolator: string) => D3SvgArea -> : ^ ^^ ^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'two' : "two" > : ^^^^^ >'one' : "one" diff --git a/tests/baselines/reference/derivedInterfaceIncompatibleWithBaseIndexer.types b/tests/baselines/reference/derivedInterfaceIncompatibleWithBaseIndexer.types index 96ec782576b6c..12cec82c8f57c 100644 --- a/tests/baselines/reference/derivedInterfaceIncompatibleWithBaseIndexer.types +++ b/tests/baselines/reference/derivedInterfaceIncompatibleWithBaseIndexer.types @@ -61,7 +61,7 @@ interface Derived5 extends Base { interface Derived5 extends Base { '1': { x: number } // error >'1' : { x: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >x : number > : ^^^^^^ } diff --git a/tests/baselines/reference/derivedTypeAccessesHiddenBaseCallViaSuperPropertyAccess.types b/tests/baselines/reference/derivedTypeAccessesHiddenBaseCallViaSuperPropertyAccess.types index bba2cc55e4377..23957ac200792 100644 --- a/tests/baselines/reference/derivedTypeAccessesHiddenBaseCallViaSuperPropertyAccess.types +++ b/tests/baselines/reference/derivedTypeAccessesHiddenBaseCallViaSuperPropertyAccess.types @@ -48,15 +48,15 @@ class Derived extends Base { var r = super.foo({ a: 1 }); // { a: number } >r : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >super.foo({ a: 1 }) : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >super.foo : (x: { a: number; }) => { a: number; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >super : Base > : ^^^^ >foo : (x: { a: number; }) => { a: number; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ a: 1 } : { a: number; } > : ^^^^^^^^^^^^^^ >a : number @@ -66,15 +66,15 @@ class Derived extends Base { var r2 = super.foo({ a: 1, b: 2 }); // { a: number } >r2 : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >super.foo({ a: 1, b: 2 }) : { a: number; } -> : ^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ >super.foo : (x: { a: number; }) => { a: number; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >super : Base > : ^^^^ >foo : (x: { a: number; }) => { a: number; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ a: 1, b: 2 } : { a: number; b: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -88,15 +88,15 @@ class Derived extends Base { var r3 = this.foo({ a: 1, b: 2 }); // { a: number; b: number; } >r3 : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >this.foo({ a: 1, b: 2 }) : { a: number; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >this.foo : (x: { a: number; b: number; }) => { a: number; b: number; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >this : this > : ^^^^ >foo : (x: { a: number; b: number; }) => { a: number; b: number; } -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >{ a: 1, b: 2 } : { a: number; b: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number diff --git a/tests/baselines/reference/derivedUninitializedPropertyDeclaration.types b/tests/baselines/reference/derivedUninitializedPropertyDeclaration.types index 72db3401c658b..853e5010cb57b 100644 --- a/tests/baselines/reference/derivedUninitializedPropertyDeclaration.types +++ b/tests/baselines/reference/derivedUninitializedPropertyDeclaration.types @@ -264,11 +264,11 @@ class M extends L { >console.log(this.a) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >this.a : number > : ^^^^^^ >this : this diff --git a/tests/baselines/reference/destructionAssignmentError.types b/tests/baselines/reference/destructionAssignmentError.types index 8f69183e3e592..3a592c030ae26 100644 --- a/tests/baselines/reference/destructionAssignmentError.types +++ b/tests/baselines/reference/destructionAssignmentError.types @@ -19,9 +19,9 @@ let b: number; ({ a, b } = fn()); >({ a, b } = fn()) : { a: 1; b: 2; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >{ a, b } = fn() : { a: 1; b: 2; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >{ a, b } : { a: number; b: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -29,9 +29,9 @@ let b: number; >b : number > : ^^^^^^ >fn() : { a: 1; b: 2; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >fn : () => { a: 1; b: 2; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ { a, b } = fn(); >a, b : number @@ -41,15 +41,15 @@ let b: number; >b : number > : ^^^^^^ >fn() : { a: 1; b: 2; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >fn : () => { a: 1; b: 2; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ({ a, b } = >({ a, b } =fn()) : { a: 1; b: 2; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >{ a, b } =fn() : { a: 1; b: 2; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >{ a, b } : { a: number; b: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -59,9 +59,9 @@ let b: number; fn()); >fn() : { a: 1; b: 2; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >fn : () => { a: 1; b: 2; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ { a, b } >a, b : number @@ -73,7 +73,7 @@ fn()); = fn(); >fn() : { a: 1; b: 2; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >fn : () => { a: 1; b: 2; } -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/destructureComputedProperty.types b/tests/baselines/reference/destructureComputedProperty.types index 30240553f833e..b5dca8ac366ee 100644 --- a/tests/baselines/reference/destructureComputedProperty.types +++ b/tests/baselines/reference/destructureComputedProperty.types @@ -21,7 +21,7 @@ const { [nameN]: n } = ab; >n : string | number > : ^^^^^^^^^^^^^^^ >ab : { n: number; } | { n: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^^^^^^^ ^^^ class C { private p: number; } >C : C diff --git a/tests/baselines/reference/destructureOfVariableSameAsShorthand.types b/tests/baselines/reference/destructureOfVariableSameAsShorthand.types index 5903c30fb35d7..15a04e9267be2 100644 --- a/tests/baselines/reference/destructureOfVariableSameAsShorthand.types +++ b/tests/baselines/reference/destructureOfVariableSameAsShorthand.types @@ -21,13 +21,13 @@ async function main() { >get().then((response) => { // body is never const body = response.data; }) : Promise > : ^^^^^^^^^^^^^ >get().then : , TResult2 = never>(onfulfilled?: (value: AxiosResponse) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >get() : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >get : >() => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : , TResult2 = never>(onfulfilled?: (value: AxiosResponse) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >(response) => { // body is never const body = response.data; } : (response: AxiosResponse) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >response : AxiosResponse @@ -49,13 +49,13 @@ async function main() { >get().then(({ data }) => { // data is never }) : Promise > : ^^^^^^^^^^^^^ >get().then : , TResult2 = never>(onfulfilled?: (value: AxiosResponse) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >get() : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >get : >() => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ >then : , TResult2 = never>(onfulfilled?: (value: AxiosResponse) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^ >({ data }) => { // data is never } : ({ data }: AxiosResponse) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >data : never @@ -71,7 +71,7 @@ async function main() { >get() : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >get : >() => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ // body is never const body = response.data; @@ -93,7 +93,7 @@ async function main() { >get() : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >get : >() => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ // The following did not work as expected. // shouldBeNever should be never, but was any @@ -107,5 +107,5 @@ async function main() { >get() : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >get : >() => Promise -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/destructureTupleWithVariableElement.types b/tests/baselines/reference/destructureTupleWithVariableElement.types index b6de3ada9ff29..c64be371346c7 100644 --- a/tests/baselines/reference/destructureTupleWithVariableElement.types +++ b/tests/baselines/reference/destructureTupleWithVariableElement.types @@ -31,31 +31,31 @@ s0.toUpperCase() >s0.toUpperCase() : string > : ^^^^^^ >s0.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >s0 : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ s1.toUpperCase() >s1.toUpperCase() : string > : ^^^^^^ >s1.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >s1 : string | undefined > : ^^^^^^^^^^^^^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ s2.toUpperCase() >s2.toUpperCase() : string > : ^^^^^^ >s2.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >s2 : string | undefined > : ^^^^^^^^^^^^^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ declare const strings2: [string, ...Array, string] >strings2 : [string, ...string[], string] @@ -75,29 +75,29 @@ s3.toUpperCase() >s3.toUpperCase() : string > : ^^^^^^ >s3.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >s3 : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ s4.toUpperCase() >s4.toUpperCase() : string > : ^^^^^^ >s4.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >s4 : string > : ^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ s5.toUpperCase() >s5.toUpperCase() : string > : ^^^^^^ >s5.toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >s5 : string | undefined > : ^^^^^^^^^^^^^^^^^^ >toUpperCase : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/destructuredDeclarationEmit.types b/tests/baselines/reference/destructuredDeclarationEmit.types index 980fe33639c1e..5329e83ccc2e4 100644 --- a/tests/baselines/reference/destructuredDeclarationEmit.types +++ b/tests/baselines/reference/destructuredDeclarationEmit.types @@ -73,20 +73,20 @@ export { foo, arr }; >foo : { bar: string; bat: string; bam: { bork: { bar: string; baz: string; }; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >arr : [0, 1, 2, ["a", "b", "c", [{ def: "def"; }, { sec: "sec"; }]]] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^ === index.ts === import { foo, arr } from './foo'; >foo : { bar: string; bat: string; bam: { bork: { bar: string; baz: string; }; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >arr : [0, 1, 2, ["a", "b", "c", [{ def: "def"; }, { sec: "sec"; }]]] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^ export { foo, arr }; >foo : { bar: string; bat: string; bam: { bork: { bar: string; baz: string; }; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >arr : [0, 1, 2, ["a", "b", "c", [{ def: "def"; }, { sec: "sec"; }]]] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^ const { bar: baz, bat, bam: { bork: { bar: ibar, baz: ibaz } } } = foo; >bar : any @@ -134,7 +134,7 @@ const [ , one, , [, bee, , [, {sec} ]]] = arr; >sec : "sec" > : ^^^^^ >arr : [0, 1, 2, ["a", "b", "c", [{ def: "def"; }, { sec: "sec"; }]]] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^ export { one, bee, sec }; >one : 1 diff --git a/tests/baselines/reference/destructuredLateBoundNameHasCorrectTypes.types b/tests/baselines/reference/destructuredLateBoundNameHasCorrectTypes.types index 9c15d6b2b210d..a72bf873fb4ca 100644 --- a/tests/baselines/reference/destructuredLateBoundNameHasCorrectTypes.types +++ b/tests/baselines/reference/destructuredLateBoundNameHasCorrectTypes.types @@ -9,7 +9,7 @@ let { [Symbol.iterator]: destructured } = []; >iterator : unique symbol > : ^^^^^^^^^^^^^ >destructured : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ >[] : undefined[] > : ^^^^^^^^^^^ @@ -17,7 +17,7 @@ void destructured; >void destructured : undefined > : ^^^^^^^^^ >destructured : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^ const named = "prop"; >named : "prop" diff --git a/tests/baselines/reference/destructuredMaappedTypeIsNotImplicitlyAny.types b/tests/baselines/reference/destructuredMaappedTypeIsNotImplicitlyAny.types index 7aa54fa3d51eb..1379f42d30d9a 100644 --- a/tests/baselines/reference/destructuredMaappedTypeIsNotImplicitlyAny.types +++ b/tests/baselines/reference/destructuredMaappedTypeIsNotImplicitlyAny.types @@ -3,7 +3,7 @@ === destructuredMaappedTypeIsNotImplicitlyAny.ts === function foo(key: T, obj: { [_ in T]: number }) { >foo : (key: T, obj: { [_ in T]: number; }) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >key : T > : ^ >obj : { [_ in T]: number; } diff --git a/tests/baselines/reference/destructuringArrayBindingPatternAndAssignment2.types b/tests/baselines/reference/destructuringArrayBindingPatternAndAssignment2.types index 4e5e701af67a3..ad8ab16432045 100644 --- a/tests/baselines/reference/destructuringArrayBindingPatternAndAssignment2.types +++ b/tests/baselines/reference/destructuringArrayBindingPatternAndAssignment2.types @@ -72,7 +72,7 @@ var [b3 = "string", b4, b5] = bar(); // Error >bar() : J > : ^ >bar : () => J -> : ^^^^^^^ +> : ^^^^^^ // V is an array assignment pattern, S is the type Any or an array-like type (section 3.3.2), and, for each assignment element E in V, // S is not a tuple- like type and the numeric index signature type of S is assignable to the target given in E. @@ -145,7 +145,7 @@ var [c4, c5, c6] = foo(1); // Error >foo(1) : F > : ^ >foo : (idx: number) => F -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >1 : 1 > : ^ diff --git a/tests/baselines/reference/destructuringAssignmentWithDefault.types b/tests/baselines/reference/destructuringAssignmentWithDefault.types index 7efe6087b35e8..3a4ae7031d088 100644 --- a/tests/baselines/reference/destructuringAssignmentWithDefault.types +++ b/tests/baselines/reference/destructuringAssignmentWithDefault.types @@ -16,18 +16,18 @@ let x = 0; > : ^ ({x = 1} = a); ->({x = 1} = a) : { x?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->{x = 1} = a : { x?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>({x = 1} = a) : { x?: number; } +> : ^^^^^^ ^^^ +>{x = 1} = a : { x?: number; } +> : ^^^^^^ ^^^ >{x = 1} : { x?: number; } > : ^^^^^^^^^^^^^^^ >x : number > : ^^^^^^ >1 : 1 > : ^ ->a : { x?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { x?: number; } +> : ^^^^^^ ^^^ // Repro from #26235 @@ -46,28 +46,28 @@ function f1(options?: { color?: string, width?: number }) { > : ^^^^^^^^^^^^^^^^^^ >width : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->options || {} : { color?: string | undefined; width?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->options : { color?: string | undefined; width?: number | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>options || {} : { color?: string; width?: number; } +> : ^^^^^^^^^^ ^^^^^^^^^^ ^^^ +>options : { color?: string; width?: number; } | undefined +> : ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^ >{} : {} > : ^^ ({ color, width } = options || {}); ->({ color, width } = options || {}) : { color?: string | undefined; width?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->{ color, width } = options || {} : { color?: string | undefined; width?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>({ color, width } = options || {}) : { color?: string; width?: number; } +> : ^^^^^^^^^^ ^^^^^^^^^^ ^^^ +>{ color, width } = options || {} : { color?: string; width?: number; } +> : ^^^^^^^^^^ ^^^^^^^^^^ ^^^ >{ color, width } : { color: string | undefined; width: number | undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >color : string | undefined > : ^^^^^^^^^^^^^^^^^^ >width : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->options || {} : { color?: string | undefined; width?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->options : { color?: string | undefined; width?: number | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>options || {} : { color?: string; width?: number; } +> : ^^^^^^^^^^ ^^^^^^^^^^ ^^^ +>options : { color?: string; width?: number; } | undefined +> : ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^ >{} : {} > : ^^ @@ -76,12 +76,12 @@ function f1(options?: { color?: string, width?: number }) { > : ^^^^^^^^^^^^^^^^^^ >(options || {}).color : string | undefined > : ^^^^^^^^^^^^^^^^^^ ->(options || {}) : { color?: string | undefined; width?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->options || {} : { color?: string | undefined; width?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->options : { color?: string | undefined; width?: number | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(options || {}) : { color?: string; width?: number; } +> : ^^^^^^^^^^ ^^^^^^^^^^ ^^^ +>options || {} : { color?: string; width?: number; } +> : ^^^^^^^^^^ ^^^^^^^^^^ ^^^ +>options : { color?: string; width?: number; } | undefined +> : ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^ >{} : {} > : ^^ >color : string | undefined @@ -92,12 +92,12 @@ function f1(options?: { color?: string, width?: number }) { > : ^^^^^^^^^^^^^^^^^^ >(options || {})["color"] : string | undefined > : ^^^^^^^^^^^^^^^^^^ ->(options || {}) : { color?: string | undefined; width?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->options || {} : { color?: string | undefined; width?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->options : { color?: string | undefined; width?: number | undefined; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(options || {}) : { color?: string; width?: number; } +> : ^^^^^^^^^^ ^^^^^^^^^^ ^^^ +>options || {} : { color?: string; width?: number; } +> : ^^^^^^^^^^ ^^^^^^^^^^ ^^^ +>options : { color?: string; width?: number; } | undefined +> : ^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^ >{} : {} > : ^^ >"color" : "color" @@ -171,17 +171,17 @@ function f3(options?: { color: string, width: number }) { >width : number | undefined > : ^^^^^^^^^^^^^^^^^^ >options || {} : { color: string; width: number; } | {} -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ >options : { color: string; width: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^ >{} : {} > : ^^ ({ color, width } = options || {}); >({ color, width } = options || {}) : { color: string; width: number; } | {} -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ >{ color, width } = options || {} : { color: string; width: number; } | {} -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ >{ color, width } : { color: string | undefined; width: number | undefined; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >color : string | undefined @@ -189,9 +189,9 @@ function f3(options?: { color: string, width: number }) { >width : number | undefined > : ^^^^^^^^^^^^^^^^^^ >options || {} : { color: string; width: number; } | {} -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ >options : { color: string; width: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^ >{} : {} > : ^^ @@ -201,11 +201,11 @@ function f3(options?: { color: string, width: number }) { >(options || {}).color : string | undefined > : ^^^^^^^^^^^^^^^^^^ >(options || {}) : { color: string; width: number; } | {} -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ >options || {} : { color: string; width: number; } | {} -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ >options : { color: string; width: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^ >{} : {} > : ^^ >color : string | undefined @@ -217,11 +217,11 @@ function f3(options?: { color: string, width: number }) { >(options || {})["color"] : string | undefined > : ^^^^^^^^^^^^^^^^^^ >(options || {}) : { color: string; width: number; } | {} -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ >options || {} : { color: string; width: number; } | {} -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ >options : { color: string; width: number; } | undefined -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^ >{} : {} > : ^^ >"color" : "color" diff --git a/tests/baselines/reference/destructuringAssignmentWithDefault2.types b/tests/baselines/reference/destructuringAssignmentWithDefault2.types index d4db43b1ccd92..9f76ce73a3f75 100644 --- a/tests/baselines/reference/destructuringAssignmentWithDefault2.types +++ b/tests/baselines/reference/destructuringAssignmentWithDefault2.types @@ -17,24 +17,24 @@ let x: number; // Should not error out ({ x = 0 } = a); ->({ x = 0 } = a) : { x?: number | undefined; y?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->{ x = 0 } = a : { x?: number | undefined; y?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>({ x = 0 } = a) : { x?: number; y?: number; } +> : ^^^^^^ ^^^^^^ ^^^ +>{ x = 0 } = a : { x?: number; y?: number; } +> : ^^^^^^ ^^^^^^ ^^^ >{ x = 0 } : { x?: number; } > : ^^^^^^^^^^^^^^^ >x : number > : ^^^^^^ >0 : 0 > : ^ ->a : { x?: number | undefined; y?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { x?: number; y?: number; } +> : ^^^^^^ ^^^^^^ ^^^ ({ x: x = 0} = a); ->({ x: x = 0} = a) : { x?: number | undefined; y?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->{ x: x = 0} = a : { x?: number | undefined; y?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>({ x: x = 0} = a) : { x?: number; y?: number; } +> : ^^^^^^ ^^^^^^ ^^^ +>{ x: x = 0} = a : { x?: number; y?: number; } +> : ^^^^^^ ^^^^^^ ^^^ >{ x: x = 0} : { x?: number; } > : ^^^^^^^^^^^^^^^ >x : number @@ -45,14 +45,14 @@ let x: number; > : ^^^^^^ >0 : 0 > : ^ ->a : { x?: number | undefined; y?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { x?: number; y?: number; } +> : ^^^^^^ ^^^^^^ ^^^ ({ y: x = 0} = a); ->({ y: x = 0} = a) : { x?: number | undefined; y?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->{ y: x = 0} = a : { x?: number | undefined; y?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>({ y: x = 0} = a) : { x?: number; y?: number; } +> : ^^^^^^ ^^^^^^ ^^^ +>{ y: x = 0} = a : { x?: number; y?: number; } +> : ^^^^^^ ^^^^^^ ^^^ >{ y: x = 0} : { y?: number; } > : ^^^^^^^^^^^^^^^ >y : number @@ -63,29 +63,29 @@ let x: number; > : ^^^^^^ >0 : 0 > : ^ ->a : { x?: number | undefined; y?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { x?: number; y?: number; } +> : ^^^^^^ ^^^^^^ ^^^ // Should be error ({ x = undefined } = a); ->({ x = undefined } = a) : { x?: number | undefined; y?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->{ x = undefined } = a : { x?: number | undefined; y?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>({ x = undefined } = a) : { x?: number; y?: number; } +> : ^^^^^^ ^^^^^^ ^^^ +>{ x = undefined } = a : { x?: number; y?: number; } +> : ^^^^^^ ^^^^^^ ^^^ >{ x = undefined } : { x?: number; } > : ^^^^^^^^^^^^^^^ >x : number > : ^^^^^^ >undefined : undefined > : ^^^^^^^^^ ->a : { x?: number | undefined; y?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { x?: number; y?: number; } +> : ^^^^^^ ^^^^^^ ^^^ ({ x: x = undefined } = a); ->({ x: x = undefined } = a) : { x?: number | undefined; y?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->{ x: x = undefined } = a : { x?: number | undefined; y?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>({ x: x = undefined } = a) : { x?: number; y?: number; } +> : ^^^^^^ ^^^^^^ ^^^ +>{ x: x = undefined } = a : { x?: number; y?: number; } +> : ^^^^^^ ^^^^^^ ^^^ >{ x: x = undefined } : { x?: undefined; } > : ^^^^^^^^^^^^^^^^^^ >x : undefined @@ -96,14 +96,14 @@ let x: number; > : ^^^^^^ >undefined : undefined > : ^^^^^^^^^ ->a : { x?: number | undefined; y?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { x?: number; y?: number; } +> : ^^^^^^ ^^^^^^ ^^^ ({ y: x = undefined } = a); ->({ y: x = undefined } = a) : { x?: number | undefined; y?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->{ y: x = undefined } = a : { x?: number | undefined; y?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>({ y: x = undefined } = a) : { x?: number; y?: number; } +> : ^^^^^^ ^^^^^^ ^^^ +>{ y: x = undefined } = a : { x?: number; y?: number; } +> : ^^^^^^ ^^^^^^ ^^^ >{ y: x = undefined } : { y?: undefined; } > : ^^^^^^^^^^^^^^^^^^ >y : undefined @@ -114,16 +114,16 @@ let x: number; > : ^^^^^^ >undefined : undefined > : ^^^^^^^^^ ->a : { x?: number | undefined; y?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { x?: number; y?: number; } +> : ^^^^^^ ^^^^^^ ^^^ const { x: z1 } = a; >x : any > : ^^^ >z1 : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->a : { x?: number | undefined; y?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { x?: number; y?: number; } +> : ^^^^^^ ^^^^^^ ^^^ const { x: z2 = 0 } = a; >x : any @@ -132,8 +132,8 @@ const { x: z2 = 0 } = a; > : ^^^^^^ >0 : 0 > : ^ ->a : { x?: number | undefined; y?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { x?: number; y?: number; } +> : ^^^^^^ ^^^^^^ ^^^ const { x: z3 = undefined } = a; >x : any @@ -142,8 +142,8 @@ const { x: z3 = undefined } = a; > : ^^^^^^^^^^^^^^^^^^ >undefined : undefined > : ^^^^^^^^^ ->a : { x?: number | undefined; y?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : { x?: number; y?: number; } +> : ^^^^^^ ^^^^^^ ^^^ declare const r: Iterator; @@ -174,11 +174,11 @@ let value; >r.next() : IteratorResult > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >r.next : (...args: [] | [undefined]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^ >r : Iterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >next : (...args: [] | [undefined]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^ ({ done: done = false, value } = r.next()); >({ done: done = false, value } = r.next()) : IteratorResult @@ -200,9 +200,9 @@ let value; >r.next() : IteratorResult > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >r.next : (...args: [] | [undefined]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^ >r : Iterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >next : (...args: [] | [undefined]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^ diff --git a/tests/baselines/reference/destructuringControlFlow.types b/tests/baselines/reference/destructuringControlFlow.types index 2923879953f5e..053f79fdf6504 100644 --- a/tests/baselines/reference/destructuringControlFlow.types +++ b/tests/baselines/reference/destructuringControlFlow.types @@ -12,16 +12,16 @@ function f1(obj: { a?: string }) { if (obj.a) { >obj.a : string | undefined > : ^^^^^^^^^^^^^^^^^^ ->obj : { a?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj : { a?: string; } +> : ^^^^^^ ^^^ >a : string | undefined > : ^^^^^^^^^^^^^^^^^^ obj = {}; >obj = {} : {} > : ^^ ->obj : { a?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj : { a?: string; } +> : ^^^^^^ ^^^ >{} : {} > : ^^ @@ -30,8 +30,8 @@ function f1(obj: { a?: string }) { > : ^^^^^^^^^^^^^^^^^^ >obj["a"] : string | undefined > : ^^^^^^^^^^^^^^^^^^ ->obj : { a?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj : { a?: string; } +> : ^^^^^^ ^^^ >"a" : "a" > : ^^^ @@ -40,8 +40,8 @@ function f1(obj: { a?: string }) { > : ^^^^^^^^^^^^^^^^^^ >obj.a : string | undefined > : ^^^^^^^^^^^^^^^^^^ ->obj : { a?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj : { a?: string; } +> : ^^^^^^ ^^^ >a : string | undefined > : ^^^^^^^^^^^^^^^^^^ } @@ -170,14 +170,14 @@ function f3(obj: { a?: number, b?: string }) { > : ^^^^^^^^^^^^^^^^^^^^^^ >obj.a : number | undefined > : ^^^^^^^^^^^^^^^^^^ ->obj : { a?: number | undefined; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj : { a?: number; b?: string; } +> : ^^^^^^ ^^^^^^ ^^^ >a : number | undefined > : ^^^^^^^^^^^^^^^^^^ >obj.b : string | undefined > : ^^^^^^^^^^^^^^^^^^ ->obj : { a?: number | undefined; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj : { a?: number; b?: string; } +> : ^^^^^^ ^^^^^^ ^^^ >b : string | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -186,22 +186,22 @@ function f3(obj: { a?: number, b?: string }) { > : ^^^^^^ >b : string > : ^^^^^^ ->obj : { a?: number | undefined; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj : { a?: number; b?: string; } +> : ^^^^^^ ^^^^^^ ^^^ ({ a, b } = obj); ->({ a, b } = obj) : { a?: number | undefined; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->{ a, b } = obj : { a?: number | undefined; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>({ a, b } = obj) : { a?: number; b?: string; } +> : ^^^^^^ ^^^^^^ ^^^ +>{ a, b } = obj : { a?: number; b?: string; } +> : ^^^^^^ ^^^^^^ ^^^ >{ a, b } : { a: number; b: string; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number > : ^^^^^^ >b : string > : ^^^^^^ ->obj : { a?: number | undefined; b?: string | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj : { a?: number; b?: string; } +> : ^^^^^^ ^^^^^^ ^^^ } } diff --git a/tests/baselines/reference/destructuringFromUnionSpread.types b/tests/baselines/reference/destructuringFromUnionSpread.types index fb7a915548f02..a9eb75f2347f2 100644 --- a/tests/baselines/reference/destructuringFromUnionSpread.types +++ b/tests/baselines/reference/destructuringFromUnionSpread.types @@ -17,7 +17,7 @@ const { a } = { ...x } // error >a : any > : ^^^ >{ ...x } : { a: any; } | { a: any; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >x : A | B > : ^^^^^ diff --git a/tests/baselines/reference/destructuringInVariableDeclarations1.types b/tests/baselines/reference/destructuringInVariableDeclarations1.types index a3025af3d037a..a1e660c3af843 100644 --- a/tests/baselines/reference/destructuringInVariableDeclarations1.types +++ b/tests/baselines/reference/destructuringInVariableDeclarations1.types @@ -3,13 +3,13 @@ === destructuringInVariableDeclarations1.ts === export let { toString } = 1; >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >1 : 1 > : ^ { let { toFixed } = 1; >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >1 : 1 > : ^ } diff --git a/tests/baselines/reference/destructuringInVariableDeclarations2.types b/tests/baselines/reference/destructuringInVariableDeclarations2.types index 37135e27f8cd1..851a433175455 100644 --- a/tests/baselines/reference/destructuringInVariableDeclarations2.types +++ b/tests/baselines/reference/destructuringInVariableDeclarations2.types @@ -3,13 +3,13 @@ === destructuringInVariableDeclarations2.ts === let { toString } = 1; >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >1 : 1 > : ^ { let { toFixed } = 1; >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >1 : 1 > : ^ } diff --git a/tests/baselines/reference/destructuringInVariableDeclarations3.types b/tests/baselines/reference/destructuringInVariableDeclarations3.types index 1a5fa6a9597dd..aa7a597035684 100644 --- a/tests/baselines/reference/destructuringInVariableDeclarations3.types +++ b/tests/baselines/reference/destructuringInVariableDeclarations3.types @@ -3,13 +3,13 @@ === destructuringInVariableDeclarations3.ts === export let { toString } = 1; >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >1 : 1 > : ^ { let { toFixed } = 1; >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >1 : 1 > : ^ } diff --git a/tests/baselines/reference/destructuringInVariableDeclarations4.types b/tests/baselines/reference/destructuringInVariableDeclarations4.types index a8a7029eae502..b988d34ffe1f9 100644 --- a/tests/baselines/reference/destructuringInVariableDeclarations4.types +++ b/tests/baselines/reference/destructuringInVariableDeclarations4.types @@ -3,13 +3,13 @@ === destructuringInVariableDeclarations4.ts === let { toString } = 1; >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >1 : 1 > : ^ { let { toFixed } = 1; >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >1 : 1 > : ^ } diff --git a/tests/baselines/reference/destructuringInVariableDeclarations5.types b/tests/baselines/reference/destructuringInVariableDeclarations5.types index 3d57574bc248a..ede17f72c2927 100644 --- a/tests/baselines/reference/destructuringInVariableDeclarations5.types +++ b/tests/baselines/reference/destructuringInVariableDeclarations5.types @@ -3,13 +3,13 @@ === destructuringInVariableDeclarations5.ts === export let { toString } = 1; >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >1 : 1 > : ^ { let { toFixed } = 1; >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >1 : 1 > : ^ } diff --git a/tests/baselines/reference/destructuringInVariableDeclarations6.types b/tests/baselines/reference/destructuringInVariableDeclarations6.types index 96dbd5a8217ee..d935276f31d12 100644 --- a/tests/baselines/reference/destructuringInVariableDeclarations6.types +++ b/tests/baselines/reference/destructuringInVariableDeclarations6.types @@ -3,13 +3,13 @@ === destructuringInVariableDeclarations6.ts === let { toString } = 1; >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >1 : 1 > : ^ { let { toFixed } = 1; >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >1 : 1 > : ^ } diff --git a/tests/baselines/reference/destructuringInVariableDeclarations7.types b/tests/baselines/reference/destructuringInVariableDeclarations7.types index dccbbec18cf3a..aa669b92d810e 100644 --- a/tests/baselines/reference/destructuringInVariableDeclarations7.types +++ b/tests/baselines/reference/destructuringInVariableDeclarations7.types @@ -3,13 +3,13 @@ === destructuringInVariableDeclarations7.ts === export let { toString } = 1; >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >1 : 1 > : ^ { let { toFixed } = 1; >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >1 : 1 > : ^ } diff --git a/tests/baselines/reference/destructuringInVariableDeclarations8.types b/tests/baselines/reference/destructuringInVariableDeclarations8.types index f3babedf63f97..40cd2697800dd 100644 --- a/tests/baselines/reference/destructuringInVariableDeclarations8.types +++ b/tests/baselines/reference/destructuringInVariableDeclarations8.types @@ -3,13 +3,13 @@ === destructuringInVariableDeclarations8.ts === let { toString } = 1; >toString : (radix?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >1 : 1 > : ^ { let { toFixed } = 1; >toFixed : (fractionDigits?: number) => string -> : ^ ^^^ ^^^^^^^^^^^ +> : ^ ^^^ ^^^^^ >1 : 1 > : ^ } diff --git a/tests/baselines/reference/destructuringInitializerContextualTypeFromContext.types b/tests/baselines/reference/destructuringInitializerContextualTypeFromContext.types index 878b23804749e..f80cb2091ec85 100644 --- a/tests/baselines/reference/destructuringInitializerContextualTypeFromContext.types +++ b/tests/baselines/reference/destructuringInitializerContextualTypeFromContext.types @@ -18,7 +18,7 @@ const Parent: SFC = ({ >Parent : SFC > : ^^^^^^^^^^ >({ children, name = "Artemis", ...props}) => Child({name, ...props}) : ({ children, name, ...props }: Props & { children?: any; }) => any -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ children, >children : any @@ -49,7 +49,7 @@ const Child: SFC = ({ >Child : SFC > : ^^^^^^^^^^ >({ children, name = "Artemis", ...props}) => `name: ${name} props: ${JSON.stringify(props)}` : ({ children, name, ...props }: Props & { children?: any; }) => string -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ children, >children : any @@ -73,11 +73,11 @@ const Child: SFC = ({ >JSON.stringify(props) : string > : ^^^^^^ >JSON.stringify : { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; } -> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >JSON : JSON > : ^^^^ >stringify : { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; } -> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ >props : {} > : ^^ @@ -95,7 +95,7 @@ f(([_1, _2 = undefined]) => undefined) >f(([_1, _2 = undefined]) => undefined) : void > : ^^^^ >f : (g: (as: string[]) => void) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ >([_1, _2 = undefined]) => undefined : ([_1, _2]: string[]) => undefined > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ >_1 : string diff --git a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment1ES5.types b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment1ES5.types index 17fcfbcddd41a..b91838a7a77ee 100644 --- a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment1ES5.types +++ b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment1ES5.types @@ -137,7 +137,7 @@ var {1: c0} = foo(); >foo() : F > : ^ >foo : () => F -> : ^^^^^^^ +> : ^^^^^^ var {1: c1} = bar(); >c1 : boolean @@ -145,7 +145,7 @@ var {1: c1} = bar(); >bar() : F > : ^ >bar : () => F -> : ^^^^^^^ +> : ^^^^^^ // V is an object assignment pattern and, for each assignment property P in V, // S has a string index signature of a type that is assignable to the target given in P @@ -178,7 +178,7 @@ var {"prop1": d1} = foo1(); >foo1() : F1 > : ^^ >foo1 : () => F1 -> : ^^^^^^^^ +> : ^^^^^^ var {"prop2": d1} = foo1(); >d1 : number @@ -186,5 +186,5 @@ var {"prop2": d1} = foo1(); >foo1() : F1 > : ^^ >foo1 : () => F1 -> : ^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment1ES6.types b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment1ES6.types index 842b93dd57c1e..3bfae7da8a707 100644 --- a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment1ES6.types +++ b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment1ES6.types @@ -137,7 +137,7 @@ var {1: c0} = foo(); >foo() : F > : ^ >foo : () => F -> : ^^^^^^^ +> : ^^^^^^ var {1: c1} = bar(); >c1 : boolean @@ -145,7 +145,7 @@ var {1: c1} = bar(); >bar() : F > : ^ >bar : () => F -> : ^^^^^^^ +> : ^^^^^^ // V is an object assignment pattern and, for each assignment property P in V, // S has a string index signature of a type that is assignable to the target given in P @@ -178,7 +178,7 @@ var {"prop1": d1} = foo1(); >foo1() : F1 > : ^^ >foo1 : () => F1 -> : ^^^^^^^^ +> : ^^^^^^ var {"prop2": d1} = foo1(); >d1 : number @@ -186,5 +186,5 @@ var {"prop2": d1} = foo1(); >foo1() : F1 > : ^^ >foo1 : () => F1 -> : ^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment6(target=es5).types b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment6(target=es5).types index 5717c435382f3..e87a039bb9fb3 100644 --- a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment6(target=es5).types +++ b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment6(target=es5).types @@ -50,11 +50,11 @@ console.log(aVal, bVal); >console.log(aVal, bVal) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >aVal : number > : ^^^^^^ >bVal : number diff --git a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment6(target=esnext).types b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment6(target=esnext).types index 5717c435382f3..e87a039bb9fb3 100644 --- a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment6(target=esnext).types +++ b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment6(target=esnext).types @@ -50,11 +50,11 @@ console.log(aVal, bVal); >console.log(aVal, bVal) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >aVal : number > : ^^^^^^ >bVal : number diff --git a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment7(target=es5).types b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment7(target=es5).types index 3a3e8665d99ff..291a2b61432e7 100644 --- a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment7(target=es5).types +++ b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment7(target=es5).types @@ -70,11 +70,11 @@ console.log(aVal, bVal); >console.log(aVal, bVal) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >aVal : number > : ^^^^^^ >bVal : number diff --git a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment7(target=esnext).types b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment7(target=esnext).types index 3a3e8665d99ff..291a2b61432e7 100644 --- a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment7(target=esnext).types +++ b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment7(target=esnext).types @@ -70,11 +70,11 @@ console.log(aVal, bVal); >console.log(aVal, bVal) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >aVal : number > : ^^^^^^ >bVal : number diff --git a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment8(target=es5).types b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment8(target=es5).types index 8d167fd6a6f88..36d767841dc12 100644 --- a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment8(target=es5).types +++ b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment8(target=es5).types @@ -72,11 +72,11 @@ console.log(aVal, bVal); >console.log(aVal, bVal) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >aVal : number > : ^^^^^^ >bVal : number diff --git a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment8(target=esnext).types b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment8(target=esnext).types index 8d167fd6a6f88..36d767841dc12 100644 --- a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment8(target=esnext).types +++ b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment8(target=esnext).types @@ -72,11 +72,11 @@ console.log(aVal, bVal); >console.log(aVal, bVal) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >aVal : number > : ^^^^^^ >bVal : number diff --git a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment9SiblingInitializer.types b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment9SiblingInitializer.types index 02fd93779e957..5d8a6dcf495ba 100644 --- a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment9SiblingInitializer.types +++ b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment9SiblingInitializer.types @@ -145,9 +145,9 @@ function f4() { >a : number > : ^^^^^^ >yadda ?? {} : { a?: number; b?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >yadda : { a?: number; b?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^ ^^^ >{} : {} > : ^^ } diff --git a/tests/baselines/reference/destructuringParameterDeclaration3ES5.types b/tests/baselines/reference/destructuringParameterDeclaration3ES5.types index afeb4d1df096c..91660ffb32e51 100644 --- a/tests/baselines/reference/destructuringParameterDeclaration3ES5.types +++ b/tests/baselines/reference/destructuringParameterDeclaration3ES5.types @@ -263,7 +263,7 @@ const enum E1 { a, b } function foo1(...a: T[]) { } >foo1 : (...a: T[]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^ >a : T[] > : ^^^ @@ -271,7 +271,7 @@ foo1(1, 2, 3, E.a); >foo1(1, 2, 3, E.a) : void > : ^^^^ >foo1 : (...a: T[]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -289,7 +289,7 @@ foo1(1, 2, 3, E1.a, E.b); >foo1(1, 2, 3, E1.a, E.b) : void > : ^^^^ >foo1 : (...a: T[]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^ >1 : 1 > : ^ >2 : 2 diff --git a/tests/baselines/reference/destructuringParameterDeclaration3ES5iterable.types b/tests/baselines/reference/destructuringParameterDeclaration3ES5iterable.types index 14bd4b4adfe48..64c5edb5740f4 100644 --- a/tests/baselines/reference/destructuringParameterDeclaration3ES5iterable.types +++ b/tests/baselines/reference/destructuringParameterDeclaration3ES5iterable.types @@ -263,7 +263,7 @@ const enum E1 { a, b } function foo1(...a: T[]) { } >foo1 : (...a: T[]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^ >a : T[] > : ^^^ @@ -271,7 +271,7 @@ foo1(1, 2, 3, E.a); >foo1(1, 2, 3, E.a) : void > : ^^^^ >foo1 : (...a: T[]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -289,7 +289,7 @@ foo1(1, 2, 3, E1.a, E.b); >foo1(1, 2, 3, E1.a, E.b) : void > : ^^^^ >foo1 : (...a: T[]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^ >1 : 1 > : ^ >2 : 2 diff --git a/tests/baselines/reference/destructuringParameterDeclaration3ES6.types b/tests/baselines/reference/destructuringParameterDeclaration3ES6.types index 253888d4eb137..d73d78bfbac89 100644 --- a/tests/baselines/reference/destructuringParameterDeclaration3ES6.types +++ b/tests/baselines/reference/destructuringParameterDeclaration3ES6.types @@ -263,7 +263,7 @@ const enum E1 { a, b } function foo1(...a: T[]) { } >foo1 : (...a: T[]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^ >a : T[] > : ^^^ @@ -271,7 +271,7 @@ foo1(1, 2, 3, E.a); >foo1(1, 2, 3, E.a) : void > : ^^^^ >foo1 : (...a: T[]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^ >1 : 1 > : ^ >2 : 2 @@ -289,7 +289,7 @@ foo1(1, 2, 3, E1.a, E.b); >foo1(1, 2, 3, E1.a, E.b) : void > : ^^^^ >foo1 : (...a: T[]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^ >1 : 1 > : ^ >2 : 2 diff --git a/tests/baselines/reference/destructuringParameterDeclaration4.types b/tests/baselines/reference/destructuringParameterDeclaration4.types index a48a088d96759..da2d335a5f4fe 100644 --- a/tests/baselines/reference/destructuringParameterDeclaration4.types +++ b/tests/baselines/reference/destructuringParameterDeclaration4.types @@ -173,7 +173,7 @@ class C { // Rest parameter with generic function foo1(...a: T[]) { } >foo1 : (...a: T[]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^ >a : T[] > : ^^^ @@ -181,7 +181,7 @@ foo1(1, 2, "string", E1.a, E.b); // Error >foo1(1, 2, "string", E1.a, E.b) : void > : ^^^^ >foo1 : (...a: T[]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^ >1 : 1 > : ^ >2 : 2 diff --git a/tests/baselines/reference/destructuringParameterDeclaration5.types b/tests/baselines/reference/destructuringParameterDeclaration5.types index 5905531fca90d..61697eddd0f16 100644 --- a/tests/baselines/reference/destructuringParameterDeclaration5.types +++ b/tests/baselines/reference/destructuringParameterDeclaration5.types @@ -61,7 +61,7 @@ class SubD extends D { function d0({x} = { x: new Class() }) { } >d0 : ({ x }?: { x: Class; }) => void -> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : Class > : ^^^^^ >{ x: new Class() } : { x: Class; } @@ -75,7 +75,7 @@ function d0({x} = { x: new Class() }) { } function d1({x}: { x: F }) { } >d1 : ({ x }: { x: F; }) => void -> : ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : F > : ^ >x : F @@ -83,7 +83,7 @@ function d1({x}: { x: F }) { } function d2({x}: { x: Class }) { } >d2 : ({ x }: { x: Class; }) => void -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : Class > : ^^^^^ >x : Class @@ -91,7 +91,7 @@ function d2({x}: { x: Class }) { } function d3({y}: { y: D }) { } >d3 : ({ y }: { y: D; }) => void -> : ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >y : D > : ^ >y : D @@ -99,7 +99,7 @@ function d3({y}: { y: D }) { } function d4({y} = { y: new D() }) { } >d4 : ({ y }?: { y: D; }) => void -> : ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^ >y : D > : ^ >{ y: new D() } : { y: D; } @@ -123,7 +123,7 @@ d0({ x: 1 }); >d0({ x: 1 }) : void > : ^^^^ >d0 : ({ x }?: { x: Class; }) => void -> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ >{ x: 1 } : { x: number; } > : ^^^^^^^^^^^^^^ >x : number @@ -135,7 +135,7 @@ d0({ x: {} }); >d0({ x: {} }) : void > : ^^^^ >d0 : ({ x }?: { x: Class; }) => void -> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ >{ x: {} } : { x: {}; } > : ^^^^^^^^^^ >x : {} @@ -147,7 +147,7 @@ d0({ x: "string" }); >d0({ x: "string" }) : void > : ^^^^ >d0 : ({ x }?: { x: Class; }) => void -> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ >{ x: "string" } : { x: string; } > : ^^^^^^^^^^^^^^ >x : string @@ -159,7 +159,7 @@ d1({ x: new Class() }); >d1({ x: new Class() }) : void > : ^^^^ >d1 : ({ x }: { x: F; }) => void -> : ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >{ x: new Class() } : { x: Class; } > : ^^^^^^^^^^^^^ >x : Class @@ -173,7 +173,7 @@ d1({ x: {} }); >d1({ x: {} }) : void > : ^^^^ >d1 : ({ x }: { x: F; }) => void -> : ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >{ x: {} } : { x: {}; } > : ^^^^^^^^^^ >x : {} @@ -185,7 +185,7 @@ d1({ x: "string" }); >d1({ x: "string" }) : void > : ^^^^ >d1 : ({ x }: { x: F; }) => void -> : ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >{ x: "string" } : { x: string; } > : ^^^^^^^^^^^^^^ >x : string @@ -197,7 +197,7 @@ d2({ x: new SubClass() }); >d2({ x: new SubClass() }) : void > : ^^^^ >d2 : ({ x }: { x: Class; }) => void -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >{ x: new SubClass() } : { x: SubClass; } > : ^^^^^^^^^^^^^^^^ >x : SubClass @@ -211,7 +211,7 @@ d2({ x: {} }); >d2({ x: {} }) : void > : ^^^^ >d2 : ({ x }: { x: Class; }) => void -> : ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >{ x: {} } : { x: {}; } > : ^^^^^^^^^^ >x : {} @@ -223,7 +223,7 @@ d3({ y: new SubD() }); >d3({ y: new SubD() }) : void > : ^^^^ >d3 : ({ y }: { y: D; }) => void -> : ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >{ y: new SubD() } : { y: SubD; } > : ^^^^^^^^^^^^ >y : SubD @@ -237,7 +237,7 @@ d3({ y: new SubClass() }); >d3({ y: new SubClass() }) : void > : ^^^^ >d3 : ({ y }: { y: D; }) => void -> : ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >{ y: new SubClass() } : { y: SubClass; } > : ^^^^^^^^^^^^^^^^ >y : SubClass @@ -252,7 +252,7 @@ d3({ y: new Class() }); >d3({ y: new Class() }) : void > : ^^^^ >d3 : ({ y }: { y: D; }) => void -> : ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >{ y: new Class() } : { y: Class; } > : ^^^^^^^^^^^^^ >y : Class @@ -266,7 +266,7 @@ d3({}); >d3({}) : void > : ^^^^ >d3 : ({ y }: { y: D; }) => void -> : ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >{} : {} > : ^^ @@ -274,7 +274,7 @@ d3({ y: 1 }); >d3({ y: 1 }) : void > : ^^^^ >d3 : ({ y }: { y: D; }) => void -> : ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >{ y: 1 } : { y: number; } > : ^^^^^^^^^^^^^^ >y : number @@ -286,7 +286,7 @@ d3({ y: "world" }); >d3({ y: "world" }) : void > : ^^^^ >d3 : ({ y }: { y: D; }) => void -> : ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >{ y: "world" } : { y: string; } > : ^^^^^^^^^^^^^^ >y : string diff --git a/tests/baselines/reference/destructuringPropertyAssignmentNameIsNotAssignmentTarget.types b/tests/baselines/reference/destructuringPropertyAssignmentNameIsNotAssignmentTarget.types index 60cc01da8db8d..e2614cc8e411c 100644 --- a/tests/baselines/reference/destructuringPropertyAssignmentNameIsNotAssignmentTarget.types +++ b/tests/baselines/reference/destructuringPropertyAssignmentNameIsNotAssignmentTarget.types @@ -16,9 +16,9 @@ function qux(bar: { value: number }) { ({ value: foo } = bar); >({ value: foo } = bar) : { value: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >{ value: foo } = bar : { value: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >{ value: foo } : { value: number; } > : ^^^^^^^^^^^^^^^^^^ >value : number @@ -26,15 +26,15 @@ function qux(bar: { value: number }) { >foo : number > : ^^^^^^ >bar : { value: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ let x = () => bar; >x : () => { value: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^ >() => bar : () => { value: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^ >bar : { value: number; } -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ } diff --git a/tests/baselines/reference/destructuringTuple.types b/tests/baselines/reference/destructuringTuple.types index 4b8d70ee1381e..cfe1b4c4e9108 100644 --- a/tests/baselines/reference/destructuringTuple.types +++ b/tests/baselines/reference/destructuringTuple.types @@ -63,11 +63,11 @@ const [oops1] = [1, 2, 3].reduce((accu, el) => accu.concat(el), []); >accu.concat(el) : never[] > : ^^^^^^^ >accu.concat : { (...items: ConcatArray[]): never[]; (...items: ConcatArray[]): never[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >accu : [] > : ^^ >concat : { (...items: ConcatArray[]): never[]; (...items: ConcatArray[]): never[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >el : number > : ^^^^^^ >[] : never[] @@ -99,11 +99,11 @@ const [oops2] = [1, 2, 3].reduce((acc: number[], e) => acc.concat(e), []); >acc.concat(e) : number[] > : ^^^^^^^^ >acc.concat : { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >acc : number[] > : ^^^^^^^^ >concat : { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; } -> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ >e : number > : ^^^^^^ >[] : never[] diff --git a/tests/baselines/reference/destructuringTypeGuardFlow.types b/tests/baselines/reference/destructuringTypeGuardFlow.types index 10fed10b0a938..1b80b443cb905 100644 --- a/tests/baselines/reference/destructuringTypeGuardFlow.types +++ b/tests/baselines/reference/destructuringTypeGuardFlow.types @@ -65,11 +65,11 @@ if (aFoo.bar && aFoo.nested.b) { >aFoo.nested.b : string | null > : ^^^^^^^^^^^^^ >aFoo.nested : { a: number; b: string | null; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >aFoo : foo > : ^^^ >nested : { a: number; b: string | null; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >b : string | null > : ^^^^^^^^^^^^^ @@ -176,7 +176,7 @@ if (bBar.elem2 && bBar.elem2.bar && bBar.elem2.nested.b) { >bBar.elem2.nested.b : string | null > : ^^^^^^^^^^^^^ >bBar.elem2.nested : { a: number; b: string | null; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >bBar.elem2 : foo > : ^^^ >bBar : { elem1: number; elem2: foo; } @@ -184,7 +184,7 @@ if (bBar.elem2 && bBar.elem2.bar && bBar.elem2.nested.b) { >elem2 : foo > : ^^^ >nested : { a: number; b: string | null; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^^^ ^^^ >b : string | null > : ^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/destructuringUnspreadableIntoRest.types b/tests/baselines/reference/destructuringUnspreadableIntoRest.types index 416068b793493..cc87560aed5a5 100644 --- a/tests/baselines/reference/destructuringUnspreadableIntoRest.types +++ b/tests/baselines/reference/destructuringUnspreadableIntoRest.types @@ -47,7 +47,7 @@ class A { const { ...rest2 } = this as A; >rest2 : { publicProp: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >this as A : A > : ^ >this : this @@ -87,7 +87,7 @@ class A { >rest2.publicProp : string > : ^^^^^^ >rest2 : { publicProp: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >publicProp : string > : ^^^^^^ @@ -119,7 +119,7 @@ class A { >rest2.privateProp : any > : ^^^ >rest2 : { publicProp: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >privateProp : any > : ^^^ @@ -151,7 +151,7 @@ class A { >rest2.protectedProp : any > : ^^^ >rest2 : { publicProp: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >protectedProp : any > : ^^^ @@ -183,7 +183,7 @@ class A { >rest2.getter : any > : ^^^ >rest2 : { publicProp: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >getter : any > : ^^^ @@ -215,7 +215,7 @@ class A { >rest2.setter : any > : ^^^ >rest2 : { publicProp: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >setter : any > : ^^^ @@ -247,7 +247,7 @@ class A { >rest2.method : any > : ^^^ >rest2 : { publicProp: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >method : any > : ^^^ @@ -271,7 +271,7 @@ class A { function destructure(x: T) { >destructure : (x: T) => void -> : ^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^ >x : T > : ^ @@ -283,7 +283,7 @@ function destructure(x: T) { const { ...rest2 } = x as A; >rest2 : { publicProp: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >x as A : A > : ^ >x : T @@ -323,7 +323,7 @@ function destructure(x: T) { >rest2.publicProp : string > : ^^^^^^ >rest2 : { publicProp: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >publicProp : string > : ^^^^^^ @@ -355,7 +355,7 @@ function destructure(x: T) { >rest2.privateProp : any > : ^^^ >rest2 : { publicProp: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >privateProp : any > : ^^^ @@ -387,7 +387,7 @@ function destructure(x: T) { >rest2.protectedProp : any > : ^^^ >rest2 : { publicProp: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >protectedProp : any > : ^^^ @@ -419,7 +419,7 @@ function destructure(x: T) { >rest2.getter : any > : ^^^ >rest2 : { publicProp: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >getter : any > : ^^^ @@ -451,7 +451,7 @@ function destructure(x: T) { >rest2.setter : any > : ^^^ >rest2 : { publicProp: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >setter : any > : ^^^ @@ -483,7 +483,7 @@ function destructure(x: T) { >rest2.method : any > : ^^^ >rest2 : { publicProp: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^ >method : any > : ^^^ diff --git a/tests/baselines/reference/destructuringWithConstraint.types b/tests/baselines/reference/destructuringWithConstraint.types index 7c07181b08d4e..8144f5d3d78cf 100644 --- a/tests/baselines/reference/destructuringWithConstraint.types +++ b/tests/baselines/reference/destructuringWithConstraint.types @@ -11,7 +11,7 @@ interface Props { function foo

    {} + +==== /index.tsx (0 errors) ==== + import FullCalendar from "@fullcalendar/react"; + import { EventInput } from "@fullcalendar/core"; + \ No newline at end of file diff --git a/tests/baselines/reference/checkerInitializationCrash.symbols b/tests/baselines/reference/checkerInitializationCrash.symbols index c1f5911773f77..a0ef0593638bc 100644 --- a/tests/baselines/reference/checkerInitializationCrash.symbols +++ b/tests/baselines/reference/checkerInitializationCrash.symbols @@ -13,7 +13,7 @@ declare global { export import VNode = react.ReactNode; >VNode : Symbol(FullCalendarVDom.VNode, Decl(index.d.ts, 2, 30)) >react : Symbol(react, Decl(index.d.ts, 0, 6)) ->ReactNode : Symbol(react.ReactNode, Decl(index.d.ts, 2, 25), Decl(index.d.ts, 2, 30)) +>ReactNode : Symbol(react.ReactNode, Decl(index.d.ts, 2, 25)) } } @@ -32,7 +32,7 @@ declare global { >FullCalendarVDom : Symbol(FullCalendarVDom, Decl(index.d.ts, 1, 16), Decl(index.d.ts, 1, 16)) type VNode = preact.VNode; ->VNode : Symbol(React.ReactNode, Decl(index.d.ts, 2, 25), Decl(index.d.ts, 2, 30)) +>VNode : Symbol(VNode, Decl(index.d.ts, 2, 30)) >preact : Symbol(preact, Decl(index.d.ts, 0, 6)) >VNode : Symbol(preact.VNode, Decl(index.d.ts, 0, 27)) } @@ -52,7 +52,7 @@ declare namespace React { >React : Symbol(React, Decl(index.d.ts, 1, 26)) type ReactNode = any; ->ReactNode : Symbol(ReactNode, Decl(index.d.ts, 2, 25), Decl(index.d.ts, 2, 30)) +>ReactNode : Symbol(ReactNode, Decl(index.d.ts, 2, 25)) function useMemo(factory: () => T, deps: undefined): T; >useMemo : Symbol(useMemo, Decl(index.d.ts, 3, 25)) diff --git a/tests/baselines/reference/checkerInitializationCrash.types b/tests/baselines/reference/checkerInitializationCrash.types index c6eea1d6d9cf5..62a2daf6d9906 100644 --- a/tests/baselines/reference/checkerInitializationCrash.types +++ b/tests/baselines/reference/checkerInitializationCrash.types @@ -39,7 +39,8 @@ declare global { namespace FullCalendarVDom { type VNode = preact.VNode; ->VNode : any +>VNode : VNode +> : ^^^^^ >preact : any > : ^^^ } @@ -47,6 +48,7 @@ declare global { export type EventInput = any; >EventInput : any +> : ^^^ === /node_modules/@types/react/index.d.ts === export = React; @@ -63,6 +65,7 @@ declare namespace React { type ReactNode = any; >ReactNode : any +> : ^^^ function useMemo(factory: () => T, deps: undefined): T; >useMemo : (factory: () => T, deps: undefined) => T diff --git a/tests/baselines/reference/circularBaseTypes.types b/tests/baselines/reference/circularBaseTypes.types index 9b237c0c33002..f15db1ed5a721 100644 --- a/tests/baselines/reference/circularBaseTypes.types +++ b/tests/baselines/reference/circularBaseTypes.types @@ -15,8 +15,8 @@ type M3 = M2[keyof M2]; // Error > : ^^^ function f(m: M3) { ->f : (m: any) => any -> : ^ ^^^^^^^^^^^^^ +>f : (m: M3) => any +> : ^ ^^ ^^^^^^^^ >m : any > : ^^^ diff --git a/tests/baselines/reference/circularConstraintYieldsAppropriateError.types b/tests/baselines/reference/circularConstraintYieldsAppropriateError.types index 2ca587a4a5a03..7efc330fd15a3 100644 --- a/tests/baselines/reference/circularConstraintYieldsAppropriateError.types +++ b/tests/baselines/reference/circularConstraintYieldsAppropriateError.types @@ -28,7 +28,7 @@ class Foo extends NextType { >Foo : Foo > : ^^^ >NextType : NextType -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ someProp: { >someProp : { test: true; } @@ -54,11 +54,11 @@ foo.bar.test >foo.bar.test : true > : ^^^^ >foo.bar : { test: true; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >foo : Foo > : ^^^ >bar : { test: true; } -> : ^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >test : true > : ^^^^ diff --git a/tests/baselines/reference/circularContextualMappedType.types b/tests/baselines/reference/circularContextualMappedType.types index 6e3cf8cdb2d78..6fff8e2366a4b 100644 --- a/tests/baselines/reference/circularContextualMappedType.types +++ b/tests/baselines/reference/circularContextualMappedType.types @@ -11,13 +11,13 @@ type Mapped = { [K in keyof T]: Func }; declare function reproduce(options: number): void; >reproduce : { (options: number): void; (options: Mapped): T; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >options : number > : ^^^^^^ declare function reproduce(options: Mapped): T >reproduce : { (options: number): void; (options: Mapped): T; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >options : Mapped > : ^^^^^^^^^ @@ -25,7 +25,7 @@ reproduce({ >reproduce({ name: () => { return 123 }}) : { name: number; } > : ^^^^^^^^^^^^^^^^^ >reproduce : { (options: number): void; (options: Mapped): T; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >{ name: () => { return 123 }} : { name: () => number; } > : ^^^^^^^^^^^^^^^^^^^^^^^ @@ -43,7 +43,7 @@ reproduce({ >reproduce({ name() { return 123 }}) : { name: number; } > : ^^^^^^^^^^^^^^^^^ >reproduce : { (options: number): void; (options: Mapped): T; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >{ name() { return 123 }} : { name(): number; } > : ^^^^^^^^^^^^^^^^^^^ @@ -59,7 +59,7 @@ reproduce({ >reproduce({ name: function () { return 123 }}) : { name: number; } > : ^^^^^^^^^^^^^^^^^ >reproduce : { (options: number): void; (options: Mapped): T; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >{ name: function () { return 123 }} : { name: () => number; } > : ^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/circularContextualReturnType.types b/tests/baselines/reference/circularContextualReturnType.types index f3d5205b613a8..e7e83538cd5a0 100644 --- a/tests/baselines/reference/circularContextualReturnType.types +++ b/tests/baselines/reference/circularContextualReturnType.types @@ -6,12 +6,12 @@ Object.freeze({ >Object.freeze({ foo() { return Object.freeze('a'); },}) : Readonly<{ foo(): string; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->Object.freeze : { (f: T): T; (o: T_1): Readonly; (o: T_2): Readonly; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +>Object.freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ ->freeze : { (f: T): T; (o: T_1): Readonly; (o: T_2): Readonly; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +>freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >{ foo() { return Object.freeze('a'); },} : { foo(): string; } > : ^^^^^^^^^^^^^^^^^^ @@ -22,12 +22,12 @@ Object.freeze({ return Object.freeze('a'); >Object.freeze('a') : string > : ^^^^^^ ->Object.freeze : { (f: T): T; (o: T_1): Readonly; (o: T_2): Readonly; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +>Object.freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ ->freeze : { (f: T): T; (o: T_1): Readonly; (o: T_2): Readonly; } -> : ^^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^ +>freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } +> : ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >'a' : "a" > : ^^^ diff --git a/tests/baselines/reference/circularImportAlias.types b/tests/baselines/reference/circularImportAlias.types index ad84f1e9c29f5..81d5962c85856 100644 --- a/tests/baselines/reference/circularImportAlias.types +++ b/tests/baselines/reference/circularImportAlias.types @@ -54,7 +54,7 @@ var c: { name: string }; var c = new B.a.C(); >c : { name: string; } -> : ^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^ ^^^ >new B.a.C() : A.C > : ^^^ >B.a.C : typeof A.C diff --git a/tests/baselines/reference/circularInferredTypeOfVariable.types b/tests/baselines/reference/circularInferredTypeOfVariable.types index 937f473f958d3..aac6c61fd0cf1 100644 --- a/tests/baselines/reference/circularInferredTypeOfVariable.types +++ b/tests/baselines/reference/circularInferredTypeOfVariable.types @@ -47,7 +47,7 @@ >foo(a1!) : string[] > : ^^^^^^^^ >foo : (p: string[]) => string[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a1! : string[] > : ^^^^^^^^ >a1 : string[] @@ -63,7 +63,7 @@ >bar(a2) : string[] > : ^^^^^^^^ >bar : (p: string[]) => string[] -> : ^ ^^ ^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a2 : string[] > : ^^^^^^^^ } diff --git a/tests/baselines/reference/circularInlineMappedGenericTupleTypeNoCrash.types b/tests/baselines/reference/circularInlineMappedGenericTupleTypeNoCrash.types index 32e48e24d5f62..db665484b9108 100644 --- a/tests/baselines/reference/circularInlineMappedGenericTupleTypeNoCrash.types +++ b/tests/baselines/reference/circularInlineMappedGenericTupleTypeNoCrash.types @@ -21,15 +21,15 @@ class Foo { ) { this.elements = elements; >this.elements = elements : { [P in keyof Elements]: { bar: Elements[P]; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >this.elements : { [P in keyof Elements]: { bar: Elements[P]; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >this : this > : ^^^^ >elements : { [P in keyof Elements]: { bar: Elements[P]; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >elements : { [P in keyof Elements]: { bar: Elements[P]; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ } public add(): Foo<[...Elements, "abc"]> { @@ -44,11 +44,11 @@ class Foo { >...this.elements : { bar: unknown; } > : ^^^^^^^^^^^^^^^^^ >this.elements : { [P in keyof Elements]: { bar: Elements[P]; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >this : this > : ^^^^ >elements : { [P in keyof Elements]: { bar: Elements[P]; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >{ bar: "abc" } : { bar: string; } > : ^^^^^^^^^^^^^^^^ >bar : string diff --git a/tests/baselines/reference/circularInstantiationExpression.types b/tests/baselines/reference/circularInstantiationExpression.types index e5e41230272e1..9d171b86ba3cc 100644 --- a/tests/baselines/reference/circularInstantiationExpression.types +++ b/tests/baselines/reference/circularInstantiationExpression.types @@ -10,8 +10,8 @@ declare function foo(t: T): typeof foo; > : ^ ^^ ^^ ^^^^^ foo(""); ->foo("") : (t: string) => any -> : ^ ^^^^^^^^^^^^^^^^ +>foo("") : (t: string) => typeof foo +> : ^ ^^^^^^^^^^^^^ ^^^^^^ >foo : (t: T) => typeof foo > : ^ ^^ ^^ ^^^^^ >"" : "" diff --git a/tests/baselines/reference/circularMappedTypeConstraint.types b/tests/baselines/reference/circularMappedTypeConstraint.types index ab6c68619e1ed..ef477756194d5 100644 --- a/tests/baselines/reference/circularMappedTypeConstraint.types +++ b/tests/baselines/reference/circularMappedTypeConstraint.types @@ -5,7 +5,7 @@ declare function foo2]: V }, V extends string>(a: T): T; >foo2 : ]: V; }, V extends string>(a: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >a : T > : ^ @@ -15,7 +15,7 @@ export const r2 = foo2({A: "a"}); >foo2({A: "a"}) : { A: string; } > : ^^^^^^^^^^^^^^ >foo2 : ]: V; }, V extends string>(a: T) => T -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{A: "a"} : { A: string; } > : ^^^^^^^^^^^^^^ >A : string diff --git a/tests/baselines/reference/circularReferenceInReturnType.errors.txt b/tests/baselines/reference/circularReferenceInReturnType.errors.txt index bae89c5c1520c..b94a93182ce0f 100644 --- a/tests/baselines/reference/circularReferenceInReturnType.errors.txt +++ b/tests/baselines/reference/circularReferenceInReturnType.errors.txt @@ -1,10 +1,8 @@ circularReferenceInReturnType.ts(3,7): error TS7022: 'res1' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer. circularReferenceInReturnType.ts(3,18): error TS7024: Function implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions. -circularReferenceInReturnType.ts(9,7): error TS7022: 'res3' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer. -circularReferenceInReturnType.ts(9,20): error TS7024: Function implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions. -==== circularReferenceInReturnType.ts (4 errors) ==== +==== circularReferenceInReturnType.ts (2 errors) ==== // inference fails for res1 and res2, but ideally should not declare function fn1(cb: () => T): string; const res1 = fn1(() => res1); @@ -18,8 +16,14 @@ circularReferenceInReturnType.ts(9,20): error TS7024: Function implicitly has re declare function fn3(): (cb: (arg: T2) => any) => (a: T) => void; const res3 = fn3()(() => res3); - ~~~~ -!!! error TS7022: 'res3' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer. - ~~~~~~~~~~ -!!! error TS7024: Function implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions. + + // https://github.com/microsoft/TypeScript/issues/58616 + + function foo(arg: Parameters[0]) { + return arg; + } + + function bar(arg: string) { + return foo(arg); + } \ No newline at end of file diff --git a/tests/baselines/reference/circularReferenceInReturnType.symbols b/tests/baselines/reference/circularReferenceInReturnType.symbols index d126adc332884..72d98a41f140a 100644 --- a/tests/baselines/reference/circularReferenceInReturnType.symbols +++ b/tests/baselines/reference/circularReferenceInReturnType.symbols @@ -40,3 +40,24 @@ const res3 = fn3()(() => res3); >fn3 : Symbol(fn3, Decl(circularReferenceInReturnType.ts, 5, 31)) >res3 : Symbol(res3, Decl(circularReferenceInReturnType.ts, 8, 5)) +// https://github.com/microsoft/TypeScript/issues/58616 + +function foo(arg: Parameters[0]) { +>foo : Symbol(foo, Decl(circularReferenceInReturnType.ts, 8, 31)) +>arg : Symbol(arg, Decl(circularReferenceInReturnType.ts, 12, 13)) +>Parameters : Symbol(Parameters, Decl(lib.es5.d.ts, --, --)) +>bar : Symbol(bar, Decl(circularReferenceInReturnType.ts, 14, 1)) + + return arg; +>arg : Symbol(arg, Decl(circularReferenceInReturnType.ts, 12, 13)) +} + +function bar(arg: string) { +>bar : Symbol(bar, Decl(circularReferenceInReturnType.ts, 14, 1)) +>arg : Symbol(arg, Decl(circularReferenceInReturnType.ts, 16, 13)) + + return foo(arg); +>foo : Symbol(foo, Decl(circularReferenceInReturnType.ts, 8, 31)) +>arg : Symbol(arg, Decl(circularReferenceInReturnType.ts, 16, 13)) +} + diff --git a/tests/baselines/reference/circularReferenceInReturnType.types b/tests/baselines/reference/circularReferenceInReturnType.types index 9917e6f49556b..bcc174e7be663 100644 --- a/tests/baselines/reference/circularReferenceInReturnType.types +++ b/tests/baselines/reference/circularReferenceInReturnType.types @@ -14,7 +14,7 @@ const res1 = fn1(() => res1); >fn1(() => res1) : string > : ^^^^^^ >fn1 : (cb: () => T) => string -> : ^ ^^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >() => res1 : () => any > : ^^^^^^^^^ >res1 : any @@ -30,17 +30,17 @@ declare function fn2(): (cb: () => any) => (a: T) => void; const res2 = fn2()(() => res2); >res2 : (a: unknown) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ >fn2()(() => res2) : (a: unknown) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ >fn2() : (cb: () => any) => (a: unknown) => void -> : ^ ^^ ^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ ^^^^^^^ >fn2 : () => (cb: () => any) => (a: T) => void -> : ^ ^^^^^^^^ ^^ ^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^ >() => res2 : () => (a: unknown) => void -> : ^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^^^^^^^^^^ >res2 : (a: unknown) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ declare function fn3(): (cb: (arg: T2) => any) => (a: T) => void; >fn3 : () => (cb: (arg: T2) => any) => (a: T) => void @@ -53,16 +53,46 @@ declare function fn3(): (cb: (arg: T2) => any) => (a: T) => void; > : ^ const res3 = fn3()(() => res3); ->res3 : any -> : ^^^ +>res3 : (a: unknown) => void +> : ^ ^^^^^^^^^^^^^^ >fn3()(() => res3) : (a: unknown) => void -> : ^ ^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^ >fn3() : (cb: (arg: T2) => any) => (a: unknown) => void -> : ^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^^ ^^^ ^^^^^^^^^ ^^^^^ ^^^^^^^ >fn3 : () => (cb: (arg: T2) => any) => (a: T) => void -> : ^ ^^^^^^^^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^ ->() => res3 : () => any -> : ^^^^^^^^^ ->res3 : any -> : ^^^ +> : ^ ^^^^^^^ +>() => res3 : () => (a: unknown) => void +> : ^^^^^^^ ^^^^^^^^^^^^^^ +>res3 : (a: unknown) => void +> : ^ ^^^^^^^^^^^^^^ + +// https://github.com/microsoft/TypeScript/issues/58616 + +function foo(arg: Parameters[0]) { +>foo : (arg: Parameters[0]) => string +> : ^ ^^ ^^^^^^^^^^^ +>arg : string +> : ^^^^^^ +>bar : (arg: string) => string +> : ^ ^^ ^^^^^^^^^^^ + + return arg; +>arg : string +> : ^^^^^^ +} + +function bar(arg: string) { +>bar : (arg: string) => string +> : ^ ^^ ^^^^^^^^^^^ +>arg : string +> : ^^^^^^ + + return foo(arg); +>foo(arg) : string +> : ^^^^^^ +>foo : (arg: Parameters[0]) => string +> : ^ ^^ ^^^^^^^^^^^ +>arg : string +> : ^^^^^^ +} diff --git a/tests/baselines/reference/circularReferenceInReturnType2.types b/tests/baselines/reference/circularReferenceInReturnType2.types index 665f114bc9b93..46d97194271b0 100644 --- a/tests/baselines/reference/circularReferenceInReturnType2.types +++ b/tests/baselines/reference/circularReferenceInReturnType2.types @@ -88,7 +88,7 @@ type FieldFuncArgs> = { declare const field: , Key extends string>( >field : , Key extends string>(field: FieldFuncArgs) => Field -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ field: FieldFuncArgs >field : FieldFuncArgs @@ -109,9 +109,9 @@ const A = object()({ >object()({ name: "A", fields: () => ({ a: field({ type: A, resolve() { return { foo: 100, }; }, }), }),}) : ObjectType > : ^^^^^^^^^^^^^^^^^^^^^ >object() : ; }>(config: { name: string; fields: Fields | (() => Fields); }) => ObjectType -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ >object : () => ; }>(config: { name: string; fields: Fields | (() => Fields); }) => ObjectType -> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^ >{ name: "A", fields: () => ({ a: field({ type: A, resolve() { return { foo: 100, }; }, }), }),} : { name: string; fields: () => any; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -137,7 +137,7 @@ const A = object()({ >field({ type: A, resolve() { return { foo: 100, }; }, }) : Field > : ^^^^^^^^^^^^^^^^^^^^^ >field : , Key extends string>(field: FieldFuncArgs) => Field -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ type: A, resolve() { return { foo: 100, }; }, } : { type: ObjectType; resolve(): { foo: number; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/circularResolvedSignature.types b/tests/baselines/reference/circularResolvedSignature.types index 82d255148978d..567ee115b9bc4 100644 --- a/tests/baselines/reference/circularResolvedSignature.types +++ b/tests/baselines/reference/circularResolvedSignature.types @@ -37,13 +37,13 @@ export function Component() { const [state, setState] = useState(() => ({ >state : Readonly<{ value: number; foo: (arg: any) => void; bar: (arg: any) => void; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^ >setState : (s: Readonly<{ value: number; foo: (arg: any) => void; bar: (arg: any) => void; }>) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^ >useState(() => ({ value: "string", // this should be a number foo: (arg) => setState(arg), bar: (arg) => setState(arg), })) : [Readonly<{ value: number; foo: (arg: any) => void; bar: (arg: any) => void; }>, (s: Readonly<{ value: number; foo: (arg: any) => void; bar: (arg: any) => void; }>) => void] -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^ ^ >useState : (initialState: (() => S)) => [S, (s: S) => void] -> : ^ ^^ ^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^ +> : ^ ^^ ^^ ^^^^^ >() => ({ value: "string", // this should be a number foo: (arg) => setState(arg), bar: (arg) => setState(arg), }) : () => { value: string; foo: (arg: any) => void; bar: (arg: any) => void; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ >({ value: "string", // this should be a number foo: (arg) => setState(arg), bar: (arg) => setState(arg), }) : { value: string; foo: (arg: any) => void; bar: (arg: any) => void; } @@ -67,7 +67,7 @@ export function Component() { >setState(arg) : void > : ^^^^ >setState : (s: Readonly<{ value: number; foo: (arg: any) => void; bar: (arg: any) => void; }>) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^ >arg : any > : ^^^ @@ -81,7 +81,7 @@ export function Component() { >setState(arg) : void > : ^^^^ >setState : (s: Readonly<{ value: number; foo: (arg: any) => void; bar: (arg: any) => void; }>) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^^^ >arg : any > : ^^^ diff --git a/tests/baselines/reference/classAbstractAssignabilityConstructorFunction.types b/tests/baselines/reference/classAbstractAssignabilityConstructorFunction.types index 5e7d62b299ea9..dc537938c2576 100644 --- a/tests/baselines/reference/classAbstractAssignabilityConstructorFunction.types +++ b/tests/baselines/reference/classAbstractAssignabilityConstructorFunction.types @@ -15,7 +15,7 @@ AAA = A; // error. >AAA = A : typeof A > : ^^^^^^^^ >AAA : new () => A -> : ^^^^^^^^^^^ +> : ^^^^^^^^^^ >A : typeof A > : ^^^^^^^^ @@ -23,7 +23,7 @@ AAA = "asdf"; >AAA = "asdf" : "asdf" > : ^^^^^^ >AAA : new () => A -> : ^^^^^^^^^^^ +> : ^^^^^^^^^^ >"asdf" : "asdf" > : ^^^^^^ diff --git a/tests/baselines/reference/classAbstractInstantiations2.types b/tests/baselines/reference/classAbstractInstantiations2.types index 03c2d25ac17d6..af4b626fdfc95 100644 --- a/tests/baselines/reference/classAbstractInstantiations2.types +++ b/tests/baselines/reference/classAbstractInstantiations2.types @@ -18,11 +18,11 @@ abstract class B { >this.bar() : number > : ^^^^^^ >this.bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >this : this > : ^^^^ >bar : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ abstract bar() : number; >bar : () => number @@ -144,13 +144,13 @@ abstract class G { abstract qux(x : number) : string; >qux : { (x: number): string; (): number; } -> : ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^^^^ ^^^ >x : number > : ^^^^^^ abstract qux() : number; >qux : { (x: number): string; (): number; } -> : ^^^ ^^ ^^^^^^^^^^^^^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^^^^ ^^^ y : number; >y : number @@ -166,11 +166,11 @@ abstract class G { abstract nom(): boolean; >nom : { (): boolean; (x: number): boolean; } -> : ^^^^^^ ^^^ ^^ ^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ nom(x : number): boolean; // error -- use of modifier abstract must match on all overloads. >nom : { (): boolean; (x: number): boolean; } -> : ^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^^^^ ^^^ ^^ ^^^ ^^^ >x : number > : ^^^^^^ } diff --git a/tests/baselines/reference/classAbstractOverloads.types b/tests/baselines/reference/classAbstractOverloads.types index d791ed1dec2a3..25b54ae24d5e9 100644 --- a/tests/baselines/reference/classAbstractOverloads.types +++ b/tests/baselines/reference/classAbstractOverloads.types @@ -7,7 +7,7 @@ abstract class A { abstract foo(); >foo : { (): any; (): number; (): any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ abstract foo() : number; >foo : { (): any; (): number; (): any; } @@ -15,7 +15,7 @@ abstract class A { abstract foo(); >foo : { (): any; (): number; (): any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ abstract bar(); >bar : { (): any; (): any; (): any; } @@ -60,7 +60,7 @@ abstract class B { abstract foo(); >foo : { (): number; (): any; (): any; (): any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ x : number; >x : number @@ -68,9 +68,9 @@ abstract class B { abstract foo(); >foo : { (): number; (): any; (): any; (): any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ abstract foo(); >foo : { (): number; (): any; (): any; (): any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } diff --git a/tests/baselines/reference/classAppearsToHaveMembersOfObject.types b/tests/baselines/reference/classAppearsToHaveMembersOfObject.types index 88f38d6bcf2f9..f0becb9076a74 100644 --- a/tests/baselines/reference/classAppearsToHaveMembersOfObject.types +++ b/tests/baselines/reference/classAppearsToHaveMembersOfObject.types @@ -17,11 +17,11 @@ var r = c.toString(); >c.toString() : string > : ^^^^^^ >c.toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >c : C > : ^ >toString : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ var r2 = c.hasOwnProperty(''); >r2 : boolean @@ -29,11 +29,11 @@ var r2 = c.hasOwnProperty(''); >c.hasOwnProperty('') : boolean > : ^^^^^^^ >c.hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >c : C > : ^ >hasOwnProperty : (v: PropertyKey) => boolean -> : ^ ^^ ^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >'' : "" > : ^^ diff --git a/tests/baselines/reference/classCanExtendConstructorFunction.types b/tests/baselines/reference/classCanExtendConstructorFunction.types index e3633aa2a3e97..3d7c49b5b2dae 100644 --- a/tests/baselines/reference/classCanExtendConstructorFunction.types +++ b/tests/baselines/reference/classCanExtendConstructorFunction.types @@ -387,19 +387,19 @@ class Chowder extends Soup { >Chowder : Chowder > : ^^^^^^^ >Soup : Soup<{ claim: "ignorant" | "malicious"; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^ ^^^^ log() { >log : () => { claim: "ignorant" | "malicious"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^ ^^^ return this.flavour >this.flavour : { claim: "ignorant" | "malicious"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >this : this > : ^^^^ >flavour : { claim: "ignorant" | "malicious"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ } } @@ -439,11 +439,11 @@ chowder.flavour.claim >chowder.flavour.claim : "ignorant" | "malicious" > : ^^^^^^^^^^^^^^^^^^^^^^^^ >chowder.flavour : { claim: "ignorant" | "malicious"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >chowder : Chowder > : ^^^^^^^ >flavour : { claim: "ignorant" | "malicious"; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^^^ ^^^ >claim : "ignorant" | "malicious" > : ^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/classDeclarationLoop.types b/tests/baselines/reference/classDeclarationLoop.types index 7b32d26cc3818..042730f013ca3 100644 --- a/tests/baselines/reference/classDeclarationLoop.types +++ b/tests/baselines/reference/classDeclarationLoop.types @@ -37,11 +37,11 @@ for (let i = 0; i < 10; ++i) { >arr.push(C) : number > : ^^^^^^ >arr.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >arr : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >C : typeof C > : ^^^^^^^^ } diff --git a/tests/baselines/reference/classExpressionLoop.types b/tests/baselines/reference/classExpressionLoop.types index 26c3972791d9f..2688185cc56c0 100644 --- a/tests/baselines/reference/classExpressionLoop.types +++ b/tests/baselines/reference/classExpressionLoop.types @@ -27,11 +27,11 @@ for (let i = 0; i < 10; ++i) { >arr.push(class C { prop = i; }) : number > : ^^^^^^ >arr.push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >arr : any[] > : ^^^^^ >push : (...items: any[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^^^^ >class C { prop = i; } : typeof C > : ^^^^^^^^ >C : typeof C diff --git a/tests/baselines/reference/classExpressionWithStaticProperties3.types b/tests/baselines/reference/classExpressionWithStaticProperties3.types index 05e70a5b0033c..df8f6807c5362 100644 --- a/tests/baselines/reference/classExpressionWithStaticProperties3.types +++ b/tests/baselines/reference/classExpressionWithStaticProperties3.types @@ -32,11 +32,11 @@ for (let i = 0; i < 3; i++) { >arr.push(class C { static x = i; static y = () => C.x * 2; }) : number > : ^^^^^^ >arr.push : (...items: { y(): number; }[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^ ^^^^^^^^^^ >arr : { y(): number; }[] -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ >push : (...items: { y(): number; }[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^ ^^^^^^^^^^ >class C { static x = i; static y = () => C.x * 2; } : typeof C > : ^^^^^^^^ >C : typeof C @@ -70,15 +70,15 @@ arr.forEach(C => console.log(C.y())); >arr.forEach(C => console.log(C.y())) : void > : ^^^^ >arr.forEach : (callbackfn: (value: { y(): number; }, index: number, array: { y(): number; }[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^ ^^^^^ >arr : { y(): number; }[] -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ >forEach : (callbackfn: (value: { y(): number; }, index: number, array: { y(): number; }[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^ ^^^^^ >C => console.log(C.y()) : (C: { y(): number; }) => any -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^ >C : { y(): number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >console.log(C.y()) : any >console.log : any >console : any @@ -88,9 +88,9 @@ arr.forEach(C => console.log(C.y())); >C.y() : number > : ^^^^^^ >C.y : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >C : { y(): number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >y : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/classExpressionWithStaticPropertiesES63.types b/tests/baselines/reference/classExpressionWithStaticPropertiesES63.types index a33eae6cf70a2..a858afeffb6dc 100644 --- a/tests/baselines/reference/classExpressionWithStaticPropertiesES63.types +++ b/tests/baselines/reference/classExpressionWithStaticPropertiesES63.types @@ -32,11 +32,11 @@ for (let i = 0; i < 3; i++) { >arr.push(class C { static x = i; static y = () => C.x * 2; }) : number > : ^^^^^^ >arr.push : (...items: { y(): number; }[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^ ^^^^^^^^^^ >arr : { y(): number; }[] -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ >push : (...items: { y(): number; }[]) => number -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^ ^^^^^^^^^ ^^^^^^^^^^ >class C { static x = i; static y = () => C.x * 2; } : typeof C > : ^^^^^^^^ >C : typeof C @@ -70,15 +70,15 @@ arr.forEach(C => console.log(C.y())); >arr.forEach(C => console.log(C.y())) : void > : ^^^^ >arr.forEach : (callbackfn: (value: { y(): number; }, index: number, array: { y(): number; }[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^ ^^^^^ >arr : { y(): number; }[] -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^^^ >forEach : (callbackfn: (value: { y(): number; }, index: number, array: { y(): number; }[]) => void, thisArg?: any) => void -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^^^^^ ^^^^^ ^^ ^^ ^^^^^^^^^ ^^^^^^^^^^ ^^ ^^^ ^^^^^ >C => console.log(C.y()) : (C: { y(): number; }) => any -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^ >C : { y(): number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >console.log(C.y()) : any >console.log : any >console : any @@ -88,9 +88,9 @@ arr.forEach(C => console.log(C.y())); >C.y() : number > : ^^^^^^ >C.y : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ >C : { y(): number; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ >y : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/classExtendingAbstractClassWithMemberCalledTheSameAsItsOwnTypeParam.symbols b/tests/baselines/reference/classExtendingAbstractClassWithMemberCalledTheSameAsItsOwnTypeParam.symbols index dca9748d6539b..6fa8dff64ed86 100644 --- a/tests/baselines/reference/classExtendingAbstractClassWithMemberCalledTheSameAsItsOwnTypeParam.symbols +++ b/tests/baselines/reference/classExtendingAbstractClassWithMemberCalledTheSameAsItsOwnTypeParam.symbols @@ -69,7 +69,7 @@ export abstract class BaseObservable extends ConvenientObserv protected readonly observers = new Set(); >observers : Symbol(BaseObservable.observers, Decl(classExtendingAbstractClassWithMemberCalledTheSameAsItsOwnTypeParam.ts, 18, 98)) ->Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.esnext.collection.d.ts, --, --)) >IObserver : Symbol(IObserver, Decl(classExtendingAbstractClassWithMemberCalledTheSameAsItsOwnTypeParam.ts, 0, 0)) } diff --git a/tests/baselines/reference/classExtendingClassLikeType.types b/tests/baselines/reference/classExtendingClassLikeType.types index 4db76ce86d0ec..709f22c054b23 100644 --- a/tests/baselines/reference/classExtendingClassLikeType.types +++ b/tests/baselines/reference/classExtendingClassLikeType.types @@ -53,7 +53,7 @@ class D1 extends getBase() { >getBase() : Base > : ^^^^^^^^^^^^^^^^^^^^ >getBase : () => BaseConstructor -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ constructor() { super("abc", "def"); @@ -98,7 +98,7 @@ class D2 extends getBase() { >getBase() : Base > : ^^^^^^^^^^^^^^^^^^^^ >getBase : () => BaseConstructor -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ constructor() { super(10); @@ -151,7 +151,7 @@ class D3 extends getBase() { >getBase() : Base > : ^^^^^^^^^^^^^^^^^^^^ >getBase : () => BaseConstructor -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ constructor() { super("abc", 42); @@ -197,7 +197,7 @@ class D4 extends getBase() { >getBase() : BaseConstructor > : ^^^^^^^^^^^^^^^ >getBase : () => BaseConstructor -> : ^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ } interface BadBaseConstructor { @@ -221,6 +221,6 @@ class D5 extends getBadBase() { >getBadBase() : Base > : ^^^^^^^^^^^^^^^^^^^^ >getBadBase : () => BadBaseConstructor -> : ^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ } diff --git a/tests/baselines/reference/classExtendsEveryObjectType.types b/tests/baselines/reference/classExtendsEveryObjectType.types index b2e4b0ad21359..b8ec0869a9135 100644 --- a/tests/baselines/reference/classExtendsEveryObjectType.types +++ b/tests/baselines/reference/classExtendsEveryObjectType.types @@ -32,7 +32,7 @@ class C3 extends x { } // error >C3 : C3 > : ^^ >x : { foo: string; } -> : ^^^^^^^^^^^^^^^^ +> : ^^^^^^^ ^^^ module M { export var x = 1; } >M : typeof M diff --git a/tests/baselines/reference/classExtendsInterfaceInExpression.types b/tests/baselines/reference/classExtendsInterfaceInExpression.types index 482a4cb85acd4..aacc313be0bfb 100644 --- a/tests/baselines/reference/classExtendsInterfaceInExpression.types +++ b/tests/baselines/reference/classExtendsInterfaceInExpression.types @@ -17,8 +17,8 @@ class C extends factory(A) {} > : ^ >factory(A) : Object > : ^^^^^^ ->factory : (a: any) => new () => Object -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +>factory : (a: any) => { new (): Object; } +> : ^ ^^ ^^^^^ >A : any > : ^^^ diff --git a/tests/baselines/reference/classExtendsNull.types b/tests/baselines/reference/classExtendsNull.types index 370c7447aadbf..4f3cd0c36c26e 100644 --- a/tests/baselines/reference/classExtendsNull.types +++ b/tests/baselines/reference/classExtendsNull.types @@ -16,11 +16,11 @@ class C extends null { >Object.create(null) : any > : ^^^ >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ } } @@ -33,10 +33,10 @@ class D extends null { >Object.create(null) : any > : ^^^ >Object.create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >Object : ObjectConstructor > : ^^^^^^^^^^^^^^^^^ >create : { (o: object | null): any; (o: object | null, properties: PropertyDescriptorMap & ThisType): any; } -> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ } } diff --git a/tests/baselines/reference/classFieldSuperAccessible.types b/tests/baselines/reference/classFieldSuperAccessible.types index 053077cc63e82..004a1a6e85556 100644 --- a/tests/baselines/reference/classFieldSuperAccessible.types +++ b/tests/baselines/reference/classFieldSuperAccessible.types @@ -14,11 +14,11 @@ class A extends class Expr {} { >console.log(super.name) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >super.name : string > : ^^^^^^ >super : typeof Expr @@ -38,11 +38,11 @@ class B extends Number { >console.log(super.EPSILON) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >super.EPSILON : number > : ^^^^^^ >super : NumberConstructor @@ -65,11 +65,11 @@ class C extends Array { >console.log(super.length) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >super.length : number > : ^^^^^^ >super : any[] diff --git a/tests/baselines/reference/classFieldSuperAccessibleJs1.types b/tests/baselines/reference/classFieldSuperAccessibleJs1.types index 70c9d67de942a..940b9ec34db38 100644 --- a/tests/baselines/reference/classFieldSuperAccessibleJs1.types +++ b/tests/baselines/reference/classFieldSuperAccessibleJs1.types @@ -34,11 +34,11 @@ class D extends C { >console.log(super.blah1) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >super.blah1 : number > : ^^^^^^ >super : typeof C @@ -50,11 +50,11 @@ class D extends C { >console.log(super.blah2) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >super.blah2 : number > : ^^^^^^ >super : typeof C diff --git a/tests/baselines/reference/classFieldSuperAccessibleJs2.types b/tests/baselines/reference/classFieldSuperAccessibleJs2.types index dd6c95046a763..7a7bcad93242b 100644 --- a/tests/baselines/reference/classFieldSuperAccessibleJs2.types +++ b/tests/baselines/reference/classFieldSuperAccessibleJs2.types @@ -22,11 +22,11 @@ class C { >console.log("called arrow") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"called arrow" : "called arrow" > : ^^^^^^^^^^^^^^ @@ -40,11 +40,11 @@ class C { >console.log("called method") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"called method" : "called method" > : ^^^^^^^^^^^^^^^ } @@ -64,11 +64,11 @@ class D extends C { >console.log("SUPER:") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"SUPER:" : "SUPER:" > : ^^^^^^^^ @@ -86,11 +86,11 @@ class D extends C { >console.log("THIS:") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"THIS:" : "THIS:" > : ^^^^^^^ @@ -128,7 +128,7 @@ D.prototype.foo.call(obj); >D.prototype.foo.call(obj) : void > : ^^^^ >D.prototype.foo.call : (this: (this: T, ...args: A) => R, thisArg: T, ...args: A) => R -> : ^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >D.prototype.foo : () => void > : ^^^^^^^^^^ >D.prototype : D @@ -140,7 +140,7 @@ D.prototype.foo.call(obj); >foo : () => void > : ^^^^^^^^^^ >call : (this: (this: T, ...args: A) => R, thisArg: T, ...args: A) => R -> : ^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ >obj : D > : ^ diff --git a/tests/baselines/reference/classFunctionMerging2.types b/tests/baselines/reference/classFunctionMerging2.types index f87afbd441d1a..0fd7138a2792b 100644 --- a/tests/baselines/reference/classFunctionMerging2.types +++ b/tests/baselines/reference/classFunctionMerging2.types @@ -49,11 +49,11 @@ console.log(b.a) >console.log(b.a) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >b.a : number > : ^^^^^^ >b : B diff --git a/tests/baselines/reference/classImplementsMethodWIthTupleArgs.types b/tests/baselines/reference/classImplementsMethodWIthTupleArgs.types index 2ab7ac1fc1190..ee0d5ce2f1988 100644 --- a/tests/baselines/reference/classImplementsMethodWIthTupleArgs.types +++ b/tests/baselines/reference/classImplementsMethodWIthTupleArgs.types @@ -7,13 +7,13 @@ declare class MySettable implements Settable { set(option: Record): void; >set : { (option: Record): void; (name: string, value: unknown): void; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >option : Record > : ^^^^^^^^^^^^^^^^^^^^^^^ set(name: string, value: unknown): void; >set : { (option: Record): void; (name: string, value: unknown): void; } -> : ^^^ ^^ ^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >name : string > : ^^^^^^ >value : unknown diff --git a/tests/baselines/reference/classMemberInitializerWithLamdaScoping.types b/tests/baselines/reference/classMemberInitializerWithLamdaScoping.types index cc11568af5b00..e91a5aff36481 100644 --- a/tests/baselines/reference/classMemberInitializerWithLamdaScoping.types +++ b/tests/baselines/reference/classMemberInitializerWithLamdaScoping.types @@ -40,11 +40,11 @@ class Test { >console.log(field) : void > : ^^^^ >console.log : (msg?: any) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >console : { log(msg?: any): void; } -> : ^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ ^^^ >log : (msg?: any) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >field : string > : ^^^^^^ @@ -73,11 +73,11 @@ class Test { >console.log(field) : void > : ^^^^ >console.log : (msg?: any) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >console : { log(msg?: any): void; } -> : ^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ ^^^ >log : (msg?: any) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >field : number > : ^^^^^^ @@ -106,11 +106,11 @@ class Test1 { >console.log(field1) : void > : ^^^^ >console.log : (msg?: any) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >console : { log(msg?: any): void; } -> : ^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ ^^^ >log : (msg?: any) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >field1 : any > : ^^^ @@ -127,11 +127,11 @@ class Test1 { >console.log(field1) : void > : ^^^^ >console.log : (msg?: any) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >console : { log(msg?: any): void; } -> : ^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ ^^^ >log : (msg?: any) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >field1 : string > : ^^^^^^ diff --git a/tests/baselines/reference/classMemberInitializerWithLamdaScoping2.types b/tests/baselines/reference/classMemberInitializerWithLamdaScoping2.types index e46ae6d78b525..f679fce5321ca 100644 --- a/tests/baselines/reference/classMemberInitializerWithLamdaScoping2.types +++ b/tests/baselines/reference/classMemberInitializerWithLamdaScoping2.types @@ -35,11 +35,11 @@ class Test1 { >console.log(field1) : void > : ^^^^ >console.log : (msg?: any) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >console : { log(msg?: any): void; } -> : ^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ ^^^ >log : (msg?: any) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >field1 : any > : ^^^ diff --git a/tests/baselines/reference/classMemberInitializerWithLamdaScoping3.types b/tests/baselines/reference/classMemberInitializerWithLamdaScoping3.types index 1d51330bda074..79f7bc5ad81fa 100644 --- a/tests/baselines/reference/classMemberInitializerWithLamdaScoping3.types +++ b/tests/baselines/reference/classMemberInitializerWithLamdaScoping3.types @@ -35,11 +35,11 @@ export class Test1 { >console.log(field1) : void > : ^^^^ >console.log : (msg?: any) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >console : { log(msg?: any): void; } -> : ^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ ^^^ >log : (msg?: any) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >field1 : any > : ^^^ diff --git a/tests/baselines/reference/classMemberInitializerWithLamdaScoping4.types b/tests/baselines/reference/classMemberInitializerWithLamdaScoping4.types index e477c91b839cf..8e6f0e3bd0d3f 100644 --- a/tests/baselines/reference/classMemberInitializerWithLamdaScoping4.types +++ b/tests/baselines/reference/classMemberInitializerWithLamdaScoping4.types @@ -35,11 +35,11 @@ export class Test1 { >console.log(field1) : void > : ^^^^ >console.log : (msg?: any) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >console : { log(msg?: any): void; } -> : ^^^^^^ ^^^ ^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^ ^^^ >log : (msg?: any) => void -> : ^ ^^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ >field1 : any > : ^^^ diff --git a/tests/baselines/reference/classMemberInitializerWithLamdaScoping5.types b/tests/baselines/reference/classMemberInitializerWithLamdaScoping5.types index 035cc8f8b1fe4..42cef91e19142 100644 --- a/tests/baselines/reference/classMemberInitializerWithLamdaScoping5.types +++ b/tests/baselines/reference/classMemberInitializerWithLamdaScoping5.types @@ -34,11 +34,11 @@ class Greeter { >console.log(message) : void > : ^^^^ >console.log : (message?: any, ...optionalParams: any[]) => void -> : ^ ^^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^^^^ >console : { log(message?: any, ...optionalParams: any[]): void; } -> : ^^^^^^ ^^^ ^^^^^ ^^ ^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^ ^^ ^^^ ^^^ >log : (message?: any, ...optionalParams: any[]) => void -> : ^ ^^^ ^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^ ^^^^^ ^^ ^^^^^ >message : string > : ^^^^^^ } diff --git a/tests/baselines/reference/classReferencedInContextualParameterWithinItsOwnBaseExpression.js b/tests/baselines/reference/classReferencedInContextualParameterWithinItsOwnBaseExpression.js new file mode 100644 index 0000000000000..8674d45fd0b91 --- /dev/null +++ b/tests/baselines/reference/classReferencedInContextualParameterWithinItsOwnBaseExpression.js @@ -0,0 +1,68 @@ +//// [tests/cases/compiler/classReferencedInContextualParameterWithinItsOwnBaseExpression.ts] //// + +//// [classReferencedInContextualParameterWithinItsOwnBaseExpression.ts] +interface Pretty { + (a: To): string; +} + +interface Schema { + readonly pretty?: Pretty; +} + +interface Class { + new (): A; +} + +declare const Class: ( + identifier: string, +) => ( + fields: Fields, + annotations?: Schema, +) => Class>; + +type Type = { + _TOutput: TOutput; +}; + +type OutputFrom = { + [K in keyof TFields]: "_TOutput" extends keyof TFields[K] + ? TFields[K]["_TOutput"] + : never; +}; + +declare function string(): Type; + +export class A extends Class("A")( + { a: string }, + { + pretty: (a) => JSON.stringify(a), + }, +) {} + + + + +//// [classReferencedInContextualParameterWithinItsOwnBaseExpression.d.ts] +interface Pretty { + (a: To): string; +} +interface Schema { + readonly pretty?: Pretty; +} +interface Class { + new (): A; +} +declare const Class: (identifier: string) => (fields: Fields, annotations?: Schema) => Class>; +type Type = { + _TOutput: TOutput; +}; +type OutputFrom = { + [K in keyof TFields]: "_TOutput" extends keyof TFields[K] ? TFields[K]["_TOutput"] : never; +}; +declare function string(): Type; +declare const A_base: Class>; +export declare class A extends A_base { +} +export {}; diff --git a/tests/baselines/reference/classReferencedInContextualParameterWithinItsOwnBaseExpression.symbols b/tests/baselines/reference/classReferencedInContextualParameterWithinItsOwnBaseExpression.symbols new file mode 100644 index 0000000000000..5b5fcf91feb81 --- /dev/null +++ b/tests/baselines/reference/classReferencedInContextualParameterWithinItsOwnBaseExpression.symbols @@ -0,0 +1,105 @@ +//// [tests/cases/compiler/classReferencedInContextualParameterWithinItsOwnBaseExpression.ts] //// + +=== classReferencedInContextualParameterWithinItsOwnBaseExpression.ts === +interface Pretty { +>Pretty : Symbol(Pretty, Decl(classReferencedInContextualParameterWithinItsOwnBaseExpression.ts, 0, 0)) +>To : Symbol(To, Decl(classReferencedInContextualParameterWithinItsOwnBaseExpression.ts, 0, 17)) + + (a: To): string; +>a : Symbol(a, Decl(classReferencedInContextualParameterWithinItsOwnBaseExpression.ts, 1, 3)) +>To : Symbol(To, Decl(classReferencedInContextualParameterWithinItsOwnBaseExpression.ts, 0, 17)) +} + +interface Schema { +>Schema : Symbol(Schema, Decl(classReferencedInContextualParameterWithinItsOwnBaseExpression.ts, 2, 1)) +>A : Symbol(A, Decl(classReferencedInContextualParameterWithinItsOwnBaseExpression.ts, 4, 17)) + + readonly pretty?: Pretty; +>pretty : Symbol(Schema.pretty, Decl(classReferencedInContextualParameterWithinItsOwnBaseExpression.ts, 4, 21)) +>Pretty : Symbol(Pretty, Decl(classReferencedInContextualParameterWithinItsOwnBaseExpression.ts, 0, 0)) +>A : Symbol(A, Decl(classReferencedInContextualParameterWithinItsOwnBaseExpression.ts, 4, 17)) +} + +interface Class { +>Class : Symbol(Class, Decl(classReferencedInContextualParameterWithinItsOwnBaseExpression.ts, 6, 1), Decl(classReferencedInContextualParameterWithinItsOwnBaseExpression.ts, 12, 13)) +>A : Symbol(A, Decl(classReferencedInContextualParameterWithinItsOwnBaseExpression.ts, 8, 16)) + + new (): A; +>A : Symbol(A, Decl(classReferencedInContextualParameterWithinItsOwnBaseExpression.ts, 8, 16)) +} + +declare const Class: ( +>Class : Symbol(Class, Decl(classReferencedInContextualParameterWithinItsOwnBaseExpression.ts, 6, 1), Decl(classReferencedInContextualParameterWithinItsOwnBaseExpression.ts, 12, 13)) +>Self : Symbol(Self, Decl(classReferencedInContextualParameterWithinItsOwnBaseExpression.ts, 12, 22)) + + identifier: string, +>identifier : Symbol(identifier, Decl(classReferencedInContextualParameterWithinItsOwnBaseExpression.ts, 12, 28)) + +) => ( +>Fields : Symbol(Fields, Decl(classReferencedInContextualParameterWithinItsOwnBaseExpression.ts, 14, 6)) + + fields: Fields, +>fields : Symbol(fields, Decl(classReferencedInContextualParameterWithinItsOwnBaseExpression.ts, 14, 14)) +>Fields : Symbol(Fields, Decl(classReferencedInContextualParameterWithinItsOwnBaseExpression.ts, 14, 6)) + + annotations?: Schema, +>annotations : Symbol(annotations, Decl(classReferencedInContextualParameterWithinItsOwnBaseExpression.ts, 15, 17)) +>Schema : Symbol(Schema, Decl(classReferencedInContextualParameterWithinItsOwnBaseExpression.ts, 2, 1)) +>Self : Symbol(Self, Decl(classReferencedInContextualParameterWithinItsOwnBaseExpression.ts, 12, 22)) + +) => Class>; +>Class : Symbol(Class, Decl(classReferencedInContextualParameterWithinItsOwnBaseExpression.ts, 6, 1), Decl(classReferencedInContextualParameterWithinItsOwnBaseExpression.ts, 12, 13)) +>OutputFrom : Symbol(OutputFrom, Decl(classReferencedInContextualParameterWithinItsOwnBaseExpression.ts, 21, 2)) +>Fields : Symbol(Fields, Decl(classReferencedInContextualParameterWithinItsOwnBaseExpression.ts, 14, 6)) + +type Type = { +>Type : Symbol(Type, Decl(classReferencedInContextualParameterWithinItsOwnBaseExpression.ts, 17, 31)) +>TOutput : Symbol(TOutput, Decl(classReferencedInContextualParameterWithinItsOwnBaseExpression.ts, 19, 10)) + + _TOutput: TOutput; +>_TOutput : Symbol(_TOutput, Decl(classReferencedInContextualParameterWithinItsOwnBaseExpression.ts, 19, 22)) +>TOutput : Symbol(TOutput, Decl(classReferencedInContextualParameterWithinItsOwnBaseExpression.ts, 19, 10)) + +}; + +type OutputFrom = { +>OutputFrom : Symbol(OutputFrom, Decl(classReferencedInContextualParameterWithinItsOwnBaseExpression.ts, 21, 2)) +>TFields : Symbol(TFields, Decl(classReferencedInContextualParameterWithinItsOwnBaseExpression.ts, 23, 16)) + + [K in keyof TFields]: "_TOutput" extends keyof TFields[K] +>K : Symbol(K, Decl(classReferencedInContextualParameterWithinItsOwnBaseExpression.ts, 24, 3)) +>TFields : Symbol(TFields, Decl(classReferencedInContextualParameterWithinItsOwnBaseExpression.ts, 23, 16)) +>TFields : Symbol(TFields, Decl(classReferencedInContextualParameterWithinItsOwnBaseExpression.ts, 23, 16)) +>K : Symbol(K, Decl(classReferencedInContextualParameterWithinItsOwnBaseExpression.ts, 24, 3)) + + ? TFields[K]["_TOutput"] +>TFields : Symbol(TFields, Decl(classReferencedInContextualParameterWithinItsOwnBaseExpression.ts, 23, 16)) +>K : Symbol(K, Decl(classReferencedInContextualParameterWithinItsOwnBaseExpression.ts, 24, 3)) + + : never; +}; + +declare function string(): Type; +>string : Symbol(string, Decl(classReferencedInContextualParameterWithinItsOwnBaseExpression.ts, 27, 2)) +>Type : Symbol(Type, Decl(classReferencedInContextualParameterWithinItsOwnBaseExpression.ts, 17, 31)) + +export class A extends Class("A")( +>A : Symbol(A, Decl(classReferencedInContextualParameterWithinItsOwnBaseExpression.ts, 29, 40)) +>Class : Symbol(Class, Decl(classReferencedInContextualParameterWithinItsOwnBaseExpression.ts, 6, 1), Decl(classReferencedInContextualParameterWithinItsOwnBaseExpression.ts, 12, 13)) +>A : Symbol(A, Decl(classReferencedInContextualParameterWithinItsOwnBaseExpression.ts, 29, 40)) + + { a: string }, +>a : Symbol(a, Decl(classReferencedInContextualParameterWithinItsOwnBaseExpression.ts, 32, 3)) +>string : Symbol(string, Decl(classReferencedInContextualParameterWithinItsOwnBaseExpression.ts, 27, 2)) + { + pretty: (a) => JSON.stringify(a), +>pretty : Symbol(pretty, Decl(classReferencedInContextualParameterWithinItsOwnBaseExpression.ts, 33, 3)) +>a : Symbol(a, Decl(classReferencedInContextualParameterWithinItsOwnBaseExpression.ts, 34, 13)) +>JSON.stringify : Symbol(JSON.stringify, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>JSON : Symbol(JSON, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>stringify : Symbol(JSON.stringify, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>a : Symbol(a, Decl(classReferencedInContextualParameterWithinItsOwnBaseExpression.ts, 34, 13)) + + }, +) {} + diff --git a/tests/baselines/reference/classReferencedInContextualParameterWithinItsOwnBaseExpression.types b/tests/baselines/reference/classReferencedInContextualParameterWithinItsOwnBaseExpression.types new file mode 100644 index 0000000000000..ead21a3f1b901 --- /dev/null +++ b/tests/baselines/reference/classReferencedInContextualParameterWithinItsOwnBaseExpression.types @@ -0,0 +1,105 @@ +//// [tests/cases/compiler/classReferencedInContextualParameterWithinItsOwnBaseExpression.ts] //// + +=== classReferencedInContextualParameterWithinItsOwnBaseExpression.ts === +interface Pretty { + (a: To): string; +>a : To +> : ^^ +} + +interface Schema { + readonly pretty?: Pretty; +>pretty : Pretty | undefined +> : ^^^^^^^^^^^^^^^^^^^^^ +} + +interface Class { + new (): A; +} + +declare const Class: ( +>Class : (identifier: string) => (fields: Fields, annotations?: Schema) => Class> +> : ^ ^^ ^^ ^^^^^ + + identifier: string, +>identifier : string +> : ^^^^^^ + +) => ( + fields: Fields, +>fields : Fields +> : ^^^^^^ + + annotations?: Schema, +>annotations : Schema | undefined +> : ^^^^^^^^^^^^^^^^^^^^^^^^ + +) => Class>; + +type Type = { +>Type : Type +> : ^^^^^^^^^^^^^ + + _TOutput: TOutput; +>_TOutput : TOutput +> : ^^^^^^^ + +}; + +type OutputFrom = { +>OutputFrom : OutputFrom +> : ^^^^^^^^^^^^^^^^^^^ + + [K in keyof TFields]: "_TOutput" extends keyof TFields[K] + ? TFields[K]["_TOutput"] + : never; +}; + +declare function string(): Type; +>string : () => Type +> : ^^^^^^ + +export class A extends Class("A")( +>A : A +> : ^ +>Class("A")( { a: string }, { pretty: (a) => JSON.stringify(a), },) : OutputFrom<{ a: () => Type; }> +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ +>Class("A") : (fields: Fields, annotations?: Schema | undefined) => Class> +> : ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ +>Class : (identifier: string) => (fields: Fields, annotations?: Schema) => Class> +> : ^ ^^ ^^ ^^^^^ +>"A" : "A" +> : ^^^ + + { a: string }, +>{ a: string } : { a: () => Type; } +> : ^^^^^^^^^^^ ^^^ +>a : () => Type +> : ^^^^^^ +>string : () => Type +> : ^^^^^^ + { +>{ pretty: (a) => JSON.stringify(a), } : { pretty: (a: A) => string; } +> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ + + pretty: (a) => JSON.stringify(a), +>pretty : (a: A) => string +> : ^ ^^^^^^^^^^^^^^ +>(a) => JSON.stringify(a) : (a: A) => string +> : ^ ^^^^^^^^^^^^^^ +>a : A +> : ^ +>JSON.stringify(a) : string +> : ^^^^^^ +>JSON.stringify : { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; } +> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ +>JSON : JSON +> : ^^^^ +>stringify : { (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; (value: any, replacer?: (number | string)[] | null, space?: string | number): string; } +> : ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^ ^^^ ^^^ ^^^ +>a : A +> : ^ + + }, +) {} + diff --git a/tests/baselines/reference/classSideInheritance1.types b/tests/baselines/reference/classSideInheritance1.types index 6ba3d30dc5fcb..4366adf8ec96e 100644 --- a/tests/baselines/reference/classSideInheritance1.types +++ b/tests/baselines/reference/classSideInheritance1.types @@ -58,19 +58,19 @@ A.bar(); // valid >A.bar() : string > : ^^^^^^ >A.bar : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >A : typeof A > : ^^^^^^^^ >bar : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ C2.bar(); // valid >C2.bar() : string > : ^^^^^^ >C2.bar : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ >C2 : typeof C2 > : ^^^^^^^^^ >bar : () => string -> : ^^^^^^^^^^^^ +> : ^^^^^^ diff --git a/tests/baselines/reference/classStaticBlock13(target=es2015).types b/tests/baselines/reference/classStaticBlock13(target=es2015).types index fb8ac6dcd1fec..e7b361111f42f 100644 --- a/tests/baselines/reference/classStaticBlock13(target=es2015).types +++ b/tests/baselines/reference/classStaticBlock13(target=es2015).types @@ -16,11 +16,11 @@ class C { >console.log(C.#x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >C.#x : number > : ^^^^^^ >C : typeof C diff --git a/tests/baselines/reference/classStaticBlock13(target=es2022).types b/tests/baselines/reference/classStaticBlock13(target=es2022).types index fb8ac6dcd1fec..e7b361111f42f 100644 --- a/tests/baselines/reference/classStaticBlock13(target=es2022).types +++ b/tests/baselines/reference/classStaticBlock13(target=es2022).types @@ -16,11 +16,11 @@ class C { >console.log(C.#x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >C.#x : number > : ^^^^^^ >C : typeof C diff --git a/tests/baselines/reference/classStaticBlock13(target=esnext).types b/tests/baselines/reference/classStaticBlock13(target=esnext).types index fb8ac6dcd1fec..e7b361111f42f 100644 --- a/tests/baselines/reference/classStaticBlock13(target=esnext).types +++ b/tests/baselines/reference/classStaticBlock13(target=esnext).types @@ -16,11 +16,11 @@ class C { >console.log(C.#x) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >C.#x : number > : ^^^^^^ >C : typeof C diff --git a/tests/baselines/reference/classStaticBlock15(target=es2015).types b/tests/baselines/reference/classStaticBlock15(target=es2015).types index d7f2bf887ea72..1ffb5ba7d2bff 100644 --- a/tests/baselines/reference/classStaticBlock15(target=es2015).types +++ b/tests/baselines/reference/classStaticBlock15(target=es2015).types @@ -38,10 +38,10 @@ console.log(_C__1) >console.log(_C__1) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >_C__1 : any diff --git a/tests/baselines/reference/classStaticBlock15(target=es2022).types b/tests/baselines/reference/classStaticBlock15(target=es2022).types index d7f2bf887ea72..1ffb5ba7d2bff 100644 --- a/tests/baselines/reference/classStaticBlock15(target=es2022).types +++ b/tests/baselines/reference/classStaticBlock15(target=es2022).types @@ -38,10 +38,10 @@ console.log(_C__1) >console.log(_C__1) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >_C__1 : any diff --git a/tests/baselines/reference/classStaticBlock15(target=esnext).types b/tests/baselines/reference/classStaticBlock15(target=esnext).types index d7f2bf887ea72..1ffb5ba7d2bff 100644 --- a/tests/baselines/reference/classStaticBlock15(target=esnext).types +++ b/tests/baselines/reference/classStaticBlock15(target=esnext).types @@ -38,10 +38,10 @@ console.log(_C__1) >console.log(_C__1) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >_C__1 : any diff --git a/tests/baselines/reference/classStaticBlock16.types b/tests/baselines/reference/classStaticBlock16.types index a91ce07a67ee4..59a6de977a2e0 100644 --- a/tests/baselines/reference/classStaticBlock16.types +++ b/tests/baselines/reference/classStaticBlock16.types @@ -38,7 +38,7 @@ class C { >getX = (obj: C) => obj.#x : (obj: C) => number > : ^ ^^ ^^^^^^^^^^^ >getX : (c: C) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(obj: C) => obj.#x : (obj: C) => number > : ^ ^^ ^^^^^^^^^^^ >obj : C @@ -52,7 +52,7 @@ class C { >getY = (obj: D) => obj.#y : (obj: D) => any > : ^ ^^ ^^^^^^^^ >getY : (c: D) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(obj: D) => obj.#y : (obj: D) => any > : ^ ^^ ^^^^^^^^ >obj : D @@ -86,7 +86,7 @@ class D { >getX = (obj: C) => obj.#x : (obj: C) => any > : ^ ^^ ^^^^^^^^ >getX : (c: C) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(obj: C) => obj.#x : (obj: C) => any > : ^ ^^ ^^^^^^^^ >obj : C @@ -100,7 +100,7 @@ class D { >getY = (obj: D) => obj.#y : (obj: D) => number > : ^ ^^ ^^^^^^^^^^^ >getY : (c: D) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >(obj: D) => obj.#y : (obj: D) => number > : ^ ^^ ^^^^^^^^^^^ >obj : D diff --git a/tests/baselines/reference/classStaticBlock17.types b/tests/baselines/reference/classStaticBlock17.types index cdeac0fabd436..7154c7d0b987d 100644 --- a/tests/baselines/reference/classStaticBlock17.types +++ b/tests/baselines/reference/classStaticBlock17.types @@ -54,7 +54,7 @@ class A { >friendA = { getX(obj) { return obj.#x }, setX(obj, value) { obj.#x = value } } : { getX(obj: A): number; setX(obj: A, value: number): void; } > : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^ >friendA : { getX(o: A): number; setX(o: A, v: number): void; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ >{ getX(obj) { return obj.#x }, setX(obj, value) { obj.#x = value } } : { getX(obj: A): number; setX(obj: A, value: number): void; } > : ^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^ @@ -102,11 +102,11 @@ class B { >friendA.getX(a) : number > : ^^^^^^ >friendA.getX : (o: A) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >friendA : { getX(o: A): number; setX(o: A, v: number): void; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ >getX : (o: A) => number -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >a : A > : ^ @@ -114,11 +114,11 @@ class B { >friendA.setX(a, x + 1) : void > : ^^^^ >friendA.setX : (o: A, v: number) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >friendA : { getX(o: A): number; setX(o: A, v: number): void; } -> : ^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^^^^^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ >setX : (o: A, v: number) => void -> : ^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^^^^ >a : A > : ^ >x + 1 : number diff --git a/tests/baselines/reference/classStaticBlock23(target=es2022).types b/tests/baselines/reference/classStaticBlock23(target=es2022).types index 915bca630573d..4e30f2900497a 100644 --- a/tests/baselines/reference/classStaticBlock23(target=es2022).types +++ b/tests/baselines/reference/classStaticBlock23(target=es2022).types @@ -7,7 +7,7 @@ const nums = [1, 2, 3].map(n => Promise.resolve(n)) >[1, 2, 3].map(n => Promise.resolve(n)) : Promise[] > : ^^^^^^^^^^^^^^^^^ >[1, 2, 3].map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >[1, 2, 3] : number[] > : ^^^^^^^^ >1 : 1 @@ -17,19 +17,19 @@ const nums = [1, 2, 3].map(n => Promise.resolve(n)) >3 : 3 > : ^ >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >n => Promise.resolve(n) : (n: number) => Promise > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >n : number > : ^^^^^^ >Promise.resolve(n) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ @@ -48,11 +48,11 @@ class C { >console.log(nn) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >nn : number > : ^^^^^^ } @@ -78,11 +78,11 @@ async function foo () { >console.log(nn) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >nn : number > : ^^^^^^ } diff --git a/tests/baselines/reference/classStaticBlock23(target=esnext).types b/tests/baselines/reference/classStaticBlock23(target=esnext).types index 915bca630573d..4e30f2900497a 100644 --- a/tests/baselines/reference/classStaticBlock23(target=esnext).types +++ b/tests/baselines/reference/classStaticBlock23(target=esnext).types @@ -7,7 +7,7 @@ const nums = [1, 2, 3].map(n => Promise.resolve(n)) >[1, 2, 3].map(n => Promise.resolve(n)) : Promise[] > : ^^^^^^^^^^^^^^^^^ >[1, 2, 3].map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >[1, 2, 3] : number[] > : ^^^^^^^^ >1 : 1 @@ -17,19 +17,19 @@ const nums = [1, 2, 3].map(n => Promise.resolve(n)) >3 : 3 > : ^ >map : (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[] -> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +> : ^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ >n => Promise.resolve(n) : (n: number) => Promise > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >n : number > : ^^^^^^ >Promise.resolve(n) : Promise > : ^^^^^^^^^^^^^^^ ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >Promise : PromiseConstructor > : ^^^^^^^^^^^^^^^^^^ ->resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ @@ -48,11 +48,11 @@ class C { >console.log(nn) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >nn : number > : ^^^^^^ } @@ -78,11 +78,11 @@ async function foo () { >console.log(nn) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >nn : number > : ^^^^^^ } diff --git a/tests/baselines/reference/classStaticBlock27.types b/tests/baselines/reference/classStaticBlock27.types index 6d84d79b0808f..eac84a2fb4f01 100644 --- a/tests/baselines/reference/classStaticBlock27.types +++ b/tests/baselines/reference/classStaticBlock27.types @@ -22,11 +22,11 @@ void class Foo { >console.log(Foo.prop) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Foo.prop : number > : ^^^^^^ >Foo : typeof Foo @@ -49,11 +49,11 @@ void class Foo { >console.log(Foo.prop) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Foo.prop : number > : ^^^^^^ >Foo : typeof Foo @@ -76,11 +76,11 @@ void class Foo { >console.log(Foo.prop) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >Foo.prop : number > : ^^^^^^ >Foo : typeof Foo diff --git a/tests/baselines/reference/classStaticBlock28.types b/tests/baselines/reference/classStaticBlock28.types index 077a34acfec82..028f9e4a67bd0 100644 --- a/tests/baselines/reference/classStaticBlock28.types +++ b/tests/baselines/reference/classStaticBlock28.types @@ -24,11 +24,11 @@ console.log(foo) >console.log(foo) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >foo : number > : ^^^^^^ diff --git a/tests/baselines/reference/classStaticBlock3(target=es2022).types b/tests/baselines/reference/classStaticBlock3(target=es2022).types index 08951cbd431f7..257c7333cdd56 100644 --- a/tests/baselines/reference/classStaticBlock3(target=es2022).types +++ b/tests/baselines/reference/classStaticBlock3(target=es2022).types @@ -22,11 +22,11 @@ class C { >console.log(C.f1, C.f2, C.f3) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >C.f1 : number > : ^^^^^^ >C : typeof C @@ -58,11 +58,11 @@ class C { >console.log(C.f1, C.f2, C.f3) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >C.f1 : number > : ^^^^^^ >C : typeof C diff --git a/tests/baselines/reference/classStaticBlock3(target=esnext).types b/tests/baselines/reference/classStaticBlock3(target=esnext).types index 08951cbd431f7..257c7333cdd56 100644 --- a/tests/baselines/reference/classStaticBlock3(target=esnext).types +++ b/tests/baselines/reference/classStaticBlock3(target=esnext).types @@ -22,11 +22,11 @@ class C { >console.log(C.f1, C.f2, C.f3) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >C.f1 : number > : ^^^^^^ >C : typeof C @@ -58,11 +58,11 @@ class C { >console.log(C.f1, C.f2, C.f3) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >C.f1 : number > : ^^^^^^ >C : typeof C diff --git a/tests/baselines/reference/classStaticBlockUseBeforeDef3.types b/tests/baselines/reference/classStaticBlockUseBeforeDef3.types index 08e1843aba201..549e9a204d796 100644 --- a/tests/baselines/reference/classStaticBlockUseBeforeDef3.types +++ b/tests/baselines/reference/classStaticBlockUseBeforeDef3.types @@ -25,11 +25,11 @@ class A { >console.log("gotcha!") : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >"gotcha!" : "gotcha!" > : ^^^^^^^^^ } @@ -45,11 +45,11 @@ class Baz { >console.log(FOO) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >FOO : "FOO" > : ^^^^^ } @@ -70,11 +70,11 @@ class Bar { >console.log(FOO) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >FOO : "FOO" > : ^^^^^ } diff --git a/tests/baselines/reference/classVarianceCircularity.types b/tests/baselines/reference/classVarianceCircularity.types index 663aaa1d71088..b81416c6b3174 100644 --- a/tests/baselines/reference/classVarianceCircularity.types +++ b/tests/baselines/reference/classVarianceCircularity.types @@ -20,11 +20,11 @@ function f() { >console.log(b.Value) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >b.Value : number > : ^^^^^^ >b : Bar diff --git a/tests/baselines/reference/classVarianceResolveCircularity1.types b/tests/baselines/reference/classVarianceResolveCircularity1.types index fcef039560088..27e1c7a0c8696 100644 --- a/tests/baselines/reference/classVarianceResolveCircularity1.types +++ b/tests/baselines/reference/classVarianceResolveCircularity1.types @@ -19,7 +19,7 @@ class Bar { >callme(this) : Bar > : ^^^^^^^^ >callme : { (x: Bar): Bar; (x: object): string; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >this : this > : ^^^^ >num : number @@ -33,7 +33,7 @@ class Bar { >callme(this) : Bar > : ^^^^^^^^ >callme : { (x: Bar): Bar; (x: object): string; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >this : this > : ^^^^ >num : number @@ -41,13 +41,13 @@ class Bar { } declare function callme(x: Bar): Bar; >callme : { (x: Bar): Bar; (x: object): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : Bar > : ^^^^^^^^ declare function callme(x: object): string; >callme : { (x: Bar): Bar; (x: object): string; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : object > : ^^^^^^ diff --git a/tests/baselines/reference/classVarianceResolveCircularity2.types b/tests/baselines/reference/classVarianceResolveCircularity2.types index 3d8bc6b37d6a6..dc70d455b093d 100644 --- a/tests/baselines/reference/classVarianceResolveCircularity2.types +++ b/tests/baselines/reference/classVarianceResolveCircularity2.types @@ -23,7 +23,7 @@ class Bar { >callme(new Foo(this)) : Foo > : ^^^^^^^^ >callme : { (x: Foo): Foo; (x: object): string; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >new Foo(this) : Foo > : ^^^^^^ >Foo : typeof Foo @@ -45,7 +45,7 @@ class Bar { >callme(new Foo(this)) : Foo > : ^^^^^^^^ >callme : { (x: Foo): Foo; (x: object): string; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >new Foo(this) : Foo > : ^^^^^^ >Foo : typeof Foo @@ -59,13 +59,13 @@ class Bar { } declare function callme(x: Foo): Foo; >callme : { (x: Foo): Foo; (x: object): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : Foo > : ^^^^^^^^ declare function callme(x: object): string; >callme : { (x: Foo): Foo; (x: object): string; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >x : object > : ^^^^^^ diff --git a/tests/baselines/reference/classWithDuplicateIdentifier.types b/tests/baselines/reference/classWithDuplicateIdentifier.types index 057e03ba916b6..3c272b68d9beb 100644 --- a/tests/baselines/reference/classWithDuplicateIdentifier.types +++ b/tests/baselines/reference/classWithDuplicateIdentifier.types @@ -13,7 +13,7 @@ class C { a: number; >a : () => number -> : ^^^^^^^^^^^^ +> : ^^^^^^ } class K { >K : K diff --git a/tests/baselines/reference/classWithOverloadImplementationOfWrongName.types b/tests/baselines/reference/classWithOverloadImplementationOfWrongName.types index 0d33048911d2d..9de07fb9e6c50 100644 --- a/tests/baselines/reference/classWithOverloadImplementationOfWrongName.types +++ b/tests/baselines/reference/classWithOverloadImplementationOfWrongName.types @@ -7,11 +7,11 @@ class C { foo(): string; >foo : { (): string; (x: any): number; } -> : ^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^^^^ ^^^ foo(x): number; >foo : { (): string; (x: any): number; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ +> : ^^^^^^ ^^^ ^^^^^^^^ ^^^ >x : any > : ^^^ diff --git a/tests/baselines/reference/classWithOverloadImplementationOfWrongName2.types b/tests/baselines/reference/classWithOverloadImplementationOfWrongName2.types index 5e7f005cc964c..0fba6a8bd6754 100644 --- a/tests/baselines/reference/classWithOverloadImplementationOfWrongName2.types +++ b/tests/baselines/reference/classWithOverloadImplementationOfWrongName2.types @@ -7,7 +7,7 @@ class C { foo(): string; >foo : { (): string; (x: any): number; } -> : ^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^ ^^^^^^^^ ^^^ bar(x): any { } >bar : (x: any) => any @@ -17,7 +17,7 @@ class C { foo(x): number; >foo : { (): string; (x: any): number; } -> : ^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ +> : ^^^^^^ ^^^ ^^^^^^^^ ^^^ >x : any > : ^^^ } diff --git a/tests/baselines/reference/classdecl.types b/tests/baselines/reference/classdecl.types index 9e476179b6867..51fb325e33099 100644 --- a/tests/baselines/reference/classdecl.types +++ b/tests/baselines/reference/classdecl.types @@ -75,19 +75,19 @@ class a { private foo(n: number): string; >foo : { (n: number): string; (s: string): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ private foo(s: string): string; >foo : { (n: number): string; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ private foo(ns: any) { >foo : { (n: number): string; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >ns : any return ns.toString(); @@ -219,19 +219,19 @@ class d { private foo(n: number): string; >foo : { (n: number): string; (s: string): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ private foo(s: string): string; >foo : { (n: number): string; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ private foo(ns: any) { >foo : { (n: number): string; (s: string): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >ns : any return ns.toString(); @@ -250,19 +250,19 @@ class e { private foo(s: string): string; >foo : { (s: string): string; (n: number): string; } -> : ^^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >s : string > : ^^^^^^ private foo(n: number): string; >foo : { (s: string): string; (n: number): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^ ^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >n : number > : ^^^^^^ private foo(ns: any) { >foo : { (s: string): string; (n: number): string; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^ ^^ ^^^ ^^^ ^^ ^^^ ^^^ >ns : any return ns.toString(); diff --git a/tests/baselines/reference/cloduleTest1.types b/tests/baselines/reference/cloduleTest1.types index dcb3c3d814ef2..30d56ceaeb475 100644 --- a/tests/baselines/reference/cloduleTest1.types +++ b/tests/baselines/reference/cloduleTest1.types @@ -32,7 +32,7 @@ >$('.foo').addClass('bar') : $ > : ^ >$('.foo').addClass : (className: string) => $ -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >$('.foo') : $ > : ^ >$ : typeof $ @@ -40,7 +40,7 @@ >'.foo' : ".foo" > : ^^^^^^ >addClass : (className: string) => $ -> : ^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^ >'bar' : "bar" > : ^^^^^ diff --git a/tests/baselines/reference/cloduleTest2.types b/tests/baselines/reference/cloduleTest2.types index 733f83a4e3969..64d322466145c 100644 --- a/tests/baselines/reference/cloduleTest2.types +++ b/tests/baselines/reference/cloduleTest2.types @@ -95,11 +95,11 @@ module T3 { >r.foo() : void > : ^^^^ >r.foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >r : m3d > : ^^^ >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ r.bar(); // error >r.bar() : any @@ -152,11 +152,11 @@ module T4 { >r.foo() : void > : ^^^^ >r.foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ >r : m3d > : ^^^ >foo : () => void -> : ^^^^^^^^^^ +> : ^^^^^^ r.bar(); // error >r.bar() : any diff --git a/tests/baselines/reference/coAndContraVariantInferences.types b/tests/baselines/reference/coAndContraVariantInferences.types index 271ab5535b203..895e19624b182 100644 --- a/tests/baselines/reference/coAndContraVariantInferences.types +++ b/tests/baselines/reference/coAndContraVariantInferences.types @@ -45,21 +45,21 @@ foo(a, fab); >foo(a, fab) : void > : ^^^^ >foo : (x: { kind: T; }, f: (arg: { kind: T; }) => void) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >a : A > : ^ >fab : (arg: A | B) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ foo(b, fab); >foo(b, fab) : void > : ^^^^ >foo : (x: { kind: T; }, f: (arg: { kind: T; }) => void) => void -> : ^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^ ^^ ^^ ^^^^^ >b : B > : ^ >fab : (arg: A | B) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ // Repro from #45603 @@ -99,7 +99,7 @@ const actionB = { payload: true } as Action<'ACTION_B', boolean>; function call( >call : (action: Action, fn: (action: Action) => any) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ action: Action, >action : Action @@ -115,7 +115,7 @@ function call( fn(action); >fn(action) : any >fn : (action: Action) => any -> : ^ ^^ ^^^^^^^^ +> : ^ ^^ ^^^^^ >action : Action > : ^^^^^^^^^^^^^^^^^^^^^^^ } @@ -134,11 +134,11 @@ const printFn = (action: typeof actionA | typeof actionB)=> console.log(action); >console.log(action) : void > : ^^^^ >console.log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >console : Console > : ^^^^^^^ >log : (...data: any[]) => void -> : ^^^^ ^^ ^^^^^^^^^ +> : ^^^^ ^^ ^^^^^ >action : Action<"ACTION_A", string> | Action<"ACTION_B", boolean> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -146,7 +146,7 @@ call(actionA, printFn); >call(actionA, printFn) : void > : ^^^^ >call : (action: Action, fn: (action: Action) => any) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >actionA : Action<"ACTION_A", string> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >printFn : (action: typeof actionA | typeof actionB) => void @@ -156,7 +156,7 @@ call(actionB, printFn); >call(actionB, printFn) : void > : ^^^^ >call : (action: Action, fn: (action: Action) => any) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ >actionB : Action<"ACTION_B", boolean> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >printFn : (action: typeof actionA | typeof actionB) => void diff --git a/tests/baselines/reference/coAndContraVariantInferences2.types b/tests/baselines/reference/coAndContraVariantInferences2.types index 7e4168ba80b08..d5d96850dbe65 100644 --- a/tests/baselines/reference/coAndContraVariantInferences2.types +++ b/tests/baselines/reference/coAndContraVariantInferences2.types @@ -15,7 +15,7 @@ interface C extends A { c: string } declare function cast(x: T, test: (x: T) => x is U): U; >cast : (x: T, test: (x: T) => x is U) => U -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >x : T > : ^ >test : (x: T) => x is U @@ -43,11 +43,11 @@ function f1(a: A, b: B) { >cast(a, isC) : C > : ^ >cast : (x: T, test: (x: T) => x is U) => U -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >a : A > : ^ >isC : (x: A) => x is C -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ const x2 = cast(b, isC); // cast >x2 : C @@ -55,11 +55,11 @@ function f1(a: A, b: B) { >cast(b, isC) : C > : ^ >cast : (x: T, test: (x: T) => x is U) => U -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >b : B > : ^ >isC : (x: A) => x is C -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ } declare function useA(a: A): void; @@ -70,7 +70,7 @@ declare function useA(a: A): void; declare function consume(t: T, u: U, f: (x: T) => void): void; >consume : (t: T, u: U, f: (x: T) => void) => void -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >t : T > : ^ >u : U @@ -92,54 +92,54 @@ function f2(b: B, c: C) { >consume(b, c, useA) : void > : ^^^^ >consume : (t: T, u: U, f: (x: T) => void) => void -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >b : B > : ^ >c : C > : ^ >useA : (a: A) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ consume(c, b, useA); // consume >consume(c, b, useA) : void > : ^^^^ >consume : (t: T, u: U, f: (x: T) => void) => void -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >b : B > : ^ >useA : (a: A) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ consume(b, b, useA); // consume >consume(b, b, useA) : void > : ^^^^ >consume : (t: T, u: U, f: (x: T) => void) => void -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >b : B > : ^ >b : B > : ^ >useA : (a: A) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ consume(c, c, useA); // consume >consume(c, c, useA) : void > : ^^^^ >consume : (t: T, u: U, f: (x: T) => void) => void -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >c : C > : ^ >c : C > : ^ >useA : (a: A) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ } declare function every(array: readonly T[], f: (x: T) => x is U): array is readonly U[]; >every : (array: readonly T[], f: (x: T) => x is U) => array is readonly U[] -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >array : readonly T[] > : ^^^^^^^^^^^^ >f : (x: T) => x is U @@ -157,11 +157,11 @@ function f3(arr: readonly B[] | readonly C[]) { >every(arr, isC) : boolean > : ^^^^^^^ >every : (array: readonly T[], f: (x: T) => x is U) => array is readonly U[] -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >arr : readonly B[] | readonly C[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >isC : (x: A) => x is C -> : ^ ^^ ^^^^^^^^^^^ +> : ^ ^^ ^^^^^ arr; // readonly C[] >arr : readonly C[] @@ -247,7 +247,7 @@ declare function canHaveLocals(node: Node): node is HasLocals; declare function assertNode(node: T | undefined, test: (node: T) => node is U): asserts node is U; >assertNode : { (node: T | undefined, test: (node: T) => node is U): asserts node is U; (node: Node | undefined, test: ((node: Node) => boolean) | undefined): void; } -> : ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >node : T | undefined > : ^^^^^^^^^^^^^ >test : (node: T) => node is U @@ -257,7 +257,7 @@ declare function assertNode(node: T | undefined, te declare function assertNode(node: Node | undefined, test: ((node: Node) => boolean) | undefined): void; >assertNode : { (node: T | undefined, test: (node: T) => node is U): asserts node is U; (node: Node | undefined, test: ((node: Node) => boolean) | undefined): void; } -> : ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >node : Node | undefined > : ^^^^^^^^^^^^^^^^ >test : ((node: Node) => boolean) | undefined @@ -275,11 +275,11 @@ function foo(node: FunctionDeclaration | CaseClause) { >assertNode(node, canHaveLocals) : void > : ^^^^ >assertNode : { (node: T | undefined, test: (node: T) => node is U): asserts node is U; (node: Node | undefined, test: ((node: Node) => boolean) | undefined): void; } -> : ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^ +> : ^^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^^ ^^^ >node : CaseClause | FunctionDeclaration > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >canHaveLocals : (node: Node) => node is HasLocals -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ node; // FunctionDeclaration >node : FunctionDeclaration @@ -294,7 +294,7 @@ declare function isExpression(node: Node): node is Expression; declare function tryCast(value: TIn | undefined, test: (value: TIn) => value is TOut): TOut; >tryCast : (value: TIn | undefined, test: (value: TIn) => value is TOut) => TOut -> : ^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^ >value : TIn | undefined > : ^^^^^^^^^^^^^^^ >test : (value: TIn) => value is TOut @@ -314,11 +314,11 @@ function bar(node: Identifier | FunctionDeclaration) { >tryCast(node, isExpression) : Expression > : ^^^^^^^^^^ >tryCast : (value: TIn | undefined, test: (value: TIn) => value is TOut) => TOut -> : ^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^ >node : Identifier | FunctionDeclaration > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >isExpression : (node: Node) => node is Expression -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ } // Repro from #49924 @@ -383,11 +383,11 @@ const maybeClassStatement = tryCast(statement, isClassLike); // ClassLike1 >tryCast(statement, isClassLike) : ClassLike1 > : ^^^^^^^^^^ >tryCast : (value: TIn | undefined, test: (value: TIn) => value is TOut) => TOut -> : ^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^ >statement : Statement1 | undefined > : ^^^^^^^^^^^^^^^^^^^^^^ >isClassLike : (node: Node1) => node is ClassLike1 -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ // Repro from #49924 @@ -405,7 +405,7 @@ interface NodeArray extends Array { declare function isNodeArray(array: readonly T[]): array is NodeArray; >isNodeArray : (array: readonly T[]) => array is NodeArray -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >array : readonly T[] > : ^^^^^^^^^^^^ @@ -419,9 +419,9 @@ const x = tryCast(types, isNodeArray); // NodeAray >tryCast(types, isNodeArray) : NodeArray > : ^^^^^^^^^^^^^^^^^^^ >tryCast : (value: TIn | undefined, test: (value: TIn) => value is TOut) => TOut -> : ^ ^^^^^^^^^^^^^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^ ^^ ^^ ^^ ^^^^^ >types : readonly TypeNode[] > : ^^^^^^^^^^^^^^^^^^^ >isNodeArray : (array: readonly T[]) => array is NodeArray -> : ^ ^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ diff --git a/tests/baselines/reference/coAndContraVariantInferences3.types b/tests/baselines/reference/coAndContraVariantInferences3.types index a3b422f06c4c1..74da1307b0a9c 100644 --- a/tests/baselines/reference/coAndContraVariantInferences3.types +++ b/tests/baselines/reference/coAndContraVariantInferences3.types @@ -59,7 +59,7 @@ type OverloadDeprecations = { [P in OverloadKeys< declare function createOverload(name: string, overloads: T, binder: OverloadBinders, deprecations?: OverloadDeprecations): UnionToIntersection; >createOverload : (name: string, overloads: T, binder: OverloadBinders, deprecations?: OverloadDeprecations) => UnionToIntersection -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ >name : string > : ^^^^^^ >overloads : T @@ -71,7 +71,7 @@ declare function createOverload(name: string, ove declare function createBinder(overloads: T, binder: OverloadBinders): OverloadBinder; >createBinder : (overloads: T, binder: OverloadBinders) => OverloadBinder -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >overloads : T > : ^ >binder : OverloadBinders @@ -80,7 +80,7 @@ declare function createBinder(overloads: T, binde interface OverloadBuilder { overload(overloads: T): BindableOverloadBuilder; >overload : (overloads: T) => BindableOverloadBuilder -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >overloads : T > : ^ } @@ -245,8 +245,8 @@ declare const updateImportDeclaration: { } declare function every(array: readonly T[], callback: (element: T, index: number) => element is U): array is readonly U[]; ->every : { (array: readonly T[], callback: (element: T, index: number) => element is U): array is readonly U[]; (array: readonly T_1[] | undefined, callback: (element: T_1, index: number) => element is U_1): array is readonly U_1[] | undefined; (array: readonly T_2[] | undefined, callback: (element: T_2, index: number) => boolean): boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +>every : { (array: readonly T[], callback: (element: T, index: number) => element is U): array is readonly U[]; (array: readonly T_1[] | undefined, callback: (element: T_1, index: number) => element is U_1): array is readonly U_1[] | undefined; (array: readonly T_1[] | undefined, callback: (element: T_1, index: number) => boolean): boolean; } +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >array : readonly T[] > : ^^^^^^^^^^^^ >callback : (element: T, index: number) => element is U @@ -257,8 +257,8 @@ declare function every(array: readonly T[], callback: (element: > : ^^^^^^ declare function every(array: readonly T[] | undefined, callback: (element: T, index: number) => element is U): array is readonly U[] | undefined; ->every : { (array: readonly T_1[], callback: (element: T_1, index: number) => element is U_1): array is readonly U_1[]; (array: readonly T[] | undefined, callback: (element: T, index: number) => element is U): array is readonly U[] | undefined; (array: readonly T_2[] | undefined, callback: (element: T_2, index: number) => boolean): boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +>every : { (array: readonly T_1[], callback: (element: T_1, index: number) => element is U_1): array is readonly U_1[]; (array: readonly T[] | undefined, callback: (element: T, index: number) => element is U): array is readonly U[] | undefined; (array: readonly T_1[] | undefined, callback: (element: T_1, index: number) => boolean): boolean; } +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >array : readonly T[] | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^ >callback : (element: T, index: number) => element is U @@ -269,8 +269,8 @@ declare function every(array: readonly T[] | undefined, callback > : ^^^^^^ declare function every(array: readonly T[] | undefined, callback: (element: T, index: number) => boolean): boolean; ->every : { (array: readonly T_1[], callback: (element: T_1, index: number) => element is U): array is readonly U[]; (array: readonly T_2[] | undefined, callback: (element: T_2, index: number) => element is U_1): array is readonly U_1[] | undefined; (array: readonly T[] | undefined, callback: (element: T, index: number) => boolean): boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ +>every : { (array: readonly T_1[], callback: (element: T_1, index: number) => element is U): array is readonly U[]; (array: readonly T_1[] | undefined, callback: (element: T_1, index: number) => element is U): array is readonly U[] | undefined; (array: readonly T[] | undefined, callback: (element: T, index: number) => boolean): boolean; } +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >array : readonly T[] | undefined > : ^^^^^^^^^^^^^^^^^^^^^^^^ >callback : (element: T, index: number) => boolean @@ -292,30 +292,30 @@ declare const DISALLOW_DECORATORS: DeprecationOptions; buildOverload("updateImportDeclaration") >buildOverload("updateImportDeclaration") .overload({ 0(node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration { return updateImportDeclaration(node, modifiers, importClause, moduleSpecifier, assertClause); }, 1(node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration { return updateImportDeclaration(node, modifiers, importClause, moduleSpecifier, assertClause); }, }) .bind({ 0: ([, modifiers, importClause, moduleSpecifier, assertClause, other]) => (other === undefined) && (modifiers === undefined || every(modifiers, isModifier)) && (importClause === undefined || !isArray(importClause)) && (moduleSpecifier === undefined || isExpression(moduleSpecifier)) && (assertClause === undefined || isAssertClause(assertClause)), 1: ([, decorators, modifiers, importClause, moduleSpecifier, assertClause]) => (decorators === undefined || every(decorators, isDecorator)) && (modifiers === undefined || isArray(modifiers)) && (importClause === undefined || isImportClause(importClause)) && (moduleSpecifier !== undefined && isExpression(moduleSpecifier)) && (assertClause === undefined || isAssertClause(assertClause)), }) .deprecate({ 1: DISALLOW_DECORATORS }) .finish() : ((node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined) => ImportDeclaration) & ((node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined) => ImportDeclaration) > : ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^ ->buildOverload("updateImportDeclaration") .overload({ 0(node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration { return updateImportDeclaration(node, modifiers, importClause, moduleSpecifier, assertClause); }, 1(node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration { return updateImportDeclaration(node, modifiers, importClause, moduleSpecifier, assertClause); }, }) .bind({ 0: ([, modifiers, importClause, moduleSpecifier, assertClause, other]) => (other === undefined) && (modifiers === undefined || every(modifiers, isModifier)) && (importClause === undefined || !isArray(importClause)) && (moduleSpecifier === undefined || isExpression(moduleSpecifier)) && (assertClause === undefined || isAssertClause(assertClause)), 1: ([, decorators, modifiers, importClause, moduleSpecifier, assertClause]) => (decorators === undefined || every(decorators, isDecorator)) && (modifiers === undefined || isArray(modifiers)) && (importClause === undefined || isImportClause(importClause)) && (moduleSpecifier !== undefined && isExpression(moduleSpecifier)) && (assertClause === undefined || isAssertClause(assertClause)), }) .deprecate({ 1: DISALLOW_DECORATORS }) .finish : () => ((node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined) => ImportDeclaration) & ((node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined) => ImportDeclaration) -> : ^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^ +>buildOverload("updateImportDeclaration") .overload({ 0(node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration { return updateImportDeclaration(node, modifiers, importClause, moduleSpecifier, assertClause); }, 1(node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration { return updateImportDeclaration(node, modifiers, importClause, moduleSpecifier, assertClause); }, }) .bind({ 0: ([, modifiers, importClause, moduleSpecifier, assertClause, other]) => (other === undefined) && (modifiers === undefined || every(modifiers, isModifier)) && (importClause === undefined || !isArray(importClause)) && (moduleSpecifier === undefined || isExpression(moduleSpecifier)) && (assertClause === undefined || isAssertClause(assertClause)), 1: ([, decorators, modifiers, importClause, moduleSpecifier, assertClause]) => (decorators === undefined || every(decorators, isDecorator)) && (modifiers === undefined || isArray(modifiers)) && (importClause === undefined || isImportClause(importClause)) && (moduleSpecifier !== undefined && isExpression(moduleSpecifier)) && (assertClause === undefined || isAssertClause(assertClause)), }) .deprecate({ 1: DISALLOW_DECORATORS }) .finish : () => OverloadFunction<{ 0(node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; 1(node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; }> +> : ^^^^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >buildOverload("updateImportDeclaration") .overload({ 0(node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration { return updateImportDeclaration(node, modifiers, importClause, moduleSpecifier, assertClause); }, 1(node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration { return updateImportDeclaration(node, modifiers, importClause, moduleSpecifier, assertClause); }, }) .bind({ 0: ([, modifiers, importClause, moduleSpecifier, assertClause, other]) => (other === undefined) && (modifiers === undefined || every(modifiers, isModifier)) && (importClause === undefined || !isArray(importClause)) && (moduleSpecifier === undefined || isExpression(moduleSpecifier)) && (assertClause === undefined || isAssertClause(assertClause)), 1: ([, decorators, modifiers, importClause, moduleSpecifier, assertClause]) => (decorators === undefined || every(decorators, isDecorator)) && (modifiers === undefined || isArray(modifiers)) && (importClause === undefined || isImportClause(importClause)) && (moduleSpecifier !== undefined && isExpression(moduleSpecifier)) && (assertClause === undefined || isAssertClause(assertClause)), }) .deprecate({ 1: DISALLOW_DECORATORS }) : FinishableOverloadBuilder<{ 0(node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; 1(node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ >buildOverload("updateImportDeclaration") .overload({ 0(node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration { return updateImportDeclaration(node, modifiers, importClause, moduleSpecifier, assertClause); }, 1(node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration { return updateImportDeclaration(node, modifiers, importClause, moduleSpecifier, assertClause); }, }) .bind({ 0: ([, modifiers, importClause, moduleSpecifier, assertClause, other]) => (other === undefined) && (modifiers === undefined || every(modifiers, isModifier)) && (importClause === undefined || !isArray(importClause)) && (moduleSpecifier === undefined || isExpression(moduleSpecifier)) && (assertClause === undefined || isAssertClause(assertClause)), 1: ([, decorators, modifiers, importClause, moduleSpecifier, assertClause]) => (decorators === undefined || every(decorators, isDecorator)) && (modifiers === undefined || isArray(modifiers)) && (importClause === undefined || isImportClause(importClause)) && (moduleSpecifier !== undefined && isExpression(moduleSpecifier)) && (assertClause === undefined || isAssertClause(assertClause)), }) .deprecate : (deprecations: OverloadDeprecations<{ 0(node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; 1(node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; }>) => FinishableOverloadBuilder<{ 0(node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; 1(node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; }> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >buildOverload("updateImportDeclaration") .overload({ 0(node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration { return updateImportDeclaration(node, modifiers, importClause, moduleSpecifier, assertClause); }, 1(node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration { return updateImportDeclaration(node, modifiers, importClause, moduleSpecifier, assertClause); }, }) .bind({ 0: ([, modifiers, importClause, moduleSpecifier, assertClause, other]) => (other === undefined) && (modifiers === undefined || every(modifiers, isModifier)) && (importClause === undefined || !isArray(importClause)) && (moduleSpecifier === undefined || isExpression(moduleSpecifier)) && (assertClause === undefined || isAssertClause(assertClause)), 1: ([, decorators, modifiers, importClause, moduleSpecifier, assertClause]) => (decorators === undefined || every(decorators, isDecorator)) && (modifiers === undefined || isArray(modifiers)) && (importClause === undefined || isImportClause(importClause)) && (moduleSpecifier !== undefined && isExpression(moduleSpecifier)) && (assertClause === undefined || isAssertClause(assertClause)), }) : BoundOverloadBuilder<{ 0(node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; 1(node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ >buildOverload("updateImportDeclaration") .overload({ 0(node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration { return updateImportDeclaration(node, modifiers, importClause, moduleSpecifier, assertClause); }, 1(node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration { return updateImportDeclaration(node, modifiers, importClause, moduleSpecifier, assertClause); }, }) .bind : (binder: OverloadBinders<{ 0(node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; 1(node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; }>) => BoundOverloadBuilder<{ 0(node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; 1(node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; }> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >buildOverload("updateImportDeclaration") .overload({ 0(node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration { return updateImportDeclaration(node, modifiers, importClause, moduleSpecifier, assertClause); }, 1(node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration { return updateImportDeclaration(node, modifiers, importClause, moduleSpecifier, assertClause); }, }) : BindableOverloadBuilder<{ 0(node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; 1(node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; }> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ >buildOverload("updateImportDeclaration") .overload : (overloads: T) => BindableOverloadBuilder -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >buildOverload("updateImportDeclaration") : OverloadBuilder > : ^^^^^^^^^^^^^^^ >buildOverload : (name: string) => OverloadBuilder -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >"updateImportDeclaration" : "updateImportDeclaration" > : ^^^^^^^^^^^^^^^^^^^^^^^^^ .overload({ >overload : (overloads: T) => BindableOverloadBuilder -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ 0(node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration { return updateImportDeclaration(node, modifiers, importClause, moduleSpecifier, assertClause); }, 1(node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration { return updateImportDeclaration(node, modifiers, importClause, moduleSpecifier, assertClause); }, } : { 0(node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; 1(node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; } > : ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ @@ -337,7 +337,7 @@ buildOverload("updateImportDeclaration") >updateImportDeclaration(node, modifiers, importClause, moduleSpecifier, assertClause) : ImportDeclaration > : ^^^^^^^^^^^^^^^^^ >updateImportDeclaration : { (node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; (node: ImportDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >node : ImportDeclaration > : ^^^^^^^^^^^^^^^^^ >modifiers : readonly Modifier[] | undefined @@ -371,7 +371,7 @@ buildOverload("updateImportDeclaration") >updateImportDeclaration(node, modifiers, importClause, moduleSpecifier, assertClause) : ImportDeclaration > : ^^^^^^^^^^^^^^^^^ >updateImportDeclaration : { (node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; (node: ImportDeclaration, decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; } -> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >node : ImportDeclaration > : ^^^^^^^^^^^^^^^^^ >modifiers : readonly Modifier[] | undefined @@ -387,7 +387,7 @@ buildOverload("updateImportDeclaration") }) .bind({ >bind : (binder: OverloadBinders<{ 0(node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; 1(node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; }>) => BoundOverloadBuilder<{ 0(node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; 1(node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; }> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >{ 0: ([, modifiers, importClause, moduleSpecifier, assertClause, other]) => (other === undefined) && (modifiers === undefined || every(modifiers, isModifier)) && (importClause === undefined || !isArray(importClause)) && (moduleSpecifier === undefined || isExpression(moduleSpecifier)) && (assertClause === undefined || isAssertClause(assertClause)), 1: ([, decorators, modifiers, importClause, moduleSpecifier, assertClause]) => (decorators === undefined || every(decorators, isDecorator)) && (modifiers === undefined || isArray(modifiers)) && (importClause === undefined || isImportClause(importClause)) && (moduleSpecifier !== undefined && isExpression(moduleSpecifier)) && (assertClause === undefined || isAssertClause(assertClause)), } : { 0: ([, modifiers, importClause, moduleSpecifier, assertClause, other]: [node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined] | [node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined]) => boolean; 1: ([, decorators, modifiers, importClause, moduleSpecifier, assertClause]: [node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined] | [node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined]) => boolean; } > : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -440,12 +440,12 @@ buildOverload("updateImportDeclaration") > : ^^^^^^^^^ >every(modifiers, isModifier) : boolean > : ^^^^^^^ ->every : { (array: readonly T[], callback: (element: T, index: number) => element is U): array is readonly U[]; (array: readonly T_1[] | undefined, callback: (element: T_1, index: number) => element is U_1): array is readonly U_1[] | undefined; (array: readonly T_2[] | undefined, callback: (element: T_2, index: number) => boolean): boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +>every : { (array: readonly T[], callback: (element: T, index: number) => element is U): array is readonly U[]; (array: readonly T[] | undefined, callback: (element: T, index: number) => element is U): array is readonly U[] | undefined; (array: readonly T[] | undefined, callback: (element: T, index: number) => boolean): boolean; } +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >modifiers : readonly Modifier[] | readonly Decorator[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >isModifier : (node: Node) => node is Modifier -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ (importClause === undefined || !isArray(importClause)) && >(importClause === undefined || !isArray(importClause)) : boolean @@ -463,7 +463,7 @@ buildOverload("updateImportDeclaration") >isArray(importClause) : boolean > : ^^^^^^^ >isArray : (value: any) => value is readonly unknown[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >importClause : ImportClause | readonly Modifier[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -481,7 +481,7 @@ buildOverload("updateImportDeclaration") >isExpression(moduleSpecifier) : boolean > : ^^^^^^^ >isExpression : (node: Node) => node is Expression -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >moduleSpecifier : Expression | ImportClause > : ^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -499,7 +499,7 @@ buildOverload("updateImportDeclaration") >isAssertClause(assertClause) : boolean > : ^^^^^^^ >isAssertClause : (node: Node) => node is AssertClause -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >assertClause : Expression | AssertClause > : ^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -542,12 +542,12 @@ buildOverload("updateImportDeclaration") > : ^^^^^^^^^ >every(decorators, isDecorator) : boolean > : ^^^^^^^ ->every : { (array: readonly T[], callback: (element: T, index: number) => element is U): array is readonly U[]; (array: readonly T_1[] | undefined, callback: (element: T_1, index: number) => element is U_1): array is readonly U_1[] | undefined; (array: readonly T_2[] | undefined, callback: (element: T_2, index: number) => boolean): boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +>every : { (array: readonly T[], callback: (element: T, index: number) => element is U): array is readonly U[]; (array: readonly T[] | undefined, callback: (element: T, index: number) => element is U): array is readonly U[] | undefined; (array: readonly T[] | undefined, callback: (element: T, index: number) => boolean): boolean; } +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >decorators : readonly Modifier[] | readonly Decorator[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >isDecorator : (node: Node) => node is Decorator -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ (modifiers === undefined || isArray(modifiers)) && >(modifiers === undefined || isArray(modifiers)) : boolean @@ -563,7 +563,7 @@ buildOverload("updateImportDeclaration") >isArray(modifiers) : boolean > : ^^^^^^^ >isArray : (value: any) => value is readonly unknown[] -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >modifiers : ImportClause | readonly Modifier[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -581,7 +581,7 @@ buildOverload("updateImportDeclaration") >isImportClause(importClause) : boolean > : ^^^^^^^ >isImportClause : (node: Node) => node is ImportClause -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >importClause : Expression | ImportClause > : ^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -599,7 +599,7 @@ buildOverload("updateImportDeclaration") >isExpression(moduleSpecifier) : boolean > : ^^^^^^^ >isExpression : (node: Node) => node is Expression -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >moduleSpecifier : Expression | AssertClause > : ^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -617,14 +617,14 @@ buildOverload("updateImportDeclaration") >isAssertClause(assertClause) : boolean > : ^^^^^^^ >isAssertClause : (node: Node) => node is AssertClause -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ >assertClause : AssertClause > : ^^^^^^^^^^^^ }) .deprecate({ >deprecate : (deprecations: OverloadDeprecations<{ 0(node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; 1(node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; }>) => FinishableOverloadBuilder<{ 0(node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; 1(node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; }> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >{ 1: DISALLOW_DECORATORS } : { 1: DeprecationOptions; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -636,8 +636,8 @@ buildOverload("updateImportDeclaration") }) .finish(); ->finish : () => ((node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined) => ImportDeclaration) & ((node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined) => ImportDeclaration) -> : ^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^ +>finish : () => OverloadFunction<{ 0(node: ImportDeclaration, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; 1(node: ImportDeclaration, _decorators: readonly Decorator[] | undefined, modifiers: readonly Modifier[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, assertClause: AssertClause | undefined): ImportDeclaration; }> +> : ^^^^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ declare const modifiers: readonly Modifier[] | readonly Decorator[]; @@ -651,21 +651,21 @@ function foo() { every(modifiers, isModifier); >every(modifiers, isModifier) : boolean > : ^^^^^^^ ->every : { (array: readonly T[], callback: (element: T, index: number) => element is U): array is readonly U[]; (array: readonly T_1[] | undefined, callback: (element: T_1, index: number) => element is U_1): array is readonly U_1[] | undefined; (array: readonly T_2[] | undefined, callback: (element: T_2, index: number) => boolean): boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +>every : { (array: readonly T[], callback: (element: T, index: number) => element is U): array is readonly U[]; (array: readonly T[] | undefined, callback: (element: T, index: number) => element is U): array is readonly U[] | undefined; (array: readonly T[] | undefined, callback: (element: T, index: number) => boolean): boolean; } +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >modifiers : readonly Modifier[] | readonly Decorator[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >isModifier : (node: Node) => node is Modifier -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ every(modifiers, isDecorator); >every(modifiers, isDecorator) : boolean > : ^^^^^^^ ->every : { (array: readonly T[], callback: (element: T, index: number) => element is U): array is readonly U[]; (array: readonly T_1[] | undefined, callback: (element: T_1, index: number) => element is U_1): array is readonly U_1[] | undefined; (array: readonly T_2[] | undefined, callback: (element: T_2, index: number) => boolean): boolean; } -> : ^^^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^^^^^^^^^ +>every : { (array: readonly T[], callback: (element: T, index: number) => element is U): array is readonly U[]; (array: readonly T[] | undefined, callback: (element: T, index: number) => element is U): array is readonly U[] | undefined; (array: readonly T[] | undefined, callback: (element: T, index: number) => boolean): boolean; } +> : ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^^ ^^^ >modifiers : readonly Modifier[] | readonly Decorator[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >isDecorator : (node: Node) => node is Decorator -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ } diff --git a/tests/baselines/reference/coAndContraVariantInferences4.types b/tests/baselines/reference/coAndContraVariantInferences4.types index 9d495f22eac3f..923567537b40b 100644 --- a/tests/baselines/reference/coAndContraVariantInferences4.types +++ b/tests/baselines/reference/coAndContraVariantInferences4.types @@ -46,7 +46,7 @@ declare function isDecorator(node: Node): node is Decorator; declare function every(array: readonly T[], callback: (element: T) => element is U): array is readonly U[]; >every : (array: readonly T[], callback: (element: T) => element is U) => array is readonly U[] -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >array : readonly T[] > : ^^^^^^^^^^^^ >callback : (element: T) => element is U @@ -66,20 +66,20 @@ function foo() { >every(modifiers, isModifier) : boolean > : ^^^^^^^ >every : (array: readonly T[], callback: (element: T) => element is U) => array is readonly U[] -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >modifiers : readonly Decorator[] | readonly Modifier[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >isModifier : (node: Node) => node is Modifier -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ every(modifiers, isDecorator); >every(modifiers, isDecorator) : boolean > : ^^^^^^^ >every : (array: readonly T[], callback: (element: T) => element is U) => array is readonly U[] -> : ^ ^^ ^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >modifiers : readonly Decorator[] | readonly Modifier[] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >isDecorator : (node: Node) => node is Decorator -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^ } diff --git a/tests/baselines/reference/coAndContraVariantInferences5.types b/tests/baselines/reference/coAndContraVariantInferences5.types index 40823b8b28201..f2d0d05be6366 100644 --- a/tests/baselines/reference/coAndContraVariantInferences5.types +++ b/tests/baselines/reference/coAndContraVariantInferences5.types @@ -24,9 +24,9 @@ function f( >select({ options, onChange, }) : void > : ^^^^ >select : (props: SelectProps) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >{ options, onChange, } : { options: SelectOptions; onChange: (status: Thing | null) => void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ options, >options : SelectOptions @@ -34,14 +34,14 @@ function f( onChange, >onChange : (status: Thing | null) => void -> : ^ ^^ ^^^^^^^^^ +> : ^ ^^ ^^^^^ }); } declare function select(props: SelectProps): void; >select : (props: SelectProps) => void -> : ^ ^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ >props : SelectProps > : ^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/coAndContraVariantInferences6.types b/tests/baselines/reference/coAndContraVariantInferences6.types index 23fb16c03639b..45f78449069d0 100644 --- a/tests/baselines/reference/coAndContraVariantInferences6.types +++ b/tests/baselines/reference/coAndContraVariantInferences6.types @@ -51,7 +51,7 @@ type JSXElementConstructor